From b133c789c636005b9c695145babf15c3b75d5170 Mon Sep 17 00:00:00 2001 From: Dan Gunter Date: Mon, 17 Mar 2025 09:35:41 -0700 Subject: [PATCH 1/2] Updated some of the copyrightswq --- COPYRIGHT.md | 2 +- file_header.txt | 4 ++-- idaes_examples/notebooks/conf.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/COPYRIGHT.md b/COPYRIGHT.md index adfc3af8..688b6628 100644 --- a/COPYRIGHT.md +++ b/COPYRIGHT.md @@ -3,7 +3,7 @@ Copyright Institute for the Design of Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE Framework) was produced under the DOE Institute for the -Design of Advanced Energy Systems (IDAES), and is copyright (c) 2018-2020 by the +Design of Advanced Energy Systems (IDAES), and is copyright (c) 2018-2025 by the software owners: The Regents of the University of California, through Lawrence Berkeley National Laboratory, National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon University, West Virginia University Research diff --git a/file_header.txt b/file_header.txt index 2a5d95aa..dd7718c8 100644 --- a/file_header.txt +++ b/file_header.txt @@ -2,9 +2,9 @@ The Institute for the Design of Advanced Energy Systems Integrated Platform Framework (IDAES IP) was produced under the DOE Institute for the Design of Advanced Energy Systems (IDAES). -Copyright (c) 2018-2023 by the software owners: The Regents of the +Copyright (c) 2018-2025 by the software owners: The Regents of the University of California, through Lawrence Berkeley National Laboratory, National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon University, West Virginia University Research Corporation, et al. All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md -for full copyright and license information. \ No newline at end of file +for full copyright and license information. diff --git a/idaes_examples/notebooks/conf.py b/idaes_examples/notebooks/conf.py index 9d68460a..2c9bdbdb 100644 --- a/idaes_examples/notebooks/conf.py +++ b/idaes_examples/notebooks/conf.py @@ -7,7 +7,7 @@ bibtex_bibfiles = ["references.bib"] bibtex_reference_style = "author_year" comments_config = {"hypothesis": False, "utterances": False} -copyright = "2022" +copyright = "2025" exclude_patterns = [ "active", "conf.py", From 15ef1f72107a00dff75ed3993965e76b776a4700 Mon Sep 17 00:00:00 2001 From: Dan Gunter Date: Mon, 17 Mar 2025 13:06:05 -0700 Subject: [PATCH 2/2] update copyright to 2025 --- addheader.yml | 4 +- idaes_examples/notebooks/_config.yml | 23 +- .../notebooks/_dev/notebooks/cache.ipynb | 27 + .../notebooks/ex/notebook_tags_example.ipynb | 3 +- idaes_examples/notebooks/conf.py | 1921 +- .../notebooks/docs/dae/petsc_chem.ipynb | 28 +- .../notebooks/docs/dae/petsc_chem_doc.ipynb | 976 +- .../notebooks/docs/dae/petsc_chem_test.ipynb | 7 +- .../notebooks/docs/dae/petsc_chem_usr.ipynb | 7 +- .../notebooks/docs/dae/petsc_pid.ipynb | 29 +- .../notebooks/docs/dae/petsc_pid_doc.ipynb | 4380 +- .../notebooks/docs/dae/petsc_pid_usr.ipynb | 829 +- .../docs/diagnostics/degeneracy_hunter.ipynb | 428 +- .../diagnostics/degeneracy_hunter_doc.ipynb | 428 +- .../diagnostics/degeneracy_hunter_test.ipynb | 1328 +- .../diagnostics/degeneracy_hunter_usr.ipynb | 1222 +- .../diagnostics/diagnostics_toolbox.ipynb | 1086 +- .../diagnostics/diagnostics_toolbox_doc.ipynb | 1086 +- .../diagnostics_toolbox_exercise.ipynb | 1573 +- .../diagnostics_toolbox_solution.ipynb | 3156 +- .../diagnostics_toolbox_test.ipynb | 2628 +- .../diagnostics/diagnostics_toolbox_usr.ipynb | 3156 +- .../diagnostics/structural_singularity.ipynb | 27 + .../structural_singularity_doc.ipynb | 26 + .../structural_singularity_test.ipynb | 1424 +- .../structural_singularity_usr.ipynb | 1424 +- .../hda_flowsheet_with_costing.ipynb | 3 +- .../hda_flowsheet_with_costing_doc.ipynb | 1355 +- .../hda_flowsheet_with_costing_test.ipynb | 1121 +- .../hda_flowsheet_with_costing_usr.ipynb | 1121 +- .../hda_flowsheet_with_distillation.ipynb | 1290 +- .../hda_flowsheet_with_distillation_doc.ipynb | 1268 +- ...flowsheet_with_distillation_exercise.ipynb | 4480 +- ...flowsheet_with_distillation_solution.ipynb | 4806 +- ...hda_flowsheet_with_distillation_test.ipynb | 4806 +- .../hda_flowsheet_with_distillation_usr.ipynb | 4806 +- .../hda_flowsheets_for_costing_notebook.py | 3 +- .../docs/flowsheets/methanol_flowsheet.py | 3 +- .../methanol_flowsheet_w_recycle.py | 3 +- .../docs/flowsheets/methanol_synthesis.ipynb | 3 +- .../flowsheets/methanol_synthesis_doc.ipynb | 3542 +- .../flowsheets/methanol_synthesis_test.ipynb | 5 +- .../flowsheets/methanol_synthesis_usr.ipynb | 5 +- .../docs/flowsheets/solver_captured.py | 3 +- .../temperature_swing_adsorption.ipynb | 172 +- .../temperature_swing_adsorption_doc.ipynb | 174 +- .../temperature_swing_adsorption_test.ipynb | 1116 +- .../temperature_swing_adsorption_usr.ipynb | 1050 +- ...er_estimation_nrtl_using_state_block.ipynb | 3 +- ...stimation_nrtl_using_state_block_doc.ipynb | 538 +- ...tion_nrtl_using_state_block_exercise.ipynb | 29 +- ...tion_nrtl_using_state_block_solution.ipynb | 47 +- ...timation_nrtl_using_state_block_test.ipynb | 36 +- ...stimation_nrtl_using_state_block_usr.ipynb | 47 +- ...ter_estimation_nrtl_using_unit_model.ipynb | 3 +- ...estimation_nrtl_using_unit_model_doc.ipynb | 541 +- ...ation_nrtl_using_unit_model_exercise.ipynb | 16 +- ...ation_nrtl_using_unit_model_solution.ipynb | 29 +- ...stimation_nrtl_using_unit_model_test.ipynb | 20 +- ...estimation_nrtl_using_unit_model_usr.ipynb | 29 +- .../notebooks/docs/power_gen/ngcc/ngcc.ipynb | 2634 +- .../docs/power_gen/ngcc/ngcc_doc.ipynb | 2636 +- .../docs/power_gen/ngcc/ngcc_test.ipynb | 3258 +- .../docs/power_gen/ngcc/ngcc_usr.ipynb | 3258 +- .../solid_oxide_cell/soc_pid_control.ipynb | 1315 +- .../soc_pid_control_doc.ipynb | 1314 +- .../soc_pid_control_test.ipynb | 3876 +- .../soc_pid_control_usr.ipynb | 3776 +- .../supercritical_power_plant.ipynb | 343 +- .../supercritical_power_plant_doc.ipynb | 14604 +- .../supercritical_power_plant_test.ipynb | 26 + .../supercritical_power_plant_usr.ipynb | 26 + .../supercritical_steam_cycle.ipynb | 473 +- .../supercritical_steam_cycle_doc.ipynb | 10081 +- .../supercritical_steam_cycle_test.ipynb | 26 + .../supercritical_steam_cycle_usr.ipynb | 26 + .../custom_physical_property_packages.ipynb | 3 +- ...ustom_physical_property_packages_doc.ipynb | 180 +- ...stom_physical_property_packages_test.ipynb | 75 +- ...ustom_physical_property_packages_usr.ipynb | 75 +- .../custom_reaction_property_packages.ipynb | 3 +- ...ustom_reaction_property_packages_doc.ipynb | 214 +- ...stom_reaction_property_packages_test.ipynb | 3 +- ...ustom_reaction_property_packages_usr.ipynb | 3 +- .../properties/dictionary_txy_diagrams.ipynb | 3 +- .../dictionary_txy_diagrams_doc.ipynb | 308 +- .../dictionary_txy_diagrams_test.ipynb | 3 +- .../dictionary_txy_diagrams_usr.ipynb | 3 +- .../properties/parameter_estimation_pr.ipynb | 3 +- .../parameter_estimation_pr_doc.ipynb | 1331 +- .../parameter_estimation_pr_test.ipynb | 81 +- .../parameter_estimation_pr_usr.ipynb | 81 +- .../docs/scaling/scaler_workshop.ipynb | 665 +- .../docs/scaling/scaler_workshop_doc.ipynb | 3183 +- .../docs/scaling/scaler_workshop_test.ipynb | 665 +- .../docs/scaling/scaler_workshop_usr.ipynb | 665 +- .../alamo/alamo_flowsheet_optimization.ipynb | 989 +- .../alamo_flowsheet_optimization_doc.ipynb | 34 +- .../alamo_flowsheet_optimization_test.ipynb | 3 +- .../alamo_flowsheet_optimization_usr.ipynb | 3 +- .../best_practices_optimization.ipynb | 3 +- .../best_practices_optimization_doc.ipynb | 3 +- .../best_practices_optimization_test.ipynb | 1289 +- .../best_practices_optimization_usr.ipynb | 1289 +- .../omlt/keras_flowsheet_optimization.ipynb | 3 +- .../keras_flowsheet_optimization_doc.ipynb | 3 +- .../keras_flowsheet_optimization_test.ipynb | 1055 +- .../keras_flowsheet_optimization_usr.ipynb | 1055 +- .../omlt/keras_surrogate/keras_model.keras | Bin 50022 -> 52921 bytes .../docs/surrogates/pysmo/pysmo_basics.ipynb | 3 +- .../surrogates/pysmo/pysmo_basics_doc.ipynb | 1044 +- .../surrogates/pysmo/pysmo_basics_test.ipynb | 5 +- .../surrogates/pysmo/pysmo_basics_usr.ipynb | 5 +- .../pysmo/pysmo_flowsheet_optimization.ipynb | 953 +- .../pysmo_flowsheet_optimization_doc.ipynb | 2296 +- .../pysmo_flowsheet_optimization_test.ipynb | 3 +- .../pysmo_flowsheet_optimization_usr.ipynb | 3 +- .../pysmo/rbf_cardinal_sine_function.py | 3 +- .../surrogates/pysmo/rbf_griewank_function.py | 3 +- .../surrogates/pysmo/rbf_six_hump_function.py | 3 +- .../pysmo/rbf_three_hump_function.py | 3 +- .../surrogates/pysmo/sampling_examples.py | 3 +- .../sco2/alamo/alamo_training.ipynb | 363 +- .../sco2/alamo/alamo_training_doc.ipynb | 366 +- .../sco2/alamo/alamo_training_test.ipynb | 792 +- .../sco2/alamo/alamo_training_usr.ipynb | 792 +- .../sco2/alamo/flowsheet_optimization.ipynb | 377 +- .../sco2/alamo/flowsheet_optimization.py | 7 +- .../alamo/flowsheet_optimization_doc.ipynb | 378 +- .../alamo/flowsheet_optimization_test.ipynb | 1106 +- .../alamo/flowsheet_optimization_usr.ipynb | 1106 +- .../docs/surrogates/sco2/alamo/properties.py | 23 +- .../sco2/alamo/surrogate_embedding.ipynb | 30 +- .../sco2/alamo/surrogate_embedding_doc.ipynb | 33 +- .../sco2/alamo/surrogate_embedding_test.ipynb | 1017 +- .../sco2/alamo/surrogate_embedding_usr.ipynb | 1020 +- .../sco2/omlt/flowsheet_optimization.ipynb | 384 +- .../sco2/omlt/flowsheet_optimization.py | 7 +- .../omlt/flowsheet_optimization_doc.ipynb | 383 +- .../omlt/flowsheet_optimization_test.ipynb | 1123 +- .../omlt/flowsheet_optimization_usr.ipynb | 1123 +- .../surrogates/sco2/omlt/keras_training.ipynb | 833 +- .../sco2/omlt/keras_training_doc.ipynb | 832 +- .../sco2/omlt/keras_training_test.ipynb | 1376 +- .../sco2/omlt/keras_training_usr.ipynb | 1376 +- .../docs/surrogates/sco2/omlt/properties.py | 23 +- .../sco2_keras_surr/sco2_keras_model.keras | Bin 47725 -> 51812 bytes .../sco2/omlt/surrogate_embedding.ipynb | 30 +- .../sco2/omlt/surrogate_embedding_doc.ipynb | 29 +- .../sco2/omlt/surrogate_embedding_test.ipynb | 1037 +- .../sco2/omlt/surrogate_embedding_usr.ipynb | 1037 +- .../sco2/pysmo/flowsheet_optimization.ipynb | 1136 +- .../sco2/pysmo/flowsheet_optimization.py | 7 +- .../pysmo/flowsheet_optimization_doc.ipynb | 1139 +- .../pysmo/flowsheet_optimization_test.ipynb | 1867 +- .../pysmo/flowsheet_optimization_usr.ipynb | 1867 +- .../docs/surrogates/sco2/pysmo/properties.py | 23 +- .../sco2/pysmo/pysmo_poly_surrogate.json | 2 +- .../sco2/pysmo/pysmo_training.ipynb | 443 +- .../sco2/pysmo/pysmo_training_doc.ipynb | 446 +- .../sco2/pysmo/pysmo_training_test.ipynb | 858 +- .../sco2/pysmo/pysmo_training_usr.ipynb | 858 +- .../sco2/pysmo/surrogate_embedding.ipynb | 30 +- .../sco2/pysmo/surrogate_embedding_doc.ipynb | 33 +- .../sco2/pysmo/surrogate_embedding_test.ipynb | 1015 +- .../sco2/pysmo/surrogate_embedding_usr.ipynb | 1013 +- .../notebooks/docs/surrogates/solution.pickle | Bin 109177 -> 109169 bytes .../notebooks/docs/tut/core/flash_unit.ipynb | 3 +- .../docs/tut/core/flash_unit_doc.ipynb | 1267 +- .../docs/tut/core/flash_unit_exercise.ipynb | 5 +- .../docs/tut/core/flash_unit_solution.ipynb | 5 +- .../docs/tut/core/flash_unit_test.ipynb | 5 +- .../docs/tut/core/flash_unit_usr.ipynb | 5 +- .../docs/tut/core/hda_flowsheet.ipynb | 3 +- .../docs/tut/core/hda_flowsheet_doc.ipynb | 3 +- .../tut/core/hda_flowsheet_exercise.ipynb | 2685 +- .../tut/core/hda_flowsheet_solution.ipynb | 2963 +- .../docs/tut/core/hda_flowsheet_test.ipynb | 2993 +- .../docs/tut/core/hda_flowsheet_usr.ipynb | 2963 +- .../notebooks/docs/tut/introduction.ipynb | 3 +- .../notebooks/docs/tut/introduction_doc.ipynb | 338 +- .../docs/tut/introduction_exercise.ipynb | 3 +- .../docs/tut/introduction_short.ipynb | 1857 +- .../docs/tut/introduction_short_doc.ipynb | 346 +- .../tut/introduction_short_exercise.ipynb | 3 +- .../tut/introduction_short_solution.ipynb | 3 +- .../docs/tut/introduction_short_test.ipynb | 3 +- .../docs/tut/introduction_short_usr.ipynb | 3 +- .../docs/tut/introduction_solution.ipynb | 3 +- .../docs/tut/introduction_test.ipynb | 3 +- .../notebooks/docs/tut/introduction_usr.ipynb | 3 +- .../docs/tut/notebook_test_script.py | 3 +- .../notebooks/docs/tut/sin_data.csv | 8 +- .../docs/tut/ui/visualizer_tutorial.ipynb | 991 +- .../docs/tut/ui/visualizer_tutorial_doc.ipynb | 127683 +-------------- .../tut/ui/visualizer_tutorial_test.ipynb | 3 +- .../docs/tut/ui/visualizer_tutorial_usr.ipynb | 3 +- .../creating_unit_model.ipynb | 419 +- .../creating_unit_model_doc.ipynb | 498 +- .../creating_unit_model_test.ipynb | 3853 +- .../creating_unit_model_usr.ipynb | 4098 +- .../custom_compressor.ipynb | 3 +- .../custom_compressor_doc.ipynb | 107 +- .../custom_compressor_test.ipynb | 5 +- .../custom_compressor_usr.ipynb | 5 +- .../custom_unit_models/custom_heater.ipynb | 3 +- .../custom_heater_doc.ipynb | 33 +- .../custom_heater_test.ipynb | 3 +- .../custom_heater_usr.ipynb | 3 +- .../liquid_extraction/aqueous_property.py | 3 +- .../liq_liq_extractor_flowsheet.py | 3 +- .../liquid_liquid_extractor.py | 3 +- .../liquid_extraction/organic_property.py | 3 +- .../unit_models/operations/compressor.ipynb | 3 +- .../operations/compressor_doc.ipynb | 366 +- .../operations/compressor_test.ipynb | 5 +- .../operations/compressor_usr.ipynb | 5 +- .../unit_models/operations/eg_h2o_ideal.py | 3 +- .../operations/heat_exchanger_0d.ipynb | 3 +- .../operations/heat_exchanger_0d_doc.ipynb | 287 +- .../operations/heat_exchanger_0d_test.ipynb | 5 +- .../operations/heat_exchanger_0d_usr.ipynb | 5 +- .../docs/unit_models/operations/heater.ipynb | 3 +- .../unit_models/operations/heater_doc.ipynb | 417 +- .../unit_models/operations/heater_test.ipynb | 5 +- .../unit_models/operations/heater_usr.ipynb | 5 +- .../docs/unit_models/operations/mixer.ipynb | 3 +- .../unit_models/operations/mixer_doc.ipynb | 259 +- .../unit_models/operations/mixer_test.ipynb | 3 +- .../unit_models/operations/mixer_usr.ipynb | 3 +- .../docs/unit_models/operations/pump.ipynb | 3 +- .../unit_models/operations/pump_doc.ipynb | 353 +- .../unit_models/operations/pump_test.ipynb | 5 +- .../unit_models/operations/pump_usr.ipynb | 5 +- .../operations/skeleton_unit.ipynb | 3 +- .../operations/skeleton_unit_doc.ipynb | 3 +- .../operations/skeleton_unit_test.ipynb | 1453 +- .../operations/skeleton_unit_usr.ipynb | 1453 +- .../operations/tests/test_eg_h2o_ideal.py | 3 +- .../docs/unit_models/operations/turbine.ipynb | 3 +- .../unit_models/operations/turbine_doc.ipynb | 372 +- .../unit_models/operations/turbine_test.ipynb | 5 +- .../unit_models/operations/turbine_usr.ipynb | 5 +- .../docs/unit_models/reactors/cstr.ipynb | 3 +- .../docs/unit_models/reactors/cstr_doc.ipynb | 1443 +- .../docs/unit_models/reactors/cstr_test.ipynb | 3 +- .../docs/unit_models/reactors/cstr_usr.ipynb | 3 +- .../docs/unit_models/reactors/egprod_ideal.py | 3 +- .../unit_models/reactors/egprod_reaction.py | 3 +- .../reactors/equilibrium_reactor.ipynb | 3 +- .../reactors/equilibrium_reactor_doc.ipynb | 1828 +- .../reactors/equilibrium_reactor_test.ipynb | 460 +- .../reactors/equilibrium_reactor_usr.ipynb | 442 +- .../unit_models/reactors/gibbs_reactor.ipynb | 6 +- .../reactors/gibbs_reactor_doc.ipynb | 1729 +- .../reactors/gibbs_reactor_test.ipynb | 461 +- .../reactors/gibbs_reactor_usr.ipynb | 443 +- .../docs/unit_models/reactors/msr_reaction.py | 3 +- .../reactors/plug_flow_reactor.ipynb | 1957 +- .../reactors/plug_flow_reactor_doc.ipynb | 1615 +- .../reactors/plug_flow_reactor_test.ipynb | 3 +- .../reactors/plug_flow_reactor_usr.ipynb | 3 +- .../reactors/stoichiometric_reactor.ipynb | 3 +- .../reactors/stoichiometric_reactor_doc.ipynb | 1383 +- .../stoichiometric_reactor_test.ipynb | 3 +- .../reactors/stoichiometric_reactor_usr.ipynb | 3 +- .../reactors/tests/test_egprod_ideal.py | 3 +- ...CO2_Adsorption_Desorption_1DFixedBed.ipynb | 77 +- ...Adsorption_Desorption_1DFixedBed_doc.ipynb | 2221 +- ...dsorption_Desorption_1DFixedBed_test.ipynb | 2249 +- ...Adsorption_Desorption_1DFixedBed_usr.ipynb | 2221 +- 271 files changed, 53984 insertions(+), 275551 deletions(-) diff --git a/addheader.yml b/addheader.yml index 18fd9b80..f82da9d2 100644 --- a/addheader.yml +++ b/addheader.yml @@ -13,5 +13,5 @@ path_exclude: - '.jupyter_cache' verbose: 1 sep-len: 80 -jupyter: '_src.ipynb' -... \ No newline at end of file +jupyter: '.ipynb' +... diff --git a/idaes_examples/notebooks/_config.yml b/idaes_examples/notebooks/_config.yml index 1f273dce..87b576a9 100644 --- a/idaes_examples/notebooks/_config.yml +++ b/idaes_examples/notebooks/_config.yml @@ -1,18 +1,24 @@ author: The IDAES Team bibtex_bibfiles: - references.bib +copyright: '2025' exclude_patterns: - active/* - '**/.jupyter_cache' execute: - execute_notebooks: cache + execute_notebooks: 'off' timeout: 600 +launch_buttons: + binderhub_url: https://mybinder.org + notebook_interface: jupyterlab logo: logo.png only_build_toc_files: true sphinx: + branch: binder config: bibtex_reference_style: author_year - exclude_patterns: ['**/.jupyter_cache'] + exclude_patterns: + - '**/.jupyter_cache' intersphinx_mapping: idaes: - https://idaes-pse.readthedocs.io/en/stable/ @@ -23,18 +29,11 @@ sphinx: prommis: - https://prommis.readthedocs.io/en/stable/ - null - watertap: - - https://watertap.readthedocs.io/en/stable/ - - null pyomo: - https://pyomo.readthedocs.io/en/stable/ - null - - # `path_to_book` should point to the directory containing this file (`_config.yml`) + watertap: + - https://watertap.readthedocs.io/en/stable/ + - null path_to_book: idaes_examples/notebooks - # FIXME change `url` and `branch` before merging PR url: https://github.com/lbianchi-lbl/examples - branch: binder -launch_buttons: - notebook_interface: jupyterlab - binderhub_url: https://mybinder.org diff --git a/idaes_examples/notebooks/_dev/notebooks/cache.ipynb b/idaes_examples/notebooks/_dev/notebooks/cache.ipynb index 74e2c269..d1418c1f 100644 --- a/idaes_examples/notebooks/_dev/notebooks/cache.ipynb +++ b/idaes_examples/notebooks/_dev/notebooks/cache.ipynb @@ -1,5 +1,32 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "7db31bc1", + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "code", "execution_count": 24, diff --git a/idaes_examples/notebooks/_dev/notebooks/ex/notebook_tags_example.ipynb b/idaes_examples/notebooks/_dev/notebooks/ex/notebook_tags_example.ipynb index b2287906..7cfe7821 100644 --- a/idaes_examples/notebooks/_dev/notebooks/ex/notebook_tags_example.ipynb +++ b/idaes_examples/notebooks/_dev/notebooks/ex/notebook_tags_example.ipynb @@ -17,12 +17,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/conf.py b/idaes_examples/notebooks/conf.py index 2c9bdbdb..78bb4237 100644 --- a/idaes_examples/notebooks/conf.py +++ b/idaes_examples/notebooks/conf.py @@ -3,1900 +3,35 @@ # If you wish to continue using _config.yml, make edits to that file and # re-generate this one. ############################################################################### -author = "The IDAES Team" -bibtex_bibfiles = ["references.bib"] -bibtex_reference_style = "author_year" -comments_config = {"hypothesis": False, "utterances": False} -copyright = "2025" -exclude_patterns = [ - "active", - "conf.py", - "conftest.py", - "docs", - "held", - "index.md", - "logo.png", - "references.bib", - "_build", - "_dev", - "_toc.yml", - "__pycache__", - "active\\power_gen", - "active\\power_gen\\ngcc", - "active\\power_gen\\ngcc\\data", - "active\\power_gen\\ngcc\\data_pfds", - "active\\power_gen\\ngcc\\data_tabulated", - "active\\power_gen\\ngcc\\gas_turbine_init.json.gz", - "active\\power_gen\\ngcc\\gas_turbine_template.svg", - "active\\power_gen\\ngcc\\hrsg_init.json.gz", - "active\\power_gen\\ngcc\\hrsg_template.svg", - "active\\power_gen\\ngcc\\index.md", - "active\\power_gen\\ngcc\\ngcc.ipynb", - "active\\power_gen\\ngcc\\ngcc_doc.ipynb", - "active\\power_gen\\ngcc\\ngcc_init.json.gz", - "active\\power_gen\\ngcc\\ngcc_test.ipynb", - "active\\power_gen\\ngcc\\ngcc_usr.ipynb", - "active\\power_gen\\ngcc\\steam_turbine_init.json.gz", - "active\\power_gen\\ngcc\\steam_turbine_template.svg", - "active\\power_gen\\ngcc\\data\\00Readme.txt", - "active\\power_gen\\ngcc\\data_pfds\\gt_baseline.svg", - "active\\power_gen\\ngcc\\data_pfds\\gt_soec_base.svg", - "active\\power_gen\\ngcc\\data_pfds\\hrsg_baseline.svg", - "active\\power_gen\\ngcc\\data_pfds\\hrsg_soec_base.svg", - "active\\power_gen\\ngcc\\data_pfds\\soec_soec_base.svg", - "active\\power_gen\\ngcc\\data_pfds\\st_baseline.svg", - "active\\power_gen\\ngcc\\data_pfds\\st_soec_base.svg", - "active\\power_gen\\ngcc\\data_tabulated\\00Readme.txt", - "active\\power_gen\\ngcc\\data_tabulated\\ngcc.csv", - "active\\power_gen\\ngcc\\data_tabulated\\ngcc_soec_stream_5kg_gt.csv", - "active\\power_gen\\ngcc\\data_tabulated\\ngcc_soec_stream_5kg_hrsg_gas.csv", - "active\\power_gen\\ngcc\\data_tabulated\\ngcc_soec_stream_5kg_hrsg_steam.csv", - "active\\power_gen\\ngcc\\data_tabulated\\ngcc_soec_stream_5kg_soec.csv", - "active\\power_gen\\ngcc\\data_tabulated\\ngcc_soec_stream_5kg_st.csv", - "docs\\dae", - "docs\\diagnostics", - "docs\\flowsheets", - "docs\\param_est", - "docs\\power_gen", - "docs\\properties", - "docs\\surrogates", - "docs\\tut", - "docs\\unit_models", - "docs\\dae\\index.md", - "docs\\dae\\petsc_chem.ipynb", - "docs\\dae\\petsc_chem_doc.ipynb", - "docs\\dae\\petsc_chem_test.ipynb", - "docs\\dae\\petsc_chem_usr.ipynb", - "docs\\dae\\petsc_pid.ipynb", - "docs\\dae\\petsc_pid_doc.ipynb", - "docs\\dae\\petsc_pid_usr.ipynb", - "docs\\dae\\__init__.py", - "docs\\dae\\__pycache__", - "docs\\dae\\__pycache__\\__init__.cpython-310.pyc", - "docs\\dae\\__pycache__\\__init__.cpython-311.pyc", - "docs\\diagnostics\\degeneracy_hunter.ipynb", - "docs\\diagnostics\\degeneracy_hunter_doc.ipynb", - "docs\\diagnostics\\degeneracy_hunter_test.ipynb", - "docs\\diagnostics\\degeneracy_hunter_usr.ipynb", - "docs\\diagnostics\\diagnostics_toolbox.ipynb", - "docs\\diagnostics\\diagnostics_toolbox_doc.ipynb", - "docs\\diagnostics\\diagnostics_toolbox_exercise.ipynb", - "docs\\diagnostics\\diagnostics_toolbox_solution.ipynb", - "docs\\diagnostics\\diagnostics_toolbox_test.ipynb", - "docs\\diagnostics\\diagnostics_toolbox_usr.ipynb", - "docs\\diagnostics\\index.md", - "docs\\flowsheets\\HDA dist.json", - "docs\\flowsheets\\HDA flowsheet with distillation.json", - "docs\\flowsheets\\HDA.json", - "docs\\flowsheets\\hda_flowsheets_for_costing_notebook.py", - "docs\\flowsheets\\HDA_flowsheet_distillation.png", - "docs\\flowsheets\\hda_flowsheet_with_costing.ipynb", - "docs\\flowsheets\\hda_flowsheet_with_costing_doc.ipynb", - "docs\\flowsheets\\hda_flowsheet_with_costing_test.ipynb", - "docs\\flowsheets\\hda_flowsheet_with_costing_usr.ipynb", - "docs\\flowsheets\\hda_flowsheet_with_distillation.ipynb", - "docs\\flowsheets\\hda_flowsheet_with_distillation_doc.ipynb", - "docs\\flowsheets\\hda_flowsheet_with_distillation_exercise.ipynb", - "docs\\flowsheets\\hda_flowsheet_with_distillation_solution.ipynb", - "docs\\flowsheets\\hda_flowsheet_with_distillation_test.ipynb", - "docs\\flowsheets\\hda_flowsheet_with_distillation_usr.ipynb", - "docs\\flowsheets\\hda_solver.txt", - "docs\\flowsheets\\Hydrodealkylation.json", - "docs\\flowsheets\\index.md", - "docs\\flowsheets\\methanol_flowsheet.png", - "docs\\flowsheets\\methanol_flowsheet.py", - "docs\\flowsheets\\methanol_flowsheet_recycle.png", - "docs\\flowsheets\\methanol_flowsheet_w_recycle.py", - "docs\\flowsheets\\methanol_synthesis.ipynb", - "docs\\flowsheets\\methanol_synthesis_doc.ipynb", - "docs\\flowsheets\\methanol_synthesis_test.ipynb", - "docs\\flowsheets\\methanol_synthesis_usr.ipynb", - "docs\\flowsheets\\process.out", - "docs\\flowsheets\\solver.txt", - "docs\\flowsheets\\solver_captured.py", - "docs\\flowsheets\\__pycache__", - "docs\\flowsheets\\__pycache__\\hda_flowsheets_for_costing_notebook.cpython-310.pyc", - "docs\\flowsheets\\__pycache__\\hda_flowsheets_for_costing_notebook.cpython-311.pyc", - "docs\\flowsheets\\__pycache__\\methanol_flowsheet.cpython-310.pyc", - "docs\\flowsheets\\__pycache__\\methanol_flowsheet.cpython-311.pyc", - "docs\\flowsheets\\__pycache__\\methanol_flowsheet_w_recycle.cpython-310.pyc", - "docs\\flowsheets\\__pycache__\\methanol_flowsheet_w_recycle.cpython-311.pyc", - "docs\\param_est\\BT_NRTL_dataset.csv", - "docs\\param_est\\index.md", - "docs\\param_est\\parameter_estimation_nrtl_using_state_block.ipynb", - "docs\\param_est\\parameter_estimation_nrtl_using_state_block_doc.ipynb", - "docs\\param_est\\parameter_estimation_nrtl_using_state_block_exercise.ipynb", - "docs\\param_est\\parameter_estimation_nrtl_using_state_block_solution.ipynb", - "docs\\param_est\\parameter_estimation_nrtl_using_state_block_test.ipynb", - "docs\\param_est\\parameter_estimation_nrtl_using_state_block_usr.ipynb", - "docs\\param_est\\parameter_estimation_nrtl_using_unit_model.ipynb", - "docs\\param_est\\parameter_estimation_nrtl_using_unit_model_doc.ipynb", - "docs\\param_est\\parameter_estimation_nrtl_using_unit_model_exercise.ipynb", - "docs\\param_est\\parameter_estimation_nrtl_using_unit_model_solution.ipynb", - "docs\\param_est\\parameter_estimation_nrtl_using_unit_model_test.ipynb", - "docs\\param_est\\parameter_estimation_nrtl_using_unit_model_usr.ipynb", - "docs\\power_gen\\index.md", - "docs\\power_gen\\supercritical", - "docs\\power_gen\\supercritical\\Boiler_scpc_PFD.svg", - "docs\\power_gen\\supercritical\\index.md", - "docs\\power_gen\\supercritical\\supercritical_power_plant.ipynb", - "docs\\power_gen\\supercritical\\supercritical_power_plant_doc.ipynb", - "docs\\power_gen\\supercritical\\supercritical_power_plant_test.ipynb", - "docs\\power_gen\\supercritical\\supercritical_power_plant_usr.ipynb", - "docs\\power_gen\\supercritical\\supercritical_steam_cycle.ipynb", - "docs\\power_gen\\supercritical\\supercritical_steam_cycle.svg", - "docs\\power_gen\\supercritical\\supercritical_steam_cycle_doc.ipynb", - "docs\\power_gen\\supercritical\\supercritical_steam_cycle_test.ipynb", - "docs\\power_gen\\supercritical\\supercritical_steam_cycle_usr.ipynb", - "docs\\properties\\CO2_IL_298.csv", - "docs\\properties\\custom", - "docs\\properties\\dictionary_txy_diagrams.ipynb", - "docs\\properties\\dictionary_txy_diagrams_doc.ipynb", - "docs\\properties\\dictionary_txy_diagrams_test.ipynb", - "docs\\properties\\dictionary_txy_diagrams_usr.ipynb", - "docs\\properties\\HC_processing.png", - "docs\\properties\\index.md", - "docs\\properties\\parameter_estimation_pr.ipynb", - "docs\\properties\\parameter_estimation_pr_doc.ipynb", - "docs\\properties\\parameter_estimation_pr_test.ipynb", - "docs\\properties\\parameter_estimation_pr_usr.ipynb", - "docs\\properties\\custom\\custom_physical_property_packages.ipynb", - "docs\\properties\\custom\\custom_physical_property_packages_doc.ipynb", - "docs\\properties\\custom\\custom_physical_property_packages_test.ipynb", - "docs\\properties\\custom\\custom_physical_property_packages_usr.ipynb", - "docs\\properties\\custom\\custom_reaction_property_packages.ipynb", - "docs\\properties\\custom\\custom_reaction_property_packages_doc.ipynb", - "docs\\properties\\custom\\custom_reaction_property_packages_test.ipynb", - "docs\\properties\\custom\\custom_reaction_property_packages_usr.ipynb", - "docs\\properties\\custom\\index.md", - "docs\\surrogates\\alamo", - "docs\\surrogates\\alamo_run.alm", - "docs\\surrogates\\alamo_run.trc", - "docs\\surrogates\\alamo_surrogate.json", - "docs\\surrogates\\AR_PFD.png", - "docs\\surrogates\\best_practices_optimization.ipynb", - "docs\\surrogates\\best_practices_optimization_doc.ipynb", - "docs\\surrogates\\best_practices_optimization_test.ipynb", - "docs\\surrogates\\best_practices_optimization_usr.ipynb", - "docs\\surrogates\\index.md", - "docs\\surrogates\\keras_surrogate", - "docs\\surrogates\\omlt", - "docs\\surrogates\\pysmo", - "docs\\surrogates\\pysmo_kriging_surrogate.json", - "docs\\surrogates\\pysmo_krig_surrogate.json", - "docs\\surrogates\\pysmo_poly_surrogate.json", - "docs\\surrogates\\pysmo_rbf_surrogate.json", - "docs\\surrogates\\reformer-data.csv", - "docs\\surrogates\\solution.pickle", - "docs\\surrogates\\__init__.py", - "docs\\surrogates\\__pycache__", - "docs\\surrogates\\alamo\\alamo_flowsheet_optimization.ipynb", - "docs\\surrogates\\alamo\\alamo_flowsheet_optimization_doc.ipynb", - "docs\\surrogates\\alamo\\alamo_flowsheet_optimization_test.ipynb", - "docs\\surrogates\\alamo\\alamo_flowsheet_optimization_usr.ipynb", - "docs\\surrogates\\alamo\\alamo_run.alm", - "docs\\surrogates\\alamo\\alamo_run.trc", - "docs\\surrogates\\alamo\\alamo_surrogate.json", - "docs\\surrogates\\alamo\\alamo_train_parity.pdf", - "docs\\surrogates\\alamo\\alamo_train_residual.pdf", - "docs\\surrogates\\alamo\\alamo_train_scatter2D.pdf", - "docs\\surrogates\\alamo\\alamo_val_parity.pdf", - "docs\\surrogates\\alamo\\alamo_val_residual.pdf", - "docs\\surrogates\\alamo\\alamo_val_scatter2D.pdf", - "docs\\surrogates\\alamo\\index.md", - "docs\\surrogates\\keras_surrogate\\variables", - "docs\\surrogates\\keras_surrogate\\variables\\variables.data-00000-of-00001", - "docs\\surrogates\\keras_surrogate\\variables\\variables.index", - "docs\\surrogates\\omlt\\index.md", - "docs\\surrogates\\omlt\\keras_flowsheet_optimization.ipynb", - "docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc.ipynb", - "docs\\surrogates\\omlt\\keras_flowsheet_optimization_test.ipynb", - "docs\\surrogates\\omlt\\keras_flowsheet_optimization_usr.ipynb", - "docs\\surrogates\\omlt\\keras_surrogate", - "docs\\surrogates\\omlt\\keras_train_parity.pdf", - "docs\\surrogates\\omlt\\keras_train_residual.pdf", - "docs\\surrogates\\omlt\\keras_train_scatter2D.pdf", - "docs\\surrogates\\omlt\\keras_val_parity.pdf", - "docs\\surrogates\\omlt\\keras_val_residual.pdf", - "docs\\surrogates\\omlt\\keras_val_scatter2D.pdf", - "docs\\surrogates\\omlt\\solution.pickle", - "docs\\surrogates\\omlt\\keras_surrogate\\assets", - "docs\\surrogates\\omlt\\keras_surrogate\\fingerprint.pb", - "docs\\surrogates\\omlt\\keras_surrogate\\idaes_info.json", - "docs\\surrogates\\omlt\\keras_surrogate\\keras_metadata.pb", - "docs\\surrogates\\omlt\\keras_surrogate\\saved_model.pb", - "docs\\surrogates\\omlt\\keras_surrogate\\variables", - "docs\\surrogates\\omlt\\keras_surrogate\\variables\\variables.data-00000-of-00001", - "docs\\surrogates\\omlt\\keras_surrogate\\variables\\variables.index", - "docs\\surrogates\\pysmo\\AR_PFD.png", - "docs\\surrogates\\pysmo\\brainin_30.txt", - "docs\\surrogates\\pysmo\\data_files", - "docs\\surrogates\\pysmo\\index.md", - "docs\\surrogates\\pysmo\\pysmo_basics.ipynb", - "docs\\surrogates\\pysmo\\pysmo_basics_doc.ipynb", - "docs\\surrogates\\pysmo\\pysmo_basics_test.ipynb", - "docs\\surrogates\\pysmo\\pysmo_basics_usr.ipynb", - "docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization.ipynb", - "docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc.ipynb", - "docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_test.ipynb", - "docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_usr.ipynb", - "docs\\surrogates\\pysmo\\pysmo_poly_surr.json", - "docs\\surrogates\\pysmo\\pysmo_poly_surrogate.json", - "docs\\surrogates\\pysmo\\pysmo_poly_train_parity.pdf", - "docs\\surrogates\\pysmo\\pysmo_poly_train_residual.pdf", - "docs\\surrogates\\pysmo\\pysmo_poly_train_scatter2D.pdf", - "docs\\surrogates\\pysmo\\pysmo_poly_val_parity.pdf", - "docs\\surrogates\\pysmo\\pysmo_poly_val_residual.pdf", - "docs\\surrogates\\pysmo\\pysmo_poly_val_scatter2D.pdf", - "docs\\surrogates\\pysmo\\pysmo_rbf_surrogate.json", - "docs\\surrogates\\pysmo\\rbf_cardinal_sine_function.py", - "docs\\surrogates\\pysmo\\rbf_griewank_function.py", - "docs\\surrogates\\pysmo\\rbf_six_hump_function.py", - "docs\\surrogates\\pysmo\\rbf_three_hump_function.py", - "docs\\surrogates\\pysmo\\sampling_examples.py", - "docs\\surrogates\\pysmo\\solution.pickle", - "docs\\surrogates\\pysmo\\__init__.py", - "docs\\surrogates\\pysmo\\__pycache__", - "docs\\surrogates\\pysmo\\data_files\\branin_5625.txt", - "docs\\surrogates\\pysmo\\data_files\\cardinal_sine.txt", - "docs\\surrogates\\pysmo\\data_files\\cardinal_sine_2500.txt", - "docs\\surrogates\\pysmo\\data_files\\exponential_function_data.csv", - "docs\\surrogates\\pysmo\\data_files\\griewank_data.txt", - "docs\\surrogates\\pysmo\\data_files\\matyas_function.xls", - "docs\\surrogates\\pysmo\\data_files\\six_hump_data_2400.txt", - "docs\\surrogates\\pysmo\\data_files\\six_hump_function_data.tab", - "docs\\surrogates\\pysmo\\data_files\\three_humpback_data_v4.csv", - "docs\\surrogates\\pysmo\\__pycache__\\__init__.cpython-310.pyc", - "docs\\surrogates\\pysmo\\__pycache__\\__init__.cpython-311.pyc", - "docs\\surrogates\\__pycache__\\__init__.cpython-310.pyc", - "docs\\surrogates\\__pycache__\\__init__.cpython-311.pyc", - "docs\\tut\\core", - "docs\\tut\\index.md", - "docs\\tut\\introduction.ipynb", - "docs\\tut\\introduction_doc.ipynb", - "docs\\tut\\introduction_exercise.ipynb", - "docs\\tut\\introduction_short.ipynb", - "docs\\tut\\introduction_short_doc.ipynb", - "docs\\tut\\introduction_short_exercise.ipynb", - "docs\\tut\\introduction_short_solution.ipynb", - "docs\\tut\\introduction_short_test.ipynb", - "docs\\tut\\introduction_short_usr.ipynb", - "docs\\tut\\introduction_solution.ipynb", - "docs\\tut\\introduction_test.ipynb", - "docs\\tut\\introduction_usr.ipynb", - "docs\\tut\\notebook_test_script.py", - "docs\\tut\\sin_data.csv", - "docs\\tut\\ui", - "docs\\tut\\core\\flash_unit.ipynb", - "docs\\tut\\core\\flash_unit_doc.ipynb", - "docs\\tut\\core\\flash_unit_exercise.ipynb", - "docs\\tut\\core\\flash_unit_solution.ipynb", - "docs\\tut\\core\\flash_unit_test.ipynb", - "docs\\tut\\core\\flash_unit_usr.ipynb", - "docs\\tut\\core\\hda_flowsheet.ipynb", - "docs\\tut\\core\\HDA_flowsheet.png", - "docs\\tut\\core\\hda_flowsheet_doc.ipynb", - "docs\\tut\\core\\hda_flowsheet_exercise.ipynb", - "docs\\tut\\core\\hda_flowsheet_solution.ipynb", - "docs\\tut\\core\\hda_flowsheet_test.ipynb", - "docs\\tut\\core\\hda_flowsheet_usr.ipynb", - "docs\\tut\\core\\HDA_solved.json", - "docs\\tut\\core\\HDA_tear_stream.png", - "docs\\tut\\core\\index.md", - "docs\\tut\\ui\\fv1.png", - "docs\\tut\\ui\\fv2.png", - "docs\\tut\\ui\\fv3.png", - "docs\\tut\\ui\\fvb1.png", - "docs\\tut\\ui\\fvr1.png", - "docs\\tut\\ui\\fvr2.png", - "docs\\tut\\ui\\fvr3.png", - "docs\\tut\\ui\\fvr4.png", - "docs\\tut\\ui\\fvst1.png", - "docs\\tut\\ui\\HDA_solved.json", - "docs\\tut\\ui\\idaes-logo-small.png", - "docs\\tut\\ui\\idaes-logo.png", - "docs\\tut\\ui\\idaes_icon.png", - "docs\\tut\\ui\\index.md", - "docs\\tut\\ui\\shared_variable.json", - "docs\\tut\\ui\\UI demo.json", - "docs\\tut\\ui\\visualizer_tutorial.ipynb", - "docs\\tut\\ui\\visualizer_tutorial_doc.ipynb", - "docs\\tut\\ui\\visualizer_tutorial_test.ipynb", - "docs\\tut\\ui\\visualizer_tutorial_usr.ipynb", - "docs\\unit_models\\custom_unit_models", - "docs\\unit_models\\operations", - "docs\\unit_models\\reactors", - "docs\\unit_models\\__init__.py", - "docs\\unit_models\\__pycache__", - "docs\\unit_models\\custom_unit_models\\Air_flash.png", - "docs\\unit_models\\custom_unit_models\\custom_compressor.ipynb", - "docs\\unit_models\\custom_unit_models\\custom_compressor_doc.ipynb", - "docs\\unit_models\\custom_unit_models\\custom_compressor_test.ipynb", - "docs\\unit_models\\custom_unit_models\\custom_compressor_usr.ipynb", - "docs\\unit_models\\custom_unit_models\\custom_heater.ipynb", - "docs\\unit_models\\custom_unit_models\\custom_heater_doc.ipynb", - "docs\\unit_models\\custom_unit_models\\custom_heater_test.ipynb", - "docs\\unit_models\\custom_unit_models\\custom_heater_usr.ipynb", - "docs\\unit_models\\custom_unit_models\\index.md", - "docs\\unit_models\\operations\\compressor.ipynb", - "docs\\unit_models\\operations\\compressor_2.svg", - "docs\\unit_models\\operations\\compressor_doc.ipynb", - "docs\\unit_models\\operations\\compressor_test.ipynb", - "docs\\unit_models\\operations\\compressor_usr.ipynb", - "docs\\unit_models\\operations\\eg_h2o_ideal.py", - "docs\\unit_models\\operations\\expander_2.svg", - "docs\\unit_models\\operations\\heater.ipynb", - "docs\\unit_models\\operations\\heater_2.svg", - "docs\\unit_models\\operations\\heater_doc.ipynb", - "docs\\unit_models\\operations\\heater_test.ipynb", - "docs\\unit_models\\operations\\heater_usr.ipynb", - "docs\\unit_models\\operations\\heat_exchanger_0d.ipynb", - "docs\\unit_models\\operations\\heat_exchanger_0d_doc.ipynb", - "docs\\unit_models\\operations\\heat_exchanger_0d_test.ipynb", - "docs\\unit_models\\operations\\heat_exchanger_0d_usr.ipynb", - "docs\\unit_models\\operations\\heat_exchanger_4.svg", - "docs\\unit_models\\operations\\index.md", - "docs\\unit_models\\operations\\mixer.ipynb", - "docs\\unit_models\\operations\\mixer.svg", - "docs\\unit_models\\operations\\mixer_doc.ipynb", - "docs\\unit_models\\operations\\mixer_test.ipynb", - "docs\\unit_models\\operations\\mixer_usr.ipynb", - "docs\\unit_models\\operations\\pervaporation_process.png", - "docs\\unit_models\\operations\\pump.ipynb", - "docs\\unit_models\\operations\\pump.svg", - "docs\\unit_models\\operations\\pump_doc.ipynb", - "docs\\unit_models\\operations\\pump_test.ipynb", - "docs\\unit_models\\operations\\pump_usr.ipynb", - "docs\\unit_models\\operations\\skeleton_unit.ipynb", - "docs\\unit_models\\operations\\skeleton_unit_doc.ipynb", - "docs\\unit_models\\operations\\skeleton_unit_test.ipynb", - "docs\\unit_models\\operations\\skeleton_unit_usr.ipynb", - "docs\\unit_models\\operations\\turbine.ipynb", - "docs\\unit_models\\operations\\turbine_doc.ipynb", - "docs\\unit_models\\operations\\turbine_test.ipynb", - "docs\\unit_models\\operations\\turbine_usr.ipynb", - "docs\\unit_models\\operations\\__init__.py", - "docs\\unit_models\\operations\\__pycache__", - "docs\\unit_models\\operations\\__pycache__\\eg_h2o_ideal.cpython-310.pyc", - "docs\\unit_models\\operations\\__pycache__\\eg_h2o_ideal.cpython-311.pyc", - "docs\\unit_models\\operations\\__pycache__\\__init__.cpython-310.pyc", - "docs\\unit_models\\operations\\__pycache__\\__init__.cpython-311.pyc", - "docs\\unit_models\\reactors\\cstr.ipynb", - "docs\\unit_models\\reactors\\cstr_doc.ipynb", - "docs\\unit_models\\reactors\\cstr_test.ipynb", - "docs\\unit_models\\reactors\\cstr_usr.ipynb", - "docs\\unit_models\\reactors\\egprod_flowsheet.png", - "docs\\unit_models\\reactors\\egprod_ideal.py", - "docs\\unit_models\\reactors\\egprod_reaction.py", - "docs\\unit_models\\reactors\\equilibrium_reactor.ipynb", - "docs\\unit_models\\reactors\\equilibrium_reactor_doc.ipynb", - "docs\\unit_models\\reactors\\equilibrium_reactor_test.ipynb", - "docs\\unit_models\\reactors\\equilibrium_reactor_usr.ipynb", - "docs\\unit_models\\reactors\\gibbs_reactor.ipynb", - "docs\\unit_models\\reactors\\gibbs_reactor_doc.ipynb", - "docs\\unit_models\\reactors\\gibbs_reactor_test.ipynb", - "docs\\unit_models\\reactors\\gibbs_reactor_usr.ipynb", - "docs\\unit_models\\reactors\\index.md", - "docs\\unit_models\\reactors\\msr_flowsheet.png", - "docs\\unit_models\\reactors\\msr_reaction.py", - "docs\\unit_models\\reactors\\plug_flow_reactor.ipynb", - "docs\\unit_models\\reactors\\plug_flow_reactor.ipynb-saved", - "docs\\unit_models\\reactors\\plug_flow_reactor_doc.ipynb", - "docs\\unit_models\\reactors\\plug_flow_reactor_test.ipynb", - "docs\\unit_models\\reactors\\plug_flow_reactor_usr.ipynb", - "docs\\unit_models\\reactors\\stoichiometric_reactor.ipynb", - "docs\\unit_models\\reactors\\stoichiometric_reactor_doc.ipynb", - "docs\\unit_models\\reactors\\stoichiometric_reactor_test.ipynb", - "docs\\unit_models\\reactors\\stoichiometric_reactor_usr.ipynb", - "docs\\unit_models\\reactors\\__init__.py", - "docs\\unit_models\\reactors\\__pycache__", - "docs\\unit_models\\reactors\\__pycache__\\egprod_ideal.cpython-310.pyc", - "docs\\unit_models\\reactors\\__pycache__\\egprod_ideal.cpython-311.pyc", - "docs\\unit_models\\reactors\\__pycache__\\egprod_reaction.cpython-310.pyc", - "docs\\unit_models\\reactors\\__pycache__\\egprod_reaction.cpython-311.pyc", - "docs\\unit_models\\reactors\\__pycache__\\msr_reaction.cpython-310.pyc", - "docs\\unit_models\\reactors\\__pycache__\\msr_reaction.cpython-311.pyc", - "docs\\unit_models\\reactors\\__pycache__\\__init__.cpython-310.pyc", - "docs\\unit_models\\reactors\\__pycache__\\__init__.cpython-311.pyc", - "docs\\unit_models\\__pycache__\\__init__.cpython-310.pyc", - "docs\\unit_models\\__pycache__\\__init__.cpython-311.pyc", - "held\\flowsheets", - "held\\flowsheets\\CO2_adsorption_desorption", - "held\\flowsheets\\CO2_adsorption_desorption\\CO2_Adsorption_Desorption_1DFixedBed.ipynb", - "held\\flowsheets\\CO2_adsorption_desorption\\CO2_Adsorption_Desorption_1DFixedBed_doc.ipynb", - "held\\flowsheets\\CO2_adsorption_desorption\\CO2_Adsorption_Desorption_1DFixedBed_test.ipynb", - "held\\flowsheets\\CO2_adsorption_desorption\\CO2_Adsorption_Desorption_1DFixedBed_usr.ipynb", - "held\\flowsheets\\CO2_adsorption_desorption\\CO2_Adsorption_Desorption_figure.png", - "held\\flowsheets\\CO2_adsorption_desorption\\index.md", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000000.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000000.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000001.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000001.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000002.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000002.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000003.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000003.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000004.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000004.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000005.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000005.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000006.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000006.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000007.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000007.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000008.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000008.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000009.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000009.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000010.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000010.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000011.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000011.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000012.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000012.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000013.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000013.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000014.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000014.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000015.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000015.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000016.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000016.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000017.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000017.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000018.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000018.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000019.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000019.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000020.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000020.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000021.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000021.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000022.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000022.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000023.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000023.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000024.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000024.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000025.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000025.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000026.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000026.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000027.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000027.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000028.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000028.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000029.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000029.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000030.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000030.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000031.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000031.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000032.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000032.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000033.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000033.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000034.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000034.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000035.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000035.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000036.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000036.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000037.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000037.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000038.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000038.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000039.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000039.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000040.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000040.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000041.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000041.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000042.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000042.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000043.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000043.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000044.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000044.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000045.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000045.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000046.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000046.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000047.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000047.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000048.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000048.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000049.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000049.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000050.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000050.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000051.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000051.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000052.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000052.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000053.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000053.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000054.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000054.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000055.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000055.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000056.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000056.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000057.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000057.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000058.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000058.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000059.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000059.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000060.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000060.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000061.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000061.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000062.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000062.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000063.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000063.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000064.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000064.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000065.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000065.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000066.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000066.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000067.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000067.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000068.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000068.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000069.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000069.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000070.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000070.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000071.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000071.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000072.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000072.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000073.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000073.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000074.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000074.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000075.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000075.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000076.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000076.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000077.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000077.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000078.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000078.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000079.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000079.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000080.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000080.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000081.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000081.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000082.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000082.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000083.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000083.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000084.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000084.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000085.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000085.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000086.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000086.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000087.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000087.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000088.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000088.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000089.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000089.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000090.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000090.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000091.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000091.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000092.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000092.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000093.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000093.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000094.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000094.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000095.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000095.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000096.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000096.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000097.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000097.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000098.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000098.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000099.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000099.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000100.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000100.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000101.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000101.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000102.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000102.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000103.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000103.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000104.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000104.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000105.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000105.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000106.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000106.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000107.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000107.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000108.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000108.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000109.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000109.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000110.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000110.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000111.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000111.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000112.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000112.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000113.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000113.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000114.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000114.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000115.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000115.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000116.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000116.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000117.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000117.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000118.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000118.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000119.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000119.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000120.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000120.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000121.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000121.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000122.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000122.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000123.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000123.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000124.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000124.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000125.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000125.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000126.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000126.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000127.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000127.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000128.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000128.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000129.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000129.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000130.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000130.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000131.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000131.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000132.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000132.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000133.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000133.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000134.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000134.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000135.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000135.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000136.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000136.bin.info", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000137.bin", - "held\\flowsheets\\CO2_adsorption_desorption\\Visualization-data\\SA-000137.bin.info", - "_build\\html", - "_build\\jupyter_execute", - "_build\\html\\active", - "_build\\html\\docs", - "_build\\html\\genindex.html", - "_build\\html\\index.html", - "_build\\html\\objects.inv", - "_build\\html\\search.html", - "_build\\html\\searchindex.js", - "_build\\html\\_images", - "_build\\html\\_sources", - "_build\\html\\_sphinx_design_static", - "_build\\html\\_static", - "_build\\html\\active\\power_gen", - "_build\\html\\active\\power_gen\\ngcc", - "_build\\html\\active\\power_gen\\ngcc\\index.html", - "_build\\html\\active\\power_gen\\ngcc\\ngcc_doc.html", - "_build\\html\\docs\\dae", - "_build\\html\\docs\\diagnostics", - "_build\\html\\docs\\flowsheets", - "_build\\html\\docs\\param_est", - "_build\\html\\docs\\power_gen", - "_build\\html\\docs\\properties", - "_build\\html\\docs\\surrogates", - "_build\\html\\docs\\tut", - "_build\\html\\docs\\unit_models", - "_build\\html\\docs\\dae\\index.html", - "_build\\html\\docs\\dae\\petsc_chem_doc.html", - "_build\\html\\docs\\dae\\petsc_pid_doc.html", - "_build\\html\\docs\\diagnostics\\degeneracy_hunter_doc.html", - "_build\\html\\docs\\diagnostics\\diagnostics_toolbox_doc.html", - "_build\\html\\docs\\diagnostics\\index.html", - "_build\\html\\docs\\flowsheets\\hda_flowsheet_with_costing_doc.html", - "_build\\html\\docs\\flowsheets\\hda_flowsheet_with_distillation_doc.html", - "_build\\html\\docs\\flowsheets\\methanol_synthesis_doc.html", - "_build\\html\\docs\\param_est\\index.html", - "_build\\html\\docs\\param_est\\parameter_estimation_nrtl_using_state_block_doc.html", - "_build\\html\\docs\\param_est\\parameter_estimation_nrtl_using_unit_model_doc.html", - "_build\\html\\docs\\power_gen\\supercritical", - "_build\\html\\docs\\power_gen\\supercritical\\index.html", - "_build\\html\\docs\\power_gen\\supercritical\\supercritical_power_plant_doc.html", - "_build\\html\\docs\\power_gen\\supercritical\\supercritical_steam_cycle_doc.html", - "_build\\html\\docs\\properties\\custom", - "_build\\html\\docs\\properties\\dictionary_txy_diagrams_doc.html", - "_build\\html\\docs\\properties\\index.html", - "_build\\html\\docs\\properties\\parameter_estimation_pr_doc.html", - "_build\\html\\docs\\properties\\custom\\custom_physical_property_packages_doc.html", - "_build\\html\\docs\\properties\\custom\\custom_reaction_property_packages_doc.html", - "_build\\html\\docs\\properties\\custom\\index.html", - "_build\\html\\docs\\surrogates\\alamo", - "_build\\html\\docs\\surrogates\\best_practices_optimization_doc.html", - "_build\\html\\docs\\surrogates\\index.html", - "_build\\html\\docs\\surrogates\\omlt", - "_build\\html\\docs\\surrogates\\pysmo", - "_build\\html\\docs\\surrogates\\alamo\\alamo_flowsheet_optimization_doc.html", - "_build\\html\\docs\\surrogates\\alamo\\index.html", - "_build\\html\\docs\\surrogates\\omlt\\index.html", - "_build\\html\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc.html", - "_build\\html\\docs\\surrogates\\pysmo\\index.html", - "_build\\html\\docs\\surrogates\\pysmo\\pysmo_basics_doc.html", - "_build\\html\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc.html", - "_build\\html\\docs\\tut\\core", - "_build\\html\\docs\\tut\\index.html", - "_build\\html\\docs\\tut\\introduction_doc.html", - "_build\\html\\docs\\tut\\introduction_short_doc.html", - "_build\\html\\docs\\tut\\ui", - "_build\\html\\docs\\tut\\core\\flash_unit_doc.html", - "_build\\html\\docs\\tut\\core\\hda_flowsheet_doc.html", - "_build\\html\\docs\\tut\\core\\index.html", - "_build\\html\\docs\\tut\\ui\\index.html", - "_build\\html\\docs\\tut\\ui\\visualizer_tutorial_doc.html", - "_build\\html\\docs\\unit_models\\custom_unit_models", - "_build\\html\\docs\\unit_models\\operations", - "_build\\html\\docs\\unit_models\\reactors", - "_build\\html\\docs\\unit_models\\custom_unit_models\\custom_compressor_doc.html", - "_build\\html\\docs\\unit_models\\custom_unit_models\\custom_heater_doc.html", - "_build\\html\\docs\\unit_models\\custom_unit_models\\index.html", - "_build\\html\\docs\\unit_models\\operations\\compressor_doc.html", - "_build\\html\\docs\\unit_models\\operations\\heater_doc.html", - "_build\\html\\docs\\unit_models\\operations\\heat_exchanger_0d_doc.html", - "_build\\html\\docs\\unit_models\\operations\\index.html", - "_build\\html\\docs\\unit_models\\operations\\mixer_doc.html", - "_build\\html\\docs\\unit_models\\operations\\pump_doc.html", - "_build\\html\\docs\\unit_models\\operations\\skeleton_unit_doc.html", - "_build\\html\\docs\\unit_models\\operations\\turbine_doc.html", - "_build\\html\\docs\\unit_models\\reactors\\cstr_doc.html", - "_build\\html\\docs\\unit_models\\reactors\\equilibrium_reactor_doc.html", - "_build\\html\\docs\\unit_models\\reactors\\gibbs_reactor_doc.html", - "_build\\html\\docs\\unit_models\\reactors\\index.html", - "_build\\html\\docs\\unit_models\\reactors\\plug_flow_reactor_doc.html", - "_build\\html\\docs\\unit_models\\reactors\\stoichiometric_reactor_doc.html", - "_build\\html\\_images\\alamo_flowsheet_optimization_doc_3_0.png", - "_build\\html\\_images\\best_practices_optimization_doc_15_0.png", - "_build\\html\\_images\\best_practices_optimization_doc_15_1.png", - "_build\\html\\_images\\best_practices_optimization_doc_15_2.png", - "_build\\html\\_images\\best_practices_optimization_doc_15_4.png", - "_build\\html\\_images\\best_practices_optimization_doc_15_5.png", - "_build\\html\\_images\\best_practices_optimization_doc_15_6.png", - "_build\\html\\_images\\best_practices_optimization_doc_4_0.png", - "_build\\html\\_images\\compressor_2.svg", - "_build\\html\\_images\\dictionary_txy_diagrams_doc_14_31.png", - "_build\\html\\_images\\egprod_flowsheet.png", - "_build\\html\\_images\\expander_2.svg", - "_build\\html\\_images\\flash_unit_doc_33_57.png", - "_build\\html\\_images\\flash_unit_doc_35_54.png", - "_build\\html\\_images\\fv2.png", - "_build\\html\\_images\\fv3.png", - "_build\\html\\_images\\fvb1.png", - "_build\\html\\_images\\fvr1.png", - "_build\\html\\_images\\fvr2.png", - "_build\\html\\_images\\fvr3.png", - "_build\\html\\_images\\fvr4.png", - "_build\\html\\_images\\fvst1.png", - "_build\\html\\_images\\HDA_flowsheet.png", - "_build\\html\\_images\\HDA_flowsheet_distillation.png", - "_build\\html\\_images\\hda_flowsheet_with_costing_doc_23_2.png", - "_build\\html\\_images\\hda_flowsheet_with_costing_doc_24_2.png", - "_build\\html\\_images\\hda_flowsheet_with_costing_doc_25_2.png", - "_build\\html\\_images\\HDA_tear_stream.png", - "_build\\html\\_images\\heater_2.svg", - "_build\\html\\_images\\heater_doc_22_0.png", - "_build\\html\\_images\\heat_exchanger_4.svg", - "_build\\html\\_images\\introduction_doc_38_0.png", - "_build\\html\\_images\\introduction_doc_41_0.png", - "_build\\html\\_images\\introduction_short_doc_33_0.png", - "_build\\html\\_images\\introduction_short_doc_36_0.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_10.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_11.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_12.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_13.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_14.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_15.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_16.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_17.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_18.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_19.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_2.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_20.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_21.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_22.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_23.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_24.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_25.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_26.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_27.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_3.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_30.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_31.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_32.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_33.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_34.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_35.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_36.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_37.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_38.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_39.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_4.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_40.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_41.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_42.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_45.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_46.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_47.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_48.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_49.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_5.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_50.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_51.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_52.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_53.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_54.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_55.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_56.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_57.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_58.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_59.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_6.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_60.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_61.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_62.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_63.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_64.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_65.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_66.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_67.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_68.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_69.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_7.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_70.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_8.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_15_9.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_10.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_11.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_12.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_13.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_14.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_15.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_16.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_17.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_18.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_19.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_2.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_20.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_21.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_22.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_23.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_24.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_25.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_26.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_27.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_3.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_30.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_31.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_32.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_33.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_34.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_35.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_36.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_37.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_38.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_39.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_4.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_40.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_41.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_42.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_45.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_46.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_47.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_48.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_49.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_5.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_50.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_51.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_52.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_53.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_54.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_55.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_56.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_57.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_58.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_59.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_6.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_60.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_61.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_62.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_63.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_64.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_65.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_66.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_67.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_68.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_69.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_7.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_70.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_8.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_17_9.png", - "_build\\html\\_images\\keras_flowsheet_optimization_doc_3_0.png", - "_build\\html\\_images\\methanol_synthesis_doc_18_0.png", - "_build\\html\\_images\\methanol_synthesis_doc_4_0.png", - "_build\\html\\_images\\mixer.svg", - "_build\\html\\_images\\msr_flowsheet.png", - "_build\\html\\_images\\ngcc_doc_11_1.svg", - "_build\\html\\_images\\ngcc_doc_11_3.svg", - "_build\\html\\_images\\ngcc_doc_11_5.svg", - "_build\\html\\_images\\ngcc_doc_14_1.png", - "_build\\html\\_images\\pervaporation_process.png", - "_build\\html\\_images\\petsc_chem_doc_15_0.png", - "_build\\html\\_images\\petsc_chem_doc_17_0.png", - "_build\\html\\_images\\petsc_chem_doc_18_0.png", - "_build\\html\\_images\\petsc_chem_doc_19_0.png", - "_build\\html\\_images\\petsc_chem_doc_22_0.png", - "_build\\html\\_images\\petsc_chem_doc_23_0.png", - "_build\\html\\_images\\petsc_pid_doc_11_0.png", - "_build\\html\\_images\\petsc_pid_doc_12_0.png", - "_build\\html\\_images\\petsc_pid_doc_16_0.png", - "_build\\html\\_images\\petsc_pid_doc_17_0.png", - "_build\\html\\_images\\petsc_pid_doc_18_0.png", - "_build\\html\\_images\\petsc_pid_doc_22_0.png", - "_build\\html\\_images\\petsc_pid_doc_23_0.png", - "_build\\html\\_images\\petsc_pid_doc_24_0.png", - "_build\\html\\_images\\pysmo_basics_doc_14_0.png", - "_build\\html\\_images\\pysmo_basics_doc_20_2.png", - "_build\\html\\_images\\pysmo_basics_doc_36_0.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_0.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_1.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_10.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_11.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_12.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_13.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_14.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_15.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_16.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_17.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_18.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_19.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_2.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_20.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_21.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_22.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_23.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_24.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_25.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_26.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_27.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_28.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_29.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_3.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_30.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_31.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_32.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_33.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_34.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_35.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_36.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_37.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_38.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_39.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_4.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_40.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_41.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_42.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_43.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_44.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_45.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_46.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_47.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_48.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_49.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_5.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_50.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_51.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_52.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_53.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_54.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_55.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_56.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_57.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_58.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_59.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_6.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_60.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_61.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_62.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_63.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_64.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_7.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_8.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_15_9.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_0.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_1.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_10.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_11.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_12.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_13.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_14.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_15.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_16.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_17.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_18.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_19.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_2.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_20.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_21.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_22.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_23.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_24.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_25.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_26.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_27.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_28.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_29.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_3.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_30.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_31.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_32.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_33.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_34.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_35.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_36.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_37.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_38.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_39.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_4.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_40.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_41.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_42.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_43.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_44.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_45.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_46.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_47.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_48.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_49.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_5.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_50.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_51.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_52.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_53.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_54.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_55.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_56.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_57.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_58.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_59.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_6.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_60.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_61.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_62.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_63.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_64.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_7.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_8.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_17_9.png", - "_build\\html\\_images\\pysmo_flowsheet_optimization_doc_3_0.png", - "_build\\html\\_images\\supercritical_power_plant_doc_3_1.svg", - "_build\\html\\_images\\supercritical_power_plant_doc_3_3.svg", - "_build\\html\\_images\\supercritical_power_plant_doc_7_1.svg", - "_build\\html\\_images\\supercritical_steam_cycle_doc_15_0.svg", - "_build\\html\\_images\\supercritical_steam_cycle_doc_2_1.svg", - "_build\\html\\_sources\\active", - "_build\\html\\_sources\\docs", - "_build\\html\\_sources\\index.md", - "_build\\html\\_sources\\active\\power_gen", - "_build\\html\\_sources\\active\\power_gen\\ngcc", - "_build\\html\\_sources\\active\\power_gen\\ngcc\\index.md", - "_build\\html\\_sources\\active\\power_gen\\ngcc\\ngcc_doc.ipynb", - "_build\\html\\_sources\\docs\\dae", - "_build\\html\\_sources\\docs\\diagnostics", - "_build\\html\\_sources\\docs\\flowsheets", - "_build\\html\\_sources\\docs\\param_est", - "_build\\html\\_sources\\docs\\power_gen", - "_build\\html\\_sources\\docs\\properties", - "_build\\html\\_sources\\docs\\surrogates", - "_build\\html\\_sources\\docs\\tut", - "_build\\html\\_sources\\docs\\unit_models", - "_build\\html\\_sources\\docs\\dae\\index.md", - "_build\\html\\_sources\\docs\\dae\\petsc_chem_doc.ipynb", - "_build\\html\\_sources\\docs\\dae\\petsc_pid_doc.ipynb", - "_build\\html\\_sources\\docs\\diagnostics\\degeneracy_hunter_doc.ipynb", - "_build\\html\\_sources\\docs\\diagnostics\\diagnostics_toolbox_doc.ipynb", - "_build\\html\\_sources\\docs\\diagnostics\\index.md", - "_build\\html\\_sources\\docs\\flowsheets\\hda_flowsheet_with_costing_doc.ipynb", - "_build\\html\\_sources\\docs\\flowsheets\\hda_flowsheet_with_distillation_doc.ipynb", - "_build\\html\\_sources\\docs\\flowsheets\\methanol_synthesis_doc.ipynb", - "_build\\html\\_sources\\docs\\param_est\\index.md", - "_build\\html\\_sources\\docs\\param_est\\parameter_estimation_nrtl_using_state_block_doc.ipynb", - "_build\\html\\_sources\\docs\\param_est\\parameter_estimation_nrtl_using_unit_model_doc.ipynb", - "_build\\html\\_sources\\docs\\power_gen\\supercritical", - "_build\\html\\_sources\\docs\\power_gen\\supercritical\\index.md", - "_build\\html\\_sources\\docs\\power_gen\\supercritical\\supercritical_power_plant_doc.ipynb", - "_build\\html\\_sources\\docs\\power_gen\\supercritical\\supercritical_steam_cycle_doc.ipynb", - "_build\\html\\_sources\\docs\\properties\\custom", - "_build\\html\\_sources\\docs\\properties\\dictionary_txy_diagrams_doc.ipynb", - "_build\\html\\_sources\\docs\\properties\\index.md", - "_build\\html\\_sources\\docs\\properties\\parameter_estimation_pr_doc.ipynb", - "_build\\html\\_sources\\docs\\properties\\custom\\custom_physical_property_packages_doc.ipynb", - "_build\\html\\_sources\\docs\\properties\\custom\\custom_reaction_property_packages_doc.ipynb", - "_build\\html\\_sources\\docs\\properties\\custom\\index.md", - "_build\\html\\_sources\\docs\\surrogates\\alamo", - "_build\\html\\_sources\\docs\\surrogates\\best_practices_optimization_doc.ipynb", - "_build\\html\\_sources\\docs\\surrogates\\index.md", - "_build\\html\\_sources\\docs\\surrogates\\omlt", - "_build\\html\\_sources\\docs\\surrogates\\pysmo", - "_build\\html\\_sources\\docs\\surrogates\\alamo\\alamo_flowsheet_optimization_doc.ipynb", - "_build\\html\\_sources\\docs\\surrogates\\alamo\\index.md", - "_build\\html\\_sources\\docs\\surrogates\\omlt\\index.md", - "_build\\html\\_sources\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc.ipynb", - "_build\\html\\_sources\\docs\\surrogates\\pysmo\\index.md", - "_build\\html\\_sources\\docs\\surrogates\\pysmo\\pysmo_basics_doc.ipynb", - "_build\\html\\_sources\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc.ipynb", - "_build\\html\\_sources\\docs\\tut\\core", - "_build\\html\\_sources\\docs\\tut\\index.md", - "_build\\html\\_sources\\docs\\tut\\introduction_doc.ipynb", - "_build\\html\\_sources\\docs\\tut\\introduction_short_doc.ipynb", - "_build\\html\\_sources\\docs\\tut\\ui", - "_build\\html\\_sources\\docs\\tut\\core\\flash_unit_doc.ipynb", - "_build\\html\\_sources\\docs\\tut\\core\\hda_flowsheet_doc.ipynb", - "_build\\html\\_sources\\docs\\tut\\core\\index.md", - "_build\\html\\_sources\\docs\\tut\\ui\\index.md", - "_build\\html\\_sources\\docs\\tut\\ui\\visualizer_tutorial_doc.ipynb", - "_build\\html\\_sources\\docs\\unit_models\\custom_unit_models", - "_build\\html\\_sources\\docs\\unit_models\\operations", - "_build\\html\\_sources\\docs\\unit_models\\reactors", - "_build\\html\\_sources\\docs\\unit_models\\custom_unit_models\\custom_compressor_doc.ipynb", - "_build\\html\\_sources\\docs\\unit_models\\custom_unit_models\\custom_heater_doc.ipynb", - "_build\\html\\_sources\\docs\\unit_models\\custom_unit_models\\index.md", - "_build\\html\\_sources\\docs\\unit_models\\operations\\compressor_doc.ipynb", - "_build\\html\\_sources\\docs\\unit_models\\operations\\heater_doc.ipynb", - "_build\\html\\_sources\\docs\\unit_models\\operations\\heat_exchanger_0d_doc.ipynb", - "_build\\html\\_sources\\docs\\unit_models\\operations\\index.md", - "_build\\html\\_sources\\docs\\unit_models\\operations\\mixer_doc.ipynb", - "_build\\html\\_sources\\docs\\unit_models\\operations\\pump_doc.ipynb", - "_build\\html\\_sources\\docs\\unit_models\\operations\\skeleton_unit_doc.ipynb", - "_build\\html\\_sources\\docs\\unit_models\\operations\\turbine_doc.ipynb", - "_build\\html\\_sources\\docs\\unit_models\\reactors\\cstr_doc.ipynb", - "_build\\html\\_sources\\docs\\unit_models\\reactors\\equilibrium_reactor_doc.ipynb", - "_build\\html\\_sources\\docs\\unit_models\\reactors\\gibbs_reactor_doc.ipynb", - "_build\\html\\_sources\\docs\\unit_models\\reactors\\index.md", - "_build\\html\\_sources\\docs\\unit_models\\reactors\\plug_flow_reactor_doc.ipynb", - "_build\\html\\_sources\\docs\\unit_models\\reactors\\stoichiometric_reactor_doc.ipynb", - "_build\\html\\_sphinx_design_static\\design-style.b7bb847fb20b106c3d81b95245e65545.min.css", - "_build\\html\\_sphinx_design_static\\design-tabs.js", - "_build\\html\\_static\\basic.css", - "_build\\html\\_static\\check-solid.svg", - "_build\\html\\_static\\clipboard.min.js", - "_build\\html\\_static\\copy-button.svg", - "_build\\html\\_static\\copybutton.css", - "_build\\html\\_static\\copybutton.js", - "_build\\html\\_static\\copybutton_funcs.js", - "_build\\html\\_static\\design-style.b7bb847fb20b106c3d81b95245e65545.min.css", - "_build\\html\\_static\\design-tabs.js", - "_build\\html\\_static\\doctools.js", - "_build\\html\\_static\\documentation_options.js", - "_build\\html\\_static\\file.png", - "_build\\html\\_static\\images", - "_build\\html\\_static\\jquery-3.5.1.js", - "_build\\html\\_static\\jquery.js", - "_build\\html\\_static\\language_data.js", - "_build\\html\\_static\\locales", - "_build\\html\\_static\\logo.png", - "_build\\html\\_static\\minus.png", - "_build\\html\\_static\\mystnb.css", - "_build\\html\\_static\\plus.png", - "_build\\html\\_static\\pygments.css", - "_build\\html\\_static\\sbt-webpack-macros.html", - "_build\\html\\_static\\scripts", - "_build\\html\\_static\\searchtools.js", - "_build\\html\\_static\\sphinx-thebe.css", - "_build\\html\\_static\\sphinx-thebe.js", - "_build\\html\\_static\\styles", - "_build\\html\\_static\\togglebutton.css", - "_build\\html\\_static\\togglebutton.js", - "_build\\html\\_static\\underscore-1.13.1.js", - "_build\\html\\_static\\underscore.js", - "_build\\html\\_static\\vendor", - "_build\\html\\_static\\webpack-macros.html", - "_build\\html\\_static\\images\\logo_binder.svg", - "_build\\html\\_static\\images\\logo_colab.png", - "_build\\html\\_static\\images\\logo_deepnote.svg", - "_build\\html\\_static\\images\\logo_jupyterhub.svg", - "_build\\html\\_static\\locales\\ar", - "_build\\html\\_static\\locales\\bg", - "_build\\html\\_static\\locales\\bn", - "_build\\html\\_static\\locales\\ca", - "_build\\html\\_static\\locales\\cs", - "_build\\html\\_static\\locales\\da", - "_build\\html\\_static\\locales\\de", - "_build\\html\\_static\\locales\\el", - "_build\\html\\_static\\locales\\eo", - "_build\\html\\_static\\locales\\es", - "_build\\html\\_static\\locales\\et", - "_build\\html\\_static\\locales\\fi", - "_build\\html\\_static\\locales\\fr", - "_build\\html\\_static\\locales\\hr", - "_build\\html\\_static\\locales\\id", - "_build\\html\\_static\\locales\\it", - "_build\\html\\_static\\locales\\iw", - "_build\\html\\_static\\locales\\ja", - "_build\\html\\_static\\locales\\ko", - "_build\\html\\_static\\locales\\lt", - "_build\\html\\_static\\locales\\lv", - "_build\\html\\_static\\locales\\ml", - "_build\\html\\_static\\locales\\mr", - "_build\\html\\_static\\locales\\ms", - "_build\\html\\_static\\locales\\nl", - "_build\\html\\_static\\locales\\no", - "_build\\html\\_static\\locales\\pl", - "_build\\html\\_static\\locales\\pt", - "_build\\html\\_static\\locales\\ro", - "_build\\html\\_static\\locales\\ru", - "_build\\html\\_static\\locales\\sk", - "_build\\html\\_static\\locales\\sl", - "_build\\html\\_static\\locales\\sr", - "_build\\html\\_static\\locales\\sv", - "_build\\html\\_static\\locales\\ta", - "_build\\html\\_static\\locales\\te", - "_build\\html\\_static\\locales\\tg", - "_build\\html\\_static\\locales\\th", - "_build\\html\\_static\\locales\\tl", - "_build\\html\\_static\\locales\\tr", - "_build\\html\\_static\\locales\\uk", - "_build\\html\\_static\\locales\\ur", - "_build\\html\\_static\\locales\\vi", - "_build\\html\\_static\\locales\\zh_CN", - "_build\\html\\_static\\locales\\zh_TW", - "_build\\html\\_static\\locales\\ar\\LC_MESSAGES", - "_build\\html\\_static\\locales\\ar\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\bg\\LC_MESSAGES", - "_build\\html\\_static\\locales\\bg\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\bn\\LC_MESSAGES", - "_build\\html\\_static\\locales\\bn\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\ca\\LC_MESSAGES", - "_build\\html\\_static\\locales\\ca\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\cs\\LC_MESSAGES", - "_build\\html\\_static\\locales\\cs\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\da\\LC_MESSAGES", - "_build\\html\\_static\\locales\\da\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\de\\LC_MESSAGES", - "_build\\html\\_static\\locales\\de\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\el\\LC_MESSAGES", - "_build\\html\\_static\\locales\\el\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\eo\\LC_MESSAGES", - "_build\\html\\_static\\locales\\eo\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\es\\LC_MESSAGES", - "_build\\html\\_static\\locales\\es\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\et\\LC_MESSAGES", - "_build\\html\\_static\\locales\\et\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\fi\\LC_MESSAGES", - "_build\\html\\_static\\locales\\fi\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\fr\\LC_MESSAGES", - "_build\\html\\_static\\locales\\fr\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\hr\\LC_MESSAGES", - "_build\\html\\_static\\locales\\hr\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\id\\LC_MESSAGES", - "_build\\html\\_static\\locales\\id\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\it\\LC_MESSAGES", - "_build\\html\\_static\\locales\\it\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\iw\\LC_MESSAGES", - "_build\\html\\_static\\locales\\iw\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\ja\\LC_MESSAGES", - "_build\\html\\_static\\locales\\ja\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\ko\\LC_MESSAGES", - "_build\\html\\_static\\locales\\ko\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\lt\\LC_MESSAGES", - "_build\\html\\_static\\locales\\lt\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\lv\\LC_MESSAGES", - "_build\\html\\_static\\locales\\lv\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\ml\\LC_MESSAGES", - "_build\\html\\_static\\locales\\ml\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\mr\\LC_MESSAGES", - "_build\\html\\_static\\locales\\mr\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\ms\\LC_MESSAGES", - "_build\\html\\_static\\locales\\ms\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\nl\\LC_MESSAGES", - "_build\\html\\_static\\locales\\nl\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\no\\LC_MESSAGES", - "_build\\html\\_static\\locales\\no\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\pl\\LC_MESSAGES", - "_build\\html\\_static\\locales\\pl\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\pt\\LC_MESSAGES", - "_build\\html\\_static\\locales\\pt\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\ro\\LC_MESSAGES", - "_build\\html\\_static\\locales\\ro\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\ru\\LC_MESSAGES", - "_build\\html\\_static\\locales\\ru\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\sk\\LC_MESSAGES", - "_build\\html\\_static\\locales\\sk\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\sl\\LC_MESSAGES", - "_build\\html\\_static\\locales\\sl\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\sr\\LC_MESSAGES", - "_build\\html\\_static\\locales\\sr\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\sv\\LC_MESSAGES", - "_build\\html\\_static\\locales\\sv\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\ta\\LC_MESSAGES", - "_build\\html\\_static\\locales\\ta\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\te\\LC_MESSAGES", - "_build\\html\\_static\\locales\\te\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\tg\\LC_MESSAGES", - "_build\\html\\_static\\locales\\tg\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\th\\LC_MESSAGES", - "_build\\html\\_static\\locales\\th\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\tl\\LC_MESSAGES", - "_build\\html\\_static\\locales\\tl\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\tr\\LC_MESSAGES", - "_build\\html\\_static\\locales\\tr\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\uk\\LC_MESSAGES", - "_build\\html\\_static\\locales\\uk\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\ur\\LC_MESSAGES", - "_build\\html\\_static\\locales\\ur\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\vi\\LC_MESSAGES", - "_build\\html\\_static\\locales\\vi\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\zh_CN\\LC_MESSAGES", - "_build\\html\\_static\\locales\\zh_CN\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\locales\\zh_TW\\LC_MESSAGES", - "_build\\html\\_static\\locales\\zh_TW\\LC_MESSAGES\\booktheme.po", - "_build\\html\\_static\\scripts\\pydata-sphinx-theme.js", - "_build\\html\\_static\\scripts\\sphinx-book-theme.js", - "_build\\html\\_static\\scripts\\sphinx-book-theme.js.map", - "_build\\html\\_static\\styles\\pydata-sphinx-theme.css", - "_build\\html\\_static\\styles\\sphinx-book-theme.css", - "_build\\html\\_static\\styles\\theme.css", - "_build\\html\\_static\\vendor\\fontawesome", - "_build\\html\\_static\\vendor\\fontawesome\\5.13.0", - "_build\\html\\_static\\vendor\\fontawesome\\5.13.0\\css", - "_build\\html\\_static\\vendor\\fontawesome\\5.13.0\\LICENSE.txt", - "_build\\html\\_static\\vendor\\fontawesome\\5.13.0\\webfonts", - "_build\\html\\_static\\vendor\\fontawesome\\5.13.0\\css\\all.min.css", - "_build\\html\\_static\\vendor\\fontawesome\\5.13.0\\webfonts\\fa-brands-400.eot", - "_build\\html\\_static\\vendor\\fontawesome\\5.13.0\\webfonts\\fa-brands-400.svg", - "_build\\html\\_static\\vendor\\fontawesome\\5.13.0\\webfonts\\fa-brands-400.ttf", - "_build\\html\\_static\\vendor\\fontawesome\\5.13.0\\webfonts\\fa-brands-400.woff", - "_build\\html\\_static\\vendor\\fontawesome\\5.13.0\\webfonts\\fa-brands-400.woff2", - "_build\\html\\_static\\vendor\\fontawesome\\5.13.0\\webfonts\\fa-regular-400.eot", - "_build\\html\\_static\\vendor\\fontawesome\\5.13.0\\webfonts\\fa-regular-400.svg", - "_build\\html\\_static\\vendor\\fontawesome\\5.13.0\\webfonts\\fa-regular-400.ttf", - "_build\\html\\_static\\vendor\\fontawesome\\5.13.0\\webfonts\\fa-regular-400.woff", - "_build\\html\\_static\\vendor\\fontawesome\\5.13.0\\webfonts\\fa-regular-400.woff2", - "_build\\html\\_static\\vendor\\fontawesome\\5.13.0\\webfonts\\fa-solid-900.eot", - "_build\\html\\_static\\vendor\\fontawesome\\5.13.0\\webfonts\\fa-solid-900.svg", - "_build\\html\\_static\\vendor\\fontawesome\\5.13.0\\webfonts\\fa-solid-900.ttf", - "_build\\html\\_static\\vendor\\fontawesome\\5.13.0\\webfonts\\fa-solid-900.woff", - "_build\\html\\_static\\vendor\\fontawesome\\5.13.0\\webfonts\\fa-solid-900.woff2", - "_build\\jupyter_execute\\active", - "_build\\jupyter_execute\\docs", - "_build\\jupyter_execute\\active\\power_gen", - "_build\\jupyter_execute\\active\\power_gen\\ngcc", - "_build\\jupyter_execute\\active\\power_gen\\ngcc\\ngcc_doc.ipynb", - "_build\\jupyter_execute\\active\\power_gen\\ngcc\\ngcc_doc.py", - "_build\\jupyter_execute\\active\\power_gen\\ngcc\\ngcc_doc_11_1.svg", - "_build\\jupyter_execute\\active\\power_gen\\ngcc\\ngcc_doc_11_3.svg", - "_build\\jupyter_execute\\active\\power_gen\\ngcc\\ngcc_doc_11_5.svg", - "_build\\jupyter_execute\\active\\power_gen\\ngcc\\ngcc_doc_14_1.png", - "_build\\jupyter_execute\\docs\\dae", - "_build\\jupyter_execute\\docs\\diagnostics", - "_build\\jupyter_execute\\docs\\flowsheets", - "_build\\jupyter_execute\\docs\\param_est", - "_build\\jupyter_execute\\docs\\power_gen", - "_build\\jupyter_execute\\docs\\properties", - "_build\\jupyter_execute\\docs\\surrogates", - "_build\\jupyter_execute\\docs\\tut", - "_build\\jupyter_execute\\docs\\unit_models", - "_build\\jupyter_execute\\docs\\dae\\petsc_chem_doc.ipynb", - "_build\\jupyter_execute\\docs\\dae\\petsc_chem_doc.py", - "_build\\jupyter_execute\\docs\\dae\\petsc_chem_doc_15_0.png", - "_build\\jupyter_execute\\docs\\dae\\petsc_chem_doc_17_0.png", - "_build\\jupyter_execute\\docs\\dae\\petsc_chem_doc_18_0.png", - "_build\\jupyter_execute\\docs\\dae\\petsc_chem_doc_19_0.png", - "_build\\jupyter_execute\\docs\\dae\\petsc_chem_doc_22_0.png", - "_build\\jupyter_execute\\docs\\dae\\petsc_chem_doc_23_0.png", - "_build\\jupyter_execute\\docs\\dae\\petsc_pid_doc.ipynb", - "_build\\jupyter_execute\\docs\\dae\\petsc_pid_doc.py", - "_build\\jupyter_execute\\docs\\dae\\petsc_pid_doc_11_0.png", - "_build\\jupyter_execute\\docs\\dae\\petsc_pid_doc_12_0.png", - "_build\\jupyter_execute\\docs\\dae\\petsc_pid_doc_16_0.png", - "_build\\jupyter_execute\\docs\\dae\\petsc_pid_doc_17_0.png", - "_build\\jupyter_execute\\docs\\dae\\petsc_pid_doc_18_0.png", - "_build\\jupyter_execute\\docs\\dae\\petsc_pid_doc_22_0.png", - "_build\\jupyter_execute\\docs\\dae\\petsc_pid_doc_23_0.png", - "_build\\jupyter_execute\\docs\\dae\\petsc_pid_doc_24_0.png", - "_build\\jupyter_execute\\docs\\diagnostics\\degeneracy_hunter_doc.ipynb", - "_build\\jupyter_execute\\docs\\diagnostics\\degeneracy_hunter_doc.py", - "_build\\jupyter_execute\\docs\\diagnostics\\diagnostics_toolbox_doc.ipynb", - "_build\\jupyter_execute\\docs\\diagnostics\\diagnostics_toolbox_doc.py", - "_build\\jupyter_execute\\docs\\flowsheets\\hda_flowsheet_with_costing_doc.ipynb", - "_build\\jupyter_execute\\docs\\flowsheets\\hda_flowsheet_with_costing_doc.py", - "_build\\jupyter_execute\\docs\\flowsheets\\hda_flowsheet_with_costing_doc_23_2.png", - "_build\\jupyter_execute\\docs\\flowsheets\\hda_flowsheet_with_costing_doc_24_2.png", - "_build\\jupyter_execute\\docs\\flowsheets\\hda_flowsheet_with_costing_doc_25_2.png", - "_build\\jupyter_execute\\docs\\flowsheets\\hda_flowsheet_with_distillation_doc.ipynb", - "_build\\jupyter_execute\\docs\\flowsheets\\hda_flowsheet_with_distillation_doc.py", - "_build\\jupyter_execute\\docs\\flowsheets\\methanol_synthesis_doc.ipynb", - "_build\\jupyter_execute\\docs\\flowsheets\\methanol_synthesis_doc.py", - "_build\\jupyter_execute\\docs\\flowsheets\\methanol_synthesis_doc_18_0.png", - "_build\\jupyter_execute\\docs\\flowsheets\\methanol_synthesis_doc_4_0.png", - "_build\\jupyter_execute\\docs\\param_est\\parameter_estimation_nrtl_using_state_block_doc.ipynb", - "_build\\jupyter_execute\\docs\\param_est\\parameter_estimation_nrtl_using_state_block_doc.py", - "_build\\jupyter_execute\\docs\\param_est\\parameter_estimation_nrtl_using_unit_model_doc.ipynb", - "_build\\jupyter_execute\\docs\\param_est\\parameter_estimation_nrtl_using_unit_model_doc.py", - "_build\\jupyter_execute\\docs\\power_gen\\supercritical", - "_build\\jupyter_execute\\docs\\power_gen\\supercritical\\supercritical_power_plant_doc.ipynb", - "_build\\jupyter_execute\\docs\\power_gen\\supercritical\\supercritical_power_plant_doc.py", - "_build\\jupyter_execute\\docs\\power_gen\\supercritical\\supercritical_power_plant_doc_3_1.svg", - "_build\\jupyter_execute\\docs\\power_gen\\supercritical\\supercritical_power_plant_doc_3_3.svg", - "_build\\jupyter_execute\\docs\\power_gen\\supercritical\\supercritical_power_plant_doc_7_1.svg", - "_build\\jupyter_execute\\docs\\power_gen\\supercritical\\supercritical_steam_cycle_doc.ipynb", - "_build\\jupyter_execute\\docs\\power_gen\\supercritical\\supercritical_steam_cycle_doc.py", - "_build\\jupyter_execute\\docs\\power_gen\\supercritical\\supercritical_steam_cycle_doc_15_0.svg", - "_build\\jupyter_execute\\docs\\power_gen\\supercritical\\supercritical_steam_cycle_doc_2_1.svg", - "_build\\jupyter_execute\\docs\\properties\\custom", - "_build\\jupyter_execute\\docs\\properties\\dictionary_txy_diagrams_doc.ipynb", - "_build\\jupyter_execute\\docs\\properties\\dictionary_txy_diagrams_doc.py", - "_build\\jupyter_execute\\docs\\properties\\dictionary_txy_diagrams_doc_14_31.png", - "_build\\jupyter_execute\\docs\\properties\\parameter_estimation_pr_doc.ipynb", - "_build\\jupyter_execute\\docs\\properties\\parameter_estimation_pr_doc.py", - "_build\\jupyter_execute\\docs\\properties\\custom\\custom_physical_property_packages_doc.ipynb", - "_build\\jupyter_execute\\docs\\properties\\custom\\custom_physical_property_packages_doc.py", - "_build\\jupyter_execute\\docs\\properties\\custom\\custom_reaction_property_packages_doc.ipynb", - "_build\\jupyter_execute\\docs\\properties\\custom\\custom_reaction_property_packages_doc.py", - "_build\\jupyter_execute\\docs\\surrogates\\alamo", - "_build\\jupyter_execute\\docs\\surrogates\\best_practices_optimization_doc.ipynb", - "_build\\jupyter_execute\\docs\\surrogates\\best_practices_optimization_doc.py", - "_build\\jupyter_execute\\docs\\surrogates\\best_practices_optimization_doc_15_0.png", - "_build\\jupyter_execute\\docs\\surrogates\\best_practices_optimization_doc_15_1.png", - "_build\\jupyter_execute\\docs\\surrogates\\best_practices_optimization_doc_15_2.png", - "_build\\jupyter_execute\\docs\\surrogates\\best_practices_optimization_doc_15_4.png", - "_build\\jupyter_execute\\docs\\surrogates\\best_practices_optimization_doc_15_5.png", - "_build\\jupyter_execute\\docs\\surrogates\\best_practices_optimization_doc_15_6.png", - "_build\\jupyter_execute\\docs\\surrogates\\best_practices_optimization_doc_4_0.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo", - "_build\\jupyter_execute\\docs\\surrogates\\alamo\\alamo_flowsheet_optimization_doc.ipynb", - "_build\\jupyter_execute\\docs\\surrogates\\alamo\\alamo_flowsheet_optimization_doc.py", - "_build\\jupyter_execute\\docs\\surrogates\\alamo\\alamo_flowsheet_optimization_doc_3_0.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc.ipynb", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc.py", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_10.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_11.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_12.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_13.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_14.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_15.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_16.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_17.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_18.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_19.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_2.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_20.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_21.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_22.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_23.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_24.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_25.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_26.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_27.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_3.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_30.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_31.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_32.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_33.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_34.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_35.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_36.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_37.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_38.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_39.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_4.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_40.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_41.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_42.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_45.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_46.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_47.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_48.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_49.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_5.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_50.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_51.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_52.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_53.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_54.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_55.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_56.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_57.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_58.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_59.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_6.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_60.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_61.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_62.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_63.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_64.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_65.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_66.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_67.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_68.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_69.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_7.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_70.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_8.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_15_9.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_10.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_11.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_12.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_13.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_14.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_15.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_16.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_17.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_18.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_19.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_2.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_20.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_21.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_22.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_23.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_24.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_25.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_26.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_27.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_3.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_30.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_31.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_32.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_33.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_34.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_35.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_36.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_37.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_38.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_39.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_4.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_40.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_41.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_42.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_45.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_46.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_47.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_48.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_49.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_5.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_50.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_51.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_52.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_53.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_54.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_55.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_56.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_57.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_58.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_59.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_6.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_60.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_61.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_62.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_63.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_64.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_65.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_66.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_67.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_68.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_69.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_7.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_70.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_8.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_17_9.png", - "_build\\jupyter_execute\\docs\\surrogates\\omlt\\keras_flowsheet_optimization_doc_3_0.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_basics_doc.ipynb", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_basics_doc.py", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_basics_doc_14_0.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_basics_doc_20_2.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_basics_doc_36_0.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc.ipynb", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc.py", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_0.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_1.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_10.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_11.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_12.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_13.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_14.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_15.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_16.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_17.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_18.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_19.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_2.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_20.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_21.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_22.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_23.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_24.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_25.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_26.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_27.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_28.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_29.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_3.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_30.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_31.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_32.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_33.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_34.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_35.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_36.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_37.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_38.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_39.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_4.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_40.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_41.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_42.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_43.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_44.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_45.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_46.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_47.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_48.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_49.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_5.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_50.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_51.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_52.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_53.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_54.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_55.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_56.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_57.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_58.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_59.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_6.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_60.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_61.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_62.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_63.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_64.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_7.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_8.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_9.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_0.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_1.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_10.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_11.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_12.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_13.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_14.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_15.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_16.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_17.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_18.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_19.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_2.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_20.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_21.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_22.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_23.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_24.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_25.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_26.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_27.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_28.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_29.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_3.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_30.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_31.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_32.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_33.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_34.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_35.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_36.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_37.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_38.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_39.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_4.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_40.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_41.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_42.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_43.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_44.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_45.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_46.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_47.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_48.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_49.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_5.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_50.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_51.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_52.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_53.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_54.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_55.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_56.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_57.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_58.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_59.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_6.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_60.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_61.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_62.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_63.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_64.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_7.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_8.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_9.png", - "_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_3_0.png", - "_build\\jupyter_execute\\docs\\tut\\core", - "_build\\jupyter_execute\\docs\\tut\\introduction_doc.ipynb", - "_build\\jupyter_execute\\docs\\tut\\introduction_doc.py", - "_build\\jupyter_execute\\docs\\tut\\introduction_doc_38_0.png", - "_build\\jupyter_execute\\docs\\tut\\introduction_doc_41_0.png", - "_build\\jupyter_execute\\docs\\tut\\introduction_short_doc.ipynb", - "_build\\jupyter_execute\\docs\\tut\\introduction_short_doc.py", - "_build\\jupyter_execute\\docs\\tut\\introduction_short_doc_33_0.png", - "_build\\jupyter_execute\\docs\\tut\\introduction_short_doc_36_0.png", - "_build\\jupyter_execute\\docs\\tut\\ui", - "_build\\jupyter_execute\\docs\\tut\\core\\flash_unit_doc.ipynb", - "_build\\jupyter_execute\\docs\\tut\\core\\flash_unit_doc.py", - "_build\\jupyter_execute\\docs\\tut\\core\\flash_unit_doc_33_57.png", - "_build\\jupyter_execute\\docs\\tut\\core\\flash_unit_doc_35_54.png", - "_build\\jupyter_execute\\docs\\tut\\core\\hda_flowsheet_doc.ipynb", - "_build\\jupyter_execute\\docs\\tut\\core\\hda_flowsheet_doc.py", - "_build\\jupyter_execute\\docs\\tut\\ui\\visualizer_tutorial_doc.ipynb", - "_build\\jupyter_execute\\docs\\tut\\ui\\visualizer_tutorial_doc.py", - "_build\\jupyter_execute\\docs\\unit_models\\custom_unit_models", - "_build\\jupyter_execute\\docs\\unit_models\\operations", - "_build\\jupyter_execute\\docs\\unit_models\\reactors", - "_build\\jupyter_execute\\docs\\unit_models\\custom_unit_models\\custom_compressor_doc.ipynb", - "_build\\jupyter_execute\\docs\\unit_models\\custom_unit_models\\custom_compressor_doc.py", - "_build\\jupyter_execute\\docs\\unit_models\\custom_unit_models\\custom_heater_doc.ipynb", - "_build\\jupyter_execute\\docs\\unit_models\\custom_unit_models\\custom_heater_doc.py", - "_build\\jupyter_execute\\docs\\unit_models\\operations\\compressor_doc.ipynb", - "_build\\jupyter_execute\\docs\\unit_models\\operations\\compressor_doc.py", - "_build\\jupyter_execute\\docs\\unit_models\\operations\\heater_doc.ipynb", - "_build\\jupyter_execute\\docs\\unit_models\\operations\\heater_doc.py", - "_build\\jupyter_execute\\docs\\unit_models\\operations\\heater_doc_22_0.png", - "_build\\jupyter_execute\\docs\\unit_models\\operations\\heat_exchanger_0d_doc.ipynb", - "_build\\jupyter_execute\\docs\\unit_models\\operations\\heat_exchanger_0d_doc.py", - "_build\\jupyter_execute\\docs\\unit_models\\operations\\mixer_doc.ipynb", - "_build\\jupyter_execute\\docs\\unit_models\\operations\\mixer_doc.py", - "_build\\jupyter_execute\\docs\\unit_models\\operations\\pump_doc.ipynb", - "_build\\jupyter_execute\\docs\\unit_models\\operations\\pump_doc.py", - "_build\\jupyter_execute\\docs\\unit_models\\operations\\skeleton_unit_doc.ipynb", - "_build\\jupyter_execute\\docs\\unit_models\\operations\\skeleton_unit_doc.py", - "_build\\jupyter_execute\\docs\\unit_models\\operations\\turbine_doc.ipynb", - "_build\\jupyter_execute\\docs\\unit_models\\operations\\turbine_doc.py", - "_build\\jupyter_execute\\docs\\unit_models\\reactors\\cstr_doc.ipynb", - "_build\\jupyter_execute\\docs\\unit_models\\reactors\\cstr_doc.py", - "_build\\jupyter_execute\\docs\\unit_models\\reactors\\equilibrium_reactor_doc.ipynb", - "_build\\jupyter_execute\\docs\\unit_models\\reactors\\equilibrium_reactor_doc.py", - "_build\\jupyter_execute\\docs\\unit_models\\reactors\\gibbs_reactor_doc.ipynb", - "_build\\jupyter_execute\\docs\\unit_models\\reactors\\gibbs_reactor_doc.py", - "_build\\jupyter_execute\\docs\\unit_models\\reactors\\plug_flow_reactor_doc.ipynb", - "_build\\jupyter_execute\\docs\\unit_models\\reactors\\plug_flow_reactor_doc.py", - "_build\\jupyter_execute\\docs\\unit_models\\reactors\\stoichiometric_reactor_doc.ipynb", - "_build\\jupyter_execute\\docs\\unit_models\\reactors\\stoichiometric_reactor_doc.py", - "_dev\\notebooks", - "_dev\\notebooks\\cache.ipynb", - "_dev\\notebooks\\ex", - "_dev\\notebooks\\index.md", - "_dev\\notebooks\\logo.png", - "_dev\\notebooks\\references.bib", - "_dev\\notebooks\\_toc.yml", - "_dev\\notebooks\\ex\\index.md", - "_dev\\notebooks\\ex\\notebook_tags_example.ipynb", - "__pycache__\\conftest.cpython-310-pytest-7.2.2.pyc", - "__pycache__\\conftest.cpython-311-pytest-7.4.3.pyc", - "_build", - "Thumbs.db", - ".DS_Store", - "**.ipynb_checkpoints", -] -execution_allow_errors = False -execution_excludepatterns = [] -execution_in_temp = False -execution_timeout = 600 -extensions = [ - "sphinx_togglebutton", - "sphinx_copybutton", - "myst_nb", - "jupyter_book", - "sphinx_thebe", - "sphinx_comments", - "sphinx_external_toc", - "sphinx.ext.intersphinx", - "sphinx_design", - "sphinx_book_theme", - "sphinxcontrib.bibtex", - "sphinx_jupyterbook_latex", -] +author = 'The IDAES Team' +bibtex_bibfiles = ['references.bib'] +bibtex_reference_style = 'author_year' +comments_config = {'hypothesis': False, 'utterances': False} +copyright = '2025' +exclude_patterns = ['**/.jupyter_cache'] +extensions = ['sphinx_togglebutton', 'sphinx_copybutton', 'myst_nb', 'jupyter_book', 'sphinx_thebe', 'sphinx_comments', 'sphinx_external_toc', 'sphinx.ext.intersphinx', 'sphinx_design', 'sphinx_book_theme', 'sphinxcontrib.bibtex', 'sphinx_jupyterbook_latex'] external_toc_exclude_missing = True -html_baseurl = "" -html_favicon = "" -html_logo = "logo.png" -html_sourcelink_suffix = "" -html_theme = "sphinx_book_theme" -html_theme_options = { - "search_bar_text": "Search this book...", - "launch_buttons": { - "notebook_interface": "jupyterlab", - "binderhub_url": "https://mybinder.org", - "jupyterhub_url": "", - "thebe": False, - "colab_url": "", - }, - "path_to_docs": "idaes_examples/notebooks", - "repository_url": "https://github.com/lbianchi-lbl/examples", - "repository_branch": "binder", - "google_analytics_id": "", - "extra_navbar": 'Powered by Jupyter Book', - "extra_footer": "", - "home_page_in_toc": True, - "announcement": "", - "use_repository_button": False, - "use_edit_page_button": False, - "use_issues_button": False, - "single_page": True, -} -html_title = "IDAES Examples" -jupyter_cache = "" -jupyter_execute_notebooks = "cache" -latex_engine = "pdflatex" -master_doc = "_config" -myst_enable_extensions = [ - "colon_fence", - "dollarmath", - "linkify", - "substitution", - "tasklist", -] -myst_url_schemes = ["mailto", "http", "https"] -nb_output_stderr = "show" +external_toc_path = '_toc.yml' +html_baseurl = '' +html_favicon = '' +html_logo = 'logo.png' +html_sourcelink_suffix = '' +html_theme = 'sphinx_book_theme' +html_theme_options = {'search_bar_text': 'Search this book...', 'launch_buttons': {'notebook_interface': 'jupyterlab', 'binderhub_url': 'https://mybinder.org', 'jupyterhub_url': '', 'thebe': False, 'colab_url': ''}, 'path_to_docs': '', 'repository_url': 'https://github.com/executablebooks/jupyter-book', 'repository_branch': 'master', 'extra_footer': '', 'home_page_in_toc': True, 'announcement': '', 'analytics': {'google_analytics_id': ''}, 'use_repository_button': False, 'use_edit_page_button': False, 'use_issues_button': False} +html_title = 'My Jupyter Book' +intersphinx_mapping = {'idaes': ['https://idaes-pse.readthedocs.io/en/stable/', None], 'idaes-examples': ['https://idaes-examples.readthedocs.io/en/stable/', None], 'prommis': ['https://prommis.readthedocs.io/en/stable/', None], 'pyomo': ['https://pyomo.readthedocs.io/en/stable/', None], 'watertap': ['https://watertap.readthedocs.io/en/stable/', None]} +latex_engine = 'pdflatex' +myst_enable_extensions = ['colon_fence', 'dollarmath', 'linkify', 'substitution', 'tasklist'] +myst_url_schemes = ['mailto', 'http', 'https'] +nb_execution_allow_errors = False +nb_execution_cache_path = '' +nb_execution_excludepatterns = [] +nb_execution_in_temp = False +nb_execution_mode = 'off' +nb_execution_timeout = 600 +nb_output_stderr = 'show' numfig = True -pygments_style = "sphinx" -suppress_warnings = ["myst.domains"] +pygments_style = 'sphinx' +suppress_warnings = ['myst.domains'] use_jupyterbook_latex = True use_multitoc_numbering = True diff --git a/idaes_examples/notebooks/docs/dae/petsc_chem.ipynb b/idaes_examples/notebooks/docs/dae/petsc_chem.ipynb index 44969c96..6a0a7726 100644 --- a/idaes_examples/notebooks/docs/dae/petsc_chem.ipynb +++ b/idaes_examples/notebooks/docs/dae/petsc_chem.ipynb @@ -3,6 +3,7 @@ { "cell_type": "code", "execution_count": null, + "id": "336965df", "metadata": { "tags": [ "header", @@ -16,17 +17,19 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, { "cell_type": "markdown", + "id": "76dfe563", "metadata": {}, "source": [ "# PETSc Time-stepping Solver -- Chemical Akzo Nobel Example\n", @@ -41,6 +44,7 @@ }, { "cell_type": "markdown", + "id": "ec6d2ade", "metadata": {}, "source": [ "## Prerequisites\n", @@ -50,6 +54,7 @@ }, { "cell_type": "markdown", + "id": "207f0534", "metadata": {}, "source": [ "## Imports\n", @@ -60,6 +65,7 @@ { "cell_type": "code", "execution_count": 1, + "id": "39677f86", "metadata": {}, "outputs": [], "source": [ @@ -73,6 +79,7 @@ }, { "cell_type": "markdown", + "id": "4664b92b", "metadata": {}, "source": [ "## Set Up the Model\n", @@ -83,6 +90,7 @@ { "cell_type": "code", "execution_count": 2, + "id": "d7598c6d", "metadata": {}, "outputs": [], "source": [ @@ -93,6 +101,7 @@ { "cell_type": "code", "execution_count": 3, + "id": "9a931c31", "metadata": {}, "outputs": [], "source": [ @@ -102,6 +111,7 @@ }, { "cell_type": "markdown", + "id": "2546c10e", "metadata": {}, "source": [ "The variables y1 to y6 represent concentrations of chemical species. The values returned by the function above are the correct solution at t = 180. These values can be used to verify the solver results. The Pyomo model is ``m``. We are mainly interested in the y variables. The variables y1 to y5 are differential variables and y6 is an algebraic variable. Initial conditions are required for y1 through y5, and the initial values of the other variables can be calculated from there. The variables y1 through y5 at t = 0 are: ``m.y[0, 1]`` to ``m.y[0, 5]`` and y6 is ``m.y6[0]``. The variables at the final state are ``m.y[180, 1]`` to ``m.y[180, 5]`` and ``m.y6[180]``. The variable y6 is indexed differently because we want to treat it differently than the differential variables." @@ -110,6 +120,7 @@ { "cell_type": "code", "execution_count": 4, + "id": "e32e2520", "metadata": {}, "outputs": [], "source": [ @@ -124,6 +135,7 @@ }, { "cell_type": "markdown", + "id": "1ee73db9", "metadata": {}, "source": [ "## Solve\n", @@ -134,6 +146,7 @@ { "cell_type": "code", "execution_count": 5, + "id": "4d5699b7", "metadata": {}, "outputs": [], "source": [ @@ -144,6 +157,7 @@ { "cell_type": "code", "execution_count": 6, + "id": "a2c60926", "metadata": {}, "outputs": [], "source": [ @@ -173,6 +187,7 @@ { "cell_type": "code", "execution_count": 7, + "id": "9f8d4d3e", "metadata": {}, "outputs": [], "source": [ @@ -187,6 +202,7 @@ }, { "cell_type": "markdown", + "id": "8135293a", "metadata": {}, "source": [ "## Plot Results Stored in Model\n", @@ -197,6 +213,7 @@ { "cell_type": "code", "execution_count": 8, + "id": "14f832b4", "metadata": {}, "outputs": [], "source": [ @@ -213,6 +230,7 @@ }, { "cell_type": "markdown", + "id": "af0750a2", "metadata": {}, "source": [ "## Plot Trajectory" @@ -221,6 +239,7 @@ { "cell_type": "code", "execution_count": 9, + "id": "a8913f79", "metadata": {}, "outputs": [], "source": [ @@ -240,6 +259,7 @@ { "cell_type": "code", "execution_count": 10, + "id": "fff05a6b", "metadata": {}, "outputs": [], "source": [ @@ -254,6 +274,7 @@ { "cell_type": "code", "execution_count": 11, + "id": "e8e7b6c5", "metadata": {}, "outputs": [], "source": [ @@ -267,6 +288,7 @@ }, { "cell_type": "markdown", + "id": "0c6536ac", "metadata": {}, "source": [ "## Interpolate Trajectory\n", @@ -277,6 +299,7 @@ { "cell_type": "code", "execution_count": 12, + "id": "9db8e393", "metadata": {}, "outputs": [], "source": [ @@ -287,6 +310,7 @@ { "cell_type": "code", "execution_count": 13, + "id": "53673044", "metadata": {}, "outputs": [], "source": [ @@ -307,6 +331,7 @@ { "cell_type": "code", "execution_count": 14, + "id": "ac6b3b87", "metadata": {}, "outputs": [], "source": [ @@ -321,6 +346,7 @@ { "cell_type": "code", "execution_count": null, + "id": "36498eed", "metadata": {}, "outputs": [], "source": [] diff --git a/idaes_examples/notebooks/docs/dae/petsc_chem_doc.ipynb b/idaes_examples/notebooks/docs/dae/petsc_chem_doc.ipynb index f36b14c1..16173f12 100644 --- a/idaes_examples/notebooks/docs/dae/petsc_chem_doc.ipynb +++ b/idaes_examples/notebooks/docs/dae/petsc_chem_doc.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -59,7 +60,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -82,7 +83,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -92,7 +93,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -109,22 +110,9 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "at t = 0:\n", - " y1 = 0.444\n", - " y2 = 0.00123\n", - " y3 = 0.0\n", - " y4 = 0.007\n", - " y5 = 0.0\n" - ] - } - ], + "outputs": [], "source": [ "# See the initial conditions:\n", "print(\"at t = 0:\")\n", @@ -146,7 +134,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -156,829 +144,9 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: DAE: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dkgun\\AppData\\Local\\Temp\\tmp79_vpohc.pyomo.nl\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Number of constraints: 12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Number of variables: 12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 30 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 0 SNES Function norm 4.725472106218e+00 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 1 SNES Function norm 6.033402274321e-03 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 2 SNES Function norm 5.511108092160e-19 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: SNESConvergedReason = SNES_CONVERGED_FNORM_ABS, in 2 iterations\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: SNES_CONVERGED_FNORM_ABS\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: DAE: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dkgun\\AppData\\Local\\Temp\\tmp86gcsgoo.pyomo.nl\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Number of constraints: 12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Number of variables: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 42 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Explicit time variable: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Number of derivatives: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Number of differential vars: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Number of algebraic vars: 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Number of state vars: 12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 0 TS dt 0.01 time 0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 1 TS dt 0.01 time 0.01\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 2 TS dt 0.0253727 time 0.02\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 3 TS dt 0.0263136 time 0.0453727\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 4 TS dt 0.0266656 time 0.0716863\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 5 TS dt 0.0273379 time 0.0983519\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 6 TS dt 0.0278858 time 0.12569\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 7 TS dt 0.0285647 time 0.153576\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 8 TS dt 0.0299787 time 0.18214\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 9 TS dt 0.0330027 time 0.212119\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 10 TS dt 0.0389392 time 0.245122\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 11 TS dt 0.0502022 time 0.284061\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 12 TS dt 0.0725265 time 0.334263\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 13 TS dt 0.12324 time 0.40679\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 14 TS dt 0.275636 time 0.53003\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 15 TS dt 0.851223 time 0.805665\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 16 TS dt 0.943011 time 1.65689\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 17 TS dt 0.992936 time 2.5999\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 18 TS dt 1.05983 time 3.59284\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 19 TS dt 1.10803 time 4.65266\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 20 TS dt 1.11384 time 5.76069\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 21 TS dt 1.08077 time 6.87453\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 22 TS dt 1.03546 time 7.9553\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 23 TS dt 0.996324 time 8.99076\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 24 TS dt 0.969147 time 9.98708\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 25 TS dt 0.952825 time 10.9562\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 26 TS dt 0.945257 time 11.9091\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 27 TS dt 0.944477 time 12.8543\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 28 TS dt 0.94914 time 13.7988\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 29 TS dt 0.95827 time 14.7479\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 30 TS dt 0.971205 time 15.7062\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 31 TS dt 0.987477 time 16.6774\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 32 TS dt 1.00677 time 17.6649\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 33 TS dt 1.02887 time 18.6716\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 34 TS dt 1.05365 time 19.7005\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 35 TS dt 1.08108 time 20.7542\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 36 TS dt 1.11115 time 21.8352\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 37 TS dt 1.14395 time 22.9464\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 38 TS dt 1.17959 time 24.0903\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 39 TS dt 1.21826 time 25.2699\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 40 TS dt 1.2602 time 26.4882\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 41 TS dt 1.30569 time 27.7484\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 42 TS dt 1.35511 time 29.0541\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 43 TS dt 1.40889 time 30.4092\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 44 TS dt 1.46755 time 31.8181\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 45 TS dt 1.53172 time 33.2856\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 46 TS dt 1.60213 time 34.8174\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 47 TS dt 1.67965 time 36.4195\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 48 TS dt 1.76533 time 38.0991\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 49 TS dt 1.86041 time 39.8645\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 50 TS dt 1.96638 time 41.7249\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 51 TS dt 2.08502 time 43.6913\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 52 TS dt 2.21847 time 45.7763\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 53 TS dt 2.36933 time 47.9948\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 54 TS dt 2.5407 time 50.3641\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 55 TS dt 2.73631 time 52.9048\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 56 TS dt 2.96063 time 55.6411\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 57 TS dt 3.21887 time 58.6017\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 58 TS dt 3.51701 time 61.8206\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 59 TS dt 3.86158 time 65.3376\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 60 TS dt 4.25928 time 69.1992\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 61 TS dt 4.71617 time 73.4585\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 62 TS dt 5.23661 time 78.1747\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 63 TS dt 5.82229 time 83.4113\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 64 TS dt 6.47216 time 89.2335\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 65 TS dt 7.18398 time 95.7057\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 66 TS dt 7.9573 time 102.89\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 67 TS dt 8.79623 time 110.847\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 68 TS dt 9.71025 time 119.643\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 69 TS dt 10.7131 time 129.353\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 70 TS dt 11.8212 time 140.067\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 71 TS dt 13.0522 time 151.888\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 72 TS dt 7.53 time 164.94\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 73 TS dt 7.53 time 172.47\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: 74 TS dt 16.8503 time 180.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: TSConvergedReason = TS_CONVERGED_TIME\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:07 [INFO] idaes.solve.petsc-dae: TS_CONVERGED_TIME\n" - ] - } - ], + "outputs": [], "source": [ "# The command below will solve the problem. In this case, we want to read the saved\n", "# trajectory for each time element in the Pyomo.DAE problem (in this case there is\n", @@ -1005,7 +173,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -1029,24 +197,9 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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gO+9M773zvq+Ab73zvje29L7FkURJSUlCAoKsppQuyGdruVGJpOha9euDj2Hm5ub5D8EUuis7xvge++M772zvm+A770zvve28r6v1WJTgx2KiYiIqENhuCEiIqIOheHGjtRqNZYsWQK1Wi11Ka2qs75vgO+9M773zvq+Ab73zvje2+v77nQdiomIiKhjY8sNERERdSgMN0RERNShMNwQERFRh8JwQ0RERB0Kw42drFixAmFhYdBoNIiKisKRI0ekLsnuli5diuHDh8PV1RV+fn6YMmUKEhISrLYZPXo0BEGwejz66KMSVWwfr776ar331LdvX8vrlZWVWLhwIby9veHi4oKpU6ciKytLwortJywsrN57FwQBCxcuBNCxPu/ff/8dkyZNQlBQEARBwA8//GD1uiiKeOWVVxAYGAgnJydER0fjwoULVtvk5+dj1qxZcHNzg4eHB/7617+itLS0Fd+F7Zp633q9Hs8//zwGDRoEZ2dnBAUFYfbs2UhPT7c6RkM/J2+99VYrvxPbXesznzNnTr33dfvtt1tt0x4/c+Da772h/+8FQcC///1vyzZt+XNnuLGDjRs3YvHixViyZAlOnDiBiIgITJgwAdnZ2VKXZld79+7FwoULcejQIezcuRN6vR7jx49HWVmZ1XYLFixARkaG5fH2229LVLH9DBgwwOo97d+/3/LaM888g59++gnff/899u7di/T0dNx7770SVms/R48etXrfO3fuBABMmzbNsk1H+bzLysoQERGBFStWNPj622+/jQ8//BCrVq3C4cOH4ezsjAkTJqCystKyzaxZs3DmzBns3LkTW7duxe+//46HH364td5CizT1vsvLy3HixAm8/PLLOHHiBDZt2oSEhARMnjy53ravv/661c/BokWLWqP863KtzxwAbr/9dqv39e2331q93h4/c+Da773ue87IyMDq1ashCAKmTp1qtV2b/dxFum4jRowQFy5caHluNBrFoKAgcenSpRJW5XjZ2dkiAHHv3r2Wdbfeeqv41FNPSVeUAyxZskSMiIho8LXCwkJRqVSK33//vWXduXPnRADiwYMHW6nC1vPUU0+JPXr0EE0mkyiKHfPzFkVRBCBu3rzZ8txkMokBAQHiv//9b8u6wsJCUa1Wi99++60oiqJ49uxZEYB49OhRyza//PKLKAiCmJaW1mq1X4+r33dD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CsMNERERdSgMN0RERNShMNwQERFRh8JwQ0RERB0Kww0RERF1KAw3RERE1KEw3BAREVGHwnBDRA4RExMDQRDqTSraWnbv3o1+/frBaDRe13EEQcAPP/zQ7O23b9+OwYMHw2QyXdd5iajlGG6I6LqNHj0aTz/9tNW6UaNGISMjA+7u7pLU9Pe//x3//Oc/IZfLr+s4GRkZuOOOO5q9/e233w6lUomvv/76us5LRC3HcENEDqFSqRAQEABBEFr93Pv378elS5cwderU6z5WQEAA1Gq1TfvMmTMHH3744XWfm4hahuGGiK7LnDlzsHfvXnzwwQcQBAGCICAxMbHeZam1a9fCw8MDW7duRZ8+faDVanHfffehvLwcX375JcLCwuDp6Yknn3zS6lKSTqfDc889hy5dusDZ2RlRUVGIiYlpsqYNGzZg3Lhx0Gg0lnWvvvoqBg8ejNWrVyMkJAQuLi54/PHHYTQa8fbbbyMgIAB+fn544403rI5V97JUYmIiBEHApk2bMGbMGGi1WkRERODgwYNW+0yaNAnHjh3DpUuXWv6NJaIWU0hdABG1bx988AH+/PNPDBw4EK+//joAwNfXF4mJifW2LS8vx4cffogNGzagpKQE9957L+655x54eHjg559/xuXLlzF16lTceOONmD59OgDgiSeewNmzZ7FhwwYEBQVh8+bNuP3223Hq1Cn06tWrwZr27duHmTNn1lt/6dIl/PLLL9i+fTsuXbqE++67D5cvX0bv3r2xd+9eHDhwAPPmzUN0dDSioqIafc8vvfQS3nnnHfTq1QsvvfQSZsyYgYsXL0KhMP9KDQkJgb+/P/bt24cePXrY+i0louvEcENE18Xd3R0qlQparRYBAQFNbqvX67Fy5UrLH/z77rsPX331FbKysuDi4oL+/ftjzJgx2LNnD6ZPn47k5GSsWbMGycnJCAoKAgA899xz2L59O9asWYM333yzwfMkJSVZtq/LZDJh9erVcHV1tZwrISEBP//8M2QyGfr06YNly5Zhz549TYab5557DhMnTgQAvPbaaxgwYAAuXryIvn37WrYJCgpCUlJS0988InIIhhsiajVardaqJcPf3x9hYWFwcXGxWpednQ0AOHXqFIxGI3r37m11HJ1OB29v70bPU1FRYXVJqkZYWBhcXV2tziWXyyGTyazW1Zy/MeHh4ZblwMBAAEB2drZVuHFyckJ5eXmTxyEix2C4IaJWo1QqrZ4LgtDguprbqEtLSyGXy3H8+PF6dz3VDURX8/HxQUFBwXWfvznvo6bD9NX75Ofnw9fXt8njEJFjMNwQ0XVTqVTXPZ5MQyIjI2E0GpGdnY2bb77Zpv3Onj1r93qaq7KyEpcuXUJkZKRkNRB1ZrxbioiuW1hYGA4fPozExETk5ubabQC73r17Y9asWZg9ezY2bdqEK1eu4MiRI1i6dCm2bdvW6H4TJkzA/v377VJDSxw6dAhqtRojR46UrAaizozhhoiu23PPPQe5XI7+/fvD19cXycnJdjv2mjVrMHv2bDz77LPo06cPpkyZgqNHjyIkJKTRfWbNmoUzZ84gISHBbnXY4ttvv8WsWbOg1WolOT9RZyeIoihKXQQRkb397W9/Q3FxMT799NNWPW9ubi769OmDY8eOoVu3bq16biIyY8sNEXVIL730EkJDQ1t9jqfExER88sknDDZEEmLLDREREXUobLkhIiKiDoXhhoiIiDoUhhsiIiLqUBhuiIiIqENhuCEiIqIOheGGiIiIOhSGGyIiIupQGG6IiIioQ2G4ISIiog7l/wHhfQPF6/2FcQAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\dae\\petsc_chem_doc_15_0.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "a = plt.plot(m.t, [pyo.value(m.y[t, 1]) for t in m.t], label=\"y1\")\n", "a = plt.plot(m.t, [pyo.value(m.y[t, 2]) for t in m.t], label=\"y2\")\n", @@ -1068,24 +221,9 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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HIkQQgghGqrm93ZDJlZod8lNcXExADExMRpHIoQQQojGKi4uJiAg4Jx12t3cUg6Hg7S0NPz8/FAUxa3nLioqIiYmhpMnT7areava632D3Ht7vPf2et8g994e770l3beqqhQXFxMdHV1nQu36tLuWG51OR8eOHT16DX9/f83/EGihvd43yL23x3tvr/cNcu/t8d5byn2fr8WmhnQoFkIIIUSbIsmNEEIIIdoUSW7cyGw288wzz2A2m7UOpVm11/sGuff2eO/t9b5B7r093ntrve9216FYCCGEEG2btNwIIYQQok2R5EYIIYQQbYokN0IIIYRoUyS5EUIIIUSbIsmNmyxYsIC4uDi8vLxISEhg8+bNWofkdnPnzmXYsGH4+fkRHh7OxIkTOXToUJ06o0aNQlGUOsvdd9+tUcTu8eyzz55xT7169XLtr6io4L777iMkJARfX18mTZpEZmamhhG7T1xc3Bn3rigK9913H9C2vu9ffvmFa6+9lujoaBRF4csvv6yzX1VVnn76aaKiorBYLIwZM4YjR47UqZOXl8e0adPw9/cnMDCQO+64g5KSkma8i8Y7131XVVXx+OOP079/f3x8fIiOjmb69OmkpaXVOUd9f05eeumlZr6Txjvfdz5jxowz7mv8+PF16rTG7xzOf+/1/X+vKAp///vfXXVa8vcuyY0bfP7558yZM4dnnnmG7du3M3DgQMaNG0dWVpbWobnV2rVrue+++/jtt9/46aefqKqqYuzYsZSWltapN3v2bNLT013Lyy+/rFHE7tO3b98697R+/XrXvkceeYRvvvmG//73v6xdu5a0tDRuvPFGDaN1ny1bttS5759++gmAyZMnu+q0le+7tLSUgQMHsmDBgnr3v/zyy7zxxhu8++67bNq0CR8fH8aNG0dFRYWrzrRp09i3bx8//fQT3377Lb/88gt33nlnc93CBTnXfZeVlbF9+3aeeuoptm/fztKlSzl06BDXXXfdGXWff/75On8OHnjggeYIv0nO950DjB8/vs59ffrpp3X2t8bvHM5/77XvOT09nQ8++ABFUZg0aVKdei32e1dFkw0fPly97777XNt2u12Njo5W586dq2FUnpeVlaUC6tq1a11ll19+ufrQQw9pF5QHPPPMM+rAgQPr3VdQUKAajUb1v//9r6vswIEDKqBu3LixmSJsPg899JDatWtX1eFwqKraNr9vVVVVQF22bJlr2+FwqJGRkerf//53V1lBQYFqNpvVTz/9VFVVVd2/f78KqFu2bHHV+f7771VFUdTU1NRmi70pTr/v+mzevFkF1KSkJFdZp06d1Ndee82zwXlYffd+2223qddff/1Zj2kL37mqNux7v/7669Urr7yyTllL/t6l5aaJKisr2bZtG2PGjHGV6XQ6xowZw8aNGzWMzPMKCwsBCA4OrlP+8ccfExoaSr9+/XjyyScpKyvTIjy3OnLkCNHR0XTp0oVp06aRnJwMwLZt26iqqqrz/ffq1YvY2Ng29/1XVlayZMkSZs6cWWfS2bb4fZ/u+PHjZGRk1PmeAwICSEhIcH3PGzduJDAwkKFDh7rqjBkzBp1Ox6ZNm5o9Zk8pLCxEURQCAwPrlL/00kuEhIQQHx/P3//+d2w2mzYButmaNWsIDw+nZ8+e3HPPPeTm5rr2tZfvPDMzk+XLl3PHHXecsa+lfu/tbuJMd8vJycFutxMREVGnPCIigoMHD2oUlec5HA4efvhhRo4cSb9+/VzlU6dOpVOnTkRHR7N7924ef/xxDh06xNKlSzWMtmkSEhJYtGgRPXv2JD09neeee45LL72UvXv3kpGRgclkOuMv+oiICDIyMrQJ2EO+/PJLCgoKmDFjhqusLX7f9an5Luv7/7xmX0ZGBuHh4XX2GwwGgoOD28yfhYqKCh5//HFuueWWOpMoPvjggwwePJjg4GA2bNjAk08+SXp6Oq+++qqG0Tbd+PHjufHGG+ncuTOJiYn8+c9/5uqrr2bjxo3o9fp28Z0DfPjhh/j5+Z3xuL0lf++S3IgLct9997F37946fU+AOs+a+/fvT1RUFKNHjyYxMZGuXbs2d5hucfXVV7vWBwwYQEJCAp06deI///kPFotFw8ia1/vvv8/VV19NdHS0q6wtft+iflVVVdx8882oqso777xTZ9+cOXNc6wMGDMBkMnHXXXcxd+7cVjdsf22///3vXev9+/dnwIABdO3alTVr1jB69GgNI2teH3zwAdOmTcPLy6tOeUv+3uWxVBOFhoai1+vPeDsmMzOTyMhIjaLyrPvvv59vv/2W1atX07Fjx3PWTUhIAODo0aPNEVqzCAwMpEePHhw9epTIyEgqKyspKCioU6etff9JSUmsXLmSWbNmnbNeW/y+Add3ea7/zyMjI894icBms5GXl9fq/yzUJDZJSUn89NNPdVpt6pOQkIDNZuPEiRPNE2Az6dKlC6Ghoa4/3235O6+xbt06Dh06dN7/96Flfe+S3DSRyWRiyJAhrFq1ylXmcDhYtWoVI0aM0DAy91NVlfvvv59ly5bx888/07lz5/Mes3PnTgCioqI8HF3zKSkpITExkaioKIYMGYLRaKzz/R86dIjk5OQ29f0vXLiQ8PBwJkyYcM56bfH7BujcuTORkZF1vueioiI2bdrk+p5HjBhBQUEB27Ztc9X5+eefcTgcrqSvNapJbI4cOcLKlSsJCQk57zE7d+5Ep9Od8cimtUtJSSE3N9f157utfue1vf/++wwZMoSBAweet26L+t617tHcFnz22Weq2WxWFy1apO7fv1+988471cDAQDUjI0Pr0NzqnnvuUQMCAtQ1a9ao6enprqWsrExVVVU9evSo+vzzz6tbt25Vjx8/rn711Vdqly5d1Msuu0zjyJvm0UcfVdesWaMeP35c/fXXX9UxY8aooaGhalZWlqqqqnr33XersbGx6s8//6xu3bpVHTFihDpixAiNo3Yfu92uxsbGqo8//nid8rb2fRcXF6s7duxQd+zYoQLqq6++qu7YscP1VtBLL72kBgYGql999ZW6e/du9frrr1c7d+6slpeXu84xfvx4NT4+Xt20aZO6fv16tXv37uott9yi1S01yLnuu7KyUr3uuuvUjh07qjt37qzz/73ValVVVVU3bNigvvbaa+rOnTvVxMREdcmSJWpYWJg6ffp0je/s/M5178XFxepjjz2mbty4UT1+/Li6cuVKdfDgwWr37t3ViooK1zla43euquf/866qqlpYWKh6e3ur77zzzhnHt/TvXZIbN3nzzTfV2NhY1WQyqcOHD1d/++03rUNyO6DeZeHChaqqqmpycrJ62WWXqcHBwarZbFa7deum/vGPf1QLCwu1DbyJpkyZokZFRakmk0nt0KGDOmXKFPXo0aOu/eXl5eq9996rBgUFqd7e3uoNN9ygpqenaxixe/3www8qoB46dKhOeVv7vlevXl3vn+/bbrtNVVXn6+BPPfWUGhERoZrNZnX06NFn/Exyc3PVW265RfX19VX9/f3V22+/XS0uLtbgbhruXPd9/Pjxs/5/v3r1alVVVXXbtm1qQkKCGhAQoHp5eam9e/dWX3zxxToJQEt1rnsvKytTx44dq4aFhalGo1Ht1KmTOnv27DP+0doav3NVPf+fd1VV1X/+85+qxWJRCwoKzji+pX/viqqqqkebhoQQQgghmpH0uRFCCCFEmyLJjRBCCCHaFEluhBBCCNGmSHIjhBBCiDZFkhshhBBCtCmS3AghhBCiTZHkRgghhBBtiiQ3QgghhGhTJLkRQnjEmjVrUBTljElFm8uqVavo3bs3dru9SedRFIUvv/yywfVXrFjBoEGDcDgcTbquEOLCSXIjhGiyUaNG8fDDD9cpu/jii0lPTycgIECTmP70pz/xf//3f+j1+iadJz09nauvvrrB9cePH4/RaOTjjz9u0nWFEBdOkhshhEeYTCYiIyNRFKXZr71+/XoSExOZNGlSk88VGRmJ2Wxu1DEzZszgjTfeaPK1hRAXRpIbIUSTzJgxg7Vr1/L666+jKAqKonDixIkzHkstWrSIwMBAvv32W3r27Im3tzc33XQTZWVlfPjhh8TFxREUFMSDDz5Y51GS1Wrlscceo0OHDvj4+JCQkMCaNWvOGdNnn33GVVddhZeXl6vs2WefZdCgQXzwwQfExsbi6+vLvffei91u5+WXXyYyMpLw8HBeeOGFOueq/VjqxIkTKIrC0qVLueKKK/D29mbgwIFs3LixzjHXXnstW7duJTEx8cJ/sEKIC2bQOgAhROv2+uuvc/jwYfr168fzzz8PQFhYGCdOnDijbllZGW+88QafffYZxcXF3Hjjjdxwww0EBgby3XffcezYMSZNmsTIkSOZMmUKAPfffz/79+/ns88+Izo6mmXLljF+/Hj27NlD9+7d641p3bp1TJ069YzyxMREvv/+e1asWEFiYiI33XQTx44do0ePHqxdu5YNGzYwc+ZMxowZQ0JCwlnv+S9/+QuvvPIK3bt35y9/+Qu33HILR48exWBw/pUaGxtLREQE69ato2vXro39kQohmkiSGyFEkwQEBGAymfD29iYyMvKcdauqqnjnnXdcv/BvuukmPvroIzIzM/H19aVPnz5cccUVrF69milTppCcnMzChQtJTk4mOjoagMcee4wVK1awcOFCXnzxxXqvk5SU5Kpfm8Ph4IMPPsDPz891rUOHDvHdd9+h0+no2bMn8+bNY/Xq1edMbh577DEmTJgAwHPPPUffvn05evQovXr1ctWJjo4mKSnp3D88IYRHSHIjhGg23t7edVoyIiIiiIuLw9fXt05ZVlYWAHv27MFut9OjR48657FarYSEhJz1OuXl5XUeSdWIi4vDz8+vzrX0ej06na5OWc31z2bAgAGu9aioKACysrLqJDcWi4WysrJznkcI4RmS3Aghmo3RaKyzrShKvWU1r1GXlJSg1+vZtm3bGW891U6IThcaGkp+fn6Tr9+Q+6jpMH36MXl5eYSFhZ3zPEIIz5DkRgjRZCaTqcnjydQnPj4eu91OVlYWl156aaOO279/v9vjaaiKigoSExOJj4/XLAYh2jN5W0oI0WRxcXFs2rSJEydOkJOT47YB7Hr06MG0adOYPn06S5cu5fjx42zevJm5c+eyfPnysx43btw41q9f75YYLsRvv/2G2WxmxIgRmsUgRHsmyY0Qoskee+wx9Ho9ffr0ISwsjOTkZLede+HChUyfPp1HH32Unj17MnHiRLZs2UJsbOxZj5k2bRr79u3j0KFDboujMT799FOmTZuGt7e3JtcXor1TVFVVtQ5CCCHc7Y9//CNFRUX885//bNbr5uTk0LNnT7Zu3Urnzp2b9dpCCCdpuRFCtEl/+ctf6NSpU7PP8XTixAnefvttSWyE0JC03AghhBCiTZGWGyGEEEK0KZLcCCGEEKJNkeRGCCGEEG2KJDdCCCGEaFMkuRFCCCFEmyLJjRBCCCHaFEluhBBCCNGmSHIjhBBCiDZFkhshhBBCtCn/D5Lzaq7yXPkfAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\dae\\petsc_chem_doc_17_0.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# First plot all y's on one plot\n", "\n", @@ -1102,24 +240,9 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkgAAAGwCAYAAABSN5pGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABpE0lEQVR4nO3de1gWdf7/8ed9c0Y5eOSgKKR4NjEPhLlZiZG5FR1N3Uyz7GClWVmaafVrs6w2s9ys/Za2u5XWVtaaUUbaVhKeK495Jg+AJ0BBTvc9vz9uuPEWMFBgbuD1uK65Zu6Zz8y8h9v2fu3MZ2YshmEYiIiIiIiT1ewCRERERNyNApKIiIjIGRSQRERERM6ggCQiIiJyBgUkERERkTMoIImIiIicQQFJRERE5AyeZhdQX9ntdg4ePEhAQAAWi8XsckRERKQKDMPgxIkThIeHY7VWfp5IAekcHTx4kIiICLPLEBERkXPw+++/07Zt20qXKyCdo4CAAMDxBw4MDDS5GhEREamKnJwcIiIinL/jlVFAOkell9UCAwMVkEREROqZP+oeo07aIiIiImdQQBIRERE5gwKSiIiIyBnUB0lERKSBsdlsFBUVmV2GKby8vPDw8Djv7SggiYiINBCGYZCenk5WVpbZpZgqODiY0NDQ83pOoQKSiIhIA1Eajlq3bo2/v3+je5CxYRjk5eWRmZkJQFhY2DlvSwFJRESkAbDZbM5w1KJFC7PLMY2fnx8AmZmZtG7d+pwvt6mTtoiISANQ2ufI39/f5ErMV/o3OJ9+WApIIiIiDUhju6xWkZr4GyggiYiIiJzBLQLSvHnziIyMxNfXl9jYWFavXn3W9h999BFdunTB19eXnj17smzZMpflhmEwY8YMwsLC8PPzIz4+nh07djiXr1y5EovFUuGwZs2aWjlGERERqT9MD0iLFy9m8uTJzJw5k/Xr19OrVy8SEhKcPdDPtGrVKkaMGMG4cePYsGEDiYmJJCYmsmnTJmeb2bNnM3fuXObPn09qaipNmjQhISGB/Px8AAYMGMChQ4dchjvvvJOoqCj69u1bJ8ctIiIibswwWf/+/Y0JEyY4P9tsNiM8PNyYNWtWhe1vueUWY9iwYS7zYmNjjbvvvtswDMOw2+1GaGio8eKLLzqXZ2VlGT4+PsYHH3xQ4TYLCwuNVq1aGc8880yV687OzjYAIzs7u8rrVMnxNMPIPmgYdnvNbldERBq0U6dOGVu2bDFOnTpldik16uOPPzbi4+ONli1bGgEBAcbFF19sJCUlnXWds/0tqvr7beoZpMLCQtatW0d8fLxzntVqJT4+npSUlArXSUlJcWkPkJCQ4Gy/Z88e0tPTXdoEBQURGxtb6TY///xzjh49ytixYyuttaCggJycHJehVnw5Bf7WBV67CH6aD7bG+SRUERERgP/9738MGTKEZcuWsW7dOi6//HKuueYaNmzYUKv7NfU5SEeOHMFmsxESEuIyPyQkhG3btlW4Tnp6eoXt09PTnctL51XW5kxvv/02CQkJtG3bttJaZ82axdNPP332A6oJhgEWDzi2G5Ieg00fw01vQ3C72t+3iIg0GIZhcKrIZsq+/bw8qnwn2T//+U8eeughDh48iI+Pj3N+YmIiAQEB/Otf/3Jp/9xzz/HZZ5/x3//+l969e9do3adr9A+K3L9/P1999RUffvjhWdtNnTqVyZMnOz/n5OQQERFR8wWNXAQFJ+GXRfDN07B/NcwfCLd+AJGX1Pz+RESkQTpVZKPbjK9M2feWZxLw965axLj55pt58MEH+fzzz7n55psBx0Mev/jiC77++uty7e12OydOnKB58+Y1WvOZTL3E1rJlSzw8PMjIyHCZn5GRQWhoaIXrhIaGnrV96biq21ywYAEtWrTg2muvPWutPj4+BAYGugy1xqcp9LsT7vke2vSB/Gz4YARkbK69fYqIiJjAz8+PkSNHsmDBAue8f//737Rr147LLrusXPuXXnqJkydPcsstt9RqXaaeQfL29qZPnz4kJyeTmJgIOJJhcnIy999/f4XrxMXFkZyczKRJk5zzli9fTlxcHABRUVGEhoaSnJxMTEwM4Djbk5qayr333uuyLcMwWLBgAaNHj8bLy6vGj++8NYuEMcvgX9dD2ir4901w53IIqvxSoIiICDguc215JsG0fVfHXXfdRb9+/Thw4ABt2rRh4cKFjBkzptxluvfff5+nn36azz77jNatW9dkyeWdR8fyGrFo0SLDx8fHWLhwobFlyxZj/PjxRnBwsJGenm4YhmHcdtttxuOPP+5s/+OPPxqenp7GSy+9ZGzdutWYOXOm4eXlZfz666/ONs8//7wRHBxsfPbZZ8Yvv/xiXHfddUZUVFS53uzffPONARhbt26tdt21dhdbRfKOGcbr/Q1jZqBhvHGJYRQV1P4+RUSkXqnvd7FddNFFxnPPPWesXbvWsFqtRlpamsvyDz74wPDz8zOWLl36h9uqibvYTO+DNHz4cA4fPsyMGTNIT08nJiaGpKQkZyfrtLQ0rNayK4EDBgzg/fffZ/r06UybNo3o6GiWLFlCjx49nG2mTJlCbm4u48ePJysri4EDB5KUlISvr6/Lvt9++20GDBhAly5d6uZgz5VfMxj1H3jzUkj/FX74G1z2uNlViYiI1Jg777yTOXPmcODAAeLj4136+X7wwQfccccdLFq0iGHDhtVJPRbDMIw62VMDk5OTQ1BQENnZ2bXbH+l0mz6G/9wBVk8YvxJCe9bNfkVExO3l5+ezZ88eoqKiyp0QqA+ys7MJDw+nuLiYf/7znwwfPhxwXFa7/fbbefXVV7nhhhuc7f38/AgKCqpwW2f7W1T199v0J2lLNXS/AbpeA/ZiWHKvnpEkIiINRlBQEDfeeCNNmzZ19ksGeOuttyguLmbChAmEhYU5h4kTJ9ZqPaZfYpNqsFhg2N9g7w+OS22r/wFx95ldlYiISI04cOAAo0aNcnke0sqVK02pRWeQ6pumrWHwTMf09y9Bfi090VtERKSOHD9+nE8//ZSVK1cyYcIEs8sBFJDqp963QYuOkHcUUuaZXY2IiMh56d27N2PGjOGFF16gc+fOZpcD6BJb/eThCVc8CR/dDimvOx4q2bSV2VWJiIick71795pdQjk6g1RfdbsOwmKg8CR8/7LZ1YiIiDQoCkj1lcUC8U85pte+DScyztpcREREqk4BqT7rcDlExIKtENb8w+xqREREGgwFpPourqS3/5q3oTDP3FpEREQaCAWk+q7LnyG4PZw6Bj9/YHY1IiIiDYICUn1n9YCLSx4W+dPfwW43tx4REZEGQAGpIej9F/AJgqM7YcdXZlcjIiJSK3788Uc8PT2JiYmp9X0pIDUEPk2h7xjHtB4cKSIiDVBWVhajR49m8ODBdbI/BaSGot9dgAX2fg9Hd5ldjYiISJX885//pEWLFhQUFLjMT0xM5LbbbnN+vueeexg5ciRxcXF1UpcCUkMRHAEd4x3TG/5tbi0iImI+w4DCXHMGw6hymTfffDM2m43PP//cOS8zM5MvvviCO+64A4AFCxawe/duZs6cWeN/psroVSMNyUWjYedy2PgeXD4NPLzMrkhERMxSlAfPhZuz72kHwbtJlZr6+fkxcuRIFixYwM033wzAv//9b9q1a8dll13Gjh07ePzxx/n+++/x9Ky72KIzSA1Jp6ugSSs4mQE7vja7GhERkSq56667+Prrrzlw4AAACxcuZMyYMdjtdkaOHMnTTz9Np06d6rQmi2FU4zyYOOXk5BAUFER2djaBgYFml1Pm6ydh1VxHWBq52OxqRESkjuTn57Nnzx6ioqLw9fV1XOYqMukBwl7+jldiVUOfPn246aabuPLKK+nfvz979+4lICCAZs2a4eHh4Wxnt9sxDAMPDw++/vprrrjiinLbKve3OE1Vf791ia2huWi0IyDt+BpyDkKgSadXRUTEXBZLlS9zuYM777yTOXPmcODAAeLj44mIiMBut/Prr7+6tPv73//Ot99+y3/+8x+ioqJqrR5dYmtoWkZDuwFg2B19kUREROqBkSNHsn//fv7xj384O2dbrVZ69OjhMrRu3RpfX1969OhBkya1FwAVkBqi3n9xjH/5sFp3EoiIiJglKCiIG2+8kaZNm5KYmGh2OQpIDVLXa8DDB478Bum/mF2NiIhIlRw4cIBRo0bh4+NTaZunnnqKjRs31notCkgNkW8gdL7KMf3Lh+bWIiIi8geOHz/Op59+ysqVK5kwYYLZ5QAKSA1Xz1sc400fg91mbi0iIiJn0bt3b8aMGcMLL7xA586dzS4H0F1sDVf0EPANghOHYN+PEHWp2RWJiIhUaO/evWaXUI7OIDVUnj7Q7TrHtC6ziYiIVIsCUkNWeplty+dQlG9uLSIiUif0/Oea+RsoIDVk7S+BgHAoyIad35hdjYiI1CIvL8f7N/PyTHp6thsp/RuU/k3OhfogNWRWK3S/Hn6aB1s+g65/NrsiERGpJR4eHgQHB5OZmQmAv78/lmq+7qO+MwyDvLw8MjMzCQ4OdnlFSXUpIDV03a5zBKTtX0JxgaNvkoiINEihoaEAzpDUWAUHBzv/FudKAamha9sPAsIcd7PtWlH2fCQREWlwLBYLYWFhtG7dmqKiIrPLMYWXl9d5nTkqpYDU0Fmt0PVaWP2m4zKbApKISIPn4eFRIyGhMVMn7cag9Hb/7V9AcaG5tYiIiNQDCkiNQbuLoUlryM+GPf8zuxoRERG3p4DUGFg9HC+wBdiyxNRSRERE6gMFpMai9DLbti/AVmxuLSIiIm5OAamxaH8J+DWDU8fg91SzqxEREXFrCkiNhYcndCq5g23bF+bWIiIi4uZMD0jz5s0jMjISX19fYmNjWb169Vnbf/TRR3Tp0gVfX1969uzJsmXLXJYbhsGMGTMICwvDz8+P+Ph4duzYUW47X3zxBbGxsfj5+dGsWTMSExNr8rDcU5dhjvG2paB39YiIiFTK1IC0ePFiJk+ezMyZM1m/fj29evUiISGh0ieArlq1ihEjRjBu3Dg2bNhAYmIiiYmJbNq0ydlm9uzZzJ07l/nz55OamkqTJk1ISEggP7/sZa0ff/wxt912G2PHjuXnn3/mxx9/ZOTIkbV+vKbrcAV4+kLWPsjcYnY1IiIibstimPja39jYWPr168frr78OgN1uJyIiggceeIDHH3+8XPvhw4eTm5vL0qVLnfMuvvhiYmJimD9/PoZhEB4ezsMPP8wjjzwCQHZ2NiEhISxcuJBbb72V4uJiIiMjefrppxk3btw5156Tk0NQUBDZ2dkEBgae83bq3Pu3wm9fwuVPwKApZlcjIiJSp6r6+23aGaTCwkLWrVtHfHx8WTFWK/Hx8aSkpFS4TkpKikt7gISEBGf7PXv2kJ6e7tImKCiI2NhYZ5v169dz4MABrFYrvXv3JiwsjKFDh7qchapIQUEBOTk5LkO9dPplNhEREamQaQHpyJEj2Gw2QkJCXOaHhISQnp5e4Trp6elnbV86Plub3bt3A/DUU08xffp0li5dSrNmzbjssss4duxYpfXOmjWLoKAg5xAREVGNo3UjnYeCxQqHfoas382uRkRExC2Z3km7rtntdgCeeOIJbrzxRvr06cOCBQuwWCx89NFHla43depUsrOzncPvv9fTcNGkJUTEOqa3f2luLSIiIm7KtIDUsmVLPDw8yMjIcJmfkZFBaGhoheuEhoaetX3p+GxtwsLCAOjWrZtzuY+PDxdccAFpaWmV1uvj40NgYKDLUG91HuoY/6aAJCIiUhHTApK3tzd9+vQhOTnZOc9ut5OcnExcXFyF68TFxbm0B1i+fLmzfVRUFKGhoS5tcnJySE1Ndbbp06cPPj4+bN++3dmmqKiIvXv30r59+xo7PrfWqSQg7f0BCk6YW4uIiIgb8jRz55MnT+b222+nb9++9O/fnzlz5pCbm8vYsWMBGD16NG3atGHWrFkATJw4kUGDBvHyyy8zbNgwFi1axNq1a3nrrbcAsFgsTJo0iWeffZbo6GiioqJ48sknCQ8Pdz7nKDAwkHvuuYeZM2cSERFB+/btefHFFwG4+eab6/6PYIaW0dAsCo7vgV0roNu1ZlckIiLiVkwNSMOHD+fw4cPMmDGD9PR0YmJiSEpKcnayTktLw2otO8k1YMAA3n//faZPn860adOIjo5myZIl9OjRw9lmypQp5ObmMn78eLKyshg4cCBJSUn4+vo627z44ot4enpy2223cerUKWJjY/n2229p1qxZ3R28mSwWx2W2n/4OvyUpIImIiJzB1Ocg1Wf19jlIpXZ/B/+8FvxbwiO/gdXD7IpERERqnds/B0lM1i4OfAIh7wgcWG92NSIiIm5FAamx8vSGjoMd07qbTURExIUCUmNWejfb9iRz6xAREXEzCkiNWcd4wAKZmyF7v9nViIiIuA0FpMasSQto288xvWO5ubWIiIi4EQWkxq7TlY7xjq/NrUNERMSNKCA1dtElAWn3SiguMLUUERERd6GA1NiFXghNQ6Eoz/HqEREREVFAavQsFoge4phWPyQRERFAAUkAOiU4xju+MrcOERERN6GAJHDBZWD1gmO74chOs6sRERExnQKSgE8AtI9zTO/UZTYREREFJHEovZtN/ZBEREQUkKREx5KO2nt/gMI8c2sRERExmQKSOLTqDEERYCvQ7f4iItLoKSCJg8VS8m421A9JREQaPQUkKeN8HtLXYBjm1iIiImIiBSQpE3Wp43b/43vh6C6zqxERETGNApKU8QmA9gMc07rMJiIijZgCkrgqvcy28xtz6xARETGRApK4Ku2ovfcHKDplbi0iIiImUUASV626QGBbKM6HvT+aXY2IiIgpFJDElcUCHQc7pnWZTUREGikFJCnP+TwkBSQREWmcFJCkvAsGgdUTju5w3PIvIiLSyCggSXm+QRAR65jWWSQREWmEFJCkYs5+SMnm1iEiImICBSSpWGk/pN3fQXGhubWIiIjUMQUkqVhIT2jSGopy4fefzK5GRESkTikgScWsVt3uLyIijZYCklTOebu/+iGJiEjjooAkletwBWCBjE2Qc8jsakREROqMApJUzr85tOnjmN6ls0giItJ4KCDJ2emp2iIi0ggpIMnZlQakXd+CrdjcWkREROqIApKcXZuLwDcY8rPhwFqzqxEREakTCkhydlaPks7a6G42ERFpNBSQ5I+p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mHLHdNVVV7m0aYjfOVDhf/MWi4UXX3zR2cadv3MFJDeyePFiJk+ezMyZM1m/fj29evUiISGBzMxMs0urMd999x0TJkzgp59+Yvny5RQVFXHllVeSm5vr0u6uu+7i0KFDzmH27NkmVVyzunfv7nJcP/zwg3PZQw89xH//+18++ugjvvvuOw4ePMgNN9xgYrU1Z82aNS7HvXz5cgBuvvlmZ5uG8J3n5ubSq1cv5s2bV+Hy2bNnM3fuXObPn09qaipNmjQhISGB/Px8Z5tRo0axefNmli9fztKlS/nf//7H+PHj6+oQztnZjj0vL4/169fz5JNPsn79ej755BO2b9/OtddeW67tM8884/Lv4IEHHqiL8s/ZH33nAFdddZXLMX3wwQcuyxvidw64HPOhQ4d45513sFgs3HjjjS7t3PY7N8Rt9O/f35gwYYLzs81mM8LDw41Zs2aZWFXtyszMNADju+++c84bNGiQMXHiRPOKqiUzZ840evXqVeGyrKwsw8vLy/joo4+c87Zu3WoARkpKSh1VWHcmTpxodOjQwbDb7YZhNMzvHDA+/fRT52e73W6EhoYaL774onNeVlaW4ePjY3zwwQeGYRjGli1bDMBYs2aNs82XX35pWCwW48CBA3VW+/k689grsnr1agMw9u3b55zXvn1745VXXqnd4mpRRcd9++23G9ddd12l6zSm7/y6664zrrjiCpd57vyd6wySmygsLGTdunXEx8c751mtVuLj40lJSTGxstqVnZ0NQPPmzV3mv/fee7Rs2ZIePXowdepU8vLyzCivxu3YsYPw8HAuuOACRo0aRVpaGgDr1q2jqKjI5fvv0qUL7dq1a3Dff2FhIf/+97+54447XF703FC/81J79uwhPT3d5TsOCgoiNjbW+R2npKQQHBxM3759nW3i4+OxWq2kpqbWec21KTs7G4vFQnBwsMv8559/nhYtWtC7d29efPFFiouLzSmwBq1cuZLWrVvTuXNn7r33Xo4ePepc1li+84yMDL744gvGjRtXbpm7fud6Wa2bOHLkCDabjZCQEJf5ISEhbNu2zaSqapfdbmfSpElccskl9OjRwzl/5MiRtG/fnvDwcH755Rcee+wxtm/fzieffGJitecvNjaWhQsX0rlzZw4dOsTTTz/Nn/70JzZt2kR6ejre3t7lfixCQkJIT083p+BasmTJErKyshgzZoxzXkP9zk9X+j1W9N946bL09HRat27tstzT05PmzZs3qH8H+fn5PPbYY4wYMcLlxaUPPvggF110Ec2bN2fVqlVMnTqVQ4cO8be//c3Eas/PVVddxQ033EBUVBS7du1i2rRpDB06lJSUFDw8PBrNd/7uu+8SEBBQrtuAO3/nCkhimgkTJrBp0yaXfjiAy7X3nj17EhYWxuDBg9m1axcdOnSo6zJrzNChQ53TF154IbGxsbRv354PP/wQPz8/EyurW2+//TZDhw4lPDzcOa+hfudSXlFREbfccguGYfDGG2+4LJs8ebJz+sILL8Tb25u7776bWbNm1atXVJzu1ltvdU737NmTCy+8kA4dOrBy5UoGDx5sYmV165133mHUqFH4+vq6zHfn71yX2NxEy5Yt8fDwKHfXUkZGBqGhoSZVVXvuv/9+li5dyooVK2jbtu1Z28bGxgKwc+fOuiitzgQHB9OpUyd27txJaGgohYWFZGVlubRpaN//vn37+Oabb7jzzjvP2q4hfuel3+PZ/hsPDQ0td1NGcXExx44daxD/DkrD0b59+1i+fLnL2aOKxMbGUlxczN69e+umwDpwwQUX0LJlS+e/7Yb+nQN8//33bN++/Q//uwf3+s4VkNyEt7c3ffr0ITk52TnPbreTnJxMXFyciZXVLMMwuP/++/n000/59ttviYqK+sN1Nm7cCEBYWFgtV1e3Tp48ya5duwgLC6NPnz54eXm5fP/bt28nLS2tQX3/CxYsoHXr1gwbNuys7Rridx4VFUVoaKjLd5yTk0NqaqrzO46LiyMrK4t169Y523z77bfY7XZnaKyvSsPRjh07+Oabb2jRosUfrrNx40asVmu5S1D12f79+zl69Kjz33ZD/s5Lvf322/Tp04devXr9YVu3+s7N7iUuZRYtWmT4+PgYCxcuNLZs2WKMHz/eCA4ONtLT080urcbce++9RlBQkLFy5Urj0KFDziEvL88wDMPYuXOn8cwzzxhr16419uzZY3z22WfGBRdcYFx66aUmV37+Hn74YWPlypXGnj17jB9//NGIj483WrZsaWRmZhqGYRj33HOP0a5dO+Pbb7811q5da8TFxRlxcXEmV11zbDab0a5dO+Oxxx5zmd+QvvMTJ04YGzZsMDZs2GAAxt/+9jdjw4YNzju1nn/+eSM4ONj47LPPjF9++cW47rrrjKioKOPUqVPObVx11VVG7969jdTUVOOHH34woqOjjREjRph1SFV2tmMvLCw0rr32WqNt27bGxo0bXf7bLygoMAzDMFatWmW88sorxsaNG41du3YZ//73v41WrVoZo0ePNvnIzu5sx33ixAnjkUceMVJSUow9e/YY33zzjXHRRRcZ0dHRRn5+vnMbDfE7L5WdnW34+/sbb7zxRrn13f07V0ByM6+99prRrl07w9vb2+jfv7/x008/mV1SjQIqHBYsWGAYhmGkpaUZl156qdG8eXPDx8fH6Nixo/Hoo48a2dnZ5hZeA4YPH26EhYUZ3t7eRps2bYzhw4cbO3fudC4/deqUcd999xnNmjUz/P39jeuvv944dOiQiRXXrK+++soAjO3bt7vMb0jf+YoVKyr893377bcbhuG41f/JJ580QkJCDB8fH2Pw4MHl/h5Hjx41RowYYTRt2tQIDAw0xo4da5w4ccKEo6mesx37nj17Kv1vf8WKFYZhGMa6deuM2NhYIygoyPD19TW6du1qPPfccy5Bwh2d7bjz8vKMK6+80mjVqpXh5eVltG/f3rjrrrvK/Z/ehvidl3rzzTcNPz8/Iysrq9z67v6dWwzDMGr1FJWIiIhIPaM+SCIiIiJnUEASEREROYMCkoiIiMgZFJBEREREzqCAJCIiInIGBSQRERGRMyggiYiIiJxBAUlERETkDApIIuK2Vq5cicViKfcS37qSnJxM165dsdls57Udi8XCkiVLqtw+KSmJmJgY7Hb7ee1XRM6dApKIuIXLLruMSZMmucwbMGAAhw4dIigoyJSapkyZwvTp0/Hw8Div7Rw6dIihQ4dWuf1VV12Fl5cX77333nntV0TOnQKSiLgtb29vQkNDsVgsdb7vH374gV27dnHjjTee97ZCQ0Px8fGp1jpjxoxh7ty5571vETk3CkgiYroxY8bw3Xff8eqrr2KxWLBYLOzdu7fcJbaFCxcSHBzM0qVL6dy5M/7+/tx0003k5eXx7rvvEhkZSbNmzXjwwQddLosVFBTwyCOP0KZNG5o0aUJsbCwrV648a02LFi1iyJAh+Pr6Ouc99dRTxMTE8M4779CuXTuaNm3Kfffdh81mY/bs2YSGhtK6dWv++te/umzr9Etse/fuxWKx8Mknn3D55Zfj7+9Pr169SElJcVnnmmuuYe3atezatevc/7Aics48zS5AROTVV1/lt99+o0ePHjzzzDMAtGrVir1795Zrm5eXx9y5c1m0aBEnTpzghhtu4Prrryc4OJhly5axe/dubrzxRi655BKGDx8OwP3338+WLVtYtGgR4eHhfPrpp1x11VX8+uuvREdHV1jT999/z8iRI8vN37VrF19++SVJSUns2rWLm266id27d9OpUye+++47Vq1axR133EF8fDyxsbGVHvMTTzzBSy+9RHR0NE888QQjRoxg586deHo6/me5Xbt2hISE8P3339OhQ4fq/klF5DwpIImI6YKCgvD29sbf35/Q0NCzti0qKuKNN95whoabbrqJf/3rX2RkZNC0aVO6devG5ZdfzooVKxg+fDhpaWksWLCAtLQ0wsPDAXjkkUdISkpiwYIFPPfccxXuZ9++fc72p7Pb7bzzzjsEBAQ497V9+3aWLVuG1Wqlc+fOvPDCC6xYseKsAemRRx5h2LBhADz99NN0796dnTt30qVLF2eb8PBw9u3bd/Y/nojUCgUkEalX/P39Xc6ohISEEBkZSdOmTV3mZWZmAvDrr79is9no1KmTy3YKCgpo0aJFpfs5deqUy+W1UpGRkQQEBLjsy8PDA6vV6jKvdP+VufDCC53TYWFhAGRmZroEJD8/P/Ly8s66HRGpHQpIIlKveHl5uXy2WCwVziu9Rf7kyZN4eHiwbt26cnejnR6qztSyZUuOHz9+3vuvynGUdkI/c51jx47RqlWrs25HRGqHApKIuAVvb+/zft5QRXr37o3NZiMzM5M//elP1Vpvy5YtNV5PVeXn57Nr1y569+5tWg0ijZnuYhMRtxAZGUlqaip79+7lyJEjNfaQxE6dOjFq1ChGjx7NJ598wp49e1i9ejWzZs3iiy++qHS9hIQEfvjhhxqp4Vz89NNP+Pj4EBcXZ1oNIo2ZApKIuIVHHnkEDw8PunXrRqtWrUhLS6uxbS9YsIDRo0fz8MMP07lzZxITE1mzZg3t2rWrdJ1Ro0axefNmtm/fXmN1VMcHH3zAqFGj8Pf3N2X/Io2dxTAMw+wiRETc0aOPPkpOTg5vvvlmne73yJEjdO7cmbVr1xIVFVWn+xYRB51BEhGpxBNPPEH79u3r/J1oe/fu5e9//7vCkYiJdAZJRERE5Aw6gyQiIiJyBgUkERERkTMoIImIiIicQQFJRERE5AwKSCIiIiJnUEASEREROYMCkoiIiMgZFJBEREREzqCAJCIiInKG/w+460z7LxoMKQAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\dae\\petsc_chem_doc_18_0.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# 2 and 4 are pretty low concentration, so plot those so we can see better\n", "a = plt.plot(tj.time, tj.get_vec(m.y[180, 2]), label=\"y2\")\n", @@ -1131,24 +254,9 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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WoyVS1EQERG5BQawNoBXQhIREbkXBrA2ILDuSkjeD5KIiMg92HwvSAAwmUw4efIk8vLyYDKZLF7785//bJfC3AnvB0lERORebA5gv/76Kx5++GGcPXu2wS2KZDIZjEaj3YpzFwHSavgMYERERO7A5gD2//7f/8PQoUPxzTffICQkBDLzGgrUYp3YA0ZERORWbA5gJ06cwL/+9S/07NmzNepxS52kOWAMYERERO7A5kn4MTExOHnyZGvU4rbMN+S+zEn4REREbsHmHrAnn3wSzzzzDHQ6HQYOHAhPT0+L1wcNGmS34txFiEYNANDpKyCE4LAuERGRi7M5gN1///0AgMcee0zaJpPJpODASfi209YFsPJqIwzlNdB4e15nDyIiImrPbA5g2dnZrVGHW1N7KtDR2xNXyqpxyVDOAEZEROTibA5g3bp1a4063J5W41UbwPQV6KP1c3Y5RERE1IpatBDrqVOnsHz5chw7dgwA0K9fP8yePRs9evSwa3HuJESjxrFLBuj0Fc4uhYiIiFqZzVdBbt++Hf369cPevXsxaNAgDBo0CJmZmejfvz927NjRGjW6BfM8sEsMYERERC7P5h6wF154AU8//TTefPPNBtuff/55jB492m7FuZNQ6UrIcidXQkRERK3N5h6wY8eOYcqUKQ22P/bYYzh69KhdinJHWo0XAPaAERERuQObA1jnzp1x6NChBtsPHTqEoKAge9TklkI4BElEROQ2bB6CnDZtGqZPn47Tp09j+PDhAIBffvkFixcvxty5c+1eoLvQ1luMlYiIiFybzQFs4cKF8PX1xbJlyzB//nwAQGhoKF5++WU89dRTdi/QXWj9agNYSWUNiiuq4avmWmBERESuyuYAJpPJ8PTTT+Ppp59GcXExAMDX19fuhbkbH5UH/NQeMFTUQKevYAAjIiJyYTbPAavP19eX4cuOQjgRn4iIyC1Y1QP2pz/9Cenp6ejYsSOio6ObvVn0gQMH7Facu9Fq1DieW8x5YERERC7OqgB27733QqVSST83F8Co5UL9eSUkERGRO7AqgC1atEj6+eWXX26tWtye1q92CFJn4GKsRERErszmOWDdu3dHQUFBg+1FRUXo3r27XYpyV+a1wC4WsQeMiIjIldkcwM6cOQOj0dhge2VlJc6fP2+XotwV1wIjIiJyD1YvQ/H1119LP2/fvh0ajUb63Wg0Ij09HREREfatzs1cXQ2fQ5BERESuzOoAlpiYCKB2HbBJkyZZvObp6Ynw8HAsW7bMrsW5G3MPmKGiBqWVNfBR2bxMGxEREbUDVn/Dm0wmAEBERAT27duHwMDAVivKXfmqPdFB5YGSyhroDBXo0bmDs0siIiKiVmDzHLDs7GyGr1bEeWBERESur0VjXKWlpfjhhx+Qk5ODqqoqi9d4P8gbE6JR42ReCdcCIyIicmE2B7CDBw/i7rvvRllZGUpLSxEQEID8/Hx4e3sjKCiIAewGhUg9YJyIT0RE5KpsHoJ8+umncc899+DKlSvw8vLCr7/+irNnz2LIkCFYunRpa9ToVrR194O8yB4wIiIil2VzADt06BCeeeYZyOVyKBQKVFZWIiwsDEuWLMGLL77YGjW6lRDOASMiInJ5NgcwT09PyOW1uwUFBSEnJwcAoNFocO7cOftW54a0Gt4PkoiIyNXZPAcsOjoa+/btQ2RkJEaMGIHk5GTk5+fjk08+wYABA1qjRrfCOWBERESuz+YesDfeeAMhISEAgNdffx0dO3bEjBkzcPnyZXz44Yd2L9DdhNTdkPtKWTUqqhve8omIiIjaP5t6wIQQCAoKknq6goKCkJaW1iqFuSs/Lw94eSpQXm2ETl+B8EAfZ5dEREREdmZTD5gQAj179uRcr1Ykk8kQ4s95YERERK7MpgAml8sRGRmJgoKC1qqHUG8emIHzwIiIiFyRzXPA3nzzTTz77LM4fPhwa9RDALR188AuFrEHjIiIyBXZHMAmTpyIvXv3YvDgwfDy8kJAQIDFw1YrV65EeHg41Go1YmJisHfv3mbbb968GX369IFarcbAgQOxbds2i9eFEEhOTkZISAi8vLwQFxeHEydOWLQpLCxEUlIS/Pz84O/vjylTpqCkpKTBcZYuXYpevXpBpVKhS5cueP31120+v5bgWmBERESuzeZlKN5++23IZDK7vPmmTZswd+5crFq1CjExMVi+fDni4+Nx/PhxBAUFNWi/Z88eTJgwASkpKfjLX/6CDRs2IDExEQcOHJAuDFiyZAlWrFiBdevWISIiAgsXLkR8fDyOHj0Ktbo22CQlJeHSpUvYsWMHqqurMXnyZEyfPh0bNmyQ3mv27Nn47rvvsHTpUgwcOBCFhYUoLCy0y3lfD9cCIyIicnHCiYYNGyZmzpwp/W40GkVoaKhISUlptP1DDz0kEhISLLbFxMSIxx9/XAghhMlkElqtVrz11lvS60VFRUKlUomNGzcKIYQ4evSoACD27dsntfn222+FTCYTFy5ckNp4eHiIP/7444bOT6/XCwBCr9fbtN/3R3Wi2/NbRcKKH2/o/YmIiMh2Lf3+toXNQ5AKhQJ5eXkNthcUFEChUFh9nKqqKmRlZSEuLk7aJpfLERcXh4yMjEb3ycjIsGgPAPHx8VL77Oxs6HQ6izYajQYxMTFSm4yMDPj7+2Po0KFSm7i4OMjlcmRmZgIA/v3vf6N79+7YunUrIiIiEB4ejqlTp163B6yyshIGg8Hi0RJaDkESERG5NJsDmBCi0e2VlZVQKpVWHyc/Px9GoxHBwcEW24ODg6HT6RrdR6fTNdve/Hy9NtcOb3p4eCAgIEBqc/r0aZw9exabN2/Gxx9/jLVr1yIrKwsPPPBAs+eUkpICjUYjPcLCwppt35SQuhty55dUobKGi7ESERG5GqvngK1YsQJA7TpV//d//4cOHTpIrxmNRvz444/o06eP/St0ApPJhMrKSnz88cfo1asXAOCjjz7CkCFDcPz4cfTu3bvR/ebPn4+5c+dKvxsMhhaFsI7enlB5yFFZY0KeoRJhAd4tOxEiIiJqk6wOYG+//TaA2h6wVatWWQw3KpVKhIeHY9WqVVa/cWBgIBQKBXJzcy225+bmQqvVNrqPVqtttr35OTc3V7pdkvn3qKgoqc21Q6g1NTUoLCyU9g8JCYGHh4cUvgCgb9++AICcnJwmA5hKpYJKpWr2vK0hk8kQolHjTEEZLukrGMCIiIhcjNVDkNnZ2cjOzsaIESPw22+/Sb9nZ2fj+PHj2L59O2JiYqx+Y6VSiSFDhiA9PV3aZjKZkJ6ejtjY2Eb3iY2NtWgPADt27JDaR0REQKvVWrQxGAzIzMyU2sTGxqKoqAhZWVlSm507d8JkMkn133rrraipqcGpU6ekNv/9738BAN26dbP6HG/E1SshuRgrERGRq7F5GYpdu3bZ7c3nzp2LSZMmYejQoRg2bBiWL1+O0tJSTJ48GUDtmmNdunRBSkoKgNqlIUaMGIFly5YhISEBqamp2L9/v3QTcJlMhjlz5uC1115DZGSktAxFaGgoEhMTAdT2ZI0dOxbTpk3DqlWrUF1djVmzZmH8+PEIDQ0FUDsp/09/+hMee+wxLF++HCaTCTNnzsTo0aMtesVak3keGJeiICIicj02BzCj0Yi1a9ciPT0deXl5MJlMFq/v3LnT6mONGzcOly9fRnJyMnQ6HaKiopCWliZNos/JyYFcfrWTbvjw4diwYQMWLFiAF198EZGRkdiyZYu0BhgAPPfccygtLcX06dNRVFSE2267DWlpadIaYACwfv16zJo1C6NGjYJcLsf9998vzXEDaq/G/Pe//40nn3wSf/7zn+Hj44O77roLy5Yts/XP1WK8EpKIiMh1yURTlzU2YdasWVi7di0SEhIQEhLSYFFW81wxqh3+1Gg00Ov18PPzs2nfjzPOIPmrI4jvH4wPHhl6/R2IiIjILm7k+9taNveApaam4rPPPsPdd9/dGvVQHa0fe8CIiIhclc3rgCmVSvTs2bM1aqF6OAeMiIjIddkcwJ555hm88847TS7ISvZhngN2uaQS1UbTdVoTERFRe2LzEOTPP/+MXbt24dtvv0X//v3h6elp8foXX3xht+LcWScfJZQKOaqMJuQVV6KLv5ezSyIiIiI7sTmA+fv747777muNWqgeuVyGYI0K5wrLodOXM4ARERG5EJsD2Jo1a1qjDmpEiJ8XzhWW42JRBYY4Zv1XIiIicgCb54ABtbfu+f777/HBBx+guLgYAHDx4kWUlJTYtTh3x7XAiIiIXJPNPWBnz57F2LFjkZOTg8rKSowePRq+vr5YvHgxKisrbbofJDUvRLodEQMYERGRK7G5B2z27NkYOnQorly5Ai+vq/OS7rvvvgb3aaQbI/WAGXg/SCIiIldicw/YTz/9hD179kCpVFpsDw8Px4ULF+xWGLEHjIiIyFXZ3ANmMplgNBobbD9//jx8fX3tUhTV0tYtxso5YERERK7F5gA2ZswYLF++XPpdJpOhpKQEixYt4u2J7Cy0rgcsr7gSNVyMlYiIyGXYPAS5bNkyxMfHo1+/fqioqMDDDz+MEydOIDAwEBs3bmyNGt1Wpw4qeMhlqDEJ5JdUSXPCiIiIqH2zOYDddNNN+O2337Bp0yb89ttvKCkpwZQpU5CUlGQxKZ9unEIuQ7CfGheKynFJX84ARkRE5CJsDmAA4OHhgaSkJCQlJdm7HrqGVlMbwC4WVSC6q7OrISIiInuweQ5YSkoKVq9e3WD76tWrsXjxYrsURVd1DfAGAJwpKHVyJURERGQvNgewDz74AH369GmwvX///lyEtRV0D/QBAJy+zABGRETkKmwOYDqdDiEhIQ22d+7cGZcuXbJLUXRV984dAACn83mbJyIiIldhcwALCwvDL7/80mD7L7/8gtDQULsURVdF1PWAZeezB4yIiMhV2DwJf9q0aZgzZw6qq6tx5513AgDS09Px3HPP4ZlnnrF7ge7OHMCKyqpRWFqFAB/ldfYgIiKits7mAPbss8+ioKAATzzxBKqqqgAAarUazz//PObPn2/3At2dl1KBUI0aF/UVyM4vQYBPgLNLIiIiohtk8xCkTCbD4sWLcfnyZfz666/47bffUFhYiOTk5Naoj3B1HtgpTsQnIiJyCS1aBwwAOnTogJtvvtmetVATunf2wc8n83klJBERkYuwOYCVlpbizTffRHp6OvLy8mAyWd6j8PTp03YrjmpdnYjPKyGJiIhcgc0BbOrUqfjhhx/wyCOPICQkBDKZrDXqonqkpSjYA0ZEROQSbA5g3377Lb755hvceuutrVEPNcK8GOvZgjIYTQIKOUMvERFRe2bzJPyOHTsiIIBX4jlSqL8XlB5yVBlNuHCl3NnlEBER0Q2yOYD9/e9/R3JyMsrKylqjHmqEQi5DRKfaXrBTnAdGRETU7tk8BLls2TKcOnUKwcHBCA8Ph6enp8XrBw4csFtxdFVEoA+O5xYj+3IpRvZ2djVERER0I2wOYImJia1QBl1P9851N+VmDxgREVG7Z3MAW7RoUWvUQdfBKyGJiIhcR4sXYs3KysKxY8cAAP3790d0dLTdiqKGeFNuIiIi12FzAMvLy8P48eOxe/du+Pv7AwCKioowcuRIpKamonPnzvaukQD0qBuCvKSvQFlVDbyVLc7ORERE5GQ2XwX55JNPori4GEeOHEFhYSEKCwtx+PBhGAwGPPXUU61RIwHw91aio3ftBQ/sBSMiImrfbA5gaWlp+N///V/07dtX2tavXz+sXLkS3377rV2LI0ucB0ZEROQabA5gJpOpwdITAODp6dngvpBkX+YV8RnAiIiI2jebA9idd96J2bNn4+LFi9K2Cxcu4Omnn8aoUaPsWhxZiujMm3ITERG5ApsD2HvvvQeDwYDw8HD06NEDPXr0QEREBAwGA959993WqJHqdA+sG4LkHDAiIqJ2zeZL6cLCwnDgwAF8//33+OOPPwAAffv2RVxcnN2LI0vSYqyXSyGEgEzGm3ITERG1Ry1ay0Amk2H06NEYPXq0veuhZnTr5A25DCiprMHlkkoE+aqdXRIRERG1gNVDkDt37kS/fv1gMBgavKbX69G/f3/89NNPdi2OLKk8FLipozcATsQnIiJqz6wOYMuXL8e0adPg5+fX4DWNRoPHH38c//jHP+xaHDXEFfGJiIjaP6sD2G+//YaxY8c2+fqYMWOQlZVll6KoaVfngfFKSCIiovbK6gCWm5vb6PpfZh4eHrh8+bJdiqKmcTFWIiKi9s/qANalSxccPny4ydf/85//ICQkxC5FUdO6cwiSiIio3bM6gN19991YuHAhKioqGrxWXl6ORYsW4S9/+Ytdi6OGzEOQOYVlqDbyzgNERETtkdXLUCxYsABffPEFevXqhVmzZqF3794AgD/++AMrV66E0WjESy+91GqFUq1gXzW8PBUorzbiXGGZNCRJRERE7YfVASw4OBh79uzBjBkzMH/+fAghANSuCRYfH4+VK1ciODi41QqlWnK5DBGBPjh6yYDTl0sZwIiIiNohmxZi7datG7Zt24YrV67g5MmTEEIgMjISHTt2bK36qBHdO9cFsPwSAAy9RERE7Y3N94IEgI4dO+Lmm2/GsGHD7BK+Vq5cifDwcKjVasTExGDv3r3Ntt+8eTP69OkDtVqNgQMHYtu2bRavCyGQnJyMkJAQeHl5IS4uDidOnLBoU1hYiKSkJPj5+cHf3x9TpkxBSUnjSzucPHkSvr6+8Pf3v6HztBdOxCciImrfWhTA7GnTpk2YO3cuFi1ahAMHDmDw4MGIj49HXl5eo+337NmDCRMmYMqUKTh48CASExORmJhocYXmkiVLsGLFCqxatQqZmZnw8fFBfHy8xQUESUlJOHLkCHbs2IGtW7fixx9/xPTp0xu8X3V1NSZMmIDbb7/d/iffQuZhx1NcioKIiKhdkgnzZC4niYmJwc0334z33nsPAGAymRAWFoYnn3wSL7zwQoP248aNQ2lpKbZu3Sptu+WWWxAVFYVVq1ZBCIHQ0FA888wzmDdvHoDaWyUFBwdj7dq1GD9+PI4dO4Z+/fph3759GDp0KAAgLS0Nd999N86fP4/Q0FDp2M8//zwuXryIUaNGYc6cOSgqKmryXCorK1FZWSn9bjAYEBYWBr1e3+gdBFrqt3NFuHflLwjsoML+BbwJOhERkT0ZDAZoNBq7f3/X59QesKqqKmRlZSEu7mqIkMvliIuLQ0ZGRqP7ZGRkWLQHgPj4eKl9dnY2dDqdRRuNRoOYmBipTUZGBvz9/aXwBQBxcXGQy+XIzMyUtu3cuRObN2/GypUrrTqflJQUaDQa6REWFmbVfrYyL0WRX1IJQ0V1q7wHERERtR6nBrD8/HwYjcYGV08GBwdDp9M1uo9Op2u2vfn5em2CgoIsXvfw8EBAQIDUpqCgAI8++ijWrl1rdfqdP38+9Hq99Dh37pxV+9nKV+2Jzr4qAEA2hyGJiIjaHZuugnQn06ZNw8MPP4w///nPVu+jUqmgUqlasaqrIgJ9cLm4Etn5pRgc5u+Q9yQiIiL7cGoPWGBgIBQKBXJzcy225+bmQqvVNrqPVqtttr35+Xptrp3kX1NTg8LCQqnNzp07sXTpUnh4eMDDwwNTpkyBXq+Hh4cHVq9e3cIztp8evCk3ERFRu+XUAKZUKjFkyBCkp6dL20wmE9LT0xEbG9voPrGxsRbtAWDHjh1S+4iICGi1Wos2BoMBmZmZUpvY2FgUFRUhKytLarNz506YTCbExMQAqJ0ndujQIenx6quvwtfXF4cOHcJ9991nnz/ADegeWHclJJeiICIianecPgQ5d+5cTJo0CUOHDsWwYcOwfPlylJaWYvLkyQCAiRMnokuXLkhJSQEAzJ49GyNGjMCyZcuQkJCA1NRU7N+/Hx9++CGA2pX558yZg9deew2RkZGIiIjAwoULERoaisTERABA3759MXbsWEybNg2rVq1CdXU1Zs2ahfHjx0tXQPbt29eizv3790Mul2PAgAEO+ss0L8K8FhjngBEREbU7Tg9g48aNw+XLl5GcnAydToeoqCikpaVJk+hzcnIgl1/tqBs+fDg2bNiABQsW4MUXX0RkZCS2bNliEYyee+45lJaWYvr06SgqKsJtt92GtLQ0qNVqqc369esxa9YsjBo1CnK5HPfffz9WrFjhuBO/QeYrIU/nl6DGaIKHwulLuhEREZGVnL4OmCtrzXVETCaBwa98h+LKGmx76nb0C22ddUqIiIjcjcuvA0YtJ5fLMChMAwA4dK7IucUQERGRTRjA2rGouuUnDuZccW4hREREZBMGsHYsOqz2RujsASMiImpfGMDasaiu/gCAk5dLeEsiIiKidoQBrB0L7KBCWIAXhAD+c07v7HKIiIjISgxg7VyUNAzJeWBERETtBQNYO3d1In6RU+sgIiIi6zGAtXPRdfPADp0rApd0IyIiah8YwNq5fiF+8FTIUFBahXOF5c4uh4iIiKzAANbOqT0V6BdauyDrQc4DIyIiahcYwFxANOeBERERtSsMYC7APBGfC7ISERG1DwxgLsA8Ef/oRQMqa4zOLYaIiIiuiwHMBXQN8EaAjxJVRhOOXjQ4uxwiIiK6DgYwFyCTyTgMSURE1I4wgLkILshKRETUfjCAuQj2gBEREbUfDGAuYnBdAMspLENBSaVziyEiIqJmMYC5CI2XJ3p09gHAXjAiIqK2jgHMhUSFdQTAAEZERNTWMYC5EPN6YJyIT0RE1LYxgLkQ80T8384VwWQSzi2GiIiImsQA5kL6aH2h9pSjuLIGp/NLnF0OERERNYEBzIV4KOQY1MUfAHCAw5BERERtFgOYi4mqmwfGifhERERtFwOYi4nmivhERERtHgOYizH3gB3XGVBWVePcYoiIiKhRDGAuJkTjBa2fGiYB/H5e7+xyiIiIqBEMYC5IujE354ERERG1SQxgLsg8DHng7BXnFkJERESNYgBzQcN7dAIA/HwyH+VVRidXQ0RERNdiAHNBA7to0MXfC2VVRvzw38vOLoeIiIiuwQDmgmQyGe4eqAUAfHv4kpOrISIiomsxgLmosQNCAADpx/JQUc1hSCIioraEAcxFRYf5Q+unRkllDX4+ke/scoiIiKgeBjAXJZfLMHaAeRhS5+RqiIiIqD4GMBd298DaYcgdR3WoqjE5uRoiIiIyYwBzYUO6dURnXxUMFTXYc4rDkERERG0FA5gLU8hlGNu/bhjydw5DEhERtRUMYC7urrrlKLYf1aHayGFIIiKitoABzMUNCw9AJx8lisqqkXm60NnlEBERERjAXJ6HQo4xdcOQ27goKxERUZvAAOYG7qpbjmL7YR2MJuHkaoiIiIgBzA3E9ugEjZcnCkqrsDebw5BERETOxgDmBjwVcozpFwyA94YkIiJqCxjA3IR5Uda0wzqYOAxJRETkVAxgbmJ4z07wVXsgr7gSB3KuOLscIiIit8YA5iZUHgqM7ls7DLmNi7ISERE5VZsIYCtXrkR4eDjUajViYmKwd+/eZttv3rwZffr0gVqtxsCBA7Ft2zaL14UQSE5ORkhICLy8vBAXF4cTJ05YtCksLERSUhL8/Pzg7++PKVOmoKSkRHp99+7duPfeexESEgIfHx9ERUVh/fr19jtpJ7irbhjy28OXOAxJRETkRE4PYJs2bcLcuXOxaNEiHDhwAIMHD0Z8fDzy8vIabb9nzx5MmDABU6ZMwcGDB5GYmIjExEQcPnxYarNkyRKsWLECq1atQmZmJnx8fBAfH4+KigqpTVJSEo4cOYIdO3Zg69at+PHHHzF9+nSL9xk0aBA+//xz/Oc//8HkyZMxceJEbN26tfX+GK3s9shA+CgVuKSvwG/ni5xdDhERkduSCSGc2hUSExODm2++Ge+99x4AwGQyISwsDE8++SReeOGFBu3HjRuH0tJSiyB0yy23ICoqCqtWrYIQAqGhoXjmmWcwb948AIBer0dwcDDWrl2L8ePH49ixY+jXrx/27duHoUOHAgDS0tJw99134/z58wgNDW201oSEBAQHB2P16tVWnZvBYIBGo4Fer4efn59Nf5fW8tTGg/j6t4uYfGs4Ft3T39nlEBERtTmO+P52ag9YVVUVsrKyEBcXJ22Ty+WIi4tDRkZGo/tkZGRYtAeA+Ph4qX12djZ0Op1FG41Gg5iYGKlNRkYG/P39pfAFAHFxcZDL5cjMzGyyXr1ej4CAgCZfr6yshMFgsHi0NfdFdwEApO49h7ziiuu0JiIiotbg1ACWn58Po9GI4OBgi+3BwcHQ6RqfKK7T6Zptb36+XpugoCCL1z08PBAQENDk+3722WfYt28fJk+e3OT5pKSkQKPRSI+wsLAm2zrLHb07I7qrP8qrjXhv50lnl0NEROSWnD4HrD3YtWsXJk+ejH/+85/o37/pYbv58+dDr9dLj3PnzjmwSuvIZDI8G98bALBxbw7OFZY5uSIiIiL349QAFhgYCIVCgdzcXIvtubm50Gq1je6j1WqbbW9+vl6bayf519TUoLCwsMH7/vDDD7jnnnvw9ttvY+LEic2ej0qlgp+fn8WjLRreIxC3Rwai2ijw9o7/OrscIiIit+PUAKZUKjFkyBCkp6dL20wmE9LT0xEbG9voPrGxsRbtAWDHjh1S+4iICGi1Wos2BoMBmZmZUpvY2FgUFRUhKytLarNz506YTCbExMRI23bv3o2EhAQsXrzY4gpJV2DuBfvy0AUc1xU7uRoiIiL34vQhyLlz5+Kf//wn1q1bh2PHjmHGjBkoLS2V5lpNnDgR8+fPl9rPnj0baWlpWLZsGf744w+8/PLL2L9/P2bNmgWgdohtzpw5eO211/D111/j999/x8SJExEaGorExEQAQN++fTF27FhMmzYNe/fuxS+//IJZs2Zh/Pjx0hWQu3btQkJCAp566incf//90Ol00Ol0KCx0jZtZD7rJH3cN0EIIYOl3x51dDhERkXsRbcC7774runbtKpRKpRg2bJj49ddfpddGjBghJk2aZNH+s88+E7169RJKpVL0799ffPPNNxavm0wmsXDhQhEcHCxUKpUYNWqUOH78uEWbgoICMWHCBNGhQwfh5+cnJk+eLIqLi6XXJ02aJAA0eIwYMcLq89Lr9QKA0Ov11v8xHOhErkFEvLBVdHt+q8g6W+jscoiIiNoER3x/O30dMFfWFtcBu9azm3/D5qzzuKV7ADZOuwUymczZJRERETmVy68DRs43Z3QvKBVy/Hq6ED+dyHd2OURERG6BAczNdfH3QtItXQEAb20/DnaIEhERtT4GMMLMkT3hrVTg9wt6fHu48YVoiYiIyH4YwAiBHVSYelsEgNorImuMJidXRERE5NoYwAgAMPXP3eHv7YnTl0vx+YHzzi6HiIjIpTGAEQDAT+2JmXf0BAC88u+jOHSuyLkFERERuTAGMJJMGh6O2yMDUVZlxOQ1e3Eyr8TZJREREbkkBjCSKD3kWPW3IRgc5o8rZdWY+FEmLunLnV0WERGRy2EAIws+Kg+sefRmdO/sg4v6Ckz8aC+KyqqcXRYREZFL8XB2AdT2BPgo8fFjw/DA+xk4kVeCx9buw/qpt8BLqXB2aURERFYRQqCyxoTKahMqa4yorDGhotq6Z32RodXrYwCjRt3U0RsfTxmGB1dl4EBOEZ5Yn4UPJw6Fp4KdpkREZD2TSVgVeiprjKiobvy5spntFdc+S8dr+ZJKpsoyO/4FGsd7Qbai9nAvyOvJOluIpP/LREW1CX+N7oKlDw6GXM77RRIRtTc1RhMqakyorDZKz80GogYBqe7nxkLPNc9XQ5MJVW1gbUmZDFB7KKD2lEPloYDKUw71Nc/1t6O6DP/42/BW/f5mAGtFrhDAAGDnH7mY9nEWjCaBx26NwEsJfaFgCCMisooQAtVGgcoaI6rqAkllde1zVc3V4bHKmtrfqyx+Nl792Xh1u7nH6OrPDYNV/d8rakwwmpz/de8hl0HlIYfaUyE9K6/5vf5zY0GpYZu653oB69pnT4UMMpn131uO+P5mAGtFrhLAAODzrPN4ZvNvAIC+IX5I/ks/xPbo5OSqiIgaJ4RAjUlcE2auhp3GQlBjbatqTKhs0LY2GFm0r9emstoohSXz622NUiGXen1qQ0ozIcjcxlMBdf3Ac83vTe1/9ThyeLSTaSyO+P7mHDCyyv1DboIA8Oq/j+DYJQMm/PNX3DVAixfv7ouwAG9nl0dEbYTRVK+np37vzDXbrvboNGxbZfHcdK9R1bXtrwk/bbV7wVMhg8qjtufHHISUCjmUdSFF6SGH0kMh/WwOL7VtFY20vX4vkUWPk0LOqSRtAHvAWpEr9YCZXSmtwtvf/xef/noWJlG7dti02yPwxB094aNinidyBpNJSAGl0thYT4458Bjr9dLU9uxUNRWOzNuN1wapJobG6o7bFoa5GuMhlzUILSqPhmHG3ONzbTiqfVY0coz6+za23zXvwfDTLnAIsp1zxQBm9ofOgL9vPYpfThYAAIJ8VXh+bB/cF92F/+NCbsF8ibvlsFTjYcaiB8iqoa+GPTpNDo/VmFDTRkOPXIaroaR+cKkLJqome3+aCDP1ttvSVukh57xVsgkDWDvnygEMqP0C2nE0F699cww5hbWX7A7sosHdA0Nwa89O6B+q4f/okV1ZO5m5wdCUlZOZGwSpRoPP1WO0RTIZpABiHsa6tsdGCiuNhKP6AccyMDXfA9RYCGov832IrsUA1s65egAzq6wxYs0vZ/Bu+gmUVhml7b5qD9zSvRNu7dEJw3sGIjKog01XoZDz1Rhrg0Z1jZCGtqpqTKg2iqtDWvV/r9tW295Ur/3V0FL/+XqTmRu7QqytUnrIoWownNV070/9Xh9VEyGo4fygRsLRNe1tvdqLiBpiAGvn3CWAmeUVV2Drb5ew51QBMk8XoLiyxuL1wA4qDO/RCcN7dMKALhp06qBEgI8SKg+usG80iUYDSvW1PTBGE6rrt7vePja0b+y1NjqyJWmNyczXHk91nd4fc1uGHiLXwQDWzrlbAKuvxmjCkYsG/HIqHxmnCrDvTCEqqhvvvfBVe6CTjxKdOqgQ4KNEYAclOvnU/typ7md/b08o5DLIZIAMtV90tT/XPgMymL//arfJpNfqtweAamNtj03t89Wfq4wm1NTbXlU3t6ZaCioCNebX6trV1Pu5um7/Kum4tT1H1SaTxTHq9/xU17VvqxOX6zMPbZlDi/nhee02heWz57UhR9HINismM1/bA8TJzETUWhjA2jl3DmDXqqwx4mBOEfacKkDGqXycLShDYWlVm5087Gzm4SxPD8twIwUXKdzIpF6e2nayRttfnRNkuU15zfHrB6pr23vIObRFRO6B64CRy1B5KHBL9064pXsnYHQvALUTqg3lNcgvrURhaRUKSiqRX1Il/VxQWoWCkioUlFaiqKy6bjhMQAjAHNuEEBBA7ba6n1H3uvn/W0iv1+3lWdcD46mQSWHDUyGHR/3fPWp/9pDXhppr9zE/lAoZPOq9Zg4s5kvePesdu9HA00hvEefwEBG5PgYwchqZTAaNtyc03p7o0dnZ1RARETkOrxEmIiIicjAGMCIiIiIHYwAjIiIicjAGMCIiIiIHYwAjIiIicjAGMCIiIiIHYwAjIiIicjAGMCIiIiIHYwAjIiIicjAGMCIiIiIHYwAjIiIicjAGMCIiIiIHYwAjIiIicjAGMCIiIiIH83B2Aa5MCAEAMBgMTq6EiIiIrGX+3jZ/j7cGBrBWVFBQAAAICwtzciVERERkq4KCAmg0mlY5NgNYKwoICAAA5OTktNoH2BYZDAaEhYXh3Llz8PPzc3Y5DsPz5nm7A543z9sd6PV6dO3aVfoebw0MYK1ILq+dYqfRaNzqP1wzPz8/nrcb4Xm7F563e3HX8zZ/j7fKsVvtyERERETUKAYwIiIiIgdjAGtFKpUKixYtgkqlcnYpDsXz5nm7A543z9sd8Lxb77xlojWvsSQiIiKiBtgDRkRERORgDGBEREREDsYARkRERORgDGBEREREDsYAZoOVK1ciPDwcarUaMTEx2Lt3b7PtN2/ejD59+kCtVmPgwIHYtm2bxetCCCQnJyMkJAReXl6Ii4vDiRMnWvMUWsSW8/7nP/+J22+/HR07dkTHjh0RFxfXoP2jjz4KmUxm8Rg7dmxrn4bNbDnvtWvXNjgntVpt0cYVP+877rijwXnLZDIkJCRIbdrD5/3jjz/innvuQWhoKGQyGbZs2XLdfXbv3o0//elPUKlU6NmzJ9auXdugja3/m+Fotp73F198gdGjR6Nz587w8/NDbGwstm/fbtHm5ZdfbvB59+nTpxXPwna2nvfu3bsb/e9cp9NZtHO1z7uxf7symQz9+/eX2rT1zzslJQU333wzfH19ERQUhMTERBw/fvy6+zni+5sBzEqbNm3C3LlzsWjRIhw4cACDBw9GfHw88vLyGm2/Z88eTJgwAVOmTMHBgweRmJiIxMREHD58WGqzZMkSrFixAqtWrUJmZiZ8fHwQHx+PiooKR53Wddl63rt378aECROwa9cuZGRkICwsDGPGjMGFCxcs2o0dOxaXLl2SHhs3bnTE6VjN1vMGaleKrn9OZ8+etXjdFT/vL774wuKcDx8+DIVCgQcffNCiXVv/vEtLSzF48GCsXLnSqvbZ2dlISEjAyJEjcejQIcyZMwdTp061CCMt+W/I0Ww97x9//BGjR4/Gtm3bkJWVhZEjR+Kee+7BwYMHLdr179/f4vP++eefW6P8FrP1vM2OHz9ucV5BQUHSa674eb/zzjsW53vu3DkEBAQ0+Pfdlj/vH374ATNnzsSvv/6KHTt2oLq6GmPGjEFpaWmT+zjs+1uQVYYNGyZmzpwp/W40GkVoaKhISUlptP1DDz0kEhISLLbFxMSIxx9/XAghhMlkElqtVrz11lvS60VFRUKlUomNGze2whm0jK3nfa2amhrh6+sr1q1bJ22bNGmSuPfee+1dql3Zet5r1qwRGo2myeO5y+f99ttvC19fX1FSUiJtaw+fd30AxJdfftlsm+eee07079/fYtu4ceNEfHy89PuN/i0dzZrzbky/fv3EK6+8Iv2+aNEiMXjwYPsV1sqsOe9du3YJAOLKlStNtnGHz/vLL78UMplMnDlzRtrW3j7vvLw8AUD88MMPTbZx1Pc3e8CsUFVVhaysLMTFxUnb5HI54uLikJGR0eg+GRkZFu0BID4+XmqfnZ0NnU5n0Uaj0SAmJqbJYzpaS877WmVlZaiurm5wQ9Pdu3cjKCgIvXv3xowZM1BQUGDX2m9ES8+7pKQE3bp1Q1hYGO69914cOXJEes1dPu+PPvoI48ePh4+Pj8X2tvx5t8T1/n3b42/ZHphMJhQXFzf4933ixAmEhoaie/fuSEpKQk5OjpMqtK+oqCiEhIRg9OjR+OWXX6Tt7vJ5f/TRR4iLi0O3bt0strenz1uv1wNAszfZdtT3NwOYFfLz82E0GhEcHGyxPTg4uMEcADOdTtdse/OzLcd0tJac97Wef/55hIaGWvyHOnbsWHz88cdIT0/H4sWL8cMPP+Cuu+6C0Wi0a/0t1ZLz7t27N1avXo2vvvoKn376KUwmE4YPH47z588DcI/Pe+/evTh8+DCmTp1qsb2tf94t0dS/b4PBgPLycrv822kPli5dipKSEjz00EPStpiYGKxduxZpaWl4//33kZ2djdtvvx3FxcVOrPTGhISEYNWqVfj888/x+eefIywsDHfccQcOHDgAwD7/W9nWXbx4Ed9++22Df9/t6fM2mUyYM2cObr31VgwYMKDJdo76/vawuiWRjd58802kpqZi9+7dFhPSx48fL/08cOBADBo0CD169MDu3bsxatQoZ5R6w2JjYxEbGyv9Pnz4cPTt2xcffPAB/v73vzuxMsf56KOPMHDgQAwbNsxiuyt+3gRs2LABr7zyCr766iuLuVB33XWX9POgQYMQExODbt264bPPPsOUKVOcUeoN6927N3r37i39Pnz4cJw6dQpvv/02PvnkEydW5jjr1q2Dv78/EhMTLba3p8975syZOHz4cJuZo8YeMCsEBgZCoVAgNzfXYntubi60Wm2j+2i12mbbm59tOaajteS8zZYuXYo333wT3333HQYNGtRs2+7duyMwMBAnT5684Zrt4UbO28zT0xPR0dHSObn6511aWorU1FSr/ge3rX3eLdHUv28/Pz94eXnZ5b+htiw1NRVTp07FZ5991mCo5lr+/v7o1atXu/68GzNs2DDpnFz98xZCYPXq1XjkkUegVCqbbdtWP+9Zs2Zh69at2LVrF2666aZm2zrq+5sBzApKpRJDhgxBenq6tM1kMiE9Pd2i16O+2NhYi/YAsGPHDql9REQEtFqtRRuDwYDMzMwmj+loLTlvoPbqkL///e9IS0vD0KFDr/s+58+fR0FBAUJCQuxS941q6XnXZzQa8fvvv0vn5MqfN1B7yXZlZSX+9re/Xfd92trn3RLX+/dtj/+G2qqNGzdi8uTJ2Lhxo8VyI00pKSnBqVOn2vXn3ZhDhw5J5+TKnzdQeyXhyZMnrfo/WG3t8xZCYNasWfjyyy+xc+dOREREXHcfh31/23T5gBtLTU0VKpVKrF27Vhw9elRMnz5d+Pv7C51OJ4QQ4pFHHhEvvPCC1P6XX34RHh4eYunSpeLYsWNi0aJFwtPTU/z+++9SmzfffFP4+/uLr776SvznP/8R9957r4iIiBDl5eUOP7+m2Hreb775plAqleJf//qXuHTpkvQoLi4WQghRXFws5s2bJzIyMkR2drb4/vvvxZ/+9CcRGRkpKioqnHKOjbH1vF955RWxfft2cerUKZGVlSXGjx8v1Gq1OHLkiNTGFT9vs9tuu02MGzeuwfb28nkXFxeLgwcPioMHDwoA4h//+Ic4ePCgOHv2rBBCiBdeeEE88sgjUvvTp08Lb29v8eyzz4pjx46JlStXCoVCIdLS0qQ21/tbtgW2nvf69euFh4eHWLlypcW/76KiIqnNM888I3bv3i2ys7PFL7/8IuLi4kRgYKDIy8tz+Pk1xdbzfvvtt8WWLVvEiRMnxO+//y5mz54t5HK5+P7776U2rvh5m/3tb38TMTExjR6zrX/eM2bMEBqNRuzevdviv9mysjKpjbO+vxnAbPDuu++Krl27CqVSKYYNGyZ+/fVX6bURI0aISZMmWbT/7LPPRK9evYRSqRT9+/cX33zzjcXrJpNJLFy4UAQHBwuVSiVGjRoljh8/7ohTsYkt592tWzcBoMFj0aJFQgghysrKxJgxY0Tnzp2Fp6en6Natm5g2bVqb+h8pM1vOe86cOVLb4OBgcffdd4sDBw5YHM8VP28hhPjjjz8EAPHdd981OFZ7+bzNywxc+zCf66RJk8SIESMa7BMVFSWUSqXo3r27WLNmTYPjNve3bAtsPe8RI0Y0216I2uU4QkJChFKpFF26dBHjxo0TJ0+edOyJXYet57148WLRo0cPoVarRUBAgLjjjjvEzp07GxzX1T5vIWqXV/Dy8hIffvhho8ds6593Y+cLwOLfq7O+v2V1BRIRERGRg3AOGBEREZGDMYARERERORgDGBEREZGDMYARERERORgDGBEREZGDMYARERERORgDGBEREZGDMYARERERORgDGBG1a7t374ZMJkNRUZFT3j89PR19+/aF0Wi8oePIZDJs2bLF6vZpaWmIioqCyWS6ofclIudgACOiduOOO+7AnDlzLLYNHz4cly5dgkajcUpNzz33HBYsWACFQnFDx7l06RLuuusuq9uPHTsWnp6eWL9+/Q29LxE5BwMYEbVrSqUSWq0WMpnM4e/9888/49SpU7j//vtv+FharRYqlcqmfR599FGsWLHiht+biByPAYyI2oVHH30UP/zwA9555x3IZDLIZDKcOXOmwRDk2rVr4e/vj61bt6J3797w9vbGAw88gLKyMqxbtw7h4eHo2LEjnnrqKYthw8rKSsybNw9dunSBj48PYmJisHv37mZrSk1NxejRo6FWq6VtL7/8MqKiorB69Wp07doVHTp0wBNPPAGj0YglS5ZAq9UiKCgIr7/+usWx6g9BnjlzBjKZDF988QVGjhwJb29vDB48GBkZGRb73HPPPdi/fz9OnTrV8j8sETmFh7MLICKyxjvvvIP//ve/GDBgAF599VUAQOfOnXHmzJkGbcvKyrBixQqkpqaiuLgYf/3rX3HffffB398f27Ztw+nTp3H//ffj1ltvxbhx4wAAs2bNwtGjR5GamorQ0FB8+eWXGDt2LH7//XdERkY2WtNPP/2Ehx9+uMH2U6dO4dtvv0VaWhpOnTqFBx54AKdPn0avXr3www8/YM+ePXjssccQFxeHmJiYJs/5pZdewtKlSxEZGYmXXnoJEyZMwMmTJ+HhUfs/3V27dkVwcDB++ukn9OjRw9Y/KRE5EQMYEbULGo0GSqUS3t7e0Gq1zbatrq7G+++/L4WSBx54AJ988glyc3PRoUMH9OvXDyNHjsSuXbswbtw45OTkYM2aNcjJyUFoaCgAYN68eUhLS8OaNWvwxhtvNPo+Z8+eldrXZzKZsHr1avj6+krvdfz4cWzbtg1yuRy9e/fG4sWLsWvXrmYD2Lx585CQkAAAeOWVV9C/f3+cPHkSffr0kdqEhobi7Nmzzf/xiKjNYQAjIpfj7e1t0SMUHByM8PBwdOjQwWJbXl4eAOD333+H0WhEr169LI5TWVmJTp06Nfk+5eXlFsOPZuHh4fD19bV4L4VCAblcbrHN/P5NGTRokPRzSEgIACAvL88igHl5eaGsrKzZ4xBR28MARkQux9PT0+J3mUzW6DbzEg4lJSVQKBTIyspqcDVj/dB2rcDAQFy5cuWG39+a8zBfZHDtPoWFhejcuXOzxyGitocBjIjaDaVSecPrbTUmOjoaRqMReXl5uP32223a7+jRo3avx1oVFRU4deoUoqOjnVYDEbUMr4IkonYjPDwcmZmZOHPmDPLz8+22CGmvXr2QlJSEiRMn4osvvkB2djb27t2LlJQUfPPNN03uFx8fj59//tkuNbTEr7/+CpVKhdjYWKfVQEQtwwBGRO3GvHnzoFAo0K9fP3Tu3Bk5OTl2O/aaNWswceJEPPPMM+jduzcSExOxb98+dO3atcl9kpKScOTIERw/ftxuddhi48aNSEpKgre3t1Pen4haTiaEEM4ugoiovXr22WdhMBjwwQcfOPR98/Pz0bt3b+zfvx8REREOfW8iunHsASMiugEvvfQSunXr5vB7Mp45cwb/+7//y/BF1E6xB4yIiIjIwdgDRkRERORgDGBEREREDsYARkRERORgDGBEREREDsYARkRERORgDGBEREREDsYARkRERORgDGBEREREDsYARkRERORg/x/szBv9lf8LSQAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\dae\\petsc_chem_doc_19_0.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# 2 seems to have some fast dynamics so plot a shorter time\n", "a = plt.plot(tj.vecs[\"_time\"], tj.vecs[str(m.y[180, 2])], label=\"y2\")\n", @@ -1169,7 +277,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -1179,24 +287,9 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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kydPZv/+/W51xowZg6Iobo8//OEPGkXsGU8++eRJ76lPnz6u/VVVVdx1112Ehobi5+fHlClTyM7O1jBiz0lISDjpvSuKwl133QV0rO/7l19+4corryQmJgZFUfjiiy/c9quqyuOPP050dDRWq5Vx48Zx8OBBtzoFBQXMmDGDgIAAgoKCuPXWWykrK2vFd9F8p3vfNpuNhx9+mIEDB+Lr60tMTAw33XQTGRkZbudo7Ofk2WefbeV30nxn+s5nzpx50vu69NJL3eq0x+8czvzeG/t3rygKL7zwgqtOW/7eJbnxgE8//ZS5c+fyxBNPsG3bNgYPHszEiRPJycnROjSP+vnnn7nrrrvYsGEDP/zwAzabjQkTJlBeXu5Wb86cOWRmZroezz//vEYRe07//v3d3tOaNWtc+x544AG++uorPvvsM37++WcyMjK49tprNYzWczZv3uz2vn/44QcApk6d6qrTUb7v8vJyBg8ezIIFCxrd//zzz/PKK6/wxhtvsHHjRnx9fZk4cSJVVVWuOjNmzGD37t388MMPfP311/zyyy/cdtttrfUWzsrp3ndFRQXbtm3jscceY9u2bSxZsoT9+/dz1VVXnVT3b3/7m9vPwT333NMa4bfImb5zgEsvvdTtfX388cdu+9vjdw5nfu8N33NmZibvvvsuiqIwZcoUt3pt9ntXRYuNHDlSveuuu1yv7Xa7GhMTo86bN0/DqLwvJydHBdSff/7ZVXbRRRep9913n3ZBecETTzyhDh48uNF9RUVFqtFoVD/77DNX2d69e1VAXb9+fStF2Hruu+8+tXv37qrD4VBVtWN+36qqqoD6+eefu147HA41KipKfeGFF1xlRUVFqtlsVj/++GNVVVV1z549KqBu3rzZVefbb79VFUVR09PTWy32ljjxfTdm06ZNKqAeO3bMVda1a1f1n//8p3eD87LG3vvNN9+sXn311ac8piN856ratO/96quvVi+55BK3srb8vUvLTQvV1NSwdetWxo0b5yrT6XSMGzeO9evXaxiZ9xUXFwMQEhLiVv7hhx8SFhbGgAEDePTRR6moqNAiPI86ePAgMTExdOvWjRkzZpCSkgLA1q1bsdlsbt9/nz59iI+P73Dff01NDYsXL2bWrFlui852xO/7REePHiUrK8vtew4MDGTUqFGu73n9+vUEBQUxfPhwV51x48ah0+nYuHFjq8fsLcXFxSiKQlBQkFv5s88+S2hoKElJSbzwwgvU1tZqE6CHrVq1ioiICHr37s0dd9xBfn6+a19n+c6zs7NZtmwZt95660n72ur33ukWzvS0vLw87HY7kZGRbuWRkZHs27dPo6i8z+FwcP/993PeeecxYMAAV/n06dPp2rUrMTEx7Ny5k4cffpj9+/ezZMkSDaNtmVGjRvHee+/Ru3dvMjMzeeqpp7jgggvYtWsXWVlZmEymk37RR0ZGkpWVpU3AXvLFF19QVFTEzJkzXWUd8ftuTP132di/8/p9WVlZREREuO03GAyEhIR0mJ+FqqoqHn74YW644Qa3RRTvvfdehg4dSkhICOvWrePRRx8lMzOTl156ScNoW+7SSy/l2muvJTExkcOHD/PnP/+Zyy67jPXr16PX6zvFdw7w/vvv4+/vf1J3e1v+3iW5EWflrrvuYteuXW5jTwC3vuaBAwcSHR3N2LFjOXz4MN27d2/tMD3isssuc20PGjSIUaNG0bVrV/7zn/9gtVo1jKx1vfPOO1x22WXExMS4yjri9y0aZ7PZuO6661BVlddff91t39y5c13bgwYNwmQycfvttzNv3rx2N21/Q9dff71re+DAgQwaNIju3buzatUqxo4dq2Fkrevdd99lxowZWCwWt/K2/L1Lt1QLhYWFodfrT7o7Jjs7m6ioKI2i8q67776br7/+mpUrVxIbG3vauqNGjQLg0KFDrRFaqwgKCqJXr14cOnSIqKgoampqKCoqcqvT0b7/Y8eO8eOPPzJ79uzT1uuI3zfg+i5P9+88KirqpJsIamtrKSgoaPc/C/WJzbFjx/jhhx/cWm0aM2rUKGpra0lOTm6dAFtJt27dCAsLc/18d+TvvN7q1avZv3//Gf/tQ9v63iW5aSGTycSwYcNYsWKFq8zhcLBixQpGjx6tYWSep6oqd999N59//jk//fQTiYmJZzxmx44dAERHR3s5utZTVlbG4cOHiY6OZtiwYRiNRrfvf//+/aSkpHSo73/hwoVEREQwadKk09briN83QGJiIlFRUW7fc0lJCRs3bnR9z6NHj6aoqIitW7e66vz00084HA5X0tce1Sc2Bw8e5McffyQ0NPSMx+zYsQOdTndSl017l5aWRn5+vuvnu6N+5w298847DBs2jMGDB5+xbpv63rUe0dwRfPLJJ6rZbFbfe+89dc+ePeptt92mBgUFqVlZWVqH5lF33HGHGhgYqK5atUrNzMx0PSoqKlRVVdVDhw6pf/vb39QtW7aoR48eVb/88ku1W7du6oUXXqhx5C3z4IMPqqtWrVKPHj2qrl27Vh03bpwaFham5uTkqKqqqn/4wx/U+Ph49aefflK3bNmijh49Wh09erTGUXuO3W5X4+Pj1YcfftitvKN936Wlper27dvV7du3q4D60ksvqdu3b3fdFfTss8+qQUFB6pdffqnu3LlTvfrqq9XExES1srLSdY5LL71UTUpKUjdu3KiuWbNG7dmzp3rDDTdo9Zaa5HTvu6amRr3qqqvU2NhYdceOHW7/7qurq1VVVdV169ap//znP9UdO3aohw8fVhcvXqyGh4erN910k8bv7MxO995LS0vVhx56SF2/fr169OhR9ccff1SHDh2q9uzZU62qqnKdoz1+56p65p93VVXV4uJi1cfHR3399ddPOr6tf++S3HjIv/71LzU+Pl41mUzqyJEj1Q0bNmgdkscBjT4WLlyoqqqqpqSkqBdeeKEaEhKims1mtUePHuof//hHtbi4WNvAW2jatGlqdHS0ajKZ1C5duqjTpk1TDx065NpfWVmp3nnnnWpwcLDq4+OjXnPNNWpmZqaGEXvWd999pwLq/v373co72ve9cuXKRn++b775ZlVVnbeDP/bYY2pkZKRqNpvVsWPHnvSZ5OfnqzfccIPq5+enBgQEqLfccotaWlqqwbtputO976NHj57y3/3KlStVVVXVrVu3qqNGjVIDAwNVi8Wi9u3bV33mmWfcEoC26nTvvaKiQp0wYYIaHh6uGo1GtWvXruqcOXNO+p/W9vidq+qZf95VVVX//e9/q1arVS0qKjrp+Lb+vSuqqqpebRoSQgghhGhFMuZGCCGEEB2KJDdCCCGE6FAkuRFCCCFEhyLJjRBCCCE6FEluhBBCCNGhSHIjhBBCiA5FkhshhBBCdCiS3AghhBCiQ5HkRgjhFatWrUJRlJMWFW0tK1asoG/fvtjt9hadR1EUvvjiiybXX758OUOGDMHhcLToukKIsyfJjRCixcaMGcP999/vVnbuueeSmZlJYGCgJjH96U9/4q9//St6vb5F58nMzOSyyy5rcv1LL70Uo9HIhx9+2KLrCiHOniQ3QgivMJlMREVFoShKq197zZo1HD58mClTprT4XFFRUZjN5mYdM3PmTF555ZUWX1sIcXYkuRFCtMjMmTP5+eefefnll1EUBUVRSE5OPqlb6r333iMoKIivv/6a3r174+Pjw+9+9zsqKip4//33SUhIIDg4mHvvvdetK6m6upqHHnqILl264Ovry6hRo1i1atVpY/rkk08YP348FovFVfbkk08yZMgQ3n33XeLj4/Hz8+POO+/Ebrfz/PPPExUVRUREBH//+9/dztWwWyo5ORlFUViyZAkXX3wxPj4+DB48mPXr17sdc+WVV7JlyxYOHz589h+sEOKsGbQOQAjRvr388sscOHCAAQMG8Le//Q2A8PBwkpOTT6pbUVHBK6+8wieffEJpaSnXXnst11xzDUFBQXzzzTccOXKEKVOmcN555zFt2jQA7r77bvbs2cMnn3xCTEwMn3/+OZdeeim//fYbPXv2bDSm1atXM3369JPKDx8+zLfffsvy5cs5fPgwv/vd7zhy5Ai9evXi559/Zt26dcyaNYtx48YxatSoU77nv/zlL7z44ov07NmTv/zlL9xwww0cOnQIg8H5KzU+Pp7IyEhWr15N9+7dm/uRCiFaSJIbIUSLBAYGYjKZ8PHxISoq6rR1bTYbr7/+uusP/u9+9zs++OADsrOz8fPzo1+/flx88cWsXLmSadOmkZKSwsKFC0lJSSEmJgaAhx56iOXLl7Nw4UKeeeaZRq9z7NgxV/2GHA4H7777Lv7+/q5r7d+/n2+++QadTkfv3r157rnnWLly5WmTm4ceeohJkyYB8NRTT9G/f38OHTpEnz59XHViYmI4duzY6T88IYRXSHIjhGg1Pj4+bi0ZkZGRJCQk4Ofn51aWk5MDwG+//YbdbqdXr15u56muriY0NPSU16msrHTrkqqXkJCAv7+/27X0ej06nc6trP76pzJo0CDXdnR0NAA5OTluyY3VaqWiouK05xFCeIckN0KIVmM0Gt1eK4rSaFn9bdRlZWXo9Xq2bt160l1PDROiE4WFhVFYWNji6zflfdQPmD7xmIKCAsLDw097HiGEd0hyI4RoMZPJ1OL5ZBqTlJSE3W4nJyeHCy64oFnH7dmzx+PxNFVVVRWHDx8mKSlJsxiE6MzkbikhRIslJCSwceNGkpOTycvL89gEdr169WLGjBncdNNNLFmyhKNHj7Jp0ybmzZvHsmXLTnncxIkTWbNmjUdiOBsbNmzAbDYzevRozWIQojOT5EYI0WIPPfQQer2efv36ER4eTkpKisfOvXDhQm666SYefPBBevfuzeTJk9m8eTPx8fGnPGbGjBns3r2b/fv3eyyO5vj444+ZMWMGPj4+mlxfiM5OUVVV1ToIIYTwtD/+8Y+UlJTw73//u1Wvm5eXR+/evdmyZQuJiYmtem0hhJO03AghOqS//OUvdO3atdXXeEpOTua1116TxEYIDUnLjRBCCCE6FGm5EUIIIUSHIsmNEEIIIToUSW6EEEII0aFIciOEEEKIDkWSGyGEEEJ0KJLcCCGEEKJDkeRGCCGEEB2KJDdCCCGE6FAkuRFCCCFEh/L/IyybrVfWdaEAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\dae\\petsc_chem_doc_22_0.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# The plot of this new data should look the same as the original, although some of the\n", "# fast dynamics of component 2 will be obscured.\n", @@ -1214,24 +307,9 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 14, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmAAAAGwCAYAAAAOvdliAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB7eElEQVR4nO3deVhUZfsH8O/MwMwAsojIpii474CahFlqolhmYub+qvW69JpraplW2u6eaVqWv1zK3TIzF8xwyw0V0MRdRHEDRGTfZ57fHwOTI6gMMnNg+H6u61wzc+Y559yHQefmee7zHJkQQoCIiIiIzEYudQBEREREVQ0TMCIiIiIzYwJGREREZGZMwIiIiIjMjAkYERERkZkxASMiIiIyMyZgRERERGZmJXUAlkyr1eL27duwt7eHTCaTOhwiIiIqBSEE0tPT4enpCbncNH1VTMBM6Pbt2/Dy8pI6DCIiIiqDGzduoHbt2ibZNxMwE7K3tweg+wAdHBwkjoaIiIhKIy0tDV5eXvrvcVNgAmZCRcOODg4OTMCIiIgqGVOWD7EIn4iIiMjMmIARERERmRkTMCIiIiIzYw0YEREVo9VqkZeXJ3UYRCZhbW0NhUIhaQxMwIiIyEBeXh5iY2Oh1WqlDoXIZJycnODu7i7ZPJ1MwIiISE8IgTt37kChUMDLy8tkk1ASSUUIgaysLCQmJgIAPDw8JImDCRgREekVFBQgKysLnp6esLW1lTocIpOwsbEBACQmJsLV1VWS4Uj+aUNERHoajQYAoFQqJY6EyLSK/sDIz8+X5PhMwIiIqBjev5YsndS/40zAiIiIiMyMCRgRERGRmTEBIyIiKsGqVavg5OQkdRhP7Y033kBISIjUYeh16tQJEydOlDoMyTEBIyIii7dlyxZ07doVNWvWhIODAwIDA7F79+7HbtO/f39cunTJqONYQnJx7do1yGQynDp1yizH8/b2xtdff/1U+zh48CB69uwJT09PyGQybN26tVxiMyUmYEREZPEOHjyIrl27YufOnYiIiEDnzp3Rs2dPREVFPXIbGxsbuLq6mjHKf/EuBMbJzMyEr68vli5dKnUopcYEzAyOxCRJHQIRUZkIIZCVVyDJIoQoVYw//fQTatSogdzcXIP1ISEhGDJkCADg66+/xnvvvYdnnnkGDRs2xJdffomGDRvijz/+eOR+Hx6C/Pjjj+Hn54eff/4Z3t7ecHR0xIABA5Ceng5AN9R34MABLFq0CDKZDDKZDNeuXQMAREdH46WXXkK1atXg5uaGIUOGICnp3++GTp06YezYsZg4cSJcXFwQHBwMQHel3nfffYeXXnoJNjY2qFevHn755ReDOM+cOYMXX3wRNjY2qFGjBkaNGoWMjIxHnldoaCg6dOgAJycn1KhRA6+88gpiYmL07/v4+AAA/P39IZPJ0KlTJ/17//d//4emTZtCrVajSZMm+Pbbbx95HECXGA0dOhTVqlWDh4cHFixYYPB+p06dcP36dbzzzjv6n1lZvPTSS/j888/Ru3fvMm0vBU7Eagbv//IPWtf3hKuDWupQiIiMkp2vQbMZjx+qM5VznwbDVvnkr6m+ffti/Pjx2LZtG/r27QtAN8Hmjh078Oeff5a4jVarRXp6OpydnY2KKSYmBlu3bsX27dtx//599OvXD7Nnz8YXX3yBRYsW4dKlS2jRogU+/fRTAEDNmjWRkpKCF198ESNGjMDChQuRnZ2NqVOnol+/fti7d69+36tXr8bo0aNx+PBhg2N+9NFHmD17NhYtWoSff/4ZAwYMwJkzZ9C0aVNkZmYiODgYgYGBOHHiBBITEzFixAiMHTsWq1atKvEcMjMzMWnSJLRq1QoZGRmYMWMGevfujVOnTkEul+P48eNo164d/vrrLzRv3lw/J9zatWsxY8YMLFmyBP7+/oiKisLIkSNhZ2eHYcOGlXisd999FwcOHMDvv/8OV1dXTJ8+HZGRkfDz8wOgGxr29fXFqFGjMHLkSP12cXFxaNas2WM/i+nTp2P69OmPbVORMQEzg+SsfEzYcAprRgRAIefcOkRE5cnGxgaDBg3CypUr9QnYmjVrUKdOHYPemwfNnz8fGRkZ6Nevn1HH0mq1WLVqFezt7QEAQ4YMQVhYGL744gs4OjpCqVTC1tYW7u7u+m2KEpYvv/xSv27FihXw8vLCpUuX0KhRIwBAw4YNMXfu3GLH7Nu3L0aMGAEA+Oyzz7Bnzx588803+Pbbb7Fu3Trk5OTgp59+gp2dnf54PXv2xJw5c+Dm5lZsf3369DF4vWLFCtSsWRPnzp1DixYtULNmTQBAjRo1DM5j5syZWLBgAV577TUAup6yc+fO4fvvvy8xAcvIyMCPP/6INWvWoEuXLgB0SWbt2rX1bZydnaFQKGBvb29wLE9PzyfWoBmbPFc0TMDMwEYpx9Gr97A47DLe6dpI6nCIiErNxlqBc58GS3bs0ho5ciSeeeYZ3Lp1C7Vq1cKqVavwxhtvlDiktW7dOnzyySf6XhljeHt765MvQHcfwaJ7Cj7K6dOnsW/fPlSrVq3YezExMfoErE2bNiVuHxgYWOx1UXJy/vx5+Pr66pMvAHjuueeg1Wpx8eLFEhOwy5cvY8aMGQgPD0dSUpL+putxcXFo0aJFiTFkZmYiJiYGw4cPN+ipKigogKOjY4nbxMTEIC8vDwEBAfp1zs7OaNy4cYntH2RlZYUGDRo8sV1lxgTMDGa80gwf7LiKxXsvI8DHGe0buEgdEhFRqchkslINA0rN398fvr6++Omnn9CtWzecPXsWO3bsKNZuw4YNGDFiBDZv3oygoCCjj2NtbW3wWiaT6ROYR8nIyND3SD3swRtBP5hEmVLPnj1Rt25dLF++HJ6entBqtWjRosVjC/+LasqWL19ukFABMMl9FKvCEKTkRfhLly6Ft7c31Go1AgICcPz48ce237x5M5o0aQK1Wo2WLVti586dBu8LITBjxgx4eHjAxsYGQUFBuHz5skGbL774Au3bt4etrW2Jc7ycPn0aAwcOhJeXF2xsbNC0aVMsWrSozOfY07cW+rWtDSGACRtP4W567pM3IiIio4wYMQKrVq3CypUrERQUBC8vL4P3169fjzfffBPr169Hjx49TBKDUqnU30+zSOvWrXH27Fl4e3ujQYMGBktpkq5jx44Ve920aVMAQNOmTXH69GlkZmbq3z98+DDkcnmJPU337t3DxYsX8eGHH6JLly5o2rQp7t+/X+wcABich5ubGzw9PXH16tVi51BUtP+w+vXrw9raGuHh4fp19+/fLza1R0k/s6IhyMct//vf/x75M6sMJE3ANm7ciEmTJmHmzJmIjIyEr68vgoODH9mde+TIEQwcOBDDhw9HVFQUQkJCEBISgujoaH2buXPnYvHixVi2bBnCw8NhZ2eH4OBg5OTk6Nvk5eWhb9++GD16dInHiYiIgKurK9asWYOzZ8/igw8+wLRp07BkyZKynagQ+OTVFmjkVg1303PxzsZT0GhLd3UPERGVzqBBg3Dz5k0sX74c//3vfw3eW7duHYYOHYoFCxYgICAA8fHxiI+PR2pqarnG4O3tjfDwcFy7dk0/vDdmzBgkJydj4MCBOHHiBGJiYrB79268+eabxRKPkmzevBkrVqzApUuXMHPmTBw/fhxjx44FAAwePBhqtRrDhg1DdHQ09u3bh3HjxmHIkCElDj9Wr14dNWrUwA8//IArV65g7969mDRpkkEbV1dX2NjYIDQ0FAkJCfqf0SeffIJZs2Zh8eLFuHTpEs6cOYOVK1fiq6++KjHuatWqYfjw4Xj33Xexd+9eREdH44033oBcbph6eHt74+DBg7h165b+ytCiIcjHLQ/WgGVkZOgTMwCIjY3FqVOnEBcX98Sfr2SEhNq1ayfGjBmjf63RaISnp6eYNWtWie379esnevToYbAuICBAvPXWW0IIIbRarXB3dxfz5s3Tv5+SkiJUKpVYv359sf2tXLlSODo6lirWt99+W3Tu3LlUbYukpqYKACI18aYQQojLCWmiyYe7RN2p28Wivy4ZtS8iInPIzs4W586dE9nZ2VKHUiZDhgwRzs7OIicnx2B9x44dBYBiy7Bhwx65r4e/I2bOnCl8fX0N2ixcuFDUrVtX//rixYvi2WefFTY2NgKAiI2NFUIIcenSJdG7d2/h5OQkbGxsRJMmTcTEiROFVqvVxzdhwoRiMQAQS5cuFV27dhUqlUp4e3uLjRs3GrT5559/ROfOnYVarRbOzs5i5MiRIj09Xf/+sGHDRK9evfSv9+zZI5o2bSpUKpVo1aqV2L9/vwAgfvvtN32b5cuXCy8vLyGXy0XHjh3169euXSv8/PyEUqkU1atXFy+88ILYsmXLI3+G6enp4j//+Y+wtbUVbm5uYu7cucXO9ejRo6JVq1ZCpVKJsqYl+/btM/rzfdzvuv77OzW1TPGUhmQJWG5urlAoFAYfuBBCDB06VLz66qslbuPl5SUWLlxosG7GjBmiVatWQgghYmJiBAARFRVl0OaFF14Q48ePL7Y/YxKwwYMHiz59+jy2TU5OjkhNTdUvN27c0H2Acef0bTafvCHqTt0ufN7fLo7GJJXq2ERE5lLZE7AXX3xRjBs3Tuowys3DiRGVH6kTMMmGIJOSkqDRaIp1kbq5uSE+Pr7EbeLj4x/bvujRmH2WxpEjR7Bx40aMGjXqse1mzZoFR0dH/aKvP8hN07d5vU1t9GldG1oBjF8fhaQM1oMRET2t+/fv47fffsP+/fsxZswYqcMheiLJi/AruujoaPTq1QszZ85Et27dHtt22rRpSE1N1S83btzQvZGTZtDus5DmaOBaDYmF9WBa1oMRET0Vf39/vPHGG5gzZ06ppjkgkppk1xa7uLhAoVAgISHBYH1CQoLBZGwPcnd3f2z7oseEhASDS3sTEhL0s+4a49y5c+jSpQtGjRqFDz/88IntVSoVVCpV8TdyDIs8bZVWWDqoNXotPYS/LyfhuwMxGNPZsuc7ISIypaJb/lgaUcrbMVHlI1kPmFKpRJs2bRAWFqZfp9VqERYWVmzSuSKBgYEG7QFgz549+vY+Pj5wd3c3aJOWlobw8PBH7vNRzp49i86dO2PYsGH44osvjNq2mJziV9k0drfHp6/qJrz7as8lHI9NfrpjEBERUaUh6RDkpEmTsHz5cqxevRrnz5/H6NGjkZmZiTfffBMAMHToUEybNk3ffsKECQgNDcWCBQtw4cIFfPzxxzh58qT+clyZTIaJEyfi888/x7Zt23DmzBkMHToUnp6eCAkJ0e8nLi5Of3mqRqPRX7paNNFcdHQ0OnfujG7dumHSpEn6y5Xv3r1bthPNTStxdd+2tdHbvxY0WoHx66OQnPnoSfCIiIjIckg6vXH//v1x9+5dzJgxA/Hx8fDz80NoaKi+iD4uLs5gvpD27dtj3bp1+PDDDzF9+nQ0bNgQW7duNbh1wnvvvYfMzEyMGjUKKSkp6NChA0JDQ6FW/3sj7BkzZmD16tX61/7+/gCAffv2oVOnTvjll19w9+5drFmzBmvWrNG3q1u3btm6uXNKTsBkMhk+D2mB0zdTcPVuJiZtOoUVw56BnPeLJCIismgywQFmk0lLS4OjoyNSf3kHDn1KnqgOAM7fSUPI0sPILdDi/Zea4H8d65sxSiKif+Xk5CA2NhY+Pj4Gf7gSWZrH/a7rv79TU+Hg4GCS4/MqSHN4xBBkkaYeDpjZszkAYN7ui4i4znowIiIiS8YEzBweMQT5oIHtvNDT1xMarcC4dVG4z3owIqJK6dq1a5DJZPrb4pTGqlWrSrw3sbnjIPNhAmYOuU++15hMJsOXvVvAu4YtbqfmYMrm07z8mIionGzZsgVdu3ZFzZo14eDggMDAQOzevdskx/Ly8sKdO3cM6pOfpH///sVuUk2WjQmYOWSX7mav9mprLBnUGkorOcIuJOL//o41cWBERFXDwYMH0bVrV+zcuRMRERHo3LkzevbsiaioqHI9Tl5eHhQKBdzd3WFlVfrr3GxsbODq6lqusVDFxgTMHJ5QA/agFrUc8dErzQAAc0IvIDLuvqmiIiKyCD/99BNq1KiB3FzDW7uFhIRgyJAhAICvv/4a7733Hp555hk0bNgQX375JRo2bIg//vjjsfv+9ddf0bx5c6hUKnh7e2PBggUG73t7e+Ozzz7D0KFD4eDggFGjRpU49Ldt2zY0bNgQarUanTt3xurVqyGTyZCSkgKg+BDkxx9/DD8/P/z888/w9vaGo6MjBgwYgPT0dH2b0NBQdOjQAU5OTqhRowZeeeUVxMTElOEnSFJgAmYOpagBe9B/AuqgR0sPFBTWg6Vm5ZsoMCKiJxACyMuUZillGUbfvn2h0Wiwbds2/brExETs2LED//3vf0vcRqvVIj09Hc7Ozo/cb0REBPr164cBAwbgzJkz+Pjjj/HRRx9h1apVBu3mz58PX19fREVF4aOPPiq2n9jYWLz++usICQnB6dOn8dZbb+GDDz544nnFxMRg69at2L59O7Zv344DBw5g9uzZ+vczMzMxadIknDx5EmFhYZDL5ejduze0Wu0T903Sk3QesCojLx3QagF56fJdmUyGWX1a4sytVMQlZ2HKL6fxw5A2kMk4PxgRmVl+FvClpzTHnn4bUNo9sZmNjQ0GDRqElStXom/fvgCANWvWoE6dOujUqVOJ28yfPx8ZGRno16/fI/f71VdfoUuXLvqkqlGjRjh37hzmzZuHN954Q9/uxRdfxOTJk/WvH54v8vvvv0fjxo0xb948AEDjxo0RHR39xLusaLVarFq1Cvb29gCAIUOGICwsTL9dnz59DNqvWLECNWvWxLlz54yqPyNpsAfMLESpCvEf5KC2xtJBraFUyLHnXAJWHr5mmtCIiCzAyJEj8eeff+LWrVsAdEN6b7zxRol/uK5btw6ffPIJNm3a9Ni6q/Pnz+O5554zWPfcc8/h8uXL0Gg0+nVt27Z9bGwXL17EM888Y7CuXbt2Tzwnb29vffIFAB4eHkhMTNS/vnz5MgYOHIh69erBwcEB3t7eAHSTmFPFxx4wc8lJBWyqG7VJy9qOmP5yE3z8xznM2nUebepWh6+Xk2niIyIqibWtridKqmOXkr+/P3x9ffHTTz+hW7duOHv2LHbs2FGs3YYNGzBixAhs3rwZQUFB5RKmnd2Te+nKwtra2uC1TCYzGF7s2bMn6tati+XLl8PT0xNarRYtWrRAXh6nMaoMmICZSwk35C6NYe29cexqMkLPxmPMukjsGP88HG2sn7whEVF5kMlKNQxYEYwYMQJff/01bt26haCgIHh5eRm8v379evz3v//Fhg0b0KNHjyfur2nTpjh8+LDBusOHD6NRo0ZQKBSljqtx48bYuXOnwboTJ06UevuS3Lt3DxcvXsTy5cvx/PPPAwAOHTr0VPsk8+IQpLmUMQGTyWSY83oreDnb4Ob9bEz95R/OD0ZEVIJBgwbh5s2bWL58ebHi+3Xr1mHo0KFYsGABAgICEB8fj/j4eKSmPvr/5smTJyMsLAyfffYZLl26hNWrV2PJkiWYMmWKUXG99dZbuHDhAqZOnYpLly5h06ZN+kL+stb2Vq9eHTVq1MAPP/yAK1euYO/evZg0aVKZ9kXSYAJmLtkpZd7U0cYaSwa2hrVChtCz8fjp6PXyi4uIyEI4OjqiT58+qFatGkJCQgze++GHH1BQUIAxY8bAw8NDv0yYMOGR+2vdujU2bdqEDRs2oEWLFpgxYwY+/fRTgwL80vDx8cEvv/yCLVu2oFWrVvjuu+/0V0GqVCpjTxMAIJfLsWHDBkRERKBFixZ455139EX+VDnwZtwmpL+Z5/v2cOi7FGg95Kn29+OhWHy2/RyUCjm2vN0eLWo5llOkREQ6lf1m3F26dEHz5s2xePFiqUN5rC+++ALLli3DjRs3pA6lyuLNuKuKMg5BPui/z3mjazM35Gm0GLMuEuk5nB+MiAgA7t+/j99++w379+/HmDFjpA6nmG+//RYnTpzA1atX8fPPP2PevHkYNmyY1GGRhFiEby7lkIDJZDLMe70Veiw+hOv3svD+ljNYMtCf84MRUZXn7++P+/fvY86cOWjcuLHU4RRz+fJlfP7550hOTkadOnUwefJkTJs2TeqwSEJMwMwlJ6VcduNkq8Q3g/zRb9lR7PjnDgLr1cB/nq1bLvsmIqqsHp78tKJZuHAhFi5cKHUYVIFwCNJcyqEHrEjrOtUxtXsTAMCn28/h7O3y2zcRERGZHhMwcynHBAwARjzvgy5NXJFXoMXYdVHIyC0o1/0TUdXG67PI0kn9O84EzFzKOQGTyWSY39cXno5qxCZlYvqWM5L/MhFR5Vc0wShnUydLl5WVBaD4HQfMhTVg5vIU84A9SnW7wnqw749h2+nbCKxfAwPb1Sn34xBR1WFlZQVbW1vcvXsX1tbWkMv5dzpZFiEEsrKykJiYCCcnJ6PualCemICZSzn3gBVpU9cZU7o1xpzQC/h421n4eTmhqYdp5iwhIssnk8ng4eGB2NhYXL/OSZ/Jcjk5OcHd3V2y4zMBMxcTJWAA8NYL9RAeew/7L97FmHWR+GNsB9ip+NESUdkolUo0bNiQw5BksaytrSXr+SrCb2lzyc8ENPmAovzHmuVyGb7q54eXF/2Nq3cz8eHWaHzVz5fzgxFRmcnl8ko5Ez5RZcHBfXMyYS+Ys50Siwf6QyGX4beoW9h88qbJjkVERERPhwmYOagKa7Ky75v0MO18nDGpayMAwIxt0biUkG7S4xEREVHZMAEzBxsn3aOJEzAAGN2xPp5v6IKcfC3eXhuJrDzOD0ZERFTRMAEzB7WT7tEMCZhcLsPC/n5wtVfhSmIGZvx+1uTHJCIiIuMwATMHtaPu0QwJGAC4VFNh0QB/yGXALxE38UsE68GIiIgqEiZg5mDGHrAigfVrYGKQrh7so63RuMx6MCIiogqDCZg5mLEG7EFjOjfAcw1qIDtfgzHrIpGdpzHr8YmIiKhkTMDMQYIeMABQyGX4ur8/XKqpcCkhAx9vYz0YERFRRcAEzBwk6gEDgJr2Kiwa4AeZDNh48ga2Rt0yewxERERkiAmYOeh7wFIkOfxzDVww7sWGAIDpv51BzN0MSeIgIiIiHSZg5mBTXfcoQQ9YkQldGuLZes7IytNgzNpI5OSzHoyIiEgqTMDMQaIasAcp5DIsHuAPl2pKXIhPxyd/nJMsFiIioqqOCZg52Jh3HrBHcXVQY2F/XT3Y+uNx2Hb6tqTxEBERVVVMwMyhqAcsJwXQaqWMBM83rIkxnRoAAKb9+g9ikzIljYeIiKgqYgJmDkUz4QstkJsmbSwAJgY1RDtvZ2SyHoyIiEgSTMDMwVoNWNvqnks8DAkAVgo5Fg/0h7OdEufupOGLHeelDomIiKhKYQJmLhXgSsgHuTuq8VU/XwDAz8euY+eZOxJHREREVHUwATOXCpaAAUCnxq4Y3ak+AGDqL//g+j3WgxEREZkDEzBzKUrAclIkDeNhk7s2Qtu61ZGeW4Ax6yKRW8B6MCIiIlNjAmYuEt6O6HGK6sGcbK0RfSsNs3ZekDokIiIii8cEzFwqwGSsj+LpZKOvB1t15BpCo1kPRkREZEpMwMxFXwOWImkYj/JiEzeMeqEeAODdX/7BjeQsiSMiIiKyXEzAzKUCFuE/7N3gxvCv44T0nAKMXReJvAJpJ40lIiKyVEzAzKUSJGDWCjm+GegPRxtrnL6ZijmhrAcjIiIyBSZg5lIJEjAAqF3dFvP76urBfjwUiz/PxkscERERkeVhAmYulSQBA4CuzdwwvIMPAGDK5tO4eZ/1YEREROVJ8gRs6dKl8Pb2hlqtRkBAAI4fP/7Y9ps3b0aTJk2gVqvRsmVL7Ny50+B9IQRmzJgBDw8P2NjYICgoCJcvXzZo88UXX6B9+/awtbWFk5NTiceJi4tDjx49YGtrC1dXV7z77rsoKCgo+4lW8CL8h03t3gS+Xk5IyynAuPVRyNewHoyIiKi8SJqAbdy4EZMmTcLMmTMRGRkJX19fBAcHIzExscT2R44cwcCBAzF8+HBERUUhJCQEISEhiI6O1reZO3cuFi9ejGXLliE8PBx2dnYIDg5GTk6Ovk1eXh769u2L0aNHl3gcjUaDHj16IC8vD0eOHMHq1auxatUqzJgxo+wn++A8YEKUfT9morSSY8lAf9irrRAVl4J5uy9KHRIREZHlEBJq166dGDNmjP61RqMRnp6eYtasWSW279evn+jRo4fBuoCAAPHWW28JIYTQarXC3d1dzJs3T/9+SkqKUKlUYv369cX2t3LlSuHo6Fhs/c6dO4VcLhfx8fH6dd99951wcHAQubm5pT6/1NRUAUCkpqYKkZMmxEwH3ZKbWep9SG3XmTui7tTtou7U7SLsfPyTNyAiIqrkDL6/TUSyHrC8vDxEREQgKChIv04ulyMoKAhHjx4tcZujR48atAeA4OBgffvY2FjEx8cbtHF0dERAQMAj9/mo47Rs2RJubm4Gx0lLS8PZs2cfuV1ubi7S0tIMFj1lNUBupXteCerAinRv4Y432nsDACZtOo3bKdnSBkRERGQBJEvAkpKSoNFoDJIcAHBzc0N8fMlX3sXHxz+2fdGjMfs05jgPHqMks2bNgqOjo37x8vL6902ZrFIV4j9o2stN0LKWI1Ky8lkPRkREVA4kL8K3JNOmTUNqaqp+uXHjhmGDSpqAqawUWDqoNexVVoi4fh8L/rwkdUhERESVmmQJmIuLCxQKBRISEgzWJyQkwN3dvcRt3N3dH9u+6NGYfRpznAePURKVSgUHBweDxUAlTcAAoE4NW8x5vRUAYNmBGOy7WPKFEkRERPRkkiVgSqUSbdq0QVhYmH6dVqtFWFgYAgMDS9wmMDDQoD0A7NmzR9/ex8cH7u7uBm3S0tIQHh7+yH0+6jhnzpwxuBpzz549cHBwQLNmzUq9n2IqcQIGAC+39MCQZ+sCACZvOo341JwnbEFEREQlkXQIctKkSVi+fDlWr16N8+fPY/To0cjMzMSbb74JABg6dCimTZumbz9hwgSEhoZiwYIFuHDhAj7++GOcPHkSY8eOBQDIZDJMnDgRn3/+ObZt24YzZ85g6NCh8PT0REhIiH4/cXFxOHXqFOLi4qDRaHDq1CmcOnUKGRkZAIBu3bqhWbNmGDJkCE6fPo3du3fjww8/xJgxY6BSqcp+wpU8AQOAD3o0RTMPByRn5mH8+igUsB6MiIjIeCa7vrKUvvnmG1GnTh2hVCpFu3btxLFjx/TvdezYUQwbNsyg/aZNm0SjRo2EUqkUzZs3Fzt27DB4X6vVio8++ki4ubkJlUolunTpIi5evGjQZtiwYQJAsWXfvn36NteuXRMvvfSSsLGxES4uLmLy5MkiPz/fqHMrdhnrrvd101D8+ZFR+6lort7NEM0+2iXqTt0u5oVekDocIiKicmWOaShkQlSCWUErqbS0NDg6OiI1NVVXD3ZwHrD3c8D/P0CvpVKH91S2nb6N8eujIJMBq99shxca1ZQ6JCIionJR7PvbBHgVpDnZuugeM+9JG0c5eNXXE4MC6kAI4J2Np5CQxnowIiKi0mICZk52hb1EmXeljaOczHilGZq42+NeZh4mbIiCRsvOVCIiotJgAmZOdoU9YFlJ0sZRTtTWCiwd3Bq2SgWOXU3GorDLT96IiIiImICZlQUNQRapX7MavuzdEgDwzd7LOHzFMpJLIiIiU2ICZk52NXSPeelAvuXUTIX410L/tl4QApiw4RQS0y3n3IiIiEyBCZg5qZ3+vSG3hQxDFvn41eZo7GaPpIxcvLPxFOvBiIiIHoMJmDnJZA8MQ1pWAmajVGDpYH/YWCtw+Mo9LNl7ReqQiIiIKiwmYOZmYYX4D2rgao/PQ1oAABaFXcLRGMupdSMiIipPTMDMzbawDsyCCvEf1KdNbbzepja0ApiwIQpJGblSh0RERFThMAEzNwubC6wkn/Zqjoau1ZCYrqsH07IejIiIyAATMHOz4CHIIrZKKywd3Bpqazn+vpyE7w7ESB0SERFRhcIEzNwstAj/YY3c7PFpL1092II/L+J4bLLEEREREVUcTMDMrWgusCzLrAF7UN82tfGafy1oBTBufSTusR6MiIgIABMw86sCNWBFZDIZPgtpgfo17ZCQlotJm06zHoyIiAhMwMyvigxBFrFT6erBVFZyHLh0F98fvCp1SERERJJjAmZu+iJ8yx+CLNLE3QEfv9ocADD/z4s4eY31YEREVLUxATO3onnActOAgqpTEzXgGS+86usJjVZg3Poo3M/MkzokIiIiyTABM7cH7wdZRYYhAV092JevtYSPix3upOZg8mbWgxERUdXFBMzc5PJ/e8EseC6wklRTWWHJIH8oreTYeyER/3eI9WBERFQ1MQGTQhUrxH9Qc09HzHilGQBgbuhFRMbdlzgiIiIi82MCJoUqNBdYSQYH1EGPVh4o0AqMWxeFlCzWgxERUdViZUzjlJQU/Pbbb/j7779x/fp1ZGVloWbNmvD390dwcDDat29vqjgtSxWaC6wkMpkMs19riehbqbh+LwtTNv+D5UPbQCaTSR0aERGRWZSqB+z27dsYMWIEPDw88PnnnyM7Oxt+fn7o0qULateujX379qFr165o1qwZNm7caOqYK78qPARZxF5tjaWDWkOpkOOv8wlYcfia1CERERGZTal6wPz9/TFs2DBERESgWbNmJbbJzs7G1q1b8fXXX+PGjRuYMmVKuQZqUarADblLo0UtR3zQoylmbjuL2bvOo03d6vDzcpI6LCIiIpMrVQJ27tw51KhR47FtbGxsMHDgQAwcOBD37lXN2qZSK7oKMpM/p6GBdXHs6j3sio7H2HWR2DH+eTjaWEsdFhERkUmVagjyScnX07avcqp4DdiDZDIZ5rzeCl7ONrh5Pxvv/XIaQnB+MCIismyl6gHbtm1bqXf46quvljmYKoNDkAYcCuvB+nx3BLvPJmD1kWt44zkfqcMiIiIymVIlYCEhIaXamUwmg0ajeZp4qgZ9ET6HIIu0qu2EaS81xafbz+HLnRfQpq4zWtZ2lDosIiIikyjVEKRWqy3VwuSrlIp6wHJTgQLOgVXkzee80a2ZG/I0WoxZF4m0nHypQyIiIjKJUk/EOnToUPz666/IzMw0ZTxVg9oJkCl0zzkMqSeTyTDvdV/UcrJBXHIWpv16hvVgRERkkUqdgDVo0ABffvklXFxc8NJLL+G7777DrVu3TBmb5XrwfpBVeC6wkjjaWmPJIH9YyWXYceYO1oTHSR0SERFRuSt1AjZjxgxERETg8uXL6NmzJ7Zu3Yr69eujTZs2+PTTT3Hq1CkThmmBWIj/SP51quP9l5oAAD774xyib6VKHBEREVH5MvpekLVr18bbb7+N3bt34+7du5g6dSouXryIF198EXXr1sXYsWNx9uxZU8RqWTgX2GMN7+CDoKauyNNoMXZdJNJZD0ZERBbkqW7GbW9vj379+mHt2rW4e/cuVqxYAYVCgaNHj5ZXfJaLc4E9lkwmw/y+vvB0VOPavSxM/y2a9WBERGQxjLoZ9+MoFAp06dIFXbp0Ka9dWjYOQT6Rk60S3wzyR7/vj+GP07cRWK8GBgXUkTosIiKip1bqe0HKZLJS7TAyMvKpAqoyeEPuUmlT1xnvBjfG7F0X8MkfZ+FfxwlNPRykDouIiOiplOtErGQEu8IasCzWgD3JqOfrIfzqPey7eBdj1kZi27gOqKYqt85bIiIisyvVt9jMmTNNHUfVwxqwUpPLZVjQzw8vL/obV5My8eFvZ7Cwv1+pe2WJiIgqmjIX4UdERGDNmjVYs2YNoqKiyjOmqoFDkEZxttPVgynkMmw9dRubTt6QOiQiIqIyM3ocJzExEQMGDMD+/fvh5OQEAEhJSUHnzp2xYcMG1KxZs7xjtEwswjfaM97OmNS1EebtvoiZ287Cz6s6GrvbSx0WERGR0YzuARs3bhzS09Nx9uxZJCcnIzk5GdHR0UhLS8P48eNNEaNlKuoBy+H9II0xumN9vNCoJnLydfeLzMorkDokIiIioxmdgIWGhuLbb79F06ZN9euaNWuGpUuXYteuXeUanEWzqQ7ICn/8LMQvNblchq/6+cLVXoUriRn4aCsn/SUiosrH6ARMq9XC2tq62Hpra2totdpyCapKePB+kByGNIpLNRUWD/SHXAb8GnkTm1kPRkRElYzRCdiLL76ICRMm4Pbt2/p1t27dwjvvvMNJWI3FQvwye7ZeDbwT1AgAMOP3s7ickC5xRERERKVndAK2ZMkSpKWlwdvbG/Xr10f9+vXh4+ODtLQ0fPPNN6aI0XLpC/E5BFkWb3dugA4NXJCdr8GYdZHIztNIHRIREVGpGH0VpJeXFyIjI/HXX3/hwoULAICmTZsiKCio3IOzeEUJGOcCKxOFXIaF/f3w8uK/cSkhAzO3RWPu675Sh0VERPREZZpOXCaToWvXrujatWt5x1O1cAjyqdW0V2FRfz8M/jEcm07eRGD9GujtX1vqsIiIiB6rTAnYiRMnsG/fPiQmJhYrvP/qq6/KJbAqgXOBlYv2DVww/sWGWBR2GR/8Fo2WtZzQwLWa1GERERE9ktEJ2JdffokPP/wQjRs3hpubm8HtYHhrGCMVXQXJHrCnNr5LQxyPTcbRq/cwdl0kto55DmprhdRhERERlcjoIvxFixZhxYoVOH/+PPbv3499+/bpl7179xodwNKlS+Ht7Q21Wo2AgAAcP378se03b96MJk2aQK1Wo2XLlti5c6fB+0IIzJgxAx4eHrCxsUFQUBAuX75s0CY5ORmDBw+Gg4MDnJycMHz4cGRkZBi02b17N5599lnY29ujZs2a6NOnD65du2b0+T2W/n6QTMCelkIuw6IBfnCppsSF+HR88gfnByMioorL6ARMLpfjueeeK5eDb9y4EZMmTcLMmTMRGRkJX19fBAcHIzExscT2R44cwcCBAzF8+HBERUUhJCQEISEhiI6O1reZO3cuFi9ejGXLliE8PBx2dnYIDg5GTk6Ovs3gwYNx9uxZ7NmzB9u3b8fBgwcxatQo/fuxsbHo1asXXnzxRZw6dQq7d+9GUlISXnvttXI5bz0OQZYrVwc1vu7vD5kMWH/8Bn4/dUvqkIiIiEomjDRnzhwxYcIEYzcrUbt27cSYMWP0rzUajfD09BSzZs0qsX2/fv1Ejx49DNYFBASIt956SwghhFarFe7u7mLevHn691NSUoRKpRLr168XQghx7tw5AUCcOHFC32bXrl1CJpOJW7duCSGE2Lx5s7CyshIajUbfZtu2bUImk4m8vLxHnk9OTo5ITU3VLzdu3BAARGpqaskbJJwXYqaDELPqPHKfZLz5uy+IulO3i2Yf7RIxielSh0NERJVMamrq47+/y4HRPWBTpkzBxYsXUb9+ffTs2ROvvfaawVJaeXl5iIiIMJi+Qi6XIygoCEePHi1xm6NHjxab7iI4OFjfPjY2FvHx8QZtHB0dERAQoG9z9OhRODk5oW3btvo2QUFBkMvlCA8PBwC0adMGcrkcK1euhEajQWpqKn7++WcEBQWVeBeAIrNmzYKjo6N+8fLyevwPoagHLCcF0OQ/vi2V2oQuDdHOxxmZeRqMWReFnHzOD0ZERBWL0QnY+PHjsW/fPjRq1Ag1atQwSDgcHR1LvZ+kpCRoNBq4ubkZrHdzc0N8fHyJ28THxz+2fdHjk9q4uroavG9lZQVnZ2d9Gx8fH/z555+YPn06VCoVnJyccPPmTWzatOmx5zRt2jSkpqbqlxs3nnCLHN4P0iSsFHIsHuAPZzslzt9Jw+c7zkkdEhERkQGjr4JcvXo1fv31V/To0cMU8VQI8fHxGDlyJIYNG4aBAwciPT0dM2bMwOuvv449e/Y88mpPlUoFlUpV+gPJFYCNs64GLDMJsHcvpzMgd0c1vurnizdWnsCaY3F4tl4NvNLKU+qwiIiIAJShB8zZ2Rn169d/6gO7uLhAoVAgISHBYH1CQgLc3UtORNzd3R/bvujxSW0eLvIvKChAcnKyvs3SpUvh6OiIuXPnwt/fHy+88ALWrFmDsLAw/TBluWEhvsl0auyKtzvpflff//UMriVlShwRERGRjtEJ2Mcff4yZM2ciKyvrqQ6sVCrRpk0bhIWF6ddptVqEhYUhMDCwxG0CAwMN2gPAnj179O19fHzg7u5u0CYtLQ3h4eH6NoGBgUhJSUFERIS+zd69e6HVahEQEAAAyMrKglxu+KNRKBT6GMsVZ8M3qUldG+EZ7+rIyC3A2PWRyC1gPRgREVUAxlbt+/n5CXt7e1GtWjXRokUL4e/vb7AYY8OGDUKlUolVq1aJc+fOiVGjRgknJycRHx8vhBBiyJAh4v3339e3P3z4sLCyshLz588X58+fFzNnzhTW1tbizJkz+jazZ88WTk5O4vfffxf//POP6NWrl/Dx8RHZ2dn6Nt27dxf+/v4iPDxcHDp0SDRs2FAMHDhQ/35YWJiQyWTik08+EZcuXRIREREiODhY1K1bV2RlZZX6/Ep1FcXGoborIY9+V+r9knFup2QJv092i7pTt4sZW888eQMiIqrSzHEVpNE1YCEhIeWW/PXv3x93797FjBkzEB8fDz8/P4SGhuqL6OPi4gx6otq3b49169bhww8/xPTp09GwYUNs3boVLVq00Ld57733kJmZiVGjRiElJQUdOnRAaGgo1Gq1vs3atWsxduxYdOnSBXK5HH369MHixYv177/44otYt24d5s6di7lz58LW1haBgYEIDQ2FjY1NuZ0/AA5BmoGHow2+6ueHN1edwOqj1/FsvRp4qaWH1GEREVEVJhNCCKmDsFRpaWlwdHREamoqHBwcSm60bxZwYDbQ5k2g59dmja+qmbXzPL4/eBX2aivsGPc86tSwlTokIiKqgEr1/f2USlUDxhzNhNgDZjZTghujdR0npOcUYNz6SOQVlHM9HxERUSmVKgFr3rw5NmzYgLy8vMe2u3z5MkaPHo3Zs2eXS3BVgh2L8M3FWiHHN4Naw9HGGqdvpmL2rgtSh0RERFVUqWrAvvnmG0ydOhVvv/02unbtirZt28LT0xNqtRr379/HuXPncOjQIZw9exZjx47F6NGjTR235eBVkGZVy8kGC/r6YsRPJ7HicCwC6jkjuDnnXyMiIvMqVQLWpUsXnDx5EocOHcLGjRuxdu1aXL9+HdnZ2XBxcYG/vz+GDh2KwYMHo3r16qaO2bJwCNLsgpq5YUQHH/zfoVi8u/k0mnk4wMuZ9WBERGQ+Rl0F2aFDB3To0MFUsVRNRT1g2fcBTQGgMPrCVCqD97o3wYnr93H6RgrGrY/CprcCobQyelo8IiKiMuE3jtRsnQEU3tqI94M0G6WVHEsG+sNBbYVTN1IwbzfrwYiIyHyYgElNrihMwsBhSDPzcrbFvL6+AIDlf8ci7HzCE7YgIiIqH0zAKgIW4ksmuLk73mjvDQCYvPk0bqVkSxsQERFVCUzAKgIW4ktq2stN0Kq2I1Ky8jFuXSTyNZwfjIiITIsJWEXAucAkpbJSYMnA1rBXWSEyLgXz/7wodUhERGThynTJnVarxZUrV5CYmAit1rC34IUXXiiXwKoUDkFKrk4NW8x9vRVGr43E9weu4lmfGujcxFXqsIiIyEIZnYAdO3YMgwYNwvXr14vdokgmk0Gj0ZRbcFUGhyArhJdaemBoYF38dPQ6Jm06hZ0TnoeHYznffJ2IiAhlGIL83//+h7Zt2yI6OhrJycm4f/++fklOTjZFjJaPPWAVxvSXm6K5pwPuZ+Vj/PooFLAejIiITMDoBOzy5cv48ssv0bRpUzg5OcHR0dFgoTJgDViFobZWYOmg1qimssKJa/ex8K9LUodEREQWyOgELCAgAFeuXDFFLFWXXU3dYwbnoaoIvF3sMOu1lgCApfticODSXYkjIiIiS2N0Ddi4ceMwefJkxMfHo2XLlrC2tjZ4v1WrVuUWXJXh4Kl7TL8DCAHIZNLGQ+jp64ljV+9hbXgcJm3U1YO5OailDouIiCyETDxcSf8EcnnxTjOZTAYhBIvwH5KWlgZHR0ekpqbCwcHh0Q3zs4Ev3HXPp14DbHhD84ogJ1+D3t8ewfk7aQjwccbaEQGwUnDmFiIiS1fq7++nYHQPWGxsrCniqNqsbQAbZyA7GUi7zQSsgtDVg/mj5zeHEB6bjMVhlzGpW2OpwyIiIgtgdAJWt25dU8RBDrX+TcDcmksdDRWqV7MavnytJSZsOIVv9l1BO58a6NDQReqwiIiokivTeEpMTAzGjRuHoKAgBAUFYfz48YiJiSnv2KqWojqwtFvSxkHF9PKrhQHPeEEIYOLGU0hMz5E6JCIiquSMTsB2796NZs2a4fjx42jVqhVatWqF8PBwNG/eHHv27DFFjFWDPgG7LW0cVKKPX22OJu72SMrIxcQNp6DRGlU6SUREZMDoBOz999/HO++8g/DwcHz11Vf46quvEB4ejokTJ2Lq1KmmiLFqcKyle2QPWIWktlZgyaDWsFUqcCTmHr7Ze1nqkIiIqBIzOgE7f/48hg8fXmz9f//7X5w7d65cgqqSHAoTsFQmYBVVA9dq+DykBQBgUdhlHInhxLlERFQ2RidgNWvWxKlTp4qtP3XqFFxdefPiMuMQZKXwWuva6NumNoQAJmw4hbvpuVKHRERElZDRV0GOHDkSo0aNwtWrV9G+fXsAwOHDhzFnzhxMmjSp3AOsMop6wJiAVXif9GqOUzdScDkxA5M2ncLqN9tBLufkuUREVHpGT8QqhMDXX3+NBQsW4PZtXbLg6emJd999F+PHj4eMs7jrGTWRW24GMKswCXv/BqA2zcRvVD4uJaTj1SWHkJOvxZRujTD2xYZSh0REROXEHBOxGp2APSg9PR0AYG9vX24BWRKjP8DZdYCcVODtcMC1iekDpKey+eQNvPvLP5DLgPUjn0VAvRpSh0REROXAHAnYU91Xxd7enslXeXLglZCVSd+2XnitdS1oBTB+QxTuZbAejIiISqdUNWCtW7dGWFgYqlevDn9//8cOM0ZGRpZbcFWOgyeQeI51YJXIZ71a4PSNFMTczcQ7m05j1RvPsB6MiIieqFQJWK9evaBSqfTPWedlIizEr3TsVFZYOrg1ei05jIOX7mLZwRi83amB1GEREVEF91Q1YPR4Ro8h758D7P8SaD0MeHWx6QOkcrPheBze33IGCrkMG0Y9i2e8naUOiYiIyqhC1oDVq1cP9+7dK7Y+JSUF9erVK5egqizeD7LS6v+MF3r5eUKjFRi/Pgr3M/OkDomIiCowoxOwa9euQaPRFFufm5uLmzdvlktQVRYnY620ZDIZvujdEvVc7HAnNQeTN5+GlveLJCKiRyj1RKzbtm3TP9+9ezccHR31rzUaDcLCwuDj41O+0VU1vAqyUqumssKSQa0R8u1h7L2QiOV/X8VbHetLHRYREVVApU7AQkJCAOj+0h82bJjBe9bW1vD29saCBQvKNbgqp6gHLCdVNzGrqpq08ZDRmnk6YGbPZvjgt2jM3X0Rbb2d0aZudanDIiKiCqbUQ5BarRZarRZ16tRBYmKi/rVWq0Vubi4uXryIV155xZSxWj61A6AsnFct/Y60sVCZDWpXB6+08tDXg6VksR6MiIgMGV0DFhsbCxcXF1PEQgAL8S2ATCbDrNdawruGLW6lZGPK5n/Ai42JiOhBRt+MGwAyMzNx4MABxMXFIS/P8K/78ePHl0tgVZZjLSDpIgvxKzl7tTWWDGqN1749gr/OJ+DHQ7EY8TyvEiYiIh2jE7CoqCi8/PLLyMrKQmZmJpydnZGUlARbW1u4uroyAXta7AGzGC1qOeLDV5pixu9nMSf0Atp6O8PPy0nqsIiIqAIwegjynXfeQc+ePXH//n3Y2Njg2LFjuH79Otq0aYP58+ebIsaqpehKyFQmYJZgyLN18XJLd+RrBMasjURqVr7UIRERUQVgdAJ26tQpTJ48GXK5HAqFArm5ufDy8sLcuXMxffp0U8RYtXAuMIsik8kwu08r1HHW1YO9+8tp1oMREZHxCZi1tTXkct1mrq6uiIuLAwA4Ojrixo0b5RtdVcT7QVocB7U1lgzyh7VChj/PJWDVkWtSh0RERBIzOgHz9/fHiRMnAAAdO3bEjBkzsHbtWkycOBEtWrQo9wCrHNaAWaRWtZ0w/eWmAIAvd57HPzdTpA2IiIgkZXQC9uWXX8LDwwMA8MUXX6B69eoYPXo07t69ix9++KHcA6xyihKw7GQgP1vaWKhcvdHeG8HN3ZCvERi7LgppOawHIyKqqoxKwIQQcHV1RWBgIADdEGRoaCjS0tIQEREBX19fkwRZpaidAGtb3XMOQ1oUmUyGuX18Ubu6DeKSs/D+r5wfjIioqjI6AWvQoAFrvUxJJmMdmAVztNXND2atkGHnmXisOXZd6pCIiEgCRiVgcrkcDRs2xL1790wVDwG8EtLC+Xk5YWr3JgCAz7afR/StVIkjIiIiczO6Bmz27Nl49913ER0dbYp4CHigB+ymtHGQyQzv4IOgpm7I02gxZl0k0lkPRkRUpRidgA0dOhTHjx+Hr68vbGxs4OzsbLAYa+nSpfD29oZarUZAQACOHz/+2PabN29GkyZNoFar0bJlS+zcudPgfSEEZsyYAQ8PD9jY2CAoKAiXL182aJOcnIzBgwfDwcEBTk5OGD58ODIyMortZ/78+WjUqBFUKhVq1aqFL774wujzKxP2gFk8mUyG+X1boZaTDa7fy8K0LWdYD0ZEVIUYfSuihQsXQiaTlcvBN27ciEmTJmHZsmUICAjA119/jeDgYFy8eBGurq7F2h85cgQDBw7ErFmz8Morr2DdunUICQlBZGSkfgqMuXPnYvHixVi9ejV8fHzw0UcfITg4GOfOnYNarQYADB48GHfu3MGePXuQn5+PN998E6NGjcK6dev0x5owYQL+/PNPzJ8/Hy1btkRycjKSk5PL5byfiAlYleBkq8Tigf7o//1RbP/nDgLr18DggLpSh0VEROYgJNSuXTsxZswY/WuNRiM8PT3FrFmzSmzfr18/0aNHD4N1AQEB4q233hJCCKHVaoW7u7uYN2+e/v2UlBShUqnE+vXrhRBCnDt3TgAQJ06c0LfZtWuXkMlk4tatW/o2VlZW4sKFC091fqmpqQKASE1NNW7DC7uEmOkgxLLnn+r4VDks239F1J26XTT8YKc4e8vI3xUiIip3Zf7+NoLRQ5AKhQKJiYnF1t+7dw8KhaLU+8nLy0NERASCgoL06+RyOYKCgnD06NEStzl69KhBewAIDg7Wt4+NjUV8fLxBG0dHRwQEBOjbHD16FE5OTmjbtq2+TVBQEORyOcLDwwEAf/zxB+rVq4ft27fDx8cH3t7eGDFixBN7wHJzc5GWlmawlAl7wKqUkc/Xw4tNXJFXoMXYdZHIyC2QOiQiIjIxoxMw8Yg6ldzcXCiVylLvJykpCRqNBm5ubgbr3dzcEB8fX+I28fHxj21f9PikNg8Pb1pZWcHZ2Vnf5urVq7h+/To2b96Mn376CatWrUJERARef/31x57TrFmz4OjoqF+8vLwe2/6RiorwM+8CBbll2wdVGnK5DAv6+sLDUY2rSZn44DfWgxERWbpS14AtXrwYgK54+P/+7/9QrVo1/XsajQYHDx5EkyZNyj9CCWi1WuTm5uKnn35Co0aNAAA//vgj2rRpg4sXL6Jx48Ylbjdt2jRMmjRJ/zotLa1sSZitM2ClBgpygPQ7QHXvspwGVSLV7ZT4ZqA/+v9wDL+fuo3AejUwoF0dqcMiIiITKXUCtnDhQgC6HrBly5YZDDcqlUp4e3tj2bJlpT6wi4sLFAoFEhISDNYnJCTA3d29xG3c3d0f277oMSEhQX+7pKLXfn5++jYPD6EWFBQgOTlZv72HhwesrKz0yRcANG2qu49fXFzcIxMwlUoFlUr12PMuFZlMNwyZfFU3DMkErEpo6+2Myd0aYW7oRczcdhZ+dZzQxN1B6rCIiMgESj0EGRsbi9jYWHTs2BGnT5/Wv46NjcXFixexe/duBAQElPrASqUSbdq0QVhYmH6dVqtFWFiY/lZHDwsMDDRoDwB79uzRt/fx8YG7u7tBm7S0NISHh+vbBAYGIiUlBREREfo2e/fuhVar1cf/3HPPoaCgADExMfo2ly5dAgDUrWumq9Q4G36V9L8X6qNjo5rILdBizNpIZLIejIjIMpmsvL8UNmzYIFQqlVi1apU4d+6cGDVqlHBychLx8fFCCCGGDBki3n//fX37w4cPCysrKzF//nxx/vx5MXPmTGFtbS3OnDmjbzN79mzh5OQkfv/9d/HPP/+IXr16CR8fH5Gdna1v0717d+Hv7y/Cw8PFoUOHRMOGDcXAgQP172s0GtG6dWvxwgsviMjISHHy5EkREBAgunbtatT5PdVVFL+O1F0J+fdC47elSi0pPUe0+2KPqDt1u3hnY5TU4RARVTnmuArS6HnANBoNVq1ahbCwMCQmJkKr1Rq8v3fv3lLvq3///rh79y5mzJiB+Ph4+Pn5ITQ0VF9EHxcXB7n830669u3bY926dfjwww8xffp0NGzYEFu3btXPAQYA7733HjIzMzFq1CikpKSgQ4cOCA0N1c8BBgBr167F2LFj0aVLF8jlcvTp00df4wborsb8448/MG7cOLzwwguws7PDSy+9hAULFhj74yo7XglZZdWopsLiAf4YuPwYtkTeQmC9GujbtowXdBARUYUkE8K4y63Gjh2LVatWoUePHvDw8Cg2KWtRrRjphj8dHR2RmpoKBwcja3mOLwd2TgGavAIMWGuaAKlCW7L3Mub/eQlqazm2je2ARm72UodERFQlPNX3dykZ3QO2YcMGbNq0CS+//LIp4qEi7AGr8t7u1ADhscn4+3ISxqyNxO9jn4Ot0uh/skREVAEZPQ+YUqlEgwYNTBELPYgJWJUnl8vwVT8/1LRX4XJiBmb+flbqkIiIqJwYnYBNnjwZixYt4kSRplZ0FWRGAqDJlzYWkkxNexUWDfCDXAZsjriJLZE3pQ6JiIjKgdHjGYcOHcK+ffuwa9cuNG/eHNbW1gbvb9mypdyCq9JsXQCFEtDkAenxgBOLsKuq9vVdML5LQ3z912V8uDUarWo7oYFrtSdvSEREFZbRCZiTkxN69+5tiljoQXI5YO8BpFzXDUMyAavSxr3YEMdjk3Ek5h7GrI3E1jHPwUZZ+nuvEhFRxWJ0ArZy5UpTxEElcahVmIDdBFD6SW7J8ijkMnw9wA8vLzqEiwnp+OSPs5jdp5XUYRERURkZXQMG6G7d89dff+H7779Heno6AOD27dvIyMgo1+CqPBbi0wNc7dVYNMAPMhmw4cQN/H7qltQhERFRGRmdgF2/fh0tW7ZEr169MGbMGNy9excAMGfOHEyZMqXcA6zSmIDRQ55r4IJxnXVXIU/fcgZX7/KPHiKiysjoBGzChAlo27Yt7t+/DxsbG/363r17F7tPIz0l/f0g2dNB/5oQ1AgBPs7IzNNgzLoo5ORrpA6JiIiMZHQC9vfff+PDDz+EUqk0WO/t7Y1bt5golCv2gFEJFHIZFg/0Rw07Jc7fScNn289JHRIRERnJ6ARMq9VCoyn+F/fNmzdhb89bpZQrfQ8YEzAy5Oagxlf9/QAAa8PjsP0f/o4QEVUmRidg3bp1w9dff61/LZPJkJGRgZkzZ/L2ROXNsTABS48HNAXSxkIVTsdGNTGmc30AwPu/nsG1pEyJIyIiotIyOgFbsGABDh8+jGbNmiEnJweDBg3SDz/OmTPHFDFWXXY1AbkVIDRAZqLU0VAF9E5QI7TzdkZGbgHGrItkPRgRUSVhdAJWu3ZtnD59Gh988AHeeecd+Pv7Y/bs2YiKioKrq6spYqy65ArdZKwAhyGpRFYKORYN9EN1W2ucvZ2GL3eelzokIiIqBZngTR1NJi0tDY6OjkhNTYWDg0PZdvJjN+BGONB3FdCcdyCgku27mIg3V54AAHw7uDVebukhcURERJVXuXx/P4HRPWCzZs3CihUriq1fsWIFhyBNobq37jH5qqRhUMXWubEr3upYDwAw9Zd/EHcvS+KIiIjocYxOwL7//ns0adKk2PrmzZtj2bJl5RIUPaBGQ91j0hVp46AKb0q3xmhTtzrScwswdn0kcgtYD0ZEVFEZnYDFx8fDw6P48EbNmjVx586dcgmKHuCim/Uc9y5LGwdVeNYKORYP9IeTrTX+uZmK2bsuSB0SERE9gtEJmJeXFw4fPlxs/eHDh+Hp6VkuQdEDahQlYOwBoyer5WSDBX19AQArD19DaHS8xBEREVFJjE7ARo4ciYkTJ2LlypW4fv06rl+/jhUrVuCdd97ByJEjTRFj1easm+cJ2feBzHvSxkKVQpembhj5vA8A4L1fTuNGMuvBiIgqGitjN3j33Xdx7949vP3228jLywMAqNVqTJ06FdOmTSv3AKs8pS3gUBtIu6nrBbOrIXVEVAm8170JTly7j1M3UjB2fRQ2vxUIpZXRf28REZGJGP0/skwmw5w5c3D37l0cO3YMp0+fRnJyMmbMmGGK+AhgHRgZzVohxzcD/eGgtsLpGymYG8p6MCKiiqTMfxJXq1YNzzzzDFq0aAGVSlWeMdHD9FdCMgGj0vNytsW8wnqw/zsUi7/OJUgcERERFTE6AcvMzMRHH32E9u3bo0GDBqhXr57BQibAQnwqo+Dm7njzOW8AwOTNp3ErJVvagIiICEAZasBGjBiBAwcOYMiQIfDw8IBMJjNFXPQgFyZgVHbTXmqKyOv3cfpmKsaui8SmtwJhrWA9GBGRlIxOwHbt2oUdO3bgueeeM0U8VJKiHrDkq4BWo7tHJFEpKa3kWDKoNV5e/Dei4lIwf/dFTHu5qdRhERFVaUb/GVy9enU4OzubIhZ6FEcvQKECNHlASpzU0VAl5OVsi3mvtwIAfH/wKvZeYD0YEZGUjE7APvvsM8yYMQNZWZxbyGzkCqBG4XxgHIakMurewgPDAusCACZvOo07qawHIyKSitFDkAsWLEBMTAzc3Nzg7e0Na2trg/cjIyPLLTh6QI36QOI5XQLWsKvU0VAlNb1HU0TE3Uf0rTSMXx+F9SOfhRXrwYiIzM7oBCwkJMQEYdATcSoKKgcqKwWWDGyNV745hBPX7uOrPZfwXvcmUodFRFTlGJ2AzZw50xRx0JO4FCZgnIyVnpK3ix1m92mJseui8O3+GLTzcUanxq5Sh0VEVKWUeewhIiICa9aswZo1axAVFVWeMVFJ9HOBxUgbB1mEV1p54j/P1gEATNp0GvGpORJHRERUtRjdA5aYmIgBAwZg//79cHJyAgCkpKSgc+fO2LBhA2rWrFneMRLwbwKWdgvIywSUdtLGQ5Xehz2aIfJ6Cs7dScP4DVFYNyKA9WBERGZi9P+248aNQ3p6Os6ePYvk5GQkJycjOjoaaWlpGD9+vCliJACwdQZsCqf/YC8YlQO1tQJLB7eGnVKB47HJWBTG4W0iInMxOgELDQ3Ft99+i6ZN/53IsVmzZli6dCl27dpVrsHRQ1gHRuXMx8UOX77WEgCwZN8VHLqcJHFERERVg9EJmFarLTb1BABYW1tDq9WWS1D0CPorITkXGJWfXn61MLCdF4QAJm6MQmIa68GIiEzN6ATsxRdfxIQJE3D79m39ulu3buGdd95Bly5dyjU4eggnYyUTmdmzOZq42yMpIw8TNpyCRiukDomIyKIZnYAtWbIEaWlp8Pb2Rv369VG/fn34+PggLS0N33zzjSlipCIcgiQTKaoHs1UqcPTqPSxmPRgRkUkZfRWkl5cXIiMj8ddff+HChQsAgKZNmyIoKKjcg6OHFF0JmXQFEAKQyaSNhyxK/ZrV8EXvFnhn42ks3nsZAT7OaN/AReqwiIgskkwIwbEGE0lLS4OjoyNSU1Ph4ODw9DssyAW+cAeEFph8CbB3e/p9Ej3kvV9OY9PJm6hpr8LO8c+jpr1K6pCIiMyq3L+/S1DqIci9e/eiWbNmSEtLK/Zeamoqmjdvjr///rtcg6OHWKkAJ93kmRyGJFP55NUWaORWDXfTc/HORtaDERGZQqkTsK+//hojR44sMRN0dHTEW2+9ha+++qpcg6MS6GfEZyE+mYaNUoGlg1rDxlqBQ1eS8O0+/q4REZW3Uidgp0+fRvfu3R/5frdu3RAREVEuQdFj8KbcZAYN3ezxWUgLAMDCvy7h2NV7EkdERGRZSp2AJSQklDj/VxErKyvcvXu3XIKix3BhDxiZx+ttaqNP69rQCmD8+igkZeRKHRIRkcUodQJWq1YtREdHP/L9f/75Bx4eHuUSFD0GhyDJjD4LaY4GrtWQWFgPpmU9GBFRuSh1Avbyyy/jo48+Qk5O8Vmys7OzMXPmTLzyyivlGhyVoGgI8v41QJMvaShk+WyVVlg6qDXU1nL8fTkJ3x3gfUiJiMpDqaehSEhIQOvWraFQKDB27Fg0btwYAHDhwgUsXboUGo0GkZGRcHPj1AhFTHIZq1YLzKoF5GcBYyP+HZIkMqGNJ+Iw9dczUMhl2DDqWTzj7Sx1SEREJlOhpqFwc3PDkSNH0KJFC0ybNg29e/dG7969MX36dLRo0QKHDh1i8mUOcvkDtyRiIT6ZR7+2Xgjx84RGKzBuXRSSM/OkDomIqFIz6lZEdevWxc6dO5GUlITw8HAcO3YMSUlJ2LlzJ3x8fEwVIz2MV0KSmclkMnzeuyXqudghPi0HkzexHoyI6GkYfS9IAKhevTqeeeYZtGvXDtWrV3/qIJYuXQpvb2+o1WoEBATg+PHjj22/efNmNGnSBGq1Gi1btsTOnTsN3hdCYMaMGfDw8ICNjQ2CgoJw+bJhspKcnIzBgwfDwcEBTk5OGD58ODIyMko83pUrV2Bvbw8nJ6enOs9yw0J8kkA1lRWWDm4NlZUc+y7exQ9/X5U6JCKiSqtMCVh52rhxIyZNmoSZM2ciMjISvr6+CA4ORmJiYontjxw5goEDB2L48OGIiopCSEgIQkJCDK7QnDt3LhYvXoxly5YhPDwcdnZ2CA4ONriAYPDgwTh79iz27NmD7du34+DBgxg1alSx4+Xn52PgwIF4/vnny//ky0p/U24mYGReTT0cMLNncwDAvN0XEXE9WeKIiIgqJ8nvBRkQEIBnnnkGS5YsAQBotVp4eXlh3LhxeP/994u179+/PzIzM7F9+3b9umeffRZ+fn5YtmwZhBDw9PTE5MmTMWXKFAC6WyW5ublh1apVGDBgAM6fP49mzZrhxIkTaNu2LQAgNDQUL7/8Mm7evAlPT0/9vqdOnYrbt2+jS5cumDhxIlJSUh55Lrm5ucjN/XeupLS0NHh5eZV/Ed+tCGD5i4CdK/AuhyHJvIQQGL/hFP44fRuejmrsGP88qtsppQ6LiKjcVKgifFPIy8tDREQEgoKC9OvkcjmCgoJw9OjRErc5evSoQXsACA4O1rePjY1FfHy8QRtHR0cEBATo2xw9ehROTk765AsAgoKCIJfLER4erl+3d+9ebN68GUuXLi3V+cyaNQuOjo76xcvLq1TbGa2oBiwzEchJNc0xiB5BJpPhy94t4F3DFrdTc/DuL6ch8d9xRESVjqQJWFJSEjQaTbGrJ93c3BAfH1/iNvHx8Y9tX/T4pDaurq4G71tZWcHZ2Vnf5t69e3jjjTewatWqUme/06ZNQ2pqqn65ceNGqbYzmtoBqFZ4fhyGJAnYq62xZFBrKBVy/HU+ET8eipU6JCKiSkXyGrCKauTIkRg0aBBeeOGFUm+jUqng4OBgsJiMvhCfE2OSNFrUcsRHrzQFAMzedQFRcfcljoiIqPKQNAFzcXGBQqFAQkKCwfqEhAS4u7uXuI27u/tj2xc9PqnNw0X+BQUFSE5O1rfZu3cv5s+fDysrK1hZWWH48OFITU2FlZUVVqxYUcYzLkdFCRinoiAJ/efZuujR0gMFWoGx66KQmsW7MxARlYakCZhSqUSbNm0QFhamX6fVahEWFobAwMAStwkMDDRoDwB79uzRt/fx8YG7u7tBm7S0NISHh+vbBAYGIiUlBREREfo2e/fuhVarRUBAAABdndipU6f0y6effgp7e3ucOnUKvXv3Lp8fwNPQXwnJBIykI5PJMKtPS9RxtsWtlGxMYT0YEVGpWEkdwKRJkzBs2DC0bdsW7dq1w9dff43MzEy8+eabAIChQ4eiVq1amDVrFgBgwoQJ6NixIxYsWIAePXpgw4YNOHnyJH744QcAui+EiRMn4vPPP0fDhg3h4+ODjz76CJ6enggJCQEANG3aFN27d8fIkSOxbNky5OfnY+zYsRgwYID+CsimTZsaxHny5EnI5XK0aNHCTD+ZJ+BcYFRBOKitsXRQa/T57gj2nEvAysPX8N8OnJiZiOhxJE/A+vfvj7t372LGjBmIj4+Hn58fQkND9UX0cXFxkMv/7ahr37491q1bhw8//BDTp09Hw4YNsXXrVoPE6L333kNmZiZGjRqFlJQUdOjQAaGhoVCr1fo2a9euxdixY9GlSxfI5XL06dMHixcvNt+JPy39bPhXAE0BoJD8o6QqrGVtR0x/uQk+/uMcZu06jzZ1q8PXy0nqsIiIKizJ5wGzZCadR0SrBebUBXLTgP8dAtxblu/+iYwkhMDoNZEIPRsPL2cbbB/3PBxtrKUOi4jIaBY/Dxg9Bbkc8PTXPb95UtpYiKAb/p/zeivUrm6DG8nZeP/Xf1gPRkT0CEzAKrPahRPJMgGjCsLRRjc/mLVChl3R8fj52HWpQyIiqpCYgFVmtZ/RPd5iAkYVh5+XE95/SXcRy+fbzyP6Fu/WQET0MCZglVmtwh6wuxd5SyKqUP77nDe6NnNDnkaLMesikZ7D+cGIiB7EBKwyq1YTcKoLQAC3IqWOhkhPJpNh3uutUMvJBtfvZeH9LWdYD0ZE9AAmYJVdUR0YhyGpgnGyVeKbQf6wksuw4587WBseJ3VIREQVBhOwyq4WC/Gp4mpdpzre694YAPDp9nM4e5tD5UREABOwyq+oEP/mSYBDPFQBjehQD12auCKvQIux66KQkVsgdUhERJJjAlbZubcE5NZAVhJw/5rU0RAVI5fLML+vLzwd1YhNysR01oMRETEBq/Ss1YBHK93zWxGPb0skkep2unowhVyGbadvY8OJG1KHREQkKSZglkBfB3ZC2jiIHqNNXWdM6aarB/t421mcv5MmcURERNJhAmYJOCM+VRJvvVAPnRrXRG6Bbn6wTNaDEVEVxQTMEhQlYPH/AAW50sZC9BhyuQwL+vrCzUGFq3cz8dHWaNaDEVGVxATMElT3AWxrAJo8IP6M1NEQPVaNaiosHuAPuQzYEnULmyNuSh0SEZHZMQGzBDIZ5wOjSiWgXg1MLqwHm/F7NC4lpEscERGReTEBsxS1WYhPlcvojvXxfEMX5ORr8fbaSGTlsR6MiKoOJmCWolYb3SNvSUSVhFwuw8L+fnC1V+FKYgZm/H5W6pCIiMyGCZilKErA7l8DMpMkDYWotFyqqbCosB7sl4ib+JX1YERURTABsxQ2ToBLI91z1oFRJRJYvwYmdNH97n64NRpXElkPRkSWjwmYJSkqxOcwJFUyY19sgPb1ayA7X4Mxa6OQnaeROiQiIpNiAmZJWIhPlZRCLsPXA/zgUk2Fiwnp+Hgb68GIyLIxAbMkRQnYrUhAq5U2FiIjudqrsWiAH2QyYOPJG9gadUvqkIiITIYJmCVxbQ5Y2QC5acC9y1JHQ2S05xq4YNyLDQEA0387g5i7GRJHRERkGkzALInCCvD01z3nMCRVUhO6NMSz9ZyRlafBmLWRyMlnPRgRWR4mYJamduF0FLwSkiophVyGRQP8UcNOiQvx6fh0+zmpQyIiKndMwCxN7Wd0j0zAqBJzc1BjYX9dPdi68Dj8cfq21CEREZUrJmCWpmgqisSzQF6mtLEQPYUXGtXEmE4NAADTtpxBbBJ/n4nIcjABszSOtQB7T0BogdunpI6G6KlMDGqIdt7OyMgtYD0YEVkUJmCWSF8HxkJ8qtysFHIsHugPZzslzt1Jwxc7zksdEhFRuWACZolqcUJWshzujmp81c8XAPDzsevYeeaOxBERET09JmCWyOcF3WPMPiAvS9pYiMpBp8au+F/H+gCAqb/8g+v3WA9GRJUbEzBL5OkPONYB8jOBmDCpoyEqF5O7NUKbutWRnluAseuikFvAejAiqryYgFkimQxo9qru+bnfpY2FqJxYK+T4ZqA/nGytceZWKmbtvCB1SEREZcYEzFI166V7vBgK5OdIGwtROfF0stHXg606cg2h0awHI6LKiQmYparVVjcdRV46cHWf1NEQlZsXm7hh1Av1AADv/vIPbiSzzpGIKh8mYJZKLn9gGHKbtLEQlbN3gxvDv44T0nMKMHZdJPIKtFKHRERkFCZglkw/DLkDKMiTNhaiclRUD+ZoY43TN1MxJ5T1YERUuTABs2ReAUA1NyAnFYg9KHU0ROWqdnVbzHu9FQDgx0Ox2HMuQeKIiIhKjwmYJZMrgKY9dc/PbZU0FCJT6NbcHf99zgcAMGXzady8z3owIqocmIBZuqJhyAvbAU2+tLEQmcD7LzWBb21HpGbnY9z6KORrWA9GRBUfEzBLV6c9YOsCZN8Hrh2SOhqicqe0kmPJoNawV1shKi4F83ZflDokIqInYgJm6RRWQNNXdM85KStZKC9nW8x7XTc/2A8Hr2LvBdaDEVHFxgSsKmhaOB3F+T8ALW/fQpapewt3vNHeGwAwadNp3E7JljYgIqLHYAJWFfi8AKidgKwk4PoRqaMhMplpLzdBy1qOSMnKx3jWgxFRBcYErCpQWANNOAxJlk9lpcCSQf6wV1nh5PX7+GrPJalDIiIqEROwqqLoasjzfwBa9gqQ5apbww6z++jmB/tufwz2XUyUOCIiouKYgFUV9ToCKkcgIx64eVzqaIhMqkcrDwx5ti4AYPKm04hP5Q3piahiYQJWVVipgMYv6Z5zGJKqgA96NEUzDwckZ+Zh/PooFLAejIgqkAqRgC1duhTe3t5Qq9UICAjA8eOP76HZvHkzmjRpArVajZYtW2Lnzp0G7wshMGPGDHh4eMDGxgZBQUG4fPmyQZvk5GQMHjwYDg4OcHJywvDhw5GRkaF/f//+/ejVqxc8PDxgZ2cHPz8/rF27tvxOWgpFw5DnfucwJFk8tbUCSwe3hp1SgePXkvH1X5efvBERkZlInoBt3LgRkyZNwsyZMxEZGQlfX18EBwcjMbHkuo0jR45g4MCBGD58OKKiohASEoKQkBBER0fr28ydOxeLFy/GsmXLEB4eDjs7OwQHByMn599hiMGDB+Ps2bPYs2cPtm/fjoMHD2LUqFEGx2nVqhV+/fVX/PPPP3jzzTcxdOhQbN++3XQ/DFOr/yKgrAak3QJuR0odDZHJ+bjYYVZhPdjS/Vfw9+W7EkdERKQjE0IIKQMICAjAM888gyVLlgAAtFotvLy8MG7cOLz//vvF2vfv3x+ZmZkGidCzzz4LPz8/LFu2DEIIeHp6YvLkyZgyZQoAIDU1FW5ubli1ahUGDBiA8+fPo1mzZjhx4gTatm0LAAgNDcXLL7+MmzdvwtPTs8RYe/ToATc3N6xYsaJU55aWlgZHR0ekpqbCwcHBqJ+LyfwyHIj+BQgYDbw0W+poiMxi2pYzWH88DjXslNg14Xm4OqilDomIKjBzfH9L2gOWl5eHiIgIBAUF6dfJ5XIEBQXh6NGjJW5z9OhRg/YAEBwcrG8fGxuL+Ph4gzaOjo4ICAjQtzl69CicnJz0yRcABAUFQS6XIzw8/JHxpqamwtnZ+ZHv5+bmIi0tzWCpcFr11z1GrgbSOVs4VQ0zezZDE3d73MvMw/gNUdBoJf27k4hI2gQsKSkJGo0Gbm5uBuvd3NwQHx9f4jbx8fGPbV/0+KQ2rq6uBu9bWVnB2dn5kcfdtGkTTpw4gTfffPOR5zNr1iw4OjrqFy8vr0e2lUzDrkDtZ4D8LODgPKmjITKLonowW6UCx64mY1EY68GISFqS14BVBvv27cObb76J5cuXo3nz5o9sN23aNKSmpuqXGzdumDHKUpLJgC4zdM8jVgH3r0kZDZHZ1K9ZDV/2bgkA+GbvZRy+kiRxRERUlUmagLm4uEChUCAhwXAoLCEhAe7u7iVu4+7u/tj2RY9PavNwkX9BQQGSk5OLHffAgQPo2bMnFi5ciKFDhz72fFQqFRwcHAyWCsnnBaBeZ0CbD+ybJXU0RGYT4l8L/dt6QQhgwoZTSEzn/GBEJA1JEzClUok2bdogLCxMv06r1SIsLAyBgYElbhMYGGjQHgD27Nmjb+/j4wN3d3eDNmlpaQgPD9e3CQwMREpKCiIiIvRt9u7dC61Wi4CAAP26/fv3o0ePHpgzZ47BFZIWoagX7J+NQMI5aWMhMqOPX22Oxm72SMrIxTsbT7EejIgkIfkQ5KRJk7B8+XKsXr0a58+fx+jRo5GZmamvtRo6dCimTZumbz9hwgSEhoZiwYIFuHDhAj7++GOcPHkSY8eOBQDIZDJMnDgRn3/+ObZt24YzZ85g6NCh8PT0REhICACgadOm6N69O0aOHInjx4/j8OHDGDt2LAYMGKC/AnLfvn3o0aMHxo8fjz59+iA+Ph7x8fFITk427w/IVGq1Bpq+CkAAez+XOhois7FRKrB0sD9srBU4fOUelu67InVIRFQViQrgm2++EXXq1BFKpVK0a9dOHDt2TP9ex44dxbBhwwzab9q0STRq1EgolUrRvHlzsWPHDoP3tVqt+Oijj4Sbm5tQqVSiS5cu4uLFiwZt7t27JwYOHCiqVasmHBwcxJtvvinS09P17w8bNkwAKLZ07Nix1OeVmpoqAIjU1NTS/zDMKfGCEB87CTHTQYi441JHQ2RWv5y8IepO3S583t8ujlxJkjocIqpAzPH9Lfk8YJasQs4D9rCtY4BTawDv54Fhf+iK9ImqiCmbT+OXiJtwtVdh54Tn4VJNJXVIRFQBWPw8YFQBdHofUCiBa38DMXuljobIrD7t1RwNXashMV1XD6ZlPRgRmQkTsKrOyQtoO1z3POxTgB2iVIXYKq2wdHBrqK3l+PtyEr47ECN1SERURTABI+D5yYC1HXDnlO5G3URVSCM3e3z6agsAwII/L+J4rIVcaENEFRoTMAKq1QQCx+ie7/0c0BRIGw+RmfVtWxu9/WtBK4Dx66OQnJkndUhEZOGYgJFO+7GATXXg3mXg9DqpoyEyK5lMhs9DWqBeTTvEp+Vg0ibWgxGRaTEBIx21o24oEgB2vQ/cjHh8eyILY6eywtJBraGykmP/xbv4/uBVqUMiIgvGBIz+1e4toP6LQH4msPZ14O4lqSMiMqumHg74+FXd/V7n/3kRJ6+xHoyITIMJGP3LSgn0+xmo1QbITgZ+7g2k3pI6KiKzGvCMF1719YRGKzBufRTusx6MiEyACRgZUlUDBm0GajQE0m4Ca14DstgLQFWHTCbDl6+1hI+LHe6k5mDK5tPgfNVEVN6spA6AKiC7GsCQLcCPwcDdC8C6/sDQ3wGlrdSREZlFNZUVlgzyR+9vjyDsQiL+7+9YjHyhntRhEVEpabQCufkFyMvNRl5OFvJyspGfm4WC3Czk5+ZAk5cJTV4OtHnZ0OTnQJuXBVGQA+TlQBTkIDM91eQx8lZEJlQpbkX0OInngRXdgZwUoGE3YMA6QGEtdVREZvPzsev4aGs0rOQybPpfIFrXqS51SEQVXoFGizyNFrn5WuQWaJGbn4/8wgSoKAkqyMtBQW4WNHnZ0OZnQ+TnQJufA5GfDeTnAgXZQEEuZAU5kBXkQK7JhVyTC4U2BwpNHhTaXFiJXFhp82AtcmEt8qEUuVCKfKiQBxXyoJbll/kc0nIFHGenm/T7mwmYCVX6BAwA4sKBn3rp/jG0GgCEfAfIOXJNVYMQAmPXR2HHP3dQy8kGO8Z3gJOtUuqwiB6pQFOY9BRokVugQV7R83wtcvNydclPbjYK8nRJkCYvW9cLlKdLgkRRElSY+KAgFzJNDmQFuVBocyEvyIFCq3tupc2DtTYXVkKXBClFPpSFyY9uydctMunnltQKGXJlSuRCiTyZEvmwRr5chQKZEvlyFTRyJQrkamgVKmgUKqTnydBl6kYmYJWVRSRgAHBpN7B+ICA0wLNvA90+B+QKqaMiMov0nHy88s0hXL+XhaCmblg+tA1kvGk9PUQIgQKtKEx2NA/1ABUgPy8X+bnZyM/LQUFuDjT52SjIy4UmvzAJys+FtiAH2vxcoCAXokD3qEuAciHT5EGmyYVcmwe5Jg9ybV5hIpQPa5FXmATlQa1PfPKgkuXrX6uRByuZVuofEwqgQF5RElSY/BTIlCgoTII0CjW0CiU0cjWElQpCoYKwsgGsVIC1DWRWKsiUNpBZqSFX2kBRuFgVLSpbWKlsoFTZwlptA6XaFlZKW93ojRH/bs3x/c0EzIQsJgEDgFPrga3/0z13awl0nwX4PC9tTERmEn0rFa99ewR5Gi0+eqUZhnfwkTokeoAQAvka8VCPj0bX45OXo0t8cnOQn5cNbV6OrucnX7do83Ohzc+FyM+GKMjT1QEV5EFociEvyAUKkx/d8Fce5Nr8wsQnDwpRlPzk64bAoFtUssJHFBT2AJV9KMxU8mGFPNm/PUAFciU0cpVuUaigVaigVagLEyA1YK0GrHSLzFoNubUN5Nb/JkFWSjUUSl3yY622hbVKtyiUaqAogbJSA4rKUXrOBKySs6gEDABOrQNC3wdyCosTm74KdPsMqO4taVhE5rD6yDXM3HYW1goZfvlfe/h6OUkdUoUghECeRvtv4pOXj7ycLOTnFSY9uTkoKBziKsjPLSx8ztH39mjzcwx6fIQmF7KCPH2vj7yo10ebp0t6tLqEx0rf65OvG/qS5UOJAqiQV/iYD7msYn69FcAK+TIlCmTWukWuhFau1PUAyZUQCiW0chWElQpQKHUJkEKp6/2xUkFmrYbMSgW5Ug2FtQoKa/W/vUCFPUBWKlsorNWAdVHy828vEhQqlpI8AROwSs7iEjBANyXFvi+Bkz8CQqv7h9x+LNBhkm4KCyILJYTA6DWRCD0bj9rVbbBj/PNwtJH2opSi5Cc3vwC52dnIy81CQW4O8vJyUJCbjfy8bGjyc6HJ1SU/2vyi5OfBHp9/h7p0vT1FiU8e5NrcwsQnv7DoOR9WhQmQNfKhFHm6x8KER4n8CjHMVZICKHR1P4WJj0ZurRv2klnrkh+FCtrC5EcoVBAKpe7/NyvdIrNWQ26lgsxapev5eTDxsVbBSqWGldIW1io1rK3VkCvVBttDoSzsAVIy+akEmIBVchaZgBVJOAuETgNiD+heV3MHgj4GWvXnfy5ksVKz8/HKN3/jRnI2ujdzw9d9myI3N0eX+OTo6nuK6nw0RUu+7lGbr0t8dDU+ORD5uRCaPF2hsyYPsoJcyLS5/yY+mvwHenz+7fWx1ic/ukcV8mEt00j9oymRBnLkQdfLky+z1tX6yKx1PT2ywh4fhQqiqNenKPGxUgEKVfEeH33SoxsCs1KpYGWthrXKFlZKtS75UdpAbv1g4lP4yLpVMgITsErOohMwABACuLgT2D0duH9Nt87DD2geAvh0BDx8+Z8elS8hAE0+UJi06HpuHnyu68VBQV7h+gd7dwrXFeQVrn/w+cNtStqX7hhFCZWyAlzZVRItZMiDdcmJj0ypH+7Syv9NeLSFvT4PJixFvT0yK11vj264S7dYKQsXla72R6mygbXKBkqVGjIr9b/7qST1PkQPYwJWyVl8AlakIBc49h1wcB6Ql/HvepUj4N0BqNcR8HkBqNnEqKtQqALQFOiSEE3eA8lKnu61/nlp3s83TGg0eYbJTrHkqISkqSihqqByhTXyZFb6Ya58FCY+csPERyP/N+EpGu5CUa+Plbqwx0cFeVHiU5j0KJS6xUqphnVh8mOtUkOp1F3pZa3UJUvGXu1FRMUxAavkqkwCViQ9ATi7BYg9CFw7BOSmGb5v56pLxHxe0PWO2dUE7Fx0XzxVnVbzb8JR1Jvz8POiBEafzDyiXbFt8v9NavTvP5Do6N8vIZkSFbOeR09uXXhllrLkehuD5w/U4Dw8PKV//nAbteH2D7TP1CggrFRQKm10yQ+H3oksBhOwSq7KJWAP0hQA8aeBqwd0CVncMd1kriVROepuf2RXE7B10SVlRcmZXU3AtgZg6wzIFIV/2Rf+dV/03OARhs+LtS+MTZMHaPMLk4+iHpkHX+c/ok2BYXvtQ+01JeyzqI1Bz89DyZSomDU8hmT/JjT6Op2i5w8kJwrrf5MZfe+OsuR1JSY7JSVEDydHLGYmItNhAlbJVekE7GEFucDNE7pkLPYgkBwLZCUB2opZRyO5UiczDyZDhe31vT4lJEvF1pVim6LncisObRFRlcAErJJjAvYEQujuM5mZVLjc1S1Z9wqfJ/37mH2/cDhM6LaD+HcfD64TeEIbFCYVVoWP1v8mGXKrf5/r11sb30ZhrRsaK7GN6hG9RSrD7ZnoEBFJxhzf37xEhaQjkwE21XWLS0OpoyEiIjIbFlAQERERmRkTMCIiIiIzYwJGREREZGZMwIiIiIjMjAkYERERkZkxASMiIiIyMyZgRERERGbGBIyIiIjIzJiAEREREZkZEzAiIiIiM2MCRkRERGRmTMCIiIiIzIwJGBEREZGZMQEjIiIiMjMrqQOwZEIIAEBaWprEkRAREVFpFX1vF32PmwITMBO6d+8eAMDLy0viSIiIiMhY9+7dg6Ojo0n2zQTMhJydnQEAcXFxJvsAK6K0tDR4eXnhxo0bcHBwkDocs+F587yrAp43z7sqSE1NRZ06dfTf46bABMyE5HJdiZ2jo2OV+sUt4uDgwPOuQnjeVQvPu2qpqudd9D1ukn2bbM9EREREVCImYERERERmxgTMhFQqFWbOnAmVSiV1KGbF8+Z5VwU8b553VcDzNt15y4Qpr7EkIiIiomLYA0ZERERkZkzAiIiIiMyMCRgRERGRmTEBIyIiIjIzJmBGWLp0Kby9vaFWqxEQEIDjx48/tv3mzZvRpEkTqNVqtGzZEjt37jR4XwiBGTNmwMPDAzY2NggKCsLly5dNeQplYsx5L1++HM8//zyqV6+O6tWrIygoqFj7N954AzKZzGDp3r27qU/DaMac96pVq4qdk1qtNmhjiZ93p06dip23TCZDjx499G0qw+d98OBB9OzZE56enpDJZNi6desTt9m/fz9at24NlUqFBg0aYNWqVcXaGPt/hrkZe95btmxB165dUbNmTTg4OCAwMBC7d+82aPPxxx8X+7ybNGliwrMwnrHnvX///hJ/z+Pj4w3aWdrnXdK/XZlMhubNm+vbVPTPe9asWXjmmWdgb28PV1dXhISE4OLFi0/czhzf30zASmnjxo2YNGkSZs6cicjISPj6+iI4OBiJiYkltj9y5AgGDhyI4cOHIyoqCiEhIQgJCUF0dLS+zdy5c7F48WIsW7YM4eHhsLOzQ3BwMHJycsx1Wk9k7Hnv378fAwcOxL59+3D06FF4eXmhW7duuHXrlkG77t27486dO/pl/fr15jidUjP2vAHdTNEPntP169cN3rfEz3vLli0G5xwdHQ2FQoG+ffsatKvon3dmZiZ8fX2xdOnSUrWPjY1Fjx490LlzZ5w6dQoTJ07EiBEjDJKRsvwOmZux533w4EF07doVO3fuREREBDp37oyePXsiKirKoF3z5s0NPu9Dhw6ZIvwyM/a8i1y8eNHgvFxdXfXvWeLnvWjRIoPzvXHjBpydnYv9+67In/eBAwcwZswYHDt2DHv27EF+fj66deuGzMzMR25jtu9vQaXSrl07MWbMGP1rjUYjPD09xaxZs0ps369fP9GjRw+DdQEBAeKtt94SQgih1WqFu7u7mDdvnv79lJQUoVKpxPr1601wBmVj7Hk/rKCgQNjb24vVq1fr1w0bNkz06tWrvEMtV8ae98qVK4Wjo+Mj91dVPu+FCxcKe3t7kZGRoV9XGT7vBwEQv/3222PbvPfee6J58+YG6/r37y+Cg4P1r5/2Z2lupTnvkjRr1kx88skn+tczZ84Uvr6+5ReYiZXmvPft2ycAiPv37z+yTVX4vH/77Tchk8nEtWvX9Osq2+edmJgoAIgDBw48so25vr/ZA1YKeXl5iIiIQFBQkH6dXC5HUFAQjh49WuI2R48eNWgPAMHBwfr2sbGxiI+PN2jj6OiIgICAR+7T3Mpy3g/LyspCfn5+sRua7t+/H66urmjcuDFGjx6Ne/fulWvsT6Os552RkYG6devCy8sLvXr1wtmzZ/XvVZXP+8cff8SAAQNgZ2dnsL4if95l8aR/3+Xxs6wMtFot0tPTi/37vnz5Mjw9PVGvXj0MHjwYcXFxEkVYvvz8/ODh4YGuXbvi8OHD+vVV5fP+8ccfERQUhLp16xqsr0yfd2pqKgA89ibb5vr+ZgJWCklJSdBoNHBzczNY7+bmVqwGoEh8fPxj2xc9GrNPcyvLeT9s6tSp8PT0NPhF7d69O3766SeEhYVhzpw5OHDgAF566SVoNJpyjb+synLejRs3xooVK/D7779jzZo10Gq1aN++PW7evAmganzex48fR3R0NEaMGGGwvqJ/3mXxqH/faWlpyM7OLpd/O5XB/PnzkZGRgX79+unXBQQEYNWqVQgNDcV3332H2NhYPP/880hPT5cw0qfj4eGBZcuW4ddff8Wvv/4KLy8vdOrUCZGRkQDK5//Kiu727dvYtWtXsX/flenz1mq1mDhxIp577jm0aNHike3M9f1tVeqWREaaPXs2NmzYgP379xsUpA8YMED/vGXLlmjVqhXq16+P/fv3o0uXLlKE+tQCAwMRGBiof92+fXs0bdoU33//PT777DMJIzOfH3/8ES1btkS7du0M1lvi503AunXr8Mknn+D33383qIV66aWX9M9btWqFgIAA1K1bF5s2bcLw4cOlCPWpNW7cGI0bN9a/bt++PWJiYrBw4UL8/PPPEkZmPqtXr4aTkxNCQkIM1lemz3vMmDGIjo6uMDVq7AErBRcXFygUCiQkJBisT0hIgLu7e4nbuLu7P7Z90aMx+zS3spx3kfnz52P27Nn4888/0apVq8e2rVevHlxcXHDlypWnjrk8PM15F7G2toa/v7/+nCz9887MzMSGDRtK9R9uRfu8y+JR/74dHBxgY2NTLr9DFdmGDRswYsQIbNq0qdhQzcOcnJzQqFGjSv15l6Rdu3b6c7L0z1sIgRUrVmDIkCFQKpWPbVtRP++xY8di+/bt2LdvH2rXrv3Ytub6/mYCVgpKpRJt2rRBWFiYfp1Wq0VYWJhBr8eDAgMDDdoDwJ49e/TtfXx84O7ubtAmLS0N4eHhj9ynuZXlvAHd1SGfffYZQkND0bZt2yce5+bNm7h37x48PDzKJe6nVdbzfpBGo8GZM2f052TJnzegu2Q7NzcX//nPf554nIr2eZfFk/59l8fvUEW1fv16vPnmm1i/fr3BdCOPkpGRgZiYmEr9eZfk1KlT+nOy5M8b0F1JeOXKlVL9gVXRPm8hBMaOHYvffvsNe/fuhY+PzxO3Mdv3t1GXD1RhGzZsECqVSqxatUqcO3dOjBo1Sjg5OYn4+HghhBBDhgwR77//vr794cOHhZWVlZg/f744f/68mDlzprC2thZnzpzRt5k9e7ZwcnISv//+u/jnn39Er169hI+Pj8jOzjb7+T2Ksec9e/ZsoVQqxS+//CLu3LmjX9LT04UQQqSnp4spU6aIo0ePitjYWPHXX3+J1q1bi4YNG4qcnBxJzrEkxp73J598Inbv3i1iYmJERESEGDBggFCr1eLs2bP6Npb4eRfp0KGD6N+/f7H1leXzTk9PF1FRUSIqKkoAEF999ZWIiooS169fF0II8f7774shQ4bo21+9elXY2tqKd999V5w/f14sXbpUKBQKERoaqm/zpJ9lRWDsea9du1ZYWVmJpUuXGvz7TklJ0beZPHmy2L9/v4iNjRWHDx8WQUFBwsXFRSQmJpr9/B7F2PNeuHCh2Lp1q7h8+bI4c+aMmDBhgpDL5eKvv/7St7HEz7vIf/7zHxEQEFDiPiv65z169Gjh6Ogo9u/fb/A7m5WVpW8j1fc3EzAjfPPNN6JOnTpCqVSKdu3aiWPHjunf69ixoxg2bJhB+02bNolGjRoJpVIpmjdvLnbs2GHwvlarFR999JFwc3MTKpVKdOnSRVy8eNEcp2IUY867bt26AkCxZebMmUIIIbKyskS3bt1EzZo1hbW1tahbt64YOXJkhfpPqogx5z1x4kR9Wzc3N/Hyyy+LyMhIg/1Z4ucthBAXLlwQAMSff/5ZbF+V5fMummbg4aXoXIcNGyY6duxYbBs/Pz+hVCpFvXr1xMqVK4vt93E/y4rA2PPu2LHjY9sLoZuOw8PDQyiVSlGrVi3Rv39/ceXKFfOe2BMYe95z5swR9evXF2q1Wjg7O4tOnTqJvXv3FtuvpX3eQuimV7CxsRE//PBDifus6J93SecLwODfq1Tf37LCAImIiIjITFgDRkRERGRmTMCIiIiIzIwJGBEREZGZMQEjIiIiMjMmYERERERmxgSMiIiIyMyYgBERERGZGRMwIiIiIjNjAkZEldr+/fshk8mQkpIiyfHDwsLQtGlTaDSap9qPTCbD1q1bS90+NDQUfn5+0Gq1T3VcIpIGEzAiqjQ6deqEiRMnGqxr37497ty5A0dHR0lieu+99/Dhhx9CoVA81X7u3LmDl156qdTtu3fvDmtra6xdu/apjktE0mACRkSVmlKphLu7O2QymdmPfejQIcTExKBPnz5PvS93d3eoVCqjtnnjjTewePHipz42EZkfEzAiqhTeeOMNHDhwAIsWLYJMJoNMJsO1a9eKDUGuWrUKTk5O2L59Oxo3bgxbW1u8/vrryMrKwurVq+Ht7Y3q1atj/PjxBsOGubm5mDJlCmrVqgU7OzsEBARg//79j41pw4YN6Nq1K9RqtX7dxx9/DD8/P6xYsQJ16tRBtWrV8Pbbb0Oj0WDu3Llwd3eHq6srvvjiC4N9PTgEee3aNchkMmzZsgWdO3eGra0tfH19cfToUYNtevbsiZMnTyImJqbsP1gikoSV1AEQEZXGokWLcOnSJbRo0QKffvopAKBmzZq4du1asbZZWVlYvHgxNmzYgPT0dLz22mvo3bs3nJycsHPnTly9ehV9+vTBc889h/79+wMAxo4di3PnzmHDhg3w9PTEb7/9hu7du+PMmTNo2LBhiTH9/fffGDRoULH1MTEx2LVrF0JDQxETE4PXX38dV69eRaNGjXDgwAEcOXIE//3vfxEUFISAgIBHnvMHH3yA+fPno2HDhvjggw8wcOBAXLlyBVZWuv+669SpAzc3N/z999+oX7++sT9SIpIQEzAiqhQcHR2hVCpha2sLd3f3x7bNz8/Hd999p09KXn/9dfz8889ISEhAtWrV0KxZM3Tu3Bn79u1D//79ERcXh5UrVyIuLg6enp4AgClTpiA0NBQrV67El19+WeJxrl+/rm//IK1WixUrVsDe3l5/rIsXL2Lnzp2Qy+Vo3Lgx5syZg3379j02AZsyZQp69OgBAPjkk0/QvHlzXLlyBU2aNNG38fT0xPXr1x//wyOiCocJGBFZHFtbW4MeITc3N3h7e6NatWoG6xITEwEAZ86cgUajQaNGjQz2k5ubixo1ajzyONnZ2QbDj0W8vb1hb29vcCyFQgG5XG6wruj4j9KqVSv9cw8PDwBAYmKiQQJmY2ODrKysx+6HiCoeJmBEZHGsra0NXstkshLXFU3hkJGRAYVCgYiIiGJXMz6YtD3MxcUF9+/ff+rjl+Y8ii4yeHib5ORk1KxZ87H7IaKKhwkYEVUaSqXyqefbKom/vz80Gg0SExPx/PPPG7XduXPnyj2e0srJyUFMTAz8/f0li4GIyoZXQRJRpeHt7Y3w8HBcu3YNSUlJ5TYJaaNGjTB48GAMHToUW7ZsQWxsLI4fP45Zs2Zhx44dj9wuODgYhw4dKpcYyuLYsWNQqVQIDAyULAYiKhsmYERUaUyZMgUKhQLNmjVDzZo1ERcXV277XrlyJYYOHYrJkyejcePGCAkJwYkTJ1CnTp1HbjN48GCcPXsWFy9eLLc4jLF+/XoMHjwYtra2khyfiMpOJoQQUgdBRFRZvfvuu0hLS8P3339v1uMmJSWhcePGOHnyJHx8fMx6bCJ6euwBIyJ6Ch988AHq1q1r9nsyXrt2Dd9++y2TL6JKij1gRERERGbGHjAiIiIiM2MCRkRERGRmTMCIiIiIzIwJGBEREZGZMQEjIiIiMjMmYERERERmxgSMiIiIyMyYgBERERGZGRMwIiIiIjP7fxbyx3DyTVoQAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\dae\\petsc_chem_doc_23_0.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "a = plt.plot(tji.time, tji.get_vec(m.y[180, 2]), label=\"y2 interpolate dt=1\")\n", "a = plt.plot(tj.time, tj.get_vec(m.y[180, 2]), label=\"y2 original\")\n", @@ -1265,9 +343,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.10.9" } }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/dae/petsc_chem_test.ipynb b/idaes_examples/notebooks/docs/dae/petsc_chem_test.ipynb index c92befe9..fecec24b 100644 --- a/idaes_examples/notebooks/docs/dae/petsc_chem_test.ipynb +++ b/idaes_examples/notebooks/docs/dae/petsc_chem_test.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -160,7 +161,7 @@ " time=m.t,\n", " between=[m.t.first(), m.t.last()],\n", " ts_options={\n", - " \"--ts_type\": \"cn\", # Crank–Nicolson\n", + " \"--ts_type\": \"cn\", # Crank\u2013Nicolson\n", " \"--ts_adapt_type\": \"basic\",\n", " \"--ts_dt\": 0.01,\n", " \"--ts_save_trajectory\": 1,\n", @@ -347,4 +348,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/dae/petsc_chem_usr.ipynb b/idaes_examples/notebooks/docs/dae/petsc_chem_usr.ipynb index c92befe9..fecec24b 100644 --- a/idaes_examples/notebooks/docs/dae/petsc_chem_usr.ipynb +++ b/idaes_examples/notebooks/docs/dae/petsc_chem_usr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -160,7 +161,7 @@ " time=m.t,\n", " between=[m.t.first(), m.t.last()],\n", " ts_options={\n", - " \"--ts_type\": \"cn\", # Crank–Nicolson\n", + " \"--ts_type\": \"cn\", # Crank\u2013Nicolson\n", " \"--ts_adapt_type\": \"basic\",\n", " \"--ts_dt\": 0.01,\n", " \"--ts_save_trajectory\": 1,\n", @@ -347,4 +348,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/dae/petsc_pid.ipynb b/idaes_examples/notebooks/docs/dae/petsc_pid.ipynb index b00e4c6b..b73d73e1 100644 --- a/idaes_examples/notebooks/docs/dae/petsc_pid.ipynb +++ b/idaes_examples/notebooks/docs/dae/petsc_pid.ipynb @@ -3,6 +3,7 @@ { "cell_type": "code", "execution_count": 1, + "id": "18c442bd", "metadata": { "pycharm": { "is_executing": true @@ -19,17 +20,19 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, { "cell_type": "markdown", + "id": "4ad9ea72", "metadata": {}, "source": [ "# PETSc Time-stepping Solver -- PID Control and Steam Example\n", @@ -52,6 +55,7 @@ }, { "cell_type": "markdown", + "id": "38a03045", "metadata": {}, "source": [ "## Prerequisites\n", @@ -63,6 +67,7 @@ }, { "cell_type": "markdown", + "id": "6d1a8c02", "metadata": {}, "source": [ "## Imports" @@ -71,6 +76,7 @@ { "cell_type": "code", "execution_count": 2, + "id": "6ca1d8ac", "metadata": {}, "outputs": [], "source": [ @@ -86,6 +92,7 @@ }, { "cell_type": "markdown", + "id": "d16bf1b8", "metadata": {}, "source": [ "## Model Set Up" @@ -94,6 +101,7 @@ { "cell_type": "code", "execution_count": 3, + "id": "e3e18e45", "metadata": {}, "outputs": [], "source": [ @@ -104,6 +112,7 @@ { "cell_type": "code", "execution_count": 4, + "id": "28c5057e", "metadata": {}, "outputs": [], "source": [ @@ -116,6 +125,7 @@ }, { "cell_type": "markdown", + "id": "cce22852", "metadata": {}, "source": [ "## Solve" @@ -124,6 +134,7 @@ { "cell_type": "code", "execution_count": 5, + "id": "82c44255", "metadata": {}, "outputs": [], "source": [ @@ -143,6 +154,7 @@ }, { "cell_type": "markdown", + "id": "9f0e6184", "metadata": {}, "source": [ "## Plot Trajectory\n", @@ -153,6 +165,7 @@ { "cell_type": "code", "execution_count": 6, + "id": "cf793655", "metadata": {}, "outputs": [], "source": [ @@ -164,6 +177,7 @@ { "cell_type": "code", "execution_count": 7, + "id": "4640fd07", "metadata": {}, "outputs": [], "source": [ @@ -174,6 +188,7 @@ }, { "cell_type": "markdown", + "id": "386c7095", "metadata": {}, "source": [ "## Model a ramp in inlet pressure\n", @@ -184,6 +199,7 @@ { "cell_type": "code", "execution_count": 8, + "id": "54139e50", "metadata": {}, "outputs": [], "source": [ @@ -221,6 +237,7 @@ { "cell_type": "code", "execution_count": 9, + "id": "1ada9573", "metadata": {}, "outputs": [], "source": [ @@ -243,6 +260,7 @@ { "cell_type": "code", "execution_count": 10, + "id": "a9b3fc03", "metadata": {}, "outputs": [], "source": [ @@ -256,6 +274,7 @@ { "cell_type": "code", "execution_count": 11, + "id": "c48d0e58", "metadata": {}, "outputs": [], "source": [ @@ -267,6 +286,7 @@ { "cell_type": "code", "execution_count": 12, + "id": "9dc1fa30", "metadata": {}, "outputs": [], "source": [ @@ -277,6 +297,7 @@ }, { "cell_type": "markdown", + "id": "5fe03ae0", "metadata": {}, "source": [ "## Model a ramp in inlet pressure (again)\n", @@ -287,6 +308,7 @@ { "cell_type": "code", "execution_count": 13, + "id": "87655e1c", "metadata": {}, "outputs": [], "source": [ @@ -327,6 +349,7 @@ { "cell_type": "code", "execution_count": 14, + "id": "85b8a74c", "metadata": {}, "outputs": [], "source": [ @@ -349,6 +372,7 @@ { "cell_type": "code", "execution_count": 15, + "id": "ffb73995", "metadata": {}, "outputs": [], "source": [ @@ -362,6 +386,7 @@ { "cell_type": "code", "execution_count": 16, + "id": "d094e43f", "metadata": {}, "outputs": [], "source": [ @@ -373,6 +398,7 @@ { "cell_type": "code", "execution_count": 17, + "id": "74d2f036", "metadata": {}, "outputs": [], "source": [ @@ -384,6 +410,7 @@ { "cell_type": "code", "execution_count": null, + "id": "7da97755", "metadata": {}, "outputs": [], "source": [] diff --git a/idaes_examples/notebooks/docs/dae/petsc_pid_doc.ipynb b/idaes_examples/notebooks/docs/dae/petsc_pid_doc.ipynb index 9fc799cf..4d3d23f8 100644 --- a/idaes_examples/notebooks/docs/dae/petsc_pid_doc.ipynb +++ b/idaes_examples/notebooks/docs/dae/petsc_pid_doc.ipynb @@ -19,12 +19,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -105,36 +106,7 @@ "cell_type": "code", "execution_count": 4, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:29 [INFO] idaes.init.fs.valve_1: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:29 [INFO] idaes.init.fs.tank.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:29 [INFO] idaes.init.fs.tank: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:29 [INFO] idaes.init.fs.valve_2: Initialization Complete: optimal - Optimal Solution Found\n" - ] - } - ], + "outputs": [], "source": [ "m = pid.create_model(\n", " time_set=[0, 12],\n", @@ -154,932 +126,7 @@ "cell_type": "code", "execution_count": 5, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: DAE: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dkgun\\AppData\\Local\\Temp\\tmp8y_z4ws2.pyomo.nl\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Number of constraints: 28\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Number of variables: 28\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 83 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: 0 SNES Function norm 5.783088779321e+05 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: 1 SNES Function norm 4.315325974705e+05 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: 2 SNES Function norm 7.639793381288e+04 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: 3 SNES Function norm 5.928557930246e+03 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: 4 SNES Function norm 5.008361736228e+01 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: 5 SNES Function norm 3.698195211732e-03 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: 6 SNES Function norm 3.725294295263e-09 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: SNESConvergedReason = SNES_CONVERGED_FNORM_RELATIVE, in 6 iterations\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: SNES_CONVERGED_FNORM_RELATIVE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: DAE: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dkgun\\AppData\\Local\\Temp\\tmp3aw8uqg4.pyomo.nl\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Number of constraints: 29\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 15\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Number of variables: 34\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 91 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Explicit time variable: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Number of derivatives: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Number of differential vars: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Number of algebraic vars: 24\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Number of state vars: 29\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:30 [INFO] idaes.solve.petsc-dae: 0 TS dt 0.1 time 0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:33 [INFO] idaes.solve.petsc-dae: 1 TS dt 0.025 time 0.025\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:33 [INFO] idaes.solve.petsc-dae: 2 TS dt 0.0154252 time 0.0381739\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:33 [INFO] idaes.solve.petsc-dae: 3 TS dt 0.0133373 time 0.0510085\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:33 [INFO] idaes.solve.petsc-dae: 4 TS dt 0.0136013 time 0.0643458\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:33 [INFO] idaes.solve.petsc-dae: 5 TS dt 0.0141735 time 0.0779471\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:33 [INFO] idaes.solve.petsc-dae: 6 TS dt 0.0146392 time 0.0921205\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:33 [INFO] idaes.solve.petsc-dae: 7 TS dt 0.0152517 time 0.10676\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:33 [INFO] idaes.solve.petsc-dae: 8 TS dt 0.0158389 time 0.122011\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:33 [INFO] idaes.solve.petsc-dae: 9 TS dt 0.0165162 time 0.13785\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:33 [INFO] idaes.solve.petsc-dae: 10 TS dt 0.0172093 time 0.154367\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:33 [INFO] idaes.solve.petsc-dae: 11 TS dt 0.0179712 time 0.171576\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:33 [INFO] idaes.solve.petsc-dae: 12 TS dt 0.0187679 time 0.189547\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:33 [INFO] idaes.solve.petsc-dae: 13 TS dt 0.0196222 time 0.208315\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:33 [INFO] idaes.solve.petsc-dae: 14 TS dt 0.020514 time 0.227937\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:33 [INFO] idaes.solve.petsc-dae: 15 TS dt 0.0214472 time 0.248451\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:33 [INFO] idaes.solve.petsc-dae: 16 TS dt 0.022401 time 0.269898\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:33 [INFO] idaes.solve.petsc-dae: 17 TS dt 0.0233619 time 0.292299\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:33 [INFO] idaes.solve.petsc-dae: 18 TS dt 0.0243005 time 0.315661\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:33 [INFO] idaes.solve.petsc-dae: 19 TS dt 0.0251894 time 0.339962\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:33 [INFO] idaes.solve.petsc-dae: 20 TS dt 0.0259944 time 0.365151\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:33 [INFO] idaes.solve.petsc-dae: 21 TS dt 0.0266898 time 0.391146\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:33 [INFO] idaes.solve.petsc-dae: 22 TS dt 0.0272563 time 0.417835\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:33 [INFO] idaes.solve.petsc-dae: 23 TS dt 0.0276902 time 0.445092\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 24 TS dt 0.0279997 time 0.472782\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 25 TS dt 0.0282038 time 0.500782\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 26 TS dt 0.028326 time 0.528985\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 27 TS dt 0.0283913 time 0.557311\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 28 TS dt 0.0284218 time 0.585703\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 29 TS dt 0.0284362 time 0.614124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 30 TS dt 0.0284488 time 0.642561\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 31 TS dt 0.0284703 time 0.671009\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 32 TS dt 0.0285087 time 0.69948\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 33 TS dt 0.0285693 time 0.727988\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 34 TS dt 0.0286562 time 0.756558\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 35 TS dt 0.0287722 time 0.785214\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 36 TS dt 0.0289195 time 0.813986\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 37 TS dt 0.0291001 time 0.842906\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 38 TS dt 0.0293154 time 0.872006\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 39 TS dt 0.0295672 time 0.901321\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 40 TS dt 0.0298571 time 0.930888\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 41 TS dt 0.0301872 time 0.960745\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 42 TS dt 0.0305596 time 0.990933\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 43 TS dt 0.0309769 time 1.02149\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 44 TS dt 0.031442 time 1.05247\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 45 TS dt 0.0319585 time 1.08391\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 46 TS dt 0.0325305 time 1.11587\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 47 TS dt 0.0331626 time 1.1484\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 48 TS dt 0.0338606 time 1.18156\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 49 TS dt 0.0346311 time 1.21542\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 50 TS dt 0.0354817 time 1.25005\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 51 TS dt 0.0364218 time 1.28554\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 52 TS dt 0.0374622 time 1.32196\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 53 TS dt 0.0386159 time 1.35942\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 54 TS dt 0.0398987 time 1.39804\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 55 TS dt 0.0413295 time 1.43793\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:34 [INFO] idaes.solve.petsc-dae: 56 TS dt 0.0429313 time 1.47926\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 57 TS dt 0.0447325 time 1.5222\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 58 TS dt 0.0467682 time 1.56693\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 59 TS dt 0.0490823 time 1.6137\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 60 TS dt 0.0517305 time 1.66278\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 61 TS dt 0.0547839 time 1.71451\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 62 TS dt 0.0583343 time 1.76929\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 63 TS dt 0.0625012 time 1.82763\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 64 TS dt 0.0674415 time 1.89013\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 65 TS dt 0.0733598 time 1.95757\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 66 TS dt 0.0805186 time 2.03093\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 67 TS dt 0.0892348 time 2.11145\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 68 TS dt 0.0998324 time 2.20068\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 69 TS dt 0.112487 time 2.30052\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 70 TS dt 0.12691 time 2.413\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 71 TS dt 0.142117 time 2.53991\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 72 TS dt 0.157007 time 2.68203\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 73 TS dt 0.171623 time 2.83904\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 74 TS dt 0.187368 time 3.01066\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 75 TS dt 0.206382 time 3.19803\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 76 TS dt 0.231364 time 3.40441\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 77 TS dt 0.266076 time 3.63577\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 78 TS dt 0.316702 time 3.90185\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 79 TS dt 0.394852 time 4.21855\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 80 TS dt 0.525171 time 4.6134\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 81 TS dt 0.767756 time 5.13857\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 82 TS dt 1.29836 time 5.90633\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 83 TS dt 2.39766 time 7.20469\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 84 TS dt 2.39766 time 9.60234\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: 85 TS dt 23.9766 time 12.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: TSConvergedReason = TS_CONVERGED_TIME\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:35 [INFO] idaes.solve.petsc-dae: TS_CONVERGED_TIME\n" - ] - } - ], + "outputs": [], "source": [ "result = petsc.petsc_dae_by_time_element(\n", " m,\n", @@ -1108,22 +155,7 @@ "cell_type": "code", "execution_count": 6, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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uuuUnZ1tUEW+6+mnn9bEiRM1dOhQdenSRQ8++KAmTJigzMxMo0vzaTV/z/lb77ya8HPw4EEtW7bMa60/EgHIK4KCgtSzZ09lZWU5jtlsNmVlZalPnz4GVuZ77Ha7HnvsMX3yySf69ttv1apVK6NL8lm33nqrfv75Z23evNnx6NWrl0aMGKHNmzfLYrEYXaJP6dev3wVLKuzatUstW7Y0qCLfVVpaKrO59teDxWKRzWYzqKKGoVWrVoqPj6/1t76oqEjr1q3jb30dasLP7t279c0336hp06ZefX26wLwkIyNDo0aNUq9evdS7d2/NmjVLJSUlSk9PN7o0nzJu3Dh98MEH+te//qWIiAhHv3lUVJRCQ0MNrs63REREXDA2Kjw8XE2bNmXMVB0mTJigvn37asaMGbr//vu1fv16vf3223r77beNLs3nDBo0SH/961/VokULderUST/++KNmzpypP/7xj0aXZrji4mLt2bPH8fv+/fu1efNmNWnSRC1atND48eP1l7/8RW3btlWrVq00ZcoUJSYm6p577jGuaINc6rNKSEjQH/7wB23atEmfffaZrFar4+99kyZNFBQU5PkCvTLXDHa73W5/44037C1atLAHBQXZe/fubV+7dq3RJfkcSXU+FixYYHRpDQLT4C/t//7v/+ydO3e2BwcH2zt06GB/++23jS7JJxUVFdmfeOIJe4sWLewhISH21q1b259//nl7eXm50aUZbvny5XX+jRo1apTdbq+eCj9lyhR7XFycPTg42H7rrbfad+7caWzRBrnUZ7V///6L/r1fvny5V+oz2e0s7QkAAPwLY4AAAIDfIQABAAC/QwACAAB+hwAEAAD8DgEIAAD4HQIQAADwOwQgAADgdwhAAADA7xCAAPi0FStWyGQyqaCgwJDXz8rK0nXXXefU5rJLly5V9+7d2TMLaAAIQAB8xs0336zx48fXOta3b18dO3ZMUVFRhtT0zDPPaPLkyU5tLjtgwAAFBgbq/fff90JlAK4EAQiATwsKClJ8fLxMJpPXX3vVqlXau3evfv/73zt9zejRozV79mwPVgXAHQhAAHzC6NGjtXLlSr3++usymUwymUw6cODABV1gCxcuVHR0tD777DO1b99eYWFh+sMf/qDS0lK99957Sk5OVuPGjfX444/X6rYqLy/XU089pebNmys8PFwpKSlasWLFJWv68MMPddtttykkJMRx7KefftItt9yiiIgIRUZGqmfPnvrhhx8czw8aNEg//PCD9u7d69bPB4B7BRhdAABI0uuvv65du3apc+fOmj59uiQpNjZWBw4cuODc0tJSzZ49Wx9++KFOnz6te++9V4MHD1Z0dLS++OIL7du3T7///e/Vr18/DRkyRJL02GOPadu2bfrwww+VmJioTz75RAMGDNDPP/+stm3b1lnT999/r+HDh9c6NmLECPXo0UNz586VxWLR5s2bFRgY6Hi+RYsWiouL0/fff682bdq46dMB4G4EIAA+ISoqSkFBQQoLC1N8fPwlz62srNTcuXMdAeMPf/iDFi1apNzcXDVq1EgdO3bULbfcouXLl2vIkCHKzs7WggULlJ2drcTEREnSU089paVLl2rBggWaMWNGna9z8OBBx/k1srOz9fTTT6tDhw6SVGd4SkxM1MGDB13+DAB4DwEIQIMTFhZWq3UlLi5OycnJatSoUa1jeXl5kqSff/5ZVqtV7dq1q3Wf8vJyNW3a9KKvc+bMmVrdX5KUkZGhMWPGaNGiRUpNTdV99913QUtPaGioSktL6/3+AHgeAQhAg3N+l5MkmUymOo/VTEcvLi6WxWLRxo0bL5jNdX5o+rWYmBidOnWq1rEXXnhBw4cP1+eff64vv/xS06ZN04cffqjBgwc7zjl58qRiY2Pr9d4AeAcBCIDPCAoKcmq9HVf16NFDVqtVeXl5uvHGG126btu2bRccb9eundq1a6cJEyZo2LBhWrBggSMAlZWVae/everRo4fb6gfgfswCA+AzkpOTtW7dOh04cED5+fluW1CwXbt2GjFihEaOHKklS5Zo//79Wr9+vTIzM/X5559f9Lq0tDStWrXK8fuZM2f02GOPacWKFTp48KD+85//aMOGDbruuusc56xdu1bBwcHq06ePW2oH4BkEIAA+46mnnpLFYlHHjh0VGxur7Oxst917wYIFGjlypJ588km1b99e99xzjzZs2KAWLVpc9JoRI0bol19+0c6dOyVJFotFJ06c0MiRI9WuXTvdf//9uuOOO/Tiiy86rvnnP/+pESNGKCwszG21A3A/k91utxtdBAD4qqefflpFRUX6+9//ftlz8/Pz1b59e/3www9q1aqVF6oDUF+0AAHAJTz//PNq2bKlU91xBw4c0FtvvUX4ARoAWoAAAIDfoQUIAAD4HQIQAADwOwQgAADgdwhAAADA7xCAAACA3yEAAQAAv0MAAgAAfocABAAA/A4BCAAA+J3/H0VaN1o8KbRwAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\dae\\petsc_pid_doc_11_0.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "a = plt.plot(tj.time, tj.get_vec(m.fs.valve_1.valve_opening[12]))\n", "a = plt.ylabel(\"valve 1 fraction open\")\n", @@ -1134,22 +166,7 @@ "cell_type": "code", "execution_count": 7, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\dae\\petsc_pid_doc_12_0.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "a = plt.plot(tj.time, tj.get_vec(m.fs.tank.control_volume.properties_out[12].pressure))\n", "a = plt.ylabel(\"tank pressure (Pa)\")\n", @@ -1169,36 +186,7 @@ "cell_type": "code", "execution_count": 8, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.init.fs.valve_1: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.init.fs.tank.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.init.fs.tank: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.init.fs.valve_2: Initialization Complete: optimal - Optimal Solution Found\n" - ] - } - ], + "outputs": [], "source": [ "# Create a new copy of the model that runs to 24 seconds, and add a constraint.\n", "\n", @@ -1235,1506 +223,7 @@ "cell_type": "code", "execution_count": 9, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: DAE: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dkgun\\AppData\\Local\\Temp\\tmpntswp4hz.pyomo.nl\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Number of constraints: 29\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 15\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Number of variables: 29\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 89 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: 0 SNES Function norm 5.783088779321e+05 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: 1 SNES Function norm 4.315325974705e+05 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: 2 SNES Function norm 7.639793381288e+04 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: 3 SNES Function norm 5.928557930246e+03 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: 4 SNES Function norm 5.008361736230e+01 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: 5 SNES Function norm 3.698195222021e-03 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: 6 SNES Function norm 3.725635339799e-09 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: SNESConvergedReason = SNES_CONVERGED_FNORM_RELATIVE, in 6 iterations\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: SNES_CONVERGED_FNORM_RELATIVE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: DAE: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dkgun\\AppData\\Local\\Temp\\tmpzdyo3gs9.pyomo.nl\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Number of constraints: 30\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Number of variables: 36\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 98 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Explicit time variable: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Number of derivatives: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Number of differential vars: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Number of algebraic vars: 25\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Number of state vars: 30\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:37 [INFO] idaes.solve.petsc-dae: 0 TS dt 0.1 time 0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:41 [INFO] idaes.solve.petsc-dae: 1 TS dt 0.025 time 0.025\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:41 [INFO] idaes.solve.petsc-dae: 2 TS dt 0.0155174 time 0.0382861\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:41 [INFO] idaes.solve.petsc-dae: 3 TS dt 0.0134552 time 0.0512442\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:41 [INFO] idaes.solve.petsc-dae: 4 TS dt 0.0137323 time 0.0646993\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:41 [INFO] idaes.solve.petsc-dae: 5 TS dt 0.0143091 time 0.0784316\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:41 [INFO] idaes.solve.petsc-dae: 6 TS dt 0.0147875 time 0.0927408\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:41 [INFO] idaes.solve.petsc-dae: 7 TS dt 0.0154095 time 0.107528\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:41 [INFO] idaes.solve.petsc-dae: 8 TS dt 0.0160103 time 0.122938\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:41 [INFO] idaes.solve.petsc-dae: 9 TS dt 0.0167004 time 0.138948\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:41 [INFO] idaes.solve.petsc-dae: 10 TS dt 0.017409 time 0.155648\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:41 [INFO] idaes.solve.petsc-dae: 11 TS dt 0.0181867 time 0.173057\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:41 [INFO] idaes.solve.petsc-dae: 12 TS dt 0.0190011 time 0.191244\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:41 [INFO] idaes.solve.petsc-dae: 13 TS dt 0.0198735 time 0.210245\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:41 [INFO] idaes.solve.petsc-dae: 14 TS dt 0.0207844 time 0.230119\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:41 [INFO] idaes.solve.petsc-dae: 15 TS dt 0.0217362 time 0.250903\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:41 [INFO] idaes.solve.petsc-dae: 16 TS dt 0.0227074 time 0.272639\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:41 [INFO] idaes.solve.petsc-dae: 17 TS dt 0.023683 time 0.295347\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:41 [INFO] idaes.solve.petsc-dae: 18 TS dt 0.0246322 time 0.31903\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:41 [INFO] idaes.solve.petsc-dae: 19 TS dt 0.0255259 time 0.343662\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:41 [INFO] idaes.solve.petsc-dae: 20 TS dt 0.0263295 time 0.369188\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:41 [INFO] idaes.solve.petsc-dae: 21 TS dt 0.0270172 time 0.395517\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:41 [INFO] idaes.solve.petsc-dae: 22 TS dt 0.0275714 time 0.422535\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:41 [INFO] idaes.solve.petsc-dae: 23 TS dt 0.0279905 time 0.450106\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 24 TS dt 0.0282849 time 0.478096\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 25 TS dt 0.0284755 time 0.506381\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 26 TS dt 0.0285871 time 0.534857\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 27 TS dt 0.0286451 time 0.563444\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 28 TS dt 0.0286717 time 0.592089\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 29 TS dt 0.0286852 time 0.620761\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 30 TS dt 0.0286996 time 0.649446\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 31 TS dt 0.0287253 time 0.678146\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 32 TS dt 0.0287697 time 0.706871\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 33 TS dt 0.028838 time 0.735641\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 34 TS dt 0.0289341 time 0.764479\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 35 TS dt 0.0290607 time 0.793413\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 36 TS dt 0.02922 time 0.822473\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 37 TS dt 0.0294138 time 0.851693\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 38 TS dt 0.0296438 time 0.881107\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 39 TS dt 0.0299117 time 0.910751\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 40 TS dt 0.0302194 time 0.940663\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 41 TS dt 0.0305688 time 0.970882\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 42 TS dt 0.0309625 time 1.00145\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 43 TS dt 0.0314033 time 1.03241\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 44 TS dt 0.0318942 time 1.06382\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 45 TS dt 0.0324393 time 1.09571\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 46 TS dt 0.0330429 time 1.12815\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 47 TS dt 0.0337102 time 1.16119\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 48 TS dt 0.0344475 time 1.1949\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 49 TS dt 0.035262 time 1.22935\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 50 TS dt 0.0361623 time 1.26461\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 51 TS dt 0.0371585 time 1.30078\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 52 TS dt 0.0382628 time 1.33793\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 53 TS dt 0.0394897 time 1.3762\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 54 TS dt 0.0408567 time 1.41569\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 55 TS dt 0.0423852 time 1.45654\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 56 TS dt 0.044101 time 1.49893\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 57 TS dt 0.0460366 time 1.54303\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 58 TS dt 0.0482319 time 1.58907\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 59 TS dt 0.0507375 time 1.6373\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 60 TS dt 0.0536178 time 1.68804\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 61 TS dt 0.0569557 time 1.74165\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 62 TS dt 0.0608589 time 1.79861\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:42 [INFO] idaes.solve.petsc-dae: 63 TS dt 0.0654684 time 1.85947\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:43 [INFO] idaes.solve.petsc-dae: 64 TS dt 0.0709695 time 1.92494\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:43 [INFO] idaes.solve.petsc-dae: 65 TS dt 0.0776028 time 1.99591\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:43 [INFO] idaes.solve.petsc-dae: 66 TS dt 0.0856702 time 2.07351\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:43 [INFO] idaes.solve.petsc-dae: 67 TS dt 0.0955136 time 2.15918\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:43 [INFO] idaes.solve.petsc-dae: 68 TS dt 0.107416 time 2.25469\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:43 [INFO] idaes.solve.petsc-dae: 69 TS dt 0.121348 time 2.36211\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:43 [INFO] idaes.solve.petsc-dae: 70 TS dt 0.136618 time 2.48346\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:43 [INFO] idaes.solve.petsc-dae: 71 TS dt 0.151999 time 2.62007\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:43 [INFO] idaes.solve.petsc-dae: 72 TS dt 0.166896 time 2.77207\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:43 [INFO] idaes.solve.petsc-dae: 73 TS dt 0.182219 time 2.93897\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:43 [INFO] idaes.solve.petsc-dae: 74 TS dt 0.199913 time 3.12119\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:43 [INFO] idaes.solve.petsc-dae: 75 TS dt 0.222499 time 3.3211\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:43 [INFO] idaes.solve.petsc-dae: 76 TS dt 0.253299 time 3.5436\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:43 [INFO] idaes.solve.petsc-dae: 77 TS dt 0.297452 time 3.7969\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:43 [INFO] idaes.solve.petsc-dae: 78 TS dt 0.364163 time 4.09435\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:43 [INFO] idaes.solve.petsc-dae: 79 TS dt 0.47213 time 4.45851\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:43 [INFO] idaes.solve.petsc-dae: 80 TS dt 0.664606 time 4.93064\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:43 [INFO] idaes.solve.petsc-dae: 81 TS dt 1.05946 time 5.59525\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:43 [INFO] idaes.solve.petsc-dae: 82 TS dt 2.05857 time 6.65471\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:43 [INFO] idaes.solve.petsc-dae: 83 TS dt 5.55504 time 8.71328\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:43 [INFO] idaes.solve.petsc-dae: 84 TS dt 5.55504 time 9.26879\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:43 [INFO] idaes.solve.petsc-dae: 85 TS dt 5.55504 time 9.82429\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:43 [INFO] idaes.solve.petsc-dae: 86 TS dt 0.555504 time 9.87984\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:43 [INFO] idaes.solve.petsc-dae: 87 TS dt 0.555504 time 9.93539\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:43 [INFO] idaes.solve.petsc-dae: 88 TS dt 0.555504 time 9.99094\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:44 [INFO] idaes.solve.petsc-dae: 89 TS dt 0.0651962 time 9.99746\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:44 [INFO] idaes.solve.petsc-dae: 90 TS dt 0.0255475 time 10.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:44 [INFO] idaes.solve.petsc-dae: 91 TS dt 0.00219863 time 10.0016\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:44 [INFO] idaes.solve.petsc-dae: 92 TS dt 0.0219863 time 10.0038\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:44 [INFO] idaes.solve.petsc-dae: 93 TS dt 0.0198779 time 10.0258\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:44 [INFO] idaes.solve.petsc-dae: 94 TS dt 0.0286557 time 10.0457\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:44 [INFO] idaes.solve.petsc-dae: 95 TS dt 0.0273289 time 10.0743\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:44 [INFO] idaes.solve.petsc-dae: 96 TS dt 0.0318305 time 10.1016\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:44 [INFO] idaes.solve.petsc-dae: 97 TS dt 0.0324311 time 10.1335\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:44 [INFO] idaes.solve.petsc-dae: 98 TS dt 0.0357771 time 10.1659\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:44 [INFO] idaes.solve.petsc-dae: 99 TS dt 0.0376638 time 10.2017\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:44 [INFO] idaes.solve.petsc-dae: 100 TS dt 0.0407834 time 10.2393\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:44 [INFO] idaes.solve.petsc-dae: 101 TS dt 0.0432674 time 10.2801\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:44 [INFO] idaes.solve.petsc-dae: 102 TS dt 0.0460497 time 10.3234\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:44 [INFO] idaes.solve.petsc-dae: 103 TS dt 0.0482229 time 10.3694\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:44 [INFO] idaes.solve.petsc-dae: 104 TS dt 0.0500998 time 10.4177\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:44 [INFO] idaes.solve.petsc-dae: 105 TS dt 0.0514212 time 10.4678\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:44 [INFO] idaes.solve.petsc-dae: 106 TS dt 0.0524739 time 10.5192\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:44 [INFO] idaes.solve.petsc-dae: 107 TS dt 0.0533231 time 10.5717\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:44 [INFO] idaes.solve.petsc-dae: 108 TS dt 0.0541764 time 10.625\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:44 [INFO] idaes.solve.petsc-dae: 109 TS dt 0.055114 time 10.6792\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:44 [INFO] idaes.solve.petsc-dae: 110 TS dt 0.0562405 time 10.7343\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:44 [INFO] idaes.solve.petsc-dae: 111 TS dt 0.0576083 time 10.7905\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:44 [INFO] idaes.solve.petsc-dae: 112 TS dt 0.0592815 time 10.8481\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:45 [INFO] idaes.solve.petsc-dae: 113 TS dt 0.0613148 time 10.9074\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:45 [INFO] idaes.solve.petsc-dae: 114 TS dt 0.0637807 time 10.9687\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:45 [INFO] idaes.solve.petsc-dae: 115 TS dt 0.066768 time 11.0325\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:45 [INFO] idaes.solve.petsc-dae: 116 TS dt 0.0703982 time 11.0993\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:45 [INFO] idaes.solve.petsc-dae: 117 TS dt 0.0748361 time 11.1697\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:45 [INFO] idaes.solve.petsc-dae: 118 TS dt 0.0803101 time 11.2445\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:45 [INFO] idaes.solve.petsc-dae: 119 TS dt 0.0871329 time 11.3248\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:45 [INFO] idaes.solve.petsc-dae: 120 TS dt 0.0957104 time 11.4119\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:45 [INFO] idaes.solve.petsc-dae: 121 TS dt 0.10648 time 11.5077\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:45 [INFO] idaes.solve.petsc-dae: 122 TS dt 0.119574 time 11.6141\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:45 [INFO] idaes.solve.petsc-dae: 123 TS dt 0.133912 time 11.7337\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:45 [INFO] idaes.solve.petsc-dae: 124 TS dt 0.14655 time 11.8676\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:45 [INFO] idaes.solve.petsc-dae: 125 TS dt 0.200821 time 11.9442\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:45 [INFO] idaes.solve.petsc-dae: 126 TS dt 0.207161 time 11.9721\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:45 [INFO] idaes.solve.petsc-dae: 127 TS dt 0.156004 time 11.9956\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:45 [INFO] idaes.solve.petsc-dae: 128 TS dt 0.0227472 time 12.0004\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:45 [INFO] idaes.solve.petsc-dae: 129 TS dt 0.00356448 time 12.0027\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 130 TS dt 0.0274462 time 12.0063\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 131 TS dt 0.0239466 time 12.0302\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 132 TS dt 0.0330238 time 12.0542\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 133 TS dt 0.0325767 time 12.0872\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 134 TS dt 0.0372834 time 12.1198\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 135 TS dt 0.0382607 time 12.157\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 136 TS dt 0.0416555 time 12.1953\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 137 TS dt 0.0434518 time 12.237\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 138 TS dt 0.0461798 time 12.2804\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 139 TS dt 0.0480414 time 12.3266\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 140 TS dt 0.0501207 time 12.3746\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 141 TS dt 0.051711 time 12.4247\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 142 TS dt 0.0533722 time 12.4765\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 143 TS dt 0.0549039 time 12.5298\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 144 TS dt 0.056624 time 12.5847\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 145 TS dt 0.0585145 time 12.6414\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 146 TS dt 0.0607686 time 12.6999\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 147 TS dt 0.0634457 time 12.7606\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 148 TS dt 0.0667122 time 12.8241\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 149 TS dt 0.0707105 time 12.8908\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 150 TS dt 0.0756777 time 12.9615\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 151 TS dt 0.0819182 time 13.0372\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 152 TS dt 0.0898985 time 13.1191\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 153 TS dt 0.100306 time 13.209\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 154 TS dt 0.114194 time 13.3093\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 155 TS dt 0.133091 time 13.4235\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 156 TS dt 0.158824 time 13.5566\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 157 TS dt 0.191975 time 13.7154\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 158 TS dt 0.229408 time 13.9074\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 159 TS dt 0.269761 time 14.1368\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 160 TS dt 0.32234 time 14.4066\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 161 TS dt 0.405611 time 14.7289\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 162 TS dt 0.558837 time 15.1345\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:46 [INFO] idaes.solve.petsc-dae: 163 TS dt 0.890135 time 15.6934\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:47 [INFO] idaes.solve.petsc-dae: 164 TS dt 1.79623 time 16.5835\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:47 [INFO] idaes.solve.petsc-dae: 165 TS dt 2.81014 time 18.3797\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:47 [INFO] idaes.solve.petsc-dae: 166 TS dt 2.81014 time 21.1899\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:47 [INFO] idaes.solve.petsc-dae: 167 TS dt 28.1014 time 24.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:47 [INFO] idaes.solve.petsc-dae: TSConvergedReason = TS_CONVERGED_TIME\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:47 [INFO] idaes.solve.petsc-dae: TS_CONVERGED_TIME\n" - ] - } - ], + "outputs": [], "source": [ "# Solve the new problem. Notice the new argument specifying the explicit time variable.\n", "result = petsc.petsc_dae_by_time_element(\n", @@ -2756,22 +245,7 @@ "cell_type": "code", "execution_count": 10, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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GFLs27dvoOsDgKAppEcLQJD5HbTuvfdeDR48WPv27dN1112nsLATnWJdu3ZljhaAJsXFZHgAQeZ30JKkQYMGadCgQZKkqqoqbd++XZdffrlatWoV0OIAIFi8XnNa0KJHC0Bw+D1Ha8qUKfp//+//SToRsq6++mpdeuml6tixo9auXRvo+gAgKA4cKVd5lVc2G9vvAAgev4PW3//+d/Xv31+StGzZMuXn5+uzzz7T1KlT9dhjjwW8QAAIhurerHYtHIoMr/fazQBQI7//unz77bdKTEyUJK1cuVK33HKLunfvrttvv13bt28PeIEAEAyFrKEFoAH4HbQSEhK0a9cuVVVVadWqVbruuuskSUePHlV4OFtYAGgarKUdmAgPIIj8ngw/ceJEjRkzRklJSbLZbEpPT5ck5eTkqGfPngEvEACCochzciJ8PD1aAILH76A1e/Zs9enTR/v27dMtt9wih+PEjvfh4eF69NFHA14gAARDUQnfOAQQfHVa3uFHP/qRJOn48ePWYxMmTAhMRQDQAE7tc8jQIYDg8XuOVlVVlX71q1+pQ4cOatGihb744gtJ0syZM61lHwCgsave5zCZoUMAQeR30HryySe1aNEizZs3T3a73Xq8T58++sMf/hDQ4gAgGLxeo/0n52gl0qMFIIj8DlqvvfaaXnnlFY0fP97nW4b9+/fXZ599FtDiACAYvj1cpooqozCblNDSEepyADRjfgetr7/+Wt26dTvjca/Xq4qKioAUBQDBVD1s2L5llCJYrBRAEPn9F6ZXr17asGHDGY///e9/14ABAwJSFAAEU/VEeLbeARBsfn/rcNasWZowYYK+/vpreb1evfnmm8rNzdVrr72m5cuXB6NGAAiowhImwgNoGH73aN14441atmyZ/vWvfyk2NlazZs3S7t27tWzZMmuVeABozFzVi5UyER5AkPnVo1VZWamnnnpKt99+u7KysoJVEwAEVWEJ+xwCaBh+9WhFRERo3rx5qqysDFY9ABB01ZPh6dECEGx+Dx0OHTpU69atC0YtANAgXG72OQTQMPyeDD9ixAg9+uij2r59uwYOHKjY2Fif4z/84Q8DVhwABFqV15w2R4ugBSC4/A5a9957ryTpN7/5zRnHbDabqqqq6l8VAATJN6VlqvIahYfZ1L4lQQtAcPkdtLxebzDqAIAGUb2GVkJLh8LDbCGuBkBzx5LIAM4r1RPhWawUQEOoU9BavXq1rr/+el144YW68MILdf311+tf//pXoGsDgICzlnaI5xuHAILP76D14osvavjw4WrZsqV+8Ytf6Be/+IWcTqd+8IMfaMGCBcGoEQACpvobh8n0aAFoAH7P0Xrqqaf03HPP6b777rMee+CBB3TFFVfoqaee0uTJkwNaIAAE0qmhQ3q0AASf3z1aJSUlGj58+BmPDxs2TG63OyBFAUCwFJ6cDE+PFoCG4HfQ+uEPf6i33nrrjMffeecdXX/99QEpCgCC5dRipfRoAQg+v4cOe/XqpSeffFJr165VWlqaJGnz5s3atGmTHnzwQc2fP99q+8ADDwSuUgCop8oqr/azWCmABmQzxhh/ntClS5fandhm0xdffFGnoporj8ejuLg4ud1uOZ3OUJcDnHcKS47p8qfXKCLMptxfj2AdLQC1Up/Pb797tPLz8/19CgA0CtUT4ROcUYQsAA0ipAuWzp49WzabzefWs2fPM9oZYzRixAjZbDa9/fbbPscKCgo0cuRIxcTEqH379nr44YdVWVnp02bt2rW69NJL5XA41K1bNy1atOiM11iwYIE6d+6sqKgopaam6sMPP/Q5fvz4cU2ePFlt2rRRixYtNHr0aO3fv7/e1wBAw6leFZ5hQwANJeQrw/fu3VtFRUXWbePGjWe0+e1vfyub7cx/fVZVVWnkyJEqLy/XBx98oD/96U9atGiRZs2aZbXJz8/XyJEjde2112rbtm2aMmWK7rjjDr333ntWmzfeeEPTpk1TZmam/v3vf6t///7KyMhQcXGx1Wbq1KlatmyZli5dqnXr1qmwsFA333xzgK8GgGAqKmEiPIAGZkIoMzPT9O/f/3vbfPzxx6ZDhw6mqKjISDJvvfWWdWzlypUmLCzMuFwu67GFCxcap9NpysrKjDHGPPLII6Z3794+5xw7dqzJyMiw7g8ePNhMnjzZul9VVWWSk5PN3LlzjTHGlJSUmMjISLN06VKrze7du40kk52dXevf1+12G0nG7XbX+jkAAmfOP3aalOnLzVMrdoW6FABNSH0+v0Peo7Vnzx4lJyera9euGj9+vAoKCqxjR48e1U9+8hMtWLBAiYmJZzw3Oztbffv2VUJCgvVYRkaGPB6Pdu7cabVJT0/3eV5GRoays7MlSeXl5dq6datPm7CwMKWnp1tttm7dqoqKCp82PXv2VKdOnaw2NSkrK5PH4/G5AQid6qFD9jkE0FD8DloFBQUyNXxR0RjjE5JqIzU1VYsWLdKqVau0cOFC5efna8iQISotLZV0Yrju8ssv14033ljj810ul0/IkmTdd7lc39vG4/Ho2LFj+vbbb1VVVVVjm9PPYbfbFR8ff9Y2NZk7d67i4uKsW8eOHc9xRQAEU2H1GlqsCg+ggfj9rcMuXbqoqKhI7du393n84MGD6tKli6qqqmp9rhEjRlg/9+vXT6mpqUpJSdGSJUvUrl07rVmzRh9//LG/JTYaM2bM0LRp06z7Ho+HsAWEkKt6Vfh4erQANAy/e7SMMTVOTD98+LCiour3xys+Pl7du3fX3r17tWbNGuXl5Sk+Pl4RERGKiDiRCUePHq1rrrlGkpSYmHjGN/+q71cPNZ6tjdPpVHR0tNq2bavw8PAa25x+jvLycpWUlJy1TU0cDoecTqfPDUBoVFR5VVxaJomhQwANp9Y9WtU9MzabTTNnzlRMTIx1rKqqSjk5ObrkkkvqVczhw4eVl5enW2+9VWPGjNEdd9zhc7xv37567rnndMMNN0iS0tLS9OSTT6q4uNjqYcvKypLT6VSvXr2sNitXrvQ5T1ZWlrWqvd1u18CBA7V69WqNGjVKkuT1erV69Wpr4+yBAwcqMjJSq1ev1ujRoyVJubm5KigosM4DoHHb7zkuY6TIcJvaxjpCXQ6A80Stg1b1EJ4xRtu3b5fdbreO2e129e/fXw899JBfL/7QQw/phhtuUEpKigoLC5WZmanw8HCNGzdO7dq1q7G3qFOnTtbq9MOGDVOvXr106623at68eXK5XHr88cc1efJkORwn/pDefffdeuGFF/TII4/o9ttv15o1a7RkyRKtWLHCOue0adM0YcIEDRo0SIMHD9Zvf/tbHTlyRBMnTpQkxcXFadKkSZo2bZpat24tp9Op+++/X2lpabrsssv8+p0BhEb1HoeJcVEKY7FSAA2k1kHr/ffflyRNnDhRzz//fECGwb766iuNGzdOBw4cULt27XTllVdq8+bNateuXa2eHx4eruXLl+uee+5RWlqaYmNjNWHCBD3xxBNWmy5dumjFihWaOnWqnn/+eV1wwQX6wx/+oIyMDKvN2LFj9c0332jWrFlyuVy65JJLtGrVKp8J8s8995zCwsI0evRolZWVKSMjQy+++GK9rwGAhmFNhHcyER5Aw/F7r8Nqe/fuVV5enq666ipFR0efde4WTmGvQyB0Xl6Xp7nvfqYbL0nW8z8eEOpyADQh9fn89nsy/MGDBzV06FB1795dP/jBD1RUVCRJmjRpkh588EF/TwcADaKIpR0AhIDfQWvKlCmKjIxUQUGBz4T4sWPHatWqVQEtDgAChX0OAYSC3+to/fOf/9R7772nCy64wOfxiy66SP/5z38CVhgABNKpHi2CFoCG43eP1pEjR3x6sqodPHjQ+qYfADQ21UErmQ2lATQgv4PWkCFD9Nprr1n3bTabvF6v5s2bp2uvvTagxQFAIJRXevXtYRYrBdDw/B46nDdvnoYOHaqPPvpI5eXleuSRR7Rz504dPHhQmzZtCkaNAFAv1YuV2iPC1CbWfu4nAECA+N2j1adPH33++ee68sordeONN+rIkSO6+eab9fHHH+vCCy8MRo0AUC+nz89iGRoADcnvHi3pxErpjz32WKBrAYCgqP7GYaKTYUMADatWQevTTz+t9Qn79etX52IAIBgKS5gIDyA0ahW0LrnkEtlsNp1rEXmbzaaqqqqAFAYAgeJiDS0AIVKroJWfnx/sOgAgaApZQwtAiNQqaKWkpAS7DgAImlOrwjN0CKBh1Wky/J49e/T++++ruLhYXq/X59isWbMCUhgABIqrukcrnh4tAA3L76D1+9//Xvfcc4/atm2rxMREn69K22w2ghaARqWsskrfHi6XRI8WgIbnd9D69a9/rSeffFLTp08PRj0AEFDVvVmOiDC1iokMcTUAzjd+L1h66NAh3XLLLcGoBQAC7vQ9DlmsFEBD8zto3XLLLfrnP/8ZjFoAIOBYrBRAKPk9dNitWzfNnDlTmzdvVt++fRUZ6dsV/8ADDwSsOACor+rFSpkIDyAU/A5ar7zyilq0aKF169Zp3bp1PsdsNhtBC0CjUj1HK5mJ8ABCwO+gxeKlAJoSa+iQxUoBhIDfc7QAoCk5tc8hQQtAw6tVj9a0adP0q1/9SrGxsZo2bdr3tv3Nb34TkMIAIBBcnurtdxg6BNDwahW0Pv74Y1VUVFg/nw1fnQbQmByvqNLBI9WLldKjBaDh1Spovf/++zX+DACNWfUaWtGR4YqLZrFSAA2POVoAmi1rM+n4KHrcAYQEQQtAs1VUvYYWw4YAQoSgBaDZsnq0mAgPIEQIWgCaLWufQ3q0AIQIQQtAs1UdtBLp0QIQIgQtAM1WYcmpyfAAEAoELQDNVvVipexzCCBUCFoAmqVj5VUqOXpioWX2OQQQKgQtAM1S4clvHMbaw+WMqtXazAAQcAQtAM2S6+RE+KT4aBYrBRAyBC0AzZI1EZ5hQwAhRNAC0CxVL+1A0AIQSgQtAM3SqaDFNw4BhA5BC0CzdGr7HXq0AIQOQQtAs2RtKB1PjxaA0CFoAWiWqnu02OcQQCgRtAA0O0fKKuU5XimJxUoBhBZBC0CzU92b1dIRoZZRkSGuBsD5jKAFoNkptOZn0ZsFILQIWgCanepV4RNZ2gFAiBG0ADQ7hUyEB9BIELQANDvW0g70aAEIMYIWgGanyMP2OwAaB4IWgGanqHpDaSbDAwgxghaAZod9DgE0FgQtAM1K6fEKHS47sVgpQ4cAQo2gBaBZqe7NckZFKNYREeJqAJzvCFoAmpXCk/OzktlMGkAjQNAC0KycWqyUYUMAoUfQAtCsFDIRHkAjQtAC0KxUL+3AqvAAGgOCFoBmxeVh6BBA4xHSoDV79mzZbDafW8+ePSVJBw8e1P33368ePXooOjpanTp10gMPPCC32+1zjoKCAo0cOVIxMTFq3769Hn74YVVWVvq0Wbt2rS699FI5HA5169ZNixYtOqOWBQsWqHPnzoqKilJqaqo+/PBDn+PHjx/X5MmT1aZNG7Vo0UKjR4/W/v37A3tBANQbk+EBNCYh79Hq3bu3ioqKrNvGjRslSYWFhSosLNSzzz6rHTt2aNGiRVq1apUmTZpkPbeqqkojR45UeXm5PvjgA/3pT3/SokWLNGvWLKtNfn6+Ro4cqWuvvVbbtm3TlClTdMcdd+i9996z2rzxxhuaNm2aMjMz9e9//1v9+/dXRkaGiouLrTZTp07VsmXLtHTpUq1bt06FhYW6+eabG+AKAagtY8xpi5XSowWgETAhlJmZafr371/r9kuWLDF2u91UVFQYY4xZuXKlCQsLMy6Xy2qzcOFC43Q6TVlZmTHGmEceecT07t3b5zxjx441GRkZ1v3BgwebyZMnW/erqqpMcnKymTt3rjHGmJKSEhMZGWmWLl1qtdm9e7eRZLKzs2tdv9vtNpKM2+2u9XMA1F7J0XKTMn25SZm+3Bwtqwx1OQCaifp8foe8R2vPnj1KTk5W165dNX78eBUUFJy1rdvtltPpVETEiUUIs7Oz1bdvXyUkJFhtMjIy5PF4tHPnTqtNenq6z3kyMjKUnZ0tSSovL9fWrVt92oSFhSk9Pd1qs3XrVlVUVPi06dmzpzp16mS1qUlZWZk8Ho/PDUDwFLlPDBvGx0Qq2h4e4moAIMRDh6mpqdaQ4MKFC5Wfn68hQ4aotLT0jLbffvutfvWrX+muu+6yHnO5XD4hS5J13+VyfW8bj8ejY8eO6dtvv1VVVVWNbU4/h91uV3x8/Fnb1GTu3LmKi4uzbh07djzHFQFQH0UlLO0AoHEJadAaMWKEbrnlFvXr108ZGRlauXKlSkpKtGTJEp92Ho9HI0eOVK9evTR79uzQFFsHM2bMkNvttm779u0LdUlAs8b8LACNTaPaCCw+Pl7du3fX3r17rcdKS0s1fPhwtWzZUm+99ZYiIyOtY4mJiWd8O7D6m4CJiYnW/37324H79++X0+lUdHS0wsPDFR4eXmOb089RXl6ukpISn16t09vUxOFwyOFw+HEFANRH9dAhQQtAYxHyOVqnO3z4sPLy8pSUlCTpRE/WsGHDZLfb9Y9//ENRUb5/PNPS0rR9+3afbwdmZWXJ6XSqV69eVpvVq1f7PC8rK0tpaWmSJLvdroEDB/q08Xq9Wr16tdVm4MCBioyM9GmTm5urgoICqw2A0Cs8OXTI0g4AGouQ9mg99NBDuuGGG5SSkqLCwkJlZmYqPDxc48aNs0LW0aNH9Ze//MVnMnm7du0UHh6uYcOGqVevXrr11ls1b948uVwuPf7445o8ebLVk3T33XfrhRde0COPPKLbb79da9as0ZIlS7RixQqrjmnTpmnChAkaNGiQBg8erN/+9rc6cuSIJk6cKEmKi4vTpEmTNG3aNLVu3VpOp1P333+/0tLSdNlllzX8hQNQI5fnRI9WopMeLQCNQ0iD1ldffaVx48bpwIEDateuna688kpt3rxZ7dq109q1a5WTkyNJ6tatm8/z8vPz1blzZ4WHh2v58uW65557lJaWptjYWE2YMEFPPPGE1bZLly5asWKFpk6dqueff14XXHCB/vCHPygjI8NqM3bsWH3zzTeaNWuWXC6XLrnkEq1atcpngvxzzz2nsLAwjR49WmVlZcrIyNCLL74Y5CsEwB/WZPh4ghaAxsFmjDGhLuJ84fF4FBcXZy1TASBwjDG6eNYqHa/wau1D16hz29hQlwSgmajP53ejmqMFAHXlPlah4xVeSexzCKDxIGgBaBaqJ8K3jrUrKpLFSgE0DgQtAM0CSzsAaIwIWgCaBRYrBdAYEbQANAunerRYQwtA40HQAtAssLQDgMaIoAWgWWDoEEBjRNAC0CwwdAigMSJoAWjyjDFWj1YyQQtAI0LQAtDkHTpaobLKE4uVJsQ5QlwNAJxC0ALQ5BWWnBg2bNvCLkcEi5UCaDwIWgCavFMT4Rk2BNC4ELQANHmukxPh2eMQQGND0ALQ5BVaE+EJWgAaF4IWgCav6OQcraR4hg4BNC4ELQBNHouVAmisCFoAmjwmwwNorAhaAJo0r9fIRY8WgEaKoAWgSTt4tFzlVV7ZbFKCk6AFoHEhaAFo0opKTvRmtW3hkD2CP2kAGhf+KgFo0gpPrqHF0g4AGiOCFoAmrXp+FouVAmiMCFoAmrTqHi2+cQigMSJoAWjSqudoJcfTowWg8SFoAWjSTg0d0qMFoPEhaAFo0pgMD6AxI2gBaLK8XqP9npOLlbLPIYBGiKAFoMn69kiZKqqMbDapfUtHqMsBgDMQtAA0WdUT4du3dCgynD9nABof/jIBaLKKWNoBQCNH0ALQZBWxmTSARo6gBaDJOhW06NEC0DgRtAA0WYUlJ5d2YLFSAI0UQQtAk8U+hwAaO4IWgCaLoUMAjR1BC0CTVOU1cnnY5xBA40bQAtAkfXu4TFVeozCb1K4Fi5UCaJwIWgCapOqJ8AnOKEWwWCmARoq/TgCaJNbQAtAUELQANElMhAfQFBC0ADRJRSXV2+/QowWg8SJoAWiSrB6teHq0ADReBC0ATdKpDaXp0QLQeBG0ADRJTIYH0BQQtAA0OZVVXu23Fitl6BBA40XQAtDkfHO4TF4jRYTZ1JbFSgE0YgQtAE1OYcmJ3qwEZ5TCw2whrgYAzo6gBaDJYSI8gKaCoAWgyXGdnAifSNAC0MgRtAA0OdVDh0yEB9DYEbQANDkMHQJoKghaAJoc1tAC0FQQtAA0Oad6tBg6BNC4EbQANCkVVV4Vl5ZJkpLi6dEC0LgRtAA0KcWlZTJGigy3qW0si5UCaNwIWgCalKKSE8OGCc4ohbFYKYBGLqRBa/bs2bLZbD63nj17WsePHz+uyZMnq02bNmrRooVGjx6t/fv3+5yjoKBAI0eOVExMjNq3b6+HH35YlZWVPm3Wrl2rSy+9VA6HQ926ddOiRYvOqGXBggXq3LmzoqKilJqaqg8//NDneG1qARB8hScnwiczPwtAExDyHq3evXurqKjIum3cuNE6NnXqVC1btkxLly7VunXrVFhYqJtvvtk6XlVVpZEjR6q8vFwffPCB/vSnP2nRokWaNWuW1SY/P18jR47Utddeq23btmnKlCm644479N5771lt3njjDU2bNk2ZmZn697//rf79+ysjI0PFxcW1rgVAw3CdnAjPYqUAmgKbMcaE6sVnz56tt99+W9u2bTvjmNvtVrt27fS3v/1NP/rRjyRJn332mS6++GJlZ2frsssu07vvvqvrr79ehYWFSkhIkCS99NJLmj59ur755hvZ7XZNnz5dK1as0I4dO6xz//jHP1ZJSYlWrVolSUpNTdV//dd/6YUXXpAkeb1edezYUffff78effTRWtVSGx6PR3FxcXK73XI6nXW+bt916Ei5jpRXnrsh0AzMX71HSz76Sj+/uqtmjLg41OUAOA/U5/M7Ikg11dqePXuUnJysqKgopaWlae7cuerUqZO2bt2qiooKpaenW2179uypTp06WeEmOztbffv2tUKWJGVkZOiee+7Rzp07NWDAAGVnZ/uco7rNlClTJEnl5eXaunWrZsyYYR0PCwtTenq6srOzJalWtdSkrKxMZWVl1n2Px1P3C/U9nvlnrv6WUxCUcwONFUOHAJqCkAat1NRULVq0SD169FBRUZHmzJmjIUOGaMeOHXK5XLLb7YqPj/d5TkJCglwulyTJ5XL5hKzq49XHvq+Nx+PRsWPHdOjQIVVVVdXY5rPPPrPOca5aajJ37lzNmTOndhejHiLDbIqKDPkoMNBg2sQ6dHX3dqEuAwDOKaRBa8SIEdbP/fr1U2pqqlJSUrRkyRJFRzf9f63OmDFD06ZNs+57PB517Ngx4K8z58Y+mnNjn4CfFwAA1E+j6gaJj49X9+7dtXfvXiUmJqq8vFwlJSU+bfbv36/ExERJUmJi4hnf/Ku+f642TqdT0dHRatu2rcLDw2tsc/o5zlVLTRwOh5xOp88NAACcPxpV0Dp8+LDy8vKUlJSkgQMHKjIyUqtXr7aO5+bmqqCgQGlpaZKktLQ0bd++3efbgVlZWXI6nerVq5fV5vRzVLepPofdbtfAgQN92ni9Xq1evdpqU5taAAAAzmBC6MEHHzRr1641+fn5ZtOmTSY9Pd20bdvWFBcXG2OMufvuu02nTp3MmjVrzEcffWTS0tJMWlqa9fzKykrTp08fM2zYMLNt2zazatUq065dOzNjxgyrzRdffGFiYmLMww8/bHbv3m0WLFhgwsPDzapVq6w2ixcvNg6HwyxatMjs2rXL3HXXXSY+Pt64XC6rzblqqQ23220kGbfbXddLBgAAGlh9Pr9DGrTGjh1rkpKSjN1uNx06dDBjx441e/futY4fO3bM3HvvvaZVq1YmJibG3HTTTaaoqMjnHF9++aUZMWKEiY6ONm3btjUPPvigqaio8Gnz/vvvm0suucTY7XbTtWtX8+qrr55Ry+9+9zvTqVMnY7fbzeDBg83mzZt9jtemlnMhaAEA0PTU5/M7pOtonW+CtY4WAAAInvp8fjeqOVoAAADNCUELAAAgSAhaAAAAQULQAgAACBKCFgAAQJAQtAAAAIKEoAUAABAkBC0AAIAgIWgBAAAESUSoCzifVC/C7/F4QlwJAACorerP7bpspkPQakClpaWSpI4dO4a4EgAA4K/S0lLFxcX59Rz2OmxAXq9XhYWFatmypWw2W8DO6/F41LFjR+3bt489FBsQ1z00uO6hwXUPDa57aHz3uhtjVFpaquTkZIWF+Tfrih6tBhQWFqYLLrggaOd3Op38hxgCXPfQ4LqHBtc9NLjuoXH6dfe3J6sak+EBAACChKAFAAAQJAStZsDhcCgzM1MOhyPUpZxXuO6hwXUPDa57aHDdQyOQ153J8AAAAEFCjxYAAECQELQAAACChKAFAAAQJAQtAACAICFoNQMLFixQ586dFRUVpdTUVH344YehLqlZmz17tmw2m8+tZ8+eoS6r2Vm/fr1uuOEGJScny2az6e233/Y5bozRrFmzlJSUpOjoaKWnp2vPnj2hKbYZOdd1/9nPfnbG+3/48OGhKbaZmDt3rv7rv/5LLVu2VPv27TVq1Cjl5ub6tDl+/LgmT56sNm3aqEWLFho9erT2798fooqbh9pc92uuueaM9/vdd9/t1+sQtJq4N954Q9OmTVNmZqb+/e9/q3///srIyFBxcXGoS2vWevfuraKiIuu2cePGUJfU7Bw5ckT9+/fXggULajw+b948zZ8/Xy+99JJycnIUGxurjIwMHT9+vIErbV7Odd0lafjw4T7v/9dff70BK2x+1q1bp8mTJ2vz5s3KyspSRUWFhg0bpiNHjlhtpk6dqmXLlmnp0qVat26dCgsLdfPNN4ew6qavNtddku68806f9/u8efP8eyGDJm3w4MFm8uTJ1v2qqiqTnJxs5s6dG8KqmrfMzEzTv3//UJdxXpFk3nrrLeu+1+s1iYmJ5plnnrEeKykpMQ6Hw7z++ushqLB5+u51N8aYCRMmmBtvvDEk9ZwviouLjSSzbt06Y8yJ93ZkZKRZunSp1Wb37t1GksnOzg5Vmc3Od6+7McZcffXV5he/+EW9zkuPVhNWXl6urVu3Kj093XosLCxM6enpys7ODmFlzd+ePXuUnJysrl27avz48SooKAh1SeeV/Px8uVwun/d+XFycUlNTee83gLVr16p9+/bq0aOH7rnnHh04cCDUJTUrbrdbktS6dWtJ0tatW1VRUeHzfu/Zs6c6derE+z2Avnvdq/31r39V27Zt1adPH82YMUNHjx7167xsKt2Effvtt6qqqlJCQoLP4wkJCfrss89CVFXzl5qaqkWLFqlHjx4qKirSnDlzNGTIEO3YsUMtW7YMdXnnBZfLJUk1vverjyE4hg8frptvvlldunRRXl6efvnLX2rEiBHKzs5WeHh4qMtr8rxer6ZMmaIrrrhCffr0kXTi/W632xUfH+/Tlvd74NR03SXpJz/5iVJSUpScnKxPP/1U06dPV25urt58881an5ugBfhpxIgR1s/9+vVTamqqUlJStGTJEk2aNCmElQHB9+Mf/9j6uW/fvurXr58uvPBCrV27VkOHDg1hZc3D5MmTtWPHDuZ9NrCzXfe77rrL+rlv375KSkrS0KFDlZeXpwsvvLBW52bosAlr27atwsPDz/jmyf79+5WYmBiiqs4/8fHx6t69u/bu3RvqUs4b1e9v3vuh17VrV7Vt25b3fwDcd999Wr58ud5//31dcMEF1uOJiYkqLy9XSUmJT3ve74Fxtutek9TUVEny6/1O0GrC7Ha7Bg4cqNWrV1uPeb1erV69WmlpaSGs7Pxy+PBh5eXlKSkpKdSlnDe6dOmixMREn/e+x+NRTk4O7/0G9tVXX+nAgQO8/+vBGKP77rtPb731ltasWaMuXbr4HB84cKAiIyN93u+5ubkqKCjg/V4P57ruNdm2bZsk+fV+Z+iwiZs2bZomTJigQYMGafDgwfrtb3+rI0eOaOLEiaEurdl66KGHdMMNNyglJUWFhYXKzMxUeHi4xo0bF+rSmpXDhw/7/KsxPz9f27ZtU+vWrdWpUydNmTJFv/71r3XRRRepS5cumjlzppKTkzVq1KjQFd0MfN91b926tebMmaPRo0crMTFReXl5euSRR9StWzdlZGSEsOqmbfLkyfrb3/6md955Ry1btrTmXcXFxSk6OlpxcXGaNGmSpk2bptatW8vpdOr+++9XWlqaLrvsshBX33Sd67rn5eXpb3/7m37wgx+oTZs2+vTTTzV16lRdddVV6tevX+1fqF7fWUSj8Lvf/c506tTJ2O12M3jwYLN58+ZQl9SsjR071iQlJRm73W46dOhgxo4da/bu3Rvqspqd999/30g64zZhwgRjzIklHmbOnGkSEhKMw+EwQ4cONbm5uaEtuhn4vut+9OhRM2zYMNOuXTsTGRlpUlJSzJ133mlcLleoy27Sarreksyrr75qtTl27Ji59957TatWrUxMTIy56aabTFFRUeiKbgbOdd0LCgrMVVddZVq3bm0cDofp1q2befjhh43b7fbrdWwnXwwAAAABxhwtAACAICFoAQAABAlBCwAAIEgIWgAAAEFC0AIAAAgSghYAAECQELQAAACChKAFAAAQJAQtAOeltWvXymaznbFRb0NZvXq1Lr74YlVVVZ2z7apVq3TJJZfI6/U2QGUAAomgBaDZu+aaazRlyhSfxy6//HIVFRUpLi4uJDU98sgjevzxxxUeHn7OtsOHD1dkZKT++te/NkBlAAKJoAXgvGS325WYmCibzdbgr71x40bl5eVp9OjRtX7Oz372M82fPz+IVQEIBoIWgGbtZz/7mdatW6fnn39eNptNNptNX3755RlDh4sWLVJ8fLyWL1+uHj16KCYmRj/60Y909OhR/elPf1Lnzp3VqlUrPfDAAz7DfWVlZXrooYfUoUMHxcbGKjU1VWvXrv3emhYvXqzrrrtOUVFR1mOffPKJrr32WrVs2VJOp1MDBw7URx99ZB2/4YYb9NFHHykvLy+g1wdAcEWEugAACKbnn39en3/+ufr06aMnnnhCktSuXTt9+eWXZ7Q9evSo5s+fr8WLF6u0tFQ333yzbrrpJsXHx2vlypX64osvNHr0aF1xxRUaO3asJOm+++7Trl27tHjxYiUnJ+utt97S8OHDtX37dl100UU11rRhwwb95Cc/8Xls/PjxGjBggBYuXKjw8HBt27ZNkZGR1vFOnTopISFBGzZs0IUXXhigqwMg2AhaAJq1uLg42e12xcTEKDEx8XvbVlRUaOHChVaQ+dGPfqQ///nP2r9/v1q0aKFevXrp2muv1fvvv6+xY8eqoKBAr776qgoKCpScnCxJeuihh7Rq1Sq9+uqreuqpp2p8nf/85z9W+2oFBQV6+OGH1bNnT0mqMaQlJyfrP//5j9/XAEDoELQA4KSYmBif3qKEhAR17txZLVq08HmsuLhYkrR9+3ZVVVWpe/fuPucpKytTmzZtzvo6x44d8xk2lKRp06bpjjvu0J///Gelp6frlltuOaPnKjo6WkePHq3z7weg4RG0AOCk04fqJMlms9X4WPUyC4cPH1Z4eLi2bt16xrcHTw9n39W2bVsdOnTI57HZs2frJz/5iVasWKF3331XmZmZWrx4sW666SarzcGDB9WuXbs6/W4AQoOgBaDZs9vttVqvyl8DBgxQVVWViouLNWTIEL+et2vXrjMe7969u7p3766pU6dq3LhxevXVV62gdfz4ceXl5WnAgAEBqx9A8PGtQwDNXufOnZWTk6Mvv/xS3377bcAW/uzevbvGjx+v2267TW+++aby8/P14Ycfau7cuVqxYsVZn5eRkaGNGzda948dO6b77rtPa9eu1X/+8x9t2rRJW7Zs0cUXX2y12bx5sxwOh9LS0gJSO4CGQdAC0Ow99NBDCg8PV69evdSuXTsVFBQE7NyvvvqqbrvtNj344IPq0aOHRo0apS1btqhTp05nfc748eO1c+dO5ebmSpLCw8N14MAB3XbbberevbvGjBmjESNGaM6cOdZzXn/9dY0fP14xMTEBqx1A8NmMMSbURQDA+ebhhx+Wx+PRyy+/fM623377rXr06KGPPvpIXbp0aYDqAAQKPVoAEAKPPfaYUlJSajWM+eWXX+rFF18kZAFNED1aAAAAQUKPFgAAQJAQtAAAAIKEoAUAABAkBC0AAIAgIWgBAAAECUELAAAgSAhaAAAAQULQAgAACBKCFgAAQJD8f6nekVK9q2STAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\dae\\petsc_pid_doc_16_0.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "a = plt.plot(\n", " tj.time, tj.get_vec(m.fs.valve_1.control_volume.properties_in[24].pressure)\n", @@ -2784,22 +258,7 @@ "cell_type": "code", "execution_count": 11, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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uuDj58+fr4kTJ2rChAnq0aOHFi1apNDQ0LOu5fP1119r4MCBuvXWW5WSkqJrr71Wv/nNb87bKuQLYk6utny8jBYeAAC8zeXAY7fbNXfuXEVFRaldu3Zq166doqOj9cc//vG0RQjPpbq6Whs3btTQoUNPFWM2a+jQoVq7du0ZjxkwYIA2btzoDDh79+7VRx99pBEjRpz1OlVVVSopKWnwMkI009IBADCMy11ajzzyiBYvXqw///nPGjhwoCRpzZo1mj17tiorK/WnP/2pUecpKCiQzWZTQkJCg+0JCQnauXPnGY+59dZbVVBQoCuuuEIOh0O1tbWaNGmSHn744bNeZ968eZozZ04j/zrPiakPPLTwAADgdS638Lz88st66aWXNHnyZKWmpio1NVV33XWXXnzxRS1btswDJZ6yatUqPfHEE/rb3/6mTZs26d1339Xy5cv1xz/+8azHzJgxQ8XFxc7XwYMHPVrj2dSvw1NWbVNVLQ8QBQDAm1xu4SksLFS3bt1O296tWzcVFhY2+jyxsbGyWCzKy8trsD0vL0+JiYlnPGbmzJn67W9/qzvuuEOS1KtXL5WVlenOO+/UI488IrP59PwWFBSkoKCgRtflKRHBAbKYTbLZHSoqr1FCpMXokgAAaDZcbuFJS0vT888/f9r2559/XmlpaY0+j9VqVZ8+fZSZmencZrfblZmZqf79+5/xmPLy8tNCjcVSFxwcDkejr20Es9mk6BDW4gEAwAgut/A89dRTuv766/XZZ585g8natWt18OBBffTRRy6da/r06Ro3bpz69u2rfv36acGCBSorK9OECRMkSWPHjlXr1q01b948SdLIkSM1f/589e7dWxkZGdq9e7dmzpypkSNHOoOPL2sRZtWxsmoVMo4HAACvcjnwXHXVVdq1a5cWLlzoHFx800036a677lJSUpJL5xo9erSOHj2qxx57TLm5uUpPT9eKFSucA5mzs7MbtOg8+uijMplMevTRR3X48GHFxcVp5MiRjR4obbRTA5dZiwcAAG8yOXy9L8jNSkpKFBUVpeLiYkVGRnr12pP/b6P+uy1Xc35xicYNSPHqtQEAaMou9vu7US08W7duVc+ePWU2m7V169Zz7puamupyEc1FbHjd4OmCE1UGVwIAQPPSqMCTnp6u3NxcxcfHKz09XSaT6YyDhE0mk2w2plyfDYEHAABj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brfr3nvv1cCBA9WzZ09JdZ95q9Wq6OjoBvvymXefM913Sbr11lvVrl07JSUlaevWrfrDH/6grKwsvfvuu40+N4EHTdJ1113n/Dk1NVUZGRlq166d3nrrLd1+++0GVgZ43q9//Wvnz7169VJqaqo6duyoVatWaciQIQZW5j+mTJmibdu2MTbQy8523++8807nz7169VKrVq00ZMgQ7dmzRx07dmzUuenSukixsbGyWCynjdLPy8tTYmKiQVU1P9HR0erSpYt2795tdCnNRv3nm8++8Tp06KDY2Fg+/25y991368MPP9TKlSvVpk0b5/bExERVV1erqKiowf585t3jbPf9TDIyMiTJpc88geciWa1W9enTR5mZmc5tdrtdmZmZ6t+/v4GVNS8nTpzQnj171KpVK6NLaTbat2+vxMTEBp/9kpISrVu3js++lx06dEjHjh3j83+RHA6H7r77br333nv6/PPP1b59+wbv9+nTR4GBgQ0+81lZWcrOzuYzfxHOd9/PZMuWLZLk0meeLi03mD59usaNG6e+ffuqX79+WrBggcrKyjRhwgSjS/Nb999/v0aOHKl27drpyJEjmjVrliwWi37zm98YXZpfOXHiRIP/gtq3b5+2bNmimJgYtW3bVvfee68ef/xxde7cWe3bt9fMmTOVlJSkG2+80bii/cC57ntMTIzmzJmjm2++WYmJidqzZ48efPBBderUScOGDTOw6qZvypQpeu211/T+++8rIiLCOS4nKipKISEhioqK0u23367p06crJiZGkZGR+v3vf6/+/fvr8ssvN7j6put8933Pnj167bXXNGLECLVs2VJbt27VtGnTNGjQIKWmpjb+Qhc1xwtOzz33nKNt27YOq9Xq6Nevn+Obb74xuiS/Nnr0aEerVq0cVqvV0bp1a8fo0aMdu3fvNrosv7Ny5UqHpNNe48aNczgcdVPTZ86c6UhISHAEBQU5hgwZ4sjKyjK2aD9wrvteXl7uuPbaax1xcXGOwMBAR7t27RwTJ0505ObmGl12k3emey7JsXTpUuc+FRUVjrvuusvRokULR2hoqGPUqFGOnJwc44r2A+e779nZ2Y5BgwY5YmJiHEFBQY5OnTo5HnjgAUdxcbFL1zGdvBgAAIDfYgwPAADwewQeAADg9wg8AADA7xF4AACA3yPwAAAAv0fgAQAAfo/AAwAA/B6BBwAA+D0CDwDDrFq1SiaT6bSHMXpLZmamunfvLpvNdt59V6xYofT0dNntdi9UBsDdCDwAvGLw4MG69957G2wbMGCAcnJyFBUVZUhNDz74oB599FFZLJbz7jt8+HAFBgbq1Vdf9UJlANyNwAPAMFarVYmJiTKZTF6/9po1a7Rnzx7dfPPNjT5m/PjxevbZZz1YFQBPIfAA8Ljx48dr9erVeuaZZ2QymWQymbR///7TurSWLVum6Ohoffjhh+ratatCQ0P1y1/+UuXl5Xr55ZeVkpKiFi1a6J577mnQDVVVVaX7779frVu3VlhYmDIyMrRq1apz1vTGG2/ommuuUXBwsHPbd999p6uvvloRERGKjIxUnz59tGHDBuf7I0eO1IYNG7Rnzx633h8AnhdgdAEA/N8zzzyjXbt2qWfPnpo7d64kKS4uTvv37z9t3/Lycj377LN64403VFpaqptuukmjRo1SdHS0PvroI+3du1c333yzBg4cqNGjR0uS7r77bv3www964403lJSUpPfee0/Dhw/X999/r86dO5+xpi+//FK33nprg21jxoxR79699fe//10Wi0VbtmxRYGCg8/22bdsqISFBX375pTp27OimuwPAGwg8ADwuKipKVqtVoaGhSkxMPOe+NTU1+vvf/+4MFL/85S/1yiuvKC8vT+Hh4erRo4euvvpqrVy5UqNHj1Z2draWLl2q7OxsJSUlSZLuv/9+rVixQkuXLtUTTzxxxuscOHDAuX+97OxsPfDAA+rWrZsknTEsJSUl6cCBAy7fAwDGIvAA8CmhoaENWk8SEhKUkpKi8PDwBtvy8/MlSd9//71sNpu6dOnS4DxVVVVq2bLlWa9TUVHRoDtLkqZPn6477rhDr7zyioYOHapbbrnltJackJAQlZeXX/DfB8AYBB4APuWnXUiSZDKZzritfnr4iRMnZLFYtHHjxtNmW/00JP2v2NhYHT9+vMG22bNn69Zbb9Xy5cv13//+V7NmzdIbb7yhUaNGOfcpLCxUXFzcBf1tAIxD4AHgFVartVHr3biqd+/estlsys/P15VXXunScT/88MNp27t06aIuXbpo2rRp+s1vfqOlS5c6A09lZaX27Nmj3r17u61+AN7BLC0AXpGSkqJ169Zp//79KigocNsCfl26dNGYMWM0duxYvfvuu9q3b5/Wr1+vefPmafny5Wc9btiwYVqzZo3z94qKCt19991atWqVDhw4oK+++krffvutunfv7tznm2++UVBQkPr37++W2gF4D4EHgFfcf//9slgs6tGjh+Li4pSdne22cy9dulRjx47Vfffdp65du+rGG2/Ut99+q7Zt2571mDFjxmj79u3KysqSJFksFh07dkxjx45Vly5d9Ktf/UrXXXed5syZ4zzm9ddf15gxYxQaGuq22gF4h8nhcDiMLgIAjPDAAw+opKRE//jHP867b0FBgbp27aoNGzaoffv2XqgOgDvRwgOg2XrkkUfUrl27RnWv7d+/X3/7298IO0ATRQsPAADwe7TwAAAAv0fgAQAAfo/AAwAA/B6BBwAA+D0CDwAA8HsEHgAA4PcIPAAAwO8ReAAAgN8j8AAAAL/3/wNd3BhvvYCYgQAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\dae\\petsc_pid_doc_17_0.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "a = plt.plot(tj.time, tj.get_vec(m.fs.valve_1.valve_opening[24]))\n", "a = plt.ylabel(\"valve 1 fraction open\")\n", @@ -2810,22 +269,7 @@ "cell_type": "code", "execution_count": 12, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAloAAAGwCAYAAABxbMuTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABYoUlEQVR4nO3deXxTZb4/8E+SNumatIUulC5UCoUii5ShRAZcqBToOCA4g4paWVQYdISOgHUB9c5YLugFFES9/C44owiUKzNXVjsFqkDZCoWylcVi2doCpUnp3uT5/VFyILZIA0lOm37er1dekHOenHxzJkw+Ps9znqMQQggQERERkd0p5S6AiIiIyFUxaBERERE5CIMWERERkYMwaBERERE5CIMWERERkYMwaBERERE5CIMWERERkYO4yV1AW2I2m3Hx4kX4+vpCoVDIXQ4RERE1gxAC5eXlCA0NhVJpWx8Vg5YTXbx4EeHh4XKXQURERHfh3LlzCAsLs+k1DFpO5OvrC6DhfyitVitzNURERNQcRqMR4eHh0u+4LRi0nMgyXKjVahm0iIiIWpm7mfbDyfBEREREDsKgRUREROQgDFpEREREDsKgRUREROQgDFpEREREDsKgRUREROQgDFpEREREDsKgRUREROQgDFpEREREDsKgRUREROQgDFpEREREDsKgRUREROQgDFouQAiBvPMGlFXWyl0KERER3YJBywVM/ioHjy/egfWHL8ldChEREd1C1qC1dOlS9OrVC1qtFlqtFnq9Hps2bbJqk52djUcffRTe3t7QarUYPHgwqqqqpP2lpaUYN24ctFot/Pz8MHHiRFy/ft3qGIcPH8agQYPg4eGB8PBwzJs3r1Et6enp6NatGzw8PNCzZ09s3LjRar8QArNnz0aHDh3g6emJhIQEnDp1yo5n4+71jfAHAGxg0CIiImpRZA1aYWFhmDt3LnJycrB//348+uijGDlyJI4ePQqgIWQNGzYMQ4cOxd69e7Fv3z688sorUCpvlj1u3DgcPXoUGRkZWL9+PX744Qe89NJL0n6j0YihQ4ciMjISOTk5mD9/Pt5991188cUXUptdu3bh6aefxsSJE3Hw4EGMGjUKo0aNwpEjR6Q28+bNw8cff4zPPvsMe/bsgbe3NxITE1FdXe2EM/Xrht/fAQCw92wpqutMMldDREREEtHC+Pv7i2XLlgkhhIiPjxdvv/32bdseO3ZMABD79u2Ttm3atEkoFApx4cIFIYQQn376qfD39xc1NTVSm1mzZomYmBjp+R//+EeRlJRkdez4+Hjx8ssvCyGEMJvNIiQkRMyfP1/aX1ZWJjQajfjmm2+a/dkMBoMAIAwGQ7Nf0xxms1n0ff97ETlrvThYeM2uxyYiImrr7uX3u8XM0TKZTFi1ahUqKiqg1+tRUlKCPXv2ICgoCA8++CCCg4Px0EMPYceOHdJrsrOz4efnh379+knbEhISoFQqsWfPHqnN4MGDoVarpTaJiYnIz8/HtWvXpDYJCQlW9SQmJiI7OxsAUFBQgKKiIqs2Op0O8fHxUpum1NTUwGg0Wj0cQaFQoEdHHQDgyAWDQ96DiIiIbCd70MrLy4OPjw80Gg0mT56MdevWITY2Fj/99BMA4N1338WLL76IzZs3o2/fvhgyZIg0N6qoqAhBQUFWx3Nzc0NAQACKioqkNsHBwVZtLM/v1ObW/be+rqk2TUlLS4NOp5Me4eHhzT8xNuoS5AMAOHulwmHvQURERLaRPWjFxMQgNzcXe/bswZQpU5CcnIxjx47BbDYDAF5++WWMHz8eDzzwABYsWICYmBj8z//8j8xVN09qaioMBoP0OHfunMPeK9zfEwBw7lqlw96DiIiIbOMmdwFqtRrR0dEAgLi4OOzbtw+LFi3CG2+8AQCIjY21at+9e3cUFhYCAEJCQlBSUmK1v76+HqWlpQgJCZHaFBcXW7WxPL9Tm1v3W7Z16NDBqk2fPn1u+9k0Gg00Gs0dzoB9RLTzAgAUllbdoSURERE5i+w9Wr9kNptRU1ODTp06ITQ0FPn5+Vb7T548icjISACAXq9HWVkZcnJypP1bt26F2WxGfHy81OaHH35AXV2d1CYjIwMxMTHw9/eX2mRmZlq9T0ZGBvR6PQAgKioKISEhVm2MRiP27NkjtZFbuH9D0Dpfyh4tIiKiFsMBk/Ob7Y033hBZWVmioKBAHD58WLzxxhtCoVCI77//XgghxIIFC4RWqxXp6eni1KlT4u233xYeHh7i9OnT0jGGDRsmHnjgAbFnzx6xY8cO0aVLF/H0009L+8vKykRwcLB47rnnxJEjR8SqVauEl5eX+Pzzz6U2O3fuFG5ubuLDDz8Ux48fF3PmzBHu7u4iLy9PajN37lzh5+cn/vWvf4nDhw+LkSNHiqioKFFVVdXsz+uoqw6FEMJYVSsiZ60XkbPWi4qaOrsfn4iIqK26l99vWYPWhAkTRGRkpFCr1SIwMFAMGTJEClkWaWlpIiwsTHh5eQm9Xi9+/PFHq/1Xr14VTz/9tPDx8RFarVaMHz9elJeXW7U5dOiQ+O1vfys0Go3o2LGjmDt3bqNa1qxZI7p27SrUarXo0aOH2LBhg9V+s9ks3nnnHREcHCw0Go0YMmSIyM/Pt+nzOjJomc1m0e3tTSJy1npx9sp1ux+fiIiorbqX32+FEELI26fWdhiNRuh0OhgMBmi1Wrsff/C8bSgsrUT6ZD1+0ynA7scnIiJqi+7l97vFzdGiuxfk2zDx/nJ5jcyVEBEREcCg5VICbwStEqP8twUiIiIiBi2XYunRKmGPFhERUYvAoOVCAjl0SERE1KIwaLmQIF8PAOzRIiIiaikYtFwIe7SIiIhaFgYtF+LvrQYAlFXWylwJERERAQxaLsXfyx0AcK2y7g4tiYiIyBkYtFyIpUerqs6E6jqTzNUQERERg5YL8dW4wU2pAABc4/AhERGR7Bi0XIhCoYCfZfiwgsOHREREcmPQcjH+XpwQT0RE1FIwaLkYS9AqZdAiIiKSHYOWi/HjlYdEREQtBoOWiwmwrKVVwR4tIiIiuTFouRg/Dh0SERG1GAxaLsayaGkZhw6JiIhkx6DlYiyLlnIdLSIiIvkxaLkYP8+GHi1DFXu0iIiI5Mag5WK0N4KWkUGLiIhIdgxaLkbrYenRqpe5EiIiImLQcjFaTzcAgLGaPVpERERyY9ByMZahw9p6M6rrTDJXQ0RE1LYxaLkYH7UblIqGv7NXi4iISF4MWi5GqVTA18MyIZ7ztIiIiOTEoOWCLPO0uMQDERGRvBi0XJDlykMOHRIREcmLQcsFSUGLPVpERESyYtByQTeXeOAcLSIiIjkxaLkgHVeHJyIiahEYtFwQhw6JiIhaBgYtFyTd75CT4YmIiGTFoOWCtB435mhxHS0iIiJZMWi5IPZoERERtQwMWi7IMhmeC5YSERHJi0HLBWl51SEREVGLwKDlgm6uDM85WkRERHJi0HJB0oKlVXUQQshcDRERUdvFoOWCLD1a9WaBqjqTzNUQERG1XQxaLshLrYJKqQDACfFERERyYtByQQqFglceEhERtQAMWi7K98aipdc5IZ6IiEg2DFouykfTELTKGbSIiIhkI2vQWrp0KXr16gWtVgutVgu9Xo9NmzZJ+x9++GEoFAqrx+TJk62OUVhYiKSkJHh5eSEoKAgzZsxAfb11uNi+fTv69u0LjUaD6OhorFixolEtS5YsQadOneDh4YH4+Hjs3bvXan91dTWmTp2Kdu3awcfHB2PGjEFxcbH9ToadWXq0ymsYtIiIiOQia9AKCwvD3LlzkZOTg/379+PRRx/FyJEjcfToUanNiy++iEuXLkmPefPmSftMJhOSkpJQW1uLXbt24csvv8SKFSswe/ZsqU1BQQGSkpLwyCOPIDc3F9OmTcOkSZOwZcsWqc3q1auRkpKCOXPm4MCBA+jduzcSExNRUlIitZk+fTq+++47pKenIysrCxcvXsTo0aMdfIbuno+mYY4Whw6JiIhkJFoYf39/sWzZMiGEEA899JB47bXXbtt248aNQqlUiqKiImnb0qVLhVarFTU1NUIIIWbOnCl69Ohh9bqxY8eKxMRE6Xn//v3F1KlTpecmk0mEhoaKtLQ0IYQQZWVlwt3dXaSnp0ttjh8/LgCI7OzsZn82g8EgAAiDwdDs19yt6asOishZ68Vn2087/L2IiIhc2b38freYOVomkwmrVq1CRUUF9Hq9tP3rr79G+/btcf/99yM1NRWVlZXSvuzsbPTs2RPBwcHStsTERBiNRqlXLDs7GwkJCVbvlZiYiOzsbABAbW0tcnJyrNoolUokJCRIbXJyclBXV2fVplu3boiIiJDaNKWmpgZGo9Hq4Sw+lsnwHDokIiKSjZvcBeTl5UGv16O6uho+Pj5Yt24dYmNjAQDPPPMMIiMjERoaisOHD2PWrFnIz8/Ht99+CwAoKiqyClkApOdFRUW/2sZoNKKqqgrXrl2DyWRqss2JEyekY6jVavj5+TVqY3mfpqSlpeG9996z8YzYByfDExERyU/2oBUTE4Pc3FwYDAasXbsWycnJyMrKQmxsLF566SWpXc+ePdGhQwcMGTIEZ86cQefOnWWsunlSU1ORkpIiPTcajQgPD3fKe/veWB2eQYuIiEg+sg8dqtVqREdHIy4uDmlpaejduzcWLVrUZNv4+HgAwOnTpwEAISEhja78szwPCQn51TZarRaenp5o3749VCpVk21uPUZtbS3Kyspu26YpGo1GuqLS8nCWm0OHXLCUiIhILrIHrV8ym82oqalpcl9ubi4AoEOHDgAAvV6PvLw8q6sDMzIyoNVqpeFHvV6PzMxMq+NkZGRI88DUajXi4uKs2pjNZmRmZkpt4uLi4O7ubtUmPz8fhYWFVvPJWhJfDh0SERHJTtahw9TUVAwfPhwREREoLy/HypUrsX37dmzZsgVnzpzBypUrMWLECLRr1w6HDx/G9OnTMXjwYPTq1QsAMHToUMTGxuK5557DvHnzUFRUhLfffhtTp06FRqMBAEyePBmLFy/GzJkzMWHCBGzduhVr1qzBhg0bpDpSUlKQnJyMfv36oX///li4cCEqKiowfvx4AIBOp8PEiRORkpKCgIAAaLVavPrqq9Dr9RgwYIDzT1wz+HIyPBERkfwccBVks02YMEFERkYKtVotAgMDxZAhQ8T3338vhBCisLBQDB48WAQEBAiNRiOio6PFjBkzGl1aefbsWTF8+HDh6ekp2rdvL/7yl7+Iuro6qzbbtm0Tffr0EWq1Wtx3331i+fLljWr55JNPREREhFCr1aJ///5i9+7dVvurqqrEn/70J+Hv7y+8vLzEE088IS5dumTT53Xm8g67z1wRkbPWi0fmb3P4exEREbmye/n9VgghhNxhr60wGo3Q6XQwGAwOn6917KIRIz7+Ee19NNj/dsKdX0BERERNupff7xY3R4vsw5eT4YmIiGTHoOWiLOtoVdeZUWcyy1wNERFR28Sg5aIsyzsAvN8hERGRXBi0XJS7SgkP94b/eXnlIRERkTwYtFyYj6ZhdXhjNedpERERyYFBy4VpLRPiOXRIREQkCwYtF+bDRUuJiIhkxaDlwixLPPA2PERERPJg0HJhliUeytmjRUREJAsGLRdmmQzPOVpERETyYNByYTeHDnnVIRERkRwYtFyYLyfDExERyYpBy4VxMjwREZG8GLRcmGWOFoMWERGRPBi0XNjNdbQ4R4uIiEgODFoujEOHRERE8mLQcmG+Gk6GJyIikhODlgvzYY8WERGRrBi0XJivBxcsJSIikhODlguz3IKn1mRGTb1J5mqIiIjaHgYtF2YJWgCHD4mIiOTAoOXCVEoFvNUqABw+JCIikgODlovz4W14iIiIZMOg5eIsE+KNvLE0ERGR0zFouTjLPC0OHRIRETkfg5aL4+rwRERE8mHQcnE3gxaHDomIiJyNQcvFWYYOK2q5jhYREZGzMWi5OMtkeA4dEhEROR+Dlouz9Ghx6JCIiMj5GLRcnC/X0SIiIpINg5aL4/IORERE8mHQcnGco0VERCQfBi0XZ7kFTzmHDomIiJyOQcvFSUOHNZwMT0RE5GwMWi5Oy5XhiYiIZMOg5eIsQ4fXq+shhJC5GiIioraFQcvFWYYO680CNfVmmashIiJqWxi0XJy32g0KRcPfOXxIRETkXAxaLk6pVMBHzdXhiYiI5MCg1Qb4cHV4IiIiWTBotQFcHZ6IiEgebrY0NpvNyMrKwo8//oiff/4ZlZWVCAwMxAMPPICEhASEh4c7qk66B5b7HRoZtIiIiJyqWT1aVVVV+Otf/4rw8HCMGDECmzZtQllZGVQqFU6fPo05c+YgKioKI0aMwO7du5v95kuXLkWvXr2g1Wqh1Wqh1+uxadOmRu2EEBg+fDgUCgX++c9/Wu0rLCxEUlISvLy8EBQUhBkzZqC+3jpQbN++HX379oVGo0F0dDRWrFjR6D2WLFmCTp06wcPDA/Hx8di7d6/V/urqakydOhXt2rWDj48PxowZg+Li4mZ/Vjn53LgND4cOiYiInKtZQatr1644fPgw/vu//xtGoxHZ2dn43//9X3z11VfYuHEjCgsLcebMGQwaNAhPPfUU/vu//7tZbx4WFoa5c+ciJycH+/fvx6OPPoqRI0fi6NGjVu0WLlwIheXSuVuYTCYkJSWhtrYWu3btwpdffokVK1Zg9uzZUpuCggIkJSXhkUceQW5uLqZNm4ZJkyZhy5YtUpvVq1cjJSUFc+bMwYEDB9C7d28kJiaipKREajN9+nR89913SE9PR1ZWFi5evIjRo0c363PKzVcaOuRkeCIiIqcSzXDs2LHmNBNCCFFbWytOnz7d7Pa/5O/vL5YtWyY9P3jwoOjYsaO4dOmSACDWrVsn7du4caNQKpWiqKhI2rZ06VKh1WpFTU2NEEKImTNnih49eli9x9ixY0ViYqL0vH///mLq1KnSc5PJJEJDQ0VaWpoQQoiysjLh7u4u0tPTpTbHjx8XAER2dnazP5vBYBAAhMFgaPZr7GHW2kMictZ68fG/Tzr1fYmIiFzBvfx+N6tHq3v37s0Obu7u7ujcubPNgc9kMmHVqlWoqKiAXq8HAFRWVuKZZ57BkiVLEBIS0ug12dnZ6NmzJ4KDg6VtiYmJMBqNUq9YdnY2EhISrF6XmJiI7OxsAEBtbS1ycnKs2iiVSiQkJEhtcnJyUFdXZ9WmW7duiIiIkNo0paamBkaj0eohh5v3O+TQIRERkTPZNBn+VpWVlSgsLERtba3V9l69etl0nLy8POj1elRXV8PHxwfr1q1DbGwsgIbhugcffBAjR45s8rVFRUVWIQuA9LyoqOhX2xiNRlRVVeHatWswmUxNtjlx4oR0DLVaDT8/v0ZtLO/TlLS0NLz33nt3OAOOZ1neoZxBi4iIyKlsDlqXL1/G+PHjm5y0DjT0TNkiJiYGubm5MBgMWLt2LZKTk5GVlYXTp09j69atOHjwoK0lthipqalISUmRnhuNRlmuzOTyDkRERPKwOWhNmzYNZWVl2LNnDx5++GGsW7cOxcXF+Otf/4qPPvrI5gLUajWio6MBAHFxcdi3bx8WLVoET09PnDlzplEv0pgxYzBo0CBs374dISEhja4OtFwJaBlqDAkJaXR1YHFxMbRaLTw9PaFSqaBSqZpsc+sxamtrUVZWZlXPrW2aotFooNFomn8yHER746pDrgxPRETkXDYvWLp161b813/9F/r16welUonIyEg8++yzmDdvHtLS0u65ILPZjJqaGrzxxhs4fPgwcnNzpQcALFiwAMuXLwcA6PV65OXlWV0dmJGRAa1WKw0/6vV6ZGZmWr1HRkaGNA9MrVYjLi7Oqo3ZbEZmZqbUJi4uDu7u7lZt8vPzUVhYKLVpybgyPBERkTxs7tGqqKhAUFAQAMDf3x+XL19G165d0bNnTxw4cMCmY6WmpmL48OGIiIhAeXk5Vq5cie3bt2PLli0ICQlpsrcoIiICUVFRAIChQ4ciNjYWzz33HObNm4eioiK8/fbbmDp1qtSTNHnyZCxevBgzZ87EhAkTsHXrVqxZswYbNmyQjpmSkoLk5GT069cP/fv3x8KFC1FRUYHx48cDAHQ6HSZOnIiUlBQEBARAq9Xi1VdfhV6vx4ABA2w9hU5nGTrkTaWJiIicy+agFRMTg/z8fHTq1Am9e/fG559/jk6dOuGzzz5Dhw4dbDpWSUkJnn/+eVy6dAk6nQ69evXCli1b8NhjjzXr9SqVCuvXr8eUKVOg1+vh7e2N5ORkvP/++1KbqKgobNiwAdOnT8eiRYsQFhaGZcuWITExUWozduxYXL58GbNnz0ZRURH69OmDzZs3W02QX7BgAZRKJcaMGYOamhokJibi008/tenzysWyMjyDFhERkXMphBDClhd89dVXqKurw/jx45GTk4Nhw4ahtLQUarUaK1aswNixYx1Va6tnNBqh0+lgMBig1Wqd9r6nS8qR8F8/QOfpjkNzhjrtfYmIiFzBvfx+29yj9eyzz0p/j4uLw88//4wTJ04gIiIC7du3t/Vw5AQ+mpu34BFCNLnKPhEREdlfsyfDV1RUYMqUKejYsSMCAwPx1FNP4fLly/Dy8kLfvn0Zslowy9ChySxQXWeWuRoiIqK2o9lB65133sE//vEP/O53v8MzzzyDrVu34qWXXnJkbWQnXmoVLJ1YXOKBiIjIeZo9dLhu3TosX74cf/jDHwAAzz//PAYMGID6+nq4ud31AvPkBAqFAj4aN5RX16O8ph5BchdERETURjS7R+v8+fMYOHCg9NyyttTFixcdUhjZly9XhyciInK6Zgcts9kMd3d3q21ubm4233KH5OErrQ7PoEVEROQszR7zE0JgyJAhVsOElZWVePzxx6FWq6Vtti5aSs5xc3V4ztEiIiJylmYHrTlz5jTaNnLkSLsWQ47D1eGJiIic756CFrUeXB2eiIjI+Wy+qTS1Tr68sTQREZHTNStoDRs2DLt3775ju/Lycvznf/4nlixZcs+FkX1Zhg4ZtIiIiJynWUOHf/jDHzBmzBjodDo8/vjj6NevH0JDQ+Hh4YFr167h2LFj2LFjBzZu3IikpCTMnz/f0XWTjSy34eHQIRERkfM0K2hNnDgRzz77LNLT07F69Wp88cUXMBgMABoWw4yNjUViYiL27duH7t27O7Rgujs352jxqkMiIiJnafZkeI1Gg2effVa6qbTBYEBVVRXatWvXaH0tanl8OEeLiIjI6e763jk6nQ46nc6etZADcWV4IiIi5+NVh20EV4YnIiJyPgatNoJDh0RERM7HoNVG3FwZnpPhiYiInIVBq43Q3tKjJYSQuRoiIqK24a6CVllZGZYtW4bU1FSUlpYCaLiZ9IULF+xaHNmPZejQLIDKWpPM1RAREbUNNl91ePjwYSQkJECn0+Hs2bN48cUXERAQgG+//RaFhYX4+9//7og66R55uqugVDQEres19fDW3PUFp0RERNRMNvdopaSk4IUXXsCpU6fg4eEhbR8xYgR++OEHuxZH9qNQKG6Zp8UJ8URERM5gc9Dat28fXn755UbbO3bsiKKiIrsURY5xc4kHTognIiJyBpuDlkajgdFobLT95MmTCAwMtEtR5Bi+XOKBiIjIqWwOWr///e/x/vvvo66uoVdEoVCgsLAQs2bNwpgxY+xeINmPD1eHJyIiciqbg9ZHH32E69evIygoCFVVVXjooYcQHR0NX19f/O1vf3NEjWQnN28szaBFRETkDDZfeqbT6ZCRkYGdO3fi0KFDuH79Ovr27YuEhARH1Ed25GOZo8WhQyIiIqewKWjV1dXB09MTubm5GDhwIAYOHOiousgBOHRIRETkXDYNHbq7uyMiIgImExe8bI20HrwNDxERkTPZPEfrrbfewptvvimtCE+th9SjxaFDIiIip7B5jtbixYtx+vRphIaGIjIyEt7e3lb7Dxw4YLfiyL4st+HhHC0iIiLnsDlojRo1ygFlkDNwjhYREZFz2Ry05syZ44g6yAm4MjwREZFz2TxHi1ovrgxPRETkXDb3aCmVSigUitvu5xWJLReHDomIiJzL5qC1bt06q+d1dXU4ePAgvvzyS7z33nt2K4zsjyvDExEROZfNQWvkyJGNtj355JPo0aMHVq9ejYkTJ9qlMLI/y1WH12vrYTYLKJW375kkIiKie2e3OVoDBgxAZmamvQ5HDuCraZgMLwRQWcchXiIiIkezS9CqqqrCxx9/jI4dO9rjcOQgHu5KqG70YnGeFhERkePZPHTo7+9vNRleCIHy8nJ4eXnhq6++smtxZF8KhQK+Hm4oq6xDeXUdQnQecpdERETk0mwOWgsWLLAKWkqlEoGBgYiPj4e/v79diyP789HcCFpc4oGIiMjhbA5aL7zwggPKIGfhEg9ERETOY/Mcrc2bN2PHjh3S8yVLlqBPnz545plncO3aNbsWR/anlVaHZ9AiIiJyNJuD1owZM2A0GgEAeXl5SElJwYgRI1BQUICUlBSbjrV06VL06tULWq0WWq0Wer0emzZtkva//PLL6Ny5Mzw9PREYGIiRI0fixIkTVscoLCxEUlISvLy8EBQUhBkzZqC+3jpEbN++HX379oVGo0F0dDRWrFjRqJYlS5agU6dO8PDwQHx8PPbu3Wu1v7q6GlOnTkW7du3g4+ODMWPGoLi42KbP2xJISzzU8DY8REREjmZz0CooKEBsbCwA4H//93/x+OOP44MPPsCSJUusQlJzhIWFYe7cucjJycH+/fvx6KOPYuTIkTh69CgAIC4uDsuXL8fx48exZcsWCCEwdOhQafV5k8mEpKQk1NbWYteuXfjyyy+xYsUKzJ4926repKQkPPLII8jNzcW0adMwadIkbNmyRWqzevVqpKSkYM6cOThw4AB69+6NxMRElJSUSG2mT5+O7777Dunp6cjKysLFixcxevRoW0+f7CxDh+zRIiIicgJhI39/f3H06FEhhBADBw4Un3/+uRBCiIKCAuHp6Wnr4Zo8/rJly5rcd+jQIQFAnD59WgghxMaNG4VSqRRFRUVSm6VLlwqtVitqamqEEELMnDlT9OjRw+o4Y8eOFYmJidLz/v37i6lTp0rPTSaTCA0NFWlpaUIIIcrKyoS7u7tIT0+X2hw/flwAENnZ2c3+bAaDQQAQBoOh2a+xtze/PSwiZ60X//V9vmw1EBERtSb38vttc4/Wb3/7W6SkpOA//uM/sHfvXiQlJQEATp48ibCwsLsOfCaTCatWrUJFRQX0en2j/RUVFVi+fDmioqIQHh4OAMjOzkbPnj0RHBwstUtMTITRaJR6xbKzs5GQkGB1rMTERGRnZwMAamtrkZOTY9VGqVQiISFBapOTk4O6ujqrNt26dUNERITUpik1NTUwGo1WD7n58MbSRERETmNz0Fq8eDHc3Nywdu1aLF26VFqkdNOmTRg2bJjNBeTl5cHHxwcajQaTJ0/GunXrpKFJAPj000/h4+MDHx8fbNq0CRkZGVCr1QCAoqIiq5AFQHpeVFT0q22MRiOqqqpw5coVmEymJtvcegy1Wg0/P7/btmlKWloadDqd9LAERDn5SkOHnKNFRETkaDYv7xAREYH169c32r5gwYK7KiAmJga5ubkwGAxYu3YtkpOTkZWVJYWtcePG4bHHHsOlS5fw4Ycf4o9//CN27twJD4+Wv9hmamqq1QUCRqNR9rCl9eRVh0RERM5ic4/WgQMHkJeXJz3/17/+hVGjRuHNN99EbW2tzQWo1WpER0cjLi4OaWlp6N27NxYtWiTt1+l06NKlCwYPHoy1a9fixIkTWLduHQAgJCSk0ZV/luchISG/2kar1cLT0xPt27eHSqVqss2tx6itrUVZWdlt2zRFo9FIV1RaHnKzLO9gZI8WERGRw9kctF5++WWcPHkSAPDTTz/hqaeegpeXF9LT0zFz5sx7LshsNqOmpqbJfUIICCGk/Xq9Hnl5eVZXB2ZkZECr1Uo9Ynq9vtHNrjMyMqR5YGq1GnFxcVZtzGYzMjMzpTZxcXFwd3e3apOfn4/CwsIm55O1ZFrPhk5MYxV7tIiIiBzO1tnzWq1Wuupv7ty5YujQoUIIIXbs2CHCwsJsOtYbb7whsrKyREFBgTh8+LB44403hEKhEN9//704c+aM+OCDD8T+/fvFzz//LHbu3Ckef/xxERAQIIqLi4UQQtTX14v7779fDB06VOTm5orNmzeLwMBAkZqaKr3HTz/9JLy8vMSMGTPE8ePHxZIlS4RKpRKbN2+W2qxatUpoNBqxYsUKcezYMfHSSy8JPz8/q6sZJ0+eLCIiIsTWrVvF/v37hV6vF3q93qbP2xKuOtxXcFVEzlovBs/bKlsNRERErcm9/H7bPEdLCAGz2QwA+Pe//43f/e53AIDw8HBcuXLFpmOVlJTg+eefx6VLl6DT6dCrVy9s2bIFjz32GC5evIgff/wRCxcuxLVr1xAcHIzBgwdj165dCAoKAgCoVCqsX78eU6ZMgV6vh7e3N5KTk/H+++9L7xEVFYUNGzZg+vTpWLRoEcLCwrBs2TIkJiZKbcaOHYvLly9j9uzZKCoqQp8+fbB582arCfILFiyAUqnEmDFjUFNTg8TERHz66ae2nj7ZWeZoGas4dEhERORoCiGEsOUFjz76KMLDw5GQkICJEyfi2LFjiI6ORlZWFpKTk3H27FkHldr6GY1G6HQ6GAwG2eZrFRmqMSAtEyqlAqf/NtzqBuFERETU2L38fts8R2vhwoU4cOAAXnnlFbz11luIjo4GAKxduxYPPvigrYcjJ7PM0TKZBSprTTJXQ0RE5NpsHjrs1auX1VWHFvPnz4dKpbJLUeQ4nu4quCkVqDcLGKvr4K2x+StAREREzWRzjxYAlJWVYdmyZUhNTUVpaSkA4NixY1ZX/1HLpFAo4OvBKw+JiIicwebujMOHD2PIkCHw8/PD2bNn8eKLLyIgIADffvstCgsL8fe//90RdZIdaT3dca2yjqvDExEROZjNPVopKSkYP348Tp06ZbU6+4gRI/DDDz/YtThyDC5aSkRE5Bw2B619+/bh5ZdfbrS9Y8eOv3rfP2o5uGgpERGRc9gctDQaDYxGY6PtJ0+eRGBgoF2KIsdijxYREZFz2By0fv/73+P9999HXV3Dj7RCoUBhYSFmzZqFMWPG2L1Asj8paHHRUiIiIoeyOWh99NFHuH79OoKCglBVVYWHHnoI0dHR8PX1xd/+9jdH1Eh2Jg0dVnPokIiIyJFsvupQp9MhIyMDO3fuxKFDh3D9+nX07dsXCQkJjqiPHIA9WkRERM5hU9Cqq6uDp6cncnNzMXDgQAwcONBRdZEDSfc75BwtIiIih7Jp6NDd3R0REREwmXjrltaMVx0SERE5h81ztN566y28+eab0orw1PrwqkMiIiLnsHmO1uLFi3H69GmEhoYiMjIS3t7eVvsPHDhgt+LIMaShQ87RIiIiciibg9aoUaMcUAY5080eLQ4dEhEROZLNQWvOnDmOqIOc6OYcrToIIaBQKGSuiIiIyDXZHLQs9u/fj+PHjwMAYmNjERcXZ7eiyLEsPVr1ZoGqOhO81Hf9NSAiIqJfYfMv7Pnz5/H0009j586d8PPzAwCUlZXhwQcfxKpVqxAWFmbvGsnOvNQqqJQKmMwCxqp6Bi0iIiIHsfmqw0mTJqGurg7Hjx9HaWkpSktLcfz4cZjNZkyaNMkRNZKdKRQKaD0sq8NzQjwREZGj2NyVkZWVhV27diEmJkbaFhMTg08++QSDBg2ya3HkOFpPd1yrrOOVh0RERA5kc49WeHi4dEPpW5lMJoSGhtqlKHI8rqVFRETkeDYHrfnz5+PVV1/F/v37pW379+/Ha6+9hg8//NCuxZHj+HpwdXgiIiJHs3no8IUXXkBlZSXi4+Ph5tbw8vr6eri5uWHChAmYMGGC1Jarx7dc7NEiIiJyPJuD1sKFCx1QBjnbrWtpERERkWPYHLSSk5MdUQc5GVeHJyIicjyb52iRa7Dc77CcQ4dEREQOw6DVRmk5GZ6IiMjhGLTaKEuPFifDExEROQ6DVhtlmaNVVsmgRURE5Cg2B61t27bddt+SJUvuqRhyHj+vhqBl4FWHREREDmNz0Bo9ejRycnIabV+0aBFSU1PtUhQ5niVolVXWylwJERGR67qrleGHDx+OEydOSNs++ugjzJ49Gxs2bLBrceQ4Ok81AKC8ph4ms5C5GiIiItdk8zpakyZNQmlpKRISErBjxw6sXr0aH3zwATZu3IiBAwc6okZyAN2NyfBCNCzx4OellrkiIiIi12Nz0AKAmTNn4urVq+jXrx9MJhO2bNmCAQMG2Ls2ciC1mxLeahUqak0oq2TQIiIicoRmBa2PP/640baOHTvCy8sLgwcPxt69e7F3714AwJ///Gf7VkgOo/N0bwhanBBPRETkEM0KWgsWLGhyu0qlws6dO7Fz504AgEKhYNBqRXRealw0VHNCPBERkYM0K2gVFBQ4ug6SgZ8nl3ggIiJyJC5Y2oZxLS0iIiLHsnkyvMlkwooVK5CZmYmSkhKYzWar/Vu3brVbceRYN9fSYtAiIiJyBJuD1muvvYYVK1YgKSkJ999/PxQKhSPqIiew3O+QQYuIiMgxbA5aq1atwpo1azBixAhH1ENO5Hdj0dKyKk6GJyIicgSb52ip1WpER0c7ohZyMsvQoZFztIiIiBzC5qD1l7/8BYsWLYIQvG1La+fHoUMiIiKHsjlo7dixA19//TU6d+6Mxx9/HKNHj7Z62GLp0qXo1asXtFottFot9Ho9Nm3aBAAoLS3Fq6++ipiYGHh6eiIiIgJ//vOfYTAYrI5RWFiIpKQkeHl5ISgoCDNmzEB9fb1Vm+3bt6Nv377QaDSIjo7GihUrGtWyZMkSdOrUCR4eHoiPj5cWYLWorq7G1KlT0a5dO/j4+GDMmDEoLi626fO2NDrLZHj2aBERETmEzXO0/Pz88MQTT9jlzcPCwjB37lx06dIFQgh8+eWXGDlyJA4ePAghBC5evIgPP/wQsbGx+PnnnzF58mRcvHgRa9euBdBwBWRSUhJCQkKwa9cuXLp0Cc8//zzc3d3xwQcfAGhYAywpKQmTJ0/G119/jczMTEyaNAkdOnRAYmIiAGD16tVISUnBZ599hvj4eCxcuBCJiYnIz89HUFAQAGD69OnYsGED0tPTodPp8Morr2D06NHSYq2tkTRHiz1aREREjiFaGH9/f7Fs2bIm961Zs0ao1WpRV1cnhBBi48aNQqlUiqKiIqnN0qVLhVarFTU1NUIIIWbOnCl69OhhdZyxY8eKxMRE6Xn//v3F1KlTpecmk0mEhoaKtLQ0IYQQZWVlwt3dXaSnp0ttjh8/LgCI7Ozs236W6upqYTAYpMe5c+cEAGEwGJp7Ohzq/LVKETlrvejy5kZhNpvlLoeIiKhFMhgMd/373WIWLDWZTFi1ahUqKiqg1+ubbGMwGKDVauHm1tARl52djZ49eyI4OFhqk5iYCKPRiKNHj0ptEhISrI6TmJiI7OxsAEBtbS1ycnKs2iiVSiQkJEhtcnJyUFdXZ9WmW7duiIiIkNo0JS0tDTqdTnqEh4fbckoczjJHq9ZkRlWdSeZqiIiIXI/NQ4cAsHbtWqxZswaFhYWorbVeGuDAgQM2HSsvLw96vR7V1dXw8fHBunXrEBsb26jdlStX8B//8R946aWXpG1FRUVWIQuA9LyoqOhX2xiNRlRVVeHatWswmUxNtjlx4oR0DLVaDT8/v0ZtLO/TlNTUVKSkpEjPjUZjiwpbXmoV3FUK1JkEyirr4KW+q68DERER3YbNPVoff/wxxo8fj+DgYBw8eBD9+/dHu3bt8NNPP2H48OE2FxATE4Pc3Fzs2bMHU6ZMQXJyMo4dO2bVxmg0IikpCbGxsXj33Xdtfg+5aDQaaaK/5dGSKBQK6DhPi4iIyGFsDlqffvopvvjiC3zyySdQq9WYOXMmMjIymrwisDks63LFxcUhLS0NvXv3xqJFi6T95eXlGDZsGHx9fbFu3Tq4u7tL+0JCQhpd+Wd5HhIS8qtttFotPD090b59e6hUqibb3HqM2tpalJWV3bZNayXdhoeLlhIREdmdzUGrsLAQDz74IADA09MT5eXlAIDnnnsO33zzzT0XZDabUVNTA6ChJ2vo0KFQq9X4v//7P3h4eFi11ev1yMvLQ0lJibQtIyMDWq1WGn7U6/XIzMy0el1GRoY0D0ytViMuLs6qjdlsRmZmptQmLi4O7u7uVm3y8/NRWFh42/lkrYXOk4uWEhEROYrNk3JCQkJQWlqKyMhIREREYPfu3ejduzcKCgpsXsQ0NTUVw4cPR0REBMrLy7Fy5Ups374dW7ZskUJWZWUlvvrqKxiNRhiNRgBAYGAgVCoVhg4ditjYWDz33HOYN28eioqK8Pbbb2Pq1KnQaDQAgMmTJ2Px4sWYOXMmJkyYgK1bt2LNmjXYsGGDVEdKSgqSk5PRr18/9O/fHwsXLkRFRQXGjx8PANDpdJg4cSJSUlIQEBAArVaLV199FXq9HgMGDLD1FLYolgnx1zh0SEREZH+2XqY4ceJE8e677wohhFi8eLHw9PQUCQkJws/PT0yYMMGmY02YMEFERkYKtVotAgMDxZAhQ8T3338vhBBi27ZtAkCTj4KCAukYZ8+eFcOHDxeenp6iffv24i9/+Yu0/IPFtm3bRJ8+fYRarRb33XefWL58eaNaPvnkExERESHUarXo37+/2L17t9X+qqoq8ac//Un4+/sLLy8v8cQTT4hLly7Z9Hnv5fJQR/nLmlwROWu9WLLtlNylEBERtUj38vutEMK2biiz2Qyz2SwtsbBq1Srs2rULXbp0wcsvvwy1Wm3XIOhKjEYjdDqdtExFS/DBxuP44oef8OKgKLyV1PhqTyIiorbuXn6/bR46PH/+vNUSBU899RSeeuopCCFw7tw5RERE2HpIkpG/V0MwLq3g0CEREZG92TwZPioqCpcvX260vbS0FFFRUXYpipwnwNsyR4tXHRIREdmbzUFLCAGFQtFo+/Xr1xtdFUgt380eLQYtIiIie2v20KFlhXOFQoF33nkHXl5e0j6TyYQ9e/agT58+di+QHCvAuyFosUeLiIjI/podtA4ePAigoUcrLy/PatK7Wq1G79698frrr9u/QnIof2/2aBERETlKs4PWtm3bAADjx4/HokWLWsxVc3RvAm4MHZZX16POZIa7qsXcZ5yIiKjVs/lXdfny5QxZLkTr6Q7ljSl3HD4kIiKyL3ZftHEqpQJ+N3q1rnGJByIiIrti0CL437ixNOdpERER2ReDFvHKQyIiIgdh0CKupUVEROQgDFp0s0eLQYuIiMiuGLTo5lpaHDokIiKyKwYtktbSYo8WERGRfTFokdSjda2SyzsQERHZE4MWIcC7YXkHXnVIRERkXwxaxKsOiYiIHIRBi3jVIRERkYMwaJE0R6ui1oTqOpPM1RAREbkOBi2Cr8YNalXDV+Eqe7WIiIjshkGLoFAo0M6noVfrSnmNzNUQERG5DgYtAgC099EAAK5cZ9AiIiKyFwYtAgC0t/RoMWgRERHZDYMWAbi1R4tztIiIiOyFQYsAAO19G4LWZc7RIiIishsGLQLAOVpERESOwKBFADhHi4iIyBEYtAgAEMg5WkRERHbHoEUAbs7RYo8WERGR/TBoEYCbc7TKKutQZzLLXA0REZFrYNAiAICfpztUSgUA4CqHD4mIiOyCQYsAAEqlAu28OSGeiIjInhi0SGIZPrzMoEVERGQXDFokkSbEc9FSIiIiu2DQIsnNtbQ4R4uIiMgeGLRIwtXhiYiI7ItBiyRcHZ6IiMi+GLRIEsgbSxMREdkVgxZJgn09AADFxmqZKyEiInINDFokCdZZghZ7tIiIiOyBQYskIdqGoHW9ph7Xa+plroaIiKj1Y9AiibfGDb4aNwBAkYHDh0RERPeKQYus3Bw+ZNAiIiK6V7IGraVLl6JXr17QarXQarXQ6/XYtGmTtP+LL77Aww8/DK1WC4VCgbKyskbHKC0txbhx46DVauHn54eJEyfi+vXrVm0OHz6MQYMGwcPDA+Hh4Zg3b16j46Snp6Nbt27w8PBAz549sXHjRqv9QgjMnj0bHTp0gKenJxISEnDq1Cn7nIgWxDJ8yB4tIiKieydr0AoLC8PcuXORk5OD/fv349FHH8XIkSNx9OhRAEBlZSWGDRuGN99887bHGDduHI4ePYqMjAysX78eP/zwA1566SVpv9FoxNChQxEZGYmcnBzMnz8f7777Lr744gupza5du/D0009j4sSJOHjwIEaNGoVRo0bhyJEjUpt58+bh448/xmeffYY9e/bA29sbiYmJqK52rUASbAla7NEiIiK6d6KF8ff3F8uWLbPatm3bNgFAXLt2zWr7sWPHBACxb98+adumTZuEQqEQFy5cEEII8emnnwp/f39RU1MjtZk1a5aIiYmRnv/xj38USUlJVseOj48XL7/8shBCCLPZLEJCQsT8+fOl/WVlZUKj0Yhvvvnmtp+lurpaGAwG6XHu3DkBQBgMhmaeDeebt/m4iJy1Xrzzzzy5SyEiImoRDAbDXf9+t5g5WiaTCatWrUJFRQX0en2zXpOdnQ0/Pz/069dP2paQkAClUok9e/ZIbQYPHgy1Wi21SUxMRH5+Pq5duya1SUhIsDp2YmIisrOzAQAFBQUoKiqyaqPT6RAfHy+1aUpaWhp0Op30CA8Pb9bnklMwhw6JiIjsRvaglZeXBx8fH2g0GkyePBnr1q1DbGxss15bVFSEoKAgq21ubm4ICAhAUVGR1CY4ONiqjeX5ndrcuv/W1zXVpimpqakwGAzS49y5c836XHKyBC1OhiciIrp3bnIXEBMTg9zcXBgMBqxduxbJycnIyspqdthqyTQaDTQajdxl2CSEc7SIiIjsRvagpVarER0dDQCIi4vDvn37sGjRInz++ed3fG1ISAhKSkqsttXX16O0tBQhISFSm+LiYqs2lud3anPrfsu2Dh06WLXp06dPcz9qqxByY3mHy+U1qDeZ4aaSvdOTyCmKjdU4dK4Mhqo6tPNRIyZEi45+nnKXRUStnOxB65fMZjNqapp3Cxi9Xo+ysjLk5OQgLi4OALB161aYzWbEx8dLbd566y3U1dXB3d0dAJCRkYGYmBj4+/tLbTIzMzFt2jTp2BkZGdJcsaioKISEhCAzM1MKVkajEXv27MGUKVPs8bFbjPY+GqiUCpjMAleu10rBi8hVHT5fhrmbTmDXmauN9vXsqMMffxOOP/YLg8ZNJUN1RNTayRq0UlNTMXz4cERERKC8vBwrV67E9u3bsWXLFgANc6OKiopw+vRpAA3zuXx9fREREYGAgAB0794dw4YNw4svvojPPvsMdXV1eOWVV/DUU08hNDQUAPDMM8/gvffew8SJEzFr1iwcOXIEixYtwoIFC6Q6XnvtNTz00EP46KOPkJSUhFWrVmH//v3SEhAKhQLTpk3DX//6V3Tp0gVRUVF45513EBoailGjRjn3pDmYSqlAoI8GRcZqFBmrGbTIZQkh8N8//oS0TScgRMO27h20CPTVoMRYjVMl15F3wYC8CwZ8uu00ZiTG4IkHOkKhUMhbOBG1Lva/CLL5JkyYICIjI4VarRaBgYFiyJAh4vvvv5f2z5kzRwBo9Fi+fLnU5urVq+Lpp58WPj4+QqvVivHjx4vy8nKr9zl06JD47W9/KzQajejYsaOYO3duo1rWrFkjunbtKtRqtejRo4fYsGGD1X6z2SzeeecdERwcLDQajRgyZIjIz8+36fPey+WhzvT7xTtE5Kz1YlPeJblLIXIYy1ImkbPWi1dXHhDnSius9l8prxb/s+MnEf+3f0vtnl22WxRerbjNEYnIVd3L77dCCMt/y5GjGY1G6HQ6GAwGaLVaucu5rZf/sR9bjhbjvd/3QPKDneQuh8juVu0txBvf5gEA3k7qjom/jbptT1V1nQn/b0cBFmWeQm29Gb4ebpj/ZG8Muz/EmSUTkYzu5febM52pkQ66hgnAFw1VMldCZH+nS8ox5/8a7j4xPaErJg2671eHAz3cVZj6SDS2TBuMByL8UF5dj8lf5eC9746itt7srLKJqJVi0KJGwvwbgtaFawxa5FrMZoHX0w+jpt6MwV0D8eqj0c1+bVR7b6x5WY+XB98HAFi+8yz+8NkunCutdFS5ROQCGLSoEUvQOs+gRS7m24MXkHuuDN5qFeaN6QWl0raJ7e4qJVJHdMey5/tB5+mOQ+cNGPHxj8g8XnznFxNRm8SgRY109PMCAFwoY9Ai11FdZ8KHW/IBAK8O6XJPV9QmxAZj42uDpKHESX/fj8VbT4FTXonolxi0qBFLj9bl8hpU15lkrobIPtbsP4ciYzU66DwwfmCnez5eRz9PrH5Jj2cHREAI4MPvT+K1Vbkwmxm2iOgmBi1qxM/LHd7qhsUZ2atFrqDOZMbS7WcAAH96uLPdFh9Vuynx11E9kTa6J9xVCvzfoYtYs7/l39OUiJyHQYsaUSgU6MgJ8eRCNh8pwiVDNdr7qPGHfuF2P/7T/SMwa1g3AMB/bj6Bqlr2BBNRAwYtalKYf8M8LU6IJ1ewYtdZAMAz8ZHwcHfMrXReeLATwvw9ca2yDt8duuiQ9yCi1odBi5pkuZnuhTJeuk6t2+mS68j5+RpUSgWejY9w2Pu4qZQYFx8JAPj77rOcGE9EABi06DYsE+LPlbJHi1q3dQfPAwAe6hqIIK1j79059jfhULspceSCEUcuGB36XkTUOjBoUZMiAhqGDgu5GCO1YmazwD8PNgzjje7b0eHvF+CtRkL3IADA+jwOHxIRgxbdRmQ7bwDAz1crZK6E6O7tKSjFhbIq+Hq4IaF7sFPe83e9QgEAGw5f4vAhETFoUdMi2zX0aF2rrIOhsk7maojuzrcHGoYNk3p2cNgk+F96JCYInu4qnL9WhcPnDU55TyJquRi0qEneGjcE+WoAAGfZq0WtUE29CZuOFAEARvcNc9r7eqpVGHJj+HBD3iWnvS8RtUwMWnRbnW4MHzJoUWu068xVXK+pR7BWg36R/k597xE9OwAAthwt4vAhURvHoEW31al9w/Dh2SucEE+tT8axhhs9J3QPtvnm0ffqoa6BULsp8fPVSuQXlzv1vYmoZWHQotvihHhqrcxmgX/fCFqPxTpnEvytvDVuGNylPQBgy5Fip78/EbUcDFp0Wxw6pNbq8AUDSspr4KNxg75zO1lqGNojBEDD8CERtV0MWnRblqHDgisMWtS6ZBxrCDcPxQTa7QbStkroHgylAjh2yYhzXI+OqM1i0KLbuq+9DxSKhiUerl6vkbscomazzM8aKsOwoUWAtxq/6RQAAPj+GIcPidoqBi26LU+1CuE3bi59svi6zNUQNc/FsiqcLL4OpQJ4uGuQrLUkcviQqM1j0KJf1SXIBwBwuoRXTlHr8OOpywCAPuF+0Hm5y1rL0B4NPWr7z5ayV5iojWLQol/VJdgXAHu0qPX44eQVAMDgroEyVwKE+Xvh/o5amAXw7+McPiRqixi06Fd1DW7o0TrJtYCoFTCZBXacbghag7rIH7QAIDHWMnzIoEXUFjFo0a/qEtTQo3W6hD1a1PIdPl8GQ1UdtB5u6B2mk7scAEDi/Q1Ba8fpK7heUy9zNUTkbAxa9KuigxquPLxaUcs5JtTiWYYNB0a3h5uqZfzfW5cgH3Rq54XaejOy8i/LXQ4ROVnL+H8iarFuvfIwv4jDh9Sy/XBjInxLmJ9loVAoePUhURvGoEV31CNUCwA4ctEgcyVEt2eoqkPuuTIAwKAbt79pKSyrxG87UYLaerPM1RCRMzFo0R3d37FhrkveBaPMlRDdXvaZKzCZBe4L9EbYjV7YluKBcD8E+WpQXlOPXWeuyF0OETkRgxbdUc8bQevIBfZoUcuVZVnWoYVcbXgrpVIh3dyaq8QTtS0MWnRHlqBVcKUCxuo6mashakwIgR9OWuZntaxhQwvpJtNHilBn4vAhUVvBoEV35O+tRkc/TwDs1aKW6acrFbhQVgW1SokB97WTu5wmPdi5HQJ9NbhaUYvM4yVyl0NETsKgRc3C4UNqySy9Wb+J8oeX2k3maprmrlJiTN8wAMCa/edkroaInIVBi5ql543FHy1XdRG1JNKwYQucn3Wrsb8JBwBszy9BkaFa5mqIyBkYtKhZftMpAACwt6AUQgiZqyG6qabehN0/lQJoWetnNSWqvTf6RwXALIC1OezVImoLGLSoWXqH66BxU+LK9Vqcuczb8VDLsf/sNVTVmRDkq0G3EF+5y7mjp270aq3adw4mM/+jhcjVMWhRs2jcVHggwg8ApN4DopbAMmw4qEsgFAqFzNXc2YieHeDv5Y7z16qw+QhXiidydQxa1GyWq7n2FDBoUcuR1cKXdfglD3cVntN3AgB8/sMZDsUTuTgGLWq2+KgbQeunq/xxoBah8GolThSVQ6lo6NFqLZL1kfBwV+LweQO2nuBSD0SujEGLmu2BCD+o3ZQoKa9BfjFvME3y23z0EoCG/wgI8FbLXE3ztfPRIPnBTgCAD78/CTPnahG5LAYtajYPdxUGRTcMz2Qc5W1ESH6bbsxxGt4zROZKbDd5cGf4atxw/JIRq/bxCkQiV8WgRTYZ2qPhfm1bjnESL8nrkqEKBwvLAACJPVpf0PL3VmPaY10BAP+5+QQul9fIXBEROQKDFtlkSPdgKBXAkQtGXCirkrscasO+2dvQC9Q/KgDBWg+Zq7k7yfpIdO+ghaGqDq+nH+IQIpELkjVoLV26FL169YJWq4VWq4Ver8emTZuk/dXV1Zg6dSratWsHHx8fjBkzBsXF1kNWhYWFSEpKgpeXF4KCgjBjxgzU19dbtdm+fTv69u0LjUaD6OhorFixolEtS5YsQadOneDh4YH4+Hjs3bvXan9zamkL2vto0C+yYfHS74+yV4vkUVtvxjd7CwEAzw2IlLmau+emUmLh2D7QuCmRdfIyFmaekrskIrIzWYNWWFgY5s6di5ycHOzfvx+PPvooRo4ciaNHjwIApk+fju+++w7p6enIysrCxYsXMXr0aOn1JpMJSUlJqK2txa5du/Dll19ixYoVmD17ttSmoKAASUlJeOSRR5Cbm4tp06Zh0qRJ2LJli9Rm9erVSElJwZw5c3DgwAH07t0biYmJKCm5eTXQnWppSyzDh//KvShzJdRWpeecw+XyGgT5alrlsOGtYkJ88f7IHgCAjzNPYfnOApkrIiJ7UogWdp1+QEAA5s+fjyeffBKBgYFYuXIlnnzySQDAiRMn0L17d2RnZ2PAgAHYtGkTfve73+HixYsIDm748f/ss88wa9YsXL58GWq1GrNmzcKGDRtw5MgR6T2eeuoplJWVYfPmzQCA+Ph4/OY3v8HixYsBAGazGeHh4Xj11VfxxhtvwGAw3LGWptTU1KCm5ua8C6PRiPDwcBgMBmi1WvufPCcpKa/Gg2lbUW8W2DJtMGJawWrcNfUmlFfXw1hVB+ONP6/X1KO6zoTqOjNq6q3/rK03w2Q2o94sYDIL1JsFzDf+bHhuhskMAAKWf0ECkJa9aPh7w5+4ZTuk7be87sZz/OI1+GW7Jo5vbw75PwM7F2oWwLFLRpjMAnMej8X4gVF2Pb5cPvo+H59sPQ0AGD+wE2YN6wYPd5Xd36eq1oSyqlpcq6hDWVUtjFUN/w4qa02orL359+o6M+pv/BuoN5lRbxKos/zdLCCEkL6vQgir76TVd1XadqN9U9/3JrZZjnnrMYiaY8rDne3+H2BGoxE6ne6ufr9bzG3uTSYT0tPTUVFRAb1ej5ycHNTV1SEhIUFq061bN0REREjhJjs7Gz179pRCFgAkJiZiypQpOHr0KB544AFkZ2dbHcPSZtq0aQCA2tpa5OTkIDU1VdqvVCqRkJCA7OxsAGhWLU1JS0vDe++9d8/npqUJ8vXAkO5B2HK0GP/YfRZ/HdVT1nrqTGacK61EwZUKFFypwMWyapSUV6PEWNPwZ3kNKmtNstZI9vdITGCrHjb8pZTHukLjpsSH35/E8p1nkZV/Ga8OiUZSz1Co3Zo3+HC9ph4Xy6pwoawKF6VHtfT8cnkNaurNDv4kRPK6er1W7hKsyB608vLyoNfrUV1dDR8fH6xbtw6xsbHIzc2FWq2Gn5+fVfvg4GAUFTXMDSoqKrIKWZb9ln2/1sZoNKKqqgrXrl2DyWRqss2JEyekY9yplqakpqYiJSVFem7p0XIFLzwYhS1Hi5G+/zymJ3RFOx+NU973ek09Dp8vw5ELBuRdMOLoBQN+Lq1s9j3jfDVu0Hq6w9fDDb4ebvBwV0HjpoKHu1L608NdBbWbEm5KBVRKxY0/b3muavhTqVBAAUChABr+BkABy9+guGU/ftHu5jaF5WU3t0Fxy98t2xW3HMP6+PbmiLvY2PuY3mo39OsUAJWy5d9yp7kUCgVeebQLugb74u1/HsFPVyowffUhvPPPo/hNJ390DvRBsNYDSqUCZrNAWVUtSitqUWKskYKUsbr+zm8EwE2pgJ+XGv5eDf8WvNRu8FSr4OmugpdaBU91w78Ld5UCbkol3FQK6e/uqoZ/D6ob2U9x40uvQOPvc1Pfactn/eW/HYXC+t8Bbrzm1u87Ncaz0li3Di1rlEX2oBUTE4Pc3FwYDAasXbsWycnJyMrKkrssu9BoNNBonBNAnG3AfQHoHabDofMGfLr9DN75XaxD3qem3oQ9P5Vi15mryP7pKo5cMDQZqjzdVejU3htR7b0Q5u+FYK0Hgnw1DQ+tBwK81PDxcHOpH2ZyTUN7hCD+vnb4avfP+Hv2WRQba7At/zK25V9u1ut1nu4I9fNERz8PhPp5So+Ofh4I8vWAn5c7fDRuDC5ETiJ70FKr1YiOjgYAxMXFYd++fVi0aBHGjh2L2tpalJWVWfUkFRcXIySkYew1JCSk0dWBlisBb23zy6sDi4uLodVq4enpCZVKBZVK1WSbW49xp1raGoVCgZShMUj+n734e/ZZjIuPwH2BPnY5trG6Dv8+Vox/Hy9GVv5lVPxi2K+jnyd6dtShZ5gO93fUISbYF8FaDX84yGXoPN0x9ZFoTHmoM45dMmL/2VKcv1aFy9cb5nwqFQpoPdwQ4K1BoK8GoX4e6OjniQ5+nvDRyP5/60R0ixb3L9JsNqOmpgZxcXFwd3dHZmYmxowZAwDIz89HYWEh9Ho9AECv1+Nvf/sbSkpKEBQUBADIyMiAVqtFbGys1Gbjxo1W75GRkSEdQ61WIy4uDpmZmRg1apRUQ2ZmJl555RUAaFYtbdFDXQPxUNdAZJ28jNfTD2HNy3q4qe7uQtY6kxlZ+ZexLvcC/n2s2GoeSbBWg0FdAqG/rx0GdG6Hjn6e9voIRC2aUqnA/R0b/oOCiFonWYNWamoqhg8fjoiICJSXl2PlypXYvn07tmzZAp1Oh4kTJyIlJQUBAQHQarV49dVXodfrpcnnQ4cORWxsLJ577jnMmzcPRUVFePvttzF16lRpyG7y5MlYvHgxZs6ciQkTJmDr1q1Ys2YNNmzYINWRkpKC5ORk9OvXD/3798fChQtRUVGB8ePHA0CzammrPhjdE8MW/IADhWV497uj+I+R9ze7Z0kIgQOFZfhX7gV8d+girlXWSfs6B3ojqWcHJMQGo2dHHXuriIioVZI1aJWUlOD555/HpUuXoNPp0KtXL2zZsgWPPfYYAGDBggVQKpUYM2YMampqkJiYiE8//VR6vUqlwvr16zFlyhTo9Xp4e3sjOTkZ77//vtQmKioKGzZswPTp07Fo0SKEhYVh2bJlSExMlNqMHTsWly9fxuzZs1FUVIQ+ffpg8+bNVhPk71RLW9XRzxPz/9AbU77OwVe7C1FXL/Du73vAU337y9JPFZfjX7kX8a9DF3Cu9Obq8u19NBjZJxRPPNARPUK1DFdERNTqtbh1tFzZvazD0dKt3FOIt/+ZB7MAwvw98bw+Ev2j2qGdtxoVtfU4e6UC+89ew4+nriC/uFx6nZdahaGxwXiibxgGdm5310OPREREjuIS62hR6/ZMfARC/TyQ+m0ezl+rwgcbT9y2rZtSgYdjAvH7Ph2R0D0IXmp+DYmIyDXxF47s5uGYIGT+5SGsO3gBm48U4URROa5X10PtpkSndl7o3kELfed2GNwlEP7earnLJSIicjgOHTqRKw8dEhERuap7+f3mhBgiIiIiB2HQIiIiInIQBi0iIiIiB2HQIiIiInIQBi0iIiIiB2HQIiIiInIQBi0iIiIiB2HQIiIiInIQBi0iIiIiB2HQIiIiInIQBi0iIiIiB2HQIiIiInIQBi0iIiIiB2HQIiIiInIQN7kLaEuEEAAAo9EocyVERETUXJbfbcvvuC0YtJyovLwcABAeHi5zJURERGSr8vJy6HQ6m16jEHcTz+iumM1mXLx4Eb6+vlAoFHY7rtFoRHh4OM6dOwetVmu349Kv43mXB8+7PHje5cHzLo9fnnchBMrLyxEaGgql0rZZV+zRciKlUomwsDCHHV+r1fIfogx43uXB8y4Pnnd58LzL49bzbmtPlgUnwxMRERE5CIMWERERkYMwaLkAjUaDOXPmQKPRyF1Km8LzLg+ed3nwvMuD510e9jzvnAxPRERE5CDs0SIiIiJyEAYtIiIiIgdh0CIiIiJyEAYtIiIiIgdh0HIBS5YsQadOneDh4YH4+Hjs3btX7pJc2rvvvguFQmH16Natm9xluZwffvgBjz/+OEJDQ6FQKPDPf/7Tar8QArNnz0aHDh3g6emJhIQEnDp1Sp5iXcidzvsLL7zQ6Ps/bNgweYp1EWlpafjNb34DX19fBAUFYdSoUcjPz7dqU11djalTp6Jdu3bw8fHBmDFjUFxcLFPFrqE55/3hhx9u9H2fPHmyTe/DoNXKrV69GikpKZgzZw4OHDiA3r17IzExESUlJXKX5tJ69OiBS5cuSY8dO3bIXZLLqaioQO/evbFkyZIm98+bNw8ff/wxPvvsM+zZswfe3t5ITExEdXW1kyt1LXc67wAwbNgwq+//N99848QKXU9WVhamTp2K3bt3IyMjA3V1dRg6dCgqKiqkNtOnT8d3332H9PR0ZGVl4eLFixg9erSMVbd+zTnvAPDiiy9afd/nzZtn2xsJatX69+8vpk6dKj03mUwiNDRUpKWlyViVa5szZ47o3bu33GW0KQDEunXrpOdms1mEhISI+fPnS9vKysqERqMR33zzjQwVuqZfnnchhEhOThYjR46UpZ62oqSkRAAQWVlZQoiG77a7u7tIT0+X2hw/flwAENnZ2XKV6XJ+ed6FEOKhhx4Sr7322j0dlz1arVhtbS1ycnKQkJAgbVMqlUhISEB2draMlbm+U6dOITQ0FPfddx/GjRuHwsJCuUtqUwoKClBUVGT13dfpdIiPj+d33wm2b9+OoKAgxMTEYMqUKbh69arcJbkUg8EAAAgICAAA5OTkoK6uzur73q1bN0RERPD7bke/PO8WX3/9Ndq3b4/7778fqampqKystOm4vKl0K3blyhWYTCYEBwdbbQ8ODsaJEydkqsr1xcfHY8WKFYiJicGlS5fw3nvvYdCgQThy5Ah8fX3lLq9NKCoqAoAmv/uWfeQYw4YNw+jRoxEVFYUzZ87gzTffxPDhw5GdnQ2VSiV3ea2e2WzGtGnTMHDgQNx///0AGr7varUafn5+Vm35fbefps47ADzzzDOIjIxEaGgoDh8+jFmzZiE/Px/ffvtts4/NoEVko+HDh0t/79WrF+Lj4xEZGYk1a9Zg4sSJMlZG5HhPPfWU9PeePXuiV69e6Ny5M7Zv344hQ4bIWJlrmDp1Ko4cOcJ5n052u/P+0ksvSX/v2bMnOnTogCFDhuDMmTPo3Llzs47NocNWrH379lCpVI2uPCkuLkZISIhMVbU9fn5+6Nq1K06fPi13KW2G5fvN77787rvvPrRv357ffzt45ZVXsH79emzbtg1hYWHS9pCQENTW1qKsrMyqPb/v9nG7896U+Ph4ALDp+86g1Yqp1WrExcUhMzNT2mY2m5GZmQm9Xi9jZW3L9evXcebMGXTo0EHuUtqMqKgohISEWH33jUYj9uzZw+++k50/fx5Xr17l9/8eCCHwyiuvYN26ddi6dSuioqKs9sfFxcHd3d3q+56fn4/CwkJ+3+/Bnc57U3JzcwHApu87hw5buZSUFCQnJ6Nfv37o378/Fi5ciIqKCowfP17u0lzW66+/jscffxyRkZG4ePEi5syZA5VKhaefflru0lzK9evXrf6rsaCgALm5uQgICEBERASmTZuGv/71r+jSpQuioqLwzjvvIDQ0FKNGjZKvaBfwa+c9ICAA7733HsaMGYOQkBCcOXMGM2fORHR0NBITE2WsunWbOnUqVq5ciX/961/w9fWV5l3pdDp4enpCp9Nh4sSJSElJQUBAALRaLV599VXo9XoMGDBA5upbrzud9zNnzmDlypUYMWIE2rVrh8OHD2P69OkYPHgwevXq1fw3uqdrFqlF+OSTT0RERIRQq9Wif//+Yvfu3XKX5NLGjh0rOnToINRqtejYsaMYO3asOH36tNxluZxt27YJAI0eycnJQoiGJR7eeecdERwcLDQajRgyZIjIz8+Xt2gX8GvnvbKyUgwdOlQEBgYKd3d3ERkZKV588UVRVFQkd9mtWlPnG4BYvny51Kaqqkr86U9/Ev7+/sLLy0s88cQT4tKlS/IV7QLudN4LCwvF4MGDRUBAgNBoNCI6OlrMmDFDGAwGm95HcePNiIiIiMjOOEeLiIiIyEEYtIiIiIgchEGLiIiIyEEYtIiIiIgchEGLiIiIyEEYtIiIiIgchEGLiIiIyEEYtIiIiIgchEGLiNqk7du3Q6FQNLpRr7NkZmaie/fuMJlMd2y7efNm9OnTB2az2QmVEZE9MWgRkct7+OGHMW3aNKttDz74IC5dugSdTidLTTNnzsTbb78NlUp1x7bDhg2Du7s7vv76aydURkT2xKBFRG2SWq1GSEgIFAqF0997x44dOHPmDMaMGdPs17zwwgv4+OOPHVgVETkCgxYRubQXXngBWVlZWLRoERQKBRQKBc6ePdto6HDFihXw8/PD+vXrERMTAy8vLzz55JOorKzEl19+iU6dOsHf3x9//vOfrYb7ampq8Prrr6Njx47w9vZGfHw8tm/f/qs1rVq1Co899hg8PDykbYcOHcIjjzwCX19faLVaxMXFYf/+/dL+xx9/HPv378eZM2fsen6IyLHc5C6AiMiRFi1ahJMnT+L+++/H+++/DwAIDAzE2bNnG7WtrKzExx9/jFWrVqG8vByjR4/GE088AT8/P2zcuBE//fQTxowZg4EDB2Ls2LEAgFdeeQXHjh3DqlWrEBoainXr1mHYsGHIy8tDly5dmqzpxx9/xDPPPGO1bdy4cXjggQewdOlSqFQq5Obmwt3dXdofERGB4OBg/Pjjj+jcubOdzg4RORqDFhG5NJ1OB7VaDS8vL4SEhPxq27q6OixdulQKMk8++ST+8Y9/oLi4GD4+PoiNjcUjjzyCbdu2YezYsSgsLMTy5ctRWFiI0NBQAMDrr7+OzZs3Y/ny5fjggw+afJ+ff/5Zam9RWFiIGTNmoFu3bgDQZEgLDQ3Fzz//bPM5ICL5MGgREd3g5eVl1VsUHByMTp06wcfHx2pbSUkJACAvLw8mkwldu3a1Ok5NTQ3atWt32/epqqqyGjYEgJSUFEyaNAn/+Mc/kJCQgD/84Q+Neq48PT1RWVl515+PiJyPQYuI6IZbh+oAQKFQNLnNsszC9evXoVKpkJOT0+jqwVvD2S+1b98e165ds9r27rvv4plnnsGGDRuwadMmzJkzB6tWrcITTzwhtSktLUVgYOBdfTYikgeDFhG5PLVa3az1qmz1wAMPwGQyoaSkBIMGDbLpdceOHWu0vWvXrujatSumT5+Op59+GsuXL5eCVnV1Nc6cOYMHHnjAbvUTkePxqkMicnmdOnXCnj17cPbsWVy5csVuC3927doV48aNw/PPP49vv/0WBQUF2Lt3L9LS0rBhw4bbvi4xMRE7duyQnldVVeGVV17B9u3b8fPPP2Pnzp3Yt28funfvLrXZvXs3NBoN9Hq9XWonIudg0CIil/f6669DpVIhNjYWgYGBKCwstNuxly9fjueffx5/+ctfEBMTg1GjRmHfvn2IiIi47WvGjRuHo0ePIj8/HwCgUqlw9epVPP/88+jatSv++Mc/Yvjw4Xjvvfek13zzzTcYN24cvLy87FY7ETmeQggh5C6CiKitmTFjBoxGIz7//PM7tr1y5QpiYmKwf/9+REVFOaE6IrIX9mgREcngrbfeQmRkZLOGMc+ePYtPP/2UIYuoFWKPFhEREZGDsEeLiIiIyEEYtIiIiIgchEGLiIiIyEEYtIiIiIgchEGLiIiIyEEYtIiIiIgchEGLiIiIyEEYtIiIiIgchEGLiIiIyEH+PzzGgtsb7xTSAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\dae\\petsc_pid_doc_18_0.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "a = plt.plot(tj.time, tj.get_vec(m.fs.tank.control_volume.properties_out[24].pressure))\n", "a = plt.ylabel(\"tank pressure (Pa)\")\n", @@ -2845,36 +289,7 @@ "cell_type": "code", "execution_count": 13, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.init.fs.valve_1: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.init.fs.tank.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.init.fs.tank: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.init.fs.valve_2: Initialization Complete: optimal - Optimal Solution Found\n" - ] - } - ], + "outputs": [], "source": [ "# Create a new copy of the model that runs to 24 seconds, and add a constraint.\n", "\n", @@ -2914,1723 +329,7 @@ "cell_type": "code", "execution_count": 14, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: DAE: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dkgun\\AppData\\Local\\Temp\\tmp7g4th5iv.pyomo.nl\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: Number of constraints: 28\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: Number of variables: 28\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 83 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: 0 SNES Function norm 5.783088779321e+05 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: 1 SNES Function norm 4.315325974705e+05 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: 2 SNES Function norm 7.639793381288e+04 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: 3 SNES Function norm 5.928557930246e+03 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: 4 SNES Function norm 5.008361736228e+01 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: 5 SNES Function norm 3.698195211732e-03 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: 6 SNES Function norm 3.725294295263e-09 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: SNESConvergedReason = SNES_CONVERGED_FNORM_RELATIVE, in 6 iterations\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: SNES_CONVERGED_FNORM_RELATIVE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: WARNING: model contains export suffix 'dae_suffix' that contains 1 component\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: DAE: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dkgun\\AppData\\Local\\Temp\\tmprvabt9ma.pyomo.nl\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: Number of constraints: 29\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 15\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: Number of variables: 34\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 91 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:48 [INFO] idaes.solve.petsc-dae: Explicit time variable: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:49 [INFO] idaes.solve.petsc-dae: Number of derivatives: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:49 [INFO] idaes.solve.petsc-dae: Number of differential vars: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:49 [INFO] idaes.solve.petsc-dae: Number of algebraic vars: 24\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:49 [INFO] idaes.solve.petsc-dae: Number of state vars: 29\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:49 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:49 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:49 [INFO] idaes.solve.petsc-dae: 0 TS dt 0.1 time 0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:52 [INFO] idaes.solve.petsc-dae: 1 TS dt 0.025 time 0.025\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:52 [INFO] idaes.solve.petsc-dae: 2 TS dt 0.0154252 time 0.0381739\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:52 [INFO] idaes.solve.petsc-dae: 3 TS dt 0.0133373 time 0.0510085\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:52 [INFO] idaes.solve.petsc-dae: 4 TS dt 0.0136013 time 0.0643458\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:52 [INFO] idaes.solve.petsc-dae: 5 TS dt 0.0141735 time 0.0779471\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:52 [INFO] idaes.solve.petsc-dae: 6 TS dt 0.0146392 time 0.0921205\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:52 [INFO] idaes.solve.petsc-dae: 7 TS dt 0.0152517 time 0.10676\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:52 [INFO] idaes.solve.petsc-dae: 8 TS dt 0.0158389 time 0.122011\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:52 [INFO] idaes.solve.petsc-dae: 9 TS dt 0.0165162 time 0.13785\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:52 [INFO] idaes.solve.petsc-dae: 10 TS dt 0.0172093 time 0.154367\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:52 [INFO] idaes.solve.petsc-dae: 11 TS dt 0.0179712 time 0.171576\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:52 [INFO] idaes.solve.petsc-dae: 12 TS dt 0.0187679 time 0.189547\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:52 [INFO] idaes.solve.petsc-dae: 13 TS dt 0.0196222 time 0.208315\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:52 [INFO] idaes.solve.petsc-dae: 14 TS dt 0.020514 time 0.227937\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:52 [INFO] idaes.solve.petsc-dae: 15 TS dt 0.0214472 time 0.248451\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:52 [INFO] idaes.solve.petsc-dae: 16 TS dt 0.022401 time 0.269898\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:52 [INFO] idaes.solve.petsc-dae: 17 TS dt 0.0233619 time 0.292299\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:52 [INFO] idaes.solve.petsc-dae: 18 TS dt 0.0243005 time 0.315661\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:52 [INFO] idaes.solve.petsc-dae: 19 TS dt 0.0251894 time 0.339962\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 20 TS dt 0.0259944 time 0.365151\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 21 TS dt 0.0266898 time 0.391146\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 22 TS dt 0.0272563 time 0.417835\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 23 TS dt 0.0276902 time 0.445092\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 24 TS dt 0.0279997 time 0.472782\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 25 TS dt 0.0282038 time 0.500782\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 26 TS dt 0.028326 time 0.528985\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 27 TS dt 0.0283913 time 0.557311\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 28 TS dt 0.0284218 time 0.585703\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 29 TS dt 0.0284362 time 0.614124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 30 TS dt 0.0284488 time 0.642561\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 31 TS dt 0.0284703 time 0.671009\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 32 TS dt 0.0285087 time 0.69948\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 33 TS dt 0.0285693 time 0.727988\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 34 TS dt 0.0286562 time 0.756558\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 35 TS dt 0.0287722 time 0.785214\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 36 TS dt 0.0289195 time 0.813986\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 37 TS dt 0.0291001 time 0.842906\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 38 TS dt 0.0293154 time 0.872006\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 39 TS dt 0.0295672 time 0.901321\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 40 TS dt 0.0298571 time 0.930888\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 41 TS dt 0.0301872 time 0.960745\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 42 TS dt 0.0305596 time 0.990933\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 43 TS dt 0.0309769 time 1.02149\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 44 TS dt 0.031442 time 1.05247\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 45 TS dt 0.0319585 time 1.08391\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 46 TS dt 0.0325305 time 1.11587\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 47 TS dt 0.0331626 time 1.1484\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 48 TS dt 0.0338606 time 1.18156\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 49 TS dt 0.0346311 time 1.21542\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 50 TS dt 0.0354817 time 1.25005\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 51 TS dt 0.0364218 time 1.28554\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 52 TS dt 0.0374622 time 1.32196\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:53 [INFO] idaes.solve.petsc-dae: 53 TS dt 0.0386159 time 1.35942\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 54 TS dt 0.0398987 time 1.39804\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 55 TS dt 0.0413295 time 1.43793\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 56 TS dt 0.0429313 time 1.47926\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 57 TS dt 0.0447325 time 1.5222\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 58 TS dt 0.0467682 time 1.56693\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 59 TS dt 0.0490823 time 1.6137\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 60 TS dt 0.0517305 time 1.66278\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 61 TS dt 0.0547839 time 1.71451\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 62 TS dt 0.0583343 time 1.76929\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 63 TS dt 0.0625012 time 1.82763\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 64 TS dt 0.0674415 time 1.89013\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 65 TS dt 0.0733598 time 1.95757\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 66 TS dt 0.0805186 time 2.03093\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 67 TS dt 0.0892348 time 2.11145\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 68 TS dt 0.0998324 time 2.20068\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 69 TS dt 0.112487 time 2.30052\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 70 TS dt 0.12691 time 2.413\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 71 TS dt 0.142117 time 2.53991\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 72 TS dt 0.157007 time 2.68203\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 73 TS dt 0.171623 time 2.83904\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 74 TS dt 0.187368 time 3.01066\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 75 TS dt 0.206382 time 3.19803\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 76 TS dt 0.231364 time 3.40441\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 77 TS dt 0.266076 time 3.63577\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 78 TS dt 0.316702 time 3.90185\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 79 TS dt 0.394852 time 4.21855\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 80 TS dt 0.525171 time 4.6134\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 81 TS dt 0.767756 time 5.13857\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 82 TS dt 1.29836 time 5.90633\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 83 TS dt 2.79531 time 7.20469\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: 84 TS dt 8.85294 time 10.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: TSConvergedReason = TS_CONVERGED_TIME\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:54 [INFO] idaes.solve.petsc-dae: TS_CONVERGED_TIME\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: DAE: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dkgun\\AppData\\Local\\Temp\\tmp4d4exz1y.pyomo.nl\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: Number of constraints: 30\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: Number of variables: 36\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 98 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: Explicit time variable: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: Number of derivatives: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: Number of differential vars: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: Number of algebraic vars: 25\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: Number of state vars: 30\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: 0 TS dt 0.1 time 10.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: 1 TS dt 0.1 time 10.1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: 2 TS dt 0.0448184 time 10.1371\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: 3 TS dt 0.0362261 time 10.1719\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: 4 TS dt 0.037926 time 10.2081\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: 5 TS dt 0.040655 time 10.246\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: 6 TS dt 0.0432601 time 10.2867\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: 7 TS dt 0.0460301 time 10.3299\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: 8 TS dt 0.0483791 time 10.376\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: 9 TS dt 0.0503537 time 10.4243\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: 10 TS dt 0.0518023 time 10.4747\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: 11 TS dt 0.0529149 time 10.5265\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: 12 TS dt 0.0538116 time 10.5794\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: 13 TS dt 0.0546803 time 10.6332\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: 14 TS dt 0.0556299 time 10.6879\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: 15 TS dt 0.056762 time 10.7435\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: 16 TS dt 0.0581408 time 10.8003\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: 17 TS dt 0.0598299 time 10.8584\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: 18 TS dt 0.0618893 time 10.9183\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:55 [INFO] idaes.solve.petsc-dae: 19 TS dt 0.0643931 time 10.9802\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: 20 TS dt 0.0674341 time 11.0445\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: 21 TS dt 0.0711384 time 11.112\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: 22 TS dt 0.0756776 time 11.1831\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: 23 TS dt 0.0812903 time 11.2588\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: 24 TS dt 0.0883011 time 11.3401\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: 25 TS dt 0.09713 time 11.4284\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: 26 TS dt 0.108211 time 11.5255\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: 27 TS dt 0.121606 time 11.6337\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: 28 TS dt 0.122333 time 11.7553\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: 29 TS dt 0.122333 time 11.8777\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: 30 TS dt 0.159258 time 12.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: TSConvergedReason = TS_CONVERGED_TIME\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: TS_CONVERGED_TIME\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: WARNING: model contains export suffix 'dae_suffix' that contains 1 component\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: DAE: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dkgun\\AppData\\Local\\Temp\\tmp1qggvz23.pyomo.nl\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: Number of constraints: 29\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 15\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: Number of variables: 34\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 91 \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: Explicit time variable: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: Number of derivatives: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: Number of differential vars: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: Number of algebraic vars: 24\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: Number of state vars: 29\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: 0 TS dt 0.1 time 12.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: 1 TS dt 0.1 time 12.1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:56 [INFO] idaes.solve.petsc-dae: 2 TS dt 0.0494004 time 12.1411\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 3 TS dt 0.0407055 time 12.1802\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 4 TS dt 0.0422725 time 12.2209\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 5 TS dt 0.0447524 time 12.2632\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 6 TS dt 0.0468318 time 12.3079\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 7 TS dt 0.0490217 time 12.3548\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 8 TS dt 0.0508279 time 12.4038\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 9 TS dt 0.0525655 time 12.4546\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 10 TS dt 0.0541373 time 12.5072\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 11 TS dt 0.055779 time 12.5613\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 12 TS dt 0.057531 time 12.6171\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 13 TS dt 0.0595583 time 12.6746\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 14 TS dt 0.061941 time 12.7342\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 15 TS dt 0.064821 time 12.7961\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 16 TS dt 0.0683275 time 12.8609\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 17 TS dt 0.0726534 time 12.9293\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 18 TS dt 0.0780452 time 13.0019\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 19 TS dt 0.0848677 time 13.08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 20 TS dt 0.093653 time 13.1648\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 21 TS dt 0.105212 time 13.2585\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 22 TS dt 0.120767 time 13.3637\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 23 TS dt 0.142036 time 13.4845\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 24 TS dt 0.170717 time 13.6265\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 25 TS dt 0.206234 time 13.7972\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 26 TS dt 0.244736 time 14.0034\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 27 TS dt 0.288411 time 14.2482\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 28 TS dt 0.350093 time 14.5366\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 29 TS dt 0.453668 time 14.8867\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 30 TS dt 0.655245 time 15.3404\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 31 TS dt 1.1261 time 15.9956\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 32 TS dt 2.56902 time 17.1217\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 33 TS dt 4.30929 time 19.6907\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: 34 TS dt 26.3639 time 24.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: TSConvergedReason = TS_CONVERGED_TIME\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:31:57 [INFO] idaes.solve.petsc-dae: TS_CONVERGED_TIME\n" - ] - } - ], + "outputs": [], "source": [ "# Solve the new problem. Notice the argument specifying the explicit time variable.\n", "result = petsc.petsc_dae_by_time_element(\n", @@ -4652,22 +351,7 @@ "cell_type": "code", "execution_count": 15, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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eKRSldUnmpV2cDpCXA2A5sCvxfDvv/++z212PB6PVq9ebfXSkqQf//jHgasOABqRdzarXUuHHFE0KwXQcH4FrYkTJ5722j333GP92WazqaampuFVAUAIfHfakPVZAAKjzkHL4/EEsw4ACDnvzaRd3OMQQID4fQseAGiuWAgPINDqFLQ2b95c5x0ePXpUO3furHdBABAq3q7wLlo7AAiQOgWtW2+9VRkZGVq6dKmOHDlS65jPP/9cP//5z3X++edr69atAS0SABpDIT20AARYnYLW559/rlGjRumpp55SQkKC+vTpo2uuuUbXXXedLr/8crVr104XX3yx8vPz9fe//1233XZbnT58zpw5stlsPo9evXr5jMnOztZ//ud/qkWLFnI6nbriiius7vSSdPDgQU2YMEFOp1MJCQmaNGmSDh8+7LOPzz77TEOHDlVMTIw6deqkefPmnVbL0qVL1atXL8XExKhfv35atWqVz3ZjjGbNmqWkpCTFxsYqPT1de/bsqdPfE0DT4ObUIYAAq1PQio6O1kMPPaTc3FxlZ2frrrvuUt++fdWxY0ddddVVeu2111RYWKi33npL/fr186uAPn36qKioyHps3LjR2padna0RI0Zo+PDh+uijj7RlyxY98MADioj4ruwJEyZo586dysrK0ooVK7R+/Xrdfffd1vaysjINHz5cKSkp2rp1q1544QXNmTNHr7/+ujXmww8/1Pjx4zVp0iR98sknGj16tEaPHu3TtmLevHmaP3++Xn31VeXk5KhFixbKyMiwbrANoGnzeIwVtFgMDyBgTAjNnj3bDBgw4IzbU1NTzVNPPXXG7Z9//rmRZLZs2WK99t577xmbzWa++eYbY4wxr7zyimndurWpqKiwxkyfPt307NnTej527FgzatSo0z77nnvuMcYY4/F4jMvlMi+88IK1vaSkxDgcDvPWW2+dsb7jx4+b0tJS6/H1118bSaa0tPSM7wEQGt+WHzcp01eYLk+sMJXVNaEuB0AYKS0trffv75Bfdbhnzx4lJyerW7dumjBhggoKCiRJxcXFysnJUYcOHXTppZcqMTFRV1555WkzXgkJCRo8eLD1Wnp6uiIiIpSTk2ONueKKK2S3260xGRkZys3N1aFDh6wx6enpPnVlZGQoOztbkpSfny+32+0zJj4+XqmpqdaY2sydO1fx8fHWo1OnTvU9TACCrKjkxGxW+5YORUeG/EcjgGYipD9NUlNTtWjRImVmZmrhwoXKz8/X0KFDVV5eri+//FLSiXVcd911lzIzM3XxxRdr2LBh1toot9utDh06+OwzKipKbdq0kdvttsYkJib6jPE+P9eYU7ef+r7axtRmxowZKi0ttR5ff/113Q8OgEZVeLKHFgvhAQSSX53hA23kyJHWn/v376/U1FSlpKRoyZIluvDCCyWd6Dx/++23S5IGDhyo1atX63//9381d+7ckNTsD4fDIYeD+6UBTYHbuuKQhfAAAies5scTEhLUo0cP7d27V0lJSZKk3r17+4y58MILrdOLLpdLxcXFPturq6t18OBBuVwua8y+fft8xnifn2vMqdtPfV9tYwA0bd4ZLXpoAQikBgWtQF9xd/jwYeXl5SkpKUldunRRcnKycnNzfcZ88cUXSklJkSSlpaWppKTEp2/XmjVr5PF4lJqaao1Zv369qqqqrDFZWVnq2bOnWrdubY1ZvXq1z+dkZWUpLS1NktS1a1e5XC6fMWVlZcrJybHGAGjavGu0uM8hgIDyd/V8TU2NeeaZZ0xycrKJjIw0eXl5xhhjnnrqKfO73/3Or3098sgjZu3atSY/P99s2rTJpKenm3bt2pni4mJjjDEvvviicTqdZunSpWbPnj3mqaeeMjExMWbv3r3WPkaMGGEGDhxocnJyzMaNG80FF1xgxo8fb20vKSkxiYmJ5tZbbzU7duwwixcvNnFxcea1116zxmzatMlERUWZX/3qV2bXrl1m9uzZJjo62mzfvt0a8/zzz5uEhATz17/+1Xz22Wfm+uuvN127djXHjh2r89+3IVctAAiumxZ+aFKmrzB/2/ZNqEsBEGYa8vvb76D19NNPm27dupk//vGPJjY21gpaixcvNpdccolf+xo3bpxJSkoydrvddOzY0YwbN84nRBljzNy5c815551n4uLiTFpamtmwYYPP9gMHDpjx48ebli1bGqfTaW6//XZTXl7uM+bTTz81l19+uXE4HKZjx47m+eefP62WJUuWmB49ehi73W769OljVq5c6bPd4/GYmTNnmsTERONwOMywYcNMbm6uX39fghYQvi57frVJmb7CbMk/EOpSAISZhvz+thljjD8zYN27d9drr72mYcOGqVWrVvr000/VrVs37d69W2lpaVbLBJyurKxM8fHxKi0tldPpDHU5AE7yeIx6znxPVTVGm574T3WkMzyAUzTk97ffa7S++eYbde/e/bTXPR6PzzooAGgq9h+pUFWNUYRN6tCKK4UBBI7fQat3797asGHDaa//5S9/0cCBAwNSFAA0JqtZaSualQIILL/7aM2aNUsTJ07UN998I4/Ho3feeUe5ubl68803tWLFimDUCABBVUQPLQBB4vc/3a6//notX75c//jHP9SiRQvNmjVLu3bt0vLly3XNNdcEo0YACKoiusIDCBK/ZrSqq6v13HPP6Y477lBWVlawagKARsWMFoBg8WtGKyoqSvPmzVN1dXWw6gGARucNWjQrBRBofp86HDZsmNatWxeMWgAgJIpKuP0OgODwezH8yJEj9cQTT2j79u0aNGiQWrRo4bP9xz/+ccCKA4DGwKlDAMHid9C6//77JUm/+c1vTttms9lUU1PT8KoAoJHUeIz2lXHqEEBw+B20PB5PMOoAgJDYf7hC1Z4TzUrbt6RZKYDAojMfgB8072nDRGeMomhWCiDA/J7ReuaZZ866fdasWfUuBgAaGwvhAQST30Fr2bJlPs+rqqqUn5+vqKgonX/++QQtAE1Kobe1AwvhAQSB30Hrk08+Oe21srIy/exnP9MNN9wQkKIAoLG46QoPIIgCsiDB6XTq6aef1syZMwOxOwBoNN4ZLU4dAgiGgK38LC0tVWlpaaB2BwCNwrtGKzmBU4cAAs/vU4fz58/3eW6MUVFRkf7whz9o5MiRASsMABqD22pWyowWgMDzO2i9+OKLPs8jIiLUvn17TZw4UTNmzAhYYQAQbDUeo33lFZLoCg8gOPwOWvn5+cGoAwAa3bflFarxGEVG2NS+Fc1KAQReg9dolZWV6d1339WuXbsCUQ8ANJrCk1ccJrZyKDLCFuJqADRHfgetsWPH6uWXX5YkHTt2TIMHD9bYsWPVv39//d///V/ACwSAYCkqObk+i4XwAILE76C1fv16DR06VNKJ5qXGGJWUlGj+/Pn65S9/GfACASBYiuihBSDI/A5apaWlatOmjSQpMzNTY8aMUVxcnEaNGqU9e/YEvEAACJYirjgEEGR+B61OnTopOztbR44cUWZmpoYPHy5JOnTokGJi+GEFoOn4bkaLU4cAgsPvqw6nTJmiCRMmqGXLlkpJSdFVV10l6cQpxX79+gW6PgAIGu+MVnIC/0gEEBx+B637779fQ4YM0ddff61rrrlGEREnJsW6devGGi0ATYp3MbyLGS0AQeJ30JKkwYMHa/DgwZKkmpoabd++XZdeeqlat24d0OIAIFiqazwqLj85o8UaLQBB4vcarSlTpuj//b//J+lEyLryyit18cUXq1OnTlq7dm2g6wOAoCgur5DHSFERNrVrSbNSAMHhd9D6y1/+ogEDBkiSli9frvz8fO3evVtTp07Vk08+GfACASAYvAvhE50xiqBZKYAg8Tto7d+/Xy6XS5K0atUq3XTTTerRo4fuuOMObd++PeAFAkAwsBAeQGPwO2glJibq888/V01NjTIzM3XNNddIko4eParIyMiAFwgAwcBCeACNwe/F8LfffrvGjh2rpKQk2Ww2paenS5JycnLUq1evgBcIAMHgvc8hC+EBBJPfQWvOnDnq27evvv76a910001yOE4sIo2MjNQTTzwR8AIBIBjcdIUH0Ajq1d7hJz/5iSTp+PHj1msTJ04MTEUA0AgKSzl1CCD4/F6jVVNTo1/84hfq2LGjWrZsqS+//FKSNHPmTKvtAwCEu6KSk6cOWQwPIIj8DlrPPvusFi1apHnz5slut1uv9+3bV7/73e8CWhwABENVjUffHq6QxH0OAQSX30HrzTff1Ouvv64JEyb4XGU4YMAA7d69O6DFAUAw7Cs7LmOk6Eib2rawn/sNAFBPfgetb775Rt27dz/tdY/Ho6qqqoAUBQDB5LbWZ9GsFEBw+R20evfurQ0bNpz2+l/+8hcNHDgwIEUBQDB5F8InOTltCCC4/L7qcNasWZo4caK++eYbeTwevfPOO8rNzdWbb76pFStWBKNGAAgo70L4JBbCAwgyv2e0rr/+ei1fvlz/+Mc/1KJFC82aNUu7du3S8uXLrS7xABDOiqweWsxoAQguv2a0qqur9dxzz+mOO+5QVlZWsGoCgKDy3lCaZqUAgs2vGa2oqCjNmzdP1dXVwaoHAIKuiK7wABqJ36cOhw0bpnXr1gWjFgBoFN6glZzAqUMAweX3YviRI0fqiSee0Pbt2zVo0CC1aNHCZ/uPf/zjgBUHAIFWWe3R/pPNSl3MaAEIMr+D1v333y9J+s1vfnPaNpvNppqamoZXBQBB4m1Wao+MoFkpgKDzO2h5PJ5g1AEAjaLolGalNhvNSgEEl99rtACgKeOKQwCNqV5Ba/Xq1br22mt1/vnn6/zzz9e1116rf/zjH4GuDQACjoXwABqT30HrlVde0YgRI9SqVSs9/PDDevjhh+V0OvWjH/1ICxYsCEaNABAw3q7wLIQH0Bj8XqP13HPP6cUXX9QDDzxgvfbQQw/psssu03PPPafJkycHtEAACCTvfQ6TCVoAGoHfM1olJSUaMWLEaa8PHz5cpaWlASkKAILFze13ADQiv4PWj3/8Yy1btuy01//617/q2muvDUhRABAs3sXwnDoE0Bj8PnXYu3dvPfvss1q7dq3S0tIkSZs3b9amTZv0yCOPaP78+dbYhx56KHCVAkADVVTXaP/hSkkshgfQOGzGGOPPG7p27Vq3Hdts+vLLL+tVVHNVVlam+Ph4lZaWyul0hroc4Aen4MBRXfHCB3JERWj3L0bQRwtAnTTk97ffM1r5+fn+vgUAwkLhKT20CFkAGkNIG5bOmTNHNpvN59GrV6/TxhljNHLkSNlsNr377rs+2woKCjRq1CjFxcWpQ4cOeuyxx1RdXe0zZu3atbr44ovlcDjUvXt3LVq06LTPWLBggbp06aKYmBilpqbqo48+8tl+/PhxTZ48WW3btlXLli01ZswY7du3r8HHAEDjYSE8gMYW8s7wffr0UVFRkfXYuHHjaWN++9vf1vqvz5qaGo0aNUqVlZX68MMP9fvf/16LFi3SrFmzrDH5+fkaNWqUrr76am3btk1TpkzRnXfeqffff98a8/bbb2vatGmaPXu2/vnPf2rAgAHKyMhQcXGxNWbq1Klavny5li5dqnXr1qmwsFA33nhjgI8GgGAqpCs8gMZmQmj27NlmwIABZx3zySefmI4dO5qioiIjySxbtszatmrVKhMREWHcbrf12sKFC43T6TQVFRXGGGMef/xx06dPH599jhs3zmRkZFjPhwwZYiZPnmw9r6mpMcnJyWbu3LnGGGNKSkpMdHS0Wbp0qTVm165dRpLJzs6u89+3tLTUSDKlpaV1fg+AwHlq2XaTMn2FmZe5K9SlAGhCGvL7O+QzWnv27FFycrK6deumCRMmqKCgwNp29OhR3XLLLVqwYIFcLtdp783Ozla/fv2UmJhovZaRkaGysjLt3LnTGpOenu7zvoyMDGVnZ0uSKisrtXXrVp8xERERSk9Pt8Zs3bpVVVVVPmN69eqlzp07W2NqU1FRobKyMp8HgNAp4tQhgEbmd9AqKCiQqeVCRWOMT0iqi9TUVC1atEiZmZlauHCh8vPzNXToUJWXl0s6cbru0ksv1fXXX1/r+91ut0/IkmQ9d7vdZx1TVlamY8eOaf/+/aqpqal1zKn7sNvtSkhIOOOY2sydO1fx8fHWo1OnTuc4IgCCiRtKA2hsfl912LVrVxUVFalDhw4+rx88eFBdu3ZVTU1Nnfc1cuRI68/9+/dXamqqUlJStGTJErVv315r1qzRJ5984m+JYWPGjBmaNm2a9bysrIywBYQQM1oAGpvfM1rGmFoXph8+fFgxMQ37V2JCQoJ69OihvXv3as2aNcrLy1NCQoKioqIUFXUiE44ZM0ZXXXWVJMnlcp125Z/3ufdU45nGOJ1OxcbGql27doqMjKx1zKn7qKysVElJyRnH1MbhcMjpdPo8AITG8aoaHTxyolkpM1oAGkudZ7S8MzM2m00zZ85UXFycta2mpkY5OTm66KKLGlTM4cOHlZeXp1tvvVVjx47VnXfe6bO9X79+evHFF3XddddJktLS0vTss8+quLjYmmHLysqS0+lU7969rTGrVq3y2U9WVpbV1d5ut2vQoEFavXq1Ro8eLUnyeDxavXq1dePsQYMGKTo6WqtXr9aYMWMkSbm5uSooKLD2AyC8eVs7xERHKCEuOsTVAPihqHPQ8p7CM8Zo+/btstvt1ja73a4BAwbo0Ucf9evDH330UV133XVKSUlRYWGhZs+ercjISI0fP17t27evdbaoc+fOVnf64cOHq3fv3rr11ls1b948ud1uPfXUU5o8ebIcDock6d5779XLL7+sxx9/XHfccYfWrFmjJUuWaOXKldY+p02bpokTJ2rw4MEaMmSIfvvb3+rIkSO6/fbbJUnx8fGaNGmSpk2bpjZt2sjpdOrBBx9UWlqaLrnkEr/+zgBCw3vaMDk+lmalABpNnYPWBx98IEm6/fbb9dJLLwXkNNi///1vjR8/XgcOHFD79u11+eWXa/PmzWrfvn2d3h8ZGakVK1bovvvuU1pamlq0aKGJEyfqmWeescZ07dpVK1eu1NSpU/XSSy/pvPPO0+9+9ztlZGRYY8aNG6dvv/1Ws2bNktvt1kUXXaTMzEyfBfIvvviiIiIiNGbMGFVUVCgjI0OvvPJKg48BgMbBzaQBhILf9zr02rt3r/Ly8nTFFVcoNjb2jGu38B3udQiEzoIP9uqF93M15uLz9OuxA0JdDoAmpCG/v/1eDH/w4EENGzZMPXr00I9+9CMVFRVJkiZNmqRHHnnE390BQKPwzmglJzCjBaDx+B20pkyZoujoaBUUFPgsiB83bpwyMzMDWhwABEpRyYk1Wpw6BNCY/O6j9fe//13vv/++zjvvPJ/XL7jgAv3rX/8KWGEAEEiFpyyGB4DG4veM1pEjR3xmsrwOHjxoXekHAOHG7e0Kz6lDAI3I76A1dOhQvfnmm9Zzm80mj8ejefPm6eqrrw5ocQAQCMcqa3ToaJUkKcnJjBaAxuP3qcN58+Zp2LBh+vjjj1VZWanHH39cO3fu1MGDB7Vp06Zg1AgADeIuO3HaMM4eKWes3z/2AKDe/J7R6tu3r7744gtdfvnluv7663XkyBHdeOON+uSTT3T++ecHo0YAaJCiku96aNGGBkBjqtc/7eLj4/Xkk08GuhYACAoWwgMIlToFrc8++6zOO+zfv3+9iwGAYLAWwtPaAUAjq1PQuuiii2Sz2XSuJvI2m001NTUBKQwAAsU7o0XQAtDY6hS08vPzg10HAASNd41WUgKnDgE0rjoFrZSUlGDXAQBBU8SMFoAQqddi+D179uiDDz5QcXGxPB6Pz7ZZs2YFpDAACJTvghYzWgAal99B63/+53903333qV27dnK5XD6XSttsNoIWgLBytLJapcdONiulKzyARuZ30PrlL3+pZ599VtOnTw9GPQAQUN7ZrBb2SLVy0KwUQOPyu2HpoUOHdNNNNwWjFgAIuKKSk6cNE2JpVgqg0fkdtG666Sb9/e9/D0YtABBwRfTQAhBCfs+jd+/eXTNnztTmzZvVr18/RUdH+2x/6KGHAlYcADQUVxwCCCW/g9brr7+uli1bat26dVq3bp3PNpvNRtACEFa+m9HiikMAjc/voEXzUgBNiXdGK5krDgGEgN9rtACgKfEuhncxowUgBOo0ozVt2jT94he/UIsWLTRt2rSzjv3Nb34TkMIAIBAKT546TGaNFoAQqFPQ+uSTT1RVVWX9+Uy4dBpAODlcUa3y49WSJBdBC0AI1CloffDBB7X+GQDCmfvkbFYrR5RaxUSfYzQABB5rtAA0W1ZrBxbCAwgRghaAZouF8ABCjaAFoNliITyAUCNoAWi23FZXeGa0AIQGQQtAs1XI7XcAhBhBC0CzVVRy8vY7LIYHECIELQDNlpsZLQAhRtAC0CyVH69SecWJZqWs0QIQKgQtAM2SdzbLGROlFo469WYGgIAjaAFolgq54hBAGCBoAWiWWAgPIBwQtAA0S0XMaAEIAwQtAM1S0cmu8FxxCCCUCFoAmqUiWjsACAMELQDNEqcOAYQDghaAZscYw2J4AGGBoAWg2SmvqNaRyhpJnDoEEFoELQDNTlHJidOG8bHRirPTrBRA6BC0ADQ7hVxxCCBMELQANDve2+8kJ7AQHkBoEbQANDvehfAuZrQAhBhBC0Cz473PYTJBC0CIEbQANDtuemgBCBMELQDNDovhAYQLghaAZsUY892MFovhAYQYQQtAs1J2rFpHTzYrdTmZ0QIQWgQtAM2K97Rh67hoxdojQ1wNgB86ghaAZoWF8ADCCUELQLPCQngA4YSgBaBZ8d7nMCmBoAUg9AhaAJqVIk4dAggjBC0AzUoRpw4BhJGQBq05c+bIZrP5PHr16iVJOnjwoB588EH17NlTsbGx6ty5sx566CGVlpb67KOgoECjRo1SXFycOnTooMcee0zV1dU+Y9auXauLL75YDodD3bt316JFi06rZcGCBerSpYtiYmKUmpqqjz76yGf78ePHNXnyZLVt21YtW7bUmDFjtG/fvsAeEAANxowWgHAS8hmtPn36qKioyHps3LhRklRYWKjCwkL96le/0o4dO7Ro0SJlZmZq0qRJ1ntramo0atQoVVZW6sMPP9Tvf/97LVq0SLNmzbLG5Ofna9SoUbr66qu1bds2TZkyRXfeeafef/99a8zbb7+tadOmafbs2frnP/+pAQMGKCMjQ8XFxdaYqVOnavny5Vq6dKnWrVunwsJC3XjjjY1whADUlTGGGS0A4cWE0OzZs82AAQPqPH7JkiXGbrebqqoqY4wxq1atMhEREcbtdltjFi5caJxOp6moqDDGGPP444+bPn36+Oxn3LhxJiMjw3o+ZMgQM3nyZOt5TU2NSU5ONnPnzjXGGFNSUmKio6PN0qVLrTG7du0ykkx2dnad6y8tLTWSTGlpaZ3fA6DuDh6uMCnTV5iU6SvMscrqUJcDoJloyO/vkM9o7dmzR8nJyerWrZsmTJiggoKCM44tLS2V0+lUVFSUJCk7O1v9+vVTYmKiNSYjI0NlZWXauXOnNSY9Pd1nPxkZGcrOzpYkVVZWauvWrT5jIiIilJ6ebo3ZunWrqqqqfMb06tVLnTt3tsbUpqKiQmVlZT4PAMHjPW3YtoVdMdE0KwUQeiENWqmpqdYpwYULFyo/P19Dhw5VeXn5aWP379+vX/ziF7r77rut19xut0/IkmQ9d7vdZx1TVlamY8eOaf/+/aqpqal1zKn7sNvtSkhIOOOY2sydO1fx8fHWo1OnTuc4IgAawnva0MVpQwBhIqRBa+TIkbrpppvUv39/ZWRkaNWqVSopKdGSJUt8xpWVlWnUqFHq3bu35syZE5pi62HGjBkqLS21Hl9//XWoSwKatUIWwgMIM1GhLuBUCQkJ6tGjh/bu3Wu9Vl5erhEjRqhVq1ZatmyZoqOjrW0ul+u0qwO9VwK6XC7rf79/deC+ffvkdDoVGxuryMhIRUZG1jrm1H1UVlaqpKTEZ1br1DG1cTgccjgcfhwBAA3hPjmjlUyzUgBhIuRrtE51+PBh5eXlKSkpSdKJmazhw4fLbrfrb3/7m2JifH94pqWlafv27T5XB2ZlZcnpdKp3797WmNWrV/u8LysrS2lpaZIku92uQYMG+YzxeDxavXq1NWbQoEGKjo72GZObm6uCggJrDIDQ83aF59QhgHAR0hmtRx99VNddd51SUlJUWFio2bNnKzIyUuPHj7dC1tGjR/XHP/7RZzF5+/btFRkZqeHDh6t379669dZbNW/ePLndbj311FOaPHmyNZN077336uWXX9bjjz+uO+64Q2vWrNGSJUu0cuVKq45p06Zp4sSJGjx4sIYMGaLf/va3OnLkiG6//XZJUnx8vCZNmqRp06apTZs2cjqdevDBB5WWlqZLLrmk8Q8cgFp573OYzKlDAGEipEHr3//+t8aPH68DBw6offv2uvzyy7V582a1b99ea9euVU5OjiSpe/fuPu/Lz89Xly5dFBkZqRUrVui+++5TWlqaWrRooYkTJ+qZZ56xxnbt2lUrV67U1KlT9dJLL+m8887T7373O2VkZFhjxo0bp2+//VazZs2S2+3WRRddpMzMTJ8F8i+++KIiIiI0ZswYVVRUKCMjQ6+88kqQjxAAf7hLmdECEF5sxhgT6iJ+KMrKyhQfH2+1qQAQOMYY9ZqZqYpqj9Y/drU6t40LdUkAmomG/P4OqzVaAFBfh45WqaLaI0lKjOciFADhgaAFoFkoLDmxPqtdS7scUTQrBRAeCFoAmgVuJg0gHBG0ADQLbm4mDSAMEbQANAvfdYUnaAEIHwQtAM1C0ck1WkkJnDoEED4IWgCahSJmtACEIYIWgGaBxfAAwhFBC0CTZ4yxusIzowUgnBC0ADR5B45UqrLGI5tNSnQStACED4IWgCavqOTEbFa7lg7Zo/ixBiB88BMJQJNXdLKHVjKnDQGEGYIWgCbPuxDeRdACEGYIWgCavEKrKzxXHAIILwQtAE0eVxwCCFcELQBNnncxPF3hAYQbghaAJq+QxfAAwhRBC0CT5vEY7StjMTyA8ETQAtCk7T9SoaoaQ7NSAGGJoAWgSfMuhO/QyqHoSH6kAQgv/FQC0KQVlnhPG7IQHkD4IWgBaNLoCg8gnBG0ADRp3/XQYkYLQPghaAFo0gppVgogjBG0ADRpRSUnb7+TQNACEH4IWgCatCJmtACEMYIWgCar5pRmpazRAhCOCFoAmqwDhytU7TGKsJ3oowUA4YagBaDJKrSalcYoimalAMIQP5kANFkshAcQ7ghaAJos70L4ZNZnAQhTBC0ATZa3K7yLKw4BhCmCFoAmi2alAMIdQQtAk8XtdwCEO4IWgCaLxfAAwh1BC0CTVOMx2ldeIYnF8ADCF0ELQJP0bXmFajxGkRE2tadZKYAwRdAC0CQVnrziMLGVQ5ERthBXAwC1I2gBaJKshfAJnDYEEL4IWgCapMISemgBCH8ELQBN0ndd4QlaAMIXQQtAk+Q9dejiikMAYYygBaBJ8i6GZ0YLQDgjaAFokopKWAwPIPwRtAA0OdU1HhWXc59DAOGPoAWgySkur5DHSFERNrVrSbNSAOGLoAWgyfFecZjojKFZKYCwRtAC0OQUnVwIz2lDAOGOoAWgyWEhPICmgqAFoMnxnjpkRgtAuCNoAWhyOHUIoKkgaAFocgqtGS1OHQIIbwQtAE2OmxktAE0EQQtAk1JV41FxeYUkKSmBoAUgvBG0ADQpxeUVMkaKjrSpXQualQIIbwQtAE1KUcmJ04aJzhhF0KwUQJgLadCaM2eObDabz6NXr17W9uPHj2vy5Mlq27atWrZsqTFjxmjfvn0++ygoKNCoUaMUFxenDh066LHHHlN1dbXPmLVr1+riiy+Ww+FQ9+7dtWjRotNqWbBggbp06aKYmBilpqbqo48+8tlel1oABJ93IXwyC+EBNAEhn9Hq06ePioqKrMfGjRutbVOnTtXy5cu1dOlSrVu3ToWFhbrxxhut7TU1NRo1apQqKyv14Ycf6ve//70WLVqkWbNmWWPy8/M1atQoXX311dq2bZumTJmiO++8U++//7415u2339a0adM0e/Zs/fOf/9SAAQOUkZGh4uLiOtcCoHF4F8K7WAgPoAmwGWNMqD58zpw5evfdd7Vt27bTtpWWlqp9+/b685//rJ/85CeSpN27d+vCCy9Udna2LrnkEr333nu69tprVVhYqMTEREnSq6++qunTp+vbb7+V3W7X9OnTtXLlSu3YscPa980336ySkhJlZmZKklJTU/Uf//EfevnllyVJHo9HnTp10oMPPqgnnniiTrXURVlZmeLj41VaWiqn01nv4/Z9h45U6khl9bkHAs3A/NV7tOTjf+ueK7tpxsgLQ10OgB+Ahvz+jgpSTXW2Z88eJScnKyYmRmlpaZo7d646d+6srVu3qqqqSunp6dbYXr16qXPnzla4yc7OVr9+/ayQJUkZGRm67777tHPnTg0cOFDZ2dk++/COmTJliiSpsrJSW7du1YwZM6ztERERSk9PV3Z2tiTVqZbaVFRUqKKiwnpeVlZW/wN1Fi/8PVd/zikIyr6BcMWpQwBNQUiDVmpqqhYtWqSePXuqqKhITz/9tIYOHaodO3bI7XbLbrcrISHB5z2JiYlyu92SJLfb7ROyvNu92842pqysTMeOHdOhQ4dUU1NT65jdu3db+zhXLbWZO3eunn766bodjAaIjrDJERXys8BAo2nX0qErerQPdRkAcE4hDVojR460/ty/f3+lpqYqJSVFS5YsUWxs0//X6owZMzRt2jTreVlZmTp16hTwz3n6+r56+vq+Ad8vAABomLCaBklISFCPHj20d+9euVwuVVZWqqSkxGfMvn375HK5JEkul+u0K/+8z881xul0KjY2Vu3atVNkZGStY07dx7lqqY3D4ZDT6fR5AACAH46wClqHDx9WXl6ekpKSNGjQIEVHR2v16tXW9tzcXBUUFCgtLU2SlJaWpu3bt/tcHZiVlSWn06nevXtbY07dh3eMdx92u12DBg3yGePxeLR69WprTF1qAQAAOI0JoUceecSsXbvW5Ofnm02bNpn09HTTrl07U1xcbIwx5t577zWdO3c2a9asMR9//LFJS0szaWlp1vurq6tN3759zfDhw822bdtMZmamad++vZkxY4Y15ssvvzRxcXHmscceM7t27TILFiwwkZGRJjMz0xqzePFi43A4zKJFi8znn39u7r77bpOQkGDcbrc15ly11EVpaamRZEpLS+t7yAAAQCNryO/vkAatcePGmaSkJGO3203Hjh3NuHHjzN69e63tx44dM/fff79p3bq1iYuLMzfccIMpKiry2cdXX31lRo4caWJjY027du3MI488YqqqqnzGfPDBB+aiiy4ydrvddOvWzbzxxhun1fLf//3fpnPnzsZut5shQ4aYzZs3+2yvSy3nQtACAKDpacjv75D20fqhCVYfLQAAEDwN+f0dVmu0AAAAmhOCFgAAQJAQtAAAAIKEoAUAABAkBC0AAIAgIWgBAAAECUELAAAgSAhaAAAAQULQAgAACJKoUBfwQ+Jtwl9WVhbiSgAAQF15f2/X52Y6BK1GVF5eLknq1KlTiCsBAAD+Ki8vV3x8vF/v4V6Hjcjj8aiwsFCtWrWSzWYL2H7LysrUqVMnff3119xDsRFx3EOD4x4aHPfQ4LiHxvePuzFG5eXlSk5OVkSEf6uumNFqRBERETrvvPOCtn+n08l/iCHAcQ8NjntocNxDg+MeGqced39nsrxYDA8AABAkBC0AAIAgIWg1Aw6HQ7Nnz5bD4Qh1KT8oHPfQ4LiHBsc9NDjuoRHI485ieAAAgCBhRgsAACBICFoAAABBQtACAAAIEoIWAABAkBC0moEFCxaoS5cuiomJUWpqqj766KNQl9SszZkzRzabzefRq1evUJfV7Kxfv17XXXedkpOTZbPZ9O677/psN8Zo1qxZSkpKUmxsrNLT07Vnz57QFNuMnOu4/+xnPzvt+z9ixIjQFNtMzJ07V//xH/+hVq1aqUOHDho9erRyc3N9xhw/flyTJ09W27Zt1bJlS40ZM0b79u0LUcXNQ12O+1VXXXXa9/3ee+/163MIWk3c22+/rWnTpmn27Nn65z//qQEDBigjI0PFxcWhLq1Z69Onj4qKiqzHxo0bQ11Ss3PkyBENGDBACxYsqHX7vHnzNH/+fL366qvKyclRixYtlJGRoePHjzdypc3LuY67JI0YMcLn+//WW281YoXNz7p16zR58mRt3rxZWVlZqqqq0vDhw3XkyBFrzNSpU7V8+XItXbpU69atU2FhoW688cYQVt301eW4S9Jdd93l832fN2+efx9k0KQNGTLETJ482XpeU1NjkpOTzdy5c0NYVfM2e/ZsM2DAgFCX8YMiySxbtsx67vF4jMvlMi+88IL1WklJiXE4HOatt94KQYXN0/ePuzHGTJw40Vx//fUhqeeHori42Egy69atM8ac+G5HR0ebpUuXWmN27dplJJns7OxQldnsfP+4G2PMlVdeaR5++OEG7ZcZrSassrJSW7duVXp6uvVaRESE0tPTlZ2dHcLKmr89e/YoOTlZ3bp104QJE1RQUBDqkn5Q8vPz5Xa7fb778fHxSk1N5bvfCNauXasOHTqoZ8+euu+++3TgwIFQl9SslJaWSpLatGkjSdq6dauqqqp8vu+9evVS586d+b4H0PePu9ef/vQntWvXTn379tWMGTN09OhRv/bLTaWbsP3796umpkaJiYk+rycmJmr37t0hqqr5S01N1aJFi9SzZ08VFRXp6aef1tChQ7Vjxw61atUq1OX9ILjdbkmq9bvv3YbgGDFihG688UZ17dpVeXl5+vnPf66RI0cqOztbkZGRoS6vyfN4PJoyZYouu+wy9e3bV9KJ77vdbldCQoLPWL7vgVPbcZekW265RSkpKUpOTtZnn32m6dOnKzc3V++8806d903QAvw0cuRI68/9+/dXamqqUlJStGTJEk2aNCmElQHBd/PNN1t/7tevn/r376/zzz9fa9eu1bBhw0JYWfMwefJk7dixg3WfjexMx/3uu++2/tyvXz8lJSVp2LBhysvL0/nnn1+nfXPqsAlr166dIiMjT7vyZN++fXK5XCGq6ocnISFBPXr00N69e0Ndyg+G9/vNdz/0unXrpnbt2vH9D4AHHnhAK1as0AcffKDzzjvPet3lcqmyslIlJSU+4/m+B8aZjnttUlNTJcmv7ztBqwmz2+0aNGiQVq9ebb3m8Xi0evVqpaWlhbCyH5bDhw8rLy9PSUlJoS7lB6Nr165yuVw+3/2ysjLl5OTw3W9k//73v3XgwAG+/w1gjNEDDzygZcuWac2aNeratavP9kGDBik6Otrn+56bm6uCggK+7w1wruNem23btkmSX993Th02cdOmTdPEiRM1ePBgDRkyRL/97W915MgR3X777aEurdl69NFHdd111yklJUWFhYWaPXu2IiMjNX78+FCX1qwcPnzY51+N+fn52rZtm9q0aaPOnTtrypQp+uUvf6kLLrhAXbt21cyZM5WcnKzRo0eHruhm4GzHvU2bNnr66ac1ZswYuVwu5eXl6fHHH1f37t2VkZERwqqbtsmTJ+vPf/6z/vrXv6pVq1bWuqv4+HjFxsYqPj5ekyZN0rRp09SmTRs5nU49+OCDSktL0yWXXBLi6puucx33vLw8/fnPf9aPfvQjtW3bVp999pmmTp2qK664Qv3796/7BzXomkWEhf/+7/82nTt3Nna73QwZMsRs3rw51CU1a+PGjTNJSUnGbrebjh07mnHjxpm9e/eGuqxm54MPPjCSTntMnDjRGHOixcPMmTNNYmKicTgcZtiwYSY3Nze0RTcDZzvuR48eNcOHDzft27c30dHRJiUlxdx1113G7XaHuuwmrbbjLcm88cYb1phjx46Z+++/37Ru3drExcWZG264wRQVFYWu6GbgXMe9oKDAXHHFFaZNmzbG4XCY7t27m8cee8yUlpb69Tm2kx8GAACAAGONFgAAQJAQtAAAAIKEoAUAABAkBC0AAIAgIWgBAAAECUELAAAgSAhaAAAAQULQAgAACBKCFoAfpLVr18pms512o97Gsnr1al144YWqqak559jMzExddNFF8ng8jVAZgEAiaAFo9q666ipNmTLF57VLL71URUVFio+PD0lNjz/+uJ566ilFRkaec+yIESMUHR2tP/3pT41QGYBAImgB+EGy2+1yuVyy2WyN/tkbN25UXl6exowZU+f3/OxnP9P8+fODWBWAYCBoAWjWfvazn2ndunV66aWXZLPZZLPZ9NVXX5126nDRokVKSEjQihUr1LNnT8XFxeknP/mJjh49qt///vfq0qWLWrdurYceesjndF9FRYUeffRRdezYUS1atFBqaqrWrl171poWL16sa665RjExMdZrn376qa6++mq1atVKTqdTgwYN0scff2xtv+666/Txxx8rLy8voMcHQHBFhboAAAiml156SV988YX69u2rZ555RpLUvn17ffXVV6eNPXr0qObPn6/FixervLxcN954o2644QYlJCRo1apV+vLLLzVmzBhddtllGjdunCTpgQce0Oeff67FixcrOTlZy5Yt04gRI7R9+3ZdcMEFtda0YcMG3XLLLT6vTZgwQQMHDtTChQsVGRmpbdu2KTo62treuXNnJSYmasOGDTr//PMDdHQABBtBC0CzFh8fL7vdrri4OLlcrrOOraqq0sKFC60g85Of/ER/+MMftG/fPrVs2VK9e/fW1VdfrQ8++EDjxo1TQUGB3njjDRUUFCg5OVmS9OijjyozM1NvvPGGnnvuuVo/51//+pc13qugoECPPfaYevXqJUm1hrTk5GT961//8vsYAAgdghYAnBQXF+czW5SYmKguXbqoZcuWPq8VFxdLkrZv366amhr16NHDZz8VFRVq27btGT/n2LFjPqcNJWnatGm688479Yc//EHp6em66aabTpu5io2N1dGjR+v99wPQ+AhaAHDSqafqJMlms9X6mrfNwuHDhxUZGamtW7eedvXgqeHs+9q1a6dDhw75vDZnzhzdcsstWrlypd577z3Nnj1bixcv1g033GCNOXjwoNq3b1+vvxuA0CBoAWj27HZ7nfpV+WvgwIGqqalRcXGxhg4d6tf7Pv/889Ne79Gjh3r06KGpU6dq/PjxeuONN6ygdfz4ceXl5WngwIEBqx9A8HHVIYBmr0uXLsrJydFXX32l/fv3B6zxZ48ePTRhwgTddttteuedd5Sfn6+PPvpIc+fO1cqVK8/4voyMDG3cuNF6fuzYMT3wwANau3at/vWvf2nTpk3asmWLLrzwQmvM5s2b5XA4lJaWFpDaATQOghaAZu/RRx9VZGSkevfurfbt26ugoCBg+37jjTd022236ZFHHlHPnj01evRobdmyRZ07dz7jeyZMmKCdO3cqNzdXkhQZGakDBw7otttuU48ePTR27FiNHDlSTz/9tPWet956SxMmTFBcXFzAagcQfDZjjAl1EQDwQ/PYY4+prKxMr7322jnH7t+/Xz179tTHH3+srl27NkJ1AAKFGS0ACIEnn3xSKSkpdTqN+dVXX+mVV14hZAFNEDNaAAAAQcKMFgAAQJAQtAAAAIKEoAUAABAkBC0AAIAgIWgBAAAECUELAAAgSAhaAAAAQULQAgAACBKCFgAAQJD8f436vl2YmRMFAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\dae\\petsc_pid_doc_22_0.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "a = plt.plot(\n", " tj.time, tj.get_vec(m.fs.valve_1.control_volume.properties_in[24].pressure)\n", @@ -4680,22 +364,7 @@ "cell_type": "code", "execution_count": 16, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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BQs0efJkTZo0ST169NDixYsVHh5+zrV8vv32Ww0ZMkS33nqrUlNTdfXVV+uWW245b6tQIGhBCw8AAIbxOPA4nU7NnTtXMTExSklJUUpKimJjY/X73//+jEUIf0pVVZXWr1+v4cOHny7GatXw4cO1atWqs14zePBgrV+/3h1w9u7dq48++kijR48+5/tUVlaquLi43sMILU5tIHqcwAMAgN953KX16KOP6sUXX9Sf/vQnDRkyRJK0cuVKPf7446qoqNAf//jHBr3O0aNH5XA4FB8fX+94fHy8tm/fftZrbr31Vh09elSXXnqpXC6XampqNGXKFP3ud7875/vMnz9fc+bMaeBv5zstTnVpFZbSpQUAgL953MLz8ssv6+9//7vuvvtupaWlKS0tTffcc49eeOEFLV261AclnrZ8+XLNmzdPzz77rDZs2KC3335bH374oX7/+9+f85oZM2aoqKjI/Th48KBPazyXui6tksoaVTsa3hIGAAAunMctPMePH1e3bt3OON6tWzcdP368wa8TFxcnm82mvLy8esfz8vKUkJBw1mtmzpypX/3qV7rzzjslSb169VJpaanuuusuPfroo7Jaz8xvdrtddru9wXX5SnRYsKwWyemq3UC0TVSo0SUBANBseNzCk56ermeeeeaM488884zS09Mb/DohISHq16+fsrKy3MecTqeysrI0aNCgs15TVlZ2Rqix2WySJJfL1eD3NoLNalFM2KluLWZqAQDgVx638Dz55JP6+c9/rs8//9wdTFatWqWDBw/qo48+8ui1MjMzdfvtt6t///4aMGCAFi5cqNLSUk2aNEmSNGHCBLVt21bz58+XJI0ZM0YLFixQnz59lJGRod27d2vmzJkaM2aMO/gEshYRITpRVq1jJ6uk+POfDwAAvMPjwHPFFVdo586dWrRokXtw8dixY3XPPfcoKSnJo9caN26cCgoKNGvWLOXm5qp3795atmyZeyBzdnZ2vRadxx57TBaLRY899pgOHz6s1q1ba8yYMQ0eKG20uAi79haU6lhppdGlAADQrFhcgd4X5GXFxcWKiYlRUVGRoqOj/fre97y6Xh/9kKs511ys2wen+vW9AQBoyi70+7tBLTybN29Wz549ZbVatXnz5p88Ny0tzeMimou4yNrB00dP0sIDAIA/NSjw9O7dW7m5uWrTpo169+4ti8Vy1kHC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VPuZDwkJUWxsbL1z+cx7z9nuuyTdeuutSklJUVJSkjZv3qzf/va32rFjh95+++0GvzaBB03SqFGj3D+npaUpIyNDKSkp+uc//6k77rjDwMoA37v55pvdP/fq1UtpaWnq1KmTli9frmHDhhlYmXlMnTpVW7ZsYWygn53rvt91113un3v16qXExEQNGzZMe/bsUadOnRr02nRpXaC4uDjZbLYzRunn5eUpISHBoKqan9jYWHXp0kW7d+82upRmo+7zzWffeB07dlRcXByffy+599579cEHH+jLL79Uu3bt3McTEhJUVVWlwsLCeufzmfeOc933s8nIyJAkjz7zBJ4LFBISon79+ikrK8t9zOl0KisrS4MGDTKwsubl5MmT2rNnjxITE40updno0KGDEhIS6n32i4uLtWbNGj77fnbo0CEdO3aMz/8Fcrlcuvfee/XOO+/oiy++UIcOHeo9369fPwUHB9f7zO/YsUPZ2dl85i/A+e772WzatEmSPPrM06XlBZmZmbr99tvVv39/DRgwQAsXLlRpaakmTZpkdGmm9eCDD2rMmDFKSUnRkSNHNHv2bNlsNt1yyy1Gl2YqJ0+erPcvqH379mnTpk1q2bKl2rdvr/vvv19/+MMf1LlzZ3Xo0EEzZ85UUlKSrrvuOuOKNoGfuu8tW7bUnDlzdMMNNyghIUF79uzRww8/rIsuukgjRowwsOqmb+rUqXrttdf03nvvKSoqyj0uJyYmRmFhYYqJidEdd9yhzMxMtWzZUtHR0frNb36jQYMGaeDAgQZX33Sd777v2bNHr732mkaPHq1WrVpp8+bNmj59ui6//HKlpaU1/I0uaI4X3P7617+62rdv7woJCXENGDDAtXr1aqNLMrVx48a5EhMTXSEhIa62bdu6xo0b59q9e7fRZZnOl19+6ZJ0xuP22293uVy1U9Nnzpzpio+Pd9ntdtewYcNcO3bsMLZoE/ip+15WVua6+uqrXa1bt3YFBwe7UlJSXJMnT3bl5uYaXXaTd7Z7Lsm1ZMkS9znl5eWue+65x9WiRQtXeHi46/rrr3fl5OQYV7QJnO++Z2dnuy6//HJXy5YtXXa73XXRRRe5HnroIVdRUZFH72M59WYAAACmxRgeAABgegQeAABgegQeAABgegQeAABgegQeAABgegQeAABgegQeAABgegQeAABgegQeAIZZvny5LBbLGZsx+ktWVpa6d+8uh8Nx3nOXLVum3r17y+l0+qEyAN5G4AHgF1deeaXuv//+escGDx6snJwcxcTEGFLTww8/rMcee0w2m+28544cOVLBwcF69dVX/VAZAG8j8AAwTEhIiBISEmSxWPz+3itXrtSePXt0ww03NPiaiRMn6umnn/ZhVQB8hcADwOcmTpyoFStW6C9/+YssFossFov2799/RpfW0qVLFRsbqw8++EBdu3ZVeHi4fvnLX6qsrEwvv/yyUlNT1aJFC9133331uqEqKyv14IMPqm3btoqIiFBGRoaWL1/+kzW98cYbuuqqqxQaGuo+9v3332vo0KGKiopSdHS0+vXrp3Xr1rmfHzNmjNatW6c9e/Z49f4A8L0gowsAYH5/+ctftHPnTvXs2VNz586VJLVu3Vr79+8/49yysjI9/fTTeuONN1RSUqKxY8fq+uuvV2xsrD766CPt3btXN9xwg4YMGaJx48ZJku69915t3bpVb7zxhpKSkvTOO+9o5MiR+uGHH9S5c+ez1vT111/r1ltvrXds/Pjx6tOnj5577jnZbDZt2rRJwcHB7ufbt2+v+Ph4ff311+rUqZOX7g4AfyDwAPC5mJgYhYSEKDw8XAkJCT95bnV1tZ577jl3oPjlL3+pV155RXl5eYqMjFSPHj00dOhQffnllxo3bpyys7O1ZMkSZWdnKykpSZL04IMPatmyZVqyZInmzZt31vc5cOCA+/w62dnZeuihh9StWzdJOmtYSkpK0oEDBzy+BwCMReABEFDCw8PrtZ7Ex8crNTVVkZGR9Y7l5+dLkn744Qc5HA516dKl3utUVlaqVatW53yf8vLyet1ZkpSZmak777xTr7zyioYPH64bb7zxjJacsLAwlZWVNfr3A2AMAg+AgPKfXUiSZLFYznqsbnr4yZMnZbPZtH79+jNmW/1nSPq/4uLidOLEiXrHHn/8cd1666368MMP9fHHH2v27Nl64403dP3117vPOX78uFq3bt2o3w2AcQg8APwiJCSkQevdeKpPnz5yOBzKz8/XZZdd5tF1W7duPeN4ly5d1KVLF02fPl233HKLlixZ4g48FRUV2rNnj/r06eO1+gH4B7O0APhFamqq1qxZo/379+vo0aNeW8CvS5cuGj9+vCZMmKC3335b+/bt09q1azV//nx9+OGH57xuxIgRWrlypfvv5eXluvfee7V8+XIdOHBA33zzjb777jt1797dfc7q1atlt9s1aNAgr9QOwH8IPAD84sEHH5TNZlOPHj3UunVrZWdne+21lyxZogkTJuiBBx5Q165ddd111+m7775T+/btz3nN+PHj9eOPP2rHjh2SJJvNpmPHjmnChAnq0qWLbrrpJo0aNUpz5sxxX/P6669r/PjxCg8P91rtAPzD4nK5XEYXAQBGeOihh1RcXKy//e1v5z336NGj6tq1q9atW6cOHTr4oToA3kQLD4Bm69FHH1VKSkqDutf279+vZ599lrADNFG08AAAANOjhQcAAJgegQcAAJgegQcAAJgegQcAAJgegQcAAJgegQcAAJgegQcAAJgegQcAAJgegQcAAJje/wfWATbFLP4y6gAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\dae\\petsc_pid_doc_23_0.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "a = plt.plot(tj.time, tj.get_vec(m.fs.valve_1.valve_opening[24]))\n", "a = plt.ylabel(\"valve 1 fraction open\")\n", @@ -4706,22 +375,7 @@ "cell_type": "code", "execution_count": 17, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAloAAAGwCAYAAABxbMuTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABY7ElEQVR4nO3de1xUdf4/8NfMwAzXGS5yEblIohheE1ec3Owiicq2mtZaWZGX0tbalE2NtrTa3fCr21ctzWr9fbXdMlO/ufvNaywqpeINRckLpaJYMKACM8idmc/vD+ToBCaTM3NgeD0fj3nonPOZc96cHZdXn8/nfI5CCCFARERERHanlLsAIiIiIlfFoEVERETkIAxaRERERA7CoEVERETkIAxaRERERA7CoEVERETkIAxaRERERA7iJncBnYnFYkFRURF8fX2hUCjkLoeIiIjaQAiByspKhIWFQam0rY+KQcuJioqKEBERIXcZRERE9AtcvHgR4eHhNn2GQcuJfH19ATT9D6XVamWuhoiIiNrCZDIhIiJC+j1uCwYtJ2oeLtRqtQxaREREHcwvmfbDyfBEREREDsKgRUREROQgDFpEREREDsKgRUREROQgDFpEREREDsKgRUREROQgDFpEREREDsKgRUREROQgDFpEREREDsKgRUREROQgDFpEREREDsKgRUREROQgDFouQAiBvB+MqKiul7sUIiIiugGDlguY8UkOHlq+B5uPF8tdChEREd1A1qC1cuVK9O/fH1qtFlqtFnq9Htu2bbNqk52djQceeADe3t7QarUYPnw4ampqpP1lZWWYNGkStFot/Pz8MHXqVFy9etXqGMePH8c999wDDw8PREREYNGiRS1q2bBhA3r37g0PDw/069cPW7dutdovhMD8+fPRtWtXeHp6IjExEd9//70dr8YvNyjSHwCwhUGLiIioXZE1aIWHh2PhwoXIycnB4cOH8cADD2Ds2LE4ceIEgKaQNWrUKIwcORIHDx7EoUOH8MILL0CpvF72pEmTcOLECWRkZGDz5s34+uuv8dxzz0n7TSYTRo4ciaioKOTk5GDx4sV444038NFHH0lt9u3bh8cffxxTp07F0aNHMW7cOIwbNw7ffvut1GbRokV499138cEHH+DAgQPw9vZGUlISamtrnXClft7ovl0BAAfPl6G2wSxzNURERCQR7Yy/v79Y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wahRo1BWVga1Wo01a9Zg4sSJjqq1wzOZTNDpdDAajdBqtU4775nSSiT+99fw83JH7vyRTjsvERGRK7id398292g9+eST0t/j4+Nx4cIFnD59GpGRkejSpYuthyMn8NFcX95BCNHqKvtERERkf22eDF9VVYXnn38e3bp1Q1BQEB577DFcunQJXl5eGDRoEENWO9Y8R6vRIlDbYJG5GiIios6jzUHr9ddfxz//+U/85je/wRNPPIGdO3fiueeec2RtZCdeahWaO7Eq6zghnoiIyFnaPHS4adMmrF69Go8++igA4Omnn8bQoUPR2NgIN7dfvMA8OYFCoYCPxg2VtY24WtuIYF+5KyIiIuoc2tyj9cMPP2DYsGHS++a1pYqKihxSGNmXtvkxPLzzkIiIyGnaHLQsFgvc3d2ttrm5udn8yB2Sh/RgaS5aSkRE5DRtHvMTQmDEiBFWw4TV1dV46KGHoFarpW22LlpKzsHnHRIRETlfm4PWggULWmwbO3asXYshx+GipURERM53W0GLOg5fqUeLdx0SERE5i80PlaaOyZcPliYiInK6NgWtUaNGYf/+/bdsV1lZif/6r//CihUrbrswsi8OHRIRETlfm4YOH330UUyYMAE6nQ4PPfQQBg8ejLCwMHh4eKC8vBwnT57Enj17sHXrViQnJ2Px4sWOrpts1PwYnkoGLSIiIqdpU9CaOnUqnnzySWzYsAGff/45PvroIxiNRgBNi2HGxcUhKSkJhw4dwp133unQgumX8eVdh0RERE7X5snwGo0GTz75pPRQaaPRiJqaGgQGBrZYX4vaHx9pjhYnwxMRETnLL352jk6ng06ns2ct5EC+nKNFRETkdLzrsJPggqVERETOx6DVSfhee9YhgxYREZHzMGh1ElzegYiIyPkYtDoJacHSukYIIWSuhoiIqHP4RUGroqICq1atQlpaGsrKygA0PUz6xx9/tGtxZD/NQctsEahpMMtcDRERUedg812Hx48fR2JiInQ6Hc6fP49nn30WAQEB+OKLL1BYWIh//OMfjqiTbpOnuwpKBWARTY/h8VL/4htOiYiIqI1s7tFKTU3FM888g++//x4eHh7S9jFjxuDrr7+2a3FkPwqFQpqnxdXhiYiInMPmoHXo0CFMnz69xfZu3brBYDDYpShyjOY7D/lgaSIiIuewOWhpNBqYTKYW27/77jsE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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\dae\\petsc_pid_doc_24_0.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "a = plt.plot(tj.time, tj.get_vec(m.fs.tank.control_volume.properties_out[24].pressure))\n", "a = plt.ylabel(\"tank pressure (Pa)\")\n", @@ -4757,7 +411,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.10.9" } }, "nbformat": 4, diff --git a/idaes_examples/notebooks/docs/dae/petsc_pid_usr.ipynb b/idaes_examples/notebooks/docs/dae/petsc_pid_usr.ipynb index 0a43bf12..a0f52288 100644 --- a/idaes_examples/notebooks/docs/dae/petsc_pid_usr.ipynb +++ b/idaes_examples/notebooks/docs/dae/petsc_pid_usr.ipynb @@ -1,418 +1,419 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "pycharm": { - "is_executing": true + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "pycharm": { + "is_executing": true + }, + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] }, - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# PETSc Time-stepping Solver -- PID Control and Steam Example\n", - "Author: John Eslick \n", - "Maintainer: John Eslick \n", - "Updated: 2023-06-01\n", - "\n", - "This example provides an overview of the PETSc time-stepping solver utilities in IDAES, which can be used to solve systems of differential algebraic equations (DAEs). PETSc is a solver suite developed primarily by Argonne National Lab (https://petsc.org/release/). IDAES provides a wrapper for PETSc (https://github.com/IDAES/idaes-ext/tree/main/petsc) that uses the AMPL solver interface (https://ampl.com/resources/learn-more/hooking-your-solver-to-ampl/) and utility functions that allow Pyomo and Pyomo.DAE (https://pyomo.readthedocs.io/en/stable/modeling_extensions/dae.html) problems to be solved using PETSc.\n", - "\n", - "This demonstration uses the IDAES PID controller model and a flowsheet arranged like so:\n", - "\n", - "```\n", - " \n", - "->--|><|------[]------|><|-->-\n", - " valve_1 tank valve_2 \n", - "```\n", - "\n", - "where the tank pressure is controlled by the opening of valve_1." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Prerequisites\n", - "\n", - "The PETSc solver is an extra download for IDAES, which can be downloaded using the command ```idaes get-extensions --extra petsc```, if it is not installed already. See the IDAES solver documentation for more information (https://idaes-pse.readthedocs.io/en/stable/reference_guides/core/solvers.html).\n", - "\n", - "You may want to review the [\"PETSc Time-stepping Solver -- Chemical Akzo Nobel Example\"](petsc_chem_example_usr.ipynb) notebook first." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Imports" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", - "\n", - "import pyomo.environ as pyo\n", - "import pyomo.dae as pyodae\n", - "import idaes.core.solvers.petsc as petsc # petsc utilities module\n", - "import idaes_examples.mod.dae.petsc.pid_steam_tank as pid\n", - "from idaes.core.util.math import smooth_max, smooth_min" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Model Set Up" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "# to see the model code uncomment the line below\n", - "# ??pid" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "m = pid.create_model(\n", - " time_set=[0, 12],\n", - " nfe=1,\n", - " calc_integ=True,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Solve" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "result = petsc.petsc_dae_by_time_element(\n", - " m,\n", - " time=m.fs.time,\n", - " ts_options={\n", - " \"--ts_type\": \"beuler\",\n", - " \"--ts_dt\": 0.1,\n", - " \"--ts_monitor\": \"\", # set initial step to 0.1\n", - " \"--ts_save_trajectory\": 1,\n", - " },\n", - ")\n", - "tj = result.trajectory # trajectroy data\n", - "res = result.results # solver status list" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Plot Trajectory\n", - "\n", - "At the initial conditions the valve is fully open. At t=0, the controller is activated and the controller adjusts the opening of valve 1 to keep the tank pressure at the setpoint of 300 kPa." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "a = plt.plot(tj.time, tj.get_vec(m.fs.valve_1.valve_opening[12]))\n", - "a = plt.ylabel(\"valve 1 fraction open\")\n", - "a = plt.xlabel(\"time (s)\")" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "a = plt.plot(tj.time, tj.get_vec(m.fs.tank.control_volume.properties_out[12].pressure))\n", - "a = plt.ylabel(\"tank pressure (Pa)\")\n", - "a = plt.xlabel(\"time (s)\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Model a ramp in inlet pressure\n", - "\n", - "Next we show how to add an explicit time variable and ramp the inlet pressure from 500 kPa to 600 kPa between 10 and 12 seconds." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "# Create a new copy of the model that runs to 24 seconds, and add a constraint.\n", - "\n", - "m = pid.create_model(\n", - " time_set=[0, 24],\n", - " nfe=1,\n", - " calc_integ=True,\n", - ")\n", - "# time_var will be an explicit time variable we can use in constraints.\n", - "m.fs.time_var = pyo.Var(m.fs.time)\n", - "\n", - "# We'll add a constraint to calculate the inlet pressure based on time,\n", - "# so we need to unfix pressure.\n", - "m.fs.valve_1.control_volume.properties_in[0].pressure.unfix()\n", - "m.fs.valve_1.control_volume.properties_in[24].pressure.unfix()\n", - "\n", - "# The solver will directly set the time variable for the DAE solve, but\n", - "# solving the initial conditions is just a system of nonlinear equations,\n", - "# so we need to fix the initial time.\n", - "m.fs.time_var[0].fix(m.fs.time.first())\n", - "\n", - "\n", - "# We could break up the time domain and solve this in pieces, but creative use\n", - "# of min and max will let us create the ramping function we want.\n", - "# From 10s to 12s ramp inlet pressure from 500,000 Pa to 600,000 Pa\n", - "@m.fs.Constraint(m.fs.time)\n", - "def inlet_pressure_eqn(b, t):\n", - " return b.valve_1.control_volume.properties_in[t].pressure == smooth_min(\n", - " 600000, smooth_max(500000, 50000 * (b.time_var[t] - 10) + 500000)\n", - " )" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "# Solve the new problem. Notice the new argument specifying the explicit time variable.\n", - "result = petsc.petsc_dae_by_time_element(\n", - " m,\n", - " time=m.fs.time,\n", - " timevar=m.fs.time_var,\n", - " ts_options={\n", - " \"--ts_type\": \"beuler\",\n", - " \"--ts_dt\": 0.1,\n", - " \"--ts_monitor\": \"\", # set initial step to 0.1\n", - " \"--ts_save_trajectory\": 1,\n", - " },\n", - ")\n", - "tj = result.trajectory # trajectroy data\n", - "res = result.results # solver status list" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "a = plt.plot(\n", - " tj.time, tj.get_vec(m.fs.valve_1.control_volume.properties_in[24].pressure)\n", - ")\n", - "a = plt.ylabel(\"inlet pressure (Pa)\")\n", - "a = plt.xlabel(\"time (s)\")" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "a = plt.plot(tj.time, tj.get_vec(m.fs.valve_1.valve_opening[24]))\n", - "a = plt.ylabel(\"valve 1 fraction open\")\n", - "a = plt.xlabel(\"time (s)\")" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "a = plt.plot(tj.time, tj.get_vec(m.fs.tank.control_volume.properties_out[24].pressure))\n", - "a = plt.ylabel(\"tank pressure (Pa)\")\n", - "a = plt.xlabel(\"time (s)\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Model a ramp in inlet pressure (again)\n", - "\n", - "Here we repeat the ramp from the previous simulation in a different way. In this case we do the integration in three parts. 1) Constant pressure at 500 kPa to 10 s 2) ramp from 500 to 600 kPa from 10 to 12 s. 3) Constant pressure at 600 kPa from 12 to 24 s." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "# Create a new copy of the model that runs to 24 seconds, and add a constraint.\n", - "\n", - "m = pid.create_model(\n", - " time_set=[0, 10, 12, 24],\n", - " nfe=3,\n", - " calc_integ=True,\n", - ")\n", - "# time_var will be an explicit time variable we can use in constraints.\n", - "m.fs.time_var = pyo.Var(m.fs.time)\n", - "\n", - "# We'll add a constraint to calculate the inlet pressure from 10 to 12s. The rest of the\n", - "# time pressure will be fixed. For the time section from 10 to 12s, the constraints are\n", - "# defined by time 12; this means the pressure at time 12 should be unfixed and the\n", - "# pressure constraint should be active. At all other times, pressure should be fixed and\n", - "# the pressure constraint should be deactivated.\n", - "m.fs.valve_1.control_volume.properties_in[0].pressure.fix(500000)\n", - "m.fs.valve_1.control_volume.properties_in[10].pressure.fix(500000)\n", - "m.fs.valve_1.control_volume.properties_in[12].pressure.set_value(600000)\n", - "m.fs.valve_1.control_volume.properties_in[12].pressure.unfix()\n", - "m.fs.valve_1.control_volume.properties_in[24].pressure.fix(600000)\n", - "\n", - "\n", - "@m.fs.Constraint(m.fs.time)\n", - "def inlet_pressure_eqn(b, t):\n", - " return (\n", - " b.valve_1.control_volume.properties_in[t].pressure\n", - " == 50000 * (b.time_var[t] - 10) + 500000\n", - " )\n", - "\n", - "\n", - "m.fs.inlet_pressure_eqn.deactivate()\n", - "m.fs.inlet_pressure_eqn[12].activate()" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "# Solve the new problem. Notice the argument specifying the explicit time variable.\n", - "result = petsc.petsc_dae_by_time_element(\n", - " m,\n", - " time=m.fs.time,\n", - " timevar=m.fs.time_var,\n", - " ts_options={\n", - " \"--ts_type\": \"beuler\",\n", - " \"--ts_dt\": 0.1,\n", - " \"--ts_monitor\": \"\", # set initial step to 0.1\n", - " \"--ts_save_trajectory\": 1,\n", - " },\n", - ")\n", - "tj = result.trajectory # trajectroy data\n", - "res = result.results # solver status list" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "a = plt.plot(\n", - " tj.time, tj.get_vec(m.fs.valve_1.control_volume.properties_in[24].pressure)\n", - ")\n", - "a = plt.ylabel(\"inlet pressure (Pa)\")\n", - "a = plt.xlabel(\"time (s)\")" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "a = plt.plot(tj.time, tj.get_vec(m.fs.valve_1.valve_opening[24]))\n", - "a = plt.ylabel(\"valve 1 fraction open\")\n", - "a = plt.xlabel(\"time (s)\")" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "a = plt.plot(tj.time, tj.get_vec(m.fs.tank.control_volume.properties_out[24].pressure))\n", - "a = plt.ylabel(\"tank pressure (Pa)\")\n", - "a = plt.xlabel(\"time (s)\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "idaes": { - "skip": [ - "test" - ] - }, - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# PETSc Time-stepping Solver -- PID Control and Steam Example\n", + "Author: John Eslick \n", + "Maintainer: John Eslick \n", + "Updated: 2023-06-01\n", + "\n", + "This example provides an overview of the PETSc time-stepping solver utilities in IDAES, which can be used to solve systems of differential algebraic equations (DAEs). PETSc is a solver suite developed primarily by Argonne National Lab (https://petsc.org/release/). IDAES provides a wrapper for PETSc (https://github.com/IDAES/idaes-ext/tree/main/petsc) that uses the AMPL solver interface (https://ampl.com/resources/learn-more/hooking-your-solver-to-ampl/) and utility functions that allow Pyomo and Pyomo.DAE (https://pyomo.readthedocs.io/en/stable/modeling_extensions/dae.html) problems to be solved using PETSc.\n", + "\n", + "This demonstration uses the IDAES PID controller model and a flowsheet arranged like so:\n", + "\n", + "```\n", + " \n", + "->--|><|------[]------|><|-->-\n", + " valve_1 tank valve_2 \n", + "```\n", + "\n", + "where the tank pressure is controlled by the opening of valve_1." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Prerequisites\n", + "\n", + "The PETSc solver is an extra download for IDAES, which can be downloaded using the command ```idaes get-extensions --extra petsc```, if it is not installed already. See the IDAES solver documentation for more information (https://idaes-pse.readthedocs.io/en/stable/reference_guides/core/solvers.html).\n", + "\n", + "You may want to review the [\"PETSc Time-stepping Solver -- Chemical Akzo Nobel Example\"](petsc_chem_example_usr.ipynb) notebook first." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Imports" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "import pyomo.environ as pyo\n", + "import pyomo.dae as pyodae\n", + "import idaes.core.solvers.petsc as petsc # petsc utilities module\n", + "import idaes_examples.mod.dae.petsc.pid_steam_tank as pid\n", + "from idaes.core.util.math import smooth_max, smooth_min" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Model Set Up" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# to see the model code uncomment the line below\n", + "# ??pid" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "m = pid.create_model(\n", + " time_set=[0, 12],\n", + " nfe=1,\n", + " calc_integ=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Solve" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "result = petsc.petsc_dae_by_time_element(\n", + " m,\n", + " time=m.fs.time,\n", + " ts_options={\n", + " \"--ts_type\": \"beuler\",\n", + " \"--ts_dt\": 0.1,\n", + " \"--ts_monitor\": \"\", # set initial step to 0.1\n", + " \"--ts_save_trajectory\": 1,\n", + " },\n", + ")\n", + "tj = result.trajectory # trajectroy data\n", + "res = result.results # solver status list" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plot Trajectory\n", + "\n", + "At the initial conditions the valve is fully open. At t=0, the controller is activated and the controller adjusts the opening of valve 1 to keep the tank pressure at the setpoint of 300 kPa." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "a = plt.plot(tj.time, tj.get_vec(m.fs.valve_1.valve_opening[12]))\n", + "a = plt.ylabel(\"valve 1 fraction open\")\n", + "a = plt.xlabel(\"time (s)\")" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "a = plt.plot(tj.time, tj.get_vec(m.fs.tank.control_volume.properties_out[12].pressure))\n", + "a = plt.ylabel(\"tank pressure (Pa)\")\n", + "a = plt.xlabel(\"time (s)\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Model a ramp in inlet pressure\n", + "\n", + "Next we show how to add an explicit time variable and ramp the inlet pressure from 500 kPa to 600 kPa between 10 and 12 seconds." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# Create a new copy of the model that runs to 24 seconds, and add a constraint.\n", + "\n", + "m = pid.create_model(\n", + " time_set=[0, 24],\n", + " nfe=1,\n", + " calc_integ=True,\n", + ")\n", + "# time_var will be an explicit time variable we can use in constraints.\n", + "m.fs.time_var = pyo.Var(m.fs.time)\n", + "\n", + "# We'll add a constraint to calculate the inlet pressure based on time,\n", + "# so we need to unfix pressure.\n", + "m.fs.valve_1.control_volume.properties_in[0].pressure.unfix()\n", + "m.fs.valve_1.control_volume.properties_in[24].pressure.unfix()\n", + "\n", + "# The solver will directly set the time variable for the DAE solve, but\n", + "# solving the initial conditions is just a system of nonlinear equations,\n", + "# so we need to fix the initial time.\n", + "m.fs.time_var[0].fix(m.fs.time.first())\n", + "\n", + "\n", + "# We could break up the time domain and solve this in pieces, but creative use\n", + "# of min and max will let us create the ramping function we want.\n", + "# From 10s to 12s ramp inlet pressure from 500,000 Pa to 600,000 Pa\n", + "@m.fs.Constraint(m.fs.time)\n", + "def inlet_pressure_eqn(b, t):\n", + " return b.valve_1.control_volume.properties_in[t].pressure == smooth_min(\n", + " 600000, smooth_max(500000, 50000 * (b.time_var[t] - 10) + 500000)\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "# Solve the new problem. Notice the new argument specifying the explicit time variable.\n", + "result = petsc.petsc_dae_by_time_element(\n", + " m,\n", + " time=m.fs.time,\n", + " timevar=m.fs.time_var,\n", + " ts_options={\n", + " \"--ts_type\": \"beuler\",\n", + " \"--ts_dt\": 0.1,\n", + " \"--ts_monitor\": \"\", # set initial step to 0.1\n", + " \"--ts_save_trajectory\": 1,\n", + " },\n", + ")\n", + "tj = result.trajectory # trajectroy data\n", + "res = result.results # solver status list" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "a = plt.plot(\n", + " tj.time, tj.get_vec(m.fs.valve_1.control_volume.properties_in[24].pressure)\n", + ")\n", + "a = plt.ylabel(\"inlet pressure (Pa)\")\n", + "a = plt.xlabel(\"time (s)\")" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "a = plt.plot(tj.time, tj.get_vec(m.fs.valve_1.valve_opening[24]))\n", + "a = plt.ylabel(\"valve 1 fraction open\")\n", + "a = plt.xlabel(\"time (s)\")" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "a = plt.plot(tj.time, tj.get_vec(m.fs.tank.control_volume.properties_out[24].pressure))\n", + "a = plt.ylabel(\"tank pressure (Pa)\")\n", + "a = plt.xlabel(\"time (s)\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Model a ramp in inlet pressure (again)\n", + "\n", + "Here we repeat the ramp from the previous simulation in a different way. In this case we do the integration in three parts. 1) Constant pressure at 500 kPa to 10 s 2) ramp from 500 to 600 kPa from 10 to 12 s. 3) Constant pressure at 600 kPa from 12 to 24 s." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "# Create a new copy of the model that runs to 24 seconds, and add a constraint.\n", + "\n", + "m = pid.create_model(\n", + " time_set=[0, 10, 12, 24],\n", + " nfe=3,\n", + " calc_integ=True,\n", + ")\n", + "# time_var will be an explicit time variable we can use in constraints.\n", + "m.fs.time_var = pyo.Var(m.fs.time)\n", + "\n", + "# We'll add a constraint to calculate the inlet pressure from 10 to 12s. The rest of the\n", + "# time pressure will be fixed. For the time section from 10 to 12s, the constraints are\n", + "# defined by time 12; this means the pressure at time 12 should be unfixed and the\n", + "# pressure constraint should be active. At all other times, pressure should be fixed and\n", + "# the pressure constraint should be deactivated.\n", + "m.fs.valve_1.control_volume.properties_in[0].pressure.fix(500000)\n", + "m.fs.valve_1.control_volume.properties_in[10].pressure.fix(500000)\n", + "m.fs.valve_1.control_volume.properties_in[12].pressure.set_value(600000)\n", + "m.fs.valve_1.control_volume.properties_in[12].pressure.unfix()\n", + "m.fs.valve_1.control_volume.properties_in[24].pressure.fix(600000)\n", + "\n", + "\n", + "@m.fs.Constraint(m.fs.time)\n", + "def inlet_pressure_eqn(b, t):\n", + " return (\n", + " b.valve_1.control_volume.properties_in[t].pressure\n", + " == 50000 * (b.time_var[t] - 10) + 500000\n", + " )\n", + "\n", + "\n", + "m.fs.inlet_pressure_eqn.deactivate()\n", + "m.fs.inlet_pressure_eqn[12].activate()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "# Solve the new problem. Notice the argument specifying the explicit time variable.\n", + "result = petsc.petsc_dae_by_time_element(\n", + " m,\n", + " time=m.fs.time,\n", + " timevar=m.fs.time_var,\n", + " ts_options={\n", + " \"--ts_type\": \"beuler\",\n", + " \"--ts_dt\": 0.1,\n", + " \"--ts_monitor\": \"\", # set initial step to 0.1\n", + " \"--ts_save_trajectory\": 1,\n", + " },\n", + ")\n", + "tj = result.trajectory # trajectroy data\n", + "res = result.results # solver status list" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "a = plt.plot(\n", + " tj.time, tj.get_vec(m.fs.valve_1.control_volume.properties_in[24].pressure)\n", + ")\n", + "a = plt.ylabel(\"inlet pressure (Pa)\")\n", + "a = plt.xlabel(\"time (s)\")" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "a = plt.plot(tj.time, tj.get_vec(m.fs.valve_1.valve_opening[24]))\n", + "a = plt.ylabel(\"valve 1 fraction open\")\n", + "a = plt.xlabel(\"time (s)\")" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "a = plt.plot(tj.time, tj.get_vec(m.fs.tank.control_volume.properties_out[24].pressure))\n", + "a = plt.ylabel(\"tank pressure (Pa)\")\n", + "a = plt.xlabel(\"time (s)\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "idaes": { + "skip": [ + "test" + ] + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.9" + } }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.9" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/diagnostics/degeneracy_hunter.ipynb b/idaes_examples/notebooks/docs/diagnostics/degeneracy_hunter.ipynb index e2039fd0..a1e32463 100644 --- a/idaes_examples/notebooks/docs/diagnostics/degeneracy_hunter.ipynb +++ b/idaes_examples/notebooks/docs/diagnostics/degeneracy_hunter.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -182,46 +183,7 @@ "cell_type": "code", "execution_count": 5, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 3 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 3\n", - " Fixed Variables in Activated Constraints: 0 (External: 0)\n", - " Activated Equality Constraints: 2 (Deactivated: 0)\n", - " Activated Inequality Constraints: 3 (Deactivated: 0)\n", - " Activated Objectives: 1 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 WARNINGS\n", - "\n", - " WARNING: 1 Degree of Freedom\n", - " WARNING: Structural singularity found\n", - " Under-Constrained Set: 3 variables, 2 constraints\n", - " Over-Constrained Set: 0 variables, 0 constraints\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 Cautions\n", - "\n", - " No cautions found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_underconstrained_set()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt = DiagnosticsToolbox(m)\n", "dt.report_structural_issues()" @@ -242,90 +204,7 @@ "cell_type": "code", "execution_count": 6, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: max_iter=0\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 6\n", - "Number of nonzeros in inequality constraint Jacobian.: 6\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 3\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 3\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 2\n", - "Total number of inequality constraints...............: 3\n", - " inequality constraints with only lower bounds: 2\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 1\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 3.0000000e+00 2.00e+00 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "\n", - "Number of Iterations....: 0\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 3.0000000000000000e+00 3.0000000000000000e+00\n", - "Dual infeasibility......: 1.0000000000000000e+00 1.0000000000000000e+00\n", - "Constraint violation....: 2.0000000000000000e+00 2.0000000000000000e+00\n", - "Complementarity.........: 4.0000000499999997e+00 4.0000000499999997e+00\n", - "Overall NLP error.......: 4.0000000499999997e+00 4.0000000499999997e+00\n", - "\n", - "\n", - "Number of objective function evaluations = 1\n", - "Number of objective gradient evaluations = 1\n", - "Number of equality constraint evaluations = 1\n", - "Number of inequality constraint evaluations = 1\n", - "Number of equality constraint Jacobian evaluations = 1\n", - "Number of inequality constraint Jacobian evaluations = 1\n", - "Number of Lagrangian Hessian evaluations = 0\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Maximum Number of Iterations Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 5, 'Number of variables': 3, 'Sense': 'unknown'}], 'Solver': [{'Status': 'warning', 'Message': 'Ipopt 3.13.2\\\\x3a Maximum Number of Iterations Exceeded.', 'Termination condition': 'maxIterations', 'Id': 400, 'Error rc': 0, 'Time': 0.004778385162353516}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "solver = pyo.SolverFactory(\"ipopt\")\n", "\n", @@ -350,21 +229,7 @@ "cell_type": "code", "execution_count": 7, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following constraint(s) have large residuals (>1.0E-05):\n", - "\n", - " con2: 2.00000E+00\n", - " con5: 2.00000E+00\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "# Check for large residuals\n", "dt.display_constraints_with_large_residuals()" @@ -381,19 +246,7 @@ "cell_type": "code", "execution_count": 8, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following variable(s) have values close to their bounds (abs=1.0E-04, rel=1.0E-04):\n", - "\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.display_variables_near_bounds()" ] @@ -411,102 +264,7 @@ "cell_type": "code", "execution_count": 9, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: max_iter=50\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 6\n", - "Number of nonzeros in inequality constraint Jacobian.: 6\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 3\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 3\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 2\n", - "Total number of inequality constraints...............: 3\n", - " inequality constraints with only lower bounds: 2\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 1\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 3.0000000e+00 2.00e+00 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 1.3934810e+00 3.93e-01 2.17e-01 -1.0 1.23e+00 - 7.90e-01 8.03e-01h 1\n", - " 2 1.0184419e+00 1.84e-02 1.26e-02 -1.7 7.02e-01 - 9.41e-01 9.53e-01h 1\n", - " 3 1.0011246e+00 1.12e-03 3.82e-02 -2.5 1.50e-02 - 1.00e+00 9.39e-01h 1\n", - " 4 1.0006914e+00 6.91e-04 3.12e+00 -2.5 3.17e-03 - 1.00e+00 3.85e-01h 1\n", - " 5 1.0002664e+00 2.66e-04 4.35e+00 -2.5 1.12e-03 - 1.00e+00 6.15e-01h 1\n", - " 6 1.0001115e+00 1.12e-04 1.07e+01 -2.5 4.99e-04 - 1.00e+00 5.82e-01h 1\n", - " 7 1.0000788e+00 7.88e-05 4.33e+01 -2.5 1.88e-04 - 1.00e+00 2.94e-01f 2\n", - " 8 1.0000153e+00 1.53e-05 2.19e+01 -2.5 6.85e-05 - 1.00e+00 8.08e-01h 1\n", - " 9 1.0000118e+00 1.18e-05 2.78e+02 -2.5 3.47e-05 - 1.00e+00 2.45e-01f 2\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 1.0000014e+00 1.44e-06 2.83e-08 -2.5 7.79e-06 - 1.00e+00 1.00e+00h 1\n", - " 11 1.0000000e+00 1.39e-09 1.84e-11 -5.7 2.56e-06 - 1.00e+00 1.00e+00h 1\n", - " 12 1.0000000e+00 1.39e-09 1.24e+02 -8.6 1.16e-08 - 1.00e+00 9.54e-07h 21\n", - " 13 9.9999999e-01 9.82e-09 1.14e-13 -8.6 1.33e-08 - 1.00e+00 1.00e+00s 22\n", - " 14 9.9999999e-01 9.96e-09 6.46e-14 -8.6 2.29e-10 - 1.00e+00 1.00e+00s 22\n", - " 15 9.9999999e-01 9.96e-09 1.82e+02 -9.0 4.00e-11 - 1.00e+00 9.54e-07h 21\n", - " 16 9.9999999e-01 1.00e-08 1.52e-13 -9.0 5.89e-11 - 1.00e+00 1.00e+00s 22\n", - "\n", - "Number of Iterations....: 16\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 9.9999999000238915e-01 9.9999999000238915e-01\n", - "Dual infeasibility......: 1.5188693260016487e-13 1.5188693260016487e-13\n", - "Constraint violation....: 9.9976108502985994e-09 9.9976108502985994e-09\n", - "Complementarity.........: 9.2217032157601989e-10 9.2217032157601989e-10\n", - "Overall NLP error.......: 9.9976108502985994e-09 9.9976108502985994e-09\n", - "\n", - "\n", - "Number of objective function evaluations = 111\n", - "Number of objective gradient evaluations = 17\n", - "Number of equality constraint evaluations = 111\n", - "Number of inequality constraint evaluations = 111\n", - "Number of equality constraint Jacobian evaluations = 17\n", - "Number of inequality constraint Jacobian evaluations = 17\n", - "Number of Lagrangian Hessian evaluations = 16\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 5, 'Number of variables': 3, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.04887509346008301}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "solver.options[\"max_iter\"] = 50\n", "solver.solve(m, tee=True)" @@ -525,19 +283,7 @@ "cell_type": "code", "execution_count": 10, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "x : Size=3, Index=I\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " 1 : 0 : 1.0000000099975996 : 5 : False : False : Reals\n", - " 2 : 0 : 0.0 : 5 : False : False : Reals\n", - " 3 : 0 : 0.0 : 5 : False : False : Reals\n" - ] - } - ], + "outputs": [], "source": [ "m.x.display()" ] @@ -557,19 +303,7 @@ "cell_type": "code", "execution_count": 11, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "\n", - "Number of Singular Values less than 1.0E-06 is 1\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "svd = dt.prepare_svd_toolbox()\n", "svd.display_rank_of_equality_constraints()" @@ -604,37 +338,7 @@ "cell_type": "code", "execution_count": 12, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Searching for Candidate Equations\n", - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Building MILP model.\n", - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Solving Candidates MILP model.\n", - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Searching for Irreducible Degenerate Sets\n", - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Building MILP model to compute irreducible degenerate set.\n", - "Solving MILP 1 of 2.\n", - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Solving IDS MILP for constraint con2.\n", - "Solving MILP 2 of 2.\n", - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Solving IDS MILP for constraint con5.\n", - "====================================================================================\n", - "Irreducible Degenerate Sets\n", - "\n", - " Irreducible Degenerate Set 0\n", - " nu Constraint Name\n", - " 1.0 con2\n", - " -1.0 con5\n", - "\n", - " Irreducible Degenerate Set 1\n", - " nu Constraint Name\n", - " -1.0 con2\n", - " 1.0 con5\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dh = dt.prepare_degeneracy_hunter()\n", "dh.report_irreducible_degenerate_sets()" @@ -662,103 +366,7 @@ "cell_type": "code", "execution_count": 13, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: max_iter=50\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 3\n", - "Number of nonzeros in inequality constraint Jacobian.: 6\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 3\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 3\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 1\n", - "Total number of inequality constraints...............: 3\n", - " inequality constraints with only lower bounds: 2\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 1\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 3.0000000e+00 2.00e+00 6.30e-01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 1.3934810e+00 3.93e-01 1.34e-01 -1.0 1.23e+00 - 7.90e-01 8.03e-01f 1\n", - " 2 1.0184419e+00 1.84e-02 9.15e-03 -1.7 7.02e-01 - 9.41e-01 9.53e-01h 1\n", - " 3 1.0011246e+00 1.12e-03 3.88e-02 -2.5 1.50e-02 - 1.00e+00 9.39e-01h 1\n", - " 4 1.0006914e+00 6.91e-04 3.12e+00 -2.5 3.17e-03 - 1.00e+00 3.85e-01h 1\n", - " 5 1.0002664e+00 2.66e-04 4.35e+00 -2.5 1.12e-03 - 1.00e+00 6.15e-01h 1\n", - " 6 1.0001115e+00 1.12e-04 1.07e+01 -2.5 5.00e-04 - 1.00e+00 5.81e-01h 1\n", - " 7 1.0000788e+00 7.88e-05 4.34e+01 -2.5 1.88e-04 - 1.00e+00 2.93e-01f 2\n", - " 8 1.0000154e+00 1.54e-05 2.26e+01 -2.5 6.89e-05 - 1.00e+00 8.04e-01h 1\n", - " 9 1.0000118e+00 1.18e-05 2.98e+02 -2.5 3.64e-05 - 1.00e+00 2.33e-01f 2\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 1.0000020e+00 2.04e-06 1.33e+02 -2.5 9.72e-06 - 1.00e+00 8.28e-01h 1\n", - " 11 1.0000016e+00 1.61e-06 2.26e+03 -2.5 4.79e-06 - 1.00e+00 2.12e-01f 2\n", - " 12 1.0000002e+00 2.46e-07 8.72e+02 -2.5 1.20e-06 - 1.00e+00 8.47e-01h 1\n", - " 13 1.0000002e+00 1.95e-07 1.71e+04 -2.5 7.02e-07 - 1.00e+00 2.09e-01f 2\n", - " 14 1.0000000e+00 1.54e-08 3.23e+03 -2.5 1.50e-07 - 1.00e+00 9.21e-01h 1\n", - " 15 1.0000000e+00 1.15e-08 9.99e+04 -2.5 6.89e-08 - 1.00e+00 2.54e-01f 2\n", - " 16 1.0000000e+00 2.22e-16 2.83e-08 -2.5 8.21e-09 - 1.00e+00 1.00e+00h 1\n", - " 17 1.0000000e+00 2.22e-16 4.14e-11 -8.6 8.25e-16 - 1.00e+00 1.00e+00 0\n", - "\n", - "Number of Iterations....: 17\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 9.9999999999999978e-01 9.9999999999999978e-01\n", - "Dual infeasibility......: 4.1425156707686206e-11 4.1425156707686206e-11\n", - "Constraint violation....: 2.2204460492503131e-16 2.2204460492503131e-16\n", - "Complementarity.........: 2.6658012082875325e-09 2.6658012082875325e-09\n", - "Overall NLP error.......: 2.6658012082875325e-09 2.6658012082875325e-09\n", - "\n", - "\n", - "Number of objective function evaluations = 23\n", - "Number of objective gradient evaluations = 18\n", - "Number of equality constraint evaluations = 23\n", - "Number of inequality constraint evaluations = 23\n", - "Number of equality constraint Jacobian evaluations = 18\n", - "Number of inequality constraint Jacobian evaluations = 18\n", - "Number of Lagrangian Hessian evaluations = 17\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 4, 'Number of variables': 3, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.006506204605102539}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "m2 = build_example(include_redundant_constraint=False)\n", "\n", @@ -776,19 +384,7 @@ "cell_type": "code", "execution_count": 14, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "x : Size=3, Index=I\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " 1 : 0 : 1.0000000005924994 : 5 : False : False : Reals\n", - " 2 : 0 : 0.0 : 5 : False : False : Reals\n", - " 3 : 0 : 4.55844318120227e-11 : 5 : False : False : Reals\n" - ] - } - ], + "outputs": [], "source": [ "m2.x.display()" ] diff --git a/idaes_examples/notebooks/docs/diagnostics/degeneracy_hunter_doc.ipynb b/idaes_examples/notebooks/docs/diagnostics/degeneracy_hunter_doc.ipynb index 340fdfcb..7a8b260c 100644 --- a/idaes_examples/notebooks/docs/diagnostics/degeneracy_hunter_doc.ipynb +++ b/idaes_examples/notebooks/docs/diagnostics/degeneracy_hunter_doc.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -164,46 +165,7 @@ "cell_type": "code", "execution_count": 5, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 3 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 3\n", - " Fixed Variables in Activated Constraints: 0 (External: 0)\n", - " Activated Equality Constraints: 2 (Deactivated: 0)\n", - " Activated Inequality Constraints: 3 (Deactivated: 0)\n", - " Activated Objectives: 1 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 WARNINGS\n", - "\n", - " WARNING: 1 Degree of Freedom\n", - " WARNING: Structural singularity found\n", - " Under-Constrained Set: 3 variables, 2 constraints\n", - " Over-Constrained Set: 0 variables, 0 constraints\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 Cautions\n", - "\n", - " No cautions found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_underconstrained_set()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt = DiagnosticsToolbox(m)\n", "dt.report_structural_issues()" @@ -224,90 +186,7 @@ "cell_type": "code", "execution_count": 6, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: max_iter=0\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 6\n", - "Number of nonzeros in inequality constraint Jacobian.: 6\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 3\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 3\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 2\n", - "Total number of inequality constraints...............: 3\n", - " inequality constraints with only lower bounds: 2\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 1\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 3.0000000e+00 2.00e+00 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "\n", - "Number of Iterations....: 0\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 3.0000000000000000e+00 3.0000000000000000e+00\n", - "Dual infeasibility......: 1.0000000000000000e+00 1.0000000000000000e+00\n", - "Constraint violation....: 2.0000000000000000e+00 2.0000000000000000e+00\n", - "Complementarity.........: 4.0000000499999997e+00 4.0000000499999997e+00\n", - "Overall NLP error.......: 4.0000000499999997e+00 4.0000000499999997e+00\n", - "\n", - "\n", - "Number of objective function evaluations = 1\n", - "Number of objective gradient evaluations = 1\n", - "Number of equality constraint evaluations = 1\n", - "Number of inequality constraint evaluations = 1\n", - "Number of equality constraint Jacobian evaluations = 1\n", - "Number of inequality constraint Jacobian evaluations = 1\n", - "Number of Lagrangian Hessian evaluations = 0\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Maximum Number of Iterations Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 5, 'Number of variables': 3, 'Sense': 'unknown'}], 'Solver': [{'Status': 'warning', 'Message': 'Ipopt 3.13.2\\\\x3a Maximum Number of Iterations Exceeded.', 'Termination condition': 'maxIterations', 'Id': 400, 'Error rc': 0, 'Time': 0.004778385162353516}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "solver = pyo.SolverFactory(\"ipopt\")\n", "\n", @@ -332,21 +211,7 @@ "cell_type": "code", "execution_count": 7, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following constraint(s) have large residuals (>1.0E-05):\n", - "\n", - " con2: 2.00000E+00\n", - " con5: 2.00000E+00\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "# Check for large residuals\n", "dt.display_constraints_with_large_residuals()" @@ -363,19 +228,7 @@ "cell_type": "code", "execution_count": 8, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following variable(s) have values close to their bounds (abs=1.0E-04, rel=1.0E-04):\n", - "\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.display_variables_near_bounds()" ] @@ -393,102 +246,7 @@ "cell_type": "code", "execution_count": 9, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: max_iter=50\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 6\n", - "Number of nonzeros in inequality constraint Jacobian.: 6\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 3\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 3\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 2\n", - "Total number of inequality constraints...............: 3\n", - " inequality constraints with only lower bounds: 2\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 1\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 3.0000000e+00 2.00e+00 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 1.3934810e+00 3.93e-01 2.17e-01 -1.0 1.23e+00 - 7.90e-01 8.03e-01h 1\n", - " 2 1.0184419e+00 1.84e-02 1.26e-02 -1.7 7.02e-01 - 9.41e-01 9.53e-01h 1\n", - " 3 1.0011246e+00 1.12e-03 3.82e-02 -2.5 1.50e-02 - 1.00e+00 9.39e-01h 1\n", - " 4 1.0006914e+00 6.91e-04 3.12e+00 -2.5 3.17e-03 - 1.00e+00 3.85e-01h 1\n", - " 5 1.0002664e+00 2.66e-04 4.35e+00 -2.5 1.12e-03 - 1.00e+00 6.15e-01h 1\n", - " 6 1.0001115e+00 1.12e-04 1.07e+01 -2.5 4.99e-04 - 1.00e+00 5.82e-01h 1\n", - " 7 1.0000788e+00 7.88e-05 4.33e+01 -2.5 1.88e-04 - 1.00e+00 2.94e-01f 2\n", - " 8 1.0000153e+00 1.53e-05 2.19e+01 -2.5 6.85e-05 - 1.00e+00 8.08e-01h 1\n", - " 9 1.0000118e+00 1.18e-05 2.78e+02 -2.5 3.47e-05 - 1.00e+00 2.45e-01f 2\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 1.0000014e+00 1.44e-06 2.83e-08 -2.5 7.79e-06 - 1.00e+00 1.00e+00h 1\n", - " 11 1.0000000e+00 1.39e-09 1.84e-11 -5.7 2.56e-06 - 1.00e+00 1.00e+00h 1\n", - " 12 1.0000000e+00 1.39e-09 1.24e+02 -8.6 1.16e-08 - 1.00e+00 9.54e-07h 21\n", - " 13 9.9999999e-01 9.82e-09 1.14e-13 -8.6 1.33e-08 - 1.00e+00 1.00e+00s 22\n", - " 14 9.9999999e-01 9.96e-09 6.46e-14 -8.6 2.29e-10 - 1.00e+00 1.00e+00s 22\n", - " 15 9.9999999e-01 9.96e-09 1.82e+02 -9.0 4.00e-11 - 1.00e+00 9.54e-07h 21\n", - " 16 9.9999999e-01 1.00e-08 1.52e-13 -9.0 5.89e-11 - 1.00e+00 1.00e+00s 22\n", - "\n", - "Number of Iterations....: 16\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 9.9999999000238915e-01 9.9999999000238915e-01\n", - "Dual infeasibility......: 1.5188693260016487e-13 1.5188693260016487e-13\n", - "Constraint violation....: 9.9976108502985994e-09 9.9976108502985994e-09\n", - "Complementarity.........: 9.2217032157601989e-10 9.2217032157601989e-10\n", - "Overall NLP error.......: 9.9976108502985994e-09 9.9976108502985994e-09\n", - "\n", - "\n", - "Number of objective function evaluations = 111\n", - "Number of objective gradient evaluations = 17\n", - "Number of equality constraint evaluations = 111\n", - "Number of inequality constraint evaluations = 111\n", - "Number of equality constraint Jacobian evaluations = 17\n", - "Number of inequality constraint Jacobian evaluations = 17\n", - "Number of Lagrangian Hessian evaluations = 16\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 5, 'Number of variables': 3, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.04887509346008301}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "solver.options[\"max_iter\"] = 50\n", "solver.solve(m, tee=True)" @@ -507,19 +265,7 @@ "cell_type": "code", "execution_count": 10, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "x : Size=3, Index=I\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " 1 : 0 : 1.0000000099975996 : 5 : False : False : Reals\n", - " 2 : 0 : 0.0 : 5 : False : False : Reals\n", - " 3 : 0 : 0.0 : 5 : False : False : Reals\n" - ] - } - ], + "outputs": [], "source": [ "m.x.display()" ] @@ -539,19 +285,7 @@ "cell_type": "code", "execution_count": 11, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "\n", - "Number of Singular Values less than 1.0E-06 is 1\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "svd = dt.prepare_svd_toolbox()\n", "svd.display_rank_of_equality_constraints()" @@ -586,37 +320,7 @@ "cell_type": "code", "execution_count": 12, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Searching for Candidate Equations\n", - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Building MILP model.\n", - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Solving Candidates MILP model.\n", - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Searching for Irreducible Degenerate Sets\n", - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Building MILP model to compute irreducible degenerate set.\n", - "Solving MILP 1 of 2.\n", - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Solving IDS MILP for constraint con2.\n", - "Solving MILP 2 of 2.\n", - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Solving IDS MILP for constraint con5.\n", - "====================================================================================\n", - "Irreducible Degenerate Sets\n", - "\n", - " Irreducible Degenerate Set 0\n", - " nu Constraint Name\n", - " 1.0 con2\n", - " -1.0 con5\n", - "\n", - " Irreducible Degenerate Set 1\n", - " nu Constraint Name\n", - " -1.0 con2\n", - " 1.0 con5\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dh = dt.prepare_degeneracy_hunter()\n", "dh.report_irreducible_degenerate_sets()" @@ -644,103 +348,7 @@ "cell_type": "code", "execution_count": 13, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: max_iter=50\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 3\n", - "Number of nonzeros in inequality constraint Jacobian.: 6\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 3\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 3\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 1\n", - "Total number of inequality constraints...............: 3\n", - " inequality constraints with only lower bounds: 2\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 1\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 3.0000000e+00 2.00e+00 6.30e-01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 1.3934810e+00 3.93e-01 1.34e-01 -1.0 1.23e+00 - 7.90e-01 8.03e-01f 1\n", - " 2 1.0184419e+00 1.84e-02 9.15e-03 -1.7 7.02e-01 - 9.41e-01 9.53e-01h 1\n", - " 3 1.0011246e+00 1.12e-03 3.88e-02 -2.5 1.50e-02 - 1.00e+00 9.39e-01h 1\n", - " 4 1.0006914e+00 6.91e-04 3.12e+00 -2.5 3.17e-03 - 1.00e+00 3.85e-01h 1\n", - " 5 1.0002664e+00 2.66e-04 4.35e+00 -2.5 1.12e-03 - 1.00e+00 6.15e-01h 1\n", - " 6 1.0001115e+00 1.12e-04 1.07e+01 -2.5 5.00e-04 - 1.00e+00 5.81e-01h 1\n", - " 7 1.0000788e+00 7.88e-05 4.34e+01 -2.5 1.88e-04 - 1.00e+00 2.93e-01f 2\n", - " 8 1.0000154e+00 1.54e-05 2.26e+01 -2.5 6.89e-05 - 1.00e+00 8.04e-01h 1\n", - " 9 1.0000118e+00 1.18e-05 2.98e+02 -2.5 3.64e-05 - 1.00e+00 2.33e-01f 2\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 1.0000020e+00 2.04e-06 1.33e+02 -2.5 9.72e-06 - 1.00e+00 8.28e-01h 1\n", - " 11 1.0000016e+00 1.61e-06 2.26e+03 -2.5 4.79e-06 - 1.00e+00 2.12e-01f 2\n", - " 12 1.0000002e+00 2.46e-07 8.72e+02 -2.5 1.20e-06 - 1.00e+00 8.47e-01h 1\n", - " 13 1.0000002e+00 1.95e-07 1.71e+04 -2.5 7.02e-07 - 1.00e+00 2.09e-01f 2\n", - " 14 1.0000000e+00 1.54e-08 3.23e+03 -2.5 1.50e-07 - 1.00e+00 9.21e-01h 1\n", - " 15 1.0000000e+00 1.15e-08 9.99e+04 -2.5 6.89e-08 - 1.00e+00 2.54e-01f 2\n", - " 16 1.0000000e+00 2.22e-16 2.83e-08 -2.5 8.21e-09 - 1.00e+00 1.00e+00h 1\n", - " 17 1.0000000e+00 2.22e-16 4.14e-11 -8.6 8.25e-16 - 1.00e+00 1.00e+00 0\n", - "\n", - "Number of Iterations....: 17\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 9.9999999999999978e-01 9.9999999999999978e-01\n", - "Dual infeasibility......: 4.1425156707686206e-11 4.1425156707686206e-11\n", - "Constraint violation....: 2.2204460492503131e-16 2.2204460492503131e-16\n", - "Complementarity.........: 2.6658012082875325e-09 2.6658012082875325e-09\n", - "Overall NLP error.......: 2.6658012082875325e-09 2.6658012082875325e-09\n", - "\n", - "\n", - "Number of objective function evaluations = 23\n", - "Number of objective gradient evaluations = 18\n", - "Number of equality constraint evaluations = 23\n", - "Number of inequality constraint evaluations = 23\n", - "Number of equality constraint Jacobian evaluations = 18\n", - "Number of inequality constraint Jacobian evaluations = 18\n", - "Number of Lagrangian Hessian evaluations = 17\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 4, 'Number of variables': 3, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.006506204605102539}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "m2 = build_example(include_redundant_constraint=False)\n", "\n", @@ -758,19 +366,7 @@ "cell_type": "code", "execution_count": 14, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "x : Size=3, Index=I\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " 1 : 0 : 1.0000000005924994 : 5 : False : False : Reals\n", - " 2 : 0 : 0.0 : 5 : False : False : Reals\n", - " 3 : 0 : 4.55844318120227e-11 : 5 : False : False : Reals\n" - ] - } - ], + "outputs": [], "source": [ "m2.x.display()" ] diff --git a/idaes_examples/notebooks/docs/diagnostics/degeneracy_hunter_test.ipynb b/idaes_examples/notebooks/docs/diagnostics/degeneracy_hunter_test.ipynb index c8c70c3a..38124771 100644 --- a/idaes_examples/notebooks/docs/diagnostics/degeneracy_hunter_test.ipynb +++ b/idaes_examples/notebooks/docs/diagnostics/degeneracy_hunter_test.ipynb @@ -1,871 +1,467 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Degeneracy Hunter Examples\n", - "Author: Prof. Alex Dowling (adowling@nd.edu), University of Notre Dame \n", - "Maintainer: Andrew Lee \n", - "Updated: 2023-06-01 \n", - "\n", - "> Alexander W. Dowling and Lorenz T. Biegler (2015). Degeneracy Hunter: An Algorithm for Determining Irreducible Sets of Degenerate Constraints in Mathematical Programs. 12th International Symposium on Process Systems Engineering and 25th European Symposium on Computer Aided Process Engineering. Ed. by Krist V. Gernaey, Jakob K. Huusom, and Raqul Gani. Computer-Aided Chemical Engineering, Vol. 37, p. 809 – 814. [link to PDF](https://dowlinglab.nd.edu/assets/447116/2015_degeneracy_hunter_an_algorithm_for_determining_irreducible_sets_of_degenerate_constraints_in_mathematical_prog.pdf)\n", - "\n", - "This notebook shows how to use the Degeneracy Hunter tool which is part of the IDAES Diagnostics Toolbox features using two motivating examples:\n", - "\n", - "* Inspect constraint violations and bounds of a Pyomo model\n", - "* Compute the Irreducible Degenerate Set (IDS) for a Pyomo model\n", - "* Demonstrates the performance benefits in Ipopt from removing a single redundant constraint\n", - "\n", - "
\n", - "Note:\n", - "Degeneracy Hunter requires a suitable MILP solver. This example uses the open-source solver SCIP (https://scipopt.org/), however users may specify another solver of their choice if they have one available.\n", - "
\n", - "\n", - "## What does Degeneracy Mean?\n", - "\n", - "In simple terms, a degenerate model contains one or more constraints that do not add any additional information that is not already included in other constraints in the model. The simplest example of this is the case where a constraint in the model is duplicated. For example, consider the model below:\n", - "\n", - "$$\\begin{align*}\n", - "& x_1 + x_2 = 1 \\\\\n", - "& x_1 + x_2 = 1 \\\\\n", - "\\end{align*} $$\n", - "\n", - "Notice the two equality constraints are identical and thus redundant. This means the constraint qualifications that solvers rely on (e.g., [Linear Independence Constraint Qualification or LICQ](https://en.wikipedia.org/wiki/Karush%E2%80%93Kuhn%E2%80%93Tucker_conditions#Regularity_conditions_(or_constraint_qualifications))) do not hold which has three important implications:\n", - "\n", - "1. The optimal solution may not be mathematically well-defined (e.g., the dual variables are not unique)\n", - "2. The calculations performed by the optimization solver may become numerically poorly scaled\n", - "3. Theoretical convergence properties of optimization algorithms may not hold\n", - "\n", - "Put another way, for a deterministic (square) problem we required that the number of equality constraints be equal to the number of free variables. In this case, there appear to be two equality constraints but in reality there is effectively only one as the two constraints are the same. Thus, the problem is not well defined and there exist a family of solutions that can satisfy the constraints given; any combination of values for ``x1`` and ``x2`` that sum to one will satisfy the constraints as written.\n", - "\n", - "In practice, degeneracies are rarely as straight-forward as a duplicated constraint. A more common occurrence is a set of linearly dependent constraints; that is a system of constraints where one constraint in the set can be formed by a linear combination of other constraints in the set. For example:\n", - "\n", - "$$\\begin{align*}\n", - "& x_1 + x_2 + x_3 = 1 \\\\\n", - "& 2x_1 + 2x_2 + 2x_3 = 2 \\\\\n", - "\\end{align*} $$\n", - "\n", - "Here, the second constraint can be formed by multiplying the first constraint by two. Another common example of linearly dependent constraints is the combination of a set of material balances for all components in a system and an overall material balance. In this case, the overall material balances can be formed by adding all the individual component balances together. Depending on the number of components being modeled, this system of constraints can be quite large, but the end result is the same; the model effectively has one less constraint than it would appear to have.\n", - "\n", - "The absolute best defense against this is to detect degenerate equations and reformulate the model to remove them; this is the purpose of Degeneracy Hunter. Let's see it in action." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Setup\n", - "\n", - "We start by importing Pyomo and the IDAES Diagnostics Toolbox." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "import pyomo.environ as pyo\n", - "\n", - "from idaes.core.util.model_diagnostics import DiagnosticsToolbox" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "from idaes.core.util.testing import _enable_scip_solver_for_testing\n", - "\n", - "scip_solver = pyo.SolverFactory(\"scip\")\n", - "if not scip_solver.available():\n", - " _enable_scip_solver_for_testing()\n", - "assert scip_solver.available()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Example: Linear Program with Redundant Equality Constraints" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's apply these tools to a poorly formulated optimization problem:\n", - "\n", - "$$\\begin{align*} \\min_{\\mathbf{x}} \\quad & \\sum_{i=\\{1,...,3\\}} x_i \\\\\n", - "\\mathrm{s.t.}~~& x_1 + x_2 \\geq 1 \\\\\n", - "& x_1 + x_2 + x_3 = 1 \\\\\n", - "& x_2 - 2 x_3 \\leq 1 \\\\\n", - "& x_1 + x_3 \\geq 1 \\\\\n", - "& x_1 + x_2 + x_3 = 1 \\\\\n", - "\\end{align*} $$\n", - "\n", - "As you can see, this is similar to our example above with duplicated equality constraints.\n", - "\n", - "The cell below shows how to construct this model in Pyomo." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "def build_example(include_redundant_constraint=True):\n", - " m = pyo.ConcreteModel()\n", - "\n", - " m.I = pyo.Set(initialize=[i for i in range(1, 4)])\n", - "\n", - " m.x = pyo.Var(m.I, bounds=(0, 5), initialize=1.0)\n", - "\n", - " m.con1 = pyo.Constraint(expr=m.x[1] + m.x[2] >= 1)\n", - " m.con2 = pyo.Constraint(expr=m.x[1] + m.x[2] + m.x[3] == 1)\n", - " m.con3 = pyo.Constraint(expr=m.x[2] - 2 * m.x[3] <= 1)\n", - " m.con4 = pyo.Constraint(expr=m.x[1] + m.x[3] >= 1)\n", - "\n", - " if include_redundant_constraint:\n", - " m.con5 = pyo.Constraint(expr=m.x[1] + m.x[2] + m.x[3] == 1)\n", - "\n", - " m.obj = pyo.Objective(expr=sum(m.x[i] for i in m.I))\n", - "\n", - " return m\n", - "\n", - "\n", - "m = build_example()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Check for Structural Issues\n", - "\n", - "Before we try to solve the model, the first thing we should do is use the Diagnostics Toolbox to check for any structural issues in our model. The cell below creates an instance of the Diagnostics Toolbox and calls the ``report_structural_issues`` method." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 3 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 3\n", - " Fixed Variables in Activated Constraints: 0 (External: 0)\n", - " Activated Equality Constraints: 2 (Deactivated: 0)\n", - " Activated Inequality Constraints: 3 (Deactivated: 0)\n", - " Activated Objectives: 1 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 WARNINGS\n", - "\n", - " WARNING: 1 Degree of Freedom\n", - " WARNING: Structural singularity found\n", - " Under-Constrained Set: 3 variables, 2 constraints\n", - " Over-Constrained Set: 0 variables, 0 constraints\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 Cautions\n", - "\n", - " No cautions found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_underconstrained_set()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt = DiagnosticsToolbox(m)\n", - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As you can see, the toolbox is reporting one degree of freedom and a structural singularity. In this case, these are both expected as we are trying to solve an optimization problem with one degree of freedom so we can move on to the next step. \n", - "\n", - "### Evaluate the initial point\n", - "\n", - "Before we try to solve our degenerate model, it can often be useful to check the state of the model at the initial step seen by the solver. The cell below creates an instance of Ipopt and sets the iteration limit to 0 so that it terminates at the initial condition." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: max_iter=0\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 6\n", - "Number of nonzeros in inequality constraint Jacobian.: 6\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 3\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 3\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 2\n", - "Total number of inequality constraints...............: 3\n", - " inequality constraints with only lower bounds: 2\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 1\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 3.0000000e+00 2.00e+00 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "\n", - "Number of Iterations....: 0\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 3.0000000000000000e+00 3.0000000000000000e+00\n", - "Dual infeasibility......: 1.0000000000000000e+00 1.0000000000000000e+00\n", - "Constraint violation....: 2.0000000000000000e+00 2.0000000000000000e+00\n", - "Complementarity.........: 4.0000000499999997e+00 4.0000000499999997e+00\n", - "Overall NLP error.......: 4.0000000499999997e+00 4.0000000499999997e+00\n", - "\n", - "\n", - "Number of objective function evaluations = 1\n", - "Number of objective gradient evaluations = 1\n", - "Number of equality constraint evaluations = 1\n", - "Number of inequality constraint evaluations = 1\n", - "Number of equality constraint Jacobian evaluations = 1\n", - "Number of inequality constraint Jacobian evaluations = 1\n", - "Number of Lagrangian Hessian evaluations = 0\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Maximum Number of Iterations Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 5, 'Number of variables': 3, 'Sense': 'unknown'}], 'Solver': [{'Status': 'warning', 'Message': 'Ipopt 3.13.2\\\\x3a Maximum Number of Iterations Exceeded.', 'Termination condition': 'maxIterations', 'Id': 400, 'Error rc': 0, 'Time': 0.004778385162353516}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "solver = pyo.SolverFactory(\"ipopt\")\n", - "\n", - "# Specifying an iteration limit of 0 allows us to inspect the initial point\n", - "solver.options[\"max_iter\"] = 0\n", - "\n", - "# \"Solving\" the model with an iteration limit of 0 load the initial point and applies\n", - "# any preprocessors (e.g., enforces bounds)\n", - "solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Identify constraints with large residuals at the initial point\n", - "\n", - "With the solution at the initial point, we can then use the Diagnostics Toolbox to check the residuals of all constraints at the initial point." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following constraint(s) have large residuals (>1.0E-05):\n", - "\n", - " con2: 2.00000E+00\n", - " con5: 2.00000E+00\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "# Check for large residuals\n", - "dt.display_constraints_with_large_residuals()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can also check for variables which are close to (or outside of) their bounds." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following variable(s) have values close to their bounds (abs=1.0E-04, rel=1.0E-04):\n", - "\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.display_variables_near_bounds()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Solve the optimization problem and extract the solution\n", - "\n", - "There appear to be no significant issues at the initial point, so let us move on to solving the optimization problem." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: max_iter=50\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 6\n", - "Number of nonzeros in inequality constraint Jacobian.: 6\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 3\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 3\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 2\n", - "Total number of inequality constraints...............: 3\n", - " inequality constraints with only lower bounds: 2\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 1\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 3.0000000e+00 2.00e+00 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 1.3934810e+00 3.93e-01 2.17e-01 -1.0 1.23e+00 - 7.90e-01 8.03e-01h 1\n", - " 2 1.0184419e+00 1.84e-02 1.26e-02 -1.7 7.02e-01 - 9.41e-01 9.53e-01h 1\n", - " 3 1.0011246e+00 1.12e-03 3.82e-02 -2.5 1.50e-02 - 1.00e+00 9.39e-01h 1\n", - " 4 1.0006914e+00 6.91e-04 3.12e+00 -2.5 3.17e-03 - 1.00e+00 3.85e-01h 1\n", - " 5 1.0002664e+00 2.66e-04 4.35e+00 -2.5 1.12e-03 - 1.00e+00 6.15e-01h 1\n", - " 6 1.0001115e+00 1.12e-04 1.07e+01 -2.5 4.99e-04 - 1.00e+00 5.82e-01h 1\n", - " 7 1.0000788e+00 7.88e-05 4.33e+01 -2.5 1.88e-04 - 1.00e+00 2.94e-01f 2\n", - " 8 1.0000153e+00 1.53e-05 2.19e+01 -2.5 6.85e-05 - 1.00e+00 8.08e-01h 1\n", - " 9 1.0000118e+00 1.18e-05 2.78e+02 -2.5 3.47e-05 - 1.00e+00 2.45e-01f 2\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 1.0000014e+00 1.44e-06 2.83e-08 -2.5 7.79e-06 - 1.00e+00 1.00e+00h 1\n", - " 11 1.0000000e+00 1.39e-09 1.84e-11 -5.7 2.56e-06 - 1.00e+00 1.00e+00h 1\n", - " 12 1.0000000e+00 1.39e-09 1.24e+02 -8.6 1.16e-08 - 1.00e+00 9.54e-07h 21\n", - " 13 9.9999999e-01 9.82e-09 1.14e-13 -8.6 1.33e-08 - 1.00e+00 1.00e+00s 22\n", - " 14 9.9999999e-01 9.96e-09 6.46e-14 -8.6 2.29e-10 - 1.00e+00 1.00e+00s 22\n", - " 15 9.9999999e-01 9.96e-09 1.82e+02 -9.0 4.00e-11 - 1.00e+00 9.54e-07h 21\n", - " 16 9.9999999e-01 1.00e-08 1.52e-13 -9.0 5.89e-11 - 1.00e+00 1.00e+00s 22\n", - "\n", - "Number of Iterations....: 16\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 9.9999999000238915e-01 9.9999999000238915e-01\n", - "Dual infeasibility......: 1.5188693260016487e-13 1.5188693260016487e-13\n", - "Constraint violation....: 9.9976108502985994e-09 9.9976108502985994e-09\n", - "Complementarity.........: 9.2217032157601989e-10 9.2217032157601989e-10\n", - "Overall NLP error.......: 9.9976108502985994e-09 9.9976108502985994e-09\n", - "\n", - "\n", - "Number of objective function evaluations = 111\n", - "Number of objective gradient evaluations = 17\n", - "Number of equality constraint evaluations = 111\n", - "Number of inequality constraint evaluations = 111\n", - "Number of equality constraint Jacobian evaluations = 17\n", - "Number of inequality constraint Jacobian evaluations = 17\n", - "Number of Lagrangian Hessian evaluations = 16\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 5, 'Number of variables': 3, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.04887509346008301}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "solver.options[\"max_iter\"] = 50\n", - "solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We got lucky here. Ipopt implements several algorithmic and numerical safeguards to handle (mildy) degenerate equations. Nevertheless, notice the last column of the Ipopt output labeled `ls`. This is the number of line search evaluations. For iterations 0 to 11, `ls` is 1, which means Ipopt is taking full steps. For iterations 12 to 16, however, `ls` is greater than 20. This means Ipopt is struggling (a little) to converge to the solution.\n", - "\n", - "The cell below shows the values of the variables at the solution." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "x : Size=3, Index=I\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " 1 : 0 : 1.0000000099975996 : 5 : False : False : Reals\n", - " 2 : 0 : 0.0 : 5 : False : False : Reals\n", - " 3 : 0 : 0.0 : 5 : False : False : Reals\n" - ] - } - ], - "source": [ - "m.x.display()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Check the rank of the Jacobian of the equality constraints\n", - "\n", - "One way to check for the presence of degenerate equations is to calculate the rank of the Jacobian matrix of the equality constraints. A singular value near 0 indicates the Jacobian is rank deficient, and for each near-zero singular value there is likely one degenerate constraint.\n", - "\n", - "The Diagnostics Toolbox contains a Singular Value Decomposition (SVD) toolbox which can be used to determine the number of small singular values in the Jacobian for a model as shown below." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "\n", - "Number of Singular Values less than 1.0E-06 is 1\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "svd = dt.prepare_svd_toolbox()\n", - "svd.display_rank_of_equality_constraints()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As can be seen above, there is one singular value less than 1e-6, suggesting we have one degenerate constraint." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Finding Irreducible Degenerate Sets (IDS)\n", - "\n", - "Next, we can use Degeneracy Hunter to identify irreducible degenerate sets; that is, the smallest set of constraints that contain a redundant constraint.\n", - "\n", - "Degeneracy Hunter first identifies candidate degenerate equations by solving a mixed integer linear program (MILP). It then iterates through the candidate equations and solves a second MILP for each to compute the irreducible degenerate set that must contain the candidate equation.\n", - "\n", - "
\n", - "Note:\n", - "Degeneracy Hunter requires a suitable MILP solver, users can specify their solver of choice via a configuration argument. The default option is SCIP (https://scipopt.org/) which is an open-source solver.\n", - "
\n", - "\n", - "The cell below shows how to create an instance of Degeneracy Hunter and generate a report of the irreducible degenerate sets." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Searching for Candidate Equations\n", - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Building MILP model.\n", - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Solving Candidates MILP model.\n", - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Searching for Irreducible Degenerate Sets\n", - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Building MILP model to compute irreducible degenerate set.\n", - "Solving MILP 1 of 2.\n", - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Solving IDS MILP for constraint con2.\n", - "Solving MILP 2 of 2.\n", - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Solving IDS MILP for constraint con5.\n", - "====================================================================================\n", - "Irreducible Degenerate Sets\n", - "\n", - " Irreducible Degenerate Set 0\n", - " nu Constraint Name\n", - " 1.0 con2\n", - " -1.0 con5\n", - "\n", - " Irreducible Degenerate Set 1\n", - " nu Constraint Name\n", - " -1.0 con2\n", - " 1.0 con5\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dh = dt.prepare_degeneracy_hunter()\n", - "dh.report_irreducible_degenerate_sets()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As can be seen above, Degeneracy Hunter identified two constraints as potentially redundant (the duplicate constraints ``con2`` and ``con5``). Degeneracy Hunter then reports an Irreducible Degenerate Set for each of these constraints, which in the case as identical. More complex models may have partially overlapping IDS's.\n", - "\n", - "These results show us that ``con2`` and ``con5`` are mutually redundant; i.e., we can eliminate one of these with no effect on the model solution." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Reformulate Model to Remove Redundant Constraint\n", - "\n", - "Now let's reformulate the model by removing the redundant equality constraint ``con5`` and solve the reformulated model." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: max_iter=50\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 3\n", - "Number of nonzeros in inequality constraint Jacobian.: 6\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 3\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 3\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 1\n", - "Total number of inequality constraints...............: 3\n", - " inequality constraints with only lower bounds: 2\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 1\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 3.0000000e+00 2.00e+00 6.30e-01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 1.3934810e+00 3.93e-01 1.34e-01 -1.0 1.23e+00 - 7.90e-01 8.03e-01f 1\n", - " 2 1.0184419e+00 1.84e-02 9.15e-03 -1.7 7.02e-01 - 9.41e-01 9.53e-01h 1\n", - " 3 1.0011246e+00 1.12e-03 3.88e-02 -2.5 1.50e-02 - 1.00e+00 9.39e-01h 1\n", - " 4 1.0006914e+00 6.91e-04 3.12e+00 -2.5 3.17e-03 - 1.00e+00 3.85e-01h 1\n", - " 5 1.0002664e+00 2.66e-04 4.35e+00 -2.5 1.12e-03 - 1.00e+00 6.15e-01h 1\n", - " 6 1.0001115e+00 1.12e-04 1.07e+01 -2.5 5.00e-04 - 1.00e+00 5.81e-01h 1\n", - " 7 1.0000788e+00 7.88e-05 4.34e+01 -2.5 1.88e-04 - 1.00e+00 2.93e-01f 2\n", - " 8 1.0000154e+00 1.54e-05 2.26e+01 -2.5 6.89e-05 - 1.00e+00 8.04e-01h 1\n", - " 9 1.0000118e+00 1.18e-05 2.98e+02 -2.5 3.64e-05 - 1.00e+00 2.33e-01f 2\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 1.0000020e+00 2.04e-06 1.33e+02 -2.5 9.72e-06 - 1.00e+00 8.28e-01h 1\n", - " 11 1.0000016e+00 1.61e-06 2.26e+03 -2.5 4.79e-06 - 1.00e+00 2.12e-01f 2\n", - " 12 1.0000002e+00 2.46e-07 8.72e+02 -2.5 1.20e-06 - 1.00e+00 8.47e-01h 1\n", - " 13 1.0000002e+00 1.95e-07 1.71e+04 -2.5 7.02e-07 - 1.00e+00 2.09e-01f 2\n", - " 14 1.0000000e+00 1.54e-08 3.23e+03 -2.5 1.50e-07 - 1.00e+00 9.21e-01h 1\n", - " 15 1.0000000e+00 1.15e-08 9.99e+04 -2.5 6.89e-08 - 1.00e+00 2.54e-01f 2\n", - " 16 1.0000000e+00 2.22e-16 2.83e-08 -2.5 8.21e-09 - 1.00e+00 1.00e+00h 1\n", - " 17 1.0000000e+00 2.22e-16 4.14e-11 -8.6 8.25e-16 - 1.00e+00 1.00e+00 0\n", - "\n", - "Number of Iterations....: 17\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 9.9999999999999978e-01 9.9999999999999978e-01\n", - "Dual infeasibility......: 4.1425156707686206e-11 4.1425156707686206e-11\n", - "Constraint violation....: 2.2204460492503131e-16 2.2204460492503131e-16\n", - "Complementarity.........: 2.6658012082875325e-09 2.6658012082875325e-09\n", - "Overall NLP error.......: 2.6658012082875325e-09 2.6658012082875325e-09\n", - "\n", - "\n", - "Number of objective function evaluations = 23\n", - "Number of objective gradient evaluations = 18\n", - "Number of equality constraint evaluations = 23\n", - "Number of inequality constraint evaluations = 23\n", - "Number of equality constraint Jacobian evaluations = 18\n", - "Number of inequality constraint Jacobian evaluations = 18\n", - "Number of Lagrangian Hessian evaluations = 17\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 4, 'Number of variables': 3, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.006506204605102539}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Degeneracy Hunter Examples\n", + "Author: Prof. Alex Dowling (adowling@nd.edu), University of Notre Dame \n", + "Maintainer: Andrew Lee \n", + "Updated: 2023-06-01 \n", + "\n", + "> Alexander W. Dowling and Lorenz T. Biegler (2015). Degeneracy Hunter: An Algorithm for Determining Irreducible Sets of Degenerate Constraints in Mathematical Programs. 12th International Symposium on Process Systems Engineering and 25th European Symposium on Computer Aided Process Engineering. Ed. by Krist V. Gernaey, Jakob K. Huusom, and Raqul Gani. Computer-Aided Chemical Engineering, Vol. 37, p. 809 \u2013 814. [link to PDF](https://dowlinglab.nd.edu/assets/447116/2015_degeneracy_hunter_an_algorithm_for_determining_irreducible_sets_of_degenerate_constraints_in_mathematical_prog.pdf)\n", + "\n", + "This notebook shows how to use the Degeneracy Hunter tool which is part of the IDAES Diagnostics Toolbox features using two motivating examples:\n", + "\n", + "* Inspect constraint violations and bounds of a Pyomo model\n", + "* Compute the Irreducible Degenerate Set (IDS) for a Pyomo model\n", + "* Demonstrates the performance benefits in Ipopt from removing a single redundant constraint\n", + "\n", + "
\n", + "Note:\n", + "Degeneracy Hunter requires a suitable MILP solver. This example uses the open-source solver SCIP (https://scipopt.org/), however users may specify another solver of their choice if they have one available.\n", + "
\n", + "\n", + "## What does Degeneracy Mean?\n", + "\n", + "In simple terms, a degenerate model contains one or more constraints that do not add any additional information that is not already included in other constraints in the model. The simplest example of this is the case where a constraint in the model is duplicated. For example, consider the model below:\n", + "\n", + "$$\\begin{align*}\n", + "& x_1 + x_2 = 1 \\\\\n", + "& x_1 + x_2 = 1 \\\\\n", + "\\end{align*} $$\n", + "\n", + "Notice the two equality constraints are identical and thus redundant. This means the constraint qualifications that solvers rely on (e.g., [Linear Independence Constraint Qualification or LICQ](https://en.wikipedia.org/wiki/Karush%E2%80%93Kuhn%E2%80%93Tucker_conditions#Regularity_conditions_(or_constraint_qualifications))) do not hold which has three important implications:\n", + "\n", + "1. The optimal solution may not be mathematically well-defined (e.g., the dual variables are not unique)\n", + "2. The calculations performed by the optimization solver may become numerically poorly scaled\n", + "3. Theoretical convergence properties of optimization algorithms may not hold\n", + "\n", + "Put another way, for a deterministic (square) problem we required that the number of equality constraints be equal to the number of free variables. In this case, there appear to be two equality constraints but in reality there is effectively only one as the two constraints are the same. Thus, the problem is not well defined and there exist a family of solutions that can satisfy the constraints given; any combination of values for ``x1`` and ``x2`` that sum to one will satisfy the constraints as written.\n", + "\n", + "In practice, degeneracies are rarely as straight-forward as a duplicated constraint. A more common occurrence is a set of linearly dependent constraints; that is a system of constraints where one constraint in the set can be formed by a linear combination of other constraints in the set. For example:\n", + "\n", + "$$\\begin{align*}\n", + "& x_1 + x_2 + x_3 = 1 \\\\\n", + "& 2x_1 + 2x_2 + 2x_3 = 2 \\\\\n", + "\\end{align*} $$\n", + "\n", + "Here, the second constraint can be formed by multiplying the first constraint by two. Another common example of linearly dependent constraints is the combination of a set of material balances for all components in a system and an overall material balance. In this case, the overall material balances can be formed by adding all the individual component balances together. Depending on the number of components being modeled, this system of constraints can be quite large, but the end result is the same; the model effectively has one less constraint than it would appear to have.\n", + "\n", + "The absolute best defense against this is to detect degenerate equations and reformulate the model to remove them; this is the purpose of Degeneracy Hunter. Let's see it in action." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Setup\n", + "\n", + "We start by importing Pyomo and the IDAES Diagnostics Toolbox." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import pyomo.environ as pyo\n", + "\n", + "from idaes.core.util.model_diagnostics import DiagnosticsToolbox" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "from idaes.core.util.testing import _enable_scip_solver_for_testing\n", + "\n", + "scip_solver = pyo.SolverFactory(\"scip\")\n", + "if not scip_solver.available():\n", + " _enable_scip_solver_for_testing()\n", + "assert scip_solver.available()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example: Linear Program with Redundant Equality Constraints" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's apply these tools to a poorly formulated optimization problem:\n", + "\n", + "$$\\begin{align*} \\min_{\\mathbf{x}} \\quad & \\sum_{i=\\{1,...,3\\}} x_i \\\\\n", + "\\mathrm{s.t.}~~& x_1 + x_2 \\geq 1 \\\\\n", + "& x_1 + x_2 + x_3 = 1 \\\\\n", + "& x_2 - 2 x_3 \\leq 1 \\\\\n", + "& x_1 + x_3 \\geq 1 \\\\\n", + "& x_1 + x_2 + x_3 = 1 \\\\\n", + "\\end{align*} $$\n", + "\n", + "As you can see, this is similar to our example above with duplicated equality constraints.\n", + "\n", + "The cell below shows how to construct this model in Pyomo." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "def build_example(include_redundant_constraint=True):\n", + " m = pyo.ConcreteModel()\n", + "\n", + " m.I = pyo.Set(initialize=[i for i in range(1, 4)])\n", + "\n", + " m.x = pyo.Var(m.I, bounds=(0, 5), initialize=1.0)\n", + "\n", + " m.con1 = pyo.Constraint(expr=m.x[1] + m.x[2] >= 1)\n", + " m.con2 = pyo.Constraint(expr=m.x[1] + m.x[2] + m.x[3] == 1)\n", + " m.con3 = pyo.Constraint(expr=m.x[2] - 2 * m.x[3] <= 1)\n", + " m.con4 = pyo.Constraint(expr=m.x[1] + m.x[3] >= 1)\n", + "\n", + " if include_redundant_constraint:\n", + " m.con5 = pyo.Constraint(expr=m.x[1] + m.x[2] + m.x[3] == 1)\n", + "\n", + " m.obj = pyo.Objective(expr=sum(m.x[i] for i in m.I))\n", + "\n", + " return m\n", + "\n", + "\n", + "m = build_example()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Check for Structural Issues\n", + "\n", + "Before we try to solve the model, the first thing we should do is use the Diagnostics Toolbox to check for any structural issues in our model. The cell below creates an instance of the Diagnostics Toolbox and calls the ``report_structural_issues`` method." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "dt = DiagnosticsToolbox(m)\n", + "dt.report_structural_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As you can see, the toolbox is reporting one degree of freedom and a structural singularity. In this case, these are both expected as we are trying to solve an optimization problem with one degree of freedom so we can move on to the next step. \n", + "\n", + "### Evaluate the initial point\n", + "\n", + "Before we try to solve our degenerate model, it can often be useful to check the state of the model at the initial step seen by the solver. The cell below creates an instance of Ipopt and sets the iteration limit to 0 so that it terminates at the initial condition." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "solver = pyo.SolverFactory(\"ipopt\")\n", + "\n", + "# Specifying an iteration limit of 0 allows us to inspect the initial point\n", + "solver.options[\"max_iter\"] = 0\n", + "\n", + "# \"Solving\" the model with an iteration limit of 0 load the initial point and applies\n", + "# any preprocessors (e.g., enforces bounds)\n", + "solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Identify constraints with large residuals at the initial point\n", + "\n", + "With the solution at the initial point, we can then use the Diagnostics Toolbox to check the residuals of all constraints at the initial point." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# Check for large residuals\n", + "dt.display_constraints_with_large_residuals()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can also check for variables which are close to (or outside of) their bounds." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "dt.display_variables_near_bounds()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Solve the optimization problem and extract the solution\n", + "\n", + "There appear to be no significant issues at the initial point, so let us move on to solving the optimization problem." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "solver.options[\"max_iter\"] = 50\n", + "solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We got lucky here. Ipopt implements several algorithmic and numerical safeguards to handle (mildy) degenerate equations. Nevertheless, notice the last column of the Ipopt output labeled `ls`. This is the number of line search evaluations. For iterations 0 to 11, `ls` is 1, which means Ipopt is taking full steps. For iterations 12 to 16, however, `ls` is greater than 20. This means Ipopt is struggling (a little) to converge to the solution.\n", + "\n", + "The cell below shows the values of the variables at the solution." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "m.x.display()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Check the rank of the Jacobian of the equality constraints\n", + "\n", + "One way to check for the presence of degenerate equations is to calculate the rank of the Jacobian matrix of the equality constraints. A singular value near 0 indicates the Jacobian is rank deficient, and for each near-zero singular value there is likely one degenerate constraint.\n", + "\n", + "The Diagnostics Toolbox contains a Singular Value Decomposition (SVD) toolbox which can be used to determine the number of small singular values in the Jacobian for a model as shown below." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "svd = dt.prepare_svd_toolbox()\n", + "svd.display_rank_of_equality_constraints()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As can be seen above, there is one singular value less than 1e-6, suggesting we have one degenerate constraint." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Finding Irreducible Degenerate Sets (IDS)\n", + "\n", + "Next, we can use Degeneracy Hunter to identify irreducible degenerate sets; that is, the smallest set of constraints that contain a redundant constraint.\n", + "\n", + "Degeneracy Hunter first identifies candidate degenerate equations by solving a mixed integer linear program (MILP). It then iterates through the candidate equations and solves a second MILP for each to compute the irreducible degenerate set that must contain the candidate equation.\n", + "\n", + "
\n", + "Note:\n", + "Degeneracy Hunter requires a suitable MILP solver, users can specify their solver of choice via a configuration argument. The default option is SCIP (https://scipopt.org/) which is an open-source solver.\n", + "
\n", + "\n", + "The cell below shows how to create an instance of Degeneracy Hunter and generate a report of the irreducible degenerate sets." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "dh = dt.prepare_degeneracy_hunter()\n", + "dh.report_irreducible_degenerate_sets()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As can be seen above, Degeneracy Hunter identified two constraints as potentially redundant (the duplicate constraints ``con2`` and ``con5``). Degeneracy Hunter then reports an Irreducible Degenerate Set for each of these constraints, which in the case as identical. More complex models may have partially overlapping IDS's.\n", + "\n", + "These results show us that ``con2`` and ``con5`` are mutually redundant; i.e., we can eliminate one of these with no effect on the model solution." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Reformulate Model to Remove Redundant Constraint\n", + "\n", + "Now let's reformulate the model by removing the redundant equality constraint ``con5`` and solve the reformulated model." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "m2 = build_example(include_redundant_constraint=False)\n", + "\n", + "solver.solve(m2, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "First, let us check to see if the optimal solution has changed." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "m2.x.display()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We get the same answer as before, but careful inspection of the Ipopt output reveals a subtle improvement. Notice `ls` is only 1 or 2 for all of the iterations, in contrast to more than 20 for the original model. This means Ipopt is taking (nearly) full steps for all iterations.\n", + "\n", + "Let's also compare the number of function evaluations.\n", + "\n", + "Original model (using Ipopt 3.13.2 with `ma27`):\n", + "```\n", + "Number of objective function evaluations = 111\n", + "Number of objective gradient evaluations = 17\n", + "Number of equality constraint evaluations = 111\n", + "Number of inequality constraint evaluations = 111\n", + "Number of equality constraint Jacobian evaluations = 17\n", + "Number of inequality constraint Jacobian evaluations = 17\n", + "Number of Lagrangian Hessian evaluations = 16\n", + "```\n", + "\n", + "Reformulated model (using Ipopt 3.13.2 with `ma27`):\n", + "```\n", + "Number of objective function evaluations = 23\n", + "Number of objective gradient evaluations = 18\n", + "Number of equality constraint evaluations = 23\n", + "Number of inequality constraint evaluations = 23\n", + "Number of equality constraint Jacobian evaluations = 18\n", + "Number of inequality constraint Jacobian evaluations = 18\n", + "Number of Lagrangian Hessian evaluations = 17\n", + "```\n", + "\n", + "Removing a **single redundant constraint** reduced the number of objective and constraint evaluations by a **factor of 5**!\n", + "\n", + "Often degenerate equations have a much worse impact on large-scale problems; for example, degenerate equations can cause Ipopt to require many more iterations or terminate at an infeasible point.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "import pytest\n", + "\n", + "assert pyo.value(m2.x[1]) == pytest.approx(1, rel=1e-6)\n", + "assert pyo.value(m2.x[2]) == pytest.approx(0, abs=1e-6)\n", + "assert pyo.value(m2.x[3]) == pytest.approx(0, abs=1e-6)" + ] } - ], - "source": [ - "m2 = build_example(include_redundant_constraint=False)\n", - "\n", - "solver.solve(m2, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "First, let us check to see if the optimal solution has changed." - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "x : Size=3, Index=I\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " 1 : 0 : 1.0000000005924994 : 5 : False : False : Reals\n", - " 2 : 0 : 0.0 : 5 : False : False : Reals\n", - " 3 : 0 : 4.55844318120227e-11 : 5 : False : False : Reals\n" - ] + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.5" } - ], - "source": [ - "m2.x.display()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We get the same answer as before, but careful inspection of the Ipopt output reveals a subtle improvement. Notice `ls` is only 1 or 2 for all of the iterations, in contrast to more than 20 for the original model. This means Ipopt is taking (nearly) full steps for all iterations.\n", - "\n", - "Let's also compare the number of function evaluations.\n", - "\n", - "Original model (using Ipopt 3.13.2 with `ma27`):\n", - "```\n", - "Number of objective function evaluations = 111\n", - "Number of objective gradient evaluations = 17\n", - "Number of equality constraint evaluations = 111\n", - "Number of inequality constraint evaluations = 111\n", - "Number of equality constraint Jacobian evaluations = 17\n", - "Number of inequality constraint Jacobian evaluations = 17\n", - "Number of Lagrangian Hessian evaluations = 16\n", - "```\n", - "\n", - "Reformulated model (using Ipopt 3.13.2 with `ma27`):\n", - "```\n", - "Number of objective function evaluations = 23\n", - "Number of objective gradient evaluations = 18\n", - "Number of equality constraint evaluations = 23\n", - "Number of inequality constraint evaluations = 23\n", - "Number of equality constraint Jacobian evaluations = 18\n", - "Number of inequality constraint Jacobian evaluations = 18\n", - "Number of Lagrangian Hessian evaluations = 17\n", - "```\n", - "\n", - "Removing a **single redundant constraint** reduced the number of objective and constraint evaluations by a **factor of 5**!\n", - "\n", - "Often degenerate equations have a much worse impact on large-scale problems; for example, degenerate equations can cause Ipopt to require many more iterations or terminate at an infeasible point.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "import pytest\n", - "\n", - "assert pyo.value(m2.x[1]) == pytest.approx(1, rel=1e-6)\n", - "assert pyo.value(m2.x[2]) == pytest.approx(0, abs=1e-6)\n", - "assert pyo.value(m2.x[3]) == pytest.approx(0, abs=1e-6)" - ] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.5" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/diagnostics/degeneracy_hunter_usr.ipynb b/idaes_examples/notebooks/docs/diagnostics/degeneracy_hunter_usr.ipynb index 340fdfcb..17d8b407 100644 --- a/idaes_examples/notebooks/docs/diagnostics/degeneracy_hunter_usr.ipynb +++ b/idaes_examples/notebooks/docs/diagnostics/degeneracy_hunter_usr.ipynb @@ -1,836 +1,432 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Degeneracy Hunter Examples\n", - "Author: Prof. Alex Dowling (adowling@nd.edu), University of Notre Dame \n", - "Maintainer: Andrew Lee \n", - "Updated: 2023-06-01 \n", - "\n", - "> Alexander W. Dowling and Lorenz T. Biegler (2015). Degeneracy Hunter: An Algorithm for Determining Irreducible Sets of Degenerate Constraints in Mathematical Programs. 12th International Symposium on Process Systems Engineering and 25th European Symposium on Computer Aided Process Engineering. Ed. by Krist V. Gernaey, Jakob K. Huusom, and Raqul Gani. Computer-Aided Chemical Engineering, Vol. 37, p. 809 – 814. [link to PDF](https://dowlinglab.nd.edu/assets/447116/2015_degeneracy_hunter_an_algorithm_for_determining_irreducible_sets_of_degenerate_constraints_in_mathematical_prog.pdf)\n", - "\n", - "This notebook shows how to use the Degeneracy Hunter tool which is part of the IDAES Diagnostics Toolbox features using two motivating examples:\n", - "\n", - "* Inspect constraint violations and bounds of a Pyomo model\n", - "* Compute the Irreducible Degenerate Set (IDS) for a Pyomo model\n", - "* Demonstrates the performance benefits in Ipopt from removing a single redundant constraint\n", - "\n", - "
\n", - "Note:\n", - "Degeneracy Hunter requires a suitable MILP solver. This example uses the open-source solver SCIP (https://scipopt.org/), however users may specify another solver of their choice if they have one available.\n", - "
\n", - "\n", - "## What does Degeneracy Mean?\n", - "\n", - "In simple terms, a degenerate model contains one or more constraints that do not add any additional information that is not already included in other constraints in the model. The simplest example of this is the case where a constraint in the model is duplicated. For example, consider the model below:\n", - "\n", - "$$\\begin{align*}\n", - "& x_1 + x_2 = 1 \\\\\n", - "& x_1 + x_2 = 1 \\\\\n", - "\\end{align*} $$\n", - "\n", - "Notice the two equality constraints are identical and thus redundant. This means the constraint qualifications that solvers rely on (e.g., [Linear Independence Constraint Qualification or LICQ](https://en.wikipedia.org/wiki/Karush%E2%80%93Kuhn%E2%80%93Tucker_conditions#Regularity_conditions_(or_constraint_qualifications))) do not hold which has three important implications:\n", - "\n", - "1. The optimal solution may not be mathematically well-defined (e.g., the dual variables are not unique)\n", - "2. The calculations performed by the optimization solver may become numerically poorly scaled\n", - "3. Theoretical convergence properties of optimization algorithms may not hold\n", - "\n", - "Put another way, for a deterministic (square) problem we required that the number of equality constraints be equal to the number of free variables. In this case, there appear to be two equality constraints but in reality there is effectively only one as the two constraints are the same. Thus, the problem is not well defined and there exist a family of solutions that can satisfy the constraints given; any combination of values for ``x1`` and ``x2`` that sum to one will satisfy the constraints as written.\n", - "\n", - "In practice, degeneracies are rarely as straight-forward as a duplicated constraint. A more common occurrence is a set of linearly dependent constraints; that is a system of constraints where one constraint in the set can be formed by a linear combination of other constraints in the set. For example:\n", - "\n", - "$$\\begin{align*}\n", - "& x_1 + x_2 + x_3 = 1 \\\\\n", - "& 2x_1 + 2x_2 + 2x_3 = 2 \\\\\n", - "\\end{align*} $$\n", - "\n", - "Here, the second constraint can be formed by multiplying the first constraint by two. Another common example of linearly dependent constraints is the combination of a set of material balances for all components in a system and an overall material balance. In this case, the overall material balances can be formed by adding all the individual component balances together. Depending on the number of components being modeled, this system of constraints can be quite large, but the end result is the same; the model effectively has one less constraint than it would appear to have.\n", - "\n", - "The absolute best defense against this is to detect degenerate equations and reformulate the model to remove them; this is the purpose of Degeneracy Hunter. Let's see it in action." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Setup\n", - "\n", - "We start by importing Pyomo and the IDAES Diagnostics Toolbox." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "import pyomo.environ as pyo\n", - "\n", - "from idaes.core.util.model_diagnostics import DiagnosticsToolbox" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Example: Linear Program with Redundant Equality Constraints" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's apply these tools to a poorly formulated optimization problem:\n", - "\n", - "$$\\begin{align*} \\min_{\\mathbf{x}} \\quad & \\sum_{i=\\{1,...,3\\}} x_i \\\\\n", - "\\mathrm{s.t.}~~& x_1 + x_2 \\geq 1 \\\\\n", - "& x_1 + x_2 + x_3 = 1 \\\\\n", - "& x_2 - 2 x_3 \\leq 1 \\\\\n", - "& x_1 + x_3 \\geq 1 \\\\\n", - "& x_1 + x_2 + x_3 = 1 \\\\\n", - "\\end{align*} $$\n", - "\n", - "As you can see, this is similar to our example above with duplicated equality constraints.\n", - "\n", - "The cell below shows how to construct this model in Pyomo." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "def build_example(include_redundant_constraint=True):\n", - " m = pyo.ConcreteModel()\n", - "\n", - " m.I = pyo.Set(initialize=[i for i in range(1, 4)])\n", - "\n", - " m.x = pyo.Var(m.I, bounds=(0, 5), initialize=1.0)\n", - "\n", - " m.con1 = pyo.Constraint(expr=m.x[1] + m.x[2] >= 1)\n", - " m.con2 = pyo.Constraint(expr=m.x[1] + m.x[2] + m.x[3] == 1)\n", - " m.con3 = pyo.Constraint(expr=m.x[2] - 2 * m.x[3] <= 1)\n", - " m.con4 = pyo.Constraint(expr=m.x[1] + m.x[3] >= 1)\n", - "\n", - " if include_redundant_constraint:\n", - " m.con5 = pyo.Constraint(expr=m.x[1] + m.x[2] + m.x[3] == 1)\n", - "\n", - " m.obj = pyo.Objective(expr=sum(m.x[i] for i in m.I))\n", - "\n", - " return m\n", - "\n", - "\n", - "m = build_example()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Check for Structural Issues\n", - "\n", - "Before we try to solve the model, the first thing we should do is use the Diagnostics Toolbox to check for any structural issues in our model. The cell below creates an instance of the Diagnostics Toolbox and calls the ``report_structural_issues`` method." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ + "cells": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 3 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 3\n", - " Fixed Variables in Activated Constraints: 0 (External: 0)\n", - " Activated Equality Constraints: 2 (Deactivated: 0)\n", - " Activated Inequality Constraints: 3 (Deactivated: 0)\n", - " Activated Objectives: 1 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 WARNINGS\n", - "\n", - " WARNING: 1 Degree of Freedom\n", - " WARNING: Structural singularity found\n", - " Under-Constrained Set: 3 variables, 2 constraints\n", - " Over-Constrained Set: 0 variables, 0 constraints\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 Cautions\n", - "\n", - " No cautions found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_underconstrained_set()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt = DiagnosticsToolbox(m)\n", - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As you can see, the toolbox is reporting one degree of freedom and a structural singularity. In this case, these are both expected as we are trying to solve an optimization problem with one degree of freedom so we can move on to the next step. \n", - "\n", - "### Evaluate the initial point\n", - "\n", - "Before we try to solve our degenerate model, it can often be useful to check the state of the model at the initial step seen by the solver. The cell below creates an instance of Ipopt and sets the iteration limit to 0 so that it terminates at the initial condition." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: max_iter=0\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 6\n", - "Number of nonzeros in inequality constraint Jacobian.: 6\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 3\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 3\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 2\n", - "Total number of inequality constraints...............: 3\n", - " inequality constraints with only lower bounds: 2\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 1\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 3.0000000e+00 2.00e+00 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "\n", - "Number of Iterations....: 0\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 3.0000000000000000e+00 3.0000000000000000e+00\n", - "Dual infeasibility......: 1.0000000000000000e+00 1.0000000000000000e+00\n", - "Constraint violation....: 2.0000000000000000e+00 2.0000000000000000e+00\n", - "Complementarity.........: 4.0000000499999997e+00 4.0000000499999997e+00\n", - "Overall NLP error.......: 4.0000000499999997e+00 4.0000000499999997e+00\n", - "\n", - "\n", - "Number of objective function evaluations = 1\n", - "Number of objective gradient evaluations = 1\n", - "Number of equality constraint evaluations = 1\n", - "Number of inequality constraint evaluations = 1\n", - "Number of equality constraint Jacobian evaluations = 1\n", - "Number of inequality constraint Jacobian evaluations = 1\n", - "Number of Lagrangian Hessian evaluations = 0\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Maximum Number of Iterations Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n" - ] + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Degeneracy Hunter Examples\n", + "Author: Prof. Alex Dowling (adowling@nd.edu), University of Notre Dame \n", + "Maintainer: Andrew Lee \n", + "Updated: 2023-06-01 \n", + "\n", + "> Alexander W. Dowling and Lorenz T. Biegler (2015). Degeneracy Hunter: An Algorithm for Determining Irreducible Sets of Degenerate Constraints in Mathematical Programs. 12th International Symposium on Process Systems Engineering and 25th European Symposium on Computer Aided Process Engineering. Ed. by Krist V. Gernaey, Jakob K. Huusom, and Raqul Gani. Computer-Aided Chemical Engineering, Vol. 37, p. 809 \u2013 814. [link to PDF](https://dowlinglab.nd.edu/assets/447116/2015_degeneracy_hunter_an_algorithm_for_determining_irreducible_sets_of_degenerate_constraints_in_mathematical_prog.pdf)\n", + "\n", + "This notebook shows how to use the Degeneracy Hunter tool which is part of the IDAES Diagnostics Toolbox features using two motivating examples:\n", + "\n", + "* Inspect constraint violations and bounds of a Pyomo model\n", + "* Compute the Irreducible Degenerate Set (IDS) for a Pyomo model\n", + "* Demonstrates the performance benefits in Ipopt from removing a single redundant constraint\n", + "\n", + "
\n", + "Note:\n", + "Degeneracy Hunter requires a suitable MILP solver. This example uses the open-source solver SCIP (https://scipopt.org/), however users may specify another solver of their choice if they have one available.\n", + "
\n", + "\n", + "## What does Degeneracy Mean?\n", + "\n", + "In simple terms, a degenerate model contains one or more constraints that do not add any additional information that is not already included in other constraints in the model. The simplest example of this is the case where a constraint in the model is duplicated. For example, consider the model below:\n", + "\n", + "$$\\begin{align*}\n", + "& x_1 + x_2 = 1 \\\\\n", + "& x_1 + x_2 = 1 \\\\\n", + "\\end{align*} $$\n", + "\n", + "Notice the two equality constraints are identical and thus redundant. This means the constraint qualifications that solvers rely on (e.g., [Linear Independence Constraint Qualification or LICQ](https://en.wikipedia.org/wiki/Karush%E2%80%93Kuhn%E2%80%93Tucker_conditions#Regularity_conditions_(or_constraint_qualifications))) do not hold which has three important implications:\n", + "\n", + "1. The optimal solution may not be mathematically well-defined (e.g., the dual variables are not unique)\n", + "2. The calculations performed by the optimization solver may become numerically poorly scaled\n", + "3. Theoretical convergence properties of optimization algorithms may not hold\n", + "\n", + "Put another way, for a deterministic (square) problem we required that the number of equality constraints be equal to the number of free variables. In this case, there appear to be two equality constraints but in reality there is effectively only one as the two constraints are the same. Thus, the problem is not well defined and there exist a family of solutions that can satisfy the constraints given; any combination of values for ``x1`` and ``x2`` that sum to one will satisfy the constraints as written.\n", + "\n", + "In practice, degeneracies are rarely as straight-forward as a duplicated constraint. A more common occurrence is a set of linearly dependent constraints; that is a system of constraints where one constraint in the set can be formed by a linear combination of other constraints in the set. For example:\n", + "\n", + "$$\\begin{align*}\n", + "& x_1 + x_2 + x_3 = 1 \\\\\n", + "& 2x_1 + 2x_2 + 2x_3 = 2 \\\\\n", + "\\end{align*} $$\n", + "\n", + "Here, the second constraint can be formed by multiplying the first constraint by two. Another common example of linearly dependent constraints is the combination of a set of material balances for all components in a system and an overall material balance. In this case, the overall material balances can be formed by adding all the individual component balances together. Depending on the number of components being modeled, this system of constraints can be quite large, but the end result is the same; the model effectively has one less constraint than it would appear to have.\n", + "\n", + "The absolute best defense against this is to detect degenerate equations and reformulate the model to remove them; this is the purpose of Degeneracy Hunter. Let's see it in action." + ] }, { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 5, 'Number of variables': 3, 'Sense': 'unknown'}], 'Solver': [{'Status': 'warning', 'Message': 'Ipopt 3.13.2\\\\x3a Maximum Number of Iterations Exceeded.', 'Termination condition': 'maxIterations', 'Id': 400, 'Error rc': 0, 'Time': 0.004778385162353516}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Setup\n", + "\n", + "We start by importing Pyomo and the IDAES Diagnostics Toolbox." ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "solver = pyo.SolverFactory(\"ipopt\")\n", - "\n", - "# Specifying an iteration limit of 0 allows us to inspect the initial point\n", - "solver.options[\"max_iter\"] = 0\n", - "\n", - "# \"Solving\" the model with an iteration limit of 0 load the initial point and applies\n", - "# any preprocessors (e.g., enforces bounds)\n", - "solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Identify constraints with large residuals at the initial point\n", - "\n", - "With the solution at the initial point, we can then use the Diagnostics Toolbox to check the residuals of all constraints at the initial point." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following constraint(s) have large residuals (>1.0E-05):\n", - "\n", - " con2: 2.00000E+00\n", - " con5: 2.00000E+00\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "# Check for large residuals\n", - "dt.display_constraints_with_large_residuals()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can also check for variables which are close to (or outside of) their bounds." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import pyomo.environ as pyo\n", + "\n", + "from idaes.core.util.model_diagnostics import DiagnosticsToolbox" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following variable(s) have values close to their bounds (abs=1.0E-04, rel=1.0E-04):\n", - "\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.display_variables_near_bounds()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Solve the optimization problem and extract the solution\n", - "\n", - "There appear to be no significant issues at the initial point, so let us move on to solving the optimization problem." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example: Linear Program with Redundant Equality Constraints" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: max_iter=50\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 6\n", - "Number of nonzeros in inequality constraint Jacobian.: 6\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 3\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 3\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 2\n", - "Total number of inequality constraints...............: 3\n", - " inequality constraints with only lower bounds: 2\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 1\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 3.0000000e+00 2.00e+00 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 1.3934810e+00 3.93e-01 2.17e-01 -1.0 1.23e+00 - 7.90e-01 8.03e-01h 1\n", - " 2 1.0184419e+00 1.84e-02 1.26e-02 -1.7 7.02e-01 - 9.41e-01 9.53e-01h 1\n", - " 3 1.0011246e+00 1.12e-03 3.82e-02 -2.5 1.50e-02 - 1.00e+00 9.39e-01h 1\n", - " 4 1.0006914e+00 6.91e-04 3.12e+00 -2.5 3.17e-03 - 1.00e+00 3.85e-01h 1\n", - " 5 1.0002664e+00 2.66e-04 4.35e+00 -2.5 1.12e-03 - 1.00e+00 6.15e-01h 1\n", - " 6 1.0001115e+00 1.12e-04 1.07e+01 -2.5 4.99e-04 - 1.00e+00 5.82e-01h 1\n", - " 7 1.0000788e+00 7.88e-05 4.33e+01 -2.5 1.88e-04 - 1.00e+00 2.94e-01f 2\n", - " 8 1.0000153e+00 1.53e-05 2.19e+01 -2.5 6.85e-05 - 1.00e+00 8.08e-01h 1\n", - " 9 1.0000118e+00 1.18e-05 2.78e+02 -2.5 3.47e-05 - 1.00e+00 2.45e-01f 2\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 1.0000014e+00 1.44e-06 2.83e-08 -2.5 7.79e-06 - 1.00e+00 1.00e+00h 1\n", - " 11 1.0000000e+00 1.39e-09 1.84e-11 -5.7 2.56e-06 - 1.00e+00 1.00e+00h 1\n", - " 12 1.0000000e+00 1.39e-09 1.24e+02 -8.6 1.16e-08 - 1.00e+00 9.54e-07h 21\n", - " 13 9.9999999e-01 9.82e-09 1.14e-13 -8.6 1.33e-08 - 1.00e+00 1.00e+00s 22\n", - " 14 9.9999999e-01 9.96e-09 6.46e-14 -8.6 2.29e-10 - 1.00e+00 1.00e+00s 22\n", - " 15 9.9999999e-01 9.96e-09 1.82e+02 -9.0 4.00e-11 - 1.00e+00 9.54e-07h 21\n", - " 16 9.9999999e-01 1.00e-08 1.52e-13 -9.0 5.89e-11 - 1.00e+00 1.00e+00s 22\n", - "\n", - "Number of Iterations....: 16\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 9.9999999000238915e-01 9.9999999000238915e-01\n", - "Dual infeasibility......: 1.5188693260016487e-13 1.5188693260016487e-13\n", - "Constraint violation....: 9.9976108502985994e-09 9.9976108502985994e-09\n", - "Complementarity.........: 9.2217032157601989e-10 9.2217032157601989e-10\n", - "Overall NLP error.......: 9.9976108502985994e-09 9.9976108502985994e-09\n", - "\n", - "\n", - "Number of objective function evaluations = 111\n", - "Number of objective gradient evaluations = 17\n", - "Number of equality constraint evaluations = 111\n", - "Number of inequality constraint evaluations = 111\n", - "Number of equality constraint Jacobian evaluations = 17\n", - "Number of inequality constraint Jacobian evaluations = 17\n", - "Number of Lagrangian Hessian evaluations = 16\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's apply these tools to a poorly formulated optimization problem:\n", + "\n", + "$$\\begin{align*} \\min_{\\mathbf{x}} \\quad & \\sum_{i=\\{1,...,3\\}} x_i \\\\\n", + "\\mathrm{s.t.}~~& x_1 + x_2 \\geq 1 \\\\\n", + "& x_1 + x_2 + x_3 = 1 \\\\\n", + "& x_2 - 2 x_3 \\leq 1 \\\\\n", + "& x_1 + x_3 \\geq 1 \\\\\n", + "& x_1 + x_2 + x_3 = 1 \\\\\n", + "\\end{align*} $$\n", + "\n", + "As you can see, this is similar to our example above with duplicated equality constraints.\n", + "\n", + "The cell below shows how to construct this model in Pyomo." + ] }, { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 5, 'Number of variables': 3, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.04887509346008301}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "def build_example(include_redundant_constraint=True):\n", + " m = pyo.ConcreteModel()\n", + "\n", + " m.I = pyo.Set(initialize=[i for i in range(1, 4)])\n", + "\n", + " m.x = pyo.Var(m.I, bounds=(0, 5), initialize=1.0)\n", + "\n", + " m.con1 = pyo.Constraint(expr=m.x[1] + m.x[2] >= 1)\n", + " m.con2 = pyo.Constraint(expr=m.x[1] + m.x[2] + m.x[3] == 1)\n", + " m.con3 = pyo.Constraint(expr=m.x[2] - 2 * m.x[3] <= 1)\n", + " m.con4 = pyo.Constraint(expr=m.x[1] + m.x[3] >= 1)\n", + "\n", + " if include_redundant_constraint:\n", + " m.con5 = pyo.Constraint(expr=m.x[1] + m.x[2] + m.x[3] == 1)\n", + "\n", + " m.obj = pyo.Objective(expr=sum(m.x[i] for i in m.I))\n", + "\n", + " return m\n", + "\n", + "\n", + "m = build_example()" ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "solver.options[\"max_iter\"] = 50\n", - "solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We got lucky here. Ipopt implements several algorithmic and numerical safeguards to handle (mildy) degenerate equations. Nevertheless, notice the last column of the Ipopt output labeled `ls`. This is the number of line search evaluations. For iterations 0 to 11, `ls` is 1, which means Ipopt is taking full steps. For iterations 12 to 16, however, `ls` is greater than 20. This means Ipopt is struggling (a little) to converge to the solution.\n", - "\n", - "The cell below shows the values of the variables at the solution." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "x : Size=3, Index=I\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " 1 : 0 : 1.0000000099975996 : 5 : False : False : Reals\n", - " 2 : 0 : 0.0 : 5 : False : False : Reals\n", - " 3 : 0 : 0.0 : 5 : False : False : Reals\n" - ] - } - ], - "source": [ - "m.x.display()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Check the rank of the Jacobian of the equality constraints\n", - "\n", - "One way to check for the presence of degenerate equations is to calculate the rank of the Jacobian matrix of the equality constraints. A singular value near 0 indicates the Jacobian is rank deficient, and for each near-zero singular value there is likely one degenerate constraint.\n", - "\n", - "The Diagnostics Toolbox contains a Singular Value Decomposition (SVD) toolbox which can be used to determine the number of small singular values in the Jacobian for a model as shown below." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Check for Structural Issues\n", + "\n", + "Before we try to solve the model, the first thing we should do is use the Diagnostics Toolbox to check for any structural issues in our model. The cell below creates an instance of the Diagnostics Toolbox and calls the ``report_structural_issues`` method." + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "\n", - "Number of Singular Values less than 1.0E-06 is 1\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "svd = dt.prepare_svd_toolbox()\n", - "svd.display_rank_of_equality_constraints()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As can be seen above, there is one singular value less than 1e-6, suggesting we have one degenerate constraint." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Finding Irreducible Degenerate Sets (IDS)\n", - "\n", - "Next, we can use Degeneracy Hunter to identify irreducible degenerate sets; that is, the smallest set of constraints that contain a redundant constraint.\n", - "\n", - "Degeneracy Hunter first identifies candidate degenerate equations by solving a mixed integer linear program (MILP). It then iterates through the candidate equations and solves a second MILP for each to compute the irreducible degenerate set that must contain the candidate equation.\n", - "\n", - "
\n", - "Note:\n", - "Degeneracy Hunter requires a suitable MILP solver, users can specify their solver of choice via a configuration argument. The default option is SCIP (https://scipopt.org/) which is an open-source solver.\n", - "
\n", - "\n", - "The cell below shows how to create an instance of Degeneracy Hunter and generate a report of the irreducible degenerate sets." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "dt = DiagnosticsToolbox(m)\n", + "dt.report_structural_issues()" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Searching for Candidate Equations\n", - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Building MILP model.\n", - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Solving Candidates MILP model.\n", - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Searching for Irreducible Degenerate Sets\n", - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Building MILP model to compute irreducible degenerate set.\n", - "Solving MILP 1 of 2.\n", - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Solving IDS MILP for constraint con2.\n", - "Solving MILP 2 of 2.\n", - "2023-11-17 14:33:20 [INFO] idaes.core.util.model_diagnostics: Solving IDS MILP for constraint con5.\n", - "====================================================================================\n", - "Irreducible Degenerate Sets\n", - "\n", - " Irreducible Degenerate Set 0\n", - " nu Constraint Name\n", - " 1.0 con2\n", - " -1.0 con5\n", - "\n", - " Irreducible Degenerate Set 1\n", - " nu Constraint Name\n", - " -1.0 con2\n", - " 1.0 con5\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dh = dt.prepare_degeneracy_hunter()\n", - "dh.report_irreducible_degenerate_sets()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As can be seen above, Degeneracy Hunter identified two constraints as potentially redundant (the duplicate constraints ``con2`` and ``con5``). Degeneracy Hunter then reports an Irreducible Degenerate Set for each of these constraints, which in the case as identical. More complex models may have partially overlapping IDS's.\n", - "\n", - "These results show us that ``con2`` and ``con5`` are mutually redundant; i.e., we can eliminate one of these with no effect on the model solution." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Reformulate Model to Remove Redundant Constraint\n", - "\n", - "Now let's reformulate the model by removing the redundant equality constraint ``con5`` and solve the reformulated model." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As you can see, the toolbox is reporting one degree of freedom and a structural singularity. In this case, these are both expected as we are trying to solve an optimization problem with one degree of freedom so we can move on to the next step. \n", + "\n", + "### Evaluate the initial point\n", + "\n", + "Before we try to solve our degenerate model, it can often be useful to check the state of the model at the initial step seen by the solver. The cell below creates an instance of Ipopt and sets the iteration limit to 0 so that it terminates at the initial condition." + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: max_iter=50\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 3\n", - "Number of nonzeros in inequality constraint Jacobian.: 6\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 3\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 3\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 1\n", - "Total number of inequality constraints...............: 3\n", - " inequality constraints with only lower bounds: 2\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 1\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 3.0000000e+00 2.00e+00 6.30e-01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 1.3934810e+00 3.93e-01 1.34e-01 -1.0 1.23e+00 - 7.90e-01 8.03e-01f 1\n", - " 2 1.0184419e+00 1.84e-02 9.15e-03 -1.7 7.02e-01 - 9.41e-01 9.53e-01h 1\n", - " 3 1.0011246e+00 1.12e-03 3.88e-02 -2.5 1.50e-02 - 1.00e+00 9.39e-01h 1\n", - " 4 1.0006914e+00 6.91e-04 3.12e+00 -2.5 3.17e-03 - 1.00e+00 3.85e-01h 1\n", - " 5 1.0002664e+00 2.66e-04 4.35e+00 -2.5 1.12e-03 - 1.00e+00 6.15e-01h 1\n", - " 6 1.0001115e+00 1.12e-04 1.07e+01 -2.5 5.00e-04 - 1.00e+00 5.81e-01h 1\n", - " 7 1.0000788e+00 7.88e-05 4.34e+01 -2.5 1.88e-04 - 1.00e+00 2.93e-01f 2\n", - " 8 1.0000154e+00 1.54e-05 2.26e+01 -2.5 6.89e-05 - 1.00e+00 8.04e-01h 1\n", - " 9 1.0000118e+00 1.18e-05 2.98e+02 -2.5 3.64e-05 - 1.00e+00 2.33e-01f 2\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 1.0000020e+00 2.04e-06 1.33e+02 -2.5 9.72e-06 - 1.00e+00 8.28e-01h 1\n", - " 11 1.0000016e+00 1.61e-06 2.26e+03 -2.5 4.79e-06 - 1.00e+00 2.12e-01f 2\n", - " 12 1.0000002e+00 2.46e-07 8.72e+02 -2.5 1.20e-06 - 1.00e+00 8.47e-01h 1\n", - " 13 1.0000002e+00 1.95e-07 1.71e+04 -2.5 7.02e-07 - 1.00e+00 2.09e-01f 2\n", - " 14 1.0000000e+00 1.54e-08 3.23e+03 -2.5 1.50e-07 - 1.00e+00 9.21e-01h 1\n", - " 15 1.0000000e+00 1.15e-08 9.99e+04 -2.5 6.89e-08 - 1.00e+00 2.54e-01f 2\n", - " 16 1.0000000e+00 2.22e-16 2.83e-08 -2.5 8.21e-09 - 1.00e+00 1.00e+00h 1\n", - " 17 1.0000000e+00 2.22e-16 4.14e-11 -8.6 8.25e-16 - 1.00e+00 1.00e+00 0\n", - "\n", - "Number of Iterations....: 17\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 9.9999999999999978e-01 9.9999999999999978e-01\n", - "Dual infeasibility......: 4.1425156707686206e-11 4.1425156707686206e-11\n", - "Constraint violation....: 2.2204460492503131e-16 2.2204460492503131e-16\n", - "Complementarity.........: 2.6658012082875325e-09 2.6658012082875325e-09\n", - "Overall NLP error.......: 2.6658012082875325e-09 2.6658012082875325e-09\n", - "\n", - "\n", - "Number of objective function evaluations = 23\n", - "Number of objective gradient evaluations = 18\n", - "Number of equality constraint evaluations = 23\n", - "Number of inequality constraint evaluations = 23\n", - "Number of equality constraint Jacobian evaluations = 18\n", - "Number of inequality constraint Jacobian evaluations = 18\n", - "Number of Lagrangian Hessian evaluations = 17\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "solver = pyo.SolverFactory(\"ipopt\")\n", + "\n", + "# Specifying an iteration limit of 0 allows us to inspect the initial point\n", + "solver.options[\"max_iter\"] = 0\n", + "\n", + "# \"Solving\" the model with an iteration limit of 0 load the initial point and applies\n", + "# any preprocessors (e.g., enforces bounds)\n", + "solver.solve(m, tee=True)" + ] }, { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 4, 'Number of variables': 3, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.006506204605102539}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Identify constraints with large residuals at the initial point\n", + "\n", + "With the solution at the initial point, we can then use the Diagnostics Toolbox to check the residuals of all constraints at the initial point." ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "m2 = build_example(include_redundant_constraint=False)\n", - "\n", - "solver.solve(m2, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "First, let us check to see if the optimal solution has changed." - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "x : Size=3, Index=I\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " 1 : 0 : 1.0000000005924994 : 5 : False : False : Reals\n", - " 2 : 0 : 0.0 : 5 : False : False : Reals\n", - " 3 : 0 : 4.55844318120227e-11 : 5 : False : False : Reals\n" - ] + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# Check for large residuals\n", + "dt.display_constraints_with_large_residuals()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can also check for variables which are close to (or outside of) their bounds." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "dt.display_variables_near_bounds()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Solve the optimization problem and extract the solution\n", + "\n", + "There appear to be no significant issues at the initial point, so let us move on to solving the optimization problem." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "solver.options[\"max_iter\"] = 50\n", + "solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We got lucky here. Ipopt implements several algorithmic and numerical safeguards to handle (mildy) degenerate equations. Nevertheless, notice the last column of the Ipopt output labeled `ls`. This is the number of line search evaluations. For iterations 0 to 11, `ls` is 1, which means Ipopt is taking full steps. For iterations 12 to 16, however, `ls` is greater than 20. This means Ipopt is struggling (a little) to converge to the solution.\n", + "\n", + "The cell below shows the values of the variables at the solution." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "m.x.display()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Check the rank of the Jacobian of the equality constraints\n", + "\n", + "One way to check for the presence of degenerate equations is to calculate the rank of the Jacobian matrix of the equality constraints. A singular value near 0 indicates the Jacobian is rank deficient, and for each near-zero singular value there is likely one degenerate constraint.\n", + "\n", + "The Diagnostics Toolbox contains a Singular Value Decomposition (SVD) toolbox which can be used to determine the number of small singular values in the Jacobian for a model as shown below." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "svd = dt.prepare_svd_toolbox()\n", + "svd.display_rank_of_equality_constraints()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As can be seen above, there is one singular value less than 1e-6, suggesting we have one degenerate constraint." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Finding Irreducible Degenerate Sets (IDS)\n", + "\n", + "Next, we can use Degeneracy Hunter to identify irreducible degenerate sets; that is, the smallest set of constraints that contain a redundant constraint.\n", + "\n", + "Degeneracy Hunter first identifies candidate degenerate equations by solving a mixed integer linear program (MILP). It then iterates through the candidate equations and solves a second MILP for each to compute the irreducible degenerate set that must contain the candidate equation.\n", + "\n", + "
\n", + "Note:\n", + "Degeneracy Hunter requires a suitable MILP solver, users can specify their solver of choice via a configuration argument. The default option is SCIP (https://scipopt.org/) which is an open-source solver.\n", + "
\n", + "\n", + "The cell below shows how to create an instance of Degeneracy Hunter and generate a report of the irreducible degenerate sets." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "dh = dt.prepare_degeneracy_hunter()\n", + "dh.report_irreducible_degenerate_sets()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As can be seen above, Degeneracy Hunter identified two constraints as potentially redundant (the duplicate constraints ``con2`` and ``con5``). Degeneracy Hunter then reports an Irreducible Degenerate Set for each of these constraints, which in the case as identical. More complex models may have partially overlapping IDS's.\n", + "\n", + "These results show us that ``con2`` and ``con5`` are mutually redundant; i.e., we can eliminate one of these with no effect on the model solution." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Reformulate Model to Remove Redundant Constraint\n", + "\n", + "Now let's reformulate the model by removing the redundant equality constraint ``con5`` and solve the reformulated model." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "m2 = build_example(include_redundant_constraint=False)\n", + "\n", + "solver.solve(m2, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "First, let us check to see if the optimal solution has changed." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "m2.x.display()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We get the same answer as before, but careful inspection of the Ipopt output reveals a subtle improvement. Notice `ls` is only 1 or 2 for all of the iterations, in contrast to more than 20 for the original model. This means Ipopt is taking (nearly) full steps for all iterations.\n", + "\n", + "Let's also compare the number of function evaluations.\n", + "\n", + "Original model (using Ipopt 3.13.2 with `ma27`):\n", + "```\n", + "Number of objective function evaluations = 111\n", + "Number of objective gradient evaluations = 17\n", + "Number of equality constraint evaluations = 111\n", + "Number of inequality constraint evaluations = 111\n", + "Number of equality constraint Jacobian evaluations = 17\n", + "Number of inequality constraint Jacobian evaluations = 17\n", + "Number of Lagrangian Hessian evaluations = 16\n", + "```\n", + "\n", + "Reformulated model (using Ipopt 3.13.2 with `ma27`):\n", + "```\n", + "Number of objective function evaluations = 23\n", + "Number of objective gradient evaluations = 18\n", + "Number of equality constraint evaluations = 23\n", + "Number of inequality constraint evaluations = 23\n", + "Number of equality constraint Jacobian evaluations = 18\n", + "Number of inequality constraint Jacobian evaluations = 18\n", + "Number of Lagrangian Hessian evaluations = 17\n", + "```\n", + "\n", + "Removing a **single redundant constraint** reduced the number of objective and constraint evaluations by a **factor of 5**!\n", + "\n", + "Often degenerate equations have a much worse impact on large-scale problems; for example, degenerate equations can cause Ipopt to require many more iterations or terminate at an infeasible point.\n" + ] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.5" } - ], - "source": [ - "m2.x.display()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We get the same answer as before, but careful inspection of the Ipopt output reveals a subtle improvement. Notice `ls` is only 1 or 2 for all of the iterations, in contrast to more than 20 for the original model. This means Ipopt is taking (nearly) full steps for all iterations.\n", - "\n", - "Let's also compare the number of function evaluations.\n", - "\n", - "Original model (using Ipopt 3.13.2 with `ma27`):\n", - "```\n", - "Number of objective function evaluations = 111\n", - "Number of objective gradient evaluations = 17\n", - "Number of equality constraint evaluations = 111\n", - "Number of inequality constraint evaluations = 111\n", - "Number of equality constraint Jacobian evaluations = 17\n", - "Number of inequality constraint Jacobian evaluations = 17\n", - "Number of Lagrangian Hessian evaluations = 16\n", - "```\n", - "\n", - "Reformulated model (using Ipopt 3.13.2 with `ma27`):\n", - "```\n", - "Number of objective function evaluations = 23\n", - "Number of objective gradient evaluations = 18\n", - "Number of equality constraint evaluations = 23\n", - "Number of inequality constraint evaluations = 23\n", - "Number of equality constraint Jacobian evaluations = 18\n", - "Number of inequality constraint Jacobian evaluations = 18\n", - "Number of Lagrangian Hessian evaluations = 17\n", - "```\n", - "\n", - "Removing a **single redundant constraint** reduced the number of objective and constraint evaluations by a **factor of 5**!\n", - "\n", - "Often degenerate equations have a much worse impact on large-scale problems; for example, degenerate equations can cause Ipopt to require many more iterations or terminate at an infeasible point.\n" - ] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.5" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/diagnostics/diagnostics_toolbox.ipynb b/idaes_examples/notebooks/docs/diagnostics/diagnostics_toolbox.ipynb index 88a87541..95011343 100755 --- a/idaes_examples/notebooks/docs/diagnostics/diagnostics_toolbox.ipynb +++ b/idaes_examples/notebooks/docs/diagnostics/diagnostics_toolbox.ipynb @@ -17,12 +17,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -96,403 +97,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Help on class DiagnosticsToolbox in module idaes.core.util.model_diagnostics:\n", - "\n", - "class DiagnosticsToolbox(builtins.object)\n", - " | DiagnosticsToolbox(model: pyomo.core.base.block._BlockData, **kwargs)\n", - " | \n", - " | The IDAES Model DiagnosticsToolbox.\n", - " | \n", - " | To get started:\n", - " | \n", - " | 1. Create an instance of your model (this does not need to be initialized yet).\n", - " | 2. Fix variables until you have 0 degrees of freedom. Many of these tools presume\n", - " | a square model, and a square model should always be the foundation of any more\n", - " | advanced model.\n", - " | 3. Create an instance of the DiagnosticsToolbox and provide the model to debug as\n", - " | the model argument.\n", - " | 4. Call the ``report_structural_issues()`` method.\n", - " | \n", - " | Model diagnostics is an iterative process and you will likely need to run these\n", - " | tools multiple times to resolve all issues. After making a change to your model,\n", - " | you should always start from the beginning again to ensure the change did not\n", - " | introduce any new issues; i.e., always start from the report_structural_issues()\n", - " | method.\n", - " | \n", - " | Note that structural checks do not require the model to be initialized, thus users\n", - " | should start with these. Numerical checks require at least a partial solution to the\n", - " | model and should only be run once all structural issues have been resolved.\n", - " | \n", - " | Report methods will print a summary containing three parts:\n", - " | \n", - " | 1. Warnings - these are critical issues that should be resolved before continuing.\n", - " | For each warning, a method will be suggested in the Next Steps section to get\n", - " | additional information.\n", - " | 2. Cautions - these are things that could be correct but could also be the source of\n", - " | solver issues. Not all cautions need to be addressed, but users should investigate\n", - " | each one to ensure that the behavior is correct and that they will not be the source\n", - " | of difficulties later. Methods exist to provide more information on all cautions,\n", - " | but these will not appear in the Next Steps section.\n", - " | 3. Next Steps - these are recommended methods to call from the DiagnosticsToolbox to\n", - " | get further information on warnings. If no warnings are found, this will suggest\n", - " | the next report method to call.\n", - " | \n", - " | Args:\n", - " | \n", - " | model: model to be diagnosed. The DiagnosticsToolbox does not support indexed Blocks.\n", - " | \n", - " | Keyword Arguments\n", - " | -----------------\n", - " | variable_bounds_absolute_tolerance: float, default=0.0001\n", - " | Absolute tolerance for considering a variable to be close to its\n", - " | bounds.\n", - " | \n", - " | variable_bounds_relative_tolerance: float, default=0.0001\n", - " | Relative tolerance for considering a variable to be close to its\n", - " | bounds.\n", - " | \n", - " | variable_bounds_violation_tolerance: float, default=0\n", - " | Absolute tolerance for considering a variable to violate its bounds.\n", - " | Some solvers relax bounds on variables thus allowing a small violation\n", - " | to be considered acceptable.\n", - " | \n", - " | constraint_residual_tolerance: float, default=1e-05\n", - " | Absolute tolerance to use when checking constraint residuals.\n", - " | \n", - " | variable_large_value_tolerance: float, default=10000.0\n", - " | Absolute tolerance for considering a value to be large.\n", - " | \n", - " | variable_small_value_tolerance: float, default=0.0001\n", - " | Absolute tolerance for considering a value to be small.\n", - " | \n", - " | variable_zero_value_tolerance: float, default=1e-08\n", - " | Absolute tolerance for considering a value to be near to zero.\n", - " | \n", - " | jacobian_large_value_caution: float, default=10000.0\n", - " | Tolerance for raising a caution for large Jacobian values.\n", - " | \n", - " | jacobian_large_value_warning: float, default=100000000.0\n", - " | Tolerance for raising a warning for large Jacobian values.\n", - " | \n", - " | jacobian_small_value_caution: float, default=0.0001\n", - " | Tolerance for raising a caution for small Jacobian values.\n", - " | \n", - " | jacobian_small_value_warning: float, default=1e-08\n", - " | Tolerance for raising a warning for small Jacobian values.\n", - " | \n", - " | warn_for_evaluation_error_at_bounds: bool, default=True\n", - " | If False, warnings will not be generated for things like log(x) with x\n", - " | >= 0\n", - " | \n", - " | Methods defined here:\n", - " | \n", - " | __init__(self, model: pyomo.core.base.block._BlockData, **kwargs)\n", - " | Initialize self. See help(type(self)) for accurate signature.\n", - " | \n", - " | assert_no_numerical_warnings(self)\n", - " | Checks for numerical warnings in the model and raises an AssertionError\n", - " | if any are found.\n", - " | \n", - " | Raises:\n", - " | AssertionError if any warnings are identified by numerical analysis.\n", - " | \n", - " | assert_no_structural_warnings(self)\n", - " | Checks for structural warnings in the model and raises an AssertionError\n", - " | if any are found.\n", - " | \n", - " | Raises:\n", - " | AssertionError if any warnings are identified by structural analysis.\n", - " | \n", - " | display_components_with_inconsistent_units(self, stream=None)\n", - " | Prints a list of all Constraints, Expressions and Objectives in the\n", - " | model with inconsistent units of measurement.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_constraints_with_extreme_jacobians(self, stream=None)\n", - " | Prints the constraints associated with rows in the Jacobian with extreme\n", - " | L2 norms. This often indicates poorly scaled constraints.\n", - " | \n", - " | Tolerances can be set via the DiagnosticsToolbox config.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the output to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_constraints_with_large_residuals(self, stream=None)\n", - " | Prints a list of Constraints with residuals greater than a specified tolerance.\n", - " | Tolerance can be set in the class configuration options.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_external_variables(self, stream=None)\n", - " | Prints a list of variables that appear within activated Constraints in the\n", - " | model but are not contained within the model themselves.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_extreme_jacobian_entries(self, stream=None)\n", - " | Prints variables and constraints associated with entries in the Jacobian with extreme\n", - " | values. This can be indicative of poor scaling, especially for isolated terms (e.g.\n", - " | variables which appear only in one term of a single constraint).\n", - " | \n", - " | Tolerances can be set via the DiagnosticsToolbox config.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the output to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_overconstrained_set(self, stream=None)\n", - " | Prints the variables and constraints in the over-constrained sub-problem\n", - " | from a Dulmage-Mendelsohn partitioning.\n", - " | \n", - " | This can be used to identify the over-defined part of a model and thus\n", - " | where constraints must be removed or variables unfixed.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_potential_evaluation_errors(self, stream=None)\n", - " | Prints constraints that may be prone to evaluation errors\n", - " | (e.g., log of a negative number) based on variable bounds.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the output to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_underconstrained_set(self, stream=None)\n", - " | Prints the variables and constraints in the under-constrained sub-problem\n", - " | from a Dulmage-Mendelsohn partitioning.\n", - " | \n", - " | This can be used to identify the under-defined part of a model and thus\n", - " | where additional information (fixed variables or constraints) are required.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_unused_variables(self, stream=None)\n", - " | Prints a list of variables that do not appear in any activated Constraints.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_at_or_outside_bounds(self, stream=None)\n", - " | Prints a list of variables with values that fall at or outside the bounds\n", - " | on the variable.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_fixed_to_zero(self, stream=None)\n", - " | Prints a list of variables that are fixed to an absolute value of 0.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_near_bounds(self, stream=None)\n", - " | Prints a list of variables with values close to their bounds. Tolerance can\n", - " | be set in the class configuration options.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_with_extreme_jacobians(self, stream=None)\n", - " | Prints the variables associated with columns in the Jacobian with extreme\n", - " | L2 norms. This often indicates poorly scaled variables.\n", - " | \n", - " | Tolerances can be set via the DiagnosticsToolbox config.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the output to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_with_extreme_values(self, stream=None)\n", - " | Prints a list of variables with extreme values.\n", - " | \n", - " | Tolerances can be set in the class configuration options.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_with_none_value(self, stream=None)\n", - " | Prints a list of variables with a value of None.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_with_value_near_zero(self, stream=None)\n", - " | Prints a list of variables with a value close to zero. The tolerance\n", - " | for determining what is close to zero can be set in the class configuration\n", - " | options.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | get_dulmage_mendelsohn_partition(self)\n", - " | Performs a Dulmage-Mendelsohn partitioning on the model and returns\n", - " | the over- and under-constrained sub-problems.\n", - " | \n", - " | Returns:\n", - " | list-of-lists variables in each independent block of the under-constrained set\n", - " | list-of-lists constraints in each independent block of the under-constrained set\n", - " | list-of-lists variables in each independent block of the over-constrained set\n", - " | list-of-lists constraints in each independent block of the over-constrained set\n", - " | \n", - " | prepare_degeneracy_hunter(self, **kwargs)\n", - " | Create an instance of the DegeneracyHunter and store as self.degeneracy_hunter.\n", - " | \n", - " | After creating an instance of the toolbox, call\n", - " | report_irreducible_degenerate_sets.\n", - " | \n", - " | Returns:\n", - " | \n", - " | Instance of DegeneracyHunter\n", - " | \n", - " | Keyword Arguments\n", - " | -----------------\n", - " | solver: str, default='scip'\n", - " | MILP solver to use for finding irreducible degenerate sets.\n", - " | \n", - " | solver_options: optional\n", - " | Options to pass to MILP solver.\n", - " | \n", - " | M: float, default=100000.0\n", - " | Maximum value for nu in MILP models.\n", - " | \n", - " | m_small: float, default=1e-05\n", - " | Smallest value for nu to be considered non-zero in MILP models.\n", - " | \n", - " | trivial_constraint_tolerance: float, default=1e-06\n", - " | Tolerance for identifying non-zero rows in Jacobian.\n", - " | \n", - " | prepare_svd_toolbox(self, **kwargs)\n", - " | Create an instance of the SVDToolbox and store as self.svd_toolbox.\n", - " | \n", - " | After creating an instance of the toolbox, call\n", - " | display_underdetermined_variables_and_constraints().\n", - " | \n", - " | Returns:\n", - " | \n", - " | Instance of SVDToolbox\n", - " | \n", - " | Keyword Arguments\n", - " | -----------------\n", - " | number_of_smallest_singular_values: PositiveInt, optional\n", - " | Number of smallest singular values to compute\n", - " | \n", - " | svd_callback: svd_callback_validator, default=\n", - " | Callback to SVD method of choice (default = svd_dense). Callbacks\n", - " | should take the Jacobian and number of singular values to compute as\n", - " | options, plus any method specific arguments, and should return the u,\n", - " | s and v matrices as numpy arrays.\n", - " | \n", - " | svd_callback_arguments: dict, optional\n", - " | Optional arguments to pass to SVD callback (default = None)\n", - " | \n", - " | singular_value_tolerance: float, default=1e-06\n", - " | Tolerance for defining a small singular value\n", - " | \n", - " | size_cutoff_in_singular_vector: float, default=0.1\n", - " | Size below which to ignore constraints and variables in the singular\n", - " | vector\n", - " | \n", - " | report_numerical_issues(self, stream=None)\n", - " | Generates a summary report of any numerical issues identified in the model provided\n", - " | and suggest next steps for debugging model.\n", - " | \n", - " | Numerical checks should only be performed once all structural issues have been resolved,\n", - " | and require that at least a partial solution to the model is available.\n", - " | \n", - " | Args:\n", - " | stream: I/O object to write report to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | report_structural_issues(self, stream=None)\n", - " | Generates a summary report of any structural issues identified in the model provided\n", - " | and suggests next steps for debugging the model.\n", - " | \n", - " | This should be the first method called when debugging a model and after any change\n", - " | is made to the model. These checks can be run before trying to initialize and solve\n", - " | the model.\n", - " | \n", - " | Args:\n", - " | stream: I/O object to write report to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | ----------------------------------------------------------------------\n", - " | Readonly properties defined here:\n", - " | \n", - " | model\n", - " | Model currently being diagnosed.\n", - " | \n", - " | ----------------------------------------------------------------------\n", - " | Data descriptors defined here:\n", - " | \n", - " | __dict__\n", - " | dictionary for instance variables (if defined)\n", - " | \n", - " | __weakref__\n", - " | list of weak references to the object (if defined)\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "help(DiagnosticsToolbox)" ] @@ -618,49 +223,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 4 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 3 (External: 0)\n", - " Activated Equality Constraints: 4 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 WARNINGS\n", - "\n", - " WARNING: 1 Component with inconsistent units\n", - " WARNING: Structural singularity found\n", - " Under-Constrained Set: 3 variables, 2 constraints\n", - " Over-Constrained Set: 1 variables, 2 constraints\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 Cautions\n", - "\n", - " Caution: 1 variable fixed to 0\n", - " Caution: 1 unused variable (0 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_components_with_inconsistent_units()\n", - " display_underconstrained_set()\n", - " display_overconstrained_set()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.report_structural_issues()" ] @@ -716,22 +279,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following component(s) have unit consistency issues:\n", - "\n", - " c1\n", - "\n", - "For more details on unit inconsistencies, import the assert_units_consistent method\n", - "from pyomo.util.check_units\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.display_components_with_inconsistent_units()" ] @@ -809,47 +357,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 4 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 3 (External: 0)\n", - " Activated Equality Constraints: 4 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 WARNINGS\n", - "\n", - " WARNING: Structural singularity found\n", - " Under-Constrained Set: 3 variables, 2 constraints\n", - " Over-Constrained Set: 1 variables, 2 constraints\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 Cautions\n", - "\n", - " Caution: 1 variable fixed to 0\n", - " Caution: 1 unused variable (0 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_underconstrained_set()\n", - " display_overconstrained_set()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.report_structural_issues()" ] @@ -892,29 +400,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Dulmage-Mendelsohn Over-Constrained Set\n", - "\n", - " Independent Block 0:\n", - "\n", - " Variables:\n", - "\n", - " v3\n", - "\n", - " Constraints:\n", - "\n", - " c2\n", - " c3\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.display_overconstrained_set()" ] @@ -966,47 +452,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 5 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 2 (External: 0)\n", - " Activated Equality Constraints: 4 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 WARNINGS\n", - "\n", - " WARNING: 1 Degree of Freedom\n", - " WARNING: Structural singularity found\n", - " Under-Constrained Set: 3 variables, 2 constraints\n", - " Over-Constrained Set: 0 variables, 0 constraints\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 Cautions\n", - "\n", - " Caution: 1 variable fixed to 0\n", - " Caution: 1 unused variable (0 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_underconstrained_set()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "m.v4.unfix()\n", "\n", @@ -1049,31 +495,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Dulmage-Mendelsohn Under-Constrained Set\n", - "\n", - " Independent Block 0:\n", - "\n", - " Variables:\n", - "\n", - " v2\n", - " v1\n", - " v7\n", - "\n", - " Constraints:\n", - "\n", - " c1\n", - " c4\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.display_underconstrained_set()" ] @@ -1119,44 +541,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 4 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 3 (External: 0)\n", - " Activated Equality Constraints: 4 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 Cautions\n", - "\n", - " Caution: 1 variable fixed to 0\n", - " Caution: 1 unused variable (0 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " Try to initialize/solve your model and then call report_numerical_issues()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "m.v2.fix(5)\n", "\n", @@ -1203,104 +588,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 7\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 4\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 2\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 4\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 1.40e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 1.39e+01 1.50e+02 -1.0 6.00e+00 - 7.16e-01 4.93e-03h 1\n", - " 2 0.0000000e+00 1.39e+01 3.03e+06 -1.0 5.97e+00 - 1.00e+00 4.95e-05h 1\n", - " 3r 0.0000000e+00 1.39e+01 1.00e+03 1.1 0.00e+00 - 0.00e+00 2.47e-07R 2\n", - " 4r 0.0000000e+00 4.19e+00 9.42e+02 1.1 3.50e+03 - 4.02e-01 3.37e-03f 1\n", - " 5r 0.0000000e+00 2.12e+00 8.72e+02 1.1 5.89e+01 - 4.35e-01 7.06e-02f 1\n", - " 6r 0.0000000e+00 6.74e-01 6.06e+02 1.1 5.29e+00 - 9.93e-03 3.98e-01f 1\n", - " 7r 0.0000000e+00 6.80e-01 3.14e+02 0.4 2.05e-01 - 1.00e+00 1.03e-01f 1\n", - " 8r 0.0000000e+00 6.69e-01 2.78e-05 0.4 2.58e-02 - 1.00e+00 1.00e+00f 1\n", - " 9r 0.0000000e+00 6.67e-01 7.56e+00 -1.7 8.13e-03 - 9.93e-01 9.96e-01f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10r 0.0000000e+00 6.67e-01 2.23e-07 -1.7 4.13e-05 - 1.00e+00 1.00e+00f 1\n", - " 11r 0.0000000e+00 6.67e-01 6.73e-01 -3.7 6.61e-05 - 1.00e+00 1.00e+00f 1\n", - " 12r 0.0000000e+00 6.67e-01 1.91e-09 -3.7 1.48e-09 - 1.00e+00 1.00e+00h 1\n", - " 13r 0.0000000e+00 6.67e-01 2.69e+00 -8.4 5.74e-07 - 1.00e+00 9.26e-01f 1\n", - " 14r 0.0000000e+00 6.67e-01 7.65e+01 -8.4 4.23e-08 - 8.68e-01 1.00e+00f 1\n", - "\n", - "Number of Iterations....: 14\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 3.2644919411246030e-04 3.2644919411246030e-04\n", - "Constraint violation....: 6.6666666333656233e-01 6.6666666333656233e-01\n", - "Complementarity.........: 4.6615546565561981e-09 4.6615546565561981e-09\n", - "Overall NLP error.......: 6.6666666333656233e-01 6.6666666333656233e-01\n", - "\n", - "\n", - "Number of objective function evaluations = 18\n", - "Number of objective gradient evaluations = 5\n", - "Number of equality constraint evaluations = 18\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 17\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 15\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.003\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Converged to a point of local infeasibility. Problem may be infeasible.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: infeasible\n", - " - message from solver: Ipopt 3.13.2\\x3a Converged to a locally infeasible\n", - " point. Problem may be infeasible.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 4, 'Number of variables': 4, 'Sense': 'unknown'}], 'Solver': [{'Status': 'warning', 'Message': 'Ipopt 3.13.2\\\\x3a Converged to a locally infeasible point. Problem may be infeasible.', 'Termination condition': 'infeasible', 'Id': 200, 'Error rc': 0, 'Time': 0.007064104080200195}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "solver = pyo.SolverFactory(\"ipopt\")\n", "solver.solve(m, tee=True)" @@ -1347,41 +635,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 1.700E+01\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 WARNINGS\n", - "\n", - " WARNING: 1 Constraint with large residuals (>1.0E-05)\n", - " WARNING: 1 Variable at or outside bounds (tol=0.0E+00)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "5 Cautions\n", - "\n", - " Caution: 2 Variables with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 2 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 1 Variable with extreme value (<1.0E-04 or >1.0E+04)\n", - " Caution: 1 Variable with None value\n", - " Caution: 1 extreme Jacobian Entry (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_constraints_with_large_residuals()\n", - " display_variables_at_or_outside_bounds()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.report_numerical_issues()" ] @@ -1426,20 +680,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following constraint(s) have large residuals (>1.0E-05):\n", - "\n", - " c2: 6.66667E-01\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.display_constraints_with_large_residuals()" ] @@ -1489,20 +730,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following variable(s) have values at or outside their bounds (tol=0.0E+00):\n", - "\n", - " v3 (free): value=0.0 bounds=(0, 5)\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.display_variables_at_or_outside_bounds()" ] @@ -1601,44 +829,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 4 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 3 (External: 0)\n", - " Activated Equality Constraints: 4 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 Cautions\n", - "\n", - " Caution: 1 variable fixed to 0\n", - " Caution: 1 unused variable (0 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " Try to initialize/solve your model and then call report_numerical_issues()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.report_structural_issues()" ] @@ -1679,87 +870,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 7\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 4\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 2\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 4\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 6.67e-01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 6.66e-03 2.97e+00 -1.0 2.00e+00 - 7.17e-01 9.90e-01h 1\n", - " 2 0.0000000e+00 6.27e-05 9.38e+00 -1.0 2.00e-02 - 1.00e+00 9.91e-01h 1\n", - " 3 0.0000000e+00 8.88e-16 1.13e-12 -1.0 1.88e-04 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 8.8817841970012523e-16 8.8817841970012523e-16\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 8.8817841970012523e-16 8.8817841970012523e-16\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 4, 'Number of variables': 4, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.02317023277282715}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "solver.solve(m, tee=True)" ] @@ -1811,41 +922,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 1.700E+01\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "5 Cautions\n", - "\n", - " Caution: 1 Variable with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 1 Variable with value close to zero (tol=1.0E-08)\n", - " Caution: 1 Variable with extreme value (<1.0E-04 or >1.0E+04)\n", - " Caution: 1 Variable with None value\n", - " Caution: 1 extreme Jacobian Entry (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " If you still have issues converging your model consider:\n", - " prepare_svd_toolbox()\n", - " prepare_degeneracy_hunter()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.report_numerical_issues()" ] @@ -1886,20 +963,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following variable(s) have extreme values (<1.0E-04 or > 1.0E+04):\n", - "\n", - " v7: 4.9999999999999945e-08\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.display_variables_with_extreme_values()" ] @@ -1968,85 +1032,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 7\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 4\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 2\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 4\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 5.33e-15 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "\n", - "Number of Iterations....: 0\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 5.3290705182007514e-15 5.3290705182007514e-15\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 5.3290705182007514e-15 5.3290705182007514e-15\n", - "\n", - "\n", - "Number of objective function evaluations = 1\n", - "Number of objective gradient evaluations = 1\n", - "Number of equality constraint evaluations = 1\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 1\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 0\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\b\b\b\b\b\b\b\b\b\b\b\b\b\b" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 4, 'Number of variables': 4, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.0058002471923828125}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 43, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "solver.solve(scaled_model, tee=True)" ] @@ -2114,39 +1100,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 1.800E+01\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "3 Cautions\n", - "\n", - " Caution: 1 Variable with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 1 Variable with value close to zero (tol=1.0E-08)\n", - " Caution: 1 Variable with None value\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " If you still have issues converging your model consider:\n", - " prepare_svd_toolbox()\n", - " prepare_degeneracy_hunter()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt_scaled = DiagnosticsToolbox(scaled_model)\n", "dt_scaled.report_numerical_issues()" diff --git a/idaes_examples/notebooks/docs/diagnostics/diagnostics_toolbox_doc.ipynb b/idaes_examples/notebooks/docs/diagnostics/diagnostics_toolbox_doc.ipynb index d1cc0390..a26b5b95 100644 --- a/idaes_examples/notebooks/docs/diagnostics/diagnostics_toolbox_doc.ipynb +++ b/idaes_examples/notebooks/docs/diagnostics/diagnostics_toolbox_doc.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -77,403 +78,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Help on class DiagnosticsToolbox in module idaes.core.util.model_diagnostics:\n", - "\n", - "class DiagnosticsToolbox(builtins.object)\n", - " | DiagnosticsToolbox(model: pyomo.core.base.block._BlockData, **kwargs)\n", - " | \n", - " | The IDAES Model DiagnosticsToolbox.\n", - " | \n", - " | To get started:\n", - " | \n", - " | 1. Create an instance of your model (this does not need to be initialized yet).\n", - " | 2. Fix variables until you have 0 degrees of freedom. Many of these tools presume\n", - " | a square model, and a square model should always be the foundation of any more\n", - " | advanced model.\n", - " | 3. Create an instance of the DiagnosticsToolbox and provide the model to debug as\n", - " | the model argument.\n", - " | 4. Call the ``report_structural_issues()`` method.\n", - " | \n", - " | Model diagnostics is an iterative process and you will likely need to run these\n", - " | tools multiple times to resolve all issues. After making a change to your model,\n", - " | you should always start from the beginning again to ensure the change did not\n", - " | introduce any new issues; i.e., always start from the report_structural_issues()\n", - " | method.\n", - " | \n", - " | Note that structural checks do not require the model to be initialized, thus users\n", - " | should start with these. Numerical checks require at least a partial solution to the\n", - " | model and should only be run once all structural issues have been resolved.\n", - " | \n", - " | Report methods will print a summary containing three parts:\n", - " | \n", - " | 1. Warnings - these are critical issues that should be resolved before continuing.\n", - " | For each warning, a method will be suggested in the Next Steps section to get\n", - " | additional information.\n", - " | 2. Cautions - these are things that could be correct but could also be the source of\n", - " | solver issues. Not all cautions need to be addressed, but users should investigate\n", - " | each one to ensure that the behavior is correct and that they will not be the source\n", - " | of difficulties later. Methods exist to provide more information on all cautions,\n", - " | but these will not appear in the Next Steps section.\n", - " | 3. Next Steps - these are recommended methods to call from the DiagnosticsToolbox to\n", - " | get further information on warnings. If no warnings are found, this will suggest\n", - " | the next report method to call.\n", - " | \n", - " | Args:\n", - " | \n", - " | model: model to be diagnosed. The DiagnosticsToolbox does not support indexed Blocks.\n", - " | \n", - " | Keyword Arguments\n", - " | -----------------\n", - " | variable_bounds_absolute_tolerance: float, default=0.0001\n", - " | Absolute tolerance for considering a variable to be close to its\n", - " | bounds.\n", - " | \n", - " | variable_bounds_relative_tolerance: float, default=0.0001\n", - " | Relative tolerance for considering a variable to be close to its\n", - " | bounds.\n", - " | \n", - " | variable_bounds_violation_tolerance: float, default=0\n", - " | Absolute tolerance for considering a variable to violate its bounds.\n", - " | Some solvers relax bounds on variables thus allowing a small violation\n", - " | to be considered acceptable.\n", - " | \n", - " | constraint_residual_tolerance: float, default=1e-05\n", - " | Absolute tolerance to use when checking constraint residuals.\n", - " | \n", - " | variable_large_value_tolerance: float, default=10000.0\n", - " | Absolute tolerance for considering a value to be large.\n", - " | \n", - " | variable_small_value_tolerance: float, default=0.0001\n", - " | Absolute tolerance for considering a value to be small.\n", - " | \n", - " | variable_zero_value_tolerance: float, default=1e-08\n", - " | Absolute tolerance for considering a value to be near to zero.\n", - " | \n", - " | jacobian_large_value_caution: float, default=10000.0\n", - " | Tolerance for raising a caution for large Jacobian values.\n", - " | \n", - " | jacobian_large_value_warning: float, default=100000000.0\n", - " | Tolerance for raising a warning for large Jacobian values.\n", - " | \n", - " | jacobian_small_value_caution: float, default=0.0001\n", - " | Tolerance for raising a caution for small Jacobian values.\n", - " | \n", - " | jacobian_small_value_warning: float, default=1e-08\n", - " | Tolerance for raising a warning for small Jacobian values.\n", - " | \n", - " | warn_for_evaluation_error_at_bounds: bool, default=True\n", - " | If False, warnings will not be generated for things like log(x) with x\n", - " | >= 0\n", - " | \n", - " | Methods defined here:\n", - " | \n", - " | __init__(self, model: pyomo.core.base.block._BlockData, **kwargs)\n", - " | Initialize self. See help(type(self)) for accurate signature.\n", - " | \n", - " | assert_no_numerical_warnings(self)\n", - " | Checks for numerical warnings in the model and raises an AssertionError\n", - " | if any are found.\n", - " | \n", - " | Raises:\n", - " | AssertionError if any warnings are identified by numerical analysis.\n", - " | \n", - " | assert_no_structural_warnings(self)\n", - " | Checks for structural warnings in the model and raises an AssertionError\n", - " | if any are found.\n", - " | \n", - " | Raises:\n", - " | AssertionError if any warnings are identified by structural analysis.\n", - " | \n", - " | display_components_with_inconsistent_units(self, stream=None)\n", - " | Prints a list of all Constraints, Expressions and Objectives in the\n", - " | model with inconsistent units of measurement.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_constraints_with_extreme_jacobians(self, stream=None)\n", - " | Prints the constraints associated with rows in the Jacobian with extreme\n", - " | L2 norms. This often indicates poorly scaled constraints.\n", - " | \n", - " | Tolerances can be set via the DiagnosticsToolbox config.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the output to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_constraints_with_large_residuals(self, stream=None)\n", - " | Prints a list of Constraints with residuals greater than a specified tolerance.\n", - " | Tolerance can be set in the class configuration options.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_external_variables(self, stream=None)\n", - " | Prints a list of variables that appear within activated Constraints in the\n", - " | model but are not contained within the model themselves.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_extreme_jacobian_entries(self, stream=None)\n", - " | Prints variables and constraints associated with entries in the Jacobian with extreme\n", - " | values. This can be indicative of poor scaling, especially for isolated terms (e.g.\n", - " | variables which appear only in one term of a single constraint).\n", - " | \n", - " | Tolerances can be set via the DiagnosticsToolbox config.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the output to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_overconstrained_set(self, stream=None)\n", - " | Prints the variables and constraints in the over-constrained sub-problem\n", - " | from a Dulmage-Mendelsohn partitioning.\n", - " | \n", - " | This can be used to identify the over-defined part of a model and thus\n", - " | where constraints must be removed or variables unfixed.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_potential_evaluation_errors(self, stream=None)\n", - " | Prints constraints that may be prone to evaluation errors\n", - " | (e.g., log of a negative number) based on variable bounds.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the output to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_underconstrained_set(self, stream=None)\n", - " | Prints the variables and constraints in the under-constrained sub-problem\n", - " | from a Dulmage-Mendelsohn partitioning.\n", - " | \n", - " | This can be used to identify the under-defined part of a model and thus\n", - " | where additional information (fixed variables or constraints) are required.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_unused_variables(self, stream=None)\n", - " | Prints a list of variables that do not appear in any activated Constraints.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_at_or_outside_bounds(self, stream=None)\n", - " | Prints a list of variables with values that fall at or outside the bounds\n", - " | on the variable.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_fixed_to_zero(self, stream=None)\n", - " | Prints a list of variables that are fixed to an absolute value of 0.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_near_bounds(self, stream=None)\n", - " | Prints a list of variables with values close to their bounds. Tolerance can\n", - " | be set in the class configuration options.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_with_extreme_jacobians(self, stream=None)\n", - " | Prints the variables associated with columns in the Jacobian with extreme\n", - " | L2 norms. This often indicates poorly scaled variables.\n", - " | \n", - " | Tolerances can be set via the DiagnosticsToolbox config.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the output to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_with_extreme_values(self, stream=None)\n", - " | Prints a list of variables with extreme values.\n", - " | \n", - " | Tolerances can be set in the class configuration options.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_with_none_value(self, stream=None)\n", - " | Prints a list of variables with a value of None.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_with_value_near_zero(self, stream=None)\n", - " | Prints a list of variables with a value close to zero. The tolerance\n", - " | for determining what is close to zero can be set in the class configuration\n", - " | options.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | get_dulmage_mendelsohn_partition(self)\n", - " | Performs a Dulmage-Mendelsohn partitioning on the model and returns\n", - " | the over- and under-constrained sub-problems.\n", - " | \n", - " | Returns:\n", - " | list-of-lists variables in each independent block of the under-constrained set\n", - " | list-of-lists constraints in each independent block of the under-constrained set\n", - " | list-of-lists variables in each independent block of the over-constrained set\n", - " | list-of-lists constraints in each independent block of the over-constrained set\n", - " | \n", - " | prepare_degeneracy_hunter(self, **kwargs)\n", - " | Create an instance of the DegeneracyHunter and store as self.degeneracy_hunter.\n", - " | \n", - " | After creating an instance of the toolbox, call\n", - " | report_irreducible_degenerate_sets.\n", - " | \n", - " | Returns:\n", - " | \n", - " | Instance of DegeneracyHunter\n", - " | \n", - " | Keyword Arguments\n", - " | -----------------\n", - " | solver: str, default='scip'\n", - " | MILP solver to use for finding irreducible degenerate sets.\n", - " | \n", - " | solver_options: optional\n", - " | Options to pass to MILP solver.\n", - " | \n", - " | M: float, default=100000.0\n", - " | Maximum value for nu in MILP models.\n", - " | \n", - " | m_small: float, default=1e-05\n", - " | Smallest value for nu to be considered non-zero in MILP models.\n", - " | \n", - " | trivial_constraint_tolerance: float, default=1e-06\n", - " | Tolerance for identifying non-zero rows in Jacobian.\n", - " | \n", - " | prepare_svd_toolbox(self, **kwargs)\n", - " | Create an instance of the SVDToolbox and store as self.svd_toolbox.\n", - " | \n", - " | After creating an instance of the toolbox, call\n", - " | display_underdetermined_variables_and_constraints().\n", - " | \n", - " | Returns:\n", - " | \n", - " | Instance of SVDToolbox\n", - " | \n", - " | Keyword Arguments\n", - " | -----------------\n", - " | number_of_smallest_singular_values: PositiveInt, optional\n", - " | Number of smallest singular values to compute\n", - " | \n", - " | svd_callback: svd_callback_validator, default=\n", - " | Callback to SVD method of choice (default = svd_dense). Callbacks\n", - " | should take the Jacobian and number of singular values to compute as\n", - " | options, plus any method specific arguments, and should return the u,\n", - " | s and v matrices as numpy arrays.\n", - " | \n", - " | svd_callback_arguments: dict, optional\n", - " | Optional arguments to pass to SVD callback (default = None)\n", - " | \n", - " | singular_value_tolerance: float, default=1e-06\n", - " | Tolerance for defining a small singular value\n", - " | \n", - " | size_cutoff_in_singular_vector: float, default=0.1\n", - " | Size below which to ignore constraints and variables in the singular\n", - " | vector\n", - " | \n", - " | report_numerical_issues(self, stream=None)\n", - " | Generates a summary report of any numerical issues identified in the model provided\n", - " | and suggest next steps for debugging model.\n", - " | \n", - " | Numerical checks should only be performed once all structural issues have been resolved,\n", - " | and require that at least a partial solution to the model is available.\n", - " | \n", - " | Args:\n", - " | stream: I/O object to write report to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | report_structural_issues(self, stream=None)\n", - " | Generates a summary report of any structural issues identified in the model provided\n", - " | and suggests next steps for debugging the model.\n", - " | \n", - " | This should be the first method called when debugging a model and after any change\n", - " | is made to the model. These checks can be run before trying to initialize and solve\n", - " | the model.\n", - " | \n", - " | Args:\n", - " | stream: I/O object to write report to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | ----------------------------------------------------------------------\n", - " | Readonly properties defined here:\n", - " | \n", - " | model\n", - " | Model currently being diagnosed.\n", - " | \n", - " | ----------------------------------------------------------------------\n", - " | Data descriptors defined here:\n", - " | \n", - " | __dict__\n", - " | dictionary for instance variables (if defined)\n", - " | \n", - " | __weakref__\n", - " | list of weak references to the object (if defined)\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "help(DiagnosticsToolbox)" ] @@ -565,49 +170,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 4 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 3 (External: 0)\n", - " Activated Equality Constraints: 4 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 WARNINGS\n", - "\n", - " WARNING: 1 Component with inconsistent units\n", - " WARNING: Structural singularity found\n", - " Under-Constrained Set: 3 variables, 2 constraints\n", - " Over-Constrained Set: 1 variables, 2 constraints\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 Cautions\n", - "\n", - " Caution: 1 variable fixed to 0\n", - " Caution: 1 unused variable (0 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_components_with_inconsistent_units()\n", - " display_underconstrained_set()\n", - " display_overconstrained_set()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.report_structural_issues()" ] @@ -647,22 +210,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following component(s) have unit consistency issues:\n", - "\n", - " c1\n", - "\n", - "For more details on unit inconsistencies, import the assert_units_consistent method\n", - "from pyomo.util.check_units\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.display_components_with_inconsistent_units()" ] @@ -722,47 +270,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 4 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 3 (External: 0)\n", - " Activated Equality Constraints: 4 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 WARNINGS\n", - "\n", - " WARNING: Structural singularity found\n", - " Under-Constrained Set: 3 variables, 2 constraints\n", - " Over-Constrained Set: 1 variables, 2 constraints\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 Cautions\n", - "\n", - " Caution: 1 variable fixed to 0\n", - " Caution: 1 unused variable (0 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_underconstrained_set()\n", - " display_overconstrained_set()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.report_structural_issues()" ] @@ -789,29 +297,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Dulmage-Mendelsohn Over-Constrained Set\n", - "\n", - " Independent Block 0:\n", - "\n", - " Variables:\n", - "\n", - " v3\n", - "\n", - " Constraints:\n", - "\n", - " c2\n", - " c3\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.display_overconstrained_set()" ] @@ -845,47 +331,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 5 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 2 (External: 0)\n", - " Activated Equality Constraints: 4 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 WARNINGS\n", - "\n", - " WARNING: 1 Degree of Freedom\n", - " WARNING: Structural singularity found\n", - " Under-Constrained Set: 3 variables, 2 constraints\n", - " Over-Constrained Set: 0 variables, 0 constraints\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 Cautions\n", - "\n", - " Caution: 1 variable fixed to 0\n", - " Caution: 1 unused variable (0 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_underconstrained_set()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "m.v4.unfix()\n", "\n", @@ -912,31 +358,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Dulmage-Mendelsohn Under-Constrained Set\n", - "\n", - " Independent Block 0:\n", - "\n", - " Variables:\n", - "\n", - " v2\n", - " v1\n", - " v7\n", - "\n", - " Constraints:\n", - "\n", - " c1\n", - " c4\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.display_underconstrained_set()" ] @@ -964,44 +386,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 4 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 3 (External: 0)\n", - " Activated Equality Constraints: 4 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 Cautions\n", - "\n", - " Caution: 1 variable fixed to 0\n", - " Caution: 1 unused variable (0 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " Try to initialize/solve your model and then call report_numerical_issues()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "m.v2.fix(5)\n", "\n", @@ -1030,104 +415,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 7\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 4\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 2\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 4\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 1.40e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 1.39e+01 1.50e+02 -1.0 6.00e+00 - 7.16e-01 4.93e-03h 1\n", - " 2 0.0000000e+00 1.39e+01 3.03e+06 -1.0 5.97e+00 - 1.00e+00 4.95e-05h 1\n", - " 3r 0.0000000e+00 1.39e+01 1.00e+03 1.1 0.00e+00 - 0.00e+00 2.47e-07R 2\n", - " 4r 0.0000000e+00 4.19e+00 9.42e+02 1.1 3.50e+03 - 4.02e-01 3.37e-03f 1\n", - " 5r 0.0000000e+00 2.12e+00 8.72e+02 1.1 5.89e+01 - 4.35e-01 7.06e-02f 1\n", - " 6r 0.0000000e+00 6.74e-01 6.06e+02 1.1 5.29e+00 - 9.93e-03 3.98e-01f 1\n", - " 7r 0.0000000e+00 6.80e-01 3.14e+02 0.4 2.05e-01 - 1.00e+00 1.03e-01f 1\n", - " 8r 0.0000000e+00 6.69e-01 2.78e-05 0.4 2.58e-02 - 1.00e+00 1.00e+00f 1\n", - " 9r 0.0000000e+00 6.67e-01 7.56e+00 -1.7 8.13e-03 - 9.93e-01 9.96e-01f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10r 0.0000000e+00 6.67e-01 2.23e-07 -1.7 4.13e-05 - 1.00e+00 1.00e+00f 1\n", - " 11r 0.0000000e+00 6.67e-01 6.73e-01 -3.7 6.61e-05 - 1.00e+00 1.00e+00f 1\n", - " 12r 0.0000000e+00 6.67e-01 1.91e-09 -3.7 1.48e-09 - 1.00e+00 1.00e+00h 1\n", - " 13r 0.0000000e+00 6.67e-01 2.69e+00 -8.4 5.74e-07 - 1.00e+00 9.26e-01f 1\n", - " 14r 0.0000000e+00 6.67e-01 7.65e+01 -8.4 4.23e-08 - 8.68e-01 1.00e+00f 1\n", - "\n", - "Number of Iterations....: 14\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 3.2644919411246030e-04 3.2644919411246030e-04\n", - "Constraint violation....: 6.6666666333656233e-01 6.6666666333656233e-01\n", - "Complementarity.........: 4.6615546565561981e-09 4.6615546565561981e-09\n", - "Overall NLP error.......: 6.6666666333656233e-01 6.6666666333656233e-01\n", - "\n", - "\n", - "Number of objective function evaluations = 18\n", - "Number of objective gradient evaluations = 5\n", - "Number of equality constraint evaluations = 18\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 17\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 15\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.003\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Converged to a point of local infeasibility. Problem may be infeasible.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: infeasible\n", - " - message from solver: Ipopt 3.13.2\\x3a Converged to a locally infeasible\n", - " point. Problem may be infeasible.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 4, 'Number of variables': 4, 'Sense': 'unknown'}], 'Solver': [{'Status': 'warning', 'Message': 'Ipopt 3.13.2\\\\x3a Converged to a locally infeasible point. Problem may be infeasible.', 'Termination condition': 'infeasible', 'Id': 200, 'Error rc': 0, 'Time': 0.007064104080200195}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "solver = pyo.SolverFactory(\"ipopt\")\n", "solver.solve(m, tee=True)" @@ -1158,41 +446,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 1.700E+01\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 WARNINGS\n", - "\n", - " WARNING: 1 Constraint with large residuals (>1.0E-05)\n", - " WARNING: 1 Variable at or outside bounds (tol=0.0E+00)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "5 Cautions\n", - "\n", - " Caution: 2 Variables with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 2 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 1 Variable with extreme value (<1.0E-04 or >1.0E+04)\n", - " Caution: 1 Variable with None value\n", - " Caution: 1 extreme Jacobian Entry (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_constraints_with_large_residuals()\n", - " display_variables_at_or_outside_bounds()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.report_numerical_issues()" ] @@ -1221,20 +475,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following constraint(s) have large residuals (>1.0E-05):\n", - "\n", - " c2: 6.66667E-01\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.display_constraints_with_large_residuals()" ] @@ -1268,20 +509,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following variable(s) have values at or outside their bounds (tol=0.0E+00):\n", - "\n", - " v3 (free): value=0.0 bounds=(0, 5)\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.display_variables_at_or_outside_bounds()" ] @@ -1348,44 +576,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 4 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 3 (External: 0)\n", - " Activated Equality Constraints: 4 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 Cautions\n", - "\n", - " Caution: 1 variable fixed to 0\n", - " Caution: 1 unused variable (0 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " Try to initialize/solve your model and then call report_numerical_issues()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.report_structural_issues()" ] @@ -1410,87 +601,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 7\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 4\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 2\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 4\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 6.67e-01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 6.66e-03 2.97e+00 -1.0 2.00e+00 - 7.17e-01 9.90e-01h 1\n", - " 2 0.0000000e+00 6.27e-05 9.38e+00 -1.0 2.00e-02 - 1.00e+00 9.91e-01h 1\n", - " 3 0.0000000e+00 8.88e-16 1.13e-12 -1.0 1.88e-04 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 8.8817841970012523e-16 8.8817841970012523e-16\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 8.8817841970012523e-16 8.8817841970012523e-16\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 4, 'Number of variables': 4, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.02317023277282715}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "solver.solve(m, tee=True)" ] @@ -1526,41 +637,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 1.700E+01\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "5 Cautions\n", - "\n", - " Caution: 1 Variable with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 1 Variable with value close to zero (tol=1.0E-08)\n", - " Caution: 1 Variable with extreme value (<1.0E-04 or >1.0E+04)\n", - " Caution: 1 Variable with None value\n", - " Caution: 1 extreme Jacobian Entry (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " If you still have issues converging your model consider:\n", - " prepare_svd_toolbox()\n", - " prepare_degeneracy_hunter()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.report_numerical_issues()" ] @@ -1585,20 +662,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following variable(s) have extreme values (<1.0E-04 or > 1.0E+04):\n", - "\n", - " v7: 4.9999999999999945e-08\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.display_variables_with_extreme_values()" ] @@ -1649,85 +713,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 7\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 4\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 2\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 4\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 5.33e-15 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "\n", - "Number of Iterations....: 0\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 5.3290705182007514e-15 5.3290705182007514e-15\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 5.3290705182007514e-15 5.3290705182007514e-15\n", - "\n", - "\n", - "Number of objective function evaluations = 1\n", - "Number of objective gradient evaluations = 1\n", - "Number of equality constraint evaluations = 1\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 1\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 0\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\b\b\b\b\b\b\b\b\b\b\b\b\b\b" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 4, 'Number of variables': 4, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.0058002471923828125}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 43, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "solver.solve(scaled_model, tee=True)" ] @@ -1760,39 +746,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 1.800E+01\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "3 Cautions\n", - "\n", - " Caution: 1 Variable with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 1 Variable with value close to zero (tol=1.0E-08)\n", - " Caution: 1 Variable with None value\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " If you still have issues converging your model consider:\n", - " prepare_svd_toolbox()\n", - " prepare_degeneracy_hunter()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt_scaled = DiagnosticsToolbox(scaled_model)\n", "dt_scaled.report_numerical_issues()" diff --git a/idaes_examples/notebooks/docs/diagnostics/diagnostics_toolbox_exercise.ipynb b/idaes_examples/notebooks/docs/diagnostics/diagnostics_toolbox_exercise.ipynb index aa02ff4f..2840f6f3 100644 --- a/idaes_examples/notebooks/docs/diagnostics/diagnostics_toolbox_exercise.ipynb +++ b/idaes_examples/notebooks/docs/diagnostics/diagnostics_toolbox_exercise.ipynb @@ -1,788 +1,789 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# IDAES Model Diagnostics Toolbox Tutorial\n", - "Author: Andrew Lee \n", - "Maintainer: Andrew Lee \n", - "Updated: 2023-10-31 \n", - "\n", - "As you have likely discovered already, developing and solving models in an equation-oriented (EO) environment can be challenging and often takes a significant amount of effort. There are many pitfalls and mistakes that can be encountered when developing a model which can greatly impact the solvability and robustness of the final problem.\n", - "\n", - "Model diagnosis and debugging is often more of an art than a science, and it generally relies on significant experience and understanding both of general EO modeling techniques and the specific model and problem being solved. To assist with this process, IDAES has developed a model diagnostics toolbox that brings together a large number of tools for identifying potential issues in a model to help guide the user through the process of finding and resolving these issues. Note however that whilst these tools can help identify the presence of an issue, remedying the issue always requires some degree of engineering knowledge about the system being modeled, and thus it is ultimately up to the user to find a solution to the problem.\n", - "\n", - "This tutorial will take you through using the {py:class}`DiagnosticsToolbox ` to debug a number of issues in a simple Pyomo model and to take it from initially reporting a possible infeasible solution to returning the correct solution.\n", - "\n", - "To get started, the ``DiagnosticsToolbox`` can be imported from ``idaes.core.util``.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Import the DiagnosticsToolbox in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.core.util import DiagnosticsToolbox" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To get some information on where to start, try using the Python ``help()`` function to see the documentation for the ``DiagnosticsToolbox``.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Call `help(DiagnosticsToolbox)` to see some more information on the toolbox and some instructions on how to get started.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Call the help() function for more information" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The ``help()`` function gives us a lot of information on the ``DiagnosticsToolbox`` and all the methods that it supports (and there are many). However, the important part to start with are the four steps outlined at the top of the doc string that tell us how to get started.\n", - "\n", - "Firstly, we need a model to test (and, for this tutorial at least, one that has a wide range of issues that we need to fix before it will solve). We then also need to fix some variables so that we have 0 degrees of freedom in our model. Whilst our ultimate goal is generally optimization (and thus a system with 1 or more degrees of freedom), all models conceptually derive from a square model representing a nominal state. If this nominal state is not well-posed, then any issues present will also be present in the resulting optimization (even if adding degrees of freedom means that the model is now easier to solve).\n", - "\n", - "The cell below contains a demonstration model for this tutorial that contains a number of issues that we will resolve using the ``DiagnosticsToolbox``." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "import pyomo.environ as pyo\n", - "\n", - "m = pyo.ConcreteModel()\n", - "\n", - "m.v1 = pyo.Var(units=pyo.units.m)\n", - "m.v2 = pyo.Var(units=pyo.units.m)\n", - "m.v3 = pyo.Var(bounds=(0, 5))\n", - "m.v4 = pyo.Var()\n", - "m.v5 = pyo.Var(bounds=(0, 10))\n", - "m.v6 = pyo.Var()\n", - "m.v7 = pyo.Var(\n", - " units=pyo.units.m, bounds=(0, 1)\n", - ") # Poorly scaled variable with lower bound\n", - "m.v8 = pyo.Var() # unused variable\n", - "\n", - "m.c1 = pyo.Constraint(expr=m.v1 + m.v2 == 10) # Unit consistency issue\n", - "m.c2 = pyo.Constraint(expr=m.v3 == m.v4 + m.v5)\n", - "m.c3 = pyo.Constraint(expr=2 * m.v3 == 3 * m.v4 + 4 * m.v5 + m.v6)\n", - "m.c4 = pyo.Constraint(expr=m.v7 == 1e-8 * m.v1) # Poorly scaled constraint\n", - "\n", - "m.v4.fix(2)\n", - "m.v5.fix(2)\n", - "m.v6.fix(0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, the instructions tell us to create an instance of the ``DiagnosticsToolbox`` and to pass the model we wish to examine as an argument.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Create an instance of the DiagnosticsToolbox: dt = DiagnosticsToolbox(m)\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Create an instance of the Diagnostics Toolbox" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finally, the instructions tell us to run the ``report_structural_issues()`` method. Structural issues represent issues that exist solely in the form of the model equations and thus do not depend on the current value of any of the variables. This is useful as it means we can check for these before we even call a solver, which can be critical as sometimes these issues will cause a solver to fail without providing a useful solution.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Call dt.report_structural_issues() in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Call the report_structural_issues() method" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Looking at the output from the ``report_structural_issues()`` method, we can see that it provides a fairly short summary containing 4 sections.\n", - "\n", - "1. The first section is a summary of the size of the model, indicating things like the number of variables and constraints. The size of the model is often important for judging how difficult it will be to solve, and this information can also be useful for comparison to what is being sent to the solver. Most solvers will report the size of the model in their output logs, and if there is a difference between what is reported here and by the solver, then you should probably look into what is happening. This section also notes some things such as if you have any deactivated Blocks, Constraints or Objectives, or if you have variables which appear in the constraints that are not part of the model; these are not necessarily wrong but it is easy to have accidentally deactivated something you did not intend to so you should always check to see that these are expected.\n", - "\n", - "2. The second section provides a summary of any critical structural issues that were found - in this case we can see that there are 2 warnings we are going to need to look into. Warnings represent issues that need to be addressed before moving on as these will likely cause the solver to fail or give an incorrect answer.\n", - "\n", - "3. The third section lists a summary of any cautions that are found. Cautions represent issues that may or may not be problematic; in many cases these might be expected behaviors or borderline issues. However, these could also represent conceptual issues that should be addressed, so users should take the time to investigate these and determine if they need to be fixed or not.\n", - "\n", - "4. Finally, there is a section that suggests the next steps to take to help guide you through the model diagnosis process. If any warnings were identified, this section will list methods that can help you get more information on each specific problem, and if no warnings are found then it will guide you onto the next step in the model diagnosis workflow.\n", - "\n", - "**Note:** there are methods available to help investigate cautions as well, but these will not show up in the next steps in order to avoid cluttering the output. You can get more information on the available methods for investigating cautions via the documentation or ``help()`` function.\n", - "\n", - "In our current model, we have 2 critical issues (warnings) that we need to look into and resolve. The order in which we resolve these will generally not matter, but be aware that these can often be interrelated - fixing one warning might resolve other warnings as well (or create new ones), and sometimes you will need to look at multiple issues together to find the overall root cause.\n", - "\n", - "To start with, let us look at the unit consistency issue. From the \"Next Steps\" section above, the toolbox is suggesting we run the ``display_components_with_inconsistent_units()`` method for more information.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Call the `display_components_with_inconsistent_units()` method from the DiagnosticsToolbox to see more information on which constraint is causing the unit consistency issues.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Call the display_components_with_inconsistent_units() method" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This tells us that the issue lies in constraint ``c1``. If we go back and look at this constraint, we can see that it says ``v1 + v2 == 10``. ``v1`` and ``v2`` both have units of ``m`` which is consistent, but the constant in the expression (right hand side) is unitless. Thus, we need to correct this so that the right hand side has units for the constraint to be consistent.\n", - "\n", - "The cell below shows how to delete a constraint and replace it with a new one with the correct units.\n", - "\n", - "
\n", - "Warning:\n", - "Deleting components can cause unexpected issues if something else in a model is using that component (e.g., deleting a variable which is used in a constraint). You should always be careful when deleting Pyomo components and make sure you only delete components that are not used elsewhere.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "# Delete the incorrect Constraint\n", - "m.del_component(m.c1)\n", - "\n", - "# Re-create the Constraint with the correct units\n", - "m.c1 = pyo.Constraint(expr=m.v1 + m.v2 == 10 * pyo.units.m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Warning:\n", - "Fixing issues in models is often an iterative process requiring trial and error. You might also have some results from a model before running the diagnostics tools and the changes you make during debugging may make it difficult to replicate those results afterwards.\n", - " \n", - "It is strongly recommended that you keep a record of the changes you make at each step and why, along with a Git hash (or similar version control marker) corresponding to these changes. This will allow you see what changes and why, and give you a way to go back to previous iterations if the current approach does not work out. The IDAES documentation contains recommendations on how to keep and maintain a modeling logbook.\n", - "
\n", - "\n", - "Now, re-run the ``report_structural_issues()`` method and see if this change has fixed the unit consistency issue.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Call dt.report_structural_issues() in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Call the report_structural_issues() method" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The unit consistency issue has been resolved by the changes above, so now we need to look at the structural singularity. A structural singularity occurs when one sub-part of the model is over-constrained (negative degrees of freedom), which generally means another part is under-constrained (positive degrees of freedom, assuming that there are 0 degrees of freedom overall).\n", - "\n", - "The toolbox is suggesting we use the ``display_overconstrained_set()`` and ``display_underconstrained_set()`` methods to get more information on the singularity; for now, let us start with the over-constrained set.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Call dt.display_overconstrained_set() in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Call the display_overconstrained_set() method" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "From the output above, the toolbox is telling us that we have two constraints (``c2`` and ``c3``) which only contain a single unfixed variable (``v3``); thus in this part of the model we have -1 degree of freedom and the model is not well defined (structurally singular). If we go back and look at these constraints, we can see the that the constraints are:\n", - "\n", - "``c2: v3 == v4 + v5``\n", - "\n", - "``c3: 2*v3 == 3*v4 + 4*v5 + v6``\n", - "\n", - "We can see that in addition to ``v3`` these constraints actually contain 3 other variables (``v4``, ``v5`` and ``v6``), however these are all variables we fixed to get our initial zero degrees of freedom. It looks like we have either accidentally fixed one too many variables or written one too many constraints.\n", - "\n", - "For this example, let us assume that ``v4`` was not supposed to be fixed and unfix it.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Resolve the structural singularity and then call dt.report_structural_issues() in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Unfix v4\n", - "\n", - "# Then call the report_structural_issues() method again" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can see that the over-constrained set is now empty (0 variables and 0 constraints) but the under-constrained set still has 3 variables and only 2 constraints. We can also see that there is a new warning about having 1 degree of freedom in the model, however this should not be surprising as we have just unfixed ``v4`` to resolve the over-constrained set so we have added a degree of freedom to the model.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Display the under-constrained set in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Display the under-constrained set" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Looking at the output from the ``display_underconstrained_set()`` method, we can see that we have two constraints, ``c1`` and ``c4``, which contain three unfixed variables, ``v1``, ``v2`` and ``v7``. Thus, we have one degree of freedom that needs to be addressed. To fix this, we could either fix one of the variables shown or add an additional equality constraint to the model.\n", - "\n", - "For this example let's fix ``v2`` to a value of 5 and then re-run the ``report_structural_issues()`` method.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Fix v2 to a value of 5 and then re-run dt.report_structural_issues.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Fix v2 = 5\n", - "\n", - "# Then re-run report_structural_issues() method" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The toolbox is now telling us that no warnings were found, so we have resolved all the structural issues (for now at least). The toolbox is telling us that there are also 2 non-critical issues (cautions) that we should look at; one about an unused variable and one about a variable fixed to zero. If you wish, you can look into identifying and fixing these yourself, however for this example we will move on to the next step (remember that the toolbox has methods to display more details for each of these which you can find in the documentation or from the ``help()`` function).\n", - "\n", - "For the Next Steps section, the toolbox is recommending we try to solve our model and then check for numerical issues.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Use the Pyomo SolverFactory to create an instance of IPOPT and then try to solve the model. Make sure to set \"tee=True\" as this is going to fail (and it is always good practice to review the solver logs).\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Create a solver object\n", - "\n", - "# Try to solve the model" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As hinted at above, IPOPT has returned a warning that the problem may be infeasible. Before moving on however, it is always good practice to look over the solver outputs and see what it is telling you.\n", - "\n", - "
\n", - "Warning:\n", - "A lot of useful information is contained in the solver logs which is extremely useful when diagnosing modeling issues. Each solver has its own way of reporting output and its own specific behavior, so you will need to learn to interpret the output of each solver you use. The IDAES Documentation contains some guidance on interpreting output logs for a few common solvers.\n", - "
\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Call the report_numerical_issues method in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Check for numerical issues" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The ``report_numerical_issues()`` provides a summary similar to that which we saw for the structural issues. Firstly, it reports to us the Jacobian condition number for our problem which can give us an idea of how well-scaled the problem is, followed by a list of warnings, cautions and suggested next steps.\n", - "\n", - "Unsurprisingly, we are seeing a warning about a constraint with a large residual which we would expect when a solver reports a potentially infeasible problem. We are also seeing a warning about a variable with bound violations which might be contributing to the potential infeasibility.\n", - "\n", - "For the next steps, the toolbox is suggesting some new methods to get more information on these issues; let us start by looking at the constraints with large residuals.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Display the constraint with a large residual in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Display constraint with large residual" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The toolbox is telling us that the constraint which failed to converge is ``c2``, however this is generally only part of the story. Solvers work by trying to minimize the infeasibility in the model (residual of the constraints), which generally means they push any infeasibility onto the least sensitive constraint in the problem. Thus, the constraint which shows the infeasibility is often not the root cause of the problem, but only the symptom of the underlying issue.\n", - "\n", - "If we look back at the constraints, we can see that the same variables also appear in ``c3`` and that some of these have bounds, all of which could be contributing to the infeasibility. In this case the solver tried to minimize the residual in all the constraints and ended up pushing all the issues off onto ``c2``.\n", - "\n", - "
\n", - "Warning:\n", - "When dealing with solver issues such as this, you should always remember that the obvious symptoms are often just the tip of the iceberg and that the real issue generally lies somewhere else; the challenge is tracing the symptoms back to their ultimate source.\n", - "
\n", - "\n", - "Next, let us take a look at the variables at or outside their bounds as well. When a solver reports an potentially infeasible solution, the most common cause is unexpected bounds violations so you should always check these first.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Display the variables with bounds violations.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Display the variables with bounds violations" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The toolbox is telling us that ``v3`` is the variable with a potential issue. It is also showing us the current value and bounds for ``v3`` as well as if it is a fixed or free variable, which will be useful for diagnosing the issues.\n", - "\n", - "We can see that ``v3`` is a free variable with bounds between 0 and 5 and a current value of 0. As ``v3`` is a free variable, this suggests that the solver has pushed the value to the bound where it cannot go any further, and this might be part of the cause of our infeasibility.\n", - "\n", - "
\n", - "Warning:\n", - "When dealing with bounds violations you should always start by understanding why the bounds exist and what they mean - in many cases a bound indicates the range over which the model can be trusted and that going beyond this may result in unexpected behavior due to extrapolation.\n", - " \n", - "Never arbitrarily change a bound just because it is causing your model to be infeasible without understanding the consequences of this decision. Often, a bound violation is an indication that you need to re-think some of the constraints in your model to find alternatives which are valid in the actual range of values you are trying to solve for.\n", - "
\n", - "\n", - "For this example, let us assume that we made a mistake with the bounds on ``v3`` and set the lower bound to be -5.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Update the bounds on v3 in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Update bounds for v3" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that we have fixed the bounds issues, we should check whether our model is now feasible. However, before we continue we should recognize that we have just made a structural change to the model. If we were not careful, this could have introduced new structural issues to the model, so we should start from the beginning just to be sure.\n", - "\n", - "
\n", - "Warning:\n", - "In general, you should always start from the beginning of the model diagnosis workflow after you make any change to the model. Remember to also record these changes in your log book in case something unexpected happens so that you can revert any changes that cause problems.\n", - "
\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Check to see if there are any new structural issues in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Check for new structural issues" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Our change has not introduced any new structural issues, so we can move on and try to solve the model again.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Re-solve the model in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Re-solve the model" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "IPOPT should have returned optimal solution now, so it looks like those bounds were what was causing the model to be infeasible. At this point, the model is now solving (for the current values at least), so you might think that the model is now ready for optimization.\n", - "\n", - "However, if we look at the solver logs we can see that it took around 3 iterations for IPOPT to solve our model (depending on minor variations in computer architecture). For a model this simple, we would generally expect it to solve in only 1 iteration so there is still some room for improvement.\n", - "\n", - "
\n", - "Warning:\n", - "You should keep in mind that just because you get an optimal solution does not mean that your model is robust and free of issues.\n", - " \n", - "You should always take the time to look over the solver logs to look for signs of trouble, even if you get an optimal solution. While you might get an optimal solution for the current state, there may be advance warning signs of issues that will cause problems later when you try to solve the model at a different state.\n", - "
\n", - "\n", - "Let us run the ``report_numerical_issues`` method again to see if there are any other problems we need to address.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Check for additional numerical issues in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Check for additional numerical issues" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The toolbox is not reporting any warnings which is good, however there are still 5 numerical cautions that it has identified which might be contributing to the larger than expected number of iterations. As mentioned earlier, the toolbox does not suggest methods for investigating these, but there are methods available. For example, we can look at the variable with an extreme value using the `display_variables_with_extreme_values()` method.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Check for additional information about variables with extreme values.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Display variable with extreme value" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can see that ``v7`` is potentially causing problems due to having a very small value (on the order of magnitude of the solver tolerance). This can be especially problematic for interior point solvers like IPOPT if there is a lower bound of 0 (which there is in this case). IPOPT tries to avoid bounds and thus perturbs solutions away from these if it gets too close, which can cause convergence to be slow (or fail) if the solution lies close to the bound.\n", - "\n", - "We can address this by scaling the variable so that the value of the scaled variable is large enough that the solution is not close to the lower bound. Additionally, we should look at any constraint that ``v7`` appears in (in this case ``c4``) and ensure that those constraints are well scaled as well (so that a residual of 1e-6 is reasonable for the terms involved).\n", - "\n", - "For this case, we can set a scaling factor of 1e8 for both ``v7`` and ``c4`` as shown below. Note that we also need to apply Pyomo's scaling transformation to create a new scaled model to work with." - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "metadata": {}, - "outputs": [], - "source": [ - "m.scaling_factor = pyo.Suffix(direction=pyo.Suffix.EXPORT)\n", - "\n", - "m.scaling_factor[m.v7] = 1e8\n", - "m.scaling_factor[m.c4] = 1e8\n", - "\n", - "scaling = pyo.TransformationFactory(\"core.scale_model\")\n", - "scaled_model = scaling.create_using(m, rename=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that we have a scaled model, we can try to solve it and hopefully see better convergence than the unscaled model.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Solve the scaled model and check to see how many iterations are required.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Solve scaled model" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As we can see, the scaled model solved in 0 iterations (indicating that it already had the right solution). However, had we done this to the unscaled model we would have found it required 2-3 iterations again due to IPOPT perturbing the initial (correct) solution away from the bounds.\n", - "\n", - "
\n", - "Warning:\n", - "Normally in these cases we would need to map the solution from the scaled model back to the unscaled model so we can view the results. In this case, we are not actually interested in the solution so we move on with the model diagnosis.\n", - "
\n", - "\n", - "Now that we have fixed the scaling issues, we can go back to the ``DiagnosticsToolbox`` and see if we still have any warnings. Note however that we need to look at the scaled model now rather than the original model, so we need to create a new instance of the ``DiagnosticsToolbox`` with the scaled model as the ``model`` argument.\n", - "\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Create a new instance of the DiagnosticsToolbox and check the scaled model for issues.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Create a new diagnostics toolbox for scaled model\n", - "\n", - "# Report numerical issues for scaled model" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can see that applying scaling addressed two of the cautions we had before (the variable with an extreme value and an associated large value in the model Jacobian). Whilst we were able to solve the unscaled model in this case, this is in part because it was a simple linear model. In more complex, non-linear models, scaling becomes much more important and often depends strongly on the current state of the model. That is, you can often find cases where the unscaled (or poorly scaled) model solves for a limited range of conditions but fails to solve if you move too far away for the current state. Whilst you might be able to solve the model at the current state, you should always check the solver logs and numerical cautions for advanced warning signs of scaling issues that might manifest later when you try to solve the model for a different state (e.g., during optimization).\n", - "\n", - "
\n", - "Warning:\n", - "By their nature, numerical issues depend on the current values of the variables in the model, and thus may remain hidden until someone tries to solve the model close to where the issue exists. For this reason, the full model diagnostics workflow contains steps to run the numerical checks across a wide range of variable values to try to ensure that no issues remain hidden. This is beyond the scope of this tutorial however.\n", - "
\n", - "\n", - "At this point, we have addressed all the issues that were preventing us from solving the demonstration model and so reached the end of this tutorial. For cases where we are still having trouble solving the model, we can see that the toolbox is suggesting additional methods for further debugging and these advanced features will be the focus of separate tutorials." - ] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.5" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# IDAES Model Diagnostics Toolbox Tutorial\n", + "Author: Andrew Lee \n", + "Maintainer: Andrew Lee \n", + "Updated: 2023-10-31 \n", + "\n", + "As you have likely discovered already, developing and solving models in an equation-oriented (EO) environment can be challenging and often takes a significant amount of effort. There are many pitfalls and mistakes that can be encountered when developing a model which can greatly impact the solvability and robustness of the final problem.\n", + "\n", + "Model diagnosis and debugging is often more of an art than a science, and it generally relies on significant experience and understanding both of general EO modeling techniques and the specific model and problem being solved. To assist with this process, IDAES has developed a model diagnostics toolbox that brings together a large number of tools for identifying potential issues in a model to help guide the user through the process of finding and resolving these issues. Note however that whilst these tools can help identify the presence of an issue, remedying the issue always requires some degree of engineering knowledge about the system being modeled, and thus it is ultimately up to the user to find a solution to the problem.\n", + "\n", + "This tutorial will take you through using the {py:class}`DiagnosticsToolbox ` to debug a number of issues in a simple Pyomo model and to take it from initially reporting a possible infeasible solution to returning the correct solution.\n", + "\n", + "To get started, the ``DiagnosticsToolbox`` can be imported from ``idaes.core.util``.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Import the DiagnosticsToolbox in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core.util import DiagnosticsToolbox" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To get some information on where to start, try using the Python ``help()`` function to see the documentation for the ``DiagnosticsToolbox``.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Call `help(DiagnosticsToolbox)` to see some more information on the toolbox and some instructions on how to get started.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Call the help() function for more information" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The ``help()`` function gives us a lot of information on the ``DiagnosticsToolbox`` and all the methods that it supports (and there are many). However, the important part to start with are the four steps outlined at the top of the doc string that tell us how to get started.\n", + "\n", + "Firstly, we need a model to test (and, for this tutorial at least, one that has a wide range of issues that we need to fix before it will solve). We then also need to fix some variables so that we have 0 degrees of freedom in our model. Whilst our ultimate goal is generally optimization (and thus a system with 1 or more degrees of freedom), all models conceptually derive from a square model representing a nominal state. If this nominal state is not well-posed, then any issues present will also be present in the resulting optimization (even if adding degrees of freedom means that the model is now easier to solve).\n", + "\n", + "The cell below contains a demonstration model for this tutorial that contains a number of issues that we will resolve using the ``DiagnosticsToolbox``." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "import pyomo.environ as pyo\n", + "\n", + "m = pyo.ConcreteModel()\n", + "\n", + "m.v1 = pyo.Var(units=pyo.units.m)\n", + "m.v2 = pyo.Var(units=pyo.units.m)\n", + "m.v3 = pyo.Var(bounds=(0, 5))\n", + "m.v4 = pyo.Var()\n", + "m.v5 = pyo.Var(bounds=(0, 10))\n", + "m.v6 = pyo.Var()\n", + "m.v7 = pyo.Var(\n", + " units=pyo.units.m, bounds=(0, 1)\n", + ") # Poorly scaled variable with lower bound\n", + "m.v8 = pyo.Var() # unused variable\n", + "\n", + "m.c1 = pyo.Constraint(expr=m.v1 + m.v2 == 10) # Unit consistency issue\n", + "m.c2 = pyo.Constraint(expr=m.v3 == m.v4 + m.v5)\n", + "m.c3 = pyo.Constraint(expr=2 * m.v3 == 3 * m.v4 + 4 * m.v5 + m.v6)\n", + "m.c4 = pyo.Constraint(expr=m.v7 == 1e-8 * m.v1) # Poorly scaled constraint\n", + "\n", + "m.v4.fix(2)\n", + "m.v5.fix(2)\n", + "m.v6.fix(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, the instructions tell us to create an instance of the ``DiagnosticsToolbox`` and to pass the model we wish to examine as an argument.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Create an instance of the DiagnosticsToolbox: dt = DiagnosticsToolbox(m)\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Create an instance of the Diagnostics Toolbox" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, the instructions tell us to run the ``report_structural_issues()`` method. Structural issues represent issues that exist solely in the form of the model equations and thus do not depend on the current value of any of the variables. This is useful as it means we can check for these before we even call a solver, which can be critical as sometimes these issues will cause a solver to fail without providing a useful solution.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Call dt.report_structural_issues() in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Call the report_structural_issues() method" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Looking at the output from the ``report_structural_issues()`` method, we can see that it provides a fairly short summary containing 4 sections.\n", + "\n", + "1. The first section is a summary of the size of the model, indicating things like the number of variables and constraints. The size of the model is often important for judging how difficult it will be to solve, and this information can also be useful for comparison to what is being sent to the solver. Most solvers will report the size of the model in their output logs, and if there is a difference between what is reported here and by the solver, then you should probably look into what is happening. This section also notes some things such as if you have any deactivated Blocks, Constraints or Objectives, or if you have variables which appear in the constraints that are not part of the model; these are not necessarily wrong but it is easy to have accidentally deactivated something you did not intend to so you should always check to see that these are expected.\n", + "\n", + "2. The second section provides a summary of any critical structural issues that were found - in this case we can see that there are 2 warnings we are going to need to look into. Warnings represent issues that need to be addressed before moving on as these will likely cause the solver to fail or give an incorrect answer.\n", + "\n", + "3. The third section lists a summary of any cautions that are found. Cautions represent issues that may or may not be problematic; in many cases these might be expected behaviors or borderline issues. However, these could also represent conceptual issues that should be addressed, so users should take the time to investigate these and determine if they need to be fixed or not.\n", + "\n", + "4. Finally, there is a section that suggests the next steps to take to help guide you through the model diagnosis process. If any warnings were identified, this section will list methods that can help you get more information on each specific problem, and if no warnings are found then it will guide you onto the next step in the model diagnosis workflow.\n", + "\n", + "**Note:** there are methods available to help investigate cautions as well, but these will not show up in the next steps in order to avoid cluttering the output. You can get more information on the available methods for investigating cautions via the documentation or ``help()`` function.\n", + "\n", + "In our current model, we have 2 critical issues (warnings) that we need to look into and resolve. The order in which we resolve these will generally not matter, but be aware that these can often be interrelated - fixing one warning might resolve other warnings as well (or create new ones), and sometimes you will need to look at multiple issues together to find the overall root cause.\n", + "\n", + "To start with, let us look at the unit consistency issue. From the \"Next Steps\" section above, the toolbox is suggesting we run the ``display_components_with_inconsistent_units()`` method for more information.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Call the `display_components_with_inconsistent_units()` method from the DiagnosticsToolbox to see more information on which constraint is causing the unit consistency issues.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Call the display_components_with_inconsistent_units() method" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This tells us that the issue lies in constraint ``c1``. If we go back and look at this constraint, we can see that it says ``v1 + v2 == 10``. ``v1`` and ``v2`` both have units of ``m`` which is consistent, but the constant in the expression (right hand side) is unitless. Thus, we need to correct this so that the right hand side has units for the constraint to be consistent.\n", + "\n", + "The cell below shows how to delete a constraint and replace it with a new one with the correct units.\n", + "\n", + "
\n", + "Warning:\n", + "Deleting components can cause unexpected issues if something else in a model is using that component (e.g., deleting a variable which is used in a constraint). You should always be careful when deleting Pyomo components and make sure you only delete components that are not used elsewhere.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "# Delete the incorrect Constraint\n", + "m.del_component(m.c1)\n", + "\n", + "# Re-create the Constraint with the correct units\n", + "m.c1 = pyo.Constraint(expr=m.v1 + m.v2 == 10 * pyo.units.m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Warning:\n", + "Fixing issues in models is often an iterative process requiring trial and error. You might also have some results from a model before running the diagnostics tools and the changes you make during debugging may make it difficult to replicate those results afterwards.\n", + " \n", + "It is strongly recommended that you keep a record of the changes you make at each step and why, along with a Git hash (or similar version control marker) corresponding to these changes. This will allow you see what changes and why, and give you a way to go back to previous iterations if the current approach does not work out. The IDAES documentation contains recommendations on how to keep and maintain a modeling logbook.\n", + "
\n", + "\n", + "Now, re-run the ``report_structural_issues()`` method and see if this change has fixed the unit consistency issue.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Call dt.report_structural_issues() in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Call the report_structural_issues() method" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The unit consistency issue has been resolved by the changes above, so now we need to look at the structural singularity. A structural singularity occurs when one sub-part of the model is over-constrained (negative degrees of freedom), which generally means another part is under-constrained (positive degrees of freedom, assuming that there are 0 degrees of freedom overall).\n", + "\n", + "The toolbox is suggesting we use the ``display_overconstrained_set()`` and ``display_underconstrained_set()`` methods to get more information on the singularity; for now, let us start with the over-constrained set.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Call dt.display_overconstrained_set() in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Call the display_overconstrained_set() method" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From the output above, the toolbox is telling us that we have two constraints (``c2`` and ``c3``) which only contain a single unfixed variable (``v3``); thus in this part of the model we have -1 degree of freedom and the model is not well defined (structurally singular). If we go back and look at these constraints, we can see the that the constraints are:\n", + "\n", + "``c2: v3 == v4 + v5``\n", + "\n", + "``c3: 2*v3 == 3*v4 + 4*v5 + v6``\n", + "\n", + "We can see that in addition to ``v3`` these constraints actually contain 3 other variables (``v4``, ``v5`` and ``v6``), however these are all variables we fixed to get our initial zero degrees of freedom. It looks like we have either accidentally fixed one too many variables or written one too many constraints.\n", + "\n", + "For this example, let us assume that ``v4`` was not supposed to be fixed and unfix it.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Resolve the structural singularity and then call dt.report_structural_issues() in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Unfix v4\n", + "\n", + "# Then call the report_structural_issues() method again" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that the over-constrained set is now empty (0 variables and 0 constraints) but the under-constrained set still has 3 variables and only 2 constraints. We can also see that there is a new warning about having 1 degree of freedom in the model, however this should not be surprising as we have just unfixed ``v4`` to resolve the over-constrained set so we have added a degree of freedom to the model.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Display the under-constrained set in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Display the under-constrained set" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Looking at the output from the ``display_underconstrained_set()`` method, we can see that we have two constraints, ``c1`` and ``c4``, which contain three unfixed variables, ``v1``, ``v2`` and ``v7``. Thus, we have one degree of freedom that needs to be addressed. To fix this, we could either fix one of the variables shown or add an additional equality constraint to the model.\n", + "\n", + "For this example let's fix ``v2`` to a value of 5 and then re-run the ``report_structural_issues()`` method.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Fix v2 to a value of 5 and then re-run dt.report_structural_issues.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Fix v2 = 5\n", + "\n", + "# Then re-run report_structural_issues() method" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The toolbox is now telling us that no warnings were found, so we have resolved all the structural issues (for now at least). The toolbox is telling us that there are also 2 non-critical issues (cautions) that we should look at; one about an unused variable and one about a variable fixed to zero. If you wish, you can look into identifying and fixing these yourself, however for this example we will move on to the next step (remember that the toolbox has methods to display more details for each of these which you can find in the documentation or from the ``help()`` function).\n", + "\n", + "For the Next Steps section, the toolbox is recommending we try to solve our model and then check for numerical issues.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Use the Pyomo SolverFactory to create an instance of IPOPT and then try to solve the model. Make sure to set \"tee=True\" as this is going to fail (and it is always good practice to review the solver logs).\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Create a solver object\n", + "\n", + "# Try to solve the model" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As hinted at above, IPOPT has returned a warning that the problem may be infeasible. Before moving on however, it is always good practice to look over the solver outputs and see what it is telling you.\n", + "\n", + "
\n", + "Warning:\n", + "A lot of useful information is contained in the solver logs which is extremely useful when diagnosing modeling issues. Each solver has its own way of reporting output and its own specific behavior, so you will need to learn to interpret the output of each solver you use. The IDAES Documentation contains some guidance on interpreting output logs for a few common solvers.\n", + "
\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Call the report_numerical_issues method in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Check for numerical issues" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The ``report_numerical_issues()`` provides a summary similar to that which we saw for the structural issues. Firstly, it reports to us the Jacobian condition number for our problem which can give us an idea of how well-scaled the problem is, followed by a list of warnings, cautions and suggested next steps.\n", + "\n", + "Unsurprisingly, we are seeing a warning about a constraint with a large residual which we would expect when a solver reports a potentially infeasible problem. We are also seeing a warning about a variable with bound violations which might be contributing to the potential infeasibility.\n", + "\n", + "For the next steps, the toolbox is suggesting some new methods to get more information on these issues; let us start by looking at the constraints with large residuals.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Display the constraint with a large residual in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Display constraint with large residual" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The toolbox is telling us that the constraint which failed to converge is ``c2``, however this is generally only part of the story. Solvers work by trying to minimize the infeasibility in the model (residual of the constraints), which generally means they push any infeasibility onto the least sensitive constraint in the problem. Thus, the constraint which shows the infeasibility is often not the root cause of the problem, but only the symptom of the underlying issue.\n", + "\n", + "If we look back at the constraints, we can see that the same variables also appear in ``c3`` and that some of these have bounds, all of which could be contributing to the infeasibility. In this case the solver tried to minimize the residual in all the constraints and ended up pushing all the issues off onto ``c2``.\n", + "\n", + "
\n", + "Warning:\n", + "When dealing with solver issues such as this, you should always remember that the obvious symptoms are often just the tip of the iceberg and that the real issue generally lies somewhere else; the challenge is tracing the symptoms back to their ultimate source.\n", + "
\n", + "\n", + "Next, let us take a look at the variables at or outside their bounds as well. When a solver reports an potentially infeasible solution, the most common cause is unexpected bounds violations so you should always check these first.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Display the variables with bounds violations.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Display the variables with bounds violations" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The toolbox is telling us that ``v3`` is the variable with a potential issue. It is also showing us the current value and bounds for ``v3`` as well as if it is a fixed or free variable, which will be useful for diagnosing the issues.\n", + "\n", + "We can see that ``v3`` is a free variable with bounds between 0 and 5 and a current value of 0. As ``v3`` is a free variable, this suggests that the solver has pushed the value to the bound where it cannot go any further, and this might be part of the cause of our infeasibility.\n", + "\n", + "
\n", + "Warning:\n", + "When dealing with bounds violations you should always start by understanding why the bounds exist and what they mean - in many cases a bound indicates the range over which the model can be trusted and that going beyond this may result in unexpected behavior due to extrapolation.\n", + " \n", + "Never arbitrarily change a bound just because it is causing your model to be infeasible without understanding the consequences of this decision. Often, a bound violation is an indication that you need to re-think some of the constraints in your model to find alternatives which are valid in the actual range of values you are trying to solve for.\n", + "
\n", + "\n", + "For this example, let us assume that we made a mistake with the bounds on ``v3`` and set the lower bound to be -5.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Update the bounds on v3 in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Update bounds for v3" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that we have fixed the bounds issues, we should check whether our model is now feasible. However, before we continue we should recognize that we have just made a structural change to the model. If we were not careful, this could have introduced new structural issues to the model, so we should start from the beginning just to be sure.\n", + "\n", + "
\n", + "Warning:\n", + "In general, you should always start from the beginning of the model diagnosis workflow after you make any change to the model. Remember to also record these changes in your log book in case something unexpected happens so that you can revert any changes that cause problems.\n", + "
\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Check to see if there are any new structural issues in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Check for new structural issues" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Our change has not introduced any new structural issues, so we can move on and try to solve the model again.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Re-solve the model in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Re-solve the model" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "IPOPT should have returned optimal solution now, so it looks like those bounds were what was causing the model to be infeasible. At this point, the model is now solving (for the current values at least), so you might think that the model is now ready for optimization.\n", + "\n", + "However, if we look at the solver logs we can see that it took around 3 iterations for IPOPT to solve our model (depending on minor variations in computer architecture). For a model this simple, we would generally expect it to solve in only 1 iteration so there is still some room for improvement.\n", + "\n", + "
\n", + "Warning:\n", + "You should keep in mind that just because you get an optimal solution does not mean that your model is robust and free of issues.\n", + " \n", + "You should always take the time to look over the solver logs to look for signs of trouble, even if you get an optimal solution. While you might get an optimal solution for the current state, there may be advance warning signs of issues that will cause problems later when you try to solve the model at a different state.\n", + "
\n", + "\n", + "Let us run the ``report_numerical_issues`` method again to see if there are any other problems we need to address.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Check for additional numerical issues in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Check for additional numerical issues" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The toolbox is not reporting any warnings which is good, however there are still 5 numerical cautions that it has identified which might be contributing to the larger than expected number of iterations. As mentioned earlier, the toolbox does not suggest methods for investigating these, but there are methods available. For example, we can look at the variable with an extreme value using the `display_variables_with_extreme_values()` method.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Check for additional information about variables with extreme values.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Display variable with extreme value" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that ``v7`` is potentially causing problems due to having a very small value (on the order of magnitude of the solver tolerance). This can be especially problematic for interior point solvers like IPOPT if there is a lower bound of 0 (which there is in this case). IPOPT tries to avoid bounds and thus perturbs solutions away from these if it gets too close, which can cause convergence to be slow (or fail) if the solution lies close to the bound.\n", + "\n", + "We can address this by scaling the variable so that the value of the scaled variable is large enough that the solution is not close to the lower bound. Additionally, we should look at any constraint that ``v7`` appears in (in this case ``c4``) and ensure that those constraints are well scaled as well (so that a residual of 1e-6 is reasonable for the terms involved).\n", + "\n", + "For this case, we can set a scaling factor of 1e8 for both ``v7`` and ``c4`` as shown below. Note that we also need to apply Pyomo's scaling transformation to create a new scaled model to work with." + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [], + "source": [ + "m.scaling_factor = pyo.Suffix(direction=pyo.Suffix.EXPORT)\n", + "\n", + "m.scaling_factor[m.v7] = 1e8\n", + "m.scaling_factor[m.c4] = 1e8\n", + "\n", + "scaling = pyo.TransformationFactory(\"core.scale_model\")\n", + "scaled_model = scaling.create_using(m, rename=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that we have a scaled model, we can try to solve it and hopefully see better convergence than the unscaled model.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Solve the scaled model and check to see how many iterations are required.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Solve scaled model" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As we can see, the scaled model solved in 0 iterations (indicating that it already had the right solution). However, had we done this to the unscaled model we would have found it required 2-3 iterations again due to IPOPT perturbing the initial (correct) solution away from the bounds.\n", + "\n", + "
\n", + "Warning:\n", + "Normally in these cases we would need to map the solution from the scaled model back to the unscaled model so we can view the results. In this case, we are not actually interested in the solution so we move on with the model diagnosis.\n", + "
\n", + "\n", + "Now that we have fixed the scaling issues, we can go back to the ``DiagnosticsToolbox`` and see if we still have any warnings. Note however that we need to look at the scaled model now rather than the original model, so we need to create a new instance of the ``DiagnosticsToolbox`` with the scaled model as the ``model`` argument.\n", + "\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Create a new instance of the DiagnosticsToolbox and check the scaled model for issues.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Create a new diagnostics toolbox for scaled model\n", + "\n", + "# Report numerical issues for scaled model" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that applying scaling addressed two of the cautions we had before (the variable with an extreme value and an associated large value in the model Jacobian). Whilst we were able to solve the unscaled model in this case, this is in part because it was a simple linear model. In more complex, non-linear models, scaling becomes much more important and often depends strongly on the current state of the model. That is, you can often find cases where the unscaled (or poorly scaled) model solves for a limited range of conditions but fails to solve if you move too far away for the current state. Whilst you might be able to solve the model at the current state, you should always check the solver logs and numerical cautions for advanced warning signs of scaling issues that might manifest later when you try to solve the model for a different state (e.g., during optimization).\n", + "\n", + "
\n", + "Warning:\n", + "By their nature, numerical issues depend on the current values of the variables in the model, and thus may remain hidden until someone tries to solve the model close to where the issue exists. For this reason, the full model diagnostics workflow contains steps to run the numerical checks across a wide range of variable values to try to ensure that no issues remain hidden. This is beyond the scope of this tutorial however.\n", + "
\n", + "\n", + "At this point, we have addressed all the issues that were preventing us from solving the demonstration model and so reached the end of this tutorial. For cases where we are still having trouble solving the model, we can see that the toolbox is suggesting additional methods for further debugging and these advanced features will be the focus of separate tutorials." + ] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.5" + } + }, + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/diagnostics/diagnostics_toolbox_solution.ipynb b/idaes_examples/notebooks/docs/diagnostics/diagnostics_toolbox_solution.ipynb index 688e5148..7e09db67 100644 --- a/idaes_examples/notebooks/docs/diagnostics/diagnostics_toolbox_solution.ipynb +++ b/idaes_examples/notebooks/docs/diagnostics/diagnostics_toolbox_solution.ipynb @@ -1,2106 +1,1060 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# IDAES Model Diagnostics Toolbox Tutorial\n", - "Author: Andrew Lee \n", - "Maintainer: Andrew Lee \n", - "Updated: 2023-10-31 \n", - "\n", - "As you have likely discovered already, developing and solving models in an equation-oriented (EO) environment can be challenging and often takes a significant amount of effort. There are many pitfalls and mistakes that can be encountered when developing a model which can greatly impact the solvability and robustness of the final problem.\n", - "\n", - "Model diagnosis and debugging is often more of an art than a science, and it generally relies on significant experience and understanding both of general EO modeling techniques and the specific model and problem being solved. To assist with this process, IDAES has developed a model diagnostics toolbox that brings together a large number of tools for identifying potential issues in a model to help guide the user through the process of finding and resolving these issues. Note however that whilst these tools can help identify the presence of an issue, remedying the issue always requires some degree of engineering knowledge about the system being modeled, and thus it is ultimately up to the user to find a solution to the problem.\n", - "\n", - "This tutorial will take you through using the {py:class}`DiagnosticsToolbox ` to debug a number of issues in a simple Pyomo model and to take it from initially reporting a possible infeasible solution to returning the correct solution.\n", - "\n", - "To get started, the ``DiagnosticsToolbox`` can be imported from ``idaes.core.util``.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Import the DiagnosticsToolbox in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.core.util import DiagnosticsToolbox" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To get some information on where to start, try using the Python ``help()`` function to see the documentation for the ``DiagnosticsToolbox``.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Call `help(DiagnosticsToolbox)` to see some more information on the toolbox and some instructions on how to get started.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Call the help() function for more information" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Help on class DiagnosticsToolbox in module idaes.core.util.model_diagnostics:\n", - "\n", - "class DiagnosticsToolbox(builtins.object)\n", - " | DiagnosticsToolbox(model: pyomo.core.base.block._BlockData, **kwargs)\n", - " | \n", - " | The IDAES Model DiagnosticsToolbox.\n", - " | \n", - " | To get started:\n", - " | \n", - " | 1. Create an instance of your model (this does not need to be initialized yet).\n", - " | 2. Fix variables until you have 0 degrees of freedom. Many of these tools presume\n", - " | a square model, and a square model should always be the foundation of any more\n", - " | advanced model.\n", - " | 3. Create an instance of the DiagnosticsToolbox and provide the model to debug as\n", - " | the model argument.\n", - " | 4. Call the ``report_structural_issues()`` method.\n", - " | \n", - " | Model diagnostics is an iterative process and you will likely need to run these\n", - " | tools multiple times to resolve all issues. After making a change to your model,\n", - " | you should always start from the beginning again to ensure the change did not\n", - " | introduce any new issues; i.e., always start from the report_structural_issues()\n", - " | method.\n", - " | \n", - " | Note that structural checks do not require the model to be initialized, thus users\n", - " | should start with these. Numerical checks require at least a partial solution to the\n", - " | model and should only be run once all structural issues have been resolved.\n", - " | \n", - " | Report methods will print a summary containing three parts:\n", - " | \n", - " | 1. Warnings - these are critical issues that should be resolved before continuing.\n", - " | For each warning, a method will be suggested in the Next Steps section to get\n", - " | additional information.\n", - " | 2. Cautions - these are things that could be correct but could also be the source of\n", - " | solver issues. Not all cautions need to be addressed, but users should investigate\n", - " | each one to ensure that the behavior is correct and that they will not be the source\n", - " | of difficulties later. Methods exist to provide more information on all cautions,\n", - " | but these will not appear in the Next Steps section.\n", - " | 3. Next Steps - these are recommended methods to call from the DiagnosticsToolbox to\n", - " | get further information on warnings. If no warnings are found, this will suggest\n", - " | the next report method to call.\n", - " | \n", - " | Args:\n", - " | \n", - " | model: model to be diagnosed. The DiagnosticsToolbox does not support indexed Blocks.\n", - " | \n", - " | Keyword Arguments\n", - " | -----------------\n", - " | variable_bounds_absolute_tolerance: float, default=0.0001\n", - " | Absolute tolerance for considering a variable to be close to its\n", - " | bounds.\n", - " | \n", - " | variable_bounds_relative_tolerance: float, default=0.0001\n", - " | Relative tolerance for considering a variable to be close to its\n", - " | bounds.\n", - " | \n", - " | variable_bounds_violation_tolerance: float, default=0\n", - " | Absolute tolerance for considering a variable to violate its bounds.\n", - " | Some solvers relax bounds on variables thus allowing a small violation\n", - " | to be considered acceptable.\n", - " | \n", - " | constraint_residual_tolerance: float, default=1e-05\n", - " | Absolute tolerance to use when checking constraint residuals.\n", - " | \n", - " | variable_large_value_tolerance: float, default=10000.0\n", - " | Absolute tolerance for considering a value to be large.\n", - " | \n", - " | variable_small_value_tolerance: float, default=0.0001\n", - " | Absolute tolerance for considering a value to be small.\n", - " | \n", - " | variable_zero_value_tolerance: float, default=1e-08\n", - " | Absolute tolerance for considering a value to be near to zero.\n", - " | \n", - " | jacobian_large_value_caution: float, default=10000.0\n", - " | Tolerance for raising a caution for large Jacobian values.\n", - " | \n", - " | jacobian_large_value_warning: float, default=100000000.0\n", - " | Tolerance for raising a warning for large Jacobian values.\n", - " | \n", - " | jacobian_small_value_caution: float, default=0.0001\n", - " | Tolerance for raising a caution for small Jacobian values.\n", - " | \n", - " | jacobian_small_value_warning: float, default=1e-08\n", - " | Tolerance for raising a warning for small Jacobian values.\n", - " | \n", - " | warn_for_evaluation_error_at_bounds: bool, default=True\n", - " | If False, warnings will not be generated for things like log(x) with x\n", - " | >= 0\n", - " | \n", - " | Methods defined here:\n", - " | \n", - " | __init__(self, model: pyomo.core.base.block._BlockData, **kwargs)\n", - " | Initialize self. See help(type(self)) for accurate signature.\n", - " | \n", - " | assert_no_numerical_warnings(self)\n", - " | Checks for numerical warnings in the model and raises an AssertionError\n", - " | if any are found.\n", - " | \n", - " | Raises:\n", - " | AssertionError if any warnings are identified by numerical analysis.\n", - " | \n", - " | assert_no_structural_warnings(self)\n", - " | Checks for structural warnings in the model and raises an AssertionError\n", - " | if any are found.\n", - " | \n", - " | Raises:\n", - " | AssertionError if any warnings are identified by structural analysis.\n", - " | \n", - " | display_components_with_inconsistent_units(self, stream=None)\n", - " | Prints a list of all Constraints, Expressions and Objectives in the\n", - " | model with inconsistent units of measurement.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_constraints_with_extreme_jacobians(self, stream=None)\n", - " | Prints the constraints associated with rows in the Jacobian with extreme\n", - " | L2 norms. This often indicates poorly scaled constraints.\n", - " | \n", - " | Tolerances can be set via the DiagnosticsToolbox config.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the output to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_constraints_with_large_residuals(self, stream=None)\n", - " | Prints a list of Constraints with residuals greater than a specified tolerance.\n", - " | Tolerance can be set in the class configuration options.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_external_variables(self, stream=None)\n", - " | Prints a list of variables that appear within activated Constraints in the\n", - " | model but are not contained within the model themselves.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_extreme_jacobian_entries(self, stream=None)\n", - " | Prints variables and constraints associated with entries in the Jacobian with extreme\n", - " | values. This can be indicative of poor scaling, especially for isolated terms (e.g.\n", - " | variables which appear only in one term of a single constraint).\n", - " | \n", - " | Tolerances can be set via the DiagnosticsToolbox config.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the output to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_overconstrained_set(self, stream=None)\n", - " | Prints the variables and constraints in the over-constrained sub-problem\n", - " | from a Dulmage-Mendelsohn partitioning.\n", - " | \n", - " | This can be used to identify the over-defined part of a model and thus\n", - " | where constraints must be removed or variables unfixed.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_potential_evaluation_errors(self, stream=None)\n", - " | Prints constraints that may be prone to evaluation errors\n", - " | (e.g., log of a negative number) based on variable bounds.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the output to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_underconstrained_set(self, stream=None)\n", - " | Prints the variables and constraints in the under-constrained sub-problem\n", - " | from a Dulmage-Mendelsohn partitioning.\n", - " | \n", - " | This can be used to identify the under-defined part of a model and thus\n", - " | where additional information (fixed variables or constraints) are required.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_unused_variables(self, stream=None)\n", - " | Prints a list of variables that do not appear in any activated Constraints.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_at_or_outside_bounds(self, stream=None)\n", - " | Prints a list of variables with values that fall at or outside the bounds\n", - " | on the variable.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_fixed_to_zero(self, stream=None)\n", - " | Prints a list of variables that are fixed to an absolute value of 0.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_near_bounds(self, stream=None)\n", - " | Prints a list of variables with values close to their bounds. Tolerance can\n", - " | be set in the class configuration options.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_with_extreme_jacobians(self, stream=None)\n", - " | Prints the variables associated with columns in the Jacobian with extreme\n", - " | L2 norms. This often indicates poorly scaled variables.\n", - " | \n", - " | Tolerances can be set via the DiagnosticsToolbox config.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the output to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_with_extreme_values(self, stream=None)\n", - " | Prints a list of variables with extreme values.\n", - " | \n", - " | Tolerances can be set in the class configuration options.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_with_none_value(self, stream=None)\n", - " | Prints a list of variables with a value of None.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_with_value_near_zero(self, stream=None)\n", - " | Prints a list of variables with a value close to zero. The tolerance\n", - " | for determining what is close to zero can be set in the class configuration\n", - " | options.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | get_dulmage_mendelsohn_partition(self)\n", - " | Performs a Dulmage-Mendelsohn partitioning on the model and returns\n", - " | the over- and under-constrained sub-problems.\n", - " | \n", - " | Returns:\n", - " | list-of-lists variables in each independent block of the under-constrained set\n", - " | list-of-lists constraints in each independent block of the under-constrained set\n", - " | list-of-lists variables in each independent block of the over-constrained set\n", - " | list-of-lists constraints in each independent block of the over-constrained set\n", - " | \n", - " | prepare_degeneracy_hunter(self, **kwargs)\n", - " | Create an instance of the DegeneracyHunter and store as self.degeneracy_hunter.\n", - " | \n", - " | After creating an instance of the toolbox, call\n", - " | report_irreducible_degenerate_sets.\n", - " | \n", - " | Returns:\n", - " | \n", - " | Instance of DegeneracyHunter\n", - " | \n", - " | Keyword Arguments\n", - " | -----------------\n", - " | solver: str, default='scip'\n", - " | MILP solver to use for finding irreducible degenerate sets.\n", - " | \n", - " | solver_options: optional\n", - " | Options to pass to MILP solver.\n", - " | \n", - " | M: float, default=100000.0\n", - " | Maximum value for nu in MILP models.\n", - " | \n", - " | m_small: float, default=1e-05\n", - " | Smallest value for nu to be considered non-zero in MILP models.\n", - " | \n", - " | trivial_constraint_tolerance: float, default=1e-06\n", - " | Tolerance for identifying non-zero rows in Jacobian.\n", - " | \n", - " | prepare_svd_toolbox(self, **kwargs)\n", - " | Create an instance of the SVDToolbox and store as self.svd_toolbox.\n", - " | \n", - " | After creating an instance of the toolbox, call\n", - " | display_underdetermined_variables_and_constraints().\n", - " | \n", - " | Returns:\n", - " | \n", - " | Instance of SVDToolbox\n", - " | \n", - " | Keyword Arguments\n", - " | -----------------\n", - " | number_of_smallest_singular_values: PositiveInt, optional\n", - " | Number of smallest singular values to compute\n", - " | \n", - " | svd_callback: svd_callback_validator, default=\n", - " | Callback to SVD method of choice (default = svd_dense). Callbacks\n", - " | should take the Jacobian and number of singular values to compute as\n", - " | options, plus any method specific arguments, and should return the u,\n", - " | s and v matrices as numpy arrays.\n", - " | \n", - " | svd_callback_arguments: dict, optional\n", - " | Optional arguments to pass to SVD callback (default = None)\n", - " | \n", - " | singular_value_tolerance: float, default=1e-06\n", - " | Tolerance for defining a small singular value\n", - " | \n", - " | size_cutoff_in_singular_vector: float, default=0.1\n", - " | Size below which to ignore constraints and variables in the singular\n", - " | vector\n", - " | \n", - " | report_numerical_issues(self, stream=None)\n", - " | Generates a summary report of any numerical issues identified in the model provided\n", - " | and suggest next steps for debugging model.\n", - " | \n", - " | Numerical checks should only be performed once all structural issues have been resolved,\n", - " | and require that at least a partial solution to the model is available.\n", - " | \n", - " | Args:\n", - " | stream: I/O object to write report to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | report_structural_issues(self, stream=None)\n", - " | Generates a summary report of any structural issues identified in the model provided\n", - " | and suggests next steps for debugging the model.\n", - " | \n", - " | This should be the first method called when debugging a model and after any change\n", - " | is made to the model. These checks can be run before trying to initialize and solve\n", - " | the model.\n", - " | \n", - " | Args:\n", - " | stream: I/O object to write report to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | ----------------------------------------------------------------------\n", - " | Readonly properties defined here:\n", - " | \n", - " | model\n", - " | Model currently being diagnosed.\n", - " | \n", - " | ----------------------------------------------------------------------\n", - " | Data descriptors defined here:\n", - " | \n", - " | __dict__\n", - " | dictionary for instance variables (if defined)\n", - " | \n", - " | __weakref__\n", - " | list of weak references to the object (if defined)\n", - "\n" - ] - } - ], - "source": [ - "help(DiagnosticsToolbox)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The ``help()`` function gives us a lot of information on the ``DiagnosticsToolbox`` and all the methods that it supports (and there are many). However, the important part to start with are the four steps outlined at the top of the doc string that tell us how to get started.\n", - "\n", - "Firstly, we need a model to test (and, for this tutorial at least, one that has a wide range of issues that we need to fix before it will solve). We then also need to fix some variables so that we have 0 degrees of freedom in our model. Whilst our ultimate goal is generally optimization (and thus a system with 1 or more degrees of freedom), all models conceptually derive from a square model representing a nominal state. If this nominal state is not well-posed, then any issues present will also be present in the resulting optimization (even if adding degrees of freedom means that the model is now easier to solve).\n", - "\n", - "The cell below contains a demonstration model for this tutorial that contains a number of issues that we will resolve using the ``DiagnosticsToolbox``." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "import pyomo.environ as pyo\n", - "\n", - "m = pyo.ConcreteModel()\n", - "\n", - "m.v1 = pyo.Var(units=pyo.units.m)\n", - "m.v2 = pyo.Var(units=pyo.units.m)\n", - "m.v3 = pyo.Var(bounds=(0, 5))\n", - "m.v4 = pyo.Var()\n", - "m.v5 = pyo.Var(bounds=(0, 10))\n", - "m.v6 = pyo.Var()\n", - "m.v7 = pyo.Var(\n", - " units=pyo.units.m, bounds=(0, 1)\n", - ") # Poorly scaled variable with lower bound\n", - "m.v8 = pyo.Var() # unused variable\n", - "\n", - "m.c1 = pyo.Constraint(expr=m.v1 + m.v2 == 10) # Unit consistency issue\n", - "m.c2 = pyo.Constraint(expr=m.v3 == m.v4 + m.v5)\n", - "m.c3 = pyo.Constraint(expr=2 * m.v3 == 3 * m.v4 + 4 * m.v5 + m.v6)\n", - "m.c4 = pyo.Constraint(expr=m.v7 == 1e-8 * m.v1) # Poorly scaled constraint\n", - "\n", - "m.v4.fix(2)\n", - "m.v5.fix(2)\n", - "m.v6.fix(0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, the instructions tell us to create an instance of the ``DiagnosticsToolbox`` and to pass the model we wish to examine as an argument.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Create an instance of the DiagnosticsToolbox: dt = DiagnosticsToolbox(m)\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Create an instance of the Diagnostics Toolbox" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "dt = DiagnosticsToolbox(m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finally, the instructions tell us to run the ``report_structural_issues()`` method. Structural issues represent issues that exist solely in the form of the model equations and thus do not depend on the current value of any of the variables. This is useful as it means we can check for these before we even call a solver, which can be critical as sometimes these issues will cause a solver to fail without providing a useful solution.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Call dt.report_structural_issues() in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Call the report_structural_issues() method" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 4 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 3 (External: 0)\n", - " Activated Equality Constraints: 4 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 WARNINGS\n", - "\n", - " WARNING: 1 Component with inconsistent units\n", - " WARNING: Structural singularity found\n", - " Under-Constrained Set: 3 variables, 2 constraints\n", - " Over-Constrained Set: 1 variables, 2 constraints\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 Cautions\n", - "\n", - " Caution: 1 variable fixed to 0\n", - " Caution: 1 unused variable (0 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_components_with_inconsistent_units()\n", - " display_underconstrained_set()\n", - " display_overconstrained_set()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Looking at the output from the ``report_structural_issues()`` method, we can see that it provides a fairly short summary containing 4 sections.\n", - "\n", - "1. The first section is a summary of the size of the model, indicating things like the number of variables and constraints. The size of the model is often important for judging how difficult it will be to solve, and this information can also be useful for comparison to what is being sent to the solver. Most solvers will report the size of the model in their output logs, and if there is a difference between what is reported here and by the solver, then you should probably look into what is happening. This section also notes some things such as if you have any deactivated Blocks, Constraints or Objectives, or if you have variables which appear in the constraints that are not part of the model; these are not necessarily wrong but it is easy to have accidentally deactivated something you did not intend to so you should always check to see that these are expected.\n", - "\n", - "2. The second section provides a summary of any critical structural issues that were found - in this case we can see that there are 2 warnings we are going to need to look into. Warnings represent issues that need to be addressed before moving on as these will likely cause the solver to fail or give an incorrect answer.\n", - "\n", - "3. The third section lists a summary of any cautions that are found. Cautions represent issues that may or may not be problematic; in many cases these might be expected behaviors or borderline issues. However, these could also represent conceptual issues that should be addressed, so users should take the time to investigate these and determine if they need to be fixed or not.\n", - "\n", - "4. Finally, there is a section that suggests the next steps to take to help guide you through the model diagnosis process. If any warnings were identified, this section will list methods that can help you get more information on each specific problem, and if no warnings are found then it will guide you onto the next step in the model diagnosis workflow.\n", - "\n", - "**Note:** there are methods available to help investigate cautions as well, but these will not show up in the next steps in order to avoid cluttering the output. You can get more information on the available methods for investigating cautions via the documentation or ``help()`` function.\n", - "\n", - "In our current model, we have 2 critical issues (warnings) that we need to look into and resolve. The order in which we resolve these will generally not matter, but be aware that these can often be interrelated - fixing one warning might resolve other warnings as well (or create new ones), and sometimes you will need to look at multiple issues together to find the overall root cause.\n", - "\n", - "To start with, let us look at the unit consistency issue. From the \"Next Steps\" section above, the toolbox is suggesting we run the ``display_components_with_inconsistent_units()`` method for more information.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Call the `display_components_with_inconsistent_units()` method from the DiagnosticsToolbox to see more information on which constraint is causing the unit consistency issues.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Call the display_components_with_inconsistent_units() method" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "scrolled": false, - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following component(s) have unit consistency issues:\n", - "\n", - " c1\n", - "\n", - "For more details on unit inconsistencies, import the assert_units_consistent method\n", - "from pyomo.util.check_units\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.display_components_with_inconsistent_units()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This tells us that the issue lies in constraint ``c1``. If we go back and look at this constraint, we can see that it says ``v1 + v2 == 10``. ``v1`` and ``v2`` both have units of ``m`` which is consistent, but the constant in the expression (right hand side) is unitless. Thus, we need to correct this so that the right hand side has units for the constraint to be consistent.\n", - "\n", - "The cell below shows how to delete a constraint and replace it with a new one with the correct units.\n", - "\n", - "
\n", - "Warning:\n", - "Deleting components can cause unexpected issues if something else in a model is using that component (e.g., deleting a variable which is used in a constraint). You should always be careful when deleting Pyomo components and make sure you only delete components that are not used elsewhere.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "# Delete the incorrect Constraint\n", - "m.del_component(m.c1)\n", - "\n", - "# Re-create the Constraint with the correct units\n", - "m.c1 = pyo.Constraint(expr=m.v1 + m.v2 == 10 * pyo.units.m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Warning:\n", - "Fixing issues in models is often an iterative process requiring trial and error. You might also have some results from a model before running the diagnostics tools and the changes you make during debugging may make it difficult to replicate those results afterwards.\n", - " \n", - "It is strongly recommended that you keep a record of the changes you make at each step and why, along with a Git hash (or similar version control marker) corresponding to these changes. This will allow you see what changes and why, and give you a way to go back to previous iterations if the current approach does not work out. The IDAES documentation contains recommendations on how to keep and maintain a modeling logbook.\n", - "
\n", - "\n", - "Now, re-run the ``report_structural_issues()`` method and see if this change has fixed the unit consistency issue.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Call dt.report_structural_issues() in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Call the report_structural_issues() method" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "scrolled": true, - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 4 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 3 (External: 0)\n", - " Activated Equality Constraints: 4 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 WARNINGS\n", - "\n", - " WARNING: Structural singularity found\n", - " Under-Constrained Set: 3 variables, 2 constraints\n", - " Over-Constrained Set: 1 variables, 2 constraints\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 Cautions\n", - "\n", - " Caution: 1 variable fixed to 0\n", - " Caution: 1 unused variable (0 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_underconstrained_set()\n", - " display_overconstrained_set()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The unit consistency issue has been resolved by the changes above, so now we need to look at the structural singularity. A structural singularity occurs when one sub-part of the model is over-constrained (negative degrees of freedom), which generally means another part is under-constrained (positive degrees of freedom, assuming that there are 0 degrees of freedom overall).\n", - "\n", - "The toolbox is suggesting we use the ``display_overconstrained_set()`` and ``display_underconstrained_set()`` methods to get more information on the singularity; for now, let us start with the over-constrained set.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Call dt.display_overconstrained_set() in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Call the display_overconstrained_set() method" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Dulmage-Mendelsohn Over-Constrained Set\n", - "\n", - " Independent Block 0:\n", - "\n", - " Variables:\n", - "\n", - " v3\n", - "\n", - " Constraints:\n", - "\n", - " c2\n", - " c3\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.display_overconstrained_set()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "From the output above, the toolbox is telling us that we have two constraints (``c2`` and ``c3``) which only contain a single unfixed variable (``v3``); thus in this part of the model we have -1 degree of freedom and the model is not well defined (structurally singular). If we go back and look at these constraints, we can see the that the constraints are:\n", - "\n", - "``c2: v3 == v4 + v5``\n", - "\n", - "``c3: 2*v3 == 3*v4 + 4*v5 + v6``\n", - "\n", - "We can see that in addition to ``v3`` these constraints actually contain 3 other variables (``v4``, ``v5`` and ``v6``), however these are all variables we fixed to get our initial zero degrees of freedom. It looks like we have either accidentally fixed one too many variables or written one too many constraints.\n", - "\n", - "For this example, let us assume that ``v4`` was not supposed to be fixed and unfix it.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Resolve the structural singularity and then call dt.report_structural_issues() in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Unfix v4\n", - "\n", - "# Then call the report_structural_issues() method again" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "scrolled": true, - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 5 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 2 (External: 0)\n", - " Activated Equality Constraints: 4 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 WARNINGS\n", - "\n", - " WARNING: 1 Degree of Freedom\n", - " WARNING: Structural singularity found\n", - " Under-Constrained Set: 3 variables, 2 constraints\n", - " Over-Constrained Set: 0 variables, 0 constraints\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 Cautions\n", - "\n", - " Caution: 1 variable fixed to 0\n", - " Caution: 1 unused variable (0 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_underconstrained_set()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "m.v4.unfix()\n", - "\n", - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can see that the over-constrained set is now empty (0 variables and 0 constraints) but the under-constrained set still has 3 variables and only 2 constraints. We can also see that there is a new warning about having 1 degree of freedom in the model, however this should not be surprising as we have just unfixed ``v4`` to resolve the over-constrained set so we have added a degree of freedom to the model.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Display the under-constrained set in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Display the under-constrained set" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Dulmage-Mendelsohn Under-Constrained Set\n", - "\n", - " Independent Block 0:\n", - "\n", - " Variables:\n", - "\n", - " v2\n", - " v1\n", - " v7\n", - "\n", - " Constraints:\n", - "\n", - " c1\n", - " c4\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.display_underconstrained_set()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Looking at the output from the ``display_underconstrained_set()`` method, we can see that we have two constraints, ``c1`` and ``c4``, which contain three unfixed variables, ``v1``, ``v2`` and ``v7``. Thus, we have one degree of freedom that needs to be addressed. To fix this, we could either fix one of the variables shown or add an additional equality constraint to the model.\n", - "\n", - "For this example let's fix ``v2`` to a value of 5 and then re-run the ``report_structural_issues()`` method.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Fix v2 to a value of 5 and then re-run dt.report_structural_issues.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Fix v2 = 5\n", - "\n", - "# Then re-run report_structural_issues() method" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": { - "scrolled": true, - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 4 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 3 (External: 0)\n", - " Activated Equality Constraints: 4 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 Cautions\n", - "\n", - " Caution: 1 variable fixed to 0\n", - " Caution: 1 unused variable (0 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " Try to initialize/solve your model and then call report_numerical_issues()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "m.v2.fix(5)\n", - "\n", - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The toolbox is now telling us that no warnings were found, so we have resolved all the structural issues (for now at least). The toolbox is telling us that there are also 2 non-critical issues (cautions) that we should look at; one about an unused variable and one about a variable fixed to zero. If you wish, you can look into identifying and fixing these yourself, however for this example we will move on to the next step (remember that the toolbox has methods to display more details for each of these which you can find in the documentation or from the ``help()`` function).\n", - "\n", - "For the Next Steps section, the toolbox is recommending we try to solve our model and then check for numerical issues.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Use the Pyomo SolverFactory to create an instance of IPOPT and then try to solve the model. Make sure to set \"tee=True\" as this is going to fail (and it is always good practice to review the solver logs).\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Create a solver object\n", - "\n", - "# Try to solve the model" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 7\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 4\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 2\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 4\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 1.40e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 1.39e+01 1.50e+02 -1.0 6.00e+00 - 7.16e-01 4.93e-03h 1\n", - " 2 0.0000000e+00 1.39e+01 3.03e+06 -1.0 5.97e+00 - 1.00e+00 4.95e-05h 1\n", - " 3r 0.0000000e+00 1.39e+01 1.00e+03 1.1 0.00e+00 - 0.00e+00 2.47e-07R 2\n", - " 4r 0.0000000e+00 4.19e+00 9.42e+02 1.1 3.50e+03 - 4.02e-01 3.37e-03f 1\n", - " 5r 0.0000000e+00 2.12e+00 8.72e+02 1.1 5.89e+01 - 4.35e-01 7.06e-02f 1\n", - " 6r 0.0000000e+00 6.74e-01 6.06e+02 1.1 5.29e+00 - 9.93e-03 3.98e-01f 1\n", - " 7r 0.0000000e+00 6.80e-01 3.14e+02 0.4 2.05e-01 - 1.00e+00 1.03e-01f 1\n", - " 8r 0.0000000e+00 6.69e-01 2.78e-05 0.4 2.58e-02 - 1.00e+00 1.00e+00f 1\n", - " 9r 0.0000000e+00 6.67e-01 7.56e+00 -1.7 8.13e-03 - 9.93e-01 9.96e-01f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10r 0.0000000e+00 6.67e-01 2.23e-07 -1.7 4.13e-05 - 1.00e+00 1.00e+00f 1\n", - " 11r 0.0000000e+00 6.67e-01 6.73e-01 -3.7 6.61e-05 - 1.00e+00 1.00e+00f 1\n", - " 12r 0.0000000e+00 6.67e-01 1.91e-09 -3.7 1.48e-09 - 1.00e+00 1.00e+00h 1\n", - " 13r 0.0000000e+00 6.67e-01 2.69e+00 -8.4 5.74e-07 - 1.00e+00 9.26e-01f 1\n", - " 14r 0.0000000e+00 6.67e-01 7.65e+01 -8.4 4.23e-08 - 8.68e-01 1.00e+00f 1\n", - "\n", - "Number of Iterations....: 14\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 3.2644919411246030e-04 3.2644919411246030e-04\n", - "Constraint violation....: 6.6666666333656233e-01 6.6666666333656233e-01\n", - "Complementarity.........: 4.6615546565561981e-09 4.6615546565561981e-09\n", - "Overall NLP error.......: 6.6666666333656233e-01 6.6666666333656233e-01\n", - "\n", - "\n", - "Number of objective function evaluations = 18\n", - "Number of objective gradient evaluations = 5\n", - "Number of equality constraint evaluations = 18\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 17\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 15\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.003\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Converged to a point of local infeasibility. Problem may be infeasible.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: infeasible\n", - " - message from solver: Ipopt 3.13.2\\x3a Converged to a locally infeasible\n", - " point. Problem may be infeasible.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 4, 'Number of variables': 4, 'Sense': 'unknown'}], 'Solver': [{'Status': 'warning', 'Message': 'Ipopt 3.13.2\\\\x3a Converged to a locally infeasible point. Problem may be infeasible.', 'Termination condition': 'infeasible', 'Id': 200, 'Error rc': 0, 'Time': 0.007064104080200195}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "solver = pyo.SolverFactory(\"ipopt\")\n", - "solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As hinted at above, IPOPT has returned a warning that the problem may be infeasible. Before moving on however, it is always good practice to look over the solver outputs and see what it is telling you.\n", - "\n", - "
\n", - "Warning:\n", - "A lot of useful information is contained in the solver logs which is extremely useful when diagnosing modeling issues. Each solver has its own way of reporting output and its own specific behavior, so you will need to learn to interpret the output of each solver you use. The IDAES Documentation contains some guidance on interpreting output logs for a few common solvers.\n", - "
\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Call the report_numerical_issues method in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Check for numerical issues" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 1.700E+01\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 WARNINGS\n", - "\n", - " WARNING: 1 Constraint with large residuals (>1.0E-05)\n", - " WARNING: 1 Variable at or outside bounds (tol=0.0E+00)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "5 Cautions\n", - "\n", - " Caution: 2 Variables with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 2 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 1 Variable with extreme value (<1.0E-04 or >1.0E+04)\n", - " Caution: 1 Variable with None value\n", - " Caution: 1 extreme Jacobian Entry (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_constraints_with_large_residuals()\n", - " display_variables_at_or_outside_bounds()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.report_numerical_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The ``report_numerical_issues()`` provides a summary similar to that which we saw for the structural issues. Firstly, it reports to us the Jacobian condition number for our problem which can give us an idea of how well-scaled the problem is, followed by a list of warnings, cautions and suggested next steps.\n", - "\n", - "Unsurprisingly, we are seeing a warning about a constraint with a large residual which we would expect when a solver reports a potentially infeasible problem. We are also seeing a warning about a variable with bound violations which might be contributing to the potential infeasibility.\n", - "\n", - "For the next steps, the toolbox is suggesting some new methods to get more information on these issues; let us start by looking at the constraints with large residuals.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Display the constraint with a large residual in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Display constraint with large residual" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following constraint(s) have large residuals (>1.0E-05):\n", - "\n", - " c2: 6.66667E-01\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.display_constraints_with_large_residuals()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The toolbox is telling us that the constraint which failed to converge is ``c2``, however this is generally only part of the story. Solvers work by trying to minimize the infeasibility in the model (residual of the constraints), which generally means they push any infeasibility onto the least sensitive constraint in the problem. Thus, the constraint which shows the infeasibility is often not the root cause of the problem, but only the symptom of the underlying issue.\n", - "\n", - "If we look back at the constraints, we can see that the same variables also appear in ``c3`` and that some of these have bounds, all of which could be contributing to the infeasibility. In this case the solver tried to minimize the residual in all the constraints and ended up pushing all the issues off onto ``c2``.\n", - "\n", - "
\n", - "Warning:\n", - "When dealing with solver issues such as this, you should always remember that the obvious symptoms are often just the tip of the iceberg and that the real issue generally lies somewhere else; the challenge is tracing the symptoms back to their ultimate source.\n", - "
\n", - "\n", - "Next, let us take a look at the variables at or outside their bounds as well. When a solver reports an potentially infeasible solution, the most common cause is unexpected bounds violations so you should always check these first.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Display the variables with bounds violations.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Display the variables with bounds violations" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following variable(s) have values at or outside their bounds (tol=0.0E+00):\n", - "\n", - " v3 (free): value=0.0 bounds=(0, 5)\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.display_variables_at_or_outside_bounds()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The toolbox is telling us that ``v3`` is the variable with a potential issue. It is also showing us the current value and bounds for ``v3`` as well as if it is a fixed or free variable, which will be useful for diagnosing the issues.\n", - "\n", - "We can see that ``v3`` is a free variable with bounds between 0 and 5 and a current value of 0. As ``v3`` is a free variable, this suggests that the solver has pushed the value to the bound where it cannot go any further, and this might be part of the cause of our infeasibility.\n", - "\n", - "
\n", - "Warning:\n", - "When dealing with bounds violations you should always start by understanding why the bounds exist and what they mean - in many cases a bound indicates the range over which the model can be trusted and that going beyond this may result in unexpected behavior due to extrapolation.\n", - " \n", - "Never arbitrarily change a bound just because it is causing your model to be infeasible without understanding the consequences of this decision. Often, a bound violation is an indication that you need to re-think some of the constraints in your model to find alternatives which are valid in the actual range of values you are trying to solve for.\n", - "
\n", - "\n", - "For this example, let us assume that we made a mistake with the bounds on ``v3`` and set the lower bound to be -5.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Update the bounds on v3 in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Update bounds for v3" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "m.v3.setlb(-5)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that we have fixed the bounds issues, we should check whether our model is now feasible. However, before we continue we should recognize that we have just made a structural change to the model. If we were not careful, this could have introduced new structural issues to the model, so we should start from the beginning just to be sure.\n", - "\n", - "
\n", - "Warning:\n", - "In general, you should always start from the beginning of the model diagnosis workflow after you make any change to the model. Remember to also record these changes in your log book in case something unexpected happens so that you can revert any changes that cause problems.\n", - "
\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Check to see if there are any new structural issues in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Check for new structural issues" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": { - "scrolled": true, - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 4 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 3 (External: 0)\n", - " Activated Equality Constraints: 4 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 Cautions\n", - "\n", - " Caution: 1 variable fixed to 0\n", - " Caution: 1 unused variable (0 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " Try to initialize/solve your model and then call report_numerical_issues()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Our change has not introduced any new structural issues, so we can move on and try to solve the model again.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Re-solve the model in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Re-solve the model" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 7\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 4\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 2\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 4\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 6.67e-01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 6.66e-03 2.97e+00 -1.0 2.00e+00 - 7.17e-01 9.90e-01h 1\n", - " 2 0.0000000e+00 6.27e-05 9.38e+00 -1.0 2.00e-02 - 1.00e+00 9.91e-01h 1\n", - " 3 0.0000000e+00 8.88e-16 1.13e-12 -1.0 1.88e-04 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 8.8817841970012523e-16 8.8817841970012523e-16\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 8.8817841970012523e-16 8.8817841970012523e-16\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 4, 'Number of variables': 4, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.02317023277282715}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "IPOPT should have returned optimal solution now, so it looks like those bounds were what was causing the model to be infeasible. At this point, the model is now solving (for the current values at least), so you might think that the model is now ready for optimization.\n", - "\n", - "However, if we look at the solver logs we can see that it took around 3 iterations for IPOPT to solve our model (depending on minor variations in computer architecture). For a model this simple, we would generally expect it to solve in only 1 iteration so there is still some room for improvement.\n", - "\n", - "
\n", - "Warning:\n", - "You should keep in mind that just because you get an optimal solution does not mean that your model is robust and free of issues.\n", - " \n", - "You should always take the time to look over the solver logs to look for signs of trouble, even if you get an optimal solution. While you might get an optimal solution for the current state, there may be advance warning signs of issues that will cause problems later when you try to solve the model at a different state.\n", - "
\n", - "\n", - "Let us run the ``report_numerical_issues`` method again to see if there are any other problems we need to address.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Check for additional numerical issues in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Check for additional numerical issues" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 1.700E+01\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "5 Cautions\n", - "\n", - " Caution: 1 Variable with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 1 Variable with value close to zero (tol=1.0E-08)\n", - " Caution: 1 Variable with extreme value (<1.0E-04 or >1.0E+04)\n", - " Caution: 1 Variable with None value\n", - " Caution: 1 extreme Jacobian Entry (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " If you still have issues converging your model consider:\n", - " prepare_svd_toolbox()\n", - " prepare_degeneracy_hunter()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.report_numerical_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The toolbox is not reporting any warnings which is good, however there are still 5 numerical cautions that it has identified which might be contributing to the larger than expected number of iterations. As mentioned earlier, the toolbox does not suggest methods for investigating these, but there are methods available. For example, we can look at the variable with an extreme value using the `display_variables_with_extreme_values()` method.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Check for additional information about variables with extreme values.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Display variable with extreme value" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following variable(s) have extreme values (<1.0E-04 or > 1.0E+04):\n", - "\n", - " v7: 4.9999999999999945e-08\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.display_variables_with_extreme_values()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can see that ``v7`` is potentially causing problems due to having a very small value (on the order of magnitude of the solver tolerance). This can be especially problematic for interior point solvers like IPOPT if there is a lower bound of 0 (which there is in this case). IPOPT tries to avoid bounds and thus perturbs solutions away from these if it gets too close, which can cause convergence to be slow (or fail) if the solution lies close to the bound.\n", - "\n", - "We can address this by scaling the variable so that the value of the scaled variable is large enough that the solution is not close to the lower bound. Additionally, we should look at any constraint that ``v7`` appears in (in this case ``c4``) and ensure that those constraints are well scaled as well (so that a residual of 1e-6 is reasonable for the terms involved).\n", - "\n", - "For this case, we can set a scaling factor of 1e8 for both ``v7`` and ``c4`` as shown below. Note that we also need to apply Pyomo's scaling transformation to create a new scaled model to work with." - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "metadata": {}, - "outputs": [], - "source": [ - "m.scaling_factor = pyo.Suffix(direction=pyo.Suffix.EXPORT)\n", - "\n", - "m.scaling_factor[m.v7] = 1e8\n", - "m.scaling_factor[m.c4] = 1e8\n", - "\n", - "scaling = pyo.TransformationFactory(\"core.scale_model\")\n", - "scaled_model = scaling.create_using(m, rename=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that we have a scaled model, we can try to solve it and hopefully see better convergence than the unscaled model.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Solve the scaled model and check to see how many iterations are required.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Solve scaled model" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 7\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 4\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 2\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 4\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 5.33e-15 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "\n", - "Number of Iterations....: 0\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 5.3290705182007514e-15 5.3290705182007514e-15\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 5.3290705182007514e-15 5.3290705182007514e-15\n", - "\n", - "\n", - "Number of objective function evaluations = 1\n", - "Number of objective gradient evaluations = 1\n", - "Number of equality constraint evaluations = 1\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 1\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 0\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\b\b\b\b\b\b\b\b\b\b\b\b\b\b" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 4, 'Number of variables': 4, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.0058002471923828125}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 43, - "metadata": {}, - "output_type": "execute_result" + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# IDAES Model Diagnostics Toolbox Tutorial\n", + "Author: Andrew Lee \n", + "Maintainer: Andrew Lee \n", + "Updated: 2023-10-31 \n", + "\n", + "As you have likely discovered already, developing and solving models in an equation-oriented (EO) environment can be challenging and often takes a significant amount of effort. There are many pitfalls and mistakes that can be encountered when developing a model which can greatly impact the solvability and robustness of the final problem.\n", + "\n", + "Model diagnosis and debugging is often more of an art than a science, and it generally relies on significant experience and understanding both of general EO modeling techniques and the specific model and problem being solved. To assist with this process, IDAES has developed a model diagnostics toolbox that brings together a large number of tools for identifying potential issues in a model to help guide the user through the process of finding and resolving these issues. Note however that whilst these tools can help identify the presence of an issue, remedying the issue always requires some degree of engineering knowledge about the system being modeled, and thus it is ultimately up to the user to find a solution to the problem.\n", + "\n", + "This tutorial will take you through using the {py:class}`DiagnosticsToolbox ` to debug a number of issues in a simple Pyomo model and to take it from initially reporting a possible infeasible solution to returning the correct solution.\n", + "\n", + "To get started, the ``DiagnosticsToolbox`` can be imported from ``idaes.core.util``.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Import the DiagnosticsToolbox in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core.util import DiagnosticsToolbox" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To get some information on where to start, try using the Python ``help()`` function to see the documentation for the ``DiagnosticsToolbox``.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Call `help(DiagnosticsToolbox)` to see some more information on the toolbox and some instructions on how to get started.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Call the help() function for more information" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "help(DiagnosticsToolbox)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The ``help()`` function gives us a lot of information on the ``DiagnosticsToolbox`` and all the methods that it supports (and there are many). However, the important part to start with are the four steps outlined at the top of the doc string that tell us how to get started.\n", + "\n", + "Firstly, we need a model to test (and, for this tutorial at least, one that has a wide range of issues that we need to fix before it will solve). We then also need to fix some variables so that we have 0 degrees of freedom in our model. Whilst our ultimate goal is generally optimization (and thus a system with 1 or more degrees of freedom), all models conceptually derive from a square model representing a nominal state. If this nominal state is not well-posed, then any issues present will also be present in the resulting optimization (even if adding degrees of freedom means that the model is now easier to solve).\n", + "\n", + "The cell below contains a demonstration model for this tutorial that contains a number of issues that we will resolve using the ``DiagnosticsToolbox``." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "import pyomo.environ as pyo\n", + "\n", + "m = pyo.ConcreteModel()\n", + "\n", + "m.v1 = pyo.Var(units=pyo.units.m)\n", + "m.v2 = pyo.Var(units=pyo.units.m)\n", + "m.v3 = pyo.Var(bounds=(0, 5))\n", + "m.v4 = pyo.Var()\n", + "m.v5 = pyo.Var(bounds=(0, 10))\n", + "m.v6 = pyo.Var()\n", + "m.v7 = pyo.Var(\n", + " units=pyo.units.m, bounds=(0, 1)\n", + ") # Poorly scaled variable with lower bound\n", + "m.v8 = pyo.Var() # unused variable\n", + "\n", + "m.c1 = pyo.Constraint(expr=m.v1 + m.v2 == 10) # Unit consistency issue\n", + "m.c2 = pyo.Constraint(expr=m.v3 == m.v4 + m.v5)\n", + "m.c3 = pyo.Constraint(expr=2 * m.v3 == 3 * m.v4 + 4 * m.v5 + m.v6)\n", + "m.c4 = pyo.Constraint(expr=m.v7 == 1e-8 * m.v1) # Poorly scaled constraint\n", + "\n", + "m.v4.fix(2)\n", + "m.v5.fix(2)\n", + "m.v6.fix(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, the instructions tell us to create an instance of the ``DiagnosticsToolbox`` and to pass the model we wish to examine as an argument.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Create an instance of the DiagnosticsToolbox: dt = DiagnosticsToolbox(m)\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Create an instance of the Diagnostics Toolbox" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt = DiagnosticsToolbox(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, the instructions tell us to run the ``report_structural_issues()`` method. Structural issues represent issues that exist solely in the form of the model equations and thus do not depend on the current value of any of the variables. This is useful as it means we can check for these before we even call a solver, which can be critical as sometimes these issues will cause a solver to fail without providing a useful solution.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Call dt.report_structural_issues() in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Call the report_structural_issues() method" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.report_structural_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Looking at the output from the ``report_structural_issues()`` method, we can see that it provides a fairly short summary containing 4 sections.\n", + "\n", + "1. The first section is a summary of the size of the model, indicating things like the number of variables and constraints. The size of the model is often important for judging how difficult it will be to solve, and this information can also be useful for comparison to what is being sent to the solver. Most solvers will report the size of the model in their output logs, and if there is a difference between what is reported here and by the solver, then you should probably look into what is happening. This section also notes some things such as if you have any deactivated Blocks, Constraints or Objectives, or if you have variables which appear in the constraints that are not part of the model; these are not necessarily wrong but it is easy to have accidentally deactivated something you did not intend to so you should always check to see that these are expected.\n", + "\n", + "2. The second section provides a summary of any critical structural issues that were found - in this case we can see that there are 2 warnings we are going to need to look into. Warnings represent issues that need to be addressed before moving on as these will likely cause the solver to fail or give an incorrect answer.\n", + "\n", + "3. The third section lists a summary of any cautions that are found. Cautions represent issues that may or may not be problematic; in many cases these might be expected behaviors or borderline issues. However, these could also represent conceptual issues that should be addressed, so users should take the time to investigate these and determine if they need to be fixed or not.\n", + "\n", + "4. Finally, there is a section that suggests the next steps to take to help guide you through the model diagnosis process. If any warnings were identified, this section will list methods that can help you get more information on each specific problem, and if no warnings are found then it will guide you onto the next step in the model diagnosis workflow.\n", + "\n", + "**Note:** there are methods available to help investigate cautions as well, but these will not show up in the next steps in order to avoid cluttering the output. You can get more information on the available methods for investigating cautions via the documentation or ``help()`` function.\n", + "\n", + "In our current model, we have 2 critical issues (warnings) that we need to look into and resolve. The order in which we resolve these will generally not matter, but be aware that these can often be interrelated - fixing one warning might resolve other warnings as well (or create new ones), and sometimes you will need to look at multiple issues together to find the overall root cause.\n", + "\n", + "To start with, let us look at the unit consistency issue. From the \"Next Steps\" section above, the toolbox is suggesting we run the ``display_components_with_inconsistent_units()`` method for more information.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Call the `display_components_with_inconsistent_units()` method from the DiagnosticsToolbox to see more information on which constraint is causing the unit consistency issues.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Call the display_components_with_inconsistent_units() method" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "scrolled": false, + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.display_components_with_inconsistent_units()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This tells us that the issue lies in constraint ``c1``. If we go back and look at this constraint, we can see that it says ``v1 + v2 == 10``. ``v1`` and ``v2`` both have units of ``m`` which is consistent, but the constant in the expression (right hand side) is unitless. Thus, we need to correct this so that the right hand side has units for the constraint to be consistent.\n", + "\n", + "The cell below shows how to delete a constraint and replace it with a new one with the correct units.\n", + "\n", + "
\n", + "Warning:\n", + "Deleting components can cause unexpected issues if something else in a model is using that component (e.g., deleting a variable which is used in a constraint). You should always be careful when deleting Pyomo components and make sure you only delete components that are not used elsewhere.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "# Delete the incorrect Constraint\n", + "m.del_component(m.c1)\n", + "\n", + "# Re-create the Constraint with the correct units\n", + "m.c1 = pyo.Constraint(expr=m.v1 + m.v2 == 10 * pyo.units.m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Warning:\n", + "Fixing issues in models is often an iterative process requiring trial and error. You might also have some results from a model before running the diagnostics tools and the changes you make during debugging may make it difficult to replicate those results afterwards.\n", + " \n", + "It is strongly recommended that you keep a record of the changes you make at each step and why, along with a Git hash (or similar version control marker) corresponding to these changes. This will allow you see what changes and why, and give you a way to go back to previous iterations if the current approach does not work out. The IDAES documentation contains recommendations on how to keep and maintain a modeling logbook.\n", + "
\n", + "\n", + "Now, re-run the ``report_structural_issues()`` method and see if this change has fixed the unit consistency issue.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Call dt.report_structural_issues() in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Call the report_structural_issues() method" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "scrolled": true, + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.report_structural_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The unit consistency issue has been resolved by the changes above, so now we need to look at the structural singularity. A structural singularity occurs when one sub-part of the model is over-constrained (negative degrees of freedom), which generally means another part is under-constrained (positive degrees of freedom, assuming that there are 0 degrees of freedom overall).\n", + "\n", + "The toolbox is suggesting we use the ``display_overconstrained_set()`` and ``display_underconstrained_set()`` methods to get more information on the singularity; for now, let us start with the over-constrained set.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Call dt.display_overconstrained_set() in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Call the display_overconstrained_set() method" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.display_overconstrained_set()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From the output above, the toolbox is telling us that we have two constraints (``c2`` and ``c3``) which only contain a single unfixed variable (``v3``); thus in this part of the model we have -1 degree of freedom and the model is not well defined (structurally singular). If we go back and look at these constraints, we can see the that the constraints are:\n", + "\n", + "``c2: v3 == v4 + v5``\n", + "\n", + "``c3: 2*v3 == 3*v4 + 4*v5 + v6``\n", + "\n", + "We can see that in addition to ``v3`` these constraints actually contain 3 other variables (``v4``, ``v5`` and ``v6``), however these are all variables we fixed to get our initial zero degrees of freedom. It looks like we have either accidentally fixed one too many variables or written one too many constraints.\n", + "\n", + "For this example, let us assume that ``v4`` was not supposed to be fixed and unfix it.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Resolve the structural singularity and then call dt.report_structural_issues() in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Unfix v4\n", + "\n", + "# Then call the report_structural_issues() method again" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "scrolled": true, + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "m.v4.unfix()\n", + "\n", + "dt.report_structural_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that the over-constrained set is now empty (0 variables and 0 constraints) but the under-constrained set still has 3 variables and only 2 constraints. We can also see that there is a new warning about having 1 degree of freedom in the model, however this should not be surprising as we have just unfixed ``v4`` to resolve the over-constrained set so we have added a degree of freedom to the model.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Display the under-constrained set in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Display the under-constrained set" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.display_underconstrained_set()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Looking at the output from the ``display_underconstrained_set()`` method, we can see that we have two constraints, ``c1`` and ``c4``, which contain three unfixed variables, ``v1``, ``v2`` and ``v7``. Thus, we have one degree of freedom that needs to be addressed. To fix this, we could either fix one of the variables shown or add an additional equality constraint to the model.\n", + "\n", + "For this example let's fix ``v2`` to a value of 5 and then re-run the ``report_structural_issues()`` method.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Fix v2 to a value of 5 and then re-run dt.report_structural_issues.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Fix v2 = 5\n", + "\n", + "# Then re-run report_structural_issues() method" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "scrolled": true, + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "m.v2.fix(5)\n", + "\n", + "dt.report_structural_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The toolbox is now telling us that no warnings were found, so we have resolved all the structural issues (for now at least). The toolbox is telling us that there are also 2 non-critical issues (cautions) that we should look at; one about an unused variable and one about a variable fixed to zero. If you wish, you can look into identifying and fixing these yourself, however for this example we will move on to the next step (remember that the toolbox has methods to display more details for each of these which you can find in the documentation or from the ``help()`` function).\n", + "\n", + "For the Next Steps section, the toolbox is recommending we try to solve our model and then check for numerical issues.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Use the Pyomo SolverFactory to create an instance of IPOPT and then try to solve the model. Make sure to set \"tee=True\" as this is going to fail (and it is always good practice to review the solver logs).\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Create a solver object\n", + "\n", + "# Try to solve the model" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "solver = pyo.SolverFactory(\"ipopt\")\n", + "solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As hinted at above, IPOPT has returned a warning that the problem may be infeasible. Before moving on however, it is always good practice to look over the solver outputs and see what it is telling you.\n", + "\n", + "
\n", + "Warning:\n", + "A lot of useful information is contained in the solver logs which is extremely useful when diagnosing modeling issues. Each solver has its own way of reporting output and its own specific behavior, so you will need to learn to interpret the output of each solver you use. The IDAES Documentation contains some guidance on interpreting output logs for a few common solvers.\n", + "
\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Call the report_numerical_issues method in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Check for numerical issues" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.report_numerical_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The ``report_numerical_issues()`` provides a summary similar to that which we saw for the structural issues. Firstly, it reports to us the Jacobian condition number for our problem which can give us an idea of how well-scaled the problem is, followed by a list of warnings, cautions and suggested next steps.\n", + "\n", + "Unsurprisingly, we are seeing a warning about a constraint with a large residual which we would expect when a solver reports a potentially infeasible problem. We are also seeing a warning about a variable with bound violations which might be contributing to the potential infeasibility.\n", + "\n", + "For the next steps, the toolbox is suggesting some new methods to get more information on these issues; let us start by looking at the constraints with large residuals.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Display the constraint with a large residual in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Display constraint with large residual" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.display_constraints_with_large_residuals()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The toolbox is telling us that the constraint which failed to converge is ``c2``, however this is generally only part of the story. Solvers work by trying to minimize the infeasibility in the model (residual of the constraints), which generally means they push any infeasibility onto the least sensitive constraint in the problem. Thus, the constraint which shows the infeasibility is often not the root cause of the problem, but only the symptom of the underlying issue.\n", + "\n", + "If we look back at the constraints, we can see that the same variables also appear in ``c3`` and that some of these have bounds, all of which could be contributing to the infeasibility. In this case the solver tried to minimize the residual in all the constraints and ended up pushing all the issues off onto ``c2``.\n", + "\n", + "
\n", + "Warning:\n", + "When dealing with solver issues such as this, you should always remember that the obvious symptoms are often just the tip of the iceberg and that the real issue generally lies somewhere else; the challenge is tracing the symptoms back to their ultimate source.\n", + "
\n", + "\n", + "Next, let us take a look at the variables at or outside their bounds as well. When a solver reports an potentially infeasible solution, the most common cause is unexpected bounds violations so you should always check these first.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Display the variables with bounds violations.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Display the variables with bounds violations" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.display_variables_at_or_outside_bounds()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The toolbox is telling us that ``v3`` is the variable with a potential issue. It is also showing us the current value and bounds for ``v3`` as well as if it is a fixed or free variable, which will be useful for diagnosing the issues.\n", + "\n", + "We can see that ``v3`` is a free variable with bounds between 0 and 5 and a current value of 0. As ``v3`` is a free variable, this suggests that the solver has pushed the value to the bound where it cannot go any further, and this might be part of the cause of our infeasibility.\n", + "\n", + "
\n", + "Warning:\n", + "When dealing with bounds violations you should always start by understanding why the bounds exist and what they mean - in many cases a bound indicates the range over which the model can be trusted and that going beyond this may result in unexpected behavior due to extrapolation.\n", + " \n", + "Never arbitrarily change a bound just because it is causing your model to be infeasible without understanding the consequences of this decision. Often, a bound violation is an indication that you need to re-think some of the constraints in your model to find alternatives which are valid in the actual range of values you are trying to solve for.\n", + "
\n", + "\n", + "For this example, let us assume that we made a mistake with the bounds on ``v3`` and set the lower bound to be -5.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Update the bounds on v3 in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Update bounds for v3" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "m.v3.setlb(-5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that we have fixed the bounds issues, we should check whether our model is now feasible. However, before we continue we should recognize that we have just made a structural change to the model. If we were not careful, this could have introduced new structural issues to the model, so we should start from the beginning just to be sure.\n", + "\n", + "
\n", + "Warning:\n", + "In general, you should always start from the beginning of the model diagnosis workflow after you make any change to the model. Remember to also record these changes in your log book in case something unexpected happens so that you can revert any changes that cause problems.\n", + "
\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Check to see if there are any new structural issues in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Check for new structural issues" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "scrolled": true, + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.report_structural_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Our change has not introduced any new structural issues, so we can move on and try to solve the model again.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Re-solve the model in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Re-solve the model" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "IPOPT should have returned optimal solution now, so it looks like those bounds were what was causing the model to be infeasible. At this point, the model is now solving (for the current values at least), so you might think that the model is now ready for optimization.\n", + "\n", + "However, if we look at the solver logs we can see that it took around 3 iterations for IPOPT to solve our model (depending on minor variations in computer architecture). For a model this simple, we would generally expect it to solve in only 1 iteration so there is still some room for improvement.\n", + "\n", + "
\n", + "Warning:\n", + "You should keep in mind that just because you get an optimal solution does not mean that your model is robust and free of issues.\n", + " \n", + "You should always take the time to look over the solver logs to look for signs of trouble, even if you get an optimal solution. While you might get an optimal solution for the current state, there may be advance warning signs of issues that will cause problems later when you try to solve the model at a different state.\n", + "
\n", + "\n", + "Let us run the ``report_numerical_issues`` method again to see if there are any other problems we need to address.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Check for additional numerical issues in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Check for additional numerical issues" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.report_numerical_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The toolbox is not reporting any warnings which is good, however there are still 5 numerical cautions that it has identified which might be contributing to the larger than expected number of iterations. As mentioned earlier, the toolbox does not suggest methods for investigating these, but there are methods available. For example, we can look at the variable with an extreme value using the `display_variables_with_extreme_values()` method.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Check for additional information about variables with extreme values.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Display variable with extreme value" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.display_variables_with_extreme_values()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that ``v7`` is potentially causing problems due to having a very small value (on the order of magnitude of the solver tolerance). This can be especially problematic for interior point solvers like IPOPT if there is a lower bound of 0 (which there is in this case). IPOPT tries to avoid bounds and thus perturbs solutions away from these if it gets too close, which can cause convergence to be slow (or fail) if the solution lies close to the bound.\n", + "\n", + "We can address this by scaling the variable so that the value of the scaled variable is large enough that the solution is not close to the lower bound. Additionally, we should look at any constraint that ``v7`` appears in (in this case ``c4``) and ensure that those constraints are well scaled as well (so that a residual of 1e-6 is reasonable for the terms involved).\n", + "\n", + "For this case, we can set a scaling factor of 1e8 for both ``v7`` and ``c4`` as shown below. Note that we also need to apply Pyomo's scaling transformation to create a new scaled model to work with." + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [], + "source": [ + "m.scaling_factor = pyo.Suffix(direction=pyo.Suffix.EXPORT)\n", + "\n", + "m.scaling_factor[m.v7] = 1e8\n", + "m.scaling_factor[m.c4] = 1e8\n", + "\n", + "scaling = pyo.TransformationFactory(\"core.scale_model\")\n", + "scaled_model = scaling.create_using(m, rename=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that we have a scaled model, we can try to solve it and hopefully see better convergence than the unscaled model.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Solve the scaled model and check to see how many iterations are required.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Solve scaled model" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "solver.solve(scaled_model, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As we can see, the scaled model solved in 0 iterations (indicating that it already had the right solution). However, had we done this to the unscaled model we would have found it required 2-3 iterations again due to IPOPT perturbing the initial (correct) solution away from the bounds.\n", + "\n", + "
\n", + "Warning:\n", + "Normally in these cases we would need to map the solution from the scaled model back to the unscaled model so we can view the results. In this case, we are not actually interested in the solution so we move on with the model diagnosis.\n", + "
\n", + "\n", + "Now that we have fixed the scaling issues, we can go back to the ``DiagnosticsToolbox`` and see if we still have any warnings. Note however that we need to look at the scaled model now rather than the original model, so we need to create a new instance of the ``DiagnosticsToolbox`` with the scaled model as the ``model`` argument.\n", + "\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Create a new instance of the DiagnosticsToolbox and check the scaled model for issues.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Create a new diagnostics toolbox for scaled model\n", + "\n", + "# Report numerical issues for scaled model" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt_scaled = DiagnosticsToolbox(scaled_model)\n", + "dt_scaled.report_numerical_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that applying scaling addressed two of the cautions we had before (the variable with an extreme value and an associated large value in the model Jacobian). Whilst we were able to solve the unscaled model in this case, this is in part because it was a simple linear model. In more complex, non-linear models, scaling becomes much more important and often depends strongly on the current state of the model. That is, you can often find cases where the unscaled (or poorly scaled) model solves for a limited range of conditions but fails to solve if you move too far away for the current state. Whilst you might be able to solve the model at the current state, you should always check the solver logs and numerical cautions for advanced warning signs of scaling issues that might manifest later when you try to solve the model for a different state (e.g., during optimization).\n", + "\n", + "
\n", + "Warning:\n", + "By their nature, numerical issues depend on the current values of the variables in the model, and thus may remain hidden until someone tries to solve the model close to where the issue exists. For this reason, the full model diagnostics workflow contains steps to run the numerical checks across a wide range of variable values to try to ensure that no issues remain hidden. This is beyond the scope of this tutorial however.\n", + "
\n", + "\n", + "At this point, we have addressed all the issues that were preventing us from solving the demonstration model and so reached the end of this tutorial. For cases where we are still having trouble solving the model, we can see that the toolbox is suggesting additional methods for further debugging and these advanced features will be the focus of separate tutorials." + ] } - ], - "source": [ - "solver.solve(scaled_model, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As we can see, the scaled model solved in 0 iterations (indicating that it already had the right solution). However, had we done this to the unscaled model we would have found it required 2-3 iterations again due to IPOPT perturbing the initial (correct) solution away from the bounds.\n", - "\n", - "
\n", - "Warning:\n", - "Normally in these cases we would need to map the solution from the scaled model back to the unscaled model so we can view the results. In this case, we are not actually interested in the solution so we move on with the model diagnosis.\n", - "
\n", - "\n", - "Now that we have fixed the scaling issues, we can go back to the ``DiagnosticsToolbox`` and see if we still have any warnings. Note however that we need to look at the scaled model now rather than the original model, so we need to create a new instance of the ``DiagnosticsToolbox`` with the scaled model as the ``model`` argument.\n", - "\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Create a new instance of the DiagnosticsToolbox and check the scaled model for issues.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Create a new diagnostics toolbox for scaled model\n", - "\n", - "# Report numerical issues for scaled model" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 1.800E+01\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "3 Cautions\n", - "\n", - " Caution: 1 Variable with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 1 Variable with value close to zero (tol=1.0E-08)\n", - " Caution: 1 Variable with None value\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " If you still have issues converging your model consider:\n", - " prepare_svd_toolbox()\n", - " prepare_degeneracy_hunter()\n", - "\n", - "====================================================================================\n" - ] + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.5" } - ], - "source": [ - "dt_scaled = DiagnosticsToolbox(scaled_model)\n", - "dt_scaled.report_numerical_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can see that applying scaling addressed two of the cautions we had before (the variable with an extreme value and an associated large value in the model Jacobian). Whilst we were able to solve the unscaled model in this case, this is in part because it was a simple linear model. In more complex, non-linear models, scaling becomes much more important and often depends strongly on the current state of the model. That is, you can often find cases where the unscaled (or poorly scaled) model solves for a limited range of conditions but fails to solve if you move too far away for the current state. Whilst you might be able to solve the model at the current state, you should always check the solver logs and numerical cautions for advanced warning signs of scaling issues that might manifest later when you try to solve the model for a different state (e.g., during optimization).\n", - "\n", - "
\n", - "Warning:\n", - "By their nature, numerical issues depend on the current values of the variables in the model, and thus may remain hidden until someone tries to solve the model close to where the issue exists. For this reason, the full model diagnostics workflow contains steps to run the numerical checks across a wide range of variable values to try to ensure that no issues remain hidden. This is beyond the scope of this tutorial however.\n", - "
\n", - "\n", - "At this point, we have addressed all the issues that were preventing us from solving the demonstration model and so reached the end of this tutorial. For cases where we are still having trouble solving the model, we can see that the toolbox is suggesting additional methods for further debugging and these advanced features will be the focus of separate tutorials." - ] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.5" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/diagnostics/diagnostics_toolbox_test.ipynb b/idaes_examples/notebooks/docs/diagnostics/diagnostics_toolbox_test.ipynb index 740f40fe..671d5558 100644 --- a/idaes_examples/notebooks/docs/diagnostics/diagnostics_toolbox_test.ipynb +++ b/idaes_examples/notebooks/docs/diagnostics/diagnostics_toolbox_test.ipynb @@ -1,1868 +1,822 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# IDAES Model Diagnostics Toolbox Tutorial\n", - "Author: Andrew Lee \n", - "Maintainer: Andrew Lee \n", - "Updated: 2023-10-31 \n", - "\n", - "As you have likely discovered already, developing and solving models in an equation-oriented (EO) environment can be challenging and often takes a significant amount of effort. There are many pitfalls and mistakes that can be encountered when developing a model which can greatly impact the solvability and robustness of the final problem.\n", - "\n", - "Model diagnosis and debugging is often more of an art than a science, and it generally relies on significant experience and understanding both of general EO modeling techniques and the specific model and problem being solved. To assist with this process, IDAES has developed a model diagnostics toolbox that brings together a large number of tools for identifying potential issues in a model to help guide the user through the process of finding and resolving these issues. Note however that whilst these tools can help identify the presence of an issue, remedying the issue always requires some degree of engineering knowledge about the system being modeled, and thus it is ultimately up to the user to find a solution to the problem.\n", - "\n", - "This tutorial will take you through using the {py:class}`DiagnosticsToolbox ` to debug a number of issues in a simple Pyomo model and to take it from initially reporting a possible infeasible solution to returning the correct solution.\n", - "\n", - "To get started, the ``DiagnosticsToolbox`` can be imported from ``idaes.core.util``.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Import the DiagnosticsToolbox in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.core.util import DiagnosticsToolbox" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To get some information on where to start, try using the Python ``help()`` function to see the documentation for the ``DiagnosticsToolbox``.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Call `help(DiagnosticsToolbox)` to see some more information on the toolbox and some instructions on how to get started.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ + "cells": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "Help on class DiagnosticsToolbox in module idaes.core.util.model_diagnostics:\n", - "\n", - "class DiagnosticsToolbox(builtins.object)\n", - " | DiagnosticsToolbox(model: pyomo.core.base.block._BlockData, **kwargs)\n", - " | \n", - " | The IDAES Model DiagnosticsToolbox.\n", - " | \n", - " | To get started:\n", - " | \n", - " | 1. Create an instance of your model (this does not need to be initialized yet).\n", - " | 2. Fix variables until you have 0 degrees of freedom. Many of these tools presume\n", - " | a square model, and a square model should always be the foundation of any more\n", - " | advanced model.\n", - " | 3. Create an instance of the DiagnosticsToolbox and provide the model to debug as\n", - " | the model argument.\n", - " | 4. Call the ``report_structural_issues()`` method.\n", - " | \n", - " | Model diagnostics is an iterative process and you will likely need to run these\n", - " | tools multiple times to resolve all issues. After making a change to your model,\n", - " | you should always start from the beginning again to ensure the change did not\n", - " | introduce any new issues; i.e., always start from the report_structural_issues()\n", - " | method.\n", - " | \n", - " | Note that structural checks do not require the model to be initialized, thus users\n", - " | should start with these. Numerical checks require at least a partial solution to the\n", - " | model and should only be run once all structural issues have been resolved.\n", - " | \n", - " | Report methods will print a summary containing three parts:\n", - " | \n", - " | 1. Warnings - these are critical issues that should be resolved before continuing.\n", - " | For each warning, a method will be suggested in the Next Steps section to get\n", - " | additional information.\n", - " | 2. Cautions - these are things that could be correct but could also be the source of\n", - " | solver issues. Not all cautions need to be addressed, but users should investigate\n", - " | each one to ensure that the behavior is correct and that they will not be the source\n", - " | of difficulties later. Methods exist to provide more information on all cautions,\n", - " | but these will not appear in the Next Steps section.\n", - " | 3. Next Steps - these are recommended methods to call from the DiagnosticsToolbox to\n", - " | get further information on warnings. If no warnings are found, this will suggest\n", - " | the next report method to call.\n", - " | \n", - " | Args:\n", - " | \n", - " | model: model to be diagnosed. The DiagnosticsToolbox does not support indexed Blocks.\n", - " | \n", - " | Keyword Arguments\n", - " | -----------------\n", - " | variable_bounds_absolute_tolerance: float, default=0.0001\n", - " | Absolute tolerance for considering a variable to be close to its\n", - " | bounds.\n", - " | \n", - " | variable_bounds_relative_tolerance: float, default=0.0001\n", - " | Relative tolerance for considering a variable to be close to its\n", - " | bounds.\n", - " | \n", - " | variable_bounds_violation_tolerance: float, default=0\n", - " | Absolute tolerance for considering a variable to violate its bounds.\n", - " | Some solvers relax bounds on variables thus allowing a small violation\n", - " | to be considered acceptable.\n", - " | \n", - " | constraint_residual_tolerance: float, default=1e-05\n", - " | Absolute tolerance to use when checking constraint residuals.\n", - " | \n", - " | variable_large_value_tolerance: float, default=10000.0\n", - " | Absolute tolerance for considering a value to be large.\n", - " | \n", - " | variable_small_value_tolerance: float, default=0.0001\n", - " | Absolute tolerance for considering a value to be small.\n", - " | \n", - " | variable_zero_value_tolerance: float, default=1e-08\n", - " | Absolute tolerance for considering a value to be near to zero.\n", - " | \n", - " | jacobian_large_value_caution: float, default=10000.0\n", - " | Tolerance for raising a caution for large Jacobian values.\n", - " | \n", - " | jacobian_large_value_warning: float, default=100000000.0\n", - " | Tolerance for raising a warning for large Jacobian values.\n", - " | \n", - " | jacobian_small_value_caution: float, default=0.0001\n", - " | Tolerance for raising a caution for small Jacobian values.\n", - " | \n", - " | jacobian_small_value_warning: float, default=1e-08\n", - " | Tolerance for raising a warning for small Jacobian values.\n", - " | \n", - " | warn_for_evaluation_error_at_bounds: bool, default=True\n", - " | If False, warnings will not be generated for things like log(x) with x\n", - " | >= 0\n", - " | \n", - " | Methods defined here:\n", - " | \n", - " | __init__(self, model: pyomo.core.base.block._BlockData, **kwargs)\n", - " | Initialize self. See help(type(self)) for accurate signature.\n", - " | \n", - " | assert_no_numerical_warnings(self)\n", - " | Checks for numerical warnings in the model and raises an AssertionError\n", - " | if any are found.\n", - " | \n", - " | Raises:\n", - " | AssertionError if any warnings are identified by numerical analysis.\n", - " | \n", - " | assert_no_structural_warnings(self)\n", - " | Checks for structural warnings in the model and raises an AssertionError\n", - " | if any are found.\n", - " | \n", - " | Raises:\n", - " | AssertionError if any warnings are identified by structural analysis.\n", - " | \n", - " | display_components_with_inconsistent_units(self, stream=None)\n", - " | Prints a list of all Constraints, Expressions and Objectives in the\n", - " | model with inconsistent units of measurement.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_constraints_with_extreme_jacobians(self, stream=None)\n", - " | Prints the constraints associated with rows in the Jacobian with extreme\n", - " | L2 norms. This often indicates poorly scaled constraints.\n", - " | \n", - " | Tolerances can be set via the DiagnosticsToolbox config.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the output to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_constraints_with_large_residuals(self, stream=None)\n", - " | Prints a list of Constraints with residuals greater than a specified tolerance.\n", - " | Tolerance can be set in the class configuration options.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_external_variables(self, stream=None)\n", - " | Prints a list of variables that appear within activated Constraints in the\n", - " | model but are not contained within the model themselves.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_extreme_jacobian_entries(self, stream=None)\n", - " | Prints variables and constraints associated with entries in the Jacobian with extreme\n", - " | values. This can be indicative of poor scaling, especially for isolated terms (e.g.\n", - " | variables which appear only in one term of a single constraint).\n", - " | \n", - " | Tolerances can be set via the DiagnosticsToolbox config.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the output to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_overconstrained_set(self, stream=None)\n", - " | Prints the variables and constraints in the over-constrained sub-problem\n", - " | from a Dulmage-Mendelsohn partitioning.\n", - " | \n", - " | This can be used to identify the over-defined part of a model and thus\n", - " | where constraints must be removed or variables unfixed.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_potential_evaluation_errors(self, stream=None)\n", - " | Prints constraints that may be prone to evaluation errors\n", - " | (e.g., log of a negative number) based on variable bounds.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the output to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_underconstrained_set(self, stream=None)\n", - " | Prints the variables and constraints in the under-constrained sub-problem\n", - " | from a Dulmage-Mendelsohn partitioning.\n", - " | \n", - " | This can be used to identify the under-defined part of a model and thus\n", - " | where additional information (fixed variables or constraints) are required.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_unused_variables(self, stream=None)\n", - " | Prints a list of variables that do not appear in any activated Constraints.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_at_or_outside_bounds(self, stream=None)\n", - " | Prints a list of variables with values that fall at or outside the bounds\n", - " | on the variable.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_fixed_to_zero(self, stream=None)\n", - " | Prints a list of variables that are fixed to an absolute value of 0.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_near_bounds(self, stream=None)\n", - " | Prints a list of variables with values close to their bounds. Tolerance can\n", - " | be set in the class configuration options.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_with_extreme_jacobians(self, stream=None)\n", - " | Prints the variables associated with columns in the Jacobian with extreme\n", - " | L2 norms. This often indicates poorly scaled variables.\n", - " | \n", - " | Tolerances can be set via the DiagnosticsToolbox config.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the output to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_with_extreme_values(self, stream=None)\n", - " | Prints a list of variables with extreme values.\n", - " | \n", - " | Tolerances can be set in the class configuration options.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_with_none_value(self, stream=None)\n", - " | Prints a list of variables with a value of None.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_with_value_near_zero(self, stream=None)\n", - " | Prints a list of variables with a value close to zero. The tolerance\n", - " | for determining what is close to zero can be set in the class configuration\n", - " | options.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | get_dulmage_mendelsohn_partition(self)\n", - " | Performs a Dulmage-Mendelsohn partitioning on the model and returns\n", - " | the over- and under-constrained sub-problems.\n", - " | \n", - " | Returns:\n", - " | list-of-lists variables in each independent block of the under-constrained set\n", - " | list-of-lists constraints in each independent block of the under-constrained set\n", - " | list-of-lists variables in each independent block of the over-constrained set\n", - " | list-of-lists constraints in each independent block of the over-constrained set\n", - " | \n", - " | prepare_degeneracy_hunter(self, **kwargs)\n", - " | Create an instance of the DegeneracyHunter and store as self.degeneracy_hunter.\n", - " | \n", - " | After creating an instance of the toolbox, call\n", - " | report_irreducible_degenerate_sets.\n", - " | \n", - " | Returns:\n", - " | \n", - " | Instance of DegeneracyHunter\n", - " | \n", - " | Keyword Arguments\n", - " | -----------------\n", - " | solver: str, default='scip'\n", - " | MILP solver to use for finding irreducible degenerate sets.\n", - " | \n", - " | solver_options: optional\n", - " | Options to pass to MILP solver.\n", - " | \n", - " | M: float, default=100000.0\n", - " | Maximum value for nu in MILP models.\n", - " | \n", - " | m_small: float, default=1e-05\n", - " | Smallest value for nu to be considered non-zero in MILP models.\n", - " | \n", - " | trivial_constraint_tolerance: float, default=1e-06\n", - " | Tolerance for identifying non-zero rows in Jacobian.\n", - " | \n", - " | prepare_svd_toolbox(self, **kwargs)\n", - " | Create an instance of the SVDToolbox and store as self.svd_toolbox.\n", - " | \n", - " | After creating an instance of the toolbox, call\n", - " | display_underdetermined_variables_and_constraints().\n", - " | \n", - " | Returns:\n", - " | \n", - " | Instance of SVDToolbox\n", - " | \n", - " | Keyword Arguments\n", - " | -----------------\n", - " | number_of_smallest_singular_values: PositiveInt, optional\n", - " | Number of smallest singular values to compute\n", - " | \n", - " | svd_callback: svd_callback_validator, default=\n", - " | Callback to SVD method of choice (default = svd_dense). Callbacks\n", - " | should take the Jacobian and number of singular values to compute as\n", - " | options, plus any method specific arguments, and should return the u,\n", - " | s and v matrices as numpy arrays.\n", - " | \n", - " | svd_callback_arguments: dict, optional\n", - " | Optional arguments to pass to SVD callback (default = None)\n", - " | \n", - " | singular_value_tolerance: float, default=1e-06\n", - " | Tolerance for defining a small singular value\n", - " | \n", - " | size_cutoff_in_singular_vector: float, default=0.1\n", - " | Size below which to ignore constraints and variables in the singular\n", - " | vector\n", - " | \n", - " | report_numerical_issues(self, stream=None)\n", - " | Generates a summary report of any numerical issues identified in the model provided\n", - " | and suggest next steps for debugging model.\n", - " | \n", - " | Numerical checks should only be performed once all structural issues have been resolved,\n", - " | and require that at least a partial solution to the model is available.\n", - " | \n", - " | Args:\n", - " | stream: I/O object to write report to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | report_structural_issues(self, stream=None)\n", - " | Generates a summary report of any structural issues identified in the model provided\n", - " | and suggests next steps for debugging the model.\n", - " | \n", - " | This should be the first method called when debugging a model and after any change\n", - " | is made to the model. These checks can be run before trying to initialize and solve\n", - " | the model.\n", - " | \n", - " | Args:\n", - " | stream: I/O object to write report to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | ----------------------------------------------------------------------\n", - " | Readonly properties defined here:\n", - " | \n", - " | model\n", - " | Model currently being diagnosed.\n", - " | \n", - " | ----------------------------------------------------------------------\n", - " | Data descriptors defined here:\n", - " | \n", - " | __dict__\n", - " | dictionary for instance variables (if defined)\n", - " | \n", - " | __weakref__\n", - " | list of weak references to the object (if defined)\n", - "\n" - ] - } - ], - "source": [ - "help(DiagnosticsToolbox)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The ``help()`` function gives us a lot of information on the ``DiagnosticsToolbox`` and all the methods that it supports (and there are many). However, the important part to start with are the four steps outlined at the top of the doc string that tell us how to get started.\n", - "\n", - "Firstly, we need a model to test (and, for this tutorial at least, one that has a wide range of issues that we need to fix before it will solve). We then also need to fix some variables so that we have 0 degrees of freedom in our model. Whilst our ultimate goal is generally optimization (and thus a system with 1 or more degrees of freedom), all models conceptually derive from a square model representing a nominal state. If this nominal state is not well-posed, then any issues present will also be present in the resulting optimization (even if adding degrees of freedom means that the model is now easier to solve).\n", - "\n", - "The cell below contains a demonstration model for this tutorial that contains a number of issues that we will resolve using the ``DiagnosticsToolbox``." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "import pyomo.environ as pyo\n", - "\n", - "m = pyo.ConcreteModel()\n", - "\n", - "m.v1 = pyo.Var(units=pyo.units.m)\n", - "m.v2 = pyo.Var(units=pyo.units.m)\n", - "m.v3 = pyo.Var(bounds=(0, 5))\n", - "m.v4 = pyo.Var()\n", - "m.v5 = pyo.Var(bounds=(0, 10))\n", - "m.v6 = pyo.Var()\n", - "m.v7 = pyo.Var(\n", - " units=pyo.units.m, bounds=(0, 1)\n", - ") # Poorly scaled variable with lower bound\n", - "m.v8 = pyo.Var() # unused variable\n", - "\n", - "m.c1 = pyo.Constraint(expr=m.v1 + m.v2 == 10) # Unit consistency issue\n", - "m.c2 = pyo.Constraint(expr=m.v3 == m.v4 + m.v5)\n", - "m.c3 = pyo.Constraint(expr=2 * m.v3 == 3 * m.v4 + 4 * m.v5 + m.v6)\n", - "m.c4 = pyo.Constraint(expr=m.v7 == 1e-8 * m.v1) # Poorly scaled constraint\n", - "\n", - "m.v4.fix(2)\n", - "m.v5.fix(2)\n", - "m.v6.fix(0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, the instructions tell us to create an instance of the ``DiagnosticsToolbox`` and to pass the model we wish to examine as an argument.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Create an instance of the DiagnosticsToolbox: dt = DiagnosticsToolbox(m)\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "dt = DiagnosticsToolbox(m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finally, the instructions tell us to run the ``report_structural_issues()`` method. Structural issues represent issues that exist solely in the form of the model equations and thus do not depend on the current value of any of the variables. This is useful as it means we can check for these before we even call a solver, which can be critical as sometimes these issues will cause a solver to fail without providing a useful solution.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Call dt.report_structural_issues() in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 4 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 3 (External: 0)\n", - " Activated Equality Constraints: 4 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 WARNINGS\n", - "\n", - " WARNING: 1 Component with inconsistent units\n", - " WARNING: Structural singularity found\n", - " Under-Constrained Set: 3 variables, 2 constraints\n", - " Over-Constrained Set: 1 variables, 2 constraints\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 Cautions\n", - "\n", - " Caution: 1 variable fixed to 0\n", - " Caution: 1 unused variable (0 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_components_with_inconsistent_units()\n", - " display_underconstrained_set()\n", - " display_overconstrained_set()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Looking at the output from the ``report_structural_issues()`` method, we can see that it provides a fairly short summary containing 4 sections.\n", - "\n", - "1. The first section is a summary of the size of the model, indicating things like the number of variables and constraints. The size of the model is often important for judging how difficult it will be to solve, and this information can also be useful for comparison to what is being sent to the solver. Most solvers will report the size of the model in their output logs, and if there is a difference between what is reported here and by the solver, then you should probably look into what is happening. This section also notes some things such as if you have any deactivated Blocks, Constraints or Objectives, or if you have variables which appear in the constraints that are not part of the model; these are not necessarily wrong but it is easy to have accidentally deactivated something you did not intend to so you should always check to see that these are expected.\n", - "\n", - "2. The second section provides a summary of any critical structural issues that were found - in this case we can see that there are 2 warnings we are going to need to look into. Warnings represent issues that need to be addressed before moving on as these will likely cause the solver to fail or give an incorrect answer.\n", - "\n", - "3. The third section lists a summary of any cautions that are found. Cautions represent issues that may or may not be problematic; in many cases these might be expected behaviors or borderline issues. However, these could also represent conceptual issues that should be addressed, so users should take the time to investigate these and determine if they need to be fixed or not.\n", - "\n", - "4. Finally, there is a section that suggests the next steps to take to help guide you through the model diagnosis process. If any warnings were identified, this section will list methods that can help you get more information on each specific problem, and if no warnings are found then it will guide you onto the next step in the model diagnosis workflow.\n", - "\n", - "**Note:** there are methods available to help investigate cautions as well, but these will not show up in the next steps in order to avoid cluttering the output. You can get more information on the available methods for investigating cautions via the documentation or ``help()`` function.\n", - "\n", - "In our current model, we have 2 critical issues (warnings) that we need to look into and resolve. The order in which we resolve these will generally not matter, but be aware that these can often be interrelated - fixing one warning might resolve other warnings as well (or create new ones), and sometimes you will need to look at multiple issues together to find the overall root cause.\n", - "\n", - "To start with, let us look at the unit consistency issue. From the \"Next Steps\" section above, the toolbox is suggesting we run the ``display_components_with_inconsistent_units()`` method for more information.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Call the `display_components_with_inconsistent_units()` method from the DiagnosticsToolbox to see more information on which constraint is causing the unit consistency issues.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "scrolled": false, - "tags": [ - "solution" - ] - }, - "outputs": [ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# IDAES Model Diagnostics Toolbox Tutorial\n", + "Author: Andrew Lee \n", + "Maintainer: Andrew Lee \n", + "Updated: 2023-10-31 \n", + "\n", + "As you have likely discovered already, developing and solving models in an equation-oriented (EO) environment can be challenging and often takes a significant amount of effort. There are many pitfalls and mistakes that can be encountered when developing a model which can greatly impact the solvability and robustness of the final problem.\n", + "\n", + "Model diagnosis and debugging is often more of an art than a science, and it generally relies on significant experience and understanding both of general EO modeling techniques and the specific model and problem being solved. To assist with this process, IDAES has developed a model diagnostics toolbox that brings together a large number of tools for identifying potential issues in a model to help guide the user through the process of finding and resolving these issues. Note however that whilst these tools can help identify the presence of an issue, remedying the issue always requires some degree of engineering knowledge about the system being modeled, and thus it is ultimately up to the user to find a solution to the problem.\n", + "\n", + "This tutorial will take you through using the {py:class}`DiagnosticsToolbox ` to debug a number of issues in a simple Pyomo model and to take it from initially reporting a possible infeasible solution to returning the correct solution.\n", + "\n", + "To get started, the ``DiagnosticsToolbox`` can be imported from ``idaes.core.util``.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Import the DiagnosticsToolbox in the cell below.\n", + "
" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following component(s) have unit consistency issues:\n", - "\n", - " c1\n", - "\n", - "For more details on unit inconsistencies, import the assert_units_consistent method\n", - "from pyomo.util.check_units\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.display_components_with_inconsistent_units()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This tells us that the issue lies in constraint ``c1``. If we go back and look at this constraint, we can see that it says ``v1 + v2 == 10``. ``v1`` and ``v2`` both have units of ``m`` which is consistent, but the constant in the expression (right hand side) is unitless. Thus, we need to correct this so that the right hand side has units for the constraint to be consistent.\n", - "\n", - "The cell below shows how to delete a constraint and replace it with a new one with the correct units.\n", - "\n", - "
\n", - "Warning:\n", - "Deleting components can cause unexpected issues if something else in a model is using that component (e.g., deleting a variable which is used in a constraint). You should always be careful when deleting Pyomo components and make sure you only delete components that are not used elsewhere.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "# Delete the incorrect Constraint\n", - "m.del_component(m.c1)\n", - "\n", - "# Re-create the Constraint with the correct units\n", - "m.c1 = pyo.Constraint(expr=m.v1 + m.v2 == 10 * pyo.units.m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Warning:\n", - "Fixing issues in models is often an iterative process requiring trial and error. You might also have some results from a model before running the diagnostics tools and the changes you make during debugging may make it difficult to replicate those results afterwards.\n", - " \n", - "It is strongly recommended that you keep a record of the changes you make at each step and why, along with a Git hash (or similar version control marker) corresponding to these changes. This will allow you see what changes and why, and give you a way to go back to previous iterations if the current approach does not work out. The IDAES documentation contains recommendations on how to keep and maintain a modeling logbook.\n", - "
\n", - "\n", - "Now, re-run the ``report_structural_issues()`` method and see if this change has fixed the unit consistency issue.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Call dt.report_structural_issues() in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "scrolled": true, - "tags": [ - "solution" - ] - }, - "outputs": [ + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core.util import DiagnosticsToolbox" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 4 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 3 (External: 0)\n", - " Activated Equality Constraints: 4 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 WARNINGS\n", - "\n", - " WARNING: Structural singularity found\n", - " Under-Constrained Set: 3 variables, 2 constraints\n", - " Over-Constrained Set: 1 variables, 2 constraints\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 Cautions\n", - "\n", - " Caution: 1 variable fixed to 0\n", - " Caution: 1 unused variable (0 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_underconstrained_set()\n", - " display_overconstrained_set()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The unit consistency issue has been resolved by the changes above, so now we need to look at the structural singularity. A structural singularity occurs when one sub-part of the model is over-constrained (negative degrees of freedom), which generally means another part is under-constrained (positive degrees of freedom, assuming that there are 0 degrees of freedom overall).\n", - "\n", - "The toolbox is suggesting we use the ``display_overconstrained_set()`` and ``display_underconstrained_set()`` methods to get more information on the singularity; for now, let us start with the over-constrained set.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Call dt.display_overconstrained_set() in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To get some information on where to start, try using the Python ``help()`` function to see the documentation for the ``DiagnosticsToolbox``.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Call `help(DiagnosticsToolbox)` to see some more information on the toolbox and some instructions on how to get started.\n", + "
" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Dulmage-Mendelsohn Over-Constrained Set\n", - "\n", - " Independent Block 0:\n", - "\n", - " Variables:\n", - "\n", - " v3\n", - "\n", - " Constraints:\n", - "\n", - " c2\n", - " c3\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.display_overconstrained_set()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "From the output above, the toolbox is telling us that we have two constraints (``c2`` and ``c3``) which only contain a single unfixed variable (``v3``); thus in this part of the model we have -1 degree of freedom and the model is not well defined (structurally singular). If we go back and look at these constraints, we can see the that the constraints are:\n", - "\n", - "``c2: v3 == v4 + v5``\n", - "\n", - "``c3: 2*v3 == 3*v4 + 4*v5 + v6``\n", - "\n", - "We can see that in addition to ``v3`` these constraints actually contain 3 other variables (``v4``, ``v5`` and ``v6``), however these are all variables we fixed to get our initial zero degrees of freedom. It looks like we have either accidentally fixed one too many variables or written one too many constraints.\n", - "\n", - "For this example, let us assume that ``v4`` was not supposed to be fixed and unfix it.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Resolve the structural singularity and then call dt.report_structural_issues() in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "scrolled": true, - "tags": [ - "solution" - ] - }, - "outputs": [ + "cell_type": "code", + "execution_count": 4, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "help(DiagnosticsToolbox)" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 5 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 2 (External: 0)\n", - " Activated Equality Constraints: 4 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 WARNINGS\n", - "\n", - " WARNING: 1 Degree of Freedom\n", - " WARNING: Structural singularity found\n", - " Under-Constrained Set: 3 variables, 2 constraints\n", - " Over-Constrained Set: 0 variables, 0 constraints\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 Cautions\n", - "\n", - " Caution: 1 variable fixed to 0\n", - " Caution: 1 unused variable (0 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_underconstrained_set()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "m.v4.unfix()\n", - "\n", - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can see that the over-constrained set is now empty (0 variables and 0 constraints) but the under-constrained set still has 3 variables and only 2 constraints. We can also see that there is a new warning about having 1 degree of freedom in the model, however this should not be surprising as we have just unfixed ``v4`` to resolve the over-constrained set so we have added a degree of freedom to the model.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Display the under-constrained set in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The ``help()`` function gives us a lot of information on the ``DiagnosticsToolbox`` and all the methods that it supports (and there are many). However, the important part to start with are the four steps outlined at the top of the doc string that tell us how to get started.\n", + "\n", + "Firstly, we need a model to test (and, for this tutorial at least, one that has a wide range of issues that we need to fix before it will solve). We then also need to fix some variables so that we have 0 degrees of freedom in our model. Whilst our ultimate goal is generally optimization (and thus a system with 1 or more degrees of freedom), all models conceptually derive from a square model representing a nominal state. If this nominal state is not well-posed, then any issues present will also be present in the resulting optimization (even if adding degrees of freedom means that the model is now easier to solve).\n", + "\n", + "The cell below contains a demonstration model for this tutorial that contains a number of issues that we will resolve using the ``DiagnosticsToolbox``." + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Dulmage-Mendelsohn Under-Constrained Set\n", - "\n", - " Independent Block 0:\n", - "\n", - " Variables:\n", - "\n", - " v2\n", - " v1\n", - " v7\n", - "\n", - " Constraints:\n", - "\n", - " c1\n", - " c4\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.display_underconstrained_set()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Looking at the output from the ``display_underconstrained_set()`` method, we can see that we have two constraints, ``c1`` and ``c4``, which contain three unfixed variables, ``v1``, ``v2`` and ``v7``. Thus, we have one degree of freedom that needs to be addressed. To fix this, we could either fix one of the variables shown or add an additional equality constraint to the model.\n", - "\n", - "For this example let's fix ``v2`` to a value of 5 and then re-run the ``report_structural_issues()`` method.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Fix v2 to a value of 5 and then re-run dt.report_structural_issues.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": { - "scrolled": true, - "tags": [ - "solution" - ] - }, - "outputs": [ + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "import pyomo.environ as pyo\n", + "\n", + "m = pyo.ConcreteModel()\n", + "\n", + "m.v1 = pyo.Var(units=pyo.units.m)\n", + "m.v2 = pyo.Var(units=pyo.units.m)\n", + "m.v3 = pyo.Var(bounds=(0, 5))\n", + "m.v4 = pyo.Var()\n", + "m.v5 = pyo.Var(bounds=(0, 10))\n", + "m.v6 = pyo.Var()\n", + "m.v7 = pyo.Var(\n", + " units=pyo.units.m, bounds=(0, 1)\n", + ") # Poorly scaled variable with lower bound\n", + "m.v8 = pyo.Var() # unused variable\n", + "\n", + "m.c1 = pyo.Constraint(expr=m.v1 + m.v2 == 10) # Unit consistency issue\n", + "m.c2 = pyo.Constraint(expr=m.v3 == m.v4 + m.v5)\n", + "m.c3 = pyo.Constraint(expr=2 * m.v3 == 3 * m.v4 + 4 * m.v5 + m.v6)\n", + "m.c4 = pyo.Constraint(expr=m.v7 == 1e-8 * m.v1) # Poorly scaled constraint\n", + "\n", + "m.v4.fix(2)\n", + "m.v5.fix(2)\n", + "m.v6.fix(0)" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 4 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 3 (External: 0)\n", - " Activated Equality Constraints: 4 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 Cautions\n", - "\n", - " Caution: 1 variable fixed to 0\n", - " Caution: 1 unused variable (0 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " Try to initialize/solve your model and then call report_numerical_issues()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "m.v2.fix(5)\n", - "\n", - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The toolbox is now telling us that no warnings were found, so we have resolved all the structural issues (for now at least). The toolbox is telling us that there are also 2 non-critical issues (cautions) that we should look at; one about an unused variable and one about a variable fixed to zero. If you wish, you can look into identifying and fixing these yourself, however for this example we will move on to the next step (remember that the toolbox has methods to display more details for each of these which you can find in the documentation or from the ``help()`` function).\n", - "\n", - "For the Next Steps section, the toolbox is recommending we try to solve our model and then check for numerical issues.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Use the Pyomo SolverFactory to create an instance of IPOPT and then try to solve the model. Make sure to set \"tee=True\" as this is going to fail (and it is always good practice to review the solver logs).\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, the instructions tell us to create an instance of the ``DiagnosticsToolbox`` and to pass the model we wish to examine as an argument.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Create an instance of the DiagnosticsToolbox: dt = DiagnosticsToolbox(m)\n", + "
" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 7\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 4\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 2\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 4\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 1.40e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 1.39e+01 1.50e+02 -1.0 6.00e+00 - 7.16e-01 4.93e-03h 1\n", - " 2 0.0000000e+00 1.39e+01 3.03e+06 -1.0 5.97e+00 - 1.00e+00 4.95e-05h 1\n", - " 3r 0.0000000e+00 1.39e+01 1.00e+03 1.1 0.00e+00 - 0.00e+00 2.47e-07R 2\n", - " 4r 0.0000000e+00 4.19e+00 9.42e+02 1.1 3.50e+03 - 4.02e-01 3.37e-03f 1\n", - " 5r 0.0000000e+00 2.12e+00 8.72e+02 1.1 5.89e+01 - 4.35e-01 7.06e-02f 1\n", - " 6r 0.0000000e+00 6.74e-01 6.06e+02 1.1 5.29e+00 - 9.93e-03 3.98e-01f 1\n", - " 7r 0.0000000e+00 6.80e-01 3.14e+02 0.4 2.05e-01 - 1.00e+00 1.03e-01f 1\n", - " 8r 0.0000000e+00 6.69e-01 2.78e-05 0.4 2.58e-02 - 1.00e+00 1.00e+00f 1\n", - " 9r 0.0000000e+00 6.67e-01 7.56e+00 -1.7 8.13e-03 - 9.93e-01 9.96e-01f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10r 0.0000000e+00 6.67e-01 2.23e-07 -1.7 4.13e-05 - 1.00e+00 1.00e+00f 1\n", - " 11r 0.0000000e+00 6.67e-01 6.73e-01 -3.7 6.61e-05 - 1.00e+00 1.00e+00f 1\n", - " 12r 0.0000000e+00 6.67e-01 1.91e-09 -3.7 1.48e-09 - 1.00e+00 1.00e+00h 1\n", - " 13r 0.0000000e+00 6.67e-01 2.69e+00 -8.4 5.74e-07 - 1.00e+00 9.26e-01f 1\n", - " 14r 0.0000000e+00 6.67e-01 7.65e+01 -8.4 4.23e-08 - 8.68e-01 1.00e+00f 1\n", - "\n", - "Number of Iterations....: 14\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 3.2644919411246030e-04 3.2644919411246030e-04\n", - "Constraint violation....: 6.6666666333656233e-01 6.6666666333656233e-01\n", - "Complementarity.........: 4.6615546565561981e-09 4.6615546565561981e-09\n", - "Overall NLP error.......: 6.6666666333656233e-01 6.6666666333656233e-01\n", - "\n", - "\n", - "Number of objective function evaluations = 18\n", - "Number of objective gradient evaluations = 5\n", - "Number of equality constraint evaluations = 18\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 17\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 15\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.003\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Converged to a point of local infeasibility. Problem may be infeasible.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: infeasible\n", - " - message from solver: Ipopt 3.13.2\\x3a Converged to a locally infeasible\n", - " point. Problem may be infeasible.\n" - ] + "cell_type": "code", + "execution_count": 7, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt = DiagnosticsToolbox(m)" + ] }, { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 4, 'Number of variables': 4, 'Sense': 'unknown'}], 'Solver': [{'Status': 'warning', 'Message': 'Ipopt 3.13.2\\\\x3a Converged to a locally infeasible point. Problem may be infeasible.', 'Termination condition': 'infeasible', 'Id': 200, 'Error rc': 0, 'Time': 0.007064104080200195}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, the instructions tell us to run the ``report_structural_issues()`` method. Structural issues represent issues that exist solely in the form of the model equations and thus do not depend on the current value of any of the variables. This is useful as it means we can check for these before we even call a solver, which can be critical as sometimes these issues will cause a solver to fail without providing a useful solution.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Call dt.report_structural_issues() in the cell below.\n", + "
" ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "solver = pyo.SolverFactory(\"ipopt\")\n", - "solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As hinted at above, IPOPT has returned a warning that the problem may be infeasible. Before moving on however, it is always good practice to look over the solver outputs and see what it is telling you.\n", - "\n", - "
\n", - "Warning:\n", - "A lot of useful information is contained in the solver logs which is extremely useful when diagnosing modeling issues. Each solver has its own way of reporting output and its own specific behavior, so you will need to learn to interpret the output of each solver you use. The IDAES Documentation contains some guidance on interpreting output logs for a few common solvers.\n", - "
\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Call the report_numerical_issues method in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 1.700E+01\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 WARNINGS\n", - "\n", - " WARNING: 1 Constraint with large residuals (>1.0E-05)\n", - " WARNING: 1 Variable at or outside bounds (tol=0.0E+00)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "5 Cautions\n", - "\n", - " Caution: 2 Variables with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 2 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 1 Variable with extreme value (<1.0E-04 or >1.0E+04)\n", - " Caution: 1 Variable with None value\n", - " Caution: 1 extreme Jacobian Entry (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_constraints_with_large_residuals()\n", - " display_variables_at_or_outside_bounds()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.report_numerical_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The ``report_numerical_issues()`` provides a summary similar to that which we saw for the structural issues. Firstly, it reports to us the Jacobian condition number for our problem which can give us an idea of how well-scaled the problem is, followed by a list of warnings, cautions and suggested next steps.\n", - "\n", - "Unsurprisingly, we are seeing a warning about a constraint with a large residual which we would expect when a solver reports a potentially infeasible problem. We are also seeing a warning about a variable with bound violations which might be contributing to the potential infeasibility.\n", - "\n", - "For the next steps, the toolbox is suggesting some new methods to get more information on these issues; let us start by looking at the constraints with large residuals.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Display the constraint with a large residual in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ + "cell_type": "code", + "execution_count": 9, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.report_structural_issues()" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following constraint(s) have large residuals (>1.0E-05):\n", - "\n", - " c2: 6.66667E-01\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.display_constraints_with_large_residuals()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The toolbox is telling us that the constraint which failed to converge is ``c2``, however this is generally only part of the story. Solvers work by trying to minimize the infeasibility in the model (residual of the constraints), which generally means they push any infeasibility onto the least sensitive constraint in the problem. Thus, the constraint which shows the infeasibility is often not the root cause of the problem, but only the symptom of the underlying issue.\n", - "\n", - "If we look back at the constraints, we can see that the same variables also appear in ``c3`` and that some of these have bounds, all of which could be contributing to the infeasibility. In this case the solver tried to minimize the residual in all the constraints and ended up pushing all the issues off onto ``c2``.\n", - "\n", - "
\n", - "Warning:\n", - "When dealing with solver issues such as this, you should always remember that the obvious symptoms are often just the tip of the iceberg and that the real issue generally lies somewhere else; the challenge is tracing the symptoms back to their ultimate source.\n", - "
\n", - "\n", - "Next, let us take a look at the variables at or outside their bounds as well. When a solver reports an potentially infeasible solution, the most common cause is unexpected bounds violations so you should always check these first.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Display the variables with bounds violations.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Looking at the output from the ``report_structural_issues()`` method, we can see that it provides a fairly short summary containing 4 sections.\n", + "\n", + "1. The first section is a summary of the size of the model, indicating things like the number of variables and constraints. The size of the model is often important for judging how difficult it will be to solve, and this information can also be useful for comparison to what is being sent to the solver. Most solvers will report the size of the model in their output logs, and if there is a difference between what is reported here and by the solver, then you should probably look into what is happening. This section also notes some things such as if you have any deactivated Blocks, Constraints or Objectives, or if you have variables which appear in the constraints that are not part of the model; these are not necessarily wrong but it is easy to have accidentally deactivated something you did not intend to so you should always check to see that these are expected.\n", + "\n", + "2. The second section provides a summary of any critical structural issues that were found - in this case we can see that there are 2 warnings we are going to need to look into. Warnings represent issues that need to be addressed before moving on as these will likely cause the solver to fail or give an incorrect answer.\n", + "\n", + "3. The third section lists a summary of any cautions that are found. Cautions represent issues that may or may not be problematic; in many cases these might be expected behaviors or borderline issues. However, these could also represent conceptual issues that should be addressed, so users should take the time to investigate these and determine if they need to be fixed or not.\n", + "\n", + "4. Finally, there is a section that suggests the next steps to take to help guide you through the model diagnosis process. If any warnings were identified, this section will list methods that can help you get more information on each specific problem, and if no warnings are found then it will guide you onto the next step in the model diagnosis workflow.\n", + "\n", + "**Note:** there are methods available to help investigate cautions as well, but these will not show up in the next steps in order to avoid cluttering the output. You can get more information on the available methods for investigating cautions via the documentation or ``help()`` function.\n", + "\n", + "In our current model, we have 2 critical issues (warnings) that we need to look into and resolve. The order in which we resolve these will generally not matter, but be aware that these can often be interrelated - fixing one warning might resolve other warnings as well (or create new ones), and sometimes you will need to look at multiple issues together to find the overall root cause.\n", + "\n", + "To start with, let us look at the unit consistency issue. From the \"Next Steps\" section above, the toolbox is suggesting we run the ``display_components_with_inconsistent_units()`` method for more information.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Call the `display_components_with_inconsistent_units()` method from the DiagnosticsToolbox to see more information on which constraint is causing the unit consistency issues.\n", + "
" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following variable(s) have values at or outside their bounds (tol=0.0E+00):\n", - "\n", - " v3 (free): value=0.0 bounds=(0, 5)\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.display_variables_at_or_outside_bounds()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The toolbox is telling us that ``v3`` is the variable with a potential issue. It is also showing us the current value and bounds for ``v3`` as well as if it is a fixed or free variable, which will be useful for diagnosing the issues.\n", - "\n", - "We can see that ``v3`` is a free variable with bounds between 0 and 5 and a current value of 0. As ``v3`` is a free variable, this suggests that the solver has pushed the value to the bound where it cannot go any further, and this might be part of the cause of our infeasibility.\n", - "\n", - "
\n", - "Warning:\n", - "When dealing with bounds violations you should always start by understanding why the bounds exist and what they mean - in many cases a bound indicates the range over which the model can be trusted and that going beyond this may result in unexpected behavior due to extrapolation.\n", - " \n", - "Never arbitrarily change a bound just because it is causing your model to be infeasible without understanding the consequences of this decision. Often, a bound violation is an indication that you need to re-think some of the constraints in your model to find alternatives which are valid in the actual range of values you are trying to solve for.\n", - "
\n", - "\n", - "For this example, let us assume that we made a mistake with the bounds on ``v3`` and set the lower bound to be -5.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Update the bounds on v3 in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "m.v3.setlb(-5)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that we have fixed the bounds issues, we should check whether our model is now feasible. However, before we continue we should recognize that we have just made a structural change to the model. If we were not careful, this could have introduced new structural issues to the model, so we should start from the beginning just to be sure.\n", - "\n", - "
\n", - "Warning:\n", - "In general, you should always start from the beginning of the model diagnosis workflow after you make any change to the model. Remember to also record these changes in your log book in case something unexpected happens so that you can revert any changes that cause problems.\n", - "
\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Check to see if there are any new structural issues in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": { - "scrolled": true, - "tags": [ - "solution" - ] - }, - "outputs": [ + "cell_type": "code", + "execution_count": 11, + "metadata": { + "scrolled": false, + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.display_components_with_inconsistent_units()" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 4 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 3 (External: 0)\n", - " Activated Equality Constraints: 4 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 Cautions\n", - "\n", - " Caution: 1 variable fixed to 0\n", - " Caution: 1 unused variable (0 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " Try to initialize/solve your model and then call report_numerical_issues()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Our change has not introduced any new structural issues, so we can move on and try to solve the model again.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Re-solve the model in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This tells us that the issue lies in constraint ``c1``. If we go back and look at this constraint, we can see that it says ``v1 + v2 == 10``. ``v1`` and ``v2`` both have units of ``m`` which is consistent, but the constant in the expression (right hand side) is unitless. Thus, we need to correct this so that the right hand side has units for the constraint to be consistent.\n", + "\n", + "The cell below shows how to delete a constraint and replace it with a new one with the correct units.\n", + "\n", + "
\n", + "Warning:\n", + "Deleting components can cause unexpected issues if something else in a model is using that component (e.g., deleting a variable which is used in a constraint). You should always be careful when deleting Pyomo components and make sure you only delete components that are not used elsewhere.\n", + "
" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 7\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 4\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 2\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 4\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 6.67e-01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 6.66e-03 2.97e+00 -1.0 2.00e+00 - 7.17e-01 9.90e-01h 1\n", - " 2 0.0000000e+00 6.27e-05 9.38e+00 -1.0 2.00e-02 - 1.00e+00 9.91e-01h 1\n", - " 3 0.0000000e+00 8.88e-16 1.13e-12 -1.0 1.88e-04 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 8.8817841970012523e-16 8.8817841970012523e-16\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 8.8817841970012523e-16 8.8817841970012523e-16\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "# Delete the incorrect Constraint\n", + "m.del_component(m.c1)\n", + "\n", + "# Re-create the Constraint with the correct units\n", + "m.c1 = pyo.Constraint(expr=m.v1 + m.v2 == 10 * pyo.units.m)" + ] }, { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 4, 'Number of variables': 4, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.02317023277282715}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Warning:\n", + "Fixing issues in models is often an iterative process requiring trial and error. You might also have some results from a model before running the diagnostics tools and the changes you make during debugging may make it difficult to replicate those results afterwards.\n", + " \n", + "It is strongly recommended that you keep a record of the changes you make at each step and why, along with a Git hash (or similar version control marker) corresponding to these changes. This will allow you see what changes and why, and give you a way to go back to previous iterations if the current approach does not work out. The IDAES documentation contains recommendations on how to keep and maintain a modeling logbook.\n", + "
\n", + "\n", + "Now, re-run the ``report_structural_issues()`` method and see if this change has fixed the unit consistency issue.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Call dt.report_structural_issues() in the cell below.\n", + "
" ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "IPOPT should have returned optimal solution now, so it looks like those bounds were what was causing the model to be infeasible. At this point, the model is now solving (for the current values at least), so you might think that the model is now ready for optimization.\n", - "\n", - "However, if we look at the solver logs we can see that it took around 3 iterations for IPOPT to solve our model (depending on minor variations in computer architecture). For a model this simple, we would generally expect it to solve in only 1 iteration so there is still some room for improvement.\n", - "\n", - "
\n", - "Warning:\n", - "You should keep in mind that just because you get an optimal solution does not mean that your model is robust and free of issues.\n", - " \n", - "You should always take the time to look over the solver logs to look for signs of trouble, even if you get an optimal solution. While you might get an optimal solution for the current state, there may be advance warning signs of issues that will cause problems later when you try to solve the model at a different state.\n", - "
\n", - "\n", - "Let us run the ``report_numerical_issues`` method again to see if there are any other problems we need to address.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Check for additional numerical issues in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 1.700E+01\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "5 Cautions\n", - "\n", - " Caution: 1 Variable with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 1 Variable with value close to zero (tol=1.0E-08)\n", - " Caution: 1 Variable with extreme value (<1.0E-04 or >1.0E+04)\n", - " Caution: 1 Variable with None value\n", - " Caution: 1 extreme Jacobian Entry (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " If you still have issues converging your model consider:\n", - " prepare_svd_toolbox()\n", - " prepare_degeneracy_hunter()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.report_numerical_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The toolbox is not reporting any warnings which is good, however there are still 5 numerical cautions that it has identified which might be contributing to the larger than expected number of iterations. As mentioned earlier, the toolbox does not suggest methods for investigating these, but there are methods available. For example, we can look at the variable with an extreme value using the `display_variables_with_extreme_values()` method.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Check for additional information about variables with extreme values.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ + "cell_type": "code", + "execution_count": 14, + "metadata": { + "scrolled": true, + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.report_structural_issues()" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following variable(s) have extreme values (<1.0E-04 or > 1.0E+04):\n", - "\n", - " v7: 4.9999999999999945e-08\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.display_variables_with_extreme_values()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can see that ``v7`` is potentially causing problems due to having a very small value (on the order of magnitude of the solver tolerance). This can be especially problematic for interior point solvers like IPOPT if there is a lower bound of 0 (which there is in this case). IPOPT tries to avoid bounds and thus perturbs solutions away from these if it gets too close, which can cause convergence to be slow (or fail) if the solution lies close to the bound.\n", - "\n", - "We can address this by scaling the variable so that the value of the scaled variable is large enough that the solution is not close to the lower bound. Additionally, we should look at any constraint that ``v7`` appears in (in this case ``c4``) and ensure that those constraints are well scaled as well (so that a residual of 1e-6 is reasonable for the terms involved).\n", - "\n", - "For this case, we can set a scaling factor of 1e8 for both ``v7`` and ``c4`` as shown below. Note that we also need to apply Pyomo's scaling transformation to create a new scaled model to work with." - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "metadata": {}, - "outputs": [], - "source": [ - "m.scaling_factor = pyo.Suffix(direction=pyo.Suffix.EXPORT)\n", - "\n", - "m.scaling_factor[m.v7] = 1e8\n", - "m.scaling_factor[m.c4] = 1e8\n", - "\n", - "scaling = pyo.TransformationFactory(\"core.scale_model\")\n", - "scaled_model = scaling.create_using(m, rename=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that we have a scaled model, we can try to solve it and hopefully see better convergence than the unscaled model.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Solve the scaled model and check to see how many iterations are required.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The unit consistency issue has been resolved by the changes above, so now we need to look at the structural singularity. A structural singularity occurs when one sub-part of the model is over-constrained (negative degrees of freedom), which generally means another part is under-constrained (positive degrees of freedom, assuming that there are 0 degrees of freedom overall).\n", + "\n", + "The toolbox is suggesting we use the ``display_overconstrained_set()`` and ``display_underconstrained_set()`` methods to get more information on the singularity; for now, let us start with the over-constrained set.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Call dt.display_overconstrained_set() in the cell below.\n", + "
" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 7\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 4\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 2\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 4\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 5.33e-15 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "\n", - "Number of Iterations....: 0\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 5.3290705182007514e-15 5.3290705182007514e-15\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 5.3290705182007514e-15 5.3290705182007514e-15\n", - "\n", - "\n", - "Number of objective function evaluations = 1\n", - "Number of objective gradient evaluations = 1\n", - "Number of equality constraint evaluations = 1\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 1\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 0\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\b\b\b\b\b\b\b\b\b\b\b\b\b\b" - ] + "cell_type": "code", + "execution_count": 16, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.display_overconstrained_set()" + ] }, { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 4, 'Number of variables': 4, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.0058002471923828125}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From the output above, the toolbox is telling us that we have two constraints (``c2`` and ``c3``) which only contain a single unfixed variable (``v3``); thus in this part of the model we have -1 degree of freedom and the model is not well defined (structurally singular). If we go back and look at these constraints, we can see the that the constraints are:\n", + "\n", + "``c2: v3 == v4 + v5``\n", + "\n", + "``c3: 2*v3 == 3*v4 + 4*v5 + v6``\n", + "\n", + "We can see that in addition to ``v3`` these constraints actually contain 3 other variables (``v4``, ``v5`` and ``v6``), however these are all variables we fixed to get our initial zero degrees of freedom. It looks like we have either accidentally fixed one too many variables or written one too many constraints.\n", + "\n", + "For this example, let us assume that ``v4`` was not supposed to be fixed and unfix it.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Resolve the structural singularity and then call dt.report_structural_issues() in the cell below.\n", + "
" ] - }, - "execution_count": 43, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "solver.solve(scaled_model, tee=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "from pyomo.environ import assert_optimal_termination\n", - "\n", - "res = solver.solve(scaled_model, tee=False)\n", - "assert_optimal_termination(res)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As we can see, the scaled model solved in 0 iterations (indicating that it already had the right solution). However, had we done this to the unscaled model we would have found it required 2-3 iterations again due to IPOPT perturbing the initial (correct) solution away from the bounds.\n", - "\n", - "
\n", - "Warning:\n", - "Normally in these cases we would need to map the solution from the scaled model back to the unscaled model so we can view the results. In this case, we are not actually interested in the solution so we move on with the model diagnosis.\n", - "
\n", - "\n", - "Now that we have fixed the scaling issues, we can go back to the ``DiagnosticsToolbox`` and see if we still have any warnings. Note however that we need to look at the scaled model now rather than the original model, so we need to create a new instance of the ``DiagnosticsToolbox`` with the scaled model as the ``model`` argument.\n", - "\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Create a new instance of the DiagnosticsToolbox and check the scaled model for issues.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "scrolled": true, + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "m.v4.unfix()\n", + "\n", + "dt.report_structural_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that the over-constrained set is now empty (0 variables and 0 constraints) but the under-constrained set still has 3 variables and only 2 constraints. We can also see that there is a new warning about having 1 degree of freedom in the model, however this should not be surprising as we have just unfixed ``v4`` to resolve the over-constrained set so we have added a degree of freedom to the model.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Display the under-constrained set in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.display_underconstrained_set()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Looking at the output from the ``display_underconstrained_set()`` method, we can see that we have two constraints, ``c1`` and ``c4``, which contain three unfixed variables, ``v1``, ``v2`` and ``v7``. Thus, we have one degree of freedom that needs to be addressed. To fix this, we could either fix one of the variables shown or add an additional equality constraint to the model.\n", + "\n", + "For this example let's fix ``v2`` to a value of 5 and then re-run the ``report_structural_issues()`` method.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Fix v2 to a value of 5 and then re-run dt.report_structural_issues.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "scrolled": true, + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "m.v2.fix(5)\n", + "\n", + "dt.report_structural_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The toolbox is now telling us that no warnings were found, so we have resolved all the structural issues (for now at least). The toolbox is telling us that there are also 2 non-critical issues (cautions) that we should look at; one about an unused variable and one about a variable fixed to zero. If you wish, you can look into identifying and fixing these yourself, however for this example we will move on to the next step (remember that the toolbox has methods to display more details for each of these which you can find in the documentation or from the ``help()`` function).\n", + "\n", + "For the Next Steps section, the toolbox is recommending we try to solve our model and then check for numerical issues.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Use the Pyomo SolverFactory to create an instance of IPOPT and then try to solve the model. Make sure to set \"tee=True\" as this is going to fail (and it is always good practice to review the solver logs).\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "solver = pyo.SolverFactory(\"ipopt\")\n", + "solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As hinted at above, IPOPT has returned a warning that the problem may be infeasible. Before moving on however, it is always good practice to look over the solver outputs and see what it is telling you.\n", + "\n", + "
\n", + "Warning:\n", + "A lot of useful information is contained in the solver logs which is extremely useful when diagnosing modeling issues. Each solver has its own way of reporting output and its own specific behavior, so you will need to learn to interpret the output of each solver you use. The IDAES Documentation contains some guidance on interpreting output logs for a few common solvers.\n", + "
\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Call the report_numerical_issues method in the cell below.\n", + "
" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 1.800E+01\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "3 Cautions\n", - "\n", - " Caution: 1 Variable with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 1 Variable with value close to zero (tol=1.0E-08)\n", - " Caution: 1 Variable with None value\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " If you still have issues converging your model consider:\n", - " prepare_svd_toolbox()\n", - " prepare_degeneracy_hunter()\n", - "\n", - "====================================================================================\n" - ] + "cell_type": "code", + "execution_count": 26, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.report_numerical_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The ``report_numerical_issues()`` provides a summary similar to that which we saw for the structural issues. Firstly, it reports to us the Jacobian condition number for our problem which can give us an idea of how well-scaled the problem is, followed by a list of warnings, cautions and suggested next steps.\n", + "\n", + "Unsurprisingly, we are seeing a warning about a constraint with a large residual which we would expect when a solver reports a potentially infeasible problem. We are also seeing a warning about a variable with bound violations which might be contributing to the potential infeasibility.\n", + "\n", + "For the next steps, the toolbox is suggesting some new methods to get more information on these issues; let us start by looking at the constraints with large residuals.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Display the constraint with a large residual in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.display_constraints_with_large_residuals()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The toolbox is telling us that the constraint which failed to converge is ``c2``, however this is generally only part of the story. Solvers work by trying to minimize the infeasibility in the model (residual of the constraints), which generally means they push any infeasibility onto the least sensitive constraint in the problem. Thus, the constraint which shows the infeasibility is often not the root cause of the problem, but only the symptom of the underlying issue.\n", + "\n", + "If we look back at the constraints, we can see that the same variables also appear in ``c3`` and that some of these have bounds, all of which could be contributing to the infeasibility. In this case the solver tried to minimize the residual in all the constraints and ended up pushing all the issues off onto ``c2``.\n", + "\n", + "
\n", + "Warning:\n", + "When dealing with solver issues such as this, you should always remember that the obvious symptoms are often just the tip of the iceberg and that the real issue generally lies somewhere else; the challenge is tracing the symptoms back to their ultimate source.\n", + "
\n", + "\n", + "Next, let us take a look at the variables at or outside their bounds as well. When a solver reports an potentially infeasible solution, the most common cause is unexpected bounds violations so you should always check these first.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Display the variables with bounds violations.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.display_variables_at_or_outside_bounds()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The toolbox is telling us that ``v3`` is the variable with a potential issue. It is also showing us the current value and bounds for ``v3`` as well as if it is a fixed or free variable, which will be useful for diagnosing the issues.\n", + "\n", + "We can see that ``v3`` is a free variable with bounds between 0 and 5 and a current value of 0. As ``v3`` is a free variable, this suggests that the solver has pushed the value to the bound where it cannot go any further, and this might be part of the cause of our infeasibility.\n", + "\n", + "
\n", + "Warning:\n", + "When dealing with bounds violations you should always start by understanding why the bounds exist and what they mean - in many cases a bound indicates the range over which the model can be trusted and that going beyond this may result in unexpected behavior due to extrapolation.\n", + " \n", + "Never arbitrarily change a bound just because it is causing your model to be infeasible without understanding the consequences of this decision. Often, a bound violation is an indication that you need to re-think some of the constraints in your model to find alternatives which are valid in the actual range of values you are trying to solve for.\n", + "
\n", + "\n", + "For this example, let us assume that we made a mistake with the bounds on ``v3`` and set the lower bound to be -5.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Update the bounds on v3 in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "m.v3.setlb(-5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that we have fixed the bounds issues, we should check whether our model is now feasible. However, before we continue we should recognize that we have just made a structural change to the model. If we were not careful, this could have introduced new structural issues to the model, so we should start from the beginning just to be sure.\n", + "\n", + "
\n", + "Warning:\n", + "In general, you should always start from the beginning of the model diagnosis workflow after you make any change to the model. Remember to also record these changes in your log book in case something unexpected happens so that you can revert any changes that cause problems.\n", + "
\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Check to see if there are any new structural issues in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "scrolled": true, + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.report_structural_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Our change has not introduced any new structural issues, so we can move on and try to solve the model again.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Re-solve the model in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "IPOPT should have returned optimal solution now, so it looks like those bounds were what was causing the model to be infeasible. At this point, the model is now solving (for the current values at least), so you might think that the model is now ready for optimization.\n", + "\n", + "However, if we look at the solver logs we can see that it took around 3 iterations for IPOPT to solve our model (depending on minor variations in computer architecture). For a model this simple, we would generally expect it to solve in only 1 iteration so there is still some room for improvement.\n", + "\n", + "
\n", + "Warning:\n", + "You should keep in mind that just because you get an optimal solution does not mean that your model is robust and free of issues.\n", + " \n", + "You should always take the time to look over the solver logs to look for signs of trouble, even if you get an optimal solution. While you might get an optimal solution for the current state, there may be advance warning signs of issues that will cause problems later when you try to solve the model at a different state.\n", + "
\n", + "\n", + "Let us run the ``report_numerical_issues`` method again to see if there are any other problems we need to address.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Check for additional numerical issues in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.report_numerical_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The toolbox is not reporting any warnings which is good, however there are still 5 numerical cautions that it has identified which might be contributing to the larger than expected number of iterations. As mentioned earlier, the toolbox does not suggest methods for investigating these, but there are methods available. For example, we can look at the variable with an extreme value using the `display_variables_with_extreme_values()` method.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Check for additional information about variables with extreme values.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.display_variables_with_extreme_values()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that ``v7`` is potentially causing problems due to having a very small value (on the order of magnitude of the solver tolerance). This can be especially problematic for interior point solvers like IPOPT if there is a lower bound of 0 (which there is in this case). IPOPT tries to avoid bounds and thus perturbs solutions away from these if it gets too close, which can cause convergence to be slow (or fail) if the solution lies close to the bound.\n", + "\n", + "We can address this by scaling the variable so that the value of the scaled variable is large enough that the solution is not close to the lower bound. Additionally, we should look at any constraint that ``v7`` appears in (in this case ``c4``) and ensure that those constraints are well scaled as well (so that a residual of 1e-6 is reasonable for the terms involved).\n", + "\n", + "For this case, we can set a scaling factor of 1e8 for both ``v7`` and ``c4`` as shown below. Note that we also need to apply Pyomo's scaling transformation to create a new scaled model to work with." + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [], + "source": [ + "m.scaling_factor = pyo.Suffix(direction=pyo.Suffix.EXPORT)\n", + "\n", + "m.scaling_factor[m.v7] = 1e8\n", + "m.scaling_factor[m.c4] = 1e8\n", + "\n", + "scaling = pyo.TransformationFactory(\"core.scale_model\")\n", + "scaled_model = scaling.create_using(m, rename=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that we have a scaled model, we can try to solve it and hopefully see better convergence than the unscaled model.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Solve the scaled model and check to see how many iterations are required.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "solver.solve(scaled_model, tee=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "from pyomo.environ import assert_optimal_termination\n", + "\n", + "res = solver.solve(scaled_model, tee=False)\n", + "assert_optimal_termination(res)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As we can see, the scaled model solved in 0 iterations (indicating that it already had the right solution). However, had we done this to the unscaled model we would have found it required 2-3 iterations again due to IPOPT perturbing the initial (correct) solution away from the bounds.\n", + "\n", + "
\n", + "Warning:\n", + "Normally in these cases we would need to map the solution from the scaled model back to the unscaled model so we can view the results. In this case, we are not actually interested in the solution so we move on with the model diagnosis.\n", + "
\n", + "\n", + "Now that we have fixed the scaling issues, we can go back to the ``DiagnosticsToolbox`` and see if we still have any warnings. Note however that we need to look at the scaled model now rather than the original model, so we need to create a new instance of the ``DiagnosticsToolbox`` with the scaled model as the ``model`` argument.\n", + "\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Create a new instance of the DiagnosticsToolbox and check the scaled model for issues.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt_scaled = DiagnosticsToolbox(scaled_model)\n", + "dt_scaled.report_numerical_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that applying scaling addressed two of the cautions we had before (the variable with an extreme value and an associated large value in the model Jacobian). Whilst we were able to solve the unscaled model in this case, this is in part because it was a simple linear model. In more complex, non-linear models, scaling becomes much more important and often depends strongly on the current state of the model. That is, you can often find cases where the unscaled (or poorly scaled) model solves for a limited range of conditions but fails to solve if you move too far away for the current state. Whilst you might be able to solve the model at the current state, you should always check the solver logs and numerical cautions for advanced warning signs of scaling issues that might manifest later when you try to solve the model for a different state (e.g., during optimization).\n", + "\n", + "
\n", + "Warning:\n", + "By their nature, numerical issues depend on the current values of the variables in the model, and thus may remain hidden until someone tries to solve the model close to where the issue exists. For this reason, the full model diagnostics workflow contains steps to run the numerical checks across a wide range of variable values to try to ensure that no issues remain hidden. This is beyond the scope of this tutorial however.\n", + "
\n", + "\n", + "At this point, we have addressed all the issues that were preventing us from solving the demonstration model and so reached the end of this tutorial. For cases where we are still having trouble solving the model, we can see that the toolbox is suggesting additional methods for further debugging and these advanced features will be the focus of separate tutorials." + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "dt.assert_no_structural_warnings()\n", + "dt.assert_no_numerical_warnings()" + ] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.5" } - ], - "source": [ - "dt_scaled = DiagnosticsToolbox(scaled_model)\n", - "dt_scaled.report_numerical_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can see that applying scaling addressed two of the cautions we had before (the variable with an extreme value and an associated large value in the model Jacobian). Whilst we were able to solve the unscaled model in this case, this is in part because it was a simple linear model. In more complex, non-linear models, scaling becomes much more important and often depends strongly on the current state of the model. That is, you can often find cases where the unscaled (or poorly scaled) model solves for a limited range of conditions but fails to solve if you move too far away for the current state. Whilst you might be able to solve the model at the current state, you should always check the solver logs and numerical cautions for advanced warning signs of scaling issues that might manifest later when you try to solve the model for a different state (e.g., during optimization).\n", - "\n", - "
\n", - "Warning:\n", - "By their nature, numerical issues depend on the current values of the variables in the model, and thus may remain hidden until someone tries to solve the model close to where the issue exists. For this reason, the full model diagnostics workflow contains steps to run the numerical checks across a wide range of variable values to try to ensure that no issues remain hidden. This is beyond the scope of this tutorial however.\n", - "
\n", - "\n", - "At this point, we have addressed all the issues that were preventing us from solving the demonstration model and so reached the end of this tutorial. For cases where we are still having trouble solving the model, we can see that the toolbox is suggesting additional methods for further debugging and these advanced features will be the focus of separate tutorials." - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "dt.assert_no_structural_warnings()\n", - "dt.assert_no_numerical_warnings()" - ] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.5" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/diagnostics/diagnostics_toolbox_usr.ipynb b/idaes_examples/notebooks/docs/diagnostics/diagnostics_toolbox_usr.ipynb index 688e5148..7e09db67 100644 --- a/idaes_examples/notebooks/docs/diagnostics/diagnostics_toolbox_usr.ipynb +++ b/idaes_examples/notebooks/docs/diagnostics/diagnostics_toolbox_usr.ipynb @@ -1,2106 +1,1060 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# IDAES Model Diagnostics Toolbox Tutorial\n", - "Author: Andrew Lee \n", - "Maintainer: Andrew Lee \n", - "Updated: 2023-10-31 \n", - "\n", - "As you have likely discovered already, developing and solving models in an equation-oriented (EO) environment can be challenging and often takes a significant amount of effort. There are many pitfalls and mistakes that can be encountered when developing a model which can greatly impact the solvability and robustness of the final problem.\n", - "\n", - "Model diagnosis and debugging is often more of an art than a science, and it generally relies on significant experience and understanding both of general EO modeling techniques and the specific model and problem being solved. To assist with this process, IDAES has developed a model diagnostics toolbox that brings together a large number of tools for identifying potential issues in a model to help guide the user through the process of finding and resolving these issues. Note however that whilst these tools can help identify the presence of an issue, remedying the issue always requires some degree of engineering knowledge about the system being modeled, and thus it is ultimately up to the user to find a solution to the problem.\n", - "\n", - "This tutorial will take you through using the {py:class}`DiagnosticsToolbox ` to debug a number of issues in a simple Pyomo model and to take it from initially reporting a possible infeasible solution to returning the correct solution.\n", - "\n", - "To get started, the ``DiagnosticsToolbox`` can be imported from ``idaes.core.util``.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Import the DiagnosticsToolbox in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.core.util import DiagnosticsToolbox" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To get some information on where to start, try using the Python ``help()`` function to see the documentation for the ``DiagnosticsToolbox``.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Call `help(DiagnosticsToolbox)` to see some more information on the toolbox and some instructions on how to get started.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Call the help() function for more information" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Help on class DiagnosticsToolbox in module idaes.core.util.model_diagnostics:\n", - "\n", - "class DiagnosticsToolbox(builtins.object)\n", - " | DiagnosticsToolbox(model: pyomo.core.base.block._BlockData, **kwargs)\n", - " | \n", - " | The IDAES Model DiagnosticsToolbox.\n", - " | \n", - " | To get started:\n", - " | \n", - " | 1. Create an instance of your model (this does not need to be initialized yet).\n", - " | 2. Fix variables until you have 0 degrees of freedom. Many of these tools presume\n", - " | a square model, and a square model should always be the foundation of any more\n", - " | advanced model.\n", - " | 3. Create an instance of the DiagnosticsToolbox and provide the model to debug as\n", - " | the model argument.\n", - " | 4. Call the ``report_structural_issues()`` method.\n", - " | \n", - " | Model diagnostics is an iterative process and you will likely need to run these\n", - " | tools multiple times to resolve all issues. After making a change to your model,\n", - " | you should always start from the beginning again to ensure the change did not\n", - " | introduce any new issues; i.e., always start from the report_structural_issues()\n", - " | method.\n", - " | \n", - " | Note that structural checks do not require the model to be initialized, thus users\n", - " | should start with these. Numerical checks require at least a partial solution to the\n", - " | model and should only be run once all structural issues have been resolved.\n", - " | \n", - " | Report methods will print a summary containing three parts:\n", - " | \n", - " | 1. Warnings - these are critical issues that should be resolved before continuing.\n", - " | For each warning, a method will be suggested in the Next Steps section to get\n", - " | additional information.\n", - " | 2. Cautions - these are things that could be correct but could also be the source of\n", - " | solver issues. Not all cautions need to be addressed, but users should investigate\n", - " | each one to ensure that the behavior is correct and that they will not be the source\n", - " | of difficulties later. Methods exist to provide more information on all cautions,\n", - " | but these will not appear in the Next Steps section.\n", - " | 3. Next Steps - these are recommended methods to call from the DiagnosticsToolbox to\n", - " | get further information on warnings. If no warnings are found, this will suggest\n", - " | the next report method to call.\n", - " | \n", - " | Args:\n", - " | \n", - " | model: model to be diagnosed. The DiagnosticsToolbox does not support indexed Blocks.\n", - " | \n", - " | Keyword Arguments\n", - " | -----------------\n", - " | variable_bounds_absolute_tolerance: float, default=0.0001\n", - " | Absolute tolerance for considering a variable to be close to its\n", - " | bounds.\n", - " | \n", - " | variable_bounds_relative_tolerance: float, default=0.0001\n", - " | Relative tolerance for considering a variable to be close to its\n", - " | bounds.\n", - " | \n", - " | variable_bounds_violation_tolerance: float, default=0\n", - " | Absolute tolerance for considering a variable to violate its bounds.\n", - " | Some solvers relax bounds on variables thus allowing a small violation\n", - " | to be considered acceptable.\n", - " | \n", - " | constraint_residual_tolerance: float, default=1e-05\n", - " | Absolute tolerance to use when checking constraint residuals.\n", - " | \n", - " | variable_large_value_tolerance: float, default=10000.0\n", - " | Absolute tolerance for considering a value to be large.\n", - " | \n", - " | variable_small_value_tolerance: float, default=0.0001\n", - " | Absolute tolerance for considering a value to be small.\n", - " | \n", - " | variable_zero_value_tolerance: float, default=1e-08\n", - " | Absolute tolerance for considering a value to be near to zero.\n", - " | \n", - " | jacobian_large_value_caution: float, default=10000.0\n", - " | Tolerance for raising a caution for large Jacobian values.\n", - " | \n", - " | jacobian_large_value_warning: float, default=100000000.0\n", - " | Tolerance for raising a warning for large Jacobian values.\n", - " | \n", - " | jacobian_small_value_caution: float, default=0.0001\n", - " | Tolerance for raising a caution for small Jacobian values.\n", - " | \n", - " | jacobian_small_value_warning: float, default=1e-08\n", - " | Tolerance for raising a warning for small Jacobian values.\n", - " | \n", - " | warn_for_evaluation_error_at_bounds: bool, default=True\n", - " | If False, warnings will not be generated for things like log(x) with x\n", - " | >= 0\n", - " | \n", - " | Methods defined here:\n", - " | \n", - " | __init__(self, model: pyomo.core.base.block._BlockData, **kwargs)\n", - " | Initialize self. See help(type(self)) for accurate signature.\n", - " | \n", - " | assert_no_numerical_warnings(self)\n", - " | Checks for numerical warnings in the model and raises an AssertionError\n", - " | if any are found.\n", - " | \n", - " | Raises:\n", - " | AssertionError if any warnings are identified by numerical analysis.\n", - " | \n", - " | assert_no_structural_warnings(self)\n", - " | Checks for structural warnings in the model and raises an AssertionError\n", - " | if any are found.\n", - " | \n", - " | Raises:\n", - " | AssertionError if any warnings are identified by structural analysis.\n", - " | \n", - " | display_components_with_inconsistent_units(self, stream=None)\n", - " | Prints a list of all Constraints, Expressions and Objectives in the\n", - " | model with inconsistent units of measurement.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_constraints_with_extreme_jacobians(self, stream=None)\n", - " | Prints the constraints associated with rows in the Jacobian with extreme\n", - " | L2 norms. This often indicates poorly scaled constraints.\n", - " | \n", - " | Tolerances can be set via the DiagnosticsToolbox config.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the output to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_constraints_with_large_residuals(self, stream=None)\n", - " | Prints a list of Constraints with residuals greater than a specified tolerance.\n", - " | Tolerance can be set in the class configuration options.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_external_variables(self, stream=None)\n", - " | Prints a list of variables that appear within activated Constraints in the\n", - " | model but are not contained within the model themselves.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_extreme_jacobian_entries(self, stream=None)\n", - " | Prints variables and constraints associated with entries in the Jacobian with extreme\n", - " | values. This can be indicative of poor scaling, especially for isolated terms (e.g.\n", - " | variables which appear only in one term of a single constraint).\n", - " | \n", - " | Tolerances can be set via the DiagnosticsToolbox config.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the output to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_overconstrained_set(self, stream=None)\n", - " | Prints the variables and constraints in the over-constrained sub-problem\n", - " | from a Dulmage-Mendelsohn partitioning.\n", - " | \n", - " | This can be used to identify the over-defined part of a model and thus\n", - " | where constraints must be removed or variables unfixed.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_potential_evaluation_errors(self, stream=None)\n", - " | Prints constraints that may be prone to evaluation errors\n", - " | (e.g., log of a negative number) based on variable bounds.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the output to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_underconstrained_set(self, stream=None)\n", - " | Prints the variables and constraints in the under-constrained sub-problem\n", - " | from a Dulmage-Mendelsohn partitioning.\n", - " | \n", - " | This can be used to identify the under-defined part of a model and thus\n", - " | where additional information (fixed variables or constraints) are required.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_unused_variables(self, stream=None)\n", - " | Prints a list of variables that do not appear in any activated Constraints.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_at_or_outside_bounds(self, stream=None)\n", - " | Prints a list of variables with values that fall at or outside the bounds\n", - " | on the variable.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_fixed_to_zero(self, stream=None)\n", - " | Prints a list of variables that are fixed to an absolute value of 0.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_near_bounds(self, stream=None)\n", - " | Prints a list of variables with values close to their bounds. Tolerance can\n", - " | be set in the class configuration options.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_with_extreme_jacobians(self, stream=None)\n", - " | Prints the variables associated with columns in the Jacobian with extreme\n", - " | L2 norms. This often indicates poorly scaled variables.\n", - " | \n", - " | Tolerances can be set via the DiagnosticsToolbox config.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the output to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_with_extreme_values(self, stream=None)\n", - " | Prints a list of variables with extreme values.\n", - " | \n", - " | Tolerances can be set in the class configuration options.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_with_none_value(self, stream=None)\n", - " | Prints a list of variables with a value of None.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | display_variables_with_value_near_zero(self, stream=None)\n", - " | Prints a list of variables with a value close to zero. The tolerance\n", - " | for determining what is close to zero can be set in the class configuration\n", - " | options.\n", - " | \n", - " | Args:\n", - " | stream: an I/O object to write the list to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | get_dulmage_mendelsohn_partition(self)\n", - " | Performs a Dulmage-Mendelsohn partitioning on the model and returns\n", - " | the over- and under-constrained sub-problems.\n", - " | \n", - " | Returns:\n", - " | list-of-lists variables in each independent block of the under-constrained set\n", - " | list-of-lists constraints in each independent block of the under-constrained set\n", - " | list-of-lists variables in each independent block of the over-constrained set\n", - " | list-of-lists constraints in each independent block of the over-constrained set\n", - " | \n", - " | prepare_degeneracy_hunter(self, **kwargs)\n", - " | Create an instance of the DegeneracyHunter and store as self.degeneracy_hunter.\n", - " | \n", - " | After creating an instance of the toolbox, call\n", - " | report_irreducible_degenerate_sets.\n", - " | \n", - " | Returns:\n", - " | \n", - " | Instance of DegeneracyHunter\n", - " | \n", - " | Keyword Arguments\n", - " | -----------------\n", - " | solver: str, default='scip'\n", - " | MILP solver to use for finding irreducible degenerate sets.\n", - " | \n", - " | solver_options: optional\n", - " | Options to pass to MILP solver.\n", - " | \n", - " | M: float, default=100000.0\n", - " | Maximum value for nu in MILP models.\n", - " | \n", - " | m_small: float, default=1e-05\n", - " | Smallest value for nu to be considered non-zero in MILP models.\n", - " | \n", - " | trivial_constraint_tolerance: float, default=1e-06\n", - " | Tolerance for identifying non-zero rows in Jacobian.\n", - " | \n", - " | prepare_svd_toolbox(self, **kwargs)\n", - " | Create an instance of the SVDToolbox and store as self.svd_toolbox.\n", - " | \n", - " | After creating an instance of the toolbox, call\n", - " | display_underdetermined_variables_and_constraints().\n", - " | \n", - " | Returns:\n", - " | \n", - " | Instance of SVDToolbox\n", - " | \n", - " | Keyword Arguments\n", - " | -----------------\n", - " | number_of_smallest_singular_values: PositiveInt, optional\n", - " | Number of smallest singular values to compute\n", - " | \n", - " | svd_callback: svd_callback_validator, default=\n", - " | Callback to SVD method of choice (default = svd_dense). Callbacks\n", - " | should take the Jacobian and number of singular values to compute as\n", - " | options, plus any method specific arguments, and should return the u,\n", - " | s and v matrices as numpy arrays.\n", - " | \n", - " | svd_callback_arguments: dict, optional\n", - " | Optional arguments to pass to SVD callback (default = None)\n", - " | \n", - " | singular_value_tolerance: float, default=1e-06\n", - " | Tolerance for defining a small singular value\n", - " | \n", - " | size_cutoff_in_singular_vector: float, default=0.1\n", - " | Size below which to ignore constraints and variables in the singular\n", - " | vector\n", - " | \n", - " | report_numerical_issues(self, stream=None)\n", - " | Generates a summary report of any numerical issues identified in the model provided\n", - " | and suggest next steps for debugging model.\n", - " | \n", - " | Numerical checks should only be performed once all structural issues have been resolved,\n", - " | and require that at least a partial solution to the model is available.\n", - " | \n", - " | Args:\n", - " | stream: I/O object to write report to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | report_structural_issues(self, stream=None)\n", - " | Generates a summary report of any structural issues identified in the model provided\n", - " | and suggests next steps for debugging the model.\n", - " | \n", - " | This should be the first method called when debugging a model and after any change\n", - " | is made to the model. These checks can be run before trying to initialize and solve\n", - " | the model.\n", - " | \n", - " | Args:\n", - " | stream: I/O object to write report to (default = stdout)\n", - " | \n", - " | Returns:\n", - " | None\n", - " | \n", - " | ----------------------------------------------------------------------\n", - " | Readonly properties defined here:\n", - " | \n", - " | model\n", - " | Model currently being diagnosed.\n", - " | \n", - " | ----------------------------------------------------------------------\n", - " | Data descriptors defined here:\n", - " | \n", - " | __dict__\n", - " | dictionary for instance variables (if defined)\n", - " | \n", - " | __weakref__\n", - " | list of weak references to the object (if defined)\n", - "\n" - ] - } - ], - "source": [ - "help(DiagnosticsToolbox)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The ``help()`` function gives us a lot of information on the ``DiagnosticsToolbox`` and all the methods that it supports (and there are many). However, the important part to start with are the four steps outlined at the top of the doc string that tell us how to get started.\n", - "\n", - "Firstly, we need a model to test (and, for this tutorial at least, one that has a wide range of issues that we need to fix before it will solve). We then also need to fix some variables so that we have 0 degrees of freedom in our model. Whilst our ultimate goal is generally optimization (and thus a system with 1 or more degrees of freedom), all models conceptually derive from a square model representing a nominal state. If this nominal state is not well-posed, then any issues present will also be present in the resulting optimization (even if adding degrees of freedom means that the model is now easier to solve).\n", - "\n", - "The cell below contains a demonstration model for this tutorial that contains a number of issues that we will resolve using the ``DiagnosticsToolbox``." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "import pyomo.environ as pyo\n", - "\n", - "m = pyo.ConcreteModel()\n", - "\n", - "m.v1 = pyo.Var(units=pyo.units.m)\n", - "m.v2 = pyo.Var(units=pyo.units.m)\n", - "m.v3 = pyo.Var(bounds=(0, 5))\n", - "m.v4 = pyo.Var()\n", - "m.v5 = pyo.Var(bounds=(0, 10))\n", - "m.v6 = pyo.Var()\n", - "m.v7 = pyo.Var(\n", - " units=pyo.units.m, bounds=(0, 1)\n", - ") # Poorly scaled variable with lower bound\n", - "m.v8 = pyo.Var() # unused variable\n", - "\n", - "m.c1 = pyo.Constraint(expr=m.v1 + m.v2 == 10) # Unit consistency issue\n", - "m.c2 = pyo.Constraint(expr=m.v3 == m.v4 + m.v5)\n", - "m.c3 = pyo.Constraint(expr=2 * m.v3 == 3 * m.v4 + 4 * m.v5 + m.v6)\n", - "m.c4 = pyo.Constraint(expr=m.v7 == 1e-8 * m.v1) # Poorly scaled constraint\n", - "\n", - "m.v4.fix(2)\n", - "m.v5.fix(2)\n", - "m.v6.fix(0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, the instructions tell us to create an instance of the ``DiagnosticsToolbox`` and to pass the model we wish to examine as an argument.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Create an instance of the DiagnosticsToolbox: dt = DiagnosticsToolbox(m)\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Create an instance of the Diagnostics Toolbox" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "dt = DiagnosticsToolbox(m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finally, the instructions tell us to run the ``report_structural_issues()`` method. Structural issues represent issues that exist solely in the form of the model equations and thus do not depend on the current value of any of the variables. This is useful as it means we can check for these before we even call a solver, which can be critical as sometimes these issues will cause a solver to fail without providing a useful solution.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Call dt.report_structural_issues() in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Call the report_structural_issues() method" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 4 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 3 (External: 0)\n", - " Activated Equality Constraints: 4 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 WARNINGS\n", - "\n", - " WARNING: 1 Component with inconsistent units\n", - " WARNING: Structural singularity found\n", - " Under-Constrained Set: 3 variables, 2 constraints\n", - " Over-Constrained Set: 1 variables, 2 constraints\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 Cautions\n", - "\n", - " Caution: 1 variable fixed to 0\n", - " Caution: 1 unused variable (0 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_components_with_inconsistent_units()\n", - " display_underconstrained_set()\n", - " display_overconstrained_set()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Looking at the output from the ``report_structural_issues()`` method, we can see that it provides a fairly short summary containing 4 sections.\n", - "\n", - "1. The first section is a summary of the size of the model, indicating things like the number of variables and constraints. The size of the model is often important for judging how difficult it will be to solve, and this information can also be useful for comparison to what is being sent to the solver. Most solvers will report the size of the model in their output logs, and if there is a difference between what is reported here and by the solver, then you should probably look into what is happening. This section also notes some things such as if you have any deactivated Blocks, Constraints or Objectives, or if you have variables which appear in the constraints that are not part of the model; these are not necessarily wrong but it is easy to have accidentally deactivated something you did not intend to so you should always check to see that these are expected.\n", - "\n", - "2. The second section provides a summary of any critical structural issues that were found - in this case we can see that there are 2 warnings we are going to need to look into. Warnings represent issues that need to be addressed before moving on as these will likely cause the solver to fail or give an incorrect answer.\n", - "\n", - "3. The third section lists a summary of any cautions that are found. Cautions represent issues that may or may not be problematic; in many cases these might be expected behaviors or borderline issues. However, these could also represent conceptual issues that should be addressed, so users should take the time to investigate these and determine if they need to be fixed or not.\n", - "\n", - "4. Finally, there is a section that suggests the next steps to take to help guide you through the model diagnosis process. If any warnings were identified, this section will list methods that can help you get more information on each specific problem, and if no warnings are found then it will guide you onto the next step in the model diagnosis workflow.\n", - "\n", - "**Note:** there are methods available to help investigate cautions as well, but these will not show up in the next steps in order to avoid cluttering the output. You can get more information on the available methods for investigating cautions via the documentation or ``help()`` function.\n", - "\n", - "In our current model, we have 2 critical issues (warnings) that we need to look into and resolve. The order in which we resolve these will generally not matter, but be aware that these can often be interrelated - fixing one warning might resolve other warnings as well (or create new ones), and sometimes you will need to look at multiple issues together to find the overall root cause.\n", - "\n", - "To start with, let us look at the unit consistency issue. From the \"Next Steps\" section above, the toolbox is suggesting we run the ``display_components_with_inconsistent_units()`` method for more information.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Call the `display_components_with_inconsistent_units()` method from the DiagnosticsToolbox to see more information on which constraint is causing the unit consistency issues.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Call the display_components_with_inconsistent_units() method" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "scrolled": false, - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following component(s) have unit consistency issues:\n", - "\n", - " c1\n", - "\n", - "For more details on unit inconsistencies, import the assert_units_consistent method\n", - "from pyomo.util.check_units\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.display_components_with_inconsistent_units()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This tells us that the issue lies in constraint ``c1``. If we go back and look at this constraint, we can see that it says ``v1 + v2 == 10``. ``v1`` and ``v2`` both have units of ``m`` which is consistent, but the constant in the expression (right hand side) is unitless. Thus, we need to correct this so that the right hand side has units for the constraint to be consistent.\n", - "\n", - "The cell below shows how to delete a constraint and replace it with a new one with the correct units.\n", - "\n", - "
\n", - "Warning:\n", - "Deleting components can cause unexpected issues if something else in a model is using that component (e.g., deleting a variable which is used in a constraint). You should always be careful when deleting Pyomo components and make sure you only delete components that are not used elsewhere.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "# Delete the incorrect Constraint\n", - "m.del_component(m.c1)\n", - "\n", - "# Re-create the Constraint with the correct units\n", - "m.c1 = pyo.Constraint(expr=m.v1 + m.v2 == 10 * pyo.units.m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Warning:\n", - "Fixing issues in models is often an iterative process requiring trial and error. You might also have some results from a model before running the diagnostics tools and the changes you make during debugging may make it difficult to replicate those results afterwards.\n", - " \n", - "It is strongly recommended that you keep a record of the changes you make at each step and why, along with a Git hash (or similar version control marker) corresponding to these changes. This will allow you see what changes and why, and give you a way to go back to previous iterations if the current approach does not work out. The IDAES documentation contains recommendations on how to keep and maintain a modeling logbook.\n", - "
\n", - "\n", - "Now, re-run the ``report_structural_issues()`` method and see if this change has fixed the unit consistency issue.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Call dt.report_structural_issues() in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Call the report_structural_issues() method" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "scrolled": true, - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 4 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 3 (External: 0)\n", - " Activated Equality Constraints: 4 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 WARNINGS\n", - "\n", - " WARNING: Structural singularity found\n", - " Under-Constrained Set: 3 variables, 2 constraints\n", - " Over-Constrained Set: 1 variables, 2 constraints\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 Cautions\n", - "\n", - " Caution: 1 variable fixed to 0\n", - " Caution: 1 unused variable (0 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_underconstrained_set()\n", - " display_overconstrained_set()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The unit consistency issue has been resolved by the changes above, so now we need to look at the structural singularity. A structural singularity occurs when one sub-part of the model is over-constrained (negative degrees of freedom), which generally means another part is under-constrained (positive degrees of freedom, assuming that there are 0 degrees of freedom overall).\n", - "\n", - "The toolbox is suggesting we use the ``display_overconstrained_set()`` and ``display_underconstrained_set()`` methods to get more information on the singularity; for now, let us start with the over-constrained set.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Call dt.display_overconstrained_set() in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Call the display_overconstrained_set() method" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Dulmage-Mendelsohn Over-Constrained Set\n", - "\n", - " Independent Block 0:\n", - "\n", - " Variables:\n", - "\n", - " v3\n", - "\n", - " Constraints:\n", - "\n", - " c2\n", - " c3\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.display_overconstrained_set()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "From the output above, the toolbox is telling us that we have two constraints (``c2`` and ``c3``) which only contain a single unfixed variable (``v3``); thus in this part of the model we have -1 degree of freedom and the model is not well defined (structurally singular). If we go back and look at these constraints, we can see the that the constraints are:\n", - "\n", - "``c2: v3 == v4 + v5``\n", - "\n", - "``c3: 2*v3 == 3*v4 + 4*v5 + v6``\n", - "\n", - "We can see that in addition to ``v3`` these constraints actually contain 3 other variables (``v4``, ``v5`` and ``v6``), however these are all variables we fixed to get our initial zero degrees of freedom. It looks like we have either accidentally fixed one too many variables or written one too many constraints.\n", - "\n", - "For this example, let us assume that ``v4`` was not supposed to be fixed and unfix it.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Resolve the structural singularity and then call dt.report_structural_issues() in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Unfix v4\n", - "\n", - "# Then call the report_structural_issues() method again" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "scrolled": true, - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 5 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 2 (External: 0)\n", - " Activated Equality Constraints: 4 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 WARNINGS\n", - "\n", - " WARNING: 1 Degree of Freedom\n", - " WARNING: Structural singularity found\n", - " Under-Constrained Set: 3 variables, 2 constraints\n", - " Over-Constrained Set: 0 variables, 0 constraints\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 Cautions\n", - "\n", - " Caution: 1 variable fixed to 0\n", - " Caution: 1 unused variable (0 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_underconstrained_set()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "m.v4.unfix()\n", - "\n", - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can see that the over-constrained set is now empty (0 variables and 0 constraints) but the under-constrained set still has 3 variables and only 2 constraints. We can also see that there is a new warning about having 1 degree of freedom in the model, however this should not be surprising as we have just unfixed ``v4`` to resolve the over-constrained set so we have added a degree of freedom to the model.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Display the under-constrained set in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Display the under-constrained set" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Dulmage-Mendelsohn Under-Constrained Set\n", - "\n", - " Independent Block 0:\n", - "\n", - " Variables:\n", - "\n", - " v2\n", - " v1\n", - " v7\n", - "\n", - " Constraints:\n", - "\n", - " c1\n", - " c4\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.display_underconstrained_set()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Looking at the output from the ``display_underconstrained_set()`` method, we can see that we have two constraints, ``c1`` and ``c4``, which contain three unfixed variables, ``v1``, ``v2`` and ``v7``. Thus, we have one degree of freedom that needs to be addressed. To fix this, we could either fix one of the variables shown or add an additional equality constraint to the model.\n", - "\n", - "For this example let's fix ``v2`` to a value of 5 and then re-run the ``report_structural_issues()`` method.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Fix v2 to a value of 5 and then re-run dt.report_structural_issues.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Fix v2 = 5\n", - "\n", - "# Then re-run report_structural_issues() method" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": { - "scrolled": true, - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 4 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 3 (External: 0)\n", - " Activated Equality Constraints: 4 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 Cautions\n", - "\n", - " Caution: 1 variable fixed to 0\n", - " Caution: 1 unused variable (0 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " Try to initialize/solve your model and then call report_numerical_issues()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "m.v2.fix(5)\n", - "\n", - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The toolbox is now telling us that no warnings were found, so we have resolved all the structural issues (for now at least). The toolbox is telling us that there are also 2 non-critical issues (cautions) that we should look at; one about an unused variable and one about a variable fixed to zero. If you wish, you can look into identifying and fixing these yourself, however for this example we will move on to the next step (remember that the toolbox has methods to display more details for each of these which you can find in the documentation or from the ``help()`` function).\n", - "\n", - "For the Next Steps section, the toolbox is recommending we try to solve our model and then check for numerical issues.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Use the Pyomo SolverFactory to create an instance of IPOPT and then try to solve the model. Make sure to set \"tee=True\" as this is going to fail (and it is always good practice to review the solver logs).\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Create a solver object\n", - "\n", - "# Try to solve the model" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 7\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 4\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 2\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 4\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 1.40e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 1.39e+01 1.50e+02 -1.0 6.00e+00 - 7.16e-01 4.93e-03h 1\n", - " 2 0.0000000e+00 1.39e+01 3.03e+06 -1.0 5.97e+00 - 1.00e+00 4.95e-05h 1\n", - " 3r 0.0000000e+00 1.39e+01 1.00e+03 1.1 0.00e+00 - 0.00e+00 2.47e-07R 2\n", - " 4r 0.0000000e+00 4.19e+00 9.42e+02 1.1 3.50e+03 - 4.02e-01 3.37e-03f 1\n", - " 5r 0.0000000e+00 2.12e+00 8.72e+02 1.1 5.89e+01 - 4.35e-01 7.06e-02f 1\n", - " 6r 0.0000000e+00 6.74e-01 6.06e+02 1.1 5.29e+00 - 9.93e-03 3.98e-01f 1\n", - " 7r 0.0000000e+00 6.80e-01 3.14e+02 0.4 2.05e-01 - 1.00e+00 1.03e-01f 1\n", - " 8r 0.0000000e+00 6.69e-01 2.78e-05 0.4 2.58e-02 - 1.00e+00 1.00e+00f 1\n", - " 9r 0.0000000e+00 6.67e-01 7.56e+00 -1.7 8.13e-03 - 9.93e-01 9.96e-01f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10r 0.0000000e+00 6.67e-01 2.23e-07 -1.7 4.13e-05 - 1.00e+00 1.00e+00f 1\n", - " 11r 0.0000000e+00 6.67e-01 6.73e-01 -3.7 6.61e-05 - 1.00e+00 1.00e+00f 1\n", - " 12r 0.0000000e+00 6.67e-01 1.91e-09 -3.7 1.48e-09 - 1.00e+00 1.00e+00h 1\n", - " 13r 0.0000000e+00 6.67e-01 2.69e+00 -8.4 5.74e-07 - 1.00e+00 9.26e-01f 1\n", - " 14r 0.0000000e+00 6.67e-01 7.65e+01 -8.4 4.23e-08 - 8.68e-01 1.00e+00f 1\n", - "\n", - "Number of Iterations....: 14\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 3.2644919411246030e-04 3.2644919411246030e-04\n", - "Constraint violation....: 6.6666666333656233e-01 6.6666666333656233e-01\n", - "Complementarity.........: 4.6615546565561981e-09 4.6615546565561981e-09\n", - "Overall NLP error.......: 6.6666666333656233e-01 6.6666666333656233e-01\n", - "\n", - "\n", - "Number of objective function evaluations = 18\n", - "Number of objective gradient evaluations = 5\n", - "Number of equality constraint evaluations = 18\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 17\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 15\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.003\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Converged to a point of local infeasibility. Problem may be infeasible.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: infeasible\n", - " - message from solver: Ipopt 3.13.2\\x3a Converged to a locally infeasible\n", - " point. Problem may be infeasible.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 4, 'Number of variables': 4, 'Sense': 'unknown'}], 'Solver': [{'Status': 'warning', 'Message': 'Ipopt 3.13.2\\\\x3a Converged to a locally infeasible point. Problem may be infeasible.', 'Termination condition': 'infeasible', 'Id': 200, 'Error rc': 0, 'Time': 0.007064104080200195}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "solver = pyo.SolverFactory(\"ipopt\")\n", - "solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As hinted at above, IPOPT has returned a warning that the problem may be infeasible. Before moving on however, it is always good practice to look over the solver outputs and see what it is telling you.\n", - "\n", - "
\n", - "Warning:\n", - "A lot of useful information is contained in the solver logs which is extremely useful when diagnosing modeling issues. Each solver has its own way of reporting output and its own specific behavior, so you will need to learn to interpret the output of each solver you use. The IDAES Documentation contains some guidance on interpreting output logs for a few common solvers.\n", - "
\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Call the report_numerical_issues method in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Check for numerical issues" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 1.700E+01\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 WARNINGS\n", - "\n", - " WARNING: 1 Constraint with large residuals (>1.0E-05)\n", - " WARNING: 1 Variable at or outside bounds (tol=0.0E+00)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "5 Cautions\n", - "\n", - " Caution: 2 Variables with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 2 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 1 Variable with extreme value (<1.0E-04 or >1.0E+04)\n", - " Caution: 1 Variable with None value\n", - " Caution: 1 extreme Jacobian Entry (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_constraints_with_large_residuals()\n", - " display_variables_at_or_outside_bounds()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.report_numerical_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The ``report_numerical_issues()`` provides a summary similar to that which we saw for the structural issues. Firstly, it reports to us the Jacobian condition number for our problem which can give us an idea of how well-scaled the problem is, followed by a list of warnings, cautions and suggested next steps.\n", - "\n", - "Unsurprisingly, we are seeing a warning about a constraint with a large residual which we would expect when a solver reports a potentially infeasible problem. We are also seeing a warning about a variable with bound violations which might be contributing to the potential infeasibility.\n", - "\n", - "For the next steps, the toolbox is suggesting some new methods to get more information on these issues; let us start by looking at the constraints with large residuals.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Display the constraint with a large residual in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Display constraint with large residual" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following constraint(s) have large residuals (>1.0E-05):\n", - "\n", - " c2: 6.66667E-01\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.display_constraints_with_large_residuals()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The toolbox is telling us that the constraint which failed to converge is ``c2``, however this is generally only part of the story. Solvers work by trying to minimize the infeasibility in the model (residual of the constraints), which generally means they push any infeasibility onto the least sensitive constraint in the problem. Thus, the constraint which shows the infeasibility is often not the root cause of the problem, but only the symptom of the underlying issue.\n", - "\n", - "If we look back at the constraints, we can see that the same variables also appear in ``c3`` and that some of these have bounds, all of which could be contributing to the infeasibility. In this case the solver tried to minimize the residual in all the constraints and ended up pushing all the issues off onto ``c2``.\n", - "\n", - "
\n", - "Warning:\n", - "When dealing with solver issues such as this, you should always remember that the obvious symptoms are often just the tip of the iceberg and that the real issue generally lies somewhere else; the challenge is tracing the symptoms back to their ultimate source.\n", - "
\n", - "\n", - "Next, let us take a look at the variables at or outside their bounds as well. When a solver reports an potentially infeasible solution, the most common cause is unexpected bounds violations so you should always check these first.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Display the variables with bounds violations.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Display the variables with bounds violations" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following variable(s) have values at or outside their bounds (tol=0.0E+00):\n", - "\n", - " v3 (free): value=0.0 bounds=(0, 5)\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.display_variables_at_or_outside_bounds()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The toolbox is telling us that ``v3`` is the variable with a potential issue. It is also showing us the current value and bounds for ``v3`` as well as if it is a fixed or free variable, which will be useful for diagnosing the issues.\n", - "\n", - "We can see that ``v3`` is a free variable with bounds between 0 and 5 and a current value of 0. As ``v3`` is a free variable, this suggests that the solver has pushed the value to the bound where it cannot go any further, and this might be part of the cause of our infeasibility.\n", - "\n", - "
\n", - "Warning:\n", - "When dealing with bounds violations you should always start by understanding why the bounds exist and what they mean - in many cases a bound indicates the range over which the model can be trusted and that going beyond this may result in unexpected behavior due to extrapolation.\n", - " \n", - "Never arbitrarily change a bound just because it is causing your model to be infeasible without understanding the consequences of this decision. Often, a bound violation is an indication that you need to re-think some of the constraints in your model to find alternatives which are valid in the actual range of values you are trying to solve for.\n", - "
\n", - "\n", - "For this example, let us assume that we made a mistake with the bounds on ``v3`` and set the lower bound to be -5.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Update the bounds on v3 in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Update bounds for v3" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "m.v3.setlb(-5)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that we have fixed the bounds issues, we should check whether our model is now feasible. However, before we continue we should recognize that we have just made a structural change to the model. If we were not careful, this could have introduced new structural issues to the model, so we should start from the beginning just to be sure.\n", - "\n", - "
\n", - "Warning:\n", - "In general, you should always start from the beginning of the model diagnosis workflow after you make any change to the model. Remember to also record these changes in your log book in case something unexpected happens so that you can revert any changes that cause problems.\n", - "
\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Check to see if there are any new structural issues in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Check for new structural issues" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": { - "scrolled": true, - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 1 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 4 (External: 0)\n", - " Free Variables with only lower bounds: 0\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 3 (External: 0)\n", - " Activated Equality Constraints: 4 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 Cautions\n", - "\n", - " Caution: 1 variable fixed to 0\n", - " Caution: 1 unused variable (0 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " Try to initialize/solve your model and then call report_numerical_issues()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Our change has not introduced any new structural issues, so we can move on and try to solve the model again.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Re-solve the model in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Re-solve the model" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 7\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 4\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 2\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 4\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 6.67e-01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 6.66e-03 2.97e+00 -1.0 2.00e+00 - 7.17e-01 9.90e-01h 1\n", - " 2 0.0000000e+00 6.27e-05 9.38e+00 -1.0 2.00e-02 - 1.00e+00 9.91e-01h 1\n", - " 3 0.0000000e+00 8.88e-16 1.13e-12 -1.0 1.88e-04 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 8.8817841970012523e-16 8.8817841970012523e-16\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 8.8817841970012523e-16 8.8817841970012523e-16\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 4, 'Number of variables': 4, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.02317023277282715}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "IPOPT should have returned optimal solution now, so it looks like those bounds were what was causing the model to be infeasible. At this point, the model is now solving (for the current values at least), so you might think that the model is now ready for optimization.\n", - "\n", - "However, if we look at the solver logs we can see that it took around 3 iterations for IPOPT to solve our model (depending on minor variations in computer architecture). For a model this simple, we would generally expect it to solve in only 1 iteration so there is still some room for improvement.\n", - "\n", - "
\n", - "Warning:\n", - "You should keep in mind that just because you get an optimal solution does not mean that your model is robust and free of issues.\n", - " \n", - "You should always take the time to look over the solver logs to look for signs of trouble, even if you get an optimal solution. While you might get an optimal solution for the current state, there may be advance warning signs of issues that will cause problems later when you try to solve the model at a different state.\n", - "
\n", - "\n", - "Let us run the ``report_numerical_issues`` method again to see if there are any other problems we need to address.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Check for additional numerical issues in the cell below.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Check for additional numerical issues" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 1.700E+01\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "5 Cautions\n", - "\n", - " Caution: 1 Variable with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 1 Variable with value close to zero (tol=1.0E-08)\n", - " Caution: 1 Variable with extreme value (<1.0E-04 or >1.0E+04)\n", - " Caution: 1 Variable with None value\n", - " Caution: 1 extreme Jacobian Entry (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " If you still have issues converging your model consider:\n", - " prepare_svd_toolbox()\n", - " prepare_degeneracy_hunter()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.report_numerical_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The toolbox is not reporting any warnings which is good, however there are still 5 numerical cautions that it has identified which might be contributing to the larger than expected number of iterations. As mentioned earlier, the toolbox does not suggest methods for investigating these, but there are methods available. For example, we can look at the variable with an extreme value using the `display_variables_with_extreme_values()` method.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Check for additional information about variables with extreme values.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Display variable with extreme value" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following variable(s) have extreme values (<1.0E-04 or > 1.0E+04):\n", - "\n", - " v7: 4.9999999999999945e-08\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.display_variables_with_extreme_values()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can see that ``v7`` is potentially causing problems due to having a very small value (on the order of magnitude of the solver tolerance). This can be especially problematic for interior point solvers like IPOPT if there is a lower bound of 0 (which there is in this case). IPOPT tries to avoid bounds and thus perturbs solutions away from these if it gets too close, which can cause convergence to be slow (or fail) if the solution lies close to the bound.\n", - "\n", - "We can address this by scaling the variable so that the value of the scaled variable is large enough that the solution is not close to the lower bound. Additionally, we should look at any constraint that ``v7`` appears in (in this case ``c4``) and ensure that those constraints are well scaled as well (so that a residual of 1e-6 is reasonable for the terms involved).\n", - "\n", - "For this case, we can set a scaling factor of 1e8 for both ``v7`` and ``c4`` as shown below. Note that we also need to apply Pyomo's scaling transformation to create a new scaled model to work with." - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "metadata": {}, - "outputs": [], - "source": [ - "m.scaling_factor = pyo.Suffix(direction=pyo.Suffix.EXPORT)\n", - "\n", - "m.scaling_factor[m.v7] = 1e8\n", - "m.scaling_factor[m.c4] = 1e8\n", - "\n", - "scaling = pyo.TransformationFactory(\"core.scale_model\")\n", - "scaled_model = scaling.create_using(m, rename=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that we have a scaled model, we can try to solve it and hopefully see better convergence than the unscaled model.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Solve the scaled model and check to see how many iterations are required.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Solve scaled model" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 7\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 4\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 2\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 4\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 5.33e-15 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "\n", - "Number of Iterations....: 0\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 5.3290705182007514e-15 5.3290705182007514e-15\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 5.3290705182007514e-15 5.3290705182007514e-15\n", - "\n", - "\n", - "Number of objective function evaluations = 1\n", - "Number of objective gradient evaluations = 1\n", - "Number of equality constraint evaluations = 1\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 1\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 0\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\b\b\b\b\b\b\b\b\b\b\b\b\b\b" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 4, 'Number of variables': 4, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.0058002471923828125}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 43, - "metadata": {}, - "output_type": "execute_result" + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# IDAES Model Diagnostics Toolbox Tutorial\n", + "Author: Andrew Lee \n", + "Maintainer: Andrew Lee \n", + "Updated: 2023-10-31 \n", + "\n", + "As you have likely discovered already, developing and solving models in an equation-oriented (EO) environment can be challenging and often takes a significant amount of effort. There are many pitfalls and mistakes that can be encountered when developing a model which can greatly impact the solvability and robustness of the final problem.\n", + "\n", + "Model diagnosis and debugging is often more of an art than a science, and it generally relies on significant experience and understanding both of general EO modeling techniques and the specific model and problem being solved. To assist with this process, IDAES has developed a model diagnostics toolbox that brings together a large number of tools for identifying potential issues in a model to help guide the user through the process of finding and resolving these issues. Note however that whilst these tools can help identify the presence of an issue, remedying the issue always requires some degree of engineering knowledge about the system being modeled, and thus it is ultimately up to the user to find a solution to the problem.\n", + "\n", + "This tutorial will take you through using the {py:class}`DiagnosticsToolbox ` to debug a number of issues in a simple Pyomo model and to take it from initially reporting a possible infeasible solution to returning the correct solution.\n", + "\n", + "To get started, the ``DiagnosticsToolbox`` can be imported from ``idaes.core.util``.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Import the DiagnosticsToolbox in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core.util import DiagnosticsToolbox" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To get some information on where to start, try using the Python ``help()`` function to see the documentation for the ``DiagnosticsToolbox``.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Call `help(DiagnosticsToolbox)` to see some more information on the toolbox and some instructions on how to get started.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Call the help() function for more information" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "help(DiagnosticsToolbox)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The ``help()`` function gives us a lot of information on the ``DiagnosticsToolbox`` and all the methods that it supports (and there are many). However, the important part to start with are the four steps outlined at the top of the doc string that tell us how to get started.\n", + "\n", + "Firstly, we need a model to test (and, for this tutorial at least, one that has a wide range of issues that we need to fix before it will solve). We then also need to fix some variables so that we have 0 degrees of freedom in our model. Whilst our ultimate goal is generally optimization (and thus a system with 1 or more degrees of freedom), all models conceptually derive from a square model representing a nominal state. If this nominal state is not well-posed, then any issues present will also be present in the resulting optimization (even if adding degrees of freedom means that the model is now easier to solve).\n", + "\n", + "The cell below contains a demonstration model for this tutorial that contains a number of issues that we will resolve using the ``DiagnosticsToolbox``." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "import pyomo.environ as pyo\n", + "\n", + "m = pyo.ConcreteModel()\n", + "\n", + "m.v1 = pyo.Var(units=pyo.units.m)\n", + "m.v2 = pyo.Var(units=pyo.units.m)\n", + "m.v3 = pyo.Var(bounds=(0, 5))\n", + "m.v4 = pyo.Var()\n", + "m.v5 = pyo.Var(bounds=(0, 10))\n", + "m.v6 = pyo.Var()\n", + "m.v7 = pyo.Var(\n", + " units=pyo.units.m, bounds=(0, 1)\n", + ") # Poorly scaled variable with lower bound\n", + "m.v8 = pyo.Var() # unused variable\n", + "\n", + "m.c1 = pyo.Constraint(expr=m.v1 + m.v2 == 10) # Unit consistency issue\n", + "m.c2 = pyo.Constraint(expr=m.v3 == m.v4 + m.v5)\n", + "m.c3 = pyo.Constraint(expr=2 * m.v3 == 3 * m.v4 + 4 * m.v5 + m.v6)\n", + "m.c4 = pyo.Constraint(expr=m.v7 == 1e-8 * m.v1) # Poorly scaled constraint\n", + "\n", + "m.v4.fix(2)\n", + "m.v5.fix(2)\n", + "m.v6.fix(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, the instructions tell us to create an instance of the ``DiagnosticsToolbox`` and to pass the model we wish to examine as an argument.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Create an instance of the DiagnosticsToolbox: dt = DiagnosticsToolbox(m)\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Create an instance of the Diagnostics Toolbox" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt = DiagnosticsToolbox(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, the instructions tell us to run the ``report_structural_issues()`` method. Structural issues represent issues that exist solely in the form of the model equations and thus do not depend on the current value of any of the variables. This is useful as it means we can check for these before we even call a solver, which can be critical as sometimes these issues will cause a solver to fail without providing a useful solution.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Call dt.report_structural_issues() in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Call the report_structural_issues() method" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.report_structural_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Looking at the output from the ``report_structural_issues()`` method, we can see that it provides a fairly short summary containing 4 sections.\n", + "\n", + "1. The first section is a summary of the size of the model, indicating things like the number of variables and constraints. The size of the model is often important for judging how difficult it will be to solve, and this information can also be useful for comparison to what is being sent to the solver. Most solvers will report the size of the model in their output logs, and if there is a difference between what is reported here and by the solver, then you should probably look into what is happening. This section also notes some things such as if you have any deactivated Blocks, Constraints or Objectives, or if you have variables which appear in the constraints that are not part of the model; these are not necessarily wrong but it is easy to have accidentally deactivated something you did not intend to so you should always check to see that these are expected.\n", + "\n", + "2. The second section provides a summary of any critical structural issues that were found - in this case we can see that there are 2 warnings we are going to need to look into. Warnings represent issues that need to be addressed before moving on as these will likely cause the solver to fail or give an incorrect answer.\n", + "\n", + "3. The third section lists a summary of any cautions that are found. Cautions represent issues that may or may not be problematic; in many cases these might be expected behaviors or borderline issues. However, these could also represent conceptual issues that should be addressed, so users should take the time to investigate these and determine if they need to be fixed or not.\n", + "\n", + "4. Finally, there is a section that suggests the next steps to take to help guide you through the model diagnosis process. If any warnings were identified, this section will list methods that can help you get more information on each specific problem, and if no warnings are found then it will guide you onto the next step in the model diagnosis workflow.\n", + "\n", + "**Note:** there are methods available to help investigate cautions as well, but these will not show up in the next steps in order to avoid cluttering the output. You can get more information on the available methods for investigating cautions via the documentation or ``help()`` function.\n", + "\n", + "In our current model, we have 2 critical issues (warnings) that we need to look into and resolve. The order in which we resolve these will generally not matter, but be aware that these can often be interrelated - fixing one warning might resolve other warnings as well (or create new ones), and sometimes you will need to look at multiple issues together to find the overall root cause.\n", + "\n", + "To start with, let us look at the unit consistency issue. From the \"Next Steps\" section above, the toolbox is suggesting we run the ``display_components_with_inconsistent_units()`` method for more information.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Call the `display_components_with_inconsistent_units()` method from the DiagnosticsToolbox to see more information on which constraint is causing the unit consistency issues.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Call the display_components_with_inconsistent_units() method" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "scrolled": false, + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.display_components_with_inconsistent_units()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This tells us that the issue lies in constraint ``c1``. If we go back and look at this constraint, we can see that it says ``v1 + v2 == 10``. ``v1`` and ``v2`` both have units of ``m`` which is consistent, but the constant in the expression (right hand side) is unitless. Thus, we need to correct this so that the right hand side has units for the constraint to be consistent.\n", + "\n", + "The cell below shows how to delete a constraint and replace it with a new one with the correct units.\n", + "\n", + "
\n", + "Warning:\n", + "Deleting components can cause unexpected issues if something else in a model is using that component (e.g., deleting a variable which is used in a constraint). You should always be careful when deleting Pyomo components and make sure you only delete components that are not used elsewhere.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "# Delete the incorrect Constraint\n", + "m.del_component(m.c1)\n", + "\n", + "# Re-create the Constraint with the correct units\n", + "m.c1 = pyo.Constraint(expr=m.v1 + m.v2 == 10 * pyo.units.m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Warning:\n", + "Fixing issues in models is often an iterative process requiring trial and error. You might also have some results from a model before running the diagnostics tools and the changes you make during debugging may make it difficult to replicate those results afterwards.\n", + " \n", + "It is strongly recommended that you keep a record of the changes you make at each step and why, along with a Git hash (or similar version control marker) corresponding to these changes. This will allow you see what changes and why, and give you a way to go back to previous iterations if the current approach does not work out. The IDAES documentation contains recommendations on how to keep and maintain a modeling logbook.\n", + "
\n", + "\n", + "Now, re-run the ``report_structural_issues()`` method and see if this change has fixed the unit consistency issue.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Call dt.report_structural_issues() in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Call the report_structural_issues() method" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "scrolled": true, + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.report_structural_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The unit consistency issue has been resolved by the changes above, so now we need to look at the structural singularity. A structural singularity occurs when one sub-part of the model is over-constrained (negative degrees of freedom), which generally means another part is under-constrained (positive degrees of freedom, assuming that there are 0 degrees of freedom overall).\n", + "\n", + "The toolbox is suggesting we use the ``display_overconstrained_set()`` and ``display_underconstrained_set()`` methods to get more information on the singularity; for now, let us start with the over-constrained set.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Call dt.display_overconstrained_set() in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Call the display_overconstrained_set() method" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.display_overconstrained_set()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From the output above, the toolbox is telling us that we have two constraints (``c2`` and ``c3``) which only contain a single unfixed variable (``v3``); thus in this part of the model we have -1 degree of freedom and the model is not well defined (structurally singular). If we go back and look at these constraints, we can see the that the constraints are:\n", + "\n", + "``c2: v3 == v4 + v5``\n", + "\n", + "``c3: 2*v3 == 3*v4 + 4*v5 + v6``\n", + "\n", + "We can see that in addition to ``v3`` these constraints actually contain 3 other variables (``v4``, ``v5`` and ``v6``), however these are all variables we fixed to get our initial zero degrees of freedom. It looks like we have either accidentally fixed one too many variables or written one too many constraints.\n", + "\n", + "For this example, let us assume that ``v4`` was not supposed to be fixed and unfix it.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Resolve the structural singularity and then call dt.report_structural_issues() in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Unfix v4\n", + "\n", + "# Then call the report_structural_issues() method again" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "scrolled": true, + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "m.v4.unfix()\n", + "\n", + "dt.report_structural_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that the over-constrained set is now empty (0 variables and 0 constraints) but the under-constrained set still has 3 variables and only 2 constraints. We can also see that there is a new warning about having 1 degree of freedom in the model, however this should not be surprising as we have just unfixed ``v4`` to resolve the over-constrained set so we have added a degree of freedom to the model.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Display the under-constrained set in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Display the under-constrained set" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.display_underconstrained_set()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Looking at the output from the ``display_underconstrained_set()`` method, we can see that we have two constraints, ``c1`` and ``c4``, which contain three unfixed variables, ``v1``, ``v2`` and ``v7``. Thus, we have one degree of freedom that needs to be addressed. To fix this, we could either fix one of the variables shown or add an additional equality constraint to the model.\n", + "\n", + "For this example let's fix ``v2`` to a value of 5 and then re-run the ``report_structural_issues()`` method.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Fix v2 to a value of 5 and then re-run dt.report_structural_issues.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Fix v2 = 5\n", + "\n", + "# Then re-run report_structural_issues() method" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "scrolled": true, + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "m.v2.fix(5)\n", + "\n", + "dt.report_structural_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The toolbox is now telling us that no warnings were found, so we have resolved all the structural issues (for now at least). The toolbox is telling us that there are also 2 non-critical issues (cautions) that we should look at; one about an unused variable and one about a variable fixed to zero. If you wish, you can look into identifying and fixing these yourself, however for this example we will move on to the next step (remember that the toolbox has methods to display more details for each of these which you can find in the documentation or from the ``help()`` function).\n", + "\n", + "For the Next Steps section, the toolbox is recommending we try to solve our model and then check for numerical issues.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Use the Pyomo SolverFactory to create an instance of IPOPT and then try to solve the model. Make sure to set \"tee=True\" as this is going to fail (and it is always good practice to review the solver logs).\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Create a solver object\n", + "\n", + "# Try to solve the model" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "solver = pyo.SolverFactory(\"ipopt\")\n", + "solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As hinted at above, IPOPT has returned a warning that the problem may be infeasible. Before moving on however, it is always good practice to look over the solver outputs and see what it is telling you.\n", + "\n", + "
\n", + "Warning:\n", + "A lot of useful information is contained in the solver logs which is extremely useful when diagnosing modeling issues. Each solver has its own way of reporting output and its own specific behavior, so you will need to learn to interpret the output of each solver you use. The IDAES Documentation contains some guidance on interpreting output logs for a few common solvers.\n", + "
\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Call the report_numerical_issues method in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Check for numerical issues" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.report_numerical_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The ``report_numerical_issues()`` provides a summary similar to that which we saw for the structural issues. Firstly, it reports to us the Jacobian condition number for our problem which can give us an idea of how well-scaled the problem is, followed by a list of warnings, cautions and suggested next steps.\n", + "\n", + "Unsurprisingly, we are seeing a warning about a constraint with a large residual which we would expect when a solver reports a potentially infeasible problem. We are also seeing a warning about a variable with bound violations which might be contributing to the potential infeasibility.\n", + "\n", + "For the next steps, the toolbox is suggesting some new methods to get more information on these issues; let us start by looking at the constraints with large residuals.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Display the constraint with a large residual in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Display constraint with large residual" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.display_constraints_with_large_residuals()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The toolbox is telling us that the constraint which failed to converge is ``c2``, however this is generally only part of the story. Solvers work by trying to minimize the infeasibility in the model (residual of the constraints), which generally means they push any infeasibility onto the least sensitive constraint in the problem. Thus, the constraint which shows the infeasibility is often not the root cause of the problem, but only the symptom of the underlying issue.\n", + "\n", + "If we look back at the constraints, we can see that the same variables also appear in ``c3`` and that some of these have bounds, all of which could be contributing to the infeasibility. In this case the solver tried to minimize the residual in all the constraints and ended up pushing all the issues off onto ``c2``.\n", + "\n", + "
\n", + "Warning:\n", + "When dealing with solver issues such as this, you should always remember that the obvious symptoms are often just the tip of the iceberg and that the real issue generally lies somewhere else; the challenge is tracing the symptoms back to their ultimate source.\n", + "
\n", + "\n", + "Next, let us take a look at the variables at or outside their bounds as well. When a solver reports an potentially infeasible solution, the most common cause is unexpected bounds violations so you should always check these first.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Display the variables with bounds violations.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Display the variables with bounds violations" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.display_variables_at_or_outside_bounds()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The toolbox is telling us that ``v3`` is the variable with a potential issue. It is also showing us the current value and bounds for ``v3`` as well as if it is a fixed or free variable, which will be useful for diagnosing the issues.\n", + "\n", + "We can see that ``v3`` is a free variable with bounds between 0 and 5 and a current value of 0. As ``v3`` is a free variable, this suggests that the solver has pushed the value to the bound where it cannot go any further, and this might be part of the cause of our infeasibility.\n", + "\n", + "
\n", + "Warning:\n", + "When dealing with bounds violations you should always start by understanding why the bounds exist and what they mean - in many cases a bound indicates the range over which the model can be trusted and that going beyond this may result in unexpected behavior due to extrapolation.\n", + " \n", + "Never arbitrarily change a bound just because it is causing your model to be infeasible without understanding the consequences of this decision. Often, a bound violation is an indication that you need to re-think some of the constraints in your model to find alternatives which are valid in the actual range of values you are trying to solve for.\n", + "
\n", + "\n", + "For this example, let us assume that we made a mistake with the bounds on ``v3`` and set the lower bound to be -5.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Update the bounds on v3 in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Update bounds for v3" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "m.v3.setlb(-5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that we have fixed the bounds issues, we should check whether our model is now feasible. However, before we continue we should recognize that we have just made a structural change to the model. If we were not careful, this could have introduced new structural issues to the model, so we should start from the beginning just to be sure.\n", + "\n", + "
\n", + "Warning:\n", + "In general, you should always start from the beginning of the model diagnosis workflow after you make any change to the model. Remember to also record these changes in your log book in case something unexpected happens so that you can revert any changes that cause problems.\n", + "
\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Check to see if there are any new structural issues in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Check for new structural issues" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "scrolled": true, + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.report_structural_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Our change has not introduced any new structural issues, so we can move on and try to solve the model again.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Re-solve the model in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Re-solve the model" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "IPOPT should have returned optimal solution now, so it looks like those bounds were what was causing the model to be infeasible. At this point, the model is now solving (for the current values at least), so you might think that the model is now ready for optimization.\n", + "\n", + "However, if we look at the solver logs we can see that it took around 3 iterations for IPOPT to solve our model (depending on minor variations in computer architecture). For a model this simple, we would generally expect it to solve in only 1 iteration so there is still some room for improvement.\n", + "\n", + "
\n", + "Warning:\n", + "You should keep in mind that just because you get an optimal solution does not mean that your model is robust and free of issues.\n", + " \n", + "You should always take the time to look over the solver logs to look for signs of trouble, even if you get an optimal solution. While you might get an optimal solution for the current state, there may be advance warning signs of issues that will cause problems later when you try to solve the model at a different state.\n", + "
\n", + "\n", + "Let us run the ``report_numerical_issues`` method again to see if there are any other problems we need to address.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Check for additional numerical issues in the cell below.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Check for additional numerical issues" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.report_numerical_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The toolbox is not reporting any warnings which is good, however there are still 5 numerical cautions that it has identified which might be contributing to the larger than expected number of iterations. As mentioned earlier, the toolbox does not suggest methods for investigating these, but there are methods available. For example, we can look at the variable with an extreme value using the `display_variables_with_extreme_values()` method.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Check for additional information about variables with extreme values.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Display variable with extreme value" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt.display_variables_with_extreme_values()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that ``v7`` is potentially causing problems due to having a very small value (on the order of magnitude of the solver tolerance). This can be especially problematic for interior point solvers like IPOPT if there is a lower bound of 0 (which there is in this case). IPOPT tries to avoid bounds and thus perturbs solutions away from these if it gets too close, which can cause convergence to be slow (or fail) if the solution lies close to the bound.\n", + "\n", + "We can address this by scaling the variable so that the value of the scaled variable is large enough that the solution is not close to the lower bound. Additionally, we should look at any constraint that ``v7`` appears in (in this case ``c4``) and ensure that those constraints are well scaled as well (so that a residual of 1e-6 is reasonable for the terms involved).\n", + "\n", + "For this case, we can set a scaling factor of 1e8 for both ``v7`` and ``c4`` as shown below. Note that we also need to apply Pyomo's scaling transformation to create a new scaled model to work with." + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [], + "source": [ + "m.scaling_factor = pyo.Suffix(direction=pyo.Suffix.EXPORT)\n", + "\n", + "m.scaling_factor[m.v7] = 1e8\n", + "m.scaling_factor[m.c4] = 1e8\n", + "\n", + "scaling = pyo.TransformationFactory(\"core.scale_model\")\n", + "scaled_model = scaling.create_using(m, rename=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that we have a scaled model, we can try to solve it and hopefully see better convergence than the unscaled model.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Solve the scaled model and check to see how many iterations are required.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Solve scaled model" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "solver.solve(scaled_model, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As we can see, the scaled model solved in 0 iterations (indicating that it already had the right solution). However, had we done this to the unscaled model we would have found it required 2-3 iterations again due to IPOPT perturbing the initial (correct) solution away from the bounds.\n", + "\n", + "
\n", + "Warning:\n", + "Normally in these cases we would need to map the solution from the scaled model back to the unscaled model so we can view the results. In this case, we are not actually interested in the solution so we move on with the model diagnosis.\n", + "
\n", + "\n", + "Now that we have fixed the scaling issues, we can go back to the ``DiagnosticsToolbox`` and see if we still have any warnings. Note however that we need to look at the scaled model now rather than the original model, so we need to create a new instance of the ``DiagnosticsToolbox`` with the scaled model as the ``model`` argument.\n", + "\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Create a new instance of the DiagnosticsToolbox and check the scaled model for issues.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Create a new diagnostics toolbox for scaled model\n", + "\n", + "# Report numerical issues for scaled model" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "dt_scaled = DiagnosticsToolbox(scaled_model)\n", + "dt_scaled.report_numerical_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that applying scaling addressed two of the cautions we had before (the variable with an extreme value and an associated large value in the model Jacobian). Whilst we were able to solve the unscaled model in this case, this is in part because it was a simple linear model. In more complex, non-linear models, scaling becomes much more important and often depends strongly on the current state of the model. That is, you can often find cases where the unscaled (or poorly scaled) model solves for a limited range of conditions but fails to solve if you move too far away for the current state. Whilst you might be able to solve the model at the current state, you should always check the solver logs and numerical cautions for advanced warning signs of scaling issues that might manifest later when you try to solve the model for a different state (e.g., during optimization).\n", + "\n", + "
\n", + "Warning:\n", + "By their nature, numerical issues depend on the current values of the variables in the model, and thus may remain hidden until someone tries to solve the model close to where the issue exists. For this reason, the full model diagnostics workflow contains steps to run the numerical checks across a wide range of variable values to try to ensure that no issues remain hidden. This is beyond the scope of this tutorial however.\n", + "
\n", + "\n", + "At this point, we have addressed all the issues that were preventing us from solving the demonstration model and so reached the end of this tutorial. For cases where we are still having trouble solving the model, we can see that the toolbox is suggesting additional methods for further debugging and these advanced features will be the focus of separate tutorials." + ] } - ], - "source": [ - "solver.solve(scaled_model, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As we can see, the scaled model solved in 0 iterations (indicating that it already had the right solution). However, had we done this to the unscaled model we would have found it required 2-3 iterations again due to IPOPT perturbing the initial (correct) solution away from the bounds.\n", - "\n", - "
\n", - "Warning:\n", - "Normally in these cases we would need to map the solution from the scaled model back to the unscaled model so we can view the results. In this case, we are not actually interested in the solution so we move on with the model diagnosis.\n", - "
\n", - "\n", - "Now that we have fixed the scaling issues, we can go back to the ``DiagnosticsToolbox`` and see if we still have any warnings. Note however that we need to look at the scaled model now rather than the original model, so we need to create a new instance of the ``DiagnosticsToolbox`` with the scaled model as the ``model`` argument.\n", - "\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Create a new instance of the DiagnosticsToolbox and check the scaled model for issues.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Create a new diagnostics toolbox for scaled model\n", - "\n", - "# Report numerical issues for scaled model" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 1.800E+01\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "3 Cautions\n", - "\n", - " Caution: 1 Variable with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 1 Variable with value close to zero (tol=1.0E-08)\n", - " Caution: 1 Variable with None value\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " If you still have issues converging your model consider:\n", - " prepare_svd_toolbox()\n", - " prepare_degeneracy_hunter()\n", - "\n", - "====================================================================================\n" - ] + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.5" } - ], - "source": [ - "dt_scaled = DiagnosticsToolbox(scaled_model)\n", - "dt_scaled.report_numerical_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can see that applying scaling addressed two of the cautions we had before (the variable with an extreme value and an associated large value in the model Jacobian). Whilst we were able to solve the unscaled model in this case, this is in part because it was a simple linear model. In more complex, non-linear models, scaling becomes much more important and often depends strongly on the current state of the model. That is, you can often find cases where the unscaled (or poorly scaled) model solves for a limited range of conditions but fails to solve if you move too far away for the current state. Whilst you might be able to solve the model at the current state, you should always check the solver logs and numerical cautions for advanced warning signs of scaling issues that might manifest later when you try to solve the model for a different state (e.g., during optimization).\n", - "\n", - "
\n", - "Warning:\n", - "By their nature, numerical issues depend on the current values of the variables in the model, and thus may remain hidden until someone tries to solve the model close to where the issue exists. For this reason, the full model diagnostics workflow contains steps to run the numerical checks across a wide range of variable values to try to ensure that no issues remain hidden. This is beyond the scope of this tutorial however.\n", - "
\n", - "\n", - "At this point, we have addressed all the issues that were preventing us from solving the demonstration model and so reached the end of this tutorial. For cases where we are still having trouble solving the model, we can see that the toolbox is suggesting additional methods for further debugging and these advanced features will be the focus of separate tutorials." - ] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.5" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/diagnostics/structural_singularity.ipynb b/idaes_examples/notebooks/docs/diagnostics/structural_singularity.ipynb index 6142a0e1..cb162d35 100644 --- a/idaes_examples/notebooks/docs/diagnostics/structural_singularity.ipynb +++ b/idaes_examples/notebooks/docs/diagnostics/structural_singularity.ipynb @@ -1,5 +1,32 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "56849acf", + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "code", "execution_count": null, diff --git a/idaes_examples/notebooks/docs/diagnostics/structural_singularity_doc.ipynb b/idaes_examples/notebooks/docs/diagnostics/structural_singularity_doc.ipynb index 29eb4cc5..8b16c8a8 100644 --- a/idaes_examples/notebooks/docs/diagnostics/structural_singularity_doc.ipynb +++ b/idaes_examples/notebooks/docs/diagnostics/structural_singularity_doc.ipynb @@ -1,5 +1,31 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "code", "execution_count": null, diff --git a/idaes_examples/notebooks/docs/diagnostics/structural_singularity_test.ipynb b/idaes_examples/notebooks/docs/diagnostics/structural_singularity_test.ipynb index 29eb4cc5..8e0cdda0 100644 --- a/idaes_examples/notebooks/docs/diagnostics/structural_singularity_test.ipynb +++ b/idaes_examples/notebooks/docs/diagnostics/structural_singularity_test.ipynb @@ -1,701 +1,727 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Debugging a Structural Singularity\n", - "===========================\n", - "Author: Robert Parker\\\n", - "Maintainer: Robert Parker\\\n", - "Updated: 2024-06-10\n", - "\n", - "In this tutorial, we will use the [IDAES Diagnostics Toolbox](https://idaes-pse.readthedocs.io/en/2.4.0/explanations/model_diagnostics/index.html#diagnostics-toolbox)\n", - "to diagnose and fix a structural singularity that is preventing us from solving an optimization problem." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "jp-MarkdownHeadingCollapsed": true - }, - "source": [ - "# Constructing the model\n", - "\n", - "Suppose a collaborator has given us a model to work with. They give us a square model and tell us what the degrees of freedom are. We construct an optimization problem and try to solve it. In this tutorial, we don't want to worry too much about the details that go into constructing the model. This has been provided in the `idaes_examples.mod.diagnostics.gas_solid_contactors.model` module.\n", - "\n", - "## Model details (OKAY TO SKIP)\n", - "\n", - "The model we are trying to optimize is a dynamic model of a moving bed chemical looping combustion reactor. The model has been described by [Okoli et al.][1] and [Parker and Biegler][2]. This is a gas-solid reactor with counter-current flow. The degrees of freedom are gas and solid inlet flow rates, and we are trying to minimize the deviation from a desired operating point via a least-squares objective function.\n", - "\n", - "[1]: https://www.sciencedirect.com/science/article/pii/S0032591019302803\n", - "[2]: https://www.sciencedirect.com/science/article/pii/S2405896322008825\n", - "\n", - "Again, we don't want to worry too much about the model. The `make_model` function will construct the optimization problem that we want to solve, and whenever we do something model-specific, we will explicitly make note of it." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Trying to solve the original model\n", - "\n", - "With that out of the way, let's construct the model and try to solve it!" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes_examples.mod.diagnostics.gas_solid_contactors.model import make_model\n", - "import logging\n", - "\n", - "# We'll turn off IDAES logging. This is not recommended in general, but this is an old model\n", - "# (from IDAES 1.7) that has been ported to work with the current version of IDAES. It generates\n", - "# a lot of warnings.\n", - "logging.getLogger(\"idaes\").setLevel(logging.CRITICAL)\n", - "# We'll also turn off Pyomo logging. This will suppress unit inconsistency warnings later,\n", - "# which otherwise flood our console and slow down this notebook. We have unit inconsistencies\n", - "# as, in IDAES 1.7, we didn't rigorously enforce that models use units.\n", - "logging.getLogger(\"pyomo\").setLevel(logging.CRITICAL)\n", - "\n", - "# This constructs a dynamic model with degrees of freedom and an objective function.\n", - "model = make_model()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Before trying to solve the model, let's make sure it conforms to our expectations, i.e. it (a) has degrees of freedom and (b) is well-initialized to a feasible point." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Import some useful utilities from the model_statistics module.\n", - "# Degrees of freedom and constraint residuals are always good things to check before\n", - "# trying to solve a simulation or optimization problem.\n", - "from idaes.core.util.model_statistics import degrees_of_freedom, large_residuals_set\n", - "\n", - "dof = degrees_of_freedom(model)\n", - "print(f\"Degrees of freedom: {dof}\")\n", - "has_large_residuals = bool(large_residuals_set(model, tol=1e-5))\n", - "print(f\"Has large residuals: {has_large_residuals}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In the above `make_model` function, the model has been \"solved\" to arrive at a feasible point, then degrees of freedom have been unfixed and an objective function has been added to give us an optimization problem. This looks good so far, so let's try to solve the optimization problem." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Import pyomo.environ for access to solvers\n", - "import pyomo.environ as pyo\n", - "\n", - "solver = pyo.SolverFactory(\"ipopt\")\n", - "solver.options[\"max_iter\"] = 20\n", - "solver.options[\"print_user_options\"] = \"yes\"\n", - "solver.options[\"OF_print_info_string\"] = \"yes\"\n", - "res = solver.solve(model, tee=True)\n", - "print(f\"Converged successfully: {pyo.check_optimal_termination(res)}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "IPOPT fails to solve the optimization problem... You can try increasing the iteration limit, but it is very unlikely that this model will ever solve. A telltale sign that something is wrong with our model is the persistence of regularization coefficients, that is, numbers in the `lg(rg)` column of the IPOPT log. These coefficients can have multiple causes. One is that the constraint Jacobian (partial derivative matrix) is singular, which indicates a problem with our model. We have set the `print_info_string` option in IPOPT to display \"diagnostic tags\" to help interpret these regularization coefficients. The \"L\" and \"l\" diagnostic tags, which appear repeatedly, indicate that the Jacobian is singular. For more information on IPOPT diagnostic tags, see the IPOPT [documentation](https://coin-or.github.io/Ipopt/OUTPUT.html)." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Debugging the original model\n", - "\n", - "Let's run the diagnostics toolbox on the model and see what it has to say.\n", - "\n", - "For good practice, we'll first make sure the model we're debugging is square. Remember that we're assuming we already know how to toggle degrees of freedom in our model." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Fix gas and solid flow rates at their respective inlets\n", - "model.fs.MB.gas_phase.properties[:, 0].flow_mol.fix()\n", - "model.fs.MB.solid_phase.properties[:, 1].flow_mass.fix()\n", - "# Part of our optimization problem was a set of constraints to enforce piecewise\n", - "# constant control inputs. We need to deactivate these as well.\n", - "model.piecewise_constant_constraints.deactivate()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we can run the diagnostics toolbox." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.core.util.model_diagnostics import DiagnosticsToolbox\n", - "\n", - "dt = DiagnosticsToolbox(model)\n", - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's look at the warnings we got:\n", - "- Inconsistent units\n", - "- Structural singularity\n", - "- Potential evaluation errors\n", - "\n", - "We'll ignore the inconsistent units. The property package and unit model here were extracted from IDAES 1.7, before we rigorously enforced that all models use units. The potential evaluation errors we see here may be worth looking into, but looking at the failing IPOPT log above, we don't notice any evaluation errors. (If evaluation errors occurred in IPOPT, we would see a message like \"Error in AMPL evaluation\" in the IPOPT iteration log, which we don't see here.) The structural singularity looks like the most promising avenue to debug, especially as the IPOPT log displays persistent regularization coefficients that appear to be caused by a singular Jacobian.\n", - "\n", - "Let's follow the toolbox's advice and display the under and over-constrained sets." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "dt.display_underconstrained_set()\n", - "dt.display_overconstrained_set()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Over and under-constrained subsystems\n", - "\n", - "Structural singularities are characterized by the [Dulmage-Mendelson decomposition][3], which partitions a system into minimal over and under-constrained subsystems. These subsystems contain the potentially unmatched constraints and variables, respectively. Here, \"unmatched\" effectively means \"causing a singularity\". [Pothen and Fan][4] give a good overview of the Dulmage-Mendelsohn decomposition and [Parker et al.][5] give several examples.\n", - "\n", - "[3]: https://www.cambridge.org/core/journals/canadian-journal-of-mathematics/article/coverings-of-bipartite-graphs/413735C5888AB542B92D0C4F402800B1\n", - "[4]: https://dl.acm.org/doi/10.1145/98267.98287\n", - "[5]: https://www.sciencedirect.com/science/article/pii/S0098135423002533\n", - "\n", - "The most straightforward way to fix a structural singularity is to fix variables that are in the under-constrained system and deactivate constraints in the over-constrained subsystem. However, this may not be applicable for every model. For example, we may need to add variables and constraints instead. What over and under-constrained subsystems are telling us is that something is wrong with our modeling assumptions. The particular fix that is appropriate will depend heavily on the model.\n", - "\n", - "If the above output gives us any clues, we can go ahead and start trying to fix things. However, suppose it doesn't. A good strategy is to try to break down the model into smaller, square subsystems that we think should be nonsingular. For a dynamic model like this one, a good candidate is the subsystem of variables and equations at each point in time." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# We've included a utility function to extract the subsystem of variables and equations\n", - "# at a specified point in time. If you are dealing with a process flowsheet, here you\n", - "# may want to extract each unit model individually.\n", - "from idaes_examples.mod.diagnostics.util import get_subsystem_at_time\n", - "\n", - "# TemporarySubsystemManager is used to temporarily fix some variables to make sure\n", - "# we're debugging a square subsystem.\n", - "from pyomo.util.subsystems import TemporarySubsystemManager\n", - "\n", - "# Let's start with t=0. Really, we'd probably want to do this in a loop and try all time points.\n", - "t0 = model.fs.time.first()\n", - "t_block, inputs = get_subsystem_at_time(model, model.fs.time, t0)\n", - "# We'll temporarily fix the \"inputs\" to make sure we have a square system while debugging\n", - "with TemporarySubsystemManager(to_fix=inputs):\n", - " dt = DiagnosticsToolbox(t_block)\n", - " dt.report_structural_issues()\n", - " dt.display_underconstrained_set()\n", - " dt.display_overconstrained_set()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "These over and under-constrained subsystems aren't much smaller, but now the over-constrained system decomposes into 10 small, independent blocks. These should be easier to debug.\n", - "\n", - "## Debugging the over-constrained subsystem\n", - "\n", - "To debug the over-constrained subsystem, we look for a constraint that is not calculating any of the variables in the subsystem. The \"odd constraint out\" here seems to be the mass fraction sum, `sum_component_eqn`. This must \"solve for\" one of the mass fractions, which means one of the `material_holdup_calculation` equations must \"solve for\" particle density rather than mass fraction. If we want to see what variables are contained in one of these constraints, we can always `pprint` it:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "model.fs.MB.solid_phase.properties[0, 0.9].sum_component_eqn.pprint()\n", - "model.fs.MB.solid_phase.material_holdup_calculation[0, 0.9, \"Sol\", \"Fe3O4\"].pprint()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "If one of these `material_holdup_calculation` equations is solving for particle density, then that means that `density_particle_constraint` is not actually solving for density. Maybe `density_particle_constraint` is over-determining our system?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "model.fs.MB.solid_phase.properties[0, 0.9].density_particle_constraint.pprint()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "But this looks like a very reasonable constraint. After some thought, which admittedly requires some knowledge of the process we are modeling, we decide that the right approach is to make particle porosity a variable. We have assumed that porosity is constant, but this overconstrained subsystem is telling us that this assumption is not valid.\n", - "\n", - "### How did we figure this out? (OKAY TO SKIP)\n", - "Adding a variable (including by unfixing a parameter) to an over-constraining constraint will often remove that constraint from the over-constrained subsystem. But how did we know that this was the right thing to do? If you just care about using the diagnostics toolbox to extract as much information about a singularity as possible, you can skip this section. But if you are curious how we determined that particle porosity should not be constant, read on.\n", - "\n", - "`dens_mass_skeletal` is determined purely by the composition of solid, which is made up of Fe2O3, Fe3O4, and inert Ti2O3. We can view the `density_skeletal_constraint` as follows:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "model.fs.MB.solid_phase.properties[0, 0.9].density_skeletal_constraint.pprint()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "If we assume a constant particle porosity, this gives us a particle porosity that is also uniquely determined by the solid composition by the above `density_particle_constraint`:\n", - "```\n", - "dens_mass_particle = (1 - porosity) * dens_mass_skeletal\n", - "```\n", - "But the composition of the solid is determined by the (somewhat misnamed) `material_holdup_calculation` constraints. While the name of these constraints implies they \"calculate holdups,\" material holdups at $t=0$ are fixed as initial conditions (because holdups are the differential variables with respect to time in this model). At other time points, we assume that holdups are specified by differential and discretization equations of the model. This means that the `material_holdup_calculation` constraints actually calculate the solid phase mass fractions *from* the holdups. But as we hinted at above, the 4-by-4 system of holdup calculation constraints, `sum_component_eqn` (which simply constrains the sum of mass fractions to be one), mass fractions, and `dens_mass_particle`, uniquely solve for `dens_mass_particle` *as well as* the mass fractions. But if the holdup variables can be used to solve for the mass fractions, they *also* solve for `dens_mass_skeletal`. So both sides of `density_particle_constraint` are already uniquely determined! This implies that we don't need this constraint at all, but we also know that this constraint has to hold. Something has to give. With this in mind, we actually have several options for how to resolve this overspecification:\n", - "1. Remove `density_particle_constraint`. Then we would have `dens_mass_particle` and `dens_mass_skeletal`, with no relationship between them. This would leave us with a mathematically sound model, but with densities that contradict constant particle porosity that we have assumed (which is used elsewhere in the reaction rate calculation equations).\n", - "2. Remove the constraints that calculate skeletal density from composition.\n", - "3. Relax particle porosity from a parameter to a variable.\n", - "\n", - "Options 2 and 3 are equally valid. We've chosen option 3, meaning we assume that the particle \"evolves\" with a density that is well determined from its constituent species, rather than changing density to accommodate whatever mass it accumulates via reaction without altering its volume. This exercise should remind us that all mathematical modeling is somewhat of an art. In the process of choosing the \"least bad\" model, it is fairly easy to over or under-specify something by making the wrong combination of assumptions, and the Dulmage-Mendelsohn decomposition is a great tool for detecting when this has happened.\n", - "\n", - "## Debugging the under-constrained subsystem\n", - "\n", - "The under-constrained system does not decompose into independent subsystems, making it more difficult to debug. However, by inspection, we notice that the same constraints and variables seem to be repeated at each point in the length domain. For each point in space, the \"odd variable out\" seems to be the total flow rate `flow_mass`. Using some intuition about this particular process model, we may conclude that this variable should be calculated from the solid phase velocity, which is constant. We expect an equation that looks like\n", - "```\n", - "flow_mass == velocity * area * density\n", - "```\n", - "\n", - "But this equation isn't here... so we need to add it.\n", - "\n", - "# Fixing the model\n", - "\n", - "We'll start by creating a fresh copy of the model, so we don't accidentally rely on IPOPT's point of termination." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "model2 = make_model()\n", - "# Make the model square while we try to fix the structural singularity\n", - "model2.fs.MB.gas_phase.properties[:, 0].flow_mol.fix()\n", - "model2.fs.MB.solid_phase.properties[:, 1].flow_mass.fix()\n", - "model2.piecewise_constant_constraints.deactivate()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding a new particle porosity variable" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "model2.fs.MB.particle_porosity = pyo.Var(\n", - " model2.fs.time,\n", - " model2.fs.MB.length_domain,\n", - " initialize=model2.fs.solid_properties.particle_porosity.value,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we need to replace the old particle porosity parameter with this new variable. Luckily, the old parameter is actually implemented as a fixed variable, so we can easily identify all the constraints it participates in with `IncidenceGraphInterface`:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.contrib.incidence_analysis import IncidenceGraphInterface\n", - "\n", - "igraph = IncidenceGraphInterface(model2, include_fixed=True)\n", - "porosity_param = model2.fs.solid_properties.particle_porosity\n", - "print(f\"Constraints containing {porosity_param.name}:\")\n", - "for con in igraph.get_adjacent_to(porosity_param):\n", - " print(f\" {con.name}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Particle porosity only appears in two constraints: the density constraint we saw above, and the reaction rate equation. We can replace particle porosity in these constraints using Pyomo's `replace_expressions` function:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.core.expr import replace_expressions\n", - "\n", - "for t, x in model2.fs.time * model2.fs.MB.length_domain:\n", - " substitution_map = {id(porosity_param): model2.fs.MB.particle_porosity[t, x]}\n", - " sp = model2.fs.MB.solid_phase\n", - " cons = [\n", - " sp.properties[t, x].density_particle_constraint,\n", - " sp.reactions[t, x].gen_rate_expression[\"R1\"],\n", - " ]\n", - " for con in cons:\n", - " con.set_value(\n", - " replace_expressions(\n", - " con.expr, substitution_map, descend_into_named_expressions=True\n", - " )\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We have added a new `particle_porosity` variable, and are using it in the relevant locations. Now we can move on to adding the missing constraint.\n", - "\n", - "## Adding a new density-flow rate constraint" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "@model2.fs.MB.Constraint(model2.fs.time, model2.fs.MB.length_domain)\n", - "def density_flowrate_constraint(mb, t, x):\n", - " return (\n", - " mb.velocity_superficial_solid[t]\n", - " * mb.bed_area\n", - " * mb.solid_phase.properties[t, x].dens_mass_particle\n", - " == mb.solid_phase.properties[t, x].flow_mass\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Testing the new model\n", - "\n", - "Let's see if these changes have fixed our model." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Construct a new diagnostics toolbox\n", - "dt = DiagnosticsToolbox(model2)\n", - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The structural singularity seems to be gone! Let's unfix our degrees of freedom and see if we can solve." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "model2.fs.MB.gas_phase.properties[:, 0].flow_mol.unfix()\n", - "model2.fs.MB.gas_phase.properties[0, 0].flow_mol.fix()\n", - "model2.fs.MB.solid_phase.properties[:, 1].flow_mass.unfix()\n", - "model2.fs.MB.solid_phase.properties[0, 1].flow_mass.fix()\n", - "model2.piecewise_constant_constraints.activate()\n", - "\n", - "res = solver.solve(model2, tee=True)\n", - "print(f\"Converged successfully: {pyo.check_optimal_termination(res)}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This doesn't look much better. What's going on? I thought we just fixed the issue?\n", - "\n", - "# Debugging the model, take two\n", - "\n", - "Let's check the diagnostics toolbox for numerical issues." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "model2.fs.MB.gas_phase.properties[:, 0].flow_mol.fix()\n", - "model2.fs.MB.solid_phase.properties[:, 1].flow_mass.fix()\n", - "model2.piecewise_constant_constraints.deactivate()\n", - "dt.report_numerical_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Looks like we have \"parallel constraints\", which are another form of singularity. Let's follow the toolbox's advice to see what they are." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "dt.display_near_parallel_constraints()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "`density_flowrate_constraint` is the constraint that we added. What is `solid_super_vel`?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "model2.fs.MB.solid_super_vel[0].pprint()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This is the same as the constraint we just added! Looks like that constraint already existed at the solid inlet. We can easily deactivate the new constraints at this point in the length domain:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "model2.fs.MB.density_flowrate_constraint[:, 1.0].deactivate();" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "But now we have removed constraints from a square model, and expect to have degrees of freedom. Let's see what the diagnostics toolbox has to say." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "dt = DiagnosticsToolbox(model2)\n", - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "But this doesn't help us very much. We have some extraneous degrees of freedom, but with 8881 variables in the under-constrained subsystem, it will be difficult to tell what they are. After some thought (and model-specific intuition), we land on the conclusion that maybe we need to fix particle porosity at the solid inlet. Here, total flow rate is specified, and the `solid_super_vel` equation is using it to compute velocity. So we need `dens_mass_particle` to be known, which means we need `particle_porosity` to be fixed." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "model2.fs.MB.particle_porosity[:, 1.0].fix();" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's run the diagnostics toolbox as a sanity check." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "dt = DiagnosticsToolbox(model2)\n", - "dt.report_structural_issues()\n", - "dt.report_numerical_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Looks good! Now we can release our degrees of freedom and try to solve again." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "model2.fs.MB.gas_phase.properties[:, 0].flow_mol.unfix()\n", - "model2.fs.MB.gas_phase.properties[0, 0].flow_mol.fix()\n", - "model2.fs.MB.solid_phase.properties[:, 1].flow_mass.unfix()\n", - "model2.fs.MB.solid_phase.properties[0, 1].flow_mass.fix()\n", - "model2.piecewise_constant_constraints.activate()\n", - "\n", - "res = solver.solve(model2, tee=True)\n", - "print(f\"Converged successfully: {pyo.check_optimal_termination(res)}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "It worked! For the simple optimization problem we have set up, this solve looks a lot more like what we expect.\n", - "\n", - "# Takeaways from this tutorial\n", - "What have we learned?\n", - "1. IPOPT using non-zero regularization coefficients hints at a singular Jacobian (especially when \"L\"/\"l\" diagnostic tags are present).\n", - "2. When this happens, start by calling `report_structural_issues` to check for a structural singularity. If this looks good, call `report_numerical_issues` to check for a numerical singularity.\n", - "3. When debugging a structural singularity, decomposing a problem into subsystems that each should be nonsingular (e.g. unit models or points in time) is very useful.\n", - "4. The solution to a structural singularity is often to relax a fixed parameter, add a constraint that was forgotten, remove a constraint that was redundant, or fix an extraneous degree of freedom.\n", - "5. Model-specific intuition is usually necessary to diagnose and fix modeling issues. (If you're an algorithm developer, learn about the models you're using! If you don't understand your models, you don't understand your algorithms!)\n", - "6. A modeling issue doesn't necessarily have a unique solution. This is especially true when the issue involves invalid assumptions.\n", - "7. Debugging is an iterative process — fixing one issue can introduce another." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# References\n", - "\n", - "[[1]] Okoli et al., \"A framework for the optimization of chemical looping combustion processes\". *Powder Tech*, 2020.\n", - "\n", - "[[2]] Parker and Biegler, \"Dynamic modeling and nonlinear model predictive control of a moving bed chemical looping combustion reactor\". *IFAC PapersOnline*, 2022.\n", - "\n", - "[[3]] Dulmage and Mendelsohn, \"Coverings of bipartite graphs\". *Can J. Math.*, 1958.\n", - "\n", - "[[4]] Pothen and Fan, \"Computing the block triangular form of a sparse matrix\". *ACM Trans. Math. Softw.*, 1990.\n", - "\n", - "[[5]] Parker et al., \"Applications of the Dulmage-Mendelsohn decomposition for debugging nonlinear optimization problems\". *Comp. Chem. Eng.*, 2023.\n", - "\n", - "[1]: https://www.sciencedirect.com/science/article/pii/S0032591019302803\n", - "[2]: https://www.sciencedirect.com/science/article/pii/S2405896322008825\n", - "[3]: https://www.cambridge.org/core/journals/canadian-journal-of-mathematics/article/coverings-of-bipartite-graphs/413735C5888AB542B92D0C4F402800B1\n", - "[4]: https://dl.acm.org/doi/10.1145/98267.98287\n", - "[5]: https://www.sciencedirect.com/science/article/pii/S0098135423002533\n" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.3" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Debugging a Structural Singularity\n", + "===========================\n", + "Author: Robert Parker\\\n", + "Maintainer: Robert Parker\\\n", + "Updated: 2024-06-10\n", + "\n", + "In this tutorial, we will use the [IDAES Diagnostics Toolbox](https://idaes-pse.readthedocs.io/en/2.4.0/explanations/model_diagnostics/index.html#diagnostics-toolbox)\n", + "to diagnose and fix a structural singularity that is preventing us from solving an optimization problem." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "# Constructing the model\n", + "\n", + "Suppose a collaborator has given us a model to work with. They give us a square model and tell us what the degrees of freedom are. We construct an optimization problem and try to solve it. In this tutorial, we don't want to worry too much about the details that go into constructing the model. This has been provided in the `idaes_examples.mod.diagnostics.gas_solid_contactors.model` module.\n", + "\n", + "## Model details (OKAY TO SKIP)\n", + "\n", + "The model we are trying to optimize is a dynamic model of a moving bed chemical looping combustion reactor. The model has been described by [Okoli et al.][1] and [Parker and Biegler][2]. This is a gas-solid reactor with counter-current flow. The degrees of freedom are gas and solid inlet flow rates, and we are trying to minimize the deviation from a desired operating point via a least-squares objective function.\n", + "\n", + "[1]: https://www.sciencedirect.com/science/article/pii/S0032591019302803\n", + "[2]: https://www.sciencedirect.com/science/article/pii/S2405896322008825\n", + "\n", + "Again, we don't want to worry too much about the model. The `make_model` function will construct the optimization problem that we want to solve, and whenever we do something model-specific, we will explicitly make note of it." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Trying to solve the original model\n", + "\n", + "With that out of the way, let's construct the model and try to solve it!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes_examples.mod.diagnostics.gas_solid_contactors.model import make_model\n", + "import logging\n", + "\n", + "# We'll turn off IDAES logging. This is not recommended in general, but this is an old model\n", + "# (from IDAES 1.7) that has been ported to work with the current version of IDAES. It generates\n", + "# a lot of warnings.\n", + "logging.getLogger(\"idaes\").setLevel(logging.CRITICAL)\n", + "# We'll also turn off Pyomo logging. This will suppress unit inconsistency warnings later,\n", + "# which otherwise flood our console and slow down this notebook. We have unit inconsistencies\n", + "# as, in IDAES 1.7, we didn't rigorously enforce that models use units.\n", + "logging.getLogger(\"pyomo\").setLevel(logging.CRITICAL)\n", + "\n", + "# This constructs a dynamic model with degrees of freedom and an objective function.\n", + "model = make_model()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Before trying to solve the model, let's make sure it conforms to our expectations, i.e. it (a) has degrees of freedom and (b) is well-initialized to a feasible point." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Import some useful utilities from the model_statistics module.\n", + "# Degrees of freedom and constraint residuals are always good things to check before\n", + "# trying to solve a simulation or optimization problem.\n", + "from idaes.core.util.model_statistics import degrees_of_freedom, large_residuals_set\n", + "\n", + "dof = degrees_of_freedom(model)\n", + "print(f\"Degrees of freedom: {dof}\")\n", + "has_large_residuals = bool(large_residuals_set(model, tol=1e-5))\n", + "print(f\"Has large residuals: {has_large_residuals}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the above `make_model` function, the model has been \"solved\" to arrive at a feasible point, then degrees of freedom have been unfixed and an objective function has been added to give us an optimization problem. This looks good so far, so let's try to solve the optimization problem." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Import pyomo.environ for access to solvers\n", + "import pyomo.environ as pyo\n", + "\n", + "solver = pyo.SolverFactory(\"ipopt\")\n", + "solver.options[\"max_iter\"] = 20\n", + "solver.options[\"print_user_options\"] = \"yes\"\n", + "solver.options[\"OF_print_info_string\"] = \"yes\"\n", + "res = solver.solve(model, tee=True)\n", + "print(f\"Converged successfully: {pyo.check_optimal_termination(res)}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "IPOPT fails to solve the optimization problem... You can try increasing the iteration limit, but it is very unlikely that this model will ever solve. A telltale sign that something is wrong with our model is the persistence of regularization coefficients, that is, numbers in the `lg(rg)` column of the IPOPT log. These coefficients can have multiple causes. One is that the constraint Jacobian (partial derivative matrix) is singular, which indicates a problem with our model. We have set the `print_info_string` option in IPOPT to display \"diagnostic tags\" to help interpret these regularization coefficients. The \"L\" and \"l\" diagnostic tags, which appear repeatedly, indicate that the Jacobian is singular. For more information on IPOPT diagnostic tags, see the IPOPT [documentation](https://coin-or.github.io/Ipopt/OUTPUT.html)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Debugging the original model\n", + "\n", + "Let's run the diagnostics toolbox on the model and see what it has to say.\n", + "\n", + "For good practice, we'll first make sure the model we're debugging is square. Remember that we're assuming we already know how to toggle degrees of freedom in our model." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Fix gas and solid flow rates at their respective inlets\n", + "model.fs.MB.gas_phase.properties[:, 0].flow_mol.fix()\n", + "model.fs.MB.solid_phase.properties[:, 1].flow_mass.fix()\n", + "# Part of our optimization problem was a set of constraints to enforce piecewise\n", + "# constant control inputs. We need to deactivate these as well.\n", + "model.piecewise_constant_constraints.deactivate()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can run the diagnostics toolbox." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core.util.model_diagnostics import DiagnosticsToolbox\n", + "\n", + "dt = DiagnosticsToolbox(model)\n", + "dt.report_structural_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's look at the warnings we got:\n", + "- Inconsistent units\n", + "- Structural singularity\n", + "- Potential evaluation errors\n", + "\n", + "We'll ignore the inconsistent units. The property package and unit model here were extracted from IDAES 1.7, before we rigorously enforced that all models use units. The potential evaluation errors we see here may be worth looking into, but looking at the failing IPOPT log above, we don't notice any evaluation errors. (If evaluation errors occurred in IPOPT, we would see a message like \"Error in AMPL evaluation\" in the IPOPT iteration log, which we don't see here.) The structural singularity looks like the most promising avenue to debug, especially as the IPOPT log displays persistent regularization coefficients that appear to be caused by a singular Jacobian.\n", + "\n", + "Let's follow the toolbox's advice and display the under and over-constrained sets." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "dt.display_underconstrained_set()\n", + "dt.display_overconstrained_set()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Over and under-constrained subsystems\n", + "\n", + "Structural singularities are characterized by the [Dulmage-Mendelson decomposition][3], which partitions a system into minimal over and under-constrained subsystems. These subsystems contain the potentially unmatched constraints and variables, respectively. Here, \"unmatched\" effectively means \"causing a singularity\". [Pothen and Fan][4] give a good overview of the Dulmage-Mendelsohn decomposition and [Parker et al.][5] give several examples.\n", + "\n", + "[3]: https://www.cambridge.org/core/journals/canadian-journal-of-mathematics/article/coverings-of-bipartite-graphs/413735C5888AB542B92D0C4F402800B1\n", + "[4]: https://dl.acm.org/doi/10.1145/98267.98287\n", + "[5]: https://www.sciencedirect.com/science/article/pii/S0098135423002533\n", + "\n", + "The most straightforward way to fix a structural singularity is to fix variables that are in the under-constrained system and deactivate constraints in the over-constrained subsystem. However, this may not be applicable for every model. For example, we may need to add variables and constraints instead. What over and under-constrained subsystems are telling us is that something is wrong with our modeling assumptions. The particular fix that is appropriate will depend heavily on the model.\n", + "\n", + "If the above output gives us any clues, we can go ahead and start trying to fix things. However, suppose it doesn't. A good strategy is to try to break down the model into smaller, square subsystems that we think should be nonsingular. For a dynamic model like this one, a good candidate is the subsystem of variables and equations at each point in time." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# We've included a utility function to extract the subsystem of variables and equations\n", + "# at a specified point in time. If you are dealing with a process flowsheet, here you\n", + "# may want to extract each unit model individually.\n", + "from idaes_examples.mod.diagnostics.util import get_subsystem_at_time\n", + "\n", + "# TemporarySubsystemManager is used to temporarily fix some variables to make sure\n", + "# we're debugging a square subsystem.\n", + "from pyomo.util.subsystems import TemporarySubsystemManager\n", + "\n", + "# Let's start with t=0. Really, we'd probably want to do this in a loop and try all time points.\n", + "t0 = model.fs.time.first()\n", + "t_block, inputs = get_subsystem_at_time(model, model.fs.time, t0)\n", + "# We'll temporarily fix the \"inputs\" to make sure we have a square system while debugging\n", + "with TemporarySubsystemManager(to_fix=inputs):\n", + " dt = DiagnosticsToolbox(t_block)\n", + " dt.report_structural_issues()\n", + " dt.display_underconstrained_set()\n", + " dt.display_overconstrained_set()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "These over and under-constrained subsystems aren't much smaller, but now the over-constrained system decomposes into 10 small, independent blocks. These should be easier to debug.\n", + "\n", + "## Debugging the over-constrained subsystem\n", + "\n", + "To debug the over-constrained subsystem, we look for a constraint that is not calculating any of the variables in the subsystem. The \"odd constraint out\" here seems to be the mass fraction sum, `sum_component_eqn`. This must \"solve for\" one of the mass fractions, which means one of the `material_holdup_calculation` equations must \"solve for\" particle density rather than mass fraction. If we want to see what variables are contained in one of these constraints, we can always `pprint` it:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model.fs.MB.solid_phase.properties[0, 0.9].sum_component_eqn.pprint()\n", + "model.fs.MB.solid_phase.material_holdup_calculation[0, 0.9, \"Sol\", \"Fe3O4\"].pprint()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If one of these `material_holdup_calculation` equations is solving for particle density, then that means that `density_particle_constraint` is not actually solving for density. Maybe `density_particle_constraint` is over-determining our system?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model.fs.MB.solid_phase.properties[0, 0.9].density_particle_constraint.pprint()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "But this looks like a very reasonable constraint. After some thought, which admittedly requires some knowledge of the process we are modeling, we decide that the right approach is to make particle porosity a variable. We have assumed that porosity is constant, but this overconstrained subsystem is telling us that this assumption is not valid.\n", + "\n", + "### How did we figure this out? (OKAY TO SKIP)\n", + "Adding a variable (including by unfixing a parameter) to an over-constraining constraint will often remove that constraint from the over-constrained subsystem. But how did we know that this was the right thing to do? If you just care about using the diagnostics toolbox to extract as much information about a singularity as possible, you can skip this section. But if you are curious how we determined that particle porosity should not be constant, read on.\n", + "\n", + "`dens_mass_skeletal` is determined purely by the composition of solid, which is made up of Fe2O3, Fe3O4, and inert Ti2O3. We can view the `density_skeletal_constraint` as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model.fs.MB.solid_phase.properties[0, 0.9].density_skeletal_constraint.pprint()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If we assume a constant particle porosity, this gives us a particle porosity that is also uniquely determined by the solid composition by the above `density_particle_constraint`:\n", + "```\n", + "dens_mass_particle = (1 - porosity) * dens_mass_skeletal\n", + "```\n", + "But the composition of the solid is determined by the (somewhat misnamed) `material_holdup_calculation` constraints. While the name of these constraints implies they \"calculate holdups,\" material holdups at $t=0$ are fixed as initial conditions (because holdups are the differential variables with respect to time in this model). At other time points, we assume that holdups are specified by differential and discretization equations of the model. This means that the `material_holdup_calculation` constraints actually calculate the solid phase mass fractions *from* the holdups. But as we hinted at above, the 4-by-4 system of holdup calculation constraints, `sum_component_eqn` (which simply constrains the sum of mass fractions to be one), mass fractions, and `dens_mass_particle`, uniquely solve for `dens_mass_particle` *as well as* the mass fractions. But if the holdup variables can be used to solve for the mass fractions, they *also* solve for `dens_mass_skeletal`. So both sides of `density_particle_constraint` are already uniquely determined! This implies that we don't need this constraint at all, but we also know that this constraint has to hold. Something has to give. With this in mind, we actually have several options for how to resolve this overspecification:\n", + "1. Remove `density_particle_constraint`. Then we would have `dens_mass_particle` and `dens_mass_skeletal`, with no relationship between them. This would leave us with a mathematically sound model, but with densities that contradict constant particle porosity that we have assumed (which is used elsewhere in the reaction rate calculation equations).\n", + "2. Remove the constraints that calculate skeletal density from composition.\n", + "3. Relax particle porosity from a parameter to a variable.\n", + "\n", + "Options 2 and 3 are equally valid. We've chosen option 3, meaning we assume that the particle \"evolves\" with a density that is well determined from its constituent species, rather than changing density to accommodate whatever mass it accumulates via reaction without altering its volume. This exercise should remind us that all mathematical modeling is somewhat of an art. In the process of choosing the \"least bad\" model, it is fairly easy to over or under-specify something by making the wrong combination of assumptions, and the Dulmage-Mendelsohn decomposition is a great tool for detecting when this has happened.\n", + "\n", + "## Debugging the under-constrained subsystem\n", + "\n", + "The under-constrained system does not decompose into independent subsystems, making it more difficult to debug. However, by inspection, we notice that the same constraints and variables seem to be repeated at each point in the length domain. For each point in space, the \"odd variable out\" seems to be the total flow rate `flow_mass`. Using some intuition about this particular process model, we may conclude that this variable should be calculated from the solid phase velocity, which is constant. We expect an equation that looks like\n", + "```\n", + "flow_mass == velocity * area * density\n", + "```\n", + "\n", + "But this equation isn't here... so we need to add it.\n", + "\n", + "# Fixing the model\n", + "\n", + "We'll start by creating a fresh copy of the model, so we don't accidentally rely on IPOPT's point of termination." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model2 = make_model()\n", + "# Make the model square while we try to fix the structural singularity\n", + "model2.fs.MB.gas_phase.properties[:, 0].flow_mol.fix()\n", + "model2.fs.MB.solid_phase.properties[:, 1].flow_mass.fix()\n", + "model2.piecewise_constant_constraints.deactivate()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding a new particle porosity variable" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model2.fs.MB.particle_porosity = pyo.Var(\n", + " model2.fs.time,\n", + " model2.fs.MB.length_domain,\n", + " initialize=model2.fs.solid_properties.particle_porosity.value,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we need to replace the old particle porosity parameter with this new variable. Luckily, the old parameter is actually implemented as a fixed variable, so we can easily identify all the constraints it participates in with `IncidenceGraphInterface`:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.contrib.incidence_analysis import IncidenceGraphInterface\n", + "\n", + "igraph = IncidenceGraphInterface(model2, include_fixed=True)\n", + "porosity_param = model2.fs.solid_properties.particle_porosity\n", + "print(f\"Constraints containing {porosity_param.name}:\")\n", + "for con in igraph.get_adjacent_to(porosity_param):\n", + " print(f\" {con.name}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Particle porosity only appears in two constraints: the density constraint we saw above, and the reaction rate equation. We can replace particle porosity in these constraints using Pyomo's `replace_expressions` function:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.core.expr import replace_expressions\n", + "\n", + "for t, x in model2.fs.time * model2.fs.MB.length_domain:\n", + " substitution_map = {id(porosity_param): model2.fs.MB.particle_porosity[t, x]}\n", + " sp = model2.fs.MB.solid_phase\n", + " cons = [\n", + " sp.properties[t, x].density_particle_constraint,\n", + " sp.reactions[t, x].gen_rate_expression[\"R1\"],\n", + " ]\n", + " for con in cons:\n", + " con.set_value(\n", + " replace_expressions(\n", + " con.expr, substitution_map, descend_into_named_expressions=True\n", + " )\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We have added a new `particle_porosity` variable, and are using it in the relevant locations. Now we can move on to adding the missing constraint.\n", + "\n", + "## Adding a new density-flow rate constraint" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "@model2.fs.MB.Constraint(model2.fs.time, model2.fs.MB.length_domain)\n", + "def density_flowrate_constraint(mb, t, x):\n", + " return (\n", + " mb.velocity_superficial_solid[t]\n", + " * mb.bed_area\n", + " * mb.solid_phase.properties[t, x].dens_mass_particle\n", + " == mb.solid_phase.properties[t, x].flow_mass\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Testing the new model\n", + "\n", + "Let's see if these changes have fixed our model." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Construct a new diagnostics toolbox\n", + "dt = DiagnosticsToolbox(model2)\n", + "dt.report_structural_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The structural singularity seems to be gone! Let's unfix our degrees of freedom and see if we can solve." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model2.fs.MB.gas_phase.properties[:, 0].flow_mol.unfix()\n", + "model2.fs.MB.gas_phase.properties[0, 0].flow_mol.fix()\n", + "model2.fs.MB.solid_phase.properties[:, 1].flow_mass.unfix()\n", + "model2.fs.MB.solid_phase.properties[0, 1].flow_mass.fix()\n", + "model2.piecewise_constant_constraints.activate()\n", + "\n", + "res = solver.solve(model2, tee=True)\n", + "print(f\"Converged successfully: {pyo.check_optimal_termination(res)}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This doesn't look much better. What's going on? I thought we just fixed the issue?\n", + "\n", + "# Debugging the model, take two\n", + "\n", + "Let's check the diagnostics toolbox for numerical issues." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model2.fs.MB.gas_phase.properties[:, 0].flow_mol.fix()\n", + "model2.fs.MB.solid_phase.properties[:, 1].flow_mass.fix()\n", + "model2.piecewise_constant_constraints.deactivate()\n", + "dt.report_numerical_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Looks like we have \"parallel constraints\", which are another form of singularity. Let's follow the toolbox's advice to see what they are." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "dt.display_near_parallel_constraints()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "`density_flowrate_constraint` is the constraint that we added. What is `solid_super_vel`?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model2.fs.MB.solid_super_vel[0].pprint()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is the same as the constraint we just added! Looks like that constraint already existed at the solid inlet. We can easily deactivate the new constraints at this point in the length domain:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model2.fs.MB.density_flowrate_constraint[:, 1.0].deactivate();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "But now we have removed constraints from a square model, and expect to have degrees of freedom. Let's see what the diagnostics toolbox has to say." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "dt = DiagnosticsToolbox(model2)\n", + "dt.report_structural_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "But this doesn't help us very much. We have some extraneous degrees of freedom, but with 8881 variables in the under-constrained subsystem, it will be difficult to tell what they are. After some thought (and model-specific intuition), we land on the conclusion that maybe we need to fix particle porosity at the solid inlet. Here, total flow rate is specified, and the `solid_super_vel` equation is using it to compute velocity. So we need `dens_mass_particle` to be known, which means we need `particle_porosity` to be fixed." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model2.fs.MB.particle_porosity[:, 1.0].fix();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's run the diagnostics toolbox as a sanity check." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "dt = DiagnosticsToolbox(model2)\n", + "dt.report_structural_issues()\n", + "dt.report_numerical_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Looks good! Now we can release our degrees of freedom and try to solve again." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model2.fs.MB.gas_phase.properties[:, 0].flow_mol.unfix()\n", + "model2.fs.MB.gas_phase.properties[0, 0].flow_mol.fix()\n", + "model2.fs.MB.solid_phase.properties[:, 1].flow_mass.unfix()\n", + "model2.fs.MB.solid_phase.properties[0, 1].flow_mass.fix()\n", + "model2.piecewise_constant_constraints.activate()\n", + "\n", + "res = solver.solve(model2, tee=True)\n", + "print(f\"Converged successfully: {pyo.check_optimal_termination(res)}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It worked! For the simple optimization problem we have set up, this solve looks a lot more like what we expect.\n", + "\n", + "# Takeaways from this tutorial\n", + "What have we learned?\n", + "1. IPOPT using non-zero regularization coefficients hints at a singular Jacobian (especially when \"L\"/\"l\" diagnostic tags are present).\n", + "2. When this happens, start by calling `report_structural_issues` to check for a structural singularity. If this looks good, call `report_numerical_issues` to check for a numerical singularity.\n", + "3. When debugging a structural singularity, decomposing a problem into subsystems that each should be nonsingular (e.g. unit models or points in time) is very useful.\n", + "4. The solution to a structural singularity is often to relax a fixed parameter, add a constraint that was forgotten, remove a constraint that was redundant, or fix an extraneous degree of freedom.\n", + "5. Model-specific intuition is usually necessary to diagnose and fix modeling issues. (If you're an algorithm developer, learn about the models you're using! If you don't understand your models, you don't understand your algorithms!)\n", + "6. A modeling issue doesn't necessarily have a unique solution. This is especially true when the issue involves invalid assumptions.\n", + "7. Debugging is an iterative process — fixing one issue can introduce another." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# References\n", + "\n", + "[[1]] Okoli et al., \"A framework for the optimization of chemical looping combustion processes\". *Powder Tech*, 2020.\n", + "\n", + "[[2]] Parker and Biegler, \"Dynamic modeling and nonlinear model predictive control of a moving bed chemical looping combustion reactor\". *IFAC PapersOnline*, 2022.\n", + "\n", + "[[3]] Dulmage and Mendelsohn, \"Coverings of bipartite graphs\". *Can J. Math.*, 1958.\n", + "\n", + "[[4]] Pothen and Fan, \"Computing the block triangular form of a sparse matrix\". *ACM Trans. Math. Softw.*, 1990.\n", + "\n", + "[[5]] Parker et al., \"Applications of the Dulmage-Mendelsohn decomposition for debugging nonlinear optimization problems\". *Comp. Chem. Eng.*, 2023.\n", + "\n", + "[1]: https://www.sciencedirect.com/science/article/pii/S0032591019302803\n", + "[2]: https://www.sciencedirect.com/science/article/pii/S2405896322008825\n", + "[3]: https://www.cambridge.org/core/journals/canadian-journal-of-mathematics/article/coverings-of-bipartite-graphs/413735C5888AB542B92D0C4F402800B1\n", + "[4]: https://dl.acm.org/doi/10.1145/98267.98287\n", + "[5]: https://www.sciencedirect.com/science/article/pii/S0098135423002533\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.3" + } + }, + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/diagnostics/structural_singularity_usr.ipynb b/idaes_examples/notebooks/docs/diagnostics/structural_singularity_usr.ipynb index 29eb4cc5..8e0cdda0 100644 --- a/idaes_examples/notebooks/docs/diagnostics/structural_singularity_usr.ipynb +++ b/idaes_examples/notebooks/docs/diagnostics/structural_singularity_usr.ipynb @@ -1,701 +1,727 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Debugging a Structural Singularity\n", - "===========================\n", - "Author: Robert Parker\\\n", - "Maintainer: Robert Parker\\\n", - "Updated: 2024-06-10\n", - "\n", - "In this tutorial, we will use the [IDAES Diagnostics Toolbox](https://idaes-pse.readthedocs.io/en/2.4.0/explanations/model_diagnostics/index.html#diagnostics-toolbox)\n", - "to diagnose and fix a structural singularity that is preventing us from solving an optimization problem." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "jp-MarkdownHeadingCollapsed": true - }, - "source": [ - "# Constructing the model\n", - "\n", - "Suppose a collaborator has given us a model to work with. They give us a square model and tell us what the degrees of freedom are. We construct an optimization problem and try to solve it. In this tutorial, we don't want to worry too much about the details that go into constructing the model. This has been provided in the `idaes_examples.mod.diagnostics.gas_solid_contactors.model` module.\n", - "\n", - "## Model details (OKAY TO SKIP)\n", - "\n", - "The model we are trying to optimize is a dynamic model of a moving bed chemical looping combustion reactor. The model has been described by [Okoli et al.][1] and [Parker and Biegler][2]. This is a gas-solid reactor with counter-current flow. The degrees of freedom are gas and solid inlet flow rates, and we are trying to minimize the deviation from a desired operating point via a least-squares objective function.\n", - "\n", - "[1]: https://www.sciencedirect.com/science/article/pii/S0032591019302803\n", - "[2]: https://www.sciencedirect.com/science/article/pii/S2405896322008825\n", - "\n", - "Again, we don't want to worry too much about the model. The `make_model` function will construct the optimization problem that we want to solve, and whenever we do something model-specific, we will explicitly make note of it." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Trying to solve the original model\n", - "\n", - "With that out of the way, let's construct the model and try to solve it!" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes_examples.mod.diagnostics.gas_solid_contactors.model import make_model\n", - "import logging\n", - "\n", - "# We'll turn off IDAES logging. This is not recommended in general, but this is an old model\n", - "# (from IDAES 1.7) that has been ported to work with the current version of IDAES. It generates\n", - "# a lot of warnings.\n", - "logging.getLogger(\"idaes\").setLevel(logging.CRITICAL)\n", - "# We'll also turn off Pyomo logging. This will suppress unit inconsistency warnings later,\n", - "# which otherwise flood our console and slow down this notebook. We have unit inconsistencies\n", - "# as, in IDAES 1.7, we didn't rigorously enforce that models use units.\n", - "logging.getLogger(\"pyomo\").setLevel(logging.CRITICAL)\n", - "\n", - "# This constructs a dynamic model with degrees of freedom and an objective function.\n", - "model = make_model()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Before trying to solve the model, let's make sure it conforms to our expectations, i.e. it (a) has degrees of freedom and (b) is well-initialized to a feasible point." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Import some useful utilities from the model_statistics module.\n", - "# Degrees of freedom and constraint residuals are always good things to check before\n", - "# trying to solve a simulation or optimization problem.\n", - "from idaes.core.util.model_statistics import degrees_of_freedom, large_residuals_set\n", - "\n", - "dof = degrees_of_freedom(model)\n", - "print(f\"Degrees of freedom: {dof}\")\n", - "has_large_residuals = bool(large_residuals_set(model, tol=1e-5))\n", - "print(f\"Has large residuals: {has_large_residuals}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In the above `make_model` function, the model has been \"solved\" to arrive at a feasible point, then degrees of freedom have been unfixed and an objective function has been added to give us an optimization problem. This looks good so far, so let's try to solve the optimization problem." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Import pyomo.environ for access to solvers\n", - "import pyomo.environ as pyo\n", - "\n", - "solver = pyo.SolverFactory(\"ipopt\")\n", - "solver.options[\"max_iter\"] = 20\n", - "solver.options[\"print_user_options\"] = \"yes\"\n", - "solver.options[\"OF_print_info_string\"] = \"yes\"\n", - "res = solver.solve(model, tee=True)\n", - "print(f\"Converged successfully: {pyo.check_optimal_termination(res)}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "IPOPT fails to solve the optimization problem... You can try increasing the iteration limit, but it is very unlikely that this model will ever solve. A telltale sign that something is wrong with our model is the persistence of regularization coefficients, that is, numbers in the `lg(rg)` column of the IPOPT log. These coefficients can have multiple causes. One is that the constraint Jacobian (partial derivative matrix) is singular, which indicates a problem with our model. We have set the `print_info_string` option in IPOPT to display \"diagnostic tags\" to help interpret these regularization coefficients. The \"L\" and \"l\" diagnostic tags, which appear repeatedly, indicate that the Jacobian is singular. For more information on IPOPT diagnostic tags, see the IPOPT [documentation](https://coin-or.github.io/Ipopt/OUTPUT.html)." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Debugging the original model\n", - "\n", - "Let's run the diagnostics toolbox on the model and see what it has to say.\n", - "\n", - "For good practice, we'll first make sure the model we're debugging is square. Remember that we're assuming we already know how to toggle degrees of freedom in our model." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Fix gas and solid flow rates at their respective inlets\n", - "model.fs.MB.gas_phase.properties[:, 0].flow_mol.fix()\n", - "model.fs.MB.solid_phase.properties[:, 1].flow_mass.fix()\n", - "# Part of our optimization problem was a set of constraints to enforce piecewise\n", - "# constant control inputs. We need to deactivate these as well.\n", - "model.piecewise_constant_constraints.deactivate()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we can run the diagnostics toolbox." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.core.util.model_diagnostics import DiagnosticsToolbox\n", - "\n", - "dt = DiagnosticsToolbox(model)\n", - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's look at the warnings we got:\n", - "- Inconsistent units\n", - "- Structural singularity\n", - "- Potential evaluation errors\n", - "\n", - "We'll ignore the inconsistent units. The property package and unit model here were extracted from IDAES 1.7, before we rigorously enforced that all models use units. The potential evaluation errors we see here may be worth looking into, but looking at the failing IPOPT log above, we don't notice any evaluation errors. (If evaluation errors occurred in IPOPT, we would see a message like \"Error in AMPL evaluation\" in the IPOPT iteration log, which we don't see here.) The structural singularity looks like the most promising avenue to debug, especially as the IPOPT log displays persistent regularization coefficients that appear to be caused by a singular Jacobian.\n", - "\n", - "Let's follow the toolbox's advice and display the under and over-constrained sets." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "dt.display_underconstrained_set()\n", - "dt.display_overconstrained_set()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Over and under-constrained subsystems\n", - "\n", - "Structural singularities are characterized by the [Dulmage-Mendelson decomposition][3], which partitions a system into minimal over and under-constrained subsystems. These subsystems contain the potentially unmatched constraints and variables, respectively. Here, \"unmatched\" effectively means \"causing a singularity\". [Pothen and Fan][4] give a good overview of the Dulmage-Mendelsohn decomposition and [Parker et al.][5] give several examples.\n", - "\n", - "[3]: https://www.cambridge.org/core/journals/canadian-journal-of-mathematics/article/coverings-of-bipartite-graphs/413735C5888AB542B92D0C4F402800B1\n", - "[4]: https://dl.acm.org/doi/10.1145/98267.98287\n", - "[5]: https://www.sciencedirect.com/science/article/pii/S0098135423002533\n", - "\n", - "The most straightforward way to fix a structural singularity is to fix variables that are in the under-constrained system and deactivate constraints in the over-constrained subsystem. However, this may not be applicable for every model. For example, we may need to add variables and constraints instead. What over and under-constrained subsystems are telling us is that something is wrong with our modeling assumptions. The particular fix that is appropriate will depend heavily on the model.\n", - "\n", - "If the above output gives us any clues, we can go ahead and start trying to fix things. However, suppose it doesn't. A good strategy is to try to break down the model into smaller, square subsystems that we think should be nonsingular. For a dynamic model like this one, a good candidate is the subsystem of variables and equations at each point in time." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# We've included a utility function to extract the subsystem of variables and equations\n", - "# at a specified point in time. If you are dealing with a process flowsheet, here you\n", - "# may want to extract each unit model individually.\n", - "from idaes_examples.mod.diagnostics.util import get_subsystem_at_time\n", - "\n", - "# TemporarySubsystemManager is used to temporarily fix some variables to make sure\n", - "# we're debugging a square subsystem.\n", - "from pyomo.util.subsystems import TemporarySubsystemManager\n", - "\n", - "# Let's start with t=0. Really, we'd probably want to do this in a loop and try all time points.\n", - "t0 = model.fs.time.first()\n", - "t_block, inputs = get_subsystem_at_time(model, model.fs.time, t0)\n", - "# We'll temporarily fix the \"inputs\" to make sure we have a square system while debugging\n", - "with TemporarySubsystemManager(to_fix=inputs):\n", - " dt = DiagnosticsToolbox(t_block)\n", - " dt.report_structural_issues()\n", - " dt.display_underconstrained_set()\n", - " dt.display_overconstrained_set()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "These over and under-constrained subsystems aren't much smaller, but now the over-constrained system decomposes into 10 small, independent blocks. These should be easier to debug.\n", - "\n", - "## Debugging the over-constrained subsystem\n", - "\n", - "To debug the over-constrained subsystem, we look for a constraint that is not calculating any of the variables in the subsystem. The \"odd constraint out\" here seems to be the mass fraction sum, `sum_component_eqn`. This must \"solve for\" one of the mass fractions, which means one of the `material_holdup_calculation` equations must \"solve for\" particle density rather than mass fraction. If we want to see what variables are contained in one of these constraints, we can always `pprint` it:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "model.fs.MB.solid_phase.properties[0, 0.9].sum_component_eqn.pprint()\n", - "model.fs.MB.solid_phase.material_holdup_calculation[0, 0.9, \"Sol\", \"Fe3O4\"].pprint()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "If one of these `material_holdup_calculation` equations is solving for particle density, then that means that `density_particle_constraint` is not actually solving for density. Maybe `density_particle_constraint` is over-determining our system?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "model.fs.MB.solid_phase.properties[0, 0.9].density_particle_constraint.pprint()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "But this looks like a very reasonable constraint. After some thought, which admittedly requires some knowledge of the process we are modeling, we decide that the right approach is to make particle porosity a variable. We have assumed that porosity is constant, but this overconstrained subsystem is telling us that this assumption is not valid.\n", - "\n", - "### How did we figure this out? (OKAY TO SKIP)\n", - "Adding a variable (including by unfixing a parameter) to an over-constraining constraint will often remove that constraint from the over-constrained subsystem. But how did we know that this was the right thing to do? If you just care about using the diagnostics toolbox to extract as much information about a singularity as possible, you can skip this section. But if you are curious how we determined that particle porosity should not be constant, read on.\n", - "\n", - "`dens_mass_skeletal` is determined purely by the composition of solid, which is made up of Fe2O3, Fe3O4, and inert Ti2O3. We can view the `density_skeletal_constraint` as follows:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "model.fs.MB.solid_phase.properties[0, 0.9].density_skeletal_constraint.pprint()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "If we assume a constant particle porosity, this gives us a particle porosity that is also uniquely determined by the solid composition by the above `density_particle_constraint`:\n", - "```\n", - "dens_mass_particle = (1 - porosity) * dens_mass_skeletal\n", - "```\n", - "But the composition of the solid is determined by the (somewhat misnamed) `material_holdup_calculation` constraints. While the name of these constraints implies they \"calculate holdups,\" material holdups at $t=0$ are fixed as initial conditions (because holdups are the differential variables with respect to time in this model). At other time points, we assume that holdups are specified by differential and discretization equations of the model. This means that the `material_holdup_calculation` constraints actually calculate the solid phase mass fractions *from* the holdups. But as we hinted at above, the 4-by-4 system of holdup calculation constraints, `sum_component_eqn` (which simply constrains the sum of mass fractions to be one), mass fractions, and `dens_mass_particle`, uniquely solve for `dens_mass_particle` *as well as* the mass fractions. But if the holdup variables can be used to solve for the mass fractions, they *also* solve for `dens_mass_skeletal`. So both sides of `density_particle_constraint` are already uniquely determined! This implies that we don't need this constraint at all, but we also know that this constraint has to hold. Something has to give. With this in mind, we actually have several options for how to resolve this overspecification:\n", - "1. Remove `density_particle_constraint`. Then we would have `dens_mass_particle` and `dens_mass_skeletal`, with no relationship between them. This would leave us with a mathematically sound model, but with densities that contradict constant particle porosity that we have assumed (which is used elsewhere in the reaction rate calculation equations).\n", - "2. Remove the constraints that calculate skeletal density from composition.\n", - "3. Relax particle porosity from a parameter to a variable.\n", - "\n", - "Options 2 and 3 are equally valid. We've chosen option 3, meaning we assume that the particle \"evolves\" with a density that is well determined from its constituent species, rather than changing density to accommodate whatever mass it accumulates via reaction without altering its volume. This exercise should remind us that all mathematical modeling is somewhat of an art. In the process of choosing the \"least bad\" model, it is fairly easy to over or under-specify something by making the wrong combination of assumptions, and the Dulmage-Mendelsohn decomposition is a great tool for detecting when this has happened.\n", - "\n", - "## Debugging the under-constrained subsystem\n", - "\n", - "The under-constrained system does not decompose into independent subsystems, making it more difficult to debug. However, by inspection, we notice that the same constraints and variables seem to be repeated at each point in the length domain. For each point in space, the \"odd variable out\" seems to be the total flow rate `flow_mass`. Using some intuition about this particular process model, we may conclude that this variable should be calculated from the solid phase velocity, which is constant. We expect an equation that looks like\n", - "```\n", - "flow_mass == velocity * area * density\n", - "```\n", - "\n", - "But this equation isn't here... so we need to add it.\n", - "\n", - "# Fixing the model\n", - "\n", - "We'll start by creating a fresh copy of the model, so we don't accidentally rely on IPOPT's point of termination." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "model2 = make_model()\n", - "# Make the model square while we try to fix the structural singularity\n", - "model2.fs.MB.gas_phase.properties[:, 0].flow_mol.fix()\n", - "model2.fs.MB.solid_phase.properties[:, 1].flow_mass.fix()\n", - "model2.piecewise_constant_constraints.deactivate()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding a new particle porosity variable" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "model2.fs.MB.particle_porosity = pyo.Var(\n", - " model2.fs.time,\n", - " model2.fs.MB.length_domain,\n", - " initialize=model2.fs.solid_properties.particle_porosity.value,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we need to replace the old particle porosity parameter with this new variable. Luckily, the old parameter is actually implemented as a fixed variable, so we can easily identify all the constraints it participates in with `IncidenceGraphInterface`:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.contrib.incidence_analysis import IncidenceGraphInterface\n", - "\n", - "igraph = IncidenceGraphInterface(model2, include_fixed=True)\n", - "porosity_param = model2.fs.solid_properties.particle_porosity\n", - "print(f\"Constraints containing {porosity_param.name}:\")\n", - "for con in igraph.get_adjacent_to(porosity_param):\n", - " print(f\" {con.name}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Particle porosity only appears in two constraints: the density constraint we saw above, and the reaction rate equation. We can replace particle porosity in these constraints using Pyomo's `replace_expressions` function:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.core.expr import replace_expressions\n", - "\n", - "for t, x in model2.fs.time * model2.fs.MB.length_domain:\n", - " substitution_map = {id(porosity_param): model2.fs.MB.particle_porosity[t, x]}\n", - " sp = model2.fs.MB.solid_phase\n", - " cons = [\n", - " sp.properties[t, x].density_particle_constraint,\n", - " sp.reactions[t, x].gen_rate_expression[\"R1\"],\n", - " ]\n", - " for con in cons:\n", - " con.set_value(\n", - " replace_expressions(\n", - " con.expr, substitution_map, descend_into_named_expressions=True\n", - " )\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We have added a new `particle_porosity` variable, and are using it in the relevant locations. Now we can move on to adding the missing constraint.\n", - "\n", - "## Adding a new density-flow rate constraint" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "@model2.fs.MB.Constraint(model2.fs.time, model2.fs.MB.length_domain)\n", - "def density_flowrate_constraint(mb, t, x):\n", - " return (\n", - " mb.velocity_superficial_solid[t]\n", - " * mb.bed_area\n", - " * mb.solid_phase.properties[t, x].dens_mass_particle\n", - " == mb.solid_phase.properties[t, x].flow_mass\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Testing the new model\n", - "\n", - "Let's see if these changes have fixed our model." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Construct a new diagnostics toolbox\n", - "dt = DiagnosticsToolbox(model2)\n", - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The structural singularity seems to be gone! Let's unfix our degrees of freedom and see if we can solve." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "model2.fs.MB.gas_phase.properties[:, 0].flow_mol.unfix()\n", - "model2.fs.MB.gas_phase.properties[0, 0].flow_mol.fix()\n", - "model2.fs.MB.solid_phase.properties[:, 1].flow_mass.unfix()\n", - "model2.fs.MB.solid_phase.properties[0, 1].flow_mass.fix()\n", - "model2.piecewise_constant_constraints.activate()\n", - "\n", - "res = solver.solve(model2, tee=True)\n", - "print(f\"Converged successfully: {pyo.check_optimal_termination(res)}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This doesn't look much better. What's going on? I thought we just fixed the issue?\n", - "\n", - "# Debugging the model, take two\n", - "\n", - "Let's check the diagnostics toolbox for numerical issues." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "model2.fs.MB.gas_phase.properties[:, 0].flow_mol.fix()\n", - "model2.fs.MB.solid_phase.properties[:, 1].flow_mass.fix()\n", - "model2.piecewise_constant_constraints.deactivate()\n", - "dt.report_numerical_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Looks like we have \"parallel constraints\", which are another form of singularity. Let's follow the toolbox's advice to see what they are." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "dt.display_near_parallel_constraints()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "`density_flowrate_constraint` is the constraint that we added. What is `solid_super_vel`?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "model2.fs.MB.solid_super_vel[0].pprint()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This is the same as the constraint we just added! Looks like that constraint already existed at the solid inlet. We can easily deactivate the new constraints at this point in the length domain:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "model2.fs.MB.density_flowrate_constraint[:, 1.0].deactivate();" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "But now we have removed constraints from a square model, and expect to have degrees of freedom. Let's see what the diagnostics toolbox has to say." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "dt = DiagnosticsToolbox(model2)\n", - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "But this doesn't help us very much. We have some extraneous degrees of freedom, but with 8881 variables in the under-constrained subsystem, it will be difficult to tell what they are. After some thought (and model-specific intuition), we land on the conclusion that maybe we need to fix particle porosity at the solid inlet. Here, total flow rate is specified, and the `solid_super_vel` equation is using it to compute velocity. So we need `dens_mass_particle` to be known, which means we need `particle_porosity` to be fixed." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "model2.fs.MB.particle_porosity[:, 1.0].fix();" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's run the diagnostics toolbox as a sanity check." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "dt = DiagnosticsToolbox(model2)\n", - "dt.report_structural_issues()\n", - "dt.report_numerical_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Looks good! Now we can release our degrees of freedom and try to solve again." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "model2.fs.MB.gas_phase.properties[:, 0].flow_mol.unfix()\n", - "model2.fs.MB.gas_phase.properties[0, 0].flow_mol.fix()\n", - "model2.fs.MB.solid_phase.properties[:, 1].flow_mass.unfix()\n", - "model2.fs.MB.solid_phase.properties[0, 1].flow_mass.fix()\n", - "model2.piecewise_constant_constraints.activate()\n", - "\n", - "res = solver.solve(model2, tee=True)\n", - "print(f\"Converged successfully: {pyo.check_optimal_termination(res)}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "It worked! For the simple optimization problem we have set up, this solve looks a lot more like what we expect.\n", - "\n", - "# Takeaways from this tutorial\n", - "What have we learned?\n", - "1. IPOPT using non-zero regularization coefficients hints at a singular Jacobian (especially when \"L\"/\"l\" diagnostic tags are present).\n", - "2. When this happens, start by calling `report_structural_issues` to check for a structural singularity. If this looks good, call `report_numerical_issues` to check for a numerical singularity.\n", - "3. When debugging a structural singularity, decomposing a problem into subsystems that each should be nonsingular (e.g. unit models or points in time) is very useful.\n", - "4. The solution to a structural singularity is often to relax a fixed parameter, add a constraint that was forgotten, remove a constraint that was redundant, or fix an extraneous degree of freedom.\n", - "5. Model-specific intuition is usually necessary to diagnose and fix modeling issues. (If you're an algorithm developer, learn about the models you're using! If you don't understand your models, you don't understand your algorithms!)\n", - "6. A modeling issue doesn't necessarily have a unique solution. This is especially true when the issue involves invalid assumptions.\n", - "7. Debugging is an iterative process — fixing one issue can introduce another." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# References\n", - "\n", - "[[1]] Okoli et al., \"A framework for the optimization of chemical looping combustion processes\". *Powder Tech*, 2020.\n", - "\n", - "[[2]] Parker and Biegler, \"Dynamic modeling and nonlinear model predictive control of a moving bed chemical looping combustion reactor\". *IFAC PapersOnline*, 2022.\n", - "\n", - "[[3]] Dulmage and Mendelsohn, \"Coverings of bipartite graphs\". *Can J. Math.*, 1958.\n", - "\n", - "[[4]] Pothen and Fan, \"Computing the block triangular form of a sparse matrix\". *ACM Trans. Math. Softw.*, 1990.\n", - "\n", - "[[5]] Parker et al., \"Applications of the Dulmage-Mendelsohn decomposition for debugging nonlinear optimization problems\". *Comp. Chem. Eng.*, 2023.\n", - "\n", - "[1]: https://www.sciencedirect.com/science/article/pii/S0032591019302803\n", - "[2]: https://www.sciencedirect.com/science/article/pii/S2405896322008825\n", - "[3]: https://www.cambridge.org/core/journals/canadian-journal-of-mathematics/article/coverings-of-bipartite-graphs/413735C5888AB542B92D0C4F402800B1\n", - "[4]: https://dl.acm.org/doi/10.1145/98267.98287\n", - "[5]: https://www.sciencedirect.com/science/article/pii/S0098135423002533\n" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.3" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Debugging a Structural Singularity\n", + "===========================\n", + "Author: Robert Parker\\\n", + "Maintainer: Robert Parker\\\n", + "Updated: 2024-06-10\n", + "\n", + "In this tutorial, we will use the [IDAES Diagnostics Toolbox](https://idaes-pse.readthedocs.io/en/2.4.0/explanations/model_diagnostics/index.html#diagnostics-toolbox)\n", + "to diagnose and fix a structural singularity that is preventing us from solving an optimization problem." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "# Constructing the model\n", + "\n", + "Suppose a collaborator has given us a model to work with. They give us a square model and tell us what the degrees of freedom are. We construct an optimization problem and try to solve it. In this tutorial, we don't want to worry too much about the details that go into constructing the model. This has been provided in the `idaes_examples.mod.diagnostics.gas_solid_contactors.model` module.\n", + "\n", + "## Model details (OKAY TO SKIP)\n", + "\n", + "The model we are trying to optimize is a dynamic model of a moving bed chemical looping combustion reactor. The model has been described by [Okoli et al.][1] and [Parker and Biegler][2]. This is a gas-solid reactor with counter-current flow. The degrees of freedom are gas and solid inlet flow rates, and we are trying to minimize the deviation from a desired operating point via a least-squares objective function.\n", + "\n", + "[1]: https://www.sciencedirect.com/science/article/pii/S0032591019302803\n", + "[2]: https://www.sciencedirect.com/science/article/pii/S2405896322008825\n", + "\n", + "Again, we don't want to worry too much about the model. The `make_model` function will construct the optimization problem that we want to solve, and whenever we do something model-specific, we will explicitly make note of it." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Trying to solve the original model\n", + "\n", + "With that out of the way, let's construct the model and try to solve it!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes_examples.mod.diagnostics.gas_solid_contactors.model import make_model\n", + "import logging\n", + "\n", + "# We'll turn off IDAES logging. This is not recommended in general, but this is an old model\n", + "# (from IDAES 1.7) that has been ported to work with the current version of IDAES. It generates\n", + "# a lot of warnings.\n", + "logging.getLogger(\"idaes\").setLevel(logging.CRITICAL)\n", + "# We'll also turn off Pyomo logging. This will suppress unit inconsistency warnings later,\n", + "# which otherwise flood our console and slow down this notebook. We have unit inconsistencies\n", + "# as, in IDAES 1.7, we didn't rigorously enforce that models use units.\n", + "logging.getLogger(\"pyomo\").setLevel(logging.CRITICAL)\n", + "\n", + "# This constructs a dynamic model with degrees of freedom and an objective function.\n", + "model = make_model()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Before trying to solve the model, let's make sure it conforms to our expectations, i.e. it (a) has degrees of freedom and (b) is well-initialized to a feasible point." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Import some useful utilities from the model_statistics module.\n", + "# Degrees of freedom and constraint residuals are always good things to check before\n", + "# trying to solve a simulation or optimization problem.\n", + "from idaes.core.util.model_statistics import degrees_of_freedom, large_residuals_set\n", + "\n", + "dof = degrees_of_freedom(model)\n", + "print(f\"Degrees of freedom: {dof}\")\n", + "has_large_residuals = bool(large_residuals_set(model, tol=1e-5))\n", + "print(f\"Has large residuals: {has_large_residuals}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the above `make_model` function, the model has been \"solved\" to arrive at a feasible point, then degrees of freedom have been unfixed and an objective function has been added to give us an optimization problem. This looks good so far, so let's try to solve the optimization problem." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Import pyomo.environ for access to solvers\n", + "import pyomo.environ as pyo\n", + "\n", + "solver = pyo.SolverFactory(\"ipopt\")\n", + "solver.options[\"max_iter\"] = 20\n", + "solver.options[\"print_user_options\"] = \"yes\"\n", + "solver.options[\"OF_print_info_string\"] = \"yes\"\n", + "res = solver.solve(model, tee=True)\n", + "print(f\"Converged successfully: {pyo.check_optimal_termination(res)}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "IPOPT fails to solve the optimization problem... You can try increasing the iteration limit, but it is very unlikely that this model will ever solve. A telltale sign that something is wrong with our model is the persistence of regularization coefficients, that is, numbers in the `lg(rg)` column of the IPOPT log. These coefficients can have multiple causes. One is that the constraint Jacobian (partial derivative matrix) is singular, which indicates a problem with our model. We have set the `print_info_string` option in IPOPT to display \"diagnostic tags\" to help interpret these regularization coefficients. The \"L\" and \"l\" diagnostic tags, which appear repeatedly, indicate that the Jacobian is singular. For more information on IPOPT diagnostic tags, see the IPOPT [documentation](https://coin-or.github.io/Ipopt/OUTPUT.html)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Debugging the original model\n", + "\n", + "Let's run the diagnostics toolbox on the model and see what it has to say.\n", + "\n", + "For good practice, we'll first make sure the model we're debugging is square. Remember that we're assuming we already know how to toggle degrees of freedom in our model." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Fix gas and solid flow rates at their respective inlets\n", + "model.fs.MB.gas_phase.properties[:, 0].flow_mol.fix()\n", + "model.fs.MB.solid_phase.properties[:, 1].flow_mass.fix()\n", + "# Part of our optimization problem was a set of constraints to enforce piecewise\n", + "# constant control inputs. We need to deactivate these as well.\n", + "model.piecewise_constant_constraints.deactivate()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can run the diagnostics toolbox." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core.util.model_diagnostics import DiagnosticsToolbox\n", + "\n", + "dt = DiagnosticsToolbox(model)\n", + "dt.report_structural_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's look at the warnings we got:\n", + "- Inconsistent units\n", + "- Structural singularity\n", + "- Potential evaluation errors\n", + "\n", + "We'll ignore the inconsistent units. The property package and unit model here were extracted from IDAES 1.7, before we rigorously enforced that all models use units. The potential evaluation errors we see here may be worth looking into, but looking at the failing IPOPT log above, we don't notice any evaluation errors. (If evaluation errors occurred in IPOPT, we would see a message like \"Error in AMPL evaluation\" in the IPOPT iteration log, which we don't see here.) The structural singularity looks like the most promising avenue to debug, especially as the IPOPT log displays persistent regularization coefficients that appear to be caused by a singular Jacobian.\n", + "\n", + "Let's follow the toolbox's advice and display the under and over-constrained sets." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "dt.display_underconstrained_set()\n", + "dt.display_overconstrained_set()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Over and under-constrained subsystems\n", + "\n", + "Structural singularities are characterized by the [Dulmage-Mendelson decomposition][3], which partitions a system into minimal over and under-constrained subsystems. These subsystems contain the potentially unmatched constraints and variables, respectively. Here, \"unmatched\" effectively means \"causing a singularity\". [Pothen and Fan][4] give a good overview of the Dulmage-Mendelsohn decomposition and [Parker et al.][5] give several examples.\n", + "\n", + "[3]: https://www.cambridge.org/core/journals/canadian-journal-of-mathematics/article/coverings-of-bipartite-graphs/413735C5888AB542B92D0C4F402800B1\n", + "[4]: https://dl.acm.org/doi/10.1145/98267.98287\n", + "[5]: https://www.sciencedirect.com/science/article/pii/S0098135423002533\n", + "\n", + "The most straightforward way to fix a structural singularity is to fix variables that are in the under-constrained system and deactivate constraints in the over-constrained subsystem. However, this may not be applicable for every model. For example, we may need to add variables and constraints instead. What over and under-constrained subsystems are telling us is that something is wrong with our modeling assumptions. The particular fix that is appropriate will depend heavily on the model.\n", + "\n", + "If the above output gives us any clues, we can go ahead and start trying to fix things. However, suppose it doesn't. A good strategy is to try to break down the model into smaller, square subsystems that we think should be nonsingular. For a dynamic model like this one, a good candidate is the subsystem of variables and equations at each point in time." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# We've included a utility function to extract the subsystem of variables and equations\n", + "# at a specified point in time. If you are dealing with a process flowsheet, here you\n", + "# may want to extract each unit model individually.\n", + "from idaes_examples.mod.diagnostics.util import get_subsystem_at_time\n", + "\n", + "# TemporarySubsystemManager is used to temporarily fix some variables to make sure\n", + "# we're debugging a square subsystem.\n", + "from pyomo.util.subsystems import TemporarySubsystemManager\n", + "\n", + "# Let's start with t=0. Really, we'd probably want to do this in a loop and try all time points.\n", + "t0 = model.fs.time.first()\n", + "t_block, inputs = get_subsystem_at_time(model, model.fs.time, t0)\n", + "# We'll temporarily fix the \"inputs\" to make sure we have a square system while debugging\n", + "with TemporarySubsystemManager(to_fix=inputs):\n", + " dt = DiagnosticsToolbox(t_block)\n", + " dt.report_structural_issues()\n", + " dt.display_underconstrained_set()\n", + " dt.display_overconstrained_set()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "These over and under-constrained subsystems aren't much smaller, but now the over-constrained system decomposes into 10 small, independent blocks. These should be easier to debug.\n", + "\n", + "## Debugging the over-constrained subsystem\n", + "\n", + "To debug the over-constrained subsystem, we look for a constraint that is not calculating any of the variables in the subsystem. The \"odd constraint out\" here seems to be the mass fraction sum, `sum_component_eqn`. This must \"solve for\" one of the mass fractions, which means one of the `material_holdup_calculation` equations must \"solve for\" particle density rather than mass fraction. If we want to see what variables are contained in one of these constraints, we can always `pprint` it:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model.fs.MB.solid_phase.properties[0, 0.9].sum_component_eqn.pprint()\n", + "model.fs.MB.solid_phase.material_holdup_calculation[0, 0.9, \"Sol\", \"Fe3O4\"].pprint()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If one of these `material_holdup_calculation` equations is solving for particle density, then that means that `density_particle_constraint` is not actually solving for density. Maybe `density_particle_constraint` is over-determining our system?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model.fs.MB.solid_phase.properties[0, 0.9].density_particle_constraint.pprint()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "But this looks like a very reasonable constraint. After some thought, which admittedly requires some knowledge of the process we are modeling, we decide that the right approach is to make particle porosity a variable. We have assumed that porosity is constant, but this overconstrained subsystem is telling us that this assumption is not valid.\n", + "\n", + "### How did we figure this out? (OKAY TO SKIP)\n", + "Adding a variable (including by unfixing a parameter) to an over-constraining constraint will often remove that constraint from the over-constrained subsystem. But how did we know that this was the right thing to do? If you just care about using the diagnostics toolbox to extract as much information about a singularity as possible, you can skip this section. But if you are curious how we determined that particle porosity should not be constant, read on.\n", + "\n", + "`dens_mass_skeletal` is determined purely by the composition of solid, which is made up of Fe2O3, Fe3O4, and inert Ti2O3. We can view the `density_skeletal_constraint` as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model.fs.MB.solid_phase.properties[0, 0.9].density_skeletal_constraint.pprint()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If we assume a constant particle porosity, this gives us a particle porosity that is also uniquely determined by the solid composition by the above `density_particle_constraint`:\n", + "```\n", + "dens_mass_particle = (1 - porosity) * dens_mass_skeletal\n", + "```\n", + "But the composition of the solid is determined by the (somewhat misnamed) `material_holdup_calculation` constraints. While the name of these constraints implies they \"calculate holdups,\" material holdups at $t=0$ are fixed as initial conditions (because holdups are the differential variables with respect to time in this model). At other time points, we assume that holdups are specified by differential and discretization equations of the model. This means that the `material_holdup_calculation` constraints actually calculate the solid phase mass fractions *from* the holdups. But as we hinted at above, the 4-by-4 system of holdup calculation constraints, `sum_component_eqn` (which simply constrains the sum of mass fractions to be one), mass fractions, and `dens_mass_particle`, uniquely solve for `dens_mass_particle` *as well as* the mass fractions. But if the holdup variables can be used to solve for the mass fractions, they *also* solve for `dens_mass_skeletal`. So both sides of `density_particle_constraint` are already uniquely determined! This implies that we don't need this constraint at all, but we also know that this constraint has to hold. Something has to give. With this in mind, we actually have several options for how to resolve this overspecification:\n", + "1. Remove `density_particle_constraint`. Then we would have `dens_mass_particle` and `dens_mass_skeletal`, with no relationship between them. This would leave us with a mathematically sound model, but with densities that contradict constant particle porosity that we have assumed (which is used elsewhere in the reaction rate calculation equations).\n", + "2. Remove the constraints that calculate skeletal density from composition.\n", + "3. Relax particle porosity from a parameter to a variable.\n", + "\n", + "Options 2 and 3 are equally valid. We've chosen option 3, meaning we assume that the particle \"evolves\" with a density that is well determined from its constituent species, rather than changing density to accommodate whatever mass it accumulates via reaction without altering its volume. This exercise should remind us that all mathematical modeling is somewhat of an art. In the process of choosing the \"least bad\" model, it is fairly easy to over or under-specify something by making the wrong combination of assumptions, and the Dulmage-Mendelsohn decomposition is a great tool for detecting when this has happened.\n", + "\n", + "## Debugging the under-constrained subsystem\n", + "\n", + "The under-constrained system does not decompose into independent subsystems, making it more difficult to debug. However, by inspection, we notice that the same constraints and variables seem to be repeated at each point in the length domain. For each point in space, the \"odd variable out\" seems to be the total flow rate `flow_mass`. Using some intuition about this particular process model, we may conclude that this variable should be calculated from the solid phase velocity, which is constant. We expect an equation that looks like\n", + "```\n", + "flow_mass == velocity * area * density\n", + "```\n", + "\n", + "But this equation isn't here... so we need to add it.\n", + "\n", + "# Fixing the model\n", + "\n", + "We'll start by creating a fresh copy of the model, so we don't accidentally rely on IPOPT's point of termination." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model2 = make_model()\n", + "# Make the model square while we try to fix the structural singularity\n", + "model2.fs.MB.gas_phase.properties[:, 0].flow_mol.fix()\n", + "model2.fs.MB.solid_phase.properties[:, 1].flow_mass.fix()\n", + "model2.piecewise_constant_constraints.deactivate()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding a new particle porosity variable" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model2.fs.MB.particle_porosity = pyo.Var(\n", + " model2.fs.time,\n", + " model2.fs.MB.length_domain,\n", + " initialize=model2.fs.solid_properties.particle_porosity.value,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we need to replace the old particle porosity parameter with this new variable. Luckily, the old parameter is actually implemented as a fixed variable, so we can easily identify all the constraints it participates in with `IncidenceGraphInterface`:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.contrib.incidence_analysis import IncidenceGraphInterface\n", + "\n", + "igraph = IncidenceGraphInterface(model2, include_fixed=True)\n", + "porosity_param = model2.fs.solid_properties.particle_porosity\n", + "print(f\"Constraints containing {porosity_param.name}:\")\n", + "for con in igraph.get_adjacent_to(porosity_param):\n", + " print(f\" {con.name}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Particle porosity only appears in two constraints: the density constraint we saw above, and the reaction rate equation. We can replace particle porosity in these constraints using Pyomo's `replace_expressions` function:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.core.expr import replace_expressions\n", + "\n", + "for t, x in model2.fs.time * model2.fs.MB.length_domain:\n", + " substitution_map = {id(porosity_param): model2.fs.MB.particle_porosity[t, x]}\n", + " sp = model2.fs.MB.solid_phase\n", + " cons = [\n", + " sp.properties[t, x].density_particle_constraint,\n", + " sp.reactions[t, x].gen_rate_expression[\"R1\"],\n", + " ]\n", + " for con in cons:\n", + " con.set_value(\n", + " replace_expressions(\n", + " con.expr, substitution_map, descend_into_named_expressions=True\n", + " )\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We have added a new `particle_porosity` variable, and are using it in the relevant locations. Now we can move on to adding the missing constraint.\n", + "\n", + "## Adding a new density-flow rate constraint" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "@model2.fs.MB.Constraint(model2.fs.time, model2.fs.MB.length_domain)\n", + "def density_flowrate_constraint(mb, t, x):\n", + " return (\n", + " mb.velocity_superficial_solid[t]\n", + " * mb.bed_area\n", + " * mb.solid_phase.properties[t, x].dens_mass_particle\n", + " == mb.solid_phase.properties[t, x].flow_mass\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Testing the new model\n", + "\n", + "Let's see if these changes have fixed our model." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Construct a new diagnostics toolbox\n", + "dt = DiagnosticsToolbox(model2)\n", + "dt.report_structural_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The structural singularity seems to be gone! Let's unfix our degrees of freedom and see if we can solve." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model2.fs.MB.gas_phase.properties[:, 0].flow_mol.unfix()\n", + "model2.fs.MB.gas_phase.properties[0, 0].flow_mol.fix()\n", + "model2.fs.MB.solid_phase.properties[:, 1].flow_mass.unfix()\n", + "model2.fs.MB.solid_phase.properties[0, 1].flow_mass.fix()\n", + "model2.piecewise_constant_constraints.activate()\n", + "\n", + "res = solver.solve(model2, tee=True)\n", + "print(f\"Converged successfully: {pyo.check_optimal_termination(res)}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This doesn't look much better. What's going on? I thought we just fixed the issue?\n", + "\n", + "# Debugging the model, take two\n", + "\n", + "Let's check the diagnostics toolbox for numerical issues." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model2.fs.MB.gas_phase.properties[:, 0].flow_mol.fix()\n", + "model2.fs.MB.solid_phase.properties[:, 1].flow_mass.fix()\n", + "model2.piecewise_constant_constraints.deactivate()\n", + "dt.report_numerical_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Looks like we have \"parallel constraints\", which are another form of singularity. Let's follow the toolbox's advice to see what they are." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "dt.display_near_parallel_constraints()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "`density_flowrate_constraint` is the constraint that we added. What is `solid_super_vel`?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model2.fs.MB.solid_super_vel[0].pprint()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is the same as the constraint we just added! Looks like that constraint already existed at the solid inlet. We can easily deactivate the new constraints at this point in the length domain:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model2.fs.MB.density_flowrate_constraint[:, 1.0].deactivate();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "But now we have removed constraints from a square model, and expect to have degrees of freedom. Let's see what the diagnostics toolbox has to say." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "dt = DiagnosticsToolbox(model2)\n", + "dt.report_structural_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "But this doesn't help us very much. We have some extraneous degrees of freedom, but with 8881 variables in the under-constrained subsystem, it will be difficult to tell what they are. After some thought (and model-specific intuition), we land on the conclusion that maybe we need to fix particle porosity at the solid inlet. Here, total flow rate is specified, and the `solid_super_vel` equation is using it to compute velocity. So we need `dens_mass_particle` to be known, which means we need `particle_porosity` to be fixed." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model2.fs.MB.particle_porosity[:, 1.0].fix();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's run the diagnostics toolbox as a sanity check." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "dt = DiagnosticsToolbox(model2)\n", + "dt.report_structural_issues()\n", + "dt.report_numerical_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Looks good! Now we can release our degrees of freedom and try to solve again." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model2.fs.MB.gas_phase.properties[:, 0].flow_mol.unfix()\n", + "model2.fs.MB.gas_phase.properties[0, 0].flow_mol.fix()\n", + "model2.fs.MB.solid_phase.properties[:, 1].flow_mass.unfix()\n", + "model2.fs.MB.solid_phase.properties[0, 1].flow_mass.fix()\n", + "model2.piecewise_constant_constraints.activate()\n", + "\n", + "res = solver.solve(model2, tee=True)\n", + "print(f\"Converged successfully: {pyo.check_optimal_termination(res)}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It worked! For the simple optimization problem we have set up, this solve looks a lot more like what we expect.\n", + "\n", + "# Takeaways from this tutorial\n", + "What have we learned?\n", + "1. IPOPT using non-zero regularization coefficients hints at a singular Jacobian (especially when \"L\"/\"l\" diagnostic tags are present).\n", + "2. When this happens, start by calling `report_structural_issues` to check for a structural singularity. If this looks good, call `report_numerical_issues` to check for a numerical singularity.\n", + "3. When debugging a structural singularity, decomposing a problem into subsystems that each should be nonsingular (e.g. unit models or points in time) is very useful.\n", + "4. The solution to a structural singularity is often to relax a fixed parameter, add a constraint that was forgotten, remove a constraint that was redundant, or fix an extraneous degree of freedom.\n", + "5. Model-specific intuition is usually necessary to diagnose and fix modeling issues. (If you're an algorithm developer, learn about the models you're using! If you don't understand your models, you don't understand your algorithms!)\n", + "6. A modeling issue doesn't necessarily have a unique solution. This is especially true when the issue involves invalid assumptions.\n", + "7. Debugging is an iterative process — fixing one issue can introduce another." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# References\n", + "\n", + "[[1]] Okoli et al., \"A framework for the optimization of chemical looping combustion processes\". *Powder Tech*, 2020.\n", + "\n", + "[[2]] Parker and Biegler, \"Dynamic modeling and nonlinear model predictive control of a moving bed chemical looping combustion reactor\". *IFAC PapersOnline*, 2022.\n", + "\n", + "[[3]] Dulmage and Mendelsohn, \"Coverings of bipartite graphs\". *Can J. Math.*, 1958.\n", + "\n", + "[[4]] Pothen and Fan, \"Computing the block triangular form of a sparse matrix\". *ACM Trans. Math. Softw.*, 1990.\n", + "\n", + "[[5]] Parker et al., \"Applications of the Dulmage-Mendelsohn decomposition for debugging nonlinear optimization problems\". *Comp. Chem. Eng.*, 2023.\n", + "\n", + "[1]: https://www.sciencedirect.com/science/article/pii/S0032591019302803\n", + "[2]: https://www.sciencedirect.com/science/article/pii/S2405896322008825\n", + "[3]: https://www.cambridge.org/core/journals/canadian-journal-of-mathematics/article/coverings-of-bipartite-graphs/413735C5888AB542B92D0C4F402800B1\n", + "[4]: https://dl.acm.org/doi/10.1145/98267.98287\n", + "[5]: https://www.sciencedirect.com/science/article/pii/S0098135423002533\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.3" + } + }, + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_costing.ipynb b/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_costing.ipynb index 656dc674..8cbcaa64 100644 --- a/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_costing.ipynb +++ b/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_costing.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_costing_doc.ipynb b/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_costing_doc.ipynb index 0a6a239c..bbd5b8dd 100644 --- a/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_costing_doc.ipynb +++ b/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_costing_doc.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -97,617 +98,11 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Building flowsheet...\n", - "\n", - "Setting inputs...\n", - "\n", - "Initializing flowsheet...\n", - "\n", - "Limiting Wegstein tear to 3 iterations to obtain initial solution, if not converged IPOPT will pick up and continue.\n", - "\n", - "fs.s03\n", - "fs.H101\n", - "fs.R101\n", - "fs.F101\n", - "fs.S101\n", - "fs.C101\n", - "fs.M101\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:47 [INFO] idaes.init.fs.H101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:48 [INFO] idaes.init.fs.H101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:48 [INFO] idaes.init.fs.R101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:48 [INFO] idaes.init.fs.R101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:48 [INFO] idaes.init.fs.F101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:48 [INFO] idaes.init.fs.F101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:48 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:48 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:48 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:48 [INFO] idaes.init.fs.F102.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:48 [INFO] idaes.init.fs.F102: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:48 [INFO] idaes.init.fs.C101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:48 [INFO] idaes.init.fs.C101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:48 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:48 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:49 [INFO] idaes.init.fs.H101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:49 [INFO] idaes.init.fs.H101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:49 [INFO] idaes.init.fs.R101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:49 [INFO] idaes.init.fs.R101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:49 [INFO] idaes.init.fs.F101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:49 [INFO] idaes.init.fs.F101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:49 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:49 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:49 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:49 [INFO] idaes.init.fs.C101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:49 [INFO] idaes.init.fs.C101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:49 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:49 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:49 [INFO] idaes.init.fs.H101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:50 [INFO] idaes.init.fs.H101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:50 [INFO] idaes.init.fs.R101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:50 [INFO] idaes.init.fs.R101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:50 [INFO] idaes.init.fs.F101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:50 [INFO] idaes.init.fs.F101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:50 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:50 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:50 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:50 [INFO] idaes.init.fs.C101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:50 [INFO] idaes.init.fs.C101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:50 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:50 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:50 [INFO] idaes.init.fs.H101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:50 [INFO] idaes.init.fs.H101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:50 [INFO] idaes.init.fs.R101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:50 [INFO] idaes.init.fs.R101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:51 [INFO] idaes.init.fs.F101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:51 [INFO] idaes.init.fs.F101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:51 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:51 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:51 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:51 [INFO] idaes.init.fs.C101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:51 [INFO] idaes.init.fs.C101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:51 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:51 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:51 [INFO] idaes.init.fs.H101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:51 [INFO] idaes.init.fs.H101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:51 [INFO] idaes.init.fs.R101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:51 [INFO] idaes.init.fs.R101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:51 [INFO] idaes.init.fs.F101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:51 [INFO] idaes.init.fs.F101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:51 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:51 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:51 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:52 [INFO] idaes.init.fs.C101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:52 [INFO] idaes.init.fs.C101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:52 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:52 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: Wegstein failed to converge in 3 iterations\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:52 [INFO] idaes.init.fs.F102.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:52 [INFO] idaes.init.fs.F102: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Solving flowsheet...\n", - "\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: tol=1e-06\n", - "max_iter=5000\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 1031\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 934\n", - "\n", - "Total number of variables............................: 340\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 146\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 340\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 6.60e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 8.69e+03 1.42e+03 -1.0 2.00e+04 - 9.71e-01 4.67e-01H 1\n", - " 2 0.0000000e+00 3.05e+03 1.56e+03 -1.0 1.60e+04 - 9.79e-01 4.90e-01h 1\n", - " 3 0.0000000e+00 1.58e+03 1.55e+05 -1.0 1.41e+04 - 9.90e-01 4.99e-01h 1\n", - " 4 0.0000000e+00 5.49e+02 8.87e+08 -1.0 8.43e+03 - 1.00e+00 9.57e-01h 1\n", - " 5 0.0000000e+00 4.25e+03 2.87e+10 -1.0 8.02e+02 - 1.00e+00 9.90e-01h 1\n", - " 6 0.0000000e+00 2.25e+03 1.51e+10 -1.0 8.39e+00 - 1.00e+00 1.00e+00h 1\n", - " 7 0.0000000e+00 2.27e+01 1.40e+08 -1.0 2.45e-03 - 1.00e+00 1.00e+00f 1\n", - " 8 0.0000000e+00 2.45e-03 1.23e+04 -1.0 2.38e-05 - 1.00e+00 1.00e+00h 1\n", - " 9 0.0000000e+00 7.45e-09 3.06e-01 -2.5 9.06e-08 - 1.00e+00 1.00e+00h 1\n", - "Cannot recompute multipliers for feasibility problem. Error in eq_mult_calculator\n", - "\n", - "Number of Iterations....: 9\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 2.8284422320850682e+05 2.8284422320850682e+05\n", - "Constraint violation....: 2.9103830456733704e-11 7.4505805969238281e-09\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.9103830456733704e-11 2.8284422320850682e+05\n", - "\n", - "\n", - "Number of objective function evaluations = 11\n", - "Number of objective gradient evaluations = 10\n", - "Number of equality constraint evaluations = 11\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 10\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 9\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.008\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Complete.\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "# Source file for prebuilt flowsheets\n", "from hda_flowsheets_for_costing_notebook import hda_with_flash\n", @@ -738,7 +133,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -767,7 +162,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -812,7 +207,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -843,7 +238,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -909,7 +304,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -926,133 +321,9 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 1067\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 942\n", - "\n", - "Total number of variables............................: 358\n", - " variables with only lower bounds: 15\n", - " variables with lower and upper bounds: 146\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 358\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 1.00e+05 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 8.81e+04 5.49e+03 -1.0 9.20e+04 - 2.62e-01 1.20e-01h 1\n", - " 2 0.0000000e+00 6.34e+04 2.46e+03 -1.0 8.10e+04 - 5.83e-01 2.87e-01h 1\n", - " 3 0.0000000e+00 3.40e+04 5.65e+03 -1.0 5.80e+04 - 5.72e-01 4.86e-01h 1\n", - " 4 0.0000000e+00 2.33e+04 5.28e+05 -1.0 3.01e+04 - 7.04e-01 5.09e-01h 1\n", - " 5 0.0000000e+00 1.13e+04 2.99e+09 -1.0 1.49e+04 - 8.02e-01 9.65e-01h 1\n", - " 6 0.0000000e+00 5.50e+03 1.54e+09 -1.0 8.18e+02 - 9.90e-01 6.10e-01h 1\n", - " 7 0.0000000e+00 5.23e+03 1.44e+09 -1.0 3.84e+02 - 9.92e-01 5.07e-02h 1\n", - " 8 0.0000000e+00 5.22e+03 1.44e+09 -1.0 3.70e+02 - 1.00e+00 5.85e-04h 1\n", - " 9r 0.0000000e+00 5.22e+03 1.00e+03 2.3 0.00e+00 - 0.00e+00 3.66e-07R 5\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10r 0.0000000e+00 6.47e+04 1.34e+04 2.3 1.78e+05 - 2.30e-03 1.09e-03f 1\n", - " 11r 0.0000000e+00 3.63e+04 4.53e+04 2.3 7.67e+03 - 7.32e-02 3.13e-03f 1\n", - " 12r 0.0000000e+00 3.93e+04 4.20e+04 2.3 6.14e+03 - 6.79e-02 1.14e-01f 1\n", - " 13r 0.0000000e+00 3.99e+04 2.20e+04 2.3 6.23e+02 - 4.86e-01 3.05e-01f 1\n", - " 14r 0.0000000e+00 5.25e+04 1.67e+04 2.3 1.89e+03 - 2.37e-01 1.00e+00f 1\n", - " 15r 0.0000000e+00 5.74e+04 8.19e+02 2.3 1.50e+03 - 9.73e-01 7.07e-01f 1\n", - " 16r 0.0000000e+00 5.79e+04 7.74e+02 0.9 5.93e+02 - 9.40e-01 5.52e-01f 1\n", - " 17r 0.0000000e+00 5.77e+04 4.91e+03 0.9 4.87e+02 - 9.04e-01 4.24e-01f 1\n", - " 18r 0.0000000e+00 6.06e+04 1.62e+03 0.9 5.45e+02 - 1.00e+00 6.92e-01f 1\n", - " 19r 0.0000000e+00 6.61e+04 2.32e+02 0.9 2.04e+02 - 1.00e+00 9.52e-01f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 20r 0.0000000e+00 7.62e+04 1.03e+03 0.2 1.71e+02 - 8.32e-01 8.32e-01f 1\n", - " 21r 0.0000000e+00 7.57e+04 8.29e+01 0.2 6.76e+02 - 1.00e+00 1.00e+00f 1\n", - " 22r 0.0000000e+00 7.23e+04 4.74e+01 -0.5 1.37e+02 - 1.00e+00 9.01e-01f 1\n", - " 23r 0.0000000e+00 5.71e+04 3.30e+01 -0.5 7.91e+02 - 1.00e+00 1.00e+00f 1\n", - " 24r 0.0000000e+00 5.85e+04 6.01e-01 -0.5 1.26e+02 - 1.00e+00 1.00e+00h 1\n", - " 25r 0.0000000e+00 4.88e+04 1.78e+02 -2.8 4.53e+02 - 9.80e-01 7.63e-01f 1\n", - " 26r 0.0000000e+00 2.12e+04 2.63e+02 -2.8 2.29e+03 - 4.88e-01 2.16e-01f 1\n", - " 27r 0.0000000e+00 2.05e+04 5.27e+02 -2.8 3.17e+03 - 1.00e+00 3.36e-01f 1\n", - " 28r 0.0000000e+00 2.00e+04 7.36e+02 -2.8 3.93e+03 - 3.18e-02 1.06e-01f 1\n", - " 29r 0.0000000e+00 7.19e+03 7.22e+02 -2.8 4.19e+03 - 1.00e+00 3.22e-01f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 30r 0.0000000e+00 8.95e+03 2.50e+03 -2.8 6.03e+02 - 1.00e+00 7.72e-01f 1\n", - " 31r 0.0000000e+00 5.53e+03 1.10e+03 -2.8 1.82e+03 - 7.92e-01 3.40e-01f 1\n", - " 32r 0.0000000e+00 3.65e+03 7.38e+02 -2.8 1.83e+03 - 6.45e-01 5.76e-01f 1\n", - " 33r 0.0000000e+00 4.19e+02 7.29e+02 -2.8 8.86e+02 - 6.85e-01 8.10e-01f 1\n", - " 34r 0.0000000e+00 2.59e+02 3.88e+02 -2.8 8.93e+01 - 1.00e+00 1.00e+00f 1\n", - " 35r 0.0000000e+00 2.37e+02 3.62e+02 -2.8 8.07e+00 - 1.00e+00 1.00e+00h 1\n", - " 36r 0.0000000e+00 2.37e+02 1.60e+00 -2.8 2.49e+00 - 1.00e+00 1.00e+00h 1\n", - " 37r 0.0000000e+00 2.37e+02 3.54e-02 -2.8 6.73e-02 - 1.00e+00 1.00e+00h 1\n", - " 38r 0.0000000e+00 2.40e+02 6.94e+02 -4.3 1.16e+02 - 1.00e+00 5.13e-01f 1\n", - " 39r 0.0000000e+00 1.40e+02 1.92e+03 -4.3 6.99e+01 - 9.98e-01 4.06e-01f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 40r 0.0000000e+00 8.34e+01 2.11e+03 -4.3 4.21e+01 - 1.00e+00 6.67e-01f 1\n", - " 41r 0.0000000e+00 2.54e+01 6.31e+02 -4.3 2.23e+01 - 7.35e-01 1.00e+00f 1\n", - " 42 0.0000000e+00 2.26e+01 1.16e+07 -1.0 4.76e+01 - 9.90e-01 1.25e-01h 4\n", - " 43 0.0000000e+00 2.00e+01 5.45e+06 -1.0 4.09e+01 - 9.90e-01 1.25e-01h 4\n", - " 44 0.0000000e+00 1.59e+01 4.92e+06 -1.0 3.49e+01 - 9.91e-01 2.50e-01h 3\n", - " 45 0.0000000e+00 1.23e+01 4.33e+06 -1.0 2.41e+01 - 1.00e+00 2.50e-01h 3\n", - " 46 0.0000000e+00 7.56e+00 5.75e+06 -1.0 1.54e+01 - 1.00e+00 5.00e-01h 2\n", - " 47 0.0000000e+00 3.06e+01 1.36e+07 -1.0 1.62e+00 - 1.00e+00 1.00e+00h 1\n", - " 48 0.0000000e+00 3.18e-04 1.31e+03 -1.0 3.34e+01 - 1.00e+00 1.00e+00h 1\n", - " 49 0.0000000e+00 2.24e-08 3.21e-01 -3.8 1.06e-07 - 1.00e+00 1.00e+00h 1\n", - "Cannot recompute multipliers for feasibility problem. Error in eq_mult_calculator\n", - "\n", - "Number of Iterations....: 49\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 1.5041240304748950e+04 1.5041240304748950e+04\n", - "Constraint violation....: 2.9103830456733704e-11 2.2351741790771484e-08\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.9103830456733704e-11 1.5041240304748950e+04\n", - "\n", - "\n", - "Number of objective function evaluations = 74\n", - "Number of objective gradient evaluations = 19\n", - "Number of equality constraint evaluations = 74\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 51\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 49\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.061\n", - "Total CPU secs in NLP function evaluations = 0.003\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "# Check physical units consistency, solve and check solver status\n", "from pyomo.environ import TerminationCondition\n", @@ -1072,353 +343,11 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Building flowsheet...\n", - "\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Setting inputs...\n", - "\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Initializing flowsheet...\n", - "\n", - "Limiting Wegstein tear to 3 iterations to obtain initial solution, if not converged IPOPT will pick up and continue.\n", - "\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: Wegstein failed to converge in 3 iterations\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Solving flowsheet...\n", - "\n", - "WARNING: model contains export suffix\n", - "'fs.H102.control_volume.properties_out[0.0].scaling_factor' that contains 1\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.H102.control_volume.scaling_factor'\n", - "that contains 1 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.F101.control_volume.properties_out[0.0].scaling_factor' that contains 26\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.F101.control_volume.properties_in[0.0].scaling_factor' that contains 25\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.F101.control_volume.scaling_factor'\n", - "that contains 1 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.R101.control_volume.properties_out[0.0].scaling_factor' that contains 25\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.R101.control_volume.properties_in[0.0].scaling_factor' that contains 25\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.R101.control_volume.scaling_factor'\n", - "that contains 2 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H101.control_volume.properties_out[0.0].scaling_factor' that contains 26\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H101.control_volume.properties_in[0.0].scaling_factor' that contains 25\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Adding distillation column and resolving flowsheet...\n", - "\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.D101.condenser.control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 1 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H102.control_volume.properties_out[0.0].scaling_factor' that contains 1\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.H102.control_volume.scaling_factor'\n", - "that contains 1 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.F101.control_volume.properties_out[0.0].scaling_factor' that contains 26\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.F101.control_volume.properties_in[0.0].scaling_factor' that contains 25\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.F101.control_volume.scaling_factor'\n", - "that contains 1 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.R101.control_volume.properties_out[0.0].scaling_factor' that contains 25\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.R101.control_volume.properties_in[0.0].scaling_factor' that contains 25\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.R101.control_volume.scaling_factor'\n", - "that contains 2 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H101.control_volume.properties_out[0.0].scaling_factor' that contains 26\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H101.control_volume.properties_in[0.0].scaling_factor' that contains 25\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Complete.\n", - "\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.D101.condenser.control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 1 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H102.control_volume.properties_out[0.0].scaling_factor' that contains 1\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.H102.control_volume.scaling_factor'\n", - "that contains 1 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.F101.control_volume.properties_out[0.0].scaling_factor' that contains 26\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.F101.control_volume.properties_in[0.0].scaling_factor' that contains 25\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.F101.control_volume.scaling_factor'\n", - "that contains 1 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.R101.control_volume.properties_out[0.0].scaling_factor' that contains 25\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.R101.control_volume.properties_in[0.0].scaling_factor' that contains 25\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.R101.control_volume.scaling_factor'\n", - "that contains 2 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H101.control_volume.properties_out[0.0].scaling_factor' that contains 26\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H101.control_volume.properties_in[0.0].scaling_factor' that contains 25\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - } - ], + "outputs": [], "source": [ "from pyomo.common.log import LoggingIntercept\n", "import logging\n", @@ -1443,7 +372,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -1466,92 +395,9 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Costs in $1000:\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Equipmentfs.H101fs.R101fs.F101fs.F102fs.D101fs.H102
Distillation13.28333413.5522947.7813320.0000007.607433.32944
Two Flash13.28333410.7558787.7813327.7813320.000000.00000
\n", - "
" - ], - "text/plain": [ - "Equipment fs.H101 fs.R101 fs.F101 fs.F102 fs.D101 fs.H102\n", - "Distillation 13.283334 13.552294 7.781332 0.000000 7.60743 3.32944\n", - "Two Flash 13.283334 10.755878 7.781332 7.781332 0.00000 0.00000" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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Q0RERJLFIENERESSxSBDREREksUgQ0RERJLFIENERESSxSBDREREksUgQ0RERJJlaugCiIhIf7/8/SVDl0BN6mNDF2C0OCJDREREksUgQ0RERJLFIENERESSxSBDREREksUgQ0RERJLFIENERESSxSBDREREksUgQ0RERJLFIENERESSxSBDREREkmXQIBMQEIDk5GQUFxejuLgYCQkJ8PPz0y63sLDAli1bUFBQALVajT179qB9+/YGrJiIiIiMiUGDzB9//IHVq1fD3d0dzzzzDH766SccOHAAPXv2BABs2rQJY8eOxZQpU+Dt7Q0HBwdERUUZsmQiIiIyIgZ9aOTBgwd1Xr/55pt45ZVXMGjQIPzxxx+YN28epk+fjri4OADA3LlzkZ6eDg8PD5w6darWfZqbm8PCwkL7WiaTNd4bICIiIoMymmtkmjVrhmnTpsHKygqJiYlwd3eHubk5YmNjtetcvHgRCoUCnp6e993PmjVroFKptO3q1atNUT4REREZgMGDTO/evaFWq1FeXo7PP/8cEyZMQFpaGuRyOcrLy1FcXKyzvlKphFwuv+/+NmzYAGtra23r2LFjY78FIiIiMhCDnloC7o2y9OvXDzY2Npg8eTIiIyPh7e1d7/1pNBpoNJoGrJCIiIiMlcGDzN27d5GRkQEA+P333zFgwAAEBgZi165dsLCwgI2Njc6ojL29PfLz8w1VLhERERkRg59a+qtmzZrBwsICSUlJ0Gg08PX11S7r1q0bHB0dkZiYaMAKiYiIyFgYdETmvffew+HDh5GTkwOZTIbp06fDx8cHI0eOhEqlQnh4OEJDQ1FUVASVSoXNmzcjISHhvncsERER0ZPFoEGmffv2+Oqrr9ChQwcUFxfj3LlzGDlypPZOpaVLl6Kqqgp79+6FhYUFoqOjsXDhQkOWTEREREbEoEFm/vz5D1xeXl6ORYsWYdGiRU1UEREREUmJ0V0jQ0RERFRXDDJEREQkWQwyREREJFkMMkRERCRZDDJEREQkWQwyREREJFkMMkRERCRZDDJEREQkWQwyREREJFkMMkRERCRZDDJEREQkWQwyREREJFkMMkRERCRZDDJEREQkWQwyREREJFkMMkRERCRZDDJEREQkWaaGLoAaj/fwS4YugYiIqFFxRIaIiIgki0GGiIiIJItBhoiIiCTrkYKMubk5zM3NG6oW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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\flowsheets\\hda_flowsheet_with_costing_doc_23_2.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# Compare equipment purchase costs (actual capital costs)\n", "\n", @@ -1585,80 +431,9 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Costs in $1000:\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Utilitiescoolingheating
Distillation60.192008367.404722
Two Flash47.028803372.093536
\n", - "
" - ], - "text/plain": [ - "Utilities cooling heating\n", - "Distillation 60.192008 367.404722\n", - "Two Flash 47.028803 372.093536" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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EvLMz+Lq1au4evUqvv76a7i5ueHs2bMYN24c5syZ88ztIpIaT2MRyVDt2rWxfft2WFtb4+uvv9ZO9/b2xqlTp/DLL7/A399fpy1btgwAMHz48Kcue8GCBWjQoAG+//77EiP5durUCTNnzkRERITONUEAUKtWLYwdO7bE6/v37yM8PBwA8Msvv6Bp06b48MMPS92munXrPnPbi4qKIISAsbGxdpqDgwMGDRpUYt7s7OxnXqdUXkFBQXBzc9MZibh+/fplPqr05ZdfQqFQYPv27TA3Ny/R36lTJ22gPHz4MExMTDBhwgSdeaZMmYLi4mIEBARo1/9vly5dAgCYmZkB+PuzAFDi81AqlTqfJQBERESgqKhI+14ifccjO0Q1XJMmTbRfpBYWFmjTpg2GDBmCxo0bY/ny5di4cSMA4JVXXsELL7yAdevWlbqcxMREXLhwAd7e3li6dOkT17dr1y507twZkydPRps2bbBz505kZGSgU6dOGD16NNLS0vDuu++isLBQ530JCQmYOXMmmjdvjuvXr2PYsGHo2LEjPvzwQ+2827dvx9ChQ/H999+jR48eOHPmDIyNjeHk5IShQ4eib9++2mD0JIcOHcK0adMQGBiIXbt2wcbGBh9//DFu3rxZ4lEI4eHh6NWrF6ZMmYLExETcuXMH586de/oH/gxLly7F+++/jz///BNr165FdnY2/vOf/yAuLg7W1tbPPIISGhqKjz/+GN999x2io6Oxfft23LhxA0qlEh4eHhgwYAC++OILAMCBAwdw9OhRfP3112jevDkuX76MPn36YNCgQVi1ahVu374NAJg7dy66d++OQ4cOITY2FjY2Nhg/fjzi4+O1F1zfunULGRkZGDduHNRqNbKzsxEWFgYXFxesW7cOv/76K65fvw4TExPtkcF/B1oifSb5LWFsbGwVH1TwsaKiIvHw4UMREREhfvjhB9G5c2ededesWSOEEKJFixZPrGHu3LlCCCHat2//zHoHDBgggoKCRFpamsjNzRXXr18Xy5YtK/X25tIGFbxz544YP358iXlNTEzEp59+KiIiIkRubq5IS0sTf/31l5gzZ47OQIZC/D2oYGm1jRo1SsTExIjc3FwRGRkpfHx8xLx584T4O2lom6Ojozh+/LjIzs4WQpRtUMHStu3YsWM601xcXMSJEydEbm6uiIuLEzNnzhQTJkwQ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81FQUFDl20BERET6TW+u2TEyMsKwYcNgbm6O0NBQ7XRvb288ePAAERERWLRoEerUqaPtc3NzQ0REBO7fv6+dFhQUBCsrK7Rt2/aJ6zI1NYVSqdRpREREJE+SHtkBgHbt2iE0NBS1a9fGo0eP8PbbbyMqKgoAsGvXLsTGxiIxMRHOzs5YsmQJXnzxRQwePBgAoFKpShz1efxapVI9cZ2zZ8/G/Pnzq2aDiIiISK9IHnZiYmLQoUMHWFlZ4d1334Wfnx/c3d0RFRWFTZs2aee7evUqkpKScPToUbRs2RK3b9+u8DoXL16MlStXal8rlUokJCQ813YQERGRfpL8NFZBQQFu3bqFCxcu4LPPPsPly5cxadKkUucNCwsDALRu3RoAkJycDFtbW515Hr9OTk5+4jo1Gg3UarVOIyIiInmSPOz8m5GREczMzErt69ChAwAgKSkJABAaGor27dujUaNG2nl69+6NzMxM7QXOREREZNgkPY21aNEiBAQEIC4uDkqlEiNGjICHhwf69u2Lli1bYsSIETh8+DDS0tLg7OyMVatW4cSJE4iIiAAAHDlyBJGRkdi+fTtmzJgBlUqFhQsXYv369dBoNFJuGhEREekJScOOjY0Ntm3bhsaNGyMzMxNXrlxB3759ERwcjKZNm6JXr16YPHkyzM3NER8fD39/fyxcuFD7/uLiYvTr1w8bNmxAaGgosrOz4efnpzMuDxERERk2BQAhdRFSUyqVyMrKgqWlpcFdv1MsDkhdAlUjI0V/qUugasT927AY4v5d1u9vvbtmh4iIiKgyMewQERGRrDHsEBERkawx7BAREZGsMewQERGRrDHsEBERkawx7BAREZGsMewQERGRrDHsEBERkawx7BAREZGsMewQERGRrDHsEBERkawx7BAREZGsMewQERGRrDHsEBERkawx7BAREZGsMewQERGRrDHsEBERkawx7BAREZGsMewQERGRrDHsEBERkawx7BAREZGsMewQERGRrDHsEBERkawx7BAREZGsMewQERGRrDHsEBERkawx7BAREZGsMewQERGRrDHsEBERkaxJGnbGjRuHy5cvIzMzE5mZmTh79iy8vLy0/WZmZli3bh1SU1OhVqvx22+/wcbGRmcZzZo1w8GDB5GdnY2UlBQsXboUxsbG1b0pREREpKckDTv37t3DrFmz4OrqipdffhlH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tm2LAwd4jpiIiIj0R7nCTnh4OOzs7BAXF1dqf7169Uo96kNEREQklXKFne+//x7m5uZP7I+Li8OoUaOeuygiIiKiylKusPPHH388tf/hw4fYtm3b89RDREREVKnKfeu5sbExatWqpTNtzJgx2Lp1KyZMmFBphRERERFVhnKHnZ07d+LLL7/Uvv7oo4+wZs0amJubY+7cuVi0aFGlFkhERET0PModdjp16oTAwEDt67Fjx2Ly5MkYMmQIhgwZghEjRlRqgURERETPo8zX7Pz0008AgKZNm2LixInw8fGBQqGAi4sL3njjDbi5ucHExAR2dnbYvHkzgL9PbxERERFJqdzPxrp79y7ef/99nD59Gm+++SZWrVqlHTnZ0tIScXFxqFevXhWUWnX4bCwyFIb47BxDxv3bsBji/l3W7+9y3Y0FAMePH8fGjRuxbds2jBo1Cnv27NH2ubi44MaNGxWrmIiIiKgKlPuanalTp+L8+fMYMWIEjh49qnNB8qBBg7Bjx45KLZCIiIjoeZT7NJYc8TQWGQpDPMxtyLh/GxZD3L/L+v1d7iM7RERERDUJww4RERHJGsMOERERyRrDDhEREckaww4RERHJGsMOERERyRrDDhEREckaww4RERHJGsMOERERyRrDDhEREckaww4RERHJGsMOERERyRrDDhEREckaww4RERHJGsMOERERyZqkYef111/H/v37kZCQACEEBg4cqNO/ZcsWCCF0WkBAgM489evXx44dO5CZmYmMjAz8+OOPMDc3r87NICIiIj0madgxNzfH5cuX8fHHHz9xnoCAAKhUKm0bPny4Tv/OnTvRtm1b9O7dG/369UP37t2xcePGqi6diIiIaggTKVceGBiIwMDAp86Tn5+PlJSUUvucnJzwxhtv4OWXX0Z4eDgA4JNPPsHhw4cxffp0JCUlVXrNREREVLPo/TU7Hh4eSElJQXR0NL777js0aNBA2+fm5oaMjAxt0AGA4OBgFBcXo0uXLk9cpqmpKZRKpU4jIiIiedLrsBMYGIgPPvgAnp6emDlzJtzd3REQEAAjo7/LVqlUuH//vs57ioqKkJ6eDpVK9cTlzp49G1lZWdqWkJBQpdtBRERE0pH0NNaz7NmzR/vvq1ev4sqVK7h9+zY8PDxw9OjRCi938eLFWLlypfa1Uqlk4CEiIpIpvT6y82937tzBgwcP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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\flowsheets\\hda_flowsheet_with_costing_doc_24_2.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# Compare operating costs (per year)\n", "\n", @@ -1691,80 +466,9 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 12, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Costs in $1000:\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Costscapitaloperating
Distillation45.553829427.596731
Two Flash39.601876419.122339
\n", - "
" - ], - "text/plain": [ - "Costs capital operating\n", - "Distillation 45.553829 427.596731\n", - "Two Flash 39.601876 419.122339" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHvCAYAAACykR7/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABItklEQVR4nO3deXhN5/7H/U8GCYkkNIaYotTPPKdqahszVWMdtFUEp6paFKeGao1tVc1ztVVTPS0tqsaYKVIOSkMSYyTGICKJkNF6/vDYj32CymQnK+/Xdd1Xs+977bW/a8duPnsN97KTZAgAAMCk7G1dAAAAQFYi7AAAAFMj7AAAAFMj7AAAAFMj7AAAAFMj7AAAAFMj7AAAAFMj7AAAAFMj7AAAAFMj7ADIUmPGjJFhZN5E7Zm9vtzo448/VnBwsOzs7GxdiiSpUqVKSkpKUpUqVWxdCkyKsAOkUc+ePWUYhnx8fB45vnPnTgUGBlr1hYaGyjAMGYahlJQURUVF6e+//9aCBQv00ksvPfH1XnvtNRmGoUuXLj3VHydfX1/La/1T+yfFihXTmDFjVKNGjX9cNqMWLVpkVVt0dLSOHj2qIUOGyMnJKctf/2GVKlXSmDFjVLp06TQ9r0aNGlq2bJnCw8MVHx+vyMhIbd26VX5+frK3z/z/3abn9+Pm5qbhw4dr0qRJMgwj1fv+uLZo0SJJ9/99P9wfGRmpgwcPqlevXo/89+nr66tVq1bpypUrSkhIUEREhH7//Xd17NjRskxwcLA2bNig8ePHZ/xNAR7B0dYFALnFX3/9palTp0q6/wenUqVK6ty5s/r27atp06Zp6NChj3xet27dFBoaqjJlyqhJkybavn37E18nODhY77zzjlXfxIkTdfv2bX3xxRdpqrl48eIaO3aszp8/r2PHjqXpuekRHx+vf//735KkAgUKqFOnTpo6darq1Kmjt956K8tf/4HKlStr7Nix2rVrl8LCwp7qOX369NE333yjiIgILVu2TKdPn5abm5uaNm2qhQsXqlixYpo4cWKm1pme30/v3r3l6Oion376SZK0YMECbdu2zTJepkwZTZgwQQsWLNAff/xh6T979qzl5wsXLmjkyJGSpMKFC6tHjx764YcfVL58eUu/JI0dO1ZjxozRqVOntGDBAoWFhcnT01OtW7fW6tWr9fbbb1vq+Oabb7Rp0yaVLVtW586dS/+bAjyGQaPRnr717NnTMAzD8PHxeeT4zp07jcDAQKu+0NBQY926damWzZs3r7F69WrDMAyjX79+qcZdXFyM2NhY48MPPzQOHz5s/PDDD+mqOTAw0Ni5c2ean+fj42MYhmH07Nkz3e/XmDFjDOP+bqQntkWLFhmxsbFWfXZ2dsbBgwcNwzCMYsWKpWl9GWmdOnUyDMMwfH19n2r5unXrGklJScaePXuM/PnzP/J9zMh7mJm/n6NHjxpLly5N9zof9e87X758Rnh4uBEbG2s4OjpavYcrV6609D3cWrRoYbz++uuWx46OjkZkZKQxbty4LP3d0nJn4zAWYEPx8fHq3r27IiMjNWrUqFTjHTt2VL58+fTLL7/o559/1htvvCFnZ+dMee0yZcpo5cqVioyMVFxcnAICAtS6dWvLuK+vrw4dOiRJWrx4seWwRc+ePSVJL7/8slauXKmwsDDFx8crPDxc06ZNU968eTOlPkkyDEO7du2SJD3//POPXc7Pz0/bt29XRESE4uPjdeLECfXr1y/VcqGhoVq3bp0aNmyoAwcO6O7duzp79qy6d+9uWaZnz5769ddfJUm7du2ybLevr+9jX//BeUTdunXT7du3U40fPnxYS5YssTx2cXHRlClTLIe7QkJCHrlnr1mzZvrjjz8UFRWl2NhYhYSEWPbO/dPv51Gef/551ahRw2pPTma4e/eu/vzzT+XPn1+FCxeWJE2YMEGRkZHq3bu3kpOTUz1ny5Yt2rBhg+VxcnKydu3apfbt22dqbYDEOTtAunl4eMjT0zNVy5MnT5rWExcXpzVr1qhkyZKqXLmy1Vi3bt20c+dORURE6Oeff5abm5vatm2b4dqLFCmi/fv3q2XLlpo3b55GjRqlvHnz6vfff1eHDh0k3T8c9tlnn0m6f6jjnXfe0TvvvKM9e/ZIkjp37iwXFxfNnz9fAwYMkL+/vwYMGKClS5dmuL6HvfDCC5KkyMjIxy7z/vvvKywsTF9++aWGDh2qCxcuaP78+erfv3+qZcuVK6dff/1VW7du1dChQxUVFaXFixdb3vs9e/Zo5syZkqQvvvjCst3BwcGPfO18+fKpadOm2rNnjy5cuPBU2/T7779r8ODB2rx5s4YMGaKTJ09qypQpmjZtmmWZypUra/369XJ2dtbo0aM1dOhQ/f7772rYsKGkf/79PEqDBg0kSUeOHHmqOtOibNmySk5O1q1bt1SuXDlVqlRJv/322yPD3+McPnxYVatWlZubW6bXB9h89xKNlpPag8NYT/K0h7EetEGDBhmGYRht27a19BUuXNhITEw0+vTpY+nbu3evsWbNmjTX/L+HsaZNm2YYhmE0bNjQ0ufq6mqcPXvWOHfunGFnZ2dITz6kkTdv3lR9w4cPN1JSUoxSpUpZ+tJ6GMvT09Pw9PQ0ypYta4wYMcJISUkxjh49+sT1PaqWTZs2GWfOnEn1ezAMw3j55ZctfYUKFTLu3r1rTJ482dKXlsNY1apVMwzDMKZPn/5Uv4t27doZhmEYn3zyiVX/ypUrjZSUFKNs2bJW/yY8PT0fu660HsYaP368YRiG4erqmu517ty50wgKCrL8nipUqGDMmDHDMAzDWLt2rSHJaNu2rWEYhjFo0KA0/Tt98803DcMwjDp16qT53ziN9qTGCcpAOvXv31+nTp1K1T916lQ5ODikaV0Pvv0+/I32zTff1L1797Rq1SpL308//aSpU6eqQIECunXrVvoKl9S6dWsdOHBA+/bts/TFxcXp22+/1VdffaXKlSvrxIkTT1xHfHy85WcXFxfly5dP+/fvl729vWrVqvXUezkelj9/ft24ccOqb9++fVaHmf6pFnd3d+XJk0e7d+9Wq1at5O7urpiYGMv4iRMntHfvXsvjGzdu6OTJkypbtmya633wepIUGxv7VMu3bt1aycnJmjVrllX/1KlT1blzZ7322muaO3eu5ffbvn17yxVTGeXp6amkpCTFxcVlaD2VKlWy+j3du3dP69evV+/evSWl/T15ICoqSpJUqFChDNUH/C/CDpBOBw8e1OHDh1P1R0VFpfl/1vnz55dk/cfhnXfe0cGDBy2Hx6T7V3Q5Ozurc+fO+u6779Jde+nSpXXgwIFU/Q8O1ZQuXfofw06pUqU0fvx4tWvXTs8995zVmIeHR7rqunv3ruUwXUJCgkJDQ3Xp0qV/fF6DBg00btw41a9fX66urqlqeTjshIeHp3p+VFSUChYsmK6aH6z7aQ+9lC5dWpcvX051eOfh916SVqxYoX//+99auHChvvrqK23fvl2rV6/Wr7/+avN5hkJDQ/Xuu+/KMAzFx8fr9OnTun79umU8re/JAw8uXbf19sF8CDtANlC1alVJ0pkzZyTdP6/kwfw7D/oe1q1btwyFnYyyt7fX1q1b9dxzz2nSpEkKCQlRXFycSpQooSVLlqR7TpmUlJR/vLT+f5UtW1bbt29XSEiIhgwZogsXLigxMVGtW7fWkCFDUtWSkpLyyPWkd4K9M2fOKCkpSdWqVUvX8x8nPj5er776qho3bqzXX39drVq10ptvvqnt27erRYsWunfvXprXGRkZqTx58ih//vxpOpfmf8XFxT3x9xQSEiJJaX5PHgTO/927B2QUYQewMVdXV3Xs2FHh4eGWb/fdunVTYmKiunfvnuqP88svv6yBAweqVKlS6TpUJElhYWGqUKFCqv6KFStaxqXHf8OuVq2aKlSooB49emjZsmWW/mbNmqWrnoxo27at8ubNq3bt2lm9H40bN073OtOyZ+Hu3bvasWOHmjRpopIlS+rixYtPXD4sLEzNmjVLFTj+971/UMeOHTu0Y8cODR06VCNHjtSXX36pxo0ba/v27WneA/IghJQpUybVxJeZ6fTp0woJCVH79u01aNCgpz5sVqZMGaWkpDzy8DCQEVyNBdhQ3rx5tWzZMnl6elpN+NetWzf98ccfWrlypVatWmXVJk+eLEkZmmRv48aNqlu3rurVq2fpc3FxUd++fRUaGqqgoCBJsvyRKlCggNXzHwSw/90bMmjQoHTXlF6PqsXd3V29evVK9zoft92PM27cONnZ2WnZsmWpDqNJUu3atdWjRw9J9997R0dHffjhh1bLDB48WPfu3dOmTZsk6ZGH1Y4ePSpJlukH0lpnQECAJOnFF198quUzYsyYMSpUqJC+//77R57D1rx5c73++utWfT4+Pjpx4oTVYUcgM7BnB3hGSpQooW7dukm6f45O5cqV1blzZxUrVkxTpkzRt99+K0l66aWX9H//93+aM2fOI9dz+fJlHTlyRN26ddPXX3+drlq++uorvfXWW9q0aZNmzZqlmzdvqmfPnipTpow6depk2WNw9uxZRUVFqV+/foqNjVVcXJwOHDigkJAQnTlzRlOmTFGJEiUUExOjTp06pfu8l4zYsmWLEhIStG7dOi1YsED58+fXu+++q2vXrql48eLpWufRo0eVnJys4cOHy8PDQwkJCdqxY4fVeSkPCwgI0AcffKB58+YpJCTEagblRo0aqV27dvr0008lSevWrdOOHTv0xRdf6Pnnn9exY8fUokULdejQQdOnT7fMHjx69Gi9+uqr2rBhg8LCwlSkSBH1799fFy5csJxg/bjfz/nz5x9ZZ2hoqAIDA9WsWTPL7R+yysqVK1WtWjV9+umnqlWrln766SfLDMqtWrVSs2bNrAK7o6OjfH19NW/evCytC7mXzS8Jo9FyUkvvDMoPpKSkGLdu3TICAwONBQsWpLrMdubMmYZhGEaZMmUeW8Po0aMNwzCMatWqPVXNj5pBuUyZMsbKlSuNmzdvGnfu3DH+/PNPo3Xr1qme27ZtW+P48eNGYmKi1SXJFStWNLZs2WLExMQY165dMxYsWGC5DPvhy5YzMoPyo9qj1temTRvj6NGjxp07d4xz584ZH3/8seHn52cYhmGULl3a6vfwqCkAdu7cmer96dOnj3HmzBkjKSnpqS9Dr1WrlvHjjz8aFy9eNBISEozIyEhj69atRvfu3S2X80v3L/OfOnWqZbmTJ08aQ4cOtVpX48aNjTVr1hgXL1404uPjjYsXLxrLly83ypUr91S/n8e1jz76yIiJiXnk5fpS+mZQflJ7sB1Xr141EhMTjYiICGPt2rVW0yxIMlq2bGkYhmG88MILmfZZpdEeNLv/7wcAQC7g7u6uc+fOadiwYfrhhx9sXY7FmjVrZBiG3njjDVuXAhMi7ABALjNs2DD16tVLlStXzhaXeVesWFGBgYGqWbPmP055AKQHYQcAAJgaV2MBAABTI+wAAABTI+wAAABTI+wAAABTY1LB/0/x4sXTfIdeAABgW25ubrp8+fITlyHs6H7QeZo7KwMAgOynRIkSTww8hB3JskenRIkS7N0BACCHcHNz06VLl/7xbzdh5yGxsbGEHQAATIYTlAEAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKk52roA2NY9Y52tS8AzZG/X1tYlAMAzx54dAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgatwuAgBMitvB5C7cDubx2LMDAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMLduEneHDh8swDE2fPt3S5+zsrDlz5ujGjRuKjY3Vr7/+qiJFilg9r1SpUlq/fr3i4uIUERGhr7/+Wg4ODs+6fAAAkE1li7Dz4osv6r333tOxY8es+qdPn662bduqc+fO8vX1VfHixbV69WrLuL29vTZs2CAnJyc1aNBAPXv2lJ+fn8aPH/+sNwEAAGRTNg87rq6uWr58ud59911FRUVZ+t3d3dWnTx8NGTJEO3fu1JEjR9SrVy81bNhQdevWlSS1aNFClStX1jvvvKNjx45p8+bN+uyzz/TBBx8oT548ttokAACQjdg87MydO1cbNmzQ9u3brfp9fHzk5OSkbdu2WfpOnjypsLAw1a9fX5JUv359BQYG6tq1a5Zl/P395eHhoSpVqjz2NZ2cnOTm5mbVAACAOTna8sW7du2q2rVrq06dOqnGvLy8lJCQoOjoaKv+iIgIeXl5WZaJiIhINf5g7HFGjhypsWPHZrB6AACQE9hsz07JkiU1c+ZMdevWTQkJCc/0tSdOnCh3d3dLK1GixDN9fQAA8OzYLOz4+PioaNGiOnLkiJKSkpSUlKRGjRpp4MCBSkpKUkREhJydneXh4WH1vKJFi+rq1auSpKtXr6po0aKpxh+MPU5iYqJiY2OtGgAAMCebhZ3t27eratWqqlmzpqX997//1fLly1WzZk0dOnRIiYmJatq0qeU55cuXV+nSpRUQECBJCggIULVq1VS4cGHLMs2bN1d0dLSCgoKe+TYBAIDsx2bn7Ny+fVsnTpyw6ouLi1NkZKSlf+HChZo2bZpu3rypmJgYzZ49W/v379eBAwckSVu2bFFQUJCWLVumYcOGycvLS59//rnmzp2rxMTEZ75NAAAg+7HpCcr/ZPDgwbp3755WrVolZ2dn+fv7q3///pbxe/fuqU2bNpo/f74CAgIUFxenJUuWaPTo0TasGgAAZCd2kgxbF2Frbm5uiomJkbu7e647f+eesc7WJeAZsrdra+sS8Azx+c5dcuPn+2n/ftt8nh0AAICsRNgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmZtOw069fPx07dkzR0dGKjo7W/v371apVK8u4s7Oz5syZoxs3big2Nla//vqrihQpYrWOUqVKaf369YqLi1NERIS+/vprOTg4POtNAQAA2ZRNw87Fixc1YsQI+fj46MUXX9SOHTu0du1aVa5cWZI0ffp0tW3bVp07d5avr6+KFy+u1atXW55vb2+vDRs2yMnJSQ0aNFDPnj3l5+en8ePH22qTAABANmMnybB1EQ+LjIzUxx9/rF9//VXXr1/X22+/rVWrVkmSKlSooJCQENWrV08HDhxQq1attH79ehUvXlzXrl2TJL333nuaNGmSChcurKSkpKd6TTc3N8XExMjd3V2xsbFZtm3Z0T1jna1LwDNkb9fW1iXgGeLznbvkxs/30/79zjbn7Njb26tr165ydXVVQECAfHx85OTkpG3btlmWOXnypMLCwlS/fn1JUv369RUYGGgJOpLk7+8vDw8PValS5bGv5eTkJDc3N6sGAADMyeZhp2rVqoqNjVVCQoK++eYbdezYUcHBwfLy8lJCQoKio6Otlo+IiJCXl5ckycvLSxEREanGH4w9zsiRIxUTE2Nply5dyuStAgAA2YXNw87JkydVs2ZN1a1bV/Pnz9eSJUtUqVKlLH3NiRMnyt3d3dJKlCiRpa8HAABsJ81hx9HRUdu2bVO5cuUypYCkpCSdPXtWR44c0SeffKJj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cuPn+2n/fts07GQXhB3kFrnxf4a5GZ/v3CU3fr6zbJ4dAACAnISwAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATM2mYeeVV17R77//rkuXLskwDLVv3z7VMuPGjdPly5d1584dbd26VeXKlbMaL1iwoH788UdFR0crKipK33//vVxdXZ/VJgAAgGzOpmHH1dVVx44d0wcffPDI8WHDhmngwIHq16+f6tatq7i4OPn7+8vZ2dmyzPLly1WlShU1b95cbdq00auvvqpvv/32WW0CAADI5uwkGbYuQpIMw1CHDh20du1aS9/ly5c1depUTZ06VZLk7u6uiIgI+fn5acWKFapYsaKCg4P14osv6vDhw5Kkli1bauPGjSpZsqSuXLnyVK/t5uammJgYubu7KzY2NvM3Lhu7Z6yzdQl4huzt2tq6BDxDfL5zl9z4+X7av9+Oz7CmNClTpoyKFSumbdu2WfpiYmJ04MAB1a9fXytWrFD9+vUVFRVlCTqStG3bNt27d09169bVb7/99sh1Ozk5We0dcnNzy7LtALI7FxcXFSpUSHZ2drYuBel07949XblyRcnJybYuBciWsm3Y8fLykiRFRERY9UdERFjGvLy8dO3aNavxlJQU3bx507LMo4wcOVJjx47N3IKBHMbOzk69evVSo0aNbF0KMkF8fLxGjRql69ev27oUINvJtmEnK02cOFHTpk2zPHZzc9OlS5dsWBHw7PXq1Uu+vr5a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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\flowsheets\\hda_flowsheet_with_costing_doc_25_2.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# Compare total costs (capital costs and operating costs)\n", "\n", @@ -1804,18 +508,9 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Two flash case over one year: $459K / 4477 kmol benzene = $102.45 per kmol benzene produced\n", - "Distillation case over one year: $473K / 5108 kmol benzene = $92.63 per kmol benzene produced\n" - ] - } - ], + "outputs": [], "source": [ "two_flash_cost = value(1e3 * sum(two_flash_totcost[idx] for idx in two_flash_totcost))\n", "two_flash_prod = value(\n", @@ -1860,9 +555,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.8.12" } }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_costing_test.ipynb b/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_costing_test.ipynb index feceb84b..586036df 100644 --- a/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_costing_test.ipynb +++ b/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_costing_test.ipynb @@ -1,562 +1,563 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "# HDA Flowsheet Costing\n", + "Maintainer: Brandon Paul \n", + "Author: Brandon Paul \n", + "Updated: 2023-06-01 \n", + "\n", + "\n", + "## Note\n", + "\n", + "This example will demonstrate adding capital and operating costs to the two HDA examples, the basic [HDA with Flash](../tut/hda_flowsheet_solution_test.ipynb) and a comparison with the HDA with Distillation.\n", + "\n", + "\n", + "## Learning outcomes\n", + "\n", + "- Import external pre-built steady-state flowsheets using the IDAES unit model library\n", + "- Define and add costing blocks using the IDAES Process Costing Framework\n", + "- Fomulate and solve a process economics optimization problem\n", + " - Defining an objective function\n", + " - Setting variable bounds\n", + " - Adding additional constraints \n", + "\n", + "\n", + "## Problem Statement\n", + "\n", + "Hydrodealkylation is a chemical reaction that often involves reacting\n", + "an aromatic hydrocarbon in the presence of hydrogen gas to form a\n", + "simpler aromatic hydrocarbon devoid of functional groups. In this\n", + "example, toluene will be reacted with hydrogen gas at high temperatures\n", + " to form benzene via the following reaction:\n", + "\n", + "**C6H5CH3 + H2 \u2192 C6H6 + CH4**\n", + "\n", + "\n", + "This reaction is often accompanied by an equilibrium side reaction\n", + "which forms diphenyl, which we will neglect for this example.\n", + "\n", + "This example is based on the 1967 AIChE Student Contest problem as\n", + "present by Douglas, J.M., Chemical Design of Chemical Processes, 1988,\n", + "McGraw-Hill.\n", + "\n", + "Users may refer to the prior examples linked at the top of this notebook for detailed process descriptions of the two HDA configurations. As before, the properties required for this module are defined in\n", + "\n", + "- `hda_ideal_VLE.py`\n", + "- `idaes.models.properties.activity_coeff_models.BTX_activity_coeff_VLE`\n", + "- `hda_reaction.py`\n", + "\n", + "Additionally, we will be importing externally-defined flowsheets for the two HDA configurations from\n", + "\n", + "- `hda_flowsheets_for_costing_notebook.py`" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Import and run HDA Flowsheets\n", + "First, we will generate solved flowsheets for each HDA model. The external scripts build and set inputs for the flowsheets, initialize unit models and streams, and solve the flowsheets before returning the model objects. Note that the HDA flowsheets contain all unit models and stream connections, and no costing equations." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The flowsheet utilizes the Wegstein method to iteratively solve circular dependencies such as recycle streams, and is intended to approach a feasible solution. As such, the calls below will fail to converge after 3 iterations and pass to IPOPT to obtain an optimal solution as expected:" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Source file for prebuilt flowsheets\n", + "from hda_flowsheets_for_costing_notebook import hda_with_flash\n", + "\n", + "# Build hda model with second flash unit and return model object\n", + "m = hda_with_flash(tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## IDAES Process Costing Framework\n", + "IDAES provides a library of capital costing correlations based on those in the following source:\n", + "\n", + "*Process and Product Design Principles: Synthesis, Analysis, and Evaluation*. Seider, Seader, Lewin, Windagdo, 3rd Ed. John Wiley and Sons Chapter 22. Cost Accounting and Capital Cost Estimation 22.2 Cost Indexes and Capital Investment.\n", + "\n", + "Currently, IDAES supports calculation of capital costing for a wide array of unit operations, vesseel sizing and material properties, and specific unit options such as column tray types and heat exchanger configurations. Users may find further information on specific costing methods and options in the IDAES Process Costing Framework documentation (link pending).\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Add Operating Cost Equations\n", + "Before adding capital costing blocks, we will add operating cost equations taken from the basic [HDA with Flash](../tut/hda_flowsheet_solution_test.ipynb) and the HDA with Distillation examples. The examples assume constant cooling and heating coefficients over an annual cost basis. The IDAES Generic Costing Framework does not currently support variable cost calculations." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# Required imports\n", + "from pyomo.environ import Expression\n", + "\n", + "# Operating costs for HDA with second flash (model m)\n", + "m.fs.cooling_cost = Expression(\n", + " expr=0.212e-7 * (-m.fs.F101.heat_duty[0]) + 0.212e-7 * (-m.fs.R101.heat_duty[0])\n", + ")\n", + "m.fs.heating_cost = Expression(\n", + " expr=2.2e-7 * m.fs.H101.heat_duty[0] + 1.9e-7 * m.fs.F102.heat_duty[0]\n", + ")\n", + "m.fs.operating_cost = Expression(\n", + " expr=(3600 * 24 * 365 * (m.fs.heating_cost + m.fs.cooling_cost))\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Add Capital Costing\n", + "Below, we will add add capital costing blocks to the imported flowsheets and evaluate the economic impact of replacing the second Flash with a Distillation column. First, let's import and define the main flowsheet costing block:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# Import costing methods - classes, heaters, vessels, compressors, columns\n", + "from idaes.models.costing.SSLW import (\n", + " SSLWCosting,\n", + " SSLWCostingData,\n", + ")\n", + "from idaes.core import UnitModelCostingBlock\n", + "\n", + "# Costing block\n", + "m.fs.costing = SSLWCosting()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we will build the relevant costing blocks for the equipment we wish to cost. Note how the costing block, methods and flags are passed as arguments in the costing block call itself. Each unit model will have a single costing block, but each flowsheet model (m and n) will also have a single costing block for flowsheet-level properties.\n", + "\n", + "Users should note that IDAES costing methods support a wide array of heating sources (e.g. fired, steam boiler, hot water) and do not support direct capital costing of coolers. If users wish to cost Heater units acting as coolers, it is necessary to cost a \"dummy\" [0D shell and tube exchanger](https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/generic/unit_models/heat_exchanger.html) with appropriate aliased hot stream properties and proper cooling water properties. This is not demonstrated here, as the HDA examples take advantage of Flash and Condenser operations to recover liquid product.\n", + "\n", + "Capital costing is independent of unit model connections, and building cost equations may be done piecewise in this fashion. Default options are passed explicitly to demonstrate proper syntax and usage. Now that all required properties are defined, let's cost our models connecting costing blocks, methods and unit models in each flowsheet." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Flexibility of Costing Block Definitions\n", + "IDAES supports many ways to define batches of costing blocks, and several are shown in the example. Users may employ whichever method fits their modeling needs for explicit or concise code. In the code below, note how the unit model itself is never passed to the costing method; when the full model is executed, the costing block will automatically connect its parent block with child equation blocks.\n", + "\n", + "`Compressor` unit models with isothermal or adiabatic thermodynamics are too simple to cost and are therefore excluded from the economic analysis." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's define costing for the heater unit:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.models.costing.SSLW import (\n", + " HeaterMaterial,\n", + " HeaterSource,\n", + ")\n", + "\n", + "# Costing for heater - m.fs.H101\n", + "m.fs.H101.costing = UnitModelCostingBlock(\n", + " flowsheet_costing_block=m.fs.costing,\n", + " costing_method=SSLWCostingData.cost_fired_heater,\n", + " costing_method_arguments={\n", + " \"material_type\": HeaterMaterial.CarbonSteel,\n", + " \"heat_source\": HeaterSource.Fuel,\n", + " },\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The costing module provides a `unit_mapping` dictionary linking generic unit model classes with recommended costing methods. In this example, StoichiometricReactor and Flash vessels utilize different vessel costing methods with similar arguments. The diameter and length attributes need to exist in order to cost vessel sizing and material requirements, and we add them if they don't exist already. The `unit_mapping` method provides an opportunity to automatically select the correct vessel orientation (vertical or horizontal) based on the unit type; passing a `StoichiometricReactor` or `PFR` class object will call the `cost_horizontal_vessel` method, while passing a `Flash` or `CSTR` class object will call the `cost_vertical_vessel` method.\n", + "\n", + "All vessels are assigned costing succinctly via a loop below - users may define each block individually if desired:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.models.costing.SSLW import (\n", + " VesselMaterial,\n", + " TrayType,\n", + " TrayMaterial,\n", + ")\n", + "\n", + "from idaes.core.util.constants import Constants\n", + "from pyomo.environ import Var, Constraint, units as pyunits, Param, value\n", + "from idaes.models.unit_models import StoichiometricReactor, Flash\n", + "\n", + "# Map unit models to unit classes\n", + "# Will pass to unit_mapping which calls costing methods based on unit class\n", + "unit_class_mapping = {\n", + " m.fs.R101: StoichiometricReactor,\n", + " m.fs.F101: Flash,\n", + " m.fs.F102: Flash,\n", + "}\n", + "\n", + "# Costing for vessels - m.fs.R101, m.fs.F101, m.fs.F102\n", + "\n", + "# Loop over units\n", + "for unit in [m.fs.R101, m.fs.F101, m.fs.F102]:\n", + " # Get correct unit class for unit model\n", + " unit_class = unit_class_mapping[unit]\n", + "\n", + " # Add dimension variables and constraint if they don't exist\n", + " if not hasattr(unit, \"diameter\"):\n", + " unit.diameter = Var(initialize=1, units=pyunits.m)\n", + " if not hasattr(unit, \"length\"):\n", + " unit.length = Var(initialize=1, units=pyunits.m)\n", + " if hasattr(unit, \"volume\"): # if volume exists, set diameter from volume\n", + " unit.volume_eq = Constraint(\n", + " expr=unit.volume[0] == unit.length * unit.diameter**2 * 0.25 * Constants.pi\n", + " )\n", + " else: # fix diameter directly\n", + " unit.diameter.fix(0.2214 * pyunits.m)\n", + " # Either way, fix L/D to calculate L from D\n", + " unit.L_over_D = Constraint(expr=unit.length == 3 * unit.diameter)\n", + "\n", + " # Define vessel costing\n", + " unit.costing = UnitModelCostingBlock(\n", + " flowsheet_costing_block=unit.parent_block().costing, # e.g. m.fs.R101.costing\n", + " costing_method=SSLWCostingData.unit_mapping[\n", + " unit_class\n", + " ], # e.g. cost_vertical_vessel()\n", + " costing_method_arguments={\n", + " \"material_type\": VesselMaterial.CarbonSteel,\n", + " \"shell_thickness\": 1.25 * pyunits.inch,\n", + " },\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Solve Flowsheet Costing Blocks\n", + "Now, we may solve the full flowsheet for all costing blocks:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "# Eefine solver\n", + "from idaes.core.solvers import get_solver\n", + "\n", + "solver = get_solver()\n", + "\n", + "# Check that the degrees of freedom is zero\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "\n", + "assert degrees_of_freedom(m) == 0" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# Check physical units consistency, solve and check solver status\n", + "from pyomo.environ import TerminationCondition\n", + "from pyomo.util.check_units import assert_units_consistent\n", + "\n", + "assert_units_consistent(m)\n", + "results = solver.solve(m, tee=True, symbolic_solver_labels=True)\n", + "assert results.solver.termination_condition == TerminationCondition.optimal" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For comparison, we will call and build the HDA flowsheet replacing the second `Flash` with a `TrayColumn` distillation unit model. The flowsheet costing occurs in the external script `hda_flowsheets_for_costing_notebook.py` and is not shown here:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "from pyomo.common.log import LoggingIntercept\n", + "import logging\n", + "from io import StringIO\n", + "\n", + "stream = StringIO()\n", + "with LoggingIntercept(stream, \"idaes\", logging.WARNING):\n", + " # Source file for prebuilt flowsheets\n", + " from hda_flowsheets_for_costing_notebook import hda_with_distillation\n", + "\n", + " # Build hda model with distillation column and return model object\n", + " n = hda_with_distillation(tee=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Results Comparison and Visualization\n", + "For the two flowsheets above, let's sum the total operating and capital costs of each scenario. We will display overall process economics results and compare the two flowsheets:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "# Imports and data gathering\n", + "from matplotlib import pyplot as plt\n", + "\n", + "plt.style.use(\"dark_background\") # if using browser in dark mode, uncomment this line\n", + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "# Automatically get units that we costed - this will exclude C101 for both flowsheets\n", + "\n", + "two_flash_unitlist = [\n", + " getattr(m.fs, unit) for unit in dir(m.fs) if hasattr(getattr(m.fs, unit), \"costing\")\n", + "]\n", + "distillation_unitlist = [\n", + " getattr(n.fs, unit) for unit in dir(n.fs) if hasattr(getattr(n.fs, unit), \"costing\")\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "# Compare equipment purchase costs (actual capital costs)\n", + "\n", + "two_flash_capcost = {\n", + " unit.name: value(unit.costing.capital_cost / 1e3) for unit in two_flash_unitlist\n", + "}\n", + "distillation_capcost = {\n", + " unit.name: value(unit.costing.capital_cost / 1e3) for unit in distillation_unitlist\n", + "}\n", + "\n", + "two_flash_capdf = pd.DataFrame(\n", + " list(two_flash_capcost.items()), columns=[\"Equipment\", \"Two Flash\"]\n", + ").set_index(\"Equipment\")\n", + "distillation_capdf = pd.DataFrame(\n", + " list(distillation_capcost.items()), columns=[\"Equipment\", \"Distillation\"]\n", + ").set_index(\"Equipment\")\n", + "\n", + "# Add dataframes, merge same indices, replace NaNs with 0s, and transpose\n", + "capcosts = two_flash_capdf.add(distillation_capdf, fill_value=0).fillna(0).transpose()\n", + "\n", + "# Sort according to an easier order to view\n", + "capcosts = capcosts[[\"fs.H101\", \"fs.R101\", \"fs.F101\", \"fs.F102\", \"fs.D101\", \"fs.H102\"]]\n", + "\n", + "print(\"Costs in $1000:\")\n", + "display(capcosts) # view dataframe before plotting\n", + "\n", + "capplot = capcosts.plot(\n", + " kind=\"bar\", stacked=True, title=\"HDA Total Capital Costs\", ylabel=\"$1000\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "# Compare operating costs (per year)\n", + "\n", + "two_flash_opcost = {\n", + " \"cooling\": value(3600 * 24 * 365 * m.fs.cooling_cost / 1e3),\n", + " \"heating\": value(3600 * 24 * 365 * m.fs.heating_cost / 1e3),\n", + "}\n", + "distillation_opcost = {\n", + " \"cooling\": value(3600 * 24 * 365 * n.fs.cooling_cost / 1e3),\n", + " \"heating\": value(3600 * 24 * 365 * n.fs.heating_cost / 1e3),\n", + "}\n", + "\n", + "two_flash_opdf = pd.DataFrame(\n", + " list(two_flash_opcost.items()), columns=[\"Utilities\", \"Two Flash\"]\n", + ").set_index(\"Utilities\")\n", + "distillation_opdf = pd.DataFrame(\n", + " list(distillation_opcost.items()), columns=[\"Utilities\", \"Distillation\"]\n", + ").set_index(\"Utilities\")\n", + "\n", + "# Add dataframes, merge same indices, replace NaNs with 0s, and transpose\n", + "opcosts = two_flash_opdf.add(distillation_opdf, fill_value=0).fillna(0).transpose()\n", + "\n", + "print(\"Costs in $1000:\")\n", + "display(opcosts) # view dataframe before plotting\n", + "\n", + "opplot = opcosts.plot(\n", + " kind=\"bar\", stacked=True, title=\"HDA Operating Costs\", ylabel=\"$1000/year\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "# Compare total costs (capital costs and operating costs)\n", + "\n", + "two_flash_totcost = {\n", + " \"capital\": sum(two_flash_capcost[idx] for idx in two_flash_capcost),\n", + " \"operating\": value(m.fs.operating_cost) / 1e3,\n", + "}\n", + "distillation_totcost = {\n", + " \"capital\": sum(distillation_capcost[idx] for idx in distillation_capcost),\n", + " \"operating\": value(n.fs.operating_cost) / 1e3,\n", + "}\n", + "\n", + "two_flash_totdf = pd.DataFrame(\n", + " list(two_flash_totcost.items()), columns=[\"Costs\", \"Two Flash\"]\n", + ").set_index(\"Costs\")\n", + "distillation_totdf = pd.DataFrame(\n", + " list(distillation_totcost.items()), columns=[\"Costs\", \"Distillation\"]\n", + ").set_index(\"Costs\")\n", + "\n", + "# Add dataframes, merge same indices, replace NaNs with 0s, and transpose\n", + "totcosts = two_flash_totdf.add(distillation_totdf, fill_value=0).fillna(0).transpose()\n", + "\n", + "print(\"Costs in $1000:\")\n", + "display(totcosts) # view dataframe before plotting\n", + "\n", + "totplot = totcosts.plot(\n", + " kind=\"bar\", stacked=True, title=\"HDA Total Plant Cost (TPC)\", ylabel=\"$1000/year\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, let's compare the total costs on a production basis. This will account for the greater efficiency provided by the distillation column relative to the less-expensive second flash unit:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "two_flash_cost = value(1e3 * sum(two_flash_totcost[idx] for idx in two_flash_totcost))\n", + "two_flash_prod = value(\n", + " m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"] * 365 * 24 * 3600\n", + ")\n", + "distillation_cost = value(\n", + " 1e3 * sum(distillation_totcost[idx] for idx in distillation_totcost)\n", + ")\n", + "distillation_prod = value(n.fs.D101.condenser.distillate.flow_mol[0] * 365 * 24 * 3600)\n", + "\n", + "print(\n", + " f\"Two flash case over one year: ${two_flash_cost/1e3:0.0f}K / {two_flash_prod/1e3:0.0f} kmol benzene = ${two_flash_cost/(two_flash_prod/1e3):0.2f} per kmol benzene produced\"\n", + ")\n", + "print(\n", + " f\"Distillation case over one year: ${distillation_cost/1e3:0.0f}K / {distillation_prod/1e3:0.0f} kmol benzene = ${distillation_cost/(distillation_prod/1e3):0.2f} per kmol benzene produced\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Summary\n", + "In this example, IDAES Process Costing Framework methods were applied to two HDA flowsheets for capital cost estimation. The costing blocks calls showcased multiple methods to define unit costing, demonstrating the flexibility and best practice of the costing framework. In the basic examples, the two-flash HDA did not include costing and the distillation HDA estimated a reactor capital cost comprising 3.3% of the total plant cost (TPC). With more rigorous costing, IDAES obtained total capital costs of 8.5% TPC (two flash HDA) and 9.6% (distillation HDA) and better modeled the impact of equipment cost on process economics. As printed above, the IDAES Process Costing Framework confirmed that replacing the second flash drum with a distillation column results in increased equipment costs, increased production and decreased cost per unit product." + ] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.12" + } }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "# HDA Flowsheet Costing\n", - "Maintainer: Brandon Paul \n", - "Author: Brandon Paul \n", - "Updated: 2023-06-01 \n", - "\n", - "\n", - "## Note\n", - "\n", - "This example will demonstrate adding capital and operating costs to the two HDA examples, the basic [HDA with Flash](../tut/hda_flowsheet_solution_test.ipynb) and a comparison with the HDA with Distillation.\n", - "\n", - "\n", - "## Learning outcomes\n", - "\n", - "- Import external pre-built steady-state flowsheets using the IDAES unit model library\n", - "- Define and add costing blocks using the IDAES Process Costing Framework\n", - "- Fomulate and solve a process economics optimization problem\n", - " - Defining an objective function\n", - " - Setting variable bounds\n", - " - Adding additional constraints \n", - "\n", - "\n", - "## Problem Statement\n", - "\n", - "Hydrodealkylation is a chemical reaction that often involves reacting\n", - "an aromatic hydrocarbon in the presence of hydrogen gas to form a\n", - "simpler aromatic hydrocarbon devoid of functional groups. In this\n", - "example, toluene will be reacted with hydrogen gas at high temperatures\n", - " to form benzene via the following reaction:\n", - "\n", - "**C6H5CH3 + H2 → C6H6 + CH4**\n", - "\n", - "\n", - "This reaction is often accompanied by an equilibrium side reaction\n", - "which forms diphenyl, which we will neglect for this example.\n", - "\n", - "This example is based on the 1967 AIChE Student Contest problem as\n", - "present by Douglas, J.M., Chemical Design of Chemical Processes, 1988,\n", - "McGraw-Hill.\n", - "\n", - "Users may refer to the prior examples linked at the top of this notebook for detailed process descriptions of the two HDA configurations. As before, the properties required for this module are defined in\n", - "\n", - "- `hda_ideal_VLE.py`\n", - "- `idaes.models.properties.activity_coeff_models.BTX_activity_coeff_VLE`\n", - "- `hda_reaction.py`\n", - "\n", - "Additionally, we will be importing externally-defined flowsheets for the two HDA configurations from\n", - "\n", - "- `hda_flowsheets_for_costing_notebook.py`" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Import and run HDA Flowsheets\n", - "First, we will generate solved flowsheets for each HDA model. The external scripts build and set inputs for the flowsheets, initialize unit models and streams, and solve the flowsheets before returning the model objects. Note that the HDA flowsheets contain all unit models and stream connections, and no costing equations." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The flowsheet utilizes the Wegstein method to iteratively solve circular dependencies such as recycle streams, and is intended to approach a feasible solution. As such, the calls below will fail to converge after 3 iterations and pass to IPOPT to obtain an optimal solution as expected:" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "# Source file for prebuilt flowsheets\n", - "from hda_flowsheets_for_costing_notebook import hda_with_flash\n", - "\n", - "# Build hda model with second flash unit and return model object\n", - "m = hda_with_flash(tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## IDAES Process Costing Framework\n", - "IDAES provides a library of capital costing correlations based on those in the following source:\n", - "\n", - "*Process and Product Design Principles: Synthesis, Analysis, and Evaluation*. Seider, Seader, Lewin, Windagdo, 3rd Ed. John Wiley and Sons Chapter 22. Cost Accounting and Capital Cost Estimation 22.2 Cost Indexes and Capital Investment.\n", - "\n", - "Currently, IDAES supports calculation of capital costing for a wide array of unit operations, vesseel sizing and material properties, and specific unit options such as column tray types and heat exchanger configurations. Users may find further information on specific costing methods and options in the IDAES Process Costing Framework documentation (link pending).\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Add Operating Cost Equations\n", - "Before adding capital costing blocks, we will add operating cost equations taken from the basic [HDA with Flash](../tut/hda_flowsheet_solution_test.ipynb) and the HDA with Distillation examples. The examples assume constant cooling and heating coefficients over an annual cost basis. The IDAES Generic Costing Framework does not currently support variable cost calculations." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "# Required imports\n", - "from pyomo.environ import Expression\n", - "\n", - "# Operating costs for HDA with second flash (model m)\n", - "m.fs.cooling_cost = Expression(\n", - " expr=0.212e-7 * (-m.fs.F101.heat_duty[0]) + 0.212e-7 * (-m.fs.R101.heat_duty[0])\n", - ")\n", - "m.fs.heating_cost = Expression(\n", - " expr=2.2e-7 * m.fs.H101.heat_duty[0] + 1.9e-7 * m.fs.F102.heat_duty[0]\n", - ")\n", - "m.fs.operating_cost = Expression(\n", - " expr=(3600 * 24 * 365 * (m.fs.heating_cost + m.fs.cooling_cost))\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Add Capital Costing\n", - "Below, we will add add capital costing blocks to the imported flowsheets and evaluate the economic impact of replacing the second Flash with a Distillation column. First, let's import and define the main flowsheet costing block:" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "# Import costing methods - classes, heaters, vessels, compressors, columns\n", - "from idaes.models.costing.SSLW import (\n", - " SSLWCosting,\n", - " SSLWCostingData,\n", - ")\n", - "from idaes.core import UnitModelCostingBlock\n", - "\n", - "# Costing block\n", - "m.fs.costing = SSLWCosting()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we will build the relevant costing blocks for the equipment we wish to cost. Note how the costing block, methods and flags are passed as arguments in the costing block call itself. Each unit model will have a single costing block, but each flowsheet model (m and n) will also have a single costing block for flowsheet-level properties.\n", - "\n", - "Users should note that IDAES costing methods support a wide array of heating sources (e.g. fired, steam boiler, hot water) and do not support direct capital costing of coolers. If users wish to cost Heater units acting as coolers, it is necessary to cost a \"dummy\" [0D shell and tube exchanger](https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/generic/unit_models/heat_exchanger.html) with appropriate aliased hot stream properties and proper cooling water properties. This is not demonstrated here, as the HDA examples take advantage of Flash and Condenser operations to recover liquid product.\n", - "\n", - "Capital costing is independent of unit model connections, and building cost equations may be done piecewise in this fashion. Default options are passed explicitly to demonstrate proper syntax and usage. Now that all required properties are defined, let's cost our models connecting costing blocks, methods and unit models in each flowsheet." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Flexibility of Costing Block Definitions\n", - "IDAES supports many ways to define batches of costing blocks, and several are shown in the example. Users may employ whichever method fits their modeling needs for explicit or concise code. In the code below, note how the unit model itself is never passed to the costing method; when the full model is executed, the costing block will automatically connect its parent block with child equation blocks.\n", - "\n", - "`Compressor` unit models with isothermal or adiabatic thermodynamics are too simple to cost and are therefore excluded from the economic analysis." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's define costing for the heater unit:" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.models.costing.SSLW import (\n", - " HeaterMaterial,\n", - " HeaterSource,\n", - ")\n", - "\n", - "# Costing for heater - m.fs.H101\n", - "m.fs.H101.costing = UnitModelCostingBlock(\n", - " flowsheet_costing_block=m.fs.costing,\n", - " costing_method=SSLWCostingData.cost_fired_heater,\n", - " costing_method_arguments={\n", - " \"material_type\": HeaterMaterial.CarbonSteel,\n", - " \"heat_source\": HeaterSource.Fuel,\n", - " },\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The costing module provides a `unit_mapping` dictionary linking generic unit model classes with recommended costing methods. In this example, StoichiometricReactor and Flash vessels utilize different vessel costing methods with similar arguments. The diameter and length attributes need to exist in order to cost vessel sizing and material requirements, and we add them if they don't exist already. The `unit_mapping` method provides an opportunity to automatically select the correct vessel orientation (vertical or horizontal) based on the unit type; passing a `StoichiometricReactor` or `PFR` class object will call the `cost_horizontal_vessel` method, while passing a `Flash` or `CSTR` class object will call the `cost_vertical_vessel` method.\n", - "\n", - "All vessels are assigned costing succinctly via a loop below - users may define each block individually if desired:" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.models.costing.SSLW import (\n", - " VesselMaterial,\n", - " TrayType,\n", - " TrayMaterial,\n", - ")\n", - "\n", - "from idaes.core.util.constants import Constants\n", - "from pyomo.environ import Var, Constraint, units as pyunits, Param, value\n", - "from idaes.models.unit_models import StoichiometricReactor, Flash\n", - "\n", - "# Map unit models to unit classes\n", - "# Will pass to unit_mapping which calls costing methods based on unit class\n", - "unit_class_mapping = {\n", - " m.fs.R101: StoichiometricReactor,\n", - " m.fs.F101: Flash,\n", - " m.fs.F102: Flash,\n", - "}\n", - "\n", - "# Costing for vessels - m.fs.R101, m.fs.F101, m.fs.F102\n", - "\n", - "# Loop over units\n", - "for unit in [m.fs.R101, m.fs.F101, m.fs.F102]:\n", - " # Get correct unit class for unit model\n", - " unit_class = unit_class_mapping[unit]\n", - "\n", - " # Add dimension variables and constraint if they don't exist\n", - " if not hasattr(unit, \"diameter\"):\n", - " unit.diameter = Var(initialize=1, units=pyunits.m)\n", - " if not hasattr(unit, \"length\"):\n", - " unit.length = Var(initialize=1, units=pyunits.m)\n", - " if hasattr(unit, \"volume\"): # if volume exists, set diameter from volume\n", - " unit.volume_eq = Constraint(\n", - " expr=unit.volume[0] == unit.length * unit.diameter**2 * 0.25 * Constants.pi\n", - " )\n", - " else: # fix diameter directly\n", - " unit.diameter.fix(0.2214 * pyunits.m)\n", - " # Either way, fix L/D to calculate L from D\n", - " unit.L_over_D = Constraint(expr=unit.length == 3 * unit.diameter)\n", - "\n", - " # Define vessel costing\n", - " unit.costing = UnitModelCostingBlock(\n", - " flowsheet_costing_block=unit.parent_block().costing, # e.g. m.fs.R101.costing\n", - " costing_method=SSLWCostingData.unit_mapping[\n", - " unit_class\n", - " ], # e.g. cost_vertical_vessel()\n", - " costing_method_arguments={\n", - " \"material_type\": VesselMaterial.CarbonSteel,\n", - " \"shell_thickness\": 1.25 * pyunits.inch,\n", - " },\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Solve Flowsheet Costing Blocks\n", - "Now, we may solve the full flowsheet for all costing blocks:" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "# Eefine solver\n", - "from idaes.core.solvers import get_solver\n", - "\n", - "solver = get_solver()\n", - "\n", - "# Check that the degrees of freedom is zero\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "\n", - "assert degrees_of_freedom(m) == 0" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "# Check physical units consistency, solve and check solver status\n", - "from pyomo.environ import TerminationCondition\n", - "from pyomo.util.check_units import assert_units_consistent\n", - "\n", - "assert_units_consistent(m)\n", - "results = solver.solve(m, tee=True, symbolic_solver_labels=True)\n", - "assert results.solver.termination_condition == TerminationCondition.optimal" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For comparison, we will call and build the HDA flowsheet replacing the second `Flash` with a `TrayColumn` distillation unit model. The flowsheet costing occurs in the external script `hda_flowsheets_for_costing_notebook.py` and is not shown here:" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "from pyomo.common.log import LoggingIntercept\n", - "import logging\n", - "from io import StringIO\n", - "\n", - "stream = StringIO()\n", - "with LoggingIntercept(stream, \"idaes\", logging.WARNING):\n", - " # Source file for prebuilt flowsheets\n", - " from hda_flowsheets_for_costing_notebook import hda_with_distillation\n", - "\n", - " # Build hda model with distillation column and return model object\n", - " n = hda_with_distillation(tee=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Results Comparison and Visualization\n", - "For the two flowsheets above, let's sum the total operating and capital costs of each scenario. We will display overall process economics results and compare the two flowsheets:" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "# Imports and data gathering\n", - "from matplotlib import pyplot as plt\n", - "\n", - "plt.style.use(\"dark_background\") # if using browser in dark mode, uncomment this line\n", - "import numpy as np\n", - "import pandas as pd\n", - "\n", - "# Automatically get units that we costed - this will exclude C101 for both flowsheets\n", - "\n", - "two_flash_unitlist = [\n", - " getattr(m.fs, unit) for unit in dir(m.fs) if hasattr(getattr(m.fs, unit), \"costing\")\n", - "]\n", - "distillation_unitlist = [\n", - " getattr(n.fs, unit) for unit in dir(n.fs) if hasattr(getattr(n.fs, unit), \"costing\")\n", - "]" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "# Compare equipment purchase costs (actual capital costs)\n", - "\n", - "two_flash_capcost = {\n", - " unit.name: value(unit.costing.capital_cost / 1e3) for unit in two_flash_unitlist\n", - "}\n", - "distillation_capcost = {\n", - " unit.name: value(unit.costing.capital_cost / 1e3) for unit in distillation_unitlist\n", - "}\n", - "\n", - "two_flash_capdf = pd.DataFrame(\n", - " list(two_flash_capcost.items()), columns=[\"Equipment\", \"Two Flash\"]\n", - ").set_index(\"Equipment\")\n", - "distillation_capdf = pd.DataFrame(\n", - " list(distillation_capcost.items()), columns=[\"Equipment\", \"Distillation\"]\n", - ").set_index(\"Equipment\")\n", - "\n", - "# Add dataframes, merge same indices, replace NaNs with 0s, and transpose\n", - "capcosts = two_flash_capdf.add(distillation_capdf, fill_value=0).fillna(0).transpose()\n", - "\n", - "# Sort according to an easier order to view\n", - "capcosts = capcosts[[\"fs.H101\", \"fs.R101\", \"fs.F101\", \"fs.F102\", \"fs.D101\", \"fs.H102\"]]\n", - "\n", - "print(\"Costs in $1000:\")\n", - "display(capcosts) # view dataframe before plotting\n", - "\n", - "capplot = capcosts.plot(\n", - " kind=\"bar\", stacked=True, title=\"HDA Total Capital Costs\", ylabel=\"$1000\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "# Compare operating costs (per year)\n", - "\n", - "two_flash_opcost = {\n", - " \"cooling\": value(3600 * 24 * 365 * m.fs.cooling_cost / 1e3),\n", - " \"heating\": value(3600 * 24 * 365 * m.fs.heating_cost / 1e3),\n", - "}\n", - "distillation_opcost = {\n", - " \"cooling\": value(3600 * 24 * 365 * n.fs.cooling_cost / 1e3),\n", - " \"heating\": value(3600 * 24 * 365 * n.fs.heating_cost / 1e3),\n", - "}\n", - "\n", - "two_flash_opdf = pd.DataFrame(\n", - " list(two_flash_opcost.items()), columns=[\"Utilities\", \"Two Flash\"]\n", - ").set_index(\"Utilities\")\n", - "distillation_opdf = pd.DataFrame(\n", - " list(distillation_opcost.items()), columns=[\"Utilities\", \"Distillation\"]\n", - ").set_index(\"Utilities\")\n", - "\n", - "# Add dataframes, merge same indices, replace NaNs with 0s, and transpose\n", - "opcosts = two_flash_opdf.add(distillation_opdf, fill_value=0).fillna(0).transpose()\n", - "\n", - "print(\"Costs in $1000:\")\n", - "display(opcosts) # view dataframe before plotting\n", - "\n", - "opplot = opcosts.plot(\n", - " kind=\"bar\", stacked=True, title=\"HDA Operating Costs\", ylabel=\"$1000/year\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "# Compare total costs (capital costs and operating costs)\n", - "\n", - "two_flash_totcost = {\n", - " \"capital\": sum(two_flash_capcost[idx] for idx in two_flash_capcost),\n", - " \"operating\": value(m.fs.operating_cost) / 1e3,\n", - "}\n", - "distillation_totcost = {\n", - " \"capital\": sum(distillation_capcost[idx] for idx in distillation_capcost),\n", - " \"operating\": value(n.fs.operating_cost) / 1e3,\n", - "}\n", - "\n", - "two_flash_totdf = pd.DataFrame(\n", - " list(two_flash_totcost.items()), columns=[\"Costs\", \"Two Flash\"]\n", - ").set_index(\"Costs\")\n", - "distillation_totdf = pd.DataFrame(\n", - " list(distillation_totcost.items()), columns=[\"Costs\", \"Distillation\"]\n", - ").set_index(\"Costs\")\n", - "\n", - "# Add dataframes, merge same indices, replace NaNs with 0s, and transpose\n", - "totcosts = two_flash_totdf.add(distillation_totdf, fill_value=0).fillna(0).transpose()\n", - "\n", - "print(\"Costs in $1000:\")\n", - "display(totcosts) # view dataframe before plotting\n", - "\n", - "totplot = totcosts.plot(\n", - " kind=\"bar\", stacked=True, title=\"HDA Total Plant Cost (TPC)\", ylabel=\"$1000/year\"\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finally, let's compare the total costs on a production basis. This will account for the greater efficiency provided by the distillation column relative to the less-expensive second flash unit:" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "two_flash_cost = value(1e3 * sum(two_flash_totcost[idx] for idx in two_flash_totcost))\n", - "two_flash_prod = value(\n", - " m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"] * 365 * 24 * 3600\n", - ")\n", - "distillation_cost = value(\n", - " 1e3 * sum(distillation_totcost[idx] for idx in distillation_totcost)\n", - ")\n", - "distillation_prod = value(n.fs.D101.condenser.distillate.flow_mol[0] * 365 * 24 * 3600)\n", - "\n", - "print(\n", - " f\"Two flash case over one year: ${two_flash_cost/1e3:0.0f}K / {two_flash_prod/1e3:0.0f} kmol benzene = ${two_flash_cost/(two_flash_prod/1e3):0.2f} per kmol benzene produced\"\n", - ")\n", - "print(\n", - " f\"Distillation case over one year: ${distillation_cost/1e3:0.0f}K / {distillation_prod/1e3:0.0f} kmol benzene = ${distillation_cost/(distillation_prod/1e3):0.2f} per kmol benzene produced\"\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Summary\n", - "In this example, IDAES Process Costing Framework methods were applied to two HDA flowsheets for capital cost estimation. The costing blocks calls showcased multiple methods to define unit costing, demonstrating the flexibility and best practice of the costing framework. In the basic examples, the two-flash HDA did not include costing and the distillation HDA estimated a reactor capital cost comprising 3.3% of the total plant cost (TPC). With more rigorous costing, IDAES obtained total capital costs of 8.5% TPC (two flash HDA) and 9.6% (distillation HDA) and better modeled the impact of equipment cost on process economics. As printed above, the IDAES Process Costing Framework confirmed that replacing the second flash drum with a distillation column results in increased equipment costs, increased production and decreased cost per unit product." - ] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.12" - } - }, - "nbformat": 4, - "nbformat_minor": 3 -} + "nbformat": 4, + "nbformat_minor": 3 +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_costing_usr.ipynb b/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_costing_usr.ipynb index 8c04460d..1dc29b42 100644 --- a/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_costing_usr.ipynb +++ b/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_costing_usr.ipynb @@ -1,562 +1,563 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "# HDA Flowsheet Costing\n", + "Maintainer: Brandon Paul \n", + "Author: Brandon Paul \n", + "Updated: 2023-06-01 \n", + "\n", + "\n", + "## Note\n", + "\n", + "This example will demonstrate adding capital and operating costs to the two HDA examples, the basic [HDA with Flash](../tut/hda_flowsheet_solution_usr.ipynb) and a comparison with the HDA with Distillation.\n", + "\n", + "\n", + "## Learning outcomes\n", + "\n", + "- Import external pre-built steady-state flowsheets using the IDAES unit model library\n", + "- Define and add costing blocks using the IDAES Process Costing Framework\n", + "- Fomulate and solve a process economics optimization problem\n", + " - Defining an objective function\n", + " - Setting variable bounds\n", + " - Adding additional constraints \n", + "\n", + "\n", + "## Problem Statement\n", + "\n", + "Hydrodealkylation is a chemical reaction that often involves reacting\n", + "an aromatic hydrocarbon in the presence of hydrogen gas to form a\n", + "simpler aromatic hydrocarbon devoid of functional groups. In this\n", + "example, toluene will be reacted with hydrogen gas at high temperatures\n", + " to form benzene via the following reaction:\n", + "\n", + "**C6H5CH3 + H2 \u2192 C6H6 + CH4**\n", + "\n", + "\n", + "This reaction is often accompanied by an equilibrium side reaction\n", + "which forms diphenyl, which we will neglect for this example.\n", + "\n", + "This example is based on the 1967 AIChE Student Contest problem as\n", + "present by Douglas, J.M., Chemical Design of Chemical Processes, 1988,\n", + "McGraw-Hill.\n", + "\n", + "Users may refer to the prior examples linked at the top of this notebook for detailed process descriptions of the two HDA configurations. As before, the properties required for this module are defined in\n", + "\n", + "- `hda_ideal_VLE.py`\n", + "- `idaes.models.properties.activity_coeff_models.BTX_activity_coeff_VLE`\n", + "- `hda_reaction.py`\n", + "\n", + "Additionally, we will be importing externally-defined flowsheets for the two HDA configurations from\n", + "\n", + "- `hda_flowsheets_for_costing_notebook.py`" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Import and run HDA Flowsheets\n", + "First, we will generate solved flowsheets for each HDA model. The external scripts build and set inputs for the flowsheets, initialize unit models and streams, and solve the flowsheets before returning the model objects. Note that the HDA flowsheets contain all unit models and stream connections, and no costing equations." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The flowsheet utilizes the Wegstein method to iteratively solve circular dependencies such as recycle streams, and is intended to approach a feasible solution. As such, the calls below will fail to converge after 3 iterations and pass to IPOPT to obtain an optimal solution as expected:" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Source file for prebuilt flowsheets\n", + "from hda_flowsheets_for_costing_notebook import hda_with_flash\n", + "\n", + "# Build hda model with second flash unit and return model object\n", + "m = hda_with_flash(tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## IDAES Process Costing Framework\n", + "IDAES provides a library of capital costing correlations based on those in the following source:\n", + "\n", + "*Process and Product Design Principles: Synthesis, Analysis, and Evaluation*. Seider, Seader, Lewin, Windagdo, 3rd Ed. John Wiley and Sons Chapter 22. Cost Accounting and Capital Cost Estimation 22.2 Cost Indexes and Capital Investment.\n", + "\n", + "Currently, IDAES supports calculation of capital costing for a wide array of unit operations, vesseel sizing and material properties, and specific unit options such as column tray types and heat exchanger configurations. Users may find further information on specific costing methods and options in the IDAES Process Costing Framework documentation (link pending).\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Add Operating Cost Equations\n", + "Before adding capital costing blocks, we will add operating cost equations taken from the basic [HDA with Flash](../tut/hda_flowsheet_solution_usr.ipynb) and the HDA with Distillation examples. The examples assume constant cooling and heating coefficients over an annual cost basis. The IDAES Generic Costing Framework does not currently support variable cost calculations." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# Required imports\n", + "from pyomo.environ import Expression\n", + "\n", + "# Operating costs for HDA with second flash (model m)\n", + "m.fs.cooling_cost = Expression(\n", + " expr=0.212e-7 * (-m.fs.F101.heat_duty[0]) + 0.212e-7 * (-m.fs.R101.heat_duty[0])\n", + ")\n", + "m.fs.heating_cost = Expression(\n", + " expr=2.2e-7 * m.fs.H101.heat_duty[0] + 1.9e-7 * m.fs.F102.heat_duty[0]\n", + ")\n", + "m.fs.operating_cost = Expression(\n", + " expr=(3600 * 24 * 365 * (m.fs.heating_cost + m.fs.cooling_cost))\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Add Capital Costing\n", + "Below, we will add add capital costing blocks to the imported flowsheets and evaluate the economic impact of replacing the second Flash with a Distillation column. First, let's import and define the main flowsheet costing block:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# Import costing methods - classes, heaters, vessels, compressors, columns\n", + "from idaes.models.costing.SSLW import (\n", + " SSLWCosting,\n", + " SSLWCostingData,\n", + ")\n", + "from idaes.core import UnitModelCostingBlock\n", + "\n", + "# Costing block\n", + "m.fs.costing = SSLWCosting()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we will build the relevant costing blocks for the equipment we wish to cost. Note how the costing block, methods and flags are passed as arguments in the costing block call itself. Each unit model will have a single costing block, but each flowsheet model (m and n) will also have a single costing block for flowsheet-level properties.\n", + "\n", + "Users should note that IDAES costing methods support a wide array of heating sources (e.g. fired, steam boiler, hot water) and do not support direct capital costing of coolers. If users wish to cost Heater units acting as coolers, it is necessary to cost a \"dummy\" [0D shell and tube exchanger](https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/generic/unit_models/heat_exchanger.html) with appropriate aliased hot stream properties and proper cooling water properties. This is not demonstrated here, as the HDA examples take advantage of Flash and Condenser operations to recover liquid product.\n", + "\n", + "Capital costing is independent of unit model connections, and building cost equations may be done piecewise in this fashion. Default options are passed explicitly to demonstrate proper syntax and usage. Now that all required properties are defined, let's cost our models connecting costing blocks, methods and unit models in each flowsheet." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Flexibility of Costing Block Definitions\n", + "IDAES supports many ways to define batches of costing blocks, and several are shown in the example. Users may employ whichever method fits their modeling needs for explicit or concise code. In the code below, note how the unit model itself is never passed to the costing method; when the full model is executed, the costing block will automatically connect its parent block with child equation blocks.\n", + "\n", + "`Compressor` unit models with isothermal or adiabatic thermodynamics are too simple to cost and are therefore excluded from the economic analysis." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's define costing for the heater unit:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.models.costing.SSLW import (\n", + " HeaterMaterial,\n", + " HeaterSource,\n", + ")\n", + "\n", + "# Costing for heater - m.fs.H101\n", + "m.fs.H101.costing = UnitModelCostingBlock(\n", + " flowsheet_costing_block=m.fs.costing,\n", + " costing_method=SSLWCostingData.cost_fired_heater,\n", + " costing_method_arguments={\n", + " \"material_type\": HeaterMaterial.CarbonSteel,\n", + " \"heat_source\": HeaterSource.Fuel,\n", + " },\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The costing module provides a `unit_mapping` dictionary linking generic unit model classes with recommended costing methods. In this example, StoichiometricReactor and Flash vessels utilize different vessel costing methods with similar arguments. The diameter and length attributes need to exist in order to cost vessel sizing and material requirements, and we add them if they don't exist already. The `unit_mapping` method provides an opportunity to automatically select the correct vessel orientation (vertical or horizontal) based on the unit type; passing a `StoichiometricReactor` or `PFR` class object will call the `cost_horizontal_vessel` method, while passing a `Flash` or `CSTR` class object will call the `cost_vertical_vessel` method.\n", + "\n", + "All vessels are assigned costing succinctly via a loop below - users may define each block individually if desired:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.models.costing.SSLW import (\n", + " VesselMaterial,\n", + " TrayType,\n", + " TrayMaterial,\n", + ")\n", + "\n", + "from idaes.core.util.constants import Constants\n", + "from pyomo.environ import Var, Constraint, units as pyunits, Param, value\n", + "from idaes.models.unit_models import StoichiometricReactor, Flash\n", + "\n", + "# Map unit models to unit classes\n", + "# Will pass to unit_mapping which calls costing methods based on unit class\n", + "unit_class_mapping = {\n", + " m.fs.R101: StoichiometricReactor,\n", + " m.fs.F101: Flash,\n", + " m.fs.F102: Flash,\n", + "}\n", + "\n", + "# Costing for vessels - m.fs.R101, m.fs.F101, m.fs.F102\n", + "\n", + "# Loop over units\n", + "for unit in [m.fs.R101, m.fs.F101, m.fs.F102]:\n", + " # Get correct unit class for unit model\n", + " unit_class = unit_class_mapping[unit]\n", + "\n", + " # Add dimension variables and constraint if they don't exist\n", + " if not hasattr(unit, \"diameter\"):\n", + " unit.diameter = Var(initialize=1, units=pyunits.m)\n", + " if not hasattr(unit, \"length\"):\n", + " unit.length = Var(initialize=1, units=pyunits.m)\n", + " if hasattr(unit, \"volume\"): # if volume exists, set diameter from volume\n", + " unit.volume_eq = Constraint(\n", + " expr=unit.volume[0] == unit.length * unit.diameter**2 * 0.25 * Constants.pi\n", + " )\n", + " else: # fix diameter directly\n", + " unit.diameter.fix(0.2214 * pyunits.m)\n", + " # Either way, fix L/D to calculate L from D\n", + " unit.L_over_D = Constraint(expr=unit.length == 3 * unit.diameter)\n", + "\n", + " # Define vessel costing\n", + " unit.costing = UnitModelCostingBlock(\n", + " flowsheet_costing_block=unit.parent_block().costing, # e.g. m.fs.R101.costing\n", + " costing_method=SSLWCostingData.unit_mapping[\n", + " unit_class\n", + " ], # e.g. cost_vertical_vessel()\n", + " costing_method_arguments={\n", + " \"material_type\": VesselMaterial.CarbonSteel,\n", + " \"shell_thickness\": 1.25 * pyunits.inch,\n", + " },\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Solve Flowsheet Costing Blocks\n", + "Now, we may solve the full flowsheet for all costing blocks:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "# Eefine solver\n", + "from idaes.core.solvers import get_solver\n", + "\n", + "solver = get_solver()\n", + "\n", + "# Check that the degrees of freedom is zero\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "\n", + "assert degrees_of_freedom(m) == 0" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# Check physical units consistency, solve and check solver status\n", + "from pyomo.environ import TerminationCondition\n", + "from pyomo.util.check_units import assert_units_consistent\n", + "\n", + "assert_units_consistent(m)\n", + "results = solver.solve(m, tee=True, symbolic_solver_labels=True)\n", + "assert results.solver.termination_condition == TerminationCondition.optimal" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For comparison, we will call and build the HDA flowsheet replacing the second `Flash` with a `TrayColumn` distillation unit model. The flowsheet costing occurs in the external script `hda_flowsheets_for_costing_notebook.py` and is not shown here:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "from pyomo.common.log import LoggingIntercept\n", + "import logging\n", + "from io import StringIO\n", + "\n", + "stream = StringIO()\n", + "with LoggingIntercept(stream, \"idaes\", logging.WARNING):\n", + " # Source file for prebuilt flowsheets\n", + " from hda_flowsheets_for_costing_notebook import hda_with_distillation\n", + "\n", + " # Build hda model with distillation column and return model object\n", + " n = hda_with_distillation(tee=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Results Comparison and Visualization\n", + "For the two flowsheets above, let's sum the total operating and capital costs of each scenario. We will display overall process economics results and compare the two flowsheets:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "# Imports and data gathering\n", + "from matplotlib import pyplot as plt\n", + "\n", + "plt.style.use(\"dark_background\") # if using browser in dark mode, uncomment this line\n", + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "# Automatically get units that we costed - this will exclude C101 for both flowsheets\n", + "\n", + "two_flash_unitlist = [\n", + " getattr(m.fs, unit) for unit in dir(m.fs) if hasattr(getattr(m.fs, unit), \"costing\")\n", + "]\n", + "distillation_unitlist = [\n", + " getattr(n.fs, unit) for unit in dir(n.fs) if hasattr(getattr(n.fs, unit), \"costing\")\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "# Compare equipment purchase costs (actual capital costs)\n", + "\n", + "two_flash_capcost = {\n", + " unit.name: value(unit.costing.capital_cost / 1e3) for unit in two_flash_unitlist\n", + "}\n", + "distillation_capcost = {\n", + " unit.name: value(unit.costing.capital_cost / 1e3) for unit in distillation_unitlist\n", + "}\n", + "\n", + "two_flash_capdf = pd.DataFrame(\n", + " list(two_flash_capcost.items()), columns=[\"Equipment\", \"Two Flash\"]\n", + ").set_index(\"Equipment\")\n", + "distillation_capdf = pd.DataFrame(\n", + " list(distillation_capcost.items()), columns=[\"Equipment\", \"Distillation\"]\n", + ").set_index(\"Equipment\")\n", + "\n", + "# Add dataframes, merge same indices, replace NaNs with 0s, and transpose\n", + "capcosts = two_flash_capdf.add(distillation_capdf, fill_value=0).fillna(0).transpose()\n", + "\n", + "# Sort according to an easier order to view\n", + "capcosts = capcosts[[\"fs.H101\", \"fs.R101\", \"fs.F101\", \"fs.F102\", \"fs.D101\", \"fs.H102\"]]\n", + "\n", + "print(\"Costs in $1000:\")\n", + "display(capcosts) # view dataframe before plotting\n", + "\n", + "capplot = capcosts.plot(\n", + " kind=\"bar\", stacked=True, title=\"HDA Total Capital Costs\", ylabel=\"$1000\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "# Compare operating costs (per year)\n", + "\n", + "two_flash_opcost = {\n", + " \"cooling\": value(3600 * 24 * 365 * m.fs.cooling_cost / 1e3),\n", + " \"heating\": value(3600 * 24 * 365 * m.fs.heating_cost / 1e3),\n", + "}\n", + "distillation_opcost = {\n", + " \"cooling\": value(3600 * 24 * 365 * n.fs.cooling_cost / 1e3),\n", + " \"heating\": value(3600 * 24 * 365 * n.fs.heating_cost / 1e3),\n", + "}\n", + "\n", + "two_flash_opdf = pd.DataFrame(\n", + " list(two_flash_opcost.items()), columns=[\"Utilities\", \"Two Flash\"]\n", + ").set_index(\"Utilities\")\n", + "distillation_opdf = pd.DataFrame(\n", + " list(distillation_opcost.items()), columns=[\"Utilities\", \"Distillation\"]\n", + ").set_index(\"Utilities\")\n", + "\n", + "# Add dataframes, merge same indices, replace NaNs with 0s, and transpose\n", + "opcosts = two_flash_opdf.add(distillation_opdf, fill_value=0).fillna(0).transpose()\n", + "\n", + "print(\"Costs in $1000:\")\n", + "display(opcosts) # view dataframe before plotting\n", + "\n", + "opplot = opcosts.plot(\n", + " kind=\"bar\", stacked=True, title=\"HDA Operating Costs\", ylabel=\"$1000/year\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "# Compare total costs (capital costs and operating costs)\n", + "\n", + "two_flash_totcost = {\n", + " \"capital\": sum(two_flash_capcost[idx] for idx in two_flash_capcost),\n", + " \"operating\": value(m.fs.operating_cost) / 1e3,\n", + "}\n", + "distillation_totcost = {\n", + " \"capital\": sum(distillation_capcost[idx] for idx in distillation_capcost),\n", + " \"operating\": value(n.fs.operating_cost) / 1e3,\n", + "}\n", + "\n", + "two_flash_totdf = pd.DataFrame(\n", + " list(two_flash_totcost.items()), columns=[\"Costs\", \"Two Flash\"]\n", + ").set_index(\"Costs\")\n", + "distillation_totdf = pd.DataFrame(\n", + " list(distillation_totcost.items()), columns=[\"Costs\", \"Distillation\"]\n", + ").set_index(\"Costs\")\n", + "\n", + "# Add dataframes, merge same indices, replace NaNs with 0s, and transpose\n", + "totcosts = two_flash_totdf.add(distillation_totdf, fill_value=0).fillna(0).transpose()\n", + "\n", + "print(\"Costs in $1000:\")\n", + "display(totcosts) # view dataframe before plotting\n", + "\n", + "totplot = totcosts.plot(\n", + " kind=\"bar\", stacked=True, title=\"HDA Total Plant Cost (TPC)\", ylabel=\"$1000/year\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, let's compare the total costs on a production basis. This will account for the greater efficiency provided by the distillation column relative to the less-expensive second flash unit:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "two_flash_cost = value(1e3 * sum(two_flash_totcost[idx] for idx in two_flash_totcost))\n", + "two_flash_prod = value(\n", + " m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"] * 365 * 24 * 3600\n", + ")\n", + "distillation_cost = value(\n", + " 1e3 * sum(distillation_totcost[idx] for idx in distillation_totcost)\n", + ")\n", + "distillation_prod = value(n.fs.D101.condenser.distillate.flow_mol[0] * 365 * 24 * 3600)\n", + "\n", + "print(\n", + " f\"Two flash case over one year: ${two_flash_cost/1e3:0.0f}K / {two_flash_prod/1e3:0.0f} kmol benzene = ${two_flash_cost/(two_flash_prod/1e3):0.2f} per kmol benzene produced\"\n", + ")\n", + "print(\n", + " f\"Distillation case over one year: ${distillation_cost/1e3:0.0f}K / {distillation_prod/1e3:0.0f} kmol benzene = ${distillation_cost/(distillation_prod/1e3):0.2f} per kmol benzene produced\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Summary\n", + "In this example, IDAES Process Costing Framework methods were applied to two HDA flowsheets for capital cost estimation. The costing blocks calls showcased multiple methods to define unit costing, demonstrating the flexibility and best practice of the costing framework. In the basic examples, the two-flash HDA did not include costing and the distillation HDA estimated a reactor capital cost comprising 3.3% of the total plant cost (TPC). With more rigorous costing, IDAES obtained total capital costs of 8.5% TPC (two flash HDA) and 9.6% (distillation HDA) and better modeled the impact of equipment cost on process economics. As printed above, the IDAES Process Costing Framework confirmed that replacing the second flash drum with a distillation column results in increased equipment costs, increased production and decreased cost per unit product." + ] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.12" + } }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "# HDA Flowsheet Costing\n", - "Maintainer: Brandon Paul \n", - "Author: Brandon Paul \n", - "Updated: 2023-06-01 \n", - "\n", - "\n", - "## Note\n", - "\n", - "This example will demonstrate adding capital and operating costs to the two HDA examples, the basic [HDA with Flash](../tut/hda_flowsheet_solution_usr.ipynb) and a comparison with the HDA with Distillation.\n", - "\n", - "\n", - "## Learning outcomes\n", - "\n", - "- Import external pre-built steady-state flowsheets using the IDAES unit model library\n", - "- Define and add costing blocks using the IDAES Process Costing Framework\n", - "- Fomulate and solve a process economics optimization problem\n", - " - Defining an objective function\n", - " - Setting variable bounds\n", - " - Adding additional constraints \n", - "\n", - "\n", - "## Problem Statement\n", - "\n", - "Hydrodealkylation is a chemical reaction that often involves reacting\n", - "an aromatic hydrocarbon in the presence of hydrogen gas to form a\n", - "simpler aromatic hydrocarbon devoid of functional groups. In this\n", - "example, toluene will be reacted with hydrogen gas at high temperatures\n", - " to form benzene via the following reaction:\n", - "\n", - "**C6H5CH3 + H2 → C6H6 + CH4**\n", - "\n", - "\n", - "This reaction is often accompanied by an equilibrium side reaction\n", - "which forms diphenyl, which we will neglect for this example.\n", - "\n", - "This example is based on the 1967 AIChE Student Contest problem as\n", - "present by Douglas, J.M., Chemical Design of Chemical Processes, 1988,\n", - "McGraw-Hill.\n", - "\n", - "Users may refer to the prior examples linked at the top of this notebook for detailed process descriptions of the two HDA configurations. As before, the properties required for this module are defined in\n", - "\n", - "- `hda_ideal_VLE.py`\n", - "- `idaes.models.properties.activity_coeff_models.BTX_activity_coeff_VLE`\n", - "- `hda_reaction.py`\n", - "\n", - "Additionally, we will be importing externally-defined flowsheets for the two HDA configurations from\n", - "\n", - "- `hda_flowsheets_for_costing_notebook.py`" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Import and run HDA Flowsheets\n", - "First, we will generate solved flowsheets for each HDA model. The external scripts build and set inputs for the flowsheets, initialize unit models and streams, and solve the flowsheets before returning the model objects. Note that the HDA flowsheets contain all unit models and stream connections, and no costing equations." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The flowsheet utilizes the Wegstein method to iteratively solve circular dependencies such as recycle streams, and is intended to approach a feasible solution. As such, the calls below will fail to converge after 3 iterations and pass to IPOPT to obtain an optimal solution as expected:" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "# Source file for prebuilt flowsheets\n", - "from hda_flowsheets_for_costing_notebook import hda_with_flash\n", - "\n", - "# Build hda model with second flash unit and return model object\n", - "m = hda_with_flash(tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## IDAES Process Costing Framework\n", - "IDAES provides a library of capital costing correlations based on those in the following source:\n", - "\n", - "*Process and Product Design Principles: Synthesis, Analysis, and Evaluation*. Seider, Seader, Lewin, Windagdo, 3rd Ed. John Wiley and Sons Chapter 22. Cost Accounting and Capital Cost Estimation 22.2 Cost Indexes and Capital Investment.\n", - "\n", - "Currently, IDAES supports calculation of capital costing for a wide array of unit operations, vesseel sizing and material properties, and specific unit options such as column tray types and heat exchanger configurations. Users may find further information on specific costing methods and options in the IDAES Process Costing Framework documentation (link pending).\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Add Operating Cost Equations\n", - "Before adding capital costing blocks, we will add operating cost equations taken from the basic [HDA with Flash](../tut/hda_flowsheet_solution_usr.ipynb) and the HDA with Distillation examples. The examples assume constant cooling and heating coefficients over an annual cost basis. The IDAES Generic Costing Framework does not currently support variable cost calculations." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "# Required imports\n", - "from pyomo.environ import Expression\n", - "\n", - "# Operating costs for HDA with second flash (model m)\n", - "m.fs.cooling_cost = Expression(\n", - " expr=0.212e-7 * (-m.fs.F101.heat_duty[0]) + 0.212e-7 * (-m.fs.R101.heat_duty[0])\n", - ")\n", - "m.fs.heating_cost = Expression(\n", - " expr=2.2e-7 * m.fs.H101.heat_duty[0] + 1.9e-7 * m.fs.F102.heat_duty[0]\n", - ")\n", - "m.fs.operating_cost = Expression(\n", - " expr=(3600 * 24 * 365 * (m.fs.heating_cost + m.fs.cooling_cost))\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Add Capital Costing\n", - "Below, we will add add capital costing blocks to the imported flowsheets and evaluate the economic impact of replacing the second Flash with a Distillation column. First, let's import and define the main flowsheet costing block:" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "# Import costing methods - classes, heaters, vessels, compressors, columns\n", - "from idaes.models.costing.SSLW import (\n", - " SSLWCosting,\n", - " SSLWCostingData,\n", - ")\n", - "from idaes.core import UnitModelCostingBlock\n", - "\n", - "# Costing block\n", - "m.fs.costing = SSLWCosting()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we will build the relevant costing blocks for the equipment we wish to cost. Note how the costing block, methods and flags are passed as arguments in the costing block call itself. Each unit model will have a single costing block, but each flowsheet model (m and n) will also have a single costing block for flowsheet-level properties.\n", - "\n", - "Users should note that IDAES costing methods support a wide array of heating sources (e.g. fired, steam boiler, hot water) and do not support direct capital costing of coolers. If users wish to cost Heater units acting as coolers, it is necessary to cost a \"dummy\" [0D shell and tube exchanger](https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/generic/unit_models/heat_exchanger.html) with appropriate aliased hot stream properties and proper cooling water properties. This is not demonstrated here, as the HDA examples take advantage of Flash and Condenser operations to recover liquid product.\n", - "\n", - "Capital costing is independent of unit model connections, and building cost equations may be done piecewise in this fashion. Default options are passed explicitly to demonstrate proper syntax and usage. Now that all required properties are defined, let's cost our models connecting costing blocks, methods and unit models in each flowsheet." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Flexibility of Costing Block Definitions\n", - "IDAES supports many ways to define batches of costing blocks, and several are shown in the example. Users may employ whichever method fits their modeling needs for explicit or concise code. In the code below, note how the unit model itself is never passed to the costing method; when the full model is executed, the costing block will automatically connect its parent block with child equation blocks.\n", - "\n", - "`Compressor` unit models with isothermal or adiabatic thermodynamics are too simple to cost and are therefore excluded from the economic analysis." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's define costing for the heater unit:" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.models.costing.SSLW import (\n", - " HeaterMaterial,\n", - " HeaterSource,\n", - ")\n", - "\n", - "# Costing for heater - m.fs.H101\n", - "m.fs.H101.costing = UnitModelCostingBlock(\n", - " flowsheet_costing_block=m.fs.costing,\n", - " costing_method=SSLWCostingData.cost_fired_heater,\n", - " costing_method_arguments={\n", - " \"material_type\": HeaterMaterial.CarbonSteel,\n", - " \"heat_source\": HeaterSource.Fuel,\n", - " },\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The costing module provides a `unit_mapping` dictionary linking generic unit model classes with recommended costing methods. In this example, StoichiometricReactor and Flash vessels utilize different vessel costing methods with similar arguments. The diameter and length attributes need to exist in order to cost vessel sizing and material requirements, and we add them if they don't exist already. The `unit_mapping` method provides an opportunity to automatically select the correct vessel orientation (vertical or horizontal) based on the unit type; passing a `StoichiometricReactor` or `PFR` class object will call the `cost_horizontal_vessel` method, while passing a `Flash` or `CSTR` class object will call the `cost_vertical_vessel` method.\n", - "\n", - "All vessels are assigned costing succinctly via a loop below - users may define each block individually if desired:" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.models.costing.SSLW import (\n", - " VesselMaterial,\n", - " TrayType,\n", - " TrayMaterial,\n", - ")\n", - "\n", - "from idaes.core.util.constants import Constants\n", - "from pyomo.environ import Var, Constraint, units as pyunits, Param, value\n", - "from idaes.models.unit_models import StoichiometricReactor, Flash\n", - "\n", - "# Map unit models to unit classes\n", - "# Will pass to unit_mapping which calls costing methods based on unit class\n", - "unit_class_mapping = {\n", - " m.fs.R101: StoichiometricReactor,\n", - " m.fs.F101: Flash,\n", - " m.fs.F102: Flash,\n", - "}\n", - "\n", - "# Costing for vessels - m.fs.R101, m.fs.F101, m.fs.F102\n", - "\n", - "# Loop over units\n", - "for unit in [m.fs.R101, m.fs.F101, m.fs.F102]:\n", - " # Get correct unit class for unit model\n", - " unit_class = unit_class_mapping[unit]\n", - "\n", - " # Add dimension variables and constraint if they don't exist\n", - " if not hasattr(unit, \"diameter\"):\n", - " unit.diameter = Var(initialize=1, units=pyunits.m)\n", - " if not hasattr(unit, \"length\"):\n", - " unit.length = Var(initialize=1, units=pyunits.m)\n", - " if hasattr(unit, \"volume\"): # if volume exists, set diameter from volume\n", - " unit.volume_eq = Constraint(\n", - " expr=unit.volume[0] == unit.length * unit.diameter**2 * 0.25 * Constants.pi\n", - " )\n", - " else: # fix diameter directly\n", - " unit.diameter.fix(0.2214 * pyunits.m)\n", - " # Either way, fix L/D to calculate L from D\n", - " unit.L_over_D = Constraint(expr=unit.length == 3 * unit.diameter)\n", - "\n", - " # Define vessel costing\n", - " unit.costing = UnitModelCostingBlock(\n", - " flowsheet_costing_block=unit.parent_block().costing, # e.g. m.fs.R101.costing\n", - " costing_method=SSLWCostingData.unit_mapping[\n", - " unit_class\n", - " ], # e.g. cost_vertical_vessel()\n", - " costing_method_arguments={\n", - " \"material_type\": VesselMaterial.CarbonSteel,\n", - " \"shell_thickness\": 1.25 * pyunits.inch,\n", - " },\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Solve Flowsheet Costing Blocks\n", - "Now, we may solve the full flowsheet for all costing blocks:" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "# Eefine solver\n", - "from idaes.core.solvers import get_solver\n", - "\n", - "solver = get_solver()\n", - "\n", - "# Check that the degrees of freedom is zero\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "\n", - "assert degrees_of_freedom(m) == 0" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "# Check physical units consistency, solve and check solver status\n", - "from pyomo.environ import TerminationCondition\n", - "from pyomo.util.check_units import assert_units_consistent\n", - "\n", - "assert_units_consistent(m)\n", - "results = solver.solve(m, tee=True, symbolic_solver_labels=True)\n", - "assert results.solver.termination_condition == TerminationCondition.optimal" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For comparison, we will call and build the HDA flowsheet replacing the second `Flash` with a `TrayColumn` distillation unit model. The flowsheet costing occurs in the external script `hda_flowsheets_for_costing_notebook.py` and is not shown here:" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "from pyomo.common.log import LoggingIntercept\n", - "import logging\n", - "from io import StringIO\n", - "\n", - "stream = StringIO()\n", - "with LoggingIntercept(stream, \"idaes\", logging.WARNING):\n", - " # Source file for prebuilt flowsheets\n", - " from hda_flowsheets_for_costing_notebook import hda_with_distillation\n", - "\n", - " # Build hda model with distillation column and return model object\n", - " n = hda_with_distillation(tee=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Results Comparison and Visualization\n", - "For the two flowsheets above, let's sum the total operating and capital costs of each scenario. We will display overall process economics results and compare the two flowsheets:" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "# Imports and data gathering\n", - "from matplotlib import pyplot as plt\n", - "\n", - "plt.style.use(\"dark_background\") # if using browser in dark mode, uncomment this line\n", - "import numpy as np\n", - "import pandas as pd\n", - "\n", - "# Automatically get units that we costed - this will exclude C101 for both flowsheets\n", - "\n", - "two_flash_unitlist = [\n", - " getattr(m.fs, unit) for unit in dir(m.fs) if hasattr(getattr(m.fs, unit), \"costing\")\n", - "]\n", - "distillation_unitlist = [\n", - " getattr(n.fs, unit) for unit in dir(n.fs) if hasattr(getattr(n.fs, unit), \"costing\")\n", - "]" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "# Compare equipment purchase costs (actual capital costs)\n", - "\n", - "two_flash_capcost = {\n", - " unit.name: value(unit.costing.capital_cost / 1e3) for unit in two_flash_unitlist\n", - "}\n", - "distillation_capcost = {\n", - " unit.name: value(unit.costing.capital_cost / 1e3) for unit in distillation_unitlist\n", - "}\n", - "\n", - "two_flash_capdf = pd.DataFrame(\n", - " list(two_flash_capcost.items()), columns=[\"Equipment\", \"Two Flash\"]\n", - ").set_index(\"Equipment\")\n", - "distillation_capdf = pd.DataFrame(\n", - " list(distillation_capcost.items()), columns=[\"Equipment\", \"Distillation\"]\n", - ").set_index(\"Equipment\")\n", - "\n", - "# Add dataframes, merge same indices, replace NaNs with 0s, and transpose\n", - "capcosts = two_flash_capdf.add(distillation_capdf, fill_value=0).fillna(0).transpose()\n", - "\n", - "# Sort according to an easier order to view\n", - "capcosts = capcosts[[\"fs.H101\", \"fs.R101\", \"fs.F101\", \"fs.F102\", \"fs.D101\", \"fs.H102\"]]\n", - "\n", - "print(\"Costs in $1000:\")\n", - "display(capcosts) # view dataframe before plotting\n", - "\n", - "capplot = capcosts.plot(\n", - " kind=\"bar\", stacked=True, title=\"HDA Total Capital Costs\", ylabel=\"$1000\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "# Compare operating costs (per year)\n", - "\n", - "two_flash_opcost = {\n", - " \"cooling\": value(3600 * 24 * 365 * m.fs.cooling_cost / 1e3),\n", - " \"heating\": value(3600 * 24 * 365 * m.fs.heating_cost / 1e3),\n", - "}\n", - "distillation_opcost = {\n", - " \"cooling\": value(3600 * 24 * 365 * n.fs.cooling_cost / 1e3),\n", - " \"heating\": value(3600 * 24 * 365 * n.fs.heating_cost / 1e3),\n", - "}\n", - "\n", - "two_flash_opdf = pd.DataFrame(\n", - " list(two_flash_opcost.items()), columns=[\"Utilities\", \"Two Flash\"]\n", - ").set_index(\"Utilities\")\n", - "distillation_opdf = pd.DataFrame(\n", - " list(distillation_opcost.items()), columns=[\"Utilities\", \"Distillation\"]\n", - ").set_index(\"Utilities\")\n", - "\n", - "# Add dataframes, merge same indices, replace NaNs with 0s, and transpose\n", - "opcosts = two_flash_opdf.add(distillation_opdf, fill_value=0).fillna(0).transpose()\n", - "\n", - "print(\"Costs in $1000:\")\n", - "display(opcosts) # view dataframe before plotting\n", - "\n", - "opplot = opcosts.plot(\n", - " kind=\"bar\", stacked=True, title=\"HDA Operating Costs\", ylabel=\"$1000/year\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "# Compare total costs (capital costs and operating costs)\n", - "\n", - "two_flash_totcost = {\n", - " \"capital\": sum(two_flash_capcost[idx] for idx in two_flash_capcost),\n", - " \"operating\": value(m.fs.operating_cost) / 1e3,\n", - "}\n", - "distillation_totcost = {\n", - " \"capital\": sum(distillation_capcost[idx] for idx in distillation_capcost),\n", - " \"operating\": value(n.fs.operating_cost) / 1e3,\n", - "}\n", - "\n", - "two_flash_totdf = pd.DataFrame(\n", - " list(two_flash_totcost.items()), columns=[\"Costs\", \"Two Flash\"]\n", - ").set_index(\"Costs\")\n", - "distillation_totdf = pd.DataFrame(\n", - " list(distillation_totcost.items()), columns=[\"Costs\", \"Distillation\"]\n", - ").set_index(\"Costs\")\n", - "\n", - "# Add dataframes, merge same indices, replace NaNs with 0s, and transpose\n", - "totcosts = two_flash_totdf.add(distillation_totdf, fill_value=0).fillna(0).transpose()\n", - "\n", - "print(\"Costs in $1000:\")\n", - "display(totcosts) # view dataframe before plotting\n", - "\n", - "totplot = totcosts.plot(\n", - " kind=\"bar\", stacked=True, title=\"HDA Total Plant Cost (TPC)\", ylabel=\"$1000/year\"\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finally, let's compare the total costs on a production basis. This will account for the greater efficiency provided by the distillation column relative to the less-expensive second flash unit:" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "two_flash_cost = value(1e3 * sum(two_flash_totcost[idx] for idx in two_flash_totcost))\n", - "two_flash_prod = value(\n", - " m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"] * 365 * 24 * 3600\n", - ")\n", - "distillation_cost = value(\n", - " 1e3 * sum(distillation_totcost[idx] for idx in distillation_totcost)\n", - ")\n", - "distillation_prod = value(n.fs.D101.condenser.distillate.flow_mol[0] * 365 * 24 * 3600)\n", - "\n", - "print(\n", - " f\"Two flash case over one year: ${two_flash_cost/1e3:0.0f}K / {two_flash_prod/1e3:0.0f} kmol benzene = ${two_flash_cost/(two_flash_prod/1e3):0.2f} per kmol benzene produced\"\n", - ")\n", - "print(\n", - " f\"Distillation case over one year: ${distillation_cost/1e3:0.0f}K / {distillation_prod/1e3:0.0f} kmol benzene = ${distillation_cost/(distillation_prod/1e3):0.2f} per kmol benzene produced\"\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Summary\n", - "In this example, IDAES Process Costing Framework methods were applied to two HDA flowsheets for capital cost estimation. The costing blocks calls showcased multiple methods to define unit costing, demonstrating the flexibility and best practice of the costing framework. In the basic examples, the two-flash HDA did not include costing and the distillation HDA estimated a reactor capital cost comprising 3.3% of the total plant cost (TPC). With more rigorous costing, IDAES obtained total capital costs of 8.5% TPC (two flash HDA) and 9.6% (distillation HDA) and better modeled the impact of equipment cost on process economics. As printed above, the IDAES Process Costing Framework confirmed that replacing the second flash drum with a distillation column results in increased equipment costs, increased production and decreased cost per unit product." - ] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.12" - } - }, - "nbformat": 4, - "nbformat_minor": 3 -} + "nbformat": 4, + "nbformat_minor": 3 +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_distillation.ipynb b/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_distillation.ipynb index 44e6cf27..0c1122d7 100644 --- a/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_distillation.ipynb +++ b/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_distillation.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -738,15 +739,7 @@ "cell_type": "code", "execution_count": 28, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "29\n" - ] - } - ], + "outputs": [], "source": [ "print(degrees_of_freedom(m))" ] @@ -961,42 +954,7 @@ "cell_type": "code", "execution_count": 38, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].flow_mol_phase\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enth_mol_phase_comp[Liq,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enth_mol_phase_comp[Liq,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enth_mol_phase_comp[Vap,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enth_mol_phase_comp[Vap,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].enth_mol_phase_comp[Liq,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].enth_mol_phase_comp[Liq,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].enth_mol_phase_comp[Vap,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].enth_mol_phase_comp[Vap,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].material_flow_terms[Liq,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].material_flow_terms[Vap,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].material_flow_terms[Liq,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].material_flow_terms[Vap,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enthalpy_flow_terms[Liq], enthalpy_flow_terms\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enthalpy_flow_terms[Vap], enthalpy_flow_terms\n" - ] - } - ], + "outputs": [], "source": [ "# Set scaling factors for heat duty, reaction extent and volume\n", "iscale.set_scaling_factor(m.fs.H101.control_volume.heat, 1e-2)\n", @@ -1046,15 +1004,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0\n" - ] - } - ], + "outputs": [], "source": [ "# Todo: Check the degrees of freedom\n", "print(degrees_of_freedom(m))" @@ -1113,15 +1063,7 @@ "cell_type": "code", "execution_count": 43, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "fs.s03\n" - ] - } - ], + "outputs": [], "source": [ "for o in heuristic_tear_set:\n", " print(o.name)" @@ -1138,20 +1080,7 @@ "cell_type": "code", "execution_count": 44, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "fs.H101\n", - "fs.R101\n", - "fs.F101\n", - "fs.S101\n", - "fs.C101\n", - "fs.M101\n" - ] - } - ], + "outputs": [], "source": [ "for o in order:\n", " print(o[0].name)" @@ -1228,132 +1157,7 @@ "metadata": { "scrolled": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-08-28 18:38:14 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:16 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:16 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:16 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 12\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 50 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:18 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:18 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:18 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 1 optimal - .\n", - "2024-08-28 18:38:18 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 2 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 3 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 4 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 5 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 1 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 2 optimal - .\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 3 optimal - .\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 4 optimal - .\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 5 optimal - .\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:21 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:21 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "2024-08-28 18:38:21 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:21 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 11\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 50 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "2024-08-28 18:38:24 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:24 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 11\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 50 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "2024-08-28 18:38:24 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:24 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "2024-08-28 18:38:29 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:29 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:29 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:29 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "WARNING: Wegstein failed to converge in 3 iterations\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 1 optimal - .\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 2 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 3 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 4 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 5 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 1 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 2 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 3 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 4 optimal - .\n", - "2024-08-28 18:38:33 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 5 optimal - .\n" - ] - } - ], + "outputs": [], "source": [ "seq.run(m, function)" ] @@ -1372,91 +1176,7 @@ "cell_type": "code", "execution_count": 48, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'scaling_factor' that contains 6\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 150 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 1097\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 877\n", - "\n", - "Total number of variables............................: 363\n", - " variables with only lower bounds: 8\n", - " variables with lower and upper bounds: 155\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 363\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 3.82e+04 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 8.69e+03 1.44e+03 -1.0 2.00e+04 - 9.71e-01 4.67e-01H 1\n", - " 2 0.0000000e+00 1.29e+03 1.56e+03 -1.0 1.60e+04 - 9.79e-01 4.90e-01h 1\n", - " 3 0.0000000e+00 1.18e+03 1.55e+05 -1.0 1.40e+04 - 9.90e-01 4.99e-01h 1\n", - " 4 0.0000000e+00 5.46e+02 2.32e+09 -1.0 8.42e+03 - 1.00e+00 9.82e-01h 1\n", - " 5 0.0000000e+00 5.46e+03 3.66e+10 -1.0 5.97e+02 - 1.00e+00 9.90e-01h 1\n", - " 6 0.0000000e+00 1.21e+03 8.01e+09 -1.0 5.75e+00 - 1.00e+00 1.00e+00h 1\n", - " 7 0.0000000e+00 6.41e+00 3.87e+07 -1.0 1.53e-03 - 1.00e+00 1.00e+00f 1\n", - " 8 0.0000000e+00 1.96e-04 9.36e+02 -1.0 7.28e-06 - 1.00e+00 1.00e+00h 1\n", - " 9 0.0000000e+00 2.24e-08 4.99e-01 -3.8 5.92e-08 - 1.00e+00 1.00e+00h 1\n", - "Cannot recompute multipliers for feasibility problem. Error in eq_mult_calculator\n", - "\n", - "Number of Iterations....: 9\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 1.5042487592972509e+04 1.5042487592972509e+04\n", - "Constraint violation....: 2.9103830456733704e-11 2.2351741790771484e-08\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.9103830456733704e-11 1.5042487592972509e+04\n", - "\n", - "\n", - "Number of objective function evaluations = 11\n", - "Number of objective gradient evaluations = 10\n", - "Number of equality constraint evaluations = 11\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 10\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 9\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.011\n", - "Total CPU secs in NLP function evaluations = 0.001\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "# Create the solver object\n", "solver = get_solver()\n", @@ -1504,617 +1224,7 @@ "cell_type": "code", "execution_count": 50, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].material_flow_terms[Liq,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].material_flow_terms[Vap,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].material_flow_terms[Liq,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].material_flow_terms[Vap,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].enthalpy_flow_terms[Liq], enthalpy_flow_terms\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].enthalpy_flow_terms[Vap], enthalpy_flow_terms\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].material_flow_terms[Liq,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].material_flow_terms[Vap,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].material_flow_terms[Liq,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].material_flow_terms[Vap,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].enthalpy_flow_terms[Liq], enthalpy_flow_terms\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].enthalpy_flow_terms[Vap], enthalpy_flow_terms\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.e_flow_reflux[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.e_mole_frac_reflux[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.e_mole_frac_reflux[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.e_flow_vapor_reboil[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.e_mole_frac_vapor_reboil[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.e_mole_frac_vapor_reboil[0.0,toluene]\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101: Begin initialization.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray: Begin initialization.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: State Released.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: State Released.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: State Released.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: State Released.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume: Initialization Complete\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser: Initialization Complete, optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: State Released.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: State Released.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler: Initialization Complete, optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: State Released.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.rectification_section[1]: Begin initialization.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: State Released.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: State Released.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[2]: Begin initialization.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: State Released.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[2]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[2]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: State Released.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: State Released.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3]: Begin initialization.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: State Released.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: State Released.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: State Released.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4]: Begin initialization.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: State Released.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: State Released.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6]: Begin initialization.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: State Released.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: State Released.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[7]: Begin initialization.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: State Released.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[7]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[7]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: State Released.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: State Released.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8]: Begin initialization.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: State Released.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: State Released.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: State Released.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9]: Begin initialization.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: State Released.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: State Released.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: State Released.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10]: Begin initialization.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: State Released.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: State Released.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101: Rectification section initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101: Stripping section initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: State Released.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: State Released.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101: Column section initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: State Released.\n", - "2024-08-28 18:39:02 [INFO] idaes.init.fs.D101: Column section + Condenser initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:02 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: State Released.\n", - "2024-08-28 18:39:03 [INFO] idaes.init.fs.D101: Column section + Condenser + Reboiler initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:03 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: State Released.\n" - ] - } - ], + "outputs": [], "source": [ "# Add distillation column to the flowsheet\n", "m.fs.D101 = TrayColumn(\n", @@ -2213,101 +1323,7 @@ "cell_type": "code", "execution_count": 53, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 150 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 4042\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 2376\n", - "\n", - "Total number of variables............................: 1169\n", - " variables with only lower bounds: 112\n", - " variables with lower and upper bounds: 365\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 1169\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 3.83e+04 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 8.70e+03 1.50e+03 -1.0 3.69e+04 - 9.71e-01 4.62e-01H 1\n", - " 2 0.0000000e+00 1.53e+03 1.56e+03 -1.0 6.75e+03 - 9.77e-01 4.89e-01h 1\n", - " 3 0.0000000e+00 1.37e+03 1.55e+05 -1.0 9.37e+03 - 9.90e-01 4.99e-01h 1\n", - " 4 0.0000000e+00 6.14e+02 2.31e+09 -1.0 6.09e+03 - 1.00e+00 9.81e-01h 1\n", - " 5 0.0000000e+00 5.32e+03 3.62e+10 -1.0 5.56e+02 - 1.00e+00 9.90e-01h 1\n", - " 6 0.0000000e+00 1.16e+03 7.80e+09 -1.0 5.36e+00 - 1.00e+00 1.00e+00h 1\n", - " 7 0.0000000e+00 5.96e+00 3.64e+07 -1.0 1.47e-03 - 1.00e+00 1.00e+00f 1\n", - " 8 0.0000000e+00 1.69e-04 8.15e+02 -1.0 6.77e-06 - 1.00e+00 1.00e+00h 1\n", - " 9 0.0000000e+00 7.45e-09 6.64e-03 -3.8 2.00e-07 - 1.00e+00 1.00e+00h 1\n", - "Cannot recompute multipliers for feasibility problem. Error in eq_mult_calculator\n", - "\n", - "Number of Iterations....: 9\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 1.5042483516409773e+04 1.5042483516409773e+04\n", - "Constraint violation....: 2.9103830456733704e-11 7.4505805969238281e-09\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.9103830456733704e-11 1.5042483516409773e+04\n", - "\n", - "\n", - "Number of objective function evaluations = 11\n", - "Number of objective gradient evaluations = 10\n", - "Number of equality constraint evaluations = 11\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 10\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 9\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.083\n", - "Total CPU secs in NLP function evaluations = 0.013\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 1169, 'Number of variables': 1169, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.2022566795349121}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 53, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "solver.solve(m, tee=True)" ] @@ -2341,26 +1357,7 @@ "cell_type": "code", "execution_count": 55, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "total cost = $ 442301.47075252194\n", - "operating cost = $ 427596.73056805483\n", - "capital cost = $ 14704.740184467111\n", - "\n", - "Distillate flowrate = 0.16196898920633368 mol/s\n", - "Benzene purity = 89.4916166580088 %\n", - "Residue flowrate = 0.10515007120697904 mol/s\n", - "Toluene purity = 43.32260291055251 %\n", - "\n", - "Conversion = 75.0 %\n", - "\n", - "Overhead benzene loss in F101 = 42.161938483603194 %\n" - ] - } - ], + "outputs": [], "source": [ "print(\"total cost = $\", value(m.fs.capital_cost) + value(m.fs.operating_cost))\n", "print(\"operating cost = $\", value(m.fs.operating_cost))\n", @@ -2402,16 +1399,7 @@ "testing" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "427596.73056805483\n", - "14704.740184467111\n" - ] - } - ], + "outputs": [], "source": [ "import pytest\n", "\n", @@ -2432,40 +1420,7 @@ "cell_type": "code", "execution_count": 57, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.R101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 0.0000 : watt : True : (None, None)\n", - " Volume : 0.14705 : meter ** 3 : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol_phase_comp ('Liq', 'benzene') mole / second 1.2993e-07 1.2993e-07\n", - " flow_mol_phase_comp ('Liq', 'toluene') mole / second 8.4147e-07 8.4147e-07\n", - " flow_mol_phase_comp ('Liq', 'methane') mole / second 1.0000e-12 1.0000e-12\n", - " flow_mol_phase_comp ('Liq', 'hydrogen') mole / second 1.0000e-12 1.0000e-12\n", - " flow_mol_phase_comp ('Vap', 'benzene') mole / second 0.11936 0.35374\n", - " flow_mol_phase_comp ('Vap', 'toluene') mole / second 0.31252 0.078129\n", - " flow_mol_phase_comp ('Vap', 'methane') mole / second 1.0377 1.2721\n", - " flow_mol_phase_comp ('Vap', 'hydrogen') mole / second 0.56260 0.32821\n", - " temperature kelvin 600.00 771.85\n", - " pressure pascal 3.5000e+05 3.5000e+05\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "m.fs.R101.report()" ] @@ -2481,40 +1436,7 @@ "cell_type": "code", "execution_count": 58, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.F101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -70343. : watt : False : (None, None)\n", - " Pressure Change : 0.0000 : pascal : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Vapor Outlet Liquid Outlet\n", - " flow_mol_phase_comp ('Liq', 'benzene') mole / second 1.2993e-07 1.0000e-08 0.20460 \n", - " flow_mol_phase_comp ('Liq', 'toluene') mole / second 8.4147e-07 1.0000e-08 0.062520 \n", - " flow_mol_phase_comp ('Liq', 'methane') mole / second 1.0000e-12 1.0000e-08 2.6712e-07 \n", - " flow_mol_phase_comp ('Liq', 'hydrogen') mole / second 1.0000e-12 1.0000e-08 2.6712e-07 \n", - " flow_mol_phase_comp ('Vap', 'benzene') mole / second 0.35374 0.14915 1.0000e-08 \n", - " flow_mol_phase_comp ('Vap', 'toluene') mole / second 0.078129 0.015610 1.0000e-08 \n", - " flow_mol_phase_comp ('Vap', 'methane') mole / second 1.2721 1.2721 1.0000e-08 \n", - " flow_mol_phase_comp ('Vap', 'hydrogen') mole / second 0.32821 0.32821 1.0000e-08 \n", - " temperature kelvin 771.85 325.00 325.00 \n", - " pressure pascal 3.5000e+05 3.5000e+05 3.5000e+05 \n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "m.fs.F101.report()" ] @@ -2535,25 +1457,7 @@ "cell_type": "code", "execution_count": 59, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Units Reactor Light Gases\n", - "flow_mol_phase_comp ('Liq', 'benzene') mole / second 1.2993e-07 1.0000e-08 \n", - "flow_mol_phase_comp ('Liq', 'toluene') mole / second 8.4147e-07 1.0000e-08 \n", - "flow_mol_phase_comp ('Liq', 'methane') mole / second 1.0000e-12 1.0000e-08 \n", - "flow_mol_phase_comp ('Liq', 'hydrogen') mole / second 1.0000e-12 1.0000e-08 \n", - "flow_mol_phase_comp ('Vap', 'benzene') mole / second 0.35374 0.14915 \n", - "flow_mol_phase_comp ('Vap', 'toluene') mole / second 0.078129 0.015610 \n", - "flow_mol_phase_comp ('Vap', 'methane') mole / second 1.2721 1.2721 \n", - "flow_mol_phase_comp ('Vap', 'hydrogen') mole / second 0.32821 0.32821 \n", - "temperature kelvin 771.85 325.00 \n", - "pressure pascal 3.5000e+05 3.5000e+05 \n" - ] - } - ], + "outputs": [], "source": [ "from idaes.core.util.tables import (\n", " create_stream_table_dataframe,\n", @@ -2860,117 +1764,7 @@ "cell_type": "code", "execution_count": 71, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'scaling_factor' that contains 3\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 150 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 4073\n", - "Number of nonzeros in inequality constraint Jacobian.: 6\n", - "Number of nonzeros in Lagrangian Hessian.............: 2391\n", - "\n", - "Total number of variables............................: 1176\n", - " variables with only lower bounds: 113\n", - " variables with lower and upper bounds: 372\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 1169\n", - "Total number of inequality constraints...............: 3\n", - " inequality constraints with only lower bounds: 2\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 1\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 4.4230147e+05 2.99e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 4.3753585e+05 2.91e+05 1.28e+02 -1.0 3.09e+06 - 3.58e-01 2.40e-02f 1\n", - " 2 4.3545100e+05 2.78e+05 1.55e+02 -1.0 1.78e+06 - 3.31e-01 4.74e-02h 1\n", - " 3 4.2822311e+05 2.20e+05 4.50e+02 -1.0 2.99e+06 - 2.95e-02 1.35e-01h 1\n", - " 4 4.2249096e+05 1.45e+05 1.43e+03 -1.0 7.01e+06 - 5.14e-01 2.03e-01h 1\n", - " 5 4.2194364e+05 8.17e+04 1.70e+04 -1.0 6.06e+06 - 5.97e-01 4.28e-01h 1\n", - " 6 4.2602765e+05 4.55e+04 1.10e+06 -1.0 4.32e+06 - 9.26e-01 5.07e-01h 1\n", - " 7 4.3776643e+05 2.03e+04 6.44e+09 -1.0 2.42e+06 - 9.90e-01 9.47e-01h 1\n", - " 8 4.3846260e+05 1.92e+04 6.05e+09 -1.0 4.42e+05 - 5.40e-01 5.74e-02h 1\n", - " 9 4.4529853e+05 4.05e+04 4.66e+10 -1.0 2.47e+05 - 9.96e-01 9.90e-01h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 4.4906283e+05 9.76e+03 1.10e+10 -1.0 1.12e+03 -4.0 1.26e-01 7.45e-01h 1\n", - " 11 4.5079086e+05 1.19e+03 1.54e+09 -1.0 5.63e+02 -4.5 3.77e-01 1.00e+00h 1\n", - " 12 4.5024224e+05 2.66e+00 3.67e+06 -1.0 6.61e+01 -5.0 1.00e+00 1.00e+00f 1\n", - " 13 4.4946170e+05 5.64e-01 9.29e+05 -1.0 1.81e+02 -5.4 1.00e+00 7.88e-01f 1\n", - " 14 4.4916780e+05 8.48e+00 1.62e+05 -1.0 2.83e+02 -5.9 1.00e+00 1.00e+00f 1\n", - " 15 4.4899127e+05 4.83e+00 9.07e+04 -1.0 1.01e+02 -6.4 1.00e+00 4.40e-01f 2\n", - " 16 4.4886718e+05 7.00e-01 4.61e+02 -1.0 2.35e+02 -6.9 1.00e+00 1.00e+00f 1\n", - " 17 4.4800159e+05 1.39e+02 4.52e+06 -3.8 1.17e+03 -7.3 9.79e-01 9.37e-01f 1\n", - " 18 4.4672196e+05 9.59e+02 1.22e+06 -3.8 4.55e+03 -7.8 1.00e+00 9.43e-01f 1\n", - " 19 4.4401667e+05 7.75e+03 1.55e+05 -3.8 1.08e+04 -8.3 1.00e+00 1.00e+00f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 20 4.4185035e+05 1.91e+04 1.36e+04 -3.8 1.33e+04 -8.8 1.00e+00 1.00e+00h 1\n", - " 21 4.4241001e+05 3.52e+03 5.96e+03 -3.8 2.94e+03 -9.2 1.00e+00 1.00e+00h 1\n", - " 22 4.4185237e+05 7.82e+00 2.91e+02 -3.8 7.13e+03 -9.7 2.39e-01 1.00e+00h 1\n", - " 23 4.4124091e+05 1.53e+01 3.11e+02 -3.8 4.82e+04 -10.2 8.59e-01 1.36e-01f 1\n", - " 24 4.4137379e+05 1.80e+00 2.91e+02 -3.8 1.41e+04 - 1.95e-01 1.00e+00h 1\n", - " 25 4.3862833e+05 1.70e+03 9.48e+04 -3.8 1.57e+07 - 1.29e-03 9.10e-02f 1\n", - " 26 4.3883308e+05 1.49e+03 8.46e+04 -3.8 1.02e+06 - 1.00e+00 1.35e-01h 1\n", - " 27 4.3885472e+05 2.18e+01 3.40e+03 -3.8 1.38e+05 - 1.00e+00 1.00e+00h 1\n", - " 28 4.3884160e+05 5.90e-02 6.38e+01 -3.8 8.66e+03 - 1.00e+00 1.00e+00h 1\n", - " 29 4.3884157e+05 6.48e-07 4.63e-04 -3.8 2.89e+01 - 1.00e+00 1.00e+00h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 30 4.3883990e+05 3.57e-01 2.38e+03 -5.7 8.19e+02 - 1.00e+00 1.00e+00f 1\n", - " 31 4.3883992e+05 3.50e-07 7.79e-06 -5.7 3.55e-01 - 1.00e+00 1.00e+00h 1\n", - " 32 4.3883990e+05 5.47e-05 3.63e-01 -8.0 1.01e+01 - 1.00e+00 1.00e+00h 1\n", - " 33 4.3883990e+05 2.24e-08 1.46e-07 -8.0 5.42e-05 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 33\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 4.3883989842628603e+02 4.3883989842628600e+05\n", - "Dual infeasibility......: 1.4600704448671754e-07 1.4600704448671753e-04\n", - "Constraint violation....: 2.9103830456733704e-11 2.2351741790771484e-08\n", - "Complementarity.........: 9.0909948039799681e-09 9.0909948039799686e-06\n", - "Overall NLP error.......: 9.0909948039799681e-09 1.4600704448671753e-04\n", - "\n", - "\n", - "Number of objective function evaluations = 35\n", - "Number of objective gradient evaluations = 34\n", - "Number of equality constraint evaluations = 35\n", - "Number of inequality constraint evaluations = 35\n", - "Number of equality constraint Jacobian evaluations = 34\n", - "Number of inequality constraint Jacobian evaluations = 34\n", - "Number of Lagrangian Hessian evaluations = 33\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.164\n", - "Total CPU secs in NLP function evaluations = 0.020\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "results = solver.solve(m, tee=True)" ] @@ -3004,26 +1798,7 @@ "cell_type": "code", "execution_count": 73, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "total cost = $ 438839.898426286\n", - "operating cost = $ 408883.5314830889\n", - "capital cost = $ 29956.3669431971\n", - "\n", - "Distillate flowrate = 0.1799999900263989 mol/s\n", - "Benzene purity = 98.99999900049086 %\n", - "Residue flowrate = 0.1085161642426372 mol/s\n", - "Toluene purity = 15.676178086213548 %\n", - "\n", - "Conversion = 93.38705916369427 %\n", - "\n", - "Overhead benzene loss in F101 = 17.34061793115618 %\n" - ] - } - ], + "outputs": [], "source": [ "print(\"total cost = $\", value(m.fs.capital_cost) + value(m.fs.operating_cost))\n", "print(\"operating cost = $\", value(m.fs.operating_cost))\n", @@ -3065,16 +1840,7 @@ "testing" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "408883.5314830889\n", - "29956.3669431971\n" - ] - } - ], + "outputs": [], "source": [ "import pytest\n", "\n", @@ -3096,23 +1862,7 @@ "cell_type": "code", "execution_count": 75, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Optimal Values\n", - "\n", - "H101 outlet temperature = 568.923204295196 K\n", - "\n", - "R101 outlet temperature = 790.3655425698853 K\n", - "\n", - "F101 outlet temperature = 298.0 K\n", - "\n", - "H102 outlet temperature = 368.7414339952852 K\n" - ] - } - ], + "outputs": [], "source": [ "print(\"Optimal Values\")\n", "print()\n", diff --git a/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_distillation_doc.ipynb b/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_distillation_doc.ipynb index 1e23d2be..3aac5731 100644 --- a/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_distillation_doc.ipynb +++ b/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_distillation_doc.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -673,15 +674,7 @@ "cell_type": "code", "execution_count": 28, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "29\n" - ] - } - ], + "outputs": [], "source": [ "print(degrees_of_freedom(m))" ] @@ -866,42 +859,7 @@ "cell_type": "code", "execution_count": 38, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].flow_mol_phase\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enth_mol_phase_comp[Liq,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enth_mol_phase_comp[Liq,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enth_mol_phase_comp[Vap,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enth_mol_phase_comp[Vap,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].enth_mol_phase_comp[Liq,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].enth_mol_phase_comp[Liq,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].enth_mol_phase_comp[Vap,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].enth_mol_phase_comp[Vap,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].material_flow_terms[Liq,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].material_flow_terms[Vap,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].material_flow_terms[Liq,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].material_flow_terms[Vap,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enthalpy_flow_terms[Liq], enthalpy_flow_terms\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enthalpy_flow_terms[Vap], enthalpy_flow_terms\n" - ] - } - ], + "outputs": [], "source": [ "# Set scaling factors for heat duty, reaction extent and volume\n", "iscale.set_scaling_factor(m.fs.H101.control_volume.heat, 1e-2)\n", @@ -938,15 +896,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0\n" - ] - } - ], + "outputs": [], "source": [ "# Todo: Check the degrees of freedom\n", "print(degrees_of_freedom(m))" @@ -991,15 +941,7 @@ "cell_type": "code", "execution_count": 43, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "fs.s03\n" - ] - } - ], + "outputs": [], "source": [ "for o in heuristic_tear_set:\n", " print(o.name)" @@ -1016,20 +958,7 @@ "cell_type": "code", "execution_count": 44, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "fs.H101\n", - "fs.R101\n", - "fs.F101\n", - "fs.S101\n", - "fs.C101\n", - "fs.M101\n" - ] - } - ], + "outputs": [], "source": [ "for o in order:\n", " print(o[0].name)" @@ -1106,132 +1035,7 @@ "metadata": { "scrolled": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-08-28 18:38:14 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:16 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:16 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:16 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 12\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 50 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:18 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:18 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:18 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 1 optimal - .\n", - "2024-08-28 18:38:18 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 2 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 3 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 4 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 5 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 1 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 2 optimal - .\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 3 optimal - .\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 4 optimal - .\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 5 optimal - .\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:21 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:21 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "2024-08-28 18:38:21 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:21 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 11\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 50 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "2024-08-28 18:38:24 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:24 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 11\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 50 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "2024-08-28 18:38:24 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:24 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "2024-08-28 18:38:29 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:29 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:29 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:29 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "WARNING: Wegstein failed to converge in 3 iterations\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 1 optimal - .\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 2 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 3 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 4 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 5 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 1 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 2 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 3 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 4 optimal - .\n", - "2024-08-28 18:38:33 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 5 optimal - .\n" - ] - } - ], + "outputs": [], "source": [ "seq.run(m, function)" ] @@ -1250,91 +1054,7 @@ "cell_type": "code", "execution_count": 48, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'scaling_factor' that contains 6\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 150 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 1097\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 877\n", - "\n", - "Total number of variables............................: 363\n", - " variables with only lower bounds: 8\n", - " variables with lower and upper bounds: 155\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 363\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 3.82e+04 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 8.69e+03 1.44e+03 -1.0 2.00e+04 - 9.71e-01 4.67e-01H 1\n", - " 2 0.0000000e+00 1.29e+03 1.56e+03 -1.0 1.60e+04 - 9.79e-01 4.90e-01h 1\n", - " 3 0.0000000e+00 1.18e+03 1.55e+05 -1.0 1.40e+04 - 9.90e-01 4.99e-01h 1\n", - " 4 0.0000000e+00 5.46e+02 2.32e+09 -1.0 8.42e+03 - 1.00e+00 9.82e-01h 1\n", - " 5 0.0000000e+00 5.46e+03 3.66e+10 -1.0 5.97e+02 - 1.00e+00 9.90e-01h 1\n", - " 6 0.0000000e+00 1.21e+03 8.01e+09 -1.0 5.75e+00 - 1.00e+00 1.00e+00h 1\n", - " 7 0.0000000e+00 6.41e+00 3.87e+07 -1.0 1.53e-03 - 1.00e+00 1.00e+00f 1\n", - " 8 0.0000000e+00 1.96e-04 9.36e+02 -1.0 7.28e-06 - 1.00e+00 1.00e+00h 1\n", - " 9 0.0000000e+00 2.24e-08 4.99e-01 -3.8 5.92e-08 - 1.00e+00 1.00e+00h 1\n", - "Cannot recompute multipliers for feasibility problem. Error in eq_mult_calculator\n", - "\n", - "Number of Iterations....: 9\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 1.5042487592972509e+04 1.5042487592972509e+04\n", - "Constraint violation....: 2.9103830456733704e-11 2.2351741790771484e-08\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.9103830456733704e-11 1.5042487592972509e+04\n", - "\n", - "\n", - "Number of objective function evaluations = 11\n", - "Number of objective gradient evaluations = 10\n", - "Number of equality constraint evaluations = 11\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 10\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 9\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.011\n", - "Total CPU secs in NLP function evaluations = 0.001\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "# Create the solver object\n", "solver = get_solver()\n", @@ -1366,617 +1086,7 @@ "cell_type": "code", "execution_count": 50, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].material_flow_terms[Liq,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].material_flow_terms[Vap,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].material_flow_terms[Liq,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].material_flow_terms[Vap,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].enthalpy_flow_terms[Liq], enthalpy_flow_terms\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].enthalpy_flow_terms[Vap], enthalpy_flow_terms\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].material_flow_terms[Liq,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].material_flow_terms[Vap,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].material_flow_terms[Liq,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].material_flow_terms[Vap,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].enthalpy_flow_terms[Liq], enthalpy_flow_terms\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].enthalpy_flow_terms[Vap], enthalpy_flow_terms\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.e_flow_reflux[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.e_mole_frac_reflux[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.e_mole_frac_reflux[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.e_flow_vapor_reboil[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.e_mole_frac_vapor_reboil[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.e_mole_frac_vapor_reboil[0.0,toluene]\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101: Begin initialization.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray: Begin initialization.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: State Released.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: State Released.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: State Released.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: State Released.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume: Initialization Complete\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser: Initialization Complete, optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: State Released.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: State Released.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler: Initialization Complete, optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: State Released.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.rectification_section[1]: Begin initialization.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: State Released.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: State Released.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[2]: Begin initialization.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: State Released.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[2]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[2]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: State Released.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: State Released.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3]: Begin initialization.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: State Released.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: State Released.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: State Released.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4]: Begin initialization.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: State Released.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: State Released.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6]: Begin initialization.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: State Released.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: State Released.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[7]: Begin initialization.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: State Released.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[7]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[7]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: State Released.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: State Released.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8]: Begin initialization.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: State Released.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: State Released.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: State Released.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9]: Begin initialization.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: State Released.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: State Released.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: State Released.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10]: Begin initialization.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: State Released.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: State Released.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101: Rectification section initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101: Stripping section initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: State Released.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: State Released.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101: Column section initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: State Released.\n", - "2024-08-28 18:39:02 [INFO] idaes.init.fs.D101: Column section + Condenser initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:02 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: State Released.\n", - "2024-08-28 18:39:03 [INFO] idaes.init.fs.D101: Column section + Condenser + Reboiler initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:03 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: State Released.\n" - ] - } - ], + "outputs": [], "source": [ "# Add distillation column to the flowsheet\n", "m.fs.D101 = TrayColumn(\n", @@ -2061,101 +1171,7 @@ "cell_type": "code", "execution_count": 53, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 150 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 4042\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 2376\n", - "\n", - "Total number of variables............................: 1169\n", - " variables with only lower bounds: 112\n", - " variables with lower and upper bounds: 365\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 1169\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 3.83e+04 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 8.70e+03 1.50e+03 -1.0 3.69e+04 - 9.71e-01 4.62e-01H 1\n", - " 2 0.0000000e+00 1.53e+03 1.56e+03 -1.0 6.75e+03 - 9.77e-01 4.89e-01h 1\n", - " 3 0.0000000e+00 1.37e+03 1.55e+05 -1.0 9.37e+03 - 9.90e-01 4.99e-01h 1\n", - " 4 0.0000000e+00 6.14e+02 2.31e+09 -1.0 6.09e+03 - 1.00e+00 9.81e-01h 1\n", - " 5 0.0000000e+00 5.32e+03 3.62e+10 -1.0 5.56e+02 - 1.00e+00 9.90e-01h 1\n", - " 6 0.0000000e+00 1.16e+03 7.80e+09 -1.0 5.36e+00 - 1.00e+00 1.00e+00h 1\n", - " 7 0.0000000e+00 5.96e+00 3.64e+07 -1.0 1.47e-03 - 1.00e+00 1.00e+00f 1\n", - " 8 0.0000000e+00 1.69e-04 8.15e+02 -1.0 6.77e-06 - 1.00e+00 1.00e+00h 1\n", - " 9 0.0000000e+00 7.45e-09 6.64e-03 -3.8 2.00e-07 - 1.00e+00 1.00e+00h 1\n", - "Cannot recompute multipliers for feasibility problem. Error in eq_mult_calculator\n", - "\n", - "Number of Iterations....: 9\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 1.5042483516409773e+04 1.5042483516409773e+04\n", - "Constraint violation....: 2.9103830456733704e-11 7.4505805969238281e-09\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.9103830456733704e-11 1.5042483516409773e+04\n", - "\n", - "\n", - "Number of objective function evaluations = 11\n", - "Number of objective gradient evaluations = 10\n", - "Number of equality constraint evaluations = 11\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 10\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 9\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.083\n", - "Total CPU secs in NLP function evaluations = 0.013\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 1169, 'Number of variables': 1169, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.2022566795349121}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 53, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "solver.solve(m, tee=True)" ] @@ -2173,26 +1189,7 @@ "cell_type": "code", "execution_count": 55, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "total cost = $ 442301.47075252194\n", - "operating cost = $ 427596.73056805483\n", - "capital cost = $ 14704.740184467111\n", - "\n", - "Distillate flowrate = 0.16196898920633368 mol/s\n", - "Benzene purity = 89.4916166580088 %\n", - "Residue flowrate = 0.10515007120697904 mol/s\n", - "Toluene purity = 43.32260291055251 %\n", - "\n", - "Conversion = 75.0 %\n", - "\n", - "Overhead benzene loss in F101 = 42.161938483603194 %\n" - ] - } - ], + "outputs": [], "source": [ "print(\"total cost = $\", value(m.fs.capital_cost) + value(m.fs.operating_cost))\n", "print(\"operating cost = $\", value(m.fs.operating_cost))\n", @@ -2237,40 +1234,7 @@ "cell_type": "code", "execution_count": 57, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.R101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 0.0000 : watt : True : (None, None)\n", - " Volume : 0.14705 : meter ** 3 : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol_phase_comp ('Liq', 'benzene') mole / second 1.2993e-07 1.2993e-07\n", - " flow_mol_phase_comp ('Liq', 'toluene') mole / second 8.4147e-07 8.4147e-07\n", - " flow_mol_phase_comp ('Liq', 'methane') mole / second 1.0000e-12 1.0000e-12\n", - " flow_mol_phase_comp ('Liq', 'hydrogen') mole / second 1.0000e-12 1.0000e-12\n", - " flow_mol_phase_comp ('Vap', 'benzene') mole / second 0.11936 0.35374\n", - " flow_mol_phase_comp ('Vap', 'toluene') mole / second 0.31252 0.078129\n", - " flow_mol_phase_comp ('Vap', 'methane') mole / second 1.0377 1.2721\n", - " flow_mol_phase_comp ('Vap', 'hydrogen') mole / second 0.56260 0.32821\n", - " temperature kelvin 600.00 771.85\n", - " pressure pascal 3.5000e+05 3.5000e+05\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "m.fs.R101.report()" ] @@ -2286,40 +1250,7 @@ "cell_type": "code", "execution_count": 58, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.F101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -70343. : watt : False : (None, None)\n", - " Pressure Change : 0.0000 : pascal : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Vapor Outlet Liquid Outlet\n", - " flow_mol_phase_comp ('Liq', 'benzene') mole / second 1.2993e-07 1.0000e-08 0.20460 \n", - " flow_mol_phase_comp ('Liq', 'toluene') mole / second 8.4147e-07 1.0000e-08 0.062520 \n", - " flow_mol_phase_comp ('Liq', 'methane') mole / second 1.0000e-12 1.0000e-08 2.6712e-07 \n", - " flow_mol_phase_comp ('Liq', 'hydrogen') mole / second 1.0000e-12 1.0000e-08 2.6712e-07 \n", - " flow_mol_phase_comp ('Vap', 'benzene') mole / second 0.35374 0.14915 1.0000e-08 \n", - " flow_mol_phase_comp ('Vap', 'toluene') mole / second 0.078129 0.015610 1.0000e-08 \n", - " flow_mol_phase_comp ('Vap', 'methane') mole / second 1.2721 1.2721 1.0000e-08 \n", - " flow_mol_phase_comp ('Vap', 'hydrogen') mole / second 0.32821 0.32821 1.0000e-08 \n", - " temperature kelvin 771.85 325.00 325.00 \n", - " pressure pascal 3.5000e+05 3.5000e+05 3.5000e+05 \n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "m.fs.F101.report()" ] @@ -2340,25 +1271,7 @@ "cell_type": "code", "execution_count": 59, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Units Reactor Light Gases\n", - "flow_mol_phase_comp ('Liq', 'benzene') mole / second 1.2993e-07 1.0000e-08 \n", - "flow_mol_phase_comp ('Liq', 'toluene') mole / second 8.4147e-07 1.0000e-08 \n", - "flow_mol_phase_comp ('Liq', 'methane') mole / second 1.0000e-12 1.0000e-08 \n", - "flow_mol_phase_comp ('Liq', 'hydrogen') mole / second 1.0000e-12 1.0000e-08 \n", - "flow_mol_phase_comp ('Vap', 'benzene') mole / second 0.35374 0.14915 \n", - "flow_mol_phase_comp ('Vap', 'toluene') mole / second 0.078129 0.015610 \n", - "flow_mol_phase_comp ('Vap', 'methane') mole / second 1.2721 1.2721 \n", - "flow_mol_phase_comp ('Vap', 'hydrogen') mole / second 0.32821 0.32821 \n", - "temperature kelvin 771.85 325.00 \n", - "pressure pascal 3.5000e+05 3.5000e+05 \n" - ] - } - ], + "outputs": [], "source": [ "from idaes.core.util.tables import (\n", " create_stream_table_dataframe,\n", @@ -2623,117 +1536,7 @@ "cell_type": "code", "execution_count": 71, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'scaling_factor' that contains 3\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 150 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 4073\n", - "Number of nonzeros in inequality constraint Jacobian.: 6\n", - "Number of nonzeros in Lagrangian Hessian.............: 2391\n", - "\n", - "Total number of variables............................: 1176\n", - " variables with only lower bounds: 113\n", - " variables with lower and upper bounds: 372\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 1169\n", - "Total number of inequality constraints...............: 3\n", - " inequality constraints with only lower bounds: 2\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 1\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 4.4230147e+05 2.99e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 4.3753585e+05 2.91e+05 1.28e+02 -1.0 3.09e+06 - 3.58e-01 2.40e-02f 1\n", - " 2 4.3545100e+05 2.78e+05 1.55e+02 -1.0 1.78e+06 - 3.31e-01 4.74e-02h 1\n", - " 3 4.2822311e+05 2.20e+05 4.50e+02 -1.0 2.99e+06 - 2.95e-02 1.35e-01h 1\n", - " 4 4.2249096e+05 1.45e+05 1.43e+03 -1.0 7.01e+06 - 5.14e-01 2.03e-01h 1\n", - " 5 4.2194364e+05 8.17e+04 1.70e+04 -1.0 6.06e+06 - 5.97e-01 4.28e-01h 1\n", - " 6 4.2602765e+05 4.55e+04 1.10e+06 -1.0 4.32e+06 - 9.26e-01 5.07e-01h 1\n", - " 7 4.3776643e+05 2.03e+04 6.44e+09 -1.0 2.42e+06 - 9.90e-01 9.47e-01h 1\n", - " 8 4.3846260e+05 1.92e+04 6.05e+09 -1.0 4.42e+05 - 5.40e-01 5.74e-02h 1\n", - " 9 4.4529853e+05 4.05e+04 4.66e+10 -1.0 2.47e+05 - 9.96e-01 9.90e-01h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 4.4906283e+05 9.76e+03 1.10e+10 -1.0 1.12e+03 -4.0 1.26e-01 7.45e-01h 1\n", - " 11 4.5079086e+05 1.19e+03 1.54e+09 -1.0 5.63e+02 -4.5 3.77e-01 1.00e+00h 1\n", - " 12 4.5024224e+05 2.66e+00 3.67e+06 -1.0 6.61e+01 -5.0 1.00e+00 1.00e+00f 1\n", - " 13 4.4946170e+05 5.64e-01 9.29e+05 -1.0 1.81e+02 -5.4 1.00e+00 7.88e-01f 1\n", - " 14 4.4916780e+05 8.48e+00 1.62e+05 -1.0 2.83e+02 -5.9 1.00e+00 1.00e+00f 1\n", - " 15 4.4899127e+05 4.83e+00 9.07e+04 -1.0 1.01e+02 -6.4 1.00e+00 4.40e-01f 2\n", - " 16 4.4886718e+05 7.00e-01 4.61e+02 -1.0 2.35e+02 -6.9 1.00e+00 1.00e+00f 1\n", - " 17 4.4800159e+05 1.39e+02 4.52e+06 -3.8 1.17e+03 -7.3 9.79e-01 9.37e-01f 1\n", - " 18 4.4672196e+05 9.59e+02 1.22e+06 -3.8 4.55e+03 -7.8 1.00e+00 9.43e-01f 1\n", - " 19 4.4401667e+05 7.75e+03 1.55e+05 -3.8 1.08e+04 -8.3 1.00e+00 1.00e+00f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 20 4.4185035e+05 1.91e+04 1.36e+04 -3.8 1.33e+04 -8.8 1.00e+00 1.00e+00h 1\n", - " 21 4.4241001e+05 3.52e+03 5.96e+03 -3.8 2.94e+03 -9.2 1.00e+00 1.00e+00h 1\n", - " 22 4.4185237e+05 7.82e+00 2.91e+02 -3.8 7.13e+03 -9.7 2.39e-01 1.00e+00h 1\n", - " 23 4.4124091e+05 1.53e+01 3.11e+02 -3.8 4.82e+04 -10.2 8.59e-01 1.36e-01f 1\n", - " 24 4.4137379e+05 1.80e+00 2.91e+02 -3.8 1.41e+04 - 1.95e-01 1.00e+00h 1\n", - " 25 4.3862833e+05 1.70e+03 9.48e+04 -3.8 1.57e+07 - 1.29e-03 9.10e-02f 1\n", - " 26 4.3883308e+05 1.49e+03 8.46e+04 -3.8 1.02e+06 - 1.00e+00 1.35e-01h 1\n", - " 27 4.3885472e+05 2.18e+01 3.40e+03 -3.8 1.38e+05 - 1.00e+00 1.00e+00h 1\n", - " 28 4.3884160e+05 5.90e-02 6.38e+01 -3.8 8.66e+03 - 1.00e+00 1.00e+00h 1\n", - " 29 4.3884157e+05 6.48e-07 4.63e-04 -3.8 2.89e+01 - 1.00e+00 1.00e+00h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 30 4.3883990e+05 3.57e-01 2.38e+03 -5.7 8.19e+02 - 1.00e+00 1.00e+00f 1\n", - " 31 4.3883992e+05 3.50e-07 7.79e-06 -5.7 3.55e-01 - 1.00e+00 1.00e+00h 1\n", - " 32 4.3883990e+05 5.47e-05 3.63e-01 -8.0 1.01e+01 - 1.00e+00 1.00e+00h 1\n", - " 33 4.3883990e+05 2.24e-08 1.46e-07 -8.0 5.42e-05 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 33\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 4.3883989842628603e+02 4.3883989842628600e+05\n", - "Dual infeasibility......: 1.4600704448671754e-07 1.4600704448671753e-04\n", - "Constraint violation....: 2.9103830456733704e-11 2.2351741790771484e-08\n", - "Complementarity.........: 9.0909948039799681e-09 9.0909948039799686e-06\n", - "Overall NLP error.......: 9.0909948039799681e-09 1.4600704448671753e-04\n", - "\n", - "\n", - "Number of objective function evaluations = 35\n", - "Number of objective gradient evaluations = 34\n", - "Number of equality constraint evaluations = 35\n", - "Number of inequality constraint evaluations = 35\n", - "Number of equality constraint Jacobian evaluations = 34\n", - "Number of inequality constraint Jacobian evaluations = 34\n", - "Number of Lagrangian Hessian evaluations = 33\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.164\n", - "Total CPU secs in NLP function evaluations = 0.020\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "results = solver.solve(m, tee=True)" ] @@ -2751,26 +1554,7 @@ "cell_type": "code", "execution_count": 73, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "total cost = $ 438839.898426286\n", - "operating cost = $ 408883.5314830889\n", - "capital cost = $ 29956.3669431971\n", - "\n", - "Distillate flowrate = 0.1799999900263989 mol/s\n", - "Benzene purity = 98.99999900049086 %\n", - "Residue flowrate = 0.1085161642426372 mol/s\n", - "Toluene purity = 15.676178086213548 %\n", - "\n", - "Conversion = 93.38705916369427 %\n", - "\n", - "Overhead benzene loss in F101 = 17.34061793115618 %\n" - ] - } - ], + "outputs": [], "source": [ "print(\"total cost = $\", value(m.fs.capital_cost) + value(m.fs.operating_cost))\n", "print(\"operating cost = $\", value(m.fs.operating_cost))\n", @@ -2815,23 +1599,7 @@ "cell_type": "code", "execution_count": 75, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Optimal Values\n", - "\n", - "H101 outlet temperature = 568.923204295196 K\n", - "\n", - "R101 outlet temperature = 790.3655425698853 K\n", - "\n", - "F101 outlet temperature = 298.0 K\n", - "\n", - "H102 outlet temperature = 368.7414339952852 K\n" - ] - } - ], + "outputs": [], "source": [ "print(\"Optimal Values\")\n", "print()\n", diff --git a/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_distillation_exercise.ipynb b/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_distillation_exercise.ipynb index e44357de..2f82ff65 100644 --- a/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_distillation_exercise.ipynb +++ b/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_distillation_exercise.ipynb @@ -1,2857 +1,1633 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "# HDA Flowsheet Simulation and Optimization\n", - "Maintainer: Brandon Paul \n", - "Author: Brandon Paul \n", - "Updated: 2023-06-01 \n", - "\n", - "\n", - "## Note\n", - "\n", - "This tutorial will be similar to the HDA flowsheet tutorial in the Tutorials section, except that we use a distillation column instead of a second flash (F102) to produce benzene and toluene products.\n", - "\n", - "\n", - "## Learning outcomes\n", - "\n", - "\n", - "- Construct a steady-state flowsheet using the IDAES unit model library\n", - "- Connecting unit models in a flowsheet using Arcs\n", - "- Using the SequentialDecomposition tool to initialize a flowsheet with recycle\n", - "- Fomulate and solve an optimization problem\n", - " - Defining an objective function\n", - " - Setting variable bounds\n", - " - Adding additional constraints \n", - "\n", - "\n", - "## Problem Statement\n", - "\n", - "Hydrodealkylation is a chemical reaction that often involves reacting\n", - "an aromatic hydrocarbon in the presence of hydrogen gas to form a\n", - "simpler aromatic hydrocarbon devoid of functional groups. In this\n", - "example, toluene will be reacted with hydrogen gas at high temperatures\n", - " to form benzene via the following reaction:\n", - "\n", - "**C6H5CH3 + H2 → C6H6 + CH4**\n", - "\n", - "\n", - "This reaction is often accompanied by an equilibrium side reaction\n", - "which forms diphenyl, which we will neglect for this example.\n", - "\n", - "This example is based on the 1967 AIChE Student Contest problem as\n", - "present by Douglas, J.M., Chemical Design of Chemical Processes, 1988,\n", - "McGraw-Hill.\n", - "\n", - "The flowsheet that we will be using for this module is shown below with the stream conditions. We will be processing toluene and hydrogen to produce at least 370 TPY of benzene. As shown in the flowsheet, we use a flash tank, F101, to separate out the non-condensibles, and a distillation column, D101, to further separate the benzene-toluene mixture to improve the benzene purity. The non-condensibles separated out in F101 will be partially recycled back to M101 and the rest will be purged. We will assume ideal gas behavior for this flowsheet. The properties required for this module are defined in\n", - "\n", - "- `hda_ideal_VLE.py`\n", - "- `idaes.models.properties.activity_coeff_models.BTX_activity_coeff_VLE`\n", - "- `hda_reaction.py`\n", - "\n", - "We will be using two thermodynamic packages: one (first in the list above) containing all four components (i.e., toluene, hydrogen, benzene, and methane) and the other (second in the list above) containing benzene and toluene only. The latter is needed to simplify the VLE calculations in the distillation column model. \n", - "\n", - "![](HDA_flowsheet_distillation.png)\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Translator block\n", - "\n", - "Benzene and toluene are separated by distillation, so the process involves phase equilibrium and two-phase flow conditions. However, the presence of hydrogen and methane complicates the calculations. This is because, hydrogen and methane are non-condensable under all conditions of interest; ergo, a vapor phase will always be present, and the mixture bubble point is extremely low. To simplify the phase equilibrium calculations, hydrogen and methane will be considered completely as non-condensable and insoluble in the liquid outlet from the flash F101.\n", - "\n", - "Since no hydrogen and methane will be present in the unit operations following the flash, a different component list can be used to simplify the property calculations. IDAES supports the definition of multiple property packages within a single flowsheet via `Translator` blocks. `Translator` blocks convert between different property calculations, component lists, and equations of state. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing required pyomo and idaes components\n", - "\n", - "\n", - "To construct a flowsheet, we will need several components from the pyomo and idaes package. Let us first import the following components from Pyomo:\n", - "- Constraint (to write constraints)\n", - "- Var (to declare variables)\n", - "- ConcreteModel (to create the concrete model object)\n", - "- Expression (to evaluate values as a function of variables defined in the model)\n", - "- Objective (to define an objective function for optimization)\n", - "- SolverFactory (to solve the problem)\n", - "- TransformationFactory (to apply certain transformations)\n", - "- Arc (to connect two unit models)\n", - "- SequentialDecomposition (to initialize the flowsheet in a sequential mode)\n", - "\n", - "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/stable/\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.environ import (\n", - " Constraint,\n", - " Var,\n", - " ConcreteModel,\n", - " Expression,\n", - " Objective,\n", - " TransformationFactory,\n", - " value,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Import `Arc` and `SequentialDecomposition` tools from `pyomo.network`\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Import the above mentioned tools from pyomo.network" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "From IDAES, we will be needing the FlowsheetBlock and the following unit models:\n", - "- Mixer\n", - "- Heater\n", - "- CSTR\n", - "- Flash\n", - "- Separator (splitter) \n", - "- PressureChanger\n", - "- Translator (to switch from one property package to another)\n", - "- TrayColumn (distillation column)\n", - "- CondenserType (Type of the overhead condenser: complete or partial)\n", - "- TemperatureSpec (Temperature specification inside the condenser)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.core import FlowsheetBlock" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.models.unit_models import (\n", - " PressureChanger,\n", - " Mixer,\n", - " Separator as Splitter,\n", - " Heater,\n", - " CSTR,\n", - " Flash,\n", - " Translator,\n", - ")\n", - "\n", - "from idaes.models_extra.column_models import TrayColumn\n", - "from idaes.models_extra.column_models.condenser import CondenserType, TemperatureSpec" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will also be needing some utility tools to put together the flowsheet and calculate the degrees of freedom. " - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "# Utility tools to put together the flowsheet and calculate the degrees of freedom\n", - "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.util.initialization import propagate_state\n", - "from idaes.core.solvers import get_solver\n", - "import idaes.core.util.scaling as iscale\n", - "from idaes.core.util.exceptions import InitializationError\n", - "\n", - "# Import idaes logger to set output levels\n", - "import idaes.logger as idaeslog" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing required thermo and reaction packages\n", - "\n", - "Finally, we import the thermophysical (`ideal_VLE.py` and `BTXParameterBlock`) packages and reaction package (`reaction.py`) for the HDA process. We have created custom thermophysical packages that assume ideal gas behavior with support for VLE. The reaction package consists of the stochiometric coefficients for the reaction, heat of reaction, and kinetic information (Arrhenius constant and activation energy). " - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes_examples.mod.hda import hda_reaction as reaction_props\n", - "from idaes.models.properties.activity_coeff_models.BTX_activity_coeff_VLE import (\n", - " BTXParameterBlock,\n", - ")\n", - "\n", - "from idaes_examples.mod.hda.hda_ideal_VLE import HDAParameterBlock" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Constructing the Flowsheet\n", - "\n", - "We have now imported all the components, unit models, and property modules we need to construct a flowsheet. Let us create a ConcreteModel and add the flowsheet block to it. " - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "# Create a Pyomo Concrete Model to contain the problem\n", - "m = ConcreteModel()\n", - "\n", - "# Add a steady state flowsheet block to the model\n", - "m.fs = FlowsheetBlock(dynamic=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will now add the thermophysical and reaction packages to the flowsheet." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "# Property package for benzene, toluene, hydrogen, methane mixture\n", - "m.fs.BTHM_params = HDAParameterBlock()\n", - "\n", - "# Property package for the benzene-toluene mixture\n", - "m.fs.BT_params = BTXParameterBlock(\n", - " valid_phase=(\"Liq\", \"Vap\"), activity_coeff_model=\"Ideal\"\n", - ")\n", - "\n", - "# Reaction package for the HDA reaction\n", - "m.fs.reaction_params = reaction_props.HDAReactionParameterBlock(\n", - " property_package=m.fs.BTHM_params\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding Unit Models\n", - "\n", - "Let us start adding the unit models we have imported to the flowsheet. Here, we are adding the Mixer (assigned a name M101) and a Heater (assigned a name H101). Note that, all unit models need to be given a property package argument. In addition, the Mixer unit model needs a `list` consisting of the inlets (toluene feed, hydrogen feed and vapor recycle streams in this case). " - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "# Adding the mixer M101 to the flowsheet\n", - "m.fs.M101 = Mixer(\n", - " property_package=m.fs.BTHM_params,\n", - " inlet_list=[\"toluene_feed\", \"hydrogen_feed\", \"vapor_recycle\"],\n", - ")\n", - "\n", - "# Adding the heater H101 to the flowsheet\n", - "m.fs.H101 = Heater(property_package=m.fs.BTHM_params, has_phase_equilibrium=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Let us now add the CSTR (assign the name R101) and pass the following arguments:\n", - "
    \n", - "
  • \"property_package\": m.fs.BTHM_params
  • \n", - "
  • \"reaction_package\": m.fs.reaction_params
  • \n", - "
  • \"has_heat_of_reaction\": True
  • \n", - "
  • \"has_heat_transfer\": True
  • \n", - "
\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add reactor with the specifications above" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us now add the Flash (assign the name F101), Splitter (assign the name S101) and PressureChanger (assign the name C101)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "# Adding the flash tank F101 to the flowsheet\n", - "m.fs.F101 = Flash(\n", - " property_package=m.fs.BTHM_params, has_heat_transfer=True, has_pressure_change=True\n", - ")\n", - "\n", - "# Adding the splitter S101 to the flowsheet\n", - "m.fs.S101 = Splitter(\n", - " property_package=m.fs.BTHM_params, outlet_list=[\"purge\", \"recycle\"]\n", - ")\n", - "\n", - "# Adding the compressor C101 to the flowsheet\n", - "m.fs.C101 = PressureChanger(\n", - " property_package=m.fs.BTHM_params,\n", - " compressor=True,\n", - " thermodynamic_assumption=ThermodynamicAssumption.isothermal,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Remark\n", - "\n", - "Currently, the `SequentialDecomposition()` tool, which we will later be using to initialize the flowsheet, does not support the distillation column model. Thus, we will first simulate the flowsheet without the distillation column. After it converges, we will then add the distillation column, initialize it, and simulate the entire flowsheet." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As mentioned above, we use the `m.fs.BTHM_params` package, which contains all the four species, for the reactor loop, and the simpler `m.fs.BT_params` for unit operations following the flash (i.e., heater H102 and the distillation column D101). We define a `Translator` block to link the source property package and the package it is to be translated to in the following manner:" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "# Add translator block to convert between property packages\n", - "m.fs.translator = Translator(\n", - " inlet_property_package=m.fs.BTHM_params, outlet_property_package=m.fs.BT_params\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Translator block constraints\n", - "\n", - "The `Translator` block needs to know how to translate between the two property packages. This must be custom coded for each application because of the generality of the IDAES framework.\n", - "\n", - "For this process, five constraints are required based on the state variables used in the outgoing process.\n", - "\n", - "- Since we assumed that only benzene and toluene are present in the liquid phase, the total molar flowrate must be the sum of molar flowrates of benzene and toluene, respectively.\n", - "- Temperature of the inlet and outlet streams must be the same.\n", - "- Pressure of the inlet and outgoing streams must be the same\n", - "- The mole fraction of benzene in the outgoing stream is the ratio of the molar flowrate of liquid benzene in the inlet to the sum of molar flowrates of liquid benzene and toluene in the inlet.\n", - "- The mole fraction of toluene in the outgoing stream is the ratio of the molar flowrate of liquid toluene in the inlet to the sum of molar flowrates of liquid benzene and toluene in the inlet." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "# Add constraint: Total flow = benzene flow + toluene flow (molar)\n", - "m.fs.translator.eq_total_flow = Constraint(\n", - " expr=m.fs.translator.outlet.flow_mol[0]\n", - " == m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", - " + m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", - ")\n", - "\n", - "# Add constraint: Outlet temperature = Inlet temperature\n", - "m.fs.translator.eq_temperature = Constraint(\n", - " expr=m.fs.translator.outlet.temperature[0] == m.fs.translator.inlet.temperature[0]\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In the above, note that the variable flow_mol_phase_comp has the index - [time, phase, component]. As this is a steady-state flowsheet, the time index by default is 0. The valid phases are [\"Liq\", \"Vap\"]. Similarly the valid component list is [\"benzene\", \"toluene\", \"hydrogen\", \"methane\"]." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Add the constraint to ensure that the outlet pressure is the same as the inlet pressure\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add constraint: Outlet pressure = Inlet pressure" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "# Remaining constraints on the translator block\n", - "\n", - "# Add constraint: Benzene mole fraction definition\n", - "m.fs.translator.eq_mole_frac_benzene = Constraint(\n", - " expr=m.fs.translator.outlet.mole_frac_comp[0, \"benzene\"]\n", - " == m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", - " / (\n", - " m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", - " + m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", - " )\n", - ")\n", - "\n", - "# Add constraint: Toluene mole fraction definition\n", - "m.fs.translator.eq_mole_frac_toluene = Constraint(\n", - " expr=m.fs.translator.outlet.mole_frac_comp[0, \"toluene\"]\n", - " == m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", - " / (\n", - " m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", - " + m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", - " )\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Finally, let us add the Heater H102 in the same way as H101 but pass the m.fs.BT_params thermodynamic package. We will add the distillation column after converging the flowsheet.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add the Heater H102 to the flowsheet" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Connecting Unit Models using Arcs\n", - "\n", - "We have now added the initial set of unit models to the flowsheet. However, we have not yet specified how the units are connected. To do this, we will be using the `Arc` which is a pyomo component that takes in two arguments: `source` and `destination`. Let us connect the outlet of the mixer (M101) to the inlet of the heater (H101). " - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.H101.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "![](HDA_flowsheet_distillation.png) \n", - "\n", - "
\n", - "Inline Exercise:\n", - "Now, connect the H101 outlet to the R101 inlet using the cell above as a guide. \n", - "
\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Connect the H101 outlet to R101 inlet" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will now be connecting the rest of the units as shown below. Notice how the outlet names are different for the flash tank as it has a vapor and a liquid outlet. " - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.s05 = Arc(source=m.fs.R101.outlet, destination=m.fs.F101.inlet)\n", - "m.fs.s06 = Arc(source=m.fs.F101.vap_outlet, destination=m.fs.S101.inlet)\n", - "m.fs.s08 = Arc(source=m.fs.S101.recycle, destination=m.fs.C101.inlet)\n", - "m.fs.s09 = Arc(source=m.fs.C101.outlet, destination=m.fs.M101.vapor_recycle)\n", - "m.fs.s10a = Arc(source=m.fs.F101.liq_outlet, destination=m.fs.translator.inlet)\n", - "m.fs.s10b = Arc(source=m.fs.translator.outlet, destination=m.fs.H102.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We have now connected the unit model block using the arcs. However, each of these arcs link to ports on the two unit models that are connected. In this case, the ports consist of the state variables that need to be linked between the unit models. Pyomo provides a convenient method to write these equality constraints for us between two ports and this is done as follows:" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [], - "source": [ - "TransformationFactory(\"network.expand_arcs\").apply_to(m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Appending additional constraints to the model\n", - "\n", - "Now, we will see how we can add additional constraints to the model using `Constraint` from Pyomo.\n", - "\n", - "Consider the reactor R101. By default, the conversion of a component is not calculated when we simulate the flowsheet. If we are interested either in specifying or constraining the conversion value, we can add the following constraint to calculate the conversion:\n", - "$$ \\text{Conversion of toluene} = \\frac{\\text{molar flow of toluene in the inlet} - \\text{molar flow of toluene in the outlet}}{\\text{molar flow of toluene in the inlet}} $$ \n", - "\n", - "We add the constraint to the model as shown below." - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [], - "source": [ - "# Define the conversion variables using 'Var'\n", - "m.fs.R101.conversion = Var(initialize=0.75, bounds=(0, 1))\n", - "\n", - "# Append the constraint to the model\n", - "m.fs.R101.conv_constraint = Constraint(\n", - " expr=m.fs.R101.conversion * m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " == (\n", - " m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " - m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " )\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Fixing feed conditions and Initializing the flowsheet\n", - "\n", - "Let us first check how many degrees of freedom exist for this flowsheet using the `degrees_of_freedom` tool we imported earlier. " - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "29\n" - ] - } - ], - "source": [ - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will now be fixing the toluene feed stream to the conditions shown in the flowsheet above. Please note that though this is a pure toluene feed, the remaining components are still assigned a very small non-zero value to help with convergence and initializing. " - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(0.30)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.temperature.fix(303.2)\n", - "m.fs.M101.toluene_feed.pressure.fix(350000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Similarly, let us fix the hydrogen feed to the following conditions in the next cell:\n", - "
    \n", - "
  • FH2 = 0.30 mol/s
  • \n", - "
  • FCH4 = 0.02 mol/s
  • \n", - "
  • Remaining components = 1e-5 mol/s
  • \n", - "
  • T = 303.2 K
  • \n", - "
  • P = 350000 Pa
  • \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(0.30)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(0.02)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.temperature.fix(303.2)\n", - "m.fs.M101.hydrogen_feed.pressure.fix(350000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Fixing unit model specifications\n", - "\n", - "Now that we have fixed our inlet feed conditions, we will now be fixing the operating conditions for the unit models in the flowsheet. Let us set the H101 outlet temperature to 600 K. " - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [], - "source": [ - "# Fix the temperature of the outlet from the heater H101\n", - "m.fs.H101.outlet.temperature.fix(600)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Set the conditions for the reactor R101 to the following conditions:\n", - "
    \n", - "
  • `conversion` = 0.75
  • \n", - "
  • `heat_duty` = 0
  • \n", - "
\n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Fix the 'conversion' of the reactor R101\n", - "\n", - "\n", - "# Todo: Fix the 'heat_duty' of the reactor R101" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The Flash conditions for F101 can be set as follows. " - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": {}, - "outputs": [], - "source": [ - "# Fix the temperature of the vapor outlet from F101\n", - "m.fs.F101.vap_outlet.temperature.fix(325.0)\n", - "\n", - "# Fix the pressure drop in the flash F101\n", - "m.fs.F101.deltaP.fix(0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us fix the split fraction of the purge stream from the splitter S101 and the outlet pressure from the compressor C101" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [], - "source": [ - "# Fix the split fraction of the 'purge' stream from S101\n", - "m.fs.S101.split_fraction[0, \"purge\"].fix(0.2)\n", - "\n", - "# Fix the pressure of the outlet from the compressor C101\n", - "m.fs.C101.outlet.pressure.fix(350000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finally, let us fix the temperature of the outlet from H102 and the pressure drop in H102 as the following" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [], - "source": [ - "# Fix the temperature of the outlet from the heater H102\n", - "m.fs.H102.outlet.temperature.fix(375)\n", - "\n", - "# Fix the pressure drop in the heater H102\n", - "m.fs.H102.deltaP.fix(-200000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To avoid convergence issues associated with poorly scaled variables and/or constraints, we scale the variables and constraints corresponding to the heaters H101 and H102, flash F101 and the reactor R101. Scaling factors for the flow rates, temperature, pressure, etc. have been defined in the property package: `ideal_VLE.py` file. Here, we set scaling factors only for the heat duty of the heater, the reaction extent, heat duty and volume of the reactor." - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].flow_mol_phase\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enth_mol_phase_comp[Liq,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enth_mol_phase_comp[Liq,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enth_mol_phase_comp[Vap,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enth_mol_phase_comp[Vap,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].enth_mol_phase_comp[Liq,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].enth_mol_phase_comp[Liq,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].enth_mol_phase_comp[Vap,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].enth_mol_phase_comp[Vap,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].material_flow_terms[Liq,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].material_flow_terms[Vap,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].material_flow_terms[Liq,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].material_flow_terms[Vap,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enthalpy_flow_terms[Liq], enthalpy_flow_terms\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enthalpy_flow_terms[Vap], enthalpy_flow_terms\n" - ] - } - ], - "source": [ - "# Set scaling factors for heat duty, reaction extent and volume\n", - "iscale.set_scaling_factor(m.fs.H101.control_volume.heat, 1e-2)\n", - "iscale.set_scaling_factor(m.fs.R101.control_volume.heat, 1e-2)\n", - "iscale.set_scaling_factor(m.fs.R101.control_volume.rate_reaction_extent, 1)\n", - "iscale.set_scaling_factor(m.fs.R101.control_volume.volume, 1)\n", - "iscale.set_scaling_factor(m.fs.F101.control_volume.heat, 1e-2)\n", - "iscale.set_scaling_factor(m.fs.H102.control_volume.heat, 1e-2)\n", - "\n", - "# Set the scaling factors for the remaining variables and all constraints\n", - "iscale.calculate_scaling_factors(m.fs.H101)\n", - "iscale.calculate_scaling_factors(m.fs.R101)\n", - "iscale.calculate_scaling_factors(m.fs.F101)\n", - "iscale.calculate_scaling_factors(m.fs.H102)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "We have now defined all the feed conditions and the inputs required for the unit models. The system should now have 0 degrees of freedom i.e. should be a square problem. Please check that the degrees of freedom is 0. \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Check the degrees of freedom" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Initialization\n", - "\n", - "This subsection will demonstrate how to use the built-in sequential decomposition tool to initialize our flowsheet.\n", - "\n", - "Let us first create an object for the `SequentialDecomposition` and specify our options for this. " - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "metadata": {}, - "outputs": [], - "source": [ - "seq = SequentialDecomposition()\n", - "seq.options.select_tear_method = \"heuristic\"\n", - "seq.options.tear_method = \"Wegstein\"\n", - "seq.options.iterLim = 3\n", - "\n", - "# Using the SD tool\n", - "G = seq.create_graph(m)\n", - "heuristic_tear_set = seq.tear_set_arcs(G, method=\"heuristic\")\n", - "order = seq.calculation_order(G)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Which is the tear stream? Display tear set and order" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "fs.s03\n" - ] - } - ], - "source": [ - "for o in heuristic_tear_set:\n", - " print(o.name)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "What sequence did the SD tool determine to solve this flowsheet with the least number of tears? " - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "fs.H101\n", - "fs.R101\n", - "fs.F101\n", - "fs.S101\n", - "fs.C101\n", - "fs.M101\n" - ] - } - ], - "source": [ - "for o in order:\n", - " print(o[0].name)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The SequentialDecomposition tool has determined that the tear stream is the mixer outlet (s03 in the Figure above). We will need to provide a reasonable guess for this.\n", - "\n", - "For the initial guess, we assume that the flowrate of the recycle stream (s09) is zero. Consequently, the flow rate of the stream s03 is simply the sum of the flowrates of the toluene feed and hydrogen feed streams. Further, since the temperature and the pressure of both the toluene and hydrogen feed streams are the same, we specify their values as the initial guess for the temperature and pressure of the stream s03." - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "metadata": {}, - "outputs": [], - "source": [ - "tear_guesses = {\n", - " \"flow_mol_phase_comp\": {\n", - " (0, \"Vap\", \"benzene\"): 1e-5,\n", - " (0, \"Vap\", \"toluene\"): 1e-5,\n", - " (0, \"Vap\", \"hydrogen\"): 0.30,\n", - " (0, \"Vap\", \"methane\"): 0.02,\n", - " (0, \"Liq\", \"benzene\"): 1e-5,\n", - " (0, \"Liq\", \"toluene\"): 0.30,\n", - " (0, \"Liq\", \"hydrogen\"): 1e-5,\n", - " (0, \"Liq\", \"methane\"): 1e-5,\n", - " },\n", - " \"temperature\": {0: 303.2},\n", - " \"pressure\": {0: 350000},\n", - "}\n", - "\n", - "# Pass the tear_guess to the SD tool\n", - "seq.set_guesses_for(m.fs.H101.inlet, tear_guesses)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we need to tell the tool how to initialize a particular unit. We will be writing a python function which takes in a \"unit\" and calls the initialize method on that unit. For the initialization, we will import a Block Triangularization Initializer which decomposes the model into a set of subproblems. These subproblems are solved using a block triangularization transformation before applying a simple Newton or user-selected solver. Methods such as block triangularization often solve faster and yield more reliable behavior than heuristic methods, but sometime struggle to decompose models with strongly coupled equations (e.g. column models, systems with counter-current flow, vapor-liquid equilibrium)." - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "metadata": {}, - "outputs": [], - "source": [ - "def function(unit):\n", - " # Try initializing using default initializer,\n", - " # if it fails (probably due to scaling) try for the second time\n", - " try:\n", - " initializer = unit.default_initializer()\n", - " initializer.initialize(unit, output_level=idaeslog.INFO)\n", - " except InitializationError:\n", - " solver = get_solver()\n", - " solver.solve(unit)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We are now ready to initialize our flowsheet in a sequential mode. Note that we specifically set the iteration limit to be 3 as we are trying to use this tool only to get a good set of initial values such that IPOPT can then take over and solve this flowsheet for us. " - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-08-28 18:38:14 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:16 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:16 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:16 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 12\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 50 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:18 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:18 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:18 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 1 optimal - .\n", - "2024-08-28 18:38:18 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 2 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 3 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 4 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 5 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 1 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 2 optimal - .\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 3 optimal - .\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 4 optimal - .\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 5 optimal - .\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:21 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:21 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "2024-08-28 18:38:21 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:21 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 11\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 50 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "2024-08-28 18:38:24 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:24 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 11\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 50 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "2024-08-28 18:38:24 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:24 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "2024-08-28 18:38:29 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:29 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:29 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:29 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "WARNING: Wegstein failed to converge in 3 iterations\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 1 optimal - .\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 2 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 3 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 4 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 5 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 1 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 2 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 3 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 4 optimal - .\n", - "2024-08-28 18:38:33 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 5 optimal - .\n" - ] - } - ], - "source": [ - "seq.run(m, function)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "We have now initialized the flowsheet. Let us run the flowsheet in a simulation mode to look at the results. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'scaling_factor' that contains 6\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 150 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 1097\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 877\n", - "\n", - "Total number of variables............................: 363\n", - " variables with only lower bounds: 8\n", - " variables with lower and upper bounds: 155\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 363\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 3.82e+04 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 8.69e+03 1.44e+03 -1.0 2.00e+04 - 9.71e-01 4.67e-01H 1\n", - " 2 0.0000000e+00 1.29e+03 1.56e+03 -1.0 1.60e+04 - 9.79e-01 4.90e-01h 1\n", - " 3 0.0000000e+00 1.18e+03 1.55e+05 -1.0 1.40e+04 - 9.90e-01 4.99e-01h 1\n", - " 4 0.0000000e+00 5.46e+02 2.32e+09 -1.0 8.42e+03 - 1.00e+00 9.82e-01h 1\n", - " 5 0.0000000e+00 5.46e+03 3.66e+10 -1.0 5.97e+02 - 1.00e+00 9.90e-01h 1\n", - " 6 0.0000000e+00 1.21e+03 8.01e+09 -1.0 5.75e+00 - 1.00e+00 1.00e+00h 1\n", - " 7 0.0000000e+00 6.41e+00 3.87e+07 -1.0 1.53e-03 - 1.00e+00 1.00e+00f 1\n", - " 8 0.0000000e+00 1.96e-04 9.36e+02 -1.0 7.28e-06 - 1.00e+00 1.00e+00h 1\n", - " 9 0.0000000e+00 2.24e-08 4.99e-01 -3.8 5.92e-08 - 1.00e+00 1.00e+00h 1\n", - "Cannot recompute multipliers for feasibility problem. Error in eq_mult_calculator\n", - "\n", - "Number of Iterations....: 9\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 1.5042487592972509e+04 1.5042487592972509e+04\n", - "Constraint violation....: 2.9103830456733704e-11 2.2351741790771484e-08\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.9103830456733704e-11 1.5042487592972509e+04\n", - "\n", - "\n", - "Number of objective function evaluations = 11\n", - "Number of objective gradient evaluations = 10\n", - "Number of equality constraint evaluations = 11\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 10\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 9\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.011\n", - "Total CPU secs in NLP function evaluations = 0.001\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], - "source": [ - "# Create the solver object\n", - "solver = get_solver()\n", - "\n", - "# Solve the model\n", - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Add distillation column \n", - "\n", - "As mentioned earlier, the `SequentialDecomposition` tool currently does not support the distillation column model. Thus, we have not included the distillation column in the flowsheet. Now that we have a converged flowsheet, we will add the distillation column and simulate the entire flowsheet. \n", - "\n", - "In the following, we will\n", - "- Add the distillation column \n", - "- Connect it to the heater \n", - "- Add the necessary equality constraints\n", - "- Propagate the state variable information from the outlet of the heater to the inlet of the distillation column \n", - "- Fix the degrees of freedom of the distillation block (reflux ratio, boilup ratio, and condenser pressure)\n", - "- Scale the control volume heat variables to help convergence\n", - "- Initialize the distillation block.\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].material_flow_terms[Liq,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].material_flow_terms[Vap,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].material_flow_terms[Liq,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].material_flow_terms[Vap,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].enthalpy_flow_terms[Liq], enthalpy_flow_terms\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].enthalpy_flow_terms[Vap], enthalpy_flow_terms\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].material_flow_terms[Liq,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].material_flow_terms[Vap,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].material_flow_terms[Liq,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].material_flow_terms[Vap,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].enthalpy_flow_terms[Liq], enthalpy_flow_terms\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].enthalpy_flow_terms[Vap], enthalpy_flow_terms\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.e_flow_reflux[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.e_mole_frac_reflux[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.e_mole_frac_reflux[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.e_flow_vapor_reboil[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.e_mole_frac_vapor_reboil[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.e_mole_frac_vapor_reboil[0.0,toluene]\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101: Begin initialization.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray: Begin initialization.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: State Released.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: State Released.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: State Released.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: State Released.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume: Initialization Complete\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser: Initialization Complete, optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: State Released.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: State Released.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler: Initialization Complete, optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: State Released.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.rectification_section[1]: Begin initialization.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: State Released.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: State Released.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[2]: Begin initialization.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: State Released.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[2]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[2]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: State Released.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: State Released.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3]: Begin initialization.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: State Released.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: State Released.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: State Released.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4]: Begin initialization.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: State Released.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: State Released.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6]: Begin initialization.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: State Released.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: State Released.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[7]: Begin initialization.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: State Released.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[7]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[7]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: State Released.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: State Released.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8]: Begin initialization.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: State Released.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: State Released.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: State Released.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9]: Begin initialization.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: State Released.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: State Released.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: State Released.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10]: Begin initialization.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: State Released.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: State Released.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101: Rectification section initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101: Stripping section initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: State Released.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: State Released.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101: Column section initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: State Released.\n", - "2024-08-28 18:39:02 [INFO] idaes.init.fs.D101: Column section + Condenser initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:02 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: State Released.\n", - "2024-08-28 18:39:03 [INFO] idaes.init.fs.D101: Column section + Condenser + Reboiler initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:03 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: State Released.\n" - ] - } - ], - "source": [ - "# Add distillation column to the flowsheet\n", - "m.fs.D101 = TrayColumn(\n", - " number_of_trays=10,\n", - " feed_tray_location=5,\n", - " condenser_type=CondenserType.totalCondenser,\n", - " condenser_temperature_spec=TemperatureSpec.atBubblePoint,\n", - " property_package=m.fs.BT_params,\n", - ")\n", - "\n", - "# Connect the outlet from the heater H102 to the distillation column\n", - "m.fs.s11 = Arc(source=m.fs.H102.outlet, destination=m.fs.D101.feed)\n", - "\n", - "# Add the necessary equality constraints\n", - "TransformationFactory(\"network.expand_arcs\").apply_to(m)\n", - "\n", - "# Propagate the state\n", - "propagate_state(m.fs.s11)\n", - "\n", - "# Fix the reflux ratio, boilup ratio, and the condenser pressure\n", - "m.fs.D101.condenser.reflux_ratio.fix(0.5)\n", - "m.fs.D101.reboiler.boilup_ratio.fix(0.5)\n", - "m.fs.D101.condenser.condenser_pressure.fix(150000)\n", - "\n", - "# set scaling factors\n", - "# Set scaling factors for heat duty\n", - "iscale.set_scaling_factor(m.fs.D101.condenser.control_volume.heat, 1e-2)\n", - "iscale.set_scaling_factor(m.fs.D101.reboiler.control_volume.heat, 1e-2)\n", - "\n", - "# Set the scaling factors for the remaining variables and all constraints\n", - "iscale.calculate_scaling_factors(m.fs.D101)\n", - "\n", - "# Initialize the distillation column\n", - "m.fs.D101.initialize(outlvl=idaeslog.INFO)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding expressions to compute capital and operating costs\n", - "\n", - "In this section, we will add a few Expressions that allow us to evaluate the performance. Expressions provide a convenient way of calculating certain values that are a function of the variables defined in the model. For more details on Expressions, please refer to: https://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "metadata": {}, - "outputs": [], - "source": [ - "# Expression to compute the total cooling cost\n", - "m.fs.cooling_cost = Expression(\n", - " expr=0.25e-7 * (-m.fs.F101.heat_duty[0])\n", - " + 0.2e-7 * (-m.fs.D101.condenser.heat_duty[0])\n", - ")\n", - "\n", - "# Expression to compute the total heating cost\n", - "m.fs.heating_cost = Expression(\n", - " expr=2.2e-7 * m.fs.H101.heat_duty[0]\n", - " + 1.2e-7 * m.fs.H102.heat_duty[0]\n", - " + 1.9e-7 * m.fs.D101.reboiler.heat_duty[0]\n", - ")\n", - "\n", - "# Expression to compute the total operating cost\n", - "m.fs.operating_cost = Expression(\n", - " expr=(3600 * 24 * 365 * (m.fs.heating_cost + m.fs.cooling_cost))\n", - ")\n", - "\n", - "# Expression to compute the total capital cost\n", - "m.fs.capital_cost = Expression(expr=1e5 * m.fs.R101.volume[0])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Solve the entire flowsheet" - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 150 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 4042\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 2376\n", - "\n", - "Total number of variables............................: 1169\n", - " variables with only lower bounds: 112\n", - " variables with lower and upper bounds: 365\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 1169\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 3.83e+04 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 8.70e+03 1.50e+03 -1.0 3.69e+04 - 9.71e-01 4.62e-01H 1\n", - " 2 0.0000000e+00 1.53e+03 1.56e+03 -1.0 6.75e+03 - 9.77e-01 4.89e-01h 1\n", - " 3 0.0000000e+00 1.37e+03 1.55e+05 -1.0 9.37e+03 - 9.90e-01 4.99e-01h 1\n", - " 4 0.0000000e+00 6.14e+02 2.31e+09 -1.0 6.09e+03 - 1.00e+00 9.81e-01h 1\n", - " 5 0.0000000e+00 5.32e+03 3.62e+10 -1.0 5.56e+02 - 1.00e+00 9.90e-01h 1\n", - " 6 0.0000000e+00 1.16e+03 7.80e+09 -1.0 5.36e+00 - 1.00e+00 1.00e+00h 1\n", - " 7 0.0000000e+00 5.96e+00 3.64e+07 -1.0 1.47e-03 - 1.00e+00 1.00e+00f 1\n", - " 8 0.0000000e+00 1.69e-04 8.15e+02 -1.0 6.77e-06 - 1.00e+00 1.00e+00h 1\n", - " 9 0.0000000e+00 7.45e-09 6.64e-03 -3.8 2.00e-07 - 1.00e+00 1.00e+00h 1\n", - "Cannot recompute multipliers for feasibility problem. Error in eq_mult_calculator\n", - "\n", - "Number of Iterations....: 9\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 1.5042483516409773e+04 1.5042483516409773e+04\n", - "Constraint violation....: 2.9103830456733704e-11 7.4505805969238281e-09\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.9103830456733704e-11 1.5042483516409773e+04\n", - "\n", - "\n", - "Number of objective function evaluations = 11\n", - "Number of objective gradient evaluations = 10\n", - "Number of equality constraint evaluations = 11\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 10\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 9\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.083\n", - "Total CPU secs in NLP function evaluations = 0.013\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 1169, 'Number of variables': 1169, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.2022566795349121}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 53, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Analyze the Results of the Square Problem\n", - "\n", - "How much is the total cost (operating cost + capital cost), operating cost, capital cost, benzene purity in the distillate from the distilation column, and conversion of toluene in the reactor?" - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "total cost = $ 442301.47075252194\n", - "operating cost = $ 427596.73056805483\n", - "capital cost = $ 14704.740184467111\n", - "\n", - "Distillate flowrate = 0.16196898920633368 mol/s\n", - "Benzene purity = 89.4916166580088 %\n", - "Residue flowrate = 0.10515007120697904 mol/s\n", - "Toluene purity = 43.32260291055251 %\n", - "\n", - "Conversion = 75.0 %\n", - "\n", - "Overhead benzene loss in F101 = 42.161938483603194 %\n" - ] - } - ], - "source": [ - "print(\"total cost = $\", value(m.fs.capital_cost) + value(m.fs.operating_cost))\n", - "print(\"operating cost = $\", value(m.fs.operating_cost))\n", - "print(\"capital cost = $\", value(m.fs.capital_cost))\n", - "print()\n", - "print(\n", - " \"Distillate flowrate = \",\n", - " value(m.fs.D101.condenser.distillate.flow_mol[0]()),\n", - " \"mol/s\",\n", - ")\n", - "print(\n", - " \"Benzene purity = \",\n", - " 100 * value(m.fs.D101.condenser.distillate.mole_frac_comp[0, \"benzene\"]),\n", - " \"%\",\n", - ")\n", - "print(\"Residue flowrate = \", value(m.fs.D101.reboiler.bottoms.flow_mol[0]()), \"mol/s\")\n", - "print(\n", - " \"Toluene purity = \",\n", - " 100 * value(m.fs.D101.reboiler.bottoms.mole_frac_comp[0, \"toluene\"]),\n", - " \"%\",\n", - ")\n", - "print()\n", - "print(\"Conversion = \", 100 * value(m.fs.R101.conversion), \"%\")\n", - "print()\n", - "print(\n", - " \"Overhead benzene loss in F101 = \",\n", - " 100\n", - " * value(m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"])\n", - " / value(m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]),\n", - " \"%\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Get the state of the streams entering and leaving the reactor R101" - ] - }, - { - "cell_type": "code", - "execution_count": 57, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.R101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 0.0000 : watt : True : (None, None)\n", - " Volume : 0.14705 : meter ** 3 : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol_phase_comp ('Liq', 'benzene') mole / second 1.2993e-07 1.2993e-07\n", - " flow_mol_phase_comp ('Liq', 'toluene') mole / second 8.4147e-07 8.4147e-07\n", - " flow_mol_phase_comp ('Liq', 'methane') mole / second 1.0000e-12 1.0000e-12\n", - " flow_mol_phase_comp ('Liq', 'hydrogen') mole / second 1.0000e-12 1.0000e-12\n", - " flow_mol_phase_comp ('Vap', 'benzene') mole / second 0.11936 0.35374\n", - " flow_mol_phase_comp ('Vap', 'toluene') mole / second 0.31252 0.078129\n", - " flow_mol_phase_comp ('Vap', 'methane') mole / second 1.0377 1.2721\n", - " flow_mol_phase_comp ('Vap', 'hydrogen') mole / second 0.56260 0.32821\n", - " temperature kelvin 600.00 771.85\n", - " pressure pascal 3.5000e+05 3.5000e+05\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "m.fs.R101.report()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Get the state of the streams entering and leaving the reactor R101" - ] - }, - { - "cell_type": "code", - "execution_count": 58, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.F101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -70343. : watt : False : (None, None)\n", - " Pressure Change : 0.0000 : pascal : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Vapor Outlet Liquid Outlet\n", - " flow_mol_phase_comp ('Liq', 'benzene') mole / second 1.2993e-07 1.0000e-08 0.20460 \n", - " flow_mol_phase_comp ('Liq', 'toluene') mole / second 8.4147e-07 1.0000e-08 0.062520 \n", - " flow_mol_phase_comp ('Liq', 'methane') mole / second 1.0000e-12 1.0000e-08 2.6712e-07 \n", - " flow_mol_phase_comp ('Liq', 'hydrogen') mole / second 1.0000e-12 1.0000e-08 2.6712e-07 \n", - " flow_mol_phase_comp ('Vap', 'benzene') mole / second 0.35374 0.14915 1.0000e-08 \n", - " flow_mol_phase_comp ('Vap', 'toluene') mole / second 0.078129 0.015610 1.0000e-08 \n", - " flow_mol_phase_comp ('Vap', 'methane') mole / second 1.2721 1.2721 1.0000e-08 \n", - " flow_mol_phase_comp ('Vap', 'hydrogen') mole / second 0.32821 0.32821 1.0000e-08 \n", - " temperature kelvin 771.85 325.00 325.00 \n", - " pressure pascal 3.5000e+05 3.5000e+05 3.5000e+05 \n", - "====================================================================================\n" - ] - } - ], - "source": [ - "m.fs.F101.report()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, let's look at how much benzene we are losing with the light gases out of F101. IDAES has tools for creating stream tables based on the `Arcs` and/or `Ports` in a flowsheet. Let us create and print a simple stream table showing the stream leaving the reactor and the vapor stream from F101.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "How much benzene are we losing in the F101 vapor outlet stream?\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 59, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Units Reactor Light Gases\n", - "flow_mol_phase_comp ('Liq', 'benzene') mole / second 1.2993e-07 1.0000e-08 \n", - "flow_mol_phase_comp ('Liq', 'toluene') mole / second 8.4147e-07 1.0000e-08 \n", - "flow_mol_phase_comp ('Liq', 'methane') mole / second 1.0000e-12 1.0000e-08 \n", - "flow_mol_phase_comp ('Liq', 'hydrogen') mole / second 1.0000e-12 1.0000e-08 \n", - "flow_mol_phase_comp ('Vap', 'benzene') mole / second 0.35374 0.14915 \n", - "flow_mol_phase_comp ('Vap', 'toluene') mole / second 0.078129 0.015610 \n", - "flow_mol_phase_comp ('Vap', 'methane') mole / second 1.2721 1.2721 \n", - "flow_mol_phase_comp ('Vap', 'hydrogen') mole / second 0.32821 0.32821 \n", - "temperature kelvin 771.85 325.00 \n", - "pressure pascal 3.5000e+05 3.5000e+05 \n" - ] - } - ], - "source": [ - "from idaes.core.util.tables import (\n", - " create_stream_table_dataframe,\n", - " stream_table_dataframe_to_string,\n", - ")\n", - "\n", - "st = create_stream_table_dataframe({\"Reactor\": m.fs.s05, \"Light Gases\": m.fs.s06})\n", - "print(stream_table_dataframe_to_string(st))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "You can query additional variables here if you like. \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Optimization\n", - "\n", - "\n", - "We saw from the results above that the total operating cost for the base case was $442,297 per year. We are producing 0.162 mol/s of benzene at a purity of 89.5%. However, we are losing around 43.3% of benzene in F101 vapor outlet stream. \n", - "\n", - "Let us try to minimize this cost such that:\n", - "- we are producing at least 0.18 mol/s of benzene as distillate i.e. our product stream\n", - "- purity of benzene i.e. the mole fraction of benzene in the distillate is at least 99%\n", - "- restricting the benzene loss in F101 vapor outlet to less than 20%\n", - "\n", - "For this problem, our decision variables are as follows:\n", - "- H101 outlet temperature\n", - "- R101 outlet temperature\n", - "- F101 outlet temperature\n", - "- H102 outlet temperature\n", - "- Condenser pressure\n", - "- reflux ratio\n", - "- boilup ratio\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us declare our objective function for this problem. " - ] - }, - { - "cell_type": "code", - "execution_count": 60, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.objective = Objective(expr=m.fs.operating_cost + m.fs.capital_cost)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, we need to unfix the decision variables as we had solved a square problem (degrees of freedom = 0) until now. " - ] - }, - { - "cell_type": "code", - "execution_count": 61, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.H101.outlet.temperature.unfix()\n", - "m.fs.R101.conversion.unfix()\n", - "m.fs.F101.vap_outlet.temperature.unfix()\n", - "m.fs.D101.condenser.condenser_pressure.unfix()\n", - "m.fs.D101.condenser.reflux_ratio.unfix()\n", - "m.fs.D101.reboiler.boilup_ratio.unfix()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Let us now unfix the remaining variable: the temperature of the outlet from H102\n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 62, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Unfix the temperature of the outlet from H102" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we need to set bounds on these decision variables to values shown below:\n", - "\n", - " - H101 outlet temperature [500, 600] K\n", - " - R101 outlet temperature [600, 900] K\n", - " - F101 outlet temperature [298, 450] K\n", - " - H102 outlet temperature [350, 400] K\n", - " - D101 condenser pressure [101325, 150000] Pa\n", - " - D101 reflux ratio [0.1, 5]\n", - " - D101 boilup ratio [0.1, 5]" - ] - }, - { - "cell_type": "code", - "execution_count": 64, - "metadata": {}, - "outputs": [], - "source": [ - "# Set bounds on the temperature of the outlet from H101\n", - "m.fs.H101.outlet.temperature[0].setlb(500)\n", - "m.fs.H101.outlet.temperature[0].setub(600)\n", - "\n", - "# Set bounds on the temperature of the outlet from R101\n", - "m.fs.R101.outlet.temperature[0].setlb(600)\n", - "m.fs.R101.outlet.temperature[0].setub(900)\n", - "\n", - "# Set bounds on the volume of the reactor R101\n", - "m.fs.R101.volume[0].setlb(0)\n", - "\n", - "# Set bounds on the temperature of the vapor outlet from F101\n", - "m.fs.F101.vap_outlet.temperature[0].setlb(298)\n", - "m.fs.F101.vap_outlet.temperature[0].setub(450.0)\n", - "\n", - "# Set bounds on the temperature of the outlet from H102\n", - "m.fs.H102.outlet.temperature[0].setlb(350)\n", - "m.fs.H102.outlet.temperature[0].setub(400)\n", - "\n", - "# Set bounds on the pressure inside the condenser\n", - "m.fs.D101.condenser.condenser_pressure.setlb(101325)\n", - "m.fs.D101.condenser.condenser_pressure.setub(150000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Now, set the bounds for the D101 reflux ratio and boilup ratio.\n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 65, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Set bounds on the reflux ratio\n", - "\n", - "\n", - "# Todo: Set bounds on the boilup ratio" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, the only things left to define are our constraints on overhead loss in F101, distillate flowrate and its purity. Let us first look at defining a constraint for the overhead loss in F101 where we are restricting the benzene leaving the vapor stream to less than 20 % of the benzene available in the reactor outlet. " - ] - }, - { - "cell_type": "code", - "execution_count": 67, - "metadata": {}, - "outputs": [], - "source": [ - "# Ensure that the overhead loss of benzene from F101 <= 20%\n", - "m.fs.overhead_loss = Constraint(\n", - " expr=m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", - " <= 0.20 * m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Now, add the constraint such that we are producing at least 0.18 mol/s of benzene in the product stream which is the distillate of D101. Let us name this constraint as m.fs.product_flow. \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 68, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add minimum product flow constraint" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us add the final constraint on product purity or the mole fraction of benzene in the distillate such that it is at least greater than 99%. " - ] - }, - { - "cell_type": "code", - "execution_count": 70, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.product_purity = Constraint(\n", - " expr=m.fs.D101.condenser.distillate.mole_frac_comp[0, \"benzene\"] >= 0.99\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "We have now defined the optimization problem and we are now ready to solve this problem. \n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 71, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'scaling_factor' that contains 3\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 150 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 4073\n", - "Number of nonzeros in inequality constraint Jacobian.: 6\n", - "Number of nonzeros in Lagrangian Hessian.............: 2391\n", - "\n", - "Total number of variables............................: 1176\n", - " variables with only lower bounds: 113\n", - " variables with lower and upper bounds: 372\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 1169\n", - "Total number of inequality constraints...............: 3\n", - " inequality constraints with only lower bounds: 2\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 1\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 4.4230147e+05 2.99e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 4.3753585e+05 2.91e+05 1.28e+02 -1.0 3.09e+06 - 3.58e-01 2.40e-02f 1\n", - " 2 4.3545100e+05 2.78e+05 1.55e+02 -1.0 1.78e+06 - 3.31e-01 4.74e-02h 1\n", - " 3 4.2822311e+05 2.20e+05 4.50e+02 -1.0 2.99e+06 - 2.95e-02 1.35e-01h 1\n", - " 4 4.2249096e+05 1.45e+05 1.43e+03 -1.0 7.01e+06 - 5.14e-01 2.03e-01h 1\n", - " 5 4.2194364e+05 8.17e+04 1.70e+04 -1.0 6.06e+06 - 5.97e-01 4.28e-01h 1\n", - " 6 4.2602765e+05 4.55e+04 1.10e+06 -1.0 4.32e+06 - 9.26e-01 5.07e-01h 1\n", - " 7 4.3776643e+05 2.03e+04 6.44e+09 -1.0 2.42e+06 - 9.90e-01 9.47e-01h 1\n", - " 8 4.3846260e+05 1.92e+04 6.05e+09 -1.0 4.42e+05 - 5.40e-01 5.74e-02h 1\n", - " 9 4.4529853e+05 4.05e+04 4.66e+10 -1.0 2.47e+05 - 9.96e-01 9.90e-01h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 4.4906283e+05 9.76e+03 1.10e+10 -1.0 1.12e+03 -4.0 1.26e-01 7.45e-01h 1\n", - " 11 4.5079086e+05 1.19e+03 1.54e+09 -1.0 5.63e+02 -4.5 3.77e-01 1.00e+00h 1\n", - " 12 4.5024224e+05 2.66e+00 3.67e+06 -1.0 6.61e+01 -5.0 1.00e+00 1.00e+00f 1\n", - " 13 4.4946170e+05 5.64e-01 9.29e+05 -1.0 1.81e+02 -5.4 1.00e+00 7.88e-01f 1\n", - " 14 4.4916780e+05 8.48e+00 1.62e+05 -1.0 2.83e+02 -5.9 1.00e+00 1.00e+00f 1\n", - " 15 4.4899127e+05 4.83e+00 9.07e+04 -1.0 1.01e+02 -6.4 1.00e+00 4.40e-01f 2\n", - " 16 4.4886718e+05 7.00e-01 4.61e+02 -1.0 2.35e+02 -6.9 1.00e+00 1.00e+00f 1\n", - " 17 4.4800159e+05 1.39e+02 4.52e+06 -3.8 1.17e+03 -7.3 9.79e-01 9.37e-01f 1\n", - " 18 4.4672196e+05 9.59e+02 1.22e+06 -3.8 4.55e+03 -7.8 1.00e+00 9.43e-01f 1\n", - " 19 4.4401667e+05 7.75e+03 1.55e+05 -3.8 1.08e+04 -8.3 1.00e+00 1.00e+00f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 20 4.4185035e+05 1.91e+04 1.36e+04 -3.8 1.33e+04 -8.8 1.00e+00 1.00e+00h 1\n", - " 21 4.4241001e+05 3.52e+03 5.96e+03 -3.8 2.94e+03 -9.2 1.00e+00 1.00e+00h 1\n", - " 22 4.4185237e+05 7.82e+00 2.91e+02 -3.8 7.13e+03 -9.7 2.39e-01 1.00e+00h 1\n", - " 23 4.4124091e+05 1.53e+01 3.11e+02 -3.8 4.82e+04 -10.2 8.59e-01 1.36e-01f 1\n", - " 24 4.4137379e+05 1.80e+00 2.91e+02 -3.8 1.41e+04 - 1.95e-01 1.00e+00h 1\n", - " 25 4.3862833e+05 1.70e+03 9.48e+04 -3.8 1.57e+07 - 1.29e-03 9.10e-02f 1\n", - " 26 4.3883308e+05 1.49e+03 8.46e+04 -3.8 1.02e+06 - 1.00e+00 1.35e-01h 1\n", - " 27 4.3885472e+05 2.18e+01 3.40e+03 -3.8 1.38e+05 - 1.00e+00 1.00e+00h 1\n", - " 28 4.3884160e+05 5.90e-02 6.38e+01 -3.8 8.66e+03 - 1.00e+00 1.00e+00h 1\n", - " 29 4.3884157e+05 6.48e-07 4.63e-04 -3.8 2.89e+01 - 1.00e+00 1.00e+00h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 30 4.3883990e+05 3.57e-01 2.38e+03 -5.7 8.19e+02 - 1.00e+00 1.00e+00f 1\n", - " 31 4.3883992e+05 3.50e-07 7.79e-06 -5.7 3.55e-01 - 1.00e+00 1.00e+00h 1\n", - " 32 4.3883990e+05 5.47e-05 3.63e-01 -8.0 1.01e+01 - 1.00e+00 1.00e+00h 1\n", - " 33 4.3883990e+05 2.24e-08 1.46e-07 -8.0 5.42e-05 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 33\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 4.3883989842628603e+02 4.3883989842628600e+05\n", - "Dual infeasibility......: 1.4600704448671754e-07 1.4600704448671753e-04\n", - "Constraint violation....: 2.9103830456733704e-11 2.2351741790771484e-08\n", - "Complementarity.........: 9.0909948039799681e-09 9.0909948039799686e-06\n", - "Overall NLP error.......: 9.0909948039799681e-09 1.4600704448671753e-04\n", - "\n", - "\n", - "Number of objective function evaluations = 35\n", - "Number of objective gradient evaluations = 34\n", - "Number of equality constraint evaluations = 35\n", - "Number of inequality constraint evaluations = 35\n", - "Number of equality constraint Jacobian evaluations = 34\n", - "Number of inequality constraint Jacobian evaluations = 34\n", - "Number of Lagrangian Hessian evaluations = 33\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.164\n", - "Total CPU secs in NLP function evaluations = 0.020\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], - "source": [ - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Optimization Results\n", - "\n", - "Display the results and product specifications" - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "total cost = $ 438839.898426286\n", - "operating cost = $ 408883.5314830889\n", - "capital cost = $ 29956.3669431971\n", - "\n", - "Distillate flowrate = 0.1799999900263989 mol/s\n", - "Benzene purity = 98.99999900049086 %\n", - "Residue flowrate = 0.1085161642426372 mol/s\n", - "Toluene purity = 15.676178086213548 %\n", - "\n", - "Conversion = 93.38705916369427 %\n", - "\n", - "Overhead benzene loss in F101 = 17.34061793115618 %\n" - ] + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "# HDA Flowsheet Simulation and Optimization\n", + "Maintainer: Brandon Paul \n", + "Author: Brandon Paul \n", + "Updated: 2023-06-01 \n", + "\n", + "\n", + "## Note\n", + "\n", + "This tutorial will be similar to the HDA flowsheet tutorial in the Tutorials section, except that we use a distillation column instead of a second flash (F102) to produce benzene and toluene products.\n", + "\n", + "\n", + "## Learning outcomes\n", + "\n", + "\n", + "- Construct a steady-state flowsheet using the IDAES unit model library\n", + "- Connecting unit models in a flowsheet using Arcs\n", + "- Using the SequentialDecomposition tool to initialize a flowsheet with recycle\n", + "- Fomulate and solve an optimization problem\n", + " - Defining an objective function\n", + " - Setting variable bounds\n", + " - Adding additional constraints \n", + "\n", + "\n", + "## Problem Statement\n", + "\n", + "Hydrodealkylation is a chemical reaction that often involves reacting\n", + "an aromatic hydrocarbon in the presence of hydrogen gas to form a\n", + "simpler aromatic hydrocarbon devoid of functional groups. In this\n", + "example, toluene will be reacted with hydrogen gas at high temperatures\n", + " to form benzene via the following reaction:\n", + "\n", + "**C6H5CH3 + H2 \u2192 C6H6 + CH4**\n", + "\n", + "\n", + "This reaction is often accompanied by an equilibrium side reaction\n", + "which forms diphenyl, which we will neglect for this example.\n", + "\n", + "This example is based on the 1967 AIChE Student Contest problem as\n", + "present by Douglas, J.M., Chemical Design of Chemical Processes, 1988,\n", + "McGraw-Hill.\n", + "\n", + "The flowsheet that we will be using for this module is shown below with the stream conditions. We will be processing toluene and hydrogen to produce at least 370 TPY of benzene. As shown in the flowsheet, we use a flash tank, F101, to separate out the non-condensibles, and a distillation column, D101, to further separate the benzene-toluene mixture to improve the benzene purity. The non-condensibles separated out in F101 will be partially recycled back to M101 and the rest will be purged. We will assume ideal gas behavior for this flowsheet. The properties required for this module are defined in\n", + "\n", + "- `hda_ideal_VLE.py`\n", + "- `idaes.models.properties.activity_coeff_models.BTX_activity_coeff_VLE`\n", + "- `hda_reaction.py`\n", + "\n", + "We will be using two thermodynamic packages: one (first in the list above) containing all four components (i.e., toluene, hydrogen, benzene, and methane) and the other (second in the list above) containing benzene and toluene only. The latter is needed to simplify the VLE calculations in the distillation column model. \n", + "\n", + "![](HDA_flowsheet_distillation.png)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Translator block\n", + "\n", + "Benzene and toluene are separated by distillation, so the process involves phase equilibrium and two-phase flow conditions. However, the presence of hydrogen and methane complicates the calculations. This is because, hydrogen and methane are non-condensable under all conditions of interest; ergo, a vapor phase will always be present, and the mixture bubble point is extremely low. To simplify the phase equilibrium calculations, hydrogen and methane will be considered completely as non-condensable and insoluble in the liquid outlet from the flash F101.\n", + "\n", + "Since no hydrogen and methane will be present in the unit operations following the flash, a different component list can be used to simplify the property calculations. IDAES supports the definition of multiple property packages within a single flowsheet via `Translator` blocks. `Translator` blocks convert between different property calculations, component lists, and equations of state. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing required pyomo and idaes components\n", + "\n", + "\n", + "To construct a flowsheet, we will need several components from the pyomo and idaes package. Let us first import the following components from Pyomo:\n", + "- Constraint (to write constraints)\n", + "- Var (to declare variables)\n", + "- ConcreteModel (to create the concrete model object)\n", + "- Expression (to evaluate values as a function of variables defined in the model)\n", + "- Objective (to define an objective function for optimization)\n", + "- SolverFactory (to solve the problem)\n", + "- TransformationFactory (to apply certain transformations)\n", + "- Arc (to connect two unit models)\n", + "- SequentialDecomposition (to initialize the flowsheet in a sequential mode)\n", + "\n", + "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/stable/\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import (\n", + " Constraint,\n", + " Var,\n", + " ConcreteModel,\n", + " Expression,\n", + " Objective,\n", + " TransformationFactory,\n", + " value,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Import `Arc` and `SequentialDecomposition` tools from `pyomo.network`\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Import the above mentioned tools from pyomo.network" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From IDAES, we will be needing the FlowsheetBlock and the following unit models:\n", + "- Mixer\n", + "- Heater\n", + "- CSTR\n", + "- Flash\n", + "- Separator (splitter) \n", + "- PressureChanger\n", + "- Translator (to switch from one property package to another)\n", + "- TrayColumn (distillation column)\n", + "- CondenserType (Type of the overhead condenser: complete or partial)\n", + "- TemperatureSpec (Temperature specification inside the condenser)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core import FlowsheetBlock" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.models.unit_models import (\n", + " PressureChanger,\n", + " Mixer,\n", + " Separator as Splitter,\n", + " Heater,\n", + " CSTR,\n", + " Flash,\n", + " Translator,\n", + ")\n", + "\n", + "from idaes.models_extra.column_models import TrayColumn\n", + "from idaes.models_extra.column_models.condenser import CondenserType, TemperatureSpec" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will also be needing some utility tools to put together the flowsheet and calculate the degrees of freedom. " + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# Utility tools to put together the flowsheet and calculate the degrees of freedom\n", + "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.core.util.initialization import propagate_state\n", + "from idaes.core.solvers import get_solver\n", + "import idaes.core.util.scaling as iscale\n", + "from idaes.core.util.exceptions import InitializationError\n", + "\n", + "# Import idaes logger to set output levels\n", + "import idaes.logger as idaeslog" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing required thermo and reaction packages\n", + "\n", + "Finally, we import the thermophysical (`ideal_VLE.py` and `BTXParameterBlock`) packages and reaction package (`reaction.py`) for the HDA process. We have created custom thermophysical packages that assume ideal gas behavior with support for VLE. The reaction package consists of the stochiometric coefficients for the reaction, heat of reaction, and kinetic information (Arrhenius constant and activation energy). " + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes_examples.mod.hda import hda_reaction as reaction_props\n", + "from idaes.models.properties.activity_coeff_models.BTX_activity_coeff_VLE import (\n", + " BTXParameterBlock,\n", + ")\n", + "\n", + "from idaes_examples.mod.hda.hda_ideal_VLE import HDAParameterBlock" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Constructing the Flowsheet\n", + "\n", + "We have now imported all the components, unit models, and property modules we need to construct a flowsheet. Let us create a ConcreteModel and add the flowsheet block to it. " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "# Create a Pyomo Concrete Model to contain the problem\n", + "m = ConcreteModel()\n", + "\n", + "# Add a steady state flowsheet block to the model\n", + "m.fs = FlowsheetBlock(dynamic=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now add the thermophysical and reaction packages to the flowsheet." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "# Property package for benzene, toluene, hydrogen, methane mixture\n", + "m.fs.BTHM_params = HDAParameterBlock()\n", + "\n", + "# Property package for the benzene-toluene mixture\n", + "m.fs.BT_params = BTXParameterBlock(\n", + " valid_phase=(\"Liq\", \"Vap\"), activity_coeff_model=\"Ideal\"\n", + ")\n", + "\n", + "# Reaction package for the HDA reaction\n", + "m.fs.reaction_params = reaction_props.HDAReactionParameterBlock(\n", + " property_package=m.fs.BTHM_params\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding Unit Models\n", + "\n", + "Let us start adding the unit models we have imported to the flowsheet. Here, we are adding the Mixer (assigned a name M101) and a Heater (assigned a name H101). Note that, all unit models need to be given a property package argument. In addition, the Mixer unit model needs a `list` consisting of the inlets (toluene feed, hydrogen feed and vapor recycle streams in this case). " + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "# Adding the mixer M101 to the flowsheet\n", + "m.fs.M101 = Mixer(\n", + " property_package=m.fs.BTHM_params,\n", + " inlet_list=[\"toluene_feed\", \"hydrogen_feed\", \"vapor_recycle\"],\n", + ")\n", + "\n", + "# Adding the heater H101 to the flowsheet\n", + "m.fs.H101 = Heater(property_package=m.fs.BTHM_params, has_phase_equilibrium=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Let us now add the CSTR (assign the name R101) and pass the following arguments:\n", + "
    \n", + "
  • \"property_package\": m.fs.BTHM_params
  • \n", + "
  • \"reaction_package\": m.fs.reaction_params
  • \n", + "
  • \"has_heat_of_reaction\": True
  • \n", + "
  • \"has_heat_transfer\": True
  • \n", + "
\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add reactor with the specifications above" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us now add the Flash (assign the name F101), Splitter (assign the name S101) and PressureChanger (assign the name C101)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "# Adding the flash tank F101 to the flowsheet\n", + "m.fs.F101 = Flash(\n", + " property_package=m.fs.BTHM_params, has_heat_transfer=True, has_pressure_change=True\n", + ")\n", + "\n", + "# Adding the splitter S101 to the flowsheet\n", + "m.fs.S101 = Splitter(\n", + " property_package=m.fs.BTHM_params, outlet_list=[\"purge\", \"recycle\"]\n", + ")\n", + "\n", + "# Adding the compressor C101 to the flowsheet\n", + "m.fs.C101 = PressureChanger(\n", + " property_package=m.fs.BTHM_params,\n", + " compressor=True,\n", + " thermodynamic_assumption=ThermodynamicAssumption.isothermal,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Remark\n", + "\n", + "Currently, the `SequentialDecomposition()` tool, which we will later be using to initialize the flowsheet, does not support the distillation column model. Thus, we will first simulate the flowsheet without the distillation column. After it converges, we will then add the distillation column, initialize it, and simulate the entire flowsheet." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As mentioned above, we use the `m.fs.BTHM_params` package, which contains all the four species, for the reactor loop, and the simpler `m.fs.BT_params` for unit operations following the flash (i.e., heater H102 and the distillation column D101). We define a `Translator` block to link the source property package and the package it is to be translated to in the following manner:" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "# Add translator block to convert between property packages\n", + "m.fs.translator = Translator(\n", + " inlet_property_package=m.fs.BTHM_params, outlet_property_package=m.fs.BT_params\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Translator block constraints\n", + "\n", + "The `Translator` block needs to know how to translate between the two property packages. This must be custom coded for each application because of the generality of the IDAES framework.\n", + "\n", + "For this process, five constraints are required based on the state variables used in the outgoing process.\n", + "\n", + "- Since we assumed that only benzene and toluene are present in the liquid phase, the total molar flowrate must be the sum of molar flowrates of benzene and toluene, respectively.\n", + "- Temperature of the inlet and outlet streams must be the same.\n", + "- Pressure of the inlet and outgoing streams must be the same\n", + "- The mole fraction of benzene in the outgoing stream is the ratio of the molar flowrate of liquid benzene in the inlet to the sum of molar flowrates of liquid benzene and toluene in the inlet.\n", + "- The mole fraction of toluene in the outgoing stream is the ratio of the molar flowrate of liquid toluene in the inlet to the sum of molar flowrates of liquid benzene and toluene in the inlet." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "# Add constraint: Total flow = benzene flow + toluene flow (molar)\n", + "m.fs.translator.eq_total_flow = Constraint(\n", + " expr=m.fs.translator.outlet.flow_mol[0]\n", + " == m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", + " + m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", + ")\n", + "\n", + "# Add constraint: Outlet temperature = Inlet temperature\n", + "m.fs.translator.eq_temperature = Constraint(\n", + " expr=m.fs.translator.outlet.temperature[0] == m.fs.translator.inlet.temperature[0]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the above, note that the variable flow_mol_phase_comp has the index - [time, phase, component]. As this is a steady-state flowsheet, the time index by default is 0. The valid phases are [\"Liq\", \"Vap\"]. Similarly the valid component list is [\"benzene\", \"toluene\", \"hydrogen\", \"methane\"]." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Add the constraint to ensure that the outlet pressure is the same as the inlet pressure\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add constraint: Outlet pressure = Inlet pressure" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "# Remaining constraints on the translator block\n", + "\n", + "# Add constraint: Benzene mole fraction definition\n", + "m.fs.translator.eq_mole_frac_benzene = Constraint(\n", + " expr=m.fs.translator.outlet.mole_frac_comp[0, \"benzene\"]\n", + " == m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", + " / (\n", + " m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", + " + m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", + " )\n", + ")\n", + "\n", + "# Add constraint: Toluene mole fraction definition\n", + "m.fs.translator.eq_mole_frac_toluene = Constraint(\n", + " expr=m.fs.translator.outlet.mole_frac_comp[0, \"toluene\"]\n", + " == m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", + " / (\n", + " m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", + " + m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", + " )\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Finally, let us add the Heater H102 in the same way as H101 but pass the m.fs.BT_params thermodynamic package. We will add the distillation column after converging the flowsheet.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add the Heater H102 to the flowsheet" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Connecting Unit Models using Arcs\n", + "\n", + "We have now added the initial set of unit models to the flowsheet. However, we have not yet specified how the units are connected. To do this, we will be using the `Arc` which is a pyomo component that takes in two arguments: `source` and `destination`. Let us connect the outlet of the mixer (M101) to the inlet of the heater (H101). " + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.H101.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "![](HDA_flowsheet_distillation.png) \n", + "\n", + "
\n", + "Inline Exercise:\n", + "Now, connect the H101 outlet to the R101 inlet using the cell above as a guide. \n", + "
\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Connect the H101 outlet to R101 inlet" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now be connecting the rest of the units as shown below. Notice how the outlet names are different for the flash tank as it has a vapor and a liquid outlet. " + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.s05 = Arc(source=m.fs.R101.outlet, destination=m.fs.F101.inlet)\n", + "m.fs.s06 = Arc(source=m.fs.F101.vap_outlet, destination=m.fs.S101.inlet)\n", + "m.fs.s08 = Arc(source=m.fs.S101.recycle, destination=m.fs.C101.inlet)\n", + "m.fs.s09 = Arc(source=m.fs.C101.outlet, destination=m.fs.M101.vapor_recycle)\n", + "m.fs.s10a = Arc(source=m.fs.F101.liq_outlet, destination=m.fs.translator.inlet)\n", + "m.fs.s10b = Arc(source=m.fs.translator.outlet, destination=m.fs.H102.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We have now connected the unit model block using the arcs. However, each of these arcs link to ports on the two unit models that are connected. In this case, the ports consist of the state variables that need to be linked between the unit models. Pyomo provides a convenient method to write these equality constraints for us between two ports and this is done as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "TransformationFactory(\"network.expand_arcs\").apply_to(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Appending additional constraints to the model\n", + "\n", + "Now, we will see how we can add additional constraints to the model using `Constraint` from Pyomo.\n", + "\n", + "Consider the reactor R101. By default, the conversion of a component is not calculated when we simulate the flowsheet. If we are interested either in specifying or constraining the conversion value, we can add the following constraint to calculate the conversion:\n", + "$$ \\text{Conversion of toluene} = \\frac{\\text{molar flow of toluene in the inlet} - \\text{molar flow of toluene in the outlet}}{\\text{molar flow of toluene in the inlet}} $$ \n", + "\n", + "We add the constraint to the model as shown below." + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "# Define the conversion variables using 'Var'\n", + "m.fs.R101.conversion = Var(initialize=0.75, bounds=(0, 1))\n", + "\n", + "# Append the constraint to the model\n", + "m.fs.R101.conv_constraint = Constraint(\n", + " expr=m.fs.R101.conversion * m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " == (\n", + " m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " - m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " )\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fixing feed conditions and Initializing the flowsheet\n", + "\n", + "Let us first check how many degrees of freedom exist for this flowsheet using the `degrees_of_freedom` tool we imported earlier. " + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now be fixing the toluene feed stream to the conditions shown in the flowsheet above. Please note that though this is a pure toluene feed, the remaining components are still assigned a very small non-zero value to help with convergence and initializing. " + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(0.30)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.temperature.fix(303.2)\n", + "m.fs.M101.toluene_feed.pressure.fix(350000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Similarly, let us fix the hydrogen feed to the following conditions in the next cell:\n", + "
    \n", + "
  • FH2 = 0.30 mol/s
  • \n", + "
  • FCH4 = 0.02 mol/s
  • \n", + "
  • Remaining components = 1e-5 mol/s
  • \n", + "
  • T = 303.2 K
  • \n", + "
  • P = 350000 Pa
  • \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(0.30)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(0.02)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.temperature.fix(303.2)\n", + "m.fs.M101.hydrogen_feed.pressure.fix(350000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Fixing unit model specifications\n", + "\n", + "Now that we have fixed our inlet feed conditions, we will now be fixing the operating conditions for the unit models in the flowsheet. Let us set the H101 outlet temperature to 600 K. " + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "# Fix the temperature of the outlet from the heater H101\n", + "m.fs.H101.outlet.temperature.fix(600)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Set the conditions for the reactor R101 to the following conditions:\n", + "
    \n", + "
  • `conversion` = 0.75
  • \n", + "
  • `heat_duty` = 0
  • \n", + "
\n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Fix the 'conversion' of the reactor R101\n", + "\n", + "\n", + "# Todo: Fix the 'heat_duty' of the reactor R101" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The Flash conditions for F101 can be set as follows. " + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [], + "source": [ + "# Fix the temperature of the vapor outlet from F101\n", + "m.fs.F101.vap_outlet.temperature.fix(325.0)\n", + "\n", + "# Fix the pressure drop in the flash F101\n", + "m.fs.F101.deltaP.fix(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us fix the split fraction of the purge stream from the splitter S101 and the outlet pressure from the compressor C101" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [], + "source": [ + "# Fix the split fraction of the 'purge' stream from S101\n", + "m.fs.S101.split_fraction[0, \"purge\"].fix(0.2)\n", + "\n", + "# Fix the pressure of the outlet from the compressor C101\n", + "m.fs.C101.outlet.pressure.fix(350000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, let us fix the temperature of the outlet from H102 and the pressure drop in H102 as the following" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [], + "source": [ + "# Fix the temperature of the outlet from the heater H102\n", + "m.fs.H102.outlet.temperature.fix(375)\n", + "\n", + "# Fix the pressure drop in the heater H102\n", + "m.fs.H102.deltaP.fix(-200000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To avoid convergence issues associated with poorly scaled variables and/or constraints, we scale the variables and constraints corresponding to the heaters H101 and H102, flash F101 and the reactor R101. Scaling factors for the flow rates, temperature, pressure, etc. have been defined in the property package: `ideal_VLE.py` file. Here, we set scaling factors only for the heat duty of the heater, the reaction extent, heat duty and volume of the reactor." + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [], + "source": [ + "# Set scaling factors for heat duty, reaction extent and volume\n", + "iscale.set_scaling_factor(m.fs.H101.control_volume.heat, 1e-2)\n", + "iscale.set_scaling_factor(m.fs.R101.control_volume.heat, 1e-2)\n", + "iscale.set_scaling_factor(m.fs.R101.control_volume.rate_reaction_extent, 1)\n", + "iscale.set_scaling_factor(m.fs.R101.control_volume.volume, 1)\n", + "iscale.set_scaling_factor(m.fs.F101.control_volume.heat, 1e-2)\n", + "iscale.set_scaling_factor(m.fs.H102.control_volume.heat, 1e-2)\n", + "\n", + "# Set the scaling factors for the remaining variables and all constraints\n", + "iscale.calculate_scaling_factors(m.fs.H101)\n", + "iscale.calculate_scaling_factors(m.fs.R101)\n", + "iscale.calculate_scaling_factors(m.fs.F101)\n", + "iscale.calculate_scaling_factors(m.fs.H102)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "We have now defined all the feed conditions and the inputs required for the unit models. The system should now have 0 degrees of freedom i.e. should be a square problem. Please check that the degrees of freedom is 0. \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Check the degrees of freedom" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Initialization\n", + "\n", + "This subsection will demonstrate how to use the built-in sequential decomposition tool to initialize our flowsheet.\n", + "\n", + "Let us first create an object for the `SequentialDecomposition` and specify our options for this. " + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [], + "source": [ + "seq = SequentialDecomposition()\n", + "seq.options.select_tear_method = \"heuristic\"\n", + "seq.options.tear_method = \"Wegstein\"\n", + "seq.options.iterLim = 3\n", + "\n", + "# Using the SD tool\n", + "G = seq.create_graph(m)\n", + "heuristic_tear_set = seq.tear_set_arcs(G, method=\"heuristic\")\n", + "order = seq.calculation_order(G)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Which is the tear stream? Display tear set and order" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [], + "source": [ + "for o in heuristic_tear_set:\n", + " print(o.name)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What sequence did the SD tool determine to solve this flowsheet with the least number of tears? " + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [], + "source": [ + "for o in order:\n", + " print(o[0].name)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The SequentialDecomposition tool has determined that the tear stream is the mixer outlet (s03 in the Figure above). We will need to provide a reasonable guess for this.\n", + "\n", + "For the initial guess, we assume that the flowrate of the recycle stream (s09) is zero. Consequently, the flow rate of the stream s03 is simply the sum of the flowrates of the toluene feed and hydrogen feed streams. Further, since the temperature and the pressure of both the toluene and hydrogen feed streams are the same, we specify their values as the initial guess for the temperature and pressure of the stream s03." + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [], + "source": [ + "tear_guesses = {\n", + " \"flow_mol_phase_comp\": {\n", + " (0, \"Vap\", \"benzene\"): 1e-5,\n", + " (0, \"Vap\", \"toluene\"): 1e-5,\n", + " (0, \"Vap\", \"hydrogen\"): 0.30,\n", + " (0, \"Vap\", \"methane\"): 0.02,\n", + " (0, \"Liq\", \"benzene\"): 1e-5,\n", + " (0, \"Liq\", \"toluene\"): 0.30,\n", + " (0, \"Liq\", \"hydrogen\"): 1e-5,\n", + " (0, \"Liq\", \"methane\"): 1e-5,\n", + " },\n", + " \"temperature\": {0: 303.2},\n", + " \"pressure\": {0: 350000},\n", + "}\n", + "\n", + "# Pass the tear_guess to the SD tool\n", + "seq.set_guesses_for(m.fs.H101.inlet, tear_guesses)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we need to tell the tool how to initialize a particular unit. We will be writing a python function which takes in a \"unit\" and calls the initialize method on that unit. For the initialization, we will import a Block Triangularization Initializer which decomposes the model into a set of subproblems. These subproblems are solved using a block triangularization transformation before applying a simple Newton or user-selected solver. Methods such as block triangularization often solve faster and yield more reliable behavior than heuristic methods, but sometime struggle to decompose models with strongly coupled equations (e.g. column models, systems with counter-current flow, vapor-liquid equilibrium)." + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [], + "source": [ + "def function(unit):\n", + " # Try initializing using default initializer,\n", + " # if it fails (probably due to scaling) try for the second time\n", + " try:\n", + " initializer = unit.default_initializer()\n", + " initializer.initialize(unit, output_level=idaeslog.INFO)\n", + " except InitializationError:\n", + " solver = get_solver()\n", + " solver.solve(unit)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We are now ready to initialize our flowsheet in a sequential mode. Note that we specifically set the iteration limit to be 3 as we are trying to use this tool only to get a good set of initial values such that IPOPT can then take over and solve this flowsheet for us. " + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "seq.run(m, function)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "We have now initialized the flowsheet. Let us run the flowsheet in a simulation mode to look at the results. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [], + "source": [ + "# Create the solver object\n", + "solver = get_solver()\n", + "\n", + "# Solve the model\n", + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Add distillation column \n", + "\n", + "As mentioned earlier, the `SequentialDecomposition` tool currently does not support the distillation column model. Thus, we have not included the distillation column in the flowsheet. Now that we have a converged flowsheet, we will add the distillation column and simulate the entire flowsheet. \n", + "\n", + "In the following, we will\n", + "- Add the distillation column \n", + "- Connect it to the heater \n", + "- Add the necessary equality constraints\n", + "- Propagate the state variable information from the outlet of the heater to the inlet of the distillation column \n", + "- Fix the degrees of freedom of the distillation block (reflux ratio, boilup ratio, and condenser pressure)\n", + "- Scale the control volume heat variables to help convergence\n", + "- Initialize the distillation block.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [], + "source": [ + "# Add distillation column to the flowsheet\n", + "m.fs.D101 = TrayColumn(\n", + " number_of_trays=10,\n", + " feed_tray_location=5,\n", + " condenser_type=CondenserType.totalCondenser,\n", + " condenser_temperature_spec=TemperatureSpec.atBubblePoint,\n", + " property_package=m.fs.BT_params,\n", + ")\n", + "\n", + "# Connect the outlet from the heater H102 to the distillation column\n", + "m.fs.s11 = Arc(source=m.fs.H102.outlet, destination=m.fs.D101.feed)\n", + "\n", + "# Add the necessary equality constraints\n", + "TransformationFactory(\"network.expand_arcs\").apply_to(m)\n", + "\n", + "# Propagate the state\n", + "propagate_state(m.fs.s11)\n", + "\n", + "# Fix the reflux ratio, boilup ratio, and the condenser pressure\n", + "m.fs.D101.condenser.reflux_ratio.fix(0.5)\n", + "m.fs.D101.reboiler.boilup_ratio.fix(0.5)\n", + "m.fs.D101.condenser.condenser_pressure.fix(150000)\n", + "\n", + "# set scaling factors\n", + "# Set scaling factors for heat duty\n", + "iscale.set_scaling_factor(m.fs.D101.condenser.control_volume.heat, 1e-2)\n", + "iscale.set_scaling_factor(m.fs.D101.reboiler.control_volume.heat, 1e-2)\n", + "\n", + "# Set the scaling factors for the remaining variables and all constraints\n", + "iscale.calculate_scaling_factors(m.fs.D101)\n", + "\n", + "# Initialize the distillation column\n", + "m.fs.D101.initialize(outlvl=idaeslog.INFO)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding expressions to compute capital and operating costs\n", + "\n", + "In this section, we will add a few Expressions that allow us to evaluate the performance. Expressions provide a convenient way of calculating certain values that are a function of the variables defined in the model. For more details on Expressions, please refer to: https://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [], + "source": [ + "# Expression to compute the total cooling cost\n", + "m.fs.cooling_cost = Expression(\n", + " expr=0.25e-7 * (-m.fs.F101.heat_duty[0])\n", + " + 0.2e-7 * (-m.fs.D101.condenser.heat_duty[0])\n", + ")\n", + "\n", + "# Expression to compute the total heating cost\n", + "m.fs.heating_cost = Expression(\n", + " expr=2.2e-7 * m.fs.H101.heat_duty[0]\n", + " + 1.2e-7 * m.fs.H102.heat_duty[0]\n", + " + 1.9e-7 * m.fs.D101.reboiler.heat_duty[0]\n", + ")\n", + "\n", + "# Expression to compute the total operating cost\n", + "m.fs.operating_cost = Expression(\n", + " expr=(3600 * 24 * 365 * (m.fs.heating_cost + m.fs.cooling_cost))\n", + ")\n", + "\n", + "# Expression to compute the total capital cost\n", + "m.fs.capital_cost = Expression(expr=1e5 * m.fs.R101.volume[0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Solve the entire flowsheet" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [], + "source": [ + "solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Analyze the Results of the Square Problem\n", + "\n", + "How much is the total cost (operating cost + capital cost), operating cost, capital cost, benzene purity in the distillate from the distilation column, and conversion of toluene in the reactor?" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"total cost = $\", value(m.fs.capital_cost) + value(m.fs.operating_cost))\n", + "print(\"operating cost = $\", value(m.fs.operating_cost))\n", + "print(\"capital cost = $\", value(m.fs.capital_cost))\n", + "print()\n", + "print(\n", + " \"Distillate flowrate = \",\n", + " value(m.fs.D101.condenser.distillate.flow_mol[0]()),\n", + " \"mol/s\",\n", + ")\n", + "print(\n", + " \"Benzene purity = \",\n", + " 100 * value(m.fs.D101.condenser.distillate.mole_frac_comp[0, \"benzene\"]),\n", + " \"%\",\n", + ")\n", + "print(\"Residue flowrate = \", value(m.fs.D101.reboiler.bottoms.flow_mol[0]()), \"mol/s\")\n", + "print(\n", + " \"Toluene purity = \",\n", + " 100 * value(m.fs.D101.reboiler.bottoms.mole_frac_comp[0, \"toluene\"]),\n", + " \"%\",\n", + ")\n", + "print()\n", + "print(\"Conversion = \", 100 * value(m.fs.R101.conversion), \"%\")\n", + "print()\n", + "print(\n", + " \"Overhead benzene loss in F101 = \",\n", + " 100\n", + " * value(m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"])\n", + " / value(m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]),\n", + " \"%\",\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Get the state of the streams entering and leaving the reactor R101" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.R101.report()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Get the state of the streams entering and leaving the reactor R101" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.F101.report()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, let's look at how much benzene we are losing with the light gases out of F101. IDAES has tools for creating stream tables based on the `Arcs` and/or `Ports` in a flowsheet. Let us create and print a simple stream table showing the stream leaving the reactor and the vapor stream from F101.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "How much benzene are we losing in the F101 vapor outlet stream?\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core.util.tables import (\n", + " create_stream_table_dataframe,\n", + " stream_table_dataframe_to_string,\n", + ")\n", + "\n", + "st = create_stream_table_dataframe({\"Reactor\": m.fs.s05, \"Light Gases\": m.fs.s06})\n", + "print(stream_table_dataframe_to_string(st))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "You can query additional variables here if you like. \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Optimization\n", + "\n", + "\n", + "We saw from the results above that the total operating cost for the base case was $442,297 per year. We are producing 0.162 mol/s of benzene at a purity of 89.5%. However, we are losing around 43.3% of benzene in F101 vapor outlet stream. \n", + "\n", + "Let us try to minimize this cost such that:\n", + "- we are producing at least 0.18 mol/s of benzene as distillate i.e. our product stream\n", + "- purity of benzene i.e. the mole fraction of benzene in the distillate is at least 99%\n", + "- restricting the benzene loss in F101 vapor outlet to less than 20%\n", + "\n", + "For this problem, our decision variables are as follows:\n", + "- H101 outlet temperature\n", + "- R101 outlet temperature\n", + "- F101 outlet temperature\n", + "- H102 outlet temperature\n", + "- Condenser pressure\n", + "- reflux ratio\n", + "- boilup ratio\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us declare our objective function for this problem. " + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.objective = Objective(expr=m.fs.operating_cost + m.fs.capital_cost)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, we need to unfix the decision variables as we had solved a square problem (degrees of freedom = 0) until now. " + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.H101.outlet.temperature.unfix()\n", + "m.fs.R101.conversion.unfix()\n", + "m.fs.F101.vap_outlet.temperature.unfix()\n", + "m.fs.D101.condenser.condenser_pressure.unfix()\n", + "m.fs.D101.condenser.reflux_ratio.unfix()\n", + "m.fs.D101.reboiler.boilup_ratio.unfix()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Let us now unfix the remaining variable: the temperature of the outlet from H102\n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Unfix the temperature of the outlet from H102" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we need to set bounds on these decision variables to values shown below:\n", + "\n", + " - H101 outlet temperature [500, 600] K\n", + " - R101 outlet temperature [600, 900] K\n", + " - F101 outlet temperature [298, 450] K\n", + " - H102 outlet temperature [350, 400] K\n", + " - D101 condenser pressure [101325, 150000] Pa\n", + " - D101 reflux ratio [0.1, 5]\n", + " - D101 boilup ratio [0.1, 5]" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [], + "source": [ + "# Set bounds on the temperature of the outlet from H101\n", + "m.fs.H101.outlet.temperature[0].setlb(500)\n", + "m.fs.H101.outlet.temperature[0].setub(600)\n", + "\n", + "# Set bounds on the temperature of the outlet from R101\n", + "m.fs.R101.outlet.temperature[0].setlb(600)\n", + "m.fs.R101.outlet.temperature[0].setub(900)\n", + "\n", + "# Set bounds on the volume of the reactor R101\n", + "m.fs.R101.volume[0].setlb(0)\n", + "\n", + "# Set bounds on the temperature of the vapor outlet from F101\n", + "m.fs.F101.vap_outlet.temperature[0].setlb(298)\n", + "m.fs.F101.vap_outlet.temperature[0].setub(450.0)\n", + "\n", + "# Set bounds on the temperature of the outlet from H102\n", + "m.fs.H102.outlet.temperature[0].setlb(350)\n", + "m.fs.H102.outlet.temperature[0].setub(400)\n", + "\n", + "# Set bounds on the pressure inside the condenser\n", + "m.fs.D101.condenser.condenser_pressure.setlb(101325)\n", + "m.fs.D101.condenser.condenser_pressure.setub(150000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Now, set the bounds for the D101 reflux ratio and boilup ratio.\n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Set bounds on the reflux ratio\n", + "\n", + "\n", + "# Todo: Set bounds on the boilup ratio" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, the only things left to define are our constraints on overhead loss in F101, distillate flowrate and its purity. Let us first look at defining a constraint for the overhead loss in F101 where we are restricting the benzene leaving the vapor stream to less than 20 % of the benzene available in the reactor outlet. " + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [], + "source": [ + "# Ensure that the overhead loss of benzene from F101 <= 20%\n", + "m.fs.overhead_loss = Constraint(\n", + " expr=m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", + " <= 0.20 * m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Now, add the constraint such that we are producing at least 0.18 mol/s of benzene in the product stream which is the distillate of D101. Let us name this constraint as m.fs.product_flow. \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add minimum product flow constraint" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us add the final constraint on product purity or the mole fraction of benzene in the distillate such that it is at least greater than 99%. " + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.product_purity = Constraint(\n", + " expr=m.fs.D101.condenser.distillate.mole_frac_comp[0, \"benzene\"] >= 0.99\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "We have now defined the optimization problem and we are now ready to solve this problem. \n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [], + "source": [ + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Optimization Results\n", + "\n", + "Display the results and product specifications" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"total cost = $\", value(m.fs.capital_cost) + value(m.fs.operating_cost))\n", + "print(\"operating cost = $\", value(m.fs.operating_cost))\n", + "print(\"capital cost = $\", value(m.fs.capital_cost))\n", + "print()\n", + "print(\n", + " \"Distillate flowrate = \",\n", + " value(m.fs.D101.condenser.distillate.flow_mol[0]()),\n", + " \"mol/s\",\n", + ")\n", + "print(\n", + " \"Benzene purity = \",\n", + " 100 * value(m.fs.D101.condenser.distillate.mole_frac_comp[0, \"benzene\"]),\n", + " \"%\",\n", + ")\n", + "print(\"Residue flowrate = \", value(m.fs.D101.reboiler.bottoms.flow_mol[0]()), \"mol/s\")\n", + "print(\n", + " \"Toluene purity = \",\n", + " 100 * value(m.fs.D101.reboiler.bottoms.mole_frac_comp[0, \"toluene\"]),\n", + " \"%\",\n", + ")\n", + "print()\n", + "print(\"Conversion = \", 100 * value(m.fs.R101.conversion), \"%\")\n", + "print()\n", + "print(\n", + " \"Overhead benzene loss in F101 = \",\n", + " 100\n", + " * value(m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"])\n", + " / value(m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]),\n", + " \"%\",\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Display optimal values for the decision variables" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Optimal Values\")\n", + "print()\n", + "\n", + "print(\"H101 outlet temperature = \", value(m.fs.H101.outlet.temperature[0]), \"K\")\n", + "\n", + "print()\n", + "print(\"R101 outlet temperature = \", value(m.fs.R101.outlet.temperature[0]), \"K\")\n", + "\n", + "print()\n", + "print(\"F101 outlet temperature = \", value(m.fs.F101.vap_outlet.temperature[0]), \"K\")\n", + "\n", + "print()\n", + "print(\"H102 outlet temperature = \", value(m.fs.H102.outlet.temperature[0]), \"K\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Key Takeaways\n", + "\n", + "Observe that the optimization was able to reduce the yearly operating cost from \\\\$427,593 to \\\\$408,342 (~4.5%). However, the amortized capital cost more than doubled from \\\\$14,704 to \\\\$29,927 due to the need to increase the conversion in the reactor (from 75% to 93%) to meet the production and purity constraints. \n", + "\n", + "Further, observe that the product flow rate and product purity are at their minimum values (0.18 mol/s and 99%, respectively). This is expected as increasing recovery would require more energy and cost to purify the product.\n", + "\n", + "\n", + "Finally, observe that the operating temperature of the flash (F101) is almost at its lower bound. This helps in minimizing the amount of benzene in the vapor stream leaving the flash." + ] } - ], - "source": [ - "print(\"total cost = $\", value(m.fs.capital_cost) + value(m.fs.operating_cost))\n", - "print(\"operating cost = $\", value(m.fs.operating_cost))\n", - "print(\"capital cost = $\", value(m.fs.capital_cost))\n", - "print()\n", - "print(\n", - " \"Distillate flowrate = \",\n", - " value(m.fs.D101.condenser.distillate.flow_mol[0]()),\n", - " \"mol/s\",\n", - ")\n", - "print(\n", - " \"Benzene purity = \",\n", - " 100 * value(m.fs.D101.condenser.distillate.mole_frac_comp[0, \"benzene\"]),\n", - " \"%\",\n", - ")\n", - "print(\"Residue flowrate = \", value(m.fs.D101.reboiler.bottoms.flow_mol[0]()), \"mol/s\")\n", - "print(\n", - " \"Toluene purity = \",\n", - " 100 * value(m.fs.D101.reboiler.bottoms.mole_frac_comp[0, \"toluene\"]),\n", - " \"%\",\n", - ")\n", - "print()\n", - "print(\"Conversion = \", 100 * value(m.fs.R101.conversion), \"%\")\n", - "print()\n", - "print(\n", - " \"Overhead benzene loss in F101 = \",\n", - " 100\n", - " * value(m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"])\n", - " / value(m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]),\n", - " \"%\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Display optimal values for the decision variables" - ] - }, - { - "cell_type": "code", - "execution_count": 75, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Optimal Values\n", - "\n", - "H101 outlet temperature = 568.923204295196 K\n", - "\n", - "R101 outlet temperature = 790.3655425698853 K\n", - "\n", - "F101 outlet temperature = 298.0 K\n", - "\n", - "H102 outlet temperature = 368.7414339952852 K\n" - ] + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" } - ], - "source": [ - "print(\"Optimal Values\")\n", - "print()\n", - "\n", - "print(\"H101 outlet temperature = \", value(m.fs.H101.outlet.temperature[0]), \"K\")\n", - "\n", - "print()\n", - "print(\"R101 outlet temperature = \", value(m.fs.R101.outlet.temperature[0]), \"K\")\n", - "\n", - "print()\n", - "print(\"F101 outlet temperature = \", value(m.fs.F101.vap_outlet.temperature[0]), \"K\")\n", - "\n", - "print()\n", - "print(\"H102 outlet temperature = \", value(m.fs.H102.outlet.temperature[0]), \"K\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Key Takeaways\n", - "\n", - "Observe that the optimization was able to reduce the yearly operating cost from \\\\$427,593 to \\\\$408,342 (~4.5%). However, the amortized capital cost more than doubled from \\\\$14,704 to \\\\$29,927 due to the need to increase the conversion in the reactor (from 75% to 93%) to meet the production and purity constraints. \n", - "\n", - "Further, observe that the product flow rate and product purity are at their minimum values (0.18 mol/s and 99%, respectively). This is expected as increasing recovery would require more energy and cost to purify the product.\n", - "\n", - "\n", - "Finally, observe that the operating temperature of the flash (F101) is almost at its lower bound. This helps in minimizing the amount of benzene in the vapor stream leaving the flash." - ] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.13" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_distillation_solution.ipynb b/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_distillation_solution.ipynb index 86d59dd3..59997e6f 100644 --- a/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_distillation_solution.ipynb +++ b/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_distillation_solution.ipynb @@ -1,3024 +1,1792 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "# HDA Flowsheet Simulation and Optimization\n", - "Maintainer: Brandon Paul \n", - "Author: Brandon Paul \n", - "Updated: 2023-06-01 \n", - "\n", - "\n", - "## Note\n", - "\n", - "This tutorial will be similar to the HDA flowsheet tutorial in the Tutorials section, except that we use a distillation column instead of a second flash (F102) to produce benzene and toluene products.\n", - "\n", - "\n", - "## Learning outcomes\n", - "\n", - "\n", - "- Construct a steady-state flowsheet using the IDAES unit model library\n", - "- Connecting unit models in a flowsheet using Arcs\n", - "- Using the SequentialDecomposition tool to initialize a flowsheet with recycle\n", - "- Fomulate and solve an optimization problem\n", - " - Defining an objective function\n", - " - Setting variable bounds\n", - " - Adding additional constraints \n", - "\n", - "\n", - "## Problem Statement\n", - "\n", - "Hydrodealkylation is a chemical reaction that often involves reacting\n", - "an aromatic hydrocarbon in the presence of hydrogen gas to form a\n", - "simpler aromatic hydrocarbon devoid of functional groups. In this\n", - "example, toluene will be reacted with hydrogen gas at high temperatures\n", - " to form benzene via the following reaction:\n", - "\n", - "**C6H5CH3 + H2 → C6H6 + CH4**\n", - "\n", - "\n", - "This reaction is often accompanied by an equilibrium side reaction\n", - "which forms diphenyl, which we will neglect for this example.\n", - "\n", - "This example is based on the 1967 AIChE Student Contest problem as\n", - "present by Douglas, J.M., Chemical Design of Chemical Processes, 1988,\n", - "McGraw-Hill.\n", - "\n", - "The flowsheet that we will be using for this module is shown below with the stream conditions. We will be processing toluene and hydrogen to produce at least 370 TPY of benzene. As shown in the flowsheet, we use a flash tank, F101, to separate out the non-condensibles, and a distillation column, D101, to further separate the benzene-toluene mixture to improve the benzene purity. The non-condensibles separated out in F101 will be partially recycled back to M101 and the rest will be purged. We will assume ideal gas behavior for this flowsheet. The properties required for this module are defined in\n", - "\n", - "- `hda_ideal_VLE.py`\n", - "- `idaes.models.properties.activity_coeff_models.BTX_activity_coeff_VLE`\n", - "- `hda_reaction.py`\n", - "\n", - "We will be using two thermodynamic packages: one (first in the list above) containing all four components (i.e., toluene, hydrogen, benzene, and methane) and the other (second in the list above) containing benzene and toluene only. The latter is needed to simplify the VLE calculations in the distillation column model. \n", - "\n", - "![](HDA_flowsheet_distillation.png)\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Translator block\n", - "\n", - "Benzene and toluene are separated by distillation, so the process involves phase equilibrium and two-phase flow conditions. However, the presence of hydrogen and methane complicates the calculations. This is because, hydrogen and methane are non-condensable under all conditions of interest; ergo, a vapor phase will always be present, and the mixture bubble point is extremely low. To simplify the phase equilibrium calculations, hydrogen and methane will be considered completely as non-condensable and insoluble in the liquid outlet from the flash F101.\n", - "\n", - "Since no hydrogen and methane will be present in the unit operations following the flash, a different component list can be used to simplify the property calculations. IDAES supports the definition of multiple property packages within a single flowsheet via `Translator` blocks. `Translator` blocks convert between different property calculations, component lists, and equations of state. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing required pyomo and idaes components\n", - "\n", - "\n", - "To construct a flowsheet, we will need several components from the pyomo and idaes package. Let us first import the following components from Pyomo:\n", - "- Constraint (to write constraints)\n", - "- Var (to declare variables)\n", - "- ConcreteModel (to create the concrete model object)\n", - "- Expression (to evaluate values as a function of variables defined in the model)\n", - "- Objective (to define an objective function for optimization)\n", - "- SolverFactory (to solve the problem)\n", - "- TransformationFactory (to apply certain transformations)\n", - "- Arc (to connect two unit models)\n", - "- SequentialDecomposition (to initialize the flowsheet in a sequential mode)\n", - "\n", - "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/stable/\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.environ import (\n", - " Constraint,\n", - " Var,\n", - " ConcreteModel,\n", - " Expression,\n", - " Objective,\n", - " TransformationFactory,\n", - " value,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Import `Arc` and `SequentialDecomposition` tools from `pyomo.network`\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Import the above mentioned tools from pyomo.network" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Import the above mentioned tools from pyomo.network\n", - "from pyomo.network import Arc, SequentialDecomposition" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "From IDAES, we will be needing the FlowsheetBlock and the following unit models:\n", - "- Mixer\n", - "- Heater\n", - "- CSTR\n", - "- Flash\n", - "- Separator (splitter) \n", - "- PressureChanger\n", - "- Translator (to switch from one property package to another)\n", - "- TrayColumn (distillation column)\n", - "- CondenserType (Type of the overhead condenser: complete or partial)\n", - "- TemperatureSpec (Temperature specification inside the condenser)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.core import FlowsheetBlock" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.models.unit_models import (\n", - " PressureChanger,\n", - " Mixer,\n", - " Separator as Splitter,\n", - " Heater,\n", - " CSTR,\n", - " Flash,\n", - " Translator,\n", - ")\n", - "\n", - "from idaes.models_extra.column_models import TrayColumn\n", - "from idaes.models_extra.column_models.condenser import CondenserType, TemperatureSpec" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will also be needing some utility tools to put together the flowsheet and calculate the degrees of freedom. " - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "# Utility tools to put together the flowsheet and calculate the degrees of freedom\n", - "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.util.initialization import propagate_state\n", - "from idaes.core.solvers import get_solver\n", - "import idaes.core.util.scaling as iscale\n", - "from idaes.core.util.exceptions import InitializationError\n", - "\n", - "# Import idaes logger to set output levels\n", - "import idaes.logger as idaeslog" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing required thermo and reaction packages\n", - "\n", - "Finally, we import the thermophysical (`ideal_VLE.py` and `BTXParameterBlock`) packages and reaction package (`reaction.py`) for the HDA process. We have created custom thermophysical packages that assume ideal gas behavior with support for VLE. The reaction package consists of the stochiometric coefficients for the reaction, heat of reaction, and kinetic information (Arrhenius constant and activation energy). " - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes_examples.mod.hda import hda_reaction as reaction_props\n", - "from idaes.models.properties.activity_coeff_models.BTX_activity_coeff_VLE import (\n", - " BTXParameterBlock,\n", - ")\n", - "\n", - "from idaes_examples.mod.hda.hda_ideal_VLE import HDAParameterBlock" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Constructing the Flowsheet\n", - "\n", - "We have now imported all the components, unit models, and property modules we need to construct a flowsheet. Let us create a ConcreteModel and add the flowsheet block to it. " - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "# Create a Pyomo Concrete Model to contain the problem\n", - "m = ConcreteModel()\n", - "\n", - "# Add a steady state flowsheet block to the model\n", - "m.fs = FlowsheetBlock(dynamic=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will now add the thermophysical and reaction packages to the flowsheet." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "# Property package for benzene, toluene, hydrogen, methane mixture\n", - "m.fs.BTHM_params = HDAParameterBlock()\n", - "\n", - "# Property package for the benzene-toluene mixture\n", - "m.fs.BT_params = BTXParameterBlock(\n", - " valid_phase=(\"Liq\", \"Vap\"), activity_coeff_model=\"Ideal\"\n", - ")\n", - "\n", - "# Reaction package for the HDA reaction\n", - "m.fs.reaction_params = reaction_props.HDAReactionParameterBlock(\n", - " property_package=m.fs.BTHM_params\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding Unit Models\n", - "\n", - "Let us start adding the unit models we have imported to the flowsheet. Here, we are adding the Mixer (assigned a name M101) and a Heater (assigned a name H101). Note that, all unit models need to be given a property package argument. In addition, the Mixer unit model needs a `list` consisting of the inlets (toluene feed, hydrogen feed and vapor recycle streams in this case). " - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "# Adding the mixer M101 to the flowsheet\n", - "m.fs.M101 = Mixer(\n", - " property_package=m.fs.BTHM_params,\n", - " inlet_list=[\"toluene_feed\", \"hydrogen_feed\", \"vapor_recycle\"],\n", - ")\n", - "\n", - "# Adding the heater H101 to the flowsheet\n", - "m.fs.H101 = Heater(property_package=m.fs.BTHM_params, has_phase_equilibrium=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Let us now add the CSTR (assign the name R101) and pass the following arguments:\n", - "
    \n", - "
  • \"property_package\": m.fs.BTHM_params
  • \n", - "
  • \"reaction_package\": m.fs.reaction_params
  • \n", - "
  • \"has_heat_of_reaction\": True
  • \n", - "
  • \"has_heat_transfer\": True
  • \n", - "
\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add reactor with the specifications above" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add reactor with the specifications above\n", - "m.fs.R101 = CSTR(\n", - " property_package=m.fs.BTHM_params,\n", - " reaction_package=m.fs.reaction_params,\n", - " has_heat_of_reaction=True,\n", - " has_heat_transfer=True,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us now add the Flash (assign the name F101), Splitter (assign the name S101) and PressureChanger (assign the name C101)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "# Adding the flash tank F101 to the flowsheet\n", - "m.fs.F101 = Flash(\n", - " property_package=m.fs.BTHM_params, has_heat_transfer=True, has_pressure_change=True\n", - ")\n", - "\n", - "# Adding the splitter S101 to the flowsheet\n", - "m.fs.S101 = Splitter(\n", - " property_package=m.fs.BTHM_params, outlet_list=[\"purge\", \"recycle\"]\n", - ")\n", - "\n", - "# Adding the compressor C101 to the flowsheet\n", - "m.fs.C101 = PressureChanger(\n", - " property_package=m.fs.BTHM_params,\n", - " compressor=True,\n", - " thermodynamic_assumption=ThermodynamicAssumption.isothermal,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Remark\n", - "\n", - "Currently, the `SequentialDecomposition()` tool, which we will later be using to initialize the flowsheet, does not support the distillation column model. Thus, we will first simulate the flowsheet without the distillation column. After it converges, we will then add the distillation column, initialize it, and simulate the entire flowsheet." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As mentioned above, we use the `m.fs.BTHM_params` package, which contains all the four species, for the reactor loop, and the simpler `m.fs.BT_params` for unit operations following the flash (i.e., heater H102 and the distillation column D101). We define a `Translator` block to link the source property package and the package it is to be translated to in the following manner:" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "# Add translator block to convert between property packages\n", - "m.fs.translator = Translator(\n", - " inlet_property_package=m.fs.BTHM_params, outlet_property_package=m.fs.BT_params\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Translator block constraints\n", - "\n", - "The `Translator` block needs to know how to translate between the two property packages. This must be custom coded for each application because of the generality of the IDAES framework.\n", - "\n", - "For this process, five constraints are required based on the state variables used in the outgoing process.\n", - "\n", - "- Since we assumed that only benzene and toluene are present in the liquid phase, the total molar flowrate must be the sum of molar flowrates of benzene and toluene, respectively.\n", - "- Temperature of the inlet and outlet streams must be the same.\n", - "- Pressure of the inlet and outgoing streams must be the same\n", - "- The mole fraction of benzene in the outgoing stream is the ratio of the molar flowrate of liquid benzene in the inlet to the sum of molar flowrates of liquid benzene and toluene in the inlet.\n", - "- The mole fraction of toluene in the outgoing stream is the ratio of the molar flowrate of liquid toluene in the inlet to the sum of molar flowrates of liquid benzene and toluene in the inlet." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "# Add constraint: Total flow = benzene flow + toluene flow (molar)\n", - "m.fs.translator.eq_total_flow = Constraint(\n", - " expr=m.fs.translator.outlet.flow_mol[0]\n", - " == m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", - " + m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", - ")\n", - "\n", - "# Add constraint: Outlet temperature = Inlet temperature\n", - "m.fs.translator.eq_temperature = Constraint(\n", - " expr=m.fs.translator.outlet.temperature[0] == m.fs.translator.inlet.temperature[0]\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In the above, note that the variable flow_mol_phase_comp has the index - [time, phase, component]. As this is a steady-state flowsheet, the time index by default is 0. The valid phases are [\"Liq\", \"Vap\"]. Similarly the valid component list is [\"benzene\", \"toluene\", \"hydrogen\", \"methane\"]." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Add the constraint to ensure that the outlet pressure is the same as the inlet pressure\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add constraint: Outlet pressure = Inlet pressure" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add constraint: Outlet pressure = Inlet pressure\n", - "m.fs.translator.eq_pressure = Constraint(\n", - " expr=m.fs.translator.outlet.pressure[0] == m.fs.translator.inlet.pressure[0]\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "# Remaining constraints on the translator block\n", - "\n", - "# Add constraint: Benzene mole fraction definition\n", - "m.fs.translator.eq_mole_frac_benzene = Constraint(\n", - " expr=m.fs.translator.outlet.mole_frac_comp[0, \"benzene\"]\n", - " == m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", - " / (\n", - " m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", - " + m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", - " )\n", - ")\n", - "\n", - "# Add constraint: Toluene mole fraction definition\n", - "m.fs.translator.eq_mole_frac_toluene = Constraint(\n", - " expr=m.fs.translator.outlet.mole_frac_comp[0, \"toluene\"]\n", - " == m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", - " / (\n", - " m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", - " + m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", - " )\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Finally, let us add the Heater H102 in the same way as H101 but pass the m.fs.BT_params thermodynamic package. We will add the distillation column after converging the flowsheet.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add the Heater H102 to the flowsheet" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add the Heater H102 to the flowsheet\n", - "m.fs.H102 = Heater(\n", - " property_package=m.fs.BT_params,\n", - " has_pressure_change=True,\n", - " has_phase_equilibrium=True,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Connecting Unit Models using Arcs\n", - "\n", - "We have now added the initial set of unit models to the flowsheet. However, we have not yet specified how the units are connected. To do this, we will be using the `Arc` which is a pyomo component that takes in two arguments: `source` and `destination`. Let us connect the outlet of the mixer (M101) to the inlet of the heater (H101). " - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.H101.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "![](HDA_flowsheet_distillation.png) \n", - "\n", - "
\n", - "Inline Exercise:\n", - "Now, connect the H101 outlet to the R101 inlet using the cell above as a guide. \n", - "
\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Connect the H101 outlet to R101 inlet" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Connect the H101 outlet to R101 inlet\n", - "m.fs.s04 = Arc(source=m.fs.H101.outlet, destination=m.fs.R101.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will now be connecting the rest of the units as shown below. Notice how the outlet names are different for the flash tank as it has a vapor and a liquid outlet. " - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.s05 = Arc(source=m.fs.R101.outlet, destination=m.fs.F101.inlet)\n", - "m.fs.s06 = Arc(source=m.fs.F101.vap_outlet, destination=m.fs.S101.inlet)\n", - "m.fs.s08 = Arc(source=m.fs.S101.recycle, destination=m.fs.C101.inlet)\n", - "m.fs.s09 = Arc(source=m.fs.C101.outlet, destination=m.fs.M101.vapor_recycle)\n", - "m.fs.s10a = Arc(source=m.fs.F101.liq_outlet, destination=m.fs.translator.inlet)\n", - "m.fs.s10b = Arc(source=m.fs.translator.outlet, destination=m.fs.H102.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We have now connected the unit model block using the arcs. However, each of these arcs link to ports on the two unit models that are connected. In this case, the ports consist of the state variables that need to be linked between the unit models. Pyomo provides a convenient method to write these equality constraints for us between two ports and this is done as follows:" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [], - "source": [ - "TransformationFactory(\"network.expand_arcs\").apply_to(m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Appending additional constraints to the model\n", - "\n", - "Now, we will see how we can add additional constraints to the model using `Constraint` from Pyomo.\n", - "\n", - "Consider the reactor R101. By default, the conversion of a component is not calculated when we simulate the flowsheet. If we are interested either in specifying or constraining the conversion value, we can add the following constraint to calculate the conversion:\n", - "$$ \\text{Conversion of toluene} = \\frac{\\text{molar flow of toluene in the inlet} - \\text{molar flow of toluene in the outlet}}{\\text{molar flow of toluene in the inlet}} $$ \n", - "\n", - "We add the constraint to the model as shown below." - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [], - "source": [ - "# Define the conversion variables using 'Var'\n", - "m.fs.R101.conversion = Var(initialize=0.75, bounds=(0, 1))\n", - "\n", - "# Append the constraint to the model\n", - "m.fs.R101.conv_constraint = Constraint(\n", - " expr=m.fs.R101.conversion * m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " == (\n", - " m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " - m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " )\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Fixing feed conditions and Initializing the flowsheet\n", - "\n", - "Let us first check how many degrees of freedom exist for this flowsheet using the `degrees_of_freedom` tool we imported earlier. " - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "29\n" - ] - } - ], - "source": [ - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will now be fixing the toluene feed stream to the conditions shown in the flowsheet above. Please note that though this is a pure toluene feed, the remaining components are still assigned a very small non-zero value to help with convergence and initializing. " - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(0.30)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.temperature.fix(303.2)\n", - "m.fs.M101.toluene_feed.pressure.fix(350000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Similarly, let us fix the hydrogen feed to the following conditions in the next cell:\n", - "
    \n", - "
  • FH2 = 0.30 mol/s
  • \n", - "
  • FCH4 = 0.02 mol/s
  • \n", - "
  • Remaining components = 1e-5 mol/s
  • \n", - "
  • T = 303.2 K
  • \n", - "
  • P = 350000 Pa
  • \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(0.30)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(0.02)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.temperature.fix(303.2)\n", - "m.fs.M101.hydrogen_feed.pressure.fix(350000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Fixing unit model specifications\n", - "\n", - "Now that we have fixed our inlet feed conditions, we will now be fixing the operating conditions for the unit models in the flowsheet. Let us set the H101 outlet temperature to 600 K. " - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [], - "source": [ - "# Fix the temperature of the outlet from the heater H101\n", - "m.fs.H101.outlet.temperature.fix(600)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Set the conditions for the reactor R101 to the following conditions:\n", - "
    \n", - "
  • `conversion` = 0.75
  • \n", - "
  • `heat_duty` = 0
  • \n", - "
\n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Fix the 'conversion' of the reactor R101\n", - "\n", - "\n", - "# Todo: Fix the 'heat_duty' of the reactor R101" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Fix the 'conversion' of the reactor R101\n", - "m.fs.R101.conversion.fix(0.75)\n", - "\n", - "# Todo: Fix the 'heat_duty' of the reactor R101\n", - "m.fs.R101.heat_duty.fix(0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The Flash conditions for F101 can be set as follows. " - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": {}, - "outputs": [], - "source": [ - "# Fix the temperature of the vapor outlet from F101\n", - "m.fs.F101.vap_outlet.temperature.fix(325.0)\n", - "\n", - "# Fix the pressure drop in the flash F101\n", - "m.fs.F101.deltaP.fix(0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us fix the split fraction of the purge stream from the splitter S101 and the outlet pressure from the compressor C101" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [], - "source": [ - "# Fix the split fraction of the 'purge' stream from S101\n", - "m.fs.S101.split_fraction[0, \"purge\"].fix(0.2)\n", - "\n", - "# Fix the pressure of the outlet from the compressor C101\n", - "m.fs.C101.outlet.pressure.fix(350000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finally, let us fix the temperature of the outlet from H102 and the pressure drop in H102 as the following" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [], - "source": [ - "# Fix the temperature of the outlet from the heater H102\n", - "m.fs.H102.outlet.temperature.fix(375)\n", - "\n", - "# Fix the pressure drop in the heater H102\n", - "m.fs.H102.deltaP.fix(-200000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To avoid convergence issues associated with poorly scaled variables and/or constraints, we scale the variables and constraints corresponding to the heaters H101 and H102, flash F101 and the reactor R101. Scaling factors for the flow rates, temperature, pressure, etc. have been defined in the property package: `ideal_VLE.py` file. Here, we set scaling factors only for the heat duty of the heater, the reaction extent, heat duty and volume of the reactor." - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].flow_mol_phase\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enth_mol_phase_comp[Liq,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enth_mol_phase_comp[Liq,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enth_mol_phase_comp[Vap,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enth_mol_phase_comp[Vap,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].enth_mol_phase_comp[Liq,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].enth_mol_phase_comp[Liq,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].enth_mol_phase_comp[Vap,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].enth_mol_phase_comp[Vap,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].material_flow_terms[Liq,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].material_flow_terms[Vap,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].material_flow_terms[Liq,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].material_flow_terms[Vap,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enthalpy_flow_terms[Liq], enthalpy_flow_terms\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enthalpy_flow_terms[Vap], enthalpy_flow_terms\n" - ] - } - ], - "source": [ - "# Set scaling factors for heat duty, reaction extent and volume\n", - "iscale.set_scaling_factor(m.fs.H101.control_volume.heat, 1e-2)\n", - "iscale.set_scaling_factor(m.fs.R101.control_volume.heat, 1e-2)\n", - "iscale.set_scaling_factor(m.fs.R101.control_volume.rate_reaction_extent, 1)\n", - "iscale.set_scaling_factor(m.fs.R101.control_volume.volume, 1)\n", - "iscale.set_scaling_factor(m.fs.F101.control_volume.heat, 1e-2)\n", - "iscale.set_scaling_factor(m.fs.H102.control_volume.heat, 1e-2)\n", - "\n", - "# Set the scaling factors for the remaining variables and all constraints\n", - "iscale.calculate_scaling_factors(m.fs.H101)\n", - "iscale.calculate_scaling_factors(m.fs.R101)\n", - "iscale.calculate_scaling_factors(m.fs.F101)\n", - "iscale.calculate_scaling_factors(m.fs.H102)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "We have now defined all the feed conditions and the inputs required for the unit models. The system should now have 0 degrees of freedom i.e. should be a square problem. Please check that the degrees of freedom is 0. \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Check the degrees of freedom" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0\n" - ] - } - ], - "source": [ - "# Todo: Check the degrees of freedom\n", - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Initialization\n", - "\n", - "This subsection will demonstrate how to use the built-in sequential decomposition tool to initialize our flowsheet.\n", - "\n", - "Let us first create an object for the `SequentialDecomposition` and specify our options for this. " - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "metadata": {}, - "outputs": [], - "source": [ - "seq = SequentialDecomposition()\n", - "seq.options.select_tear_method = \"heuristic\"\n", - "seq.options.tear_method = \"Wegstein\"\n", - "seq.options.iterLim = 3\n", - "\n", - "# Using the SD tool\n", - "G = seq.create_graph(m)\n", - "heuristic_tear_set = seq.tear_set_arcs(G, method=\"heuristic\")\n", - "order = seq.calculation_order(G)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Which is the tear stream? Display tear set and order" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "fs.s03\n" - ] - } - ], - "source": [ - "for o in heuristic_tear_set:\n", - " print(o.name)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "What sequence did the SD tool determine to solve this flowsheet with the least number of tears? " - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "fs.H101\n", - "fs.R101\n", - "fs.F101\n", - "fs.S101\n", - "fs.C101\n", - "fs.M101\n" - ] - } - ], - "source": [ - "for o in order:\n", - " print(o[0].name)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The SequentialDecomposition tool has determined that the tear stream is the mixer outlet (s03 in the Figure above). We will need to provide a reasonable guess for this.\n", - "\n", - "For the initial guess, we assume that the flowrate of the recycle stream (s09) is zero. Consequently, the flow rate of the stream s03 is simply the sum of the flowrates of the toluene feed and hydrogen feed streams. Further, since the temperature and the pressure of both the toluene and hydrogen feed streams are the same, we specify their values as the initial guess for the temperature and pressure of the stream s03." - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "metadata": {}, - "outputs": [], - "source": [ - "tear_guesses = {\n", - " \"flow_mol_phase_comp\": {\n", - " (0, \"Vap\", \"benzene\"): 1e-5,\n", - " (0, \"Vap\", \"toluene\"): 1e-5,\n", - " (0, \"Vap\", \"hydrogen\"): 0.30,\n", - " (0, \"Vap\", \"methane\"): 0.02,\n", - " (0, \"Liq\", \"benzene\"): 1e-5,\n", - " (0, \"Liq\", \"toluene\"): 0.30,\n", - " (0, \"Liq\", \"hydrogen\"): 1e-5,\n", - " (0, \"Liq\", \"methane\"): 1e-5,\n", - " },\n", - " \"temperature\": {0: 303.2},\n", - " \"pressure\": {0: 350000},\n", - "}\n", - "\n", - "# Pass the tear_guess to the SD tool\n", - "seq.set_guesses_for(m.fs.H101.inlet, tear_guesses)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we need to tell the tool how to initialize a particular unit. We will be writing a python function which takes in a \"unit\" and calls the initialize method on that unit. For the initialization, we will import a Block Triangularization Initializer which decomposes the model into a set of subproblems. These subproblems are solved using a block triangularization transformation before applying a simple Newton or user-selected solver. Methods such as block triangularization often solve faster and yield more reliable behavior than heuristic methods, but sometime struggle to decompose models with strongly coupled equations (e.g. column models, systems with counter-current flow, vapor-liquid equilibrium)." - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "metadata": {}, - "outputs": [], - "source": [ - "def function(unit):\n", - " # Try initializing using default initializer,\n", - " # if it fails (probably due to scaling) try for the second time\n", - " try:\n", - " initializer = unit.default_initializer()\n", - " initializer.initialize(unit, output_level=idaeslog.INFO)\n", - " except InitializationError:\n", - " solver = get_solver()\n", - " solver.solve(unit)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We are now ready to initialize our flowsheet in a sequential mode. Note that we specifically set the iteration limit to be 3 as we are trying to use this tool only to get a good set of initial values such that IPOPT can then take over and solve this flowsheet for us. " - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-08-28 18:38:14 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:16 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:16 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:16 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 12\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 50 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:18 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:18 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:18 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 1 optimal - .\n", - "2024-08-28 18:38:18 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 2 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 3 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 4 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 5 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 1 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 2 optimal - .\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 3 optimal - .\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 4 optimal - .\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 5 optimal - .\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:21 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:21 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "2024-08-28 18:38:21 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:21 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 11\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 50 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "2024-08-28 18:38:24 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:24 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 11\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 50 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "2024-08-28 18:38:24 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:24 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "2024-08-28 18:38:29 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:29 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:29 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:29 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "WARNING: Wegstein failed to converge in 3 iterations\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 1 optimal - .\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 2 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 3 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 4 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 5 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 1 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 2 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 3 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 4 optimal - .\n", - "2024-08-28 18:38:33 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 5 optimal - .\n" - ] - } - ], - "source": [ - "seq.run(m, function)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "We have now initialized the flowsheet. Let us run the flowsheet in a simulation mode to look at the results. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'scaling_factor' that contains 6\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 150 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 1097\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 877\n", - "\n", - "Total number of variables............................: 363\n", - " variables with only lower bounds: 8\n", - " variables with lower and upper bounds: 155\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 363\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 3.82e+04 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 8.69e+03 1.44e+03 -1.0 2.00e+04 - 9.71e-01 4.67e-01H 1\n", - " 2 0.0000000e+00 1.29e+03 1.56e+03 -1.0 1.60e+04 - 9.79e-01 4.90e-01h 1\n", - " 3 0.0000000e+00 1.18e+03 1.55e+05 -1.0 1.40e+04 - 9.90e-01 4.99e-01h 1\n", - " 4 0.0000000e+00 5.46e+02 2.32e+09 -1.0 8.42e+03 - 1.00e+00 9.82e-01h 1\n", - " 5 0.0000000e+00 5.46e+03 3.66e+10 -1.0 5.97e+02 - 1.00e+00 9.90e-01h 1\n", - " 6 0.0000000e+00 1.21e+03 8.01e+09 -1.0 5.75e+00 - 1.00e+00 1.00e+00h 1\n", - " 7 0.0000000e+00 6.41e+00 3.87e+07 -1.0 1.53e-03 - 1.00e+00 1.00e+00f 1\n", - " 8 0.0000000e+00 1.96e-04 9.36e+02 -1.0 7.28e-06 - 1.00e+00 1.00e+00h 1\n", - " 9 0.0000000e+00 2.24e-08 4.99e-01 -3.8 5.92e-08 - 1.00e+00 1.00e+00h 1\n", - "Cannot recompute multipliers for feasibility problem. Error in eq_mult_calculator\n", - "\n", - "Number of Iterations....: 9\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 1.5042487592972509e+04 1.5042487592972509e+04\n", - "Constraint violation....: 2.9103830456733704e-11 2.2351741790771484e-08\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.9103830456733704e-11 1.5042487592972509e+04\n", - "\n", - "\n", - "Number of objective function evaluations = 11\n", - "Number of objective gradient evaluations = 10\n", - "Number of equality constraint evaluations = 11\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 10\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 9\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.011\n", - "Total CPU secs in NLP function evaluations = 0.001\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], - "source": [ - "# Create the solver object\n", - "solver = get_solver()\n", - "\n", - "# Solve the model\n", - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Add distillation column \n", - "\n", - "As mentioned earlier, the `SequentialDecomposition` tool currently does not support the distillation column model. Thus, we have not included the distillation column in the flowsheet. Now that we have a converged flowsheet, we will add the distillation column and simulate the entire flowsheet. \n", - "\n", - "In the following, we will\n", - "- Add the distillation column \n", - "- Connect it to the heater \n", - "- Add the necessary equality constraints\n", - "- Propagate the state variable information from the outlet of the heater to the inlet of the distillation column \n", - "- Fix the degrees of freedom of the distillation block (reflux ratio, boilup ratio, and condenser pressure)\n", - "- Scale the control volume heat variables to help convergence\n", - "- Initialize the distillation block.\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].material_flow_terms[Liq,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].material_flow_terms[Vap,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].material_flow_terms[Liq,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].material_flow_terms[Vap,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].enthalpy_flow_terms[Liq], enthalpy_flow_terms\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].enthalpy_flow_terms[Vap], enthalpy_flow_terms\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].material_flow_terms[Liq,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].material_flow_terms[Vap,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].material_flow_terms[Liq,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].material_flow_terms[Vap,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].enthalpy_flow_terms[Liq], enthalpy_flow_terms\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].enthalpy_flow_terms[Vap], enthalpy_flow_terms\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.e_flow_reflux[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.e_mole_frac_reflux[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.e_mole_frac_reflux[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.e_flow_vapor_reboil[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.e_mole_frac_vapor_reboil[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.e_mole_frac_vapor_reboil[0.0,toluene]\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101: Begin initialization.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray: Begin initialization.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: State Released.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: State Released.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: State Released.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: State Released.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume: Initialization Complete\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser: Initialization Complete, optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: State Released.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: State Released.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler: Initialization Complete, optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: State Released.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.rectification_section[1]: Begin initialization.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: State Released.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: State Released.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[2]: Begin initialization.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: State Released.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[2]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[2]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: State Released.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: State Released.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3]: Begin initialization.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: State Released.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: State Released.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: State Released.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4]: Begin initialization.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: State Released.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: State Released.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6]: Begin initialization.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: State Released.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: State Released.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[7]: Begin initialization.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: State Released.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[7]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[7]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: State Released.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: State Released.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8]: Begin initialization.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: State Released.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: State Released.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: State Released.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9]: Begin initialization.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: State Released.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: State Released.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: State Released.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10]: Begin initialization.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: State Released.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: State Released.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101: Rectification section initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101: Stripping section initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: State Released.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: State Released.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101: Column section initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: State Released.\n", - "2024-08-28 18:39:02 [INFO] idaes.init.fs.D101: Column section + Condenser initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:02 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: State Released.\n", - "2024-08-28 18:39:03 [INFO] idaes.init.fs.D101: Column section + Condenser + Reboiler initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:03 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: State Released.\n" - ] - } - ], - "source": [ - "# Add distillation column to the flowsheet\n", - "m.fs.D101 = TrayColumn(\n", - " number_of_trays=10,\n", - " feed_tray_location=5,\n", - " condenser_type=CondenserType.totalCondenser,\n", - " condenser_temperature_spec=TemperatureSpec.atBubblePoint,\n", - " property_package=m.fs.BT_params,\n", - ")\n", - "\n", - "# Connect the outlet from the heater H102 to the distillation column\n", - "m.fs.s11 = Arc(source=m.fs.H102.outlet, destination=m.fs.D101.feed)\n", - "\n", - "# Add the necessary equality constraints\n", - "TransformationFactory(\"network.expand_arcs\").apply_to(m)\n", - "\n", - "# Propagate the state\n", - "propagate_state(m.fs.s11)\n", - "\n", - "# Fix the reflux ratio, boilup ratio, and the condenser pressure\n", - "m.fs.D101.condenser.reflux_ratio.fix(0.5)\n", - "m.fs.D101.reboiler.boilup_ratio.fix(0.5)\n", - "m.fs.D101.condenser.condenser_pressure.fix(150000)\n", - "\n", - "# set scaling factors\n", - "# Set scaling factors for heat duty\n", - "iscale.set_scaling_factor(m.fs.D101.condenser.control_volume.heat, 1e-2)\n", - "iscale.set_scaling_factor(m.fs.D101.reboiler.control_volume.heat, 1e-2)\n", - "\n", - "# Set the scaling factors for the remaining variables and all constraints\n", - "iscale.calculate_scaling_factors(m.fs.D101)\n", - "\n", - "# Initialize the distillation column\n", - "m.fs.D101.initialize(outlvl=idaeslog.INFO)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding expressions to compute capital and operating costs\n", - "\n", - "In this section, we will add a few Expressions that allow us to evaluate the performance. Expressions provide a convenient way of calculating certain values that are a function of the variables defined in the model. For more details on Expressions, please refer to: https://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "metadata": {}, - "outputs": [], - "source": [ - "# Expression to compute the total cooling cost\n", - "m.fs.cooling_cost = Expression(\n", - " expr=0.25e-7 * (-m.fs.F101.heat_duty[0])\n", - " + 0.2e-7 * (-m.fs.D101.condenser.heat_duty[0])\n", - ")\n", - "\n", - "# Expression to compute the total heating cost\n", - "m.fs.heating_cost = Expression(\n", - " expr=2.2e-7 * m.fs.H101.heat_duty[0]\n", - " + 1.2e-7 * m.fs.H102.heat_duty[0]\n", - " + 1.9e-7 * m.fs.D101.reboiler.heat_duty[0]\n", - ")\n", - "\n", - "# Expression to compute the total operating cost\n", - "m.fs.operating_cost = Expression(\n", - " expr=(3600 * 24 * 365 * (m.fs.heating_cost + m.fs.cooling_cost))\n", - ")\n", - "\n", - "# Expression to compute the total capital cost\n", - "m.fs.capital_cost = Expression(expr=1e5 * m.fs.R101.volume[0])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Solve the entire flowsheet" - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 150 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 4042\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 2376\n", - "\n", - "Total number of variables............................: 1169\n", - " variables with only lower bounds: 112\n", - " variables with lower and upper bounds: 365\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 1169\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 3.83e+04 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 8.70e+03 1.50e+03 -1.0 3.69e+04 - 9.71e-01 4.62e-01H 1\n", - " 2 0.0000000e+00 1.53e+03 1.56e+03 -1.0 6.75e+03 - 9.77e-01 4.89e-01h 1\n", - " 3 0.0000000e+00 1.37e+03 1.55e+05 -1.0 9.37e+03 - 9.90e-01 4.99e-01h 1\n", - " 4 0.0000000e+00 6.14e+02 2.31e+09 -1.0 6.09e+03 - 1.00e+00 9.81e-01h 1\n", - " 5 0.0000000e+00 5.32e+03 3.62e+10 -1.0 5.56e+02 - 1.00e+00 9.90e-01h 1\n", - " 6 0.0000000e+00 1.16e+03 7.80e+09 -1.0 5.36e+00 - 1.00e+00 1.00e+00h 1\n", - " 7 0.0000000e+00 5.96e+00 3.64e+07 -1.0 1.47e-03 - 1.00e+00 1.00e+00f 1\n", - " 8 0.0000000e+00 1.69e-04 8.15e+02 -1.0 6.77e-06 - 1.00e+00 1.00e+00h 1\n", - " 9 0.0000000e+00 7.45e-09 6.64e-03 -3.8 2.00e-07 - 1.00e+00 1.00e+00h 1\n", - "Cannot recompute multipliers for feasibility problem. Error in eq_mult_calculator\n", - "\n", - "Number of Iterations....: 9\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 1.5042483516409773e+04 1.5042483516409773e+04\n", - "Constraint violation....: 2.9103830456733704e-11 7.4505805969238281e-09\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.9103830456733704e-11 1.5042483516409773e+04\n", - "\n", - "\n", - "Number of objective function evaluations = 11\n", - "Number of objective gradient evaluations = 10\n", - "Number of equality constraint evaluations = 11\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 10\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 9\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.083\n", - "Total CPU secs in NLP function evaluations = 0.013\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 1169, 'Number of variables': 1169, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.2022566795349121}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 53, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Analyze the Results of the Square Problem\n", - "\n", - "How much is the total cost (operating cost + capital cost), operating cost, capital cost, benzene purity in the distillate from the distilation column, and conversion of toluene in the reactor?" - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "total cost = $ 442301.47075252194\n", - "operating cost = $ 427596.73056805483\n", - "capital cost = $ 14704.740184467111\n", - "\n", - "Distillate flowrate = 0.16196898920633368 mol/s\n", - "Benzene purity = 89.4916166580088 %\n", - "Residue flowrate = 0.10515007120697904 mol/s\n", - "Toluene purity = 43.32260291055251 %\n", - "\n", - "Conversion = 75.0 %\n", - "\n", - "Overhead benzene loss in F101 = 42.161938483603194 %\n" - ] - } - ], - "source": [ - "print(\"total cost = $\", value(m.fs.capital_cost) + value(m.fs.operating_cost))\n", - "print(\"operating cost = $\", value(m.fs.operating_cost))\n", - "print(\"capital cost = $\", value(m.fs.capital_cost))\n", - "print()\n", - "print(\n", - " \"Distillate flowrate = \",\n", - " value(m.fs.D101.condenser.distillate.flow_mol[0]()),\n", - " \"mol/s\",\n", - ")\n", - "print(\n", - " \"Benzene purity = \",\n", - " 100 * value(m.fs.D101.condenser.distillate.mole_frac_comp[0, \"benzene\"]),\n", - " \"%\",\n", - ")\n", - "print(\"Residue flowrate = \", value(m.fs.D101.reboiler.bottoms.flow_mol[0]()), \"mol/s\")\n", - "print(\n", - " \"Toluene purity = \",\n", - " 100 * value(m.fs.D101.reboiler.bottoms.mole_frac_comp[0, \"toluene\"]),\n", - " \"%\",\n", - ")\n", - "print()\n", - "print(\"Conversion = \", 100 * value(m.fs.R101.conversion), \"%\")\n", - "print()\n", - "print(\n", - " \"Overhead benzene loss in F101 = \",\n", - " 100\n", - " * value(m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"])\n", - " / value(m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]),\n", - " \"%\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Get the state of the streams entering and leaving the reactor R101" - ] - }, - { - "cell_type": "code", - "execution_count": 57, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.R101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 0.0000 : watt : True : (None, None)\n", - " Volume : 0.14705 : meter ** 3 : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol_phase_comp ('Liq', 'benzene') mole / second 1.2993e-07 1.2993e-07\n", - " flow_mol_phase_comp ('Liq', 'toluene') mole / second 8.4147e-07 8.4147e-07\n", - " flow_mol_phase_comp ('Liq', 'methane') mole / second 1.0000e-12 1.0000e-12\n", - " flow_mol_phase_comp ('Liq', 'hydrogen') mole / second 1.0000e-12 1.0000e-12\n", - " flow_mol_phase_comp ('Vap', 'benzene') mole / second 0.11936 0.35374\n", - " flow_mol_phase_comp ('Vap', 'toluene') mole / second 0.31252 0.078129\n", - " flow_mol_phase_comp ('Vap', 'methane') mole / second 1.0377 1.2721\n", - " flow_mol_phase_comp ('Vap', 'hydrogen') mole / second 0.56260 0.32821\n", - " temperature kelvin 600.00 771.85\n", - " pressure pascal 3.5000e+05 3.5000e+05\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "m.fs.R101.report()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Get the state of the streams entering and leaving the reactor R101" - ] - }, - { - "cell_type": "code", - "execution_count": 58, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.F101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -70343. : watt : False : (None, None)\n", - " Pressure Change : 0.0000 : pascal : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Vapor Outlet Liquid Outlet\n", - " flow_mol_phase_comp ('Liq', 'benzene') mole / second 1.2993e-07 1.0000e-08 0.20460 \n", - " flow_mol_phase_comp ('Liq', 'toluene') mole / second 8.4147e-07 1.0000e-08 0.062520 \n", - " flow_mol_phase_comp ('Liq', 'methane') mole / second 1.0000e-12 1.0000e-08 2.6712e-07 \n", - " flow_mol_phase_comp ('Liq', 'hydrogen') mole / second 1.0000e-12 1.0000e-08 2.6712e-07 \n", - " flow_mol_phase_comp ('Vap', 'benzene') mole / second 0.35374 0.14915 1.0000e-08 \n", - " flow_mol_phase_comp ('Vap', 'toluene') mole / second 0.078129 0.015610 1.0000e-08 \n", - " flow_mol_phase_comp ('Vap', 'methane') mole / second 1.2721 1.2721 1.0000e-08 \n", - " flow_mol_phase_comp ('Vap', 'hydrogen') mole / second 0.32821 0.32821 1.0000e-08 \n", - " temperature kelvin 771.85 325.00 325.00 \n", - " pressure pascal 3.5000e+05 3.5000e+05 3.5000e+05 \n", - "====================================================================================\n" - ] - } - ], - "source": [ - "m.fs.F101.report()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, let's look at how much benzene we are losing with the light gases out of F101. IDAES has tools for creating stream tables based on the `Arcs` and/or `Ports` in a flowsheet. Let us create and print a simple stream table showing the stream leaving the reactor and the vapor stream from F101.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "How much benzene are we losing in the F101 vapor outlet stream?\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 59, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Units Reactor Light Gases\n", - "flow_mol_phase_comp ('Liq', 'benzene') mole / second 1.2993e-07 1.0000e-08 \n", - "flow_mol_phase_comp ('Liq', 'toluene') mole / second 8.4147e-07 1.0000e-08 \n", - "flow_mol_phase_comp ('Liq', 'methane') mole / second 1.0000e-12 1.0000e-08 \n", - "flow_mol_phase_comp ('Liq', 'hydrogen') mole / second 1.0000e-12 1.0000e-08 \n", - "flow_mol_phase_comp ('Vap', 'benzene') mole / second 0.35374 0.14915 \n", - "flow_mol_phase_comp ('Vap', 'toluene') mole / second 0.078129 0.015610 \n", - "flow_mol_phase_comp ('Vap', 'methane') mole / second 1.2721 1.2721 \n", - "flow_mol_phase_comp ('Vap', 'hydrogen') mole / second 0.32821 0.32821 \n", - "temperature kelvin 771.85 325.00 \n", - "pressure pascal 3.5000e+05 3.5000e+05 \n" - ] - } - ], - "source": [ - "from idaes.core.util.tables import (\n", - " create_stream_table_dataframe,\n", - " stream_table_dataframe_to_string,\n", - ")\n", - "\n", - "st = create_stream_table_dataframe({\"Reactor\": m.fs.s05, \"Light Gases\": m.fs.s06})\n", - "print(stream_table_dataframe_to_string(st))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "You can query additional variables here if you like. \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Optimization\n", - "\n", - "\n", - "We saw from the results above that the total operating cost for the base case was $442,297 per year. We are producing 0.162 mol/s of benzene at a purity of 89.5%. However, we are losing around 43.3% of benzene in F101 vapor outlet stream. \n", - "\n", - "Let us try to minimize this cost such that:\n", - "- we are producing at least 0.18 mol/s of benzene as distillate i.e. our product stream\n", - "- purity of benzene i.e. the mole fraction of benzene in the distillate is at least 99%\n", - "- restricting the benzene loss in F101 vapor outlet to less than 20%\n", - "\n", - "For this problem, our decision variables are as follows:\n", - "- H101 outlet temperature\n", - "- R101 outlet temperature\n", - "- F101 outlet temperature\n", - "- H102 outlet temperature\n", - "- Condenser pressure\n", - "- reflux ratio\n", - "- boilup ratio\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us declare our objective function for this problem. " - ] - }, - { - "cell_type": "code", - "execution_count": 60, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.objective = Objective(expr=m.fs.operating_cost + m.fs.capital_cost)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, we need to unfix the decision variables as we had solved a square problem (degrees of freedom = 0) until now. " - ] - }, - { - "cell_type": "code", - "execution_count": 61, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.H101.outlet.temperature.unfix()\n", - "m.fs.R101.conversion.unfix()\n", - "m.fs.F101.vap_outlet.temperature.unfix()\n", - "m.fs.D101.condenser.condenser_pressure.unfix()\n", - "m.fs.D101.condenser.reflux_ratio.unfix()\n", - "m.fs.D101.reboiler.boilup_ratio.unfix()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Let us now unfix the remaining variable: the temperature of the outlet from H102\n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 62, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Unfix the temperature of the outlet from H102" - ] - }, - { - "cell_type": "code", - "execution_count": 63, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Unfix the temperature of the outlet from H102\n", - "m.fs.H102.outlet.temperature.unfix()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we need to set bounds on these decision variables to values shown below:\n", - "\n", - " - H101 outlet temperature [500, 600] K\n", - " - R101 outlet temperature [600, 900] K\n", - " - F101 outlet temperature [298, 450] K\n", - " - H102 outlet temperature [350, 400] K\n", - " - D101 condenser pressure [101325, 150000] Pa\n", - " - D101 reflux ratio [0.1, 5]\n", - " - D101 boilup ratio [0.1, 5]" - ] - }, - { - "cell_type": "code", - "execution_count": 64, - "metadata": {}, - "outputs": [], - "source": [ - "# Set bounds on the temperature of the outlet from H101\n", - "m.fs.H101.outlet.temperature[0].setlb(500)\n", - "m.fs.H101.outlet.temperature[0].setub(600)\n", - "\n", - "# Set bounds on the temperature of the outlet from R101\n", - "m.fs.R101.outlet.temperature[0].setlb(600)\n", - "m.fs.R101.outlet.temperature[0].setub(900)\n", - "\n", - "# Set bounds on the volume of the reactor R101\n", - "m.fs.R101.volume[0].setlb(0)\n", - "\n", - "# Set bounds on the temperature of the vapor outlet from F101\n", - "m.fs.F101.vap_outlet.temperature[0].setlb(298)\n", - "m.fs.F101.vap_outlet.temperature[0].setub(450.0)\n", - "\n", - "# Set bounds on the temperature of the outlet from H102\n", - "m.fs.H102.outlet.temperature[0].setlb(350)\n", - "m.fs.H102.outlet.temperature[0].setub(400)\n", - "\n", - "# Set bounds on the pressure inside the condenser\n", - "m.fs.D101.condenser.condenser_pressure.setlb(101325)\n", - "m.fs.D101.condenser.condenser_pressure.setub(150000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Now, set the bounds for the D101 reflux ratio and boilup ratio.\n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 65, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Set bounds on the reflux ratio\n", - "\n", - "\n", - "# Todo: Set bounds on the boilup ratio" - ] - }, - { - "cell_type": "code", - "execution_count": 66, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Set bounds on the reflux ratio\n", - "m.fs.D101.condenser.reflux_ratio.setlb(0.1)\n", - "m.fs.D101.condenser.reflux_ratio.setub(5)\n", - "\n", - "# Todo: Set bounds on the boilup ratio\n", - "m.fs.D101.reboiler.boilup_ratio.setlb(0.1)\n", - "m.fs.D101.reboiler.boilup_ratio.setub(5)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, the only things left to define are our constraints on overhead loss in F101, distillate flowrate and its purity. Let us first look at defining a constraint for the overhead loss in F101 where we are restricting the benzene leaving the vapor stream to less than 20 % of the benzene available in the reactor outlet. " - ] - }, - { - "cell_type": "code", - "execution_count": 67, - "metadata": {}, - "outputs": [], - "source": [ - "# Ensure that the overhead loss of benzene from F101 <= 20%\n", - "m.fs.overhead_loss = Constraint(\n", - " expr=m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", - " <= 0.20 * m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Now, add the constraint such that we are producing at least 0.18 mol/s of benzene in the product stream which is the distillate of D101. Let us name this constraint as m.fs.product_flow. \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 68, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add minimum product flow constraint" - ] - }, - { - "cell_type": "code", - "execution_count": 69, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add minimum product flow constraint\n", - "m.fs.product_flow = Constraint(expr=m.fs.D101.condenser.distillate.flow_mol[0] >= 0.18)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us add the final constraint on product purity or the mole fraction of benzene in the distillate such that it is at least greater than 99%. " - ] - }, - { - "cell_type": "code", - "execution_count": 70, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.product_purity = Constraint(\n", - " expr=m.fs.D101.condenser.distillate.mole_frac_comp[0, \"benzene\"] >= 0.99\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "We have now defined the optimization problem and we are now ready to solve this problem. \n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 71, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'scaling_factor' that contains 3\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 150 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 4073\n", - "Number of nonzeros in inequality constraint Jacobian.: 6\n", - "Number of nonzeros in Lagrangian Hessian.............: 2391\n", - "\n", - "Total number of variables............................: 1176\n", - " variables with only lower bounds: 113\n", - " variables with lower and upper bounds: 372\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 1169\n", - "Total number of inequality constraints...............: 3\n", - " inequality constraints with only lower bounds: 2\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 1\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 4.4230147e+05 2.99e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 4.3753585e+05 2.91e+05 1.28e+02 -1.0 3.09e+06 - 3.58e-01 2.40e-02f 1\n", - " 2 4.3545100e+05 2.78e+05 1.55e+02 -1.0 1.78e+06 - 3.31e-01 4.74e-02h 1\n", - " 3 4.2822311e+05 2.20e+05 4.50e+02 -1.0 2.99e+06 - 2.95e-02 1.35e-01h 1\n", - " 4 4.2249096e+05 1.45e+05 1.43e+03 -1.0 7.01e+06 - 5.14e-01 2.03e-01h 1\n", - " 5 4.2194364e+05 8.17e+04 1.70e+04 -1.0 6.06e+06 - 5.97e-01 4.28e-01h 1\n", - " 6 4.2602765e+05 4.55e+04 1.10e+06 -1.0 4.32e+06 - 9.26e-01 5.07e-01h 1\n", - " 7 4.3776643e+05 2.03e+04 6.44e+09 -1.0 2.42e+06 - 9.90e-01 9.47e-01h 1\n", - " 8 4.3846260e+05 1.92e+04 6.05e+09 -1.0 4.42e+05 - 5.40e-01 5.74e-02h 1\n", - " 9 4.4529853e+05 4.05e+04 4.66e+10 -1.0 2.47e+05 - 9.96e-01 9.90e-01h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 4.4906283e+05 9.76e+03 1.10e+10 -1.0 1.12e+03 -4.0 1.26e-01 7.45e-01h 1\n", - " 11 4.5079086e+05 1.19e+03 1.54e+09 -1.0 5.63e+02 -4.5 3.77e-01 1.00e+00h 1\n", - " 12 4.5024224e+05 2.66e+00 3.67e+06 -1.0 6.61e+01 -5.0 1.00e+00 1.00e+00f 1\n", - " 13 4.4946170e+05 5.64e-01 9.29e+05 -1.0 1.81e+02 -5.4 1.00e+00 7.88e-01f 1\n", - " 14 4.4916780e+05 8.48e+00 1.62e+05 -1.0 2.83e+02 -5.9 1.00e+00 1.00e+00f 1\n", - " 15 4.4899127e+05 4.83e+00 9.07e+04 -1.0 1.01e+02 -6.4 1.00e+00 4.40e-01f 2\n", - " 16 4.4886718e+05 7.00e-01 4.61e+02 -1.0 2.35e+02 -6.9 1.00e+00 1.00e+00f 1\n", - " 17 4.4800159e+05 1.39e+02 4.52e+06 -3.8 1.17e+03 -7.3 9.79e-01 9.37e-01f 1\n", - " 18 4.4672196e+05 9.59e+02 1.22e+06 -3.8 4.55e+03 -7.8 1.00e+00 9.43e-01f 1\n", - " 19 4.4401667e+05 7.75e+03 1.55e+05 -3.8 1.08e+04 -8.3 1.00e+00 1.00e+00f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 20 4.4185035e+05 1.91e+04 1.36e+04 -3.8 1.33e+04 -8.8 1.00e+00 1.00e+00h 1\n", - " 21 4.4241001e+05 3.52e+03 5.96e+03 -3.8 2.94e+03 -9.2 1.00e+00 1.00e+00h 1\n", - " 22 4.4185237e+05 7.82e+00 2.91e+02 -3.8 7.13e+03 -9.7 2.39e-01 1.00e+00h 1\n", - " 23 4.4124091e+05 1.53e+01 3.11e+02 -3.8 4.82e+04 -10.2 8.59e-01 1.36e-01f 1\n", - " 24 4.4137379e+05 1.80e+00 2.91e+02 -3.8 1.41e+04 - 1.95e-01 1.00e+00h 1\n", - " 25 4.3862833e+05 1.70e+03 9.48e+04 -3.8 1.57e+07 - 1.29e-03 9.10e-02f 1\n", - " 26 4.3883308e+05 1.49e+03 8.46e+04 -3.8 1.02e+06 - 1.00e+00 1.35e-01h 1\n", - " 27 4.3885472e+05 2.18e+01 3.40e+03 -3.8 1.38e+05 - 1.00e+00 1.00e+00h 1\n", - " 28 4.3884160e+05 5.90e-02 6.38e+01 -3.8 8.66e+03 - 1.00e+00 1.00e+00h 1\n", - " 29 4.3884157e+05 6.48e-07 4.63e-04 -3.8 2.89e+01 - 1.00e+00 1.00e+00h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 30 4.3883990e+05 3.57e-01 2.38e+03 -5.7 8.19e+02 - 1.00e+00 1.00e+00f 1\n", - " 31 4.3883992e+05 3.50e-07 7.79e-06 -5.7 3.55e-01 - 1.00e+00 1.00e+00h 1\n", - " 32 4.3883990e+05 5.47e-05 3.63e-01 -8.0 1.01e+01 - 1.00e+00 1.00e+00h 1\n", - " 33 4.3883990e+05 2.24e-08 1.46e-07 -8.0 5.42e-05 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 33\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 4.3883989842628603e+02 4.3883989842628600e+05\n", - "Dual infeasibility......: 1.4600704448671754e-07 1.4600704448671753e-04\n", - "Constraint violation....: 2.9103830456733704e-11 2.2351741790771484e-08\n", - "Complementarity.........: 9.0909948039799681e-09 9.0909948039799686e-06\n", - "Overall NLP error.......: 9.0909948039799681e-09 1.4600704448671753e-04\n", - "\n", - "\n", - "Number of objective function evaluations = 35\n", - "Number of objective gradient evaluations = 34\n", - "Number of equality constraint evaluations = 35\n", - "Number of inequality constraint evaluations = 35\n", - "Number of equality constraint Jacobian evaluations = 34\n", - "Number of inequality constraint Jacobian evaluations = 34\n", - "Number of Lagrangian Hessian evaluations = 33\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.164\n", - "Total CPU secs in NLP function evaluations = 0.020\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], - "source": [ - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Optimization Results\n", - "\n", - "Display the results and product specifications" - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "total cost = $ 438839.898426286\n", - "operating cost = $ 408883.5314830889\n", - "capital cost = $ 29956.3669431971\n", - "\n", - "Distillate flowrate = 0.1799999900263989 mol/s\n", - "Benzene purity = 98.99999900049086 %\n", - "Residue flowrate = 0.1085161642426372 mol/s\n", - "Toluene purity = 15.676178086213548 %\n", - "\n", - "Conversion = 93.38705916369427 %\n", - "\n", - "Overhead benzene loss in F101 = 17.34061793115618 %\n" - ] + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "# HDA Flowsheet Simulation and Optimization\n", + "Maintainer: Brandon Paul \n", + "Author: Brandon Paul \n", + "Updated: 2023-06-01 \n", + "\n", + "\n", + "## Note\n", + "\n", + "This tutorial will be similar to the HDA flowsheet tutorial in the Tutorials section, except that we use a distillation column instead of a second flash (F102) to produce benzene and toluene products.\n", + "\n", + "\n", + "## Learning outcomes\n", + "\n", + "\n", + "- Construct a steady-state flowsheet using the IDAES unit model library\n", + "- Connecting unit models in a flowsheet using Arcs\n", + "- Using the SequentialDecomposition tool to initialize a flowsheet with recycle\n", + "- Fomulate and solve an optimization problem\n", + " - Defining an objective function\n", + " - Setting variable bounds\n", + " - Adding additional constraints \n", + "\n", + "\n", + "## Problem Statement\n", + "\n", + "Hydrodealkylation is a chemical reaction that often involves reacting\n", + "an aromatic hydrocarbon in the presence of hydrogen gas to form a\n", + "simpler aromatic hydrocarbon devoid of functional groups. In this\n", + "example, toluene will be reacted with hydrogen gas at high temperatures\n", + " to form benzene via the following reaction:\n", + "\n", + "**C6H5CH3 + H2 \u2192 C6H6 + CH4**\n", + "\n", + "\n", + "This reaction is often accompanied by an equilibrium side reaction\n", + "which forms diphenyl, which we will neglect for this example.\n", + "\n", + "This example is based on the 1967 AIChE Student Contest problem as\n", + "present by Douglas, J.M., Chemical Design of Chemical Processes, 1988,\n", + "McGraw-Hill.\n", + "\n", + "The flowsheet that we will be using for this module is shown below with the stream conditions. We will be processing toluene and hydrogen to produce at least 370 TPY of benzene. As shown in the flowsheet, we use a flash tank, F101, to separate out the non-condensibles, and a distillation column, D101, to further separate the benzene-toluene mixture to improve the benzene purity. The non-condensibles separated out in F101 will be partially recycled back to M101 and the rest will be purged. We will assume ideal gas behavior for this flowsheet. The properties required for this module are defined in\n", + "\n", + "- `hda_ideal_VLE.py`\n", + "- `idaes.models.properties.activity_coeff_models.BTX_activity_coeff_VLE`\n", + "- `hda_reaction.py`\n", + "\n", + "We will be using two thermodynamic packages: one (first in the list above) containing all four components (i.e., toluene, hydrogen, benzene, and methane) and the other (second in the list above) containing benzene and toluene only. The latter is needed to simplify the VLE calculations in the distillation column model. \n", + "\n", + "![](HDA_flowsheet_distillation.png)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Translator block\n", + "\n", + "Benzene and toluene are separated by distillation, so the process involves phase equilibrium and two-phase flow conditions. However, the presence of hydrogen and methane complicates the calculations. This is because, hydrogen and methane are non-condensable under all conditions of interest; ergo, a vapor phase will always be present, and the mixture bubble point is extremely low. To simplify the phase equilibrium calculations, hydrogen and methane will be considered completely as non-condensable and insoluble in the liquid outlet from the flash F101.\n", + "\n", + "Since no hydrogen and methane will be present in the unit operations following the flash, a different component list can be used to simplify the property calculations. IDAES supports the definition of multiple property packages within a single flowsheet via `Translator` blocks. `Translator` blocks convert between different property calculations, component lists, and equations of state. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing required pyomo and idaes components\n", + "\n", + "\n", + "To construct a flowsheet, we will need several components from the pyomo and idaes package. Let us first import the following components from Pyomo:\n", + "- Constraint (to write constraints)\n", + "- Var (to declare variables)\n", + "- ConcreteModel (to create the concrete model object)\n", + "- Expression (to evaluate values as a function of variables defined in the model)\n", + "- Objective (to define an objective function for optimization)\n", + "- SolverFactory (to solve the problem)\n", + "- TransformationFactory (to apply certain transformations)\n", + "- Arc (to connect two unit models)\n", + "- SequentialDecomposition (to initialize the flowsheet in a sequential mode)\n", + "\n", + "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/stable/\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import (\n", + " Constraint,\n", + " Var,\n", + " ConcreteModel,\n", + " Expression,\n", + " Objective,\n", + " TransformationFactory,\n", + " value,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Import `Arc` and `SequentialDecomposition` tools from `pyomo.network`\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Import the above mentioned tools from pyomo.network" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Import the above mentioned tools from pyomo.network\n", + "from pyomo.network import Arc, SequentialDecomposition" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From IDAES, we will be needing the FlowsheetBlock and the following unit models:\n", + "- Mixer\n", + "- Heater\n", + "- CSTR\n", + "- Flash\n", + "- Separator (splitter) \n", + "- PressureChanger\n", + "- Translator (to switch from one property package to another)\n", + "- TrayColumn (distillation column)\n", + "- CondenserType (Type of the overhead condenser: complete or partial)\n", + "- TemperatureSpec (Temperature specification inside the condenser)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core import FlowsheetBlock" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.models.unit_models import (\n", + " PressureChanger,\n", + " Mixer,\n", + " Separator as Splitter,\n", + " Heater,\n", + " CSTR,\n", + " Flash,\n", + " Translator,\n", + ")\n", + "\n", + "from idaes.models_extra.column_models import TrayColumn\n", + "from idaes.models_extra.column_models.condenser import CondenserType, TemperatureSpec" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will also be needing some utility tools to put together the flowsheet and calculate the degrees of freedom. " + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# Utility tools to put together the flowsheet and calculate the degrees of freedom\n", + "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.core.util.initialization import propagate_state\n", + "from idaes.core.solvers import get_solver\n", + "import idaes.core.util.scaling as iscale\n", + "from idaes.core.util.exceptions import InitializationError\n", + "\n", + "# Import idaes logger to set output levels\n", + "import idaes.logger as idaeslog" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing required thermo and reaction packages\n", + "\n", + "Finally, we import the thermophysical (`ideal_VLE.py` and `BTXParameterBlock`) packages and reaction package (`reaction.py`) for the HDA process. We have created custom thermophysical packages that assume ideal gas behavior with support for VLE. The reaction package consists of the stochiometric coefficients for the reaction, heat of reaction, and kinetic information (Arrhenius constant and activation energy). " + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes_examples.mod.hda import hda_reaction as reaction_props\n", + "from idaes.models.properties.activity_coeff_models.BTX_activity_coeff_VLE import (\n", + " BTXParameterBlock,\n", + ")\n", + "\n", + "from idaes_examples.mod.hda.hda_ideal_VLE import HDAParameterBlock" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Constructing the Flowsheet\n", + "\n", + "We have now imported all the components, unit models, and property modules we need to construct a flowsheet. Let us create a ConcreteModel and add the flowsheet block to it. " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "# Create a Pyomo Concrete Model to contain the problem\n", + "m = ConcreteModel()\n", + "\n", + "# Add a steady state flowsheet block to the model\n", + "m.fs = FlowsheetBlock(dynamic=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now add the thermophysical and reaction packages to the flowsheet." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "# Property package for benzene, toluene, hydrogen, methane mixture\n", + "m.fs.BTHM_params = HDAParameterBlock()\n", + "\n", + "# Property package for the benzene-toluene mixture\n", + "m.fs.BT_params = BTXParameterBlock(\n", + " valid_phase=(\"Liq\", \"Vap\"), activity_coeff_model=\"Ideal\"\n", + ")\n", + "\n", + "# Reaction package for the HDA reaction\n", + "m.fs.reaction_params = reaction_props.HDAReactionParameterBlock(\n", + " property_package=m.fs.BTHM_params\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding Unit Models\n", + "\n", + "Let us start adding the unit models we have imported to the flowsheet. Here, we are adding the Mixer (assigned a name M101) and a Heater (assigned a name H101). Note that, all unit models need to be given a property package argument. In addition, the Mixer unit model needs a `list` consisting of the inlets (toluene feed, hydrogen feed and vapor recycle streams in this case). " + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "# Adding the mixer M101 to the flowsheet\n", + "m.fs.M101 = Mixer(\n", + " property_package=m.fs.BTHM_params,\n", + " inlet_list=[\"toluene_feed\", \"hydrogen_feed\", \"vapor_recycle\"],\n", + ")\n", + "\n", + "# Adding the heater H101 to the flowsheet\n", + "m.fs.H101 = Heater(property_package=m.fs.BTHM_params, has_phase_equilibrium=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Let us now add the CSTR (assign the name R101) and pass the following arguments:\n", + "
    \n", + "
  • \"property_package\": m.fs.BTHM_params
  • \n", + "
  • \"reaction_package\": m.fs.reaction_params
  • \n", + "
  • \"has_heat_of_reaction\": True
  • \n", + "
  • \"has_heat_transfer\": True
  • \n", + "
\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add reactor with the specifications above" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add reactor with the specifications above\n", + "m.fs.R101 = CSTR(\n", + " property_package=m.fs.BTHM_params,\n", + " reaction_package=m.fs.reaction_params,\n", + " has_heat_of_reaction=True,\n", + " has_heat_transfer=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us now add the Flash (assign the name F101), Splitter (assign the name S101) and PressureChanger (assign the name C101)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "# Adding the flash tank F101 to the flowsheet\n", + "m.fs.F101 = Flash(\n", + " property_package=m.fs.BTHM_params, has_heat_transfer=True, has_pressure_change=True\n", + ")\n", + "\n", + "# Adding the splitter S101 to the flowsheet\n", + "m.fs.S101 = Splitter(\n", + " property_package=m.fs.BTHM_params, outlet_list=[\"purge\", \"recycle\"]\n", + ")\n", + "\n", + "# Adding the compressor C101 to the flowsheet\n", + "m.fs.C101 = PressureChanger(\n", + " property_package=m.fs.BTHM_params,\n", + " compressor=True,\n", + " thermodynamic_assumption=ThermodynamicAssumption.isothermal,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Remark\n", + "\n", + "Currently, the `SequentialDecomposition()` tool, which we will later be using to initialize the flowsheet, does not support the distillation column model. Thus, we will first simulate the flowsheet without the distillation column. After it converges, we will then add the distillation column, initialize it, and simulate the entire flowsheet." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As mentioned above, we use the `m.fs.BTHM_params` package, which contains all the four species, for the reactor loop, and the simpler `m.fs.BT_params` for unit operations following the flash (i.e., heater H102 and the distillation column D101). We define a `Translator` block to link the source property package and the package it is to be translated to in the following manner:" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "# Add translator block to convert between property packages\n", + "m.fs.translator = Translator(\n", + " inlet_property_package=m.fs.BTHM_params, outlet_property_package=m.fs.BT_params\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Translator block constraints\n", + "\n", + "The `Translator` block needs to know how to translate between the two property packages. This must be custom coded for each application because of the generality of the IDAES framework.\n", + "\n", + "For this process, five constraints are required based on the state variables used in the outgoing process.\n", + "\n", + "- Since we assumed that only benzene and toluene are present in the liquid phase, the total molar flowrate must be the sum of molar flowrates of benzene and toluene, respectively.\n", + "- Temperature of the inlet and outlet streams must be the same.\n", + "- Pressure of the inlet and outgoing streams must be the same\n", + "- The mole fraction of benzene in the outgoing stream is the ratio of the molar flowrate of liquid benzene in the inlet to the sum of molar flowrates of liquid benzene and toluene in the inlet.\n", + "- The mole fraction of toluene in the outgoing stream is the ratio of the molar flowrate of liquid toluene in the inlet to the sum of molar flowrates of liquid benzene and toluene in the inlet." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "# Add constraint: Total flow = benzene flow + toluene flow (molar)\n", + "m.fs.translator.eq_total_flow = Constraint(\n", + " expr=m.fs.translator.outlet.flow_mol[0]\n", + " == m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", + " + m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", + ")\n", + "\n", + "# Add constraint: Outlet temperature = Inlet temperature\n", + "m.fs.translator.eq_temperature = Constraint(\n", + " expr=m.fs.translator.outlet.temperature[0] == m.fs.translator.inlet.temperature[0]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the above, note that the variable flow_mol_phase_comp has the index - [time, phase, component]. As this is a steady-state flowsheet, the time index by default is 0. The valid phases are [\"Liq\", \"Vap\"]. Similarly the valid component list is [\"benzene\", \"toluene\", \"hydrogen\", \"methane\"]." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Add the constraint to ensure that the outlet pressure is the same as the inlet pressure\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add constraint: Outlet pressure = Inlet pressure" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add constraint: Outlet pressure = Inlet pressure\n", + "m.fs.translator.eq_pressure = Constraint(\n", + " expr=m.fs.translator.outlet.pressure[0] == m.fs.translator.inlet.pressure[0]\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "# Remaining constraints on the translator block\n", + "\n", + "# Add constraint: Benzene mole fraction definition\n", + "m.fs.translator.eq_mole_frac_benzene = Constraint(\n", + " expr=m.fs.translator.outlet.mole_frac_comp[0, \"benzene\"]\n", + " == m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", + " / (\n", + " m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", + " + m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", + " )\n", + ")\n", + "\n", + "# Add constraint: Toluene mole fraction definition\n", + "m.fs.translator.eq_mole_frac_toluene = Constraint(\n", + " expr=m.fs.translator.outlet.mole_frac_comp[0, \"toluene\"]\n", + " == m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", + " / (\n", + " m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", + " + m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", + " )\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Finally, let us add the Heater H102 in the same way as H101 but pass the m.fs.BT_params thermodynamic package. We will add the distillation column after converging the flowsheet.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add the Heater H102 to the flowsheet" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add the Heater H102 to the flowsheet\n", + "m.fs.H102 = Heater(\n", + " property_package=m.fs.BT_params,\n", + " has_pressure_change=True,\n", + " has_phase_equilibrium=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Connecting Unit Models using Arcs\n", + "\n", + "We have now added the initial set of unit models to the flowsheet. However, we have not yet specified how the units are connected. To do this, we will be using the `Arc` which is a pyomo component that takes in two arguments: `source` and `destination`. Let us connect the outlet of the mixer (M101) to the inlet of the heater (H101). " + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.H101.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "![](HDA_flowsheet_distillation.png) \n", + "\n", + "
\n", + "Inline Exercise:\n", + "Now, connect the H101 outlet to the R101 inlet using the cell above as a guide. \n", + "
\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Connect the H101 outlet to R101 inlet" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Connect the H101 outlet to R101 inlet\n", + "m.fs.s04 = Arc(source=m.fs.H101.outlet, destination=m.fs.R101.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now be connecting the rest of the units as shown below. Notice how the outlet names are different for the flash tank as it has a vapor and a liquid outlet. " + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.s05 = Arc(source=m.fs.R101.outlet, destination=m.fs.F101.inlet)\n", + "m.fs.s06 = Arc(source=m.fs.F101.vap_outlet, destination=m.fs.S101.inlet)\n", + "m.fs.s08 = Arc(source=m.fs.S101.recycle, destination=m.fs.C101.inlet)\n", + "m.fs.s09 = Arc(source=m.fs.C101.outlet, destination=m.fs.M101.vapor_recycle)\n", + "m.fs.s10a = Arc(source=m.fs.F101.liq_outlet, destination=m.fs.translator.inlet)\n", + "m.fs.s10b = Arc(source=m.fs.translator.outlet, destination=m.fs.H102.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We have now connected the unit model block using the arcs. However, each of these arcs link to ports on the two unit models that are connected. In this case, the ports consist of the state variables that need to be linked between the unit models. Pyomo provides a convenient method to write these equality constraints for us between two ports and this is done as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "TransformationFactory(\"network.expand_arcs\").apply_to(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Appending additional constraints to the model\n", + "\n", + "Now, we will see how we can add additional constraints to the model using `Constraint` from Pyomo.\n", + "\n", + "Consider the reactor R101. By default, the conversion of a component is not calculated when we simulate the flowsheet. If we are interested either in specifying or constraining the conversion value, we can add the following constraint to calculate the conversion:\n", + "$$ \\text{Conversion of toluene} = \\frac{\\text{molar flow of toluene in the inlet} - \\text{molar flow of toluene in the outlet}}{\\text{molar flow of toluene in the inlet}} $$ \n", + "\n", + "We add the constraint to the model as shown below." + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "# Define the conversion variables using 'Var'\n", + "m.fs.R101.conversion = Var(initialize=0.75, bounds=(0, 1))\n", + "\n", + "# Append the constraint to the model\n", + "m.fs.R101.conv_constraint = Constraint(\n", + " expr=m.fs.R101.conversion * m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " == (\n", + " m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " - m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " )\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fixing feed conditions and Initializing the flowsheet\n", + "\n", + "Let us first check how many degrees of freedom exist for this flowsheet using the `degrees_of_freedom` tool we imported earlier. " + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now be fixing the toluene feed stream to the conditions shown in the flowsheet above. Please note that though this is a pure toluene feed, the remaining components are still assigned a very small non-zero value to help with convergence and initializing. " + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(0.30)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.temperature.fix(303.2)\n", + "m.fs.M101.toluene_feed.pressure.fix(350000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Similarly, let us fix the hydrogen feed to the following conditions in the next cell:\n", + "
    \n", + "
  • FH2 = 0.30 mol/s
  • \n", + "
  • FCH4 = 0.02 mol/s
  • \n", + "
  • Remaining components = 1e-5 mol/s
  • \n", + "
  • T = 303.2 K
  • \n", + "
  • P = 350000 Pa
  • \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(0.30)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(0.02)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.temperature.fix(303.2)\n", + "m.fs.M101.hydrogen_feed.pressure.fix(350000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Fixing unit model specifications\n", + "\n", + "Now that we have fixed our inlet feed conditions, we will now be fixing the operating conditions for the unit models in the flowsheet. Let us set the H101 outlet temperature to 600 K. " + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "# Fix the temperature of the outlet from the heater H101\n", + "m.fs.H101.outlet.temperature.fix(600)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Set the conditions for the reactor R101 to the following conditions:\n", + "
    \n", + "
  • `conversion` = 0.75
  • \n", + "
  • `heat_duty` = 0
  • \n", + "
\n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Fix the 'conversion' of the reactor R101\n", + "\n", + "\n", + "# Todo: Fix the 'heat_duty' of the reactor R101" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Fix the 'conversion' of the reactor R101\n", + "m.fs.R101.conversion.fix(0.75)\n", + "\n", + "# Todo: Fix the 'heat_duty' of the reactor R101\n", + "m.fs.R101.heat_duty.fix(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The Flash conditions for F101 can be set as follows. " + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [], + "source": [ + "# Fix the temperature of the vapor outlet from F101\n", + "m.fs.F101.vap_outlet.temperature.fix(325.0)\n", + "\n", + "# Fix the pressure drop in the flash F101\n", + "m.fs.F101.deltaP.fix(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us fix the split fraction of the purge stream from the splitter S101 and the outlet pressure from the compressor C101" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [], + "source": [ + "# Fix the split fraction of the 'purge' stream from S101\n", + "m.fs.S101.split_fraction[0, \"purge\"].fix(0.2)\n", + "\n", + "# Fix the pressure of the outlet from the compressor C101\n", + "m.fs.C101.outlet.pressure.fix(350000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, let us fix the temperature of the outlet from H102 and the pressure drop in H102 as the following" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [], + "source": [ + "# Fix the temperature of the outlet from the heater H102\n", + "m.fs.H102.outlet.temperature.fix(375)\n", + "\n", + "# Fix the pressure drop in the heater H102\n", + "m.fs.H102.deltaP.fix(-200000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To avoid convergence issues associated with poorly scaled variables and/or constraints, we scale the variables and constraints corresponding to the heaters H101 and H102, flash F101 and the reactor R101. Scaling factors for the flow rates, temperature, pressure, etc. have been defined in the property package: `ideal_VLE.py` file. Here, we set scaling factors only for the heat duty of the heater, the reaction extent, heat duty and volume of the reactor." + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [], + "source": [ + "# Set scaling factors for heat duty, reaction extent and volume\n", + "iscale.set_scaling_factor(m.fs.H101.control_volume.heat, 1e-2)\n", + "iscale.set_scaling_factor(m.fs.R101.control_volume.heat, 1e-2)\n", + "iscale.set_scaling_factor(m.fs.R101.control_volume.rate_reaction_extent, 1)\n", + "iscale.set_scaling_factor(m.fs.R101.control_volume.volume, 1)\n", + "iscale.set_scaling_factor(m.fs.F101.control_volume.heat, 1e-2)\n", + "iscale.set_scaling_factor(m.fs.H102.control_volume.heat, 1e-2)\n", + "\n", + "# Set the scaling factors for the remaining variables and all constraints\n", + "iscale.calculate_scaling_factors(m.fs.H101)\n", + "iscale.calculate_scaling_factors(m.fs.R101)\n", + "iscale.calculate_scaling_factors(m.fs.F101)\n", + "iscale.calculate_scaling_factors(m.fs.H102)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "We have now defined all the feed conditions and the inputs required for the unit models. The system should now have 0 degrees of freedom i.e. should be a square problem. Please check that the degrees of freedom is 0. \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Check the degrees of freedom" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Check the degrees of freedom\n", + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Initialization\n", + "\n", + "This subsection will demonstrate how to use the built-in sequential decomposition tool to initialize our flowsheet.\n", + "\n", + "Let us first create an object for the `SequentialDecomposition` and specify our options for this. " + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [], + "source": [ + "seq = SequentialDecomposition()\n", + "seq.options.select_tear_method = \"heuristic\"\n", + "seq.options.tear_method = \"Wegstein\"\n", + "seq.options.iterLim = 3\n", + "\n", + "# Using the SD tool\n", + "G = seq.create_graph(m)\n", + "heuristic_tear_set = seq.tear_set_arcs(G, method=\"heuristic\")\n", + "order = seq.calculation_order(G)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Which is the tear stream? Display tear set and order" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [], + "source": [ + "for o in heuristic_tear_set:\n", + " print(o.name)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What sequence did the SD tool determine to solve this flowsheet with the least number of tears? " + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [], + "source": [ + "for o in order:\n", + " print(o[0].name)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The SequentialDecomposition tool has determined that the tear stream is the mixer outlet (s03 in the Figure above). We will need to provide a reasonable guess for this.\n", + "\n", + "For the initial guess, we assume that the flowrate of the recycle stream (s09) is zero. Consequently, the flow rate of the stream s03 is simply the sum of the flowrates of the toluene feed and hydrogen feed streams. Further, since the temperature and the pressure of both the toluene and hydrogen feed streams are the same, we specify their values as the initial guess for the temperature and pressure of the stream s03." + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [], + "source": [ + "tear_guesses = {\n", + " \"flow_mol_phase_comp\": {\n", + " (0, \"Vap\", \"benzene\"): 1e-5,\n", + " (0, \"Vap\", \"toluene\"): 1e-5,\n", + " (0, \"Vap\", \"hydrogen\"): 0.30,\n", + " (0, \"Vap\", \"methane\"): 0.02,\n", + " (0, \"Liq\", \"benzene\"): 1e-5,\n", + " (0, \"Liq\", \"toluene\"): 0.30,\n", + " (0, \"Liq\", \"hydrogen\"): 1e-5,\n", + " (0, \"Liq\", \"methane\"): 1e-5,\n", + " },\n", + " \"temperature\": {0: 303.2},\n", + " \"pressure\": {0: 350000},\n", + "}\n", + "\n", + "# Pass the tear_guess to the SD tool\n", + "seq.set_guesses_for(m.fs.H101.inlet, tear_guesses)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we need to tell the tool how to initialize a particular unit. We will be writing a python function which takes in a \"unit\" and calls the initialize method on that unit. For the initialization, we will import a Block Triangularization Initializer which decomposes the model into a set of subproblems. These subproblems are solved using a block triangularization transformation before applying a simple Newton or user-selected solver. Methods such as block triangularization often solve faster and yield more reliable behavior than heuristic methods, but sometime struggle to decompose models with strongly coupled equations (e.g. column models, systems with counter-current flow, vapor-liquid equilibrium)." + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [], + "source": [ + "def function(unit):\n", + " # Try initializing using default initializer,\n", + " # if it fails (probably due to scaling) try for the second time\n", + " try:\n", + " initializer = unit.default_initializer()\n", + " initializer.initialize(unit, output_level=idaeslog.INFO)\n", + " except InitializationError:\n", + " solver = get_solver()\n", + " solver.solve(unit)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We are now ready to initialize our flowsheet in a sequential mode. Note that we specifically set the iteration limit to be 3 as we are trying to use this tool only to get a good set of initial values such that IPOPT can then take over and solve this flowsheet for us. " + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "seq.run(m, function)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "We have now initialized the flowsheet. Let us run the flowsheet in a simulation mode to look at the results. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [], + "source": [ + "# Create the solver object\n", + "solver = get_solver()\n", + "\n", + "# Solve the model\n", + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Add distillation column \n", + "\n", + "As mentioned earlier, the `SequentialDecomposition` tool currently does not support the distillation column model. Thus, we have not included the distillation column in the flowsheet. Now that we have a converged flowsheet, we will add the distillation column and simulate the entire flowsheet. \n", + "\n", + "In the following, we will\n", + "- Add the distillation column \n", + "- Connect it to the heater \n", + "- Add the necessary equality constraints\n", + "- Propagate the state variable information from the outlet of the heater to the inlet of the distillation column \n", + "- Fix the degrees of freedom of the distillation block (reflux ratio, boilup ratio, and condenser pressure)\n", + "- Scale the control volume heat variables to help convergence\n", + "- Initialize the distillation block.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [], + "source": [ + "# Add distillation column to the flowsheet\n", + "m.fs.D101 = TrayColumn(\n", + " number_of_trays=10,\n", + " feed_tray_location=5,\n", + " condenser_type=CondenserType.totalCondenser,\n", + " condenser_temperature_spec=TemperatureSpec.atBubblePoint,\n", + " property_package=m.fs.BT_params,\n", + ")\n", + "\n", + "# Connect the outlet from the heater H102 to the distillation column\n", + "m.fs.s11 = Arc(source=m.fs.H102.outlet, destination=m.fs.D101.feed)\n", + "\n", + "# Add the necessary equality constraints\n", + "TransformationFactory(\"network.expand_arcs\").apply_to(m)\n", + "\n", + "# Propagate the state\n", + "propagate_state(m.fs.s11)\n", + "\n", + "# Fix the reflux ratio, boilup ratio, and the condenser pressure\n", + "m.fs.D101.condenser.reflux_ratio.fix(0.5)\n", + "m.fs.D101.reboiler.boilup_ratio.fix(0.5)\n", + "m.fs.D101.condenser.condenser_pressure.fix(150000)\n", + "\n", + "# set scaling factors\n", + "# Set scaling factors for heat duty\n", + "iscale.set_scaling_factor(m.fs.D101.condenser.control_volume.heat, 1e-2)\n", + "iscale.set_scaling_factor(m.fs.D101.reboiler.control_volume.heat, 1e-2)\n", + "\n", + "# Set the scaling factors for the remaining variables and all constraints\n", + "iscale.calculate_scaling_factors(m.fs.D101)\n", + "\n", + "# Initialize the distillation column\n", + "m.fs.D101.initialize(outlvl=idaeslog.INFO)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding expressions to compute capital and operating costs\n", + "\n", + "In this section, we will add a few Expressions that allow us to evaluate the performance. Expressions provide a convenient way of calculating certain values that are a function of the variables defined in the model. For more details on Expressions, please refer to: https://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [], + "source": [ + "# Expression to compute the total cooling cost\n", + "m.fs.cooling_cost = Expression(\n", + " expr=0.25e-7 * (-m.fs.F101.heat_duty[0])\n", + " + 0.2e-7 * (-m.fs.D101.condenser.heat_duty[0])\n", + ")\n", + "\n", + "# Expression to compute the total heating cost\n", + "m.fs.heating_cost = Expression(\n", + " expr=2.2e-7 * m.fs.H101.heat_duty[0]\n", + " + 1.2e-7 * m.fs.H102.heat_duty[0]\n", + " + 1.9e-7 * m.fs.D101.reboiler.heat_duty[0]\n", + ")\n", + "\n", + "# Expression to compute the total operating cost\n", + "m.fs.operating_cost = Expression(\n", + " expr=(3600 * 24 * 365 * (m.fs.heating_cost + m.fs.cooling_cost))\n", + ")\n", + "\n", + "# Expression to compute the total capital cost\n", + "m.fs.capital_cost = Expression(expr=1e5 * m.fs.R101.volume[0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Solve the entire flowsheet" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [], + "source": [ + "solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Analyze the Results of the Square Problem\n", + "\n", + "How much is the total cost (operating cost + capital cost), operating cost, capital cost, benzene purity in the distillate from the distilation column, and conversion of toluene in the reactor?" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"total cost = $\", value(m.fs.capital_cost) + value(m.fs.operating_cost))\n", + "print(\"operating cost = $\", value(m.fs.operating_cost))\n", + "print(\"capital cost = $\", value(m.fs.capital_cost))\n", + "print()\n", + "print(\n", + " \"Distillate flowrate = \",\n", + " value(m.fs.D101.condenser.distillate.flow_mol[0]()),\n", + " \"mol/s\",\n", + ")\n", + "print(\n", + " \"Benzene purity = \",\n", + " 100 * value(m.fs.D101.condenser.distillate.mole_frac_comp[0, \"benzene\"]),\n", + " \"%\",\n", + ")\n", + "print(\"Residue flowrate = \", value(m.fs.D101.reboiler.bottoms.flow_mol[0]()), \"mol/s\")\n", + "print(\n", + " \"Toluene purity = \",\n", + " 100 * value(m.fs.D101.reboiler.bottoms.mole_frac_comp[0, \"toluene\"]),\n", + " \"%\",\n", + ")\n", + "print()\n", + "print(\"Conversion = \", 100 * value(m.fs.R101.conversion), \"%\")\n", + "print()\n", + "print(\n", + " \"Overhead benzene loss in F101 = \",\n", + " 100\n", + " * value(m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"])\n", + " / value(m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]),\n", + " \"%\",\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Get the state of the streams entering and leaving the reactor R101" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.R101.report()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Get the state of the streams entering and leaving the reactor R101" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.F101.report()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, let's look at how much benzene we are losing with the light gases out of F101. IDAES has tools for creating stream tables based on the `Arcs` and/or `Ports` in a flowsheet. Let us create and print a simple stream table showing the stream leaving the reactor and the vapor stream from F101.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "How much benzene are we losing in the F101 vapor outlet stream?\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core.util.tables import (\n", + " create_stream_table_dataframe,\n", + " stream_table_dataframe_to_string,\n", + ")\n", + "\n", + "st = create_stream_table_dataframe({\"Reactor\": m.fs.s05, \"Light Gases\": m.fs.s06})\n", + "print(stream_table_dataframe_to_string(st))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "You can query additional variables here if you like. \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Optimization\n", + "\n", + "\n", + "We saw from the results above that the total operating cost for the base case was $442,297 per year. We are producing 0.162 mol/s of benzene at a purity of 89.5%. However, we are losing around 43.3% of benzene in F101 vapor outlet stream. \n", + "\n", + "Let us try to minimize this cost such that:\n", + "- we are producing at least 0.18 mol/s of benzene as distillate i.e. our product stream\n", + "- purity of benzene i.e. the mole fraction of benzene in the distillate is at least 99%\n", + "- restricting the benzene loss in F101 vapor outlet to less than 20%\n", + "\n", + "For this problem, our decision variables are as follows:\n", + "- H101 outlet temperature\n", + "- R101 outlet temperature\n", + "- F101 outlet temperature\n", + "- H102 outlet temperature\n", + "- Condenser pressure\n", + "- reflux ratio\n", + "- boilup ratio\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us declare our objective function for this problem. " + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.objective = Objective(expr=m.fs.operating_cost + m.fs.capital_cost)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, we need to unfix the decision variables as we had solved a square problem (degrees of freedom = 0) until now. " + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.H101.outlet.temperature.unfix()\n", + "m.fs.R101.conversion.unfix()\n", + "m.fs.F101.vap_outlet.temperature.unfix()\n", + "m.fs.D101.condenser.condenser_pressure.unfix()\n", + "m.fs.D101.condenser.reflux_ratio.unfix()\n", + "m.fs.D101.reboiler.boilup_ratio.unfix()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Let us now unfix the remaining variable: the temperature of the outlet from H102\n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Unfix the temperature of the outlet from H102" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Unfix the temperature of the outlet from H102\n", + "m.fs.H102.outlet.temperature.unfix()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we need to set bounds on these decision variables to values shown below:\n", + "\n", + " - H101 outlet temperature [500, 600] K\n", + " - R101 outlet temperature [600, 900] K\n", + " - F101 outlet temperature [298, 450] K\n", + " - H102 outlet temperature [350, 400] K\n", + " - D101 condenser pressure [101325, 150000] Pa\n", + " - D101 reflux ratio [0.1, 5]\n", + " - D101 boilup ratio [0.1, 5]" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [], + "source": [ + "# Set bounds on the temperature of the outlet from H101\n", + "m.fs.H101.outlet.temperature[0].setlb(500)\n", + "m.fs.H101.outlet.temperature[0].setub(600)\n", + "\n", + "# Set bounds on the temperature of the outlet from R101\n", + "m.fs.R101.outlet.temperature[0].setlb(600)\n", + "m.fs.R101.outlet.temperature[0].setub(900)\n", + "\n", + "# Set bounds on the volume of the reactor R101\n", + "m.fs.R101.volume[0].setlb(0)\n", + "\n", + "# Set bounds on the temperature of the vapor outlet from F101\n", + "m.fs.F101.vap_outlet.temperature[0].setlb(298)\n", + "m.fs.F101.vap_outlet.temperature[0].setub(450.0)\n", + "\n", + "# Set bounds on the temperature of the outlet from H102\n", + "m.fs.H102.outlet.temperature[0].setlb(350)\n", + "m.fs.H102.outlet.temperature[0].setub(400)\n", + "\n", + "# Set bounds on the pressure inside the condenser\n", + "m.fs.D101.condenser.condenser_pressure.setlb(101325)\n", + "m.fs.D101.condenser.condenser_pressure.setub(150000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Now, set the bounds for the D101 reflux ratio and boilup ratio.\n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Set bounds on the reflux ratio\n", + "\n", + "\n", + "# Todo: Set bounds on the boilup ratio" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Set bounds on the reflux ratio\n", + "m.fs.D101.condenser.reflux_ratio.setlb(0.1)\n", + "m.fs.D101.condenser.reflux_ratio.setub(5)\n", + "\n", + "# Todo: Set bounds on the boilup ratio\n", + "m.fs.D101.reboiler.boilup_ratio.setlb(0.1)\n", + "m.fs.D101.reboiler.boilup_ratio.setub(5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, the only things left to define are our constraints on overhead loss in F101, distillate flowrate and its purity. Let us first look at defining a constraint for the overhead loss in F101 where we are restricting the benzene leaving the vapor stream to less than 20 % of the benzene available in the reactor outlet. " + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [], + "source": [ + "# Ensure that the overhead loss of benzene from F101 <= 20%\n", + "m.fs.overhead_loss = Constraint(\n", + " expr=m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", + " <= 0.20 * m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Now, add the constraint such that we are producing at least 0.18 mol/s of benzene in the product stream which is the distillate of D101. Let us name this constraint as m.fs.product_flow. \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add minimum product flow constraint" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add minimum product flow constraint\n", + "m.fs.product_flow = Constraint(expr=m.fs.D101.condenser.distillate.flow_mol[0] >= 0.18)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us add the final constraint on product purity or the mole fraction of benzene in the distillate such that it is at least greater than 99%. " + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.product_purity = Constraint(\n", + " expr=m.fs.D101.condenser.distillate.mole_frac_comp[0, \"benzene\"] >= 0.99\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "We have now defined the optimization problem and we are now ready to solve this problem. \n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [], + "source": [ + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Optimization Results\n", + "\n", + "Display the results and product specifications" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"total cost = $\", value(m.fs.capital_cost) + value(m.fs.operating_cost))\n", + "print(\"operating cost = $\", value(m.fs.operating_cost))\n", + "print(\"capital cost = $\", value(m.fs.capital_cost))\n", + "print()\n", + "print(\n", + " \"Distillate flowrate = \",\n", + " value(m.fs.D101.condenser.distillate.flow_mol[0]()),\n", + " \"mol/s\",\n", + ")\n", + "print(\n", + " \"Benzene purity = \",\n", + " 100 * value(m.fs.D101.condenser.distillate.mole_frac_comp[0, \"benzene\"]),\n", + " \"%\",\n", + ")\n", + "print(\"Residue flowrate = \", value(m.fs.D101.reboiler.bottoms.flow_mol[0]()), \"mol/s\")\n", + "print(\n", + " \"Toluene purity = \",\n", + " 100 * value(m.fs.D101.reboiler.bottoms.mole_frac_comp[0, \"toluene\"]),\n", + " \"%\",\n", + ")\n", + "print()\n", + "print(\"Conversion = \", 100 * value(m.fs.R101.conversion), \"%\")\n", + "print()\n", + "print(\n", + " \"Overhead benzene loss in F101 = \",\n", + " 100\n", + " * value(m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"])\n", + " / value(m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]),\n", + " \"%\",\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Display optimal values for the decision variables" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Optimal Values\")\n", + "print()\n", + "\n", + "print(\"H101 outlet temperature = \", value(m.fs.H101.outlet.temperature[0]), \"K\")\n", + "\n", + "print()\n", + "print(\"R101 outlet temperature = \", value(m.fs.R101.outlet.temperature[0]), \"K\")\n", + "\n", + "print()\n", + "print(\"F101 outlet temperature = \", value(m.fs.F101.vap_outlet.temperature[0]), \"K\")\n", + "\n", + "print()\n", + "print(\"H102 outlet temperature = \", value(m.fs.H102.outlet.temperature[0]), \"K\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Key Takeaways\n", + "\n", + "Observe that the optimization was able to reduce the yearly operating cost from \\\\$427,593 to \\\\$408,342 (~4.5%). However, the amortized capital cost more than doubled from \\\\$14,704 to \\\\$29,927 due to the need to increase the conversion in the reactor (from 75% to 93%) to meet the production and purity constraints. \n", + "\n", + "Further, observe that the product flow rate and product purity are at their minimum values (0.18 mol/s and 99%, respectively). This is expected as increasing recovery would require more energy and cost to purify the product.\n", + "\n", + "\n", + "Finally, observe that the operating temperature of the flash (F101) is almost at its lower bound. This helps in minimizing the amount of benzene in the vapor stream leaving the flash." + ] } - ], - "source": [ - "print(\"total cost = $\", value(m.fs.capital_cost) + value(m.fs.operating_cost))\n", - "print(\"operating cost = $\", value(m.fs.operating_cost))\n", - "print(\"capital cost = $\", value(m.fs.capital_cost))\n", - "print()\n", - "print(\n", - " \"Distillate flowrate = \",\n", - " value(m.fs.D101.condenser.distillate.flow_mol[0]()),\n", - " \"mol/s\",\n", - ")\n", - "print(\n", - " \"Benzene purity = \",\n", - " 100 * value(m.fs.D101.condenser.distillate.mole_frac_comp[0, \"benzene\"]),\n", - " \"%\",\n", - ")\n", - "print(\"Residue flowrate = \", value(m.fs.D101.reboiler.bottoms.flow_mol[0]()), \"mol/s\")\n", - "print(\n", - " \"Toluene purity = \",\n", - " 100 * value(m.fs.D101.reboiler.bottoms.mole_frac_comp[0, \"toluene\"]),\n", - " \"%\",\n", - ")\n", - "print()\n", - "print(\"Conversion = \", 100 * value(m.fs.R101.conversion), \"%\")\n", - "print()\n", - "print(\n", - " \"Overhead benzene loss in F101 = \",\n", - " 100\n", - " * value(m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"])\n", - " / value(m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]),\n", - " \"%\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Display optimal values for the decision variables" - ] - }, - { - "cell_type": "code", - "execution_count": 75, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Optimal Values\n", - "\n", - "H101 outlet temperature = 568.923204295196 K\n", - "\n", - "R101 outlet temperature = 790.3655425698853 K\n", - "\n", - "F101 outlet temperature = 298.0 K\n", - "\n", - "H102 outlet temperature = 368.7414339952852 K\n" - ] + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" } - ], - "source": [ - "print(\"Optimal Values\")\n", - "print()\n", - "\n", - "print(\"H101 outlet temperature = \", value(m.fs.H101.outlet.temperature[0]), \"K\")\n", - "\n", - "print()\n", - "print(\"R101 outlet temperature = \", value(m.fs.R101.outlet.temperature[0]), \"K\")\n", - "\n", - "print()\n", - "print(\"F101 outlet temperature = \", value(m.fs.F101.vap_outlet.temperature[0]), \"K\")\n", - "\n", - "print()\n", - "print(\"H102 outlet temperature = \", value(m.fs.H102.outlet.temperature[0]), \"K\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Key Takeaways\n", - "\n", - "Observe that the optimization was able to reduce the yearly operating cost from \\\\$427,593 to \\\\$408,342 (~4.5%). However, the amortized capital cost more than doubled from \\\\$14,704 to \\\\$29,927 due to the need to increase the conversion in the reactor (from 75% to 93%) to meet the production and purity constraints. \n", - "\n", - "Further, observe that the product flow rate and product purity are at their minimum values (0.18 mol/s and 99%, respectively). This is expected as increasing recovery would require more energy and cost to purify the product.\n", - "\n", - "\n", - "Finally, observe that the operating temperature of the flash (F101) is almost at its lower bound. This helps in minimizing the amount of benzene in the vapor stream leaving the flash." - ] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.13" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_distillation_test.ipynb b/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_distillation_test.ipynb index ba91dc8e..dc0ab81a 100644 --- a/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_distillation_test.ipynb +++ b/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_distillation_test.ipynb @@ -1,3033 +1,1783 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "# HDA Flowsheet Simulation and Optimization\n", - "Maintainer: Brandon Paul \n", - "Author: Brandon Paul \n", - "Updated: 2023-06-01 \n", - "\n", - "\n", - "## Note\n", - "\n", - "This tutorial will be similar to the HDA flowsheet tutorial in the Tutorials section, except that we use a distillation column instead of a second flash (F102) to produce benzene and toluene products.\n", - "\n", - "\n", - "## Learning outcomes\n", - "\n", - "\n", - "- Construct a steady-state flowsheet using the IDAES unit model library\n", - "- Connecting unit models in a flowsheet using Arcs\n", - "- Using the SequentialDecomposition tool to initialize a flowsheet with recycle\n", - "- Fomulate and solve an optimization problem\n", - " - Defining an objective function\n", - " - Setting variable bounds\n", - " - Adding additional constraints \n", - "\n", - "\n", - "## Problem Statement\n", - "\n", - "Hydrodealkylation is a chemical reaction that often involves reacting\n", - "an aromatic hydrocarbon in the presence of hydrogen gas to form a\n", - "simpler aromatic hydrocarbon devoid of functional groups. In this\n", - "example, toluene will be reacted with hydrogen gas at high temperatures\n", - " to form benzene via the following reaction:\n", - "\n", - "**C6H5CH3 + H2 → C6H6 + CH4**\n", - "\n", - "\n", - "This reaction is often accompanied by an equilibrium side reaction\n", - "which forms diphenyl, which we will neglect for this example.\n", - "\n", - "This example is based on the 1967 AIChE Student Contest problem as\n", - "present by Douglas, J.M., Chemical Design of Chemical Processes, 1988,\n", - "McGraw-Hill.\n", - "\n", - "The flowsheet that we will be using for this module is shown below with the stream conditions. We will be processing toluene and hydrogen to produce at least 370 TPY of benzene. As shown in the flowsheet, we use a flash tank, F101, to separate out the non-condensibles, and a distillation column, D101, to further separate the benzene-toluene mixture to improve the benzene purity. The non-condensibles separated out in F101 will be partially recycled back to M101 and the rest will be purged. We will assume ideal gas behavior for this flowsheet. The properties required for this module are defined in\n", - "\n", - "- `hda_ideal_VLE.py`\n", - "- `idaes.models.properties.activity_coeff_models.BTX_activity_coeff_VLE`\n", - "- `hda_reaction.py`\n", - "\n", - "We will be using two thermodynamic packages: one (first in the list above) containing all four components (i.e., toluene, hydrogen, benzene, and methane) and the other (second in the list above) containing benzene and toluene only. The latter is needed to simplify the VLE calculations in the distillation column model. \n", - "\n", - "![](HDA_flowsheet_distillation.png)\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Translator block\n", - "\n", - "Benzene and toluene are separated by distillation, so the process involves phase equilibrium and two-phase flow conditions. However, the presence of hydrogen and methane complicates the calculations. This is because, hydrogen and methane are non-condensable under all conditions of interest; ergo, a vapor phase will always be present, and the mixture bubble point is extremely low. To simplify the phase equilibrium calculations, hydrogen and methane will be considered completely as non-condensable and insoluble in the liquid outlet from the flash F101.\n", - "\n", - "Since no hydrogen and methane will be present in the unit operations following the flash, a different component list can be used to simplify the property calculations. IDAES supports the definition of multiple property packages within a single flowsheet via `Translator` blocks. `Translator` blocks convert between different property calculations, component lists, and equations of state. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing required pyomo and idaes components\n", - "\n", - "\n", - "To construct a flowsheet, we will need several components from the pyomo and idaes package. Let us first import the following components from Pyomo:\n", - "- Constraint (to write constraints)\n", - "- Var (to declare variables)\n", - "- ConcreteModel (to create the concrete model object)\n", - "- Expression (to evaluate values as a function of variables defined in the model)\n", - "- Objective (to define an objective function for optimization)\n", - "- SolverFactory (to solve the problem)\n", - "- TransformationFactory (to apply certain transformations)\n", - "- Arc (to connect two unit models)\n", - "- SequentialDecomposition (to initialize the flowsheet in a sequential mode)\n", - "\n", - "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/stable/\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.environ import (\n", - " Constraint,\n", - " Var,\n", - " ConcreteModel,\n", - " Expression,\n", - " Objective,\n", - " TransformationFactory,\n", - " value,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Import `Arc` and `SequentialDecomposition` tools from `pyomo.network`\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Import the above mentioned tools from pyomo.network\n", - "from pyomo.network import Arc, SequentialDecomposition" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "From IDAES, we will be needing the FlowsheetBlock and the following unit models:\n", - "- Mixer\n", - "- Heater\n", - "- CSTR\n", - "- Flash\n", - "- Separator (splitter) \n", - "- PressureChanger\n", - "- Translator (to switch from one property package to another)\n", - "- TrayColumn (distillation column)\n", - "- CondenserType (Type of the overhead condenser: complete or partial)\n", - "- TemperatureSpec (Temperature specification inside the condenser)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.core import FlowsheetBlock" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.models.unit_models import (\n", - " PressureChanger,\n", - " Mixer,\n", - " Separator as Splitter,\n", - " Heater,\n", - " CSTR,\n", - " Flash,\n", - " Translator,\n", - ")\n", - "\n", - "from idaes.models_extra.column_models import TrayColumn\n", - "from idaes.models_extra.column_models.condenser import CondenserType, TemperatureSpec" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will also be needing some utility tools to put together the flowsheet and calculate the degrees of freedom. " - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "# Utility tools to put together the flowsheet and calculate the degrees of freedom\n", - "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.util.initialization import propagate_state\n", - "from idaes.core.solvers import get_solver\n", - "import idaes.core.util.scaling as iscale\n", - "from idaes.core.util.exceptions import InitializationError\n", - "\n", - "# Import idaes logger to set output levels\n", - "import idaes.logger as idaeslog" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing required thermo and reaction packages\n", - "\n", - "Finally, we import the thermophysical (`ideal_VLE.py` and `BTXParameterBlock`) packages and reaction package (`reaction.py`) for the HDA process. We have created custom thermophysical packages that assume ideal gas behavior with support for VLE. The reaction package consists of the stochiometric coefficients for the reaction, heat of reaction, and kinetic information (Arrhenius constant and activation energy). " - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes_examples.mod.hda import hda_reaction as reaction_props\n", - "from idaes.models.properties.activity_coeff_models.BTX_activity_coeff_VLE import (\n", - " BTXParameterBlock,\n", - ")\n", - "\n", - "from idaes_examples.mod.hda.hda_ideal_VLE import HDAParameterBlock" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Constructing the Flowsheet\n", - "\n", - "We have now imported all the components, unit models, and property modules we need to construct a flowsheet. Let us create a ConcreteModel and add the flowsheet block to it. " - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "# Create a Pyomo Concrete Model to contain the problem\n", - "m = ConcreteModel()\n", - "\n", - "# Add a steady state flowsheet block to the model\n", - "m.fs = FlowsheetBlock(dynamic=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will now add the thermophysical and reaction packages to the flowsheet." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "# Property package for benzene, toluene, hydrogen, methane mixture\n", - "m.fs.BTHM_params = HDAParameterBlock()\n", - "\n", - "# Property package for the benzene-toluene mixture\n", - "m.fs.BT_params = BTXParameterBlock(\n", - " valid_phase=(\"Liq\", \"Vap\"), activity_coeff_model=\"Ideal\"\n", - ")\n", - "\n", - "# Reaction package for the HDA reaction\n", - "m.fs.reaction_params = reaction_props.HDAReactionParameterBlock(\n", - " property_package=m.fs.BTHM_params\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding Unit Models\n", - "\n", - "Let us start adding the unit models we have imported to the flowsheet. Here, we are adding the Mixer (assigned a name M101) and a Heater (assigned a name H101). Note that, all unit models need to be given a property package argument. In addition, the Mixer unit model needs a `list` consisting of the inlets (toluene feed, hydrogen feed and vapor recycle streams in this case). " - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "# Adding the mixer M101 to the flowsheet\n", - "m.fs.M101 = Mixer(\n", - " property_package=m.fs.BTHM_params,\n", - " inlet_list=[\"toluene_feed\", \"hydrogen_feed\", \"vapor_recycle\"],\n", - ")\n", - "\n", - "# Adding the heater H101 to the flowsheet\n", - "m.fs.H101 = Heater(property_package=m.fs.BTHM_params, has_phase_equilibrium=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Let us now add the CSTR (assign the name R101) and pass the following arguments:\n", - "
    \n", - "
  • \"property_package\": m.fs.BTHM_params
  • \n", - "
  • \"reaction_package\": m.fs.reaction_params
  • \n", - "
  • \"has_heat_of_reaction\": True
  • \n", - "
  • \"has_heat_transfer\": True
  • \n", - "
\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add reactor with the specifications above\n", - "m.fs.R101 = CSTR(\n", - " property_package=m.fs.BTHM_params,\n", - " reaction_package=m.fs.reaction_params,\n", - " has_heat_of_reaction=True,\n", - " has_heat_transfer=True,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us now add the Flash (assign the name F101), Splitter (assign the name S101) and PressureChanger (assign the name C101)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "# Adding the flash tank F101 to the flowsheet\n", - "m.fs.F101 = Flash(\n", - " property_package=m.fs.BTHM_params, has_heat_transfer=True, has_pressure_change=True\n", - ")\n", - "\n", - "# Adding the splitter S101 to the flowsheet\n", - "m.fs.S101 = Splitter(\n", - " property_package=m.fs.BTHM_params, outlet_list=[\"purge\", \"recycle\"]\n", - ")\n", - "\n", - "# Adding the compressor C101 to the flowsheet\n", - "m.fs.C101 = PressureChanger(\n", - " property_package=m.fs.BTHM_params,\n", - " compressor=True,\n", - " thermodynamic_assumption=ThermodynamicAssumption.isothermal,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Remark\n", - "\n", - "Currently, the `SequentialDecomposition()` tool, which we will later be using to initialize the flowsheet, does not support the distillation column model. Thus, we will first simulate the flowsheet without the distillation column. After it converges, we will then add the distillation column, initialize it, and simulate the entire flowsheet." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As mentioned above, we use the `m.fs.BTHM_params` package, which contains all the four species, for the reactor loop, and the simpler `m.fs.BT_params` for unit operations following the flash (i.e., heater H102 and the distillation column D101). We define a `Translator` block to link the source property package and the package it is to be translated to in the following manner:" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "# Add translator block to convert between property packages\n", - "m.fs.translator = Translator(\n", - " inlet_property_package=m.fs.BTHM_params, outlet_property_package=m.fs.BT_params\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Translator block constraints\n", - "\n", - "The `Translator` block needs to know how to translate between the two property packages. This must be custom coded for each application because of the generality of the IDAES framework.\n", - "\n", - "For this process, five constraints are required based on the state variables used in the outgoing process.\n", - "\n", - "- Since we assumed that only benzene and toluene are present in the liquid phase, the total molar flowrate must be the sum of molar flowrates of benzene and toluene, respectively.\n", - "- Temperature of the inlet and outlet streams must be the same.\n", - "- Pressure of the inlet and outgoing streams must be the same\n", - "- The mole fraction of benzene in the outgoing stream is the ratio of the molar flowrate of liquid benzene in the inlet to the sum of molar flowrates of liquid benzene and toluene in the inlet.\n", - "- The mole fraction of toluene in the outgoing stream is the ratio of the molar flowrate of liquid toluene in the inlet to the sum of molar flowrates of liquid benzene and toluene in the inlet." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "# Add constraint: Total flow = benzene flow + toluene flow (molar)\n", - "m.fs.translator.eq_total_flow = Constraint(\n", - " expr=m.fs.translator.outlet.flow_mol[0]\n", - " == m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", - " + m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", - ")\n", - "\n", - "# Add constraint: Outlet temperature = Inlet temperature\n", - "m.fs.translator.eq_temperature = Constraint(\n", - " expr=m.fs.translator.outlet.temperature[0] == m.fs.translator.inlet.temperature[0]\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In the above, note that the variable flow_mol_phase_comp has the index - [time, phase, component]. As this is a steady-state flowsheet, the time index by default is 0. The valid phases are [\"Liq\", \"Vap\"]. Similarly the valid component list is [\"benzene\", \"toluene\", \"hydrogen\", \"methane\"]." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Add the constraint to ensure that the outlet pressure is the same as the inlet pressure\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add constraint: Outlet pressure = Inlet pressure\n", - "m.fs.translator.eq_pressure = Constraint(\n", - " expr=m.fs.translator.outlet.pressure[0] == m.fs.translator.inlet.pressure[0]\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "# Remaining constraints on the translator block\n", - "\n", - "# Add constraint: Benzene mole fraction definition\n", - "m.fs.translator.eq_mole_frac_benzene = Constraint(\n", - " expr=m.fs.translator.outlet.mole_frac_comp[0, \"benzene\"]\n", - " == m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", - " / (\n", - " m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", - " + m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", - " )\n", - ")\n", - "\n", - "# Add constraint: Toluene mole fraction definition\n", - "m.fs.translator.eq_mole_frac_toluene = Constraint(\n", - " expr=m.fs.translator.outlet.mole_frac_comp[0, \"toluene\"]\n", - " == m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", - " / (\n", - " m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", - " + m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", - " )\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Finally, let us add the Heater H102 in the same way as H101 but pass the m.fs.BT_params thermodynamic package. We will add the distillation column after converging the flowsheet.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add the Heater H102 to the flowsheet\n", - "m.fs.H102 = Heater(\n", - " property_package=m.fs.BT_params,\n", - " has_pressure_change=True,\n", - " has_phase_equilibrium=True,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Connecting Unit Models using Arcs\n", - "\n", - "We have now added the initial set of unit models to the flowsheet. However, we have not yet specified how the units are connected. To do this, we will be using the `Arc` which is a pyomo component that takes in two arguments: `source` and `destination`. Let us connect the outlet of the mixer (M101) to the inlet of the heater (H101). " - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.H101.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "![](HDA_flowsheet_distillation.png) \n", - "\n", - "
\n", - "Inline Exercise:\n", - "Now, connect the H101 outlet to the R101 inlet using the cell above as a guide. \n", - "
\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Connect the H101 outlet to R101 inlet\n", - "m.fs.s04 = Arc(source=m.fs.H101.outlet, destination=m.fs.R101.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will now be connecting the rest of the units as shown below. Notice how the outlet names are different for the flash tank as it has a vapor and a liquid outlet. " - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.s05 = Arc(source=m.fs.R101.outlet, destination=m.fs.F101.inlet)\n", - "m.fs.s06 = Arc(source=m.fs.F101.vap_outlet, destination=m.fs.S101.inlet)\n", - "m.fs.s08 = Arc(source=m.fs.S101.recycle, destination=m.fs.C101.inlet)\n", - "m.fs.s09 = Arc(source=m.fs.C101.outlet, destination=m.fs.M101.vapor_recycle)\n", - "m.fs.s10a = Arc(source=m.fs.F101.liq_outlet, destination=m.fs.translator.inlet)\n", - "m.fs.s10b = Arc(source=m.fs.translator.outlet, destination=m.fs.H102.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We have now connected the unit model block using the arcs. However, each of these arcs link to ports on the two unit models that are connected. In this case, the ports consist of the state variables that need to be linked between the unit models. Pyomo provides a convenient method to write these equality constraints for us between two ports and this is done as follows:" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [], - "source": [ - "TransformationFactory(\"network.expand_arcs\").apply_to(m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Appending additional constraints to the model\n", - "\n", - "Now, we will see how we can add additional constraints to the model using `Constraint` from Pyomo.\n", - "\n", - "Consider the reactor R101. By default, the conversion of a component is not calculated when we simulate the flowsheet. If we are interested either in specifying or constraining the conversion value, we can add the following constraint to calculate the conversion:\n", - "$$ \\text{Conversion of toluene} = \\frac{\\text{molar flow of toluene in the inlet} - \\text{molar flow of toluene in the outlet}}{\\text{molar flow of toluene in the inlet}} $$ \n", - "\n", - "We add the constraint to the model as shown below." - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [], - "source": [ - "# Define the conversion variables using 'Var'\n", - "m.fs.R101.conversion = Var(initialize=0.75, bounds=(0, 1))\n", - "\n", - "# Append the constraint to the model\n", - "m.fs.R101.conv_constraint = Constraint(\n", - " expr=m.fs.R101.conversion * m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " == (\n", - " m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " - m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " )\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Fixing feed conditions and Initializing the flowsheet\n", - "\n", - "Let us first check how many degrees of freedom exist for this flowsheet using the `degrees_of_freedom` tool we imported earlier. " - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "29\n" - ] - } - ], - "source": [ - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "# Check the degrees of freedom\n", - "assert degrees_of_freedom(m) == 29" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will now be fixing the toluene feed stream to the conditions shown in the flowsheet above. Please note that though this is a pure toluene feed, the remaining components are still assigned a very small non-zero value to help with convergence and initializing. " - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(0.30)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.temperature.fix(303.2)\n", - "m.fs.M101.toluene_feed.pressure.fix(350000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Similarly, let us fix the hydrogen feed to the following conditions in the next cell:\n", - "
    \n", - "
  • FH2 = 0.30 mol/s
  • \n", - "
  • FCH4 = 0.02 mol/s
  • \n", - "
  • Remaining components = 1e-5 mol/s
  • \n", - "
  • T = 303.2 K
  • \n", - "
  • P = 350000 Pa
  • \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(0.30)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(0.02)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.temperature.fix(303.2)\n", - "m.fs.M101.hydrogen_feed.pressure.fix(350000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Fixing unit model specifications\n", - "\n", - "Now that we have fixed our inlet feed conditions, we will now be fixing the operating conditions for the unit models in the flowsheet. Let us set the H101 outlet temperature to 600 K. " - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [], - "source": [ - "# Fix the temperature of the outlet from the heater H101\n", - "m.fs.H101.outlet.temperature.fix(600)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Set the conditions for the reactor R101 to the following conditions:\n", - "
    \n", - "
  • `conversion` = 0.75
  • \n", - "
  • `heat_duty` = 0
  • \n", - "
\n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Fix the 'conversion' of the reactor R101\n", - "m.fs.R101.conversion.fix(0.75)\n", - "\n", - "# Todo: Fix the 'heat_duty' of the reactor R101\n", - "m.fs.R101.heat_duty.fix(0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The Flash conditions for F101 can be set as follows. " - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": {}, - "outputs": [], - "source": [ - "# Fix the temperature of the vapor outlet from F101\n", - "m.fs.F101.vap_outlet.temperature.fix(325.0)\n", - "\n", - "# Fix the pressure drop in the flash F101\n", - "m.fs.F101.deltaP.fix(0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us fix the split fraction of the purge stream from the splitter S101 and the outlet pressure from the compressor C101" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [], - "source": [ - "# Fix the split fraction of the 'purge' stream from S101\n", - "m.fs.S101.split_fraction[0, \"purge\"].fix(0.2)\n", - "\n", - "# Fix the pressure of the outlet from the compressor C101\n", - "m.fs.C101.outlet.pressure.fix(350000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finally, let us fix the temperature of the outlet from H102 and the pressure drop in H102 as the following" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [], - "source": [ - "# Fix the temperature of the outlet from the heater H102\n", - "m.fs.H102.outlet.temperature.fix(375)\n", - "\n", - "# Fix the pressure drop in the heater H102\n", - "m.fs.H102.deltaP.fix(-200000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To avoid convergence issues associated with poorly scaled variables and/or constraints, we scale the variables and constraints corresponding to the heaters H101 and H102, flash F101 and the reactor R101. Scaling factors for the flow rates, temperature, pressure, etc. have been defined in the property package: `ideal_VLE.py` file. Here, we set scaling factors only for the heat duty of the heater, the reaction extent, heat duty and volume of the reactor." - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].flow_mol_phase\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enth_mol_phase_comp[Liq,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enth_mol_phase_comp[Liq,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enth_mol_phase_comp[Vap,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enth_mol_phase_comp[Vap,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].enth_mol_phase_comp[Liq,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].enth_mol_phase_comp[Liq,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].enth_mol_phase_comp[Vap,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].enth_mol_phase_comp[Vap,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].material_flow_terms[Liq,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].material_flow_terms[Vap,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].material_flow_terms[Liq,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].material_flow_terms[Vap,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enthalpy_flow_terms[Liq], enthalpy_flow_terms\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enthalpy_flow_terms[Vap], enthalpy_flow_terms\n" - ] - } - ], - "source": [ - "# Set scaling factors for heat duty, reaction extent and volume\n", - "iscale.set_scaling_factor(m.fs.H101.control_volume.heat, 1e-2)\n", - "iscale.set_scaling_factor(m.fs.R101.control_volume.heat, 1e-2)\n", - "iscale.set_scaling_factor(m.fs.R101.control_volume.rate_reaction_extent, 1)\n", - "iscale.set_scaling_factor(m.fs.R101.control_volume.volume, 1)\n", - "iscale.set_scaling_factor(m.fs.F101.control_volume.heat, 1e-2)\n", - "iscale.set_scaling_factor(m.fs.H102.control_volume.heat, 1e-2)\n", - "\n", - "# Set the scaling factors for the remaining variables and all constraints\n", - "iscale.calculate_scaling_factors(m.fs.H101)\n", - "iscale.calculate_scaling_factors(m.fs.R101)\n", - "iscale.calculate_scaling_factors(m.fs.F101)\n", - "iscale.calculate_scaling_factors(m.fs.H102)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "We have now defined all the feed conditions and the inputs required for the unit models. The system should now have 0 degrees of freedom i.e. should be a square problem. Please check that the degrees of freedom is 0. \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0\n" - ] - } - ], - "source": [ - "# Todo: Check the degrees of freedom\n", - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "# Check the degrees of freedom\n", - "assert degrees_of_freedom(m) == 0" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Initialization\n", - "\n", - "This subsection will demonstrate how to use the built-in sequential decomposition tool to initialize our flowsheet.\n", - "\n", - "Let us first create an object for the `SequentialDecomposition` and specify our options for this. " - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "metadata": {}, - "outputs": [], - "source": [ - "seq = SequentialDecomposition()\n", - "seq.options.select_tear_method = \"heuristic\"\n", - "seq.options.tear_method = \"Wegstein\"\n", - "seq.options.iterLim = 3\n", - "\n", - "# Using the SD tool\n", - "G = seq.create_graph(m)\n", - "heuristic_tear_set = seq.tear_set_arcs(G, method=\"heuristic\")\n", - "order = seq.calculation_order(G)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Which is the tear stream? Display tear set and order" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "fs.s03\n" - ] - } - ], - "source": [ - "for o in heuristic_tear_set:\n", - " print(o.name)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "What sequence did the SD tool determine to solve this flowsheet with the least number of tears? " - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "fs.H101\n", - "fs.R101\n", - "fs.F101\n", - "fs.S101\n", - "fs.C101\n", - "fs.M101\n" - ] - } - ], - "source": [ - "for o in order:\n", - " print(o[0].name)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The SequentialDecomposition tool has determined that the tear stream is the mixer outlet (s03 in the Figure above). We will need to provide a reasonable guess for this.\n", - "\n", - "For the initial guess, we assume that the flowrate of the recycle stream (s09) is zero. Consequently, the flow rate of the stream s03 is simply the sum of the flowrates of the toluene feed and hydrogen feed streams. Further, since the temperature and the pressure of both the toluene and hydrogen feed streams are the same, we specify their values as the initial guess for the temperature and pressure of the stream s03." - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "metadata": {}, - "outputs": [], - "source": [ - "tear_guesses = {\n", - " \"flow_mol_phase_comp\": {\n", - " (0, \"Vap\", \"benzene\"): 1e-5,\n", - " (0, \"Vap\", \"toluene\"): 1e-5,\n", - " (0, \"Vap\", \"hydrogen\"): 0.30,\n", - " (0, \"Vap\", \"methane\"): 0.02,\n", - " (0, \"Liq\", \"benzene\"): 1e-5,\n", - " (0, \"Liq\", \"toluene\"): 0.30,\n", - " (0, \"Liq\", \"hydrogen\"): 1e-5,\n", - " (0, \"Liq\", \"methane\"): 1e-5,\n", - " },\n", - " \"temperature\": {0: 303.2},\n", - " \"pressure\": {0: 350000},\n", - "}\n", - "\n", - "# Pass the tear_guess to the SD tool\n", - "seq.set_guesses_for(m.fs.H101.inlet, tear_guesses)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we need to tell the tool how to initialize a particular unit. We will be writing a python function which takes in a \"unit\" and calls the initialize method on that unit. For the initialization, we will import a Block Triangularization Initializer which decomposes the model into a set of subproblems. These subproblems are solved using a block triangularization transformation before applying a simple Newton or user-selected solver. Methods such as block triangularization often solve faster and yield more reliable behavior than heuristic methods, but sometime struggle to decompose models with strongly coupled equations (e.g. column models, systems with counter-current flow, vapor-liquid equilibrium)." - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "metadata": {}, - "outputs": [], - "source": [ - "def function(unit):\n", - " # Try initializing using default initializer,\n", - " # if it fails (probably due to scaling) try for the second time\n", - " try:\n", - " initializer = unit.default_initializer()\n", - " initializer.initialize(unit, output_level=idaeslog.INFO)\n", - " except InitializationError:\n", - " solver = get_solver()\n", - " solver.solve(unit)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We are now ready to initialize our flowsheet in a sequential mode. Note that we specifically set the iteration limit to be 3 as we are trying to use this tool only to get a good set of initial values such that IPOPT can then take over and solve this flowsheet for us. " - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-08-28 18:38:14 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:16 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:16 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:16 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 12\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 50 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:18 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:18 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:18 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 1 optimal - .\n", - "2024-08-28 18:38:18 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 2 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 3 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 4 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 5 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 1 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 2 optimal - .\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 3 optimal - .\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 4 optimal - .\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 5 optimal - .\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:21 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:21 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "2024-08-28 18:38:21 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:21 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 11\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 50 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "2024-08-28 18:38:24 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:24 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 11\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 50 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "2024-08-28 18:38:24 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:24 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "2024-08-28 18:38:29 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:29 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:29 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:29 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "WARNING: Wegstein failed to converge in 3 iterations\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 1 optimal - .\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 2 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 3 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 4 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 5 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 1 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 2 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 3 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 4 optimal - .\n", - "2024-08-28 18:38:33 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 5 optimal - .\n" - ] - } - ], - "source": [ - "seq.run(m, function)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "We have now initialized the flowsheet. Let us run the flowsheet in a simulation mode to look at the results. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'scaling_factor' that contains 6\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 150 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 1097\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 877\n", - "\n", - "Total number of variables............................: 363\n", - " variables with only lower bounds: 8\n", - " variables with lower and upper bounds: 155\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 363\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 3.82e+04 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 8.69e+03 1.44e+03 -1.0 2.00e+04 - 9.71e-01 4.67e-01H 1\n", - " 2 0.0000000e+00 1.29e+03 1.56e+03 -1.0 1.60e+04 - 9.79e-01 4.90e-01h 1\n", - " 3 0.0000000e+00 1.18e+03 1.55e+05 -1.0 1.40e+04 - 9.90e-01 4.99e-01h 1\n", - " 4 0.0000000e+00 5.46e+02 2.32e+09 -1.0 8.42e+03 - 1.00e+00 9.82e-01h 1\n", - " 5 0.0000000e+00 5.46e+03 3.66e+10 -1.0 5.97e+02 - 1.00e+00 9.90e-01h 1\n", - " 6 0.0000000e+00 1.21e+03 8.01e+09 -1.0 5.75e+00 - 1.00e+00 1.00e+00h 1\n", - " 7 0.0000000e+00 6.41e+00 3.87e+07 -1.0 1.53e-03 - 1.00e+00 1.00e+00f 1\n", - " 8 0.0000000e+00 1.96e-04 9.36e+02 -1.0 7.28e-06 - 1.00e+00 1.00e+00h 1\n", - " 9 0.0000000e+00 2.24e-08 4.99e-01 -3.8 5.92e-08 - 1.00e+00 1.00e+00h 1\n", - "Cannot recompute multipliers for feasibility problem. Error in eq_mult_calculator\n", - "\n", - "Number of Iterations....: 9\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 1.5042487592972509e+04 1.5042487592972509e+04\n", - "Constraint violation....: 2.9103830456733704e-11 2.2351741790771484e-08\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.9103830456733704e-11 1.5042487592972509e+04\n", - "\n", - "\n", - "Number of objective function evaluations = 11\n", - "Number of objective gradient evaluations = 10\n", - "Number of equality constraint evaluations = 11\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 10\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 9\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.011\n", - "Total CPU secs in NLP function evaluations = 0.001\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], - "source": [ - "# Create the solver object\n", - "solver = get_solver()\n", - "\n", - "# Solve the model\n", - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "# Check solver solve status\n", - "from pyomo.environ import TerminationCondition\n", - "\n", - "assert results.solver.termination_condition == TerminationCondition.optimal" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Add distillation column \n", - "\n", - "As mentioned earlier, the `SequentialDecomposition` tool currently does not support the distillation column model. Thus, we have not included the distillation column in the flowsheet. Now that we have a converged flowsheet, we will add the distillation column and simulate the entire flowsheet. \n", - "\n", - "In the following, we will\n", - "- Add the distillation column \n", - "- Connect it to the heater \n", - "- Add the necessary equality constraints\n", - "- Propagate the state variable information from the outlet of the heater to the inlet of the distillation column \n", - "- Fix the degrees of freedom of the distillation block (reflux ratio, boilup ratio, and condenser pressure)\n", - "- Scale the control volume heat variables to help convergence\n", - "- Initialize the distillation block.\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].material_flow_terms[Liq,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].material_flow_terms[Vap,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].material_flow_terms[Liq,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].material_flow_terms[Vap,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].enthalpy_flow_terms[Liq], enthalpy_flow_terms\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].enthalpy_flow_terms[Vap], enthalpy_flow_terms\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].material_flow_terms[Liq,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].material_flow_terms[Vap,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].material_flow_terms[Liq,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].material_flow_terms[Vap,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].enthalpy_flow_terms[Liq], enthalpy_flow_terms\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].enthalpy_flow_terms[Vap], enthalpy_flow_terms\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.e_flow_reflux[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.e_mole_frac_reflux[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.e_mole_frac_reflux[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.e_flow_vapor_reboil[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.e_mole_frac_vapor_reboil[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.e_mole_frac_vapor_reboil[0.0,toluene]\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101: Begin initialization.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray: Begin initialization.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: State Released.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: State Released.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: State Released.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: State Released.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume: Initialization Complete\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser: Initialization Complete, optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: State Released.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: State Released.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler: Initialization Complete, optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: State Released.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.rectification_section[1]: Begin initialization.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: State Released.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: State Released.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[2]: Begin initialization.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: State Released.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[2]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[2]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: State Released.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: State Released.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3]: Begin initialization.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: State Released.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: State Released.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: State Released.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4]: Begin initialization.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: State Released.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: State Released.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6]: Begin initialization.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: State Released.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: State Released.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[7]: Begin initialization.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: State Released.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[7]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[7]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: State Released.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: State Released.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8]: Begin initialization.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: State Released.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: State Released.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: State Released.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9]: Begin initialization.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: State Released.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: State Released.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: State Released.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10]: Begin initialization.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: State Released.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: State Released.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101: Rectification section initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101: Stripping section initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: State Released.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: State Released.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101: Column section initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: State Released.\n", - "2024-08-28 18:39:02 [INFO] idaes.init.fs.D101: Column section + Condenser initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:02 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: State Released.\n", - "2024-08-28 18:39:03 [INFO] idaes.init.fs.D101: Column section + Condenser + Reboiler initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:03 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: State Released.\n" - ] - } - ], - "source": [ - "# Add distillation column to the flowsheet\n", - "m.fs.D101 = TrayColumn(\n", - " number_of_trays=10,\n", - " feed_tray_location=5,\n", - " condenser_type=CondenserType.totalCondenser,\n", - " condenser_temperature_spec=TemperatureSpec.atBubblePoint,\n", - " property_package=m.fs.BT_params,\n", - ")\n", - "\n", - "# Connect the outlet from the heater H102 to the distillation column\n", - "m.fs.s11 = Arc(source=m.fs.H102.outlet, destination=m.fs.D101.feed)\n", - "\n", - "# Add the necessary equality constraints\n", - "TransformationFactory(\"network.expand_arcs\").apply_to(m)\n", - "\n", - "# Propagate the state\n", - "propagate_state(m.fs.s11)\n", - "\n", - "# Fix the reflux ratio, boilup ratio, and the condenser pressure\n", - "m.fs.D101.condenser.reflux_ratio.fix(0.5)\n", - "m.fs.D101.reboiler.boilup_ratio.fix(0.5)\n", - "m.fs.D101.condenser.condenser_pressure.fix(150000)\n", - "\n", - "# set scaling factors\n", - "# Set scaling factors for heat duty\n", - "iscale.set_scaling_factor(m.fs.D101.condenser.control_volume.heat, 1e-2)\n", - "iscale.set_scaling_factor(m.fs.D101.reboiler.control_volume.heat, 1e-2)\n", - "\n", - "# Set the scaling factors for the remaining variables and all constraints\n", - "iscale.calculate_scaling_factors(m.fs.D101)\n", - "\n", - "# Initialize the distillation column\n", - "m.fs.D101.initialize(outlvl=idaeslog.INFO)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding expressions to compute capital and operating costs\n", - "\n", - "In this section, we will add a few Expressions that allow us to evaluate the performance. Expressions provide a convenient way of calculating certain values that are a function of the variables defined in the model. For more details on Expressions, please refer to: https://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "metadata": {}, - "outputs": [], - "source": [ - "# Expression to compute the total cooling cost\n", - "m.fs.cooling_cost = Expression(\n", - " expr=0.25e-7 * (-m.fs.F101.heat_duty[0])\n", - " + 0.2e-7 * (-m.fs.D101.condenser.heat_duty[0])\n", - ")\n", - "\n", - "# Expression to compute the total heating cost\n", - "m.fs.heating_cost = Expression(\n", - " expr=2.2e-7 * m.fs.H101.heat_duty[0]\n", - " + 1.2e-7 * m.fs.H102.heat_duty[0]\n", - " + 1.9e-7 * m.fs.D101.reboiler.heat_duty[0]\n", - ")\n", - "\n", - "# Expression to compute the total operating cost\n", - "m.fs.operating_cost = Expression(\n", - " expr=(3600 * 24 * 365 * (m.fs.heating_cost + m.fs.cooling_cost))\n", - ")\n", - "\n", - "# Expression to compute the total capital cost\n", - "m.fs.capital_cost = Expression(expr=1e5 * m.fs.R101.volume[0])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Solve the entire flowsheet" - ] - }, - { - "cell_type": "code", - "execution_count": 52, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "# Check that the degrees of freedom is zero\n", - "assert degrees_of_freedom(m) == 0" - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 150 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 4042\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 2376\n", - "\n", - "Total number of variables............................: 1169\n", - " variables with only lower bounds: 112\n", - " variables with lower and upper bounds: 365\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 1169\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 3.83e+04 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 8.70e+03 1.50e+03 -1.0 3.69e+04 - 9.71e-01 4.62e-01H 1\n", - " 2 0.0000000e+00 1.53e+03 1.56e+03 -1.0 6.75e+03 - 9.77e-01 4.89e-01h 1\n", - " 3 0.0000000e+00 1.37e+03 1.55e+05 -1.0 9.37e+03 - 9.90e-01 4.99e-01h 1\n", - " 4 0.0000000e+00 6.14e+02 2.31e+09 -1.0 6.09e+03 - 1.00e+00 9.81e-01h 1\n", - " 5 0.0000000e+00 5.32e+03 3.62e+10 -1.0 5.56e+02 - 1.00e+00 9.90e-01h 1\n", - " 6 0.0000000e+00 1.16e+03 7.80e+09 -1.0 5.36e+00 - 1.00e+00 1.00e+00h 1\n", - " 7 0.0000000e+00 5.96e+00 3.64e+07 -1.0 1.47e-03 - 1.00e+00 1.00e+00f 1\n", - " 8 0.0000000e+00 1.69e-04 8.15e+02 -1.0 6.77e-06 - 1.00e+00 1.00e+00h 1\n", - " 9 0.0000000e+00 7.45e-09 6.64e-03 -3.8 2.00e-07 - 1.00e+00 1.00e+00h 1\n", - "Cannot recompute multipliers for feasibility problem. Error in eq_mult_calculator\n", - "\n", - "Number of Iterations....: 9\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 1.5042483516409773e+04 1.5042483516409773e+04\n", - "Constraint violation....: 2.9103830456733704e-11 7.4505805969238281e-09\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.9103830456733704e-11 1.5042483516409773e+04\n", - "\n", - "\n", - "Number of objective function evaluations = 11\n", - "Number of objective gradient evaluations = 10\n", - "Number of equality constraint evaluations = 11\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 10\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 9\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.083\n", - "Total CPU secs in NLP function evaluations = 0.013\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 1169, 'Number of variables': 1169, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.2022566795349121}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 53, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "# Check solver solve status\n", - "from pyomo.environ import TerminationCondition\n", - "\n", - "assert results.solver.termination_condition == TerminationCondition.optimal" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Analyze the Results of the Square Problem\n", - "\n", - "How much is the total cost (operating cost + capital cost), operating cost, capital cost, benzene purity in the distillate from the distilation column, and conversion of toluene in the reactor?" - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "total cost = $ 442301.47075252194\n", - "operating cost = $ 427596.73056805483\n", - "capital cost = $ 14704.740184467111\n", - "\n", - "Distillate flowrate = 0.16196898920633368 mol/s\n", - "Benzene purity = 89.4916166580088 %\n", - "Residue flowrate = 0.10515007120697904 mol/s\n", - "Toluene purity = 43.32260291055251 %\n", - "\n", - "Conversion = 75.0 %\n", - "\n", - "Overhead benzene loss in F101 = 42.161938483603194 %\n" - ] - } - ], - "source": [ - "print(\"total cost = $\", value(m.fs.capital_cost) + value(m.fs.operating_cost))\n", - "print(\"operating cost = $\", value(m.fs.operating_cost))\n", - "print(\"capital cost = $\", value(m.fs.capital_cost))\n", - "print()\n", - "print(\n", - " \"Distillate flowrate = \",\n", - " value(m.fs.D101.condenser.distillate.flow_mol[0]()),\n", - " \"mol/s\",\n", - ")\n", - "print(\n", - " \"Benzene purity = \",\n", - " 100 * value(m.fs.D101.condenser.distillate.mole_frac_comp[0, \"benzene\"]),\n", - " \"%\",\n", - ")\n", - "print(\"Residue flowrate = \", value(m.fs.D101.reboiler.bottoms.flow_mol[0]()), \"mol/s\")\n", - "print(\n", - " \"Toluene purity = \",\n", - " 100 * value(m.fs.D101.reboiler.bottoms.mole_frac_comp[0, \"toluene\"]),\n", - " \"%\",\n", - ")\n", - "print()\n", - "print(\"Conversion = \", 100 * value(m.fs.R101.conversion), \"%\")\n", - "print()\n", - "print(\n", - " \"Overhead benzene loss in F101 = \",\n", - " 100\n", - " * value(m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"])\n", - " / value(m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]),\n", - " \"%\",\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 56, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "427596.73056805483\n", - "14704.740184467111\n" - ] - } - ], - "source": [ - "import pytest\n", - "\n", - "print(value(m.fs.operating_cost))\n", - "assert value(m.fs.operating_cost) == pytest.approx(427596.731, abs=100)\n", - "print(value(m.fs.capital_cost))\n", - "assert value(m.fs.capital_cost) == pytest.approx(14704.740, abs=100)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Get the state of the streams entering and leaving the reactor R101" - ] - }, - { - "cell_type": "code", - "execution_count": 57, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.R101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 0.0000 : watt : True : (None, None)\n", - " Volume : 0.14705 : meter ** 3 : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol_phase_comp ('Liq', 'benzene') mole / second 1.2993e-07 1.2993e-07\n", - " flow_mol_phase_comp ('Liq', 'toluene') mole / second 8.4147e-07 8.4147e-07\n", - " flow_mol_phase_comp ('Liq', 'methane') mole / second 1.0000e-12 1.0000e-12\n", - " flow_mol_phase_comp ('Liq', 'hydrogen') mole / second 1.0000e-12 1.0000e-12\n", - " flow_mol_phase_comp ('Vap', 'benzene') mole / second 0.11936 0.35374\n", - " flow_mol_phase_comp ('Vap', 'toluene') mole / second 0.31252 0.078129\n", - " flow_mol_phase_comp ('Vap', 'methane') mole / second 1.0377 1.2721\n", - " flow_mol_phase_comp ('Vap', 'hydrogen') mole / second 0.56260 0.32821\n", - " temperature kelvin 600.00 771.85\n", - " pressure pascal 3.5000e+05 3.5000e+05\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "m.fs.R101.report()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Get the state of the streams entering and leaving the reactor R101" - ] - }, - { - "cell_type": "code", - "execution_count": 58, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.F101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -70343. : watt : False : (None, None)\n", - " Pressure Change : 0.0000 : pascal : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Vapor Outlet Liquid Outlet\n", - " flow_mol_phase_comp ('Liq', 'benzene') mole / second 1.2993e-07 1.0000e-08 0.20460 \n", - " flow_mol_phase_comp ('Liq', 'toluene') mole / second 8.4147e-07 1.0000e-08 0.062520 \n", - " flow_mol_phase_comp ('Liq', 'methane') mole / second 1.0000e-12 1.0000e-08 2.6712e-07 \n", - " flow_mol_phase_comp ('Liq', 'hydrogen') mole / second 1.0000e-12 1.0000e-08 2.6712e-07 \n", - " flow_mol_phase_comp ('Vap', 'benzene') mole / second 0.35374 0.14915 1.0000e-08 \n", - " flow_mol_phase_comp ('Vap', 'toluene') mole / second 0.078129 0.015610 1.0000e-08 \n", - " flow_mol_phase_comp ('Vap', 'methane') mole / second 1.2721 1.2721 1.0000e-08 \n", - " flow_mol_phase_comp ('Vap', 'hydrogen') mole / second 0.32821 0.32821 1.0000e-08 \n", - " temperature kelvin 771.85 325.00 325.00 \n", - " pressure pascal 3.5000e+05 3.5000e+05 3.5000e+05 \n", - "====================================================================================\n" - ] - } - ], - "source": [ - "m.fs.F101.report()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, let's look at how much benzene we are losing with the light gases out of F101. IDAES has tools for creating stream tables based on the `Arcs` and/or `Ports` in a flowsheet. Let us create and print a simple stream table showing the stream leaving the reactor and the vapor stream from F101.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "How much benzene are we losing in the F101 vapor outlet stream?\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 59, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Units Reactor Light Gases\n", - "flow_mol_phase_comp ('Liq', 'benzene') mole / second 1.2993e-07 1.0000e-08 \n", - "flow_mol_phase_comp ('Liq', 'toluene') mole / second 8.4147e-07 1.0000e-08 \n", - "flow_mol_phase_comp ('Liq', 'methane') mole / second 1.0000e-12 1.0000e-08 \n", - "flow_mol_phase_comp ('Liq', 'hydrogen') mole / second 1.0000e-12 1.0000e-08 \n", - "flow_mol_phase_comp ('Vap', 'benzene') mole / second 0.35374 0.14915 \n", - "flow_mol_phase_comp ('Vap', 'toluene') mole / second 0.078129 0.015610 \n", - "flow_mol_phase_comp ('Vap', 'methane') mole / second 1.2721 1.2721 \n", - "flow_mol_phase_comp ('Vap', 'hydrogen') mole / second 0.32821 0.32821 \n", - "temperature kelvin 771.85 325.00 \n", - "pressure pascal 3.5000e+05 3.5000e+05 \n" - ] - } - ], - "source": [ - "from idaes.core.util.tables import (\n", - " create_stream_table_dataframe,\n", - " stream_table_dataframe_to_string,\n", - ")\n", - "\n", - "st = create_stream_table_dataframe({\"Reactor\": m.fs.s05, \"Light Gases\": m.fs.s06})\n", - "print(stream_table_dataframe_to_string(st))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "You can query additional variables here if you like. \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Optimization\n", - "\n", - "\n", - "We saw from the results above that the total operating cost for the base case was $442,297 per year. We are producing 0.162 mol/s of benzene at a purity of 89.5%. However, we are losing around 43.3% of benzene in F101 vapor outlet stream. \n", - "\n", - "Let us try to minimize this cost such that:\n", - "- we are producing at least 0.18 mol/s of benzene as distillate i.e. our product stream\n", - "- purity of benzene i.e. the mole fraction of benzene in the distillate is at least 99%\n", - "- restricting the benzene loss in F101 vapor outlet to less than 20%\n", - "\n", - "For this problem, our decision variables are as follows:\n", - "- H101 outlet temperature\n", - "- R101 outlet temperature\n", - "- F101 outlet temperature\n", - "- H102 outlet temperature\n", - "- Condenser pressure\n", - "- reflux ratio\n", - "- boilup ratio\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us declare our objective function for this problem. " - ] - }, - { - "cell_type": "code", - "execution_count": 60, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.objective = Objective(expr=m.fs.operating_cost + m.fs.capital_cost)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, we need to unfix the decision variables as we had solved a square problem (degrees of freedom = 0) until now. " - ] - }, - { - "cell_type": "code", - "execution_count": 61, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.H101.outlet.temperature.unfix()\n", - "m.fs.R101.conversion.unfix()\n", - "m.fs.F101.vap_outlet.temperature.unfix()\n", - "m.fs.D101.condenser.condenser_pressure.unfix()\n", - "m.fs.D101.condenser.reflux_ratio.unfix()\n", - "m.fs.D101.reboiler.boilup_ratio.unfix()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Let us now unfix the remaining variable: the temperature of the outlet from H102\n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 63, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Unfix the temperature of the outlet from H102\n", - "m.fs.H102.outlet.temperature.unfix()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we need to set bounds on these decision variables to values shown below:\n", - "\n", - " - H101 outlet temperature [500, 600] K\n", - " - R101 outlet temperature [600, 900] K\n", - " - F101 outlet temperature [298, 450] K\n", - " - H102 outlet temperature [350, 400] K\n", - " - D101 condenser pressure [101325, 150000] Pa\n", - " - D101 reflux ratio [0.1, 5]\n", - " - D101 boilup ratio [0.1, 5]" - ] - }, - { - "cell_type": "code", - "execution_count": 64, - "metadata": {}, - "outputs": [], - "source": [ - "# Set bounds on the temperature of the outlet from H101\n", - "m.fs.H101.outlet.temperature[0].setlb(500)\n", - "m.fs.H101.outlet.temperature[0].setub(600)\n", - "\n", - "# Set bounds on the temperature of the outlet from R101\n", - "m.fs.R101.outlet.temperature[0].setlb(600)\n", - "m.fs.R101.outlet.temperature[0].setub(900)\n", - "\n", - "# Set bounds on the volume of the reactor R101\n", - "m.fs.R101.volume[0].setlb(0)\n", - "\n", - "# Set bounds on the temperature of the vapor outlet from F101\n", - "m.fs.F101.vap_outlet.temperature[0].setlb(298)\n", - "m.fs.F101.vap_outlet.temperature[0].setub(450.0)\n", - "\n", - "# Set bounds on the temperature of the outlet from H102\n", - "m.fs.H102.outlet.temperature[0].setlb(350)\n", - "m.fs.H102.outlet.temperature[0].setub(400)\n", - "\n", - "# Set bounds on the pressure inside the condenser\n", - "m.fs.D101.condenser.condenser_pressure.setlb(101325)\n", - "m.fs.D101.condenser.condenser_pressure.setub(150000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Now, set the bounds for the D101 reflux ratio and boilup ratio.\n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 66, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Set bounds on the reflux ratio\n", - "m.fs.D101.condenser.reflux_ratio.setlb(0.1)\n", - "m.fs.D101.condenser.reflux_ratio.setub(5)\n", - "\n", - "# Todo: Set bounds on the boilup ratio\n", - "m.fs.D101.reboiler.boilup_ratio.setlb(0.1)\n", - "m.fs.D101.reboiler.boilup_ratio.setub(5)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, the only things left to define are our constraints on overhead loss in F101, distillate flowrate and its purity. Let us first look at defining a constraint for the overhead loss in F101 where we are restricting the benzene leaving the vapor stream to less than 20 % of the benzene available in the reactor outlet. " - ] - }, - { - "cell_type": "code", - "execution_count": 67, - "metadata": {}, - "outputs": [], - "source": [ - "# Ensure that the overhead loss of benzene from F101 <= 20%\n", - "m.fs.overhead_loss = Constraint(\n", - " expr=m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", - " <= 0.20 * m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Now, add the constraint such that we are producing at least 0.18 mol/s of benzene in the product stream which is the distillate of D101. Let us name this constraint as m.fs.product_flow. \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 69, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add minimum product flow constraint\n", - "m.fs.product_flow = Constraint(expr=m.fs.D101.condenser.distillate.flow_mol[0] >= 0.18)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us add the final constraint on product purity or the mole fraction of benzene in the distillate such that it is at least greater than 99%. " - ] - }, - { - "cell_type": "code", - "execution_count": 70, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.product_purity = Constraint(\n", - " expr=m.fs.D101.condenser.distillate.mole_frac_comp[0, \"benzene\"] >= 0.99\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "We have now defined the optimization problem and we are now ready to solve this problem. \n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 71, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'scaling_factor' that contains 3\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 150 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 4073\n", - "Number of nonzeros in inequality constraint Jacobian.: 6\n", - "Number of nonzeros in Lagrangian Hessian.............: 2391\n", - "\n", - "Total number of variables............................: 1176\n", - " variables with only lower bounds: 113\n", - " variables with lower and upper bounds: 372\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 1169\n", - "Total number of inequality constraints...............: 3\n", - " inequality constraints with only lower bounds: 2\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 1\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 4.4230147e+05 2.99e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 4.3753585e+05 2.91e+05 1.28e+02 -1.0 3.09e+06 - 3.58e-01 2.40e-02f 1\n", - " 2 4.3545100e+05 2.78e+05 1.55e+02 -1.0 1.78e+06 - 3.31e-01 4.74e-02h 1\n", - " 3 4.2822311e+05 2.20e+05 4.50e+02 -1.0 2.99e+06 - 2.95e-02 1.35e-01h 1\n", - " 4 4.2249096e+05 1.45e+05 1.43e+03 -1.0 7.01e+06 - 5.14e-01 2.03e-01h 1\n", - " 5 4.2194364e+05 8.17e+04 1.70e+04 -1.0 6.06e+06 - 5.97e-01 4.28e-01h 1\n", - " 6 4.2602765e+05 4.55e+04 1.10e+06 -1.0 4.32e+06 - 9.26e-01 5.07e-01h 1\n", - " 7 4.3776643e+05 2.03e+04 6.44e+09 -1.0 2.42e+06 - 9.90e-01 9.47e-01h 1\n", - " 8 4.3846260e+05 1.92e+04 6.05e+09 -1.0 4.42e+05 - 5.40e-01 5.74e-02h 1\n", - " 9 4.4529853e+05 4.05e+04 4.66e+10 -1.0 2.47e+05 - 9.96e-01 9.90e-01h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 4.4906283e+05 9.76e+03 1.10e+10 -1.0 1.12e+03 -4.0 1.26e-01 7.45e-01h 1\n", - " 11 4.5079086e+05 1.19e+03 1.54e+09 -1.0 5.63e+02 -4.5 3.77e-01 1.00e+00h 1\n", - " 12 4.5024224e+05 2.66e+00 3.67e+06 -1.0 6.61e+01 -5.0 1.00e+00 1.00e+00f 1\n", - " 13 4.4946170e+05 5.64e-01 9.29e+05 -1.0 1.81e+02 -5.4 1.00e+00 7.88e-01f 1\n", - " 14 4.4916780e+05 8.48e+00 1.62e+05 -1.0 2.83e+02 -5.9 1.00e+00 1.00e+00f 1\n", - " 15 4.4899127e+05 4.83e+00 9.07e+04 -1.0 1.01e+02 -6.4 1.00e+00 4.40e-01f 2\n", - " 16 4.4886718e+05 7.00e-01 4.61e+02 -1.0 2.35e+02 -6.9 1.00e+00 1.00e+00f 1\n", - " 17 4.4800159e+05 1.39e+02 4.52e+06 -3.8 1.17e+03 -7.3 9.79e-01 9.37e-01f 1\n", - " 18 4.4672196e+05 9.59e+02 1.22e+06 -3.8 4.55e+03 -7.8 1.00e+00 9.43e-01f 1\n", - " 19 4.4401667e+05 7.75e+03 1.55e+05 -3.8 1.08e+04 -8.3 1.00e+00 1.00e+00f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 20 4.4185035e+05 1.91e+04 1.36e+04 -3.8 1.33e+04 -8.8 1.00e+00 1.00e+00h 1\n", - " 21 4.4241001e+05 3.52e+03 5.96e+03 -3.8 2.94e+03 -9.2 1.00e+00 1.00e+00h 1\n", - " 22 4.4185237e+05 7.82e+00 2.91e+02 -3.8 7.13e+03 -9.7 2.39e-01 1.00e+00h 1\n", - " 23 4.4124091e+05 1.53e+01 3.11e+02 -3.8 4.82e+04 -10.2 8.59e-01 1.36e-01f 1\n", - " 24 4.4137379e+05 1.80e+00 2.91e+02 -3.8 1.41e+04 - 1.95e-01 1.00e+00h 1\n", - " 25 4.3862833e+05 1.70e+03 9.48e+04 -3.8 1.57e+07 - 1.29e-03 9.10e-02f 1\n", - " 26 4.3883308e+05 1.49e+03 8.46e+04 -3.8 1.02e+06 - 1.00e+00 1.35e-01h 1\n", - " 27 4.3885472e+05 2.18e+01 3.40e+03 -3.8 1.38e+05 - 1.00e+00 1.00e+00h 1\n", - " 28 4.3884160e+05 5.90e-02 6.38e+01 -3.8 8.66e+03 - 1.00e+00 1.00e+00h 1\n", - " 29 4.3884157e+05 6.48e-07 4.63e-04 -3.8 2.89e+01 - 1.00e+00 1.00e+00h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 30 4.3883990e+05 3.57e-01 2.38e+03 -5.7 8.19e+02 - 1.00e+00 1.00e+00f 1\n", - " 31 4.3883992e+05 3.50e-07 7.79e-06 -5.7 3.55e-01 - 1.00e+00 1.00e+00h 1\n", - " 32 4.3883990e+05 5.47e-05 3.63e-01 -8.0 1.01e+01 - 1.00e+00 1.00e+00h 1\n", - " 33 4.3883990e+05 2.24e-08 1.46e-07 -8.0 5.42e-05 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 33\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 4.3883989842628603e+02 4.3883989842628600e+05\n", - "Dual infeasibility......: 1.4600704448671754e-07 1.4600704448671753e-04\n", - "Constraint violation....: 2.9103830456733704e-11 2.2351741790771484e-08\n", - "Complementarity.........: 9.0909948039799681e-09 9.0909948039799686e-06\n", - "Overall NLP error.......: 9.0909948039799681e-09 1.4600704448671753e-04\n", - "\n", - "\n", - "Number of objective function evaluations = 35\n", - "Number of objective gradient evaluations = 34\n", - "Number of equality constraint evaluations = 35\n", - "Number of inequality constraint evaluations = 35\n", - "Number of equality constraint Jacobian evaluations = 34\n", - "Number of inequality constraint Jacobian evaluations = 34\n", - "Number of Lagrangian Hessian evaluations = 33\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.164\n", - "Total CPU secs in NLP function evaluations = 0.020\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], - "source": [ - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 72, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "# Check solver solve status\n", - "from pyomo.environ import TerminationCondition\n", - "\n", - "assert results.solver.termination_condition == TerminationCondition.optimal" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Optimization Results\n", - "\n", - "Display the results and product specifications" - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "total cost = $ 438839.898426286\n", - "operating cost = $ 408883.5314830889\n", - "capital cost = $ 29956.3669431971\n", - "\n", - "Distillate flowrate = 0.1799999900263989 mol/s\n", - "Benzene purity = 98.99999900049086 %\n", - "Residue flowrate = 0.1085161642426372 mol/s\n", - "Toluene purity = 15.676178086213548 %\n", - "\n", - "Conversion = 93.38705916369427 %\n", - "\n", - "Overhead benzene loss in F101 = 17.34061793115618 %\n" - ] - } - ], - "source": [ - "print(\"total cost = $\", value(m.fs.capital_cost) + value(m.fs.operating_cost))\n", - "print(\"operating cost = $\", value(m.fs.operating_cost))\n", - "print(\"capital cost = $\", value(m.fs.capital_cost))\n", - "print()\n", - "print(\n", - " \"Distillate flowrate = \",\n", - " value(m.fs.D101.condenser.distillate.flow_mol[0]()),\n", - " \"mol/s\",\n", - ")\n", - "print(\n", - " \"Benzene purity = \",\n", - " 100 * value(m.fs.D101.condenser.distillate.mole_frac_comp[0, \"benzene\"]),\n", - " \"%\",\n", - ")\n", - "print(\"Residue flowrate = \", value(m.fs.D101.reboiler.bottoms.flow_mol[0]()), \"mol/s\")\n", - "print(\n", - " \"Toluene purity = \",\n", - " 100 * value(m.fs.D101.reboiler.bottoms.mole_frac_comp[0, \"toluene\"]),\n", - " \"%\",\n", - ")\n", - "print()\n", - "print(\"Conversion = \", 100 * value(m.fs.R101.conversion), \"%\")\n", - "print()\n", - "print(\n", - " \"Overhead benzene loss in F101 = \",\n", - " 100\n", - " * value(m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"])\n", - " / value(m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]),\n", - " \"%\",\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 74, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "408883.5314830889\n", - "29956.3669431971\n" - ] + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "# HDA Flowsheet Simulation and Optimization\n", + "Maintainer: Brandon Paul \n", + "Author: Brandon Paul \n", + "Updated: 2023-06-01 \n", + "\n", + "\n", + "## Note\n", + "\n", + "This tutorial will be similar to the HDA flowsheet tutorial in the Tutorials section, except that we use a distillation column instead of a second flash (F102) to produce benzene and toluene products.\n", + "\n", + "\n", + "## Learning outcomes\n", + "\n", + "\n", + "- Construct a steady-state flowsheet using the IDAES unit model library\n", + "- Connecting unit models in a flowsheet using Arcs\n", + "- Using the SequentialDecomposition tool to initialize a flowsheet with recycle\n", + "- Fomulate and solve an optimization problem\n", + " - Defining an objective function\n", + " - Setting variable bounds\n", + " - Adding additional constraints \n", + "\n", + "\n", + "## Problem Statement\n", + "\n", + "Hydrodealkylation is a chemical reaction that often involves reacting\n", + "an aromatic hydrocarbon in the presence of hydrogen gas to form a\n", + "simpler aromatic hydrocarbon devoid of functional groups. In this\n", + "example, toluene will be reacted with hydrogen gas at high temperatures\n", + " to form benzene via the following reaction:\n", + "\n", + "**C6H5CH3 + H2 \u2192 C6H6 + CH4**\n", + "\n", + "\n", + "This reaction is often accompanied by an equilibrium side reaction\n", + "which forms diphenyl, which we will neglect for this example.\n", + "\n", + "This example is based on the 1967 AIChE Student Contest problem as\n", + "present by Douglas, J.M., Chemical Design of Chemical Processes, 1988,\n", + "McGraw-Hill.\n", + "\n", + "The flowsheet that we will be using for this module is shown below with the stream conditions. We will be processing toluene and hydrogen to produce at least 370 TPY of benzene. As shown in the flowsheet, we use a flash tank, F101, to separate out the non-condensibles, and a distillation column, D101, to further separate the benzene-toluene mixture to improve the benzene purity. The non-condensibles separated out in F101 will be partially recycled back to M101 and the rest will be purged. We will assume ideal gas behavior for this flowsheet. The properties required for this module are defined in\n", + "\n", + "- `hda_ideal_VLE.py`\n", + "- `idaes.models.properties.activity_coeff_models.BTX_activity_coeff_VLE`\n", + "- `hda_reaction.py`\n", + "\n", + "We will be using two thermodynamic packages: one (first in the list above) containing all four components (i.e., toluene, hydrogen, benzene, and methane) and the other (second in the list above) containing benzene and toluene only. The latter is needed to simplify the VLE calculations in the distillation column model. \n", + "\n", + "![](HDA_flowsheet_distillation.png)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Translator block\n", + "\n", + "Benzene and toluene are separated by distillation, so the process involves phase equilibrium and two-phase flow conditions. However, the presence of hydrogen and methane complicates the calculations. This is because, hydrogen and methane are non-condensable under all conditions of interest; ergo, a vapor phase will always be present, and the mixture bubble point is extremely low. To simplify the phase equilibrium calculations, hydrogen and methane will be considered completely as non-condensable and insoluble in the liquid outlet from the flash F101.\n", + "\n", + "Since no hydrogen and methane will be present in the unit operations following the flash, a different component list can be used to simplify the property calculations. IDAES supports the definition of multiple property packages within a single flowsheet via `Translator` blocks. `Translator` blocks convert between different property calculations, component lists, and equations of state. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing required pyomo and idaes components\n", + "\n", + "\n", + "To construct a flowsheet, we will need several components from the pyomo and idaes package. Let us first import the following components from Pyomo:\n", + "- Constraint (to write constraints)\n", + "- Var (to declare variables)\n", + "- ConcreteModel (to create the concrete model object)\n", + "- Expression (to evaluate values as a function of variables defined in the model)\n", + "- Objective (to define an objective function for optimization)\n", + "- SolverFactory (to solve the problem)\n", + "- TransformationFactory (to apply certain transformations)\n", + "- Arc (to connect two unit models)\n", + "- SequentialDecomposition (to initialize the flowsheet in a sequential mode)\n", + "\n", + "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/stable/\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import (\n", + " Constraint,\n", + " Var,\n", + " ConcreteModel,\n", + " Expression,\n", + " Objective,\n", + " TransformationFactory,\n", + " value,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Import `Arc` and `SequentialDecomposition` tools from `pyomo.network`\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Import the above mentioned tools from pyomo.network\n", + "from pyomo.network import Arc, SequentialDecomposition" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From IDAES, we will be needing the FlowsheetBlock and the following unit models:\n", + "- Mixer\n", + "- Heater\n", + "- CSTR\n", + "- Flash\n", + "- Separator (splitter) \n", + "- PressureChanger\n", + "- Translator (to switch from one property package to another)\n", + "- TrayColumn (distillation column)\n", + "- CondenserType (Type of the overhead condenser: complete or partial)\n", + "- TemperatureSpec (Temperature specification inside the condenser)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core import FlowsheetBlock" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.models.unit_models import (\n", + " PressureChanger,\n", + " Mixer,\n", + " Separator as Splitter,\n", + " Heater,\n", + " CSTR,\n", + " Flash,\n", + " Translator,\n", + ")\n", + "\n", + "from idaes.models_extra.column_models import TrayColumn\n", + "from idaes.models_extra.column_models.condenser import CondenserType, TemperatureSpec" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will also be needing some utility tools to put together the flowsheet and calculate the degrees of freedom. " + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# Utility tools to put together the flowsheet and calculate the degrees of freedom\n", + "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.core.util.initialization import propagate_state\n", + "from idaes.core.solvers import get_solver\n", + "import idaes.core.util.scaling as iscale\n", + "from idaes.core.util.exceptions import InitializationError\n", + "\n", + "# Import idaes logger to set output levels\n", + "import idaes.logger as idaeslog" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing required thermo and reaction packages\n", + "\n", + "Finally, we import the thermophysical (`ideal_VLE.py` and `BTXParameterBlock`) packages and reaction package (`reaction.py`) for the HDA process. We have created custom thermophysical packages that assume ideal gas behavior with support for VLE. The reaction package consists of the stochiometric coefficients for the reaction, heat of reaction, and kinetic information (Arrhenius constant and activation energy). " + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes_examples.mod.hda import hda_reaction as reaction_props\n", + "from idaes.models.properties.activity_coeff_models.BTX_activity_coeff_VLE import (\n", + " BTXParameterBlock,\n", + ")\n", + "\n", + "from idaes_examples.mod.hda.hda_ideal_VLE import HDAParameterBlock" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Constructing the Flowsheet\n", + "\n", + "We have now imported all the components, unit models, and property modules we need to construct a flowsheet. Let us create a ConcreteModel and add the flowsheet block to it. " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "# Create a Pyomo Concrete Model to contain the problem\n", + "m = ConcreteModel()\n", + "\n", + "# Add a steady state flowsheet block to the model\n", + "m.fs = FlowsheetBlock(dynamic=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now add the thermophysical and reaction packages to the flowsheet." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "# Property package for benzene, toluene, hydrogen, methane mixture\n", + "m.fs.BTHM_params = HDAParameterBlock()\n", + "\n", + "# Property package for the benzene-toluene mixture\n", + "m.fs.BT_params = BTXParameterBlock(\n", + " valid_phase=(\"Liq\", \"Vap\"), activity_coeff_model=\"Ideal\"\n", + ")\n", + "\n", + "# Reaction package for the HDA reaction\n", + "m.fs.reaction_params = reaction_props.HDAReactionParameterBlock(\n", + " property_package=m.fs.BTHM_params\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding Unit Models\n", + "\n", + "Let us start adding the unit models we have imported to the flowsheet. Here, we are adding the Mixer (assigned a name M101) and a Heater (assigned a name H101). Note that, all unit models need to be given a property package argument. In addition, the Mixer unit model needs a `list` consisting of the inlets (toluene feed, hydrogen feed and vapor recycle streams in this case). " + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "# Adding the mixer M101 to the flowsheet\n", + "m.fs.M101 = Mixer(\n", + " property_package=m.fs.BTHM_params,\n", + " inlet_list=[\"toluene_feed\", \"hydrogen_feed\", \"vapor_recycle\"],\n", + ")\n", + "\n", + "# Adding the heater H101 to the flowsheet\n", + "m.fs.H101 = Heater(property_package=m.fs.BTHM_params, has_phase_equilibrium=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Let us now add the CSTR (assign the name R101) and pass the following arguments:\n", + "
    \n", + "
  • \"property_package\": m.fs.BTHM_params
  • \n", + "
  • \"reaction_package\": m.fs.reaction_params
  • \n", + "
  • \"has_heat_of_reaction\": True
  • \n", + "
  • \"has_heat_transfer\": True
  • \n", + "
\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add reactor with the specifications above\n", + "m.fs.R101 = CSTR(\n", + " property_package=m.fs.BTHM_params,\n", + " reaction_package=m.fs.reaction_params,\n", + " has_heat_of_reaction=True,\n", + " has_heat_transfer=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us now add the Flash (assign the name F101), Splitter (assign the name S101) and PressureChanger (assign the name C101)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "# Adding the flash tank F101 to the flowsheet\n", + "m.fs.F101 = Flash(\n", + " property_package=m.fs.BTHM_params, has_heat_transfer=True, has_pressure_change=True\n", + ")\n", + "\n", + "# Adding the splitter S101 to the flowsheet\n", + "m.fs.S101 = Splitter(\n", + " property_package=m.fs.BTHM_params, outlet_list=[\"purge\", \"recycle\"]\n", + ")\n", + "\n", + "# Adding the compressor C101 to the flowsheet\n", + "m.fs.C101 = PressureChanger(\n", + " property_package=m.fs.BTHM_params,\n", + " compressor=True,\n", + " thermodynamic_assumption=ThermodynamicAssumption.isothermal,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Remark\n", + "\n", + "Currently, the `SequentialDecomposition()` tool, which we will later be using to initialize the flowsheet, does not support the distillation column model. Thus, we will first simulate the flowsheet without the distillation column. After it converges, we will then add the distillation column, initialize it, and simulate the entire flowsheet." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As mentioned above, we use the `m.fs.BTHM_params` package, which contains all the four species, for the reactor loop, and the simpler `m.fs.BT_params` for unit operations following the flash (i.e., heater H102 and the distillation column D101). We define a `Translator` block to link the source property package and the package it is to be translated to in the following manner:" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "# Add translator block to convert between property packages\n", + "m.fs.translator = Translator(\n", + " inlet_property_package=m.fs.BTHM_params, outlet_property_package=m.fs.BT_params\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Translator block constraints\n", + "\n", + "The `Translator` block needs to know how to translate between the two property packages. This must be custom coded for each application because of the generality of the IDAES framework.\n", + "\n", + "For this process, five constraints are required based on the state variables used in the outgoing process.\n", + "\n", + "- Since we assumed that only benzene and toluene are present in the liquid phase, the total molar flowrate must be the sum of molar flowrates of benzene and toluene, respectively.\n", + "- Temperature of the inlet and outlet streams must be the same.\n", + "- Pressure of the inlet and outgoing streams must be the same\n", + "- The mole fraction of benzene in the outgoing stream is the ratio of the molar flowrate of liquid benzene in the inlet to the sum of molar flowrates of liquid benzene and toluene in the inlet.\n", + "- The mole fraction of toluene in the outgoing stream is the ratio of the molar flowrate of liquid toluene in the inlet to the sum of molar flowrates of liquid benzene and toluene in the inlet." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "# Add constraint: Total flow = benzene flow + toluene flow (molar)\n", + "m.fs.translator.eq_total_flow = Constraint(\n", + " expr=m.fs.translator.outlet.flow_mol[0]\n", + " == m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", + " + m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", + ")\n", + "\n", + "# Add constraint: Outlet temperature = Inlet temperature\n", + "m.fs.translator.eq_temperature = Constraint(\n", + " expr=m.fs.translator.outlet.temperature[0] == m.fs.translator.inlet.temperature[0]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the above, note that the variable flow_mol_phase_comp has the index - [time, phase, component]. As this is a steady-state flowsheet, the time index by default is 0. The valid phases are [\"Liq\", \"Vap\"]. Similarly the valid component list is [\"benzene\", \"toluene\", \"hydrogen\", \"methane\"]." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Add the constraint to ensure that the outlet pressure is the same as the inlet pressure\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add constraint: Outlet pressure = Inlet pressure\n", + "m.fs.translator.eq_pressure = Constraint(\n", + " expr=m.fs.translator.outlet.pressure[0] == m.fs.translator.inlet.pressure[0]\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "# Remaining constraints on the translator block\n", + "\n", + "# Add constraint: Benzene mole fraction definition\n", + "m.fs.translator.eq_mole_frac_benzene = Constraint(\n", + " expr=m.fs.translator.outlet.mole_frac_comp[0, \"benzene\"]\n", + " == m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", + " / (\n", + " m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", + " + m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", + " )\n", + ")\n", + "\n", + "# Add constraint: Toluene mole fraction definition\n", + "m.fs.translator.eq_mole_frac_toluene = Constraint(\n", + " expr=m.fs.translator.outlet.mole_frac_comp[0, \"toluene\"]\n", + " == m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", + " / (\n", + " m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", + " + m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", + " )\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Finally, let us add the Heater H102 in the same way as H101 but pass the m.fs.BT_params thermodynamic package. We will add the distillation column after converging the flowsheet.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add the Heater H102 to the flowsheet\n", + "m.fs.H102 = Heater(\n", + " property_package=m.fs.BT_params,\n", + " has_pressure_change=True,\n", + " has_phase_equilibrium=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Connecting Unit Models using Arcs\n", + "\n", + "We have now added the initial set of unit models to the flowsheet. However, we have not yet specified how the units are connected. To do this, we will be using the `Arc` which is a pyomo component that takes in two arguments: `source` and `destination`. Let us connect the outlet of the mixer (M101) to the inlet of the heater (H101). " + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.H101.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "![](HDA_flowsheet_distillation.png) \n", + "\n", + "
\n", + "Inline Exercise:\n", + "Now, connect the H101 outlet to the R101 inlet using the cell above as a guide. \n", + "
\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Connect the H101 outlet to R101 inlet\n", + "m.fs.s04 = Arc(source=m.fs.H101.outlet, destination=m.fs.R101.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now be connecting the rest of the units as shown below. Notice how the outlet names are different for the flash tank as it has a vapor and a liquid outlet. " + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.s05 = Arc(source=m.fs.R101.outlet, destination=m.fs.F101.inlet)\n", + "m.fs.s06 = Arc(source=m.fs.F101.vap_outlet, destination=m.fs.S101.inlet)\n", + "m.fs.s08 = Arc(source=m.fs.S101.recycle, destination=m.fs.C101.inlet)\n", + "m.fs.s09 = Arc(source=m.fs.C101.outlet, destination=m.fs.M101.vapor_recycle)\n", + "m.fs.s10a = Arc(source=m.fs.F101.liq_outlet, destination=m.fs.translator.inlet)\n", + "m.fs.s10b = Arc(source=m.fs.translator.outlet, destination=m.fs.H102.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We have now connected the unit model block using the arcs. However, each of these arcs link to ports on the two unit models that are connected. In this case, the ports consist of the state variables that need to be linked between the unit models. Pyomo provides a convenient method to write these equality constraints for us between two ports and this is done as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "TransformationFactory(\"network.expand_arcs\").apply_to(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Appending additional constraints to the model\n", + "\n", + "Now, we will see how we can add additional constraints to the model using `Constraint` from Pyomo.\n", + "\n", + "Consider the reactor R101. By default, the conversion of a component is not calculated when we simulate the flowsheet. If we are interested either in specifying or constraining the conversion value, we can add the following constraint to calculate the conversion:\n", + "$$ \\text{Conversion of toluene} = \\frac{\\text{molar flow of toluene in the inlet} - \\text{molar flow of toluene in the outlet}}{\\text{molar flow of toluene in the inlet}} $$ \n", + "\n", + "We add the constraint to the model as shown below." + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "# Define the conversion variables using 'Var'\n", + "m.fs.R101.conversion = Var(initialize=0.75, bounds=(0, 1))\n", + "\n", + "# Append the constraint to the model\n", + "m.fs.R101.conv_constraint = Constraint(\n", + " expr=m.fs.R101.conversion * m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " == (\n", + " m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " - m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " )\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fixing feed conditions and Initializing the flowsheet\n", + "\n", + "Let us first check how many degrees of freedom exist for this flowsheet using the `degrees_of_freedom` tool we imported earlier. " + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "# Check the degrees of freedom\n", + "assert degrees_of_freedom(m) == 29" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now be fixing the toluene feed stream to the conditions shown in the flowsheet above. Please note that though this is a pure toluene feed, the remaining components are still assigned a very small non-zero value to help with convergence and initializing. " + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(0.30)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.temperature.fix(303.2)\n", + "m.fs.M101.toluene_feed.pressure.fix(350000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Similarly, let us fix the hydrogen feed to the following conditions in the next cell:\n", + "
    \n", + "
  • FH2 = 0.30 mol/s
  • \n", + "
  • FCH4 = 0.02 mol/s
  • \n", + "
  • Remaining components = 1e-5 mol/s
  • \n", + "
  • T = 303.2 K
  • \n", + "
  • P = 350000 Pa
  • \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(0.30)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(0.02)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.temperature.fix(303.2)\n", + "m.fs.M101.hydrogen_feed.pressure.fix(350000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Fixing unit model specifications\n", + "\n", + "Now that we have fixed our inlet feed conditions, we will now be fixing the operating conditions for the unit models in the flowsheet. Let us set the H101 outlet temperature to 600 K. " + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "# Fix the temperature of the outlet from the heater H101\n", + "m.fs.H101.outlet.temperature.fix(600)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Set the conditions for the reactor R101 to the following conditions:\n", + "
    \n", + "
  • `conversion` = 0.75
  • \n", + "
  • `heat_duty` = 0
  • \n", + "
\n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Fix the 'conversion' of the reactor R101\n", + "m.fs.R101.conversion.fix(0.75)\n", + "\n", + "# Todo: Fix the 'heat_duty' of the reactor R101\n", + "m.fs.R101.heat_duty.fix(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The Flash conditions for F101 can be set as follows. " + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [], + "source": [ + "# Fix the temperature of the vapor outlet from F101\n", + "m.fs.F101.vap_outlet.temperature.fix(325.0)\n", + "\n", + "# Fix the pressure drop in the flash F101\n", + "m.fs.F101.deltaP.fix(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us fix the split fraction of the purge stream from the splitter S101 and the outlet pressure from the compressor C101" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [], + "source": [ + "# Fix the split fraction of the 'purge' stream from S101\n", + "m.fs.S101.split_fraction[0, \"purge\"].fix(0.2)\n", + "\n", + "# Fix the pressure of the outlet from the compressor C101\n", + "m.fs.C101.outlet.pressure.fix(350000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, let us fix the temperature of the outlet from H102 and the pressure drop in H102 as the following" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [], + "source": [ + "# Fix the temperature of the outlet from the heater H102\n", + "m.fs.H102.outlet.temperature.fix(375)\n", + "\n", + "# Fix the pressure drop in the heater H102\n", + "m.fs.H102.deltaP.fix(-200000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To avoid convergence issues associated with poorly scaled variables and/or constraints, we scale the variables and constraints corresponding to the heaters H101 and H102, flash F101 and the reactor R101. Scaling factors for the flow rates, temperature, pressure, etc. have been defined in the property package: `ideal_VLE.py` file. Here, we set scaling factors only for the heat duty of the heater, the reaction extent, heat duty and volume of the reactor." + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [], + "source": [ + "# Set scaling factors for heat duty, reaction extent and volume\n", + "iscale.set_scaling_factor(m.fs.H101.control_volume.heat, 1e-2)\n", + "iscale.set_scaling_factor(m.fs.R101.control_volume.heat, 1e-2)\n", + "iscale.set_scaling_factor(m.fs.R101.control_volume.rate_reaction_extent, 1)\n", + "iscale.set_scaling_factor(m.fs.R101.control_volume.volume, 1)\n", + "iscale.set_scaling_factor(m.fs.F101.control_volume.heat, 1e-2)\n", + "iscale.set_scaling_factor(m.fs.H102.control_volume.heat, 1e-2)\n", + "\n", + "# Set the scaling factors for the remaining variables and all constraints\n", + "iscale.calculate_scaling_factors(m.fs.H101)\n", + "iscale.calculate_scaling_factors(m.fs.R101)\n", + "iscale.calculate_scaling_factors(m.fs.F101)\n", + "iscale.calculate_scaling_factors(m.fs.H102)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "We have now defined all the feed conditions and the inputs required for the unit models. The system should now have 0 degrees of freedom i.e. should be a square problem. Please check that the degrees of freedom is 0. \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Check the degrees of freedom\n", + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "# Check the degrees of freedom\n", + "assert degrees_of_freedom(m) == 0" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Initialization\n", + "\n", + "This subsection will demonstrate how to use the built-in sequential decomposition tool to initialize our flowsheet.\n", + "\n", + "Let us first create an object for the `SequentialDecomposition` and specify our options for this. " + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [], + "source": [ + "seq = SequentialDecomposition()\n", + "seq.options.select_tear_method = \"heuristic\"\n", + "seq.options.tear_method = \"Wegstein\"\n", + "seq.options.iterLim = 3\n", + "\n", + "# Using the SD tool\n", + "G = seq.create_graph(m)\n", + "heuristic_tear_set = seq.tear_set_arcs(G, method=\"heuristic\")\n", + "order = seq.calculation_order(G)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Which is the tear stream? Display tear set and order" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [], + "source": [ + "for o in heuristic_tear_set:\n", + " print(o.name)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What sequence did the SD tool determine to solve this flowsheet with the least number of tears? " + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [], + "source": [ + "for o in order:\n", + " print(o[0].name)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The SequentialDecomposition tool has determined that the tear stream is the mixer outlet (s03 in the Figure above). We will need to provide a reasonable guess for this.\n", + "\n", + "For the initial guess, we assume that the flowrate of the recycle stream (s09) is zero. Consequently, the flow rate of the stream s03 is simply the sum of the flowrates of the toluene feed and hydrogen feed streams. Further, since the temperature and the pressure of both the toluene and hydrogen feed streams are the same, we specify their values as the initial guess for the temperature and pressure of the stream s03." + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [], + "source": [ + "tear_guesses = {\n", + " \"flow_mol_phase_comp\": {\n", + " (0, \"Vap\", \"benzene\"): 1e-5,\n", + " (0, \"Vap\", \"toluene\"): 1e-5,\n", + " (0, \"Vap\", \"hydrogen\"): 0.30,\n", + " (0, \"Vap\", \"methane\"): 0.02,\n", + " (0, \"Liq\", \"benzene\"): 1e-5,\n", + " (0, \"Liq\", \"toluene\"): 0.30,\n", + " (0, \"Liq\", \"hydrogen\"): 1e-5,\n", + " (0, \"Liq\", \"methane\"): 1e-5,\n", + " },\n", + " \"temperature\": {0: 303.2},\n", + " \"pressure\": {0: 350000},\n", + "}\n", + "\n", + "# Pass the tear_guess to the SD tool\n", + "seq.set_guesses_for(m.fs.H101.inlet, tear_guesses)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we need to tell the tool how to initialize a particular unit. We will be writing a python function which takes in a \"unit\" and calls the initialize method on that unit. For the initialization, we will import a Block Triangularization Initializer which decomposes the model into a set of subproblems. These subproblems are solved using a block triangularization transformation before applying a simple Newton or user-selected solver. Methods such as block triangularization often solve faster and yield more reliable behavior than heuristic methods, but sometime struggle to decompose models with strongly coupled equations (e.g. column models, systems with counter-current flow, vapor-liquid equilibrium)." + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [], + "source": [ + "def function(unit):\n", + " # Try initializing using default initializer,\n", + " # if it fails (probably due to scaling) try for the second time\n", + " try:\n", + " initializer = unit.default_initializer()\n", + " initializer.initialize(unit, output_level=idaeslog.INFO)\n", + " except InitializationError:\n", + " solver = get_solver()\n", + " solver.solve(unit)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We are now ready to initialize our flowsheet in a sequential mode. Note that we specifically set the iteration limit to be 3 as we are trying to use this tool only to get a good set of initial values such that IPOPT can then take over and solve this flowsheet for us. " + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "seq.run(m, function)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "We have now initialized the flowsheet. Let us run the flowsheet in a simulation mode to look at the results. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [], + "source": [ + "# Create the solver object\n", + "solver = get_solver()\n", + "\n", + "# Solve the model\n", + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "# Check solver solve status\n", + "from pyomo.environ import TerminationCondition\n", + "\n", + "assert results.solver.termination_condition == TerminationCondition.optimal" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Add distillation column \n", + "\n", + "As mentioned earlier, the `SequentialDecomposition` tool currently does not support the distillation column model. Thus, we have not included the distillation column in the flowsheet. Now that we have a converged flowsheet, we will add the distillation column and simulate the entire flowsheet. \n", + "\n", + "In the following, we will\n", + "- Add the distillation column \n", + "- Connect it to the heater \n", + "- Add the necessary equality constraints\n", + "- Propagate the state variable information from the outlet of the heater to the inlet of the distillation column \n", + "- Fix the degrees of freedom of the distillation block (reflux ratio, boilup ratio, and condenser pressure)\n", + "- Scale the control volume heat variables to help convergence\n", + "- Initialize the distillation block.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [], + "source": [ + "# Add distillation column to the flowsheet\n", + "m.fs.D101 = TrayColumn(\n", + " number_of_trays=10,\n", + " feed_tray_location=5,\n", + " condenser_type=CondenserType.totalCondenser,\n", + " condenser_temperature_spec=TemperatureSpec.atBubblePoint,\n", + " property_package=m.fs.BT_params,\n", + ")\n", + "\n", + "# Connect the outlet from the heater H102 to the distillation column\n", + "m.fs.s11 = Arc(source=m.fs.H102.outlet, destination=m.fs.D101.feed)\n", + "\n", + "# Add the necessary equality constraints\n", + "TransformationFactory(\"network.expand_arcs\").apply_to(m)\n", + "\n", + "# Propagate the state\n", + "propagate_state(m.fs.s11)\n", + "\n", + "# Fix the reflux ratio, boilup ratio, and the condenser pressure\n", + "m.fs.D101.condenser.reflux_ratio.fix(0.5)\n", + "m.fs.D101.reboiler.boilup_ratio.fix(0.5)\n", + "m.fs.D101.condenser.condenser_pressure.fix(150000)\n", + "\n", + "# set scaling factors\n", + "# Set scaling factors for heat duty\n", + "iscale.set_scaling_factor(m.fs.D101.condenser.control_volume.heat, 1e-2)\n", + "iscale.set_scaling_factor(m.fs.D101.reboiler.control_volume.heat, 1e-2)\n", + "\n", + "# Set the scaling factors for the remaining variables and all constraints\n", + "iscale.calculate_scaling_factors(m.fs.D101)\n", + "\n", + "# Initialize the distillation column\n", + "m.fs.D101.initialize(outlvl=idaeslog.INFO)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding expressions to compute capital and operating costs\n", + "\n", + "In this section, we will add a few Expressions that allow us to evaluate the performance. Expressions provide a convenient way of calculating certain values that are a function of the variables defined in the model. For more details on Expressions, please refer to: https://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [], + "source": [ + "# Expression to compute the total cooling cost\n", + "m.fs.cooling_cost = Expression(\n", + " expr=0.25e-7 * (-m.fs.F101.heat_duty[0])\n", + " + 0.2e-7 * (-m.fs.D101.condenser.heat_duty[0])\n", + ")\n", + "\n", + "# Expression to compute the total heating cost\n", + "m.fs.heating_cost = Expression(\n", + " expr=2.2e-7 * m.fs.H101.heat_duty[0]\n", + " + 1.2e-7 * m.fs.H102.heat_duty[0]\n", + " + 1.9e-7 * m.fs.D101.reboiler.heat_duty[0]\n", + ")\n", + "\n", + "# Expression to compute the total operating cost\n", + "m.fs.operating_cost = Expression(\n", + " expr=(3600 * 24 * 365 * (m.fs.heating_cost + m.fs.cooling_cost))\n", + ")\n", + "\n", + "# Expression to compute the total capital cost\n", + "m.fs.capital_cost = Expression(expr=1e5 * m.fs.R101.volume[0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Solve the entire flowsheet" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "# Check that the degrees of freedom is zero\n", + "assert degrees_of_freedom(m) == 0" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [], + "source": [ + "solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "# Check solver solve status\n", + "from pyomo.environ import TerminationCondition\n", + "\n", + "assert results.solver.termination_condition == TerminationCondition.optimal" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Analyze the Results of the Square Problem\n", + "\n", + "How much is the total cost (operating cost + capital cost), operating cost, capital cost, benzene purity in the distillate from the distilation column, and conversion of toluene in the reactor?" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"total cost = $\", value(m.fs.capital_cost) + value(m.fs.operating_cost))\n", + "print(\"operating cost = $\", value(m.fs.operating_cost))\n", + "print(\"capital cost = $\", value(m.fs.capital_cost))\n", + "print()\n", + "print(\n", + " \"Distillate flowrate = \",\n", + " value(m.fs.D101.condenser.distillate.flow_mol[0]()),\n", + " \"mol/s\",\n", + ")\n", + "print(\n", + " \"Benzene purity = \",\n", + " 100 * value(m.fs.D101.condenser.distillate.mole_frac_comp[0, \"benzene\"]),\n", + " \"%\",\n", + ")\n", + "print(\"Residue flowrate = \", value(m.fs.D101.reboiler.bottoms.flow_mol[0]()), \"mol/s\")\n", + "print(\n", + " \"Toluene purity = \",\n", + " 100 * value(m.fs.D101.reboiler.bottoms.mole_frac_comp[0, \"toluene\"]),\n", + " \"%\",\n", + ")\n", + "print()\n", + "print(\"Conversion = \", 100 * value(m.fs.R101.conversion), \"%\")\n", + "print()\n", + "print(\n", + " \"Overhead benzene loss in F101 = \",\n", + " 100\n", + " * value(m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"])\n", + " / value(m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]),\n", + " \"%\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "import pytest\n", + "\n", + "print(value(m.fs.operating_cost))\n", + "assert value(m.fs.operating_cost) == pytest.approx(427596.731, abs=100)\n", + "print(value(m.fs.capital_cost))\n", + "assert value(m.fs.capital_cost) == pytest.approx(14704.740, abs=100)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Get the state of the streams entering and leaving the reactor R101" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.R101.report()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Get the state of the streams entering and leaving the reactor R101" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.F101.report()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, let's look at how much benzene we are losing with the light gases out of F101. IDAES has tools for creating stream tables based on the `Arcs` and/or `Ports` in a flowsheet. Let us create and print a simple stream table showing the stream leaving the reactor and the vapor stream from F101.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "How much benzene are we losing in the F101 vapor outlet stream?\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core.util.tables import (\n", + " create_stream_table_dataframe,\n", + " stream_table_dataframe_to_string,\n", + ")\n", + "\n", + "st = create_stream_table_dataframe({\"Reactor\": m.fs.s05, \"Light Gases\": m.fs.s06})\n", + "print(stream_table_dataframe_to_string(st))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "You can query additional variables here if you like. \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Optimization\n", + "\n", + "\n", + "We saw from the results above that the total operating cost for the base case was $442,297 per year. We are producing 0.162 mol/s of benzene at a purity of 89.5%. However, we are losing around 43.3% of benzene in F101 vapor outlet stream. \n", + "\n", + "Let us try to minimize this cost such that:\n", + "- we are producing at least 0.18 mol/s of benzene as distillate i.e. our product stream\n", + "- purity of benzene i.e. the mole fraction of benzene in the distillate is at least 99%\n", + "- restricting the benzene loss in F101 vapor outlet to less than 20%\n", + "\n", + "For this problem, our decision variables are as follows:\n", + "- H101 outlet temperature\n", + "- R101 outlet temperature\n", + "- F101 outlet temperature\n", + "- H102 outlet temperature\n", + "- Condenser pressure\n", + "- reflux ratio\n", + "- boilup ratio\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us declare our objective function for this problem. " + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.objective = Objective(expr=m.fs.operating_cost + m.fs.capital_cost)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, we need to unfix the decision variables as we had solved a square problem (degrees of freedom = 0) until now. " + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.H101.outlet.temperature.unfix()\n", + "m.fs.R101.conversion.unfix()\n", + "m.fs.F101.vap_outlet.temperature.unfix()\n", + "m.fs.D101.condenser.condenser_pressure.unfix()\n", + "m.fs.D101.condenser.reflux_ratio.unfix()\n", + "m.fs.D101.reboiler.boilup_ratio.unfix()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Let us now unfix the remaining variable: the temperature of the outlet from H102\n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Unfix the temperature of the outlet from H102\n", + "m.fs.H102.outlet.temperature.unfix()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we need to set bounds on these decision variables to values shown below:\n", + "\n", + " - H101 outlet temperature [500, 600] K\n", + " - R101 outlet temperature [600, 900] K\n", + " - F101 outlet temperature [298, 450] K\n", + " - H102 outlet temperature [350, 400] K\n", + " - D101 condenser pressure [101325, 150000] Pa\n", + " - D101 reflux ratio [0.1, 5]\n", + " - D101 boilup ratio [0.1, 5]" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [], + "source": [ + "# Set bounds on the temperature of the outlet from H101\n", + "m.fs.H101.outlet.temperature[0].setlb(500)\n", + "m.fs.H101.outlet.temperature[0].setub(600)\n", + "\n", + "# Set bounds on the temperature of the outlet from R101\n", + "m.fs.R101.outlet.temperature[0].setlb(600)\n", + "m.fs.R101.outlet.temperature[0].setub(900)\n", + "\n", + "# Set bounds on the volume of the reactor R101\n", + "m.fs.R101.volume[0].setlb(0)\n", + "\n", + "# Set bounds on the temperature of the vapor outlet from F101\n", + "m.fs.F101.vap_outlet.temperature[0].setlb(298)\n", + "m.fs.F101.vap_outlet.temperature[0].setub(450.0)\n", + "\n", + "# Set bounds on the temperature of the outlet from H102\n", + "m.fs.H102.outlet.temperature[0].setlb(350)\n", + "m.fs.H102.outlet.temperature[0].setub(400)\n", + "\n", + "# Set bounds on the pressure inside the condenser\n", + "m.fs.D101.condenser.condenser_pressure.setlb(101325)\n", + "m.fs.D101.condenser.condenser_pressure.setub(150000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Now, set the bounds for the D101 reflux ratio and boilup ratio.\n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Set bounds on the reflux ratio\n", + "m.fs.D101.condenser.reflux_ratio.setlb(0.1)\n", + "m.fs.D101.condenser.reflux_ratio.setub(5)\n", + "\n", + "# Todo: Set bounds on the boilup ratio\n", + "m.fs.D101.reboiler.boilup_ratio.setlb(0.1)\n", + "m.fs.D101.reboiler.boilup_ratio.setub(5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, the only things left to define are our constraints on overhead loss in F101, distillate flowrate and its purity. Let us first look at defining a constraint for the overhead loss in F101 where we are restricting the benzene leaving the vapor stream to less than 20 % of the benzene available in the reactor outlet. " + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [], + "source": [ + "# Ensure that the overhead loss of benzene from F101 <= 20%\n", + "m.fs.overhead_loss = Constraint(\n", + " expr=m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", + " <= 0.20 * m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Now, add the constraint such that we are producing at least 0.18 mol/s of benzene in the product stream which is the distillate of D101. Let us name this constraint as m.fs.product_flow. \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add minimum product flow constraint\n", + "m.fs.product_flow = Constraint(expr=m.fs.D101.condenser.distillate.flow_mol[0] >= 0.18)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us add the final constraint on product purity or the mole fraction of benzene in the distillate such that it is at least greater than 99%. " + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.product_purity = Constraint(\n", + " expr=m.fs.D101.condenser.distillate.mole_frac_comp[0, \"benzene\"] >= 0.99\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "We have now defined the optimization problem and we are now ready to solve this problem. \n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [], + "source": [ + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "# Check solver solve status\n", + "from pyomo.environ import TerminationCondition\n", + "\n", + "assert results.solver.termination_condition == TerminationCondition.optimal" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Optimization Results\n", + "\n", + "Display the results and product specifications" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"total cost = $\", value(m.fs.capital_cost) + value(m.fs.operating_cost))\n", + "print(\"operating cost = $\", value(m.fs.operating_cost))\n", + "print(\"capital cost = $\", value(m.fs.capital_cost))\n", + "print()\n", + "print(\n", + " \"Distillate flowrate = \",\n", + " value(m.fs.D101.condenser.distillate.flow_mol[0]()),\n", + " \"mol/s\",\n", + ")\n", + "print(\n", + " \"Benzene purity = \",\n", + " 100 * value(m.fs.D101.condenser.distillate.mole_frac_comp[0, \"benzene\"]),\n", + " \"%\",\n", + ")\n", + "print(\"Residue flowrate = \", value(m.fs.D101.reboiler.bottoms.flow_mol[0]()), \"mol/s\")\n", + "print(\n", + " \"Toluene purity = \",\n", + " 100 * value(m.fs.D101.reboiler.bottoms.mole_frac_comp[0, \"toluene\"]),\n", + " \"%\",\n", + ")\n", + "print()\n", + "print(\"Conversion = \", 100 * value(m.fs.R101.conversion), \"%\")\n", + "print()\n", + "print(\n", + " \"Overhead benzene loss in F101 = \",\n", + " 100\n", + " * value(m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"])\n", + " / value(m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]),\n", + " \"%\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "import pytest\n", + "\n", + "print(value(m.fs.operating_cost))\n", + "print(value(m.fs.capital_cost))\n", + "\n", + "assert value(m.fs.operating_cost) == pytest.approx(408883.531, abs=100)\n", + "assert value(m.fs.capital_cost) == pytest.approx(29956.367, abs=100)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Display optimal values for the decision variables" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Optimal Values\")\n", + "print()\n", + "\n", + "print(\"H101 outlet temperature = \", value(m.fs.H101.outlet.temperature[0]), \"K\")\n", + "\n", + "print()\n", + "print(\"R101 outlet temperature = \", value(m.fs.R101.outlet.temperature[0]), \"K\")\n", + "\n", + "print()\n", + "print(\"F101 outlet temperature = \", value(m.fs.F101.vap_outlet.temperature[0]), \"K\")\n", + "\n", + "print()\n", + "print(\"H102 outlet temperature = \", value(m.fs.H102.outlet.temperature[0]), \"K\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Key Takeaways\n", + "\n", + "Observe that the optimization was able to reduce the yearly operating cost from \\\\$427,593 to \\\\$408,342 (~4.5%). However, the amortized capital cost more than doubled from \\\\$14,704 to \\\\$29,927 due to the need to increase the conversion in the reactor (from 75% to 93%) to meet the production and purity constraints. \n", + "\n", + "Further, observe that the product flow rate and product purity are at their minimum values (0.18 mol/s and 99%, respectively). This is expected as increasing recovery would require more energy and cost to purify the product.\n", + "\n", + "\n", + "Finally, observe that the operating temperature of the flash (F101) is almost at its lower bound. This helps in minimizing the amount of benzene in the vapor stream leaving the flash." + ] } - ], - "source": [ - "import pytest\n", - "\n", - "print(value(m.fs.operating_cost))\n", - "print(value(m.fs.capital_cost))\n", - "\n", - "assert value(m.fs.operating_cost) == pytest.approx(408883.531, abs=100)\n", - "assert value(m.fs.capital_cost) == pytest.approx(29956.367, abs=100)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Display optimal values for the decision variables" - ] - }, - { - "cell_type": "code", - "execution_count": 75, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Optimal Values\n", - "\n", - "H101 outlet temperature = 568.923204295196 K\n", - "\n", - "R101 outlet temperature = 790.3655425698853 K\n", - "\n", - "F101 outlet temperature = 298.0 K\n", - "\n", - "H102 outlet temperature = 368.7414339952852 K\n" - ] + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" } - ], - "source": [ - "print(\"Optimal Values\")\n", - "print()\n", - "\n", - "print(\"H101 outlet temperature = \", value(m.fs.H101.outlet.temperature[0]), \"K\")\n", - "\n", - "print()\n", - "print(\"R101 outlet temperature = \", value(m.fs.R101.outlet.temperature[0]), \"K\")\n", - "\n", - "print()\n", - "print(\"F101 outlet temperature = \", value(m.fs.F101.vap_outlet.temperature[0]), \"K\")\n", - "\n", - "print()\n", - "print(\"H102 outlet temperature = \", value(m.fs.H102.outlet.temperature[0]), \"K\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Key Takeaways\n", - "\n", - "Observe that the optimization was able to reduce the yearly operating cost from \\\\$427,593 to \\\\$408,342 (~4.5%). However, the amortized capital cost more than doubled from \\\\$14,704 to \\\\$29,927 due to the need to increase the conversion in the reactor (from 75% to 93%) to meet the production and purity constraints. \n", - "\n", - "Further, observe that the product flow rate and product purity are at their minimum values (0.18 mol/s and 99%, respectively). This is expected as increasing recovery would require more energy and cost to purify the product.\n", - "\n", - "\n", - "Finally, observe that the operating temperature of the flash (F101) is almost at its lower bound. This helps in minimizing the amount of benzene in the vapor stream leaving the flash." - ] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.13" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_distillation_usr.ipynb b/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_distillation_usr.ipynb index 86d59dd3..59997e6f 100644 --- a/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_distillation_usr.ipynb +++ b/idaes_examples/notebooks/docs/flowsheets/hda_flowsheet_with_distillation_usr.ipynb @@ -1,3024 +1,1792 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "# HDA Flowsheet Simulation and Optimization\n", - "Maintainer: Brandon Paul \n", - "Author: Brandon Paul \n", - "Updated: 2023-06-01 \n", - "\n", - "\n", - "## Note\n", - "\n", - "This tutorial will be similar to the HDA flowsheet tutorial in the Tutorials section, except that we use a distillation column instead of a second flash (F102) to produce benzene and toluene products.\n", - "\n", - "\n", - "## Learning outcomes\n", - "\n", - "\n", - "- Construct a steady-state flowsheet using the IDAES unit model library\n", - "- Connecting unit models in a flowsheet using Arcs\n", - "- Using the SequentialDecomposition tool to initialize a flowsheet with recycle\n", - "- Fomulate and solve an optimization problem\n", - " - Defining an objective function\n", - " - Setting variable bounds\n", - " - Adding additional constraints \n", - "\n", - "\n", - "## Problem Statement\n", - "\n", - "Hydrodealkylation is a chemical reaction that often involves reacting\n", - "an aromatic hydrocarbon in the presence of hydrogen gas to form a\n", - "simpler aromatic hydrocarbon devoid of functional groups. In this\n", - "example, toluene will be reacted with hydrogen gas at high temperatures\n", - " to form benzene via the following reaction:\n", - "\n", - "**C6H5CH3 + H2 → C6H6 + CH4**\n", - "\n", - "\n", - "This reaction is often accompanied by an equilibrium side reaction\n", - "which forms diphenyl, which we will neglect for this example.\n", - "\n", - "This example is based on the 1967 AIChE Student Contest problem as\n", - "present by Douglas, J.M., Chemical Design of Chemical Processes, 1988,\n", - "McGraw-Hill.\n", - "\n", - "The flowsheet that we will be using for this module is shown below with the stream conditions. We will be processing toluene and hydrogen to produce at least 370 TPY of benzene. As shown in the flowsheet, we use a flash tank, F101, to separate out the non-condensibles, and a distillation column, D101, to further separate the benzene-toluene mixture to improve the benzene purity. The non-condensibles separated out in F101 will be partially recycled back to M101 and the rest will be purged. We will assume ideal gas behavior for this flowsheet. The properties required for this module are defined in\n", - "\n", - "- `hda_ideal_VLE.py`\n", - "- `idaes.models.properties.activity_coeff_models.BTX_activity_coeff_VLE`\n", - "- `hda_reaction.py`\n", - "\n", - "We will be using two thermodynamic packages: one (first in the list above) containing all four components (i.e., toluene, hydrogen, benzene, and methane) and the other (second in the list above) containing benzene and toluene only. The latter is needed to simplify the VLE calculations in the distillation column model. \n", - "\n", - "![](HDA_flowsheet_distillation.png)\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Translator block\n", - "\n", - "Benzene and toluene are separated by distillation, so the process involves phase equilibrium and two-phase flow conditions. However, the presence of hydrogen and methane complicates the calculations. This is because, hydrogen and methane are non-condensable under all conditions of interest; ergo, a vapor phase will always be present, and the mixture bubble point is extremely low. To simplify the phase equilibrium calculations, hydrogen and methane will be considered completely as non-condensable and insoluble in the liquid outlet from the flash F101.\n", - "\n", - "Since no hydrogen and methane will be present in the unit operations following the flash, a different component list can be used to simplify the property calculations. IDAES supports the definition of multiple property packages within a single flowsheet via `Translator` blocks. `Translator` blocks convert between different property calculations, component lists, and equations of state. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing required pyomo and idaes components\n", - "\n", - "\n", - "To construct a flowsheet, we will need several components from the pyomo and idaes package. Let us first import the following components from Pyomo:\n", - "- Constraint (to write constraints)\n", - "- Var (to declare variables)\n", - "- ConcreteModel (to create the concrete model object)\n", - "- Expression (to evaluate values as a function of variables defined in the model)\n", - "- Objective (to define an objective function for optimization)\n", - "- SolverFactory (to solve the problem)\n", - "- TransformationFactory (to apply certain transformations)\n", - "- Arc (to connect two unit models)\n", - "- SequentialDecomposition (to initialize the flowsheet in a sequential mode)\n", - "\n", - "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/stable/\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.environ import (\n", - " Constraint,\n", - " Var,\n", - " ConcreteModel,\n", - " Expression,\n", - " Objective,\n", - " TransformationFactory,\n", - " value,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Import `Arc` and `SequentialDecomposition` tools from `pyomo.network`\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Import the above mentioned tools from pyomo.network" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Import the above mentioned tools from pyomo.network\n", - "from pyomo.network import Arc, SequentialDecomposition" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "From IDAES, we will be needing the FlowsheetBlock and the following unit models:\n", - "- Mixer\n", - "- Heater\n", - "- CSTR\n", - "- Flash\n", - "- Separator (splitter) \n", - "- PressureChanger\n", - "- Translator (to switch from one property package to another)\n", - "- TrayColumn (distillation column)\n", - "- CondenserType (Type of the overhead condenser: complete or partial)\n", - "- TemperatureSpec (Temperature specification inside the condenser)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.core import FlowsheetBlock" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.models.unit_models import (\n", - " PressureChanger,\n", - " Mixer,\n", - " Separator as Splitter,\n", - " Heater,\n", - " CSTR,\n", - " Flash,\n", - " Translator,\n", - ")\n", - "\n", - "from idaes.models_extra.column_models import TrayColumn\n", - "from idaes.models_extra.column_models.condenser import CondenserType, TemperatureSpec" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will also be needing some utility tools to put together the flowsheet and calculate the degrees of freedom. " - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "# Utility tools to put together the flowsheet and calculate the degrees of freedom\n", - "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.util.initialization import propagate_state\n", - "from idaes.core.solvers import get_solver\n", - "import idaes.core.util.scaling as iscale\n", - "from idaes.core.util.exceptions import InitializationError\n", - "\n", - "# Import idaes logger to set output levels\n", - "import idaes.logger as idaeslog" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing required thermo and reaction packages\n", - "\n", - "Finally, we import the thermophysical (`ideal_VLE.py` and `BTXParameterBlock`) packages and reaction package (`reaction.py`) for the HDA process. We have created custom thermophysical packages that assume ideal gas behavior with support for VLE. The reaction package consists of the stochiometric coefficients for the reaction, heat of reaction, and kinetic information (Arrhenius constant and activation energy). " - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes_examples.mod.hda import hda_reaction as reaction_props\n", - "from idaes.models.properties.activity_coeff_models.BTX_activity_coeff_VLE import (\n", - " BTXParameterBlock,\n", - ")\n", - "\n", - "from idaes_examples.mod.hda.hda_ideal_VLE import HDAParameterBlock" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Constructing the Flowsheet\n", - "\n", - "We have now imported all the components, unit models, and property modules we need to construct a flowsheet. Let us create a ConcreteModel and add the flowsheet block to it. " - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "# Create a Pyomo Concrete Model to contain the problem\n", - "m = ConcreteModel()\n", - "\n", - "# Add a steady state flowsheet block to the model\n", - "m.fs = FlowsheetBlock(dynamic=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will now add the thermophysical and reaction packages to the flowsheet." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "# Property package for benzene, toluene, hydrogen, methane mixture\n", - "m.fs.BTHM_params = HDAParameterBlock()\n", - "\n", - "# Property package for the benzene-toluene mixture\n", - "m.fs.BT_params = BTXParameterBlock(\n", - " valid_phase=(\"Liq\", \"Vap\"), activity_coeff_model=\"Ideal\"\n", - ")\n", - "\n", - "# Reaction package for the HDA reaction\n", - "m.fs.reaction_params = reaction_props.HDAReactionParameterBlock(\n", - " property_package=m.fs.BTHM_params\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding Unit Models\n", - "\n", - "Let us start adding the unit models we have imported to the flowsheet. Here, we are adding the Mixer (assigned a name M101) and a Heater (assigned a name H101). Note that, all unit models need to be given a property package argument. In addition, the Mixer unit model needs a `list` consisting of the inlets (toluene feed, hydrogen feed and vapor recycle streams in this case). " - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "# Adding the mixer M101 to the flowsheet\n", - "m.fs.M101 = Mixer(\n", - " property_package=m.fs.BTHM_params,\n", - " inlet_list=[\"toluene_feed\", \"hydrogen_feed\", \"vapor_recycle\"],\n", - ")\n", - "\n", - "# Adding the heater H101 to the flowsheet\n", - "m.fs.H101 = Heater(property_package=m.fs.BTHM_params, has_phase_equilibrium=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Let us now add the CSTR (assign the name R101) and pass the following arguments:\n", - "
    \n", - "
  • \"property_package\": m.fs.BTHM_params
  • \n", - "
  • \"reaction_package\": m.fs.reaction_params
  • \n", - "
  • \"has_heat_of_reaction\": True
  • \n", - "
  • \"has_heat_transfer\": True
  • \n", - "
\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add reactor with the specifications above" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add reactor with the specifications above\n", - "m.fs.R101 = CSTR(\n", - " property_package=m.fs.BTHM_params,\n", - " reaction_package=m.fs.reaction_params,\n", - " has_heat_of_reaction=True,\n", - " has_heat_transfer=True,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us now add the Flash (assign the name F101), Splitter (assign the name S101) and PressureChanger (assign the name C101)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "# Adding the flash tank F101 to the flowsheet\n", - "m.fs.F101 = Flash(\n", - " property_package=m.fs.BTHM_params, has_heat_transfer=True, has_pressure_change=True\n", - ")\n", - "\n", - "# Adding the splitter S101 to the flowsheet\n", - "m.fs.S101 = Splitter(\n", - " property_package=m.fs.BTHM_params, outlet_list=[\"purge\", \"recycle\"]\n", - ")\n", - "\n", - "# Adding the compressor C101 to the flowsheet\n", - "m.fs.C101 = PressureChanger(\n", - " property_package=m.fs.BTHM_params,\n", - " compressor=True,\n", - " thermodynamic_assumption=ThermodynamicAssumption.isothermal,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Remark\n", - "\n", - "Currently, the `SequentialDecomposition()` tool, which we will later be using to initialize the flowsheet, does not support the distillation column model. Thus, we will first simulate the flowsheet without the distillation column. After it converges, we will then add the distillation column, initialize it, and simulate the entire flowsheet." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As mentioned above, we use the `m.fs.BTHM_params` package, which contains all the four species, for the reactor loop, and the simpler `m.fs.BT_params` for unit operations following the flash (i.e., heater H102 and the distillation column D101). We define a `Translator` block to link the source property package and the package it is to be translated to in the following manner:" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "# Add translator block to convert between property packages\n", - "m.fs.translator = Translator(\n", - " inlet_property_package=m.fs.BTHM_params, outlet_property_package=m.fs.BT_params\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Translator block constraints\n", - "\n", - "The `Translator` block needs to know how to translate between the two property packages. This must be custom coded for each application because of the generality of the IDAES framework.\n", - "\n", - "For this process, five constraints are required based on the state variables used in the outgoing process.\n", - "\n", - "- Since we assumed that only benzene and toluene are present in the liquid phase, the total molar flowrate must be the sum of molar flowrates of benzene and toluene, respectively.\n", - "- Temperature of the inlet and outlet streams must be the same.\n", - "- Pressure of the inlet and outgoing streams must be the same\n", - "- The mole fraction of benzene in the outgoing stream is the ratio of the molar flowrate of liquid benzene in the inlet to the sum of molar flowrates of liquid benzene and toluene in the inlet.\n", - "- The mole fraction of toluene in the outgoing stream is the ratio of the molar flowrate of liquid toluene in the inlet to the sum of molar flowrates of liquid benzene and toluene in the inlet." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "# Add constraint: Total flow = benzene flow + toluene flow (molar)\n", - "m.fs.translator.eq_total_flow = Constraint(\n", - " expr=m.fs.translator.outlet.flow_mol[0]\n", - " == m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", - " + m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", - ")\n", - "\n", - "# Add constraint: Outlet temperature = Inlet temperature\n", - "m.fs.translator.eq_temperature = Constraint(\n", - " expr=m.fs.translator.outlet.temperature[0] == m.fs.translator.inlet.temperature[0]\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In the above, note that the variable flow_mol_phase_comp has the index - [time, phase, component]. As this is a steady-state flowsheet, the time index by default is 0. The valid phases are [\"Liq\", \"Vap\"]. Similarly the valid component list is [\"benzene\", \"toluene\", \"hydrogen\", \"methane\"]." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Add the constraint to ensure that the outlet pressure is the same as the inlet pressure\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add constraint: Outlet pressure = Inlet pressure" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add constraint: Outlet pressure = Inlet pressure\n", - "m.fs.translator.eq_pressure = Constraint(\n", - " expr=m.fs.translator.outlet.pressure[0] == m.fs.translator.inlet.pressure[0]\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "# Remaining constraints on the translator block\n", - "\n", - "# Add constraint: Benzene mole fraction definition\n", - "m.fs.translator.eq_mole_frac_benzene = Constraint(\n", - " expr=m.fs.translator.outlet.mole_frac_comp[0, \"benzene\"]\n", - " == m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", - " / (\n", - " m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", - " + m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", - " )\n", - ")\n", - "\n", - "# Add constraint: Toluene mole fraction definition\n", - "m.fs.translator.eq_mole_frac_toluene = Constraint(\n", - " expr=m.fs.translator.outlet.mole_frac_comp[0, \"toluene\"]\n", - " == m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", - " / (\n", - " m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", - " + m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", - " )\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Finally, let us add the Heater H102 in the same way as H101 but pass the m.fs.BT_params thermodynamic package. We will add the distillation column after converging the flowsheet.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add the Heater H102 to the flowsheet" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add the Heater H102 to the flowsheet\n", - "m.fs.H102 = Heater(\n", - " property_package=m.fs.BT_params,\n", - " has_pressure_change=True,\n", - " has_phase_equilibrium=True,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Connecting Unit Models using Arcs\n", - "\n", - "We have now added the initial set of unit models to the flowsheet. However, we have not yet specified how the units are connected. To do this, we will be using the `Arc` which is a pyomo component that takes in two arguments: `source` and `destination`. Let us connect the outlet of the mixer (M101) to the inlet of the heater (H101). " - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.H101.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "![](HDA_flowsheet_distillation.png) \n", - "\n", - "
\n", - "Inline Exercise:\n", - "Now, connect the H101 outlet to the R101 inlet using the cell above as a guide. \n", - "
\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Connect the H101 outlet to R101 inlet" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Connect the H101 outlet to R101 inlet\n", - "m.fs.s04 = Arc(source=m.fs.H101.outlet, destination=m.fs.R101.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will now be connecting the rest of the units as shown below. Notice how the outlet names are different for the flash tank as it has a vapor and a liquid outlet. " - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.s05 = Arc(source=m.fs.R101.outlet, destination=m.fs.F101.inlet)\n", - "m.fs.s06 = Arc(source=m.fs.F101.vap_outlet, destination=m.fs.S101.inlet)\n", - "m.fs.s08 = Arc(source=m.fs.S101.recycle, destination=m.fs.C101.inlet)\n", - "m.fs.s09 = Arc(source=m.fs.C101.outlet, destination=m.fs.M101.vapor_recycle)\n", - "m.fs.s10a = Arc(source=m.fs.F101.liq_outlet, destination=m.fs.translator.inlet)\n", - "m.fs.s10b = Arc(source=m.fs.translator.outlet, destination=m.fs.H102.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We have now connected the unit model block using the arcs. However, each of these arcs link to ports on the two unit models that are connected. In this case, the ports consist of the state variables that need to be linked between the unit models. Pyomo provides a convenient method to write these equality constraints for us between two ports and this is done as follows:" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [], - "source": [ - "TransformationFactory(\"network.expand_arcs\").apply_to(m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Appending additional constraints to the model\n", - "\n", - "Now, we will see how we can add additional constraints to the model using `Constraint` from Pyomo.\n", - "\n", - "Consider the reactor R101. By default, the conversion of a component is not calculated when we simulate the flowsheet. If we are interested either in specifying or constraining the conversion value, we can add the following constraint to calculate the conversion:\n", - "$$ \\text{Conversion of toluene} = \\frac{\\text{molar flow of toluene in the inlet} - \\text{molar flow of toluene in the outlet}}{\\text{molar flow of toluene in the inlet}} $$ \n", - "\n", - "We add the constraint to the model as shown below." - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [], - "source": [ - "# Define the conversion variables using 'Var'\n", - "m.fs.R101.conversion = Var(initialize=0.75, bounds=(0, 1))\n", - "\n", - "# Append the constraint to the model\n", - "m.fs.R101.conv_constraint = Constraint(\n", - " expr=m.fs.R101.conversion * m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " == (\n", - " m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " - m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " )\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Fixing feed conditions and Initializing the flowsheet\n", - "\n", - "Let us first check how many degrees of freedom exist for this flowsheet using the `degrees_of_freedom` tool we imported earlier. " - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "29\n" - ] - } - ], - "source": [ - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will now be fixing the toluene feed stream to the conditions shown in the flowsheet above. Please note that though this is a pure toluene feed, the remaining components are still assigned a very small non-zero value to help with convergence and initializing. " - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(0.30)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.temperature.fix(303.2)\n", - "m.fs.M101.toluene_feed.pressure.fix(350000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Similarly, let us fix the hydrogen feed to the following conditions in the next cell:\n", - "
    \n", - "
  • FH2 = 0.30 mol/s
  • \n", - "
  • FCH4 = 0.02 mol/s
  • \n", - "
  • Remaining components = 1e-5 mol/s
  • \n", - "
  • T = 303.2 K
  • \n", - "
  • P = 350000 Pa
  • \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(0.30)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(0.02)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.temperature.fix(303.2)\n", - "m.fs.M101.hydrogen_feed.pressure.fix(350000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Fixing unit model specifications\n", - "\n", - "Now that we have fixed our inlet feed conditions, we will now be fixing the operating conditions for the unit models in the flowsheet. Let us set the H101 outlet temperature to 600 K. " - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [], - "source": [ - "# Fix the temperature of the outlet from the heater H101\n", - "m.fs.H101.outlet.temperature.fix(600)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Set the conditions for the reactor R101 to the following conditions:\n", - "
    \n", - "
  • `conversion` = 0.75
  • \n", - "
  • `heat_duty` = 0
  • \n", - "
\n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Fix the 'conversion' of the reactor R101\n", - "\n", - "\n", - "# Todo: Fix the 'heat_duty' of the reactor R101" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Fix the 'conversion' of the reactor R101\n", - "m.fs.R101.conversion.fix(0.75)\n", - "\n", - "# Todo: Fix the 'heat_duty' of the reactor R101\n", - "m.fs.R101.heat_duty.fix(0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The Flash conditions for F101 can be set as follows. " - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": {}, - "outputs": [], - "source": [ - "# Fix the temperature of the vapor outlet from F101\n", - "m.fs.F101.vap_outlet.temperature.fix(325.0)\n", - "\n", - "# Fix the pressure drop in the flash F101\n", - "m.fs.F101.deltaP.fix(0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us fix the split fraction of the purge stream from the splitter S101 and the outlet pressure from the compressor C101" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [], - "source": [ - "# Fix the split fraction of the 'purge' stream from S101\n", - "m.fs.S101.split_fraction[0, \"purge\"].fix(0.2)\n", - "\n", - "# Fix the pressure of the outlet from the compressor C101\n", - "m.fs.C101.outlet.pressure.fix(350000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finally, let us fix the temperature of the outlet from H102 and the pressure drop in H102 as the following" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [], - "source": [ - "# Fix the temperature of the outlet from the heater H102\n", - "m.fs.H102.outlet.temperature.fix(375)\n", - "\n", - "# Fix the pressure drop in the heater H102\n", - "m.fs.H102.deltaP.fix(-200000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To avoid convergence issues associated with poorly scaled variables and/or constraints, we scale the variables and constraints corresponding to the heaters H101 and H102, flash F101 and the reactor R101. Scaling factors for the flow rates, temperature, pressure, etc. have been defined in the property package: `ideal_VLE.py` file. Here, we set scaling factors only for the heat duty of the heater, the reaction extent, heat duty and volume of the reactor." - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].flow_mol_phase\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enth_mol_phase_comp[Liq,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enth_mol_phase_comp[Liq,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enth_mol_phase_comp[Vap,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enth_mol_phase_comp[Vap,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].enth_mol_phase_comp[Liq,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].enth_mol_phase_comp[Liq,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].enth_mol_phase_comp[Vap,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].enth_mol_phase_comp[Vap,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].material_flow_terms[Liq,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].material_flow_terms[Vap,benzene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].material_flow_terms[Liq,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].material_flow_terms[Vap,toluene]\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enthalpy_flow_terms[Liq], enthalpy_flow_terms\n", - "2024-08-28 18:38:14 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.H102.control_volume.properties_in[0.0].enthalpy_flow_terms[Vap], enthalpy_flow_terms\n" - ] - } - ], - "source": [ - "# Set scaling factors for heat duty, reaction extent and volume\n", - "iscale.set_scaling_factor(m.fs.H101.control_volume.heat, 1e-2)\n", - "iscale.set_scaling_factor(m.fs.R101.control_volume.heat, 1e-2)\n", - "iscale.set_scaling_factor(m.fs.R101.control_volume.rate_reaction_extent, 1)\n", - "iscale.set_scaling_factor(m.fs.R101.control_volume.volume, 1)\n", - "iscale.set_scaling_factor(m.fs.F101.control_volume.heat, 1e-2)\n", - "iscale.set_scaling_factor(m.fs.H102.control_volume.heat, 1e-2)\n", - "\n", - "# Set the scaling factors for the remaining variables and all constraints\n", - "iscale.calculate_scaling_factors(m.fs.H101)\n", - "iscale.calculate_scaling_factors(m.fs.R101)\n", - "iscale.calculate_scaling_factors(m.fs.F101)\n", - "iscale.calculate_scaling_factors(m.fs.H102)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "We have now defined all the feed conditions and the inputs required for the unit models. The system should now have 0 degrees of freedom i.e. should be a square problem. Please check that the degrees of freedom is 0. \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Check the degrees of freedom" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0\n" - ] - } - ], - "source": [ - "# Todo: Check the degrees of freedom\n", - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Initialization\n", - "\n", - "This subsection will demonstrate how to use the built-in sequential decomposition tool to initialize our flowsheet.\n", - "\n", - "Let us first create an object for the `SequentialDecomposition` and specify our options for this. " - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "metadata": {}, - "outputs": [], - "source": [ - "seq = SequentialDecomposition()\n", - "seq.options.select_tear_method = \"heuristic\"\n", - "seq.options.tear_method = \"Wegstein\"\n", - "seq.options.iterLim = 3\n", - "\n", - "# Using the SD tool\n", - "G = seq.create_graph(m)\n", - "heuristic_tear_set = seq.tear_set_arcs(G, method=\"heuristic\")\n", - "order = seq.calculation_order(G)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Which is the tear stream? Display tear set and order" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "fs.s03\n" - ] - } - ], - "source": [ - "for o in heuristic_tear_set:\n", - " print(o.name)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "What sequence did the SD tool determine to solve this flowsheet with the least number of tears? " - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "fs.H101\n", - "fs.R101\n", - "fs.F101\n", - "fs.S101\n", - "fs.C101\n", - "fs.M101\n" - ] - } - ], - "source": [ - "for o in order:\n", - " print(o[0].name)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The SequentialDecomposition tool has determined that the tear stream is the mixer outlet (s03 in the Figure above). We will need to provide a reasonable guess for this.\n", - "\n", - "For the initial guess, we assume that the flowrate of the recycle stream (s09) is zero. Consequently, the flow rate of the stream s03 is simply the sum of the flowrates of the toluene feed and hydrogen feed streams. Further, since the temperature and the pressure of both the toluene and hydrogen feed streams are the same, we specify their values as the initial guess for the temperature and pressure of the stream s03." - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "metadata": {}, - "outputs": [], - "source": [ - "tear_guesses = {\n", - " \"flow_mol_phase_comp\": {\n", - " (0, \"Vap\", \"benzene\"): 1e-5,\n", - " (0, \"Vap\", \"toluene\"): 1e-5,\n", - " (0, \"Vap\", \"hydrogen\"): 0.30,\n", - " (0, \"Vap\", \"methane\"): 0.02,\n", - " (0, \"Liq\", \"benzene\"): 1e-5,\n", - " (0, \"Liq\", \"toluene\"): 0.30,\n", - " (0, \"Liq\", \"hydrogen\"): 1e-5,\n", - " (0, \"Liq\", \"methane\"): 1e-5,\n", - " },\n", - " \"temperature\": {0: 303.2},\n", - " \"pressure\": {0: 350000},\n", - "}\n", - "\n", - "# Pass the tear_guess to the SD tool\n", - "seq.set_guesses_for(m.fs.H101.inlet, tear_guesses)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we need to tell the tool how to initialize a particular unit. We will be writing a python function which takes in a \"unit\" and calls the initialize method on that unit. For the initialization, we will import a Block Triangularization Initializer which decomposes the model into a set of subproblems. These subproblems are solved using a block triangularization transformation before applying a simple Newton or user-selected solver. Methods such as block triangularization often solve faster and yield more reliable behavior than heuristic methods, but sometime struggle to decompose models with strongly coupled equations (e.g. column models, systems with counter-current flow, vapor-liquid equilibrium)." - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "metadata": {}, - "outputs": [], - "source": [ - "def function(unit):\n", - " # Try initializing using default initializer,\n", - " # if it fails (probably due to scaling) try for the second time\n", - " try:\n", - " initializer = unit.default_initializer()\n", - " initializer.initialize(unit, output_level=idaeslog.INFO)\n", - " except InitializationError:\n", - " solver = get_solver()\n", - " solver.solve(unit)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We are now ready to initialize our flowsheet in a sequential mode. Note that we specifically set the iteration limit to be 3 as we are trying to use this tool only to get a good set of initial values such that IPOPT can then take over and solve this flowsheet for us. " - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-08-28 18:38:14 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:16 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:16 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:16 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 12\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 50 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:17 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:18 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:18 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:18 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 1 optimal - .\n", - "2024-08-28 18:38:18 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 2 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 3 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 4 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 5 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 1 optimal - .\n", - "2024-08-28 18:38:19 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 2 optimal - .\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 3 optimal - .\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 4 optimal - .\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 5 optimal - .\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:20 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:21 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:21 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "2024-08-28 18:38:21 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:21 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 11\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 50 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:22 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:23 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "2024-08-28 18:38:24 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:24 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 11\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 50 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "2024-08-28 18:38:24 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:24 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:25 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:26 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:27 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:28 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "2024-08-28 18:38:29 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:29 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:29 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:29 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.S101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - \n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Complete\n", - "2024-08-28 18:38:30 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Complete\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Complete\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - \n", - "WARNING: Wegstein failed to converge in 3 iterations\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 1 optimal - .\n", - "2024-08-28 18:38:31 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 2 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 3 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 4 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_in: Initialization Step 5 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 1 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 2 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 3 optimal - .\n", - "2024-08-28 18:38:32 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 4 optimal - .\n", - "2024-08-28 18:38:33 [INFO] idaes.init.fs.H102.control_volume.properties_out: Initialization Step 5 optimal - .\n" - ] - } - ], - "source": [ - "seq.run(m, function)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "We have now initialized the flowsheet. Let us run the flowsheet in a simulation mode to look at the results. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'scaling_factor' that contains 6\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 150 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 1097\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 877\n", - "\n", - "Total number of variables............................: 363\n", - " variables with only lower bounds: 8\n", - " variables with lower and upper bounds: 155\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 363\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 3.82e+04 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 8.69e+03 1.44e+03 -1.0 2.00e+04 - 9.71e-01 4.67e-01H 1\n", - " 2 0.0000000e+00 1.29e+03 1.56e+03 -1.0 1.60e+04 - 9.79e-01 4.90e-01h 1\n", - " 3 0.0000000e+00 1.18e+03 1.55e+05 -1.0 1.40e+04 - 9.90e-01 4.99e-01h 1\n", - " 4 0.0000000e+00 5.46e+02 2.32e+09 -1.0 8.42e+03 - 1.00e+00 9.82e-01h 1\n", - " 5 0.0000000e+00 5.46e+03 3.66e+10 -1.0 5.97e+02 - 1.00e+00 9.90e-01h 1\n", - " 6 0.0000000e+00 1.21e+03 8.01e+09 -1.0 5.75e+00 - 1.00e+00 1.00e+00h 1\n", - " 7 0.0000000e+00 6.41e+00 3.87e+07 -1.0 1.53e-03 - 1.00e+00 1.00e+00f 1\n", - " 8 0.0000000e+00 1.96e-04 9.36e+02 -1.0 7.28e-06 - 1.00e+00 1.00e+00h 1\n", - " 9 0.0000000e+00 2.24e-08 4.99e-01 -3.8 5.92e-08 - 1.00e+00 1.00e+00h 1\n", - "Cannot recompute multipliers for feasibility problem. Error in eq_mult_calculator\n", - "\n", - "Number of Iterations....: 9\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 1.5042487592972509e+04 1.5042487592972509e+04\n", - "Constraint violation....: 2.9103830456733704e-11 2.2351741790771484e-08\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.9103830456733704e-11 1.5042487592972509e+04\n", - "\n", - "\n", - "Number of objective function evaluations = 11\n", - "Number of objective gradient evaluations = 10\n", - "Number of equality constraint evaluations = 11\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 10\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 9\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.011\n", - "Total CPU secs in NLP function evaluations = 0.001\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], - "source": [ - "# Create the solver object\n", - "solver = get_solver()\n", - "\n", - "# Solve the model\n", - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Add distillation column \n", - "\n", - "As mentioned earlier, the `SequentialDecomposition` tool currently does not support the distillation column model. Thus, we have not included the distillation column in the flowsheet. Now that we have a converged flowsheet, we will add the distillation column and simulate the entire flowsheet. \n", - "\n", - "In the following, we will\n", - "- Add the distillation column \n", - "- Connect it to the heater \n", - "- Add the necessary equality constraints\n", - "- Propagate the state variable information from the outlet of the heater to the inlet of the distillation column \n", - "- Fix the degrees of freedom of the distillation block (reflux ratio, boilup ratio, and condenser pressure)\n", - "- Scale the control volume heat variables to help convergence\n", - "- Initialize the distillation block.\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_feed[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_liq[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_in_vap[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].material_flow_terms[Liq,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].material_flow_terms[Vap,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].material_flow_terms[Liq,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].material_flow_terms[Vap,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].enthalpy_flow_terms[Liq], enthalpy_flow_terms\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.properties_in[0.0].enthalpy_flow_terms[Vap], enthalpy_flow_terms\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].flow_mol_phase\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_comp[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_comp[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_phase_equilibrium[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_phase_equilibrium[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_P_vap[benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_out[0.0].eq_P_vap[toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].material_flow_terms[Liq,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].material_flow_terms[Vap,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].material_flow_terms[Liq,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].material_flow_terms[Vap,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].enthalpy_flow_terms[Liq], enthalpy_flow_terms\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.properties_in[0.0].enthalpy_flow_terms[Vap], enthalpy_flow_terms\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[2].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[3].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[7].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[8].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:34 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[9].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[4].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[6].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.feed_tray.e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_flow_vap_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_mole_frac_vap_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.rectification_section[1].e_mole_frac_vap_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.e_flow_reflux[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.e_mole_frac_reflux[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.condenser.control_volume.e_mole_frac_reflux[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_flow_liq_out[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_mole_frac_liq_out[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.stripping_section[10].e_mole_frac_liq_out[0.0,toluene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.e_flow_vapor_reboil[0.0]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.e_mole_frac_vapor_reboil[0.0,benzene]\n", - "2024-08-28 18:38:35 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.D101.reboiler.control_volume.e_mole_frac_vapor_reboil[0.0,toluene]\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101: Begin initialization.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray: Begin initialization.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:35 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:36 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: State Released.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_in_liq: State Released.\n", - "2024-08-28 18:38:37 [INFO] idaes.init.fs.D101.feed_tray.properties_in_vap: State Released.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:38 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_out: State Released.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume: Initialization Complete\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser: Initialization Complete, optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.condenser.control_volume.properties_in: State Released.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:39 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: State Released.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler: Initialization Complete, optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.reboiler.control_volume.properties_in: State Released.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.rectification_section[1]: Begin initialization.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:40 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:41 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: State Released.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_vap: State Released.\n", - "2024-08-28 18:38:42 [INFO] idaes.init.fs.D101.rectification_section[2]: Begin initialization.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:43 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: State Released.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:44 [INFO] idaes.init.fs.D101.rectification_section[2]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[2]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[2]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_vap: State Released.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[2].properties_in_liq: State Released.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3]: Begin initialization.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:45 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: State Released.\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:46 [INFO] idaes.init.fs.D101.rectification_section[3]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_vap: State Released.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[3].properties_in_liq: State Released.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4]: Begin initialization.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:47 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:48 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: State Released.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_liq: State Released.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6]: Begin initialization.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:49 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:50 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: State Released.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_vap: State Released.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[7]: Begin initialization.\n", - "2024-08-28 18:38:51 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:52 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: State Released.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:53 [INFO] idaes.init.fs.D101.stripping_section[7]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[7]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[7]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_vap: State Released.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[7].properties_in_liq: State Released.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8]: Begin initialization.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:54 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: State Released.\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:55 [INFO] idaes.init.fs.D101.stripping_section[8]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_vap: State Released.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[8].properties_in_liq: State Released.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9]: Begin initialization.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:56 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: State Released.\n", - "2024-08-28 18:38:57 [INFO] idaes.init.fs.D101.stripping_section[9].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_vap: State Released.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[9].properties_in_liq: State Released.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10]: Begin initialization.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:58 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n", - "2024-08-28 18:38:59 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: State Released.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_out: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10]: Mass balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10]: Mass and energy balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10]: Mass, energy and pressure balance solve optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10]: Initialization complete, status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:00 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_liq: State Released.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101: Rectification section initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101: Stripping section initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101.rectification_section[4].properties_in_vap: State Released.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101.stripping_section[6].properties_in_liq: State Released.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101: Column section initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:01 [INFO] idaes.init.fs.D101.rectification_section[1].properties_in_liq: State Released.\n", - "2024-08-28 18:39:02 [INFO] idaes.init.fs.D101: Column section + Condenser initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:02 [INFO] idaes.init.fs.D101.stripping_section[10].properties_in_vap: State Released.\n", - "2024-08-28 18:39:03 [INFO] idaes.init.fs.D101: Column section + Condenser + Reboiler initialization status optimal - Optimal Solution Found.\n", - "2024-08-28 18:39:03 [INFO] idaes.init.fs.D101.feed_tray.properties_in_feed: State Released.\n" - ] - } - ], - "source": [ - "# Add distillation column to the flowsheet\n", - "m.fs.D101 = TrayColumn(\n", - " number_of_trays=10,\n", - " feed_tray_location=5,\n", - " condenser_type=CondenserType.totalCondenser,\n", - " condenser_temperature_spec=TemperatureSpec.atBubblePoint,\n", - " property_package=m.fs.BT_params,\n", - ")\n", - "\n", - "# Connect the outlet from the heater H102 to the distillation column\n", - "m.fs.s11 = Arc(source=m.fs.H102.outlet, destination=m.fs.D101.feed)\n", - "\n", - "# Add the necessary equality constraints\n", - "TransformationFactory(\"network.expand_arcs\").apply_to(m)\n", - "\n", - "# Propagate the state\n", - "propagate_state(m.fs.s11)\n", - "\n", - "# Fix the reflux ratio, boilup ratio, and the condenser pressure\n", - "m.fs.D101.condenser.reflux_ratio.fix(0.5)\n", - "m.fs.D101.reboiler.boilup_ratio.fix(0.5)\n", - "m.fs.D101.condenser.condenser_pressure.fix(150000)\n", - "\n", - "# set scaling factors\n", - "# Set scaling factors for heat duty\n", - "iscale.set_scaling_factor(m.fs.D101.condenser.control_volume.heat, 1e-2)\n", - "iscale.set_scaling_factor(m.fs.D101.reboiler.control_volume.heat, 1e-2)\n", - "\n", - "# Set the scaling factors for the remaining variables and all constraints\n", - "iscale.calculate_scaling_factors(m.fs.D101)\n", - "\n", - "# Initialize the distillation column\n", - "m.fs.D101.initialize(outlvl=idaeslog.INFO)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding expressions to compute capital and operating costs\n", - "\n", - "In this section, we will add a few Expressions that allow us to evaluate the performance. Expressions provide a convenient way of calculating certain values that are a function of the variables defined in the model. For more details on Expressions, please refer to: https://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "metadata": {}, - "outputs": [], - "source": [ - "# Expression to compute the total cooling cost\n", - "m.fs.cooling_cost = Expression(\n", - " expr=0.25e-7 * (-m.fs.F101.heat_duty[0])\n", - " + 0.2e-7 * (-m.fs.D101.condenser.heat_duty[0])\n", - ")\n", - "\n", - "# Expression to compute the total heating cost\n", - "m.fs.heating_cost = Expression(\n", - " expr=2.2e-7 * m.fs.H101.heat_duty[0]\n", - " + 1.2e-7 * m.fs.H102.heat_duty[0]\n", - " + 1.9e-7 * m.fs.D101.reboiler.heat_duty[0]\n", - ")\n", - "\n", - "# Expression to compute the total operating cost\n", - "m.fs.operating_cost = Expression(\n", - " expr=(3600 * 24 * 365 * (m.fs.heating_cost + m.fs.cooling_cost))\n", - ")\n", - "\n", - "# Expression to compute the total capital cost\n", - "m.fs.capital_cost = Expression(expr=1e5 * m.fs.R101.volume[0])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Solve the entire flowsheet" - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 150 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 4042\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 2376\n", - "\n", - "Total number of variables............................: 1169\n", - " variables with only lower bounds: 112\n", - " variables with lower and upper bounds: 365\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 1169\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 3.83e+04 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 8.70e+03 1.50e+03 -1.0 3.69e+04 - 9.71e-01 4.62e-01H 1\n", - " 2 0.0000000e+00 1.53e+03 1.56e+03 -1.0 6.75e+03 - 9.77e-01 4.89e-01h 1\n", - " 3 0.0000000e+00 1.37e+03 1.55e+05 -1.0 9.37e+03 - 9.90e-01 4.99e-01h 1\n", - " 4 0.0000000e+00 6.14e+02 2.31e+09 -1.0 6.09e+03 - 1.00e+00 9.81e-01h 1\n", - " 5 0.0000000e+00 5.32e+03 3.62e+10 -1.0 5.56e+02 - 1.00e+00 9.90e-01h 1\n", - " 6 0.0000000e+00 1.16e+03 7.80e+09 -1.0 5.36e+00 - 1.00e+00 1.00e+00h 1\n", - " 7 0.0000000e+00 5.96e+00 3.64e+07 -1.0 1.47e-03 - 1.00e+00 1.00e+00f 1\n", - " 8 0.0000000e+00 1.69e-04 8.15e+02 -1.0 6.77e-06 - 1.00e+00 1.00e+00h 1\n", - " 9 0.0000000e+00 7.45e-09 6.64e-03 -3.8 2.00e-07 - 1.00e+00 1.00e+00h 1\n", - "Cannot recompute multipliers for feasibility problem. Error in eq_mult_calculator\n", - "\n", - "Number of Iterations....: 9\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 1.5042483516409773e+04 1.5042483516409773e+04\n", - "Constraint violation....: 2.9103830456733704e-11 7.4505805969238281e-09\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.9103830456733704e-11 1.5042483516409773e+04\n", - "\n", - "\n", - "Number of objective function evaluations = 11\n", - "Number of objective gradient evaluations = 10\n", - "Number of equality constraint evaluations = 11\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 10\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 9\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.083\n", - "Total CPU secs in NLP function evaluations = 0.013\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 1169, 'Number of variables': 1169, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.2022566795349121}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 53, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Analyze the Results of the Square Problem\n", - "\n", - "How much is the total cost (operating cost + capital cost), operating cost, capital cost, benzene purity in the distillate from the distilation column, and conversion of toluene in the reactor?" - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "total cost = $ 442301.47075252194\n", - "operating cost = $ 427596.73056805483\n", - "capital cost = $ 14704.740184467111\n", - "\n", - "Distillate flowrate = 0.16196898920633368 mol/s\n", - "Benzene purity = 89.4916166580088 %\n", - "Residue flowrate = 0.10515007120697904 mol/s\n", - "Toluene purity = 43.32260291055251 %\n", - "\n", - "Conversion = 75.0 %\n", - "\n", - "Overhead benzene loss in F101 = 42.161938483603194 %\n" - ] - } - ], - "source": [ - "print(\"total cost = $\", value(m.fs.capital_cost) + value(m.fs.operating_cost))\n", - "print(\"operating cost = $\", value(m.fs.operating_cost))\n", - "print(\"capital cost = $\", value(m.fs.capital_cost))\n", - "print()\n", - "print(\n", - " \"Distillate flowrate = \",\n", - " value(m.fs.D101.condenser.distillate.flow_mol[0]()),\n", - " \"mol/s\",\n", - ")\n", - "print(\n", - " \"Benzene purity = \",\n", - " 100 * value(m.fs.D101.condenser.distillate.mole_frac_comp[0, \"benzene\"]),\n", - " \"%\",\n", - ")\n", - "print(\"Residue flowrate = \", value(m.fs.D101.reboiler.bottoms.flow_mol[0]()), \"mol/s\")\n", - "print(\n", - " \"Toluene purity = \",\n", - " 100 * value(m.fs.D101.reboiler.bottoms.mole_frac_comp[0, \"toluene\"]),\n", - " \"%\",\n", - ")\n", - "print()\n", - "print(\"Conversion = \", 100 * value(m.fs.R101.conversion), \"%\")\n", - "print()\n", - "print(\n", - " \"Overhead benzene loss in F101 = \",\n", - " 100\n", - " * value(m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"])\n", - " / value(m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]),\n", - " \"%\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Get the state of the streams entering and leaving the reactor R101" - ] - }, - { - "cell_type": "code", - "execution_count": 57, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.R101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 0.0000 : watt : True : (None, None)\n", - " Volume : 0.14705 : meter ** 3 : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol_phase_comp ('Liq', 'benzene') mole / second 1.2993e-07 1.2993e-07\n", - " flow_mol_phase_comp ('Liq', 'toluene') mole / second 8.4147e-07 8.4147e-07\n", - " flow_mol_phase_comp ('Liq', 'methane') mole / second 1.0000e-12 1.0000e-12\n", - " flow_mol_phase_comp ('Liq', 'hydrogen') mole / second 1.0000e-12 1.0000e-12\n", - " flow_mol_phase_comp ('Vap', 'benzene') mole / second 0.11936 0.35374\n", - " flow_mol_phase_comp ('Vap', 'toluene') mole / second 0.31252 0.078129\n", - " flow_mol_phase_comp ('Vap', 'methane') mole / second 1.0377 1.2721\n", - " flow_mol_phase_comp ('Vap', 'hydrogen') mole / second 0.56260 0.32821\n", - " temperature kelvin 600.00 771.85\n", - " pressure pascal 3.5000e+05 3.5000e+05\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "m.fs.R101.report()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Get the state of the streams entering and leaving the reactor R101" - ] - }, - { - "cell_type": "code", - "execution_count": 58, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.F101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -70343. : watt : False : (None, None)\n", - " Pressure Change : 0.0000 : pascal : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Vapor Outlet Liquid Outlet\n", - " flow_mol_phase_comp ('Liq', 'benzene') mole / second 1.2993e-07 1.0000e-08 0.20460 \n", - " flow_mol_phase_comp ('Liq', 'toluene') mole / second 8.4147e-07 1.0000e-08 0.062520 \n", - " flow_mol_phase_comp ('Liq', 'methane') mole / second 1.0000e-12 1.0000e-08 2.6712e-07 \n", - " flow_mol_phase_comp ('Liq', 'hydrogen') mole / second 1.0000e-12 1.0000e-08 2.6712e-07 \n", - " flow_mol_phase_comp ('Vap', 'benzene') mole / second 0.35374 0.14915 1.0000e-08 \n", - " flow_mol_phase_comp ('Vap', 'toluene') mole / second 0.078129 0.015610 1.0000e-08 \n", - " flow_mol_phase_comp ('Vap', 'methane') mole / second 1.2721 1.2721 1.0000e-08 \n", - " flow_mol_phase_comp ('Vap', 'hydrogen') mole / second 0.32821 0.32821 1.0000e-08 \n", - " temperature kelvin 771.85 325.00 325.00 \n", - " pressure pascal 3.5000e+05 3.5000e+05 3.5000e+05 \n", - "====================================================================================\n" - ] - } - ], - "source": [ - "m.fs.F101.report()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, let's look at how much benzene we are losing with the light gases out of F101. IDAES has tools for creating stream tables based on the `Arcs` and/or `Ports` in a flowsheet. Let us create and print a simple stream table showing the stream leaving the reactor and the vapor stream from F101.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "How much benzene are we losing in the F101 vapor outlet stream?\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 59, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Units Reactor Light Gases\n", - "flow_mol_phase_comp ('Liq', 'benzene') mole / second 1.2993e-07 1.0000e-08 \n", - "flow_mol_phase_comp ('Liq', 'toluene') mole / second 8.4147e-07 1.0000e-08 \n", - "flow_mol_phase_comp ('Liq', 'methane') mole / second 1.0000e-12 1.0000e-08 \n", - "flow_mol_phase_comp ('Liq', 'hydrogen') mole / second 1.0000e-12 1.0000e-08 \n", - "flow_mol_phase_comp ('Vap', 'benzene') mole / second 0.35374 0.14915 \n", - "flow_mol_phase_comp ('Vap', 'toluene') mole / second 0.078129 0.015610 \n", - "flow_mol_phase_comp ('Vap', 'methane') mole / second 1.2721 1.2721 \n", - "flow_mol_phase_comp ('Vap', 'hydrogen') mole / second 0.32821 0.32821 \n", - "temperature kelvin 771.85 325.00 \n", - "pressure pascal 3.5000e+05 3.5000e+05 \n" - ] - } - ], - "source": [ - "from idaes.core.util.tables import (\n", - " create_stream_table_dataframe,\n", - " stream_table_dataframe_to_string,\n", - ")\n", - "\n", - "st = create_stream_table_dataframe({\"Reactor\": m.fs.s05, \"Light Gases\": m.fs.s06})\n", - "print(stream_table_dataframe_to_string(st))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "You can query additional variables here if you like. \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Optimization\n", - "\n", - "\n", - "We saw from the results above that the total operating cost for the base case was $442,297 per year. We are producing 0.162 mol/s of benzene at a purity of 89.5%. However, we are losing around 43.3% of benzene in F101 vapor outlet stream. \n", - "\n", - "Let us try to minimize this cost such that:\n", - "- we are producing at least 0.18 mol/s of benzene as distillate i.e. our product stream\n", - "- purity of benzene i.e. the mole fraction of benzene in the distillate is at least 99%\n", - "- restricting the benzene loss in F101 vapor outlet to less than 20%\n", - "\n", - "For this problem, our decision variables are as follows:\n", - "- H101 outlet temperature\n", - "- R101 outlet temperature\n", - "- F101 outlet temperature\n", - "- H102 outlet temperature\n", - "- Condenser pressure\n", - "- reflux ratio\n", - "- boilup ratio\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us declare our objective function for this problem. " - ] - }, - { - "cell_type": "code", - "execution_count": 60, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.objective = Objective(expr=m.fs.operating_cost + m.fs.capital_cost)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, we need to unfix the decision variables as we had solved a square problem (degrees of freedom = 0) until now. " - ] - }, - { - "cell_type": "code", - "execution_count": 61, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.H101.outlet.temperature.unfix()\n", - "m.fs.R101.conversion.unfix()\n", - "m.fs.F101.vap_outlet.temperature.unfix()\n", - "m.fs.D101.condenser.condenser_pressure.unfix()\n", - "m.fs.D101.condenser.reflux_ratio.unfix()\n", - "m.fs.D101.reboiler.boilup_ratio.unfix()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Let us now unfix the remaining variable: the temperature of the outlet from H102\n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 62, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Unfix the temperature of the outlet from H102" - ] - }, - { - "cell_type": "code", - "execution_count": 63, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Unfix the temperature of the outlet from H102\n", - "m.fs.H102.outlet.temperature.unfix()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we need to set bounds on these decision variables to values shown below:\n", - "\n", - " - H101 outlet temperature [500, 600] K\n", - " - R101 outlet temperature [600, 900] K\n", - " - F101 outlet temperature [298, 450] K\n", - " - H102 outlet temperature [350, 400] K\n", - " - D101 condenser pressure [101325, 150000] Pa\n", - " - D101 reflux ratio [0.1, 5]\n", - " - D101 boilup ratio [0.1, 5]" - ] - }, - { - "cell_type": "code", - "execution_count": 64, - "metadata": {}, - "outputs": [], - "source": [ - "# Set bounds on the temperature of the outlet from H101\n", - "m.fs.H101.outlet.temperature[0].setlb(500)\n", - "m.fs.H101.outlet.temperature[0].setub(600)\n", - "\n", - "# Set bounds on the temperature of the outlet from R101\n", - "m.fs.R101.outlet.temperature[0].setlb(600)\n", - "m.fs.R101.outlet.temperature[0].setub(900)\n", - "\n", - "# Set bounds on the volume of the reactor R101\n", - "m.fs.R101.volume[0].setlb(0)\n", - "\n", - "# Set bounds on the temperature of the vapor outlet from F101\n", - "m.fs.F101.vap_outlet.temperature[0].setlb(298)\n", - "m.fs.F101.vap_outlet.temperature[0].setub(450.0)\n", - "\n", - "# Set bounds on the temperature of the outlet from H102\n", - "m.fs.H102.outlet.temperature[0].setlb(350)\n", - "m.fs.H102.outlet.temperature[0].setub(400)\n", - "\n", - "# Set bounds on the pressure inside the condenser\n", - "m.fs.D101.condenser.condenser_pressure.setlb(101325)\n", - "m.fs.D101.condenser.condenser_pressure.setub(150000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Now, set the bounds for the D101 reflux ratio and boilup ratio.\n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 65, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Set bounds on the reflux ratio\n", - "\n", - "\n", - "# Todo: Set bounds on the boilup ratio" - ] - }, - { - "cell_type": "code", - "execution_count": 66, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Set bounds on the reflux ratio\n", - "m.fs.D101.condenser.reflux_ratio.setlb(0.1)\n", - "m.fs.D101.condenser.reflux_ratio.setub(5)\n", - "\n", - "# Todo: Set bounds on the boilup ratio\n", - "m.fs.D101.reboiler.boilup_ratio.setlb(0.1)\n", - "m.fs.D101.reboiler.boilup_ratio.setub(5)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, the only things left to define are our constraints on overhead loss in F101, distillate flowrate and its purity. Let us first look at defining a constraint for the overhead loss in F101 where we are restricting the benzene leaving the vapor stream to less than 20 % of the benzene available in the reactor outlet. " - ] - }, - { - "cell_type": "code", - "execution_count": 67, - "metadata": {}, - "outputs": [], - "source": [ - "# Ensure that the overhead loss of benzene from F101 <= 20%\n", - "m.fs.overhead_loss = Constraint(\n", - " expr=m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", - " <= 0.20 * m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Now, add the constraint such that we are producing at least 0.18 mol/s of benzene in the product stream which is the distillate of D101. Let us name this constraint as m.fs.product_flow. \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 68, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add minimum product flow constraint" - ] - }, - { - "cell_type": "code", - "execution_count": 69, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add minimum product flow constraint\n", - "m.fs.product_flow = Constraint(expr=m.fs.D101.condenser.distillate.flow_mol[0] >= 0.18)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us add the final constraint on product purity or the mole fraction of benzene in the distillate such that it is at least greater than 99%. " - ] - }, - { - "cell_type": "code", - "execution_count": 70, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.product_purity = Constraint(\n", - " expr=m.fs.D101.condenser.distillate.mole_frac_comp[0, \"benzene\"] >= 0.99\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "We have now defined the optimization problem and we are now ready to solve this problem. \n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 71, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'scaling_factor' that contains 3\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "WARNING: model contains export suffix 'scaling_factor' that contains 150 keys\n", - "that are not Var, Constraint, Objective, or the model. Skipping.\n", - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 4073\n", - "Number of nonzeros in inequality constraint Jacobian.: 6\n", - "Number of nonzeros in Lagrangian Hessian.............: 2391\n", - "\n", - "Total number of variables............................: 1176\n", - " variables with only lower bounds: 113\n", - " variables with lower and upper bounds: 372\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 1169\n", - "Total number of inequality constraints...............: 3\n", - " inequality constraints with only lower bounds: 2\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 1\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 4.4230147e+05 2.99e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 4.3753585e+05 2.91e+05 1.28e+02 -1.0 3.09e+06 - 3.58e-01 2.40e-02f 1\n", - " 2 4.3545100e+05 2.78e+05 1.55e+02 -1.0 1.78e+06 - 3.31e-01 4.74e-02h 1\n", - " 3 4.2822311e+05 2.20e+05 4.50e+02 -1.0 2.99e+06 - 2.95e-02 1.35e-01h 1\n", - " 4 4.2249096e+05 1.45e+05 1.43e+03 -1.0 7.01e+06 - 5.14e-01 2.03e-01h 1\n", - " 5 4.2194364e+05 8.17e+04 1.70e+04 -1.0 6.06e+06 - 5.97e-01 4.28e-01h 1\n", - " 6 4.2602765e+05 4.55e+04 1.10e+06 -1.0 4.32e+06 - 9.26e-01 5.07e-01h 1\n", - " 7 4.3776643e+05 2.03e+04 6.44e+09 -1.0 2.42e+06 - 9.90e-01 9.47e-01h 1\n", - " 8 4.3846260e+05 1.92e+04 6.05e+09 -1.0 4.42e+05 - 5.40e-01 5.74e-02h 1\n", - " 9 4.4529853e+05 4.05e+04 4.66e+10 -1.0 2.47e+05 - 9.96e-01 9.90e-01h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 4.4906283e+05 9.76e+03 1.10e+10 -1.0 1.12e+03 -4.0 1.26e-01 7.45e-01h 1\n", - " 11 4.5079086e+05 1.19e+03 1.54e+09 -1.0 5.63e+02 -4.5 3.77e-01 1.00e+00h 1\n", - " 12 4.5024224e+05 2.66e+00 3.67e+06 -1.0 6.61e+01 -5.0 1.00e+00 1.00e+00f 1\n", - " 13 4.4946170e+05 5.64e-01 9.29e+05 -1.0 1.81e+02 -5.4 1.00e+00 7.88e-01f 1\n", - " 14 4.4916780e+05 8.48e+00 1.62e+05 -1.0 2.83e+02 -5.9 1.00e+00 1.00e+00f 1\n", - " 15 4.4899127e+05 4.83e+00 9.07e+04 -1.0 1.01e+02 -6.4 1.00e+00 4.40e-01f 2\n", - " 16 4.4886718e+05 7.00e-01 4.61e+02 -1.0 2.35e+02 -6.9 1.00e+00 1.00e+00f 1\n", - " 17 4.4800159e+05 1.39e+02 4.52e+06 -3.8 1.17e+03 -7.3 9.79e-01 9.37e-01f 1\n", - " 18 4.4672196e+05 9.59e+02 1.22e+06 -3.8 4.55e+03 -7.8 1.00e+00 9.43e-01f 1\n", - " 19 4.4401667e+05 7.75e+03 1.55e+05 -3.8 1.08e+04 -8.3 1.00e+00 1.00e+00f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 20 4.4185035e+05 1.91e+04 1.36e+04 -3.8 1.33e+04 -8.8 1.00e+00 1.00e+00h 1\n", - " 21 4.4241001e+05 3.52e+03 5.96e+03 -3.8 2.94e+03 -9.2 1.00e+00 1.00e+00h 1\n", - " 22 4.4185237e+05 7.82e+00 2.91e+02 -3.8 7.13e+03 -9.7 2.39e-01 1.00e+00h 1\n", - " 23 4.4124091e+05 1.53e+01 3.11e+02 -3.8 4.82e+04 -10.2 8.59e-01 1.36e-01f 1\n", - " 24 4.4137379e+05 1.80e+00 2.91e+02 -3.8 1.41e+04 - 1.95e-01 1.00e+00h 1\n", - " 25 4.3862833e+05 1.70e+03 9.48e+04 -3.8 1.57e+07 - 1.29e-03 9.10e-02f 1\n", - " 26 4.3883308e+05 1.49e+03 8.46e+04 -3.8 1.02e+06 - 1.00e+00 1.35e-01h 1\n", - " 27 4.3885472e+05 2.18e+01 3.40e+03 -3.8 1.38e+05 - 1.00e+00 1.00e+00h 1\n", - " 28 4.3884160e+05 5.90e-02 6.38e+01 -3.8 8.66e+03 - 1.00e+00 1.00e+00h 1\n", - " 29 4.3884157e+05 6.48e-07 4.63e-04 -3.8 2.89e+01 - 1.00e+00 1.00e+00h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 30 4.3883990e+05 3.57e-01 2.38e+03 -5.7 8.19e+02 - 1.00e+00 1.00e+00f 1\n", - " 31 4.3883992e+05 3.50e-07 7.79e-06 -5.7 3.55e-01 - 1.00e+00 1.00e+00h 1\n", - " 32 4.3883990e+05 5.47e-05 3.63e-01 -8.0 1.01e+01 - 1.00e+00 1.00e+00h 1\n", - " 33 4.3883990e+05 2.24e-08 1.46e-07 -8.0 5.42e-05 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 33\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 4.3883989842628603e+02 4.3883989842628600e+05\n", - "Dual infeasibility......: 1.4600704448671754e-07 1.4600704448671753e-04\n", - "Constraint violation....: 2.9103830456733704e-11 2.2351741790771484e-08\n", - "Complementarity.........: 9.0909948039799681e-09 9.0909948039799686e-06\n", - "Overall NLP error.......: 9.0909948039799681e-09 1.4600704448671753e-04\n", - "\n", - "\n", - "Number of objective function evaluations = 35\n", - "Number of objective gradient evaluations = 34\n", - "Number of equality constraint evaluations = 35\n", - "Number of inequality constraint evaluations = 35\n", - "Number of equality constraint Jacobian evaluations = 34\n", - "Number of inequality constraint Jacobian evaluations = 34\n", - "Number of Lagrangian Hessian evaluations = 33\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.164\n", - "Total CPU secs in NLP function evaluations = 0.020\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], - "source": [ - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Optimization Results\n", - "\n", - "Display the results and product specifications" - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "total cost = $ 438839.898426286\n", - "operating cost = $ 408883.5314830889\n", - "capital cost = $ 29956.3669431971\n", - "\n", - "Distillate flowrate = 0.1799999900263989 mol/s\n", - "Benzene purity = 98.99999900049086 %\n", - "Residue flowrate = 0.1085161642426372 mol/s\n", - "Toluene purity = 15.676178086213548 %\n", - "\n", - "Conversion = 93.38705916369427 %\n", - "\n", - "Overhead benzene loss in F101 = 17.34061793115618 %\n" - ] + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "# HDA Flowsheet Simulation and Optimization\n", + "Maintainer: Brandon Paul \n", + "Author: Brandon Paul \n", + "Updated: 2023-06-01 \n", + "\n", + "\n", + "## Note\n", + "\n", + "This tutorial will be similar to the HDA flowsheet tutorial in the Tutorials section, except that we use a distillation column instead of a second flash (F102) to produce benzene and toluene products.\n", + "\n", + "\n", + "## Learning outcomes\n", + "\n", + "\n", + "- Construct a steady-state flowsheet using the IDAES unit model library\n", + "- Connecting unit models in a flowsheet using Arcs\n", + "- Using the SequentialDecomposition tool to initialize a flowsheet with recycle\n", + "- Fomulate and solve an optimization problem\n", + " - Defining an objective function\n", + " - Setting variable bounds\n", + " - Adding additional constraints \n", + "\n", + "\n", + "## Problem Statement\n", + "\n", + "Hydrodealkylation is a chemical reaction that often involves reacting\n", + "an aromatic hydrocarbon in the presence of hydrogen gas to form a\n", + "simpler aromatic hydrocarbon devoid of functional groups. In this\n", + "example, toluene will be reacted with hydrogen gas at high temperatures\n", + " to form benzene via the following reaction:\n", + "\n", + "**C6H5CH3 + H2 \u2192 C6H6 + CH4**\n", + "\n", + "\n", + "This reaction is often accompanied by an equilibrium side reaction\n", + "which forms diphenyl, which we will neglect for this example.\n", + "\n", + "This example is based on the 1967 AIChE Student Contest problem as\n", + "present by Douglas, J.M., Chemical Design of Chemical Processes, 1988,\n", + "McGraw-Hill.\n", + "\n", + "The flowsheet that we will be using for this module is shown below with the stream conditions. We will be processing toluene and hydrogen to produce at least 370 TPY of benzene. As shown in the flowsheet, we use a flash tank, F101, to separate out the non-condensibles, and a distillation column, D101, to further separate the benzene-toluene mixture to improve the benzene purity. The non-condensibles separated out in F101 will be partially recycled back to M101 and the rest will be purged. We will assume ideal gas behavior for this flowsheet. The properties required for this module are defined in\n", + "\n", + "- `hda_ideal_VLE.py`\n", + "- `idaes.models.properties.activity_coeff_models.BTX_activity_coeff_VLE`\n", + "- `hda_reaction.py`\n", + "\n", + "We will be using two thermodynamic packages: one (first in the list above) containing all four components (i.e., toluene, hydrogen, benzene, and methane) and the other (second in the list above) containing benzene and toluene only. The latter is needed to simplify the VLE calculations in the distillation column model. \n", + "\n", + "![](HDA_flowsheet_distillation.png)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Translator block\n", + "\n", + "Benzene and toluene are separated by distillation, so the process involves phase equilibrium and two-phase flow conditions. However, the presence of hydrogen and methane complicates the calculations. This is because, hydrogen and methane are non-condensable under all conditions of interest; ergo, a vapor phase will always be present, and the mixture bubble point is extremely low. To simplify the phase equilibrium calculations, hydrogen and methane will be considered completely as non-condensable and insoluble in the liquid outlet from the flash F101.\n", + "\n", + "Since no hydrogen and methane will be present in the unit operations following the flash, a different component list can be used to simplify the property calculations. IDAES supports the definition of multiple property packages within a single flowsheet via `Translator` blocks. `Translator` blocks convert between different property calculations, component lists, and equations of state. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing required pyomo and idaes components\n", + "\n", + "\n", + "To construct a flowsheet, we will need several components from the pyomo and idaes package. Let us first import the following components from Pyomo:\n", + "- Constraint (to write constraints)\n", + "- Var (to declare variables)\n", + "- ConcreteModel (to create the concrete model object)\n", + "- Expression (to evaluate values as a function of variables defined in the model)\n", + "- Objective (to define an objective function for optimization)\n", + "- SolverFactory (to solve the problem)\n", + "- TransformationFactory (to apply certain transformations)\n", + "- Arc (to connect two unit models)\n", + "- SequentialDecomposition (to initialize the flowsheet in a sequential mode)\n", + "\n", + "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/stable/\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import (\n", + " Constraint,\n", + " Var,\n", + " ConcreteModel,\n", + " Expression,\n", + " Objective,\n", + " TransformationFactory,\n", + " value,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Import `Arc` and `SequentialDecomposition` tools from `pyomo.network`\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Import the above mentioned tools from pyomo.network" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Import the above mentioned tools from pyomo.network\n", + "from pyomo.network import Arc, SequentialDecomposition" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From IDAES, we will be needing the FlowsheetBlock and the following unit models:\n", + "- Mixer\n", + "- Heater\n", + "- CSTR\n", + "- Flash\n", + "- Separator (splitter) \n", + "- PressureChanger\n", + "- Translator (to switch from one property package to another)\n", + "- TrayColumn (distillation column)\n", + "- CondenserType (Type of the overhead condenser: complete or partial)\n", + "- TemperatureSpec (Temperature specification inside the condenser)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core import FlowsheetBlock" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.models.unit_models import (\n", + " PressureChanger,\n", + " Mixer,\n", + " Separator as Splitter,\n", + " Heater,\n", + " CSTR,\n", + " Flash,\n", + " Translator,\n", + ")\n", + "\n", + "from idaes.models_extra.column_models import TrayColumn\n", + "from idaes.models_extra.column_models.condenser import CondenserType, TemperatureSpec" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will also be needing some utility tools to put together the flowsheet and calculate the degrees of freedom. " + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# Utility tools to put together the flowsheet and calculate the degrees of freedom\n", + "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.core.util.initialization import propagate_state\n", + "from idaes.core.solvers import get_solver\n", + "import idaes.core.util.scaling as iscale\n", + "from idaes.core.util.exceptions import InitializationError\n", + "\n", + "# Import idaes logger to set output levels\n", + "import idaes.logger as idaeslog" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing required thermo and reaction packages\n", + "\n", + "Finally, we import the thermophysical (`ideal_VLE.py` and `BTXParameterBlock`) packages and reaction package (`reaction.py`) for the HDA process. We have created custom thermophysical packages that assume ideal gas behavior with support for VLE. The reaction package consists of the stochiometric coefficients for the reaction, heat of reaction, and kinetic information (Arrhenius constant and activation energy). " + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes_examples.mod.hda import hda_reaction as reaction_props\n", + "from idaes.models.properties.activity_coeff_models.BTX_activity_coeff_VLE import (\n", + " BTXParameterBlock,\n", + ")\n", + "\n", + "from idaes_examples.mod.hda.hda_ideal_VLE import HDAParameterBlock" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Constructing the Flowsheet\n", + "\n", + "We have now imported all the components, unit models, and property modules we need to construct a flowsheet. Let us create a ConcreteModel and add the flowsheet block to it. " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "# Create a Pyomo Concrete Model to contain the problem\n", + "m = ConcreteModel()\n", + "\n", + "# Add a steady state flowsheet block to the model\n", + "m.fs = FlowsheetBlock(dynamic=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now add the thermophysical and reaction packages to the flowsheet." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "# Property package for benzene, toluene, hydrogen, methane mixture\n", + "m.fs.BTHM_params = HDAParameterBlock()\n", + "\n", + "# Property package for the benzene-toluene mixture\n", + "m.fs.BT_params = BTXParameterBlock(\n", + " valid_phase=(\"Liq\", \"Vap\"), activity_coeff_model=\"Ideal\"\n", + ")\n", + "\n", + "# Reaction package for the HDA reaction\n", + "m.fs.reaction_params = reaction_props.HDAReactionParameterBlock(\n", + " property_package=m.fs.BTHM_params\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding Unit Models\n", + "\n", + "Let us start adding the unit models we have imported to the flowsheet. Here, we are adding the Mixer (assigned a name M101) and a Heater (assigned a name H101). Note that, all unit models need to be given a property package argument. In addition, the Mixer unit model needs a `list` consisting of the inlets (toluene feed, hydrogen feed and vapor recycle streams in this case). " + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "# Adding the mixer M101 to the flowsheet\n", + "m.fs.M101 = Mixer(\n", + " property_package=m.fs.BTHM_params,\n", + " inlet_list=[\"toluene_feed\", \"hydrogen_feed\", \"vapor_recycle\"],\n", + ")\n", + "\n", + "# Adding the heater H101 to the flowsheet\n", + "m.fs.H101 = Heater(property_package=m.fs.BTHM_params, has_phase_equilibrium=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Let us now add the CSTR (assign the name R101) and pass the following arguments:\n", + "
    \n", + "
  • \"property_package\": m.fs.BTHM_params
  • \n", + "
  • \"reaction_package\": m.fs.reaction_params
  • \n", + "
  • \"has_heat_of_reaction\": True
  • \n", + "
  • \"has_heat_transfer\": True
  • \n", + "
\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add reactor with the specifications above" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add reactor with the specifications above\n", + "m.fs.R101 = CSTR(\n", + " property_package=m.fs.BTHM_params,\n", + " reaction_package=m.fs.reaction_params,\n", + " has_heat_of_reaction=True,\n", + " has_heat_transfer=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us now add the Flash (assign the name F101), Splitter (assign the name S101) and PressureChanger (assign the name C101)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "# Adding the flash tank F101 to the flowsheet\n", + "m.fs.F101 = Flash(\n", + " property_package=m.fs.BTHM_params, has_heat_transfer=True, has_pressure_change=True\n", + ")\n", + "\n", + "# Adding the splitter S101 to the flowsheet\n", + "m.fs.S101 = Splitter(\n", + " property_package=m.fs.BTHM_params, outlet_list=[\"purge\", \"recycle\"]\n", + ")\n", + "\n", + "# Adding the compressor C101 to the flowsheet\n", + "m.fs.C101 = PressureChanger(\n", + " property_package=m.fs.BTHM_params,\n", + " compressor=True,\n", + " thermodynamic_assumption=ThermodynamicAssumption.isothermal,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Remark\n", + "\n", + "Currently, the `SequentialDecomposition()` tool, which we will later be using to initialize the flowsheet, does not support the distillation column model. Thus, we will first simulate the flowsheet without the distillation column. After it converges, we will then add the distillation column, initialize it, and simulate the entire flowsheet." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As mentioned above, we use the `m.fs.BTHM_params` package, which contains all the four species, for the reactor loop, and the simpler `m.fs.BT_params` for unit operations following the flash (i.e., heater H102 and the distillation column D101). We define a `Translator` block to link the source property package and the package it is to be translated to in the following manner:" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "# Add translator block to convert between property packages\n", + "m.fs.translator = Translator(\n", + " inlet_property_package=m.fs.BTHM_params, outlet_property_package=m.fs.BT_params\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Translator block constraints\n", + "\n", + "The `Translator` block needs to know how to translate between the two property packages. This must be custom coded for each application because of the generality of the IDAES framework.\n", + "\n", + "For this process, five constraints are required based on the state variables used in the outgoing process.\n", + "\n", + "- Since we assumed that only benzene and toluene are present in the liquid phase, the total molar flowrate must be the sum of molar flowrates of benzene and toluene, respectively.\n", + "- Temperature of the inlet and outlet streams must be the same.\n", + "- Pressure of the inlet and outgoing streams must be the same\n", + "- The mole fraction of benzene in the outgoing stream is the ratio of the molar flowrate of liquid benzene in the inlet to the sum of molar flowrates of liquid benzene and toluene in the inlet.\n", + "- The mole fraction of toluene in the outgoing stream is the ratio of the molar flowrate of liquid toluene in the inlet to the sum of molar flowrates of liquid benzene and toluene in the inlet." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "# Add constraint: Total flow = benzene flow + toluene flow (molar)\n", + "m.fs.translator.eq_total_flow = Constraint(\n", + " expr=m.fs.translator.outlet.flow_mol[0]\n", + " == m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", + " + m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", + ")\n", + "\n", + "# Add constraint: Outlet temperature = Inlet temperature\n", + "m.fs.translator.eq_temperature = Constraint(\n", + " expr=m.fs.translator.outlet.temperature[0] == m.fs.translator.inlet.temperature[0]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the above, note that the variable flow_mol_phase_comp has the index - [time, phase, component]. As this is a steady-state flowsheet, the time index by default is 0. The valid phases are [\"Liq\", \"Vap\"]. Similarly the valid component list is [\"benzene\", \"toluene\", \"hydrogen\", \"methane\"]." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Add the constraint to ensure that the outlet pressure is the same as the inlet pressure\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add constraint: Outlet pressure = Inlet pressure" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add constraint: Outlet pressure = Inlet pressure\n", + "m.fs.translator.eq_pressure = Constraint(\n", + " expr=m.fs.translator.outlet.pressure[0] == m.fs.translator.inlet.pressure[0]\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "# Remaining constraints on the translator block\n", + "\n", + "# Add constraint: Benzene mole fraction definition\n", + "m.fs.translator.eq_mole_frac_benzene = Constraint(\n", + " expr=m.fs.translator.outlet.mole_frac_comp[0, \"benzene\"]\n", + " == m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", + " / (\n", + " m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", + " + m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", + " )\n", + ")\n", + "\n", + "# Add constraint: Toluene mole fraction definition\n", + "m.fs.translator.eq_mole_frac_toluene = Constraint(\n", + " expr=m.fs.translator.outlet.mole_frac_comp[0, \"toluene\"]\n", + " == m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", + " / (\n", + " m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"benzene\"]\n", + " + m.fs.translator.inlet.flow_mol_phase_comp[0, \"Liq\", \"toluene\"]\n", + " )\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Finally, let us add the Heater H102 in the same way as H101 but pass the m.fs.BT_params thermodynamic package. We will add the distillation column after converging the flowsheet.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add the Heater H102 to the flowsheet" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add the Heater H102 to the flowsheet\n", + "m.fs.H102 = Heater(\n", + " property_package=m.fs.BT_params,\n", + " has_pressure_change=True,\n", + " has_phase_equilibrium=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Connecting Unit Models using Arcs\n", + "\n", + "We have now added the initial set of unit models to the flowsheet. However, we have not yet specified how the units are connected. To do this, we will be using the `Arc` which is a pyomo component that takes in two arguments: `source` and `destination`. Let us connect the outlet of the mixer (M101) to the inlet of the heater (H101). " + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.H101.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "![](HDA_flowsheet_distillation.png) \n", + "\n", + "
\n", + "Inline Exercise:\n", + "Now, connect the H101 outlet to the R101 inlet using the cell above as a guide. \n", + "
\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Connect the H101 outlet to R101 inlet" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Connect the H101 outlet to R101 inlet\n", + "m.fs.s04 = Arc(source=m.fs.H101.outlet, destination=m.fs.R101.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now be connecting the rest of the units as shown below. Notice how the outlet names are different for the flash tank as it has a vapor and a liquid outlet. " + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.s05 = Arc(source=m.fs.R101.outlet, destination=m.fs.F101.inlet)\n", + "m.fs.s06 = Arc(source=m.fs.F101.vap_outlet, destination=m.fs.S101.inlet)\n", + "m.fs.s08 = Arc(source=m.fs.S101.recycle, destination=m.fs.C101.inlet)\n", + "m.fs.s09 = Arc(source=m.fs.C101.outlet, destination=m.fs.M101.vapor_recycle)\n", + "m.fs.s10a = Arc(source=m.fs.F101.liq_outlet, destination=m.fs.translator.inlet)\n", + "m.fs.s10b = Arc(source=m.fs.translator.outlet, destination=m.fs.H102.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We have now connected the unit model block using the arcs. However, each of these arcs link to ports on the two unit models that are connected. In this case, the ports consist of the state variables that need to be linked between the unit models. Pyomo provides a convenient method to write these equality constraints for us between two ports and this is done as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "TransformationFactory(\"network.expand_arcs\").apply_to(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Appending additional constraints to the model\n", + "\n", + "Now, we will see how we can add additional constraints to the model using `Constraint` from Pyomo.\n", + "\n", + "Consider the reactor R101. By default, the conversion of a component is not calculated when we simulate the flowsheet. If we are interested either in specifying or constraining the conversion value, we can add the following constraint to calculate the conversion:\n", + "$$ \\text{Conversion of toluene} = \\frac{\\text{molar flow of toluene in the inlet} - \\text{molar flow of toluene in the outlet}}{\\text{molar flow of toluene in the inlet}} $$ \n", + "\n", + "We add the constraint to the model as shown below." + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "# Define the conversion variables using 'Var'\n", + "m.fs.R101.conversion = Var(initialize=0.75, bounds=(0, 1))\n", + "\n", + "# Append the constraint to the model\n", + "m.fs.R101.conv_constraint = Constraint(\n", + " expr=m.fs.R101.conversion * m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " == (\n", + " m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " - m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " )\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fixing feed conditions and Initializing the flowsheet\n", + "\n", + "Let us first check how many degrees of freedom exist for this flowsheet using the `degrees_of_freedom` tool we imported earlier. " + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now be fixing the toluene feed stream to the conditions shown in the flowsheet above. Please note that though this is a pure toluene feed, the remaining components are still assigned a very small non-zero value to help with convergence and initializing. " + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(0.30)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.temperature.fix(303.2)\n", + "m.fs.M101.toluene_feed.pressure.fix(350000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Similarly, let us fix the hydrogen feed to the following conditions in the next cell:\n", + "
    \n", + "
  • FH2 = 0.30 mol/s
  • \n", + "
  • FCH4 = 0.02 mol/s
  • \n", + "
  • Remaining components = 1e-5 mol/s
  • \n", + "
  • T = 303.2 K
  • \n", + "
  • P = 350000 Pa
  • \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(0.30)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(0.02)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.temperature.fix(303.2)\n", + "m.fs.M101.hydrogen_feed.pressure.fix(350000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Fixing unit model specifications\n", + "\n", + "Now that we have fixed our inlet feed conditions, we will now be fixing the operating conditions for the unit models in the flowsheet. Let us set the H101 outlet temperature to 600 K. " + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "# Fix the temperature of the outlet from the heater H101\n", + "m.fs.H101.outlet.temperature.fix(600)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Set the conditions for the reactor R101 to the following conditions:\n", + "
    \n", + "
  • `conversion` = 0.75
  • \n", + "
  • `heat_duty` = 0
  • \n", + "
\n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Fix the 'conversion' of the reactor R101\n", + "\n", + "\n", + "# Todo: Fix the 'heat_duty' of the reactor R101" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Fix the 'conversion' of the reactor R101\n", + "m.fs.R101.conversion.fix(0.75)\n", + "\n", + "# Todo: Fix the 'heat_duty' of the reactor R101\n", + "m.fs.R101.heat_duty.fix(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The Flash conditions for F101 can be set as follows. " + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [], + "source": [ + "# Fix the temperature of the vapor outlet from F101\n", + "m.fs.F101.vap_outlet.temperature.fix(325.0)\n", + "\n", + "# Fix the pressure drop in the flash F101\n", + "m.fs.F101.deltaP.fix(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us fix the split fraction of the purge stream from the splitter S101 and the outlet pressure from the compressor C101" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [], + "source": [ + "# Fix the split fraction of the 'purge' stream from S101\n", + "m.fs.S101.split_fraction[0, \"purge\"].fix(0.2)\n", + "\n", + "# Fix the pressure of the outlet from the compressor C101\n", + "m.fs.C101.outlet.pressure.fix(350000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, let us fix the temperature of the outlet from H102 and the pressure drop in H102 as the following" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [], + "source": [ + "# Fix the temperature of the outlet from the heater H102\n", + "m.fs.H102.outlet.temperature.fix(375)\n", + "\n", + "# Fix the pressure drop in the heater H102\n", + "m.fs.H102.deltaP.fix(-200000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To avoid convergence issues associated with poorly scaled variables and/or constraints, we scale the variables and constraints corresponding to the heaters H101 and H102, flash F101 and the reactor R101. Scaling factors for the flow rates, temperature, pressure, etc. have been defined in the property package: `ideal_VLE.py` file. Here, we set scaling factors only for the heat duty of the heater, the reaction extent, heat duty and volume of the reactor." + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [], + "source": [ + "# Set scaling factors for heat duty, reaction extent and volume\n", + "iscale.set_scaling_factor(m.fs.H101.control_volume.heat, 1e-2)\n", + "iscale.set_scaling_factor(m.fs.R101.control_volume.heat, 1e-2)\n", + "iscale.set_scaling_factor(m.fs.R101.control_volume.rate_reaction_extent, 1)\n", + "iscale.set_scaling_factor(m.fs.R101.control_volume.volume, 1)\n", + "iscale.set_scaling_factor(m.fs.F101.control_volume.heat, 1e-2)\n", + "iscale.set_scaling_factor(m.fs.H102.control_volume.heat, 1e-2)\n", + "\n", + "# Set the scaling factors for the remaining variables and all constraints\n", + "iscale.calculate_scaling_factors(m.fs.H101)\n", + "iscale.calculate_scaling_factors(m.fs.R101)\n", + "iscale.calculate_scaling_factors(m.fs.F101)\n", + "iscale.calculate_scaling_factors(m.fs.H102)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "We have now defined all the feed conditions and the inputs required for the unit models. The system should now have 0 degrees of freedom i.e. should be a square problem. Please check that the degrees of freedom is 0. \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Check the degrees of freedom" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Check the degrees of freedom\n", + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Initialization\n", + "\n", + "This subsection will demonstrate how to use the built-in sequential decomposition tool to initialize our flowsheet.\n", + "\n", + "Let us first create an object for the `SequentialDecomposition` and specify our options for this. " + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [], + "source": [ + "seq = SequentialDecomposition()\n", + "seq.options.select_tear_method = \"heuristic\"\n", + "seq.options.tear_method = \"Wegstein\"\n", + "seq.options.iterLim = 3\n", + "\n", + "# Using the SD tool\n", + "G = seq.create_graph(m)\n", + "heuristic_tear_set = seq.tear_set_arcs(G, method=\"heuristic\")\n", + "order = seq.calculation_order(G)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Which is the tear stream? Display tear set and order" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [], + "source": [ + "for o in heuristic_tear_set:\n", + " print(o.name)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What sequence did the SD tool determine to solve this flowsheet with the least number of tears? " + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [], + "source": [ + "for o in order:\n", + " print(o[0].name)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The SequentialDecomposition tool has determined that the tear stream is the mixer outlet (s03 in the Figure above). We will need to provide a reasonable guess for this.\n", + "\n", + "For the initial guess, we assume that the flowrate of the recycle stream (s09) is zero. Consequently, the flow rate of the stream s03 is simply the sum of the flowrates of the toluene feed and hydrogen feed streams. Further, since the temperature and the pressure of both the toluene and hydrogen feed streams are the same, we specify their values as the initial guess for the temperature and pressure of the stream s03." + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [], + "source": [ + "tear_guesses = {\n", + " \"flow_mol_phase_comp\": {\n", + " (0, \"Vap\", \"benzene\"): 1e-5,\n", + " (0, \"Vap\", \"toluene\"): 1e-5,\n", + " (0, \"Vap\", \"hydrogen\"): 0.30,\n", + " (0, \"Vap\", \"methane\"): 0.02,\n", + " (0, \"Liq\", \"benzene\"): 1e-5,\n", + " (0, \"Liq\", \"toluene\"): 0.30,\n", + " (0, \"Liq\", \"hydrogen\"): 1e-5,\n", + " (0, \"Liq\", \"methane\"): 1e-5,\n", + " },\n", + " \"temperature\": {0: 303.2},\n", + " \"pressure\": {0: 350000},\n", + "}\n", + "\n", + "# Pass the tear_guess to the SD tool\n", + "seq.set_guesses_for(m.fs.H101.inlet, tear_guesses)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we need to tell the tool how to initialize a particular unit. We will be writing a python function which takes in a \"unit\" and calls the initialize method on that unit. For the initialization, we will import a Block Triangularization Initializer which decomposes the model into a set of subproblems. These subproblems are solved using a block triangularization transformation before applying a simple Newton or user-selected solver. Methods such as block triangularization often solve faster and yield more reliable behavior than heuristic methods, but sometime struggle to decompose models with strongly coupled equations (e.g. column models, systems with counter-current flow, vapor-liquid equilibrium)." + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [], + "source": [ + "def function(unit):\n", + " # Try initializing using default initializer,\n", + " # if it fails (probably due to scaling) try for the second time\n", + " try:\n", + " initializer = unit.default_initializer()\n", + " initializer.initialize(unit, output_level=idaeslog.INFO)\n", + " except InitializationError:\n", + " solver = get_solver()\n", + " solver.solve(unit)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We are now ready to initialize our flowsheet in a sequential mode. Note that we specifically set the iteration limit to be 3 as we are trying to use this tool only to get a good set of initial values such that IPOPT can then take over and solve this flowsheet for us. " + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "seq.run(m, function)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "We have now initialized the flowsheet. Let us run the flowsheet in a simulation mode to look at the results. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [], + "source": [ + "# Create the solver object\n", + "solver = get_solver()\n", + "\n", + "# Solve the model\n", + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Add distillation column \n", + "\n", + "As mentioned earlier, the `SequentialDecomposition` tool currently does not support the distillation column model. Thus, we have not included the distillation column in the flowsheet. Now that we have a converged flowsheet, we will add the distillation column and simulate the entire flowsheet. \n", + "\n", + "In the following, we will\n", + "- Add the distillation column \n", + "- Connect it to the heater \n", + "- Add the necessary equality constraints\n", + "- Propagate the state variable information from the outlet of the heater to the inlet of the distillation column \n", + "- Fix the degrees of freedom of the distillation block (reflux ratio, boilup ratio, and condenser pressure)\n", + "- Scale the control volume heat variables to help convergence\n", + "- Initialize the distillation block.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [], + "source": [ + "# Add distillation column to the flowsheet\n", + "m.fs.D101 = TrayColumn(\n", + " number_of_trays=10,\n", + " feed_tray_location=5,\n", + " condenser_type=CondenserType.totalCondenser,\n", + " condenser_temperature_spec=TemperatureSpec.atBubblePoint,\n", + " property_package=m.fs.BT_params,\n", + ")\n", + "\n", + "# Connect the outlet from the heater H102 to the distillation column\n", + "m.fs.s11 = Arc(source=m.fs.H102.outlet, destination=m.fs.D101.feed)\n", + "\n", + "# Add the necessary equality constraints\n", + "TransformationFactory(\"network.expand_arcs\").apply_to(m)\n", + "\n", + "# Propagate the state\n", + "propagate_state(m.fs.s11)\n", + "\n", + "# Fix the reflux ratio, boilup ratio, and the condenser pressure\n", + "m.fs.D101.condenser.reflux_ratio.fix(0.5)\n", + "m.fs.D101.reboiler.boilup_ratio.fix(0.5)\n", + "m.fs.D101.condenser.condenser_pressure.fix(150000)\n", + "\n", + "# set scaling factors\n", + "# Set scaling factors for heat duty\n", + "iscale.set_scaling_factor(m.fs.D101.condenser.control_volume.heat, 1e-2)\n", + "iscale.set_scaling_factor(m.fs.D101.reboiler.control_volume.heat, 1e-2)\n", + "\n", + "# Set the scaling factors for the remaining variables and all constraints\n", + "iscale.calculate_scaling_factors(m.fs.D101)\n", + "\n", + "# Initialize the distillation column\n", + "m.fs.D101.initialize(outlvl=idaeslog.INFO)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding expressions to compute capital and operating costs\n", + "\n", + "In this section, we will add a few Expressions that allow us to evaluate the performance. Expressions provide a convenient way of calculating certain values that are a function of the variables defined in the model. For more details on Expressions, please refer to: https://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [], + "source": [ + "# Expression to compute the total cooling cost\n", + "m.fs.cooling_cost = Expression(\n", + " expr=0.25e-7 * (-m.fs.F101.heat_duty[0])\n", + " + 0.2e-7 * (-m.fs.D101.condenser.heat_duty[0])\n", + ")\n", + "\n", + "# Expression to compute the total heating cost\n", + "m.fs.heating_cost = Expression(\n", + " expr=2.2e-7 * m.fs.H101.heat_duty[0]\n", + " + 1.2e-7 * m.fs.H102.heat_duty[0]\n", + " + 1.9e-7 * m.fs.D101.reboiler.heat_duty[0]\n", + ")\n", + "\n", + "# Expression to compute the total operating cost\n", + "m.fs.operating_cost = Expression(\n", + " expr=(3600 * 24 * 365 * (m.fs.heating_cost + m.fs.cooling_cost))\n", + ")\n", + "\n", + "# Expression to compute the total capital cost\n", + "m.fs.capital_cost = Expression(expr=1e5 * m.fs.R101.volume[0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Solve the entire flowsheet" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [], + "source": [ + "solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Analyze the Results of the Square Problem\n", + "\n", + "How much is the total cost (operating cost + capital cost), operating cost, capital cost, benzene purity in the distillate from the distilation column, and conversion of toluene in the reactor?" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"total cost = $\", value(m.fs.capital_cost) + value(m.fs.operating_cost))\n", + "print(\"operating cost = $\", value(m.fs.operating_cost))\n", + "print(\"capital cost = $\", value(m.fs.capital_cost))\n", + "print()\n", + "print(\n", + " \"Distillate flowrate = \",\n", + " value(m.fs.D101.condenser.distillate.flow_mol[0]()),\n", + " \"mol/s\",\n", + ")\n", + "print(\n", + " \"Benzene purity = \",\n", + " 100 * value(m.fs.D101.condenser.distillate.mole_frac_comp[0, \"benzene\"]),\n", + " \"%\",\n", + ")\n", + "print(\"Residue flowrate = \", value(m.fs.D101.reboiler.bottoms.flow_mol[0]()), \"mol/s\")\n", + "print(\n", + " \"Toluene purity = \",\n", + " 100 * value(m.fs.D101.reboiler.bottoms.mole_frac_comp[0, \"toluene\"]),\n", + " \"%\",\n", + ")\n", + "print()\n", + "print(\"Conversion = \", 100 * value(m.fs.R101.conversion), \"%\")\n", + "print()\n", + "print(\n", + " \"Overhead benzene loss in F101 = \",\n", + " 100\n", + " * value(m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"])\n", + " / value(m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]),\n", + " \"%\",\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Get the state of the streams entering and leaving the reactor R101" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.R101.report()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Get the state of the streams entering and leaving the reactor R101" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.F101.report()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, let's look at how much benzene we are losing with the light gases out of F101. IDAES has tools for creating stream tables based on the `Arcs` and/or `Ports` in a flowsheet. Let us create and print a simple stream table showing the stream leaving the reactor and the vapor stream from F101.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "How much benzene are we losing in the F101 vapor outlet stream?\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core.util.tables import (\n", + " create_stream_table_dataframe,\n", + " stream_table_dataframe_to_string,\n", + ")\n", + "\n", + "st = create_stream_table_dataframe({\"Reactor\": m.fs.s05, \"Light Gases\": m.fs.s06})\n", + "print(stream_table_dataframe_to_string(st))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "You can query additional variables here if you like. \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Optimization\n", + "\n", + "\n", + "We saw from the results above that the total operating cost for the base case was $442,297 per year. We are producing 0.162 mol/s of benzene at a purity of 89.5%. However, we are losing around 43.3% of benzene in F101 vapor outlet stream. \n", + "\n", + "Let us try to minimize this cost such that:\n", + "- we are producing at least 0.18 mol/s of benzene as distillate i.e. our product stream\n", + "- purity of benzene i.e. the mole fraction of benzene in the distillate is at least 99%\n", + "- restricting the benzene loss in F101 vapor outlet to less than 20%\n", + "\n", + "For this problem, our decision variables are as follows:\n", + "- H101 outlet temperature\n", + "- R101 outlet temperature\n", + "- F101 outlet temperature\n", + "- H102 outlet temperature\n", + "- Condenser pressure\n", + "- reflux ratio\n", + "- boilup ratio\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us declare our objective function for this problem. " + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.objective = Objective(expr=m.fs.operating_cost + m.fs.capital_cost)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, we need to unfix the decision variables as we had solved a square problem (degrees of freedom = 0) until now. " + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.H101.outlet.temperature.unfix()\n", + "m.fs.R101.conversion.unfix()\n", + "m.fs.F101.vap_outlet.temperature.unfix()\n", + "m.fs.D101.condenser.condenser_pressure.unfix()\n", + "m.fs.D101.condenser.reflux_ratio.unfix()\n", + "m.fs.D101.reboiler.boilup_ratio.unfix()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Let us now unfix the remaining variable: the temperature of the outlet from H102\n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Unfix the temperature of the outlet from H102" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Unfix the temperature of the outlet from H102\n", + "m.fs.H102.outlet.temperature.unfix()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we need to set bounds on these decision variables to values shown below:\n", + "\n", + " - H101 outlet temperature [500, 600] K\n", + " - R101 outlet temperature [600, 900] K\n", + " - F101 outlet temperature [298, 450] K\n", + " - H102 outlet temperature [350, 400] K\n", + " - D101 condenser pressure [101325, 150000] Pa\n", + " - D101 reflux ratio [0.1, 5]\n", + " - D101 boilup ratio [0.1, 5]" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [], + "source": [ + "# Set bounds on the temperature of the outlet from H101\n", + "m.fs.H101.outlet.temperature[0].setlb(500)\n", + "m.fs.H101.outlet.temperature[0].setub(600)\n", + "\n", + "# Set bounds on the temperature of the outlet from R101\n", + "m.fs.R101.outlet.temperature[0].setlb(600)\n", + "m.fs.R101.outlet.temperature[0].setub(900)\n", + "\n", + "# Set bounds on the volume of the reactor R101\n", + "m.fs.R101.volume[0].setlb(0)\n", + "\n", + "# Set bounds on the temperature of the vapor outlet from F101\n", + "m.fs.F101.vap_outlet.temperature[0].setlb(298)\n", + "m.fs.F101.vap_outlet.temperature[0].setub(450.0)\n", + "\n", + "# Set bounds on the temperature of the outlet from H102\n", + "m.fs.H102.outlet.temperature[0].setlb(350)\n", + "m.fs.H102.outlet.temperature[0].setub(400)\n", + "\n", + "# Set bounds on the pressure inside the condenser\n", + "m.fs.D101.condenser.condenser_pressure.setlb(101325)\n", + "m.fs.D101.condenser.condenser_pressure.setub(150000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Now, set the bounds for the D101 reflux ratio and boilup ratio.\n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Set bounds on the reflux ratio\n", + "\n", + "\n", + "# Todo: Set bounds on the boilup ratio" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Set bounds on the reflux ratio\n", + "m.fs.D101.condenser.reflux_ratio.setlb(0.1)\n", + "m.fs.D101.condenser.reflux_ratio.setub(5)\n", + "\n", + "# Todo: Set bounds on the boilup ratio\n", + "m.fs.D101.reboiler.boilup_ratio.setlb(0.1)\n", + "m.fs.D101.reboiler.boilup_ratio.setub(5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, the only things left to define are our constraints on overhead loss in F101, distillate flowrate and its purity. Let us first look at defining a constraint for the overhead loss in F101 where we are restricting the benzene leaving the vapor stream to less than 20 % of the benzene available in the reactor outlet. " + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [], + "source": [ + "# Ensure that the overhead loss of benzene from F101 <= 20%\n", + "m.fs.overhead_loss = Constraint(\n", + " expr=m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", + " <= 0.20 * m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Now, add the constraint such that we are producing at least 0.18 mol/s of benzene in the product stream which is the distillate of D101. Let us name this constraint as m.fs.product_flow. \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add minimum product flow constraint" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add minimum product flow constraint\n", + "m.fs.product_flow = Constraint(expr=m.fs.D101.condenser.distillate.flow_mol[0] >= 0.18)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us add the final constraint on product purity or the mole fraction of benzene in the distillate such that it is at least greater than 99%. " + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.product_purity = Constraint(\n", + " expr=m.fs.D101.condenser.distillate.mole_frac_comp[0, \"benzene\"] >= 0.99\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "We have now defined the optimization problem and we are now ready to solve this problem. \n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [], + "source": [ + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Optimization Results\n", + "\n", + "Display the results and product specifications" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"total cost = $\", value(m.fs.capital_cost) + value(m.fs.operating_cost))\n", + "print(\"operating cost = $\", value(m.fs.operating_cost))\n", + "print(\"capital cost = $\", value(m.fs.capital_cost))\n", + "print()\n", + "print(\n", + " \"Distillate flowrate = \",\n", + " value(m.fs.D101.condenser.distillate.flow_mol[0]()),\n", + " \"mol/s\",\n", + ")\n", + "print(\n", + " \"Benzene purity = \",\n", + " 100 * value(m.fs.D101.condenser.distillate.mole_frac_comp[0, \"benzene\"]),\n", + " \"%\",\n", + ")\n", + "print(\"Residue flowrate = \", value(m.fs.D101.reboiler.bottoms.flow_mol[0]()), \"mol/s\")\n", + "print(\n", + " \"Toluene purity = \",\n", + " 100 * value(m.fs.D101.reboiler.bottoms.mole_frac_comp[0, \"toluene\"]),\n", + " \"%\",\n", + ")\n", + "print()\n", + "print(\"Conversion = \", 100 * value(m.fs.R101.conversion), \"%\")\n", + "print()\n", + "print(\n", + " \"Overhead benzene loss in F101 = \",\n", + " 100\n", + " * value(m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"])\n", + " / value(m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]),\n", + " \"%\",\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Display optimal values for the decision variables" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Optimal Values\")\n", + "print()\n", + "\n", + "print(\"H101 outlet temperature = \", value(m.fs.H101.outlet.temperature[0]), \"K\")\n", + "\n", + "print()\n", + "print(\"R101 outlet temperature = \", value(m.fs.R101.outlet.temperature[0]), \"K\")\n", + "\n", + "print()\n", + "print(\"F101 outlet temperature = \", value(m.fs.F101.vap_outlet.temperature[0]), \"K\")\n", + "\n", + "print()\n", + "print(\"H102 outlet temperature = \", value(m.fs.H102.outlet.temperature[0]), \"K\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Key Takeaways\n", + "\n", + "Observe that the optimization was able to reduce the yearly operating cost from \\\\$427,593 to \\\\$408,342 (~4.5%). However, the amortized capital cost more than doubled from \\\\$14,704 to \\\\$29,927 due to the need to increase the conversion in the reactor (from 75% to 93%) to meet the production and purity constraints. \n", + "\n", + "Further, observe that the product flow rate and product purity are at their minimum values (0.18 mol/s and 99%, respectively). This is expected as increasing recovery would require more energy and cost to purify the product.\n", + "\n", + "\n", + "Finally, observe that the operating temperature of the flash (F101) is almost at its lower bound. This helps in minimizing the amount of benzene in the vapor stream leaving the flash." + ] } - ], - "source": [ - "print(\"total cost = $\", value(m.fs.capital_cost) + value(m.fs.operating_cost))\n", - "print(\"operating cost = $\", value(m.fs.operating_cost))\n", - "print(\"capital cost = $\", value(m.fs.capital_cost))\n", - "print()\n", - "print(\n", - " \"Distillate flowrate = \",\n", - " value(m.fs.D101.condenser.distillate.flow_mol[0]()),\n", - " \"mol/s\",\n", - ")\n", - "print(\n", - " \"Benzene purity = \",\n", - " 100 * value(m.fs.D101.condenser.distillate.mole_frac_comp[0, \"benzene\"]),\n", - " \"%\",\n", - ")\n", - "print(\"Residue flowrate = \", value(m.fs.D101.reboiler.bottoms.flow_mol[0]()), \"mol/s\")\n", - "print(\n", - " \"Toluene purity = \",\n", - " 100 * value(m.fs.D101.reboiler.bottoms.mole_frac_comp[0, \"toluene\"]),\n", - " \"%\",\n", - ")\n", - "print()\n", - "print(\"Conversion = \", 100 * value(m.fs.R101.conversion), \"%\")\n", - "print()\n", - "print(\n", - " \"Overhead benzene loss in F101 = \",\n", - " 100\n", - " * value(m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"])\n", - " / value(m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]),\n", - " \"%\",\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Display optimal values for the decision variables" - ] - }, - { - "cell_type": "code", - "execution_count": 75, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Optimal Values\n", - "\n", - "H101 outlet temperature = 568.923204295196 K\n", - "\n", - "R101 outlet temperature = 790.3655425698853 K\n", - "\n", - "F101 outlet temperature = 298.0 K\n", - "\n", - "H102 outlet temperature = 368.7414339952852 K\n" - ] + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" } - ], - "source": [ - "print(\"Optimal Values\")\n", - "print()\n", - "\n", - "print(\"H101 outlet temperature = \", value(m.fs.H101.outlet.temperature[0]), \"K\")\n", - "\n", - "print()\n", - "print(\"R101 outlet temperature = \", value(m.fs.R101.outlet.temperature[0]), \"K\")\n", - "\n", - "print()\n", - "print(\"F101 outlet temperature = \", value(m.fs.F101.vap_outlet.temperature[0]), \"K\")\n", - "\n", - "print()\n", - "print(\"H102 outlet temperature = \", value(m.fs.H102.outlet.temperature[0]), \"K\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Key Takeaways\n", - "\n", - "Observe that the optimization was able to reduce the yearly operating cost from \\\\$427,593 to \\\\$408,342 (~4.5%). However, the amortized capital cost more than doubled from \\\\$14,704 to \\\\$29,927 due to the need to increase the conversion in the reactor (from 75% to 93%) to meet the production and purity constraints. \n", - "\n", - "Further, observe that the product flow rate and product purity are at their minimum values (0.18 mol/s and 99%, respectively). This is expected as increasing recovery would require more energy and cost to purify the product.\n", - "\n", - "\n", - "Finally, observe that the operating temperature of the flash (F101) is almost at its lower bound. This helps in minimizing the amount of benzene in the vapor stream leaving the flash." - ] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.13" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/flowsheets/hda_flowsheets_for_costing_notebook.py b/idaes_examples/notebooks/docs/flowsheets/hda_flowsheets_for_costing_notebook.py index e365fcd9..e960ed9c 100644 --- a/idaes_examples/notebooks/docs/flowsheets/hda_flowsheets_for_costing_notebook.py +++ b/idaes_examples/notebooks/docs/flowsheets/hda_flowsheets_for_costing_notebook.py @@ -3,12 +3,13 @@ # Framework (IDAES IP) was produced under the DOE Institute for the # Design of Advanced Energy Systems (IDAES). # -# Copyright (c) 2018-2023 by the software owners: The Regents of the +# Copyright (c) 2018-2025 by the software owners: The Regents of the # University of California, through Lawrence Berkeley National Laboratory, # National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon # University, West Virginia University Research Corporation, et al. # All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md # for full copyright and license information. +# ################################################################################# """ Flowsheets for HDA with Flash and HDA with Distillation for costing notebook. diff --git a/idaes_examples/notebooks/docs/flowsheets/methanol_flowsheet.py b/idaes_examples/notebooks/docs/flowsheets/methanol_flowsheet.py index db61295e..c5459dc3 100644 --- a/idaes_examples/notebooks/docs/flowsheets/methanol_flowsheet.py +++ b/idaes_examples/notebooks/docs/flowsheets/methanol_flowsheet.py @@ -3,12 +3,13 @@ # Framework (IDAES IP) was produced under the DOE Institute for the # Design of Advanced Energy Systems (IDAES). # -# Copyright (c) 2018-2023 by the software owners: The Regents of the +# Copyright (c) 2018-2025 by the software owners: The Regents of the # University of California, through Lawrence Berkeley National Laboratory, # National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon # University, West Virginia University Research Corporation, et al. # All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md # for full copyright and license information. +# ################################################################################# """ Task: IDAES Support for ARPE-E Differentiate diff --git a/idaes_examples/notebooks/docs/flowsheets/methanol_flowsheet_w_recycle.py b/idaes_examples/notebooks/docs/flowsheets/methanol_flowsheet_w_recycle.py index 8d5cfd7c..691140c7 100644 --- a/idaes_examples/notebooks/docs/flowsheets/methanol_flowsheet_w_recycle.py +++ b/idaes_examples/notebooks/docs/flowsheets/methanol_flowsheet_w_recycle.py @@ -3,12 +3,13 @@ # Framework (IDAES IP) was produced under the DOE Institute for the # Design of Advanced Energy Systems (IDAES). # -# Copyright (c) 2018-2023 by the software owners: The Regents of the +# Copyright (c) 2018-2025 by the software owners: The Regents of the # University of California, through Lawrence Berkeley National Laboratory, # National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon # University, West Virginia University Research Corporation, et al. # All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md # for full copyright and license information. +# ################################################################################# """ Task: IDAES Support for ARPE-E Differentiate diff --git a/idaes_examples/notebooks/docs/flowsheets/methanol_synthesis.ipynb b/idaes_examples/notebooks/docs/flowsheets/methanol_synthesis.ipynb index 44462419..fceaba76 100644 --- a/idaes_examples/notebooks/docs/flowsheets/methanol_synthesis.ipynb +++ b/idaes_examples/notebooks/docs/flowsheets/methanol_synthesis.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/flowsheets/methanol_synthesis_doc.ipynb b/idaes_examples/notebooks/docs/flowsheets/methanol_synthesis_doc.ipynb index 6e83e8ed..1ff44096 100644 --- a/idaes_examples/notebooks/docs/flowsheets/methanol_synthesis_doc.ipynb +++ b/idaes_examples/notebooks/docs/flowsheets/methanol_synthesis_doc.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -89,25 +90,9 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\flowsheets\\methanol_synthesis_doc_4_0.png" - } - }, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "from IPython.display import Image\n", "\n", @@ -131,7 +116,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -209,7 +194,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -234,903 +219,11 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": { "scrolled": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unit degrees of freedom\n", - "M101 0\n", - "C101 1\n", - "H101 1\n", - "R101 2\n", - "T101 2\n", - "H102 1\n", - "F101 2\n", - "Total DOF: 23\n", - "DOF after streams specified: 9\n", - "DOF after units specified: 0\n", - "\n", - "2023-11-02 10:29:50 [INFO] idaes.init.fs.H2.properties: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:50 [INFO] idaes.init.fs.H2.properties: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:50 [INFO] idaes.init.fs.H2.properties: Property package initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:50 [INFO] idaes.init.fs.H2: Initialization Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:50 [INFO] idaes.init.fs.CO.properties: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:50 [INFO] idaes.init.fs.CO.properties: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:50 [INFO] idaes.init.fs.CO.properties: Property package initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:50 [INFO] idaes.init.fs.CO: Initialization Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:50 [INFO] idaes.init.fs.M101.H2_WGS_state: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:50 [INFO] idaes.init.fs.M101.H2_WGS_state: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:50 [INFO] idaes.init.fs.M101.CO_WGS_state: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:50 [INFO] idaes.init.fs.M101.CO_WGS_state: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:50 [INFO] idaes.init.fs.M101.mixed_state: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:50 [INFO] idaes.init.fs.M101.mixed_state: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:50 [INFO] idaes.init.fs.M101.mixed_state: Property package initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:50 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:50 [INFO] idaes.init.fs.C101.control_volume.properties_in: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:50 [INFO] idaes.init.fs.C101.control_volume.properties_in: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:50 [INFO] idaes.init.fs.C101.control_volume.properties_out: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.C101.control_volume.properties_out: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.C101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.C101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.H101.control_volume.properties_in: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.H101.control_volume.properties_in: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.H101.control_volume.properties_out: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.H101.control_volume.properties_out: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.H101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.H101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.R101.control_volume.properties_in: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.R101.control_volume.properties_in: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.R101.control_volume.properties_out: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.R101.control_volume.properties_out: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.R101.control_volume.reactions: Initialization Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.R101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.R101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.T101.control_volume.properties_in: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.T101.control_volume.properties_in: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.T101.control_volume.properties_out: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.T101.control_volume.properties_out: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.T101.control_volume.properties_out: Property package initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.T101.properties_isentropic: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.T101.properties_isentropic: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.T101.properties_isentropic: Property package initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.T101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.H102.control_volume.properties_in: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.H102.control_volume.properties_in: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.H102.control_volume.properties_out: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.H102.control_volume.properties_out: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.H102.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.H102: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.F101.control_volume.properties_in: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.F101.control_volume.properties_in: Dew and bubble point initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.F101.control_volume.properties_in: Equilibrium temperature initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.F101.control_volume.properties_in: Phase equilibrium initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.F101.control_volume.properties_in: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.F101.control_volume.properties_out: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.F101.control_volume.properties_out: Dew and bubble point initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.F101.control_volume.properties_out: Equilibrium temperature initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.F101.control_volume.properties_out: Phase equilibrium initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.F101.control_volume.properties_out: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.F101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.F101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:51 [INFO] idaes.init.fs.EXHAUST.properties: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:52 [INFO] idaes.init.fs.EXHAUST.properties: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:52 [INFO] idaes.init.fs.EXHAUST.properties: Property package initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:52 [INFO] idaes.init.fs.EXHAUST: Initialization Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:52 [INFO] idaes.init.fs.CH3OH.properties: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:52 [INFO] idaes.init.fs.CH3OH.properties: Dew and bubble point initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:52 [INFO] idaes.init.fs.CH3OH.properties: Equilibrium temperature initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:52 [INFO] idaes.init.fs.CH3OH.properties: Phase equilibrium initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:52 [INFO] idaes.init.fs.CH3OH.properties: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:52 [INFO] idaes.init.fs.CH3OH.properties: Property package initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:52 [INFO] idaes.init.fs.CH3OH: Initialization Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "DOF before solve: 0\n", - "\n", - "Solving initial problem...\n", - "WARNING: model contains export suffix\n", - "'fs.CH3OH.properties[0.0].scaling_factor' that contains 7 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.EXHAUST.properties[0.0].scaling_factor' that contains 4 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.F101.split.scaling_factor' that\n", - "contains 24 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.F101.control_volume.properties_out[0.0].scaling_factor' that contains 13\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.F101.control_volume.properties_in[0.0].scaling_factor' that contains 13\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.F101.control_volume.scaling_factor'\n", - "that contains 1 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H102.control_volume.properties_out[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H102.control_volume.properties_in[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.T101.properties_isentropic[0.0].scaling_factor' that contains 8 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.T101.control_volume.properties_out[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.T101.control_volume.properties_in[0.0].scaling_factor' that contains 8\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.T101.control_volume.scaling_factor'\n", - "that contains 1 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.R101.control_volume.reactions[0.0].scaling_factor' that contains 1\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.R101.control_volume.properties_out[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.R101.control_volume.properties_in[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H101.control_volume.properties_out[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H101.control_volume.properties_in[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.C101.control_volume.properties_out[0.0].scaling_factor' that contains 8\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.C101.control_volume.properties_in[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.M101.mixed_state[0.0].scaling_factor' that contains 6 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.M101.CO_WGS_state[0.0].scaling_factor' that contains 6 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.M101.H2_WGS_state[0.0].scaling_factor' that contains 6 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.CO.properties[0.0].scaling_factor'\n", - "that contains 15 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.H2.properties[0.0].scaling_factor'\n", - "that contains 15 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_vapor.CH3OH.scaling_factor' that contains 11 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_vapor.H2.scaling_factor' that contains 8 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_vapor.CO.scaling_factor' that contains 8 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_vapor.CH4.scaling_factor' that contains 8 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_VLE.CH3OH.scaling_factor' that contains 23 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.thermo_params_VLE.H2.scaling_factor'\n", - "that contains 8 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.thermo_params_VLE.CO.scaling_factor'\n", - "that contains 8 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_VLE.CH4.scaling_factor' that contains 8 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: tol=1e-06\n", - "max_iter=100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 955\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 607\n", - "\n", - "Total number of variables............................: 310\n", - " variables with only lower bounds: 35\n", - " variables with lower and upper bounds: 255\n", - " variables with only upper bounds: 1\n", - "Total number of equality constraints.................: 310\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 2.79e+04 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 2.79e+02 2.77e+00 -1.0 1.00e-02 - 9.90e-01 9.90e-01h 1\n", - " 2 0.0000000e+00 2.77e+00 1.21e+00 -1.0 1.00e-04 - 9.90e-01 9.90e-01h 1\n", - " 3 0.0000000e+00 3.68e-08 1.00e+03 -1.0 1.76e-06 - 9.90e-01 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 1.2293436154280945e-12 3.6787241697311401e-08\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 1.2293436154280945e-12 3.6787241697311401e-08\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.003\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "# Build and solve flowsheet\n", "m = ConcreteModel()\n", @@ -1160,463 +253,7 @@ "metadata": { "scrolled": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Solving with costing...\n", - "WARNING: model contains export suffix\n", - "'fs.CH3OH.properties[0.0].scaling_factor' that contains 7 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.EXHAUST.properties[0.0].scaling_factor' that contains 4 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.F101.split.scaling_factor' that\n", - "contains 24 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.F101.control_volume.properties_out[0.0].scaling_factor' that contains 13\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.F101.control_volume.properties_in[0.0].scaling_factor' that contains 13\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.F101.control_volume.scaling_factor'\n", - "that contains 1 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H102.control_volume.properties_out[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H102.control_volume.properties_in[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.T101.properties_isentropic[0.0].scaling_factor' that contains 8 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.T101.control_volume.properties_out[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.T101.control_volume.properties_in[0.0].scaling_factor' that contains 8\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.T101.control_volume.scaling_factor'\n", - "that contains 1 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.R101.control_volume.reactions[0.0].scaling_factor' that contains 1\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.R101.control_volume.properties_out[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.R101.control_volume.properties_in[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H101.control_volume.properties_out[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H101.control_volume.properties_in[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.C101.control_volume.properties_out[0.0].scaling_factor' that contains 8\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.C101.control_volume.properties_in[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.M101.mixed_state[0.0].scaling_factor' that contains 6 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.M101.CO_WGS_state[0.0].scaling_factor' that contains 6 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.M101.H2_WGS_state[0.0].scaling_factor' that contains 6 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.CO.properties[0.0].scaling_factor'\n", - "that contains 15 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.H2.properties[0.0].scaling_factor'\n", - "that contains 15 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_vapor.CH3OH.scaling_factor' that contains 11 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_vapor.H2.scaling_factor' that contains 8 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_vapor.CO.scaling_factor' that contains 8 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_vapor.CH4.scaling_factor' that contains 8 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_VLE.CH3OH.scaling_factor' that contains 23 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.thermo_params_VLE.H2.scaling_factor'\n", - "that contains 8 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.thermo_params_VLE.CO.scaling_factor'\n", - "that contains 8 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_VLE.CH4.scaling_factor' that contains 8 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: tol=1e-06\n", - "max_iter=100\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 971\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 611\n", - "\n", - "Total number of variables............................: 319\n", - " variables with only lower bounds: 43\n", - " variables with lower and upper bounds: 255\n", - " variables with only upper bounds: 1\n", - "Total number of equality constraints.................: 319\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 -2.8492051e+07 9.10e+04 1.00e+02 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 -2.9068962e+07 5.76e+04 6.45e+01 -1.0 1.20e+05 - 5.03e-02 9.90e-01h 1\n", - " 2 -2.9074767e+07 5.71e+02 9.98e+00 -1.0 5.72e+04 - 9.81e-01 9.90e-01h 1\n", - " 3 -2.9074825e+07 5.22e-05 1.00e+03 -1.0 5.67e+02 - 9.90e-01 1.00e+00h 1\n", - " 4 -2.9074825e+07 1.86e-09 9.90e+04 -1.0 5.22e-05 - 9.90e-01 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 4\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: -4.4948186430824144e+01 -2.9074824816033211e+07\n", - "Dual infeasibility......: 8.3561161967102299e-07 5.4051705720246346e-01\n", - "Constraint violation....: 4.5474735088646412e-12 1.8626451492309570e-09\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 4.5474735088646412e-12 5.4051705720246346e-01\n", - "\n", - "\n", - "Number of objective function evaluations = 5\n", - "Number of objective gradient evaluations = 5\n", - "Number of equality constraint evaluations = 5\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 5\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 4\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.004\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Initial solution process results:\n", - "\n", - "\n", - "Extent of reaction: 237.60047790000002\n", - "Stoichiometry of each component normalized by the extent:\n", - "CH4 : 0.0\n", - "H2 : -2.0\n", - "CH3OH : 1.0\n", - "CO : -1.0\n", - "These coefficients should follow 1*CO + 2*H2 => 1*CH3OH\n", - "\n", - "Reaction conversion: 0.75\n", - "Reactor duty (MW): -45.21917830318435\n", - "Duty from Reaction (MW)): 21.536107316856\n", - "Turbine work (MW): -0.9593346445867593\n", - "Mixer outlet temperature (C)): 20.051714213753257\n", - "Compressor outlet temperature (C)): 20.051714213753314\n", - "Compressor outlet pressure (Pa)): 5100000.0\n", - "Heater outlet temperature (C)): 215.0\n", - "Reactor outlet temperature (C)): 234.0\n", - "Turbine outlet temperature (C)): 192.87815244243234\n", - "Turbine outlet pressure (Pa)): 3100000.0\n", - "Cooler outlet temperature (C)): 134.0\n", - "Flash outlet temperature (C)): 134.0\n", - "Methanol recovery(%): 60.004430129216814\n", - "annualized capital cost ($/year) = 219790.50447043404\n", - "operating cost ($/year) = 380701687.4964808\n", - "sales ($/year) = 64685201172.19813\n", - "raw materials cost ($/year) = 35229454878.16397\n", - "revenue (1000$/year)= 29074824.816033203\n", - "\n", - "\n", - "====================================================================================\n", - "Unit : fs.H2 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Outlet \n", - " Total Molar Flowrate mole / second 637.20\n", - " Total Mole Fraction CH4 dimensionless 1.0000e-06\n", - " Total Mole Fraction CO dimensionless 1.0000e-06\n", - " Total Mole Fraction H2 dimensionless 1.0000\n", - " Total Mole Fraction CH3OH dimensionless 1.0000e-06\n", - " Molar Enthalpy joule / mole -142.40\n", - " Pressure pascal 3.0000e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.CO Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Outlet \n", - " Total Molar Flowrate mole / second 316.80\n", - " Total Mole Fraction CH4 dimensionless 1.0000e-06\n", - " Total Mole Fraction CO dimensionless 1.0000\n", - " Total Mole Fraction H2 dimensionless 1.0000e-06\n", - " Total Mole Fraction CH3OH dimensionless 1.0000e-06\n", - " Molar Enthalpy joule / mole -1.1068e+05\n", - " Pressure pascal 3.0000e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.EXHAUST Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet \n", - " Total Molar Flowrate mole / second 336.23\n", - " Total Mole Fraction CH4 dimensionless 2.8373e-06\n", - " Total Mole Fraction CO dimensionless 0.23555\n", - " Total Mole Fraction H2 dimensionless 0.48181\n", - " Total Mole Fraction CH3OH dimensionless 0.28263\n", - " Molar Enthalpy joule / mole -80218.\n", - " Pressure pascal 3.1000e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.CH3OH Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet \n", - " Total Molar Flowrate mole / second 142.57\n", - " Total Mole Fraction CH4 dimensionless 1.0000e-08\n", - " Total Mole Fraction CO dimensionless 1.0000e-08\n", - " Total Mole Fraction H2 dimensionless 1.0000e-08\n", - " Total Mole Fraction CH3OH dimensionless 1.0000\n", - " Molar Enthalpy joule / mole -2.3813e+05\n", - " Pressure pascal 3.1000e+06\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "add_costing(m) # re-solve with costing equations\n", "print()\n", @@ -1636,482 +273,11 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "metadata": { "scrolled": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Solving optimization problem...\n", - "WARNING: model contains export suffix\n", - "'fs.CH3OH.properties[0.0].scaling_factor' that contains 7 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.EXHAUST.properties[0.0].scaling_factor' that contains 4 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.F101.split.scaling_factor' that\n", - "contains 24 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.F101.control_volume.properties_out[0.0].scaling_factor' that contains 13\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.F101.control_volume.properties_in[0.0].scaling_factor' that contains 13\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H102.control_volume.properties_out[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H102.control_volume.properties_in[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.T101.properties_isentropic[0.0].scaling_factor' that contains 8 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.T101.control_volume.properties_out[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.T101.control_volume.properties_in[0.0].scaling_factor' that contains 8\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.R101.control_volume.reactions[0.0].scaling_factor' that contains 1\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.R101.control_volume.properties_out[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.R101.control_volume.properties_in[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H101.control_volume.properties_out[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H101.control_volume.properties_in[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.C101.control_volume.properties_out[0.0].scaling_factor' that contains 8\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.C101.control_volume.properties_in[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.M101.mixed_state[0.0].scaling_factor' that contains 6 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.M101.CO_WGS_state[0.0].scaling_factor' that contains 6 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.M101.H2_WGS_state[0.0].scaling_factor' that contains 6 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.CO.properties[0.0].scaling_factor'\n", - "that contains 15 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.H2.properties[0.0].scaling_factor'\n", - "that contains 15 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_vapor.CH3OH.scaling_factor' that contains 11 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_vapor.H2.scaling_factor' that contains 8 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_vapor.CO.scaling_factor' that contains 8 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_vapor.CH4.scaling_factor' that contains 8 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_VLE.CH3OH.scaling_factor' that contains 23 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.thermo_params_VLE.H2.scaling_factor'\n", - "that contains 8 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.thermo_params_VLE.CO.scaling_factor'\n", - "that contains 8 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_VLE.CH4.scaling_factor' that contains 8 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: tol=1e-06\n", - "max_iter=100\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 975\n", - "Number of nonzeros in inequality constraint Jacobian.: 8\n", - "Number of nonzeros in Lagrangian Hessian.............: 613\n", - "\n", - "Total number of variables............................: 322\n", - " variables with only lower bounds: 43\n", - " variables with lower and upper bounds: 256\n", - " variables with only upper bounds: 1\n", - "Total number of equality constraints.................: 318\n", - "Total number of inequality constraints...............: 8\n", - " inequality constraints with only lower bounds: 4\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 4\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 -2.8492012e+07 2.79e+04 1.00e+02 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 -2.8402805e+07 2.72e+04 9.71e+01 -1.0 8.82e+06 - 4.99e-02 2.59e-02h 1\n", - " 2 -2.8406590e+07 2.70e+04 9.56e+01 -1.0 8.57e+06 - 7.51e-02 8.58e-03h 1\n", - " 3 -2.8493710e+07 2.29e+04 3.69e+02 -1.0 8.41e+06 - 1.67e-01 1.52e-01h 1\n", - " 4 -2.8493256e+07 2.28e+04 1.20e+04 -1.0 4.60e+06 - 1.00e-01 2.61e-03h 1\n", - " 5 -2.8504482e+07 2.24e+04 1.20e+04 -1.0 4.52e+06 - 2.44e-02 2.38e-02h 1\n", - " 6 -2.8536507e+07 2.16e+04 2.28e+04 -1.0 4.39e+06 - 5.48e-02 6.86e-02h 1\n", - " 7 -2.8537588e+07 2.16e+04 1.35e+05 -1.0 3.94e+06 - 2.56e-01 2.49e-03h 1\n", - " 8 -2.8537637e+07 2.15e+04 6.77e+06 -1.0 1.30e+06 - 4.69e-01 1.17e-04h 1\n", - " 9 -2.8910081e+07 8.51e+04 2.07e+06 -1.0 1.31e+06 - 4.38e-01 9.05e-01h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 -2.8914184e+07 7.59e+04 7.45e+06 -1.0 9.51e+04 - 9.00e-01 1.08e-01h 1\n", - " 11 -2.8947637e+07 1.17e+03 1.82e+05 -1.0 8.76e+04 - 9.09e-01 9.90e-01h 1\n", - " 12 -2.8897906e+07 2.27e+01 4.44e+06 -1.0 6.65e+03 - 9.89e-01 9.92e-01h 1\n", - " 13 -3.9607639e+07 3.82e+04 7.42e+07 -1.0 5.09e+06 - 8.24e-02 1.77e-01f 3\n", - " 14 -5.3973065e+07 7.32e+04 5.80e+07 -1.0 1.89e+06 - 6.48e-01 1.00e+00F 1\n", - " 15 -5.8002084e+07 1.39e+05 2.82e+06 -1.0 1.54e+06 - 6.75e-01 1.00e+00f 1\n", - " 16 -5.8861909e+07 1.30e+05 2.75e+06 -1.0 3.00e+06 - 2.44e-02 7.50e-02f 1\n", - " 17 -6.8252381e+07 1.25e+05 2.72e+06 -1.0 6.30e+07 - 8.98e-03 4.63e-02f 2\n", - " 18 -6.7691432e+07 5.47e+02 2.17e+06 -1.0 1.32e+04 -4.0 2.04e-01 1.00e+00h 1\n", - " 19 -6.7689998e+07 4.76e-01 2.15e+04 -1.0 1.89e+02 -4.5 9.90e-01 1.00e+00h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 20 -6.7690000e+07 1.68e-08 2.33e+01 -1.0 2.45e-01 -5.0 9.99e-01 1.00e+00h 1\n", - " 21 -7.7035618e+07 3.05e+04 5.41e+04 -3.8 4.62e+08 - 6.81e-03 6.33e-03f 1\n", - " 22 -7.7132115e+07 3.01e+04 6.44e+06 -3.8 3.55e+06 - 6.66e-01 1.74e-02h 1\n", - " 23 -7.7647090e+07 3.09e+04 8.42e+06 -3.8 3.42e+06 - 8.94e-01 1.00e-01h 1\n", - " 24 -7.7699683e+07 8.17e+01 3.90e+03 -3.8 2.07e+04 - 9.89e-01 1.00e+00h 1\n", - " 25 -7.7699749e+07 7.87e+01 3.80e+03 -3.8 5.54e+07 - 2.54e-02 8.20e-04h 2\n", - " 26 -7.7699755e+07 3.08e+00 3.03e-01 -3.8 2.79e+05 - 1.00e+00 1.00e+00H 1\n", - " 27 -7.7700174e+07 1.09e+02 5.94e-03 -3.8 3.03e+05 - 1.00e+00 1.00e+00h 1\n", - " 28 -7.7700167e+07 3.00e-02 4.25e-06 -3.8 1.14e+04 - 1.00e+00 1.00e+00h 1\n", - " 29 -7.7700500e+07 3.89e+00 3.43e+02 -5.7 9.59e+04 - 9.77e-01 1.00e+00h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 30 -7.7700531e+07 4.15e-01 1.39e-03 -5.7 2.29e+04 - 1.00e+00 9.07e-01h 1\n", - " 31 -7.7700531e+07 4.98e-04 3.89e-08 -5.7 9.80e+02 - 1.00e+00 1.00e+00f 1\n", - " 32 -7.7700536e+07 9.48e-04 2.13e-01 -8.6 1.62e+03 - 1.00e+00 9.99e-01h 1\n", - " 33 -7.7700536e+07 5.01e-09 1.08e-10 -8.6 1.88e+00 - 1.00e+00 1.00e+00f 1\n", - " 34 -7.7700536e+07 8.38e-09 6.97e-11 -10.9 2.16e+00 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 34\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: -1.2012103932708919e+02 -7.7700535938862875e+07\n", - "Dual infeasibility......: 6.9703904435575171e-11 4.5088110809028537e-05\n", - "Constraint violation....: 8.7311491370201111e-11 8.3819031715393066e-09\n", - "Complementarity.........: 1.4074777602064815e-11 9.1042982064351105e-06\n", - "Overall NLP error.......: 8.7311491370201111e-11 4.5088110809028537e-05\n", - "\n", - "\n", - "Number of objective function evaluations = 47\n", - "Number of objective gradient evaluations = 35\n", - "Number of equality constraint evaluations = 47\n", - "Number of inequality constraint evaluations = 47\n", - "Number of equality constraint Jacobian evaluations = 35\n", - "Number of inequality constraint Jacobian evaluations = 35\n", - "Number of Lagrangian Hessian evaluations = 34\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.022\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Optimal solution process results:\n", - "\n", - "\n", - "Extent of reaction: 269.280544787992\n", - "Stoichiometry of each component normalized by the extent:\n", - "CH4 : -0.0\n", - "H2 : -2.0\n", - "CH3OH : 1.0\n", - "CO : -1.0\n", - "These coefficients should follow 1*CO + 2*H2 => 1*CH3OH\n", - "\n", - "Reaction conversion: 0.8500000099999546\n", - "Reactor duty (MW): -51.363573577545786\n", - "Duty from Reaction (MW)): 24.407588579583596\n", - "Turbine work (MW): -1.9904899177794766\n", - "Mixer outlet temperature (C)): 20.0517142137536\n", - "Compressor outlet temperature (C)): 20.051714213753428\n", - "Compressor outlet pressure (Pa)): 5100000.0\n", - "Heater outlet temperature (C)): 215.0\n", - "Reactor outlet temperature (C)): 231.85000468716584\n", - "Turbine outlet temperature (C)): 139.85888172675635\n", - "Turbine outlet pressure (Pa)): 1427653.3547820912\n", - "Cooler outlet temperature (C)): 52.56999709299214\n", - "Flash outlet temperature (C)): 134.0\n", - "Methanol recovery(%): 92.80355474657543\n", - "annualized capital cost ($/year) = 235547.18924473223\n", - "operating cost ($/year) = 451663512.6847628\n", - "sales ($/year) = 113381889876.90083\n", - "raw materials cost ($/year) = 35229454878.16397\n", - "revenue (1000$/year)= 77700535.93886286\n", - "\n", - "\n", - "====================================================================================\n", - "Unit : fs.H2 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Outlet \n", - " Total Molar Flowrate mole / second 637.20\n", - " Total Mole Fraction CH4 dimensionless 1.0000e-06\n", - " Total Mole Fraction CO dimensionless 1.0000e-06\n", - " Total Mole Fraction H2 dimensionless 1.0000\n", - " Total Mole Fraction CH3OH dimensionless 1.0000e-06\n", - " Molar Enthalpy joule / mole -142.40\n", - " Pressure pascal 3.0000e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.CO Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Outlet \n", - " Total Molar Flowrate mole / second 316.80\n", - " Total Mole Fraction CH4 dimensionless 1.0000e-06\n", - " Total Mole Fraction CO dimensionless 1.0000\n", - " Total Mole Fraction H2 dimensionless 1.0000e-06\n", - " Total Mole Fraction CH3OH dimensionless 1.0000e-06\n", - " Molar Enthalpy joule / mole -1.1068e+05\n", - " Pressure pascal 3.0000e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.EXHAUST Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet \n", - " Total Molar Flowrate mole / second 165.54\n", - " Total Mole Fraction CH4 dimensionless 5.7630e-06\n", - " Total Mole Fraction CO dimensionless 0.28706\n", - " Total Mole Fraction H2 dimensionless 0.59587\n", - " Total Mole Fraction CH3OH dimensionless 0.11706\n", - " Molar Enthalpy joule / mole -52313.\n", - " Pressure pascal 7.4845e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.CH3OH Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet \n", - " Total Molar Flowrate mole / second 249.90\n", - " Total Mole Fraction CH4 dimensionless 1.0000e-08\n", - " Total Mole Fraction CO dimensionless 1.0000e-08\n", - " Total Mole Fraction H2 dimensionless 1.0000e-08\n", - " Total Mole Fraction CH3OH dimensionless 1.0000\n", - " Molar Enthalpy joule / mole -2.3792e+05\n", - " Pressure pascal 7.4845e+06\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "# Set up Optimization Problem (Maximize Revenue)\n", "# keep process pre-reaction fixed and unfix some post-process specs\n", @@ -2196,25 +362,9 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 10, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "" - ] - }, - "execution_count": 8, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\flowsheets\\methanol_synthesis_doc_18_0.png" - } - }, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "from IPython.display import Image\n", "\n", @@ -2232,7 +382,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -2313,548 +463,11 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 12, "metadata": { "scrolled": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Unit degrees of freedom\n", - "M101 0\n", - "C101 1\n", - "H101 1\n", - "R101 2\n", - "T101 2\n", - "H102 1\n", - "F101 2\n", - "M102 0\n", - "S101 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Total DOF: 24\n", - "DOF after streams specified: 10\n", - "DOF after units specified: 0\n", - "\n", - "Tear Stream:\n", - "fs.s02 : fs.M102.outlet to fs.C101.inlet\n", - "\n", - "Calculation order:\n", - "fs.H2\n", - "fs.M101\n", - "fs.R101\n", - "fs.T101\n", - "fs.H102\n", - "fs.F101\n", - "fs.S101\n", - "fs.EXHAUST\n", - "\n", - "Initial DOF = 0\n", - "Solving fs.H2\n", - "DOF = 0\n", - "Solving fs.CO\n", - "DOF = 0\n", - "Solving fs.C101\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "DOF = 0\n", - "Solving fs.M101\n", - "DOF = 0\n", - "Solving fs.H101\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "DOF = 0\n", - "Solving fs.R101\n", - "DOF = 0\n", - "Solving fs.T101\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "DOF = 0\n", - "Solving fs.H102\n", - "DOF = 0\n", - "Solving fs.F101\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "DOF = 0\n", - "Solving fs.S101\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "DOF = 0\n", - "Solving fs.CH3OH\n", - "DOF = 0\n", - "Solving fs.EXHAUST\n", - "DOF = 0\n", - "Solving fs.M102\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "DOF = 0\n", - "Solving fs.H2\n", - "DOF = 0\n", - "Solving fs.CO\n", - "DOF = 0\n", - "Solving fs.M101\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "DOF = 0\n", - "Solving fs.EXHAUST\n", - "DOF = 0\n", - "Solving fs.CH3OH\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "DOF = 0\n", - "Final DOF = 0\n", - "DOF before solve: 0\n", - "\n", - "Solving initial problem...\n", - "WARNING: model contains export suffix\n", - "'fs.CH3OH.properties[0.0].scaling_factor' that contains 7 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.EXHAUST.properties[0.0].scaling_factor' that contains 4 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.S101.recycle_state[0.0].scaling_factor' that contains 4 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.S101.purge_state[0.0].scaling_factor' that contains 4 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.S101.mixed_state[0.0].scaling_factor' that contains 4 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.F101.split.scaling_factor' that\n", - "contains 24 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.F101.control_volume.properties_out[0.0].scaling_factor' that contains 13\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.F101.control_volume.properties_in[0.0].scaling_factor' that contains 13\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.F101.control_volume.scaling_factor'\n", - "that contains 1 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H102.control_volume.properties_out[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H102.control_volume.properties_in[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.T101.properties_isentropic[0.0].scaling_factor' that contains 8 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.T101.control_volume.properties_out[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.T101.control_volume.properties_in[0.0].scaling_factor' that contains 8\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.T101.control_volume.scaling_factor'\n", - "that contains 1 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.R101.control_volume.reactions[0.0].scaling_factor' that contains 1\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.R101.control_volume.properties_out[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.R101.control_volume.properties_in[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H101.control_volume.properties_out[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H101.control_volume.properties_in[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.C101.control_volume.properties_out[0.0].scaling_factor' that contains 8\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.C101.control_volume.properties_in[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.M102.mixed_state[0.0].scaling_factor' that contains 6 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.M102.recycle_state[0.0].scaling_factor' that contains 6 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.M102.feed_state[0.0].scaling_factor'\n", - "that contains 6 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.M101.mixed_state[0.0].scaling_factor' that contains 6 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.M101.CO_WGS_state[0.0].scaling_factor' that contains 6 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.M101.H2_WGS_state[0.0].scaling_factor' that contains 6 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.CO.properties[0.0].scaling_factor'\n", - "that contains 15 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.H2.properties[0.0].scaling_factor'\n", - "that contains 15 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_vapor.CH3OH.scaling_factor' that contains 11 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_vapor.H2.scaling_factor' that contains 8 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_vapor.CO.scaling_factor' that contains 8 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_vapor.CH4.scaling_factor' that contains 8 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_VLE.CH3OH.scaling_factor' that contains 23 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.thermo_params_VLE.H2.scaling_factor'\n", - "that contains 8 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.thermo_params_VLE.CO.scaling_factor'\n", - "that contains 8 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_VLE.CH4.scaling_factor' that contains 8 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: tol=1e-06\n", - "max_iter=100\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 1211\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 768\n", - "\n", - "Total number of variables............................: 397\n", - " variables with only lower bounds: 41\n", - " variables with lower and upper bounds: 333\n", - " variables with only upper bounds: 1\n", - "Total number of equality constraints.................: 397\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 2.79e+04 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 2.79e+02 4.22e+03 -1.0 1.96e+03 - 9.90e-01 9.90e-01h 1\n", - " 2 0.0000000e+00 2.77e+00 3.86e+03 -1.0 2.03e+01 - 9.90e-01 9.90e-01h 1\n", - " 3 0.0000000e+00 7.44e-06 1.01e+03 -1.0 2.01e-01 - 9.90e-01 1.00e+00h 1\n", - "Cannot recompute multipliers for feasibility problem. Error in eq_mult_calculator\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 1.0099088928127794e+05 1.0099088928127794e+05\n", - "Constraint violation....: 2.4013852159823137e-10 7.4442941695451736e-06\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.4013852159823137e-10 1.0099088928127794e+05\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.003\n", - "Total CPU secs in NLP function evaluations = 0.002\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "# Build and solve flowsheet\n", "solver = get_solver() # IPOPT\n", @@ -2885,536 +498,11 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 14, "metadata": { "scrolled": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.CH3OH.properties[0.0].scaling_factor' that contains 7 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.EXHAUST.properties[0.0].scaling_factor' that contains 4 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.S101.recycle_state[0.0].scaling_factor' that contains 4 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.S101.purge_state[0.0].scaling_factor' that contains 4 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.S101.mixed_state[0.0].scaling_factor' that contains 4 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.F101.split.scaling_factor' that\n", - "contains 24 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.F101.control_volume.properties_out[0.0].scaling_factor' that contains 13\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.F101.control_volume.properties_in[0.0].scaling_factor' that contains 13\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.F101.control_volume.scaling_factor'\n", - "that contains 1 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H102.control_volume.properties_out[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H102.control_volume.properties_in[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.T101.properties_isentropic[0.0].scaling_factor' that contains 8 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.T101.control_volume.properties_out[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.T101.control_volume.properties_in[0.0].scaling_factor' that contains 8\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.T101.control_volume.scaling_factor'\n", - "that contains 1 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.R101.control_volume.reactions[0.0].scaling_factor' that contains 1\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.R101.control_volume.properties_out[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.R101.control_volume.properties_in[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H101.control_volume.properties_out[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H101.control_volume.properties_in[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.C101.control_volume.properties_out[0.0].scaling_factor' that contains 8\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.C101.control_volume.properties_in[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.M102.mixed_state[0.0].scaling_factor' that contains 6 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.M102.recycle_state[0.0].scaling_factor' that contains 6 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.M102.feed_state[0.0].scaling_factor'\n", - "that contains 6 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.M101.mixed_state[0.0].scaling_factor' that contains 6 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.M101.CO_WGS_state[0.0].scaling_factor' that contains 6 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.M101.H2_WGS_state[0.0].scaling_factor' that contains 6 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.CO.properties[0.0].scaling_factor'\n", - "that contains 15 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.H2.properties[0.0].scaling_factor'\n", - "that contains 15 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_vapor.CH3OH.scaling_factor' that contains 11 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_vapor.H2.scaling_factor' that contains 8 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_vapor.CO.scaling_factor' that contains 8 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_vapor.CH4.scaling_factor' that contains 8 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_VLE.CH3OH.scaling_factor' that contains 23 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.thermo_params_VLE.H2.scaling_factor'\n", - "that contains 8 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.thermo_params_VLE.CO.scaling_factor'\n", - "that contains 8 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_VLE.CH4.scaling_factor' that contains 8 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: tol=1e-06\n", - "max_iter=100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 1227\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 772\n", - "\n", - "Total number of variables............................: 406\n", - " variables with only lower bounds: 49\n", - " variables with lower and upper bounds: 333\n", - " variables with only upper bounds: 1\n", - "Total number of equality constraints.................: 406\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 -2.8497869e+07 9.10e+04 1.00e+02 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 -2.9074832e+07 5.76e+04 4.22e+03 -1.0 1.20e+05 - 5.03e-02 9.90e-01h 1\n", - " 2 -2.9080637e+07 5.71e+02 3.82e+03 -1.0 5.72e+04 - 9.81e-01 9.90e-01h 1\n", - " 3 -2.9080695e+07 5.22e-05 1.00e+03 -1.0 5.67e+02 - 9.90e-01 1.00e+00h 1\n", - " 4 -2.9080695e+07 6.98e-10 9.90e+04 -1.0 5.22e-05 - 9.90e-01 1.00e+00h 1\n", - "Cannot recompute multipliers for feasibility problem. Error in eq_mult_calculator\n", - "\n", - "Number of Iterations....: 4\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: -4.4953175283791907e+01 -2.9080695361147862e+07\n", - "Dual infeasibility......: 9.9999999999985807e+06 6.4691081725719443e+12\n", - "Constraint violation....: 4.5474735088646412e-12 6.9849193096160889e-10\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 4.5474735088646412e-12 6.4691081725719443e+12\n", - "\n", - "\n", - "Number of objective function evaluations = 5\n", - "Number of objective gradient evaluations = 5\n", - "Number of equality constraint evaluations = 5\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 5\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 4\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.005\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Initial solution process results:\n", - "\n", - "\n", - "Extent of reaction: 237.60641806045152\n", - "Stoichiometry of each component normalized by the extent:\n", - "CH4 : 0.0\n", - "H2 : -2.0\n", - "CH3OH : 1.0\n", - "CO : -1.0\n", - "These coefficients should follow 1*CO + 2*H2 => 1*CH3OH\n", - "\n", - "Reaction conversion: 0.75\n", - "Reactor duty (MW): -45.22029794711383\n", - "Duty from Reaction (MW)): 21.536645732999325\n", - "Compressor work (MW): 4.9022090500807066e-15\n", - "Turbine work (MW): -0.95937850239144\n", - "Feed Mixer outlet temperature (C)): 20.051714213753144\n", - "Recycle Mixer outlet temperature (C)): 20.056485612776044\n", - "Feed Compressor outlet temperature (C)): 20.056485612776157\n", - "Feed Compressor outlet pressure (Pa)): 5100000.0\n", - "Heater outlet temperature (C)): 215.0\n", - "Reactor outlet temperature (C)): 234.0\n", - "Turbine outlet temperature (C)): 192.87840947667905\n", - "Turbine outlet pressure (Pa)): 3100000.0\n", - "Cooler outlet temperature (C)): 134.0\n", - "Flash outlet temperature (C)): 134.0\n", - "Purge percentage (amount of vapor vented to exhaust): 99.99 %\n", - "Methanol recovery(%): 60.00598493491174\n", - "annualized capital cost ($/year) = 219794.2325658716\n", - "operating cost ($/year) = 380711692.18370014\n", - "sales ($/year) = 64691081725.72809\n", - "raw materials cost ($/year) = 35229454878.16397\n", - "revenue (1000$/year)= 29080695.36114785\n", - "\n", - "\n", - "====================================================================================\n", - "Unit : fs.H2 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Outlet \n", - " Total Molar Flowrate mole / second 637.20\n", - " Total Mole Fraction CH4 dimensionless 1.0000e-06\n", - " Total Mole Fraction CO dimensionless 1.0000e-06\n", - " Total Mole Fraction H2 dimensionless 1.0000\n", - " Total Mole Fraction CH3OH dimensionless 1.0000e-06\n", - " Molar Enthalpy joule / mole -142.40\n", - " Pressure pascal 3.0000e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.CO Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Outlet \n", - " Total Molar Flowrate mole / second 316.80\n", - " Total Mole Fraction CH4 dimensionless 1.0000e-06\n", - " Total Mole Fraction CO dimensionless 1.0000\n", - " Total Mole Fraction H2 dimensionless 1.0000e-06\n", - " Total Mole Fraction CH3OH dimensionless 1.0000e-06\n", - " Molar Enthalpy joule / mole -1.1068e+05\n", - " Pressure pascal 3.0000e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.EXHAUST Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet \n", - " Total Molar Flowrate mole / second 336.21\n", - " Total Mole Fraction CH4 dimensionless 2.8375e-06\n", - " Total Mole Fraction CO dimensionless 0.23555\n", - " Total Mole Fraction H2 dimensionless 0.48181\n", - " Total Mole Fraction CH3OH dimensionless 0.28263\n", - " Molar Enthalpy joule / mole -80218.\n", - " Pressure pascal 3.1000e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.CH3OH Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet \n", - " Total Molar Flowrate mole / second 142.58\n", - " Total Mole Fraction CH4 dimensionless 1.0000e-08\n", - " Total Mole Fraction CO dimensionless 1.0000e-08\n", - " Total Mole Fraction H2 dimensionless 1.0000e-08\n", - " Total Mole Fraction CH3OH dimensionless 1.0000\n", - " Molar Enthalpy joule / mole -2.3813e+05\n", - " Pressure pascal 3.1000e+06\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "add_costing(m) # re-solve with costing equations\n", "print()\n", @@ -3433,595 +521,11 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 16, "metadata": { "scrolled": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Solving optimization problem...\n", - "WARNING: model contains export suffix\n", - "'fs.CH3OH.properties[0.0].scaling_factor' that contains 7 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.EXHAUST.properties[0.0].scaling_factor' that contains 4 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.S101.recycle_state[0.0].scaling_factor' that contains 4 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.S101.purge_state[0.0].scaling_factor' that contains 4 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.S101.mixed_state[0.0].scaling_factor' that contains 4 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.F101.split.scaling_factor' that\n", - "contains 24 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.F101.control_volume.properties_out[0.0].scaling_factor' that contains 13\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.F101.control_volume.properties_in[0.0].scaling_factor' that contains 13\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H102.control_volume.properties_out[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H102.control_volume.properties_in[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.T101.properties_isentropic[0.0].scaling_factor' that contains 8 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.T101.control_volume.properties_out[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.T101.control_volume.properties_in[0.0].scaling_factor' that contains 8\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.R101.control_volume.reactions[0.0].scaling_factor' that contains 1\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.R101.control_volume.properties_out[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.R101.control_volume.properties_in[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H101.control_volume.properties_out[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.H101.control_volume.properties_in[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.C101.control_volume.properties_out[0.0].scaling_factor' that contains 8\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.C101.control_volume.properties_in[0.0].scaling_factor' that contains 7\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.M102.mixed_state[0.0].scaling_factor' that contains 6 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.M102.recycle_state[0.0].scaling_factor' that contains 6 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.M102.feed_state[0.0].scaling_factor'\n", - "that contains 6 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.M101.mixed_state[0.0].scaling_factor' that contains 6 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.M101.CO_WGS_state[0.0].scaling_factor' that contains 6 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.M101.H2_WGS_state[0.0].scaling_factor' that contains 6 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.CO.properties[0.0].scaling_factor'\n", - "that contains 15 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.H2.properties[0.0].scaling_factor'\n", - "that contains 15 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_vapor.CH3OH.scaling_factor' that contains 11 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_vapor.H2.scaling_factor' that contains 8 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_vapor.CO.scaling_factor' that contains 8 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_vapor.CH4.scaling_factor' that contains 8 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_VLE.CH3OH.scaling_factor' that contains 23 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.thermo_params_VLE.H2.scaling_factor'\n", - "that contains 8 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.thermo_params_VLE.CO.scaling_factor'\n", - "that contains 8 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.thermo_params_VLE.CH4.scaling_factor' that contains 8 component keys that\n", - "are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: tol=1e-06\n", - "max_iter=100\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 1236\n", - "Number of nonzeros in inequality constraint Jacobian.: 10\n", - "Number of nonzeros in Lagrangian Hessian.............: 779\n", - "\n", - "Total number of variables............................: 410\n", - " variables with only lower bounds: 49\n", - " variables with lower and upper bounds: 334\n", - " variables with only upper bounds: 1\n", - "Total number of equality constraints.................: 405\n", - "Total number of inequality constraints...............: 10\n", - " inequality constraints with only lower bounds: 5\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 5\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 -2.8497829e+07 2.79e+04 1.00e+02 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 -2.8431118e+07 2.74e+04 9.77e+01 -1.0 8.82e+06 - 4.99e-02 1.94e-02h 1\n", - " 2 -2.8430711e+07 2.74e+04 7.81e+02 -1.0 8.52e+06 - 3.76e-02 1.99e-04h 1\n", - " 3 -2.8524881e+07 2.48e+04 1.61e+05 -1.0 6.46e+06 - 2.49e-04 9.25e-02f 1\n", - " 4 -2.8526701e+07 2.48e+04 1.61e+05 -1.0 5.76e+06 - 5.84e-02 9.84e-04h 1\n", - " 5 -2.8554187e+07 2.48e+04 1.60e+05 -1.0 1.49e+07 - 3.31e-03 8.96e-04h 1\n", - " 6 -2.9123963e+07 2.43e+04 1.52e+05 -1.0 1.49e+07 - 1.23e-01 1.84e-02f 1\n", - " 7 -2.9208669e+07 2.43e+04 1.51e+05 -1.0 9.71e+06 - 2.32e-02 2.78e-03h 1\n", - " 8 -3.0003106e+07 2.36e+04 1.08e+06 -1.0 9.31e+06 - 1.92e-01 2.61e-02h 1\n", - " 9 -3.1468193e+07 2.25e+04 1.09e+06 -1.0 8.71e+06 - 6.69e-02 4.91e-02f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 -3.1583879e+07 2.24e+04 1.14e+07 -1.0 5.51e+06 - 3.91e-01 3.89e-03h 1\n", - " 11 -4.3112060e+07 3.08e+04 5.71e+06 -1.0 5.49e+06 - 1.57e-01 3.86e-01f 1\n", - " 12 -4.3711568e+07 4.53e+04 5.09e+06 -1.0 3.67e+06 - 8.46e-02 2.88e-02h 1\n", - " 13 -4.3718128e+07 4.53e+04 1.94e+06 -1.0 3.57e+06 - 5.80e-01 3.23e-04h 1\n", - " 14 -4.3760522e+07 4.51e+04 4.15e+07 -1.0 3.56e+06 - 4.25e-01 5.93e-03h 1\n", - " 15 -4.4646098e+07 7.99e+04 5.37e+07 -1.0 3.54e+06 - 6.75e-01 1.23e-01h 4\n", - " 16 -6.6609948e+07 4.70e+04 6.17e+06 -1.0 3.14e+06 - 7.83e-01 9.90e-01H 1\n", - " 17 -6.5995574e+07 4.70e+04 3.11e+06 -1.0 2.01e+07 - 3.61e-03 3.25e-03h 5\n", - " 18 -6.5244336e+07 4.71e+04 3.13e+07 -1.0 1.74e+07 - 4.59e-05 4.34e-03h 5\n", - " 19 -6.4062606e+07 2.26e+03 9.67e+06 -1.0 7.97e+04 - 3.33e-04 9.87e-01h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 20 -6.4049002e+07 1.77e+03 8.54e+03 -1.0 2.65e+03 - 9.89e-01 1.00e+00h 1\n", - " 21 -6.5078492e+07 1.26e+03 4.14e+05 -1.0 1.04e+05 - 9.50e-01 9.92e-01f 1\n", - " 22 -7.5331202e+07 1.38e+05 3.86e+06 -1.0 1.20e+06 - 2.40e-01 1.00e+00f 1\n", - " 23 -7.4656453e+07 9.99e+04 2.12e+06 -1.0 1.07e+05 -4.0 9.90e-01 2.77e-01h 1\n", - " 24 -7.4647249e+07 9.94e+04 2.08e+06 -1.0 7.74e+04 -4.5 5.39e-01 5.21e-03h 1\n", - " 25 -7.4611354e+07 9.73e+04 2.02e+06 -1.0 7.24e+04 -5.0 1.00e+00 2.07e-02h 1\n", - " 26 -7.4417188e+07 8.61e+04 1.78e+06 -1.0 7.10e+04 -5.4 5.90e-01 1.15e-01h 1\n", - " 27 -7.4386526e+07 8.46e+04 1.75e+06 -1.0 7.83e+04 -5.9 1.23e-02 1.80e-02h 1\n", - " 28 -7.2736872e+07 3.01e+02 1.72e+06 -1.0 1.09e+05 -6.4 1.06e-04 1.00e+00h 1\n", - " 29 -7.2723082e+07 1.43e-01 6.52e+02 -1.0 5.95e+02 -6.9 1.00e+00 1.00e+00h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 30 -7.2723222e+07 7.89e-05 2.09e+01 -1.7 1.63e+02 -7.3 1.00e+00 1.00e+00f 1\n", - " 31 -8.6816123e+07 8.68e+03 9.78e+05 -2.5 5.17e+06 - 2.86e-02 5.98e-01f 1\n", - " 32 -8.6799976e+07 8.39e+03 5.89e+05 -2.5 1.65e+04 -7.8 9.53e-01 3.34e-02h 1\n", - " 33 -8.6300379e+07 1.51e+01 7.15e+04 -2.5 2.25e+04 -8.3 8.28e-02 1.00e+00h 1\n", - " 34 -8.6315273e+07 4.51e-03 1.67e+00 -2.5 3.37e+03 -8.8 1.00e+00 1.00e+00h 1\n", - " 35 -8.6355832e+07 4.54e-02 7.17e-02 -2.5 1.03e+04 -9.2 1.00e+00 1.00e+00f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 36 -8.6484786e+07 3.89e-01 3.04e+03 -5.7 3.04e+04 -9.7 9.89e-01 1.00e+00f 1\n", - " 37 -8.6863607e+07 3.35e+00 6.38e-01 -5.7 9.16e+04 -10.2 1.00e+00 9.94e-01f 1\n", - " 38 -8.7407007e+07 7.89e+00 3.54e-01 -5.7 2.74e+05 -10.7 1.00e+00 4.78e-01f 1\n", - " 39 -9.0728057e+07 2.04e+02 2.21e+00 -5.7 8.01e+05 -11.2 1.00e+00 1.00e+00f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 40 -9.9495392e+07 6.13e+02 3.85e+00 -5.7 2.39e+06 -11.6 1.00e+00 9.06e-01f 1\n", - " 41 -9.9495416e+07 6.13e+02 3.85e+00 -5.7 5.53e+06 -12.1 1.07e-01 1.10e-06h 1\n", - " 42 -1.0301582e+08 3.81e+04 2.43e+01 -5.7 7.11e+06 -12.6 3.99e-01 1.44e-01f 1\n", - " 43 -1.0301583e+08 3.81e+04 3.36e+01 -5.7 1.39e+06 - 6.86e-01 1.25e-06h 2\n", - " 44 -1.0436645e+08 3.42e+05 1.56e+01 -5.7 2.02e+06 - 1.00e+00 1.00e+00h 1\n", - " 45 -1.0441853e+08 3.22e+05 1.44e+01 -5.7 4.91e+06 - 9.43e-01 7.95e-02h 1\n", - " 46 -1.0439096e+08 2.72e+05 1.22e+01 -5.7 1.25e+07 - 2.29e-01 1.53e-01h 1\n", - " 47 -1.0436186e+08 2.08e+05 9.28e+00 -5.7 6.35e+05 - 1.00e+00 2.38e-01h 1\n", - " 48 -1.0427962e+08 1.89e+04 8.38e-01 -5.7 2.21e+05 - 1.00e+00 9.09e-01h 1\n", - " 49 -1.0427372e+08 1.22e+01 8.52e-02 -5.7 2.01e+04 - 1.00e+00 1.00e+00h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 50 -1.0427510e+08 3.31e+02 1.55e+00 -5.7 5.86e+04 -13.1 1.00e+00 9.55e-01h 1\n", - " 51 -1.0427510e+08 2.94e+02 5.87e+01 -5.7 2.24e+04 - 7.65e-02 1.13e-01f 1\n", - " 52 -1.0427509e+08 1.51e-03 1.08e-01 -5.7 8.91e+03 - 1.00e+00 1.00e+00f 1\n", - " 53 -1.0427919e+08 3.06e+03 5.51e+01 -5.7 1.66e+05 -13.5 1.00e+00 1.00e+00f 1\n", - " 54 -1.0427839e+08 2.40e+03 4.05e+01 -5.7 1.34e+05 - 4.18e-01 2.55e-01h 1\n", - " 55 -1.0427605e+08 1.01e+03 2.12e+01 -5.7 9.49e+04 - 4.92e-01 1.00e+00h 1\n", - " 56 -1.0427605e+08 6.84e-03 5.30e+01 -5.7 1.43e+03 - 2.80e-01 1.00e+00h 1\n", - " 57 -1.0427605e+08 6.92e-04 5.08e-03 -5.7 1.97e+02 - 1.00e+00 1.00e+00h 1\n", - " 58 -1.0427606e+08 1.10e-02 4.86e+00 -5.7 3.32e+02 -10.4 4.14e-01 1.00e+00h 1\n", - " 59 -1.0427605e+08 2.11e-03 5.96e-01 -5.7 2.09e+02 - 2.89e-01 1.00e+00h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 60 -1.0427605e+08 7.75e-05 1.67e-01 -5.7 3.44e+02 - 5.92e-01 1.00e+00h 1\n", - " 61 -1.0427606e+08 1.07e-03 3.54e-02 -5.7 1.20e+03 - 4.52e-01 1.00e+00h 1\n", - " 62 -1.0427606e+08 1.84e-02 6.27e-02 -5.7 5.23e+03 - 3.18e-01 1.00e+00h 1\n", - " 63 -1.0427613e+08 2.01e+00 9.36e-03 -5.7 5.45e+04 - 1.26e-01 1.00e+00h 1\n", - " 64 -1.0427676e+08 1.61e+02 1.39e-02 -5.7 6.85e+06 - 8.98e-03 7.04e-02h 3\n", - " 65 -1.0427678e+08 1.30e-01 1.17e-04 -5.7 7.26e+02 -10.9 1.00e+00 1.00e+00h 1\n", - " 66 -1.0427727e+08 9.59e+01 5.94e-03 -5.7 5.11e+06 - 1.07e-01 6.92e-02h 3\n", - " 67 -1.0427802e+08 3.15e+02 6.28e-02 -5.7 5.67e+06 - 4.89e-01 9.21e-02h 2\n", - " 68 -1.0427841e+08 3.63e+02 7.79e-02 -5.7 6.06e+06 - 2.53e-01 4.21e-02h 2\n", - " 69 -1.0427881e+08 4.10e+02 1.51e-01 -5.7 5.10e+06 - 1.00e+00 4.94e-02h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 70 -1.0427883e+08 1.43e-01 9.49e-05 -5.7 1.47e+04 - 1.00e+00 1.00e+00h 1\n", - " 71 -1.0427883e+08 7.08e-03 1.45e-08 -5.7 2.57e+03 - 1.00e+00 1.00e+00h 1\n", - " 72 -1.0427884e+08 5.67e-04 5.09e-06 -8.6 1.47e+03 - 1.00e+00 1.00e+00h 1\n", - " 73 -1.0427884e+08 1.86e-09 3.49e-13 -8.6 6.91e-01 - 1.00e+00 1.00e+00h 1\n", - " 74 -1.0427884e+08 9.31e-10 9.31e-12 -10.9 1.99e+00 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 74\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: -1.6119507851269793e+02 -1.0427883997850099e+08\n", - "Dual infeasibility......: 9.3066982868688585e-12 6.0206037947252707e-06\n", - "Constraint violation....: 1.0186340659856796e-10 9.3132257461547852e-10\n", - "Complementarity.........: 1.4067955349081809e-11 9.1007124920134500e-06\n", - "Overall NLP error.......: 1.0186340659856796e-10 9.1007124920134500e-06\n", - "\n", - "\n", - "Number of objective function evaluations = 109\n", - "Number of objective gradient evaluations = 75\n", - "Number of equality constraint evaluations = 109\n", - "Number of inequality constraint evaluations = 109\n", - "Number of equality constraint Jacobian evaluations = 75\n", - "Number of inequality constraint Jacobian evaluations = 75\n", - "Number of Lagrangian Hessian evaluations = 74\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.060\n", - "Total CPU secs in NLP function evaluations = 0.010\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Optimal solution process results:\n", - "\n", - "\n", - "Extent of reaction: 311.3069854950048\n", - "Stoichiometry of each component normalized by the extent:\n", - "CH4 : 0.0\n", - "H2 : -2.0\n", - "CH3OH : 1.0\n", - "CO : -1.0\n", - "These coefficients should follow 1*CO + 2*H2 => 1*CH3OH\n", - "\n", - "Reaction conversion: 0.8500000099996615\n", - "Reactor duty (MW): -59.34022107299144\n", - "Duty from Reaction (MW)): 28.216865165267237\n", - "Compressor work (MW): 8.44420706806932e-25\n", - "Turbine work (MW): -2.491301208383534\n", - "Feed Mixer outlet temperature (C)): 20.051714213753428\n", - "Recycle Mixer outlet temperature (C)): 41.54321437801781\n", - "Feed Compressor outlet temperature (C)): 41.54321437801781\n", - "Feed Compressor outlet pressure (Pa)): 5100000.0\n", - "Heater outlet temperature (C)): 215.0\n", - "Reactor outlet temperature (C)): 231.85000478420352\n", - "Turbine outlet temperature (C)): 141.50037862881612\n", - "Turbine outlet pressure (Pa)): 1487177.2483577346\n", - "Cooler outlet temperature (C)): 52.56999699056837\n", - "Flash outlet temperature (C)): 134.0\n", - "Purge percentage (amount of vapor vented to exhaust): 9.999999000026644 %\n", - "Methanol recovery(%): 92.05882105498138\n", - "annualized capital cost ($/year) = 259559.90821304667\n", - "operating cost ($/year) = 525130020.7095513\n", - "sales ($/year) = 140033684437.28275\n", - "raw materials cost ($/year) = 35229454878.16397\n", - "revenue (1000$/year)= 104278839.978501\n", - "\n", - "\n", - "====================================================================================\n", - "Unit : fs.H2 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Outlet \n", - " Total Molar Flowrate mole / second 637.20\n", - " Total Mole Fraction CH4 dimensionless 1.0000e-06\n", - " Total Mole Fraction CO dimensionless 1.0000e-06\n", - " Total Mole Fraction H2 dimensionless 1.0000\n", - " Total Mole Fraction CH3OH dimensionless 1.0000e-06\n", - " Molar Enthalpy joule / mole -142.40\n", - " Pressure pascal 3.0000e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.CO Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Outlet \n", - " Total Molar Flowrate mole / second 316.80\n", - " Total Mole Fraction CH4 dimensionless 1.0000e-06\n", - " Total Mole Fraction CO dimensionless 1.0000\n", - " Total Mole Fraction H2 dimensionless 1.0000e-06\n", - " Total Mole Fraction CH3OH dimensionless 1.0000e-06\n", - " Molar Enthalpy joule / mole -1.1068e+05\n", - " Pressure pascal 3.0000e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.EXHAUST Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet \n", - " Total Molar Flowrate mole / second 22.743\n", - " Total Mole Fraction CH4 dimensionless 4.1946e-05\n", - " Total Mole Fraction CO dimensionless 0.24155\n", - " Total Mole Fraction H2 dimensionless 0.64134\n", - " Total Mole Fraction CH3OH dimensionless 0.11706\n", - " Molar Enthalpy joule / mole -47286.\n", - " Pressure pascal 7.4845e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.CH3OH Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet \n", - " Total Molar Flowrate mole / second 308.65\n", - " Total Mole Fraction CH4 dimensionless 1.0000e-08\n", - " Total Mole Fraction CO dimensionless 1.0000e-08\n", - " Total Mole Fraction H2 dimensionless 1.0000e-08\n", - " Total Mole Fraction CH3OH dimensionless 1.0000\n", - " Molar Enthalpy joule / mole -2.3792e+05\n", - " Pressure pascal 7.4845e+06\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "# Set up Optimization Problem (Maximize Revenue)\n", "# keep process pre-reaction fixed and unfix some post-process specs\n", @@ -4118,9 +622,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.8.12" } }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/flowsheets/methanol_synthesis_test.ipynb b/idaes_examples/notebooks/docs/flowsheets/methanol_synthesis_test.ipynb index a7ec0962..02baea16 100644 --- a/idaes_examples/notebooks/docs/flowsheets/methanol_synthesis_test.ipynb +++ b/idaes_examples/notebooks/docs/flowsheets/methanol_synthesis_test.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -730,4 +731,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/flowsheets/methanol_synthesis_usr.ipynb b/idaes_examples/notebooks/docs/flowsheets/methanol_synthesis_usr.ipynb index 86592750..6e4ec273 100644 --- a/idaes_examples/notebooks/docs/flowsheets/methanol_synthesis_usr.ipynb +++ b/idaes_examples/notebooks/docs/flowsheets/methanol_synthesis_usr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -626,4 +627,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/flowsheets/solver_captured.py b/idaes_examples/notebooks/docs/flowsheets/solver_captured.py index faaab841..1e4af4b7 100644 --- a/idaes_examples/notebooks/docs/flowsheets/solver_captured.py +++ b/idaes_examples/notebooks/docs/flowsheets/solver_captured.py @@ -3,12 +3,13 @@ # Framework (IDAES IP) was produced under the DOE Institute for the # Design of Advanced Energy Systems (IDAES). # -# Copyright (c) 2018-2023 by the software owners: The Regents of the +# Copyright (c) 2018-2025 by the software owners: The Regents of the # University of California, through Lawrence Berkeley National Laboratory, # National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon # University, West Virginia University Research Corporation, et al. # All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md # for full copyright and license information. +# ################################################################################# """ Captured solver diff --git a/idaes_examples/notebooks/docs/flowsheets/temperature_swing_adsorption/temperature_swing_adsorption.ipynb b/idaes_examples/notebooks/docs/flowsheets/temperature_swing_adsorption/temperature_swing_adsorption.ipynb index bdb4a02b..1d5570da 100644 --- a/idaes_examples/notebooks/docs/flowsheets/temperature_swing_adsorption/temperature_swing_adsorption.ipynb +++ b/idaes_examples/notebooks/docs/flowsheets/temperature_swing_adsorption/temperature_swing_adsorption.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -275,15 +276,7 @@ "cell_type": "code", "execution_count": 7, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The DOF of the TSA unit is 0\n" - ] - } - ], + "outputs": [], "source": [ "# fix design and operating variables of tsa unit - baseline case from Joss et al. 2015\n", "m.fs.tsa.temperature_desorption.fix(430)\n", @@ -359,24 +352,7 @@ "cell_type": "code", "execution_count": 10, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-10-26 15:28:28 [INFO] idaes.init.fs.tsa: Starting fixed bed TSA initialization\n", - "2023-10-26 15:28:45 [INFO] idaes.init.fs.tsa.heating: Starting initialization of heating step.\n", - "2023-10-26 15:28:47 [INFO] idaes.init.fs.tsa.heating: Initialization of heating step completed optimal - Optimal Solution Found.\n", - "2023-10-26 15:29:01 [INFO] idaes.init.fs.tsa.cooling: Starting initialization of cooling step.\n", - "2023-10-26 15:29:03 [INFO] idaes.init.fs.tsa.cooling: Initialization of cooling step completed optimal - Optimal Solution Found.\n", - "2023-10-26 15:29:03 [INFO] idaes.init.fs.tsa.pressurization: Starting initialization of pressurization step.\n", - "2023-10-26 15:29:03 [INFO] idaes.init.fs.tsa.pressurization: Initialization of pressurization step completed optimal - Optimal Solution Found.\n", - "2023-10-26 15:29:03 [INFO] idaes.init.fs.tsa.adsorption: Starting initialization of adsorption step.\n", - "2023-10-26 15:29:04 [INFO] idaes.init.fs.tsa.adsorption: Initialization of adsorption step completed optimal - Optimal Solution Found.\n", - "2023-10-26 15:29:13 [INFO] idaes.init.fs.tsa: Initialization of fixed bed TSA model completed optimal - Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "# initialize tsa unit\n", "initializer = FixedBedTSA0DInitializer(\n", @@ -398,87 +374,7 @@ "cell_type": "code", "execution_count": 11, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.tsa.cooling.scaling_factor' that\n", - "contains 4 component keys that are not exported as part of the NL file.\n", - "Skipping.\n", - "WARNING: model contains export suffix 'fs.tsa.heating.scaling_factor' that\n", - "contains 2 component keys that are not exported as part of the NL file.\n", - "Skipping.\n", - "WARNING: model contains export suffix 'fs.tsa.scaling_factor' that contains 12\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "Ipopt 3.13.2: nlp_scaling_method=user-scaling\n", - "tol=1e-06\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 19132\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 70375\n", - "\n", - "Total number of variables............................: 2815\n", - " variables with only lower bounds: 5\n", - " variables with lower and upper bounds: 605\n", - " variables with only upper bounds: 1\n", - "Total number of equality constraints.................: 2815\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 3.63e+01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 1.06e+00 3.00e+03 -1.0 4.96e+00 - 9.90e-01 9.90e-01h 1\n", - " 2 0.0000000e+00 4.90e-03 4.83e+03 -1.0 4.91e+00 - 9.90e-01 9.96e-01h 1\n", - " 3 0.0000000e+00 2.44e-07 4.53e+00 -1.0 2.25e-02 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 1.0710209608078003e-07 2.4400780240796394e-07\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 1.0710209608078003e-07 2.4400780240796394e-07\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 3.208\n", - "Total CPU secs in NLP function evaluations = 0.089\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "# set up solver to solve flowsheet\n", "solver = SolverFactory(\"ipopt\")\n", @@ -517,50 +413,7 @@ "cell_type": "code", "execution_count": 13, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Summary - tsa\n", - "------------------------------------------------------------------------------------ Value \n", - " Adsorption temperature [K] 310.00\n", - " Desorption temperature [K] 430.00\n", - " Heating temperature [K] 440.00\n", - " Cooling temperature [K] 300.00\n", - " Column diameter [m] 0.030000\n", - " Column length [m] 1.2000\n", - " Column volume [m3] 0.00084823\n", - " CO2 mole fraction at feed [%] 12.000\n", - " Feed flow rate [mol/s] 0.0096000\n", - " Feed velocity [m/s] 0.50008\n", - " Minimum fluidization velocity [m/s] 1.5207\n", - " Time of heating step [h] 0.37030\n", - " Time of cooling step [h] 0.20826\n", - " Time of pressurization step [h] 0.0051098\n", - " Time of adsorption step [h] 0.25221\n", - " Cycle time [h] 0.83588\n", - " Purity [-] 0.90219\n", - " Recovery [-] 0.89873\n", - " Productivity [kg CO2/ton/h] 84.085\n", - " Specific energy [MJ/kg CO2] 3.6532\n", - " Heat duty per bed [MW] 5.1244e-05\n", - " Heat duty total [MW] 0.00016646\n", - " Pressure drop [Pa] 5263.6\n", - " Number of beds 3.2484\n", - " CO2 captured in one cycle per bed [kg/cycle] 0.042210\n", - " Cycles per year 10480.\n", - " Total CO2 captured per year [tonne/year] 1.4369\n", - " Amount of flue gas processed per year [Gmol/year] 0.00030275\n", - " Amount of flue gas processed per year (target) [Gmol/year] 0.00030275\n", - " Amount of CO2 to atmosphere [mol/s] 0.00011667\n", - " Concentration of CO2 emitted to atmosphere [ppm] 13803.\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "# summary tsa\n", "tsa_summary(m.fs.tsa)" @@ -596,18 +449,7 @@ "cell_type": "code", "execution_count": 15, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# profiles\n", "plot_tsa_profiles(m.fs.tsa)" diff --git a/idaes_examples/notebooks/docs/flowsheets/temperature_swing_adsorption/temperature_swing_adsorption_doc.ipynb b/idaes_examples/notebooks/docs/flowsheets/temperature_swing_adsorption/temperature_swing_adsorption_doc.ipynb index 31202935..e537f00f 100644 --- a/idaes_examples/notebooks/docs/flowsheets/temperature_swing_adsorption/temperature_swing_adsorption_doc.ipynb +++ b/idaes_examples/notebooks/docs/flowsheets/temperature_swing_adsorption/temperature_swing_adsorption_doc.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -275,15 +276,7 @@ "cell_type": "code", "execution_count": 7, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The DOF of the TSA unit is 0\n" - ] - } - ], + "outputs": [], "source": [ "# fix design and operating variables of tsa unit - baseline case from Joss et al. 2015\n", "m.fs.tsa.temperature_desorption.fix(430)\n", @@ -359,24 +352,7 @@ "cell_type": "code", "execution_count": 10, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-10-26 15:28:28 [INFO] idaes.init.fs.tsa: Starting fixed bed TSA initialization\n", - "2023-10-26 15:28:45 [INFO] idaes.init.fs.tsa.heating: Starting initialization of heating step.\n", - "2023-10-26 15:28:47 [INFO] idaes.init.fs.tsa.heating: Initialization of heating step completed optimal - Optimal Solution Found.\n", - "2023-10-26 15:29:01 [INFO] idaes.init.fs.tsa.cooling: Starting initialization of cooling step.\n", - "2023-10-26 15:29:03 [INFO] idaes.init.fs.tsa.cooling: Initialization of cooling step completed optimal - Optimal Solution Found.\n", - "2023-10-26 15:29:03 [INFO] idaes.init.fs.tsa.pressurization: Starting initialization of pressurization step.\n", - "2023-10-26 15:29:03 [INFO] idaes.init.fs.tsa.pressurization: Initialization of pressurization step completed optimal - Optimal Solution Found.\n", - "2023-10-26 15:29:03 [INFO] idaes.init.fs.tsa.adsorption: Starting initialization of adsorption step.\n", - "2023-10-26 15:29:04 [INFO] idaes.init.fs.tsa.adsorption: Initialization of adsorption step completed optimal - Optimal Solution Found.\n", - "2023-10-26 15:29:13 [INFO] idaes.init.fs.tsa: Initialization of fixed bed TSA model completed optimal - Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "# initialize tsa unit\n", "initializer = FixedBedTSA0DInitializer(\n", @@ -398,87 +374,7 @@ "cell_type": "code", "execution_count": 11, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.tsa.cooling.scaling_factor' that\n", - "contains 4 component keys that are not exported as part of the NL file.\n", - "Skipping.\n", - "WARNING: model contains export suffix 'fs.tsa.heating.scaling_factor' that\n", - "contains 2 component keys that are not exported as part of the NL file.\n", - "Skipping.\n", - "WARNING: model contains export suffix 'fs.tsa.scaling_factor' that contains 12\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "Ipopt 3.13.2: nlp_scaling_method=user-scaling\n", - "tol=1e-06\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 19132\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 70375\n", - "\n", - "Total number of variables............................: 2815\n", - " variables with only lower bounds: 5\n", - " variables with lower and upper bounds: 605\n", - " variables with only upper bounds: 1\n", - "Total number of equality constraints.................: 2815\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 3.63e+01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 1.06e+00 3.00e+03 -1.0 4.96e+00 - 9.90e-01 9.90e-01h 1\n", - " 2 0.0000000e+00 4.90e-03 4.83e+03 -1.0 4.91e+00 - 9.90e-01 9.96e-01h 1\n", - " 3 0.0000000e+00 2.44e-07 4.53e+00 -1.0 2.25e-02 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 1.0710209608078003e-07 2.4400780240796394e-07\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 1.0710209608078003e-07 2.4400780240796394e-07\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 3.208\n", - "Total CPU secs in NLP function evaluations = 0.089\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "# set up solver to solve flowsheet\n", "solver = SolverFactory(\"ipopt\")\n", @@ -501,50 +397,7 @@ "cell_type": "code", "execution_count": 13, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Summary - tsa\n", - "------------------------------------------------------------------------------------ Value \n", - " Adsorption temperature [K] 310.00\n", - " Desorption temperature [K] 430.00\n", - " Heating temperature [K] 440.00\n", - " Cooling temperature [K] 300.00\n", - " Column diameter [m] 0.030000\n", - " Column length [m] 1.2000\n", - " Column volume [m3] 0.00084823\n", - " CO2 mole fraction at feed [%] 12.000\n", - " Feed flow rate [mol/s] 0.0096000\n", - " Feed velocity [m/s] 0.50008\n", - " Minimum fluidization velocity [m/s] 1.5207\n", - " Time of heating step [h] 0.37030\n", - " Time of cooling step [h] 0.20826\n", - " Time of pressurization step [h] 0.0051098\n", - " Time of adsorption step [h] 0.25221\n", - " Cycle time [h] 0.83588\n", - " Purity [-] 0.90219\n", - " Recovery [-] 0.89873\n", - " Productivity [kg CO2/ton/h] 84.085\n", - " Specific energy [MJ/kg CO2] 3.6532\n", - " Heat duty per bed [MW] 5.1244e-05\n", - " Heat duty total [MW] 0.00016646\n", - " Pressure drop [Pa] 5263.6\n", - " Number of beds 3.2484\n", - " CO2 captured in one cycle per bed [kg/cycle] 0.042210\n", - " Cycles per year 10480.\n", - " Total CO2 captured per year [tonne/year] 1.4369\n", - " Amount of flue gas processed per year [Gmol/year] 0.00030275\n", - " Amount of flue gas processed per year (target) [Gmol/year] 0.00030275\n", - " Amount of CO2 to atmosphere [mol/s] 0.00011667\n", - " Concentration of CO2 emitted to atmosphere [ppm] 13803.\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "# summary tsa\n", "tsa_summary(m.fs.tsa)" @@ -563,18 +416,7 @@ "cell_type": "code", "execution_count": 15, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAc8AAAKnCAYAAADgN8aBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAC+C0lEQVR4nOzdeVwU9f8H8Nfe3LdcgoK3qCBiIpp5cXhkZn77WpqapaVhP5WytDxSM4/KtMIj8+hbmaZlap6I4H0ieIsXisolICznssf8/kC2Ja5ddmBm2ffz8eDhMjvzmTfvWXwzM5/5fAQMwzAghBBCiN6EXAdACCGEmBoqnoQQQoiBqHgSQgghBqLiSQghhBiIiichhBBiICqehBBCiIGoeBJCCCEGouJJCCGEGEjMdQB8oNFokJaWBltbWwgEAq7DIYQQwgGGYVBQUABPT08IhbWfW1LxBJCWlgZvb2+uwyCEEMIDDx8+hJeXV63rUPEEYGtrCwBISUmBk5MTx9Hwm1KpxKFDhxAeHg6JRMJ1OLzHWr7u3AHatGEvMJ7i3edLN+88PAa8yxePaXPVqhUkHTtWu45cLoe3t7e2JtSGiiegvVRra2sLOzs7jqPhN6VSCSsrK9jZ2dEvqx5Yy1dmJtCtG3uB8RTvPl+6eefhMeBdvnisIlf2WVkQBwfXuq4+t++owxAhpmDECK4jME+6eadj0CSIXn2VlXaoeBJCCCEGouJJCCGEGIiKJyGmYMcOriMwT7p5p2PQJKi3bmWlHSqehJiCGnoHkgamm3c6Bk0C06EDK+1Q8STEFHTqxHUE5kk373QMmgRx166stEPFkxBCCDEQFU9CCCHEQDRIAiE8pdEweJBbjNuZBQieuwD2XAdkjr74ovrXxGRpFi2CiIV2qHgSwgNqDYO7Twpx6WEerj7Ox7U0OW6ky1FUpgYAtHcLwUGOYzRLUVHVvyYmSzN9OhVPQkwRwzB4nFeCy4/ycelhHpKeFcyKQqlLJhZCodJg58fhyHo7D652FhxEbMasrYGioqqvickSOziwchypeBLSwJQa4MKDp0h8JEfC/ae49CgP2YVlVdazkorQubk9/Jvbo1NzO3TytEcrF2sM+/4kRBoNLjx4iiFdPDj4CcyYWl39a2K6WDqOvCmeS5cuxezZszFt2jSsXLkSubm5mD9/Pg4dOoTU1FQ0a9YML7/8MhYtWgR7+3/u/lQ3gO9vv/2G1157rTHDJ0TraVEZEh48xfkHubiQkoukhyKoz56vtI5YKEAHD1sEeDmUf3k7oI2rDUTCqp/n7i0dAQAJVDwJ4Q1eFM/z589j3bp18Pf31y5LS0tDWloavvrqK/j5+eHBgweYPHky0tLSsONfI31s2rQJgwYN0n7v4ODQWKETgrziMpy+m4OTd7Nx9l4ubmcV/msNAVxspHjOxwlBLR3RraUj/DzsYCHR785LUEtH7OgyEBcePGU/eFK7N9+s/jUxWZpx45rGPc/CwkKMGTMG69evx+eff65d3rlzZ/zxxx/a71u3bo3FixfjjTfegEqlglj8T+gODg5wd3dv1LiJ+SopU+Pc/VycupONk3ezcS1NDoapvE7rZtZ4zscJgd52KEy5hLEjwiCVSuu1v6CWjugTMRXix/koKVPDUsrGrz7Ry9q11b8mJksTHd00imdkZCSGDh2K0NDQSsWzOvn5+bCzs6tUOCvamDhxIlq1aoXJkydjwoQJtc7HplAooFAotN/L5XIA5fO9KZVKI36apq8iP+aUJ4ZhcD29APG3snHybg6SHuZBqa5cLVs3s0avVk7o2ar87NLZurxQKpVKxKQDKpVKrzkCq+NmI8bB/01DxLhVSLifjWDfpjthO98+X+LnnoPq/Pkqr/mCb/nis4ocibp3h/LChVrX0QenxXPr1q24ePEizuvxgczOzsaiRYvwzjvvVFq+cOFCDBgwAFZWVjh06BDee+89FBYW4v/+7/9qbGvJkiVYsGBBleVxcXGwsrIy/AcxQzExMVyH0KBK1UByngDX8wS4/lQAubJy4XOQMmhn/8+XvTQfQD5U91Nw9n7V9ozN1+AnqQCA32LOIseLqWNt08eXz9eL169j3759VV7zDV/yZQqYGzdqPI7FxcV6tyNgmH9fcGocDx8+RPfu3RETE6O919mvXz907doVK1eurLSuXC5HWFgYnJycsHv37lpnTJ83bx42bdqEhw8f1rhOdWee3t7eSE9Ph7Ozs3E/WBOnVCoRExODsLCwJjdz/f2cIsQlZyP+1hOcv/+00tmllVSEXq2c0KetC3q1dkJLJyu9ziTZypfA2gZtov5Ev3YuWD+2W73b4Tu+fb7EtrZQFRRUec0XfMsXn1Xk6qVRo2o8jnK5HC4uLtqrnLXh7MwzISEBWVlZ6Nbtn/8I1Go1jh07hu+//x4KhQIikQgFBQUYNGgQbG1tsXPnzjo/IMHBwVi0aBEUCgVkMlm168hksmrfk0gk9AHUU1PIFcMwSM4swL4rGdh/Jb1KR5+Wzlbo394VAzq4IriVE2Ti+t8pMTZfBc8FAwASH+ZDJBJDWE2v3KaEN5+vXr3+iUP3Nc/wJl8mgAkJqTFXhuSQs+I5cOBAXLlypdKyCRMmoEOHDvj4448hEokgl8sREREBmUyG3bt3w8Ki7gfEk5KS4OjoWGPhJOaNYRhcfSzH/qvp2H81AynZ/zwsLRYK0MPXCQM6uKJ/B1e0crGu931Ktlkci4fVgkPIL1HiZkYB/Dxr/6uYsOTIkepfE5OlPnSIlUHdOSuetra26Ny5c6Vl1tbWcHZ2RufOnSGXyxEeHo7i4mL88ssvkMvl2o49zZo1g0gkwp49e5CZmYmePXvCwsICMTEx+OKLL/Dhhx9y8SMRnmIYBpce5WPflXTsu5KOR09LtO9JxUK80LYZhnRxx8CObrC35Odf75LRryMoPArHb2fjbEoOFc/GMmoUsG1b1dfEZIlGjwa2bze6Hc5729bk4sWLOHv2LACgTZs2ld5LSUmBj48PJBIJoqOjMWPGDDAMgzZt2mDFihWYNGkSFyETnnmQU4S/EtPwV9LjSmeYFhIh+rd3xeAuHhjQwRU2Mt7+Gvxj1y70nLy4vHjey8WE3r5cR2Qedu2q/jUxWYI9e1hph1f/a8THx2tf9+vXD3X1ZRo0aFClwREIyS0qw97LadiZ+BgXU/O0yy0kQoR2dMPQLh7o274ZrKS8+ujrpWer8kdUzt3PBcMwvLmkTIg5Mr3/QQj5F7WGwfHbT/D7hYeIuZ6p7SUrFAC927hgRGBzhHdyN40zzJq4uKBLcwdYSITILSrD7axCtHOz5Tqqps/FpfrXxHSxdBxN+H8TYu4ePS3G9guPsP3CQ6Tll2qXd25uhxGBXhgW4AFX2yYyC8mjR5CifLShk3dycOZeDhXPxvDoUfWviclSpaSAjZ4NbHQ6IqTRqNQa7L+SjrEbzqLP8jisir2NtPxSOFhJ8GYvH+yf1gd/v98Hbz/v23QKJwDMnQsA6Olb/hzy2Xu5XEZjPp7lvcprYrKE8+ez0w4rrRDSwHIKFYiOu4M+y+Mw5deLOH47GwwD9G7jjG9fD8SZ2QPx2Uud0NGjifZC/fJLAEBwq2fFMyWnzj4BhAXP8l7lNTFZwhUrWGmHLtsSXrv6OB+bT93H7ktpKFNpAADO1lKMes4brz3XAi2czWs4xQBve8jEQmQXluHukyK0cbXhOiRCzBIVT8I7KrUG+69mYPOp+0jQmYbL38se40N8MNTfQ+/pvJoamViEwBYOOHMvF2dTcqh4EsIRKp6EN0rK1Nie8BDrj9/Dw9zygQwkIgGGdPHA+F4+CPR2MN/HM9LStC97tnIuL573cjEmuCWHQZkBnbxXek1MlurBA+owRJqGvOIyfBt7G72XHcG8XdfwMLcETtZSTBvYFidnDcCq1wLRrYWj+RZOANi7V/sy+FmnoTP36L5ng9PJe6XXxGQJWJoZh4on4UxaXgkW7rmOXkuPYEXMLeQWlcHL0RILh3fCyY8HYEZYu6bVY9YYOqNmBbZwgFQkRFaBAvdz9J9CidSD7mhlNHJZkyCaMoWVduiyLWl0j/NKEB13B9svPNQOaNDRww6T+7bC0C4eEIvob7raWEhE6OrtgHP3c3H2Xg58Xay5DokQs6NX8dy9e7fBDYeFhcHS0tLg7UjTlZ5fXjS3nf+naPZs5YQp/drghbYu5n1Z1kA9Wznh3P1cnLqbg9d6tOA6HELMjl7F8+WXXzaoUYFAgNu3b6NVq1b1iYk0MZnyUqyOu4Pfzj1Embr8cZOQVs6YEdYOPXydOI7OROiM+wyUDzv47ZE7OHknGxoN0+Tn9+SMbt7/dQyIaVIfPszKJVe928jIyICrq6te69ra0rBhpLwjUHTcHfx0+oH2Gc0evk6YEdoOIa2dOY7OtAW2cISVVIScojLcyJCjk6c91yERYlb0Kp7jx4836BLsG2+8ATu7JjrSC6lTqVKNn07dR3TcHchLVQCA7i0dERVWXjTp8mw99OsHlP4zfq9ULETPVs44cjMLJ25nU/FsKLp5/9cxIKZJFBrKynHUq3hu2rRJr8YKCwthY2ODNWvWGBUUMU0aDYO/kh7j60O38Div/DnNDu62+HhwB/Rr14yKJsueb+OCIzezcPx2Nt7t25rrcAgxK3p3a/zmm29qfb+goAARERFGB0RM04nb2Rj63QlE/X4Jj/NK4GFvgS//44+9/9cH/du7UuFsAH3alk+tdO5+LkqVao6jIcS86H3P85NPPoGzszPGjRtX5b2ioiIMGjQIOTk5rAZH+C81pxif772OQ9czAQC2FmK8168NJvT2Mdsh9BrE+vVVFrVxtYGbnQyZcgXO389Fn7bNOAisidPNezXHgJge9Zo1jdth6Oeff8bYsWPh4OCAl156Sbu8qKgIERERePLkCY4ePcpCSMQUlJSp8V3cPaw9dg9lKg1EQgHG9myJaQPbwtFaynV4Tc/QoVUWCQQCPN+mGf64+AgnbmdT8WwIunmv5hgQ08MMGcJKO3oXz//85z/Iy8vD66+/jr1796Jfv37aM87MzEwcPXoUHh4erARF+IthGCRmC7D025NIfzYBde82zpg/rBNNztyQPD2r7eTQp60L/rj4CMdvZ2M2B2E1ebp5r+EYENMibtmy8ToMVZg4cSJyc3MxfPhw7Nq1C/PmzUNaWhqOHj0KT09Po4Mh/HY/uwif/HkZp+6JAJSiuYMl5r7YERGd3OmeJkd6tym/73k9XY7sQgVcbGQcR0SIeTD40u9HH32E3NxcDBw4ED4+PoiPj4eXl1dDxEZ4QqnW4Idj9/Bt7G0oVBpIBAym9GuD9wa0pfuaHGtmK0MHd1vczCjAyTvZGN61OdchEWIW9O5t+8orr2i/bt26BYlEAhcXF0ybNq3Se/W1dOlSCAQCTJ8+XbustLQUkZGRcHZ2ho2NDUaOHInMzMxK26WmpmLo0KGwsrKCq6srZs6cCZVKVe84SGWJqU8x7LsT+PJgMhQqDXq1dsKsrmq8P6A1Fc7GNHNmjW9V9Lo9cTu7saIxH7p5r+UYENOhiYpipR29zzzt7Ss/hP3666+zEgAAnD9/HuvWrYO/v3+l5TNmzMDevXuxfft22NvbY+rUqXjllVdw8uRJAIBarcbQoUPh7u6OU6dOIT09HePGjYNEIsEXX3zBWnzmqKBUia8OJuN/Zx6AYQAnaynmDO2IFzu7Yv/+/VyHZ34WLarxrefbNsP64yk4fjsbDMPQJXQ26ea9lmNATIdmwQKw8We/3sVT34ESDFVYWIgxY8Zg/fr1+Pzzz7XL8/PzsWHDBmzZsgUDBgzQxtCxY0ecOXMGPXv2xKFDh3D9+nUcPnwYbm5u6Nq1KxYtWoSPP/4Yn332GaRS6vVZH3HJWZj9xxVkyMtvqr/SrTnmDPWDk7UUSqWS4+jMlJcX8OhRtW8F+zrBQiJEhrwUNzMK0NGDRvdijW7eazkGxHSIfX1ZOY6cT0kWGRmJoUOHIjQ0tFLxTEhIgFKpRGhoqHZZhw4d0KJFC5w+fRo9e/bE6dOn0aVLF7i5uWnXiYiIwJQpU3Dt2jUEBgZWu0+FQgGFQqH9Xi6XAwCUSqVZF4dChQpLDyRj24XHAABvR0ssGu6H3s/GodXNjznnyRBs5UucnQ1VDW2IAIS0ckJccjYOX0tHGxfTnc2Ib58v3bzXdgy4wrd88Zk2R9nZNebLkDzqVTxfeeUVbN68We/xaseMGYNvvvmmzoHkt27diosXL+L8+fNV3svIyIBUKoWDg0Ol5W5ubsjIyNCuo1s4K96veK8mS5YswYIFC6osj4uLg5WVVa0xN1V35MCWOyLkKMov+fX10OBF7wLkJ5/FvuSq68fExDRyhKbN2Hy9qNFg3759Nb7vUiYAIMLOs7fRouimUfviA758vnTzXtcx4BJf8mUKNLUcx+Ji/SeX16t47tq1C0+ePNGrQYZhsGfPHixatKjW4vnw4UNMmzYNMTExsLCw0C9alsyePRtROjeN5XI5vL290b9/fzg7m9dsHwqlGisO38Gm6+X3Nps7WGDZK50RXMNUYUqlEjExMQgLC4NEImnkaE0PW/kSDB+OIbU83B2QV4LtXx/H/UIBevULg4OVaR4bvn2+dPNe1zHgAt/yxWcVuWJeeqnG41hxFVIfehVPhmHQrl07vRvVR0JCArKystCtWzftMrVajWPHjuH777/HwYMHUVZWhry8vEpnn5mZmXB3dwcAuLu749y5c5XareiNW7FOdWQyGWSyqs/DSSQSs/oAXnmUjxm/J+FOViEAYFR3b8x5sSNsLerOgbnlylhG52v79lq7xvs0k6Cdmw1uZRbi9P08vBRg2s9d8+bzpZv3Oo4Bl3iTLxPA/PZbjbkyJId6Fc+4uDi9G6zQvHntz5sNHDgQV65cqbRswoQJ6NChAz7++GN4e3tDIpEgNjYWI0eOBAAkJycjNTUVISEhAICQkBAsXrwYWVlZ2rPcmJgY2NnZwc/Pz+CYzQXDMNhwIgXLDtyEUs3AxUaGZSO7YGBHt7o3JtwYMAA4cqTWVfp3cMWtzELE3cwy+eLJG7p51+MYEP4ThYcD9ahp/6ZX8ezbt6/RO/o3W1tbdO7cudIya2trODs7a5e//fbbiIqKgpOTE+zs7PD+++8jJCQEPXv2BACEh4fDz88PY8eOxfLly5GRkYE5c+YgMjKy2jNLAuQWleHD7Zdw5GYWAGBQJ3d88UoXONF4tPx26lSdq/Rv74p1R+/h6K0nUGsYiIT0yIrRdPOuxzEg/Cc4fZqVdjjvbVubb775BkKhECNHjoRCoUBERARWr16tfV8kEuHvv//GlClTEBISAmtra4wfPx4LFy7kMGr+OnMvB9O2JiJTroBULMTcF/3wRnALei6wiQhq6QhbCzFyi8pw6VEeurVw5DokQposXhXP+Pj4St9bWFggOjoa0dHRNW7TsmVL3vaA4wu1hsF3R27j29jb0DBA62bW+H50N3oe0JR07FjnKhKREC+0a4a9l9Nx+HomFU826OZdj2NATECHDqw0w9f734QlWQWlGPPjGaw8XF44Xw3ywp73n6fCaWoSE/VaLdyv/L51xfyqxEi6edfzGBB+U1XzaGR9UPFswhIelI9Le+ZeLqylIqwc1RVfvhoAKymvLjgQfUyerNdq/Tu4QiIS4E5WIe4+KWzgoMyAbt71PAaE34SRkey0U5+NVCoVDh8+jHXr1qGgoAAAkJaWhsJC+mXlA4Zh8OvZB3jth9PIlCvQxtUGu99/Hi8H0owbJmvzZr1Ws7OQIKR1+UDxB6/VPFAI0ZNu3vU8BoTfhP/7HyvtGHwK8uDBAwwaNAipqalQKBQICwuDra0tli1bBoVCgbVr17ISGKmfUqUa83Zdxe8XysduHNzZHV++GgAbGZ1tmouITm44dusJDl3LxHv92nAdDiFNksFnntOmTUP37t3x9OlTWFr+M4bmiBEjEBsby2pwxDBpeSX477rT+P3CIwgFwKzBHbB6TDcqnE2BSP95IMI6ukEgAJIe5iEjv7QBgzIDunk34BgQHmPpOBr8v+rx48dx6tSpKjOW+Pj44PHjx6wERQyXmPoUk/6XgOxCBRysJPju9UD0aduM67AIW4qK9F7V1c4Cgd4OuJiah5jrGRgb4tNwcTV1unk34BgQ/lLl5YGNsZgMPvPUaDRQq9VVlj969Ai2trYshEQMtedSGl774QyyCxXo4G6LPVOfp8LZ1KxYYdDqEZ3Kh6ekXrdG0s27gceA8JNw5Up22jF0g/DwcKzU2blAIEBhYSHmz5/Pu0GTmzqGYbDq8G28/1siFCoNBnZwxY4pveDtZJ4zwzRpn3xi0OoVxfP03RzkF9N0VfWmm3cDjwHhJ+Hcuey0Y+gGX331FU6ePAk/Pz+UlpZi9OjR2ku2y5YtYyUoUrdSpRrTtyXhm8O3AAATn/fFD+O60/1NAgDwcbFGezdbqDQMjiTT2SchbDP4f1pvb29cunQJ27Ztw6VLl1BYWIi3334bY8aMqdSBiDSc/GIlJv7vPM7ffwqxUICFwztjdHALrsMiPBPeyQ3JmQU4eDUTIwK9uA6HkCbFoOKpVCrRoUMH/P333xgzZgzGjBnTUHGRGqTllWD8xnO4nVUIWwsx1r4RhN5tXLgOizS0a9cM3iSikzu+O3IHR289QXGZigbHqA/dvNfjGBD+USUlNX6HIYlEgtJS6vrOlVuZBXhl9SncziqEu50Ftk8OocJpLm7cMHiTTp52aOFkhRKlWjuLDjGQbt7rcQwI/whu3mSlHYPveUZGRmLZsmVQqVSsBED0k/DgKf6z5hQy5KVo3cwaf7zXCx3caXxas/Gf/xi8iUAgwLAADwDA7qQ0tiMyD7p5r8cxIPwjeu01Vtox+DrO+fPnERsbi0OHDqFLly6wtrau9P6ff/7JSmDkH+dScjFh0zkUlanRrYUDNox/Do40/ybRw7AAT0TH3UV88hPIS5Wws2DjghUhxODi6eDggJEjRzZELKQap+5m4+3NF1CiVKN3G2esH9ed7l0RvXVwt0M7NxvcyizEwasZeLW7N9chEdIkGPy/8KZNmxoiDlKNY7eeYNL/LkCh0uCFds3ww9ggWEhoiDCztHNnvTcd5u+Jr2NuYc/ldCqehtLNuxHHgPCHevt2ViaypinJeOrIzUxM/OmCdvADKpxmrnXrem86LMATAHDyTjZyChVsRWQedPNuxDEg/MG0asVKOwYXYF9fXwgEghrfv3fvnlEBkfL/5N79OQFKNYOITm747vVukIrp7xyz5u8P1LOnu4+LNfy97HH5UT72Xc3A2J4tWQ6uCdPNuxHHgPCHOCiIleNocPGcPn16pe+VSiUSExNx4MABzJw50+iAzN3Vx/l4538XoFQzGNzZHd++HgiJiAonMc4wf09cfpSPPUlpVDwJYYHBxXPatGnVLo+OjsaFCxeMDsic3c8uwpvPetX2au2Mla91pcJJWPFigAcW77uBc/dzkZ5fAg97Gg2MEGOw9j/z4MGD8ccff7DVnNnJKijF2I1nkV1Yhk6edlg3NggyMd3jJM8YOW60h70levg4AQD+SqRnPvWmm3cau7tJ0HzxBSvtsFY8d+zYAScnJ7aaMytlKg2m/HIRD3NL0NLZCpsn9IAtPY9HdNVwxccQr3RrDgD44+IjMAxjdHtmQTfvLBwDwj3N+++z0o7BxTMwMBDdunXTfgUGBsLDwwOffPIJPjFwyp41a9bA398fdnZ2sLOzQ0hICPbv3w8AuH//PgQCQbVf27dv17ZR3ftbt2419Mfi1KK/ryPhwVPYWoixeUIPNLOVcR0S4RsLC6ObGOLvAQuJEHeyCnH5UT4LQZkB3byzcAwI98QszTtt8D3P4cOHV+ptKxQK0axZM/Tr1w8dOnQwqC0vLy8sXboUbdu2BcMw+OmnnzB8+HAkJiaiQ4cOSE9Pr7T+Dz/8gC+//BKDBw+utHzTpk0YNGiQ9nsHBwdDfyzObL/wED+feQAAWDmqK3xdrOvYgpD6sbOQIKKTO3YlpWFHwiMEeDtwHRIhJsvg4vnZZ5+xtvNhw4ZV+n7x4sVYs2YNzpw5g06dOsHd3b3S+zt37sR///tf2NjYVFru4OBQZV1TcC0tH5/+dRUAMD20LQZ2dOM4ItLU/SfIC7uS0rD7Uho+HdqRnh0mpJ4MLp4ikQjp6elwdXWttDwnJweurq5Qq9X1CkStVmP79u0oKipCSEhIlfcTEhKQlJSE6OjoKu9FRkZi4sSJaNWqFSZPnowJEybU+iyqQqGAQvHPw+JyuRxA+WM3SqWyXvEbSqFUY9pviShTadC/vQum9PFptH0boyJGU4iVD9jKl3DCBGhYyPlzLezhbidDhlyBQ1fTMLgzv/7o5NvnSzfvbB0DNvEtX3xWkSPV+PFADfkyJI8CxsCeA0KhEBkZGVWKZ1paGlq3bo2SkhJDmsOVK1cQEhKC0tJS2NjYYMuWLRgyZEiV9d577z3Ex8fj+vXrlZYvWrQIAwYMgJWVFQ4dOoT58+dj+fLl+L//+78a9/nZZ59hwYIFVZZv2bIFVlZWBsVfXzvvCxGfLoSthMGsADVsqH8QaSR/pwoR81gIPwcN3u2o4TocQnijuLgYo0ePRn5+Puzsap+1Su/i+e233wIAZsyYgUWLFlW6dKpWq3Hs2DHcv38fiYmJBgVbVlaG1NRU5OfnY8eOHfjxxx9x9OhR+Pn5adcpKSmBh4cH5s6diw8++KDW9ubNm4dNmzbh4cOHNa5T3Zmnt7c30tPT4ezsbFD89XE2JRdvbCx/JvaHNwLRv32zBt8nW5RKJWJiYhAWFgaJhCp+XdjKlzgwECoDf7dqkpJdhPBVJyEUAHFRfeDpwJ9nPvn2+dLNO5vHgC18yxefVeRq2CefQJ2UVO06crkcLi4uehVPvS/bfvPNNwAAhmGwdu1aiET/3CuRSqXw8fHB2rVr9W2u0rZt2rQBAAQFBeH8+fNYtWoV1q1bp11nx44dKC4uxrhx4+psLzg4GIsWLYJCoYBMVn2vVZlMVu17EomkwT+ApUo15u4un1T39R4tEN7Zs0H311AaI1dNidH5unOHtXy383BASCtnnL6Xgz8S0xEV3p6VdtnEm8+Xbt5ZPAZs402+TIDg7t0ac2VIDvUunikpKQCA/v37488//4Sjo6PeOzGERqOpdFYIABs2bMBLL72EZs3qPkNLSkqCo6NjjYWTa6vj7yIluwiutjJ8MsSw3smEsGVMzxY4fS8HW88/xPsD29JIVoQYyOAOQ3FxcaztfPbs2Rg8eDBatGiBgoICbNmyBfHx8Th48KB2nTt37uDYsWPYt29fle337NmDzMxM9OzZExYWFoiJicEXX3yBDz/8kLUY2XT3SSHWxt8FAMwf1okGQiD6e+EFVpsL93OHi40UWQUKxN7IwiCedRziDd28s3wMCDeYPn1Qc3dS/dVrWrNHjx5h9+7dSE1NRVlZWaX3VqxYoXc7WVlZGDduHNLT02Fvbw9/f38cPHgQYWFh2nU2btwILy8vhIeHV9leIpEgOjoaM2bMAMMwaNOmDVasWIFJkybV58dqcAv2XEeZWoN+7ZthSBf6z4oY4NAhVpuTioV4tbs31sTfxa9nH1DxrIlu3lk+BoQb6n37WBlaz+DiGRsbi5deegmtWrXCzZs30blzZ9y/fx8Mw6Bbt24GtbVhw4Y61/niiy/wRQ1jEQ4aNKjS4Ah8FpechWO3nkAiEuCzYZ1qfZSGkCpGjgRYHjv69edaYO3Ruzh+OxsPcorQ0pkG6KhCN+8NcAxI4xP997+sTGxucAGePXs2PvzwQ1y5cgUWFhb4448/8PDhQ/Tt2xevvvqq0QE1RWoNgy/2lncSerOXD3xoFCFiqL17WW+yhbMVXmhb3o/gt3M19043a7p5b4BjQBqf4NkQsMYyuHjeuHFD2+tVLBajpKQENjY2WLhwIZbRrAPV2nMpDbezCmFvKcHUAW25DocQrdHBLQCUDxOpUNVvgBNCzJHBxdPa2lp7n9PDwwN3797Vvpednc1eZE2ESq3BqtjbAIB3XmgFe0vqJETqoYGGnxzYwRVudjLkFJXhwNWMBtmHSdPNuwkOAUqqwdJxNLh49uzZEydOnAAADBkyBB988AEWL16Mt956Cz179mQlqKbkz8THSMkugpO1FG/28uE6HGKq7t9vkGbFIiFG92gJANh48j5NVfZvunlvoGNAGpfq9m1W2jG4eK5YsQLBwcEAgAULFmDgwIHYtm0bfHx89OoAZE7KVBp8++ysc3LfVrCW1atzMyHA7NkN1vSYni0gFQtx6WEeLqY+bbD9mCTdvDfgMSCNR/jpp+y0Y8jKarUajx49QosW5fdJrK2tsXbtWly+fBl//PEHWrZsyUpQTcX2hId49LQEzWxlGNvTh+twiCl7NsJXQ3CxkWFE1/KJsn88ntJg+zFJunlvwGNAGo/w2VCzRrdjyMoikQjh4eF4+pT+Oq2LUq3B6rjy+8Hv9WsNSylN/UT46+0+vgCAg9cykJpTzHE0hPCfwZdtO3fujHv37jVELE3KvivpeJxXAmdrKV7v0YLrcAipVTs3W/Rp6wINA2w6RWefhNTF4OL5+eef48MPP8Tff/+N9PR0yOXySl+kfPD8dUfL/8AY38uHJhwmxsvKavBdTOzTCgDw+/mHkJfS/JAAKue9EY4BaXiqx49Zacfg4jlkyBBcunQJL730Ery8vODo6AhHR0c4ODg02GDxpubknRxcT5fDUiLC2J50H5iwoBFGtnmhrQvautqgqEyNbTRoQjndvNPoQk2CgIXRhQCOB4ZvqtYdK7/X+d/uXnC0lnIcDWkSpkwBJkxo0F0IBAJM7OOLj/+4gg0nUjCuV0vIxGZ+1UQ3741wDEjDE02dCkycaHQ7BhfPvn37Gr3Tpux2ZgGO386GUAC8/XwrrsMhxCDDuzbH14duIUNeij8vPqb79YTUoF6Dyx8/fhxvvPEGevXqhcfPrh///PPP2sETzNn/Tj8AAIR2dEMLZyuOoyHEMBYSEd55ofyPvjXxd6FSaziOiBB+Mrh4/vHHH4iIiIClpSUuXryonbg6Pz+/xtlPzIW8VIk/Lj4CUN5RiBDWNOIfpqODW8DRSoLU3GL8fTm90fbLS7p5p5ODJkEdH89KO/Xqbbt27VqsX78eEsk/47T27t0bFy9eZCUoU/VnwiMUl6nRupk1erV25joc0pQ8+yO1MVhJxXj7+fLnPqPj7kCjMeMh+3Tz3ojHgDQglo6jwcUzOTkZL1Qzo7q9vT3y8vLYiMkkMQyD/50pv2Q7vpcPzddJ2DVwYKPubmyID2xlYtzOKsSBa2Y8YLxu3hv5GJCGIYqIYKUdg4unu7s77ty5U2X5iRMn0KqV+XaQOZeSi3tPimAlFWFEYHOuwyHEKPaWEkzo7QMAWBFzC2pzPvskpBoGF89JkyZh2rRpOHv2LAQCAdLS0vDrr7/iww8/xJQpUxoiRpOw7Xz5c3EvBXjC1oKmHSOmb+KzKfTuZBXir0R2HiwnpKkw+FGVWbNmQaPRYODAgSguLsYLL7wAmUyGDz/8EO+//35DxMh7+SVK7L1S3rHiv895cxwNaZI2bmz0XdpZSDC5b2ssO3ATK2NvYViAJ6TienXQN126eefgGBD2qX/4wfDCVw2DfxMEAgE+/fRT5Obm4urVqzhz5gyePHmCRYsWsRCOadp9KQ0KlQbt3GwQ6O3AdTikKQoL42S343u1RDNbGR7mlmDbBTMcdUg37xwdA8IuJjSUlXbq/WekVCqFra0tPDw8YGNjw0owpmrb+VQAwKjnWlBHIdIwvLm5omElFeP9AW0AAN/F3kZJmZqTODijm3eOjgFhl5ilvjkGF0+VSoW5c+fC3t4ePj4+8PHxgb29PebMmQOl0rDBpNesWQN/f3/Y2dnBzs4OISEh2L9/v/b9fv36QSAQVPqaPHlypTZSU1MxdOhQWFlZwdXVFTNnzoRKpTL0x6q3q4/zcfWxHBKRgDoKkSbptedawMvRElkFCvx85j7X4RDCCwZf+n3//ffx559/Yvny5QgJCQEAnD59Gp999hlycnKwZs0avdvy8vLC0qVL0bZtWzAMg59++gnDhw9HYmIiOnXqBKC8g9LChQu121hZ/TNqj1qtxtChQ+Hu7o5Tp04hPT0d48aNg0QiabQBG3YklA+KEO7nDicax5Y0QVKxENND2+HD7ZewOv4u/tvdGw5W9Fkn5s3g4rllyxZs3boVgwcP1i7z9/eHt7c3Xn/9dYOK57Bhwyp9v3jxYqxZswZnzpzRFk8rKyu4u7tXu/2hQ4dw/fp1HD58GG5ubujatSsWLVqEjz/+GJ999hmk0ob9BVepNdoRWEYG0VknaUCzZnG6+xGBzfHj8Xu4mVGAlYdv47OXOnEaT6PRzTvHx4CwQzNzJtiY7sDg4imTyeDj41Nlua+vr1HFSq1WY/v27SgqKtKe0QLAr7/+il9++QXu7u4YNmwY5s6dqz37PH36NLp06QI3Nzft+hEREZgyZQquXbuGwMDAavelUCi0wwoC0M5DqlQqDbr0fPJuDrILFXC0kqCnj4PBl61NUcXPaA4/KxtYy9ennwIc53z2oHYYvzkBP595gFFBnmjjyn5fB959vnTzzoNj8G+8yxePVeRIMXs2JDXky5A8Glw8p06dikWLFmHTpk2QyWTlwSgUWLx4MaZOnWpoc7hy5QpCQkJQWloKGxsb7Ny5E35+fgCA0aNHo2XLlvD09MTly5fx8ccfIzk5GX/++ScAICMjo1LhBKD9PiOj5lFRlixZggULFlRZHhcXV+mycF223BECEKKjrQIxBw/ovV1TEBMTw3UIJsXYfEVMmICDmzaxFE39dXEU4spTIaJ+PoHJHRtu0Hi+fL50886XY1AdvuTLFAi9vLCvhuNYXFysdzsChmEMGjpkxIgRiI2NhUwmQ0BAAADg0qVLKCsrw8B/DV9VUeRqU1ZWhtTUVOTn52PHjh348ccfcfToUW0B1XXkyBEMHDgQd+7cQevWrfHOO+/gwYMHOHjwoHad4uJiWFtbY9++fZUuLeuq7szT29sb6enpcHbWb0xahVKNnsuOolChwq9vd0cPHye9tjN1SqUSMTExCAsLqzS2MakeW/kS29pCVVDAYmT18yCnGIO/OwmlmsH6sYHo164Zq+3z7fOlm3e+HANdfMsXn1Xk6qVRo2o8jnK5HC4uLsjPz4ednV2t7Rl85ung4ICRI0dWWuZtRBduqVSKNm3Ku8IHBQXh/PnzWLVqFdatW1dl3eDgYADQFk93d3ecO3eu0jqZmZkAUON9UqD80nPFWbMuiUSi9wcwNjkbhQoVPOwtENLaFUKheT2iYkiuCDv54kO+27jbY0JvX/xw7B6WHLiFvu3dG2TgBD59vnTj4EtM/8anfJmCmnJlSA4NLp6bGviyhUajqXRWqCspKQkA4OHhAQAICQnB4sWLkZWVBVdXVwDlly/s7OyqPXNl0+5LaQDKh+Mzt8JJOPDKK1xHoDV1QBv8kfAI954UYcOJFEzp15rrkBqObt55dAxI/TEvvww2/sfmdKyt2bNn49ixY7h//z6uXLmC2bNnIz4+HmPGjMHdu3exaNEiJCQk4P79+9i9ezfGjRuHF154Af7+/gCA8PBw+Pn5YezYsbh06RIOHjyIOXPmIDIystozS7YUlCpx+EYWAGBYgGeD7YcQrS1buI5Ay85CgtlDOgIAVsXewsNc/e8TmRzdvPPoGJD6U//8MyvtGFw8c3JyEBkZCT8/P7i4uMDJyanSlyGysrIwbtw4tG/fHgMHDsT58+dx8OBBhIWFQSqV4vDhwwgPD0eHDh3wwQcfYOTIkdizZ492e5FIhL///hsikQghISF44403MG7cuErPhTaEg9cyUabSoHUza3TyrP26OCGs6NuX6wgqGdmtOYJ9nVCq1GDerqswsOuE6dDNO8+OAakfEUtTyxl82Xbs2LG4c+cO3n77bbi5uRk1HN2GDRtqfM/b2xtHjx6ts42WLVti37599Y6hPiou2Q7v2pyG4yON4+xZriOoRCAQYPGILhi86hjikp/gwNUMDO7iwXVY7NPNO8+OAakfwb/6ydSXwcXz+PHjOHHihLanrbl5UqDAyTvZAMrvdxJirtq42mBy39b47sgdzNt9DT1bOcORRtkiZsLgy7YdOnRASUlJQ8RiEg5cTYdawyDAyx4+LtZch0PMRefOXEdQrcj+bdC6mTWeFCjw2Z5rXIfDPt288/QYEMMwndgZHcvg4rl69Wp8+umnOHr0KHJyciCXyyt9NXUHr5U/CjOkKV6iIvx14QLXEVTLQiLC1//tCqEA2JWUhgNX07kOiV26eefpMSCGUZ85w0o7BhdPBwcHyOVyDBgwAK6urnB0dISjoyMcHBzg6OjISlB8lV+sxJl7OQCAiE41P0dKCOsmTeI6ghp19XbA5L7lj6t8uvMqcgqrf9TMJOnmncfHgOhP9K+ZuerL4OI5ZswYSCQSbNmyBbGxsThy5AiOHDmCuLg4HDlyhJWg+OpIciZUGgbt3Wzpki1pXCx1r28o00LbooO7LXKKyjC3KfW+1c07z48B0Y/g119ZacfgDkNXr15FYmIi2rdvz0oApuTg1fJLtuGd3OpYkxDzIhOL8NWrAXg5+iT2XcnAX0mPMSLQi+uwCGkwBp95du/eHQ8fPmyIWHitVKnG0VtPANAlW8KBBp5ejw2dm9vj/QFtAZRfvr37pJDjiFigm3cTOAZEDywdx3pNhj1t2jTMnDkTXbp0qTIWYMXoP03N8dvZKFGq0dzBkgZGII3PRDrjTR3QBqfvZePMvVxE/noRf0X2hoWEjdkTOaKbdxM5BqR2qpwcsDEKsMFnnqNGjcKNGzfw1ltv4bnnnkPXrl0RGBio/bepOnStfIqzMD/jBoYgpF6WL+c6Ar2IhAKsei0QztZS3MwowKK/r3MdknF0824ix4DUTvjVV+y0Y+gGKSkpVb7u3bun/bcpUqk1OHyD7ncSDs2bx3UEenOzs8A3o7pCIAB+PZuKvy+ncR1S/enm3YSOAamZsJq5nOvD4Mu2LVu2ZGXHpuT8/ad4WqyEg5XEbObtJMQYL7Rrhvf6tUZ03F3M+uMKOrjboY2rDddhEcKaes2q8vPPP6N3797w9PTEgwcPAAArV67Erl27WA2OLw5dL79kO7CDG8QiTieiIcRkzAhthx6+TihUqPDO/y4gv1jJdUiEsMbgSrBmzRpERUVhyJAhyMvLg1qtBlA+eMLKlSvZjo9zDMMg9tn0Y3TJlnAmOZnrCAwmFgmxekw3NHewxL3sIry/NREqtYbrsAyjm3cTPAakKtXVq6y0Y3Dx/O6777B+/Xp8+umnEIn+6UXXvXt3XLlyhZWg+ORedhFSc4shFQnxfBsXrsMh5ioxkesI6sXFRoYfxgXBUiLCsVtPsHT/Ta5DMoxu3k30GJDKBElJrLRTrw5D1fWqlclkKCoqYiUoPom7WX7WGdzKCdYyg28RE8KO117jOoJ66+RpjxX/LZ+F6ccTKfjtXCrHERlAN+8mfAzIP0RvvMFKOwYXT19fXyRVU7kPHDiAjh07shETr8Qnlw+M0K+9K8eREGK6BnfxwPTQigEUriDmeibHERFiHL2L58KFC1FcXIyoqChERkZi27ZtYBgG586dw+LFizF79mx89NFHDRlroytSqHA2pXwg+P7tm3EcDSGmbdrAtvhvdy9oGGDqlotIeJDLdUiE1Jve1yEXLFiAyZMnY+LEibC0tMScOXNQXFyM0aNHw9PTE6tWrcJrTeyyxsk72VCqGbR0toIvDQRPuLRnD9cRGE0gEOCLEV2QXViGIzez8NbmC/hjSgjauNpyHVrNdPPeBI4BAdQ7dxr+jGY19D7z1J0lYcyYMbh9+zYKCwuRkZGBR48e4e2332YhHH6Je3bJtn97VxpViHCreXOuI2CFWCRE9OhuCGzhgPwSJcZuOIfUnGKuw6qZbt6byDEwd4ynJyvtGHTP898FxMrKCq6uTfNeIMMwiE8u7yzUjy7ZEq5168Z1BKyxlIqwYfxzaONqg/T8Ury+/gwe5vK0gOrmvQkdA3MmDg5mpR2Dime7du3g5ORU61dTkZxZgPT8UlhIhOjZypnrcAhpUpyspdgyMRitXKzxOK8Er/1wBo+e8rSAElINgy79LliwAPb29qztfM2aNVizZg3u378PAOjUqRPmzZuHwYMHIzc3F/Pnz8ehQ4eQmpqKZs2a4eWXX8aiRYsqxVDd5dTffvvN6PuvcTfLL9n2au1i2rNCEMJTrnYW+O2dnnjthzNIyS7Caz+cwS9vdec6LEL0YlDxfO2111i9TOvl5YWlS5eibdu2YBgGP/30E4YPH47ExEQwDIO0tDR89dVX8PPzw4MHDzB58mSkpaVhx44dldrZtGkTBg0apP3ewcHB6NiO3ap4RIUu2RIe+PprriNoEG52FvhtUk+89sNp3M8pxmvrz2GCL9dR6dDNexM9BuZGs3w52Dgd0rt4NkSHmWHDhlX6fvHixVizZg3OnDmDt99+G3/88Yf2vdatW2Px4sV44403oFKpIBb/E7qDgwPc3dmboLqkTI2EB08BgEYVIvzw7rtcR9Bg3O3Lz0DHbjiHO1mFWHVNhMAeeejRmgd/uOrmvQkfA3OimTSJleJZr962DUGtVmPr1q0oKipCSEhItevk5+fDzs6uUuEEgMjISLi4uKBHjx7YuHGj0bFeeJCLMrUGHvYW9IgK4Qebpj0jiYe9Jba/G4Ku3vYoVgkwbvMFxD3rsMcp3bw38WNgLsSOjuy0o++KGk3DDOh85coVhISEoLS0FDY2Nti5cyf8/PyqrJednY1FixbhnXfeqbR84cKFGDBgAKysrHDo0CG89957KCwsxP/93//VuE+FQgGFQqH9Xv5shnilUgmlUoljz35pQ1o5QaVSsfFjNhlKpbLSv6R2bOVLDEDVxHNuIxXgxzEBGLs2HjfygEk/XcDCl/zwahB3j4jo5p2Px4B+H/Wnm6Oa8mVIHgVMQ59S1qGsrAypqanIz8/Hjh078OOPP+Lo0aOVCqhcLkdYWBicnJywe/duSCSSGtubN28eNm3ahIcPH9a4zmeffYYF1UyIumXLFlhZWeHLyyI8KhJgbBs1ujfjND2EAABefPVV/L19O9dhNAq1BthyV4gL2eUXxvp5aDC8pQZCDh611s27OR2Dpqy241gx8E/FVc7acF48/y00NBStW7fGunXrAAAFBQWIiIiAlZUV/v77b1hYWNS6/d69e/Hiiy+itLQUMpms2nWqO/P09vZGeno6hJa2CF4aD4YBTn7UF6621bdhrpRKJWJiYhAWFlbrHzGkHFv5EkZFQbNiBYuR8VNFvgaGhuKHEw/xbdxdAMALbZ3xzav+sLNs3M+cbt75eAzo91F/FbkacvAgsGpVtevI5XK4uLjoVTx5N02IRqPRFja5XI6IiAjIZDLs3r27zsIJAElJSXB0dKyxcALlM8BU975EIsHZVDkYBmjnZoPmTnSPoyYSiYR+WQ1gdL6++46VTg6mQiaVIiqiA9p72OOD7Uk4djsHr6w7i+jR3dC5OXuPy9VJN+88Pgb0+2iAVatqzJUhOeS0eM6ePRuDBw9GixYtUFBQgC1btiA+Ph4HDx6EXC5HeHg4iouL8csvv0Aul2vvTTZr1gwikQh79uxBZmYmevbsCQsLC8TExOCLL77Ahx9+WO+YTt7JBlD+fCchvOHnB1y/znUUjW6ovwdaOlvh3Z8T8CCnGK+sOYX5w/wwukeLxhkyUzfvZnoMmhqxvz9w44bx7bAQS71lZWVh3LhxSE9Ph729Pfz9/XHw4EGEhYUhPj4eZ8+eBQC0adOm0nYpKSnw8fGBRCJBdHQ0ZsyYAYZh0KZNG6xYsQKTJk2qd0wVxZMeUSG8cu8e1xFwpnNze+z9v+fx4fZLOHwjC5/uvIpzKblY9HJn2Fk08NmWbt7N+Bg0KSkprDTDafHcsGFDje/169evzkdOBg0aVGlwBGOl5Zfgfk4xREIBgls1naEGCTF1DlZSrB/XHeuP38OyA8nYlZSG8ym5+OrVAPSiP3QJBwyeDLspO5tSPjBCgJc9bBv6L1pCDNG/P9cRcE4gEOCdF1rj93d7oqWzFdLySzH6x7P4bPc1lJSpG2anunmnY9AkMP36sdIOFU8d5+6VT87bm/6SJXyzfz/XEfBGUEsn7Pu/PhgT3AIAsPnUfQxadUw7pCardPNOx6BJULM0LysVTx3n7pefeVLxJLzz8stcR8Ar1jIxFo/ogs0TnoO7nQUe5BRj3MZzmLrlIrLkpeztSDfvdAyaBNHIkay0Q8VTR26xEpYSEQJbOHAdCiGVHTjAdQS81K+9Kw5/0Bdv9faFUAD8fTkdA78+io0nUlCmYmFUNN280zFoEgSHDrHSDhXPf3nO1wkyMV+f5iKE/JuNTIx5w/ywe+rz8PeyR4FChYV/X0f4N0dx4Gp6g4/LTcwTFc9/eb4NTXxNeKg5d+O7morOze2x873e+GJEF7jYyHA/pxiTf7mIV9eeRsKD3Po1qpt3OgZNA0vHkYrnv9DgCISX7t7lOgKTIBIKMDq4BeJn9sP/DWgDC4kQFx48xcg1pzF2w1ntVIN60807HYMmQXXzJivtUPHUYWMhQkeP2sczJIQTH33EdQQmxUYmRlR4e8R/2B+juntDLBTg+O1sjFxzCmM3nMXpuzn6Xc7VzTsdgyZBOGsWO+2w0koTEejtABEXUzcQUpdvv+U6ApPkbm+BZf/xx5EP+lUqoq+vP4MXvzuBnYmPau9YpJt3OgZNgjA6mp12WGmliQhqwc4kqYQQfmnhbIVl//FH3If9MCa4BSwkQlxLk2PGtkvos/wIouPu4EmBou6GCHmGiqeOIHpEhZAmzdvJCotHdMHpWQMxM6I9XG1lyJQr8OXBZIQsicW7P19A3M0sqDXUQ5fUjndTknGpgztNQUZ4KieH6wiaFEdrKSL7t8GkPq2w51Iafjn7AImpeTh4LRMHr2XCw94CLwc2R3jibXgXPjsjfZAGFPLr7FSlVKJACeQUKiCWsPBcaxNWkausOw9gW6aCldS48kfFU4dYRCfihKd++w2YOJHrKJocqViIkUFeGBnkheSMAmw7/xB/Jj5Cen4p1sTfRe6lg9gWEAEAGKXzml/EmHPhKNdBmAgxrmxYDM8P3se00LZGtUTVghBTMHUq1xE0ee3dbTFvmB/OfjIQ370eiBf9PbAwZq32fd3XxHSxdRzpzJMQQnTIxCIMC/DEsABP4C0h7i8dWv7GSp3XPKFUKrFv3z4MGTIEEgnNBFWbilxJxUKjzzoBOvMkhBBCDEbFkxBTcPo01xGYJ9280zFoElTHjrHSDhVPQkxBQQHXEZgn3bzTMWgSBIWFrLRDxZMQUxAeznUE5kk373QMmgTRkCGstEPFkxBCCDEQFU9CCCHEQFQ8CTEFP/3EdQTmSTfvdAyaBPWGDay0w2nxXLNmDfz9/WFnZwc7OzuEhIRg//792vdLS0sRGRkJZ2dn2NjYYOTIkcjMzKzURmpqKoYOHQorKyu4urpi5syZUKlUjf2jENKwXniB6wjMk27e6Rg0CUyfPqy0w2nx9PLywtKlS5GQkIALFy5gwIABGD58OK5duwYAmDFjBvbs2YPt27fj6NGjSEtLwyuvvKLdXq1WY+jQoSgrK8OpU6fw008/YfPmzZg3bx5XPxIhDcPXl+sIzJNu3ukYNAnidu3YaYeVVupp2LBhlb5fvHgx1qxZgzNnzsDLywsbNmzAli1bMGDAAADApk2b0LFjR5w5cwY9e/bEoUOHcP36dRw+fBhubm7o2rUrFi1ahI8//hifffYZpFIpFz8WIYSQJo43w/Op1Wps374dRUVFCAkJQUJCApRKJUJDQ7XrdOjQAS1atMDp06fRs2dPnD59Gl26dIGbm5t2nYiICEyZMgXXrl1DYGBgtftSKBRQKP6ZHSE/Px8AkJub20A/XdOhVCpRXFyMnJwcGg5MD2zlS8wwUJnBzCp8+3zp5p2Px4Bv+eKzilzJazmOBc+e5WWYuqek47x4XrlyBSEhISgtLYWNjQ127twJPz8/JCUlQSqVwsHBodL6bm5uyMjIAABkZGRUKpwV71e8V5MlS5ZgwYIFVZa3Y+l0npAG4eLCdQTmSTfvdAyahjqOY0FBAezt7Wtdh/Pi2b59eyQlJSE/Px87duzA+PHjcfRow06vM3v2bERFRWm/z8vLQ8uWLZGamlpnwsydXC6Ht7c3Hj58CDs7O67D4T3Kl2EoX4ahfOlPn1wxDIOCggJ4enrW2R7nxVMqlaJNmzYAgKCgIJw/fx6rVq3CqFGjUFZWhry8vEpnn5mZmXB3dwcAuLu749y5c5Xaq+iNW7FOdWQyGWQyWZXl9vb29AHUU0UPaaIfypdhKF+GoXzpr65c6XsCxbvnPDUaDRQKBYKCgiCRSBAbG6t9Lzk5GampqQgJCQEAhISE4MqVK8jKytKuExMTAzs7O/j5+TV67IQQQswDp2ees2fPxuDBg9GiRQsUFBRgy5YtiI+Px8GDB2Fvb4+3334bUVFRcHJygp2dHd5//32EhISgZ8+eAIDw8HD4+flh7NixWL58OTIyMjBnzhxERkZWe2ZJCCGEsIHT4pmVlYVx48YhPT0d9vb28Pf3x8GDBxEWFgYA+OabbyAUCjFy5EgoFApERERg9erV2u1FIhH+/vtvTJkyBSEhIbC2tsb48eOxcOFCg+KQyWSYP38+FVw9UK4MQ/kyDOXLMJQv/bGdKwGjT59cQgghhGjx7p4nIYQQwndUPAkhhBADUfEkhBBCDETFkxBCCDGQ2RfP6Oho+Pj4wMLCAsHBwVUGXTBXx44dw7Bhw+Dp6QmBQIC//vqr0vsMw2DevHnw8PCApaUlQkNDcfv2bW6C5diSJUvw3HPPwdbWFq6urnj55ZeRnJxcaR19ptczF2xMRWiuli5dCoFAgOnTp2uXUb4q++yzzyAQCCp9dejQQfs+W/ky6+K5bds2REVFYf78+bh48SICAgIQERFRadAFc1VUVISAgABER0dX+/7y5cvx7bffYu3atTh79iysra0RERGB0tLSRo6Ue0ePHkVkZCTOnDmDmJgYKJVKhIeHo6ioSLtOXdPrmRNjpyI0V+fPn8e6devg7+9faTnlq6pOnTohPT1d+3XixAnte6zlizFjPXr0YCIjI7Xfq9VqxtPTk1myZAmHUfEPAGbnzp3a7zUaDePu7s58+eWX2mV5eXmMTCZjfvvtNw4i5JesrCwGAHP06FGGYcpzI5FImO3bt2vXuXHjBgOAOX36NFdh8oqjoyPz448/Uq5qUFBQwLRt25aJiYlh+vbty0ybNo1hGPpsVWf+/PlMQEBAte+xmS+zPfMsKytDQkJCpSnPhEIhQkNDcfr0aQ4j47+UlBRkZGRUyp29vT2Cg4Mpd/hnijsnJycAqHN6PXOmVquxdetWvaciNFeRkZEYOnRopbwA9Nmqye3bt+Hp6YlWrVphzJgxSE1NBcBuvjgfGJ4r2dnZUKvV1U5pdvPmTY6iMg0V071Vl7vapoIzBxqNBtOnT0fv3r3RuXNnAOX5qmt6PXNjzFSE5mbr1q24ePEizp8/X+U9+mxVFRwcjM2bN6N9+/ZIT0/HggUL0KdPH1y9epXVfJlt8SSkIURGRuLq1auV7rGQqriYitAUPXz4ENOmTUNMTAwsLCy4DsckDB48WPva398fwcHBaNmyJX7//XdYWlqyth+zvWzr4uICkUhUpZeV7pRnpHoV+aHcVTZ16lT8/fffiIuLg5eXl3a5u7u7dno9Xeacr4qpCIOCgrBkyRIEBARg1apVlKt/SUhIQFZWFrp16waxWAyxWIyjR4/i22+/hVgshpubG+WrDg4ODmjXrh3u3LnD6ufLbIunVCpFUFBQpSnPNBoNYmNjtVOeker5+vrC3d29Uu7kcjnOnj1rlrljGAZTp07Fzp07ceTIEfj6+lZ6X5/p9cydIVMRmpOBAwfiypUrSEpK0n51794dY8aM0b6mfNWusLAQd+/ehYeHB7ufLyM6NZm8rVu3MjKZjNm8eTNz/fp15p133mEcHByYjIwMrkPjXEFBAZOYmMgkJiYyAJgVK1YwiYmJzIMHDxiGYZilS5cyDg4OzK5du5jLly8zw4cPZ3x9fZmSkhKOI298U6ZMYezt7Zn4+HgmPT1d+1VcXKxdZ/LkyUyLFi2YI0eOMBcuXGBCQkKYkJAQDqPmzqxZs5ijR48yKSkpzOXLl5lZs2YxAoGAOXToEMMwlKu66Pa2ZRjK17998MEHTHx8PJOSksKcPHmSCQ0NZVxcXJisrCyGYdjLl1kXT4ZhmO+++45p0aIFI5VKmR49ejBnzpzhOiReiIuLYwBU+Ro/fjzDMOWPq8ydO5dxc3NjZDIZM3DgQCY5OZnboDlSXZ4AMJs2bdKuU1JSwrz33nuMo6MjY2VlxYwYMYJJT0/nLmgOvfXWW0zLli0ZqVTKNGvWjBk4cKC2cDIM5aou/y6elK/KRo0axXh4eDBSqZRp3rw5M2rUKObOnTva99nKF01JRgghhBjIbO95EkIIIfVFxZMQQggxEBVPQgghxEBUPAkhhBADUfEkhBBCDETFkxBCCDEQFU9CCCHEQFQ8CSGEEANR8SSEEEIMRMWTEEIIMRAVT0IIIcRAVDwJIYQQA1HxJIQQQgwk5joAPtBoNEhLS4OtrS0EAgHX4RBCCOEAwzAoKCiAp6cnhMLazy2peAJIS0uDt7c312EQQgjhgYcPH8LLy6vWdah4ArC1tQUApKSkwMnJieNo+E2pVOLQoUMIDw+HRCLhOhzeYy1fd+4AbdqwFxhP8e7zpZt3Hh4D3uWLx7S5atUKko4dq11HLpfD29tbWxNqQ8UT0F6qtbW1hZ2dHcfR8JtSqYSVlRXs7Ozol1UPrOUrMxPo1o29wHiKd58v3bzz8BjwLl88VpEr+6wsiIODa11Xn9t31GGIEFMwYgTXEZgn3bzTMWgSRK++yko7VDwJIYQQA/GqeB47dgzDhg2Dp6cnBAIB/vrrrzq3iY+PR7du3SCTydCmTRts3ry5weMkhBBi3nhVPIuKihAQEIDo6Gi91k9JScHQoUPRv39/JCUlYfr06Zg4cSIOHjzYwJES0sh27OA6AvOkm3c6Bk2CeutWVtrhVYehwYMHY/DgwXqvv3btWvj6+uLrr78GAHTs2BEnTpzAN998g4iICIP3f/JuDuyy1QZvZ07UajVuPBXA5nY2RCIR1+HwHhv5EggE6ObbBnX3/yOse9Yr896TQmTJXFGanMVxQJXR76P+KnLVzN0VntlF8HGxNqo9XhVPQ50+fRqhoaGVlkVERGD69Om1bqdQKKBQKLTfy+VyAMDU3y5BKLNiPc6mR4S1Ny9yHYQJMT5ft75+BcriQpbi4S+lUlnpX66JO3VC6sMsDFxxHDe/HIH2H+7kOqRq0O+j/kSYMbEvovddxvv9W1d515DPnUkXz4yMDLi5uVVa5ubmBrlcjpKSElhaWla73ZIlS7BgwYIqyz2tGIgtmAaJlZD6UGmAjBIBGIbB/n37uA6n0cTExHAdAgDgRY0GOw/GgWHK/6v0sqb/H0yeAMi8fwv79iVXeau4uFjvZky6eNbX7NmzERUVpf2+4sHYv95/Ac7OzhxGxn9KpRIxMTEICwuj58r0YGy+sgsVCFl2FAAwaNBgCIVNe/hIvn2+hEIhQkJ6YeXVc4AAiJtl+O2ghsS3fPFZRa6kIiE+n1D97cGKq5D6MOni6e7ujszMzErLMjMzYWdnV+NZJwDIZDLIZLIqyyUSCX0A9US5Mkx98+VsW34fa/kL4/B/agHsZeaRc958vr74AmJx+TH4cdBERPIhpmrwJl8mQLNoUY25MiSHvOpta6iQkBDExsZWWhYTE4OQkBCOIiKEXVKxEFZSETb0GIG8kjKuwzE/Oleotr/AzsP1hFuaOvrE6ItXxbOwsBBJSUlISkoCUP4oSlJSElJTUwGUX24dN26cdv3Jkyfj3r17+Oijj3Dz5k2sXr0av//+O2bMmMFF+IQ0CAdLCa6vGIm8Yn50ojEr1v/0yNz/6RAOAyFsETs4sNIOr4rnhQsXEBgYiMDAQABAVFQUAgMDMW/ePABAenq6tpACgK+vL/bu3YuYmBgEBATg66+/xo8//livx1QI4Ss7SwlEGg3yS6h4Njr1P4+uiRh6jK1JULNzHHl1z7Nfv35gmJp7s1U3elC/fv2QmJjYgFERwi0Hq/L7MHlUPAnhDV6deRJCqnKwlGJHl4HIL6Z7no3uzTe1Lw8EDeIuDsIajc6tP2NQ8SSE5+wtJfg0YipdtuXC2rXalytGUl+KpkCj5/CvdaHiSQjPOVhJsHfT/1GHIS48638BAOtXvsNhIIQt4ueeY6UdKp6E8Jy9lQRtch7SPU8u3Lihfdky6wGHgRDW3LzJSjNUPAnhOXvL8g5DdNmWEP6g4kkIzzlYSpHQvCPy6bJt4+vVS/vyastOHAZC2MKwNIgOFU9CeM7BSoLRr3+Bp9TbtvEdOaJ9GfXuCg4DIWxRHzrESjtUPAnhOQcrCb7ftQxP6cyz8Y0apX0575eFHAZC2CIaPZqVdqh4EsJzTtZShN0+g7zisloHESENYNcu7cvnr5/kMBDCFsGePay0Q8WTEJ5ztJICAFQaBgUKFcfREEIAKp6E8J6FRISnVnYAgLwiunTbqFxctC/zre05DISwRueYGoOKJyEm4JXZ2wCAOg01tkePtC9f/fR3DgMhbFGlpLDSDhVPQkzA+/H/AwDkUvFsXHPnal++dXAjh4EQtgjnz2enHVZaIYQ0qJFHtgIA8qh4Nq4vv9S+fO3oNg4DIWwRrmDnkSMqnoSYAIGg/N9cuudJCC9Q8STEhNCZJyH8QMWTEBOw/rfjAIDcIiqejSotTfty5JztHAZC2KJ6wM4A/1Q8CTEBnZNOAABNS9bY9u7Vvux54wyHgRC2CPbtY6UdKp6EmIDeyz8BQGeejW7SJO3LmX98zWEghC2iKVNYaYeKJyEm4Fl/IXrOkxCeoOJJiCl4Vj2peBLCD1Q8CTEB2bsPAACeFilpcPjGFB+vfTn93W+4i4OwRn34MCvtUPEkxATYW0kAAGVqDeSlNDg8IVzjZfGMjo6Gj48PLCwsEBwcjHPnztW6/sqVK9G+fXtYWlrC29sbM2bMQGlpaSNFS0jDk4UOhI1MDADILlRwHI0Z6ddP+3LluhncxUFYIwoNZaUd3hXPbdu2ISoqCvPnz8fFixcREBCAiIgIZGVlVbv+li1bMGvWLMyfPx83btzAhg0bsG3bNnzyySeNHDkhDcvFpnxqspxCuu9JCNd4VzxXrFiBSZMmYcKECfDz88PatWthZWWFjRurH5T51KlT6N27N0aPHg0fHx+Eh4fj9ddfr/NslRBT42wjA0BnnoTwgZjrAHSVlZUhISEBs2fP1i4TCoUIDQ3F6dOnq92mV69e+OWXX3Du3Dn06NED9+7dw759+zB27Nga96NQKKBQ/PMfkFwuBwAolUoolfQQem0q8kN50g9b+RKsWQMnYfl9z8z84iabf759vgRr1kClUgMAvhz5AT7iSVwV+JYvPqvIUdn330NYQ74MySOvimd2djbUajXc3NwqLXdzc8PNmzer3Wb06NHIzs7G888/D4ZhoFKpMHny5Fov2y5ZsgQLFiyosjwuLg5WVlbG/RBmIiYmhusQTIqx+ZJIJCh+kgFAiDNJ1+GUc5WdwHiKL58viUSCW6dPARAjtqU/OrM0Og3b+JIvUxBrYQFlDcexuLhY73bqVTyjoqIM3mbOnDlwcnKqz+5qFR8fjy+++AKrV69GcHAw7ty5g2nTpmHRokWYqzMXn67Zs2dX+hnkcjm8vb3Rv39/ODs7sx5jU6JUKhETE4OwsDBIJBKuw+E9tvIltrXFjV2JOJl5D44eLTBkiB+LUfIH3z5fYltbOF97iJVXz2H/ivEQfl7EdUiV8C1ffFaRq8ETJ0JVUFDtOhVXIfVRr+K5cuVKhISEQCqV6rX+iRMnMHXq1DqLp4uLC0QiETIzMystz8zMhLu7e7XbzJ07F2PHjsXEiRMBAF26dEFRURHeeecdfPrppxAKq97WlclkkMlkVZZLJBL6AOqJcmUYNvLlamcJoHxasqaeez59vsRiEYDycSr4EtO/8SlfpqCmXBmSw3pftt25cydcXV31WtfW1lav9aRSKYKCghAbG4uXX34ZAKDRaBAbG4upU6dWu01xcXGVAikSlX/Y6WFy0pS4POswlEPj2xLCuXoVz02bNsHe3l7v9detW1flPmZNoqKiMH78eHTv3h09evTAypUrUVRUhAkTJgAAxo0bh+bNm2PJkiUAgGHDhmHFihUIDAzUXradO3cuhg0bpi2ihJi8mTPhYku9bRvdzJnal1v7jsI4DkMh7NBERYGNylCv4jl+/HgAgFqtxsmTJ+Hv7w8HB4ca1x89erTebY8aNQpPnjzBvHnzkJGRga5du+LAgQPa4puamlrpTHPOnDkQCASYM2cOHj9+jGbNmmHYsGFYvHhxfX40Qvhp0SI4PykEAGQXUPFsNIsWAQ9yAQAbI96i4tkEaBYs4K54VhCJRAgPD8eNGzdqLZ6Gmjp1ao2XaeN1xpoEALFYjPnz52P+/Pms7Z8Q3vHygsudFABAUZkaJWVqWErpykqD8/ICTl4GAGxf/F9g5hOOAyLGEvv6Ao8eGd2O0YMkdO7cGffu3TM6EEJILbKzYSsTQyou/5WlS7eNJDtb+9K+KJ/DQAhrdI6pMYwunp9//jk+/PBD/P3330hPT4dcLq/0RQhhh0AggIt1eQ93Kp6EcMvoQRKGDBkCAHjppZcgEAi0yxmGgUAggFqtNnYXhJDhwwEALrYypOWX0vi2jeVZ3gHghF9vDOAwFMIOZtgwCOperU5GF8+4uDgWwiCE1GrbNgD/PK5CZ56NZNs2bYehhW/Mo+LZBKi3bGFlUHeji2ffvn1ZCIMQUqsBA4AjR7Qzq1DxbCQDBgCbdgAAVqyLAmYmchwQMZYoPBxg4aSPtbFti4uLkZqairKyypeT/P392doFIebr1CkAujOr0GXbRvEs7wDQ+cE1DgMhbBHUMMmIoYwunk+ePMGECROwf//+at+ne56EsIcu2xLCD0Zf+p0+fTry8vJw9uxZWFpa4sCBA/jpp5/Qtm1b7N69m40YCSEdOwIAXbZtbM/yDgAPXFtyGAhhTYcOrDRj9JnnkSNHsGvXLnTv3h1CoRAtW7ZEWFgY7OzssGTJEgwdOpSNOAkxb4nl99pc6LJt40pM1HYYmjT9B8RzGw1hger8ebAxhL7RZ55FRUXaAeIdHR3x5En5CBxdunTBxYsXjW2eEAIAkycD0Bkcns48G8ezvANA1B/fcBgIYYswMpKddoxtoH379khOTgYABAQEYN26dXj8+DHWrl0LDw8PowMkhADYvBnAP5dtnxYroVRrOAzITDzLOwAMSjjAXRyENcL//Y+Vdoy+bDtt2jSkp6cDAObPn49Bgwbh119/hVQqxWadDx4hxHgOVlIIBYCGAXKLyuBmZ8F1SISYJaOL5xtvvKF9HRQUhAcPHuDmzZto0aIFXFxcjG2eEAIAz6bXEwkFcLGRIatAgSy5gopnQ9OZ1lAtoIH4mwSWpqpkY6AFLYZhYGlpiW7dulHhJIRNRUXalxUFM1NeylU05kMn74MX7+MwEMIWVV4eK+2wUjw3bNiAzp07w8LCAhYWFujcuTN+/PFHNpomhADAihXalxXFM4OKZ8PTyfurx7ZzGAhhi3DlSnbaMbaBefPmYdq0aRg2bBi2b9+O7du3Y9iwYZgxYwbmzZvHRoyEkE8+0b50ty/vcUtnno1AJ++TDtAJQVMgnDuXlXaMvue5Zs0arF+/Hq+//rp22UsvvQR/f3+8//77WLhwobG7IITocK8488yn4kkIV4w+81QqlejevXuV5UFBQVCpVMY2Twj5F7psSwj3jC6eY8eOxZo1a6os/+GHHzBmzBhjmyeEAMC1fwYld7enDkONRifvb36wkcNACFtUSUmstFOvy7ZRUVHa1wKBAD/++CMOHTqEnj17AgDOnj2L1NRUjBs3jpUgCTF7N24ArVsDoMu2jerGDaBLLwBAy8xUjoMhbBDcvMnK+Lb1Kp6JiZXntAsKCgIA3L17FwDg4uICFxcXXLtGU/gQwor//AcoLS+Wrs+Kp7xUhZIyNSyl9Pxhg/nPf4DkNADAgl8+AzZ9Uvv6hPdEr72m/V0yRr2KZxwLE4kSQurHzkIMS4kIJUo1MuWl8HGx5jokQswOq4MkEEIankAg0N73pE5DhHCjXsXzlVdegVwu13v9MWPGICsrqz67IoQAwM6dlb51s6NnPRuFTt7njKPH7poC9XZ2BruoV/HctWsXnjx5ArlcXudXfn4+9uzZg8LCQr3bj46Oho+PDywsLBAcHIxz587Vun5eXh4iIyPh4eEBmUyGdu3aYd8+GkqLNCHPOgtVoE5DjUQn72nOnhwGQtjCtGrFSjv1uufJMAzatWvHSgD/tm3bNkRFRWHt2rUIDg7GypUrERERgeTkZO28obrKysoQFhYGV1dX7NixA82bN8eDBw/g4ODQIPERwgl//0qdHNyeXbZNp+LZsPz9tR2GNn4zEVhOTxCYOnFQkGl1GGrevLle661YsQKTJk3ChAkTAABr167F3r17sXHjRsyaNavK+hs3bkRubi5OnToFiaR8fnAfHx+D4yPElDR3sAQApOeXcBwJIeapXsWzb9++bMcBoPwsMiEhAbNnz9YuEwqFCA0NxenTp6vdZvfu3QgJCUFkZCR27dqFZs2aYfTo0fj4448hqmHqGYVCAYVCof2+4v6tUqmEUqlk8SdqeiryQ3nSD1v5EgNQ6bThalP+h+Kjp8VN6ljw7fMlBqBSqQEADPgTVwW+5YvPdHNUU74MyaPRY9uyKTs7G2q1Gm5ubpWWu7m54ebNm9Vuc+/ePRw5cgRjxozBvn37cOfOHbz33ntQKpWYP39+tdssWbIECxYsqLI8Li4OVlZWxv8gZiAmJobrEEyKsflq9cYbuKdzH/9xEQCIcT9L3iTv7/Pl89XqjTdw+vQpAGJ8N/BNtOVprvmSL1Nw9V+/S7qKi4v1bkfAMAzDVlDGSktLQ/PmzXHq1CmEhIRol3/00Uc4evQozp49W2Wbdu3aobS0FCkpKdozzRUrVuDLL79Eenp6tfup7szT29sb6enpcHZ2ZvmnalqUSiViYmIQFhamvUxOatZQ+ZKXKBH0Rfntk8tzBzaZgRL4+Pm6mJqHUevPoaWTFQ7PeJ7rcCrhY774Sp9cyeVyuLi4ID8/H3Z2drW2x6szTxcXF4hEImRmZlZanpmZCXd392q38fDwgEQiqXSJtmPHjsjIyEBZWRmkUmmVbWQyGWQyWZXlEomEPoB6olwZxuh8WVhU6uTgJBbDRiZGoUKFJ8UqtLa2YCFK/uDN58vCAuJnHYZiPo2A5KMyjgOqHm/yZQIsnZwgqKHDkCE55NUgCVKpFEFBQYiNjdUu02g0iI2NrXQmqqt37964c+cONBqNdtmtW7fg4eFRbeEkpCkQCATwdCgvmGl51GmIkMbGSvFUqVQ4fPgw1q1bh4KCAgDll2ANebazQlRUFNavX4+ffvoJN27cwJQpU1BUVKTtfTtu3LhKHYqmTJmC3NxcTJs2Dbdu3cLevXvxxRdfIDIyko0fjRDe8nzW4/bxUyqehDQ2oy/bPnjwAIMGDUJqaioUCgXCwsJga2uLZcuWQaFQYO3atQa1N2rUKDx58gTz5s1DRkYGunbtigMHDmg7EaWmpkIo/Kfme3t74+DBg5gxYwb8/f3RvHlzTJs2DR9//LGxPxoh/PH221UWVTyuQmeeDUgn73ufG4IRHIZC2KGZMAFs9BAwunhOmzYN3bt3x6VLlyp1thkxYgQmTZpUrzanTp2KqVOnVvtefHx8lWUhISE4c+ZMvfZFiEmIjq6yqOLM8xEVz4YTHQ08yAUArBoxjYpnE6D59ltWiqfRl22PHz+OOXPmVLm/6OPjg8ePHxvbPCEEALp0qbLIy/FZ8aTLtg1HJ+8bV1Q9+yemRxwYyEo7RhdPjUYDtVpdZfmjR49ga2trbPOEEAC4fbvKohZO5c8kP8gpauxozIdO3r2yH3EYCGHNnTusNGN08QwPD8fKlSu13wsEAhQWFmL+/PkYMmSIsc0TQmrg41w+j2emXIFSZdU/YAkhDcfo4vnVV1/h5MmT8PPzQ2lpKUaPHq29ZLts2TI2YiSEvPBClUUOVhLYWpR3W0jN1X9kFGIAnbxf8vXnMBDCFqZPH1baMbrDkLe3Ny5duoRt27bh0qVLKCwsxNtvv40xY8bA0tKSjRgJIYcOVVkkEAjQ0tkKVx/L8SCnGO3c6DYJ6w4d0nYYmjnpS8RzGw1hgXrfPlae0TSqDaVSidatW+P27dsYM2YMli9fjtWrV2PixIlUOAlh08iR1S5u6VR+6ZbuezYQnbwv+F/1Y2UT0yL6739Zaceo4imRSFDKwrxohJA67N1b7eIWzhWdhuiybYPQyXvITXocrikQ7N/PSjtGn71GRkZi2bJlUKlUbMRDCDFAy4oet3TPk5BGZfQ9z/PnzyM2NhaHDh1Cly5dYG1tXen9P//809hdEEJqmBih5bMet6l02bZh6OQ919YJ1R8FYlJq+F0ylNHF08HBASNruB9DCGHJ/fvVLm757LLto6clUKk1EIt4NdeD6bt/X9th6LXZv1GHoSZAdfs22Jh/xujiuWnTJhbCIITUavZsYMmSKovd7SwgFQtRptIgPb8U3k40mTurZs8GJs8EAEzavx6Y2Z/jgIixhJ9+Cixfbnw7LMRCCGlo33xT7WKhUADvZ8P03adLt+zTyfurx3dwGAhhi/Dbb1lpx+gzT19fXwgEghrfv3fvnrG7IITUoqWzNe4+KcKDnGL0act1NISYB6OL5/Tp0yt9r1QqkZiYiAMHDmDmzJnGNk8IqUPFfU8aZYiQxsPKlGTViY6OxoULF4xtnhACAFlZNb7VkgaIbzhZWcDT8sfwXp73J/ZxHA4xnurxY1Y6DDXYPc/Bgwfjjz/+aKjmCTEvtfwuVTyuQgMlNACdvL9w5RiHgRC2CHbuZKWdBiueO3bsgJOTU0M1T4h5mTKlxrd8XMqLZ0p2EdQaprEiMg86eY/auZK7OAhrRFOnstKO0ZdtAwMDK3UYYhgGGRkZePLkCVavXm1s84SQOng7WkIqFkKh0uDx0xLtkH2EkIZjdPF8+eWXK30vFArRrFkz9OvXDx06dDC2eUJIHcQiIVq5WONmRgFuZxVQ8SSkERhdPOfPp5kGCGlwJ07U+nYbVxvczCjAnaxCDOzo1khBmQGdvL8/5Vus4zAUwg51fLzxhQ8s3PO8ePEirly5ov1+165dePnll/HJJ5+grKzM2OYJIQCgUNT6dlvX8rk8b2cVNkY05kMn7xK1ksNACGvq+F3Sl9HF891338WtW7cAlA+IMGrUKFhZWWH79u346KOPjA6QEAJg4MBa327rZgMAuEPFk106eV/xwwccBkLYIoqIYKUdo4vnrVu30LVrVwDA9u3b0bdvX2zZsgWbN2+mR1UIaSRtXP8pngxDPW4JaWhGF0+GYaDRaAAAhw8fxpAhQwAA3t7eyM7Orleb0dHR8PHxgYWFBYKDg3Hu3Dm9ttu6dSsEAkGVTkyENHU+ztYQCQUoVKiQKWfnshQhpGZGF8/u3bvj888/x88//4yjR49i6NChAICUlBS4uRnecWHbtm2IiorC/PnzcfHiRQQEBCAiIgJZtYywAgD379/Hhx9+iD59+tTr5yCE1zZurPVtqVgIn2e9bG9lFjRGROZBJ+/LXqXbUE2B+ocfWGnH6OK5cuVKXLx4EVOnTsWnn36KNm3aACgfJKFXr14Gt7dixQpMmjQJEyZMgJ+fH9auXQsrKytsrOU/D7VajTFjxmDBggVo1apVvX8WQngrLKzOVdq7l3caupkhb+hozIdO3i+0DeIwEMIWJjSUlXaM7rHr7+9fqbdthS+//BIikcigtsrKypCQkIDZs2drlwmFQoSGhuL06dM1brdw4UK4urri7bffxvHjx+vcj0KhgEKnx5VcXv6fjVKphFJJPepqU5EfypN+2MqX2NsbqoLazyjbudpgH4Brj/NN9vjw7fMl9vaG6tpDAMDvX4yCcg6/xg/mW774rCJH4latoKzhd8mQPBpdPB8+fAiBQAAvLy8AwLlz57Blyxb4+fnhnXfeMait7OxsqNXqKpd73dzccPPmzWq3OXHiBDZs2ICkpCS997NkyRIsWLCgyvK4uDhYWdED5vqIiYnhOgSTYmy+XtRosG9f7cOSF+UKAIhw/nYa9u17aNT+uMaXz9eLGg1Onz4FQAwwqPMYcIUv+TIFmlp+l4qL9R8f2ujiOXr0aLzzzjsYO3YsMjIyEBYWhk6dOuHXX39FRkYG5s2bZ+wualRQUICxY8di/fr1cHFx0Xu72bNnIyoqSvu9XC6Ht7c3+vfvD2dn54YItclQKpWIiYlBWFgYJBI25iZo2tjKl1Ao1HbGq0lAXgnWJx/HE4UQoeFhkIpNb657vn2+hEIhQkJ6YeXVc4AAdR6Dxsa3fPFZRa5q+12quAqpD6OL59WrV9GjRw8AwO+//47OnTvj5MmTOHToECZPnmxQ8XRxcYFIJEJmZmal5ZmZmXB3d6+y/t27d3H//n0MGzZMu6yi569YLEZycjJat25dZTuZTAaZTFZluUQioQ+gnihXhjE6X7Nm1bl9SxcxbC3EKChV4cFTBfw87eq/P47x5vM1axbE4vLbT7/1ex1v8iGmavAmXyZAM3NmjbkyJIdG/2mqVCq1hejw4cN46aWXAAAdOnRAenq6QW1JpVIEBQUhNjZWu0yj0SA2NhYhISFV1u/QoQOuXLmCpKQk7ddLL72E/v37IykpCd7e3kb8ZITwyGef1bmKQCBAR/fygnkjnToNsUIn75vD3+QsDMIeDUtXQ40unp06dcLatWtx/PhxxMTEYNCgQQCAtLS0el0CjYqKwvr16/HTTz/hxo0bmDJlCoqKijBhwgQAwLhx47QdiiwsLNC5c+dKXw4ODrC1tUXnzp0hlUqN/fEI4QcPD71W69S8vHheeZzfkNGYD528/7HoPxwGQtgibtGCnXaMbWDZsmUYMWIEvvzyS4wfPx4BAQEAgN27d2sv5xpi1KhRePLkCebNm4eMjAx07doVBw4c0HYiSk1NhVBoevdyCDHK06d6rdbV2wEAkPQwr+FiMSc6ebctoednmwQ9f5fqYnTx7NevH7KzsyGXy+Ho6Khd/s4779S75+rUqVMxtYYJS+Pj42vddvPmzfXaJyFNQUXxvJ4mR5lKY5KdhggxBaz8ZjEMg4SEBKxbtw4Fz56fkUql9NgHIWx55RW9VmvhZAUHKwnK1Bq678kGnbwf60yjlzUFDEvDtxpdPB88eIAuXbpg+PDhiIyMxJMnTwCUX8798MMPjQ6QEAJgyxa9VhMIBAjwcgAAXHqU13DxmAudvH8+eg6HgRC2qH/+mZV2jC6e06ZNQ/fu3fH06VNYWlpql48YMaJSr1lCiBH69tV71QC678kenbyvXDOduzgIa0R1TO+nL6PveR4/fhynTp2q0rPVx8cHjx8/NrZ5QggAnD2r96pdve0BAJeoeBpPJ+9+D29wGAhhi0DPWbrqYvSZp0ajgVqtrrL80aNHsLW1NbZ5QoiBKi7b3n1SBHkpjXlKSEMwuniGh4dj5cqV2u8FAgEKCwsxf/583g1lRYjJ6txZ71WdbWTwdiq/hXLlET3vaRSdvKe4+XIYCGEL06kTK+0YXTy/+uornDx5En5+figtLcXo0aO1l2yXLVvGRoyEkAsXDFq94uyT7nsaSSfv705by2EghC3qM2dYacfo4unt7Y1Lly7h008/xYwZMxAYGIilS5ciMTERrq6ubMRICJk0yaDVA1uUP3N94X5uQ0RjPnTy/uGOrzgMhLBFNHkyK+0YVTyVSiVat26N27dvY8yYMVi+fDlWr16NiRMnVup5SwgxkoHd64N9nQAAF+4/hUqtaYiIzINO3sMv0rRfTYHg119Zaceo4imRSFBaWspKIIQQ9nT0sCufYUWhwnUaLIEQ1hl92TYyMhLLli2DSqViIx5CSHUMnORAJBRozz7P3MtpiIjMg07elSKa8qtJYGnCEKOf8zx//jxiY2Nx6NAhdOnSBdbW1pXe//PPP43dBSHEgEl6KwT7OuPwjSycvZeLd16oOq8t0YNcDjwov288dNHfiOc2GsICVU4O2PgzyOgzTwcHB4wcORIRERHw9PSEvb19pS9CCAuWLzd4k56tyqcEPJeSS/c960sn76/Fb+UwEMIW4VfsdPwy+sxz06ZNbMRBCKnNvHnARx8ZtImfpx3sLSXIL1Hi0qN8BLV0rHsjUtm8ecCoiQCAtw5tArCO23iI0YQLFgDP5oQ2qp36bqjRaLBs2TL07t0bzz33HGbNmoWSkhKjAyKEsEMkFOD5Ni4AgKO3nnAcDSFNS72L5+LFi/HJJ5/AxsYGzZs3x6pVqxAZGclmbIQQI73Qrrx4HqPiSQir6l08//e//2H16tU4ePAg/vrrL+zZswe//vorNBq6t0II65KT67XZC+2aAQAuP8rD06IyNiMyDzp5HzvzJw4DIWxRXb3KSjv1Lp6pqamVxq4NDQ2FQCBAWloaK4ERQnQkJtZrMw97S3Rwt4WGAWJvZrEclBnQyXvbx3c4DISwRZCUxEo79S6eKpUKFhYWlZZJJBIolTSLAyGse+21em86qLM7AODA1XS2ojEfOnmft2URh4EQtojeeIOVdurd25ZhGLz55puQyWTaZaWlpZg8eXKlZz3pOU9CuDWosztWHr6NY7ezUahQwUZmdCd7QsxevX+Lxo8fX2XZGyxVdEIIe9q72cLXxRop2UWIu5mFYQGeXIdEiMmrd/Gk5zsJaUR79tR7U4FAgIhO7lh79C4OXMug4mkInbzPfnMxvuYwFMIO9c6dxg9wABZGGCKENILmzY3avOK+Z9zNLJQq1WxEZB508p5t78JhIIQtjCc7fzxS8STEFHTrZtTmAV728LC3QHGZGvHJ9Myn3nTyvn7VuxwGQtgiDg5mpR1eFs/o6Gj4+PjAwsICwcHBOHfuXI3rrl+/Hn369IGjoyMcHR0RGhpa6/qEmCOBQKC9XPvnxUccR0OI6eNd8dy2bRuioqIwf/58XLx4EQEBAYiIiEBWVvXPqMXHx+P1119HXFwcTp8+DW9vb4SHh+Px48eNHDkh/PafIC8AwJGbWcguVHAcDSGmjXfFc8WKFZg0aRImTJgAPz8/rF27FlZWVti4cWO16//6669477330LVrV3To0AE//vgjNBoNYmNjGzlyQhrQ18Z3VWnnZosAL3uoNAz+SqQ/LvWik/fVL07hMBDCFk09ZiiqDq8e+CorK0NCQgJm64x4LxQKERoaitOnT+vVRnFxMZRKJZycnGpcR6FQQKH45y9v+bO5EpVKJQ3yUIeK/FCe9MNavt56C2Ah5yO6euDSo3xsOZuKsT28IBQKjG6TTbz7fL31FlRphQCA3T2GIZIvcT3Du3zxWEWOFG++CUkN+TIkj7wqntnZ2VCr1XBzc6u03M3NDTdv3tSrjY8//hienp4IDQ2tcZ0lS5ZgwYIFVZbHxcXBysrKsKDNVExMDNchmBRj8/Xiq6/i7+3bjY7DUgXIRCLcyy7Cit8OwM+RMbrNhsCXz9eLr76K0xu3AxBj/9wh2Odn/DFoCHzJlymQubjU+LtUXFysdzu8Kp7GWrp0KbZu3Yr4+PgqQwfqmj17NqKiorTfy+VyeHt7o3///nB2dm6MUE2WUqlETEwMwsLCIJGwMR9708ZWvoRCYaWxpI1xU5KMTace4KrSFR8OCWKlTbbw7fMlFAoREtILK6+eAwRg7RiwhW/54rOKXNX2u1RxFVIfvCqeLi4uEIlEyMzMrLQ8MzMT7u7utW771VdfYenSpTh8+DD8/f1rXVcmk1UaVrCCRCKhD6CeKFeGYSNfbOX7redb4afTD3Dybg7u5ZSivbstK+2yiU+fL7FYBAAQgL1jwDY+5csU1JQrQ3LIqw5DUqkUQUFBlTr7VHT+CQkJqXG75cuXY9GiRThw4AC6d+/eGKES0rjeZe8ZQ28nK4T7lf8xuvFECmvtNkk6ed8dPIzDQAhbNJMmsdIOr4onAERFRWH9+vX46aefcOPGDUyZMgVFRUWYMGECAGDcuHGVOhQtW7YMc+fOxcaNG+Hj44OMjAxkZGSgsLCQqx+BEPatWsVqc2/38QUA7Ex6jCx5KattNyk6ef9++FQOAyFs0axYwUo7vCueo0aNwldffYV58+aha9euSEpKwoEDB7SdiFJTU5Ge/s/USmvWrEFZWRn+85//wMPDQ/v11VdfcfUjEMI+Pz9Wm+ve0hFBLR1RptLg+ziap7JGOnnf/NUEDgMhbBHXcVtP73ZYaYVlU6dOxdSp1f+VFx8fX+n7+/fvN3xAhHDt3j1WmxMIBPgwvD1eX38Gv51LxaQ+reDtRD3Nq9DJu2duGoeBENaksHOrgndnnoSQxhHS2hl92rpAqWawIuYW1+EQYlKoeBJiCvr3b5BmZ0a0h0AA7Ex8jHMpuQ2yD5Omk/fE1oEcBkLYwvTrx0o7VDwJMQX79zdIs/5eDnjtuRYAgLl/XYVSrWmQ/Zgsnbx//PZSDgMhbFEbMTeuLiqehJiCl19usKY/imgPRysJkjML6NGVf9PJ++c/zeUuDsIa0ciRrLRDxZMQU3DgQIM17WgtxezBHQEAXx+6hetp+o+y0uTp5L1HMk112BQIDh1ipR0qnoQQvNrdC6Ed3VCm1mDa1kSUKtVch0QIr1HxJMQUNG/eoM0LBAIsG9kFzWxluJ1ViEV/X2/Q/ZkMnbw/sXPhMBDCGpZ+l6h4EmIK7t5t8F0428jw9asBEAiAX8+m4tezDxp8n7ynk/cxs37lMBDCFpWeM3TVhYonIabgo48aZTcvtGuGD8PbAwDm77qGIzcz69iiidPJ+7t713EYCGGLcNYsdtphpRVCSMP69ttG29V7/VpjRGBzqDQMJv9yEafuZDfavnlHJ+8jT/7JYSCELcLoaHbaYaUVQkiTIRAIsPw//gjzc0OZSoOJ/7tAAygQ8i9UPAkhVUhEQnw/OhB92rqguEyNNzacxd7L6XVvSIiZoOJJiCnIyWn0XcrEIvwwtjvCn52BRm65iNXxd6DRMI0eC2d08v7SZ39xFwdhjSojg5V2qHgSYgp++42T3VpKRVjzRhDe7OUDAFh+IBlv/3QeOYUKTuJpdDp5H5h4hMNACFsE27ax0g4VT0JMQQ1T9DUGkVCAz17qhC9GdIFMLERc8hMMWnUc+66kg2Ga+FmoTt6n7Wq8Tluk4YimTWOlHSqehBC9jA5ugV1Te6ONqw2eFCjw3q8XMWHzedx7Ush1aIQ0OiqehBC9dXC3w9/vP4//G9AGEpEA8clPEPbNMcz64zIe55VwHR4hjYaKJyGm4PRpriPQspCIEBXeHgemv4D+7ZtBrWGw9fxD9F0eh//7LRFJD/OazuVcnby/F/k9h4EQtqiOHWOlHTErrRBCGlZBAdcRVNG6mQ02TeiBhAe5+PrQLZy6m4Pdl9Kw+1Ia2rvZ4pVuzTG8a3O421twHWr9FRQATuUvrRTF3MZCWCEoZOc2A515EmIKwsO5jqBGQS2dsGVST/z9/vN4pVtzSMVCJGcWYMn+mwhZGotX157C2qN3cSuzwPTOSHXy/tWPjTNEImlYoiFDWGmHzjwJIazo3NweK/7bFfOHdcK+K+nYefExzt3Pxfn7T3H+/lMs3X8TLjZSBPs6o2crJwS2cEQ7N1tIxfQ3PDE9VDwJIayyt5Tg9R4t8HqPFnicV4IjNzJx+EYWztzLQXZhGfZeScfeK+WjFUlEArRzs0UnTzt08rSHj5MFnipgXgMxEJNExZMQU/DTT1xHUC/NHSwxNsQHY0N8oFCpcelhPs7ey8HZlFxcfpQHeakK19LkuJYmB/Do2VZiLL0SCx9na7R0toKHvSU8HSzgbm8JD3sLuNtZwNVOBplY1PA/gE7el/x3FuY3/B5JA1Nv2MBK4eNl8YyOjsaXX36JjIwMBAQE4LvvvkOPHj1qXH/79u2YO3cu7t+/j7Zt22LZsmUYwtJ1bUJ44YUXuI7AaDKxCD18ndDD1wnvA2AYBo+eljwrnvm4kS7HvSeFuJ9ThFKlBjczCnAzo+aOUjYyMRytJXCyksLRWvrPv9ZS2FqIYSMTw1omhu2zf22eLbORiWElFUEgENQd9AsvAGXlLy+18mcnEYRTTJ8+rLTDu+K5bds2REVFYe3atQgODsbKlSsRERGB5ORkuLq6Vln/1KlTeP3117FkyRK8+OKL2LJlC15++WVcvHgRnTt35uAnIKQB+PoCpaVcR8EqgUAAbycreDtZYVBndwCAUqnEnr374N+zHx7mKZCaW4z0/FJk5JeU/ysvRXp+KcpUGhQqVChUqPAw1/DnSwUCwEoigkwigkwsfPYlgrTitaT8+3XvPI9pi/YDALYuHQ0s+g+rOSCNT9yuHSu/S7wrnitWrMCkSZMwYcIEAMDatWuxd+9ebNy4EbOqmcR01apVGDRoEGbOnAkAWLRoEWJiYvD9999j7dq1jRo7IcR4IgHQ0tkKbdztq32fYRjklyjxtFiJ3KIyPC0qQ25RGXKL/3ldUKpCUZmq/F9F+VfBs381DMAwQFGZGkVl6lpj0WjKz47L6XGmSswGr4pnWVkZEhISMHv2bO0yoVCI0NBQnK7hIfHTp08jKiqq0rKIiAj89ddfNe5HoVBAofhnYOv8/HwAQG4uzVlYF6VSieLiYuTk5EAikXAdDu+xlS8xw0DFwcwqjc2QfNkJADsbwMdGjPL/yqzqbJ9hGJQqNShSqFCsVEOp0kChYlCmUkOh1kCh0qDs2ZdCrUHxCmB6H08wAIq/AQp4dgzo91F/FbmS1/K7VPDseWp9HqniVfHMzs6GWq2Gm5tbpeVubm64efNmtdtkZGRUu35GLdPOLFmyBAsWLKiyvF27dvWImpBG4uLCdQRmZxIAvNgNABAF0DFoKuo4jgUFBbC3r/7KRwVeFc/GMnv27Epnq3l5eWjZsiVSU1PrTJi5k8vl8Pb2xsOHD2FnZ8d1OLxH+TIM5cswlC/96ZMrhmFQUFAAT0/POtvjVfF0cXGBSCRCZmZmpeWZmZlwd3evdht3d3eD1gcAmUwGmUxWZbm9vT19APVkZ2dHuTIA5cswlC/DUL70V1eu9D2B4tXQHlKpFEFBQYiNjdUu02g0iI2NRUhISLXbhISEVFofAGJiYmpcnxBCCDEWr848ASAqKgrjx49H9+7d0aNHD6xcuRJFRUXa3rfjxo1D8+bNsWTJEgDAtGnT0LdvX3z99dcYOnQotm7digsXLuCHH37g8scghBDShPGueI4aNQpPnjzBvHnzkJGRga5du+LAgQPaTkGpqakQCv85Ye7Vqxe2bNmCOXPm4JNPPkHbtm3x119/GfSMp0wmw/z586u9lEsqo1wZhvJlGMqXYShf+mM7VwLG5KY5IIQQQrjFq3uehBBCiCmg4kkIIYQYiIonIYQQYiAqnoQQQoiBzL54RkdHw8fHBxYWFggODsa5c+e4DokXjh07hmHDhsHT0xMCgaDKWMEMw2DevHnw8PCApaUlQkNDcfv2bW6C5diSJUvw3HPPwdbWFq6urnj55ZeRnJxcaZ3S0lJERkbC2dkZNjY2GDlyZJXBPczFmjVr4O/vr31YPSQkBPv379e+T7mq2dKlSyEQCDB9+nTtMspXZZ999hkEAkGlrw4dOmjfZytfZl08K6Y/mz9/Pi5evIiAgABEREQgKyuL69A4V1RUhICAAERHR1f7/vLly/Htt99i7dq1OHv2LKytrREREYHSJjZtlj6OHj2KyMhInDlzBjExMVAqlQgPD0dRUZF2nRkzZmDPnj3Yvn07jh49irS0NLzyyiscRs0dLy8vLF26FAkJCbhw4QIGDBiA4cOH49q1awAoVzU5f/481q1bB3//yvOKUr6q6tSpE9LT07VfJ06c0L7HWr4YM9ajRw8mMjJS+71arWY8PT2ZJUuWcBgV/wBgdu7cqf1eo9Ew7u7uzJdffqldlpeXx8hkMua3337jIEJ+ycrKYgAwR48eZRimPDcSiYTZvn27dp0bN24wAJjTp09zFSavODo6Mj/++CPlqgYFBQVM27ZtmZiYGKZv377MtGnTGIahz1Z15s+fzwQEBFT7Hpv5Mtszz4rpz0JDQ7XL6pr+jJRLSUlBRkZGpdzZ29sjODiYcod/prhzcnICACQkJECpVFbKV4cOHdCiRQuzz5darcbWrVtRVFSEkJAQylUNIiMjMXTo0Ep5AeizVZPbt2/D09MTrVq1wpgxY5CamgqA3XzxboShxlKf6c9IuYrp3gydCs4caDQaTJ8+Hb1799aOcpWRkQGpVAoHB4dK65pzvq5cuYKQkBCUlpbCxsYGO3fuhJ+fH5KSkihX/7J161ZcvHgR58+fr/IefbaqCg4OxubNm9G+fXukp6djwYIF6NOnD65evcpqvsy2eBLSECIjI3H16tVK91hIVe3bt0dSUhLy8/OxY8cOjB8/HkePHuU6LN55+PAhpk2bhpiYGFhYWHAdjkkYPHiw9rW/vz+Cg4PRsmVL/P7777C0tGRtP2Z72bY+05+RchX5odxVNnXqVPz999+Ii4uDl5eXdrm7uzvKysqQl5dXaX1zzpdUKkWbNm0QFBSEJUuWICAgAKtWraJc/UtCQgKysrLQrVs3iMViiMViHD16FN9++y3EYjHc3NwoX3VwcHBAu3btcOfOHVY/X2ZbPOsz/Rkp5+vrC3d390q5k8vlOHv2rFnmjmEYTJ06FTt37sSRI0fg6+tb6f2goCBIJJJK+UpOTkZqaqpZ5qs6Go0GCoWCcvUvAwcOxJUrV5CUlKT96t69O8aMGaN9TfmqXWFhIe7evQsPDw92P19GdGoyeVu3bmVkMhmzefNm5vr168w777zDODg4MBkZGVyHxrmCggImMTGRSUxMZAAwK1asYBITE5kHDx4wDMMwS5cuZRwcHJhdu3Yxly9fZoYPH874+voyJSUlHEfe+KZMmcLY29sz8fHxTHp6uvaruLhYu87kyZOZFi1aMEeOHGEuXLjAhISEMCEhIRxGzZ1Zs2YxR48eZVJSUpjLly8zs2bNYgQCAXPo0CGGYShXddHtbcswlK9/++CDD5j4+HgmJSWFOXnyJBMaGsq4uLgwWVlZDMOwly+zLp4MwzDfffcd06JFC0YqlTI9evRgzpw5w3VIvBAXF8cAqPI1fvx4hmHKH1eZO3cu4+bmxshkMmbgwIFMcnIyt0FzpLo8AWA2bdqkXaekpIR57733GEdHR8bKyooZMWIEk56ezl3QHHrrrbeYli1bMlKplGnWrBkzcOBAbeFkGMpVXf5dPClflY0aNYrx8PBgpFIp07x5c2bUqFHMnTt3tO+zlS+akowQQggxkNne8ySEEELqi4onIYQQYiAqnoQQQoiBqHgSQgghBqLiSQghhBiIiichhBBiICqehBBCiIGoeBJCCCEGouJJCCGEGIiKJyGEEGIgKp6EEEKIgah4EkIIIQai4kkIIYQYiIonIYQQYiAx1wHwgUajQVpaGmxtbSEQCLgOhxBCCAcYhkFBQQE8PT0hFNZ+bknFE0BaWhq8vb25DoMQQggPPHz4EF5eXrWuQ8UTgK2tLQAgJSUFTk5OHEfDb0qlEocOHUJ4eDgkEgnX4fAea/m6cwdo04a9wHiKd58v3bzz8BjwLl88ps1Vq1aQdOxY7TpyuRze3t7amlAbKp6A9lKtra0t7OzsOI6G35RKJaysrGBnZ0e/rHpgLV+ZmUC3buwFxlO8+3zp5p2Hx4B3+eKxilzZZ2VBHBxc67r63L6jDkOEmIIRI7iOwDzp5p2OQZMgevVVVtrhVfE8duwYhg0bBk9PTwgEAvz11191bhMfH49u3bpBJpOhTZs22Lx5c4PHSQghxLzxqngWFRUhICAA0dHReq2fkpKCoUOHon///khKSsL06dMxceJEHDx4sIEjJYQQYs54dc9z8ODBGDx4sN7rr127Fr6+vvj6668BAB07dsSJEyfwzTffICIioqHCJKTx7djBdQTmSTfvdAyaBPXWrawUPl4VT0OdPn0aoaGhlZZFRERg+vTptW6nUCigUCi038vlcgDlN5SVSiXrcbKBYRikPi3B/ewiZMgVyMgvRXZRGUrK1ChRqlGqVKNEqYFCqYaGATQMAw1Tvt0/ryu+L3+/npGguFiEr24eA2D8M7H1jaKx1fST1tSvQPBsC+ZZvr5OPq5dVvM2Ne/DMzsPaTfj9NqiPu3XRMDSPmra4N9LGTAokIuwNuVUjZ026sq5/uvXQOcN9yeFyLh/HEKBABPdbRHBs/8fKv6/4uv/W3yizVWbNmBqyJcheTTp4pmRkQE3N7dKy9zc3CCXy1FSUgJLS8tqt1uyZAkWLFhQZXlcXBysrKwaJNb6UGuAxBwBrj0V4K5cgHwlXwZwECBHUcp1ECZEAJSWGNXC/q/eQvsPd7IUD98J8Li4kOsgAADbvxqnzXvYtBHY98d2jiOqXkxMDNchmAxpt274e3v1x7G4uFjvdky6eNbX7NmzERUVpf2+4tme/v37w9nZmcPIymk0DH499xDrT9xHev4/RUoiEqC1izXc7S3gYW+BZjYyWMlEsJCIYCkRwlIiglQshEgogFAggEAACAUCCJ/9+8/3z/5Gr0ctVqtUOHfuHHr06AGRmJ2PD1/+JKhJjWfHNbyhu1ilUuH8+XN47rkeEIlEhrWP8qsFACD5Rogtbz+ns031Wxl6QaGm9Q1tv6bd1hZPdftQq9RIuHgR3QIDIf7X56vmfdQQq4ExVbdY/I0QM8Pb4stDtwEBMGTIkBpa5YZSqURMTAzCwsLoUZU6VORKKBTWeBwrrkLqw+D//Xbv3m3oJggLC6vxLNAY7u7uyMzMrLQsMzMTdnZ2te5PJpNBJpNVWS6RSDj/AOYWlWH6tiQcu/UEAOBiI8PrPbzRq7ULAls4wEJS/X/AjUWpVCLrBtDd14XzXJkCpVKJ7JtAj1ZG5ksA9Grryl5gPKVUKlF8j0H/ju78+HwJgJ6tXQDchgDgR0zV4MP/XaakplwZkkODi+fLL79s0PoCgQC3b99Gq1atDN1VnUJCQrBv375Ky2JiYhASEsL6vhrDo6fFGLXuDB7nlcBCIsSsQR3wWo8WnBdMwgNffMF1BOZJJ+/rB01EJIehEHZoFi0CG/+j1utRlYyMDGg0Gr2+DLmHWFhYiKSkJCQlJQEofxQlKSkJqampAMovt44bN067/uTJk3Hv3j189NFHuHnzJlavXo3ff/8dM2bMqM+Pxam84jKM33gOj/NK4ONshZ3v9cabvX2pcJJyOrcZSCPSyfv2F9h5uJ5wS1NHh1J9GVw8x48fb9Al2DfeeEPvIe8uXLiAwMBABAYGAgCioqIQGBiIefPmAQDS09O1hRQAfH19sXfvXsTExCAgIABff/01fvzxR5N7TIVhGHz8x2XcfVIED3sL/PZOT3T0oGECiQ5ra64jME86ed//Kb/ud5L6ETs4sNOOoRts2rTJoPXXrFmj97r9+vWr8eY/gGpHD+rXrx8SExMNiolvdiWl4eC1TEhEAqwf1x0e9uzfHyYmTq3mOgLzpJN3EUPHoElg6XeJtRGGTp48WenZSaKfUqUaS/ffBAD834C26NzcnuOICCGE1IW14jl48GA8fvyYrebMxpazqciQl8LD3gKTXmC/UxVpIt58k+sIzJNO3g8EDeIuDsIajU6/GWOwVjxru9xKqldcpsLq+LsAgPcHtKXOQaRma9dyHYF50sn7ipGm1xGRVKXRc+z0uvBqYHhzs/3CI2QXKuDtZIlXu9c+azkxc8860ZFGppP39Svf4TAQwhbxc8/VvZIeWCue69atqzJUHqndjoRHAIAJvXwhEdHfMaQWN25wHYF50sl7y6wHHAZCWHPzJivNsDY83+jRo9lqyizcyizAlcf5EAsFGN7Vk+twCCGEGMDg053Lly9Do9Hovf61a9egUqkM3U2T98ezs87+HVzhbFN1qEBCKunVi+sIzJNO3q+27MRhIIQtDEsj0BlcPAMDA5GTk6P3+iEhIZUGNiCASq3BzsTynskju9G9TqKHI0e4jsA86eQ96t0VHAZC2KI+dIiVdgy+bMswDObOnav3sHtlZWUGB9XUnbiTjawCBRytJBjQoekP9k1YMGoUsG0b11GYn1GjgOXlA73M+2UhMLM/xwERY4lGjwZqmJLMEAYXzxdeeAHJycl6rx8SEtIgM6qYsr8vpwMAXgrwhFRMHYWIHnbt4joC87Rrl7Z4Pn/9JMfBEDYI9uxhpR2Di2d8fDwrOzZXGg2D+OTy6cYiOrlzHA0hhJD6oNOeRnYjQ47sQgWspCIE+ThyHQ4xFS4uXEdgnnTynm9NQ2c2CSz9LlHxbGQVZ529WjtDJqYRhYieHj3iOgLzpJP3Vz/9ncNACFtUKSmstEPFs5EdvVVePPu2p45CxABz53IdgXnSyftbBzdyGAhhi3D+fHbaYaUVohd5qRIXHzwFAPRt24zjaIhJ+fJLriMwTzp5f+0o9XZuCoQr2HnkiIpnIzp1JxsqDYNWLtZo4azfoz6EEEL4h7XiWVJSUu2UZNeuXWNrFybv2O1sAMAL7eiskxBCTBkrxXPHjh1o27Ythg4dCn9/f5w9e1b73tixY9nYRZNwLiUXQHlnIUIMkpbGdQTmSSfvI+cY/2A94Z7qATsD/LNSPD///HMkJCQgKSkJmzZtwttvv40tW7YAoHk+K+QUKnAnqxAA8JyPE8fREJOzdy/XEZgnnbz3vHGGw0AIWwT79rHSDivFU6lUaqcjCwoKwrFjx7Bu3TosXLgQAoGAjV2YvPP3yzsKtXOzgaO1lONoiMmZNInrCMyTTt5n/vE1h4EQtoimTGGlHVaKp6urKy5fvqz93snJCTExMbhx40al5ebs/P3yS7Y9fOmskxBCTB0rxfPnn3+Gq2vl5xalUil+++03HD16lI1dmLyK+510yZYQQkwfK8XTwsICYnH1w+T27t2bjV2YtJIyNa6nywFQ8ST1RGNKc0Mn79Pf/Ya7OAhr1IcPs9JOvYtnXl4eIiMj4eLiAjc3N7i5ucHFxQVTp05FXl6eUUFFR0fDx8cHFhYWCA4Oxrlz52pdf+XKlWjfvj0sLS3h7e2NGTNmoLS01KgY2HQ9PR9qDYNmtjJ42FtwHQ4hhBAjGTyrCgDk5uYiJCQEjx8/xpgxY9CxY0cAwPXr17F582bExsbi1KlTcHQ0fODzbdu2ISoqCmvXrkVwcDBWrlyJiIgIJCcnV7k0DABbtmzBrFmzsHHjRvTq1Qu3bt3Cm2++CYFAgBUsjSRhrEsP8wEAAV721IGK1E+/fgCP/iA0G/36Acnlj6usXDcD+D6S23iI0UShoaz8LtWreC5cuBBSqRR3797V9rLVfS88PBwLFy7EN98YfpljxYoVmDRpEiZMmAAAWLt2Lfbu3YuNGzdi1qxZVdY/deoUevfujdGjRwMAfHx88Prrr1d61pRrlx/lAQC6NHfgNA5CCCHsqNdl27/++gtfffVVlcIJAO7u7li+fDl27txpcLtlZWVISEhAaGjoPwEKhQgNDcXp06er3aZXr15ISEjQXtq9d+8e9u3bhyFDhhi8/4Zy+XH5mae/N01pRAghTUG9zjzT09PRqVOnGt/v3LkzMjIyDG43OzsbarW6SlF2c3PDzZs3q91m9OjRyM7OxvPPPw+GYaBSqTB58mR88sknNe5HoVBAoVBov5fLyzvzKJVKKJVKg+OuTUGpEveeFAEA/NysWW+/sVXEb+o/R2NhK1+CNWvAmEHO+fb5EqxZA5VKDQD4cuQH+IgncVXgW774rCJHZd9/D2EN+TIkj/Uqni4uLrh//z68vLyqfT8lJQVOTo3TqzQ+Ph5ffPEFVq9ejeDgYNy5cwfTpk3DokWLMLeGaZyWLFmCBQsWVFkeFxcHKyt2B2y/lS8AIIKTjMGZo+z08uKDmJgYrkMwKcbmSyKRQMnSyCimgC+fL4lEglunTwEQI7alPzrz9BjwJV+mINbCosbfpeLiYr3bETD1GD/vrbfewt27dxETEwOptPJoOQqFAhEREWjVqhU2bjRs/ruysjJYWVlhx44dePnll7XLx48fj7y8POzatavKNn369EHPnj3xpc7UQb/88gveeecdFBYWQiisemW6ujNPb29vpKenw9mZ3XFn1x1LwVcxtzG4kxu+fS2A1ba5oFQqERMTg7CwMEgkEq7D4T228iW2tYWqoIDFyPiJb58vsa0tzl17iFHrzyH56xEQFhdxHVIlfMsXn1Xk6qVRo2r8XZLL5XBxcUF+fj7s7Oxqba/eHYa6d++Otm3bIjIyEh06dADDMLhx4wZWr14NhUKBn3/+2eB2pVIpgoKCEBsbqy2eGo0GsbGxmDp1arXbFBcXVymQIpEIQM3j6spkMshksirLJRIJ6x/Aa+nlB6lrC8cm9eFuiFw1ZWzky5zyzafPl1hc/v+JAPw9BnzKlymoKVeG5LBexdPLywunT5/Ge++9h9mzZ2uLlEAgQFhYGL7//nt4e3vXp2lERUVh/Pjx6N69O3r06IGVK1eiqKhI2/t23LhxaN68OZYsWQIAGDZsGFasWIHAwEDtZdu5c+di2LBh2iLKpcuPnnUW8nLgNhBCCCGsqVfxBABfX1/s378fT58+xe3btwEAbdq0Mfpe56hRo/DkyRPMmzcPGRkZ6Nq1Kw4cOKDtRJSamlrpTHPOnDkQCASYM2cOHj9+jGbNmmHYsGFYvHixUXGwIbtQgcd5JRAIgM7Na78EQEitZs7kOgLzpJP3rX1HYRyHoRB2aKKiwMZpVb2LZwVHR0f06NGDhVD+MXXq1Bov08b/a5gysViM+fPnY/78+azGwIaK5ztbuVjD1oIuqRAjLFrEdQTmadEi4EH5uNQbI96i4tkEaBYsYKV41us5zyNHjsDPz0/7iIeu/Px8dOrUCcePHzc6OFP3z8hCDtwGQkxfDT3bSQPTyfv2xf/lMBDCFrGvLyvt1Kt4rly5EpMmTaq2N5K9vT3effdd3gyNx6WKM09/LxocgRgpO5vrCMyTTt7ti/I5DISwhqXfpXoVz0uXLmHQoEE1vh8eHo6EhIR6B9VUXE0rPzPvQmeehBDSpNSreGZmZtbapVcsFuPJkyf1DqopeFKgwJMCBQQCoKOHLdfhEFM3fDjXEZgnnbyf8KPpFZsCZtgwVtqpV/Fs3rw5rl69WuP7ly9fhoeHR72DagpuPJu/08fZGlZSo/tlEXO3bRvXEZgnnbwvfGMeh4EQtqi3bGGlnXoVzyFDhmDu3LnVzplZUlKC+fPn48UXXzQ6OFNWUTz9POgRFcKCAQO4jsA86eR9xbooDgMhbBGFh7PSTr1OiebMmYM///wT7dq1w9SpU9G+fXsAwM2bNxEdHQ21Wo1PP/2UlQBNVUXxpEu2hBWnTnEdgXnSyXvnB9c4DISwRVDDDF2GqlfxdHNzw6lTpzBlypQqIwxFREQgOjq62unKzMmNZ8PydaQzT0IIaXLqfTOuZcuW2LdvH54+fYo7d+6AYRi0/f/27j0uqjr/H/hrhmFABEFFuYmCpBEqqKAsueqWKJuZmWbkqigqmwoFktfWULMNNENx9RdpIa2/Vdzy0s0sQqDVSOXiLRVFMSgFRERuCsPM+f6BjDMBysw58Dlw3s/Hg8dDDmc+58WbmT6dcz7n8xkwAN27dxcyX4d0X6VG3q0qANR5EoE89RTrBNKkU/dfe/fDAIZRiEDc3QVpRpAZhkaMGCFElk4jr6QKag0HGwtTOFibs45DOoOcHNYJpCknRzvDUEjEDqSxTUMEUH/qFISY782oAUPk0S403u+07waZTMY4DekUFi5knUCadOoeuX8zwyBEKPLQUGHaEaQVoufhYCG6ZEsEkpjIOoE06dT9r1lH2OUggpH/+9/CtGPoC86ePQuNRiPIwTurCw9mFvJwpM6TEEI6I4M7z2HDhqH0wdyA/fv3x+3btwUP1ZFxHIdLRY0jbekxFSIQEaxNK0k6dVfL6G/QKQj0WTK487SxsUF+fj4A4Pr163QW+gdFFfdx954KJnIZnuhtyToO6Syqq1knkCaduj/3z8MMgxCh1JeXC9KOwZ3ntGnTMHbsWLi6ukImk8HHxwf9+/dv9kuKGs86+9t2hZmC/k+VCIRWKWJDp+7Tf/yMYRAiFPmWLYK0Y/CjKjt27MDUqVORl5eHN954AyEhIbCyosuTjXIfdJ5P2lNNiIDeeguIpOnh2t1bbwHT5gIAQo58DOD/MY1D+JO//TawbBnvdox6zrNxObKsrCyEh4dT56mjsfN0p86TEEI6LV6TJOzatQvl5eX44IMPcPHiRQDAoEGDMG/ePFhbS3MB6EvaM08aaUsIIZ0Vr+c8MzMz4ebmhs2bN6OsrAxlZWWIjY2Fm5sbsrOzhcrYYajUGlwtaZiW70k7OvMkAvqFJiVnQqfuc99MYBiECKX+9GlB2uHVeS5ZsgSTJ0/G9evXceDAARw4cAD5+fmYNGkSIiIiBAnYkfx6uxp1ag0slCbo070L6zikM3lwZYe0M5269ysuYBiECEV26ZIg7fA+81yxYgUUiodXfxUKBZYvX47MzEze4Tqaxku2A+2sIJfTtHxEQC+/zDqBNOnUfd3/X8suBxGMyauvCtIOr86zW7duKCho+n9jhYWFkhxERIOFCCFEGnh1noGBgZg/fz727duHwsJCFBYWIikpCQsWLMCMGTOEythhXKLHVAghRBJ4dZ6bNm3C1KlTERQUBBcXF7i4uGDu3Ll4+eWXsWHDBqPb3b59O1xcXGBubg5fX1+cPHnykfuXl5cjNDQUDg4OMDMzw8CBA3H4cPvPBqJ9xpMGCxGhHTzIOoE06dR9ddA7DIMQoag/E2ayC16PqiiVSsTFxSE6OhpXr14FALi5ucHCwsLoNvft24fIyEjEx8fD19cXW7ZsQUBAAHJzc9G7d+8m+9fV1WH8+PHo3bs3Pv/8czg5OeHXX3+FjY2N0RmMUVNXj4KyGgB05knagJsb6wTSpFP3Gz0dGQYhQuEEmv1OkCXJLCwsMGTIEAwZMoRXxwkAsbGxCAkJQXBwMDw8PBAfHw8LCwskJDQ/TDwhIQFlZWU4dOgQRo0aBRcXF4wdOxZeXl68chjqcnHDIyq2lmboaWnWrscmEuDpyTqBNOnUPWHzAoZBiFAU3t7CtCNIKwKpq6tDVlYWVq1apd0ml8vh7++PjIyMZl/z5Zdfws/PD6Ghofjiiy/Qq1cv/O1vf8OKFStg0sLs+bW1taitrdV+X1HRsISYSqWCSqUyKvuF3+8AAAbadTW6jY6g8XfrzL+jkISqlwJAvQRqLrb3lwJAfb0aAMBBPLkaia1eYqZbo5bqZUgdRdV5lpaWQq1Ww87OTm+7nZ0dLrXwbM61a9dw9OhRzJw5E4cPH0ZeXh4WL14MlUqFNWvWNPua6OhorFu3rsn21NRUo8+cv8uXA5BDWVPK5H5re0tOTmYdoUPhW69JGo0k3leNxPL+mqTRICPjJwAKgINo/wZiqVdHoHnEZ6mmpqbV7Yiq8zSGRqNB7969sWPHDpiYmMDb2xu///473n///RY7z1WrViFSZ5LtiooKODs745lnnkHPnj2NypG0KxNAGQL+NAQThzsZ1UZHoFKpkJycjPHjx8PU1JR1HNETrF4xMZg4caJwwURKdO+vmBj4+T2NLedP4qOJf8cikf0NRFcvEWuslfqf/2zxs9R4FbI1RNV52trawsTEBMXFxXrbi4uLYW9v3+xrHBwcYGpqqneJ9qmnnkJRURHq6uqgVCqbvMbMzAxmZk3vS5qamhr9BrzyYFo+D0cbSbyJ+dRKinjXKzISUlrgTjTvr8hIKH4tAwAcGD0Nb4ghUzNEU68OQBYR0WKtDKmhIAOGhKJUKuHt7Y2UlBTtNo1Gg5SUFPj5+TX7mlGjRiEvL09vUe7Lly/DwcGh2Y6zLZRW1aK0qg4yWcPsQoQIztycdQJp0qn7928FMAxChKIQaAIf3meeKSkpSElJQUlJiV4HBqDFEbKPEhkZiTlz5sDHxwcjR47Eli1bUF1djeDgYABAUFAQnJycEB0dDQBYtGgRtm3bhvDwcLz++uu4cuUK3nvvPbzxxht8f7VWa3y+s18PC3RRSun8gBBCpIlX57lu3Tq888478PHxgYODA2Qy/vO5BgYG4tatW4iKikJRURGGDh2KI0eOaAcRFRQUQC5/eMLs7OyM7777DkuWLIGnpyecnJwQHh6OFStW8M7SWjSzECGESAuvzjM+Ph6JiYmYPXu2UHkAAGFhYQgLC2v2Z2lpaU22+fn54eeffxY0gyFyixpuMtManqTNzJ/POoE06dT9mxET8RLDKEQYmuBgQcYP8LrnWVdXh6efflqAGB0bTQhP2tz27awTSJNO3eNeCmcYhAhFs3WrIO3w6jwXLFiAPXv2CBKko1JrOO3sQtR5kjYzZAjrBNKkU/eEWDr77wwUw4YJ0w6fF9+/fx87duzADz/8AE9PzybDfGNjY3mF6wgKympwT6WGuakc/Xp2ZR2HdFZXrrBOIE06de9T+hvDIEQweXmCNMOr8zx79iyGDh0KADh//rzez4QYPNQRXLrZcL9zoJ0VTGgBbEIIkQRenWdqaqpQOTqsS3S/k7SHMWNYJ5AmnbqfcfXECIZRiDC40aMhxGkO7+c8y8vL8cknn+DixYsAgEGDBmHevHmwtrbmHa4juEQjbUl7+P571gmk6fvvgQczDC0LeR9pbNMQAagPHxZkdiBebWRmZsLNzQ2bN29GWVkZysrKEBsbCzc3N2RnZwsQT/wazzyfojNP0pamTWOdQJp06r7u383PlU06FpNXXhGkHV6d55IlSzB58mRcv34dBw4cwIEDB5Cfn49JkyYhIiJCkIBiVl1LC2CTdvLNN6wTSJNO3f0usXuWnAhH9u23grTD67JtZmYmdu7cCYXiYTMKhQLLly+Hj48P73Bid7m4EhwH9LKiBbAJIURKeJ15duvWDQUFBU22FxYWwkqgyXfFjAYLkXbTwqpCpI3p1L3MqgfDIEQwAn2WeHWegYGBmD9/Pvbt24fCwkIUFhYiKSkJCxYswIwZMwQJKGaNMws95UCDhUgbu36ddQJp0qn7q6v2sstBBFMv0DPTvDrPTZs2YerUqQgKCoKLiwtcXFwwd+5cvPzyy9iwYYMgAcXs4oNnPJ+kZchIW1u1inUCadKpe8i3OxkGIUKR/+MfwrTD58VKpRJxcXG4c+cOTp8+jdOnT6OsrAybN29udrHpzoTjuIeXbR2o8yRtbPNm1gmkSafu0//3OcMgRChygea25f2cJwBYWFhgiMTm3iyuqMXdeyqYyGV4orcl6ziEEELakcGdZ2RkJNavX4+uXbsiMjLykft25rltLz6YHKG/bVeYKWgBbEIIkRKDO8+cnByoVCrtv1vS2ee2vXSz8ZItDRYi7aCkhHUCaSopAe7UAwCmRB3AYcZxCH/1v/8O08fv9lgGd56689l++umn6NOnD+Ry/VunHMehsLCQfzoRa1wAmx5TIe1i/34gOJh1CunZvx949kUAwJhzPwKYxDYP4U128CCwYAHvdngNGHJ1dUVpaWmT7WVlZXB1deXTtOjRM56kXS1axDqBNOnUPfLgFnY5iGBMwsIEaYdX58lxXLPbq6qqYG5uzqdpUaur1yCv5MEC2HTZlhBCJMeo0baNA4VkMhmioqJgYWGh/ZlarcaJEye063x2RtdKq1Cv4WBlroCjdef9nwRCCCHNM6rzbBwoxHEczp07B6VSqf2ZUqmEl5cXli5dKkxCEdIOFrK36vQDo4hIHDvGOoE06dT99UVb8RHDKEQY6rQ0QZ7RNKqNxkFDwcHBiIuLQ7du0rp0eVE7WEhavzdhqLaWdQJp0qm7qVrFMAgRjECfJV73PHft2iW5jhN4OKctzSxE2s24cawTSJNO3WN3vMkwCBGKSUCAIO3w6jyjo6ORkJDQZHtCQgKvuW23b98OFxcXmJubw9fXFydPnmzV65KSkiCTyTBlyhSjj90aupdtCSGESA+vzvOjjz6Cu7t7k+2DBg1CfHy8UW3u27cPkZGRWLNmDbKzs+Hl5YWAgACUPOYh8evXr2Pp0qUYPXq0UcdtrfKaOhRV3AcADKQJ4QkhRJJ4dZ5FRUVwcHBosr1Xr164efOmUW3GxsYiJCQEwcHB8PDwQHx8PCwsLJo9w22kVqsxc+ZMrFu3Dv379zfquK3V+Hync48usDIXYp4KQlrhEe9/0oZ06r5h+nKGQYhQ1Dt2CNIOr87T2dkZx48fb7L9+PHjcHR0NLi9uro6ZGVlwd/f/2FAuRz+/v7IyMho8XXvvPMOevfujfnz5xt8TEM9XIZMevd6CUPjx7NOIE06dc8c4M0wCBEKp9O/8MFrxG5ISAgiIiKgUqnw7LPPAgBSUlKwfPlyvPmm4TfXS0tLoVarYWdnp7fdzs4Oly5davY1x44dwyeffILTp0+3+ji1tbWo1RlxVVHR0CGqVCrtvL0tOfdbOQDgKfuuj923M2r8naX4uxtDqHopnJ1RX1kpRCRRE9v7S+HsjPpfGqYa/e97gVCtrmacSJ/Y6iVmjTVS9O8PVQufJUPqyKvzXLZsGW7fvo3Fixejrq4OAGBubo4VK1ZgVTss3ltZWYnZs2dj586dsLW1bfXroqOjsW7duibbU1NT9SZ8aM6JXBMAMty7cQWHD182NHKnkZyczDpCh8K3XpM0Ghw+LJ1pycXy/pqk0SAj4ycACoCDaP8GYqlXR6B5xGeppqam1e3IuJbm2DNAVVUVLl68iC5dumDAgAFGL4RdV1cHCwsLfP7553ojZufMmYPy8nJ88cUXevufPn0aw4YNg4nJwyXBNBoNgIbLvbm5uXBzc2tynObOPJ2dnXHz5k307NmzxXy19RoMXZ+Ceg2H9DdHw9Gmi1G/Z0emUqmQnJyM8ePHw9SU7vk+jlD1UlhZSebMU0zvL4WVFU7+UojAnSeR+8FLkNeI78xTTPUSs8ZaTQ4MbPGzVFFRAVtbW9y9e/exj2EKshi2paUlRowYwbsdpVIJb29vpKSkaDtPjUaDlJQUhDUzma+7uzvOnTunt2316tWorKxEXFwcnJ2dmz2OmZlZsx28qanpI9+Al4rvol7DobuFKfraSnt2ocfViujjXa+VKyVVb9G8v1auhOLBer17/zIDc8WQqRmiqVcHoFm2rMVaGVJDQTrPCxcuoKCgQHvpttHkyZMNbisyMhJz5syBj48PRo4ciS1btqC6uhrBD5ZjCgoKgpOTE6Kjo2Fubo7Bgwfrvd7GxgYAmmwXwi837gIABjlaS7rjJAysXcs6gTStXQv8WgYASJwwF3OZhiFC0ERFweTxuz0Wr87z2rVreOmll3Du3DnIZDLtKiuNHYtarTa4zcDAQNy6dQtRUVEoKirC0KFDceTIEe0gooKCgibrh7aX89rOk0baknbm4AAY+fgX4cHBAfj5FwDA/vUvA8tuMw5E+FL07SvIZ4lX5xkeHg5XV1ekpKTA1dUVJ0+exO3bt/Hmm29i06ZNRrcbFhbW7GVaAEhLS3vkaxMTE40+7uP8cqNhVO4gJ+s2OwYhzbpzh3UCadKpu9W9zn/PWRIE+izx6jwzMjJw9OhR2NraQi6XQy6X489//jOio6PxxhtvaFdf6QzUGk77jCedeRJCiLTxuv6pVqthZdUwRZ2trS1u3LgBAOjXrx9yc3P5pxORa7eqcF+lgYXSBK49u7KOQ6Rm6lTWCaRJp+4/Dm7bqT9J++AEmvuc15nn4MGDcebMGbi6usLX1xcbN26EUqnEjh072nyavPbWeMnWw6Eb5HIaLETa2Z49rBNI05492gFD7/5tNYSZm4awpN69m99Z4wO82li9erV2kNA777yD/Px8jB49GocPH8bWrVsFiCceZ39rGCw0mO53EhbGjmWdQJp06r7lwwh2OYhgTARa3s/oM0+VSoWNGzdqV0954okncOnSJZSVlaF79+6d7lGOc7+XAwA8+1DnSRg4cYJ1AmnSqbtH4UWGQYhQZK1c4vJxjO48TU1Ncfbs2Sbbe/TowSuQGNWrNTj/e8NlW+o8CSGE8LpsO2vWLHzyySdCZRGtq7eqcU+lRlelCfrbWrKOQ6SoDSb9IK2gU/d8O1eGQYhQuEGDBGmH14Ch+vp6JCQk4IcffoC3tze6dtUfhRobG8srnFicebCSymAnaxosRNjIzGSdQJoyM7UDhl4Lj0ca2zREAOqff2Y/YOj8+fMYPnw4rKyscPnyZeTk5Gi/DFkiTOzOPug8vZxtmOYgEhYSwjqBNOnUfennxk/8QsTDZOFCQdrhdeaZmpoqSAixO1PYMNJ2CI20Jazs3g3s3Mk6hfTs3g2s3gAAmJBNy351BrL//AcQ4HajUWee165dgwArmXUINXX1uPBgZqHh/bozTkMIIUQMjOo8BwwYgFu3bmm/DwwMRHFxsWChxOTsb3eh1nCw72YOR2tz1nGIVCmVrBNIk07dVSa05FenINBnyajO849nnYcPH0Z1tbgWiRVK1q8Nkwh79+t8z66SDqSignUCadKp+/Prv2YYhAil/rYwK+OwWdurA8l+0HnSJVvC1MaNrBNIk07dX01LYhiECEXOY8UvvXaMeZFMJmtyFtYZz8o4jkNWwcMzT0KYiYpinUCadOo+7/tdDIMQocjXrROkHaNG23Ich7lz58LMzAwAcP/+fSxcuLDJc54HDhzgn5Cha6XVKK9RwUwhh4cDLUNGCCGkgVGd55w5c/S+nzVrliBhxKbxfqdXHxsoFXSFmxBCSAOjOs9du6Rx+YLudxLR6GTr43YYOnWfvexT7GMYhQij/vx5CDFumk6nHkF3pC0hTOXksE4gTTp1H/B7HsMgRCgygWa/o86zBXdrVLhSUgUAGN7Xhm0YQl59lXUCadKpe9Se9QyDEKGYCHSbkTrPFmQXNpx1utp2RU9LM8ZpCCGEiAl1ni3Q3u/sS5dsCSGE6KPOswUn8huWIaL7nUQUvvqKdQJp0qn7qrn/ZBiECEV98KAg7fDuPP/3v/9h1qxZ8PPzw++//w4A2L17N44dO8Y7HCs1dfXIeTA5wtNuPRmnIQSAkxPrBNKkU/dSa1uGQYhQOEdHQdrh1Xnu378fAQEB6NKlC3JyclBbWwsAuHv3Lt577z2j292+fTtcXFxgbm4OX19fnDx5ssV9d+7cidGjR6N79+7o3r07/P39H7l/a5y6fgcqNQcnmy7o19OCV1uECGL4cNYJpEmn7jvjXmMYhAhF4esrSDu8Os93330X8fHx2LlzJ0xNHz45M2rUKGRnZxvV5r59+xAZGYk1a9YgOzsbXl5eCAgIQElJSbP7p6WlYcaMGUhNTUVGRgacnZ0xYcIE7VmwMX7KKwXQcNbZGacdJIQQwg+vzjM3Nxdjxoxpst3a2hrl5eVGtRkbG4uQkBAEBwfDw8MD8fHxsLCwQEJCQrP7/+c//8HixYsxdOhQuLu74+OPP4ZGo0FKSopRxweA41cbOs9RT9BlGkIIIU0ZNcNQI3t7e+Tl5cHFxUVv+7Fjx9C/f3+D26urq0NWVhZWrVql3SaXy+Hv74+MjIxWtVFTUwOVSoUePXq0uE9tba32EjMAVDxYdkilUuHW3Rr8cqPh+xH9rKFSqQz+PTqzxnpQXVpHqHrJN26ERgI1F9v7S75xI+rr1QCA7c8vQphIcjUSW73ETFur6GjIWqiXIXXk1XmGhIQgPDwcCQkJkMlkuHHjBjIyMrB06VK8/fbbBrdXWloKtVoNOzs7ve12dna4dOlSq9pYsWIFHB0d4e/v3+I+0dHRWNfMzPqpqam4cq8rOM4E9l04ZP7P+LPXzi45OZl1hA6Fb71kffqAO3xYoDTiJ5b3l6xPH1zL+AmAAkmez6K/SP8GYqlXR3CkX78WP0s1NTWtbodX57ly5UpoNBqMGzcONTU1GDNmDMzMzLB06VK8/vrrfJo2SkxMDJKSkpCWlgZzc/MW91u1ahUiIyO131dUVMDZ2RnPPPMMzv9UAqAQ4736YeJE93ZI3bGoVCokJydj/Pjxeve5SfOEqpfCygr1lZUCJhMnsb2/FFZWOPlLIbacP4kfo6dDXlPNOpIesdVLzBpr9cLf/tbiZ6nCgEXneXWeMpkM//jHP7Bs2TLk5eWhqqoKHh4esLS0NKo9W1tbmJiYoLi4WG97cXEx7O3tH/naTZs2ISYmBj/88AM8PT0fua+ZmZl2OTVdCoUCx682rDL+5wG96M34CKamplQfAwhRLynVW0zvL4XCBAAgg3j/BmKqV0fQUq0MqaEgkyQolUp4eHhg5MiRRnecje14e3vrDfZpHPzj5+fX4us2btyI9evX48iRI/Dx8TH6+Ndv1+D67RooTeQ0WIgQQkiLDD7z1L3c+TixsbGGNo/IyEjMmTMHPj4+GDlyJLZs2YLq6moEBwcDAIKCguDk5ITo6GgAwIYNGxAVFYU9e/bAxcUFRUVFAABLS0uDO/L0Kw2jbP/k1hOWZrxOygkR1mv0jCETOnX/0vcFvMwwChGGJiQEJgK0Y3APkdPKpZGMfT4yMDAQt27dQlRUFIqKijB06FAcOXJEO4iooKAAcvnDE+YPP/wQdXV1ePll/bf1mjVrsHbtWoOO/ePlhs7T/6neRmUnpM3ExbFOIE1xccCvDVN1bnsxjDrPTkATG8um80xNTRXgsI8WFhaGsLCwZn+Wlpam9/3169cFO+6Z3+4CSgs8606dJxEZDw/gwgXWKaTHwwP4tmGq0cRNwcCy62zzEN4Unp7AxYu826GJ4XVoOOAph27o052m5CMic+0a6wTSpFN3x7IbDIMQweTnC9IM7xt75eXl+OSTT3DxQU/u4eGB+fPnw9ramnc4FuiSLSGEkMfhdeaZmZkJNzc3bN68GWVlZSgrK8PmzZvh5uZm9Ny2rPk/Zff4nQhpb888wzqBNOnUPcdtGMMgRCjcX/4iSDu8Os8lS5Zg8uTJuH79Og4cOIADBw4gPz8fkyZNQkREhCAB21Of7ubw7NMxz5hJJ/ftt6wTSJNO3VfMj2EYhAhFLdDauLzPPFesWAGF4uHVX4VCgeXLlyMzM5N3uPb210H2tIoKEacpU1gnkCadur/7qeFTjhLxMZk2TZB2eHWe3bp1Q0FBQZPthYWFsLKy4tM0E38dRPc7iUgdOcI6gTTp1H1kLr91ggl7ag0g+/57qDUc77Z4dZ6BgYGYP38+9u3bh8LCQhQWFiIpKQkLFizAjBkzeIdrb269jJ8diRBCiLjtvy5HXb0G/zp6hXdbvEbbbtq0CTKZDEFBQaivrwfHcVAqlVi0aBFiYuj+ACGCcXJinUCadOp+q5st6K/QsXEAiqx6Qi7A7TleZ55KpRJxcXG4c+cOTp8+jTNnzmhH3DY38TohxEhXr7JOIE06dZ+58j8MgxAhcBww9rWPIcTIFqPOPOfNm9eq/RISEoxpnhDyR8uXAxs3sk4hPcuXA6ErAQCvffMRsIweGeroVqYmQB2wgXc7Rp15JiYmIjU1FeXl5bhz506LX4QQgWzdyjqBNOnUfdrxAwyDECFoOCA46ysI8VCFUWeeixYtwt69e5Gfn4/g4GDMmjULPXr04J+GEEIIaSONY2xlAly4NerMc/v27bh58yaWL1+Or776Cs7OznjllVfw3XffgeP4DwEmhBBC2opcgDNPowcMmZmZYcaMGUhOTsaFCxcwaNAgLF68GC4uLqiqquKfjBDy0O3brBNIk07dJ689xC4HEQTHAUPf2CvIZVtBVlWRy+WQyWTgOA5qtVqIJgkhuvbuZZ1AmnTqPi7nKMMgRAgaAJMvprN9VKW2thZ79+7F+PHjMXDgQJw7dw7btm1DQUEBLC1psgFCBNXC+rakjenUPfwLGrTVGbyTHC/INKxGDRhavHgxkpKS4OzsjHnz5mHv3r2wtbXlHYYQQghpK41Dcpg95xkfH4++ffuif//+SE9PR3p6erP7HThAQ7sJIYSIQ+NwViEGDBnVeQYFBdHqI4S0p4wM1gmkSafui0O34WOGUQh/HICpszfhFVaXbRMTE3kfmBBigMpK1gmkqbISePAIu0VtDdsshDeOA7rW3WP7qAohpB1NmMA6gTTp1H3Tx8sZBiFC4ADs3ve2IFdOqfMkhBAiCdoBQ3TmSQghhLTOwwFDnfTMc/v27XBxcYG5uTl8fX1x8uSjV3D/7LPP4O7uDnNzcwwZMgSHDx9up6SEtJNPP2WdQJp06h79ykqGQYhQ3nx+CbtHVdrSvn37EBkZifj4ePj6+mLLli0ICAhAbm4uevfu3WT/n376CTNmzEB0dDQmTZqEPXv2YMqUKcjOzsbgwYMZ/AaEtIExY1gnkKYxY4C6hn+m9HJH4aen2Ob5A42GQ0mJHF+U5UAuxCiYTkyj4XC9SoZi58EYw2q0bVuKjY1FSEgIgoODATQ8U/rNN98gISEBK1c2/T+/uLg4/PWvf8WyZcsAAOvXr0dycjK2bduG+Pj4ds1OSJtxdQXu32edQnpcXdHzt4b5bZO3zcWTSw8yDtQcOXDnFusQHYQMWfHz8VPYb7xbElXnWVdXh6ysLKxatUq7TS6Xw9/fHxktPOeWkZGByMhIvW0BAQE4dOhQW0YlhEiEi21XJP39T1BslmPDtCGs4+hRq9U4e/YcPD2HwMTEhHUcUWuslcJEjjEDe/FuT1SdZ2lpKdRqNezs7PS229nZ4dKlS82+pqioqNn9i4qKWjxObW0tamtrtd/fvXsXAFBWVmZsdMlQqVSoqanB7du3YWpqyjqO6AlVLwXHoV4CK6uI7f3VWPcB1kAVOPj378o6kh6VSgVZfjWecekiinqJWWOtqsCh/k7z/62vfPA8dWuW1hRV59leoqOjsW7duibbBw4cyCANIa1E80ezoVt3+ht0Do/5O1ZWVsLa2vqR+4iq87S1tYWJiQmKi4v1thcXF8Pe3r7Z19jb2xu0PwCsWrVK71JveXk5+vXrh4KCgscWTOoqKirg7OyMwsJCdOvWjXUc0aN6GYbqZRiqV+u1plYcx6GyshKOjo6PbU9UnadSqYS3tzdSUlIwZcoUAIBGo0FKSgrCWliSyc/PDykpKYiIiNBuS05Ohp+fX4vHMTMzg5mZWZPt1tbW9AZspW7dulGtDED1MgzVyzBUr9Z7XK1aewIlqs4TACIjIzFnzhz4+Phg5MiR2LJlC6qrq7Wjb4OCguDk5ITo6GgAQHh4OMaOHYsPPvgAzz//PJKSkpCZmYkdO3aw/DUIIYR0YqLrPAMDA3Hr1i1ERUWhqKgIQ4cOxZEjR7SDggoKCiCXP5zb4emnn8aePXuwevVqvPXWWxgwYAAOHTpEz3gSQghpM6LrPAEgLCysxcu0aWlpTbZNnz4d06dPN/p4ZmZmWLNmTbOXcok+qpVhqF6GoXoZhurVekLXSsa1ZkwuIYQQQrREObctIYQQImbUeRJCCCEGos6TEEIIMRB1noQQQoiBJN95Grp2qFT8+OOPeOGFF+Do6AiZTNZkon2O4xAVFQUHBwd06dIF/v7+uHLlCpuwjEVHR2PEiBGwsrJC7969MWXKFOTm5urtc//+fYSGhqJnz56wtLTEtGnTmsyMJRUffvghPD09tQ+r+/n54dtvv9X+nGrVspiYGMhkMr1JYahe+tauXQuZTKb35e7urv25UPWSdOfZuHbomjVrkJ2dDS8vLwQEBKCkpIR1NOaqq6vh5eWF7du3N/vzjRs3YuvWrYiPj8eJEyfQtWtXBAQE4L4El81KT09HaGgofv75ZyQnJ0OlUmHChAmorq7W7rNkyRJ89dVX+Oyzz5Ceno4bN25g6tSpDFOz06dPH8TExCArKwuZmZl49tln8eKLL+KXX34BQLVqyalTp/DRRx/B09NTbzvVq6lBgwbh5s2b2q9jx45pfyZYvTgJGzlyJBcaGqr9Xq1Wc46Ojlx0dDTDVOIDgDt48KD2e41Gw9nb23Pvv/++dlt5eTlnZmbG7d27l0FCcSkpKeEAcOnp6RzHNdTG1NSU++yzz7T7XLx4kQPAZWRksIopKt27d+c+/vhjqlULKisruQEDBnDJycnc2LFjufDwcI7j6L3VnDVr1nBeXl7N/kzIekn2zLNx7VB/f3/ttsetHUoa5Ofno6ioSK921tbW8PX1pdrh4RJ3PXr0AABkZWVBpVLp1cvd3R19+/aVfL3UajWSkpJQXV0NPz8/qlULQkND8fzzz+vVBaD3VkuuXLkCR0dH9O/fHzNnzkRBQQEAYeslyhmG2oMxa4eSBo1rpRq6jqoUaDQaREREYNSoUdopIouKiqBUKmFjY6O3r5Trde7cOfj5+eH+/fuwtLTEwYMH4eHhgdOnT1Ot/iApKQnZ2dk4depUk5/Re6spX19fJCYm4sknn8TNmzexbt06jB49GufPnxe0XpLtPAlpC6GhoTh//rzePRbS1JNPPonTp0/j7t27+PzzzzFnzhykp6ezjiU6hYWFCA8PR3JyMszNzVnH6RCee+457b89PT3h6+uLfv364b///S+6dOki2HEke9nWmLVDSYPG+lDt9IWFheHrr79Gamoq+vTpo91ub2+Puro6lJeX6+0v5XoplUo88cQT8Pb2RnR0NLy8vBAXF0e1+oOsrCyUlJRg+PDhUCgUUCgUSE9Px9atW6FQKGBnZ0f1egwbGxsMHDgQeXl5gr6/JNt56q4d2qhx7dBHrQVKAFdXV9jb2+vVrqKiAidOnJBk7TiOQ1hYGA4ePIijR4/C1dVV7+fe3t4wNTXVq1dubi4KCgokWa/maDQa1NbWUq3+YNy4cTh37hxOnz6t/fLx8cHMmTO1/6Z6PVpVVRWuXr0KBwcHYd9fPAY1dXhJSUmcmZkZl5iYyF24cIH7+9//ztnY2HBFRUWsozFXWVnJ5eTkcDk5ORwALjY2lsvJyeF+/fVXjuM4LiYmhrOxseG++OIL7uzZs9yLL77Iubq6cvfu3WOcvP0tWrSIs7a25tLS0ribN29qv2pqarT7LFy4kOvbty939OhRLjMzk/Pz8+P8/PwYpmZn5cqVXHp6Opefn8+dPXuWW7lyJSeTybjvv/+e4ziq1ePojrblOKrXH7355ptcWloal5+fzx0/fpzz9/fnbG1tuZKSEo7jhKuXpDtPjuO4f/3rX1zfvn05pVLJjRw5kvv5559ZRxKF1NRUDkCTrzlz5nAc1/C4yttvv83Z2dlxZmZm3Lhx47jc3Fy2oRlprk4AuF27dmn3uXfvHrd48WKue/funIWFBffSSy9xN2/eZBeaoXnz5nH9+vXjlEol16tXL27cuHHajpPjqFaP88fOk+qlLzAwkHNwcOCUSiXn5OTEBQYGcnl5edqfC1UvWpKMEEIIMZBk73kSQgghxqLOkxBCCDEQdZ6EEEKIgajzJIQQQgxEnSchhBBiIOo8CSGEEANR50kIIYQYiDpPQkRq7ty5mDJlSrsfNzExETKZDDKZDBEREbzb+uMKFo8zd+5c7fEPHTrE6/iEtBVaVYUQBmQy2SN/vmbNGsTFxYHVHCbdunVDbm4uunbtyqudwMBATJw40aDXxMXFISYmBg4ODryOTUhbos6TEAZu3ryp/fe+ffsQFRWF3Nxc7TZLS0tYWlqyiAagoXMXYlWOLl26GLwMlLW1NaytrXkfm5C2RJdtCWHA3t5e+2Vtba3trBq/LC0tm1y2/ctf/oLXX38dERER6N69O+zs7LBz505UV1cjODgYVlZWeOKJJ/Dtt9/qHev8+fN47rnnYGlpCTs7O8yePRulpaUGZ3ZxccG7776LoKAgWFpaol+/fvjyyy9x69YtvPjii7C0tISnpycyMzO1r/njZdu1a9di6NCh2L17N1xcXGBtbY1XX30VlZWVBuchhCXqPAnpQD799FPY2tri5MmTeP3117Fo0SJMnz4dTz/9NLKzszFhwgTMnj0bNTU1AIDy8nI8++yzGDZsGDIzM3HkyBEUFxfjlVdeMer4mzdvxqhRo5CTk4Pnn38es2fPRlBQEGbNmoXs7Gy4ubkhKCjokZebr169ikOHDuHrr7/G119/jfT0dMTExBiVhxBWqPMkpAPx8vLC6tWrMWDAAKxatQrm5uawtbVFSEgIBgwYgKioKNy+fRtnz54FAGzbtg3Dhg3De++9B3d3dwwbNgwJCQlITU3F5cuXDT7+xIkT8dprr2mPVVFRgREjRmD69OkYOHAgVqxYgYsXLzZZKF2XRqNBYmIiBg8ejNGjR2P27Nl66ysS0hHQPU9COhBPT0/tv01MTNCzZ08MGTJEu83Ozg4AUFJSAgA4c+YMUlNTm71/evXqVQwcONDo4zceq6Xjt3TP1MXFBVZWVtrvHRwctHkJ6Sio8ySkAzE1NdX7XiaT6W1rHMWr0WgAAFVVVXjhhRewYcOGJm0ZM5q1uWM96viPa6PxNY/anxAxos6TkE5s+PDh2L9/P1xcXKBQ0MedEKHQPU9COrHQ0FCUlZVhxowZOHXqFK5evYrvvvsOwcHBUKvVrOMR0mFR50lIJ+bo6Ijjx49DrVZjwoQJGDJkCCIiImBjYwO5nD7+hBhLxrGawoQQIkqJiYmIiIhAeXk50xwymQwHDx5kMkUhIY9D/+tJCGni7t27sLS0xIoVK9r92AsXLmQ6uxIhrUFnnoQQPZWVldrnNG1sbGBra9uuxy8pKUFFRQWAhhHBfOfXJaQtUOdJCCGEGIgu2xJCCCEGos6TEEIIMRB1noQQQoiBqPMkhBBCDESdJyGEEGIg6jwJIYQQA1HnSQghhBiIOk9CCCHEQNR5EkIIIQb6P/ZUCsZgztkwAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# profiles\n", "plot_tsa_profiles(m.fs.tsa)" @@ -610,4 +452,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/flowsheets/temperature_swing_adsorption/temperature_swing_adsorption_test.ipynb b/idaes_examples/notebooks/docs/flowsheets/temperature_swing_adsorption/temperature_swing_adsorption_test.ipynb index 022ff95a..d706adac 100644 --- a/idaes_examples/notebooks/docs/flowsheets/temperature_swing_adsorption/temperature_swing_adsorption_test.ipynb +++ b/idaes_examples/notebooks/docs/flowsheets/temperature_swing_adsorption/temperature_swing_adsorption_test.ipynb @@ -1,646 +1,488 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "# TSA Adsorption Cycle for Carbon Capture\n", - "\n", - "\n", - "Maintainer: Daison Yancy Caballero and Alexander Noring \n", - "Author: Daison Yancy Caballero and Alexander Noring \n", - "Updated: 2023-11-13 \n", - "\n", - "## Learning outcomes\n", - "\n", - "\n", - "- Demonstrate the use of the IDAES fixed bed temperature swing adsorption (TSA) 0D unit model\n", - "- Initialize the IDAES fixed bed TSA 0D unit model\n", - "- Simulate the IDAES fixed bed TSA 0D unit model by solving a square problem\n", - "- Generate and analyze results\n", - "\n", - "\n", - "## Problem Statement\n", - "\n", - "This Jupyter notebook shows the simulation of a fixed bed TSA cycle for carbon capture by using the fixed bed TSA 0D unit model in IDAES. The fixed bed TSA model consists of a 0D equilibrium-based shortcut model composed of four steps a) heating, b) cooling, c) pressurization, and d) adsorption. Note that the equations in the IDAES fixed bed TSA 0D unit model and the input specifications used in this tutorial for the feed stream have been taken from Joss et al. 2015.\n", - "\n", - "\n", - "#### A diagram of the TSA adsorption cycle is given below: \n", - "\n", - "![](tsa_cycle.svg)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Step 1: Import Libraries" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Import Pyomo packages \n", - "\n", - "We will need the following components from the pyomo libraries.\n", - "\n", - "- ConcreteModel (to create the Pyomo model that will contain the IDAES flowsheet)\n", - "- TransformationFactory (to apply certain transformations)\n", - "- SolverFactory (to set up the solver that will solve the problem)\n", - "- Constraint (to write constraints)\n", - "- Var (to declare variables)\n", - "- Objective (to declare an objective function)\n", - "- minimize (to minimize an objective function)\n", - "- value (to return the numerical value of an Pyomo objects such as variables, constraints or expressions)\n", - "- units (to handle units in Pyomo and IDAES)\n", - "- check_optimal_termination (this method returns the solution status from solver)\n", - "\n", - "For further details on these components, please refer to the Pyomo documentation:" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "# python libraries\n", - "import os\n", - "\n", - "# pyomo libraries\n", - "from pyomo.environ import (\n", - " ConcreteModel,\n", - " TransformationFactory,\n", - " SolverFactory,\n", - " Constraint,\n", - " Var,\n", - " Objective,\n", - " minimize,\n", - " value,\n", - " units,\n", - " check_optimal_termination,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Import IDAES core components\n", - "\n", - "To build, initialize, and solve IDAES flowsheets we will need the following core components/utilities:\n", - "\n", - "- FlowsheetBlock (the flowsheet block contains idaes properties, time, and unit models)\n", - "- degrees_of_freedom (useful for debugging, this method returns the DOF of the model)\n", - "- FixedBedTSA0D (fixed bed TSA model unit model)\n", - "- util (some utility functions in IDAES)\n", - "- idaeslog (it's used to set output messages like warnings or errors)\n", - "\n", - "For further details on these components, please refer to the IDAES documentation:" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "# import IDAES core libraries\n", - "from idaes.core import FlowsheetBlock\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "import idaes.core.util as iutil\n", - "import idaes.logger as idaeslog\n", - "\n", - "# import tsa unit model\n", - "from idaes.models_extra.temperature_swing_adsorption import (\n", - " FixedBedTSA0D,\n", - " FixedBedTSA0DInitializer,\n", - " Adsorbent,\n", - ")\n", - "from idaes.models_extra.temperature_swing_adsorption.util import (\n", - " tsa_summary,\n", - " plot_tsa_profiles,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Step 2: Constructing the Flowsheet\n", - "\n", - "First, let's create a ConcreteModel and attach the flowsheet block to it." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "# create concrete model\n", - "m = ConcreteModel()\n", - "\n", - "# create flowsheet\n", - "m.fs = FlowsheetBlock(dynamic=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.1: Adding the TSA Unit Model\n", - "\n", - "Now, we will be adding the fixed bed temperature swing adsorption (TSA) cycle model (assigned a name tsa).\n", - "\n", - "The TSA unit model builds variables, constraints and expressions for a solid sorbent based TSA capture system. This IDAES model can take up to 11 config arguments:\n", - "\n", - "1. `dynamic`: to set up the model as steady state. The IDAES fixed bed TSA 0D\n", - " unit model only supports steady state as the dynamic nature of the adsorption\n", - " cycle is handled in internal blocks for each cycle step of the unit. This\n", - " config argument is used to enable the TSA unit model to connect with other\n", - " IDAES unit models.\n", - "2. `adsorbent`: to set up the adsorbent to be used in the fixed bed TSA system. \n", - " Supported values currently are `Adsorbent.zeolite_13x`, `Adsorbent.mmen_mg_mof_74`, and `Adsorbent.polystyrene_amine`.\n", - "3. `number_of_beds`: to set up the number of beds to be used in the unit model.\n", - " This config argument accepts either an `int` (model assumes a fixed number of beds) or `None` (model calculates the number of beds).\n", - "4. `compressor`: indicates whether a compressor unit should be added to the\n", - " fixed bed TSA system to calculate the energy required to overcome\n", - " the pressure drop in the system. Supported values are `True` and `False`.\n", - "5. `compressor_properties`: indicates a property package to use in the compressor unit model.\n", - "6. `steam_calculation`: indicates whether a method to estimate the steam flow rate\n", - " required in the desorption step should be included. Supported values are: `SteamCalculationType.none`,\n", - " steam calculation method is not included. `SteamCalculationType.simplified`, a surrogate model is used\n", - " to estimate the mass flow rate of steam. `SteamCalculationType.rigorous`, a heater unit model is\n", - " included in the TSA system assuming total saturation.\n", - "7. `steam_properties`: indicates a property package to use for rigorous steam calculations. Currently, only the iapws95 property package is supported.\n", - "8. `transformation_method`: to set up the discretization method to be use for the time\n", - " domain. The discretization method must be a method recognized by the\n", - " Pyomo `TransformationFactory`. Supported values are `dae.finite_difference` and\n", - " `dae.collocation`.\n", - "9. `transformation_scheme`: to set up the scheme to use when discretizing the time domain.\n", - " Supported values are: `TransformationScheme.backward` and `TransformationScheme.forward` for finite difference transformation\n", - " method. `TransformationScheme.lagrangeRadau` for collocation transformation method.\n", - "10. `finite_elements`: to set up the number of finite elements to use when discretizing\n", - " the time domain.\n", - "11. `collocation_points`: to set up the number of collocation points to use per finite element\n", - " when the discretization method is `dae.collocation`.\n", - " \n", - "
\n", - "Note: a default value defined in the IDAES unit class is used for\n", - " a config argument when no value is passed in the time the unit model\n", - " is called.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "# add tsa unit\n", - "m.fs.tsa = FixedBedTSA0D(adsorbent=Adsorbent.zeolite_13x, number_of_beds=1)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.2: Fix Specifications of Feed Stream in TSA Unit\n", - "\n", - "The inlet specifications of the TSA unit are fixed to match the exhaust gas stream (stream 8) of case B31B in the NETL baseline report, which is a exhaust gas stream after 90% carbon capture by means of a solvent-based capture system." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "# fix inlet conditions of tsa unit - baseline case from Joss et al. 2015\n", - "flue_gas = {\n", - " \"flow_mol_comp\": {\n", - " \"H2O\": 0.0,\n", - " \"CO2\": 0.00960 * 0.12,\n", - " \"N2\": 0.00960 * 0.88,\n", - " \"O2\": 0.0,\n", - " },\n", - " \"temperature\": 300.0,\n", - " \"pressure\": 1.0e5,\n", - "}\n", - "for i in m.fs.tsa.component_list:\n", - " m.fs.tsa.inlet.flow_mol_comp[:, i].fix(flue_gas[\"flow_mol_comp\"][i])\n", - "m.fs.tsa.inlet.temperature.fix(flue_gas[\"temperature\"])\n", - "m.fs.tsa.inlet.pressure.fix(flue_gas[\"pressure\"])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.3: Fix DOF of TSA unit\n", - "\n", - "The degrees of freedom of the TSA unit model are: adsorption and desorption temperatures, temperatures of heating and cooling fluids, column diameter, and column height. These variables must be fixed to solve a square problem." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ + "cells": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "The DOF of the TSA unit is 0\n" - ] - } - ], - "source": [ - "# fix design and operating variables of tsa unit - baseline case from Joss et al. 2015\n", - "m.fs.tsa.temperature_desorption.fix(430)\n", - "m.fs.tsa.temperature_adsorption.fix(310)\n", - "m.fs.tsa.temperature_heating.fix(440)\n", - "m.fs.tsa.temperature_cooling.fix(300)\n", - "m.fs.tsa.bed_diameter.fix(3 / 100)\n", - "m.fs.tsa.bed_height.fix(1.2)\n", - "\n", - "\n", - "# check the degrees of freedom\n", - "DOF = degrees_of_freedom(m)\n", - "print(f\"The DOF of the TSA unit is {DOF}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.4: Scaling Unit Models\n", - "\n", - "Creating well scaled models is important for increasing the efficiency and reliability of solvers. Depending on unit models, variables and constraints are often badly scaled. IDAES unit models contain a method to scale variables and constraints to improve solver convergence. To apply the scaled factors defined in each unit model, we need to call the IDAES method `calculate_scaling_factors` in `idaes.core.util.scaling`." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "# scaling factors\n", - "iutil.scaling.calculate_scaling_factors(m.fs.tsa)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.5: Define Solver and Solver Options\n", - "\n", - "We select the solver that we will be using to initialize and solve the flowsheet." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "# define solver options\n", - "solver_options = {\n", - " \"nlp_scaling_method\": \"user-scaling\",\n", - " \"tol\": 1e-6,\n", - "}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.6: Initialization of Unit Models\n", - "\n", - "IDAES includes pre-written initialization routines for all unit models. To initialize the TSA unit model, call the method `m.fs.tsa.initialize()`.\n", - "\n", - "
\n", - "Note: initialize methods in IDAES unit models solve a square problem,\n", - " so the user needs to be sure that the degrees of freedom of the unit being\n", - " initialized are zero.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-10-26 15:28:28 [INFO] idaes.init.fs.tsa: Starting fixed bed TSA initialization\n", - "2023-10-26 15:28:45 [INFO] idaes.init.fs.tsa.heating: Starting initialization of heating step.\n", - "2023-10-26 15:28:47 [INFO] idaes.init.fs.tsa.heating: Initialization of heating step completed optimal - Optimal Solution Found.\n", - "2023-10-26 15:29:01 [INFO] idaes.init.fs.tsa.cooling: Starting initialization of cooling step.\n", - "2023-10-26 15:29:03 [INFO] idaes.init.fs.tsa.cooling: Initialization of cooling step completed optimal - Optimal Solution Found.\n", - "2023-10-26 15:29:03 [INFO] idaes.init.fs.tsa.pressurization: Starting initialization of pressurization step.\n", - "2023-10-26 15:29:03 [INFO] idaes.init.fs.tsa.pressurization: Initialization of pressurization step completed optimal - Optimal Solution Found.\n", - "2023-10-26 15:29:03 [INFO] idaes.init.fs.tsa.adsorption: Starting initialization of adsorption step.\n", - "2023-10-26 15:29:04 [INFO] idaes.init.fs.tsa.adsorption: Initialization of adsorption step completed optimal - Optimal Solution Found.\n", - "2023-10-26 15:29:13 [INFO] idaes.init.fs.tsa: Initialization of fixed bed TSA model completed optimal - Optimal Solution Found.\n" - ] - } - ], - "source": [ - "# initialize tsa unit\n", - "initializer = FixedBedTSA0DInitializer(\n", - " output_level=idaeslog.INFO, solver_options=solver_options\n", - ")\n", - "initializer.initialize(m.fs.tsa)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Step 3: Solve the TSA Unit Model\n", - "\n", - "Now, we can simulate the TSA unit model by solving a square problem. For this, we need to set up the solver by using the Pyomo component `SolverFactory`. We will be using the solver and solver options defined during the initialization." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "# TSA Adsorption Cycle for Carbon Capture\n", + "\n", + "\n", + "Maintainer: Daison Yancy Caballero and Alexander Noring \n", + "Author: Daison Yancy Caballero and Alexander Noring \n", + "Updated: 2023-11-13 \n", + "\n", + "## Learning outcomes\n", + "\n", + "\n", + "- Demonstrate the use of the IDAES fixed bed temperature swing adsorption (TSA) 0D unit model\n", + "- Initialize the IDAES fixed bed TSA 0D unit model\n", + "- Simulate the IDAES fixed bed TSA 0D unit model by solving a square problem\n", + "- Generate and analyze results\n", + "\n", + "\n", + "## Problem Statement\n", + "\n", + "This Jupyter notebook shows the simulation of a fixed bed TSA cycle for carbon capture by using the fixed bed TSA 0D unit model in IDAES. The fixed bed TSA model consists of a 0D equilibrium-based shortcut model composed of four steps a) heating, b) cooling, c) pressurization, and d) adsorption. Note that the equations in the IDAES fixed bed TSA 0D unit model and the input specifications used in this tutorial for the feed stream have been taken from Joss et al. 2015.\n", + "\n", + "\n", + "#### A diagram of the TSA adsorption cycle is given below: \n", + "\n", + "![](tsa_cycle.svg)\n" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.tsa.cooling.scaling_factor' that\n", - "contains 4 component keys that are not exported as part of the NL file.\n", - "Skipping.\n", - "WARNING: model contains export suffix 'fs.tsa.heating.scaling_factor' that\n", - "contains 2 component keys that are not exported as part of the NL file.\n", - "Skipping.\n", - "WARNING: model contains export suffix 'fs.tsa.scaling_factor' that contains 12\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "Ipopt 3.13.2: nlp_scaling_method=user-scaling\n", - "tol=1e-06\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 19132\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 70375\n", - "\n", - "Total number of variables............................: 2815\n", - " variables with only lower bounds: 5\n", - " variables with lower and upper bounds: 605\n", - " variables with only upper bounds: 1\n", - "Total number of equality constraints.................: 2815\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 3.63e+01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 1.06e+00 3.00e+03 -1.0 4.96e+00 - 9.90e-01 9.90e-01h 1\n", - " 2 0.0000000e+00 4.90e-03 4.83e+03 -1.0 4.91e+00 - 9.90e-01 9.96e-01h 1\n", - " 3 0.0000000e+00 2.44e-07 4.53e+00 -1.0 2.25e-02 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 1.0710209608078003e-07 2.4400780240796394e-07\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 1.0710209608078003e-07 2.4400780240796394e-07\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 3.208\n", - "Total CPU secs in NLP function evaluations = 0.089\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], - "source": [ - "# set up solver to solve flowsheet\n", - "solver = SolverFactory(\"ipopt\")\n", - "solver.options = solver_options\n", - "\n", - "# solve flowsheet\n", - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "# Check solver solve status\n", - "from pyomo.environ import TerminationCondition\n", - "\n", - "assert results.solver.termination_condition == TerminationCondition.optimal" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Step 4: Viewing the Simulation Results\n", - "\n", - "We will call some utility methods defined in the TSA unit model to get displayed some key variables." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Step 1: Import Libraries" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Summary - tsa\n", - "------------------------------------------------------------------------------------ Value \n", - " Adsorption temperature [K] 310.00\n", - " Desorption temperature [K] 430.00\n", - " Heating temperature [K] 440.00\n", - " Cooling temperature [K] 300.00\n", - " Column diameter [m] 0.030000\n", - " Column length [m] 1.2000\n", - " Column volume [m3] 0.00084823\n", - " CO2 mole fraction at feed [%] 12.000\n", - " Feed flow rate [mol/s] 0.0096000\n", - " Feed velocity [m/s] 0.50008\n", - " Minimum fluidization velocity [m/s] 1.5207\n", - " Time of heating step [h] 0.37030\n", - " Time of cooling step [h] 0.20826\n", - " Time of pressurization step [h] 0.0051098\n", - " Time of adsorption step [h] 0.25221\n", - " Cycle time [h] 0.83588\n", - " Purity [-] 0.90219\n", - " Recovery [-] 0.89873\n", - " Productivity [kg CO2/ton/h] 84.085\n", - " Specific energy [MJ/kg CO2] 3.6532\n", - " Heat duty per bed [MW] 5.1244e-05\n", - " Heat duty total [MW] 0.00016646\n", - " Pressure drop [Pa] 5263.6\n", - " Number of beds 3.2484\n", - " CO2 captured in one cycle per bed [kg/cycle] 0.042210\n", - " Cycles per year 10480.\n", - " Total CO2 captured per year [tonne/year] 1.4369\n", - " Amount of flue gas processed per year [Gmol/year] 0.00030275\n", - " Amount of flue gas processed per year (target) [Gmol/year] 0.00030275\n", - " Amount of CO2 to atmosphere [mol/s] 0.00011667\n", - " Concentration of CO2 emitted to atmosphere [ppm] 13803.\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "# summary tsa\n", - "tsa_summary(m.fs.tsa)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "import pytest\n", - "\n", - "assert value(m.fs.tsa.purity) == pytest.approx(0.90219, abs=1e-5)\n", - "assert value(m.fs.tsa.recovery) == pytest.approx(0.89873, abs=1e-5)\n", - "assert value(m.fs.tsa.specific_energy) == pytest.approx(3.6532, abs=1e-4)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Step 5: Plotting Profiles\n", - "\n", - "Call plots method in the FixedBedTSA0D model to generate profiles of temperature, pressure and $\\mathrm{CO_{2}}$ concentration at the outlet of the column." - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Import Pyomo packages \n", + "\n", + "We will need the following components from the pyomo libraries.\n", + "\n", + "- ConcreteModel (to create the Pyomo model that will contain the IDAES flowsheet)\n", + "- TransformationFactory (to apply certain transformations)\n", + "- SolverFactory (to set up the solver that will solve the problem)\n", + "- Constraint (to write constraints)\n", + "- Var (to declare variables)\n", + "- Objective (to declare an objective function)\n", + "- minimize (to minimize an objective function)\n", + "- value (to return the numerical value of an Pyomo objects such as variables, constraints or expressions)\n", + "- units (to handle units in Pyomo and IDAES)\n", + "- check_optimal_termination (this method returns the solution status from solver)\n", + "\n", + "For further details on these components, please refer to the Pyomo documentation:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# python libraries\n", + "import os\n", + "\n", + "# pyomo libraries\n", + "from pyomo.environ import (\n", + " ConcreteModel,\n", + " TransformationFactory,\n", + " SolverFactory,\n", + " Constraint,\n", + " Var,\n", + " Objective,\n", + " minimize,\n", + " value,\n", + " units,\n", + " check_optimal_termination,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Import IDAES core components\n", + "\n", + "To build, initialize, and solve IDAES flowsheets we will need the following core components/utilities:\n", + "\n", + "- FlowsheetBlock (the flowsheet block contains idaes properties, time, and unit models)\n", + "- degrees_of_freedom (useful for debugging, this method returns the DOF of the model)\n", + "- FixedBedTSA0D (fixed bed TSA model unit model)\n", + "- util (some utility functions in IDAES)\n", + "- idaeslog (it's used to set output messages like warnings or errors)\n", + "\n", + "For further details on these components, please refer to the IDAES documentation:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# import IDAES core libraries\n", + "from idaes.core import FlowsheetBlock\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "import idaes.core.util as iutil\n", + "import idaes.logger as idaeslog\n", + "\n", + "# import tsa unit model\n", + "from idaes.models_extra.temperature_swing_adsorption import (\n", + " FixedBedTSA0D,\n", + " FixedBedTSA0DInitializer,\n", + " Adsorbent,\n", + ")\n", + "from idaes.models_extra.temperature_swing_adsorption.util import (\n", + " tsa_summary,\n", + " plot_tsa_profiles,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 2: Constructing the Flowsheet\n", + "\n", + "First, let's create a ConcreteModel and attach the flowsheet block to it." + ] + }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# create concrete model\n", + "m = ConcreteModel()\n", + "\n", + "# create flowsheet\n", + "m.fs = FlowsheetBlock(dynamic=False)" ] - }, - "metadata": {}, - "output_type": "display_data" + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.1: Adding the TSA Unit Model\n", + "\n", + "Now, we will be adding the fixed bed temperature swing adsorption (TSA) cycle model (assigned a name tsa).\n", + "\n", + "The TSA unit model builds variables, constraints and expressions for a solid sorbent based TSA capture system. This IDAES model can take up to 11 config arguments:\n", + "\n", + "1. `dynamic`: to set up the model as steady state. The IDAES fixed bed TSA 0D\n", + " unit model only supports steady state as the dynamic nature of the adsorption\n", + " cycle is handled in internal blocks for each cycle step of the unit. This\n", + " config argument is used to enable the TSA unit model to connect with other\n", + " IDAES unit models.\n", + "2. `adsorbent`: to set up the adsorbent to be used in the fixed bed TSA system. \n", + " Supported values currently are `Adsorbent.zeolite_13x`, `Adsorbent.mmen_mg_mof_74`, and `Adsorbent.polystyrene_amine`.\n", + "3. `number_of_beds`: to set up the number of beds to be used in the unit model.\n", + " This config argument accepts either an `int` (model assumes a fixed number of beds) or `None` (model calculates the number of beds).\n", + "4. `compressor`: indicates whether a compressor unit should be added to the\n", + " fixed bed TSA system to calculate the energy required to overcome\n", + " the pressure drop in the system. Supported values are `True` and `False`.\n", + "5. `compressor_properties`: indicates a property package to use in the compressor unit model.\n", + "6. `steam_calculation`: indicates whether a method to estimate the steam flow rate\n", + " required in the desorption step should be included. Supported values are: `SteamCalculationType.none`,\n", + " steam calculation method is not included. `SteamCalculationType.simplified`, a surrogate model is used\n", + " to estimate the mass flow rate of steam. `SteamCalculationType.rigorous`, a heater unit model is\n", + " included in the TSA system assuming total saturation.\n", + "7. `steam_properties`: indicates a property package to use for rigorous steam calculations. Currently, only the iapws95 property package is supported.\n", + "8. `transformation_method`: to set up the discretization method to be use for the time\n", + " domain. The discretization method must be a method recognized by the\n", + " Pyomo `TransformationFactory`. Supported values are `dae.finite_difference` and\n", + " `dae.collocation`.\n", + "9. `transformation_scheme`: to set up the scheme to use when discretizing the time domain.\n", + " Supported values are: `TransformationScheme.backward` and `TransformationScheme.forward` for finite difference transformation\n", + " method. `TransformationScheme.lagrangeRadau` for collocation transformation method.\n", + "10. `finite_elements`: to set up the number of finite elements to use when discretizing\n", + " the time domain.\n", + "11. `collocation_points`: to set up the number of collocation points to use per finite element\n", + " when the discretization method is `dae.collocation`.\n", + " \n", + "
\n", + "Note: a default value defined in the IDAES unit class is used for\n", + " a config argument when no value is passed in the time the unit model\n", + " is called.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# add tsa unit\n", + "m.fs.tsa = FixedBedTSA0D(adsorbent=Adsorbent.zeolite_13x, number_of_beds=1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.2: Fix Specifications of Feed Stream in TSA Unit\n", + "\n", + "The inlet specifications of the TSA unit are fixed to match the exhaust gas stream (stream 8) of case B31B in the NETL baseline report, which is a exhaust gas stream after 90% carbon capture by means of a solvent-based capture system." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "# fix inlet conditions of tsa unit - baseline case from Joss et al. 2015\n", + "flue_gas = {\n", + " \"flow_mol_comp\": {\n", + " \"H2O\": 0.0,\n", + " \"CO2\": 0.00960 * 0.12,\n", + " \"N2\": 0.00960 * 0.88,\n", + " \"O2\": 0.0,\n", + " },\n", + " \"temperature\": 300.0,\n", + " \"pressure\": 1.0e5,\n", + "}\n", + "for i in m.fs.tsa.component_list:\n", + " m.fs.tsa.inlet.flow_mol_comp[:, i].fix(flue_gas[\"flow_mol_comp\"][i])\n", + "m.fs.tsa.inlet.temperature.fix(flue_gas[\"temperature\"])\n", + "m.fs.tsa.inlet.pressure.fix(flue_gas[\"pressure\"])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.3: Fix DOF of TSA unit\n", + "\n", + "The degrees of freedom of the TSA unit model are: adsorption and desorption temperatures, temperatures of heating and cooling fluids, column diameter, and column height. These variables must be fixed to solve a square problem." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# fix design and operating variables of tsa unit - baseline case from Joss et al. 2015\n", + "m.fs.tsa.temperature_desorption.fix(430)\n", + "m.fs.tsa.temperature_adsorption.fix(310)\n", + "m.fs.tsa.temperature_heating.fix(440)\n", + "m.fs.tsa.temperature_cooling.fix(300)\n", + "m.fs.tsa.bed_diameter.fix(3 / 100)\n", + "m.fs.tsa.bed_height.fix(1.2)\n", + "\n", + "\n", + "# check the degrees of freedom\n", + "DOF = degrees_of_freedom(m)\n", + "print(f\"The DOF of the TSA unit is {DOF}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.4: Scaling Unit Models\n", + "\n", + "Creating well scaled models is important for increasing the efficiency and reliability of solvers. Depending on unit models, variables and constraints are often badly scaled. IDAES unit models contain a method to scale variables and constraints to improve solver convergence. To apply the scaled factors defined in each unit model, we need to call the IDAES method `calculate_scaling_factors` in `idaes.core.util.scaling`." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# scaling factors\n", + "iutil.scaling.calculate_scaling_factors(m.fs.tsa)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.5: Define Solver and Solver Options\n", + "\n", + "We select the solver that we will be using to initialize and solve the flowsheet." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "# define solver options\n", + "solver_options = {\n", + " \"nlp_scaling_method\": \"user-scaling\",\n", + " \"tol\": 1e-6,\n", + "}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.6: Initialization of Unit Models\n", + "\n", + "IDAES includes pre-written initialization routines for all unit models. To initialize the TSA unit model, call the method `m.fs.tsa.initialize()`.\n", + "\n", + "
\n", + "Note: initialize methods in IDAES unit models solve a square problem,\n", + " so the user needs to be sure that the degrees of freedom of the unit being\n", + " initialized are zero.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "# initialize tsa unit\n", + "initializer = FixedBedTSA0DInitializer(\n", + " output_level=idaeslog.INFO, solver_options=solver_options\n", + ")\n", + "initializer.initialize(m.fs.tsa)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 3: Solve the TSA Unit Model\n", + "\n", + "Now, we can simulate the TSA unit model by solving a square problem. For this, we need to set up the solver by using the Pyomo component `SolverFactory`. We will be using the solver and solver options defined during the initialization." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "# set up solver to solve flowsheet\n", + "solver = SolverFactory(\"ipopt\")\n", + "solver.options = solver_options\n", + "\n", + "# solve flowsheet\n", + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "# Check solver solve status\n", + "from pyomo.environ import TerminationCondition\n", + "\n", + "assert results.solver.termination_condition == TerminationCondition.optimal" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 4: Viewing the Simulation Results\n", + "\n", + "We will call some utility methods defined in the TSA unit model to get displayed some key variables." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "# summary tsa\n", + "tsa_summary(m.fs.tsa)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "import pytest\n", + "\n", + "assert value(m.fs.tsa.purity) == pytest.approx(0.90219, abs=1e-5)\n", + "assert value(m.fs.tsa.recovery) == pytest.approx(0.89873, abs=1e-5)\n", + "assert value(m.fs.tsa.specific_energy) == pytest.approx(3.6532, abs=1e-4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 5: Plotting Profiles\n", + "\n", + "Call plots method in the FixedBedTSA0D model to generate profiles of temperature, pressure and $\\mathrm{CO_{2}}$ concentration at the outlet of the column." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "# profiles\n", + "plot_tsa_profiles(m.fs.tsa)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.6" } - ], - "source": [ - "# profiles\n", - "plot_tsa_profiles(m.fs.tsa)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.6" - } - }, - "nbformat": 4, - "nbformat_minor": 3 -} + "nbformat": 4, + "nbformat_minor": 3 +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/flowsheets/temperature_swing_adsorption/temperature_swing_adsorption_usr.ipynb b/idaes_examples/notebooks/docs/flowsheets/temperature_swing_adsorption/temperature_swing_adsorption_usr.ipynb index 31202935..6c0a7e1b 100644 --- a/idaes_examples/notebooks/docs/flowsheets/temperature_swing_adsorption/temperature_swing_adsorption_usr.ipynb +++ b/idaes_examples/notebooks/docs/flowsheets/temperature_swing_adsorption/temperature_swing_adsorption_usr.ipynb @@ -1,613 +1,455 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "# TSA Adsorption Cycle for Carbon Capture\n", - "\n", - "\n", - "Maintainer: Daison Yancy Caballero and Alexander Noring \n", - "Author: Daison Yancy Caballero and Alexander Noring \n", - "Updated: 2023-11-13 \n", - "\n", - "## Learning outcomes\n", - "\n", - "\n", - "- Demonstrate the use of the IDAES fixed bed temperature swing adsorption (TSA) 0D unit model\n", - "- Initialize the IDAES fixed bed TSA 0D unit model\n", - "- Simulate the IDAES fixed bed TSA 0D unit model by solving a square problem\n", - "- Generate and analyze results\n", - "\n", - "\n", - "## Problem Statement\n", - "\n", - "This Jupyter notebook shows the simulation of a fixed bed TSA cycle for carbon capture by using the fixed bed TSA 0D unit model in IDAES. The fixed bed TSA model consists of a 0D equilibrium-based shortcut model composed of four steps a) heating, b) cooling, c) pressurization, and d) adsorption. Note that the equations in the IDAES fixed bed TSA 0D unit model and the input specifications used in this tutorial for the feed stream have been taken from Joss et al. 2015.\n", - "\n", - "\n", - "#### A diagram of the TSA adsorption cycle is given below: \n", - "\n", - "![](tsa_cycle.svg)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Step 1: Import Libraries" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Import Pyomo packages \n", - "\n", - "We will need the following components from the pyomo libraries.\n", - "\n", - "- ConcreteModel (to create the Pyomo model that will contain the IDAES flowsheet)\n", - "- TransformationFactory (to apply certain transformations)\n", - "- SolverFactory (to set up the solver that will solve the problem)\n", - "- Constraint (to write constraints)\n", - "- Var (to declare variables)\n", - "- Objective (to declare an objective function)\n", - "- minimize (to minimize an objective function)\n", - "- value (to return the numerical value of an Pyomo objects such as variables, constraints or expressions)\n", - "- units (to handle units in Pyomo and IDAES)\n", - "- check_optimal_termination (this method returns the solution status from solver)\n", - "\n", - "For further details on these components, please refer to the Pyomo documentation:" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "# python libraries\n", - "import os\n", - "\n", - "# pyomo libraries\n", - "from pyomo.environ import (\n", - " ConcreteModel,\n", - " TransformationFactory,\n", - " SolverFactory,\n", - " Constraint,\n", - " Var,\n", - " Objective,\n", - " minimize,\n", - " value,\n", - " units,\n", - " check_optimal_termination,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Import IDAES core components\n", - "\n", - "To build, initialize, and solve IDAES flowsheets we will need the following core components/utilities:\n", - "\n", - "- FlowsheetBlock (the flowsheet block contains idaes properties, time, and unit models)\n", - "- degrees_of_freedom (useful for debugging, this method returns the DOF of the model)\n", - "- FixedBedTSA0D (fixed bed TSA model unit model)\n", - "- util (some utility functions in IDAES)\n", - "- idaeslog (it's used to set output messages like warnings or errors)\n", - "\n", - "For further details on these components, please refer to the IDAES documentation:" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "# import IDAES core libraries\n", - "from idaes.core import FlowsheetBlock\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "import idaes.core.util as iutil\n", - "import idaes.logger as idaeslog\n", - "\n", - "# import tsa unit model\n", - "from idaes.models_extra.temperature_swing_adsorption import (\n", - " FixedBedTSA0D,\n", - " FixedBedTSA0DInitializer,\n", - " Adsorbent,\n", - ")\n", - "from idaes.models_extra.temperature_swing_adsorption.util import (\n", - " tsa_summary,\n", - " plot_tsa_profiles,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Step 2: Constructing the Flowsheet\n", - "\n", - "First, let's create a ConcreteModel and attach the flowsheet block to it." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "# create concrete model\n", - "m = ConcreteModel()\n", - "\n", - "# create flowsheet\n", - "m.fs = FlowsheetBlock(dynamic=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.1: Adding the TSA Unit Model\n", - "\n", - "Now, we will be adding the fixed bed temperature swing adsorption (TSA) cycle model (assigned a name tsa).\n", - "\n", - "The TSA unit model builds variables, constraints and expressions for a solid sorbent based TSA capture system. This IDAES model can take up to 11 config arguments:\n", - "\n", - "1. `dynamic`: to set up the model as steady state. The IDAES fixed bed TSA 0D\n", - " unit model only supports steady state as the dynamic nature of the adsorption\n", - " cycle is handled in internal blocks for each cycle step of the unit. This\n", - " config argument is used to enable the TSA unit model to connect with other\n", - " IDAES unit models.\n", - "2. `adsorbent`: to set up the adsorbent to be used in the fixed bed TSA system. \n", - " Supported values currently are `Adsorbent.zeolite_13x`, `Adsorbent.mmen_mg_mof_74`, and `Adsorbent.polystyrene_amine`.\n", - "3. `number_of_beds`: to set up the number of beds to be used in the unit model.\n", - " This config argument accepts either an `int` (model assumes a fixed number of beds) or `None` (model calculates the number of beds).\n", - "4. `compressor`: indicates whether a compressor unit should be added to the\n", - " fixed bed TSA system to calculate the energy required to overcome\n", - " the pressure drop in the system. Supported values are `True` and `False`.\n", - "5. `compressor_properties`: indicates a property package to use in the compressor unit model.\n", - "6. `steam_calculation`: indicates whether a method to estimate the steam flow rate\n", - " required in the desorption step should be included. Supported values are: `SteamCalculationType.none`,\n", - " steam calculation method is not included. `SteamCalculationType.simplified`, a surrogate model is used\n", - " to estimate the mass flow rate of steam. `SteamCalculationType.rigorous`, a heater unit model is\n", - " included in the TSA system assuming total saturation.\n", - "7. `steam_properties`: indicates a property package to use for rigorous steam calculations. Currently, only the iapws95 property package is supported.\n", - "8. `transformation_method`: to set up the discretization method to be use for the time\n", - " domain. The discretization method must be a method recognized by the\n", - " Pyomo `TransformationFactory`. Supported values are `dae.finite_difference` and\n", - " `dae.collocation`.\n", - "9. `transformation_scheme`: to set up the scheme to use when discretizing the time domain.\n", - " Supported values are: `TransformationScheme.backward` and `TransformationScheme.forward` for finite difference transformation\n", - " method. `TransformationScheme.lagrangeRadau` for collocation transformation method.\n", - "10. `finite_elements`: to set up the number of finite elements to use when discretizing\n", - " the time domain.\n", - "11. `collocation_points`: to set up the number of collocation points to use per finite element\n", - " when the discretization method is `dae.collocation`.\n", - " \n", - "
\n", - "Note: a default value defined in the IDAES unit class is used for\n", - " a config argument when no value is passed in the time the unit model\n", - " is called.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "# add tsa unit\n", - "m.fs.tsa = FixedBedTSA0D(adsorbent=Adsorbent.zeolite_13x, number_of_beds=1)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.2: Fix Specifications of Feed Stream in TSA Unit\n", - "\n", - "The inlet specifications of the TSA unit are fixed to match the exhaust gas stream (stream 8) of case B31B in the NETL baseline report, which is a exhaust gas stream after 90% carbon capture by means of a solvent-based capture system." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "# fix inlet conditions of tsa unit - baseline case from Joss et al. 2015\n", - "flue_gas = {\n", - " \"flow_mol_comp\": {\n", - " \"H2O\": 0.0,\n", - " \"CO2\": 0.00960 * 0.12,\n", - " \"N2\": 0.00960 * 0.88,\n", - " \"O2\": 0.0,\n", - " },\n", - " \"temperature\": 300.0,\n", - " \"pressure\": 1.0e5,\n", - "}\n", - "for i in m.fs.tsa.component_list:\n", - " m.fs.tsa.inlet.flow_mol_comp[:, i].fix(flue_gas[\"flow_mol_comp\"][i])\n", - "m.fs.tsa.inlet.temperature.fix(flue_gas[\"temperature\"])\n", - "m.fs.tsa.inlet.pressure.fix(flue_gas[\"pressure\"])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.3: Fix DOF of TSA unit\n", - "\n", - "The degrees of freedom of the TSA unit model are: adsorption and desorption temperatures, temperatures of heating and cooling fluids, column diameter, and column height. These variables must be fixed to solve a square problem." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ + "cells": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "The DOF of the TSA unit is 0\n" - ] - } - ], - "source": [ - "# fix design and operating variables of tsa unit - baseline case from Joss et al. 2015\n", - "m.fs.tsa.temperature_desorption.fix(430)\n", - "m.fs.tsa.temperature_adsorption.fix(310)\n", - "m.fs.tsa.temperature_heating.fix(440)\n", - "m.fs.tsa.temperature_cooling.fix(300)\n", - "m.fs.tsa.bed_diameter.fix(3 / 100)\n", - "m.fs.tsa.bed_height.fix(1.2)\n", - "\n", - "\n", - "# check the degrees of freedom\n", - "DOF = degrees_of_freedom(m)\n", - "print(f\"The DOF of the TSA unit is {DOF}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.4: Scaling Unit Models\n", - "\n", - "Creating well scaled models is important for increasing the efficiency and reliability of solvers. Depending on unit models, variables and constraints are often badly scaled. IDAES unit models contain a method to scale variables and constraints to improve solver convergence. To apply the scaled factors defined in each unit model, we need to call the IDAES method `calculate_scaling_factors` in `idaes.core.util.scaling`." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "# scaling factors\n", - "iutil.scaling.calculate_scaling_factors(m.fs.tsa)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.5: Define Solver and Solver Options\n", - "\n", - "We select the solver that we will be using to initialize and solve the flowsheet." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "# define solver options\n", - "solver_options = {\n", - " \"nlp_scaling_method\": \"user-scaling\",\n", - " \"tol\": 1e-6,\n", - "}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.6: Initialization of Unit Models\n", - "\n", - "IDAES includes pre-written initialization routines for all unit models. To initialize the TSA unit model, call the method `m.fs.tsa.initialize()`.\n", - "\n", - "
\n", - "Note: initialize methods in IDAES unit models solve a square problem,\n", - " so the user needs to be sure that the degrees of freedom of the unit being\n", - " initialized are zero.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-10-26 15:28:28 [INFO] idaes.init.fs.tsa: Starting fixed bed TSA initialization\n", - "2023-10-26 15:28:45 [INFO] idaes.init.fs.tsa.heating: Starting initialization of heating step.\n", - "2023-10-26 15:28:47 [INFO] idaes.init.fs.tsa.heating: Initialization of heating step completed optimal - Optimal Solution Found.\n", - "2023-10-26 15:29:01 [INFO] idaes.init.fs.tsa.cooling: Starting initialization of cooling step.\n", - "2023-10-26 15:29:03 [INFO] idaes.init.fs.tsa.cooling: Initialization of cooling step completed optimal - Optimal Solution Found.\n", - "2023-10-26 15:29:03 [INFO] idaes.init.fs.tsa.pressurization: Starting initialization of pressurization step.\n", - "2023-10-26 15:29:03 [INFO] idaes.init.fs.tsa.pressurization: Initialization of pressurization step completed optimal - Optimal Solution Found.\n", - "2023-10-26 15:29:03 [INFO] idaes.init.fs.tsa.adsorption: Starting initialization of adsorption step.\n", - "2023-10-26 15:29:04 [INFO] idaes.init.fs.tsa.adsorption: Initialization of adsorption step completed optimal - Optimal Solution Found.\n", - "2023-10-26 15:29:13 [INFO] idaes.init.fs.tsa: Initialization of fixed bed TSA model completed optimal - Optimal Solution Found.\n" - ] - } - ], - "source": [ - "# initialize tsa unit\n", - "initializer = FixedBedTSA0DInitializer(\n", - " output_level=idaeslog.INFO, solver_options=solver_options\n", - ")\n", - "initializer.initialize(m.fs.tsa)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Step 3: Solve the TSA Unit Model\n", - "\n", - "Now, we can simulate the TSA unit model by solving a square problem. For this, we need to set up the solver by using the Pyomo component `SolverFactory`. We will be using the solver and solver options defined during the initialization." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "# TSA Adsorption Cycle for Carbon Capture\n", + "\n", + "\n", + "Maintainer: Daison Yancy Caballero and Alexander Noring \n", + "Author: Daison Yancy Caballero and Alexander Noring \n", + "Updated: 2023-11-13 \n", + "\n", + "## Learning outcomes\n", + "\n", + "\n", + "- Demonstrate the use of the IDAES fixed bed temperature swing adsorption (TSA) 0D unit model\n", + "- Initialize the IDAES fixed bed TSA 0D unit model\n", + "- Simulate the IDAES fixed bed TSA 0D unit model by solving a square problem\n", + "- Generate and analyze results\n", + "\n", + "\n", + "## Problem Statement\n", + "\n", + "This Jupyter notebook shows the simulation of a fixed bed TSA cycle for carbon capture by using the fixed bed TSA 0D unit model in IDAES. The fixed bed TSA model consists of a 0D equilibrium-based shortcut model composed of four steps a) heating, b) cooling, c) pressurization, and d) adsorption. Note that the equations in the IDAES fixed bed TSA 0D unit model and the input specifications used in this tutorial for the feed stream have been taken from Joss et al. 2015.\n", + "\n", + "\n", + "#### A diagram of the TSA adsorption cycle is given below: \n", + "\n", + "![](tsa_cycle.svg)\n" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.tsa.cooling.scaling_factor' that\n", - "contains 4 component keys that are not exported as part of the NL file.\n", - "Skipping.\n", - "WARNING: model contains export suffix 'fs.tsa.heating.scaling_factor' that\n", - "contains 2 component keys that are not exported as part of the NL file.\n", - "Skipping.\n", - "WARNING: model contains export suffix 'fs.tsa.scaling_factor' that contains 12\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "Ipopt 3.13.2: nlp_scaling_method=user-scaling\n", - "tol=1e-06\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 19132\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 70375\n", - "\n", - "Total number of variables............................: 2815\n", - " variables with only lower bounds: 5\n", - " variables with lower and upper bounds: 605\n", - " variables with only upper bounds: 1\n", - "Total number of equality constraints.................: 2815\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 3.63e+01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 1.06e+00 3.00e+03 -1.0 4.96e+00 - 9.90e-01 9.90e-01h 1\n", - " 2 0.0000000e+00 4.90e-03 4.83e+03 -1.0 4.91e+00 - 9.90e-01 9.96e-01h 1\n", - " 3 0.0000000e+00 2.44e-07 4.53e+00 -1.0 2.25e-02 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 1.0710209608078003e-07 2.4400780240796394e-07\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 1.0710209608078003e-07 2.4400780240796394e-07\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 3.208\n", - "Total CPU secs in NLP function evaluations = 0.089\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], - "source": [ - "# set up solver to solve flowsheet\n", - "solver = SolverFactory(\"ipopt\")\n", - "solver.options = solver_options\n", - "\n", - "# solve flowsheet\n", - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Step 4: Viewing the Simulation Results\n", - "\n", - "We will call some utility methods defined in the TSA unit model to get displayed some key variables." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Step 1: Import Libraries" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Summary - tsa\n", - "------------------------------------------------------------------------------------ Value \n", - " Adsorption temperature [K] 310.00\n", - " Desorption temperature [K] 430.00\n", - " Heating temperature [K] 440.00\n", - " Cooling temperature [K] 300.00\n", - " Column diameter [m] 0.030000\n", - " Column length [m] 1.2000\n", - " Column volume [m3] 0.00084823\n", - " CO2 mole fraction at feed [%] 12.000\n", - " Feed flow rate [mol/s] 0.0096000\n", - " Feed velocity [m/s] 0.50008\n", - " Minimum fluidization velocity [m/s] 1.5207\n", - " Time of heating step [h] 0.37030\n", - " Time of cooling step [h] 0.20826\n", - " Time of pressurization step [h] 0.0051098\n", - " Time of adsorption step [h] 0.25221\n", - " Cycle time [h] 0.83588\n", - " Purity [-] 0.90219\n", - " Recovery [-] 0.89873\n", - " Productivity [kg CO2/ton/h] 84.085\n", - " Specific energy [MJ/kg CO2] 3.6532\n", - " Heat duty per bed [MW] 5.1244e-05\n", - " Heat duty total [MW] 0.00016646\n", - " Pressure drop [Pa] 5263.6\n", - " Number of beds 3.2484\n", - " CO2 captured in one cycle per bed [kg/cycle] 0.042210\n", - " Cycles per year 10480.\n", - " Total CO2 captured per year [tonne/year] 1.4369\n", - " Amount of flue gas processed per year [Gmol/year] 0.00030275\n", - " Amount of flue gas processed per year (target) [Gmol/year] 0.00030275\n", - " Amount of CO2 to atmosphere [mol/s] 0.00011667\n", - " Concentration of CO2 emitted to atmosphere [ppm] 13803.\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "# summary tsa\n", - "tsa_summary(m.fs.tsa)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Step 5: Plotting Profiles\n", - "\n", - "Call plots method in the FixedBedTSA0D model to generate profiles of temperature, pressure and $\\mathrm{CO_{2}}$ concentration at the outlet of the column." - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Import Pyomo packages \n", + "\n", + "We will need the following components from the pyomo libraries.\n", + "\n", + "- ConcreteModel (to create the Pyomo model that will contain the IDAES flowsheet)\n", + "- TransformationFactory (to apply certain transformations)\n", + "- SolverFactory (to set up the solver that will solve the problem)\n", + "- Constraint (to write constraints)\n", + "- Var (to declare variables)\n", + "- Objective (to declare an objective function)\n", + "- minimize (to minimize an objective function)\n", + "- value (to return the numerical value of an Pyomo objects such as variables, constraints or expressions)\n", + "- units (to handle units in Pyomo and IDAES)\n", + "- check_optimal_termination (this method returns the solution status from solver)\n", + "\n", + "For further details on these components, please refer to the Pyomo documentation:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# python libraries\n", + "import os\n", + "\n", + "# pyomo libraries\n", + "from pyomo.environ import (\n", + " ConcreteModel,\n", + " TransformationFactory,\n", + " SolverFactory,\n", + " Constraint,\n", + " Var,\n", + " Objective,\n", + " minimize,\n", + " value,\n", + " units,\n", + " check_optimal_termination,\n", + ")" + ] + }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Import IDAES core components\n", + "\n", + "To build, initialize, and solve IDAES flowsheets we will need the following core components/utilities:\n", + "\n", + "- FlowsheetBlock (the flowsheet block contains idaes properties, time, and unit models)\n", + "- degrees_of_freedom (useful for debugging, this method returns the DOF of the model)\n", + "- FixedBedTSA0D (fixed bed TSA model unit model)\n", + "- util (some utility functions in IDAES)\n", + "- idaeslog (it's used to set output messages like warnings or errors)\n", + "\n", + "For further details on these components, please refer to the IDAES documentation:" ] - }, - "metadata": {}, - "output_type": "display_data" + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# import IDAES core libraries\n", + "from idaes.core import FlowsheetBlock\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "import idaes.core.util as iutil\n", + "import idaes.logger as idaeslog\n", + "\n", + "# import tsa unit model\n", + "from idaes.models_extra.temperature_swing_adsorption import (\n", + " FixedBedTSA0D,\n", + " FixedBedTSA0DInitializer,\n", + " Adsorbent,\n", + ")\n", + "from idaes.models_extra.temperature_swing_adsorption.util import (\n", + " tsa_summary,\n", + " plot_tsa_profiles,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 2: Constructing the Flowsheet\n", + "\n", + "First, let's create a ConcreteModel and attach the flowsheet block to it." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# create concrete model\n", + "m = ConcreteModel()\n", + "\n", + "# create flowsheet\n", + "m.fs = FlowsheetBlock(dynamic=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.1: Adding the TSA Unit Model\n", + "\n", + "Now, we will be adding the fixed bed temperature swing adsorption (TSA) cycle model (assigned a name tsa).\n", + "\n", + "The TSA unit model builds variables, constraints and expressions for a solid sorbent based TSA capture system. This IDAES model can take up to 11 config arguments:\n", + "\n", + "1. `dynamic`: to set up the model as steady state. The IDAES fixed bed TSA 0D\n", + " unit model only supports steady state as the dynamic nature of the adsorption\n", + " cycle is handled in internal blocks for each cycle step of the unit. This\n", + " config argument is used to enable the TSA unit model to connect with other\n", + " IDAES unit models.\n", + "2. `adsorbent`: to set up the adsorbent to be used in the fixed bed TSA system. \n", + " Supported values currently are `Adsorbent.zeolite_13x`, `Adsorbent.mmen_mg_mof_74`, and `Adsorbent.polystyrene_amine`.\n", + "3. `number_of_beds`: to set up the number of beds to be used in the unit model.\n", + " This config argument accepts either an `int` (model assumes a fixed number of beds) or `None` (model calculates the number of beds).\n", + "4. `compressor`: indicates whether a compressor unit should be added to the\n", + " fixed bed TSA system to calculate the energy required to overcome\n", + " the pressure drop in the system. Supported values are `True` and `False`.\n", + "5. `compressor_properties`: indicates a property package to use in the compressor unit model.\n", + "6. `steam_calculation`: indicates whether a method to estimate the steam flow rate\n", + " required in the desorption step should be included. Supported values are: `SteamCalculationType.none`,\n", + " steam calculation method is not included. `SteamCalculationType.simplified`, a surrogate model is used\n", + " to estimate the mass flow rate of steam. `SteamCalculationType.rigorous`, a heater unit model is\n", + " included in the TSA system assuming total saturation.\n", + "7. `steam_properties`: indicates a property package to use for rigorous steam calculations. Currently, only the iapws95 property package is supported.\n", + "8. `transformation_method`: to set up the discretization method to be use for the time\n", + " domain. The discretization method must be a method recognized by the\n", + " Pyomo `TransformationFactory`. Supported values are `dae.finite_difference` and\n", + " `dae.collocation`.\n", + "9. `transformation_scheme`: to set up the scheme to use when discretizing the time domain.\n", + " Supported values are: `TransformationScheme.backward` and `TransformationScheme.forward` for finite difference transformation\n", + " method. `TransformationScheme.lagrangeRadau` for collocation transformation method.\n", + "10. `finite_elements`: to set up the number of finite elements to use when discretizing\n", + " the time domain.\n", + "11. `collocation_points`: to set up the number of collocation points to use per finite element\n", + " when the discretization method is `dae.collocation`.\n", + " \n", + "
\n", + "Note: a default value defined in the IDAES unit class is used for\n", + " a config argument when no value is passed in the time the unit model\n", + " is called.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# add tsa unit\n", + "m.fs.tsa = FixedBedTSA0D(adsorbent=Adsorbent.zeolite_13x, number_of_beds=1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.2: Fix Specifications of Feed Stream in TSA Unit\n", + "\n", + "The inlet specifications of the TSA unit are fixed to match the exhaust gas stream (stream 8) of case B31B in the NETL baseline report, which is a exhaust gas stream after 90% carbon capture by means of a solvent-based capture system." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "# fix inlet conditions of tsa unit - baseline case from Joss et al. 2015\n", + "flue_gas = {\n", + " \"flow_mol_comp\": {\n", + " \"H2O\": 0.0,\n", + " \"CO2\": 0.00960 * 0.12,\n", + " \"N2\": 0.00960 * 0.88,\n", + " \"O2\": 0.0,\n", + " },\n", + " \"temperature\": 300.0,\n", + " \"pressure\": 1.0e5,\n", + "}\n", + "for i in m.fs.tsa.component_list:\n", + " m.fs.tsa.inlet.flow_mol_comp[:, i].fix(flue_gas[\"flow_mol_comp\"][i])\n", + "m.fs.tsa.inlet.temperature.fix(flue_gas[\"temperature\"])\n", + "m.fs.tsa.inlet.pressure.fix(flue_gas[\"pressure\"])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.3: Fix DOF of TSA unit\n", + "\n", + "The degrees of freedom of the TSA unit model are: adsorption and desorption temperatures, temperatures of heating and cooling fluids, column diameter, and column height. These variables must be fixed to solve a square problem." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# fix design and operating variables of tsa unit - baseline case from Joss et al. 2015\n", + "m.fs.tsa.temperature_desorption.fix(430)\n", + "m.fs.tsa.temperature_adsorption.fix(310)\n", + "m.fs.tsa.temperature_heating.fix(440)\n", + "m.fs.tsa.temperature_cooling.fix(300)\n", + "m.fs.tsa.bed_diameter.fix(3 / 100)\n", + "m.fs.tsa.bed_height.fix(1.2)\n", + "\n", + "\n", + "# check the degrees of freedom\n", + "DOF = degrees_of_freedom(m)\n", + "print(f\"The DOF of the TSA unit is {DOF}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.4: Scaling Unit Models\n", + "\n", + "Creating well scaled models is important for increasing the efficiency and reliability of solvers. Depending on unit models, variables and constraints are often badly scaled. IDAES unit models contain a method to scale variables and constraints to improve solver convergence. To apply the scaled factors defined in each unit model, we need to call the IDAES method `calculate_scaling_factors` in `idaes.core.util.scaling`." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# scaling factors\n", + "iutil.scaling.calculate_scaling_factors(m.fs.tsa)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.5: Define Solver and Solver Options\n", + "\n", + "We select the solver that we will be using to initialize and solve the flowsheet." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "# define solver options\n", + "solver_options = {\n", + " \"nlp_scaling_method\": \"user-scaling\",\n", + " \"tol\": 1e-6,\n", + "}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.6: Initialization of Unit Models\n", + "\n", + "IDAES includes pre-written initialization routines for all unit models. To initialize the TSA unit model, call the method `m.fs.tsa.initialize()`.\n", + "\n", + "
\n", + "Note: initialize methods in IDAES unit models solve a square problem,\n", + " so the user needs to be sure that the degrees of freedom of the unit being\n", + " initialized are zero.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "# initialize tsa unit\n", + "initializer = FixedBedTSA0DInitializer(\n", + " output_level=idaeslog.INFO, solver_options=solver_options\n", + ")\n", + "initializer.initialize(m.fs.tsa)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 3: Solve the TSA Unit Model\n", + "\n", + "Now, we can simulate the TSA unit model by solving a square problem. For this, we need to set up the solver by using the Pyomo component `SolverFactory`. We will be using the solver and solver options defined during the initialization." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "# set up solver to solve flowsheet\n", + "solver = SolverFactory(\"ipopt\")\n", + "solver.options = solver_options\n", + "\n", + "# solve flowsheet\n", + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 4: Viewing the Simulation Results\n", + "\n", + "We will call some utility methods defined in the TSA unit model to get displayed some key variables." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "# summary tsa\n", + "tsa_summary(m.fs.tsa)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 5: Plotting Profiles\n", + "\n", + "Call plots method in the FixedBedTSA0D model to generate profiles of temperature, pressure and $\\mathrm{CO_{2}}$ concentration at the outlet of the column." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "# profiles\n", + "plot_tsa_profiles(m.fs.tsa)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.6" } - ], - "source": [ - "# profiles\n", - "plot_tsa_profiles(m.fs.tsa)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.6" - } - }, - "nbformat": 4, - "nbformat_minor": 3 -} + "nbformat": 4, + "nbformat_minor": 3 +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_state_block.ipynb b/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_state_block.ipynb index a9b7b17b..d926bdd0 100644 --- a/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_state_block.ipynb +++ b/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_state_block.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_state_block_doc.ipynb b/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_state_block_doc.ipynb index 863667af..bf2df584 100644 --- a/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_state_block_doc.ipynb +++ b/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_state_block_doc.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -60,7 +61,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": { "tags": [ "solution" @@ -84,7 +85,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": { "tags": [] }, @@ -105,7 +106,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": { "tags": [] }, @@ -136,7 +137,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": { "tags": [ "solution" @@ -187,7 +188,13 @@ " m.fs.state_block.initialize(outlvl=idaeslog.INFO_LOW)\n", "\n", " # Fix at actual temperature\n", - " m.fs.state_block.temperature.fix(float(data[\"temperature\"]))\n", + " # Fix at actual temperature\n", + " if isinstance(data, dict) or isinstance(data, pd.Series):\n", + " m.fs.state_block.temperature.fix(float(data[\"temperature\"]))\n", + " elif isinstance(data, pd.DataFrame):\n", + " m.fs.state_block.temperature.fix(float(data.iloc[0][\"temperature\"]))\n", + " else:\n", + " raise ValueError(\"Unrecognized data type.\")\n", "\n", " # Set bounds on variables to be estimated\n", " m.fs.properties.tau[\"benzene\", \"toluene\"].setlb(-5)\n", @@ -235,7 +242,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": { "tags": [ "solution" @@ -266,400 +273,11 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": { "tags": [] }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
temperatureliq_benzenevap_benzene
0365.5000000.4809530.692110
1365.6176470.4624440.667699
2365.7352940.4779840.692441
3365.8529410.4405470.640336
4365.9705880.4274210.623328
5366.0882350.4427250.647796
6366.2058820.4343740.637691
7366.3235290.4446420.654933
8366.4411760.4271320.631229
9366.5588240.4463010.661743
10366.6764710.4380040.651591
11366.7941180.4253200.634814
12366.9117650.4394350.658047
13367.0294120.4356550.654539
14367.1470590.4013500.604987
15367.2647060.3978620.601703
16367.3823530.4158210.630930
17367.5000000.4206670.640380
18367.6176470.3916830.598214
19367.7352940.4049030.620432
20367.8529410.4095630.629626
21367.9705880.3894880.600722
22368.0000000.3967890.612483
23368.0882350.3981620.616106
24368.2058820.3623400.562505
25368.3235290.3869580.602680
26368.4411760.3636430.568210
27368.5588240.3681180.577072
28368.6764710.3840980.604078
29368.7941180.3536050.557925
30368.9117650.3464740.548445
31369.0294120.3507410.556996
32369.1470590.3623470.577286
33369.2647060.3625780.579519
34369.3823530.3407650.546411
35369.5000000.3374620.542857
36369.6176470.3557290.574083
37369.7352940.3486790.564513
38369.8529410.3381870.549284
39369.9705880.3243600.528514
40370.0882350.3107530.507964
41370.2058820.3110370.510055
42370.3235290.3112630.512055
43370.4411760.3080810.508437
44370.5588240.3082240.510293
45370.6764710.3181480.528399
46370.7941180.3083340.513728
47370.9117650.3179370.531410
48371.0294120.2891490.484824
49371.1470590.2986370.502318
\n", - "
" - ], - "text/plain": [ - " temperature liq_benzene vap_benzene\n", - "0 365.500000 0.480953 0.692110\n", - "1 365.617647 0.462444 0.667699\n", - "2 365.735294 0.477984 0.692441\n", - "3 365.852941 0.440547 0.640336\n", - "4 365.970588 0.427421 0.623328\n", - "5 366.088235 0.442725 0.647796\n", - "6 366.205882 0.434374 0.637691\n", - "7 366.323529 0.444642 0.654933\n", - "8 366.441176 0.427132 0.631229\n", - "9 366.558824 0.446301 0.661743\n", - "10 366.676471 0.438004 0.651591\n", - "11 366.794118 0.425320 0.634814\n", - "12 366.911765 0.439435 0.658047\n", - "13 367.029412 0.435655 0.654539\n", - "14 367.147059 0.401350 0.604987\n", - "15 367.264706 0.397862 0.601703\n", - "16 367.382353 0.415821 0.630930\n", - "17 367.500000 0.420667 0.640380\n", - "18 367.617647 0.391683 0.598214\n", - "19 367.735294 0.404903 0.620432\n", - "20 367.852941 0.409563 0.629626\n", - "21 367.970588 0.389488 0.600722\n", - "22 368.000000 0.396789 0.612483\n", - "23 368.088235 0.398162 0.616106\n", - "24 368.205882 0.362340 0.562505\n", - "25 368.323529 0.386958 0.602680\n", - "26 368.441176 0.363643 0.568210\n", - "27 368.558824 0.368118 0.577072\n", - "28 368.676471 0.384098 0.604078\n", - "29 368.794118 0.353605 0.557925\n", - "30 368.911765 0.346474 0.548445\n", - "31 369.029412 0.350741 0.556996\n", - "32 369.147059 0.362347 0.577286\n", - "33 369.264706 0.362578 0.579519\n", - "34 369.382353 0.340765 0.546411\n", - "35 369.500000 0.337462 0.542857\n", - "36 369.617647 0.355729 0.574083\n", - "37 369.735294 0.348679 0.564513\n", - "38 369.852941 0.338187 0.549284\n", - "39 369.970588 0.324360 0.528514\n", - "40 370.088235 0.310753 0.507964\n", - "41 370.205882 0.311037 0.510055\n", - "42 370.323529 0.311263 0.512055\n", - "43 370.441176 0.308081 0.508437\n", - "44 370.558824 0.308224 0.510293\n", - "45 370.676471 0.318148 0.528399\n", - "46 370.794118 0.308334 0.513728\n", - "47 370.911765 0.317937 0.531410\n", - "48 371.029412 0.289149 0.484824\n", - "49 371.147059 0.298637 0.502318" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# Load data from csv\n", "data = pd.read_csv(\"BT_NRTL_dataset.csv\")\n", @@ -682,7 +300,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": { "tags": [ "solution" @@ -696,10 +314,10 @@ " # and vapor phase. For example, the squared error for the vapor phase is:\n", " # (float(data[\"vap_benzene\"]) - m.fs.state_block.mole_frac_phase_comp[\"Vap\", \"benzene\"])**2\n", " expr = (\n", - " float(data[\"vap_benzene\"])\n", + " float(data.iloc[0][\"vap_benzene\"])\n", " - m.fs.state_block.mole_frac_phase_comp[\"Vap\", \"benzene\"]\n", " ) ** 2 + (\n", - " float(data[\"liq_benzene\"])\n", + " float(data.iloc[0][\"liq_benzene\"])\n", " - m.fs.state_block.mole_frac_phase_comp[\"Liq\", \"benzene\"]\n", " ) ** 2\n", " return expr * 1e4" @@ -724,101 +342,9 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\dkgun\\AppData\\Local\\Temp\\ipykernel_11124\\1110609025.py:44: FutureWarning: Calling float on a single element Series is deprecated and will raise a TypeError in the future. Use float(ser.iloc[0]) instead\n", - " m.fs.state_block.temperature.fix(float(data[\"temperature\"]))\n", - "C:\\Users\\dkgun\\AppData\\Local\\Temp\\ipykernel_11124\\426137296.py:7: FutureWarning: Calling float on a single element Series is deprecated and will raise a TypeError in the future. Use float(ser.iloc[0]) instead\n", - " float(data[\"vap_benzene\"])\n", - "C:\\Users\\dkgun\\AppData\\Local\\Temp\\ipykernel_11124\\426137296.py:10: FutureWarning: Calling float on a single element Series is deprecated and will raise a TypeError in the future. Use float(ser.iloc[0]) instead\n", - " float(data[\"liq_benzene\"])\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 3746\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 2200\n", - "\n", - "Total number of variables............................: 1100\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 300\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 1098\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 6.0671019e+01 3.15e+00 4.84e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 5.2961050e+00 1.76e+03 5.05e+00 -1.0 1.37e+04 - 9.74e-01 1.00e+00f 1\n", - " 2 5.2586169e+00 4.01e+02 1.09e+00 -1.0 5.15e+02 - 1.00e+00 1.00e+00h 1\n", - " 3 5.1450958e+00 7.04e+01 2.27e-01 -1.0 4.11e+01 - 1.00e+00 1.00e+00h 1\n", - " 4 5.0748980e+00 1.25e+02 2.08e-01 -1.7 5.74e+02 - 1.00e+00 1.00e+00h 1\n", - " 5 5.0775194e+00 7.87e+00 1.92e-01 -1.7 8.44e+01 - 1.00e+00 1.00e+00h 1\n", - " 6 5.0726692e+00 1.37e+01 1.90e-01 -2.5 1.38e+02 - 1.00e+00 1.00e+00h 1\n", - " 7 5.0750377e+00 2.85e+00 2.60e-02 -2.5 6.99e+01 - 1.00e+00 1.00e+00h 1\n", - " 8 5.0749670e+00 7.36e-02 2.81e-03 -3.8 9.72e+00 - 1.00e+00 1.00e+00h 1\n", - " 9 5.0749687e+00 4.51e-04 4.80e-06 -3.8 1.01e+00 - 1.00e+00 1.00e+00h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 5.0749686e+00 2.91e-04 1.36e-06 -5.7 5.81e-01 - 1.00e+00 1.00e+00h 1\n", - " 11 5.0749686e+00 4.78e-08 2.18e-10 -8.6 7.65e-03 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 11\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 5.0749685783046434e+00 5.0749685783046434e+00\n", - "Dual infeasibility......: 2.1827409324437497e-10 2.1827409324437497e-10\n", - "Constraint violation....: 1.6625508263665860e-10 4.7832145355641842e-08\n", - "Complementarity.........: 2.5076274461651402e-09 2.5076274461651402e-09\n", - "Overall NLP error.......: 2.5076274461651402e-09 4.7832145355641842e-08\n", - "\n", - "\n", - "Number of objective function evaluations = 12\n", - "Number of objective gradient evaluations = 12\n", - "Number of equality constraint evaluations = 12\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 12\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 11\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n", - "Total CPU secs in NLP function evaluations = 0.010\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\b\b\b\b\b\b\b\b\b\b\b\b\b\b" - ] - } - ], + "outputs": [], "source": [ "import logging\n", "\n", @@ -839,21 +365,9 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The SSE at the optimal solution is 0.000507\n", - "\n", - "The values for the parameters are as follows:\n", - "fs.properties.tau[benzene,toluene] = -0.8987624036283798\n", - "fs.properties.tau[toluene,benzene] = 1.4104861099366137\n" - ] - } - ], + "outputs": [], "source": [ "print(\"The SSE at the optimal solution is %0.6f\" % (obj_value * 1e-4))\n", "print()\n", @@ -888,7 +402,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -918,7 +432,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.8.19" } }, "nbformat": 4, diff --git a/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_state_block_exercise.ipynb b/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_state_block_exercise.ipynb index 23756bea..aeceadc8 100644 --- a/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_state_block_exercise.ipynb +++ b/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_state_block_exercise.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -45,8 +46,7 @@ "\n", "## Key links to documentation:\n", "* NRTL Model - https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/generic/property_models/activity_coefficient.html\n", - "* parmest - https://pyomo.readthedocs.io/en/stable/contributed_packages/parmest/index.html\n", - "" + "* parmest - https://pyomo.readthedocs.io/en/stable/contributed_packages/parmest/index.html\n" ] }, { @@ -61,7 +61,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": { "tags": [ "exercise" @@ -83,7 +83,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "metadata": { "tags": [] }, @@ -104,7 +104,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "metadata": { "tags": [] }, @@ -135,7 +135,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "metadata": { "tags": [ "exercise" @@ -181,7 +181,12 @@ " m.fs.state_block.initialize(outlvl=idaeslog.INFO)\n", "\n", " # Fix at actual temperature\n", - " m.fs.state_block.temperature.fix(float(data[\"temperature\"]))\n", + " if isinstance(data, dict) or isinstance(data, pd.Series):\n", + " m.fs.state_block.temperature.fix(float(data[\"temperature\"]))\n", + " elif isinstance(data, pd.DataFrame):\n", + " m.fs.state_block.temperature.fix(float(data.iloc[0][\"temperature\"]))\n", + " else:\n", + " raise ValueError(\"Unrecognized data type.\")\n", "\n", " # Set bounds on variables to be estimated\n", " m.fs.properties.tau[\"benzene\", \"toluene\"].setlb(-5)\n", @@ -229,7 +234,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "metadata": { "tags": [ "exercise" @@ -256,7 +261,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "metadata": { "tags": [] }, @@ -409,7 +414,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.9" + "version": "3.8.19" } }, "nbformat": 4, diff --git a/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_state_block_solution.ipynb b/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_state_block_solution.ipynb index 5bdce840..fbd229e0 100644 --- a/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_state_block_solution.ipynb +++ b/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_state_block_solution.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -45,8 +46,7 @@ "\n", "## Key links to documentation:\n", "* NRTL Model - https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/generic/property_models/activity_coefficient.html\n", - "* parmest - https://pyomo.readthedocs.io/en/stable/contributed_packages/parmest/index.html\n", - "" + "* parmest - https://pyomo.readthedocs.io/en/stable/contributed_packages/parmest/index.html\n" ] }, { @@ -61,7 +61,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": { "tags": [ "exercise" @@ -76,7 +76,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "metadata": { "tags": [ "solution" @@ -100,7 +100,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "metadata": { "tags": [] }, @@ -121,7 +121,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "metadata": { "tags": [] }, @@ -152,7 +152,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "metadata": { "tags": [ "exercise" @@ -198,7 +198,12 @@ " m.fs.state_block.initialize(outlvl=idaeslog.INFO)\n", "\n", " # Fix at actual temperature\n", - " m.fs.state_block.temperature.fix(float(data[\"temperature\"]))\n", + " if isinstance(data, dict) or isinstance(data, pd.Series):\n", + " m.fs.state_block.temperature.fix(float(data[\"temperature\"]))\n", + " elif isinstance(data, pd.DataFrame):\n", + " m.fs.state_block.temperature.fix(float(data.iloc[0][\"temperature\"]))\n", + " else:\n", + " raise ValueError(\"Unrecognized data type.\")\n", "\n", " # Set bounds on variables to be estimated\n", " m.fs.properties.tau[\"benzene\", \"toluene\"].setlb(-5)\n", @@ -213,7 +218,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "metadata": { "tags": [ "solution" @@ -264,7 +269,13 @@ " m.fs.state_block.initialize(outlvl=idaeslog.INFO_LOW)\n", "\n", " # Fix at actual temperature\n", - " m.fs.state_block.temperature.fix(float(data[\"temperature\"]))\n", + " # Fix at actual temperature\n", + " if isinstance(data, dict) or isinstance(data, pd.Series):\n", + " m.fs.state_block.temperature.fix(float(data[\"temperature\"]))\n", + " elif isinstance(data, pd.DataFrame):\n", + " m.fs.state_block.temperature.fix(float(data.iloc[0][\"temperature\"]))\n", + " else:\n", + " raise ValueError(\"Unrecognized data type.\")\n", "\n", " # Set bounds on variables to be estimated\n", " m.fs.properties.tau[\"benzene\", \"toluene\"].setlb(-5)\n", @@ -312,7 +323,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "metadata": { "tags": [ "exercise" @@ -325,7 +336,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "metadata": { "tags": [ "solution" @@ -356,7 +367,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "metadata": { "tags": [] }, @@ -416,10 +427,10 @@ " # and vapor phase. For example, the squared error for the vapor phase is:\n", " # (float(data[\"vap_benzene\"]) - m.fs.state_block.mole_frac_phase_comp[\"Vap\", \"benzene\"])**2\n", " expr = (\n", - " float(data[\"vap_benzene\"])\n", + " float(data.iloc[0][\"vap_benzene\"])\n", " - m.fs.state_block.mole_frac_phase_comp[\"Vap\", \"benzene\"]\n", " ) ** 2 + (\n", - " float(data[\"liq_benzene\"])\n", + " float(data.iloc[0][\"liq_benzene\"])\n", " - m.fs.state_block.mole_frac_phase_comp[\"Liq\", \"benzene\"]\n", " ) ** 2\n", " return expr * 1e4" @@ -534,7 +545,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.9" + "version": "3.8.19" } }, "nbformat": 4, diff --git a/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_state_block_test.ipynb b/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_state_block_test.ipynb index 7d253335..a50246f4 100644 --- a/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_state_block_test.ipynb +++ b/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_state_block_test.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -45,8 +46,7 @@ "\n", "## Key links to documentation:\n", "* NRTL Model - https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/generic/property_models/activity_coefficient.html\n", - "* parmest - https://pyomo.readthedocs.io/en/stable/contributed_packages/parmest/index.html\n", - "" + "* parmest - https://pyomo.readthedocs.io/en/stable/contributed_packages/parmest/index.html\n" ] }, { @@ -61,7 +61,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "metadata": { "tags": [ "solution" @@ -85,7 +85,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "metadata": { "tags": [] }, @@ -106,7 +106,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "metadata": { "tags": [] }, @@ -137,7 +137,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "metadata": { "tags": [ "solution" @@ -188,7 +188,13 @@ " m.fs.state_block.initialize(outlvl=idaeslog.INFO_LOW)\n", "\n", " # Fix at actual temperature\n", - " m.fs.state_block.temperature.fix(float(data[\"temperature\"]))\n", + " # Fix at actual temperature\n", + " if isinstance(data, dict) or isinstance(data, pd.Series):\n", + " m.fs.state_block.temperature.fix(float(data[\"temperature\"]))\n", + " elif isinstance(data, pd.DataFrame):\n", + " m.fs.state_block.temperature.fix(float(data.iloc[0][\"temperature\"]))\n", + " else:\n", + " raise ValueError(\"Unrecognized data type.\")\n", "\n", " # Set bounds on variables to be estimated\n", " m.fs.properties.tau[\"benzene\", \"toluene\"].setlb(-5)\n", @@ -203,7 +209,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "metadata": { "tags": [ "testing" @@ -273,7 +279,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "metadata": { "tags": [ "solution" @@ -304,7 +310,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "metadata": { "tags": [] }, @@ -345,10 +351,10 @@ " # and vapor phase. For example, the squared error for the vapor phase is:\n", " # (float(data[\"vap_benzene\"]) - m.fs.state_block.mole_frac_phase_comp[\"Vap\", \"benzene\"])**2\n", " expr = (\n", - " float(data[\"vap_benzene\"])\n", + " float(data.iloc[0][\"vap_benzene\"])\n", " - m.fs.state_block.mole_frac_phase_comp[\"Vap\", \"benzene\"]\n", " ) ** 2 + (\n", - " float(data[\"liq_benzene\"])\n", + " float(data.iloc[0][\"liq_benzene\"])\n", " - m.fs.state_block.mole_frac_phase_comp[\"Liq\", \"benzene\"]\n", " ) ** 2\n", " return expr * 1e4" @@ -479,7 +485,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.9" + "version": "3.8.19" } }, "nbformat": 4, diff --git a/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_state_block_usr.ipynb b/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_state_block_usr.ipynb index 5bdce840..fbd229e0 100644 --- a/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_state_block_usr.ipynb +++ b/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_state_block_usr.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -45,8 +46,7 @@ "\n", "## Key links to documentation:\n", "* NRTL Model - https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/generic/property_models/activity_coefficient.html\n", - "* parmest - https://pyomo.readthedocs.io/en/stable/contributed_packages/parmest/index.html\n", - "" + "* parmest - https://pyomo.readthedocs.io/en/stable/contributed_packages/parmest/index.html\n" ] }, { @@ -61,7 +61,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": { "tags": [ "exercise" @@ -76,7 +76,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "metadata": { "tags": [ "solution" @@ -100,7 +100,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "metadata": { "tags": [] }, @@ -121,7 +121,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "metadata": { "tags": [] }, @@ -152,7 +152,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "metadata": { "tags": [ "exercise" @@ -198,7 +198,12 @@ " m.fs.state_block.initialize(outlvl=idaeslog.INFO)\n", "\n", " # Fix at actual temperature\n", - " m.fs.state_block.temperature.fix(float(data[\"temperature\"]))\n", + " if isinstance(data, dict) or isinstance(data, pd.Series):\n", + " m.fs.state_block.temperature.fix(float(data[\"temperature\"]))\n", + " elif isinstance(data, pd.DataFrame):\n", + " m.fs.state_block.temperature.fix(float(data.iloc[0][\"temperature\"]))\n", + " else:\n", + " raise ValueError(\"Unrecognized data type.\")\n", "\n", " # Set bounds on variables to be estimated\n", " m.fs.properties.tau[\"benzene\", \"toluene\"].setlb(-5)\n", @@ -213,7 +218,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "metadata": { "tags": [ "solution" @@ -264,7 +269,13 @@ " m.fs.state_block.initialize(outlvl=idaeslog.INFO_LOW)\n", "\n", " # Fix at actual temperature\n", - " m.fs.state_block.temperature.fix(float(data[\"temperature\"]))\n", + " # Fix at actual temperature\n", + " if isinstance(data, dict) or isinstance(data, pd.Series):\n", + " m.fs.state_block.temperature.fix(float(data[\"temperature\"]))\n", + " elif isinstance(data, pd.DataFrame):\n", + " m.fs.state_block.temperature.fix(float(data.iloc[0][\"temperature\"]))\n", + " else:\n", + " raise ValueError(\"Unrecognized data type.\")\n", "\n", " # Set bounds on variables to be estimated\n", " m.fs.properties.tau[\"benzene\", \"toluene\"].setlb(-5)\n", @@ -312,7 +323,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "metadata": { "tags": [ "exercise" @@ -325,7 +336,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "metadata": { "tags": [ "solution" @@ -356,7 +367,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "metadata": { "tags": [] }, @@ -416,10 +427,10 @@ " # and vapor phase. For example, the squared error for the vapor phase is:\n", " # (float(data[\"vap_benzene\"]) - m.fs.state_block.mole_frac_phase_comp[\"Vap\", \"benzene\"])**2\n", " expr = (\n", - " float(data[\"vap_benzene\"])\n", + " float(data.iloc[0][\"vap_benzene\"])\n", " - m.fs.state_block.mole_frac_phase_comp[\"Vap\", \"benzene\"]\n", " ) ** 2 + (\n", - " float(data[\"liq_benzene\"])\n", + " float(data.iloc[0][\"liq_benzene\"])\n", " - m.fs.state_block.mole_frac_phase_comp[\"Liq\", \"benzene\"]\n", " ) ** 2\n", " return expr * 1e4" @@ -534,7 +545,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.9" + "version": "3.8.19" } }, "nbformat": 4, diff --git a/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_unit_model.ipynb b/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_unit_model.ipynb index 495b6540..4cd9f8c5 100644 --- a/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_unit_model.ipynb +++ b/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_unit_model.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_unit_model_doc.ipynb b/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_unit_model_doc.ipynb index edb05ee6..a274ccdd 100644 --- a/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_unit_model_doc.ipynb +++ b/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_unit_model_doc.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -60,7 +61,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": { "tags": [ "solution" @@ -87,7 +88,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -106,7 +107,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -135,7 +136,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": { "tags": [ "solution" @@ -187,7 +188,12 @@ " m.fs.flash.initialize(outlvl=idaeslog.INFO_LOW)\n", "\n", " # Fix at actual temperature\n", - " m.fs.flash.inlet.temperature.fix(float(data[\"temperature\"]))\n", + " if isinstance(data, dict) or isinstance(data, pd.Series):\n", + " m.fs.flash.inlet.temperature.fix(float(data[\"temperature\"]))\n", + " elif isinstance(data, pd.DataFrame):\n", + " m.fs.flash.inlet.temperature.fix(float(data.iloc[0][\"temperature\"]))\n", + " else:\n", + " raise ValueError(\"Unrecognized data type.\")\n", "\n", " # Set bounds on variables to be estimated\n", " m.fs.properties.tau[\"benzene\", \"toluene\"].setlb(-5)\n", @@ -236,7 +242,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": { "tags": [ "solution" @@ -267,398 +273,9 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
temperatureliq_benzenevap_benzene
0365.5000000.4809530.692110
1365.6176470.4624440.667699
2365.7352940.4779840.692441
3365.8529410.4405470.640336
4365.9705880.4274210.623328
5366.0882350.4427250.647796
6366.2058820.4343740.637691
7366.3235290.4446420.654933
8366.4411760.4271320.631229
9366.5588240.4463010.661743
10366.6764710.4380040.651591
11366.7941180.4253200.634814
12366.9117650.4394350.658047
13367.0294120.4356550.654539
14367.1470590.4013500.604987
15367.2647060.3978620.601703
16367.3823530.4158210.630930
17367.5000000.4206670.640380
18367.6176470.3916830.598214
19367.7352940.4049030.620432
20367.8529410.4095630.629626
21367.9705880.3894880.600722
22368.0000000.3967890.612483
23368.0882350.3981620.616106
24368.2058820.3623400.562505
25368.3235290.3869580.602680
26368.4411760.3636430.568210
27368.5588240.3681180.577072
28368.6764710.3840980.604078
29368.7941180.3536050.557925
30368.9117650.3464740.548445
31369.0294120.3507410.556996
32369.1470590.3623470.577286
33369.2647060.3625780.579519
34369.3823530.3407650.546411
35369.5000000.3374620.542857
36369.6176470.3557290.574083
37369.7352940.3486790.564513
38369.8529410.3381870.549284
39369.9705880.3243600.528514
40370.0882350.3107530.507964
41370.2058820.3110370.510055
42370.3235290.3112630.512055
43370.4411760.3080810.508437
44370.5588240.3082240.510293
45370.6764710.3181480.528399
46370.7941180.3083340.513728
47370.9117650.3179370.531410
48371.0294120.2891490.484824
49371.1470590.2986370.502318
\n", - "
" - ], - "text/plain": [ - " temperature liq_benzene vap_benzene\n", - "0 365.500000 0.480953 0.692110\n", - "1 365.617647 0.462444 0.667699\n", - "2 365.735294 0.477984 0.692441\n", - "3 365.852941 0.440547 0.640336\n", - "4 365.970588 0.427421 0.623328\n", - "5 366.088235 0.442725 0.647796\n", - "6 366.205882 0.434374 0.637691\n", - "7 366.323529 0.444642 0.654933\n", - "8 366.441176 0.427132 0.631229\n", - "9 366.558824 0.446301 0.661743\n", - "10 366.676471 0.438004 0.651591\n", - "11 366.794118 0.425320 0.634814\n", - "12 366.911765 0.439435 0.658047\n", - "13 367.029412 0.435655 0.654539\n", - "14 367.147059 0.401350 0.604987\n", - "15 367.264706 0.397862 0.601703\n", - "16 367.382353 0.415821 0.630930\n", - "17 367.500000 0.420667 0.640380\n", - "18 367.617647 0.391683 0.598214\n", - "19 367.735294 0.404903 0.620432\n", - "20 367.852941 0.409563 0.629626\n", - "21 367.970588 0.389488 0.600722\n", - "22 368.000000 0.396789 0.612483\n", - "23 368.088235 0.398162 0.616106\n", - "24 368.205882 0.362340 0.562505\n", - "25 368.323529 0.386958 0.602680\n", - "26 368.441176 0.363643 0.568210\n", - "27 368.558824 0.368118 0.577072\n", - "28 368.676471 0.384098 0.604078\n", - "29 368.794118 0.353605 0.557925\n", - "30 368.911765 0.346474 0.548445\n", - "31 369.029412 0.350741 0.556996\n", - "32 369.147059 0.362347 0.577286\n", - "33 369.264706 0.362578 0.579519\n", - "34 369.382353 0.340765 0.546411\n", - "35 369.500000 0.337462 0.542857\n", - "36 369.617647 0.355729 0.574083\n", - "37 369.735294 0.348679 0.564513\n", - "38 369.852941 0.338187 0.549284\n", - "39 369.970588 0.324360 0.528514\n", - "40 370.088235 0.310753 0.507964\n", - "41 370.205882 0.311037 0.510055\n", - "42 370.323529 0.311263 0.512055\n", - "43 370.441176 0.308081 0.508437\n", - "44 370.558824 0.308224 0.510293\n", - "45 370.676471 0.318148 0.528399\n", - "46 370.794118 0.308334 0.513728\n", - "47 370.911765 0.317937 0.531410\n", - "48 371.029412 0.289149 0.484824\n", - "49 371.147059 0.298637 0.502318" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# Load data from csv\n", "data = pd.read_csv(\"BT_NRTL_dataset.csv\")\n", @@ -681,7 +298,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": { "tags": [ "solution" @@ -695,9 +312,11 @@ " # and vapor phase. For example, the squared error for the vapor phase is:\n", " # (float(data[\"vap_benzene\"]) - m.fs.flash.vap_outlet.mole_frac_comp[0, \"benzene\"])**2\n", " expr = (\n", - " float(data[\"vap_benzene\"]) - m.fs.flash.vap_outlet.mole_frac_comp[0, \"benzene\"]\n", + " float(data.iloc[0][\"vap_benzene\"])\n", + " - m.fs.flash.vap_outlet.mole_frac_comp[0, \"benzene\"]\n", " ) ** 2 + (\n", - " float(data[\"liq_benzene\"]) - m.fs.flash.liq_outlet.mole_frac_comp[0, \"benzene\"]\n", + " float(data.iloc[0][\"liq_benzene\"])\n", + " - m.fs.flash.liq_outlet.mole_frac_comp[0, \"benzene\"]\n", " ) ** 2\n", " return expr * 1e4" ] @@ -721,101 +340,9 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\dkgun\\AppData\\Local\\Temp\\ipykernel_36352\\1862275024.py:45: FutureWarning: Calling float on a single element Series is deprecated and will raise a TypeError in the future. Use float(ser.iloc[0]) instead\n", - " m.fs.flash.inlet.temperature.fix(float(data[\"temperature\"]))\n", - "C:\\Users\\dkgun\\AppData\\Local\\Temp\\ipykernel_36352\\2860104238.py:7: FutureWarning: Calling float on a single element Series is deprecated and will raise a TypeError in the future. Use float(ser.iloc[0]) instead\n", - " float(data[\"vap_benzene\"]) - m.fs.flash.vap_outlet.mole_frac_comp[0, \"benzene\"]\n", - "C:\\Users\\dkgun\\AppData\\Local\\Temp\\ipykernel_36352\\2860104238.py:9: FutureWarning: Calling float on a single element Series is deprecated and will raise a TypeError in the future. Use float(ser.iloc[0]) instead\n", - " float(data[\"liq_benzene\"]) - m.fs.flash.liq_outlet.mole_frac_comp[0, \"benzene\"]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 10946\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 6600\n", - "\n", - "Total number of variables............................: 2950\n", - " variables with only lower bounds: 150\n", - " variables with lower and upper bounds: 600\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 2948\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 6.0671019e+01 5.63e+02 1.08e-04 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 5.0339335e+00 1.57e+03 7.47e+01 -1.0 1.37e+04 - 9.45e-01 1.00e+00h 1\n", - " 2 5.1535704e+00 1.93e+02 4.59e+02 -1.0 5.54e+02 -4.0 9.90e-01 1.00e+00h 1\n", - " 3 5.1392848e+00 1.07e+00 3.40e+01 -1.0 6.17e+01 -4.5 9.92e-01 1.00e+00h 1\n", - " 4 5.1359488e+00 3.65e+02 2.24e+01 -1.0 8.41e+02 - 1.00e+00 1.00e+00h 1\n", - " 5 5.1198699e+00 1.64e+00 1.32e-01 -1.0 3.65e+02 - 1.00e+00 1.00e+00h 1\n", - " 6 5.0735545e+00 1.54e+02 1.83e-01 -2.5 3.80e+02 - 9.96e-01 1.00e+00h 1\n", - " 7 5.0752210e+00 1.03e+01 5.00e-02 -2.5 9.51e+01 - 1.00e+00 1.00e+00h 1\n", - " 8 5.0750012e+00 5.57e-03 2.07e-05 -2.5 2.09e-01 - 1.00e+00 1.00e+00h 1\n", - " 9 5.0749679e+00 5.85e-02 7.21e-04 -3.8 8.43e+00 - 1.00e+00 1.00e+00h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 5.0749686e+00 5.59e-04 1.05e-05 -5.7 9.63e-01 - 1.00e+00 1.00e+00h 1\n", - " 11 5.0749686e+00 3.98e-08 1.56e-09 -8.6 7.56e-03 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 11\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 5.0749685783045084e+00 5.0749685783045084e+00\n", - "Dual infeasibility......: 1.5648775501801708e-09 1.5648775501801708e-09\n", - "Constraint violation....: 1.3843631310512158e-10 3.9843143895268440e-08\n", - "Complementarity.........: 2.5074825419922871e-09 2.5074825419922871e-09\n", - "Overall NLP error.......: 2.5074825419922871e-09 3.9843143895268440e-08\n", - "\n", - "\n", - "Number of objective function evaluations = 12\n", - "Number of objective gradient evaluations = 12\n", - "Number of equality constraint evaluations = 12\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 12\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 11\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.053\n", - "Total CPU secs in NLP function evaluations = 0.010\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\b\b\b\b\b\b\b\b\b\b\b\b\b\b" - ] - } - ], + "outputs": [], "source": [ "# Initialize a parameter estimation object\n", "pest = parmest.Estimator(NRTL_model, data, variable_name, SSE, tee=True)\n", @@ -835,21 +362,9 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The SSE at the optimal solution is 0.000507\n", - "\n", - "The values for the parameters are as follows:\n", - "fs.properties.tau[benzene,toluene] = -0.8987624039723903\n", - "fs.properties.tau[toluene,benzene] = 1.410486110660486\n" - ] - } - ], + "outputs": [], "source": [ "print(\"The SSE at the optimal solution is %0.6f\" % (obj_value * 1e-4))\n", "print()\n", @@ -884,7 +399,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -915,9 +430,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.8.19" } }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_unit_model_exercise.ipynb b/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_unit_model_exercise.ipynb index 9ebb2bbd..8edb8894 100644 --- a/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_unit_model_exercise.ipynb +++ b/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_unit_model_exercise.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -180,7 +181,12 @@ " m.fs.flash.initialize(outlvl=idaeslog.INFO_LOW)\n", "\n", " # Fix at actual temperature\n", - " m.fs.flash.inlet.temperature.fix(float(data[\"temperature\"]))\n", + " if isinstance(data, dict) or isinstance(data, pd.Series):\n", + " m.fs.state_block.temperature.fix(float(data[\"temperature\"]))\n", + " elif isinstance(data, pd.DataFrame):\n", + " m.fs.state_block.temperature.fix(float(data.iloc[0][\"temperature\"]))\n", + " else:\n", + " raise ValueError(\"Unrecognized data type.\")\n", "\n", " # Set bounds on variables to be estimated\n", " m.fs.properties.tau[\"benzene\", \"toluene\"].setlb(-5)\n", @@ -293,7 +299,7 @@ "def SSE(m, data):\n", " # Todo: Add expression for computing the sum of squared errors in mole fraction of benzene in the liquid\n", " # and vapor phase. For example, the squared error for the vapor phase is:\n", - " # (float(data[\"vap_benzene\"]) - m.fs.flash.vap_outlet.mole_frac_comp[0, \"benzene\"])**2\n", + " # (float(data.iloc[0][\"vap_benzene\"]) - m.fs.flash.vap_outlet.mole_frac_comp[0, \"benzene\"])**2\n", "\n", " return expr * 1e4" ] @@ -407,9 +413,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.12" + "version": "3.8.19" } }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_unit_model_solution.ipynb b/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_unit_model_solution.ipynb index d70ff27d..6864c791 100644 --- a/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_unit_model_solution.ipynb +++ b/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_unit_model_solution.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -200,7 +201,12 @@ " m.fs.flash.initialize(outlvl=idaeslog.INFO_LOW)\n", "\n", " # Fix at actual temperature\n", - " m.fs.flash.inlet.temperature.fix(float(data[\"temperature\"]))\n", + " if isinstance(data, dict) or isinstance(data, pd.Series):\n", + " m.fs.state_block.temperature.fix(float(data[\"temperature\"]))\n", + " elif isinstance(data, pd.DataFrame):\n", + " m.fs.state_block.temperature.fix(float(data.iloc[0][\"temperature\"]))\n", + " else:\n", + " raise ValueError(\"Unrecognized data type.\")\n", "\n", " # Set bounds on variables to be estimated\n", " m.fs.properties.tau[\"benzene\", \"toluene\"].setlb(-5)\n", @@ -267,7 +273,12 @@ " m.fs.flash.initialize(outlvl=idaeslog.INFO_LOW)\n", "\n", " # Fix at actual temperature\n", - " m.fs.flash.inlet.temperature.fix(float(data[\"temperature\"]))\n", + " if isinstance(data, dict) or isinstance(data, pd.Series):\n", + " m.fs.flash.inlet.temperature.fix(float(data[\"temperature\"]))\n", + " elif isinstance(data, pd.DataFrame):\n", + " m.fs.flash.inlet.temperature.fix(float(data.iloc[0][\"temperature\"]))\n", + " else:\n", + " raise ValueError(\"Unrecognized data type.\")\n", "\n", " # Set bounds on variables to be estimated\n", " m.fs.properties.tau[\"benzene\", \"toluene\"].setlb(-5)\n", @@ -397,7 +408,7 @@ "def SSE(m, data):\n", " # Todo: Add expression for computing the sum of squared errors in mole fraction of benzene in the liquid\n", " # and vapor phase. For example, the squared error for the vapor phase is:\n", - " # (float(data[\"vap_benzene\"]) - m.fs.flash.vap_outlet.mole_frac_comp[0, \"benzene\"])**2\n", + " # (float(data.iloc[0][\"vap_benzene\"]) - m.fs.flash.vap_outlet.mole_frac_comp[0, \"benzene\"])**2\n", "\n", " return expr * 1e4" ] @@ -418,9 +429,11 @@ " # and vapor phase. For example, the squared error for the vapor phase is:\n", " # (float(data[\"vap_benzene\"]) - m.fs.flash.vap_outlet.mole_frac_comp[0, \"benzene\"])**2\n", " expr = (\n", - " float(data[\"vap_benzene\"]) - m.fs.flash.vap_outlet.mole_frac_comp[0, \"benzene\"]\n", + " float(data.iloc[0][\"vap_benzene\"])\n", + " - m.fs.flash.vap_outlet.mole_frac_comp[0, \"benzene\"]\n", " ) ** 2 + (\n", - " float(data[\"liq_benzene\"]) - m.fs.flash.liq_outlet.mole_frac_comp[0, \"benzene\"]\n", + " float(data.iloc[0][\"liq_benzene\"])\n", + " - m.fs.flash.liq_outlet.mole_frac_comp[0, \"benzene\"]\n", " ) ** 2\n", " return expr * 1e4" ] @@ -534,9 +547,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.12" + "version": "3.8.19" } }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_unit_model_test.ipynb b/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_unit_model_test.ipynb index 7add77ff..6a00b230 100644 --- a/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_unit_model_test.ipynb +++ b/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_unit_model_test.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -187,7 +188,12 @@ " m.fs.flash.initialize(outlvl=idaeslog.INFO_LOW)\n", "\n", " # Fix at actual temperature\n", - " m.fs.flash.inlet.temperature.fix(float(data[\"temperature\"]))\n", + " if isinstance(data, dict) or isinstance(data, pd.Series):\n", + " m.fs.flash.inlet.temperature.fix(float(data[\"temperature\"]))\n", + " elif isinstance(data, pd.DataFrame):\n", + " m.fs.flash.inlet.temperature.fix(float(data.iloc[0][\"temperature\"]))\n", + " else:\n", + " raise ValueError(\"Unrecognized data type.\")\n", "\n", " # Set bounds on variables to be estimated\n", " m.fs.properties.tau[\"benzene\", \"toluene\"].setlb(-5)\n", @@ -343,9 +349,11 @@ " # and vapor phase. For example, the squared error for the vapor phase is:\n", " # (float(data[\"vap_benzene\"]) - m.fs.flash.vap_outlet.mole_frac_comp[0, \"benzene\"])**2\n", " expr = (\n", - " float(data[\"vap_benzene\"]) - m.fs.flash.vap_outlet.mole_frac_comp[0, \"benzene\"]\n", + " float(data.iloc[0][\"vap_benzene\"])\n", + " - m.fs.flash.vap_outlet.mole_frac_comp[0, \"benzene\"]\n", " ) ** 2 + (\n", - " float(data[\"liq_benzene\"]) - m.fs.flash.liq_outlet.mole_frac_comp[0, \"benzene\"]\n", + " float(data.iloc[0][\"liq_benzene\"])\n", + " - m.fs.flash.liq_outlet.mole_frac_comp[0, \"benzene\"]\n", " ) ** 2\n", " return expr * 1e4" ] @@ -475,9 +483,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.12" + "version": "3.8.19" } }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_unit_model_usr.ipynb b/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_unit_model_usr.ipynb index d70ff27d..6864c791 100644 --- a/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_unit_model_usr.ipynb +++ b/idaes_examples/notebooks/docs/param_est/parameter_estimation_nrtl_using_unit_model_usr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -200,7 +201,12 @@ " m.fs.flash.initialize(outlvl=idaeslog.INFO_LOW)\n", "\n", " # Fix at actual temperature\n", - " m.fs.flash.inlet.temperature.fix(float(data[\"temperature\"]))\n", + " if isinstance(data, dict) or isinstance(data, pd.Series):\n", + " m.fs.state_block.temperature.fix(float(data[\"temperature\"]))\n", + " elif isinstance(data, pd.DataFrame):\n", + " m.fs.state_block.temperature.fix(float(data.iloc[0][\"temperature\"]))\n", + " else:\n", + " raise ValueError(\"Unrecognized data type.\")\n", "\n", " # Set bounds on variables to be estimated\n", " m.fs.properties.tau[\"benzene\", \"toluene\"].setlb(-5)\n", @@ -267,7 +273,12 @@ " m.fs.flash.initialize(outlvl=idaeslog.INFO_LOW)\n", "\n", " # Fix at actual temperature\n", - " m.fs.flash.inlet.temperature.fix(float(data[\"temperature\"]))\n", + " if isinstance(data, dict) or isinstance(data, pd.Series):\n", + " m.fs.flash.inlet.temperature.fix(float(data[\"temperature\"]))\n", + " elif isinstance(data, pd.DataFrame):\n", + " m.fs.flash.inlet.temperature.fix(float(data.iloc[0][\"temperature\"]))\n", + " else:\n", + " raise ValueError(\"Unrecognized data type.\")\n", "\n", " # Set bounds on variables to be estimated\n", " m.fs.properties.tau[\"benzene\", \"toluene\"].setlb(-5)\n", @@ -397,7 +408,7 @@ "def SSE(m, data):\n", " # Todo: Add expression for computing the sum of squared errors in mole fraction of benzene in the liquid\n", " # and vapor phase. For example, the squared error for the vapor phase is:\n", - " # (float(data[\"vap_benzene\"]) - m.fs.flash.vap_outlet.mole_frac_comp[0, \"benzene\"])**2\n", + " # (float(data.iloc[0][\"vap_benzene\"]) - m.fs.flash.vap_outlet.mole_frac_comp[0, \"benzene\"])**2\n", "\n", " return expr * 1e4" ] @@ -418,9 +429,11 @@ " # and vapor phase. For example, the squared error for the vapor phase is:\n", " # (float(data[\"vap_benzene\"]) - m.fs.flash.vap_outlet.mole_frac_comp[0, \"benzene\"])**2\n", " expr = (\n", - " float(data[\"vap_benzene\"]) - m.fs.flash.vap_outlet.mole_frac_comp[0, \"benzene\"]\n", + " float(data.iloc[0][\"vap_benzene\"])\n", + " - m.fs.flash.vap_outlet.mole_frac_comp[0, \"benzene\"]\n", " ) ** 2 + (\n", - " float(data[\"liq_benzene\"]) - m.fs.flash.liq_outlet.mole_frac_comp[0, \"benzene\"]\n", + " float(data.iloc[0][\"liq_benzene\"])\n", + " - m.fs.flash.liq_outlet.mole_frac_comp[0, \"benzene\"]\n", " ) ** 2\n", " return expr * 1e4" ] @@ -534,9 +547,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.12" + "version": "3.8.19" } }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/power_gen/ngcc/ngcc.ipynb b/idaes_examples/notebooks/docs/power_gen/ngcc/ngcc.ipynb index 20fa0c26..c9ca4d55 100644 --- a/idaes_examples/notebooks/docs/power_gen/ngcc/ngcc.ipynb +++ b/idaes_examples/notebooks/docs/power_gen/ngcc/ngcc.ipynb @@ -17,12 +17,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -144,88 +145,7 @@ "execution_count": 5, "id": "9913783b", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-07-25 03:12:25 [INFO] idaes.init.fs: NGCC load initial from ngcc_init.json.gz\n", - "Ipopt 3.13.2: nlp_scaling_method=user-scaling\n", - "tol=1e-06\n", - "max_iter=200\n", - "linear_solver=ma57\n", - "ma57_pivtol=1e-05\n", - "ma57_pivtolmax=0.1\n", - "option_file_name=C:\\Users\\javal\\AppData\\Local\\Temp\\tmpa9m4gkwo_ipopt.opt\n", - "\n", - "Using option file \"C:\\Users\\javal\\AppData\\Local\\Temp\\tmpa9m4gkwo_ipopt.opt\".\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma57.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 7661\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 5948\n", - "\n", - "Total number of variables............................: 2404\n", - " variables with only lower bounds: 87\n", - " variables with lower and upper bounds: 1447\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 2404\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 3.50e+01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "Reallocating memory for MA57: lfact (111709)\n", - " 1 0.0000000e+00 3.49e-01 1.12e+04 -1.0 3.06e+03 - 9.90e-01 9.90e-01h 1\n", - " 2 0.0000000e+00 3.15e-03 5.15e+02 -1.0 3.02e+03 - 9.89e-01 9.91e-01h 1\n", - " 3 0.0000000e+00 2.95e-07 9.98e+02 -1.0 3.74e+01 - 9.90e-01 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 2.9462398742907681e-07 2.9462398742907681e-07\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.9462398742907681e-07 2.9462398742907681e-07\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.085\n", - "Total CPU secs in NLP function evaluations = 1.396\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "m = pyo.ConcreteModel()\n", "m.fs = ngcc.NgccFlowsheet(dynamic=False)\n", @@ -253,2530 +173,7 @@ "execution_count": 6, "id": "ca2cf4a0", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "Gas Turbine Section\n", - "\n" - ] - }, - { - "data": { - "image/svg+xml": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " image/svg+xml\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " cmp1\n", - " cmb1\n", - " gts1\n", - " inject1\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " gts2\n", - " \n", - " \n", - " gts3\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " splt1\n", - " mx1\n", - " mx2\n", - " mx3\n", - " Blade Cooling Air\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " NGPreheater\n", - " \n", - " To HRSG\n", - " \n", - " \n", - " \n", - " \n", - " air01\n", - " \n", - " \n", - " air03\n", - " \n", - " \n", - " air02\n", - " \n", - " \n", - " air04\n", - " \n", - " \n", - " fuel01\n", - " \n", - " \n", - " fuel02\n", - " \n", - " \n", - " \n", - " \n", - " st02\n", - " st01\n", - " \n", - " \n", - " air05\n", - " \n", - " \n", - " air06\n", - " \n", - " \n", - " g02\n", - " \n", - " \n", - " g01\n", - " \n", - " \n", - " air09\n", - " \n", - " \n", - " air10\n", - " \n", - " \n", - " air07\n", - " \n", - " \n", - " g03\n", - " \n", - " \n", - " g04\n", - " \n", - " \n", - " g05\n", - " \n", - " \n", - " g06\n", - " \n", - " \n", - " g07\n", - " \n", - " \n", - " g08\n", - " \n", - " \n", - " air08\n", - " \n", - " \n", - " Summary\n", - " total GT power:\n", - " 476.99 MW\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " air01\n", - " \n", - " \n", - " \n", - " air02\n", - " \n", - " \n", - " \n", - " air03\n", - " \n", - " \n", - " \n", - " air04\n", - " \n", - " \n", - " \n", - " fuel01\n", - " \n", - " \n", - " \n", - " fuel02\n", - " \n", - " \n", - " feed_air1\n", - " \n", - " \n", - " st02\n", - " \n", - " \n", - " \n", - " st01\n", - " \n", - " \n", - " \n", - " air05\n", - " \n", - " \n", - " \n", - " air06\n", - " \n", - " \n", - " exhaust_1\n", - " \n", - " \n", - " g01\n", - " \n", - " \n", - " \n", - " g02\n", - " \n", - " \n", - " \n", - " air09\n", - " \n", - " \n", - " \n", - " air10\n", - " \n", - " \n", - " \n", - " air07\n", - " \n", - " \n", - " \n", - " g03\n", - " \n", - " \n", - " \n", - " g04\n", - " \n", - " \n", - " \n", - " g05\n", - " \n", - " \n", - " \n", - " g07\n", - " \n", - " \n", - " \n", - " g06\n", - " \n", - " \n", - " \n", - " g08\n", - " \n", - " \n", - " \n", - " air08\n", - " \n", - " \n", - " \n", - " \n", - " 299.82 K\n", - " 25.946 kg/s\n", - " 31.026 bar\n", - " 1.000%\n", - " 93.100%\n", - " 0.000%\n", - " 1.600%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yCH4:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " 3.200%\n", - " yC2H6:\n", - " 0.700%\n", - " yC3H8:\n", - " 0.400%\n", - " yC4H10:\n", - " \n", - " \n", - " \n", - " 335.99 K\n", - " 18.526 kg/s\n", - " 43.355 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 457.27 K\n", - " 18.526 kg/s\n", - " 43.355 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " NG PreharerUses Hot WaterFrom HRSG\n", - " \n", - " \n", - " 448.75 K\n", - " 25.946 kg/s\n", - " 31.026 bar\n", - " 1.000%\n", - " 93.100%\n", - " 0.000%\n", - " 1.600%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yCH4:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " 3.200%\n", - " yC2H6:\n", - " 0.700%\n", - " yC3H8:\n", - " 0.400%\n", - " yC4H10:\n", - " \n", - " \n", - " power:\n", - " 481.28 MW\n", - " \n", - " \n", - " isentr. efficiency:\n", - " 84.02%\n", - " isentr. head:\n", - " 367.27 kJ/kg\n", - " inlet vol. flow:\n", - " 883.2 m**3/s\n", - " \n", - " 288.15 K\n", - " 1100.984 kg/s\n", - " 1.034 bar\n", - " 0.030%\n", - " 0.990%\n", - " 0.920%\n", - " 20.740%\n", - " 77.320%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 288.17 K\n", - " 1100.984 kg/s\n", - " 1.099 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 709.64 K\n", - " 1100.984 kg/s\n", - " 19.226 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 709.64 K\n", - " 1008.614 kg/s\n", - " 19.226 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 691.89 K\n", - " 1034.561 kg/s\n", - " 19.226 bar\n", - " 0.070%\n", - " 3.842%\n", - " 19.884%\n", - " 74.195%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yCH4:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " 0.132%\n", - " yC2H6:\n", - " 0.029%\n", - " yC3H8:\n", - " 0.017%\n", - " yC4H10:\n", - " \n", - " \n", - " \n", - " 1641.38 K\n", - " 1034.691 kg/s\n", - " 18.265 bar\n", - " 4.324%\n", - " 9.217%\n", - " 0.000%\n", - " 11.471%\n", - " 74.106%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yCH4:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " 0.000%\n", - " yC2H6:\n", - " 0.000%\n", - " yC3H8:\n", - " 0.000%\n", - " yC4H10:\n", - " 0.881%\n", - " yAr:\n", - " \n", - " \n", - " \n", - " power:\n", - " -374.58 MW\n", - " \n", - " \n", - " isentr. efficiency:\n", - " 88.53%\n", - " isentr. head:\n", - " -408.95 kJ/kg\n", - " inlet vol. flow:\n", - " 273.6 m**3/s\n", - " \n", - " \n", - " \n", - " 898.00 K\n", - " 1127.060 kg/s\n", - " 1.100 bar\n", - " 3.978%\n", - " 8.554%\n", - " 0.884%\n", - " 12.219%\n", - " 74.365%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " 899.61 K\n", - " 1116.809 kg/s\n", - " 1.100 bar\n", - " 4.014%\n", - " 8.622%\n", - " 0.884%\n", - " 12.142%\n", - " 74.339%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 1094.58 K\n", - " 1116.809 kg/s\n", - " 2.799 bar\n", - " 4.014%\n", - " 8.622%\n", - " 0.884%\n", - " 12.142%\n", - " 74.339%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 709.76 K\n", - " 14.769 kg/s\n", - " 2.799 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 1099.28 K\n", - " 1102.041 kg/s\n", - " 2.799 bar\n", - " 4.066%\n", - " 8.723%\n", - " 0.883%\n", - " 12.028%\n", - " 74.299%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 1329.41 K\n", - " 1102.041 kg/s\n", - " 7.137 bar\n", - " 4.066%\n", - " 8.723%\n", - " 0.883%\n", - " 12.028%\n", - " 74.299%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 1365.44 K\n", - " 1034.691 kg/s\n", - " 7.137 bar\n", - " 4.324%\n", - " 9.217%\n", - " 0.881%\n", - " 11.471%\n", - " 74.106%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " power:\n", - " -264.25 MW\n", - " \n", - " \n", - " isentr. efficiency:\n", - " 88.19%\n", - " isentr. head:\n", - " -268.31 kJ/kg\n", - " inlet vol. flow:\n", - " 1280.2 m**3/s\n", - " \n", - " \n", - " \n", - " 709.77 K\n", - " 10.250 kg/s\n", - " 1.100 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 85.0%\n", - " opening:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 85.0%\n", - " opening:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 85.0%\n", - " opening:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 709.73 K\n", - " 67.350 kg/s\n", - " 7.137 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " power:\n", - " -319.43 MW\n", - " \n", - " \n", - " isentr. efficiency:\n", - " 88.35%\n", - " isentr. head:\n", - " -328.07 kJ/kg\n", - " inlet vol. flow:\n", - " 602.3 m**3/s\n", - " \n", - " \n", - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "HRSG Section\n", - "\n" - ] - }, - { - "data": { - "image/svg+xml": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " image/svg+xml\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " IPSH1\n", - " IPSH2\n", - " IPSH3\n", - " HPSH3\n", - " HPSH2\n", - " HPSH1\n", - " HPEVAP\n", - " HPECON5\n", - " LPECON\n", - " LPEVAP\n", - " LPDRUM\n", - " HPSH4\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " HPECON4\n", - " HPECON3\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " LPSH1\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " Gas Turbine Exhaust\n", - " HP Steam\n", - " IP Steam\n", - " \n", - " Feedwater\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " HPECON1\n", - " \n", - " \n", - " \n", - " \n", - " HPECON2\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " IPECON1\n", - " IPECON2\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " IPEVAP\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " Cold Reheat\n", - " \n", - " \n", - " \n", - " \n", - " From HP ECON2\n", - " To HP ECON3\n", - " \n", - " \n", - " LP Steam\n", - " \n", - " \n", - " \n", - " Mixer1\n", - " \n", - " LP_FGsplit\n", - " \n", - " \n", - " \n", - " \n", - " LP_Mixer2\n", - " IPPump\n", - " HPPump\n", - " IP_Mixer1\n", - " IP_Splitter2\n", - " To Ejector\n", - " To Reclaimer\n", - " To Dryer\n", - " To NG Preheater\n", - " From NG Preheater\n", - " To Stack or Capture\n", - " IP_Splitter1\n", - " Splitter1\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " SOEC Makeup\n", - " \n", - " \n", - " \n", - " \n", - " lp01\n", - " \n", - " \n", - " \n", - " lp02\n", - " \n", - " \n", - " \n", - " lp03\n", - " \n", - " \n", - " \n", - " lp04\n", - " \n", - " \n", - " \n", - " lp12\n", - " \n", - " \n", - " \n", - " lp05\n", - " \n", - " \n", - " \n", - " lp13\n", - " \n", - " \n", - " \n", - " g30\n", - " \n", - " \n", - " \n", - " g19\n", - " \n", - " \n", - " \n", - " hp03\n", - " \n", - " \n", - " \n", - " hp04\n", - " \n", - " \n", - " \n", - " hp05\n", - " \n", - " \n", - " \n", - " g18\n", - " \n", - " \n", - " \n", - " hp06\n", - " \n", - " \n", - " \n", - " hp06b\n", - " \n", - " \n", - " \n", - " g15\n", - " \n", - " \n", - " \n", - " ip06\n", - " \n", - " \n", - " \n", - " g14\n", - " \n", - " \n", - " \n", - " g17\n", - " \n", - " \n", - " \n", - " g16\n", - " \n", - " \n", - " \n", - " hp07\n", - " \n", - " \n", - " \n", - " hp08\n", - " \n", - " \n", - " \n", - " hp09\n", - " \n", - " \n", - " \n", - " hp10\n", - " \n", - " \n", - " \n", - " hp11\n", - " \n", - " \n", - " \n", - " g13\n", - " \n", - " \n", - " \n", - " g12\n", - " \n", - " \n", - " \n", - " g11\n", - " \n", - " \n", - " \n", - " g08\n", - " \n", - " \n", - " \n", - " g09\n", - " \n", - " \n", - " \n", - " ip10\n", - " \n", - " \n", - " \n", - " ip09\n", - " \n", - " \n", - " \n", - " ip08\n", - " \n", - " \n", - " \n", - " ip07\n", - " \n", - " \n", - " \n", - " g10\n", - " \n", - " \n", - " \n", - " g28\n", - " \n", - " \n", - " \n", - " ip11\n", - " \n", - " \n", - " \n", - " ip012\n", - " \n", - " \n", - " \n", - " ip013\n", - " \n", - " \n", - " \n", - " ip14\n", - " \n", - " \n", - " \n", - " ip015\n", - " \n", - " \n", - " \n", - " lp09\n", - " \n", - " \n", - " \n", - " lp08\n", - " \n", - " \n", - " \n", - " lp06\n", - " \n", - " \n", - " \n", - " hp01\n", - " \n", - " \n", - " \n", - " hp02\n", - " \n", - " \n", - " \n", - " hp03\n", - " \n", - " \n", - " \n", - " ip01\n", - " \n", - " \n", - " \n", - " ip02\n", - " \n", - " \n", - " \n", - " ip03\n", - " \n", - " \n", - " \n", - " g25\n", - " \n", - " \n", - " \n", - " g26\n", - " \n", - " \n", - " \n", - " g27\n", - " \n", - " \n", - " \n", - " ip05\n", - " \n", - " \n", - " \n", - " ip04\n", - " \n", - " \n", - " \n", - " g24\n", - " \n", - " \n", - " \n", - " g23\n", - " \n", - " \n", - " \n", - " g29\n", - " \n", - " \n", - " \n", - " lp10\n", - " \n", - " \n", - " \n", - " lp11\n", - " \n", - " \n", - " \n", - " g21\n", - " \n", - " \n", - " \n", - " g20\n", - " \n", - " \n", - " \n", - " g22\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " lp01\n", - " \n", - " \n", - " lp02\n", - " \n", - " \n", - " lp03\n", - " \n", - " \n", - " lp04\n", - " \n", - " \n", - " lp12\n", - " \n", - " \n", - " \n", - " lp05\n", - " \n", - " lp13\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " g30\n", - " \n", - " g29\n", - " g28\n", - " \n", - " \n", - " ip11\n", - " \n", - " ip06\n", - " g17\n", - " \n", - " \n", - " g16\n", - " g15\n", - " \n", - " \n", - " g14\n", - " hp07\n", - " \n", - " \n", - " hp08\n", - " hp06b\n", - " \n", - " hp06\n", - " \n", - " g19\n", - " \n", - " hp03\n", - " \n", - " g18\n", - " hp04\n", - " hp05\n", - " hp09\n", - " hp10\n", - " hp11\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " g12\n", - " g13\n", - " g11\n", - " g08\n", - " g09\n", - " ip08\n", - " ip09\n", - " ip10\n", - " ip07\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " g10\n", - " \n", - " ip14\n", - " ip13\n", - " ip12\n", - " ip15\n", - " \n", - " \n", - " \n", - " \n", - " ip06\n", - " \n", - " ip08\n", - " ip09\n", - " \n", - " \n", - " \n", - " hp01\n", - " hp02\n", - " hp03\n", - " \n", - " \n", - " \n", - " g27\n", - " g26\n", - " ip02\n", - " ip01\n", - " ip03\n", - " \n", - " \n", - " \n", - " \n", - " g25\n", - " \n", - " g24\n", - " \n", - " ip05\n", - " \n", - " ip04\n", - " \n", - " g23\n", - " \n", - " \n", - " g22\n", - " \n", - " lp11\n", - " lp10\n", - " g21\n", - " g20\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 382.51 K\n", - " 1.010 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 180.904 kg/s\n", - " 356.59 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 410.40 K\n", - " 1.010 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 0.000 kg/s\n", - " 443.56 K\n", - " 8.000 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 18.526 kg/s\n", - " 335.99 K\n", - " 43.355 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 199.430 kg/s\n", - " 435.43 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 22.669 kg/s\n", - " 435.43 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 199.430 kg/s\n", - " 394.15 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 556.520 kg/s\n", - " 547.38 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 199.430 kg/s\n", - " 435.43 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 180.904 kg/s\n", - " 399.98 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 40.345 kg/s\n", - " 435.43 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 40.345 kg/s\n", - " 436.13 K\n", - " 43.850 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 40.345 kg/s\n", - " 457.27 K\n", - " 43.355 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 22.669 kg/s\n", - " 557.10 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 556.520 kg/s\n", - " 557.25 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 556.520 kg/s\n", - " 557.25 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 552.32 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 21.818 kg/s\n", - " 510.22 K\n", - " 42.352 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 176.761 kg/s\n", - " 435.43 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 18.526 kg/s\n", - " 457.27 K\n", - " 43.355 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 435.43 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 479.13 K\n", - " 1.010 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 439.77 K\n", - " 244.000 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 21.818 kg/s\n", - " 457.27 K\n", - " 43.355 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 520.59 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 516.28 K\n", - " 1.012 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 514.35 K\n", - " 1.011 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 511.29 K\n", - " 1.010 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 504.84 K\n", - " 243.913 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 508.62 K\n", - " 243.829 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 157.430 kg/s\n", - " 855.94 K\n", - " 30.909 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 157.430 kg/s\n", - " 710.16 K\n", - " 33.408 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 157.430 kg/s\n", - " 600.93 K\n", - " 34.177 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 21.818 kg/s\n", - " 556.91 K\n", - " 42.146 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 135.612 kg/s\n", - " 610.47 K\n", - " 34.177 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 21.818 kg/s\n", - " 527.32 K\n", - " 42.352 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 610.47 K\n", - " 34.177 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 858.53 K\n", - " 172.428 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 898.00 K\n", - " 1.100 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 880.11 K\n", - " 1.098 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 735.19 K\n", - " 173.171 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 796.53 K\n", - " 172.830 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 786.52 K\n", - " 1.092 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 576.08 K\n", - " 1.047 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 577.92 K\n", - " 1.081 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 755.13 K\n", - " 1.083 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 840.55 K\n", - " 1.096 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 557.25 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 568.07 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 529.72 K\n", - " 243.746 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 544.93 K\n", - " 243.667 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 557.78 K\n", - " 243.589 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 627.24 K\n", - " 173.589 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 659.11 K\n", - " 173.415 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 584.88 K\n", - " 1.081 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 723.83 K\n", - " 1.081 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 557.34 K\n", - " 173.589 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 820.55 K\n", - " 1.094 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "Steam Turbine Section\n", - "\n" - ] - }, - { - "data": { - "image/svg+xml": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " image/svg+xml\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " HRSG\n", - " Cold Flue Gas\n", - " Gas Turbine Exhaust\n", - " Makeup Water\n", - " HP\n", - " IP\n", - " LP\n", - " Condensate Pump\n", - " Condenser\n", - " \n", - " \n", - " Cold Reheat\n", - " Hot Reheat\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " From Dryer\n", - " From Reclaimer\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " To Reclaimer\n", - " To Dryer\n", - " To Ejector\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " From NG Preheater\n", - " To NG Preheater\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " CaptureReboiler\n", - " \n", - " \n", - " \n", - " \n", - " To SOEC\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " t01\n", - " \n", - " \n", - " \n", - " t02\n", - " \n", - " \n", - " \n", - " t11\n", - " \n", - " \n", - " \n", - " t15\n", - " \n", - " \n", - " \n", - " t14\n", - " \n", - " \n", - " \n", - " t13\n", - " \n", - " \n", - " \n", - " t10\n", - " \n", - " \n", - " \n", - " t09\n", - " \n", - " \n", - " \n", - " t13\n", - " \n", - " \n", - " \n", - " t04\n", - " \n", - " \n", - " \n", - " t05\n", - " \n", - " \n", - " \n", - " t03\n", - " \n", - " \n", - " \n", - " t06\n", - " \n", - " \n", - " \n", - " t07\n", - " \n", - " \n", - " \n", - " t08\n", - " \n", - " \n", - " \n", - " t12\n", - " \n", - " \n", - " \n", - " cw01\n", - " \n", - " \n", - " \n", - " cw02\n", - " \n", - " \n", - " \n", - " t18\n", - " \n", - " \n", - " \n", - " t17\n", - " \n", - " \n", - " \n", - " t16\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " t01\n", - " \n", - " t02\n", - " \n", - " \n", - " t11\n", - " \n", - " \n", - " t15\n", - " \n", - " \n", - " t14\n", - " \n", - " \n", - " t10\n", - " \n", - " \n", - " t09\n", - " \n", - " \n", - " t13\n", - " \n", - " \n", - " t04\n", - " \n", - " \n", - " t05\n", - " \n", - " \n", - " t08\n", - " \n", - " \n", - " t12\n", - " \n", - " \n", - " cw01\n", - " \n", - " \n", - " cw02\n", - " \n", - " \n", - " t16\n", - " \n", - " \n", - " t18\n", - " \n", - " \n", - " t17\n", - " \n", - " t03\n", - " \n", - " t06\n", - " \n", - " t07\n", - " \n", - " \n", - " \n", - " 136.416 kg/s\n", - " 858.53 K\n", - " 172.428 bar\n", - " 63.487 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 157.430 kg/s\n", - " 855.94 K\n", - " 30.909 bar\n", - " 65.630 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 0.806 kg/s\n", - " 306.25 K\n", - " 1.013 bar\n", - " 2.500 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 3603.054 kg/s\n", - " 289.70 K\n", - " 5.000 bar\n", - " 1.260 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 111.286 kg/s\n", - " 316.88 K\n", - " 0.090 bar\n", - " 45.114 kJ/mol\n", - " 0.968\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " 22.669 kg/s\n", - " 557.10 K\n", - " 6.550 bar\n", - " 54.533 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 0.002 kg/s\n", - " 577.72 K\n", - " 4.592 bar\n", - " 55.397 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 68.812 kg/s\n", - " 577.72 K\n", - " 4.592 bar\n", - " 55.397 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 157.430 kg/s\n", - " 581.07 K\n", - " 4.592 bar\n", - " 55.522 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 136.416 kg/s\n", - " 610.47 K\n", - " 34.177 bar\n", - " 55.412 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " 111.286 kg/s\n", - " 577.72 K\n", - " 4.592 bar\n", - " 55.397 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 180.904 kg/s\n", - " 356.59 K\n", - " 6.550 bar\n", - " 6.304 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " 0.001 kg/s\n", - " 487.00 K\n", - " 20.000 bar\n", - " 50.496 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 0.000 kg/s\n", - " 476.00 K\n", - " 16.000 bar\n", - " 50.393 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 111.286 kg/s\n", - " 316.88 K\n", - " 0.090 bar\n", - " 3.299 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 3603.054 kg/s\n", - " 306.85 K\n", - " 5.000 bar\n", - " 2.552 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " 68.812 kg/s\n", - " 420.51 K\n", - " 4.592 bar\n", - " 11.184 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " 112.092 kg/s\n", - " 316.80 K\n", - " 0.090 bar\n", - " 3.293 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " 112.092 kg/s\n", - " 316.86 K\n", - " 6.550 bar\n", - " 3.308 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "def display_pfd():\n", " print(\"\\n\\nGas Turbine Section\\n\")\n", @@ -2830,28 +227,7 @@ "execution_count": 8, "id": "3602759a", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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XnsNhYWFMDY2hpmZmXTFp3379hg1ahRGjBjR4N93RURERHQ/NRqg3K5dO6xatQqfffYZTp48iYsXL+LOnTto2rQpfH190bRp0/qqk4iIiKhWavV1EUZGRvD19YWvr28dl0NERERUt/g0FhEREckaww4RERHJGsMOERERyRrDDhEREclajcNOWVkZTExMcOrUqfqoh4iIiKhO1TjsKJVKtGjRAuXl5fVRDxEREVGdqtVtrOnTp2PatGm4fv16XddDREREVKdq9Tk7//73v3Hu3Dm4uLjAzc0NVlZWeu1Hjx6tk+KIiIiIHletws7AgQPruAwiIiKi+lGrsPP+++/XdR1ERERE9aLWj57n5+dj9erViI6OlsbuHD16FJcvX66z4oiIiIgeV62u7Jw8eRIhISFQq9W4cOECRo8eDTs7O2zYsAE5OTn44osv6rpOIiIiolqp1ZWdSZMmYcSIETh79izMzc2l5c8//zz2799fZ8URERERPa5ahZ3U1FS8+eabVZY3a9YMOp3usYsiIiIiqiu1CjtmZmYoLCyssvzMmTNwcHB47KKIiIiI6kqtws4LL7yAWbNmoaysDACgUCiQk5ODqVOnIiwsrE4LJCIiInoctQo7CxcuRFFRERwdHXHnzh0EBQWhdevWaNKkCT766KO6rpGIiIio1mr1NJZarcbOnTvxv//9DydPnkRRURGee+45hISE1HV9RERERI+lVmGnuLgY5ubmCAwMRGBgYF3XRERERFRnahV2bGxs0LlzZwQFBaFbt27QarWwsLCo69qIiIiIHlutxuzs2rULvXv3RkpKCl544QXY2toiMDAQ06dPx86dO+u6RiIiIqJaq1XYCQwMxLRp07Bjxw7k5+dj7969aN26NebPn4/evXvXdY1EREREtVar21jAvc/USUxMlKaSkhL069cPwcHBdVgeERER0eOpVdhp1qwZ7ty5g+DgYAQHB2Pq1Klo27YtFApFXddHRERE9FhqdRvLwcEBt2/fhk6ng06nQ25uLu7cuVPXtRERERE9tlqFnePHj0On0+G9995DSUkJpk2bhqZNm6JLly6YPn16XddIREREVGu1HrNjY2ODF154AQEBAejSpQt+/PFHfPXVV0hJSeGnKBMREVGjUauws2HDBmlgckZGBuzs7BAYGIiFCxciKCiormskIiIiqrVahZ2xY8eia9eu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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "from matplotlib import pyplot as plt\n", "\n", diff --git a/idaes_examples/notebooks/docs/power_gen/ngcc/ngcc_doc.ipynb b/idaes_examples/notebooks/docs/power_gen/ngcc/ngcc_doc.ipynb index 7127641c..0aad653e 100644 --- a/idaes_examples/notebooks/docs/power_gen/ngcc/ngcc_doc.ipynb +++ b/idaes_examples/notebooks/docs/power_gen/ngcc/ngcc_doc.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -134,88 +135,7 @@ "cell_type": "code", "execution_count": 5, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-07-25 03:12:25 [INFO] idaes.init.fs: NGCC load initial from ngcc_init.json.gz\n", - "Ipopt 3.13.2: nlp_scaling_method=user-scaling\n", - "tol=1e-06\n", - "max_iter=200\n", - "linear_solver=ma57\n", - "ma57_pivtol=1e-05\n", - "ma57_pivtolmax=0.1\n", - "option_file_name=C:\\Users\\javal\\AppData\\Local\\Temp\\tmpa9m4gkwo_ipopt.opt\n", - "\n", - "Using option file \"C:\\Users\\javal\\AppData\\Local\\Temp\\tmpa9m4gkwo_ipopt.opt\".\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma57.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 7661\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 5948\n", - "\n", - "Total number of variables............................: 2404\n", - " variables with only lower bounds: 87\n", - " variables with lower and upper bounds: 1447\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 2404\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 3.50e+01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "Reallocating memory for MA57: lfact (111709)\n", - " 1 0.0000000e+00 3.49e-01 1.12e+04 -1.0 3.06e+03 - 9.90e-01 9.90e-01h 1\n", - " 2 0.0000000e+00 3.15e-03 5.15e+02 -1.0 3.02e+03 - 9.89e-01 9.91e-01h 1\n", - " 3 0.0000000e+00 2.95e-07 9.98e+02 -1.0 3.74e+01 - 9.90e-01 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 2.9462398742907681e-07 2.9462398742907681e-07\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.9462398742907681e-07 2.9462398742907681e-07\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.085\n", - "Total CPU secs in NLP function evaluations = 1.396\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "m = pyo.ConcreteModel()\n", "m.fs = ngcc.NgccFlowsheet(dynamic=False)\n", @@ -241,2530 +161,7 @@ "cell_type": "code", "execution_count": 6, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "Gas Turbine Section\n", - "\n" - ] - }, - { - "data": { - "image/svg+xml": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " image/svg+xml\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " cmp1\n", - " cmb1\n", - " gts1\n", - " inject1\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " gts2\n", - " \n", - " \n", - " gts3\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " splt1\n", - " mx1\n", - " mx2\n", - " mx3\n", - " Blade Cooling Air\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " NGPreheater\n", - " \n", - " To HRSG\n", - " \n", - " \n", - " \n", - " \n", - " air01\n", - " \n", - " \n", - " air03\n", - " \n", - " \n", - " air02\n", - " \n", - " \n", - " air04\n", - " \n", - " \n", - " fuel01\n", - " \n", - " \n", - " fuel02\n", - " \n", - " \n", - " \n", - " \n", - " st02\n", - " st01\n", - " \n", - " \n", - " air05\n", - " \n", - " \n", - " air06\n", - " \n", - " \n", - " g02\n", - " \n", - " \n", - " g01\n", - " \n", - " \n", - " air09\n", - " \n", - " \n", - " air10\n", - " \n", - " \n", - " air07\n", - " \n", - " \n", - " g03\n", - " \n", - " \n", - " g04\n", - " \n", - " \n", - " g05\n", - " \n", - " \n", - " g06\n", - " \n", - " \n", - " g07\n", - " \n", - " \n", - " g08\n", - " \n", - " \n", - " air08\n", - " \n", - " \n", - " Summary\n", - " total GT power:\n", - " 476.99 MW\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " air01\n", - " \n", - " \n", - " \n", - " air02\n", - " \n", - " \n", - " \n", - " air03\n", - " \n", - " \n", - " \n", - " air04\n", - " \n", - " \n", - " \n", - " fuel01\n", - " \n", - " \n", - " \n", - " fuel02\n", - " \n", - " \n", - " feed_air1\n", - " \n", - " \n", - " st02\n", - " \n", - " \n", - " \n", - " st01\n", - " \n", - " \n", - " \n", - " air05\n", - " \n", - " \n", - " \n", - " air06\n", - " \n", - " \n", - " exhaust_1\n", - " \n", - " \n", - " g01\n", - " \n", - " \n", - " \n", - " g02\n", - " \n", - " \n", - " \n", - " air09\n", - " \n", - " \n", - " \n", - " air10\n", - " \n", - " \n", - " \n", - " air07\n", - " \n", - " \n", - " \n", - " g03\n", - " \n", - " \n", - " \n", - " g04\n", - " \n", - " \n", - " \n", - " g05\n", - " \n", - " \n", - " \n", - " g07\n", - " \n", - " \n", - " \n", - " g06\n", - " \n", - " \n", - " \n", - " g08\n", - " \n", - " \n", - " \n", - " air08\n", - " \n", - " \n", - " \n", - " \n", - " 299.82 K\n", - " 25.946 kg/s\n", - " 31.026 bar\n", - " 1.000%\n", - " 93.100%\n", - " 0.000%\n", - " 1.600%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yCH4:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " 3.200%\n", - " yC2H6:\n", - " 0.700%\n", - " yC3H8:\n", - " 0.400%\n", - " yC4H10:\n", - " \n", - " \n", - " \n", - " 335.99 K\n", - " 18.526 kg/s\n", - " 43.355 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 457.27 K\n", - " 18.526 kg/s\n", - " 43.355 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " NG PreharerUses Hot WaterFrom HRSG\n", - " \n", - " \n", - " 448.75 K\n", - " 25.946 kg/s\n", - " 31.026 bar\n", - " 1.000%\n", - " 93.100%\n", - " 0.000%\n", - " 1.600%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yCH4:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " 3.200%\n", - " yC2H6:\n", - " 0.700%\n", - " yC3H8:\n", - " 0.400%\n", - " yC4H10:\n", - " \n", - " \n", - " power:\n", - " 481.28 MW\n", - " \n", - " \n", - " isentr. efficiency:\n", - " 84.02%\n", - " isentr. head:\n", - " 367.27 kJ/kg\n", - " inlet vol. flow:\n", - " 883.2 m**3/s\n", - " \n", - " 288.15 K\n", - " 1100.984 kg/s\n", - " 1.034 bar\n", - " 0.030%\n", - " 0.990%\n", - " 0.920%\n", - " 20.740%\n", - " 77.320%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 288.17 K\n", - " 1100.984 kg/s\n", - " 1.099 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 709.64 K\n", - " 1100.984 kg/s\n", - " 19.226 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 709.64 K\n", - " 1008.614 kg/s\n", - " 19.226 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 691.89 K\n", - " 1034.561 kg/s\n", - " 19.226 bar\n", - " 0.070%\n", - " 3.842%\n", - " 19.884%\n", - " 74.195%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yCH4:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " 0.132%\n", - " yC2H6:\n", - " 0.029%\n", - " yC3H8:\n", - " 0.017%\n", - " yC4H10:\n", - " \n", - " \n", - " \n", - " 1641.38 K\n", - " 1034.691 kg/s\n", - " 18.265 bar\n", - " 4.324%\n", - " 9.217%\n", - " 0.000%\n", - " 11.471%\n", - " 74.106%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yCH4:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " 0.000%\n", - " yC2H6:\n", - " 0.000%\n", - " yC3H8:\n", - " 0.000%\n", - " yC4H10:\n", - " 0.881%\n", - " yAr:\n", - " \n", - " \n", - " \n", - " power:\n", - " -374.58 MW\n", - " \n", - " \n", - " isentr. efficiency:\n", - " 88.53%\n", - " isentr. head:\n", - " -408.95 kJ/kg\n", - " inlet vol. flow:\n", - " 273.6 m**3/s\n", - " \n", - " \n", - " \n", - " 898.00 K\n", - " 1127.060 kg/s\n", - " 1.100 bar\n", - " 3.978%\n", - " 8.554%\n", - " 0.884%\n", - " 12.219%\n", - " 74.365%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " 899.61 K\n", - " 1116.809 kg/s\n", - " 1.100 bar\n", - " 4.014%\n", - " 8.622%\n", - " 0.884%\n", - " 12.142%\n", - " 74.339%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 1094.58 K\n", - " 1116.809 kg/s\n", - " 2.799 bar\n", - " 4.014%\n", - " 8.622%\n", - " 0.884%\n", - " 12.142%\n", - " 74.339%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 709.76 K\n", - " 14.769 kg/s\n", - " 2.799 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 1099.28 K\n", - " 1102.041 kg/s\n", - " 2.799 bar\n", - " 4.066%\n", - " 8.723%\n", - " 0.883%\n", - " 12.028%\n", - " 74.299%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 1329.41 K\n", - " 1102.041 kg/s\n", - " 7.137 bar\n", - " 4.066%\n", - " 8.723%\n", - " 0.883%\n", - " 12.028%\n", - " 74.299%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 1365.44 K\n", - " 1034.691 kg/s\n", - " 7.137 bar\n", - " 4.324%\n", - " 9.217%\n", - " 0.881%\n", - " 11.471%\n", - " 74.106%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " power:\n", - " -264.25 MW\n", - " \n", - " \n", - " isentr. efficiency:\n", - " 88.19%\n", - " isentr. head:\n", - " -268.31 kJ/kg\n", - " inlet vol. flow:\n", - " 1280.2 m**3/s\n", - " \n", - " \n", - " \n", - " 709.77 K\n", - " 10.250 kg/s\n", - " 1.100 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 85.0%\n", - " opening:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 85.0%\n", - " opening:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 85.0%\n", - " opening:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 709.73 K\n", - " 67.350 kg/s\n", - " 7.137 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " power:\n", - " -319.43 MW\n", - " \n", - " \n", - " isentr. efficiency:\n", - " 88.35%\n", - " isentr. head:\n", - " -328.07 kJ/kg\n", - " inlet vol. flow:\n", - " 602.3 m**3/s\n", - " \n", - " \n", - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "HRSG Section\n", - "\n" - ] - }, - { - "data": { - "image/svg+xml": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " image/svg+xml\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " IPSH1\n", - " IPSH2\n", - " IPSH3\n", - " HPSH3\n", - " HPSH2\n", - " HPSH1\n", - " HPEVAP\n", - " HPECON5\n", - " LPECON\n", - " LPEVAP\n", - " LPDRUM\n", - " HPSH4\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " HPECON4\n", - " HPECON3\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " LPSH1\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " Gas Turbine Exhaust\n", - " HP Steam\n", - " IP Steam\n", - " \n", - " Feedwater\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " HPECON1\n", - " \n", - " \n", - " \n", - " \n", - " HPECON2\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " IPECON1\n", - " IPECON2\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " IPEVAP\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " Cold Reheat\n", - " \n", - " \n", - " \n", - " \n", - " From HP ECON2\n", - " To HP ECON3\n", - " \n", - " \n", - " LP Steam\n", - " \n", - " \n", - " \n", - " Mixer1\n", - " \n", - " LP_FGsplit\n", - " \n", - " \n", - " \n", - " \n", - " LP_Mixer2\n", - " IPPump\n", - " HPPump\n", - " IP_Mixer1\n", - " IP_Splitter2\n", - " To Ejector\n", - " To Reclaimer\n", - " To Dryer\n", - " To NG Preheater\n", - " From NG Preheater\n", - " To Stack or Capture\n", - " IP_Splitter1\n", - " Splitter1\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " SOEC Makeup\n", - " \n", - " \n", - " \n", - " \n", - " lp01\n", - " \n", - " \n", - " \n", - " lp02\n", - " \n", - " \n", - " \n", - " lp03\n", - " \n", - " \n", - " \n", - " lp04\n", - " \n", - " \n", - " \n", - " lp12\n", - " \n", - " \n", - " \n", - " lp05\n", - " \n", - " \n", - " \n", - " lp13\n", - " \n", - " \n", - " \n", - " g30\n", - " \n", - " \n", - " \n", - " g19\n", - " \n", - " \n", - " \n", - " hp03\n", - " \n", - " \n", - " \n", - " hp04\n", - " \n", - " \n", - " \n", - " hp05\n", - " \n", - " \n", - " \n", - " g18\n", - " \n", - " \n", - " \n", - " hp06\n", - " \n", - " \n", - " \n", - " hp06b\n", - " \n", - " \n", - " \n", - " g15\n", - " \n", - " \n", - " \n", - " ip06\n", - " \n", - " \n", - " \n", - " g14\n", - " \n", - " \n", - " \n", - " g17\n", - " \n", - " \n", - " \n", - " g16\n", - " \n", - " \n", - " \n", - " hp07\n", - " \n", - " \n", - " \n", - " hp08\n", - " \n", - " \n", - " \n", - " hp09\n", - " \n", - " \n", - " \n", - " hp10\n", - " \n", - " \n", - " \n", - " hp11\n", - " \n", - " \n", - " \n", - " g13\n", - " \n", - " \n", - " \n", - " g12\n", - " \n", - " \n", - " \n", - " g11\n", - " \n", - " \n", - " \n", - " g08\n", - " \n", - " \n", - " \n", - " g09\n", - " \n", - " \n", - " \n", - " ip10\n", - " \n", - " \n", - " \n", - " ip09\n", - " \n", - " \n", - " \n", - " ip08\n", - " \n", - " \n", - " \n", - " ip07\n", - " \n", - " \n", - " \n", - " g10\n", - " \n", - " \n", - " \n", - " g28\n", - " \n", - " \n", - " \n", - " ip11\n", - " \n", - " \n", - " \n", - " ip012\n", - " \n", - " \n", - " \n", - " ip013\n", - " \n", - " \n", - " \n", - " ip14\n", - " \n", - " \n", - " \n", - " ip015\n", - " \n", - " \n", - " \n", - " lp09\n", - " \n", - " \n", - " \n", - " lp08\n", - " \n", - " \n", - " \n", - " lp06\n", - " \n", - " \n", - " \n", - " hp01\n", - " \n", - " \n", - " \n", - " hp02\n", - " \n", - " \n", - " \n", - " hp03\n", - " \n", - " \n", - " \n", - " ip01\n", - " \n", - " \n", - " \n", - " ip02\n", - " \n", - " \n", - " \n", - " ip03\n", - " \n", - " \n", - " \n", - " g25\n", - " \n", - " \n", - " \n", - " g26\n", - " \n", - " \n", - " \n", - " g27\n", - " \n", - " \n", - " \n", - " ip05\n", - " \n", - " \n", - " \n", - " ip04\n", - " \n", - " \n", - " \n", - " g24\n", - " \n", - " \n", - " \n", - " g23\n", - " \n", - " \n", - " \n", - " g29\n", - " \n", - " \n", - " \n", - " lp10\n", - " \n", - " \n", - " \n", - " lp11\n", - " \n", - " \n", - " \n", - " g21\n", - " \n", - " \n", - " \n", - " g20\n", - " \n", - " \n", - " \n", - " g22\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " lp01\n", - " \n", - " \n", - " lp02\n", - " \n", - " \n", - " lp03\n", - " \n", - " \n", - " lp04\n", - " \n", - " \n", - " lp12\n", - " \n", - " \n", - " \n", - " lp05\n", - " \n", - " lp13\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " g30\n", - " \n", - " g29\n", - " g28\n", - " \n", - " \n", - " ip11\n", - " \n", - " ip06\n", - " g17\n", - " \n", - " \n", - " g16\n", - " g15\n", - " \n", - " \n", - " g14\n", - " hp07\n", - " \n", - " \n", - " hp08\n", - " hp06b\n", - " \n", - " hp06\n", - " \n", - " g19\n", - " \n", - " hp03\n", - " \n", - " g18\n", - " hp04\n", - " hp05\n", - " hp09\n", - " hp10\n", - " hp11\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " g12\n", - " g13\n", - " g11\n", - " g08\n", - " g09\n", - " ip08\n", - " ip09\n", - " ip10\n", - " ip07\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " g10\n", - " \n", - " ip14\n", - " ip13\n", - " ip12\n", - " ip15\n", - " \n", - " \n", - " \n", - " \n", - " ip06\n", - " \n", - " ip08\n", - " ip09\n", - " \n", - " \n", - " \n", - " hp01\n", - " hp02\n", - " hp03\n", - " \n", - " \n", - " \n", - " g27\n", - " g26\n", - " ip02\n", - " ip01\n", - " ip03\n", - " \n", - " \n", - " \n", - " \n", - " g25\n", - " \n", - " g24\n", - " \n", - " ip05\n", - " \n", - " ip04\n", - " \n", - " g23\n", - " \n", - " \n", - " g22\n", - " \n", - " lp11\n", - " lp10\n", - " g21\n", - " g20\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 382.51 K\n", - " 1.010 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 180.904 kg/s\n", - " 356.59 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 410.40 K\n", - " 1.010 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 0.000 kg/s\n", - " 443.56 K\n", - " 8.000 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 18.526 kg/s\n", - " 335.99 K\n", - " 43.355 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 199.430 kg/s\n", - " 435.43 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 22.669 kg/s\n", - " 435.43 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 199.430 kg/s\n", - " 394.15 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 556.520 kg/s\n", - " 547.38 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 199.430 kg/s\n", - " 435.43 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 180.904 kg/s\n", - " 399.98 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 40.345 kg/s\n", - " 435.43 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 40.345 kg/s\n", - " 436.13 K\n", - " 43.850 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 40.345 kg/s\n", - " 457.27 K\n", - " 43.355 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 22.669 kg/s\n", - " 557.10 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 556.520 kg/s\n", - " 557.25 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 556.520 kg/s\n", - " 557.25 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 552.32 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 21.818 kg/s\n", - " 510.22 K\n", - " 42.352 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 176.761 kg/s\n", - " 435.43 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 18.526 kg/s\n", - " 457.27 K\n", - " 43.355 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 435.43 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 479.13 K\n", - " 1.010 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 439.77 K\n", - " 244.000 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 21.818 kg/s\n", - " 457.27 K\n", - " 43.355 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 520.59 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 516.28 K\n", - " 1.012 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 514.35 K\n", - " 1.011 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 511.29 K\n", - " 1.010 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 504.84 K\n", - " 243.913 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 508.62 K\n", - " 243.829 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 157.430 kg/s\n", - " 855.94 K\n", - " 30.909 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 157.430 kg/s\n", - " 710.16 K\n", - " 33.408 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 157.430 kg/s\n", - " 600.93 K\n", - " 34.177 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 21.818 kg/s\n", - " 556.91 K\n", - " 42.146 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 135.612 kg/s\n", - " 610.47 K\n", - " 34.177 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 21.818 kg/s\n", - " 527.32 K\n", - " 42.352 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 610.47 K\n", - " 34.177 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 858.53 K\n", - " 172.428 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 898.00 K\n", - " 1.100 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 880.11 K\n", - " 1.098 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 735.19 K\n", - " 173.171 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 796.53 K\n", - " 172.830 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 786.52 K\n", - " 1.092 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 576.08 K\n", - " 1.047 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 577.92 K\n", - " 1.081 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 755.13 K\n", - " 1.083 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 840.55 K\n", - " 1.096 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 557.25 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 568.07 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 529.72 K\n", - " 243.746 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 544.93 K\n", - " 243.667 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 557.78 K\n", - " 243.589 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 627.24 K\n", - " 173.589 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 659.11 K\n", - " 173.415 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 584.88 K\n", - " 1.081 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 723.83 K\n", - " 1.081 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 557.34 K\n", - " 173.589 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 820.55 K\n", - " 1.094 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "Steam Turbine Section\n", - "\n" - ] - }, - { - "data": { - "image/svg+xml": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " image/svg+xml\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " HRSG\n", - " Cold Flue Gas\n", - " Gas Turbine Exhaust\n", - " Makeup Water\n", - " HP\n", - " IP\n", - " LP\n", - " Condensate Pump\n", - " Condenser\n", - " \n", - " \n", - " Cold Reheat\n", - " Hot Reheat\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " From Dryer\n", - " From Reclaimer\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " To Reclaimer\n", - " To Dryer\n", - " To Ejector\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " From NG Preheater\n", - " To NG Preheater\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " CaptureReboiler\n", - " \n", - " \n", - " \n", - " \n", - " To SOEC\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " t01\n", - " \n", - " \n", - " \n", - " t02\n", - " \n", - " \n", - " \n", - " t11\n", - " \n", - " \n", - " \n", - " t15\n", - " \n", - " \n", - " \n", - " t14\n", - " \n", - " \n", - " \n", - " t13\n", - " \n", - " \n", - " \n", - " t10\n", - " \n", - " \n", - " \n", - " t09\n", - " \n", - " \n", - " \n", - " t13\n", - " \n", - " \n", - " \n", - " t04\n", - " \n", - " \n", - " \n", - " t05\n", - " \n", - " \n", - " \n", - " t03\n", - " \n", - " \n", - " \n", - " t06\n", - " \n", - " \n", - " \n", - " t07\n", - " \n", - " \n", - " \n", - " t08\n", - " \n", - " \n", - " \n", - " t12\n", - " \n", - " \n", - " \n", - " cw01\n", - " \n", - " \n", - " \n", - " cw02\n", - " \n", - " \n", - " \n", - " t18\n", - " \n", - " \n", - " \n", - " t17\n", - " \n", - " \n", - " \n", - " t16\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " t01\n", - " \n", - " t02\n", - " \n", - " \n", - " t11\n", - " \n", - " \n", - " t15\n", - " \n", - " \n", - " t14\n", - " \n", - " \n", - " t10\n", - " \n", - " \n", - " t09\n", - " \n", - " \n", - " t13\n", - " \n", - " \n", - " t04\n", - " \n", - " \n", - " t05\n", - " \n", - " \n", - " t08\n", - " \n", - " \n", - " t12\n", - " \n", - " \n", - " cw01\n", - " \n", - " \n", - " cw02\n", - " \n", - " \n", - " t16\n", - " \n", - " \n", - " t18\n", - " \n", - " \n", - " t17\n", - " \n", - " t03\n", - " \n", - " t06\n", - " \n", - " t07\n", - " \n", - " \n", - " \n", - " 136.416 kg/s\n", - " 858.53 K\n", - " 172.428 bar\n", - " 63.487 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 157.430 kg/s\n", - " 855.94 K\n", - " 30.909 bar\n", - " 65.630 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 0.806 kg/s\n", - " 306.25 K\n", - " 1.013 bar\n", - " 2.500 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 3603.054 kg/s\n", - " 289.70 K\n", - " 5.000 bar\n", - " 1.260 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 111.286 kg/s\n", - " 316.88 K\n", - " 0.090 bar\n", - " 45.114 kJ/mol\n", - " 0.968\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " 22.669 kg/s\n", - " 557.10 K\n", - " 6.550 bar\n", - " 54.533 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 0.002 kg/s\n", - " 577.72 K\n", - " 4.592 bar\n", - " 55.397 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 68.812 kg/s\n", - " 577.72 K\n", - " 4.592 bar\n", - " 55.397 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 157.430 kg/s\n", - " 581.07 K\n", - " 4.592 bar\n", - " 55.522 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 136.416 kg/s\n", - " 610.47 K\n", - " 34.177 bar\n", - " 55.412 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " 111.286 kg/s\n", - " 577.72 K\n", - " 4.592 bar\n", - " 55.397 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 180.904 kg/s\n", - " 356.59 K\n", - " 6.550 bar\n", - " 6.304 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " 0.001 kg/s\n", - " 487.00 K\n", - " 20.000 bar\n", - " 50.496 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 0.000 kg/s\n", - " 476.00 K\n", - " 16.000 bar\n", - " 50.393 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 111.286 kg/s\n", - " 316.88 K\n", - " 0.090 bar\n", - " 3.299 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 3603.054 kg/s\n", - " 306.85 K\n", - " 5.000 bar\n", - " 2.552 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " 68.812 kg/s\n", - " 420.51 K\n", - " 4.592 bar\n", - " 11.184 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " 112.092 kg/s\n", - " 316.80 K\n", - " 0.090 bar\n", - " 3.293 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " 112.092 kg/s\n", - " 316.86 K\n", - " 6.550 bar\n", - " 3.308 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "def display_pfd():\n", " print(\"\\n\\nGas Turbine Section\\n\")\n", @@ -2815,28 +212,7 @@ "cell_type": "code", "execution_count": 8, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAGdCAYAAAD0e7I1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAABF2UlEQVR4nO3deVhU9f4H8PcAw+4Mi8CAIuBSQKGYC4xwBRVFU9OkMkPFckkvZmiaoV4jMzXT3C5q1wXqpu1qhfuGehUQcUMhXEIxdcBSQFQW4fv7w4fza8IFEBg8vV/Pc57Hc77fc87nDEfmzTnfM6MQQggQERERyZSRoQsgIiIiqk8MO0RERCRrDDtEREQkaww7REREJGsMO0RERCRrDDtEREQkaww7REREJGsMO0RERCRrJoYuoDGoqKjAlStX0KRJEygUCkOXQ0RERNUghMDNmzfh4uICI6MHX79h2AFw5coVuLq6GroMIiIiqoVLly6hefPmD2xn2AHQpEkTAPdeLJVKZeBqiIiIqDoKCwvh6uoqvY8/CMMOIN26UqlUDDtERERPmEcNQeEAZSIiIpI1hh0iIiKSNYYdIiIikjWO2SEioirKy8tRVlZm6DLob87Y2BgmJiaP/bEwDDtERKSnqKgIv/32G4QQhi6FCJaWlnB2doapqWmtt2HQsOPu7o6LFy9WWf7Pf/4TsbGxKC4uxjvvvIOvv/4aJSUlCA0NxfLly+Hk5CT1zcnJwbhx47B3715YW1sjIiICc+fOhYkJcxwRUU2Vl5fjt99+g6WlJRwcHPhBq2QwQgiUlpbi2rVryM7ORps2bR76wYEPY9BEkJqaivLycmn+1KlT6NmzJ15++WUAwMSJE7F582Z89913UKvVGD9+PAYNGoSDBw8CuPefsm/fvtBoNDh06BCuXr2K4cOHQ6lUYs6cOQY5JiKiJ1lZWRmEEHBwcICFhYWhy6G/OQsLCyiVSly8eBGlpaUwNzev1XYUohFdp4yKikJCQgLOnj2LwsJCODg4YP369XjppZcAAL/88gu8vLyQlJQEf39/bN26Ff369cOVK1ekqz0rV67E1KlTce3atWpf8iosLIRarUZBQQE/Z4eI/taKi4uRnZ0NDw+PWr+xENWlh52T1X3/bjRPY5WWluLLL7/EG2+8AYVCgbS0NJSVlSEkJETq4+npiRYtWiApKQkAkJSUBB8fH73bWqGhoSgsLMTp06cfuK+SkhIUFhbqTURERCRPjSbsbNq0Cfn5+RgxYgQAQKfTwdTUFDY2Nnr9nJycoNPppD5/DjqV7ZVtDzJ37lyo1Wpp4vdiERERyVejGcW7Zs0a9OnTBy4uLvW+r+joaEyaNEmar/xuDSIiuj/39zY36P4uzOvboPv7O7hw4QI8PDxw7Ngx+Pr6IjExEd26dcONGzeqXFiQm0ZxZefixYvYtWsXRo0aJS3TaDQoLS1Ffn6+Xt/c3FxoNBqpT25ubpX2yrYHMTMzk74Hi9+HRUT05BsxYgQUCgXmzZunt3zTpk16T5QlJiZCoVDcd9LpdHB3d39gu0KhkO4+KBQKbNq0qdr1/Xm7xsbGcHFxwciRI3Hjxo26OPxa6dKlC65evQq1Wm2wGhpKowg7cXFxcHR0RN++/5/kO3ToAKVSid27d0vLsrKykJOTA61WCwDQarVIT09HXl6e1Gfnzp1QqVTw9vZuuAMgIiKDMzc3x8cff1ytAJGVlYWrV6/qTY6OjkhNTZXmf/jhhyp9lyxZUuv6Zs2ahatXryInJwfr1q3D/v37MWHChFpv73GZmppCo9H8LT5ewOBhp6KiAnFxcYiIiND7bBy1Wo2RI0di0qRJ2Lt3L9LS0vD6669Dq9XC398fANCrVy94e3tj2LBhOHHiBLZv344ZM2YgMjISZmZmhjokIiIygJCQEGg0GsydO/eRfR0dHaHRaPQmIyMjODg4SPN2dnZV+j7OVZAmTZpAo9GgWbNm6NatGyIiInD06FGp/Y8//sCQIUPQrFkzWFpawsfHB1999ZXeNr7//nv4+PjAwsIC9vb2CAkJwa1bt6T21atXw8vLC+bm5vD09MTy5csfWE/lVa7KOyjx8fGwsbHB9u3b4eXlBWtra/Tu3RtXr17VW68m+2gsDD5mZ9euXcjJycEbb7xRpW3RokUwMjJCWFiY3ocKVjI2NkZCQgLGjRsHrVYLKysrREREYNasWQ15CESNWkOPtWiMLpi/ZugSDCumwNAVNAhjY2PMmTMHr732GiZMmIDmzZsbuqQHunz5Mn7++Wf4+flJy4qLi9GhQwdMnToVKpUKmzdvxrBhw9CqVSt07twZV69exZAhQzB//ny8+OKLuHnzJg4cOCB90vW6deswc+ZM/Pvf/0b79u1x7NgxjB49WnpvrI7bt29jwYIF+O9//wsjIyMMHToUkydPxrp16+psH4Zg8LDTq1evB34kubm5OWJjYxEbG/vA9d3c3LBly5b6Ko+IiJ4gL774Inx9ffH+++9jzZo1D+z31yDk5ub20I8sqQtTp07FjBkzUF5ejuLiYvj5+eHTTz+V2ps1a4bJkydL82+99Ra2b9+Ob7/9Vgo7d+/exaBBg+Dm5gYA8PHxkfq///77WLhwIQYNGgQA8PDwQEZGBj777LNqB5GysjKsXLkSrVq1AgCMHz9e7wJCXezDEAwedoiIiOrSxx9/jO7du+sFh786cOAAmjRpIs0rlcp6r2vKlCkYMWIEhBC4dOkSpk2bhr59+2L//v0wNjZGeXk55syZg2+//RaXL19GaWkpSkpKYGlpCQBo164devToAR8fH4SGhqJXr1546aWXYGtri1u3buH8+fMYOXIkRo8eLe3z7t27Nbr1ZmlpKQUdAHB2dpbGxdbVPgyBYYeIiGSla9euCA0NRXR0tPT01F95eHg0+OPWTZs2RevWrQEAbdq0weLFi6HVarF3716EhITgk08+wZIlS7B48WL4+PjAysoKUVFRKC0tBXDvNt3OnTtx6NAh7NixA8uWLcP06dORkpIiBaJVq1bp3RqrXK+6/hr6FAqFdPelqKioTvZhCAw7REQkO/PmzYOvry+efvppQ5fyQJUB4c6dOwCAgwcPYsCAARg6dCiAew/wnDlzRu/pYoVCgYCAAAQEBGDmzJlwc3PDxo0bMWnSJLi4uODXX39FeHh4vdTr5ORU7/uoLww7REQkOz4+PggPD8fSpUvv256Xl4fi4mK9Zfb29jW6nZWdnY3jx4/rLWvTpg2srKzu2//mzZvQ6XTSbax3330XDg4O6NKli7Tu999/j0OHDsHW1haffvopcnNzpbCTkpKC3bt3o1evXnB0dERKSgquXbsGLy8vAMAHH3yACRMmQK1Wo3fv3igpKcGRI0dw48YNvQ/SfRwNsY/6wLBDRESP9CR+ovGsWbPwzTff3Lftfld8Kr9kurru9+Z+4MABBAYG3rf/zJkzMXPmTACAg4MDOnXqhB07dsDe3h4AMGPGDPz6668IDQ2FpaUlxowZg4EDB6Kg4N7TdCqVCvv378fixYtRWFgINzc3LFy4EH369AEAjBo1CpaWlvjkk08wZcoUWFlZwcfHB1FRUdU+pkdpiH3Uh0b1reeGwm89Jznjo+d89Lwmj57zW8+psZHVt54TERER1QeGHSIiIpI1hh0iIiKSNYYdIiIikjWGHSIiIpI1hh0iIiKSNYYdIiIikjWGHSIiIpI1hh0iIqK/geDgYL1POnZ3d8fixYsfa5t1sY2GwK+LICKiR4tRN/D+qv+pzwAwYsQI5OfnY9OmTdL8559/DgAwMTGBnZ0d2rZtiyFDhmDEiBEwMqr6t35oaCh27dqF5ORkdOrUqcr2K7f313W2bdsGADhx4gT+9a9/ITk5GYWFhdBoNPDz88OyZcvg6Oh437qDg4Oxb98+AICZmRlatmyJ8ePH45///GeNjr82UlNTH/g9Xn8VHx+PqKgo5Ofn13obhsQrO0REJEu9e/fG1atXceHCBWzduhXdunXD22+/jX79+uHu3bt6fXNycnDo0CGMHz8ea9eufej2/jx99dVXAIBr166hR48esLOzw/bt25GZmYm4uDi4uLjg1q1bD61z9OjRuHr1KjIyMvDKK68gMjJS2u5flZaW1uKVuD8HBwdYWloafBsNgWGHiIhkyczMDBqNBs2aNcNzzz2HadOm4ccff8TWrVsRHx+v1zcuLg79+vXDuHHj8NVXX+HOnTsP3N6fJ1tbWwDAwYMHUVBQgNWrV6N9+/bw8PBAt27dsGjRInh4eDy0TktLS2g0GrRs2RIxMTFo06YNfvrpJwD3rvyMHz8eUVFRaNq0KUJDQwEAp06dQp8+fWBtbQ0nJycMGzYMv//+u7TNW7duYfjw4bC2toazszMWLlxYZb9/vQWVn5+PN998E05OTjA3N8ezzz6LhIQEJCYm4vXXX0dBQQEUCgUUCgViYmLuu42cnBwMGDAA1tbWUKlUeOWVV5Cbmyu1x8TEwNfXF//973/h7u4OtVqNV199FTdv3nzoa/S4GHaIiOhvo3v37mjXrh02bNggLRNCIC4uDkOHDoWnpydat26N77//vkbb1Wg0uHv3LjZu3IjH/X5tCwsLvSs4n3/+OUxNTXHw4EGsXLkS+fn56N69O9q3b48jR45g27ZtyM3NxSuvvCKtM2XKFOzbtw8//vgjduzYgcTERBw9evSB+6yoqECfPn1w8OBBfPnll8jIyMC8efNgbGyMLl26YPHixVCpVNIVrcmTJ993GwMGDMD169exb98+7Ny5E7/++isGDx6s1+/8+fPYtGkTEhISkJCQgH379mHevHmP9Zo9CsfsEBHR34qnpydOnjwpze/atQu3b9+WrpoMHToUa9aswbBhw/TWS0hIgLW1td6yadOmYdq0afD398e0adPw2muvYezYsejcuTO6d++O4cOHw8nJqVp1lZeX46uvvsLJkycxZswYaXmbNm0wf/58aX727Nlo37495syZIy1bu3YtXF1dcebMGbi4uGDNmjX48ssv0aNHDwD3AlPz5s0fuO9du3bh8OHDyMzMxFNPPQUAaNmypdSuVquhUCig0WgeuI3du3cjPT0d2dnZcHV1BQB88cUXeOaZZ5CamiqNg6qoqEB8fDyaNGkCABg2bBh2796Njz76qFqvU23wyg4REf2tCCGgUCik+bVr12Lw4MEwMbn39/+QIUNw8OBBnD9/Xm+9bt264fjx43rT2LFjpfaPPvoIOp0OK1euxDPPPIOVK1fC09MT6enpD61n+fLlsLa2hoWFBUaPHo2JEydi3LhxUnuHDh30+p84cQJ79+6FtbW1NHl6egK4d9Xk/PnzKC0thZ+fn7SOnZ0dnn766QfWcPz4cTRv3lwKOrWRmZkJV1dXKegAgLe3N2xsbJCZmSktc3d3l4IOADg7OyMvL6/W+60OXtmpZ+7vbTZ0CQZ3wfw1Q5dgWDV8qoSI6ldmZqY0jub69evYuHEjysrKsGLFCqlPeXk51q5dq3e1wcrKCq1bt37otu3t7fHyyy/j5Zdfxpw5c9C+fXssWLDgvk9yVQoPD8f06dNhYWEBZ2fnKk+K/fVpp6KiIvTv3x8ff/xxlW05Ozvj3LlzD63xfiwsLGq8Tm0plUq9eYVCgYqKinrdJ6/sEBHR38aePXuQnp6OsLAwAMC6devQvHlznDhxQu+KzcKFCxEfH4/y8vJa78vU1BStWrV65NNYarUarVu3RrNmze77SPxfPffcczh9+jTc3d3RunVrvcnKygqtWrWCUqlESkqKtM6NGzdw5syZB26zbdu2+O233x7Yx9TU9JGvhZeXFy5duoRLly5JyzIyMpCfnw9vb+9HHld9YtghIiJZKikpgU6nw+XLl3H06FHMmTMHAwYMQL9+/TB8+HAAwJo1a/DSSy/h2Wef1ZtGjhyJ33//XfoMnT9v789T5RNQCQkJGDp0KBISEnDmzBlkZWVhwYIF2LJlCwYMGFCnxxUZGYnr169jyJAhSE1Nxfnz57F9+3a8/vrrKC8vh7W1NUaOHIkpU6Zgz549OHXq1AM/W6hSUFAQunbtirCwMOzcuRPZ2dnYunWrdPzu7u4oKirC7t278fvvv+P27dtVthESEgIfHx+Eh4fj6NGjOHz4MIYPH46goCB07NixTl+DmmLYISIiWdq2bRucnZ3h7u6O3r17Y+/evVi6dCl+/PFHGBsbIy0tDSdOnJCu8vyZWq1Gjx49sGbNmirb+/MUGBgI4N7YFEtLS7zzzjvw9fWFv78/vv32W6xevbrKQOfH5eLigoMHD6K8vBy9evWCj48PoqKiYGNjIwWaTz75BP/4xz/Qv39/hISEIDAwsMrYn7/64Ycf0KlTJwwZMgTe3t549913pas5Xbp0wdixYzF48GA4ODjoDZiupFAo8OOPP8LW1hZdu3ZFSEgIWrZsiW+++aZOj782FOJxn5GTgcLCQqjVahQUFEClUtXptjlmh2N2DD1mh+cgz8GanIPFxcXIzs6Gh4cHzM3N67Eooup52DlZ3fdvXtkhIiIiWWPYISIiIllj2CEiIiJZY9ghIiIiWWPYISIiIllj2CEioir4oC41FnVxLjLsEBGRxNjYGAD0vnWbyJAqP8Dwr18zURP8biwiIpKYmJjA0tIS165dg1KprNbXFxDVByEEbt++jby8PNjY2EhBvDYYdoiISKJQKODs7Izs7GxcvHjR0OUQwcbGBhqN5rG2wbBDRER6TE1N0aZNG97KIoNTKpWPdUWnEsMOERFVYWRkxK+LINngzVgiIiKSNYYdIiIikjWGHSIiIpI1g4edy5cvY+jQobC3t4eFhQV8fHxw5MgRqV0IgZkzZ8LZ2RkWFhYICQnB2bNn9bZx/fp1hIeHQ6VSwcbGBiNHjkRRUVFDHwoRERE1QgYNOzdu3EBAQACUSiW2bt2KjIwMLFy4ELa2tlKf+fPnY+nSpVi5ciVSUlJgZWWF0NBQFBcXS33Cw8Nx+vRp7Ny5EwkJCdi/fz/GjBljiEMiIiKiRsagT2N9/PHHcHV1RVxcnLTMw8ND+rcQAosXL8aMGTMwYMAAAMAXX3wBJycnbNq0Ca+++ioyMzOxbds2pKamomPHjgCAZcuW4fnnn8eCBQvg4uLSsAdFREREjYpBr+z89NNP6NixI15++WU4Ojqiffv2WLVqldSenZ0NnU6HkJAQaZlarYafnx+SkpIAAElJSbCxsZGCDgCEhITAyMgIKSkp991vSUkJCgsL9SYiIiKSJ4OGnV9//RUrVqxAmzZtsH37dowbNw4TJkzA559/DgDQ6XQAACcnJ731nJycpDadTgdHR0e9dhMTE9jZ2Ul9/mru3LlQq9XS5OrqWteHRkRERI2EQcNORUUFnnvuOcyZMwft27fHmDFjMHr0aKxcubJe9xsdHY2CggJpunTpUr3uj4iIiAzHoGHH2dkZ3t7eesu8vLyQk5MDANJ3YeTm5ur1yc3Nldo0Gg3y8vL02u/evYvr168/8Ls0zMzMoFKp9CYiIiKSJ4OGnYCAAGRlZektO3PmDNzc3ADcG6ys0Wiwe/duqb2wsBApKSnQarUAAK1Wi/z8fKSlpUl99uzZg4qKCvj5+TXAURAREVFjZtCnsSZOnIguXbpgzpw5eOWVV3D48GH85z//wX/+8x8A9759NyoqCrNnz0abNm3g4eGBf/3rX3BxccHAgQMB3LsS1Lt3b+n2V1lZGcaPH49XX32VT2IRERGRYcNOp06dsHHjRkRHR2PWrFnw8PDA4sWLER4eLvV59913cevWLYwZMwb5+fkIDAzEtm3b9L6gbt26dRg/fjx69OgBIyMjhIWFYenSpYY4JCIiImpkFEIIYegiDK2wsBBqtRoFBQV1Pn7H/b3Ndbq9J9EF89cMXYJhxRQYdPc8B3kOGvocJKov1X3/NvjXRRARERHVJ4YdIiIikjWGHSIiIpI1hh0iIiKSNYYdIiIikjWGHSIiIpI1hh0iIiKSNYYdIiIikjWGHSIiIpI1hh0iIiKSNYYdIiIikjWGHSIiIpI1hh0iIiKSNYYdIiIikjWGHSIiIpI1hh0iIiKSNYYdIiIikjWGHSIiIpI1hh0iIiKSNYYdIiIikjWGHSIiIpI1hh0iIiKSNYYdIiIikjWGHSIiIpI1hh0iIiKSNYYdIiIikjWGHSIiIpI1hh0iIiKSNYYdIiIikjWGHSIiIpI1hh0iIiKSNYYdIiIikjWGHSIiIpI1hh0iIiKSNYYdIiIikjWGHSIiIpI1hh0iIiKSNYYdIiIikjWGHSIiIpI1hh0iIiKSNYOGnZiYGCgUCr3J09NTai8uLkZkZCTs7e1hbW2NsLAw5Obm6m0jJycHffv2haWlJRwdHTFlyhTcvXu3oQ+FiIiIGikTQxfwzDPPYNeuXdK8icn/lzRx4kRs3rwZ3333HdRqNcaPH49Bgwbh4MGDAIDy8nL07dsXGo0Ghw4dwtWrVzF8+HAolUrMmTOnwY+FiIiIGh+Dhx0TExNoNJoqywsKCrBmzRqsX78e3bt3BwDExcXBy8sLycnJ8Pf3x44dO5CRkYFdu3bByckJvr6++PDDDzF16lTExMTA1NS0oQ+HiIiIGhmDj9k5e/YsXFxc0LJlS4SHhyMnJwcAkJaWhrKyMoSEhEh9PT090aJFCyQlJQEAkpKS4OPjAycnJ6lPaGgoCgsLcfr06Qfus6SkBIWFhXoTERERyZNBw46fnx/i4+Oxbds2rFixAtnZ2fjHP/6BmzdvQqfTwdTUFDY2NnrrODk5QafTAQB0Op1e0Klsr2x7kLlz50KtVkuTq6tr3R4YERERNRoGvY3Vp08f6d9t27aFn58f3Nzc8O2338LCwqLe9hsdHY1JkyZJ84WFhQw8REREMmXw21h/ZmNjg6eeegrnzp2DRqNBaWkp8vPz9frk5uZKY3w0Gk2Vp7Mq5+83DqiSmZkZVCqV3kRERETy1KjCTlFREc6fPw9nZ2d06NABSqUSu3fvltqzsrKQk5MDrVYLANBqtUhPT0deXp7UZ+fOnVCpVPD29m7w+omIiKjxMehtrMmTJ6N///5wc3PDlStX8P7778PY2BhDhgyBWq3GyJEjMWnSJNjZ2UGlUuGtt96CVquFv78/AKBXr17w9vbGsGHDMH/+fOh0OsyYMQORkZEwMzMz5KERERFRI2HQsPPbb79hyJAh+OOPP+Dg4IDAwEAkJyfDwcEBALBo0SIYGRkhLCwMJSUlCA0NxfLly6X1jY2NkZCQgHHjxkGr1cLKygoRERGYNWuWoQ6JiIiIGhmDhp2vv/76oe3m5uaIjY1FbGzsA/u4ublhy5YtdV0aERERyUSjGrNDREREVNcYdoiIiEjWGHaIiIhI1hh2iIiISNYYdoiIiEjWDP6t50REJG/u7202dAkGd8H8NUOXYFgxBQbdPa/sEBERkawx7BAREZGsMewQERGRrDHsEBERkawx7BAREZGsMewQERGRrDHsEBERkawx7BAREZGsMewQERGRrDHsEBERkawx7BAREZGsMewQERGRrDHsEBERkawx7BAREZGsMewQERGRrDHsEBERkawx7BAREZGsMewQERGRrJnUdIX8/Hxs3LgRBw4cwMWLF3H79m04ODigffv2CA0NRZcuXeqjTiIiIqJaqfaVnStXrmDUqFFwdnbG7NmzcefOHfj6+qJHjx5o3rw59u7di549e8Lb2xvffPNNfdZMREREVG3VvrLTvn17REREIC0tDd7e3vftc+fOHWzatAmLFy/GpUuXMHny5DorlIiIiKg2qh12MjIyYG9v/9A+FhYWGDJkCIYMGYI//vjjsYsjIiIielzVvo1lb2+PkpKSam/4UcGIiIiIqCHUaICyWq2GVqtFt27d0K1bN/j7+0OpVNZXbURERESPrUaPnq9cuRJubm5Yu3YtgoKCYGNjg549e2Lu3LlITk5GeXl5fdVJREREVCs1CjsjRoxAfHw8Lly4gHPnzmHZsmVwcXHBypUrERAQAFtbW/Tt27e+aiUiIiKqsRp/zk6lli1bomXLlnjjjTeQnZ2NNWvWYNmyZdi2bVtd1kdERET0WGoVdnJycrB3714kJiYiMTERv//+O/z9/TF58mQEBQXVdY1EREREtVajsPPGG28gMTER169fR0BAAP7xj39gzJgx6NSpE0xMan2RiIiIiKje1CihxMfHo0WLFpg+fTp69OiB9u3bQ6FQ1FdtRERERI+tRmEnMzNTun21cOFClJSUIDAwEEFBQQgODsZzzz0HIyN+tygRERE1HjVKJk8//TTGjh2Lr7/+GjqdDgcPHsTzzz+Pw4cPo1+/frCzs0O/fv3qq1YiIiKiGnusgTbe3t6wt7eHra0tbG1t8fXXX2Pr1q11VRsRERHRY6tx2MnLy0NiYqJ0O+vMmTMwNTVF586dMXHiRHTr1q0+6iQiIiKqlRrdxvLy8oKzszOGDRuG9PR0vPTSS9ixYwdu3LiBffv2ISYmptaPns+bNw8KhQJRUVHSsuLiYkRGRsLe3h7W1tYICwtDbm6u3no5OTno27cvLC0t4ejoiClTpuDu3bu1qoGIiIjkp0ZXdgYOHIhu3bohMDAQlpaWdVZEamoqPvvsM7Rt21Zv+cSJE7F582Z89913UKvVGD9+PAYNGoSDBw8CAMrLy9G3b19oNBocOnQIV69exfDhw6FUKjFnzpw6q4+IiIieXDW6sjN37lz06tWrToNOUVERwsPDsWrVKtja2krLCwoKsGbNGnz66afo3r07OnTogLi4OBw6dAjJyckAgB07diAjIwNffvklfH190adPH3z44YeIjY1FaWlpndVIRERET64aXdmZNWtWtfrNnDmz2tuMjIxE3759ERISgtmzZ0vL09LSUFZWhpCQEGmZp6cnWrRogaSkJPj7+yMpKQk+Pj5wcnKS+oSGhmLcuHE4ffo02rdvf999lpSUoKSkRJovLCysdr1ERET0ZKlR2ImJiYGLiwscHR0hhLhvH4VCUe2w8/XXX+Po0aNITU2t0qbT6WBqagobGxu95U5OTtDpdFKfPwedyvbKtgeZO3cuPvjgg2rVSERERE+2GoWdPn36YM+ePejYsSPeeOMN9OvXr9YfInjp0iW8/fbb2LlzJ8zNzWu1jdqKjo7GpEmTpPnCwkK4uro2aA1ERETUMGqUVDZv3ozz58/Dz88PU6ZMQbNmzTB16lRkZWXVeMdpaWnIy8vDc889BxMTE5iYmGDfvn1YunQpTExM4OTkhNLSUuTn5+utl5ubC41GAwDQaDRVns6qnK/scz9mZmZQqVR6ExEREclTjS/LuLi4IDo6GllZWfjmm2+Ql5eHTp06ISAgAHfu3Kn2dnr06IH09HQcP35cmjp27Ijw8HDp30qlErt375bWycrKQk5ODrRaLQBAq9UiPT0deXl5Up+dO3dCpVLB29u7podGREREMvRYn6DcqVMnXLhwARkZGTh27BjKyspgYWFRrXWbNGmCZ599Vm+ZlZUV7O3tpeUjR47EpEmTYGdnB5VKhbfeegtarRb+/v4AgF69esHb2xvDhg3D/PnzodPpMGPGDERGRsLMzOxxDo2IiIhkolYDbpKSkjB69GhoNBosW7YMERERuHLlSp3fDlq0aBH69euHsLAwdO3aFRqNBhs2bJDajY2NkZCQAGNjY2i1WgwdOhTDhw+v9lNjREREJH81urIzf/58xMfH4/fff0d4eDgOHDhQ5YMAH0diYqLevLm5OWJjYxEbG/vAddzc3LBly5Y6q4GIiIjkpUZh57333kOLFi3wyiuvQKFQID4+/r79Pv3007qojYiIiOix1SjsdO3aFQqFAqdPn35gH4VC8dhFEREREdWVGoWdv95mIiIiImrsaveJgERERERPiGqHnXnz5uH27dvV6puSkoLNmzfXuigiIiKiulLtsJORkQE3Nzf885//xNatW3Ht2jWp7e7duzh58iSWL1+OLl26YPDgwWjSpEm9FExERERUE9Ues/PFF1/gxIkT+Pe//43XXnsNhYWFMDY2hpmZmXTFp3379hg1ahRGjBjR4N93RURERHQ/NRqg3K5dO6xatQqfffYZTp48iYsXL+LOnTto2rQpfH190bRp0/qqk4iIiKhWavV1EUZGRvD19YWvr28dl0NERERUt/g0FhEREckaww4RERHJGsMOERERyRrDDhEREclajcNOWVkZTExMcOrUqfqoh4iIiKhO1TjsKJVKtGjRAuXl5fVRDxEREVGdqtVtrOnTp2PatGm4fv16XddDREREVKdq9Tk7//73v3Hu3Dm4uLjAzc0NVlZWeu1Hjx6tk+KIiIiIHletws7AgQPruAwiIiKi+lGrsPP+++/XdR1ERERE9aLWj57n5+dj9erViI6OlsbuHD16FJcvX66z4oiIiIgeV62u7Jw8eRIhISFQq9W4cOECRo8eDTs7O2zYsAE5OTn44osv6rpOIiIiolqp1ZWdSZMmYcSIETh79izMzc2l5c8//zz2799fZ8URERERPa5ahZ3U1FS8+eabVZY3a9YMOp3usYsiIiIiqiu1CjtmZmYoLCyssvzMmTNwcHB47KKIiIiI6kqtws4LL7yAWbNmoaysDACgUCiQk5ODqVOnIiwsrE4LJCIiInoctQo7CxcuRFFRERwdHXHnzh0EBQWhdevWaNKkCT766KO6rpGIiIio1mr1NJZarcbOnTvxv//9DydPnkRRURGee+45hISE1HV9RERERI+lVmGnuLgY5ubmCAwMRGBgYF3XRERERFRnahV2bGxs0LlzZwQFBaFbt27QarWwsLCo69qIiIiIHlutxuzs2rULvXv3RkpKCl544QXY2toiMDAQ06dPx86dO+u6RiIiIqJaq1XYCQwMxLRp07Bjxw7k5+dj7969aN26NebPn4/evXvXdY1EREREtVar21jAvc/USUxMlKaSkhL069cPwcHBdVgeERER0eOpVdhp1qwZ7ty5g+DgYAQHB2Pq1Klo27YtFApFXddHRERE9FhqdRvLwcEBt2/fhk6ng06nQ25uLu7cuVPXtRERERE9tlqFnePHj0On0+G9995DSUkJpk2bhqZNm6JLly6YPn16XddIREREVGu1HrNjY2ODF154AQEBAejSpQt+/PFHfPXVV0hJSeGnKBMREVGjUauws2HDBmlgckZGBuzs7BAYGIiFCxciKCiormskIiIiqrVahZ2xY8eia9eu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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "from matplotlib import pyplot as plt\n", "\n", @@ -2961,4 +337,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/power_gen/ngcc/ngcc_test.ipynb b/idaes_examples/notebooks/docs/power_gen/ngcc/ngcc_test.ipynb index 7127641c..4a57e00d 100644 --- a/idaes_examples/notebooks/docs/power_gen/ngcc/ngcc_test.ipynb +++ b/idaes_examples/notebooks/docs/power_gen/ngcc/ngcc_test.ipynb @@ -1,2964 +1,340 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# NGCC Baseline and Turndown\n", - "Maintainer: Javal Vyas \n", - "Author: John Eslick \n", - "Updated: 2024-07-25 \n", - "\n", - "This notebook runs a series of net electric power outputs from 650 MW to 160 MW (about 100% to 25%) for an NGCC with 97% CO2 capture. The NGCC model is based on the NETL report \"Cost and Performance Baseline for Fossil Energy Plants Volume 1, Bituminous Coal and Natural Gas to Electricity.\" Sept 2019, Case B31B [resource](https://www.osti.gov/servlets/purl/1893822). Another valuable resource for gaining a deeper understanding of the mathematical model would be the publication referenced [here](https://www.sciencedirect.com/science/article/pii/S1750583617302414). " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Imports\n", - "\n", - "Import the modules that will be used." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "import os\n", - "import numpy as np\n", - "import pandas as pd\n", - "from IPython.core.display import SVG\n", - "import pyomo.environ as pyo\n", - "import idaes\n", - "from idaes.core.solvers import use_idaes_solver_configuration_defaults\n", - "import idaes.core.util.scaling as iscale\n", - "import idaes.core.util as iutil\n", - "from idaes_examples.mod.power_gen import ngcc\n", - "import idaes.logger as idaeslog\n", - "import pytest\n", - "import logging\n", - "\n", - "logging.getLogger(\"pyomo\").setLevel(logging.ERROR)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Make Output Directories\n", - "\n", - "This notebook can produce a large number of output files. To make it easier to manage, some subdirectories are used to organize output. This ensures that the directories exist." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "def make_directory(path):\n", - " \"\"\"Make a directory if it doesn't exist\"\"\"\n", - " try:\n", - " os.mkdir(path)\n", - " except FileExistsError:\n", - " pass\n", - "\n", - "\n", - "make_directory(\"data\")\n", - "make_directory(\"data_pfds\")\n", - "make_directory(\"data_tabulated\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Global Solver Settings\n", - "\n", - "Use the IDAES configuration system for solver settings. These will apply to all Ipopt instances created, including the ones created in initialization methods." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "use_idaes_solver_configuration_defaults()\n", - "idaes.cfg.ipopt.options.nlp_scaling_method = \"user-scaling\"\n", - "idaes.cfg.ipopt.options.linear_solver = \"ma57\"\n", - "idaes.cfg.ipopt.options.OF_ma57_automatic_scaling = \"yes\"\n", - "idaes.cfg.ipopt.options.ma57_pivtol = 1e-5\n", - "idaes.cfg.ipopt.options.ma57_pivtolmax = 0.1\n", - "solver = pyo.SolverFactory(\"ipopt\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Create the NGCC model\n", - "\n", - "Create the NGCC model and initialize it or read the saved initialization if available. The base initialized NGCC model is configured to match the baseline report with 90% capture using a Cansolv system." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ + "cells": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-07-25 03:12:25 [INFO] idaes.init.fs: NGCC load initial from ngcc_init.json.gz\n", - "Ipopt 3.13.2: nlp_scaling_method=user-scaling\n", - "tol=1e-06\n", - "max_iter=200\n", - "linear_solver=ma57\n", - "ma57_pivtol=1e-05\n", - "ma57_pivtolmax=0.1\n", - "option_file_name=C:\\Users\\javal\\AppData\\Local\\Temp\\tmpa9m4gkwo_ipopt.opt\n", - "\n", - "Using option file \"C:\\Users\\javal\\AppData\\Local\\Temp\\tmpa9m4gkwo_ipopt.opt\".\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma57.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 7661\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 5948\n", - "\n", - "Total number of variables............................: 2404\n", - " variables with only lower bounds: 87\n", - " variables with lower and upper bounds: 1447\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 2404\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 3.50e+01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "Reallocating memory for MA57: lfact (111709)\n", - " 1 0.0000000e+00 3.49e-01 1.12e+04 -1.0 3.06e+03 - 9.90e-01 9.90e-01h 1\n", - " 2 0.0000000e+00 3.15e-03 5.15e+02 -1.0 3.02e+03 - 9.89e-01 9.91e-01h 1\n", - " 3 0.0000000e+00 2.95e-07 9.98e+02 -1.0 3.74e+01 - 9.90e-01 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 2.9462398742907681e-07 2.9462398742907681e-07\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.9462398742907681e-07 2.9462398742907681e-07\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.085\n", - "Total CPU secs in NLP function evaluations = 1.396\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], - "source": [ - "m = pyo.ConcreteModel()\n", - "m.fs = ngcc.NgccFlowsheet(dynamic=False)\n", - "iscale.calculate_scaling_factors(m)\n", - "m.fs.initialize(\n", - " load_from=\"ngcc_init.json.gz\",\n", - " save_to=\"ngcc_init.json.gz\",\n", - " outlvl=idaeslog.INFO_HIGH,\n", - ")\n", - "res = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Show PFDs with baseline results\n", - "\n", - "This displays PFDs in the notebook, and saves them to files. The full NGCC model is too big to show well in a single PFD, so it is broken into the three main sections, gas turbine, heat recovery steam generator (HRSG), and steam turbine." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "Gas Turbine Section\n", - "\n" - ] + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# NGCC Baseline and Turndown\n", + "Maintainer: Javal Vyas \n", + "Author: John Eslick \n", + "Updated: 2024-07-25 \n", + "\n", + "This notebook runs a series of net electric power outputs from 650 MW to 160 MW (about 100% to 25%) for an NGCC with 97% CO2 capture. The NGCC model is based on the NETL report \"Cost and Performance Baseline for Fossil Energy Plants Volume 1, Bituminous Coal and Natural Gas to Electricity.\" Sept 2019, Case B31B [resource](https://www.osti.gov/servlets/purl/1893822). Another valuable resource for gaining a deeper understanding of the mathematical model would be the publication referenced [here](https://www.sciencedirect.com/science/article/pii/S1750583617302414). " + ] }, { - "data": { - "image/svg+xml": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " image/svg+xml\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " cmp1\n", - " cmb1\n", - " gts1\n", - " inject1\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " gts2\n", - " \n", - " \n", - " gts3\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " splt1\n", - " mx1\n", - " mx2\n", - " mx3\n", - " Blade Cooling Air\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " NGPreheater\n", - " \n", - " To HRSG\n", - " \n", - " \n", - " \n", - " \n", - " air01\n", - " \n", - " \n", - " air03\n", - " \n", - " \n", - " air02\n", - " \n", - " \n", - " air04\n", - " \n", - " \n", - " fuel01\n", - " \n", - " \n", - " fuel02\n", - " \n", - " \n", - " \n", - " \n", - " st02\n", - " st01\n", - " \n", - " \n", - " air05\n", - " \n", - " \n", - " air06\n", - " \n", - " \n", - " g02\n", - " \n", - " \n", - " g01\n", - " \n", - " \n", - " air09\n", - " \n", - " \n", - " air10\n", - " \n", - " \n", - " air07\n", - " \n", - " \n", - " g03\n", - " \n", - " \n", - " g04\n", - " \n", - " \n", - " g05\n", - " \n", - " \n", - " g06\n", - " \n", - " \n", - " g07\n", - " \n", - " \n", - " g08\n", - " \n", - " \n", - " air08\n", - " \n", - " \n", - " Summary\n", - " total GT power:\n", - " 476.99 MW\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " air01\n", - " \n", - " \n", - " \n", - " air02\n", - " \n", - " \n", - " \n", - " air03\n", - " \n", - " \n", - " \n", - " air04\n", - " \n", - " \n", - " \n", - " fuel01\n", - " \n", - " \n", - " \n", - " fuel02\n", - " \n", - " \n", - " feed_air1\n", - " \n", - " \n", - " st02\n", - " \n", - " \n", - " \n", - " st01\n", - " \n", - " \n", - " \n", - " air05\n", - " \n", - " \n", - " \n", - " air06\n", - " \n", - " \n", - " exhaust_1\n", - " \n", - " \n", - " g01\n", - " \n", - " \n", - " \n", - " g02\n", - " \n", - " \n", - " \n", - " air09\n", - " \n", - " \n", - " \n", - " air10\n", - " \n", - " \n", - " \n", - " air07\n", - " \n", - " \n", - " \n", - " g03\n", - " \n", - " \n", - " \n", - " g04\n", - " \n", - " \n", - " \n", - " g05\n", - " \n", - " \n", - " \n", - " g07\n", - " \n", - " \n", - " \n", - " g06\n", - " \n", - " \n", - " \n", - " g08\n", - " \n", - " \n", - " \n", - " air08\n", - " \n", - " \n", - " \n", - " \n", - " 299.82 K\n", - " 25.946 kg/s\n", - " 31.026 bar\n", - " 1.000%\n", - " 93.100%\n", - " 0.000%\n", - " 1.600%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yCH4:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " 3.200%\n", - " yC2H6:\n", - " 0.700%\n", - " yC3H8:\n", - " 0.400%\n", - " yC4H10:\n", - " \n", - " \n", - " \n", - " 335.99 K\n", - " 18.526 kg/s\n", - " 43.355 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 457.27 K\n", - " 18.526 kg/s\n", - " 43.355 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " NG PreharerUses Hot WaterFrom HRSG\n", - " \n", - " \n", - " 448.75 K\n", - " 25.946 kg/s\n", - " 31.026 bar\n", - " 1.000%\n", - " 93.100%\n", - " 0.000%\n", - " 1.600%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yCH4:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " 3.200%\n", - " yC2H6:\n", - " 0.700%\n", - " yC3H8:\n", - " 0.400%\n", - " yC4H10:\n", - " \n", - " \n", - " power:\n", - " 481.28 MW\n", - " \n", - " \n", - " isentr. efficiency:\n", - " 84.02%\n", - " isentr. head:\n", - " 367.27 kJ/kg\n", - " inlet vol. flow:\n", - " 883.2 m**3/s\n", - " \n", - " 288.15 K\n", - " 1100.984 kg/s\n", - " 1.034 bar\n", - " 0.030%\n", - " 0.990%\n", - " 0.920%\n", - " 20.740%\n", - " 77.320%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 288.17 K\n", - " 1100.984 kg/s\n", - " 1.099 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 709.64 K\n", - " 1100.984 kg/s\n", - " 19.226 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 709.64 K\n", - " 1008.614 kg/s\n", - " 19.226 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 691.89 K\n", - " 1034.561 kg/s\n", - " 19.226 bar\n", - " 0.070%\n", - " 3.842%\n", - " 19.884%\n", - " 74.195%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yCH4:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " 0.132%\n", - " yC2H6:\n", - " 0.029%\n", - " yC3H8:\n", - " 0.017%\n", - " yC4H10:\n", - " \n", - " \n", - " \n", - " 1641.38 K\n", - " 1034.691 kg/s\n", - " 18.265 bar\n", - " 4.324%\n", - " 9.217%\n", - " 0.000%\n", - " 11.471%\n", - " 74.106%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yCH4:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " 0.000%\n", - " yC2H6:\n", - " 0.000%\n", - " yC3H8:\n", - " 0.000%\n", - " yC4H10:\n", - " 0.881%\n", - " yAr:\n", - " \n", - " \n", - " \n", - " power:\n", - " -374.58 MW\n", - " \n", - " \n", - " isentr. efficiency:\n", - " 88.53%\n", - " isentr. head:\n", - " -408.95 kJ/kg\n", - " inlet vol. flow:\n", - " 273.6 m**3/s\n", - " \n", - " \n", - " \n", - " 898.00 K\n", - " 1127.060 kg/s\n", - " 1.100 bar\n", - " 3.978%\n", - " 8.554%\n", - " 0.884%\n", - " 12.219%\n", - " 74.365%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " 899.61 K\n", - " 1116.809 kg/s\n", - " 1.100 bar\n", - " 4.014%\n", - " 8.622%\n", - " 0.884%\n", - " 12.142%\n", - " 74.339%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 1094.58 K\n", - " 1116.809 kg/s\n", - " 2.799 bar\n", - " 4.014%\n", - " 8.622%\n", - " 0.884%\n", - " 12.142%\n", - " 74.339%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 709.76 K\n", - " 14.769 kg/s\n", - " 2.799 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 1099.28 K\n", - " 1102.041 kg/s\n", - " 2.799 bar\n", - " 4.066%\n", - " 8.723%\n", - " 0.883%\n", - " 12.028%\n", - " 74.299%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 1329.41 K\n", - " 1102.041 kg/s\n", - " 7.137 bar\n", - " 4.066%\n", - " 8.723%\n", - " 0.883%\n", - " 12.028%\n", - " 74.299%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 1365.44 K\n", - " 1034.691 kg/s\n", - " 7.137 bar\n", - " 4.324%\n", - " 9.217%\n", - " 0.881%\n", - " 11.471%\n", - " 74.106%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " power:\n", - " -264.25 MW\n", - " \n", - " \n", - " isentr. efficiency:\n", - " 88.19%\n", - " isentr. head:\n", - " -268.31 kJ/kg\n", - " inlet vol. flow:\n", - " 1280.2 m**3/s\n", - " \n", - " \n", - " \n", - " 709.77 K\n", - " 10.250 kg/s\n", - " 1.100 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 85.0%\n", - " opening:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 85.0%\n", - " opening:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 85.0%\n", - " opening:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 709.73 K\n", - " 67.350 kg/s\n", - " 7.137 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " power:\n", - " -319.43 MW\n", - " \n", - " \n", - " isentr. efficiency:\n", - " 88.35%\n", - " isentr. head:\n", - " -328.07 kJ/kg\n", - " inlet vol. flow:\n", - " 602.3 m**3/s\n", - " \n", - " \n", - "" - ], - "text/plain": [ - "" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Imports\n", + "\n", + "Import the modules that will be used." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "HRSG Section\n", - "\n" - ] + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import numpy as np\n", + "import pandas as pd\n", + "from IPython.core.display import SVG\n", + "import pyomo.environ as pyo\n", + "import idaes\n", + "from idaes.core.solvers import use_idaes_solver_configuration_defaults\n", + "import idaes.core.util.scaling as iscale\n", + "import idaes.core.util as iutil\n", + "from idaes_examples.mod.power_gen import ngcc\n", + "import idaes.logger as idaeslog\n", + "import pytest\n", + "import logging\n", + "\n", + "logging.getLogger(\"pyomo\").setLevel(logging.ERROR)" + ] }, { - "data": { - "image/svg+xml": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " image/svg+xml\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " IPSH1\n", - " IPSH2\n", - " IPSH3\n", - " HPSH3\n", - " HPSH2\n", - " HPSH1\n", - " HPEVAP\n", - " HPECON5\n", - " LPECON\n", - " LPEVAP\n", - " LPDRUM\n", - " HPSH4\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " HPECON4\n", - " HPECON3\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " LPSH1\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " Gas Turbine Exhaust\n", - " HP Steam\n", - " IP Steam\n", - " \n", - " Feedwater\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " HPECON1\n", - " \n", - " \n", - " \n", - " \n", - " HPECON2\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " IPECON1\n", - " IPECON2\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " IPEVAP\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " Cold Reheat\n", - " \n", - " \n", - " \n", - " \n", - " From HP ECON2\n", - " To HP ECON3\n", - " \n", - " \n", - " LP Steam\n", - " \n", - " \n", - " \n", - " Mixer1\n", - " \n", - " LP_FGsplit\n", - " \n", - " \n", - " \n", - " \n", - " LP_Mixer2\n", - " IPPump\n", - " HPPump\n", - " IP_Mixer1\n", - " IP_Splitter2\n", - " To Ejector\n", - " To Reclaimer\n", - " To Dryer\n", - " To NG Preheater\n", - " From NG Preheater\n", - " To Stack or Capture\n", - " IP_Splitter1\n", - " Splitter1\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " SOEC Makeup\n", - " \n", - " \n", - " \n", - " \n", - " lp01\n", - " \n", - " \n", - " \n", - " lp02\n", - " \n", - " \n", - " \n", - " lp03\n", - " \n", - " \n", - " \n", - " lp04\n", - " \n", - " \n", - " \n", - " lp12\n", - " \n", - " \n", - " \n", - " lp05\n", - " \n", - " \n", - " \n", - " lp13\n", - " \n", - " \n", - " \n", - " g30\n", - " \n", - " \n", - " \n", - " g19\n", - " \n", - " \n", - " \n", - " hp03\n", - " \n", - " \n", - " \n", - " hp04\n", - " \n", - " \n", - " \n", - " hp05\n", - " \n", - " \n", - " \n", - " g18\n", - " \n", - " \n", - " \n", - " hp06\n", - " \n", - " \n", - " \n", - " hp06b\n", - " \n", - " \n", - " \n", - " g15\n", - " \n", - " \n", - " \n", - " ip06\n", - " \n", - " \n", - " \n", - " g14\n", - " \n", - " \n", - " \n", - " g17\n", - " \n", - " \n", - " \n", - " g16\n", - " \n", - " \n", - " \n", - " hp07\n", - " \n", - " \n", - " \n", - " hp08\n", - " \n", - " \n", - " \n", - " hp09\n", - " \n", - " \n", - " \n", - " hp10\n", - " \n", - " \n", - " \n", - " hp11\n", - " \n", - " \n", - " \n", - " g13\n", - " \n", - " \n", - " \n", - " g12\n", - " \n", - " \n", - " \n", - " g11\n", - " \n", - " \n", - " \n", - " g08\n", - " \n", - " \n", - " \n", - " g09\n", - " \n", - " \n", - " \n", - " ip10\n", - " \n", - " \n", - " \n", - " ip09\n", - " \n", - " \n", - " \n", - " ip08\n", - " \n", - " \n", - " \n", - " ip07\n", - " \n", - " \n", - " \n", - " g10\n", - " \n", - " \n", - " \n", - " g28\n", - " \n", - " \n", - " \n", - " ip11\n", - " \n", - " \n", - " \n", - " ip012\n", - " \n", - " \n", - " \n", - " ip013\n", - " \n", - " \n", - " \n", - " ip14\n", - " \n", - " \n", - " \n", - " ip015\n", - " \n", - " \n", - " \n", - " lp09\n", - " \n", - " \n", - " \n", - " lp08\n", - " \n", - " \n", - " \n", - " lp06\n", - " \n", - " \n", - " \n", - " hp01\n", - " \n", - " \n", - " \n", - " hp02\n", - " \n", - " \n", - " \n", - " hp03\n", - " \n", - " \n", - " \n", - " ip01\n", - " \n", - " \n", - " \n", - " ip02\n", - " \n", - " \n", - " \n", - " ip03\n", - " \n", - " \n", - " \n", - " g25\n", - " \n", - " \n", - " \n", - " g26\n", - " \n", - " \n", - " \n", - " g27\n", - " \n", - " \n", - " \n", - " ip05\n", - " \n", - " \n", - " \n", - " ip04\n", - " \n", - " \n", - " \n", - " g24\n", - " \n", - " \n", - " \n", - " g23\n", - " \n", - " \n", - " \n", - " g29\n", - " \n", - " \n", - " \n", - " lp10\n", - " \n", - " \n", - " \n", - " lp11\n", - " \n", - " \n", - " \n", - " g21\n", - " \n", - " \n", - " \n", - " g20\n", - " \n", - " \n", - " \n", - " g22\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " lp01\n", - " \n", - " \n", - " lp02\n", - " \n", - " \n", - " lp03\n", - " \n", - " \n", - " lp04\n", - " \n", - " \n", - " lp12\n", - " \n", - " \n", - " \n", - " lp05\n", - " \n", - " lp13\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " g30\n", - " \n", - " g29\n", - " g28\n", - " \n", - " \n", - " ip11\n", - " \n", - " ip06\n", - " g17\n", - " \n", - " \n", - " g16\n", - " g15\n", - " \n", - " \n", - " g14\n", - " hp07\n", - " \n", - " \n", - " hp08\n", - " hp06b\n", - " \n", - " hp06\n", - " \n", - " g19\n", - " \n", - " hp03\n", - " \n", - " g18\n", - " hp04\n", - " hp05\n", - " hp09\n", - " hp10\n", - " hp11\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " g12\n", - " g13\n", - " g11\n", - " g08\n", - " g09\n", - " ip08\n", - " ip09\n", - " ip10\n", - " ip07\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " g10\n", - " \n", - " ip14\n", - " ip13\n", - " ip12\n", - " ip15\n", - " \n", - " \n", - " \n", - " \n", - " ip06\n", - " \n", - " ip08\n", - " ip09\n", - " \n", - " \n", - " \n", - " hp01\n", - " hp02\n", - " hp03\n", - " \n", - " \n", - " \n", - " g27\n", - " g26\n", - " ip02\n", - " ip01\n", - " ip03\n", - " \n", - " \n", - " \n", - " \n", - " g25\n", - " \n", - " g24\n", - " \n", - " ip05\n", - " \n", - " ip04\n", - " \n", - " g23\n", - " \n", - " \n", - " g22\n", - " \n", - " lp11\n", - " lp10\n", - " g21\n", - " g20\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 382.51 K\n", - " 1.010 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 180.904 kg/s\n", - " 356.59 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 410.40 K\n", - " 1.010 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 0.000 kg/s\n", - " 443.56 K\n", - " 8.000 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 18.526 kg/s\n", - " 335.99 K\n", - " 43.355 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 199.430 kg/s\n", - " 435.43 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 22.669 kg/s\n", - " 435.43 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 199.430 kg/s\n", - " 394.15 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 556.520 kg/s\n", - " 547.38 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 199.430 kg/s\n", - " 435.43 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 180.904 kg/s\n", - " 399.98 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 40.345 kg/s\n", - " 435.43 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 40.345 kg/s\n", - " 436.13 K\n", - " 43.850 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 40.345 kg/s\n", - " 457.27 K\n", - " 43.355 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 22.669 kg/s\n", - " 557.10 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 556.520 kg/s\n", - " 557.25 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 556.520 kg/s\n", - " 557.25 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 552.32 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 21.818 kg/s\n", - " 510.22 K\n", - " 42.352 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 176.761 kg/s\n", - " 435.43 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 18.526 kg/s\n", - " 457.27 K\n", - " 43.355 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 435.43 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 479.13 K\n", - " 1.010 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 439.77 K\n", - " 244.000 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 21.818 kg/s\n", - " 457.27 K\n", - " 43.355 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 520.59 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 516.28 K\n", - " 1.012 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 514.35 K\n", - " 1.011 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 511.29 K\n", - " 1.010 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 504.84 K\n", - " 243.913 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 508.62 K\n", - " 243.829 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 157.430 kg/s\n", - " 855.94 K\n", - " 30.909 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 157.430 kg/s\n", - " 710.16 K\n", - " 33.408 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 157.430 kg/s\n", - " 600.93 K\n", - " 34.177 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 21.818 kg/s\n", - " 556.91 K\n", - " 42.146 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 135.612 kg/s\n", - " 610.47 K\n", - " 34.177 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 21.818 kg/s\n", - " 527.32 K\n", - " 42.352 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 610.47 K\n", - " 34.177 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 858.53 K\n", - " 172.428 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 898.00 K\n", - " 1.100 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 880.11 K\n", - " 1.098 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 735.19 K\n", - " 173.171 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 796.53 K\n", - " 172.830 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 786.52 K\n", - " 1.092 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 576.08 K\n", - " 1.047 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 577.92 K\n", - " 1.081 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 755.13 K\n", - " 1.083 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 840.55 K\n", - " 1.096 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 557.25 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 568.07 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 529.72 K\n", - " 243.746 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 544.93 K\n", - " 243.667 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 557.78 K\n", - " 243.589 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 627.24 K\n", - " 173.589 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 659.11 K\n", - " 173.415 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 584.88 K\n", - " 1.081 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 723.83 K\n", - " 1.081 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 557.34 K\n", - " 173.589 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 820.55 K\n", - " 1.094 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "" - ], - "text/plain": [ - "" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Make Output Directories\n", + "\n", + "This notebook can produce a large number of output files. To make it easier to manage, some subdirectories are used to organize output. This ensures that the directories exist." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "Steam Turbine Section\n", - "\n" - ] + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "def make_directory(path):\n", + " \"\"\"Make a directory if it doesn't exist\"\"\"\n", + " try:\n", + " os.mkdir(path)\n", + " except FileExistsError:\n", + " pass\n", + "\n", + "\n", + "make_directory(\"data\")\n", + "make_directory(\"data_pfds\")\n", + "make_directory(\"data_tabulated\")" + ] }, { - "data": { - "image/svg+xml": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " image/svg+xml\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " HRSG\n", - " Cold Flue Gas\n", - " Gas Turbine Exhaust\n", - " Makeup Water\n", - " HP\n", - " IP\n", - " LP\n", - " Condensate Pump\n", - " Condenser\n", - " \n", - " \n", - " Cold Reheat\n", - " Hot Reheat\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " From Dryer\n", - " From Reclaimer\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " To Reclaimer\n", - " To Dryer\n", - " To Ejector\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " From NG Preheater\n", - " To NG Preheater\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " CaptureReboiler\n", - " \n", - " \n", - " \n", - " \n", - " To SOEC\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " t01\n", - " \n", - " \n", - " \n", - " t02\n", - " \n", - " \n", - " \n", - " t11\n", - " \n", - " \n", - " \n", - " t15\n", - " \n", - " \n", - " \n", - " t14\n", - " \n", - " \n", - " \n", - " t13\n", - " \n", - " \n", - " \n", - " t10\n", - " \n", - " \n", - " \n", - " t09\n", - " \n", - " \n", - " \n", - " t13\n", - " \n", - " \n", - " \n", - " t04\n", - " \n", - " \n", - " \n", - " t05\n", - " \n", - " \n", - " \n", - " t03\n", - " \n", - " \n", - " \n", - " t06\n", - " \n", - " \n", - " \n", - " t07\n", - " \n", - " \n", - " \n", - " t08\n", - " \n", - " \n", - " \n", - " t12\n", - " \n", - " \n", - " \n", - " cw01\n", - " \n", - " \n", - " \n", - " cw02\n", - " \n", - " \n", - " \n", - " t18\n", - " \n", - " \n", - " \n", - " t17\n", - " \n", - " \n", - " \n", - " t16\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " t01\n", - " \n", - " t02\n", - " \n", - " \n", - " t11\n", - " \n", - " \n", - " t15\n", - " \n", - " \n", - " t14\n", - " \n", - " \n", - " t10\n", - " \n", - " \n", - " t09\n", - " \n", - " \n", - " t13\n", - " \n", - " \n", - " t04\n", - " \n", - " \n", - " t05\n", - " \n", - " \n", - " t08\n", - " \n", - " \n", - " t12\n", - " \n", - " \n", - " cw01\n", - " \n", - " \n", - " cw02\n", - " \n", - " \n", - " t16\n", - " \n", - " \n", - " t18\n", - " \n", - " \n", - " t17\n", - " \n", - " t03\n", - " \n", - " t06\n", - " \n", - " t07\n", - " \n", - " \n", - " \n", - " 136.416 kg/s\n", - " 858.53 K\n", - " 172.428 bar\n", - " 63.487 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 157.430 kg/s\n", - " 855.94 K\n", - " 30.909 bar\n", - " 65.630 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 0.806 kg/s\n", - " 306.25 K\n", - " 1.013 bar\n", - " 2.500 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 3603.054 kg/s\n", - " 289.70 K\n", - " 5.000 bar\n", - " 1.260 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 111.286 kg/s\n", - " 316.88 K\n", - " 0.090 bar\n", - " 45.114 kJ/mol\n", - " 0.968\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " 22.669 kg/s\n", - " 557.10 K\n", - " 6.550 bar\n", - " 54.533 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 0.002 kg/s\n", - " 577.72 K\n", - " 4.592 bar\n", - " 55.397 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 68.812 kg/s\n", - " 577.72 K\n", - " 4.592 bar\n", - " 55.397 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 157.430 kg/s\n", - " 581.07 K\n", - " 4.592 bar\n", - " 55.522 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 136.416 kg/s\n", - " 610.47 K\n", - " 34.177 bar\n", - " 55.412 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " 111.286 kg/s\n", - " 577.72 K\n", - " 4.592 bar\n", - " 55.397 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 180.904 kg/s\n", - " 356.59 K\n", - " 6.550 bar\n", - " 6.304 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " 0.001 kg/s\n", - " 487.00 K\n", - " 20.000 bar\n", - " 50.496 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 0.000 kg/s\n", - " 476.00 K\n", - " 16.000 bar\n", - " 50.393 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 111.286 kg/s\n", - " 316.88 K\n", - " 0.090 bar\n", - " 3.299 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 3603.054 kg/s\n", - " 306.85 K\n", - " 5.000 bar\n", - " 2.552 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " 68.812 kg/s\n", - " 420.51 K\n", - " 4.592 bar\n", - " 11.184 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " 112.092 kg/s\n", - " 316.80 K\n", - " 0.090 bar\n", - " 3.293 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " 112.092 kg/s\n", - " 316.86 K\n", - " 6.550 bar\n", - " 3.308 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - "" - ], - "text/plain": [ - "" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Global Solver Settings\n", + "\n", + "Use the IDAES configuration system for solver settings. These will apply to all Ipopt instances created, including the ones created in initialization methods." ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "def display_pfd():\n", - " print(\"\\n\\nGas Turbine Section\\n\")\n", - " display(SVG(m.fs.gt.write_pfd()))\n", - " print(\"\\n\\nHRSG Section\\n\")\n", - " display(SVG(m.fs.hrsg.write_pfd()))\n", - " print(\"\\n\\nSteam Turbine Section\\n\")\n", - " display(SVG(m.fs.st.write_pfd()))\n", - "\n", - "\n", - "display_pfd()\n", - "\n", - "m.fs.gt.write_pfd(fname=\"data_pfds/gt_baseline.svg\")\n", - "m.fs.hrsg.write_pfd(fname=\"data_pfds/hrsg_baseline.svg\")\n", - "m.fs.st.write_pfd(fname=\"data_pfds/st_baseline.svg\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Test key model outputs against NETL baseline" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "# Assert results approximately agree with baseline reoprt\n", - "assert pyo.value(m.fs.net_power_mw[0]) == pytest.approx(646)\n", - "assert pyo.value(m.fs.gross_power[0]) == pytest.approx(-690e6, rel=0.001)\n", - "assert pyo.value(100 * m.fs.lhv_efficiency[0]) == pytest.approx(52.8, abs=0.1)\n", - "assert pyo.value(\n", - " m.fs.total_variable_cost_rate[0] / m.fs.net_power_mw[0]\n", - ") == pytest.approx(37.2799, rel=0.01)\n", - "assert pyo.value(m.fs.fuel_cost_rate[0] / m.fs.net_power_mw[0]) == pytest.approx(\n", - " 31.6462, rel=0.01\n", - ")\n", - "assert pyo.value(\n", - " m.fs.other_variable_cost_rate[0] / m.fs.net_power_mw[0]\n", - ") == pytest.approx(5.63373, rel=0.01)\n", - "assert pyo.value(m.fs.gt.gt_power[0]) == pytest.approx(-477e6, rel=0.001)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "use_idaes_solver_configuration_defaults()\n", + "idaes.cfg.ipopt.options.nlp_scaling_method = \"user-scaling\"\n", + "idaes.cfg.ipopt.options.linear_solver = \"ma57\"\n", + "idaes.cfg.ipopt.options.OF_ma57_automatic_scaling = \"yes\"\n", + "idaes.cfg.ipopt.options.ma57_pivtol = 1e-5\n", + "idaes.cfg.ipopt.options.ma57_pivtolmax = 0.1\n", + "solver = pyo.SolverFactory(\"ipopt\")" + ] + }, { - "data": { - "text/plain": [ - "" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Create the NGCC model\n", + "\n", + "Create the NGCC model and initialize it or read the saved initialization if available. The base initialized NGCC model is configured to match the baseline report with 90% capture using a Cansolv system." ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" }, { - "data": { - "image/png": "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XnsNhYWFMDY2hpmZmXTFp3379hg1ahRGjBjR4N93RURERHQ/NRqg3K5dO6xatQqfffYZTp48iYsXL+LOnTto2rQpfH190bRp0/qqk4iIiKhWavV1EUZGRvD19YWvr28dl0NERERUt/g0FhEREckaww4RERHJGsMOERERyRrDDhEREclajcNOWVkZTExMcOrUqfqoh4iIiKhO1TjsKJVKtGjRAuXl5fVRDxEREVGdqtVtrOnTp2PatGm4fv16XddDREREVKdq9Tk7//73v3Hu3Dm4uLjAzc0NVlZWeu1Hjx6tk+KIiIiIHletws7AgQPruAwiIiKi+lGrsPP+++/XdR1ERERE9aLWj57n5+dj9erViI6OlsbuHD16FJcvX66z4oiIiIgeV62u7Jw8eRIhISFQq9W4cOECRo8eDTs7O2zYsAE5OTn44osv6rpOIiIiolqp1ZWdSZMmYcSIETh79izMzc2l5c8//zz2799fZ8URERERPa5ahZ3U1FS8+eabVZY3a9YMOp3usYsiIiIiqiu1CjtmZmYoLCyssvzMmTNwcHB47KKIiIiI6kqtws4LL7yAWbNmoaysDACgUCiQk5ODqVOnIiwsrE4LJCIiInoctQo7CxcuRFFRERwdHXHnzh0EBQWhdevWaNKkCT766KO6rpGIiIio1mr1NJZarcbOnTvxv//9DydPnkRRURGee+45hISE1HV9RERERI+lVmGnuLgY5ubmCAwMRGBgYF3XRERERFRnahV2bGxs0LlzZwQFBaFbt27QarWwsLCo69qIiIiIHlutxuzs2rULvXv3RkpKCl544QXY2toiMDAQ06dPx86dO+u6RiIiIqJaq1XYCQwMxLRp07Bjxw7k5+dj7969aN26NebPn4/evXvXdY1EREREtVar21jAvc/USUxMlKaSkhL069cPwcHBdVgeERER0eOpVdhp1qwZ7ty5g+DgYAQHB2Pq1Klo27YtFApFXddHRERE9FhqdRvLwcEBt2/fhk6ng06nQ25uLu7cuVPXtRERERE9tlqFnePHj0On0+G9995DSUkJpk2bhqZNm6JLly6YPn16XddIREREVGu1HrNjY2ODF154AQEBAejSpQt+/PFHfPXVV0hJSeGnKBMREVGjUauws2HDBmlgckZGBuzs7BAYGIiFCxciKCiormskIiIiqrVahZ2xY8eia9eu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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "m = pyo.ConcreteModel()\n", + "m.fs = ngcc.NgccFlowsheet(dynamic=False)\n", + "iscale.calculate_scaling_factors(m)\n", + "m.fs.initialize(\n", + " load_from=\"ngcc_init.json.gz\",\n", + " save_to=\"ngcc_init.json.gz\",\n", + " outlvl=idaeslog.INFO_HIGH,\n", + ")\n", + "res = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Show PFDs with baseline results\n", + "\n", + "This displays PFDs in the notebook, and saves them to files. The full NGCC model is too big to show well in a single PFD, so it is broken into the three main sections, gas turbine, heat recovery steam generator (HRSG), and steam turbine." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "def display_pfd():\n", + " print(\"\\n\\nGas Turbine Section\\n\")\n", + " display(SVG(m.fs.gt.write_pfd()))\n", + " print(\"\\n\\nHRSG Section\\n\")\n", + " display(SVG(m.fs.hrsg.write_pfd()))\n", + " print(\"\\n\\nSteam Turbine Section\\n\")\n", + " display(SVG(m.fs.st.write_pfd()))\n", + "\n", + "\n", + "display_pfd()\n", + "\n", + "m.fs.gt.write_pfd(fname=\"data_pfds/gt_baseline.svg\")\n", + "m.fs.hrsg.write_pfd(fname=\"data_pfds/hrsg_baseline.svg\")\n", + "m.fs.st.write_pfd(fname=\"data_pfds/st_baseline.svg\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Test key model outputs against NETL baseline" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# Assert results approximately agree with baseline reoprt\n", + "assert pyo.value(m.fs.net_power_mw[0]) == pytest.approx(646)\n", + "assert pyo.value(m.fs.gross_power[0]) == pytest.approx(-690e6, rel=0.001)\n", + "assert pyo.value(100 * m.fs.lhv_efficiency[0]) == pytest.approx(52.8, abs=0.1)\n", + "assert pyo.value(\n", + " m.fs.total_variable_cost_rate[0] / m.fs.net_power_mw[0]\n", + ") == pytest.approx(37.2799, rel=0.01)\n", + "assert pyo.value(m.fs.fuel_cost_rate[0] / m.fs.net_power_mw[0]) == pytest.approx(\n", + " 31.6462, rel=0.01\n", + ")\n", + "assert pyo.value(\n", + " m.fs.other_variable_cost_rate[0] / m.fs.net_power_mw[0]\n", + ") == pytest.approx(5.63373, rel=0.01)\n", + "assert pyo.value(m.fs.gt.gt_power[0]) == pytest.approx(-477e6, rel=0.001)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "from matplotlib import pyplot as plt\n", + "\n", + "\n", + "variables = [\"net_power\", \"gross_power\", \"gt_power\"]\n", + "netl_baseline = [646, 690, 477]\n", + "idaes_prediction = [\n", + " pyo.value(m.fs.net_power_mw[0]),\n", + " -pyo.value(m.fs.gross_power[0]) * 1e-6,\n", + " -pyo.value(m.fs.gt.gt_power[0]) * 1e-6,\n", + "]\n", + "\n", + "label_location = np.arange(len(variables))\n", + "\n", + "width = 0.4\n", + "\n", + "fig, ax = plt.subplots()\n", + "netl_data = ax.bar(variables, netl_baseline, label=\"NETL Baseline\")\n", + "idaes_sim = ax.bar(\n", + " label_location + (width / 2), idaes_prediction, width, label=\"IDAES Prediction\"\n", + ")\n", + "\n", + "ax.set_ylabel(\"Power (MW)\")\n", + "ax.set_xticks(label_location)\n", + "ax.set_xticklabels(variables)\n", + "ax.legend()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Run turndown cases 5 MW interval\n", + "\n", + "Here we set the CO2 capture rate to 97% and set the specific reboiler duty to PZ advanced solvent system. The minimum power is 160 MW net, which corresponds to a bit under 25%. This is roughly the minimum load for the NGCC modeled. Results are tabulated for tags in the tags_output tag group in a Pandas data frame. \n", + "\n", + "To run the series, change run_series to True. Running the turndown series takes a while, unless previous saved results are available. " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "run_series = False\n", + "if run_series:\n", + " idaes.cfg.ipopt.options.tol = 1e-6\n", + " idaes.cfg.ipopt.options.max_iter = 50\n", + " solver = pyo.SolverFactory(\"ipopt\")\n", + "\n", + " m.fs.cap_specific_reboiler_duty.fix(2.4e6)\n", + " m.fs.cap_fraction.fix(0.97)\n", + " powers = np.linspace(650, 160, int((650 - 160) / 5) + 1)\n", + " powers = list(powers)\n", + " powers.insert(1, 646)\n", + "\n", + " df = pd.DataFrame(columns=m.fs.tags_output.table_heading())\n", + "\n", + " for p in powers:\n", + " print(\"Simulation for net power = \", p)\n", + " fname = f\"data/ngcc_{int(p)}.json.gz\"\n", + " if os.path.exists(fname):\n", + " iutil.from_json(m, fname=fname, wts=iutil.StoreSpec(suffix=False))\n", + " else:\n", + " m.fs.net_power_mw.fix(p)\n", + " res = solver.solve(m, tee=False, symbolic_solver_labels=True)\n", + " if not pyo.check_optimal_termination(res):\n", + " break\n", + " iutil.to_json(m, fname=fname)\n", + " df.loc[m.fs.tags_output[\"net_power\"].value] = m.fs.tags_output.table_row(\n", + " numeric=True\n", + " )\n", + " if abs(p - 650) < 0.1:\n", + " m.fs.gt.streams_dataframe().to_csv(\n", + " \"data_tabulated/ngcc_stream_650mw_gt.csv\"\n", + " )\n", + " m.fs.st.steam_streams_dataframe().to_csv(\n", + " \"data_tabulated/ngcc_stream_650mw_st.csv\"\n", + " )\n", + " m.fs.hrsg.steam_streams_dataframe().to_csv(\n", + " \"data_tabulated/ngcc_stream_650mw_hrsg_steam.csv\"\n", + " )\n", + " m.fs.hrsg.flue_gas_streams_dataframe().to_csv(\n", + " \"data_tabulated/ngcc_stream_650mw_hrsg_gas.csv\"\n", + " )\n", + " df.to_csv(\"data_tabulated/ngcc.csv\")\n", + "\n", + " # Display the results from the run stored in a pandas dataframe\n", + " pd.set_option(\"display.max_rows\", None)\n", + " pd.set_option(\"display.max_columns\", None)\n", + " display(df)\n", + "\n", + " # Plot results\n", + " plt.plot(df[\"net_power (MW)\"], df[\"lhv_efficiency (%)\"])\n", + " plt.grid()\n", + " plt.xlabel(\"Net Power (MW)\")\n", + " plt.ylabel(\"LHV Efficiency (%)\")\n", + " plt.title(\"Net Power vs. Efficiency\")\n", + " plt.show()" ] - }, - "metadata": {}, - "output_type": "display_data" } - ], - "source": [ - "from matplotlib import pyplot as plt\n", - "\n", - "\n", - "variables = [\"net_power\", \"gross_power\", \"gt_power\"]\n", - "netl_baseline = [646, 690, 477]\n", - "idaes_prediction = [\n", - " pyo.value(m.fs.net_power_mw[0]),\n", - " -pyo.value(m.fs.gross_power[0]) * 1e-6,\n", - " -pyo.value(m.fs.gt.gt_power[0]) * 1e-6,\n", - "]\n", - "\n", - "label_location = np.arange(len(variables))\n", - "\n", - "width = 0.4\n", - "\n", - "fig, ax = plt.subplots()\n", - "netl_data = ax.bar(variables, netl_baseline, label=\"NETL Baseline\")\n", - "idaes_sim = ax.bar(\n", - " label_location + (width / 2), idaes_prediction, width, label=\"IDAES Prediction\"\n", - ")\n", - "\n", - "ax.set_ylabel(\"Power (MW)\")\n", - "ax.set_xticks(label_location)\n", - "ax.set_xticklabels(variables)\n", - "ax.legend()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Run turndown cases 5 MW interval\n", - "\n", - "Here we set the CO2 capture rate to 97% and set the specific reboiler duty to PZ advanced solvent system. The minimum power is 160 MW net, which corresponds to a bit under 25%. This is roughly the minimum load for the NGCC modeled. Results are tabulated for tags in the tags_output tag group in a Pandas data frame. \n", - "\n", - "To run the series, change run_series to True. Running the turndown series takes a while, unless previous saved results are available. " - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "run_series = False\n", - "if run_series:\n", - " idaes.cfg.ipopt.options.tol = 1e-6\n", - " idaes.cfg.ipopt.options.max_iter = 50\n", - " solver = pyo.SolverFactory(\"ipopt\")\n", - "\n", - " m.fs.cap_specific_reboiler_duty.fix(2.4e6)\n", - " m.fs.cap_fraction.fix(0.97)\n", - " powers = np.linspace(650, 160, int((650 - 160) / 5) + 1)\n", - " powers = list(powers)\n", - " powers.insert(1, 646)\n", - "\n", - " df = pd.DataFrame(columns=m.fs.tags_output.table_heading())\n", - "\n", - " for p in powers:\n", - " print(\"Simulation for net power = \", p)\n", - " fname = f\"data/ngcc_{int(p)}.json.gz\"\n", - " if os.path.exists(fname):\n", - " iutil.from_json(m, fname=fname, wts=iutil.StoreSpec(suffix=False))\n", - " else:\n", - " m.fs.net_power_mw.fix(p)\n", - " res = solver.solve(m, tee=False, symbolic_solver_labels=True)\n", - " if not pyo.check_optimal_termination(res):\n", - " break\n", - " iutil.to_json(m, fname=fname)\n", - " df.loc[m.fs.tags_output[\"net_power\"].value] = m.fs.tags_output.table_row(\n", - " numeric=True\n", - " )\n", - " if abs(p - 650) < 0.1:\n", - " m.fs.gt.streams_dataframe().to_csv(\n", - " \"data_tabulated/ngcc_stream_650mw_gt.csv\"\n", - " )\n", - " m.fs.st.steam_streams_dataframe().to_csv(\n", - " \"data_tabulated/ngcc_stream_650mw_st.csv\"\n", - " )\n", - " m.fs.hrsg.steam_streams_dataframe().to_csv(\n", - " \"data_tabulated/ngcc_stream_650mw_hrsg_steam.csv\"\n", - " )\n", - " m.fs.hrsg.flue_gas_streams_dataframe().to_csv(\n", - " \"data_tabulated/ngcc_stream_650mw_hrsg_gas.csv\"\n", - " )\n", - " df.to_csv(\"data_tabulated/ngcc.csv\")\n", - "\n", - " # Display the results from the run stored in a pandas dataframe\n", - " pd.set_option(\"display.max_rows\", None)\n", - " pd.set_option(\"display.max_columns\", None)\n", - " display(df)\n", - "\n", - " # Plot results\n", - " plt.plot(df[\"net_power (MW)\"], df[\"lhv_efficiency (%)\"])\n", - " plt.grid()\n", - " plt.xlabel(\"Net Power (MW)\")\n", - " plt.ylabel(\"LHV Efficiency (%)\")\n", - " plt.title(\"Net Power vs. Efficiency\")\n", - " plt.show()" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" + } }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.13" - } - }, - "nbformat": 4, - "nbformat_minor": 3 -} + "nbformat": 4, + "nbformat_minor": 3 +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/power_gen/ngcc/ngcc_usr.ipynb b/idaes_examples/notebooks/docs/power_gen/ngcc/ngcc_usr.ipynb index 7127641c..4a57e00d 100644 --- a/idaes_examples/notebooks/docs/power_gen/ngcc/ngcc_usr.ipynb +++ b/idaes_examples/notebooks/docs/power_gen/ngcc/ngcc_usr.ipynb @@ -1,2964 +1,340 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# NGCC Baseline and Turndown\n", - "Maintainer: Javal Vyas \n", - "Author: John Eslick \n", - "Updated: 2024-07-25 \n", - "\n", - "This notebook runs a series of net electric power outputs from 650 MW to 160 MW (about 100% to 25%) for an NGCC with 97% CO2 capture. The NGCC model is based on the NETL report \"Cost and Performance Baseline for Fossil Energy Plants Volume 1, Bituminous Coal and Natural Gas to Electricity.\" Sept 2019, Case B31B [resource](https://www.osti.gov/servlets/purl/1893822). Another valuable resource for gaining a deeper understanding of the mathematical model would be the publication referenced [here](https://www.sciencedirect.com/science/article/pii/S1750583617302414). " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Imports\n", - "\n", - "Import the modules that will be used." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "import os\n", - "import numpy as np\n", - "import pandas as pd\n", - "from IPython.core.display import SVG\n", - "import pyomo.environ as pyo\n", - "import idaes\n", - "from idaes.core.solvers import use_idaes_solver_configuration_defaults\n", - "import idaes.core.util.scaling as iscale\n", - "import idaes.core.util as iutil\n", - "from idaes_examples.mod.power_gen import ngcc\n", - "import idaes.logger as idaeslog\n", - "import pytest\n", - "import logging\n", - "\n", - "logging.getLogger(\"pyomo\").setLevel(logging.ERROR)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Make Output Directories\n", - "\n", - "This notebook can produce a large number of output files. To make it easier to manage, some subdirectories are used to organize output. This ensures that the directories exist." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "def make_directory(path):\n", - " \"\"\"Make a directory if it doesn't exist\"\"\"\n", - " try:\n", - " os.mkdir(path)\n", - " except FileExistsError:\n", - " pass\n", - "\n", - "\n", - "make_directory(\"data\")\n", - "make_directory(\"data_pfds\")\n", - "make_directory(\"data_tabulated\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Global Solver Settings\n", - "\n", - "Use the IDAES configuration system for solver settings. These will apply to all Ipopt instances created, including the ones created in initialization methods." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "use_idaes_solver_configuration_defaults()\n", - "idaes.cfg.ipopt.options.nlp_scaling_method = \"user-scaling\"\n", - "idaes.cfg.ipopt.options.linear_solver = \"ma57\"\n", - "idaes.cfg.ipopt.options.OF_ma57_automatic_scaling = \"yes\"\n", - "idaes.cfg.ipopt.options.ma57_pivtol = 1e-5\n", - "idaes.cfg.ipopt.options.ma57_pivtolmax = 0.1\n", - "solver = pyo.SolverFactory(\"ipopt\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Create the NGCC model\n", - "\n", - "Create the NGCC model and initialize it or read the saved initialization if available. The base initialized NGCC model is configured to match the baseline report with 90% capture using a Cansolv system." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ + "cells": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-07-25 03:12:25 [INFO] idaes.init.fs: NGCC load initial from ngcc_init.json.gz\n", - "Ipopt 3.13.2: nlp_scaling_method=user-scaling\n", - "tol=1e-06\n", - "max_iter=200\n", - "linear_solver=ma57\n", - "ma57_pivtol=1e-05\n", - "ma57_pivtolmax=0.1\n", - "option_file_name=C:\\Users\\javal\\AppData\\Local\\Temp\\tmpa9m4gkwo_ipopt.opt\n", - "\n", - "Using option file \"C:\\Users\\javal\\AppData\\Local\\Temp\\tmpa9m4gkwo_ipopt.opt\".\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma57.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 7661\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 5948\n", - "\n", - "Total number of variables............................: 2404\n", - " variables with only lower bounds: 87\n", - " variables with lower and upper bounds: 1447\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 2404\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 3.50e+01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "Reallocating memory for MA57: lfact (111709)\n", - " 1 0.0000000e+00 3.49e-01 1.12e+04 -1.0 3.06e+03 - 9.90e-01 9.90e-01h 1\n", - " 2 0.0000000e+00 3.15e-03 5.15e+02 -1.0 3.02e+03 - 9.89e-01 9.91e-01h 1\n", - " 3 0.0000000e+00 2.95e-07 9.98e+02 -1.0 3.74e+01 - 9.90e-01 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 2.9462398742907681e-07 2.9462398742907681e-07\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.9462398742907681e-07 2.9462398742907681e-07\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.085\n", - "Total CPU secs in NLP function evaluations = 1.396\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], - "source": [ - "m = pyo.ConcreteModel()\n", - "m.fs = ngcc.NgccFlowsheet(dynamic=False)\n", - "iscale.calculate_scaling_factors(m)\n", - "m.fs.initialize(\n", - " load_from=\"ngcc_init.json.gz\",\n", - " save_to=\"ngcc_init.json.gz\",\n", - " outlvl=idaeslog.INFO_HIGH,\n", - ")\n", - "res = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Show PFDs with baseline results\n", - "\n", - "This displays PFDs in the notebook, and saves them to files. The full NGCC model is too big to show well in a single PFD, so it is broken into the three main sections, gas turbine, heat recovery steam generator (HRSG), and steam turbine." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "Gas Turbine Section\n", - "\n" - ] + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# NGCC Baseline and Turndown\n", + "Maintainer: Javal Vyas \n", + "Author: John Eslick \n", + "Updated: 2024-07-25 \n", + "\n", + "This notebook runs a series of net electric power outputs from 650 MW to 160 MW (about 100% to 25%) for an NGCC with 97% CO2 capture. The NGCC model is based on the NETL report \"Cost and Performance Baseline for Fossil Energy Plants Volume 1, Bituminous Coal and Natural Gas to Electricity.\" Sept 2019, Case B31B [resource](https://www.osti.gov/servlets/purl/1893822). Another valuable resource for gaining a deeper understanding of the mathematical model would be the publication referenced [here](https://www.sciencedirect.com/science/article/pii/S1750583617302414). " + ] }, { - "data": { - "image/svg+xml": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " image/svg+xml\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " cmp1\n", - " cmb1\n", - " gts1\n", - " inject1\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " gts2\n", - " \n", - " \n", - " gts3\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " splt1\n", - " mx1\n", - " mx2\n", - " mx3\n", - " Blade Cooling Air\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " NGPreheater\n", - " \n", - " To HRSG\n", - " \n", - " \n", - " \n", - " \n", - " air01\n", - " \n", - " \n", - " air03\n", - " \n", - " \n", - " air02\n", - " \n", - " \n", - " air04\n", - " \n", - " \n", - " fuel01\n", - " \n", - " \n", - " fuel02\n", - " \n", - " \n", - " \n", - " \n", - " st02\n", - " st01\n", - " \n", - " \n", - " air05\n", - " \n", - " \n", - " air06\n", - " \n", - " \n", - " g02\n", - " \n", - " \n", - " g01\n", - " \n", - " \n", - " air09\n", - " \n", - " \n", - " air10\n", - " \n", - " \n", - " air07\n", - " \n", - " \n", - " g03\n", - " \n", - " \n", - " g04\n", - " \n", - " \n", - " g05\n", - " \n", - " \n", - " g06\n", - " \n", - " \n", - " g07\n", - " \n", - " \n", - " g08\n", - " \n", - " \n", - " air08\n", - " \n", - " \n", - " Summary\n", - " total GT power:\n", - " 476.99 MW\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " air01\n", - " \n", - " \n", - " \n", - " air02\n", - " \n", - " \n", - " \n", - " air03\n", - " \n", - " \n", - " \n", - " air04\n", - " \n", - " \n", - " \n", - " fuel01\n", - " \n", - " \n", - " \n", - " fuel02\n", - " \n", - " \n", - " feed_air1\n", - " \n", - " \n", - " st02\n", - " \n", - " \n", - " \n", - " st01\n", - " \n", - " \n", - " \n", - " air05\n", - " \n", - " \n", - " \n", - " air06\n", - " \n", - " \n", - " exhaust_1\n", - " \n", - " \n", - " g01\n", - " \n", - " \n", - " \n", - " g02\n", - " \n", - " \n", - " \n", - " air09\n", - " \n", - " \n", - " \n", - " air10\n", - " \n", - " \n", - " \n", - " air07\n", - " \n", - " \n", - " \n", - " g03\n", - " \n", - " \n", - " \n", - " g04\n", - " \n", - " \n", - " \n", - " g05\n", - " \n", - " \n", - " \n", - " g07\n", - " \n", - " \n", - " \n", - " g06\n", - " \n", - " \n", - " \n", - " g08\n", - " \n", - " \n", - " \n", - " air08\n", - " \n", - " \n", - " \n", - " \n", - " 299.82 K\n", - " 25.946 kg/s\n", - " 31.026 bar\n", - " 1.000%\n", - " 93.100%\n", - " 0.000%\n", - " 1.600%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yCH4:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " 3.200%\n", - " yC2H6:\n", - " 0.700%\n", - " yC3H8:\n", - " 0.400%\n", - " yC4H10:\n", - " \n", - " \n", - " \n", - " 335.99 K\n", - " 18.526 kg/s\n", - " 43.355 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 457.27 K\n", - " 18.526 kg/s\n", - " 43.355 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " NG PreharerUses Hot WaterFrom HRSG\n", - " \n", - " \n", - " 448.75 K\n", - " 25.946 kg/s\n", - " 31.026 bar\n", - " 1.000%\n", - " 93.100%\n", - " 0.000%\n", - " 1.600%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yCH4:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " 3.200%\n", - " yC2H6:\n", - " 0.700%\n", - " yC3H8:\n", - " 0.400%\n", - " yC4H10:\n", - " \n", - " \n", - " power:\n", - " 481.28 MW\n", - " \n", - " \n", - " isentr. efficiency:\n", - " 84.02%\n", - " isentr. head:\n", - " 367.27 kJ/kg\n", - " inlet vol. flow:\n", - " 883.2 m**3/s\n", - " \n", - " 288.15 K\n", - " 1100.984 kg/s\n", - " 1.034 bar\n", - " 0.030%\n", - " 0.990%\n", - " 0.920%\n", - " 20.740%\n", - " 77.320%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 288.17 K\n", - " 1100.984 kg/s\n", - " 1.099 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 709.64 K\n", - " 1100.984 kg/s\n", - " 19.226 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 709.64 K\n", - " 1008.614 kg/s\n", - " 19.226 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 691.89 K\n", - " 1034.561 kg/s\n", - " 19.226 bar\n", - " 0.070%\n", - " 3.842%\n", - " 19.884%\n", - " 74.195%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yCH4:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " 0.132%\n", - " yC2H6:\n", - " 0.029%\n", - " yC3H8:\n", - " 0.017%\n", - " yC4H10:\n", - " \n", - " \n", - " \n", - " 1641.38 K\n", - " 1034.691 kg/s\n", - " 18.265 bar\n", - " 4.324%\n", - " 9.217%\n", - " 0.000%\n", - " 11.471%\n", - " 74.106%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yCH4:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " 0.000%\n", - " yC2H6:\n", - " 0.000%\n", - " yC3H8:\n", - " 0.000%\n", - " yC4H10:\n", - " 0.881%\n", - " yAr:\n", - " \n", - " \n", - " \n", - " power:\n", - " -374.58 MW\n", - " \n", - " \n", - " isentr. efficiency:\n", - " 88.53%\n", - " isentr. head:\n", - " -408.95 kJ/kg\n", - " inlet vol. flow:\n", - " 273.6 m**3/s\n", - " \n", - " \n", - " \n", - " 898.00 K\n", - " 1127.060 kg/s\n", - " 1.100 bar\n", - " 3.978%\n", - " 8.554%\n", - " 0.884%\n", - " 12.219%\n", - " 74.365%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " 899.61 K\n", - " 1116.809 kg/s\n", - " 1.100 bar\n", - " 4.014%\n", - " 8.622%\n", - " 0.884%\n", - " 12.142%\n", - " 74.339%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 1094.58 K\n", - " 1116.809 kg/s\n", - " 2.799 bar\n", - " 4.014%\n", - " 8.622%\n", - " 0.884%\n", - " 12.142%\n", - " 74.339%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 709.76 K\n", - " 14.769 kg/s\n", - " 2.799 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 1099.28 K\n", - " 1102.041 kg/s\n", - " 2.799 bar\n", - " 4.066%\n", - " 8.723%\n", - " 0.883%\n", - " 12.028%\n", - " 74.299%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 1329.41 K\n", - " 1102.041 kg/s\n", - " 7.137 bar\n", - " 4.066%\n", - " 8.723%\n", - " 0.883%\n", - " 12.028%\n", - " 74.299%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 1365.44 K\n", - " 1034.691 kg/s\n", - " 7.137 bar\n", - " 4.324%\n", - " 9.217%\n", - " 0.881%\n", - " 11.471%\n", - " 74.106%\n", - " T:\n", - " F:\n", - " P:\n", - " yCO2:\n", - " yH2O:\n", - " yAr:\n", - " yO2:\n", - " yN2:\n", - " \n", - " \n", - " \n", - " \n", - " power:\n", - " -264.25 MW\n", - " \n", - " \n", - " isentr. efficiency:\n", - " 88.19%\n", - " isentr. head:\n", - " -268.31 kJ/kg\n", - " inlet vol. flow:\n", - " 1280.2 m**3/s\n", - " \n", - " \n", - " \n", - " 709.77 K\n", - " 10.250 kg/s\n", - " 1.100 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 85.0%\n", - " opening:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 85.0%\n", - " opening:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 85.0%\n", - " opening:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 709.73 K\n", - " 67.350 kg/s\n", - " 7.137 bar\n", - " T:\n", - " F:\n", - " P:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " power:\n", - " -319.43 MW\n", - " \n", - " \n", - " isentr. efficiency:\n", - " 88.35%\n", - " isentr. head:\n", - " -328.07 kJ/kg\n", - " inlet vol. flow:\n", - " 602.3 m**3/s\n", - " \n", - " \n", - "" - ], - "text/plain": [ - "" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Imports\n", + "\n", + "Import the modules that will be used." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "HRSG Section\n", - "\n" - ] + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import numpy as np\n", + "import pandas as pd\n", + "from IPython.core.display import SVG\n", + "import pyomo.environ as pyo\n", + "import idaes\n", + "from idaes.core.solvers import use_idaes_solver_configuration_defaults\n", + "import idaes.core.util.scaling as iscale\n", + "import idaes.core.util as iutil\n", + "from idaes_examples.mod.power_gen import ngcc\n", + "import idaes.logger as idaeslog\n", + "import pytest\n", + "import logging\n", + "\n", + "logging.getLogger(\"pyomo\").setLevel(logging.ERROR)" + ] }, { - "data": { - "image/svg+xml": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " image/svg+xml\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " IPSH1\n", - " IPSH2\n", - " IPSH3\n", - " HPSH3\n", - " HPSH2\n", - " HPSH1\n", - " HPEVAP\n", - " HPECON5\n", - " LPECON\n", - " LPEVAP\n", - " LPDRUM\n", - " HPSH4\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " HPECON4\n", - " HPECON3\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " LPSH1\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " Gas Turbine Exhaust\n", - " HP Steam\n", - " IP Steam\n", - " \n", - " Feedwater\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " HPECON1\n", - " \n", - " \n", - " \n", - " \n", - " HPECON2\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " IPECON1\n", - " IPECON2\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " IPEVAP\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " Cold Reheat\n", - " \n", - " \n", - " \n", - " \n", - " From HP ECON2\n", - " To HP ECON3\n", - " \n", - " \n", - " LP Steam\n", - " \n", - " \n", - " \n", - " Mixer1\n", - " \n", - " LP_FGsplit\n", - " \n", - " \n", - " \n", - " \n", - " LP_Mixer2\n", - " IPPump\n", - " HPPump\n", - " IP_Mixer1\n", - " IP_Splitter2\n", - " To Ejector\n", - " To Reclaimer\n", - " To Dryer\n", - " To NG Preheater\n", - " From NG Preheater\n", - " To Stack or Capture\n", - " IP_Splitter1\n", - " Splitter1\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " SOEC Makeup\n", - " \n", - " \n", - " \n", - " \n", - " lp01\n", - " \n", - " \n", - " \n", - " lp02\n", - " \n", - " \n", - " \n", - " lp03\n", - " \n", - " \n", - " \n", - " lp04\n", - " \n", - " \n", - " \n", - " lp12\n", - " \n", - " \n", - " \n", - " lp05\n", - " \n", - " \n", - " \n", - " lp13\n", - " \n", - " \n", - " \n", - " g30\n", - " \n", - " \n", - " \n", - " g19\n", - " \n", - " \n", - " \n", - " hp03\n", - " \n", - " \n", - " \n", - " hp04\n", - " \n", - " \n", - " \n", - " hp05\n", - " \n", - " \n", - " \n", - " g18\n", - " \n", - " \n", - " \n", - " hp06\n", - " \n", - " \n", - " \n", - " hp06b\n", - " \n", - " \n", - " \n", - " g15\n", - " \n", - " \n", - " \n", - " ip06\n", - " \n", - " \n", - " \n", - " g14\n", - " \n", - " \n", - " \n", - " g17\n", - " \n", - " \n", - " \n", - " g16\n", - " \n", - " \n", - " \n", - " hp07\n", - " \n", - " \n", - " \n", - " hp08\n", - " \n", - " \n", - " \n", - " hp09\n", - " \n", - " \n", - " \n", - " hp10\n", - " \n", - " \n", - " \n", - " hp11\n", - " \n", - " \n", - " \n", - " g13\n", - " \n", - " \n", - " \n", - " g12\n", - " \n", - " \n", - " \n", - " g11\n", - " \n", - " \n", - " \n", - " g08\n", - " \n", - " \n", - " \n", - " g09\n", - " \n", - " \n", - " \n", - " ip10\n", - " \n", - " \n", - " \n", - " ip09\n", - " \n", - " \n", - " \n", - " ip08\n", - " \n", - " \n", - " \n", - " ip07\n", - " \n", - " \n", - " \n", - " g10\n", - " \n", - " \n", - " \n", - " g28\n", - " \n", - " \n", - " \n", - " ip11\n", - " \n", - " \n", - " \n", - " ip012\n", - " \n", - " \n", - " \n", - " ip013\n", - " \n", - " \n", - " \n", - " ip14\n", - " \n", - " \n", - " \n", - " ip015\n", - " \n", - " \n", - " \n", - " lp09\n", - " \n", - " \n", - " \n", - " lp08\n", - " \n", - " \n", - " \n", - " lp06\n", - " \n", - " \n", - " \n", - " hp01\n", - " \n", - " \n", - " \n", - " hp02\n", - " \n", - " \n", - " \n", - " hp03\n", - " \n", - " \n", - " \n", - " ip01\n", - " \n", - " \n", - " \n", - " ip02\n", - " \n", - " \n", - " \n", - " ip03\n", - " \n", - " \n", - " \n", - " g25\n", - " \n", - " \n", - " \n", - " g26\n", - " \n", - " \n", - " \n", - " g27\n", - " \n", - " \n", - " \n", - " ip05\n", - " \n", - " \n", - " \n", - " ip04\n", - " \n", - " \n", - " \n", - " g24\n", - " \n", - " \n", - " \n", - " g23\n", - " \n", - " \n", - " \n", - " g29\n", - " \n", - " \n", - " \n", - " lp10\n", - " \n", - " \n", - " \n", - " lp11\n", - " \n", - " \n", - " \n", - " g21\n", - " \n", - " \n", - " \n", - " g20\n", - " \n", - " \n", - " \n", - " g22\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " lp01\n", - " \n", - " \n", - " lp02\n", - " \n", - " \n", - " lp03\n", - " \n", - " \n", - " lp04\n", - " \n", - " \n", - " lp12\n", - " \n", - " \n", - " \n", - " lp05\n", - " \n", - " lp13\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " g30\n", - " \n", - " g29\n", - " g28\n", - " \n", - " \n", - " ip11\n", - " \n", - " ip06\n", - " g17\n", - " \n", - " \n", - " g16\n", - " g15\n", - " \n", - " \n", - " g14\n", - " hp07\n", - " \n", - " \n", - " hp08\n", - " hp06b\n", - " \n", - " hp06\n", - " \n", - " g19\n", - " \n", - " hp03\n", - " \n", - " g18\n", - " hp04\n", - " hp05\n", - " hp09\n", - " hp10\n", - " hp11\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " g12\n", - " g13\n", - " g11\n", - " g08\n", - " g09\n", - " ip08\n", - " ip09\n", - " ip10\n", - " ip07\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " g10\n", - " \n", - " ip14\n", - " ip13\n", - " ip12\n", - " ip15\n", - " \n", - " \n", - " \n", - " \n", - " ip06\n", - " \n", - " ip08\n", - " ip09\n", - " \n", - " \n", - " \n", - " hp01\n", - " hp02\n", - " hp03\n", - " \n", - " \n", - " \n", - " g27\n", - " g26\n", - " ip02\n", - " ip01\n", - " ip03\n", - " \n", - " \n", - " \n", - " \n", - " g25\n", - " \n", - " g24\n", - " \n", - " ip05\n", - " \n", - " ip04\n", - " \n", - " g23\n", - " \n", - " \n", - " g22\n", - " \n", - " lp11\n", - " lp10\n", - " g21\n", - " g20\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 382.51 K\n", - " 1.010 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 180.904 kg/s\n", - " 356.59 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 410.40 K\n", - " 1.010 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 0.000 kg/s\n", - " 443.56 K\n", - " 8.000 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 18.526 kg/s\n", - " 335.99 K\n", - " 43.355 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 199.430 kg/s\n", - " 435.43 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 22.669 kg/s\n", - " 435.43 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 199.430 kg/s\n", - " 394.15 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 556.520 kg/s\n", - " 547.38 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 199.430 kg/s\n", - " 435.43 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 180.904 kg/s\n", - " 399.98 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 40.345 kg/s\n", - " 435.43 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 40.345 kg/s\n", - " 436.13 K\n", - " 43.850 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 40.345 kg/s\n", - " 457.27 K\n", - " 43.355 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 22.669 kg/s\n", - " 557.10 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 556.520 kg/s\n", - " 557.25 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 556.520 kg/s\n", - " 557.25 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 552.32 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 21.818 kg/s\n", - " 510.22 K\n", - " 42.352 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 176.761 kg/s\n", - " 435.43 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 18.526 kg/s\n", - " 457.27 K\n", - " 43.355 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 435.43 K\n", - " 6.550 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 479.13 K\n", - " 1.010 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 439.77 K\n", - " 244.000 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 21.818 kg/s\n", - " 457.27 K\n", - " 43.355 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 520.59 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 516.28 K\n", - " 1.012 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 514.35 K\n", - " 1.011 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 511.29 K\n", - " 1.010 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 504.84 K\n", - " 243.913 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 508.62 K\n", - " 243.829 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 157.430 kg/s\n", - " 855.94 K\n", - " 30.909 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 157.430 kg/s\n", - " 710.16 K\n", - " 33.408 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 157.430 kg/s\n", - " 600.93 K\n", - " 34.177 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 21.818 kg/s\n", - " 556.91 K\n", - " 42.146 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 135.612 kg/s\n", - " 610.47 K\n", - " 34.177 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 21.818 kg/s\n", - " 527.32 K\n", - " 42.352 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 610.47 K\n", - " 34.177 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 858.53 K\n", - " 172.428 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 898.00 K\n", - " 1.100 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 880.11 K\n", - " 1.098 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 735.19 K\n", - " 173.171 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 796.53 K\n", - " 172.830 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 786.52 K\n", - " 1.092 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 576.08 K\n", - " 1.047 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 577.92 K\n", - " 1.081 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 755.13 K\n", - " 1.083 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 840.55 K\n", - " 1.096 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 557.25 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1113.040 kg/s\n", - " 568.07 K\n", - " 1.046 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 529.72 K\n", - " 243.746 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 544.93 K\n", - " 243.667 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 557.78 K\n", - " 243.589 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 627.24 K\n", - " 173.589 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 659.11 K\n", - " 173.415 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 584.88 K\n", - " 1.081 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 723.83 K\n", - " 1.081 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:x:\n", - " 136.416 kg/s\n", - " 557.34 K\n", - " 173.589 bar\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 820.55 K\n", - " 1.094 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "" - ], - "text/plain": [ - "" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Make Output Directories\n", + "\n", + "This notebook can produce a large number of output files. To make it easier to manage, some subdirectories are used to organize output. This ensures that the directories exist." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "Steam Turbine Section\n", - "\n" - ] + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "def make_directory(path):\n", + " \"\"\"Make a directory if it doesn't exist\"\"\"\n", + " try:\n", + " os.mkdir(path)\n", + " except FileExistsError:\n", + " pass\n", + "\n", + "\n", + "make_directory(\"data\")\n", + "make_directory(\"data_pfds\")\n", + "make_directory(\"data_tabulated\")" + ] }, { - "data": { - "image/svg+xml": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " image/svg+xml\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " HRSG\n", - " Cold Flue Gas\n", - " Gas Turbine Exhaust\n", - " Makeup Water\n", - " HP\n", - " IP\n", - " LP\n", - " Condensate Pump\n", - " Condenser\n", - " \n", - " \n", - " Cold Reheat\n", - " Hot Reheat\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " From Dryer\n", - " From Reclaimer\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " To Reclaimer\n", - " To Dryer\n", - " To Ejector\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " From NG Preheater\n", - " To NG Preheater\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " CaptureReboiler\n", - " \n", - " \n", - " \n", - " \n", - " To SOEC\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " t01\n", - " \n", - " \n", - " \n", - " t02\n", - " \n", - " \n", - " \n", - " t11\n", - " \n", - " \n", - " \n", - " t15\n", - " \n", - " \n", - " \n", - " t14\n", - " \n", - " \n", - " \n", - " t13\n", - " \n", - " \n", - " \n", - " t10\n", - " \n", - " \n", - " \n", - " t09\n", - " \n", - " \n", - " \n", - " t13\n", - " \n", - " \n", - " \n", - " t04\n", - " \n", - " \n", - " \n", - " t05\n", - " \n", - " \n", - " \n", - " t03\n", - " \n", - " \n", - " \n", - " t06\n", - " \n", - " \n", - " \n", - " t07\n", - " \n", - " \n", - " \n", - " t08\n", - " \n", - " \n", - " \n", - " t12\n", - " \n", - " \n", - " \n", - " cw01\n", - " \n", - " \n", - " \n", - " cw02\n", - " \n", - " \n", - " \n", - " t18\n", - " \n", - " \n", - " \n", - " t17\n", - " \n", - " \n", - " \n", - " t16\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " t01\n", - " \n", - " t02\n", - " \n", - " \n", - " t11\n", - " \n", - " \n", - " t15\n", - " \n", - " \n", - " t14\n", - " \n", - " \n", - " t10\n", - " \n", - " \n", - " t09\n", - " \n", - " \n", - " t13\n", - " \n", - " \n", - " t04\n", - " \n", - " \n", - " t05\n", - " \n", - " \n", - " t08\n", - " \n", - " \n", - " t12\n", - " \n", - " \n", - " cw01\n", - " \n", - " \n", - " cw02\n", - " \n", - " \n", - " t16\n", - " \n", - " \n", - " t18\n", - " \n", - " \n", - " t17\n", - " \n", - " t03\n", - " \n", - " t06\n", - " \n", - " t07\n", - " \n", - " \n", - " \n", - " 136.416 kg/s\n", - " 858.53 K\n", - " 172.428 bar\n", - " 63.487 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 157.430 kg/s\n", - " 855.94 K\n", - " 30.909 bar\n", - " 65.630 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 0.806 kg/s\n", - " 306.25 K\n", - " 1.013 bar\n", - " 2.500 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 3603.054 kg/s\n", - " 289.70 K\n", - " 5.000 bar\n", - " 1.260 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 111.286 kg/s\n", - " 316.88 K\n", - " 0.090 bar\n", - " 45.114 kJ/mol\n", - " 0.968\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " 22.669 kg/s\n", - " 557.10 K\n", - " 6.550 bar\n", - " 54.533 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 0.002 kg/s\n", - " 577.72 K\n", - " 4.592 bar\n", - " 55.397 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 68.812 kg/s\n", - " 577.72 K\n", - " 4.592 bar\n", - " 55.397 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 157.430 kg/s\n", - " 581.07 K\n", - " 4.592 bar\n", - " 55.522 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 136.416 kg/s\n", - " 610.47 K\n", - " 34.177 bar\n", - " 55.412 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " 111.286 kg/s\n", - " 577.72 K\n", - " 4.592 bar\n", - " 55.397 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 180.904 kg/s\n", - " 356.59 K\n", - " 6.550 bar\n", - " 6.304 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " 0.001 kg/s\n", - " 487.00 K\n", - " 20.000 bar\n", - " 50.496 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 0.000 kg/s\n", - " 476.00 K\n", - " 16.000 bar\n", - " 50.393 kJ/mol\n", - " 1.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 111.286 kg/s\n", - " 316.88 K\n", - " 0.090 bar\n", - " 3.299 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " 3603.054 kg/s\n", - " 306.85 K\n", - " 5.000 bar\n", - " 2.552 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " 68.812 kg/s\n", - " 420.51 K\n", - " 4.592 bar\n", - " 11.184 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " 112.092 kg/s\n", - " 316.80 K\n", - " 0.090 bar\n", - " 3.293 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - " \n", - " 112.092 kg/s\n", - " 316.86 K\n", - " 6.550 bar\n", - " 3.308 kJ/mol\n", - " 0.000\n", - " \n", - " \n", - " F:T:P:H:X:\n", - " \n", - " \n", - "" - ], - "text/plain": [ - "" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Global Solver Settings\n", + "\n", + "Use the IDAES configuration system for solver settings. These will apply to all Ipopt instances created, including the ones created in initialization methods." ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "def display_pfd():\n", - " print(\"\\n\\nGas Turbine Section\\n\")\n", - " display(SVG(m.fs.gt.write_pfd()))\n", - " print(\"\\n\\nHRSG Section\\n\")\n", - " display(SVG(m.fs.hrsg.write_pfd()))\n", - " print(\"\\n\\nSteam Turbine Section\\n\")\n", - " display(SVG(m.fs.st.write_pfd()))\n", - "\n", - "\n", - "display_pfd()\n", - "\n", - "m.fs.gt.write_pfd(fname=\"data_pfds/gt_baseline.svg\")\n", - "m.fs.hrsg.write_pfd(fname=\"data_pfds/hrsg_baseline.svg\")\n", - "m.fs.st.write_pfd(fname=\"data_pfds/st_baseline.svg\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Test key model outputs against NETL baseline" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "# Assert results approximately agree with baseline reoprt\n", - "assert pyo.value(m.fs.net_power_mw[0]) == pytest.approx(646)\n", - "assert pyo.value(m.fs.gross_power[0]) == pytest.approx(-690e6, rel=0.001)\n", - "assert pyo.value(100 * m.fs.lhv_efficiency[0]) == pytest.approx(52.8, abs=0.1)\n", - "assert pyo.value(\n", - " m.fs.total_variable_cost_rate[0] / m.fs.net_power_mw[0]\n", - ") == pytest.approx(37.2799, rel=0.01)\n", - "assert pyo.value(m.fs.fuel_cost_rate[0] / m.fs.net_power_mw[0]) == pytest.approx(\n", - " 31.6462, rel=0.01\n", - ")\n", - "assert pyo.value(\n", - " m.fs.other_variable_cost_rate[0] / m.fs.net_power_mw[0]\n", - ") == pytest.approx(5.63373, rel=0.01)\n", - "assert pyo.value(m.fs.gt.gt_power[0]) == pytest.approx(-477e6, rel=0.001)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "use_idaes_solver_configuration_defaults()\n", + "idaes.cfg.ipopt.options.nlp_scaling_method = \"user-scaling\"\n", + "idaes.cfg.ipopt.options.linear_solver = \"ma57\"\n", + "idaes.cfg.ipopt.options.OF_ma57_automatic_scaling = \"yes\"\n", + "idaes.cfg.ipopt.options.ma57_pivtol = 1e-5\n", + "idaes.cfg.ipopt.options.ma57_pivtolmax = 0.1\n", + "solver = pyo.SolverFactory(\"ipopt\")" + ] + }, { - "data": { - "text/plain": [ - "" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Create the NGCC model\n", + "\n", + "Create the NGCC model and initialize it or read the saved initialization if available. The base initialized NGCC model is configured to match the baseline report with 90% capture using a Cansolv system." ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" }, { - "data": { - "image/png": "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XnsNhYWFMDY2hpmZmXTFp3379hg1ahRGjBjR4N93RURERHQ/NRqg3K5dO6xatQqfffYZTp48iYsXL+LOnTto2rQpfH190bRp0/qqk4iIiKhWavV1EUZGRvD19YWvr28dl0NERERUt/g0FhEREckaww4RERHJGsMOERERyRrDDhEREclajcNOWVkZTExMcOrUqfqoh4iIiKhO1TjsKJVKtGjRAuXl5fVRDxEREVGdqtVtrOnTp2PatGm4fv16XddDREREVKdq9Tk7//73v3Hu3Dm4uLjAzc0NVlZWeu1Hjx6tk+KIiIiIHletws7AgQPruAwiIiKi+lGrsPP+++/XdR1ERERE9aLWj57n5+dj9erViI6OlsbuHD16FJcvX66z4oiIiIgeV62u7Jw8eRIhISFQq9W4cOECRo8eDTs7O2zYsAE5OTn44osv6rpOIiIiolqp1ZWdSZMmYcSIETh79izMzc2l5c8//zz2799fZ8URERERPa5ahZ3U1FS8+eabVZY3a9YMOp3usYsiIiIiqiu1CjtmZmYoLCyssvzMmTNwcHB47KKIiIiI6kqtws4LL7yAWbNmoaysDACgUCiQk5ODqVOnIiwsrE4LJCIiInoctQo7CxcuRFFRERwdHXHnzh0EBQWhdevWaNKkCT766KO6rpGIiIio1mr1NJZarcbOnTvxv//9DydPnkRRURGee+45hISE1HV9RERERI+lVmGnuLgY5ubmCAwMRGBgYF3XRERERFRnahV2bGxs0LlzZwQFBaFbt27QarWwsLCo69qIiIiIHlutxuzs2rULvXv3RkpKCl544QXY2toiMDAQ06dPx86dO+u6RiIiIqJaq1XYCQwMxLRp07Bjxw7k5+dj7969aN26NebPn4/evXvXdY1EREREtVar21jAvc/USUxMlKaSkhL069cPwcHBdVgeERER0eOpVdhp1qwZ7ty5g+DgYAQHB2Pq1Klo27YtFApFXddHRERE9FhqdRvLwcEBt2/fhk6ng06nQ25uLu7cuVPXtRERERE9tlqFnePHj0On0+G9995DSUkJpk2bhqZNm6JLly6YPn16XddIREREVGu1HrNjY2ODF154AQEBAejSpQt+/PFHfPXVV0hJSeGnKBMREVGjUauws2HDBmlgckZGBuzs7BAYGIiFCxciKCiormskIiIiqrVahZ2xY8eia9eu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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "m = pyo.ConcreteModel()\n", + "m.fs = ngcc.NgccFlowsheet(dynamic=False)\n", + "iscale.calculate_scaling_factors(m)\n", + "m.fs.initialize(\n", + " load_from=\"ngcc_init.json.gz\",\n", + " save_to=\"ngcc_init.json.gz\",\n", + " outlvl=idaeslog.INFO_HIGH,\n", + ")\n", + "res = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Show PFDs with baseline results\n", + "\n", + "This displays PFDs in the notebook, and saves them to files. The full NGCC model is too big to show well in a single PFD, so it is broken into the three main sections, gas turbine, heat recovery steam generator (HRSG), and steam turbine." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "def display_pfd():\n", + " print(\"\\n\\nGas Turbine Section\\n\")\n", + " display(SVG(m.fs.gt.write_pfd()))\n", + " print(\"\\n\\nHRSG Section\\n\")\n", + " display(SVG(m.fs.hrsg.write_pfd()))\n", + " print(\"\\n\\nSteam Turbine Section\\n\")\n", + " display(SVG(m.fs.st.write_pfd()))\n", + "\n", + "\n", + "display_pfd()\n", + "\n", + "m.fs.gt.write_pfd(fname=\"data_pfds/gt_baseline.svg\")\n", + "m.fs.hrsg.write_pfd(fname=\"data_pfds/hrsg_baseline.svg\")\n", + "m.fs.st.write_pfd(fname=\"data_pfds/st_baseline.svg\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Test key model outputs against NETL baseline" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# Assert results approximately agree with baseline reoprt\n", + "assert pyo.value(m.fs.net_power_mw[0]) == pytest.approx(646)\n", + "assert pyo.value(m.fs.gross_power[0]) == pytest.approx(-690e6, rel=0.001)\n", + "assert pyo.value(100 * m.fs.lhv_efficiency[0]) == pytest.approx(52.8, abs=0.1)\n", + "assert pyo.value(\n", + " m.fs.total_variable_cost_rate[0] / m.fs.net_power_mw[0]\n", + ") == pytest.approx(37.2799, rel=0.01)\n", + "assert pyo.value(m.fs.fuel_cost_rate[0] / m.fs.net_power_mw[0]) == pytest.approx(\n", + " 31.6462, rel=0.01\n", + ")\n", + "assert pyo.value(\n", + " m.fs.other_variable_cost_rate[0] / m.fs.net_power_mw[0]\n", + ") == pytest.approx(5.63373, rel=0.01)\n", + "assert pyo.value(m.fs.gt.gt_power[0]) == pytest.approx(-477e6, rel=0.001)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "from matplotlib import pyplot as plt\n", + "\n", + "\n", + "variables = [\"net_power\", \"gross_power\", \"gt_power\"]\n", + "netl_baseline = [646, 690, 477]\n", + "idaes_prediction = [\n", + " pyo.value(m.fs.net_power_mw[0]),\n", + " -pyo.value(m.fs.gross_power[0]) * 1e-6,\n", + " -pyo.value(m.fs.gt.gt_power[0]) * 1e-6,\n", + "]\n", + "\n", + "label_location = np.arange(len(variables))\n", + "\n", + "width = 0.4\n", + "\n", + "fig, ax = plt.subplots()\n", + "netl_data = ax.bar(variables, netl_baseline, label=\"NETL Baseline\")\n", + "idaes_sim = ax.bar(\n", + " label_location + (width / 2), idaes_prediction, width, label=\"IDAES Prediction\"\n", + ")\n", + "\n", + "ax.set_ylabel(\"Power (MW)\")\n", + "ax.set_xticks(label_location)\n", + "ax.set_xticklabels(variables)\n", + "ax.legend()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Run turndown cases 5 MW interval\n", + "\n", + "Here we set the CO2 capture rate to 97% and set the specific reboiler duty to PZ advanced solvent system. The minimum power is 160 MW net, which corresponds to a bit under 25%. This is roughly the minimum load for the NGCC modeled. Results are tabulated for tags in the tags_output tag group in a Pandas data frame. \n", + "\n", + "To run the series, change run_series to True. Running the turndown series takes a while, unless previous saved results are available. " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "run_series = False\n", + "if run_series:\n", + " idaes.cfg.ipopt.options.tol = 1e-6\n", + " idaes.cfg.ipopt.options.max_iter = 50\n", + " solver = pyo.SolverFactory(\"ipopt\")\n", + "\n", + " m.fs.cap_specific_reboiler_duty.fix(2.4e6)\n", + " m.fs.cap_fraction.fix(0.97)\n", + " powers = np.linspace(650, 160, int((650 - 160) / 5) + 1)\n", + " powers = list(powers)\n", + " powers.insert(1, 646)\n", + "\n", + " df = pd.DataFrame(columns=m.fs.tags_output.table_heading())\n", + "\n", + " for p in powers:\n", + " print(\"Simulation for net power = \", p)\n", + " fname = f\"data/ngcc_{int(p)}.json.gz\"\n", + " if os.path.exists(fname):\n", + " iutil.from_json(m, fname=fname, wts=iutil.StoreSpec(suffix=False))\n", + " else:\n", + " m.fs.net_power_mw.fix(p)\n", + " res = solver.solve(m, tee=False, symbolic_solver_labels=True)\n", + " if not pyo.check_optimal_termination(res):\n", + " break\n", + " iutil.to_json(m, fname=fname)\n", + " df.loc[m.fs.tags_output[\"net_power\"].value] = m.fs.tags_output.table_row(\n", + " numeric=True\n", + " )\n", + " if abs(p - 650) < 0.1:\n", + " m.fs.gt.streams_dataframe().to_csv(\n", + " \"data_tabulated/ngcc_stream_650mw_gt.csv\"\n", + " )\n", + " m.fs.st.steam_streams_dataframe().to_csv(\n", + " \"data_tabulated/ngcc_stream_650mw_st.csv\"\n", + " )\n", + " m.fs.hrsg.steam_streams_dataframe().to_csv(\n", + " \"data_tabulated/ngcc_stream_650mw_hrsg_steam.csv\"\n", + " )\n", + " m.fs.hrsg.flue_gas_streams_dataframe().to_csv(\n", + " \"data_tabulated/ngcc_stream_650mw_hrsg_gas.csv\"\n", + " )\n", + " df.to_csv(\"data_tabulated/ngcc.csv\")\n", + "\n", + " # Display the results from the run stored in a pandas dataframe\n", + " pd.set_option(\"display.max_rows\", None)\n", + " pd.set_option(\"display.max_columns\", None)\n", + " display(df)\n", + "\n", + " # Plot results\n", + " plt.plot(df[\"net_power (MW)\"], df[\"lhv_efficiency (%)\"])\n", + " plt.grid()\n", + " plt.xlabel(\"Net Power (MW)\")\n", + " plt.ylabel(\"LHV Efficiency (%)\")\n", + " plt.title(\"Net Power vs. Efficiency\")\n", + " plt.show()" ] - }, - "metadata": {}, - "output_type": "display_data" } - ], - "source": [ - "from matplotlib import pyplot as plt\n", - "\n", - "\n", - "variables = [\"net_power\", \"gross_power\", \"gt_power\"]\n", - "netl_baseline = [646, 690, 477]\n", - "idaes_prediction = [\n", - " pyo.value(m.fs.net_power_mw[0]),\n", - " -pyo.value(m.fs.gross_power[0]) * 1e-6,\n", - " -pyo.value(m.fs.gt.gt_power[0]) * 1e-6,\n", - "]\n", - "\n", - "label_location = np.arange(len(variables))\n", - "\n", - "width = 0.4\n", - "\n", - "fig, ax = plt.subplots()\n", - "netl_data = ax.bar(variables, netl_baseline, label=\"NETL Baseline\")\n", - "idaes_sim = ax.bar(\n", - " label_location + (width / 2), idaes_prediction, width, label=\"IDAES Prediction\"\n", - ")\n", - "\n", - "ax.set_ylabel(\"Power (MW)\")\n", - "ax.set_xticks(label_location)\n", - "ax.set_xticklabels(variables)\n", - "ax.legend()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Run turndown cases 5 MW interval\n", - "\n", - "Here we set the CO2 capture rate to 97% and set the specific reboiler duty to PZ advanced solvent system. The minimum power is 160 MW net, which corresponds to a bit under 25%. This is roughly the minimum load for the NGCC modeled. Results are tabulated for tags in the tags_output tag group in a Pandas data frame. \n", - "\n", - "To run the series, change run_series to True. Running the turndown series takes a while, unless previous saved results are available. " - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "run_series = False\n", - "if run_series:\n", - " idaes.cfg.ipopt.options.tol = 1e-6\n", - " idaes.cfg.ipopt.options.max_iter = 50\n", - " solver = pyo.SolverFactory(\"ipopt\")\n", - "\n", - " m.fs.cap_specific_reboiler_duty.fix(2.4e6)\n", - " m.fs.cap_fraction.fix(0.97)\n", - " powers = np.linspace(650, 160, int((650 - 160) / 5) + 1)\n", - " powers = list(powers)\n", - " powers.insert(1, 646)\n", - "\n", - " df = pd.DataFrame(columns=m.fs.tags_output.table_heading())\n", - "\n", - " for p in powers:\n", - " print(\"Simulation for net power = \", p)\n", - " fname = f\"data/ngcc_{int(p)}.json.gz\"\n", - " if os.path.exists(fname):\n", - " iutil.from_json(m, fname=fname, wts=iutil.StoreSpec(suffix=False))\n", - " else:\n", - " m.fs.net_power_mw.fix(p)\n", - " res = solver.solve(m, tee=False, symbolic_solver_labels=True)\n", - " if not pyo.check_optimal_termination(res):\n", - " break\n", - " iutil.to_json(m, fname=fname)\n", - " df.loc[m.fs.tags_output[\"net_power\"].value] = m.fs.tags_output.table_row(\n", - " numeric=True\n", - " )\n", - " if abs(p - 650) < 0.1:\n", - " m.fs.gt.streams_dataframe().to_csv(\n", - " \"data_tabulated/ngcc_stream_650mw_gt.csv\"\n", - " )\n", - " m.fs.st.steam_streams_dataframe().to_csv(\n", - " \"data_tabulated/ngcc_stream_650mw_st.csv\"\n", - " )\n", - " m.fs.hrsg.steam_streams_dataframe().to_csv(\n", - " \"data_tabulated/ngcc_stream_650mw_hrsg_steam.csv\"\n", - " )\n", - " m.fs.hrsg.flue_gas_streams_dataframe().to_csv(\n", - " \"data_tabulated/ngcc_stream_650mw_hrsg_gas.csv\"\n", - " )\n", - " df.to_csv(\"data_tabulated/ngcc.csv\")\n", - "\n", - " # Display the results from the run stored in a pandas dataframe\n", - " pd.set_option(\"display.max_rows\", None)\n", - " pd.set_option(\"display.max_columns\", None)\n", - " display(df)\n", - "\n", - " # Plot results\n", - " plt.plot(df[\"net_power (MW)\"], df[\"lhv_efficiency (%)\"])\n", - " plt.grid()\n", - " plt.xlabel(\"Net Power (MW)\")\n", - " plt.ylabel(\"LHV Efficiency (%)\")\n", - " plt.title(\"Net Power vs. Efficiency\")\n", - " plt.show()" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" + } }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.13" - } - }, - "nbformat": 4, - "nbformat_minor": 3 -} + "nbformat": 4, + "nbformat_minor": 3 +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/power_gen/solid_oxide_cell/soc_pid_control.ipynb b/idaes_examples/notebooks/docs/power_gen/solid_oxide_cell/soc_pid_control.ipynb index 978d3c90..f15827b4 100644 --- a/idaes_examples/notebooks/docs/power_gen/solid_oxide_cell/soc_pid_control.ipynb +++ b/idaes_examples/notebooks/docs/power_gen/solid_oxide_cell/soc_pid_control.ipynb @@ -1,5 +1,32 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "38f859ed", + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "code", "execution_count": 1, @@ -137,16 +164,7 @@ "execution_count": 3, "id": "f97f1abd", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-04-24 16:44:46 [WARNING] idaes.models.properties.modular_properties.transport_properties.no_method: Skipping construction of thermal conductivity for phase Liq\n", - "2024-04-24 16:44:46 [WARNING] idaes.models.properties.modular_properties.transport_properties.no_method: Skipping construction of dynamic viscosity for phase Liq\n" - ] - } - ], + "outputs": [], "source": [ "operating_scenario = OperatingScenario.maximum_production\n", "m = pyo.ConcreteModel()\n", @@ -495,431 +513,7 @@ "execution_count": 11, "id": "0ef3accc", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'SOC Dynamic Flowsheet'" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/svg+xml": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " image/svg+xml\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " SOEC\n", - " Hydrogen Side\n", - " Oxygen Side\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " sweep03 \n", - " \n", - " \n", - " \n", - " ostrm01 \n", - " \n", - " \n", - " \n", - " ostrm02 \n", - " \n", - " \n", - " \n", - " \n", - " sweep00 \n", - " \n", - " \n", - " \n", - " \n", - " hstrm01 \n", - " \n", - " \n", - " \n", - " hstrm02 \n", - " \n", - " \n", - " \n", - " hstrm03 \n", - " \n", - " \n", - " \n", - " feed00\n", - " \n", - " \n", - " \n", - " feed02 \n", - " \n", - " \n", - " \n", - " F:T:P:yH2:\n", - " 2.649 kmol/s\n", - " 931.30 K\n", - " 1.200 bar\n", - " \n", - " 37.454%\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1.325 kmol/s\n", - " 986.16 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1.325 kmol/s\n", - " 886.52 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:yO2:\n", - " 5.514 kmol/s\n", - " 985.74 K\n", - " 1.200 bar\n", - " \n", - " 35.000%\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " ostrm 05\n", - " \n", - " \n", - " \n", - " F:T:P:yH2:\n", - " 2.649 kmol/s\n", - " 986.16 K\n", - " 1.200 bar\n", - " \n", - " 74.900%\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:yO2:\n", - " 5.018 kmol/s\n", - " 963.51 K\n", - " 1.200 bar\n", - " \n", - " 28.575%\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " steam_heater\n", - " steam_hot_exchanger\n", - " sweep_heater\n", - " steam_medium_exchanger\n", - " sweep_exchanger\n", - " \n", - " F:T:P:\n", - " 2.757 kmol/s\n", - " 985.74 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 2.261 kmol/s\n", - " 288.15 K\n", - " 1.013 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 5.018 kmol/s\n", - " 969.53 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:yH2:\n", - " 1.325 kmol/s\n", - " 477.72 K\n", - " 1.200 bar\n", - " \n", - " 74.900%\n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1.325 kmol/s\n", - " 986.16 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 2.261 kmol/s\n", - " 936.02 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 2.757 kmol/s\n", - " 985.74 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " feed04 \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 2.757 kmol/s\n", - " 484.91 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 2.649 kmol/s\n", - " 941.64 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 453.60 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " Summary:\n", - " \n", - " SOEC Electric Power:SOEC Current:Cell Potential:H2 Production Rate:H2 Consumption Rate:Feed Heater Power:Sweep Heater Power:Total Electric Power:Vent Gas Recycle Ratio:\n", - " \n", - " 252.830 MW\n", - " -191.439 MA\n", - " 1.321 V\n", - " 2.000 kg/s\n", - " 0.000 kg/s\n", - " 1.000 MW\n", - " 1.000 MW\n", - " 255.936 MW\n", - " 0.0\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " ostrm03 \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " feed03 \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " sweep02\n", - " \n", - " \n", - " \n", - " \n", - " ostrm04\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 2.757 kmol/s\n", - " 442.77 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " feed01 \n", - " \n", - " \n", - " \n", - " \n", - " sweep04 \n", - " \n", - " \n", - " \n", - " F:T:P:yH2:\n", - " 1.325 kmol/s\n", - " 378.15 K\n", - " 1.200 bar\n", - " \n", - " 0.007%\n", - " \n", - " \n", - " \n", - " F:T:P:yH2:\n", - " 1.108 kmol/s\n", - " 323.15 K\n", - " 1.200 bar\n", - " \n", - " 89.541%\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " hstrm04 \n", - " \n", - " hstrm06 \n", - " \n", - " knockout\n", - " \n", - " out \n", - " \n", - " makeup \n", - " \n", - " vgr\n", - " \n", - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "m.fs.write_pfd(fname=\"soc_dynamic_flowsheet.svg\")\n", "display(\n", @@ -1071,615 +665,7 @@ "execution_count": 16, "id": "47d8af18", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-04-24 16:45:08 [INFO] idaes.solve.petsc-dae: WARNING: model contains export suffix 'scaling_factor' that contains 243\n", - "2024-04-24 16:45:08 [INFO] idaes.solve.petsc-dae: component keys that are not exported as part of the NL file. Skipping.\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Ipopt 3.13.2: constr_viol_tol=1e-08\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: nlp_scaling_method=user-scaling\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: linear_solver=ma57\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: max_iter=300\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: tol=1e-08\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: halt_on_ampl_error=no\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: option_file_name=C:\\Users\\dallan\\AppData\\Local\\Temp\\tmphl5vnriw_ipopt.opt\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Using option file \"C:\\Users\\dallan\\AppData\\Local\\Temp\\tmphl5vnriw_ipopt.opt\".\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: ******************************************************************************\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: For more information visit http://projects.coin-or.org/Ipopt\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: This version of Ipopt was compiled from source code available at\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: for large-scale scientific computation. All technical papers, sales and\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: publicity material resulting from use of the HSL codes within IPOPT must\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: contain the following acknowledgement:\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: HSL, a collection of Fortran codes for large-scale scientific\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: computation. See http://www.hsl.rl.ac.uk.\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: ******************************************************************************\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: This is Ipopt version 3.13.2, running with linear solver ma57.\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of nonzeros in equality constraint Jacobian...: 15011\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of nonzeros in inequality constraint Jacobian.: 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of nonzeros in Lagrangian Hessian.............: 9356\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Total number of variables............................: 3864\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: variables with only lower bounds: 667\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: variables with lower and upper bounds: 1495\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: variables with only upper bounds: 31\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Total number of equality constraints.................: 3864\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Total number of inequality constraints...............: 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: inequality constraints with only lower bounds: 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: inequality constraints with lower and upper bounds: 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: inequality constraints with only upper bounds: 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: 0 0.0000000e+00 6.79e+01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Reallocating memory for MA57: lfact (331665)\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: 1 0.0000000e+00 9.77e-01 1.41e+02 -1.0 5.95e+00 - 8.13e-01 9.85e-01h 1\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: 2 0.0000000e+00 9.25e-03 1.71e+02 -1.0 8.74e-02 - 9.90e-01 9.90e-01h 1\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: 3 0.0000000e+00 3.08e-05 2.80e+04 -1.0 6.27e-03 - 9.91e-01 9.97e-01h 1\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: 4 0.0000000e+00 3.05e-11 4.27e+03 -1.0 7.30e-04 - 1.00e+00 1.00e+00h 1\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of Iterations....: 4\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: (scaled) (unscaled)\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Constraint violation....: 3.0518305330767825e-11 3.0518305330767825e-11\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Overall NLP error.......: 3.0518305330767825e-11 3.0518305330767825e-11\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of objective function evaluations = 5\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of objective gradient evaluations = 5\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of equality constraint evaluations = 5\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of inequality constraint evaluations = 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of equality constraint Jacobian evaluations = 5\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of inequality constraint Jacobian evaluations = 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of Lagrangian Hessian evaluations = 4\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Total CPU secs in IPOPT (w/o function evaluations) = 0.260\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Total CPU secs in NLP function evaluations = 0.041\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: EXIT: Optimal Solution Found.\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_nan\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_nan\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_ext\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_ext\n", - "2024-04-24 16:45:22 [INFO] idaes.solve.petsc-dae: WARNING: model contains export suffix 'scaling_factor' that contains 93\n", - "2024-04-24 16:45:22 [INFO] idaes.solve.petsc-dae: component keys that are not exported as part of the NL file. Skipping.\n", - "2024-04-24 16:45:22 [INFO] idaes.solve.petsc-dae: Solver log file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmp69gau4jt_petsc_ts.log'\n", - "2024-04-24 16:45:22 [INFO] idaes.solve.petsc-dae: Solver solution file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpva9yq47l.pyomo.sol'\n", - "2024-04-24 16:45:22 [INFO] idaes.solve.petsc-dae: Solver problem files: ('C:\\\\Users\\\\dallan\\\\AppData\\\\Local\\\\Temp\\\\tmpva9yq47l.pyomo.nl',)\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: DAE: 1\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpva9yq47l.pyomo.nl\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of constraints: 3920\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 1795\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 2125\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of variables: 4007\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 15554 \n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Explicit time variable: 0\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of derivatives: 87\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of differential vars: 87\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of algebraic vars: 3833\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of state vars: 3920\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 0 TS dt 0.1 time 0.\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 1 TS dt 0.1 time 0.1\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 2 TS dt 0.100412 time 0.2\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 3 TS dt 1.00412 time 0.300412\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 4 TS dt 10.0412 time 1.30453\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 5 TS dt 21.1594 time 11.3457\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 6 TS dt 34.1485 time 32.5051\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 7 TS dt 56.7094 time 66.6536\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 8 TS dt 103.25 time 123.363\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 9 TS dt 205.123 time 226.612\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 10 TS dt 309.964 time 431.736\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 11 TS dt 432.696 time 741.7\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 12 TS dt 621.577 time 1174.4\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 13 TS dt 902.014 time 1795.97\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 14 TS dt 902.014 time 2697.99\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 15 TS dt 2466.59 time 3600.\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: TSConvergedReason = TS_CONVERGED_TIME\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: TS_CONVERGED_TIME\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_nan\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_nan\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_ext\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_ext\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: WARNING: model contains export suffix 'scaling_factor' that contains 170\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: component keys that are not exported as part of the NL file. Skipping.\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Solver log file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpn0tqghes_petsc_ts.log'\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Solver solution file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpk0c1pdqp.pyomo.sol'\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Solver problem files: ('C:\\\\Users\\\\dallan\\\\AppData\\\\Local\\\\Temp\\\\tmpk0c1pdqp.pyomo.nl',)\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: DAE: 1\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpk0c1pdqp.pyomo.nl\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of constraints: 3920\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 1795\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 2125\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of variables: 4007\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 15554 \n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Explicit time variable: 0\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of derivatives: 87\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of differential vars: 87\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of algebraic vars: 3833\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of state vars: 3920\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: 0 TS dt 0.1 time 3600.\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: 1 TS dt 0.1 time 3600.1\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: 2 TS dt 0.00199239 time 3600.1\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: 3 TS dt 0.0199239 time 3600.1\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: 4 TS dt 0.199239 time 3600.12\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 5 TS dt 0.697133 time 3600.32\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 6 TS dt 0.866231 time 3601.02\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 7 TS dt 1.13013 time 3601.89\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 8 TS dt 1.179 time 3603.02\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 9 TS dt 1.3192 time 3604.19\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 10 TS dt 1.33644 time 3605.51\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 11 TS dt 1.45894 time 3606.85\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 12 TS dt 1.46098 time 3608.31\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 13 TS dt 1.37246 time 3609.77\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 14 TS dt 1.48172 time 3611.14\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 15 TS dt 1.2735 time 3612.35\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 16 TS dt 1.52602 time 3613.63\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 17 TS dt 1.64143 time 3615.15\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 18 TS dt 1.5531 time 3616.8\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 19 TS dt 1.61899 time 3618.35\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 20 TS dt 1.8938 time 3619.97\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 21 TS dt 2.14371 time 3621.86\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 22 TS dt 1.95341 time 3624.01\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 23 TS dt 0.593203 time 3624.34\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 24 TS dt 2.07741 time 3624.94\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 25 TS dt 1.8343 time 3626.78\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 26 TS dt 2.34236 time 3628.62\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 27 TS dt 2.70968 time 3630.96\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 28 TS dt 3.17793 time 3633.67\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 29 TS dt 2.08994 time 3635.54\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 30 TS dt 1.32652 time 3637.01\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 31 TS dt 3.93769 time 3638.34\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 32 TS dt 3.47399 time 3641.79\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 33 TS dt 4.44515 time 3645.27\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 34 TS dt 4.54859 time 3649.71\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 35 TS dt 5.11148 time 3654.26\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 36 TS dt 5.37965 time 3659.37\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 37 TS dt 5.84736 time 3664.75\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 38 TS dt 6.21996 time 3670.6\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 39 TS dt 6.69274 time 3676.82\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 40 TS dt 7.14526 time 3683.51\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 41 TS dt 7.65699 time 3690.66\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 42 TS dt 8.18317 time 3698.31\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 43 TS dt 8.74315 time 3706.5\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 44 TS dt 9.27856 time 3715.24\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 45 TS dt 9.68853 time 3724.52\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 46 TS dt 9.77885 time 3734.21\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 47 TS dt 9.92111 time 3743.99\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 48 TS dt 8.33461 time 3752.18\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 49 TS dt 8.96337 time 3760.51\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 50 TS dt 9.29772 time 3769.48\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 51 TS dt 9.60548 time 3778.77\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 52 TS dt 11.0593 time 3788.38\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 53 TS dt 9.88706 time 3797.26\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 54 TS dt 9.88436 time 3807.15\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 55 TS dt 7.55235 time 3814.54\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 56 TS dt 9.65705 time 3822.09\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 57 TS dt 11.0499 time 3831.75\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 58 TS dt 12.2975 time 3842.8\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 59 TS dt 12.6609 time 3855.1\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: 60 TS dt 13.9163 time 3859.75\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: 61 TS dt 10.4683 time 3870.54\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: 62 TS dt 9.49383 time 3881.01\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: 63 TS dt 9.49383 time 3890.51\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: 64 TS dt 14.0081 time 3900.\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: TSConvergedReason = TS_CONVERGED_TIME\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: TS_CONVERGED_TIME\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_nan\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_nan\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_ext\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_ext\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: WARNING: model contains export suffix 'scaling_factor' that contains 170\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: component keys that are not exported as part of the NL file. Skipping.\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Solver log file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmp3wnf4q2o_petsc_ts.log'\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Solver solution file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpcy91h9f0.pyomo.sol'\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Solver problem files: ('C:\\\\Users\\\\dallan\\\\AppData\\\\Local\\\\Temp\\\\tmpcy91h9f0.pyomo.nl',)\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: DAE: 1\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpcy91h9f0.pyomo.nl\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of constraints: 3920\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 1795\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 2125\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of variables: 4007\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 15554 \n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Explicit time variable: 0\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of derivatives: 87\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of differential vars: 87\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of algebraic vars: 3833\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of state vars: 3920\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: 0 TS dt 0.1 time 3900.\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: 1 TS dt 0.1 time 3900.1\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: 2 TS dt 1. time 3900.2\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 3 TS dt 2.86361 time 3901.2\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 4 TS dt 3.11474 time 3904.06\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 5 TS dt 3.95219 time 3907.18\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 6 TS dt 4.26539 time 3911.13\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 7 TS dt 4.68321 time 3915.4\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 8 TS dt 4.75843 time 3920.08\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 9 TS dt 4.77214 time 3924.84\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 10 TS dt 4.57975 time 3929.61\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 11 TS dt 5.10332 time 3934.19\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 12 TS dt 5.83254 time 3939.29\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 13 TS dt 6.72867 time 3945.13\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 14 TS dt 7.50262 time 3951.85\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 15 TS dt 8.77609 time 3959.36\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 16 TS dt 9.95946 time 3968.13\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 17 TS dt 11.4862 time 3978.09\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 18 TS dt 13.2173 time 3989.58\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 19 TS dt 15.4588 time 4002.8\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 20 TS dt 18.2767 time 4018.25\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 21 TS dt 21.855 time 4036.53\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 22 TS dt 25.9265 time 4058.39\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 23 TS dt 29.7008 time 4084.31\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 24 TS dt 32.3941 time 4114.01\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 25 TS dt 34.1498 time 4146.41\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 26 TS dt 34.3963 time 4180.56\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 27 TS dt 37.1487 time 4214.95\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 28 TS dt 37.9342 time 4252.1\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 29 TS dt 40.3768 time 4290.04\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 30 TS dt 42.4218 time 4330.41\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 31 TS dt 45.0908 time 4372.84\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 32 TS dt 47.3702 time 4417.93\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 33 TS dt 49.135 time 4465.3\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 34 TS dt 49.6503 time 4514.43\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 35 TS dt 51.6702 time 4564.08\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 36 TS dt 53.1554 time 4615.75\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 37 TS dt 54.6803 time 4668.91\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 38 TS dt 61.8766 time 4723.59\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 39 TS dt 62.3182 time 4785.46\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 40 TS dt 78.6399 time 4847.78\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 41 TS dt 82.7293 time 4926.42\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 42 TS dt 90.4869 time 5009.15\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 43 TS dt 89.7949 time 5099.64\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 44 TS dt 85.7202 time 5189.43\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 45 TS dt 88.4188 time 5275.15\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 46 TS dt 91.9337 time 5363.57\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 47 TS dt 90.9639 time 5455.51\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 48 TS dt 99.5246 time 5546.47\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 49 TS dt 108.67 time 5645.99\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 50 TS dt 120.748 time 5754.66\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 51 TS dt 132.47 time 5875.41\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 52 TS dt 145.985 time 6007.88\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 53 TS dt 160.665 time 6153.87\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 54 TS dt 177.438 time 6314.53\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 55 TS dt 192.168 time 6491.97\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 56 TS dt 221.56 time 6684.14\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 57 TS dt 250.729 time 6905.7\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 58 TS dt 292.659 time 7156.43\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 59 TS dt 342.344 time 7449.09\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 60 TS dt 396.307 time 7791.43\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 61 TS dt 387.849 time 8187.74\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 62 TS dt 347.808 time 8474.05\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 63 TS dt 289.931 time 8626.27\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 64 TS dt 219.289 time 8708.2\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 65 TS dt 202.344 time 8927.49\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 66 TS dt 211.265 time 9055.82\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 67 TS dt 43.6911 time 9087.46\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 68 TS dt 97.1116 time 9131.15\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 69 TS dt 116.121 time 9228.26\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 70 TS dt 163.226 time 9344.39\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 71 TS dt 202.871 time 9507.61\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 72 TS dt 262.974 time 9710.48\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 73 TS dt 295.993 time 9973.46\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 74 TS dt 275.494 time 10269.4\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 75 TS dt 277.528 time 10544.9\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 76 TS dt 277.528 time 10822.5\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 77 TS dt 405.82 time 11100.\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: TSConvergedReason = TS_CONVERGED_TIME\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: TS_CONVERGED_TIME\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_nan\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_nan\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_ext\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_ext\n", - "2024-04-24 16:45:50 [INFO] idaes.solve.petsc-dae: WARNING: model contains export suffix 'scaling_factor' that contains 170\n", - "2024-04-24 16:45:50 [INFO] idaes.solve.petsc-dae: component keys that are not exported as part of the NL file. Skipping.\n", - "2024-04-24 16:45:50 [INFO] idaes.solve.petsc-dae: Solver log file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmp89d3otha_petsc_ts.log'\n", - "2024-04-24 16:45:50 [INFO] idaes.solve.petsc-dae: Solver solution file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpumhqgnkw.pyomo.sol'\n", - "2024-04-24 16:45:50 [INFO] idaes.solve.petsc-dae: Solver problem files: ('C:\\\\Users\\\\dallan\\\\AppData\\\\Local\\\\Temp\\\\tmpumhqgnkw.pyomo.nl',)\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: DAE: 1\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpumhqgnkw.pyomo.nl\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of constraints: 3920\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 1795\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 2125\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of variables: 4007\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 15554 \n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Explicit time variable: 0\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of derivatives: 87\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of differential vars: 87\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of algebraic vars: 3833\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of state vars: 3920\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 0 TS dt 0.1 time 11100.\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 1 TS dt 0.1 time 11100.1\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 2 TS dt 0.00392524 time 11100.1\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 3 TS dt 0.0392524 time 11100.1\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 4 TS dt 0.392524 time 11100.1\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 5 TS dt 0.760703 time 11100.5\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 6 TS dt 1.01241 time 11101.3\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 7 TS dt 0.967184 time 11102.2\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 8 TS dt 0.999746 time 11103.2\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 9 TS dt 0.924929 time 11104.\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 10 TS dt 0.866639 time 11104.9\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 11 TS dt 0.915231 time 11105.8\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 12 TS dt 0.858768 time 11106.7\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 13 TS dt 1.16546 time 11107.6\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 14 TS dt 1.0729 time 11108.7\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 15 TS dt 1.40736 time 11109.8\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 16 TS dt 1.47697 time 11111.2\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 17 TS dt 1.55373 time 11112.7\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 18 TS dt 1.4277 time 11114.\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 19 TS dt 1.07175 time 11115.\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 20 TS dt 1.32123 time 11116.1\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 21 TS dt 1.26966 time 11117.4\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 22 TS dt 0.929849 time 11118.2\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 23 TS dt 0.37561 time 11118.5\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 24 TS dt 1.3944 time 11118.9\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 25 TS dt 1.43845 time 11120.3\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 26 TS dt 1.90206 time 11121.7\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 27 TS dt 1.81077 time 11123.6\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 28 TS dt 1.79649 time 11125.4\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 29 TS dt 1.70313 time 11127.2\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 30 TS dt 1.8855 time 11128.9\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 31 TS dt 1.85638 time 11130.8\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 32 TS dt 1.85523 time 11132.7\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 33 TS dt 1.73671 time 11134.5\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 34 TS dt 1.64306 time 11136.2\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 35 TS dt 1.52316 time 11137.9\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 36 TS dt 1.41285 time 11139.2\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 37 TS dt 1.57227 time 11139.7\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 38 TS dt 0.96963 time 11140.2\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 39 TS dt 0.78644 time 11140.8\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 40 TS dt 0.705073 time 11141.5\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 41 TS dt 0.621216 time 11142.\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 42 TS dt 0.62459 time 11142.6\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 43 TS dt 0.63664 time 11143.2\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 44 TS dt 0.690959 time 11143.5\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 45 TS dt 0.430777 time 11144.\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 46 TS dt 0.410148 time 11144.4\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 47 TS dt 0.856631 time 11144.9\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 48 TS dt 0.949106 time 11145.1\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 49 TS dt 0.570639 time 11145.5\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 50 TS dt 0.657937 time 11146.1\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 51 TS dt 0.756228 time 11146.8\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 52 TS dt 0.960609 time 11147.5\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 53 TS dt 1.03942 time 11148.2\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 54 TS dt 0.73841 time 11148.8\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 55 TS dt 0.723736 time 11149.6\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 56 TS dt 1.3136 time 11150.3\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 57 TS dt 1.44703 time 11151.6\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 58 TS dt 1.78016 time 11153.1\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 59 TS dt 1.79591 time 11154.8\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 60 TS dt 1.70487 time 11156.6\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 61 TS dt 1.63852 time 11157.6\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 62 TS dt 0.894779 time 11158.4\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 63 TS dt 0.904928 time 11159.3\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 64 TS dt 1.51786 time 11160.2\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 65 TS dt 1.79934 time 11161.7\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 66 TS dt 2.19124 time 11163.5\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 67 TS dt 2.39088 time 11165.7\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 68 TS dt 2.77663 time 11168.1\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 69 TS dt 2.98602 time 11170.9\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 70 TS dt 3.19428 time 11173.9\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 71 TS dt 3.17037 time 11177.1\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 72 TS dt 3.2767 time 11180.2\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 73 TS dt 3.70518 time 11183.5\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 74 TS dt 3.9439 time 11187.2\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 75 TS dt 4.1184 time 11191.1\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 76 TS dt 4.51077 time 11195.3\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 77 TS dt 4.73 time 11199.8\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 78 TS dt 4.95553 time 11204.5\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 79 TS dt 5.05272 time 11209.5\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 80 TS dt 5.07776 time 11214.5\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 81 TS dt 5.05502 time 11219.6\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 82 TS dt 5.05021 time 11224.6\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 83 TS dt 5.29358 time 11229.7\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 84 TS dt 5.52422 time 11235.\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 85 TS dt 5.70998 time 11240.5\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 86 TS dt 5.77308 time 11246.2\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 87 TS dt 5.68832 time 11252.\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 88 TS dt 5.21191 time 11257.7\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 89 TS dt 5.52452 time 11262.9\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 90 TS dt 5.08208 time 11267.8\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 91 TS dt 6.0966 time 11269.7\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 92 TS dt 4.47115 time 11271.1\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 93 TS dt 4.46473 time 11271.8\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 94 TS dt 1.64611 time 11273.5\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 95 TS dt 3.11947 time 11275.2\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 96 TS dt 3.69342 time 11278.3\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 97 TS dt 4.85562 time 11282.\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 98 TS dt 4.86391 time 11286.8\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 99 TS dt 4.74083 time 11290.1\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 100 TS dt 3.88706 time 11291.9\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 101 TS dt 2.36784 time 11293.1\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 102 TS dt 3.04988 time 11295.5\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 103 TS dt 3.79675 time 11297.4\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 104 TS dt 3.41211 time 11299.4\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 105 TS dt 5.09485 time 11302.8\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 106 TS dt 6.30524 time 11307.9\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 107 TS dt 7.14277 time 11314.2\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 108 TS dt 6.97261 time 11321.4\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 109 TS dt 6.92383 time 11328.4\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 110 TS dt 6.31828 time 11335.3\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 111 TS dt 5.49724 time 11340.5\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 112 TS dt 4.90343 time 11345.5\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 113 TS dt 5.24546 time 11350.4\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 114 TS dt 5.37157 time 11355.6\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 115 TS dt 5.08981 time 11361.\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 116 TS dt 5.15951 time 11366.1\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 117 TS dt 4.68969 time 11371.2\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 118 TS dt 4.69922 time 11375.9\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 119 TS dt 4.35928 time 11380.6\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 120 TS dt 4.01346 time 11385.\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 121 TS dt 3.60641 time 11388.5\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 122 TS dt 3.18203 time 11391.7\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 123 TS dt 2.78627 time 11394.4\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 124 TS dt 1.58852 time 11396.8\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 125 TS dt 1.58852 time 11398.4\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 126 TS dt 1.90429 time 11400.\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: TSConvergedReason = TS_CONVERGED_TIME\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: TS_CONVERGED_TIME\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_nan\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_nan\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_ext\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_ext\n", - "2024-04-24 16:46:08 [INFO] idaes.solve.petsc-dae: WARNING: model contains export suffix 'scaling_factor' that contains 170\n", - "2024-04-24 16:46:08 [INFO] idaes.solve.petsc-dae: component keys that are not exported as part of the NL file. Skipping.\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Solver log file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpendl44cj_petsc_ts.log'\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Solver solution file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpson30_9f.pyomo.sol'\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Solver problem files: ('C:\\\\Users\\\\dallan\\\\AppData\\\\Local\\\\Temp\\\\tmpson30_9f.pyomo.nl',)\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: DAE: 1\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpson30_9f.pyomo.nl\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of constraints: 3920\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 1795\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 2125\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of variables: 4007\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 15554 \n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Explicit time variable: 0\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of derivatives: 87\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of differential vars: 87\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of algebraic vars: 3833\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of state vars: 3920\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 0 TS dt 0.1 time 11400.\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 1 TS dt 0.1 time 11400.1\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 2 TS dt 1. time 11400.2\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 3 TS dt 1.73678 time 11401.2\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 4 TS dt 2.23341 time 11402.9\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 5 TS dt 2.51853 time 11405.2\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 6 TS dt 2.72979 time 11407.7\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 7 TS dt 2.94331 time 11410.4\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 8 TS dt 3.1084 time 11413.4\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 9 TS dt 3.33766 time 11416.5\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 10 TS dt 3.65145 time 11419.8\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 11 TS dt 3.92962 time 11423.5\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 12 TS dt 4.4225 time 11427.4\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 13 TS dt 4.87494 time 11431.8\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 14 TS dt 5.42871 time 11436.7\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 15 TS dt 5.98195 time 11442.1\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 16 TS dt 6.92855 time 11448.1\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 17 TS dt 8.07333 time 11455.\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 18 TS dt 9.63979 time 11463.1\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 19 TS dt 11.702 time 11472.7\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 20 TS dt 14.5291 time 11484.4\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 21 TS dt 18.1896 time 11499.\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 22 TS dt 22.203 time 11517.2\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 23 TS dt 25.5942 time 11539.4\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 24 TS dt 28.4541 time 11565.\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 25 TS dt 30.7952 time 11593.4\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 26 TS dt 32.9926 time 11624.2\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 27 TS dt 34.8988 time 11657.2\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 28 TS dt 37.5398 time 11692.1\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 29 TS dt 41.8031 time 11729.6\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 30 TS dt 47.4503 time 11771.4\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 31 TS dt 53.673 time 11818.9\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 32 TS dt 60.8933 time 11872.6\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 33 TS dt 69.4519 time 11933.5\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 34 TS dt 77.8654 time 12002.9\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 35 TS dt 85.3528 time 12080.8\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 36 TS dt 92.584 time 12166.1\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 37 TS dt 99.6879 time 12258.7\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 38 TS dt 107.395 time 12358.4\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 39 TS dt 115.883 time 12465.8\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 40 TS dt 125.805 time 12581.7\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 41 TS dt 136.484 time 12707.5\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 42 TS dt 146.675 time 12844.\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 43 TS dt 154.432 time 12990.6\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 44 TS dt 158.051 time 13145.1\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 45 TS dt 156.722 time 13303.1\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 46 TS dt 161.592 time 13459.8\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 47 TS dt 169.876 time 13621.4\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 48 TS dt 175.501 time 13791.3\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 49 TS dt 177.773 time 13966.8\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 50 TS dt 195.829 time 14144.6\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 51 TS dt 209.215 time 14340.4\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 52 TS dt 228.235 time 14549.6\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 53 TS dt 245.428 time 14777.9\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 54 TS dt 265.796 time 15023.3\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 55 TS dt 286.41 time 15289.1\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 56 TS dt 309.614 time 15575.5\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 57 TS dt 336.559 time 15885.1\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 58 TS dt 370.237 time 16221.7\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 59 TS dt 418.152 time 16591.9\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 60 TS dt 475.299 time 17010.1\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 61 TS dt 548.284 time 17485.4\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 62 TS dt 640.182 time 18033.6\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 63 TS dt 756.084 time 18673.8\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 64 TS dt 900.068 time 19429.9\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 65 TS dt 935.01 time 20330.\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 66 TS dt 935.01 time 21265.\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 67 TS dt 1415.01 time 22200.\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: TSConvergedReason = TS_CONVERGED_TIME\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: TS_CONVERGED_TIME\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_nan\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_nan\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_ext\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_ext\n" - ] - } - ], + "outputs": [], "source": [ "idaeslog.solver_log.tee = True\n", "results = petsc.petsc_dae_by_time_element(\n", @@ -1957,246 +943,7 @@ "execution_count": 20, "id": "8b85caaa", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\dallan\\AppData\\Local\\Temp\\ipykernel_41080\\391657263.py:377: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`). Consider using `matplotlib.pyplot.close()`.\n", - " fig = plt.figure()\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAHOCAYAAACcvdMVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAABrQElEQVR4nO3dd3hUxfoH8O/Zsz2VkAIJVUCK9CoiAgpqQBSuiApKBGzcgAW9alQE7k+NglexoOhViFylCAIqRUS6glJjAUF6QoAUIG2TbDvn98cmm11SSHaTbPt+nmcfzp6Z3Z0sk903M3PmFWRZlkFERETkxxSebgARERFRfWPAQ0RERH6PAQ8RERH5PQY8RERE5PcY8BAREZHfY8BDREREfo8BDxEREfk9BjxERETk9xjwEBERkd9jwEPkB44dO4apU6eiU6dOCAoKglarRbNmzdCnTx9MnToVX3/9dbWP//777zF+/Hi0bt0aer0eoaGh6NSpE6ZOnYpDhw5V+bht27ZBEIQa3apiMBjw3nvv4fbbb0dsbCw0Gg2Cg4PRvn17PPDAA/jmm28gSdJV34OFCxdCEATExcXBarVetf7BgwchCAKUSiXOnTt31fqVmTVrFgRBwKxZs1x6PBE1HKWnG0BE7lm1ahXGjRsHo9GIxo0bY8CAAYiKisLly5eRmpqK+fPnY9myZbj77rsrPDY/Px/jxo3DunXrAADXXXcd7rjjDpjNZuzbtw/z58/HRx99hBdeeAGvvvpqtYFLQkJCrdv+ww8/4IEHHkB2djaUSiV69eqFgQMHwmKx4MSJE/jyyy/x5Zdfok+fPtizZ0+1zzV27Fg8+eSTOHfuHDZu3Ijhw4dXW3/hwoUAgPj4eMTGxta67dXZtm0bhgwZgkGDBmHbtm11+txE5CKZiHzWhQsX5ODgYBmA/Mwzz8jFxcUV6uzbt09+4YUXKpw3Go1yv379ZABy69at5Z9++smpXJIkefHixbJer5cByE8//XSF59i6dasMQHblo2Tt2rWyKIoyAHnSpElyZmZmhTpnzpyRH3vsMblRo0Y1es7JkyfLAOS777672nolJSVyRESEDEBevXp1rdteZubMmTIAeebMmU7ny96XQYMGufzcRFS3GPAQ+bBPP/1UBiDHxsbW+rEvvviiDEAODw+XT58+XWW97777zh7UbNq0yanM1YAnJydHDg8PlwHITzzxxFXrb9++vUbPu2vXLhmArFar5ZycnCrrLV++XAYgR0dHy2azucbtvhIDHiLfwTU8RD4sMzMTABAVFVWrxxUUFOCDDz4AAMyYMQMtW7assu4dd9yBO++8EwDw2muvudhSZx988AFyc3MRHR2NOXPmXLX+TTfdVKPn7d+/Pzp16gSTyYQvvviiynpl01kTJkyAUlk+s79nzx6MHTsWsbGxUKvViI6OxsiRI7Fp06YavT4ADB48GEOGDAEAbN++3WkdU6tWrez1srOz8d5772H48OFo3bo1dDodQkND0bt3b7z55psoKSmp8jX+/PNP3H333YiMjIRer0eXLl0wb948SJKEVq1aQRAEnD59usLjLBYLPv30UwwePBgRERHQaDRo3bo1pkyZgvT09Br/jES+iAEPkQ9r0aIFANsX4ObNm2v8uC1btiA/Px8A8OCDD161/oQJEwAAO3bsQF5engstdfbNN98AAO69915oNBq3n8/R5MmTAQCLFi2qtPzs2bP2AKasLgD897//Rf/+/bFixQo0adIEY8aMQbt27bB27VrceuutmD17do1e//bbb8dtt90GAIiJiUFCQoL9NmbMGHu9jRs34sknn8Tvv/+Oli1bYtSoUejbty+OHj2KF154ATfffDOMRmOF59++fTv69u2LVatWITw8HHfddReaNm2K559/HuPGjauyXQUFBRg2bBgeeeQR7N+/H127dsWdd94JjUaDBQsWoEePHjh48GCNfkYin+TpISYicl1BQYEcFxcnA5AFQZAHDx4s/9///Z+8bt06OSsrq8rHzZgxw752pybOnDljn7rasmWL/bwrU1pms1lWKBQyAHnx4sU1flxNZWVlySqVSgYg79+/v0L5q6++KgOQb7jhBvu533//XVYqlbIgCBXatH79elmtVssA5B9++MGpzJ0prcOHD8u7d++ucP7SpUvyrbfeKgOQ58yZ41RWVFRk//9+5plnZKvVai87dOiQHBMTY///OHXqlNNjx40bJwOQ77jjjgrrpd555x0ZgNyuXTvZYrFU2WYiX8YRHiIfFhwcjM2bN6Nfv36QZRnbtm3DjBkzMGLECERHR6NHjx5YsGBBhcu0s7OzAdhGIGrCsV7ZY69U3SXpo0aNste7ePGi/TLz6Ojo2vy4NRIVFWWfgiubunKUkpICAJg0aZL93LvvvguLxYLRo0dXGPGKj4/Ho48+CgCYO3dunbWzY8eOuP766yucb9SoEd5//30AwIoVK5zKVq5ciYyMDLRs2RLJyclQKMo/wjt16oQZM2ZU+lp//fUXli5ditjYWCxZsqTC+/7UU09h+PDhOHbsGDZs2ODuj0bklXhZOpGPa9++PX755Rfs2bMH69atw6+//ooDBw4gOzsbqampmDJlCr7++musW7cOarXapdeQZfmqdaq7LL1nz54uva6rHn74YXz99ddYsmQJ/vOf/9inzbZv347jx48jODgY9957r71+2aXjDz30UKXPN3nyZHzwwQfYuXMnrFYrRFGsk3ZarVZs27YNu3btwvnz51FcXAzZdjEJAODo0aNO9bdv3w4AuOeee6BSqSo83/jx4zF16tQK59evXw9ZlhEfH4+QkJBK2zJ48GCsX78eu3btwh133OHuj0bkdRjwEPmJvn37om/fvgBsAcrBgwcxd+5cLFu2DD/++CPeffdd/Otf/wIAREZGAihf9Hw1WVlZ9uOqFkiXjZxcTePGjaFQKCBJktPz1qVbb70VzZs3R3p6OlavXo377rsPQPmIz9ixYxEcHGyvn5GRAQBo3bp1pc/Xpk0bAEBJSQkuXrxYJyNTx44dw+jRo6vd2LFsnVWZs2fPAoDT4mdH4eHhCAsLq7DO6uTJkwCAzz77DJ999lm17apqBI/I1zHgIfJDgiCgZ8+eWLp0KYqKivDtt99izZo19oCnV69eAIBTp04hOzv7qld5lW36p1Ao0KNHD7faplQq0bVrV6SmpmLv3r01WjRdWwqFAg899BD+7//+D4sWLcJ9992HgoICrFy5EoDzYmVPGTNmDA4dOoQ77rgDzz33HDp16oTQ0FCoVCqYTKZqF3NXtwFkZWVlU4jdu3dHt27dqm1Xv379avgTEPkWBjxEfu7WW2/Ft99+i5ycHPu5m2++GSEhISgoKMDixYvxzDPPVPscixcvBgAMHDgQ4eHhbrfprrvuQmpqKpYvX465c+fW+ZVagG2Nzquvvooff/wR6enp2LhxI4qKitChQwfccMMNTnXj4uJw4sQJnDx5Ep07d67wXGUjJFqtFhEREW637ciRI/j9998RHR2N1atXO10aD9hGfyoTFxcHAJVecg4AeXl5yM3NrXC+efPmAIABAwbYtyMgCjRctEzkw2qytiYtLQ0A0KxZM/u50NBQJCYmAgBeffVVnDlzpsrHr127Ft999x0A4MUXX3SnuXbTpk1DWFgYsrKy8Pzzz1+1/s6dO2v9Gq1atcItt9wCSZKQkpJin85yXKxcZvDgwQCqnpYre+zAgQMrBCeVKVsrZbFYKi2/dOkSACA2NrbS56tqD6Gy/YhWrFhR6XMvWbKk0sfFx8cDAL799ttq9/ch8msevEKMiNz0wQcfyBMmTJB//vnnCmWSJMlff/21PTXEJ5984lReUlIi9+7d2355+pXPIUmS/L///c/++GnTplV4DXdSS3zzzTf2y9MnT55caWqJs2fPyomJiXJEREStn1+WZXnp0qUyADkyMlIGICuVSvnChQsV6jlelv6///3PqWzjxo2yRqORAcgbN250KqvqsvSyy/ijo6Nlk8lU4fWys7NlURRlURTlrVu3OpV9++239te78n01GAxy06ZNZQDyc88953RZ+l9//SU3adKkysvS7777bhmAHB8fX6FMlmW5sLBQ/uKLLyp9f4j8gSDLNfgTkYi80rx58/D0008DsC0m7tGjByIjI5Gbm4vDhw/bpz4eeOABfP75506XMQO2KZD77rsP33//PQCgS5cu6NixI8xmM/bu3YuzZ89CoVDg2WefxRtvvFFhfUhZkkzg6slD//3vf9s3SiyzYcMGTJgwATk5OVAqlejduzdatmxpTx7622+/QZZlXH/99di9e3et3x+j0YjY2Fj7iMqoUaOwevXqSut+8sknmDJlCiRJQs+ePdGhQwecOXMGu3btgizLmDVrFmbOnOn0mFmzZmH27NmYOXNmhYzpffr0wb59+9C+fXv07t0bWq0WkZGReOONNwDYLgV/9913oVAoMHDgQMTGxuLo0aM4cOAAXn75Zbz66qsAKo7ibdmyBSNGjEBJSQnatm2L3r1749KlS9i2bRvuuusu/Prrr0hLS0NGRoZTUtSCggKMHj0amzdvhlqtRrdu3dC6dWvIsozTp0/jt99+g8lkwl9//YUOHTrU+r0m8nqejLaIyD35+fnymjVr5GnTpsl9+/aVmzVrJqtUKlmn08lt2rSR77//fnnDhg1XfZ5169bJ9913n9yiRQtZq9XKwcHBcvv27eUpU6bIv//+e5WPcxzhudrt4MGDlT5HQUGB/M4778jDhg2TmzRpIqvValmv18vXXnut/MADD8hr166VJUly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jKi+sW8SURmmlgBTSxAREfkippYgIiIicsBxXHKbLMsoKioCAOj1+grb91dVRlTf2DeJqAxHeMhtRUVFCA4ORnBwsP0LpCZlRPWNfZOIyjDgISIiIr/HgIeIiIj8HgMeIiIi8nsMeIiIiMjvMeAhIiIiv8eAh4iIiPwe9+Eht4miiDFjxtiPa1pGVN/YN4moDFNLgKkliIiIfJFfpJaYP38+WrVqBa1Wi379+mHPnj1V1h08eDAEQahwGzFiRAO2mIiIiLyVVwY8y5cvx/Tp0zFz5kwcOHAA3bp1w2233YasrKxK669atQrnz5+33/7880+Iooh77rmngVtORERE3sgrA563334bjzzyCCZOnIhOnTphwYIF0Ov1WLhwYaX1IyIi0KRJE/tt06ZN0Ov1DHgaiMFgsI+qGQyGGpcR1Tf2TSIq43UBj8lkwv79+zF06FD7OYVCgaFDh2L37t01eo7PPvsM9913H4KCguqrmURERORDvO4qrZycHFitVsTExDidj4mJwZEjR676+D179uDPP//EZ599VmUdo9EIo9Fov5+fn+96g4mIiMjred0Ij7s+++wzdOnSBX379q2yTnJyMsLCwuy35s2bN2ALiYiIqKF5XcATGRkJURSRmZnpdD4zMxNNmjSp9rEGgwHLli3D5MmTq62XlJSEvLw8+y09Pd3tdhMREZH38rqAR61Wo1evXti8ebP9nCRJ2Lx5M/r371/tY1esWAGj0YgHHnig2noajQahoaFONyIiIvJfXreGBwCmT5+OhIQE9O7dG3379sW8efNgMBgwceJEAMCECRMQFxeH5ORkp8d99tlnGDVqFBo3buyJZhMREZGX8sqA595770V2djZeeeUVXLhwAd27d8f3339vX8iclpYGhcJ5cOro0aP46aef8MMPP3iiyQFNFEUMHz7cflzTMqL6xr5JRGWYWgJMLUFEROSL/CK1BBEREVFdYcBDREREfo8BD7nNYDAgKCgIQUFBlW7fX1UZUX1j3ySiMl65aJl8T1FRkUtlRPWNfZOIAI7wEBERUQBgwENERER+jwEPERER+T0GPEREROT3GPAQERGR3+NVWuQ2hUKBQYMG2Y9rWkZU39g3iagMU0uAqSWIiIh8EVNLEBERETlgwENERER+jwEPuc1gMCAqKgpRUVGVbt9fVRlRfWPfJKIyXLRMdSInJ8el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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkwAAAHOCAYAAABq9FaNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAABa+UlEQVR4nO3dd3xTVf8H8M/NTroLHYwuQEGGbGoZUqAPW+0jIgKyxUesCFRluEBl+LBEBUEfmSqiyA8cKFJZrqKAomwFC0WgpVjoSNskTe7vD+yVkLZJV9L0ft6vV14k59zcfBNOm2/POfccQRRFEURERERUJoWnAyAiIiKq7ZgwERERETnBhImIiIjICSZMRERERE4wYSIiIiJyggkTERERkRNMmIiIiIicYMJERERE5AQTJiIiIiInmDAR1RBBECp8i4+P93TYkujoaAiCgLNnz3o6lBqxd+/eav/MS/4fiajuUXk6AKK6asyYMQ5lGRkZ+PLLL8usb9GiRYVeY+/evejVqxd69uyJvXv3VipOorqGPxdUE5gwEdWQdevWOZTt3btXSphKqyciotqJQ3JERERETjBhIqpF/vzzT0yePBm33HILdDodAgIC0K1bN7z55puwWq12x8bHx6NXr14AgH379tnNhYqOjpaOy8rKwmuvvYaBAwciJiYGer0e/v7+6NSpE/773/+iqKio2uIfO3YsBEHAunXrcOrUKQwbNgyhoaHw8fFB586d8fHHH0vH/vDDD7j77rsREhICvV6PuLg47Nq1q1o+mxtt2LABnTt3hsFgQHBwMPr3749vvvmmzOPXrVsHQRAwduzYUuvPnj3r8Bm7ori4GG+//Tbi4+MRHBwMrVaLmJgYTJo0CefPn6/QuUpcvXoVL774Ijp16oSAgADo9Xo0adIE999/P7744gu7Y53Nr4qPj4cgCA5DWDeWf/PNN7jrrrsQEhIChUIh9ZLeON/t448/Ru/evREcHOxwvqtXr2L27Nlo164d/Pz8YDAY0KZNG8ydOxcFBQUOMc2ZMweCIGDOnDnIyspCUlISIiIioNFoEBERgcmTJ+PatWsO8bryc0FUURySI6olDhw4gP79+yM7OxuRkZFITExETk4O9u7di++//x5bt27FJ598Ao1GAwDo378/dDodvvzyS4SFhaF///7SuerXry/d//LLLzFlyhQ0atQIzZo1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/Pz8HObL+fj4oF69epxH56Inn3wSd911F6KionDx4kXMnj0bSqUSw4cP93RoXmHatGno2rUr5s+fj/vvvx8//vgj3nrrLbz11lvV/2IiVdnrr78uRkZGihqNRuzSpYu4f/9+T4fkNfbs2SMCcLiNGTPG06F5hdI+OwDi2rVrPR2aVxg/frwYFRUlajQaMSQkROzTp4+4c+dOT4fl1Xr27ClOmTLF02F4jWHDhokNGjQQNRqN2KhRI3HYsGHi6dOnPR2WV/n000/F1q1bi1qtVmzRooX41ltv1cjrcB0mIiIiIic4h4mIiIjICSZMRERERE4wYSIiIiJyggkTERERkRNMmIiIiIicYMJERERE5AQTJiIiIiInmDAREREROcGEiYi8Qnx8PARB8HQYLhNFER07dkTfvn3tyqv7fXz11VcQBAGff/55tZ2TiBxxLzkicruKJgzeuCHBhg0b8NNPPyE1NbVGXychIQHdu3fH9OnT0a9fP254S1RDmDARkdvNnj3boWzZsmXIyckptQ64noAUFBTUdGjVwmazYc6cOejRowfuuOOOGn+96dOn4+6778amTZswcuTIGn89IjniXnJEVCtER0fj3LlzXtmbdLPt27dj8ODB+N///oeHHnrIri4+Ph779u2r1vdpsVjQsGFDtGjRAt988021nZeI/sE5TETkFUqb+7Nu3ToIgoB169bh008/RWxsLAwGAxo1aoTnnnsONpsNALB+/Xq0bdsWer0ekZGRWLRoUamvIYoi1qxZg27dusHf3x8GgwGdOnXCmjVrKhTr2rVrIQgChgwZUuYxFosFc+bMQXR0NLRaLW699Va88cYbDsfNmTMHgiBg7969WLduHTp06ACDwYD4+HjpGLVajcTERHz77bc4ffp0hWIlItdwSI6IvN7WrVuxc+dOJCYmolu3bti+fTvmzp0LURQREBCAuXPn4p577kF8fDy2bNmC6dOnIywsDKNHj5bOIYoiRo4ciffffx+33HILRowYAY1Gg5SUFEyYMAHHjx/H4sWLncYiiiL27NmD5s2bIygoqMzjhg8fjh9//BEDBgyAUqnEhx9+iKSkJKjVakycONHh+EWLFmHPnj2455570LdvX4e5SnFxcXj77bexe/duNGvWrAKfHhG5RCQiqgWioqLE8n4l9ezZ06F+7dq1IgBRrVaLP/74o1Sem5srhoaGigaDQQwPDxfPnDkj1aWnp4sajUZs06aN3bneeustEYA4btw40Ww2S+Umk0m86667RADiwYMHnb6PY8eOiQDEkSNHlvs+YmNjxZycHKn85MmTokqlEps3b253/OzZs0UAoo+Pj/jrr7+W+bq//PKLCEAcPXq00xiJqOI4JEdEXu/BBx9E586dpcd+fn4YPHgwCgoKMGnSJDRp0kSqi4iIQPfu3XH8+HEUFxdL5cuXL4ePjw9WrFgBtVotlWs0GsybNw8A8P777zuN5c8//wQAhIWFlXvcggUL4O/vLz1u3rw5unXrhlOnTiEvL8/h+Icffhht2rQp83wlr1fy+kRUvTgkR0Rer127dg5lDRo0KLfOarUiMzMTjRo1QkFBAY4cOYKGDRviv//9r8PxFosFAHDy5Emnsfz1118AgMDAwHKP69ixo0NZ48aNAQDXrl2Dn5+fXV2XLl3KPV9wcDAA4MqVK05jJKKKY8JERF7vxp6aEiqVymldSSJ09epViKKICxcu4IUXXijzdYxGo9NY9Ho9AKCoqKjSMVutVoc6Zz1WhYWFAACDweA0RiKqOCZMRCR7JclLx44dcfDgwSqdKyQkBACQnZ1d5bhu5Gyxz5LXK3l9IqpenMNERLLn5+eH2267DSdOnMC1a9eqdK5WrVpBoVDg1KlT1ROci0per7x5TkRUeUyYiIgAPP744ygoKMDEiRNLHXpLS0vD2bNnnZ4nMDAQt99+Ow4ePCitA+UOP/zwAwCgZ8+ebntNIjlhwkREBOA///kPxowZg48++gi33HILRo8ejZkzZ2LcuHGIi4tD06ZNsX//fpfO9e9//xt5eXkuH18dUlJSEBQUhDvvvNNtr0kkJ0yYiIgAacXwDz74AK1atcJnn32GpUuXIiUlBTqdDosXL0ZCQoJL53rooYegUqnw7rvv1nDU1509exbfffcdxowZA51O55bXJJIb7iVHRFQDRo0ahe3bt+PcuXMOSwRUt2effRYLFy7EiRMn0LRp0xp9LSK5Yg8TEVENmDt3LgoLC/H666/X6OtcvXoVr7/+OiZNmsRkiagGcVkBIqIaEBUVhfXr1yMzM7NGXyctLQ3Tpk3D5MmTa/R1iOSOQ3JERERETnBIjoiIiMgJJkxERERETjBhIiIiInKCCRMRERGRE0yYiIiIiJxgwkRERETkBBMmIiIiIieYMBERERE5wYSJiIiIyIn/BzPNkgzipxDCAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlIAAAHOCAYAAABTk+fWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAACG2UlEQVR4nO3deVhU1f8H8PdlNvZNWRUB9yUVVyJTIUk0LS3LJVPcKv2qv8xSs1LRTEsz2zNb1MosrbRSsxBBU3EXN1zScBfcQfZlzu+PkSsj6wwDMzDv1/PMw51zz9z7mfHIfDj33HMkIYQAERERERnMxtwBEBEREdVUTKSIiIiIjMREioiIiMhITKSIiIiIjMREioiIiMhITKSIiIiIjMREioiIiMhITKSIiIiIjMREioiIiMhITKSIqklAQAAkScLy5ctNcry4uDhIkoTQ0FCTHK82sdTPZtmyZejYsSMcHBwgSRIkScLZs2dx9uxZSJKEgIAAc4dIRAZSmjsAIrIMy5cvx8iRIxEZGWmyZI/u2bBhA0aNGgVbW1uEh4ejTp06AABHR0ekp6ebOTrLI0kSAICrmJGlYyJFRFQN1qxZAwD46KOP8Pzzz+vtYyJFVHPx0h4RUTU4f/48AKBJkyZmjoSITImJFJGZRUVFQZIkREVF4dq1axg/fjz8/PygVqvh5+eHiRMn4vbt2wYf99atW5g1axaCgoLg5OQEe3t7tG7dGnPnzkVmZqZe3YCAAIwcORIAsGLFCnn8jiHjjEaMGCGPATt58iQGDRoET09PODg4oFOnTvjtt9/kurt378YTTzwBDw8P2NnZISQkBDExMaUe++LFi5g4cSKaNGkCW1tbuLi4oEuXLvjiiy9QUFBg0OeyefNmTJw4EUFBQahbty40Gg3q16+PQYMGYe/evSW+pui/0fnz5zF69Gj4+flBpVJhxIgRFfpcYmNjAQBhYWHyZ1veawsZ8v5///13SJKEJ554othx/ve//0GSJKhUKqSlpent27ZtGyRJQrdu3SoUEwD5fQC68V8hISFwcXGRx34BwLlz5/Duu+/ikUceQYMGDaDRaODq6oqHH34YX3zxBbRard4xCz/r+89RdExZUadOncKLL76IRo0ayZ9Nt27d8P3335cYc2pqKt588020bt0aDg4O0Gg08PX1RZcuXTBz5kzk5eVV+P0TAby0R2QxLly4gPbt2yMvLw9dunRBdnY2duzYgU8++QS7d+/Gjh07oFKpKnSsxMRE9OrVCxcuXICPjw8efvhhqFQq7NmzBzNmzMAvv/yCuLg4uLi4AACefvpp7Nq1Czt27ECjRo3w8MMPy8dq3ry5Qe/jwIEDmDBhAurXr48ePXrg3LlziI+Px5NPPonVq1dDqVRi4MCBeOCBB9CjRw+cOHECu3btQq9evRAbG6t3bgDYu3cvevXqhZs3b6JBgwbo378/UlNTERcXh507d2Lt2rX4/fffoVarKxTf2LFjceHCBbRq1QpdunSBUqnEiRMnsHr1avz666/48ccfMWDAgBJf+++//6Jdu3ZQq9Xo0qULhBCoW7dumecrfD+bNm1CSkoKIiIi4O3trbevLIa+/9DQUCiVSmzduhX5+flQKu/9mt+8eTMAID8/H3FxcXrJVuG+8PDwcmO638SJE/HZZ5/hoYceQp8+ffDff//JydB3332HGTNmIDAwEE2bNkWXLl1w5coVxMfHY8eOHfj777/x888/y/WDgoIQGRmJFStWAAAiIyP1zuXo6Chvr1mzBsOHD0d2djaaN2+Oxx57DKmpqdi9ezeGDRuGLVu24JtvvpHrZ2Zm4uGHH8bRo0fh4eGBHj16wMHBAcnJyThx4gR27tyJyZMnw9XV1eDPgKyYIKJq4e/vLwCIZcuW6ZXPmjVLABAAxIgRI0R2dra87/z586JevXoCgPjhhx/0XhcbGysAiO7du+uVZ2ZmikaNGgkA4s033xQ5OTnyvoyMDDFkyBABQIwcOVLvdcuWLRMARGRkpFHvLzIyUn4fc+fOFVqtVt730UcfCQCifv36ws3NTXz77bd6r500aZIAIMLDw/XKs7Oz5c9t7NixIjc3V9535swZERAQIACI119/Xe91pX02Qgixdu1acfPmzRLLlUqlqFOnjsjMzNTbV/Tf6LnnntP7N6qo7t27CwAiNja22L6kpCQBQPj7++uVG/v+Q0JCBACxY8cOuezcuXMCgGjTpo0AICZOnFjua8pT+Jk4OzuL+Pj4Euvs2bNHHDlypFj5pUuXRNu2bQUAsXr16lKPXZrDhw8LjUYjbG1txS+//KK37+zZs6J169YCgFixYoVcvmLFCgFA9O7dW++zFEKIgoICERcXp/f/hagimEgRVZPyEqn69euLjIyMYq975513BAAxatQovfLSkoXPP/9cABB9+/YtMY47d+4IT09PoVQq9RIKUyVSnTt31kuihBAiLy9PuLu7CwDimWeeKfba69evCwBCrVbrfcF99913AoDw9fUtMXn5+eefBQDh5OQksrKy5PKyEqmyFCaZGzZs0Csv/Ddyd3cXt2/fNuiYhYxJpIx9/zNmzBAARFRUlFz29ddfCwDim2++EZ6enqJ58+byvtTUVKFUKoWzs7PIy8ur8HsqTHbmzJlT4dcU9ddff5XaJspLpAYNGiQAiPfee6/E/Xv27BEARIcOHeSyBQsWCADi/fffNypeopLw0h6RhejRowfs7e2Llbdo0QIAcOnSpQodZ8OGDQCAQYMGlbjf0dERHTt2xMaNG7F371707NnTyIhL1rt3b70xLgCgVCoRGBiImzdv4rHHHiv2mjp16sDd3R03b97EjRs35EtfcXFxAIDBgwdDo9EUe91TTz0FNzc33Lp1C/v370eXLl0qFOPly5exYcMGnDhxAqmpqcjPzwcAHDt2DABw8uTJEuMMDw+XL4dWB2Pff3h4ON566y1s3rwZs2bNAnDv0l3Pnj0RHR2NVatW4dKlS6hXrx7i4uKQn5+P7t27610KrKinn366zP05OTn4+++/sXfvXly9ehU5OTkQQuDOnTsAdJ+3IbRaLf78808Apbfzjh07wtHREQcPHkR2djZsbW3RqVMnAMCCBQtQp04d9O3bF+7u7gadm+h+TKSILESDBg1KLHd2dgYAZGdnV+g4//33HwBg2LBhGDZsWJl1r127ZkCEFVPa+ygc21LaficnJ9y8eVPvfRYmj4GBgSW+RpIkBAYG4tatWxVONGfPno233367zEHF9w/ELlTdE2Ya+/5DQkLg4OCA3bt3Iz09HQ4ODtiyZQtatGiBevXqITw8HKtWrcLmzZsRGRlZqfFRQNmfy65duzBo0CD5rsWSlPZ5l+bGjRvya/z8/CpUv169eggNDcW0adOwcOFCREZGQpIkNGnSBF26dEG/fv3w+OOPw8aG92CRYZhIEVkIU/0CL7wLqlevXvDy8iqzrr+/v0nOWVR578OcX1S//voroqKi4OjoiE8++QSPPPIIfH19YWdnB0mS8Prrr2P+/PmlTgJpZ2dXzREbR6VSoVu3bvjzzz8RFxeHBg0aICUlRe69KUyYoqOjTZJIlfa5ZGZmon///khJScHIkSMxbtw4NG7cGM7OzlAoFDh16hSaNWtm8KSbRe/0u38wekmK9ua98847GDt2LP744w9s374dO3bswLJly7Bs2TJ06tQJsbGxcHBwMCgesm5MpIhqGT8/P5w4cQKjR48u95KLpatXrx6Ae71sJUlKStKrW5bVq1cDAN5++2288MILxfb/+++/xoRZZSrz/sPDw/Hnn39i8+bNci9gYaLUoEEDNGnSBDExMbh06RKOHz8OX19ftGzZ0qTxb9u2DSkpKWjfvr3e3XOFjP2869atCzs7O2RlZeG9994r987J+wUEBGDixImYOHEiAN2dkc899xz27t2LBQsWYPbs2UbFRdaJfZhEtUzv3r0B3EsaKqrw9vnC8UKWoHAOq59++qnES5tr167FrVu34OTkhA4dOpR7vJs3bwIouSfu6tWriI6OrlzAJlaZ91+012nz5s1QKpV6c4KFh4cjOTkZH3zwAQDdGD1TK/y8S7ucW9pcTwDkqT5Kao8KhQKPPvooAMPbeUk6deqE//3vfwCAhISESh+PrAsTKaJa5oUXXoC/vz/WrFmDadOmyQN6i0pOTsaXX36pV1a/fn0AujmoLMUzzzyDBg0a4PLly5g8ebLel2pSUhJeeeUVALp5jGxtbcs9XuHA/aVLlyI3N1cuT01NRWRkJFJTU038DiqnMu+/devW8PT0RGJiImJjY/Hggw/CyclJ3l+YaH3yySd6z02p8POOiYkp1q6WLl2Kn376qdTXFrbHwhsA7jdr1iyo1WpMmTIFK1asKDaxJwAcPXoUv/76q/x87dq12LZtW7G6eXl52LRpE4CqudxNtRsTKaJaxsHBARs2bEBAQAAWLFiABg0aoHv37hg6dCiefPJJtGrVCr6+vpgxY4be6x588EH4+vri4MGDaN++PSIjIzFmzBgsXLjQTO9EN7bl559/hru7Oz7//HM0btwYgwcPRp8+fdCyZUskJSUhIiJCvjOtPJMmTYKrqys2btyIhg0b4umnn0a/fv3g7++PQ4cOYdSoUVX8jgxTmfcvSZLcy5SdnS334BR65JFHYGNjI/d0VUUi1a5dO/Tr1w937txBu3btEBERgSFDhqBFixYYO3YsXn/99VJfWzgpanh4OAYNGoQxY8ZgzJgxuHHjBgCgffv2co/WiBEj4O/vj4iICDz33HN47LHH4Ofnh9atW+v1WG3duhXdu3eHl5cXevbsieeeew79+vVD/fr1sWnTJtSrVw9Tp041+edAtRsTKaJaqFWrVjh8+DAWLFiAFi1a4PDhw1izZg12794NBwcHvPrqq1i7dq3ea9RqNf766y888cQTuHjxIr7//nt8/fXX8nQK5tKpUyckJCRg/PjxUCgUWLt2Lf755x+0a9cOn3/+OdavX1/hWc0DAwNx8OBBDB06FAqFAuvXr8ehQ4cwZMgQHDx4sEJ3gFW3yrz/osnR/YmSq6urfDmwRYsW8PX1rZL416xZg4ULF6JZs2bYvn07/v77bzRo0AB//fUXxowZU+rr3nrrLUydOhWurq5Yt24dvv76a3z99dd6PazPPPMMjh07hpdffhmurq7YsWMHfvnlFyQmJqJx48Z455138Pbbb8v1R4wYgddeew3NmzdHYmIi1qxZg/j4ePj5+WHevHk4dOiQ3BNGVFGSMPR2CSIiIiICwB4pIiIiIqMxkSIiIiIyEhMpIiIiIiNZXCI1f/58dOrUCU5OTvD09ET//v2LrcOUnZ2N8ePHo06dOnB0dMSAAQOQkpKiV+f8+fPo06cP7O3t4enpiSlTphSbjyQuLg7t27eHRqNB48aNsXz58mLxfPrppwgICICtrS2Cg4OxZ88ek79nIiIiqpksLpHaunUrxo8fj127diE6Ohp5eXno2bMnMjIy5Dovv/wy/vjjD6xZswZbt27F5cuX8dRTT8n7CwoK0KdPH+Tm5mLnzp1YsWIFli9fjpkzZ8p1kpKS0KdPH4SFhSEhIQGTJk3CmDFj8Ndff8l1fvrpJ0yePBmzZs3CgQMH0LZtW0RERODq1avV82EQERGRRbP4u/auXbsGT09PbN26Fd26dUNqaio8PDzwww8/yMtfnDhxAi1atEB8fDwefPBB/Pnnn+jbty8uX74srzW2ZMkSTJs2DdeuXYNarca0adOwYcMGHD16VD7X4MGDcfv2bXlituDgYHTq1EmesE6r1cLPzw8TJ07Ea6+9Vs2fBBEREVkai19rr3CmYXd3dwDA/v37kZeXpzcnSvPmzdGgQQM5kYqPj0fr1q31FmyNiIjAuHHjcOzYMbRr1w7x8fHF5lWJiIjApEmTAAC5ubnYv38/pk+fLu+3sbFBeHg44uPjS4w1JycHOTk58nOtVoubN2+iTp06kCSpch8EERERVQshBO7cuQNfX99yF1q36ERKq9Vi0qRJ6NKlCx544AEAuqUt1Go1XF1d9ep6eXkhOTlZrnP/qveFz8urk5aWhqysLNy6dQsFBQUl1jlx4kSJ8c6fP5+LXRIREdUSFy5cKHeSVotOpMaPH4+jR49i+/bt5g6lQqZPn47JkyfLz1NTU9GgQQNcuHABzs7OZoysZsrPz0dMTAwA3YKqSqWyzHKi6lJWG2T7JKr50tLS4Ofnp7c+ZWks9n/4hAkTsH79emzbtk0vG/T29kZubi5u376t1yuVkpICb29vuc79d9cV3tVXtM79d/qlpKTA2dkZdnZ2UCgUUCgUJdYpPMb9NBoNNBpNsXJnZ2cmUkbIyMjAwIEDAQDp6elwcHAos5youpTVBtk+iWqPigzLsbi79oQQmDBhAtauXYstW7YgMDBQb3+HDh2gUqnkv/gA4OTJkzh//jxCQkIAACEhIThy5Ije3XXR0dFwdnZGy5Yt5TpFj1FYp/AYarUaHTp00Kuj1WoRExMj1yEiIiLrZnE9UuPHj8cPP/yA3377DU5OTvKYJhcXF9jZ2cHFxQWjR4/G5MmT4e7uDmdnZ0ycOBEhISF48MEHAQA9e/ZEy5YtMWzYMCxYsADJycl48803MX78eLnHaOzYsfjkk08wdepUjBo1Clu2bMHq1av1FmidPHkyIiMj0bFjR3Tu3BkffPABMjIyMHLkyOr/YIiIiMjyCAsDoMTHsmXL5DpZWVnif//7n3BzcxP29vbiySefFFeuXNE7ztmzZ0Xv3r2FnZ2dqFu3rnjllVdEXl6eXp3Y2FgRFBQk1Gq1aNiwod45Cn388ceiQYMGQq1Wi86dO4tdu3ZV+L2kpqYKACI1NdWgz4B00tPT5X//9PT0csuJqktZbZDtk6jmM+T72+LnkarJ0tLS4OLigtTUVI6RMkJGRgYcHR0BFB8jVVI5UXUpqw2yfZIxCgoKkJeXZ+4wrIZKpYJCoSh1vyHf3xZ3aY+IiMhaCCGQnJyM27dvmzsUq+Pq6gpvb+9Kz/PIRIqIiMhMCpMoT09P2Nvbc/LmaiCEQGZmpnxDmo+PT6WOx0SKLJZarZaX51Gr1eWWE1WXstog2ydVVEFBgZxE1alTx9zhWBU7OzsAwNWrV+Hp6VnmZb7ycIxUFeIYKSIiKk12djaSkpIQEBAgf7FT9cnKysLZs2cRGBgIW1tbvX2GfH9b3DxSRERE1oSX88zDVJ87L+2RxSooKMA///wDAOjatavc9VpaOVF1KasNsn0SWRcmUmSxsrOzERYWBkD/NvLSyomqS1ltkO2TqHLi4uIQFhaGW7du6S0FZ6l4aY+IiIgMMmLECEiSVOxx+vRpc4dW7dgjRURERAbr1asXli1bplfm4eFhpmjMhz1SREREZDCNRgNvb2+9x+jRo9G/f3+9epMmTUJoaKj8XKvVYv78+QgMDISdnR3atm2Ln3/+uXqDNyH2SBEREVkIIQSy8grMcm47laJa7iCcP38+vv/+eyxZsgRNmjTBtm3b8Nxzz8HDwwPdu3ev8vObGhMpIiIiC5GVV4CWM/8yy7kT50TAXl3xtGD9+vXyupIA0Lt373JvrsjJycG8efOwefNmhISEAAAaNmyI7du344svvmAiRURERNYhLCwMn3/+ufzcwcEB06dPL/M1p0+fRmZmJh599FG98tzcXLRr165K4qxqTKTIYqlUKixYsEDeLq+cqLqU1QbZPqky7FQKJM6JMNu5DeHg4IDGjRvrldnY2OD+BVPy8vLk7fT0dADAhg0bUK9ePb16Go3GoPNbCiZSZLHUajWmTJlS4XKi6lJWG2T7pMqQJMmgy2uWxsPDA0ePHtUrS0hIkP+oaNmyJTQaDc6fP18jL+OVpOb+axEREZFFeeSRR7Bw4UJ8++23CAkJwffff4+jR4/Kl+2cnJzw6quv4uWXX4ZWq8XDDz+M1NRU7NixA87OzoiMjDTzOzAcEymyWAUFBThw4AAAoH379npLxJRUTlRdymqDbJ9kzSIiIjBjxgxMnToV2dnZGDVqFIYPH44jR47Idd566y14eHhg/vz5+O+//+Dq6or27dvj9ddfN2PkxpPE/RczyWQMWT2aisvIyJDvCCm61EZp5UTVpaw2yPZJFZWdnY2kpCQEBgbC1tbW3OFYnbI+f0O+vzkhJxEREZGRmEgRERERGYmJFBEREZGRmEgRERERGYmJFBEREZGRmEgRERERGYnzSJHFUqlUmDVrlrxdXjlRdSmrDbJ9ElkXziNVhTiPFBERlYbzSJkX55EiIiIiMjNe2iOLpdVqcfz4cQBAixYtYGNjU2Y5UXUpqw2yfRJZF/4PJ4uVlZWFBx54AA888ACysrLKLSeqLmW1QbZPshbXrl3DuHHj0KBBA2g0Gnh7eyMiIgI7duwwd2jVij1SREREZLABAwYgNzcXK1asQMOGDZGSkoKYmBjcuHHD3KFVK/ZIERERkUFu376Nf/75B++++y7CwsLg7++Pzp07Y/r06XjiiSfw6quvom/fvnL9Dz74AJIkYdOmTXJZ48aN8dVXX8nPv/rqK7Ro0QK2trZo3rw5PvvsM71zXrhwAQMHDoSrqyvc3d3Rr18/nD17Vt4/YsQI9O/fH7Nnz4aHhwecnZ0xduxY5ObmVt0HASZSRERElkMIIDfDPA8DbuJ3dHSEo6Mj1q1bh5ycnGL7u3fvju3bt6OgoAAAsHXrVtStWxdxcXEAgEuXLuHMmTMIDQ0FAKxcuRIzZ87E22+/jePHj2PevHmYMWMGVqxYAQDIy8tDREQEnJyc8M8//2DHjh1wdHREr1699BKlmJgYHD9+HHFxcVi1ahV+/fVXzJ4928h/jIrhpT0iIiJLkZcJzPM1z7lfvwyoHSpUValUYvny5Xj++eexZMkStG/fHt27d8fgwYPRpk0bdO3aFXfu3MHBgwfRoUMHbNu2DVOmTMG6desAAHFxcahXrx4aN24MAJg1axYWLVqEp556CgAQGBiIxMREfPHFF4iMjMRPP/0ErVaLr776CpIkAQCWLVsGV1dXxMXFoWfPngAAtVqNb775Bvb29mjVqhXmzJmDKVOm4K233qqyGz/YI0VEREQGGzBgAC5fvozff/8dvXr1QlxcHNq3b4/ly5fD1dUVbdu2RVxcHI4cOQK1Wo0XXngBBw8eRHp6OrZu3Yru3bsDADIyMnDmzBmMHj1a7ulydHTE3LlzcebMGQDAoUOHcPr0aTg5Ocn73d3dkZ2dLdcBgLZt28Le3l5+HhISgvT0dFy4cKHKPgf2SBEREVkKlb2uZ8hc5zaQra0tHn30UTz66KOYMWMGxowZg1mzZmHEiBEIDQ1FXFwcNBoNunfvDnd3d7Ro0QLbt2/H1q1b8corrwAA0tPTAQBffvklgoOD9Y6vUCjkOh06dMDKlSuLxeDh4WFw3KZkcT1S27Ztw+OPPw5fX19IkiR3AxaSJKnEx8KFC+U6AQEBxfa/8847esc5fPgwunbtCltbW/j5+WHBggXFYlmzZg2aN28OW1tbtG7dGhs3bqyS90wlU6lUePXVV/Hqq68WWyKmpHKi6lJWG2T7pEqRJN3lNXM87l4yq4yWLVsiIyMDwL1xUjExMfJYqNDQUKxatQqnTp2Sy7y8vODr64v//vsPjRs31nsEBgYCANq3b49///0Xnp6exeq4uLjI5z906JDetCO7du2Co6Mj/Pz8Kv3eSiUszMaNG8Ubb7whfv31VwFArF27Vm//lStX9B7ffPONkCRJnDlzRq7j7+8v5syZo1cvPT1d3p+amiq8vLzE0KFDxdGjR8WqVauEnZ2d+OKLL+Q6O3bsEAqFQixYsEAkJiaKN998U6hUKnHkyJEKv5fU1FQBQKSmphr/gRARUa2UlZUlEhMTRVZWlrlDMdj169dFWFiY+O6778ShQ4fEf//9J1avXi28vLzEqFGjhBBC3Lx5U9jY2AiFQiGOHz8uhBBi7dq1QqFQCB8fH73jffnll8LOzk58+OGH4uTJk+Lw4cPim2++EYsWLRJCCJGRkSGaNGkiQkNDxbZt28R///0nYmNjxcSJE8WFCxeEEEJERkYKR0dHMWTIEHHs2DGxYcMG4eXlJV577bUS30NZn78h399GJ1JbtmwRb7zxhggNDRWNGzcWrq6uwtfXV7Rt21Y899xz4ssvvxRXrlwx9vC64EpIpO7Xr18/8cgjj+iV+fv7i8WLF5f6ms8++0y4ubmJnJwcuWzatGmiWbNm8vOBAweKPn366L0uODhYvPjiixWOn4kUERGVpiYnUtnZ2eK1114T7du3Fy4uLsLe3l40a9ZMvPnmmyIzM1Ou17ZtW+Ht7S0/v3HjhpAkSQwePLjYMVeuXCmCgoKEWq0Wbm5uolu3buLXX3+V91+5ckUMHz5c1K1bV2g0GtGwYUPx/PPPy9+xkZGRol+/fmLmzJmiTp06wtHRUTz//PMiOzu7xPdglkQqPT1dzJs3TwQGBgobGxshSZKQJEnY2dmJevXqCXd3d6FQKORytVotBgwYILZv327Iae4FV04ilZycLJRKpVi5cqVeub+/v/Dy8hLu7u4iKChILFiwQOTl5cn7hw0bJvr166f3mi1btggA4ubNm0IIIfz8/IolYzNnzhRt2rQpNZ7s7GyRmpoqPy5cuMBEqhIKCgpEUlKSSEpKEgUFBeWWE1WXstog2ydVVE1OpCxRYSJVUaZKpCo82HzJkiWYPXs2UlJS0KZNG7z11lsICQlBx44d4eTkVPRSIf7991/s3r0bf//9N3777TesXbsW/fr1w6JFi+TrnaawYsUKODk5ybdLFvq///s/tG/fHu7u7ti5cyemT5+OK1eu4P333wcAJCcnF4vDy8tL3ufm5obk5GS5rGid5OTkUuOZP39+lc9XYU2ysrLkf6f09HQ4ODiUWU5UXcpqg2yfRNalwonUxIkTMWTIEEydOhUPPPBAqfUkSULTpk3RtGlTDBs2DFlZWVi5ciXmz5+P7777DjNnzjRJ4ADwzTffYOjQobC1tdUrnzx5srzdpk0bqNVqvPjii5g/fz40Go3Jzn+/6dOn6507LS2tage4ERERkVlVOJE6duwYmjZtavAJ7OzsMGbMGIwcORLnz583+PWl+eeff3Dy5En89NNP5dYNDg5Gfn4+zp49i2bNmsHb2xspKSl6dQqfe3t7yz9LqlO4vyQajaZKEzUiIiIq2fLly81y3gpPf2BMElWUQqEw6WW9r7/+Gh06dEDbtm3LrZuQkAAbGxt4enoC0E3QtW3bNuTl5cl1oqOj0axZM7i5ucl1YmJi9I4THR2NkJAQk70HIiIiqtmqZB6pnJwcvSTFEOnp6UhISEBCQgIAICkpCQkJCXq9WWlpaVizZg3GjBlT7PXx8fH44IMPcOjQIfz3339YuXIlXn75ZTz33HNykvTss89CrVZj9OjROHbsGH766Sd8+OGHepflXnrpJWzatAmLFi3CiRMnEBUVhX379mHChAlGvS8iIqKSCAPWuCPTMdnnXuHh7ffZunWrmDFjhrh165Zcdv36ddGrVy+hVCqFnZ2dmDZtmsHHjY2NFQCKPSIjI+U6X3zxhbCzsxO3b98u9vr9+/eL4OBg4eLiImxtbUWLFi3EvHnzit3+eOjQIfHwww8LjUYj6tWrJ955551ix1q9erVo2rSpUKvVolWrVmLDhg0GvRdOf1A56enp8r9/0XnASisnqi5ltUG2T6qo/Px8kZiYKK5fv27uUKzS9evXRWJiosjPzy+2z5Dvb0kI41KyJ554AomJiTh9+rRcNmLECHz77bdo3Lgx0tPTkZKSglWrVmHgwIHGZ3o1WFpaGlxcXJCamgpnZ2dzh1PjZGRkwNHREYD+3U+llRNVl7LaINsnGeLKlSu4ffs2PD09YW9vLy/IS1VHCIHMzExcvXoVrq6u8PHxKVbHkO9vo9faO3jwIHr06CE/z87OxurVq9GzZ09s2rQJd+7cQZs2bfD5559bbSJFlaNUKvG///1P3i6vnKi6lNUG2T7JEIU3MF29etXMkVgfV1fXMm8gqyij/5ffuHED9erVk5/Hx8cjOzsbI0eOBAA4OTmhb9+++OWXXyodJFknjUaDTz/9tMLlRNWlrDbI9kmGkCQJPj4+8PT0NHpsMRlOpVLJCyJXltGJlJ2dHe7cuSM/j42NhSRJ6N69u1zm6OiIW7duVS5CIiKiWk6hUJjsi52ql9GJVOPGjbFp0ybk5ORAkiT8+OOPaNmypV432fnz5+UpB4gMJYTA9evXAQB169aVxw6UVk5UXcpqg2yfRNbF6OkPnn/+eZw+fRqNGzdGixYtcObMGfmyXqH9+/ejZcuWlQ6SrFNmZiY8PT3h6emJzMzMcsuJqktZbZDtk8i6GJ1IjR49GlOmTEFWVhZSU1Mxbtw4TJo0Sd4fHx+PU6dO6Q1IJyIiIqpNjL60J0kS3n33Xbz77rsl7u/QoQNu3brFW3+JiIio1jKoR2rgwIFYtWoVUlNTy62rVqvh4uLC23+JiIio1jIokYqOjsbQoUPh6emJ8PBwfPLJJyZdiJiIiIioJjEokbp+/Tqio6Px4osv4syZM/i///s/BAYGon379pgzZ468Ph4RERGRNTAokVIoFOjRowc++ugjJCUl4cCBA5gxYwYAICoqCh06dEBgYCAmTZqELVu2oKCgoEqCJiIiIrIElRrAFBQUhKCgIERFReHChQtYu3Ytfv/9d3z22Wf4+OOP4erqij59+qBfv36IiIiQ158iqgilUonIyEh5u7xyoupSVhtk+ySyLkYvWlyW27dvY8OGDVi3bh3++usvpKenw9bW1urmVOGixURERDVPtSxaXBZXV1cMHToUQ4cORW5uLmJiYvD7779XxamIiIiIzKZKeqRIhz1SlSOEkHsx7e3t9ZaIKamcqLqU1QbZPolqvirpkfr222+NDmj48OFGv5asV2ZmpjyuLj09XZ7ctbRyoupSVhtk+ySyLhVOpEaMGGHwX1ZCCEiSxESKiIiIaqUKJ1LLli2ryjiIiIiIapwKJ1KFt/MSERERkY5BE3ISERER0T2Vnv4gIyMD69atQ0JCAtLS0uDs7IygoCD079+fgyyJiIioVqtUIvXLL7/ghRdewO3bt1F0FgVJkuDq6oovv/wSTz31VKWDJCIiIrJERidSO3fuxODBg6FQKDBmzBiEhYXBx8cHycnJiI2NxYoVKzB48GBs3boVISEhpoyZrIRCocDTTz8tb5dXTlRdymqDbJ9E1sXoCTn79u2LuLg47NixA23bti22//Dhw3jooYcQFhaGP/74o9KB1kSckJOIiKjmMeT72+jB5vHx8Rg0aFCJSRQAtGnTBgMHDsTOnTuNPQURERGRRTM6kcrMzISXl1eZdby8vKxuoWIiIiKyHkaPkQoICEB0dDTmzZtXap2YmBgEBAQYewqychkZGSUutVFaeZm0WuBWEpByFLhxBki9AKRfBXLSgNwMABJgowQUKsC+DuDoCTh4As6+QN2mQN0mgJ1rFb1TqmnKaoNGtU8iqrGMTqQGDhyIt956C5GRkZg/fz58fX3lfVeuXMH06dOxf/9+zJgxwySBEhnsTgpwOho4vRk4Ewtk367c8Rw8Ac/mQL0O9x7OvuW/joiIai2jB5tnZmYiLCwMe/fuhVqtRuPGjeHl5YWUlBScPn0aubm56Ny5M2JjY2FnZ2fquGsEDjavHKN6pLRa4N+/gQMrgFN/AaLg3j6FBvBqCdRtBrj6AU7egMYFUNsDkABtPpCfA2TeADKuARlXgdvngWungDuXSw7SxQ8I7A407K776VT25W6qHdgjRVS7GfL9bXSPlL29PbZt24Z3330X3377LRITE5GYmAgAaNiwISIjIzF16lRoNBpjT0FUcVotcOIPIO4d4GrivXLfdkCTnkDjcN22QmXc8XPuANdPAclHgUv7gUsHgKvHdJcIE77XPQDAo7kuoWoUpvuptq/8eyMiIotldI/U/e7cuSPPbO7k5GSKQ9Z47JGqnAr3SGVeBP54CTgfr3uhxgVoPwxoPxzwaFZ1AeZm6M7531YgaStw5TCAIv+dlLZAwzCgWW+gaS/2VtUi7JEiqt2qpUfqfk5OTkygqPrt/Rr45y2gIBdQOQAPTQAe/F/1DAxXO+h6uhqH655n3gSStumSqn83A6nngVN/6h4AUK+jLqlq9hjg2QKQpKqPkYiIqpRJEimtVouUlBTk5eWVuL9BgwamOA1RcX+/Cagl3eW7Pu/rxj6Zi7070Kq/7iEEkHIMOPkncHIjcPkAcGmf7rHlLcAtAGjeV/fw6wzYcAZsIqKaqFKJ1Pfff4/33nsPiYmJKCgoKLGOJEnIz8+vzGnISikUCjz22GPytl55SEvg+ikobGyAiLd1vVCW1MMjSYD3A7pH9ylA2hXg1CZdYvVfHHDrLBD/ie7h4Ak0fwxo/jgQ2A1Qqs0dPZWjtLZZ3j4iqn2MHiP13nvvYdq0aVCpVHj44Yfh4+MDpbLkvGzZsmWVCrKm4hipKvTjUODEeiB0OhD6mrmjMUxuBnA6Rhf/yU1ATuq9fRoXoGlPXU9V43BA42i+OImIrFS1LBHz8ccfo169ejh9+jQ2b96M7777DsuWLSvxYYht27bh8ccfh6+vLyRJwrp16/T2jxgxApIk6T169eqlV+fmzZsYOnQonJ2d4erqitGjRyM9PV2vzuHDh9G1a1fY2trCz88PCxYsKBbLmjVr0Lx5c9ja2qJ169bYuHGjQe+FqlBelu6naw28bKx2AFo+ATy1FJhyGnjuV6DjKMDRS5dUHVkDrIkEFjYCVg0BDq7Ujb8iIiKLY3Qide3aNQwYMAD169c3ZTzIyMhA27Zt8emnn5Zap1evXrhy5Yr8WLVqld7+oUOH4tixY4iOjsb69euxbds2vPDCC/L+tLQ09OzZE/7+/ti/fz8WLlyIqKgoLF26VK6zc+dODBkyBKNHj8bBgwfRv39/9O/fH0ePHjXp+yUj5efofiptzRtHZSnVQOMeQN/FwOQTwKi/gYcmAm6BQH62bnzVb/8DFjYGlvcFdi8FUi+ZO2oiIrrL6Et7QUFBCAoKwvLly00c0j2SJGHt2rXo37+/XDZixAjcvn27WE9VoePHj6Nly5bYu3cvOnbsCADYtGkTHnvsMVy8eBG+vr74/PPP8cYbbyA5ORlqtW48ymuvvYZ169bhxIkTAIBBgwYhIyMD69evl4/94IMPIigoCEuWLKlQ/Ly0VzkZGRnw9PQEAFy9elVv+gNPd2dAaHF11y9waP+UOcOsGoWD1U+sB46vB1KO6O/3bqObUqFpBODbHrAx+m8iMkJpbbO8fURUM1TLpb2XX34Zv/32G86dO2fsIYwWFxcHT09PNGvWDOPGjcONGzfkffHx8XB1dZWTKAAIDw+HjY0Ndu/eLdfp1q2bnEQBQEREBE6ePIlbt27JdcLDw/XOGxERgfj4+Kp8a3SfzMzMEhe+zszVIjMPgKqWTvhaOFg99DVg3Hbg/xKAnnMBvwcBSEDyYWDbAuCrHsB7TYC1Y4GjvwJZt80cuPUorW2Wt4+Iahej79qLjIzE1atX8dBDD+F///sf2rZtW2rW1q1bN6MDvF+vXr3w1FNPITAwEGfOnMHrr7+O3r17Iz4+HgqFAsnJyfJfg4WUSiXc3d2RnJwMAEhOTkZgYKBeHS8vL3mfm5sbkpOT5bKidQqPUZKcnBzk5OTIz9PS0ir1XqkCavqlvYpyD9Rd8ntoIpB+TbeG4Km/gDNbgMzrwKFVuoeNEmgQopsOommEbsFlS7qbkYiolqnU9AdpaWlITU3FzJkzy6xX2tQIxhg8eLC83bp1a7Rp0waNGjVCXFwcevToYbLzGGP+/PmYPXu2WWOwOspa2iNVFkcPIOhZ3aMgDzi/C/j3L11idf0UcPYf3SN6hm4wfsMwoGGo7mHvbu7oiYhqFaMTqZkzZ2LevHnw8PDA4MGDy5z+oCo1bNgQdevWxenTp9GjRw94e3vj6tWrenXy8/Nx8+ZNeHt7AwC8vb2RkpKiV6fweXl1CveXZPr06Zg8ebL8PC0tDX5+Zpwg0hoorKRHqjQKFRDYVffoORe4maRbtPnUX7pk6vZ53QLOB1YAkACftrqEqlEY4BcMqKxzQXEiIlMxOvP55ptv0LRpU+zdu1deV8ocLl68iBs3bsDHxwcAEBISgtu3b2P//v3o0KEDAGDLli3QarUIDg6W67zxxhvIy8uDSqVbxDY6OhrNmjWDm5ubXCcmJgaTJk2SzxUdHY2QkJBSY9FoNFykubpZY49UWdwDgeAXdY/cDODsDt0EoP/F6hZzvpKge+z4ALBRAfU6AAFdAP8uusSK81YRERnE6ETq1q1bGDx4sMmTqPT0dJw+fVp+npSUhISEBLi7u8Pd3R2zZ8/GgAED4O3tjTNnzmDq1Klo3LgxIiIiAAAtWrRAr1698Pzzz2PJkiXIy8vDhAkTMHjwYPj6+gIAnn32WcyePRujR4/GtGnTcPToUXz44YdYvHixfN6XXnoJ3bt3x6JFi9CnTx/8+OOP2Ldvn94UCWQB2KNSOrWDbnLPpj11z+8k302q7j7uXAEu7NI9/lkESArAN0iXVPk/BNTvBDjUNV/8REQ1gNGJVOvWrXHlyhVTxgIA2LdvH8LCwuTnhZfKIiMj8fnnn+Pw4cNYsWIFbt++DV9fX/Ts2RNvvfWWXk/QypUrMWHCBPTo0QM2NjYYMGAAPvroI3m/i4sL/v77b4wfPx4dOnRA3bp1MXPmTL25ph566CH88MMPePPNN/H666+jSZMmWLduHR544AGTv2cqmY2NDbp37y5vy+VCi+7+uqU3bNRMpCrMyRtoO1j3EAK4+R9wbidwboeu5yr1PHBpv+6x8+7/F7dA3VqA9TsB9TsCXg/oLidaudLaZnn7iKj2MXoeqT/++AODBw/GP//8g/bt25s6rlqB80hVkZx0YH493fbrVwC1vXnjqS1un9clVme3Axd26wau309pC/i20yVV9ToAPkG6BZh5ZyAR1SKGfH9X6tLeo48+ioceegjDhg0rc/qD4cOHG3saouLys+9tW8v0B9XBtYHu0fbunbFZt3S9Uxf3ARf36n5m3wbOx+sehTQugE8b3UB2nyDdzzqNABsu2EtEtZ/RPVI2NjaQJAlFXy7d91epEAKSJJl0+oOahD1SVST1IrC4FaBQAzOumTsa66HVAjfP3E2q9gKXD+pmXy/ILV5X5QB4t76bXN191G2qWxKnNhGCvXFEtVC19EgZuhgxkaEyMjIQEBAAADh79uy9JWJu30TAwjsAJJydnMElOKqLjQ1Qt4nuEfSsrqwgD7h2ArhySPe4nAAkHwHyMu4NZJdfrwTqNAY8mgEeLQDP5oBHc8C9UY1LsDIyMhDg6wEU5OHs+YtwcPfS31dCuyWi2qlSM5sTVbXr168XLyzIxvVMAcCozlQyJYVK1/Pk3Rpo95yuTFsAXP/3XnJ15ZBuSZucNF3Sde0EgN/uHaO0BMstEFBZ7qXb62lZuo1jvwJdx+nvK6ndElGtVP0zaBJVVn4Jl5LIctgodMmQZ3Og7SBdmRC6S7LXTgLXjgNX7yZU104CuXdKTrAgAS5+QJ2Gul6rOo10P938deWWMudVLtfUI7JmFU6kzp8/jwYNGlTqZJcuXUK9evUqdQwi5GeZOwIylCQBrn66R5Mii4GXlmBdP6XrwUo9r3v8F1f8mHbuuuO5+AGu/neP3+Du8waAnWv1vLc8tkcia1bhRKpJkyYYM2YMXn311WIL/pYlLy8PP//8M+bOnYtBgwaVuy4fUbmK3rVHNVtZCVbGdeDGad0A9xtn7v78T5dYZacCWTd1jyuHSj62ygFw8gIcizzk596Ao6du26Fu5e4wZCJFZNUqnEi9++67mDt3LpYsWYKHH34YTz/9NB588EEEBQXJy6wUunjxInbv3o3o6Gj8/PPPuHXrFiIiIvDss8+a/A2QFcrLMXcEVNUkSbc4s6MH4F/CskzZqcDtC0DqBd38V7fPF9m+AGRe1w14v/mf7lHmuWwABw9dUmVfR7ews507YOdWwrab7qEt8juvgIk9kTWrcCI1adIkjBgxAu+//z6+/vprvPTSS5AkCTY2NnB1dYWrqyuys7Nx8+ZNZGfrfrFIkoSIiAi88soreOSRR6rsTZCVYY8U2boA3i6AdykrDeRm6pbASU/RPe6k3NsuWpZxDRDae2UVVXSYXj4TeyJrZtBgc1dXV8yZMwezZs3Cn3/+iZiYGOzcuRMXL17EhQsXYGdnh3r16qF169bo3r07+vXrB39//6qKnWo5GxsbdOzYUd6Wy7W56OhrA2hcuAQHlUxtrxucXqdR2fUK8nW9V4WJVdZNIPPuJcOsW3e3b90tv6Xbzr0DG0no2iAAm/vWIyyt3RJR7WTUXXsKhQJ9+/ZF3759TR0PkczOzg579+4tXq7UYu/zjkCLxwA7rrVHlaBQ6tYgdPIGfCr4mvxc2GXfxt6AIcClfYCTi97u0totEdVO/HOJap68u5f2uDwMmYNSrRuo7tNW9zyPl5qJrBkTKap58plIkQVQ3e0N5XQcRFaNiRRZrMzMTAQEBCAgIACZmfcmPcxMv4OAD+4g4IXv9MqJqktmZiYCIj9DwAd3kHnnTvF9JbRbIqqdOLM5WSwhBM6dOydvy+X5WTiXKgCkwcg1t4kqRQiBcym3ddv39UiV1m6JqHZijxTVPLzdnCwJx0gRWTUmUlTz8IuLLAnnNSOyakykqOZhjxRZEib2RFbN6ETqwoULpoyDqOLYA0CWhEvEEFk1oweb+/v7o1GjRggNDUVoaCjCwsLg6+trytiISsYeKbIk7JEismpGJ1LDhw9HXFwcvv76a3zzzTcAgMaNGyMsLExOrLy8vEwWKFkfSZLQsmVLeVsuz89GSw8bwNlXr5youkiShJaN/YHUC5AKcorvK6HdElHtJIlK3p+blJSE2NhYbNmyBVu3bsWlS5d0B5YkNGvWDGFhYfj0009NEmxNk5aWBhcXF6SmpsLZ2dnc4dQeXz0KXNwDDFoJtOAyRWQm53YCy3oDdRoDE/ebOxoiMiFDvr8rPdg8MDAQo0aNwvfff48LFy7g1KlTePfdd1G3bl2cOHECS5YsqewpiPQVztvDmc3JnArbHy/tEVk1k0zImZmZiX/++QexsbGIjY3FwYMHkZ+fDwcHB3Tp0sUUpyC6p3CMlIqJFJkRl4ghIlQikdqyZYucOO3duxd5eXmwtbVFSEgIZs2ahbCwMHTu3BlKJSdPJ+NkZmaiU6dOAIC9e/fC3t7+Xvln6cCq4dh78KhcTlRdMjMz0albP+BmOvaOs4f9/ftKaLdEVDsZneWEh4dDkiQ8+OCDmD59OsLCwhASEgK1Wm3K+MiKCSGQmJgob8vledlIvKYFriVxCQ4yCyEEEk/+q9vOzwKEAO4OLC+t3RJR7VSp7iIhBI4cOQIXFxc4OjrC2dkZQUFBvFOFqhanPyBLIrRAQR6g5B+RRNbI6ETqxo0b2Lp1q3x5b9q0aQAAFxcXdO/eHY888gjCwsLwwAMPmCxYIgCckJMsT34WEykiK2V0IuXm5ob+/fujf//+AIDr168jNjZWTq5+//13AICHhweSk5NNEiwRtFqgINfcURDpy8sGbF3MHQURmYHJRoLXrVsXXbt2RX5+PrKzs3H9+nVcu3YN165dM9UpiNgbRZaJd+4RWa1KJVLXr19HXFycfAffqVOnAOjGTnl7e2PIkCEICwszSaBEAJhIkWXiXFJEVsvoRKpNmzY4duwYAF3i5OHhgaeffhphYWEICwtDs2bNTBYkWSdJkuDv7y9vAwDysyFJgL+LDeDqxxsbyCzktpl2SXezXpEeqRLbLRHVWkYnUpcuXUL//v3lxKlVq1amjIsI9vb2OHv2rH5hfjbsVRLOTvUGXj9b0suIqpzcNj9qB9z8T+9O0hLbLRHVWkYnUtevX+dfW1T9Ci+hKDXmjYMIAJR3ZzfP4xgpImtl9Fp7TKLILArHSBV+gRGZU+EyRRy7R2S1Kr1o8cqVK/Hoo4/Cw8MDGo0GHh4e6NmzJ3744Qejjrdt2zY8/vjj8PX1hSRJWLdunbwvLy8P06ZNQ+vWreHg4ABfX18MHz4cly9f1jtGQEAAJEnSe7zzzjt6dQ4fPoyuXbvC1tYWfn5+WLBgQbFY1qxZg+bNm8PW1hatW7fGxo0bjXpPZJysrCx06tQJnTp1QlbW3b/483OQlSfQ6YOz+uVE1Uhum/MOICtP6PVIldhuiajWMjqRKigowIABAzB8+HDExMQgIyMDvr6+yMjIwObNmzFs2DAMGDAAWq3WoONmZGSgbdu2+PTTT4vty8zMxIEDBzBjxgwcOHAAv/76K06ePIknnniiWN05c+bgypUr8mPixInyvrS0NPTs2RP+/v7Yv38/Fi5ciKioKCxdulSus3PnTgwZMgSjR4/GwYMH5Tmzjh49atD7IeNptVrs27cP+/btu9eO8rOgFcC+C5n65UTVSG6bZ1OhFdDrkSqx3RJR7SWM9P777wtJkkTXrl3Fzp079fbFx8eLbt26CRsbG/HBBx8YewoBQKxdu7bMOnv27BEAxLlz5+Qyf39/sXjx4lJf89lnnwk3NzeRk5Mjl02bNk00a9ZMfj5w4EDRp08fvdcFBweLF198scLxp6amCgAiNTW1wq+he9LT0wUAAUCkp6frCk9sFOnTnYqXE1UjvbY53UmIPV+VvI/tk6hGMuT72+geqRUrVqBp06aIiYlBSEiI3r4HH3wQmzdvRtOmTbFs2TJjT1EhqampkCQJrq6ueuXvvPMO6tSpg3bt2mHhwoXIz8+X98XHx6Nbt256CyxHRETg5MmTuHXrllwnPDxc75gRERGIj4+vujdD5eOgXrJEHCNFZLWMvmvv1KlTmDBhAlQqVYn7VSoVHn/8cXzyySdGB1ee7OxsTJs2DUOGDIGzs7Nc/n//939o37493N3dsXPnTkyfPh1XrlzB+++/DwBITk5GYGCg3rG8vLzkfW5ubkhOTpbLitYpa7mbnJwc5OTcuw06LS2t0u+R7sMFi8kSMcEnslpGJ1JqtRoZGRll1snIyNDr9TGlvLw8DBw4EEIIfP7553r7Jk+eLG+3adMGarUaL774IubPnw+Npupum58/fz5mz55dZccncCkOskzskSKyWkZf2mvXrh1Wr15d7I65QleuXMHq1avRvn17o4MrTWESde7cOURHR+v1RpUkODgY+fn58iR53t7eSElJ0atT+Nzb27vMOoX7SzJ9+nSkpqbKjwsXLhj61qg87JEiS8QeKSKrZXQiNXnyZNy4cQMdO3bEokWLsG/fPly4cAH79u3De++9hw4dOuDmzZt6vUOmUJhE/fvvv9i8eTPq1KlT7msSEhJgY2MDT09PAEBISAi2bduGvLw8uU50dDSaNWsGNzc3uU5MTIzecaKjo4uNBytKo9HA2dlZ70GVU7duXdStW/dewd0vrLrOtvrlRNWsbt26qOtir3tyX49UsXZLRLVXZUa1L1q0SKhUKmFjY6P3kCRJqFQq8f777xt8zDt37oiDBw+KgwcPCgDi/fffFwcPHhTnzp0Tubm54oknnhD169cXCQkJ4sqVK/Kj8A68nTt3isWLF4uEhARx5swZ8f333wsPDw8xfPhw+Ry3b98WXl5eYtiwYeLo0aPixx9/FPb29uKLL76Q6+zYsUMolUrx3nvviePHj4tZs2YJlUoljhw5UuH3wrv2qsCWeULMchbij5fNHQmRENve07XHdf8zdyREZEKGfH9XKpESQogzZ86IOXPmiKeeekqEh4eLp556Srz11lvizJkzRh0vNjZWvnW46CMyMlIkJSWVuA+AiI2NFUIIsX//fhEcHCxcXFyEra2taNGihZg3b57Izs7WO8+hQ4fEww8/LDQajahXr5545513isWyevVq0bRpU6FWq0WrVq3Ehg0bDHovTKSqwN8zdV9cf043dyREQuz8VNce14wydyREZEKGfH9LQghR/f1g1iEtLQ0uLi5ITU3lZT5T+XMasHsJ0PUVoMdMc0dD1m7fN8D6l4HmfYHBK80dDRGZiCHf35VeIoaoqmRlZSE0NBShoaFFlojJRlaeQOgrK/TLiaqR3DbHvlfiEjHF2i0R1VoVnv5g27ZtRp+kW7duRr+WrJdWq8XWrVvlbQBAXja0Ath66D8A/3EJDjILvbbZ06nYEjHF2i0R1VoVTqRCQ0MhSZJRJykoKDDqdUTFcL4eskSc/oDIalU4kZo5c6bRiRSRyTCRIkvEdklktSqcSEVFRVVhGEQVxC8sskTskSKyWhUebO7u7o6FCxfKz+fMmVOpcVNERsljIkUWiAk+kdWqcCKVmpqqdwdKVFQU4uLiqiImotLxC4ssEXukiKxWhS/teXl54eLFi1UZC1Ex9vb2+gV3Eyl7O1tA4uwdZD66tnl3Gr77Evxi7ZaIaq0KJ1LBwcH47rvvoFAo4OPjAwAV6pGSJAkzZswwOkCyXg4ODsjIyNAvzM+Gg1pCxsmtgF9n8wRGVk9um+lXgfea6BIpIQBJKrndElGtVeFEauHChTh16hS++OILALoEKS4urtxkiokUmVR+ju6nUmPeOIgAQGl7bzs/B1DZll6XiGqlCidSjRs3xpEjR5CUlIRLly4hNDQUI0aMQGRkZFXGR6SvcCyK0s68cRABgKpIO8zLZCJFZIUqnEgBgI2NDRo1aoRGjRrB398fQUFB6N69e1XFRlYuOzsbAwYMAAD88ssvsLW1BfJzkJ0vMGDoWEBld6+cqBrptc12NrBVauVxUiW2WyKqtQxKpIpKSkoyZRxExRQUFGDjxo3yNoQA8rNQoAU2RsfeKyeqZnpts5M3gEy5t7RYuyWiWo23PVHNUZBr7giIiiscJ8WpOYisEhMpqjk4Vw9ZosLxepwslsgqMZGimqPwjj1wzUeyIIUDzPOZ6BNZIyZSVHMUflEpOXiXLEhhe2SPFJFVYiJFNUdhj5SKc0iRBSmcAoE9UkRWyehEatu2bUhISDBhKETlKBzMq2CPFFmQwslh2SNFZJWMTqTCwsKwdOlSU8ZCpMfBwQFCCAgh4ODgIH9ROTjY65cTVTO9tunopCvMyyy+j+2TqNYzOpHy9PTkRHNUvQp7pDhGiiwJpz8gsmpGJ1KPPvoo4uLiIIQwZTxEpSv8ouIyHGRJCsdIcXoOIqtkdCL1zjvv4MaNG3jhhRdw8+ZNU8ZEBEC31MYzzzyDZ555BtnZ2feW4BAq/XKiaqbXNrV3F4goskQM2yeR9ZCEkV1KjzzyCG7cuIGjR49CrVYjMDAQXl5ekCT9OX4kSUJMTIxJgq1p0tLS4OLigtTUVDg7O5s7nBonIyMDjo6OAID09HQ4nF4PrH0BGfUehuMLG++VcxwKVTO9trn2FTgkfAl0mQQ8Ort4u2X7JKpxDPn+Nnqtvbi4OHk7JycHJ06cwIkTJ4rVuz+xIjKafNeenXnjICqKY6SIrJrRiZRWqzVlHETlkwebq80bB1FRSo6RIrJmnJCTag55sDl7pMiCFE4Qyx4pIqvERIpqjsIJD5Wc2ZwsiLxETKZ54yAiszD60l6hixcvIjY2FpcvX0ZOTk6x/ZIkYcaMGZU9DRHnkSLLpOJae0TWrFKJ1JQpU/Dhhx+ioKBALhNCyAPMC7eZSJFJFK61p2CPFFkQBQebE1kzoy/tffnll1i0aBHCwsLw888/QwiByMhIrFq1CmPHjoVSqcQzzzyDLVu2mDJesiL29vZIT09Heno67O3t5UVh7Z2c9cuJqple23R21RXeHWxerN0SUa1mdI/U0qVLERAQgD///BM2Nrp8LCAgAIMGDcKgQYMwcOBAPProo3jmmWdMFixZF0mS9OfgudsjJalsOTcPmZVe2yy8+eFuj1SxdktEtZrRPVInTpxAr1695CQKAPLz8+Xt7t27o0+fPnjvvfcqFyFRocLby5W8a48siOpurxOnPyCySpW6a8/V1VXednBwwI0bN/T2N2vWDMeOHavMKciK5eTkYMSIERgxYoTuRoa7PVI5Whv9cqJqptc2tXd/jd7tkSrWbomoVjM6kapXrx4uXrwoP2/UqBF2796tV+fo0aPs4iaj5efnY8WKFVixYoWut/PuGKl8SaVfTlTN9NomVLrCuz1SxdotEdVqRidSXbp0wa5du+Tn/fr1w8GDB/Hiiy9iw4YNmD59Ov78809069bNJIESyXftcfoDsiTy9Ae8tEdkjYxOpIYNG4ZGjRrh3LlzAHRTIQQFBeHLL7/EE088gXfffRf+/v5YuHChQcfdtm0bHn/8cfj6+kKSJKxbt05vvxACM2fOhI+PD+zs7BAeHo5///1Xr87NmzcxdOhQODs7w9XVFaNHj0Z6erpencOHD6Nr166wtbWFn58fFixYUCyWNWvWoHnz5rC1tUXr1q2xceNGg94LmZg8RoqJFFkQea29LMC4NeCJqAYzOpEKDQ3Fn3/+CX9/fwCAo6Mjdu3ahdWrV2PevHn44YcfcOTIEXl/RWVkZKBt27b49NNPS9y/YMECfPTRR1iyZAl2794NBwcHREREIDv73hwuQ4cOxbFjxxAdHY3169dj27ZteOGFF+T9aWlp6NmzJ/z9/bF//34sXLgQUVFRWLp0qVxn586dGDJkCEaPHo2DBw+if//+6N+/P44ePWrQ+yETknukOI8UWRBVkcQ+n2OiiKyOsGAAxNq1a+XnWq1WeHt7i4ULF8plt2/fFhqNRqxatUoIIURiYqIAIPbu3SvX+fPPP4UkSeLSpUtCCCE+++wz4ebmJnJycuQ606ZNE82aNZOfDxw4UPTp00cvnuDgYPHiiy9WOP7U1FQBQKSmplb4NXRPenq6ACAAiPT0dCE+DBJilrNIT4zRLyeqZnpt8/ZNIWY56x6ZN4u3WyKqcQz5/q5Ra+0lJSUhOTkZ4eHhcpmLiwuCg4MRHx8PAIiPj4erqys6duwo1wkPD4eNjY08GD4+Ph7dunWDWq2W60RERODkyZO4deuWXKfoeQrrFJ6nJDk5OUhLS9N7kAkV/rWv4qU9siAKFSDd/VXKZWKIrE6FJ+ScM2eOUScw5RIxycnJAAAvLy+9ci8vL3lfcnIyPD099fYrlUq4u7vr1QkMDCx2jMJ9bm5uSE5OLvM8JZk/fz5mz55txDujCilcgoNLxJAlkSTdXFK56bpxUgpnc0dERNWowolUVFSUUSewprX2pk+fjsmTJ8vP09LS4OfnZ8aIajZ7e3tcvXpV3i78a9/e2U2/nKiaFWubSltdIpWXDXs3e7ZPIitS4UQqNja2KuOoEG9vbwBASkoKfHx85PKUlBQEBQXJdQp/iRXKz8/HzZs35dd7e3sjJSVFr07h8/LqFO4viUajgUbD3hJTkSQJHh4e9woKl+BQ2cHD2aOUVxFVvWJtU14mJqv4PiKq1SqcSHXv3r0q46iQwMBAeHt7IyYmRk6c0tLSsHv3bowbNw4AEBISgtu3b2P//v3o0KEDAGDLli3QarUIDg6W67zxxhvIy8uDSqWbTC86OhrNmjWDm5ubXCcmJgaTJk2Szx8dHY2QkJBqerekpyAPEAW6bY6RIktTOAUCx0gRWR2LG2yenp6OhIQEJCQkANANME9ISMD58+chSRImTZqEuXPn4vfff8eRI0cwfPhw+Pr6on///gCAFi1aoFevXnj++eexZ88e7NixAxMmTMDgwYPh6+sLAHj22WehVqsxevRoHDt2DD/99BM+/PBDvctyL730EjZt2oRFixbhxIkTiIqKwr59+zBhwoTq/kisVk5ODsaPH4/x48cjJyP1XnmBdK+cS3CQGei1zZwcvUk5i+0jotqtsrcIJiUliblz54qnn35a9OzZUzz99NNi7ty5IikpyajjxcbGyrcOF31ERkYKIXRTIMyYMUN4eXkJjUYjevToIU6ePKl3jBs3boghQ4YIR0dH4ezsLEaOHCnu3LmjV+fQoUPi4YcfFhqNRtSrV0+88847xWJZvXq1aNq0qVCr1aJVq1Ziw4YNBr0XTn9QOXq3kScnybeYp6el8fZyMqtiUxx8Ga5rn4m/c/oDolrAkO9vSQjjp+L98MMPMXXqVOTn5+P+w6hUKixYsAAvvfSSsYev8dLS0uDi4oLU1FQ4O/NOHkNlZGTA0dERAJB+8QQcvuwMKDTImJx0rzw9nes5UrXTa5vp6XD4eTCQtA146itkNHqM7ZOohjPk+9voS3vr16/Hyy+/DBcXF8ydOxc7d+5EUlIS4uPjMW/ePLi4uGDy5MnYsGGDsacguqdw6gMuD0OWSHlvsDkRWZcKDza/3/vvvw93d3ccOHAA9evXl8v9/f0RHByMoUOHol27dnj//ffRp08fkwRLVqzgbiLFgeZkiQrv2uNgcyKrY3SP1IEDBzBo0CC9JKooPz8/DBw4EPv37zc6OCJZfq7uJ9fZI0ukYo8UkbUyOpHKzc0t99q/o6MjcnNzjT0F0T15d7+gCi+hEFkSTn9AZLWMTqSaNm2KP/74A/n5+SXuz8/Px/r169G0aVOjgyOSFa6zxx4pskTskSKyWkYnUsOHD8fJkycRERFR7PLdvn370Lt3b5w8eRKRkZGVDpKsk52dHZKSkpCUlAQ7pVZXqLLTL7djDxVVv2JtUHlvHim2TyLrYvRg85deegnbtm3D77//js6dO8Pe3h6enp64evUqMjMzIYRAv379rHr6A6ocGxsbBAQE6J4c2af7qdTolxOZQbE2KA82z2L7JLIyRvdIKRQKrFu3DsuXL0doaCjUajXOnz8PtVqNsLAwrFixAmvXroWNjcVNnk41EcdIkSUr7JHK5xgpImtjdI9UoeHDh2P48OGmiIVIT25uLt544w0AwNv9G0INAEqNfvnbb0OtVpsvSLJKxdpgkR4ptk8i61Kpmc2pbJzZvHL0Zo/evBAO/7wFtB6IjF4fcOZoMqtiM5ufWgv8Nh5o0hMZ/ZezfRLVcIZ8f1e6R6qgoAAXL17E5cuXkZeXV2Kdbt26VfY0ZO0K79rjhJxkiYoMNici62J0IqXVajFv3jx8+OGHuHnzZpl1CwoKjD0NkU4el4ghCyZPf8AxUkTWxuhEavr06Vi4cCE8PT0xcuRI+Pj4QKmsdAcXUckKmEiRBeOEnERWy+jMZ8WKFWjWrBn27t0rjwcgqjLyEjFMpMgCyYPNM80bBxFVO6PnJkhPT0efPn2YRFH1KJwxmmOkyBJx+gMiq2V0ItWmTRtcvnzZlLEQlU5eIoaJFFmgItMfEJF1MfrS3htvvIFnnnkGBw4cQPv27U0ZExEA3TIcR48e1W0feltXqLTVL+cSHGQGxdpgzr0eKbZPIutidCLVp08fLF++HL1798YTTzyBtm3bljrXAifsJGPY2NigVatWuicH742R0isnMoNibVBlr/uZlwUbSWL7JLIiRidSOTk5+OOPP3D9+nV8/fXXAABJkvTqCCEgSRITKaq8wrEnHCNFlkhulwIoyAWUGrOGQ0TVx+hEavLkyVi5ciXatGmDp59+mtMfkMnl5uZi3rx5AIDXvTPvLhFjq1/++utcgoOqXbE2WGQNyNyMVMxb/Nm9fWyfRLWa0UvEeHp6wt/fH/Hx8UygSsElYipHbxmOxQ/C4XYi8NwvyPAJ4RIcZFbFloixtwfmuANCi4yxB+Ho0+jePrZPohrHkO9vo+/ay87ORlhYGJMoqh6Fl/aUHLxLFkiS7rVNziVFZFWMTqQ6dOiA06dPmzIWotJx+gOydCrObk5kjYxOpObNm4dNmzZh/fr1poyHqGQFHGxOFq6wR6qAiRSRNTH6ulx0dDRCQ0PRr18/PPLII6VOfyBJEmbMmFGpIInYI0UWjz1SRFbJ6EQqKipK3o6JiUFMTEyJ9ZhIkUnkZetaKxMpslSFs5vnc3ZzImtidCIVGxtryjiIyqbNAyAxkSLLJQ82zzFvHERUrYxOpLp3727KOIiKsbW1xZ49e4C8LNhu6qsrVNnCVnG3/G4douomt00UaYN3L+3ZKgrYPomsCOcuIIulUCjQqVMnIPMm8PfdWfOVtlDY3C0nMhO5bRZ1t0dKoc1l+ySyIkbftUdUbfLujjmxUQE2CvPGQlQaebA5x0gRWRP2SJHFys3NxYcffghk3MBLBQJqta1+OYCXXnqJS3BQtSuxDd7tkcrNuoMPFy7U30dEtZbRS8RQ+bhETOXoLcMx3QkOrh7A1DPFl+fgEhxUzUpsg3+8BOxfjozgV+H42Ez9fURUo1TLEjFE1U7F5WHIgik5/QGRNWIiRTWHUmPuCIhKVzhGKp8TchJZE6MTqW3btuH8+fNl1rlw4QK2bdtm7CmI9HHBYrJkKnvdTyZSRFbF6EQqLCwMy5cvL7POt99+i7CwMGNPUaqAgABIklTsMX78eABAaGhosX1jx47VO8b58+fRp08f2Nvbw9PTE1OmTEF+fr5enbi4OLRv3x4ajQaNGzcu9/1SFWOPFFkyJZeIIbJGRt+1V5Ex6lqtFpIkGXuKUu3duxcFBQXy86NHj+LRRx/FM888I5c9//zzmDNnjvzc3t5e3i4oKECfPn3g7e2NnTt34sqVKxg+fDhUKhXmzZsHAEhKSkKfPn0wduxYrFy5EjExMRgzZgx8fHwQERFh8vdEFcAxUmTJuEQMkVWq0ukP/v33X7i4uJj8uB4eHnrP33nnHTRq1EhvtnV7e3t4e3uX+Pq///4biYmJ2Lx5M7y8vBAUFIS33noL06ZNQ1RUFNRqNZYsWYLAwEAsWrQIANCiRQts374dixcvZiJlLuyRIkvGHikiq2RQIjVq1Ci95+vWrcPZs2eL1SsoKJDHR/Xu3btSAZYnNzcX33//PSZPnqzX+7Vy5Up8//338Pb2xuOPP44ZM2bIvVLx8fFo3bo1vLy85PoREREYN24cjh07hnbt2iE+Ph7h4eF654qIiMCkSZNKjSUnJwc5OffW2UpLSzPRu7ROtra2ujUdT2yA7eUv5C8quRxcgoPMo8Q2eLdHylbKZfsksiIGJVJFxwhJkoSEhAQkJCSUWFeSJHTq1AmLFy+uTHzlWrduHW7fvo0RI0bIZc8++yz8/f3h6+uLw4cPY9q0aTh58iR+/fVXAEBycrJeEgVAfp6cnFxmnbS0NGRlZcHOrvhlpvnz52P27NmmfHtWTaFQIDQ0FNAkAsn3FiyWy4nMpMQ2WNg+tTlsn0RWxKBEKikpCYBufFTDhg0xadIkvPTSS8XqKRQKuLm5VctEdF9//TV69+4NX19fueyFF16Qt1u3bg0fHx/06NEDZ86cQaNGjaoslunTp2Py5Mny87S0NPj5+VXZ+axG4ZgTFf+6Jwum4qU9ImtkUCLl7+8vby9btgxBQUF6ZdXt3Llz2Lx5s9zTVJrg4GAAwOnTp9GoUSN4e3vLq7MXSklJAQB5XJW3t7dcVrSOs7Nzib1RAKDRaKDRcByPqeTl5WHp0qXAqa14wVlAdfcvfrkcuqRZpVKZM0yyQiW2wbvTc+TlZGLpp5/q7yOiWsvo6Q8iIyPRtm1b+fnNmzdx4cIFkwRVUcuWLYOnpyf69OlTZr3Cy48+Pj4AgJCQEBw5cgRXr16V60RHR8PZ2RktW7aU68TExOgdJzo6GiEhISZ8B1SW3NxcTJgwARM++gO5BZAvncjlEyYgNzfXvEGSVSqxDaoK19rLYvsksiKVmtk8NTUVL730Ery8vODh4YHAwEB53+7du/HYY49h//79lQ6yJFqtFsuWLUNkZCSUynsda2fOnMFbb72F/fv34+zZs/j9998xfPhwdOvWDW3atAEA9OzZEy1btsSwYcNw6NAh/PXXX3jzzTcxfvx4uUdp7Nix+O+//zB16lScOHECn332GVavXo2XX365St4PVYCSl/bIghVOf1DA6Q+IrInRidTNmzcRHByMjz/+GH5+fmjRooXe3FJt2rTBjh07sHLlSpMEer/Nmzfj/Pnzxe4kVKvV2Lx5M3r27InmzZvjlVdewYABA/DHH3/IdRQKBdavXw+FQoGQkBA899xzGD58uN68U4GBgdiwYQOio6PRtm1bLFq0CF999RWnPjAnJlJkyTj9AZFVMnoeqaioKJw6dQo//vgjBg4ciNmzZ+slInZ2dujevTu2bNlikkDv17NnzxInBfXz88PWrVvLfb2/vz82btxYZp3Q0FAcPHjQ6BjJxDjYnCxZYY9UHnukiKyJ0T1Sv//+O/r27YuBAweWWicgIAAXL1409hRE+tgjRZZMbp/lr/pARLWH0YnUlStX5IHZpdFoNMjIyDD2FET6mEiRJeMSRkRWyehEqk6dOuXepXfixAn5TjmiSmMiRZZMoQZg+rVFiciyGT1Gqlu3bvjtt99w8eJF1K9fv9j+xMREbNq0CSNHjqxUgGS9NBoN1q9fD/z9JjTKM/IYKbn87jZRdSuxDUoSoLKHRpuO9au+Apy82T6JrIDRidQbb7yB3377DV26dMG8efNw/fp1AMDx48exc+dOvPHGG9BoNJgyZYrJgiXrolQqdXOEXXwXuHJviRi5nMhMSm2DKlso8zLQ55GHAM8W1R8YEVU7oxOp1q1b46effsKwYcMwfPhwALqlYx544AEIIeDk5ITVq1ejSZMmJguWrFTh7eS8tEeWTmUP4AaQl2nuSIiomhidSAHAE088gaSkJKxYsQK7d+/GzZs34ezsjODgYIwcORJ169Y1VZxkhfLy8nTzkO28gqGN9JeIKZyfbOjQoVyCg6pdqW1QZYe8AoGVq34B6h5h+ySyApIoaTImMom0tDS4uLggNTUVzs7O5g6nxsnIyICjoyMAIH26Exwmbgd82uiXp6dXy+LYREWV2ga/6IaMcwlwnH+n+D4iqjEM+f6u1BIxRNWKt5eTpVOyjRJZmwpf2tu2bZvRJ+nWrZvRryWSKXkHFFk4JvtEVqfCiVRoaCgkybg5UgoKCox6HZEe/rVPlk5lb+4IiKiaVTiRmjlzptGJFJFJsEeKLB3XgySyOhVOpKKioqowDKIK4GUTsnRso0RWh4PNqWaQbACbSs3WQVT1eGmPyOrwm4kslkajwepvPgE2ToFGY6dbgqOwfPVqeZuoupXaBlV20CiB1a8/CQQNYfsksgKVSqQ2b96M999/H3v37sXt27eh1WqL1ZEkCfn5+ZU5DVkppVKJZ/r0AM6pAI2tfvkzz5gxMrJ2pbZBpR2UNhKe6RwA9GUbJbIGRidSv/zyCwYNGgStVgt/f380b94cSiU7uMjE8rN0P7k8DNUEhWOk8rLMGwcRVRujM585c+bAzs4Ov/32Gx555BFTxkQEAMjPz8fa3zYCx/Lw5EMaubHm5+dj7dq1AIAnn3ySCTxVu1LboMoe+VqBtdsSgfw1bJ9EVsDo/+EnT57EsGHDmERRlcnJycHA/70JAEh/SC031pycHAwcOFBXnp7OLyqqdqW2QZUdcvKBgR9sAz7YxvZJZAWMvmuvTp06sLfnHSpUTXhpj2oCTn9AZHWMTqSefvppbN68mQPJqXpwokOqCZhIEVkdoxOpefPmwdXVFYMGDcL58+dNGRNRceyRopqAiRSR1TH64n3r1q2Rl5eHXbt2Yd26dXB1dYWLi0uxepIk4cyZM5UKkojr7FGNwAk5iayO0YmUVquFUqlEgwYN5DIhRLF6JZURGUypNncEROVjzymR1TE6kTp79qwJwyAqB3ukqCZgjxSR1eF9uWSx1Go1lk15Cji1EWo7e/3yZcvkbaLqVmobVNlBrQCWPekEPPER2yeRFWAiRRZLpVJhRHhLwH4zYOugXz5ihPkCI6t3fxsUQiBfK6BS2UOlkDCiDYDhwwEbrgtPVNtVOJGaM2cOJEnC+PHj4e7ujjlz5lTodZIkYcaMGUYHSFYuP1v3k3dDkYUSQmD8Dwew5cRVrIpsjXaFO/KzALVDWS8lolpAEhUcDW5jYwNJknD8+HE0bdoUNhX8S0uSJBQUFFQqyJoqLS0NLi4uSE1NhbOzs7nDqXHy8/Px1+z+wJktiBgzC8pHpt0r/+svAEBERARnjqZqV7QN1nvgQfT/fBcA4PHWXlh88hH8dTofGPA1Ivo9w/ZJVAMZ8v1d4f/hsbGxACDfpVf4nKiq5OTkoO/cDQCA9NFKvSVi+vbtqyvnEhxkBkXb4Cd/HZHL955LRQ5s0XfVNWDVs0hPf4Ltk6iWq/D/8O7du5f5nKhKcWZzslCnUtLl7eS0bAh7jRmjIaLqxpGQVDNwfh6yUKevpes9z1ewrRJZEyZSVDMwkSILdfZaBgDAVqX7dZorsa0SWRMmUlQzcEJOslB3cnQLt7fzcwMA5IJzRxFZEyZSVDNwiRiyYC52KjRw100am8NEisiq1LhEKioqCpIk6T2aN28u78/Ozsb48eNRp04dODo6YsCAAUhJSdE7xvnz59GnTx/Y29vD09MTU6ZMQX5+vl6duLg4tG/fHhqNBo0bN8by5cur4+1RaTiPFFkwHxdbeDjpBplnMZEisio18r7cVq1aYfPmzfLzorcXv/zyy9iwYQPWrFkDFxcXTJgwAU899RR27NgBACgoKECfPn3g7e2NnTt34sqVKxg+fDhUKhXmzZsHAEhKSkKfPn0wduxYrFy5EjExMRgzZgx8fHwQERFRvW/WiqnVanzypBeQnQq1naN++SefyNtE1a2wDe4/dxMxQqmXSOVIanzS2xZoM5Dtk8gK1MhESqlUwtvbu1h5amoqvv76a/zwww945JFHAADLli1DixYtsGvXLjz44IP4+++/kZiYiM2bN8PLywtBQUF46623MG3aNERFRUGtVmPJkiUIDAzEokWLAAAtWrTA9u3bsXjxYuMSqcOrAUd7ANK9MqnItsHlKKXcVMevznKUUi5BBWB8mywAasD+3oRoKpUK48ePB5G5FLbBxdGnsCXmX3i72MHdQZc05Ui2GN9ZDfTuAqhUZo6UKk1bAGjzdT+F9r6HKKHM0DoCQAWPA9z7CaG/ff8+kz6HgfUreDxLlp5V4aoGJ1Jvv/02MjIyMHv2bKhK+SWRm5uLqKgoODs747XXXjP0FOX6999/4evrC1tbW4SEhGD+/Plo0KAB9u/fj7y8PISHh8t1mzdvjgYNGiA+Ph4PPvgg4uPj0bp1a3h5ecl1IiIiMG7cOBw7dgzt2rVDfHy83jEK60yaNKnMuHJycpCTkyM/T0tL021smAxoSkmEqGJ41x5ZoORU3RJGPi62cLHT/T7MKLj7azUv01xh1VwFeUBuhu6zy8u6u50F5N39mZup25efAxTk3P2Ze9/PHCA/t4SfuXcToiKPgrwiiVLevYSpIO9eHdSgL38ynZyK/7sblEht3rwZM2fOxIIFC0pNogBdt3fdunUxZcoUBAcHIywszJDTlCk4OBjLly9Hs2bNcOXKFcyePRtdu3bF0aNHkZycDLVaDVdXV73XeHl5ITk5GQCQnJysl0QV7i/cV1adtLQ0ZGVlwc6u5PE68+fPx+zZs4vvaBgG2BX5qPWycmGicpRSbqrjl1ReFce+t1lwJwX/JF4GAHS1UUNRWF5QgH/++UdX3rUrFAoFiKpTYRs8uOc4BOrBu0gidStPibiz+cC+RHQNKbCu9pmbCWTeuPu4DmTeArJvAzlpQHZaGT/v6JIlbX65p7BMEiDZlPEwxX4Jcq+93MMv6W/fv69Sz2FgfSOPb6ky8wCsrVBVgxKpb7/9Fm5ubpgwYUK5dcePH4/58+dj2bJlJk2kevfuLW+3adMGwcHB8Pf3x+rVq0tNcKrL9OnTMXnyZPl5Wloa/Pz8gEHfAVxrz2DZf72NsGlvAgDS3xMoXP41OztbblPp6elwcODCsFS9irZBv5d/hoeTRk6kbubYYNCKTGDFl0h/fnHNb5/5OUB6CnAnGbhzRf9nesrdpOkmkHFdt1CzKUgK3YLPKnvdjSZqB91Plb3uodToHgr13Z8a3Z29ej+L7lcDChVgowIUSsCm8KG6+1Nxd7+ylIdC97PMJIdqlbQ04PkqSKR27tyJ8PBwaDTlL4Gg0WgQHh4uD/KuKq6urmjatClOnz6NRx99FLm5ubh9+7Zer1RKSoo8psrb2xt79uzRO0bhXX1F69x/p19KSgqcnZ3LTNY0Gk2FPhuqoLzse9ucR4osWF2He4lUWkENG3qakw7cPl/kce7eduoFXaJkCIUasK8D2NcF7N0AWxdA4wLYOgMaZ91zefvuT40zoLYvkihxkD7VHAb9j798+TIaNmxY4fqBgYH47bffDA7KEOnp6Thz5gyGDRuGDh06QKVSISYmBgMGDAAAnDx5EufPn0dISAgAICQkBG+//TauXr0KT09PAEB0dDScnZ3RsmVLuc7GjRv1zhMdHS0fg6pJQdFEigkqWS53RzWc7yZSucICk4C8bOBWEnDjNHDjjP7PjKvlv16hBpy8AScf/Z+OXncTpjqAvTvgUBdQO7KHhqyKQYmUjY0N8vLyKlw/Ly8PNjamnarq1VdfxeOPPw5/f39cvnwZs2bNgkKhwJAhQ+Di4oLRo0dj8uTJcHd3h7OzMyZOnIiQkBA8+OCDAICePXuiZcuWGDZsGBYsWIDk5GS8+eabGD9+vNybNHbsWHzyySeYOnUqRo0ahS1btmD16tXYsGGDSd8LlSP/3sB9/mImS1bHQQ2FjQQnjRJZmWZMpArydQlTyjHgauLdn8eBm/+hzEHTtq6Aa4O7D/8i236Acz3Azo3/B4lKYVAi5evri6NHj1a4/tGjR1GvXj2DgyrLxYsXMWTIENy4cQMeHh54+OGHsWvXLnh4eAAAFi9eDBsbGwwYMAA5OTmIiIjAZ599Jr9eoVBg/fr1GDduHEJCQuDg4IDIyEjMmTNHrhMYGIgNGzbg5Zdfxocffoj69evjq6++4hxS1a3opT0iC+WgVsBWpRtQ7mynQlZmNfSeCqEbp5SSCFy9myylHAOundTdpVYSjTNQpxFQpzHgfvdnnUaAe0PAzrXqYyaqpQxKpLp27Yrvv/8eZ8+eRUBAQJl1z549iy1btmD48OGVia+YH3/8scz9tra2+PTTT/Hpp5+WWsff37/Ypbv7hYaG4uDBg0bFSCZiqoGrRFXIzfHeHcwudipkCxPOHSUEkHYJuP6v7jLctRN3k6dE3d1wJVHZAx7NAa+WgGeRh6Mne5WIqoBBidT48eOxbNkyPP3009i0aRPq1q1bYr0bN27gmWeeQX5+PsaNG2eSQMkK5ZXylzWRBXG3v9cD5WirRLYxS8TkZugSpcKE6fqpu9tndNMClERS6HqVPFsAXq10yZJXS8A1ADDxkAoiKp1BiVT79u0xadIkfPDBB2jZsiXGjh2LsLAw1K9fHwBw6dIlxMTEYOnSpbh27RomT56M9u3bV0ngVPupkIMF4bovqaLzlqlUKixYsKBYOVF1UalUGDJhOv48moy6zvZyuYNagVyFna7dOvvqt0+tVte7dONf4PrdZKlwO+1i6SezUQJugUDdJrqHZytd8lS3KaDiRLVE5mbwfbqLFi2Cra0tFi5ciLfffhtvv/223n4hBBQKBaZPn465c+eaLFCyPmrkYUqXu3/tF1mzTK1WY8qUKWaKikjXBrs8NQo7HU7C0/XePFEOGiWu2tjfbbc3gP1fAclHgJQjd3uXypjt3L4OUKcJULexLkmqczdxcgvQzXFERBbJ4ERKkiTMmzcPo0ePxrJly7Bz5055RnBvb2906dIFI0aMQKNGjUweLFmZPI6RIst1PV136dndocilPY0S54te2vtruv6LbJS6wd0lJUz27tURNhGZmNEzxzVq1Ig9TlSlCnKzcOBSAQCgfcG9pTYKCgpw4MABXXn79ta1BAdZhIKCAhw/fBA5V67BzbapXG6vVuJkgQ/+vu4NN0U22ncOgaJeEOD1gG4AuJs/e5eIapkaNgUvWZPszAx0/ko30Db9g2x5qY3s7Gx07txZV84lYsgMsrOz8dObwwAATi/0kcsdNQpk5dsg4tNTAID09ES2T6JazqBbO0aNGoXff/9dr+zUqVPFygp98cUXHGxOxrNhnk+Wz1F9r506aNhmiayNQYnU8uXLkZCQoFe2atUqPPnkkyXWT05OxqFDh4wOjqxc/9LnAiOyFEWnZrJnIkVkdTjZCFkun7bmjoCoXEUTKUcNx+sRWRsmUkRElVA0kXJQs0eKyNowkSIiqgQJ9zIpjpEisj5MpIiIKqNojxQTKSKrw//1ZLFUKhVmzZolb5dXTlRdVCoVGvcagWt3cqBS3muDjhoFJIUCXqHPYWz3RmyfRFbA4ERq+/bt8jpnhc8BYOHChRBCFKtLZCy1Wo2oqKgKlxNVF7VajSa9RiHvShpURZYvslcrISlUcHpoCKKiHjNjhERUXQxOpDZv3ozNmzcXK582bVqJ9aWiIzGJiGqZor/jCi/t5RUI5OQXQKPkXXxEtZ1BidSyZcuqKg6iYrRaLY4fPw4AaNGiBWxsbMosJ6ouWq0WaVeSkHstHULbUS63UykghBZ51y/g4KEj6NyuDdsnUS0nifuvx5HJpKWlwcXFBampqXB2djZ3ODVORkYGHB0dAegvBVNaOVF1KdoG/0pIQs+2AQAAIQQaTlmLs4sGAGD7JKqpDPn+5p9KRESVUHT6A0mSYKfi5Twia2L0XXtCCMTGxiI+Ph5XrlwBAPj4+CAkJARhYWEcG0VEVuH+X3UaFX/3EVkToxKpP//8ExMnTkRSUhIAyHfrFSZPDRs2xMcff4xevXqZKEwiIst0f9pkyx4pIqticCL1zTff4IUXXoBWq0VwcDB69OgBPz8/AMCFCxcQExOD3bt3o2/fvvjqq68wYsQIU8dMRGSx7HinHpFVMSiROn36NMaNGwd3d3f88MMPCA8PL1Zn7ty5iImJwbPPPouxY8eia9euaNSokckCJuv09oZEZAsVXnusORw4so8syX1dUrZqJlJE1sSgr6TFixdDq9Xijz/+KDGJKtSjRw/88ccfyM/Px+LFiysdJNH3u87j14OXMOnHBHOHQqRHui+T4qU9IutiUI/U5s2b0aNHDwQHB5dbt3PnzggPD0d0dLTRwZF1U6lUePXVV7Fqz3lICt2X084zN3DqaiZeffVVuQ5RdVOpVGjQfRBuZ+UVa4N2tho4d34Koc082D6JrIBBidTFixfx5JNPVrh+UFAQ/vnnH4ODIgJ0y3C8OuMtrJkXAxsJ6N7UA7Enr+H3o1excOFCc4dHVkytVqPR42Px37UMqIssEQMAjnYauIWNwjP9Hyi2j4hqH4Mu7SkUCuTn51e4fn5+PhQKdnOT8RIu3AYANPVywuDODQAAcSevmTEiorvuTmV8/1QvhfNIZecVVHdERGQGBiVSgYGBiI+Pr3D9+Ph4BAQEGBoTEQDdMhz7jpxEfmoKmno64KFGdaC0kfDftTvYmXAcZ8+ehVarNXeYZIW0Wi0ybyYjPzUFQui3QVulhPzUFFy6cI7tk8gKGJRI9erVC7t27cL69evLrbthwwbEx8ejd+/eRgdH1i0rKwtvDgnFpSWj4e1oAydbFdo3cIPIy0WXdi0RGBiIrKwsc4dJVigrKwu75w/BpSWjkZOt3wYVIg+XloxG1NBH2D6JrIBBidTkyZPh4OCAwYMHY9myZShpmT4hBJYvX47BgwfD0dERL7/8ssmCJetV380eANAp0M3MkRDpu39CTi4RQ2RdDBps7uXlhR9//BEDBgzAmDFjMGvWLISGhupNyBkXF4dLly5BpVLhl19+gbe3d5UETtalnqstACDIj4kUWZZiS8RwQk4iq2LwzOaPPfYYtm/fjpdeegk7d+7E999/X6zOQw89hA8//BAdOnQwSZBEHo6FiZSreQMhKqbkweZEZB2MWmuvQ4cO2L59O06fPo2dO3ciOTkZAODt7Y2HHnoIjRs3NmmQZJ3yCu4N1HVz0N1G7uGkga+rLS6YKyii+9zfI8WZzYmsi1GJVKHGjRszaaIqcyszV952sbs3sWGbeq7YbY6AiErARYuJrFulEqn75efn48iRIwCABx54gLP6UqUUTaQUNve+rlrXdzZHOEQlKjaPFMdIEVkVgxKppKQkxMbG4uGHH0bTpk319q1fvx6jR4/G9evXAQBubm747LPPMHDgQNNFS1YlLVsLx3Z94GKnglJ5r6kGNagDx3Z94KBW6JUTVRelUgnvB59Aek4BlAr9Nmhvp4Jjuz6o66hm+ySyAgb9L//yyy/x7rvv4r///tMrP336NAYOHIjs7Gz4+/vDwcEBx48fx9ChQ9GkSRO0a9fOZAHPnz8fv/76K06cOAE7Ozs89NBDePfdd9GsWTO5TmhoKLZu3ar3uhdffBFLliyRn58/fx7jxo1DbGwsHB0dERkZifnz5+v94ouLi8PkyZNx7Ngx+Pn54c0338SIESMMjnn76etwcMwx/M1auY2J11Gn5zi0b+AKjUYjl7dv6AmPiHHQCiA1R8BTU8ZBiKqARqNB4BP/h8up2VBr9Bugi4M96vQch6ZeTtBoNCjQCqTn5CM9Jx85eQXI1wrkFwjka7V624Wzycg/cW96mXtlKFJWZH+xDSrV/ddiCQA/lvtlpN+pcF2DEqnt27cjKCgI/v7+euUffvghsrOzMX78eHz88ccAgHXr1uGpp57CJ598gq+//tqQ05Rp69atGD9+PDp16oT8/Hy8/vrr6NmzJxITE+Hg4CDXe/755zFnzhz5ub29vbxdUFCAPn36wNvbGzt37sSVK1cwfPhwqFQqzJs3D4Cu961Pnz4YO3YsVq5ciZiYGIwZMwY+Pj6IiIgwKOax3+2Hjca+/IpUogPnb+s9d9Ao0cTTCSdT7uDb+HN4tKUX6rnZoY6DuthlFqKqUpizlDbY/GTKHTww6y+k51R8WS0isgzanMwK1zX40l7fvn2LlW/atAlqtVpOQgCgf//+6Nq1q8kXLd60aZPe8+XLl8PT0xP79+9Ht27d5HJ7e/tS57D6+++/kZiYiM2bN8PLywtBQUF46623MG3aNERFRUGtVmPJkiUIDAzEokWLAAAtWrTA9u3bsXjxYoMTqeY+TlDZOpRfkfQcvZQKbVYamnk7QQghJ0lCCDR3FUhMSsXHW/7FJ7GnAQBqhQ2c7ZRwslXByVYJJ1sl7FRKqBQSVAobKBUS1Hd/qhQ2UNpIsJEkQAIkSJAkwKbItgTd+Bfp/v1347C5u89SWFAoJmPKDpYS5g+uxLEEbt+4joLcgmJB+rrYQspOQ75W4I5wltuLWmEDjUrX7pSKwp8SlDY2UNhIUBRpTCW1q8LjSHplxbelWtkSah/B7kOLlpulqPDd4QYlUteuXUPdunX1ym7evIkzZ86ga9eucHJy0tvXrl077Nu3z5BTGCw1NRUA4O7urle+cuVKfP/99/D29sbjjz+OGTNmyL1S8fHxaN26Nby8vOT6ERERGDduHI4dO4Z27dohPj4e4eHheseMiIjApEmTDI7x57EPwdmZA6QNdeN2Guq6ueAigMyX0uUex8zMTHw0KhQA8OQHMbiUocXVOznILdDienourqfnln5QIhPQ5mbjwuLBuicvX9Hb56TU4uyHzwIADiclw7euKxxtlZyok6gGSUtLg8u0itU1KJFSqVS4ceOGXtn+/fsBAB07dixWv+iltqqg1WoxadIkdOnSBQ888IBc/uyzz8Lf3x++vr44fPgwpk2bhpMnT+LXX38FACQnJ+slUQDk54VzYpVWJy0tDVlZWbCzsysWT05ODnJy7o2FSktLM80btVIVuY38uzHBcHBwQG6+FtfSc5CWlYc72fm4k637mZVXgPwCLXILBPILtMgr0CKvQCCvQIsCre5vQu3dn0Lo/koUQtfjUFimLbINCGi1unraKv6D0pQ9KMWOXZV/DQtUqnvM2B6VyvQOGvrS3OwsfHR3u6GHY6n1Gno4wsGBg/iIajODEqmmTZsiJiZGr+zvv/+GJEl46KGHitW/fPkyfHx8KhdhGcaPH4+jR49i+/bteuUvvPCCvN26dWv4+PigR48eOHPmDBo1alRl8cyfPx+zZ8+usuNT6dRKG9RztUM91+IJLpGpZWRk4KPhum2OyyOybgYtWjxgwAD8+++/GDt2LA4fPoyff/4ZS5cuhaOjI3r16lWs/o4dO6psws4JEyZg/fr1iI2NRf369cusGxwcDEB3dyGgm4E9JSVFr07h88JxVaXVcXZ2LrE3CgCmT5+O1NRU+XHhAuffJiIiqs0MSqQmTZqE1q1bY+nSpWjXrh0GDRqEO3fuYPbs2cUu4+3btw+nT5/Go48+atKAhRCYMGEC1q5diy1btiAwMLDc1yQkJACA3DsWEhKCI0eO4OrVq3Kd6OhoODs7o2XLlnKd+3vfoqOjERISUup5NBoNnJ2d9R5ERERUexl0ac/e3h47duzA4sWLsWvXLtSpUwfPPPMMHn/88WJ1Dxw4gH79+uGJJ54wWbCA7nLeDz/8gN9++w1OTk7ymCYXFxfY2dnhzJkz+OGHH/DYY4+hTp06OHz4MF5++WV069YNbdq0AQD07NkTLVu2xLBhw7BgwQIkJyfjzTffxPjx4+X5isaOHYtPPvkEU6dOxahRo7BlyxasXr0aGzZsMOn7ISIiohpM1DDQDWUt9li2bJkQQojz58+Lbt26CXd3d6HRaETjxo3FlClTRGpqqt5xzp49K3r37i3s7OxE3bp1xSuvvCLy8vL06sTGxoqgoCChVqtFw4YN5XNUVGpqqgBQ7NxUMenp6fK/b3p6ernlRNWlrDbI9klU8xny/V3j1i8Q5dzK5OfnV2xW85L4+/tj48aNZdYJDQ3FwYMHDYqPTEepVCIyMlLeLq+cqLqU1QbZPomsiyTKy0zIaGlpaXBxcUFqairHSxEREdUQhnx/GzTYnIiIiIjuYb8zWSwhBDIzdesd2dvb6y0RU1I5UXUpqw2yfRJZF/ZIkcXKzMyEo6MjHB0d5S+mssqJqktZbZDtk8i6MJEiIiIiMhITKSIiIiIjMZEiIiIiMhITKSIiIiIjMZEiIiIiMhITKSIiIiIjcR4pslgKhQJPP/20vF1eOVF1KasNsn0SWRcuEVOFuEQMERFRzcMlYoiIiIiqARMpIiIiIiMxkSKLlZGRAUmSIEkSMjIyyi0nqi5ltUG2TyLrwkSKiIiIyEhMpIiIiIiMxESKiIiIyEhMpIiIiIiMxESKiIiIyEhMpIiIiIiMxCViyGIpFAo89thj8nZ55UTVpaw2yPZJZF24REwV4hIxRERENQ+XiCEiIiKqBkykiIiIiIzERIosVkZGBhwcHODg4FBsiZiSyomqS1ltkO2TyLpwsDlZtMzMTIPKiapLWW2Q7ZPIerBHioiIiMhITKSIiIiIjMREioiIiMhITKSIiIiIjMREioiIiMhIvGuPLJaNjQ26d+8ub5dXTlRdymqDbJ9E1oVLxFQhLhFDRERU83CJGCIiIqJqwESqAj799FMEBATA1tYWwcHB2LNnj7lDIiIiIgvARKocP/30EyZPnoxZs2bhwIEDaNu2LSIiInD16lVzh1brZWRkwMPDAx4eHsWWiCmpnKi6lNUG2T6JrAsTqXK8//77eP755zFy5Ei0bNkSS5Ysgb29Pb755htzh2YVrl+/juvXr1e4nKi6lNUG2T6JrAcTqTLk5uZi//79CA8Pl8tsbGwQHh6O+Ph4M0ZGREREloDTH5Th+vXrKCgogJeXl165l5cXTpw4Uax+Tk4OcnJy5OepqakAdKP/yXBFL4ukpaWhoKCgzHKi6lJWG2T7JKr5Cr+3KzKxARMpE5o/fz5mz55drNzPz88M0dQuvr6+BpUTVZey2iDbJ1HNdufOHbi4uJRZh4lUGerWrQuFQoGUlBS98pSUFHh7exerP336dEyePFl+fvv2bfj7++P8+fPl/kNQydLS0uDn54cLFy5wLi4j8POrHH5+lcfPsHL4+VWeMZ+hEAJ37typ0B9DTKTKoFar0aFDB8TExKB///4AAK1Wi5iYGEyYMKFYfY1GA41GU6zcxcWF/wEqydnZmZ9hJfDzqxx+fpXHz7By+PlVnqGfYUU7QJhIlWPy5MmIjIxEx44d0blzZ3zwwQfIyMjAyJEjzR0aERERmRkTqXIMGjQI165dw8yZM5GcnIygoCBs2rSp2AB0IiIisj5MpCpgwoQJJV7KK49Go8GsWbNKvNxHFcPPsHL4+VUOP7/K42dYOfz8Kq+qP0MuWkxERERkJE7ISURERGQkJlJERERERmIiRURERGQkJlJERERERmIiVYU+/fRTBAQEwNbWFsHBwdizZ4+5Q6oxtm3bhscffxy+vr6QJAnr1q0zd0g1yvz589GpUyc4OTnB09MT/fv3x8mTJ80dVo3x+eefo02bNvIEfiEhIfjzzz/NHVaN9c4770CSJEyaNMncodQYUVFRkCRJ79G8eXNzh1WjXLp0Cc899xzq1KkDOzs7tG7dGvv27TP5eZhIVZGffvoJkydPxqxZs3DgwAG0bdsWERERuHr1qrlDqxEyMjLQtm1bfPrpp+YOpUbaunUrxo8fj127diE6Ohp5eXno2bOn3oK6VLr69evjnXfewf79+7Fv3z488sgj6NevH44dO2bu0GqcvXv34osvvkCbNm3MHUqN06pVK1y5ckV+bN++3dwh1Ri3bt1Cly5doFKp8OeffyIxMRGLFi2Cm5ubyc/F6Q+qSHBwMDp16oRPPvkEgG5pGT8/P0ycOBGvvfaamaOrWSRJwtq1a+Vleshw165dg6enJ7Zu3Ypu3bqZO5wayd3dHQsXLsTo0aPNHUqNkZ6ejvbt2+Ozzz7D3LlzERQUhA8++MDcYdUIUVFRWLduHRISEswdSo302muvYceOHfjnn3+q/FzskaoCubm52L9/P8LDw+UyGxsbhIeHIz4+3oyRkbVKTU0FoEsGyDAFBQX48ccfkZGRgZCQEHOHU6OMHz8effr00ftdSBX377//wtfXFw0bNsTQoUNx/vx5c4dUY/z+++/o2LEjnnnmGXh6eqJdu3b48ssvq+RcTKSqwPXr11FQUFBsGRkvLy8kJyebKSqyVlqtFpMmTUKXLl3wwAMPmDucGuPIkSNwdHSERqPB2LFjsXbtWrRs2dLcYdUYP/74Iw4cOID58+ebO5QaKTg4GMuXL8emTZvw+eefIykpCV27dsWdO3fMHVqN8N9//+Hzzz9HkyZN8Ndff2HcuHH4v//7P6xYscLk5+ISMUS13Pjx43H06FGOrzBQs2bNkJCQgNTUVPz888+IjIzE1q1bmUxVwIULF/DSSy8hOjoatra25g6nRurdu7e83aZNGwQHB8Pf3x+rV6/m5eUK0Gq16NixI+bNmwcAaNeuHY4ePYolS5YgMjLSpOdij1QVqFu3LhQKBVJSUvTKU1JS4O3tbaaoyBpNmDAB69evR2xsLOrXr2/ucGoUtVqNxo0bo0OHDpg/fz7atm2LDz/80Nxh1Qj79+/H1atX0b59eyiVSiiVSmzduhUfffQRlEolCgoKzB1ijePq6oqmTZvi9OnT5g6lRvDx8Sn2R0+LFi2q5PIoE6kqoFar0aFDB8TExMhlWq0WMTExHGNB1UIIgQkTJmDt2rXYsmULAgMDzR1SjafVapGTk2PuMGqEHj164MiRI0hISJAfHTt2xNChQ5GQkACFQmHuEGuc9PR0nDlzBj4+PuYOpUbo0qVLsSlfTp06BX9/f5Ofi5f2qsjkyZMRGRmJjh07onPnzvjggw+QkZGBkSNHmju0GiE9PV3vL6+kpCQkJCTA3d0dDRo0MGNkNcP48ePxww8/4LfffoOTk5M8Ns/FxQV2dnZmjs7yTZ8+Hb1790aDBg1w584d/PDDD4iLi8Nff/1l7tBqBCcnp2Lj8RwcHFCnTh2O06ugV199FY8//jj8/f1x+fJlzJo1CwqFAkOGDDF3aDXCyy+/jIceegjz5s3DwIEDsWfPHixduhRLly41/ckEVZmPP/5YNGjQQKjVatG5c2exa9cuc4dUY8TGxgoAxR6RkZHmDq1GKOmzAyCWLVtm7tBqhFGjRgl/f3+hVquFh4eH6NGjh/j777/NHVaN1r17d/HSSy+ZO4waY9CgQcLHx0eo1WpRr149MWjQIHH69Glzh1Wj/PHHH+KBBx4QGo1GNG/eXCxdurRKzsN5pIiIiIiMxDFSREREREZiIkVERERkJCZSREREREZiIkVERERkJCZSREREREZiIkVERERkJCZSREREREZiIkVERERkJCZSRFRjhYaGQpIkc4dRYUIIdOjQAT179tQrN/X72Lx5MyRJwsaNG012TCIqGdfaIyKLYGgiURMXZfj2229x4MABxMfHV+l5wsPD8fDDD2Pq1KmIiIjgIsFEVYiJFBFZhFmzZhUr++CDD5CamlriPkCXmGRmZlZ1aCah1WoRFRWFrl274sEHH6zy802dOhVPPPEEfvzxRwwdOrTKz0dkrbjWHhFZrICAAJw7d65G9j7db8OGDejbty++/PJLjBkzRm9faGgotm7datL3mZeXB19fXzRv3hz//POPyY5LRPo4RoqIaqySxhYtX74ckiRh+fLl+OOPPxAcHAx7e3vUq1cPM2bMgFarBQCsWLECbdu2hZ2dHRo0aICFCxeWeA4hBL755ht06dIFzs7OsLe3R8eOHfHNN98YFOuyZcsgSRIGDBhQap28vDxERUUhICAAGo0GTZs2xWeffVasXlRUFCRJQlxcHJYvX4727dvD3t4eoaGhch2VSoX+/ftj+/btOH36tEGxElHF8dIeEdVKa9euxd9//43+/fujS5cu2LBhA+bOnQshBFxcXDB37lz069cPoaGh+OWXXzB16lR4eXlh+PDh8jGEEBg6dChWrVqFJk2a4Nlnn4VarUZ0dDRGjx6NxMREvPfee+XGIoRAbGwsmjVrBjc3t1LrDRkyBHv27EHv3r2hUCiwevVqjB8/HiqVCs8//3yx+gsXLkRsbCz69euHnj17FhsLFRISgq+++gpbtmxB48aNDfj0iKjCBBGRhfL39xdl/Zrq3r17sf3Lli0TAIRKpRJ79uyRy9PS0oSnp6ewt7cX3t7e4syZM/K+8+fPC7VaLVq3bq13rKVLlwoAYuTIkSI3N1cuz8nJEY8//rgAIPbt21fu+zh27JgAIIYOHVrm+wgODhapqaly+YkTJ4RSqRTNmjXTqz9r1iwBQDg4OIjDhw+Xet5Dhw4JAGL48OHlxkhExuGlPSKqlZ577jl06tRJfu7k5IS+ffsiMzMT48aNQ8OGDeV9fn5+ePjhh5GYmIj8/Hy5/JNPPoGDgwM+/fRTqFQquVytVuPtt98GAKxatarcWC5evAgA8PLyKrPe/Pnz4ezsLD9v1qwZunTpgpMnT+LOnTvF6r/wwgto3bp1qccrPF/h+YnI9Hhpj4hqpaCgoGJlPj4+Ze4rKChASkoK6tWrh8zMTBw5cgS+vr549913i9XPy8sDAJw4caLcWG7cuAEAcHV1LbNehw4dipXVr18fAHD79m04OTnp7evcuXOZx3N3dwcAXL9+vdwYicg4TKSIqFYq2rNTSKlUlruvMEG6desWhBC4dOkSZs+eXep5MjIyyo3Fzs4OAJCdnW10zAUFBcX2ldfDlZWVBQCwt7cvN0YiMg4TKSKiEhQmNR06dMC+ffsqdSwPDw8AwM2bNysdV1HlTWJaeL7C8xOR6XGMFBFRCZycnNCiRQscP34ct2/frtSxWrVqBRsbG5w8edI0wVVQ4fnKGkdFRJXDRIqIqBT/93//h8zMTDz//PMlXsJLSkrC2bNnyz2Oq6sr2rRpg3379snzWFWH3bt3AwC6d+9ebecksjZMpIiISvHiiy8iMjISP//8M5o0aYLhw4fjtddew8iRIxESEoJGjRph165dFTrWk08+iTt37lS4vilER0fDzc0N3bp1q7ZzElkbJlJERKUonCH9p59+QqtWrbB+/Xq8//77iI6Ohq2tLd577z2Eh4dX6FhjxoyBUqnE999/X8VR65w9exY7duxAZGQkbG1tq+WcRNaIa+0REVWTYcOGYcOGDTh37lyxqQxM7c0338SCBQtw/PhxNGrUqErPRWTN2CNFRFRN5s6di6ysLHz88cdVep5bt27h448/xrhx45hEEVUxTn9ARFRN/P39sWLFCqSkpFTpeZKSkvDyyy9j4sSJVXoeIuKlPSIiIiKj8dIeERERkZGYSBEREREZiYkUERERkZGYSBEREREZiYkUERERkZGYSBEREREZiYkUERERkZGYSBEREREZiYkUERERkZH+H3HT4SDswJVuAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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goIC/PXXX1i2bBn+/vtvFBQUICQkBAsXLsRLL70EZ2dnU8dJREREZJByJTdnzpzBsmXLsGbNGty+fRvu7u4YP348Ro4ciVatWlVWjEREREQGMzi56dChA44dOwapVIpHH30UI0eOxMCBA6FQKCozPiIiIqJyMTi5OXr0KBQKBXr37o26deti586d2LlzZ5nbSCQSLFy4sMJBEhERERmqXKel8vPzsWnTJoPrM7khIiIiczM4uXlYLw3VHmWNYVSVxzei2oHtk4gqNIhfdcVB/IiIiKofswziR0RERFTVGJTcXLt2rcIHunHjRoX3QURERPQwBiU3jRo1woQJExAXF1eunefn5+Pnn39GixYt8MMPPxgVIFUtOTk5CA8PR3h4eInD25dWRmQObJ9EBBh4zc2CBQswa9YspKamolu3bhg0aBA6deqENm3aFBvn5vr16zh06BC2b9+O3377Dampqejduze++uorNGzYsNLeSHnwmhvjKZVKODg4AACysrJgb29vUBmRObB9EtVshn5/G3S31KRJkxAREYF58+bhhx9+wBtvvAGJRAKpVAoXFxe4uLggNzcXKSkpyM3NBaC9Dbx37954++230bNnT9O8KyIiIqKHMPhWcBcXF8ycORPTpk3D1q1bsWPHDuzfvx/Xr19HQkICbG1t4efnh+DgYISFhWHAgAEIDAyszNiJiIiIiin3xJkymQz9+/dH//79KyMeIiIiogrhreBERERUozC5ISIiohql3KeliOzs7IwqIzIHtk8iYnJD5WJvbw+lUlnuMiJzYPskIoCnpYiIiKiGYXJDRERENQqTGyqX3NxcPPHEE3jiiSd0AzYaUkZkDmyfRAQYOP3Cg9atW4dnnnmm2NQL1QWnXzAeh7enqoztk6hmM/T726iem8GDB8PPzw+TJ0/G+fPnjQ6SiIiIyNSMSm4+/PBD2NjYYN68eWjRogW6d++OVatWsauXiIiILM6o5GbmzJmIj4/HX3/9haeeegoHDx5EREQEfH198dprryE6OtrUcRIREREZxOgLiqVSKZ544gls2LAB169fx+zZs+Hp6YmFCxciJCQEHTp0wNKlS5GVlWXKeImIiIjKZJK7pby8vPDee+/h4sWL+Pvvv+Hr64tjx45h3LhxqFOnDsaPH4+rV6+a4lBEREREZTLZreAxMTF488038dJLL+HmzZuw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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAHOCAYAAACcvdMVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAACS3klEQVR4nOzdd3xUVdrA8d+dll4ICUkIJTQpKoQuxQ0qiqIsoCBgISjqiugiCFheqa6AddFVZBUVbCuWtaKyioCKCNJFEClBEBIIhCSkTT3vH5MMGTIz6ZmU56v5MPfc5945M3Nm5plz7z1HU0ophBBCCCEaMJ2/KyCEEEIIUdMk4RFCCCFEgycJjxBCCCEaPEl4hBBCCNHgScIjhBBCiAZPEh4hhBBCNHiS8AghhBCiwZOERwghhBANniQ8QgghhGjwJOGpYYmJiWia5vYXEBBAixYtGD58OJ9//rm/q9jgmM1mHnnkETp06EBAQACappGYmOjvapVy+PDhOlu38qrtx1DWa5uVlcXkyZNp3bo1JpMJTdMYNGgQAHPnzkXTNObOnVsrdRWiNjWEz5OaJglPLRkwYAApKSmkpKQwdOhQDAYDn376KcOGDWPatGn+rl6FFSdvddGsWbNYuHAhZ8+eZfjw4aSkpDBq1Ch/V0tUg7Je27vuuoslS5ag0+m4/vrrSUlJ4eqrr/ZjjavP8uXL0TSNCRMm+LsqjZK/E+biH8+HDx/2y/03BAZ/V6CxuOOOO9w+qGw2G1OnTuWFF17gn//8J+PGjaN3797+q2AD8t577wHw/fff06FDBz/XRlQnX6+t1Wrlo48+IjAwkJ07dxIeHu6PKgrhFwkJCezduxej0ejvqtRZ0sPjJwaDgaeeesr1ofzZZ5/5uUYNx5EjRwAk2WmAfL22aWlp2Gw2YmNjJdkRjY7RaKRTp060a9fO31WpsyTh8aPAwEDXB/eJEyc8xqxZs4brr7+e+Ph4TCYTzZo1Y+TIkWzcuNFj/ObNm5k5cyZ9+vQhLi4Ok8lEbGwsw4YN45tvvvFZn99//5177rmHjh07EhwcTHh4OF26dOGee+5h9+7dwLlu3WLnn590fnfr6tWrue6662jWrBkmk4nmzZszZswYtmzZ4rEOgwYNQtM01q1bx/fff8+wYcOIiYlBp9OxfPlyn/Uv7vJVSpWq2/nbbt26lZtvvplWrVoREBBAVFQUQ4YM4YsvvvC6f5vNxrJlyxg0aBBRUVEEBATQpk0bJk2axNGjR71u9/nnn5OcnExYWBgRERFceumlfPLJJz4fiy+VeY1LHg7Jy8vj4Ycfpn379gQEBBAXF0dKSgrHjh2rtccAUFBQwDPPPMMll1xCZGQkgYGBdOzYkZkzZ3L69Gm32LJeW03TaN26NQB//PGH2/p169b5rEdZhyrWrVvndi7Q+Y4fP860adPo3LkzwcHBhIWF0bt3b1544QVsNlup+AkTJrjqnZqayq233kpcXBwBAQG0a9eORx99FLPZXOrx33bbbQCsWLHC7fF5q5c33377LaNHj6ZFixYEBAQQExND7969mTNnTqnnHar2Ht6xYwfXX3890dHRBAQE0KVLF5555hnX61gd9fv999/529/+Rrt27QgMDCQiIoK//OUvvPXWW9VWP03TmDdvHgDz5s1ze/5L9tyXPOz0ySefcPnllxMVFeXWDjMyMnj++ecZOnQobdq0ISgoiPDwcHr16sUTTzxBYWGh230Xt+8//vgDgDZt2nhs32Wdw/Pnn39y33330aFDB9fzNGDAAP79739jt9tLxVflM+Obb75h2LBhxMbGYjQaadKkCR06dOCWW27hu+++87hNrVCiRrVu3VoB6vXXX/e4vkOHDgpQs2bNKrXugQceUIDS6XSqT58+avTo0apv375K0zSl1+vVa6+9VmqbK664Qul0OnXxxReroUOHqtGjR6sePXooQAFq8eLFHuvx9ttvq4CAAAWoVq1aqRtuuEGNHDlSdevWTWmapubMmaOUUuqjjz5SKSkprv2lpKS4/WVkZLj2+eijjypAaZqmBgwYoMaNG6eSkpIUoPR6vXr11VdL1SM5OVkB6p577lE6nU516dJFjR07Vl111VXqnXfe8flcP/DAA17r9v3337viFi9erHQ6nQJUUlKSGjVqlBo4cKAymUwKUPPmzSu175ycHDVo0CAFqNDQUJWcnKxGjRqlOnbsqADVtGlTtW3btlLbPfvss6769OnTR40bN0716tVLAWratGkKUK1bt/b5uM5Xmdf49ddfV4AaMWKE6tq1q4qMjFTDhg1Tw4cPV82aNXPVIysrq1Yew7Fjx9TFF1+sABUVFaUGDx6sRo4c6Xq/JCYmqsOHD7viy3ptU1JS1A033KAAFRIS4rZ+7969Siml5syZowBXWy7mrbzY2rVrFaCSk5NLrVu/fr1q0qSJq85//etf1ZAhQ1xlV111lbJYLG7bFD+OKVOmqPDwcNW6dWt14403qsGDB6ugoCDX61TSAw88oAYMGKAA1a5dO7fHt3DhwnI/7/fdd5/rOUxKSlJjx45V11xzjWrbtq0C1Nq1a93iq/Iefuihh5TJZFKdO3dWY8eOVcnJyUqv17see3XU77333lOBgYEKUJ06dVIjR45Ul19+uQoJCVGAuu2226qlfikpKapbt24KUN26dXN7/l955RVXXHH7vffeexWgevXqpcaNG6eSk5PVd999p5RS6s0331SASkhIUMnJyWrs2LHqiiuuUKGhoQpQ/fr1U4WFha59Frfv4sd0ww03eGzfqampXt+LmzdvVlFRUa7P9zFjxqirr77a9dwNGTJEmc1mt20q+5mxfPlypWma0jRN9e3bV40ZM0b99a9/VT169FB6vd7ra18bJOGpYb4Snj179rjeYD///LPbupdfflkBqn379mrnzp1u69avX6/CwsKUyWRSv//+u9u6L774Qh0/frzUff34448qPDxcGY1G9eeff7qt27JlizIajUrTNPX8888ru93utv7w4cNqy5YtbmXFH0refPnllwpQgYGB6n//+5/bumXLlilAGY1GtXv3brd1xR9GgHrxxRe97t8XX3X76quvlKZpKjo6Wq1fv95t3a5du1SLFi0UoNatW+e27qabblKAuu6669SJEyfc1v3zn/9UgOrQoYOy2Wyu8p07dyq9Xq90Op16//333bZ56623lKZplUoWKvMaF394FX+4ZWdnu9ZlZma6vsQWLFjgtl1NPAaHw+H68p44caLKyclxrbNara5E/7LLLiu1ra/X1tcHvlLVn/CkpaWppk2bKk3T1JIlS9zeN6dOnVKXX365xwS6ZOL2f//3f25t5pdffnF9sf34449u2xW/hikpKR7rWZbnn3/elZx/++23pdZv2rRJHTlyxLVcHe/hpUuXuq1bs2aN6wfb0aNHq1S/Xbt2qYCAABUYGKg+/PBDt9jDhw+7EuoVK1ZUS/3KaidKnfu81+v16pNPPvEYs2fPHrVx48ZS5ZmZmeqqq65SgHryySe97js1NdXjfr21/8LCQte2d999t1sCfvDgQZWYmKgA9cgjj7htV9nPjDZt2ijA7UdmsRMnTnj8YVhbJOGp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PctXX31V7u2uueYaAD799NMKdXMnJycD8Pbbb3tc/8Ybb5R7X8Uq8xpXRU08huLnszh587fiD/m9e/d6XF98rs75ih9H8ejPNa04MfP0nitLr169iI6OJiMjg48//rjM+Np+D1e0fiU/t+rD81+s+P3bvHlzj+eveRs7qCr3X3xe4sqVKz1+fn300UecOXOGsLAwr+eMVlV4eDhz584lMjKS/Px8fv/99xq5n7JIwuNn99xzD61atSI7O5tnnnkGcCYTc+bMQSnFyJEj+eGHH0ptZ7fb+fbbb/npp59cZcUnka1YscLt12phYSH33HOPK4s/3//93/9hMBh44YUXWLJkSakvoT/++IOtW7e6lbVo0QLAa0L2wAMPAPDSSy+xZs0at3XLly/n008/xWg0MmXKFI/b15R//OMfgPMkck+jWyul2LRpE//73/9cZd27d+eGG27g6NGjXH/99R57NfLy8nj77bfdBpC877770Ov1vPfee3z00Udu8e+++265PtjPV9nXuLJq4jEMHz6c3r17s3nzZm677TaP5+mcOXOGpUuXVunLpbwuv/xydDodq1evZv369a5ypRTPP/+81yRyxowZREZG8uyzz/LMM89gsVhKxaSmpvr8EquI4vfcnj17KrytwWDg//7v/wDnxQmeBn/7+eefXedsQe2+hytTvzlz5mAymZgxYwYrVqzweOhx9+7d/Pe//61y/aDsz7zyuOCCC9Dr9fzyyy+lBsT87LPP+Oc//1nt9z969GhatWrlGiCz5HsqNTXV9Trfd999pU7srqj8/HyeffZZj+/p77//nqysLPR6veux1Do/XBnWqJQ18KBSSr322muuywJPnz7tKp8xY4brMtwLL7xQDR8+XI0dO1YNGjRIRUZGKkC99NJLrvgzZ8647q9p06ZqxIgR6oYbblDNmjVTYWFhasqUKV4va12xYoUyGo2uyxpHjRqlrr/+epWUlOQ28GCx6dOnK0BFR0erG2+8UU2cOFFNnDhRnTp1yhVTctCygQMHqptuusk1QF5Zg5adP8BYRRQ/Z94899xzymAwKIrGObr22mvVTTfdpK688krXgFoPPvig2zY5OTmuy3RNJpPq3bu3uvHGG9Xo0aNV7969XYMWFg8CVqx4+ABA9e3bV910002qd+/eClBTp06t8CXdlX2Ny7qk2dcl3dX9GJRyDjxYPI5HSEiI6t+/vxo7dqyrzRWPT1XyMlmlauaydKWU63nT6/Vq0KBB6vrrr1ft2rVTRqNRPfTQQx4vS1fKOSZWdHS0AlSzZs3U5Zdfrm6++WZ13XXXqXbt2rmes5KKL0v39png7bUym82u4Sq6d++uxo8fryZOnOhxzBZPHA6H65L34n2MHTtWDR06tFwDD1bXe9jb61CZ+r333nsqODhYAapFixbqqquuUjfffLO65pprXGNqnT+kQmXrl56e7hojacCAAWrChAlq4sSJbgPAlnXpuFLn2ppOp1PJyclq3Lhxrue0+Pn21MZfeOEFBc6BT6+//nrXZ+5vv/2mlCr/wIOtW7dWY8aMUUOHDi3XwIMV+cw4c+aM67F169ZNjRo1So0bN07169fPNWbX7NmzvT43NU0SnhpWnoTHZrOpLl26KHCO/lnShg0b1M0336xat26tAgICVFhYmLrgggvUiBEj1LJly1RmZqZbfEZGhrrnnntUu3btVEBAgGrevLm65ZZb1P79+8tswL/++quaOHGiatOmjQoICFARERGqS5cu6t5771W//vqrW2xBQYGaOXOmat++vevL3tMb/csvv1RDhw5VTZs2VQaDQcXFxanRo0erTZs2eaxDbSQ8SjkHeLvrrrtUhw4dVGBgoAoODlZt27ZVQ4YMUc8//7w6duxYqW3sdrt655131NChQ1VsbKwyGo2qadOm6qKLLlK33Xab+uijj0qNqquUUp988okaOHCgCgkJUaGhoap///7qgw8+KPML2pvKvMZVSXhq4jEo5RwQbenSpeqyyy5ztY9mzZqppKQkNXnyZLV69epS29RUwuNwONQzzzyjOnfurEwmk4qKilLDhg1TW7du9TnSslLOwdRmzZqlevTo4RoQtEWLFqp///5qzpw5ateuXW7xlU14lHK227/+9a8qJibGNVq4t3p58+WXX6rhw4e72nBMTIzq06ePmjdvntsPrpLx1fkeLms8m4rWLzU1VU2dOlVddNFFKiQkRAUGBqrWrVurQYMGqUWLFqkDBw5UW/2+++47NXjwYNWkSRPX81/ydSpPwuNwONSrr76qevbsqUJDQ1VERIQaOHCgevfdd5VS3tu43W5XCxcuVBdeeKErUSn5OMpq/0eOHFGTJ09Wbdu2VSaTSYWFhal+/fqpl156yeN4WJX5zLBarWrp0qVq3LhxqlOnTioiIkIFBQWpdu3aqRtuuEGtWbPG6/NSGzSl6sBBdCGEEEKIGiTn8AghhBCiwZOERwghhBANniQ8QgghhGjw6lzC89133zFs2DCaN2+Opmnluux13bp19OjRg4CAANq3b1+hwfqEEEII0fDVuYQnLy+Pbt268eKLL5YrPjU1lWuvvZbLLruMHTt2cP/993PHHXewevXqGq6pEEIIIeqLOn2VlqZpfPTRR4wYMcJrzIMPPuiaNbrY2LFjycrKqtBoukIIIYRouOr9XFobN25k8ODBbmVDhgzh/vvv97qN2WzGbDa7lh0OB5mZmTRt2rRcM/UKIYQQwv+UUpw9e5bmzZuXOT9ivU940tPTiY2NdSuLjY0lJyeHgoICj7PWLly4kHnz5tVWFYUQQghRg44ePVrmlBX1PuGpjIcffphp06a5lrOzs2nVqhVHjx4lPDzcjzWrn2w2m2uunSuuuMI1KZ63ciFqi682KO1TiPovJyeHli1bEhYWVmZsvX+Hx8XFuU3YCHDixAnCw8M99u4ABAQEEBAQUKo8PDxcEp5KyMvL48YbbwQgNzeXkJAQn+VC1BZfbVDapxANR3lOR6lzV2lVVL9+/UrN5Pv111/Tr18/P9VICCGEEHVNnUt4cnNz2bFjBzt27ACcl53v2LGDI0eOAM7DUePHj3fF33333Rw6dIiZM2fy22+/sWTJEt577z2mTp3qj+oLIYQQog6qcwnPli1b6N69O927dwdg2rRpdO/endmzZwOQlpbmSn4A2rRpw6pVq/j666/p1q0bzzzzDMuWLWPIkCF+qb8QQggh6p46dw7PoEGD8DU0kKdRlAcNGsT27dtrsFZCCCHqCofDgcVi8Xc1RC0xmUxlXnJeHnUu4RFCCCG8sVgspKam4nA4/F0VUUt0Oh1t2rTBZDJVaT+S8AghhKgXlFKkpaWh1+tp2bJltfzqF3Wbw+Hg+PHjpKWl0apVqyoNDiwJj6gyk8nECy+84LpdVrkQtcVXG5T2Wf/YbDby8/Np3rw5wcHB/q6OqCUxMTEcP34cm82G0Wis9H7q9FxatSUnJ4eIiAiys7NlHB4hhKijCgsLSU1NJTEx0es4a6LhKSgo4PDhw7Rp04bAwEC3dRX5/pb+QCGEEPWKzHnYuFTX6y2HtESV2e12vv/+ewAuvfRS9Hq9z3IhaouvNijtU4jGRRIeUWWFhYVcdtllgPsQ/d7KhagtvtqgtE8hGhc5pCWEEELUMYMGDeL+++/3dzUaFEl4hBBCiBo2YcIERowYUaP3UZEkKTk5mdtvv71U+ZIlSwgNDS33OEc7duxg7NixxMXFYTKZaNeuHfPnz8dms1Wk6rVCEh4hhBCiEVFKsX37dnr27Flq3ZYtW0hKSirXGEevv/46ffr0ITY2ls8//5y9e/cya9YsFi9ezMSJE2ui6lUiCY8QQghRywYNGsTf//53Zs6cSVRUFHFxccydO9drvMPhYOHChbRp04agoCC6devGBx984Fo/YcIE1q9fz3PPPYemaWiaxuHDhz3ua//+/Zw9e9ZrwuOp/Hzr1q3jjjvuYNmyZTz33HP06tWLdu3aMWHCBJ544gneeOMNDhw4UOZ+apMkPEIIIYQfrFixgpCQEDZt2sSTTz7J/Pnz+frrrz3GLly4kDfeeIOlS5fy66+/MnXqVG655RbWr18PwHPPPUe/fv248847SUtLIy0tjZYtW3rc19atW9Hr9XTr1s2tvKCggD179tCjR48y6z5lyhSuueYaxo8fX2pdcnIyADt37ixzP7VJrtISQghRLymlKLDa/XLfQUZ9lceH6dq1K3PmzAGgQ4cOvPDCC6xZs4Yrr7zSLc5sNrNgwQK++eYb+vXrB0Dbtm354Ycf+Pe//01ycjIRERGYTCaCg4OJi4vzeb/btm3Dbrd7Ha26R48eHD16lFtvvZWTJ09iMBiYNWsWo0ePBmD79u3s2rWLRYsWedy+oKAAqHsjmEvCI6rMaDTy5JNPum6XVS5EbfHVBqV91n8FVjtdZq/2y33vmT+EYFPVvkK7du3qthwfH8/JkydLxR04cID8/PxSiZDFYqF79+4Vvt9t27YxcuRIZs+e7Vb+7rvv8vzzz9OlSxdOnjzJ4sWLSUpKIj09nZ49ezJ06FBCQkLYvn07AElJSV7372u9v0jCI6rMZDIxY8aMcpcLUVt8tUFpn8Lfzk+0NU3zeHVUbm4uAKtWrSIhIcFtXUBAQIXvd9u2bcybN69UQrJkyRK6du2KXq8nPj6e+Ph4AOLi4oiOjiYzM5OQkBCsVitAqWkeSu5n0KBBXg+p+YskPEIIIeqlIKOePfOH+O2+a0uXLl0ICAjgyJEjrvNjPDGZTNjtvg/xHTp0iKysLI/n6Wzbto2+ffuWKt+6dSt2u92VwBT3Kq1fv77UpfZPP/00u3bt4qeffirrYdU6SXhEldntdlcXZo8ePdymlvBULkRt8dUGpX3Wf5qmVfmwUn0QFhbG9OnTmTp1Kg6Hg4EDB5Kdnc2GDRsIDw8nJSUFgMTERDZt2sThw4cJDQ0lKiqq1OXlW7duRafTlerdsVqt7N69m0mTJrmVZ2ZmMn78eF555RVXWZ8+fbj66quZPHkyVquVXr16ceLECZYtW8Zbb73FypUrK3WoraY1/JYialxhYSF9+vQBSk8t4alciNriqw1K+xT1yWOPPUZMTAwLFy7k0KFDREZG0qNHDx555BFXzPTp00lJSaFLly4UFBS4ZpYvadu2bXTo0IHQ0FC38j179mA2m916fsxmMyNGjOChhx6if//+bvEffvghs2fP5oEHHiAtLY2YmBiuuOIKdu7cSceOHav/CagGmlJK+bsS/laR6eVFaXl5ea43T8kvDm/lQtQWX21Q2mf9U1hYSGpqKm3atPF6/oioHkopbrrpJjp27OhzfKDa4Ot1r8j3t4zDI4QQQgg3GzZsYOXKlXz88cckJSWRlJTEL7/84u9qVYkc0hJCCCGEm4EDB5Z7Pq36Qnp4hBBCCNHgScIjhBBCiAZPEh4hhBBCNHhyDo+oMqPR6JoP5vypJTyVC1FbfLVBaZ9CNC5yWTpyWboQQtQHcll64ySXpQshhBBClJMc0hJV5nA42Lt3LwCdO3d2DWXurVyI2uKrDUr7FKJxkYRHVFlBQQEXXXQR4D5irbdyIWqLrzYo7VOIxkV+0gghhBCiwZMenhL+/D2TsFCbv6tR7+Tn5/m7CkKUi1IKc76NgrMWMjOyXeV/7s0kKLiwSvvW0KpWuSpuXuXt6wGbw4LN5sBSaEOn5LO6sbCYbdisDtIOZWHQmdzWnc3NKfd+JOEp4YslvxBkkm7tijJbC1y3//PYJuJaNiWyWTCmsHMXAGadyMcWpgEaWvEHc9G/WlGB85+i9SU+vDWtEXySixqRn2dx3V714k7OnrRTmGsF3Nvtqpd2EWAMqvX6iYoJjNBx8bAIzp4upNDQsKY9EN5ZbRYKcixs/uw3CrPdX/cCS/l/cEvCU0JUfAjBgZLwVFRe/rmEJCejAHPWaf7gtNsXysrHN8sXiqh1Jdvgn/vOuNqgKVCPKezc5a1RzUMIDAiuuYrU+OAfjWN0EWMI6PQaeqOGwSBnZJzvr6Ou4aIuXVkw/wl/V6VaOTQNnV4jMjYIa6j7uvwKdMxKwlPCqAd7yTg8lZCXl8cdi5y3r7u3G5azGlkn8zlx9LQrxhiox2jQOz+WlQJV9BGtQBUvFH1mF8coaCyf46IW9BqaSKdeLYmKD8Fg0pOXl8ddTzvXjX6ot5y0XA8Uj8cS2SykXo7Dc/ToUebMmcNXX33FqVOniI+PZ8SIEcyePZumTZuWez+DBg0iKSmJxYsXu5UbTHoCQ41ENQ/1vGE59+NJcnIy7dq147XXXnMrX7JkCTNnziQnJ6dcVzru2LGDRYsWsW7dOjIzM2nZsiUpKSk88sgjGAyeU5LCQgNn8gK49p5OHsfhmbigzLsFJOER1SzhgiauL468vOYwzVl++5OXyheKqHV5eXk8UPT53PPqRGmDwm8OHTpEv379uOCCC/jPf/5DmzZt+PXXX5kxYwZffvklP/30E1FRUf6upkdKKbZv386NN95Yat2WLVtISkoqV7Lz+uuv87e//Y1Jkybx+eef06RJE77//numTZvGwYMHWbFiRU1U/xwlVHZ2tgJUdna2v6tSL5nNZjV9+nQ1ffp0ZTabyywXorb4aoPSPuufgoICtWfPHlVQUODvqlTY1VdfrVq0aKHy8/PdytPS0lRwcLC6++67lVJKtW7dWv3zn/90i+nWrZuaM2eOUkqplJSU4v5w119qaqpSSqnk5GQ1ZcoU13Z2u10tWLBAJSYmqsDAQNW1a1f1/vvvl7mf8+3bt08BauPGjaXWXXzxxervf/97mY9/7dq1SqfTqRUrVpRa9/LLLytA7d+/3+O2vl73inx/Sw+PqDKTycRTTz1V7nIhaouvNijtswFQCqz5/rlvYzCU84KKzMxMVq9ezeOPP05QkPu5jHFxcdx8882sXLmSJUuWlLmv5557jt9//52LLrqI+fPnAxATE+MxduHChbz11lssXbqUDh068N1333HLLbcQExNTof1s3boVvV5Pt27d3MoLCgrYs2cPDzzwQJn1njJlCtdccw3jx48vtS45ORmAnTt30r59+zL3VVmS8AghhKifrPmwoLl/7vuR41DOq3r379+PUorOnTt7XN+5c2fOnDlDRkZGmfuKiIjAZDIRHBxMXFyc1ziz2cyCBQv45ptv6NevHwBt27blhx9+4N///jfvvPNOufYDsG3bNux2O8HBnk/s79GjB0ePHuXWW2/l5MmTGAwGZs2axejRowHYvn07u3btYtGiRR63LyhwXlxgMpk8rq8ukvCIKnM4HBw5cgSAVq1auU0t4alciNriqw1K+xS1TdXiXN0HDhwgPz+fK6+80q3cYrHQvXv3Cu1r27ZtjBw5ktmzZ7uVv/vuuzz//PN06dKFkydPsnjxYpKSkkhPT6dnz54MHTqUkJAQtm/fDkBSUpLX/ftaX10k4RFVVlBQQJs2bYDSU0t4Kheitvhqg9I+GwBjsLOnxV/3XU7t27dH0zT27t3LyJEjS63fu3cvTZo0ISYmBp1OVyoxslqtFa5ebm4uAKtWrSIhIcFtXUBAQIX2tW3bNubNm1cqIVmyZAldu3ZFr9cTHx9PfHw84DxMFx0dTWZmJiEhIa76e7uybsmSJQwaNIiWLVtWqF4VJQmPEEKI+knTyn1YyZ+aNm3KlVdeyZIlS5g6darbeTzp6em8/fbbjB8/Hk3TiImJIS0tzbU+JyeH1NRUt/2ZTCbsdrvP++zSpQsBAQEcOXLEdY7M+cqzn0OHDpGVlUWPHj1Krdu2bRt9+/YtVb5161bsdrsrgSnuUVq/fj0jRoxwi3366afZtWsXP/30k896VAdJeIQQQoga9sILL9C/f3+GDBnCP/7xD7fL0hMSEnj88ccBuPzyy1m+fDnDhg0jMjKS2bNno9fr3faVmJjIpk2bOHz4MKGhoURFRZU6JBsWFsb06dOZOnUqDoeDgQMHkp2dzYYNGwgPDyclJaVc+9m6dSs6na5U747VamX37t1MmjTJrTwzM5Px48fzyiuvuMr69OnD1VdfzeTJk7FarfTq1YsTJ06wbNky3nrrLVauXFnhw2yVIQethRBCiBrWoUMHtmzZQtu2bbnxxhtp164dd911F5dddhkbN250jcHz8MMPk5yczHXXXce1117LiBEjaNeundu+pk+fjl6vp0uXLsTExLjORTvfY489xqxZs1i4cCGdO3fm6quvZtWqVa5DueXZz7Zt2+jQoQOhoe6DGe7Zswez2ezW82M2mxkxYgQPPfQQ/fv3d4v/8MMPGTduHA888AAXXHAB119/PWazmZ07d5bq9akpmqrNs6jqqJycHCIiIsjOzpaRlishLy/P9WYoeS6Et3IhaouvNijts/4pHmm5TZs29XKk5YZMKcVNN91Ex44dmTt3brXu29frXpHvb+nhEUIIIUSVbNiwgZUrV/Lxxx+TlJREUlISv/zyi7+r5UbO4RFCCCFElQwcOBCHo27PYC8Jj6gyg8HAPffc47pdVrkQtcVXG5T2KUTjIufwIOfwCCFEfSDn8DROcg6PEEIIIUQ5ST+uqDKlFKdOnQIgOjoarWhCPW/lQtQWX21Q2qcQjYskPKLK8vPzadasGeB+ea+3ciFqi682KO1TiMZFDmkJIYQQosGThEcIIYQQDZ4kPEIIIYRo8CThEUIIIUSDJwmPEEIIIRo8SXiEEEKIOmbQoEHcf//9/q5GgyKXpYsqMxgMpKSkuG6XVS5EbfHVBqV9ito0YcIEsrKy+Pjjj2vsPgYNGkRSUhKLFy8uV/yOHTtYtGgR69atIzMzk5YtW5KSksIjjzzSIN8TDe8RiVoXEBDA8uXLy10uRG3x1QalfYrG7PXXX+dvf/sbkyZN4vPPP6dJkyZ8//33TJs2jYMHD7JixQp/V7HaySEtIYQQopYNGjSIv//978ycOZOoqCji4uKYO3eu13iHw8HChQtp06YNQUFBdOvWjQ8++MC1fsKECaxfv57nnnsOTdPQNI3Dhw973Ne6deu44447WLZsGc899xy9evWiXbt2TJgwgSeeeII33niDAwcOVPMj9j/p4RFVppQiPz8fgODgYLepJTyVC1FbfLVBaZ/1n1KKAluBX+47yBBU5TazYsUKpk2bxqZNm9i4cSMTJkxgwIABXHnllaViFy5cyFtvvcXSpUvp0KED3333HbfccgsxMTEkJyfz3HPP8fvvv3PRRRcxf/58AGJiYjze75QpU7jmmmsYP358qXXJyckA7Ny5k/bt21fp8dU1kvCIKsvPzyc0NBQoPbWEp3IhaouvNijts/4rsBXQ952+frnvTTdtItgYXKV9dO3alTlz5gDQoUMHXnjhBdasWVMq4TGbzSxYsIBvvvmGfv36AdC2bVt++OEH/v3vf5OcnExERAQmk4ng4GDi4uK83uf27dvZtWsXixYt8ri+oMCZQJpMJo4ePcqtt97KyZMnMRgMzJo1i9GjR1fpMfuTJDxCCCGEH3Tt2tVtOT4+npMnT5aKO3DgAPn5+aUSIYvFQvfu3St0n9u3bwcgKSnJ4/pt27a51hsMBhYvXkxSUhLp6en07NmToUOH1tsfB3Uy4XnxxRd56qmnSE9Pp1u3bvzrX/+iT58+XuMXL17MSy+9xJEjR4iOjmbUqFEsXLiQwMDAWqy1EEKI2hRkCGLTTZv8dt9VZTQa3ZY1TcPhcJSKy83NBWDVqlUkJCS4rQsICKjQfVqtVgCv349Llixh0KBBtGzZEnAmYQBxcXFER0eTmZkpCU91WblyJdOmTWPp0qX07duXxYsXM2TIEPbt2+ea2bikd955h4ceeojXXnuN/v378/vvvzNhwgQ0TePZZ5/1wyMQQghRGzRNq/JhpfqgS5cuBAQEcOTIEdc5Np6YTCbsdrvPfRX3CK1fv54RI0a4rXv66afZtWsXP/30U6nttm7dit1udyVC9VGdS3ieffZZ7rzzTm677TYAli5dyqpVq3jttdd46KGHSsX/+OOPDBgwgJtuugmAxMRExo0bx6ZN/sn6hRBCiOoUFhbG9OnTmTp1Kg6Hg4EDB5Kdnc2GDRsIDw93jSeVmJjIpk2bOHz4MKGhoURFRaHTuV+M3adPH66++momT56M1WqlV69enDhxgmXLlvHWW2+xcuXKUofJMjMzGT9+PK+88kqtPeaaUKcuS7dYLGzdupXBgwe7ynQ6HYMHD2bjxo0et+nfvz9bt25l8+bNABw6dIgvvviCoUOHer0fs9lMTk6O258QQghRVz322GPMmjWLhQsX0rlzZ66++mpWrVpFmzZtXDHTp09Hr9fTpUsXYmJiOHLkiMd9ffjhh4wbN44HHniACy64gOuvvx6z2czOnTtL9fqYzWZGjBjBQw89RP/+/WvyIdY4TSml/F2JYsePHychIYEff/zRdSY6wMyZM1m/fr3XXpvnn3+e6dOno5TCZrNx991389JLL3m9n7lz5zJv3rxS5dnZ2YSHh1f9gTQyeXl5Hq928VYuRG3x1QalfdY/hYWFpKam0qZNGzlHsxYopbjpppvo2LGjzzGCapqv1z0nJ4eIiIhyfX/XuUNaFbVu3ToWLFjAkiVL6Nu3LwcOHGDKlCmubNiThx9+mGnTprmWc3Jy6vVxSX/T6/WMGjXKdbusciFqi682KO1TCN82bNjAypUr6dq1q2tKjDfffJOLL77YvxWrpDrVw2OxWAgODuaDDz5w61ZLSUkhKyuLTz75pNQ2l156KZdccglPPfWUq+ytt97irrvuIjc3t9TxS08qkiEKIYTwD+nhaZyqq4enTp3DYzKZ6NmzJ2vWrHGVORwO1qxZ43aIq6T8/PxSSU3xr7U6lMsJIYQQwo/q3CGtadOmkZKSQq9evejTpw+LFy8mLy/PddXW+PHjSUhIYOHChQAMGzaMZ599lu7du7sOac2aNYthw4ZJN7UQQgghgDqY8IwZM4aMjAxmz55Neno6SUlJfPXVV8TGxgJw5MgRtx6dRx99FE3TePTRRzl27BgxMTEMGzaMxx9/3F8PodGRk5ZFXSUnLQshitWpc3j8Rc7hqRpJeERdJQlPwyLn8DRODfIcHiGEEEKImiAJjxBCCCEaPEl4hBBCCNHgScIjhBBCiAZPEh4hhBBCNHh17rJ0Uf/o9XrXZK3nTy3hqVyI2uKrDUr7FKJxkcvSkcvShRCiPpDL0n0bNGgQSUlJLF682N9VqVZyWboQQghRjxw9epTbb7+d5s2bYzKZaN26NVOmTOH06dMV2s+gQYO4//77q1yfiu5nx44djB07lri4OEwmE+3atWP+/PnYbLYq16U2SMIjhBBC1LBDhw7Rq1cv9u/fz3/+8x8OHDjA0qVLXXNFZmZm+ruKPr3++uv06dOH2NhYPv/8c/bu3cusWbNYvHgxEydO9Hf1ykcJlZ2drQCVnZ3t76rUS7m5uSo4OFgFBwer3NzcMsuFqC2+2qC0z/qnoKBA7dmzRxUUFPi7KhV29dVXqxYtWqj8/Hy38rS0NBUcHKzuvvtupZRSrVu3Vv/85z/dYrp166bmzJmjlFIqJSVFAW5/qampSimlkpOT1ZQpU1zb2e12tWDBApWYmKgCAwNV165d1fvvv1/mfs63du1apdPp1IoVK0qte/nllxWg9u/fX/EnpZx8ve4V+f6WHh5RLfLz88nPzy93uRC1xVcblPYpakNmZiarV6/mnnvuISgoyG1dXFwcN998MytXrkSV45Ta5557jn79+nHnnXeSlpZGWloaLVu29Bi7cOFC3njjDZYuXcqvv/7K1KlTueWWW1i/fn2F9jNlyhSuueYaxo8fX2pdcnIyADt37iyz7v4mV2kJIYSol5RSqIICv9y3FhSEpmnlit2/fz9KKTp37uxxfefOnTlz5gwZGRll7isiIgKTyURwcDBxcXFe48xmMwsWLOCbb76hX79+ALRt25YffviBf//737zzzjvl2s/27dvZtWsXixYt8ri+oOj5N5lMHD16lFtvvZWTJ09iMBiYNWsWo0ePLvMx1RZJeIQQQtRLqqCAfT16+uW+O27bihYcXKFtytODU10OHDhAfn4+V155pVu5xWKhe/fu5d7P9u3bAUhKSvK4ftu2ba71BoOBxYsXk5SURHp6Oj179mTo0KF1ZmJeSXiEEEKIGtS+fXs0TWPv3r2MHDmy1Pq9e/fSpEkTYmJi0Ol0pRIjq9Va4fvMzc0FYNWqVSQkJLitCwgIKPd+iu/b2zAAS5YsYdCgQa7DYfHx8YDzUF10dDSZmZmS8AghhBBVoQUF0XHbVr/dd3k1bdqUK6+8kiVLljB16lS383jS09N5++23GT9+PJqmERMTQ1pammt9Tk4OqampbvszmUzY7Xaf99mlSxcCAgI4cuSI6zyb85VnP8W9QevXr2fEiBFu655++ml27drFTz/9VGq7rVu3YrfbvZ4X5A+S8AghhKiXNE2r8GElf3nhhRfo378/Q4YM4R//+Adt2rTh119/ZcaMGSQkJPD4448DcPnll7N8+XKGDRtGZGQks2fPLjUSeGJiIps2beLw4cOEhoYSFRWFTud+DVJYWBjTp09n6tSpOBwOBg4cSHZ2Nhs2bCA8PJyUlJRy7adPnz5cffXVTJ48GavVSq9evThx4gTLli3jrbfeYuXKlaUOkWVmZjJ+/HheeeWVGngmK08SHlFlOp3O9Qui5JvFW7kQtcVXG5T2KWpThw4d2LJlC3PmzOHGG28kMzOTuLg4RowYwZw5c4iKigLg4YcfJjU1leuuu46IiAgee+yxUj0806dPJyUlhS5dulBQUEBqaiqJiYml7vOxxx4jJiaGhQsXcujQISIjI+nRowePPPJIhfbz4YcfMnv2bB544AHS0tKIiYnhiiuuYOfOnXTs2NEt1mw2M2LECB566CH69+9fPU9eNZGpJZCpJYQQoj6QqSXqNqUUN910Ex07dmTu3LnVtl+ZWkIIIYQQdcaGDRtYuXIlH3/8MUlJSSQlJfHLL7/4u1ouckhLCCGEEFU2cOBAHA6Hv6vhlfTwiCrLy8sjJiaGmJgY8vLyyiwXorb4aoPSPoVoXKSHR1SLU6dOVahciNriqw1K+xSi8ZAeHiGEEEI0eJLwCCGEEKLBk4RHCCGEEA2eJDxCCCGEaPAk4RFCCCFEgydXaYkq0+l09OrVy3W7rHIhaouvNijtU4jGRRIeUWVBQUH8/PPP5S4Xorb4aoPSPoVoXORnjRBCCCEaPEl4hBBCCNHgScIjqiw/P5/ExEQSExPJz88vs1yI2uKrDUr7FA3VoEGDuP/++/1djTpHEh5RZUop/vjjD/744w+UUmWWC1FbfLVBaZ+iNk2YMAFN09A0DZPJRPv27Zk/fz42m83fVStTRRKo5ORkbr/99lLlS5YsITQ01K+Ti0rCI4QQQtSCq6++mrS0NPbv388DDzzA3LlzeeqppzzGWiyWWq5d1Sml2L59Oz179iy1bsuWLSQlJfn1ikhJeIQQQohaEBAQQFxcHK1bt2bSpEkMHjyYTz/9FHD2otx7773cf//9REdHM2TIEADMZjN///vfadasGYGBgQwcONDt6sK8vDzGjx9PaGgo8fHxPPPMM6XuNzExkcWLF7uVJSUlMXfuXNeyw+HgySefpH379gQEBNCqVSsef/xxJkyYwPr163nuuedcPVSHDx/2+Pj279/P2bNnvSY8nsprkyQ8Qggh6iWlFFaz3S9/1XEYNCgoyK0nZ8WKFZhMJjZs2MDSpUsBmDlzJh9++CErVqxg27ZttG/fniFDhpCZmQnAjBkzWL9+PZ988gn/+9//WLduHdu2batwXR5++GEWLVrErFmz2LNnD++88w6xsbE899xz9OvXjzvvvJO0tDTS0tJo2bKlx31s3boVvV5Pt27d3MoLCgrYs2cPPXr0qHC9qpOMwyOEEKJeslkcvDxlvV/u+67nkjEG6Cu1rVKKNWvWsHr1au677z5XeYcOHXjyySddy3l5ebz00kssX76ca665BoBXXnmFr7/+mldffZVJkybx6quv8tZbb3HFFVcAzqSpRYsWFarP2bNnee6553jhhRdISUkBoF27dgwcOBAAk8lEcHAwcXFxPvezbds27HY7wcHBHtcXJzxHjx7l1ltv5eTJkxgMBmbNmsXo0aMrVOfKkIRHCCGEqAWff/45oaGhWK1WHA4HN910k9thpfMP+Rw8eBCr1cqAAQNcZUajkT59+rB3714OHjyIxWKhb9++rvVRUVF07NixQvXau3cvZrPZlTRV1rZt2xg5ciSzZ892K3/33Xd5/vnn6dKlCwAGg4HFixeTlJREeno6PXv2ZOjQoYSEhFTp/ssiCY+oMk3TXA1Z07Qyy4WoLb7aoLTP+s9g0nHXc8l+u++Kuuyyy3jppZcwmUw0b94cg8H9K7imvvB1Ol2pQ3BWq9V1OygoqFruZ9u2bcybN4+kpCS38iVLltC1a1f0emePWHx8PPHx8QDExcURHR1NZmamJDyi7gsODubXX38td7kQtcVXG5T2Wf9pmlbpw0r+EBISQvv27csd365dO9c5Pa1btwacicrPP//M/fffT7t27TAajWzatIlWrVoBcObMGX7//XeSk88lgjExMaSlpbmWc3JySE1NdS136NCBoKAg1qxZwx133FGqHiaTCbvd7rOuhw4dIisry+N5Otu2bXPrhSpp69at2O12r+cFVSdJeIQQQog6KCQkhEmTJjFjxgyioqJo1aoVTz75JPn5+UycOJHQ0FAmTpzIjBkzaNq0Kc2aNeP//u//Sl36ffnll7N8+XKGDRtGZGQks2fPdvW2AAQGBvLggw8yc+ZMTCYTAwYMICMjg19//ZWJEyeSmJjIpk2bOHz4MKGhoURFRZW6j61bt6LT6Ur17litVnbv3s2kSZNKPb7MzEzGjx/PK6+8Un1Pmg+S8AghhBB11KJFi3A4HNx6662cPXuWXr16sXr1apo0aQLAU089RW5uLsOGDSMsLIwHHniA7Oxst308/PDDpKamct111xEREcFjjz3m1sMDMGvWLAwGA7Nnz+b48ePEx8dz9913AzB9+nRSUlLo0qULBQUFpKamkpiY6Lb9tm3b6NChA6GhoW7le/bswWw2l+r5MZvNjBgxgoceeoj+/ftXx1NVJk3JEKPk5OQQERFBdnY24eHh/q5OvZOfn0/v3r0B+Pnnn11n6HsrF6K2+GqD0j7rn8LCQlJTU2nTpg2BgYH+ro6oJKUUN910Ex07dnQ7adsbX697Rb6/K93D88033/Dss8/y888/k5WV5XG4aE3T6sWw2aJqlFLs2bPHdbusciFqi682KO1TCP/YsGEDK1eupGvXrnz88ccAvPnmm1x88cU1er+VSng+/PBDxowZg8PhoHXr1nTq1KnU2eZCCCGEEOcbOHCgX+bUqlSWMn/+fIKCgvjkk0+4/PLLq7tOQgghhBDVqlJTS+zbt4+xY8dKsiOEEEKIeqFSCU/Tpk3lBD8hhBBC1BuVSnhGjRrFN998IyckCyGEEKJeqFTCs2DBAiIjIxkzZgxHjhyp7jqJekbTNFq3bk3r1q1LTS3hqVyI2uKrDUr7rL/kqrrGpbpe70qNw9O2bVusVivHjx8HIDIykoiIiNI71zQOHjxY9VrWMBmHRwgh6j6r1cqBAwdo3ry5x+8c0TBlZ2dz/Phx2rdvj9FodFtX4+PwOBwODAaDa+4O8JyBSRYuhBCiuhgMBoKDg8nIyMBoNJaa3kA0PA6Hg4yMDIKDg6s8/E2ltj58+HCV7lQIIYSoKE3TiI+PJzU1lT/++MPf1RG1RKfT0apVqyofepbRAkWVFRQU8Je//AWA7777jqCgIJ/lQtQWX21Q2mf9ZDKZ6NChAxaLxd9VEbXEZDJVS29elRMem83Gvn37yMnJITw8nI4dO8qoy42Mw+Fgy5YtrttllQtRW3y1QWmf9ZdOp5O5tESFVTplyszM5M477yQiIoKuXbsycOBAunbtSmRkJHfddRenT5+uznoKIYQQQlRapbpiMjMzueSSSzhw4ABRUVFceumlxMfHk56ezpYtW1i2bBnr169n48aNREVFVXeda8zxrALOOoxlBwo3+XkF/q6CELXOYnOQb7FhsTuw2hVWmwOr3YHF7sBmVyjOXbhRfPnGues4lNuyt8s7zj9jwf0UhvMvs/e1neZjXcntvO+zVN28bHf+NuXdf119rDJiQd12Nie/3LGVSngee+wxDhw4wIwZM5g9ezYhISGudfn5+Tz22GM88cQTPP744zzzzDOVuQu/uOqf36ELkBGkK8phKfR3FYSodnaHYm9aDrv+zGZfeg7Hsgo4llVIZp6ZnAIbBVa7v6soRKPnMNdwwvPJJ58waNAgnnjiiVLrgoODWbhwIZs2beKjjz6qVwmPyaBDb5DLHCvKZpefQKLh2PVnFm9u/INv9p7gTL61XNuYDDoC9DqMBh1GvYZBp3P1DLj+LepROLdcvF5zWy52fq9PyWE+Sq8ruZ3yvs7HSCHnDyOi3NadXzflcZ2vep2/1vd25XysPup8/obuj6d8j/X851LUPTZ7+b+zK5XwHD9+nHHjxvmM6devHz/++GNldu8322ZdKQMPVsKHPx1k1NP+roUQVfPH6Tzmfvora/dluMrCAg0ktYykS3w4LaOCSWgSRExoABFBRsIDjQQH6DHoNBmpWQg/ycnJIaKc3z+VSngiIiLKHAPhjz/+kJEwGxFdUDhGfelMOzo62g+1EeIcX22weN03e07wyGe/k2exY9RrDOvanNG9WtI7sQkGD+1aCFH/VCrhSU5O5v3332fChAkMHjy41Po1a9bw/vvvM2LEiKrWT9QDgcHBtPz7O/RtE+V2PldISAgZGRk+thSiZvlqg8Xr/vdrOpPe3obdoejTJopF119M25jQWq6pEKKmVSrhmTNnDqtWrWLIkCEMHTqU5ORkYmNjOXHiBOvWrePLL78kODiY2bNnV3d9hRCi2vx5Jp8H3t+J3aG4vkcCT97QVXp0hGigKvXOvvDCC1m9ejVt2rRh1apVzJw5kwkTJjBz5ky++OIL2rZty1dffcWFF15YqUq9+OKLJCYmEhgYSN++fdm8ebPP+KysLCZPnkx8fDwBAQFccMEFfPHFF5W6byFE47H4m/2cLbTRo1WkJDtCNHCVHhJ54MCB7N+/nw0bNrB9+3bXSMvdu3dnwIABlT6Jb+XKlUybNo2lS5fSt29fFi9ezJAhQ9i3bx/NmjUrFW+xWLjyyitp1qwZH3zwAQkJCfzxxx9ERkZW9qGJCjIXFpD+zkOsDTRSMH6D29QS11xzDQBffvmlDN0vap2vNlhQUMDSGbdicyjuX/2VJDtCNHCaqmNTmvft25fevXvzwgsvAM4h31u2bMl9993HQw89VCp+6dKlPPXUU/z222+lpo0vr4pMLy9K+/Cng4zq1x6A3Nxc13k8eXl5hIaGlioXorb4aoMl1/3+ZwYdEuQEeyHqm4p8f9epnzQWi4WtW7e6nQit0+kYPHgwGzdu9LjNp59+Sr9+/Zg8eTKxsbFcdNFFLFiwALvd+6BgZrOZnJwctz8hROOl18ll5UI0dOU6pDV//nw0TWPy5MlERUUxf/78cu1c0zRmzZpV7sqcOnUKu91ObGysW3lsbCy//fabx20OHTrEt99+y80338wXX3zBgQMHuOeee7BarcyZM8fjNgsXLmTevHnlrpcQouEp2bktCY8QDV+5Ep65c+eiaRpjxowhKiqKuXPnlmvnFU14KsPhcNCsWTNefvll9Ho9PXv25NixYzz11FNeE56HH36YadOmuZZzcnJo2bJljdZTCFG32B3nEh6jrk51dgshakC5Ep61a9cC0KpVK7fl6hYdHY1er+fEiRNu5SdOnCAuLs7jNvHx8RiNRvR6vausc+fOpKenY7FYMJlMpbYJCAggICCgeisvhKhXbCUSHr1eeniEaOjKlfAkJyf7XK4uJpOJnj17smbNGteghQ6HgzVr1nDvvfd63GbAgAG88847OBwOdEW/0n7//Xfi4+M9JjtCCAHuPTwGOaQlRINXqX7cN954g127dvmM2b17N2+88UaF9z1t2jReeeUVVqxYwd69e5k0aRJ5eXncdtttAIwfP56HH37YFT9p0iQyMzOZMmUKv//+O6tWrWLBggVMnjy5wvctKk8zBqA3BZYqDw4OJjhYZqAX/uOtDdocCs0Y4Gy7kvAI0eBVahyeCRMmMHfuXLp27eo15pNPPmH27NmMHz++QvseM2YMGRkZzJ49m/T0dJKSkvjqq69cJzIfOXLE1ZMD0LJlS1avXs3UqVPp2rUrCQkJTJkyhQcffLAyD01UQmBwMK2mfehxaom8vDw/1kw0dr7aYEBgEK2mfQhARJhMJSFEQ1fpgQfLYrfb3RKTirj33nu9HsJat25dqbJ+/frx008/Veq+hBCNU/EhLb3Mdi5Eo1BjlyZs376dqKiomtq9EEJUia1EwiOEaPjK3cNz+eWXuy0vX77cY2+L3W7nzz//5PDhw9x4441VrqCo+yzmQk6+P5fvg40UpnxLYKDzXJ7CwkJuuOEGAD788ENXuRC1xVcbzMsv4OT7c9HpNAofvUzapxANXLkTnpLJjaZpHD58mMOHD5eK0+l0REVFMXr0aBYvXlwNVRR1ncPuoODQFgrAbYRru93umsTV18jXQtQUX23QYrVRcGiLx3VCiIan3AmPw+Fw3dbpdMydO5fZs2fXSKWEEKKm2eyOsoOEEA1GpU5aXrt2LYmJidVcFSGEqD22ujVvshCihlXqpOWBAwfSpEkTt16fkux2Ozk5OdJNLISos0oOPCiEaPgqlfDMmzePZs2acfr0aY/rMzMziY2N5fHHH69S5YQQoqZIwiNE41KphOfzzz/niiuuICYmxuP6mJgYBg8ezCeffFKlygkhRE2xe+mhFkI0TJVKeA4dOkSnTp18xnTs2JHU1NRKVUoIIWqa1S49PEI0JpU6adlqtZY5irKmaRQWFlaqUqJ+CQwOpvWDn3ucWkLJiaHCj3y1QVOgs912jA1za7dCiIapUj087du359tvv/UZ8+2339KmTZtKVUoIIWqajLQsRONSqYTn+uuvZ8eOHcyePbvUlVh2u51Zs2axY8cORo8eXS2VFEKI6uYoSngMekl4hGgMNFWJYw65ubn07t2b33//nXbt2nHZZZeRkJDAsWPHWLt2LQcPHqRz58789NNPhIbW/VmIc3JyiIiIIDs7m/DwcH9Xp9756OdUbrn1VqJCTOzf8IXb1BK33norAG+++aYM3S9qna82uGr7H9w47mYig40c/PFLaZ9C1EMV+f6uVMIDkJGRwaRJk/joo4/cjpHrdDpuuOEGlixZQtOmTSuz61onCU/VfPjTQUb1aw84k+Hi8yHy8vJcCW/JciFqi682+PHmg4zsW7rdCiHqj4p8f1fqpGVwXnr+wQcfcOLECbZs2UJ2djaRkZH06tWLZs2aVXa3QghRK2wyDo8QjUqlE55isbGxXHvttdVRFyGEqDV2uYJQiEalUictCyFEfWeTcXiEaFQq3cNjt9t57733+Oabbzh+/Dhms7lUjKZprFmzpkoVFEKImiBTSwjRuFQq4cnLy+Oqq67ip59+QimFpmluJy4XL2uaXO4phKib5BweIRqXSh3S+sc//sHGjRuZN28ep06dQinF3LlzSUtLY+XKlbRt25bRo0d77PURQoi6wCFzaQnRqFSqh+e///0vl1xyCY8++qhbeWxsLKNHj6Zfv35069aNp556iocffrhaKirqroCgIFpO/YDeiU0IDg52lQcHB5Obm+u6LURt89UGdaZAWk79gKEXx0v7FKIRqFQPz5EjR7jkkkvO7USnc+vNadGiBddeey0rVqyoeg1FnadpGjpTIIaAILfDmJqmERISQkhIiBzeFH7hqw06lDPpCQwKkvYpRCNQqYQnJCTEbfLQiIgI0tLS3GLi4uI4cuRI1WonhBA15NxcWnKxqhCNQaXe6a1bt3ZLZi666CK+/fZbVy+PUoo1a9YQHx9fPbUUdZrVYubUqn+yefk/3Hr6zGYzEyZMYMKECXI+l/ALX22wsLCQU6v+yf+WzJb2KUQjUKmE54orrmDt2rXYbDYAUlJSOHLkCP369WPGjBkMHDiQHTt2cMMNN1RrZUXdZLfZydu9hsM/feFqEwA2m40VK1awYsUKt3IhaouvNmi12sjbvYbd6z+V9ilEI1Cpk5bvvPNOmjZtSkZGBvHx8dx+++1s376dJUuWsGPHDgBuuOEG5s6dW41VFUKI6iOXpQvRuFQq4enQoQMPPvigW9m//vUvZs+ezaFDh2jdujVxcXHVUkEhhKgJDiWXpQvRmFQq4Zk/fz5t2rTh1ltvdSuPiYkhJiamWiomhBA1SXp4hGhcKj3w4C+//FLddRFCiFpjl7m0hGhUKpXwtGrViqysrGquihBC1B7p4RGicalUwjN27Fi++uorsrOzq7s+QghRK2TyUCEal0qdwzNr1ix27NjB5Zdfzvz58+nduzfNmjWr7rqJeiIgKIgW971Nj1aRpaaWOHnypOu2ELXNVxvUjIG0uO9tJiW3k/YpRCNQqYSn+MNBKcVf//pXr3Gapsn4Fo2ApmnogyMIDGtSamoJOYld+JOvNuhQCn1wBJFNm8rUEkI0ApVKeC699FL5gBBC1GuuqSXks0yIRqFSCc+6deuquRqiPrNazJz+30tsDQ/APOEdAgICAOew/tOmTQPg2WefdZULUVt8tUGz2dlu393XhAmXLJP2KUQDV66Tlnv06MHLL7/sWn7jjTfYtWtXjVVK1C92m53c7as4uP6/paaWWLJkCUuWLJFDm8IvfLVBq9VG7vZVrPv4LWmfQjQC5Up4duzYQXp6umt5woQJfPzxxzVVJyGEqHEOuUpLiEalXAlPdHQ0p06dqum6CCFErbEpSXiEaEzKdQ5Pt27dePPNN0lISCA+Ph5w9vq88cYbZW47fvz4qtVQCCFqgM0uc2kJ0ZiUK+FZtGgRQ4cO5eGHH3ZdnfXJJ5/wySefeN1GKYWmaZLwCCHqJJtMLSFEo1KuhKdnz54cOHCAzZs3c+zYMSZMmMDw4cMZPnx4TddPCCFqhEV6eIRoVMp9WXpYWBhXXHEF4DxpOSkpiZSUlBqrmBBC1CSrJDxCNCqVGofH4ZAPCnGOKTCQhLtfJalFJEFBQa7yoKAgUlNTXbeFqG2+2qBdM5Jw96s8PaqrtE8hGoFKJTxClKTT6TBExBISHYVOp3MrT0xM9F/FRKPnqw3aFBgiYmmVmOjWboUQDZO8y4UQjZLF5uypNunlY1CIxkDe6aLKrFYLZ9a+xs4PX8BisbjKLRYLM2bMYMaMGW7lQtQWX23QbHa2238tmiPtU4hGQFNKRt/KyckhIiKC7OxswsPD/V2deufDnw4yql97AHJzcwkJCQEgLy+P0NDQUuVC1BZfbbDHnM/YPv+vHtcJIeqHinx/Sw+PEKJRstoa/W89IRoVSXhElensBf6ughAVJpelC9G4VDnhyc3NZdu2bXz//ffVUR9RD0Vn/HRuYe/n/quIEBUgCY8QjUulE57Dhw8zfPhwmjRpQu/evbnssstc6zZs2ECXLl1Yt25dddRR1HGaw3ZuYc18sJn9VxkhysHhUFhlagkhGpVKJTxHjhzhkksu4YsvvmD48OH069ePkuc+9+3bl1OnTvGf//yn2ioq6onso7DldX/XQgifrDJ4qhCNTqUSnjlz5nDmzBnWr1/PBx98wJVXXum23mAwcOmll7Jhw4ZqqaSoZ75/Biz5/q6FEG52HD3jul08Bo8QovGo1EjLq1evZuTIkfTv399rTOvWrfn2228rXTFRfwSYjOyeFEKqoS1B0Q7IOQo/LyOo373s3r0bkKklhH8EBQURf/uLAKzYdJwBnVoAYLUrNKOJ+NtfZPX9f5H2KUQjUKkenszMzDKnDFBKYTbLuRyNgU6n48JmetrEhaO77CFn4YbF6Kx5XHjhhVx44YUydL/wC51OhymmNaaY1pw1n+vVsdodaJqO4NhELr74ImmfQjQClerhiY2NZf/+/T5jfvnlF1q1alWpSol6rOtY+P5ZyDwIm1+GSx/wd43OUcr5hzq3jCr9b3nXeaV5KPJQ5imuIrFViquJfdbA4/Fa94rLLrC6bhcf0jLKtBJCNBqVSniuvPJK3nzzTXbt2kXXrl1Lrf/+++/59ttvuf/++6taP1EPWK025q4r5KT+CIunOzANegj+eyeW9c+xYHUGGAJ55JFHMJlMXnZQAJmHIOc45GUU/Z2CwiznOmsBWPOd5wVZ851XgTlsoOzgsDtvO2xFt0ssF6/3mZyI+s97omSxKcZvLCSXIPYPXuJabbE7UHYrmT/9h7lzf/LdPoUQDUKlppY4fPgwSUlJAMyYMYPffvuNd955h88//5wff/yRZ599lpCQEHbu3El8fHx117naydQSVfPDf5dy6Q2TgKIh+oMCYUk/8o7/RujCs+fKQ0KcvSMn98KhtXB0ExzbDtlH/Fl90YDlWZSrDd7z4CO8uOhxAPYcz+Hqp7/m6D9HATK1hBD1VUW+vyvVw5OYmMjq1asZO3Yss2bNQtM0lFJcd911KKVo1aoVH3zwQb1IdkQN0Olh0EPwzoRzZZY82P0W/PwqnNpXepvACIhsBSHNICQaQmIgKBKMIWAMAmPwuX8NJtAZQWdw3pdOX3S76E/Tud/WNEA7798iHtdp5V9XioffDx5/U6iKx9TbuOrel5dyT/F5ebCwHQBmm91VXFjithCicahUwgPOsXb279/PZ599xqZNm8jMzCQ8PJy+ffsyfPhw6R5u7LqMgObdge+cyy9dCpZ05229CdokQ+v+0KI3NOsMwU2r9XwNIQDQ5Z27WSJRKrRIwiNEY1PphAec4+2MHDmSkSNHVld9REOh08FVjwOXOpdz06BZaxgwBS4e7ezREaIWaSUSngKrJDxCNDZVSniE8Cmh+7nbSTfDyGedh6WE8AOdJDxCNGrlSnjeeOONSt/B+PHjK72taECufVqSHeFXGg6UUmiaRoEc0hKi0SlXwjNhwgS0Cp5fUfzBUtmE58UXX+Spp54iPT2dbt268a9//Ys+ffqUud27777LuHHjGD58OB9//HGl7lsI0fBoQK7ZRligkULp4RGi0SlXwvP667U7GeTKlSuZNm0aS5cupW/fvixevJghQ4awb98+mjVr5nW7w4cPM336dC699NJarK0wGY1sviOEg8Z2BAYGusoDAwPZvHmz67YQtS0wMJA3J/Wko/U33jboyMq3EhZopMBqRzMYGff4W0y98gJpn0I0AuVKeFJSUmq6Hm6effZZ7rzzTm677TYAli5dyqpVq3jttdd46KGHPG5jt9u5+eabmTdvHt9//z1ZWVm1WOPGTa/X0TNBT7ApDL1eX6JcT+/evf1YM9HY6fV6urSIoIdFz0qrRla+lZZRUGBxoOn0JHbuSu/eF/u7mkKIWlDnxlW3WCxs3bqVwYMHu8p0Oh2DBw9m48aNXrebP38+zZo1Y+LEiWXeh9lsJicnx+1PCNEwqaKPOQ3FqTzn/H7FJy0HGfVetxNCNCxVukorLy+Pjz/+mB07dpCTk0N4eDhJSUmMGDGi0qOWnjp1CrvdTmxsrFt5bGwsv/32m8dtfvjhB1599VV27NhRrvtYuHAh8+bNq1T9RGlWq42nNphJN/zJQovFNQaTxWLhueeeA2DKlCkyNpOodRaLhTe+P8y3NjOOnjYyzjoTnkKrHWW3sunj5Ty1N0bapxCNQKUTng8//JC77rqLrKwsSs5OoWkakZGRvPLKK1x//fXVUklfzp49y6233sorr7xCdHR0ubZ5+OGHmTZtmms5JyeHli1b1lQVGzyb3c7Mb8zAH8y3Wl1fHFarlZkzZwJwzz33yBeKqHVWq5XnvzoAwNQkO6dyi3p4LHaU3c6qV59iFdI+hWgMKpXw/Pjjj4wdOxa9Xs8dd9zBZZddRnx8POnp6axdu5YVK1YwduxY1q9fT79+/Sq07+joaPR6PSdOnHArP3HiBHFxcaXiDx48yOHDhxk2bJirzOFwzoRsMBjYt28f7dq1c9smICCAgICACtVLCFG/aShXD0++XKUlRKNTqYRnwYIFBAQEsGHDBrp16+a2bsyYMdxzzz3079+fBQsW8Nlnn1Vo3yaTiZ49e7JmzRpGjBgBOBOYNWvWcO+995aK79SpE7/88otb2aOPPsrZs2d57rnnpOdGCAE4Bx4sTnhyC61+ro0QorZVKuHZuHEjY8aMKZXsFOvatSs33ngjn3zySaUqNW3aNFJSUujVqxd9+vRh8eLF5OXlua7aGj9+PAkJCSxcuJDAwEAuuugit+0jIyMBSpULIRqvkj08Zwttfq6NEKK2VSrhyc/PL3VS8fliY2PJz8+vVKXGjBlDRkYGs2fPJj09naSkJL766ivXfR45cgSdrs5dYCaEqMM0FBlF5/DkSA+PEI1OpRKexMREvv76axYsWOA1Zs2aNSQmJla2Xtx7770eD2EBrFu3zue2y5cvr/T9CiEaJj0O6eERohGrVDfJjTfeyNatW0lJSeH48eNu69LS0pgwYQJbt25lzJgx1VJJIYSoqgCsnC20UWCxk1MgPTxCNDaV6uF58MEH+eqrr3jzzTdZuXIl7du3JzY2lhMnTnDgwAEsFgt9+vThwQcfrO76ijrIZDSyNiWYVEPbUlNLrF271nVbiNoWGBjIwjsHc4nlR3YaLeCAo2fyybM4p5b4+IvVhAcapX0K0QhUKuEJDg7mu+++44knnuCNN95gz5497NmzB4C2bduSkpLCzJkz5dLvRkKv1zEo0UCMKaLU1BKDBg3yX8VEo6fX62nfoS2D8jaTajODA/amOUdW12kaXVe8jrKYMUdGEty9u59rK4SoSZUeeDAgIIDZs2cze/Zszp496xppOSwsrDrrJ4QQVVKgBQMQphUAsPtYNgCxjkIKi0Zn/2PcTQT37k34tdcSMnAAxoQENE3zS32FEDWjSlNLFAsLC5NEpxGz2Wy8uNlCmiGNOVYrRqMRcI5y+/LLLwNw1113ucqFqC1Wq5UvftxDTqGFjr2cCc+Oo1kAxBlsvHPmDACjmzYl/+efyf/5ZwD0MdEEduqMqU0iAW3bYkpsgzGhOcbYWDQZkVmIeklTJeeFaKRycnKIiIggOzub8PBwf1en3vnhv0u59IZJAOTm5rrmUcvLyyM0NLRUuRC1pWQb3DhnAGMLH8ag07A5FFcaTrHs8QkAnNm/H9u3a8lds4aCPXvA6uWkZk3DEB2NoXk8xvjmGOPiMDaPxxBftBwfh75JEzQZNkOIWlGR7+9y9/C0bdu2whXRNI2DBw9WeDshhKhukbpCAGwO52+8ZkaHa50xPp7Iu+4k+q47cRQWUrhnD+YDB7AcSsWSmorljz+wpqWhzGZsGRnYMjIo3LnL4/1oRiOGZs0wxMZijIvF0CwWQ1wsxthYZ1lsLIaYGOkpEqKWlTvhOXz4MHq9HoOhWo6CCSFErQrTmd2WY42eO7d1gYEE9+hBcI8ebuVKKexZWViPH8eWlob1eBrWtOK/49iOp2HLyEBZrViPHcN67BgFPuqjj47G2KwZhmbN0Ec3xRDVFEPTKPRNo53/Fi9HRqLJ564QVVbhd9GgQYO4/fbbGTFihJyTIYSoNwIdeYQFGlyDDjYPqNjRfE3TMDRpgqFJE7jwQo8xymLBlpGB9cRJbCdPYE1Px3biJLYT6c6y9HRsJ0+irFbsp05hP3UKiq5w9XHH6Js0QR/VBH1EJPqwMPQR4ejCwtGHh5+7HeFc1oWHow8LQxccjC44WHqShChS7oRnz549LFu2jLfffpuxY8cSFRXFLbfcwu23387FF19ck3WsNdbCQqwePhw0nQ5DiXJrYaH3neg0jKaAysWaC8HbZ7AGxoDAysVazODw/uFuDKxcrM1iQTkc2K3nRq21FhZiLXFpeslYT+XFDAEBrqtibFYryu59NusKxZpMrvMp7DYrDlv1xOpNRnQ6fSVibThs3kf51RuN6PQVj3XY7di9nXcC6AwG9EW9BBWKddixW3zF6tEbjBWOVQ4HNoulWmI1vR5D0Y8vpRQ287menJLvP2UuIKl1KN8fygLcEx5P7bYi7/viWM1kwpiQAE2bYuzSmSAPsQqFLr8AW3o61hMnKDh+HPuZTOyZZ7BnZmLLPIP9zGlspzNxZGWjdziwZ2Y6/zQN5eXiMU2BvsQpma5YvQFdcBC6oGB0QUHO24FBGENDnElRUDCOwABnYmQyoTMZ0YwmNFMAmsmIZjJhCg5GF+CMses0MBTFBBjRmUxoBiMYDGh6PcbgYLSi2zaHAzQNdDqPV715+jzxRj4jimLlM6JUbHmVO+Hp1KkTTz/9NE888QSfffYZr732Gi+++CLPP/883bt3Z+LEidx0001ERERUqAJ1ydK7byXQQ69VQmRTLu+Y5Fp+5+e12L28MWPDIrmq87nxPN7b9gNmm+cXOCo4jKFdznWbf7TrJ/IsZo+xEYHBDOvSy7X82Z4tZBd6nqssxBjAyAt7u5a/2LeDzIJcj7EBegOjLurjWv76wG5O5uV4jNVrOsZe1Ne1vPbwXo6fzcJc4g235K6bCSh6I9z92kpX+f+WPs+RHT973C/A31d84Prw++aVF/h1/RqvsZNeeZvgcGc7W/fGMnb+b5XX2Dv+9SoRzZxzsP3w7pts+ey/XmNTnn6R6JatAdj00Xts/OA/XmNvfvxZ4tpfAMC2Lz7lu7df9xp74+wFtLywKwC71nzFt68t9Ro78sE5tO3hfO32/rCO1S8t9hp73f0P0bHfQAD2b97I54sXeY0dMul+Lho0GIDDO7fx0RPzvMZefvvddB9yHQDH9v7Ke/Mf8Rr7l5tvo/dfbwDg5KGDvP1/07zG9hs1jv6jbwbg9LGjrJg+2Wtsr2HXk3zL7QDknMpg2X0TvcZ2u+paBk90njRfcDaHl+682bWuZNt8+bduDApex/ck0aFZKLElzuEp2W6LXdB3AMOmPexafj5llNc6tOnei+sfmuu2v5KJV0ktulzEmDmLMERFEdilC2/ecRMFZ897zwUDwVHEJvdh7AOPYjudiT3zNG8te57c3LMe9xuGxhXZNuw5OdjPnmVD2zhyAz317pgJys/lsq1bXSUbOiSQHex58EWTzc7gXw+7ln9q15zMUE+pHOjtDobsTnUt/9wmjoxw7xcrDDuejaY3oBkM/Bxm5LjJ+8nefyUYo6YHnY4tjnz+UN6/OP8amUCg3gA6jW25mRwo8PyZBjAsoQOhRucPz+1n0vkt+5TX2KGtOhIZ6BzmYNepNHZnpnuNHdKmM9HBzquX95xKY/uJo15jB7e7kLiwSAD2ZaTx87FDXmMHtb+Ilk2iQdM4mJHGj6m/eY39S4eLad3U+fn3x+kTfLf/F6+x/dt2oV2z5gD8eeYUa/ft8BrbJ7EjHeNaApCencnXe7d5je3Rqj0XJiQCcCo3my9/8f490LVFG7q1bAdAVn4un+38yWtsl/jW9EzswFlfnQrnqfAhLb1ez4gRIxgxYgQnTpxg+fLlLF++nMmTJzN9+nRGjhzJggULaNWqVUV3XWdZjhzh9PrN5wouagN6z29Ma1oap38490GiLkwEg+eeDfupDDJffc217OjcCkyeM1Z7VhaZr5/7UrV3bAkeP8zAkZdL5ooV52I7JICXDzNlNnPmjTddy7Z2zcHLhxk2G2feesu1aG0TBz4+zISoaxLCDPzvjr8QFxHIqZd3+Ls65VB0VVh0NAC6t18BLwmPqUVL2q1c4lreNG0Succ8f8nqm0QR//jfcOTn48jPx7BpHXj5oYPRSHCfPiiLBWWxoNN5TuQqw55xLrlwtI4FU6jX2MJfdrtOOLe1jIEo71fk5P3wAza7M6G1JERDtPcf4me//sbVS22ObwrNIr3H/u9rMDsTrcLYJhAX5T129dfoC5zPVUFMJDRv6iP2f5jynF/ceU3DoUWM19jc/33N6bPOH7u5TcKgVTPv+/36a05n5zlvR4RAYpz3/a5bx+kzzrZ1NiwY2sZ7j/3hB06fdraXnJBAaJ/gNTb/p02czlgNQHZQAFzQwnvslq2cXvWNsw4BRujkPY8o2LmT0199S66P3rvzVdtl6WvWrGHChAkcP36cjz76iL/+9a/VsdtaUXxZ255HHiHsvCHmNU1D0zT0JS4ztdntgJd+ZZ2GQad3j/U2gNn5sQ678zCVh3BN0zDo3fernCtKxwIG/blc1uawo5TnWACjwUNs8Y58xNoddhwKjm/4ls2bd6Ii9UzcuNt1YrtmMLB6tbOhX3HZZW7P4fmku7ooVrqrKxzr65CWzWbjqun/YkrWIq5tr2Gcsg1DjPOK02PPPMPHixcTeuml3Pjyy6UuyKjMIa3yxDb0w94GkwlsNpTdjrWwwJko2R0omx3sznJls4HdhkFvcJVbzYU4rFaw20EplEOBcoDDgXIoDHo9mlLOk8etVhx2u2sdnIvD4cCg04FSoJzvT7vd7qyzwwGqeBtAKQyuw20Ku8OBw2EvWlUc44wDMGg+YkvG4+wR12kaqKJYVeKztVSs5op1OOzY3fbnHqvTNNckmA6HHYdDuVae/3Wu0xXVAXAohcPHIUOdTkOn6coXq50Xq7zHapz7/nQUPb7yxCqlsJdjv2cLCrhgwePVe1m6Nz///DOvvfYa7777LtnZ2SQkJNCihfcMri5LePBBGYenEjIKT3D5rwdRUQaCQt1/oV177bUV3p/BaIRynhBfkVi9wVjuY741F3sumajOWJ1e70p+qjVWp0cXWP2xmk7n9iVabbGa5hZrBGK7JXNZ+osEaWfBcS650BcUcnlIKE379CnVbj0pbx1qNDaghmJN5Z8GqFyxJhMaEBDkpbfYg/JHCnFOcE4OLHi8XLGVSnhOnTrFm2++yeuvv86vv/6KwWBg2LBhTJw4kSFDhqCTQbeEEHVIrgqiqXYWzOcOBzmKzpvRyyjxQjQK5c5MHA4Hn3/+Oddffz0JCQk88MADADzzzDMcO3aMDz74gGuuuUaSnUbIarfzUXYWH6WfwVriUInVanWd42X1cQhFiJpitVo5vHEVb+0sxGpXbglPYVY2H2Vn8e7WrdI+hWgEyn0OT/PmzTlx4gQRERGMHTuW22+/nV69epW9YT0gU0tUzca5U+k/bzEgU0uIusWtDT4cRshNy+Gi6wHYO3YcXVa+61wn7VOIeqlGppZIT0/HaDTSrVs3Dh8+zOzZs8vcRtM0Vq3yfsmwEELUKvO5K5HsuZ6HahBCNEwVOofHarWyfv36csd7GmhKCCH8pjDbddNx1vPl3UKIhqncCU9qamrZQUIIUZcVZLlu2iXhEaJRKXfC07p165qshxBC1LzCLMA5to8jL8+/dRFC1Cq5pEoI0XgU9fA48vLODegmhGgUJOERQjQeRefwyPk7QjQ+VR5pWQij3sCzzZtDhJ6AgHOjsAYEBPDee++5bgtR2wICAuh7x2OEnNpFgOEr1yEte04OJk1j8QUdaf6Px6R9CtEISMIjqsyg13F1WDgqxuA2H5HBYGD06NF+rJlo7AwGAy16XI7uSCAG3WrXIS17ZiYGTWNYh/a0lTYqRKMgh7SEEA1eNkWDChb18NgyzwDOWcOFEI2DJDyiymx2B1+dzWF1Rja2ErN722w23n//fd5//323ciFqi81m489t33Jo76/YHMp5Do9S2DMzsSnFl6dPSfsUopGQQ1qiyqx2G9OOH4fjcJfZ7DqsZTabufHGGwHn0P2Gcs78LUR1MZvNbFo2y3m7SxgGnQ0sedjOZGJRiklffAFffCHtU4hGQHp4hBCNgkMrSmgKs7AXHdISQjQekvAIIRoFqynMeaMgC3tmptu6JTuWsCV9C3lWGYxQiIZK+nCFEI2CzRgOliwozMZ2xj3hWf7rct448AYAzUOa0yq8Fc2CmxETFENMcAzRQdFEBkQSERBBhCmCiIAIggxBMl+gEPWIJDxCiEbBagwHCx4PaV3Z6kp25ewioyCD43nHOZ53vMz9GXQGV/Lj+jOVvh1mCiPUFEqYKYwwYxhhpjAC9AGSLAlRyyThEUI0Claj90Naj1/6OCEhIWQVZnEg6wBpeWmczD9JRkEGGfkZnCo4RY4lh2xzNlnmLKwOKzaHjdOFpzldeLrCdTHoDK7kJ9QU6nY71BhKuCmcUFMoIcYQggxBBBmCCDQEum4H6YMIMhaV6wPR6/TV8RQJ0aBJwiOEaBTsRefwqNzT2LOzPcZEBkbSK66Xz/0opSiwFbgSoGxzNtkWZyKUbc4mx5xDtiXblRydtZwl15LLWavzX4XC5rBxxnyGM+bqOXnapDMRZHQmP8VJkVFvxKQzYdQZMemd/xr1Rrdlk850Lq5oXcn1Ok2HXtOj1+nRa3q3ZdftEssGzYBO0zlv6wxety+OAdA0DR06NE1DQ3P9q9N0aGigUWq9EJUhCU8JYz8fizHY6HGdouyJBlU1TUZYXfdVW/vpVJDB43Fx5EfoMJlMrnKTycTrr7/uui1EbTOZTPS89REOn86HwFwAbCfSQSn0Rj0tJjanS/RFFWqfmqYRbAwm2BhMXEhcherjUA7yrfnkWnPJseSQa8n1evus5Sz5tnwKbAUU2gopsBW4/RXaCl3vTYvDgsVsIRvPiVxDU5z46NDhzInOJUjnJ04l/y1OnIr34bbPEolUqXXnLZdc9LWf89eXFevpcZZnv+evL1Xf8/dbjXX0N2u+tdyxkvCUcDjnMHqrdA1XVEvNwciISA630DAazyWMRqORCRMm+K9iotEzGo0k9ruWU3+cgeD1AFhPngRANQkl8lI9Ay4Y4NZua5JO0zkPW5lCK5wsnU8phdludkuACmwF5NvyKbQVYnVYsTgsWO1WrA4rVnvRssOKxW7BYrdgc9hcMSXXFcfblR2HcmBXduyOEreL/hyOc8sl41zLJW7blA2HcuBQjio/jwqFUgoHDsrxu040YPYCe7ljJeEp4cUrXiQ0LNRnTFmZsyuunFmxv/ZXXuW5358PzQf2yOeOqNOsxnAAbBnOc27yIgOBAiIDIv1XqSrQNI1AQyCBhkCa0MTf1Sk3pRQO5XAlLcX/OZTD1ePsWl8cc17c+ftx28ZDvELh/N99m5J18lpfH7Gl1p3/Kai8rzv/Pn3tq6yeeF+xFb1fX7F1Ue7ZXK7ginLFSsJTQs/YnoSHh/u7GvXObwSxPjeX9FNwlc3mGrHWZrOxevVqAIYMGSIj2YpaZ7PZSPvlR/Izcino50wKbKeyADgdqnF2x1n+LPgTW1ebtM9aomkaek160kX1yAnJKXesvMNFlVntdiYd+xOOwYzzppa47rrrAJlaQviH2Wzmx5dmAJB36zIArJnOD8i0IBt/LP6Dp3iKObfOkfYpRAMnIy0LIRoFq6mohye7AIC0ILM/qyOEqGWS8AghGgWLKRIAa47zqo4/A/L9WBshRG2ThEcI0ShYik5OtjqvTidDTtcTolGRhEcI0SjYDWE4HHps+c4TZk9G+rc+QojaJQmPEKJx0HRYHVGAhiPAyNlgf1dICFGbJOERQjQaVrPzOFZ+dCDU8RFkhRDVS67DFFVm0Ot5tFkspyMpNbXECy+84LotRG0zmUwkjZnGkcx8DEYjlsJgoIDTkTo0vcbNj9xMv+b9pH0K0QhIwlOCw2LHYSk9TLWmaWhGnVucN5oGmlFf7bEAOlPlYpXVjq8BMysf6xwZ1aQzcVN0LIcTNPRK56qb0WRk8uTJrlifz4Xx3Bw3yuZAObxXokKxBh2arg7F2h0ou49YvfOLuOKxCmX3PmS/ptfQ9LqKxzoUyuYjVqehGepQrFIo67lYPTo6X3o9BUezMGp6LLnOxOZYuA1NrzHx9ttJbpkMqvR7qmLve/mM8Bzr8Dlab0Vi5TOiKFY+I0rFlpem6sPY0TUsJyeHiIgI9tz/JWEBIaXWB4amEp34qWv52K/3oJTnuXdMwX/SrO2HruXje+/EYfd8soAx6ASx7d51Laftuw271fOlI4aA08R1eNO1nL7/Vmzmph5j9cYc4ju+5lo+cXAs1gLP8/bo9Pk07/yya/nkoVFY8lt4jNU0KwkXvuhaPnV4OIW5bTzGArRYdKnr9um391Lwyymvsc3n93d9+GW+t4/8bSe9xsY/2hd9qPOL68zHB8j7Kc1rbNzM3hiiAgHI+uIQud8d8xobO7UHxljn65/99R+cXXPEa2yzyUmYWjpn3z67/k+yv0z1Ght958UEtosEIHfjcbI+Oeg1tumECwnqFAVA3pYTnPngd6+xUTd1IrhrDAD5uzLIfOc3r7FNRl1ASK9YAAp+y+T08l+9xkYOb0dov+YAFB7M4tQrv3iNjbimDWHJzvZiOXqWky/u8BobdkUrIq5sDYD1RB4n/rnNa2zoXxKIHNoWAFtmIelP/uw1NuSSeJqMaA+APddC2j82eY1V2VvJXftv3hhi5OskIx/vW+w1NujiaJre3Nm1/OdD33uNDQw5QHTcW2A3g83CsWMLUCrAY6xJv4dmof9wLR/PWYpDeX7fG/UHiQ2bTfFslWk5/8TuiPEYa9AfI67Judj0M/Ox2Zt7jNXrThPfbJYr9sTpmVitrT3G6nS5NG9+br8nM+7BYm7nMVbTLCS0nuOM1TROpY+nsKCjx1iAFu3nuWJPp91AQW4Xr7HNL3gWnc4Kmkbm8WvIz77Ya2x8h3+hNzjHWzqTPpi8Mz28xsa1W4rBlANoZJ1IJjezj9fY2LavYQxwTk2SndGfs6cGeI1tlvgmpqB0AM6e7kP2yWSvsdGtVxIYchSA3MwkstIHe41t2vK/BIUdAiAv6yLOHL/aa2xUi88IDnd+huTnXEDmn8O8xjZp/hUhkc7PhYLctpw+MtJrbGTcGkKb7gSgMK8Fpw7f6DU2IvY7wqK3AGApiOPkoZu8xobFbCSi2U8AWAubcuLgeK+xoU23EBn3PTkFViL+9jnZ2dllzpQgPTzlkX8KDnx9bln9DfAy2WDBGfdY+wTv+y3Mdo+1jgW8vGCWXDjwTYnlkYDnhAdrgXuseSjgZaJCu/W82CsAzwkPyn5eHQYAbbA77Gz+cxcAfVp0Ra9zJi7b/zhNdqrzy7KLI9rzPos8vXofZ6x2zFY7g1ML6OojdtTSjWSjcCjF+FwdV/k4FW3o899zUufM6W+zGLjB2+sGjHhxA0c0Z+zNNiO3+Ii98d8b2ac5f32Mthu5C++HRMa/upmdOuev7eEOI3/H8xchwN1vbmFTUexVDgMzCfQaO3XlDr573xn7F4eeWT5iH/noF77+dDsAfRx6/uEj9h+f7+GzL52vZ1eHjqcI8hr7zP/28cG3zg/Jjg4dz/nY70vrDvL2BmdS1sqh8W8f+12+4TCvbd4PQDOHxnIfsSt/PspLO51fAOEK/lMi9vy2SdFEgwdiHBgwsPHIdte64nbrxmZ2tvm9nwPeP6gpOAPHtpxb9vU70mEHc075YwtLzIDu8DHxpsMGuSdKLPuYRdphg6wSCb3NxyCMDjucKpF4W3yMX6QckF4iQbaUMez/nyUSWctlvmP/2ABaUT0tPQDvCQ9HNoJWdN/WLoD3hIejm0FX9APL2hbwnvDw5xbQFT1v1gTAe8LD8W2gc7ZhbE0B7wkPx3eAvuh5s4UA3hMe0ndBRlFbs+kB7wkPJ3bDqQ3O23YL4D3h4eReyFxbFHsW8J7wcOp3yPq2KPZiwHvCw+kDkF0U6+iAz/dRZiqcXVMU2wrwnvCQ9QfkrQFz+ftspIeHcz08Z9YuIzy0dG+MpilKTv3isHk/2VEDNIOq9lgAXSVjlU3zObFnpWPtoJTGyg8/5aZFzp6qDlM/QGdyfunlWwo5+s9RAPzr8538erKQXX9mczrPUmq/hSVuGwFfM+1UJNbMufn7DPjO8CsSawEclYjV4zVVBsAK2OtQrA58pHJgK/qraKwGPtK+isXacda5WMmUy2EpZH9RG9y+fT8BN40Eh43b7tfTPOoCPhrzEQA5mdmEhJTo3bVZ0Ha+jfbjM3D2uHNfKsBZm6i2EH0BhMdDcDSENEULCkcLCARDAOgDnLEGE+gDcPvw0LSiw1/n3r8Oi8P9BOoSH8kaoBnPlTuKD9cphXM2zOJY523d+bHnrT93G7dY90Mu6tz+i9a7x6oyYtW5xXLFOpedh1Hc1ztvO5c1vaL408n52YNXmv7cU+q3WJ3zD6Vcn5XeY5UzFmfOqBzliVUViK3AflU179f1/VmO/Zb4rlUKlL3s2JyzeURceof08FSUrsdodOWYPLQiRw3rQqwG5Z5DvTKxZ7/e4Sp7bHRXurWJ5eXvDvHhpnOHbp5cs9+VCAFEhwbQPDKQqBCT8y/YRFigkUCjjkCjnkCjjgCD81+TQYdep0Ongb7oC0Ov09BpoNNp6DStqJyicuc694twnAsly0quLjkrvOYqKxlbYr2XJ6i4vLwz20P5ZiOurp8k5dmPr5mTK7af8tSnHPdVrv14X5efl0e3fzpvtyg8RYbDhjnYQV6QgY5Nzx1q0Zn0584nyUyFD253/kIHCIuHLiPQdboWEnqCqezr2evC+74ufUZIrMTWWGxODnBHufYpCY+osqwCm+v24M6xNI0M59kbk0jpFUfSs87yfu2iuLJra3q0bkKHZqGEBfrqYxCieuTlnfvILNzvPLxwouhIcIfIDqU3SN8NK65zHqIKjIDLZ0GP8c6eGyFEvSYJj6iy8MBzzSiwxBUl7WPDXLdfm9DH/ZCBELXMvHs3ALubO/s+ukafdw5I5iF4Y7gz2YlPgjFvQmSrWq6lEKKmSMIjqiwxWhIZUffl79yJAdjdQkeIw8EFwSVO5LdZnIex8k9BXFcY/wkERfqrqkKIGiAjLYsqq8g5K0L4i+WQc+iA3xM0uhea0eeWGPpg00twfDsERsK4/0iyI0QDJAmPEKLRyGwWSE6IxiUFha6rrwD48V/Of695EiK8DMsghKjX5JCWqDKDXscDMTFkNQ3AaDx3MrLRaOTJJ5903RaithW3wZwvv8Jw7Bg/tbYCGpfnF2AsyHC2zwPfYrRvgBZJcPFof1dZCFFDJOERVWY0GJgY1ZQjbcNKzaU1Y8YMP9ZMNHYmk4kHpkzhwIf/xa5pbGmvaK8LpaXNBnlpzHjgIXh2GeRqMOB+0EmntxANlby7hRANWu6332LPyiIn3MCeVhojooquzjq1zzkib2668xL0Ttf5t6JCiBolCY+oMrvDwS8FBezLysVuPzdhod1u5+eff+bnn392Kxeittjtdn545z/8UlDAN51smIxBjGjjTGzs6Xv5+dNX+fmYHXuHoc6RkYUQDZYc0hJVZrHaGHPkDzgCEwsLXePtFBYW0qePc16a3NxcGYdH1LrCwkKuffMNAP4e3InxF44nooWzTRae2E+fBc45iXIn9kdapxANm/TwCCEahcjAJky8aKJzDqym7Z2TABVL6Om/igkhaoUkPEKIRqFHXC+CjUXzYHUc6r6ySevar5AQolbV2YTnxRdfJDExkcDAQPr27cvmzZu9xr7yyitceumlNGnShCZNmjB48GCf8UKIxkenLzFref+/Q3iJ8XZk8EwhGrw6mfCsXLmSadOmMWfOHLZt20a3bt0YMmQIJ0+e9Bi/bt06xo0bx9q1a9m4cSMtW7bkqquu4tixY7VccyFEXaXTlUh4QmPg7u/9VxkhRK2rkwnPs88+y5133sltt91Gly5dWLp0KcHBwbz22mse499++23uuecekpKS6NSpE8uWLcPhcLBmzZparrkQoq5y6+EBMAb6pyJCCL+ocwmPxWJh69atDB482FWm0+kYPHgwGzduLNc+8vPzsVqtREVFeVxvNpvJyclx+xNCNGyaDCooRKNW5y5LP3XqFHa7ndjYWLfy2NhYfvvtt3Lt48EHH6R58+ZuSVNJCxcuZN68eVWuq3Ay6HXc07Qp2U1KTy1x78x72ZWxi1kbZ6E36lEolFIolCuu5HLxbYWiOMRVopRruZiGhqZpFP/n/F9zLy86P8NrbIkyj7FF/wLVEuupjiXjz9/W12Py9LjOr5e32+fHe6pzqfqUfBze4rUS68vx+hTv53zF60qudysrcbv45vnbWC1WxlwQT9PTFkxG93F2jEYjc+bMcd0WQjRsdS7hqapFixbx7rvvsm7dOgIDPXdZP/zww0ybNs21nJOTQ8uWLWurig2O0WDg3ugYjrRzn1rihPkEO7vv5Iz5DF8f+9qPNRSN2SNtI0nSFJkB7p8HJpOJuXPn+qdSQohaV+cSnujoaPR6PSdOnHArP3HiBHFxcT63ffrpp1m0aBHffPMNXbt29RoXEBBAQEBAtdRXeGaxW/j7t3/njPkMnaI6MaL9CNe6Ur0NPnoZSi6fv/78Xp+SvUOu8vPKSvUkeeld8hVb3Pt0fqy3urj1VHmqo5f781Sn4vjyPgZXvIf6+rovj4/v3AMp8/ko+bi8PScl77fk4zr/MZ7PLa4c24bojwD5tG3SrtS+hBCNR51LeEwmEz179mTNmjWMGDECwHUC8r333ut1uyeffJLHH3+c1atX06tXr1qqrQDn67PfbCbtrAGHw4FOp2PJjiXsz9xP4OlA7rvwPgZ2HIhOzqEQtczhcLDmtevZb97FpYagUuv27t0LQOfOnaV9CtHA1bmEB2DatGmkpKTQq1cv+vTpw+LFi8nLy+O2224DYPz48SQkJLBw4UIAnnjiCWbPns0777xDYmIi6enpAISGhhIaGuq3x9FYmK02hh9OhcNwS0EBmfZMVvy6AmVVbJ2xlWSSydi4kZDAQJRDOUe4dThK33bYUQ4HFJUrhwOKf+FrJXqBNK1o3BTNde6Ga33JGIqWtaJzQHQ60HTOZZ2uaFlzX6dzX9Z0RfsojvW0nU4HaM5Y13LJ+9A5q1O07KpnyWVRIwoKCrjq008AOG6zlVp30UUXATL1iRCNQZ1MeMaMGUNGRgazZ88mPT2dpKQkvvrqK9eJzEeOHHH7NfbSSy9hsVgYNWqU237mzJkjx+j94F87/oVN2bgk/hL2sAeAP8anECy/oL0rSqJcCZCnpKrUMmha0W1d0WG/kkmUa5/auTgPyz73qWlFiaDu3HbF9dQVrfO0T12J7YoTzKKE0nmf5dynK0ktvezrPrSieuSZLeeeY03anxCNWZ1MeADuvfder4ew1q1b57Z8+PDhmq+QKJe03DRWH14NwD0XTOQ1nGMnaUFBGGNi3L+MdbpzvSDeyjXN2ctT3NNTdLvkuTGu9SViXOuLy4p6i5Qq7kFSzp6lon/d1jkcztuqaLviuOLYUtudK8fDOSfl4iia18lup+QeKrk3USTfcW6+LE2uxBKiUauzCY+on/574L84lIO+8X2J3bjfVX7Bhh8azeHF8xMgdX6iVJxsFSdIruWiQ3znJ2Met+O8Q4MeDhUq5XaI0LlcMu7cfs7FKfdlStTN4XCuU6r0YUe3Zc7FFm9Hibqcv+xtO9fz4KVurv14qFvRdjqLFfb/DkBI3z5+ahFCiLpAEh5RrT498CkA4zqOI/vFf7nKG9N5KpqmgV7v/AMazyOve/Ly8uCVlwHQBQWVES2EaMjkoLaoVmfMZ4gMiKSfakth0RUwQgghhL9JwiOq3WUtL6NgzVp/V0MIIYRwkUNaosoMeh23NYniVDgc1MPg1oM5+6+XMGga9157LYGdO8vQ/cIvjEYj06dPd90u7zohRMMjCY+oMqPBwIxmzfi1FTwdFEbvkC4c3rkTk6bx7LJlGMsYIVuImmIymXjqqacqvE4I0fDIIS1RrS5NuBTb9l2gFKbEREl2hBBC1AnSwyOqzOGwc8xq4WQB/CXhL+S/vwmAwD59XGMktWrVSobuF7XO4XBw5MgRoHQb9LVOCNHwSMIjqqzQauWaQ4fgEBxv2ou8za8DoHXrSps2bQAZul/4R0FBgdc26GudEKLhkZ80osouiOzguh1qN2Letw+A4O7d/VUlIYQQwo0kPKLKgozBrtvm/fvB4UAfE42xaO4zIYQQwt8k4RHVqqBosMHAzp39XBMhhBDiHEl4RLUy//YbAIFduvi5JkIIIcQ5kvCIamX+zXn+jiQ8Qggh6hJJeES1Mh88CMghLSGEEHWLXJYuqsyg0zEuMhItJAS91YoWGIixeXOUzcY999zjjDFIUxO1z2AweG2DvtYJIRoeTSml/F0Jf8vJySEiIoLs7GzCw8P9XZ16J+errzh2/1TXckCH9rT97DM/1kgIIURjUJHvbzmkJaqdKTHR31UQQggh3Eg/rqgypRSZNhsATfR6TK1bu8pPnToFQHR0NJqm+a2OonHy1QalfQrRuEjCI6os32xm4MEDAGzpcIGrhyc/P59mzZoBMnS/8A9fbVDapxCNixzSEtVODmkJIYSoayThEdVOEh4hhBB1jSQ8olrpgoPRN23q72oIIYQQbiThEdXK2LKlnPwphBCizpGER1QrU4sW/q6CEEIIUYokPKJaGVtKwiOEEKLukcvSRZUZdDpGFI1wGdSy1blyg4GUlBTXbSFqm682KO1TiMZFppZAppaoqpJTS7R67VVC+vf3c42EEEI0BjK1hKhVymJx3ZZL0oUQQtRF0o8rqszy55/kOxwA6OPiXOVKKfLz8wEIDg6Wq7dErfPVBqV9CtG4SMIjqkzXty+99v8OQG5BgWuI/vz8fEJDQ53lMnS/8ANfbVDapxCNixzSElUW2KmTv6sghBBC+CQJjxBCCCEaPEl4hBBCCNHgScIjhBBCiAZPEh4hhBBCNHiS8AghhBCiwZPL0kWV6fV6Ro0a5bpdVrkQtcVXG5T2KUTjIlNLIFNLCCGEEPWRTC0hhBBCCFGCJDxCCCGEaPAk4RFVlpeXh6ZpaJpGXl5emeVC1BZfbVDapxCNiyQ8QgghhGjwJOERQgghRIMnCY8QQgghGjxJeIQQQgjR4EnCI4QQQogGTxIeIYQQQjR4MrWEqDK9Xs/QoUNdt8sqF6K2+GqD0j6FaFxkaglkagkhhBCiPpKpJYQQQgghSpCERwghhBANniQ8osry8vIICQkhJCSk1NQSnsqFqC2+2qC0TyEaFzlpWVSL/Pz8CpULUVt8tUFpn0I0HtLDI4QQQogGTxIeIYQQQjR4kvAIIYQQosGThEcIIYQQDZ4kPEIIIYRo8OQqLVFlOp2O5ORk1+2yyoWoLb7aoLRPIRoXmVoCmVpCCCGEqI9kagkhhBBCiBLqbMLz4osvkpiYSGBgIH379mXz5s0+499//306depEYGAgF198MV988UUt1VQIIYQQdV2dTHhWrlzJtGnTmDNnDtu2baNbt24MGTKEkydPeoz/8ccfGTduHBMnTmT79u2MGDGCESNGsHv37lqueeOUl5dHTEwMMTExpaaW8FQuRG3x1QalfQrRuNTJc3j69u1L7969eeGFFwBwOBy0bNmS++67j4ceeqhU/JgxY8jLy+Pzzz93lV1yySUkJSWxdOnSMu9PzuGpmry8PEJDQwHIzc0lJCTEZ7kQtcVXG5T2KUT9V6/P4bFYLGzdupXBgwe7ynQ6HYMHD2bjxo0et9m4caNbPMCQIUO8xgshhBCicalzl6WfOnUKu91ObGysW3lsbCy//fabx23S09M9xqenp3uMN5vNmM1m13J2djbgzBRFxZU8HJCTk4PdbvdZLkRt8dUGpX0KUf8Vf2+X52BVnUt4asPChQuZN29eqfKWLVv6oTYNS/PmzStULkRt8dUGpX0KUb+dPXuWiIgInzF1LuGJjo5Gr9dz4sQJt/ITJ04QFxfncZu4uLgKxT/88MNMmzbNtZyVlUXr1q05cuRImU+Y8CwnJ4eWLVty9OhROQ+qEuT5qzp5DqtGnr+qkeev6irzHCqlOHv2bLl+tNS5hMdkMtGzZ0/WrFnDiBEjAOdJy2vWrOHee+/1uE2/fv1Ys2YN999/v6vs66+/pl+/fh7jAwICCAgIKFUeEREhDbWKwsPD5TmsAnn+qk6ew6qR569q5Pmruoo+h+XtqKhzCQ/AtGnTSElJoVevXvTp04fFixeTl5fHbbfdBsD48eNJSEhg4cKFAEyZMoXk5GSeeeYZrr32Wt599122bNnCyy+/7M+HIYQQQog6ok4mPGPGjCEjI4PZs2eTnp5OUlISX331levE5CNHjrjNfdO/f3/eeecdHn30UR555BE6dOjAxx9/zEUXXeSvhyCEEEKIOqROJjwA9957r9dDWOvWrStVNnr0aEaPHl2p+woICGDOnDkeD3OJ8pHnsGrk+as6eQ6rRp6/qpHnr+pq+jmskwMPCiGEEEJUpzo38KAQQgghRHWThEcIIYQQDZ4kPEIIIYRo8CThEUIIIUSDJwkP8OKLL5KYmEhgYCB9+/Zl8+bN/q5SvfHdd98xbNgwmjdvjqZpfPzxx/6uUr2ycOFCevfuTVhYGM2aNWPEiBHs27fP39WqN1566SW6du3qGqisX79+fPnll/6uVr21aNEiNE1zG8RV+DZ37lw0TXP769Spk7+rVa8cO3aMW265haZNmxIUFMTFF1/Mli1bqv1+Gn3Cs3LlSqZNm8acOXPYtm0b3bp1Y8iQIZw8edLfVasX8vLy6NatGy+++KK/q1IvrV+/nsmTJ/PTTz/x9ddfY7Vaueqqq9wmthTetWjRgkWLFrF161a2bNnC5ZdfzvDhw/n111/9XbV65+eff+bf//43Xbt29XdV6p0LL7yQtLQ0198PP/zg7yrVG2fOnGHAgAEYjUa+/PJL9uzZwzPPPEOTJk2q/85UI9enTx81efJk17LdblfNmzdXCxcu9GOt6idAffTRR/6uRr128uRJBaj169f7uyr1VpMmTdSyZcv8XY165ezZs6pDhw7q66+/VsnJyWrKlCn+rlK9MWfOHNWtWzd/V6PeevDBB9XAgQNr5b4adQ+PxWJh69atDB482FWm0+kYPHgwGzdu9GPNRGOVnZ0NQFRUlJ9rUv/Y7Xbeffdd8vLyvM6jJzybPHky1157rdtnoSi//fv307x5c9q2bcvNN9/MkSNH/F2leuPTTz+lV69ejB49mmbNmtG9e3deeeWVGrmvRp3wnDp1Crvd7pqyolhsbCzp6el+qpVorBwOB/fffz8DBgyQaVEq4JdffiE0NJSAgADuvvtuPvroI7p06eLvatUb7777Ltu2bXPNTSgqpm/fvixfvpyvvvqKl156idTUVC699FLOnj3r76rVC4cOHeKll16iQ4cOrF69mkmTJvH3v/+dFStWVPt91dmpJYRobCZPnszu3bvl+H8FdezYkR07dpCdnc0HH3xASkoK69evl6SnHI4ePcqUKVP4+uuvCQwM9Hd16qVrrrnGdbtr16707duX1q1b89577zFx4kQ/1qx+cDgc9OrViwULFgDQvXt3du/ezdKlS0lJSanW+2rUPTzR0dHo9XpOnDjhVn7ixAni4uL8VCvRGN177718/vnnrF27lhYtWvi7OvWKyWSiffv29OzZk4ULF9KtWzeee+45f1erXti6dSsnT56kR48eGAwGDAYD69ev5/nnn8dgMGC32/1dxXonMjKS/2/vXkOi2to4gP8nddSRMTXM1HIs84ZZkaaZloJiCJpGkJilWFqIFRghBYUGVpQSgtUHCy+H0IpCwgzSvERFJhKW5CUUNSoQKjVvmek6Hw7Oe3zHvJxmnGb8/2A+zFqL9Tx7Psw8s9fae7u4uKC9vV3bqegEW1tblT8n7u7uGlkWXNQFj1QqhZeXF6qqqpRtExMTqKqq4h4AWhBCCBw5cgSlpaWorq7G6tWrtZ2SzpuYmMDo6Ki209AJwcHBaGpqQmNjo/Ll7e2N2NhYNDY2wsDAQNsp6pzBwUF0dHTA1tZW26noBH9/f5Vbcbx79w4KhULtsRb9ktbx48cRHx8Pb29v+Pj4ICcnB0NDQ0hISNB2ajphcHBwyj+Zzs5ONDY2wsrKCg4ODlrMTDekpKSguLgY9+/fh1wuV+4dW7p0KUxNTbWc3Z/v1KlTCAsLg4ODAwYGBlBcXIza2lo8evRI26npBLlcrrJfzMzMDMuWLeM+sjk6ceIEIiIioFAo8OnTJ6Snp8PAwAAxMTHaTk0npKamYuvWrTh//jz27NmD+vp65OXlIS8vT/3BFuRasD9cbm6ucHBwEFKpVPj4+Ii6ujptp6QzampqBACVV3x8vLZT0wnTfXYAREFBgbZT0wkHDhwQCoVCSKVSYW1tLYKDg0VFRYW209JpvCx9fqKjo4Wtra2QSqXC3t5eREdHi/b2dm2npVPKysrEunXrhLGxsXBzcxN5eXkaiSMRQgj1l1FEREREf45FvYeHiIiIFgcWPERERKT3WPAQERGR3mPBQ0RERHqPBQ8RERHpPRY8REREpPdY8BAREZHeY8FDREREeo8FDxEtiKCgIEgkEm2nMWdCCHh5eSE0NHRKu7qP4/Hjx5BIJHj48KHa5iQiVYv+WVpENH/z/cHXxRu6//XXX3j16hVevHih0TghISEICAhAWloaduzYwQd2EmkICx4imrf09HSVtpycHPT390/bB/xTQAwPD2s6NbWYmJhARkYGtm3bhi1btmg8XlpaGnbu3Ilbt24hNjZW4/GIFiM+S4uI1MLR0RHd3d06eTbn/5WXlyM8PBzXr19HYmLilL6goCA8efJErcc5NjYGOzs7uLm54enTp2qbl4j+h3t4iGhBTLf3pbCwEBKJBIWFhSgrK4Ovry9kMhns7e1x5swZTExMAACKioqwYcMGmJqawsHBAVlZWdPGEEIgPz8f/v7+MDc3h0wmg7e3N/Lz8+eVa0FBASQSCXbv3v3LMWNjY8jIyICjoyOMjY3h4uKCa9euqYzLyMiARCJBbW0tCgsLsWnTJshkMgQFBSnHGBkZISoqCs+ePUN7e/u8ciWiueGSFhFpXWlpKSoqKhAVFQV/f3+Ul5cjMzMTQggsXboUmZmZiIyMRFBQEO7du4e0tDTY2NggLi5OOYcQArGxsSgpKYGzszP27t0LqVSKyspKHDx4EM3NzcjOzp41FyEEampq4OrqCktLy1+Oi4mJQX19PcLCwmBgYIA7d+4gJSUFRkZGSEpKUhmflZWFmpoaREZGIjQ0VGWvjp+fH27cuIHq6mqsXbt2Hp8eEc2JICJSA4VCIWb6SgkMDFTpLygoEACEkZGRqK+vV7Z/+/ZNLF++XMhkMrFixQrR0dGh7Hv//r2QSqXC09Nzylx5eXkCgEhISBA/fvxQto+OjoqIiAgBQDQ0NMx6HG/fvhUARGxs7IzH4evrK/r7+5Xtra2twtDQULi6uk4Zn56eLgAIMzMz8ebNm1/Gff36tQAg4uLiZs2RiOaPS1pEpHX79u3D5s2ble/lcjnCw8MxPDyM5ORkrFmzRtm3atUqBAQEoLm5GT9//lS2X7lyBWZmZrh69SqMjIyU7VKpFOfOnQMAlJSUzJrLhw8fAAA2NjYzjrtw4QLMzc2V711dXeHv74+2tjYMDAyojD906BA8PT1/Od9kvMn4RKReXNIiIq3buHGjSputre2MfePj4+jp6YG9vT2Gh4fR1NQEOzs7XLx4UWX82NgYAKC1tXXWXL58+QIAsLCwmHGcl5eXStvKlSsBAH19fZDL5VP6fHx8ZpzPysoKAPD58+dZcySi+WPBQ0Ra9+8zJZMMDQ1n7ZssZHp7eyGEwMePH3H27NlfxhkaGpo1F1NTUwDA9+/f/3PO4+PjKn2znTEaGRkBAMhksllzJKL5Y8FDRDpvsvjw8vJCQ0PDb81lbW0NAPj69etv5/Vvs92scTLeZHwiUi/u4SEinSeXy+Hu7o6Wlhb09fX91lweHh5YsmQJ2tra1JPcHE3Gm2mfDxH9dyx4iEgvHDt2DMPDw0hKSpp26aqzsxNdXV2zzmNhYYH169ejoaFBeR+ghfDy5UsAQGBg4ILFJFpMWPAQkV44fPgw4uPjcffuXTg7OyMuLg4nT55EQkIC/Pz84OTkhLq6ujnNtWvXLgwMDMx5vDpUVlbC0tIS27dvX7CYRIsJCx4i0guTd2y+ffs2PDw88ODBA1y+fBmVlZUwMTFBdnY2QkJC5jRXYmIiDA0NcfPmTQ1n/Y+uri48f/4c8fHxMDExWZCYRIsNn6VFRDSN/fv3o7y8HN3d3SqXmKvb6dOncenSJbS0tMDJyUmjsYgWK57hISKaRmZmJkZGRpCbm6vROL29vcjNzUVycjKLHSIN4mXpRETTUCgUKCoqQk9Pj0bjdHZ2IjU1FUePHtVoHKLFjktaREREpPe4pEVERER6jwUPERER6T0WPERERKT3WPAQERGR3mPBQ0RERHqPBQ8RERHpPRY8REREpPdY8BAREZHeY8FDREREeu9v3luFXfoHC5cAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkkAAAHOCAYAAACM3Z3JAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAABwyUlEQVR4nO3deXhT1fo24Cdpk3RMJzpCJ2bKTIFSxgKFisCRQQVFQCYFQRkUPPyOMiiCHygcFIQjCuhRj4IoyqBQyiiUmTKLgIUCnShtkzadk/X9UbshNkCaNqQtz31dvUz2erP3m2SZ/bKHtWRCCAEiIiIiMiK3dQJERERE1RGLJCIiIiITWCQRERERmcAiiYiIiMgEFklEREREJrBIIiIiIjKBRRIRERGRCSySiIiIiExgkURERERkAoskohrs8uXLmDJlCsLCwuDs7AwHBwfUq1cPHTp0wJQpU7Bp0yZbp1htrVu3Du3bt4ezszNkMhlkMhmuXbtm67TKCQkJqba5EdV29rZOgIgs88MPP+D5559HYWEhvLy80KVLF3h7eyMrKwsJCQlYuXIlvv32WwwdOtTodVFRUdi3bx/27NmDqKgo2yRvY9u2bcPYsWPh4OCA6OhoeHl5AQBcXFxsnFn1x/5DjxMWSUQ1UFpaGkaPHo3CwkK8/vrrWLBgARwcHIxiTpw4ge+//95GGVZvGzduBAB89NFHmDBhgo2zIaLqikUSUQ20detW5ObmIiAgAB988IHJmPDwcISHhz/izGqGpKQkAECjRo1snAkRVWe8JomoBkpLSwMAeHt7m/2avXv3QiaTYd++fQCAnj17StfiyGQyrF+/3ig+KysLc+fORZs2beDq6gonJye0bNkSCxYsQF5eXrn15+TkYM2aNRgyZAgaNWoEZ2dnODs7o2XLlvjXv/6F7Oxsk3nde83NL7/8gqioKLi5ucHDwwMDBgzA2bNnpdhvvvkGkZGRcHV1hbu7O4YMGYKrV6+a/Rm8+OKLkMlk2LNnT7nP4MUXXzSKTU5OxowZM9CsWTM4OTnB1dUVHTp0wIoVK1BSUnLfbcTFxWHIkCHw9/eHUqmEj48PBg8ejPj4+Pu+5sKFC3jmmWdQp04dODo6okWLFvjggw+g1+vNfm/3ioqKgkwmw969e3HgwAEMHDgQ3t7ekMvl0vdc0e/L2v2HqFoSRFTj/Pe//xUAhJ2dndi1a5dZr7l48aIYPXq08PX1FQBETEyMGD16tPR34MABKfb8+fMiMDBQABD+/v7iiSeeEAMHDpRe26ZNG5GdnW20/gMHDggAwtvbW3Tt2lUMGzZM9O3bV3h5eQkAomHDhiIjI6NcXsHBwQKA+Oc//ylkMpno0qWLePbZZ0Xjxo0FAOHu7i6uXLkiZs6cKezt7UWvXr3E008/LeUXEBAgMjMzzfoM1qxZc9/PYM2aNVLcvn37hIeHhwAgQkJCxD/+8Q8RExMjLevbt68oKioqt/7XX39dABByuVx07NhRPPPMMyIiIkLIZDJhZ2cn1q5dW+41Bw4cEM7OzgKAqF+/vhg+fLiIjo4WCoVCDB06VPp8EhMTzXqPQgjRo0cPAUC88sorQi6Xi7CwMDF8+HDRt29f8c0330jbrcj3Ze3+Q1QdsUgiqoFycnJE3bp1BQAhk8lEVFSUePfdd8W2bdtEenr6A19btgPds2ePyfa8vDzRoEEDAUC89dZborCwUGrT6XTiueeeEwDEmDFjjF5348YNsWvXLqHX642W63Q6MWrUKGmn/XdlRYBKpTIq+EpKSsQzzzwjAIgWLVoILy8vkZCQYLTezp07CwBiwYIFD3zPFfkMUlJShJeXl5DJZOKTTz4xej8ZGRmiV69eAoCYP3++0es+/fRTqbg4ffq0Udu+ffuEq6urUCqV4o8//pCW5+fnS8XEtGnTRElJidR2+vRpUadOHQHA4iIJgFi5cqXJGEu/L2v1H6LqiEUSUQ31+++/i4iICGlneO9fmzZtxKpVq4x2umUetpNbtWqVACAGDBhgsj0nJ0f4+PgIe3t7s4/g6HQ6YW9vL7y9vcu1lRVJM2fOLNd28uTJB+7sN23aJACInj17mpVHmQd9Bm+++aYAIKZMmWLytTdv3hQKhUJ4e3sLg8EghBBCr9eLgIAAAUAcP37c5OsWL14sAIjXX39dWvbVV18JACIwMNDkkally5ZVqkjq1auX2a+514O+L1v0HyJb4YXbRDVUkyZNcPjwYRw9ehTbtm3DkSNHcPLkSdy+fRsJCQmYNGkSNm3ahG3btkGpVJq93m3btgEAhg0bZrLdxcUF7du3x/bt23Hs2DH07dvXqP3QoUM4cOAAkpKSkJeXByEEAECpVOL27dvIysqCh4dHufU++eST5Zbde2H1g9qTk5PNfHcP97D3X7duXTRq1AgXLlzA5cuX0bhxY5w6dQrJyclo0KDBfS+WL7td/tChQ9KyvXv3AgCeffZZKBSKcq8ZPXo0pk+fbvF7efrppx8aY+n3dT+V7T9E1QmLJKIarmPHjujYsSMAQAiBU6dOYcmSJfj222+xa9cuLF++HDNnzjR7fX/++ScAYOTIkRg5cuQDY2/fvi09Tk9Px9ChQ/Hbb7898DVardbkTjcoKKjcsnvHLTLV7urqCgAoKCh44DYrouz9d+vW7aGxt2/fRuPGjaXXXL16FTKZ7KGvKXPz5k0AQGhoqMlYDw8PuLm5QaPRmJX734WEhNy3rbLf1/1Y2n+IqiMWSUS1iEwmQ7t27fC///0PeXl5+Pnnn7F58+YKFUkGgwEA8MQTT8DX1/eBscHBwdLj8ePH47fffkNkZCTmz5+P1q1bw8PDQzpCEhAQgJSUFOlIxd/J5Q++2fZh7VWl7P0//fTTcHZ2fmBs2SCUZa/x8/NDTEzMA19Tp06dKsjSPI6Ojvdtq+z3dT+W9h+i6ohFElEt1bdvX/z888/IyMio0OsCAwPx+++/Y9y4cWadrgEAnU6H7du3Qy6XY/v27XB3dy/XnpqaWqE8bCUwMBCXL1/Gm2++ifbt25v9GqC0aPr7rfAPUrduXQC475Qj2dnZFh9FehBrfl+W9B+i6orjJBHVQOb8675swMR69eoZLS+7Pul+Y/3069cPALBhwwaz89FoNNDr9VCr1eV2uADw1VdfVfiIhK1Y8v47dOiAOnXq4MKFCzh//rzZr+vRo4e0reLi4nLtX375pdnrqojKfF/W6D9E1RWLJKIa6JNPPsHo0aONLgIuI4TADz/8gBUrVgAAhg8fbtReVjTdb2f+0ksvITg4GBs3bsSbb76JnJyccjGpqalYs2aN9NzX1xceHh7Izs7Gf//7X6PYw4cPY/bs2RV7gzY0c+ZMuLu7Y+nSpfjwww9RVFRULiYxMRFfffWV9FyhUGDu3LkQQmDw4MEmr/PR6/XYvXs3Dh8+LC17+umnUbduXSQlJWH27NnSqSoAOHfuHBYsWFDF765UZb4va/QfomrLVrfVEZHl7r013NvbW/Tt21c8//zz4sknnxQhISFS2wsvvFBuHJytW7cKAEKpVIoBAwaIsWPHinHjxomDBw9KMefOnZPW4+7uLrp37y6ef/55MWjQIBEWFiZkMpnw9fW9b04RERHiueeeE126dBEymUyMHDnyvoMiPmywxLJ1mpKYmCgAiODg4Ap9fg+7jX3fvn3SGEU+Pj6iV69eYsSIEWLAgAHSGEARERHlXjdz5kwp3+bNm4unnnpKDB8+XERFRQl3d3cBQKxatcroNXv37hVOTk4CgGjQoIEYPny46NOnj1AoFGLIkCGVGkzyfu9PCMu/L2v1H6LqiEUSUQ2k1WrF5s2bxauvvio6duwo6tWrJxQKhXB0dBQNGjQQzz33nPjll1/u+/o1a9aIdu3aSTtnAGLdunXltrF48WIRGRkp3N3dhUKhEP7+/qJDhw5i5syZ4tChQ+XWu3nzZtG5c2fh7u4uXFxcRPv27cUnn3wiDAZDjSqShBAiLS1NvP3226Jdu3bSQJD16tUTnTt3FnPnzhVnzpwx+bqDBw+KESNGiODgYKFSqYSrq6to3LixGDRokPjss89Mjg109uxZMWTIEOHp6SlUKpVo1qyZWLRokSguLrZakSSEZd+XENbrP0TVjUyIGnKhABEREdEjxGuSiIiIiExgkURERERkAoskIiIiIhNYJBERERGZwCKJiIiIyAQWSUREREQmcO42CxkMBiQnJ8PV1fWhs34TERFR9SCEQE5ODgICAh46cTaLJAslJydLk1oSERFRzXLjxo1yc1v+HYskC7m6ugIo/ZDVarWNs6l5SkpKEBcXBwDo3bs37O3tzWojsjb2TaLaTavVIjAwUNqPPwhH3LaQVquFm5sbNBoNiyQL6HQ6uLi4AAByc3Ph7OxsVhuRtbFvEtVuFdl/88JtIiIiIhNYJBERERGZwCKJiIiIyARedUhERPSI6PV6FBcX2zqNWk+pVD709n5zsEgiIiKyMiEEUlNTkZ2dbetUHgtyuRyhoaFQKpWVWg+LJCIiIisrK5B8fHzg5OTEQYitqGyw55SUFAQFBVXqs2aRRDahVCqxYsUK6bG5bUTWxr5JVU2v10sFkpeXl63TeSx4e3sjOTkZJSUlUCgUFq+H4yRZiOMkERGROQoKCpCYmIiQkBA4OjraOp3HQn5+Pq5du4bQ0FA4ODgYtXGcJCIiomqGp9genar6rHm6jWxCr9fjwIEDAIBu3brBzs7OrDYia2PfJKIyLJLIJgoKCtCzZ08A5ad3eFAbkbWxbxJRGZ5uIyIionJkMtkD/+bNm2fT3DZv3mz17fBIEhEREZWTkpIiPf7uu+8wZ84cXLp0SVpWNtmzuYqKimrcXaE8kkRERETl+Pn5SX9ubm6QyWTSc51OhxEjRsDX1xcuLi7o0KEDdu3aZfT6kJAQvPvuuxg1ahTUajVeeuklAMCaNWsQGBgIJycnDB48GEuXLoW7u7vRa3/66Se0a9cODg4OqF+/PubPn4+SkhJpvQAwePBgyGQy6bk1sEgiIiKyEZ2uCDpdEe4djaeoSA+drgiFhSUmYw2Gu7HFxaWxBQXmxVaV3NxcPPnkk4iLi8OpU6fwxBNPYODAgUhKSjKK++CDD9C6dWucOnUKb7/9Ng4ePIiJEydi6tSpSEhIQJ8+ffDee+8ZvebAgQMYNWoUpk6digsXLuA///kP1q9fL8UdO3YMALBu3TqkpKRIz62BRRIREZGNuLh8BBeXj5CRkS8tW7LkGFxcPsKUKXFGsT4+n8DF5SMkJWmlZStXJsDF5SOMG7fDKDYkZA1cXD7CxYt3pGXr15+vsrxbt26Nl19+GS1atECjRo3w7rvvokGDBvj555+N4nr16oXXX38dDRo0QIMGDfDxxx+jX79+eOONN9C4cWO88sor6Nevn9Fr5s+fj3/+858YPXo06tevjz59+uDdd9/Ff/7zHwClA0UCgLu7O/z8/KTn1sAiiYiIiCokNzcXb7zxBpo1awZ3d3e4uLjg4sWL5Y4ktW/f3uj5pUuX0LFjR6Nlf39++vRpvPPOO3BxcZH+JkyYgJSUFOTl5VnnDd1HtbtwOyQkBNevXy+3/JVXXsHKlStRUFCA119/Hd9++y0KCwsRExODTz75BL6+vlJsUlISJk2ahD179sDFxQWjR4/GokWLYG9/9+3u3bsXM2bMwPnz5xEYGIi33noLL7744qN4iwRAoVBg8eLF0mNz24isjX2THqXc3NcAAE5Od/vTzJkdMG1aO9jbGx/HSE9/BQDg6Hg3dvLkNpgwoSXs7Ixjr12bUC72xRebV1neb7zxBmJjY/HBBx+gYcOGcHR0xNNPP42ioiKjOEuGycjNzcX8+fMxZMiQcm1/Hz3b2qpdkXTs2DHo9XfPm547dw59+vTBM888AwCYPn06tm3bho0bN8LNzQ1TpkzBkCFDcPDgQQClg731798ffn5+OHToEFJSUjBq1CgoFAosXLgQAJCYmIj+/ftj4sSJ+PrrrxEXF4fx48fD398fMTExj/5NP4aUSiVmzpxZ4TYia2PfpEfJ2bn83V5KpR2UyvIDlZqKVSjsoFCYH1tVDh48iBdffBGDBw8GUFrYXLt27aGva9KkSblriP7+vF27drh06RIaNmx43/UoFAqjWsFaql2R9Pdzi++//z4aNGiAHj16QKPR4PPPP8c333yDXr16ASi9cKtZs2Y4fPgwOnXqhJ07d+LChQvYtWsXfH190aZNG7z77rt48803MW/ePCiVSqxevRqhoaH48MMPAQDNmjXDb7/9hmXLlrFIIiIieohGjRrhhx9+wMCBAyGTyfD222/DYDA89HWvvvoqunfvjqVLl2LgwIHYvXs3fvnlF6NpRObMmYMBAwYgKCgITz/9NORyOU6fPo1z585hwYIFAErPOsXFxaFLly5QqVTw8PCwyvus1tckFRUV4auvvsLYsWMhk8lw4sQJFBcXIzo6Wopp2rQpgoKCEB8fDwCIj49Hy5YtjU6/xcTEQKvV4vz581LMvesoiylbB1mfXq/HsWPHyh05fFgbkbWxbxI93NKlS+Hh4YHOnTtj4MCBiImJQbt27R76ui5dumD16tVYunQpWrdujV9//RXTp083Oo0WExODrVu3YufOnejQoQM6deqEZcuWITg4WIr58MMPERsbi8DAQLRt29Yq7xGohkeS7rV582ZkZ2dL1wqlpqZCqVSWG0/B19cXqampUsy9BVJZe1nbg2K0Wi3y8/NNztJcWFiIwsJC6blWqy0XQ+YrKCiQLtYzNfXD/dqIrI19k6i8F1980ei63ZCQEOzevdsoZvLkyUbP73f6bcKECZgwYYLR87+fWouJiXngmZ2BAwdi4MCBZmZvuWp9JOnzzz9Hv379EBAQYOtUsGjRIri5uUl/gYGBtk6JiIioxvnggw9w+vRpXLlyBR9//DG++OILjB492tZpmVRti6Tr169j165dGD9+vLTMz88PRUVFyM7ONopNS0uDn5+fFJOWllauvaztQTFqtdrkUSQAmD17NjQajfR348aNSr0/IiKix9HRo0fRp08ftGzZEqtXr8ZHH31ktK+vTqrt6bZ169bBx8cH/fv3l5aFh4dDoVAgLi4OQ4cOBVA65kJSUhIiIyMBAJGRkXjvvfeQnp4OHx8fAEBsbCzUajXCwsKkmO3btxttLzY2VlqHKSqVCiqVqkrfIxER0eNmw4YNtk7BbNXySJLBYMC6deswevRoo7GN3NzcMG7cOMyYMQN79uzBiRMnMGbMGERGRqJTp04AgL59+yIsLAwjR47E6dOnsWPHDrz11luYPHmyVORMnDgRf/75J2bNmoXff/8dn3zyCTZs2IDp06fb5P0SERFR9VMtjyTt2rULSUlJGDt2bLm2ZcuWQS6XY+jQoUaDSZaxs7PD1q1bMWnSJERGRsLZ2RmjR4/GO++8I8WEhoZi27ZtmD59OpYvX4569erhs88+4+3/RERkNffOz0bWVVWftUzwW7OIVquFm5sbNBoN1Gq1rdOpcXQ6HVxcXACUv0voQW1E1sa+SVVNr9fjjz/+gI+PD7y8vGydzmNBo9EgOTkZDRs2LDc6fkX239XySBLVfgqFAnPnzpUem9tGZG3sm1TV7Ozs4O7ujvT0dACAk5OT0eCJVLUMBgNu374NJycno0t2LMEjSRbikSQiIjKXEAKpqanl7s4m65DL5QgNDYVSWX56Fh5JIiIiqkZkMhn8/f3h4+OD4uJiW6dT6ymVSsjllb83jUUS2YTBYMDFixcBlM6dd29nflAbkbWxb5I12dnZwc6u6iaaJevi6TYL8XRb5fDiWKqu2DeJareK7L/5zyAiIiIiE1gkEREREZnAIomIiIjIBBZJRERERCawSCIiIiIygUUSERERkQkcJ4lsQqFQ4I033pAem9tGZG3sm0RUhuMkWYjjJBEREdU8HCeJiIiIqJJ4uo1swmAwICkpCQAQFBRUbuqH+7URWRv7JhGVYZFENpGfn4/Q0FAA5ad3eFAbkbWxbxJRGf4ziIiIiMgEFklEREREJrBIIiIiIjKBRRIRERGRCSySiIiIiExgkURERERkAocAIJuwt7fHK6+8Ij02t43I2tg3iagMpyWxEKclISIiqnk4LQkRERFRJfF4MdmEEAIZGRkAgDp16kAmk5nVRmRt7JtEVIZFEtlEXl4efHx8AJSf3uFBbUTWxr5JRGV4uo2IiIjIBBZJRERERCawSCIiIiIygUUSERERkQkskoiIiIhMYJFEREREZAKHACCbsLe3x+jRo6XH5rYRWRv7JhGV4bQkFuK0JERERDUPpyUhIiIiqiQeLyabEEIgLy8PAODk5FRu6of7tRFZG/smEZXhkSSyiby8PLi4uMDFxUXa6ZjTRmRt7JtEVIZFEhEREZEJ1bJIunXrFl544QV4eXnB0dERLVu2xPHjx6V2IQTmzJkDf39/ODo6Ijo6GpcvXzZaR2ZmJkaMGAG1Wg13d3eMGzcOubm5RjFnzpxBt27d4ODggMDAQCxevPiRvD8iIiKq/qqkSNJoNCguLq6KVSErKwtdunSBQqHAL7/8ggsXLuDDDz+Eh4eHFLN48WJ89NFHWL16NY4cOQJnZ2fExMSgoKBAihkxYgTOnz+P2NhYbN26Ffv378dLL70ktWu1WvTt2xfBwcE4ceIElixZgnnz5uHTTz+tkvdBRERENZyooJycHLF27VoxYsQIERISIpRKpZDL5UIulws3NzfRtWtX8dZbb4ljx45VdNVCCCHefPNN0bVr1/u2GwwG4efnJ5YsWSIty87OFiqVSvzvf/8TQghx4cIFAcAoh19++UXIZDJx69YtIYQQn3zyifDw8BCFhYVG227SpIlZeWo0GgFAaDSaCr0/KpWbmysACAAiNzfX7DYia2PfJKrdKrL/NvtI0o0bN/Dyyy8jICAA48aNwzfffAOtVosGDRogMjISbdq0gYeHBw4fPoz33nsPERERCA8Px9dff12hou3nn39G+/bt8cwzz8DHxwdt27bFmjVrpPbExESkpqYiOjpaWubm5oaIiAjEx8cDAOLj4+Hu7o727dtLMdHR0ZDL5Thy5IgU0717dyiVSikmJiYGly5dQlZWVrm8CgsLodVqjf6IiIio9jKrSPrnP/+JJk2aYP369ejVqxe++uorXL16FXfu3MGFCxfw22+/4cSJE0hMTIRGo8G+ffvwf//3f8jOzsbIkSPRvn17nDp1yqyE/vzzT6xatQqNGjXCjh07MGnSJLz22mv44osvAACpqakAAF9fX6PX+fr6Sm2pqanw8fExare3t4enp6dRjKl13LuNey1atAhubm7SX2BgoFnvh4iIiGoms8ZJWr16Nd544w1MmzYNnp6eD4x1cnJCt27d0K1bN7z77rvYtWsX3nnnHWzZsgVt27Z96LYMBgPat2+PhQsXAgDatm2Lc+fOYfXq1dJ0ALYwe/ZszJgxQ3qu1WpZKFWCnZ0dnn76aemxuW1E1sa+SURlzCqSEhMTjS6crojo6GhER0ebPIVlir+/P8LCwoyWNWvWDJs2bQIA+Pn5AQDS0tLg7+8vxaSlpaFNmzZSTHp6utE6SkpKkJmZKb3ez88PaWlpRjFlz8ti7qVSqaBSqcx6D/RwDg4O2LhxY4XbiKyNfZOIyph1us3SAsmSdXTp0gWXLl0yWvbHH38gODgYABAaGgo/Pz/ExcVJ7VqtFkeOHEFkZCQAIDIyEtnZ2Thx4oQUs3v3bhgMBkREREgx+/fvN7orLzY2Fk2aNKmS90tEREQ1W5WOkySEwOXLl3Hjxg2L1zF9+nQcPnwYCxcuxJUrV/DNN9/g008/xeTJkwEAMpkM06ZNw4IFC/Dzzz/j7NmzGDVqFAICAjBo0CAApUeennjiCUyYMAFHjx7FwYMHMWXKFAwfPhwBAQEAgOeffx5KpRLjxo3D+fPn8d1332H58uVGp9SIiIjoMWbJ7XObNm0SI0eOFJmZmdKyxMRE0aJFC2k4gGHDhomSkhJLVi+2bNkiWrRoIVQqlWjatKn49NNPjdoNBoN4++23ha+vr1CpVKJ3797i0qVLRjF37twRzz33nHBxcRFqtVqMGTNG5OTkGMWcPn1adO3aVahUKlG3bl3x/vvvm50jhwCoHN5mTdUV+yZR7VaR/bdMCCEqWlj16dMHaWlpOHPmjLRs8ODB+Omnn9CrVy/cuXMHZ86cwerVqzFhwoQqKOWqH61WCzc3N2g0GqjValunU+PodDq4uLgAAHJzc+Hs7GxWG5G1sW8S1W4V2X9bdLrtwoUL6Nixo/Q8JycH27Ztw7Bhw7Br1y4cPXoUzZo1w9q1ay1ZPREREZHNWVQk3XuXGAD89ttvKCkpwXPPPQcAUCgU6NOnD65evVo1WRIRERE9YhYVSWq1Gnfu3JGe79mzB3K5HN26dZOWKRQK6HS6ymdIREREZAMWFUlNmzbFli1bcOfOHWRnZ+Obb75BeHi40a3z169fLzeiNREREVFNYVGR9NprryE5ORn16tVDUFAQUlJSMGnSJKOYw4cPo3Xr1lWSJBEREdGjZtaI2383dOhQrFy5Ep9//jkAYPjw4XjxxRel9n379kGr1eKJJ56okiSp9rGzs8OTTz4pPTa3jcja2DeJqIxFQwAQhwAgIiKqiawyBEDHjh2xaNEinD9/vtIJEhEREVV3ZhdJeXl5+Ne//oVWrVqhYcOGeOONN3DgwAHwQBQRERHVRmYXSefOncOVK1ewZMkS1KtXD8uXL0dUVBR8fX0xduxY/PTTT8jPz7dmrlSL6HQ6ODs7w9nZudxQEQ9qI7I29k0iKmPxNUl37tzBli1b8NNPPyE2NhZ5eXlwdHREdHQ0Bg0ahAEDBsDb27uq8602eE1S5XDqB6qu2DeJareK7L8tursNALy8vPDiiy/ixRdfREFBAXbu3ImffvoJ27Ztw5YtW2BnZ4dOnTph0KBB+Mc//oFGjRpZuikiIiKiR67K724TQuDQoUPYvHkzfv75Z1y+fBkymQx6vb4qN2NzPJJUOfzXOlVX7JtEtdsjOZJ0PzKZDF26dEGXLl2wZMkSXLx4ET///HNVb4aIiIjIqqq8SPq7Zs2aoVmzZtbeDBEREVGVMqtIeueddyxauUwmw9tvv23Ra4mIiIhsyawiad68eRatnEUS3Y9cLkePHj2kx+a2EVkb+yYRlTHrwu19+/ZZvIGyH5TahhduExER1TxVfuF2bS10iIiIiO6Hx4uJiIiITKjU3W3Xrl3D119/jYSEBGi1WqjVarRp0wYjRoxASEhIFaVItZFOp5P6yLVr18qNRXO/NiJrY98kojIWF0nLly/HrFmzUFJSYjTJ7aZNm/DOO+9g8eLFmDp1apUkSbVTRkaGRW1E1sa+SUSAhafbtm7diunTp8PNzQ0LFizAoUOHkJiYiPj4eCxcuBBubm6YMWMGtm3bVtX5EhERET0SFh1JWrp0KTw9PXHy5EnUq1dPWh4cHIyIiAiMGDECbdu2xdKlS9G/f/8qS5aIiIjoUbHoSNLJkycxbNgwowLpXoGBgXj22Wdx4sSJSiVHREREZCsWFUlFRUUPvWDRxcUFRUVFFiVFREREZGsWFUmNGzfGli1bUFJSYrK9pKQEW7duRePGjSuVHBEREZGtWFQkjRo1CpcuXUJMTEy5U2rHjx9Hv379cOnSJYwePbpKkqTaRy6Xo3379mjfvr3JqR/u10ZkbeybRFTGrGlJ/k6v12Po0KH4+eefIZPJ4OTkBB8fH6SnpyMvLw9CCDz11FPYtGlTrf0h4bQkRERENU9F9t8WVTB2dnbYvHkz1q9fj6ioKCiVSiQlJUGpVKJnz5744osv8OOPP9baAomIiIhqP4uOJBGPJBEREdVEVj+SRFRZeXl5CAkJQUhICPLy8sxuI7I29k0iKlOpudv0ej1u3ryJ5ORkFBcXm4zp3r17ZTZBtZQQAtevX5cem9tGZG3sm0RUxqIiyWAwYOHChVi+fDkyMzMfGKvX6y1KjIiIiMiWLCqSZs+ejSVLlsDHxwdjxoyBv78/7O0rdVCKiIiIqFqxqLL54osv0KRJExw7dgwuLi5VnRMRERGRzVl04XZubi769+/PAomIiIhqLYuKpFatWiE5ObmqcyEiIiKqNiwqkv71r39h8+bNOHnyZFXng3nz5kEmkxn9NW3aVGovKCjA5MmT4eXlBRcXFwwdOhRpaWlG60hKSkL//v2lkcBnzpxZbp65vXv3ol27dlCpVGjYsCHWr19f5e+F7k8mkyEsLAxhYWGQyWRmtxFZG/smEZWx6Jqk/v37Y/369ejXrx/+8Y9/oHXr1vcdkGnUqFEVXn/z5s2xa9euu0nec1H49OnTsW3bNmzcuBFubm6YMmUKhgwZgoMHDwIovZuuf//+8PPzw6FDh5CSkoJRo0ZBoVBg4cKFAIDExET0798fEydOxNdff424uDiMHz8e/v7+iImJqXC+VHFOTk44f/58hduIrI19k4gkwgIFBQXihRdeEHK5XMhkMiGTyYRcLjf6K1tWUXPnzhWtW7c22ZadnS0UCoXYuHGjtOzixYsCgIiPjxdCCLF9+3Yhl8tFamqqFLNq1SqhVqtFYWGhEEKIWbNmiebNmxute9iwYSImJsbsPDUajQAgNBqN2a8hIiIi26rI/tuiI0kzZszA119/jVatWuHpp5+u8iEALl++jICAADg4OCAyMhKLFi1CUFAQTpw4geLiYkRHR0uxTZs2RVBQEOLj49GpUyfEx8ejZcuW8PX1lWJiYmIwadIknD9/Hm3btkV8fLzROspipk2bdt+cCgsLUVhYKD3XarVV9n6JiIio+rGostm4cSPCw8MRHx9f5eMjRUREYP369WjSpAlSUlIwf/58dOvWDefOnUNqaiqUSiXc3d2NXuPr64vU1FQAQGpqqlGBVNZe1vagGK1Wi/z8fDg6OpbLa9GiRZg/f35Vvc3HXl5eHjp06AAAOHbsGJycnMxqI7I29k0iKmNRhVNQUICePXtaZQDJfv36SY9btWqFiIgIBAcHY8OGDSaLl0dl9uzZmDFjhvRcq9UiMDDQZvnUdEIIXLhwQXpsbhuRtbFvElEZi+5uCw8Px5UrV6o6F5Pc3d3RuHFjXLlyBX5+figqKkJ2drZRTFpaGvz8/AAAfn5+5e52K3v+sBi1Wn3fQkylUkGtVhv9ERERUe1lUZG0cOFC/Prrr9i6dWtV51NObm4url69Cn9/f4SHh0OhUCAuLk5qv3TpEpKSkhAZGQkAiIyMxNmzZ5Geni7FxMbGQq1WIywsTIq5dx1lMWXrICIiIrLofFlsbCyioqLw1FNPoVevXvcdAkAmk+Htt9+u0LrfeOMNDBw4EMHBwUhOTsbcuXNhZ2eH5557Dm5ubhg3bhxmzJgBT09PqNVqvPrqq4iMjESnTp0AAH379kVYWBhGjhyJxYsXIzU1FW+99RYmT54MlUoFAJg4cSJWrFiBWbNmYezYsdi9ezc2bNiAbdu2WfJxEBERUW1kye1zZbf9P+zPkiEAhg0bJvz9/YVSqRR169YVw4YNE1euXJHa8/PzxSuvvCI8PDyEk5OTGDx4sEhJSTFax7Vr10S/fv2Eo6OjqFOnjnj99ddFcXGxUcyePXtEmzZthFKpFPXr1xfr1q2rUJ4cAqBycnNzBQABQOTm5prdRmRt7JtEtVtF9t8yISp+9eG+ffvMju3Ro0dFV18jaLVauLm5QaPR8PokC+h0Omnuv9zcXDg7O5vVRmRt7JtEtVtF9t8WnW6rrYUPPToymQzBwcHSY3PbiKyNfZOIylh0JIl4JImIiKgmqsj+26y72w4fPlyphHQ6Hec7IiIiohrFrCKpc+fO6N+/f4WuRQJKxx5atGgRQkNDsWnTJosSJCIiIrIFs65J+uGHH/Dmm2+iV69eCAwMxNNPP42IiAiEh4fD19cXzs7O0Ov1yMzMxKVLl3DkyBHExsZi9+7dAIDx48dj0qRJVn0jVLPk5+eje/fuAID9+/cbDeL5oDYia2PfJKIyZl+TVFJSgi+//BKrVq3CiRMnjC5atLOzg16vl54LIeDq6ooXXngBU6dORePGjas+cxvjNUmVwzuIqLpi3ySq3axyd5u9vT3Gjh2LsWPH4vz584iLi8PBgwdx8+ZN3LlzB46OjvD29kbLli3Ro0cP9O7dmz8gREREVGNZNARA8+bN0bx5c7z22mtVnQ8RERFRtWDR3G1EREREtR2LJCIiIiITWCQRERERmWDRNUlEVaFOnToWtRFZG/smEQGclsRiHAKAiIio5qnyaUmIiIiIHjcskoiIiIhMqHSRlJubi5MnT+LAgQNVkQ89JvLz8xEVFYWoqCjk5+eb3UZkbeybRFTG4gu3r127hqlTp2L79u0wGAyQyWQoKSkBABw8eBATJkzAJ598gqioqKrKlWoRg8EgTZhsMBjMbiOyNvZNIipj0ZGkpKQkdOrUCdu3b8dTTz2FyMhI3Hv9d0REBDIyMvC///2vyhIlIiIiepQsKpLmzp2LrKws7Nu3D99//z369Olj1G5vb49u3brh4MGDVZIkERER0aNmUZG0Y8cODB48GJ07d75vTHBwMG7dumVxYkRERES2ZFGRlJmZiZCQkAfGCCFQWFhoyeqJiIiIbM6iIsnX1xeXL19+YMzZs2cRFBRkUVJEREREtmZRkdSnTx9s3boVZ86cMdl+4MAB7N69G08++WSlkqPazcnJCU5OThVuI7I29k0iAiycluTatWto06YNAGDmzJn4/fff8c0332Dr1q04dOgQli5dCmdnZ5w+fRr+/v5VnXO1wGlJiIiIap6K7L8tnrvtyJEjGD58OK5fvw6ZTAYhhPTfoKAgfP/992jfvr1Fb6AmYJFERERU81Rk/23xYJIRERG4fPkytmzZgiNHjiAzMxNqtRoRERF46qmnoFQqLV01ERERkc1ZfCTpcccjSZVTUFCAoUOHAgA2bdoEBwcHs9qIrI19k6h2s/rptl69euHFF1/EqFGj7hvz1VdfYe3atdi9e3dFV18jsEiqHJ1OBxcXFwCl8/85Ozub1UZkbeybRLVbRfbfFt3dtnfvXly7du2BMdevX5fmOCIiIiKqaSwqksyh0+mgUCistXoiIiIiqzL7wu2kpCSj59nZ2eWWAYBer8eNGzewadOmh47KTURERFRdmV0khYSEQCaTAQBkMhmWL1+O5cuX3zdeCIElS5ZUPkMiIiIiGzC7SBo1apQ0DtKXX36J1q1bSwNK3svOzg6enp7o1asXnnjiiarMlYiIiOiRMbtIWr9+vfR43759GDNmDF577TVr5ERERERkcxYNJpmYmFjVedBjxtnZGfcbfeJBbUTWxr5JRGWsdncbERERUU1m8bQkOTk5WLFiBXbt2oXk5GQUFhaWi5HJZLh69WqlEiQiIiKyBYuKpNu3b6Nz5864evUq1Gq1NHplUVER8vPzAQABAQEcJ4nuq6CgACNHjgQA/Pe//y039cP92oisjX2TiMpYdLpt3rx5uHr1Kr788ktkZWUBAKZPnw6dTocjR46gY8eOCAkJwfnz5yuV3Pvvvw+ZTIZp06ZJywoKCjB58mR4eXnBxcUFQ4cORVpamtHrkpKS0L9/fzg5OcHHxwczZ85ESUmJUczevXvRrl07qFQqNGzY0OjCdLI+vV6P77//Ht9//z30er3ZbUTWxr5JRGUsKpK2b9+O3r1744UXXpDGTirToUMH/PLLL7h27Rrmz59vcWLHjh3Df/7zH7Rq1cpo+fTp07FlyxZs3LgR+/btQ3JyMoYMGSK16/V69O/fH0VFRTh06BC++OILrF+/HnPmzJFiEhMT0b9/f/Ts2RMJCQmYNm0axo8fjx07dlicLxEREdUuFhVJKSkpaNu2rfTczs5OOs0GAB4eHujXrx82bNhgUVK5ubkYMWIE1qxZAw8PD2m5RqPB559/jqVLl6JXr14IDw/HunXrcOjQIRw+fBgAsHPnTly4cAFfffUV2rRpg379+uHdd9/FypUrUVRUBABYvXo1QkND8eGHH6JZs2aYMmUKnn76aSxbtsyifImIiKj2sahIcnNzQ3FxsfTcw8MDN2/eNIpRq9XlToOZa/Lkyejfvz+io6ONlp84cQLFxcVGy5s2bYqgoCDEx8cDAOLj49GyZUv4+vpKMTExMdBqtdLpv/j4+HLrjomJkdZBREREZNGF2/Xr18e1a9ek523btkVsbCzu3LkDLy8v5OfnY8uWLQgKCqrwur/99lucPHkSx44dK9eWmpoKpVIJd3d3o+W+vr5ITU2VYu4tkMray9oeFKPVapGfnw9HR8dy2y4sLDS6g0+r1Vb4vREREVHNYdGRpL59+yIuLg55eXkAgJdffhnp6elo3bo1nnnmGbRo0QJXr17Fiy++WKH13rhxA1OnTsXXX39d7e4aWbRoEdzc3KS/wMBAW6dEREREVmRRkTRx4kSsWbNGKpKGDBmCJUuWQKfTYdOmTUhNTcWMGTMwc+bMCq33xIkTSE9PR7t27WBvbw97e3vs27cPH330Eezt7eHr64uioiJkZ2cbvS4tLQ1+fn4AAD8/v3Kn+cqePyxGrVabPIoEALNnz4ZGo5H+bty4UaH3RkRERDWLRafb/P39MWzYMKNlr7/+OqZNm4aMjAz4+PiUu+vNHL1798bZs2eNlo0ZMwZNmzbFm2++icDAQCgUCsTFxWHo0KEAgEuXLiEpKQmRkZEAgMjISLz33ntIT0+Hj48PACA2NhZqtRphYWFSzPbt2422ExsbK63DFJVKBZVKVeH3RKY5OTkhNzdXemxuG5G1sW8SURmLiqSxY8eiZcuWmD59utFyOzu7ctf6VISrqytatGhhtMzZ2RleXl7S8nHjxmHGjBnw9PSEWq3Gq6++isjISHTq1AlA6anAsLAwjBw5EosXL0ZqaireeustTJ48WSpyJk6ciBUrVmDWrFkYO3Ysdu/ejQ0bNmDbtm0W504VI5PJ4OzsXOE2Imtj3ySiMhadbvvmm2+Qnp5e1bmYZdmyZRgwYACGDh2K7t27w8/PDz/88IPUbmdnh61bt8LOzg6RkZF44YUXMGrUKLzzzjtSTGhoKLZt24bY2Fi0bt0aH374IT777DPExMTY4i0RERFRNSQTFkxp3bx5c3To0OGxHqW6bCoWjUYDtVpt63RqnMLCQrz88ssAgP/85z9GpzIf1EZkbeybRLVbRfbfFhVJH374Id5//30kJCSgbt26Fidak7FIqhydTgcXFxcApYOH3nsK40FtRNbGvklUu1Vk/23RNUlDhw7Fnj170LlzZ8yaNQsdOnSAr6+vyYu1LRkriYiIiMjWLB5MUiaTQQiB11577b5xMpms3MSyRERERDWBRUXSqFGjLLrFn4iIiKimsKhIepwv2CYiIqLHg0VDABARERHVdiySiIiIiEyw6HQbUWU5OTlJA5Kamvrhfm1E1sa+SURlWCSRTchkMnh7e1e4jcja2DeJqAxPtxERERGZwCKJbKKwsBCTJ0/G5MmTUVhYaHYbkbWxbxJRGYumJSFOS1JZnPqBqiv2TaLarSL7bx5JIiIiIjLBrAu3x44da9HKZTIZPv/8c4teS0RERGRLZhVJ9xthu2z+tvstZ5FERERENZVZRVJiYqLRc4PBgKlTp+Lw4cOYOnUqunXrBl9fX6SlpWH//v346KOPEBkZiWXLllklaSIiIiJrM6tICg4ONnr+/vvv48iRIzh9+jT8/f2l5U2aNEH37t0xZswYtG3bFt9//z1mzZpVtRkTERERPQIWXbj9+eef49lnnzUqkO5Vt25dPPvss1izZk2lkiMiIiKyFYtG3L558yYcHBweGOPg4ICbN29alBTVfo6OjtJpXEdHR7PbiKyNfZOIylg0TlKjRo0ghMC5c+dMFkt5eXlo2bIl5HI5Ll++XCWJVjccJ4mIiKjmsfo4SePHj8eff/6JLl264KeffsKdO3cAAHfu3MHmzZvRtWtXXLt2DRMmTLBk9UREREQ2Z9GRJIPBgAkTJmDdunWQyWQAALlcDoPBAAAQQmDMmDH47LPPpPbahkeSKqeoqAj/+te/AADvvfcelEqlWW1E1sa+SVS7VWT/XalpSfbt24cvvvgCZ86cgUajgZubG1q3bo2RI0ciKirK0tXWCCySKodTP1B1xb5JVLtVZP9t0YXbZXr06IEePXpUZhVERERE1RLnbiMiIiIyweIiqaSkBMuWLUPHjh2hVqthb3/3oFRCQgJeeeUV/PHHH1WSJBEREdGjZtHptvz8fPTt2xeHDh1CnTp1oFarodPppPbQ0FCsW7cOnp6eWLBgQZUlS0RERPSoWHQkaeHChTh48CAWLVqE1NRUjB8/3qjdzc0NPXr0wI4dO6okSSIiIqJHzaIi6bvvvkPPnj0xa9YsyGQyk7f5169fH0lJSZVOkIiIiMgWLDrdlpSUhMGDBz8wxtXVFRqNxqKkqPZzdHTEuXPnpMfmthFZG/smEZWxqEhydXVFenr6A2OuXr0Kb29vi5Ki2k8ul6N58+YVbiOyNvZNIipj0em2Tp06YcuWLcjOzjbZfuPGDWzfvh3du3evTG5ERERENmNRkTRz5kxkZWWhd+/eOHjwIEpKSgCUTmwbFxeHmJgYlJSUYMaMGVWaLNUeRUVFmDdvHubNm4eioiKz24isjX2TiMpYPC3JqlWrMHXqVOj1+nJtdnZ2+OSTT8rd9VabcFqSyuHUD1RdsW8S1W6PZFqSSZMmISoqCqtXr8aRI0eQmZkJtVqNiIgIvPLKKzxvT0RERDVapeZua9asGZYvX15VuRARERFVG5y7jYiIiMgEzt1GREREZALnbiMiIiIyodrN3bZq1Sq0atUKarUaarUakZGR+OWXX6T2goICTJ48GV5eXnBxccHQoUORlpZmtI6kpCT0798fTk5O8PHxwcyZM6VhCsrs3bsX7dq1g0qlQsOGDbF+/foK50pERES1l0VHku6duw3AfeduO3XqVIXXXa9ePbz//vto1KgRhBD44osv8NRTT+HUqVNo3rw5pk+fjm3btmHjxo1wc3PDlClTMGTIEBw8eBAAoNfr0b9/f/j5+eHQoUNISUnBqFGjoFAosHDhQgBAYmIi+vfvj4kTJ+Lrr79GXFwcxo8fD39/f8TExFjykVAFOTg44OjRo9Jjc9uIrI19k4gkwgIqlUrMmjVLej5v3jwhl8uNYmbNmiVUKpUlqy/Hw8NDfPbZZyI7O1soFAqxceNGqe3ixYsCgIiPjxdCCLF9+3Yhl8tFamqqFLNq1SqhVqtFYWGhlFvz5s2NtjFs2DARExNjdk4ajUYAEBqNpjJvjYiIiB6hiuy/LTrd9qjmbtPr9fj222+h0+kQGRmJEydOoLi4GNHR0VJM06ZNERQUhPj4eABAfHw8WrZsCV9fXykmJiYGWq0W58+fl2LuXUdZTNk6TCksLIRWqzX6IyIiotqrWs7ddvbsWbi4uEClUmHixIn48ccfERYWhtTUVCiVSri7uxvF+/r6IjU1FQCQmppqVCCVtZe1PShGq9UiPz/fZE6LFi2Cm5ub9BcYGGjRe6NSRUVFWLJkCZYsWWJy6of7tRFZG/smEZWplnO3NWnSBAkJCThy5AgmTZqE0aNH48KFCxatq6rMnj0bGo1G+rtx44ZN86npiouLMWvWLMyaNQvFxcVmtxFZG/smEZWx6MLt7t27Y8WKFZg6darR0SJXV1cAd+duCw8PtygppVKJhg0bAgDCw8Nx7NgxLF++HMOGDUNRURGys7ONjialpaXBz88PAODn5yddWHlve1lb2X//fkdcWloa1Go1HB0dTeakUqmgUqksej9ERERU81g8mOSkSZNw+vRpTJkyBR06dECDBg3Qtm1bTJw4EadOnarSyW0NBgMKCwsRHh4OhUKBuLg4qe3SpUtISkpCZGQkACAyMhJnz541umYqNjYWarUaYWFhUsy96yiLKVsHERERkVlHkn7++Wc0bdoUjRs3NlpujbnbZs+ejX79+iEoKAg5OTn45ptvsHfvXuzYsQNubm4YN24cZsyYAU9PT6jVarz66quIjIxEp06dAAB9+/ZFWFgYRo4cicWLFyM1NRVvvfUWJk+eLB0JmjhxIlasWIFZs2Zh7Nix2L17NzZs2IBt27ZV6XshIiKimsusI0mDBw/Gt99+Kz2vX78+PvroI6sklJ6ejlGjRqFJkybo3bs3jh07hh07dqBPnz4AgGXLlmHAgAEYOnQounfvDj8/P/zwww/S6+3s7LB161bY2dkhMjISL7zwAkaNGoV33nlHigkNDcW2bdsQGxuL1q1b48MPP8Rnn33GMZKIiIhIYtaRJIVCYXSR4rVr1+57Z1tlff755w9sd3BwwMqVK7Fy5cr7xgQHB2P79u0PXE9UVJRFg10SERHR48GsI0lBQUH47bffoNfrpWWmRtkmIiIiqi3MOpL0/PPP45133oGnpye8vLwAlJ72Wrdu3QNfJ5PJcPXq1cpnSbWOg4MD9uzZIz02t43I2tg3iaiMTAghHhZUUlKCDz74ANu2bUNycjKuXbsGtVpdblBHUxITE6siz2pHq9XCzc0NGo0GarXa1ukQERGRGSqy/zarSPo7uVyOefPmYc6cORYnWdOxSCIiIqp5KrL/tmgwyblz5yIqKsqSlxIBKB25+NNPPwUAvPTSS1AoFGa1EVkb+yYRlbHoSBLxSFJl6XQ6uLi4AAByc3Ph7OxsVhuRtbFvEtVuFdl/WzziNhEREVFtxiKJiIiIyAQWSUREREQmsEgiIiIiMoFFEhEREZEJLJKIiIiITLBonKR7GQwGpKWlGU2Ae6+goKDKboJqIZVKha1bt0qPzW0jsjb2TSIqY/E4SV999RU++OADXLhwwWjiW6OVy2QoKSmpVILVFcdJIiIiqnmsPuL2Bx98gDfffBMKhQLdu3eHv78/7O0rfVCKiIiIqNqwqLL5+OOPUbduXRw6dAj16tWr6pzoMVBcXIyvv/4aADBixIhyUz/cr43I2tg3iaiMRafbnJyc8PLLL2PZsmXWyKlG4Om2yuHUD1RdsW8S1W5Wn5akcePGyMrKsig5IiIioprAoiJp+vTp+Omnn3D9+vWqzoeIiIioWrDomqTRo0cjPT0dnTt3xiuvvILWrVvf95BV9+7dK5UgERERkS1YfEuaVquFRqPBnDlzHhh3v+EBiIiIiKozi4qkOXPmYOHChfD29sbw4cM5BAARERHVOhZVNmvXrkXjxo1x7Ngx6U4PIiIiotrEoiIpKysLw4cPZ4FEFlOpVNiwYYP02Nw2Imtj3ySiMhaNk9SpUyc0aNBAGlTtccRxkoiIiGoeq4+T9K9//QubN2/GyZMnLUqQiIiIqLqz+HRbnz590LlzZ4wcOfKBQwCMGjWqUglS7VRSUoIff/wRADB48GCjC/8f1EZkbeybRFTGotNtcrkcMpkM975UJpMZxQghIJPJau0QADzdVjmc+oGqK/ZNotqtIvtvi/4ZtG7dOosSIyIiIqopLB5xm4iIiKg2s+jCbSIiIqLartJXHer1emRkZKCwsNBke1BQUGU3QURERPTIWVwknThxAv/3f/+H/fv3o6ioyGSMTCZDSUmJxckRERER2YpFRVJCQgK6desGe3t79O3bF1u2bEHr1q3h5+eHkydP4vbt24iKikJwcHBV50tERET0SFhUJL377rsAgCNHjqBZs2aQy+UYPHgw5syZg/z8fLz++uv4/vvvsXbt2ipNlmoPpVIp3SWpVCrNbiOyNvZNIipj0ThJvr6+6NmzJ7799lsApeMmzZ07F3PnzgUAGAwGtGvXDmFhYfjmm2+qNuNqguMkERER1TxWn5ZEo9Ggfv360nOFQoHc3Ny7K5XLERUVhbi4OEtWT0RERGRzFp1u8/HxQVZWlvTcz88Ply9fNoopKChAXl5e5bKjWqukpAQ7duwAAMTExJSb+uF+bUTWxr5JRGUsOpIUFhaGS5cuSc+7dOmCnTt3Ij4+HgBw8eJFbNiwAU2bNq3wuhctWoQOHTrA1dUVPj4+GDRokNG2gNICbPLkyfDy8oKLiwuGDh2KtLQ0o5ikpCT0798fTk5O8PHxwcyZM8vdabd37160a9cOKpUKDRs2xPr16yucL1mmsLAQAwYMwIABA8oNH/GgNiJrY98kojIWFUn9+/fH/v37kZKSAgB48803IYRA165d4e3tjZYtWyI7Oxv/93//V+F179u3D5MnT8bhw4cRGxuL4uJi9O3bFzqdToqZPn06tmzZgo0bN2Lfvn1ITk7GkCFDpHa9Xo/+/fujqKgIhw4dwhdffIH169djzpw5UkxiYiL69++Pnj17IiEhAdOmTcP48eOlfyUSERHRY05YoKioSKSmporCwkJp2cGDB8WTTz4pmjZtKmJiYsTWrVstWXU56enpAoDYt2+fEEKI7OxsoVAoxMaNG6WYixcvCgAiPj5eCCHE9u3bhVwuF6mpqVLMqlWrhFqtlnKeNWuWaN68udG2hg0bJmJiYszKS6PRCABCo9FU6v09rnJzcwUAAUDk5uaa3UZkbeybRLVbRfbfFh1JUigU8PX1NboFtnPnzti2bRsuXryIX3/9Ff37969U8VZGo9EAADw9PQGUDmJZXFyM6OhoKaZp06YICgqSTvfFx8ejZcuW8PX1lWJiYmKg1Wpx/vx5KebedZTFlK3j7woLC6HVao3+iIiIqPaq1nO3GQwGTJs2DV26dEGLFi0AAKmpqVAqlXB3dzeK9fX1RWpqqhRzb4FU1l7W9qAYrVaL/Pz8crksWrQIbm5u0l9gYGCVvEciIiKqniwukkpKSrBs2TJ07NgRarXa6C6PhIQEvPLKK/jjjz8qldzkyZNx7tw5aTwmW5o9ezY0Go30d+PGDVunRERERFZk0f2r+fn56Nu3Lw4dOoQ6depArVYbXVgdGhqKdevWwdPTEwsWLLAosSlTpmDr1q3Yv38/6tWrJy338/NDUVERsrOzjY4mpaWlwc/PT4o5evSo0frK7n67N+bvd8SlpaVBrVbD0dGxXD4qlQoqlcqi90JEREQ1j0VHkhYuXIiDBw9i0aJFSE1Nxfjx443a3dzc0KNHD4vuFBNCYMqUKfjxxx+xe/duhIaGGrWHh4dDoVAYDVR56dIlJCUlITIyEgAQGRmJs2fPIj09XYqJjY2FWq1GWFiYFPP3wS5jY2OldZB1KZVKrFixAitWrDA59cP92oisjX2TiCSWXBneqFEj0atXL+n5vHnzhFwuN4qZNGmS8PHxqfC6J02aJNzc3MTevXtFSkqK9JeXlyfFTJw4UQQFBYndu3eL48ePi8jISBEZGSm1l5SUiBYtWoi+ffuKhIQE8euvvwpvb28xe/ZsKebPP/8UTk5OYubMmeLixYti5cqVws7OTvz6669m5cm724iIiGoeq9/dlpSUhPbt2z8wxtXVVbozrSJWrVoFjUaDqKgo+Pv7S3/fffedFLNs2TIMGDAAQ4cORffu3eHn54cffvhBarezs8PWrVthZ2eHyMhIvPDCCxg1ahTeeecdKSY0NBTbtm1DbGwsWrdujQ8//BCfffYZYmJiKpwzERER1T4WXZPk6upqdCrLlKtXr8Lb27vC6xZmzLfr4OCAlStXYuXKlfeNCQ4Oxvbt2x+4nqioKJw6darCOVLl6fV6HDhwAADQrVs32NnZmdVGZG3sm0RUxqIiqVOnTtiyZUu5i6fL3LhxA9u3b8fgwYMrmx/VUgUFBejZsycAIDc3F87Ozma1EVkb+yYRlbHodNvMmTORlZWF3r174+DBg9KcaHl5eYiLi0NMTAxKSkowY8aMKk2WiIiI6FGx6EhS9+7dsWLFCkydOhXdu3eXlru6ugIovSbok08+QXh4eNVkSURERPSIWVQkAcCkSZMQFRWF1atX48iRI8jMzIRarUZERAReeeUVNG/evCrzJCIiInqkLC6SAKBZs2ZYvnx5VeVCREREVG1YdE3SO++8g/379z8w5sCBA0a33BMRERHVJBYVSfPmzcPevXsfGLN//37Mnz/fktUTERER2VylTrc9SFFREccQoftSKBRYvHix9NjcNiJrY98kojIyYc7ojX8jl8sxf/58vP322ybbi4qK8MQTT+CPP/7AzZs3K51kdaTVauHm5gaNRgO1Wm3rdIiIiMgMFdl/m30kqX79+kbPly1bhnXr1pWL0+v1yMjIQEFBASZMmGDu6omIiIiqFbOLJIPBAJlMBgCQyWQQQpicQkShUKB58+bo1avXfY80Een1epw8eRIA0K5du3JTP9yvjcja2DeJqIzFp9vmzZuHOXPmWCOnGoGn2ypHp9PBxcUFQPnpHR7URmRt7JtEtZtVTrfdKzEx0eScbURERES1hUVFUnBwcLllJSUlOHv2LACgRYsWvPODiIiIajSzx0lKTEzE2rVr8ccff5Rr27p1K+rWrYv27dujffv28Pf3x4YNG6o0USIiIqJHyewiac2aNZgwYQJUKpXR8itXruDZZ5/F7du3ERQUhGbNmiErKwsjRozAqVOnqjxhIiIiokfB7CLpt99+Q5s2bcqdalu+fDkKCgowefJkJCYm4ty5c9i0aRP0ej1WrFhR5QkTERERPQoVOt3WsWPHcst//fVXKJVKLFy4UFo2aNAgdOvWDQcOHKiaLImIiIgeMbMv3L59+zbq1KljtCwzMxNXr15Ft27d4OrqatTWtm1bHD9+vGqypFpHoVBg7ty50mNz24isjX2TiMqYXSQpFArcuXPHaNmJEycAAO3bty8Xz/FD6EGUSiXmzZtX4TYia2PfJKIyZp9ua9y4MeLi4oyW7dy5EzKZDJ07dy4Xn5ycDH9//8pnSERERGQDZhdJQ4cOxeXLlzFx4kScOXMG33//PT799FO4uLjgiSeeKBd/8OBBNGzYsEqTpdrDYDDg/PnzOH/+PAwGg9ltRNbGvklEZcyeliQvLw+RkZE4e/asNIebEAJLly7FtGnTjGKPHz+Ojh07YsmSJXj99derPOnqgNOSVA6nfqDqin2TqHazyrQkTk5OOHjwIJYtW4bDhw/Dy8sLzzzzDAYOHFgu9uTJk3jqqafwj3/8o+LZExEREVUDFk1wSzySVFn81zpVV+ybRLWb1Se4pbu6Df4eTSJD0DDcGwBQlF+C3V+WTt0SM6EZZPLSU5O/H0rFtbOZqN/GC40jfAEA+mIDYtf+DgCIHtME9ko7AMDlY+n481QGglp4ollnP2lbO9dchIBA1IjGUDmVfnV/JmTg8rF01G3sjhY9AqTYuPWXoC82oOuwBnBSKwEASecz8Xt8Gvzqq9GqV10pdt/Xl1GYX4LIIaFw9XQAANy8lI2Lv6XAO8gFbfoESrG/bbiK/JwidBwYAjcfRwBAylUNzu1NhmeAM8L7BUmx8T/8CV12Edo9EQjPgNKdye3rOTi9+xZc3GWV++CJbGz8yztQr6E3+j7bGLrCEuQX6/G/1WeRmZGProNC4RngDIMAbl7JxtHt1+Hu54zOg0NhEAJ6g8Bv3/8JbUY+wvsFwTuodAiVjBu5OL79OtReDuj8dANpW0d+voasFB3a9AmEX/3SH/WsFB2O/HwNTmoluj/XSIo9vv06Mm7komVUXdRt4g4A0NzOR/wPf8LBSYGokY2l2FM7byAtUYuwrv4Iau4JANBlF+LAd1egUNqh95imUuyZ3beQfDkbTTr5IrR16XAwBbnF2Pv1H5DLZeg7IUyKPX8gGTcuZKFhuDcatvcBABQVlGD3F5cAAH3Hh0Fu99dvY3wqrp25g9DWddCkU+lvo0FvwM7PLgIAer/YFArV3d/GqydvI6i5J8K63r0xaMenFyCEQNQLjeHgXDo0w5+nMvDH0TTUbeyOlj3v/t7tWnsRJcUGdBveEM5upTNIXD97BxcPpcKvvtro927Pfy+hMK8EnZ9uALXXX7+Nv2fh3L5keAe5Gv3e7f/fZeRpixDxVCg8/JwAAClXNDgddxOe/s7o+I8QKfbgxqvIySxA+/7BqFOvtOhOv5aDkzuS4ObtiMgh9aXYw5sTkZ2Wh7YxgfANKf3u79zS4djWa3DxUKHrs3ev/T229Rru3NKhVa+6CGhU+t1np+Xh8OZEOLoo0WPE3X5y8tckpF/PQfPuAQhs5gEAyLlTgIPfX4XSwR69RjeRYk/vuomUqxo07eyHkJZeAIA8bRH2/+8y7Ozl6DOumRR7bm8ybl7KQqMOPmjQrnS/WJhXgj3/Lf3un3i5uRR78WAKrp/LRP223mjcsbSflBTpsWtd6X6xz9hmsFOUXjr9x5E0/JmQgZCWXmj6135RCIEdn14AAPQa1QRKx9L94tUTt3H5eDrqNfUw2i/u/OwiDHoDOg02/6YyFkmVdGZ3Mq4X2+FoST4AQJ9Xgps7bgAA7rR2lq7fytybhpzjmbiqycNxFAIADMUG3PgrNiPMCXJlaWfI2p8ObfwdXL6di1N2RdK2rv+SBABIb+AAO+fSr04Tn4Hs/bfxxy0tzjiUSLFJv1yHKBZICVJA4V5aJGmPZyIrLg1OzdQ456yXYm/8ch2GPD2S/eyg9C79Icg5nYXMX1Ph2NAFF9R3Dzbe+uU6SjTFuOkphyqgtEjSXdAgY1syHIKdcMnz7meT/GsSijMKcd1FwDG4tEjKu5yD21tuQuFn9j0DRNXSt1//DoeQNGws0ErLkn++iuI7RbjiYoBD0F99/g8tbv96C6q6jvjD9+4/DlJ230BRagGS1TI4ppbuKPMTc5G+8yYUPipcD7o7DlPq7hsovJGHm44CzhmlO8qCm3lI23kT9h5K3Gpwd7qotD03UPCnDjfs9XDRlOZWlFaAlJ03Yedij5QmDlLs7T03kfdHDpJEMVx1uQCA4sxCJO+8CblKjvTmTlJsxr5k6M5pcK2oCG6FeQCAEm0xbu28CciBO61dpNg7+1KQeyobiboCHDMUAAD0BXrc3HkTAJDZ2kX6B2TWvjRoj2Xiz+w8nJSX/jYKvUDSX7F3wpwg/6tIyj5wG5pDGbiaocNpZbG0ves7bwACuN3QAfaupZ+b5sgdZO9Nx+XkHKPfu6TYmxBFBqSHqKDw+Ou38UQmsnalwamJKy663f29u7nrJvS5JUirq4DSp/Rzyz2TjTs7U+DYwAV/eN3tD7d23UBJdjFSvO3gUK/0c9Nd1CJj5y2ogpxw9Z7fvOS4Gyi+XYhkDzkcQ/7qJ1dycHvnTSj9HXCt3t1dc2rcDRQm5+OWC+CUXlpMF1zXIW3nTSjqqHAjRHn3u999AwXX83BTZYBzVul3X5icj9SdN2HnpkByo7v9JH3PDeRfyUWSvASuOTml/eR2aT+RO9khrZnj3X6y9xbyLmpxXV8Mdb6utJ9kFyF5503IFDJktLx7RPXOvmTkntHgWkHh3f2irkT67rPa3h1TMXNfKnJOZOHPnHycQGk/MRQZcKPsu2/hDLninv3i4Tu4mpmHU/al+0Uh7vaTjCaOsPvr4EH2oQxoDtzGlbRcnHW8Z78YewOiRCCtnvk3XbBIqqTo4Y3RrEMgGrQq/ZdVUUEJdmtK/4eOiW4sFUkX3dxxPSwT9Zt7ofFf1bW+xICdt0vX06dPY9iXVcxeHrja8A6Cm3gg7K+jTgDwS7IBEECvvg2hKquYfTxxKdAD9Rq5o1WXu9XxzjSBkmIDevRtAOe/jiQlBmTiop8b/EPVaNvj7r+sYm8DRQV6dH8iFK4epT8ESYFZOOuphk89F3SIvvsvq91ZcuTnFKHzE6Hw+OtI0q1QDU45O6NOgDM6Rd+dtmaf1g45WYXo1C8Ydf46kpTaSItjSkfYOxuw4/NKffREj5y24O6OWR3pBZ96nmhWzw1qBwUcFHa48g8DSnQlaBdVF17+zpDLZMgM1eGsszM8vB0R0TMIcrkMchlwuEgJbWYhwnvWhc9fRxNuJ+tw3NEZag8VuvQJkbZ1RDggMy0fbbr7wz+4tEjKTMvDEXtHOLsq0L3P3SMPx+VOuJ2sQ6vOfqjbwA0AoLlTgENCBQdHe/Tsc/cI1SmlM1KTchHWwQfBTUuPJug0RdhfpIRCKUd0n7tHHs44ueJWuBZN2nmj/l9HnfJ1xdibZw+5DIjpc/cI1Xm1G5JaZaNhKy80+uuoU1GhHnHZpb9xMX0aQ152lN3THYlhWagf5oEm4aVHEwx6gR1//TZG920IRdlRdm9PXGlUB8FN3BHW8e5v469pAkIAPZ+oDwenv44k+d/BpWBP1K2vNvptjL0jQ0mxAd2fCJV+G68HZuFCXQ/4Bbuibfe7Rx52a+QozNejS79gqMuOsodqcNbHDT51nRHeq54Uuy/XHnm5xegUEyT9NqY00iLBwxWevo6I6HP3qNPBQiW0WYXo0Lue9NuY3iwXJ1xc4OblgMg+d39HD5eokJ1RgLZRAfANLC0w7qTm4ZjKCS5uSnTtEyrFHoMj7qTmoVUXfwT8dcQxOyMfh+UOcHSxR497vvuT9k5Iv6lD806+CPzrqFNOViEO6lVQquzQq8/dI1SnHVyQci0HTdt7I6RZ6Xefl1OE/QUK2NnJ0Oee7/6cixo322rQqE0dNPjrqFNhfgn25JR+h0/cE3vRzQ3XW2SjQUtPNGpTul8sKTZgV2Zp3+jTtxHs7P/aL9bxwJ9NMhHc1APNOpT2EyEEdqSVrqtXTAMoHUr3i1d8PXGlvhfqNXJDi073nI25Xdq3OvT2wTtrYRZek2QhXpNUOemZGvh6uQMA4o9fQ6fwuz8KvO6DbOlB/e+L/b/jxR6lpxY02hyoXV1MroOIqi9ek0TVnruLIxy9Y5B/uwDrv7lkVCQpFAq88cYb0mOiR+lB/e+j/5yFvWcfhDXzgoNKaerlRFSLsEgim1AqlQiLmoCEX24gu0CUa1uyZImNMqPH3f36343MPPx+MgslmX0xIDoSSiWLJKLajkUS2cxTLzRFRn0HNOtS7+HBRDa2+dQtuIZ7oFGYJ54Z1OjhLyCiGo9FEtmEwWCAh9CgRJOGy6me5dqSkkrv5AsKCoJczjvh6NEx1f+EEPjh1C2o6jrg5a514O6eB4PBwL5JVMuxSCKbyM/Px6uDugAALs3dUq4tNLT0jg1euE2Pmqn+d+pGNhIzdHCAHq/8o7NRGxHVXvxnENnc6VWX8PEnp2ydBtF9/XDyJopuF6CFQvXwYCKqNVgkkc0Vpxcibv8NW6dBZFJhiR5bTqcg50QWfniPxTzR44RFEtmcV39/dHumwcMDiWxgz+/p0OQXw8VVCX9/nl4jepywSCKbc2qsRqqh5OGBRDaw6eQtAMDU/+uIy5fH2zgbInqUql2RtH//fgwcOBABAQGQyWTYvHmzUbsQAnPmzIG/vz8cHR0RHR2Ny5cvG8VkZmZixIgRUKvVcHd3x7hx45Cbm2sUc+bMGXTr1g0ODg4IDAzE4sWLrf3W6AEupGgfHkT0iGXnFWHvpXQAwOC2dR8STUS1TbUrknQ6HVq3bo2VK1eabF+8eDE++ugjrF69GkeOHIGzszNiYmJQUFAgxYwYMQLnz59HbGwstm7div379+Oll16S2rVaLfr27Yvg4GCcOHECS5Yswbx58/Dpp59a/f1RecXZRTix6ybiDyfbOhUiIzvOp6FYL9DUzxVN/Fwf/gIiqlWq3RAA/fr1Q79+/Uy2CSHw73//G2+99RaeeuopAMCXX34JX19fbN68GcOHD8fFixfx66+/4tixY2jfvj0A4OOPP8aTTz6JDz74AAEBAfj6669RVFSEtWvXQqlUonnz5khISMDSpUuNiimyHnt7e7zyyisQQuDbYznIOq7FfwLOIrJTgNRWFkf0KN3b/7adK509U35Sg/Dw/2LKlJbsm0SPkRr1f3liYiJSU1MRHR0tLXNzc0NERATi4+MxfPhwxMfHw93dXSqQACA6OhpyuRxHjhzB4MGDER8fj+7duxtNKxATE4P/9//+H7KysuDh4VFu24WFhSgsLJSea7U8PVQZKpVKOlp4cvzPSEgthr2bslwb0aNW1v/StQXouDAOAKC7mYeTJ9NQUnL/o9xEVPvUqCIpNTUVAODr62u03NfXV2pLTU2Fj4+PUbu9vT08PT2NYsoGi7t3HWVtpoqkRYsWYf78+VXzRshIv6caILWOHYK7+j48mOgR2fPXtUitA92xfGJXnDyZhg4d/GycFRE9SjWqSLKl2bNnY8aMGdJzrVaLwMBAG2ZUswkhkJGRAQBo9te1HheSteXa6tSpA5lMZpsk6bFU1v+2HrkEIQR6NfFBSIgbQkLcIITA7du3AbBvEj0OalSR5OdX+q+4tLQ0+Pv7S8vT0tLQpk0bKSY9Pd3odSUlJcjMzJRe7+fnh7S0NKOYsudlMX+nUqmgUnG03aqSl5cnHfE7ern0Fuuzt7JRUFAMvb5IauPUD/So3ds3A6d/j97NfEy2sW8S1X7V7u62BwkNDYWfnx/i4uKkZVqtFkeOHEFkZCQAIDIyEtnZ2Thx4oQUs3v3bhgMBkREREgx+/fvR3FxsRQTGxuLJk2amDzVRtbVyMcVuUfv4OL/u4A35xy0dTpEEh+1EsnnM/HFF+eQmJht63SI6BGrdkVSbm4uEhISkJCQAKD0Yu2EhAQkJSVBJpNh2rRpWLBgAX7++WecPXsWo0aNQkBAAAYNGgQAaNasGZ544glMmDABR48excGDBzFlyhQMHz4cAQEBAIDnn38eSqUS48aNw/nz5/Hdd99h+fLlRqfT6NFR2Mnh7+kEQ6EBR46n2jodIkmXBt749NMzePHFX/HDD5cf/gIiqlWq3em248ePo2fPntLzssJl9OjRWL9+PWbNmgWdToeXXnoJ2dnZ6Nq1K3799Vc4ODhIr/n6668xZcoU9O7dG3K5HEOHDsVHH30ktbu5uWHnzp2YPHkywsPDUadOHcyZM4e3/9tQn/4huKOW4YmBTWydCpHE3ckefuF+uHOnAB07+j/8BURUq8iEEMLWSdREWq0Wbm5u0Gg0UKvVtk6nxtHpdHBxcQFQevTwl9+z8MbG0+gY4ol1I1sZtfG6D3qU7u2b8zYdx9wh4Sbb2DeJaqaK7L+r3ek2ejy1qucGADiXrIHewLqdqgnevEb0WKt2p9vo8dTA2wWy9EIkX9JiXeB5W6dDBAAoLtBDCMFb/YkeUyySyCbs7e0xevRo6bGdXAbn28W4digD37v+adRG9CjZ29ujda+ncCU9F7+u/QMfTzyMDz+Mwvjxrcr1WyKq3fh/OdmESqXC+vXrjZZFdK2La9e18GlRB+s/WG/ydUTWplKp8NRrC/BF/HWkb06BVlsET08Hqe3v/ZaIai8WSVRt/CMmFHFZGhiCnGydCj3myq6Km7K0K56o54XgYN6cQfQ4YpFENiGEQF5eHgDAyckJMpkMreq5AwDO39IgW5sDhZ1caiN6VIQQKMjXwVBUAHt7GVq18jZq+3u/JaLai0US2UReXl65W6mDPZ3g6mCPzLRseLipjdqIHpW8vDwsea4TAKCkZ0K5Ng4BQPT44BAAVG3I5TLITmqQvPqqrVMhAgDs+OoSEhLSHx5IRLUSiySqVpo19bR1CkSS3RuusEgieoyxSKJqZdjQJqg7uaGt0yACAET0DUSnTpyOhOhxxSKJqpWIJnUgV9rZOg0iAMDwaW3QtKmXrdMgIhthkUTVSl13RwS4Ozw8kOgRkPPmNaLHGu9uo2rHW2uQHo//8jiUKkcAwOH/XkaBpgjtn6kPd//SsZTS/sjGuR234BnojPAhodJUW4e+uozcOwUIHxwKr6DSu5Fu/6nFqS3X4ebnhIhhDaRtHPn2KjSpeWgzMBg+DUrvqruTlIsTPyTCpY4DOr/QSIo99v2fyLyhQ6t+gfBv6g4AyE7W4ch3f8LRTYnuY5tIsSc3X8PtxBw0j66Lei1Lr7XKuZ2Pg/+9DJWTPXpODJNiE7YlIfVSNpr1DEBw2zoAgLzsQuxfewn2CjmiX20hxZ7dcQO3zmehcVc/1O/oAwAoyC3G3v9cBGTAEzNaSbEX4m4hKeEO6kf4oHFXPwBASaEesR+XTv3Sd1oL2NmX/lvp0v4U/Hk0HSHh3mjWMwAAYDAI7Fh6BgDQe3JzKB1LfzKuHErDHwdTEdTaCy361pO29+vSMzDoBXq+3AyOaiUA4M9j6fh9TwoCmnugTf8gKTb243Moztej+7gmcPEqLYyvJ2Tg/M5b8G3khvDBIVLs7k8uID+nCF1GN4a7X+l3f/NcJk5vS4J3qCs6Pnv3+9y75iJ0mYXo9FxD6btP+T0bJ3+6Bs96zogccff7PLDuEjRp+ej4TH3pu0++mCa1y3mLP9FjjUUS2YSdnR2efvpp6fG9Ah0dAbSC3MkOh65mQmZfurO9lZCBkuxiFDV3hUpTWjjpLmiQcTIDaXfykNn07iCUyacyUJxRiPxGznDM1QEA8q7k4PbJO1D666Bp6SLFpiTcRlFKAfLqO8KpMB8AkH9Nh/RTd6Coo0Juu7sDCaadyUDB9TzkBargbCgEABTeykdqwh3YuytQcMFdik0/k4H8q7nI9VPigl0xAKDodgFSTmdC7myH4gt3d8a3z2Qg73ctcr0VuKTSAwCKs4qQfDoTMqUcO++JzTibAd1ZDXLc7XDFpXTYQ31uCW6eyQRkMIrNPJeBnDNZ0DrLcM2zdIdvKNTj5tlMAMCuC2mQ/VUkZZ3LgPZsFjQOMtzwLf1OhEHg5tksAEDchTTY/VUkZZ+/Dc25LGjsBZLrKaTt3TiXBegF9lxIh726dLn2/B1knc9CNvRID1UZxRoK9Nh3IR0Kr9LlOeezkHk+C1nFJbjTxFGKvXkhE/qcEhy4kA5VZuny3Asa3LmQjcz8YmRfuPt93rqQhZLMIhy8eBsOf333uktaZFzIxh1tIXLu+XxSLmahKK0A8Rdvw/Gv7z7vciaA0kLz90NpQMzdAvVB/ZaIah8WSWQTDg4O2Lhxo8m2ZW/3hLfXGujtgHZdAiBE6QjIB1zdkKcrRoce9eDu6QABgZQOOTjX3B8e3o5o2yVAWscRN3fotEVo09kfnj6lxdPtFB3ONvKF2tMB7bvXlWKPe3kiJ6sQLTr6wtu/dNybrNv5SKjvA2dXJTr2unukJMG3DrIz8tGsnQ9865XumDWZBTgVVAcOTgp0ig6UYs8GeONOeh6atPaGf5ArACBXU4jj/l5QquzRue/doyoXgnxxO0WHBs09US/UDQCQpyvGMR9PyO1k6NYvRIq9VN8fqTdyENrUA0EN3QEARQUlOOzpAQDo3v9u7JVGAUi+noOghm4IaVLaXlyiR7y6dBtdYoIhtystnhKbZeFmjAZ1Q9Wo36z0yJcQAgedSovEiN71oPjrerGkFtlI6q2BX6ALGra4e83OISc1DAaB9lF14fBXQXWrjRbXemTBO8AZjVvVufsdqd1QUmxA264BcHIpLahSw3PwZ5csePo6ommbu4M4Hvf0QFGBHq06+cHFrbRoTo/Q4UpEINy9HBAW7iPFnvL2RH5eCZq394HbX9OJ3EnLwx/h9eDqpkKLjr5S7Bn/OsjLKUaTtnXgUae0+MrKyMeltivh7eWIN8a0xr0e1G+JqPaRCSHEw8Po77RaLdzc3KDRaKBWc8oCIiKimqAi+29euE1ERERkAosksgmdTgeZTAaZTAadTmd2G5G1sW8SURkWSUREREQmsEgiIiIiMoFFEhEREZEJLJKIiIiITGCRRERERGQCiyQiIiIiEzjiNtmEnZ0dnnzySemxuW1E1sa+SURlOOK2hTjiNhERUc3DEbeJiIiIKolFEhEREZEJLJLIJnQ6HZydneHs7Gxy6of7tRFZG/smEZXhhdtkM3l5eRa1EVkb+yYRATySRERERGQSiyQiIiIiE1gkEREREZnAIomIiIjIBBZJRERERCbw7jayCblcjh49ekiPzW0jsjb2TSIqw2lJLMRpSYiIiGoeTktCREREVEmPfZG0cuVKhISEwMHBARERETh69KitUyIiIqJq4LEukr777jvMmDEDc+fOxcmTJ9G6dWvExMQgPT3d1qnVejqdDt7e3vD29jY59cP92oisjX2TiMo81kXS0qVLMWHCBIwZMwZhYWFYvXo1nJycsHbtWlun9ljIyMhARkZGhduIrI19k4iAx7hIKioqwokTJxAdHS0tk8vliI6ORnx8vA0zIyIiourgsR0CICMjA3q9Hr6+vkbLfX198fvvv5eLLywsRGFhofRco9EAKL1Kniru3lMVWq0Wer3erDYia2PfJKrdyvbb5tzc/9gWSRW1aNEizJ8/v9zywMBAG2RTuwQEBFjURmRt7JtEtVdOTg7c3NweGPPYFkl16tSBnZ0d0tLSjJanpaXBz8+vXPzs2bMxY8YM6Xl2djaCg4ORlJT00A+ZTNNqtQgMDMSNGzc41pQF+PlVHj/DyuHnV3n8DCvHks9PCIGcnByz/qHz2BZJSqUS4eHhiIuLw6BBgwAABoMBcXFxmDJlSrl4lUoFlUpVbrmbmxs7diWp1Wp+hpXAz6/y+BlWDj+/yuNnWDkV/fzMPbjx2BZJADBjxgyMHj0a7du3R8eOHfHvf/8bOp0OY8aMsXVqREREZGOPdZE0bNgw3L59G3PmzEFqairatGmDX3/9tdzF3ERERPT4eayLJACYMmWKydNrD6NSqTB37lyTp+DIPPwMK4efX+XxM6wcfn6Vx8+wcqz9+XGCWyIiIiITHtvBJImIiIgehEUSERERkQkskoiIiIhMYJFEREREZAKLJAutXLkSISEhcHBwQEREBI4ePWrrlGqM/fv3Y+DAgQgICIBMJsPmzZttnVKNsmjRInTo0AGurq7w8fHBoEGDcOnSJVunVWOsWrUKrVq1kgafi4yMxC+//GLrtGqs999/HzKZDNOmTbN1KjXGvHnzIJPJjP6aNm1q67RqnFu3buGFF16Al5cXHB0d0bJlSxw/frxKt8EiyQLfffcdZsyYgblz5+LkyZNo3bo1YmJikJ6ebuvUagSdTofWrVtj5cqVtk6lRtq3bx8mT56Mw4cPIzY2FsXFxejbt6/R5Kt0f/Xq1cP777+PEydO4Pjx4+jVqxeeeuopnD9/3tap1TjHjh3Df/7zH7Rq1crWqdQ4zZs3R0pKivT322+/2TqlGiUrKwtdunSBQqHAL7/8ggsXLuDDDz+Eh4dHlW6HQwBYICIiAh06dMCKFSsAlE5nEhgYiFdffRX//Oc/bZxdzSKTyfDjjz9KU8NQxd2+fRs+Pj7Yt28funfvbut0aiRPT08sWbIE48aNs3UqNUZubi7atWuHTz75BAsWLECbNm3w73//29Zp1Qjz5s3D5s2bkZCQYOtUaqx//vOfOHjwIA4cOGDV7fBIUgUVFRXhxIkTiI6OlpbJ5XJER0cjPj7ehpnR40qj0QAo3dFTxej1enz77bfQ6XSIjIy0dTo1yuTJk9G/f3+j30Iy3+XLlxEQEID69etjxIgRSEpKsnVKNcrPP/+M9u3b45lnnoGPjw/atm2LNWvWVPl2WCRVUEZGBvR6fbmpS3x9fZGammqjrOhxZTAYMG3aNHTp0gUtWrSwdTo1xtmzZ+Hi4gKVSoWJEyfixx9/RFhYmK3TqjG+/fZbnDx5EosWLbJ1KjVSREQE1q9fj19//RWrVq1CYmIiunXrhpycHFunVmP8+eefWLVqFRo1aoQdO3Zg0qRJeO211/DFF19U6XYe+2lJiGqyyZMn49y5c7yeoYKaNGmChIQEaDQafP/99xg9ejT27dvHQskMN27cwNSpUxEbGwsHBwdbp1Mj9evXT3rcqlUrREREIDg4GBs2bOApXzMZDAa0b98eCxcuBAC0bdsW586dw+rVqzF69Ogq2w6PJFVQnTp1YGdnh7S0NKPlaWlp8PPzs1FW9DiaMmUKtm7dij179qBevXq2TqdGUSqVaNiwIcLDw7Fo0SK0bt0ay5cvt3VaNcKJEyeQnp6Odu3awd7eHvb29ti3bx8++ugj2NvbQ6/X2zrFGsfd3R2NGzfGlStXbJ1KjeHv71/uHzXNmjWr8tOWLJIqSKlUIjw8HHFxcdIyg8GAuLg4XtNAj4QQAlOmTMGPP/6I3bt3IzQ01NYp1XgGgwGFhYW2TqNG6N27N86ePYuEhATpr3379hgxYgQSEhJgZ2dn6xRrnNzcXFy9ehX+/v62TqXG6NKlS7mhT/744w8EBwdX6XZ4us0CM2bMwOjRo9G+fXt07NgR//73v6HT6TBmzBhbp1Yj5ObmGv2LKTExEQkJCfD09ERQUJANM6sZJk+ejG+++QY//fQTXF1dpWvh3Nzc4OjoaOPsqr/Zs2ejX79+CAoKQk5ODr755hvs3bsXO3bssHVqNYKrq2u569+cnZ3h5eXF6+LM9MYbb2DgwIEIDg5GcnIy5s6dCzs7Ozz33HO2Tq3GmD59Ojp37oyFCxfi2WefxdGjR/Hpp5/i008/rdoNCbLIxx9/LIKCgoRSqRQdO3YUhw8ftnVKNcaePXsEgHJ/o0ePtnVqNYKpzw6AWLduna1TqxHGjh0rgoODhVKpFN7e3qJ3795i586dtk6rRuvRo4eYOnWqrdOoMYYNGyb8/f2FUqkUdevWFcOGDRNXrlyxdVo1zpYtW0SLFi2ESqUSTZs2FZ9++mmVb4PjJBERERGZwGuSiIiIiExgkURERERkAoskIiIiIhNYJBERERGZwCKJiIiIyAQWSUREREQmsEgiIiIiMoFFEhEREZEJLJKIqNqKioqCTCazdRpmE0IgPDwcffv2NVpe1e9j165dkMlk2L59e5Wtk4jK49xtRPRIVLRIqImTAXz55Zc4efIk4uPjrbqd6OhodO3aFbNmzUJMTAwnlSWyEhZJRPRIzJ07t9yyf//739BoNCbbgNKiIy8vz9qpVQmDwYB58+ahW7du6NSpk9W3N2vWLPzjH//At99+ixEjRlh9e0SPI87dRkQ2ExISguvXr9fIo0Z/t23bNgwYMABr1qzB+PHjjdqioqKwb9++Kn2fxcXFCAgIQNOmTXHgwIEqWy8R3cVrkoio2jJ1Lc/69eshk8mwfv16bNmyBREREXByckLdunXx9ttvw2AwAAC++OILtG7dGo6OjggKCsKSJUtMbkMIgbVr16JLly5Qq9VwcnJC+/btsXbt2grlum7dOshkMgwdOvS+McXFxZg3bx5CQkKgUqnQuHFjfPLJJ+Xi5s2bB5lMhr1792L9+vVo164dnJycEBUVJcUoFAoMGjQIv/32G65cuVKhXInIPDzdRkQ10o8//oidO3di0KBB6NKlC7Zt24YFCxZACAE3NzcsWLAATz31FKKiorBp0ybMmjULvr6+GDVqlLQOIQRGjBiB//3vf2jUqBGef/55KJVKxMbGYty4cbhw4QI++OCDh+YihMCePXvQpEkTeHh43Dfuueeew9GjR9GvXz/Y2dlhw4YNmDx5MhQKBSZMmFAufsmSJdizZw+eeuop9O3bt9y1R5GRkfjss8+we/duNGzYsAKfHhGZRRAR2UhwcLB40M9Qjx49yrWvW7dOABAKhUIcPXpUWq7VaoWPj49wcnISfn5+4urVq1JbUlKSUCqVomXLlkbr+vTTTwUAMWbMGFFUVCQtLywsFAMHDhQAxPHjxx/6Ps6fPy8AiBEjRjzwfURERAiNRiMt//3334W9vb1o0qSJUfzcuXMFAOHs7CzOnDlz3+2ePn1aABCjRo16aI5EVHE83UZENdILL7yADh06SM9dXV0xYMAA5OXlYdKkSahfv77UFhgYiK5du+LChQsoKSmRlq9YsQLOzs5YuXIlFAqFtFypVOK9994DAPzvf/97aC43b94EAPj6+j4wbtGiRVCr1dLzJk2aoEuXLrh06RJycnLKxb/00kto2bLlfddXtr2y7RNR1eLpNiKqkdq0aVNumb+//wPb9Ho90tLSULduXeTl5eHs2bMICAjA//t//69cfHFxMQDg999/f2gud+7cAQC4u7s/MC48PLzcsnr16gEAsrOz4erqatTWsWPHB67P09MTAJCRkfHQHImo4lgkEVGNdO8RmTL29vYPbSsrfrKysiCEwK1btzB//vz7bken0z00F0dHRwBAQUGBxTnr9fpybQ87MpWfnw8AcHJyemiORFRxLJKI6LFUVrCEh4fj+PHjlVqXt7c3ACAzM7PSed3rYQNwlm2vbPtEVLV4TRIRPZZcXV3RrFkzXLx4EdnZ2ZVaV/PmzSGXy3Hp0qWqSc5MZdt70HVLRGQ5FklE9Nh67bXXkJeXhwkTJpg8rZaYmIhr1649dD3u7u5o1aoVjh8/Lo3T9CgcOXIEANCjR49Htk2ixwmLJCJ6bL388ssYPXo0vv/+ezRq1AijRo3CP//5T4wZMwaRkZFo0KABDh8+bNa6Bg8ejJycHLPjq0JsbCw8PDzQvXv3R7ZNoscJiyQiemyVjdz93XffoXnz5ti6dSuWLl2K2NhYODg44IMPPkB0dLRZ6xo/fjzs7e3x1VdfWTnrUteuXcPBgwcxevRoODg4PJJtEj1uOHcbEVEVGTlyJLZt24br16+Xu52/qr311ltYvHgxLl68iAYNGlh1W0SPKx5JIiKqIgsWLEB+fj4+/vhjq24nKysLH3/8MSZNmsQCiciKOAQAEVEVCQ4OxhdffIG0tDSrbicxMRHTp0/Hq6++atXtED3ueLqNiIiIyASebiMiIiIygUUSERERkQkskoiIiIhMYJFEREREZAKLJCIiIiITWCQRERERmcAiiYiIiMgEFklEREREJrBIIiIiIjLh/wOhVB5Urs1dOgAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlIAAAHOCAYAAABTk+fWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAACD5klEQVR4nO3dd3hU1dYG8HdqMum9kUrvHULoJTRBioiiSBe9CIqgoF5FUFEU+VBscOUq6FXsihRR6SCETuidhADpPZnUmdnfH0MOGVKZlEky7+958jDZZ8+ZNcNOzso5++wlE0IIEBEREdF9k1s6ACIiIqL6iokUERERkZmYSBERERGZiYkUERERkZmYSBERERGZiYkUERERkZmYSBERERGZiYkUERERkZmYSBERERGZiYkUUQN25coVzJkzB61bt4a9vT1sbW3h7++Pbt26Yc6cOfjll18sHWKdt27dOnTt2hX29vaQyWSQyWSIjo62dFglBAcH19nYiBoypaUDIKKa8euvv+Lxxx9Hfn4+3N3d0atXL3h6eiItLQ2RkZH49NNP8f3332PcuHGWDrXO2rp1K6ZPnw5bW1uEh4fD3d0dAODg4GDhyOq+/v37Y+/evdi9ezf69+9v6XCIagwTKaIGKCEhAVOmTEF+fj5eeOEFLF26FLa2tiZ9jh8/jp9//tlCEdYPP/30EwDgo48+wsyZMy0cDRHVRUykiBqgLVu2IDs7G35+flixYkWpfbp06YIuXbrUcmT1S0xMDACgWbNmFo6EiOoqzpEiaoASEhIAAJ6envf1vM6dO0Mmk+HEiRMm7YmJiZDL5ZDJZFi4cGGJ5w0cOBAymQy7du0qsW3nzp146KGH4OvrC7VaDS8vL4wdOxYRERFlxpGbm4v/+7//Q48ePeDi4gJbW1u0aNECCxcuREpKSon+69evh0wmw9SpU5GSkoLZs2cjMDAQNjY2CAoKwrx585CWllbpz2Hq1KmQyWTYvXs3AGDAgAHS/KipU6ea9I2NjcX8+fPRqlUr2NnZwdHREd26dcMnn3wCnU5X5muY87mcP38e48ePh4eHBzQaDdq2bYsVK1ZAr9dX+r0V179/f8hkMuzZswf79+/Hgw8+CE9PT8jlcqxfvx4AkJWVhbVr1+Khhx5Cs2bNYG9vD3t7e7Rr1w6vvvoq0tPTTfa5Z88eyGQy7N27t8RnJ5PJpP0WSUtLw+LFi9GxY0c4OjrCzs4O7dq1w9KlS5GTk2PW+yKqVYKIGpz//e9/AoBQKBRix44dlX7eggULBADx3nvvmbR/++23AoAAIDp16mSyLScnR9jY2AiNRiPy8vJMtr3wwgsCgJDL5aJ79+5i/PjxIjQ0VMhkMqFQKMSXX35ZIobbt2+Ldu3aCQDCzc1NhIeHi7Fjx4qgoCABQAQHB4vo6GiT56xbt04AEKNGjRJNmjQRLi4uYsyYMWLs2LHC1dVVABAtWrQQiYmJlfoc1q5dK6ZMmSK8vb0FADF06FAxZcoUMWXKFLF27Vqp3969e6X9BwcHi1GjRomhQ4dKbUOGDBEFBQUl9m/O57J//35hb28vAIjGjRuLCRMmiPDwcKFSqcS4ceOkzycqKqpS71EIIfr16ycAiGeeeUbI5XLRunVrMWHCBDFkyBCxYcMG6XUBCE9PT9G7d2/x6KOPiiFDhgh3d3cBQDRt2lQkJydL+7xw4UKZn92UKVPE/v37pb7nzp0TAQEBAoDw9fUVw4YNEw8++KD03I4dO4r09PRKvx8iS2AiRdQAZWVliUaNGgkAQiaTif79+4u33npLbN26tdxk4q+//hIAxODBg03ap02bJgCI9u3bC5lMJpKSkip8zueffy4daE+dOmWybe/evcLR0VGo1Wpx+fJlqd1gMIhevXoJAGLGjBkiMzNT2lZYWCglIAMGDDDZX1EiBUD06NFDpKSkSNvS0tJEz549BQAxYcKESnx6dxUlGrt37y6xLS4uTri7uwuZTCY+++wzodfrpW3Jycli4MCBAoB44403qvy55ObmSgnH888/L3Q6nbTt1KlTwsPDQ3r/5iRSAMSnn35aap+bN2+KHTt2mLw/IYTQarVi8uTJUiJW1r5L++yEMCbgTZo0EQDEa6+9JvLz8032/dhjjwkAYtq0aZV+P0SWwESKqIG6ePGiCA0NlQ6Uxb86duwoVq9ebXJAFqLss0uBgYEiKChIfPrppwKA+P7776VtpZ3F0uv1ws/PTwAQx44dKzW+5cuXCwDihRdekNq2bdsmxVdYWFjiOXq9XrRt21YAEGfOnJHaiydSJ0+eLPG806dPC5lMJuRyubh582bFH94d5SUDL730kgAg5syZU+pzb926JVQqlfD09BQGg0GK35zP5ZtvvhEAREBAQKlnuD744IMqJVIDBw6s9HOK02q1QqlUCk9PzzL3XVYitXr1agFAjBw5stTtWVlZwsvLSyiVSpGammpWfES1gXOkiBqoFi1a4NChQzh8+DBef/11DB06VJozFRkZiVmzZmHYsGEoKCiQnqPRaNCzZ0/k5ubin3/+AQBcvnwZMTExGDx4MMLDwwEAO3bskJ5T9LhoGwCcPHkSsbGxaNKkSZkT2otuiT948KDUtnXrVgDAuHHjoFSWvBdGLpejb9++JZ5XpEOHDujYsWOJ9nbt2qFTp04wGAzYt29fqfHcr6JYH3300VK3N2rUCM2aNUNSUhKuXLkCwPzPZc+ePQCARx55BCqVqsRzpkyZYu7bAAA8/PDDFfY5ePAg3nvvPcyePRvTpk3D1KlT8cwzz0CtViMpKem+5qABFX9+Dg4O6Nq1K3Q6HY4ePXpf+yaqTbxrj6iB6969O7p37w4AEELg5MmTeP/99/H9999jx44dWLVqFRYsWCD1Dw8Px+7du7Fjxw4MGjRISpQGDx6M5s2bIyAgQGpLSUlBZGQk3N3d0alTJ2kf169fBwBcu3YNMpms3PiSkpJKPG/RokVYtGhRpZ9XJCQkpMz+ISEhOHHiBG7dulXufiurKNY+ffpU2DcpKQnNmzc3+3Mpirms9+fq6gpnZ2dkZGRUKvZ7BQcHl7ktMTER48aNkxLrsmRmZsLV1bXSr1n0WUyaNAmTJk0qt29p/9dEdQUTKSIrIpPJ0LlzZ3z33XfIycnBpk2bsHHjxhKJ1Kuvvort27dj2bJl2LFjB+RyOQYNGiRtX7duHa5evYoTJ05ACCHdtVfEYDAAAHx8fDB06NByY/Lw8CjxvN69e6NJkyblPq9Nmzb39+bvEEKY9bx7FcX68MMPw97evty+RQt5mvu51DSNRlPmtieffBL//PMPwsLC8MYbb6BDhw5wdXWVzoz5+fkhLi7uvj/Xos9i2LBh8Pb2LrdvUFDQfe2bqDYxkSKyUkOGDMGmTZuQnJxs0t61a1e4uLjg5MmTSEpKwu7du9GxY0cpGShKpHbs2CEtk1D8sh4ABAQEADAmEPfe7l6eoueNHj0aL7744n2/p6ioqDK3FZVO8ff3v+/9liYgIABXrlzBSy+9hK5du1b6OcD9fy6NGjUCgDLLv6Snp5t9Nqo8Wq0Wf/zxB+RyOf744w+4uLiU2B4fH2/WvgMCAnDx4kXMmDGjUpcWieoqzpEiaoAqc3agaLHJexMLuVyOAQMGwGAwYPny5UhPT8fgwYOl7YMGDYJMJsP27dtLnR8FAN26dYOHhwfOnz+Pc+fOVTru4cOHAzCuKG7OmaPTp0/j9OnTJdrPnTuHEydOmMyxqqqiWH/88cdKP8fcz6Vfv37SaxUWFpbY/vXXX1d6X/cjIyMDer0eTk5OJZIoAPjmm2/K/H9Sq9UAUOZaWuZ8fkR1kgUnuhNRDfnkk0/E5MmTxYEDB0psMxgM4pdffhF2dnYCgPj8889L9Cm6O8/W1lYAKLEWVbt27aRtISEhpcbw8ccfCwCiWbNmJmsHFdHpdGLnzp0iIiJCatPr9aJbt24CgJgyZUqpSzWkpqaK1atXm9zVV/yuvZ49e5rc5ZWeni769OkjAIjx48eXGmtZyrvz7ObNm8LFxUUoFAqxYsUKk9v3i1y/fl3873//M2kz53PJycmRlrN44YUXTJYiOHPmjPD09KzSXXtl3Vmn0+mkNbG+/vprk20RERHSttJet2jJjA8//LDUfWdnZ0trXy1cuNBkqYsicXFxpY5PorqEiRRRA1T8dnhPT08xZMgQ8fjjj4sHHnhABAcHS9ueeOKJEusDCSHEpUuXpD6lLbQ5b948afvMmTPLjKNoaQQAok2bNmL06NFiwoQJon///sLFxUUAEKtXrzZ5zu3bt0XHjh0FAGFvby969uwpJkyYIB566CHRsWNHoVAoBACRm5srPaf4gpyNGzcWLi4uYuzYseKhhx4Sbm5uUuKSkJBwX59jRYnG3r17pTWcvLy8xMCBA8XEiRPFyJEjpTWSQkNDq+Vz2bNnj5T8NmnSREyYMEEMHjxYqFQq8dBDD1VpQc6y3p8QpmMpNDRUPPbYY6JXr15CJpOJSZMmlfm6W7ZsEQCEWq0WI0eOFNOnTxczZswwSe7Pnj0rjUcXFxfRt29f8fjjj4sxY8aI1q1bC5lMJry9vSv9fogsgYkUUQOUmZkpNm7cKJ599lnRvXt34e/vL1QqldBoNKJJkybiscceE9u2bSt3H0ULQN670KYQQmzdulU6uP7www/l7ufAgQNi4sSJIigoSNjY2AhHR0fRvHlzMWbMGPHf//631DWC8vLyxJo1a8SAAQOEu7u7UCqVwsvLS3Ts2FHMnj1b/PXXXyb9ixKporNYTz/9tPD39xdqtVoEBASI5557zmSRzsqqTKKRkJAgFi1aJDp37iwtpunv7y969uwpFi9eLE6fPl1tn8uZM2ek5NDGxka0atVKLFu2TBQWFtZYIiWEEBs3bhQ9e/YULi4uwsHBQXTt2lV89tlnwmAwlPu6a9euFZ07d5YSQABi3bp1Jn0yMzPF8uXLRVhYmHBxcREqlUr4+vqKbt26iQULFoiDBw9W+v0QWYJMiGq6hYWIyELWr1+PadOmYcqUKfc1iZuIqKo42ZyIiIjITEykiIiIiMzERIqIiIjITJwjRURERGQmnpEiIiIiMhMTKSIiIiIzsdZeDTIYDIiNjYWjo2OFld6JiIiobhBCICsrC35+fpDLyz/nxESqBsXGxkpFSomIiKh+uXnzZoWFzplI1SBHR0cAxv8IJycnC0dT/+h0OuzcuROAsVCuUqkst52otpQ3Bjk+ieq/zMxMBAQESMfx8vCuvRqUmZkJZ2dnZGRkMJEyg1arhYODAwAgOzsb9vb25bYT1ZbyxiDHJ1H9dz/Hb042JyIiIjITEykiIiIiMzGRIiIiIjITZ0ESERHVIXq9HoWFhZYOo0FTqVRQKBTVsi8mUkRERHWAEALx8fFIT0+3dChWwcXFBT4+PlVe55GJFBERUR1QlER5eXnBzs6OCznXECEEcnJykJiYCADw9fWt0v6YSFGdpVar8cknn0iPK2onqi3ljUGOTzKHXq+Xkih3d3dLh9PgaTQaAEBiYiK8vLyqdJmP60jVIK4jRURElZGXl4eoqCgEBwdLB3mqWbm5uYiOjkZISAhsbW1NtnEdKSIionqIl/NqT3V91ry0R3WWXq/H/v37AQB9+vSRTr2W1U5UW8obgxyfRNaFiRTVWXl5eRgwYAAA01IbZbUT1ZbyxiDHJ5F14aU9IiIium8ymazcryVLllg0to0bN9bKa/GMFBEREd23uLg46fEPP/yA119/HZcuXZLaiop3V1ZBQUG9vNOVZ6SIiIjovvn4+Ehfzs7OkMlk0vdarRYTJ06Et7c3HBwc0K1bN+zYscPk+cHBwXjrrbcwefJkODk54amnngIArF27FgEBAbCzs8PYsWOxcuVKuLi4mDz3999/R+fOnWFra4vGjRvjjTfegE6nk/YLAGPHjoVMJpO+rylMpIiIiOowrbYAWm0Biq9WVFCgh1ZbgPx8Xal9DYa7fQsLjX3z8iruW12ys7PxwAMPYOfOnTh58iSGDRuGBx98EDExMSb9VqxYgQ4dOuDkyZNYtGgRDhw4gH/961+YO3cuIiMjMXjwYLz99tsmz9m/fz8mT56MuXPn4vz58/jPf/6D9evXS/2OHj0KAFi3bh3i4uKk72sKEykiIqI6zMHhIzg4fITk5Fyp7f33j8LB4SPMmbPTpK+X12dwcPgIMTGZUtunn0bCweEjzJjxl0nf4OC1cHD4CBcupFR7zB06dMDTTz+Ntm3bolmzZnjrrbfQpEkTbNq0yaTfwIED8cILL6BJkyZo0qQJPv74YwwfPhwvvvgimjdvjmeeeQbDhw83ec4bb7yBl19+GVOmTEHjxo0xePBgvPXWW/jPf/4DAPD09ARwtwRM0fc1hYkUERERVavs7Gy8+OKLaNWqFVxcXODg4IALFy6UOCPVtWtXk+8vXbqE7t27m7Td+/2pU6fw5ptvwsHBQfqaOXMm4uLikJOTUzNvqBycbE51lkqlwvLly6XHFbUT1ZbyxiDHJ1W37OznAAB2dnfH04IF3fD8852hVJqeD0lMfAYAoNHc7Tt7dkfMnNkOCoVp3+jomSX6VpcXX3wR27dvx4oVK9C0aVNoNBo8/PDDKCgoMOlnzvIg2dnZeOONN/DQQw+V2HbvCuW1gYkU1VlqtRoLFiyodDtRbSlvDHJ8UnWzty95J5tarYBaXXKx19L6qlQKqFSV61tdDhw4gKlTp2Ls2LEAjMlPdHR0hc9r0aJFiTlN937fuXNnXLp0CU2bNi1zPyqVCnq9/v4DNwMTKSIiIqpWzZo1w6+//ooHH3wQMpkMixYtgsFgqPB5zz77LPr27YuVK1fiwQcfxK5du7Bt2zaTci6vv/46Ro4cicDAQDz88MOQy+U4deoUzp49i6VLlwIw3rm3c+dO9OrVCzY2NnB1da2x98o5UlRn6fV6HD16FEePHjX5y6KsdqLaUt4Y5PgkAlauXAlXV1f07NkTDz74IIYOHYrOnTtX+LxevXphzZo1WLlyJTp06IA///wT8+bNM7lkN3ToUGzZsgV///03unXrhh49euCDDz5AUFCQ1Of//u//sH37dgQEBKBTp0418h6LyETx+ympWt1P9WgqSavVSgu6FS+1UVY7UW0pbwxyfJI58vLyEBUVhZCQEIvM86nLZs6ciYsXL0o1LKtLeZ/5/Ry/eWmPiIiI6owVK1Zg8ODBsLe3x7Zt2/DVV1/hs88+s3RYZWIiRURERHXGkSNHsHz5cmRlZaFx48b46KOP8OSTT1o6rDIxkSIiIqI648cff7R0CPeFk82JiIiIzFTnEql9+/bhwQcfhJ+fH2QyGTZu3GiyXQiB119/Hb6+vtBoNAgPD8eVK1dM+qSmpmLixIlwcnKCi4sLZsyYgezsbJM+p0+fRp8+fWBra4uAgABpAb3ifvrpJ7Rs2RK2trZo164d/vjjj2p/v0REREV4/1ftqa7Pus4lUlqtFh06dMCnn35a6vbly5fjo48+wpo1a3D48GHY29tj6NChyMvLk/pMnDgR586dw/bt27Flyxbs27dPqioNGGfjDxkyBEFBQTh+/Djef/99LFmyBJ9//rnU5+DBg3jssccwY8YMnDx5EmPGjMGYMWNw9uzZmnvzRERklYpWwbdEiRNrVfRZV7UCQZ2bIzV8+PASBQqLCCHw4Ycf4rXXXsPo0aMBAF9//TW8vb2xceNGTJgwARcuXMCff/6Jo0ePSjV8Pv74YzzwwANYsWIF/Pz88O2336KgoABffvkl1Go12rRpg8jISKxcuVJKuFatWoVhw4ZJKxS/9dZb2L59Oz755BOsWbOmFj4JUqlUWLx4sfS4onai2lLeGOT4JHMoFAq4uLggMTERAGBnZ2eyCCVVHyEEcnJykJiYCBcXFygUJVd9vx91LpEqT1RUFOLj4xEeHi61OTs7IzQ0FBEREZgwYQIiIiLg4uJiUggxPDwccrkchw8fxtixYxEREYG+fftCrb67PP7QoUPx3nvvIS0tDa6uroiIiMD8+fNNXn/o0KElLjVSzVGr1ViyZEml24lqS3ljkOOTzOXj4wMAUjJFNcvFxUX6zKuiXiVS8fHxAABvb2+Tdm9vb2lbfHw8vLy8TLYrlUq4ubmZ9AkJCSmxj6Jtrq6uiI+PL/d1SpOfn4/8/Hzp+8zMzPt5e0REZMVkMhl8fX3h5eWFwsJCS4fToKlUqiqfiSpSrxKpum7ZsmV44403LB1Gg2EwGHDhwgUAQKtWrSCXy8ttJ6ot5Y1Bjk+qKoVCUW0Heap59eonvOgUXEJCgkl7QkKCtM3Hx6fEaVGdTofU1FSTPqXto/hrlNWnvNOAr7zyCjIyMqSvmzdv3u9bpGJyc3PRtm1btG3bFrm5uRW2E9WW8sYgxyeRdalXiVRISAh8fHywc+dOqS0zMxOHDx9GWFgYACAsLAzp6ek4fvy41GfXrl0wGAwIDQ2V+uzbt8/k1On27dvRokULqUJ0WFiYyesU9Sl6ndLY2NjAycnJ5IuIiIgarjqXSGVnZyMyMhKRkZEAjBPMIyMjERMTA5lMhueffx5Lly7Fpk2bcObMGUyePBl+fn4YM2YMAOOp9GHDhmHmzJk4cuQIDhw4gDlz5mDChAnw8/MDADz++ONQq9WYMWMGzp07hx9++AGrVq0ymVw+d+5c/Pnnn/i///s/XLx4EUuWLMGxY8cwZ86c2v5IiIiIqK4Sdczu3bsFgBJfU6ZMEUIIYTAYxKJFi4S3t7ewsbERgwYNEpcuXTLZR0pKinjssceEg4ODcHJyEtOmTRNZWVkmfU6dOiV69+4tbGxsRKNGjcS7775bIpYff/xRNG/eXKjVatGmTRuxdevW+3ovGRkZAoDIyMi4vw+BhBBCZGdnS///2dnZFbYT1ZbyxiDHJ1H9dz/Hb5kQXEa1pmRmZsLZ2RkZGRm8zGcGrVYLBwcHAMYzlfb29uW2E9WW8sYgxydR/Xc/x+86d2mPiIiIqL5gIkVERERkJq4jRXWWSqXCiy++KD2uqJ2otpQ3Bjk+iawL50jVIM6RIiIiqn84R4qIiIioFvDSHtVZBoMBMTExAIDAwECTEjGltRPVlvLGIMcnkXVhIkV1Vm5urlRcuvht5GW1E9WW8sYgxyeRdeGfSkRERERmYiJFREREZCYmUkRERERmYiJFREREZCYmUkRERERmYiJFREREZCYuf0B1llKpxDPPPCM9rqidqLaUNwY5PomsC0vE1CCWiCEiIqp/WCKGiIiIqBbwvDPVWUIIJCcnAwA8PDwgk8nKbSeqLeWNQY5PIuvCRIrqrJycHHh5eQEwLbVRVjtRbSlvDHJ8ElkXXtojIiIiMhMTKSIiIiIzMZEiIiIiMhMTKSIiIiIzMZEiIiIiMhMTKSIiIiIzcfkDqrOUSiWmTJkiPa6onai2lDcGOT6JrAtLxNQgloghIiKqf1gihoiIiKgW8Lwz1VlCCOTk5AAA7OzsTErElNZOVFvKG4Mcn0TWhWekqM7KycmBg4MDHBwcpANTee1EtaW8McjxSWRdmEgRERERmalaEqmMjAwUFhZWx66IiIiI6o37niOVnZ2Nn376CTt37sSBAwcQGxsLnU4HAHB0dES7du3Qv39/jB49Gl27dq32gImIiIjqikonUjdv3sTSpUvx3XffITs7GwDg6uqKJk2awM3NDbm5uUhNTcWhQ4dw4MABvPPOO+jYsSPmz5+PiRMn1tgbICIiIrKUSiVSL7/8Mj766CPo9XoMHz4cjzzyCMLCwhASElKib05ODo4fP46///4bGzZswKRJk/DBBx9g7dq16NSpU7W/ASIiIiJLqdQcqTVr1uDFF19EXFwcNm7ciMcff7zUJAow3u7bp08fvPXWW7h27Rr+/vtv2NnZYfPmzdUaOBEREZGlVeqMVFRUFFxdXc16gfDwcISHhyMtLc2s55P1UigUePjhh6XHFbUT1ZbyxiDHJ5F1YYmYGsQSMURERPWPxUrECCFw5coV3Lx5szp3S0RERFQnmZVI/frrr5g8ebLJ5bro6Gi0b98eLVu2RHBwMCZMmAC9Xl9tgRIRERHVNWYlUqtXr0ZkZKTJvKl58+bh3LlzGDBgANq3b4+ffvoJX375ZbUFStZHq9VCJpNBJpNBq9VW2E5UW8obgxyfRNbFrETq/Pnz6N69u/R9VlYWtm7dikcffRQ7duzAkSNH0KpVKyZSRERE1KCZlUilpqbCx8dH+v6ff/6BTqfDY489BgBQqVQYPHgwrl27Vj1REhEREdVBZiVSTk5OSElJkb7fvXs35HI5+vTpI7WpVCqe1iYiIqIGzaxEqmXLlti8eTNSUlKQnp6ODRs2oEuXLiZzpm7cuAFvb+9qC5SIiIiorjErkXruuecQGxsLf39/BAYGIi4uDrNmzTLpc+jQIXTo0KFagiQiIiKqiypdtLi4cePG4dNPP8UXX3wBAJgwYQKmTp0qbd+7dy8yMzMxbNiwagmSiIiIqC4yK5ECgFmzZpU4C1WkX79+LAlDVaZQKPDAAw9IjytqJ6ot5Y1Bjk8i61LpEjHdu3fH2LFjMWrUKLRp06am42oQWCKGiIio/qmREjE5OTl49dVX0b59ezRt2hQvvvgi9u/fD5bqIyIiImtV6UTq7NmzuHr1Kt5//334+/tj1apV6N+/P7y9vTF9+nT8/vvvyM3NrclYiYiIiOqUSl/au1dKSgo2b96M33//Hdu3b0dOTg40Gg3Cw8MxZswYjBw5Ep6entUdb73CS3tVo9Vq4eXlBQBITEyEvb19ue1EtaW8McjxSVT/3c/x2+xEqri8vDz8/fff+P3337F161YkJiZCoVCgR48eGDNmDEaNGoVmzZpV9WXqHSZSVaPVauHg4AAAyM7ONkmkSmsnqi3ljUGOT6L6r9YTqeKEEDh48CA2btyITZs24cqVK5DJZNDr9dX5MvUCE6mqYSJFdRUTKaKG7X6O32Yvf1AWmUyGXr16oVevXnj//fdx4cIFbNq0qbpfhoiIiMjiqj2RulerVq3QqlWrmn4ZIiIiolpXqUTqzTffNGvnMpkMixYtMuu5RERERHVdpRKpJUuWmLVzJlJERETUkFUqkdq9e3dNx1Fper0eS5YswTfffIP4+Hj4+flh6tSpeO211yCTyQAYJ7wvXrwYa9euRXp6Onr16oXVq1eb3DmYmpqKZ599Fps3b4ZcLse4ceOwatUqaZIoAJw+fRqzZ8/G0aNH4enpiWeffRYLFy6s9fdsreRyOfr16yc9rqidqLaUNwY5PomsjKhn3n77beHu7i62bNkioqKixE8//SQcHBzEqlWrpD7vvvuucHZ2Fhs3bhSnTp0So0aNEiEhISI3N1fqM2zYMNGhQwdx6NAhsX//ftG0aVPx2GOPSdszMjKEt7e3mDhxojh79qz47rvvhEajEf/5z38qHWtGRoYAIDIyMqrnzRMREVGNu5/jd7Uvf1DTRo4cCW9vb3zxxRdS27hx46DRaPDNN99ACAE/Pz+88MILePHFFwEAGRkZ8Pb2xvr16zFhwgRcuHABrVu3xtGjR9G1a1cAwJ9//okHHngAt27dgp+fH1avXo1XX30V8fHxUKvVAICXX34ZGzduxMWLFysVK5c/ICIiqn9qpNZeaaKjo/H2229j/PjxGDp0KMaPH4+3334b0dHRVdltuXr27ImdO3fi8uXLAIBTp07hn3/+wfDhwwEAUVFRiI+PR3h4uPQcZ2dnhIaGIiIiAgAQEREBFxcXKYkCgPDwcMjlchw+fFjq07dvXymJAoChQ4fi0qVLSEtLKzW2/Px8ZGZmmnwRERFRw2X28gerVq3CwoULodPpTAoX//LLL3jzzTexfPlyzJ07t1qCLO7ll19GZmYmWrZsCYVCAb1ej7fffhsTJ04EAMTHxwMAvL29TZ7n7e0tbYuPj5dKOBRRKpVwc3Mz6RMSElJiH0XbXF1dS8S2bNkyvPHGG9XwLgkwLmwYHBwMwJi0F1+Qs7T2ytIbBFK0+UjOKkCqtgCFBgMMBgG5XAZ7tRJ2agWcNSp4OdnARqmozrdEDUR5Y7Cq45OI6hezEqktW7Zg3rx58PDwwLx58zBgwAD4+voiPj4eu3fvxsqVKzF//nw0bdoUI0aMqNaAf/zxR3z77bfYsGED2rRpg8jISDz//PPw8/PDlClTqvW17tcrr7yC+fPnS99nZmYiICDAghHVf8nJyffVfq+cAh0OXU/BqZsZOB+XifOxmYjLyIWhkhe0PRxs4OdiiwBXOzTzdkBzb0c093ZAsLs9lApOJLZm5Y3Byo5PIqr/zEqkVq5cCTc3N5w4cQL+/v5Se1BQEEJDQzFx4kR06tQJK1eurPZEasGCBXj55ZcxYcIEAEC7du1w48YNLFu2DFOmTIGPjw8AICEhAb6+vtLzEhIS0LFjRwCAj48PEhMTTfar0+mQmpoqPd/HxwcJCQkmfYq+L+pzLxsbG9jY2FT9TVKVZOUVYvOpOGw7G4fD11NRoDeU6COTAe72arjZq6FWyqGQy6E3GJBToIc2X4e0nEIU6AxIzs5HcnY+Tt/KAM7cfb6tSo62fs7oEOCCjgEu6BzkikYumlp8l0REVBeYlUidOHECEydONEmiigsICMAjjzyCDRs2VCm40uTk5JS4pVihUMBgMB4sQ0JC4OPjg507d0qJU2ZmJg4fPoxZs2YBAMLCwpCeno7jx4+jS5cuAIBdu3bBYDAgNDRU6vPqq6+isLAQKpUKALB9+3a0aNGi1Mt6ZHnRyVqs2XsNm07FIqfgbm1Hf1cNQkPc0cbPCa39nNDYwx5u9upyzygJIZCWU4jY9FzEZeQhOlmLywlZuJyYjasJWdAW6HHsRhqO3bg7Xy7QzQ5hjd0R1sT45e1kW6Pvl4iILM+sRKqgoKDC6/4ODg4oKCgwK6jyPPjgg3j77bcRGBiINm3a4OTJk1i5ciWmT58OwLgI6PPPP4+lS5eiWbNmCAkJwaJFi+Dn54cxY8YAMJatGTZsGGbOnIk1a9agsLAQc+bMwYQJE+Dn5wcAePzxx/HGG29gxowZeOmll3D27FmsWrUKH3zwQbW/J6qaxMw8LP/rEn47eRv6O9fsGnvaY3yXAAxu7YUmng7SGmOVJZPJ4HbnjFXbRs4m2wwGgagULU7dTEfkna9zsZmISc1BTGoOfjh20xiDhz16NHFHn6Ye6NXMA062qup5w0REVGeYtfxBx44dkZ+fjzNnzkCpLJmL6XQ6tG/fHmq1GpGRkdURpyQrKwuLFi3Cb7/9hsTERPj5+eGxxx7D66+/Lt1hJ+4syPn5558jPT0dvXv3xmeffYbmzZtL+0lNTcWcOXNMFuT86KOPylyQ08PDA88++yxeeumlSsfK5Q+qRqvVSv8f2dnZJpPNi9rX772AFTtvICtfBwAY2NILT/dtjO4hbvedPFVFdr4OR6NTEXEtBRHXUnAuNsNkHpZSLkOXIFcMaOmF/i080cLbsVbjo+pV1tisaBsR1Q/3c/w2K5FauXIlXnzxRQwYMADLly+XLo8BwLFjx/DKK69g165dWLFiBebNm3f/76CBYCJVNZVJpALm/Qy52hYd/J2xZFQbdAqsG5ddM3ILcSQqFQeuJmPf5SRcT9aabPd1tkX/Fp7o38ILvZp6wMGmxuuHUzViIkXUsN3P8dus395z587Fvn37sGnTJnTv3h12dnbw8vJCYmIicnJyIITA6NGja2T5A7IecrlcWuvr3hIx/s3aIjErHwqFHAuHtcRTfRtDIa87Z3icNSoMbu2Nwa2NS2bcSNFiz6Uk7LmUiIPXUhCXkYfvjtzEd0duQqWQoVuwm5RYNfO6/0uRVLvKGpsVbSOihqdKK5t//fXX+OqrrxAZGYnMzEw4OTmhU6dOmDJlCiZNmlSdcdZLPCNVc8Z+dgAnY9KxYGgLzB7Q1NLh3Je8Qj0OXU+REqvolByT7Y1cNOjb3BP9mnuiV1N3OHJuFRFRrarxS3tUOUykas7wVftxIS4TX03vjn7NPS0dTpVEJWux51Ii9lxKQsT1FBTo7i7XUDS3ql8LY2LV2teJZ6uIiGpYjV/aI7K0/ELj8gYaVf1feTzEwx4hHiGY1isEuQV6HIpKwd5LSdh7OQlRyVocjkrF4ahULP/zEjwdbdC3mSf6t/BEn2YecLFTV/wCRERUY6p0Rkqv1+PWrVuIjY1FYWFhqX369u1rdnD1Hc9IVU1OTg5at24NADh//jzs7OykdrdGjaEzCBw4dhKhzfwsGWaNupGixb7LxqTq4LUUk/Wx5DKgQ4AL+t25DNiukTNXW68lZY3NirYRUf1Q45f2DAYD3nnnHaxatQqpqanl9tXr9eVub8iYSFVNZe7aO3ktDh0bl77SfEOTr9PjeHQa9lxOwt5LSbiUkGWy3dFGiW4hbujR2A09GrujjZ9znZqA35Dwrj2ihq3GL+298soreP/99+Hl5YVp06bB19e31PWkiGqarRUVFbZRKtCzqQd6NvXAvx9ohbiMXOls1T9XkpGZp8Oui4nYddFY/sjRRonuIW4Ia+KOHo3d0crXiYkVEVE1Myv7+eqrr9CiRQscPXrUZAFLotpQ/CSqjdp6L2X5OmvwaLdAPNotEHqDwIW4TBy6noJD11NwOCoVWXk67LyYiJ13EisnWyW6h7hLZ6yYWBERVZ1ZiVR2djaeeOIJJlFkEcWLENs2gMnm1UEhl6FtI2e0beSMJ/s0ht4gcD7WmFhFXE/BkahUZObpsONCAnZcMBbfdrBRokOAMzoHuqJzoCs6Bbpw8joR0X0yK5Fq3749YmNjqzsWokrJKyiWSFnRpb37oZDL0M7fGe38nTGzb2Po9Aaci717xupodBqy83U4cDUFB66mSM9r7GmPTgHGpKptI2e09HFkskpEVA6zEqlXX30V48ePx4kTJ9C5c+fqjomoXHm6uzcwqBS8NFUZSoUcHQJc0CHABU/3awK9QeByQhZOxKThxI10nIxJw/VkLa4nGb9+OXELgDEha+rpgDZ+Tmjt54Q2fs5o7ecEZw0XCSUiAsxMpEaMGIH169dj+PDhGDVqFDp06FDmrPbJkydXKUCyXjKZTLqNvPgilAU6A1TugZDLWILDXAq5DK18ndDK1wkTQ4MAAGnaApy8aUysTt1Kx7nYTKRqC3ApIQuXErLw68nb0vMD3ezQxs/pzpcz2vg5wcvJ1lJvp9aVNTYr2kZEDY9Zyx/k5+fjySefxIYNG6SJv/f+whBCQCaTcfkDLn9Q7S7FZ2Hoh/vgbq/G8UWDLR1OgyWEQHxmHs7dzsS52Eyci83AudhM3E7PLbW/h4MN2jYyJlfNvR3RzMsRjT3teWmQiOqdGl/+YP78+fj222/Rvn17PPzww1z+gGpV7p1VzXmArlkymQy+zhr4OmsQfqf4MmA8c3U+7m5idS42E9eTspGcnX+nfmCS1FcuM569aubtiGZeDmjm7YBmXo5o4ukAjZr/f0RU/5mV/fz000/o0qULIiIimEBRrcu7k0jZqHhZzxJc7dXo1dQDvZp6SG05BTpciMvC+dgMnI/LwtXELFxOyEZGbiGiU3IQnZKD7ecTpP4yGRDganenPI49gt3tEHzncSMXDVdoJ6J6w6wsKC8vDwMGDGASRTUqJycH3bp1AwAcPXpUKrWRnpmF2P8+gxSVHDmzzrEERx1gp1aiS5ArugS5Sm1CCCRl5+NqQjauJGbjckIWriRm40pCFtJyChGTmoOY1BzsvZxksi+VQoYAV2NiFexujyB3OzRy0cDfTYNGLho42lp+ontZY7OibUTU8JiVCXXp0gVXr16t7liITAghcP78eelxkbwCAwpTYlB4TzvVLTKZDF6OtvBytEXPYmevACAlOx9XErMRlaxFdLLW+G+KFjdScpCvMxjvIEzWlrpfJ1sl/F3t0MhVA39XDfycNfBysjG+lpMNvJ1s4WBTs3/klTU2K9pGRA2PWb9t3nnnHQwaNAhbtmzByJEjqzsmonIVX/6A6id3Bxu4O9igR2N3k3aDQSAuMw83krWISjEmWTdTc3ErPQe303KRllOIzDwdzsdl4nxcZpn7t1Mr4OVoAy8nW+O/jrbwdrKREi43ezVc7dRwsVNxrh0RVYlZidT27dvRv39/jB49GgMHDixz+QOZTIZFixZVOUii4ormSFHDI5fL0MjFeAnv3rNYAKDN1+F2ei5upeXgVloubqXlIi4jD4mZeUjKykdCZh60BXrkFOiluVkVsVMr4Gqnhqu96k5ypYabncr4r70x2XK1u5t4udqrAZ5pIqI7zEqklixZIj3euXMndu7cWWo/JlJUE/KZSFktexslmns7orm3Y5l9tPk6JGblIzEzDwl3/k3KykfinUQrKSsfaTkFSMsphN4gkFOgR05BbpnLOpRGoc+XHhfoDLCv0rsiovrMrERq9+7d1R0HUaXl6QwVdyKrZW+jRIiNEiEe5ac3Qghk5umQnlOAVG0B0nMKkaotQFrOncc5BSbbipKvAp0Bhfq7Z6QuxWeih3PZiR0RNXCCakxGRoYAIDIyMiwdSr2UnZ0tAAgAIjs7W2pf9vtJqf33389J7YcPx4oWLb4QDzzws8l+pk/fJlq2/EJs2nRVajt9OlG0avWFGDjwB5O+zz67Q7Ru/aX48ceLUtvVq2midesvRa9eG0z6Lly4R7Rp86X46quzUtvt21mibdt1omvXr036LllyQLRtu0785z+RUltKSo5o126daNdunTAYDFL78uWHRfv268WqVceltpycAtG+/XrRvv16kZNTILV/9NFx0aHDevHee4dNXq9jx69Ex45fiZSUHKntv/89LTp1+kq8+eZBk75hYd+KTp2+ErduZUptGzacF507fy3+/e99Jn3Dw38UXbp8La5eTZPafv31sujS5Wsxf/4uk76jRv0qunb9Wpw9myS1bdt2XXTr9j8xe/Z2k76PPLJJdOv2P3H0aJzUtmdPjOje/X9ixow/TfpOm7ZNhIZ+I/7555bUdvhwrOjR4xvxxBNbTfo+88x20aPHN2LHjmip7fTpRBEW9q0YP/53k74vvLBb9Oz5rdiy5e44uXw5VfTs+a0YNepXIYQQBoNBaPMLxazntkpjcHtklMl+yhq3RFR/3M/xm+sXUJ0lk8kQFBQkPS6SrzdApnSD0Ans3n0To0YZy3Hk5upw6VIq7q0ac/NmFi5eTEVm5t3LMXl5Oly4kAqttrBE3/PnU5CWlnf39fJ1OH8+BR4eGpO+t25l49y5FKSk3L0kVFiox9mzydBoTH+0bt/OxtmzyUhKuttXrxc4cya5xPuOjdXi9OkkxMffvWtNCOD0aeMyAQbD3bMh8fFanDqVhH79Akz2ERmZCADQFTt7l5CgxcmTiejSxduk76lTicjJ0aGg4O4l08TEHJw4kYAWLVxL9E1KykVenk5qS07OxfHjCWjUyMGk7+nTSYiOzjT5jFNT83D0aDycnW1M+p49m4zz51OQlVUgtaWn5+PIkXgo7llT6uzZZBw9Go/09Lv/RxkZ+Th0KA45OTqTvufPp+DQoTiT/6OsrAJERMSiaVMXk74XLqTg4MFYJCbenVeVk1OIgwdj4etrPLslk8lgp1Yi/qYWMrkboJQhKTnPZD9ljVsiapgqVSLm0KFD6NGjh9kvotVqER0djTZt2pi9j/qIJWJqxpJN5/Cfn86jk0qDRTM7IyzMDwCQnp6H06eTYGenQteuPlL/06eTkJaWh5Yt3eDtbTwgZmbm4+TJRNjYKNCjh5/U9+zZJCQn56J5czf4+RkTA622AEeOxEOlkqN3b3+p7/nzyUhIyEHTpi4ICDD+/+bl6XDwYCzkcqB//0Cp74ULKYiNzUbjxs4ICXEBABQU6LF/v7E48MCBgdJB9/LlVMTEZCE42AlNmxoTGb3egF27YqS+RcnF1atpiIrKQECAI1q2vHsH3N9/RwMA+vXzh82dpQCuX0/HlStp8Pd3RJs2dydyb98eDb1eoG9ff9jZGddoio7OwMWLqfDxsUfHjl5S3507b6CgQI/evf3h6KgGAMTEZOLs2WR4edmZfO67d8cgN1eHnj394OJirMN3+3YWIiMT4eFhh9BQX6nvnj0xyM4uRI8evvDwMK67FB+vxbFj8XBxsTH53Pfvv4X09Hx07+4j/X8mJmpx6FAcnJzUJp/7gQO3kZyci65dvdGokfHyW2pqLvbvvw17exXCw4OkvhERsUhI0KJTJy8EBTkDMCZou3bFwNZWgeHDG0t9jxyJw/PrjuO2I/CfyV0wrO3d90JE9d/9HL8rlUjJ5XIMHz4cCxcuRL9+/SodSEJCAr788kt88MEHmDNnDl5//fVKP7chYCJVM17+5TS+P3oTLw5pjjkDm1k6HLJST/z3MP65mowPHu2AsZ38K34CEdUb1V5r79dff8VLL72EgQMHIiAgAA8//DBCQ0PRpUsXeHt7w97eHnq9Hqmpqbh06RIOHz6M7du3Y9euXQCAJ598ErNmzar6OyMCa+1R3WCjlMNQaEB2TmHFnYmowarUGSkA0Ol0+Prrr7F69WocP37c5Nq/QqGAXn93foUQAo6OjnjiiScwd+5cNG/evPojrwd4RqpqcnNz0bdvXwDAvn37oNEY5yjN+OIffP3SVHg52uDU0YPw8HC2ZJhkhXJzc+Hi3hoFuTpMenEtvn5/mMm20sYtEdUf1X5GCgCUSiWmT5+O6dOn49y5c9i5cycOHDiAW7duISUlBRqNBp6enmjXrh369euHQYMGwd6eq6uQ+QwGA44dOyY9LpJboIcu5RpiU4xzj/r0YSJFtctgMKAgNxoAkJNTUGJbaeOWiBoms+7aa9OmDdq0aYPnnnuuuuMhqlDxBTkdHS1fwJasW+dwzo8ismbyirsQ1S3FS8Q0a+ZmwUiIgHyedSKyakykqN7JK+SBi+oOjkci68ZEiuqdfD1r7VHdcTYi3tIhEJEFMZGieicro6DiTkS15OrxREuHQEQWxBIxVKd5eHiUaMvJKgDAO0LJsuwcXJCbp4NXc5cS20obt0TUMDGRojrL3t4eSUlJJdoNDnZwH/k5Xh3ekktskEXY29tjw/6zmPt9JAKbupfYVtq4JaKGiZf2qF4xGAT0Chkc2jhj8mTrqt1IdYuN0riyPiebE1m3Kp+Rys7OxuXLl6HVatGnT5/qiImoTPm6uwctloghS9KoFRBCQJvLEjFE1szsM1LR0dEYPXo0XF1d0a1bNwwYMEDaduDAAbRu3Rp79uypjhjJSuXm5qJ///7o378/cnNzjW2FeuiytIhdvxAD+91tJ6pNubm5mDnmAcQsn4v9y0+U2HbvuCWihsusM1IxMTHo0aMHUlJSMHr0aMTHxyMiIkLaHhoaiuTkZHz33Xfo379/dcVKVsZgMGDv3r3SY8C4GGdeVDYKE87jSAJLcJBlGAwGXLlgLAOjy9eV2HbvuCWihsusM1KLFy9GWloa9u7di59//hmDBw822a5UKtGnTx8cOHCgWoIkKpJXqAfksoo7EtWSZjOaWjoEIrIgsxKpv/76C2PHjkXPnj3L7BMUFITbt2+bHRhRafIKDbBrXn4lbqLaVMCpekRWzaxEKjU1FcHBweX2EUIgPz/fnN0TlSm3kKuaU92SV2iAEMLSYRCRhZiVSHl7e+PKlSvl9jlz5gwCAwPNCoqoLPlMpKiOyYhIRlYO79wjslZmJVKDBw/Gli1bcPr06VK379+/H7t27cIDDzxQpeCI7pWn0yP7dJqlwyCSZB5KQVIK784jslZmJVKvvfYaNBoN+vbti7fffhtXr14FAGzbtg2LFi3CsGHD4OHhgQULFlRrsGR97OzsYGdnJ32fV2hAQWI+ABVUKlvLBUZWz87ODpCrYd/eGYX3XNq7d9wSUcNl1vIHwcHB+OuvvzBhwgQsWrQIMpkMQgiMHDkSQggEBgbi559/hq+vb3XHS1bE3t4eWq3WpC23QA+H9l5o0/4HfDK3B0vEkEUUjc12S/5CVp4OajtliW1EZB3MXtk8NDQUV65cwebNm3H48GGkpqbCyckJoaGhGD16NNRqdXXGSQTAeGnP1t8O7Vt7o1s3JupkWbYqBbLydCwTQ2TFqlQiRqlUYuzYsRg7dmx1xUNUrqIDloblYagOKBqHOQW6CnoSUUNl1hypgQMH4uuvvy63zzfffIOBAweaFRQRAOTl5WHEiBEYMWIE8vLyjG2FehQkZuO3pbMxbNgDUjtRbSoamxFLnsON5aexd1dMiW3Fxy0RNVxmnZHas2dPhaVfbty4IZVJIDKHXq/HH3/8IT0GjIlU8tZbKEyMwK3zd9uJalPxsQkIZGYVlLqN45Oo4TO7aHFFtFotVCpVTe2erFReoR4yVY0NW6L75vtkY3Toyfl6RNaq0mekYmJiTL5PT08v0QYY/wK7efMmfvnllwpXPye6X3mFBng/EoibH1g6EiIjpaMKBtZ/JLJalU6kgoODIZMZf1nIZDKsWrUKq1atKrO/EALvv/9+1SMkKiaPK5tTHcTSRUTWq9KJ1OTJk6X1or7++mt06NABHTt2LNFPoVDAzc0NAwcOxLBhw6ozViIesKjOyTqeitMhCUCPIEuHQkQWUOlEav369dLjvXv3Ytq0aXjuuedqIiaiMuXk65G85balwyCSpO9LQqRvLPCspSMhIksw6669qKio6o6DqFJycgqQeyXb0mEQSexaOcIz2NHSYRCRhdTL259u376NJ554Au7u7tBoNGjXrh2OHTsmbRdC4PXXX4evry80Gg3Cw8Nx5coVk32kpqZi4sSJcHJygouLC2bMmIHsbNMD9OnTp9GnTx/Y2toiICAAy5cvr5X3R0b29vYQQkAIIZWCKTAIuIYHYNrz22EwGFgihiyiaGy+u+0CPEc1RotePiW2FR+3RNRwmb2yeVZWFj755BPs2LEDsbGxyM/PL9FHJpPh2rVrVQrwXmlpaejVqxcGDBiAbdu2wdPTE1euXIGrq6vUZ/ny5fjoo4/w1VdfISQkBIsWLcLQoUNx/vx52NoaC91OnDgRcXFx2L59OwoLCzFt2jQ89dRT2LBhAwAgMzMTQ4YMQXh4ONasWYMzZ85g+vTpcHFxwVNPPVWt74kqrwACTl3cMGlqe+nmByJLKVrZnDdBEFkvsxKppKQk9OzZE9euXYOTkxMyMzPh7OyMgoIC5ObmAgD8/PxqZB2p9957DwEBAVi3bp3UFhISIj0WQuDDDz/Ea6+9htGjRwMAvv76a3h7e2Pjxo2YMGECLly4gD///BNHjx5F165dAQAff/wxHnjgAaxYsQJ+fn749ttvUVBQgC+//BJqtRpt2rRBZGQkVq5cyUTKgopKxNhwLSmqA+4mUqy1R2StzDoaLVmyBNeuXcPXX3+NtLQ0AMC8efOg1Wpx+PBhdO/eHcHBwTh37ly1BgsAmzZtQteuXTF+/Hh4eXmhU6dOWLt2rbQ9KioK8fHxCA8Pl9qcnZ0RGhqKiIgIAEBERARcXFykJAoAwsPDIZfLcfjwYalP3759TYovDx06FJcuXZLe873y8/ORmZlp8kXmy8vLw/jx4zF+/Hip1IZWW4iCpGy8/PRUk3ai2lQ0NpfPnoGYD8/hl3dOlNjG8UlkHcxKpP744w8MGjQITzzxRInLK926dcO2bdsQHR2NN954o1qCLO769etYvXo1mjVrhr/++guzZs3Cc889h6+++goAEB8fDwDw9vY2eZ63t7e0LT4+Hl5eXibblUol3NzcTPqUto/ir3GvZcuWwdnZWfoKCAio4ru1bnq9Hj///DN+/vlnqdRGSlQW4r68hv07t5q0E9WmorF59eweiHwd8rSFJbZxfBJZB7MSqbi4OHTq1En6XqFQSJf0AMDV1RXDhw/Hjz/+WPUI72EwGNC5c2e888476NSpE5566inMnDkTa9asqfbXul+vvPIKMjIypK+bN29aOqQGp6BAD6g4N4rqDu/Jwegxs4WlwyAiCzErkXJ2dkZh4d2/wFxdXXHr1i2TPk5OTkhISKhadKXw9fVF69atTdpatWollavx8THePXPvayckJEjbfHx8kJiYaLJdp9MhNTXVpE9p+yj+GveysbGBk5OTyRdVL2WgHQLmNLd0GEQStbsNZA6sK0pkrcxKpBo3bozo6Gjp+06dOmH79u1ISUkBAOTm5mLz5s0IDAysliCL69WrFy5dumTSdvnyZQQFGVcVDgkJgY+PD3bu3Cltz8zMxOHDhxEWFgYACAsLQ3p6Oo4fPy712bVrFwwGA0JDQ6U++/btM0kYt2/fjhYtWpjcIUi1R6c3QGcQlg6DqIS8Al7CI7JWZiVSQ4YMwc6dO5GTkwMAePrpp5GYmIgOHTpg/PjxaNu2La5du4apU6dWZ6wAjJPaDx06hHfeeQdXr17Fhg0b8Pnnn2P27NkAjEsuPP/881i6dCk2bdqEM2fOYPLkyfDz88OYMWMAGM9gDRs2DDNnzsSRI0dw4MABzJkzBxMmTICfnx8A4PHHH4darcaMGTNw7tw5/PDDD1i1ahXmz59f7e+JKidPxzujqO7JPp2Ga3vjLB0GEVmKMENsbKz4/vvvRVJSktS2YsUK4eLiImQymbCzsxMvvvii0Ol05uy+Qps3bxZt27YVNjY2omXLluLzzz832W4wGMSiRYuEt7e3sLGxEYMGDRKXLl0y6ZOSkiIee+wx4eDgIJycnMS0adNEVlaWSZ9Tp06J3r17CxsbG9GoUSPx7rvv3lecGRkZAoDIyMgw741auezsbAFAABDZ2dkiMTNPeD70nbBr87FJO1FtKz42gbcFZO8Lg8FQYhvHJ1H9dD/Hb5kQotqulej1eiQnJ8PLy4uLJQLS+loZGRmcL2UGrVYLBwcHAEB2djZS82Vo9+CPyDgYC+BVqZ2rR1NtKz42bZt8CBs7OySfmAGlUl5i3HJ8EtU/93P8NuvS3vTp0/HBBx+UaFcoFPD29mYSRdXCzs4O2dnZyM7Ohp2dHfJ1etgG28N7YAA2bjwrtRPVtqKxeeVWErzGNYHXg/5QKuUm2zg+iayDWYnUhg0bStz1RlTdZDIZ7O3tYW9vD5lMhrxCA2wD7BA8yA+jR7eR2olqW9HYdHdxgkwmQ4HeAP2dGyHuHbdE1LCZlUg1adIEcXGcXEm1K/dOPTNbloehOsL2TokYgPX2iKyV2Zf2tm7ditu3b1d3PESS/Px8TJ06FVOnTkV+fj7yCvXQa3UQ2XmYNGmy1E5U24rG5r9mzkDsV5dx86PLOHoi3mQbxyeRdTBrsnl0dDTmzJmDM2fOYOHChejWrVuZc6NqYi2p+oKTzavm3km7B29kY9TIX5EXlQZONidLKj42la7LoUuT4eetYzHugSacbE7UANzP8Vtpzgs0btwYMpkMQgg899xzZfaTyWTQ6XTmvARRCXmFeuNN5UR1SPDDgdDqlWjemgv1ElkjsxKpyZMncxIl1brcQj28Hw1Ez6BW+O4ZS0dDZOTayB6FuTJAqai4MxE1OGYlUuvXr6/mMIgqln9nMq9GZdawJaoRtioFkGtAno6TzYmsEW9/onojr9BYIkaj4l/+VHfk3MxB1ql0nDubbOlQiMgCmEhRvZFXqEfqjngc2HDF0qEQSeIOJyP1zzhE7OddzETWiNdIqN7ILdQj+1Q6InW8pZzqDo9gB6RlCbh6aSwdChFZABMpqrPs7OykFfTt7OyQV2iAc5gHOvg4Yd17t+DgoGYJDrKI4mPzpS1RyGiehE59/Ups4/gkaviYSFGdJZPJ4OnpKX2fp9PDuacHxoY3R0hIIwtGRtau+NjUqG8CuDuH795xS0QNG+dIUb2RxxIxVAcVlYnJZYkYIqvEM1JUZ+Xn52P+/PkAgJUrVyInrxD6HB10uXmYPXu21G5jY2PJMMkKFR+b0RiG2xuu45vzufhXvyYlxi3HJ1HDZlaJGKocloipmntLbTzxwVFsXHQMji5AVvoCqZ0lOKi2FR+bDzz1G/74/Cpa9fDG+YhJLBFD1ABUe4mY6dOnmxWITCbDF198YdZzie6Vk1sIALCxUSLLwrEQFWnfwwfHtYUY1DvI0qEQkQVUKpEqayXzonp7ZbUzkaLqZN/IDoELWmL5g80xoe88S4dDBADw9LaDrb8d7DxsLR0KEVlApRKpqKgok+8NBgPmzp2LQ4cOYe7cuejTpw+8vb2RkJCAffv24aOPPkJYWBg++OCDGgmarFNuoQEyuQzOjmpLh0Ik4WRzIutWqUQqKMj0lPW7776Lw4cP49SpU/D19ZXaW7Rogb59+2LatGno1KkTfv75ZyxcuLB6IyarVVRrz1bJu/ao7tDl6qC9kIkLWjnwmKWjIaLaZtYR6YsvvsAjjzxikkQV16hRIzzyyCNYu3ZtlYIjKi7pagZSdyZgz7ZoS4dCJMlOzkPypts48A1LFxFZI7OWP7h16xZsbcufD2Bra4tbt26ZFRRRadJv5SDrWCoOeHJcUd3h4aGBTYAd3D1ZIobIGpmVSPn7++O3337DW2+9VWpClZOTg99++w3+/v5VDpCsl0ajkebnaTQayD1s4BTqjuEjWmDtZ3fbiWpb8bF5LccWPo8HoV0j5xLbOD6JGj6zLu09+eSTuH79Onr16oXff/8dKSkpAICUlBRs3LgRvXv3RnR0NGbOnFmtwZJ1kcvlCA4ORnBwMGQyGeS+NnDt74UnJrWR2uVyzpei2ld8bNrZqADcnWxefBvHJ1HDZ9YZqQULFuDy5ctYt24dHnroIQDGXx4Gg7HWlBAC06ZNw4IFC6ovUrJqBXoDilbasFUrLBsMUTFFJYvyeNcekVUyK5GSy+X44osvMHnyZHz11Vc4ffo0MjIy4OzsjA4dOmDSpEno379/NYdK1qagoACvvvoqAGDha0tgKDRAJgNkeh0WLPg3AODtt9+GWs3lEKh2FR+bk559CXFfRSG+wIC4yd3h7q6WtnF8EjV8LBFTg1gipmqKl9q4FpuM9kN+hfZsBt56qxsWLeoPgCU4yDKKj81z0Qlo2/wbiAIDLl+eAT8/NUvEENVz1V4ihsjS8gv1EIXGS8d2dioLR0N0l61aAa+H/KFQyuHnZw+g0NIhEVEtMnsmpE6nwwcffIDu3bvDyckJSuXdnCwyMhLPPPMMLl++XC1BEuXpDPAY1Qgd/t0Wkye3tnQ4RBJblQK2QfZQNdJAZcO/TYmsjVk/9bm5uRgyZAgOHjwIDw8PODk5QavVSttDQkKwbt06uLm5YenSpdUWLFmv/EI9ZHIZ7B3V0Gh4RorqjqLJ5gCQp9ODt0IQWRezzki98847OHDgAJYtW4b4+Hg8+eSTJtudnZ3Rr18//PXXX9USJFHRreU2Kt5OTnWLWiFHQWwOtBczcfVauqXDIaJaZtZR6YcffsCAAQOwcOFCyGQyyGSyEn0aN26MmJiYKgdIBBhvLc84nIKb2+Nw82ampcMhkshkMmTsT0by77fxzz9cdZ/I2ph1aS8mJgZjx44tt4+joyMyMjLMCoroXvmFAlknUpGeqUNCQo6lwyEy4eCrgV5ngMaBSx0QWRuzEilHR0ckJiaW2+fatWvw9PQ0KygiwFhe4+zZswCAy/kqOLRzgZdKiZAQD6mdJTjIEoqPTY1Gg6ajAnE7PRfd+jYqsY2IGjazEqkePXpg8+bNSE9Ph4uLS4ntN2/exB9//FHhWSui8sjlcrRp0wYAcOZIDFx6e6JPSy8EBjoDcLZscGTVio9NwHR183u3EVHDZtYcqQULFiAtLQ2DBg3CgQMHoNPpABiLFe/cuRNDhw6FTqfD/PnzqzVYsl5F5TdsVbwniuoezZ2yRbksE0Nkdcw6I9W3b1988sknmDt3Lvr27Su1Ozo6AgAUCgU+++wzdOnSpXqiJKtUUFCAd955BwDg3usRCL2ArUph0v7vf/+bJTio1t07BmMjkhC36za+ylWj1/v9OD6JrEiVSsRcuHABa9asweHDh5GamgonJyeEhobimWee4altsERMVRUvw7Hof4fw1qT9UChlSEt9Gk5OxqSdJTjIEoqPzezsbPR64g+c2ngDg8c2xm//G8oSMUT1XK2ViGnVqhVWrVpVlV0QVUqm1lh2Qy6XQS4vudwGkSU1D/NGnNKAweOaWzoUIqplrGdA9YLGWQ3/55pjSvcAS4dCVIJ3gCM0qVlw9+fZJyJrw1p7VC/k6w1QaBTw8XWwdChEJWju3LXHyeZE1sesRCo3NxcDBgzAiy++iBs3bsDJyQnFp1oV1dr7+uuvqy1Qsm75hQYAvGuP6iZDrh6517Nx7niCpUMholrGWntUL8TfzET6gSQc28kSHFT3pERlIfGnm9i4+pylQyGiWsZae1QvJNzQIuOfZOzbFGXpUIhKcHXXQOVlA1c/O0uHQkS1jLX2qM6ytbXFkSNHAACv/JwMh44u6DHA36Td1tbWkiGSlbp3DDZr4w6/aY0xvAvHJ5G1Ya09qrMUCgW6desGALA/cgDuQw14fHJbk3YiS7h3DBafbM7xSWRdzLq0V7zWXmmKau0VX/WcqCryClgihuquonFZNE6JyHqYdUZqwYIFGDBgAAYNGoSPPvrIpNZeREQEnn32WdbaoyorKCiQFnzVFrYHYCwOW7x97ty5LMFBte7eMYhCA+I33MBG+U18NL4tPvvsE2kbxydRw2Z2iZjVq1dj7ty50OtL/gVWVGvv3rv5rA1LxFRN8TIcXmH/QeKRLDw9pyP+7+0eLMFBFnVviZhdl9Ixqst3AIDbt6ejUSN3aRvHJ1H9UyslYmbNmoX+/fuz1h7VCl2eAdALqJRmryFLVGMc7VXwGNUIQd720GhYMILImlTqJ37Tpk1o2bIlmjc3rSPFWntUW5z6eEDTwwdPzepg6VCISrBTK2HfyglOHvZQqzmPj8iaVOrP+7Fjx+L777+Xvm/cuDE++uijGguK6F56hQxKJxV8vXmZhOoeW5aIIbJalTojpVKpUFhYKH0fHR1d5h17RDVJo1IAd25uIKorNCoFChLykBSXh9TUXEuHQ0S1qFKJVGBgIP755x/o9cY1UgCUupo5UU3Rns+AKNDidkwWGvnxLiiqW2xVCiRviUVhcj5OjW9t6XCIqBZVKpF6/PHH8eabb8LNzQ3u7sa7UT744AOsW7eu3OfJZDJcu3at6lGS1cuKTENhgsDlS6lo5Odj6XCITNiqFFC5qQEZoFLxhggia1KpROq1116Dra0ttm7ditjYWMhkMgghUNHKCWaurEAEwFheY/fu3YhNz8Ws9+Ng56lHUJCT1F7Uh6i23TsGhU7Ac6w/AKB3vxCOTyIrUqk/nZRKJV5++WXs378f165dgxAC8+bNQ1RUVIVfNe3dd9+FTCbD888/L7Xl5eVh9uzZcHd3h4ODA8aNG4eEhAST58XExGDEiBGws7ODl5cXFixYIC0sWmTPnj3o3LkzbGxs0LRpU6xfv77G3w/dpVAo0L9/f3Ts3guufbzRbEII2rXzlNr79+8vXWomqk33jkHbYstyFBrA8UlkRcw6B7148WL079+/mkO5f0ePHsV//vMftG/f3qR93rx52Lx5M3766Sfs3bsXsbGxeOihh6Tter0eI0aMQEFBAQ4ePIivvvoK69evx+uvvy71iYqKwogRIzBgwABERkbi+eefx5NPPom//vqr1t4fGeXpisrD8JIJ1U1KhRwqhXHeKO/cI7IuZq9sbmnZ2dno3LkzPvvsMyxduhQdO3bEhx9+iIyMDHh6emLDhg14+OGHAQAXL15Eq1atEBERgR49emDbtm0YOXIkYmNj4e3tDQBYs2YNXnrpJSQlJUGtVuOll17C1q1bcfbsWek1J0yYgPT0dPz555+VipErm1dNYWEhPv/8c1xPysbP2pZo7uuC7fP7Se0A8NRTT0GlUlk4UrI2pY1Bv+HfIvV8Bt6Y3wUOymMm24iofrmf43e9/RN/9uzZGDFiBMLDw03ajx8/jsLCQpP2li1bIjAwEBEREQCAiIgItGvXTkqiAGDo0KHIzMzEuXPnpD737nvo0KHSPkqTn5+PzMxMky8yX0FBAebMmYOVb7yMmA/PYd/rJ5GcnCO1z5kzBwUFBZYOk6xQaWNQn16I/JgcXLmSzPFJZEXqZSL1/fff48SJE1i2bFmJbfHx8VCr1XBxcTFp9/b2Rnx8vNSneBJVtL1oW3l9MjMzkZtb+joxy5Ytg7Ozs/QVEBBg1vujUuiAAq0OtrYsv0F1k19XD3g86Ic+QwItHQoR1aJ6l0jdvHkTc+fOxbffflvn7oh55ZVXkJGRIX3dvHnT0iE1GD7TQzDyjc6ws+NlEqqbPBs7wr61M/yDeRmfyJrUu0Tq+PHjSExMROfOnaFUKqFUKrF371589NFHUCqV8Pb2RkFBQYmV1xMSEuDjY1x/yMfHp8RdfEXfV9THyckJGo2m1NhsbGzg5ORk8kXVQ+Wshk+wE+RyLgRLdZNGZbxDj5PNiaxLvUukBg0ahDNnziAyMlL66tq1KyZOnCg9VqlU2Llzp/ScS5cuISYmBmFhYQCAsLAwnDlzBomJiVKf7du3w8nJCa1bt5b6FN9HUZ+ifVDts1XxVnKqw/INyI/NxeWLqZaOhIhqUb2bcOLo6Ii2bduatNnb28Pd3V1qnzFjBubPnw83Nzc4OTnh2WefRVhYGHr06AEAGDJkCFq3bo1JkyZh+fLliI+Px2uvvYbZs2fDxsYGAPCvf/0Ln3zyCRYuXIjp06dj165d+PHHH7F169bafcMEAMg6mYZokQg8ZulIiEqXcj4d8f+LxrpL6ZYOhYhqUZUSqbi4OHz//fc4efIkMjIy4OzsjE6dOmHChAnw9fWtrhjv2wcffAC5XI5x48YhPz8fQ4cOxWeffSZtVygU2LJlC2bNmoWwsDDY29tjypQpePPNN6U+ISEh2Lp1K+bNm4dVq1bB398f//3vfzF06FBLvCWrl74nERFXC4EPLB0JUekcnW2gcFbBwcnG0qEQUS0yex2pTz/9FAsWLEB+fn6JUjC2trZYsWIFnnnmmWoJsr7iOlJVo9Pp8Ndff2HN5ovYudcOnVt64Z/fxkntgHFJCqWy3p1YpXqutDH4/PcnsTEyFq8MbQb/nCsm24iofrmf47dZP+Hff/89nn32WXh4eODVV19Fnz594O3tjYSEBOzbtw+rVq2Stj/yyCNmvQkipVKJESNG4FBhEM643MBDA5uatBNZSmljUKM2zuErMMg4PomsiFmJ1PLly+Hh4YHIyEj4+flJ7S1atEDfvn0xdepUdOrUCe+99x4TKaqyvDt3QdmqOdmc6i4bJe/aI7JGZiVSFy5cwIwZM0ySqOL8/f0xfvx4FvmlKiksLMS3336Lk4duQDh2hO2dA1VROwBMnDiRJTio1pU2BgsyC5D4y02s250Ir/hDJtuIqOEyK5FycXGBvb19uX0cHBxKrC5OdD8KCgowbdo0AIBMsww/35Zheu8Qk/bx48fzQEW1rrQxqJLJkXs1G1dUaZg27d8m24io4TJrHalRo0Zh8+bN0Ol0pW4vLCzE5s2bMXr06CoFR1RE5BqgLzBYOgyiMnl62sJtqA8GTG9p6VCIqBaZlUgtX74c9vb2GDJkCA4dOmSyLSIiAkOGDIGjoyPefffdagmSyPuJIDw2s42lwyAqk7OjDRw7uiKoq6elQyGiWmTWpb1OnTqhoKAAJ06cQK9evaBUKuHh4YHk5GTpLJWvry86depk8jyZTIZr165VPWqyOmpPWwQFOVs6DKIy2RSViNFxsjmRNTErkTIYDFCpVAgMNK1yfu/k83vXlzJzySoiAICNqt5VNCIrolEpUJiSjzgmUkRWxaxEKjo6uprDICqf9mw6Em9lA008LB0KUak0KgXiN9xAbE6upUMholrEP/GpXkjdnoCzxxMr7khkIbYqBZSOStg48y49ImtS5doF58+fx8WLF6HVajFp0qTqiIkIAGBjY4Mff/wRTy7Zi4JcJ4SEOJu0Fz0mqm2ljUGNWg7fqY0R6GKDZ5twfBJZC7Nr7R09ehQzZ87EmTNnpDa93jg3YN++fRg2bBi+//57jBo1qnoirYdYa696NP33H9AZBCJeGQhfZ42lwyEq1dnbGRj58T/wcrTBkVfDLR0OEVXB/Ry/zbq0d+7cOQwcOBBRUVGYN28ehg8fbrK9T58+8PDwwE8//WTO7okkOr0BOoMx1y9a2ZyoLiqqtZfHEjFEVsWsRGrx4sUAgOPHj2PFihXo1q2byXaZTIawsDAcPXq06hGS1dLpdPjuhx+hvfgPhEEvHah0Oh1++ukn/PTTT2UuCktUk0obgxqVAhmHU3BtwzW89tqnHJ9EVsKsOVJ79+7FuHHj0LRp0zL7BAYG4s8//zQ7MKL8/HxMnvgYAEDh8h5inuyN5s3dkJ+fLxXDzs7OhlJZ5al+RPeltDFoq1KgIC4XOVfS8fbbr5psI6KGy6wzUllZWfDy8iq3T25urjRniqiq9Ok6KJW8yZTqLo1KAYf2LnAdWP7vRiJqWMw6MgUEBJhMMi/NiRMn0KRJE7OCIrpXyKQQNGrkYOkwiMpko5RD09gBDh1cLR0KEdUisxKpkSNH4u+//8aOHTtK3f7jjz/i0KFDGDNmTFViI5K4N3aEjQ0vkVDdJZfLYMOzpkRWx6wj07///W/8/PPPeOCBBzBlyhTEx8cDAD777DNERETgu+++Q3BwMObPn1+twZL1smV5GKoH1HogMzXf0mEQUS0yK5Hy9PTE3r17MWnSJHzxxRdS+5w5cwAAoaGh+O677+DszCKzVD0yLmZaOgSiCmVEpiH+z2hLh0FEtcjsayWNGzfGgQMHEBkZiUOHDiE1NRVOTk4IDQ0tsRwCUVVd+OUG8D9LR0FUPo2dCjIbGQRPShFZjSpPOunYsSM6duxYDaEQmVKr1Zg89x1s+PYCvAPcTNrXrVsnPSaqbWWNwZA+3shrrMbj7h+hhY8jxyeRFWCtPaqzVCoVRjzxBPbansaAFp4m7VOnTrVcYGT1yhqDGrUCMoUS/R8cj6FtfGo/MCKqdWbP4D169Cg6duyIdu3aYfz48Sa/VPbt2wc7Ozts2rSpOmIkK1ZUbsNWxfIwVPdpVCwTQ2RtWGuP6iydToej+3Yg59pR2MiFSfvWrVuxdetWluAgiyhrDBam5iNp8028+ewajk8iK2HWpb3itfaaNm2KN954A9u2bZO2s9YeVYf8/Hx88vJMAMCe9BDg8a5S+8iRIwGwBAdZRpljsEAg53wqTmApRo7k+CSyBmadkapsrb24uDizAyMqLi+z0NIhEFXI08cOzn08K+5IRA0Ga+1RvTD4sWaWDoGoQp5ednDq6lZxRyJqMFhrj+qFoKYulg6BqEK2at4UQWRtWGuP6gUND1BUD9gq5dBl8zI0kTVhrT2qF9ITciwdAlGFbJUKxK29bukwiKgWsdYe1QunD8QDXO+V6jgHWyWgkgE8KUVkNVhrj+ostVoN33bTkRSTBf9AF5P2Tz75RHpMVNvKGoO2KgUC57aGb9yLmBQWzPFJZAVkQghRcTcyR2ZmJpydnZGRkQEnJydLh1Mvjf7kH5y6lYEvpnTFoFbelg6HqFxbTsdizoaTCA1xww9Ph1k6HCIy0/0cv82abP6///0Pt27dMis4ovuRV2gAwBIxVD/YqVkihsjamHVpb8qUKZDJZGjcuDH69++PAQMGYMCAAfD19a3u+MiK6fV6xF08jrysPKjkoSbt+/fvB2AsR6RQMMmi2lXWGLRVKZB+KAn/xO/HWptETJ8+muOTqIEz69Le+vXrsXv3buzZswc3b96ETCYDADRr1kxKrPr37w9vb+u+FMNLe1Wj1Wrh4OAAAPjqt1OYPKZ9ifbs7GzY29tbLEayTmWNwZMxaegRtg4FsS+U2EZE9cf9HL/NOiM1depUTJ06FQBw/fp17Nq1C7t378bevXvx+eefY+3atQCAli1b4ty5c+a8BJEJhZBZOgSiCmnUCji0c0ZqrKUjIaLaYtYcqeIaN26MJ598Et9++y3Onz+PFStWwMPDA0IIXLx4sTpiJELLliy7QXWfnUoJ+9Yulg6DiGpRlcqS5+bmYv/+/di9ezd2796NEydOQK/XQ6PRYPDgwRgwYEB1xUlWSG+4e9XZ293OgpEQVY6tusp/mxJRPWNWIvX6669j9+7dOHr0KAoKCmBjY4OwsDAsWrQIAwcORPfu3aFSqao7VrIyxe984l17VB9oVAoYdAZLh0FEtcisRGrp0qWQyWQYNGgQFi5ciD59+sDGxqa6YyMrl517d3loJadIUT2gUSmQcSDZ0mEQUS0y6zx0+/bGu6d27NiBcePG4eGHH8YHH3yAyMjI6oyNrFxiyt36enI5Mymq+5QKOVQssE1kVcw6IxUZGYnU1FTs3btXmh/1wgsvQCaTwdXVFf369cOAAQMwcOBAtG7durpjJiuhM8ihcBoDGQBb27tnPFUqFZYvXy49Jqpt5Y1B34G+EDbT8HS/xhyfRFag2krEJCcnY8+ePdi9ezd+/vlnJCcnQyaTQafTVcfu6yWuI1U1Z29nYOTH/8DHyRaH/j3I0uEQVUroOzuQkJmPLc/2RttGLNxOVB/V+DpS90pISJDOTO3atQtJSUnVsVuycrl3JptreKmE6hE7tRJAPsvEEFkJsxKplJQU6ezTrl27cOnSJQCAEAI+Pj6YMGGCVDaGyFzavALkx11GXoEd9Pq7ZTj0ej1OnDgBAOjcuTNLcFCtK28MFiTkIGlLBJbdjsGP65/i+CRq4My6tFf0i0EIAQ8PD5N6ey1btqz2IOsrXtqrmmX/PYR/zwwDYFpqgyViyNLKG4Pdn/wJR794pNRtRFQ/1PilvVGjRmHgwIEYMGAA2rZta1aQRBVJTMy1dAhE983Dj4kTkTUxK5H67bffqjsOohJCWrlaOgSi++bp72jpEIioFlXLZHMA0Ol0OHPmDACgbdu2vO23mOlL9yKkfSNoHNUAgKzUPMRdy4TGUYWAlneThRvnUpGv1cG/uTPsXYy3+2en5+P25QzY2CkR3NbNpG+eVodGTZ3h6G4LAMjJLEDM+TSobRVo3NFD6htzIQ3a9Hz4NXWGs6cGAJCbXYio0ylQqeVo1tVL6nvzQhqyUvPg29QZbj7Gsix5OYW4diIZCqUcLXt43+17MQ0ZyXnwDXaCh7/xMkdBng6XjiRCLpehTW9fqe/tK+lIjc2BV7AjfIKNBxpdoR7nD8QDANr184NMZlwrKvZqBpJuZSNDmVelz53IEjTFVuH/668oDBrUDM7Oxp/nW7eycPp0Ejw9NejW7e7Px969N6HVFqJHD1+4uRl/RuPisnHyZCJcXW0RFuYn9f3nn1vIzCxAt24+8PQ0/owmJmpx7FgCnJ1t0KtXI6lvREQs0tLy0LmzN3x8jGfKUlNzcehQHOztVejXL0Dqe+RIHJKTc9GhgycaNTL+jKan5+HgwVjY2ioxcGCg1Pf48XgkJOSgbVsPBAYaL3tkZxdg375bUKnkGDw4WOobGZmI2NhstGrlhpAQFwBAbm4hdu++CblchmHDQqS+Z84k4ebNLDRv7oqmTY2/GwsK9Nix4wYAYPjwEOn3xPnzyYiOzkTjxs5o2dIdAKDXG/DXX9EAgCFDgqFUGpdKvHQpFVeupME/wBEtWrmj0GCAXi+wbdt1GIRAj97+UKjk0OkNuH49A9eupMHd2w5NWriiUC+gNwhE7LsFnd6Ajt18oLZVwCCA2FtZuHE1Ha4eGjRu6QaDEDAIgchD8Sgo0KNlR0/Y2ikhBJAUr8WNqxlwcFEjpKUrBACDQeD88UTk5+nRuI0bbB1UEABSk3Jw60oGNI4qBN7ZrwBw7XQKCnILEdDCBfZ3xlRmaj5uXUmHrYMSwa2NxwghgOhzqcjVFsK/+d2+2Rn5uHU5HWqNEiFt7vSF8Xe5NrMAvo2d4OhmPJ7kZhci5mIaVDYKBLd1v9NX4PaVdGjTC+AV5CgdT/JzCnHjXBoUKjlCOrhLMcRfz0RWWh48Ahzg4qWBEMZjRMy5NMgVMpPjVGJ0FjJT8uDeyB6ud449ugI9os+kQiYDmnT2lPomxWQjIykXrr52cL9zBlivMyDqVAoAoHFHD8gVxnGSfCsb6Qm5cPHWSMcpYRC4dtK4cG5Ie3coVMZxkhqrRWpcDpw8bOHsWfm1CyudSEVFRWH37t3o3bs3mjdvbrJty5YtmDFjBpKTjYG5urris88+wyOPPFLpQBqyX94/Be+JebD1Nw4O7cVMJP9+Gzb+GvhMDJb6xa2/joKEfHiND4CmsfE/PPdaNhJ/vgm1jy18p9z9hRP/TTTyb+fCc0wj2LUw/iLLu5mDhA03oHRTo9HMJlLfhB9ikBethftIPzi0Md6OnR+Xi/ivo6FwVML/mWZS38TfbiH3chbchvrAsaPxF1lhcj5iv7gOuUaBgOfu/t8nb74N7flMuA7wglN34w+PLrMQt1dfhUwpw2HZ3UQo5c84ZJ9Kh3MfT7j0NP7w6HN0uPXxFQDAEUW+9AsydWcCso6lwrGbQ1U+diKLsFXdXed43LhNOH58Bjp3Nv4BsmtXDKZM2YZhw4KxbdvDUr+nnvobly+nYf/+Cejd2x8AcODAbYwfvxl9+vhj374JUt/nntuFkycT8eef4zB0qPF3wvHjCRgx4ld06eKNY8cmSX0XLNiLAwdu45dfRuGhh4w/u2fPJmPEiF/RsqUbLlyYLvVdtOgA/v47Gv/73wN44gnj+n9Xr6ZjxIhfERDgiJiYp6W+b799GL/9dgVr1gzG0093AADcvJmFESN+hbu7BsnJs6W+K1YcxbffXsD//V9/zJvXBfk6A67cyMSIEb/CxlaBiEtTkVugh7ZAjxVvHMTfv1zDmCdbY+CEZsjXGZCakotlE3cY3/u3A1FgEMjXGXDw2yu4tCMWTcL90PiBRsjXGZCXq8ORxacAAK1eaQ0o5dDpBRL3xCPjYAocu7jCLdxHiu3GexcAAP5zmkFhbzwcZkQkI31fEhzaO8N9+N0ENmblRYhCAb+nm0DlYvyjOPNYKtJ2JsCulRM8R91NYG9+fBmGHD18p4dA7WlMTLJOpSH1z3homjrAa9zdBPb2mqvQZRTCZ1IwbPyMiYn2fAaSN8fCNsgO3hOCpL6xX1xHYXI+vCYEQhNkTCByrmQh6ddbUPtp4DspWOob93UUCuLy4DnOH3ZNjYlxbrQWiT/EQOVpA7/pjaW+8d/dQH5MDjxGNYJ9K+PxJP92DuK/uQGliwqNnm4q9U38+SZyr2XDfbgvHNq7AAAKEvMQty4KCnsF/OfcPUYk/X4LORez4BruDacuxsStMK0AsZ9fg0wtR+C8FlLf5D9ioT2TAZd+nnDuYTxG6LILcfvTq4AMCFrYSuqbuj0eWSfS4NzTAy59jAmWIV+Pmx9eBgAEvtACsjtJdNqeRGQeToFTNze4DjT+HAqDQMz7F43/9881h0Jj/OMn/UASMv5JhkNHF7j2r/zSJZVOpNauXYv33nsP169fN2m/evUqHnnkEeTl5SEoKAj29va4cOECJk6ciGbNmqFTp06VDqahatTEGY/2DkajJsb/mCtuSdh6UYtGjZ0xftDdJGbDsSwkuWZjTK8gBN25rBXtk4pN57Lh5e+ACQPvDuafz+Qg1ikTw3sGomkH46C7fS0Dv0VmwtXLDhOL9d10JR8xdmkI7xGAFnfOPiXezMLPxzNh76LGlAF3+/55Q4coGxX69PBHmzDjL5y0hBz8cCQdNnYqTBtwN0HblWDAZaUKPXr4o0Nf4y+crLR8fHcwDQqlHDP63+27P02GC1Cga49G6NTfeKDI0xbim3/SAADT+zWRVi8/pFXinF6O1t3d8PvRKn30RLXOrthyHZ06ecHO7u6vWXd3W3Tt6o1mzUwvW7dt6wEnJzUcHNRSm6ursW/Llm4mfVu3dodCIYOT091Fap2dbdC1qzdatXI36duypRvy83VwcbGV2hwc1Oja1RvBwaYHiubNXZGamgt397t97eyU6NrVG97epvO+mjRxRqfOXtCpZTgSlYpUbT4uXElDYAsXqGwVeOXX08jM1SEzrxBHkzPh6G+Hjw9ex+qUROMZnmwd1D62gEKGsZ8dlPabkZQJtY8t9t1Kw8ntxoOiIU9v7Atg46lY6Q+uTINxH6nQQ5eQDQAQOoPUNztfD/mdwucKBxXUPrZQOJpeKVH72hoX/FXLYWOjhFIhA9xtUdjIDq7edgh2t4NCLoNSLkdmgAMMhQa0auQMe1c1ZDIZYhN1uBqYDe8gR7QLcYNcBshlMuwJdkR+jg6hzTzg7K2BXCZDTI4cpy5p4dvEGT3b+EAuB2QyGbY1TYI2LR/h7X3gGeAAmUyGGwpbHDifDd+mThgWGggZAJkM+O2fNKS55OCBLo3g18wZMgA3nFKx/XQWvIIcMLpnsPTeNh7NRJJ9NoZ19UdQGzfIZMAtr3RsPZ4BNz87PNI7BHc+Smw6o8VtmwwM6d4IzTp5AjIgLioTvx5Oh7OHLSb1ayL13XIpD9FyBQZ1b4Q2YT6QQYak29nY8E8q7J3UmDmwKYrO5WyNLsQVgwIDQv3RsZ8x0UxPysW6PSlQ2yrwbPjdpOvPOIFz+TL06e6P7uHGs5/ZGfn4z/ZkyOUyzCvWd2eKDJHZAj26+qFXuPGPifxcHT75IxEA8Nyg5lDe+YNmX7YSR9P06NLVD/3Djcckvd6AD383Xg15ZmBTaOyN4yKiwAYHE3Xo0MUXvfv74eUPUSmVvmuvb9++0Gq1OH78uEn7s88+i08//RSzZ8/Gxx9/DADYuHEjHnroIUybNg1ffPFF5SJpgHjXXtWUdWcU79ojSytvDL752wksfqhLqdvqukK9AYlZ+UjIzENCRp7x36LvM/OQlJWPlOwCpOUUwFDFpZxtVXLYqZWwUytgr1ZCo1bA3kYBjUoJexsF7NQK2CgVsFHJjf8q5cW+itqNj9V32lUKOZQKGVQKORRyGVRyORQKGZTyoi/jdoXc2Ecug5SYERVXI3ftRUVFYeTIkSXa//zzT6jVarzzzjtS25gxY9CnTx/s37//PsImMqVSqbB48WLpcUXtRLWlvDFob2sD516PoV0j5zo3PvUGgdtpubiZloNbaTm4lZZ75ysHt9NyEZ+Zd18JkqOtEu72arjZq+FmbwM3exWcNSo42argpFHBSaO8+9jW+L2DjRJ2aiUUrJ9JDUSlE6mkpCR4eHiYtKWmpuLatWvo06cPHB1N71Tp1KkTjh07Vj1RklVSq9VYsmRJpduJakt5Y9DJXgOX3hPRrVMjqNXqUvvUtJwCHa4naXEtKRvXErNx7c7j68laFOgM5T5XpZDBy9EW3k428HayLfZlAy9HW7g7qOFur4aLnRpqpVl174kalEonUiqVCikpKSZtRZf5unbtWqJ/TZ3OXrZsGX799VdcvHgRGo0GPXv2xHvvvYcWLe5OWsvLy8MLL7yA77//Hvn5+Rg6dCg+++wzeHvfveMsJiYGs2bNwu7du+Hg4IApU6Zg2bJlUCrvfiR79uzB/Pnzce7cOQQEBOC1117D1KlTa+R9EVHDYHtnjlRuDZeIEUIgKSsfV5PuJEqJ2cZkKUmL2+llr8GmVsoR6GYHf1cNGrlo4O9qfOzvqkEjVw087G2k+YpEVLFKJ1LNmzfHzp07Tdr+/vtvyGQy9OzZs0T/2NhY+Pr6lmivqr1792L27Nno1q0bdDod/v3vf2PIkCE4f/68lLzNmzcPW7duxU8//QRnZ2fMmTMHDz30EA4cOADAWN5hxIgR8PHxwcGDBxEXF4fJkydDpVJJlyijoqIwYsQI/Otf/8K3336LnTt34sknn4Svry+GDh1a7e+LSjIYDLhwwXhXTatWrSCXy8ttJ6ot5Y1BG4UMBUk3EBudBYOhU5XHZ4HOgJhULa4m3jnDdCdxup6Yjaz8sovCu9ur0cTTAU287I3/3vlq5KrhZTWialTpyebvvPMOXnvtNTz11FN45plncPnyZcyYMQOAMWm69wxU8+bN0bhxY/z555/VH3UxSUlJ8PLywt69e9G3b19kZGTA09MTGzZswMMPG28vvnjxIlq1aoWIiAj06NED27Ztw8iRIxEbGyudpVqzZg1eeuklJCUlQa1W46WXXsLWrVtx9uxZ6bUmTJiA9PT0Sr8nTjavGk42p7qqvDH46+FrGNejaanbymIwCCRk5SEqSYuoFC2ikrSITtHiepIWN1JzoC9j4pJcBgS526OJZ7FkycsejT0c4GpvmcuKRA1BjUw2f/755/HDDz/g888/x9q1awEYTy2vXLmyxC+KY8eO4erVq3j66adL21W1ysjIAAC4uRlvET5+/DgKCwsRHh4u9WnZsiUCAwOlRCoiIgLt2rUzudQ3dOhQzJo1C+fOnUOnTp0QERFhso+iPs8//3yNvyciqr+KryNVXIHOgNvpuYhJzUFMitb4b2oObqTkIDpFi7zCsucu2asVaOLlgKaeDmji5SAlToHudrBRsigykSVVOpGys7PDgQMH8MEHH+DQoUNwd3fH+PHj8eCDD5boe+LECYwePRqjRo2q1mDvZTAY8Pzzz6NXr15Szb/4+Hio1Wq4uLiY9PX29kZ8fLzUp3gSVbS9aFt5fTIzM5GbmwuNRlMinvz8fOTn50vfZ2ZmVu0NElG9Y1tsZfOfjt3E+aR8nIhJx/Wk7HLviFPKZQhws0OIhz2C3e0R4mmPEHd7NPVygLeTDW/TJ6qj7qtEjIODAxYtWlRhv6eeegpPPfWU2UFV1uzZs3H27Fn8888/Nf5albFs2TK88cYblg6DiCxIU2xBztd/Pwe5+u4ClxqVAkHudghws0Ngsa9gD3v4u2qgUnC+H1F9U2219mrbnDlzsGXLFuzbtw/+/v5Su4+PDwoKCpCenm5yViohIQE+Pj5SnyNHjpjsLyEhQdpW9G9RW/E+Tk5OpZ6NAoBXXnkF8+fPl77PzMxEQEBAqX2JqGFq7Hm3tFFoiBu6N/dFpwBXtPd3hqcjzywRNTT17s8fIQTmzJmD3377Dbt27UJISIjJ9i5dukClUpncYXjp0iXExMQgLCwMABAWFoYzZ84gMTFR6rN9+3Y4OTmhdevWUp9771Lcvn27tI/S2NjYwMnJyeSLiKyLg83dv0/XT++OBUNbIry1N7ycbJlEETVA9e6M1OzZs7Fhwwb8/vvvcHR0lOY0OTs7Q6PRwNnZGTNmzMD8+fPh5uYGJycnPPvsswgLC0OPHj0AAEOGDEHr1q0xadIkLF++HPHx8Xjttdcwe/Zs2NgY61f961//wieffIKFCxdi+vTp2LVrF3788Uds3brVYu+diIiI6pZ6l0itXr0aANC/f3+T9nXr1kmLZX7wwQeQy+UYN26cyYKcRRQKBbZs2YJZs2YhLCwM9vb2mDJlCt58802pT0hICLZu3Yp58+Zh1apV8Pf3x3//+1+uIVWLVCoVXnzxRelxRe1EtaW8McjxSWRdKr2OFN0/riNFRERU/9zP8bvezZEiIiIiqivq3aU9sh4GgwExMTEAgMDAQJMSMaW1E9WW8sYgxyeRdWEiRXVWbm6udFdm8VIbZbUT1ZbyxiDHJ5F14Z9KRERERGZiIkVERERkJiZSRERERGZiIkVERERkJiZSRERERGZiIkVERERkJi5/QHWWUqnEM888Iz2uqJ2otpQ3Bjk+iawLS8TUIJaIISIiqn9YIoaIiIioFvC8M9VZQggkJycDADw8PCCTycptJ6ot5Y1Bjk8i68JEiuqsnJwceHl5ATAttVFWO1FtKW8McnwSWRde2iMiIiIyExMpIiIiIjMxkSIiIiIyExMpIiIiIjMxkSIiIiIyExMpIiIiIjNx+QOqs5RKJaZMmSI9rqidqLaUNwY5PomsC0vE1CCWiCEiIqp/WCKGiIiIqBbwvDPVWUII5OTkAADs7OxMSsSU1k5UW8obgxyfRNaFZ6SozsrJyYGDgwMcHBykA1N57US1pbwxyPFJZF2YSBERERGZiYkUERERkZmYSBERERGZiYkUERERkZmYSBERERGZiYkUERERkZm4jhTVWQqFAg8//LD0uKJ2otpS3hjk+CSyLiwRU4NYIoaIiKj+YYkYIiIiolrARIqIiIjITEykqM7SarWQyWSQyWTQarUVthPVlvLGIMcnkXVhIkVERERkJiZSRERERGZiIkVERERkJiZSRERERGZiIkVERERkJiZSRERERGZiiRiqsxQKBR544AHpcUXtRLWlvDHI8UlkXVgipgaxRAwREVH9wxIxRERERLWAiRQRERGRmZhIUZ2l1Wphb28Pe3v7EiViSmsnqi3ljUGOTyLrwsnmVKfl5OTcVztRbSlvDHJ8ElkPnpEiIiIiMhMTKSIiIiIzMZEiIiIiMhMTKSIiIiIzMZEiIiIiMhPv2qM6Sy6Xo1+/ftLjitqJakt5Y5Djk8i6sERMDWKJGCIiovqHJWKIiIiIagETqUr49NNPERwcDFtbW4SGhuLIkSOWDomIiIjqACZSFfjhhx8wf/58LF68GCdOnECHDh0wdOhQJCYmWjq0Bk+r1cLT0xOenp4lSsSU1k5UW8obgxyfRNaFiVQFVq5ciZkzZ2LatGlo3bo11qxZAzs7O3z55ZeWDs0qJCcnIzk5udLtRLWlvDHI8UlkPZhIlaOgoADHjx9HeHi41CaXyxEeHo6IiAgLRkZERER1AZc/KEdycjL0ej28vb1N2r29vXHx4sUS/fPz85Gfny99n5GRAcA4+5/uX/HLIpmZmdDr9eW2E9WW8sYgxydR/Vd03K7MwgZMpKrRsmXL8MYbb5RoDwgIsEA0DYufn999tRPVlvLGIMcnUf2WlZUFZ2fncvswkSqHh4cHFAoFEhISTNoTEhLg4+NTov8rr7yC+fPnS9+np6cjKCgIMTExFf5HUOkyMzMREBCAmzdvci0uM/Dzqxp+flXHz7Bq+PlVnTmfoRACWVlZlfpjiIlUOdRqNbp06YKdO3dizJgxAACDwYCdO3dizpw5Jfrb2NjAxsamRLuzszN/AKrIycmJn2EV8POrGn5+VcfPsGr4+VXd/X6GlT0BwkSqAvPnz8eUKVPQtWtXdO/eHR9++CG0Wi2mTZtm6dCIiIjIwphIVeDRRx9FUlISXn/9dcTHx6Njx474888/S0xAJyIiIuvDRKoS5syZU+qlvIrY2Nhg8eLFpV7uo8rhZ1g1/Pyqhp9f1fEzrBp+flVX058hixYTERERmYkLchIRERGZiYkUERERkZmYSBERERGZiYkUERERkZmYSNWgTz/9FMHBwbC1tUVoaCiOHDli6ZDqjX379uHBBx+En58fZDIZNm7caOmQ6pVly5ahW7ducHR0hJeXF8aMGYNLly5ZOqx6Y/Xq1Wjfvr20gF9YWBi2bdtm6bDqrXfffRcymQzPP/+8pUOpN5YsWQKZTGby1bJlS0uHVa/cvn0bTzzxBNzd3aHRaNCuXTscO3as2l+HiVQN+eGHHzB//nwsXrwYJ06cQIcOHTB06FAkJiZaOrR6QavVokOHDvj0008tHUq9tHfvXsyePRuHDh3C9u3bUVhYiCFDhpgU1KWy+fv7491338Xx48dx7NgxDBw4EKNHj8a5c+csHVq9c/ToUfznP/9B+/btLR1KvdOmTRvExcVJX//884+lQ6o30tLS0KtXL6hUKmzbtg3nz5/H//3f/8HV1bXaX4vLH9SQ0NBQdOvWDZ988gkAY2mZgIAAPPvss3j55ZctHF39IpPJ8Ntvv0lleuj+JSUlwcvLC3v37kXfvn0tHU695Obmhvfffx8zZsywdCj1RnZ2Njp37ozPPvsMS5cuRceOHfHhhx9aOqx6YcmSJdi4cSMiIyMtHUq99PLLL+PAgQPYv39/jb8Wz0jVgIKCAhw/fhzh4eFSm1wuR3h4OCIiIiwYGVmrjIwMAMZkgO6PXq/H999/D61Wi7CwMEuHU6/Mnj0bI0aMMPldSJV35coV+Pn5oXHjxpg4cSJiYmIsHVK9sWnTJnTt2hXjx4+Hl5cXOnXqhLVr19bIazGRqgHJycnQ6/Ulysh4e3sjPj7eQlGRtTIYDHj++efRq1cvtG3b1tLh1BtnzpyBg4MDbGxs8K9//Qu//fYbWrdubemw6o3vv/8eJ06cwLJlyywdSr0UGhqK9evX488//8Tq1asRFRWFPn36ICsry9Kh1QvXr1/H6tWr0axZM/z111+YNWsWnnvuOXz11VfV/losEUPUwM2ePRtnz57l/Ir71KJFC0RGRiIjIwM///wzpkyZgr179zKZqoSbN29i7ty52L59O2xtbS0dTr00fPhw6XH79u0RGhqKoKAg/Pjjj7y8XAkGgwFdu3bFO++8AwDo1KkTzp49izVr1mDKlCnV+lo8I1UDPDw8oFAokJCQYNKekJAAHx8fC0VF1mjOnDnYsmULdu/eDX9/f0uHU6+o1Wo0bdoUXbp0wbJly9ChQwesWrXK0mHVC8ePH0diYiI6d+4MpVIJpVKJvXv34qOPPoJSqYRer7d0iPWOi4sLmjdvjqtXr1o6lHrB19e3xB89rVq1qpHLo0ykaoBarUaXLl2wc+dOqc1gMGDnzp2cY0G1QgiBOXPm4LfffsOuXbsQEhJi6ZDqPYPBgPz8fEuHUS8MGjQIZ86cQWRkpPTVtWtXTJw4EZGRkVAoFJYOsd7Jzs7GtWvX4Ovra+lQ6oVevXqVWPLl8uXLCAoKqvbX4qW9GjJ//nxMmTIFXbt2Rffu3fHhhx9Cq9Vi2rRplg6tXsjOzjb5yysqKgqRkZFwc3NDYGCgBSOrH2bPno0NGzbg999/h6OjozQ3z9nZGRqNxsLR1X2vvPIKhg8fjsDAQGRlZWHDhg3Ys2cP/vrrL0uHVi84OjqWmI9nb28Pd3d3ztOrpBdffBEPPvgggoKCEBsbi8WLF0OhUOCxxx6zdGj1wrx589CzZ0+88847eOSRR3DkyBF8/vnn+Pzzz6v/xQTVmI8//lgEBgYKtVotunfvLg4dOmTpkOqN3bt3CwAlvqZMmWLp0OqF0j47AGLdunWWDq1emD59uggKChJqtVp4enqKQYMGib///tvSYdVr/fr1E3PnzrV0GPXGo48+Knx9fYVarRaNGjUSjz76qLh69aqlw6pXNm/eLNq2bStsbGxEy5Ytxeeff14jr8N1pIiIiIjMxDlSRERERGZiIkVERERkJiZSRERERGZiIkVERERkJiZSRERERGZiIkVERERkJiZSRERERGZiIkVERERkJiZSRFRv9e/fHzKZzNJhVJoQAl26dMGQIUNM2qv7fezYsQMymQx//PFHte2TiErHWntEVCfcbyJRH4syfP311zhx4gQiIiJq9HXCw8PRu3dvLFy4EEOHDmWRYKIaxESKiOqExYsXl2j78MMPkZGRUeo2wJiY5OTk1HRo1cJgMGDJkiXo06cPevToUeOvt3DhQowaNQrff/89Jk6cWOOvR2StWGuPiOqs4OBg3Lhxo16efbrX1q1bMXLkSKxduxZPPvmkybb+/ftj79691fo+CwsL4efnh5YtW2L//v3Vtl8iMsU5UkRUb5U2t2j9+vWQyWRYv349Nm/ejNDQUNjZ2aFRo0ZYtGgRDAYDAOCrr75Chw4doNFoEBgYiPfff7/U1xBC4Msvv0SvXr3g5OQEOzs7dO3aFV9++eV9xbpu3TrIZDKMGzeuzD6FhYVYsmQJgoODYWNjg+bNm+Ozzz4r0W/JkiWQyWTYs2cP1q9fj86dO8POzg79+/eX+qhUKowZMwb//PMPrl69el+xElHl8dIeETVIv/32G/7++2+MGTMGvXr1wtatW7F06VIIIeDs7IylS5di9OjR6N+/P3755RcsXLgQ3t7emDx5srQPIQQmTpyI7777Ds2aNcPjjz8OtVqN7du3Y8aMGTh//jxWrFhRYSxCCOzevRstWrSAq6trmf0ee+wxHDlyBMOHD4dCocCPP/6I2bNnQ6VSYebMmSX6v//++9i9ezdGjx6NIUOGlJgLFRYWhv/+97/YtWsXmjZteh+fHhFVmiAiqqOCgoJEeb+m+vXrV2L7unXrBAChUqnEkSNHpPbMzEzh5eUl7OzshI+Pj7h27Zq0LSYmRqjVatGuXTuTfX3++ecCgJg2bZooKCiQ2vPz88WDDz4oAIhjx45V+D7OnTsnAIiJEyeW+z5CQ0NFRkaG1H7x4kWhVCpFixYtTPovXrxYABD29vbi9OnTZb7uqVOnBAAxefLkCmMkIvPw0h4RNUhPPPEEunXrJn3v6OiIkSNHIicnB7NmzULjxo2lbQEBAejduzfOnz8PnU4ntX/yySewt7fHp59+CpVKJbWr1Wq8/fbbAIDvvvuuwlhu3boFAPD29i6337Jly+Dk5CR936JFC/Tq1QuXLl1CVlZWif5PPfUU2rVrV+b+il6v6PWJqPrx0h4RNUgdO3Ys0ebr61vuNr1ej4SEBDRq1Ag5OTk4c+YM/Pz88N5775XoX1hYCAC4ePFihbGkpKQAAFxcXMrt16VLlxJt/v7+AID09HQ4OjqabOvevXu5+3NzcwMAJCcnVxgjEZmHiRQRNUjFz+wUUSqVFW4rSpDS0tIghMDt27fxxhtvlPk6Wq22wlg0Gg0AIC8vz+yY9Xp9iW0VneHKzc0FANjZ2VUYIxGZh4kUEVEpipKaLl264NixY1Xal6enJwAgNTW1ynEVV9EipkWvV/T6RFT9OEeKiKgUjo6OaNWqFS5cuID09PQq7atNmzaQy+W4dOlS9QRXSUWvV948KiKqGiZSRERleO6555CTk4OZM2eWegkvKioK0dHRFe7HxcUF7du3x7Fjx6R1rGrD4cOHAQD9+vWrtdcksjZMpIiIyvD0009jypQp+Pnnn9GsWTNMnjwZL7/8MqZNm4awsDA0adIEhw4dqtS+xo4di6ysrEr3rw7bt2+Hq6sr+vbtW2uvSWRtmEgREZWhaIX0H374AW3atMGWLVuwcuVKbN++Hba2tlixYgXCw8Mrta8nn3wSSqUS33zzTQ1HbRQdHY0DBw5gypQpsLW1rZXXJLJGrLVHRFRLJk2ahK1bt+LGjRslljKobq+99hqWL1+OCxcuoEmTJjX6WkTWjGekiIhqydKlS5Gbm4uPP/64Rl8nLS0NH3/8MWbNmsUkiqiGcfkDIqJaEhQUhK+++goJCQk1+jpRUVGYN28enn322Rp9HSLipT0iIiIis/HSHhEREZGZmEgRERERmYmJFBEREZGZmEgRERERmYmJFBEREZGZmEgRERERmYmJFBEREZGZmEgRERERmYmJFBEREZGZ/h8z335NqRCxzwAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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eOmllwAoLi6mefPm3H777TzwwAN+ji6w2Gw2li1bxpgxY/wdSsA6efIkCQkJpKSkcOmll/o7nIBUv3595s+fz9SpU/0dSsDIzMyke/fuLFy4kMcff5xu3brx/PPP+zusgDBnzhw+/PBDtm/f7u9QAtIDDzzAV199xYYNG2r8tTTCVA35+fls3bqVIUOGONqCgoIYMmQImzZt8mNkYlXp6elASUFoqbyioiLeeecdsrKy6Nu3r7/DCSjTp09nxIgRTv8WSuX9+OOPNG3alAsuuIBJkyaRlpbm75ACxscff0zPnj2ZMGECCQkJXHLJJfztb3+rkddSwlQNp06doqioiMTERKf2xMREjh075qeoxKqKi4u566676NevH506dfJ3OAFjx44dxMTEEB4ezm233cayZcvo0KGDv8MKGO+88w7btm1j7ty5/g4lICUlJbF48WI+/fRTXn75ZQ4cOMCAAQM4e/asv0MLCPv37+fll1+mbdu2rF69mmnTpnHHHXfw5ptvev21Qrx+RhHxi+nTp7Nz507Nf6ii9u3bs337dtLT03n//fdJTk4mJSVFSVMlHD58mDvvvJM1a9YQERHh73AC0pVXXul43KVLF5KSkmjZsiVLly7VZeFKKC4upmfPnjz55JMAXHLJJezcuZNXXnmF5ORkr76WRpiqoWHDhgQHB3P8+HGn9uPHj9O4cWM/RSVWNGPGDJYvX866deto1qyZv8MJKGFhYbRp04YePXowd+5cunbtygsvvODvsALC1q1bOXHiBN27dyckJISQkBBSUlL461//SkhICEVFRf4OMeDEx8fTrl079u3b5+9QAkKTJk1c/ri5+OKLa+SyphKmaggLC6NHjx6sXbvW0VZcXMzatWs1B0J8wjAMZsyYwbJly/jiiy9o3bq1v0MKeMXFxeTl5fk7jIBw+eWXs2PHDrZv3+7YevbsyaRJk9i+fTvBwcH+DjHgZGZm8tNPP9GkSRN/hxIQ+vXr57KUyg8//EDLli29/lq6JFdNM2fOJDk5mZ49e9K7d2+ef/55srKymDJlir9DCwiZmZlOf0kdOHCA7du3U79+fVq0aOHHyALD9OnTWbJkCR999BH16tVzzJ2Li4sjMjLSz9HVfrNmzeLKK6+kRYsWnD17liVLlrB+/XpWr17t79ACQr169Vzmy0VHR9OgQQPNo6uke+65h1GjRtGyZUuOHj3K7NmzCQ4O5rrrrvN3aAHh7rvv5ne/+x1PPvkkEydOJDU1lddee43XXnvN+y9mSLW9+OKLRosWLYywsDCjd+/exubNm/0dUsBYt26dAbhsycnJ/g4tIJT12QHGokWL/B1aQLjpppuMli1bGmFhYUajRo2Myy+/3Pjss8/8HVZAGzhwoHHnnXf6O4yAce211xpNmjQxwsLCjPPPP9+49tprjX379vk7rIDyySefGJ06dTLCw8ONiy66yHjttddq5HW0DpOIiIiIG5rDJCIiIuKGEiYRERERN5QwiYiIiLihhElERETEDSVMIiIiIm4oYRIRERFxQwmTiIiIiBtKmERERETcUMIkIgFh0KBB2Gw2f4dRaYZh0KNHD4YNG+bU7u338fnnn2Oz2Vi5cqXXzikirlRLTkR8rqoJQyAWJHjrrbfYtm0bmzZtqtHXGTJkCP379+e+++5j+PDhKngrUkOUMImIz82ePdul7fnnnyc9Pb3MfWAmINnZ2TUdmlcUFxczZ84cBgwYQJ8+fWr89e677z6uvvpq3nnnHSZNmlTjrydiRaolJyK1QqtWrTh06FBAjiada8WKFYwcOZK//e1v3HzzzU77Bg0aREpKilffZ0FBAU2bNuWiiy5iw4YNXjuviJTQHCYRCQhlzf1ZvHgxNpuNxYsX88knn5CUlERUVBTnn38+Dz/8MMXFxQC8+eabdO3alcjISFq0aMH8+fPLfA3DMHjjjTfo168fsbGxREVF0bNnT954440qxbpo0SJsNhvjxo0r95iCggLmzJlDq1atCA8Pp127dixcuNDluDlz5mCz2Vi/fj2LFy+me/fuREVFMWjQIMcxoaGhjBkzho0bN7Jv374qxSoilaNLciIS8JYtW8Znn33GmDFj6NevHytWrODxxx/HMAzi4uJ4/PHHGT16NIMGDeLf//439913H4mJidx4442OcxiGwaRJk/jXv/5F27Ztuf766wkLC2PNmjVMnTqV3bt388wzz7iNxTAM1q1bR/v27TnvvPPKPe66664jNTWVK6+8kuDgYJYuXcr06dMJDQ3llltucTl+/vz5rFu3jtGjRzNs2DCXuUp9+/bl9ddf54svvqBNmzZV+PREpFIMEZFaoGXLlkZF/yQNHDjQZf+iRYsMwAgNDTVSU1Md7RkZGUZCQoIRFRVlNG7c2Pjpp58c+9LS0oywsDCjc+fOTud67bXXDMCYMmWKkZ+f72jPy8szRo0aZQDGli1b3L6PXbt2GYAxadKkCt9HUlKSkZ6e7mjfs2ePERISYrRv397p+NmzZxuAER0dbfz3v/8t93W/++47AzBuvPFGtzGKSNXpkpyIBLw//OEP9OrVy/G8Xr16jBw5kuzsbKZNm8YFF1zg2Ne8eXP69+/P7t27KSwsdLS/9NJLREdHs2DBAkJDQx3tYWFhPPHEEwD861//chvLzz//DEBiYmKFx82dO5fY2FjH8/bt29OvXz/27t3L2bNnXY6/9dZb6dy5c7nns7+e/fVFxLt0SU5EAl63bt1c2po0aVLhvqKiIo4fP875559PdnY2O3bsoGnTpjz99NMuxxcUFACwZ88et7H88ssvAMTHx1d4XI8ePVzamjVrBsCZM2eoV6+e077evXtXeL769esDcOrUKbcxikjVKWESkYBXeqTGLiQkxO0+eyL066+/YhgGR44c4dFHHy33dbKystzGEhkZCUBubq7HMRcVFbnsczdilZOTA0BUVJTbGEWk6pQwiYjl2ZOXHj16sGXLlmqdq1GjRgCcPn262nGV5m6xT/vr2V9fRLxLc5hExPLq1avHxRdfzPfff8+ZM2eqda6OHTsSFBTE3r17vRNcJdlfr6J5TiLiOSVMIiLAHXfcQXZ2NrfcckuZl94OHDjAwYMH3Z4nPj6eLl26sGXLFsc6UL7wzTffADBw4ECfvaaIlShhEhEB/vjHP5KcnMz7779P27ZtufHGG3nggQeYMmUKffv25cILL2Tz5s2VOtfYsWM5e/ZspY/3hjVr1nDeeedx6aWX+uw1RaxECZOICDhWDH/33Xfp2LEjy5cv59lnn2XNmjVERETwzDPPMGTIkEqd6+abbyYkJIR//OMfNRy16eDBg3z11VckJycTERHhk9cUsRrVkhMRqQE33HADK1as4NChQy5LBHjbQw89xLx58/j++++58MILa/S1RKxKI0wiIjXg8ccfJycnhxdffLFGX+fXX3/lxRdfZNq0aUqWRGqQlhUQEakBLVu25M033+T48eM1+joHDhzg7rvv5vbbb6/R1xGxOl2SExEREXFDl+RERERE3FDCJCIiIuKGEiYRERERN5QwiYiIiLihhElERETEDSVMIiIiIm4oYRIRERFxQwmTiIiIiBtKmERERETc+P/PRslFxSTv3AAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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uAq9evXixhtv5O9//zsATqeTmJgY/vjHPzJjxowGLp130Wg0fPbZZ9xxxx0NXRSvdeHCBcLCwtiyZQu33nprQxfHawUHB7Nw4UImTZrU0EXxGvn5+XTr1o033niDefPmccMNN1Q7h52oMHv2bFavXs3evXsbuihea8aMGXz33Xds3br1mp5HWpKuUGlpKbt372bgwIGufVqtloEDB7J9+/YGLJlorHJzcwH1S15cOYfDwQcffEBBQQGJiYkNXRyv8sgjj3D77be7/T0UNXP8+HGioqKIi4tj/PjxnD17tqGL5FW++OILevTowe9//3vCwsLo2rUr//znP+v8PBIkXaHMzEwcDgfh4eFu+8PDw0lLS2ugUonGyul08vjjj9O7d286derU0MXxKgcOHMDf3x+TycSDDz7IZ599RocOHRq6WF7jgw8+YM+ePSxYsKChi+J1evXqxfLly1m3bh1vvvkmp06d4pZbbsFqtTZ00bzGyZMnefPNN2nTpg3r16/noYce4tFHH2XFihV1eh6vW5ZECFHhkUce4eeff5bxDFehXbt27N27l9zcXD755BMmTJjAli1bJFCqgeTkZB577DE2bNiAj49PQxfH6wwbNsz1vHPnzvTq1YvY2Fg++ugj6e6tIafTSY8ePXjxxRcB6Nq1Kz///DNLly5lwoQJdXYeaUm6QiEhIeh0OtLT0932p6enExER0UClEo3RtGnT+PLLL9m0aRPNmjVr6OJ4HaPRSOvWrenevTsLFiygS5cu/O1vf2voYnmF3bt3k5GRQbdu3dDr9ej1erZs2cLixYvR6/U4HI6GLqJXCQoKom3btiQlJTV0UbxGZGRklR807du3r/NuSwmSrpDRaKR79+588803rn1Op5NvvvlGxjOIeqEoCtOmTeOzzz5j48aNtGzZsqGL9KvgdDopKSlp6GJ4hQEDBnDgwAH27t3r2nr06MH48ePZu3cvOp2uoYvoVfLz8zlx4gSRkZENXRSv0bt37ypTnxw7dozY2Ng6PY90t12FJ598kgkTJtCjRw969uzJokWLKCgoYOLEiQ1dNK+Qn5/v9ovp1KlT7N27l+DgYJo3b96AJfMOjzzyCO+//z6ff/45FovFNRYuMDAQX1/fBi6dd5g5cybDhg2jefPmWK1W3n//fTZv3sz69esbumhewWKxVBkDZzabadq0qYyNq4Hp06czYsQIYmNjOX/+PLNmzUKn0zFu3LiGLprXeOKJJ7j55pt58cUXGTNmDDt27OCtt97irbfeqtsTKeKqLFmyRGnevLliNBqVnj17Kj/88ENDF8lrbNq0SQGqbBMmTGjoonkFT9cOUJYtW9bQRfMa999/vxIbG6sYjUYlNDRUGTBggPK///2voYvl1fr27as89thjDV0Mr3DXXXcpkZGRitFoVKKjo5W77rpLSUpKauhieZ01a9YonTp1UkwmkxIfH6+89dZbdX4OmSdJCCGEEMIDGZMkhBBCCOGBBElCCCGEEB5IkCSEEEII4YEESUIIIYQQHkiQJIQQQgjhgQRJQgghhBAeSJAkhBBCCOGBBElCCCGEEB5IkCSEuG7169cPjUbT0MWoMUVR6N69O4MHD3bbX9ef4+uvv0aj0fDf//63zo4phKhK1m4TQtSLKw0SvHExgHfeeYc9e/awffv2a3qegQMH0qdPH5555hmGDBkiC8oKcY1IkCSEqBezZs2qsm/RokXk5uZ6TAM16CgsLLzWRasTTqeT2bNnc8stt3DTTTdd8/M988wz/Pa3v+WDDz5g/Pjx1/x8QjRGsnabEKLBtGjRgjNnznhlq9EvrV27lt/85jf885//5IEHHnBL69evH1u2bKnTz2mz2YiKiiI+Pp6tW7fW2XGFEBVkTJIQ4rrlaSzP8uXL0Wg0LF++nDVr1tCrVy/8/PyIjo7mueeew+l0ArBixQq6dOmCr68vzZs3Z+HChR7PoSgKb7/9Nr179yYgIAA/Pz969OjB22+/fUVlXbZsGRqNhtGjR1ebx2azMXv2bFq0aIHJZKJt27a88cYbVfLNnj0bjUbD5s2bWb58Od26dcPPz49+/fq58hgMBu644w62bdtGUlLSFZVVCFEz0t0mhPBKn332Gf/73/+444476N27N2vXrmXevHkoikJgYCDz5s1j5MiR9OvXj08//ZRnnnmG8PBw7r33XtcxFEVh/PjxrFq1ijZt2vCHP/wBo9HIhg0bmDRpEocOHeKVV165bFkURWHTpk20a9eOJk2aVJtv3Lhx7Nixg2HDhqHT6fjoo4945JFHMBgMTJ48uUr+hQsXsmnTJkaOHMngwYOrjD1KTEzkX//6Fxs3bqR169ZXcPWEEDWiCCFEA4mNjVUu9Weob9++VdKXLVumAIrBYFB27Njh2p+Xl6eEhYUpfn5+SkREhHLixAlX2tmzZxWj0agkJCS4Heutt95SAGXixIlKaWmpa39JSYkyYsQIBVB27dp12c9x8OBBBVDGjx9/yc/Rq1cvJTc317X/yJEjil6vV9q1a+eWf9asWQqgmM1mZf/+/dWed9++fQqg3HvvvZctoxDiykl3mxDCK919993ceOONrtcWi4Xf/OY3FBYW8tBDDxEXF+dKi4mJoU+fPhw6dAi73e7a//e//x2z2czrr7+OwWBw7TcajcyfPx+AVatWXbYsKSkpAISHh18y34IFCwgICHC9bteuHb179+bo0aNYrdYq+adMmUJCQkK1xys/X/n5hRB1S7rbhBBe6YYbbqiyLzIy8pJpDoeD9PR0oqOjKSws5MCBA0RFRfHSSy9VyW+z2QA4cuTIZcty8eJFAIKCgi6Zr3v37lX2NWvWDICcnBwsFotbWs+ePS95vODgYAAyMzMvW0YhxJWTIEkI4ZUqt8iU0+v1l00rD36ys7NRFIVz584xZ86cas9TUFBw2bL4+voCUFxcfNVldjgcVdIu1zJVVFQEgJ+f32XLKIS4chIkCSEapfKApXv37uzatatWxwoNDQUgKyur1uWq7HITcJafr/z8Qoi6JWOShBCNksVioX379hw+fJicnJxaHatjx45otVqOHj1aN4WrofLzXWrckhDi6kmQJIRotB599FEKCwuZPHmyx261U6dOcfr06cseJygoiM6dO7Nr1y7XPE314ccffwSgb9++9XZOIRoTCZKEEI3W1KlTmTBhAp988glt2rTh3nvvZcaMGUycOJHExERatWrFDz/8UKNjjRo1CqvVWuP8dWHDhg00adKEW2+9td7OKURjIkGSEKLRKp+5+8MPP6Rjx458+eWXvPrqq2zYsAEfHx9eeeUVBg4cWKNjPfDAA+j1et57771rXGrV6dOn+e6775gwYQI+Pj71ck4hGhtZu00IIerIPffcw9q1azlz5kyV2/nr2p///GdefvllDh8+TKtWra7puYRorKQlSQgh6si8efMoKipiyZIl1/Q82dnZLFmyhIceekgCJCGuIZkCQAgh6khsbCwrVqwgPT39mp7n1KlTPPHEE/zxj3+8pucRorGT7jYhhBBCCA+ku00IIYQQwgMJkoQQQgghPJAgSQghhBDCAwmShBBCCCE8kCBJCCGEEMIDCZKEEEIIITyQIEkIIYQQwgMJkoQQQgghPJAgSQghhBDCg/8HrOPgRUJ4aeAAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkkAAAHOCAYAAACM3Z3JAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAAClDklEQVR4nOzdd3hUxfrA8e9uyqb3HpIQegm999BBqYINEFCUqz9FRcV2L01QvIBiF8uVJiIgCAqKBem99xZIqOkhZTfJpuz8/lizsCaBENKA9/M858nuzJyzs8kk+2bOFI1SSiGEEEIIIaxoK7sCQgghhBBVkQRJQgghhBBFkCBJCCGEEKIIEiQJIYQQQhRBgiQhhBBCiCJIkCSEEEIIUQQJkoQQQgghiiBBkhBCCCFEESRIEkIIIYQoggRJ4p505swZnnvuORo0aICzszMODg5Uq1aNVq1a8dxzz7FixYobnr9u3TqGDx9OeHg4Tk5OuLm50aBBA5577jmOHTtW7HkbN25Eo9GU6CiOwWDgo48+ok+fPgQFBaHT6XBxcaFu3bqMGDGC1atXYzKZSv29qWwxMTFoNBqqV69e2VURQtzjNLItibjXrFy5kmHDhmE0GvH29qZ58+b4+vpy9epVDh48SGxsLN7e3iQlJRU6Nz09nWHDhrF27VoAGjZsSIMGDcjNzWXv3r1cunQJrVbL66+/zvTp0wsFOxs3bqRr164AjBo16ob1nD9/fqG033//nREjRpCYmIitrS0tWrQgLCyMvLw8zp49y6FDhwBo1aoVu3fvLs23p9xVr16d8+fPEx0dXWQgFBMTQ3h4OGFhYcTExNz26xV8z7t06cLGjRtv+fz58+fz+OOPM2rUqCJ/JqL8REZGsmnTJjZs2EBkZGRlV0fcg2wruwJCVKT4+HhGjRqF0Wjk5ZdfZvr06Tg4OFiV2bdvHz/88EOhc3NycujVqxe7du0iPDycRYsW0aFDB0u+Uopvv/2Wp59+mnfeeYesrCzef//9Yutyqx+4a9euZeDAgeTn5/PEE08wY8YM/Pz8rMpcuHCBd955h2XLlt3StYUQQhQmQZK4p6xZswa9Xk9QUBCzZ88uskyLFi1o0aJFofSpU6eya9cuPDw82LBhA2FhYVb5Go2Gxx57DE9PT/r378+cOXO477776NGjx23XOzk5mREjRpCfn8/zzz/Phx9+WGS50NBQ5s6dy7Bhw277NYUQ4p6nhLiHvP322wpQTZo0uaXz0tPTlZubmwLUe++9d9PyAwYMUICKjIy0St+wYYMC1K3+6k2ZMkUBys/PT2VnZ9/SuSVhMBjUjBkzVLNmzZSLi4tydHRUDRo0UP/+979VSkpKofIF76NLly7FXvOf73PevHmWtKKODRs2KKWUio6OVoAKCwsr8rqZmZlq9uzZqk2bNsrd3V3pdDpVp04dNWHCBJWUlGRVtkuXLsW+XnHXv15YWFix5xf13pcvX6569+6tfHx8lJ2dnQoKClLDhw9Xx44dK1T2+veZn5+vPvzwQ9WoUSPl6OioAgIC1L/+9S+VnJyslFIqOztbvfXWW6pu3brKwcFBBQYGqueff17p9fpC1508ebIC1OTJk1VMTIx67LHHVEBAgNLpdKp27dpq8uTJKjMzs9j3fOrUKTV27FhVo0YNpdPplJubm+rUqZNatGhRkeULvscbNmxQmzdvVv369VM+Pj5Ko9GoefPmKaXMvz9ffvmlGjx4sKpVq5ZycnJSTk5OKiIiQr355pvq6tWrVte8/vekqKPguqVph0Wlf/PNN6pt27aW3/Ho6GhLucuXL6vx48erevXqKUdHR+Xi4qJatmypPv74Y5Wbm1vs64q7g/QkiXtKaGgoAEePHmX9+vV07969ROf99ddfpKenA/DYY4/dtPzIkSP56aef2Lx5M2lpabi7u5e+0sDq1asBePjhh9HpdLd1rX9KSUmhe/fuHDx4EDc3N7p164adnR2bNm3i7bff5rvvvuOvv/667YHUtWrVYtSoUfzwww8YDAaGDBmCi4uLJT8gIOCm17hy5Qp9+vThyJEjeHl50apVK1xdXdm/fz+zZs1i+fLlbNy40dLL16dPHxwcHPjtt9/w9/enT58+lmv5+Pjc9PWGDh3Kzp072bZtGzVr1qRjx46WvHr16lke5+XlMXz4cJYtW4ZOp6NFixYEBwdz+vRpFi9ezMqVK1m5cqXV619vxIgRrFq1ii5dulCzZk22b9/OF198we7du9myZQt9+vTh8OHDREZGUrt2bbZs2cJHH33EmTNn+OWXX4q8ZnR0NC1atMDW1pbOnTuTlZXFhg0bmDp1Kn/++Sd//vlnoVvNy5cvZ+TIkWRnZ1OvXj3uu+8+0tLS2LVrF4899hh//fUX33zzTZGvt3z5cubOnUu9evXo0aMHKSkplrZ66NAhxo4di6+vL3Xr1qVFixZcvXqVffv2WW4P79y5E29vb8DcFkaNGsW6deuIj4+nd+/eVu2jVq1aN/3ZldS4ceP47LPPaN++Pffffz/nzp2zjCXcvHkzgwYN4urVq1SvXp2ePXtiNBrZvXs348aN4+eff2bNmjXY2dmVWX1EFVPZUZoQFSkjI0MFBwcrQGk0GhUZGammTZum1q5dqxISEoo9b+LEiQpQ4eHhJXqd8+fPW/5T/euvvyzppelJys3NVVqtVgFq4cKFJT6vpB5++GEFqDZt2lj1xGRkZKi+ffsqQLVv397qnNv5D76gd+b6/9avV1xPkslkUh06dFCAGjNmjEpPT7fk5ebmqpdfflkBqmvXrrdc1xsp6AEbNWpUsWXefPNNy/fw3LlzVnnLly9XNjY2ytPT06rHpOB9AqpmzZoqJibGkpeUlKRq166tANWoUSPVunVrq5/NuXPnlKenpwLU1q1brV6voCcJUAMHDrTqNbp48aKqU6eOAtTrr79udd7hw4eVTqdTDg4OasWKFVZ5MTExqlGjRgpQCxYssMq7vrfu008/LfL7c/HiRfXnn3+q/Px8q3SDwaBGjhypAPV///d/hc67vpeqKGXRk+Tm5qZ27NhRKD82NlZ5e3srjUajPvvsM6u6JyUlqW7duilATZ06tdjXFnc+CZLEPefkyZOqTZs2RXbjN23aVH3++ecqLy/P6pynn35aAapt27Yleo3s7GzLNZcuXWpJv9lthOs/3ArExcVZ0tetW1cm34MC58+fV1qtVmk0GnXo0KFC+ZcuXVIODg4KUNu2bSv0PioySPr1118tP6OibnPk5+eriIgIBagjR47cUl1v5GZBUnJysnJ0dFQODg7q0qVLRZb5v//7PwWojz/+2JJ2fZC0du3aQue8//77lmD++vdTYNy4cUV+SBcESY6Ojio2NrbQeT///LMlOMjKyrKkFwTLs2fPLvI97N69WwGqRYsWVukFgUy3bt2KPO9mDAaDsrW1Vb6+voXyKiJIeuutt4o877XXXlOAeu6554rMv3TpkrKzs1O+vr7KZDIV+/rizia328Q9p27duuzcuZPdu3ezdu1adu3axf79+0lMTOTgwYM888wzrFixgrVr12Jvb1+q11AlWFnjRksANG/evFSve6s2b96MyWSiefPmNG7c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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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TicdOnSge/fuJCQksH79etasWcPrr7/OzJkzy7zf8nw2AFu3buWJJ54gIiKCfv36kZubi5+fHwBnzpzhlltu4dy5c9StW5fhw4djs9n4448/mDZtGt999x3/+9//qFOnDgBDhw6lUaNG/Pjjj5jNZu655x71fS18bpdVVlYWd955J+vXr8fX15fOnTtTt25dDh06xIIFC/jhhx9Yu3YtHTt2LPc+pBqoui9lSVJVyMrKEvXq1ROAUBRFDBgwQLz55pti5cqVIikpqdjtZsyYobZFKo1z586pl+t///13dX15brfZbDah0WgEIL744otSb1da17rd5nQ6Re/evQUgJk6cKDIzM93q9vzzzwtADBw40G27RYsWqcc6YsQIYTab1bQ9e/YInU4nNBqNaNWqlXjiiSeEzWZT05ctWyYA4e/v77adEFfamABizpw5bmnr168X3t7eAhCrVq1yS/vkk08EIJo2bSoOHDjglrZhwwbh5+cnDAaDOHHihFtawb78/f3Ftm3bPL5HO3fuFIcOHSqyPi4uTrRv314A4vvvvy+Sfq1z4bXXXhOAeO211zymF5xP/fv397geEO3atROXLl0qsu2qVauEoigiJCSkyO3ZgwcPivr16wtArF+/vtj6Xa28n03BOQiI6dOnC4fDUaTsgvaAd955p8jOzlbXJyUliU6dOglAPPjgg0W2a9iwYbG324p7/4Qo/rN58MEHBSDuuOOOIu0C3333XQGIZs2aCbvdXmRbqfaSQZJ00zh27Jj6B/fqqUOHDuLjjz8u8gfuiSeeEIDo0aNHqfaRl5enlvndd9+p6wt/eZU03XXXXeo2CQkJ6vqrv1wqwrWCpN9++019bwoHMgUcDodo06aNANwChYIgydfX12Mj8zvvvFMAokGDBh4b0Ldt21YARb7AC76IO3bs6LG+BUHbrbfe6lbHyMhIAYjdu3d73G7u3Llqg/7CCt77N954w+N217J69WoBiPvuu69IWlUESRs3bvS4bcH/gR9//NFj+vfffy8Acc899xRbv6uV57MR4so52Lx5c4/BxaZNmwQgTCaTSEhIKJK+e/duAQiNRiMuXLjgllaRQdKRI0eEoigiMjLS7cdCYcOHDxeA+Pnnnz2mS7WTvN0m3TRiYmLYvn07O3fuZOXKlezYsYO9e/eSnJzM/v37efLJJ1myZAkrV67EYDCU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2kSzZs2K5MnLy+POO+9k/fr1jBgxgu+///66KyhJkiRJVUGr1VbIF6t04yh1kNS3b1++++477r77boYMGcKWLVvcBpWzWCyMHDmSdevWMXz4cH788UePXQVIErh+uRU8Sn31/f+S0iSpKhR3DspzU5JuLmUeu+2rr75i3LhxtGjRgk2bNhEUFITVamXkyJGsWrWKoUOHsnz58utqTV5byLHbJEmSJKn2Ke33d6m6AChs7NixvPfeexw9epRhw4aRmprKqFGjWLVqFbfeeivLli27KQIkSZIkSZJubOW6HzZ58mRSU1N5/fXXady4MZmZmdxyyy0sX75cDmorSZIkSdINocxXkgq89tprPP3002RmZjJgwAB++eUXvLy8KrJu0g0sJyeH1q1b07p16yKduJWUJklVobhzUJ6bknRzKfWVpOLGKFIUha1btxIUFOQxraDXbUkqTAjBkSNH1PnSpklSVSjuHJTnpiTdXEodJIWGhsqnOSRJkiRJummUOkg6e/ZsJVZDkiRJkiSpZil3myRJkiRJkqQbWY0LkjZu3MiIESOIjIxEURSWLVvmli6EYObMmURERODt7c3gwYM5efKkmn727FkmTpxIdHQ03t7eNGnShNdeew2r1eqWR1GUItP27dur6jAlSZIkSarhShUk/eMf/7iuJzm2b9/OypUrS5XXbDbTvn17/v3vf3tMnzt3Lh988AELFixgx44d+Pj4cNttt5GXlwfAsWPHcDqd/Oc//+HPP//k3XffZcGCBbz88stFyvrf//7HpUuX1Klz587lPkZJkiRJkm4wohR8fHxEaGiomDVrljh16lRpNhEWi0X88MMPYsiQIUKj0Yh//etfpdquMEAsXbpUXXY6nSI8PFy8/fbb6rr09HRhNBrFN998U2w5c+fOFdHR0epybGysAMS+ffvKXKfCMjIyBCAyMjKuq5ybkdlsFg0bNhQNGzYUZrO51GmSVBWKOwfluSlJN4bSfn+XquH2iRMneOWVV3jzzTd544036NChAz169KBz586EhYURGBhIXl4eqampHD9+nB07drB582YyMzNp1KgR33zzDaNHj77ugC42NpaEhAQGDx6srgsICKB79+5s27aNMWPGeNwuIyPDYxcFd955J3l5eTRv3pwXX3yRO++8s8T9WywWLBaLupyZmVnOI5FMJlOxDwOUlCZJVaG4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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkkAAAHOCAYAAACM3Z3JAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC0GklEQVR4nOzdd2CURd7A8e+zNdlN7wkkEFooUgIiRLogTZEmiOIhyllO8VQE0VMRkBfv8DiVsyuinv1EiieCiNKR3nsJBBLS+ybZOu8fm2yyZBNCCCTAfO4ed59n5nme2SdD9pd55plRhBACSZIkSZIkyY2qvgsgSZIkSZLUEMkgSZIkSZIkyQMZJEmSJEmSJHkggyRJkiRJkiQPZJAkSZIkSZLkgQySJEmSJEmSPJBBkiRJkiRJkgcySJIkSZIkSfJABkmSJEmSJEkeyCBJki5CUZRLXvr27VvfxZauU2V1TKqsb9++KIrC2rVr67so0nVCU98FkKSG7oEHHqi0LTU1lVWrVlWZ3rp16yterhtNWWAgZ1KqX02bNuXMmTMkJibStGnT+i6OJF1RMkiSpIv49NNPK21bu3atK0jylC5JkiRd++TtNkmSJEmSJA9kkCRJV0BxcTHz58+ne/fuBAQE4OXlRVxcHM899xxZWVmV8n/66acoisLEiRPJy8tjypQpNG3aFC8vL1q2bMk//vEPHA4HAMnJyTz66KNER0ej1+uJi4vj3//+t8dyVOyjsW7dOgYOHEhQUBAGg4FbbrmF//znP9V+jjVr1jBq1CgiIyPR6XSEhYUxcuRItmzZ4jF/xf4yixYtIiEhAX9/fxRF4fTp0wCcOXOGf/zjH9x2223ExMSg1+sJCAigZ8+efPDBB67PWWbmzJlufXAu7P9VdtyyfDNnzvRYtrVr13rsL1Zxe1FRETNmzKBNmzYYDIZKt5N27tzJ+PHjXeUOCgpi0KBBrFixotrrWJ3vv/+ewYMHExoaik6no1GjRtx///0cOnToko9ls9n4+OOP6du3L0FBQej1emJjY/nLX/7C2bNnq9wvOTmZadOm0b59e3x9fTEajbRq1YqJEyeyefNmoLyOnjlzBoDY2Fi3n0NZP6BLuZ7ffPMN/fv3d5W1SZMmPPTQQxw7dqzKsp49e5aHHnqIyMhI17+PF198keLi4oten7q81tINQkiSdMl+//13AQhP/4SSk5NF+/btBSCCgoLEgAEDxMiRI0WTJk0EIJo2bSpOnz7tts+iRYsEIIYPHy7atGkjwsLCxOjRo8XAgQOFt7e3AMTkyZPFiRMnREREhIiOjhZjx44V/fr1E2q1WgDi73//e6Wy9OnTRwDir3/9q1CpVKJt27Zi3Lhxonfv3kKlUglATJkyxeNnfPbZZwUgVCqVuOWWW8SYMWNEt27dhKIoQq1Wi08++aTSPmXXZPLkyUKlUomePXuKe++9V3Tr1s31mV999VUBiNjYWNG/f38xbtw40adPH6HT6QQgRo0aJRwOh+uYS5YsEQ888IDr2A888IDbkpGRIYQQ4pVXXhGAeOWVV6r9mfXp08fj9m7duomuXbsKo9EohgwZIu655x4xYMAAV74333zTdc06deok7r77btGzZ09XuWfNmuXxvFWxWq1i7NixAhB6vV7ceuutYsyYMaJjx44CEN7e3uLnn3+u8hpfKD8/X/Tt21cAwsfHR/Tp00fcfffdIi4uTgAiODhY7Nq1q9J+v/76qwgICBCACAsLE8OHDxdjxowRXbt2FVqtVjzwwANCCCE2bNggHnjgAWE0GgUgRo8e7fZzOHz4cI2vp8PhEBMmTBCA0Gg04rbbbhPjxo0TrVq1EoAwGAweP/vhw4dFWFiYAERkZKQYM2aMGDp0qPD29hYJCQkiISFBAOL333+vk2stSTJIkqRaqCpIcjgcokePHgIQkyZNEvn5+a40q9XqCjz69evntl9ZkASIYcOGCZPJ5ErbuXOn0Gg0riDnscceE1ar1ZW+dOlSAQg/Pz+3/YQoD5IAMXfuXLe0tWvXugKwlStXuqV9+OGHAhAtWrQQe/fudUtbt26d8PX1FTqdThw7dswtrexcfn5+YsuWLR6v3bZt28T+/fsrbU9OTnZ9aX333XeV0qsKDspcbpAEiA4dOojz589X2nflypVCURQREhIi1q1b55a2b98+0bhxYwGItWvXVlm+C/3tb39zBROnTp1yS/vvf/8r1Gq1CAwMFDk5OW5pVV2H++67TwDizjvvFGlpaW5pb7zxhgBEy5Ythc1mc21PSkoS/v7+AhDPP/+8MJvNbvulpaWJDRs2uG0rC/YTExM9fq6aXM/33ntPACIkJETs3r3btd3hcLh+jgEBASI9Pd1tv65duwpAjB07VhQXF7u2nzlzRjRv3tx13guDpNpea0mSQZIk1UJVQdLPP//sammoGMiUsdvt4qabbhKAW6BQFiT5+PhU+oITQoi77rpLACImJsbty6FMWcvVhV/gZUFSfHy8x89RFrTdfvvtbmWMiooSgNixY4fH/ebNmycA8eyzz7ptL7sms2fP9rjfxaxatUoAYsyYMZXSrkaQtH79eo/7duvWTQDi+++/95j+3XffuVpXaiIrK0t4e3sLLy8vce7cOY95Hn/8cQGIf//7327bPV2HQ4cOCUVRRFRUlFtgXtHQoUMFIH788UfXtqefftoVmNfUpQRJVV3PsoBmwYIFldIcDofo0KGDAMT//d//ubZv3LhRAMJoNIrMzMxK+y1ZssRjkHQ511qSZJ8kSapDP/30EwCjR49Go6n88KhKpaJ3794Arr4eFXXp0oWwsLBK21u2bAlAv3798PLyqjI9JSXFY7kmTJjgcXvZ8AUbN27EbrcDsHv3blJSUmjevDldunTxuF9Zvx5PnwHg7rvv9ri9jNls5scff2TGjBk89thjPPjgg0ycOJEPPvgAgKNHj1a7/5UQFhZGr169Km3PzMxk27ZteHt7M2zYMI/7Xux6XOj333+nuLiYHj160KhRo8s+5ooVKxBCMGTIEHx9fWt8vJUrVwLwyCOP1Kjcl6Kq63nu3DlOnjwJeB4+Q1EUHnzwQcB5ncqU9XkaPHgwwcHBlfYbPnw4/v7+lbbX9bWWbixyCABJqkOnTp0C4OWXX+bll1+uNm9GRkalbTExMR7z+vj4VJte9sVYUlLiMT02Nrba7cXFxWRlZREWFub6DCdPnrzooIWePgNQ7fg5f/zxB/fccw9JSUlV5snPz6/2vFdCVWVOTExECEFxcTF6vb7aY1R1PS5Udo3XrFlT62vs6XgLFy5k4cKFNT5eWSfsKzGuV1XXMzk5GYDg4GD8/Pw85mnevLlbXnAGV1B1XVYUhaZNm7J371637XV9raUbiwySJKkOlT2Z1bNnT9cv+qq0a9eu0jaVqvrG3YulXw5ROkhj2WeIiIhg0KBB1e4TEhLicbu3t7fH7UVFRYwYMYK0tDQefPBB/vKXv9CiRQv8/PxQq9UcO3aMuLi4KzJg5IVPzdW0zGX7+fj4MHr06DotS4sWLejRo0e1eWsSwJQdr1OnTnTs2LHavN26dathKS9PVdfzaqvray3dWGSQJEl1KDo6GnA2/U+dOrWeS1MuMTHR4/ayx+e9vLxctzDKPkNwcHCdD5S5fv160tLS6Ny5M5988kml9OPHj9f62DqdDoCCggKP6WWtJpeq7HooisInn3xSJ4Fq2THj4uLq5BqXHa9Hjx68/fbbNd4vJiaGo0ePcuTIEVq0aHHZ5aiJslteWVlZ5Ofne2xNKmv9qXh7rOx9WZ31xNPPuK6vtXRjkX2SJKkODRkyBID//ve/DWr6jC+++MLj9s8//xxwtnyV9aHq2rUrISEhHDp0iIMHD9ZpObKzs4GqbxtWVU4ArVYLOMcC8qTsS/Tw4cMe08v6i12qqKgoOnToQEFBgasPz+Xq378/Op2OtWvXkp6eftnHK6t3y5cvr/KWqyeDBw8G4KOPPqrxPmXBaFU/h4tp3Lixq5XVU9AihHBt79evn2t7nz59AGc/qrJ6VNHy5cvJzc2ttL2ur7V0Y5FBkiTVoeHDh9O1a1e2bdvGgw8+6LGPQ05ODu+//36tv2RqY+fOncybN89t28aNG3nnnXcAeOaZZ1zbtVotr7zyCkIIRo4cycaNGysdz26389tvv/HHH39cUjnatGkDOPuHXDiA34cffsi3335b5b6NGzcGqDJwu+2221CpVKxatYp169a5tgshWLBgAYsXL76kslY0Z84cAB588EF+/PHHSulCCLZu3covv/xSo+OFh4fz5JNPYjKZGDZsGPv376+Ux2w2s3z5co4cOXLR48XHxzN69GjOnj3LqFGjPLa2mEwmvvzyS9LS0lzbpkyZgq+vL8uXL+ell17CarW67ZOenl7p53+xn0NNlLWyvvrqq259iIQQzJkzhz179hAQEMDDDz/sSuvVqxedO3emsLCQJ554ArPZ7Eo7e/ZslS23dX2tpRtMfT1WJ0nXsosNJtmpUyfX48q33nqrGDdunBg1apTo1KmTa/DHio/ylw0BUDZw34Uu9nh72WCLixYtctt+4WCS7dq1E/fee6/o06ePa2DEp556yuMxp02b5vqM7dq1E8OHDxfjxo0Tffv2dQ0++N5777ntU9U1qWj48OECEDqdTgwcOFCMGzdOtG7dWiiKIl588UUBiCZNmlTab+rUqa6xdcaOHSsmTZokJk2a5PY4+FNPPSUAoVarRd++fcWoUaNE8+bNhVarFc8//3y1QwBcuP1Cb731ltBoNK7xo+644w5x3333idtvv901wOH06dOrPUZFVqvVNbaRSqUS8fHxYvTo0eKee+4RPXr0cA3aeOEgh1Vd4/z8fNG/f3/Xte3atasYO3asa2DIskEvywZ9LLNq1Srh6+srABEeHi5GjBghxowZI2655Ra3wSTLvP32267hKkaNGuX6ORw5cqTG19PhcIg//elPrsEk+/fvL+69917XwJfe3t5ixYoVlfY7ePCgCA0NFYCIiooSY8eOFXfeeacwGAyie/fu1Q4mWZtrLUkySJKkWqguSBJCiJKSEvH++++Lfv36ieDgYKHRaERYWJjo1KmTeOKJJ8SqVavc8l/pIOn3338Xa9asEf379xf+/v7C29tb3HzzzeLTTz+t9nNu2rRJjB8/XjRp0kTo9Xrh6+srWrVqJUaMGCE+/vhjkZ2d7Za/JkGSxWIRr7/+umjfvr0wGAwiKChIDBw4UPzyyy8iMTGxyiCpuLhYPPfcc6JFixauL3wuGK/H4XCI+fPnizZt2gidTieCgoLEsGHDxM6dOy86TtLFgiQhhNi/f7945JFHRMuWLYWXl5cwGAyiWbNmYtCgQWLBggUiOTn5ose40IoVK8SoUaNEo0aNhFarFQEBAaJNmzZi3Lhx4quvvqo0QGh119hut4uvvvpKDB06VISHhwutViuCg4PFTTfdJB588EGxZMkSYbFYKu135swZ8dRTT4m4uDjh5eUlfHx8RKtWrcRDDz1UaVBQu90uXnvtNdGuXTvh5eVVaWyiS7meX331lSvo1mq1Ijo6WkycONEVcHly5swZMXHiRBEeHi50Op1o1qyZmD59ujCZTG713ZNLvdaSpAjRgDpOSJJUp/r27cu6dev4/fffK81ZJkmSJFVP9kmSJEmSJEnyQAZJkiRJkiRJHsggSZIkSZIkyYMGFyStX7+eYcOGERUVhaIoLF261C39hx9+YODAgQQHB6MoCnv27Kl0jJKSEp544gmCg4Ndo+RWfOwVICkpiTvuuAODwUBYWBjTpk27qo9kS9LVsHbtWoQQsj+SJElSLTS4IMlkMtGxY0fX+C2e0nv27Mk//vGPKo/xzDPP8OOPP/Lf//6XdevWkZKSwqhRo1zpdrudO+64A4vFwubNm/nss8/49NNPmTFjRp1/HkmSJEmSrk0N+uk2RVFYsmQJI0aMqJR2+vRpYmNj2b17N506dXJtz8vLIzQ0lK+++so1E/mRI0do06YNW7ZsoXv37vz888/ceeedpKSkEB4eDsD777/P9OnTycjIcI0oK0mSJEnSjeu6m7tt586dWK1WBgwY4NrWunVrYmJiXEHSli1baN++vStAAhg0aBB/+ctfOHjwIPHx8R6PbTab3UZ5dTgcZGdnu279SZIkSZLU8AkhKCgoICoqqtr5GK+7ICk1NRWdTkdAQIDb9vDwcFJTU115KgZIZellaVV57bXXmDVrVt0WWJIkSZKkenH27FnXVDueXHdB0pX0wgsvMGXKFNd6Xl4eMTExnD171uNM1lLVbDYba9asAZwTUJZNrnqxNEm6Gqqqg7JuStL1IT8/n+joaHx9favNd939C4+IiMBisZCbm+vWmpSWlkZERIQrz7Zt29z2K3v6rSyPJ3q9Hr1eX2m7n5+fDJIukclkYuzYsQAUFhZiNBprlCZJV0NVdVDWTUm6vlysq0yDe7rtcnXp0gWtVuv6aw/g6NGjJCUlkZCQAEBCQgL79+8nPT3dlWf16tX4+fnRtm3bq15mSZIkSZIangbXklRYWMiJEydc64mJiezZs4egoCBiYmLIzs4mKSmJlJQUwBkAgbMFKCIiAn9/fyZNmsSUKVMICgrCz8+PJ598koSEBLp37w7AwIEDadu2LX/605+YN28eqampvPTSSzzxxBMeW4okSZIkSbrxNLiWpB07dhAfH+96wmzKlCnEx8e7xjBavnw58fHx3HHHHQCMGzeO+Ph43n//fdcx3njjDe68805Gjx5N7969iYiI4IcffnClq9Vq/ve//6FWq0lISOD+++9nwoQJzJ49+yp+UkmSJEmSGrIGPU5SQ5efn4+/vz95eXmyT9IlMplM+Pj4AJ77JFWVJklXQ1V1UNbN65vdbsdqtdZ3MaQ6oNVqUavVVabX9Pu7wd1ukyRJkqSrSQhBamoqubm59V0UqQ4FBAQQERFxWeMYyiBJkiRJuqGVBUhhYWEYDAY5OPA1TghBUVGR6+GsyMjIWh9LBklSvdDpdLz99tuu9zVNk6Sroao6KOvm9cdut7sCpODg4PoujlRHvL29AUhPTycsLKzaW2/VkX2SLoPskyRJknRtKykpITExkaZNm7q+WKXrQ3FxsWueVy8vL7e0mn5/N7in2yRJkiTpapO32K4/dfEzlbfbpHpht9vZsGEDAL169XJrCq0uTZKuhqrqoKybknRjkUGSVC9KSkro168fUPlR6urSJOlqqKoOyropSZX17duXTp068eabb9Z3UeqcvN0mSZIkSVK9+vDDD+nbty9+fn4oitJghmOQQZIkSZIkSfWqqKiIwYMH87e//a2+i+JGBkmSJEmSdI05ffo0iqJUWvr27VvlPoqi8PHHHzNy5EgMBgMtW7Zk+fLlbnnWrVvHLbfcgl6vJzIykueffx6bzeZKN5lMTJgwAR8fHyIjI5k/f36l85jNZqZOnUqjRo0wGo1069aNtWvXVvt5nn76aZ5//nnXHKsNhQySJEmSJKkCIQRFFlu9LDUdlSc6Oprz58+7lt27dxMcHEzv3r2r3W/WrFmMHTuWffv2MXToUMaPH092djYAycnJDB06lK5du7J3717ee+89Fi5cyJw5c1z7T5s2jXXr1rFs2TJ++eUX1q5dy65du9zOMXnyZLZs2cI333zDvn37GDNmDIMHD+b48eOX+JOof7LjtiRJkiRVUGy103bGqno596HZgzDoLv7VrFariYiIAJwPFIwYMYKEhARmzpxZ7X4TJ07k3nvvBWDu3LksWLCAbdu2MXjwYN59912io6N5++23URSF1q1bk5KSwvTp05kxYwZFRUUsXLiQL774gv79+wPw2Wef0bhxY9fxk5KSWLRoEUlJSURFRQEwdepUVq5cyaJFi5g7d25tLku9kUGSJEmSJF3DHnroIQoKCli9ejUqVfU3iDp06OB6bzQa8fPzc03fcfjwYRISEtzGF+rRoweFhYWcO3eOnJwcLBYL3bp1c6UHBQURFxfnWt+/fz92u51WrVq5nddsNl+TI5rLIEmqF1qtlnnz5rne1zRNkq6GquqgrJs3Bm+tmkOzB9XbuS/FnDlzWLVqFdu2bcPX1/ei+S+st4qi4HA4Lumc1SksLEStVrNz585K44j5+PjU2XmuFhkkSfVCp9Mxbdq0S06TpKuhqjoo6+aNQVGUGt3yqm+LFy9m9uzZ/PzzzzRv3vyyj9emTRsWL16MEMLVmrRp0yZ8fX1p3LgxQUFBaLVatm7dSkxMDAA5OTkcO3aMPn36ABAfH4/dbic9PZ1evXpddpnqm+y4LUmSJEnXmAMHDjBhwgSmT59Ou3btSE1NJTU11dUJuzYef/xxzp49y5NPPsmRI0dYtmwZr7zyClOmTEGlUuHj48OkSZOYNm0av/32GwcOHGDixIlut/hatWrF+PHjmTBhAj/88AOJiYls27aN1157jZ9++qnKc6emprJnzx5OnDgBOG/b7dmz57I+T12QQZJUL+x2O9u3b2f79u3Y7fYap0nS1VBVHZR1U2ooduzYQVFREXPmzCEyMtK1jBo1qtbHbNSoEStWrGDbtm107NiRxx57jEmTJvHSSy+58rz++uv06tWLYcOGMWDAAHr27EmXLl3cjrNo0SImTJjAs88+S1xcHCNGjGD79u2u1idP3n//feLj43n44YcB6N27N/Hx8ZWGKLjaFFHT5w2lSmo6i7BUmclkct2fvnB6h+rSJOlqqKoOyrp5/SkpKSExMdHjTPHSta26n21Nv79lS5IkSZIkSZIHMkiSJEmSJEnyQAZJkiRJkiRJHsggSZIkSZIkyQMZJEmSJEmSJHkggyRJkiRJkiQPGv6QotJ1SavV8sorr7je1zRNkq6GquqgrJuSdGOR4yRdBjlOkiRJ0rVNjpN0/ZLjJEmSJEmSJF0hMkiS6oXD4eDgwYMcPHiw0gzU1aVJ0tVQVR2UdVOSKuvbty9PP/10fRfjipBBklQviouLuemmm7jpppsoLi6ucZokXQ1V1UFZNyXpynj00Udp3rw53t7ehIaGMnz4cI4cOVLfxZJBkiRJkiRJ9atLly4sWrSIw4cPs2rVKoQQDBw4sN4nkpZBkiRJkiRdY06fPo2iKJWWvn37VrmPoih8/PHHjBw5EoPBQMuWLVm+fLlbnnXr1nHLLbeg1+uJjIzk+eefx2azudJNJhMTJkzAx8eHyMhI5s+fX+k8ZrOZqVOn0qhRI4xGI926dWPt2rXVfp5HHnmE3r1707RpUzp37sycOXM4e/Ysp0+fvpTLUudkkCRJkiRJFQkBFlP9LDV84Dw6Oprz58+7lt27dxMcHEzv3r2r3W/WrFmMHTuWffv2MXToUMaPH092djYAycnJDB06lK5du7J3717ee+89Fi5cyJw5c1z7T5s2jXXr1rFs2TJ++eUX1q5dy65du9zOMXnyZLZs2cI333zDvn37GDNmDIMHD+b48eM1+mwmk4lFixYRGxtLdHR0jfa5UuQ4SZIkSZJUkbUI5kbVz7n/lgI640WzqdVqIiIiAOej7iNGjCAhIYGZM2dWu9/EiRO59957AZg7dy4LFixg27ZtDB48mHfffZfo6GjefvttFEWhdevWpKSkMH36dGbMmEFRURELFy7kiy++oH///gB89tlnNG7c2HX8pKQkFi1aRFJSElFRzms4depUVq5cyaJFi5g7d26VZXv33Xd57rnnMJlMxMXFsXr1anQ63UWvxZXU4FqS1q9fz7Bhw4iKikJRFJYuXeqWLoRgxowZREZG4u3tzYABA9yi07Vr13psglQUhe3btwNVN1P+8ccfV/OjSpIkSdJle+ihhygoKOCrr75Cpar+a71Dhw6u90ajET8/P9LT0wE4fPgwCQkJKIriytOjRw8KCws5d+4cJ0+exGKx0K1bN1d6UFAQcXFxrvX9+/djt9tp1aoVPj4+rmXdunWcPHmy2rKNHz+e3bt3s27dOlq1asXYsWMpKSm5pGtR1xpcS5LJZKJjx4489NBDjBo1qlL6vHnzWLBgAZ999hmxsbG8/PLLDBo0iEOHDuHl5cWtt97K+fPn3fZ5+eWXWbNmDTfffLPb9l9//ZV27dq51oODg6/Mh5IkSZKuHVqDs0Wnvs59CebMmcOqVavYtm0bvr6+Fz/8BSPFK4pSp8NZFBYWolar2blzJ2q12i3Nx8en2n39/f3x9/enZcuWdO/encDAQJYsWeJq+aoPDS5IGjJkCEOGDPGYJoTgzTff5KWXXmL48OEAfP7554SHh7N06VLGjRuHTqdzNUECWK1Wli1bxpNPPukWHYMzKKqYV7p6tFotU6dOdb2vaZokXQ1V1UFZN28QilKjW171bfHixcyePZuff/6Z5s2bX/bx2rRpw+LFixFCuL4vN23ahK+vL40bNyYoKAitVsvWrVuJiYkBICcnh2PHjtGnTx8A4uPjsdvtpKen06tXr1qXRQiBEAKz2XzZn+uyiAYMEEuWLHGtnzx5UgBi9+7dbvl69+4t/vrXv3o8xvfffy9UKpU4e/asa1tiYqIARHR0tAgNDRU9evQQy5Ytu2h5SkpKRF5enms5e/asAEReXl6tPp8kSZJUv4qLi8WhQ4dEcXFxfRflkuzfv18YDAbx0ksvifPnz7uWrKysKve58DtVCCH8/f3FokWLhBBCnDt3ThgMBvHEE0+Iw4cPi6VLl4qQkBDxyiuvuPI/9thjokmTJmLNmjVi//794q677hI+Pj7iqaeecuUZP368aNq0qVi8eLE4deqU2Lp1q5g7d6743//+57FcJ0+eFHPnzhU7duwQZ86cEZs2bRLDhg0TQUFBIi0trbaXqNqfbV5eXo2+vxtcn6TqpKamAhAeHu62PTw83JV2oYULFzJo0CC3jmU+Pj7Mnz+f//73v/z000/07NmTESNGVHoU8kKvvfaaqznQ39+/3nvdS5IkSTemHTt2UFRUxJw5c4iMjHQtnrqp1FSjRo1YsWIF27Zto2PHjjz22GNMmjSJl156yZXn9ddfp1evXgwbNowBAwbQs2dPunTp4nacRYsWMWHCBJ599lni4uIYMWIE27dvd7U+XcjLy4sNGzYwdOhQWrRowT333IOvry+bN28mLCys1p+nLjToCW4VRWHJkiWMGDECgM2bN9OjRw9SUlKIjIx05Rs7diyKovDtt9+67X/u3DmaNGnCd999x+jRo6s914QJE0hMTGTDhg1V5jGbzW5Nf/n5+URHR8sJbmvB4XCQlJQEQExMjFtnw+rSJOlqqKoOyrp5/ZET3F6/6mKC2wbXJ6k6Zf2H0tLS3IKktLQ0OnXqVCn/okWLCA4O5q677rrosbt168bq1aurzaPX69Hr9ZdWaMmj4uJiYmNjAWdHP6PRWKM0SboaqqqDsm5K0o3lmvozKDY2loiICNasWePalp+fz9atW0lISHDLK4RwNfnVpIPlnj173AIvSZIkSZJubA2uJamwsJATJ0641hMTE9mzZw9BQUHExMTw9NNPM2fOHFq2bOkaAiAqKsp1S67Mb7/9RmJiIn/+858rneOzzz5Dp9MRHx8PwA8//MAnn3zCxx9/fEU/myRJkiRJ144GFyTt2LGDfv36udanTJkCwAMPPMCnn37qGo3zkUceITc3l549e7Jy5cpK9xsXLlzIrbfeSuvWrT2e59VXX+XMmTNoNBpat27Nt99+y913333lPpgkSZIkSdeUBt1xu6GraccvqTKTyeQaWOzCvh3VpUnS1VBVHZR18/ojO25fv+qi4/Y11SdJkiRJkiTpapFBkiRJkiRJkgcNrk+SdGPQaDQ8/vjjrvc1TZOkq6GqOijrpiTdWGSfpMsg+yRJkiRd22SfpOuX7JMkSZIkSVK96tu3L08//XR9F+OKkEGSVC+EEGRkZJCRkcGFjZnVpUnS1VBVHZR1U5KujL59+6Ioitvy2GOP1XexZJ8kqX4UFRW5Ji688FHq6tIk6Wqoqg7KuilJV87DDz/M7NmzXesGg6EeS+MkW5IkSZIk6Rpz+vTpSi0viqLQt2/fKvdRFIWPP/6YkSNHYjAYaNmyJcuXL3fLs27dOm655Rb0ej2RkZE8//zz2Gw2V7rJZGLChAn4+PgQGRnJ/PnzK53HbDYzdepUGjVqhNFopFu3bqxdu/ain8lgMBAREeFaGkJfXxkkSZIkSVIFQgiKrEX1stT0Nm50dDTnz593Lbt37yY4OJjevXtXu9+sWbMYO3Ys+/btY+jQoYwfP57s7GwAkpOTGTp0KF27dmXv3r289957LFy4kDlz5rj2nzZtGuvWrWPZsmX88ssvrF27ll27drmdY/LkyWzZsoVvvvmGffv2MWbMGAYPHszx48erLduXX35JSEgIN910Ey+88AJFRUU1uhZXkrzdJkmSJEkVFNuK6fZVt3o599b7tmLQXvw2k1qtJiIiAnA+xTVixAgSEhKYOXNmtftNnDiRe++9F4C5c+eyYMECtm3bxuDBg3n33XeJjo7m7bffRlEUWrduTUpKCtOnT2fGjBkUFRWxcOFCvvjiC/r37w8450Jt3Lix6/hJSUksWrSIpKQkoqKiAJg6dSorV65k0aJFzJ0712O57rvvPpo0aUJUVBT79u1j+vTpHD16lB9++OGi1+JKkkGSJEmSJF3DHnroIQoKCli9ejUqVfU3iDp06OB6bzQa8fPzIz09HYDDhw+TkJCAoiiuPD169KCwsJBz586Rk5ODxWKhW7fyADIoKIi4uDjX+v79+7Hb7bRq1crtvGazmeDg4CrL9cgjj7jet2/fnsjISPr378/Jkydp3rz5Ra7AlSODJEmSJEmqwFvjzdb7ttbbuS/FnDlzWLVqFdu2bcPX1/ei+bVardu6oig4HI5LOmd1CgsLUavV7Ny5E7Va7ZZWNu9hTZQFYidOnJBBkiRJkiQ1FIqi1OiWV31bvHgxs2fP5ueff66TQKJNmzYsXrwYIYSrNWnTpk34+vrSuHFjgoKC0Gq1bN26lZiYGABycnI4duwYffr0ASA+Ph673U56ejq9evWqdVn27NkDQGRk5OV9qMskgySpXmg0Gh544AHX+5qmSdLVUFUdlHVTaigOHDjAhAkTmD59Ou3atSM1NRUAnU5HUFBQrY75+OOP8+abb/Lkk08yefJkjh49yiuvvMKUKVNQqVT4+PgwadIkpk2bRnBwMGFhYbz44otut/hatWrF+PHjmTBhAvPnzyc+Pp6MjAzWrFlDhw4duOOOOyqd9+TJk3z11VcMHTqU4OBg9u3bxzPPPEPv3r3dbg/WCyHVWl5engBEXl5efRdFkiRJqoXi4mJx6NAhUVxcXN9FuSSLFi0SQKWlT58+Ve4DiCVLlrht8/f3F4sWLXKtr127VnTt2lXodDoREREhpk+fLqxWqyu9oKBA3H///cJgMIjw8HAxb9480adPH/HUU0+58lgsFjFjxgzRtGlTodVqRWRkpBg5cqTYt2+fx3IlJSWJ3r17i6CgIKHX60WLFi3EtGnTLvu7tbqfbU2/v+XcbZdBzt0mSZJ0bZNzt12/6mLuNtleLNULIYRrDAyDweD2NEV1aZJ0NVRVB2XdlKQbixxMUqoXRUVF+Pj44OPjU2nAsOrSJOlqqKoOyropSTcWGSRJkiRJkiR5IIMkSZIkSZIkD2SQJEmSJEmS5IEMkiRJkiRJkjyQQZIkSZIkSZIHMkiSJEmSJEnyQI6TJNULtVrN3Xff7Xpf0zRJuhqqqoOybkrSjUWOuH0Z5IjbkiRJ1zY54vbl69u3L506deLNN9+s76K4qYsRt+XtNkmSJEmS6lVqaip/+tOfiIiIwGg00rlzZxYvXlzfxZJBkiRJkiRJ9WvChAkcPXqU5cuXs3//fkaNGsXYsWPZvXt3vZZLBklSvTCZTCiKgqIomEymGqdJ0tVQVR2UdVNqKE6fPu2qixWXvn37VrmPoih8/PHHjBw5EoPBQMuWLVm+fLlbnnXr1nHLLbeg1+uJjIzk+eefx2azudJNJhMTJkzAx8eHyMhI5s+fX+k8ZrOZqVOn0qhRI4xGI926dWPt2rXVfp7Nmzfz5JNPcsstt9CsWTNeeuklAgIC2Llz5yVdl7omgyRJkiRJqkAIgaOoqF6WmnYTjo6O5vz5865l9+7dBAcH07t372r3mzVrFmPHjmXfvn0MHTqU8ePHk52dDUBycjJDhw6la9eu7N27l/fee4+FCxcyZ84c1/7Tpk1j3bp1LFu2jF9++YW1a9eya9cut3NMnjyZLVu28M0337Bv3z7GjBnD4MGDOX78eJXluvXWW/n222/Jzs7G4XDwzTffUFJSUm3QdzXIp9skSZIkqQJRXMzRzl3q5dxxu3aiGAwXzadWq4mIiACcHZRHjBhBQkICM2fOrHa/iRMncu+99wIwd+5cFixYwLZt2xg8eDDvvvsu0dHRvP322yiKQuvWrUlJSWH69OnMmDGDoqIiFi5cyBdffEH//v0B+Oyzz2jcuLHr+ElJSSxatIikpCSioqIAmDp1KitXrmTRokXMnTvXY7m+++477rnnHoKDg9FoNBgMBpYsWUKLFi0uei2uJBkkSZIkSdI17KGHHqKgoIDVq1ejUlV/g6hDhw6u90ajET8/P9LT0wE4fPgwCQkJKIriytOjRw8KCws5d+4cOTk5WCwWunXr5koPCgoiLi7Otb5//37sdjutWrVyO6/ZbCY4OLjKcr388svk5uby66+/EhISwtKlSxk7diwbNmygffv2NbsQV4AMkiRJkiSpAsXbm7hd9dMXRvH2vqT8c+bMYdWqVWzbtg1fX9+L5tdqte7nUxQcDsclnbM6hYWFqNVqdu7cWWksMR8fH4/7nDx5krfffpsDBw7Qrl07ADp27MiGDRt45513eP/99+usfJeqwfVJWr9+PcOGDSMqKgpFUVi6dKlbuhCCGTNmEBkZibe3NwMGDKh0n7Np06aVOrP9/e9/d8uzb98+evXqhZeXF9HR0cybN+9KfzRJkiTpGqAoCiqDoV6Wiq04F7N48WJmz57Nd999R/PmzS/7c7dp04YtW7a49YvatGkTvr6+NG7cmObNm6PVatm6dasrPScnh2PHjrnW4+PjsdvtpKen06JFC7el7PbghYqKigAqtYKp1eo6DeBqo8EFSSaTiY4dO/LOO+94TJ83bx4LFizg/fffZ+vWrRiNRgYNGkRJSYlbvtmzZ7t1anvyySddafn5+QwcOJAmTZqwc+dOXn/9dWbOnMmHH354RT+bJEmSJNWFAwcOMGHCBKZPn067du1ITU0lNTXV1Qm7Nh5//HHOnj3Lk08+yZEjR1i2bBmvvPIKU6ZMQaVS4ePjw6RJk5g2bRq//fYbBw4cYOLEiW7BTatWrRg/fjwTJkzghx9+IDExkW3btvHaa6/x008/eTxv69atadGiBY8++ijbtm3j5MmTzJ8/n9WrVzNixIhaf5660OButw0ZMoQhQ4Z4TBNC8Oabb/LSSy8xfPhwAD7//HPCw8NZunQp48aNc+X19fWtMmr98ssvsVgsfPLJJ+h0Otq1a8eePXv417/+xSOPPFL3H0qqRK1WM3ToUNf7mqZJ0tVQVR2UdVNqKHbs2EFRURFz5sxxe/qsT58+F33cviqNGjVixYoVTJs2jY4dOxIUFMSkSZN46aWXXHlef/11CgsLGTZsGL6+vjz77LPk5eW5HWfRokXMmTOHZ599luTkZEJCQujevTt33nmnx/NqtVpWrFjB888/z7BhwygsLKRFixZ89tlnrn9v9aVBT0uiKApLlixxRZKnTp2iefPm7N69m06dOrny9enTh06dOvHWW28BztttJSUlWK1WYmJiuO+++3jmmWfQaJwx4YQJE8jPz3e7lff7779z2223kZ2dTWBgoMfymM1mzGazaz0/P5/o6Gg5LYkkSdI1Sk5Lcv2qi2lJGlxLUnVSU1MBCA8Pd9seHh7uSgP461//SufOnQkKCmLz5s288MILnD9/nn/961+u48TGxlY6RllaVUHSa6+9xqxZs+rs80iSJEmS1HBdU0FSTU2ZMsX1vkOHDuh0Oh599FFee+019Hp9rY/7wgsvuB27rCVJkiRJkqTrT4PruF2dsj5GaWlpbtvT0tKq7H8E0K1bN2w2G6dPn3Ydx9MxKp7DE71ej5+fn9si1Y7JZMJoNGI0Gj1OS1JVmiRdDVXVQVk3JenGck0FSbGxsURERLBmzRrXtvz8fLZu3UpCQkKV++3ZsweVSkVYWBgACQkJrF+/HqvV6sqzevVq4uLiqrzVJtW9oqIi16Ofl5ImSVdDVXVQ1k1JunE0uNtthYWFnDhxwrWemJjInj17CAoKIiYmhqeffpo5c+bQsmVLYmNjefnll4mKinJ17t6yZQtbt26lX79++Pr6smXLFp555hnuv/9+VwB03333MWvWLCZNmsT06dM5cOAAb731Fm+88UZ9fGRJkiRJkhqgBhck7dixg379+rnWy/oAPfDAA3z66ac899xzmEwmHnnkEXJzc+nZsycrV6509VzX6/V88803zJw5E7PZTGxsLM8884xbXyJ/f39++eUXnnjiCbp06UJISAgzZsyQj/9LkiRJkuTSoIcAaOhq+gihVJnJZHINUV9YWIjRaKxRmiRdDVXVQVk3rz9yCIDrV10MAXBN9UmSJEmSJEm6WmSQJEmSJEmS5EGD65Mk3RhUKhV9+vRxva9pmiRdDVXVQVk3Jamyvn370qlTJ9588836Lkqdk0GSVC+8vb2rnF+oujRJuhqqqoOybkrSlfHhhx/y1VdfsWvXLgoKCsjJySEgIMAtT3Z2Nk8++SQ//vgjKpWK0aNH89Zbb7n6CV4J8k8hSZIkSZLqVVFREYMHD+Zvf/tblXnGjx/PwYMHWb16Nf/73/9Yv379FX8qXQZJkiRJknSNOX36NIqiVFr69u1b5T6KovDxxx8zcuRIDAYDLVu2ZPny5W551q1bxy233IJerycyMpLnn38em83mSjeZTEyYMAEfHx8iIyOZP39+pfOYzWamTp1Ko0aNMBqNdOvW7aItsE8//TTPP/883bt395h++PBhVq5cyccff0y3bt3o2bMn//73v/nmm29ISUmp9tiXQwZJUr0wmUyEhoYSGhrqcVqSqtIk6Wqoqg7KunljEEJgNdvrZanpqDzR0dGcP3/etezevZvg4GB69+5d7X6zZs1i7Nix7Nu3j6FDhzJ+/Hiys7MBSE5OZujQoXTt2pW9e/fy3nvvsXDhQubMmePaf9q0aaxbt45ly5bxyy+/sHbtWnbt2uV2jsmTJ7Nlyxa++eYb9u3bx5gxYxg8eDDHjx+/xJ9EuS1bthAQEMDNN9/s2jZgwABUKhVbt26t9XEvRvZJkupNZmZmrdIk6Wqoqg7Kunn9s1kcfPjUuno59yNv9UGrV180n1qtds01WlJSwogRI0hISGDmzJnV7jdx4kTuvfdeAObOncuCBQvYtm0bgwcP5t133yU6Opq3334bRVFo3bo1KSkpTJ8+nRkzZlBUVMTChQv54osv6N+/PwCfffYZjRs3dh0/KSmJRYsWkZSURFRUFABTp05l5cqVLFq0iLlz59bmspCamuqaWqyMRqMhKCiI1NTUWh2zJmSQJEmSJEnXsIceeoiCggJWr1590acuO3To4HpvNBrx8/MjPT0dcN7SSkhIQFEUV54ePXpQWFjIuXPnyMnJwWKx0K1bN1d6UFAQcXFxrvX9+/djt9tp1aqV23nNZjPBwcGX9TnrgwySJEmSJKkCjU7FI2/1qbdzX4o5c+awatUqtm3bhq+v70Xza7Vat3VFUXA4HJd0zuoUFhaiVqvZuXMnarV7i9jlPIUWERHhCubK2Gw2srOzXS1qV4IMkiRJkiSpAkVRanTLq74tXryY2bNn8/PPP9O8efPLPl6bNm1YvHgxQghXa9KmTZvw9fWlcePGBAUFodVq2bp1KzExMQDk5ORw7Ngx1/hh8fHx2O120tPT6dWr12WXqUxCQgK5ubns3LmTLl26APDbb7/hcDjcWrbqmuy4LUmSJEnXmAMHDjBhwgSmT59Ou3btSE1NJTU11dUJuzYef/xxzp49y5NPPsmRI0dYtmwZr7zyClOmTEGlUuHj48OkSZOYNm0av/32GwcOHGDixIlut/hatWrF+PHjmTBhAj/88AOJiYls27aN1157jZ9++qnKc6emprJnzx5OnDgBOG/b7dmzx/V52rRpw+DBg3n44YfZtm0bmzZtYvLkyYwbN87V9+lKkEGSJEmSJF1jduzYQVFREXPmzCEyMtK1jBo1qtbHbNSoEStWrGDbtm107NiRxx57jEmTJvHSSy+58rz++uv06tWLYcOGMWDAAHr27Olq2SmzaNEiJkyYwLPPPktcXBwjRoxg+/btrtYnT95//33i4+N5+OGHAejduzfx8fFuQxR8+eWXtG7dmv79+zN06FB69uzJhx9+WOvPWxOKqOnzhlIlNZ1FWKqsuLjY9ajq+vXr8fb2rlGaJF0NVdVBWTevP9XNFC9d26r72db0+7tWfZJOnTrFb7/9xqZNmzh37hyZmZkYDAZCQ0Np3749ffr0oXfv3uh0utocXroBeHt7s3379ktOk6Sroao6KOumJN1YahwkCSH45ptveP/999m4caNr24WWL1/O3LlzCQwMZOLEiTzxxBPExsbWXYklSZIkSZKughr1SVq5ciUdO3Zk/PjxHD58mEmTJvHxxx+zd+9eUlNTsVgs5OXlkZiYyMqVK5k5cyZt2rThjTfeoE2bNkyZMoWcnJwr/VkkSZIkSZLqTI1akso6SC1fvpzBgwej0VTezdfXF19fX5o0acLAgQN5+eWXOXPmDB999BFvv/02AQEBzJgxo84/gHRtKioqom3btgAcOnQIg8FQozRJuhqqqoOybkrSjaVGQdLq1atdQ5BfiiZNmjBnzhymTp1KYmLiJe8vXb+EEJw5c8b1vqZpknQ1VFUHZd28fsmf5/WnLn6mNbrdVpsACXBNABkQEEB8fHytjiFJkiRJV0rZCNRFRUX1XBKprpX9TC8cZfxS1Ljj9rJlyxg+fHiND2wymRgyZAjr16+vVcEkSZIk6UpTq9UEBAS4prwwGAxuc5dJ1x4hBEVFRaSnpxMQEFBpepRLUeMg6d577+Xnn392DT1eneLiYoYOHcqmTZtqXTBJkiRJuhrK5v66cG4w6doWEBBw2fO61ThI0ul0jBgxgt9++63aW2fFxcXccccdbNiwgREjRlxW4SRJkiTpSlMUhcjISMLCwrBarfVdHKkOaLXay2pBKlPjIOnHH39k8ODBDBkyhA0bNtCyZctKeUpKSrjrrrtYu3Ytw4YN47vvvrvsAkqSJEnS1aBWq+vki1W6ftQ4SOrVqxfffvsto0aNYuDAgWzatMltUjmz2cyIESNYs2YNQ4cO5fvvv/c4VIAkgfMvt7JHqS+8/19dmiRdDVXVQVk3JenGcslzt3355ZdMmDCB1q1bs2HDBoKCgrBYLIwYMYKVK1cyePBgli1bdlm9ya8Vcu62a5jdCpnHIe8c5J11vhamgbUY7Bbn4rCDzgBaI+iMoPcF3wjwiwLfKOerTzio5R8DkiRJ15IrNnfb+PHjyc7O5qmnnmLIkCH8/PPP/OlPf2LlypXcfvvtLF269IYIkKRrjN0GpzfA6Y1wdisk7wRrHTzyq9JCcHMIaVW+hLaC0NaglZOfSpIkXctq9Sfwk08+SXZ2NrNmzaJZs2bk5+dz2223sWzZMjmprdSwJO+CPV/CwaVQlOmepvOFoKbg1xj8G4NfJGgNoNaBRg+KyhlIWUxgKYKSPCg471zyU5yvDitkHHEuFSlqCI2DyI7lS0R7Z2uUJEmSdE245NttFT399NMsWLCAvn37smLFCry8vOqybA2evN1We0VFRXTt2hWA7du3V5qWpKq0GhECTqyBTW86W4/KGEKg5e0Q3Q1iukNIHKhqNJ6qZw4H5J+DzGOQccz5mnnMGTAVZXneJ7gFRMVDoy7OJaK9bHFqgKqqg5ddNyVJahBq+v1d4yCpql8GZrMZrVaLysOXjaIorlG3r0cySKo9k8mEj48PAIWFhRiNxhqlXVTaQfh5enlwpNJAu5HQcRzE9r06/YeEcLYynd/rvuQnV86r0kBY2/KgqVEXZwuUSj5hU5+qqoOXVTclSWow6rxPUlhYmHyaQ2q4bBb4fQ5s/jcIB2i8oOufofvj4N/okg/ncAjSC8wk5xaTnl9Cic2O2erAbHNgtTvQaVQYdRqMejVGvQaDTkOoj54Ify90GpWzU7dfFMQNKT+oKRNS9kDKLmefqOSdYMqA1H3OZeciZz6tsbS1qUKLk380yH9/kiRJV1WNg6TTp09fwWJI0mXIPA7fP+QMNADa3AUD50BgkxrtbrU7OJSSz44zOew8k83BlHxScoux2i/9TrSiQIiPnih/LyL9vYkK8CY6yJuWYb60DPchrEV/lJYDnJmFcD5VVxYwJe+C83vAUghnNjqXMsbQ8oApqjM06gyGoEsunyRJklRz8tll6dp24lf474NgzgfvIBj+NrS+46K7FVlsrD6Uxor951l/LJNiq71SHrVKIcLPi0h/L7x1avQaNXqNCq1awWJ3UGi2YzLbMJltFJptpBeYsdgcZBSYySgws/dcXqVj+nppaBHmQ8swH1qG+dIi3Ie20YMJazvc2VLrsDv7NbkCp53OW4imDDi20rmUCYytcJuuM0R0cA5ZIEmSJNWJBhckrV+/ntdff52dO3dy/vx5lixZ4ja9iRCCV155hY8++ojc3Fx69OjBe++95xoB/PTp07z66qv89ttvpKamEhUVxf3338+LL77oevLu9OnTxMbGVjr3li1b6N69+1X5nFId2LEIfprivL0WcyuMWeQcx6gaSVlFLNx4ih92JVNgtrm2+3lp6NIkkJubBhEfHUCTECPhvno06pp37BZCkG2ykJJbQkpeMedzi0nJKyEx08TJ9EJOZ5koKLGxOymX3Um5bvuG+OhoG+XPTVF+tIsKoF30SGI6jkelUsBaAqn73QOn7JOQk+hcDnzvPIiihvC27i1Ooa3lOE6SJEm1VKPfnn//+9/561//WusnOf744w+ysrK4446L/4VvMpno2LEjDz30EKNGjaqUPm/ePBYsWMBnn31GbGwsL7/8MoMGDeLQoUN4eXlx5MgRHA4HH3zwAS1atODAgQM8/PDDmEwm/vnPf7od69dff6Vdu3au9eDg4Fp9PqkebP0Afn7O+b7TeLjzTdBUPfxEal4Jr686ytI9ydgdzttoMUEG7uoYxeCbImgb6ecMSC6DoigE++gJ9tHTvrF/pXSzzU5ipokT6YUcTyvkRHohx9IKOJlRSGahhfXHMlh/LMOV30evoW2UH+2i/GgXFUm7JvfRousjaNUqKM6BlN3lt+mSdzoHw0zd71x2fuo8iNYAkZ2cLU1lLU4BTWT/JkmSpBqo0dNtPj4+GI1GHn/8ce6//36aN29+0QNbLBaWL1/ORx99xK+//sq8efN49tlnL61wiuLWkiSEICoqimeffZapU6cCkJeXR3h4OJ9++injxo3zeJzXX3+d9957j1OnTgHlLUm7d++mU6dOl1SmiuTTbbVXVFTkmt7h0KFDlYYAqCoNgB2fwP+ecb7v8RQMmFXll77V7uDTTad589djmCzOW2p9WoUyqWcsPVuEXHZgVBeKLXaOpOZzMKVsyeNIagEWm6NSXp1GResIX9pF+dE2yp92UX60ifDDW6tyjt1UsbUpZQ9YCiqf0BAM4Tc5n6oLawPh7ZxP1MkxnFyqqoMXrZuSJF0T6vTptmPHjvHiiy/y6quvMnv2bDp16kT37t3p0qUL4eHhBAQEUFJSQnZ2NkePHmXr1q1s3LiR/Px8mjZtytdff83YsWMv+0MlJiaSmprKgAEDXNv8/f3p1q0bW7ZsqTJIysvLIyiocifXu+66i5KSElq1asVzzz3HXXfdVe35zWYzZrPZtZ6fn1/LTyIZDIYqHwaoLo1jv8BPpcF2zynQf0aVAVJiponJX+3iYIrz5xQfE8DMYe3oGB1weYWvY946NfExgcTHBLq2We0OTmYUciDZGTQdTMnnUEo+hWYb+87lse9cHnAWAJUCsSFG2kb50zayHe2aJNA2wY8QgxayjrsHTqkHnGM4Ja5zLhUFxJQHTmWvIa2cA2veYKqqg9XWTUmSrjuXNJjkiRMn+OCDD/j888/JyMjwOCSAEAKVSkWfPn147LHHGDlyZK0nur2wJWnz5s306NGDlJQUIiMjXfnGjh2Loih8++23HsvcpUsX/vnPf/Lwww8DkJmZyeeff06PHj1QqVQsXryYefPmsXTp0moDpZkzZzJr1qxK22VL0lVyfi98MgSsJucttuHvVBkg/W9fCs8v3k+h2UagQcvzQ1ozpkt0g2g5qi2HQ5CUXeRqbTqQks/h8/lkFJg95g/z1dM2yo+2kX60i/KnbZQfTfxUqDIOQdohSD8M6aWvhameT6qondOuVAycQltDYNMbMniSJOn6UOeDSVYkhGD//v1s2rSJc+fOkZWVhbe3N6GhobRv355evXoREBBwOeV3Fu4yg6Tk5GT69OlD3759+fjjj6s914QJE0hMTGTDhg1V5vHUkhQdHS2DpKuhOBfe7+mcjDa2D4z/3mMfJCEEb/56nLfWHAfgltgg/n1vPOF+1+9o8OkFJRxKyefQ+XzXa2KmCU//so06Na0j/WgV7kurcJ/yoQnUJpSMI+VBU/phSD/onIrFE0Xl7NsU3AJCWjoDqeCWznW/KNnnSZKkBu2KTXALzuClQ4cOdOjQodYFrI2ICOeTS2lpaW5BUlpaWqW+RSkpKfTr149bb72VDz/88KLH7tatG6tXr642j16vR6+Xfz3XheLiYnr37g04n2j09vbGZDWhoKDYFPc0Ly/nU2x5Z52PvY/93GOAZHcIZiw7wJdbkwB4rE9zpg5sdUlPqF2Lwny9CIvzom9cmGubyWzjSGpBeeBU2s/JZLGz80wOO8/kuB3D10tTOixBN1qG96dlK19ahhqJVOeiuIKm0panzOPOvk5lT9eduODfjdbgDJqCmjvHqgps6lwCmjgHxaymg31D4al+VrddkqTr0zX1bHBsbCwRERGsWbPGFRTl5+ezdetW/vKXv7jyJScn069fP7p06cKiRYs8TplyoT179rgFXtKV5XA42LFjh+v9hnMbeHads6/Rqze/6pbGvu/gwGLnrZ/RH4N3gIfjCab9dy8/7E5GUWD28Jv4U/eaDSZ5PTLqnUMadGlS3s/JZneQmGni0Pl8jqcVcjy9gONp5UMT7ErKZdcFQxP46DU0D/OhZVgvWoUPoWVrX5qFGGikLUCTc9IZMGWdKF9yTjsnBS57yu5Ciso5oXBgE+cS0LR8dHK/Rs5JhhtAB/IL6+fFtkuSdH1qcEFSYWEhJ06ccK0nJiayZ88egoKCiImJ4emnn2bOnDm0bNnSNQRAVFSU65ZccnIyffv2pUmTJvzzn/8kI6P8keqylqjPPvsMnU5HfHw8AD/88AOffPLJRW/JSVeG3WFn7ta5FNuKAXh1bYWnIHPOlHfU7vsCNL650v5CCGb/7xA/7E5GrVJ4a1wn7uwQdTWKfk3RqFW0DPelZbh7EFI2NIEzcCrkeFoBx9MLOZ1potBsY+/ZXPaezXXbR6tWiA40EBtyE01DutG0mZHYrkaaBmqJEumosk9AdqIzaMo943zNOQ22EshLci6nq7i1rfdzBk2+kc5XYygYQ5yvhpDS9yHO99rr9zaqJEn1r8EFSTt27KBfv36u9SlTpgDwwAMP8Omnn/Lcc89hMpl45JFHyM3NpWfPnqxcuRIvL+cvy9WrV3PixAlOnDhB48aN3Y5dsfvVq6++ypkzZ9BoNLRu3Zpvv/2Wu++++yp8QulCh7IOca7wHF4OBwYhyKzYn2X5k85bOzEJ0GuKx/3fXXuSTzefBmD+mI4yQLpEeo2a1hF+tI5wvy9vsTk4k2XiWFmrU2kAdTqrCIvNwalME6cyK09grdeoaBJsICboFhoH9qFxtDeNO3jTOMCbaF0+fiUpKDmlgVNuEhSkOIcvyE9xjpxuzoeMfMg4cvHC63zBGFwhgAp2DnHg5V+6BFR4X2HReMl+U5IkXVStOm5LTnKcpNqrOJv6G1veYOHRhQwsNBFniOQtay6HHj0EQOELvhh9/eGxjR7nYlt9KI2HP3fe/pg5rC0Tbm1Csa2YAksBJqsJh3CgVqnRqrT46/3x1frKiZovk8MhSMkr5nRmEYlZJk5nOpfELBNJWUXYHNX/SjHq1IT5eRFs1BFk1DkH4DTqCPbREaK1EOTIItCWgZ81A6M5A70lG705G1VxJoopC4oyndO0OGzVnqdaal15wKT3A72PM+DS+4DOB5NDh8/wfwDO1m2j0Qi419uK2yVJurZc0Y7bklSXjmcdA6CT2cKt/afx1voX3TMMe9NjgLQl6ThTfvoOfXgSjcMK+SY1izf+cx6HqLqviFpR46/3J8oYRWPfxkT7RhPtG03LwJa0CGiBl0bevrkYlUqhcaCBxoEGerYMcUuz2R0k5xaTmGnibE4x53KKSM4p5lxOMcm5xWQUmDFZnLf3Ej20QpXTAJGlS+kWlYKPlwYfvQYfXzVBmhJCVfkEKwWEKPkEijwCRB6+FGJ0mDCIQgz2QrzshXjZC9DZCtBaC1HhALvFGWiZMjyf3iL/dpQkSQZJUgNwPOsgAK0UL5q1vJOYXe9zCGdLEj2egZtGA87bpYezD7Pi1Ap+TfqV5MJkCAMdkG4DCsuPqVE0GHVG1Ioam8OG1WGl2FaMXdjJLskmuySbA1kH3MqhUlQ09WtKXFAcnUI7ER8WT6vAVqhV6qtwFa4PGrWKJsFGmgR7bmEpsdpJyS0ms9BCVqGZLJOFrEILWSYzWYUW8kusFJQ4JwwuLCmdPNhiQwiwOQS5RVZyi6wVjmgoXcJrVD4FB0ZK8KMIP6UIP0z4KUUYKcaomDFSjI9SQmfHXmD35V4OSZKucTJIkupNSIizFSK5JBOVXkXL8HgUtYZejXuz2vdX9Cod9H0Oq93KytMr+ezgZxzNOeraXwgVKktjRrfryU2hrWji14Ro32j89f7o1fpKt9Usdgu55lxySnI4V3iOcwXnOFtwljP5ZziWc4zskmxO5Z3iVN4pfk78GQCj1kiHkA7Eh8fTOawzHUM7ytamy+ClVdMs1IdmoTXfx+EQFFntFJbYKDRbKTTbMZltlFjtmG2OSq9mq4MSm73Sq8XmwGZ3YLULrHYHVruDEocg3+bA5hBuacUFEGLYg02pPFxBWb2VJOn6d1lBksVi4ddff+XIkSOYTCZefvllAEpKSsjPzyckJKRGj99LNx6j0UhGRgaJeYnctfQujA4HQRGdAOjfsj9f//trfLW+fHHiC7479h3pRekA6NV6OgTdyvrdjbEVtuDD+29lYLuIGp1Tp9YRZggjzBBGXFCcW5oQgsziTI5kH+Fg1kH2pO9hb8ZeCq2FbDm/hS3nt7jO3zmsMwlRCdwadSstA1uiUmQdv5JUKsV5i02vAa5OgLrx07U8P82XXYGD3fodldVbSZJuDLUOkpYvX84jjzxCRkYGQggURXEFSfv27SMhIYH//Oc/3HfffXVWWOn6k1aUBkC4zQ4RNwHQOawzId4hZBZn8vaetwEI8Q5hfJvxjGx+N+Pe34utoJAxXRrXOEC6GEVRCDWEEmoIpVfjXoBzaIITuSfYnb6b3em72ZG6g/TidFfQ9K+d/yLIK4jukd1dQVOYIewiZ5KuCWotAMrldA6XJOmaV6sgadOmTdx9991ERkby1ltv8ccff/D111+70m+55RZatGjB4sWLZZAkVSvNVBok2W0Q4mzd0aq1LOi3gH/u+CcalYZhzYcxNHYoOrWOjzec4nh6IYEGLS/e0eaKlk2tUhMXFEdcUBzjWo9DCMGpvFNsSXEGSdtTt5Ndks2KxBWsSFwBQKvAVvRo1IMeUT2ID4tHp274o0tLHqicvxpVMkiSpBtarYKkV199lYCAAHbu3ElISAhZWVmV8tx8881s3br1sgsoXZ+Ki4sZMmQIKQXn0D6md7Yk+Td2pT055kkAfv75Z9fUD+n5Jbz5q3NOtumDWxNguLoBiKIoNA9oTvOA5tzf9n6sdit7MvY4g6aULRzMOsixnGMcyznGogOL8NZ40y2imytoivaLvqrllWrPbIO+n5owqTey/vFit2lJhgwZArjXTUmSrk+1CpK2bt3K3XffXW0HxujoaJYtW1brgknXN4fDwbp16wBoK9oSrmidY9RckFZx6oe//3yEQrONjtEBjL25/gMOrVpL14iudI3oyl87/5Wckhz+OP8HG5M3sil5E1klWaw9t5a159YCEOMbQ49GPejZqCc3h9+MQWuo3w8gVcmhqFl3xg5kV5qWxFPdlCTp+lSrIMlsNl908MTc3FzZaVuqsWCdf7XpJ9ILWbInGYDZd7VDpWp4A0IGegUyJHYIQ2KH4BAOjuUcY2PyRjanbGZ32m6SCpJIOpLE10e+RqvS0jm8Mz2jetKjUQ9aBLSQg1w2JKV9kiRJurHVKkhq1qwZ27dvrzbPli1baN26da0KJd14/L2rf6z6vbUnEQJubxtOx+iAq1Ooy6BSVLQOak3roNb8uf2fKbQUsi11G5uSN7EpZRPJhclsPb+Vree3Mn/nfMIMYfSI6kGPRj3oHtkdf331QaN0ZSmyL5kkSdQySBo9ejRz5sxh0aJFPPjgg5XS//nPf3LgwAHmzZt32QWUbgz+hqoHzjmbXcTS0lakyf1aXK0i1SkfnQ+3xdzGbTG3IYTgTP4ZNqVsYmPyRudTc0XpLDmxhCUnlqBSVHQI6cCtjW6lZ1RP2ga3lQNaXmWKWg4hJ0lSLYOkadOmsXjxYv785z/z1VdfYTabAXjuuefYsmULmzdvplOnTkyePLlOCytdv6oLkt5fdxK7Q9CrZcg10Yp0MYqi0NS/KU39mzK+zXjMdjM703Y6W5mSN3Ey7yR7MvawJ2MP7+55lwB9AF0junJz+M10Ce8ix2a6ChSNvN0mSdJlTHCbk5PD5MmT+e6777Db7eUHVBTGjh3Lu+++S2BgYJ0VtCGSE9zWXsWJQnvOa8PHqwLQ+UXS6M03sAYHu9JOJmcy+J1tWOwOvns0gVtig+qz2FfF+cLzbErZxOaUzWxJ2UKhtdAt3U/nR+fwztwcfjM3h99MXFAcGpVs+ahLvy3/jP7DJwJygltJuh5d8QluAwMD+fLLL1mwYAHbt28nOzsbPz8/unbtSnh4zeZRkm5sBoOBYlsxozc7cJzLoYQcUmfNJnjBWxgMzie/PtmUiMXu4JamQTdEgAQQ6RPJ3a3u5u5Wd2N1WDmQeYDtqdvZmbaT3em7ybfks/bsWtaeXQs4p07pFNbJFTS1C26HVnY8viwqlRaDFgSVO9OX1U1Jkq5/tQqSbrvtNnr06MGrr75KcHAwgwcPrutySdc5o9FIUmYSfb/tQ7cF5S2Rpk2biMjKwmQykVVopsc/fgNg8m3XZl+ky6VVaYkPiyc+LB4Aq8PKkawj7Ejbwc60nexK20WBtcB1qw7AS+3FTSE30T60PR1COtA+pD3hRvmHy6Uw+Phi+psfyepGlaYlMZlM9VgySZKuplqPk9S9e/e6Lot0gymwFNAoCwKKQNHr8O4UT9HWreT/vJKQRx9h4cZESqwOOjb2p1dLOakoOIOm9qHtaR/angdvehC7w87x3OPsTNvJjlRn4JRjzmFH2g52pO1w7RduCKdDqDNgah/SntZBrfHR+dTjJ2nYlNKWOLWwXySnJEnXs1oFSa1bt+bMmTN1XRbpBlNkK6JxprNLnL55U3wHDaRo61ZMmzah/dOD/GeLs4490U+OIVQVtUrtGmpgfJvxrqlT9mbsZV/GPvZn7udE7gnSitJYfWY1q8+sdu3b2Kexa9qVuEDna5QxSl5rQFUWJCGnJZGkG1mtgqQnn3ySyZMnc+jQIdq2bVvXZZJuACUlJTwy9mFSTyQxWR+FX5Om+PToQRqQs3MHA3v242yemR6PzWVAG3mrqKYqTp0yquUoAIqsRRzMOsj+zP3sz9jP/sz9pBWlca7wHOcKz7EmaY1rf1+tL62CWrmCprigOFoEtECv1tfXR6oXVrvgjq+KsJLC8udK8PLyApz1dvTo0QAsXrzYtV2SpOtTrQeT7Nu3L927d+fRRx91ddb29Bdo7969L7uQ0vXHbrez6bfNzvctQde0GdqYGFSRkdiTkzl2yNm/5qnbmjfI0bWvJQatwTV9SpncklyO5hzlSPYRjuUc42j2UU7mnaTAWsDOtJ3sTNvpyqtW1DT1a+oWNDXzb0aUT9R1OxSBUNSsOG4DbG5P79rtdlasWOF6L0nS9a1WQVLfvn1RFAUhBPPnz6+2eV7+IpFqQhMRid0h2GVsRCuSXdv7tZatSFdCgFcA3SK70S2ym2ub1W7lVN4pjuYc5Wh26ZJzlFxzLifzTnIy7yQrEle48uvVepr6NaWZfzNi/WOJDYilmX8zmvg1ueZbnhSNHHFbkqRaBkkzZsyQ/RakOqUOCuSrbUns9oqkVX0X5galVWtdrUU0d24TQpBelF4eOOUc5WTuSc7kn8FsNzu35xx1O45KUdHIpxFN/ZoS4xdDtG800b7RxPjG0Min0TUxPIFKI8edkiSplkHSzJkz67gY0o1OFRDIR7+fwi8wpr6LIlWgKArhxnDCjeH0blx+69zmsJFcmExiXiKn8k5xKvcUifmJJOYmUmAt4GzBWc4WnKVCoyDgDKAijZE09m1MjK8zgIr0iSTS6FxCvEMaxC08tZy7TZIkLmMwSUmqS3sLFM5mFxMSHgNqOU9ZQ6dRaWji14Qmfk3oG93XtV0IQWZxJqfyTpFUkMTZfGewlFSQxNmCsxTbikkuTHZN8OvpuBGGCFfgFGGMINQ7lFDvUIK9gwk1hBLsFYyX5sp2mFa0FY5vt17Rc0mS1HDJIElqEFYlO+f/G3xzLPo9zeHI4XoukVQbiqIQaggl1BDq1t8JnAFUVkkWSflJrsDpXME5Uk2pnDedJ60oDZvD5nrqrjq+Wl9CDCGEeLsvod6hBHoFEqAPwF/vT4A+AB+tzyV3D1DrvctXrEVAwCXtL0nS9aFWQZJKparRLx1FUbDZ5DgjUvUcCqw56xzFuH+bcLzbtYWf/lfPpZLqmqIormCmc3jnSuk2h42MogxSTCmcN513Bk+F58ksznRbLA4LBdYCCvIKSMxLvOh51Yoaf72/c9H5uwVQZdt9db74aH1cr7n2kvIDWEuqPrgkSde1WgVJvXv39hgk5eXlcfz4cUwmEx07diQgIOByyyddp4xGI299OIrb5x/C7K2QnG9Bp1HRPTaYks5dOBTXGkNCdzmB6A1Eo9I4b7P5RFaZRwhBviWfrOIsMoszySjOcAugMoozyC3JJdecS545jxJ7CXZhJ7skm+yS7EsqT6dF7fh7eiZGXfnvOqPRSC3nBJck6RpUqyBp7dq1VaYVFRXx/PPPs3LlSlavXl1lPkmyFxU5X3XOjrqdYwLw1qlROrQHoOTAQYTdjiL7KEmlFEVxtf40C2h20fwlthLyzHnkmnPJt+STay4PoMq255nzKLQWUmgppMBSQKG1kHxLATbsbPf2YpBNtiRJ0o2qzvskGQwGFixYQNeuXZk2bRqLFi2q61NI14tiZz8kq9YZJN0U5Q+AvkULVP7+OPLyKFy7Ft/+/eutiNK1zUvjhZfG65In+H1zx3ssPPguVkVBWIqQA55I0o3pij1r26tXL3766acrdXjpGldSUsJn/9nH08nJFJTWwrZRfgCY7XamlRTzdHIyZ2bNwnzqVD2WVLoRaewKSW8n8d3CdPLzc1zbS0pKGDNmDGPGjKGkRLYwSdL17ooFSRkZGRQWFl6pw0vXOLvdzt5DWfxSWEBx6bQj7Upbkux2Oz/u28cvhQWYU9NIHDmKjAX/xlFcXJ9Flm4gOkVD/o58juwpwlxU/nvMbrfz/fff8/3338vZBCTpBlDnQZLD4eA///kP3377LZ06darrw0vXIbNajVql0Cy0cidtY7dbEGYzme++y4mBA8n+/HMc8i946Qrz0pYPJmkzF9VjSSRJqk+1nuDWE5vNRnp6OlarFa1Wy2uvvXZZhZNuDBa1hkh/L7TqyjF74/few7FxE+mvv441OZm0ua+R9dHHBD/8MAH3jEWlv7bnCJMaJq2qfOoUu6WKFsxjq6HTcJBTNEnSdatWLUkOhwMhRKVFq9Vy00038cgjj7Bz50769OlT1+WVrkMWjYZGAd4e0xRFwW/wIJr/vIKIWbPQREViy8ggbe5cTt4+kOzPPsNRJP/Sl+qWrsK0JPaqWpL+OwH++wBYTFepVJIkXW21CpJOnz5NYmJipeXkyZPs2LGD9957j3bt2tWqQOvXr2fYsGFERUWhKApLly51SxdCMGPGDCIjI/H29mbAgAEcP37cLU92djbjx4/Hz8+PgIAAJk2aVKl/1L59++jVqxdeXl5ER0czb968WpVXunxWjZbGgYZq8yg6HYH3jKXFypVEzJyJJjISW3o6aa/9nRO39Sfzvfew5+dfpRJL17uKLUkOSzVB+KFl8MkgyD17FUolSdLVVv8zSV6gbCDKd955x2P6vHnzWLBgAe+//z5bt27FaDQyaNAgtydNxo8fz8GDB1m9ejX/+9//WL9+PY888ogrPT8/n4EDB9KkSRN27tzJ66+/zsyZM/nwww+v+OeTKivRhRFdILBZLt4RVtHpCBx3D81XrSRi9iy00dHYc3PJeGsBJ/rdRvr8f2HLzLwKpZauZ1p1eZAkzFU8gNLneTCGQup++KgfJFWei06SpGucqAWVSiVmz55dbZ45c+YItVpdm8O7AGLJkiWudYfDISIiIsTrr7/u2pabmyv0er34+uuvhRBCHDp0SABi+/btrjw///yzUBRFJCcnCyGEePfdd0VgYKAwm82uPNOnTxdxcXGXVL68vDwBiLy8vNp8vBtaYWGhAAQg/vngYvH2o2vET+/urZRWWFhY7XEcVqvI/fF/4uSdw8ShuNbiUFxrcbhDR3F+9qvCUvrzlqRLtfrYalcdPPH5X13bC8+fLK+bWalC5JwR4t0eQrziJ8SsYCF+f00Ia0k9llySpJqo6fd3rVqSRGkfpJrkq0uJiYmkpqYyYMAA1zZ/f3+6devGli1bANiyZQsBAQHcfPPNrjwDBgxApVKxdetWV57evXuj05X3Oxg0aBBHjx4lJ6d8TJQLmc1m8vPz3RapdgwGAx8PjWNZ74notc5H/xP3ZpKWmI/BYKCwsJDCwkIMhovchtNo8L/zDmKXLaXxu+/g1aEDwmwm58svOTFwECl/exHzqYvP7yVJFfkafWn7QVuG/rslBlHekmTIPULhC74Uzr8ZQ2AYBMTAQyuh7XBwWGHta/B+TzixBuT0JZJ0zbui4yR5e3vujFtbqampAISHu4+eGx4e7kpLTU0lLCzMLV2j0RAUFOSWx9MxKp7Dk9deew1/f3/XEh0dfXkf6AamKAo+qLAGtHCbB/Dw5hQURcFoNGI0Gms8e7uiUuF72200/fYbYhZ9gqF7d7DZyPvhB07dcQfnnn6GksOHr9THka4zeo0elV6F8FKhtpT/MaSk7MKoUzA261peN/U+MOYzuHsRGMMg8xh8MQo+GwanN8pgSZKuYTUeAuDzzz93W9+zZ0+lbeAcbO3s2bN8/vnn3HTTTZdfwgbkhRdeYMqUKa71/Px8GShdBpUdTAFRADS+OZRzOzI4tSeDPvfGoahq91i1oigYExIwJiRQvGcPmR9+ROFvv1GwciUFK1di7NObkEcfxdC58iz0klSmrOO2RVFQleSVJyTvcr5GxbvvoChw0yho3g/W/gN2LITTG+DTDRDVGRKegDbDQCOHrJCka0mNg6SJEye6/nJSFIVly5axbNmySvnKbrF5e3szc+bMuillqYiICADS0tKIjCyfKTwtLc01cGVERATp6elu+9lsNrKzs137R0REkJaW5panbL0sjyd6vR69HJenTpjNZt7dl0yJ8Qvu6TuNtj2jSNufTXGBlXMnMnl57jQAPvjgg1pfc+9OnYh+9x1Kjh4j66OPyF+xAtO69ZjWrcdw880EP/YYxh631ri1SrpxCJvg3EfnyBAC+wjf0o0Cc9JOHl1aDIeW88F/JlSum96BMOTvkPA4bHwD9nwFKbtg8SRnWvsx0Gk8RHaU4ytJ0jWgxkFS2US1QggeeughRowYwfDhwyvlU6vVBAUFkZCQQGBgYN2VFIiNjSUiIoI1a9a4gqL8/Hy2bt3KX/7yFwASEhLIzc1l586ddOnSBYDffvsNh8NBt27dXHlefPFF16CXAKtXryYuLq7Oyyx5ZrVaWXs+H/iNMb2nENXIl8atA0ncm8npA+l89tlnALzzzjuXHZh6xbWi0T9fJ/TJyWR9vJDcpUsp2rGDoj//Ga927Qh+9BF8BwxAUTW4hz2leqI4FHI35TpXBpe2JOWcxmbK4bO9Vtj7P95ZZKu6bgbEwJ1vQL8XYfvHsOtzyE+GbR86l8Cm0PpOiBsKMd1Bpb4aH0uSpEtU4yDpgQcecL1ft24dI0eO5K677qrzAhUWFnLixAnXemJiInv27CEoKIiYmBiefvpp5syZQ8uWLYmNjeXll18mKiqKESNGANCmTRsGDx7Mww8/zPvvv4/VamXy5MmMGzeOqCjnrZ377ruPWbNmMWnSJKZPn86BAwd46623eOONN+r880ieWR1W13uBHYOPlph2wSTuzST5WO4VOaeuSRMiX51NyBOPk73oU3K++46SgwdJ/utT6Jo3J/jhP+N/xx0oWu3FDyZd1yoOJullznL2K0reeekHMoZA3+eh9zQ4tRb2fAlHfoKc07DlbefiHQSxvaBJT2jaE0JbgwzYJalBqNW0JGWtSlfCjh076Nevn2u9rA/QAw88wKeffspzzz2HyWTikUceITc3l549e7Jy5Uq8vLxc+3z55ZdMnjyZ/v37o1KpGD16NAsWLHCl+/v788svv/DEE0/QpUsXQkJCmDFjhttYSpdizZk1GH3L5x3zdPtGoWbbPG+q4fFqeN6q8lblUo5RZd4LtucUlD9FaMeGoihEtQgAIP30lX1qUBsRQfgLzxP86CNk/+c/5HzxJZaTJzn//Atk/vttgv88Cf9Ro+SUJzcwjar8V6PaYQFTJqTsdstTYrVTebbBKqjU0KK/c7GY4ORvzmDp6M9QnO0clPJQafcFQzBEd4OIDhDZwfnq31jenqslh3BgF3bnq8Puvl766hAOV15B6SwSCJz/F+XbPW0r7WJS9t6Bw5Wn7Dhlx6+47cLXC3nc5uEhAE/5ShNqdszLPY+nU9dw/8s9z+UwFdRspHxFXOZz+na7nczMTMxms8f0mJiYyzl8g5afn4+/vz9t3muD2ls2l18Kh9nBoUcPATD3z//lhY/uRgjBJ1M3kpebz7Of3Ak4WxaNxhp/FdWKvbCQnK++JvvTT7FnZwOgDg0heOJEAu4Zh9rnyp5fanhSc1KJDHL2e8z6my9Bj6+FlS9gOrkFn9cKAGg+9Qf+fFsbptzeCp2mli0/dhsk73A+BXd6I5zdClYPI3x7B0FEewhuAUHNypfApqD1qpz/CnMIByW2EkrsJc5XWwnF9mLMNrPrfdn2EnsJVrsVq6PCcuG6w4rNYfO4vWybzWFzD24clYMdu7AjhHBblyRP7MV2Dv/lMHl5efj5+VWZr1YtSQA7d+7kb3/7G+vXr8disXjMoygKNputtqe4ZnQM7YjOoKsy/XIiaI9RdU3/Qqgm/q0uWq8qrbbxtKfj2YptHMIZJInS+FJRFCKa+5O38+qOP6X28SHkkYcJ+tP95C7+gayFC7GdP0/66/8k88OPCLr/fgLvH49G9le7YXhryocvKVJUBGWfcnbArsCqZPP+upNsPpnJgnHxNA2pRTCt1jj7JMV0h95TwWaB83uct/bO74PUfZBxxNnalLjOubhRwC/K2dLkEw6+Ec7FJwJ8w52vxhBnp3GNHiEEBdYC8kryyDXnUmApoNBa6FwshZisJgqsBZisJgotha40k8VEobXQFRSZ7Z7/KL4WqRU1iqKgQoWiKCgo5Q8plb5XoQKlfN31P0WptK0sn0pReTxWWRpQ6Vg1cWG+K3GnoTb7XdY5lRrkqWPWIiuHufiwMLUKkvbs2UOvXr3QaDQMHDiQH3/8kY4dOxIREcGuXbvIyMigb9++NGnSpDaHv+Z8cPsH1UaiUmWm/Fx8WAqA0JT/g4hqEcDRnfUzD5bK25ug+8cTOHYMef/7iawPP8Ry+jSZ77xD1qJFBN5zD0EPTEBbzROQ0vWh4u22YpXi7EtktzgDDpwtST4t/oVKacThnHjufDeZOcN6MiK+0WWeWAfRtziXMtYSyDgMaQch+5RrsWYnkmctJK84jRxLJnlZKnJVKnLVKvJUanLV5eu5KjV5ajV5KgV7Hd+206v1eGm88FJ74a3xxkvj5drmrfZGr9GjV+vRqrRoVBq0Ki1atRaNokGr1jrXy5YL18v2Kc2vUWlQKSrUihqVoip/ryp9RVX+vmJ6xVeV+7p0Y8rPz+c7vrtovloFSa+++ioAW7dupU2bNqhUKkaOHMmMGTMoLi7m2Wef5fvvv+eTTz6pzeGvPcU5oG0Izbo1+OVXo1+QV+E4xbmut0JTfqsysqV/DY57ZSk6HQGjRuI//C4KVq8m84MPMR8+TPaiRWT/5z/4DR1C8IMP4tWmTX0XVboKihWVsw8RQKOuQIUR3HXn8Qo/D6zgxR3BvHuwDSPbxdMquDkh3iEE6AMI0Afgo/VxtiyU/rtxCAdmuxmL3UKJrQSL3UKxvZgCSwH55nzyLHkeX3PNueSqcsnztVLoFQAE1OozeTscBDgc+NkdGIUDH4fA6HDg63BgdAh8HA7nIty3ewsHXkLg5RDOVyFQoYBa5xwDSq0Ftd4Z7Kl15e9VWlBpnH2zVJoKy6WuV9imrnBMRV36qnK+V1TOzu9u62XpFZZK+6idv9s87lOa5nGfC46JUrqulL6/8LU0TfYza/BqFSRt3LiRu+66izYVviQqjo/09ttvs3nzZv72t7/x1Vdf1U1JG7I324NeVvZLYRCCL/s9RlL07SjG8qlHQqN9MXgbeG3CYkZP63zRaUmuJEWtxm/wYHwHDcK0YQNZH35E0Y4d5C//kfzlP2JI6E7wQw9h7NlTjrV0nTEYDHR7vxd5lgxEQQaU9iiwtrmduLf2oyiCt2//nAzLSZaf/JF9GftQ6bI4b9/Iu/s2VnlcjaJBURS3pzsvh4KCn96PAH0A/np/V1Dmr/cnUB/o3KbzJ0ClxV8oBDgcBNjt6M2Fzj/uLIVgKQKrqfS1qMK2Imcn87JXSxE4LGA3Q2lHZCfh3HYd3YK7+koDJkWF56DKU1pN9vMUqFFFmocyVdpUg3x1eSyP+Wr2wNNFj1Vcs65AtQqS8vLyaNasmWtdq9VSWFg+v5FKpaJv3758/fXXtTm8dCMQCj7ewfh6B1BUodO7WqMiPNYf+3GBNVfXIIIPRVHw6d0bn969Kd5/gOxFi8hftYqiLX9QtOUP9C1bEDRxIn7DhqHSVd03Tbp2KIqCf1AApqIcEosj6WhJAkMIv+qi0PqrweZP36adUZQujI0bS4GlgK/3ruXDrRspdKSg0mXi5VWMWlNEib3YdVybsFXqU6hRNOjUOrw0XvhoffDX++On88NP74efzs+1fmEQFKAPwE/nh7o+xliy25y3H+1mZz8qe4XFZq783mErXewV3le1rYp1u7X6YwgHiNJX17rjgvUK2x2Outvnsp/IEs5hJtyCT+mKMtfsZ1arICksLMxtItiIiAiOHz/ulqekpISiIg9PaVyHrH/ajNXXrzSip7SZt6wTX+m2ik2rZWml752vuKWXvVdckb/ndPdj4fyHdkG661iVAo5L+Id9CZ22hXCU/oMXzl8qlLY0VlgcJSXYHnbejlV7u49LFNnCn5TjuZw/kUvbnlE1L+NV4N3+Jhr9az5hyVPI/vw/5H7/PebjJzj/4kukz/8XAXffTeC4e9BGNaxyS5fOoHG2Yr6nHsWIWx3Q/m427nHedvNTNXf79+Sr8+WRrsP4U8ehvLfuJO+vO0m2zVn3h9wUwsN9o4gJ9nY9bq5T6/BSe6FT69z6P10z1BrnQv219DYoZQFOadAkyoInm8353m4Hhx1R9morzWe3OX9H2svTsNud+zgczm12G6I0Dw6H672w28sDN5y/a4WrHGXbhCuIEw7hvk1USBOU/34GZ56y7wdRlu6o8FlLXyvuS4U8btfG4wWr6YWtfJ1rzX3f/KJi4LWL7lWrIQAGDx6MxWLht9+cvzDuu+8+li5dypo1a0hISODw4cP06NGD5s2bs3379ks9/DWjbAiAbS1a4qO+xoYAqCLgKg/O8JxeIdAR4B4MXUJVsjgcPGcLptg7lBGPPMeUp3q40o7tTuHP9/8FnbeGnzZ91aCngrEXFJD73X/J/s9/sJVNjqxS4dOvH4H33YsxIUGO5H0NMpvNdBjdiczidIL6/ZVjL85AURQGfvYgOz9fTrCmJfuXr6uybp7NLmLeqqP8b18KQoBKgRGdGjH5thY0C/W5yp/m+iQcDkRxMY6iIhzFxQizGYfZgrCYS9+bERYLonSbw2x2vjebnXksFmf+snw2W+liBasNYbe7r9vKtlVYL92G1Vphf5szoJEatEK7nVtOHL/oEAC1CpL+/e9/88wzz3D27FkiIyPZu3cv3bt3x2KxEBQURE5ODg6Hg8WLFzNy5MjL+iANWVmQtL3dTfioVO6Bg8PhHplLboocDm4+fgyAN9/dzFN/SXClZWfmERwaAEDK6Qwim4TURxEvibDZKPj9d3K++oqiLX+4tuuaNiVg3D3433UXmqCgeiyhdClMJhM+Ps5gptms59g59VUCDDo6vN+D/X/ZDNRsDK8jqfn865dj/HLIOTekosDtbcJ5tE8zujS5MeuDsFqxFxRgz8vDkZ+PPS8Pe14+9vzS9YJCHEWm8gDIVOQKhBxFRa5FFBdf/GQNncrZwVy54BW1c1gC1GpQKSgqted8KlXpZOAe/thVyocjcNvmyuMhrezOB1WnKWX9mDycy+3ORgOXbzFz06efXpkgyWq1kp2dTWBgILrSPhibN2/m//7v/zh16hRNmjThySef5I477qj9J7gGlAVJF7vIUGGMoYqBk4dtoortFV/Lf2IXOVbFH22VxxKuQ1VsXvW0T9mdvMr/cErH+LhwAec/ZrdtCooCpqIi/MLCAHj7o6088efyR54rfkEtWfAHwyff0iD6JtWU+dQpcr76mrylS3GU9dXTavHt2wf/UaPw6dULRXMN3mK5gVSsg83n/JWf/zwHP2Mxt33VzzUI6qUMdLrvXC5v/XqcNUfKJ9/uHBPAA7c2ZfBNEeg111hLdAVCCOy5udgzM7FlZGDLzMSWUeF9ZqYzPT8PR24ejrruhqEoqLy9UfT60kWHSqd3rav0OhStrop0HSq93jkVkUaDotGiaDQoWo0zUKmwrmictxjd1jWl6xUWNFoUdWmgU13wo9R8bCSp7tX0+7tWv6m1Wi3h4eFu22699VZ++umn2hzuhuD6x3CRfxQ3yj+ZijegtLqqb0ed2pPJ2i+P0vveVqjV18ZtK32zZkS89CJhzzxN3o//I3fxYkr276dg9a8UrP4VdWgIAcOH4z9qFPoKD0BIDZOiKiSjwMz29FrM3VaqQ+MAFk7syvG0Aj7ekMiS3cnsSsplV9Iegow6xtzcmPtuiaFJcMMb3V3Y7djS0rCcO4f17Dks585iPXsO67lzWNPSsGVmgvXSn9ZTGY2o/f1R+fuj9vND7eeHyt8PtY8vKqMRlcGAymhwBkAGg3PdYEBlMKIyeLvWFS8vGWxIV0ytgqRmzZoxZMgQ3nnnnbouj3QD0lQTJKHAoY0p5KYVcftD7fAJbLj9ky6kMhoJHHcPgePuoeTYMfJ+WELe8uXYMzLJ+nghWR8vxLtjR/yG34Xf4MHydlwDpWiKOJdTzObMXRfPfBEtw335x90deHZgK77edpavtyWRml/CB+tO8cG6U9wSG8SITo0Y2j6CgGpG8b8SHGYz5hMnMB87jvnYMcwnTmBNSsKSklKjIEjt7486NARNaCiakFA0IWXvg1EHBjrT/fycQZGvr2xNla4JtaqlmZmZcoRpqc5odVXfahj053Zs/PoMKcdz+WbOVvpPaENsx9CrWLq64dWqFV7PTydsyjMUrl9P7uIfKFy/nuK9eyneu5e0/5uL8dZb8b/zDnz690ftIzv3NhSK2sSpTBOHsw/W2THD/Lx4akBLnujXnN+PZvDl1jOsO5bBtsRstiVm88ryA/RpFcpdnRpxW+swfPR1G1DYcnIo3r2HkiOHnUHR0aNYzpxxPY1aiVaLNioSXeNotNGN0TVujLZxNNrICDShoahDQuTwF9J1qVb/8jp06MCxY8fquizSDUqnrTpIato+lEaxYfyy8CAZSQWseG8/cd0j6DmmJV5GbZX7NVSKTofvgAH4DhiALSODvB//R/5PP1Fy8CCmDRswbdiAotVi7NED30GD8L2tH2r/+h+F/EamaEycTM8nU5yo82Nr1CpubxvO7W3DSckt5se9KSzbk8Kh8/n8ejidXw+no1UrdIsNpl/rMPq3DrvkOeKEEFiTkijatZviXTsp2rkLy6lTHvOqAwLQt2rlXFq2RNe0KbroxmjCw1GutSd4JakO1Krj9o8//sjo0aNZtWoV/fr1uxLluiZcSsdtyZ1b5+xVhxkxsLXHtLLOsXabgz+WnWLPr0kgwNtPR59xrWjeOaxeyl/XzImJ5K9YQf7/fsKSWGHaC40GY7du+N4+AJ8+fdBGRtZfIW8gFetg63duRpvzFKLxP7AXKxz+y37g0jpuX6rjaQUs35vCj3tTOJ3l3tG5WYiRfq3DSGgWTNemQfgbKv+xYE1NpXDDBkwbN1G0cyf2zMxKeXTNm+N9003o4+JKA6OWaEJDZf8e6YZQ0+/vWgVJn3/+Od999x2rVq1ixIgRdO3alfDwcI//uCZMmHCph79myCCp9hwOBzMmfINOwK2TezEgIdotLSkpCYCYmBhUFcYZSj2Vx2+fHyYn1fnF0Tw+lF73tMIYcO30VaqOEALLiRPkr/qFgl9+wXxBi62+TRt8+vbBt29fvNq3l2MwXSEOh4MjJ48wctlItMFazOnD8Ir4H2pzLEsHLgAq180r5VRGIb8dSee3I+lsS8zG5ij/la0oEBfuS9cmgfQSmbQ8tgOxaQPmCwb3VbRavG66CUOXznh37oJ3fCc0gYFXvOyS1FBd0SBJpXJO1HjhrhWDJCEEiqJgv44H1ZJB0uV58y+/oRXQ6bG29OgUUeP97FYH21cksmtVEsIh0Hqp6TasGe37NkJ1jTwBV1PmxEQKVv9K4e+/U7xnj9u4W+rgYIw9bsV4q3PRhl0frWoNSf/v+pNenI7DHIJKn0kHnxF8OfrVeitPfomVjcczWXc0g+2JWSgnj3Hb2V30SNlHeMVJo1HIi22FulsCkX17EdW9M2ovr3ortyQ1NFd0CIBFixbVumCSVEYtBKDg5XVpfR3UWhXdhzeneecw1n11lLTEfDb+9zhH/jhPn3vjiGh2/fTh0cfGon/kYUIeeRhbTg6F69ZRuHYdpg0bsGdluSbbBdC3bOkMmHr2wNClC6p6nBz4ehEXFEd6cjoqvfN21aNd63fsNz8vLQMjNNzyx1by1i3DcuKkK82s0bMtPI7NETexMzyOAp0RSoCVOQRv2EDbKD/aRvrRPNSHZqFGYkOMBBkbxvyIktRQ1aolSXKSLUm1V1Jcwp3dHwDgn98toFNc+bhbFouFF198EYD/+7//cw1Y6olwCA5uTOGPpScxF9lAgbY9o0gY0fya7NhdU8JioWjXbkybN2PavJmSgwfdR3fXaPBu1w5D15vxvvlmDJ07o5Z1tMbK6uChrEOc7nEalUZFsFcwPw3/iZkvzwQuXjfrkhCCoq1byfn6GwrWrAGbcwZzRa/Ht/9t+A0dirFnT0yo2Z+cx6GUfA6m5HMwJY8T6YU4qvgt7++tpVmokWYhzsApOshAowBvGgV4E+arR6WSAZRUvYoDEnuqZpVqUIUN9RmgX9HbbZJT2UVe9fkufH38UFSgUikoKsU1MrVSNox76avHdVXZBLS49r0wj1vFcl+pxFPFc9vk6VhV1FXXfhUOoFR6U8X5qyqmAgX5BdyUEAvA/hMp3NS8vEOyp47bF1OUb2HLDyc48odz/jRvXy23jmpBXPeIG+IvZVtODkV//EHhpk2YNm/GlnLePYOioI+Lw3DzzRhu7oJ3p05oI2p+i/NGU7EODvhiAGm2NGbeOpNBUYMuuW5eDmG3U7BqFZkffoT5yBHXdu/4eAJGj8J30CDUvr7VHqPEaudIagEHU/I4llrAqUwTpzJMJOdWP62HVq0Q6e8MmKICvGkU6E24n55QHz2hvnrC/LwI8dFdM6OFC4fAZnNgtzqwWRzYbXZsVue63erAbhc47A4cdoHDLrDbyt+7bbc7cNg8bLsgr3P+WOfEss6Zqkon93Y4AwvndlE616xz3TkvrcDhqLz/hfnL8pTPsED5pAkXRCxu+Ur/Iyomuq2X7l+W+YK8FSdnuGKUalY9fRd52Odi35nFFhNTPrzzygZJS5Ys4euvv+bIkSMUFRVx4oTzEdkjR46wfPlyxo8fT6NGjWp7+AavLEh6/cHleOsa3ki5DZnZWsyzn9wJwPGz6bRoXD72UW2CpDIpx3NY+9Uxcs6bAIhs4U+f++IIjrpxxh0SQmBNTqFox3aKduygeMdOLKdPV8qnCQvDq0N7vNt3wLtDe7xuuumiX7g3iop1MDM3E6EThHiHXFbdvBQOi4W8pUvJWrgQ6xnnQwyKwYD/8LsIHDcOr7i4yz5HscVOYqaJU5mFJGaYSMw0cS6nmOTcYlLzS7BX1fx0gQCD1hU4hfrqCTTonItRS4BBR6BBS6BBR0Dpq0GnrvIPF7vdgaXYhrXEjtVsx1Jix2q2YTXbK2y7cN35arfZnQGQtTwQstkc2C12bDZnYCNJZYotJqYtuuvKBEkOh4N7772X77//HgBvb2+Ki4tdnbTT0tJo3Lgxs2fP5oUXXqjlR2j4KrYkGbx8nJG93RlpCyGg7C8AKH8vyqP/iuvCUf7XQNlfC2VRu6jwy8r9pyXcXiqnV9zuIcHjflWdy8O2Kk7meT/3jSXmYia+2heAM6lZxISXjzZ9uV9EdpuDvWvOsv2nRGwWByqVQsf+0dx8R1N0XjfmKL+2jAyKdu6kaPsOinbtcj415+GhCl2zZni3b49X+/Z4tW2DvlUcap8b7w+AqurglQ6ShMVCzjffkvXxx9jSnfO8qf39CZzwJ4LGj0cdEFCn56uKze4gNb+ElNwSknOLSM4pJjm3hIwCMxkFpa+FZqz2qn7hgF6Aj1AwOhS8BHgJBS+hYETBT63GR1HwRoXOATq7QG0DVVXHq2MqlYJaq0KtVaHRqlBrVKg0KlRqBbVaQaVWUKlVbq9qteLKU2m7uuL20nWV825AxbsLzlcFReVsca8yT4X3qgr53fYve+9q7S+blLZ01fVauRXFuUmpdIehYt7ytx7uZlyYz21S3ArHvODHKdy+dCq8rebHXmWIUu3+1X+PAeTl5xEdG3FlgqT58+czbdo0HnvsMf7+97/zr3/9i1dffdXtSbbbbrsNi8XCxo0bL/Xw1wzZJ6n2snLzCQl0drA+n5lDRHCAK62uvojys4rZ+N1xEvc6O936BOq5dXQLWnQJuyFuwVXHUVxMyeHDFO/bR8m+fRTv24/13DmPebUxMXjFxaFv0xqv1s5FExl5XV/Dqx0kCSEo+GU16fPnYy0d/kITHk7QgxMJHDMG1RW+rXcprBY7BZkl5GUWkZleRGZmMXk5JZjyLJgLLNiL7ChmO0oVg3fX6BwILApYFYEFsCgCqwIWxfneAjjUgEZB0apRtAoarQqNVo1Wp0Kn06DVq/DSa9B7adDrndv0ejV6LzVeOg16jcq5aNXl7zVq9NrK73Vq1XVd329EV/Tptk8//ZSuXbvy7rvvAp77wLRo0eKGmfD2vo/+QOft/CWmKG53P3EP4qu+0VqTfS68zDXNJyrcY3a2VJVuR1R4T4WGKfftZXF0hdvapfk9ba+wb4V72RVjcSHAUlI+QN6V6tPgF+zN0L90IHFfJhu+PUZBVgm/fHyQQxtT6HVPK4IiG84Xz9Wm8vbG0Lkzhs6dXdts2dmU7N9P8b79FB/Yj/nIUWxpaViTkrAmJVGwenX5/v7+zsCpdRxerds4ByOMbdqgvsyvFcV795L2j3kU73LODacODSH0icn4jxpZb1N9FOVbyDlvIi+zmPzMYvIzS5yvWSUU51uq3bfiIBx6gwaDnw4vHy16gxaNtxqhVWHXKNjUYFErmFWCEgWKcFDocFBgt5NvsVNQYqOwxEpBic353myjyGKr3AndAZhLlytIVxosadQKGpUKrVpBo1bQqpzbtGoVGrUKrUopX1cpzm2ufcr3Kz+Gcx+VSkFd2rqkUhRUCqhLW4vUFd+rnGkq1/uyfXDbX13a+qQuzadUSi8/jlKhJajiXOxu63hoXXJtVyrlUS5oqXL1ta0mn+L6j4ftVaiulae6JqCCgppVmFoFSSdOnOCJJ56oNk9wcDBZWVm1Ofw1Z9+5PFT6S58F+0bmsJS43mvVV/YvtNgOIUS3DmTXqjPsWpXEuSM5fPvqNjr0j6brDXwL7kKaoCB8+vTBp08f1zZbTg7mI0coOXIU85HDzteTJ3Hk5VG0bRtF27a5HyMiAn2zWHSxzdA1i0XfrBm6Zs3QhMnWuwvZcnJI/8c88pYuBUDx8iL4oYcInvTQVQs2rWY72edNZCUXkp1sIiulkKzkQooLqv99pvNS4xfqjU+gFwZ/HQY/HUZ/PQY/Xfm6nx61tm7HLRNCYLY5KLLYKbLYKLbYS9/bKbbaMJntpdtsFFntrvQSqx2zzeFcXO9LX60V3pemW+wOSqzuTWEWmwOL7TKax6QGxWEuungmahkkeXt7k5eXV22eM2fOEHCV7p/Xt7fGdcLg4+zw6rHPUKXt7tFvxTRRxT4XBsRV3SW98FhlLUzuEX15u1PZXwsV81zyXwwe7kdf7K+L4iITt79RXp4rTaNTc8uwZsR1j2Tjf49zel8me1YncXxbKrfe3YKWN3seMf5GpwkMRJOQgDEhwbXNYbFgOXmyPHA6fATzyZPYs7KwpaZiS03FtHmL23FUBgO62Fh0zZqhbxaLNiYGXUwM2saNUQcE3FDXXghB3rJlpP/9H9hzc0FR8B8xgtCnn0IbHn7R/WvLYXeQlWwiLTGP1MR80hLzyU0vqvK5bb9gLwLCDPiGeOMX7IVfiDd+Ic5XvUFTLz8zRVHw0qrx0qoJMl7ZVjYhBFa7cAVQJVY7NrvA5nBgtQtsdoHV4cBqc2BzCKx2h1t62brVUfpqL81nc2B1CGx29/3swvn0mt0hcJQ+DecQArsAR+nTbK40UZpW2tfV7vCwvysPru12UZ7fdcwKT8eVt/wDNbmjICp8Y11w56DisS7nrkV9q1WQFB8fz6pVqygpKcHLwyiu2dnZrFy5kt69e192Aa8F/duEyz5Jl8jhCOLAgQOAM+iuyNvbu8q0y+Uf6s0dj3fg9P5MNnx3nPyMYlYvPMShDSn0GtfqhnoKrrZUOh1ebdrg1aYNMMK13Z6bizkxEcupRCyJpzCfSsRy6hSWs2dxFBVRcvCgczynC4/n61s6s3w02kaNnDPLh0c4XyMi0ISEXPXpV6qqg5dbNy3nznH+5Zcp2vIH4BwANGL2LAzx8XVQandCCDLPFXLuSA7Jx3I4fzwXS0nlzvrevlqCG/kQFGUkuJEPwVHO91r9tfFo/5WiKAo6jYJOo0I+81m/ymbwqEv5+fn4v3nxfLXquL1s2TJGjhzJkCFD+OCDD1i4cCGzZ8/Gbrdz8uRJHnroITZu3Mjq1au57bbbalH8a4PsuH1ts1nt7FmdxM6fz2CzOlBUCh1ua8wtd8Si85a34OqKsFiwnDuH5ZR74GQ9e9b1BFe1NBq0YWFoIiPRhoejiYxAGx6OOjgYTXAImuAg1MHBqP39G+xM9UII8pcvJ3X2qzhMJhS9npAnniD4wYko2rob9NRqtnP2UDanD2Ry5kAWRXnu/Yd03hrCY/0Ij/UjItaf0BhfDH710+9JkurTFR9M8oUXXuAf//gHiqJgNBoxmUyufkhCCF5++WVmzZpV6w9wLZBB0vUhP7OYTd+f4NSeDAAMfjq6DW9G64RIOeLwFeYoLsaanOwKmqwp57GmpmI7fx5rWpoziHLUsB+ISoU6MBBNkDNocr0GB6MODnKuBwSUL/7+KJorHwzb8/NJnTmL/BUrAPDu0oWo1+aii4mpk+PbLHbOHMzixI50Tu/LxFahL41Gr6ZRqwAatQqkcVwgwY19ZJ2WJK7SiNurV6/m7bffZuvWrWRnZ+Pn50e3bt3461//yqBBg2p72GuGDJJqz2KxMHfuXAD+9re/uU3vUF3alZR0MIv13x4jL905EnFwYx96jG5BdJugi+wpXSnCZsOWkeEMnFJTsZ5PxZaWijUt3dkHKjsbe1aWs29PLah8fcuDpsDyAMru48O/N25E36IFL86c6aqDl1o3i7ZvJ3n6dOcI6Go1oU9OJvjhh+ukxSvjbAGHNqRwbFuq2200vxAvmrYPoUn7YBq1DKzzztOSdD2Q05JcBTJIqr3qxpu5WqMae2K3Oti39hw7VpzGUuycH6tJ+2BuHdXihh4yoKETViv23FxX0GTLysae7Xy1ZWViz8rGlpONPTcXe24ejos8eFLkcHDz8WNA7cZJElYrGe+8Q9aHH4HDgTYmhkavz8O7Y8fL+px2u4MTO9LZ99tZ0s8UuLb7BOpp0SWMll3DCY3xvaE6wktSbVzRcZIk6Xql1qqIvz2GNgmRbP8pkQPrkjmzP4ukg9m06xnFzXc0xeivr+9iShdQtFo0oaFoQkMvnhkQdjv2/HzsOTmlgVMu9pxc13vH5k1QGiRdKsvp0yRPe46S/fsB8B81ivC//e2yRi63mu0c2pjCnjVJFGY7x3dRqRWadQqlbc8oGscFuuaAlCSp7lxWkLRr1y4+++wzdu/eTV5eHv7+/sTHx/PAAw/QucIgdZJ0rfHy0dLrnla079uYzT+cIHFvJgfWJ3Pkj/N0uC2a+Ntj8DLWXYdb6epS1Grn8AaBgR7TS4xG+OGHSzqmEIK8H34g9f/mIoqKUPn5ETl7Fn6DB9e6nHarg4MbU9jx82nXII7evlo69Iumbc8o2elakq6wWgdJ06ZN44033sBxQafKjRs38s477zBlyhTmzZt32QWUpPoUEG5g6F86kHw0h81LTpJ+Op9dK89wYF0y8QNj6NCvsRyM8jqk0l9a8GHPzeX8KzMpWLUKAMMttxD1j7+jjYys1fmFEJzclcHmH05QkOUceNUvxIvOg5oQ1z0CjbZhPsUnSdebWvXoe/vtt5k/fz4tW7bkP//5D6dPn6a4uJjTp0/z+eef06JFC+bPn++atqSuFRQU8PTTT9OkSRO8vb259dZb2b59uyvdOelf5eX111935WnatGml9L///e9XpLzSta9RXCB3T+/C0L+0JyjKiKXYxtZlp/ji5S3sXFnef0m6Pij6yuO/VaVgzRpODhvmDJA0GkKfnULMok9qHSDlpJpY/tYeVn10gIKsEgz+OvrcF8d9M7vTrlcjGSBJ0lVUq47bbdu2xWQyceDAAXx9Kw+zlZeXR/v27fHx8eHQoUN1UtCK7rnnHg4cOMB7771HVFQUX3zxBW+88QaHDh2iUaNGpKamuuX/+eefmTRpEidOnKBZs2aAM0iaNGkSDz/8sCufr6/vJXUSlh23a6+hdtyuCeEQHN+ZxrblieRlOJ+E0xs0tO/XmI63RcvbcNeB80uWEDVqFFB1x+3cpCQK33jT9Wi/LjaWqNf/v717j4uqzP8A/pn7DMNwGZGrgAgKqEihxqJmlqxmdrGlLY1WIy+tq5W6ZbmvbcXEbG23rax0rS37lan98mfeNonyXuQFV/OeKCheABWcYQYY5nJ+f5CTLDMKA8wwzuf9es2L4Txnzvme4wN8fZ7nPM/rUPXt49I5bVYb/lNwFns2lsBmESCRinH7yBikjYyFTM7EiKg9dejA7ZKSEkydOtVhggQAgYGByMrKwtKlS105/A3V1dVhzZo1WLdunX1G79zcXGzYsAFLlixBXl4ewsPDm3xm3bp1uPvuu+0J0jUajabZvkQ3IxKL0GtgOBLSQnFyXyWKvipFdXkt9m0qxcFvytB3aBRSM6M5wNuLieQ3/7creeS3UOh0gESCLk89hZDp0yBWuPZvfrWiFgUfHrE/sRbbtwvufKwXAru274zzRNQ6LiVJoaGhLdovrAPWIbJYLLBarc2WQ1GpVNi1a1ez/SsqKrBp0yZ8/PHHzcpee+01zJ8/HzExMXj88ccxc+ZMSG8wuZzJZILJ9MvKwXq9vg1X4tuUSiX2/Lw46n//W96orDMRS8RITA9Hr4FhOPWfS9j3VSmunDPgPwVncXBLGXoODEPqPdHoGsNFDbyNX4AGq2NiIY+NaVIHlUoltn/wAcrn50F69SoUiYmIWLAAqpS+Lp/rxO5ybPvsBCwmKxR+Ugx5tCcS08P5GD9RJ+BSkjRu3DisXLkSr7zyir3p+Xp6vR5r1qxBdnZ2mwP8bxqNBhkZGZg/fz6Sk5MRFhaGlStXorCwEAkJCc32//jjj6HRaPCbn5vOr3n22WeRlpYGrVaL77//HnPmzMHFixfxxhtvOD33woULb/lZxN1FIpFg4MCBrS7rjERiERL6hyI+rSvOHLqCos1nUH5ahxM/lOPED+WI7BmE1Hui0T01hLMdewmp2h8pKhVkShUk1038KJFIELt9B7oqlQgYPRqRC1+FyMXJTq0WG3Z+fhJHdpwHAET1CkJmTh/4B7MFkqizcGlMkslkwqOPPoqTJ0/iL3/5C4YMGYKwsDBUVFRg586dmD9/Pnr16oXPP/+8Q2ZLvrY+3I4dOyCRSJCWloZevXqhqKgIx44da7JvUlISfv3rX2Px4sU3POaHH36Ip59+GgaDAQonTeaOWpKio6M5JomaqSjR4+CWMpwqqoTN1vgjpumiRL+7uyEpI4Ljljq5+qNHUfKbLEhDQ9Fzx3b7dsuVKzh551DAZkP8N99A3i3KpePX1TTgq38ewsViHSACBt7XHQNGxzGJJnKTDp1x+9r/rJytzOtsu0gkgsXSfk8BGY1G6PV6RERE4LHHHoPBYMCmTZvs5Tt37sTQoUNx4MABpN5kptsjR46gb9++OH78OBITE1t0fg7cdl1DQwPeeustAMBzzz3XbFkSZ2XexlBtwuHt53B453mYjI11XyIVo8ftXZE8KIKTAHZSNcePY97QoRArlcgrLrbXwUtrv8Rfn54CaWgoXtm/36W6qb9ch/VvHYDuUh3kSgl+PbEPuqeEtPclENENdGiSNGzYMJf7y7du3erS526kuroacXFxWLRoEaZMmWLf/uSTT+Lw4cPYt2/fTY+xYsUKjB8/HpcvX0awkwnm/huTJNd589NtrjA3WPHT7nIc2nYeV84b7Ns1WiWSBkUgeVAENNrOO/7K11wtLkZwz54AmtbB039+GfEL8pptb6krFwzY8NYBGHUN0HRR4oFnUhEc7v31m8jbdOjTbdu2bXM1rnaRn58PQRCQmJiI4uJivPDCC0hKSkJOTo59H71ej//93//F3//+92afLywsxO7du3H33XdDo9GgsLAQM2fOxBNPPNHiBImoNWRyCfrcGYXeQyJx6WwNjn13ET/trUBNVT32bizB3k0liE7WInlQBOJSQzgXjoeJVb88VSaYzfb3tQcPunzM8hIdNr5zECajBdpINR589jaogzj+iKgz88qpgnU6HebMmYNz585Bq9UiKysLCxYsgEz2yziPVatWQRAEjBs3rtnnFQoFVq1ahdzcXJhMJsTFxWHmzJmYNWuWOy+DfJBIJEJobABCYwMw+JEEnPrPJRz7/iLOn6hG2dEqlB2tglwlRY/bQtBzQBiikoIhkXAVd3cTXze9iVWvB4KCYDUYYTp50qXjXTh5FRveOQiLyYqwuADcPz2V49KIvIBL3W3UiN1trvO17rab0V2qw/HCizheeBGG6l8eDlCqZYhP64r4/qGI7BnEhMlNrq+DVw4dhrZvHxi++w4ncp7CgJ8Xvm1p3aw8o8eX//gPzPVWRCcHY9Tv+0GmYEshkSd1aHcb0Dih5FtvvYWDBw/iwoULMF/XJH2NSCTCqVOnXD0Fkc8I7KpC+oM9cMf9cbh4SoeT+ypwan8l6mrMOLLzAo7svACFnxTdU0IQd1sIYnp34R9aN7HqdQCAuv3/afVnqy4YseHtgzDXWxHVKwj3Te0HKWfPJvIaLiVJmzdvxpgxY9DQ0ACZTIbQ0FCHkzCykYqodURiESJ7BiGyZxDufLQnzp+4ipNFFSj98TLqasw4sbscJ3aXQyITIzpZi9i+XRDTW4uAEM7M3FFsP08aW3fgQKs+p79Sh3Vv/Qf1RjNCYzW47w9MkIi8jUtJ0osvvgiJRILVq1cjKysLYjG7AIjam1giRnRvLaJ7a2GzCSg/pcPpg5dQcuAS9JfrUfrjZZT+eBkAEBzuh5jeXRDTV4vInkEc+N2OrDU1EGw21P34Y4s/Y6qzYNO7P6JW1wBtpBoPPHMb5EqvHAJK5NNc+qn96aef8MQTT+C3v/1te8dDPkKpVNqng3C0LImzMl8lvq6FaXBWAq6cN6L0x0s4e7QK5af1qC6vRXV5LQ5uKYNUJm7ct1cQonoFo2ushmOZWkmpVOLzRx5B7e7dkNbUoOH0adhqaqBUqbDlm28gkkic1k2b1Yav3z+MqgtG+AXKGwdp+3OQNpE3cilJCg8P5x8vahOJRIJhw4a1uowax/qFdPNHSDd/DLgvDqZaM84dr8aZI1dw9kgVjFdNOHu0CmePVgEApAoJIuMDmTS1gkQiwV3p6bhy6DBsF8vtXW3+KSnoM3z4DT/7/ZpTOHu0ClK5GKP/0I/zXxF5MZeSpMcffxyrV69GfX09kyUiD1P4yRCfFor4tFAIgoCqC0ac/6ka53+6ivM/VcNktDRLmsK6axAWF4jwuACExQXCL8B7ZzXvKLKoxiVHzOfPw2ZonABUdfttN/zMT3vLcXBLGQAgM6c3QmP51CuRN3NpCgCz2YyHH34YNTU1ePXVV5GamupwodtbHacAcJ3ZbMayZcsAAFOmTGkyx9WNyqh1BJuAKz8nTRd+uorzJ6vty6NcT9NFaU+YwuIC0DVaA4nMd1ubzGYzFs+ejerPViK7fxrENTWwXrqMiGX/xIpDhwA0r5tXzhvwxV/3wdJgQ/97Y/GrMfGeCp+IbqJDlyUBgK+//hpjx46FTqdzfvB2Xquts2GS5DrOk+QZgk1A1UUjyk/rUFGqR0WJHlUXjcB//RYQS0TQRqrRNVqDkGh/hERrENLN32cGH19fB/f17AU/sRgiPz9EffsNArRaAE3rZkOdBZ+/uhe6S3WI7q3F/dNTuVgtUSfWofMkrV69GtnZ2bDZbOjRowciIiIcTgFARJ2LSCxClyh/dInyR587G7uTTHUWVP6cMFWU6FBeoke9wYzLZQZcLjNc9+HG+ZyuT5y6Rmt8pqtOkzkcYgcL2gqCgG2fnYDuUh38tQqMeKoPEySiW4RLmc0rr7yCwMBAbN68GQMHDmzvmIjIjRQqKaKTtYhObmwhEQQBNVfqcams5udEqQaXygwwXjVBV1kHXWUdiosq7Z/3C5QjJMofweFqBEf42b+q/G+d5Ems0SDk91PhqF38eOFFnNxbAZFYhJGT+vJJNqJbiEtJUklJCXJycpggEd2CRCIRAkJUCAhRIf72UPv2Wn0DLp9rTJyuJVBXK2tRq2vAWd0vA8OvUfrLEBzuh+AINbThavt7/yAFRF7U0tJj4wZoQkIg1WphMRqblFWXG7FjVeMyJXc8EIfwHoGeCJGIOohLSVJ0dDSsVmt7x0JEnZhfgLxxwsreXezbGuotuHLeiKoLBlRfrEV1uRFV5UYYqkyoN5hxsViHi8VNxy1KFRIEhqgQ2FWFgK4qBIYoEdC1MSnTaJWQSDvXgHF5VBSkDsbFWcxW5H9wHJYGG6ISg5E2MtYD0RFRR3IpSZo8eTL+8Y9/4NVXX4X250GMROR75EopIuIDERHftAWlod4CXWUdqi4aUV1ubJzs8qIRuso6WExWXDlvwJXzhuYHFAF+Gjn8gxVQByngr1XCP0gB/2AF/IOVjdsDFZ3iybvd607jyjkDlP4y/DqnN8chEd2CXEqSHnnkEXz33XcYPHgw/vznPyM1NdXp6PCYmJg2BUhE3keulKJrjAZdYzRNtlutNugv1UF3qQ76y9e+1tu/t5ptqNU3oFbfAJypcXp8lUYGlUbe+NVfDpW/DKqAxq9Kfzn8Ahq/qjQyKP1kHdK9d3jHeShkKgyfkAx1kKLdj09EnudSktSjRw+IRCIIgoDx48c73e9WnwKAXKdQKLBx40b7+5aWkXeTSMSNA7vDm3dfCTYBdQYzjFdNMFTXw1BtguHn98Zqk/17q9mGuhoz6mrMLTqnSCyCUi2FSiOHwk8KhZ8MSrUUCrUMSvv3MijUv5RJ5GJsWL8BIrGoSR1UKBRYt249tq84AalEjj5Do9A9JaTd7g8RdS4uJUnjx4+HSMSmZXKdVCrF6NGjW11Gty6RWAS/ADn8AuTNWqCuEQQBJqMFhqsm1BkaUFfTgLoaM+oNZtTWNKC+xvzzdjPqahpgqrU0Jl+tSKqukcr8MWJSnybTm0ilUiR06Y+yYDX8AuUY9BtOGEl0K3MpSVq+fHk7h0FEdHMikQhKf1mLH7O3Wm2oNzQmSHWGBpiMFphqzTDVWlBvNMNkNKO+1tLsq8VkhcVsw5nDVxCX2rXJMUsOXgYA9Lu7m89Mrknkq/gTTh5hNpuxYsUKAEB2dnazZUmclRG1hkQihjqwcbB3a+z59yksfv2fKDUHYvCjs+11sKGhAWvWr4LZZMGDPWZ3RMhE1Im4vCwJAJSXl+P//u//cPz4cRiNRvzrX/8CAFy6dAklJSVISUmBSqVqt2A7Gy5L4jouS0Kd2d6vT+KOkb0ANK2D505XIjo+DACgu6pHQKDjbkEi6tw6dFkSAHjvvffwxz/+ESaTCUBjM/i1JKmyshIZGRlYunQpJk+e7OopiIg8QqaQONxeflpvf9/Z5nMiovbn0k/5hg0bMH36dKSkpGD9+vWYOnVqk/I+ffqgX79++PLLL9sjRiIit5IpHP9qrCh1vqA3Ed16XGpJev311xETE4OtW7dCrVajqKio2T4pKSnYuXNnmwMkInI3mdxxS1LFdS1JRHTrc6kl6cCBAxg9evQNx4pERUWhoqLC5cCIiDxF6qC7rd5gxtWKWg9EQ0Se4lKSZLPZbvrEUWVlJScCJCKv5ChJKj/NrjYiX+NSkpSYmHjDrjSLxYIdO3YgJSXF5cCIiDzFUXfbxVNMkoh8jUtjkrKzs/H8889j3rx5mDt3bpMyq9WK559/HqdPn8aLL77YLkHSrUehUODzzz+3v29pGZE7BGr98VTmXwAA4p9/TZaf1kEqkeONV5aiW5KWdZPIB7R4niSJRILc3Fy8/PLLMJvNGDFiBHbs2IH4+HgolUocOXIEWVlZ2LdvH0pLSzFixAh89dVXt/TyJZwniejWJAgC/vnsdljNNvwuLwPqIAXen7kDVrMNj+emO1x7joi8R0v/fre4u00QBFzLp2QyGfLz8/HSSy/hypUrOHz4MARBwBdffIGqqiq8+OKLWL9+/S2dIBHRrUskEkGlaRx3WVvTgEtlNbCabVCopQgK8/NwdETkLi5PJimXy7FgwQLk5eXhxIkTqKqqQkBAAJKTkyGROH58lugai8WCtWvXAgAefvjhJouI3qiMyB0sFgsOlu6A7lI9RlT3Rs3lxklzw+L88cUXXwBg3STyBW3+CReJREhKSmqPWMiHmEwmPProowAal324/o/NjcqI3MFkMuEfK/8EAHi6MhuVp+oAACGxfhj0IOsmka9o1U84u8+IyNdUXTDiYnENACA8IdDD0RCRO7VqCoDc3FxIJJIWv/i/LCLydke/u4CGOgtUGhlCunFBWyJf0qosJiAgAEFBQR0UChFR5xV/eyjEYramE/mSVrUkzZw5EyUlJa16dYSamhrMmDEDsbGxUKlUGDRoEPbu3Wsvf/LJJyESiZq87r333ibHqKqqQnZ2tj3xmzhxIgwGQ4fES0TeTSIV47ZfR3s6DCJyM6/sD5s0aRIOHz6MTz75BJGRkfj000+RmZmJo0ePIioqCgBw77334qOPPrJ/5r8nfsvOzsbFixdRUFAAs9mMnJwcTJkyBZ999plbr4WIOrcB93VHr7RuCOzqB6PR6OlwiMiNXFqWxJPq6uqwZs0aLFq0CEOHDkVCQgJyc3ORkJCAJUuW2PdTKBQIDw+3v4KDg+1lx44dw+bNm/HBBx8gPT0dQ4YMweLFi7Fq1SpcuHDBE5dFRJ1U/3u7IzyOA7aJfJHXtSRZLBZYrVYolcom21UqFXbt2mX/ftu2bQgNDUVwcDDuuece5OXloUuXLgCAwsJCBAUFYcCAAfb9MzMzIRaLsXv3bjz88MMOz20ymWAymezf6/X69rw0nyKXy+0tfXK5vMVlRO7grA6ybhL5Fq9LkjQaDTIyMjB//nwkJycjLCwMK1euRGFhIRISEgA0drX95je/QVxcHE6dOoU//elPGDVqFAoLCyGRSFBeXo7Q0NAmx5VKpdBqtSgvL3d67oULF2LevHkden2+QiaT4cknn2x1GZE7OKuDrJtEvqXFSZLNZuvIOFrlk08+wVNPPYWoqChIJBKkpaVh3LhxKCoqAgCMHTvWvm9KSgr69euH+Ph4bNu2DcOHD3f5vHPmzMGsWbPs3+v1ekRHczAnERHRrcjrxiQBQHx8PLZv3w6DwYCysjLs2bMHZrMZPXr0cLh/jx49EBISguLiYgBAeHg4Kisrm+xjsVhQVVWF8PBwp+dVKBQICAho8iLXWCwWbNq0CZs2bYLFYmlxGZE7OKuDrJtEvsXrutuup1aroVarUV1djfz8fCxatMjhfufOncOVK1cQEREBAMjIyMDVq1dRVFSE/v37AwC2bNkCm82G9PR0t8Xvy0wmE+6//34AjpclcVZG5A7O6iDrJpFv8cqf8Pz8fAiCgMTERBQXF+OFF15AUlIScnJyYDAYMG/ePGRlZSE8PBynTp3C7NmzkZCQgJEjRwIAkpOTce+992Ly5MlYunQpzGYzpk+fjrFjxyIyMtLDV0dERESdgVd2t+l0OkybNg1JSUkYP348hgwZgvz8fMhkMkgkEvz444948MEH0atXL0ycOBH9+/fHzp07m8yVtGLFCiQlJWH48OG47777MGTIECxbtsyDV0VERESdiUgQBMHTQXgrvV6PwMBA6HQ6jk9qJaPRCH9/fwCN3RZqtbpFZUTu4KwOsm4S3Rpa+vfbK1uSiIiIiDoakyQiIiIiB5gkERERETnglU+3kfeTy+V455137O9bWkbkDs7qIOsmkW/hwO024MBtIiIi78OB20RERERtwO428gir1YqdO3cCAO68805IJJIWlRG5g7M6yLpJ5FvY3dYG7G5zHedJos6M8yQR3drY3UZERETUBkySiIiIiBxgkkRERETkAJMkIiIiIgeYJBERERE5wCSJiIiIyAHOk0QeIZPJsGjRIvv7lpYRuYOzOsi6SeRbOE9SG3CeJCIiIu/DeZKIiIiI2oDdbeQRVqsV+/fvBwCkpaU1W5bEWRmROzirg6ybRL6F3W1twO4213FZEurMuCwJ0a2N3W1EREREbcAkiYiIiMgBJklEREREDjBJIiIiInKASRIRERGRA0ySiIiIiBzgPEnkETKZDHPnzrW/b2kZkTs4q4Osm0S+hfMktQHnSSIiIvI+nCeJiIiIqA3Y3UYeYbPZcOzYMQBAcnIyxGJxi8qI3MFZHWTdJPIt7G5rA3a3uY7LklBnxmVJiG5t7G4jIiIiagMmSUREREQOMEkiIiIicsArk6SamhrMmDEDsbGxUKlUGDRoEPbu3QsAMJvNePHFF5GSkgK1Wo3IyEiMHz8eFy5caHKM7t27QyQSNXm99tprnrgcIiIi6oS88um2SZMm4fDhw/jkk08QGRmJTz/9FJmZmTh69Cj8/f2xf/9+vPzyy0hNTUV1dTWee+45PPjgg9i3b1+T47zyyiuYPHmy/XuNRuPuSyEiIqJOyuuSpLq6OqxZswbr1q3D0KFDAQC5ubnYsGEDlixZgry8PBQUFDT5zDvvvIM77rgDZ8+eRUxMjH27RqNBeHi4W+MnIiIi7+B1SZLFYoHVaoVSqWyyXaVSYdeuXQ4/o9PpIBKJEBQU1GT7a6+9hvnz5yMmJgaPP/44Zs6cCanU+S0xmUwwmUz27/V6vesX4uNkMhmef/55+/uWlhG5g7M6yLpJ5Fu8cp6kQYMGQS6X47PPPkNYWBhWrlyJCRMmICEhASdOnGiyb319PQYPHoykpCSsWLHCvv2NN95AWloatFotvv/+e8yZMwc5OTl44403nJ43NzcX8+bNa7ad8yQRERF5j5bOk+SVSdKpU6fw1FNPYceOHZBIJEhLS0OvXr1QVFRknw0XaBzEnZWVhXPnzmHbtm03vBEffvghnn76aRgMBigUCof7OGpJio6OZpJERETkRW7pySTj4+Oxfft2GAwGlJWVYc+ePTCbzejRo4d9H7PZjEcffRRnzpxBQUHBTZOY9PR0WCwWlJaWOt1HoVAgICCgyYtcY7PZUFpaitLSUthsthaXEbmDszrIuknkW7xuTNL11Go11Go1qqurkZ+fj0WLFgH4JUE6efIktm7dii5dutz0WAcOHIBYLEZoaGhHh01oHIAfFxcHoPnyDjcqI3IHZ3WQdZPIt3hlkpSfnw9BEJCYmIji4mK88MILSEpKQk5ODsxmMx555BHs378fGzduhNVqRXl5OQBAq9VCLpejsLAQu3fvxt133w2NRoPCwkLMnDkTTzzxBIKDgz18dURERNQZeGWSpNPpMGfOHJw7dw5arRZZWVlYsGABZDIZSktLsX79egDAbbfd1uRzW7duxbBhw6BQKLBq1Srk5ubCZDIhLi4OM2fOxKxZszxwNURERNQZeeXA7c6ipQO/qLkbrabOldbJ05zVQdZNolvDLT1wm4iIiKijMUkiIiIicoBJEhEREZEDXjlwm7yfVCrFH/7wB/v7lpYRuYOzOsi6SeRbOHC7DThwm4iIyPtw4DYRERFRG7C9mDxCEARcvnwZABASEgKRSNSiMiJ3cFYHWTeJfAuTJPKI2tpa+xIw/z3fzI3KiNzBWR1k3STyLexuIyIiInKASRIRERGRA0ySiIiIiBxgkkRERETkAJMkIiIiIgeYJBERERE5wCkAyCOkUikmTJhgf9/SMiJ3cFYHWTeJfAuXJWkDLktCRETkfbgsCREREVEbsL2YPEIQBNTW1gIA/Pz8mi1L4qyMyB2c1UHWTSLfwpYk8oja2lr4+/vD39/f/kenJWVE7uCsDrJuEvkWJklEREREDjBJIiIiInKASRIRERGRA0ySiIiIiBxgkkRERETkAJMkIiIiIgc4TxJ5hEQiwSOPPGJ/39IyIndwVgdZN4l8C5claQMuS0JEROR9uCwJERERURswSSIiIiJygEkSeYTRaIRIJIJIJILRaGxxGZE7OKuDrJtEvoVJEhEREZEDTJKIiIiIHGCSREREROSAVyZJNTU1mDFjBmJjY6FSqTBo0CDs3bvXXi4IAv7yl78gIiICKpUKmZmZOHnyZJNjVFVVITs7GwEBAQgKCsLEiRNhMBjcfSlERETUSXllkjRp0iQUFBTgk08+waFDhzBixAhkZmbi/PnzAIBFixbh7bffxtKlS7F7926o1WqMHDkS9fX19mNkZ2fjyJEjKCgowMaNG7Fjxw5MmTLFU5dEREREnYzXTSZZV1cHjUaDdevWYfTo0fbt/fv3x6hRozB//nxERkbij3/8I55//nkAgE6nQ1hYGJYvX46xY8fi2LFj6N27N/bu3YsBAwYAADZv3oz77rsP586dQ2RkZIti4WSSrjMajfD39wcAGAwGqNXqFpURuYOzOsi6SXRraOnfb69blsRiscBqtUKpVDbZrlKpsGvXLpSUlKC8vByZmZn2ssDAQKSnp6OwsBBjx45FYWEhgoKC7AkSAGRmZkIsFmP37t14+OGHHZ7bZDLBZDLZv9fr9e18db5DIpHgvvvus79vaRmROzirg6ybRL7F65IkjUaDjIwMzJ8/H8nJyQgLC8PKlStRWFiIhIQElJeXAwDCwsKafC4sLMxeVl5ejtDQ0CblUqkUWq3Wvo8jCxcuxLx589r5inyTUqnEpk2bWl1G5A7O6iDrJpFv8coxSZ988gkEQUBUVBQUCgXefvttjBs3DmJxx17OnDlzoNPp7K+ysrIOPR8RERF5jlcmSfHx8di+fTsMBgPKysqwZ88emM1m9OjRA+Hh4QCAioqKJp+pqKiwl4WHh6OysrJJucViQVVVlX0fRxQKBQICApq8iIiI6NbklUnSNWq1GhEREaiurkZ+fj4eeughxMXFITw8HN9++619P71ej927dyMjIwMAkJGRgatXr6KoqMi+z5YtW2Cz2ZCenu726/BFRqMRarUaarXa4bIkzsqI3MFZHWTdJPItXjcmCQDy8/MhCAISExNRXFyMF154AUlJScjJyYFIJMKMGTOQl5eHnj17Ii4uDi+//DIiIyMxZswYAEBycjLuvfdeTJ48GUuXLoXZbMb06dMxduzYFj/ZRm1XW1vrUhmROzirg6ybRL7DK5MknU6HOXPm4Ny5c9BqtcjKysKCBQsgk8kAALNnz4bRaMSUKVNw9epVDBkyBJs3b27yRNyKFSswffp0DB8+HGKxGFlZWXj77bc9dUlERETUyXjdPEmdCedJch3nSaLOjPMkEd3aWvr326vHJBERERF1FCZJRERERA4wSSIiIiJywCsHbpP3E4vFuOuuu+zvW1pG5A7O6iDrJpFv4cDtNuDAbSIiIu/DgdtEREREbcAkiYiIiMgBJknkEUajEV27dkXXrl0dLkvirIzIHZzVQdZNIt/CgdvkMZcvX3apjMgdnNVB1k0i38GWJCIiIiIH2JLUBtceDNTr9R6OxPtc31Wh1+thtVpbVEbkDs7qIOsm0a3h2t/tmz3gzykA2uD06dOIj4/3dBhERETkgrKyMnTr1s1pOVuS2kCr1QIAzp49i8DAQA9H4330ej2io6NRVlbGeaZcwPvXdryHbcP713a8h23j6v0TBAE1NTWIjIy84X5Mktrg2oy7gYGBrNxtEBAQwPvXBrx/bcd72Da8f23He9g2rty/ljRucOA2ERERkQNMkoiIiIgcYJLUBgqFAnPnzoVCofB0KF6J969teP/ajvewbXj/2o73sG06+v7x6TYiIiIiB9iSREREROQAkyQiIiIiB5gkERERETnAJImIiIjIASZJLnr33XfRvXt3KJVKpKenY8+ePZ4OyWvs2LEDDzzwACIjIyESifDll196OiSvsnDhQgwcOBAajQahoaEYM2YMTpw44emwvMqSJUvQr18/+wR0GRkZ+Oqrrzwdltd67bXXIBKJMGPGDE+H4hVyc3MhEomavJKSkjwdltc5f/48nnjiCXTp0gUqlQopKSnYt29fu56DSZILVq9ejVmzZmHu3LnYv38/UlNTMXLkSFRWVno6NK9gNBqRmpqKd99919OheKXt27dj2rRp+OGHH1BQUACz2YwRI0Y0WXyVbqxbt2547bXXUFRUhH379uGee+7BQw89hCNHjng6NK+zd+9e/POf/0S/fv08HYpX6dOnDy5evGh/7dq1y9MheZXq6moMHjwYMpkMX331FY4ePYq///3vCA4ObtfzcAoAF6Snp2PgwIF45513AAA2mw3R0dF45pln8NJLL3k4Ou8iEomwdu1ajBkzxtOheK1Lly4hNDQU27dvx9ChQz0djtfSarV4/fXXMXHiRE+H4jUMBgPS0tLw3nvvIS8vD7fddhvefPNNT4fV6eXm5uLLL7/EgQMHPB2K13rppZfw3XffYefOnR16HrYktVJDQwOKioqQmZlp3yYWi5GZmYnCwkIPRka+SqfTAfhlwWVqHavVilWrVsFoNCIjI8PT4XiVadOmYfTo0U1+H1LLnDx5EpGRkejRoweys7Nx9uxZT4fkVdavX48BAwbgt7/9LUJDQ3H77bfj/fffb/fzMElqpcuXL8NqtSIsLKzJ9rCwMJSXl3soKvJVNpsNM2bMwODBg9G3b19Ph+NVDh06BH9/fygUCvz+97/H2rVr0bt3b0+H5TVWrVqF/fv3Y+HChZ4Oxeukp6dj+fLl2Lx5M5YsWYKSkhLceeedqKmp8XRoXuP06dNYsmQJevbsifz8fEydOhXPPvssPv7443Y9j7Rdj0ZEbjVt2jQcPnyY4xlckJiYiAMHDkCn0+GLL77AhAkTsH37diZKLVBWVobnnnsOBQUFUCqVng7H64waNcr+vl+/fkhPT0dsbCw+//xzdve2kM1mw4ABA/Dqq68CAG6//XYcPnwYS5cuxYQJE9rtPGxJaqWQkBBIJBJUVFQ02V5RUYHw8HAPRUW+aPr06di4cSO2bt2Kbt26eTocryOXy5GQkID+/ftj4cKFSE1NxVtvveXpsLxCUVERKisrkZaWBqlUCqlUiu3bt+Ptt9+GVCqF1Wr1dIheJSgoCL169UJxcbGnQ/EaERERzf5Dk5yc3O7dlkySWkkul6N///749ttv7dtsNhu+/fZbjmcgtxAEAdOnT8fatWuxZcsWxMXFeTqkW4LNZoPJZPJ0GF5h+PDhOHToEA4cOGB/DRgwANnZ2Thw4AAkEomnQ/QqBoMBp06dQkREhKdD8RqDBw9uNvXJTz/9hNjY2HY9D7vbXDBr1ixMmDABAwYMwB133IE333wTRqMROTk5ng7NKxgMhib/YyopKcGBAweg1WoRExPjwci8w7Rp0/DZZ59h3bp10Gg09rFwgYGBUKlUHo7OO8yZMwejRo1CTEwMampq8Nlnn2Hbtm3Iz8/3dGheQaPRNBsDp1ar0aVLF46Na4Hnn38eDzzwAGJjY3HhwgXMnTsXEokE48aN83RoXmPmzJkYNGgQXn31VTz66KPYs2cPli1bhmXLlrXviQRyyeLFi4WYmBhBLpcLd9xxh/DDDz94OiSvsXXrVgFAs9eECRM8HZpXcHTvAAgfffSRp0PzGk899ZQQGxsryOVyoWvXrsLw4cOFr7/+2tNhebW77rpLeO655zwdhld47LHHhIiICEEulwtRUVHCY489JhQXF3s6LK+zYcMGoW/fvoJCoRCSkpKEZcuWtfs5OE8SERERkQMck0RERETkAJMkIiIiIgeYJBERERE5wCSJiIiIyAEmSUREREQOMEkiIiIicoBJEhEREZEDTJKIiIiIHGCSRESd1rBhwyASiTwdRosJgoD+/ftjxIgRTba393V88803EIlE+Pe//91uxySi5rh2GxG5RWuTBG9cDOB//ud/sH//fhQWFnboeTIzMzFkyBDMnj0bI0eO5IKyRB2ESRIRucXcuXObbXvzzTeh0+kclgGNSUdtbW1Hh9YubDYbcnNzceedd+JXv/pVh59v9uzZePDBB7Fq1SpkZ2d3+PmIfBHXbiMij+nevTvOnDnjla1G/23Tpk24//778f7772PSpElNyoYNG4bt27e363WazWZERkYiKSkJO3fubLfjEtEvOCaJiDotR2N5li9fDpFIhOXLl2PDhg1IT0+Hn58foqKi8PLLL8NmswEAPv74Y6SmpkKlUiEmJgavv/66w3MIgoAPP/wQgwcPRkBAAPz8/DBgwAB8+OGHrYr1o48+gkgkQlZWltN9zGYzcnNz0b17dygUCvTq1Qvvvfdes/1yc3MhEomwbds2LF++HGlpafDz88OwYcPs+8hkMowZMwa7du1CcXFxq2IlopZhdxsReaW1a9fi66+/xpgxYzB48GBs2rQJeXl5EAQBgYGByMvLw0MPPYRhw4ZhzZo1mD17NsLCwjB+/Hj7MQRBQHZ2NlauXImePXvi8ccfh1wuR0FBASZOnIijR4/ib3/7201jEQQBW7duRWJiIoKDg53uN27cOOzZswejRo2CRCLB559/jmnTpkEmk2Hy5MnN9n/99dexdetWPPTQQxgxYkSzsUcZGRn44IMPsGXLFiQkJLTi7hFRiwhERB4SGxsr3OjX0F133dWs/KOPPhIACDKZTNizZ499u16vF0JDQwU/Pz8hPDxcOHXqlL3s7NmzglwuF1JSUpoca9myZQIAIScnR2hoaLBvN5lMwgMPPCAAEPbt23fT6zhy5IgAQMjOzr7hdaSnpws6nc6+/fjx44JUKhUSExOb7D937lwBgKBWq4Uff/zR6XkPHjwoABDGjx9/0xiJqPXY3UZEXumJJ57AwIED7d9rNBrcf//9qK2txdSpU9GjRw97WXR0NIYMGYKjR4/CYrHYt7/zzjtQq9V49913IZPJ7NvlcjkWLFgAAFi5cuVNYzl37hwAICws7Ib7LVy4EAEBAfbvExMTMXjwYJw4cQI1NTXN9p8yZQpSUlKcHu/a+a6dn4jaF7vbiMgr3Xbbbc22RURE3LDMarWioqICUVFRqK2txaFDhxAZGYm//vWvzfY3m80AgOPHj980litXrgAAgoKCbrhf//79m23r1q0bAODq1avQaDRNyu64444bHk+r1QIALl++fNMYiaj1mCQRkVe6vkXmGqlUetOya8lPdXU1BEHA+fPnMW/ePKfnMRqNN41FpVIBAOrr612O2Wq1Niu7WctUXV0dAMDPz++mMRJR6zFJIiKfdC1h6d+/P/bt29emY3Xt2hUAUFVV1ea4rnezCTivne/a+YmofXFMEhH5JI1Gg+TkZBw7dgxXr15t07H69OkDsViMEydOtE9wLXTtfDcat0RErmOSREQ+69lnn0VtbS0mT57ssFutpKQEpaWlNz1OUFAQ+vXrh3379tnnaXKH3bt3AwDuuusut52TyJcwSSIin/X0009jwoQJ+OKLL9CzZ0+MHz8eL730EnJycpCRkYH4+Hj88MMPLTrWww8/jJqamhbv3x4KCgoQHByMoUOHuu2cRL6ESRIR+axrM3evXr0affr0wcaNG/HGG2+goKAASqUSf/vb35CZmdmiY02aNAlSqRSffvppB0fdqLS0FN999x0mTJgApVLplnMS+Rqu3UZE1E5+97vfYdOmTThz5kyzx/nb25///GcsWrQIx44dQ3x8fIeei8hXsSWJiKid5OXloa6uDosXL+7Q81RXV2Px4sWYOnUqEySiDsQpAIiI2klsbCw+/vhjVFRUdOh5SkpKMHPmTDzzzDMdeh4iX8fuNiIiIiIH2N1GRERE5ACTJCIiIiIHmCQREREROcAkiYiIiMgBJklEREREDjBJIiIiInKASRIRERGRA0ySiIiIiBxgkkRERETkwP8DtdjRaibAH04AAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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fftZs2axbt06li1bxq+//sratWvZvn27w2vcf//9bN68ma+++ordu3dz8803M3z4cI4cOVKpYzMajSxcuJDY2FiioqIqtU1NkXGShBBCiNKK82F+RN289r+SwdXrosX0ej1hYWGA7Vb3MWPG0KdPH5566qkKt5s6dSq33norAPPnz+f1118nPj6e4cOH8/bbbxMVFcWbb76Jpmm0bduW5ORkZs+ezZw5c8jPz+ejjz7is88+Y8iQIQAsWrSIyMhI+/4TExNZuHAhiYmJRETY3sNHHnmEFStWsHDhQubPn19u3d5++20effRRjEYjbdq0YdWqVbi6ul70vahJ9e5M0vr16xk1ahQRERFomsbSpUsd8pVSzJkzh/DwcDw8PBg6dKhDdLp27VqnpyA1TWPLli1A+acp//zzz9o8VCGEEOKy3XXXXeTm5vLFF1+g01X8td65c2f7upeXF76+vqSlpQFw4MAB+vTpg6Zp9jJ9+/YlLy+PU6dOcezYMYqKiujdu7c9PyAggDZt2tif79mzB4vFQuvWrfH29rYv69at49ixYxXWbdKkSezYsYN169bRunVrJkyYQGFh4SW9F9Wt3p1JMhqNdOnShbvuuotx48aVyV+wYAGvv/46ixYtIjY2lieffJJhw4axf/9+3N3dueaaazh9+rTDNk8++SSrV6/mqquuckj/7bff6NChg/15YGBgzRyUEEKIhsPgaTujU1evfQnmzZvHypUriY+Px8fH5+K7v2CkeE3TqnU4i7y8PPR6Pdu2bUOv1zvkeXt7V7itn58ffn5+tGrViquvvpomTZqwZMkS+5mvulDvgqQRI0YwYsQIp3lKKV599VWeeOIJRo8eDcCnn35KaGgoS5cuZeLEibi6utpPQQIUFxezbNkyZsyY4RAdgy0oKl1W1B6DwcAjjzxiX69snhC1obw2KG3zCqFplbrkVdcWL17MM888wy+//EKLFi0ue3/t2rVj8eLFKKXs35cbN27Ex8eHyMhIAgICMBgMxMXFER0dDUBmZiaHDx9m4MCBAHTr1g2LxUJaWhr9+/evcl2UUiilMJlMl31cl0XVY4BasmSJ/fmxY8cUoHbs2OFQbsCAAeqf//yn03189913SqfTqZMnT9rTEhISFKCioqJUcHCw6tu3r1q2bNlF61NYWKiys7Pty8mTJxWgsrOzq3R8Qggh6lZB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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlcAAAHOCAYAAAC1uiySAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAACqrUlEQVR4nOzdd3gUVdvA4d/sZje9kE4kCb0TuvSmNAEBe0EBRXxBwIIVK4gFRT67YkVQfF8UFRQVaQJK7x2UXlMIpG2SrfP9sdnNbnoPIc99XcOUc2bmTJhkn51z5hxFVVUVIYQQQghRITTVXQAhhBBCiKuJBFdCCCGEEBVIgishhBBCiAokwZUQQgghRAWS4EoIIYQQogJJcCWEEEIIUYEkuBJCCCGEqEASXAkhhBBCVCAJroQQQgghKpAEV+KK8u+//zJ58mRatmyJr68vXl5e1KtXj86dOzN58mR++OGHIvdfvnw5o0aNokGDBvj4+BAQEEDLli2ZPHkyBw4cKHS/tWvXoihKiabCGAwG3nvvPQYPHkxUVBSenp74+fnRrFkz7rnnHpYuXYrNZivxz2Ls2LH5zu3h4UFYWBgDBgxgwYIF5B1goazX4bpfZGQkBoOhwDKdPXu22J+DEMKd43f5q6++cts+ffp0FEVh+vTp1VIuUXk8qrsAQjj8+OOP3H333RiNRkJCQujRowdhYWFcvnyZ3bt38+GHH/K///2PW265Jd++aWlp3H333fz6668AtGrVimHDhmE2m9m+fTsffvghH3/8Mc888wyvvPJKkcHBmDFjSl32FStWcM8995CUlISHhwcdO3akV69eWCwWjh07xsKFC1m4cCGdO3dm69atpTp2o0aN6NmzJwDZ2dns37+fVatWsWrVKpYuXcp3332HVqutkOsASEhIYM6cObz44otl2r8gY8eOZf78+cybN4+xY8dW2HFF8Rz3uox0Jgozffp0ZsyYwUsvvSSBXkVRhbgCxMfHq35+fiqgPv7442pWVla+PNu3b1efeeaZfNuNRqPapUsXFVAbNGig/v33327pNptNXbBggerj46MC6mOPPZbvGH/++acKqGX5lVi2bJmq1WpVQL3//vvVhISEfHlOnTql/uc//1Hr1KlT4uOOGTNGBdQxY8bkS/voo4+c5f3iiy/KfR2O/by9vVVFUVR/f381MTExX74zZ86U6fiOa5k3b16p9hPlV9b7WlScwu7/pKQk9dChQ2pSUlL1FCzHSy+9pALqSy+9VK3luJpItaC4IixbtoyMjAyioqJ466238PLyypenY8eOvP766/m2z5gxgy1bthAUFMSff/5Jjx493NIVReHee+9l0aJFALz99tusWrWqQsqdnJzMPffcg9Vq5eGHH+aLL74gPDw8X76YmBjmzp3LkiVLKuS8EydOpE+fPgB89913FXJMgKioKG699VbS09N55ZVXKuy4Qoj8QkNDad68OaGhodVdFFHBJLgSV4SEhAQAwsLCSrVfeno6H3zwAQAvvPACsbGxheYdNmwYw4cPB+DVV18tY0ndffDBB6SkpBAeHs6bb75ZbP7evXtXyHnBHmwCnDx5ssKOCfafjYeHB3PnzuXEiRPlOtbJkydRFIX58+cDcN9997m1+8pbBZGVlcWcOXPo2rUrQUFBeHl50axZM5566imSk5PzHf+rr75CURTGjh1LamoqU6dOpX79+nh5edGkSRPeeOMNZzu3c+fO8Z///Ifo6Gg8PT1p1qwZ77//foHl7tu3L4qisHbtWtatW8fAgQMJDg7Gx8eHa6+9lq+//rrI6169ejU333wzdevWRa/XEx4ezk033cSmTZsKzO/ajm3evHl069aNwMBAFEVx/v+eOnWKN954g+uuu46YmBg8PT0JCgqiZ8+efPLJJ/na8zna8+Q9h2NyHLe4dj+O9nh9+/YtdHtmZiYvvvgiLVq0wMfHh/r167vl3bFjB6NGjXKWOzg4mEGDBvHbb78V+XMsTHJyMg8//LDzeLGxsTz66KOkpKQU2r7Jdfv+/fu54447qFu3Llqt1nntZrOZb775hlGjRtG8eXMCAgLw9vamWbNmPPzww5w/f77QMl26dIlHH32U2NhYPD09iYmJYfLkyVy6dKnQfYr72f/zzz/85z//oVGjRnh5eREYGEjv3r355ptvCszvet/u3r2bm2++mdDQUDw9PWnZsiVz5szJVz2sKAozZswA7F9UXe8RqcIvO2lzJa4IMTExAOzfv5/Vq1dz/fXXl2i/NWvWkJaWBsC9995bbP7Ro0fz888/s379elJTUwkMDCx7oYGlS5cCcMcdd+Dp6VmuY5WW47or+rxNmjRh/PjxfPzxxzz//PMsXLiwzMfy8/NjzJgx/P333xw7dowePXrQuHFjZ3q7du2cy+fPn2fw4MHs27eP4OBgOnfujL+/Pzt37mT27Nl8//33rF27tsAAOiUlhW7dupGcnEyvXr1IT0/nr7/+4plnnuHs2bM8+uij9OzZE51OR/fu3UlKSmL9+vU8/PDDZGZm8vTTTxdY/p9++okPPviA5s2bM2jQIM6fP8/ff//N6NGj2b17N3PmzMm3zxNPPMGcOXPQaDR06tSJXr16cfr0aZYuXcovv/zCZ599xn333Vfg+aZMmcJHH31E9+7dGTp0KMePH3cGSF9//TUvvPACDRo0oGnTpvTo0YMLFy6wadMmNmzYwIoVK1i8eLEzf7t27RgzZowzsM3bBs/Pz6+I/7mSy87Opm/fvhw8eJDevXvTtm1bt0D43XffZerUqdhsNtq1a0eXLl2Ij49n7dq1rFixghkzZpSqfd+FCxfo1asXx44dIzg4mGHDhmGz2ViwYAHLly+nRYsWRe6/ceNGJkyYQN26denduzdZWVn4+/sD9i959957L4GBgbRo0YK4uDgMBgO7d+/m/fff53//+x8bN250u4cd+/Xq1Yt///2XOnXqOMu0cOFCli9fTqtWrUrxE7X7/vvvGT16NNnZ2TRv3pwhQ4aQmprKli1buPfee1mzZg1ffvllgfv+8ccf/N///R+NGjViwIABXLhwgb///psnnniCM2fO8M477zjzjhkzht27d7Nnzx7atm3r9jvpaOspyqC66yWFUFVVTU9PV6+55hoVUBVFUfv27avOnDlT/fXXXwts++PwwgsvONtalcSpU6ecbVDWrFnj3F6Wtkpms1nVaDQqoC5YsKDE+5VUUW2uDAaDGhMTowLq6NGjndvL2+aqUaNGqqqq6oULF1RfX19VURR1165dznyV1ebKZrOpPXr0UAF13LhxalpamjPNbDarjz/+uAqo/fr1c9tv3rx5zvLceOONqsFgcKbt2LFD9fDwUDUajdqyZUt1woQJqtlsdqYvWbJEBdSAgAC3/VRVVfv06eM87muvveaWtnbtWtXb21sF1OXLl7ulffrppyqgNm7cWN2zZ49b2rp161R/f39Vr9er//zzj1ua41wBAQHqpk2bCvwZbd26Vd23b1++7efOnVPbtm2rAup3332XL724/6/i2ts47o0+ffoUuB1Q4+Li1AsXLuTbd/ny5aqiKGpoaKi6bt06t7S9e/eq9erVUwF17dq1hZYv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Rx245ZZbeOutt+jfv7+zGh3gjTfeICQkhOjoaKZMmcK7777L9ddfT69evQgODmbPnj2cPn2aZ555ptjfmcLceOONvPvuuzz++OMMHz6cxo0b06xZMwIDA0lKSmLPnj3Op74l/cLz8ccfs3fvXtasWUODBg3o06cPqqqybt06QkJCGD58OD///HOZ3ih+6aWXuPXWW3nhhRf47rvvaNWqFYmJifz111/06tWLqKioAr8Afvjhh+zZs4e1a9fSoEED+vbti6qq/Pnnn25lKqkOHTrwzTffMHbsWMaOHcvzzz9Py5YtCQsL49KlS+zbt4+zZ89yxx13cPPNN5f6OvMaNGgQvr6+LFmyhJ49e9KkSRO0Wi09evQotMNbUYyq7flBiIKlpaWpS5YsUadMmaJee+21ar169VSdTqd6e3urjRo1Uu+66y71999/L/Y4v/76q3rnnXeqMTExqpeXl+rn56c2a9ZMnThxorp3795C9ytp/1CAW6eartLT09W3335bHTBggBoZGanq9XrVx8dHbdq0qXrPPfeoy5YtU202W4l/JkV1IlrR11FQP1d5bdmyxW3/0vrpp5/UHj16qP7+/s6+iPL2q5Odna3OnTtX7devnxoSEqJ6eHio4eHhart27dRJkyapf/zxh1t+Rz9Xhf2Miuu/p7D+txz9Bf3555/q6tWr1euvv14NDAxUvb291U6dOqlfffVVkde6YcMGddSoUWpsbKzq6emp+vv7q02bNlVHjhypfv755+qlS5fc8pfkZ2oymdTZs2erbdq0UX18fNTg4GB14MCB6ooVK9QTJ06ogBobG5tvv6ysLPWpp55SGzdurOr1eue5Tpw44cxjs9nUOXPmqC1atFD1er0aHBys3njjjeqOHTuK7ecq7/aC7Nu3T33wwQfVJk2aqF5eXqqPj4/asGFDddCgQep7772nnjt3rthjuEpMTFQnTZqk1qtXT9Xr9Wp0dLQ6adIkNTk5Wb3uuutUIN+9UtLBw9evX69ef/31amhoqOrj46O2bt1affXVV1Wj0eh2X+R18eJFdcqUKc4y1atXT50wYYKalJRU6LmLuz9PnDihPvbYY2rr1q1VX19f1cvLS42NjVX79u2rzpo1Sz169Khb/qLKV9z51q9fr/bv31+tU6eOs3Pk0vztEe4UVb2CGjgIIcQVoG/fvqxbt44///wz35h6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8/Nj3bp1WCwWJk2axB133MHatWsB+O6775g+fToffvghPXv25Ouvv+a9996jYcOGznMsXLiQF198kQ8++ID27duza9cuxo8fj6+vL2PGjKnoH0Glk+BKCCGEqGJZZistX/yjWs598OVB+OhL/vEfFxfHSy+9BECTJk344IMPWL16NQMGDGD16tXs27ePEydOEB0dDcCCBQto1aoV27Zto3PnzrzzzjuMGzeOcePGAfDKK6+watUqsl1GinjppZeYM2cON998MwANGjTg4MGDfPLJJzUyuJI2V6LGsFgs/Prrr/z6669YLJYSpwlRFeT+FFeruLg4t/W6des6h4k5dOgQ0dHRzsAKoGXLlgQFBXHo0CFnni5durgdo1u3bs5lg8HAsWPHGDduHH5+fs7plVde4dixY5V1WZVKnlyJGsNoNDJs2DDAPoSI6/hsRaUJURXk/hSl4a3TcvDlQdV27tLQ6XRu64qiYLPZKqw8GRkZAHz22Wf5grDy9JJeneQ3XAghhKhiiqKUqmruStWiRQvOnDnDmTNnnE+vDh48SEpKCi1btnTm2bJlC6NHj3but3nzZudyREQEUVFRHD9+nFGjRlXtBVSSmv8/K4QQQohq0b9/f9q0acOoUaN45513sFgsPPTQQ/Tp04dOnToB8MgjjzB27Fg6depEjx49WLhwIQcOHHBr0D5jxgwefvhhAgMDGTx4MEajke3bt3P58mWmTp1a4LkzMjI4evSoc/3EiRPs3r2b4OBgYmJiKvfCiyFtroQQQghRJoqisHTpUurUqUPv3r3p378/DRs2ZNGiRc48d9xxBy+88AJPPfUUHTt25NSpU0ycONHtOA888ACff/458+bNo02bNvTp04evvvqKBg0aFHru7du30759e9q3bw/A1KlTad++PS+++GLlXGwpKKqqqtVdiNokLS2NwMBAUlNTCQgIqO7i1CgGgwE/Pz/A/o3F19e3RGlCVAW5P0VhsrOzOXHiBA0aNMDLy6u6iyOKUNT/VWk+v+XJlRBCCCFEBao1wVX9+vVRFMVtmjVrlluevXv30qtXL7y8vIiOjubNN9/Md5zvv/+e5s2b4+XlRZs2bfjtt9+q6hKEEEIIUQPUqgbtL7/8MuPHj3eu+/v7O5fT0tIYOHAg/fv3Z+7cuezbt4/777+foKAgHnzwQQA2btzIXXfdxeuvv86w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Oztbrt7gwYPlJof08vLClStXkJqaiqeeeuqeY0xJScGqVavu+fNERETU3rp167B582ZkZWXB1dUVxcXFmD9/PszNzREdHa3W2DS65+qVV15BWVlZl6+/zroNADt37sSgQYMUSpi8vb1x4cIFcdna2ho1NTVydWpqajodowUAr7/+Oq5fvy6+qqqqurmXRERE6uHv74/o6GjExcVh4MCBsLa2RlJSklydyspKBAUFwcTEBGZmZpg9e3a735Vr166FlZUVTE1NER4ejqampnZt7dixA87OzjAwMICTkxM2bdrUZWzff/89goKCMH36dAwfPhzPPvsspkyZguPHj/d4v3tKo3uuhgwZ0q3ZrwVBwM6dOzF37lzo6uretX5JSQlsbGzEZR8fH+Tl5SEmJkZcl5ubCx8fn063oa+vD319fYVjJCKi+58gCBBu3lRL2xJDw27dVJGVlYXY2FgUFRWhsLAQ8+bNg6+vLyZPngyZTCYmVgUFBWhpaUFUVBRCQkJw9OhRAEB2djaSkpKwceNGTJw4ER988AE2bNgg1/mxe/duJCQkICMjA+PGjcPp06exYMECGBsbIywsrMO4JkyYgG3btuGnn37CyJEj8cMPP+Dbb7/FO++806PjowwanVx111dffYWKigpERES0K8vKyoKenh7GjRsHAPjvf/+L999/Hzt27BDrLF26FH5+fli/fj2mT5+OvXv3ori4GNu2bVPZPhARkeYTbt7Ejw973L1iLxh16iQkRkYK13d3d0diYiIAwNHRERkZGcjLy8PkyZORl5eHM2fOoKKiAnZ2dgCAXbt2wdXVFSdOnICXlxfS0tIQHh6O8PBwAEBycjKOHDki13uVmJiI9evX45lnngEAODg4oLS0FFu3bu00uYqPj0d9fT2cnJygra2N1tZWrF69GqGhofd0XJSpXyVX7733HiZMmCA3Buuv3nzzTVy+fBk6OjpwcnLCvn378Oyzz4rlEyZMwJ49e7BixQr861//gqOjIw4cOIDRo0eraheIiIhUyt3dXW7ZxsYGtbW1AO6Ma7azsxMTKwBwcXGBhYUFysrK4OXlhbKyMixcuFBuGz4+PsjPzwcASKVSlJeXIzw8HAsWLBDrtLS0wNzcvNO4srOzsXv3buzZsweurq4oKSlBTEwMbG1tO03IVKVfJVd79uzptCwsLEyhL2PWrFmYNWuW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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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wWBQa9asueLtVq5cqQAFqMTExMuuv3z5cgUoXddVcnKyZ/m6des8+7karVq1UoB6/PHHr2q7KzF8+HAFqOHDhxdaPnr0aAWomJgYz7KSPo+87erXr6+UUmrs2LEKUA888IDXeidOnLiq/Z89e1YNHz5c1a9fXwGqY8eOavjw4Z7bJ5984ln35MmTqnnz5gpQERERqkePHuree+9VtWvXVoCqU6eO+v333732v3jxYgWofv36qSZNmqjIyEg1YMAA1atXLxUQEKAANW7cOPXbb7+patWqqejoaDVo0CDVrVs3ZTAYFKCef/75AvXu0qWLAtT48eOVruuqadOmasiQIapz585K13UFqEmTJhX6nCdPnuw5x26++WY1cOBA1a5dO6VpmjIYDOq///1vgW3yXtNx48YpXddVp06d1P3336/atWvnec7PPPOMAlTdunXVbbfdpoYMGaK6dOmizGazAlT//v2Vy+Xy7POTTz7xnEN551H+29mzZ5VSSs2YMUMBasaMGYU+n7xzo0uXLoUub9eunWrbtq0KCgpSffv2VYMHD1Y9evTwrLdgwQLPa9ayZUt13333qU6dOnnqPWvWrEKPW5S89+avf/2rMhqNqlWrVmrw4MGqZcuWClAWi0X9+OOP6tVXX1W6rqsOHTqoQYMGqYYNGypABQcHq19//bXI9+BSd999twLUkCFDvJbv3r1bWa1WZTQa1Y8//uhVtmzZMmW1WhWgGjdurO69917VvXt3FRQUpAA1cuTIAsdJSEhQDRo0UICqVKmS6t+/v7rnnntUeHi4ql+/vqceixcvvuLXKu+9HTZsmKpcubKKiopSAwcOVHfeeaenLh07dlRZWVle2+X9nYeFhalbbrlFDRw4UN1+++2qRo0aClBVq1Yt9DXMe28effRRr7+bXr16qffff19NnjxZdezY0fNZk/98nDNnjmc/eeftpc/1+++/9xy/U6dOavDgwapXr16qcuXKClA33nijOnfuXJH1Wrdu3RW/dn8WEjBVQGlpaapmzZoKUJqmqa5du6pnnnlGffnll8UGQk8//bTnS+RKHDt2zPPB+N1333mWlyTQsNvtni+CJUuWXPF2V6q4gCkjI0PVqlXL82GYx1cB0+nTp1VQUJDSNE3t2rXLs97VBkyXPpeiPuxdLpfng3TUqFEqNTXVU2a32z1BSLdu3by2ywuY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3HPPPZw5c4aRI0cyduxYbrzxRkJDQzEYDPzyyy80atTouiSnvFx2+qLqnLddcHBwoclmr1Vpv+e//vqr5ypHpRRbt27llltu8Von/2t1JYljLxdIlqb85860adP45JNPaNy4Mc8//zxt27alSpUqnpb9Dh06sGnTpiLPt6LOiWs1evRofvjhB9q3b8+sWbNo0aIFlSpVwmQyAe60KKdPn65QSVolYBKF6tWrF5999pnX5bvdu3cnJCSEtLQ0lixZwuTJk4vdx5IlSwC49dZbi22duVL9+vVj9+7dfPjhh8ydO7dMfQD6gtls5plnnuHBBx/k73//O99+++11OU7er/F+/frx17/+9bocoySKSquQd0m+1WqlcuXKwMXnULlyZZ8HuBs3buTMmTPExsby3//+t0D5r7/+WuJ9530JFnbZPLjTGZRE3uuhaRr//e9/r2vQer1lZ2czaNAg0tLSGDp0KMuXL2fKlCl06NCBNm3aeNarUqUKAQEBZGVlMW/evCID40vVrFkTKD5FyLWkDykuPUjefm+44QbPsrzcbh9++CExMTEFtrmW862kMjIy+Oqrr9B1na+++qrA53dGRgYJCQmlXi9/+/P+VYkSu5JfBHldEfn/sENDQ3nssccAmD17drEf7l988QWff/45AH/729+upboejz/+OGFhYSQmJvLkk09edv38OWL+LIYOHUqLFi349ddfeeutt0q0j7wvZYfDUWh53759Afjoo4/K1K/DonLm5AXenTp18oy5yvsVfuDAgWLnLSyJvDw8RXVDFZfbJ+/Xd1Gvfd6XdVGZrvPGl12tGjVqEBMTQ1paGt98802J9lFWPPHEE+zevZtu3bqxZMkS5s+fT05ODoMGDfLK/WMwGOjZsydwdQllO3fujKZp7Ny5k0OHDhUo//nnn0vcHQfuqZsKGzbw1Vdfcf78eUJCQrzG3eWdb4XltVu1alWBnFNX43KfBUVJSUnB6XQSGhpa6I/d9957r0x9dpQWCZgqoNdff53hw4cXOvhTKcWKFSs8CSqHDBniVT5z5kzatGlDcnIy3bp1K7APlTs1St4gzMcff5xevXr5pN6VK1dmyZIl6LrOv//9b0aPHl3oB9PJkycZN24c99xzj0+OW5o0TfNkWF+wYEGJ9pEX5BYVSPTr188zz97IkSMLHdNy4cIFFi1adNUftNdix44dBRKS/vDDD7z22msATJw40bPcZDIxY8YMlFLce++9hY6zcDqdfPfdd2zevPmq6tGkSRPAnRDzwIEDXmVvvvmmJ4t9YS732nfv3h1d11m1ahUbNmzwLFdK8fLLL192wuvi5GWLHzlypOfHSn5KKbZs2XLdWi594f333+fNN98kKiqK999/H13Xeeyxx7jvvvuIj48vMC3RjBkzMJvNTJkyhbi4uEK7NPft28eKFSs8j2vVqsW9996Ly+Vi7NixXmODLly4wKOPPnpNwUBWVhZjx471SlJ56tQpT4v8I4884nVRRN75dmli18OHD/PII4+UuB5w8Xy89Dy+nKioKCpVqkRycnKBxLGbN29m2rRp11SvP63SvShPlAX/+te/PJfNVq1aVfXq1Us98MAD6vbbb/fkQAHU//3f/xXIwaGUUsnJyapPnz6e9Zo3b64GDRqk7r33Xk+uF13X1dSpUwtcBqyU9yXSlyb4u/R27NixAtt/9dVXqkqVKgpQRqNR3XLLLWrw4MFqwIABqmXLlkrTtKtKf6DU5RNXFqakz6OwtAKX6tq1q1dqgqvx888/K13Xla7rqkePHmrkyJFq1KhR6tNPP/Wsc/LkSU/ywaCgINWhQwc1ZMgQ1b9/f9WyZUtPosn8lz9f7hLly10yX9Tly5cmrmzWrJm6//77VZcuXTy5t5544olC9zllyhTPa9SsWTPVr18/NWTIENW1a1cVHh6uyJfPJ8+VvKb9+vVTgDKbzapXr15qyJAhqnHjxkrTNPX3v/9dAap27doFtvvrX/+qAFWlShU1aNAgNWrUKDVq1CivBH9PPPGEJ01F165dVf/+/VX9+vWVyWRSTz31VLFpBS5dfql///vfymg0KnDnp7rjjjvUAw88oHr27KkiIyMVoJ588sli95Hf5S4Rz0t0Gh8fX2h5Ua91YcsPHTqkgoODla7rau3atV5lycnJql69egpQCxYs8CpbtmyZCgwMVIC64YYbVK9evdTQoUNV3759PZ9HgwcP9trm9OnTngSvERERqn///uree+/1WeLKiIgIVa1aNTVw4EB11113eRJXtm/f3is/k1JKffzxx57PrObNm6shQ4ao7t27K5PJpLp37646dOhQ6HtwJZfv22w2T/qNVq1aqWHDhqlRo0apF1980bNOUX+X+b8n2rVrp+6//37VsWNHpWmaevDBB4t878tzWgEJmCqg1NRUtXLlSvX444+rm2++Wd1www3KZDKpgIAAVb9+fXX//ferr7/++rL7+fLLL9WQIUNUrVq1lNVqVcHBwapRo0Zq7Nixas+ePUVud6X5iwCvRI75paWlqX/961+qZ8+eqlq1aspsNqvAwEDVsGFD9X//93/qiy++KDRYK8q1BkxX8zyuJGDasmVLiQMmpdyZpzt27KhCQkI8H8aXBjLZ2dlq0aJFqlu3bqpy5crKaDSqyMhI1bJlS/XYY4+pVatWea1/vQOmdevWqbVr16rbbrtNhYWFqYCAANWmTRv1zjvvFPtcf/zxRzV06FBVu3ZtZbFYVEhIiGrYsKG655571Ntvv62SkpK81r+S1zQnJ0fNnTtXNW/eXAUGBqqIiAjVq1cv9e2336r4+PgiA6asrCw1depUdeONN3qya1/6peJyudT8+fNVkyZNlNlsVhEREequu+5SO3bsuGwepssFTEoptXfvXvWXv/xFNWjQQFmtVhUYGKjq1aunevfurV5++WV18uTJy+4jT2kFTJmZmZ48XUWdP9u3b1cWi0WZzWavfGhKKRUfH68mTpyobrrpJhUUFKSsVquqXbu26tq1q3r++efVb7/9VmB/586dU48//ri64YYblNlsVjfccIN65JFHPBnzSxowzZgxQx09elTdf//9KioqSpnNZnXjjTeq6dOnF0jammfjxo3qtttuU1WqVFGBgYHqpptuUs8++6yy2WxFvgdXGpjs3btX3X333apq1aqeHyD5z6PinuvKlStVhw4dVHh4uAoODlZt2rRRr7/+unK5XBUyYNKUqoAdkUKIMqNr165s2LCBdevWFZhDTYg/i5kzZzJr1ixmzJhR5FyB4s9NxjAJIYQQQlyGBExCCCGEEJchAZMQQgghxGWUuzFMc+bMYcWKFRw6dIiAgAA6dOjACy+8QKNGjYrd7qOPPuLpp5/m999/p0GDBrzwwguFzo8khBBCiIqn3LUwbdiwgccee4zNmzezevVq7HY7vXr1IiMjo8htfvrpJ+6//35GjRrFrl27uOeee7jnnnvYt29fKdZcCCGEEGVVuWthutTZs2eJjIxkw4YNdO7cudB1Bg8eTEZGBl988YVn2S233ELLli1ZtGhRaVVVCCGEEGVUuZ9LLiUlBYCIiIgi19m0aROTJk3yWta7d29WrlxZ5DY2m81rFm6Xy0VSUhKVK1e+7OzpQgghhCgblFKkpaVRo0aNYudhLNcBk8vlYsKECXTs2JGbbrqpyPUSEhKIioryWhYVFVXs5IJz5sxh1qxZPqurEEIIIfznxIkTXvOnXqpcB0yPPfYY+/btK3SeqWs1bdo0r1aplJQUatWqxYkTJwgNDfX58cozh8PB2rVrAbjttts8E6xerkyI0vDNv6dxcuFKAOq/MpiuPWd6yuT8FOLPLzU1lejoaEJCQopdr9z+dY8bN44vvviCjRs3FhsxAlSrVo0zZ854LTtz5gzVqlUrchuLxYLFYimwPDQ0VAKmq5SRkcGgQYMASE9PJygo6IrKhCgNRqORSadPAfClQff6+5bzU4jy43LDacrdVXJKKcaNG8cnn3zCd999R926dS+7Tfv27T2/EvOsXr2a9u3bX69qCiH+LPJ9hirl8l89hBB+Ve5amB577DHef/99Pv30U0JCQjzjkMLCwggICABg2LBh1KxZkzlz5gDwxBNP0KVLF+bPn88dd9zBBx98wPbt23nzzTf99jyEEGWEV8BUri8qFkIUo9y1MC1cuJCUlBS6du1K9erVPbcPP/zQs87x48c5ffq053GHDh14//33efPNN2nRogXLly9n5cqVxQ4UF0JUDF7N9C5pYRKioip3LUxX8gtw/fr1BZYNHDiQgQMHXocaCSH+zFS+gElamERRnE4ndrvd39UQhTCZTBgMhmveT7kLmIQQwpc06ZITxVBKkZCQQHJysr+rIooRHh5OtWrVrilPogRMQghRHOmSE8XIC5YiIyMJDAyUxMVljFKKzMxMEhMTAahevXqJ9yUBk/A7s9nMq6++6rl/pWVClAaD0cA/It2JbS9t1Zfzs2JzOp2eYKly5cr+ro4oQt4FX4mJiURGRpa4e04CJuF3JpOJxx577KrLhCgNRqOBBypVAuDYJdMmyPlZseWNWQoMDPRzTcTl5L1Hdru9xAFTubtKTgghfCt/F4uMYRIFSTdc2eeL90hamITfOZ1Ovv/+ewBuvfVWr+i/uDIhSoMTxZbMDDSgisPhXSbnpxAVhgRMwu+ys7Pp1q0bUHB6ieLKhCgN2Vkw8sQJAFbYvAMmOT+F8DZz5kxWrlzJ7t27/V0Vn5MuOSGEKEbahZqe+y5JKyDEdbdx40buuusuatSogaZprFy50t9VAiRgEkKIKycBkxDXXUZGBi1atOC1117zd1W8SMAkhBDF8Upc6fRfPYTwoa5duzJ+/HimTp1KREQE1apVY+bMmV7rHD9+nH79+hEcHExoaCiDBg3izJkzXus8//zzREVFERISwqhRo8jOzi5wrLfffpsmTZpgtVpp3Lgxr7/+erF169u3L7Nnz+bee++95ufpSzKGSQghiqHluzJOMn2Ly1FKkWX3T2AdYDJc1dVgcXFxTJo0iS1btrBp0yZGjBhBx44d6dmzJy6XyxMsbdiwAYfDwWOPPcbgwYM904stW7aMmTNn8tprr9GpUyfeffddXn75ZerVq+c5xtKlS5k+fTqvvvoqrVq1YteuXYwZM4agoCCGDx/u65fgupKASQghrpCSTN/iMrLsTppOX+WXYx/4Z28CzVf+tR4TE8OMGTMAaNCgAa+++ipr166lZ8+erF27lr179xIfH090dDQAS5YsoVmzZmzbto22bduyYMECRo0axahRowCYPXs2a9as8WplmjFjBvPnz6d///4A1K1blwMHDvDGG2/86QIm6ZITQojiaPnvSguTKD9iYmK8HlevXt0zhcjBgweJjo72BEsATZs2JTw8nIMHD3rWadeundc+2rdv77mfkZHBkSNHGDVqFMHBwZ7b7NmzOXLkyPV6WteNtDAJvzOZTLz44oue+1daJkRpMOo697T7CwCanuFVJuenuFSAycCBf/b227GvxqXnrKZpuHzYipqeng7AW2+9VSCw+jPmLJOASfid2WxmypQpV10mRGkwmYz0aDkYAKPhHa8yOT/FpTRNu6pusbKqSZMmnDhxghMnTnhamQ4cOEBycjJNmzb1rLNlyxaGDRvm2W7z5s2e+1FRUdSoUYOjR48ydOjQ0n0C18Gf/10VQojrKl83nAz6FhVEjx49aN68OUOHDmXBggU4HA4effRRunTpQps2bQB44oknGDFiBG3atKFjx44sXbqU/fv3ew36njVrFuPHjycsLIw+ffpgs9nYvn07Fy5cYNKkSYUeOz09nd9++83zOD4+nt27dxMREUGtWrWu7xMvhgRMwu+cTic7d+4EIDY2tsDUKEWVCVEaXC4XxxIPAVDN5X31k5yforzSNI1PP/2Uxx9/nM6dO6PrOn369OGVV17xrDN48GCOHDnC1KlTyc7OZsCAAYwdO5ZVqy4Oeh89ejSBgYHMnTuXKVOmEBQURPPm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z8gkxxDs55oJ4e0s4bzu7MdZwv1dFSHEdeaTgOm3336jQYPCL/e2Wq0sXryY4OBgFi5c6IvDiXImJyeHL/Z8zprdH2J35ODMC5iUE013UvMLF//+0UYGkuFblL6cnBzmzp3L3LlzC0yNopx2UrZ8TMqWjwuUCSHKF58ETNHR0WzevLnIcqPRyB133MGqVat8cThRztjtdj7Y+j4rt7yJ3enElZuwUldO+thS+fDjnUxdYyNLlyvkROmz2+1MnTqVqVOnFpgaRTmdJK9fTPL6xQXKhBDli08CpqFDh7Jx40aWLFlS5DppaWmcOXPGF4cT5Vxel5zucmAwX8z15TBJwCSEEMI/fBIwPfnkk8TGxvLQQw/x8MMP8+uvv3qVb968mf/9739ERUX54nCiPFPgdLqDJE05MeSbccdhlDFMQggh/MMnAZPVamXdunXcfffdvPXWWzRu3JgGDRrQo0cPYmJi6NixIxkZGTzyyCO+OJwo51yOvEHfTq8WJpdRWpiEEEL4h08CJnDPG7dixQpWrVrF3XffTWJiIt999x379u0jOjqaV155hWnTpvnqcEVKSkpi6NChhIaGEh4ezqhRo0hPTy92m65du6JpmtdNgjs/Uepil5xyYLBcDJiUKdBftRJCCFHB+WTy3fx69uxJz549AUhJScFkMhEYWHpfdEOHDuX06dOsXr0au93OyJEj+ctf/sL7779f7HZjxozhn//8p+dxadZZeLvYJedCN+ULmIySGFAIIYR/lDhgev311+nXrx81a9Yscp2wsLCS7r5EDh48yDfffMO2bdto06YNAK+88gq333478+bNo0aNoiduDQwMpFq1aqVVVVEMz1VyLgcG88X5BzWTBExCCCH8o8RdcuPGjaNWrVq0bduWZ599lr179/qyXiWyadMmwsPDPcESQI8ePdB1nS1bthS77dKlS6lSpQo33XQT06ZNIzMzs9j1bTYbqampXjdRMlarlb/f/jTj75qP2WS8mLhSOQkKcLFueCDrhgdiCgz1c01FRZQ3RnPdunUFpj/RjCai7n+OqPufk6lRhCjnStzCtHXrVj799FM+++wznn76aaZPn06dOnW45557uPvuu7n11lvRdZ8NkboiCQkJREZGei0zGo1ERESQkJBQ5HYPPPAAtWvXpkaNGuzZs4cnn3ySw4cPs2LFiiK3mTNnDrNmzfJZ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e5C3ITgQgKB8XXIy6FsIIYS/XFXA1L9//yJbkV5//XWGDBkiY5jEVXM4HPz08xp2HtmAI/f80Q3uU9NiUGQc+oGMQz+gXE5/VlNUUA6Hg48++oiPPvoIh8NxxWVCiPJFUxLh+ERqaiphYWGkpKTItDFXKSMjw5ME9T9jl5HlqkyTDtXpPqwJz322i7/3iwXg1LkLVK8c7seaiooo//mZnp5OUFDQFZUJIf4crvT7u0SJK999913279+Py+UqcQWFKIxeORIAzeDufvPK9C1dckIIIfykRKNohw8fjqZpWCwWmjdvTmxsLK1ataJVq1bExMTI1SKixFyu3C653BQCgfkDJkkrIIQQwk9KFDC98cYb7N69m127drFnzx62bdvmSSdgMBho3LgxrVq18gRSLVu2lG4qcUXUJQFTQL4r43RpYRJCCOEnJQqYxowZ47mvlOLw4cO88MILxMXF4XA4OHDgAPv27eO9997zrFevXj1iY2P58MMPr73WotxSThegebrkAs3SwiSEEML/rnnyXU3TOHDgAO+99x5z584lKSkJh8NBfHw88+bNIzIyEqUUp0+fZvny5b6osyjHLu2SCzBfPEUlXhJCCOEv1xwwAcyYMYN+/foxefJkwsPDAahduzYTJ04kPj6eoUOHEh4eXmgOJyHyczkvCZjyzSUnWeSFEEL4i09SJ//2229FJq20Wq0sXryYm266iYULF/Lmm2/64pCiHDGbzTw+eAYXzmSia0acKE+XXKOalah8+wTPekKUNrPZzOLFiz33r7RMCFG++CRgio6OZvPmzUUfxGjkjjvukC45USiTyUT3m+/m5C/J6BgAh6eFqWZECGsWzSDIbMBkMvm3oqJCMplMjBgx4qrLhBDli0+65IYOHcrGjRtZsmRJkeukpaVx5swZXxxOlGOeLjnDxe63ltHhNIgK8VeVhBBCCN8ETE8++SSxsbE89NBDPPzww/z6669e5Zs3b+Z///sfUVFRvjicKGccDgfbD3zPvmObsedOL6HltjA5HA6+/PJLvvzyS5l6QvhFceegnJ9CVBw+mxolPT2dYcOGsXLlSjRNo169etSuXZvExET279+PUopnn32WadOm+eJwZY5MjVJy+aeXeGn0l5gNVjoNbECL26Jl6gnhdzI1ihDl25V+f/tkDBNAcHAwK1asYPXq1bz++ut89913HDly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eq1zS5cuVVFR0RWvSRcTkLKyssYOrUG4XC4tWLBAN910k0aMGNHo7c2dO1e333671q5dqylTpjR6e4A/opYcAEvo0qWLvvrqK58cTfpvGzdu1G233aY33nhDDz74YI1rycnJ2r59e4P+nlVVVYqJiVF8fLw++uijBvtcAP/BGiYAPuFKa38yMjJks9mUkZGh9evXa/jw4QoLC1PHjh3185//XC6XS5KUmZmpAQMGKDQ0VLGxsVq8ePEV2zAMQ2+++aaSkpJ0ww03KCwsTEOGDNGbb755TbGuXr1aNptNkydPvuo9VVVVWrBggbp06aLg4GDdeOONWrFiRa37FixYIJvNpm3btikjI0ODBw9WWFiYkpOT3fcEBQUpJSVFH3/8sXJzc68pVgB1w5QcAJ+3bt06ffjhh0pJSVFSUpI2btyohQsXyjAMtWzZUgsXLtSkSZOUnJysP/3pT5o7d67at2+vqVOnuj/DMAxNmTJFb731lnr27Knvf//7cjgcysrK0owZM3TgwAEtWbLEayyGYSg7O1u9evVS69atr3rffffdp127dmnChAmy2+165513lJaWpqCgID300EO17l+8eLGys7M1adIkjRs3rtZapcTERP3mN7/R1q1b1aNHj2t4egDqxAAAC4iLizM8/ZM0atSoWtdXr15tSDKCgoKMXbt2uc+fP3/eiIqKMsLCwowOHToYhw8fdl/Lz883HA6H0a9fvxqftWrVKkOSMX36dOPChQvu85WVlcbEiRMNScbu3bu9/h779+83JBlTpkzx+HsMHz7cKCoqcp8/dOiQERgYaPTq1avG/enp6YYkIzw83Pj888+v2u4//vEPQ5IxdepUrzECuHZMyQHweffff7+GDh3q/jkiIkK33XabysrKNHPmTHXr1s19rXPnzho5cqQOHDigf//73+7zr776qsLDw7V8+XIFBQW5zzscDj333HOSpLfeestrLMeOHZMktW/f3uN9ixYt0g033OD+uVevXkpKSlJOTo6Ki4tr3f/www+rX79+V/28S+1dah9Aw2JKDoDPGzhwYK1z0dHRHq9VV1eroKBAHTt2VFlZmfbt26eYmBj98pe/rHV/VVWVJOnQoUNeYzl79qwkqVWrVh7vS0hIqHWuU6dOkqTCwkJFRETUuDZs2DCPn9emTRtJ0pkzZ7zGCODakTAB8HmXj9RcEhgY6PXapUTo3LlzMgxDx48f1zPPPHPVdkpLS73GEhoaKkmqqKi47pirq6trXfM2YlVeXi5JCgsL8xojgGtHwgTA711KXhISErR79+56fVZkZKQk6Ztvvql3XJfzttnnpfYutQ+gYbGGCYDfi4iIUO/evXXw4EEVFhbW67P69OmjgIAA5eTkNExwdXSpPU/rnABcPxImAJD02GOPqaysTA899NAVp96OHDmivLw8r5/TqlUr9e/fX7t373bvA9UUPv30U0nSqFGjmqxNwJ+QMAGApB/+8IdKTU3Vu+++q549e2rq1KmaN2+epk+frsTERHXv3l07d+6s02fdcccdKi4urvP9DSErK0utW7fWzTff3GRtAv6EhAkAJPeO4W+//bb69OmjDRs26Fe/+pWysrIUEhKiJUuWaOzYsXX6rAcffFCBgYH6/e9/38hRX5SXl6dPPvlEqampCgkJaZI2AX9DLTkAaAQ/+MEPtHHjRn311Ve1tghoaD/72c/04osv6uDBg+revXujtgX4K0aYAKARLFy4UOXl5Vq2bFmjtnPu3DktW7ZMM2fOJFkCGhHbCgBAI4iLi1NmZqYKCgoatZ0jR45o9uzZevTRRxu1HcDfMSUHAADgBVNyAAAAXpAwAQAAeEHCBAAA4AUJEwAAgBckTAAAAF6QMAEAAHhBwgQAAOAFCRMAAIAXJEwAAABe/B+Uba6VUlTHiwAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlsAAAHOCAYAAACvhswcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC0/0lEQVR4nOzdd3wUxfvA8c9eTU8IkIQSqvTeiQgBQUDAigVEAUFUBBSBCFgRERQsgIhYMOJX+WEFC9IhiIAivYMoEFqo6eXq/v645MiRAoRLLuGe98szuzuzO3PJhHsyOzujqKqqIoQQQgghioXG0xUQQgghhLiZSbAlhBBCCFGMJNgSQgghhChGEmwJIYQQQhQjCbaEEEIIIYqRBFtCCCGEEMVIgi0hhBBCiGIkwZYQQgghRDGSYEsIIYQQohhJsCVEKfTPP/8wcuRIGjZsiL+/Pz4+PlStWpU2bdowcuRIfvjhh0LPX758OQMGDKBmzZr4+fkRFBREw4YNGTlyJPv27SvwvLi4OBRFuaZXQdLT05k9ezY9e/akcuXKGI1GAgICqFevHo8++ig//fQTdru9yN8bUbKu9vMujSZNmoSiKEyaNMnTVRECAJ2nKyCEcPXjjz/yyCOPYDKZKF++PB06dKBixYokJiayc+dOPvzwQxYtWkTfvn3znJuSksIjjzzC0qVLAWjUqBF9+vTBYrGwdetWPvzwQz766CMmTJjAlClTCv0QHTRo0HXXfeXKlTz66KOcP38enU5Hq1at6NixI1arlX///Zevv/6ar7/+mjZt2rBly5brvr7Iq0aNGhw/fpyjR49So0YNT1enVIuLi6NLly5ER0cTFxfn6eoIb6IKIUqNhIQENSAgQAXUsWPHqpmZmXnybN26VZ0wYUKe4yaTSW3Xrp0KqDVr1lT/+OMPl3S73a5++eWXqp+fnwqozz//fJ5rrFu3TgXUovzT8Ouvv6parVYF1CFDhqhnz57Nk+f48ePqU089pZYrV+66ry/yV716dRVQjx49WizXL2p78KTz58+rBw4cUM+fP+9yPKd9R0dHe6ZiwmtJz5YQpcivv/5KWloalStX5p133sk3T6tWrWjVqlWe46+//jp//fUXISEhrFu3jurVq7ukK4rCY489Rrly5bjrrrt4//336dWrF926dbvhel+8eJFHH30Um83Gs88+y6xZs/LNV61aNebNm8cjjzxyw2UKUZAKFSpQoUIFT1dDCCcZsyVEKXL27FkAKlaseF3npaamMmfOHABeeeWVPIFWbn369OHuu+8G4M033yxiTV3NmTOHpKQkwsLCmD59+lXzd+rU6bqur6oqP/74I3369CEiIgKDwUBERAS33XYbb7/9NpmZmc68gwcPRlEUvvjii3yv9cUXX6AoCoMHDy7w+KVLlxg9ejS1a9fGaDTSuXNnwHUsUHx8PEOHDiUyMhK9Xp/net9//z09e/akYsWKGAwGqlSpwqOPPsr+/fvz1OnYsWMoikKNGjVQVZVPPvmEVq1a4e/vT3BwMN27d2fz5s351vf48eMA1KxZ02VM3fXcJtu8eTN33nknISEhBAQE0Lp1az7//POrnpeZmcm7775L+/btCQkJwcfHh3r16vHCCy9w8eLFPPlzf4/T09OZOHEit9xyC0ajkYiICAYNGsSpU6fyLWv16tXcddddhIeHo9frKVeuHHXq1OHRRx/l999/d8mb35itzp0706VLFwDWr1/v8r3Kuf0aHR2Noij83//9X4Hvefr06SiKwkMPPXTV748QOaRnS4hSpFq1agDs3buXNWvW0LVr12s6b+3ataSkpADw2GOPXTX/wIED+fnnn/n9999JTk4mODi46JUGfvrpJwAefvhhjEbjDV3rShaLhX79+vHjjz+i0Who27Ytt99+OxcuXGD//v1MmDCBhx9+2G3jlS5cuEDr1q1JSkqiY8eOtGrVCoPB4JLnn3/+oUWLFhgMBjp06ICqqs6eFKvVyoABA/j2228xGo20atWKKlWqcPjwYb7++mt+/PFHfvzxR3r27Jlv+Y8//jgLFy6kY8eO9OnTh507d7Jq1Sp+//131q9fT7t27QC45ZZbGDRoEN9//z3p6en07duXgIAA53UiIiKu6f1+99139O/fH5vNRuPGjWnSpAknTpzgiSeeKPRhitOnT9OzZ0/27NlDaGgobdq0ITAwkO3btzNjxgy+++474uLi8g38k5OTufXWW4mPj6djx440btyYzZs38+WXX7J+/Xp27drl0iYXLFjA448/DkDbtm3p0qULmZmZnDx5kkWLFlGhQoWrBvA9e/bEx8eHFStWEB4e7vL9z/nZPffcc/z+++/MmTOH/v3757mG3W7no48+AmDkyJGFlieECw/fxhRC5JKamqpWqVJFBVRF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TjFy5EiXpxkLExYWxvDhwwF48MEH8zzZpqoqa9euJTk52XksZ0b8//3vfy4TiFosFsaPH8/ff/99vW/vmoWHhzNq1CjS09O566672LNnT548JpOJn3/++bp66wqTE3QXNidWQYYOHUpAQACbN29m9uzZLmlxcXHMmzcv3/Puuece5/qWjz/+eL7jshITE5k3b16RgsDcMjIyeO+99/ItY8OGDSQlJaHVal3++ChITp5//vnnqk919urVi1tuuYXly5eza9cuateu7QwyhbhechtRiFLEYrHw5Zdf8uWXX1KxYkVatGhBhQoVSEpKYv/+/c7bOo8++ihDhw51OddoNLJ69Wr69evH8uXL6dChA02aNKFBgwZYLBb+/vtvTp48iUaj4YUXXuCtt94qtC5Xzoh+pcmTJ7sMTL777rv59ddfGThwIPPnz2fBggW0bt2a6tWrOxei3rVrF6qq0r59+2v+nkyfPp2jR4/y888/06xZM9q1a0fNmjW5cOEC+/bt49SpUxw9etT5dGCHDh245557+Omnn2jdujW33XYbvr6+bN++nZSUFJ577rkClxNyh7feeoszZ86wcOFCmjdvTrNmzahVqxY6nY6TJ0+yc+dO0tPTWbZsmVsG/vft25d169bx6KOP0r17d8qVKwdATEwM9erVK/TcypUr8+mnn/Loo4/y3HPP8dlnn9G4cWNOnTrFhg0bGD16NO+//36e8zQaDUuWLKF3794sWLDAOS1HtWrVMJvN/Pfff+zZswebzcbgwYPzfWLxWpnNZsaOHUtMTAxNmjShTp066PV6jh07xp9//gnASy+9dE2rLlSrVo3WrVuzdetWmjRpQuvWrfHx8aFChQp5fh80Gg0jR45k9OjRADzzzDNXfehBiAJ5aH4vIUQ+UlJS1CVLlqijRo1S27Ztq1atWlXV6/Wqr6+vWrt2bbV///7qsmXLrnqdpUuXqv369VOrVaum+vj4qAEBAWq9evXU4cOHq7t37y7wvNyTml7ttWPHjnyvkZqaqr7//vvqHXfcoUZERKgGg0H18/NT69atqz766KPqr7/+qtrt9uv6vtjtdnXhwoVq9+7d1fLly6t6vV6NiIhQO3bsqM6YMSPPgt1ZWVnqyy+/rNaqVUvV6/VqWFiY2r9/f/XIkSNXndT0yuO5FTRZZn5+++039f7771erVKmi6vV6NSQk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JSoqikmTJhV63uDBg+nfvz8AU6dOZfbs2WzZsoWePXsyd+5cIiMjmTNnDoqiUL9+fU6fPs348eN59dVXycjIYP78+Xz11Vd07doVgAULFlC1alXn9ePj44mNjSU+Pp7KlSsDMG7cOJYvX05sbGyBUys98sgjVK9encqVK7N7927Gjx/PoUOH+PHHH6/6vShObgm21q1bx5o1a9i4cSMnT57kwoUL+Pn5UbFiRZo0aUJ0dDR9+vQp8LZaafb++++j0Wjo27evy6SmObRaLb/++ivDhw8nKioKf39/Bg0a5HK/WJQ86dkSpYP0bImyY8iQIaSmprJq1SrnvIUFyT0npb+/P0FBQc47PAcOHCAqKsplPrsOHTqQlpbGyZMnSUxMxGw2067d5UA0NDSUevXqOff37NmDzWajbt26LuWaTCbKly9fYL2efPJJ53aTJk2oVKkSXbt25d9//6V27dpX+Q4UnyIHW+np6cyePZtPP/2U48ePO7ssfXx8CA0NJTMzk71797J7926+/vpr9Ho9d911F88//zwdOnRw2xtwtyvvB/v4+PDhhx8WOh9O9erV+e2334q5ZuJ6+MuYLSGEh/nqfPnrkb88Vvb1mDJlCitWrGDLli0EBgZeNb9er3fZVxTFrSsmpKWlodVq2bZtG1qt6zq0AQEB13ydnIDuyJEjZS/YmjdvHq+//jpnz56ladOmvPHGG0RFRdG6dWuXH5Kqqvzzzz/89ddfrFy5kp9++onFixdzzz338O6771KzZk23vREhcvMPcb2NKI/WC4+Qji2vpijKNd3K87QffviByZMns2zZMrcEJA0aNOCHH35AVVVn79bGjRsJDAykatWqhIaGotfr+euvv6hWrRoAiYmJHD58mOjoaABatGiBzWbj3LlzdOzYsch12blzJwCVKlW6sTd1g4oUbI0aNYr+/fvzwgsv5BnzlJuiKNStW5e6devy2GOPkZmZyddff820adP43//+x6uvvlrkigsBjmVObq3dApu2Ihrt5W5v/2AjGo2WDrVuo+KF3WgyMuA6/hoSwh10Wi0hHUJQyLskj06nY9CgQc5tITxh7969DBw4kPHjx9OoUSPn/JAGg4HQ0NAiXfOZZ55h5syZjBo1ipEjR3Lo0CFee+01xowZg0ajISAggKFDhxITE0P58uUJCwvjpZdecrl1WbduXQYMGMDA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ssotwda3337rsvD0H3/8wR9//OF88qZChQq0aNGCVq1a8eabb7qjSCGEEEKIMsFtM8g/8MADzv3z5887A6+cIGz16tWsWrVKgi0hhNeQqR6EEODGGeRzq1ixInfccQd33HGH81hmZia7d+8ujuKEEEIIIUottwyQ37dvHytXriz0iRpfX1+XFb6FEOKm59KxJYO2hPBWbgm2pk6dyj333JNnqv3Sbtq0abRp04bAwEDCwsK49957OXTokEuerKwsRowYQfny5QkICKBv376cPXvWJU98fDy9e/fGz8+PsLAwYmJisFqtJflWvJZGo6FeeE1uqdQszy0bjUZDdHQ00dHReZZKEaIkaDQabqnUjFsqNZX2KcRVdO7cmdGjR3u6GsXCLb/hGzdu5M4776Ry5cr5ph8+fJi+ffuyceNGdxTnNuvXr2fEiBH8+eefrFq1CovFQvfu3V166J5//nl++eUXvvvuO9avX8/p06e5//77nek2m43evXtjNpvZtGkTCxYs4IsvvuDVV1/1xFvyOr6+vrzQ8wlG3/0eBp0+T1pcXBxxcXH4+vp6qIbCm/n4+DD67vcYfdc7edqgtE8h3O+TTz6hc+fOBAUFoSgKSUlJefJcunSJAQMGEBQUREhICEOHDiXtinnw3M0twVZCQgJ169YtML1u3brs27ePWbNmuaM4t1m+fDmDBw+mUaNGNGvWjC+++IL4+Hi2bdsGQHJyMvPnz+e9997j9ttvp1WrVsTGxrJp0yb+/PNPAFauXMn+/fv56quvaN68OXfeeSdvvPEGH374IWazubDihbvJYGRRyuT0ZinITUQhSkJGRgY9e/bkxRdfLDDPgAED2LdvH6tWreLXX3/l999/58knnyzWerkl2AoODiYlJaXQPLfeeit//fWXO4orNjm3QUNDQwHYtm0bFouFbt26OfPUr1+fatWqsXnzZgA2b95MkyZNCA8Pd+bp0aMHKSkpBU7wajKZSElJcXmJolNlSRRRSuXE/9JGRWl17Nix7HVJXV+dO3cu8BxFUfjss8+477778PPzo06dOvz8888uedavX0/btm0xGo1UqlSJCRMmuAyvSU9PZ+DAgQQEBFCpUiXefffdPOWYTCbGjRtHlSpV8Pf3p127dsTFxRX6fkaPHs2ECROcazVf6cCBAyxfvpzPPvuMdu3acdttt/HBBx+waNEi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+e677/j888/dUZxbHDx4ELvdzscff8y+fft4//33mTdvHi+++KIzT0pKCt27d6d69eps27aNGTNmMGnSJD755BNnnk2bNtG/f3+GDh3Kjh07uPfee7n33nvZu3evJ96W11EUhUCfAAJ9Q/JdrqdixYpUrFgxT5oQJUFRFDTBOsrpDCiKgilXsCXtUwjv4ZZga//+/bRt29a5n5qaytKlS3n44YdZvXo1W7ZsoUGDBqUq2OrZsyexsbF0796dWrVqcffddzNu3Dh+/PFHZ56vv/4as9nM559/TqNGjejXrx/PPvss7733njPPrFmz6NmzJzExMTRo0IA33niDli1bMmfOHE+8LSFEKaIoCpkG0FkdS/bIbUQhvJNbgq1Lly4RERHh3P/jjz+wWq30798fAL1ezx133MG///7rjuKKTXJyMqGhoc79zZs306lTJwwGg/NYjx49OHTokPOW6ebNm+nWrZvLdXr06MHmzZtLptJezmQy8fVfS/hmwywsNmuetBEjRjBixAhMJpOHaii8mdlsZm3cGf635QssNjOmXOsjSvsUwnu4JdgKCgri4sWLzv1169ah0Wjo2LGj85heryc9Pd0dxRWLI0eO8MEHHzjXKgNISEggPDzcJV/OfkJCQqF5ctLzYzKZSElJcXmJorFaraw7tJkN+3/GbrfnSZs7dy5z587FKpMcCQ+wWq0c2J7I6n9/x263ufRsSfsUwnu4JdiqX78+v/zyCxcvXiQpKYmFCxfSqlUrlzFcx48fzxOUFIcJEyagKEqhr4MHD7qcc+rUKXr27MmDDz7IsGHDir2O06ZNIzg42PmKjIws9jKFEJ5nzpKgSghvVKRJTa/07LPP8uCDD1K1alVnD9aUKVNc8vz555+0bNnSHcUVauzYsQwePLjQPLVq1XJunz59mi5dunDrrbe6DHwHiIiI4OzZsy7HcvZzbpsWlCf3bdUrTZw4kTFjxjj3U1JSJOASwgvImC0hvJNbgq2+ffvy4YcfOtc97Nevn0vAs379elJSUujZs6c7iitUztM91+LUqVN06dKFVq1aERsbi0bj2tEXFRXFSy+9hMViQa93TCuwatUq6tWr5+y1i4qKYs2aNYwePdp53qpVq4iKiiqwXKPRiNFovM53JoQoa5QrVuw0ZZae6W+EECXHLcEWwPDhwxk+fHi+adHR0S5zcJUGp06d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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "include_PI = True\n", "\n", diff --git a/idaes_examples/notebooks/docs/power_gen/solid_oxide_cell/soc_pid_control_doc.ipynb b/idaes_examples/notebooks/docs/power_gen/solid_oxide_cell/soc_pid_control_doc.ipynb index b22f6611..ee684243 100644 --- a/idaes_examples/notebooks/docs/power_gen/solid_oxide_cell/soc_pid_control_doc.ipynb +++ b/idaes_examples/notebooks/docs/power_gen/solid_oxide_cell/soc_pid_control_doc.ipynb @@ -1,5 +1,31 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "code", "execution_count": 1, @@ -131,16 +157,7 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-04-24 16:44:46 [WARNING] idaes.models.properties.modular_properties.transport_properties.no_method: Skipping construction of thermal conductivity for phase Liq\n", - "2024-04-24 16:44:46 [WARNING] idaes.models.properties.modular_properties.transport_properties.no_method: Skipping construction of dynamic viscosity for phase Liq\n" - ] - } - ], + "outputs": [], "source": [ "operating_scenario = OperatingScenario.maximum_production\n", "m = pyo.ConcreteModel()\n", @@ -473,431 +490,7 @@ "cell_type": "code", "execution_count": 11, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'SOC Dynamic Flowsheet'" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/svg+xml": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " image/svg+xml\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " SOEC\n", - " Hydrogen Side\n", - " Oxygen Side\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " sweep03 \n", - " \n", - " \n", - " \n", - " ostrm01 \n", - " \n", - " \n", - " \n", - " ostrm02 \n", - " \n", - " \n", - " \n", - " \n", - " sweep00 \n", - " \n", - " \n", - " \n", - " \n", - " hstrm01 \n", - " \n", - " \n", - " \n", - " hstrm02 \n", - " \n", - " \n", - " \n", - " hstrm03 \n", - " \n", - " \n", - " \n", - " feed00\n", - " \n", - " \n", - " \n", - " feed02 \n", - " \n", - " \n", - " \n", - " F:T:P:yH2:\n", - " 2.649 kmol/s\n", - " 931.30 K\n", - " 1.200 bar\n", - " \n", - " 37.454%\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1.325 kmol/s\n", - " 986.16 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1.325 kmol/s\n", - " 886.52 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:yO2:\n", - " 5.514 kmol/s\n", - " 985.74 K\n", - " 1.200 bar\n", - " \n", - " 35.000%\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " ostrm 05\n", - " \n", - " \n", - " \n", - " F:T:P:yH2:\n", - " 2.649 kmol/s\n", - " 986.16 K\n", - " 1.200 bar\n", - " \n", - " 74.900%\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:yO2:\n", - " 5.018 kmol/s\n", - " 963.51 K\n", - " 1.200 bar\n", - " \n", - " 28.575%\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " steam_heater\n", - " steam_hot_exchanger\n", - " sweep_heater\n", - " steam_medium_exchanger\n", - " sweep_exchanger\n", - " \n", - " F:T:P:\n", - " 2.757 kmol/s\n", - " 985.74 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 2.261 kmol/s\n", - " 288.15 K\n", - " 1.013 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 5.018 kmol/s\n", - " 969.53 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:yH2:\n", - " 1.325 kmol/s\n", - " 477.72 K\n", - " 1.200 bar\n", - " \n", - " 74.900%\n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1.325 kmol/s\n", - " 986.16 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 2.261 kmol/s\n", - " 936.02 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 2.757 kmol/s\n", - " 985.74 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " feed04 \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 2.757 kmol/s\n", - " 484.91 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 2.649 kmol/s\n", - " 941.64 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 453.60 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " Summary:\n", - " \n", - " SOEC Electric Power:SOEC Current:Cell Potential:H2 Production Rate:H2 Consumption Rate:Feed Heater Power:Sweep Heater Power:Total Electric Power:Vent Gas Recycle Ratio:\n", - " \n", - " 252.830 MW\n", - " -191.439 MA\n", - " 1.321 V\n", - " 2.000 kg/s\n", - " 0.000 kg/s\n", - " 1.000 MW\n", - " 1.000 MW\n", - " 255.936 MW\n", - " 0.0\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " ostrm03 \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " feed03 \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " sweep02\n", - " \n", - " \n", - " \n", - " \n", - " ostrm04\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 2.757 kmol/s\n", - " 442.77 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " feed01 \n", - " \n", - " \n", - " \n", - " \n", - " sweep04 \n", - " \n", - " \n", - " \n", - " F:T:P:yH2:\n", - " 1.325 kmol/s\n", - " 378.15 K\n", - " 1.200 bar\n", - " \n", - " 0.007%\n", - " \n", - " \n", - " \n", - " F:T:P:yH2:\n", - " 1.108 kmol/s\n", - " 323.15 K\n", - " 1.200 bar\n", - " \n", - " 89.541%\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " hstrm04 \n", - " \n", - " hstrm06 \n", - " \n", - " knockout\n", - " \n", - " out \n", - " \n", - " makeup \n", - " \n", - " vgr\n", - " \n", - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "m.fs.write_pfd(fname=\"soc_dynamic_flowsheet.svg\")\n", "display(\n", @@ -1025,615 +618,7 @@ "cell_type": "code", "execution_count": 16, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-04-24 16:45:08 [INFO] idaes.solve.petsc-dae: WARNING: model contains export suffix 'scaling_factor' that contains 243\n", - "2024-04-24 16:45:08 [INFO] idaes.solve.petsc-dae: component keys that are not exported as part of the NL file. Skipping.\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Ipopt 3.13.2: constr_viol_tol=1e-08\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: nlp_scaling_method=user-scaling\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: linear_solver=ma57\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: max_iter=300\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: tol=1e-08\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: halt_on_ampl_error=no\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: option_file_name=C:\\Users\\dallan\\AppData\\Local\\Temp\\tmphl5vnriw_ipopt.opt\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Using option file \"C:\\Users\\dallan\\AppData\\Local\\Temp\\tmphl5vnriw_ipopt.opt\".\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: ******************************************************************************\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: For more information visit http://projects.coin-or.org/Ipopt\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: This version of Ipopt was compiled from source code available at\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: for large-scale scientific computation. All technical papers, sales and\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: publicity material resulting from use of the HSL codes within IPOPT must\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: contain the following acknowledgement:\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: HSL, a collection of Fortran codes for large-scale scientific\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: computation. See http://www.hsl.rl.ac.uk.\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: ******************************************************************************\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: This is Ipopt version 3.13.2, running with linear solver ma57.\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of nonzeros in equality constraint Jacobian...: 15011\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of nonzeros in inequality constraint Jacobian.: 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of nonzeros in Lagrangian Hessian.............: 9356\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Total number of variables............................: 3864\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: variables with only lower bounds: 667\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: variables with lower and upper bounds: 1495\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: variables with only upper bounds: 31\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Total number of equality constraints.................: 3864\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Total number of inequality constraints...............: 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: inequality constraints with only lower bounds: 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: inequality constraints with lower and upper bounds: 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: inequality constraints with only upper bounds: 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: 0 0.0000000e+00 6.79e+01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Reallocating memory for MA57: lfact (331665)\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: 1 0.0000000e+00 9.77e-01 1.41e+02 -1.0 5.95e+00 - 8.13e-01 9.85e-01h 1\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: 2 0.0000000e+00 9.25e-03 1.71e+02 -1.0 8.74e-02 - 9.90e-01 9.90e-01h 1\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: 3 0.0000000e+00 3.08e-05 2.80e+04 -1.0 6.27e-03 - 9.91e-01 9.97e-01h 1\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: 4 0.0000000e+00 3.05e-11 4.27e+03 -1.0 7.30e-04 - 1.00e+00 1.00e+00h 1\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of Iterations....: 4\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: (scaled) (unscaled)\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Constraint violation....: 3.0518305330767825e-11 3.0518305330767825e-11\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Overall NLP error.......: 3.0518305330767825e-11 3.0518305330767825e-11\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of objective function evaluations = 5\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of objective gradient evaluations = 5\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of equality constraint evaluations = 5\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of inequality constraint evaluations = 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of equality constraint Jacobian evaluations = 5\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of inequality constraint Jacobian evaluations = 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of Lagrangian Hessian evaluations = 4\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Total CPU secs in IPOPT (w/o function evaluations) = 0.260\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Total CPU secs in NLP function evaluations = 0.041\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: EXIT: Optimal Solution Found.\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_nan\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_nan\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_ext\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_ext\n", - "2024-04-24 16:45:22 [INFO] idaes.solve.petsc-dae: WARNING: model contains export suffix 'scaling_factor' that contains 93\n", - "2024-04-24 16:45:22 [INFO] idaes.solve.petsc-dae: component keys that are not exported as part of the NL file. Skipping.\n", - "2024-04-24 16:45:22 [INFO] idaes.solve.petsc-dae: Solver log file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmp69gau4jt_petsc_ts.log'\n", - "2024-04-24 16:45:22 [INFO] idaes.solve.petsc-dae: Solver solution file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpva9yq47l.pyomo.sol'\n", - "2024-04-24 16:45:22 [INFO] idaes.solve.petsc-dae: Solver problem files: ('C:\\\\Users\\\\dallan\\\\AppData\\\\Local\\\\Temp\\\\tmpva9yq47l.pyomo.nl',)\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: DAE: 1\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpva9yq47l.pyomo.nl\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of constraints: 3920\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 1795\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 2125\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of variables: 4007\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 15554 \n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Explicit time variable: 0\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of derivatives: 87\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of differential vars: 87\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of algebraic vars: 3833\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of state vars: 3920\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 0 TS dt 0.1 time 0.\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 1 TS dt 0.1 time 0.1\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 2 TS dt 0.100412 time 0.2\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 3 TS dt 1.00412 time 0.300412\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 4 TS dt 10.0412 time 1.30453\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 5 TS dt 21.1594 time 11.3457\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 6 TS dt 34.1485 time 32.5051\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 7 TS dt 56.7094 time 66.6536\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 8 TS dt 103.25 time 123.363\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 9 TS dt 205.123 time 226.612\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 10 TS dt 309.964 time 431.736\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 11 TS dt 432.696 time 741.7\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 12 TS dt 621.577 time 1174.4\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 13 TS dt 902.014 time 1795.97\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 14 TS dt 902.014 time 2697.99\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 15 TS dt 2466.59 time 3600.\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: TSConvergedReason = TS_CONVERGED_TIME\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: TS_CONVERGED_TIME\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_nan\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_nan\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_ext\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_ext\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: WARNING: model contains export suffix 'scaling_factor' that contains 170\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: component keys that are not exported as part of the NL file. Skipping.\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Solver log file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpn0tqghes_petsc_ts.log'\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Solver solution file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpk0c1pdqp.pyomo.sol'\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Solver problem files: ('C:\\\\Users\\\\dallan\\\\AppData\\\\Local\\\\Temp\\\\tmpk0c1pdqp.pyomo.nl',)\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: DAE: 1\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpk0c1pdqp.pyomo.nl\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of constraints: 3920\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 1795\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 2125\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of variables: 4007\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 15554 \n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Explicit time variable: 0\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of derivatives: 87\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of differential vars: 87\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of algebraic vars: 3833\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of state vars: 3920\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: 0 TS dt 0.1 time 3600.\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: 1 TS dt 0.1 time 3600.1\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: 2 TS dt 0.00199239 time 3600.1\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: 3 TS dt 0.0199239 time 3600.1\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: 4 TS dt 0.199239 time 3600.12\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 5 TS dt 0.697133 time 3600.32\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 6 TS dt 0.866231 time 3601.02\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 7 TS dt 1.13013 time 3601.89\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 8 TS dt 1.179 time 3603.02\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 9 TS dt 1.3192 time 3604.19\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 10 TS dt 1.33644 time 3605.51\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 11 TS dt 1.45894 time 3606.85\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 12 TS dt 1.46098 time 3608.31\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 13 TS dt 1.37246 time 3609.77\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 14 TS dt 1.48172 time 3611.14\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 15 TS dt 1.2735 time 3612.35\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 16 TS dt 1.52602 time 3613.63\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 17 TS dt 1.64143 time 3615.15\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 18 TS dt 1.5531 time 3616.8\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 19 TS dt 1.61899 time 3618.35\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 20 TS dt 1.8938 time 3619.97\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 21 TS dt 2.14371 time 3621.86\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 22 TS dt 1.95341 time 3624.01\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 23 TS dt 0.593203 time 3624.34\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 24 TS dt 2.07741 time 3624.94\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 25 TS dt 1.8343 time 3626.78\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 26 TS dt 2.34236 time 3628.62\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 27 TS dt 2.70968 time 3630.96\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 28 TS dt 3.17793 time 3633.67\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 29 TS dt 2.08994 time 3635.54\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 30 TS dt 1.32652 time 3637.01\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 31 TS dt 3.93769 time 3638.34\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 32 TS dt 3.47399 time 3641.79\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 33 TS dt 4.44515 time 3645.27\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 34 TS dt 4.54859 time 3649.71\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 35 TS dt 5.11148 time 3654.26\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 36 TS dt 5.37965 time 3659.37\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 37 TS dt 5.84736 time 3664.75\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 38 TS dt 6.21996 time 3670.6\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 39 TS dt 6.69274 time 3676.82\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 40 TS dt 7.14526 time 3683.51\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 41 TS dt 7.65699 time 3690.66\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 42 TS dt 8.18317 time 3698.31\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 43 TS dt 8.74315 time 3706.5\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 44 TS dt 9.27856 time 3715.24\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 45 TS dt 9.68853 time 3724.52\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 46 TS dt 9.77885 time 3734.21\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 47 TS dt 9.92111 time 3743.99\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 48 TS dt 8.33461 time 3752.18\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 49 TS dt 8.96337 time 3760.51\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 50 TS dt 9.29772 time 3769.48\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 51 TS dt 9.60548 time 3778.77\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 52 TS dt 11.0593 time 3788.38\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 53 TS dt 9.88706 time 3797.26\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 54 TS dt 9.88436 time 3807.15\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 55 TS dt 7.55235 time 3814.54\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 56 TS dt 9.65705 time 3822.09\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 57 TS dt 11.0499 time 3831.75\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 58 TS dt 12.2975 time 3842.8\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 59 TS dt 12.6609 time 3855.1\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: 60 TS dt 13.9163 time 3859.75\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: 61 TS dt 10.4683 time 3870.54\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: 62 TS dt 9.49383 time 3881.01\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: 63 TS dt 9.49383 time 3890.51\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: 64 TS dt 14.0081 time 3900.\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: TSConvergedReason = TS_CONVERGED_TIME\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: TS_CONVERGED_TIME\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_nan\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_nan\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_ext\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_ext\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: WARNING: model contains export suffix 'scaling_factor' that contains 170\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: component keys that are not exported as part of the NL file. Skipping.\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Solver log file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmp3wnf4q2o_petsc_ts.log'\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Solver solution file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpcy91h9f0.pyomo.sol'\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Solver problem files: ('C:\\\\Users\\\\dallan\\\\AppData\\\\Local\\\\Temp\\\\tmpcy91h9f0.pyomo.nl',)\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: DAE: 1\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpcy91h9f0.pyomo.nl\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of constraints: 3920\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 1795\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 2125\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of variables: 4007\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 15554 \n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Explicit time variable: 0\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of derivatives: 87\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of differential vars: 87\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of algebraic vars: 3833\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of state vars: 3920\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: 0 TS dt 0.1 time 3900.\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: 1 TS dt 0.1 time 3900.1\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: 2 TS dt 1. time 3900.2\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 3 TS dt 2.86361 time 3901.2\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 4 TS dt 3.11474 time 3904.06\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 5 TS dt 3.95219 time 3907.18\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 6 TS dt 4.26539 time 3911.13\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 7 TS dt 4.68321 time 3915.4\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 8 TS dt 4.75843 time 3920.08\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 9 TS dt 4.77214 time 3924.84\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 10 TS dt 4.57975 time 3929.61\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 11 TS dt 5.10332 time 3934.19\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 12 TS dt 5.83254 time 3939.29\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 13 TS dt 6.72867 time 3945.13\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 14 TS dt 7.50262 time 3951.85\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 15 TS dt 8.77609 time 3959.36\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 16 TS dt 9.95946 time 3968.13\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 17 TS dt 11.4862 time 3978.09\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 18 TS dt 13.2173 time 3989.58\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 19 TS dt 15.4588 time 4002.8\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 20 TS dt 18.2767 time 4018.25\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 21 TS dt 21.855 time 4036.53\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 22 TS dt 25.9265 time 4058.39\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 23 TS dt 29.7008 time 4084.31\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 24 TS dt 32.3941 time 4114.01\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 25 TS dt 34.1498 time 4146.41\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 26 TS dt 34.3963 time 4180.56\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 27 TS dt 37.1487 time 4214.95\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 28 TS dt 37.9342 time 4252.1\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 29 TS dt 40.3768 time 4290.04\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 30 TS dt 42.4218 time 4330.41\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 31 TS dt 45.0908 time 4372.84\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 32 TS dt 47.3702 time 4417.93\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 33 TS dt 49.135 time 4465.3\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 34 TS dt 49.6503 time 4514.43\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 35 TS dt 51.6702 time 4564.08\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 36 TS dt 53.1554 time 4615.75\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 37 TS dt 54.6803 time 4668.91\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 38 TS dt 61.8766 time 4723.59\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 39 TS dt 62.3182 time 4785.46\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 40 TS dt 78.6399 time 4847.78\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 41 TS dt 82.7293 time 4926.42\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 42 TS dt 90.4869 time 5009.15\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 43 TS dt 89.7949 time 5099.64\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 44 TS dt 85.7202 time 5189.43\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 45 TS dt 88.4188 time 5275.15\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 46 TS dt 91.9337 time 5363.57\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 47 TS dt 90.9639 time 5455.51\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 48 TS dt 99.5246 time 5546.47\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 49 TS dt 108.67 time 5645.99\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 50 TS dt 120.748 time 5754.66\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 51 TS dt 132.47 time 5875.41\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 52 TS dt 145.985 time 6007.88\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 53 TS dt 160.665 time 6153.87\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 54 TS dt 177.438 time 6314.53\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 55 TS dt 192.168 time 6491.97\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 56 TS dt 221.56 time 6684.14\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 57 TS dt 250.729 time 6905.7\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 58 TS dt 292.659 time 7156.43\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 59 TS dt 342.344 time 7449.09\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 60 TS dt 396.307 time 7791.43\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 61 TS dt 387.849 time 8187.74\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 62 TS dt 347.808 time 8474.05\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 63 TS dt 289.931 time 8626.27\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 64 TS dt 219.289 time 8708.2\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 65 TS dt 202.344 time 8927.49\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 66 TS dt 211.265 time 9055.82\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 67 TS dt 43.6911 time 9087.46\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 68 TS dt 97.1116 time 9131.15\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 69 TS dt 116.121 time 9228.26\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 70 TS dt 163.226 time 9344.39\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 71 TS dt 202.871 time 9507.61\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 72 TS dt 262.974 time 9710.48\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 73 TS dt 295.993 time 9973.46\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 74 TS dt 275.494 time 10269.4\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 75 TS dt 277.528 time 10544.9\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 76 TS dt 277.528 time 10822.5\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 77 TS dt 405.82 time 11100.\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: TSConvergedReason = TS_CONVERGED_TIME\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: TS_CONVERGED_TIME\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_nan\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_nan\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_ext\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_ext\n", - "2024-04-24 16:45:50 [INFO] idaes.solve.petsc-dae: WARNING: model contains export suffix 'scaling_factor' that contains 170\n", - "2024-04-24 16:45:50 [INFO] idaes.solve.petsc-dae: component keys that are not exported as part of the NL file. Skipping.\n", - "2024-04-24 16:45:50 [INFO] idaes.solve.petsc-dae: Solver log file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmp89d3otha_petsc_ts.log'\n", - "2024-04-24 16:45:50 [INFO] idaes.solve.petsc-dae: Solver solution file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpumhqgnkw.pyomo.sol'\n", - "2024-04-24 16:45:50 [INFO] idaes.solve.petsc-dae: Solver problem files: ('C:\\\\Users\\\\dallan\\\\AppData\\\\Local\\\\Temp\\\\tmpumhqgnkw.pyomo.nl',)\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: DAE: 1\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpumhqgnkw.pyomo.nl\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of constraints: 3920\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 1795\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 2125\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of variables: 4007\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 15554 \n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Explicit time variable: 0\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of derivatives: 87\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of differential vars: 87\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of algebraic vars: 3833\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of state vars: 3920\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 0 TS dt 0.1 time 11100.\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 1 TS dt 0.1 time 11100.1\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 2 TS dt 0.00392524 time 11100.1\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 3 TS dt 0.0392524 time 11100.1\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 4 TS dt 0.392524 time 11100.1\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 5 TS dt 0.760703 time 11100.5\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 6 TS dt 1.01241 time 11101.3\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 7 TS dt 0.967184 time 11102.2\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 8 TS dt 0.999746 time 11103.2\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 9 TS dt 0.924929 time 11104.\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 10 TS dt 0.866639 time 11104.9\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 11 TS dt 0.915231 time 11105.8\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 12 TS dt 0.858768 time 11106.7\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 13 TS dt 1.16546 time 11107.6\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 14 TS dt 1.0729 time 11108.7\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 15 TS dt 1.40736 time 11109.8\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 16 TS dt 1.47697 time 11111.2\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 17 TS dt 1.55373 time 11112.7\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 18 TS dt 1.4277 time 11114.\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 19 TS dt 1.07175 time 11115.\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 20 TS dt 1.32123 time 11116.1\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 21 TS dt 1.26966 time 11117.4\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 22 TS dt 0.929849 time 11118.2\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 23 TS dt 0.37561 time 11118.5\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 24 TS dt 1.3944 time 11118.9\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 25 TS dt 1.43845 time 11120.3\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 26 TS dt 1.90206 time 11121.7\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 27 TS dt 1.81077 time 11123.6\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 28 TS dt 1.79649 time 11125.4\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 29 TS dt 1.70313 time 11127.2\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 30 TS dt 1.8855 time 11128.9\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 31 TS dt 1.85638 time 11130.8\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 32 TS dt 1.85523 time 11132.7\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 33 TS dt 1.73671 time 11134.5\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 34 TS dt 1.64306 time 11136.2\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 35 TS dt 1.52316 time 11137.9\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 36 TS dt 1.41285 time 11139.2\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 37 TS dt 1.57227 time 11139.7\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 38 TS dt 0.96963 time 11140.2\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 39 TS dt 0.78644 time 11140.8\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 40 TS dt 0.705073 time 11141.5\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 41 TS dt 0.621216 time 11142.\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 42 TS dt 0.62459 time 11142.6\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 43 TS dt 0.63664 time 11143.2\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 44 TS dt 0.690959 time 11143.5\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 45 TS dt 0.430777 time 11144.\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 46 TS dt 0.410148 time 11144.4\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 47 TS dt 0.856631 time 11144.9\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 48 TS dt 0.949106 time 11145.1\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 49 TS dt 0.570639 time 11145.5\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 50 TS dt 0.657937 time 11146.1\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 51 TS dt 0.756228 time 11146.8\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 52 TS dt 0.960609 time 11147.5\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 53 TS dt 1.03942 time 11148.2\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 54 TS dt 0.73841 time 11148.8\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 55 TS dt 0.723736 time 11149.6\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 56 TS dt 1.3136 time 11150.3\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 57 TS dt 1.44703 time 11151.6\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 58 TS dt 1.78016 time 11153.1\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 59 TS dt 1.79591 time 11154.8\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 60 TS dt 1.70487 time 11156.6\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 61 TS dt 1.63852 time 11157.6\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 62 TS dt 0.894779 time 11158.4\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 63 TS dt 0.904928 time 11159.3\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 64 TS dt 1.51786 time 11160.2\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 65 TS dt 1.79934 time 11161.7\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 66 TS dt 2.19124 time 11163.5\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 67 TS dt 2.39088 time 11165.7\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 68 TS dt 2.77663 time 11168.1\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 69 TS dt 2.98602 time 11170.9\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 70 TS dt 3.19428 time 11173.9\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 71 TS dt 3.17037 time 11177.1\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 72 TS dt 3.2767 time 11180.2\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 73 TS dt 3.70518 time 11183.5\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 74 TS dt 3.9439 time 11187.2\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 75 TS dt 4.1184 time 11191.1\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 76 TS dt 4.51077 time 11195.3\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 77 TS dt 4.73 time 11199.8\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 78 TS dt 4.95553 time 11204.5\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 79 TS dt 5.05272 time 11209.5\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 80 TS dt 5.07776 time 11214.5\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 81 TS dt 5.05502 time 11219.6\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 82 TS dt 5.05021 time 11224.6\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 83 TS dt 5.29358 time 11229.7\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 84 TS dt 5.52422 time 11235.\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 85 TS dt 5.70998 time 11240.5\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 86 TS dt 5.77308 time 11246.2\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 87 TS dt 5.68832 time 11252.\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 88 TS dt 5.21191 time 11257.7\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 89 TS dt 5.52452 time 11262.9\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 90 TS dt 5.08208 time 11267.8\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 91 TS dt 6.0966 time 11269.7\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 92 TS dt 4.47115 time 11271.1\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 93 TS dt 4.46473 time 11271.8\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 94 TS dt 1.64611 time 11273.5\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 95 TS dt 3.11947 time 11275.2\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 96 TS dt 3.69342 time 11278.3\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 97 TS dt 4.85562 time 11282.\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 98 TS dt 4.86391 time 11286.8\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 99 TS dt 4.74083 time 11290.1\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 100 TS dt 3.88706 time 11291.9\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 101 TS dt 2.36784 time 11293.1\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 102 TS dt 3.04988 time 11295.5\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 103 TS dt 3.79675 time 11297.4\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 104 TS dt 3.41211 time 11299.4\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 105 TS dt 5.09485 time 11302.8\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 106 TS dt 6.30524 time 11307.9\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 107 TS dt 7.14277 time 11314.2\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 108 TS dt 6.97261 time 11321.4\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 109 TS dt 6.92383 time 11328.4\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 110 TS dt 6.31828 time 11335.3\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 111 TS dt 5.49724 time 11340.5\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 112 TS dt 4.90343 time 11345.5\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 113 TS dt 5.24546 time 11350.4\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 114 TS dt 5.37157 time 11355.6\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 115 TS dt 5.08981 time 11361.\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 116 TS dt 5.15951 time 11366.1\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 117 TS dt 4.68969 time 11371.2\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 118 TS dt 4.69922 time 11375.9\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 119 TS dt 4.35928 time 11380.6\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 120 TS dt 4.01346 time 11385.\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 121 TS dt 3.60641 time 11388.5\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 122 TS dt 3.18203 time 11391.7\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 123 TS dt 2.78627 time 11394.4\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 124 TS dt 1.58852 time 11396.8\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 125 TS dt 1.58852 time 11398.4\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 126 TS dt 1.90429 time 11400.\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: TSConvergedReason = TS_CONVERGED_TIME\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: TS_CONVERGED_TIME\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_nan\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_nan\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_ext\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_ext\n", - "2024-04-24 16:46:08 [INFO] idaes.solve.petsc-dae: WARNING: model contains export suffix 'scaling_factor' that contains 170\n", - "2024-04-24 16:46:08 [INFO] idaes.solve.petsc-dae: component keys that are not exported as part of the NL file. Skipping.\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Solver log file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpendl44cj_petsc_ts.log'\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Solver solution file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpson30_9f.pyomo.sol'\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Solver problem files: ('C:\\\\Users\\\\dallan\\\\AppData\\\\Local\\\\Temp\\\\tmpson30_9f.pyomo.nl',)\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: DAE: 1\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpson30_9f.pyomo.nl\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of constraints: 3920\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 1795\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 2125\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of variables: 4007\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 15554 \n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Explicit time variable: 0\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of derivatives: 87\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of differential vars: 87\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of algebraic vars: 3833\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of state vars: 3920\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 0 TS dt 0.1 time 11400.\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 1 TS dt 0.1 time 11400.1\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 2 TS dt 1. time 11400.2\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 3 TS dt 1.73678 time 11401.2\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 4 TS dt 2.23341 time 11402.9\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 5 TS dt 2.51853 time 11405.2\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 6 TS dt 2.72979 time 11407.7\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 7 TS dt 2.94331 time 11410.4\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 8 TS dt 3.1084 time 11413.4\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 9 TS dt 3.33766 time 11416.5\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 10 TS dt 3.65145 time 11419.8\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 11 TS dt 3.92962 time 11423.5\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 12 TS dt 4.4225 time 11427.4\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 13 TS dt 4.87494 time 11431.8\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 14 TS dt 5.42871 time 11436.7\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 15 TS dt 5.98195 time 11442.1\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 16 TS dt 6.92855 time 11448.1\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 17 TS dt 8.07333 time 11455.\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 18 TS dt 9.63979 time 11463.1\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 19 TS dt 11.702 time 11472.7\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 20 TS dt 14.5291 time 11484.4\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 21 TS dt 18.1896 time 11499.\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 22 TS dt 22.203 time 11517.2\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 23 TS dt 25.5942 time 11539.4\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 24 TS dt 28.4541 time 11565.\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 25 TS dt 30.7952 time 11593.4\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 26 TS dt 32.9926 time 11624.2\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 27 TS dt 34.8988 time 11657.2\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 28 TS dt 37.5398 time 11692.1\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 29 TS dt 41.8031 time 11729.6\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 30 TS dt 47.4503 time 11771.4\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 31 TS dt 53.673 time 11818.9\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 32 TS dt 60.8933 time 11872.6\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 33 TS dt 69.4519 time 11933.5\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 34 TS dt 77.8654 time 12002.9\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 35 TS dt 85.3528 time 12080.8\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 36 TS dt 92.584 time 12166.1\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 37 TS dt 99.6879 time 12258.7\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 38 TS dt 107.395 time 12358.4\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 39 TS dt 115.883 time 12465.8\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 40 TS dt 125.805 time 12581.7\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 41 TS dt 136.484 time 12707.5\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 42 TS dt 146.675 time 12844.\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 43 TS dt 154.432 time 12990.6\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 44 TS dt 158.051 time 13145.1\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 45 TS dt 156.722 time 13303.1\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 46 TS dt 161.592 time 13459.8\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 47 TS dt 169.876 time 13621.4\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 48 TS dt 175.501 time 13791.3\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 49 TS dt 177.773 time 13966.8\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 50 TS dt 195.829 time 14144.6\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 51 TS dt 209.215 time 14340.4\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 52 TS dt 228.235 time 14549.6\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 53 TS dt 245.428 time 14777.9\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 54 TS dt 265.796 time 15023.3\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 55 TS dt 286.41 time 15289.1\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 56 TS dt 309.614 time 15575.5\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 57 TS dt 336.559 time 15885.1\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 58 TS dt 370.237 time 16221.7\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 59 TS dt 418.152 time 16591.9\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 60 TS dt 475.299 time 17010.1\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 61 TS dt 548.284 time 17485.4\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 62 TS dt 640.182 time 18033.6\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 63 TS dt 756.084 time 18673.8\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 64 TS dt 900.068 time 19429.9\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 65 TS dt 935.01 time 20330.\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 66 TS dt 935.01 time 21265.\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 67 TS dt 1415.01 time 22200.\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: TSConvergedReason = TS_CONVERGED_TIME\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: TS_CONVERGED_TIME\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_nan\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_nan\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_ext\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_ext\n" - ] - } - ], + "outputs": [], "source": [ "idaeslog.solver_log.tee = True\n", "results = petsc.petsc_dae_by_time_element(\n", @@ -1870,246 +855,7 @@ "cell_type": "code", "execution_count": 20, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\dallan\\AppData\\Local\\Temp\\ipykernel_41080\\391657263.py:377: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`). Consider using `matplotlib.pyplot.close()`.\n", - " fig = plt.figure()\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAHOCAYAAACcvdMVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAABrQElEQVR4nO3dd3hUxfoH8O/Zsz2VkAIJVUCK9CoiAgpqQBSuiApKBGzcgAW9alQE7k+NglexoOhViFylCAIqRUS6glJjAUF6QoAUIG2TbDvn98cmm11SSHaTbPt+nmcfzp6Z3Z0sk903M3PmFWRZlkFERETkxxSebgARERFRfWPAQ0RERH6PAQ8RERH5PQY8RERE5PcY8BAREZHfY8BDREREfo8BDxEREfk9BjxERETk9xjwEBERkd9jwEPkB44dO4apU6eiU6dOCAoKglarRbNmzdCnTx9MnToVX3/9dbWP//777zF+/Hi0bt0aer0eoaGh6NSpE6ZOnYpDhw5V+bht27ZBEIQa3apiMBjw3nvv4fbbb0dsbCw0Gg2Cg4PRvn17PPDAA/jmm28gSdJV34OFCxdCEATExcXBarVetf7BgwchCAKUSiXOnTt31fqVmTVrFgRBwKxZs1x6PBE1HKWnG0BE7lm1ahXGjRsHo9GIxo0bY8CAAYiKisLly5eRmpqK+fPnY9myZbj77rsrPDY/Px/jxo3DunXrAADXXXcd7rjjDpjNZuzbtw/z58/HRx99hBdeeAGvvvpqtYFLQkJCrdv+ww8/4IEHHkB2djaUSiV69eqFgQMHwmKx4MSJE/jyyy/x5Zdfok+fPtizZ0+1zzV27Fg8+eSTOHfuHDZu3Ijhw4dXW3/hwoUAgPj4eMTGxta67dXZtm0bhgwZgkGDBmHbtm11+txE5CKZiHzWhQsX5ODgYBmA/Mwzz8jFxcUV6uzbt09+4YUXKpw3Go1yv379ZABy69at5Z9++smpXJIkefHixbJer5cByE8//XSF59i6dasMQHblo2Tt2rWyKIoyAHnSpElyZmZmhTpnzpyRH3vsMblRo0Y1es7JkyfLAOS777672nolJSVyRESEDEBevXp1rdteZubMmTIAeebMmU7ny96XQYMGufzcRFS3GPAQ+bBPP/1UBiDHxsbW+rEvvviiDEAODw+XT58+XWW97777zh7UbNq0yanM1YAnJydHDg8PlwHITzzxxFXrb9++vUbPu2vXLhmArFar5ZycnCrrLV++XAYgR0dHy2azucbtvhIDHiLfwTU8RD4sMzMTABAVFVWrxxUUFOCDDz4AAMyYMQMtW7assu4dd9yBO++8EwDw2muvudhSZx988AFyc3MRHR2NOXPmXLX+TTfdVKPn7d+/Pzp16gSTyYQvvviiynpl01kTJkyAUlk+s79nzx6MHTsWsbGxUKvViI6OxsiRI7Fp06YavT4ADB48GEOGDAEAbN++3WkdU6tWrez1srOz8d5772H48OFo3bo1dDodQkND0bt3b7z55psoKSmp8jX+/PNP3H333YiMjIRer0eXLl0wb948SJKEVq1aQRAEnD59usLjLBYLPv30UwwePBgRERHQaDRo3bo1pkyZgvT09Br/jES+iAEPkQ9r0aIFANsX4ObNm2v8uC1btiA/Px8A8OCDD161/oQJEwAAO3bsQF5engstdfbNN98AAO69915oNBq3n8/R5MmTAQCLFi2qtPzs2bP2AKasLgD897//Rf/+/bFixQo0adIEY8aMQbt27bB27VrceuutmD17do1e//bbb8dtt90GAIiJiUFCQoL9NmbMGHu9jRs34sknn8Tvv/+Oli1bYtSoUejbty+OHj2KF154ATfffDOMRmOF59++fTv69u2LVatWITw8HHfddReaNm2K559/HuPGjauyXQUFBRg2bBgeeeQR7N+/H127dsWdd94JjUaDBQsWoEePHjh48GCNfkYin+TpISYicl1BQYEcFxcnA5AFQZAHDx4s/9///Z+8bt06OSsrq8rHzZgxw752pybOnDljn7rasmWL/bwrU1pms1lWKBQyAHnx4sU1flxNZWVlySqVSgYg79+/v0L5q6++KgOQb7jhBvu533//XVYqlbIgCBXatH79elmtVssA5B9++MGpzJ0prcOHD8u7d++ucP7SpUvyrbfeKgOQ58yZ41RWVFRk//9+5plnZKvVai87dOiQHBMTY///OHXqlNNjx40bJwOQ77jjjgrrpd555x0ZgNyuXTvZYrFU2WYiX8YRHiIfFhwcjM2bN6Nfv36QZRnbtm3DjBkzMGLECERHR6NHjx5YsGBBhcu0s7OzAdhGIGrCsV7ZY69U3SXpo0aNste7ePGi/TLz6Ojo2vy4NRIVFWWfgiubunKUkpICAJg0aZL93LvvvguLxYLRo0dXGPGKj4/Ho48+CgCYO3dunbWzY8eOuP766yucb9SoEd5//30AwIoVK5zKVq5ciYyMDLRs2RLJyclQKMo/wjt16oQZM2ZU+lp//fUXli5ditjYWCxZsqTC+/7UU09h+PDhOHbsGDZs2ODuj0bklXhZOpGPa9++PX755Rfs2bMH69atw6+//ooDBw4gOzsbqampmDJlCr7++musW7cOarXapdeQZfmqdaq7LL1nz54uva6rHn74YXz99ddYsmQJ/vOf/9inzbZv347jx48jODgY9957r71+2aXjDz30UKXPN3nyZHzwwQfYuXMnrFYrRFGsk3ZarVZs27YNu3btwvnz51FcXAzZdjEJAODo0aNO9bdv3w4AuOeee6BSqSo83/jx4zF16tQK59evXw9ZlhEfH4+QkJBK2zJ48GCsX78eu3btwh133OHuj0bkdRjwEPmJvn37om/fvgBsAcrBgwcxd+5cLFu2DD/++CPeffdd/Otf/wIAREZGAihf9Hw1WVlZ9uOqFkiXjZxcTePGjaFQKCBJktPz1qVbb70VzZs3R3p6OlavXo377rsPQPmIz9ixYxEcHGyvn5GRAQBo3bp1pc/Xpk0bAEBJSQkuXrxYJyNTx44dw+jRo6vd2LFsnVWZs2fPAoDT4mdH4eHhCAsLq7DO6uTJkwCAzz77DJ999lm17apqBI/I1zHgIfJDgiCgZ8+eWLp0KYqKivDtt99izZo19oCnV69eAIBTp04hOzv7qld5lW36p1Ao0KNHD7faplQq0bVrV6SmpmLv3r01WjRdWwqFAg899BD+7//+D4sWLcJ9992HgoICrFy5EoDzYmVPGTNmDA4dOoQ77rgDzz33HDp16oTQ0FCoVCqYTKZqF3NXtwFkZWVlU4jdu3dHt27dqm1Xv379avgTEPkWBjxEfu7WW2/Ft99+i5ycHPu5m2++GSEhISgoKMDixYvxzDPPVPscixcvBgAMHDgQ4eHhbrfprrvuQmpqKpYvX465c+fW+ZVagG2Nzquvvooff/wR6enp2LhxI4qKitChQwfccMMNTnXj4uJw4sQJnDx5Ep07d67wXGUjJFqtFhEREW637ciRI/j9998RHR2N1atXO10aD9hGfyoTFxcHAJVecg4AeXl5yM3NrXC+efPmAIABAwbYtyMgCjRctEzkw2qytiYtLQ0A0KxZM/u50NBQJCYmAgBeffVVnDlzpsrHr127Ft999x0A4MUXX3SnuXbTpk1DWFgYsrKy8Pzzz1+1/s6dO2v9Gq1atcItt9wCSZKQkpJin85yXKxcZvDgwQCqnpYre+zAgQMrBCeVKVsrZbFYKi2/dOkSACA2NrbS56tqD6Gy/YhWrFhR6XMvWbKk0sfFx8cDAL799ttq9/ch8msevEKMiNz0wQcfyBMmTJB//vnnCmWSJMlff/21PTXEJ5984lReUlIi9+7d2355+pXPIUmS/L///c/++GnTplV4DXdSS3zzzTf2y9MnT55caWqJs2fPyomJiXJEREStn1+WZXnp0qUyADkyMlIGICuVSvnChQsV6jlelv6///3PqWzjxo2yRqORAcgbN250KqvqsvSyy/ijo6Nlk8lU4fWys7NlURRlURTlrVu3OpV9++239te78n01GAxy06ZNZQDyc88953RZ+l9//SU3adKkysvS7777bhmAHB8fX6FMlmW5sLBQ/uKLLyp9f4j8gSDLNfgTkYi80rx58/D0008DsC0m7tGjByIjI5Gbm4vDhw/bpz4eeOABfP75506XMQO2KZD77rsP33//PQCgS5cu6NixI8xmM/bu3YuzZ89CoVDg2WefxRtvvFFhfUhZkkzg6slD//3vf9s3SiyzYcMGTJgwATk5OVAqlejduzdatmxpTx7622+/QZZlXH/99di9e3et3x+j0YjY2Fj7iMqoUaOwevXqSut+8sknmDJlCiRJQs+ePdGhQwecOXMGu3btgizLmDVrFmbOnOn0mFmzZmH27NmYOXNmhYzpffr0wb59+9C+fXv07t0bWq0WkZGReOONNwDYLgV/9913oVAoMHDgQMTGxuLo0aM4cOAAXn75Zbz66qsAKo7ibdmyBSNGjEBJSQnatm2L3r1749KlS9i2bRvuuusu/Prrr0hLS0NGRoZTUtSCggKMHj0amzdvhlqtRrdu3dC6dWvIsozTp0/jt99+g8lkwl9//YUOHTrU+r0m8nqejLaIyD35+fnymjVr5GnTpsl9+/aVmzVrJqtUKlmn08lt2rSR77//fnnDhg1XfZ5169bJ9913n9yiRQtZq9XKwcHBcvv27eUpU6bIv//+e5WPcxzhudrt4MGDlT5HQUGB/M4778jDhg2TmzRpIqvValmv18vXXnut/MADD8hr166VJUly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jKi+sW8SURmmlgBTSxAREfkippYgIiIicsBxXHKbLMsoKioCAOj1+grb91dVRlTf2DeJqAxHeMhtRUVFCA4ORnBwsP0LpCZlRPWNfZOIyjDgISIiIr/HgIeIiIj8HgMeIiIi8nsMeIiIiMjvMeAhIiIiv8eAh4iIiPwe9+Eht4miiDFjxtiPa1pGVN/YN4moDFNLgKkliIiIfJFfpJaYP38+WrVqBa1Wi379+mHPnj1V1h08eDAEQahwGzFiRAO2mIiIiLyVVwY8y5cvx/Tp0zFz5kwcOHAA3bp1w2233YasrKxK669atQrnz5+33/7880+Iooh77rmngVtORERE3sgrA563334bjzzyCCZOnIhOnTphwYIF0Ov1WLhwYaX1IyIi0KRJE/tt06ZN0Ov1DHgaiMFgsI+qGQyGGpcR1Tf2TSIq43UBj8lkwv79+zF06FD7OYVCgaFDh2L37t01eo7PPvsM9913H4KCguqrmURERORDvO4qrZycHFitVsTExDidj4mJwZEjR676+D179uDPP//EZ599VmUdo9EIo9Fov5+fn+96g4mIiMjred0Ij7s+++wzdOnSBX379q2yTnJyMsLCwuy35s2bN2ALiYiIqKF5XcATGRkJURSRmZnpdD4zMxNNmjSp9rEGgwHLli3D5MmTq62XlJSEvLw8+y09Pd3tdhMREZH38rqAR61Wo1evXti8ebP9nCRJ2Lx5M/r371/tY1esWAGj0YgHHnig2noajQahoaFONyIiIvJfXreGBwCmT5+OhIQE9O7dG3379sW8efNgMBgwceJEAMCECRMQFxeH5ORkp8d99tlnGDVqFBo3buyJZhMREZGX8sqA595770V2djZeeeUVXLhwAd27d8f3339vX8iclpYGhcJ5cOro0aP46aef8MMPP3iiyQFNFEUMHz7cflzTMqL6xr5JRGWYWgJMLUFEROSL/CK1BBEREVFdYcBDREREfo8BD7nNYDAgKCgIQUFBlW7fX1UZUX1j3ySiMl65aJl8T1FRkUtlRPWNfZOIAI7wEBERUQBgwENERER+jwEPERER+T0GPEREROT3GPAQERGR3+NVWuQ2hUKBQYMG2Y9rWkZU39g3iagMU0uAqSWIiIh8EVNLEBERETlgwENERER+jwEPuc1gMCAqKgpRUVGVbt9fVRlRfWPfJKIyXLRMdSInJ8elMqL6xr5JRABHeIiIiCgAcIQHQNmFavn5+R5uiW9ynA7Iz8+H1WqtURlRfWPfJPJvZd/bNbngnJelAzh58iTatGnj6WYQERGRC9LT09GsWbNq63CEB0BERAQAIC0tDWFhYR5ujW/Kz89H8+bNkZ6ezr2MXMD3z318D93D9899fA/d48r7J8syCgoKEBsbe9W6DHhQvstqWFgYO6mbQkND+R66ge+f+/geuofvn/v4Hrqntu9fTQcquGiZiIiI/B4DHiIiIvJ7DHgAaDQazJw5ExqNxtNN8Vl8D93D9899fA/dw/fPfXwP3VPf7x+v0iIiIiK/xxEeIiIi8nsMeIiIiMjvMeAhIiIiv8eAh4iIiPweAx4A8+fPR6tWraDVatGvXz/s2bPH003yGTt27MDIkSMRGxsLQRCwZs0aTzfJpyQnJ6NPnz4ICQlBdHQ0Ro0ahaNHj3q6WT7jo48+QteuXe0blfXv3x8bNmzwdLN81htvvAFBEPDUU095uik+Y9asWRAEwenWoUMHTzfL52RkZOCBBx5A48aNodPp0KVLF+zbt69OXyPgA57ly5dj+vTpmDlzJg4cOIBu3brhtttuQ1ZWlqeb5hMMBgO6deuG+fPne7opPmn79u1ITEzEL7/8gk2bNsFsNuPWW291SmxJVWvWrBneeOMN7N+/H/v27cPNN9+Mu+66C4cOHfJ003zO3r178fHHH6Nr166eborPue6663D+/Hn77aeffvJ0k3zK5cuXMWDAAKhUKmzYsAGHDx/Gf/7zHzRq1KhuX0gOcH379pUTExPt961WqxwbGysnJyd7sFW+CYC8evVqTzfDp2VlZckA5O3bt3u6KT6rUaNG8qeffurpZviUgoICuV27dvKmTZvkQYMGyU8++aSnm+QzZs6cKXfr1s3TzfBpzz//vHzjjTfW++sE9AiPyWTC/v37MXToUPs5hUKBoUOHYvfu3R5sGQWqvLw8AOUJbanmrFYrli1bBoPBgP79+3u6OT4lMTERI0aMcPospJo7duwYYmNjcc0112D8+PFIS0vzdJN8yrfffovevXvjnnvuQXR0NHr06IH//ve/df46AR3w5OTkwGq1IiYmxul8TEwMLly44KFWUaCSJAlPPfUUBgwYgM6dO3u6OT7jjz/+QHBwMDQaDR5//HGsXr0anTp18nSzfMayZctw4MABJCcne7opPqlfv35ISUnB999/j48++ginTp3CwIEDUVBQ4Omm+YyTJ0/io48+Qrt27bBx40ZMmTIFTzzxBD7//PM6fR1mSyfyEomJifjzzz85/19L7du3R2pqKvLy8rBy5UokJCRg+/btDHpqID09HU8++SQ2bdoErVbr6eb4pPj4ePtx165d0a9fP7Rs2RJfffUVJk+e7MGW+Q5JktC7d2+8/vrrAIAePXrgzz//xIIFC5CQkFBnrxPQIzyRkZEQRRGZmZlO5zMzM9GkSRMPtYoC0dSpU7F27Vps3boVzZo183RzfIparUbbtm3Rq1cvJCcno1u3bnj33Xc93SyfsH//fmRlZaFnz55QKpVQKpXYvn073nvvPSiVSlitVk830eeEh4fj2muvxfHjxz3dFJ/RtGnTCn+gdOzYsc6nBgM64FGr1ejVqxc2b95sPydJEjZv3sw1ANQgZFnG1KlTsXr1amzZsgWtW7f2dJN8niRJMBqNnm6GT7jlllvwxx9/IDU11X7r3bs3xo8fj9TUVIii6Okm+pzCwkKcOHECTZs29XRTfMaAAQMqbMfx999/o2XLlnX6OgE/pTV9+nQkJCSgd+/e6Nu3L+bNmweDwYCJEyd6umk+obCw0OkvmVOnTiE1NRURERFo0aKFB1vmGxITE7FkyRJ88803CAkJsa8dCwsLg06n83DrvF9SUhLi4+PRokULFBQUYMmSJdi2bRs2btzo6ab5hJCQkArrxYKCgtC4cWOuI6uhZ599FiNHjkTLli1x7tw5zJw5E6Io4v777/d003zG008/jRtuuAGvv/46xo4diz179uCTTz7BJ598UrcvVO/XgfmA999/X27RooWsVqvlvn37yr/88ounm+Qztm7dKgOocEtISPB003xCZe8dAHnRokWebppPmDRpktyyZUtZrVbLUVFR8i233CL/8MMPnm6WT+Nl6bVz7733yk2bNpXVarUcFxcn33vvvfLx48c93Syf891338mdO3eWNRqN3KFDB/mTTz6p89cQZFmW6zaEIiIiIvIuAb2Gh4iIiAIDAx4iIiLyewx4iIiIyO8x4CEiIiK/x4CHiIiI/B4DHiIiIvJ7DHiIiIjI7zHgISIiIr/HgIeIGsTgwYMhCIKnm1FjsiyjV69euPXWW53O1/XP8eOPP0IQBKxfv77OnpOIKgr4XFpEVHu1/cL3xQ3dFy9ejAMHDmD37t31+jpDhw7FjTfeiOeeew633XYbE3YS1RMGPERUazNnzqxwbt68ecjLy6u0DLAFEEVFRfXdtDohSRJmzZqFgQMH4vrrr6/313vuuedw5513YtmyZRg/fny9vx5RIGIuLSKqE61atcKZM2d8cjTnSuvWrcMdd9yB//73v3j44YedygYPHozt27fX6c9pNpsRGxuLDh06YOfOnXX2vERUjmt4iKhBVLb2JSUlBYIgICUlBd999x369esHvV6PuLg4zJgxA5IkAQA+//xzdOvWDTqdDi1atMDcuXMrfQ1ZlrFw4UIMGDAAoaGh0Ov16N27NxYuXFirti5atAiCIODuu++uso7ZbMasWbPQqlUraDQaXHvttfjwww8r1Js1axYEQcC2bduQkpKCnj17Qq/XY/DgwfY6KpUKo0aNwk8//YTjx4/Xqq1EVDOc0iIij1u9ejV++OEHjBo1CgMGDMC6devw6quvQpZlhIWF4dVXX8Vdd92FwYMH4+uvv8Zzzz2HmJgYTJgwwf4csixj/PjxWLp0Kdq1a4dx48ZBrVZj06ZNmDx5Mg4fPoy33nrrqm2RZRlbt25F+/bt0ahRoyrr3X///dizZw/i4+MhiiK++uorJCYmQqVS4ZFHHqlQf+7cudi6dSvuuusu3HrrrRXW6vTv3x+ffvoptmzZgrZt29bi3SOiGpGJiOpAy5Yt5eo+UgYNGlShfNGiRTIAWaVSyXv27LGfz8/Pl6Ojo2W9Xi83adJEPnHihL0sLS1NVqvVcpcuXZye65NPPpEByBMnTpRNJpP9vNFolEeOHCkDkPft23fVn+PQoUMyAHn8+PHV/hz9+vWT8/Ly7OePHDkiK5VKuX379k71Z86cKQOQg4KC5N9//73K1/3tt99kAPKECROu2kYiqj1OaRGRxz3wwAPo06eP/X5ISAjuuOMOFBUVYcqUKbjmmmvsZc2bN8eNN96Iw4cPw2Kx2M9/8MEHCAoKwvz586FSqezn1Wo1XnvtNQDA0qVLr9qWs2fPAgBiYmKqrZecnIzQ0FD7/fbt22PAgAE4evQoCgoKKtR/9NFH0aVLlyqfr+z1yl6fiOoWp7SIyOO6d+9e4VzTpk2rLbNarcjMzERcXByKiorwxx9/IDY2Fm+++WaF+mazGQBw5MiRq7bl4sWLAIDw8PBq6/Xq1avCuWbNmgEAcnNzERIS4lTWt2/fap8vIiICAJCTk3PVNhJR7THgISKPcxwpKaNUKq9aVhbIXL58GbIsIyMjA7Nnz67ydQwGw1XbotPpAAAlJSUut9lqtVYou9qIUXFxMQBAr9dftY1EVHsMeIjI55UFH7169cK+ffvceq6oqCgAwKVLl9xul6OrbdZY9nplr09EdYtreIjI54WEhKBjx47466+/kJub69ZzXXfddVAoFDh69GjdNK6Gyl6vunU+ROQ6BjxE5BeeeOIJFBUV4ZFHHql06urUqVM4ffr0VZ8nPDwcXbt2xb59++z7ADWEX3/9FQAwaNCgBntNokDCgIeI/MJjjz2GhIQErFy5Eu3atcOECRPwwgsvYOLEiejfvz/atGmDX375pUbPNXr0aBQUFNS4fl3YtGkTGjVqhJtuuqnBXpMokDDgISK/ULZj8/Lly3Hddddh7dq1ePvtt7Fp0yZotVq89dZbGDp0aI2e6+GHH4ZSqcQXX3xRz622OX36NH7++WckJCRAq9U2yGsSBRrm0iIiqsSDDz6IdevW4cyZMxUuMa9rL7/8MubMmYO//voLbdq0qdfXIgpUHOEhIqrEq6++iuLiYrz//vv1+jqXL1/G+++/jylTpjDYIapHvCydiKgSLVu2xOeff47MzMx6fZ1Tp07h6aefxrRp0+r1dYgCHae0iIiIyO9xSouIiIj8HgMeIiIi8nsMeIiIiMjvMeAhIiIiv8eAh4iIiPweAx4iIiLyewx4iIiIyO8x4CEiIiK/x4CHiIiI/N7/A1MiL65nmE3mAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkwAAAHOCAYAAABq9FaNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAABa+UlEQVR4nO3dd3xTVf8H8M/NTroLHYwuQEGGbGoZUqAPW+0jIgKyxUesCFRluEBl+LBEBUEfmSqiyA8cKFJZrqKAomwFC0WgpVjoSNskTe7vD+yVkLZJV9L0ft6vV14k59zcfBNOm2/POfccQRRFEURERERUJoWnAyAiIiKq7ZgwERERETnBhImIiIjICSZMRERERE4wYSIiIiJyggkTERERkRNMmIiIiIicYMJERERE5AQTJiIiIiInmDAR1RBBECp8i4+P93TYkujoaAiCgLNnz3o6lBqxd+/eav/MS/4fiajuUXk6AKK6asyYMQ5lGRkZ+PLLL8usb9GiRYVeY+/evejVqxd69uyJvXv3VipOorqGPxdUE5gwEdWQdevWOZTt3btXSphKqyciotqJQ3JERERETjBhIqpF/vzzT0yePBm33HILdDodAgIC0K1bN7z55puwWq12x8bHx6NXr14AgH379tnNhYqOjpaOy8rKwmuvvYaBAwciJiYGer0e/v7+6NSpE/773/+iqKio2uIfO3YsBEHAunXrcOrUKQwbNgyhoaHw8fFB586d8fHHH0vH/vDDD7j77rsREhICvV6PuLg47Nq1q1o+mxtt2LABnTt3hsFgQHBwMPr3749vvvmmzOPXrVsHQRAwduzYUuvPnj3r8Bm7ori4GG+//Tbi4+MRHBwMrVaLmJgYTJo0CefPn6/QuUpcvXoVL774Ijp16oSAgADo9Xo0adIE999/P7744gu7Y53Nr4qPj4cgCA5DWDeWf/PNN7jrrrsQEhIChUIh9ZLeON/t448/Ru/evREcHOxwvqtXr2L27Nlo164d/Pz8YDAY0KZNG8ydOxcFBQUOMc2ZMweCIGDOnDnIyspCUlISIiIioNFoEBERgcmTJ+PatWsO8bryc0FUURySI6olDhw4gP79+yM7OxuRkZFITExETk4O9u7di++//x5bt27FJ598Ao1GAwDo378/dDodvvzyS4SFhaF///7SuerXry/d//LLLzFlyhQ0atQIzZo1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/Pz8HObL+fj4oF69epxH56Inn3wSd911F6KionDx4kXMnj0bSqUSw4cP93RoXmHatGno2rUr5s+fj/vvvx8//vgj3nrrLbz11lvV/2IiVdnrr78uRkZGihqNRuzSpYu4f/9+T4fkNfbs2SMCcLiNGTPG06F5hdI+OwDi2rVrPR2aVxg/frwYFRUlajQaMSQkROzTp4+4c+dOT4fl1Xr27ClOmTLF02F4jWHDhokNGjQQNRqN2KhRI3HYsGHi6dOnPR2WV/n000/F1q1bi1qtVmzRooX41ltv1cjrcB0mIiIiIic4h4mIiIjICSZMRERERE4wYSIiIiJyggkTERERkRNMmIiIiIicYMJERERE5AQTJiIiIiInmDAREREROcGEiYi8Qnx8PARB8HQYLhNFER07dkTfvn3tyqv7fXz11VcQBAGff/55tZ2TiBxxLzkicruKJgzeuCHBhg0b8NNPPyE1NbVGXychIQHdu3fH9OnT0a9fP254S1RDmDARkdvNnj3boWzZsmXIyckptQ64noAUFBTUdGjVwmazYc6cOejRowfuuOOOGn+96dOn4+6778amTZswcuTIGn89IjniXnJEVCtER0fj3LlzXtmbdLPt27dj8ODB+N///oeHHnrIri4+Ph779u2r1vdpsVjQsGFDtGjRAt988021nZeI/sE5TETkFUqb+7Nu3ToIgoB169bh008/RWxsLAwGAxo1aoTnnnsONpsNALB+/Xq0bdsWer0ekZGRWLRoUamvIYoi1qxZg27dusHf3x8GgwGdOnXCmjVrKhTr2rVrIQgChgwZUuYxFosFc+bMQXR0NLRaLW699Va88cYbDsfNmTMHgiBg7969WLduHTp06ACDwYD4+HjpGLVajcTERHz77bc4ffp0hWIlItdwSI6IvN7WrVuxc+dOJCYmolu3bti+fTvmzp0LURQREBCAuXPn4p577kF8fDy2bNmC6dOnIywsDKNHj5bOIYoiRo4ciffffx+33HILRowYAY1Gg5SUFEyYMAHHjx/H4sWLncYiiiL27NmD5s2bIygoqMzjhg8fjh9//BEDBgyAUqnEhx9+iKSkJKjVakycONHh+EWLFmHPnj2455570LdvX4e5SnFxcXj77bexe/duNGvWrAKfHhG5RCQiqgWioqLE8n4l9ezZ06F+7dq1IgBRrVaLP/74o1Sem5srhoaGigaDQQwPDxfPnDkj1aWnp4sajUZs06aN3bneeustEYA4btw40Ww2S+Umk0m86667RADiwYMHnb6PY8eOiQDEkSNHlvs+YmNjxZycHKn85MmTokqlEps3b253/OzZs0UAoo+Pj/jrr7+W+bq//PKLCEAcPXq00xiJqOI4JEdEXu/BBx9E586dpcd+fn4YPHgwCgoKMGnSJDRp0kSqi4iIQPfu3XH8+HEUFxdL5cuXL4ePjw9WrFgBtVotlWs0GsybNw8A8P777zuN5c8//wQAhIWFlXvcggUL4O/vLz1u3rw5unXrhlOnTiEvL8/h+Icffhht2rQp83wlr1fy+kRUvTgkR0Rer127dg5lDRo0KLfOarUiMzMTjRo1QkFBAY4cOYKGDRviv//9r8PxFosFAHDy5Emnsfz1118AgMDAwHKP69ixo0NZ48aNAQDXrl2Dn5+fXV2XLl3KPV9wcDAA4MqVK05jJKKKY8JERF7vxp6aEiqVymldSSJ09epViKKICxcu4IUXXijzdYxGo9NY9Ho9AKCoqKjSMVutVoc6Zz1WhYWFAACDweA0RiKqOCZMRCR7JclLx44dcfDgwSqdKyQkBACQnZ1d5bhu5Gyxz5LXK3l9IqpenMNERLLn5+eH2267DSdOnMC1a9eqdK5WrVpBoVDg1KlT1ROci0per7x5TkRUeUyYiIgAPP744ygoKMDEiRNLHXpLS0vD2bNnnZ4nMDAQt99+Ow4ePCitA+UOP/zwAwCgZ8+ebntNIjlhwkREBOA///kPxowZg48++gi33HILRo8ejZkzZ2LcuHGIi4tD06ZNsX//fpfO9e9//xt5eXkuH18dUlJSEBQUhDvvvNNtr0kkJ0yYiIgAacXwDz74AK1atcJnn32GpUuXIiUlBTqdDosXL0ZCQoJL53rooYegUqnw7rvv1nDU1509exbfffcdxowZA51O55bXJJIb7iVHRFQDRo0ahe3bt+PcuXMOSwRUt2effRYLFy7EiRMn0LRp0xp9LSK5Yg8TEVENmDt3LgoLC/H666/X6OtcvXoVr7/+OiZNmsRkiagGcVkBIqIaEBUVhfXr1yMzM7NGXyctLQ3Tpk3D5MmTa/R1iOSOQ3JERERETnBIjoiIiMgJJkxERERETjBhIiIiInKCCRMRERGRE0yYiIiIiJxgwkRERETkBBMmIiIiIieYMBERERE5wYSJiIiIyIn/BzPNkgzipxDCAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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8xOR6XGMFBFRCZycnNCiRQscP34ct2/frtSxWrVqBRsbG5w8edI0wVVQ4fnKGkdFRJXDRIqIqBT/93//h8zMTDz//PMlXsJLSkrC2bNnyz2Oq6sr2rRpg3379snzWFWH3bt3AwC6d+9ebecksjZMpIiISvHiiy8iMjISP//8M5o0aYLhw4fjtddew8iRIxESEoJGjRph165dFTrWk08+iTt37lS4vilER0fDzc0N3bp1q7ZzElkbJlJERKUonCH9p59+QqtWrbB+/Xq8//77iI6Ohq2tLd577z2Eh4dX6FhjxoyBUqnE999/X8VR65w9exY7duxAZGQkbG1tq+WcRNaIa+0REVWTYcOGYcOGDTh37lyxqQxM7c0338SCBQtw/PhxNGrUqErPRWTN2CNFRFRN5s6di6ysLHz88cdVep5bt27h448/xrhx45hEEVUxTn9ARFRN/P39sWLFCqSkpFTpeZKSkvDyyy9j4sSJVXoeIuKlPSIiIiKj8dIeERERkZGYSBEREREZiYkUERERkZGYSBEREREZiYkUERERkZGYSBEREREZiYkUERERkZGYSBEREREZiYkUERERkZH+H3HT4SDswJVuAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHOCAYAAABkXSjiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAACFlElEQVR4nO3dd3hT1RsH8G9W996ldLBnGaVspAVUhiioOBCEshVQUXHgT2SIVEEBB4KCgAwFFUFlKSJl71FGWYUWymgLdKdt2ibn90doSuggTdOk4/t5nvskuefce9+kp83bc+89RyKEECAiIiKqIaSWDoCIiIjIlJjcEBERUY3C5IaIiIhqFCY3REREVKMwuSEiIqIahckNERER1ShMboiIiKhGYXJDRERENQqTGyIiIqpRmNwQVYBEIin3Eh4eXuY+4+PjIZFIEBQUZJb3UJaoqCiDYibjFbaLmn5MInOSWzoAoups+PDhxdYlJibi77//LrW8adOmlR5XbRMeHo5du3Zh586dtT4R42dBxOSGqEJWrFhRbF1UVJQuuSmp/GH8/Pxw7tw5KBSKCkZHVLJz585ZOgSiSsXkhqiKUSgU7N2hSsX2RTUdr7khMqPp06dDIpFg+vTpuHbtGkaNGgV/f38oFApEREQAKPuam/uvlVi9ejU6dOgABwcHeHp6YvDgwbh27RoAQAiBb775Bm3atIG9vT08PDwQERGB5ORko2PPz8/HZ599hhYtWsDW1hbu7u545plnyuwFSE1NxbRp09CmTRs4OjrCzs4OwcHBmDVrFrKzs4vVz8zMxJIlS/DMM8+gUaNGsLe3h729PYKDg/G///0PaWlpevULrwnatWsXAKBHjx561zc92HNW3ngM+XkZ4sCBA+jbty9cXFzg4OCA0NBQLFu2rNT6hlx3FRQUBIlEgvj4+HJ/FmVdc1NQUIClS5ciPDwcbm5usLa2Rr169fDqq68iISGhxG3+/fdfPPnkk/D29oZCoYCrqysaNWqEoUOHYvfu3WV/OESVgD03RBZw6dIltG3bFlZWVujatSuEEPDw8DB4+ylTpuDzzz9H9+7d0bdvXxw+fBhr167Fvn37EB0djVdeeQV//vknwsPDUb9+fezbtw8//vgjTpw4gSNHjsDKyqpc8ebn56Nfv37Yv38/unfvjmbNmuHw4cPYsGEDdu7ciRMnThT7Io6JiUGfPn2QkJAAX19fdOvWDQqFAocPH8bUqVOxfv16REVFwdnZWbdNdHQ0xo4dC09PTzRp0gTt2rVDamoqjh07htmzZ+OXX37BwYMH4e7uDgDw8fHB8OHDsW3bNiQlJaF3797w8fHR7a9hw4YViqdQRX5ev/76KwYPHgy1Wo2WLVsiODgYCQkJGD16NM6ePVueH0OZyvNZlCYzMxNPPfUUoqKi4ODggHbt2sHT0xOnT5/G4sWL8euvv2L79u1o27atbpsff/wRI0aMAAB06NABPXr0QE5ODq5fv461a9fCw8MD3bt3N9n7JDKIICKT2rlzpwAgSvr1mjZtmq5s6NChIjc3t1iduLg4AUAEBgYWKyvc1t3dXZw8eVK3Pjs7W3Tr1k0AEMHBwaJBgwYiPj5eV3779m3RsGFDAUCsXr3aqPfStm1bcevWLV1ZTk6O6N27twAgxo4dq7dddna2aNCggQAgPvzwQ6FSqXRlSqVSDB48WAAQI0aM0NsuISFB/Pvvv0KtVuutVyqVYtiwYQKAGD9+fLE4w8LCBACxc+fOEt+HsfEY8vMqy61bt4Sjo6MAIObNm6dX9u+//wobG5sS20pZbaBQYGCgACDi4uL01j/ssxBClNo+X3rpJQFA9O/fXyQlJemVzZ8/XwAQjRo1EgUFBbr19erVEwDEnj17iu0vKSlJHD9+vNQ4iCoLkxsiEzMkuXFzcxNpaWklbm9IcrNw4cJiZb///ruufPPmzcXKv/jiixK/wA15LxKJRC+ZKnTw4EEBQNSvX19v/aJFi3RfkiXJzMwUXl5eQi6Xi5SUFINiUSqVQi6XC09Pz2JlD/tCNzYeQ35eZZk1a5YAIDp16lRi+RtvvFFlkpuYmBghkUhEnTp1REZGRonb9evXTwAQf/31l26dnZ2dcHZ2LvVYRJbAa26ILODRRx8t8fSHofr161dsXaNGjQAAcrkcjz/+eKnlN2/eLPfxAgIC0Lp162LrmzVrBgC4ceOG3vrNmzcDAF544YUS91d43UlBQQGOHDlSrHz//v347LPPMGHCBIwYMQIREREYP348rKyscPv2baSmppYr/orGY+zPKyoqCgAwZMiQEstLGirAUrZs2QIhBPr27QtHR8cS6xTeWr5//37dug4dOiA9PR3Dhg3DsWPHoNFozBEuUZl4zQ2RBVR0gL6AgIBi6xwcHAAAvr6+kMuL/2oXfmHl5uaa5HgA4OTkBABQqVR6669cuQIAePnll/Hyyy+Xue/bt2/rnicnJ+PZZ5/F3r17y9wmIyMDrq6uD427ovEUMvbndf36dQBAvXr1Siwvbb0lFH5GP/zwA3744Ycy697/GX377bfo378/Vq1ahVWrVsHR0RHt27dHz5498fLLL5fadogqE5MbIguwtbWt0PZSaemdrmWVVcbxSlL433ufPn3g7e1dZt3AwEDd89GjR2Pv3r3o3LkzZsyYgdatW8PV1VU35k+dOnVw69YtCCHMEk+hiv68KoOpe0gK99emTZsSe+nu17FjR93zZs2a4cKFC/jnn3/w33//Yf/+/dizZw/+++8/zJw5Ez/88AOGDh1q0liJHobJDRGZnL+/P86fP49Ro0Zh0KBBBm2jVCqxZcsWSKVSbNmyBS4uLsXKExMTzRaPKfj5+eH8+fO627UfVNr6wrvZMjMzSyzPz8/HrVu3TBGijr+/PwCga9eu+Oabb8q1rVwuR79+/XSnSzMyMjBv3jzMmDED48aNw9NPPw17e3uTxktUFl5zQ0Qm17dvXwDAL7/8YvA26enpUKvVcHJyKpbYANpxfUrrsSlMBgoKCkwWjymEhYUBANasWVNi+cqVK0tc7+npCSsrK6SkpJQ4NtHff/9d6nt92GdRmsLP6M8//zTq1OX9nJycMH36dLi4uCA7OxsXL16s0P6IyovJDRGZ3NixYxEYGIhff/0V7733Xok9EImJiViyZInutbe3N1xdXZGWloZVq1bp1T148CCmTJlS6vHq1q0LAKWOG2NMPKYwatQoODg44MCBA/jqq6/0yqKiorB48eISt1MoFLqxYT788EO9U1DR0dGYOHFiqcd82GdRmrZt2+LZZ59FQkICnnnmmRJ7lZRKJdasWYOkpCQAQHZ2NubNm1fidUp79uxBWloaZDKZLiYis7Hw3VpENY4ht4JPmzat1O0NuRW8vNvdH1dYWJgB78LwbUqL6cyZMyIoKEgAEC4uLqJ79+7ipZdeEgMHDhTNmzcXEolEeHt7621TOJYKANGxY0cxePBg0bVrVyGRSMTLL79c6u3PmzZtEgCElZWV6N+/vxg5cqQYNWqU2LdvX4XiMeTn9TA///yzkMlkujGIBg8eLLp37y4kEol48803S/38Dh48KKysrAQA0bhxYzFo0CDRuXNnoVAoxPDhwyv0WZR2zIyMDNGrVy/d9u3btxfPP/+8eO6550T79u118Zw7d04IIURqaqoAIKRSqWjdurUYNGiQGDx4sOjcubOQSCQCgPjoo4+M/uyIjMXkhsjEmNwUycjIEHPmzBGdO3cWLi4uQqFQCF9fX9G+fXvxzjvviP379xfbZuPGjaJLly7CxcVFODg4iNDQUPHtt98KjUZT6he6EEIsWbJEhISECDs7O11My5cvr1A8pkhuhBBiz549onfv3sLJyUnY2dmJtm3biu+++04IUfbnd+DAAfH4448LJycnYWtrK1q3bm2Sz6KsY6rVavHTTz+Jfv36CW9vb6FQKIS7u7to2bKlGDFihNiwYYPIy8sTQgiRn58vFi9eLAYPHiyaNm0qnJ2dha2trWjQoIF49tlnxY4dOyr0uREZSyJEOW87ICIiIqrCeM0NERER1ShMboiIiKhGYXJDRERENQqTGyIiIqpRmNwQERFRjcLkhoiIiGqUWjm3lEajwc2bN+Ho6AiJRGLpcIiIiMgAQghkZmaiTp06ZU7oWyuTm5s3b+omiSMiIqLqJSEhocxpPWplcuPo6AhA++E4OTlZOJrqpaCgADt27AAA9OrVC3K53KAyInNg+ySq2TIyMuDv76/7Hi9NrRyhOCMjA87OzkhPT2dyU05KpRIODg4AgKysLNjb2xtURmQObJ9ENZuh39+8oJiIiIhqFCY3REREVKMwuSEiIqIahVfUERHVcmq1Gvn5+ZYOgwgKhQIymazC+2FyQ0RUSwkhkJiYiLS0NEuHQqTj4uICHx+fCo1Dx+SGiKiWKkxsvLy8YGdnx0FNyaKEEMjOzkZycjIAwNfX1+h9MbmhcrGyssI333yje25oGZE5sH0aTq1W6xIbd3d3S4dDBACwtbUFACQnJ8PLy8voU1Qc54bj3BBRLZSbm4u4uDgEBQXpvlCIqoKcnBzEx8ejXr16sLGx0SvjODdERPRQPBVFVY0p2iRPS1G5qNVq7NmzBwDwyCOP6HUZllVGZA5sn0QEMLmhcsrNzUWPHj0AFB/CvqwyInNg+6SKioqKQo8ePZCamgoXFxdLh0NG4mkpIiKqViIiIiCRSIotsbGxlg6Nqgj23BARUbXTp08fLF++XG+dp6enhaKhqoY9N0REVO1YW1vDx8dHbxk1ahQGDhyoV2/SpEkIDw/XvdZoNIiMjES9evVga2uL1q1b47fffjNv8FTp2HNDREQAtIOo5eSrLXJsW4XMLHduRUZGYvXq1Vi8eDEaNWqE3bt3Y+jQofD09ERYWFilH5/Mg8kNEREBAHLy1Wj+0d8WOXbMzN6wszL8K2nTpk1wcHDQve7bt+9DLxJXqVSYPXs2/v33X3Tu3BkAUL9+fezduxffffcdk5sahMkNERFVOz169MCiRYt0r+3t7TFlypQyt4mNjUV2djYee+wxvfV5eXlo27ZtpcRJlsHkhspFoVBgzpw5uueGlhGZA9tnxdgqZIiZ2dtixy4Pe3t7NGzYUG+dVCrFg4Pu3z/beVZWFgBg8+bN8PPz06tnbW1druNT1cbkhsrFysoK77zzTrnLiMyB7bNiJBJJuU4NVTWenp44c+aM3rqTJ0/qktnmzZvD2toa165d4ymoGq76tmIiIqL79OzZE3PnzsXKlSvRuXNnrF69GmfOnNGdcnJ0dMTkyZPx5ptvQqPRoFu3bkhPT8e+ffvg5OSE4cOHW/gdkKkwuaFyUavVOH78OAAgJCSk2PD2pZURmQPbZ+3Wu3dvTJ06Fe+++y5yc3MxcuRIDBs2DKdPn9bV+fjjj+Hp6YnIyEhcuXIFLi4uCAkJwQcffGDByMnUOCs4ZwUvF6VSqbtD4cEh7MsqIzIHtk/DFc4KXtLMy0SWVFbb5KzgREREVCsxuSEiIqIahckNERER1ShMboiIiKhGqXLJze7du/Hkk0+iTp06kEgk2Lhxo165EAIfffQRfH19YWtri0cffRSXLl2yTLBERERU5VS55EapVKJ169ZYuHBhieVz5szBV199hcWLF+PQoUOwt7dH7969kZuba+ZIiYiIqCqqcuPc9O3bF3379i2xTAiBBQsW4MMPP8SAAQMAACtXroS3tzc2btyIF1980Zyh1koKhQLTpk3TPTe0jMgc2D6JCKji49xIJBJs2LABAwcOBABcuXIFDRo0wIkTJ9CmTRtdvbCwMLRp0wZffvmlQfvlODdEVNtxnBuqqkwxzk2V67kpS2JiIgDA29tbb723t7eurCQqlQoqlUr3OiMjo3ICJCIiIourctfcVIbIyEg4OzvrFn9/f0uHVG1pNBqcPXsWZ8+ehUajMbiMyBzYPokIqGbJjY+PDwAgKSlJb31SUpKurCRTpkxBenq6bklISKjUOGuynJwctGzZEi1btkROTo7BZUTmwPZZe9y+fRuvvvoqAgICYG1tDR8fH/Tu3Rv79u2zdGhUBVSr01L16tWDj48PduzYobvmJiMjA4cOHcKrr75a6nbW1tawtrY2U5RERFTZnn32WeTl5eHHH39E/fr1kZSUhB07duDu3buWDo2qgCrXc5OVlYWTJ0/i5MmTAIC4uDicPHkS165dg0QiwaRJkzBr1iz8+eefOH36NIYNG4Y6deroLjomIqKaLS0tDXv27MFnn32GHj16IDAwEB06dMCUKVPw1FNPYfLkyejfv7+u/oIFCyCRSLBt2zbduoYNG2Lp0qW610uXLkWzZs1gY2ODpk2b4ttvv9U7ZkJCAp5//nm4uLjAzc0NAwYMQHx8vK48IiICAwcOxIwZM+Dp6QknJye88soryMvLq7wPgkpV5Xpujh49ih49euhev/XWWwCA4cOHY8WKFXj33XehVCoxduxYpKWloVu3bti2bRuv9iciqighgPxsyxxbYQdIJAZVdXBwgIODAzZu3IhOnToV65kPCwvD0qVLoVarIZPJsGvXLnh4eCAqKgp9+vTBjRs3cPnyZYSHhwMA1qxZg48++gjffPMN2rZtixMnTmDMmDGwt7fH8OHDkZ+fj969e6Nz587Ys2cP5HI5Zs2ahT59+uDUqVOwsrICAOzYsQM2NjaIiopCfHw8RowYAXd3d3zyyScm/ajo4ar0reCVhbeCG0+pVMLBwQGAtpfN3t7eoDIic2D7NFyJt9vmKYHZdSwT0Ac3ASvDfybr16/HmDFjkJOTg5CQEISFheHFF19Eq1atkJaWBnd3dxw6dAjt2rWDh4cH3nnnHWzcuBEHDx7EmjVr8N577+H69esAtL04H3/8MQYPHqzb/6xZs7Blyxbs378fq1evxqxZs3Du3DlI7iVgeXl5cHFxwcaNG/H4448jIiICf/31FxISEmBnZwcAWLx4Md555x2kp6dDKq1yJ0qqLFPcCs5Pm4iIqp1nn30WN2/exJ9//ok+ffogKioKISEhWLFiBVxcXNC6dWtERUXh9OnTsLKywtixY3HixAlkZWVh165dCAsLA6BNei9fvoxRo0bpeoQcHBwwa9YsXL58GQAQHR2N2NhYODo66srd3NyQm5urqwMArVu31iU2ANC5c2dkZWXxJhYLqHKnpYiIyEIUdtoeFEsdu5xsbGzw2GOP4bHHHsPUqVMxevRoTJs2DREREQgPD0dUVBSsra0RFhYGNzc3NGvWDHv37sWuXbvw9ttvA9D24gHAkiVL0LFjR739y2QyXZ127dphzZo1xWLw9PQsd9xU+ZjcULkoFApMnjxZ99zQMiJzYPusIImkXKeGqprmzZvrJlsOCwvDsmXLIJfL0adPHwBAeHg4fv75Z1y8eFF3vY23tzfq1KmDK1euYMiQISXuNyQkBOvWrYOXl1eZp0Kio6ORk5MDW1tbAMDBgwfh4ODAsdUsQdRC6enpAoBIT0+3dChERBaRk5MjYmJiRE5OjqVDKbc7d+6IHj16iFWrVono6Ghx5coV8csvvwhvb28xcuRIIYQQKSkpQiqVCplMJs6dOyeEEGLDhg1CJpMJX19fvf0tWbJE2Nraii+//FJcuHBBnDp1Sixbtkx88cUXQgghlEqlaNSokQgPDxe7d+8WV65cETt37hSvvfaaSEhIEEIIMXz4cOHg4CAGDx4szp49KzZv3iy8vb3F+++/b8ZPpmYoq20a+v3NnhsiIqpWHBwc0LFjR8yfPx+XL19Gfn4+/P39MWbMGHzwwQcAAFdXVwQHByMpKQlNmzYFAHTv3h0ajUZ3vU2h0aNHw87ODnPnzsU777wDe3t7BAcHY9KkSQAAOzs77N69G++99x6eeeYZZGZmws/PD7169dLryenVqxcaNWqE7t27Q6VSYfDgwZg+fbpZPhPSx7uleLdUuWg0Gly7dg0AEBAQoHcHQFllRObA9mk4TpxpWhEREUhLS9OdFiPj1bqJM8nycnJyUK9ePQDFb6ctq4zIHNg+iQjgreBERERUw7DnhoiIqIJWrFhh6RDoPuy5ISIiohqFyQ0RERHVKExuiIiIqEZhckNEREQ1Ci8opnKRy+UYP3687rmhZUTmwPZJRAAH8eMgfkRUK3EQP6qqTDGIH09LERER3ScqKgoSiQRpaWkm33diYiIee+wx2Nvbw8XFxeT7Jy0mN1QuQgjcvn0bt2/fxoOdfmWVEZkD22ftEBERAYlEUmyJjY21dGgPNX/+fNy6dQsnT57ExYsXLR1OjcUTz1Qu2dnZ8PLyAlB8CPuyyojMge2z9ujTpw+WL1+ut87T09NC0QD5+flQKBQPrXf58mW0a9cOjRo1MvpYeXl5sLKyMnr72oA9N0REVO1YW1vDx8dHb5HJZIiIiMDAgQP16k6aNAnh4eG61xqNBpGRkahXrx5sbW3RunVr/Pbbb+U6vkQiwaJFi/DUU0/B3t4en3zyCQDgjz/+QEhICGxsbFC/fn3MmDEDBQUFAICgoCCsX78eK1euhEQiQUREBAAgLS0No0ePhqenJ5ycnNCzZ09ER0frjjV9+nS0adMGS5cu1bsOxdDtVq1ahaCgIDg7O+PFF19EZmam3mcxZ84cNGzYENbW1ggICNC9FwBISEjA888/DxcXF7i5uWHAgAGIj48v12dlCUxuiIhIj1KZB6UyT+/0XV6eGkplHlSqghLrajRFdfPztXVzcw2ra26RkZFYuXIlFi9ejLNnz+LNN9/E0KFDsWvXrnLtZ/r06Xj66adx+vRpjBw5Env27MGwYcPwxhtvICYmBt999x1WrFihSxaOHDmCPn364Pnnn8etW7fw5ZdfAgCee+45JCcnY+vWrTh27BhCQkLQq1cvpKSk6I4VGxuL9evX4/fff8fJkycN3u7y5cvYuHEjNm3ahE2bNmHXrl349NNPdeVTpkzBp59+iqlTpyImJgY//fQTvL29AWh7o3r37g1HR0fs2bMH+/btg4ODA/r06YO8vDyjPnuzEbVQenq6ACDS09MtHUq1k5WVJQAIACIrK8vgMiJzYPs0XE5OjoiJiRE5OTnFyoC5ApgrkpOVunWzZh0QwFwxevQ2vbp2dvMFMFfExaXp1s2ff1QAc8VLL23Sq+vh8Y0A5oozZ27r1n3/fXS5Yx8+fLiQyWTC3t5etwwaNEhXNmDAAL36b7zxhggLCxNCCJGbmyvs7OzE/v379eqMGjVKDB48WAghxM6dOwUAkZqaWmoMAMSkSZP01vXq1UvMnj1bb92qVauEr6+v7vWAAQPE8OHDda/37NkjnJycRG5urt52DRo0EN99950QQohp06YJhUIhkpOTy72dnZ2dyMjI0JW/8847omPHjkIIITIyMoS1tbVYsmRJie9x1apVokmTJkKj0ejWqVQqYWtrK/7++++SPxgTKKttGvr9zWtuiIio2unRowcWLVqke23oNVSxsbHIzs7GY489prc+Ly8Pbdu2LVcMoaGheq+jo6Oxb98+vdM6arUaubm5yM7Ohp2dXbF9REdHIysrC+7u7nrrc3JycPnyZd3rwMBAvWuKDN0uKCgIjo6Oute+vr5ITk4GAJw7dw4qlQq9evUq8f1FR0cjNjZWb3tAe6v2/ceoipjcEBGRnqys1wEAdnZFF8i+8057TJoUArlc/2qG5GTtwIi2tkV1J0xogzFjgiGT6deNjx9TrG5ERAujYrS3t0fDhg2LrZdKpcXuhsvPz9c9z8rKAgBs3rwZfn5+evWsra3LHcP9srKyMGPGDDzzzDPF6pY2llBWVhZ8fX0RFRVVrOz+W8VLOpYh2z14kbNEIoFGowEA2NralhjT/cdo164d1qxZU6zMkhdvG4LJDRER6bG3L34njpWVDFZWMoPqKhQyKBSG1zUlT09PnDlzRm/dyZMndV/yzZs3h7W1Na5du4awsDCTHjskJAQXLlwoMekqa5vExETI5XIEBQVV+nb3a9SoEWxtbbFjxw6MHj26xGOsW7cOXl5e1W7AWyY3VC5yuRzDhw/XPTe0jMgc2D6pZ8+emDt3LlauXInOnTtj9erVOHPmjO6Uk6OjIyZPnow333wTGo0G3bp1Q3p6Ovbt2wcnJyddGzHGRx99hP79+yMgIACDBg2CVCpFdHQ0zpw5g1mzZpW4zaOPPorOnTtj4MCBmDNnDho3boybN29i8+bNePrpp4ud+qrodvezsbHBe++9h3fffRdWVlbo2rUrbt++jbNnz2LUqFEYMmQI5s6diwEDBmDmzJmoW7curl69it9//x3vvvsu6tata/RnVdn4G07lYm1tjRUrVpS7jMgc2D6pd+/emDp1Kt59913k5uZi5MiRGDZsGE6fPq2r8/HHH8PT0xORkZG4cuUKXFxcEBISgg8++KDCx960aRNmzpyJzz77DAqFAk2bNi2xV6SQRCLBli1b8L///Q8jRozA7du34ePjg+7du+vuWjLldg+aOnUq5HI5PvroI9y8eRO+vr545ZVXAAB2dnbYvXs33nvvPTzzzDPIzMyEn58fevXqVeV7cji3VBX/ARERVQbOLUVVlSnmlmLPDZWLEALZ2dkAtFm9RCIxqIzIHNg+iQjgIH5UTtnZ2XBwcICDg4Pui8KQMiJzYPskIoDJDREREdUwTG6IiIioRmFyQ0RERDUKkxsiIiKqUZjcEBERUY3C5IaIiIhqFI5zQ+Uik8kwaNAg3XNDy4jMge2TiACOUMwRiomoVuIIxdXbxo0bMXnyZMTFxeG1117DggULLB2SyZhihGKeliIiomrl9u3bePXVVxEQEABra2v4+Pigd+/e2Ldvn6VDM5tx48Zh0KBBSEhIwMcff2zpcKocnpYiIqJq5dlnn0VeXh5+/PFH1K9fH0lJSdixYwfu3r1r6dAqRK1WQyKRQCotu98hKysLycnJ6N27N+rUqWP08fLy8mBlZWX09lUZe26oXJRKJSQSCSQSCZRKpcFlRObA9lnzpaWlYc+ePfjss8/Qo0cPBAYGokOHDpgyZQqeeuopAMDkyZPRv39/3TYLFiyARCLBtm3bdOsaNmyIpUuX6l4vXboUzZo1g42NDZo2bYpvv/1W77gJCQl4/vnn4eLiAjc3NwwYMADx8fG68oiICAwcOBAzZsyAp6cnnJyc8MorryAvL6/U97JixQq4uLjgzz//RPPmzWFtbY1r165BpVJh8uTJ8PPzg729PTp27IioqCgAQFRUFBwdHQEAPXv2hEQi0ZXt3bsXjzzyCGxtbeHv74/XX39dr60HBQXh448/xrBhw+Dk5ISxY8cavN3s2bMxcuRIODo6IiAgAN9//73ee7l+/ToGDx4MNzc32NvbIzQ0FIcOHdKV//HHHwgJCYGNjQ3q16+PGTNmoKCgoNTPpsJELZSeni4AiPT0dEuHUu1kZWUJAAKAyMrKMriMyBzYPg2Xk5MjYmJiRE5OTrEyVXaWUGVnCY1Go1tXkKcSquwska/KLbmuWl1UNz/vXt0cg+qWR35+vnBwcBCTJk0Subm5Jdb5888/hbOzsygoKBBCCDFw4EDh4eEh3nvvPSGEENevXxcAxKVLl4QQQqxevVr4+vqK9evXiytXroj169cLNzc3sWLFCiGEEHl5eaJZs2Zi5MiR4tSpUyImJka89NJLokmTJkKlUgkhhBg+fLhwcHAQL7zwgjhz5ozYtGmT8PT0FB988EGp72X58uVCoVCILl26iH379onz588LpVIpRo8eLbp06SJ2794tYmNjxdy5c4W1tbW4ePGiUKlU4sKFCwKAWL9+vbh165ZQqVQiNjZW2Nvbi/nz54uLFy+Kffv2ibZt24qIiAjd8QIDA4WTk5P4/PPPRWxsrG4xZDs3NzexcOFCcenSJREZGSmkUqk4f/68EEKIzMxMUb9+ffHII4+IPXv2iEuXLol169aJ/fv3CyGE2L17t3BychIrVqwQly9fFv/8848ICgoS06dPL/FzKattGvr9zeSGyoVfHlSVsX0arqwvkLmPuYu5j7kLZept3boDa74Qcx9zF9vmvaFXd35/fzH3MXeRduuqbt3R9YvE3MfcxabZY/XqfjOosZj7mLu4HXdOty5684/ljv23334Trq6uwsbGRnTp0kVMmTJFREdH68pTU1OFVCoVR44cERqNRri5uYnIyEjRsWNHIYQ2mfHz89PVb9Cggfjpp5/0jvHxxx+Lzp07CyGEWLVqlWjSpIlesqdSqYStra34+++/hRDa5MbNzU0olUpdnUWLFgkHBwehvi+Zu9/y5csFAHHy5EnduqtXrwqZTCZu3LihV7dXr15iypQpuvcHQOzcuVNXPmrUKDF2rP7nvWfPHiGVSnU/48DAQDFw4EC9OoZuN3ToUF25RqMRXl5eYtGiRUIIIb777jvh6Ogo7t69W+L77NWrl5g9e7beulWrVglfX98S65siueE1N0REVK08++yzeOKJJ7Bnzx4cPHgQW7duxZw5c7B06VJERETAxcUFrVu3RlRUFKysrGBlZYWxY8di2rRpyMrKwq5duxAWFgZAe7ry8uXLGDVqFMaMGaM7RkFBAZydnQEA0dHRiI2N1Z0OKpSbm4vLly/rXrdu3Rp2dna61507d0ZWVhYSEhIQGBhY4nuxsrJCq1atdK9Pnz4NtVqNxo0b69VTqVRwd3cv9TOJjo7GqVOnsGbNGt06IQQ0Gg3i4uLQrFkzAEBoaKhR290fo0QigY+PD5KTkwEAJ0+eRNu2beHm5lZqbPv27cMnn3yiW6dWq5Gbm4vs7Gy9z8xUmNwQEZGe1/+4CgBQ2BR96bR/biJCnh4HqUz/a2P8L+e0da1tdevaPDUKwX1fhvSB8YTGrDxerG6LxwcbFaONjQ0ee+wxPPbYY5g6dSpGjx6NadOmISIiAgAQHh6OqKgoWFtbIywsDG5ubmjWrBn27t2LXbt24e233wagvTgXAJYsWYKOHTvqHaNwPKSsrCy0a9dOLwEo5OnpaVT8hWxtbSGRSHSvs7KyIJPJcOzYsWLjMTk4OJS6n6ysLIwbNw6vv/56sbKAgADdc3t7e6O2UygUemUSiQQajUb3HsqSlZWFGTNm4JlnnilWVlnDEDC5ISIiPVa29sXWyRRWkCmK31lTYl25AjK5wuC6ptC8eXNs3LhR9zosLAzLli2DXC5Hnz59AGgTnp9//hkXL15EeHg4AMDb2xt16tTBlStXMGTIkBL3HRISgnXr1sHLy6vMsVWio6ORk5Oj+7I/ePAgHBwc4O/vb/D7aNu2LdRqNZKTk/HII48YvF1ISAhiYmLQsGFDg7epyHb3a9WqFZYuXYqUlJQSe29CQkJw4cKFCh2jvHi3FBERVRt3795Fz549sXr1apw6dQpxcXH49ddfMWfOHAwYMEBXr3v37sjMzMSmTZt0iUx4eDjWrFkDX19fvdM+M2bMQGRkJL766itcvHgRp0+fxvLlyzFv3jwAwJAhQ+Dh4YEBAwZgz549iIuLQ1RUFF5//XVcv35dt5+8vDyMGjUKMTEx2LJlC6ZNm4aJEyc+9Nbu+zVu3BhDhgzBsGHD8PvvvyMuLg6HDx9GZGQkNm/eXOp27733Hvbv34+JEyfi5MmTuHTpEv744w9MnDixzOMZu939Bg8eDB8fHwwcOBD79u3DlStXsH79ehw4cAAA8NFHH2HlypWYMWMGzp49i3PnzmHt2rX48MMPDT5GebHnhspFJpOhX79+uueGlhGZA9tnzefg4ICOHTti/vz5uHz5MvLz8+Hv748xY8bggw8+0NVzdXVFcHAwkpKS0LRpUwDahEej0eiutyk0evRo2NnZYe7cuXjnnXdgb2+P4OBgTJo0CQBgZ2eH3bt347333sMzzzyDzMxM+Pn5oVevXno9Ob169UKjRo3QvXt3qFQqDB48GNOnTy/3e1y+fDlmzZqFt99+Gzdu3ICHhwc6deqkd3v7g1q1aoVdu3bhf//7Hx555BEIIdCgQQO88MILZR7L2O3uZ2VlhX/++Qdvv/02+vXrh4KCAjRv3hwLFy4EAPTu3RubNm3CzJkz8dlnn0GhUKBp06YYPXq0wccoL06/wOkXiKgW4vQLphUREYG0tDS9U2NkHE6/QERERPQAJjdERERUozC5oXJRKpWwt7eHvb19icPbl1ZGZA5sn2QpK1as4CmpKoQXFFO5ZWdnG1VGZA5sn0TEnhsiolqsFt5TQlWcKdokkxsiolqocMRZ9mZRVVPYJh8cFbk8eFqKiKgWkslkcHFx0c0PZGdnpzcNAJG5CSGQnZ2N5ORkuLi4VGg8KiY3RES1lI+PDwDoEhyiqsDFxUXXNo3F5IaIqJaSSCTw9fWFl5cX8vPzLR0OERQKhUlGEK92yY1arcb06dOxevVqJCYmok6dOoiIiMCHH37ILlUzkEqluqHLH5wvpawyInNg+zSOTCbjlBRUo1S76Rdmz56NefPm4ccff0SLFi1w9OhRjBgxAp988kmJU7aXhNMvEBERVT+Gfn9Xu56b/fv3Y8CAAXjiiScAAEFBQfj5559x+PBhC0dGREREVUG165vt0qULduzYgYsXLwIAoqOjsXfvXvTt27fUbVQqFTIyMvQWIiIiqpmM6rm5cuUK/vvvP+zbtw/Xr1/HnTt3YGdnB09PTwQHByMsLAzdu3eHlZWVqePF+++/j4yMDDRt2hQymQxqtRqffPIJhgwZUuo2kZGRmDFjhsljqY2USiWCgoIAAPHx8bC3tzeojMgc2D6JCCjHNTdCCKxduxaLFy/G3r17detK3KlEAldXV0RERGDChAmoV6+eyQJeu3Yt3nnnHcydOxctWrTAyZMnMWnSJMybNw/Dhw8vcRuVSgWVSqV7nZGRAX9/f15zYwSlUgkHBwcAQFZWVrEvj9LKiMyB7ZOoZjPpNTfbtm3Du+++izNnzsDDwwOjRo1C586dERoaCm9vb7i5uSEnJwcpKSm4cOECDh06hH/++Qfz58/HN998g/Hjx2Pq1KlwdXWt8Bt755138P777+PFF18EAAQHB+Pq1auIjIwsNbmxtraGtbV1hY9NREREVZ9ByU2/fv3QrVs3/Pnnn+jTpw/k8uKbOTo6wtHREYGBgXj88ccxdepUXL16FUuWLME333wDFxcXfPTRRxUOODs7u9htnDKZDBqNpsL7JiIiourPoORm+/bt6NWrV7l3HhgYiFmzZmHy5MmIi4sr9/YlefLJJ/HJJ58gICAALVq0wIkTJzBv3jyMHDnSJPsnIiKi6s2g5MaYxOZ+Li4uaNu2bYX2Uejrr7/G1KlTMX78eCQnJ6NOnToYN26cSXqFiIiIqPoz+G6puLg4k14YbCxHR0csWLAACxYssHQoREREVAUZnNw0aNAAQUFBCA8PR48ePdCjRw/UrVu3MmOjKkgqlSI0NFT33NAyInNg+yQioBy3grdp0wanT5+GEEI3h1P9+vV1iU7Pnj3h7e1dqcGaCqdfICIiqn4M/f4u19xSqamp2LVrF6KiorBz506cOXNGL9lp0qSJLtkJDw+Hh4dHxd9JJWByQ0REVP1USnLzoJSUFOzatQs7d+7Ezp07ERMTo5fstGzZEtHR0cbuvtIwuSEiIqp+zJLcPOju3bv4+++/8emnn+LMmTOQSCRQq9Wm2r3JMLkxXnZ2Npo3bw4AiImJgZ2dnUFlRObA9klUs5ltVvCCggIcPHhQ13tz8OBB5ObmAtCepqKaRQiBq1ev6p4bWkZkDmyfRAQYkdyo1WocOXJEl8zs378fOTk5AIDmzZtj5MiRuokzq8sFxkRERFRzGJzczJkzB1FRUdi7dy+ysrIgkUgQHByMUaNG6ZKZqnoBMREREdUeBic377//PqRSKZ5++mkMGzYM3bp1M8lEmERERESmZHBy4+LigrS0NPz+++84ceKE7nbvsLAwDuZHREREVYbByc3du3cRHR2NnTt3IioqCr/99ht++OEHSCQS1KtXD2FhYQgPD0d4eDj8/f0rM2YiIiKiUhmc3EgkErRp0wZt2rTBm2++CSEETpw4gf/++w9RUVFYv349li9fDolEopumITw8HC+//HJlxk9mJpFIdLfTFo5nZEgZkTmwfRIRYMJxbjQaDY4dO4aoqCisWrUKZ86cgVQqRUFBgSl2b1Ic54aIiKj6Mds4NwBw8+ZN3ZQMUVFRuHLlCgCOJUFERETmZ1Ryk5SUpEtkdu7cidjYWADaZEYqlaJNmza6OaaIiIiIzMng5OaXX37RJTMXL14EAN08Ui1bttQlM2FhYXBxcamseMnCsrOz0b59ewDAkSNHig1vX1oZkTmwfRIRUI7k5sUXX9Q9b968uV4y4+7uXinBUdUjhEBMTIzuuaFlRObA9klEQDmSm3HjxunGtvHy8qrMmIiIiIiMZnBys2jRosqMg4iIiMgkpJYOgIiIiMiUDO656dmzZ7l3LpFIsGPHjnJvR0RERGQsg5ObqKgoSCSScl2Ix1FAiYiIyNzKNc6NXC5Hv379MHLkSHTo0KGyYqIqTCKRIDAwUPfc0DIic2D7JCKgHNMvbNu2DT/88AP++usv5Ofno2XLlhg5ciSGDh1a7W4F5/QLRERE1Y+h398GX1Dcp08f/Prrr7hx4wa++OILAMCbb74JPz8/PPfcc9i6dSvHjiAiIiKLq9DEmUeOHMGyZcuwbt06pKWlwc/PD8OHD8ekSZPg4eFhyjhNij03RERE1Y/Je25K0r59eyxatAi3bt3C6tWrAQCRkZHYv39/RXZLVVhOTg7at2+P9u3bIycnx+AyInNg+yQiwASzgicmJuLHH3/E8uXLcePGDdjY2MDNzc0UsVEVpNFocPToUd1zQ8uIzIHtk4gAI5ObgoIC/PXXX1i2bBn+/vtvFBQUICQkBAsXLsRLL70EZ2dnU8dJREREZJByJTdnzpzBsmXLsGbNGty+fRvu7u4YP348Ro4ciVatWlVWjEREREQGMzi56dChA44dOwapVIpHH30UI0eOxMCBA6FQKCozPiIiIqJyMTi5OXr0KBQKBXr37o26deti586d2LlzZ5nbSCQSLFy4sMJBEhERERmqXKel8vPzsWnTJoPrM7khIiIiczM4uXlYLw3VHmWNYVSVxzei2oHtk4gqNIhfdcVB/IiIiKofswziR0RERFTVGJTcXLt2rcIHunHjRoX3QURERPQwBiU3jRo1woQJExAXF1eunefn5+Pnn39GixYt8MMPPxgVIFUtOTk5CA8PR3h4eInD25dWRmQObJ9EBBh4zc2CBQswa9YspKamolu3bhg0aBA6deqENm3aFBvn5vr16zh06BC2b9+O3377Dampqejduze++uorNGzYsNLeSHnwmhvjKZVKODg4AACysrJgb29vUBmRObB9EtVshn5/G3S31KRJkxAREYF58+bhhx9+wBtvvAGJRAKpVAoXFxe4uLggNzcXKSkpyM3NBaC9Dbx37954++230bNnT9O8KyIiIqKHMPhWcBcXF8ycORPTpk3D1q1bsWPHDuzfvx/Xr19HQkICbG1t4efnh+DgYISFhWHAgAEIDAyszNiJiIiIiin3xJkymQz9+/dH//79KyMeIiIiogrhreBERERUozC5ISIiohql3KeliOzs7IwqIzIHtk8iYnJD5WJvbw+lUlnuMiJzYPskIoCnpYiIiKiGYXJDRERENQqTGyqX3NxcPPHEE3jiiSd0AzYaUkZkDmyfRAQYOP3Cg9atW4dnnnmm2NQL1QWnXzAeh7enqoztk6hmM/T726iem8GDB8PPzw+TJ0/G+fPnjQ6SiIiIyNSMSm4+/PBD2NjYYN68eWjRogW6d++OVatWsauXiIiILM6o5GbmzJmIj4/HX3/9haeeegoHDx5EREQEfH198dprryE6OtrUcRIREREZxOgLiqVSKZ544gls2LAB169fx+zZs+Hp6YmFCxciJCQEHTp0wNKlS5GVlWXKeImIiIjKZJK7pby8vPDee+/h4sWL+Pvvv+Hr64tjx45h3LhxqFOnDsaPH4+rV6+a4lBEREREZTLZreAxMTF488038dJLL+HmzZuw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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAHOCAYAAACcvdMVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAACS3klEQVR4nOzdd3xUVdrA8d+dll4ICUkIJTQpKoQuxQ0qiqIsoCBgISjqiugiCFheqa6AddFVZBUVbCuWtaKyioCKCNJFEClBEBIIhCSkTT3vH5MMGTIz6ZmU56v5MPfc5945M3Nm5plz7z1HU0ophBBCCCEaMJ2/KyCEEEIIUdMk4RFCCCFEgycJjxBCCCEaPEl4hBBCCNHgScIjhBBCiAZPEh4hhBBCNHiS8AghhBCiwZOERwghhBANniQ8QgghhGjwJOGpYYmJiWia5vYXEBBAixYtGD58OJ9//rm/q9jgmM1mHnnkETp06EBAQACappGYmOjvapVy+PDhOlu38qrtx1DWa5uVlcXkyZNp3bo1JpMJTdMYNGgQAHPnzkXTNObOnVsrdRWiNjWEz5OaJglPLRkwYAApKSmkpKQwdOhQDAYDn376KcOGDWPatGn+rl6FFSdvddGsWbNYuHAhZ8+eZfjw4aSkpDBq1Ch/V0tUg7Je27vuuoslS5ag0+m4/vrrSUlJ4eqrr/ZjjavP8uXL0TSNCRMm+LsqjZK/E+biH8+HDx/2y/03BAZ/V6CxuOOOO9w+qGw2G1OnTuWFF17gn//8J+PGjaN3797+q2AD8t577wHw/fff06FDBz/XRlQnX6+t1Wrlo48+IjAwkJ07dxIeHu6PKgrhFwkJCezduxej0ejvqtRZ0sPjJwaDgaeeesr1ofzZZ5/5uUYNx5EjRwAk2WmAfL22aWlp2Gw2YmNjJdkRjY7RaKRTp060a9fO31WpsyTh8aPAwEDXB/eJEyc8xqxZs4brr7+e+Ph4TCYTzZo1Y+TIkWzcuNFj/ObNm5k5cyZ9+vQhLi4Ok8lEbGwsw4YN45tvvvFZn99//5177rmHjh07EhwcTHh4OF26dOGee+5h9+7dwLlu3WLnn590fnfr6tWrue6662jWrBkmk4nmzZszZswYtmzZ4rEOgwYNQtM01q1bx/fff8+wYcOIiYlBp9OxfPlyn/Uv7vJVSpWq2/nbbt26lZtvvplWrVoREBBAVFQUQ4YM4YsvvvC6f5vNxrJlyxg0aBBRUVEEBATQpk0bJk2axNGjR71u9/nnn5OcnExYWBgRERFceumlfPLJJz4fiy+VeY1LHg7Jy8vj4Ycfpn379gQEBBAXF0dKSgrHjh2rtccAUFBQwDPPPMMll1xCZGQkgYGBdOzYkZkzZ3L69Gm32LJeW03TaN26NQB//PGH2/p169b5rEdZhyrWrVvndi7Q+Y4fP860adPo3LkzwcHBhIWF0bt3b1544QVsNlup+AkTJrjqnZqayq233kpcXBwBAQG0a9eORx99FLPZXOrx33bbbQCsWLHC7fF5q5c33377LaNHj6ZFixYEBAQQExND7969mTNnTqnnHar2Ht6xYwfXX3890dHRBAQE0KVLF5555hnX61gd9fv999/529/+Rrt27QgMDCQiIoK//OUvvPXWW9VWP03TmDdvHgDz5s1ze/5L9tyXPOz0ySefcPnllxMVFeXWDjMyMnj++ecZOnQobdq0ISgoiPDwcHr16sUTTzxBYWGh230Xt+8//vgDgDZt2nhs32Wdw/Pnn39y33330aFDB9fzNGDAAP79739jt9tLxVflM+Obb75h2LBhxMbGYjQaadKkCR06dOCWW27hu+++87hNrVCiRrVu3VoB6vXXX/e4vkOHDgpQs2bNKrXugQceUIDS6XSqT58+avTo0apv375K0zSl1+vVa6+9VmqbK664Qul0OnXxxReroUOHqtGjR6sePXooQAFq8eLFHuvx9ttvq4CAAAWoVq1aqRtuuEGNHDlSdevWTWmapubMmaOUUuqjjz5SKSkprv2lpKS4/WVkZLj2+eijjypAaZqmBgwYoMaNG6eSkpIUoPR6vXr11VdL1SM5OVkB6p577lE6nU516dJFjR07Vl111VXqnXfe8flcP/DAA17r9v3337viFi9erHQ6nQJUUlKSGjVqlBo4cKAymUwKUPPmzSu175ycHDVo0CAFqNDQUJWcnKxGjRqlOnbsqADVtGlTtW3btlLbPfvss6769OnTR40bN0716tVLAWratGkKUK1bt/b5uM5Xmdf49ddfV4AaMWKE6tq1q4qMjFTDhg1Tw4cPV82aNXPVIysrq1Yew7Fjx9TFF1+sABUVFaUGDx6sRo4c6Xq/JCYmqsOHD7viy3ptU1JS1A033KAAFRIS4rZ+7969Siml5syZowBXWy7mrbzY2rVrFaCSk5NLrVu/fr1q0qSJq85//etf1ZAhQ1xlV111lbJYLG7bFD+OKVOmqPDwcNW6dWt14403qsGDB6ugoCDX61TSAw88oAYMGKAA1a5dO7fHt3DhwnI/7/fdd5/rOUxKSlJjx45V11xzjWrbtq0C1Nq1a93iq/Iefuihh5TJZFKdO3dWY8eOVcnJyUqv17see3XU77333lOBgYEKUJ06dVIjR45Ul19+uQoJCVGAuu2226qlfikpKapbt24KUN26dXN7/l955RVXXHH7vffeexWgevXqpcaNG6eSk5PVd999p5RS6s0331SASkhIUMnJyWrs2LHqiiuuUKGhoQpQ/fr1U4WFha59Frfv4sd0ww03eGzfqampXt+LmzdvVlFRUa7P9zFjxqirr77a9dwNGTJEmc1mt20q+5mxfPlypWma0jRN9e3bV40ZM0b99a9/VT169FB6vd7ra18bJOGpYb4Snj179rjeYD///LPbupdfflkBqn379mrnzp1u69avX6/CwsKUyWRSv//+u9u6L774Qh0/frzUff34448qPDxcGY1G9eeff7qt27JlizIajUrTNPX8888ru93utv7w4cNqy5YtbmXFH0refPnllwpQgYGB6n//+5/bumXLlilAGY1GtXv3brd1xR9GgHrxxRe97t8XX3X76quvlKZpKjo6Wq1fv95t3a5du1SLFi0UoNatW+e27qabblKAuu6669SJEyfc1v3zn/9UgOrQoYOy2Wyu8p07dyq9Xq90Op16//333bZ56623lKZplUoWKvMaF394FX+4ZWdnu9ZlZma6vsQWLFjgtl1NPAaHw+H68p44caLKyclxrbNara5E/7LLLiu1ra/X1tcHvlLVn/CkpaWppk2bKk3T1JIlS9zeN6dOnVKXX365xwS6ZOL2f//3f25t5pdffnF9sf34449u2xW/hikpKR7rWZbnn3/elZx/++23pdZv2rRJHTlyxLVcHe/hpUuXuq1bs2aN6wfb0aNHq1S/Xbt2qYCAABUYGKg+/PBDt9jDhw+7EuoVK1ZUS/3KaidKnfu81+v16pNPPvEYs2fPHrVx48ZS5ZmZmeqqq65SgHryySe97js1NdXjfr21/8LCQte2d999t1sCfvDgQZWYmKgA9cgjj7htV9nPjDZt2ijA7UdmsRMnTnj8YVhbJOGp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PctXX31V7u2uueYaAD799NMKdXMnJycD8Pbbb3tc/8Ybb5R7X8Uq8xpXRU08huLnszh587fiD/m9e/d6XF98rs75ih9H8ejPNa04MfP0nitLr169iI6OJiMjg48//rjM+Np+D1e0fiU/t+rD81+s+P3bvHlzj+eveRs7qCr3X3xe4sqVKz1+fn300UecOXOGsLAwr+eMVlV4eDhz584lMjKS/Px8fv/99xq5n7JIwuNn99xzD61atSI7O5tnnnkGcCYTc+bMQSnFyJEj+eGHH0ptZ7fb+fbbb/npp59cZcUnka1YscLt12phYSH33HOPK4s/3//93/9hMBh44YUXWLJkSakvoT/++IOtW7e6lbVo0QLAa0L2wAMPAPDSSy+xZs0at3XLly/n008/xWg0MmXKFI/b15R//OMfgPMkck+jWyul2LRpE//73/9cZd27d+eGG27g6NGjXH/99R57NfLy8nj77bfdBpC877770Ov1vPfee3z00Udu8e+++265PtjPV9nXuLJq4jEMHz6c3r17s3nzZm677TaP5+mcOXOGpUuXVunLpbwuv/xydDodq1evZv369a5ypRTPP/+81yRyxowZREZG8uyzz/LMM89gsVhKxaSmpvr8EquI4vfcnj17KrytwWDg//7v/wDnxQmeBn/7+eefXedsQe2+hytTvzlz5mAymZgxYwYrVqzweOhx9+7d/Pe//61y/aDsz7zyuOCCC9Dr9fzyyy+lBsT87LPP+Oc//1nt9z969GhatWrlGiCz5HsqNTXV9Trfd999pU7srqj8/HyeffZZj+/p77//nqysLPR6veux1Do/XBnWqJQ18KBSSr322muuywJPnz7tKp8xY4brMtwLL7xQDR8+XI0dO1YNGjRIRUZGKkC99NJLrvgzZ8647q9p06ZqxIgR6oYbblDNmjVTYWFhasqUKV4va12xYoUyGo2uyxpHjRqlrr/+epWUlOQ28GCx6dOnK0BFR0erG2+8UU2cOFFNnDhRnTp1yhVTctCygQMHqptuusk1QF5Zg5adP8BYRRQ/Z94899xzymAwKIrGObr22mvVTTfdpK688krXgFoPPvig2zY5OTmuy3RNJpPq3bu3uvHGG9Xo0aNV7969XYMWFg8CVqx4+ABA9e3bV910002qd+/eClBTp06t8CXdlX2Ny7qk2dcl3dX9GJRyDjxYPI5HSEiI6t+/vxo7dqyrzRWPT1XyMlmlauaydKWU63nT6/Vq0KBB6vrrr1ft2rVTRqNRPfTQQx4vS1fKOSZWdHS0AlSzZs3U5Zdfrm6++WZ13XXXqXbt2rmes5KKL0v39png7bUym82u4Sq6d++uxo8fryZOnOhxzBZPHA6H65L34n2MHTtWDR06tFwDD1bXe9jb61CZ+r333nsqODhYAapFixbqqquuUjfffLO65pprXGNqnT+kQmXrl56e7hojacCAAWrChAlq4sSJbgPAlnXpuFLn2ppOp1PJyclq3Lhxrue0+Pn21MZfeOEFBc6BT6+//nrXZ+5vv/2mlCr/wIOtW7dWY8aMUUOHDi3XwIMV+cw4c+aM67F169ZNjRo1So0bN07169fPNWbX7NmzvT43NU0SnhpWnoTHZrOpLl26KHCO/lnShg0b1M0336xat26tAgICVFhYmLrgggvUiBEj1LJly1RmZqZbfEZGhrrnnntUu3btVEBAgGrevLm65ZZb1P79+8tswL/++quaOHGiatOmjQoICFARERGqS5cu6t5771W//vqrW2xBQYGaOXOmat++vevL3tMb/csvv1RDhw5VTZs2VQaDQcXFxanRo0erTZs2eaxDbSQ8SjkHeLvrrrtUhw4dVGBgoAoODlZt27ZVQ4YMUc8//7w6duxYqW3sdrt655131NChQ1VsbKwyGo2qadOm6qKLLlK33Xab+uijj0qNqquUUp988okaOHCgCgkJUaGhoap///7qgw8+KPML2pvKvMZVSXhq4jEo5RwQbenSpeqyyy5ztY9mzZqppKQkNXnyZLV69epS29RUwuNwONQzzzyjOnfurEwmk4qKilLDhg1TW7du9TnSslLOwdRmzZqlevTo4RoQtEWLFqp///5qzpw5ateuXW7xlU14lHK227/+9a8qJibGNVq4t3p58+WXX6rhw4e72nBMTIzq06ePmjdvntsPrpLx1fkeLms8m4rWLzU1VU2dOlVddNFFKiQkRAUGBqrWrVurQYMGqUWLFqkDBw5UW/2+++47NXjwYNWkSRPX81/ydSpPwuNwONSrr76qevbsqUJDQ1VERIQaOHCgevfdd5VS3tu43W5XCxcuVBdeeKErUSn5OMpq/0eOHFGTJ09Wbdu2VSaTSYWFhal+/fqpl156yeN4WJX5zLBarWrp0qVq3Lhx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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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eOmllwAoLi6mefPm3H777TzwwAN+ji6w2Gw2li1bxpgxY/wdSsA6efIkCQkJpKSkcOmll/o7nIBUv3595s+fz9SpU/0dSsDIzMyke/fuLFy4kMcff5xu3brx/PPP+zusgDBnzhw+/PBDtm/f7u9QAtIDDzzAV199xYYNG2r8tTTCVA35+fls3bqVIUOGONqCgoIYMmQImzZt8mNkYlXp6elASUFoqbyioiLeeecdsrKy6Nu3r7/DCSjTp09nxIgRTv8WSuX9+OOPNG3alAsuuIBJkyaRlpbm75ACxscff0zPnj2ZMGECCQkJXHLJJfztb3+rkddSwlQNp06doqioiMTERKf2xMREjh075qeoxKqKi4u566676NevH506dfJ3OAFjx44dxMTEEB4ezm233cayZcvo0KGDv8MKGO+88w7btm1j7ty5/g4lICUlJbF48WI+/fRTXn75ZQ4cOMCAAQM4e/asv0MLCPv37+fll1+mbdu2rF69mmnTpnHHHXfw5ptvev21Qrx+RhHxi+nTp7Nz507Nf6ii9u3bs337dtLT03n//fdJTk4mJSVFSVMlHD58mDvvvJM1a9YQERHh73AC0pVXXul43KVLF5KSkmjZsiVLly7VZeFKKC4upmfPnjz55JMAXHLJJezcuZNXXnmF5ORkr76WRpiqoWHDhgQHB3P8+HGn9uPHj9O4cWM/RSVWNGPGDJYvX866deto1qyZv8MJKGFhYbRp04YePXowd+5cunbtygsvvODvsALC1q1bOXHiBN27dyckJISQkBBSUlL461//SkhICEVFRf4OMeDEx8fTrl079u3b5+9QAkKTJk1c/ri5+OKLa+SyphKmaggLC6NHjx6sXbvW0VZcXMzatWs1B0J8wjAMZsyYwbJly/jiiy9o3bq1v0MKeMXFxeTl5fk7jIBw+eWXs2PHDrZv3+7YevbsyaRJk9i+fTvBwcH+DjHgZGZm8tNPP9GkSRN/hxIQ+vXr57KUyg8//EDLli29/lq6JFdNM2fOJDk5mZ49e9K7d2+ef/55srKymDJlir9DCwiZmZlOf0kdOHCA7du3U79+fVq0aOHHyALD9OnTWbJkCR999BH16tVzzJ2Li4sjMjLSz9HVfrNmzeLKK6+kRYsWnD17liVLlrB+/XpWr17t79ACQr169Vzmy0VHR9OgQQPNo6uke+65h1GjRtGyZUuOHj3K7NmzCQ4O5rrrrvN3aAHh7rvv5ne/+x1PPvkkEydOJDU1lddee43XXnvN+y9mSLW9+OKLRosWLYywsDCjd+/exubNm/0dUsBYt26dAbhsycnJ/g4tIJT12QHGokWL/B1aQLjpppuMli1bGmFhYUajRo2Myy+/3Pjss8/8HVZAGzhwoHHnnXf6O4yAce211xpNmjQxwsLCjPPPP9+49tprjX379vk7rIDyySefGJ06dTLCw8ONiy66yHjttddq5HW0DpOIiIiIG5rDJCIiIuKGEiYRERERN5QwiYiIiLihhElERETEDSVMIiIiIm4oYRIRERFxQwmTiIiIiBtKmERERETcUMIkIgFh0KBB2Gw2f4dRaYZh0KNHD4YNG+bU7u338fnnn2Oz2Vi5cqXXzikirlRLTkR8rqoJQyAWJHjrrbfYtm0bmzZtqtHXGTJkCP379+e+++5j+PDhKngrUkOUMImIz82ePdul7fnnnyc9Pb3MfWAmINnZ2TUdmlcUFxczZ84cBgwYQJ8+fWr89e677z6uvvpq3nnnHSZNmlTjrydiRaolJyK1QqtWrTh06FBAjiada8WKFYwcOZK//e1v3HzzzU77Bg0aREpKilffZ0FBAU2bNuWiiy5iw4YNXjuviJTQHCYRCQhlzf1ZvHgxNpuNxYsX88knn5CUlERUVBTnn38+Dz/8MMXFxQC8+eabdO3alcjISFq0aMH8+fPLfA3DMHjjjTfo168fsbGxREVF0bNnT954440qxbpo0SJsNhvjxo0r95iCggLmzJlDq1atCA8Pp127dixcuNDluDlz5mCz2Vi/fj2LFy+me/fuREVFMWjQIMcxoaGhjBkzho0bN7Jv374qxSoilaNLciIS8JYtW8Znn33GmDFj6NevHytWrODxxx/HMAzi4uJ4/PHHGT16NIMGDeLf//439913H4mJidx4442OcxiGwaRJk/jXv/5F27Ztuf766wkLC2PNmjVMnTqV3bt388wzz7iNxTAM1q1bR/v27TnvvPPKPe66664jNTWVK6+8kuDgYJYuXcr06dMJDQ3llltucTl+/vz5rFu3jtGjRzNs2DCXuUp9+/bl9ddf54svvqBNmzZV+PREpFIMEZFaoGXLlkZF/yQNHDjQZf+iRYsMwAgNDTVSU1Md7RkZGUZCQoIRFRVlNG7c2Pjpp58c+9LS0oywsDCjc+fOTud67bXXDMCYMmWKkZ+f72jPy8szRo0aZQDGli1b3L6PXbt2GYAxadKkCt9HUlKSkZ6e7mjfs2ePERISYrRv397p+NmzZxuAER0dbfz3v/8t93W/++47AzBuvPFGtzGKSNXpkpyIBLw//OEP9OrVy/G8Xr16jBw5kuzsbKZNm8YFF1zg2Ne8eXP69+/P7t27KSwsdLS/9NJLREdHs2DBAkJDQx3tYWFhPPHEEwD861//chvLzz//DEBiYmKFx82dO5fY2FjH8/bt29OvXz/27t3L2bNnXY6/9dZb6dy5c7nns7+e/fVFxLt0SU5EAl63bt1c2po0aVLhvqKiIo4fP875559PdnY2O3bsoGnTpjz99NMuxxcUFACwZ88et7H88ssvAMTHx1d4XI8ePVzamjVrBsCZM2eoV6+e077evXtXeL769esDcOrUKbcxikjVKWESkYBXeqTGLiQkxO0+eyL066+/YhgGR44c4dFHHy33dbKystzGEhkZCUBubq7HMRcVFbnsczdilZOTA0BUVJTbGEWk6pQwiYjl2ZOXHj16sGXLlmqdq1GjRgCcPn262nGV5m6xT/vr2V9fRLxLc5hExPLq1avHxRdfzPfff8+ZM2eqda6OHTsSFBTE3r17vRNcJdlfr6J5TiLiOSVMIiLAHXfcQXZ2NrfcckuZl94OHDjAwYMH3Z4nPj6eLl26sGXLFsc6UL7wzTffADBw4ECfvaaIlShhEhEB/vjHP5KcnMz7779P27ZtufHGG3nggQeYMmUKffv25cILL2Tz5s2VOtfYsWM5e/ZspY/3hjVr1nDeeedx6aWX+uw1RaxECZOICDhWDH/33Xfp2LEjy5cv59lnn2XNmjVERETwzDPPMGTIkEqd6+abbyYkJIR//OMfNRy16eDBg3z11VckJycTERHhk9cUsRrVkhMRqQE33HADK1as4NChQy5LBHjbQw89xLx58/j++++58MILa/S1RKxKI0wiIjXg8ccfJycnhxdffLFGX+fXX3/lxRdfZNq0aUqWRGqQlhUQEakBLVu25M033+T48eM1+joHDhzg7rvv5vbbb6/R1xGxOl2SExEREXFDl+RERERE3FDCJCIiIuKGEiYRERERN5QwiYiIiLihhElERETEDSVMIiIiIm4oYRIRERFxQwmTiIiIiBtKmERERETc+P/PRslFxSTv3AAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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uAq9evXixhtv5O9//zsATqeTmJgY/vjHPzJjxowGLp130Wg0fPbZZ9xxxx0NXRSvdeHCBcLCwtiyZQu33nprQxfHawUHB7Nw4UImTZrU0EXxGvn5+XTr1o033niDefPmccMNN1Q7h52oMHv2bFavXs3evXsbuihea8aMGXz33Xds3br1mp5HWpKuUGlpKbt372bgwIGufVqtloEDB7J9+/YGLJlorHJzcwH1S15cOYfDwQcffEBBQQGJiYkNXRyv8sgjj3D77be7/T0UNXP8+HGioqKIi4tj/PjxnD17tqGL5FW++OILevTowe9//3vCwsLo2rUr//znP+v8PBIkXaHMzEwcDgfh4eFu+8PDw0lLS2ugUonGyul08vjjj9O7d286derU0MXxKgcOHMDf3x+TycSDDz7IZ599RocOHRq6WF7jgw8+YM+ePSxYsKChi+J1evXqxfLly1m3bh1vvvkmp06d4pZbbsFqtTZ00bzGyZMnefPNN2nTpg3r16/noYce4tFHH2XFihV1eh6vW5ZECFHhkUce4eeff5bxDFehXbt27N27l9zcXD755BMmTJjAli1bJFCqgeTkZB577DE2bNiAj49PQxfH6wwbNsz1vHPnzvTq1YvY2Fg++ugj6e6tIafTSY8ePXjxxRcB6Nq1Kz///DNLly5lwoQJdXYeaUm6QiEhIeh0OtLT0932p6enExER0UClEo3RtGnT+PLLL9m0aRPNmjVr6OJ4HaPRSOvWrenevTsLFiygS5cu/O1vf2voYnmF3bt3k5GRQbdu3dDr9ej1erZs2cLixYvR6/U4HI6GLqJXCQoKom3btiQlJTV0UbxGZGRklR807du3r/NuSwmSrpDRaKR79+588803rn1Op5NvvvlGxjOIeqEoCtOmTeOzzz5j48aNtGzZsqGL9KvgdDopKSlp6GJ4hQEDBnDgwAH27t3r2nr06MH48ePZu3cvOp2uoYvoVfLz8zlx4gSRkZENXRSv0bt37ypTnxw7dozY2Ng6PY90t12FJ598kgkTJtCjRw969uzJokWLKCgoYOLEiQ1dNK+Qn5/v9ovp1KlT7N27l+DgYJo3b96AJfMOjzzyCO+//z6ff/45FovFNRYuMDAQX1/fBi6dd5g5cybDhg2jefPmWK1W3n//fTZv3sz69esbumhewWKxVBkDZzabadq0qYyNq4Hp06czYsQIYmNjOX/+PLNmzUKn0zFu3LiGLprXeOKJJ7j55pt58cUXGTNmDDt27OCtt97irbfeqtsTKeKqLFmyRGnevLliNBqVnj17Kj/88ENDF8lrbNq0SQGqbBMmTGjoonkFT9cOUJYtW9bQRfMa999/vxIbG6sYjUYlNDRUGTBggPK///2voYvl1fr27as89thjDV0Mr3DXXXcpkZGRitFoVKKjo5W77rpLSUpKauhieZ01a9YonTp1UkwmkxIfH6+89dZbdX4OmSdJCCGEEMIDGZMkhBBCCOGBBElCCCGEEB5IkCSEEEII4YEESUIIIYQQHkiQJIQQQgjhgQRJQgghhBAeSJAkhBBCCOGBBElCCCGEEB5IkCSEuG7169cPjUbT0MWoMUVR6N69O4MHD3bbX9ef4+uvv0aj0fDf//63zo4phKhK1m4TQtSLKw0SvHExgHfeeYc9e/awffv2a3qegQMH0qdPH5555hmGDBkiC8oKcY1IkCSEqBezZs2qsm/RokXk5uZ6TAM16CgsLLzWRasTTqeT2bNnc8stt3DTTTdd8/M988wz/Pa3v+WDDz5g/Pjx1/x8QjRGsnabEKLBtGjRgjNnznhlq9EvrV27lt/85jf885//5IEHHnBL69evH1u2bKnTz2mz2YiKiiI+Pp6tW7fW2XGFEBVkTJIQ4rrlaSzP8uXL0Wg0LF++nDVr1tCrVy/8/PyIjo7mueeew+l0ArBixQq6dOmCr68vzZs3Z+HChR7PoSgKb7/9Nr179yYgIAA/Pz969OjB22+/fUVlXbZsGRqNhtGjR1ebx2azMXv2bFq0aIHJZKJt27a88cYbVfLNnj0bjUbD5s2bWb58Od26dcPPz49+/fq58hgMBu644w62bdtGUlLSFZVVCFEz0t0mhPBKn332Gf/73/+444476N27N2vXrmXevHkoikJgYCDz5s1j5MiR9OvXj08//ZRnnnmG8PBw7r33XtcxFEVh/PjxrFq1ijZt2vCHP/wBo9HIhg0bmDRpEocOHeKVV165bFkURWHTpk20a9eOJk2aVJtv3Lhx7Nixg2HDhqHT6fjoo4945JFHMBgMTJ48uUr+hQsXsmnTJkaOHMngwYOrjD1KTEzkX//6Fxs3bqR169ZXcPWEEDWiCCFEA4mNjVUu9Weob9++VdKXLVumAIrBYFB27Njh2p+Xl6eEhYUpfn5+SkREhHLixAlX2tmzZxWj0agkJCS4Heutt95SAGXixIlKaWmpa39JSYkyYsQIBVB27dp12c9x8OBBBVDGjx9/yc/Rq1cvJTc317X/yJEjil6vV9q1a+eWf9asWQqgmM1mZf/+/dWed9++fQqg3HvvvZctoxDiykl3mxDCK919993ceOONrtcWi4Xf/OY3FBYW8tBDDxEXF+dKi4mJoU+fPhw6dAi73e7a//e//x2z2czrr7+OwWBw7TcajcyfPx+AVatWXbYsKSkpAISHh18y34IFCwgICHC9bteuHb179+bo0aNYrdYq+adMmUJCQkK1xys/X/n5hRB1S7rbhBBe6YYbbqiyLzIy8pJpDoeD9PR0oqOjKSws5MCBA0RFRfHSSy9VyW+z2QA4cuTIZcty8eJFAIKCgi6Zr3v37lX2NWvWDICcnBwsFotbWs+ePS95vODgYAAyMzMvW0YhxJWTIEkI4ZUqt8iU0+v1l00rD36ys7NRFIVz584xZ86cas9TUFBw2bL4+voCUFxcfNVldjgcVdIu1zJVVFQEgJ+f32XLKIS4chIkCSEapfKApXv37uzatatWxwoNDQUgKyur1uWq7HITcJafr/z8Qoi6JWOShBCNksVioX379hw+fJicnJxaHatjx45otVqOHj1aN4WrofLzXWrckhDi6kmQJIRotB599FEKCwuZPHmyx261U6dOcfr06cseJygoiM6dO7Nr1y7XPE314ccffwSgb9++9XZOIRoTCZKEEI3W1KlTmTBhAp988glt2rTh3nvvZcaMGUycOJHExERatWrFDz/8UKNjjRo1CqvVWuP8dWHDhg00adKEW2+9td7OKURjIkGSEKLRKp+5+8MPP6Rjx458+eWXvPrqq2zYsAEfHx9eeeUVBg4cWKNjPfDAA+j1et57771rXGrV6dOn+e6775gwYQI+Pj71ck4hGhtZu00IIerIPffcw9q1azlz5kyV2/nr2p///GdefvllDh8+TKtWra7puYRorKQlSQgh6si8efMoKipiyZIl1/Q82dnZLFmyhIceekgCJCGuIZkCQAgh6khsbCwrVqwgPT39mp7n1KlTPPHEE/zxj3+8pucRorGT7jYhhBBCCA+ku00IIYQQwgMJkoQQQgghPJAgSQghhBDCAwmShBBCCCE8kCBJCCGEEMIDCZKEEEIIITyQIEkIIYQQwgMJkoQQQgghPJAgSQghhBDCg/8HrOPgRUJ4aeAAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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nUu9evXo0aMHKSkplrZ66NAhxo4di6+vL3Xr1qVFixZcvXqVffv2WW4P79y5E29vb8DcFkaNGsW6deuIj4+nd+/eVu2jVq1aN/3ZldS4ceP47LPPaN++Pffffz/nzp2zjCXcvHkzgwYN4urVq1SvXp2ePXtiNBrZvXs348aN4+eff2bNmjXY2dmVWX1EFVPZUZoQFSkjI0MFBwcrQGk0GhUZGammTZum1q5dqxISEoo9b+LEiQpQ4eHhJXqd8+fPW/5T/euvvyzppelJys3NVVqtVgFq4cKFJT6vpB5++GEFqDZt2lj1xGRkZKi+ffsqQLVv397qnNv5D76gd+b6/9avV1xPkslkUh06dFCAGjNmjEpPT7fk5ebmqpdfflkBqmvXrrdc1xsp6AEbNWpUsWXefPNNy/fw3LlzVnnLly9XNjY2ytPT06rHpOB9AqpmzZoqJibGkpeUlKRq166tANWoUSPVunVrq5/NuXPnlKenpwLU1q1brV6voCcJUAMHDrTqNbp48aKqU6eOAtTrr79udd7hw4eVTqdTDg4OasWKFVZ5MTExqlGjRgpQCxYssMq7vrfu008/LfL7c/HiRfXnn3+q/Px8q3SDwaBGjhypAPV///d/hc67vpeqKGXRk+Tm5qZ27NhRKD82NlZ5e3srjUajPvvsM6u6JyUlqW7duilATZ06tdjXFnc+CZLEPefkyZOqTZs2RXbjN23aVH3++ecqLy/P6pynn35aAapt27Yleo3s7GzLNZcuXWpJv9lthOs/3ArExcVZ0tetW1cm34MC58+fV1qtVmk0GnXo0KFC+ZcuXVIODg4KUNu2bSv0PioySPr1118tP6OibnPk5+eriIgIBagjR47cUl1v5GZBUnJysnJ0dFQODg7q0qVLRZb5v//7PwWojz/+2JJ2fZC0du3aQue8//77lmD++vdTYNy4cUV+SBcESY6Ojio2NrbQeT///LMlOMjKyrKkFwTLs2fPLvI97N69WwGqRYsWVukFgUy3bt2KPO9mDAaDsrW1Vb6+voXyKiJIeuutt4o877XXXlOAeu6554rMv3TpkrKzs1O+vr7KZDIV+/rizia328Q9p27duuzcuZPdu3ezdu1adu3axf79+0lMTOTgwYM888wzrFixgrVr12Jvb1+q11AlWFnjRksANG/evFSve6s2b96MyWSiefPmNG7c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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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TicdOnSge/fuJCQksH79etasWcPrr7/OzJkzy7zf8nw2AFu3buWJJ54gIiKCfv36kZubi5+fHwBnzpzhlltu4dy5c9StW5fhw4djs9n4448/mDZtGt999x3/+9//qFOnDgBDhw6lUaNG/Pjjj5jNZu655x71fS18bpdVVlYWd955J+vXr8fX15fOnTtTt25dDh06xIIFC/jhhx9Yu3YtHTt2LPc+pBqoui9lSVJVyMrKEvXq1ROAUBRFDBgwQLz55pti5cqVIikpqdjtZsyYobZFKo1z586pl+t///13dX15brfZbDah0WgEIL744otSb1da17rd5nQ6Re/evQUgJk6cKDIzM93q9vzzzwtADBw40G27RYsWqcc6YsQIYTab1bQ9e/YInU4nNBqNaNWqlXjiiSeEzWZT05ctWyYA4e/v77adEFfamABizpw5bmnr168X3t7eAhCrVq1yS/vkk08EIJo2bSoOHDjglrZhwwbh5+cnDAaDOHHihFtawb78/f3Ftm3bPL5HO3fuFIcOHSqyPi4uTrRv314A4vvvvy+Sfq1z4bXXXhOAeO211zymF5xP/fv397geEO3atROXLl0qsu2qVauEoigiJCSkyO3ZgwcPivr16wtArF+/vtj6Xa28n03BOQiI6dOnC4fDUaTsgvaAd955p8jOzlbXJyUliU6dOglAPPjgg0W2a9iwYbG324p7/4Qo/rN58MEHBSDuuOOOIu0C3333XQGIZs2aCbvdXmRbqfaSQZJ00zh27Jj6B/fqqUOHDuLjjz8u8gfuiSeeEIDo0aNHqfaRl5enlvndd9+p6wt/eZU03XXXXeo2CQkJ6vqrv1wqwrWCpN9++019bwoHMgUcDodo06aNANwChYIgydfX12Mj8zvvvFMAokGDBh4b0Ldt21YARb7AC76IO3bs6LG+BUHbrbfe6lbHyMhIAYjdu3d73G7u3Llqg/7CCt77N954w+N217J69WoBiPvuu69IWlUESRs3bvS4bcH/gR9//NFj+vfffy8Acc899xRbv6uV57MR4so52Lx5c4/BxaZNmwQgTCaTSEhIKJK+e/duAQiNRiMuXLjgllaRQdKRI0eEoigiMjLS7cdCYcOHDxeA+Pnnnz2mS7WTvN0m3TRiYmLYvn07O3fuZOXKlezYsYO9e/eSnJzM/v37efLJJ1myZAkrV67EYDCU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2kSzZs2K5MnLy+POO+9k/fr1jBgxgu+///66KyhJkiRJVUGr1VbIF6t04yh1kNS3b1++++477r77boYMGcKWLVvcBpWzWCyMHDmSdevWMXz4cH788UePXQVIErh+uRU8Sn31/f+S0iSpKhR3DspzU5JuLmUeu+2rr75i3LhxtGjRgk2bNhEUFITVamXkyJGsWrWKoUOHsnz58utqTV5byLHbJEmSJKn2Ke33d6m6AChs7NixvPfeexw9epRhw4aRmprKqFGjWLVqFbfeeivLli27KQIkSZIkSZJubOW6HzZ58mRSU1N5/fXXady4MZmZmdxyyy0sX75cDmorSZIkSdINocxXkgq89tprPP3002RmZjJgwAB++eUXvLy8KrJu0g0sJyeH1q1b07p16yKduJWUJklVobhzUJ6bknRzKfWVpOLGKFIUha1btxIUFOQxraDXbUkqTAjBkSNH1PnSpklSVSjuHJTnpiTdXEodJIWGhsqnOSRJkiRJummUOkg6e/ZsJVZDkiRJkiSpZil3myRJkiRJkqQbWY0LkjZu3MiIESOIjIxEURSWLVvmli6EYObMmURERODt7c3gwYM5efKkmn727FkmTpxIdHQ03t7eNGnShNdeew2r1eqWR1GUItP27dur6jAlSZIkSarhShUk/eMf/7iuJzm2b9/OypUrS5XXbDbTvn17/v3vf3tMnzt3Lh988AELFixgx44d+Pj4cNttt5GXlwfAsWPHcDqd/Oc//+HPP//k3XffZcGCBbz88stFyvrf//7HpUuX1Klz587lPkZJkiRJkm4wohR8fHxEaGiomDVrljh16lRpNhEWi0X88MMPYsiQIUKj0Yh//etfpdquMEAsXbpUXXY6nSI8PFy8/fbb6rr09HRhNBrFN998U2w5c+fOFdHR0epybGysAMS+ffvKXKfCMjIyBCAyMjKuq5ybkdlsFg0bNhQNGzYUZrO51GmSVBWKOwfluSlJN4bSfn+XquH2iRMneOWVV3jzzTd544036NChAz169KBz586EhYURGBhIXl4eqampHD9+nB07drB582YyMzNp1KgR33zzDaNHj77ugC42NpaEhAQGDx6srgsICKB79+5s27aNMWPGeNwuIyPDYxcFd955J3l5eTRv3pwXX3yRO++8s8T9WywWLBaLupyZmVnOI5FMJlOxDwOUlCZJVaG4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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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fftZs2axbt06li1bxq+//sratWvZvn27w2vcf//9bN68ma+++ordu3dz8803M3z4cI4cOVKpYzMajSxcuJDY2FiioqIqtU1NkXGShBBCiNKK82F+RN289r+SwdXrosX0ej1hYWGA7Vb3MWPG0KdPH5566qkKt5s6dSq33norAPPnz+f1118nPj6e4cOH8/bbbxMVFcWbb76Jpmm0bduW5ORkZs+ezZw5c8jPz+ejjz7is88+Y8iQIQAsWrSIyMhI+/4TExNZuHAhiYmJRETY3sNHHnmEFStWsHDhQubPn19u3d5++20effRRjEYjbdq0YdWqVbi6ul70vahJ9e5M0vr16xk1ahQRERFomsbSpUsd8pVSzJkzh/DwcDw8PBg6dKhDdLp27VqnpyA1TWPLli1A+acp//zzz9o8VCGEEOKy3XXXXeTm5vLFF1+g01X8td65c2f7upeXF76+vqSlpQFw4MAB+vTpg6Zp9jJ9+/YlLy+PU6dOcezYMYqKiujdu7c9PyAggDZt2tif79mzB4vFQuvWrfH29rYv69at49ixYxXWbdKkSezYsYN169bRunVrJkyYQGFh4SW9F9Wt3p1JMhqNdOnShbvuuotx48aVyV+wYAGvv/46ixYtIjY2lieffJJhw4axf/9+3N3dueaaazh9+rTDNk8++SSrV6/mqquuckj/7bff6NChg/15YGBgzRyUEEKIhsPgaTujU1evfQnmzZvHypUriY+Px8fH5+K7v2CkeE3TqnU4i7y8PPR6Pdu2bUOv1zvkeXt7V7itn58ffn5+tGrViquvvpomTZqwZMkS+5mvulDvgqQRI0YwYsQIp3lKKV599VWeeOIJRo8eDcCnn35KaGgoS5cuZeLEibi6utpPQQIUFxezbNkyZsyY4RAdgy0oKl1W1B6DwcAjjzxiX69snhC1obw2KG3zCqFplbrkVdcWL17MM888wy+//EKLFi0ue3/t2rVj8eLFKKXs35cbN27Ex8eHyMhIAgICMBgMxMXFER0dDUBmZiaHDx9m4MCBAHTr1g2LxUJaWhr9+/evcl2UUiilMJlMl31cl0XVY4BasmSJ/fmxY8cUoHbs2OFQbsCAAeqf//yn03189913SqfTqZMnT9rTEhISFKCioqJUcHCw6tu3r1q2bNlF61NYWKiys7Pty8mTJxWgsrOzq3R8Qggh6lZB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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlcAAAHOCAYAAAC1uiySAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAACqrUlEQVR4nOzdd3gUVdvA4d/sZje9kE4kCb0TuvSmNAEBe0EBRXxBwIIVK4gFRT67YkVQfF8UFRQVaQJK7x2UXlMIpG2SrfP9sdnNbnoPIc99XcOUc2bmTJhkn51z5hxFVVUVIYQQQghRITTVXQAhhBBCiKuJBFdCCCGEEBVIgishhBBCiAokwZUQQgghRAWS4EoIIYQQogJJcCWEEEIIUYEkuBJCCCGEqEASXAkhhBBCVCAJroQQQgghKpAEV+KK8u+//zJ58mRatmyJr68vXl5e1KtXj86dOzN58mR++OGHIvdfvnw5o0aNokGDBvj4+BAQEEDLli2ZPHkyBw4cKHS/tWvXoihKiabCGAwG3nvvPQYPHkxUVBSenp74+fnRrFkz7rnnHpYuXYrNZivxz2Ls2LH5zu3h4UFYWBgDBgxgwYIF5B1goazX4bpfZGQkBoOhwDKdPXu22J+DEMKd43f5q6++cts+ffp0FEVh+vTp1VIuUXk8qrsAQjj8+OOP3H333RiNRkJCQujRowdhYWFcvnyZ3bt38+GHH/K///2PW265Jd++aWlp3H333fz6668AtGrVimHDhmE2m9m+fTsffvghH3/8Mc888wyvvPJKkcHBmDFjSl32FStWcM8995CUlISHhwcdO3akV69eWCwWjh07xsKFC1m4cCGdO3dm69atpTp2o0aN6NmzJwDZ2dns37+fVatWsWrVKpYuXcp3332HVqutkOsASEhIYM6cObz44otl2r8gY8eOZf78+cybN4+xY8dW2HFF8Rz3uox0Jgozffp0ZsyYwUsvvSSBXkVRhbgCxMfHq35+fiqgPv7442pWVla+PNu3b1efeeaZfNuNRqPapUsXFVAbNGig/v33327pNptNXbBggerj46MC6mOPPZbvGH/++acKqGX5lVi2bJmq1WpVQL3//vvVhISEfHlOnTql/uc//1Hr1KlT4uOOGTNGBdQxY8bkS/voo4+c5f3iiy/KfR2O/by9vVVFUVR/f381MTExX74zZ86U6fiOa5k3b16p9hPlV9b7WlScwu7/pKQk9dChQ2pSUlL1FCzHSy+9pALqSy+9VK3luJpItaC4IixbtoyMjAyioqJ466238PLyypenY8eOvP766/m2z5gxgy1bthAUFMSff/5Jjx493NIVReHee+9l0aJFALz99tusWrWqQsqdnJzMPffcg9Vq5eGHH+aLL74gPDw8X76YmBjmzp3LkiVLKuS8EydOpE+fPgB89913FXJMgKioKG699VbS09N55ZVXKuy4Qoj8QkNDad68OaGhodVdFFHBJLgSV4SEhAQAwsLCSrVfeno6H3zwAQAvvPACsbGxheYdNmwYw4cPB+DVV18tY0ndffDBB6SkpBAeHs6bb75ZbP7evXtXyHnBHmwCnDx5ssKOCfafjYeHB3PnzuXEiRPlOtbJkydRFIX58+cDcN9997m1+8pbBZGVlcWcOXPo2rUrQUFBeHl50axZM5566imSk5PzHf+rr75CURTGjh1LamoqU6dOpX79+nh5edGkSRPeeOMNZzu3c+fO8Z///Ifo6Gg8PT1p1qwZ77//foHl7tu3L4qisHbtWtatW8fAgQMJDg7Gx8eHa6+9lq+//rrI6169ejU333wzdevWRa/XEx4ezk033cSmTZsKzO/ajm3evHl069aNwMBAFEVx/v+eOnWKN954g+uuu46YmBg8PT0JCgqiZ8+efPLJJ/na8zna8+Q9h2NyHLe4dj+O9nh9+/YtdHtmZiYvvvgiLVq0wMfHh/r167vl3bFjB6NGjXKWOzg4mEGDBvHbb78V+XMsTHJyMg8//LDzeLGxsTz66KOkpKQU2r7Jdfv+/fu54447qFu3Llqt1nntZrOZb775hlGjRtG8eXMCAgLw9vamWbNmPPzww5w/f77QMl26dIlHH32U2NhYPD09iYmJYfLkyVy6dKnQfYr72f/zzz/85z//oVGjRnh5eREYGEjv3r355ptvCszvet/u3r2bm2++mdDQUDw9PWnZsiVz5szJVz2sKAozZswA7F9UXe8RqcIvO2lzJa4IMTExAOzfv5/Vq1dz/fXXl2i/NWvWkJaWBsC9995bbP7Ro0fz888/s379elJTUwkMDCx7oYGlS5cCcMcdd+Dp6VmuY5WW47or+rxNmjRh/PjxfPzxxzz//PMsXLiwzMfy8/NjzJgx/P333xw7dowePXrQuHFjZ3q7du2cy+fPn2fw4MHs27eP4OBgOnfujL+/Pzt37mT27Nl8//33rF27tsAAOiUlhW7dupGcnEyvXr1IT0/nr7/+4plnnuHs2bM8+uij9OzZE51OR/fu3UlKSmL9+vU8/PDDZGZm8vTTTxdY/p9++okPPviA5s2bM2jQIM6fP8/ff//N6NGj2b17N3PmzMm3zxNPPMGcOXPQaDR06tSJXr16cfr0aZYuXcovv/zCZ599xn333Vfg+aZMmcJHH31E9+7dGTp0KMePH3cGSF9//TUvvPACDRo0oGnTpvTo0YMLFy6wadMmNmzYwIoVK1i8eLEzf7t27RgzZowzsM3bBs/Pz6+I/7mSy87Opm/fvhw8eJDevXvTtm1bt0D43XffZerUqdhsNtq1a0eXLl2Ij49n7dq1rFixghkzZpSqfd+FCxfo1asXx44dIzg4mGHDhmGz2ViwYAHLly+nRYsWRe6/ceNGJkyYQN26denduzdZWVn4+/sD9i959957L4GBgbRo0YK4uDgMBgO7d+/m/fff53//+x8bN250u4cd+/Xq1Yt///2XOnXqOMu0cOFCli9fTqtWrUrxE7X7/vvvGT16NNnZ2TRv3pwhQ4aQmprKli1buPfee1mzZg1ffvllgfv+8ccf/N///R+NGjViwIABXLhwgb///psnnniCM2fO8M477zjzjhkzht27d7Nnzx7atm3r9jvpaOspyqC66yWFUFVVTU9PV6+55hoVUBVFUfv27avOnDlT/fXXXwts++PwwgsvONtalcSpU6ecbVDWrFnj3F6Wtkpms1nVaDQqoC5YsKDE+5VUUW2uDAaDGhMTowLq6NGjndvL2+aqUaNGqqqq6oULF1RfX19VURR1165dznyV1ebKZrOpPXr0UAF13LhxalpamjPNbDarjz/+uAqo/fr1c9tv3rx5zvLceOONqsFgcKbt2LFD9fDwUDUajdqyZUt1woQJqtlsdqYvWbJEBdSAgAC3/VRVVfv06eM87muvveaWtnbtWtXb21sF1OXLl7ulffrppyqgNm7cWN2zZ49b2rp161R/f39Vr9er//zzj1ua41wBAQHqpk2bCvwZbd26Vd23b1++7efOnVPbtm2rAup3332XL724/6/i2ts47o0+ffoUuB1Q4+Li1AsXLuTbd/ny5aqiKGpoaKi6bt06t7S9e/eq9erVUwF17dq1hZYv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Rx245ZZbeOutt+jfv7+zGh3gjTfeICQkhOjoaKZMmcK7777L9ddfT69evQgODmbPnj2cPn2aZ555ptjfmcLceOONvPvuuzz++OMMHz6cxo0b06xZMwIDA0lKSmLPnj3Op74l/cLz8ccfs3fvXtasWUODBg3o06cPqqqybt06QkJCGD58OD///HOZ3ih+6aWXuPXWW3nhhRf47rvvaNWqFYmJifz111/06tWLqKioAr8Afvjhh+zZs4e1a9fSoEED+vbti6qq/Pnnn25lKqkOHTrwzTffMHbsWMaOHcvzzz9Py5YtCQsL49KlS+zbt4+zZ89yxx13cPPNN5f6OvMaNGgQvr6+LFmyhJ49e9KkSRO0Wi09evQotMNbUYyq7flBiIKlpaWpS5YsUadMmaJee+21ar169VSdTqd6e3urjRo1Uu+66y71999/L/Y4v/76q3rnnXeqMTExqpeXl+rn56c2a9ZMnThxorp3795C9ytp/1CAW6eartLT09W3335bHTBggBoZGanq9XrVx8dHbdq0qXrPPfeoy5YtU202W4l/JkV1IlrR11FQP1d5bdmyxW3/0vrpp5/UHj16qP7+/s6+iPL2q5Odna3OnTtX7devnxoSEqJ6eHio4eHhart27dRJkyapf/zxh1t+Rz9Xhf2Miuu/p7D+txz9Bf3555/q6tWr1euvv14NDAxUvb291U6dOqlfffVVkde6YcMGddSoUWpsbKzq6emp+vv7q02bNlVHjhypfv755+qlS5fc8pfkZ2oymdTZs2erbdq0UX18fNTg4GB14MCB6ooVK9QTJ06ogBobG5tvv6ysLPWpp55SGzdurOr1eue5Tpw44cxjs9nUOXPmqC1atFD1er0aHBys3njjjeqOHTuK7ecq7/aC7Nu3T33wwQfVJk2aqF5eXqqPj4/asGFDddCgQep7772nnjt3rthjuEpMTFQnTZqk1qtXT9Xr9Wp0dLQ6adIkNTk5Wb3uuutUIN+9UtLBw9evX69ef/31amhoqOrj46O2bt1affXVV1Wj0eh2X+R18eJFdcqUKc4y1atXT50wYYKalJRU6LmLuz9PnDihPvbYY2rr1q1VX19f1cvLS42NjVX79u2rzpo1Sz169Khb/qLKV9z51q9fr/bv31+tU6eOs3Pk0vztEe4UVb2CGjgIIcQVoG/fvqxbt44///wz35h6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8/Nj3bp1WCwWJk2axB133MHatWsB+O6775g+fToffvghPXv25Ouvv+a9996jYcOGznMsXLiQF198kQ8++ID27duza9cuxo8fj6+vL2PGjKnoH0Glk+BKCCGEqGJZZistX/yjWs598OVB+OhL/vEfFxfHSy+9BECTJk344IMPWL16NQMGDGD16tXs27ePEydOEB0dDcCCBQto1aoV27Zto3PnzrzzzjuMGzeOcePGAfDKK6+watUqsl1GinjppZeYM2cON998MwANGjTg4MGDfPLJJzUyuJI2V6LGsFgs/Prrr/z6669YLJYSpwlRFeT+FFeruLg4t/W6des6h4k5dOgQ0dHRzsAKoGXLlgQFBXHo0CFnni5durgdo1u3bs5lg8HAsWPHGDduHH5+fs7plVde4dixY5V1WZVKnlyJGsNoNDJs2DDAPoSI6/hsRaUJURXk/hSl4a3TcvDlQdV27tLQ6XRu64qiYLPZKqw8GRkZAHz22Wf5grDy9JJeneQ3XAghhKhiiqKUqmruStWiRQvOnDnDmTNnnE+vDh48SEpKCi1btnTm2bJlC6NHj3but3nzZudyREQEUVFRHD9+nFGjRlXtBVSSmv8/K4QQQohq0b9/f9q0acOoUaN45513sFgsPPTQQ/Tp04dOnToB8MgjjzB27Fg6depEjx49WLhwIQcOHHBr0D5jxgwefvhhAgMDGTx4MEajke3bt3P58mWmTp1a4LkzMjI4evSoc/3EiRPs3r2b4OBgYmJiKvfCiyFtroQQQghRJoqisHTpUurUqUPv3r3p378/DRs2ZNGiRc48d9xxBy+88AJPPfUUHTt25NSpU0ycONHtOA888ACff/458+bNo02bNvTp04evvvqKBg0aFHru7du30759e9q3bw/A1KlTad++PS+++GLlXGwpKKqqqtVdiNokLS2NwMBAUlNTCQgIqO7i1CgGgwE/Pz/A/o3F19e3RGlCVAW5P0VhsrOzOXHiBA0aNMDLy6u6iyOKUNT/VWk+v+XJlRBCCCFEBao1wVX9+vVRFMVtmjVrlluevXv30qtXL7y8vIiOjubNN9/Md5zvv/+e5s2b4+XlRZs2bfjtt9+q6hKEEEIIUQPUqgbtL7/8MuPHj3eu+/v7O5fT0tIYOHAg/fv3Z+7cuezbt4/777+foKAgHnzwQQA2btzIXXfdxeuvv86w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Oztbrt7gwYPlJof08vLClStXkJqaiqeeeuqeY0xJScGqVavu+fNERETU3rp167B582ZkZWXB1dUVxcXFmD9/PszNzREdHa3W2DS65+qVV15BWVlZl6+/zroNADt37sSgQYMUSpi8vb1x4cIFcdna2ho1NTVydWpqajodowUAr7/+Oq5fvy6+qqqqurmXRERE6uHv74/o6GjExcVh4MCBsLa2RlJSklydyspKBAUFwcTEBGZmZpg9e3a735Vr166FlZUVTE1NER4ejqampnZt7dixA87OzjAwMICTkxM2bdrUZWzff/89goKCMH36dAwfPhzPPvsspkyZguPHj/d4v3tKo3uuhgwZ0q3ZrwVBwM6dOzF37lzo6uretX5JSQlsbGzEZR8fH+Tl5SEmJkZcl5ubCx8fn063oa+vD319fYVjJCKi+58gCBBu3lRL2xJDw27dVJGVlYXY2FgUFRWhsLAQ8+bNg6+vLyZPngyZTCYmVgUFBWhpaUFUVBRCQkJw9OhRAEB2djaSkpKwceNGTJw4ER988AE2bNgg1/mxe/duJCQkICMjA+PGjcPp06exYMECGBsbIywsrMO4JkyYgG3btuGnn37CyJEj8cMPP+Dbb7/FO++806PjowwanVx111dffYWKigpERES0K8vKyoKenh7GjRsHAPjvf/+L999/Hzt27BDrLF26FH5+fli/fj2mT5+OvXv3ori4GNu2bVPZPhARkeYTbt7Ejw973L1iLxh16iQkRkYK13d3d0diYiIAwNHRERkZGcjLy8PkyZORl5eHM2fOoKKiAnZ2dgCAXbt2wdXVFSdOnICXlxfS0tIQHh6O8PBwAEBycjKOHDki13uVmJiI9evX45lnngEAODg4oLS0FFu3bu00uYqPj0d9fT2cnJygra2N1tZWrF69GqGhofd0XJSpXyVX7733HiZMmCA3Buuv3nzzTVy+fBk6OjpwcnLCvn378Oyzz4rlEyZMwJ49e7BixQr861//gqOjIw4cOIDRo0eraheIiIhUyt3dXW7ZxsYGtbW1AO6Ma7azsxMTKwBwcXGBhYUFysrK4OXlhbKyMixcuFBuGz4+PsjPzwcASKVSlJeXIzw8HAsWLBDrtLS0wNzcvNO4srOzsXv3buzZsweurq4oKSlBTEwMbG1tO03IVKVfJVd79uzptCwsLEyhL2PWrFmYNWuW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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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wWBQa9asueLtVq5cqQAFqMTExMuuv3z5cgUoXddVcnKyZ/m6des8+7karVq1UoB6/PHHr2q7KzF8+HAFqOHDhxdaPnr0aAWomJgYz7KSPo+87erXr6+UUmrs2LEKUA888IDXeidOnLiq/Z89e1YNHz5c1a9fXwGqY8eOavjw4Z7bJ5984ln35MmTqnnz5gpQERERqkePHuree+9VtWvXVoCqU6eO+v333732v3jxYgWofv36qSZNmqjIyEg1YMAA1atXLxUQEKAANW7cOPXbb7+patWqqejoaDVo0CDVrVs3ZTAYFKCef/75AvXu0qWLAtT48eOVruuqadOmasiQIapz585K13UFqEmTJhX6nCdPnuw5x26++WY1cOBA1a5dO6VpmjIYDOq///1vgW3yXtNx48YpXddVp06d1P3336/atWvnec7PPPOMAlTdunXVbbfdpoYMGaK6dOmizGazAlT//v2Vy+Xy7POTTz7xnEN551H+29mzZ5VSSs2YMUMBasaMGYU+n7xzo0uXLoUub9eunWrbtq0KCgpSffv2VYMHD1Y9evTwrLdgwQLPa9ayZUt13333qU6dOnnqPWvWrEKPW5S89+avf/2rMhqNqlWrVmrw4MGqZcuWClAWi0X9+OOP6tVXX1W6rqsOHTqoQYMGqYYNGypABQcHq19//bXI9+BSd999twLUkCFDvJbv3r1bWa1WZTQa1Y8//uhVtmzZMmW1WhWgGjdurO69917VvXt3FRQUpAA1cuTIAsdJSEhQDRo0UICqVKmS6t+/v7rnnntUeHi4ql+/vqceixcvvuLXKu+9HTZsmKpcubKKiopSAwcOVHfeeaenLh07dlRZWVle2+X9nYeFhalbbrlFDRw4UN1+++2qRo0aClBVq1Yt9DXMe28effRRr7+bXr16qffff19NnjxZdezY0fNZk/98nDNnjmc/eeftpc/1+++/9xy/U6dOavDgwapXr16qcuXKClA33nijOnfuXJH1Wrdu3RW/dn8WEjBVQGlpaapmzZoKUJqmqa5du6pnnnlGffnll8UGQk8//bTnS+RKHDt2zPPB+N1333mWlyTQsNvtni+CJUuWXPF2V6q4gCkjI0PVqlXL82GYx1cB0+nTp1VQUJDSNE3t2rXLs97VBkyXPpeiPuxdLpfng3TUqFEqNTXVU2a32z1BSLdu3by2ywuYAHXXXXepjIwMT9mOHTuU0Wj0fHA/8sgjym63e8rzgu3Q0FCv7ZS6+AELqOeee86rbP369Z5g7JtvvvEqe/PNNz0f3D///LNX2YYNG1RISIgym83ql19+8SrLO1ZoaKjatGlToa/R1q1b1d69ewssP3nypGrRooUC1LJlywqUX+79utaAKS9oP336dIFtv/nmG6VpmqpSpYrasGGDV9mePXvUDTfcoAC1fv36Iut3qbz3RtM09e6773qVTZo0SQGqUaNGKjg42OvHl8PhUAMGDFCAGj16dIH9FvU6XbhwQdWpU0cBauHChUoppVJTUz3Bzdy5cws8L4vFoqxWq/r444+9yn7//XfPj4K4uDivsvvuu08B6tZbb/X6MXf+/HnVrl07T/1KEjDl/ajIzMz0lJ04ccITRD711FNe26WmpqpPP/1U2Ww2r+U5OTlq2rRpClC33357gePl/7t57bXXCq1T3t9sUT8ElSr68+LEiRNqzZo1yul0ei3PyMhQw4YN8wRrRdVLAiZRbhw6dMjrgyH/rWXLlmrhwoXK4XB4bfPII48oQN1yyy1XdIzs7GzPPj/88EPP8vwf/sXd+vXr59kmISHBs/zSL05fKCxgysrKUtu3b1c9evRQ4G6R27p16zU9j/zb5QVMSin1j3/8QwGqd+/enmXXK2D6+uuvPe9z/qAmj9PpVDfddJMCvIKGvA/f4OBgdebMmQLb5f0qr1WrVoFf0Uopz5fXpV/meR+wrVq1KrS+eQFcz549veqY9wt8+/bthW734osvKkBNnjzZa3nea/rPf/6z0O0uZ9WqVQpQAwcOLFBWGgHTxo0bC9027+95+fLlhZYvW7ZMAWrAgAFF1u9See9NYc/1/PnznjpNmTKlQPmOHTuK/IFV3Ou0detWZTablcViUbt27VKDBg3yBOn5W/WUUmrw4MEKUPPmzStyX4Bq3bq1Z9nx48eVrutK0zS1f//+Atvs2rXrmgKmgICAQgPazz//3BOoF/b3UZQaNWooXde9ftgodfG96d69e5HbXkvAVJyMjAxlNBpV1apVC5SV54BJrpKroBo1asTmzZvZunUrX375JVu2bGHnzp2cPXuW3bt3M3bsWD7++GO+/PJLzGZziY6hruDS6uIux4+NjS3Rca9FXFycZwxQfiEhIbzxxhu0bdu20O2u9XlMmTKFRYsWsWrVKtatW0e3bt2uvNJXKS8dxIABAzAaC34E6LpO586d2bdvHz/99BM33XSTV3nr1q0LHWzfoEEDALp161bohQQNGjRg7969RY7JGDZsWKHLhw8fzvz58/nhhx9wOp0YDAZ27drFqVOnqF+/vmd82aXyxmn89NNPhZbfd999hS7PY7PZ+Pbbb9m2bRuJiYnYbDaUUp7xNYcPHy52++shMjKSW2+9tcDyc+fOsXXrVgICArjrrrsK3fZyr0dxbr/99gLLIiIiqFy5MufPny+0PO98KOr9Lkrbtm2ZN28e48ePp2vXrqSkpFC7dm3POJw8LpeLr7/+GoDBgwcXuq82bdoQHBzMrl27yM7Oxmq1snHjRlwuF61bt6Zp06YFtmnZsiUxMTHs2bPnquqdp1evXlSrVq3A8jvvvNPzeu3cuZMOHTp4lf/888+sXbuW+Ph4MjIyPOPkHA4HLpeL3377jVatWhXY7+XO42v1008/8f3333P8+HEyMzM9n+tms5mzZ89y4cIFKlWqdF3rUFZIwFTB3Xzzzdx8882AO8DZtWsXc+fO5YMPPmDNmjX8+9//ZsqUKQBUqVIFuDho/HISExM994saYH6ll+NXrlwZXddxuVxe+/W1/HmYDAYD4eHhtGjRgrvvvpvw8PAit7vWHCehoaH84x//YMKECTz55JNs2bLlmvZXnKNHjwLugftPP/10seuePXu2wLJatWoVum5wcHCx5SEhIYA7v1Vh6tatW+zyrKwszp8/T2RkpOc5HDly5LIJEAt7DkCBwdL5bd68mcGDB3P8+PEi10lNTS32uNdDUXWOj49HKUVWVhYWi6XYfRT1ehSnuPf8/PnzhZbnvd82m+2qj/f444/zxRdf8O2336JpGh988EGBL+Xz58973oPo6OjL7vP8+fPUrFmTP/74Ayj6fMsrK2nAVNx+69Spw/nz5z11AHcS3gcffJBPPvmk2P0Wdb4Vdx5fi8TERAYMGMAPP/xQ7HqpqakSMImKR9M0YmNj+d///kdmZiafffYZK1eu9ARMeb/k4+PjOXv27GWvsstLGqnreqG/jK6G0WgkJiaG3bt3s23bNh588MFr2l9RCsvDVFrGjh3LggUL2LZtG8uXL6d9+/bX5Th5v1w7depE/fr1i123WbNmBZbpevEX116u/Frk/brNew7VqlWjd+/exW6TF+hfKiAgoNDlmZmZ3HPPPZw5c4aRI0cyduxYbrzxRkJDQzEYDPzyyy80atTouiSnvFx2+qLqnLddcHBwoclmr1Vpv+e//vqr5ypHpRRbt27llltu8Von/2t1JYljLxdIlqb85860adP45JNPaNy4Mc8//zxt27alSpUqnpb9Dh06sGnTpiLPt6LOiWs1evRofvjhB9q3b8+sWbNo0aIFlSpVwmQyAe60KKdPn65QSVolYBKF6tWrF5999pnX5bvdu3cnJCSEtLQ0lixZwuTJk4vdx5IlSwC49dZbi22duVL9+vVj9+7dfPjhh8ydO7dMfQD6gtls5plnnuHBBx/k73//O99+++11OU7er/F+/frx17/+9bocoySKSquQd0m+1WqlcuXKwMXnULlyZZ8HuBs3buTMmTPExsby3//+t0D5r7/+WuJ9530JFnbZPLjTGZRE3uuhaRr//e9/r2vQer1lZ2czaNAg0tLSGDp0KMuXL2fKlCl06NCBNm3aeNarUqUKAQEBZGVlMW/evCID40vVrFkTKD5FyLWkDykuPUjefm+44QbPsrzcbh9++CExMTEFtrmW862kMjIy+Oqrr9B1na+++qrA53dGRgYJCQmlXi9/+/P+VYkSu5JfBHldEfn/sENDQ3nssccAmD17drEf7l988QWff/45AH/729+upboejz/+OGFhYSQmJvLkk09edv38OWL+LIYOHUqLFi349ddfeeutt0q0j7wvZYfDUWh53759Afjoo4/K1K/DonLm5AXenTp18oy5yvsVfuDAgWLnLSyJvDw8RXVDFZfbJ+/Xd1Gvfd6XdVGZrvPGl12tGjVqEBMTQ1paGt98802J9lFWPPHEE+zevZtu3bqxZMkS5s+fT05ODoMGDfLK/WMwGOjZsydwdQllO3fujKZp7Ny5k0OHDhUo//nnn0vcHQfuqZsKGzbw1Vdfcf78eUJCQrzG3eWdb4XltVu1alWBnFNX43KfBUVJSUnB6XQSGhpa6I/d9957r0x9dpQWCZgqoNdff53hw4cXOvhTKcWKFSs8CSqHDBniVT5z5kzatGlDcnIy3bp1K7APlTs1St4gzMcff5xevXr5pN6VK1dmyZIl6LrOv//9b0aPHl3oB9PJkycZN24c99xzj0+OW5o0TfNkWF+wYEGJ9pEX5BYVSPTr188zz97IkSMLHdNy4cIFFi1adNUftNdix44dBRKS/vDDD7z22msATJw40bPcZDIxY8YMlFLce++9hY6zcDqdfPfdd2zevPmq6tGkSRPAnRDzwIEDXmVvvvmmJ4t9YS732nfv3h1d11m1ahUbNmzwLFdK8fLLL192wuvi5GWLHzlypOfHSn5KKbZs2XLdWi594f333+fNN98kKiqK999/H13Xeeyxx7jvvvuIj48vMC3RjBkzMJvNTJkyhbi4uEK7NPft28eKFSs8j2vVqsW9996Ly+Vi7NixXmODLly4wKOPPnpNwUBWVhZjx471SlJ56tQpT4v8I4884nVRRN75dmli18OHD/PII4+UuB5w8Xy89Dy+nKioKCpVqkRycnKBxLGbN29m2rRp11SvP63SvShPlAX/+te/PJfNVq1aVfXq1Us98MAD6vbbb/fkQAHU//3f/xXIwaGUUsnJyapPnz6e9Zo3b64GDRqk7r33Xk+uF13X1dSpUwtcBqyU9yXSlyb4u/R27NixAtt/9dVXqkqVKgpQRqNR3XLLLWrw4MFqwIABqmXLlkrTtKtKf6DU5RNXFqakz6OwtAKX6tq1q1dqgqvx888/K13Xla7rqkePHmrkyJFq1KhR6tNPP/Wsc/LkSU/ywaCgINWhQwc1ZMgQ1b9/f9WyZUtPosn8lz9f7hLly10yX9Tly5cmrmzWrJm6//77VZcuXTy5t5544olC9zllyhTPa9SsWTPVr18/NWTIENW1a1cVHh6uyJfPJ8+VvKb9+vVTgDKbzapXr15qyJAhqnHjxkrTNPX3v/9dAap27doFtvvrX/+qAFWlShU1aNAgNWrUKDVq1CivBH9PPPGEJ01F165dVf/+/VX9+vWVyWRSTz31VLFpBS5dfql///vfymg0KnDnp7rjjjvUAw88oHr27KkiIyMVoJ588sli95Hf5S4Rz0t0Gh8fX2h5Ua91YcsPHTqkgoODla7rau3atV5lycnJql69egpQCxYs8CpbtmyZCgwMVIC64YYbVK9evdTQoUNV3759PZ9HgwcP9trm9OnTngSvERERqn///uree+/1WeLKiIgIVa1aNTVw4EB11113eRJXtm/f3is/k1JKffzxx57PrObNm6shQ4ao7t27K5PJpLp37646dOhQ6HtwJZfv22w2T/qNVq1aqWHDhqlRo0apF1980bNOUX+X+b8n2rVrp+6//37VsWNHpWmaevDBB4t878tzWgEJmCqg1NRUtXLlSvX444+rm2++Wd1www3KZDKpgIAAVb9+fXX//ferr7/++rL7+fLLL9WQIUNUrVq1lNVqVcHBwapRo0Zq7Nixas+ePUVud6X5iwCvRI75paWlqX/961+qZ8+eqlq1aspsNqvAwEDVsGFD9X//93/qiy++KDRYK8q1BkxX8zyuJGDasmVLiQMmpdyZpzt27KhCQkI8H8aXBjLZ2dlq0aJFqlu3bqpy5crKaDSqyMhI1bJlS/XYY4+pVatWea1/vQOmdevWqbVr16rbbrtNhYWFqYCAANWmTRv1zjvvFPtcf/zxRzV06FBVu3ZtZbFYVEhIiGrYsKG655571Ntvv62SkpK81r+S1zQnJ0fNnTtXNW/eXAUGBqqIiAjVq1cv9e2336r4+PgiA6asrCw1depUdeONN3qya1/6peJyudT8+fNVkyZNlNlsVhEREequu+5SO3bsuGwepssFTEoptXfvXvWXv/xFNWjQQFmtVhUYGKjq1aunevfurV5++WV18uTJy+4jT2kFTJmZmZ48XUWdP9u3b1cWi0WZzWavfGhKKRUfH68mTpyobrrpJhUUFKSsVquqXbu26tq1q3r++efVb7/9VmB/586dU48//ri64YYblNlsVjfccIN65JFHPBnzSxowzZgxQx09elTdf//9KioqSpnNZnXjjTeq6dOnF0jammfjxo3qtttuU1WqVFGBgYHqpptuUs8++6yy2WxFvgdXGpjs3btX3X333apq1aqeHyD5z6PinuvKlStVhw4dVHh4uAoODlZt2rRRr7/+unK5XBUyYNKUqoAdkUKIMqNr165s2LCBdevWFZhDTYg/i5kzZzJr1ixmzJhR5FyB4s9NxjAJIYQQQlyGBExCCCGEEJchAZMQQgghxGWUuzFMc+bMYcWKFRw6dIiAgAA6dOjACy+8QKNGjYrd7qOPPuLpp5/m999/p0GDBrzwwguFzo8khBBCiIqn3LUwbdiwgccee4zNmzezevVq7HY7vXr1IiMjo8htfvrpJ+6//35GjRrFrl27uOeee7jnnnvYt29fKdZcCCGEEGVVuWthutTZs2eJjIxkw4YNdO7cudB1Bg8eTEZGBl988YVn2S233ELLli1ZtGhRaVVVCCGEEGVUuZ9LLiUlBYCIiIgi19m0aROTJk3yWta7d29WrlxZ5DY2m81rFm6Xy0VSUhKVK1e+7OzpQgghhCgblFKkpaVRo0aNYudhLNcBk8vlYsKECXTs2JGbbrqpyPUSEhKIioryWhYVFVXs5IJz5sxh1qxZPqurEEIIIfznxIkTXvOnXqpcB0yPPfYY+/btK3SeqWs1bdo0r1aplJQUatWqxYkTJwgNDfX58cozh8PB2rVrAbjttts8E6xerkyI0vDNv6dxcuFKAOq/MpiuPWd6yuT8FOLPLzU1lejoaEJCQopdr9z+dY8bN44vvviCjRs3FhsxAlSrVo0zZ854LTtz5gzVqlUrchuLxYLFYimwPDQ0VAKmq5SRkcGgQYMASE9PJygo6IrKhCgNRqORSadPAfClQff6+5bzU4jy43LDacrdVXJKKcaNG8cnn3zCd999R926dS+7Tfv27T2/EvOsXr2a9u3bX69qCiH+LPJ9hirl8l89hBB+Ve5amB577DHef/99Pv30U0JCQjzjkMLCwggICABg2LBh1KxZkzlz5gDwxBNP0KVLF+bPn88dd9zBBx98wPbt23nzzTf99jyEEGWEV8BUri8qFkIUo9y1MC1cuJCUlBS6du1K9erVPbcPP/zQs87x48c5ffq053GHDh14//33efPNN2nRogXLly9n5cqVxQ4UF0JUDF7N9C5pYRKioip3LUxX8gtw/fr1BZYNHDiQgQMHXocaCSH+zFS+gElamERRnE4ndrvd39UQhTCZTBgMhmveT7kLmIQQwpc06ZITxVBKkZCQQHJysr+rIooRHh5OtWrVrilPogRMQghRHOmSE8XIC5YiIyMJDAyUxMVljFKKzMxMEhMTAahevXqJ9yUBk/A7s9nMq6++6rl/pWVClAaD0cA/It2JbS9t1Zfzs2JzOp2eYKly5cr+ro4oQt4FX4mJiURGRpa4e04CJuF3JpOJxx577KrLhCgNRqOBBypVAuDYJdMmyPlZseWNWQoMDPRzTcTl5L1Hdru9xAFTubtKTgghfCt/F4uMYRIFSTdc2eeL90hamITfOZ1Ovv/+ewBuvfVWr+i/uDIhSoMTxZbMDDSgisPhXSbnpxAVhgRMwu+ys7Pp1q0bUHB6ieLKhCgN2Vkw8sQJAFbYvAMmOT+F8DZz5kxWrlzJ7t27/V0Vn5MuOSGEKEbahZqe+y5JKyDEdbdx40buuusuatSogaZprFy50t9VAiRgEkKIKycBkxDXXUZGBi1atOC1117zd1W8SMAkhBDF8Upc6fRfPYTwoa5duzJ+/HimTp1KREQE1apVY+bMmV7rHD9+nH79+hEcHExoaCiDBg3izJkzXus8//zzREVFERISwqhRo8jOzi5wrLfffpsmTZpgtVpp3Lgxr7/+erF169u3L7Nnz+bee++95ufpSzKGSQghiqHluzJOMn2Ly1FKkWX3T2AdYDJc1dVgcXFxTJo0iS1btrBp0yZGjBhBx44d6dmzJy6XyxMsbdiwAYfDwWOPPcbgwYM904stW7aMmTNn8tprr9GpUyfeffddXn75ZerVq+c5xtKlS5k+fTqvvvoqrVq1YteuXYwZM4agoCCGDx/u65fgupKASQghrpCSTN/iMrLsTppOX+WXYx/4Z28CzVf+tR4TE8OMGTMAaNCgAa+++ipr166lZ8+erF27lr179xIfH090dDQAS5YsoVmzZmzbto22bduyYMECRo0axahRowCYPXs2a9as8WplmjFjBvPnz6d///4A1K1blwMHDvDGG2/86QIm6ZITQojiaPnvSguTKD9iYmK8HlevXt0zhcjBgweJjo72BEsATZs2JTw8nIMHD3rWadeundc+2rdv77mfkZHBkSNHGDVqFMHBwZ7b7NmzOXLkyPV6WteNtDAJvzOZTLz44oue+1daJkRpMOo697T7CwCanuFVJuenuFSAycCBf/b227GvxqXnrKZpuHzYipqeng7AW2+9VSCw+jPmLJOASfid2WxmypQpV10mRGkwmYz0aDkYAKPhHa8yOT/FpTRNu6pusbKqSZMmnDhxghMnTnhamQ4cOEBycjJNmzb1rLNlyxaGDRvm2W7z5s2e+1FRUdSoUYOjR48ydOjQ0n0C18Gf/10VQojrKl83nAz6FhVEjx49aN68OUOHDmXBggU4HA4effRRunTpQps2bQB44oknGDFiBG3atKFjx44sXbqU/fv3ew36njVrFuPHjycsLIw+ffpgs9nYvn07Fy5cYNKkSYUeOz09nd9++83zOD4+nt27dxMREUGtWrWu7xMvhgRMwu+cTic7d+4EIDY2tsDUKEWVCVEaXC4XxxIPAVDN5X31k5yforzSNI1PP/2Uxx9/nM6dO6PrOn369OGVV17xrDN48GCOHDnC1KlTyc7OZsCAAYwdO5ZVqy4Oeh89ejSBgYHMnTuXKVOmEBQURPPm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z8gkxxDs55oJ4e0s4bzu7MdZwv1dFSHEdeaTgOm3336jQYPCL/e2Wq0sXryY4OBgFi5c6IvDiXImJyeHL/Z8zprdH2J35ODMC5iUE013UvMLF//+0UYGkuFblL6cnBzmzp3L3LlzC0yNopx2UrZ8TMqWjwuUCSHKF58ETNHR0WzevLnIcqPRyB133MGqVat8cThRztjtdj7Y+j4rt7yJ3enElZuwUldO+thS+fDjnUxdYyNLlyvkROmz2+1MnTqVqVOnFpgaRTmdJK9fTPL6xQXKhBDli08CpqFDh7Jx40aWLFlS5DppaWmcOXPGF4cT5Vxel5zucmAwX8z15TBJwCSEEMI/fBIwPfnkk8TGxvLQQw/x8MMP8+uvv3qVb968mf/9739ERUX54nCiPFPgdLqDJE05MeSbccdhlDFMQggh/MMnAZPVamXdunXcfffdvPXWWzRu3JgGDRrQo0cPYmJi6NixIxkZGTzyyCO+OJwo51yOvEHfTq8WJpdRWpiEEEL4h08CJnDPG7dixQpWrVrF3XffTWJiIt999x379u0jOjqaV155hWnTpvnqcEVKSkpi6NChhIaGEh4ezqhRo0hPTy92m65du6JpmtdNgjs/Uepil5xyYLBcDJiUKdBftRJCCFHB+WTy3fx69uxJz549AUhJScFkMhEYWHpfdEOHDuX06dOsXr0au93OyJEj+ctf/sL7779f7HZjxozhn//8p+dxadZZeLvYJedCN+ULmIySGFAIIYR/lDhgev311+nXrx81a9Yscp2wsLCS7r5EDh48yDfffMO2bdto06YNAK+88gq333478+bNo0aNoiduDQwMpFq1aqVVVVEMz1VyLgcG88X5BzWTBExCCCH8o8RdcuPGjaNWrVq0bduWZ599lr179/qyXiWyadMmwsPDPcESQI8ePdB1nS1bthS77dKlS6lSpQo33XQT06ZNIzMzs9j1bTYbqampXjdRMlarlb/f/jTj75qP2WS8mLhSOQkKcLFueCDrhgdiCgz1c01FRZQ3RnPdunUFpj/RjCai7n+OqPufk6lRhCjnStzCtHXrVj799FM+++wznn76aaZPn06dOnW45557uPvuu7n11lvRdZ8NkboiCQkJREZGei0zGo1ERESQkJBQ5HYPPPAAtWvXpkaNGuzZs4cnn3ySw4cPs2LFiiK3mTNnDrNmzfJZ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e5C3ITgQgKB8XXIy6FsIIYS/XFXA1L9//yJbkV5//XWGDBkiY5jEVXM4HPz08xp2HtmAI/f80Q3uU9NiUGQc+oGMQz+gXE5/VlNUUA6Hg48++oiPPvoIh8NxxWVCiPJFUxLh+ERqaiphYWGkpKTItDFXKSMjw5ME9T9jl5HlqkyTDtXpPqwJz322i7/3iwXg1LkLVK8c7seaiooo//mZnp5OUFDQFZUJIf4crvT7u0SJK999913279+Py+UqcQWFKIxeORIAzeDufvPK9C1dckIIIfykRKNohw8fjqZpWCwWmjdvTmxsLK1ataJVq1bExMTI1SKixFyu3C653BQCgfkDJkkrIIQQwk9KFDC98cYb7N69m127drFnzx62bdvmSSdgMBho3LgxrVq18gRSLVu2lG4qcUXUJQFTQL4r43RpYRJCCOEnJQqYxowZ47mvlOLw4cO88MILxMXF4XA4OHDgAPv27eO9997zrFevXj1iY2P58MMPr73WotxSThegebrkAs3SwiSEEML/rnnyXU3TOHDgAO+99x5z584lKSkJh8NBfHw88+bNIzIyEqUUp0+fZvny5b6osyjHLu2SCzBfPEUlXhJCCOEv1xwwAcyYMYN+/foxefJkwsPDAahduzYTJ04kPj6eoUOHEh4eXmgOJyHyczkvCZjyzSUnWeSFEEL4i09SJ//2229FJq20Wq0sXryYm266iYULF/Lmm2/64pCiHDGbzTw+eAYXzmSia0acKE+XXKOalah8+wTPekKUNrPZzOLFiz33r7RMCFG++CRgio6OZvPmzUUfxGjkjjvukC45USiTyUT3m+/m5C/J6BgAh6eFqWZECGsWzSDIbMBkMvm3oqJCMplMjBgx4qrLhBDli0+65IYOHcrGjRtZsmRJkeukpaVx5swZXxxOlGOeLjnDxe63ltHhNIgK8VeVhBBCCN8ETE8++SSxsbE89NBDPPzww/z6669e5Zs3b+Z///sfUVFRvjicKGccDgfbD3zPvmObsedOL6HltjA5HA6+/PJLvvzyS5l6QvhFceegnJ9CVBw+mxolPT2dYcOGsXLlSjRNo169etSuXZvExET279+PUopnn32WadOm+eJwZY5MjVJy+aeXeGn0l5gNVjoNbECL26Jl6gnhdzI1ihDl25V+f/tkDBNAcHAwK1asYPXq1bz++ut89913HDly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eq1zS5cuVVFR0RWvSRcTkLKyssYOrUG4XC4tWLBAN910k0aMGNHo7c2dO1e333671q5dqylTpjR6e4A/opYcAEvo0qWLvvrqK58cTfpvGzdu1G233aY33nhDDz74YI1rycnJ2r59e4P+nlVVVYqJiVF8fLw++uijBvtcAP/BGiYAPuFKa38yMjJks9mUkZGh9evXa/jw4QoLC1PHjh3185//XC6XS5KUmZmpAQMGKDQ0VLGxsVq8ePEV2zAMQ2+++aaSkpJ0ww03KCwsTEOGDNGbb755TbGuXr1aNptNkydPvuo9VVVVWrBggbp06aLg4GDdeOONWrFiRa37FixYIJvNpm3btikjI0ODBw9WWFiYkpOT3fcEBQUpJSVFH3/8sXJzc68pVgB1w5QcAJ+3bt06ffjhh0pJSVFSUpI2btyohQsXyjAMtWzZUgsXLtSkSZOUnJysP/3pT5o7d67at2+vqVOnuj/DMAxNmTJFb731lnr27Knvf//7cjgcysrK0owZM3TgwAEtWbLEayyGYSg7O1u9evVS69atr3rffffdp127dmnChAmy2+165513lJaWpqCgID300EO17l+8eLGys7M1adIkjRs3rtZapcTERP3mN7/R1q1b1aNHj2t4egDqxAAAC4iLizM8/ZM0atSoWtdXr15tSDKCgoKMXbt2uc+fP3/eiIqKMsLCwowOHToYhw8fdl/Lz883HA6H0a9fvxqftWrVKkOSMX36dOPChQvu85WVlcbEiRMNScbu3bu9/h779+83JBlTpkzx+HsMHz7cKCoqcp8/dOiQERgYaPTq1avG/enp6YYkIzw83Pj888+v2u4//vEPQ5IxdepUrzECuHZMyQHweffff7+GDh3q/jkiIkK33XabysrKNHPmTHXr1s19rXPnzho5cqQOHDigf//73+7zr776qsLDw7V8+XIFBQW5zzscDj333HOSpLfeestrLMeOHZMktW/f3uN9ixYt0g033OD+uVevXkpKSlJOTo6Ki4tr3f/www+rX79+V/28S+1dah9Aw2JKDoDPGzhwYK1z0dHRHq9VV1eroKBAHTt2VFlZmfbt26eYmBj98pe/rHV/VVWVJOnQoUNeYzl79qwkqVWrVh7vS0hIqHWuU6dOkqTCwkJFRETUuDZs2DCPn9emTRtJ0pkzZ7zGCODakTAB8HmXj9RcEhgY6PXapUTo3LlzMgxDx48f1zPPPHPVdkpLS73GEhoaKkmqqKi47pirq6trXfM2YlVeXi5JCgsL8xojgGtHwgTA711KXhISErR79+56fVZkZKQk6Ztvvql3XJfzttnnpfYutQ+gYbGGCYDfi4iIUO/evXXw4EEVFhbW67P69OmjgIAA5eTkNExwdXSpPU/rnABcPxImAJD02GOPqaysTA899NAVp96OHDmivLw8r5/TqlUr9e/fX7t373bvA9UUPv30U0nSqFGjmqxNwJ+QMAGApB/+8IdKTU3Vu+++q549e2rq1KmaN2+epk+frsTERHXv3l07d+6s02fdcccdKi4urvP9DSErK0utW7fWzTff3GRtAv6EhAkAJPeO4W+//bb69OmjDRs26Fe/+pWysrIUEhKiJUuWaOzYsXX6rAcffFCBgYH6/e9/38hRX5SXl6dPPvlEqampCgkJaZI2AX9DLTkAaAQ/+MEPtHHjRn311Ve1tghoaD/72c/04osv6uDBg+revXujtgX4K0aYAKARLFy4UOXl5Vq2bFmjtnPu3DktW7ZMM2fOJFkCGhHbCgBAI4iLi1NmZqYKCgoatZ0jR45o9uzZevTRRxu1HcDfMSUHAADgBVNyAAAAXpAwAQAAeEHCBAAA4AUJEwAAgBckTAAAAF6QMAEAAHhBwgQAAOAFCRMAAIAXJEwAAABe/B+Uba6VUlTHiwAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlsAAAHOCAYAAACvhswcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC0/0lEQVR4nOzdd3wUxfvA8c9eTU8IkIQSqvTeiQgBQUDAigVEAUFUBBSBCFgRERQsgIhYMOJX+WEFC9IhiIAivYMoEFqo6eXq/v645MiRAoRLLuGe98szuzuzO3PJhHsyOzujqKqqIoQQQgghioXG0xUQQgghhLiZSbAlhBBCCFGMJNgSQgghhChGEmwJIYQQQhQjCbaEEEIIIYqRBFtCCCGEEMVIgi0hhBBCiGIkwZYQQgghRDGSYEsIIYQQohhJsCVEKfTPP/8wcuRIGjZsiL+/Pz4+PlStWpU2bdowcuRIfvjhh0LPX758OQMGDKBmzZr4+fkRFBREw4YNGTlyJPv27SvwvLi4OBRFuaZXQdLT05k9ezY9e/akcuXKGI1GAgICqFevHo8++ig//fQTdru9yN8bUbKu9vMujSZNmoSiKEyaNMnTVRECAJ2nKyCEcPXjjz/yyCOPYDKZKF++PB06dKBixYokJiayc+dOPvzwQxYtWkTfvn3znJuSksIjjzzC0qVLAWjUqBF9+vTBYrGwdetWPvzwQz766CMmTJjAlClTCv0QHTRo0HXXfeXKlTz66KOcP38enU5Hq1at6NixI1arlX///Zevv/6ar7/+mjZt2rBly5brvr7Iq0aNGhw/fpyjR49So0YNT1enVIuLi6NLly5ER0cTFxfn6eoIb6IKIUqNhIQENSAgQAXUsWPHqpmZmXnybN26VZ0wYUKe4yaTSW3Xrp0KqDVr1lT/+OMPl3S73a5++eWXqp+fnwqozz//fJ5rrFu3TgXUovzT8Ouvv6parVYF1CFDhqhnz57Nk+f48ePqU089pZYrV+66ry/yV716dRVQjx49WizXL2p78KTz58+rBw4cUM+fP+9yPKd9R0dHe6ZiwmtJz5YQpcivv/5KWloalStX5p133sk3T6tWrWjVqlWe46+//jp//fUXISEhrFu3jurVq7ukK4rCY489Rrly5bjrrrt4//336dWrF926dbvhel+8eJFHH30Um83Gs88+y6xZs/LNV61aNebNm8cjjzxyw2UKUZAKFSpQoUIFT1dDCCcZsyVEKXL27FkAKlaseF3npaamMmfOHABeeeWVPIFWbn369OHuu+8G4M033yxiTV3NmTOHpKQkwsLCmD59+lXzd+rU6bqur6oqP/74I3369CEiIgKDwUBERAS33XYbb7/9NpmZmc68gwcPRlEUvvjii3yv9cUXX6AoCoMHDy7w+KVLlxg9ejS1a9fGaDTSuXNnwHUsUHx8PEOHDiUyMhK9Xp/net9//z09e/akYsWKGAwGqlSpwqOPPsr+/fvz1OnYsWMoikKNGjVQVZVPPvmEVq1a4e/vT3BwMN27d2fz5s351vf48eMA1KxZ02VM3fXcJtu8eTN33nknISEhBAQE0Lp1az7//POrnpeZmcm7775L+/btCQkJwcfHh3r16vHCCy9w8eLFPPlzf4/T09OZOHEit9xyC0ajkYiICAYNGsSpU6fyLWv16tXcddddhIeHo9frKVeuHHXq1OHRRx/l999/d8mb35itzp0706VLFwDWr1/v8r3Kuf0aHR2Noij83//9X4Hvefr06SiKwkMPPXTV748QOaRnS4hSpFq1agDs3buXNWvW0LVr12s6b+3ataSkpADw2GOPXTX/wIED+fnnn/n9999JTk4mODi46JUGfvrpJwAefvhhjEbjDV3rShaLhX79+vHjjz+i0Who27Ytt99+OxcuXGD//v1MmDCBhx9+2G3jlS5cuEDr1q1JSkqiY8eOtGrVCoPB4JLnn3/+oUWLFhgMBjp06ICqqs6eFKvVyoABA/j2228xGo20atWKKlWqcPjwYb7++mt+/PFHfvzxR3r27Jlv+Y8//jgLFy6kY8eO9OnTh507d7Jq1Sp+//131q9fT7t27QC45ZZbGDRoEN9//z3p6en07duXgIAA53UiIiKu6f1+99139O/fH5vNRuPGjWnSpAknTpzgiSeeKPRhitOnT9OzZ0/27NlDaGgobdq0ITAwkO3btzNjxgy+++474uLi8g38k5OTufXWW4mPj6djx440btyYzZs38+WXX7J+/Xp27drl0iYXLFjA448/DkDbtm3p0qULmZmZnDx5kkWLFlGhQoWrBvA9e/bEx8eHFStWEB4e7vL9z/nZPffcc/z+++/MmTOH/v3757mG3W7no48+AmDkyJGFlieECw/fxhRC5JKamqpWqVJFBVRF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TjFy5EiXpxkLExYWxvDhwwF48MEH8zzZpqoqa9euJTk52XksZ0b8//3vfy4TiFosFsaPH8/ff/99vW/vmoWHhzNq1CjS09O566672LNnT548JpOJn3/++bp66wqTE3QXNidWQYYOHUpAQACbN29m9uzZLmlxcXHMmzcv3/Puuece5/qWjz/+eL7jshITE5k3b16RgsDcMjIyeO+99/ItY8OGDSQlJaHVal3++ChITp5//vnnqk919urVi1tuuYXly5eza9cuateu7QwyhbhechtRiFLEYrHw5Zdf8uWXX1KxYkVatGhBhQoVSEpKYv/+/c7bOo8++ihDhw51OddoNLJ69Wr69evH8uXL6dChA02aNKFBgwZYLBb+/vtvTp48iUaj4YUXXuCtt94qtC5Xzoh+pcmTJ7sMTL777rv59ddfGThwIPPnz2fBggW0bt2a6tWrOxei3rVrF6qq0r59+2v+nkyfPp2jR4/y888/06xZM9q1a0fNmjW5cOEC+/bt49SpUxw9etT5dGCHDh245557+Omnn2jdujW33XYbvr6+bN++nZSUFJ577rkClxNyh7feeoszZ86wcOFCmjdvTrNmzahVqxY6nY6TJ0+yc+dO0tPTWbZsmVsG/vft25d169bx6KOP0r17d8qVKwdATEwM9erVK/TcypUr8+mnn/Loo4/y3HPP8dlnn9G4cWNOnTrFhg0bGD16NO+//36e8zQaDUuWLKF3794sWLDAOS1HtWrVMJvN/Pfff+zZswebzcbgwYPzfWLxWpnNZsaOHUtMTAxNmjShTp066PV6jh07xp9//gnASy+9dE2rLlSrVo3WrVuzdetWmjRpQuvWrfHx8aFChQp5fh80Gg0jR45k9OjRADzzzDNXfehBiAJ5aH4vIUQ+UlJS1CVLlqijRo1S27Ztq1atWlXV6/Wqr6+vWrt2bbV///7qsmXLrnqdpUuXqv369VOrVaum+vj4qAEBAWq9evXU4cOHq7t37y7wvNyTml7ttWPHjnyvkZqaqr7//vvqHXfcoUZERKgGg0H18/NT69atqz766KPqr7/+qtrt9uv6vtjtdnXhwoVq9+7d1fLly6t6vV6NiIhQO3bsqM6YMSPPgt1ZWVnqyy+/rNaqVUvV6/VqWFiY2r9/f/XIkSNXndT0yuO5FTRZZn5+++039f7771erVKmi6vV6NSQk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JSoqikmTJhV63uDBg+nfvz8AU6dOZfbs2WzZsoWePXsyd+5cIiMjmTNnDoqiUL9+fU6fPs348eN59dVXycjIYP78+Xz11Vd07doVgAULFlC1alXn9ePj44mNjSU+Pp7KlSsDMG7cOJYvX05sbGyBUys98sgjVK9encqVK7N7927Gjx/PoUOH+PHHH6/6vShObgm21q1bx5o1a9i4cSMnT57kwoUL+Pn5UbFiRZo0aUJ0dDR9+vQp8LZaafb++++j0Wjo27evy6SmObRaLb/++ivDhw8nKioKf39/Bg0a5HK/WJQ86dkSpYP0bImyY8iQIaSmprJq1SrnvIUFyT0npb+/P0FBQc47PAcOHCAqKsplPrsOHTqQlpbGyZMnSUxMxGw2067d5UA0NDSUevXqOff37NmDzWajbt26LuWaTCbKly9fYL2efPJJ53aTJk2oVKkSXbt25d9//6V27dpX+Q4UnyIHW+np6cyePZtPP/2U48ePO7ssfXx8CA0NJTMzk71797J7926+/vpr9Ho9d911F88//zwdOnRw2xtwtyvvB/v4+PDhhx8WOh9O9erV+e2334q5ZuJ6+MuYLSGEh/nqfPnrkb88Vvb1mDJlCitWrGDLli0EBgZeNb9er3fZVxTFrSsmpKWlodVq2bZtG1qt6zq0AQEB13ydnIDuyJEjZS/YmjdvHq+//jpnz56ladOmvPHGG0RFRdG6dWuXH5Kqqvzzzz/89ddfrFy5kp9++onFixdzzz338O6771KzZk23vREhcvMPcb2NKI/WC4+Qji2vpijKNd3K87QffviByZMns2zZMrcEJA0aNOCHH35AVVVn79bGjRsJDAykatWqhIaGotfr+euvv6hWrRoAiYmJHD58mOjoaABatGiBzWbj3LlzdOzYsch12blzJwCVKlW6sTd1g4oUbI0aNYr+/fvzwgsv5BnzlJuiKNStW5e6devy2GOPkZmZyddff820adP43//+x6uvvlrkigsBjmVObq3dApu2Ihrt5W5v/2AjGo2WDrVuo+KF3WgyMuA6/hoSwh10Wi0hHUJQyLskj06nY9CgQc5tITxh7969DBw4kPHjx9OoUSPn/JAGg4HQ0NAiXfOZZ55h5syZjBo1ipEjR3Lo0CFee+01xowZg0ajISAggKFDhxITE0P58uUJCwvjpZdecrl1WbduXQYMGMDA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ssotwda3337rsvD0H3/8wR9//OF88qZChQq0aNGCVq1a8eabb7qjSCGEEEKIMsFtM8g/8MADzv3z5887A6+cIGz16tWsWrVKgi0hhNeQqR6EEODGGeRzq1ixInfccQd33HGH81hmZia7d+8ujuKEEEIIIUottwyQ37dvHytXriz0iRpfX1+XFb6FEOKm59KxJYO2hPBWbgm2pk6dyj333JNnqv3Sbtq0abRp04bAwEDCwsK49957OXTokEuerKwsRowYQfny5QkICKBv376cPXvWJU98fDy9e/fGz8+PsLAwYmJisFqtJflWvJZGo6FeeE1uqdQszy0bjUZDdHQ00dHReZZKEaIkaDQabqnUjFsqNZX2KcRVdO7cmdGjR3u6GsXCLb/hGzdu5M4776Ry5cr5ph8+fJi+ffuyceNGdxTnNuvXr2fEiBH8+eefrFq1CovFQvfu3V166J5//nl++eUXvvvuO9avX8/p06e5//77nek2m43evXtjNpvZtGkTCxYs4IsvvuDVV1/1xFvyOr6+vrzQ8wlG3/0eBp0+T1pcXBxxcXH4+vp6qIbCm/n4+DD67vcYfdc7edqgtE8h3O+TTz6hc+fOBAUFoSgKSUlJefJcunSJAQMGEBQUREhICEOHDiXtinnw3M0twVZCQgJ169YtML1u3brs27ePWbNmuaM4t1m+fDmDBw+mUaNGNGvWjC+++IL4+Hi2bdsGQHJyMvPnz+e9997j9ttvp1WrVsTGxrJp0yb+/PNPAFauXMn+/fv56quvaN68OXfeeSdvvPEGH374IWazubDihbvJYGRRyuT0ZinITUQhSkJGRgY9e/bkxRdfLDDPgAED2LdvH6tWreLXX3/l999/58knnyzWerkl2AoODiYlJaXQPLfeeit//fWXO4orNjm3QUNDQwHYtm0bFouFbt26OfPUr1+fatWqsXnzZgA2b95MkyZNCA8Pd+bp0aMHKSkpBU7wajKZSElJcXmJolNlSRRRSuXE/9JGRWl17Nix7HVJXV+dO3cu8BxFUfjss8+477778PPzo06dOvz8888uedavX0/btm0xGo1UqlSJCRMmuAyvSU9PZ+DAgQQEBFCpUiXefffdPOWYTCbGjRtHlSpV8Pf3p127dsTFxRX6fkaPHs2ECROcazVf6cCBAyxfvpzPPvuMdu3acdttt/HBBx+waNEi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+e677/j888/dUZxbHDx4ELvdzscff8y+fft4//33mTdvHi+++KIzT0pKCt27d6d69eps27aNGTNmMGnSJD755BNnnk2bNtG/f3+GDh3Kjh07uPfee7n33nvZu3evJ96W11EUhUCfAAJ9Q/JdrqdixYpUrFgxT5oQJUFRFDTBOsrpDCiKgilXsCXtUwjv4ZZga//+/bRt29a5n5qaytKlS3n44YdZvXo1W7ZsoUGDBqUq2OrZsyexsbF0796dWrVqcffddzNu3Dh+/PFHZ56vv/4as9nM559/TqNGjejXrx/PPvss7733njPPrFmz6NmzJzExMTRo0IA33niDli1bMmfOHE+8LSFEKaIoCpkG0FkdS/bIbUQhvJNbgq1Lly4RERHh3P/jjz+wWq30798fAL1ezx133MG///7rjuKKTXJyMqGhoc79zZs306lTJwwGg/NYjx49OHTokPOW6ebNm+nWrZvLdXr06MHmzZtLptJezmQy8fVfS/hmwywsNmuetBEjRjBixAhMJpOHaii8mdlsZm3cGf635QssNjOmXOsjSvsUwnu4JdgKCgri4sWLzv1169ah0Wjo2LGj85heryc9Pd0dxRWLI0eO8MEHHzjXKgNISEggPDzcJV/OfkJCQqF5ctLzYzKZSElJcXmJorFaraw7tJkN+3/GbrfnSZs7dy5z587FKpMcCQ+wWq0c2J7I6n9/x263ufRsSfsUwnu4JdiqX78+v/zyCxcvXiQpKYmFCxfSqlUrlzFcx48fzxOUFIcJEyagKEqhr4MHD7qcc+rUKXr27MmDDz7IsGHDir2O06ZNIzg42PmKjIws9jKFEJ5nzpKgSghvVKRJTa/07LPP8uCDD1K1alVnD9aUKVNc8vz555+0bNnSHcUVauzYsQwePLjQPLVq1XJunz59mi5dunDrrbe6DHwHiIiI4OzZsy7HcvZzbpsWlCf3bdUrTZw4kTFjxjj3U1JSJOASwgvImC0hvJNbgq2+ffvy4YcfOtc97Nevn0vAs379elJSUujZs6c7iitUztM91+LUqVN06dKFVq1aERsbi0bj2tEXFRXFSy+9hMViQa93TCuwatUq6tWr5+y1i4qKYs2aNYwePdp53qpVq4iKiiqwXKPRiNFovM53JoQoa5QrVuw0ZZae6W+EECXHLcEWwPDhwxk+fHi+adHR0S5zcJUGp06d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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "include_PI = True\n", "\n", diff --git a/idaes_examples/notebooks/docs/power_gen/solid_oxide_cell/soc_pid_control_test.ipynb b/idaes_examples/notebooks/docs/power_gen/solid_oxide_cell/soc_pid_control_test.ipynb index cf20e2f6..c3bb0cdc 100644 --- a/idaes_examples/notebooks/docs/power_gen/solid_oxide_cell/soc_pid_control_test.ipynb +++ b/idaes_examples/notebooks/docs/power_gen/solid_oxide_cell/soc_pid_control_test.ipynb @@ -1,2646 +1,1392 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2024 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################\n", - "\n", - "from enum import Enum\n", - "import pandas as pd\n", - "import numpy as np\n", - "\n", - "import pyomo.environ as pyo\n", - "from pyomo.common.collections import ComponentSet, ComponentMap\n", - "from pyomo.util.calc_var_value import calculate_variable_from_constraint\n", - "\n", - "import idaes.core.util.scaling as iscale\n", - "from pyomo.dae import DerivativeVar\n", - "from idaes.core.solvers import petsc\n", - "import idaes.logger as idaeslog\n", - "import idaes.core.util.model_serializer as ms\n", - "from idaes_examples.mod.power_gen.soc_dynamic_flowsheet import (\n", - " SocStandaloneFlowsheet as SocFlowsheet,\n", - ")\n", - "import matplotlib.pyplot as plt\n", - "from idaes.models.control.controller import (\n", - " ControllerType,\n", - " ControllerMVBoundType,\n", - " ControllerAntiwindupType,\n", - ")\n", - "from IPython.display import SVG, display" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# SOC Flowsheet --- PID Control\n", - "Author: Douglas Allan\n", - "\n", - "Maintainer: Douglas Allan\n", - "\n", - "Updated: 2024-26-03\n", - "\n", - "## 1. Introduction\n", - "\n", - "This example is designed to demonstrate the use of PI controllers in a complex flowsheet to simulate ramping between different, predetermined setpoints. Steady-state optimization to obtain these setpoints is the subject of a future example. \n", - "\n", - "## 2. Model Description\n", - "\n", - "The underlying flowsheet consists of a solid oxide cell (SOC) and supporting equipment consisting of electric trim heaters, heat exchangers, a blower for sweep air input, and a condenser to remove excess water from a hydrogen-rich stream. The flowsheet is sized appropriately to produce about 2 kg/s of hydrogen when at its current density limit. Power production mode is then sized to be whatever the net power production is at an average of 400 $\\text{mA}/\\text{cm}^2$. The trim heaters and heat exchangers are modeled in considerable detail in order to accurately gauge the thermal capacitance of the system. The condenser, on the other hand, is modeled as having perfect control to keep its output temperature at $45^\\circ C$. The steam source (presumably an electric boiler) and hydrogen compression train (which would include additional condensers/water traps) are not modeled. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The `OperatingScenario` `Enum` allows the user to select which initial condition to use. The functions are helper functions for later." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "class OperatingScenario(Enum):\n", - " maximum_production = 1\n", - " power_mode = 2\n", - "\n", - "\n", - "def scale_indexed_constraint(con, sf):\n", - " for idx, c in con.items():\n", - " iscale.constraint_scaling_transform(c, sf)\n", - "\n", - "\n", - "def set_indexed_variable_bounds(var, bounds):\n", - " for idx, subvar in var.items():\n", - " subvar.bounds = bounds\n", - "\n", - "\n", - "def create_ramping_eqns(fs, vars, time_scaling_factor=1):\n", - " def rule_ramp(b, t, dvdt, v_ramp):\n", - " return dvdt[t] == v_ramp[t]\n", - "\n", - " t0 = fs.time.first()\n", - "\n", - " for var in vars:\n", - " var.unfix()\n", - " shortname = var.name.split(\".\")[-1]\n", - " blk = var.parent_block()\n", - " dvdt = DerivativeVar(var, wrt=fs.time, initialize=0)\n", - " setattr(blk, \"d\" + shortname + \"dt\", dvdt)\n", - " v_ramp = pyo.Var(fs.time, initialize=0)\n", - " setattr(blk, shortname + \"_ramp_rate\", v_ramp)\n", - " v_ramp_eqn = pyo.Constraint(\n", - " fs.time, rule=lambda b, t: rule_ramp(b, t, dvdt, v_ramp)\n", - " )\n", - " setattr(blk, shortname + \"_ramp_rate_eqn\", v_ramp_eqn)\n", - " for t in fs.time:\n", - " sv = iscale.get_scaling_factor(var[t], default=1)\n", - " iscale.set_scaling_factor(dvdt[t], sv / time_scaling_factor)\n", - " iscale.set_scaling_factor(v_ramp[t], sv / time_scaling_factor)\n", - " iscale.constraint_scaling_transform(v_ramp_eqn[t], sv / time_scaling_factor)\n", - "\n", - " v_ramp_eqn[t0].deactivate()\n", - " v_ramp[t0].fix(0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We begin by ramping from the maximum H2 production setpoint to maximum power production. The ramp starts at one hour, the ramp lasts five minutes, the system is allowed to settle at maximum power mode for two hours, there is another five minute ramp back to maximum H2 production, then the system is given three hours to settle at the end." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ + "cells": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-04-24 16:44:46 [WARNING] idaes.models.properties.modular_properties.transport_properties.no_method: Skipping construction of thermal conductivity for phase Liq\n", - "2024-04-24 16:44:46 [WARNING] idaes.models.properties.modular_properties.transport_properties.no_method: Skipping construction of dynamic viscosity for phase Liq\n" - ] - } - ], - "source": [ - "operating_scenario = OperatingScenario.maximum_production\n", - "m = pyo.ConcreteModel()\n", - "t_start = 1 * 60 * 60\n", - "t_ramp = 5 * 60\n", - "t_settle = 2 * 60 * 60\n", - "t_end = 3 * 60 * 60\n", - "\n", - "dt_set = [t_start, t_ramp, t_settle, t_ramp, t_end]\n", - "\n", - "time_set = [sum(dt_set[:j]) for j in range(len(dt_set) + 1)]\n", - "\n", - "# The names here correspond to the row names in\n", - "# soec_flowsheet_operating_conditions.csv\n", - "# There should be len(time_set) entries here.\n", - "# We start simulating a period at maximum production\n", - "# in order to confirm the system is at steady state.\n", - "if operating_scenario == OperatingScenario.maximum_production:\n", - " setpoints = [\n", - " \"maximum_H2\",\n", - " \"maximum_H2\",\n", - " \"power\",\n", - " \"power\",\n", - " \"maximum_H2\",\n", - " \"maximum_H2\",\n", - " ]\n", - "elif operating_scenario == OperatingScenario.power_mode:\n", - " setpoints = [\n", - " \"power\",\n", - " \"power\",\n", - " \"maximum_H2\",\n", - " \"maximum_H2\",\n", - " \"power\",\n", - " \"power\",\n", - " ]\n", - "else:\n", - " raise RuntimeError(\"Please choose a valid operating scenario\")\n", - "\n", - "m.fs = SocFlowsheet(\n", - " dynamic=True,\n", - " time_set=time_set,\n", - " time_units=pyo.units.s,\n", - " thin_electrolyte_and_oxygen_electrode=True,\n", - " include_interconnect=True,\n", - ")\n", - "scaling_log = idaeslog.getLogger(\"idaes.core.util.scaling\")\n", - "scaling_log.setLevel(idaeslog.ERROR)\n", - "iscale.calculate_scaling_factors(m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Interior point solvers like IPOPT have difficulties when unconstrained solutions occur too close to variable bounds. We therefore strip bounds from some variables that previous simulations have shown to be causing problems." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "for t in m.fs.time:\n", - " m.fs.condenser_flash.control_volume.properties_in[t].flow_mol_phase[\n", - " \"Liq\"\n", - " ].domain = pyo.Reals\n", - " m.fs.condenser_flash.control_volume.properties_in[t].flow_mol_phase[\n", - " \"Liq\"\n", - " ].bounds = (None, None)\n", - " m.fs.condenser_flash.control_volume.properties_in[t].phase_frac[\n", - " \"Liq\"\n", - " ].domain = pyo.Reals\n", - " m.fs.condenser_flash.control_volume.properties_in[t].phase_frac[\"Liq\"].bounds = (\n", - " None,\n", - " None,\n", - " )\n", - " for var in [\n", - " m.fs.condenser_flash.control_volume.properties_in[t].log_mole_frac_tdew,\n", - " m.fs.condenser_flash.control_volume.properties_in[t]._mole_frac_tdew,\n", - " ]:\n", - " for idx in var.index_set():\n", - " var[idx].domain = pyo.Reals\n", - " var[idx].bounds = (None, None)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3. Process Control\n", - "\n", - "Now we add controllers to the flowsheet. The flowsheet has a helper function, `add_controllers` that adds the controllers if passed a `ComponentMap` that maps manipulated variables (MVs) to tuples that specify the controller. The tuple contains the controller name, the corresponding controlled variable (CV), the type of controller used, the way the controller handles MV bounds, and the antiwindup method.\n", - "\n", - "We restrict ourselves to using P and PI controllers, because derivative action is severely degraded by noise, but PETSc cannot incorporate noise into its simulations.\n", - "\n", - "Controllers can either have no bounds with the `NONE` option (which may result in use of unphysical controls), the `SMOOTH_BOUND` option which uses smooth max and min functions in order to keep the MV within certain thresholds, and the `LOGISTIC` option, which uses a logistic function to keep the MV within bounds. The `LOGISTIC` option is a worse representation of an actual thresholding function than `SMOOTH_BOUND` but may be easier for integrators to handle.\n", - "\n", - "When both variable bounds and integral action are present, integral windup is a problem. If one uses the `NONE` option, no antiwindup is used. If one uses the `CONDITIONAL_INTEGRATION` method, setpoint error does not integrate when the system is at its bounds. This method is relatively easy to implement but the transition between integrating and not integrating causes integrators to slow down significantly. The `BACK_CALCULATION` method subtracts an amount proportional to the difference between the current MV value and the value that the controller would use without variable bounds from the integrated error. This method gives better performance (and is much easier to integrate) than `CONDITIONAL_INTEGRATION`, but it requires a back calculation gain term to be chosen." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "antiwindup = ControllerAntiwindupType.BACK_CALCULATION\n", - "inner_controller_pairs = ComponentMap()\n", - "inner_controller_pairs[m.fs.feed_heater.electric_heat_duty] = (\n", - " \"feed_heater_inner_controller\",\n", - " m.fs.soc_module.fuel_inlet.temperature,\n", - " ControllerType.PI,\n", - " ControllerMVBoundType.SMOOTH_BOUND,\n", - " antiwindup,\n", - ")\n", - "inner_controller_pairs[m.fs.sweep_heater.electric_heat_duty] = (\n", - " \"sweep_heater_inner_controller\",\n", - " m.fs.soc_module.oxygen_inlet.temperature,\n", - " ControllerType.PI,\n", - " ControllerMVBoundType.SMOOTH_BOUND,\n", - " antiwindup,\n", - ")\n", - "m.fs.add_controllers(inner_controller_pairs)\n", - "\n", - "variable_pairs = ComponentMap()\n", - "variable_pairs[m.fs.feed_heater_inner_controller.setpoint] = (\n", - " \"feed_heater_outer_controller\",\n", - " m.fs.soc_module.fuel_outlet.temperature,\n", - " ControllerType.P,\n", - " ControllerMVBoundType.NONE,\n", - " ControllerAntiwindupType.NONE,\n", - ")\n", - "variable_pairs[m.fs.sweep_heater_inner_controller.setpoint] = (\n", - " \"sweep_heater_outer_controller\",\n", - " m.fs.soc_module.oxygen_outlet.temperature,\n", - " ControllerType.P,\n", - " ControllerMVBoundType.NONE,\n", - " ControllerAntiwindupType.NONE,\n", - ")\n", - "variable_pairs[m.fs.soc_module.potential_cell] = (\n", - " \"voltage_controller\",\n", - " m.fs.soc_module.fuel_outlet_mole_frac_comp_H2,\n", - " ControllerType.PI,\n", - " ControllerMVBoundType.SMOOTH_BOUND,\n", - " antiwindup,\n", - ")\n", - "variable_pairs[m.fs.sweep_blower.inlet.flow_mol] = (\n", - " \"sweep_blower_controller\",\n", - " m.fs.stack_core_temperature,\n", - " ControllerType.P,\n", - " ControllerMVBoundType.SMOOTH_BOUND,\n", - " # antiwindup,\n", - " ControllerAntiwindupType.NONE,\n", - ")\n", - "variable_pairs[m.fs.makeup_mix.makeup.flow_mol] = (\n", - " \"h2_production_rate_controller\",\n", - " m.fs.h2_mass_production,\n", - " ControllerType.P,\n", - " ControllerMVBoundType.SMOOTH_BOUND,\n", - " ControllerAntiwindupType.NONE,\n", - " # antiwindup,\n", - ")\n", - "m.fs.add_controllers(variable_pairs)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that the controllers have been added to the flowsheet, they need to be tuned and bounds for the MVs need to be set. Additionally, the `smooth_eps` term used in the `SMOOTH_BOUND` method of handling variable bounds needs to be tuned to the size of the MV. A heuristic is to use $10^{-3}$ or $10^{-4}$ a typical value of the MV." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "K = 10e4\n", - "tau_I = 15 * 60\n", - "tau_D = 5 * 60\n", - "m.fs.feed_heater_inner_controller.gain_p.fix(K)\n", - "m.fs.feed_heater_inner_controller.gain_i.fix(K / tau_I)\n", - "m.fs.feed_heater_inner_controller.mv_lb = 0\n", - "m.fs.feed_heater_inner_controller.mv_ub = 10e6\n", - "m.fs.feed_heater_inner_controller.smooth_eps = 1000\n", - "if antiwindup == ControllerAntiwindupType.BACK_CALCULATION:\n", - " m.fs.feed_heater_inner_controller.gain_b.fix(0.5 / tau_I)\n", - "\n", - "K = 20e4\n", - "tau_I = 15 * 60\n", - "tau_D = 5 * 60\n", - "m.fs.sweep_heater_inner_controller.gain_p.fix(K)\n", - "m.fs.sweep_heater_inner_controller.gain_i.fix(K / tau_I)\n", - "m.fs.sweep_heater_inner_controller.mv_lb = 0\n", - "m.fs.sweep_heater_inner_controller.mv_ub = 10e6\n", - "m.fs.sweep_heater_inner_controller.smooth_eps = 1000\n", - "if antiwindup == ControllerAntiwindupType.BACK_CALCULATION:\n", - " m.fs.sweep_heater_inner_controller.gain_b.fix(0.5 / tau_I)\n", - "\n", - "K = 0.75\n", - "tau_I = 60 * 60\n", - "m.fs.feed_heater_outer_controller.gain_p.fix(K)\n", - "\n", - "K = 0.75\n", - "tau_I = 60 * 60\n", - "m.fs.sweep_heater_outer_controller.gain_p.fix(K)\n", - "\n", - "K = -2\n", - "tau_I = 240\n", - "m.fs.voltage_controller.gain_p.fix(K)\n", - "m.fs.voltage_controller.gain_i.fix(K / tau_I)\n", - "m.fs.voltage_controller.mv_lb = 0.7\n", - "m.fs.voltage_controller.mv_ub = 1.6\n", - "m.fs.voltage_controller.smooth_eps = 0.01\n", - "if antiwindup == ControllerAntiwindupType.BACK_CALCULATION:\n", - " m.fs.voltage_controller.gain_b.fix(0.5 / tau_I)\n", - "\n", - "K = -50\n", - "tau_I = 40 * 60\n", - "m.fs.sweep_blower_controller.gain_p.fix(K)\n", - "m.fs.sweep_blower_controller.mv_lb = 1500\n", - "m.fs.sweep_blower_controller.mv_ub = 10000\n", - "m.fs.sweep_blower_controller.smooth_eps = 10\n", - "\n", - "K = 200\n", - "tau_I = 20 * 60\n", - "m.fs.h2_production_rate_controller.gain_p.fix(K)\n", - "m.fs.h2_production_rate_controller.mv_lb = 1\n", - "m.fs.h2_production_rate_controller.mv_ub = 1500\n", - "m.fs.h2_production_rate_controller.smooth_eps = 1" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Most MVs we want to ramp between the old and new setpoints, but there are a few, especially when changing the controller gain, that we need to step." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "step_mvs = ComponentSet([])\n", - "step_mvs.add(m.fs.voltage_controller.mv_ref)\n", - "step_mvs.add(m.fs.voltage_controller.setpoint)\n", - "step_mvs.add(m.fs.makeup_mix.makeup_mole_frac_comp_H2)\n", - "step_mvs.add(m.fs.makeup_mix.makeup_mole_frac_comp_H2O)\n", - "step_mvs.add(m.fs.h2_production_rate_controller.setpoint)\n", - "step_mvs.add(m.fs.h2_production_rate_controller.gain_p)\n", - "\n", - "ramp_mvs = m.fs.manipulated_variables - step_mvs\n", - "\n", - "create_ramping_eqns(m.fs, ramp_mvs, 1)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In the present system of scaling, we cannot guarantee that controller MVs and CVs have had scaling factors set when a controller is scaled, so we need to iterate through the controllers and scale them again after the fact." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "for ctrl in m.fs.controller_set:\n", - " iscale.calculate_scaling_factors(ctrl)\n", - " iscale.calculate_scaling_factors(ctrl)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Discretize the time domain. We choose `time_nfe` to be one less than the length of `m.fs.time` so that Pyomo doesn't create any additional time points. After the time discretization equations are created, they are then scaled." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "time_nfe = len(m.fs.time) - 1\n", - "pyo.TransformationFactory(\"dae.finite_difference\").apply_to(\n", - " m.fs, nfe=time_nfe, wrt=m.fs.time, scheme=\"BACKWARD\"\n", - ")\n", - "iscale.scale_time_discretization_equations(m, m.fs.time, 1 / (60 * 5))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Load and fix the right initial condition. The `.json.gz` file is generated beforehand by a steady-state optimization. In this case, all these files are pregenerated and committed to the examples repo.\n", - "\n", - "Since we are loading an initial condition from a file, we don't need to solve a steady state problem at `t=0`. Therefore, we need to fix variables corresponding to the differential variables of the system and deactivate certain equations that become degenerate." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "if operating_scenario == OperatingScenario.maximum_production:\n", - " ms.from_json(m, fname=\"max_production.json.gz\", wts=ms.StoreSpec.value())\n", - "elif operating_scenario == OperatingScenario.power_mode:\n", - " ms.from_json(m, fname=\"power_mode.json.gz\", wts=ms.StoreSpec.value())\n", - "\n", - "m.fs.fix_initial_conditions()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that we have loaded an initial condition, we can view it in the flowsheet. The `write_pfd` function iterates through a template `.svg` file and adds numbers to it by comparing the object name in the `.svg` to tags in the flowsheet." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { - "data": { - "text/plain": [ - "'SOC Dynamic Flowsheet'" + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2024 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "###############################################################################\n", + "\n", + "from enum import Enum\n", + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "import pyomo.environ as pyo\n", + "from pyomo.common.collections import ComponentSet, ComponentMap\n", + "from pyomo.util.calc_var_value import calculate_variable_from_constraint\n", + "\n", + "import idaes.core.util.scaling as iscale\n", + "from pyomo.dae import DerivativeVar\n", + "from idaes.core.solvers import petsc\n", + "import idaes.logger as idaeslog\n", + "import idaes.core.util.model_serializer as ms\n", + "from idaes_examples.mod.power_gen.soc_dynamic_flowsheet import (\n", + " SocStandaloneFlowsheet as SocFlowsheet,\n", + ")\n", + "import matplotlib.pyplot as plt\n", + "from idaes.models.control.controller import (\n", + " ControllerType,\n", + " ControllerMVBoundType,\n", + " ControllerAntiwindupType,\n", + ")\n", + "from IPython.display import SVG, display" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/svg+xml": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " image/svg+xml\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " SOEC\n", - " Hydrogen Side\n", - " Oxygen Side\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " sweep03 \n", - " \n", - " \n", - " \n", - " ostrm01 \n", - " \n", - " \n", - " \n", - " ostrm02 \n", - " \n", - " \n", - " \n", - " \n", - " sweep00 \n", - " \n", - " \n", - " \n", - " \n", - " hstrm01 \n", - " \n", - " \n", - " \n", - " hstrm02 \n", - " \n", - " \n", - " \n", - " hstrm03 \n", - " \n", - " \n", - " \n", - " feed00\n", - " \n", - " \n", - " \n", - " feed02 \n", - " \n", - " \n", - " \n", - " F:T:P:yH2:\n", - " 2.649 kmol/s\n", - " 931.30 K\n", - " 1.200 bar\n", - " \n", - " 37.454%\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1.325 kmol/s\n", - " 986.16 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1.325 kmol/s\n", - " 886.52 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:yO2:\n", - " 5.514 kmol/s\n", - " 985.74 K\n", - " 1.200 bar\n", - " \n", - " 35.000%\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " ostrm 05\n", - " \n", - " \n", - " \n", - " F:T:P:yH2:\n", - " 2.649 kmol/s\n", - " 986.16 K\n", - " 1.200 bar\n", - " \n", - " 74.900%\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:yO2:\n", - " 5.018 kmol/s\n", - " 963.51 K\n", - " 1.200 bar\n", - " \n", - " 28.575%\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " steam_heater\n", - " steam_hot_exchanger\n", - " sweep_heater\n", - " steam_medium_exchanger\n", - " sweep_exchanger\n", - " \n", - " F:T:P:\n", - " 2.757 kmol/s\n", - " 985.74 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 2.261 kmol/s\n", - " 288.15 K\n", - " 1.013 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 5.018 kmol/s\n", - " 969.53 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:yH2:\n", - " 1.325 kmol/s\n", - " 477.72 K\n", - " 1.200 bar\n", - " \n", - " 74.900%\n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1.325 kmol/s\n", - " 986.16 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 2.261 kmol/s\n", - " 936.02 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 2.757 kmol/s\n", - " 985.74 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " feed04 \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 2.757 kmol/s\n", - " 484.91 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 2.649 kmol/s\n", - " 941.64 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 453.60 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " Summary:\n", - " \n", - " SOEC Electric Power:SOEC Current:Cell Potential:H2 Production Rate:H2 Consumption Rate:Feed Heater Power:Sweep Heater Power:Total Electric Power:Vent Gas Recycle Ratio:\n", - " \n", - " 252.830 MW\n", - " -191.439 MA\n", - " 1.321 V\n", - " 2.000 kg/s\n", - " 0.000 kg/s\n", - " 1.000 MW\n", - " 1.000 MW\n", - " 255.936 MW\n", - " 0.0\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " ostrm03 \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " feed03 \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " sweep02\n", - " \n", - " \n", - " \n", - " \n", - " ostrm04\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 2.757 kmol/s\n", - " 442.77 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " feed01 \n", - " \n", - " \n", - " \n", - " \n", - " sweep04 \n", - " \n", - " \n", - " \n", - " F:T:P:yH2:\n", - " 1.325 kmol/s\n", - " 378.15 K\n", - " 1.200 bar\n", - " \n", - " 0.007%\n", - " \n", - " \n", - " \n", - " F:T:P:yH2:\n", - " 1.108 kmol/s\n", - " 323.15 K\n", - " 1.200 bar\n", - " \n", - " 89.541%\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " hstrm04 \n", - " \n", - " hstrm06 \n", - " \n", - " knockout\n", - " \n", - " out \n", - " \n", - " makeup \n", - " \n", - " vgr\n", - " \n", - "" - ], - "text/plain": [ - "" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# SOC Flowsheet --- PID Control\n", + "Author: Douglas Allan\n", + "\n", + "Maintainer: Douglas Allan\n", + "\n", + "Updated: 2024-26-03\n", + "\n", + "## 1. Introduction\n", + "\n", + "This example is designed to demonstrate the use of PI controllers in a complex flowsheet to simulate ramping between different, predetermined setpoints. Steady-state optimization to obtain these setpoints is the subject of a future example. \n", + "\n", + "## 2. Model Description\n", + "\n", + "The underlying flowsheet consists of a solid oxide cell (SOC) and supporting equipment consisting of electric trim heaters, heat exchangers, a blower for sweep air input, and a condenser to remove excess water from a hydrogen-rich stream. The flowsheet is sized appropriately to produce about 2 kg/s of hydrogen when at its current density limit. Power production mode is then sized to be whatever the net power production is at an average of 400 $\\text{mA}/\\text{cm}^2$. The trim heaters and heat exchangers are modeled in considerable detail in order to accurately gauge the thermal capacitance of the system. The condenser, on the other hand, is modeled as having perfect control to keep its output temperature at $45^\\circ C$. The steam source (presumably an electric boiler) and hydrogen compression train (which would include additional condensers/water traps) are not modeled. " ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "m.fs.write_pfd(fname=\"soc_dynamic_flowsheet.svg\")\n", - "display(\n", - " \"SOC Dynamic Flowsheet\",\n", - " SVG(filename=\"soc_dynamic_flowsheet.svg\"),\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We create a `ComponentMap` to translate between the column names in `soec_flowsheet_operating_conditions.csv` to the variables in the actual flowsheet so we can use them as setpoints." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "alias_dict = ComponentMap()\n", - "alias_dict[m.fs.voltage_controller.mv_ref] = \"potential\"\n", - "alias_dict[m.fs.voltage_controller.setpoint] = \"soc_fuel_outlet_mole_frac_comp_H2\"\n", - "alias_dict[m.fs.soc_module.fuel_outlet_mole_frac_comp_H2] = (\n", - " \"soc_fuel_outlet_mole_frac_comp_H2\"\n", - ")\n", - "alias_dict[m.fs.h2_production_rate_controller.mv_ref] = \"makeup_feed_rate\"\n", - "alias_dict[m.fs.h2_production_rate_controller.setpoint] = \"h2_production_rate\"\n", - "alias_dict[m.fs.h2_production_rate_controller.gain_p] = (\n", - " \"h2_production_rate_controller_gain_p\"\n", - ")\n", - "alias_dict[m.fs.sweep_blower_controller.mv_ref] = \"sweep_feed_rate\"\n", - "alias_dict[m.fs.sweep_blower_controller.setpoint] = \"stack_core_temperature\"\n", - "alias_dict[m.fs.feed_heater_inner_controller.mv_ref] = \"feed_heater_duty\"\n", - "alias_dict[m.fs.feed_heater_outer_controller.mv_ref] = \"feed_heater_outlet_temperature\"\n", - "alias_dict[m.fs.feed_heater_outer_controller.setpoint] = \"fuel_outlet_temperature\"\n", - "alias_dict[m.fs.sweep_heater_inner_controller.mv_ref] = \"sweep_heater_duty\"\n", - "alias_dict[m.fs.sweep_heater_outer_controller.mv_ref] = (\n", - " \"sweep_heater_outlet_temperature\"\n", - ")\n", - "alias_dict[m.fs.sweep_heater_outer_controller.setpoint] = \"sweep_outlet_temperature\"\n", - "alias_dict[m.fs.makeup_mix.makeup_mole_frac_comp_H2] = \"makeup_mole_frac_comp_H2\"\n", - "alias_dict[m.fs.makeup_mix.makeup_mole_frac_comp_H2O] = \"makeup_mole_frac_comp_H2O\"\n", - "alias_dict[m.fs.condenser_flash.vap_outlet.temperature] = (\n", - " \"condenser_hot_outlet_temperature\"\n", - ")\n", - "\n", - "alias_dict[m.fs.sweep_recycle_split.recycle_ratio] = \"sweep_recycle_ratio\"\n", - "\n", - "alias_dict[m.fs.feed_recycle_split.recycle_ratio] = \"fuel_recycle_ratio\"\n", - "alias_dict[m.fs.condenser_split.recycle_ratio] = \"vgr_recycle_ratio\"\n", - "\n", - "df = pd.read_csv(\"soec_flowsheet_operating_conditions.csv\", index_col=0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "These loops iterate through the flowsheet and fix ramp rate variables or set variables to the appropriate values for the given setpoints." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "t0 = m.fs.time.first()\n", - "for var in ramp_mvs:\n", - " shortname = var.name.split(\".\")[-1]\n", - " alias = alias_dict[var]\n", - " blk = var.parent_block()\n", - " v_ramp = getattr(blk, shortname + \"_ramp_rate\")\n", - " var[t0].fix(float(df[alias][setpoints[0]]))\n", - " for i, t in enumerate(time_set):\n", - " v_ramp[t].fix(\n", - " float(\n", - " (df[alias][setpoints[i]] - df[alias][setpoints[i - 1]])\n", - " / (time_set[i] - time_set[i - 1])\n", - " )\n", - " )\n", - "\n", - "for var in step_mvs:\n", - " shortname = var.name.split(\".\")[-1]\n", - " alias = alias_dict[var]\n", - " for i, t in enumerate(time_set):\n", - " var[t].fix(float(df[alias][setpoints[i]]))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Here we initialize the controllers. Unit model `.initialize` methods tend to be for steady state optimization, so we manually set variable values and calculate variables from constraints." - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "# Need to initialize the setpoint for the inner controller or else it starts with the default value 0.5.\n", - "m.fs.feed_heater_inner_controller.setpoint[0].value = (\n", - " m.fs.feed_heater_outer_controller.mv_ref[0].value\n", - ")\n", - "m.fs.sweep_heater_inner_controller.setpoint[0].value = (\n", - " m.fs.sweep_heater_outer_controller.mv_ref[0].value\n", - ")\n", - "for ctrl in m.fs.controller_set:\n", - " if hasattr(ctrl, \"mv_eqn\"):\n", - " calculate_variable_from_constraint(ctrl.manipulated_var[0], ctrl.mv_eqn[0])" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "\n", - "assert degrees_of_freedom(m) == 0" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Here we run PETSc to integrate the flowsheet with the TS integrator. Because we are loading from a solved flowsheet, in principle we could set `skip_initial=True`. However, due to user error there is sometimes a discrepancy between the setpoints loaded and the initial conditions loaded, so we leave it in. There are many options for PETSc-TS that can be read about in the PETSc documentation." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-04-24 16:45:08 [INFO] idaes.solve.petsc-dae: WARNING: model contains export suffix 'scaling_factor' that contains 243\n", - "2024-04-24 16:45:08 [INFO] idaes.solve.petsc-dae: component keys that are not exported as part of the NL file. Skipping.\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Ipopt 3.13.2: constr_viol_tol=1e-08\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: nlp_scaling_method=user-scaling\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: linear_solver=ma57\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: max_iter=300\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: tol=1e-08\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: halt_on_ampl_error=no\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: option_file_name=C:\\Users\\dallan\\AppData\\Local\\Temp\\tmphl5vnriw_ipopt.opt\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Using option file \"C:\\Users\\dallan\\AppData\\Local\\Temp\\tmphl5vnriw_ipopt.opt\".\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: ******************************************************************************\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: For more information visit http://projects.coin-or.org/Ipopt\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: This version of Ipopt was compiled from source code available at\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: for large-scale scientific computation. All technical papers, sales and\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: publicity material resulting from use of the HSL codes within IPOPT must\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: contain the following acknowledgement:\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: HSL, a collection of Fortran codes for large-scale scientific\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: computation. See http://www.hsl.rl.ac.uk.\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: ******************************************************************************\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: This is Ipopt version 3.13.2, running with linear solver ma57.\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of nonzeros in equality constraint Jacobian...: 15011\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of nonzeros in inequality constraint Jacobian.: 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of nonzeros in Lagrangian Hessian.............: 9356\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Total number of variables............................: 3864\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: variables with only lower bounds: 667\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: variables with lower and upper bounds: 1495\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: variables with only upper bounds: 31\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Total number of equality constraints.................: 3864\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Total number of inequality constraints...............: 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: inequality constraints with only lower bounds: 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: inequality constraints with lower and upper bounds: 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: inequality constraints with only upper bounds: 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: 0 0.0000000e+00 6.79e+01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Reallocating memory for MA57: lfact (331665)\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: 1 0.0000000e+00 9.77e-01 1.41e+02 -1.0 5.95e+00 - 8.13e-01 9.85e-01h 1\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: 2 0.0000000e+00 9.25e-03 1.71e+02 -1.0 8.74e-02 - 9.90e-01 9.90e-01h 1\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: 3 0.0000000e+00 3.08e-05 2.80e+04 -1.0 6.27e-03 - 9.91e-01 9.97e-01h 1\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: 4 0.0000000e+00 3.05e-11 4.27e+03 -1.0 7.30e-04 - 1.00e+00 1.00e+00h 1\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of Iterations....: 4\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: (scaled) (unscaled)\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Constraint violation....: 3.0518305330767825e-11 3.0518305330767825e-11\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Overall NLP error.......: 3.0518305330767825e-11 3.0518305330767825e-11\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of objective function evaluations = 5\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of objective gradient evaluations = 5\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of equality constraint evaluations = 5\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of inequality constraint evaluations = 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of equality constraint Jacobian evaluations = 5\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of inequality constraint Jacobian evaluations = 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of Lagrangian Hessian evaluations = 4\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Total CPU secs in IPOPT (w/o function evaluations) = 0.260\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Total CPU secs in NLP function evaluations = 0.041\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: EXIT: Optimal Solution Found.\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_nan\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_nan\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_ext\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_ext\n", - "2024-04-24 16:45:22 [INFO] idaes.solve.petsc-dae: WARNING: model contains export suffix 'scaling_factor' that contains 93\n", - "2024-04-24 16:45:22 [INFO] idaes.solve.petsc-dae: component keys that are not exported as part of the NL file. Skipping.\n", - "2024-04-24 16:45:22 [INFO] idaes.solve.petsc-dae: Solver log file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmp69gau4jt_petsc_ts.log'\n", - "2024-04-24 16:45:22 [INFO] idaes.solve.petsc-dae: Solver solution file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpva9yq47l.pyomo.sol'\n", - "2024-04-24 16:45:22 [INFO] idaes.solve.petsc-dae: Solver problem files: ('C:\\\\Users\\\\dallan\\\\AppData\\\\Local\\\\Temp\\\\tmpva9yq47l.pyomo.nl',)\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: DAE: 1\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpva9yq47l.pyomo.nl\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of constraints: 3920\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 1795\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 2125\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of variables: 4007\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 15554 \n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Explicit time variable: 0\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of derivatives: 87\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of differential vars: 87\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of algebraic vars: 3833\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of state vars: 3920\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 0 TS dt 0.1 time 0.\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 1 TS dt 0.1 time 0.1\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 2 TS dt 0.100412 time 0.2\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 3 TS dt 1.00412 time 0.300412\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 4 TS dt 10.0412 time 1.30453\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 5 TS dt 21.1594 time 11.3457\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 6 TS dt 34.1485 time 32.5051\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 7 TS dt 56.7094 time 66.6536\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 8 TS dt 103.25 time 123.363\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 9 TS dt 205.123 time 226.612\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 10 TS dt 309.964 time 431.736\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 11 TS dt 432.696 time 741.7\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 12 TS dt 621.577 time 1174.4\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 13 TS dt 902.014 time 1795.97\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 14 TS dt 902.014 time 2697.99\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 15 TS dt 2466.59 time 3600.\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: TSConvergedReason = TS_CONVERGED_TIME\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: TS_CONVERGED_TIME\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_nan\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_nan\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_ext\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_ext\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: WARNING: model contains export suffix 'scaling_factor' that contains 170\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: component keys that are not exported as part of the NL file. Skipping.\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Solver log file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpn0tqghes_petsc_ts.log'\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Solver solution file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpk0c1pdqp.pyomo.sol'\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Solver problem files: ('C:\\\\Users\\\\dallan\\\\AppData\\\\Local\\\\Temp\\\\tmpk0c1pdqp.pyomo.nl',)\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: DAE: 1\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpk0c1pdqp.pyomo.nl\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of constraints: 3920\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 1795\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 2125\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of variables: 4007\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 15554 \n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Explicit time variable: 0\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of derivatives: 87\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of differential vars: 87\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of algebraic vars: 3833\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of state vars: 3920\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: 0 TS dt 0.1 time 3600.\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: 1 TS dt 0.1 time 3600.1\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: 2 TS dt 0.00199239 time 3600.1\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: 3 TS dt 0.0199239 time 3600.1\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: 4 TS dt 0.199239 time 3600.12\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 5 TS dt 0.697133 time 3600.32\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 6 TS dt 0.866231 time 3601.02\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 7 TS dt 1.13013 time 3601.89\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 8 TS dt 1.179 time 3603.02\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 9 TS dt 1.3192 time 3604.19\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 10 TS dt 1.33644 time 3605.51\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 11 TS dt 1.45894 time 3606.85\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 12 TS dt 1.46098 time 3608.31\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 13 TS dt 1.37246 time 3609.77\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 14 TS dt 1.48172 time 3611.14\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 15 TS dt 1.2735 time 3612.35\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 16 TS dt 1.52602 time 3613.63\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 17 TS dt 1.64143 time 3615.15\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 18 TS dt 1.5531 time 3616.8\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 19 TS dt 1.61899 time 3618.35\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 20 TS dt 1.8938 time 3619.97\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 21 TS dt 2.14371 time 3621.86\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 22 TS dt 1.95341 time 3624.01\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 23 TS dt 0.593203 time 3624.34\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 24 TS dt 2.07741 time 3624.94\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 25 TS dt 1.8343 time 3626.78\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 26 TS dt 2.34236 time 3628.62\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 27 TS dt 2.70968 time 3630.96\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 28 TS dt 3.17793 time 3633.67\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 29 TS dt 2.08994 time 3635.54\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 30 TS dt 1.32652 time 3637.01\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 31 TS dt 3.93769 time 3638.34\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 32 TS dt 3.47399 time 3641.79\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 33 TS dt 4.44515 time 3645.27\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 34 TS dt 4.54859 time 3649.71\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 35 TS dt 5.11148 time 3654.26\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 36 TS dt 5.37965 time 3659.37\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 37 TS dt 5.84736 time 3664.75\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 38 TS dt 6.21996 time 3670.6\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 39 TS dt 6.69274 time 3676.82\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 40 TS dt 7.14526 time 3683.51\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 41 TS dt 7.65699 time 3690.66\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 42 TS dt 8.18317 time 3698.31\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 43 TS dt 8.74315 time 3706.5\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 44 TS dt 9.27856 time 3715.24\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 45 TS dt 9.68853 time 3724.52\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 46 TS dt 9.77885 time 3734.21\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 47 TS dt 9.92111 time 3743.99\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 48 TS dt 8.33461 time 3752.18\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 49 TS dt 8.96337 time 3760.51\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 50 TS dt 9.29772 time 3769.48\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 51 TS dt 9.60548 time 3778.77\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 52 TS dt 11.0593 time 3788.38\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 53 TS dt 9.88706 time 3797.26\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 54 TS dt 9.88436 time 3807.15\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 55 TS dt 7.55235 time 3814.54\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 56 TS dt 9.65705 time 3822.09\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 57 TS dt 11.0499 time 3831.75\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 58 TS dt 12.2975 time 3842.8\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 59 TS dt 12.6609 time 3855.1\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: 60 TS dt 13.9163 time 3859.75\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: 61 TS dt 10.4683 time 3870.54\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: 62 TS dt 9.49383 time 3881.01\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: 63 TS dt 9.49383 time 3890.51\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: 64 TS dt 14.0081 time 3900.\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: TSConvergedReason = TS_CONVERGED_TIME\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: TS_CONVERGED_TIME\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_nan\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_nan\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_ext\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_ext\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: WARNING: model contains export suffix 'scaling_factor' that contains 170\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: component keys that are not exported as part of the NL file. Skipping.\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Solver log file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmp3wnf4q2o_petsc_ts.log'\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Solver solution file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpcy91h9f0.pyomo.sol'\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Solver problem files: ('C:\\\\Users\\\\dallan\\\\AppData\\\\Local\\\\Temp\\\\tmpcy91h9f0.pyomo.nl',)\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: DAE: 1\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpcy91h9f0.pyomo.nl\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of constraints: 3920\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 1795\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 2125\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of variables: 4007\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 15554 \n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Explicit time variable: 0\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of derivatives: 87\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of differential vars: 87\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of algebraic vars: 3833\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of state vars: 3920\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: 0 TS dt 0.1 time 3900.\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: 1 TS dt 0.1 time 3900.1\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: 2 TS dt 1. time 3900.2\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 3 TS dt 2.86361 time 3901.2\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 4 TS dt 3.11474 time 3904.06\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 5 TS dt 3.95219 time 3907.18\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 6 TS dt 4.26539 time 3911.13\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 7 TS dt 4.68321 time 3915.4\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 8 TS dt 4.75843 time 3920.08\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 9 TS dt 4.77214 time 3924.84\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 10 TS dt 4.57975 time 3929.61\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 11 TS dt 5.10332 time 3934.19\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 12 TS dt 5.83254 time 3939.29\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 13 TS dt 6.72867 time 3945.13\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 14 TS dt 7.50262 time 3951.85\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 15 TS dt 8.77609 time 3959.36\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 16 TS dt 9.95946 time 3968.13\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 17 TS dt 11.4862 time 3978.09\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 18 TS dt 13.2173 time 3989.58\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 19 TS dt 15.4588 time 4002.8\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 20 TS dt 18.2767 time 4018.25\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 21 TS dt 21.855 time 4036.53\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 22 TS dt 25.9265 time 4058.39\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 23 TS dt 29.7008 time 4084.31\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 24 TS dt 32.3941 time 4114.01\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 25 TS dt 34.1498 time 4146.41\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 26 TS dt 34.3963 time 4180.56\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 27 TS dt 37.1487 time 4214.95\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 28 TS dt 37.9342 time 4252.1\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 29 TS dt 40.3768 time 4290.04\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 30 TS dt 42.4218 time 4330.41\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 31 TS dt 45.0908 time 4372.84\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 32 TS dt 47.3702 time 4417.93\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 33 TS dt 49.135 time 4465.3\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 34 TS dt 49.6503 time 4514.43\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 35 TS dt 51.6702 time 4564.08\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 36 TS dt 53.1554 time 4615.75\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 37 TS dt 54.6803 time 4668.91\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 38 TS dt 61.8766 time 4723.59\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 39 TS dt 62.3182 time 4785.46\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 40 TS dt 78.6399 time 4847.78\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 41 TS dt 82.7293 time 4926.42\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 42 TS dt 90.4869 time 5009.15\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 43 TS dt 89.7949 time 5099.64\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 44 TS dt 85.7202 time 5189.43\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 45 TS dt 88.4188 time 5275.15\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 46 TS dt 91.9337 time 5363.57\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 47 TS dt 90.9639 time 5455.51\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 48 TS dt 99.5246 time 5546.47\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 49 TS dt 108.67 time 5645.99\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 50 TS dt 120.748 time 5754.66\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 51 TS dt 132.47 time 5875.41\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 52 TS dt 145.985 time 6007.88\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 53 TS dt 160.665 time 6153.87\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 54 TS dt 177.438 time 6314.53\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 55 TS dt 192.168 time 6491.97\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 56 TS dt 221.56 time 6684.14\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 57 TS dt 250.729 time 6905.7\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 58 TS dt 292.659 time 7156.43\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 59 TS dt 342.344 time 7449.09\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 60 TS dt 396.307 time 7791.43\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 61 TS dt 387.849 time 8187.74\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 62 TS dt 347.808 time 8474.05\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 63 TS dt 289.931 time 8626.27\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 64 TS dt 219.289 time 8708.2\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 65 TS dt 202.344 time 8927.49\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 66 TS dt 211.265 time 9055.82\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 67 TS dt 43.6911 time 9087.46\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 68 TS dt 97.1116 time 9131.15\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 69 TS dt 116.121 time 9228.26\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 70 TS dt 163.226 time 9344.39\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 71 TS dt 202.871 time 9507.61\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 72 TS dt 262.974 time 9710.48\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 73 TS dt 295.993 time 9973.46\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 74 TS dt 275.494 time 10269.4\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 75 TS dt 277.528 time 10544.9\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 76 TS dt 277.528 time 10822.5\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 77 TS dt 405.82 time 11100.\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: TSConvergedReason = TS_CONVERGED_TIME\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: TS_CONVERGED_TIME\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_nan\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_nan\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_ext\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_ext\n", - "2024-04-24 16:45:50 [INFO] idaes.solve.petsc-dae: WARNING: model contains export suffix 'scaling_factor' that contains 170\n", - "2024-04-24 16:45:50 [INFO] idaes.solve.petsc-dae: component keys that are not exported as part of the NL file. Skipping.\n", - "2024-04-24 16:45:50 [INFO] idaes.solve.petsc-dae: Solver log file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmp89d3otha_petsc_ts.log'\n", - "2024-04-24 16:45:50 [INFO] idaes.solve.petsc-dae: Solver solution file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpumhqgnkw.pyomo.sol'\n", - "2024-04-24 16:45:50 [INFO] idaes.solve.petsc-dae: Solver problem files: ('C:\\\\Users\\\\dallan\\\\AppData\\\\Local\\\\Temp\\\\tmpumhqgnkw.pyomo.nl',)\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: DAE: 1\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpumhqgnkw.pyomo.nl\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of constraints: 3920\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 1795\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 2125\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of variables: 4007\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 15554 \n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Explicit time variable: 0\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of derivatives: 87\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of differential vars: 87\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of algebraic vars: 3833\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of state vars: 3920\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 0 TS dt 0.1 time 11100.\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 1 TS dt 0.1 time 11100.1\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 2 TS dt 0.00392524 time 11100.1\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 3 TS dt 0.0392524 time 11100.1\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 4 TS dt 0.392524 time 11100.1\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 5 TS dt 0.760703 time 11100.5\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 6 TS dt 1.01241 time 11101.3\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 7 TS dt 0.967184 time 11102.2\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 8 TS dt 0.999746 time 11103.2\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 9 TS dt 0.924929 time 11104.\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 10 TS dt 0.866639 time 11104.9\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 11 TS dt 0.915231 time 11105.8\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 12 TS dt 0.858768 time 11106.7\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 13 TS dt 1.16546 time 11107.6\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 14 TS dt 1.0729 time 11108.7\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 15 TS dt 1.40736 time 11109.8\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 16 TS dt 1.47697 time 11111.2\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 17 TS dt 1.55373 time 11112.7\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 18 TS dt 1.4277 time 11114.\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 19 TS dt 1.07175 time 11115.\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 20 TS dt 1.32123 time 11116.1\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 21 TS dt 1.26966 time 11117.4\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 22 TS dt 0.929849 time 11118.2\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 23 TS dt 0.37561 time 11118.5\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 24 TS dt 1.3944 time 11118.9\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 25 TS dt 1.43845 time 11120.3\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 26 TS dt 1.90206 time 11121.7\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 27 TS dt 1.81077 time 11123.6\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 28 TS dt 1.79649 time 11125.4\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 29 TS dt 1.70313 time 11127.2\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 30 TS dt 1.8855 time 11128.9\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 31 TS dt 1.85638 time 11130.8\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 32 TS dt 1.85523 time 11132.7\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 33 TS dt 1.73671 time 11134.5\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 34 TS dt 1.64306 time 11136.2\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 35 TS dt 1.52316 time 11137.9\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 36 TS dt 1.41285 time 11139.2\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 37 TS dt 1.57227 time 11139.7\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 38 TS dt 0.96963 time 11140.2\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 39 TS dt 0.78644 time 11140.8\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 40 TS dt 0.705073 time 11141.5\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 41 TS dt 0.621216 time 11142.\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 42 TS dt 0.62459 time 11142.6\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 43 TS dt 0.63664 time 11143.2\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 44 TS dt 0.690959 time 11143.5\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 45 TS dt 0.430777 time 11144.\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 46 TS dt 0.410148 time 11144.4\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 47 TS dt 0.856631 time 11144.9\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 48 TS dt 0.949106 time 11145.1\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 49 TS dt 0.570639 time 11145.5\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 50 TS dt 0.657937 time 11146.1\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 51 TS dt 0.756228 time 11146.8\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 52 TS dt 0.960609 time 11147.5\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 53 TS dt 1.03942 time 11148.2\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 54 TS dt 0.73841 time 11148.8\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 55 TS dt 0.723736 time 11149.6\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 56 TS dt 1.3136 time 11150.3\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 57 TS dt 1.44703 time 11151.6\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 58 TS dt 1.78016 time 11153.1\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 59 TS dt 1.79591 time 11154.8\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 60 TS dt 1.70487 time 11156.6\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 61 TS dt 1.63852 time 11157.6\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 62 TS dt 0.894779 time 11158.4\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 63 TS dt 0.904928 time 11159.3\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 64 TS dt 1.51786 time 11160.2\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 65 TS dt 1.79934 time 11161.7\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 66 TS dt 2.19124 time 11163.5\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 67 TS dt 2.39088 time 11165.7\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 68 TS dt 2.77663 time 11168.1\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 69 TS dt 2.98602 time 11170.9\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 70 TS dt 3.19428 time 11173.9\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 71 TS dt 3.17037 time 11177.1\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 72 TS dt 3.2767 time 11180.2\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 73 TS dt 3.70518 time 11183.5\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 74 TS dt 3.9439 time 11187.2\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 75 TS dt 4.1184 time 11191.1\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 76 TS dt 4.51077 time 11195.3\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 77 TS dt 4.73 time 11199.8\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 78 TS dt 4.95553 time 11204.5\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 79 TS dt 5.05272 time 11209.5\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 80 TS dt 5.07776 time 11214.5\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 81 TS dt 5.05502 time 11219.6\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 82 TS dt 5.05021 time 11224.6\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 83 TS dt 5.29358 time 11229.7\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 84 TS dt 5.52422 time 11235.\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 85 TS dt 5.70998 time 11240.5\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 86 TS dt 5.77308 time 11246.2\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 87 TS dt 5.68832 time 11252.\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 88 TS dt 5.21191 time 11257.7\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 89 TS dt 5.52452 time 11262.9\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 90 TS dt 5.08208 time 11267.8\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 91 TS dt 6.0966 time 11269.7\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 92 TS dt 4.47115 time 11271.1\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 93 TS dt 4.46473 time 11271.8\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 94 TS dt 1.64611 time 11273.5\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 95 TS dt 3.11947 time 11275.2\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 96 TS dt 3.69342 time 11278.3\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 97 TS dt 4.85562 time 11282.\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 98 TS dt 4.86391 time 11286.8\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 99 TS dt 4.74083 time 11290.1\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 100 TS dt 3.88706 time 11291.9\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 101 TS dt 2.36784 time 11293.1\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 102 TS dt 3.04988 time 11295.5\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 103 TS dt 3.79675 time 11297.4\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 104 TS dt 3.41211 time 11299.4\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 105 TS dt 5.09485 time 11302.8\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 106 TS dt 6.30524 time 11307.9\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 107 TS dt 7.14277 time 11314.2\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 108 TS dt 6.97261 time 11321.4\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 109 TS dt 6.92383 time 11328.4\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 110 TS dt 6.31828 time 11335.3\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 111 TS dt 5.49724 time 11340.5\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 112 TS dt 4.90343 time 11345.5\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 113 TS dt 5.24546 time 11350.4\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 114 TS dt 5.37157 time 11355.6\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 115 TS dt 5.08981 time 11361.\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 116 TS dt 5.15951 time 11366.1\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 117 TS dt 4.68969 time 11371.2\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 118 TS dt 4.69922 time 11375.9\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 119 TS dt 4.35928 time 11380.6\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 120 TS dt 4.01346 time 11385.\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 121 TS dt 3.60641 time 11388.5\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 122 TS dt 3.18203 time 11391.7\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 123 TS dt 2.78627 time 11394.4\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 124 TS dt 1.58852 time 11396.8\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 125 TS dt 1.58852 time 11398.4\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 126 TS dt 1.90429 time 11400.\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: TSConvergedReason = TS_CONVERGED_TIME\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: TS_CONVERGED_TIME\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_nan\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_nan\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_ext\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_ext\n", - "2024-04-24 16:46:08 [INFO] idaes.solve.petsc-dae: WARNING: model contains export suffix 'scaling_factor' that contains 170\n", - "2024-04-24 16:46:08 [INFO] idaes.solve.petsc-dae: component keys that are not exported as part of the NL file. Skipping.\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Solver log file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpendl44cj_petsc_ts.log'\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Solver solution file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpson30_9f.pyomo.sol'\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Solver problem files: ('C:\\\\Users\\\\dallan\\\\AppData\\\\Local\\\\Temp\\\\tmpson30_9f.pyomo.nl',)\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: DAE: 1\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpson30_9f.pyomo.nl\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of constraints: 3920\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 1795\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 2125\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of variables: 4007\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 15554 \n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Explicit time variable: 0\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of derivatives: 87\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of differential vars: 87\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of algebraic vars: 3833\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of state vars: 3920\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 0 TS dt 0.1 time 11400.\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 1 TS dt 0.1 time 11400.1\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 2 TS dt 1. time 11400.2\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 3 TS dt 1.73678 time 11401.2\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 4 TS dt 2.23341 time 11402.9\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 5 TS dt 2.51853 time 11405.2\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 6 TS dt 2.72979 time 11407.7\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 7 TS dt 2.94331 time 11410.4\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 8 TS dt 3.1084 time 11413.4\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 9 TS dt 3.33766 time 11416.5\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 10 TS dt 3.65145 time 11419.8\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 11 TS dt 3.92962 time 11423.5\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 12 TS dt 4.4225 time 11427.4\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 13 TS dt 4.87494 time 11431.8\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 14 TS dt 5.42871 time 11436.7\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 15 TS dt 5.98195 time 11442.1\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 16 TS dt 6.92855 time 11448.1\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 17 TS dt 8.07333 time 11455.\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 18 TS dt 9.63979 time 11463.1\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 19 TS dt 11.702 time 11472.7\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 20 TS dt 14.5291 time 11484.4\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 21 TS dt 18.1896 time 11499.\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 22 TS dt 22.203 time 11517.2\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 23 TS dt 25.5942 time 11539.4\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 24 TS dt 28.4541 time 11565.\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 25 TS dt 30.7952 time 11593.4\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 26 TS dt 32.9926 time 11624.2\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 27 TS dt 34.8988 time 11657.2\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 28 TS dt 37.5398 time 11692.1\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 29 TS dt 41.8031 time 11729.6\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 30 TS dt 47.4503 time 11771.4\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 31 TS dt 53.673 time 11818.9\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 32 TS dt 60.8933 time 11872.6\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 33 TS dt 69.4519 time 11933.5\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 34 TS dt 77.8654 time 12002.9\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 35 TS dt 85.3528 time 12080.8\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 36 TS dt 92.584 time 12166.1\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 37 TS dt 99.6879 time 12258.7\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 38 TS dt 107.395 time 12358.4\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 39 TS dt 115.883 time 12465.8\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 40 TS dt 125.805 time 12581.7\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 41 TS dt 136.484 time 12707.5\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 42 TS dt 146.675 time 12844.\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 43 TS dt 154.432 time 12990.6\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 44 TS dt 158.051 time 13145.1\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 45 TS dt 156.722 time 13303.1\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 46 TS dt 161.592 time 13459.8\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 47 TS dt 169.876 time 13621.4\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 48 TS dt 175.501 time 13791.3\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 49 TS dt 177.773 time 13966.8\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 50 TS dt 195.829 time 14144.6\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 51 TS dt 209.215 time 14340.4\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 52 TS dt 228.235 time 14549.6\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 53 TS dt 245.428 time 14777.9\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 54 TS dt 265.796 time 15023.3\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 55 TS dt 286.41 time 15289.1\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 56 TS dt 309.614 time 15575.5\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 57 TS dt 336.559 time 15885.1\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 58 TS dt 370.237 time 16221.7\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 59 TS dt 418.152 time 16591.9\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 60 TS dt 475.299 time 17010.1\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 61 TS dt 548.284 time 17485.4\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 62 TS dt 640.182 time 18033.6\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 63 TS dt 756.084 time 18673.8\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 64 TS dt 900.068 time 19429.9\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 65 TS dt 935.01 time 20330.\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 66 TS dt 935.01 time 21265.\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 67 TS dt 1415.01 time 22200.\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: TSConvergedReason = TS_CONVERGED_TIME\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: TS_CONVERGED_TIME\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_nan\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_nan\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_ext\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_ext\n" - ] - } - ], - "source": [ - "idaeslog.solver_log.tee = True\n", - "results = petsc.petsc_dae_by_time_element(\n", - " m,\n", - " time=m.fs.time,\n", - " keepfiles=True,\n", - " symbolic_solver_labels=True,\n", - " ts_options={\n", - " \"--ts_type\": \"beuler\",\n", - " \"--ts_dt\": 0.1,\n", - " \"--ts_rtol\": 1e-3,\n", - " # \"--ts_adapt_clip\":\"0.001,3600\",\n", - " # \"--ksp_monitor\":\"\",\n", - " \"--ts_adapt_dt_min\": 1e-3,\n", - " \"--ts_adapt_dt_max\": 3600,\n", - " \"--snes_type\": \"newtontr\",\n", - " # \"--ts_max_reject\": 200,\n", - " # \"--snes_monitor\":\"\",\n", - " \"--ts_monitor\": \"\",\n", - " \"--ts_save_trajectory\": 1,\n", - " \"--ts_trajectory_type\": \"visualization\",\n", - " \"--ts_max_snes_failures\": 25,\n", - " # \"--show_cl\":\"\",\n", - " \"-snes_max_it\": 50,\n", - " \"-snes_rtol\": 0,\n", - " \"-snes_stol\": 0,\n", - " \"-snes_atol\": 1e-6,\n", - " },\n", - " skip_initial=False,\n", - " initial_solver=\"ipopt\",\n", - " initial_solver_options={\n", - " \"constr_viol_tol\": 1e-8,\n", - " \"nlp_scaling_method\": \"user-scaling\",\n", - " \"linear_solver\": \"ma57\",\n", - " \"OF_ma57_automatic_scaling\": \"yes\",\n", - " \"max_iter\": 300,\n", - " \"tol\": 1e-8,\n", - " \"halt_on_ampl_error\": \"no\",\n", - " },\n", - ")\n", - "for result in results.results:\n", - " pyo.assert_optimal_termination(result)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Load certain variables into a dictionary for plotting convenience." - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "ramp_list = np.array(m.fs.time)[1:]\n", - "traj = results.trajectory\n", - "\n", - "time_set = m.fs.time.ordered_data()\n", - "tf = time_set[-1]\n", - "soec = m.fs.soc_module.solid_oxide_cell\n", - "\n", - "results_dict = {\n", - " \"ramp_list\": np.array(ramp_list),\n", - " \"time\": np.array(traj.time),\n", - " \"potential\": np.array(traj.vecs[str(soec.potential[tf])]),\n", - " \"current\": np.array(traj.vecs[str(m.fs.soc_module.total_current[tf])]),\n", - " \"soec_fuel_inlet_flow\": np.array(\n", - " traj.vecs[str(m.fs.soc_module.fuel_inlet.flow_mol[tf])]\n", - " ),\n", - " \"soec_oxygen_inlet_flow\": np.array(\n", - " traj.vecs[str(m.fs.soc_module.oxygen_inlet.flow_mol[tf])]\n", - " ),\n", - " \"fuel_heater_duty\": np.array(\n", - " traj.vecs[str(m.fs.feed_heater.electric_heat_duty[tf])]\n", - " ),\n", - " \"sweep_heater_duty\": np.array(\n", - " traj.vecs[str(m.fs.sweep_heater.electric_heat_duty[tf])]\n", - " ),\n", - " \"fuel_inlet_H2\": np.array(traj.vecs[str(soec.fuel_inlet.mole_frac_comp[tf, \"H2\"])]),\n", - " \"fuel_inlet_H2O\": np.array(\n", - " traj.vecs[str(soec.fuel_inlet.mole_frac_comp[tf, \"H2O\"])]\n", - " ),\n", - " \"fuel_outlet_H2O\": np.array(\n", - " traj.vecs[\n", - " str(\n", - " soec.fuel_channel.mole_frac_comp[\n", - " tf,\n", - " soec.iznodes.last(),\n", - " \"H2O\",\n", - " ]\n", - " )\n", - " ]\n", - " ),\n", - " \"sweep_inlet_O2\": np.array(\n", - " traj.vecs[str(soec.oxygen_inlet.mole_frac_comp[tf, \"O2\"])]\n", - " ),\n", - " \"sweep_outlet_O2\": np.array(\n", - " traj.vecs[\n", - " str(soec.oxygen_channel.mole_frac_comp[tf, soec.iznodes.first(), \"O2\"])\n", - " ]\n", - " ),\n", - " \"H2_production\": np.array(traj.vecs[str(m.fs.h2_mass_production[tf])]),\n", - " \"fuel_outlet_mole_frac_comp_H2\": np.array(\n", - " traj.vecs[str(m.fs.soc_module.fuel_outlet_mole_frac_comp_H2[tf])]\n", - " ),\n", - " \"steam_feed_rate\": np.array(traj.vecs[str(m.fs.makeup_mix.makeup.flow_mol[tf])]),\n", - " \"sweep_feed_rate\": np.array(traj.vecs[str(m.fs.sweep_blower.inlet.flow_mol[tf])]),\n", - " \"total_electric_power\": np.array(traj.vecs[str(m.fs.total_electric_power[tf])]),\n", - " \"fuel_inlet_temperature\": np.array(\n", - " traj.vecs[str(soec.fuel_channel.temperature_inlet[tf])]\n", - " ),\n", - " \"sweep_inlet_temperature\": np.array(\n", - " traj.vecs[str(soec.oxygen_channel.temperature_inlet[tf])]\n", - " ),\n", - " \"stack_core_temperature\": np.array(traj.vecs[str(m.fs.stack_core_temperature[tf])]),\n", - " \"fuel_outlet_temperature\": np.array(\n", - " traj.vecs[str(soec.fuel_channel.temperature_outlet[tf])]\n", - " ),\n", - " \"sweep_outlet_temperature\": np.array(\n", - " traj.vecs[str(soec.oxygen_channel.temperature_outlet[tf])]\n", - " ),\n", - " \"product_mole_frac_H2\": np.array(\n", - " traj.vecs[str(m.fs.condenser_split.inlet.mole_frac_comp[tf, \"H2\"])]\n", - " ),\n", - " \"condenser_outlet_temperature\": np.array(\n", - " traj.vecs[\n", - " str(m.fs.condenser_flash.control_volume.properties_out[tf].temperature)\n", - " ]\n", - " ),\n", - " \"condenser_heat_duty\": np.array(traj.vecs[str(m.fs.condenser_flash.heat_duty[tf])]),\n", - " \"temperature_z\": np.array(\n", - " [traj.vecs[str(soec.temperature_z[tf, iz])] for iz in soec.iznodes]\n", - " ),\n", - " \"fuel_electrode_temperature_deviation_x\": np.array(\n", - " [\n", - " traj.vecs[str(soec.fuel_electrode.temperature_deviation_x[tf, 1, iz])]\n", - " for iz in soec.iznodes\n", - " ]\n", - " ),\n", - " \"interconnect_temperature_deviation_x\": np.array(\n", - " [\n", - " traj.vecs[str(soec.interconnect.temperature_deviation_x[tf, 1, iz])]\n", - " for iz in soec.iznodes\n", - " ]\n", - " ),\n", - " \"temperature_z_gradient\": np.array(\n", - " [traj.vecs[str(soec.dtemperature_z_dz[tf, iz])] for iz in soec.iznodes]\n", - " ),\n", - " \"fuel_electrode_gradient\": np.array(\n", - " [\n", - " traj.vecs[str(soec.fuel_electrode.dtemperature_dz[tf, 1, iz])]\n", - " for iz in soec.iznodes\n", - " ]\n", - " ),\n", - " \"fuel_electrode_mixed_partial\": np.array(\n", - " [\n", - " traj.vecs[str(soec.fuel_electrode.d2temperature_dzdt_dummy[tf, 1, iz])]\n", - " for iz in soec.iznodes\n", - " ]\n", - " ),\n", - " \"interconnect_gradient\": np.array(\n", - " [\n", - " traj.vecs[str(soec.interconnect.dtemperature_dz[tf, 1, iz])]\n", - " for iz in soec.iznodes\n", - " ]\n", - " ),\n", - " \"current_density\": np.array(\n", - " [traj.vecs[str(soec.current_density[tf, iz])] for iz in soec.iznodes]\n", - " ),\n", - " \"feed_heater_temperature\": np.array(\n", - " [\n", - " traj.vecs[str(m.fs.feed_heater.temp_wall_center[tf, z])]\n", - " for z in m.fs.feed_heater.control_volume.length_domain\n", - " ]\n", - " ),\n", - " \"sweep_heater_temperature\": np.array(\n", - " [\n", - " traj.vecs[str(m.fs.sweep_heater.temp_wall_center[tf, z])]\n", - " for z in m.fs.sweep_heater.control_volume.length_domain\n", - " ]\n", - " ),\n", - " \"feed_medium_exchanger_temperature\": np.array(\n", - " [\n", - " traj.vecs[str(m.fs.feed_medium_exchanger.temp_wall_center[tf, z])]\n", - " for z in m.fs.feed_medium_exchanger.cold_side.length_domain\n", - " ]\n", - " ),\n", - " \"feed_hot_exchanger_temperature\": np.array(\n", - " [\n", - " traj.vecs[str(m.fs.feed_hot_exchanger.temp_wall_center[tf, z])]\n", - " for z in m.fs.feed_hot_exchanger.cold_side.length_domain\n", - " ]\n", - " ),\n", - " \"sweep_exchanger_temperature\": np.array(\n", - " [\n", - " traj.vecs[str(m.fs.sweep_exchanger.temp_wall_center[tf, z])]\n", - " for z in m.fs.sweep_exchanger.cold_side.length_domain\n", - " ]\n", - " ),\n", - "}\n", - "\n", - "for controller in m.fs.controller_set:\n", - " ctrl_name = controller.local_name\n", - " results_dict[ctrl_name + \"_mv_ref\"] = np.array(\n", - " traj.vecs[str(controller.mv_ref[tf])]\n", - " )\n", - " results_dict[ctrl_name + \"_setpoint\"] = np.array(\n", - " traj.vecs[str(controller.setpoint[tf])]\n", - " )" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "from pytest import approx\n", - "\n", - "assert pyo.value(m.fs.soc_module.total_current[tf]) == approx(\n", - " -191441759.6695978, rel=1e-3\n", - ")\n", - "assert pyo.value(m.fs.soc_module.fuel_inlet.temperature[tf]) == approx(\n", - " 940.5460355948476, abs=1e-1\n", - ")\n", - "assert pyo.value(m.fs.soc_module.fuel_outlet.temperature[tf]) == approx(\n", - " 986.3603295602375, abs=1e-1\n", - ")\n", - "assert pyo.value(m.fs.soc_module.oxygen_inlet.temperature[tf]) == approx(\n", - " 969.8965765691661, abs=1e-1\n", - ")\n", - "assert pyo.value(m.fs.soc_module.oxygen_outlet.temperature[tf]) == approx(\n", - " 985.4405065934872, abs=1e-1\n", - ")\n", - "assert pyo.value(m.fs.feed_heater.electric_heat_duty[tf]) == approx(\n", - " 573750.5022036476, rel=1e-3\n", - ")\n", - "assert pyo.value(m.fs.sweep_heater.electric_heat_duty[tf]) == approx(\n", - " 1446426.4849774062, rel=1e-3\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Here we plot a number of system variables that we use to gauge system performance. The user is free to adapt this code to view other variables of interest." - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "def _demarcate_ramps(ax, results_dict):\n", - " for tpoint in np.squeeze(results_dict[\"ramp_list\"])[:-1]:\n", - " ax.plot(np.array([tpoint, tpoint]) / 60**2, [-1e6, 1e6], \"k--\")" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The `OperatingScenario` `Enum` allows the user to select which initial condition to use. The functions are helper functions for later." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "class OperatingScenario(Enum):\n", + " maximum_production = 1\n", + " power_mode = 2\n", + "\n", + "\n", + "def scale_indexed_constraint(con, sf):\n", + " for idx, c in con.items():\n", + " iscale.constraint_scaling_transform(c, sf)\n", + "\n", + "\n", + "def set_indexed_variable_bounds(var, bounds):\n", + " for idx, subvar in var.items():\n", + " subvar.bounds = bounds\n", + "\n", + "\n", + "def create_ramping_eqns(fs, vars, time_scaling_factor=1):\n", + " def rule_ramp(b, t, dvdt, v_ramp):\n", + " return dvdt[t] == v_ramp[t]\n", + "\n", + " t0 = fs.time.first()\n", + "\n", + " for var in vars:\n", + " var.unfix()\n", + " shortname = var.name.split(\".\")[-1]\n", + " blk = var.parent_block()\n", + " dvdt = DerivativeVar(var, wrt=fs.time, initialize=0)\n", + " setattr(blk, \"d\" + shortname + \"dt\", dvdt)\n", + " v_ramp = pyo.Var(fs.time, initialize=0)\n", + " setattr(blk, shortname + \"_ramp_rate\", v_ramp)\n", + " v_ramp_eqn = pyo.Constraint(\n", + " fs.time, rule=lambda b, t: rule_ramp(b, t, dvdt, v_ramp)\n", + " )\n", + " setattr(blk, shortname + \"_ramp_rate_eqn\", v_ramp_eqn)\n", + " for t in fs.time:\n", + " sv = iscale.get_scaling_factor(var[t], default=1)\n", + " iscale.set_scaling_factor(dvdt[t], sv / time_scaling_factor)\n", + " iscale.set_scaling_factor(v_ramp[t], sv / time_scaling_factor)\n", + " iscale.constraint_scaling_transform(v_ramp_eqn[t], sv / time_scaling_factor)\n", + "\n", + " v_ramp_eqn[t0].deactivate()\n", + " v_ramp[t0].fix(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We begin by ramping from the maximum H2 production setpoint to maximum power production. The ramp starts at one hour, the ramp lasts five minutes, the system is allowed to settle at maximum power mode for two hours, there is another five minute ramp back to maximum H2 production, then the system is given three hours to settle at the end." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "operating_scenario = OperatingScenario.maximum_production\n", + "m = pyo.ConcreteModel()\n", + "t_start = 1 * 60 * 60\n", + "t_ramp = 5 * 60\n", + "t_settle = 2 * 60 * 60\n", + "t_end = 3 * 60 * 60\n", + "\n", + "dt_set = [t_start, t_ramp, t_settle, t_ramp, t_end]\n", + "\n", + "time_set = [sum(dt_set[:j]) for j in range(len(dt_set) + 1)]\n", + "\n", + "# The names here correspond to the row names in\n", + "# soec_flowsheet_operating_conditions.csv\n", + "# There should be len(time_set) entries here.\n", + "# We start simulating a period at maximum production\n", + "# in order to confirm the system is at steady state.\n", + "if operating_scenario == OperatingScenario.maximum_production:\n", + " setpoints = [\n", + " \"maximum_H2\",\n", + " \"maximum_H2\",\n", + " \"power\",\n", + " \"power\",\n", + " \"maximum_H2\",\n", + " \"maximum_H2\",\n", + " ]\n", + "elif operating_scenario == OperatingScenario.power_mode:\n", + " setpoints = [\n", + " \"power\",\n", + " \"power\",\n", + " \"maximum_H2\",\n", + " \"maximum_H2\",\n", + " \"power\",\n", + " \"power\",\n", + " ]\n", + "else:\n", + " raise RuntimeError(\"Please choose a valid operating scenario\")\n", + "\n", + "m.fs = SocFlowsheet(\n", + " dynamic=True,\n", + " time_set=time_set,\n", + " time_units=pyo.units.s,\n", + " thin_electrolyte_and_oxygen_electrode=True,\n", + " include_interconnect=True,\n", + ")\n", + "scaling_log = idaeslog.getLogger(\"idaes.core.util.scaling\")\n", + "scaling_log.setLevel(idaeslog.ERROR)\n", + "iscale.calculate_scaling_factors(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Interior point solvers like IPOPT have difficulties when unconstrained solutions occur too close to variable bounds. We therefore strip bounds from some variables that previous simulations have shown to be causing problems." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "for t in m.fs.time:\n", + " m.fs.condenser_flash.control_volume.properties_in[t].flow_mol_phase[\n", + " \"Liq\"\n", + " ].domain = pyo.Reals\n", + " m.fs.condenser_flash.control_volume.properties_in[t].flow_mol_phase[\n", + " \"Liq\"\n", + " ].bounds = (None, None)\n", + " m.fs.condenser_flash.control_volume.properties_in[t].phase_frac[\n", + " \"Liq\"\n", + " ].domain = pyo.Reals\n", + " m.fs.condenser_flash.control_volume.properties_in[t].phase_frac[\"Liq\"].bounds = (\n", + " None,\n", + " None,\n", + " )\n", + " for var in [\n", + " m.fs.condenser_flash.control_volume.properties_in[t].log_mole_frac_tdew,\n", + " m.fs.condenser_flash.control_volume.properties_in[t]._mole_frac_tdew,\n", + " ]:\n", + " for idx in var.index_set():\n", + " var[idx].domain = pyo.Reals\n", + " var[idx].bounds = (None, None)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. Process Control\n", + "\n", + "Now we add controllers to the flowsheet. The flowsheet has a helper function, `add_controllers` that adds the controllers if passed a `ComponentMap` that maps manipulated variables (MVs) to tuples that specify the controller. The tuple contains the controller name, the corresponding controlled variable (CV), the type of controller used, the way the controller handles MV bounds, and the antiwindup method.\n", + "\n", + "We restrict ourselves to using P and PI controllers, because derivative action is severely degraded by noise, but PETSc cannot incorporate noise into its simulations.\n", + "\n", + "Controllers can either have no bounds with the `NONE` option (which may result in use of unphysical controls), the `SMOOTH_BOUND` option which uses smooth max and min functions in order to keep the MV within certain thresholds, and the `LOGISTIC` option, which uses a logistic function to keep the MV within bounds. The `LOGISTIC` option is a worse representation of an actual thresholding function than `SMOOTH_BOUND` but may be easier for integrators to handle.\n", + "\n", + "When both variable bounds and integral action are present, integral windup is a problem. If one uses the `NONE` option, no antiwindup is used. If one uses the `CONDITIONAL_INTEGRATION` method, setpoint error does not integrate when the system is at its bounds. This method is relatively easy to implement but the transition between integrating and not integrating causes integrators to slow down significantly. The `BACK_CALCULATION` method subtracts an amount proportional to the difference between the current MV value and the value that the controller would use without variable bounds from the integrated error. This method gives better performance (and is much easier to integrate) than `CONDITIONAL_INTEGRATION`, but it requires a back calculation gain term to be chosen." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "antiwindup = ControllerAntiwindupType.BACK_CALCULATION\n", + "inner_controller_pairs = ComponentMap()\n", + "inner_controller_pairs[m.fs.feed_heater.electric_heat_duty] = (\n", + " \"feed_heater_inner_controller\",\n", + " m.fs.soc_module.fuel_inlet.temperature,\n", + " ControllerType.PI,\n", + " ControllerMVBoundType.SMOOTH_BOUND,\n", + " antiwindup,\n", + ")\n", + "inner_controller_pairs[m.fs.sweep_heater.electric_heat_duty] = (\n", + " \"sweep_heater_inner_controller\",\n", + " m.fs.soc_module.oxygen_inlet.temperature,\n", + " ControllerType.PI,\n", + " ControllerMVBoundType.SMOOTH_BOUND,\n", + " antiwindup,\n", + ")\n", + "m.fs.add_controllers(inner_controller_pairs)\n", + "\n", + "variable_pairs = ComponentMap()\n", + "variable_pairs[m.fs.feed_heater_inner_controller.setpoint] = (\n", + " \"feed_heater_outer_controller\",\n", + " m.fs.soc_module.fuel_outlet.temperature,\n", + " ControllerType.P,\n", + " ControllerMVBoundType.NONE,\n", + " ControllerAntiwindupType.NONE,\n", + ")\n", + "variable_pairs[m.fs.sweep_heater_inner_controller.setpoint] = (\n", + " \"sweep_heater_outer_controller\",\n", + " m.fs.soc_module.oxygen_outlet.temperature,\n", + " ControllerType.P,\n", + " ControllerMVBoundType.NONE,\n", + " ControllerAntiwindupType.NONE,\n", + ")\n", + "variable_pairs[m.fs.soc_module.potential_cell] = (\n", + " \"voltage_controller\",\n", + " m.fs.soc_module.fuel_outlet_mole_frac_comp_H2,\n", + " ControllerType.PI,\n", + " ControllerMVBoundType.SMOOTH_BOUND,\n", + " antiwindup,\n", + ")\n", + "variable_pairs[m.fs.sweep_blower.inlet.flow_mol] = (\n", + " \"sweep_blower_controller\",\n", + " m.fs.stack_core_temperature,\n", + " ControllerType.P,\n", + " ControllerMVBoundType.SMOOTH_BOUND,\n", + " # antiwindup,\n", + " ControllerAntiwindupType.NONE,\n", + ")\n", + "variable_pairs[m.fs.makeup_mix.makeup.flow_mol] = (\n", + " \"h2_production_rate_controller\",\n", + " m.fs.h2_mass_production,\n", + " ControllerType.P,\n", + " ControllerMVBoundType.SMOOTH_BOUND,\n", + " ControllerAntiwindupType.NONE,\n", + " # antiwindup,\n", + ")\n", + "m.fs.add_controllers(variable_pairs)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that the controllers have been added to the flowsheet, they need to be tuned and bounds for the MVs need to be set. Additionally, the `smooth_eps` term used in the `SMOOTH_BOUND` method of handling variable bounds needs to be tuned to the size of the MV. A heuristic is to use $10^{-3}$ or $10^{-4}$ a typical value of the MV." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "K = 10e4\n", + "tau_I = 15 * 60\n", + "tau_D = 5 * 60\n", + "m.fs.feed_heater_inner_controller.gain_p.fix(K)\n", + "m.fs.feed_heater_inner_controller.gain_i.fix(K / tau_I)\n", + "m.fs.feed_heater_inner_controller.mv_lb = 0\n", + "m.fs.feed_heater_inner_controller.mv_ub = 10e6\n", + "m.fs.feed_heater_inner_controller.smooth_eps = 1000\n", + "if antiwindup == ControllerAntiwindupType.BACK_CALCULATION:\n", + " m.fs.feed_heater_inner_controller.gain_b.fix(0.5 / tau_I)\n", + "\n", + "K = 20e4\n", + "tau_I = 15 * 60\n", + "tau_D = 5 * 60\n", + "m.fs.sweep_heater_inner_controller.gain_p.fix(K)\n", + "m.fs.sweep_heater_inner_controller.gain_i.fix(K / tau_I)\n", + "m.fs.sweep_heater_inner_controller.mv_lb = 0\n", + "m.fs.sweep_heater_inner_controller.mv_ub = 10e6\n", + "m.fs.sweep_heater_inner_controller.smooth_eps = 1000\n", + "if antiwindup == ControllerAntiwindupType.BACK_CALCULATION:\n", + " m.fs.sweep_heater_inner_controller.gain_b.fix(0.5 / tau_I)\n", + "\n", + "K = 0.75\n", + "tau_I = 60 * 60\n", + "m.fs.feed_heater_outer_controller.gain_p.fix(K)\n", + "\n", + "K = 0.75\n", + "tau_I = 60 * 60\n", + "m.fs.sweep_heater_outer_controller.gain_p.fix(K)\n", + "\n", + "K = -2\n", + "tau_I = 240\n", + "m.fs.voltage_controller.gain_p.fix(K)\n", + "m.fs.voltage_controller.gain_i.fix(K / tau_I)\n", + "m.fs.voltage_controller.mv_lb = 0.7\n", + "m.fs.voltage_controller.mv_ub = 1.6\n", + "m.fs.voltage_controller.smooth_eps = 0.01\n", + "if antiwindup == ControllerAntiwindupType.BACK_CALCULATION:\n", + " m.fs.voltage_controller.gain_b.fix(0.5 / tau_I)\n", + "\n", + "K = -50\n", + "tau_I = 40 * 60\n", + "m.fs.sweep_blower_controller.gain_p.fix(K)\n", + "m.fs.sweep_blower_controller.mv_lb = 1500\n", + "m.fs.sweep_blower_controller.mv_ub = 10000\n", + "m.fs.sweep_blower_controller.smooth_eps = 10\n", + "\n", + "K = 200\n", + "tau_I = 20 * 60\n", + "m.fs.h2_production_rate_controller.gain_p.fix(K)\n", + "m.fs.h2_production_rate_controller.mv_lb = 1\n", + "m.fs.h2_production_rate_controller.mv_ub = 1500\n", + "m.fs.h2_production_rate_controller.smooth_eps = 1" + ] + }, { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\dallan\\AppData\\Local\\Temp\\ipykernel_41080\\391657263.py:377: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`). Consider using `matplotlib.pyplot.close()`.\n", - " fig = plt.figure()\n" - ] + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Most MVs we want to ramp between the old and new setpoints, but there are a few, especially when changing the controller gain, that we need to step." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "step_mvs = ComponentSet([])\n", + "step_mvs.add(m.fs.voltage_controller.mv_ref)\n", + "step_mvs.add(m.fs.voltage_controller.setpoint)\n", + "step_mvs.add(m.fs.makeup_mix.makeup_mole_frac_comp_H2)\n", + "step_mvs.add(m.fs.makeup_mix.makeup_mole_frac_comp_H2O)\n", + "step_mvs.add(m.fs.h2_production_rate_controller.setpoint)\n", + "step_mvs.add(m.fs.h2_production_rate_controller.gain_p)\n", + "\n", + "ramp_mvs = m.fs.manipulated_variables - step_mvs\n", + "\n", + "create_ramping_eqns(m.fs, ramp_mvs, 1)" + ] }, { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAHOCAYAAACcvdMVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAABrQElEQVR4nO3dd3hUxfoH8O/Zsz2VkAIJVUCK9CoiAgpqQBSuiApKBGzcgAW9alQE7k+NglexoOhViFylCAIqRUS6glJjAUF6QoAUIG2TbDvn98cmm11SSHaTbPt+nmcfzp6Z3Z0sk903M3PmFWRZlkFERETkxxSebgARERFRfWPAQ0RERH6PAQ8RERH5PQY8RERE5PcY8BAREZHfY8BDREREfo8BDxEREfk9BjxERETk9xjwEBERkd9jwEPkB44dO4apU6eiU6dOCAoKglarRbNmzdCnTx9MnToVX3/9dbWP//777zF+/Hi0bt0aer0eoaGh6NSpE6ZOnYpDhw5V+bht27ZBEIQa3apiMBjw3nvv4fbbb0dsbCw0Gg2Cg4PRvn17PPDAA/jmm28gSdJV34OFCxdCEATExcXBarVetf7BgwchCAKUSiXOnTt31fqVmTVrFgRBwKxZs1x6PBE1HKWnG0BE7lm1ahXGjRsHo9GIxo0bY8CAAYiKisLly5eRmpqK+fPnY9myZbj77rsrPDY/Px/jxo3DunXrAADXXXcd7rjjDpjNZuzbtw/z58/HRx99hBdeeAGvvvpqtYFLQkJCrdv+ww8/4IEHHkB2djaUSiV69eqFgQMHwmKx4MSJE/jyyy/x5Zdfok+fPtizZ0+1zzV27Fg8+eSTOHfuHDZu3Ijhw4dXW3/hwoUAgPj4eMTGxta67dXZtm0bhgwZgkGDBmHbtm11+txE5CKZiHzWhQsX5ODgYBmA/Mwzz8jFxcUV6uzbt09+4YUXKpw3Go1yv379ZABy69at5Z9++smpXJIkefHixbJer5cByE8//XSF59i6dasMQHblo2Tt2rWyKIoyAHnSpElyZmZmhTpnzpyRH3vsMblRo0Y1es7JkyfLAOS777672nolJSVyRESEDEBevXp1rdteZubMmTIAeebMmU7ny96XQYMGufzcRFS3GPAQ+bBPP/1UBiDHxsbW+rEvvviiDEAODw+XT58+XWW97777zh7UbNq0yanM1YAnJydHDg8PlwHITzzxxFXrb9++vUbPu2vXLhmArFar5ZycnCrrLV++XAYgR0dHy2azucbtvhIDHiLfwTU8RD4sMzMTABAVFVWrxxUUFOCDDz4AAMyYMQMtW7assu4dd9yBO++8EwDw2muvudhSZx988AFyc3MRHR2NOXPmXLX+TTfdVKPn7d+/Pzp16gSTyYQvvviiynpl01kTJkyAUlk+s79nzx6MHTsWsbGxUKvViI6OxsiRI7Fp06YavT4ADB48GEOGDAEAbN++3WkdU6tWrez1srOz8d5772H48OFo3bo1dDodQkND0bt3b7z55psoKSmp8jX+/PNP3H333YiMjIRer0eXLl0wb948SJKEVq1aQRAEnD59usLjLBYLPv30UwwePBgRERHQaDRo3bo1pkyZgvT09Br/jES+iAEPkQ9r0aIFANsX4ObNm2v8uC1btiA/Px8A8OCDD161/oQJEwAAO3bsQF5engstdfbNN98AAO69915oNBq3n8/R5MmTAQCLFi2qtPzs2bP2AKasLgD897//Rf/+/bFixQo0adIEY8aMQbt27bB27VrceuutmD17do1e//bbb8dtt90GAIiJiUFCQoL9NmbMGHu9jRs34sknn8Tvv/+Oli1bYtSoUejbty+OHj2KF154ATfffDOMRmOF59++fTv69u2LVatWITw8HHfddReaNm2K559/HuPGjauyXQUFBRg2bBgeeeQR7N+/H127dsWdd94JjUaDBQsWoEePHjh48GCNfkYin+TpISYicl1BQYEcFxcnA5AFQZAHDx4s/9///Z+8bt06OSsrq8rHzZgxw752pybOnDljn7rasmWL/bwrU1pms1lWKBQyAHnx4sU1flxNZWVlySqVSgYg79+/v0L5q6++KgOQb7jhBvu533//XVYqlbIgCBXatH79elmtVssA5B9++MGpzJ0prcOHD8u7d++ucP7SpUvyrbfeKgOQ58yZ41RWVFRk//9+5plnZKvVai87dOiQHBMTY///OHXqlNNjx40bJwOQ77jjjgrrpd555x0ZgNyuXTvZYrFU2WYiX8YRHiIfFhwcjM2bN6Nfv36QZRnbtm3DjBkzMGLECERHR6NHjx5YsGBBhcu0s7OzAdhGIGrCsV7ZY69U3SXpo0aNste7ePGi/TLz6Ojo2vy4NRIVFWWfgiubunKUkpICAJg0aZL93LvvvguLxYLRo0dXGPGKj4/Ho48+CgCYO3dunbWzY8eOuP766yucb9SoEd5//30AwIoVK5zKVq5ciYyMDLRs2RLJyclQKMo/wjt16oQZM2ZU+lp//fUXli5ditjYWCxZsqTC+/7UU09h+PDhOHbsGDZs2ODuj0bklXhZOpGPa9++PX755Rfs2bMH69atw6+//ooDBw4gOzsbqampmDJlCr7++musW7cOarXapdeQZfmqdaq7LL1nz54uva6rHn74YXz99ddYsmQJ/vOf/9inzbZv347jx48jODgY9957r71+2aXjDz30UKXPN3nyZHzwwQfYuXMnrFYrRFGsk3ZarVZs27YNu3btwvnz51FcXAzZdjEJAODo0aNO9bdv3w4AuOeee6BSqSo83/jx4zF16tQK59evXw9ZlhEfH4+QkJBK2zJ48GCsX78eu3btwh133OHuj0bkdRjwEPmJvn37om/fvgBsAcrBgwcxd+5cLFu2DD/++CPeffdd/Otf/wIAREZGAihf9Hw1WVlZ9uOqFkiXjZxcTePGjaFQKCBJktPz1qVbb70VzZs3R3p6OlavXo377rsPQPmIz9ixYxEcHGyvn5GRAQBo3bp1pc/Xpk0bAEBJSQkuXrxYJyNTx44dw+jRo6vd2LFsnVWZs2fPAoDT4mdH4eHhCAsLq7DO6uTJkwCAzz77DJ999lm17apqBI/I1zHgIfJDgiCgZ8+eWLp0KYqKivDtt99izZo19oCnV69eAIBTp04hOzv7qld5lW36p1Ao0KNHD7faplQq0bVrV6SmpmLv3r01WjRdWwqFAg899BD+7//+D4sWLcJ9992HgoICrFy5EoDzYmVPGTNmDA4dOoQ77rgDzz33HDp16oTQ0FCoVCqYTKZqF3NXtwFkZWVlU4jdu3dHt27dqm1Xv379avgTEPkWBjxEfu7WW2/Ft99+i5ycHPu5m2++GSEhISgoKMDixYvxzDPPVPscixcvBgAMHDgQ4eHhbrfprrvuQmpqKpYvX465c+fW+ZVagG2Nzquvvooff/wR6enp2LhxI4qKitChQwfccMMNTnXj4uJw4sQJnDx5Ep07d67wXGUjJFqtFhEREW637ciRI/j9998RHR2N1atXO10aD9hGfyoTFxcHAJVecg4AeXl5yM3NrXC+efPmAIABAwbYtyMgCjRctEzkw2qytiYtLQ0A0KxZM/u50NBQJCYmAgBeffVVnDlzpsrHr127Ft999x0A4MUXX3SnuXbTpk1DWFgYsrKy8Pzzz1+1/s6dO2v9Gq1atcItt9wCSZKQkpJin85yXKxcZvDgwQCqnpYre+zAgQMrBCeVKVsrZbFYKi2/dOkSACA2NrbS56tqD6Gy/YhWrFhR6XMvWbKk0sfFx8cDAL799ttq9/ch8msevEKMiNz0wQcfyBMmTJB//vnnCmWSJMlff/21PTXEJ5984lReUlIi9+7d2355+pXPIUmS/L///c/++GnTplV4DXdSS3zzzTf2y9MnT55caWqJs2fPyomJiXJEREStn1+WZXnp0qUyADkyMlIGICuVSvnChQsV6jlelv6///3PqWzjxo2yRqORAcgbN250KqvqsvSyy/ijo6Nlk8lU4fWys7NlURRlURTlrVu3OpV9++239te78n01GAxy06ZNZQDyc88953RZ+l9//SU3adKkysvS7777bhmAHB8fX6FMlmW5sLBQ/uKLLyp9f4j8gSDLNfgTkYi80rx58/D0008DsC0m7tGjByIjI5Gbm4vDhw/bpz4eeOABfP75506XMQO2KZD77rsP33//PQCgS5cu6NixI8xmM/bu3YuzZ89CoVDg2WefxRtvvFFhfUhZkkzg6slD//3vf9s3SiyzYcMGTJgwATk5OVAqlejduzdatmxpTx7622+/QZZlXH/99di9e3et3x+j0YjY2Fj7iMqoUaOwevXqSut+8sknmDJlCiRJQs+ePdGhQwecOXMGu3btgizLmDVrFmbOnOn0mFmzZmH27NmYOXNmhYzpffr0wb59+9C+fXv07t0bWq0WkZGReOONNwDYLgV/9913oVAoMHDgQMTGxuLo0aM4cOAAXn75Zbz66qsAKo7ibdmyBSNGjEBJSQnatm2L3r1749KlS9i2bRvuuusu/Prrr0hLS0NGRoZTUtSCggKMHj0amzdvhlqtRrdu3dC6dWvIsozTp0/jt99+g8lkwl9//YUOHTrU+r0m8nqejLaIyD35+fnymjVr5GnTpsl9+/aVmzVrJqtUKlmn08lt2rSR77//fnnDhg1XfZ5169bJ9913n9yiRQtZq9XKwcHBcvv27eUpU6bIv//+e5WPcxzhudrt4MGDlT5HQUGB/M4778jDhg2TmzRpIqvValmv18vXXnut/MADD8hr166VJUly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jKi+sW8SURmmlgBTSxAREfkippYgIiIicsBxXHKbLMsoKioCAOj1+grb91dVRlTf2DeJqAxHeMhtRUVFCA4ORnBwsP0LpCZlRPWNfZOIyjDgISIiIr/HgIeIiIj8HgMeIiIi8nsMeIiIiMjvMeAhIiIiv8eAh4iIiPwe9+Eht4miiDFjxtiPa1pGVN/YN4moDFNLgKkliIiIfJFfpJaYP38+WrVqBa1Wi379+mHPnj1V1h08eDAEQahwGzFiRAO2mIiIiLyVVwY8y5cvx/Tp0zFz5kwcOHAA3bp1w2233YasrKxK669atQrnz5+33/7880+Iooh77rmngVtORERE3sgrA563334bjzzyCCZOnIhOnTphwYIF0Ov1WLhwYaX1IyIi0KRJE/tt06ZN0Ov1DHgaiMFgsI+qGQyGGpcR1Tf2TSIq43UBj8lkwv79+zF06FD7OYVCgaFDh2L37t01eo7PPvsM9913H4KCguqrmURERORDvO4qrZycHFitVsTExDidj4mJwZEjR676+D179uDPP//EZ599VmUdo9EIo9Fov5+fn+96g4mIiMjred0Ij7s+++wzdOnSBX379q2yTnJyMsLCwuy35s2bN2ALiYiIqKF5XcATGRkJURSRmZnpdD4zMxNNmjSp9rEGgwHLli3D5MmTq62XlJSEvLw8+y09Pd3tdhMREZH38rqAR61Wo1evXti8ebP9nCRJ2Lx5M/r371/tY1esWAGj0YgHHnig2noajQahoaFONyIiIvJfXreGBwCmT5+OhIQE9O7dG3379sW8efNgMBgwceJEAMCECRMQFxeH5ORkp8d99tlnGDVqFBo3buyJZhMREZGX8sqA595770V2djZeeeUVXLhwAd27d8f3339vX8iclpYGhcJ5cOro0aP46aef8MMPP3iiyQFNFEUMHz7cflzTMqL6xr5JRGWYWgJMLUFEROSL/CK1BBEREVFdYcBDREREfo8BD7nNYDAgKCgIQUFBlW7fX1UZUX1j3ySiMl65aJl8T1FRkUtlRPWNfZOIAI7wEBERUQBgwENERER+jwEPERER+T0GPEREROT3GPAQERGR3+NVWuQ2hUKBQYMG2Y9rWkZU39g3iagMU0uAqSWIiIh8EVNLEBERETlgwENERER+jwEPuc1gMCAqKgpRUVGVbt9fVRlRfWPfJKIyXLRMdSInJ8el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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the present system of scaling, we cannot guarantee that controller MVs and CVs have had scaling factors set when a controller is scaled, so we need to iterate through the controllers and scale them again after the fact." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkwAAAHOCAYAAABq9FaNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAABa+UlEQVR4nO3dd3xTVf8H8M/NTroLHYwuQEGGbGoZUqAPW+0jIgKyxUesCFRluEBl+LBEBUEfmSqiyA8cKFJZrqKAomwFC0WgpVjoSNskTe7vD+yVkLZJV9L0ft6vV14k59zcfBNOm2/POfccQRRFEURERERUJoWnAyAiIiKq7ZgwERERETnBhImIiIjICSZMRERERE4wYSIiIiJyggkTERERkRNMmIiIiIicYMJERERE5AQTJiIiIiInmDAR1RBBECp8i4+P93TYkujoaAiCgLNnz3o6lBqxd+/eav/MS/4fiajuUXk6AKK6asyYMQ5lGRkZ+PLLL8usb9GiRYVeY+/evejVqxd69uyJvXv3VipOorqGPxdUE5gwEdWQdevWOZTt3btXSphKqyciotqJQ3JERERETjBhIqpF/vzzT0yePBm33HILdDodAgIC0K1bN7z55puwWq12x8bHx6NXr14AgH379tnNhYqOjpaOy8rKwmuvvYaBAwciJiYGer0e/v7+6NSpE/773/+iqKio2uIfO3YsBEHAunXrcOrUKQwbNgyhoaHw8fFB586d8fHHH0vH/vDDD7j77rsREhICvV6PuLg47Nq1q1o+mxtt2LABnTt3hsFgQHBwMPr3749vvvmmzOPXrVsHQRAwduzYUuvPnj3r8Bm7ori4GG+//Tbi4+MRHBwMrVaLmJgYTJo0CefPn6/QuUpcvXoVL774Ijp16oSAgADo9Xo0adIE999/P7744gu7Y53Nr4qPj4cgCA5DWDeWf/PNN7jrrrsQEhIChUIh9ZLeON/t448/Ru/evREcHOxwvqtXr2L27Nlo164d/Pz8YDAY0KZNG8ydOxcFBQUOMc2ZMweCIGDOnDnIyspCUlISIiIioNFoEBERgcmTJ+PatWsO8bryc0FUURySI6olDhw4gP79+yM7OxuRkZFITExETk4O9u7di++//x5bt27FJ598Ao1GAwDo378/dDodvvzyS4SFhaF///7SuerXry/d//LLLzFlyhQ0atQIzZo1wx133IGsrCz88MMPmDlzJj7++GPs2bMHWq222t7LTz/9hMceewyNGzdGnz59cO7cOaSmpuLf//43PvzwQ6hUKtx///1o3bo1+vTpg5MnT2L//v3o378/9uzZg+7du1fpsykxZcoUvPbaa1AoFOjevTsaNmyIX3/9FfHx8Zg8eXK1vV9n8vLycPfdd2Pv3r3w9fVFx44dERISgiNHjmDVqlXYvHkzUlJS0L59e5fP+csvv2DQoEG4cOECAgIC0L17d/j5+SE9PR2fffYZLl++jAEDBlTbe9i8eTNWrVqFFi1aICEhAdnZ2Q5tZsmSJVi+fDk6deqE/v374+LFi1AqlQCA48ePo3///jh//jwaNGiA7t27Q61W48cff8Rzzz2HLVu2YO/evQgICHB47fPnz6NDhw6wWCzo1q0bioqK8N1332H58uX44Ycf8N1330GtVgNw/eeCqMJEInKbPXv2iADEm3/0ioqKxKioKBGA+Mgjj4hms1mqO3PmjBgdHS0CEJ9++ulSz9ezZ88yX/P48eNiamqqQ3l2drbYt29fEYC4cOFCh/qSeNLS0lx+f2PGjJHe39y5c0WbzSbVvfbaayIAsXHjxmJQUJC4YcMGu+dOnTpVBCAmJCTYlVf2s/nss89EAKKPj4/49ddf29XNnz9fivPmz27t2rUiAHHMmDGlvse0tDQRgBgVFeVQV9r/rSiK4ogRI0QA4uDBg8XMzEy7uldeeUUEIN5yyy1icXFxqa95s/z8fDEiIkIEII4ePVrMy8uzq7927ZqYkpLiUmwlevbsKQIQ9+zZU2o5AHHFihWlPrfk/0epVIoff/yxQ31BQYHYtGlTEYD47LPPiiaTSaozGo3i8OHDRQDiuHHj7J43e/Zs6bXHjh0rFhUVSXXp6elio0aNRADixo0b7Z7nys8FUUUxYSJyo7ISpnfeeUcEIDZs2NDuS6HERx99JAIQ/fz8xMLCQofzVfaL4dSpUyIAsXPnzg51VUmYunTpYpcsiaIoWiwWMTg4WAQgDh061OG5V65cEQGIGo3GLimq7GeTkJAgAhBnzJhRaqzt2rVzS8J0/PhxURAEsWHDhmJubm6p5xw4cKAIQPz0009Lrb/ZsmXLRABiu3btXE6yqpow9e7du8znlrSV8ePHl1q/cuVKKWEsTV5enhgaGiqqVCoxOztbKi9JmBo3biwajUaH57388sulvi4TJqoJnMNEVAuUzPN44IEHSh0au/feexEUFIS8vDwcOnSowue3Wq3YtWsXXnrpJTz66KMYN24cxo4di3nz5gEATp06VaX4bzZgwACH+TIqlQoxMTEAgIEDBzo8p169eggODobZbMZff/0llVfmsykuLsa3334LAHjwwQdLjXH06NEVf2OV8Pnnn0MURQwYMAB+fn6lHlOyFtT333/v0jl37NgBAJgwYYI05FXT7rvvvkofs337dgDAsGHDSq339fVFp06dUFxcjAMHDjjU9+nTBwaDwaH8tttuAwBcuHDBaWxEVcU5TES1QMkv/JKE4maCICAmJgZXr16t8JfD77//jn//+984duxYmcfk5uZW6JzOREZGllru6+tbbr2fnx+ys7PtJqJX5rP566+/pHOU9byyyqvbH3/8AQBYvXo1Vq9eXe6xWVlZLp3z3LlzACq+bldVuDJhuqxjSj6DUaNGYdSoUeWeo7TPoKz24u/vDwDVeuECUVmYMBHVcffddx+OHTuGwYMHY/r06WjZsiX8/f2hVqthNpurdbJ3CYWi/M5rZ/W1mc1mq9Tx7dq1Q9u2bcs9NjY2ttJxVZWz96XX652eo6xjSs7dv39/hIWFlXuOqKgohzJvbi9UdzBhIqoFGjVqBOCfv8RLk5aWZnesK06ePIlff/0VoaGh2Lp1K1Qq+x/533//vRLRuldlPpt69epBq9XCZDLh7NmzaNWqlcNzytrypeRKu7y8vFLrS3p3XBUREQEA6NatG5YvX16h55YlMjISJ06cwMmTJ5GQkODSc9RqNSwWC/Ly8kodGqzo+6qIiIgInDx5EhMmTHBpaI+oNmLaTlQLlMxh+eCDD0odXti6dSuuXr0KPz8/dOzYUSov+XIvLi4u9bzZ2dkAgIYNGzokSwDw7rvvVjX0GleZz0alUqFbt24AgPfee6/U877zzjullpckXSdPniy1vmQ+jqtKLu3/5JNPqm3oqORS+TVr1pS7BtWNSt7XiRMnHOp+/fXXSq8F5YqSz+DDDz+ssde4kbOfC6LKYMJEVAsMHToUkZGRuHjxIpKTk+1+0aelpeGJJ54AAEyePBk6nU6qa9y4MYDrPUUWi8XhvLfeeiuUSiWOHDnisCDhp59+ildeeaUG3k31quxnM3XqVADA66+/7jCZeuHChfjpp59Kfb0uXbrA398fx48fd0iqNm/ejNdee61C8bdv3x5DhgzB+fPnce+995bas2U0GvHee+8hMzPTpXM+9NBDaNy4MX7++WdMnDgRRqPRrj43NxdfffWVXVlJT9QLL7wAk8kklZ89exZjxoyBKIoVel8V8fDDDyMqKgqbN2/GjBkzSu29y8jIwP/+979qeT1nPxdEleLpy/SI5KSsZQVEURR//PFH6bL7qKgocdiwYeLAgQNFnU4nAhD79etnt35NiU6dOokAxObNm4sjR44UJ0yYYHcp/ZQpU0QAokKhEHv27CkOHz5c7NChg7QmTlnxVGVZgbVr15ZaX9al685es7KfTVJSkvTe4+PjxeHDh4utWrUSFQqF9LmUdul5ydpIAMS4uDjxvvvuE1u1aiUKgiA+99xzFV6HKTc3V+zTp4+0bELnzp3F+++/Xxw6dKjYuXNnUaPRiADEEydOlPq5lOann34Sw8PDRQBiYGCgOGjQIHHYsGFi165dRb1e7/C+/vjjDzEwMFAEIEZGRopDhgwR77zzTlGv14sJCQli165dy11WoKz/M1F0ra0cPXpUWjMrMDBQvPPOO8URI0aIiYmJYsuWLUVBEMSwsDC755QsKzB79uxSz1ne8gHOfi6IKooJE5EblZcwieL1xfiSkpLEJk2aiBqNRvTz8xPj4uLElStXihaLpdTnnDt3ThwxYoTYoEEDUaVSOXyZ22w2cfXq1WLHjh1FX19fMSAgQOzevbu4adMmURTL/pKvTQmTKFbusxFFUVyzZo3YsWNHUafTiQEBAWJCQoK4Z88ep2v1rF+/XuzQoYOo0+lEf39/sXfv3mJKSkqlFq4URVG0Wq3ixo0bxYEDB4phYWGiWq0W69WrJ7Zu3VocN26cuHXrVrv1p1yRlZUlPvvss2KbNm1EHx8fUa/Xi02aNBGHDRsm7tixw+H448ePi/fee68YFBQkarVasXnz5uLcuXNFs9nsdB2mqiZMong9cVy4cKEYFxcnBgYGimq1WmzQoIHYuXNn8amnnhK///57u+OrkjA5+7kgqihBFGuwH5aIiIioDuAcJiIiIiInmDAREREROcGEiYiIiMgJJkxERERETjBhIiIiInKCCRMRERGRE9xLrhrYbDZcvHgRfn5+EATB0+EQERGRC0RRRF5eHho2bOh0k2cmTNXg4sWL0gabRERE5F3Onz8vbalTFiZM1aBk5+/z58/D39/fw9F4n+LiYmzauh3Pf3oc+qi2EBRKjOsejSm9mmLXrl0AgD59+pS6eSxRTSouLi6zDZZXR0TeITc3FxEREdL3eHm40nc1yM3NRUBAAHJycpgwVYLRaISvry8AIGLaR1BodLijSTBWj7xdKs/Pz4ePj48nwyQZurFt3twGy6sjIu9Qke9vTvqmWiXETwMAOH0538OREBER/YMJE9UqnaPrAQCu5JtxrcDs4WiIiIiuY8JEtUpksB4NAnQAgLQrRg9HQ0REdB0TJqpVgn00aBJyfS7I2b8KPBwNERHRdUyYqFYJ8tEgIsgAALh4tdDD0RAREV3H62CpVgnQq9Eo8Pr9C9eYMBERUe3AhIk8TqPRoOk9j+NqgRlBvno0sl1vlpn5xVi+fLl0DJG7aTSaMttgeXVEVPcwYSKPU6vVCOg4GMVGMwJ89RCUagDAxTwLkqYneTg6kjO1Wo2kpNLbYHl1RFT3MGGiWiHfVAwA8NGo4Ke7njBdyimEzSZCoeD+fERE5FlMmMjjTGYLcv44DADQq3oj0EcLlUKA2VKMrZ/vRD1fLXr06AGlUunZQEl2rFYrvvnmGwBwaIPl1RFR3cOtUaoBt0apmotZ19AoNAgAkH0tF0EBfuj28m6cv3wV51+5DwC3niDP4NYoRHUbt0Yhr2I0F0v3NarrTTLUX+upcIiIiBwwYSKPKzAVO5SF+ek8EAkREVHpmDCRx93Yw1QijD1MRERUizBhIo8zF9scykL92cNERES1BxMmqpXCmDAREVEtwoSJaiUOyRERUW3i9QnT119/jbvuugsNGzaEIAjYtm2bXb0oinj++efRoEED6PV6JCQk4Pfff7c7Jjs7GyNHjoS/vz8CAwMxYcIE5Ofnu/FdyJtKpUZg/Dg0HfQfqNXXF60M89dBUCrR4F8PYeHChVI5kTup1WosXLiw1DZYXh0R1T1ev3Cl0WhE27ZtMX78eNx7770O9QsXLsRrr72G9evXIyYmBs899xz69euH48ePQ6e7PuwzcuRIXLp0CSkpKbBYLBg3bhwefvhhbNy40d1vR5bUGg0CYocgKsRH2pMrzE8HQamGpkMiJk/tD42aiwKS+2k0Gjz11FMVriOiusfrE6YBAwZgwIABpdaJoohly5bh2WefxT333AMA2LBhA8LCwrBt2zY88MADOHHiBHbs2IEDBw6gU6dOAIDXX38dAwcOxOLFi9GwYUO3vRf6h79eBa1KAVOxDZdzTYisZ/B0SEREJGNePyRXnrS0NGRkZCAhIUEqCwgIQGxsLFJTUwEAqampCAwMlJIlAEhISIBCocAPP/zg9pjlyGq1wnTpN+Smn4TVagUACIKA+j4qmC79hr3fpUrlRO5ktVpx4MABHDhwwKENlldHRHWP1/cwlScjIwMAEBYWZlceFhYm1WVkZCA0NNSuXqVSITg4WDrmZiaTCSaTSXqcm5tbnWHLjtlUhIwNycgAUDR/lLTFRJBWQMaGZIzZAAzh1hPkAUVFRejSpQsAx+1PyqsjorqnTvcw1ZQFCxYgICBAukVERHg6pDqpnq/G0yEQEREBqOMJU3h4OAAgMzPTrjwzM1OqCw8Px+XLl+3qi4uLkZ2dLR1zs1mzZiEnJ0e6nT9/vgaip3o+TJiIiKh2qNMJU0xMDMLDw7Fr1y6pLDc3Fz/88APi4uIAAHFxcbh27RoOHTokHbN7927YbDbExsaWel6tVgt/f3+7G1W/+r5ci4mIiGoHr5/DlJ+fj9OnT0uP09LScPjwYQQHByMyMhJTp07F3Llzccstt0jLCjRs2BCJiYkAgNtuuw39+/fHxIkTsWrVKlgsFjz22GN44IEHeIWchwWzh4mIiGoJr0+YDh48iF69ekmPk5OTAQBjxozBunXrMH36dBiNRjz88MO4du0aunfvjh07dkhrMAHAe++9h8ceewx9+vSBQqHAkCFD8Nprr7n9vciVWEZ5PfYwERFRLeH1CVN8fDxEsayv3OuXp7/44ot48cUXyzwmODiYi1TWQpzDREREtYXXJ0zk/VQqNQK6DUewj8Zui4mwQB8EdBsOrUrJrSfII9RqNWbPni3dd7WOiOoeJkzkcWqNBoHdR6JJqK+0NQoANAz2Q2D3kdcfKNhUyf00Gg3mzJlT4Toiqnvq9FVy5N0C9GqoFAIAINto9nA0REQkZ0yYyONsNhvMWeeQn5EGm812Q40Iff5FmLPO4XJuocfiI/my2Ww4duwYjh07dlPbLL+OiOoeQSxvxjS5JDc3FwEBAcjJyeGaTJWw52g6ereJAmC/xYTRaISvry8AYPtPf2Bg+xiIoogCsxVXC8woMFthLrbBVGyFyWKD6e/7FqsImyhCFAERImw2SI9togibWPL4n/u2cn4KKvMjUt5TxDKvC3T2PM8Qauq8NXRioRojNhUWYHL/NgCA3Nw8+Pn5SnU3tk9ujULknSry/c2JIeQVHnnnJ4R/fgbXCiwwW/nXPLmHzVwk3T94Lhu9WvuWczQR1WVMmMhrXM77Z8NjjUoBP60KGpUCWpUCWpUSWrUCGqUCSoUApUKAQhAgCIBCEKD4+1/h7/v/lF8/RhDK7pcoqyek7ONLrymz36PM85dxnhrqmamOvubyes8qeKLacApYigqx4u/7OQWWajgjEXkrJkzkFZbe3xbNG4cg2FeDIIMaerWyzMSEqLoYjUasGOvpKIioNmDCRF5hQJsGnCNCREQew6vkiIiIiJxgwkQex+s0yRuwnRLJG4fkyONUKjX8u9yLIIPabosJtVqNJ598UrpP5G5qtRq3JgxHRq4JSrXKoY7tk0g+mDCRx6k1GgT1Go9bbtoaRaPRYNGiRR6MjOROo9Gg7ZDJMJ3Nhlqtcahj+ySSDw7JERERETnBHibyOJvNhuKcTBSq8mCz2aBQKKTy9PR0AEBkZKRUTuQuNpsNxr8uoTjnGqylbI3C9kkkH0yYyONMRYW4sGoCLgAonHWXtHxAYWEhYmJiAHDrCfKMwsJCfP7sEACAeexphzq2TyL54J9ERERERE4wYSIiIiJyggkTERERkRNMmIiIXMCFK4nkjQkTERERkRNMmIiIiIic4LIC5HEKpRK+7QchUK+GSvVPk1SpVHj00Uel+0TuplKp0LTnvcjMNUGpUjrUsX0SyQd/ysnjNFot6vWdhFvDfKHVaqVyrVaLFStWeDAykjutVouOw5/ED2nZUGu0DnVsn0TywSE5IiIXiOCsbyI5Yw8TeZwoirAW5MCcXwxRFCEIglR+5coVAED9+vWlciJ3EUURpvyrsBbkQLzpMjm2TyJ5YcJEHldUWIA/Xx+JPwEUJP+zxURBQQFCQ0MBcOsJ8oyCggJ8/OQgAIBpxO8OdWyfRPLBITkiIiIiJ5gwERG5gDOYiOSNCRMRERGRE0yYiIiIiJxgwkRERETkBBMmIiIiIie4rAB5nFKpgk/rPvDXqxy2RhkzZox0n8jdVCoVouMGIivPBIXScWsUtk8i+eBPOXmcRqtF/UHTSt0aZd26dZ4LjGRPq9XijrHPIfWPv0rdGoXtk0g+OCRHnsfrtakW4wLeRASwh4lqAVEUYTMXwWpSOWyNUlBQAAAwGAzceoLcThRFFJsKYTMXlbo1CtsnkXwwYSKPKyoswPlX7sN5AAWT7bdG8fX1BcCtJ8gzCgoKsHlybwBA0dDfHOrYPonkg0NyRERERE7U+YRpzpw5EATB7taiRQupvqioCElJSahXrx58fX0xZMgQZGZmejBiIiIiqm3qfMIEAK1atcKlS5ek27fffivVTZs2DZ9++ik2b96Mffv24eLFi7j33ns9GC0RERHVNrKYw6RSqRAeHu5QnpOTg9WrV2Pjxo3o3fv6PIW1a9fitttuw/79+3HHHXe4O1QiIiKqhWTRw/T777+jYcOGaNKkCUaOHIn09HQAwKFDh2CxWJCQkCAd26JFC0RGRiI1NbXM85lMJuTm5trdiIiIqO6q8wlTbGws1q1bhx07dmDlypVIS0tDjx49kJeXh4yMDGg0GgQGBto9JywsDBkZGWWec8GCBQgICJBuERERNfwuiIiIyJPq/JDcgAEDpPu33347YmNjERUVhQ8//BB6vb5S55w1axaSk5Olx7m5uUyaqkChVMLQvBv8dCoob9h+QqlU4r777pPuE7mbUqlEZMfeuJJvgkKhcKhj+ySSjzqfMN0sMDAQt956K06fPo1//etfMJvNuHbtml0vU2ZmZqlznkpotVq7LTyoarRaHUISZ6F5mB90Op1UrtPpsHnzZg9GRnKn0+nQ45H5+Pb0FWi0Ooc6tk8i+ajzQ3I3y8/Px5kzZ9CgQQN07NgRarUau3btkupPnTqF9PR0xMXFeTBKIiIiqk3qfA/Tk08+ibvuugtRUVG4ePEiZs+eDaVSieHDhyMgIAATJkxAcnIygoOD4e/vj8mTJyMuLo5XyLkRt5IjbyCyoRLJWp1PmP78808MHz4cf/31F0JCQtC9e3fs378fISEhAIBXXnkFCoUCQ4YMgclkQr9+/fDGG294OGp5KSww4tx/B+McAOPD/2wxYTQaufUEeZTRaMR7E6//8VR0928OdWyfRPJR5xOmTZs2lVuv0+mwYsUKrFixwk0RERERkbeR3RwmIiIioopiwkRE5AKRs+2IZI0JExEREZETTJiIiIiInGDCREREROREnb9Kjmo/hVIJfZNO8NE6bo0ycOBA6T6RuymVSjRs0xVXjeZSt0Zh+ySSDyZM5HFarQ6hQ+egRbjj1ijbt2/3YGQkdzqdDr2nLMU3v1+BWuO4NQrbJ5F8cEiOiIiIyAkmTERE5RAEwdMhEFEtwCE58rgCoxHpS4fgT0GAceIVu61RQkNDAQCXL1/m1hPkdkajERsn9YRNFFF0168OdWyfRPLBhIlqBdFigrWU8oKCArfHQnQjq7mozDq2TyL54JAcEZELRC70TSRrTJiIiIiInGDCREREROQEEyYiIiIiJ5gwERG5gFOYiOSNV8mRxykUCmgjWsOgUdltP6FQKNCzZ0/pPpG7KRQKhDXvgGsFZof1mNg+ieSFCRN5nFanR/iIl9Ei3A96vV4q1+v12Lt3r+cCI9nT6/XoP2Ml9p7Kgland6hj+ySSD/5ZREREROQEEyYiIiIiJzgkRx5XWGDE+ddG4KJCgHHiBbutUaKjowEAZ8+e5dYT5HZGoxGbHu8Hi9WGwkE/OtSxfRLJBxMm8jgRImyFubCVUnflyhW3x0N0I1P+tTLr2D6J5INDckREREROMGEiIiIicoIJExGRC7hwJZG8MWEiIiIicoIJExEREZETvEqOPE6hUEATfgt0aqXD1iidOnWS7hO5m0KhQP3o25BbVAyFoHCoY/skkg8mTORxWp0eDca8gtsa+DtsjXLgwAEPRkZyp9frcdfs9dh98jI0Op1DHdsnkXzwzyIiIldw1jeRrDFhIiIqh+DpAIioVuCQHHlcUWEB/lw5HplKBQomnoHBYAAAFBQUoGXLlgCA48ePS+VE7lJQUIAPn7wHhRYrTIO+cahj+ySSDyZM5HGiKMKaexnWv+/fWH7u3DnpPpG7iaKI/L8uSfdvrmP7JJIPDsmRx/G7hoiIajsmTERELhA565tI1pgwERERETnBhImIiIjICSZMRERERE4wYbrBihUrEB0dDZ1Oh9jYWPz444+eDkkWBEGAul4kfMOjIQiCXXnLli3RsmVLu3IidxEEAYENY6CuF4mbV2Ri+ySSFy4r8LcPPvgAycnJWLVqFWJjY7Fs2TL069cPp06dQmhoqKfDq9N0egMaPvQGWjbwt1vLxmAw4NixYx6MjOTOYDBgyPwP8NWJy9Dq9A51bJ9E8sEepr8tXboUEydOxLhx49CyZUusWrUKBoMBa9as8XRoRORR7D0iIiZMAACz2YxDhw4hISFBKlMoFEhISEBqaqrD8SaTCbm5uXY3IiIiqruYMAG4cuUKrFYrwsLC7MrDwsKQkZHhcPyCBQsQEBAg3SIiItwVap1UVFiAi28/im9eHo2CggKpvKCgAK1atUKrVq3syoncpaCgAFuevh8X334UpqJChzq2TyL54BymSpg1axaSk5Olx7m5uUyaqkAURVj+SocFjlujHD9+XLpP5G6iKOLaxTQAgK2UrVHYPonko1oSppycHBgMBqjV6uo4ndvVr18fSqUSmZmZduWZmZkIDw93OF6r1UKr1borPCIiIvKwCg/J5efnY+3atXjwwQcRExMDrVaL4OBg6HQ6BAYGokePHnjuuedw8ODBmoi3Rmg0GnTs2BG7du2Symw2G3bt2oW4uDgPRkZERES1gcs9TOfPn8fcuXPx/vvvIz8/HwAQFBSEpk2bIjg4GIWFhcjOzsb+/fvx3XffYf78+WjXrh2Sk5MxcuTIGnsD1SU5ORljxoxBp06d0KVLFyxbtgxGoxHjxo3zdGh1HgcziIiotnMpYZo5cyZee+01WK1WDBgwAPfffz/i4uIQExPjcGxBQQEOHTqEnTt3YuPGjRg1ahReeeUV/O9//0P79u2r/Q1Ul2HDhiErKwvPP/88MjIy0K5dO+zYscNhIjgRyROnKRHJm0tDcqtWrcKTTz6JS5cuYdu2bRgxYkSpyRJwfTG3Hj164KWXXsKZM2ewc+dOGAwGfPrpp9UaeE147LHHcO7cOZhMJvzwww+IjY31dEhERERUC7jUw5SWloagoKBKvUBCQgISEhJw9erVSj2f6j5BEKD0D4VGpXDYGiUqKkq6T+RugiDAt34DFJqtDm2Q7ZNIXlxKmCqbLFX3Oahu0ukNaDxpDVo1dNwa5ezZs54LjGTPYDBg+JJPsPN4Zqlbo7B9EslHjSxcabFYsHnzZvTv378mTk9ERETkVtW6cOXRo0exevVqvPvuu8jOzq7OUxMReZTI6zmJZK3KCVNeXh42btyINWvWSGsv6XQ6DB8+nJfkk0tMRYW4tH4arqmVKJz4E/T660MfhYWFuPPOOwEAX3/9tVRO5C6FhYXYNmc0cgqLYR7wqUMd2yeRfFQ6Yfr666+xevVqbNmyBYWFhdLWAP3798emTZvg7+9fbUFS3Waz2WDO+B3mv+/fWF6ShN9YTuQuNpsNWWknrt8XbQ51bJ9E8lGhhCkjIwPr1q3DmjVrcObMGYiiiMjISDz44IMYNWoUbrvtNjRu3JjJEhEREdUpLidMd911F7788ksUFxfDz88PY8eOxahRoxAfH1+D4RERERF5nssJ0/bt26FQKPDUU0/hxRdf5OazRCQrXOmbSN5cXlagSZMmsNlsWLx4MWJjY7F06VJkZGTUZGwkEyK/iYiIqJZzOWE6ffo0du/ejeHDh+O3337Dk08+iYiICAwYMADvv/8+ioqKajJOIiIiIo+p0KTv+Ph4xMfHIycnB++99x5Wr16NL7/8Ejt37oSvry8EQUBubm5NxUp1mELvD5XCcXuJ+vXreyAaon/o/AJhLi79Kji2TyL5qNRK3wEBAXj00Udx6NAh/Pzzz5g0aRKUSiVEUcTmzZvRtGlTvPTSSzh37lx1x0t1kN7gg4jHN+JfCz6Fj4+PVO7j44OsrCxkZWXZlRO5i4+PD8as+AoRj2+EVm9wqGP7JJKPKm+N0rZtWyxfvhyXLl3Cu+++i/j4eJw9exazZ89Gs2bNqiNGIiIiIo+qtr3ktFotRowYgV27duHMmTN45pln0KBBg+o6PRGRRwiOI8VEJEM1svludHQ0h+TIZaaiQmRsnInU1x5HYWGhVF5YWCjNm7uxnMhdCgsL8fG8h5GxcSbMN13YwvZJJC/VuvnuzQT+aUYusNlsMJ0/ChMct0bZt2+fdJ/I3Ww2Gy6d/AkAIJayNQrbJ5F8uJwwNWnSpMInFwQBZ86cqfDziIhqHa4XRiRrLidMZ8+ehVKphEpVo51SRERERLVOhbOf+Ph4jB8/HomJiVCr1TURExEREVGt4vKk7+PHj2PKlCk4fPgwHnjgATRs2BDTpk3DkSNHajI+IiIiIo9zOWFq0aIFFi9ejD///BNbtmxBXFwcVqxYgXbt2qFTp05YuXIlcnJyajJWqqM4M4SIiGq7Ci8roFQqkZiYiE8++QTnz5/H/PnzYTQakZSUhIYNG+LBBx9Eenp6TcRKdZig1kKp0TmUGwwGGAyGUp5B5B4qrQ6CWltqYs/2SSQfVVqHKSwsDDNmzMCJEyeQkpKC4OBgvP/++zh8+HA1hUdyoDf4IDJ5CwYsTnHYGsVoNMJoNHLrCfIIHx8fPLz6O0Qmbyl1axS2TyL5qPIlbwcOHMCaNWuwadMm5OTkoFGjRmjcuHF1xEZERERUK1QqYbpy5QreeecdrF27FseOHYNKpcJdd92FCRMmoF+/flAoamQBcSIiIiKPcDlhstls+Pzzz7FmzRps374dFosFrVu3xpIlS/Dggw+ifv36NRkn1WFmUxEub56DH3UqFE3cA53u+lymoqIiDBkyBACwZcsWqZzIXYqKivDZoseRlWeCqd+7DnVsn0Ty4XLC1LhxY2RmZiIgIAATJkzA+PHj0alTp5qMjWTCarWi8I+DKPz7/o3ln3/+uXSfyN2sVivSf/kOACDarA51bJ9E8uFywpSRkQG1Wo22bdvi7NmzeP75550+RxAEbN++vUoBEhEREXlaheYwWSwWabNJV3DzXSIiIqoLXE6Y0tLSajIOIiIiolrL5YQpKiqqJuMgIqrVRJFr0hPJGa//JyIiInLCpYRp//79VXoRo9GIY8eOVekcVIfxD3ciIqrlXEqYunbtikGDBlVowjcAZGZmYsGCBYiJicGWLVsqFSDVfXqDD6JmfIbBr33jsDWKKIoQRZFbT5BH+Pj4IOm9Q4ia8VmpW6OwfRLJh0tzmP7v//4PM2bMQO/evREREYH77rsPsbGx6NixI8LCwuDj4wOr1Yrs7GycOnUKP/zwA1JSUrB7924AwEMPPYRJkybV6Bsh78eLKqk2Y0cokby5lDAlJiZi8ODB2LBhA1auXImlS5faLRmgVCrtFm4TRRF+fn6YOHEipkyZgltvvbX6IycicgOtSgkAMBfbPBwJEXmSy1fJqVQqjB8/HuPHj8exY8ewa9cufPfdd/jzzz/x119/Qa/XIyQkBG3atEHPnj3Rp08fdlOTS8ymImRtW4CDejWKHvrCbmuUUaNGAQDeeecdbj1BbldUVIQdr05H1l9GZHd7w6GO7ZNIPgSxjl8rGx0djXPnztmVLViwADNnzpQe//rrr0hKSsKBAwcQEhKCyZMnY/r06S6/Rm5uLgICApCTkwN/f/9qi10uPv8pDYM6NgEA5OfnS4m20WiEr6+vQzmRu9zYBmd98CPm39+51Dq2TyLvVJHv7wqt9O2tXnzxRUycOFF67OfnJ93Pzc1F3759kZCQgFWrVuHIkSMYP348AgMD8fDDD3siXCKqhfKLuF8ckZzJImHy8/NDeHh4qXXvvfcezGYz1qxZA41Gg1atWuHw4cNYunQpEyYikuSbLZ4OgYg8SBYLV7788suoV68e2rdvj0WLFqG4uFiqS01NxZ133gmNRiOV9evXD6dOncLVq1c9ES4R1UJGU7Hzg4iozqrzPUyPP/44OnTogODgYHz//feYNWsWLl26hKVLlwIAMjIyEBMTY/ecsLAwqS4oKMjhnCaTCSaTSXqcm5tbg++AiGqD/CImTERy5pU9TDNnzoQgCOXeTp48CQBITk5GfHw8br/9djzyyCNYsmQJXn/9dbuEp6IWLFiAgIAA6RYREVFdb42Iaql89jARyZpX9jA98cQTGDt2bLnHNGnSpNTy2NhYFBcX4+zZs2jevDnCw8ORmZlpd0zJ47LmPc2aNQvJycnS49zcXCZNRHVcHhMmIlnzyoQpJCQEISEhlXru4cOHoVAoEBoaCgCIi4vDM888A4vFArVaDQBISUlB8+bNSx2OAwCtVgutVlu54MmBTm9AxLSP0LqRPwyGf7afMBgMyM/Pl+4TuZvBYMCJc5fRd9nXKLCqHOrYPonko1JDcr1798aGDRvKPebdd99F7969KxVUdUlNTcWyZcvwyy+/4I8//sB7772HadOm4cEHH5SSoREjRkCj0WDChAk4duwYPvjgA7z66qt2PUhUwwRAodFBpdXbrSAvCAJ8fHzg4+NjV07kLoIgILReABQaHYqKbSi22uzq2D6J5KNSPUx79+5FfHx8ucecO3euwpv1VjetVotNmzZhzpw5MJlMiImJwbRp0+ySoYCAAOzcuRNJSUno2LEj6tevj+eff55LCngAv3KoNvLV/vNr0miyIsDglVM/iaiKamxIzmg0SkNcntKhQwfs37/f6XG33347vvnmGzdERKUxm024sv0V/GxQwzRxmzTcaTKZ8J///AcA8Oabb3IYlNyupA1e/fkCAv+VhDyTBQEGtV0dwPZJJAcuJ0zp6el2j69du+ZQBgBWqxXnz5/Hli1bEB0dXeUAqe6zFhfDeHQXjACKi4ulL57i4mKsX78eALBixQp+IZHb3dgGA/o8YnelHNsnkby4nDBFR0dL4/SCIODVV1/Fq6++Wubxoihi0aJFVY+QiKiW4FpMRPLlcsI0evRoCIIAURSxYcMGtG3bFu3atXM4TqlUIjg4GL1790b//v2rM1YiIo/i0gJE8uVywrRu3Trp/r59+zBu3Dg8/vjjNRETEVGtlMceJiLZqtSk77S0tOqOg4io1uOQHJF88fpYIiIX5RVZPB0CEXlIpROmr776CgMHDkRISAjUajWUSqXDTaXyyoXEiYhKVWC2ejoEIvKQSmU0W7ZswbBhw2Cz2RAVFYUWLVowOaJK0+kNaDz5PbRq4OewNcrly5el+0TuVtIGl331G949fBUF5mKHupL7RFS3VSrLefHFF6HX6/Hxxx97fPsT8n6CIEBpCIDWL8Bha5TK7hlIVB1K2mBIyFUIwjUYb+hhYvskkpdKDcmdOnUKDzzwAJMlqhai6OkIiMrno7n+t2Uhh+SIZKtSPUz16tVjFzRVG7PZhL92rsSvvhqYJna22xqlZN+/pUuXciVlcruSNngqIw9izL0w3rAOE9snkbwIoljxv++nTJmCr776Cr/88gvnLgHIzc1FQEAAcnJy4O/v7+lwvM5nh/7AXZ2aAgDy8/Ph4+MD4Pp+hL6+vg7lRO5yYxuMmPYRerZqjHcmxDrUsX0SeaeKfH9Xakhu/vz5CAwMxLBhw0rdT46IqC4ycqVvItmqVPdQmzZtYLFYsH//fmzbtg2BgYEICAhwOE4QBJw5c6bKQRIR1QZcVoBIviqVMNlsNqhUKkRGRkplpY3sVWK0j4io1mLCRCRflUqYzp49W81hEBHVfjeuw0RE8sKtUYiIXMQeJiL5qvIlbsePH8fJkydhNBoxatSo6oiJiKhWKjBbYbOJUCgE5wcTUZ1S6R6mAwcOoF27dmjTpg2GDh2KsWPHSnVff/01DAYDPvnkk+qIkeo4rU6PRo+sRsILm6HX66VyvV6PtLQ0pKWl2ZUTuUtJGzxx6jQEtQYAUFRstatj+ySSh0olTMeOHUPv3r2RlpaGadOmYcCAAXb1PXr0QP369bF58+ZqCZLqNoVCAVVAGAz1GkChUNiVR0dHIzo62q6cyF1K2mDzW5pIbdBostrVsX0SyUOlfspnz54NADh06BAWL16Mzp0729ULgoC4uDgcOHCg6hESEXmYIAgwqJUAOPGbSK4qNYdp3759GDJkCJo1a1bmMZGRkdixY0elAyP5MJvMuLpnDY75aWGe2BkazfWhD7PZjGeeeQYAMG/ePKmcyF1ubINan94w4p+J32yfRPJSqYQpLy8PoaGh5R5TWFgIq5VXlJBzxcUW5P74f8gFYLH8T/risVgsWLx4MQBgzpw5/EIit7uxDXab2wvZRf/0MLF9EslLpYbkIiIicOTIkXKP+emnn9C0adNKBUVEVNvo1df/vuTSAkTyVKmEafDgwdi5cye++uqrUus//PBD7N+/H4mJiVWJjYio1jBors9hKpn0TUTyUqkhuaeffhofffQRBg4ciDFjxiAjIwMA8MYbbyA1NRXvv/8+oqOjkZycXK3BEhF5SknCxEnfRPJUqYQpJCQEe/fuxejRo7F69Wqp/LHHHgMAxMbG4v333y91Q14iIm9k0HBIjkjOKr3Sd9OmTfHdd9/h8OHD2L9/P7Kzs+Hv74/Y2FiHZQaIiLwdlxUgkrdKJUzjx49HmzZtMG3aNLRr1w7t2rWr5rCIiGoXreb6lM8ii83DkRCRJ1QqYdq4cSOmTZtW3bGQTGl1ejQYvwItGvg5bI1y9OhR6T6Ru93YBj86IwK4gkKL1aGO7ZOo7qtUwtS0aVNcunSpumMhmVIoFNCERMG/QaDD1iitWrXyYGQkdze2wS/+PAUAKDRbHeqIqO6r1LIC48ePx/bt23HhwoXqjoeIqFbS/32VXJGFk76J5KhSPUxDhgzBnj170LVrV0yfPh2dO3dGWFgYBEFwODYyMrLKQVLdZjGbce3b93DSX+ewNcr8+fMBXF/Kgispk7vd2AYb9BwOANKQHNsnkbwIoiiKFX2SQqGAIAgQRbHUJEk6uSCguLjuX1GSm5uLgIAA5OTkwN/f39PheJ1PDv6BezpfXxU+Pz8fPj4+AACj0QhfX1+HciJ3ubENrt5zAi/uOIO+LcPw1uhObJ9EdUBFvr8r1cM0evTochMlIqK6Rqe+PoOhkENyRLJUqYRp3bp11RwGEVHtplddn8Nk4rICRLJUqUnfTZo0kVb1JiKSg5J1mNjDRCRPlUqYrly5Aj8/v+qOhYio1tL/vdI3EyYieapUwnT77bfjt99+q+5YiIhqLSlh4l5yRLJUqYRpxowZ+PTTT7Fnz57qjqdC5s2bh65du8JgMCAwMLDUY9LT0zFo0CAYDAaEhobiqaeecrhyb+/evejQoQO0Wi2aNWvGOVpE5ECn5jpMRHJWqUnfV69eRd++fdG3b18kJiaWuw7T6NGjqxxkWcxmM4YOHYq4uDisXr3aod5qtWLQoEEIDw/H999/j0uXLmH06NFQq9XS+ilpaWkYNGgQHnnkEbz33nvYtWsXHnroITRo0AD9+vWrsdjpHxqtDuGjl6J5uB90Op1UrtPp8OOPP0r3idztxjYY6Hd92YCSITm2TyJ5qfI6THYnuyFhKlmjyWqt+b/G1q1bh6lTp+LatWt25V988QUGDx6MixcvIiwsDACwatUqzJgxA1lZWdBoNJgxYwa2b98u7QkFAA888ACuXbuGHTt2uPT6XIepalKOZ2LihoNoHxmIrY9283Q4RKW6nFeELvN2QRCAP+YP5NIqRHVAja/DtHbt2koF5m6pqalo06aNlCwBQL9+/TBp0iQcO3YM7du3R2pqKhISEuye169fP0ydOrXM85pMJphMJulxbm5utcdORLVLyRwmUQRMxTZpiI6I5KFSCdOYMWOqO44akZGRYZcsAZAeZ2RklHtMbm4uCgsLS92FfMGCBXjhhRdqKGr5sZjNyPlhC34/pYf5IfutUV599VUAwJQpU7j1BLndjW3w0ccmS+VFFisUopXtk0hGKjXpuybNnDkTgiCUezt58qRHY5w1axZycnKk2/nz5z0aj7crLrbg2t61OLbtDVgsFqncYrFg+vTpmD59ul05kbvc2AZhs0KtvD4MV2SxsX0SyUylepjS09NdPraim+8+8cQTGDt2bLnHNGnSxKVzhYeHS5MyS2RmZkp1Jf+WlN14jL+/f6m9SwCg1Wqh1WpdioGI6g6dWgmLtRiFFiv8KvXbk4i8VaV+5KOjo12a8FiZzXdDQkIQEhJSmbAcxMXFYd68ebh8+TJCQ0MBACkpKfD390fLli2lYz7//HO756WkpCAuLq5aYiAXVPiyAyLP0KuVyCsqvr4Wk55zmIjkpFo3383JycEvv/yCtLQ09OzZE9HR0VWNr1zp6enIzs5Geno6rFYrDh8+DABo1qwZfH190bdvX7Rs2RKjRo3CwoULkZGRgWeffRZJSUlSD9EjjzyC5cuXY/r06Rg/fjx2796NDz/8ENu3b6/R2InI++g1N672zYSJSE6qffNdURSxZMkSLFy4sNS1karT888/j/Xr10uP27dvDwDYs2cP4uPjoVQq8dlnn2HSpEmIi4uDj48PxowZgxdffFF6TkxMDLZv345p06bh1VdfRePGjfH2229zDSYicqBTcfFKIrmq1DpMrujVqxeCg4OxZcuWmjh9rcJ1mKrmkwN/4J4uTQEA+fn58PG5vkCg0WiEr6+vQzmRu9zcBkesO4xfzl/D26M7IS7Kl+2TyMtV5Pu7xq6S69SpE3bv3l1Tpycicju9+vqvTG7ASyQ/NXadx5kzZyo84ZvkSa3VImz4fNwS6uuwNUrJfoXceoI84eY2KG3Aa7GyfRLJTLUmTDabDRcuXMC6devw8ccfo0+fPtV5eqqjlEoldJG3IyQyEEql0q48Pj7ec4GR7N3cBksmfRdZrGyfRDJTqYSpZC+5soiiiKCgICxZsqTSgRER1TYl26Fw0jeR/FQqYbrzzjtLTZgUCgWCgoLQuXNnjBs3Tlr7iKg8xRYL8n76DH+k6WGZ2AVqtRrA9VWW33rrLQDAww8/LJUTucvNbVAakjPb2D6JZKbGrpKTE14lVzW8So5qq5vb4Ct7zuHtb9PwSM+mmHxnBNsnkZerFVfJERHVNRySI5KvCiVM8+bNw9NPP13uRpNmsxlPP/00Xn755SoHR0RUm0grfZuZMBHJjcsJ01dffYXnn38e9erVK3esXqPRoH79+njmmWekS26JysMxYfIWOvWNW6MQkZy4nDBt2LABQUFBeOyxx5wem5SUhODgYKxdu7ZKwRER1SZ6JkxEsuVywvT9998jISFB2rS2PFqtFgkJCfjuu++qFBwRUW2i11z/lck5TETy43LCdPHiRTRp0sTlE8fExODSpUuVCoqIqDb6Z1kBJkxEcuPyOkwKhaLcyd43s1gsUCh4ER45p9ZoEHLfbDQL8bXrwdRqtfjss8+k+0TudnMblK6SK7ayfRLJjMsJU8OGDXH06FGXT3z06FE0atSoUkGRvChVKhiadkaDqCCoVP80SZVKhUGDBnkwMpK7m9ug7oYeJrZPInlxuQuoR48e2L17N86ePev02LNnz2L37t248847qxIbEVGtopfWYbJ5OBIicjeXE6akpCRYLBbcd999uHLlSpnH/fXXXxg6dCiKi4sxadKkagmS6rZiiwX5R77CudTtdsO+FosF69atw7p16yo0HExUXW5ug9I6TBYr2yeRzFRoa5Tk5GQsW7YM9evXxyOPPIJevXqhcePGAIALFy5g165deOutt5CVlYXk5GQsXry4xgKvTbg1StV8fOAPJHJrFKqFbm6D2SYBPRbugU6twKGZd7J9Enm5inx/V2jz3SVLlkCn02HRokWYN28e5s2bZ1cviiKUSiVmzZqFuXPnVjxyIqJaTHfDkJzNxiVXieSkQgmTIAiYP38+JkyYgLVr1+L7779HRkYGACA8PBzdunXD2LFj0bRp0xoJlojIkwx/D8kBgKmY85iI5KRCCVOJpk2bsgeJiGSnpIcJ4GrfRHLDhZLI41yfRUfkWUqFAI3q+q/NQnOxh6MhIndiwkREVAElw3LcHoVIXpgwERFVwD8b8HIOE5GcVGoOE1F1Ums0qH/PTDQN8XHYGuXDDz+U7hO5W2ltsGQtpmIo2T6JZIQJE3mcUqWCT4vuaFzK1ihDhw71YGQkd6W1wZIeJososH0SyQiH5IiIKkB/w35yRCQf7GEij7MWF8N48lv8+ZcPiou7SL1MxcXF2Lp1KwDg3//+t13vE5E7lNYGS4bk8gtN2Lx5s10dEdVd/Aknj7OYzbjy8cu4AsC0bJr0xWMymXD//fcDuL71BL+QyN1Ka4MlPUy5BYV4iO2TSDY4JEdEVAElPUxFHJIjkhUmTEREFVCyDhPnMBHJCxMmIqIKkDbgLWbCRCQnTJiIiCqgpIepgD1MRLLChIlqAW4mR96jZNI3t0YhkhcmTEREFaCT1mHi1ihEcsLrYMnjVGo16g2cipj6Bmg0Gqlco9Fg7dq10n0idyutDRo0139tmkUF2yeRjDBhIo9TqdXwbZOA6OggqNVqqVytVmPs2LGeC4xkr7Q2qNdc75g3iwLbJ5GMcEiOiKgC9Orrf2dy0jeRvLCHiTzOWlyMgjMHcCnP12FrlC+//BIA0K9fP66kTG5XWhssWbjSWGjC9u3b7eqIqO7y6h6mefPmoWvXrjAYDAgMDCz1GEEQHG6bNm2yO2bv3r3o0KEDtFotmjVrhnXr1tV88CSxmM3I+ugFfPfGUzCZTFK5yWTC4MGDMXjwYLtyIncprQ2WXCVXUFTE9kkkI16dMJnNZgwdOhSTJk0q97i1a9fi0qVL0i0xMVGqS0tLw6BBg9CrVy8cPnwYU6dOxUMPPST9VUlEdCOu9E0kT17dh/zCCy8AgNMeocDAQISHh5dat2rVKsTExGDJkiUAgNtuuw3ffvstXnnlFfTr169a4yUi7yet9G3hsgJEcuLVPUyuSkpKQv369dGlSxesWbMGovjPQompqalISEiwO75fv35ITU0t83wmkwm5ubl2NyKSBz17mIhkyat7mFzx4osvonfv3jAYDNi5cyceffRR5Ofn4/HHHwcAZGRkICwszO45YWFhyM3NRWFhIfR6vcM5FyxYIPVuEZG8GP7uYTJb2cNEJCe1rodp5syZpU7UvvF28uRJl8/33HPPoVu3bmjfvj1mzJiB6dOnY9GiRVWKcdasWcjJyZFu58+fr9L5iMh7lPQwEZG81LoepieeeMLpYnBNmjSp9PljY2Px0ksvwWQyQavVIjw8HJmZmXbHZGZmwt/fv9TeJQDQarXQarWVjoGIvJdWpYAgeDoKInK3WpcwhYSEICQkpMbOf/jwYQQFBUkJT1xcHD7//HO7Y1JSUhAXF1djMZA9pUqN4H89gshgx61Rli9fLt0ncrfS2qAgCNCrlTAWq/Dif5ci2EfD9kkkA7UuYaqI9PR0ZGdnIz09HVarFYcPHwYANGvWDL6+vvj000+RmZmJO+64AzqdDikpKZg/fz6efPJJ6RyPPPIIli9fjunTp2P8+PHYvXs3PvzwQ2lBOqp5KrUafh0Go1kpW6MkJSV5MDKSu7LaoF6tRIFZhaGjJ6BFuL8HIiMid/PqhOn555/H+vXrpcft27cHAOzZswfx8fFQq9VYsWIFpk2bBlEU0axZMyxduhQTJ06UnhMTE4Pt27dj2rRpePXVV9G4cWO8/fbbXFLAAwRwnIO8g16jBIy8Uo5ITgTxxmvsqVJyc3MREBCAnJwc+Pvzr82K+uzwn3ho4TtoEe6PXYsegVJ5fVKt1WrFN998AwDo0aOHVE7kLmW1wX8t3YffMnLwVFsRrRsFsH0SeamKfH97dQ8T1Q0WkwmZ7z+NTABFL42Fj48PAKCoqAi9evUCAOTn50vlRO5SVhvUa5QQiy2Y/OB9DnVEVDfVumUFiIhqu5L95IhIPpgwERFVENdiIpIfJkxERBVkYMJEJDtMmIiIKkjHITki2WHCRERUQZzDRCQ/TJiIiCqIQ3JE8sNlBcjjlGoVAuPHITLI4LDS98KFC6X7RO5WVhvUq5UQlEr0GZ2Mfq3D2T6JZIAJE3mcSq1BQOwQNI8OdthL7qmnnvJgZCR3ZbVBvUYFQalG20Gj8dT9bT0QGRG5G4fkiIgqqGRIrtBS7OFIiMhdmDCRx1mtVpgu/Ybsc8dhtVrtyg8cOIADBw7YlRO5S1ltUK9RQrRZkX7qCNsnkUxwSI48zmIyIWNDMjIAFD37gN3WKF26dAHArSfIM8pqg4a/t0bZ/tI4bH+J7ZNIDtjDRERUQbxKjkh+mDAREVWQXs3OeSK5YcJERFRB7GEikh8mTEREFcSEiUh+mDAREVWQngkTkewwYSIiqiCDhnOYiOSGP/XkcUq1CgHdhqNRoN5ha5TZs2dL94ncraw2aNBc3xoloNtwTIpvyvZJJANMmMjj1GoNAruPRKsYx61R5syZ47nASPbKaoNalQIKlRqB3Udi2vQ+du2WiOomDsmRx4mipyMgqhhBEGBQX5/HVGDmKt9EcsCEiTzOZrPBnHUOORf/gM1msys/duwYjh07ZldO5C7ltUGdSgFz1jn8euQo2yeRDHBIjjzOXFSES2uScAlA4fREaYuJwsJCtG7dGgC3niDPKK8N6hTFuLQmCfesYfskkgP2MBERVYJezaUFiOSECRMRUSVwLSYieWHCRERUCVztm0hemDAREVWCjhvwEskKEyYiokowcA4TkawwYSIiqgS9hr8+ieSEfcrkcUq1Cv5d7kWDAJ3D1ihPPvmkdJ/I3cprgz56Hfy73It2EYFsn0QywISJPE6t1iCo13i0LWVrlEWLFnkwMpK78tqgv48OQb3Go1fXaG6NQiQD7FMmIqoEg+b635uF3BqFSBbYw1SNiixWaCz85VlRRRYLinMyYbxigs1mg0JxPY+32WxIT08HAERGRkrlRO5SXhvUKgUU52Qi4yJgs7WudPu02USYrbbrt2IbLFYbiq0iRBEQcX2jxZL9Fku2XRT/LvjncennFoSbHtvVCaWW3/w84Ybam89X5nNuOlAo47jyzu/wUi7GVNX3ePOBZcXk6nsUHN8J1SIV+YOHCVM16jT3Kyi0Bk+H4XVs5iJcWDUBFwAUTs232xolJiYGALeeIM8orw2qRAsurJqADQDemFB6+8w2mvHLn9dw8lIezl8twJ9XC/FXvgm5RRbkFFhgNFthtXH3aSJPsZkKXD6WCRMRUSWUtdJ3ttGMTQfS8cWRDBy5kFPh86qVApQKAYq/uylK+ieEmx6X3Lm5voR4U7eTWOYD+4flPe/mnizxhlrHuvJer/Tn3Zw63hiLYx2I3IoJUzXa/3Qf+Pv7ezoMr2M0GhH+iqejIKqYm/eSKzRb8dru37Hm2zSYim1SeZP6PmjVKADR9QyICDIgxE8Lf70aAXo1fLUqaFQKaFQKqJUC1AoFFAoO4VSVXaLlhuTQ/rVLf05dUdcS1ZzcXDRa5tqxTJiqka9WBV8tP9KKEor5mZH3uXFrlD+y8jFlywH8kWUEALRpFIARsZH4V8sw1PfVeipE2bKbu1Ru/snkVO6sFfjO5jcVEVEl3DgkN2r1D7hmUSLcX4cX72mFf7UMcxgiIyLv5rWXHZ09exYTJkxATEwM9Ho9mjZtitmzZ8NsNtsd9+uvv6JHjx7Q6XSIiIjAwoULHc61efNmtGjRAjqdDm3atMHnn3/urrdBRF7qxoQp22hB60b++Ozx7ujbKpzJElEd5LUJ08mTJ2Gz2fDmm2/i2LFjeOWVV7Bq1So8/fTT0jG5ubno27cvoqKicOjQISxatAhz5szBW2+9JR3z/fffY/jw4ZgwYQJ+/vlnJCYmIjExEUePHvXE2yIiL2FQ/dNBX99Pg3XjunD4jagO89ohuf79+6N///7S4yZNmuDUqVNYuXIlFi9eDAB47733YDabsWbNGmg0GrRq1QqHDx/G0qVL8fDDDwMAXn31VfTv3x9PPfUUAOCll15CSkoKli9fjlWrVrn/jcmQSqXCo48+Kt13Vk7kLuW1QV+DFr7tBwEApvdvyWSJqI6rU99COTk5CA4Olh6npqbizjvvtNu2oF+/fvjvf/+Lq1evIigoCKmpqUhOTrY7T79+/bBt27YyX8dkMsFkMkmPc3Nzq+9NyJBWq8WKFStcLidyl/LaYINgP3QdNR0qpYB7O8e4OTIicjevHZK72enTp/H666/jP//5j1SWkZGBsLAwu+NKHmdkZJR7TEl9aRYsWICAgADpFhERUV1vg4i8hFIhYMfUHvg4qRs0qjrzq5SIylDrfspnzpwJQRDKvZ08edLuORcuXED//v0xdOhQTJw4scZjnDVrFnJycqTb+fPna/w16zJRFJGVlYWsrKyb1k8pvZzIXcprg6Io4sqVK7ia/RfbJ5EM1LohuSeeeAJjx44t95gmTZpI9y9evIhevXqha9eudpO5ASA8PByZmZl2ZSWPw8PDyz2mpL40Wq0WWi3nK1SXgoIChIaGArDffqKsciJ3Ka8Nsn0SyUutS5hCQkIQEhLi0rEXLlxAr1690LFjR6xdu9Zh88u4uDg888wzsFgsUKvVAICUlBQ0b94cQUFB0jG7du3C1KlTpeelpKQgLi6uet4QEREReb1aNyTnqgsXLiA+Ph6RkZFYvHgxsrKykJGRYTf3aMSIEdBoNJgwYQKOHTuGDz74AK+++qrdJO8pU6Zgx44dWLJkCU6ePIk5c+bg4MGDeOyxxzzxtoiIiKgWqnU9TK5KSUnB6dOncfr0aTRu3NiurmQ+QUBAAHbu3ImkpCR07NgR9evXx/PPPy8tKQAAXbt2xcaNG/Hss8/i6aefxi233IJt27ahdevWbn0/REREVHsJImcrVllubi4CAgKQk5PDzXcrwWg0wtfXF4D9XJCyyoncpbw2yPZJ5P0q8v3ttUNyRERERO7ChImIiIjICa+dw0R1h0qlwpgxY6T7zsqJ3KW8Nsj2SSQvnMNUDTiHiYiIyPtwDhMRERFRNWI/MnmcKIooKCgAABgMBgiCUG45kbuU1wbZPonkhT1M5HEFBQXw9fWFr6+v9AVUXjmRu5TXBtk+ieSFCRMRERGRE0yYiIiIiJxgwkRERETkBBMmIiIiIieYMBERERE5wYSJiIiIyAmuw0Qep1Qqcd9990n3nZUTuUt5bZDtk0heuDVKNeDWKERERN6HW6MQERERVSMmTEREREROMGEijzMajRAEAYIgwGg0Oi0ncpfy2iDbJ5G8MGEiIiIicoIJExEREZETTJiIiIiInGDCREREROQEEyYiIiIiJ5gwERERETnBrVHI45RKJQYOHCjdd1ZO5C7ltUG2TyJ54dYo1YBboxAREXkfbo1CREREVI2YMBERERE5wYSJPM5oNMLHxwc+Pj4OW6OUVk7kLuW1QbZPInnhpG+qFQoKCipUTuQu5bVBtk8i+WAPExEREZETTJiIiIiInGDCREREROQEEyYiIiIiJ5gwERERETnBq+TI4xQKBXr27Cndd1ZO5C7ltUG2TyJ54dYo1YBboxAREXkfbo1CREREVI28NmE6e/YsJkyYgJiYGOj1ejRt2hSzZ8+G2Wy2O0YQBIfb/v377c61efNmtGjRAjqdDm3atMHnn3/u7rdDREREtZjXJkwnT56EzWbDm2++iWPHjuGVV17BqlWr8PTTTzsc+9VXX+HSpUvSrWPHjlLd999/j+HDh2PChAn4+eefkZiYiMTERBw9etSdb0fWjEYjQkJCEBIS4rA1SmnlRO5SXhtk+ySSlzo1h2nRokVYuXIl/vjjDwDXe5hiYmLw888/o127dqU+Z9iwYTAajfjss8+ksjvuuAPt2rXDqlWrXHpdzmGqGqPRCF9fXwBAfn4+fHx8yi0ncpfy2iDbJ5H3k+0cppycHAQHBzuU33333QgNDUX37t3xySef2NWlpqYiISHBrqxfv35ITU2t0ViJiIjIe9SZZQVOnz6N119/HYsXL5bKfH19sWTJEnTr1g0KhQJbtmxBYmIitm3bhrvvvhsAkJGRgbCwMLtzhYWFISMjo8zXMplMMJlM0uOcnBwA1zNVqrgbhzNyc3NhtVrLLSdyl/LaINsnkfcr+d52abBNrGVmzJghAij3duLECbvn/Pnnn2LTpk3FCRMmOD3/qFGjxO7du0uP1Wq1uHHjRrtjVqxYIYaGhpZ5jtmzZzuNkTfeeOONN954847b+fPnneYPta6H6YknnsDYsWPLPaZJkybS/YsXL6JXr17o2rUr3nrrLafnj42NRUpKivQ4PDwcmZmZdsdkZmYiPDy8zHPMmjULycnJ0uNr164hKioK6enpCAgIcBoDOcrNzUVERATOnz/PeWCVwM+v6vgZVg0/v6rh51d1lfkMRVFEXl4eGjZs6PTYWpcwlVx14ooLFy6gV69e6NixI9auXevSaruHDx9GgwYNpMdxcXHYtWsXpk6dKpWlpKQgLi6uzHNotVpotVqH8oCAADb0KvL39+dnWAX8/KqOn2HV8POrGn5+VVfRz9DVjo5alzC56sKFC4iPj0dUVBQWL16MrKwsqa6kd2j9+vXQaDRo3749AOD//u//sGbNGrz99tvSsVOmTEHPnj2xZMkSDBo0CJs2bcLBgwdd6q0iIiIiefDahCklJQWnT5/G6dOn0bhxY7s68YbJWy+99BLOnTsHlUqFFi1a4IMPPsB9990n1Xft2hUbN27Es88+i6effhq33HILtm3bhtatW7vtvRAREVHt5rUJ09ixY53OdRozZgzGjBnj9FxDhw7F0KFDKx2LVqvF7NmzSx2mI9fwM6wafn5Vx8+wavj5VQ0/v6qr6c+wTi1cSURERFQT6tTClUREREQ1gQkTERERkRNMmIiIiIicYMJERERE5AQTpmqwYsUKREdHQ6fTITY2Fj/++KOnQ/IaX3/9Ne666y40bNgQgiBg27Ztng7JqyxYsACdO3eGn58fQkNDkZiYiFOnTnk6LK+xcuVK3H777dJCd3Fxcfjiiy88HZbXevnllyEIgt1CwFS+OXPmQBAEu1uLFi08HZZXuXDhAh588EHUq1cPer0ebdq0wcGDB6v9dZgwVdEHH3yA5ORkzJ49Gz/99BPatm2Lfv364fLly54OzSsYjUa0bdsWK1as8HQoXmnfvn1ISkrC/v37kZKSAovFgr59+9ptDEtla9y4MV5++WUcOnQIBw8eRO/evXHPPffg2LFjng7N6xw4cABvvvkmbr/9dk+H4nVatWqFS5cuSbdvv/3W0yF5jatXr6Jbt25Qq9X44osvcPz4cSxZsgRBQUHV/lpcVqCKYmNj0blzZyxfvhwAYLPZEBERgcmTJ2PmzJkejs67CIKArVu3IjEx0dOheK2srCyEhoZi3759uPPOOz0djlcKDg7GokWLMGHCBE+H4jXy8/PRoUMHvPHGG5g7dy7atWuHZcuWeTosrzBnzhxs27YNhw8f9nQoXmnmzJn47rvv8M0339T4a7GHqQrMZjMOHTqEhIQEqUyhUCAhIQGpqakejIzkKicnB8D1L32qGKvVik2bNsFoNJa7lyQ5SkpKwqBBg+x+F5Lrfv/9dzRs2BBNmjTByJEjkZ6e7umQvMYnn3yCTp06YejQoQgNDUX79u3xv//9r0ZeiwlTFVy5cgVWqxVhYWF25WFhYcjIyPBQVCRXNpsNU6dORbdu3bi1TwUcOXIEvr6+0Gq1eOSRR7B161a0bNnS02F5jU2bNuGnn37CggULPB2KV4qNjcW6deuwY8cOrFy5EmlpaejRowfy8vI8HZpX+OOPP7By5Urccsst+PLLLzFp0iQ8/vjjWL9+fbW/ltdujUJE9pKSknD06FHOf6ig5s2b4/Dhw8jJycFHH32EMWPGYN++fUyaXHD+/HlMmTIFKSkp0Ol0ng7HKw0YMEC6f/vttyM2NhZRUVH48MMPOSzsApvNhk6dOmH+/PkAgPbt2+Po0aNYtWqVS1ujVQR7mKqgfv36UCqVyMzMtCvPzMxEeHi4h6IiOXrsscfw2WefYc+ePQ6bUVP5NBoNmjVrho4dO2LBggVo27YtXn31VU+H5RUOHTqEy5cvo0OHDlCpVFCpVNi3bx9ee+01qFQqWK1WT4fodQIDA3Hrrbfi9OnTng7FKzRo0MDhj5vbbrutRoY1mTBVgUajQceOHbFr1y6pzGazYdeuXZwDQW4hiiIee+wxbN26Fbt370ZMTIynQ/J6NpsNJpPJ02F4hT59+uDIkSM4fPiwdOvUqRNGjhyJw4cPQ6lUejpEr5Ofn48zZ86gQYMGng7FK3Tr1s1hKZXffvsNUVFR1f5aHJKrouTkZIwZMwadOnVCly5dsGzZMhiNRowbN87ToXmF/Px8u7+k0tLScPjwYQQHByMyMtKDkXmHpKQkbNy4ER9//DH8/PykuXMBAQHQ6/Uejq72mzVrFgYMGIDIyEjk5eVh48aN2Lt3L7788ktPh+YV/Pz8HObL+fj4oF69epxH56Inn3wSd911F6KionDx4kXMnj0bSqUSw4cP93RoXmHatGno2rUr5s+fj/vvvx8//vgj3nrrLbz11lvV/2IiVdnrr78uRkZGihqNRuzSpYu4f/9+T4fkNfbs2SMCcLiNGTPG06F5hdI+OwDi2rVrPR2aVxg/frwYFRUlajQaMSQkROzTp4+4c+dOT4fl1Xr27ClOmTLF02F4jWHDhokNGjQQNRqN2KhRI3HYsGHi6dOnPR2WV/n000/F1q1bi1qtVmzRooX41ltv1cjrcB0mIiIiIic4h4mIiIjICSZMRERERE4wYSIiIiJyggkTERERkRNMmIiIiIicYMJERERE5AQTJiIiIiInmDAREREROcGEiYi8Qnx8PARB8HQYLhNFER07dkTfvn3tyqv7fXz11VcQBAGff/55tZ2TiBxxLzkicruKJgzeuCHBhg0b8NNPPyE1NbVGXychIQHdu3fH9OnT0a9fP254S1RDmDARkdvNnj3boWzZsmXIyckptQ64noAUFBTUdGjVwmazYc6cOejRowfuuOOOGn+96dOn4+6778amTZswcuTIGn89IjniXnJEVCtER0fj3LlzXtmbdLPt27dj8ODB+N///oeHHnrIri4+Ph779u2r1vdpsVjQsGFDtGjRAt988021nZeI/sE5TETkFUqb+7Nu3ToIgoB169bh008/RWxsLAwGAxo1aoTnnnsONpsNALB+/Xq0bdsWer0ekZGRWLRoUamvIYoi1qxZg27dusHf3x8GgwGdOnXCmjVrKhTr2rVrIQgChgwZUuYxFosFc+bMQXR0NLRaLW699Va88cYbDsfNmTMHgiBg7969WLduHTp06ACDwYD4+HjpGLVajcTERHz77bc4ffp0hWIlItdwSI6IvN7WrVuxc+dOJCYmolu3bti+fTvmzp0LURQREBCAuXPn4p577kF8fDy2bNmC6dOnIywsDKNHj5bOIYoiRo4ciffffx+33HILRowYAY1Gg5SUFEyYMAHHjx/H4sWLncYiiiL27NmD5s2bIygoqMzjhg8fjh9//BEDBgyAUqnEhx9+iKSkJKjVakycONHh+EWLFmHPnj2455570LdvX4e5SnFxcXj77bexe/duNGvWrAKfHhG5RCQiqgWioqLE8n4l9ezZ06F+7dq1IgBRrVaLP/74o1Sem5srhoaGigaDQQwPDxfPnDkj1aWnp4sajUZs06aN3bneeustEYA4btw40Ww2S+Umk0m86667RADiwYMHnb6PY8eOiQDEkSNHlvs+YmNjxZycHKn85MmTokqlEps3b253/OzZs0UAoo+Pj/jrr7+W+bq//PKLCEAcPXq00xiJqOI4JEdEXu/BBx9E586dpcd+fn4YPHgwCgoKMGnSJDRp0kSqi4iIQPfu3XH8+HEUFxdL5cuXL4ePjw9WrFgBtVotlWs0GsybNw8A8P777zuN5c8//wQAhIWFlXvcggUL4O/vLz1u3rw5unXrhlOnTiEvL8/h+Icffhht2rQp83wlr1fy+kRUvTgkR0Rer127dg5lDRo0KLfOarUiMzMTjRo1QkFBAY4cOYKGDRviv//9r8PxFosFAHDy5Emnsfz1118AgMDAwHKP69ixo0NZ48aNAQDXrl2Dn5+fXV2XLl3KPV9wcDAA4MqVK05jJKKKY8JERF7vxp6aEiqVymldSSJ09epViKKICxcu4IUXXijzdYxGo9NY9Ho9AKCoqKjSMVutVoc6Zz1WhYWFAACDweA0RiKqOCZMRCR7JclLx44dcfDgwSqdKyQkBACQnZ1d5bhu5Gyxz5LXK3l9IqpenMNERLLn5+eH2267DSdOnMC1a9eqdK5WrVpBoVDg1KlT1ROci0per7x5TkRUeUyYiIgAPP744ygoKMDEiRNLHXpLS0vD2bNnnZ4nMDAQt99+Ow4ePCitA+UOP/zwAwCgZ8+ebntNIjlhwkREBOA///kPxowZg48++gi33HILRo8ejZkzZ2LcuHGIi4tD06ZNsX//fpfO9e9//xt5eXkuH18dUlJSEBQUhDvvvNNtr0kkJ0yYiIgAacXwDz74AK1atcJnn32GpUuXIiUlBTqdDosXL0ZCQoJL53rooYegUqnw7rvv1nDU1509exbfffcdxowZA51O55bXJJIb7iVHRFQDRo0ahe3bt+PcuXMOSwRUt2effRYLFy7EiRMn0LRp0xp9LSK5Yg8TEVENmDt3LgoLC/H666/X6OtcvXoVr7/+OiZNmsRkiagGcVkBIqIaEBUVhfXr1yMzM7NGXyctLQ3Tpk3D5MmTa/R1iOSOQ3JERERETnBIjoiIiMgJJkxERERETjBhIiIiInKCCRMRERGRE0yYiIiIiJxgwkRERETkBBMmIiIiIieYMBERERE5wYSJiIiIyIn/BzPNkgzipxDCAAAAAElFTkSuQmCC", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "for ctrl in m.fs.controller_set:\n", + " iscale.calculate_scaling_factors(ctrl)\n", + " iscale.calculate_scaling_factors(ctrl)" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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8xOR6XGMFBFRCZycnNCiRQscP34ct2/frtSxWrVqBRsbG5w8edI0wVVQ4fnKGkdFRJXDRIqIqBT/93//h8zMTDz//PMlXsJLSkrC2bNnyz2Oq6sr2rRpg3379snzWFWH3bt3AwC6d+9ebecksjZMpIiISvHiiy8iMjISP//8M5o0aYLhw4fjtddew8iRIxESEoJGjRph165dFTrWk08+iTt37lS4vilER0fDzc0N3bp1q7ZzElkbJlJERKUonCH9p59+QqtWrbB+/Xq8//77iI6Ohq2tLd577z2Eh4dX6FhjxoyBUqnE999/X8VR65w9exY7duxAZGQkbG1tq+WcRNaIa+0REVWTYcOGYcOGDTh37lyxqQxM7c0338SCBQtw/PhxNGrUqErPRWTN2CNFRFRN5s6di6ysLHz88cdVep5bt27h448/xrhx45hEEVUxTn9ARFRN/P39sWLFCqSkpFTpeZKSkvDyyy9j4sSJVXoeIuKlPSIiIiKj8dIeERERkZGYSBEREREZiYkUERERkZGYSBEREREZiYkUERERkZGYSBEREREZiYkUERERkZGYSBEREREZiYkUERERkZH+H3HT4SDswJVuAAAAAElFTkSuQmCC", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Discretize the time domain. We choose `time_nfe` to be one less than the length of `m.fs.time` so that Pyomo doesn't create any additional time points. After the time discretization equations are created, they are then scaled." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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goIC/PXXX1i2bBn+/vtvFBQUICQkBAsXLsRLL70EZ2dnU8dJREREZJByJTdnzpzBsmXLsGbNGty+fRvu7u4YP348Ro4ciVatWlVWjEREREQGMzi56dChA44dOwapVIpHH30UI0eOxMCBA6FQKCozPiIiIqJyMTi5OXr0KBQKBXr37o26deti586d2LlzZ5nbSCQSLFy4sMJBEhERERmqXKel8vPzsWnTJoPrM7khIiIiczM4uXlYLw3VHmWNYVSVxzei2oHtk4gqNIhfdcVB/IiIiKofswziR0RERFTVGJTcXLt2rcIHunHjRoX3QURERPQwBiU3jRo1woQJExAXF1eunefn5+Pnn39GixYt8MMPPxgVIFUtOTk5CA8PR3h4eInD25dWRmQObJ9EBBh4zc2CBQswa9YspKamolu3bhg0aBA6deqENm3aFBvn5vr16zh06BC2b9+O3377Dampqejduze++uorNGzYsNLeSHnwmhvjKZVKODg4AACysrJgb29vUBmRObB9EtVshn5/G3S31KRJkxAREYF58+bhhx9+wBtvvAGJRAKpVAoXFxe4uLggNzcXKSkpyM3NBaC9Dbx37954++230bNnT9O8KyIiIqKHMPhWcBcXF8ycORPTpk3D1q1bsWPHDuzfvx/Xr19HQkICbG1t4efnh+DgYISFhWHAgAEIDAyszNiJiIiIiin3xJkymQz9+/dH//79KyMeIiIiogrhreBERERUozC5ISIiohql3KeliOzs7IwqIzIHtk8iYnJD5WJvbw+lUlnuMiJzYPskIoCnpYiIiKiGYXJDRERENQqTGyqX3NxcPPHEE3jiiSd0AzYaUkZkDmyfRAQYOP3Cg9atW4dnnnmm2NQL1QWnXzAeh7enqoztk6hmM/T726iem8GDB8PPzw+TJ0/G+fPnjQ6SiIiIyNSMSm4+/PBD2NjYYN68eWjRogW6d++OVatWsauXiIiILM6o5GbmzJmIj4/HX3/9haeeegoHDx5EREQEfH198dprryE6OtrUcRIREREZxOgLiqVSKZ544gls2LAB169fx+zZs+Hp6YmFCxciJCQEHTp0wNKlS5GVlWXKeImIiIjKZJK7pby8vPDee+/h4sWL+Pvvv+Hr64tjx45h3LhxqFOnDsaPH4+rV6+a4lBEREREZTLZreAxMTF488038dJLL+HmzZuw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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "time_nfe = len(m.fs.time) - 1\n", + "pyo.TransformationFactory(\"dae.finite_difference\").apply_to(\n", + " m.fs, nfe=time_nfe, wrt=m.fs.time, scheme=\"BACKWARD\"\n", + ")\n", + "iscale.scale_time_discretization_equations(m, m.fs.time, 1 / (60 * 5))" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAHOCAYAAACcvdMVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAACS3klEQVR4nOzdd3xUVdrA8d+dll4ICUkIJTQpKoQuxQ0qiqIsoCBgISjqiugiCFheqa6AddFVZBUVbCuWtaKyioCKCNJFEClBEBIIhCSkTT3vH5MMGTIz6ZmU56v5MPfc5945M3Nm5plz7z1HU0ophBBCCCEaMJ2/KyCEEEIIUdMk4RFCCCFEgycJjxBCCCEaPEl4hBBCCNHgScIjhBBCiAZPEh4hhBBCNHiS8AghhBCiwZOERwghhBANniQ8QgghhGjwJOGpYYmJiWia5vYXEBBAixYtGD58OJ9//rm/q9jgmM1mHnnkETp06EBAQACappGYmOjvapVy+PDhOlu38qrtx1DWa5uVlcXkyZNp3bo1JpMJTdMYNGgQAHPnzkXTNObOnVsrdRWiNjWEz5OaJglPLRkwYAApKSmkpKQwdOhQDAYDn376KcOGDWPatGn+rl6FFSdvddGsWbNYuHAhZ8+eZfjw4aSkpDBq1Ch/V0tUg7Je27vuuoslS5ag0+m4/vrrSUlJ4eqrr/ZjjavP8uXL0TSNCRMm+LsqjZK/E+biH8+HDx/2y/03BAZ/V6CxuOOOO9w+qGw2G1OnTuWFF17gn//8J+PGjaN3797+q2AD8t577wHw/fff06FDBz/XRlQnX6+t1Wrlo48+IjAwkJ07dxIeHu6PKgrhFwkJCezduxej0ejvqtRZ0sPjJwaDgaeeesr1ofzZZ5/5uUYNx5EjRwAk2WmAfL22aWlp2Gw2YmNjJdkRjY7RaKRTp060a9fO31WpsyTh8aPAwEDXB/eJEyc8xqxZs4brr7+e+Ph4TCYTzZo1Y+TIkWzcuNFj/ObNm5k5cyZ9+vQhLi4Ok8lEbGwsw4YN45tvvvFZn99//5177rmHjh07EhwcTHh4OF26dOGee+5h9+7dwLlu3WLnn590fnfr6tWrue6662jWrBkmk4nmzZszZswYtmzZ4rEOgwYNQtM01q1bx/fff8+wYcOIiYlBp9OxfPlyn/Uv7vJVSpWq2/nbbt26lZtvvplWrVoREBBAVFQUQ4YM4YsvvvC6f5vNxrJlyxg0aBBRUVEEBATQpk0bJk2axNGjR71u9/nnn5OcnExYWBgRERFceumlfPLJJz4fiy+VeY1LHg7Jy8vj4Ycfpn379gQEBBAXF0dKSgrHjh2rtccAUFBQwDPPPMMll1xCZGQkgYGBdOzYkZkzZ3L69Gm32LJeW03TaN26NQB//PGH2/p169b5rEdZhyrWrVvndi7Q+Y4fP860adPo3LkzwcHBhIWF0bt3b1544QVsNlup+AkTJrjqnZqayq233kpcXBwBAQG0a9eORx99FLPZXOrx33bbbQCsWLHC7fF5q5c33377LaNHj6ZFixYEBAQQExND7969mTNnTqnnHar2Ht6xYwfXX3890dHRBAQE0KVLF5555hnX61gd9fv999/529/+Rrt27QgMDCQiIoK//OUvvPXWW9VWP03TmDdvHgDz5s1ze/5L9tyXPOz0ySefcPnllxMVFeXWDjMyMnj++ecZOnQobdq0ISgoiPDwcHr16sUTTzxBYWGh230Xt+8//vgDgDZt2nhs32Wdw/Pnn39y33330aFDB9fzNGDAAP79739jt9tLxVflM+Obb75h2LBhxMbGYjQaadKkCR06dOCWW27hu+++87hNrVCiRrVu3VoB6vXXX/e4vkOHDgpQs2bNKrXugQceUIDS6XSqT58+avTo0apv375K0zSl1+vVa6+9VmqbK664Qul0OnXxxReroUOHqtGjR6sePXooQAFq8eLFHuvx9ttvq4CAAAWoVq1aqRtuuEGNHDlSdevWTWmapubMmaOUUuqjjz5SKSkprv2lpKS4/WVkZLj2+eijjypAaZqmBgwYoMaNG6eSkpIUoPR6vXr11VdL1SM5OVkB6p577lE6nU516dJFjR07Vl111VXqnXfe8flcP/DAA17r9v3337viFi9erHQ6nQJUUlKSGjVqlBo4cKAymUwKUPPmzSu175ycHDVo0CAFqNDQUJWcnKxGjRqlOnbsqADVtGlTtW3btlLbPfvss6769OnTR40bN0716tVLAWratGkKUK1bt/b5uM5Xmdf49ddfV4AaMWKE6tq1q4qMjFTDhg1Tw4cPV82aNXPVIysrq1Yew7Fjx9TFF1+sABUVFaUGDx6sRo4c6Xq/JCYmqsOHD7viy3ptU1JS1A033KAAFRIS4rZ+7969Siml5syZowBXWy7mrbzY2rVrFaCSk5NLrVu/fr1q0qSJq85//etf1ZAhQ1xlV111lbJYLG7bFD+OKVOmqPDwcNW6dWt14403qsGDB6ugoCDX61TSAw88oAYMGKAA1a5dO7fHt3DhwnI/7/fdd5/rOUxKSlJjx45V11xzjWrbtq0C1Nq1a93iq/Iefuihh5TJZFKdO3dWY8eOVcnJyUqv17see3XU77333lOBgYEKUJ06dVIjR45Ul19+uQoJCVGAuu2226qlfikpKapbt24KUN26dXN7/l955RVXXHH7vffeexWgevXqpcaNG6eSk5PVd999p5RS6s0331SASkhIUMnJyWrs2LHqiiuuUKGhoQpQ/fr1U4WFha59Frfv4sd0ww03eGzfqampXt+LmzdvVlFRUa7P9zFjxqirr77a9dwNGTJEmc1mt20q+5mxfPlypWma0jRN9e3bV40ZM0b99a9/VT169FB6vd7ra18bJOGpYb4Snj179rjeYD///LPbupdfflkBqn379mrnzp1u69avX6/CwsKUyWRSv//+u9u6L774Qh0/frzUff34448qPDxcGY1G9eeff7qt27JlizIajUrTNPX8888ru93utv7w4cNqy5YtbmXFH0refPnllwpQgYGB6n//+5/bumXLlilAGY1GtXv3brd1xR9GgHrxxRe97t8XX3X76quvlKZpKjo6Wq1fv95t3a5du1SLFi0UoNatW+e27qabblKAuu6669SJEyfc1v3zn/9UgOrQoYOy2Wyu8p07dyq9Xq90Op16//333bZ56623lKZplUoWKvMaF394FX+4ZWdnu9ZlZma6vsQWLFjgtl1NPAaHw+H68p44caLKyclxrbNara5E/7LLLiu1ra/X1tcHvlLVn/CkpaWppk2bKk3T1JIlS9zeN6dOnVKXX365xwS6ZOL2f//3f25t5pdffnF9sf34449u2xW/hikpKR7rWZbnn3/elZx/++23pdZv2rRJHTlyxLVcHe/hpUuXuq1bs2aN6wfb0aNHq1S/Xbt2qYCAABUYGKg+/PBDt9jDhw+7EuoVK1ZUS/3KaidKnfu81+v16pNPPvEYs2fPHrVx48ZS5ZmZmeqqq65SgHryySe97js1NdXjfr21/8LCQte2d999t1sCfvDgQZWYmKgA9cgjj7htV9nPjDZt2ijA7UdmsRMnTnj8YVhbJOGp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PctXX31V7u2uueYaAD799NMKdXMnJycD8Pbbb3tc/8Ybb5R7X8Uq8xpXRU08huLnszh587fiD/m9e/d6XF98rs75ih9H8ejPNa04MfP0nitLr169iI6OJiMjg48//rjM+Np+D1e0fiU/t+rD81+s+P3bvHlzj+eveRs7qCr3X3xe4sqVKz1+fn300UecOXOGsLAwr+eMVlV4eDhz584lMjKS/Px8fv/99xq5n7JIwuNn99xzD61atSI7O5tnnnkGcCYTc+bMQSnFyJEj+eGHH0ptZ7fb+fbbb/npp59cZcUnka1YscLt12phYSH33HOPK4s/3//93/9hMBh44YUXWLJkSakvoT/++IOtW7e6lbVo0QLAa0L2wAMPAPDSSy+xZs0at3XLly/n008/xWg0MmXKFI/b15R//OMfgPMkck+jWyul2LRpE//73/9cZd27d+eGG27g6NGjXH/99R57NfLy8nj77bfdBpC877770Ov1vPfee3z00Udu8e+++265PtjPV9nXuLJq4jEMHz6c3r17s3nzZm677TaP5+mcOXOGpUuXVunLpbwuv/xydDodq1evZv369a5ypRTPP/+81yRyxowZREZG8uyzz/LMM89gsVhKxaSmpvr8EquI4vfcnj17KrytwWDg//7v/wDnxQmeBn/7+eefXedsQe2+hytTvzlz5mAymZgxYwYrVqzweOhx9+7d/Pe//61y/aDsz7zyuOCCC9Dr9fzyyy+lBsT87LPP+Oc//1nt9z969GhatWrlGiCz5HsqNTXV9Trfd999pU7srqj8/HyeffZZj+/p77//nqysLPR6veux1Do/XBnWqJQ18KBSSr322muuywJPnz7tKp8xY4brMtwLL7xQDR8+XI0dO1YNGjRIRUZGKkC99NJLrvgzZ8647q9p06ZqxIgR6oYbblDNmjVTYWFhasqUKV4va12xYoUyGo2uyxpHjRqlrr/+epWUlOQ28GCx6dOnK0BFR0erG2+8UU2cOFFNnDhRnTp1yhVTctCygQMHqptuusk1QF5Zg5adP8BYRRQ/Z94899xzymAwKIrGObr22mvVTTfdpK688krXgFoPPvig2zY5OTmuy3RNJpPq3bu3uvHGG9Xo0aNV7969XYMWFg8CVqx4+ABA9e3bV910002qd+/eClBTp06t8CXdlX2Ny7qk2dcl3dX9GJRyDjxYPI5HSEiI6t+/vxo7dqyrzRWPT1XyMlmlauaydKWU63nT6/Vq0KBB6vrrr1ft2rVTRqNRPfTQQx4vS1fKOSZWdHS0AlSzZs3U5Zdfrm6++WZ13XXXqXbt2rmes5KKL0v39png7bUym82u4Sq6d++uxo8fryZOnOhxzBZPHA6H65L34n2MHTtWDR06tFwDD1bXe9jb61CZ+r333nsqODhYAapFixbqqquuUjfffLO65pprXGNqnT+kQmXrl56e7hojacCAAWrChAlq4sSJbgPAlnXpuFLn2ppOp1PJyclq3Lhxrue0+Pn21MZfeOEFBc6BT6+//nrXZ+5vv/2mlCr/wIOtW7dWY8aMUUOHDi3XwIMV+cw4c+aM67F169ZNjRo1So0bN07169fPNWbX7NmzvT43NU0SnhpWnoTHZrOpLl26KHCO/lnShg0b1M0336xat26tAgICVFhYmLrgggvUiBEj1LJly1RmZqZbfEZGhrrnnntUu3btVEBAgGrevLm65ZZb1P79+8tswL/++quaOHGiatOmjQoICFARERGqS5cu6t5771W//vqrW2xBQYGaOXOmat++vevL3tMb/csvv1RDhw5VTZs2VQaDQcXFxanRo0erTZs2eaxDbSQ8SjkHeLvrrrtUhw4dVGBgoAoODlZt27ZVQ4YMUc8//7w6duxYqW3sdrt655131NChQ1VsbKwyGo2qadOm6qKLLlK33Xab+uijj0qNqquUUp988okaOHCgCgkJUaGhoap///7qgw8+KPML2pvKvMZVSXhq4jEo5RwQbenSpeqyyy5ztY9mzZqppKQkNXnyZLV69epS29RUwuNwONQzzzyjOnfurEwmk4qKilLDhg1TW7du9TnSslLOwdRmzZqlevTo4RoQtEWLFqp///5qzpw5ateuXW7xlU14lHK227/+9a8qJibGNVq4t3p58+WXX6rhw4e72nBMTIzq06ePmjdvntsPrpLx1fkeLms8m4rWLzU1VU2dOlVddNFFKiQkRAUGBqrWrVurQYMGqUWLFqkDBw5UW/2+++47NXjwYNWkSRPX81/ydSpPwuNwONSrr76qevbsqUJDQ1VERIQaOHCgevfdd5VS3tu43W5XCxcuVBdeeKErUSn5OMpq/0eOHFGTJ09Wbdu2VSaTSYWFhal+/fqpl156yeN4WJX5zLBarWrp0qVq3Lhx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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Load and fix the right initial condition. The `.json.gz` file is generated beforehand by a steady-state optimization. In this case, all these files are pregenerated and committed to the examples repo.\n", + "\n", + "Since we are loading an initial condition from a file, we don't need to solve a steady state problem at `t=0`. Therefore, we need to fix variables corresponding to the differential variables of the system and deactivate certain equations that become degenerate." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "if operating_scenario == OperatingScenario.maximum_production:\n", + " ms.from_json(m, fname=\"max_production.json.gz\", wts=ms.StoreSpec.value())\n", + "elif operating_scenario == OperatingScenario.power_mode:\n", + " ms.from_json(m, fname=\"power_mode.json.gz\", wts=ms.StoreSpec.value())\n", + "\n", + "m.fs.fix_initial_conditions()" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that we have loaded an initial condition, we can view it in the flowsheet. The `write_pfd` function iterates through a template `.svg` file and adds numbers to it by comparing the object name in the `.svg` to tags in the flowsheet." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.write_pfd(fname=\"soc_dynamic_flowsheet.svg\")\n", + "display(\n", + " \"SOC Dynamic Flowsheet\",\n", + " SVG(filename=\"soc_dynamic_flowsheet.svg\"),\n", + ")" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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eOmllwAoLi6mefPm3H777TzwwAN+ji6w2Gw2li1bxpgxY/wdSsA6efIkCQkJpKSkcOmll/o7nIBUv3595s+fz9SpU/0dSsDIzMyke/fuLFy4kMcff5xu3brx/PPP+zusgDBnzhw+/PBDtm/f7u9QAtIDDzzAV199xYYNG2r8tTTCVA35+fls3bqVIUOGONqCgoIYMmQImzZt8mNkYlXp6elASUFoqbyioiLeeecdsrKy6Nu3r7/DCSjTp09nxIgRTv8WSuX9+OOPNG3alAsuuIBJkyaRlpbm75ACxscff0zPnj2ZMGECCQkJXHLJJfztb3+rkddSwlQNp06doqioiMTERKf2xMREjh075qeoxKqKi4u566676NevH506dfJ3OAFjx44dxMTEEB4ezm233cayZcvo0KGDv8MKGO+88w7btm1j7ty5/g4lICUlJbF48WI+/fRTXn75ZQ4cOMCAAQM4e/asv0MLCPv37+fll1+mbdu2rF69mmnTpnHHHXfw5ptvev21Qrx+RhHxi+nTp7Nz507Nf6ii9u3bs337dtLT03n//fdJTk4mJSVFSVMlHD58mDvvvJM1a9YQERHh73AC0pVXXul43KVLF5KSkmjZsiVLly7VZeFKKC4upmfPnjz55JMAXHLJJezcuZNXXnmF5ORkr76WRpiqoWHDhgQHB3P8+HGn9uPHj9O4cWM/RSVWNGPGDJYvX866deto1qyZv8MJKGFhYbRp04YePXowd+5cunbtygsvvODvsALC1q1bOXHiBN27dyckJISQkBBSUlL461//SkhICEVFRf4OMeDEx8fTrl079u3b5+9QAkKTJk1c/ri5+OKLa+SyphKmaggLC6NHjx6sXbvW0VZcXMzatWs1B0J8wjAMZsyYwbJly/jiiy9o3bq1v0MKeMXFxeTl5fk7jIBw+eWXs2PHDrZv3+7YevbsyaRJk9i+fTvBwcH+DjHgZGZm8tNPP9GkSRN/hxIQ+vXr57KUyg8//EDLli29/lq6JFdNM2fOJDk5mZ49e9K7d2+ef/55srKymDJlir9DCwiZmZlOf0kdOHCA7du3U79+fVq0aOHHyALD9OnTWbJkCR999BH16tVzzJ2Li4sjMjLSz9HVfrNmzeLKK6+kRYsWnD17liVLlrB+/XpWr17t79ACQr169Vzmy0VHR9OgQQPNo6uke+65h1GjRtGyZUuOHj3K7NmzCQ4O5rrrrvN3aAHh7rvv5ne/+x1PPvkkEydOJDU1lddee43XXnvN+y9mSLW9+OKLRosWLYywsDCjd+/exubNm/0dUsBYt26dAbhsycnJ/g4tIJT12QHGokWL/B1aQLjpppuMli1bGmFhYUajRo2Myy+/3Pjss8/8HVZAGzhwoHHnnXf6O4yAce211xpNmjQxwsLCjPPPP9+49tprjX379vk7rIDyySefGJ06dTLCw8ONiy66yHjttddq5HW0DpOIiIiIG5rDJCIiIuKGEiYRERERN5QwiYiIiLihhElERETEDSVMIiIiIm4oYRIRERFxQwmTiIiIiBtKmERERETcUMIkIgFh0KBB2Gw2f4dRaYZh0KNHD4YNG+bU7u338fnnn2Oz2Vi5cqXXzikirlRLTkR8rqoJQyAWJHjrrbfYtm0bmzZtqtHXGTJkCP379+e+++5j+PDhKngrUkOUMImIz82ePdul7fnnnyc9Pb3MfWAmINnZ2TUdmlcUFxczZ84cBgwYQJ8+fWr89e677z6uvvpq3nnnHSZNmlTjrydiRaolJyK1QqtWrTh06FBAjiada8WKFYwcOZK//e1v3HzzzU77Bg0aREpKilffZ0FBAU2bNuWiiy5iw4YNXjuviJTQHCYRCQhlzf1ZvHgxNpuNxYsX88knn5CUlERUVBTnn38+Dz/8MMXFxQC8+eabdO3alcjISFq0aMH8+fPLfA3DMHjjjTfo168fsbGxREVF0bNnT954440qxbpo0SJsNhvjxo0r95iCggLmzJlDq1atCA8Pp127dixcuNDluDlz5mCz2Vi/fj2LFy+me/fuREVFMWjQIMcxoaGhjBkzho0bN7Jv374qxSoilaNLciIS8JYtW8Znn33GmDFj6NevHytWrODxxx/HMAzi4uJ4/PHHGT16NIMGDeLf//439913H4mJidx4442OcxiGwaRJk/jXv/5F27Ztuf766wkLC2PNmjVMnTqV3bt388wzz7iNxTAM1q1bR/v27TnvvPPKPe66664jNTWVK6+8kuDgYJYuXcr06dMJDQ3llltucTl+/vz5rFu3jtGjRzNs2DCXuUp9+/bl9ddf54svvqBNmzZV+PREpFIMEZFaoGXLlkZF/yQNHDjQZf+iRYsMwAgNDTVSU1Md7RkZGUZCQoIRFRVlNG7c2Pjpp58c+9LS0oywsDCjc+fOTud67bXXDMCYMmWKkZ+f72jPy8szRo0aZQDGli1b3L6PXbt2GYAxadKkCt9HUlKSkZ6e7mjfs2ePERISYrRv397p+NmzZxuAER0dbfz3v/8t93W/++47AzBuvPFGtzGKSNXpkpyIBLw//OEP9OrVy/G8Xr16jBw5kuzsbKZNm8YFF1zg2Ne8eXP69+/P7t27KSwsdLS/9NJLREdHs2DBAkJDQx3tYWFhPPHEEwD861//chvLzz//DEBiYmKFx82dO5fY2FjH8/bt29OvXz/27t3L2bNnXY6/9dZb6dy5c7nns7+e/fVFxLt0SU5EAl63bt1c2po0aVLhvqKiIo4fP875559PdnY2O3bsoGnTpjz99NMuxxcUFACwZ88et7H88ssvAMTHx1d4XI8ePVzamjVrBsCZM2eoV6+e077evXtXeL769esDcOrUKbcxikjVKWESkYBXeqTGLiQkxO0+eyL066+/YhgGR44c4dFHHy33dbKystzGEhkZCUBubq7HMRcVFbnsczdilZOTA0BUVJTbGEWk6pQwiYjl2ZOXHj16sGXLlmqdq1GjRgCcPn262nGV5m6xT/vr2V9fRLxLc5hExPLq1avHxRdfzPfff8+ZM2eqda6OHTsSFBTE3r17vRNcJdlfr6J5TiLiOSVMIiLAHXfcQXZ2NrfcckuZl94OHDjAwYMH3Z4nPj6eLl26sGXLFsc6UL7wzTffADBw4ECfvaaIlShhEhEB/vjHP5KcnMz7779P27ZtufHGG3nggQeYMmUKffv25cILL2Tz5s2VOtfYsWM5e/ZspY/3hjVr1nDeeedx6aWX+uw1RaxECZOICDhWDH/33Xfp2LEjy5cv59lnn2XNmjVERETwzDPPMGTIkEqd6+abbyYkJIR//OMfNRy16eDBg3z11VckJycTERHhk9cUsRrVkhMRqQE33HADK1as4NChQy5LBHjbQw89xLx58/j++++58MILa/S1RKxKI0wiIjXg8ccfJycnhxdffLFGX+fXX3/lxRdfZNq0aUqWRGqQlhUQEakBLVu25M033+T48eM1+joHDhzg7rvv5vbbb6/R1xGxOl2SExEREXFDl+RERERE3FDCJCIiIuKGEiYRERERN5QwiYiIiLihhElERETEDSVMIiIiIm4oYRIRERFxQwmTiIiIiBtKmERERETc+P/PRslFxSTv3AAAAABJRU5ErkJggg==", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We create a `ComponentMap` to translate between the column names in `soec_flowsheet_operating_conditions.csv` to the variables in the actual flowsheet so we can use them as setpoints." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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uAq9evXixhtv5O9//zsATqeTmJgY/vjHPzJjxowGLp130Wg0fPbZZ9xxxx0NXRSvdeHCBcLCwtiyZQu33nprQxfHawUHB7Nw4UImTZrU0EXxGvn5+XTr1o033niDefPmccMNN1Q7h52oMHv2bFavXs3evXsbuihea8aMGXz33Xds3br1mp5HWpKuUGlpKbt372bgwIGufVqtloEDB7J9+/YGLJlorHJzcwH1S15cOYfDwQcffEBBQQGJiYkNXRyv8sgjj3D77be7/T0UNXP8+HGioqKIi4tj/PjxnD17tqGL5FW++OILevTowe9//3vCwsLo2rUr//znP+v8PBIkXaHMzEwcDgfh4eFu+8PDw0lLS2ugUonGyul08vjjj9O7d286derU0MXxKgcOHMDf3x+TycSDDz7IZ599RocOHRq6WF7jgw8+YM+ePSxYsKChi+J1evXqxfLly1m3bh1vvvkmp06d4pZbbsFqtTZ00bzGyZMnefPNN2nTpg3r16/noYce4tFHH2XFihV1eh6vW5ZECFHhkUce4eeff5bxDFehXbt27N27l9zcXD755BMmTJjAli1bJFCqgeTkZB577DE2bNiAj49PQxfH6wwbNsz1vHPnzvTq1YvY2Fg++ugj6e6tIafTSY8ePXjxxRcB6Nq1Kz///DNLly5lwoQJdXYeaUm6QiEhIeh0OtLT0932p6enExER0UClEo3RtGnT+PLLL9m0aRPNmjVr6OJ4HaPRSOvWrenevTsLFiygS5cu/O1vf2voYnmF3bt3k5GRQbdu3dDr9ej1erZs2cLixYvR6/U4HI6GLqJXCQoKom3btiQlJTV0UbxGZGRklR807du3r/NuSwmSrpDRaKR79+588803rn1Op5NvvvlGxjOIeqEoCtOmTeOzzz5j48aNtGzZsqGL9KvgdDopKSlp6GJ4hQEDBnDgwAH27t3r2nr06MH48ePZu3cvOp2uoYvoVfLz8zlx4gSRkZENXRSv0bt37ypTnxw7dozY2Ng6PY90t12FJ598kgkTJtCjRw969uzJokWLKCgoYOLEiQ1dNK+Qn5/v9ovp1KlT7N27l+DgYJo3b96AJfMOjzzyCO+//z6ff/45FovFNRYuMDAQX1/fBi6dd5g5cybDhg2jefPmWK1W3n//fTZv3sz69esbumhewWKxVBkDZzabadq0qYyNq4Hp06czYsQIYmNjOX/+PLNmzUKn0zFu3LiGLprXeOKJJ7j55pt58cUXGTNmDDt27OCtt97irbfeqtsTKeKqLFmyRGnevLliNBqVnj17Kj/88ENDF8lrbNq0SQGqbBMmTGjoonkFT9cOUJYtW9bQRfMa999/vxIbG6sYjUYlNDRUGTBggPK///2voYvl1fr27as89thjDV0Mr3DXXXcpkZGRitFoVKKjo5W77rpLSUpKauhieZ01a9YonTp1UkwmkxIfH6+89dZbdX4OmSdJCCGEEMIDGZMkhBBCCOGBBElCCCGEEB5IkCSEEEII4YEESUIIIYQQHkiQJIQQQgjhgQRJQgghhBAeSJAkhBBCCOGBBElCCCGEEB5IkCSEuG7169cPjUbT0MWoMUVR6N69O4MHD3bbX9ef4+uvv0aj0fDf//63zo4phKhK1m4TQtSLKw0SvHExgHfeeYc9e/awffv2a3qegQMH0qdPH5555hmGDBkiC8oKcY1IkCSEqBezZs2qsm/RokXk5uZ6TAM16CgsLLzWRasTTqeT2bNnc8stt3DTTTdd8/M988wz/Pa3v+WDDz5g/Pjx1/x8QjRGsnabEKLBtGjRgjNnznhlq9EvrV27lt/85jf885//5IEHHnBL69evH1u2bKnTz2mz2YiKiiI+Pp6tW7fW2XGFEBVkTJIQ4rrlaSzP8uXL0Wg0LF++nDVr1tCrVy/8/PyIjo7mueeew+l0ArBixQq6dOmCr68vzZs3Z+HChR7PoSgKb7/9Nr179yYgIAA/Pz969OjB22+/fUVlXbZsGRqNhtGjR1ebx2azMXv2bFq0aIHJZKJt27a88cYbVfLNnj0bjUbD5s2bWb58Od26dcPPz49+/fq58hgMBu644w62bdtGUlLSFZVVCFEz0t0mhPBKn332Gf/73/+444476N27N2vXrmXevHkoikJgYCDz5s1j5MiR9OvXj08//ZRnnnmG8PBw7r33XtcxFEVh/PjxrFq1ijZt2vCHP/wBo9HIhg0bmDRpEocOHeKVV165bFkURWHTpk20a9eOJk2aVJtv3Lhx7Nixg2HDhqHT6fjoo4945JFHMBgMTJ48uUr+hQsXsmnTJkaOHMngwYOrjD1KTEzkX//6Fxs3bqR169ZXcPWEEDWiCCFEA4mNjVUu9Weob9++VdKXLVumAIrBYFB27Njh2p+Xl6eEhYUpfn5+SkREhHLixAlX2tmzZxWj0agkJCS4Heutt95SAGXixIlKaWmpa39JSYkyYsQIBVB27dp12c9x8OBBBVDGjx9/yc/Rq1cvJTc317X/yJEjil6vV9q1a+eWf9asWQqgmM1mZf/+/dWed9++fQqg3HvvvZctoxDiykl3mxDCK919993ceOONrtcWi4Xf/OY3FBYW8tBDDxEXF+dKi4mJoU+fPhw6dAi73e7a//e//x2z2czrr7+OwWBw7TcajcyfPx+AVatWXbYsKSkpAISHh18y34IFCwgICHC9bteuHb179+bo0aNYrdYq+adMmUJCQkK1xys/X/n5hRB1S7rbhBBe6YYbbqiyLzIy8pJpDoeD9PR0oqOjKSws5MCBA0RFRfHSSy9VyW+z2QA4cuTIZcty8eJFAIKCgi6Zr3v37lX2NWvWDICcnBwsFotbWs+ePS95vODgYAAyMzMvW0YhxJWTIEkI4ZUqt8iU0+v1l00rD36ys7NRFIVz584xZ86cas9TUFBw2bL4+voCUFxcfNVldjgcVdIu1zJVVFQEgJ+f32XLKIS4chIkCSEapfKApXv37uzatatWxwoNDQUgKyur1uWq7HITcJafr/z8Qoi6JWOShBCNksVioX379hw+fJicnJxaHatjx45otVqOHj1aN4WrofLzXWrckhDi6kmQJIRotB599FEKCwuZPHmyx261U6dOcfr06cseJygoiM6dO7Nr1y7XPE314ccffwSgb9++9XZOIRoTCZKEEI3W1KlTmTBhAp988glt2rTh3nvvZcaMGUycOJHExERatWrFDz/8UKNjjRo1CqvVWuP8dWHDhg00adKEW2+9td7OKURjIkGSEKLRKp+5+8MPP6Rjx458+eWXvPrqq2zYsAEfHx9eeeUVBg4cWKNjPfDAA+j1et57771rXGrV6dOn+e6775gwYQI+Pj71ck4hGhtZu00IIerIPffcw9q1azlz5kyV2/nr2p///GdefvllDh8+TKtWra7puYRorKQlSQgh6si8efMoKipiyZIl1/Q82dnZLFmyhIceekgCJCGuIZkCQAgh6khsbCwrVqwgPT39mp7n1KlTPPHEE/zxj3+8pucRorGT7jYhhBBCCA+ku00IIYQQwgMJkoQQQgghPJAgSQghhBDCAwmShBBCCCE8kCBJCCGEEMIDCZKEEEIIITyQIEkIIYQQwgMJkoQQQgghPJAgSQghhBDCg/8HrOPgRUJ4aeAAAAAASUVORK5CYII=", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "alias_dict = ComponentMap()\n", + "alias_dict[m.fs.voltage_controller.mv_ref] = \"potential\"\n", + "alias_dict[m.fs.voltage_controller.setpoint] = \"soc_fuel_outlet_mole_frac_comp_H2\"\n", + "alias_dict[m.fs.soc_module.fuel_outlet_mole_frac_comp_H2] = (\n", + " \"soc_fuel_outlet_mole_frac_comp_H2\"\n", + ")\n", + "alias_dict[m.fs.h2_production_rate_controller.mv_ref] = \"makeup_feed_rate\"\n", + "alias_dict[m.fs.h2_production_rate_controller.setpoint] = \"h2_production_rate\"\n", + "alias_dict[m.fs.h2_production_rate_controller.gain_p] = (\n", + " \"h2_production_rate_controller_gain_p\"\n", + ")\n", + "alias_dict[m.fs.sweep_blower_controller.mv_ref] = \"sweep_feed_rate\"\n", + "alias_dict[m.fs.sweep_blower_controller.setpoint] = \"stack_core_temperature\"\n", + "alias_dict[m.fs.feed_heater_inner_controller.mv_ref] = \"feed_heater_duty\"\n", + "alias_dict[m.fs.feed_heater_outer_controller.mv_ref] = \"feed_heater_outlet_temperature\"\n", + "alias_dict[m.fs.feed_heater_outer_controller.setpoint] = \"fuel_outlet_temperature\"\n", + "alias_dict[m.fs.sweep_heater_inner_controller.mv_ref] = \"sweep_heater_duty\"\n", + "alias_dict[m.fs.sweep_heater_outer_controller.mv_ref] = (\n", + " \"sweep_heater_outlet_temperature\"\n", + ")\n", + "alias_dict[m.fs.sweep_heater_outer_controller.setpoint] = \"sweep_outlet_temperature\"\n", + "alias_dict[m.fs.makeup_mix.makeup_mole_frac_comp_H2] = \"makeup_mole_frac_comp_H2\"\n", + "alias_dict[m.fs.makeup_mix.makeup_mole_frac_comp_H2O] = \"makeup_mole_frac_comp_H2O\"\n", + "alias_dict[m.fs.condenser_flash.vap_outlet.temperature] = (\n", + " \"condenser_hot_outlet_temperature\"\n", + ")\n", + "\n", + "alias_dict[m.fs.sweep_recycle_split.recycle_ratio] = \"sweep_recycle_ratio\"\n", + "\n", + "alias_dict[m.fs.feed_recycle_split.recycle_ratio] = \"fuel_recycle_ratio\"\n", + "alias_dict[m.fs.condenser_split.recycle_ratio] = \"vgr_recycle_ratio\"\n", + "\n", + "df = pd.read_csv(\"soec_flowsheet_operating_conditions.csv\", index_col=0)" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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nUu9evXo0aMHKSkplrZ66NAhxo4di6+vL3Xr1qVFixZcvXqVffv2WW4P79y5E29vb8DcFkaNGsW6deuIj4+nd+/eVu2jVq1aN/3ZldS4ceP47LPPaN++Pffffz/nzp2zjCXcvHkzgwYN4urVq1SvXp2ePXtiNBrZvXs348aN4+eff2bNmjXY2dmVWX1EFVPZUZoQFSkjI0MFBwcrQGk0GhUZGammTZum1q5dqxISEoo9b+LEiQpQ4eHhJXqd8+fPW/5T/euvvyzppelJys3NVVqtVgFq4cKFJT6vpB5++GEFqDZt2lj1xGRkZKi+ffsqQLVv397qnNv5D76gd+b6/9avV1xPkslkUh06dFCAGjNmjEpPT7fk5ebmqpdfflkBqmvXrrdc1xsp6AEbNWpUsWXefPNNy/fw3LlzVnnLly9XNjY2ytPT06rHpOB9AqpmzZoqJibGkpeUlKRq166tANWoUSPVunVrq5/NuXPnlKenpwLU1q1brV6voCcJUAMHDrTqNbp48aKqU6eOAtTrr79udd7hw4eVTqdTDg4OasWKFVZ5MTExqlGjRgpQCxYssMq7vrfu008/LfL7c/HiRfXnn3+q/Px8q3SDwaBGjhypAPV///d/hc67vpeqKGXRk+Tm5qZ27NhRKD82NlZ5e3srjUajPvvsM6u6JyUlqW7duilATZ06tdjXFnc+CZLEPefkyZOqTZs2RXbjN23aVH3++ecqLy/P6pynn35aAapt27Yleo3s7GzLNZcuXWpJv9lthOs/3ArExcVZ0tetW1cm34MC58+fV1qtVmk0GnXo0KFC+ZcuXVIODg4KUNu2bSv0PioySPr1118tP6OibnPk5+eriIgIBagjR47cUl1v5GZBUnJysnJ0dFQODg7q0qVLRZb5v//7PwWojz/+2JJ2fZC0du3aQue8//77lmD++vdTYNy4cUV+SBcESY6Ojio2NrbQeT///LMlOMjKyrKkFwTLs2fPLvI97N69WwGqRYsWVukFgUy3bt2KPO9mDAaDsrW1Vb6+voXyKiJIeuutt4o877XXXlOAeu6554rMv3TpkrKzs1O+vr7KZDIV+/rizia328Q9p27duuzcuZPdu3ezdu1adu3axf79+0lMTOTgwYM888wzrFixgrVr12Jvb1+q11AlWFnjRksANG/evFSve6s2b96MyWSiefPmNG7c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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "These loops iterate through the flowsheet and fix ramp rate variables or set variables to the appropriate values for the given setpoints." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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TicdOnSge/fuJCQksH79etasWcPrr7/OzJkzy7zf8nw2AFu3buWJJ54gIiKCfv36kZubi5+fHwBnzpzhlltu4dy5c9StW5fhw4djs9n4448/mDZtGt999x3/+9//qFOnDgBDhw6lUaNG/Pjjj5jNZu655x71fS18bpdVVlYWd955J+vXr8fX15fOnTtTt25dDh06xIIFC/jhhx9Yu3YtHTt2LPc+pBqoui9lSVJVyMrKEvXq1ROAUBRFDBgwQLz55pti5cqVIikpqdjtZsyYobZFKo1z586pl+t///13dX15brfZbDah0WgEIL744otSb1da17rd5nQ6Re/evQUgJk6cKDIzM93q9vzzzwtADBw40G27RYsWqcc6YsQIYTab1bQ9e/YInU4nNBqNaNWqlXjiiSeEzWZT05ctWyYA4e/v77adEFfamABizpw5bmnr168X3t7eAhCrVq1yS/vkk08EIJo2bSoOHDjglrZhwwbh5+cnDAaDOHHihFtawb78/f3Ftm3bPL5HO3fuFIcOHSqyPi4uTrRv314A4vvvvy+Sfq1z4bXXXhOAeO211zymF5xP/fv397geEO3atROXLl0qsu2qVauEoigiJCSkyO3ZgwcPivr16wtArF+/vtj6Xa28n03BOQiI6dOnC4fDUaTsgvaAd955p8jOzlbXJyUliU6dOglAPPjgg0W2a9iwYbG324p7/4Qo/rN58MEHBSDuuOOOIu0C3333XQGIZs2aCbvdXmRbqfaSQZJ00zh27Jj6B/fqqUOHDuLjjz8u8gfuiSeeEIDo0aNHqfaRl5enlvndd9+p6wt/eZU03XXXXeo2CQkJ6vqrv1wqwrWCpN9++019bwoHMgUcDodo06aNANwChYIgydfX12Mj8zvvvFMAokGDBh4b0Ldt21YARb7AC76IO3bs6LG+BUHbrbfe6lbHyMhIAYjdu3d73G7u3Llqg/7CCt77N954w+N217J69WoBiPvuu69IWlUESRs3bvS4bcH/gR9//NFj+vfffy8Acc899xRbv6uV57MR4so52Lx5c4/BxaZNmwQgTCaTSEhIKJK+e/duAQiNRiMuXLjgllaRQdKRI0eEoigiMjLS7cdCYcOHDxeA+Pnnnz2mS7WTvN0m3TRiYmLYvn07O3fuZOXKlezYsYO9e/eSnJzM/v37efLJJ1myZAkrV67EYDCU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2kSzZs2K5MnLy+POO+9k/fr1jBgxgu+///66KyhJkiRJVUGr1VbIF6t04yh1kNS3b1++++477r77boYMGcKWLVvcBpWzWCyMHDmSdevWMXz4cH788UePXQVIErh+uRU8Sn31/f+S0iSpKhR3DspzU5JuLmUeu+2rr75i3LhxtGjRgk2bNhEUFITVamXkyJGsWrWKoUOHsnz58utqTV5byLHbJEmSJKn2Ke33d6m6AChs7NixvPfeexw9epRhw4aRmprKqFGjWLVqFbfeeivLli27KQIkSZIkSZJubOW6HzZ58mRSU1N5/fXXady4MZmZmdxyyy0sX75cDmorSZIkSdINocxXkgq89tprPP3002RmZjJgwAB++eUXvLy8KrJu0g0sJyeH1q1b07p16yKduJWUJklVobhzUJ6bknRzKfWVpOLGKFIUha1btxIUFOQxraDXbUkqTAjBkSNH1PnSpklSVSjuHJTnpiTdXEodJIWGhsqnOSRJkiRJummUOkg6e/ZsJVZDkiRJkiSpZil3myRJkiRJkqQbWY0LkjZu3MiIESOIjIxEURSWLVvmli6EYObMmURERODt7c3gwYM5efKkmn727FkmTpxIdHQ03t7eNGnShNdeew2r1eqWR1GUItP27dur6jAlSZIkSarhShUk/eMf/7iuJzm2b9/OypUrS5XXbDbTvn17/v3vf3tMnzt3Lh988AELFixgx44d+Pj4cNttt5GXlwfAsWPHcDqd/Oc//+HPP//k3XffZcGCBbz88stFyvrf//7HpUuX1Klz587lPkZJkiRJkm4wohR8fHxEaGiomDVrljh16lRpNhEWi0X88MMPYsiQIUKj0Yh//etfpdquMEAsXbpUXXY6nSI8PFy8/fbb6rr09HRhNBrFN998U2w5c+fOFdHR0epybGysAMS+ffvKXKfCMjIyBCAyMjKuq5ybkdlsFg0bNhQNGzYUZrO51GmSVBWKOwfluSlJN4bSfn+XquH2iRMneOWVV3jzzTd544036NChAz169KBz586EhYURGBhIXl4eqampHD9+nB07drB582YyMzNp1KgR33zzDaNHj77ugC42NpaEhAQGDx6srgsICKB79+5s27aNMWPGeNwuIyPDYxcFd955J3l5eTRv3pwXX3yRO++8s8T9WywWLBaLupyZmVnOI5FMJlOxDwOUlCZJVaG4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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "t0 = m.fs.time.first()\n", + "for var in ramp_mvs:\n", + " shortname = var.name.split(\".\")[-1]\n", + " alias = alias_dict[var]\n", + " blk = var.parent_block()\n", + " v_ramp = getattr(blk, shortname + \"_ramp_rate\")\n", + " var[t0].fix(float(df[alias][setpoints[0]]))\n", + " for i, t in enumerate(time_set):\n", + " v_ramp[t].fix(\n", + " float(\n", + " (df[alias][setpoints[i]] - df[alias][setpoints[i - 1]])\n", + " / (time_set[i] - time_set[i - 1])\n", + " )\n", + " )\n", + "\n", + "for var in step_mvs:\n", + " shortname = var.name.split(\".\")[-1]\n", + " alias = alias_dict[var]\n", + " for i, t in enumerate(time_set):\n", + " var[t].fix(float(df[alias][setpoints[i]]))" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here we initialize the controllers. Unit model `.initialize` methods tend to be for steady state optimization, so we manually set variable values and calculate variables from constraints." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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fftZs2axbt06li1bxq+//sratWvZvn27w2vcf//9bN68ma+++ordu3dz8803M3z4cI4cOVKpYzMajSxcuJDY2FiioqIqtU1NkXGShBBCiNKK82F+RN289r+SwdXrosX0ej1hYWGA7Vb3MWPG0KdPH5566qkKt5s6dSq33norAPPnz+f1118nPj6e4cOH8/bbbxMVFcWbb76Jpmm0bduW5ORkZs+ezZw5c8jPz+ejjz7is88+Y8iQIQAsWrSIyMhI+/4TExNZuHAhiYmJRETY3sNHHnmEFStWsHDhQubPn19u3d5++20effRRjEYjbdq0YdWqVbi6ul70vahJ9e5M0vr16xk1ahQRERFomsbSpUsd8pVSzJkzh/DwcDw8PBg6dKhDdLp27VqnpyA1TWPLli1A+acp//zzz9o8VCGEEOKy3XXXXeTm5vLFF1+g01X8td65c2f7upeXF76+vqSlpQFw4MAB+vTpg6Zp9jJ9+/YlLy+PU6dOcezYMYqKiujdu7c9PyAggDZt2tif79mzB4vFQuvWrfH29rYv69at49ixYxXWbdKkSezYsYN169bRunVrJkyYQGFh4SW9F9Wt3p1JMhqNdOnShbvuuotx48aVyV+wYAGvv/46ixYtIjY2lieffJJhw4axf/9+3N3dueaaazh9+rTDNk8++SSrV6/mqquuckj/7bff6NChg/15YGBgzRyUEEKIhsPgaTujU1evfQnmzZvHypUriY+Px8fH5+K7v2CkeE3TqnU4i7y8PPR6Pdu2bUOv1zvkeXt7V7itn58ffn5+tGrViquvvpomTZqwZMkS+5mvulDvgqQRI0YwYsQIp3lKKV599VWeeOIJRo8eDcCnn35KaGgoS5cuZeLEibi6utpPQQIUFxezbNkyZsyY4RAdgy0oKl1W1B6DwcAjjzxiX69snhC1obw2KG3zCqFplbrkVdcWL17MM888wy+//EKLFi0ue3/t2rVj8eLFKKXs35cbN27Ex8eHyMhIAgICMBgMxMXFER0dDUBmZiaHDx9m4MCBAHTr1g2LxUJaWhr9+/evcl2UUiilMJlMl31cl0XVY4BasmSJ/fmxY8cUoHbs2OFQbsCAAeqf//yn03189913SqfTqZMnT9rTEhISFKCioqJUcHCw6tu3r1q2bNlF61NYWKiys7Pty8mTJxWgsrOzq3R8Qggh6lZB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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "# Need to initialize the setpoint for the inner controller or else it starts with the default value 0.5.\n", + "m.fs.feed_heater_inner_controller.setpoint[0].value = (\n", + " m.fs.feed_heater_outer_controller.mv_ref[0].value\n", + ")\n", + "m.fs.sweep_heater_inner_controller.setpoint[0].value = (\n", + " m.fs.sweep_heater_outer_controller.mv_ref[0].value\n", + ")\n", + "for ctrl in m.fs.controller_set:\n", + " if hasattr(ctrl, \"mv_eqn\"):\n", + " calculate_variable_from_constraint(ctrl.manipulated_var[0], ctrl.mv_eqn[0])" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlcAAAHOCAYAAAC1uiySAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAACqrUlEQVR4nOzdd3gUVdvA4d/sZje9kE4kCb0TuvSmNAEBe0EBRXxBwIIVK4gFRT67YkVQfF8UFRQVaQJK7x2UXlMIpG2SrfP9sdnNbnoPIc99XcOUc2bmTJhkn51z5hxFVVUVIYQQQghRITTVXQAhhBBCiKuJBFdCCCGEEBVIgishhBBCiAokwZUQQgghRAWS4EoIIYQQogJJcCWEEEIIUYEkuBJCCCGEqEASXAkhhBBCVCAJroQQQgghKpAEV+KK8u+//zJ58mRatmyJr68vXl5e1KtXj86dOzN58mR++OGHIvdfvnw5o0aNokGDBvj4+BAQEEDLli2ZPHkyBw4cKHS/tWvXoihKiabCGAwG3nvvPQYPHkxUVBSenp74+fnRrFkz7rnnHpYuXYrNZivxz2Ls2LH5zu3h4UFYWBgDBgxgwYIF5B1goazX4bpfZGQkBoOhwDKdPXu22J+DEMKd43f5q6++cts+ffp0FEVh+vTp1VIuUXk8qrsAQjj8+OOP3H333RiNRkJCQujRowdhYWFcvnyZ3bt38+GHH/K///2PW265Jd++aWlp3H333fz6668AtGrVimHDhmE2m9m+fTsffvghH3/8Mc888wyvvPJKkcHBmDFjSl32FStWcM8995CUlISHhwcdO3akV69eWCwWjh07xsKFC1m4cCGdO3dm69atpTp2o0aN6NmzJwDZ2dns37+fVatWsWrVKpYuXcp3332HVqutkOsASEhIYM6cObz44otl2r8gY8eOZf78+cybN4+xY8dW2HFF8Rz3uox0Jgozffp0ZsyYwUsvvSSBXkVRhbgCxMfHq35+fiqgPv7442pWVla+PNu3b1efeeaZfNuNRqPapUsXFVAbNGig/v33327pNptNXbBggerj46MC6mOPPZbvGH/++acKqGX5lVi2bJmq1WpVQL3//vvVhISEfHlOnTql/uc//1Hr1KlT4uOOGTNGBdQxY8bkS/voo4+c5f3iiy/KfR2O/by9vVVFUVR/f381MTExX74zZ86U6fiOa5k3b16p9hPlV9b7WlScwu7/pKQk9dChQ2pSUlL1FCzHSy+9pALqSy+9VK3luJpItaC4IixbtoyMjAyioqJ466238PLyypenY8eOvP766/m2z5gxgy1bthAUFMSff/5Jjx493NIVReHee+9l0aJFALz99tusWrWqQsqdnJzMPffcg9Vq5eGHH+aLL74gPDw8X76YmBjmzp3LkiVLKuS8EydOpE+fPgB89913FXJMgKioKG699VbS09N55ZVXKuy4Qoj8QkNDad68OaGhodVdFFHBJLgSV4SEhAQAwsLCSrVfeno6H3zwAQAvvPACsbGxheYdNmwYw4cPB+DVV18tY0ndffDBB6SkpBAeHs6bb75ZbP7evXtXyHnBHmwCnDx5ssKOCfafjYeHB3PnzuXEiRPlOtbJkydRFIX58+cDcN9997m1+8pbBZGVlcWcOXPo2rUrQUFBeHl50axZM5566imSk5PzHf+rr75CURTGjh1LamoqU6dOpX79+nh5edGkSRPeeOMNZzu3c+fO8Z///Ifo6Gg8PT1p1qwZ77//foHl7tu3L4qisHbtWtatW8fAgQMJDg7Gx8eHa6+9lq+//rrI6169ejU333wzdevWRa/XEx4ezk033cSmTZsKzO/ajm3evHl069aNwMBAFEVx/v+eOnWKN954g+uuu46YmBg8PT0JCgqiZ8+efPLJJ/na8zna8+Q9h2NyHLe4dj+O9nh9+/YtdHtmZiYvvvgiLVq0wMfHh/r167vl3bFjB6NGjXKWOzg4mEGDBvHbb78V+XMsTHJyMg8//LDzeLGxsTz66KOkpKQU2r7Jdfv+/fu54447qFu3Llqt1nntZrOZb775hlGjRtG8eXMCAgLw9vamWbNmPPzww5w/f77QMl26dIlHH32U2NhYPD09iYmJYfLkyVy6dKnQfYr72f/zzz/85z//oVGjRnh5eREYGEjv3r355ptvCszvet/u3r2bm2++mdDQUDw9PWnZsiVz5szJVz2sKAozZswA7F9UXe8RqcIvO2lzJa4IMTExAOzfv5/Vq1dz/fXXl2i/NWvWkJaWBsC9995bbP7Ro0fz888/s379elJTUwkMDCx7oYGlS5cCcMcdd+Dp6VmuY5WW47or+rxNmjRh/PjxfPzxxzz//PMsXLiwzMfy8/NjzJgx/P333xw7dowePXrQuHFjZ3q7du2cy+fPn2fw4MHs27eP4OBgOnfujL+/Pzt37mT27Nl8//33rF27tsAAOiUlhW7dupGcnEyvXr1IT0/nr7/+4plnnuHs2bM8+uij9OzZE51OR/fu3UlKSmL9+vU8/PDDZGZm8vTTTxdY/p9++okPPviA5s2bM2jQIM6fP8/ff//N6NGj2b17N3PmzMm3zxNPPMGcOXPQaDR06tSJXr16cfr0aZYuXcovv/zCZ599xn333Vfg+aZMmcJHH31E9+7dGTp0KMePH3cGSF9//TUvvPACDRo0oGnTpvTo0YMLFy6wadMmNmzYwIoVK1i8eLEzf7t27RgzZowzsM3bBs/Pz6+I/7mSy87Opm/fvhw8eJDevXvTtm1bt0D43XffZerUqdhsNtq1a0eXLl2Ij49n7dq1rFixghkzZpSqfd+FCxfo1asXx44dIzg4mGHDhmGz2ViwYAHLly+nRYsWRe6/ceNGJkyYQN26denduzdZWVn4+/sD9i959957L4GBgbRo0YK4uDgMBgO7d+/m/fff53//+x8bN250u4cd+/Xq1Yt///2XOnXqOMu0cOFCli9fTqtWrUrxE7X7/vvvGT16NNnZ2TRv3pwhQ4aQmprKli1buPfee1mzZg1ffvllgfv+8ccf/N///R+NGjViwIABXLhwgb///psnnniCM2fO8M477zjzjhkzht27d7Nnzx7atm3r9jvpaOspyqC66yWFUFVVTU9PV6+55hoVUBVFUfv27avOnDlT/fXXXwts++PwwgsvONtalcSpU6ecbVDWrFnj3F6Wtkpms1nVaDQqoC5YsKDE+5VUUW2uDAaDGhMTowLq6NGjndvL2+aqUaNGqqqq6oULF1RfX19VURR1165dznyV1ebKZrOpPXr0UAF13LhxalpamjPNbDarjz/+uAqo/fr1c9tv3rx5zvLceOONqsFgcKbt2LFD9fDwUDUajdqyZUt1woQJqtlsdqYvWbJEBdSAgAC3/VRVVfv06eM87muvveaWtnbtWtXb21sF1OXLl7ulffrppyqgNm7cWN2zZ49b2rp161R/f39Vr9er//zzj1ua41wBAQHqpk2bCvwZbd26Vd23b1++7efOnVPbtm2rAup3332XL724/6/i2ts47o0+ffoUuB1Q4+Li1AsXLuTbd/ny5aqiKGpoaKi6bt06t7S9e/eq9erVUwF17dq1hZYv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Rx245ZZbeOutt+jfv7+zGh3gjTfeICQkhOjoaKZMmcK7777L9ddfT69evQgODmbPnj2cPn2aZ555ptjfmcLceOONvPvuuzz++OMMHz6cxo0b06xZMwIDA0lKSmLPnj3Op74l/cLz8ccfs3fvXtasWUODBg3o06cPqqqybt06QkJCGD58OD///HOZ3ih+6aWXuPXWW3nhhRf47rvvaNWqFYmJifz111/06tWLqKioAr8Afvjhh+zZs4e1a9fSoEED+vbti6qq/Pnnn25lKqkOHTrwzTffMHbsWMaOHcvzzz9Py5YtCQsL49KlS+zbt4+zZ89yxx13cPPNN5f6OvMaNGgQvr6+LFmyhJ49e9KkSRO0Wi09evQotMNbUYyq7flBiIKlpaWpS5YsUadMmaJee+21ar169VSdTqd6e3urjRo1Uu+66y71999/L/Y4v/76q3rnnXeqMTExqpeXl+rn56c2a9ZMnThxorp3795C9ytp/1CAW6eartLT09W3335bHTBggBoZGanq9XrVx8dHbdq0qXrPPfeoy5YtU202W4l/JkV1IlrR11FQP1d5bdmyxW3/0vrpp5/UHj16qP7+/s6+iPL2q5Odna3OnTtX7devnxoSEqJ6eHio4eHhart27dRJkyapf/zxh1t+Rz9Xhf2Miuu/p7D+txz9Bf3555/q6tWr1euvv14NDAxUvb291U6dOqlfffVVkde6YcMGddSoUWpsbKzq6emp+vv7q02bNlVHjhypfv755+qlS5fc8pfkZ2oymdTZs2erbdq0UX18fNTg4GB14MCB6ooVK9QTJ06ogBobG5tvv6ysLPWpp55SGzdurOr1eue5Tpw44cxjs9nUOXPmqC1atFD1er0aHBys3njjjeqOHTuK7ecq7/aC7Nu3T33wwQfVJk2aqF5eXqqPj4/asGFDddCgQep7772nnjt3rthjuEpMTFQnTZqk1qtXT9Xr9Wp0dLQ6adIkNTk5Wb3uuutUIN+9UtLBw9evX69ef/31amhoqOrj46O2bt1affXVV1Wj0eh2X+R18eJFdcqUKc4y1atXT50wYYKalJRU6LmLuz9PnDihPvbYY2rr1q1VX19f1cvLS42NjVX79u2rzpo1Sz169Khb/qLKV9z51q9fr/bv31+tU6eOs3Pk0vztEe4UVb2CGjgIIcQVoG/fvqxbt44///wz35h6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8/Nj3bp1WCwWJk2axB133MHatWsB+O6775g+fToffvghPXv25Ouvv+a9996jYcOGznMsXLiQF198kQ8++ID27duza9cuxo8fj6+vL2PGjKnoH0Glk+BKCCGEqGJZZistX/yjWs598OVB+OhL/vEfFxfHSy+9BECTJk344IMPWL16NQMGDGD16tXs27ePEydOEB0dDcCCBQto1aoV27Zto3PnzrzzzjuMGzeOcePGAfDKK6+watUqsl1GinjppZeYM2cON998MwANGjTg4MGDfPLJJzUyuJI2V6LGsFgs/Prrr/z6669YLJYSpwlRFeT+FFeruLg4t/W6des6h4k5dOgQ0dHRzsAKoGXLlgQFBXHo0CFnni5durgdo1u3bs5lg8HAsWPHGDduHH5+fs7plVde4dixY5V1WZVKnlyJGsNoNDJs2DDAPoSI6/hsRaUJURXk/hSl4a3TcvDlQdV27tLQ6XRu64qiYLPZKqw8GRkZAHz22Wf5grDy9JJeneQ3XAghhKhiiqKUqmruStWiRQvOnDnDmTNnnE+vDh48SEpKCi1btnTm2bJlC6NHj3but3nzZudyREQEUVFRHD9+nFGjRlXtBVSSmv8/K4QQQohq0b9/f9q0acOoUaN45513sFgsPPTQQ/Tp04dOnToB8MgjjzB27Fg6depEjx49WLhwIQcOHHBr0D5jxgwefvhhAgMDGTx4MEajke3bt3P58mWmTp1a4LkzMjI4evSoc/3EiRPs3r2b4OBgYmJiKvfCiyFtroQQQghRJoqisHTpUurUqUPv3r3p378/DRs2ZNGiRc48d9xxBy+88AJPPfUUHTt25NSpU0ycONHtOA888ACff/458+bNo02bNvTp04evvvqKBg0aFHru7du30759e9q3bw/A1KlTad++PS+++GLlXGwpKKqqqtVdiNokLS2NwMBAUlNTCQgIqO7i1CgGgwE/Pz/A/o3F19e3RGlCVAW5P0VhsrOzOXHiBA0aNMDLy6u6iyOKUNT/VWk+v+XJlRBCCCFEBao1wVX9+vVRFMVtmjVrlluevXv30qtXL7y8vIiOjubNN9/Md5zvv/+e5s2b4+XlRZs2bfjtt9+q6hKEEEIIUQPUqgbtL7/8MuPHj3eu+/v7O5fT0tIYOHAg/fv3Z+7cuezbt4/777+foKAgHnzwQQA2btzIXXfdxeuvv86w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Oztbrt7gwYPlJof08vLClStXkJqaiqeeeuqeY0xJScGqVavu+fNERETU3rp167B582ZkZWXB1dUVxcXFmD9/PszNzREdHa3W2DS65+qVV15BWVlZl6+/zroNADt37sSgQYMUSpi8vb1x4cIFcdna2ho1NTVydWpqajodowUAr7/+Oq5fvy6+qqqqurmXRERE6uHv74/o6GjExcVh4MCBsLa2RlJSklydyspKBAUFwcTEBGZmZpg9e3a735Vr166FlZUVTE1NER4ejqampnZt7dixA87OzjAwMICTkxM2bdrUZWzff/89goKCMH36dAwfPhzPPvsspkyZguPHj/d4v3tKo3uuhgwZ0q3ZrwVBwM6dOzF37lzo6uretX5JSQlsbGzEZR8fH+Tl5SEmJkZcl5ubCx8fn063oa+vD319fYVjJCKi+58gCBBu3lRL2xJDw27dVJGVlYXY2FgUFRWhsLAQ8+bNg6+vLyZPngyZTCYmVgUFBWhpaUFUVBRCQkJw9OhRAEB2djaSkpKwceNGTJw4ER988AE2bNgg1/mxe/duJCQkICMjA+PGjcPp06exYMECGBsbIywsrMO4JkyYgG3btuGnn37CyJEj8cMPP+Dbb7/FO++806PjowwanVx111dffYWKigpERES0K8vKyoKenh7GjRsHAPjvf/+L999/Hzt27BDrLF26FH5+fli/fj2mT5+OvXv3ori4GNu2bVPZPhARkeYTbt7Ejw973L1iLxh16iQkRkYK13d3d0diYiIAwNHRERkZGcjLy8PkyZORl5eHM2fOoKKiAnZ2dgCAXbt2wdXVFSdOnICXlxfS0tIQHh6O8PBwAEBycjKOHDki13uVmJiI9evX45lnngEAODg4oLS0FFu3bu00uYqPj0d9fT2cnJygra2N1tZWrF69GqGhofd0XJSpXyVX7733HiZMmCA3Buuv3nzzTVy+fBk6OjpwcnLCvn378Oyzz4rlEyZMwJ49e7BixQr861//gqOjIw4cOIDRo0eraheIiIhUyt3dXW7ZxsYGtbW1AO6Ma7azsxMTKwBwcXGBhYUFysrK4OXlhbKyMixcuFBuGz4+PsjPzwcASKVSlJeXIzw8HAsWLBDrtLS0wNzcvNO4srOzsXv3buzZsweurq4oKSlBTEwMbG1tO03IVKVfJVd79uzptCwsLEyhL2PWrFmYNWuW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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 15, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "\n", + "assert degrees_of_freedom(m) == 0" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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wWBQa9asueLtVq5cqQAFqMTExMuuv3z5cgUoXddVcnKyZ/m6des8+7karVq1UoB6/PHHr2q7KzF8+HAFqOHDhxdaPnr0aAWomJgYz7KSPo+87erXr6+UUmrs2LEKUA888IDXeidOnLiq/Z89e1YNHz5c1a9fXwGqY8eOavjw4Z7bJ5984ln35MmTqnnz5gpQERERqkePHuree+9VtWvXVoCqU6eO+v333732v3jxYgWofv36qSZNmqjIyEg1YMAA1atXLxUQEKAANW7cOPXbb7+patWqqejoaDVo0CDVrVs3ZTAYFKCef/75AvXu0qWLAtT48eOVruuqadOmasiQIapz585K13UFqEmTJhX6nCdPnuw5x26++WY1cOBA1a5dO6VpmjIYDOq///1vgW3yXtNx48YpXddVp06d1P3336/atWvnec7PPPOMAlTdunXVbbfdpoYMGaK6dOmizGazAlT//v2Vy+Xy7POTTz7xnEN551H+29mzZ5VSSs2YMUMBasaMGYU+n7xzo0uXLoUub9eunWrbtq0KCgpSffv2VYMHD1Y9evTwrLdgwQLPa9ayZUt13333qU6dOnnqPWvWrEKPW5S89+avf/2rMhqNqlWrVmrw4MGqZcuWClAWi0X9+OOP6tVXX1W6rqsOHTqoQYMGqYYNGypABQcHq19//bXI9+BSd999twLUkCFDvJbv3r1bWa1WZTQa1Y8//uhVtmzZMmW1WhWgGjdurO69917VvXt3FRQUpAA1cuTIAsdJSEhQDRo0UICqVKmS6t+/v7rnnntUeHi4ql+/vqceixcvvuLXKu+9HTZsmKpcubKKiopSAwcOVHfeeaenLh07dlRZWVle2+X9nYeFhalbbrlFDRw4UN1+++2qRo0aClBVq1Yt9DXMe28effRRr7+bXr16qffff19NnjxZdezY0fNZk/98nDNnjmc/eeftpc/1+++/9xy/U6dOavDgwapXr16qcuXKClA33nijOnfuXJH1Wrdu3RW/dn8WEjBVQGlpaapmzZoKUJqmqa5du6pnnnlGffnll8UGQk8//bTnS+RKHDt2zPPB+N1333mWlyTQsNvtni+CJUuWXPF2V6q4gCkjI0PVqlXL82GYx1cB0+nTp1VQUJDSNE3t2rXLs97VBkyXPpeiPuxdLpfng3TUqFEqNTXVU2a32z1BSLdu3by2ywuY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3HPPPZw5c4aRI0cyduxYbrzxRkJDQzEYDPzyyy80atTouiSnvFx2+qLqnLddcHBwoclmr1Vpv+e//vqr5ypHpRRbt27llltu8Von/2t1JYljLxdIlqb85860adP45JNPaNy4Mc8//zxt27alSpUqnpb9Dh06sGnTpiLPt6LOiWs1evRofvjhB9q3b8+sWbNo0aIFlSpVwmQyAe60KKdPn65QSVolYBKF6tWrF5999pnX5bvdu3cnJCSEtLQ0lixZwuTJk4vdx5IlSwC49dZbi22duVL9+vVj9+7dfPjhh8ydO7dMfQD6gtls5plnnuHBBx/k73//O99+++11OU7er/F+/frx17/+9bocoySKSquQd0m+1WqlcuXKwMXnULlyZZ8HuBs3buTMmTPExsby3//+t0D5r7/+WuJ9530JFnbZPLjTGZRE3uuhaRr//e9/r2vQer1lZ2czaNAg0tLSGDp0KMuXL2fKlCl06NCBNm3aeNarUqUKAQEBZGVlMW/evCID40vVrFkTKD5FyLWkDykuPUjefm+44QbPsrzcbh9++CExMTEFtrmW862kMjIy+Oqrr9B1na+++qrA53dGRgYJCQmlXi9/+/P+VYkSu5JfBHldEfn/sENDQ3nssccAmD17drEf7l988QWff/45AH/729+upboejz/+OGFhYSQmJvLkk09edv38OWL+LIYOHUqLFi349ddfeeutt0q0j7wvZYfDUWh53759Afjoo4/K1K/DonLm5AXenTp18oy5yvsVfuDAgWLnLSyJvDw8RXVDFZfbJ+/Xd1Gvfd6XdVGZrvPGl12tGjVqEBMTQ1paGt98802J9lFWPPHEE+zevZtu3bqxZMkS5s+fT05ODoMGDfLK/WMwGOjZsydwdQllO3fujKZp7Ny5k0OHDhUo//nnn0vcHQfuqZsKGzbw1Vdfcf78eUJCQrzG3eWdb4XltVu1alWBnFNX43KfBUVJSUnB6XQSGhpa6I/d9957r0x9dpQWCZgqoNdff53hw4cXOvhTKcWKFSs8CSqHDBniVT5z5kzatGlDcnIy3bp1K7APlTs1St4gzMcff5xevXr5pN6VK1dmyZIl6LrOv//9b0aPHl3oB9PJkycZN24c99xzj0+OW5o0TfNkWF+wYEGJ9pEX5BYVSPTr188zz97IkSMLHdNy4cIFFi1adNUftNdix44dBRKS/vDDD7z22msATJw40bPcZDIxY8YMlFLce++9hY6zcDqdfPfdd2zevPmq6tGkSRPAnRDzwIEDXmVvvvmmJ4t9YS732nfv3h1d11m1ahUbNmzwLFdK8fLLL192wuvi5GWLHzlypOfHSn5KKbZs2XLdWi594f333+fNN98kKiqK999/H13Xeeyxx7jvvvuIj48vMC3RjBkzMJvNTJkyhbi4uEK7NPft28eKFSs8j2vVqsW9996Ly+Vi7NixXmODLly4wKOPPnpNwUBWVhZjx471SlJ56tQpT4v8I4884nVRRN75dmli18OHD/PII4+UuB5w8Xy89Dy+nKioKCpVqkRycnKBxLGbN29m2rRp11SvP63SvShPlAX/+te/PJfNVq1aVfXq1Us98MAD6vbbb/fkQAHU//3f/xXIwaGUUsnJyapPnz6e9Zo3b64GDRqk7r33Xk+uF13X1dSpUwtcBqyU9yXSlyb4u/R27NixAtt/9dVXqkqVKgpQRqNR3XLLLWrw4MFqwIABqmXLlkrTtKtKf6DU5RNXFqakz6OwtAKX6tq1q1dqgqvx888/K13Xla7rqkePHmrkyJFq1KhR6tNPP/Wsc/LkSU/ywaCgINWhQwc1ZMgQ1b9/f9WyZUtPosn8lz9f7hLly10yX9Tly5cmrmzWrJm6//77VZcuXTy5t5544olC9zllyhTPa9SsWTPVr18/NWTIENW1a1cVHh6uyJfPJ8+VvKb9+vVTgDKbzapXr15qyJAhqnHjxkrTNPX3v/9dAap27doFtvvrX/+qAFWlShU1aNAgNWrUKDVq1CivBH9PPPGEJ01F165dVf/+/VX9+vWVyWRSTz31VLFpBS5dfql///vfymg0KnDnp7rjjjvUAw88oHr27KkiIyMVoJ588sli95Hf5S4Rz0t0Gh8fX2h5Ua91YcsPHTqkgoODla7rau3atV5lycnJql69egpQCxYs8CpbtmyZCgwMVIC64YYbVK9evdTQoUNV3759PZ9HgwcP9trm9OnTngSvERERqn///uree+/1WeLKiIgIVa1aNTVw4EB11113eRJXtm/f3is/k1JKffzxx57PrObNm6shQ4ao7t27K5PJpLp37646dOhQ6HtwJZfv22w2T/qNVq1aqWHDhqlRo0apF1980bNOUX+X+b8n2rVrp+6//37VsWNHpWmaevDBB4t878tzWgEJmCqg1NRUtXLlSvX444+rm2++Wd1www3KZDKpgIAAVb9+fXX//ferr7/++rL7+fLLL9WQIUNUrVq1lNVqVcHBwapRo0Zq7Nixas+ePUVud6X5iwCvRI75paWlqX/961+qZ8+eqlq1aspsNqvAwEDVsGFD9X//93/qiy++KDRYK8q1BkxX8zyuJGDasmVLiQMmpdyZpzt27KhCQkI8H8aXBjLZ2dlq0aJFqlu3bqpy5crKaDSqyMhI1bJlS/XYY4+pVatWea1/vQOmdevWqbVr16rbbrtNhYWFqYCAANWmTRv1zjvvFPtcf/zxRzV06FBVu3ZtZbFYVEhIiGrYsKG655571Ntvv62SkpK81r+S1zQnJ0fNnTtXNW/eXAUGBqqIiAjVq1cv9e2336r4+PgiA6asrCw1depUdeONN3qya1/6peJyudT8+fNVkyZNlNlsVhEREequu+5SO3bsuGwepssFTEoptXfvXvWXv/xFNWjQQFmtVhUYGKjq1aunevfurV5++WV18uTJy+4jT2kFTJmZmZ48XUWdP9u3b1cWi0WZzWavfGhKKRUfH68mTpyobrrpJhUUFKSsVquqXbu26tq1q3r++efVb7/9VmB/586dU48//ri64YYblNlsVjfccIN65JFHPBnzSxowzZgxQx09elTdf//9KioqSpnNZnXjjTeq6dOnF0jammfjxo3qtttuU1WqVFGBgYHqpptuUs8++6yy2WxFvgdXGpjs3btX3X333apq1aqeHyD5z6PinuvKlStVhw4dVHh4uAoODlZt2rRRr7/+unK5XBUyYNKUqoAdkUKIMqNr165s2LCBdevWFZhDTYg/i5kzZzJr1ixmzJhR5FyB4s9NxjAJIYQQQlyGBExCCCGEEJchAZMQQgghxGWUuzFMc+bMYcWKFRw6dIiAgAA6dOjACy+8QKNGjYrd7qOPPuLpp5/m999/p0GDBrzwwguFzo8khBBCiIqn3LUwbdiwgccee4zNmzezevVq7HY7vXr1IiMjo8htfvrpJ+6//35GjRrFrl27uOeee7jnnnvYt29fKdZcCCGEEGVVuWthutTZs2eJjIxkw4YNdO7cudB1Bg8eTEZGBl988YVn2S233ELLli1ZtGhRaVVVCCGEEGVUuZ9LLiUlBYCIiIgi19m0aROTJk3yWta7d29WrlxZ5DY2m81rFm6Xy0VSUhKVK1e+7OzpQgghhCgblFKkpaVRo0aNYudhLNcBk8vlYsKECXTs2JGbbrqpyPUSEhKIioryWhYVFVXs5IJz5sxh1qxZPqurEEIIIfznxIkTXvOnXqpcB0yPPfYY+/btK3SeqWs1bdo0r1aplJQUatWqxYkTJwgNDfX58cozh8PB2rVrAbjttts8E6xerkyI0vDNv6dxcuFKAOq/MpiuPWd6yuT8FOLPLzU1lejoaEJCQopdr9z+dY8bN44vvviCjRs3FhsxAlSrVo0zZ854LTtz5gzVqlUrchuLxYLFYimwPDQ0VAKmq5SRkcGgQYMASE9PJygo6IrKhCgNRqORSadPAfClQff6+5bzU4jy43LDacrdVXJKKcaNG8cnn3zCd999R926dS+7Tfv27T2/EvOsXr2a9u3bX69qCiH+LPJ9hirl8l89hBB+Ve5amB577DHef/99Pv30U0JCQjzjkMLCwggICABg2LBh1KxZkzlz5gDwxBNP0KVLF+bPn88dd9zBBx98wPbt23nzzTf99jyEEGWEV8BUri8qFkIUo9y1MC1cuJCUlBS6du1K9erVPbcPP/zQs87x48c5ffq053GHDh14//33efPNN2nRogXLly9n5cqVxQ4UF0JUDF7N9C5pYRKioip3LUxX8gtw/fr1BZYNHDiQgQMHXocaCSH+zFS+gElamERRnE4ndrvd39UQhTCZTBgMhmveT7kLmIQQwpc06ZITxVBKkZCQQHJysr+rIooRHh5OtWrVrilPogRMQghRHOmSE8XIC5YiIyMJDAyUxMVljFKKzMxMEhMTAahevXqJ9yUBk/A7s9nMq6++6rl/pWVClAaD0cA/It2JbS9t1Zfzs2JzOp2eYKly5cr+ro4oQt4FX4mJiURGRpa4e04CJuF3JpOJxx577KrLhCgNRqOBBypVAuDYJdMmyPlZseWNWQoMDPRzTcTl5L1Hdru9xAFTubtKTgghfCt/F4uMYRIFSTdc2eeL90hamITfOZ1Ovv/+ewBuvfVWr+i/uDIhSoMTxZbMDDSgisPhXSbnpxAVhgRMwu+ys7Pp1q0bUHB6ieLKhCgN2Vkw8sQJAFbYvAMmOT+F8DZz5kxWrlzJ7t27/V0Vn5MuOSGEKEbahZqe+y5JKyDEdbdx40buuusuatSogaZprFy50t9VAiRgEkKIKycBkxDXXUZGBi1atOC1117zd1W8SMAkhBDF8Upc6fRfPYTwoa5duzJ+/HimTp1KREQE1apVY+bMmV7rHD9+nH79+hEcHExoaCiDBg3izJkzXus8//zzREVFERISwqhRo8jOzi5wrLfffpsmTZpgtVpp3Lgxr7/+erF169u3L7Nnz+bee++95ufpSzKGSQghiqHluzJOMn2Ly1FKkWX3T2AdYDJc1dVgcXFxTJo0iS1btrBp0yZGjBhBx44d6dmzJy6XyxMsbdiwAYfDwWOPPcbgwYM904stW7aMmTNn8tprr9GpUyfeffddXn75ZerVq+c5xtKlS5k+fTqvvvoqrVq1YteuXYwZM4agoCCGDx/u65fgupKASQghrpCSTN/iMrLsTppOX+WXYx/4Z28CzVf+tR4TE8OMGTMAaNCgAa+++ipr166lZ8+erF27lr179xIfH090dDQAS5YsoVmzZmzbto22bduyYMECRo0axahRowCYPXs2a9as8WplmjFjBvPnz6d///4A1K1blwMHDvDGG2/86QIm6ZITQojiaPnvSguTKD9iYmK8HlevXt0zhcjBgweJjo72BEsATZs2JTw8nIMHD3rWadeundc+2rdv77mfkZHBkSNHGDVqFMHBwZ7b7NmzOXLkyPV6WteNtDAJvzOZTLz44oue+1daJkRpMOo697T7CwCanuFVJuenuFSAycCBf/b227GvxqXnrKZpuHzYipqeng7AW2+9VSCw+jPmLJOASfid2WxmypQpV10mRGkwmYz0aDkYAKPhHa8yOT/FpTRNu6pusbKqSZMmnDhxghMnTnhamQ4cOEBycjJNmzb1rLNlyxaGDRvm2W7z5s2e+1FRUdSoUYOjR48ydOjQ0n0C18Gf/10VQojrKl83nAz6FhVEjx49aN68OUOHDmXBggU4HA4effRRunTpQps2bQB44oknGDFiBG3atKFjx44sXbqU/fv3ew36njVrFuPHjycsLIw+ffpgs9nYvn07Fy5cYNKkSYUeOz09nd9++83zOD4+nt27dxMREUGtWrWu7xMvhgRMwu+cTic7d+4EIDY2tsDUKEWVCVEaXC4XxxIPAVDN5X31k5yforzSNI1PP/2Uxx9/nM6dO6PrOn369OGVV17xrDN48GCOHDnC1KlTyc7OZsCAAYwdO5ZVqy4Oeh89ejSBgYHMnTuXKVOmEBQURPPm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z8gkxxDs55oJ4e0s4bzu7MdZwv1dFSHEdeaTgOm3336jQYPCL/e2Wq0sXryY4OBgFi5c6IvDiXImJyeHL/Z8zprdH2J35ODMC5iUE013UvMLF//+0UYGkuFblL6cnBzmzp3L3LlzC0yNopx2UrZ8TMqWjwuUCSHKF58ETNHR0WzevLnIcqPRyB133MGqVat8cThRztjtdj7Y+j4rt7yJ3enElZuwUldO+thS+fDjnUxdYyNLlyvkROmz2+1MnTqVqVOnFpgaRTmdJK9fTPL6xQXKhBDli08CpqFDh7Jx40aWLFlS5DppaWmcOXPGF4cT5Vxel5zucmAwX8z15TBJwCSEEMI/fBIwPfnkk8TGxvLQQw/x8MMP8+uvv3qVb968mf/9739ERUX54nCiPFPgdLqDJE05MeSbccdhlDFMQggh/MMnAZPVamXdunXcfffdvPXWWzRu3JgGDRrQo0cPYmJi6NixIxkZGTzyyCO+OJwo51yOvEHfTq8WJpdRWpiEEEL4h08CJnDPG7dixQpWrVrF3XffTWJiIt999x379u0jOjqaV155hWnTpvnqcEVKSkpi6NChhIaGEh4ezqhRo0hPTy92m65du6JpmtdNgjs/Uepil5xyYLBcDJiUKdBftRJCCFHB+WTy3fx69uxJz549AUhJScFkMhEYWHpfdEOHDuX06dOsXr0au93OyJEj+ctf/sL7779f7HZjxozhn//8p+dxadZZeLvYJedCN+ULmIySGFAIIYR/lDhgev311+nXrx81a9Yscp2wsLCS7r5EDh48yDfffMO2bdto06YNAK+88gq333478+bNo0aNoiduDQwMpFq1aqVVVVEMz1VyLgcG88X5BzWTBExCCCH8o8RdcuPGjaNWrVq0bduWZ599lr179/qyXiWyadMmwsPDPcESQI8ePdB1nS1bthS77dKlS6lSpQo33XQT06ZNIzMzs9j1bTYbqampXjdRMlarlb/f/jTj75qP2WS8mLhSOQkKcLFueCDrhgdiCgz1c01FRZQ3RnPdunUFpj/RjCai7n+OqPufk6lRhCjnStzCtHXrVj799FM+++wznn76aaZPn06dOnW45557uPvuu7n11lvRdZ8NkboiCQkJREZGei0zGo1ERESQkJBQ5HYPPPAAtWvXpkaNGuzZs4cnn3ySw4cPs2LFiiK3mTNnDrNmzfJZ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e5C3ITgQgKB8XXIy6FsIIYS/XFXA1L9//yJbkV5//XWGDBkiY5jEVXM4HPz08xp2HtmAI/f80Q3uU9NiUGQc+oGMQz+gXE5/VlNUUA6Hg48++oiPPvoIh8NxxWVCiPJFUxLh+ERqaiphYWGkpKTItDFXKSMjw5ME9T9jl5HlqkyTDtXpPqwJz322i7/3iwXg1LkLVK8c7seaiooo//mZnp5OUFDQFZUJIf4crvT7u0SJK999913279+Py+UqcQWFKIxeORIAzeDufvPK9C1dckIIIfykRKNohw8fjqZpWCwWmjdvTmxsLK1ataJVq1bExMTI1SKixFyu3C653BQCgfkDJkkrIIQQwk9KFDC98cYb7N69m127drFnzx62bdvmSSdgMBho3LgxrVq18gRSLVu2lG4qcUXUJQFTQL4r43RpYRJCCOEnJQqYxowZ47mvlOLw4cO88MILxMXF4XA4OHDgAPv27eO9997zrFevXj1iY2P58MMPr73WotxSThegebrkAs3SwiSEEML/rnnyXU3TOHDgAO+99x5z584lKSkJh8NBfHw88+bNIzIyEqUUp0+fZvny5b6osyjHLu2SCzBfPEUlXhJCCOEv1xwwAcyYMYN+/foxefJkwsPDAahduzYTJ04kPj6eoUOHEh4eXmgOJyHyczkvCZjyzSUnWeSFEEL4i09SJ//2229FJq20Wq0sXryYm266iYULF/Lmm2/64pCiHDGbzTw+eAYXzmSia0acKE+XXKOalah8+wTPekKUNrPZzOLFiz33r7RMCFG++CRgio6OZvPmzUUfxGjkjjvukC45USiTyUT3m+/m5C/J6BgAh6eFqWZECGsWzSDIbMBkMvm3oqJCMplMjBgx4qrLhBDli0+65IYOHcrGjRtZsmRJkeukpaVx5swZXxxOlGOeLjnDxe63ltHhNIgK8VeVhBBCCN8ETE8++SSxsbE89NBDPPzww/z6669e5Zs3b+Z///sfUVFRvjicKGccDgfbD3zPvmObsedOL6HltjA5HA6+/PJLvvzyS5l6QvhFceegnJ9CVBw+mxolPT2dYcOGsXLlSjRNo169etSuXZvExET279+PUopnn32WadOm+eJwZY5MjVJy+aeXeGn0l5gNVjoNbECL26Jl6gnhdzI1ihDl25V+f/tkDBNAcHAwK1asYPXq1bz++ut89913HDly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eq1zS5cuVVFR0RWvSRcTkLKyssYOrUG4XC4tWLBAN910k0aMGNHo7c2dO1e333671q5dqylTpjR6e4A/opYcAEvo0qWLvvrqK58cTfpvGzdu1G233aY33nhDDz74YI1rycnJ2r59e4P+nlVVVYqJiVF8fLw++uijBvtcAP/BGiYAPuFKa38yMjJks9mUkZGh9evXa/jw4QoLC1PHjh3185//XC6XS5KUmZmpAQMGKDQ0VLGxsVq8ePEV2zAMQ2+++aaSkpJ0ww03KCwsTEOGDNGbb755TbGuXr1aNptNkydPvuo9VVVVWrBggbp06aLg4GDdeOONWrFiRa37FixYIJvNpm3btikjI0ODBw9WWFiYkpOT3fcEBQUpJSVFH3/8sXJzc68pVgB1w5QcAJ+3bt06ffjhh0pJSVFSUpI2btyohQsXyjAMtWzZUgsXLtSkSZOUnJysP/3pT5o7d67at2+vqVOnuj/DMAxNmTJFb731lnr27Knvf//7cjgcysrK0owZM3TgwAEtWbLEayyGYSg7O1u9evVS69atr3rffffdp127dmnChAmy2+165513lJaWpqCgID300EO17l+8eLGys7M1adIkjRs3rtZapcTERP3mN7/R1q1b1aNHj2t4egDqxAAAC4iLizM8/ZM0atSoWtdXr15tSDKCgoKMXbt2uc+fP3/eiIqKMsLCwowOHToYhw8fdl/Lz883HA6H0a9fvxqftWrVKkOSMX36dOPChQvu85WVlcbEiRMNScbu3bu9/h779+83JBlTpkzx+HsMHz7cKCoqcp8/dOiQERgYaPTq1avG/enp6YYkIzw83Pj888+v2u4//vEPQ5IxdepUrzECuHZMyQHweffff7+GDh3q/jkiIkK33XabysrKNHPmTHXr1s19rXPnzho5cqQOHDigf//73+7zr776qsLDw7V8+XIFBQW5zzscDj333HOSpLfeestrLMeOHZMktW/f3uN9ixYt0g033OD+uVevXkpKSlJOTo6Ki4tr3f/www+rX79+V/28S+1dah9Aw2JKDoDPGzhwYK1z0dHRHq9VV1eroKBAHTt2VFlZmfbt26eYmBj98pe/rHV/VVWVJOnQoUNeYzl79qwkqVWrVh7vS0hIqHWuU6dOkqTCwkJFRETUuDZs2DCPn9emTRtJ0pkzZ7zGCODakTAB8HmXj9RcEhgY6PXapUTo3LlzMgxDx48f1zPPPHPVdkpLS73GEhoaKkmqqKi47pirq6trXfM2YlVeXi5JCgsL8xojgGtHwgTA711KXhISErR79+56fVZkZKQk6Ztvvql3XJfzttnnpfYutQ+gYbGGCYDfi4iIUO/evXXw4EEVFhbW67P69OmjgIAA5eTkNExwdXSpPU/rnABcPxImAJD02GOPqaysTA899NAVp96OHDmivLw8r5/TqlUr9e/fX7t373bvA9UUPv30U0nSqFGjmqxNwJ+QMAGApB/+8IdKTU3Vu+++q549e2rq1KmaN2+epk+frsTERHXv3l07d+6s02fdcccdKi4urvP9DSErK0utW7fWzTff3GRtAv6EhAkAJPeO4W+//bb69OmjDRs26Fe/+pWysrIUEhKiJUuWaOzYsXX6rAcffFCBgYH6/e9/38hRX5SXl6dPPvlEqampCgkJaZI2AX9DLTkAaAQ/+MEPtHHjRn311Ve1tghoaD/72c/04osv6uDBg+revXujtgX4K0aYAKARLFy4UOXl5Vq2bFmjtnPu3DktW7ZMM2fOJFkCGhHbCgBAI4iLi1NmZqYKCgoatZ0jR45o9uzZevTRRxu1HcDfMSUHAADgBVNyAAAAXpAwAQAAeEHCBAAA4AUJEwAAgBckTAAAAF6QMAEAAHhBwgQAAOAFCRMAAIAXJEwAAABe/B+Uba6VUlTHiwAAAABJRU5ErkJggg==", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here we run PETSc to integrate the flowsheet with the TS integrator. Because we are loading from a solved flowsheet, in principle we could set `skip_initial=True`. However, due to user error there is sometimes a discrepancy between the setpoints loaded and the initial conditions loaded, so we leave it in. There are many options for PETSc-TS that can be read about in the PETSc documentation." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlsAAAHOCAYAAACvhswcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC0/0lEQVR4nOzdd3wUxfvA8c9eTU8IkIQSqvTeiQgBQUDAigVEAUFUBBSBCFgRERQsgIhYMOJX+WEFC9IhiIAivYMoEFqo6eXq/v645MiRAoRLLuGe98szuzuzO3PJhHsyOzujqKqqIoQQQgghioXG0xUQQgghhLiZSbAlhBBCCFGMJNgSQgghhChGEmwJIYQQQhQjCbaEEEIIIYqRBFtCCCGEEMVIgi0hhBBCiGIkwZYQQgghRDGSYEsIIYQQohhJsCVEKfTPP/8wcuRIGjZsiL+/Pz4+PlStWpU2bdowcuRIfvjhh0LPX758OQMGDKBmzZr4+fkRFBREw4YNGTlyJPv27SvwvLi4OBRFuaZXQdLT05k9ezY9e/akcuXKGI1GAgICqFevHo8++ig//fQTdru9yN8bUbKu9vMujSZNmoSiKEyaNMnTVRECAJ2nKyCEcPXjjz/yyCOPYDKZKF++PB06dKBixYokJiayc+dOPvzwQxYtWkTfvn3znJuSksIjjzzC0qVLAWjUqBF9+vTBYrGwdetWPvzwQz766CMmTJjAlClTCv0QHTRo0HXXfeXKlTz66KOcP38enU5Hq1at6NixI1arlX///Zevv/6ar7/+mjZt2rBly5brvr7Iq0aNGhw/fpyjR49So0YNT1enVIuLi6NLly5ER0cTFxfn6eoIb6IKIUqNhIQENSAgQAXUsWPHqpmZmXnybN26VZ0wYUKe4yaTSW3Xrp0KqDVr1lT/+OMPl3S73a5++eWXqp+fnwqozz//fJ5rrFu3TgXUovzT8Ouvv6parVYF1CFDhqhnz57Nk+f48ePqU089pZYrV+66ry/yV716dRVQjx49WizXL2p78KTz58+rBw4cUM+fP+9yPKd9R0dHe6ZiwmtJz5YQpcivv/5KWloalStX5p133sk3T6tWrWjVqlWe46+//jp//fUXISEhrFu3jurVq7ukK4rCY489Rrly5bjrrrt4//336dWrF926dbvhel+8eJFHH30Um83Gs88+y6xZs/LNV61aNebNm8cjjzxyw2UKUZAKFSpQoUIFT1dDCCcZsyVEKXL27FkAKlaseF3npaamMmfOHABeeeWVPIFWbn369OHuu+8G4M033yxiTV3NmTOHpKQkwsLCmD59+lXzd+rU6bqur6oqP/74I3369CEiIgKDwUBERAS33XYbb7/9NpmZmc68gwcPRlEUvvjii3yv9cUXX6AoCoMHDy7w+KVLlxg9ejS1a9fGaDTSuXNnwHUsUHx8PEOHDiUyMhK9Xp/net9//z09e/akYsWKGAwGqlSpwqOPPsr+/fvz1OnYsWMoikKNGjVQVZVPPvmEVq1a4e/vT3BwMN27d2fz5s351vf48eMA1KxZ02VM3fXcJtu8eTN33nknISEhBAQE0Lp1az7//POrnpeZmcm7775L+/btCQkJwcfHh3r16vHCCy9w8eLFPPlzf4/T09OZOHEit9xyC0ajkYiICAYNGsSpU6fyLWv16tXcddddhIeHo9frKVeuHHXq1OHRRx/l999/d8mb35itzp0706VLFwDWr1/v8r3Kuf0aHR2Noij83//9X4Hvefr06SiKwkMPPXTV748QOaRnS4hSpFq1agDs3buXNWvW0LVr12s6b+3ataSkpADw2GOPXTX/wIED+fnnn/n9999JTk4mODi46JUGfvrpJwAefvhhjEbjDV3rShaLhX79+vHjjz+i0Who27Ytt99+OxcuXGD//v1MmDCBhx9+2G3jlS5cuEDr1q1JSkqiY8eOtGrVCoPB4JLnn3/+oUWLFhgMBjp06ICqqs6eFKvVyoABA/j2228xGo20atWKKlWqcPjwYb7++mt+/PFHfvzxR3r27Jlv+Y8//jgLFy6kY8eO9OnTh507d7Jq1Sp+//131q9fT7t27QC45ZZbGDRoEN9//z3p6en07duXgIAA53UiIiKu6f1+99139O/fH5vNRuPGjWnSpAknTpzgiSeeKPRhitOnT9OzZ0/27NlDaGgobdq0ITAwkO3btzNjxgy+++474uLi8g38k5OTufXWW4mPj6djx440btyYzZs38+WXX7J+/Xp27drl0iYXLFjA448/DkDbtm3p0qULmZmZnDx5kkWLFlGhQoWrBvA9e/bEx8eHFStWEB4e7vL9z/nZPffcc/z+++/MmTOH/v3757mG3W7no48+AmDkyJGFlieECw/fxhRC5JKamqpWqVJFBVRF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TjFy5EiXpxkLExYWxvDhwwF48MEH8zzZpqoqa9euJTk52XksZ0b8//3vfy4TiFosFsaPH8/ff/99vW/vmoWHhzNq1CjS09O566672LNnT548JpOJn3/++bp66wqTE3QXNidWQYYOHUpAQACbN29m9uzZLmlxcXHMmzcv3/Puuece5/qWjz/+eL7jshITE5k3b16RgsDcMjIyeO+99/ItY8OGDSQlJaHVal3++ChITp5//vnnqk919urVi1tuuYXly5eza9cuateu7QwyhbhechtRiFLEYrHw5Zdf8uWXX1KxYkVatGhBhQoVSEpKYv/+/c7bOo8++ihDhw51OddoNLJ69Wr69evH8uXL6dChA02aNKFBgwZYLBb+/vtvTp48iUaj4YUXXuCtt94qtC5Xzoh+pcmTJ7sMTL777rv59ddfGThwIPPnz2fBggW0bt2a6tWrOxei3rVrF6qq0r59+2v+nkyfPp2jR4/y888/06xZM9q1a0fNmjW5cOEC+/bt49SpUxw9etT5dGCHDh245557+Omnn2jdujW33XYbvr6+bN++nZSUFJ577rkClxNyh7feeoszZ86wcOFCmjdvTrNmzahVqxY6nY6TJ0+yc+dO0tPTWbZsmVsG/vft25d169bx6KOP0r17d8qVKwdATEwM9erVK/TcypUr8+mnn/Loo4/y3HPP8dlnn9G4cWNOnTrFhg0bGD16NO+//36e8zQaDUuWLKF3794sWLDAOS1HtWrVMJvN/Pfff+zZswebzcbgwYPzfWLxWpnNZsaOHUtMTAxNmjShTp066PV6jh07xp9//gnASy+9dE2rLlSrVo3WrVuzdetWmjRpQuvWrfHx8aFChQp5fh80Gg0jR45k9OjRADzzzDNXfehBiAJ5aH4vIUQ+UlJS1CVLlqijRo1S27Ztq1atWlXV6/Wqr6+vWrt2bbV///7qsmXLrnqdpUuXqv369VOrVaum+vj4qAEBAWq9evXU4cOHq7t37y7wvNyTml7ttWPHjnyvkZqaqr7//vvqHXfcoUZERKgGg0H18/NT69atqz766KPqr7/+qtrt9uv6vtjtdnXhwoVq9+7d1fLly6t6vV6NiIhQO3bsqM6YMSPPgt1ZWVnqyy+/rNaqVUvV6/VqWFiY2r9/f/XIkSNXndT0yuO5FTRZZn5+++039f7771erVKmi6vV6NSQk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JSoqikmTJhV63uDBg+nfvz8AU6dOZfbs2WzZsoWePXsyd+5cIiMjmTNnDoqiUL9+fU6fPs348eN59dVXycjIYP78+Xz11Vd07doVgAULFlC1alXn9ePj44mNjSU+Pp7KlSsDMG7cOJYvX05sbGyBUys98sgjVK9encqVK7N7927Gjx/PoUOH+PHHH6/6vShObgm21q1bx5o1a9i4cSMnT57kwoUL+Pn5UbFiRZo0aUJ0dDR9+vQp8LZaafb++++j0Wjo27evy6SmObRaLb/++ivDhw8nKioKf39/Bg0a5HK/WJQ86dkSpYP0bImyY8iQIaSmprJq1SrnvIUFyT0npb+/P0FBQc47PAcOHCAqKsplPrsOHTqQlpbGyZMnSUxMxGw2067d5UA0NDSUevXqOff37NmDzWajbt26LuWaTCbKly9fYL2efPJJ53aTJk2oVKkSXbt25d9//6V27dpX+Q4UnyIHW+np6cyePZtPP/2U48ePO7ssfXx8CA0NJTMzk71797J7926+/vpr9Ho9d911F88//zwdOnRw2xtwtyvvB/v4+PDhhx8WOh9O9erV+e2334q5ZuJ6+MuYLSGEh/nqfPnrkb88Vvb1mDJlCitWrGDLli0EBgZeNb9er3fZVxTFrSsmpKWlodVq2bZtG1qt6zq0AQEB13ydnIDuyJEjZS/YmjdvHq+//jpnz56ladOmvPHGG0RFRdG6dWuXH5Kqqvzzzz/89ddfrFy5kp9++onFixdzzz338O6771KzZk23vREhcvMPcb2NKI/WC4+Qji2vpijKNd3K87QffviByZMns2zZMrcEJA0aNOCHH35AVVVn79bGjRsJDAykatWqhIaGotfr+euvv6hWrRoAiYmJHD58mOjoaABatGiBzWbj3LlzdOzYsch12blzJwCVKlW6sTd1g4oUbI0aNYr+/fvzwgsv5BnzlJuiKNStW5e6devy2GOPkZmZyddff820adP43//+x6uvvlrkigsBjmVObq3dApu2Ihrt5W5v/2AjGo2WDrVuo+KF3WgyMuA6/hoSwh10Wi0hHUJQyLskj06nY9CgQc5tITxh7969DBw4kPHjx9OoUSPn/JAGg4HQ0NAiXfOZZ55h5syZjBo1ipEjR3Lo0CFee+01xowZg0ajISAggKFDhxITE0P58uUJCwvjpZdecrl1WbduXQYMGMDA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ssotwda3337rsvD0H3/8wR9//OF88qZChQq0aNGCVq1a8eabb7qjSCGEEEKIMsFtM8g/8MADzv3z5887A6+cIGz16tWsWrVKgi0hhNeQqR6EEODGGeRzq1ixInfccQd33HGH81hmZia7d+8ujuKEEEIIIUottwyQ37dvHytXriz0iRpfX1+XFb6FEOKm59KxJYO2hPBWbgm2pk6dyj333JNnqv3Sbtq0abRp04bAwEDCwsK49957OXTokEuerKwsRowYQfny5QkICKBv376cPXvWJU98fDy9e/fGz8+PsLAwYmJisFqtJflWvJZGo6FeeE1uqdQszy0bjUZDdHQ00dHReZZKEaIkaDQabqnUjFsqNZX2KcRVdO7cmdGjR3u6GsXCLb/hGzdu5M4776Ry5cr5ph8+fJi+ffuyceNGdxTnNuvXr2fEiBH8+eefrFq1CovFQvfu3V166J5//nl++eUXvvvuO9avX8/p06e5//77nek2m43evXtjNpvZtGkTCxYs4IsvvuDVV1/1xFvyOr6+vrzQ8wlG3/0eBp0+T1pcXBxxcXH4+vp6qIbCm/n4+DD67vcYfdc7edqgtE8h3O+TTz6hc+fOBAUFoSgKSUlJefJcunSJAQMGEBQUREhICEOHDiXtinnw3M0twVZCQgJ169YtML1u3brs27ePWbNmuaM4t1m+fDmDBw+mUaNGNGvWjC+++IL4+Hi2bdsGQHJyMvPnz+e9997j9ttvp1WrVsTGxrJp0yb+/PNPAFauXMn+/fv56quvaN68OXfeeSdvvPEGH374IWazubDihbvJYGRRyuT0ZinITUQhSkJGRgY9e/bkxRdfLDDPgAED2LdvH6tWreLXX3/l999/58knnyzWerkl2AoODiYlJaXQPLfeeit//fWXO4orNjm3QUNDQwHYtm0bFouFbt26OfPUr1+fatWqsXnzZgA2b95MkyZNCA8Pd+bp0aMHKSkpBU7wajKZSElJcXmJolNlSRRRSuXE/9JGRWl17Nix7HVJXV+dO3cu8BxFUfjss8+477778PPzo06dOvz8888uedavX0/btm0xGo1UqlSJCRMmuAyvSU9PZ+DAgQQEBFCpUiXefffdPOWYTCbGjRtHlSpV8Pf3p127dsTFxRX6fkaPHs2ECROcazVf6cCBAyxfvpzPPvuMdu3acdttt/HBBx+waNEiTp8+Xei1b4Rbgq02bdqwbNky7PaCF1wNCwu76vqJnmS32xk9ejQdOnSgcePGgKPHzmAwEBIS4pI3PDychIQEZ57cgVZOek5afqZNm0ZwcLDzJWtGFl16ejqjF01hwoL7MVtMedIqVqxIxYoVZTkU4REZWZlMWHA/E758IE8blPZ581NVFYvJ5pGXeo2z6EZGRnLmzBnna8eOHZQvX55OnToVet7rr7/OQw89xO7du+nVqxcDBgzg0qVLAJw6dYpevXrRpk0bdu3axUcffcT8+fOZMmWK8/yYmBjWr1/PTz/9xMqVK4mLi2P79u0uZYwcOZLNmzezaNEidu/ezYMPPkjPnj35559/rvMncdnmzZsJCQmhdevWzmPdunVDo9EUa4eQW6Z+eOKJJ7j//vsZM2YMM2fOzDfPv//+i4+PjzuKKxYjRoxg7969/PHHH8Ve1sSJExkzZoxzPyUlRQKuG5BmKni5kwsXLpRgTYTIKy3L0WOuqnn/GJX2eXOzmu188tx6j5T95Kxo9EbtVfNptVoiIiIAxwNh9957L1FRUUyaNKnQ8wYPHkz//v0Bx0Nys2fPZsuWLfTs2ZO5c+cSGRnJnDlzUBSF+vXrc/r0acaPH8+rr75KRkYG8+fP56uvvqJr164ALFiwwGW1mfj4eGJjY4mPj3eOBx83bhzLly8nNjaWqVOnFuXbQkJCAmFhYS7HdDodoaGhBXaQuINbgq17772Xhx56iNmzZ3PkyBHeeustZ+8QwJo1a/jpp58K7Zb0pJEjRzrv2+b+YUdERGA2m0lKSnLp3Tp79qyzcUZERLBlyxaX6+U8rZiT50pGoxGj0ejmdyGEEEIU3ZAhQ0hNTWXVqlVXfUK2adOmzm1/f3+CgoKcd68OHDhAVFSUyxO4HTp0IC0tjZMnT5KYmIjZbHaZDio0NJR69eo59/fs2YPNZsszHtxkMlG+fPkbep+e4LZJTb/++mtCQkL45JNPWLZsGTVq1KBGjRqcO3eOAwcOoKoqMTEx7irOLVRVZdSoUSxevJi4uDhq1qzpkt6qVSv0ej1r1qyhb9++ABw6dIj4+HiioqIAiIqK4s033+TcuXPOaHnVqlUEBQXRsGHDkn1DQohSRZGxWl5NZ9Dw5Kxoj5V9PaZMmcKKFSvYsmULgYGBV82v17s+/a0oSqFDia5XWloaWq2Wbdu2odW69tAFBAQU+boRERF5hjRZrVYuXbpUYAeJO7gt2NJqtcybN48BAwYwc+ZMVq1axdGjRwGoVasW06ZNc5lRvjQYMWIECxcu5KeffiIwMNDZhRgcHIyvry/BwcEMHTqUMWPGEBoaSlBQEKNGjSIqKso5+K579+40bNiQxx57jOnTp5OQkMDLL7/MiBEjpPdKCC+X+y/7ax1DI24eiqJc0608T/vhhx+YPHkyy5Yto3bt2jd8vQYNGvDDDz+gqqrzd2Djxo0EBgZStWpVQkND0ev1/PXXX1SrVg2AxMREDh8+THS0Izht0aIFNpuNc+fO0bFjxxuuU46oqCiSkpLYtm0brVq1AmDt2rXY7fZinXjd7cv1dOzY0fmNSU5ORlXVPAPMS4uPPvoIIM/tzdjYWAYPHgzA+++/j0ajoW/fvphMJnr06MHcuXOdebVaLb/++ivDhw8nKioKf39/Bg0axOTJk0vqbQghhBBFsnfvXgYOHMj48eNp1KiRs9PBYDA4n8y/Xs888wwzZ85k1KhRjBw5kkOHDvHaa68xZswYNBoNAQEBDB06lJiYGMqXL09YWBgvvfSSy63LunXrMmDAAAYOHMi7775LixYtOH/+PGvWrKFp06b07t0737ITEhJISEjgyJEjgON2ZGBgINWqVSM0NJQGDRrQs2dPhg0bxrx587BYLIwcOZJ+/foVOFeoW6hF9OGHH6onT54s6ukil+TkZBVQk5OTPV2VMictLU3FMYWR+tHj4wpMS0tL81ANhTfb+Xucsw1euHDeJU3a580nMzNT3b9/v5qZmenpqlyz2NhYZzvM/YqOji7wHEBdvHixy7Hg4GA1NjbWuR8XF6e2adNGNRgMakREhDp+/HjVYrE401NTU9VHH31U9fPzU8PDw9Xp06er0dHR6nPPPefMYzab1VdffVWtUaOGqtfr1UqVKqn33Xefunv37gLr9tprr+X7fnLX7eLFi2r//v3VgIAANSgoSH388cfV1NTUAq9Z2M/1Wj+/FVUtWt+2RqNBURRatmzJvffey913302TJk1uIOzzXikpKQQHB5OcnExQUJCnq1OmZGZm0jCyDnZNAC/edTdPzZ/ukpbz+PLvv/8us3SLErdn0wb63DsMgJ2HNlKu3OWBvdI+bz5ZWVkcPXqUmjVrluqn78X1Kezneq2f30W+jfj333+zZMkSfv75Z1555RVeffVVatSo4Qy8OnbsKOt9iWLn6+vLy31GkOXTDoO6Jk/a33//7aGaCeFYrueF+x3DDvJbrkfapxDeocjRUKtWrXjjjTfYtWsX//33H++88w7VqlVj9uzZ3H777YSHh/P444+zZMkSMjIKngdJiBsm445FqZXraUQZIC+E13JL11ONGjV4/vnnWbduHWfPniU2NpaOHTvy/fffc//991OhQgXuuusuPv/881I9i7wo21R5yl6UYhJqCeG93H6fLzQ0lIEDB/Ljjz9y4cIFfv75ZwYMGMDWrVt54oknqFy5Mrfddpu7ixVeKiMjg/E/TOfVrx/BZLHkScuZ7016V4UnZGaZePXrR3j160dIS09zSZP2KYT3cPvUD7kZjUb69OlDnz59UFWVzZs389NPP+VZsFKIolJVlYvpSTl7edKOHz/u3BaipKmKyqU0x4oSV7ZBaZ83L/l53lzc8fMssRHsiqJw66238vbbb3PgwIGSKlYIITwn16SmuHF2bVE65cx0bjabPVwT4U45Pc9Xzpp/PYq1Z+vIkSPs3LmTHTt2sHPnTnbt2sXJkyeLs0ghhCidpLPjpqfT6fDz8+P8+fPo9Xp5Ir+MU1WVjIwMzp07R0hISJ5lg66HW4Its9nMnj172LlzpzO42rNnD2lpac4Kg+vSFUIIcfOTD1tvoigKlSpV4ujRo85bxKLsCwkJueF1E4scbL333nvO4OrQoUNYrVbgcmDl4+ODqqo0atSIoUOH0qhRIxo3bnxDlRVCiLIk95+X0rHlHQwGA3Xq1JFbiTcJvV5/Qz1aOYocbI0bNw5FUdBoNNxyyy00btyYxo0b06RJExo3bkzt2rXR6/VERUUxevToG66oEEKUZXa7hFveQqPRyAzywkWRgy2DwYDVauW5557j9ddfx9/f3531EuKaKIpC5eAw7BpfXPsRHGkNGzZ0bgtR0rQ6hYhy1YG8bVDapxDeo8jB1v79+xk9ejTvvfceCxcuZPLkyQwdOlT+0RAlys/Pj8n3jCbLtx1G1uRJ27dvn4dqJkT2clIPfQ6An5/rcj3SPoXwHkUevVmrVi1+/vlnli1bRlBQEE899RTNmjVj5cqV7qyfENdBbtOIUkxmfhDCa93wozI9evRg7969vPXWWxw/fpw777yTO++8k71797qjfkIIUXa5jJCXPwaE8FZueS5Zp9MRExPD4cOHefTRR1m5ciUtWrSQW4qi2GVkZPDqTzOZ8u0QTBZrnrRGjRrRqFEjWQ5FeERmZhZTvh3ClG+H5GmD0j6F8B5unQQmPDycBQsWsHHjRpo3b46qqixatIgZM2Y4p4YQwp1UVeV08jkSEo+T33I9+/fvZ//+/bJ8hvAMFRISj5OQeBy76nofUdqnEN6jWGbca9++PVu2bOGTTz7B19eXCRMm0LRpU1atWlUcxQkhRBkgAZUQ3qrYpjdWFIUnnniCw4cPM3LkSI4cOcKdd95ZXMUJIUSp4zKUQnqvhPBaxb6WRHBwMLNmzWLHjh106dKluIsTQohS6crbiEII7+G2haiXLl3KypUrSUlJoXr16jRr1oyWLVtSvbpjQr9GjRrJbUQhhFdx7dnyXD2EEJ7llmDr7bff5sUXX3QZ5Jnzj0xISAjNmzenZcuWtGzZkv79+7ujSCGEKPUU5IlsIYSbgq25c+cSHBxMbGwsTZo04fjx485Fqnfs2MGGDRtYt24diqJIsCXcSlEUyvuHoCpG8luuJ6dnVaYhEZ6gaBRCA8LzT5P2KYTXcEuwdenSJYYMGcI999wDOGaXzz0+y2w2s2fPHnbu3OmO4oRw8vPz4+0HxpPl0xYjq/OkHTt2zDMVEwLw9fNl8oCFgKM95ibtUwjv4ZZgq1mzZqSnpxeYbjAYaNWqFa1atXJHcUIIUSa4DNmy2zxXESGER7nlacTRo0fzyy+/cPHiRXdcTgghhBDipuGWYOuBBx6gf//+3HXXXZw6dcodlxTimmRmZjLl1zlM//EZzFZLnrQ2bdrQpk0bMjMzPVRD4c2ysixM//EZpv/4TJ42KO1TCO/htqkfatWqRWxsLPXq1aNXr17cfvvttGzZkmbNmmE0Gt1VjBAu7HY7xy46AnxV7ZMnbevWrc5tIUqa3W4n/vwhAGxXTGoq7VMI7+GWYOuFF17g3XffdU798P333/P999+jKAparZb69evTsmVLWrVqxahRo9xRpBBClC0yz5YQXssttxG//PJLwsLC2LRpE2lpaRw8eJBFixYRExNDly5dSEhI4Msvv2T06NHuKE4IIcoERXN5hLwsNi2E93JLz1ZGRgZPPvkk7du3B6Bu3brUrVuXhx56yJnnxIkT7Nixwx3FCSFEmeAye5YEW0J4LbcEW61bt+bcuXOF5omMjCQyMtIdxQkhRJngOlepBFtCeCu33EacOHEiv/zyCydPnnTH5YQoIpmFW5QyMjO8EAI3BVsHDhwgOjqaHj16sG/fPndcssz58MMPqVGjBj4+PrRr144tW7Z4ukpeI8DoT4BPcL6hVoUKFahQoUKJ10kIABQI8AkmwCc432Rpn0J4B7fcRhw9ejSKoqCqKs2aNePWW291Tv3QsmVLqlat6o5iSq1vvvmGMWPGMG/ePNq1a8fMmTPp0aMHhw4dIiwszNPVu6n5+/szs9/L+S7X4+/vz/nz5z1UMyEcS/K8NehHAPx9XZfrkfYphPdwS7D17bffuiw8/ccff/DHH384F1etUKECLVq0oFWrVrz55pvuKLJUee+99xg2bBiPP/44APPmzWPp0qV8/vnnTJgwwcO1E0J4TK7uVrtdxmwJ4a3cEmw98MADPPDAA8798+fPOwOvnCBs9erVrFq16qYLtsxmM9u2bWPixInOYxqNhm7durF582YP1kwI4Wka5fJIDZn6QQjv5bYZ5HOrWLEid9xxB3fccYfzWGZmJrt37y6O4jzqwoUL2Gw2wsPDXY6Hh4dz8ODBfM8xmUyYTCbnfkpKSrHW8WaWmZnJ9OWfYNcsYlyvO/Kk3XnnnQAsW7YMX19fT1RReLFMUxYzfx4DQK/nF7mmSfsUwmsUS7CVH19fX9q1a1dSxZVq06ZN4/XXX/d0NW4Kdrudw2ePAqCq3fKkrV+/3rktRElT7SpHzuzK3nZtg9I+hfAebnka0ZtVqFABrVbL2bNnXY6fPXuWiIiIfM+ZOHEiycnJzteJEydKoqo3PblJI0ozVZWASghvVaRgq2fPnvz9999FKjA9PZ233nqLDz/8sEjnlzYGg4FWrVqxZs0a5zG73c6aNWuIiorK9xyj0UhQUJDLSwhxM5J5toQQRQy2zp8/T/v27enSpQuxsbEkJydf9Zw///yTkSNHUr16dd544408Y5zKsjFjxvDpp5+yYMECDhw4wPDhw0lPT3c+nSiE8E5KrmBLlb5XIbxWkcZsbdu2jQULFvD6668zdOhQhg0bRr169WjVqhXh4eGEhISQlZXFpUuXOHToEFu3biU1NRWtVku/fv2YMmUK1apVc/d78ZiHH36Y8+fP8+qrr5KQkEDz5s1Zvnz5TRVQCiFukMRaQnitIg+QHzRoEAMHDuS3334jNjaWuLg4vvrqqzz5NBoNTZs25b777uOJJ56gUqVKN1Th0mrkyJGMHDnS09UQQpQiiibXbUSZ+kEIr3VDTyMqikLv3r3p3bs34Fi25+TJk1y8eBFfX18qVqxIo0aNCA7Of6kKIdzBoNMD2nzT/Pz88j0uRIlQFAw6HyD/24jSPoXwDm6d+qFBgwY0aNDAnZcUolD+/v7MfeQNsnzb5LtcT3p6uodqJgT4+/nx3tClAPjls1yPtE8hvINM/SBuGvLclyh1lNz/xMptRCG8lQRbQghRXBT5E0AIIcGWKOOysrKYtSaWj5a9iMVmzZOWM6YwKyvLQzUU3iwrK4uPlr3IR8teJCPLlCdN2qcQ3qHElusRojjYbDb2nDoEgF29LU/ab7/95twWoqSpqp198X8BYLNYXNKkfQrhPaRnSwghhBCiGEmwJYQQxUTJPUBexscL4bXcEmzdeeedLF68WLrChRBCCCGu4JZga8WKFTzwwANUrVqViRMncuTIEXdcVgghbh7SsyWE13JLsHXkyBFeeOEFNBoNb7/9NvXq1aNr164sWrQIs9nsjiKEuAbyaSZKGUUWohZCuCnYqlWrFtOmTSM+Pp7FixfTq1cvfv/9dwYMGEDlypUZM2YM+/fvd0dRQghRduSeZkvWRhTCaymqWjz/Apw5c4bPP/+c2NhYjh49CkBUVBTDhg3j4YcfxsfHpziKLZNSUlIIDg4mOTmZoKAgT1enzJk/6G2yfNvgp6zi8Y+mebo6QjglXjrHwhf3AtD7uQhqNGjo4RoJIdzpWj+/i+1pxEqVKjF+/HimTZtGpUqVUFWVTZs2MWTIEKpWrcqMGTOw2+3FVbwQQpQu0rMlhNcqlmDr8OHDvPDCC1StWpV+/fpx6dIlHnvsMVavXs3bb79NQEAAEyZMYPz48cVRvBBClAqyWI8QAtx4GzErK4vvvvuOzz77jD/++ANVValfvz5PPvkkgwYNoly5cs68JpOJO+64g0OHDnH27Fl3FF+myW3EosvKyuK2+m2xa8vx9O3tePLT6S5pjz32GAD/+9//5Na1KHEJp+Pp1dHRBhd+9x71W7Zypkn7FKLsu9bPb7cs1zNy5EgWLlxIcnIyer2ehx9+mKeeeoro6Oh88xuNRnr06MHGjRvdUbzwYjabjW3H9wBg79ImT9r3338PwBdffFHSVRMCm93Gjv9+B8Bkyrtcj7RPIbyDW4KtuXPnUrt2bSZOnMjjjz9OhQoVrnpO586defXVV91RvBBClEoajda5bTXJmC0hvJVbgq1Vq1bRtWvX6zqnQ4cOdOjQwR3FCwHILFui9FFyzbNlMckDQUJ4K7cMkK9Tpw4pKSmF5klNTSU+Pt4dxQkhRJkjPVtCeC+3BFs1a9Zk5syZheaZPXs2NWvWdEdxQhRAPsxE6WU1S/sUwlu5Jdi6lgcai2nuVCGEKL1y3UY0Z8ltRCG8VbFNanqlkydPEhgYWFLFCSGEx7mO2ZI/OIXwVkUeID958mSX/bi4uHzz2Ww2Tpw4waJFi2jfvn1RixMiX35+fnzY/w2yfFtg0G3Ik5aWlubcFqKk+fn5sahHDKeqRKNFnydN2qcQ3qHIwdakSZOc24qiEBcXV2DABVC5cmXefvvtohYnRL4URcGoN6DqfV16EXLS/P39PVQzIUDR6vDHjlHvi+2K24jSPoXwHkUOttatWwc4xmLdfvvtDB48mEGDBuXJp9VqCQ0NpX79+mg0JXbXUgghPE5RFOxkAmDJsHq4NkIITylysJV7dvjXXnuNzp07FzhjvBDFxWQy8fnGb7Fp1/B4dNM8aU899RQAH3/8MUaj0RNVFF7MZDIxc89KMo4e4dmw5/KkSfsUwju4bW1EUXSyNmLRpaenExAQAMDcoWMY/tm7+aalpaXJLRtR4s5fOEtYxQgA5o/9iSHv3O1Mk/YpRNlXrGsjDhkyBEVRmDp1KuHh4QwZMuSazlMUhfnz5xelSCGEKNNsFvm7VghvVaRg64svvkBRFMaPH094ePg1L6IqwZYoTsrVswjhMRaztFAhvFWRgq2jR48CUKVKFZd9IYQQl+V+QtYq4+OF8FpFCraqV69e6L4QQghXVrsG1a6iaKSHSwhvI3MxCCFEMVFcbm4rmE02j9VFCOE5xRpsqarKP//8w4kTJ4qzGCGEKBPMmXIvUQhv5JZg68cff2TgwIEkJiY6jx07doymTZtSv359atSoQb9+/bDZSs9fdceOHWPo0KHUrFkTX19fateuzWuvvYbZbHbJt3v3bjp27IiPjw+RkZFMnz49z7W+++476tevj4+PD02aNOG3334rqbfh9fz8/Hj/oVeYNvAHDLq8y6GcO3eOc+fOyXIowiP8/PwY81hd3um/AIPOxyXYkvYphPdwS7D10UcfsXPnTsqVK+c89vzzz7Nv3z66dOlC06ZN+e677/j888/dUZxbHDx4ELvdzscff8y+fft4//33mTdvHi+++KIzT0pKCt27d6d69eps27aNGTNmMGnSJD755BNnnk2bNtG/f3+GDh3Kjh07uPfee7n33nvZu3evJ96W11EUhUCfAAJ9Q/JdrqdixYpUrFgxT5oQJUFRFDTBOsrpDCiKgilXsCXtUwjv4ZZga//+/bRt29a5n5qaytKlS3n44YdZvXo1W7ZsoUGDBqUq2OrZsyexsbF0796dWrVqcffddzNu3Dh+/PFHZ56vv/4as9nM559/TqNGjejXrx/PPvss7733njPPrFmz6NmzJzExMTRo0IA33niDli1bMmfOHE+8LSFEKaIoCpkG0FkdS/bIbUQhvJNbgq1Lly4RERHh3P/jjz+wWq30798fAL1ezx133MG///7rjuKKTXJyMqGhoc79zZs306lTJwwGg/NYjx49OHTokPOW6ebNm+nWrZvLdXr06MHmzZtLptJezmQy8fVfS/hmwywsNmuetBEjRjBixAhMJpOHaii8mdlsZm3cGf635QssNjOmXOsjSvsUwnu4JdgKCgri4sWLzv1169ah0Wjo2LGj85heryc9Pd0dxRWLI0eO8MEHHzjXKgNISEggPDzcJV/OfkJCQqF5ctLzYzKZSElJcXmJorFaraw7tJkN+3/GbrfnSZs7dy5z587FKpMcCQ+wWq0c2J7I6n9/x263ufRsSfsUwnu4JdiqX78+v/zyCxcvXiQpKYmFCxfSqlUrlzFcx48fzxOUFIcJEyagKEqhr4MHD7qcc+rUKXr27MmDDz7IsGHDir2O06ZNIzg42PmKjIws9jKFEJ5nzpKgSghvVKRJTa/07LPP8uCDD1K1alVnD9aUKVNc8vz555+0bNnSHcUVauzYsQwePLjQPLVq1XJunz59mi5dunDrrbe6DHwHiIiI4OzZsy7HcvZzbpsWlCf3bdUrTZw4kTFjxjj3U1JSJOASwgvImC0hvJNbgq2+ffvy4YcfOtc97Nevn0vAs379elJSUujZs6c7iitUztM91+LUqVN06dKFVq1aERsbi0bj2tEXFRXFSy+9hMViQa93TCuwatUq6tWr5+y1i4qKYs2aNYwePdp53qpVq4iKiiqwXKPRiNFovM53JoQoa5QrVuw0ZZae6W+EECXHLcEWwPDhwxk+fHi+adHR0S5zcJUGp06d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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "idaeslog.solver_log.tee = True\n", + "results = petsc.petsc_dae_by_time_element(\n", + " m,\n", + " time=m.fs.time,\n", + " keepfiles=True,\n", + " symbolic_solver_labels=True,\n", + " ts_options={\n", + " \"--ts_type\": \"beuler\",\n", + " \"--ts_dt\": 0.1,\n", + " \"--ts_rtol\": 1e-3,\n", + " # \"--ts_adapt_clip\":\"0.001,3600\",\n", + " # \"--ksp_monitor\":\"\",\n", + " \"--ts_adapt_dt_min\": 1e-3,\n", + " \"--ts_adapt_dt_max\": 3600,\n", + " \"--snes_type\": \"newtontr\",\n", + " # \"--ts_max_reject\": 200,\n", + " # \"--snes_monitor\":\"\",\n", + " \"--ts_monitor\": \"\",\n", + " \"--ts_save_trajectory\": 1,\n", + " \"--ts_trajectory_type\": \"visualization\",\n", + " \"--ts_max_snes_failures\": 25,\n", + " # \"--show_cl\":\"\",\n", + " \"-snes_max_it\": 50,\n", + " \"-snes_rtol\": 0,\n", + " \"-snes_stol\": 0,\n", + " \"-snes_atol\": 1e-6,\n", + " },\n", + " skip_initial=False,\n", + " initial_solver=\"ipopt\",\n", + " initial_solver_options={\n", + " \"constr_viol_tol\": 1e-8,\n", + " \"nlp_scaling_method\": \"user-scaling\",\n", + " \"linear_solver\": \"ma57\",\n", + " \"OF_ma57_automatic_scaling\": \"yes\",\n", + " \"max_iter\": 300,\n", + " \"tol\": 1e-8,\n", + " \"halt_on_ampl_error\": \"no\",\n", + " },\n", + ")\n", + "for result in results.results:\n", + " pyo.assert_optimal_termination(result)" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Load certain variables into a dictionary for plotting convenience." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "ramp_list = np.array(m.fs.time)[1:]\n", + "traj = results.trajectory\n", + "\n", + "time_set = m.fs.time.ordered_data()\n", + "tf = time_set[-1]\n", + "soec = m.fs.soc_module.solid_oxide_cell\n", + "\n", + "results_dict = {\n", + " \"ramp_list\": np.array(ramp_list),\n", + " \"time\": np.array(traj.time),\n", + " \"potential\": np.array(traj.vecs[str(soec.potential[tf])]),\n", + " \"current\": np.array(traj.vecs[str(m.fs.soc_module.total_current[tf])]),\n", + " \"soec_fuel_inlet_flow\": np.array(\n", + " traj.vecs[str(m.fs.soc_module.fuel_inlet.flow_mol[tf])]\n", + " ),\n", + " \"soec_oxygen_inlet_flow\": np.array(\n", + " traj.vecs[str(m.fs.soc_module.oxygen_inlet.flow_mol[tf])]\n", + " ),\n", + " \"fuel_heater_duty\": np.array(\n", + " traj.vecs[str(m.fs.feed_heater.electric_heat_duty[tf])]\n", + " ),\n", + " \"sweep_heater_duty\": np.array(\n", + " traj.vecs[str(m.fs.sweep_heater.electric_heat_duty[tf])]\n", + " ),\n", + " \"fuel_inlet_H2\": np.array(traj.vecs[str(soec.fuel_inlet.mole_frac_comp[tf, \"H2\"])]),\n", + " \"fuel_inlet_H2O\": np.array(\n", + " traj.vecs[str(soec.fuel_inlet.mole_frac_comp[tf, \"H2O\"])]\n", + " ),\n", + " \"fuel_outlet_H2O\": np.array(\n", + " traj.vecs[\n", + " str(\n", + " soec.fuel_channel.mole_frac_comp[\n", + " tf,\n", + " soec.iznodes.last(),\n", + " \"H2O\",\n", + " ]\n", + " )\n", + " ]\n", + " ),\n", + " \"sweep_inlet_O2\": np.array(\n", + " traj.vecs[str(soec.oxygen_inlet.mole_frac_comp[tf, \"O2\"])]\n", + " ),\n", + " \"sweep_outlet_O2\": np.array(\n", + " traj.vecs[\n", + " str(soec.oxygen_channel.mole_frac_comp[tf, soec.iznodes.first(), \"O2\"])\n", + " ]\n", + " ),\n", + " \"H2_production\": np.array(traj.vecs[str(m.fs.h2_mass_production[tf])]),\n", + " \"fuel_outlet_mole_frac_comp_H2\": np.array(\n", + " traj.vecs[str(m.fs.soc_module.fuel_outlet_mole_frac_comp_H2[tf])]\n", + " ),\n", + " \"steam_feed_rate\": np.array(traj.vecs[str(m.fs.makeup_mix.makeup.flow_mol[tf])]),\n", + " \"sweep_feed_rate\": np.array(traj.vecs[str(m.fs.sweep_blower.inlet.flow_mol[tf])]),\n", + " \"total_electric_power\": np.array(traj.vecs[str(m.fs.total_electric_power[tf])]),\n", + " \"fuel_inlet_temperature\": np.array(\n", + " traj.vecs[str(soec.fuel_channel.temperature_inlet[tf])]\n", + " ),\n", + " \"sweep_inlet_temperature\": np.array(\n", + " traj.vecs[str(soec.oxygen_channel.temperature_inlet[tf])]\n", + " ),\n", + " \"stack_core_temperature\": np.array(traj.vecs[str(m.fs.stack_core_temperature[tf])]),\n", + " \"fuel_outlet_temperature\": np.array(\n", + " traj.vecs[str(soec.fuel_channel.temperature_outlet[tf])]\n", + " ),\n", + " \"sweep_outlet_temperature\": np.array(\n", + " traj.vecs[str(soec.oxygen_channel.temperature_outlet[tf])]\n", + " ),\n", + " \"product_mole_frac_H2\": np.array(\n", + " traj.vecs[str(m.fs.condenser_split.inlet.mole_frac_comp[tf, \"H2\"])]\n", + " ),\n", + " \"condenser_outlet_temperature\": np.array(\n", + " traj.vecs[\n", + " str(m.fs.condenser_flash.control_volume.properties_out[tf].temperature)\n", + " ]\n", + " ),\n", + " \"condenser_heat_duty\": np.array(traj.vecs[str(m.fs.condenser_flash.heat_duty[tf])]),\n", + " \"temperature_z\": np.array(\n", + " [traj.vecs[str(soec.temperature_z[tf, iz])] for iz in soec.iznodes]\n", + " ),\n", + " \"fuel_electrode_temperature_deviation_x\": np.array(\n", + " [\n", + " traj.vecs[str(soec.fuel_electrode.temperature_deviation_x[tf, 1, iz])]\n", + " for iz in soec.iznodes\n", + " ]\n", + " ),\n", + " \"interconnect_temperature_deviation_x\": np.array(\n", + " [\n", + " traj.vecs[str(soec.interconnect.temperature_deviation_x[tf, 1, iz])]\n", + " for iz in soec.iznodes\n", + " ]\n", + " ),\n", + " \"temperature_z_gradient\": np.array(\n", + " [traj.vecs[str(soec.dtemperature_z_dz[tf, iz])] for iz in soec.iznodes]\n", + " ),\n", + " \"fuel_electrode_gradient\": np.array(\n", + " [\n", + " traj.vecs[str(soec.fuel_electrode.dtemperature_dz[tf, 1, iz])]\n", + " for iz in soec.iznodes\n", + " ]\n", + " ),\n", + " \"fuel_electrode_mixed_partial\": np.array(\n", + " [\n", + " traj.vecs[str(soec.fuel_electrode.d2temperature_dzdt_dummy[tf, 1, iz])]\n", + " for iz in soec.iznodes\n", + " ]\n", + " ),\n", + " \"interconnect_gradient\": np.array(\n", + " [\n", + " traj.vecs[str(soec.interconnect.dtemperature_dz[tf, 1, iz])]\n", + " for iz in soec.iznodes\n", + " ]\n", + " ),\n", + " \"current_density\": np.array(\n", + " [traj.vecs[str(soec.current_density[tf, iz])] for iz in soec.iznodes]\n", + " ),\n", + " \"feed_heater_temperature\": np.array(\n", + " [\n", + " traj.vecs[str(m.fs.feed_heater.temp_wall_center[tf, z])]\n", + " for z in m.fs.feed_heater.control_volume.length_domain\n", + " ]\n", + " ),\n", + " \"sweep_heater_temperature\": np.array(\n", + " [\n", + " traj.vecs[str(m.fs.sweep_heater.temp_wall_center[tf, z])]\n", + " for z in m.fs.sweep_heater.control_volume.length_domain\n", + " ]\n", + " ),\n", + " \"feed_medium_exchanger_temperature\": np.array(\n", + " [\n", + " traj.vecs[str(m.fs.feed_medium_exchanger.temp_wall_center[tf, z])]\n", + " for z in m.fs.feed_medium_exchanger.cold_side.length_domain\n", + " ]\n", + " ),\n", + " \"feed_hot_exchanger_temperature\": np.array(\n", + " [\n", + " traj.vecs[str(m.fs.feed_hot_exchanger.temp_wall_center[tf, z])]\n", + " for z in m.fs.feed_hot_exchanger.cold_side.length_domain\n", + " ]\n", + " ),\n", + " \"sweep_exchanger_temperature\": np.array(\n", + " [\n", + " traj.vecs[str(m.fs.sweep_exchanger.temp_wall_center[tf, z])]\n", + " for z in m.fs.sweep_exchanger.cold_side.length_domain\n", + " ]\n", + " ),\n", + "}\n", + "\n", + "for controller in m.fs.controller_set:\n", + " ctrl_name = controller.local_name\n", + " results_dict[ctrl_name + \"_mv_ref\"] = np.array(\n", + " traj.vecs[str(controller.mv_ref[tf])]\n", + " )\n", + " results_dict[ctrl_name + \"_setpoint\"] = np.array(\n", + " traj.vecs[str(controller.setpoint[tf])]\n", + " )" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 18, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "from pytest import approx\n", + "\n", + "assert pyo.value(m.fs.soc_module.total_current[tf]) == approx(\n", + " -191441759.6695978, rel=1e-3\n", + ")\n", + "assert pyo.value(m.fs.soc_module.fuel_inlet.temperature[tf]) == approx(\n", + " 940.5460355948476, abs=1e-1\n", + ")\n", + "assert pyo.value(m.fs.soc_module.fuel_outlet.temperature[tf]) == approx(\n", + " 986.3603295602375, abs=1e-1\n", + ")\n", + "assert pyo.value(m.fs.soc_module.oxygen_inlet.temperature[tf]) == approx(\n", + " 969.8965765691661, abs=1e-1\n", + ")\n", + "assert pyo.value(m.fs.soc_module.oxygen_outlet.temperature[tf]) == approx(\n", + " 985.4405065934872, abs=1e-1\n", + ")\n", + "assert pyo.value(m.fs.feed_heater.electric_heat_duty[tf]) == approx(\n", + " 573750.5022036476, rel=1e-3\n", + ")\n", + "assert pyo.value(m.fs.sweep_heater.electric_heat_duty[tf]) == approx(\n", + " 1446426.4849774062, rel=1e-3\n", + ")" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here we plot a number of system variables that we use to gauge system performance. The user is free to adapt this code to view other variables of interest." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "def _demarcate_ramps(ax, results_dict):\n", + " for tpoint in np.squeeze(results_dict[\"ramp_list\"])[:-1]:\n", + " ax.plot(np.array([tpoint, tpoint]) / 60**2, [-1e6, 1e6], \"k--\")" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "include_PI = True\n", + "\n", + "for key, value in results_dict.items():\n", + " # Turn n by 1 arrays in into vectors\n", + " results_dict[key] = np.squeeze(value)\n", + "\n", + "demarcate_ramps = lambda ax: _demarcate_ramps(ax, results_dict)\n", + "\n", + "time = results_dict[\"time\"] / 60**2\n", + "\n", + "ax_fontsize = 14\n", + "title_fontsize = 16\n", + "iz_plot = [1, 3, 5, 8, 10]\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "\n", + "ax.plot(time, results_dict[\"potential\"])\n", + "if include_PI:\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"voltage_controller_mv_ref\"],\n", + " color=\"darkblue\",\n", + " linestyle=\"dotted\",\n", + " )\n", + "demarcate_ramps(ax)\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((0.65, 1.45))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Cell potential (V)\", fontsize=ax_fontsize)\n", + "ax.set_title(\"SOEC Voltage\", fontsize=title_fontsize)\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "\n", + "ax.plot(time, results_dict[\"current\"] * 1e-6)\n", + "demarcate_ramps(ax)\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((-250, 125))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Current (MA)\", fontsize=ax_fontsize)\n", + "ax.set_title(\"Total module current\", fontsize=title_fontsize)\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "\n", + "ax.plot(time, results_dict[\"soec_fuel_inlet_flow\"], label=\"Fuel\")\n", + "ax.plot(time, results_dict[\"soec_oxygen_inlet_flow\"], label=\"Sweep\")\n", + "demarcate_ramps(ax)\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((0, 20000))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"SOEC inlet molar flow (mol/s)\", fontsize=ax_fontsize)\n", + "ax.set_title(\"Inlet molar flow rates\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "ax.plot(time, 1e-6 * results_dict[\"fuel_heater_duty\"], label=\"Fuel\", color=\"tab:blue\")\n", + "ax.plot(\n", + " time, 1e-6 * results_dict[\"sweep_heater_duty\"], label=\"Sweep\", color=\"tab:orange\"\n", + ")\n", + "if include_PI:\n", + " ax.plot(\n", + " time,\n", + " 1e-6 * results_dict[\"feed_heater_inner_controller_mv_ref\"],\n", + " label=\"Fuel reference\",\n", + " color=\"darkblue\",\n", + " linestyle=\"dotted\",\n", + " )\n", + " ax.plot(\n", + " time,\n", + " 1e-6 * results_dict[\"sweep_heater_inner_controller_mv_ref\"],\n", + " label=\"Sweep reference\",\n", + " color=\"saddlebrown\",\n", + " linestyle=\"dotted\",\n", + " )\n", + "demarcate_ramps(ax)\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((0, 11))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Heater duty (MW)\", fontsize=ax_fontsize)\n", + "ax.set_title(\"Trim heater duties\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "ax.plot(time, results_dict[\"fuel_inlet_H2O\"], label=\"Inlet $H_2O$\")\n", + "ax.plot(time, results_dict[\"fuel_outlet_H2O\"], label=\"Outlet $H_2O$\")\n", + "ax.plot(time, results_dict[\"sweep_inlet_O2\"], label=\"Inlet $O_2$\")\n", + "ax.plot(time, results_dict[\"sweep_outlet_O2\"], label=\"Outlet $O_2$\")\n", + "ax.plot(time, results_dict[\"product_mole_frac_H2\"], label=\"Product $H_2$\")\n", + "ax.plot(time, 0.35 * np.ones(time.shape), \"--\")\n", + "ax.plot(time, 0.25 * np.ones(time.shape), \"--\")\n", + "demarcate_ramps(ax)\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((0, 1))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Mole fraction\", fontsize=ax_fontsize)\n", + "ax.set_title(\"Reactor feed and effluent concentrations\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "ax.plot(time, results_dict[\"H2_production\"])\n", + "demarcate_ramps(ax)\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((-1.25, 2.5))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Hydrogen Production Rate (kg/s)\", fontsize=ax_fontsize)\n", + "ax.set_title(\"Instantaneous $H_2$ production rate\", fontsize=title_fontsize)\n", + "\n", + "if include_PI:\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"h2_production_rate_controller_setpoint\"],\n", + " label=\"Target\",\n", + " color=\"darkblue\",\n", + " linestyle=\"dotted\",\n", + " )\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "ax.plot(time, results_dict[\"steam_feed_rate\"])\n", + "if include_PI:\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"h2_production_rate_controller_mv_ref\"],\n", + " label=\"Target\",\n", + " color=\"darkblue\",\n", + " linestyle=\"dotted\",\n", + " )\n", + "demarcate_ramps(ax)\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((0, 7500))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Steam feed rate (mol/s)\", fontsize=ax_fontsize)\n", + "ax.set_title(\"Steam feed rate\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "ax.plot(time, results_dict[\"sweep_feed_rate\"])\n", + "if include_PI:\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"sweep_blower_controller_mv_ref\"],\n", + " label=\"Target\",\n", + " color=\"darkblue\",\n", + " linestyle=\"dotted\",\n", + " )\n", + "demarcate_ramps(ax)\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((0, 11000))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Sweep feed rate (mol/s)\", fontsize=ax_fontsize)\n", + "ax.set_title(\"Sweep feed rate\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "ax.plot(time, 1e-6 * results_dict[\"total_electric_power\"], \"b\", label=\"Total power\")\n", + "demarcate_ramps(ax)\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((-125, 350))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Power usage (MW)\", color=\"blue\", fontsize=ax_fontsize)\n", + "ax.set_title(\"Power usage\", fontsize=title_fontsize)\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "\n", + "ax.plot(time, results_dict[\"fuel_inlet_temperature\"], label=\"Fuel\", color=\"tab:blue\")\n", + "ax.plot(\n", + " time, results_dict[\"sweep_inlet_temperature\"], label=\"Sweep\", color=\"tab:orange\"\n", + ")\n", + "ax.plot(\n", + " time, results_dict[\"stack_core_temperature\"], label=\"Stack core\", color=\"darkgreen\"\n", + ")\n", + "\n", + "if include_PI:\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"feed_heater_inner_controller_setpoint\"],\n", + " label=\"Fuel target\",\n", + " color=\"darkblue\",\n", + " linestyle=\"dotted\",\n", + " )\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"sweep_heater_inner_controller_setpoint\"],\n", + " label=\"Sweep target\",\n", + " color=\"saddlebrown\",\n", + " linestyle=\"dotted\",\n", + " )\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"sweep_blower_controller_setpoint\"],\n", + " label=\"Core target\",\n", + " color=\"olivedrab\",\n", + " linestyle=\"dotted\",\n", + " )\n", + "\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((850, 1150))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", + "demarcate_ramps(ax)\n", + "ax.set_title(\"SOEC temperature\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "\n", + "ax.plot(time, results_dict[\"fuel_outlet_temperature\"], label=\"Fuel\", color=\"tab:blue\")\n", + "ax.plot(\n", + " time, results_dict[\"sweep_outlet_temperature\"], label=\"Sweep\", color=\"tab:orange\"\n", + ")\n", + "if include_PI:\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"feed_heater_outer_controller_setpoint\"],\n", + " label=\"Fuel target\",\n", + " color=\"darkblue\",\n", + " linestyle=\"dotted\",\n", + " )\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"sweep_heater_outer_controller_setpoint\"],\n", + " label=\"Sweep target\",\n", + " color=\"saddlebrown\",\n", + " linestyle=\"dotted\",\n", + " )\n", + "\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((890, 1100))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", + "demarcate_ramps(ax)\n", + "ax.set_title(\"SOEC outlet temperature\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "\n", + "for iz in iz_plot:\n", + " ax.plot(time, results_dict[\"temperature_z\"][iz - 1, :], label=f\"z node {iz}\")\n", + "\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((890, 1100))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", + "demarcate_ramps(ax)\n", + "ax.set_title(\"SOEC temperature profile\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "\n", + "for iz in iz_plot:\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"temperature_z\"][iz - 1, :]\n", + " + results_dict[\"fuel_electrode_temperature_deviation_x\"][iz - 1, :],\n", + " label=f\"z node {iz}\",\n", + " )\n", + "\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((890, 1100))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", + "demarcate_ramps(ax)\n", + "ax.set_title(\"Temperature electrode\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "\n", + "for iz in iz_plot:\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"temperature_z\"][iz - 1, :]\n", + " + results_dict[\"interconnect_temperature_deviation_x\"][iz - 1, :],\n", + " label=f\"z node {iz}\",\n", + " )\n", + "\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((890, 1100))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", + "demarcate_ramps(ax)\n", + "ax.set_title(\"Temperature interconnect\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "\n", + "for iz in iz_plot:\n", + " ax.plot(\n", + " time, results_dict[\"fuel_electrode_gradient\"][iz - 1, :], label=f\"node {iz}\"\n", + " )\n", + "\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((-1000, 1000))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"$dT/dz$ ($K/m$)\", fontsize=ax_fontsize)\n", + "ax.set_title(\"SOEC PEN temperature gradient\", fontsize=title_fontsize)\n", + "demarcate_ramps(ax)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "\n", + "for iz in iz_plot:\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"fuel_electrode_mixed_partial\"][iz - 1, :],\n", + " label=f\"node {iz}\",\n", + " )\n", + "\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((-2, 2))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"$d^2T/dzdt$ ($K/(m s)$)\", fontsize=ax_fontsize)\n", + "ax.set_title(\"SOEC PEN temperature mixed partial\", fontsize=title_fontsize)\n", + "demarcate_ramps(ax)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "\n", + "for iz in iz_plot:\n", + " ax.plot(time, results_dict[\"current_density\"][iz - 1, :] / 10, label=f\"z node {iz}\")\n", + "\n", + "ax.set_xlim(time[0], time[-1])\n", + "# ax.set_ylim((575,875))\n", + "ax.set_ylim((-1000, 650))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Current density ($mA/cm^2$)\", fontsize=ax_fontsize)\n", + "ax.set_title(\"SOEC current density\", fontsize=title_fontsize)\n", + "demarcate_ramps(ax)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", + "for z in range(results_dict[\"feed_heater_temperature\"].shape[0]):\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"feed_heater_temperature\"][z, :],\n", + " label=f\"Feed wall node {z+1}\",\n", + " )\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"sweep_heater_temperature\"][z, :],\n", + " label=f\"Sweep wall node {z+1}\",\n", + " )\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((870, 1175))\n", + "demarcate_ramps(ax)\n", + "ax.set_title(\"Trim heater wall temperature\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", + "for z in range(results_dict[\"feed_medium_exchanger_temperature\"].shape[0]):\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"feed_medium_exchanger_temperature\"][z, :],\n", + " label=f\"Node {z + 1}\",\n", + " )\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((370, 520))\n", + "demarcate_ramps(ax)\n", + "ax.set_title(\"Medium exchanger wall temperature\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", + "\n", + "for z in range(results_dict[\"feed_hot_exchanger_temperature\"].shape[0]):\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"feed_hot_exchanger_temperature\"][z, :],\n", + " label=f\"Node {z + 1}\",\n", + " )\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((700, 950))\n", + "demarcate_ramps(ax)\n", + "ax.set_title(\"Hot exchanger wall temperature\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", + "for z in range(results_dict[\"sweep_exchanger_temperature\"].shape[0]):\n", + " ax.plot(time, results_dict[\"sweep_exchanger_temperature\"][z, :], label=f\"Node {z}\")\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((700, 1020))\n", + "demarcate_ramps(ax)\n", + "ax.set_title(\"Sweep exchanger wall temperature\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "ax2 = ax.twinx()\n", + "\n", + "ax.plot(\n", + " time,\n", + " results_dict[\"condenser_outlet_temperature\"],\n", + " label=\"Temperature\",\n", + " color=\"tab:blue\",\n", + ")\n", + "ax2.plot(\n", + " time,\n", + " results_dict[\"product_mole_frac_H2\"],\n", + " label=\"H2 mole fraction\",\n", + " color=\"tab:orange\",\n", + ")\n", + "\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((273.15, 373.15))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize, color=\"tab:blue\")\n", + "ax2.set_ylim((0, 1))\n", + "ax2.set_ylabel(\"Mole fraction $H_2$\", fontsize=ax_fontsize, color=\"tab:orange\")\n", + "\n", + "demarcate_ramps(ax)\n", + "ax.set_title(\"Condenser Vapor Outlet\", fontsize=title_fontsize)\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "\n", + "ax.plot(time, 1e-6 * results_dict[\"condenser_heat_duty\"])\n", + "\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((-40, -12))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Heat Duty (MW)\", fontsize=ax_fontsize)\n", + "\n", + "demarcate_ramps(ax)\n", + "ax.set_title(\"Condenser Heat Duty\", fontsize=title_fontsize)\n", + "\n", + "plt.show()" ] - }, - "metadata": {}, - "output_type": "display_data" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" } - ], - "source": [ - "include_PI = True\n", - "\n", - "for key, value in results_dict.items():\n", - " # Turn n by 1 arrays in into vectors\n", - " results_dict[key] = np.squeeze(value)\n", - "\n", - "demarcate_ramps = lambda ax: _demarcate_ramps(ax, results_dict)\n", - "\n", - "time = results_dict[\"time\"] / 60**2\n", - "\n", - "ax_fontsize = 14\n", - "title_fontsize = 16\n", - "iz_plot = [1, 3, 5, 8, 10]\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "\n", - "ax.plot(time, results_dict[\"potential\"])\n", - "if include_PI:\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"voltage_controller_mv_ref\"],\n", - " color=\"darkblue\",\n", - " linestyle=\"dotted\",\n", - " )\n", - "demarcate_ramps(ax)\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((0.65, 1.45))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Cell potential (V)\", fontsize=ax_fontsize)\n", - "ax.set_title(\"SOEC Voltage\", fontsize=title_fontsize)\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "\n", - "ax.plot(time, results_dict[\"current\"] * 1e-6)\n", - "demarcate_ramps(ax)\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((-250, 125))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Current (MA)\", fontsize=ax_fontsize)\n", - "ax.set_title(\"Total module current\", fontsize=title_fontsize)\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "\n", - "ax.plot(time, results_dict[\"soec_fuel_inlet_flow\"], label=\"Fuel\")\n", - "ax.plot(time, results_dict[\"soec_oxygen_inlet_flow\"], label=\"Sweep\")\n", - "demarcate_ramps(ax)\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((0, 20000))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"SOEC inlet molar flow (mol/s)\", fontsize=ax_fontsize)\n", - "ax.set_title(\"Inlet molar flow rates\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "ax.plot(time, 1e-6 * results_dict[\"fuel_heater_duty\"], label=\"Fuel\", color=\"tab:blue\")\n", - "ax.plot(\n", - " time, 1e-6 * results_dict[\"sweep_heater_duty\"], label=\"Sweep\", color=\"tab:orange\"\n", - ")\n", - "if include_PI:\n", - " ax.plot(\n", - " time,\n", - " 1e-6 * results_dict[\"feed_heater_inner_controller_mv_ref\"],\n", - " label=\"Fuel reference\",\n", - " color=\"darkblue\",\n", - " linestyle=\"dotted\",\n", - " )\n", - " ax.plot(\n", - " time,\n", - " 1e-6 * results_dict[\"sweep_heater_inner_controller_mv_ref\"],\n", - " label=\"Sweep reference\",\n", - " color=\"saddlebrown\",\n", - " linestyle=\"dotted\",\n", - " )\n", - "demarcate_ramps(ax)\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((0, 11))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Heater duty (MW)\", fontsize=ax_fontsize)\n", - "ax.set_title(\"Trim heater duties\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "ax.plot(time, results_dict[\"fuel_inlet_H2O\"], label=\"Inlet $H_2O$\")\n", - "ax.plot(time, results_dict[\"fuel_outlet_H2O\"], label=\"Outlet $H_2O$\")\n", - "ax.plot(time, results_dict[\"sweep_inlet_O2\"], label=\"Inlet $O_2$\")\n", - "ax.plot(time, results_dict[\"sweep_outlet_O2\"], label=\"Outlet $O_2$\")\n", - "ax.plot(time, results_dict[\"product_mole_frac_H2\"], label=\"Product $H_2$\")\n", - "ax.plot(time, 0.35 * np.ones(time.shape), \"--\")\n", - "ax.plot(time, 0.25 * np.ones(time.shape), \"--\")\n", - "demarcate_ramps(ax)\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((0, 1))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Mole fraction\", fontsize=ax_fontsize)\n", - "ax.set_title(\"Reactor feed and effluent concentrations\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "ax.plot(time, results_dict[\"H2_production\"])\n", - "demarcate_ramps(ax)\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((-1.25, 2.5))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Hydrogen Production Rate (kg/s)\", fontsize=ax_fontsize)\n", - "ax.set_title(\"Instantaneous $H_2$ production rate\", fontsize=title_fontsize)\n", - "\n", - "if include_PI:\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"h2_production_rate_controller_setpoint\"],\n", - " label=\"Target\",\n", - " color=\"darkblue\",\n", - " linestyle=\"dotted\",\n", - " )\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "ax.plot(time, results_dict[\"steam_feed_rate\"])\n", - "if include_PI:\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"h2_production_rate_controller_mv_ref\"],\n", - " label=\"Target\",\n", - " color=\"darkblue\",\n", - " linestyle=\"dotted\",\n", - " )\n", - "demarcate_ramps(ax)\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((0, 7500))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Steam feed rate (mol/s)\", fontsize=ax_fontsize)\n", - "ax.set_title(\"Steam feed rate\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "ax.plot(time, results_dict[\"sweep_feed_rate\"])\n", - "if include_PI:\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"sweep_blower_controller_mv_ref\"],\n", - " label=\"Target\",\n", - " color=\"darkblue\",\n", - " linestyle=\"dotted\",\n", - " )\n", - "demarcate_ramps(ax)\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((0, 11000))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Sweep feed rate (mol/s)\", fontsize=ax_fontsize)\n", - "ax.set_title(\"Sweep feed rate\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "ax.plot(time, 1e-6 * results_dict[\"total_electric_power\"], \"b\", label=\"Total power\")\n", - "demarcate_ramps(ax)\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((-125, 350))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Power usage (MW)\", color=\"blue\", fontsize=ax_fontsize)\n", - "ax.set_title(\"Power usage\", fontsize=title_fontsize)\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "\n", - "ax.plot(time, results_dict[\"fuel_inlet_temperature\"], label=\"Fuel\", color=\"tab:blue\")\n", - "ax.plot(\n", - " time, results_dict[\"sweep_inlet_temperature\"], label=\"Sweep\", color=\"tab:orange\"\n", - ")\n", - "ax.plot(\n", - " time, results_dict[\"stack_core_temperature\"], label=\"Stack core\", color=\"darkgreen\"\n", - ")\n", - "\n", - "if include_PI:\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"feed_heater_inner_controller_setpoint\"],\n", - " label=\"Fuel target\",\n", - " color=\"darkblue\",\n", - " linestyle=\"dotted\",\n", - " )\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"sweep_heater_inner_controller_setpoint\"],\n", - " label=\"Sweep target\",\n", - " color=\"saddlebrown\",\n", - " linestyle=\"dotted\",\n", - " )\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"sweep_blower_controller_setpoint\"],\n", - " label=\"Core target\",\n", - " color=\"olivedrab\",\n", - " linestyle=\"dotted\",\n", - " )\n", - "\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((850, 1150))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", - "demarcate_ramps(ax)\n", - "ax.set_title(\"SOEC temperature\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "\n", - "ax.plot(time, results_dict[\"fuel_outlet_temperature\"], label=\"Fuel\", color=\"tab:blue\")\n", - "ax.plot(\n", - " time, results_dict[\"sweep_outlet_temperature\"], label=\"Sweep\", color=\"tab:orange\"\n", - ")\n", - "if include_PI:\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"feed_heater_outer_controller_setpoint\"],\n", - " label=\"Fuel target\",\n", - " color=\"darkblue\",\n", - " linestyle=\"dotted\",\n", - " )\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"sweep_heater_outer_controller_setpoint\"],\n", - " label=\"Sweep target\",\n", - " color=\"saddlebrown\",\n", - " linestyle=\"dotted\",\n", - " )\n", - "\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((890, 1100))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", - "demarcate_ramps(ax)\n", - "ax.set_title(\"SOEC outlet temperature\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "\n", - "for iz in iz_plot:\n", - " ax.plot(time, results_dict[\"temperature_z\"][iz - 1, :], label=f\"z node {iz}\")\n", - "\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((890, 1100))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", - "demarcate_ramps(ax)\n", - "ax.set_title(\"SOEC temperature profile\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "\n", - "for iz in iz_plot:\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"temperature_z\"][iz - 1, :]\n", - " + results_dict[\"fuel_electrode_temperature_deviation_x\"][iz - 1, :],\n", - " label=f\"z node {iz}\",\n", - " )\n", - "\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((890, 1100))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", - "demarcate_ramps(ax)\n", - "ax.set_title(\"Temperature electrode\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "\n", - "for iz in iz_plot:\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"temperature_z\"][iz - 1, :]\n", - " + results_dict[\"interconnect_temperature_deviation_x\"][iz - 1, :],\n", - " label=f\"z node {iz}\",\n", - " )\n", - "\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((890, 1100))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", - "demarcate_ramps(ax)\n", - "ax.set_title(\"Temperature interconnect\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "\n", - "for iz in iz_plot:\n", - " ax.plot(\n", - " time, results_dict[\"fuel_electrode_gradient\"][iz - 1, :], label=f\"node {iz}\"\n", - " )\n", - "\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((-1000, 1000))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"$dT/dz$ ($K/m$)\", fontsize=ax_fontsize)\n", - "ax.set_title(\"SOEC PEN temperature gradient\", fontsize=title_fontsize)\n", - "demarcate_ramps(ax)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "\n", - "for iz in iz_plot:\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"fuel_electrode_mixed_partial\"][iz - 1, :],\n", - " label=f\"node {iz}\",\n", - " )\n", - "\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((-2, 2))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"$d^2T/dzdt$ ($K/(m s)$)\", fontsize=ax_fontsize)\n", - "ax.set_title(\"SOEC PEN temperature mixed partial\", fontsize=title_fontsize)\n", - "demarcate_ramps(ax)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "\n", - "for iz in iz_plot:\n", - " ax.plot(time, results_dict[\"current_density\"][iz - 1, :] / 10, label=f\"z node {iz}\")\n", - "\n", - "ax.set_xlim(time[0], time[-1])\n", - "# ax.set_ylim((575,875))\n", - "ax.set_ylim((-1000, 650))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Current density ($mA/cm^2$)\", fontsize=ax_fontsize)\n", - "ax.set_title(\"SOEC current density\", fontsize=title_fontsize)\n", - "demarcate_ramps(ax)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", - "for z in range(results_dict[\"feed_heater_temperature\"].shape[0]):\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"feed_heater_temperature\"][z, :],\n", - " label=f\"Feed wall node {z+1}\",\n", - " )\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"sweep_heater_temperature\"][z, :],\n", - " label=f\"Sweep wall node {z+1}\",\n", - " )\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((870, 1175))\n", - "demarcate_ramps(ax)\n", - "ax.set_title(\"Trim heater wall temperature\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", - "for z in range(results_dict[\"feed_medium_exchanger_temperature\"].shape[0]):\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"feed_medium_exchanger_temperature\"][z, :],\n", - " label=f\"Node {z + 1}\",\n", - " )\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((370, 520))\n", - "demarcate_ramps(ax)\n", - "ax.set_title(\"Medium exchanger wall temperature\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", - "\n", - "for z in range(results_dict[\"feed_hot_exchanger_temperature\"].shape[0]):\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"feed_hot_exchanger_temperature\"][z, :],\n", - " label=f\"Node {z + 1}\",\n", - " )\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((700, 950))\n", - "demarcate_ramps(ax)\n", - "ax.set_title(\"Hot exchanger wall temperature\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", - "for z in range(results_dict[\"sweep_exchanger_temperature\"].shape[0]):\n", - " ax.plot(time, results_dict[\"sweep_exchanger_temperature\"][z, :], label=f\"Node {z}\")\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((700, 1020))\n", - "demarcate_ramps(ax)\n", - "ax.set_title(\"Sweep exchanger wall temperature\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "ax2 = ax.twinx()\n", - "\n", - "ax.plot(\n", - " time,\n", - " results_dict[\"condenser_outlet_temperature\"],\n", - " label=\"Temperature\",\n", - " color=\"tab:blue\",\n", - ")\n", - "ax2.plot(\n", - " time,\n", - " results_dict[\"product_mole_frac_H2\"],\n", - " label=\"H2 mole fraction\",\n", - " color=\"tab:orange\",\n", - ")\n", - "\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((273.15, 373.15))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize, color=\"tab:blue\")\n", - "ax2.set_ylim((0, 1))\n", - "ax2.set_ylabel(\"Mole fraction $H_2$\", fontsize=ax_fontsize, color=\"tab:orange\")\n", - "\n", - "demarcate_ramps(ax)\n", - "ax.set_title(\"Condenser Vapor Outlet\", fontsize=title_fontsize)\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "\n", - "ax.plot(time, 1e-6 * results_dict[\"condenser_heat_duty\"])\n", - "\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((-40, -12))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Heat Duty (MW)\", fontsize=ax_fontsize)\n", - "\n", - "demarcate_ramps(ax)\n", - "ax.set_title(\"Condenser Heat Duty\", fontsize=title_fontsize)\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.14" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/power_gen/solid_oxide_cell/soc_pid_control_usr.ipynb b/idaes_examples/notebooks/docs/power_gen/solid_oxide_cell/soc_pid_control_usr.ipynb index b22f6611..0620ad68 100644 --- a/idaes_examples/notebooks/docs/power_gen/solid_oxide_cell/soc_pid_control_usr.ipynb +++ b/idaes_examples/notebooks/docs/power_gen/solid_oxide_cell/soc_pid_control_usr.ipynb @@ -1,2596 +1,1342 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2024 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################\n", - "\n", - "from enum import Enum\n", - "import pandas as pd\n", - "import numpy as np\n", - "\n", - "import pyomo.environ as pyo\n", - "from pyomo.common.collections import ComponentSet, ComponentMap\n", - "from pyomo.util.calc_var_value import calculate_variable_from_constraint\n", - "\n", - "import idaes.core.util.scaling as iscale\n", - "from pyomo.dae import DerivativeVar\n", - "from idaes.core.solvers import petsc\n", - "import idaes.logger as idaeslog\n", - "import idaes.core.util.model_serializer as ms\n", - "from idaes_examples.mod.power_gen.soc_dynamic_flowsheet import (\n", - " SocStandaloneFlowsheet as SocFlowsheet,\n", - ")\n", - "import matplotlib.pyplot as plt\n", - "from idaes.models.control.controller import (\n", - " ControllerType,\n", - " ControllerMVBoundType,\n", - " ControllerAntiwindupType,\n", - ")\n", - "from IPython.display import SVG, display" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# SOC Flowsheet --- PID Control\n", - "Author: Douglas Allan\n", - "\n", - "Maintainer: Douglas Allan\n", - "\n", - "Updated: 2024-26-03\n", - "\n", - "## 1. Introduction\n", - "\n", - "This example is designed to demonstrate the use of PI controllers in a complex flowsheet to simulate ramping between different, predetermined setpoints. Steady-state optimization to obtain these setpoints is the subject of a future example. \n", - "\n", - "## 2. Model Description\n", - "\n", - "The underlying flowsheet consists of a solid oxide cell (SOC) and supporting equipment consisting of electric trim heaters, heat exchangers, a blower for sweep air input, and a condenser to remove excess water from a hydrogen-rich stream. The flowsheet is sized appropriately to produce about 2 kg/s of hydrogen when at its current density limit. Power production mode is then sized to be whatever the net power production is at an average of 400 $\\text{mA}/\\text{cm}^2$. The trim heaters and heat exchangers are modeled in considerable detail in order to accurately gauge the thermal capacitance of the system. The condenser, on the other hand, is modeled as having perfect control to keep its output temperature at $45^\\circ C$. The steam source (presumably an electric boiler) and hydrogen compression train (which would include additional condensers/water traps) are not modeled. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The `OperatingScenario` `Enum` allows the user to select which initial condition to use. The functions are helper functions for later." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "class OperatingScenario(Enum):\n", - " maximum_production = 1\n", - " power_mode = 2\n", - "\n", - "\n", - "def scale_indexed_constraint(con, sf):\n", - " for idx, c in con.items():\n", - " iscale.constraint_scaling_transform(c, sf)\n", - "\n", - "\n", - "def set_indexed_variable_bounds(var, bounds):\n", - " for idx, subvar in var.items():\n", - " subvar.bounds = bounds\n", - "\n", - "\n", - "def create_ramping_eqns(fs, vars, time_scaling_factor=1):\n", - " def rule_ramp(b, t, dvdt, v_ramp):\n", - " return dvdt[t] == v_ramp[t]\n", - "\n", - " t0 = fs.time.first()\n", - "\n", - " for var in vars:\n", - " var.unfix()\n", - " shortname = var.name.split(\".\")[-1]\n", - " blk = var.parent_block()\n", - " dvdt = DerivativeVar(var, wrt=fs.time, initialize=0)\n", - " setattr(blk, \"d\" + shortname + \"dt\", dvdt)\n", - " v_ramp = pyo.Var(fs.time, initialize=0)\n", - " setattr(blk, shortname + \"_ramp_rate\", v_ramp)\n", - " v_ramp_eqn = pyo.Constraint(\n", - " fs.time, rule=lambda b, t: rule_ramp(b, t, dvdt, v_ramp)\n", - " )\n", - " setattr(blk, shortname + \"_ramp_rate_eqn\", v_ramp_eqn)\n", - " for t in fs.time:\n", - " sv = iscale.get_scaling_factor(var[t], default=1)\n", - " iscale.set_scaling_factor(dvdt[t], sv / time_scaling_factor)\n", - " iscale.set_scaling_factor(v_ramp[t], sv / time_scaling_factor)\n", - " iscale.constraint_scaling_transform(v_ramp_eqn[t], sv / time_scaling_factor)\n", - "\n", - " v_ramp_eqn[t0].deactivate()\n", - " v_ramp[t0].fix(0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We begin by ramping from the maximum H2 production setpoint to maximum power production. The ramp starts at one hour, the ramp lasts five minutes, the system is allowed to settle at maximum power mode for two hours, there is another five minute ramp back to maximum H2 production, then the system is given three hours to settle at the end." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ + "cells": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-04-24 16:44:46 [WARNING] idaes.models.properties.modular_properties.transport_properties.no_method: Skipping construction of thermal conductivity for phase Liq\n", - "2024-04-24 16:44:46 [WARNING] idaes.models.properties.modular_properties.transport_properties.no_method: Skipping construction of dynamic viscosity for phase Liq\n" - ] - } - ], - "source": [ - "operating_scenario = OperatingScenario.maximum_production\n", - "m = pyo.ConcreteModel()\n", - "t_start = 1 * 60 * 60\n", - "t_ramp = 5 * 60\n", - "t_settle = 2 * 60 * 60\n", - "t_end = 3 * 60 * 60\n", - "\n", - "dt_set = [t_start, t_ramp, t_settle, t_ramp, t_end]\n", - "\n", - "time_set = [sum(dt_set[:j]) for j in range(len(dt_set) + 1)]\n", - "\n", - "# The names here correspond to the row names in\n", - "# soec_flowsheet_operating_conditions.csv\n", - "# There should be len(time_set) entries here.\n", - "# We start simulating a period at maximum production\n", - "# in order to confirm the system is at steady state.\n", - "if operating_scenario == OperatingScenario.maximum_production:\n", - " setpoints = [\n", - " \"maximum_H2\",\n", - " \"maximum_H2\",\n", - " \"power\",\n", - " \"power\",\n", - " \"maximum_H2\",\n", - " \"maximum_H2\",\n", - " ]\n", - "elif operating_scenario == OperatingScenario.power_mode:\n", - " setpoints = [\n", - " \"power\",\n", - " \"power\",\n", - " \"maximum_H2\",\n", - " \"maximum_H2\",\n", - " \"power\",\n", - " \"power\",\n", - " ]\n", - "else:\n", - " raise RuntimeError(\"Please choose a valid operating scenario\")\n", - "\n", - "m.fs = SocFlowsheet(\n", - " dynamic=True,\n", - " time_set=time_set,\n", - " time_units=pyo.units.s,\n", - " thin_electrolyte_and_oxygen_electrode=True,\n", - " include_interconnect=True,\n", - ")\n", - "scaling_log = idaeslog.getLogger(\"idaes.core.util.scaling\")\n", - "scaling_log.setLevel(idaeslog.ERROR)\n", - "iscale.calculate_scaling_factors(m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Interior point solvers like IPOPT have difficulties when unconstrained solutions occur too close to variable bounds. We therefore strip bounds from some variables that previous simulations have shown to be causing problems." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "for t in m.fs.time:\n", - " m.fs.condenser_flash.control_volume.properties_in[t].flow_mol_phase[\n", - " \"Liq\"\n", - " ].domain = pyo.Reals\n", - " m.fs.condenser_flash.control_volume.properties_in[t].flow_mol_phase[\n", - " \"Liq\"\n", - " ].bounds = (None, None)\n", - " m.fs.condenser_flash.control_volume.properties_in[t].phase_frac[\n", - " \"Liq\"\n", - " ].domain = pyo.Reals\n", - " m.fs.condenser_flash.control_volume.properties_in[t].phase_frac[\"Liq\"].bounds = (\n", - " None,\n", - " None,\n", - " )\n", - " for var in [\n", - " m.fs.condenser_flash.control_volume.properties_in[t].log_mole_frac_tdew,\n", - " m.fs.condenser_flash.control_volume.properties_in[t]._mole_frac_tdew,\n", - " ]:\n", - " for idx in var.index_set():\n", - " var[idx].domain = pyo.Reals\n", - " var[idx].bounds = (None, None)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3. Process Control\n", - "\n", - "Now we add controllers to the flowsheet. The flowsheet has a helper function, `add_controllers` that adds the controllers if passed a `ComponentMap` that maps manipulated variables (MVs) to tuples that specify the controller. The tuple contains the controller name, the corresponding controlled variable (CV), the type of controller used, the way the controller handles MV bounds, and the antiwindup method.\n", - "\n", - "We restrict ourselves to using P and PI controllers, because derivative action is severely degraded by noise, but PETSc cannot incorporate noise into its simulations.\n", - "\n", - "Controllers can either have no bounds with the `NONE` option (which may result in use of unphysical controls), the `SMOOTH_BOUND` option which uses smooth max and min functions in order to keep the MV within certain thresholds, and the `LOGISTIC` option, which uses a logistic function to keep the MV within bounds. The `LOGISTIC` option is a worse representation of an actual thresholding function than `SMOOTH_BOUND` but may be easier for integrators to handle.\n", - "\n", - "When both variable bounds and integral action are present, integral windup is a problem. If one uses the `NONE` option, no antiwindup is used. If one uses the `CONDITIONAL_INTEGRATION` method, setpoint error does not integrate when the system is at its bounds. This method is relatively easy to implement but the transition between integrating and not integrating causes integrators to slow down significantly. The `BACK_CALCULATION` method subtracts an amount proportional to the difference between the current MV value and the value that the controller would use without variable bounds from the integrated error. This method gives better performance (and is much easier to integrate) than `CONDITIONAL_INTEGRATION`, but it requires a back calculation gain term to be chosen." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "antiwindup = ControllerAntiwindupType.BACK_CALCULATION\n", - "inner_controller_pairs = ComponentMap()\n", - "inner_controller_pairs[m.fs.feed_heater.electric_heat_duty] = (\n", - " \"feed_heater_inner_controller\",\n", - " m.fs.soc_module.fuel_inlet.temperature,\n", - " ControllerType.PI,\n", - " ControllerMVBoundType.SMOOTH_BOUND,\n", - " antiwindup,\n", - ")\n", - "inner_controller_pairs[m.fs.sweep_heater.electric_heat_duty] = (\n", - " \"sweep_heater_inner_controller\",\n", - " m.fs.soc_module.oxygen_inlet.temperature,\n", - " ControllerType.PI,\n", - " ControllerMVBoundType.SMOOTH_BOUND,\n", - " antiwindup,\n", - ")\n", - "m.fs.add_controllers(inner_controller_pairs)\n", - "\n", - "variable_pairs = ComponentMap()\n", - "variable_pairs[m.fs.feed_heater_inner_controller.setpoint] = (\n", - " \"feed_heater_outer_controller\",\n", - " m.fs.soc_module.fuel_outlet.temperature,\n", - " ControllerType.P,\n", - " ControllerMVBoundType.NONE,\n", - " ControllerAntiwindupType.NONE,\n", - ")\n", - "variable_pairs[m.fs.sweep_heater_inner_controller.setpoint] = (\n", - " \"sweep_heater_outer_controller\",\n", - " m.fs.soc_module.oxygen_outlet.temperature,\n", - " ControllerType.P,\n", - " ControllerMVBoundType.NONE,\n", - " ControllerAntiwindupType.NONE,\n", - ")\n", - "variable_pairs[m.fs.soc_module.potential_cell] = (\n", - " \"voltage_controller\",\n", - " m.fs.soc_module.fuel_outlet_mole_frac_comp_H2,\n", - " ControllerType.PI,\n", - " ControllerMVBoundType.SMOOTH_BOUND,\n", - " antiwindup,\n", - ")\n", - "variable_pairs[m.fs.sweep_blower.inlet.flow_mol] = (\n", - " \"sweep_blower_controller\",\n", - " m.fs.stack_core_temperature,\n", - " ControllerType.P,\n", - " ControllerMVBoundType.SMOOTH_BOUND,\n", - " # antiwindup,\n", - " ControllerAntiwindupType.NONE,\n", - ")\n", - "variable_pairs[m.fs.makeup_mix.makeup.flow_mol] = (\n", - " \"h2_production_rate_controller\",\n", - " m.fs.h2_mass_production,\n", - " ControllerType.P,\n", - " ControllerMVBoundType.SMOOTH_BOUND,\n", - " ControllerAntiwindupType.NONE,\n", - " # antiwindup,\n", - ")\n", - "m.fs.add_controllers(variable_pairs)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that the controllers have been added to the flowsheet, they need to be tuned and bounds for the MVs need to be set. Additionally, the `smooth_eps` term used in the `SMOOTH_BOUND` method of handling variable bounds needs to be tuned to the size of the MV. A heuristic is to use $10^{-3}$ or $10^{-4}$ a typical value of the MV." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "K = 10e4\n", - "tau_I = 15 * 60\n", - "tau_D = 5 * 60\n", - "m.fs.feed_heater_inner_controller.gain_p.fix(K)\n", - "m.fs.feed_heater_inner_controller.gain_i.fix(K / tau_I)\n", - "m.fs.feed_heater_inner_controller.mv_lb = 0\n", - "m.fs.feed_heater_inner_controller.mv_ub = 10e6\n", - "m.fs.feed_heater_inner_controller.smooth_eps = 1000\n", - "if antiwindup == ControllerAntiwindupType.BACK_CALCULATION:\n", - " m.fs.feed_heater_inner_controller.gain_b.fix(0.5 / tau_I)\n", - "\n", - "K = 20e4\n", - "tau_I = 15 * 60\n", - "tau_D = 5 * 60\n", - "m.fs.sweep_heater_inner_controller.gain_p.fix(K)\n", - "m.fs.sweep_heater_inner_controller.gain_i.fix(K / tau_I)\n", - "m.fs.sweep_heater_inner_controller.mv_lb = 0\n", - "m.fs.sweep_heater_inner_controller.mv_ub = 10e6\n", - "m.fs.sweep_heater_inner_controller.smooth_eps = 1000\n", - "if antiwindup == ControllerAntiwindupType.BACK_CALCULATION:\n", - " m.fs.sweep_heater_inner_controller.gain_b.fix(0.5 / tau_I)\n", - "\n", - "K = 0.75\n", - "tau_I = 60 * 60\n", - "m.fs.feed_heater_outer_controller.gain_p.fix(K)\n", - "\n", - "K = 0.75\n", - "tau_I = 60 * 60\n", - "m.fs.sweep_heater_outer_controller.gain_p.fix(K)\n", - "\n", - "K = -2\n", - "tau_I = 240\n", - "m.fs.voltage_controller.gain_p.fix(K)\n", - "m.fs.voltage_controller.gain_i.fix(K / tau_I)\n", - "m.fs.voltage_controller.mv_lb = 0.7\n", - "m.fs.voltage_controller.mv_ub = 1.6\n", - "m.fs.voltage_controller.smooth_eps = 0.01\n", - "if antiwindup == ControllerAntiwindupType.BACK_CALCULATION:\n", - " m.fs.voltage_controller.gain_b.fix(0.5 / tau_I)\n", - "\n", - "K = -50\n", - "tau_I = 40 * 60\n", - "m.fs.sweep_blower_controller.gain_p.fix(K)\n", - "m.fs.sweep_blower_controller.mv_lb = 1500\n", - "m.fs.sweep_blower_controller.mv_ub = 10000\n", - "m.fs.sweep_blower_controller.smooth_eps = 10\n", - "\n", - "K = 200\n", - "tau_I = 20 * 60\n", - "m.fs.h2_production_rate_controller.gain_p.fix(K)\n", - "m.fs.h2_production_rate_controller.mv_lb = 1\n", - "m.fs.h2_production_rate_controller.mv_ub = 1500\n", - "m.fs.h2_production_rate_controller.smooth_eps = 1" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Most MVs we want to ramp between the old and new setpoints, but there are a few, especially when changing the controller gain, that we need to step." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "step_mvs = ComponentSet([])\n", - "step_mvs.add(m.fs.voltage_controller.mv_ref)\n", - "step_mvs.add(m.fs.voltage_controller.setpoint)\n", - "step_mvs.add(m.fs.makeup_mix.makeup_mole_frac_comp_H2)\n", - "step_mvs.add(m.fs.makeup_mix.makeup_mole_frac_comp_H2O)\n", - "step_mvs.add(m.fs.h2_production_rate_controller.setpoint)\n", - "step_mvs.add(m.fs.h2_production_rate_controller.gain_p)\n", - "\n", - "ramp_mvs = m.fs.manipulated_variables - step_mvs\n", - "\n", - "create_ramping_eqns(m.fs, ramp_mvs, 1)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In the present system of scaling, we cannot guarantee that controller MVs and CVs have had scaling factors set when a controller is scaled, so we need to iterate through the controllers and scale them again after the fact." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "for ctrl in m.fs.controller_set:\n", - " iscale.calculate_scaling_factors(ctrl)\n", - " iscale.calculate_scaling_factors(ctrl)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Discretize the time domain. We choose `time_nfe` to be one less than the length of `m.fs.time` so that Pyomo doesn't create any additional time points. After the time discretization equations are created, they are then scaled." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "time_nfe = len(m.fs.time) - 1\n", - "pyo.TransformationFactory(\"dae.finite_difference\").apply_to(\n", - " m.fs, nfe=time_nfe, wrt=m.fs.time, scheme=\"BACKWARD\"\n", - ")\n", - "iscale.scale_time_discretization_equations(m, m.fs.time, 1 / (60 * 5))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Load and fix the right initial condition. The `.json.gz` file is generated beforehand by a steady-state optimization. In this case, all these files are pregenerated and committed to the examples repo.\n", - "\n", - "Since we are loading an initial condition from a file, we don't need to solve a steady state problem at `t=0`. Therefore, we need to fix variables corresponding to the differential variables of the system and deactivate certain equations that become degenerate." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "if operating_scenario == OperatingScenario.maximum_production:\n", - " ms.from_json(m, fname=\"max_production.json.gz\", wts=ms.StoreSpec.value())\n", - "elif operating_scenario == OperatingScenario.power_mode:\n", - " ms.from_json(m, fname=\"power_mode.json.gz\", wts=ms.StoreSpec.value())\n", - "\n", - "m.fs.fix_initial_conditions()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that we have loaded an initial condition, we can view it in the flowsheet. The `write_pfd` function iterates through a template `.svg` file and adds numbers to it by comparing the object name in the `.svg` to tags in the flowsheet." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { - "data": { - "text/plain": [ - "'SOC Dynamic Flowsheet'" + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2024 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "###############################################################################\n", + "\n", + "from enum import Enum\n", + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "import pyomo.environ as pyo\n", + "from pyomo.common.collections import ComponentSet, ComponentMap\n", + "from pyomo.util.calc_var_value import calculate_variable_from_constraint\n", + "\n", + "import idaes.core.util.scaling as iscale\n", + "from pyomo.dae import DerivativeVar\n", + "from idaes.core.solvers import petsc\n", + "import idaes.logger as idaeslog\n", + "import idaes.core.util.model_serializer as ms\n", + "from idaes_examples.mod.power_gen.soc_dynamic_flowsheet import (\n", + " SocStandaloneFlowsheet as SocFlowsheet,\n", + ")\n", + "import matplotlib.pyplot as plt\n", + "from idaes.models.control.controller import (\n", + " ControllerType,\n", + " ControllerMVBoundType,\n", + " ControllerAntiwindupType,\n", + ")\n", + "from IPython.display import SVG, display" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/svg+xml": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " image/svg+xml\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " SOEC\n", - " Hydrogen Side\n", - " Oxygen Side\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " sweep03 \n", - " \n", - " \n", - " \n", - " ostrm01 \n", - " \n", - " \n", - " \n", - " ostrm02 \n", - " \n", - " \n", - " \n", - " \n", - " sweep00 \n", - " \n", - " \n", - " \n", - " \n", - " hstrm01 \n", - " \n", - " \n", - " \n", - " hstrm02 \n", - " \n", - " \n", - " \n", - " hstrm03 \n", - " \n", - " \n", - " \n", - " feed00\n", - " \n", - " \n", - " \n", - " feed02 \n", - " \n", - " \n", - " \n", - " F:T:P:yH2:\n", - " 2.649 kmol/s\n", - " 931.30 K\n", - " 1.200 bar\n", - " \n", - " 37.454%\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1.325 kmol/s\n", - " 986.16 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1.325 kmol/s\n", - " 886.52 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:yO2:\n", - " 5.514 kmol/s\n", - " 985.74 K\n", - " 1.200 bar\n", - " \n", - " 35.000%\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " ostrm 05\n", - " \n", - " \n", - " \n", - " F:T:P:yH2:\n", - " 2.649 kmol/s\n", - " 986.16 K\n", - " 1.200 bar\n", - " \n", - " 74.900%\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:yO2:\n", - " 5.018 kmol/s\n", - " 963.51 K\n", - " 1.200 bar\n", - " \n", - " 28.575%\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " steam_heater\n", - " steam_hot_exchanger\n", - " sweep_heater\n", - " steam_medium_exchanger\n", - " sweep_exchanger\n", - " \n", - " F:T:P:\n", - " 2.757 kmol/s\n", - " 985.74 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 2.261 kmol/s\n", - " 288.15 K\n", - " 1.013 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 5.018 kmol/s\n", - " 969.53 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:yH2:\n", - " 1.325 kmol/s\n", - " 477.72 K\n", - " 1.200 bar\n", - " \n", - " 74.900%\n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 1.325 kmol/s\n", - " 986.16 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 2.261 kmol/s\n", - " 936.02 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 2.757 kmol/s\n", - " 985.74 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " feed04 \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 2.757 kmol/s\n", - " 484.91 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 2.649 kmol/s\n", - " 941.64 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " T:P:\n", - " 453.60 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " Summary:\n", - " \n", - " SOEC Electric Power:SOEC Current:Cell Potential:H2 Production Rate:H2 Consumption Rate:Feed Heater Power:Sweep Heater Power:Total Electric Power:Vent Gas Recycle Ratio:\n", - " \n", - " 252.830 MW\n", - " -191.439 MA\n", - " 1.321 V\n", - " 2.000 kg/s\n", - " 0.000 kg/s\n", - " 1.000 MW\n", - " 1.000 MW\n", - " 255.936 MW\n", - " 0.0\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " ostrm03 \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " feed03 \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " sweep02\n", - " \n", - " \n", - " \n", - " \n", - " ostrm04\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " F:T:P:\n", - " 2.757 kmol/s\n", - " 442.77 K\n", - " 1.200 bar\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " feed01 \n", - " \n", - " \n", - " \n", - " \n", - " sweep04 \n", - " \n", - " \n", - " \n", - " F:T:P:yH2:\n", - " 1.325 kmol/s\n", - " 378.15 K\n", - " 1.200 bar\n", - " \n", - " 0.007%\n", - " \n", - " \n", - " \n", - " F:T:P:yH2:\n", - " 1.108 kmol/s\n", - " 323.15 K\n", - " 1.200 bar\n", - " \n", - " 89.541%\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " hstrm04 \n", - " \n", - " hstrm06 \n", - " \n", - " knockout\n", - " \n", - " out \n", - " \n", - " makeup \n", - " \n", - " vgr\n", - " \n", - "" - ], - "text/plain": [ - "" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# SOC Flowsheet --- PID Control\n", + "Author: Douglas Allan\n", + "\n", + "Maintainer: Douglas Allan\n", + "\n", + "Updated: 2024-26-03\n", + "\n", + "## 1. Introduction\n", + "\n", + "This example is designed to demonstrate the use of PI controllers in a complex flowsheet to simulate ramping between different, predetermined setpoints. Steady-state optimization to obtain these setpoints is the subject of a future example. \n", + "\n", + "## 2. Model Description\n", + "\n", + "The underlying flowsheet consists of a solid oxide cell (SOC) and supporting equipment consisting of electric trim heaters, heat exchangers, a blower for sweep air input, and a condenser to remove excess water from a hydrogen-rich stream. The flowsheet is sized appropriately to produce about 2 kg/s of hydrogen when at its current density limit. Power production mode is then sized to be whatever the net power production is at an average of 400 $\\text{mA}/\\text{cm}^2$. The trim heaters and heat exchangers are modeled in considerable detail in order to accurately gauge the thermal capacitance of the system. The condenser, on the other hand, is modeled as having perfect control to keep its output temperature at $45^\\circ C$. The steam source (presumably an electric boiler) and hydrogen compression train (which would include additional condensers/water traps) are not modeled. " ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "m.fs.write_pfd(fname=\"soc_dynamic_flowsheet.svg\")\n", - "display(\n", - " \"SOC Dynamic Flowsheet\",\n", - " SVG(filename=\"soc_dynamic_flowsheet.svg\"),\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We create a `ComponentMap` to translate between the column names in `soec_flowsheet_operating_conditions.csv` to the variables in the actual flowsheet so we can use them as setpoints." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "alias_dict = ComponentMap()\n", - "alias_dict[m.fs.voltage_controller.mv_ref] = \"potential\"\n", - "alias_dict[m.fs.voltage_controller.setpoint] = \"soc_fuel_outlet_mole_frac_comp_H2\"\n", - "alias_dict[m.fs.soc_module.fuel_outlet_mole_frac_comp_H2] = (\n", - " \"soc_fuel_outlet_mole_frac_comp_H2\"\n", - ")\n", - "alias_dict[m.fs.h2_production_rate_controller.mv_ref] = \"makeup_feed_rate\"\n", - "alias_dict[m.fs.h2_production_rate_controller.setpoint] = \"h2_production_rate\"\n", - "alias_dict[m.fs.h2_production_rate_controller.gain_p] = (\n", - " \"h2_production_rate_controller_gain_p\"\n", - ")\n", - "alias_dict[m.fs.sweep_blower_controller.mv_ref] = \"sweep_feed_rate\"\n", - "alias_dict[m.fs.sweep_blower_controller.setpoint] = \"stack_core_temperature\"\n", - "alias_dict[m.fs.feed_heater_inner_controller.mv_ref] = \"feed_heater_duty\"\n", - "alias_dict[m.fs.feed_heater_outer_controller.mv_ref] = \"feed_heater_outlet_temperature\"\n", - "alias_dict[m.fs.feed_heater_outer_controller.setpoint] = \"fuel_outlet_temperature\"\n", - "alias_dict[m.fs.sweep_heater_inner_controller.mv_ref] = \"sweep_heater_duty\"\n", - "alias_dict[m.fs.sweep_heater_outer_controller.mv_ref] = (\n", - " \"sweep_heater_outlet_temperature\"\n", - ")\n", - "alias_dict[m.fs.sweep_heater_outer_controller.setpoint] = \"sweep_outlet_temperature\"\n", - "alias_dict[m.fs.makeup_mix.makeup_mole_frac_comp_H2] = \"makeup_mole_frac_comp_H2\"\n", - "alias_dict[m.fs.makeup_mix.makeup_mole_frac_comp_H2O] = \"makeup_mole_frac_comp_H2O\"\n", - "alias_dict[m.fs.condenser_flash.vap_outlet.temperature] = (\n", - " \"condenser_hot_outlet_temperature\"\n", - ")\n", - "\n", - "alias_dict[m.fs.sweep_recycle_split.recycle_ratio] = \"sweep_recycle_ratio\"\n", - "\n", - "alias_dict[m.fs.feed_recycle_split.recycle_ratio] = \"fuel_recycle_ratio\"\n", - "alias_dict[m.fs.condenser_split.recycle_ratio] = \"vgr_recycle_ratio\"\n", - "\n", - "df = pd.read_csv(\"soec_flowsheet_operating_conditions.csv\", index_col=0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "These loops iterate through the flowsheet and fix ramp rate variables or set variables to the appropriate values for the given setpoints." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "t0 = m.fs.time.first()\n", - "for var in ramp_mvs:\n", - " shortname = var.name.split(\".\")[-1]\n", - " alias = alias_dict[var]\n", - " blk = var.parent_block()\n", - " v_ramp = getattr(blk, shortname + \"_ramp_rate\")\n", - " var[t0].fix(float(df[alias][setpoints[0]]))\n", - " for i, t in enumerate(time_set):\n", - " v_ramp[t].fix(\n", - " float(\n", - " (df[alias][setpoints[i]] - df[alias][setpoints[i - 1]])\n", - " / (time_set[i] - time_set[i - 1])\n", - " )\n", - " )\n", - "\n", - "for var in step_mvs:\n", - " shortname = var.name.split(\".\")[-1]\n", - " alias = alias_dict[var]\n", - " for i, t in enumerate(time_set):\n", - " var[t].fix(float(df[alias][setpoints[i]]))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Here we initialize the controllers. Unit model `.initialize` methods tend to be for steady state optimization, so we manually set variable values and calculate variables from constraints." - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "# Need to initialize the setpoint for the inner controller or else it starts with the default value 0.5.\n", - "m.fs.feed_heater_inner_controller.setpoint[0].value = (\n", - " m.fs.feed_heater_outer_controller.mv_ref[0].value\n", - ")\n", - "m.fs.sweep_heater_inner_controller.setpoint[0].value = (\n", - " m.fs.sweep_heater_outer_controller.mv_ref[0].value\n", - ")\n", - "for ctrl in m.fs.controller_set:\n", - " if hasattr(ctrl, \"mv_eqn\"):\n", - " calculate_variable_from_constraint(ctrl.manipulated_var[0], ctrl.mv_eqn[0])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Here we run PETSc to integrate the flowsheet with the TS integrator. Because we are loading from a solved flowsheet, in principle we could set `skip_initial=True`. However, due to user error there is sometimes a discrepancy between the setpoints loaded and the initial conditions loaded, so we leave it in. There are many options for PETSc-TS that can be read about in the PETSc documentation." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-04-24 16:45:08 [INFO] idaes.solve.petsc-dae: WARNING: model contains export suffix 'scaling_factor' that contains 243\n", - "2024-04-24 16:45:08 [INFO] idaes.solve.petsc-dae: component keys that are not exported as part of the NL file. Skipping.\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Ipopt 3.13.2: constr_viol_tol=1e-08\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: nlp_scaling_method=user-scaling\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: linear_solver=ma57\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: max_iter=300\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: tol=1e-08\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: halt_on_ampl_error=no\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: option_file_name=C:\\Users\\dallan\\AppData\\Local\\Temp\\tmphl5vnriw_ipopt.opt\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Using option file \"C:\\Users\\dallan\\AppData\\Local\\Temp\\tmphl5vnriw_ipopt.opt\".\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: ******************************************************************************\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: For more information visit http://projects.coin-or.org/Ipopt\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: This version of Ipopt was compiled from source code available at\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: for large-scale scientific computation. All technical papers, sales and\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: publicity material resulting from use of the HSL codes within IPOPT must\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: contain the following acknowledgement:\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: HSL, a collection of Fortran codes for large-scale scientific\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: computation. See http://www.hsl.rl.ac.uk.\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: ******************************************************************************\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: This is Ipopt version 3.13.2, running with linear solver ma57.\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of nonzeros in equality constraint Jacobian...: 15011\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of nonzeros in inequality constraint Jacobian.: 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of nonzeros in Lagrangian Hessian.............: 9356\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Total number of variables............................: 3864\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: variables with only lower bounds: 667\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: variables with lower and upper bounds: 1495\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: variables with only upper bounds: 31\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Total number of equality constraints.................: 3864\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Total number of inequality constraints...............: 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: inequality constraints with only lower bounds: 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: inequality constraints with lower and upper bounds: 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: inequality constraints with only upper bounds: 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: 0 0.0000000e+00 6.79e+01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Reallocating memory for MA57: lfact (331665)\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: 1 0.0000000e+00 9.77e-01 1.41e+02 -1.0 5.95e+00 - 8.13e-01 9.85e-01h 1\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: 2 0.0000000e+00 9.25e-03 1.71e+02 -1.0 8.74e-02 - 9.90e-01 9.90e-01h 1\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: 3 0.0000000e+00 3.08e-05 2.80e+04 -1.0 6.27e-03 - 9.91e-01 9.97e-01h 1\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: 4 0.0000000e+00 3.05e-11 4.27e+03 -1.0 7.30e-04 - 1.00e+00 1.00e+00h 1\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of Iterations....: 4\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: (scaled) (unscaled)\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Constraint violation....: 3.0518305330767825e-11 3.0518305330767825e-11\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Overall NLP error.......: 3.0518305330767825e-11 3.0518305330767825e-11\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of objective function evaluations = 5\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of objective gradient evaluations = 5\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of equality constraint evaluations = 5\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of inequality constraint evaluations = 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of equality constraint Jacobian evaluations = 5\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of inequality constraint Jacobian evaluations = 0\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Number of Lagrangian Hessian evaluations = 4\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Total CPU secs in IPOPT (w/o function evaluations) = 0.260\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: Total CPU secs in NLP function evaluations = 0.041\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: \n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: EXIT: Optimal Solution Found.\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_nan\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_nan\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_ext\n", - "2024-04-24 16:45:14 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_ext\n", - "2024-04-24 16:45:22 [INFO] idaes.solve.petsc-dae: WARNING: model contains export suffix 'scaling_factor' that contains 93\n", - "2024-04-24 16:45:22 [INFO] idaes.solve.petsc-dae: component keys that are not exported as part of the NL file. Skipping.\n", - "2024-04-24 16:45:22 [INFO] idaes.solve.petsc-dae: Solver log file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmp69gau4jt_petsc_ts.log'\n", - "2024-04-24 16:45:22 [INFO] idaes.solve.petsc-dae: Solver solution file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpva9yq47l.pyomo.sol'\n", - "2024-04-24 16:45:22 [INFO] idaes.solve.petsc-dae: Solver problem files: ('C:\\\\Users\\\\dallan\\\\AppData\\\\Local\\\\Temp\\\\tmpva9yq47l.pyomo.nl',)\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: DAE: 1\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpva9yq47l.pyomo.nl\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of constraints: 3920\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 1795\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 2125\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of variables: 4007\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 15554 \n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Explicit time variable: 0\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of derivatives: 87\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of differential vars: 87\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of algebraic vars: 3833\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of state vars: 3920\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 0 TS dt 0.1 time 0.\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 1 TS dt 0.1 time 0.1\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 2 TS dt 0.100412 time 0.2\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 3 TS dt 1.00412 time 0.300412\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 4 TS dt 10.0412 time 1.30453\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 5 TS dt 21.1594 time 11.3457\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 6 TS dt 34.1485 time 32.5051\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 7 TS dt 56.7094 time 66.6536\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 8 TS dt 103.25 time 123.363\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 9 TS dt 205.123 time 226.612\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 10 TS dt 309.964 time 431.736\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 11 TS dt 432.696 time 741.7\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 12 TS dt 621.577 time 1174.4\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 13 TS dt 902.014 time 1795.97\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 14 TS dt 902.014 time 2697.99\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: 15 TS dt 2466.59 time 3600.\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: TSConvergedReason = TS_CONVERGED_TIME\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: TS_CONVERGED_TIME\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_nan\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_nan\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_ext\n", - "2024-04-24 16:45:23 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_ext\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: WARNING: model contains export suffix 'scaling_factor' that contains 170\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: component keys that are not exported as part of the NL file. Skipping.\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Solver log file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpn0tqghes_petsc_ts.log'\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Solver solution file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpk0c1pdqp.pyomo.sol'\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Solver problem files: ('C:\\\\Users\\\\dallan\\\\AppData\\\\Local\\\\Temp\\\\tmpk0c1pdqp.pyomo.nl',)\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: DAE: 1\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpk0c1pdqp.pyomo.nl\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of constraints: 3920\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 1795\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 2125\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of variables: 4007\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 15554 \n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Explicit time variable: 0\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of derivatives: 87\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of differential vars: 87\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of algebraic vars: 3833\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of state vars: 3920\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: 0 TS dt 0.1 time 3600.\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: 1 TS dt 0.1 time 3600.1\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: 2 TS dt 0.00199239 time 3600.1\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: 3 TS dt 0.0199239 time 3600.1\n", - "2024-04-24 16:45:28 [INFO] idaes.solve.petsc-dae: 4 TS dt 0.199239 time 3600.12\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 5 TS dt 0.697133 time 3600.32\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 6 TS dt 0.866231 time 3601.02\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 7 TS dt 1.13013 time 3601.89\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 8 TS dt 1.179 time 3603.02\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 9 TS dt 1.3192 time 3604.19\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 10 TS dt 1.33644 time 3605.51\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 11 TS dt 1.45894 time 3606.85\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 12 TS dt 1.46098 time 3608.31\n", - "2024-04-24 16:45:29 [INFO] idaes.solve.petsc-dae: 13 TS dt 1.37246 time 3609.77\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 14 TS dt 1.48172 time 3611.14\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 15 TS dt 1.2735 time 3612.35\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 16 TS dt 1.52602 time 3613.63\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 17 TS dt 1.64143 time 3615.15\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 18 TS dt 1.5531 time 3616.8\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 19 TS dt 1.61899 time 3618.35\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 20 TS dt 1.8938 time 3619.97\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 21 TS dt 2.14371 time 3621.86\n", - "2024-04-24 16:45:30 [INFO] idaes.solve.petsc-dae: 22 TS dt 1.95341 time 3624.01\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 23 TS dt 0.593203 time 3624.34\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 24 TS dt 2.07741 time 3624.94\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 25 TS dt 1.8343 time 3626.78\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 26 TS dt 2.34236 time 3628.62\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 27 TS dt 2.70968 time 3630.96\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 28 TS dt 3.17793 time 3633.67\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 29 TS dt 2.08994 time 3635.54\n", - "2024-04-24 16:45:31 [INFO] idaes.solve.petsc-dae: 30 TS dt 1.32652 time 3637.01\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 31 TS dt 3.93769 time 3638.34\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 32 TS dt 3.47399 time 3641.79\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 33 TS dt 4.44515 time 3645.27\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 34 TS dt 4.54859 time 3649.71\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 35 TS dt 5.11148 time 3654.26\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 36 TS dt 5.37965 time 3659.37\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 37 TS dt 5.84736 time 3664.75\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 38 TS dt 6.21996 time 3670.6\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 39 TS dt 6.69274 time 3676.82\n", - "2024-04-24 16:45:32 [INFO] idaes.solve.petsc-dae: 40 TS dt 7.14526 time 3683.51\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 41 TS dt 7.65699 time 3690.66\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 42 TS dt 8.18317 time 3698.31\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 43 TS dt 8.74315 time 3706.5\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 44 TS dt 9.27856 time 3715.24\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 45 TS dt 9.68853 time 3724.52\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 46 TS dt 9.77885 time 3734.21\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 47 TS dt 9.92111 time 3743.99\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 48 TS dt 8.33461 time 3752.18\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 49 TS dt 8.96337 time 3760.51\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 50 TS dt 9.29772 time 3769.48\n", - "2024-04-24 16:45:33 [INFO] idaes.solve.petsc-dae: 51 TS dt 9.60548 time 3778.77\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 52 TS dt 11.0593 time 3788.38\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 53 TS dt 9.88706 time 3797.26\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 54 TS dt 9.88436 time 3807.15\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 55 TS dt 7.55235 time 3814.54\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 56 TS dt 9.65705 time 3822.09\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 57 TS dt 11.0499 time 3831.75\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 58 TS dt 12.2975 time 3842.8\n", - "2024-04-24 16:45:34 [INFO] idaes.solve.petsc-dae: 59 TS dt 12.6609 time 3855.1\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: 60 TS dt 13.9163 time 3859.75\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: 61 TS dt 10.4683 time 3870.54\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: 62 TS dt 9.49383 time 3881.01\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: 63 TS dt 9.49383 time 3890.51\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: 64 TS dt 14.0081 time 3900.\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: TSConvergedReason = TS_CONVERGED_TIME\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: TS_CONVERGED_TIME\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_nan\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_nan\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_ext\n", - "2024-04-24 16:45:35 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_ext\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: WARNING: model contains export suffix 'scaling_factor' that contains 170\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: component keys that are not exported as part of the NL file. Skipping.\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Solver log file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmp3wnf4q2o_petsc_ts.log'\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Solver solution file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpcy91h9f0.pyomo.sol'\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Solver problem files: ('C:\\\\Users\\\\dallan\\\\AppData\\\\Local\\\\Temp\\\\tmpcy91h9f0.pyomo.nl',)\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: DAE: 1\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpcy91h9f0.pyomo.nl\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of constraints: 3920\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 1795\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 2125\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of variables: 4007\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 15554 \n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Explicit time variable: 0\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of derivatives: 87\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of differential vars: 87\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of algebraic vars: 3833\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of state vars: 3920\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: 0 TS dt 0.1 time 3900.\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: 1 TS dt 0.1 time 3900.1\n", - "2024-04-24 16:45:40 [INFO] idaes.solve.petsc-dae: 2 TS dt 1. time 3900.2\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 3 TS dt 2.86361 time 3901.2\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 4 TS dt 3.11474 time 3904.06\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 5 TS dt 3.95219 time 3907.18\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 6 TS dt 4.26539 time 3911.13\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 7 TS dt 4.68321 time 3915.4\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 8 TS dt 4.75843 time 3920.08\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 9 TS dt 4.77214 time 3924.84\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 10 TS dt 4.57975 time 3929.61\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 11 TS dt 5.10332 time 3934.19\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 12 TS dt 5.83254 time 3939.29\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 13 TS dt 6.72867 time 3945.13\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 14 TS dt 7.50262 time 3951.85\n", - "2024-04-24 16:45:41 [INFO] idaes.solve.petsc-dae: 15 TS dt 8.77609 time 3959.36\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 16 TS dt 9.95946 time 3968.13\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 17 TS dt 11.4862 time 3978.09\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 18 TS dt 13.2173 time 3989.58\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 19 TS dt 15.4588 time 4002.8\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 20 TS dt 18.2767 time 4018.25\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 21 TS dt 21.855 time 4036.53\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 22 TS dt 25.9265 time 4058.39\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 23 TS dt 29.7008 time 4084.31\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 24 TS dt 32.3941 time 4114.01\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 25 TS dt 34.1498 time 4146.41\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 26 TS dt 34.3963 time 4180.56\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 27 TS dt 37.1487 time 4214.95\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 28 TS dt 37.9342 time 4252.1\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 29 TS dt 40.3768 time 4290.04\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 30 TS dt 42.4218 time 4330.41\n", - "2024-04-24 16:45:42 [INFO] idaes.solve.petsc-dae: 31 TS dt 45.0908 time 4372.84\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 32 TS dt 47.3702 time 4417.93\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 33 TS dt 49.135 time 4465.3\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 34 TS dt 49.6503 time 4514.43\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 35 TS dt 51.6702 time 4564.08\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 36 TS dt 53.1554 time 4615.75\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 37 TS dt 54.6803 time 4668.91\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 38 TS dt 61.8766 time 4723.59\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 39 TS dt 62.3182 time 4785.46\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 40 TS dt 78.6399 time 4847.78\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 41 TS dt 82.7293 time 4926.42\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 42 TS dt 90.4869 time 5009.15\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 43 TS dt 89.7949 time 5099.64\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 44 TS dt 85.7202 time 5189.43\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 45 TS dt 88.4188 time 5275.15\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 46 TS dt 91.9337 time 5363.57\n", - "2024-04-24 16:45:43 [INFO] idaes.solve.petsc-dae: 47 TS dt 90.9639 time 5455.51\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 48 TS dt 99.5246 time 5546.47\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 49 TS dt 108.67 time 5645.99\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 50 TS dt 120.748 time 5754.66\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 51 TS dt 132.47 time 5875.41\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 52 TS dt 145.985 time 6007.88\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 53 TS dt 160.665 time 6153.87\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 54 TS dt 177.438 time 6314.53\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 55 TS dt 192.168 time 6491.97\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 56 TS dt 221.56 time 6684.14\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 57 TS dt 250.729 time 6905.7\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 58 TS dt 292.659 time 7156.43\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 59 TS dt 342.344 time 7449.09\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 60 TS dt 396.307 time 7791.43\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 61 TS dt 387.849 time 8187.74\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 62 TS dt 347.808 time 8474.05\n", - "2024-04-24 16:45:44 [INFO] idaes.solve.petsc-dae: 63 TS dt 289.931 time 8626.27\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 64 TS dt 219.289 time 8708.2\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 65 TS dt 202.344 time 8927.49\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 66 TS dt 211.265 time 9055.82\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 67 TS dt 43.6911 time 9087.46\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 68 TS dt 97.1116 time 9131.15\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 69 TS dt 116.121 time 9228.26\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 70 TS dt 163.226 time 9344.39\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 71 TS dt 202.871 time 9507.61\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 72 TS dt 262.974 time 9710.48\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 73 TS dt 295.993 time 9973.46\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 74 TS dt 275.494 time 10269.4\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 75 TS dt 277.528 time 10544.9\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 76 TS dt 277.528 time 10822.5\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: 77 TS dt 405.82 time 11100.\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: TSConvergedReason = TS_CONVERGED_TIME\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: TS_CONVERGED_TIME\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_nan\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_nan\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_ext\n", - "2024-04-24 16:45:45 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_ext\n", - "2024-04-24 16:45:50 [INFO] idaes.solve.petsc-dae: WARNING: model contains export suffix 'scaling_factor' that contains 170\n", - "2024-04-24 16:45:50 [INFO] idaes.solve.petsc-dae: component keys that are not exported as part of the NL file. Skipping.\n", - "2024-04-24 16:45:50 [INFO] idaes.solve.petsc-dae: Solver log file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmp89d3otha_petsc_ts.log'\n", - "2024-04-24 16:45:50 [INFO] idaes.solve.petsc-dae: Solver solution file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpumhqgnkw.pyomo.sol'\n", - "2024-04-24 16:45:50 [INFO] idaes.solve.petsc-dae: Solver problem files: ('C:\\\\Users\\\\dallan\\\\AppData\\\\Local\\\\Temp\\\\tmpumhqgnkw.pyomo.nl',)\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: DAE: 1\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpumhqgnkw.pyomo.nl\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of constraints: 3920\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 1795\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 2125\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of variables: 4007\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 15554 \n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Explicit time variable: 0\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of derivatives: 87\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of differential vars: 87\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of algebraic vars: 3833\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of state vars: 3920\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 0 TS dt 0.1 time 11100.\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 1 TS dt 0.1 time 11100.1\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 2 TS dt 0.00392524 time 11100.1\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 3 TS dt 0.0392524 time 11100.1\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 4 TS dt 0.392524 time 11100.1\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 5 TS dt 0.760703 time 11100.5\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 6 TS dt 1.01241 time 11101.3\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 7 TS dt 0.967184 time 11102.2\n", - "2024-04-24 16:45:51 [INFO] idaes.solve.petsc-dae: 8 TS dt 0.999746 time 11103.2\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 9 TS dt 0.924929 time 11104.\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 10 TS dt 0.866639 time 11104.9\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 11 TS dt 0.915231 time 11105.8\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 12 TS dt 0.858768 time 11106.7\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 13 TS dt 1.16546 time 11107.6\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 14 TS dt 1.0729 time 11108.7\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 15 TS dt 1.40736 time 11109.8\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 16 TS dt 1.47697 time 11111.2\n", - "2024-04-24 16:45:52 [INFO] idaes.solve.petsc-dae: 17 TS dt 1.55373 time 11112.7\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 18 TS dt 1.4277 time 11114.\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 19 TS dt 1.07175 time 11115.\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 20 TS dt 1.32123 time 11116.1\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 21 TS dt 1.26966 time 11117.4\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 22 TS dt 0.929849 time 11118.2\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 23 TS dt 0.37561 time 11118.5\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 24 TS dt 1.3944 time 11118.9\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 25 TS dt 1.43845 time 11120.3\n", - "2024-04-24 16:45:53 [INFO] idaes.solve.petsc-dae: 26 TS dt 1.90206 time 11121.7\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 27 TS dt 1.81077 time 11123.6\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 28 TS dt 1.79649 time 11125.4\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 29 TS dt 1.70313 time 11127.2\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 30 TS dt 1.8855 time 11128.9\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 31 TS dt 1.85638 time 11130.8\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 32 TS dt 1.85523 time 11132.7\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 33 TS dt 1.73671 time 11134.5\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 34 TS dt 1.64306 time 11136.2\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 35 TS dt 1.52316 time 11137.9\n", - "2024-04-24 16:45:54 [INFO] idaes.solve.petsc-dae: 36 TS dt 1.41285 time 11139.2\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 37 TS dt 1.57227 time 11139.7\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 38 TS dt 0.96963 time 11140.2\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 39 TS dt 0.78644 time 11140.8\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 40 TS dt 0.705073 time 11141.5\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 41 TS dt 0.621216 time 11142.\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 42 TS dt 0.62459 time 11142.6\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 43 TS dt 0.63664 time 11143.2\n", - "2024-04-24 16:45:55 [INFO] idaes.solve.petsc-dae: 44 TS dt 0.690959 time 11143.5\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 45 TS dt 0.430777 time 11144.\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 46 TS dt 0.410148 time 11144.4\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 47 TS dt 0.856631 time 11144.9\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 48 TS dt 0.949106 time 11145.1\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 49 TS dt 0.570639 time 11145.5\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 50 TS dt 0.657937 time 11146.1\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 51 TS dt 0.756228 time 11146.8\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 52 TS dt 0.960609 time 11147.5\n", - "2024-04-24 16:45:56 [INFO] idaes.solve.petsc-dae: 53 TS dt 1.03942 time 11148.2\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 54 TS dt 0.73841 time 11148.8\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 55 TS dt 0.723736 time 11149.6\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 56 TS dt 1.3136 time 11150.3\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 57 TS dt 1.44703 time 11151.6\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 58 TS dt 1.78016 time 11153.1\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 59 TS dt 1.79591 time 11154.8\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 60 TS dt 1.70487 time 11156.6\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 61 TS dt 1.63852 time 11157.6\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 62 TS dt 0.894779 time 11158.4\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 63 TS dt 0.904928 time 11159.3\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 64 TS dt 1.51786 time 11160.2\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 65 TS dt 1.79934 time 11161.7\n", - "2024-04-24 16:45:57 [INFO] idaes.solve.petsc-dae: 66 TS dt 2.19124 time 11163.5\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 67 TS dt 2.39088 time 11165.7\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 68 TS dt 2.77663 time 11168.1\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 69 TS dt 2.98602 time 11170.9\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 70 TS dt 3.19428 time 11173.9\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 71 TS dt 3.17037 time 11177.1\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 72 TS dt 3.2767 time 11180.2\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 73 TS dt 3.70518 time 11183.5\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 74 TS dt 3.9439 time 11187.2\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 75 TS dt 4.1184 time 11191.1\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 76 TS dt 4.51077 time 11195.3\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 77 TS dt 4.73 time 11199.8\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 78 TS dt 4.95553 time 11204.5\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 79 TS dt 5.05272 time 11209.5\n", - "2024-04-24 16:45:58 [INFO] idaes.solve.petsc-dae: 80 TS dt 5.07776 time 11214.5\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 81 TS dt 5.05502 time 11219.6\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 82 TS dt 5.05021 time 11224.6\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 83 TS dt 5.29358 time 11229.7\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 84 TS dt 5.52422 time 11235.\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 85 TS dt 5.70998 time 11240.5\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 86 TS dt 5.77308 time 11246.2\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 87 TS dt 5.68832 time 11252.\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 88 TS dt 5.21191 time 11257.7\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 89 TS dt 5.52452 time 11262.9\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 90 TS dt 5.08208 time 11267.8\n", - "2024-04-24 16:45:59 [INFO] idaes.solve.petsc-dae: 91 TS dt 6.0966 time 11269.7\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 92 TS dt 4.47115 time 11271.1\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 93 TS dt 4.46473 time 11271.8\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 94 TS dt 1.64611 time 11273.5\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 95 TS dt 3.11947 time 11275.2\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 96 TS dt 3.69342 time 11278.3\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 97 TS dt 4.85562 time 11282.\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 98 TS dt 4.86391 time 11286.8\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 99 TS dt 4.74083 time 11290.1\n", - "2024-04-24 16:46:00 [INFO] idaes.solve.petsc-dae: 100 TS dt 3.88706 time 11291.9\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 101 TS dt 2.36784 time 11293.1\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 102 TS dt 3.04988 time 11295.5\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 103 TS dt 3.79675 time 11297.4\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 104 TS dt 3.41211 time 11299.4\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 105 TS dt 5.09485 time 11302.8\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 106 TS dt 6.30524 time 11307.9\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 107 TS dt 7.14277 time 11314.2\n", - "2024-04-24 16:46:01 [INFO] idaes.solve.petsc-dae: 108 TS dt 6.97261 time 11321.4\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 109 TS dt 6.92383 time 11328.4\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 110 TS dt 6.31828 time 11335.3\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 111 TS dt 5.49724 time 11340.5\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 112 TS dt 4.90343 time 11345.5\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 113 TS dt 5.24546 time 11350.4\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 114 TS dt 5.37157 time 11355.6\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 115 TS dt 5.08981 time 11361.\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 116 TS dt 5.15951 time 11366.1\n", - "2024-04-24 16:46:02 [INFO] idaes.solve.petsc-dae: 117 TS dt 4.68969 time 11371.2\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 118 TS dt 4.69922 time 11375.9\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 119 TS dt 4.35928 time 11380.6\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 120 TS dt 4.01346 time 11385.\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 121 TS dt 3.60641 time 11388.5\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 122 TS dt 3.18203 time 11391.7\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 123 TS dt 2.78627 time 11394.4\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 124 TS dt 1.58852 time 11396.8\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 125 TS dt 1.58852 time 11398.4\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: 126 TS dt 1.90429 time 11400.\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: TSConvergedReason = TS_CONVERGED_TIME\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: TS_CONVERGED_TIME\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_nan\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_nan\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_ext\n", - "2024-04-24 16:46:03 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_ext\n", - "2024-04-24 16:46:08 [INFO] idaes.solve.petsc-dae: WARNING: model contains export suffix 'scaling_factor' that contains 170\n", - "2024-04-24 16:46:08 [INFO] idaes.solve.petsc-dae: component keys that are not exported as part of the NL file. Skipping.\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Solver log file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpendl44cj_petsc_ts.log'\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Solver solution file: 'C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpson30_9f.pyomo.sol'\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Solver problem files: ('C:\\\\Users\\\\dallan\\\\AppData\\\\Local\\\\Temp\\\\tmpson30_9f.pyomo.nl',)\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Called fg_read, err: 0 (0 is good)\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: DAE: 1\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Reading nl file: C:\\Users\\dallan\\AppData\\Local\\Temp\\tmpson30_9f.pyomo.nl\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of constraints: 3920\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of nonlinear constraints: 1795\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of linear constraints: 2125\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of inequalities: 0\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of variables: 4007\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of integers: 0\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of binary: 0\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of objectives: 0 (Ignoring)\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of non-zeros in Jacobian: 15554 \n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Explicit time variable: 0\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of derivatives: 87\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of differential vars: 87\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of algebraic vars: 3833\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of state vars: 3920\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: Number of degrees of freedom: 0\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: ---------------------------------------------------\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 0 TS dt 0.1 time 11400.\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 1 TS dt 0.1 time 11400.1\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 2 TS dt 1. time 11400.2\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 3 TS dt 1.73678 time 11401.2\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 4 TS dt 2.23341 time 11402.9\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 5 TS dt 2.51853 time 11405.2\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 6 TS dt 2.72979 time 11407.7\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 7 TS dt 2.94331 time 11410.4\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 8 TS dt 3.1084 time 11413.4\n", - "2024-04-24 16:46:09 [INFO] idaes.solve.petsc-dae: 9 TS dt 3.33766 time 11416.5\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 10 TS dt 3.65145 time 11419.8\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 11 TS dt 3.92962 time 11423.5\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 12 TS dt 4.4225 time 11427.4\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 13 TS dt 4.87494 time 11431.8\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 14 TS dt 5.42871 time 11436.7\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 15 TS dt 5.98195 time 11442.1\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 16 TS dt 6.92855 time 11448.1\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 17 TS dt 8.07333 time 11455.\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 18 TS dt 9.63979 time 11463.1\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 19 TS dt 11.702 time 11472.7\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 20 TS dt 14.5291 time 11484.4\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 21 TS dt 18.1896 time 11499.\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 22 TS dt 22.203 time 11517.2\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 23 TS dt 25.5942 time 11539.4\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 24 TS dt 28.4541 time 11565.\n", - "2024-04-24 16:46:10 [INFO] idaes.solve.petsc-dae: 25 TS dt 30.7952 time 11593.4\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 26 TS dt 32.9926 time 11624.2\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 27 TS dt 34.8988 time 11657.2\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 28 TS dt 37.5398 time 11692.1\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 29 TS dt 41.8031 time 11729.6\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 30 TS dt 47.4503 time 11771.4\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 31 TS dt 53.673 time 11818.9\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 32 TS dt 60.8933 time 11872.6\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 33 TS dt 69.4519 time 11933.5\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 34 TS dt 77.8654 time 12002.9\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 35 TS dt 85.3528 time 12080.8\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 36 TS dt 92.584 time 12166.1\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 37 TS dt 99.6879 time 12258.7\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 38 TS dt 107.395 time 12358.4\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 39 TS dt 115.883 time 12465.8\n", - "2024-04-24 16:46:11 [INFO] idaes.solve.petsc-dae: 40 TS dt 125.805 time 12581.7\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 41 TS dt 136.484 time 12707.5\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 42 TS dt 146.675 time 12844.\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 43 TS dt 154.432 time 12990.6\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 44 TS dt 158.051 time 13145.1\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 45 TS dt 156.722 time 13303.1\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 46 TS dt 161.592 time 13459.8\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 47 TS dt 169.876 time 13621.4\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 48 TS dt 175.501 time 13791.3\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 49 TS dt 177.773 time 13966.8\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 50 TS dt 195.829 time 14144.6\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 51 TS dt 209.215 time 14340.4\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 52 TS dt 228.235 time 14549.6\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 53 TS dt 245.428 time 14777.9\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 54 TS dt 265.796 time 15023.3\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 55 TS dt 286.41 time 15289.1\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 56 TS dt 309.614 time 15575.5\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 57 TS dt 336.559 time 15885.1\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 58 TS dt 370.237 time 16221.7\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 59 TS dt 418.152 time 16591.9\n", - "2024-04-24 16:46:12 [INFO] idaes.solve.petsc-dae: 60 TS dt 475.299 time 17010.1\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 61 TS dt 548.284 time 17485.4\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 62 TS dt 640.182 time 18033.6\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 63 TS dt 756.084 time 18673.8\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 64 TS dt 900.068 time 19429.9\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 65 TS dt 935.01 time 20330.\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 66 TS dt 935.01 time 21265.\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: 67 TS dt 1415.01 time 22200.\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: TSConvergedReason = TS_CONVERGED_TIME\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: TS_CONVERGED_TIME\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_nan\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_nan\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_l_ext\n", - "2024-04-24 16:46:13 [INFO] idaes.solve.petsc-dae: addfunc: duplicate function cubic_root_h_ext\n" - ] - } - ], - "source": [ - "idaeslog.solver_log.tee = True\n", - "results = petsc.petsc_dae_by_time_element(\n", - " m,\n", - " time=m.fs.time,\n", - " keepfiles=True,\n", - " symbolic_solver_labels=True,\n", - " ts_options={\n", - " \"--ts_type\": \"beuler\",\n", - " \"--ts_dt\": 0.1,\n", - " \"--ts_rtol\": 1e-3,\n", - " # \"--ts_adapt_clip\":\"0.001,3600\",\n", - " # \"--ksp_monitor\":\"\",\n", - " \"--ts_adapt_dt_min\": 1e-3,\n", - " \"--ts_adapt_dt_max\": 3600,\n", - " \"--snes_type\": \"newtontr\",\n", - " # \"--ts_max_reject\": 200,\n", - " # \"--snes_monitor\":\"\",\n", - " \"--ts_monitor\": \"\",\n", - " \"--ts_save_trajectory\": 1,\n", - " \"--ts_trajectory_type\": \"visualization\",\n", - " \"--ts_max_snes_failures\": 25,\n", - " # \"--show_cl\":\"\",\n", - " \"-snes_max_it\": 50,\n", - " \"-snes_rtol\": 0,\n", - " \"-snes_stol\": 0,\n", - " \"-snes_atol\": 1e-6,\n", - " },\n", - " skip_initial=False,\n", - " initial_solver=\"ipopt\",\n", - " initial_solver_options={\n", - " \"constr_viol_tol\": 1e-8,\n", - " \"nlp_scaling_method\": \"user-scaling\",\n", - " \"linear_solver\": \"ma57\",\n", - " \"OF_ma57_automatic_scaling\": \"yes\",\n", - " \"max_iter\": 300,\n", - " \"tol\": 1e-8,\n", - " \"halt_on_ampl_error\": \"no\",\n", - " },\n", - ")\n", - "for result in results.results:\n", - " pyo.assert_optimal_termination(result)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Load certain variables into a dictionary for plotting convenience." - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "ramp_list = np.array(m.fs.time)[1:]\n", - "traj = results.trajectory\n", - "\n", - "time_set = m.fs.time.ordered_data()\n", - "tf = time_set[-1]\n", - "soec = m.fs.soc_module.solid_oxide_cell\n", - "\n", - "results_dict = {\n", - " \"ramp_list\": np.array(ramp_list),\n", - " \"time\": np.array(traj.time),\n", - " \"potential\": np.array(traj.vecs[str(soec.potential[tf])]),\n", - " \"current\": np.array(traj.vecs[str(m.fs.soc_module.total_current[tf])]),\n", - " \"soec_fuel_inlet_flow\": np.array(\n", - " traj.vecs[str(m.fs.soc_module.fuel_inlet.flow_mol[tf])]\n", - " ),\n", - " \"soec_oxygen_inlet_flow\": np.array(\n", - " traj.vecs[str(m.fs.soc_module.oxygen_inlet.flow_mol[tf])]\n", - " ),\n", - " \"fuel_heater_duty\": np.array(\n", - " traj.vecs[str(m.fs.feed_heater.electric_heat_duty[tf])]\n", - " ),\n", - " \"sweep_heater_duty\": np.array(\n", - " traj.vecs[str(m.fs.sweep_heater.electric_heat_duty[tf])]\n", - " ),\n", - " \"fuel_inlet_H2\": np.array(traj.vecs[str(soec.fuel_inlet.mole_frac_comp[tf, \"H2\"])]),\n", - " \"fuel_inlet_H2O\": np.array(\n", - " traj.vecs[str(soec.fuel_inlet.mole_frac_comp[tf, \"H2O\"])]\n", - " ),\n", - " \"fuel_outlet_H2O\": np.array(\n", - " traj.vecs[\n", - " str(\n", - " soec.fuel_channel.mole_frac_comp[\n", - " tf,\n", - " soec.iznodes.last(),\n", - " \"H2O\",\n", - " ]\n", - " )\n", - " ]\n", - " ),\n", - " \"sweep_inlet_O2\": np.array(\n", - " traj.vecs[str(soec.oxygen_inlet.mole_frac_comp[tf, \"O2\"])]\n", - " ),\n", - " \"sweep_outlet_O2\": np.array(\n", - " traj.vecs[\n", - " str(soec.oxygen_channel.mole_frac_comp[tf, soec.iznodes.first(), \"O2\"])\n", - " ]\n", - " ),\n", - " \"H2_production\": np.array(traj.vecs[str(m.fs.h2_mass_production[tf])]),\n", - " \"fuel_outlet_mole_frac_comp_H2\": np.array(\n", - " traj.vecs[str(m.fs.soc_module.fuel_outlet_mole_frac_comp_H2[tf])]\n", - " ),\n", - " \"steam_feed_rate\": np.array(traj.vecs[str(m.fs.makeup_mix.makeup.flow_mol[tf])]),\n", - " \"sweep_feed_rate\": np.array(traj.vecs[str(m.fs.sweep_blower.inlet.flow_mol[tf])]),\n", - " \"total_electric_power\": np.array(traj.vecs[str(m.fs.total_electric_power[tf])]),\n", - " \"fuel_inlet_temperature\": np.array(\n", - " traj.vecs[str(soec.fuel_channel.temperature_inlet[tf])]\n", - " ),\n", - " \"sweep_inlet_temperature\": np.array(\n", - " traj.vecs[str(soec.oxygen_channel.temperature_inlet[tf])]\n", - " ),\n", - " \"stack_core_temperature\": np.array(traj.vecs[str(m.fs.stack_core_temperature[tf])]),\n", - " \"fuel_outlet_temperature\": np.array(\n", - " traj.vecs[str(soec.fuel_channel.temperature_outlet[tf])]\n", - " ),\n", - " \"sweep_outlet_temperature\": np.array(\n", - " traj.vecs[str(soec.oxygen_channel.temperature_outlet[tf])]\n", - " ),\n", - " \"product_mole_frac_H2\": np.array(\n", - " traj.vecs[str(m.fs.condenser_split.inlet.mole_frac_comp[tf, \"H2\"])]\n", - " ),\n", - " \"condenser_outlet_temperature\": np.array(\n", - " traj.vecs[\n", - " str(m.fs.condenser_flash.control_volume.properties_out[tf].temperature)\n", - " ]\n", - " ),\n", - " \"condenser_heat_duty\": np.array(traj.vecs[str(m.fs.condenser_flash.heat_duty[tf])]),\n", - " \"temperature_z\": np.array(\n", - " [traj.vecs[str(soec.temperature_z[tf, iz])] for iz in soec.iznodes]\n", - " ),\n", - " \"fuel_electrode_temperature_deviation_x\": np.array(\n", - " [\n", - " traj.vecs[str(soec.fuel_electrode.temperature_deviation_x[tf, 1, iz])]\n", - " for iz in soec.iznodes\n", - " ]\n", - " ),\n", - " \"interconnect_temperature_deviation_x\": np.array(\n", - " [\n", - " traj.vecs[str(soec.interconnect.temperature_deviation_x[tf, 1, iz])]\n", - " for iz in soec.iznodes\n", - " ]\n", - " ),\n", - " \"temperature_z_gradient\": np.array(\n", - " [traj.vecs[str(soec.dtemperature_z_dz[tf, iz])] for iz in soec.iznodes]\n", - " ),\n", - " \"fuel_electrode_gradient\": np.array(\n", - " [\n", - " traj.vecs[str(soec.fuel_electrode.dtemperature_dz[tf, 1, iz])]\n", - " for iz in soec.iznodes\n", - " ]\n", - " ),\n", - " \"fuel_electrode_mixed_partial\": np.array(\n", - " [\n", - " traj.vecs[str(soec.fuel_electrode.d2temperature_dzdt_dummy[tf, 1, iz])]\n", - " for iz in soec.iznodes\n", - " ]\n", - " ),\n", - " \"interconnect_gradient\": np.array(\n", - " [\n", - " traj.vecs[str(soec.interconnect.dtemperature_dz[tf, 1, iz])]\n", - " for iz in soec.iznodes\n", - " ]\n", - " ),\n", - " \"current_density\": np.array(\n", - " [traj.vecs[str(soec.current_density[tf, iz])] for iz in soec.iznodes]\n", - " ),\n", - " \"feed_heater_temperature\": np.array(\n", - " [\n", - " traj.vecs[str(m.fs.feed_heater.temp_wall_center[tf, z])]\n", - " for z in m.fs.feed_heater.control_volume.length_domain\n", - " ]\n", - " ),\n", - " \"sweep_heater_temperature\": np.array(\n", - " [\n", - " traj.vecs[str(m.fs.sweep_heater.temp_wall_center[tf, z])]\n", - " for z in m.fs.sweep_heater.control_volume.length_domain\n", - " ]\n", - " ),\n", - " \"feed_medium_exchanger_temperature\": np.array(\n", - " [\n", - " traj.vecs[str(m.fs.feed_medium_exchanger.temp_wall_center[tf, z])]\n", - " for z in m.fs.feed_medium_exchanger.cold_side.length_domain\n", - " ]\n", - " ),\n", - " \"feed_hot_exchanger_temperature\": np.array(\n", - " [\n", - " traj.vecs[str(m.fs.feed_hot_exchanger.temp_wall_center[tf, z])]\n", - " for z in m.fs.feed_hot_exchanger.cold_side.length_domain\n", - " ]\n", - " ),\n", - " \"sweep_exchanger_temperature\": np.array(\n", - " [\n", - " traj.vecs[str(m.fs.sweep_exchanger.temp_wall_center[tf, z])]\n", - " for z in m.fs.sweep_exchanger.cold_side.length_domain\n", - " ]\n", - " ),\n", - "}\n", - "\n", - "for controller in m.fs.controller_set:\n", - " ctrl_name = controller.local_name\n", - " results_dict[ctrl_name + \"_mv_ref\"] = np.array(\n", - " traj.vecs[str(controller.mv_ref[tf])]\n", - " )\n", - " results_dict[ctrl_name + \"_setpoint\"] = np.array(\n", - " traj.vecs[str(controller.setpoint[tf])]\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Here we plot a number of system variables that we use to gauge system performance. The user is free to adapt this code to view other variables of interest." - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "def _demarcate_ramps(ax, results_dict):\n", - " for tpoint in np.squeeze(results_dict[\"ramp_list\"])[:-1]:\n", - " ax.plot(np.array([tpoint, tpoint]) / 60**2, [-1e6, 1e6], \"k--\")" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The `OperatingScenario` `Enum` allows the user to select which initial condition to use. The functions are helper functions for later." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "class OperatingScenario(Enum):\n", + " maximum_production = 1\n", + " power_mode = 2\n", + "\n", + "\n", + "def scale_indexed_constraint(con, sf):\n", + " for idx, c in con.items():\n", + " iscale.constraint_scaling_transform(c, sf)\n", + "\n", + "\n", + "def set_indexed_variable_bounds(var, bounds):\n", + " for idx, subvar in var.items():\n", + " subvar.bounds = bounds\n", + "\n", + "\n", + "def create_ramping_eqns(fs, vars, time_scaling_factor=1):\n", + " def rule_ramp(b, t, dvdt, v_ramp):\n", + " return dvdt[t] == v_ramp[t]\n", + "\n", + " t0 = fs.time.first()\n", + "\n", + " for var in vars:\n", + " var.unfix()\n", + " shortname = var.name.split(\".\")[-1]\n", + " blk = var.parent_block()\n", + " dvdt = DerivativeVar(var, wrt=fs.time, initialize=0)\n", + " setattr(blk, \"d\" + shortname + \"dt\", dvdt)\n", + " v_ramp = pyo.Var(fs.time, initialize=0)\n", + " setattr(blk, shortname + \"_ramp_rate\", v_ramp)\n", + " v_ramp_eqn = pyo.Constraint(\n", + " fs.time, rule=lambda b, t: rule_ramp(b, t, dvdt, v_ramp)\n", + " )\n", + " setattr(blk, shortname + \"_ramp_rate_eqn\", v_ramp_eqn)\n", + " for t in fs.time:\n", + " sv = iscale.get_scaling_factor(var[t], default=1)\n", + " iscale.set_scaling_factor(dvdt[t], sv / time_scaling_factor)\n", + " iscale.set_scaling_factor(v_ramp[t], sv / time_scaling_factor)\n", + " iscale.constraint_scaling_transform(v_ramp_eqn[t], sv / time_scaling_factor)\n", + "\n", + " v_ramp_eqn[t0].deactivate()\n", + " v_ramp[t0].fix(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We begin by ramping from the maximum H2 production setpoint to maximum power production. The ramp starts at one hour, the ramp lasts five minutes, the system is allowed to settle at maximum power mode for two hours, there is another five minute ramp back to maximum H2 production, then the system is given three hours to settle at the end." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "operating_scenario = OperatingScenario.maximum_production\n", + "m = pyo.ConcreteModel()\n", + "t_start = 1 * 60 * 60\n", + "t_ramp = 5 * 60\n", + "t_settle = 2 * 60 * 60\n", + "t_end = 3 * 60 * 60\n", + "\n", + "dt_set = [t_start, t_ramp, t_settle, t_ramp, t_end]\n", + "\n", + "time_set = [sum(dt_set[:j]) for j in range(len(dt_set) + 1)]\n", + "\n", + "# The names here correspond to the row names in\n", + "# soec_flowsheet_operating_conditions.csv\n", + "# There should be len(time_set) entries here.\n", + "# We start simulating a period at maximum production\n", + "# in order to confirm the system is at steady state.\n", + "if operating_scenario == OperatingScenario.maximum_production:\n", + " setpoints = [\n", + " \"maximum_H2\",\n", + " \"maximum_H2\",\n", + " \"power\",\n", + " \"power\",\n", + " \"maximum_H2\",\n", + " \"maximum_H2\",\n", + " ]\n", + "elif operating_scenario == OperatingScenario.power_mode:\n", + " setpoints = [\n", + " \"power\",\n", + " \"power\",\n", + " \"maximum_H2\",\n", + " \"maximum_H2\",\n", + " \"power\",\n", + " \"power\",\n", + " ]\n", + "else:\n", + " raise RuntimeError(\"Please choose a valid operating scenario\")\n", + "\n", + "m.fs = SocFlowsheet(\n", + " dynamic=True,\n", + " time_set=time_set,\n", + " time_units=pyo.units.s,\n", + " thin_electrolyte_and_oxygen_electrode=True,\n", + " include_interconnect=True,\n", + ")\n", + "scaling_log = idaeslog.getLogger(\"idaes.core.util.scaling\")\n", + "scaling_log.setLevel(idaeslog.ERROR)\n", + "iscale.calculate_scaling_factors(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Interior point solvers like IPOPT have difficulties when unconstrained solutions occur too close to variable bounds. We therefore strip bounds from some variables that previous simulations have shown to be causing problems." + ] + }, { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\dallan\\AppData\\Local\\Temp\\ipykernel_41080\\391657263.py:377: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`). Consider using `matplotlib.pyplot.close()`.\n", - " fig = plt.figure()\n" - ] + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "for t in m.fs.time:\n", + " m.fs.condenser_flash.control_volume.properties_in[t].flow_mol_phase[\n", + " \"Liq\"\n", + " ].domain = pyo.Reals\n", + " m.fs.condenser_flash.control_volume.properties_in[t].flow_mol_phase[\n", + " \"Liq\"\n", + " ].bounds = (None, None)\n", + " m.fs.condenser_flash.control_volume.properties_in[t].phase_frac[\n", + " \"Liq\"\n", + " ].domain = pyo.Reals\n", + " m.fs.condenser_flash.control_volume.properties_in[t].phase_frac[\"Liq\"].bounds = (\n", + " None,\n", + " None,\n", + " )\n", + " for var in [\n", + " m.fs.condenser_flash.control_volume.properties_in[t].log_mole_frac_tdew,\n", + " m.fs.condenser_flash.control_volume.properties_in[t]._mole_frac_tdew,\n", + " ]:\n", + " for idx in var.index_set():\n", + " var[idx].domain = pyo.Reals\n", + " var[idx].bounds = (None, None)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. Process Control\n", + "\n", + "Now we add controllers to the flowsheet. The flowsheet has a helper function, `add_controllers` that adds the controllers if passed a `ComponentMap` that maps manipulated variables (MVs) to tuples that specify the controller. The tuple contains the controller name, the corresponding controlled variable (CV), the type of controller used, the way the controller handles MV bounds, and the antiwindup method.\n", + "\n", + "We restrict ourselves to using P and PI controllers, because derivative action is severely degraded by noise, but PETSc cannot incorporate noise into its simulations.\n", + "\n", + "Controllers can either have no bounds with the `NONE` option (which may result in use of unphysical controls), the `SMOOTH_BOUND` option which uses smooth max and min functions in order to keep the MV within certain thresholds, and the `LOGISTIC` option, which uses a logistic function to keep the MV within bounds. The `LOGISTIC` option is a worse representation of an actual thresholding function than `SMOOTH_BOUND` but may be easier for integrators to handle.\n", + "\n", + "When both variable bounds and integral action are present, integral windup is a problem. If one uses the `NONE` option, no antiwindup is used. If one uses the `CONDITIONAL_INTEGRATION` method, setpoint error does not integrate when the system is at its bounds. This method is relatively easy to implement but the transition between integrating and not integrating causes integrators to slow down significantly. The `BACK_CALCULATION` method subtracts an amount proportional to the difference between the current MV value and the value that the controller would use without variable bounds from the integrated error. This method gives better performance (and is much easier to integrate) than `CONDITIONAL_INTEGRATION`, but it requires a back calculation gain term to be chosen." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "antiwindup = ControllerAntiwindupType.BACK_CALCULATION\n", + "inner_controller_pairs = ComponentMap()\n", + "inner_controller_pairs[m.fs.feed_heater.electric_heat_duty] = (\n", + " \"feed_heater_inner_controller\",\n", + " m.fs.soc_module.fuel_inlet.temperature,\n", + " ControllerType.PI,\n", + " ControllerMVBoundType.SMOOTH_BOUND,\n", + " antiwindup,\n", + ")\n", + "inner_controller_pairs[m.fs.sweep_heater.electric_heat_duty] = (\n", + " \"sweep_heater_inner_controller\",\n", + " m.fs.soc_module.oxygen_inlet.temperature,\n", + " ControllerType.PI,\n", + " ControllerMVBoundType.SMOOTH_BOUND,\n", + " antiwindup,\n", + ")\n", + "m.fs.add_controllers(inner_controller_pairs)\n", + "\n", + "variable_pairs = ComponentMap()\n", + "variable_pairs[m.fs.feed_heater_inner_controller.setpoint] = (\n", + " \"feed_heater_outer_controller\",\n", + " m.fs.soc_module.fuel_outlet.temperature,\n", + " ControllerType.P,\n", + " ControllerMVBoundType.NONE,\n", + " ControllerAntiwindupType.NONE,\n", + ")\n", + "variable_pairs[m.fs.sweep_heater_inner_controller.setpoint] = (\n", + " \"sweep_heater_outer_controller\",\n", + " m.fs.soc_module.oxygen_outlet.temperature,\n", + " ControllerType.P,\n", + " ControllerMVBoundType.NONE,\n", + " ControllerAntiwindupType.NONE,\n", + ")\n", + "variable_pairs[m.fs.soc_module.potential_cell] = (\n", + " \"voltage_controller\",\n", + " m.fs.soc_module.fuel_outlet_mole_frac_comp_H2,\n", + " ControllerType.PI,\n", + " ControllerMVBoundType.SMOOTH_BOUND,\n", + " antiwindup,\n", + ")\n", + "variable_pairs[m.fs.sweep_blower.inlet.flow_mol] = (\n", + " \"sweep_blower_controller\",\n", + " m.fs.stack_core_temperature,\n", + " ControllerType.P,\n", + " ControllerMVBoundType.SMOOTH_BOUND,\n", + " # antiwindup,\n", + " ControllerAntiwindupType.NONE,\n", + ")\n", + "variable_pairs[m.fs.makeup_mix.makeup.flow_mol] = (\n", + " \"h2_production_rate_controller\",\n", + " m.fs.h2_mass_production,\n", + " ControllerType.P,\n", + " ControllerMVBoundType.SMOOTH_BOUND,\n", + " ControllerAntiwindupType.NONE,\n", + " # antiwindup,\n", + ")\n", + "m.fs.add_controllers(variable_pairs)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that the controllers have been added to the flowsheet, they need to be tuned and bounds for the MVs need to be set. Additionally, the `smooth_eps` term used in the `SMOOTH_BOUND` method of handling variable bounds needs to be tuned to the size of the MV. A heuristic is to use $10^{-3}$ or $10^{-4}$ a typical value of the MV." + ] }, { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAHOCAYAAACcvdMVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAABrQElEQVR4nO3dd3hUxfoH8O/Zsz2VkAIJVUCK9CoiAgpqQBSuiApKBGzcgAW9alQE7k+NglexoOhViFylCAIqRUS6glJjAUF6QoAUIG2TbDvn98cmm11SSHaTbPt+nmcfzp6Z3Z0sk903M3PmFWRZlkFERETkxxSebgARERFRfWPAQ0RERH6PAQ8RERH5PQY8RERE5PcY8BAREZHfY8BDREREfo8BDxEREfk9BjxERETk9xjwEBERkd9jwEPkB44dO4apU6eiU6dOCAoKglarRbNmzdCnTx9MnToVX3/9dbWP//777zF+/Hi0bt0aer0eoaGh6NSpE6ZOnYpDhw5V+bht27ZBEIQa3apiMBjw3nvv4fbbb0dsbCw0Gg2Cg4PRvn17PPDAA/jmm28gSdJV34OFCxdCEATExcXBarVetf7BgwchCAKUSiXOnTt31fqVmTVrFgRBwKxZs1x6PBE1HKWnG0BE7lm1ahXGjRsHo9GIxo0bY8CAAYiKisLly5eRmpqK+fPnY9myZbj77rsrPDY/Px/jxo3DunXrAADXXXcd7rjjDpjNZuzbtw/z58/HRx99hBdeeAGvvvpqtYFLQkJCrdv+ww8/4IEHHkB2djaUSiV69eqFgQMHwmKx4MSJE/jyyy/x5Zdfok+fPtizZ0+1zzV27Fg8+eSTOHfuHDZu3Ijhw4dXW3/hwoUAgPj4eMTGxta67dXZtm0bhgwZgkGDBmHbtm11+txE5CKZiHzWhQsX5ODgYBmA/Mwzz8jFxcUV6uzbt09+4YUXKpw3Go1yv379ZABy69at5Z9++smpXJIkefHixbJer5cByE8//XSF59i6dasMQHblo2Tt2rWyKIoyAHnSpElyZmZmhTpnzpyRH3vsMblRo0Y1es7JkyfLAOS777672nolJSVyRESEDEBevXp1rdteZubMmTIAeebMmU7ny96XQYMGufzcRFS3GPAQ+bBPP/1UBiDHxsbW+rEvvviiDEAODw+XT58+XWW97777zh7UbNq0yanM1YAnJydHDg8PlwHITzzxxFXrb9++vUbPu2vXLhmArFar5ZycnCrrLV++XAYgR0dHy2azucbtvhIDHiLfwTU8RD4sMzMTABAVFVWrxxUUFOCDDz4AAMyYMQMtW7assu4dd9yBO++8EwDw2muvudhSZx988AFyc3MRHR2NOXPmXLX+TTfdVKPn7d+/Pzp16gSTyYQvvviiynpl01kTJkyAUlk+s79nzx6MHTsWsbGxUKvViI6OxsiRI7Fp06YavT4ADB48GEOGDAEAbN++3WkdU6tWrez1srOz8d5772H48OFo3bo1dDodQkND0bt3b7z55psoKSmp8jX+/PNP3H333YiMjIRer0eXLl0wb948SJKEVq1aQRAEnD59usLjLBYLPv30UwwePBgRERHQaDRo3bo1pkyZgvT09Br/jES+iAEPkQ9r0aIFANsX4ObNm2v8uC1btiA/Px8A8OCDD161/oQJEwAAO3bsQF5engstdfbNN98AAO69915oNBq3n8/R5MmTAQCLFi2qtPzs2bP2AKasLgD897//Rf/+/bFixQo0adIEY8aMQbt27bB27VrceuutmD17do1e//bbb8dtt90GAIiJiUFCQoL9NmbMGHu9jRs34sknn8Tvv/+Oli1bYtSoUejbty+OHj2KF154ATfffDOMRmOF59++fTv69u2LVatWITw8HHfddReaNm2K559/HuPGjauyXQUFBRg2bBgeeeQR7N+/H127dsWdd94JjUaDBQsWoEePHjh48GCNfkYin+TpISYicl1BQYEcFxcnA5AFQZAHDx4s/9///Z+8bt06OSsrq8rHzZgxw752pybOnDljn7rasmWL/bwrU1pms1lWKBQyAHnx4sU1flxNZWVlySqVSgYg79+/v0L5q6++KgOQb7jhBvu533//XVYqlbIgCBXatH79elmtVssA5B9++MGpzJ0prcOHD8u7d++ucP7SpUvyrbfeKgOQ58yZ41RWVFRk//9+5plnZKvVai87dOiQHBMTY///OHXqlNNjx40bJwOQ77jjjgrrpd555x0ZgNyuXTvZYrFU2WYiX8YRHiIfFhwcjM2bN6Nfv36QZRnbtm3DjBkzMGLECERHR6NHjx5YsGBBhcu0s7OzAdhGIGrCsV7ZY69U3SXpo0aNste7ePGi/TLz6Ojo2vy4NRIVFWWfgiubunKUkpICAJg0aZL93LvvvguLxYLRo0dXGPGKj4/Ho48+CgCYO3dunbWzY8eOuP766yucb9SoEd5//30AwIoVK5zKVq5ciYyMDLRs2RLJyclQKMo/wjt16oQZM2ZU+lp//fUXli5ditjYWCxZsqTC+/7UU09h+PDhOHbsGDZs2ODuj0bklXhZOpGPa9++PX755Rfs2bMH69atw6+//ooDBw4gOzsbqampmDJlCr7++musW7cOarXapdeQZfmqdaq7LL1nz54uva6rHn74YXz99ddYsmQJ/vOf/9inzbZv347jx48jODgY9957r71+2aXjDz30UKXPN3nyZHzwwQfYuXMnrFYrRFGsk3ZarVZs27YNu3btwvnz51FcXAzZdjEJAODo0aNO9bdv3w4AuOeee6BSqSo83/jx4zF16tQK59evXw9ZlhEfH4+QkJBK2zJ48GCsX78eu3btwh133OHuj0bkdRjwEPmJvn37om/fvgBsAcrBgwcxd+5cLFu2DD/++CPeffdd/Otf/wIAREZGAihf9Hw1WVlZ9uOqFkiXjZxcTePGjaFQKCBJktPz1qVbb70VzZs3R3p6OlavXo377rsPQPmIz9ixYxEcHGyvn5GRAQBo3bp1pc/Xpk0bAEBJSQkuXrxYJyNTx44dw+jRo6vd2LFsnVWZs2fPAoDT4mdH4eHhCAsLq7DO6uTJkwCAzz77DJ999lm17apqBI/I1zHgIfJDgiCgZ8+eWLp0KYqKivDtt99izZo19oCnV69eAIBTp04hOzv7qld5lW36p1Ao0KNHD7faplQq0bVrV6SmpmLv3r01WjRdWwqFAg899BD+7//+D4sWLcJ9992HgoICrFy5EoDzYmVPGTNmDA4dOoQ77rgDzz33HDp16oTQ0FCoVCqYTKZqF3NXtwFkZWVlU4jdu3dHt27dqm1Xv379avgTEPkWBjxEfu7WW2/Ft99+i5ycHPu5m2++GSEhISgoKMDixYvxzDPPVPscixcvBgAMHDgQ4eHhbrfprrvuQmpqKpYvX465c+fW+ZVagG2Nzquvvooff/wR6enp2LhxI4qKitChQwfccMMNTnXj4uJw4sQJnDx5Ep07d67wXGUjJFqtFhEREW637ciRI/j9998RHR2N1atXO10aD9hGfyoTFxcHAJVecg4AeXl5yM3NrXC+efPmAIABAwbYtyMgCjRctEzkw2qytiYtLQ0A0KxZM/u50NBQJCYmAgBeffVVnDlzpsrHr127Ft999x0A4MUXX3SnuXbTpk1DWFgYsrKy8Pzzz1+1/s6dO2v9Gq1atcItt9wCSZKQkpJin85yXKxcZvDgwQCqnpYre+zAgQMrBCeVKVsrZbFYKi2/dOkSACA2NrbS56tqD6Gy/YhWrFhR6XMvWbKk0sfFx8cDAL799ttq9/ch8msevEKMiNz0wQcfyBMmTJB//vnnCmWSJMlff/21PTXEJ5984lReUlIi9+7d2355+pXPIUmS/L///c/++GnTplV4DXdSS3zzzTf2y9MnT55caWqJs2fPyomJiXJEREStn1+WZXnp0qUyADkyMlIGICuVSvnChQsV6jlelv6///3PqWzjxo2yRqORAcgbN250KqvqsvSyy/ijo6Nlk8lU4fWys7NlURRlURTlrVu3OpV9++239te78n01GAxy06ZNZQDyc88953RZ+l9//SU3adKkysvS7777bhmAHB8fX6FMlmW5sLBQ/uKLLyp9f4j8gSDLNfgTkYi80rx58/D0008DsC0m7tGjByIjI5Gbm4vDhw/bpz4eeOABfP75506XMQO2KZD77rsP33//PQCgS5cu6NixI8xmM/bu3YuzZ89CoVDg2WefxRtvvFFhfUhZkkzg6slD//3vf9s3SiyzYcMGTJgwATk5OVAqlejduzdatmxpTx7622+/QZZlXH/99di9e3et3x+j0YjY2Fj7iMqoUaOwevXqSut+8sknmDJlCiRJQs+ePdGhQwecOXMGu3btgizLmDVrFmbOnOn0mFmzZmH27NmYOXNmhYzpffr0wb59+9C+fXv07t0bWq0WkZGReOONNwDYLgV/9913oVAoMHDgQMTGxuLo0aM4cOAAXn75Zbz66qsAKo7ibdmyBSNGjEBJSQnatm2L3r1749KlS9i2bRvuuusu/Prrr0hLS0NGRoZTUtSCggKMHj0amzdvhlqtRrdu3dC6dWvIsozTp0/jt99+g8lkwl9//YUOHTrU+r0m8nqejLaIyD35+fnymjVr5GnTpsl9+/aVmzVrJqtUKlmn08lt2rSR77//fnnDhg1XfZ5169bJ9913n9yiRQtZq9XKwcHBcvv27eUpU6bIv//+e5WPcxzhudrt4MGDlT5HQUGB/M4778jDhg2TmzRpIqvValmv18vXXnut/MADD8hr166VJUly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jKi+sW8SURmmlgBTSxAREfkippYgIiIicsBxXHKbLMsoKioCAOj1+grb91dVRlTf2DeJqAxHeMhtRUVFCA4ORnBwsP0LpCZlRPWNfZOIyjDgISIiIr/HgIeIiIj8HgMeIiIi8nsMeIiIiMjvMeAhIiIiv8eAh4iIiPwe9+Eht4miiDFjxtiPa1pGVN/YN4moDFNLgKkliIiIfJFfpJaYP38+WrVqBa1Wi379+mHPnj1V1h08eDAEQahwGzFiRAO2mIiIiLyVVwY8y5cvx/Tp0zFz5kwcOHAA3bp1w2233YasrKxK669atQrnz5+33/7880+Iooh77rmngVtORERE3sgrA563334bjzzyCCZOnIhOnTphwYIF0Ov1WLhwYaX1IyIi0KRJE/tt06ZN0Ov1DHgaiMFgsI+qGQyGGpcR1Tf2TSIq43UBj8lkwv79+zF06FD7OYVCgaFDh2L37t01eo7PPvsM9913H4KCguqrmURERORDvO4qrZycHFitVsTExDidj4mJwZEjR676+D179uDPP//EZ599VmUdo9EIo9Fov5+fn+96g4mIiMjred0Ij7s+++wzdOnSBX379q2yTnJyMsLCwuy35s2bN2ALiYiIqKF5XcATGRkJURSRmZnpdD4zMxNNmjSp9rEGgwHLli3D5MmTq62XlJSEvLw8+y09Pd3tdhMREZH38rqAR61Wo1evXti8ebP9nCRJ2Lx5M/r371/tY1esWAGj0YgHHnig2noajQahoaFONyIiIvJfXreGBwCmT5+OhIQE9O7dG3379sW8efNgMBgwceJEAMCECRMQFxeH5ORkp8d99tlnGDVqFBo3buyJZhMREZGX8sqA595770V2djZeeeUVXLhwAd27d8f3339vX8iclpYGhcJ5cOro0aP46aef8MMPP3iiyQFNFEUMHz7cflzTMqL6xr5JRGWYWgJMLUFEROSL/CK1BBEREVFdYcBDREREfo8BD7nNYDAgKCgIQUFBlW7fX1UZUX1j3ySiMl65aJl8T1FRkUtlRPWNfZOIAI7wEBERUQBgwENERER+jwEPERER+T0GPEREROT3GPAQERGR3+NVWuQ2hUKBQYMG2Y9rWkZU39g3iagMU0uAqSWIiIh8EVNLEBERETlgwENERER+jwEPuc1gMCAqKgpRUVGVbt9fVRlRfWPfJKIyXLRMdSInJ8el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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "K = 10e4\n", + "tau_I = 15 * 60\n", + "tau_D = 5 * 60\n", + "m.fs.feed_heater_inner_controller.gain_p.fix(K)\n", + "m.fs.feed_heater_inner_controller.gain_i.fix(K / tau_I)\n", + "m.fs.feed_heater_inner_controller.mv_lb = 0\n", + "m.fs.feed_heater_inner_controller.mv_ub = 10e6\n", + "m.fs.feed_heater_inner_controller.smooth_eps = 1000\n", + "if antiwindup == ControllerAntiwindupType.BACK_CALCULATION:\n", + " m.fs.feed_heater_inner_controller.gain_b.fix(0.5 / tau_I)\n", + "\n", + "K = 20e4\n", + "tau_I = 15 * 60\n", + "tau_D = 5 * 60\n", + "m.fs.sweep_heater_inner_controller.gain_p.fix(K)\n", + "m.fs.sweep_heater_inner_controller.gain_i.fix(K / tau_I)\n", + "m.fs.sweep_heater_inner_controller.mv_lb = 0\n", + "m.fs.sweep_heater_inner_controller.mv_ub = 10e6\n", + "m.fs.sweep_heater_inner_controller.smooth_eps = 1000\n", + "if antiwindup == ControllerAntiwindupType.BACK_CALCULATION:\n", + " m.fs.sweep_heater_inner_controller.gain_b.fix(0.5 / tau_I)\n", + "\n", + "K = 0.75\n", + "tau_I = 60 * 60\n", + "m.fs.feed_heater_outer_controller.gain_p.fix(K)\n", + "\n", + "K = 0.75\n", + "tau_I = 60 * 60\n", + "m.fs.sweep_heater_outer_controller.gain_p.fix(K)\n", + "\n", + "K = -2\n", + "tau_I = 240\n", + "m.fs.voltage_controller.gain_p.fix(K)\n", + "m.fs.voltage_controller.gain_i.fix(K / tau_I)\n", + "m.fs.voltage_controller.mv_lb = 0.7\n", + "m.fs.voltage_controller.mv_ub = 1.6\n", + "m.fs.voltage_controller.smooth_eps = 0.01\n", + "if antiwindup == ControllerAntiwindupType.BACK_CALCULATION:\n", + " m.fs.voltage_controller.gain_b.fix(0.5 / tau_I)\n", + "\n", + "K = -50\n", + "tau_I = 40 * 60\n", + "m.fs.sweep_blower_controller.gain_p.fix(K)\n", + "m.fs.sweep_blower_controller.mv_lb = 1500\n", + "m.fs.sweep_blower_controller.mv_ub = 10000\n", + "m.fs.sweep_blower_controller.smooth_eps = 10\n", + "\n", + "K = 200\n", + "tau_I = 20 * 60\n", + "m.fs.h2_production_rate_controller.gain_p.fix(K)\n", + "m.fs.h2_production_rate_controller.mv_lb = 1\n", + "m.fs.h2_production_rate_controller.mv_ub = 1500\n", + "m.fs.h2_production_rate_controller.smooth_eps = 1" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkwAAAHOCAYAAABq9FaNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAABa+UlEQVR4nO3dd3xTVf8H8M/NTroLHYwuQEGGbGoZUqAPW+0jIgKyxUesCFRluEBl+LBEBUEfmSqiyA8cKFJZrqKAomwFC0WgpVjoSNskTe7vD+yVkLZJV9L0ft6vV14k59zcfBNOm2/POfccQRRFEURERERUJoWnAyAiIiKq7ZgwERERETnBhImIiIjICSZMRERERE4wYSIiIiJyggkTERERkRNMmIiIiIicYMJERERE5AQTJiIiIiInmDAR1RBBECp8i4+P93TYkujoaAiCgLNnz3o6lBqxd+/eav/MS/4fiajuUXk6AKK6asyYMQ5lGRkZ+PLLL8usb9GiRYVeY+/evejVqxd69uyJvXv3VipOorqGPxdUE5gwEdWQdevWOZTt3btXSphKqyciotqJQ3JERERETjBhIqpF/vzzT0yePBm33HILdDodAgIC0K1bN7z55puwWq12x8bHx6NXr14AgH379tnNhYqOjpaOy8rKwmuvvYaBAwciJiYGer0e/v7+6NSpE/773/+iqKio2uIfO3YsBEHAunXrcOrUKQwbNgyhoaHw8fFB586d8fHHH0vH/vDDD7j77rsREhICvV6PuLg47Nq1q1o+mxtt2LABnTt3hsFgQHBwMPr3749vvvmmzOPXrVsHQRAwduzYUuvPnj3r8Bm7ori4GG+//Tbi4+MRHBwMrVaLmJgYTJo0CefPn6/QuUpcvXoVL774Ijp16oSAgADo9Xo0adIE999/P7744gu7Y53Nr4qPj4cgCA5DWDeWf/PNN7jrrrsQEhIChUIh9ZLeON/t448/Ru/evREcHOxwvqtXr2L27Nlo164d/Pz8YDAY0KZNG8ydOxcFBQUOMc2ZMweCIGDOnDnIyspCUlISIiIioNFoEBERgcmTJ+PatWsO8bryc0FUURySI6olDhw4gP79+yM7OxuRkZFITExETk4O9u7di++//x5bt27FJ598Ao1GAwDo378/dDodvvzyS4SFhaF///7SuerXry/d//LLLzFlyhQ0atQIzZo1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/Pz8HObL+fj4oF69epxH56Inn3wSd911F6KionDx4kXMnj0bSqUSw4cP93RoXmHatGno2rUr5s+fj/vvvx8//vgj3nrrLbz11lvV/2IiVdnrr78uRkZGihqNRuzSpYu4f/9+T4fkNfbs2SMCcLiNGTPG06F5hdI+OwDi2rVrPR2aVxg/frwYFRUlajQaMSQkROzTp4+4c+dOT4fl1Xr27ClOmTLF02F4jWHDhokNGjQQNRqN2KhRI3HYsGHi6dOnPR2WV/n000/F1q1bi1qtVmzRooX41ltv1cjrcB0mIiIiIic4h4mIiIjICSZMRERERE4wYSIiIiJyggkTERERkRNMmIiIiIicYMJERERE5AQTJiIiIiInmDAREREROcGEiYi8Qnx8PARB8HQYLhNFER07dkTfvn3tyqv7fXz11VcQBAGff/55tZ2TiBxxLzkicruKJgzeuCHBhg0b8NNPPyE1NbVGXychIQHdu3fH9OnT0a9fP254S1RDmDARkdvNnj3boWzZsmXIyckptQ64noAUFBTUdGjVwmazYc6cOejRowfuuOOOGn+96dOn4+6778amTZswcuTIGn89IjniXnJEVCtER0fj3LlzXtmbdLPt27dj8ODB+N///oeHHnrIri4+Ph779u2r1vdpsVjQsGFDtGjRAt988021nZeI/sE5TETkFUqb+7Nu3ToIgoB169bh008/RWxsLAwGAxo1aoTnnnsONpsNALB+/Xq0bdsWer0ekZGRWLRoUamvIYoi1qxZg27dusHf3x8GgwGdOnXCmjVrKhTr2rVrIQgChgwZUuYxFosFc+bMQXR0NLRaLW699Va88cYbDsfNmTMHgiBg7969WLduHTp06ACDwYD4+HjpGLVajcTERHz77bc4ffp0hWIlItdwSI6IvN7WrVuxc+dOJCYmolu3bti+fTvmzp0LURQREBCAuXPn4p577kF8fDy2bNmC6dOnIywsDKNHj5bOIYoiRo4ciffffx+33HILRowYAY1Gg5SUFEyYMAHHjx/H4sWLncYiiiL27NmD5s2bIygoqMzjhg8fjh9//BEDBgyAUqnEhx9+iKSkJKjVakycONHh+EWLFmHPnj2455570LdvX4e5SnFxcXj77bexe/duNGvWrAKfHhG5RCQiqgWioqLE8n4l9ezZ06F+7dq1IgBRrVaLP/74o1Sem5srhoaGigaDQQwPDxfPnDkj1aWnp4sajUZs06aN3bneeustEYA4btw40Ww2S+Umk0m86667RADiwYMHnb6PY8eOiQDEkSNHlvs+YmNjxZycHKn85MmTokqlEps3b253/OzZs0UAoo+Pj/jrr7+W+bq//PKLCEAcPXq00xiJqOI4JEdEXu/BBx9E586dpcd+fn4YPHgwCgoKMGnSJDRp0kSqi4iIQPfu3XH8+HEUFxdL5cuXL4ePjw9WrFgBtVotlWs0GsybNw8A8P777zuN5c8//wQAhIWFlXvcggUL4O/vLz1u3rw5unXrhlOnTiEvL8/h+Icffhht2rQp83wlr1fy+kRUvTgkR0Rer127dg5lDRo0KLfOarUiMzMTjRo1QkFBAY4cOYKGDRviv//9r8PxFosFAHDy5Emnsfz1118AgMDAwHKP69ixo0NZ48aNAQDXrl2Dn5+fXV2XLl3KPV9wcDAA4MqVK05jJKKKY8JERF7vxp6aEiqVymldSSJ09epViKKICxcu4IUXXijzdYxGo9NY9Ho9AKCoqKjSMVutVoc6Zz1WhYWFAACDweA0RiKqOCZMRCR7JclLx44dcfDgwSqdKyQkBACQnZ1d5bhu5Gyxz5LXK3l9IqpenMNERLLn5+eH2267DSdOnMC1a9eqdK5WrVpBoVDg1KlT1ROci0per7x5TkRUeUyYiIgAPP744ygoKMDEiRNLHXpLS0vD2bNnnZ4nMDAQt99+Ow4ePCitA+UOP/zwAwCgZ8+ebntNIjlhwkREBOA///kPxowZg48++gi33HILRo8ejZkzZ2LcuHGIi4tD06ZNsX//fpfO9e9//xt5eXkuH18dUlJSEBQUhDvvvNNtr0kkJ0yYiIgAacXwDz74AK1atcJnn32GpUuXIiUlBTqdDosXL0ZCQoJL53rooYegUqnw7rvv1nDU1509exbfffcdxowZA51O55bXJJIb7iVHRFQDRo0ahe3bt+PcuXMOSwRUt2effRYLFy7EiRMn0LRp0xp9LSK5Yg8TEVENmDt3LgoLC/H666/X6OtcvXoVr7/+OiZNmsRkiagGcVkBIqIaEBUVhfXr1yMzM7NGXyctLQ3Tpk3D5MmTa/R1iOSOQ3JERERETnBIjoiIiMgJJkxERERETjBhIiIiInKCCRMRERGRE0yYiIiIiJxgwkRERETkBBMmIiIiIieYMBERERE5wYSJiIiIyIn/BzPNkgzipxDCAAAAAElFTkSuQmCC", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Most MVs we want to ramp between the old and new setpoints, but there are a few, especially when changing the controller gain, that we need to step." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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8xOR6XGMFBFRCZycnNCiRQscP34ct2/frtSxWrVqBRsbG5w8edI0wVVQ4fnKGkdFRJXDRIqIqBT/93//h8zMTDz//PMlXsJLSkrC2bNnyz2Oq6sr2rRpg3379snzWFWH3bt3AwC6d+9ebecksjZMpIiISvHiiy8iMjISP//8M5o0aYLhw4fjtddew8iRIxESEoJGjRph165dFTrWk08+iTt37lS4vilER0fDzc0N3bp1q7ZzElkbJlJERKUonCH9p59+QqtWrbB+/Xq8//77iI6Ohq2tLd577z2Eh4dX6FhjxoyBUqnE999/X8VR65w9exY7duxAZGQkbG1tq+WcRNaIa+0REVWTYcOGYcOGDTh37lyxqQxM7c0338SCBQtw/PhxNGrUqErPRWTN2CNFRFRN5s6di6ysLHz88cdVep5bt27h448/xrhx45hEEVUxTn9ARFRN/P39sWLFCqSkpFTpeZKSkvDyyy9j4sSJVXoeIuKlPSIiIiKj8dIeERERkZGYSBEREREZiYkUERERkZGYSBEREREZiYkUERERkZGYSBEREREZiYkUERERkZGYSBEREREZiYkUERERkZH+H3HT4SDswJVuAAAAAElFTkSuQmCC", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "step_mvs = ComponentSet([])\n", + "step_mvs.add(m.fs.voltage_controller.mv_ref)\n", + "step_mvs.add(m.fs.voltage_controller.setpoint)\n", + "step_mvs.add(m.fs.makeup_mix.makeup_mole_frac_comp_H2)\n", + "step_mvs.add(m.fs.makeup_mix.makeup_mole_frac_comp_H2O)\n", + "step_mvs.add(m.fs.h2_production_rate_controller.setpoint)\n", + "step_mvs.add(m.fs.h2_production_rate_controller.gain_p)\n", + "\n", + "ramp_mvs = m.fs.manipulated_variables - step_mvs\n", + "\n", + "create_ramping_eqns(m.fs, ramp_mvs, 1)" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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goIC/PXXX1i2bBn+/vtvFBQUICQkBAsXLsRLL70EZ2dnU8dJREREZJByJTdnzpzBsmXLsGbNGty+fRvu7u4YP348Ro4ciVatWlVWjEREREQGMzi56dChA44dOwapVIpHH30UI0eOxMCBA6FQKCozPiIiIqJyMTi5OXr0KBQKBXr37o26deti586d2LlzZ5nbSCQSLFy4sMJBEhERERmqXKel8vPzsWnTJoPrM7khIiIiczM4uXlYLw3VHmWNYVSVxzei2oHtk4gqNIhfdcVB/IiIiKofswziR0RERFTVGJTcXLt2rcIHunHjRoX3QURERPQwBiU3jRo1woQJExAXF1eunefn5+Pnn39GixYt8MMPPxgVIFUtOTk5CA8PR3h4eInD25dWRmQObJ9EBBh4zc2CBQswa9YspKamolu3bhg0aBA6deqENm3aFBvn5vr16zh06BC2b9+O3377Dampqejduze++uorNGzYsNLeSHnwmhvjKZVKODg4AACysrJgb29vUBmRObB9EtVshn5/G3S31KRJkxAREYF58+bhhx9+wBtvvAGJRAKpVAoXFxe4uLggNzcXKSkpyM3NBaC9Dbx37954++230bNnT9O8KyIiIqKHMPhWcBcXF8ycORPTpk3D1q1bsWPHDuzfvx/Xr19HQkICbG1t4efnh+DgYISFhWHAgAEIDAyszNiJiIiIiin3xJkymQz9+/dH//79KyMeIiIiogrhreBERERUozC5ISIiohql3KeliOzs7IwqIzIHtk8iYnJD5WJvbw+lUlnuMiJzYPskIoCnpYiIiKiGYXJDRERENQqTGyqX3NxcPPHEE3jiiSd0AzYaUkZkDmyfRAQYOP3Cg9atW4dnnnmm2NQL1QWnXzAeh7enqoztk6hmM/T726iem8GDB8PPzw+TJ0/G+fPnjQ6SiIiIyNSMSm4+/PBD2NjYYN68eWjRogW6d++OVatWsauXiIiILM6o5GbmzJmIj4/HX3/9haeeegoHDx5EREQEfH198dprryE6OtrUcRIREREZxOgLiqVSKZ544gls2LAB169fx+zZs+Hp6YmFCxciJCQEHTp0wNKlS5GVlWXKeImIiIjKZJK7pby8vPDee+/h4sWL+Pvvv+Hr64tjx45h3LhxqFOnDsaPH4+rV6+a4lBEREREZTLZreAxMTF488038dJLL+HmzZuw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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the present system of scaling, we cannot guarantee that controller MVs and CVs have had scaling factors set when a controller is scaled, so we need to iterate through the controllers and scale them again after the fact." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAHOCAYAAACcvdMVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAACS3klEQVR4nOzdd3xUVdrA8d+dll4ICUkIJTQpKoQuxQ0qiqIsoCBgISjqiugiCFheqa6AddFVZBUVbCuWtaKyioCKCNJFEClBEBIIhCSkTT3vH5MMGTIz6ZmU56v5MPfc5945M3Nm5plz7z1HU0ophBBCCCEaMJ2/KyCEEEIIUdMk4RFCCCFEgycJjxBCCCEaPEl4hBBCCNHgScIjhBBCiAZPEh4hhBBCNHiS8AghhBCiwZOERwghhBANniQ8QgghhGjwJOGpYYmJiWia5vYXEBBAixYtGD58OJ9//rm/q9jgmM1mHnnkETp06EBAQACappGYmOjvapVy+PDhOlu38qrtx1DWa5uVlcXkyZNp3bo1JpMJTdMYNGgQAHPnzkXTNObOnVsrdRWiNjWEz5OaJglPLRkwYAApKSmkpKQwdOhQDAYDn376KcOGDWPatGn+rl6FFSdvddGsWbNYuHAhZ8+eZfjw4aSkpDBq1Ch/V0tUg7Je27vuuoslS5ag0+m4/vrrSUlJ4eqrr/ZjjavP8uXL0TSNCRMm+LsqjZK/E+biH8+HDx/2y/03BAZ/V6CxuOOOO9w+qGw2G1OnTuWFF17gn//8J+PGjaN3797+q2AD8t577wHw/fff06FDBz/XRlQnX6+t1Wrlo48+IjAwkJ07dxIeHu6PKgrhFwkJCezduxej0ejvqtRZ0sPjJwaDgaeeesr1ofzZZ5/5uUYNx5EjRwAk2WmAfL22aWlp2Gw2YmNjJdkRjY7RaKRTp060a9fO31WpsyTh8aPAwEDXB/eJEyc8xqxZs4brr7+e+Ph4TCYTzZo1Y+TIkWzcuNFj/ObNm5k5cyZ9+vQhLi4Ok8lEbGwsw4YN45tvvvFZn99//5177rmHjh07EhwcTHh4OF26dOGee+5h9+7dwLlu3WLnn590fnfr6tWrue6662jWrBkmk4nmzZszZswYtmzZ4rEOgwYNQtM01q1bx/fff8+wYcOIiYlBp9OxfPlyn/Uv7vJVSpWq2/nbbt26lZtvvplWrVoREBBAVFQUQ4YM4YsvvvC6f5vNxrJlyxg0aBBRUVEEBATQpk0bJk2axNGjR71u9/nnn5OcnExYWBgRERFceumlfPLJJz4fiy+VeY1LHg7Jy8vj4Ycfpn379gQEBBAXF0dKSgrHjh2rtccAUFBQwDPPPMMll1xCZGQkgYGBdOzYkZkzZ3L69Gm32LJeW03TaN26NQB//PGH2/p169b5rEdZhyrWrVvndi7Q+Y4fP860adPo3LkzwcHBhIWF0bt3b1544QVsNlup+AkTJrjqnZqayq233kpcXBwBAQG0a9eORx99FLPZXOrx33bbbQCsWLHC7fF5q5c33377LaNHj6ZFixYEBAQQExND7969mTNnTqnnHar2Ht6xYwfXX3890dHRBAQE0KVLF5555hnX61gd9fv999/529/+Rrt27QgMDCQiIoK//OUvvPXWW9VWP03TmDdvHgDz5s1ze/5L9tyXPOz0ySefcPnllxMVFeXWDjMyMnj++ecZOnQobdq0ISgoiPDwcHr16sUTTzxBYWGh230Xt+8//vgDgDZt2nhs32Wdw/Pnn39y33330aFDB9fzNGDAAP79739jt9tLxVflM+Obb75h2LBhxMbGYjQaadKkCR06dOCWW27hu+++87hNrVCiRrVu3VoB6vXXX/e4vkOHDgpQs2bNKrXugQceUIDS6XSqT58+avTo0apv375K0zSl1+vVa6+9VmqbK664Qul0OnXxxReroUOHqtGjR6sePXooQAFq8eLFHuvx9ttvq4CAAAWoVq1aqRtuuEGNHDlSdevWTWmapubMmaOUUuqjjz5SKSkprv2lpKS4/WVkZLj2+eijjypAaZqmBgwYoMaNG6eSkpIUoPR6vXr11VdL1SM5OVkB6p577lE6nU516dJFjR07Vl111VXqnXfe8flcP/DAA17r9v3337viFi9erHQ6nQJUUlKSGjVqlBo4cKAymUwKUPPmzSu175ycHDVo0CAFqNDQUJWcnKxGjRqlOnbsqADVtGlTtW3btlLbPfvss6769OnTR40bN0716tVLAWratGkKUK1bt/b5uM5Xmdf49ddfV4AaMWKE6tq1q4qMjFTDhg1Tw4cPV82aNXPVIysrq1Yew7Fjx9TFF1+sABUVFaUGDx6sRo4c6Xq/JCYmqsOHD7viy3ptU1JS1A033KAAFRIS4rZ+7969Siml5syZowBXWy7mrbzY2rVrFaCSk5NLrVu/fr1q0qSJq85//etf1ZAhQ1xlV111lbJYLG7bFD+OKVOmqPDwcNW6dWt14403qsGDB6ugoCDX61TSAw88oAYMGKAA1a5dO7fHt3DhwnI/7/fdd5/rOUxKSlJjx45V11xzjWrbtq0C1Nq1a93iq/Iefuihh5TJZFKdO3dWY8eOVcnJyUqv17see3XU77333lOBgYEKUJ06dVIjR45Ul19+uQoJCVGAuu2226qlfikpKapbt24KUN26dXN7/l955RVXXHH7vffeexWgevXqpcaNG6eSk5PVd999p5RS6s0331SASkhIUMnJyWrs2LHqiiuuUKGhoQpQ/fr1U4WFha59Frfv4sd0ww03eGzfqampXt+LmzdvVlFRUa7P9zFjxqirr77a9dwNGTJEmc1mt20q+5mxfPlypWma0jRN9e3bV40ZM0b99a9/VT169FB6vd7ra18bJOGpYb4Snj179rjeYD///LPbupdfflkBqn379mrnzp1u69avX6/CwsKUyWRSv//+u9u6L774Qh0/frzUff34448qPDxcGY1G9eeff7qt27JlizIajUrTNPX8888ru93utv7w4cNqy5YtbmXFH0refPnllwpQgYGB6n//+5/bumXLlilAGY1GtXv3brd1xR9GgHrxxRe97t8XX3X76quvlKZpKjo6Wq1fv95t3a5du1SLFi0UoNatW+e27qabblKAuu6669SJEyfc1v3zn/9UgOrQoYOy2Wyu8p07dyq9Xq90Op16//333bZ56623lKZplUoWKvMaF394FX+4ZWdnu9ZlZma6vsQWLFjgtl1NPAaHw+H68p44caLKyclxrbNara5E/7LLLiu1ra/X1tcHvlLVn/CkpaWppk2bKk3T1JIlS9zeN6dOnVKXX365xwS6ZOL2f//3f25t5pdffnF9sf34449u2xW/hikpKR7rWZbnn3/elZx/++23pdZv2rRJHTlyxLVcHe/hpUuXuq1bs2aN6wfb0aNHq1S/Xbt2qYCAABUYGKg+/PBDt9jDhw+7EuoVK1ZUS/3KaidKnfu81+v16pNPPvEYs2fPHrVx48ZS5ZmZmeqqq65SgHryySe97js1NdXjfr21/8LCQte2d999t1sCfvDgQZWYmKgA9cgjj7htV9nPjDZt2ijA7UdmsRMnTnj8YVhbJOGp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PctXX31V7u2uueYaAD799NMKdXMnJycD8Pbbb3tc/8Ybb5R7X8Uq8xpXRU08huLnszh587fiD/m9e/d6XF98rs75ih9H8ejPNa04MfP0nitLr169iI6OJiMjg48//rjM+Np+D1e0fiU/t+rD81+s+P3bvHlzj+eveRs7qCr3X3xe4sqVKz1+fn300UecOXOGsLAwr+eMVlV4eDhz584lMjKS/Px8fv/99xq5n7JIwuNn99xzD61atSI7O5tnnnkGcCYTc+bMQSnFyJEj+eGHH0ptZ7fb+fbbb/npp59cZcUnka1YscLt12phYSH33HOPK4s/3//93/9hMBh44YUXWLJkSakvoT/++IOtW7e6lbVo0QLAa0L2wAMPAPDSSy+xZs0at3XLly/n008/xWg0MmXKFI/b15R//OMfgPMkck+jWyul2LRpE//73/9cZd27d+eGG27g6NGjXH/99R57NfLy8nj77bfdBpC877770Ov1vPfee3z00Udu8e+++265PtjPV9nXuLJq4jEMHz6c3r17s3nzZm677TaP5+mcOXOGpUuXVunLpbwuv/xydDodq1evZv369a5ypRTPP/+81yRyxowZREZG8uyzz/LMM89gsVhKxaSmpvr8EquI4vfcnj17KrytwWDg//7v/wDnxQmeBn/7+eefXedsQe2+hytTvzlz5mAymZgxYwYrVqzweOhx9+7d/Pe//61y/aDsz7zyuOCCC9Dr9fzyyy+lBsT87LPP+Oc//1nt9z969GhatWrlGiCz5HsqNTXV9Trfd999pU7srqj8/HyeffZZj+/p77//nqysLPR6veux1Do/XBnWqJQ18KBSSr322muuywJPnz7tKp8xY4brMtwLL7xQDR8+XI0dO1YNGjRIRUZGKkC99NJLrvgzZ8647q9p06ZqxIgR6oYbblDNmjVTYWFhasqUKV4va12xYoUyGo2uyxpHjRqlrr/+epWUlOQ28GCx6dOnK0BFR0erG2+8UU2cOFFNnDhRnTp1yhVTctCygQMHqptuusk1QF5Zg5adP8BYRRQ/Z94899xzymAwKIrGObr22mvVTTfdpK688krXgFoPPvig2zY5OTmuy3RNJpPq3bu3uvHGG9Xo0aNV7969XYMWFg8CVqx4+ABA9e3bV910002qd+/eClBTp06t8CXdlX2Ny7qk2dcl3dX9GJRyDjxYPI5HSEiI6t+/vxo7dqyrzRWPT1XyMlmlauaydKWU63nT6/Vq0KBB6vrrr1ft2rVTRqNRPfTQQx4vS1fKOSZWdHS0AlSzZs3U5Zdfrm6++WZ13XXXqXbt2rmes5KKL0v39png7bUym82u4Sq6d++uxo8fryZOnOhxzBZPHA6H65L34n2MHTtWDR06tFwDD1bXe9jb61CZ+r333nsqODhYAapFixbqqquuUjfffLO65pprXGNqnT+kQmXrl56e7hojacCAAWrChAlq4sSJbgPAlnXpuFLn2ppOp1PJyclq3Lhxrue0+Pn21MZfeOEFBc6BT6+//nrXZ+5vv/2mlCr/wIOtW7dWY8aMUUOHDi3XwIMV+cw4c+aM67F169ZNjRo1So0bN07169fPNWbX7NmzvT43NU0SnhpWnoTHZrOpLl26KHCO/lnShg0b1M0336xat26tAgICVFhYmLrgggvUiBEj1LJly1RmZqZbfEZGhrrnnntUu3btVEBAgGrevLm65ZZb1P79+8tswL/++quaOHGiatOmjQoICFARERGqS5cu6t5771W//vqrW2xBQYGaOXOmat++vevL3tMb/csvv1RDhw5VTZs2VQaDQcXFxanRo0erTZs2eaxDbSQ8SjkHeLvrrrtUhw4dVGBgoAoODlZt27ZVQ4YMUc8//7w6duxYqW3sdrt655131NChQ1VsbKwyGo2qadOm6qKLLlK33Xab+uijj0qNqquUUp988okaOHCgCgkJUaGhoap///7qgw8+KPML2pvKvMZVSXhq4jEo5RwQbenSpeqyyy5ztY9mzZqppKQkNXnyZLV69epS29RUwuNwONQzzzyjOnfurEwmk4qKilLDhg1TW7du9TnSslLOwdRmzZqlevTo4RoQtEWLFqp///5qzpw5ateuXW7xlU14lHK227/+9a8qJibGNVq4t3p58+WXX6rhw4e72nBMTIzq06ePmjdvntsPrpLx1fkeLms8m4rWLzU1VU2dOlVddNFFKiQkRAUGBqrWrVurQYMGqUWLFqkDBw5UW/2+++47NXjwYNWkSRPX81/ydSpPwuNwONSrr76qevbsqUJDQ1VERIQaOHCgevfdd5VS3tu43W5XCxcuVBdeeKErUSn5OMpq/0eOHFGTJ09Wbdu2VSaTSYWFhal+/fqpl156yeN4WJX5zLBarWrp0qVq3Lhx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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "for ctrl in m.fs.controller_set:\n", + " iscale.calculate_scaling_factors(ctrl)\n", + " iscale.calculate_scaling_factors(ctrl)" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Discretize the time domain. We choose `time_nfe` to be one less than the length of `m.fs.time` so that Pyomo doesn't create any additional time points. After the time discretization equations are created, they are then scaled." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "time_nfe = len(m.fs.time) - 1\n", + "pyo.TransformationFactory(\"dae.finite_difference\").apply_to(\n", + " m.fs, nfe=time_nfe, wrt=m.fs.time, scheme=\"BACKWARD\"\n", + ")\n", + "iscale.scale_time_discretization_equations(m, m.fs.time, 1 / (60 * 5))" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Load and fix the right initial condition. The `.json.gz` file is generated beforehand by a steady-state optimization. In this case, all these files are pregenerated and committed to the examples repo.\n", + "\n", + "Since we are loading an initial condition from a file, we don't need to solve a steady state problem at `t=0`. Therefore, we need to fix variables corresponding to the differential variables of the system and deactivate certain equations that become degenerate." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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eOmllwAoLi6mefPm3H777TzwwAN+ji6w2Gw2li1bxpgxY/wdSsA6efIkCQkJpKSkcOmll/o7nIBUv3595s+fz9SpU/0dSsDIzMyke/fuLFy4kMcff5xu3brx/PPP+zusgDBnzhw+/PBDtm/f7u9QAtIDDzzAV199xYYNG2r8tTTCVA35+fls3bqVIUOGONqCgoIYMmQImzZt8mNkYlXp6elASUFoqbyioiLeeecdsrKy6Nu3r7/DCSjTp09nxIgRTv8WSuX9+OOPNG3alAsuuIBJkyaRlpbm75ACxscff0zPnj2ZMGECCQkJXHLJJfztb3+rkddSwlQNp06doqioiMTERKf2xMREjh075qeoxKqKi4u566676NevH506dfJ3OAFjx44dxMTEEB4ezm233cayZcvo0KGDv8MKGO+88w7btm1j7ty5/g4lICUlJbF48WI+/fRTXn75ZQ4cOMCAAQM4e/asv0MLCPv37+fll1+mbdu2rF69mmnTpnHHHXfw5ptvev21Qrx+RhHxi+nTp7Nz507Nf6ii9u3bs337dtLT03n//fdJTk4mJSVFSVMlHD58mDvvvJM1a9YQERHh73AC0pVXXul43KVLF5KSkmjZsiVLly7VZeFKKC4upmfPnjz55JMAXHLJJezcuZNXXnmF5ORkr76WRpiqoWHDhgQHB3P8+HGn9uPHj9O4cWM/RSVWNGPGDJYvX866deto1qyZv8MJKGFhYbRp04YePXowd+5cunbtygsvvODvsALC1q1bOXHiBN27dyckJISQkBBSUlL461//SkhICEVFRf4OMeDEx8fTrl079u3b5+9QAkKTJk1c/ri5+OKLa+SyphKmaggLC6NHjx6sXbvW0VZcXMzatWs1B0J8wjAMZsyYwbJly/jiiy9o3bq1v0MKeMXFxeTl5fk7jIBw+eWXs2PHDrZv3+7YevbsyaRJk9i+fTvBwcH+DjHgZGZm8tNPP9GkSRN/hxIQ+vXr57KUyg8//EDLli29/lq6JFdNM2fOJDk5mZ49e9K7d2+ef/55srKymDJlir9DCwiZmZlOf0kdOHCA7du3U79+fVq0aOHHyALD9OnTWbJkCR999BH16tVzzJ2Li4sjMjLSz9HVfrNmzeLKK6+kRYsWnD17liVLlrB+/XpWr17t79ACQr169Vzmy0VHR9OgQQPNo6uke+65h1GjRtGyZUuOHj3K7NmzCQ4O5rrrrvN3aAHh7rvv5ne/+x1PPvkkEydOJDU1lddee43XXnvN+y9mSLW9+OKLRosWLYywsDCjd+/exubNm/0dUsBYt26dAbhsycnJ/g4tIJT12QHGokWL/B1aQLjpppuMli1bGmFhYUajRo2Myy+/3Pjss8/8HVZAGzhwoHHnnXf6O4yAce211xpNmjQxwsLCjPPPP9+49tprjX379vk7rIDyySefGJ06dTLCw8ONiy66yHjttddq5HW0DpOIiIiIG5rDJCIiIuKGEiYRERERN5QwiYiIiLihhElERETEDSVMIiIiIm4oYRIRERFxQwmTiIiIiBtKmERERETcUMIkIgFh0KBB2Gw2f4dRaYZh0KNHD4YNG+bU7u338fnnn2Oz2Vi5cqXXzikirlRLTkR8rqoJQyAWJHjrrbfYtm0bmzZtqtHXGTJkCP379+e+++5j+PDhKngrUkOUMImIz82ePdul7fnnnyc9Pb3MfWAmINnZ2TUdmlcUFxczZ84cBgwYQJ8+fWr89e677z6uvvpq3nnnHSZNmlTjrydiRaolJyK1QqtWrTh06FBAjiada8WKFYwcOZK//e1v3HzzzU77Bg0aREpKilffZ0FBAU2bNuWiiy5iw4YNXjuviJTQHCYRCQhlzf1ZvHgxNpuNxYsX88knn5CUlERUVBTnn38+Dz/8MMXFxQC8+eabdO3alcjISFq0aMH8+fPLfA3DMHjjjTfo168fsbGxREVF0bNnT954440qxbpo0SJsNhvjxo0r95iCggLmzJlDq1atCA8Pp127dixcuNDluDlz5mCz2Vi/fj2LFy+me/fuREVFMWjQIMcxoaGhjBkzho0bN7Jv374qxSoilaNLciIS8JYtW8Znn33GmDFj6NevHytWrODxxx/HMAzi4uJ4/PHHGT16NIMGDeLf//439913H4mJidx4442OcxiGwaRJk/jXv/5F27Ztuf766wkLC2PNmjVMnTqV3bt388wzz7iNxTAM1q1bR/v27TnvvPPKPe66664jNTWVK6+8kuDgYJYuXcr06dMJDQ3llltucTl+/vz5rFu3jtGjRzNs2DCXuUp9+/bl9ddf54svvqBNmzZV+PREpFIMEZFaoGXLlkZF/yQNHDjQZf+iRYsMwAgNDTVSU1Md7RkZGUZCQoIRFRVlNG7c2Pjpp58c+9LS0oywsDCjc+fOTud67bXXDMCYMmWKkZ+f72jPy8szRo0aZQDGli1b3L6PXbt2GYAxadKkCt9HUlKSkZ6e7mjfs2ePERISYrRv397p+NmzZxuAER0dbfz3v/8t93W/++47AzBuvPFGtzGKSNXpkpyIBLw//OEP9OrVy/G8Xr16jBw5kuzsbKZNm8YFF1zg2Ne8eXP69+/P7t27KSwsdLS/9NJLREdHs2DBAkJDQx3tYWFhPPHEEwD861//chvLzz//DEBiYmKFx82dO5fY2FjH8/bt29OvXz/27t3L2bNnXY6/9dZb6dy5c7nns7+e/fVFxLt0SU5EAl63bt1c2po0aVLhvqKiIo4fP875559PdnY2O3bsoGnTpjz99NMuxxcUFACwZ88et7H88ssvAMTHx1d4XI8ePVzamjVrBsCZM2eoV6+e077evXtXeL769esDcOrUKbcxikjVKWESkYBXeqTGLiQkxO0+eyL066+/YhgGR44c4dFHHy33dbKystzGEhkZCUBubq7HMRcVFbnsczdilZOTA0BUVJTbGEWk6pQwiYjl2ZOXHj16sGXLlmqdq1GjRgCcPn262nGV5m6xT/vr2V9fRLxLc5hExPLq1avHxRdfzPfff8+ZM2eqda6OHTsSFBTE3r17vRNcJdlfr6J5TiLiOSVMIiLAHXfcQXZ2NrfcckuZl94OHDjAwYMH3Z4nPj6eLl26sGXLFsc6UL7wzTffADBw4ECfvaaIlShhEhEB/vjHP5KcnMz7779P27ZtufHGG3nggQeYMmUKffv25cILL2Tz5s2VOtfYsWM5e/ZspY/3hjVr1nDeeedx6aWX+uw1RaxECZOICDhWDH/33Xfp2LEjy5cv59lnn2XNmjVERETwzDPPMGTIkEqd6+abbyYkJIR//OMfNRy16eDBg3z11VckJycTERHhk9cUsRrVkhMRqQE33HADK1as4NChQy5LBHjbQw89xLx58/j++++58MILa/S1RKxKI0wiIjXg8ccfJycnhxdffLFGX+fXX3/lxRdfZNq0aUqWRGqQlhUQEakBLVu25M033+T48eM1+joHDhzg7rvv5vbbb6/R1xGxOl2SExEREXFDl+RERERE3FDCJCIiIuKGEiYRERERN5QwiYiIiLihhElERETEDSVMIiIiIm4oYRIRERFxQwmTiIiIiBtKmERERETc+P/PRslFxSTv3AAAAABJRU5ErkJggg==", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "if operating_scenario == OperatingScenario.maximum_production:\n", + " ms.from_json(m, fname=\"max_production.json.gz\", wts=ms.StoreSpec.value())\n", + "elif operating_scenario == OperatingScenario.power_mode:\n", + " ms.from_json(m, fname=\"power_mode.json.gz\", wts=ms.StoreSpec.value())\n", + "\n", + "m.fs.fix_initial_conditions()" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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uAq9evXixhtv5O9//zsATqeTmJgY/vjHPzJjxowGLp130Wg0fPbZZ9xxxx0NXRSvdeHCBcLCwtiyZQu33nprQxfHawUHB7Nw4UImTZrU0EXxGvn5+XTr1o033niDefPmccMNN1Q7h52oMHv2bFavXs3evXsbuihea8aMGXz33Xds3br1mp5HWpKuUGlpKbt372bgwIGufVqtloEDB7J9+/YGLJlorHJzcwH1S15cOYfDwQcffEBBQQGJiYkNXRyv8sgjj3D77be7/T0UNXP8+HGioqKIi4tj/PjxnD17tqGL5FW++OILevTowe9//3vCwsLo2rUr//znP+v8PBIkXaHMzEwcDgfh4eFu+8PDw0lLS2ugUonGyul08vjjj9O7d286derU0MXxKgcOHMDf3x+TycSDDz7IZ599RocOHRq6WF7jgw8+YM+ePSxYsKChi+J1evXqxfLly1m3bh1vvvkmp06d4pZbbsFqtTZ00bzGyZMnefPNN2nTpg3r16/noYce4tFHH2XFihV1eh6vW5ZECFHhkUce4eeff5bxDFehXbt27N27l9zcXD755BMmTJjAli1bJFCqgeTkZB577DE2bNiAj49PQxfH6wwbNsz1vHPnzvTq1YvY2Fg++ugj6e6tIafTSY8ePXjxxRcB6Nq1Kz///DNLly5lwoQJdXYeaUm6QiEhIeh0OtLT0932p6enExER0UClEo3RtGnT+PLLL9m0aRPNmjVr6OJ4HaPRSOvWrenevTsLFiygS5cu/O1vf2voYnmF3bt3k5GRQbdu3dDr9ej1erZs2cLixYvR6/U4HI6GLqJXCQoKom3btiQlJTV0UbxGZGRklR807du3r/NuSwmSrpDRaKR79+588803rn1Op5NvvvlGxjOIeqEoCtOmTeOzzz5j48aNtGzZsqGL9KvgdDopKSlp6GJ4hQEDBnDgwAH27t3r2nr06MH48ePZu3cvOp2uoYvoVfLz8zlx4gSRkZENXRSv0bt37ypTnxw7dozY2Ng6PY90t12FJ598kgkTJtCjRw969uzJokWLKCgoYOLEiQ1dNK+Qn5/v9ovp1KlT7N27l+DgYJo3b96AJfMOjzzyCO+//z6ff/45FovFNRYuMDAQX1/fBi6dd5g5cybDhg2jefPmWK1W3n//fTZv3sz69esbumhewWKxVBkDZzabadq0qYyNq4Hp06czYsQIYmNjOX/+PLNmzUKn0zFu3LiGLprXeOKJJ7j55pt58cUXGTNmDDt27OCtt97irbfeqtsTKeKqLFmyRGnevLliNBqVnj17Kj/88ENDF8lrbNq0SQGqbBMmTGjoonkFT9cOUJYtW9bQRfMa999/vxIbG6sYjUYlNDRUGTBggPK///2voYvl1fr27as89thjDV0Mr3DXXXcpkZGRitFoVKKjo5W77rpLSUpKauhieZ01a9YonTp1UkwmkxIfH6+89dZbdX4OmSdJCCGEEMIDGZMkhBBCCOGBBElCCCGEEB5IkCSEEEII4YEESUIIIYQQHkiQJIQQQgjhgQRJQgghhBAeSJAkhBBCCOGBBElCCCGEEB5IkCSEuG7169cPjUbT0MWoMUVR6N69O4MHD3bbX9ef4+uvv0aj0fDf//63zo4phKhK1m4TQtSLKw0SvHExgHfeeYc9e/awffv2a3qegQMH0qdPH5555hmGDBkiC8oKcY1IkCSEqBezZs2qsm/RokXk5uZ6TAM16CgsLLzWRasTTqeT2bNnc8stt3DTTTdd8/M988wz/Pa3v+WDDz5g/Pjx1/x8QjRGsnabEKLBtGjRgjNnznhlq9EvrV27lt/85jf885//5IEHHnBL69evH1u2bKnTz2mz2YiKiiI+Pp6tW7fW2XGFEBVkTJIQ4rrlaSzP8uXL0Wg0LF++nDVr1tCrVy/8/PyIjo7mueeew+l0ArBixQq6dOmCr68vzZs3Z+HChR7PoSgKb7/9Nr179yYgIAA/Pz969OjB22+/fUVlXbZsGRqNhtGjR1ebx2azMXv2bFq0aIHJZKJt27a88cYbVfLNnj0bjUbD5s2bWb58Od26dcPPz49+/fq58hgMBu644w62bdtGUlLSFZVVCFEz0t0mhPBKn332Gf/73/+444476N27N2vXrmXevHkoikJgYCDz5s1j5MiR9OvXj08//ZRnnnmG8PBw7r33XtcxFEVh/PjxrFq1ijZt2vCHP/wBo9HIhg0bmDRpEocOHeKVV165bFkURWHTpk20a9eOJk2aVJtv3Lhx7Nixg2HDhqHT6fjoo4945JFHMBgMTJ48uUr+hQsXsmnTJkaOHMngwYOrjD1KTEzkX//6Fxs3bqR169ZXcPWEEDWiCCFEA4mNjVUu9Weob9++VdKXLVumAIrBYFB27Njh2p+Xl6eEhYUpfn5+SkREhHLixAlX2tmzZxWj0agkJCS4Heutt95SAGXixIlKaWmpa39JSYkyYsQIBVB27dp12c9x8OBBBVDGjx9/yc/Rq1cvJTc317X/yJEjil6vV9q1a+eWf9asWQqgmM1mZf/+/dWed9++fQqg3HvvvZctoxDiykl3mxDCK919993ceOONrtcWi4Xf/OY3FBYW8tBDDxEXF+dKi4mJoU+fPhw6dAi73e7a//e//x2z2czrr7+OwWBw7TcajcyfPx+AVatWXbYsKSkpAISHh18y34IFCwgICHC9bteuHb179+bo0aNYrdYq+adMmUJCQkK1xys/X/n5hRB1S7rbhBBe6YYbbqiyLzIy8pJpDoeD9PR0oqOjKSws5MCBA0RFRfHSSy9VyW+z2QA4cuTIZcty8eJFAIKCgi6Zr3v37lX2NWvWDICcnBwsFotbWs+ePS95vODgYAAyMzMvW0YhxJWTIEkI4ZUqt8iU0+v1l00rD36ys7NRFIVz584xZ86cas9TUFBw2bL4+voCUFxcfNVldjgcVdIu1zJVVFQEgJ+f32XLKIS4chIkCSEapfKApXv37uzatatWxwoNDQUgKyur1uWq7HITcJafr/z8Qoi6JWOShBCNksVioX379hw+fJicnJxaHatjx45otVqOHj1aN4WrofLzXWrckhDi6kmQJIRotB599FEKCwuZPHmyx261U6dOcfr06cseJygoiM6dO7Nr1y7XPE314ccffwSgb9++9XZOIRoTCZKEEI3W1KlTmTBhAp988glt2rTh3nvvZcaMGUycOJHExERatWrFDz/8UKNjjRo1CqvVWuP8dWHDhg00adKEW2+9td7OKURjIkGSEKLRKp+5+8MPP6Rjx458+eWXvPrqq2zYsAEfHx9eeeUVBg4cWKNjPfDAA+j1et57771rXGrV6dOn+e6775gwYQI+Pj71ck4hGhtZu00IIerIPffcw9q1azlz5kyV2/nr2p///GdefvllDh8+TKtWra7puYRorKQlSQgh6si8efMoKipiyZIl1/Q82dnZLFmyhIceekgCJCGuIZkCQAgh6khsbCwrVqwgPT39mp7n1KlTPPHEE/zxj3+8pucRorGT7jYhhBBCCA+ku00IIYQQwgMJkoQQQgghPJAgSQghhBDCAwmShBBCCCE8kCBJCCGEEMIDCZKEEEIIITyQIEkIIYQQwgMJkoQQQgghPJAgSQghhBDCg/8HrOPgRUJ4aeAAAAAASUVORK5CYII=", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that we have loaded an initial condition, we can view it in the flowsheet. The `write_pfd` function iterates through a template `.svg` file and adds numbers to it by comparing the object name in the `.svg` to tags in the flowsheet." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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nUu9evXo0aMHKSkplrZ66NAhxo4di6+vL3Xr1qVFixZcvXqVffv2WW4P79y5E29vb8DcFkaNGsW6deuIj4+nd+/eVu2jVq1aN/3ZldS4ceP47LPPaN++Pffffz/nzp2zjCXcvHkzgwYN4urVq1SvXp2ePXtiNBrZvXs348aN4+eff2bNmjXY2dmVWX1EFVPZUZoQFSkjI0MFBwcrQGk0GhUZGammTZum1q5dqxISEoo9b+LEiQpQ4eHhJXqd8+fPW/5T/euvvyzppelJys3NVVqtVgFq4cKFJT6vpB5++GEFqDZt2lj1xGRkZKi+ffsqQLVv397qnNv5D76gd+b6/9avV1xPkslkUh06dFCAGjNmjEpPT7fk5ebmqpdfflkBqmvXrrdc1xsp6AEbNWpUsWXefPNNy/fw3LlzVnnLly9XNjY2ytPT06rHpOB9AqpmzZoqJibGkpeUlKRq166tANWoUSPVunVrq5/NuXPnlKenpwLU1q1brV6voCcJUAMHDrTqNbp48aKqU6eOAtTrr79udd7hw4eVTqdTDg4OasWKFVZ5MTExqlGjRgpQCxYssMq7vrfu008/LfL7c/HiRfXnn3+q/Px8q3SDwaBGjhypAPV///d/hc67vpeqKGXRk+Tm5qZ27NhRKD82NlZ5e3srjUajPvvsM6u6JyUlqW7duilATZ06tdjXFnc+CZLEPefkyZOqTZs2RXbjN23aVH3++ecqLy/P6pynn35aAapt27Yleo3s7GzLNZcuXWpJv9lthOs/3ArExcVZ0tetW1cm34MC58+fV1qtVmk0GnXo0KFC+ZcuXVIODg4KUNu2bSv0PioySPr1118tP6OibnPk5+eriIgIBagjR47cUl1v5GZBUnJysnJ0dFQODg7q0qVLRZb5v//7PwWojz/+2JJ2fZC0du3aQue8//77lmD++vdTYNy4cUV+SBcESY6Ojio2NrbQeT///LMlOMjKyrKkFwTLs2fPLvI97N69WwGqRYsWVukFgUy3bt2KPO9mDAaDsrW1Vb6+voXyKiJIeuutt4o877XXXlOAeu6554rMv3TpkrKzs1O+vr7KZDIV+/rizia328Q9p27duuzcuZPdu3ezdu1adu3axf79+0lMTOTgwYM888wzrFixgrVr12Jvb1+q11AlWFnjRksANG/evFSve6s2b96MyWSiefPmNG7c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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.write_pfd(fname=\"soc_dynamic_flowsheet.svg\")\n", + "display(\n", + " \"SOC Dynamic Flowsheet\",\n", + " SVG(filename=\"soc_dynamic_flowsheet.svg\"),\n", + ")" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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TicdOnSge/fuJCQksH79etasWcPrr7/OzJkzy7zf8nw2AFu3buWJJ54gIiKCfv36kZubi5+fHwBnzpzhlltu4dy5c9StW5fhw4djs9n4448/mDZtGt999x3/+9//qFOnDgBDhw6lUaNG/Pjjj5jNZu655x71fS18bpdVVlYWd955J+vXr8fX15fOnTtTt25dDh06xIIFC/jhhx9Yu3YtHTt2LPc+pBqoui9lSVJVyMrKEvXq1ROAUBRFDBgwQLz55pti5cqVIikpqdjtZsyYobZFKo1z586pl+t///13dX15brfZbDah0WgEIL744otSb1da17rd5nQ6Re/evQUgJk6cKDIzM93q9vzzzwtADBw40G27RYsWqcc6YsQIYTab1bQ9e/YInU4nNBqNaNWqlXjiiSeEzWZT05ctWyYA4e/v77adEFfamABizpw5bmnr168X3t7eAhCrVq1yS/vkk08EIJo2bSoOHDjglrZhwwbh5+cnDAaDOHHihFtawb78/f3Ftm3bPL5HO3fuFIcOHSqyPi4uTrRv314A4vvvvy+Sfq1z4bXXXhOAeO211zymF5xP/fv397geEO3atROXLl0qsu2qVauEoigiJCSkyO3ZgwcPivr16wtArF+/vtj6Xa28n03BOQiI6dOnC4fDUaTsgvaAd955p8jOzlbXJyUliU6dOglAPPjgg0W2a9iwYbG324p7/4Qo/rN58MEHBSDuuOOOIu0C3333XQGIZs2aCbvdXmRbqfaSQZJ00zh27Jj6B/fqqUOHDuLjjz8u8gfuiSeeEIDo0aNHqfaRl5enlvndd9+p6wt/eZU03XXXXeo2CQkJ6vqrv1wqwrWCpN9++019bwoHMgUcDodo06aNANwChYIgydfX12Mj8zvvvFMAokGDBh4b0Ldt21YARb7AC76IO3bs6LG+BUHbrbfe6lbHyMhIAYjdu3d73G7u3Llqg/7CCt77N954w+N217J69WoBiPvuu69IWlUESRs3bvS4bcH/gR9//NFj+vfffy8Acc899xRbv6uV57MR4so52Lx5c4/BxaZNmwQgTCaTSEhIKJK+e/duAQiNRiMuXLjgllaRQdKRI0eEoigiMjLS7cdCYcOHDxeA+Pnnnz2mS7WTvN0m3TRiYmLYvn07O3fuZOXKlezYsYO9e/eSnJzM/v37efLJJ1myZAkrV67EYDCU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2kSzZs2K5MnLy+POO+9k/fr1jBgxgu+///66KyhJkiRJVUGr1VbIF6t04yh1kNS3b1++++477r77boYMGcKWLVvcBpWzWCyMHDmSdevWMXz4cH788UePXQVIErh+uRU8Sn31/f+S0iSpKhR3DspzU5JuLmUeu+2rr75i3LhxtGjRgk2bNhEUFITVamXkyJGsWrWKoUOHsnz58utqTV5byLHbJEmSJKn2Ke33d6m6AChs7NixvPfeexw9epRhw4aRmprKqFGjWLVqFbfeeivLli27KQIkSZIkSZJubOW6HzZ58mRSU1N5/fXXady4MZmZmdxyyy0sX75cDmorSZIkSdINocxXkgq89tprPP3002RmZjJgwAB++eUXvLy8KrJu0g0sJyeH1q1b07p16yKduJWUJklVobhzUJ6bknRzKfWVpOLGKFIUha1btxIUFOQxraDXbUkqTAjBkSNH1PnSpklSVSjuHJTnpiTdXEodJIWGhsqnOSRJkiRJummUOkg6e/ZsJVZDkiRJkiSpZil3myRJkiRJkqQbWY0LkjZu3MiIESOIjIxEURSWLVvmli6EYObMmURERODt7c3gwYM5efKkmn727FkmTpxIdHQ03t7eNGnShNdeew2r1eqWR1GUItP27dur6jAlSZIkSarhShUk/eMf/7iuJzm2b9/OypUrS5XXbDbTvn17/v3vf3tMnzt3Lh988AELFixgx44d+Pj4cNttt5GXlwfAsWPHcDqd/Oc//+HPP//k3XffZcGCBbz88stFyvrf//7HpUuX1Klz587lPkZJkiRJkm4wohR8fHxEaGiomDVrljh16lRpNhEWi0X88MMPYsiQIUKj0Yh//etfpdquMEAsXbpUXXY6nSI8PFy8/fbb6rr09HRhNBrFN998U2w5c+fOFdHR0epybGysAMS+ffvKXKfCMjIyBCAyMjKuq5ybkdlsFg0bNhQNGzYUZrO51GmSVBWKOwfluSlJN4bSfn+XquH2iRMneOWVV3jzzTd544036NChAz169KBz586EhYURGBhIXl4eqampHD9+nB07drB582YyMzNp1KgR33zzDaNHj77ugC42NpaEhAQGDx6srgsICKB79+5s27aNMWPGeNwuIyPDYxcFd955J3l5eTRv3pwXX3yRO++8s8T9WywWLBaLupyZmVnOI5FMJlOxDwOUlCZJVaG4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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We create a `ComponentMap` to translate between the column names in `soec_flowsheet_operating_conditions.csv` to the variables in the actual flowsheet so we can use them as setpoints." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "alias_dict = ComponentMap()\n", + "alias_dict[m.fs.voltage_controller.mv_ref] = \"potential\"\n", + "alias_dict[m.fs.voltage_controller.setpoint] = \"soc_fuel_outlet_mole_frac_comp_H2\"\n", + "alias_dict[m.fs.soc_module.fuel_outlet_mole_frac_comp_H2] = (\n", + " \"soc_fuel_outlet_mole_frac_comp_H2\"\n", + ")\n", + "alias_dict[m.fs.h2_production_rate_controller.mv_ref] = \"makeup_feed_rate\"\n", + "alias_dict[m.fs.h2_production_rate_controller.setpoint] = \"h2_production_rate\"\n", + "alias_dict[m.fs.h2_production_rate_controller.gain_p] = (\n", + " \"h2_production_rate_controller_gain_p\"\n", + ")\n", + "alias_dict[m.fs.sweep_blower_controller.mv_ref] = \"sweep_feed_rate\"\n", + "alias_dict[m.fs.sweep_blower_controller.setpoint] = \"stack_core_temperature\"\n", + "alias_dict[m.fs.feed_heater_inner_controller.mv_ref] = \"feed_heater_duty\"\n", + "alias_dict[m.fs.feed_heater_outer_controller.mv_ref] = \"feed_heater_outlet_temperature\"\n", + "alias_dict[m.fs.feed_heater_outer_controller.setpoint] = \"fuel_outlet_temperature\"\n", + "alias_dict[m.fs.sweep_heater_inner_controller.mv_ref] = \"sweep_heater_duty\"\n", + "alias_dict[m.fs.sweep_heater_outer_controller.mv_ref] = (\n", + " \"sweep_heater_outlet_temperature\"\n", + ")\n", + "alias_dict[m.fs.sweep_heater_outer_controller.setpoint] = \"sweep_outlet_temperature\"\n", + "alias_dict[m.fs.makeup_mix.makeup_mole_frac_comp_H2] = \"makeup_mole_frac_comp_H2\"\n", + "alias_dict[m.fs.makeup_mix.makeup_mole_frac_comp_H2O] = \"makeup_mole_frac_comp_H2O\"\n", + "alias_dict[m.fs.condenser_flash.vap_outlet.temperature] = (\n", + " \"condenser_hot_outlet_temperature\"\n", + ")\n", + "\n", + "alias_dict[m.fs.sweep_recycle_split.recycle_ratio] = \"sweep_recycle_ratio\"\n", + "\n", + "alias_dict[m.fs.feed_recycle_split.recycle_ratio] = \"fuel_recycle_ratio\"\n", + "alias_dict[m.fs.condenser_split.recycle_ratio] = \"vgr_recycle_ratio\"\n", + "\n", + "df = pd.read_csv(\"soec_flowsheet_operating_conditions.csv\", index_col=0)" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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fftZs2axbt06li1bxq+//sratWvZvn27w2vcf//9bN68ma+++ordu3dz8803M3z4cI4cOVKpYzMajSxcuJDY2FiioqIqtU1NkXGShBBCiNKK82F+RN289r+SwdXrosX0ej1hYWGA7Vb3MWPG0KdPH5566qkKt5s6dSq33norAPPnz+f1118nPj6e4cOH8/bbbxMVFcWbb76Jpmm0bduW5ORkZs+ezZw5c8jPz+ejjz7is88+Y8iQIQAsWrSIyMhI+/4TExNZuHAhiYmJRETY3sNHHnmEFStWsHDhQubPn19u3d5++20effRRjEYjbdq0YdWqVbi6ul70vahJ9e5M0vr16xk1ahQRERFomsbSpUsd8pVSzJkzh/DwcDw8PBg6dKhDdLp27VqnpyA1TWPLli1A+acp//zzz9o8VCGEEOKy3XXXXeTm5vLFF1+g01X8td65c2f7upeXF76+vqSlpQFw4MAB+vTpg6Zp9jJ9+/YlLy+PU6dOcezYMYqKiujdu7c9PyAggDZt2tif79mzB4vFQuvWrfH29rYv69at49ixYxXWbdKkSezYsYN169bRunVrJkyYQGFh4SW9F9Wt3p1JMhqNdOnShbvuuotx48aVyV+wYAGvv/46ixYtIjY2lieffJJhw4axf/9+3N3dueaaazh9+rTDNk8++SSrV6/mqquuckj/7bff6NChg/15YGBgzRyUEEKIhsPgaTujU1evfQnmzZvHypUriY+Px8fH5+K7v2CkeE3TqnU4i7y8PPR6Pdu2bUOv1zvkeXt7V7itn58ffn5+tGrViquvvpomTZqwZMkS+5mvulDvgqQRI0YwYsQIp3lKKV599VWeeOIJRo8eDcCnn35KaGgoS5cuZeLEibi6utpPQQIUFxezbNkyZsyY4RAdgy0oKl1W1B6DwcAjjzxiX69snhC1obw2KG3zCqFplbrkVdcWL17MM888wy+//EKLFi0ue3/t2rVj8eLFKKXs35cbN27Ex8eHyMhIAgICMBgMxMXFER0dDUBmZiaHDx9m4MCBAHTr1g2LxUJaWhr9+/evcl2UUiilMJlMl31cl0XVY4BasmSJ/fmxY8cUoHbs2OFQbsCAAeqf//yn03189913SqfTqZMnT9rTEhISFKCioqJUcHCw6tu3r1q2bNlF61NYWKiys7Pty8mTJxWgsrOzq3R8Qggh6lZB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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "These loops iterate through the flowsheet and fix ramp rate variables or set variables to the appropriate values for the given setpoints." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlcAAAHOCAYAAAC1uiySAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAACqrUlEQVR4nOzdd3gUVdvA4d/sZje9kE4kCb0TuvSmNAEBe0EBRXxBwIIVK4gFRT67YkVQfF8UFRQVaQJK7x2UXlMIpG2SrfP9sdnNbnoPIc99XcOUc2bmTJhkn51z5hxFVVUVIYQQQghRITTVXQAhhBBCiKuJBFdCCCGEEBVIgishhBBCiAokwZUQQgghRAWS4EoIIYQQogJJcCWEEEIIUYEkuBJCCCGEqEASXAkhhBBCVCAJroQQQgghKpAEV+KK8u+//zJ58mRatmyJr68vXl5e1KtXj86dOzN58mR++OGHIvdfvnw5o0aNokGDBvj4+BAQEEDLli2ZPHkyBw4cKHS/tWvXoihKiabCGAwG3nvvPQYPHkxUVBSenp74+fnRrFkz7rnnHpYuXYrNZivxz2Ls2LH5zu3h4UFYWBgDBgxgwYIF5B1goazX4bpfZGQkBoOhwDKdPXu22J+DEMKd43f5q6++cts+ffp0FEVh+vTp1VIuUXk8qrsAQjj8+OOP3H333RiNRkJCQujRowdhYWFcvnyZ3bt38+GHH/K///2PW265Jd++aWlp3H333fz6668AtGrVimHDhmE2m9m+fTsffvghH3/8Mc888wyvvPJKkcHBmDFjSl32FStWcM8995CUlISHhwcdO3akV69eWCwWjh07xsKFC1m4cCGdO3dm69atpTp2o0aN6NmzJwDZ2dns37+fVatWsWrVKpYuXcp3332HVqutkOsASEhIYM6cObz44otl2r8gY8eOZf78+cybN4+xY8dW2HFF8Rz3uox0Jgozffp0ZsyYwUsvvSSBXkVRhbgCxMfHq35+fiqgPv7442pWVla+PNu3b1efeeaZfNuNRqPapUsXFVAbNGig/v33327pNptNXbBggerj46MC6mOPPZbvGH/++acKqGX5lVi2bJmq1WpVQL3//vvVhISEfHlOnTql/uc//1Hr1KlT4uOOGTNGBdQxY8bkS/voo4+c5f3iiy/KfR2O/by9vVVFUVR/f381MTExX74zZ86U6fiOa5k3b16p9hPlV9b7WlScwu7/pKQk9dChQ2pSUlL1FCzHSy+9pALqSy+9VK3luJpItaC4IixbtoyMjAyioqJ466238PLyypenY8eOvP766/m2z5gxgy1bthAUFMSff/5Jjx493NIVReHee+9l0aJFALz99tusWrWqQsqdnJzMPffcg9Vq5eGHH+aLL74gPDw8X76YmBjmzp3LkiVLKuS8EydOpE+fPgB89913FXJMgKioKG699VbS09N55ZVXKuy4Qoj8QkNDad68OaGhodVdFFHBJLgSV4SEhAQAwsLCSrVfeno6H3zwAQAvvPACsbGxheYdNmwYw4cPB+DVV18tY0ndffDBB6SkpBAeHs6bb75ZbP7evXtXyHnBHmwCnDx5ssKOCfafjYeHB3PnzuXEiRPlOtbJkydRFIX58+cDcN9997m1+8pbBZGVlcWcOXPo2rUrQUFBeHl50axZM5566imSk5PzHf+rr75CURTGjh1LamoqU6dOpX79+nh5edGkSRPeeOMNZzu3c+fO8Z///Ifo6Gg8PT1p1qwZ77//foHl7tu3L4qisHbtWtatW8fAgQMJDg7Gx8eHa6+9lq+//rrI6169ejU333wzdevWRa/XEx4ezk033cSmTZsKzO/ajm3evHl069aNwMBAFEVx/v+eOnWKN954g+uuu46YmBg8PT0JCgqiZ8+efPLJJ/na8zna8+Q9h2NyHLe4dj+O9nh9+/YtdHtmZiYvvvgiLVq0wMfHh/r167vl3bFjB6NGjXKWOzg4mEGDBvHbb78V+XMsTHJyMg8//LDzeLGxsTz66KOkpKQU2r7Jdfv+/fu54447qFu3Llqt1nntZrOZb775hlGjRtG8eXMCAgLw9vamWbNmPPzww5w/f77QMl26dIlHH32U2NhYPD09iYmJYfLkyVy6dKnQfYr72f/zzz/85z//oVGjRnh5eREYGEjv3r355ptvCszvet/u3r2bm2++mdDQUDw9PWnZsiVz5szJVz2sKAozZswA7F9UXe8RqcIvO2lzJa4IMTExAOzfv5/Vq1dz/fXXl2i/NWvWkJaWBsC9995bbP7Ro0fz888/s379elJTUwkMDCx7oYGlS5cCcMcdd+Dp6VmuY5WW47or+rxNmjRh/PjxfPzxxzz//PMsXLiwzMfy8/NjzJgx/P333xw7dowePXrQuHFjZ3q7du2cy+fPn2fw4MHs27eP4OBgOnfujL+/Pzt37mT27Nl8//33rF27tsAAOiUlhW7dupGcnEyvXr1IT0/nr7/+4plnnuHs2bM8+uij9OzZE51OR/fu3UlKSmL9+vU8/PDDZGZm8vTTTxdY/p9++okPPviA5s2bM2jQIM6fP8/ff//N6NGj2b17N3PmzMm3zxNPPMGcOXPQaDR06tSJXr16cfr0aZYuXcovv/zCZ599xn333Vfg+aZMmcJHH31E9+7dGTp0KMePH3cGSF9//TUvvPACDRo0oGnTpvTo0YMLFy6wadMmNmzYwIoVK1i8eLEzf7t27RgzZowzsM3bBs/Pz6+I/7mSy87Opm/fvhw8eJDevXvTtm1bt0D43XffZerUqdhsNtq1a0eXLl2Ij49n7dq1rFixghkzZpSqfd+FCxfo1asXx44dIzg4mGHDhmGz2ViwYAHLly+nRYsWRe6/ceNGJkyYQN26denduzdZWVn4+/sD9i959957L4GBgbRo0YK4uDgMBgO7d+/m/fff53//+x8bN250u4cd+/Xq1Yt///2XOnXqOMu0cOFCli9fTqtWrUrxE7X7/vvvGT16NNnZ2TRv3pwhQ4aQmprKli1buPfee1mzZg1ffvllgfv+8ccf/N///R+NGjViwIABXLhwgb///psnnniCM2fO8M477zjzjhkzht27d7Nnzx7atm3r9jvpaOspyqC66yWFUFVVTU9PV6+55hoVUBVFUfv27avOnDlT/fXXXwts++PwwgsvONtalcSpU6ecbVDWrFnj3F6Wtkpms1nVaDQqoC5YsKDE+5VUUW2uDAaDGhMTowLq6NGjndvL2+aqUaNGqqqq6oULF1RfX19VURR1165dznyV1ebKZrOpPXr0UAF13LhxalpamjPNbDarjz/+uAqo/fr1c9tv3rx5zvLceOONqsFgcKbt2LFD9fDwUDUajdqyZUt1woQJqtlsdqYvWbJEBdSAgAC3/VRVVfv06eM87muvveaWtnbtWtXb21sF1OXLl7ulffrppyqgNm7cWN2zZ49b2rp161R/f39Vr9er//zzj1ua41wBAQHqpk2bCvwZbd26Vd23b1++7efOnVPbtm2rAup3332XL724/6/i2ts47o0+ffoUuB1Q4+Li1AsXLuTbd/ny5aqiKGpoaKi6bt06t7S9e/eq9erVUwF17dq1hZYvr5tuukkF1L59+6qpqanO7ZcvX1Z79uzpLFPee81xDwLqM888o1qt1nzHTktLU5cuXaoajUa37SaTSZ02bZoKqEOGDMm336233qoCaq9evdSUlBTn9uTkZGd70ILKVNjPfu/evaqnp6fq5eWl/vDDD25pJ0+eVNu0aaMC6vz5893SXO/buXPnuqWtXr1aVRRF1Wq16pkzZ0pUDlF2ElyJK8bhw4fd/hC5Tu3atVM//vhj1WKxuO0zYcIEFVC7du1aonNkZ2c7j7lo0SLndtcPiqKmESNGOPeJj493bs/7IVsRCgqusrKy1O3bt6v9+/dXAVWr1apbt24t13W47ucIrlRVVZ9//nkVUAcNGuTcVlnB1e+//+78f3YNgBysVqvaunVrFXALMBzBlZ+fX4EvEgwfPlwF1JiYmAJfknB8SOX94Hd8SLVv377A8jqCvQEDBriVMSoqSgXU7du3F7jfm2++6Xxpw5XjZ/ryyy8XuF9x/vjjDxVQb7vttnxpVRFcrV+/vsB9Hb/PixcvLjD9u+++UwH1lltuKbR8rk6ePKkqiqJqNBr10KFD+dL37dunKopSZHDVtGnTfH9HSioqKkrVaDRuwf/p06dVjUajKoqiHjhwIN8+u3btKnVwdccdd6iA+tZbbxVYjq1bt6qA2rFjR7ftjvv25ptvLnC/wYMHF/hlUIKriifVguKK0axZMzZv3szWrVv59ddf2bJlCzt37iQpKYndu3czceJEfvjhB3799Vf0en2ZzqGW4HX0orow6NChQ5nOWx7z5893Vu248vf355NPPqFz584F7lfe63jyySeZO3cuf/zxB3/++Sf9+vUreaFLydGFxi233IKHR/4/SxqNht69e7N//342btxI69at3dI7duxY4IsETZo0AaBfv34FviTRpEkT9u3bV2hbmtGjRxe4fcyYMcyZM4e///4bq9WKVqtl165dnD9/nkaNGjnbw+XlaLe0cePGAtNvvfXWArc7GI1GVqxYwbZt20hMTMRoNKKqKunp6QAcOXKkyP0rQ3h4OL169cq3/eLFi2zduhVvb29uvPHGAvct7ueR119//YWqqnTs2JHmzZvnS2/dujVxcXHs2bOn0GOMHDmywK5LXO3Zs4fVq1dz4sQJDAaDsz2bxWLBZrNx9OhR2rdvD8D69eux2Wx07NiRli1b5jtWu3btiIuLY+/evSW6RpvNxu+//w7YmxsUpFOnTvj5+bFr1y6ys7Pz3duF/bxbtGjB8uXLOXfuXInKIspOgitxxbn22mu59tprAXswtGvXLmbPns3//vc/Vq1axbvvvsuTTz4J4HzLxtEgvjiJiYnO5cIaz+dtCFuYkJAQNBoNNpvN7bgVzbWfK61WS1BQEG3btmX48OEEBQUVul9Jr6MwAQEBPP/88zz66KM8/fTTbNmypVzHK8rx48cB+0sJL7zwQpF5k5KS8m1ztNnLy9GuqLB0R1ub7OzsAtMbNGhQ5PasrCySk5MJDw93XsOxY8eK7WS1oGsA8jUEd7V582buuOMOTp8+XWgeRzu8qlRYmU+cOIGqqmRlZRXbLrCwn0deZ8+eLfKcjrSigqui9jUYDNx777389NNPRZbD9efsKFNh94ojraTBVXJysvP40dHRJcp/zTXXuG0r7H4PCAgACr/fRcWR4Epc0RRFoUOHDvz3v/8lMzOTn3/+mSVLljiDK8cTghMnTpCUlFTs24aODjw1Go3zm2dZeXh4EBcXx+7du9m2bVuJGtSXRc+ePcsdKJXVxIkTeeedd9i2bRuLFy+mW7dulXIex5OBnj170qhRoyLzFtQ4WKMp+sXn4tLLw/E01HENkZGRDBo0qMh9Cnv13tvbu8DtmZmZjBw5koSEBO677z4mTpxI48aNCQgIQKvV8s8//9CsWbNK6Si0uFEFCiuzYz8/P78CO/4tj6KC1+IC28LKCzBt2jR++uknmjdvzqxZs+jcuTOhoaHOJ+Xdu3dn06ZNldohq+vPuyQdARcUuFbm/S5KRoIrUWMMHDiQn3/+mYsXLzq3XXfddfj7+5Oens6CBQt4/PHHizzGggULAOjVq1eRT31KasSIEezevZtFixYxe/bsKn9jsLLp9XpmzpzJvffey3PPPceKFSsq5TyOb+gjRozgiSeeqJRzlEVhXVE4ujHw8vIiJCQEyL2GkJCQCg+G169fT0JCAh06dCjwDbF///23zMd2BA6OqsW8Tp06VabjOn4eiqLw5ZdfVsgHvuMJTVHdj5SnaxJHn3GLFi0iLi4uX3pBP+eKLlNoaCje3t5kZWXx1ltvSR9YNZSEt+KKUJJvgo7qkHr16jm3BQQEMGnSJABeeeWVIj8Ili1bxi+//ALAs88+W57iOk2ZMoXAwEASExMLfZ3f1V9//VUh561Ko0aNom3btvz777989tlnZTqG4wPcYrEUmH7DDTcA9tfPK/OpQGkV1p+QI0jv2bOns42Y4ynHwYMHixzHsiwcfSUVVt1TWDkBdDodUPjP3hEcHDp0qMB0R3u40oqKiiIuLo709HSWL19epmPk1atXLxRFYceOHfzzzz/50g8ePFhklWBxHD/ngrr7+OOPP9y+2Dn07t0bRVHYuXMnhw8fzpe+Z8+eElcJgr3qf8CAAUDFdhBclOJ+P0XpSXAlrggfffQRY8aMKbBhq6qq/Pjjj87OQu+880639OnTp9OpUydSUlLo169fvmOoqso333zjbBw6ZcoUBg4cWCHlDgkJYcGCBWg0Gt59910eeOCBAttfnTt3jsmTJzNy5MgKOW9VUhTF2TO+a/84peEIiAsLOkaMGOEcd/G+++4rsA3O5cuXmTt3bpV+AOzYsSNf57B///03H374IQCPPfaYc7tOp+Oll15CVVVuuukm/v7773zHs1qtrFmzhs2bN5eqHI6+m1avXs3Bgwfd0j799FPn6AMFKe5nf91116HRaPjjjz9Yt26dc7uqqrz33nvFDpZeFEcv//fdd5/zi40rVVXZsmVLiZ+I1q9fnxtvvBGbzcbEiRPdnralpqYyceLEcgXnjp9z3s5ljxw5woQJEwrcJyYmhptuuslZJtf2WJcvX+ahhx4qdZleeukl9Ho9Tz75JPPnzy+wanb//v38+OOPpTpuYYq7R0TpSbWguCKYzWYWLFjAggULCAsLo3379oSGhpKSksLBgwedj9Xvuecexo0b57avp6cnq1at4s4772T58uX06NGDNm3a0KJFC8xmM9u2bePs2bNoNBqeeuopZs2aVWRZiuuV+OWXX3Z7gjB8+HCWLVvG6NGj+eKLL5g/fz6dOnUiNjbWOXDznj17UFWVrl27lunnUxalvY6i3HDDDfTt25e1a9eWqSwjR45kxowZvPfee+zfv5/o6Gg0Gg3Dhw9n+PDhaDQalixZwtChQ5k/fz6LFy+mbdu2xMTEYDKZOH78OPv27cNqtTJ27NgC3yisDA8//DDTpk1jwYIFxMXFcf78ef766y9sNhuPPPIIQ4YMccs/efJkTp8+zezZs+nVqxetWrWicePGeHt7Ex8fz+7du0lJSeHjjz8u1b3Qvn17RowYwdKlS2nfvj19+/YlODiY3bt3c+TIEZ599tlCRx245ZZbeOutt+jfv7+zGh3gjTfeICQkhOjoaKZMmcK7777L9ddfT69evQgODmbPnj2cPn2aZ555ptjfmcLceOONvPvuuzz++OMMHz6cxo0b06xZMwIDA0lKSmLPnj3Op74l/cLz8ccfs3fvXtasWUODBg3o06cPqqqybt06QkJCGD58OD///HOZ3ih+6aWXuPXWW3nhhRf47rvvaNWqFYmJifz111/06tWLqKioAr8Afvjhh+zZs4e1a9fSoEED+vbti6qq/Pnnn25lKqkOHTrwzTffMHbsWMaOHcvzzz9Py5YtCQsL49KlS+zbt4+zZ89yxx13cPPNN5f6OvMaNGgQvr6+LFmyhJ49e9KkSRO0Wi09evQotMNbUYyq7flBiIKlpaWpS5YsUadMmaJee+21ar169VSdTqd6e3urjRo1Uu+66y71999/L/Y4v/76q3rnnXeqMTExqpeXl+rn56c2a9ZMnThxorp3795C9ytp/1CAW6eartLT09W3335bHTBggBoZGanq9XrVx8dHbdq0qXrPPfeoy5YtU202W4l/JkV1IlrR11FQP1d5bdmyxW3/0vrpp5/UHj16qP7+/s6+iPL2q5Odna3OnTtX7devnxoSEqJ6eHio4eHhart27dRJkyapf/zxh1t+Rz9Xhf2Miuu/p7D+txz9Bf3555/q6tWr1euvv14NDAxUvb291U6dOqlfffVVkde6YcMGddSoUWpsbKzq6emp+vv7q02bNlVHjhypfv755+qlS5fc8pfkZ2oymdTZs2erbdq0UX18fNTg4GB14MCB6ooVK9QTJ06ogBobG5tvv6ysLPWpp55SGzdurOr1eue5Tpw44cxjs9nUOXPmqC1atFD1er0aHBys3njjjeqOHTuK7ecq7/aC7Nu3T33wwQfVJk2aqF5eXqqPj4/asGFDddCgQep7772nnjt3rthjuEpMTFQnTZqk1qtXT9Xr9Wp0dLQ6adIkNTk5Wb3uuutUIN+9UtLBw9evX69ef/31amhoqOrj46O2bt1affXVV1Wj0eh2X+R18eJFdcqUKc4y1atXT50wYYKalJRU6LmLuz9PnDihPvbYY2rr1q1VX19f1cvLS42NjVX79u2rzpo1Sz169Khb/qLKV9z51q9fr/bv31+tU6eOs3Pk0vztEe4UVb2CGjgIIcQVoG/fvqxbt44///wz35h6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8/Nj3bp1WCwWJk2axB133MHatWsB+O6775g+fToffvghPXv25Ouvv+a9996jYcOGznMsXLiQF198kQ8++ID27duza9cuxo8fj6+vL2PGjKnoH0Glk+BKCCGEqGJZZistX/yjWs598OVB+OhL/vEfFxfHSy+9BECTJk344IMPWL16NQMGDGD16tXs27ePEydOEB0dDcCCBQto1aoV27Zto3PnzrzzzjuMGzeOcePGAfDKK6+watUqsl1GinjppZeYM2cON998MwANGjTg4MGDfPLJJzUyuJI2V6LGsFgs/Prrr/z6669YLJYSpwlRFeT+FFeruLg4t/W6des6h4k5dOgQ0dHRzsAKoGXLlgQFBXHo0CFnni5durgdo1u3bs5lg8HAsWPHGDduHH5+fs7plVde4dixY5V1WZVKnlyJGsNoNDJs2DDAPoSI6/hsRaUJURXk/hSl4a3TcvDlQdV27tLQ6XRu64qiYLPZKqw8GRkZAHz22Wf5grDy9JJeneQ3XAghhKhiiqKUqmruStWiRQvOnDnDmTNnnE+vDh48SEpKCi1btnTm2bJlC6NHj3but3nzZudyREQEUVFRHD9+nFGjRlXtBVSSmv8/K4QQQohq0b9/f9q0acOoUaN45513sFgsPPTQQ/Tp04dOnToB8MgjjzB27Fg6depEjx49WLhwIQcOHHBr0D5jxgwefvhhAgMDGTx4MEajke3bt3P58mWmTp1a4LkzMjI4evSoc/3EiRPs3r2b4OBgYmJiKvfCiyFtroQQQghRJoqisHTpUurUqUPv3r3p378/DRs2ZNGiRc48d9xxBy+88AJPPfUUHTt25NSpU0ycONHtOA888ACff/458+bNo02bNvTp04evvvqKBg0aFHru7du30759e9q3bw/A1KlTad++PS+++GLlXGwpKKqqqtVdiNokLS2NwMBAUlNTCQgIqO7i1CgGgwE/Pz/A/o3F19e3RGlCVAW5P0VhsrOzOXHiBA0aNMDLy6u6iyOKUNT/VWk+v+XJlRBCCCFEBao1wVX9+vVRFMVtmjVrlluevXv30qtXL7y8vIiOjubNN9/Md5zvv/+e5s2b4+XlRZs2bfjtt9+q6hKEEEIIUQPUqgbtL7/8MuPHj3eu+/v7O5fT0tIYOHAg/fv3Z+7cuezbt4/777+foKAgHnzwQQA2btzIXXfdxeuvv86w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Oztbrt7gwYPlJof08vLClStXkJqaiqeeeuqeY0xJScGqVavu+fNERETU3rp167B582ZkZWXB1dUVxcXFmD9/PszNzREdHa3W2DS65+qVV15BWVlZl6+/zroNADt37sSgQYMUSpi8vb1x4cIFcdna2ho1NTVydWpqajodowUAr7/+Oq5fvy6+qqqqurmXRERE6uHv74/o6GjExcVh4MCBsLa2RlJSklydyspKBAUFwcTEBGZmZpg9e3a735Vr166FlZUVTE1NER4ejqampnZt7dixA87OzjAwMICTkxM2bdrUZWzff/89goKCMH36dAwfPhzPPvsspkyZguPHj/d4v3tKo3uuhgwZ0q3ZrwVBwM6dOzF37lzo6uretX5JSQlsbGzEZR8fH+Tl5SEmJkZcl5ubCx8fn063oa+vD319fYVjJCKi+58gCBBu3lRL2xJDw27dVJGVlYXY2FgUFRWhsLAQ8+bNg6+vLyZPngyZTCYmVgUFBWhpaUFUVBRCQkJw9OhRAEB2djaSkpKwceNGTJw4ER988AE2bNgg1/mxe/duJCQkICMjA+PGjcPp06exYMECGBsbIywsrMO4JkyYgG3btuGnn37CyJEj8cMPP+Dbb7/FO++806PjowwanVx111dffYWKigpERES0K8vKyoKenh7GjRsHAPjvf/+L999/Hzt27BDrLF26FH5+fli/fj2mT5+OvXv3ori4GNu2bVPZPhARkeYTbt7Ejw973L1iLxh16iQkRkYK13d3d0diYiIAwNHRERkZGcjLy8PkyZORl5eHM2fOoKKiAnZ2dgCAXbt2wdXVFSdOnICXlxfS0tIQHh6O8PBwAEBycjKOHDki13uVmJiI9evX45lnngEAODg4oLS0FFu3bu00uYqPj0d9fT2cnJygra2N1tZWrF69GqGhofd0XJSpXyVX7733HiZMmCA3Buuv3nzzTVy+fBk6OjpwcnLCvn378Oyzz4rlEyZMwJ49e7BixQr861//gqOjIw4cOIDRo0eraheIiIhUyt3dXW7ZxsYGtbW1AO6Ma7azsxMTKwBwcXGBhYUFysrK4OXlhbKyMixcuFBuGz4+PsjPzwcASKVSlJeXIzw8HAsWLBDrtLS0wNzcvNO4srOzsXv3buzZsweurq4oKSlBTEwMbG1tO03IVKVfJVd79uzptCwsLEyhL2PWrFmYNWuWMsMiBeno6IjfUUfTi3RWRqQKPD+pOySGhhh16qTa2u6Ovw+jkUgkkMlkSounoaEBALB9+3Z4e3vLlWlra3f6ueXLlyM+Ph7PPfccAMDNzQ2XL19GSkoKkysiRenr6yMzM7PbZUSqwPOTukMikXTr0lxf5ezsjKqqKlRVVYm9V6Wlpairq4OLi4tYp6ioCHPnzhU/d+zYMfG9lZUVbG1tcfHixW5d0mtsbISWlvx9edra2kpN/O4VkysiIiK6JwEBAXBzc0NoaCjS0tLQ0tKCRYsWwc/PT5xebunSpZg3bx48PT3h6+uL3bt349y5c3ID2letWoXo6GiYm5tj6tSpaG5uRnFxMa5duyb3mKS/mjFjBlavXo1hw4bB1dUVp0+fxjvvvIMXX3xRJfveFSZXpDEEQRCfbm1kZNRuepHOyohUgecn9UcSiUScTm7SpEnQ0tLC1KlTkZ6eLtYJCQlBeXk54uLi0NTUhJkzZyIyMhKHDx8W60RERMDIyAipqalYvnw5jI2N4ebmJnd3/t+lp6dj5cqVWLRoEWpra2Fra4uXX34ZCQkJvbnLCpEIfeFRpv1Id2bVJnlSqRQmJiYA7lyjNzY2VqiMSBV4flJnmpqaUFFRAQcHBxgYGKg7HOpCV99Vd35/a/RDRImIiIj6GiZXRERERErE5IqIiIhIiZhcERERESkRkysiIiIiJWJyRURERKREfM4VaQxtbW1xrse/T4nQVRmRKvD8JKI2fM6VivE5V0RE/Qufc6U5+JwrIiIioj6IyRURERGpVFJSEsaOHavuMHoNkyvSGFKp9M5M8hIJpFKpwmVEqsDzk0i1vv76a8yYMQO2traQSCQ4cOBAuzqCICAhIQE2NjYwNDREQEAAfv75516PjckVERERaRypVIoxY8Zg48aNndZ56623sGHDBmzZsgVFRUUwNjZGYGAgmpqaejU2JldERETUIX9/f0RHRyMuLg4DBw6EtbU1kpKS5OpUVlYiKCgIJiYmMDMzw+zZs1FTUyNXZ+3atbCysoKpqSnCw8M7TG527NgBZ2dnGBgYwMnJCZs2beoytmnTpiE5ORlPP/10h+WCICAtLQ0rVqxAUFAQ3N3dsWvXLly5cqXDXi5lYnJFRESkYoIg4HZzq1pe3X1IQFZWFoyNjVFUVIS33noLb7zxBnJzcwEAMpkMQUFB+PPPP1FQUIDc3FxcvHgRISEh4uezs7ORlJSENWvWoLi4GDY2Nu0Sp927dyMhIQGrV69GWVkZ1qxZg5UrVyIrK+uej3FFRQWqq6sREBAgrjM3N4e3tzcKCwvvebuK4HOuiIiIVKzllgzblhaope2X3vWDrr7iz1tzd3dHYmIiAMDR0REZGRnIy8vD5MmTkZeXhzNnzqCiogJ2dnYAgF27dsHV1RUnTpyAl5cX0tLSEB4ejvDwcABAcnIyjhw5Itd7lZiYiPXr1+OZZ54BADg4OKC0tBRbt25FWFjYPe1ndXU1AMDKykpuvZWVlVjWW9hzRURERJ1yd3eXW7axsUFtbS0AoKysDHZ2dmJiBQAuLi6wsLBAWVmZWMfb21tuGz4+PuJ7qVSK8vJyhIeHw8TERHwlJyejvLy8t3arV7HnioiISMV09LTw0rt+amu7O3R1deWWJRIJZDKZ0uJpaGgAAGzfvr1dEtaTGQ2sra0BADU1NbCxsRHX19TU9PpjIJhckcbQ1tbGE088Ib5XtIxIFXh+UndIJJJuXZrrq5ydnVFVVYWqqiqx96q0tBR1dXVwcXER6xQVFWHu3Lni544dOya+t7Kygq2tLS5evIjQ0FClxebg4ABra2vk5eWJyVR9fT2KiooQGRmptHY6wuSKNIaBgQFycnK6XUakCjw/qT8KCAiAm5sbQkNDkZaWhpaWFixatAh+fn7w9PQEACxduhTz5s2Dp6cnfH19sXv3bpw7dw4jRowQt7Nq1SpER0fD3NwcU6dORXNzM4qLi3Ht2jXExsZ22HZDQwMuXLggLldUVKCkpAQDBw7EsGHDIJFIEBMTg+TkZDg6OsLBwQErV66Era0tgoODe/W4MLkiIiKieyKRSHDw4EEsWbIEkyZNgpaWFqZOnYr09HSxTkhICMrLyxEXF4empibMnDkTkZGROHz4sFgnIiICRkZGSE1NxfLly2FsbAw3NzfExMR02nZxcTEee+wxcbktCQsLC0NmZiYAIC4uDlKpFC+99BLq6uowceJEHDp0qNfneOTEzSrGiZuJiPoXTtysOThxM/U7UqkUxsbGMDY27nB6kc7KiFSB5ycRteFlQdIojY2N91RGpAo8P4kIYM8VERERkVIxuSIiIiJSIiZXRERERErE5IqIiEgFeHN+36es74jJFRERUS9qmz6GNzX0fW3f0d+n/Oku3i1IGkNLSwt+fn7ie0XLiFSB5yd1RltbGxYWFuJkx0ZGRpBIJGqOiv5KEAQ0NjaitrYWFhYWPZ6mig8RVTE+RJSIqP8RBAHV1dWoq6tTdyjUBQsLC1hbW3eY/Hbn9zd7roiIiHqZRCKBjY0NLC0tcfv2bXWHQx3Q1dVV2sTq90VytXr1auTk5KCkpAR6enod/mVQWVmJyMhI5Ofnw8TEBGFhYUhJSYGOzv8fgqNHjyI2Nhbnzp2DnZ0dVqxYgXnz5sltZ+PGjUhNTUV1dTXGjBmD9PR0jB8/vpf3kIiI7gfa2tpK+wVOfdd9cfH/1q1bmDVrFiIjIzssb21txfTp03Hr1i18//33yMrKQmZmJhISEsQ6FRUVmD59Oh577DGUlJQgJiYGERERchNL7tu3D7GxsUhMTMSpU6cwZswYBAYGitfRqXdJpVIMGTIEQ4YM6XB6kc7KiFSB5ycRtbmvxlxlZmYiJiamXc/VF198gSeffBJXrlyBlZUVAGDLli147bXX8Ntvv0FPTw+vvfYacnJycPbsWfFzzz33HOrq6nDo0CEAgLe3N7y8vJCRkQEAkMlksLOzw5IlSxAfH69QjBxzde+kUilMTEwAAA0NDTA2NlaojEgVeH4S3d84cfPfFBYWws3NTUysACAwMBD19fU4d+6cWCcgIEDuc4GBgSgsLARwp3fs5MmTcnW0tLQQEBAg1iEiIiK6L8Zc3U11dbVcYgVAXK6uru6yTn19PW7evIlr166htbW1wzrnz5/vtO3m5mY0NzeLy9evXwdwJwOm7vnr5ZT6+nq0trYqVEakCjw/ie5vbb+3Fbng12eTq/j4eKxbt67LOmVlZXByclJRRPcmJSUFq1atarfezs5ODdHcP2xtbe+pjEgVeH4S3b9u3LgBc3PzLuv02eTqlVdeaXen3t+NGDFCoW1ZW1vj+PHjcutqamrEsrZ/29b9tY6ZmRkMDQ3FOzw6qtO2jY68/vrriI2NFZfr6upgb2+PysrKu3451F59fT3s7OxQVVXFMWv3iMewZ3j8eo7HsGd4/HruXo6hIAi4ceOGQn8g9dnkqu3OGmXw8fHB6tWrUVtbC0tLSwBAbm4uzMzM4OLiItb5/PPP5T6Xm5sLHx8fAICenh48PDyQl5eH4OBgAHcGtOfl5WHx4sWdtq2vrw99ff12683NzflD0QNmZmY8fj3EY9gzPH49x2PYMzx+PdfdY6hop8h9MaC9srISJSUlqKysRGtrK0pKSlBSUoKGhgYAwJQpU+Di4oIXXngBP/zwAw4fPowVK1YgKipKTHwWLlyIixcvIi4uDufPn8emTZuQnZ2NZcuWie3ExsZi+/btyMrKQllZGSIjIyGVSjF//ny17DcRERH1PX2256o7EhISkJWVJS6PGzcOAJCfnw9/f39oa2vjs88+Q2RkJHx8fGBsbIywsDC88cYb4mccHByQk5ODZcuW4d1338XQoUOxY8cOBAYGinVCQkLw22+/ISEhAdXV1Rg7diwOHTrUbpA7ERER9V/3RXKVmZmJzMzMLuvY29u3u+z3d/7+/jh9+nSXdRYvXtzlZcC70dfXR2JiYoeXCunuePx6jsewZ3j8eo7HsGd4/Hqut4/hffUQUSIiIiJ1uy/GXBERERH1FUyuiIiIiJSIyRURERGREjG5IiIiIlIiJlcqtnHjRgwfPhwGBgbw9vZu9+R46tzXX3+NGTNmwNbWFhKJBAcOHFB3SBolJSUFXl5eMDU1haWlJYKDg/Hjjz+qOyyNsXnzZri7u4sPHfTx8cEXX3yh7rA01tq1ayGRSBATE6PuUDRGUlISJBKJ3KuvTwHX1/z66694/vnnMWjQIBgaGsLNzQ3FxcVKb4fJlQrt27cPsbGxSExMxKlTpzBmzBgEBgaitrZW3aFpBKlUijFjxmDjxo3qDkUjFRQUICoqCseOHUNubi5u376NKVOmyE0qTJ0bOnQo1q5di5MnT6K4uBj/+Mc/EBQUhHPnzqk7NI1z4sQJbN26Fe7u7uoOReO4urri6tWr4uvbb79Vd0ga49q1a/D19YWuri6++OILlJaWYv369RgwYIDS2+KjGFTI29sbXl5eyMjIAHBn+hw7OzssWbIE8fHxao5Os0gkEuzfv1+cioi677fffoOlpSUKCgowadIkdYejkQYOHIjU1FSEh4erOxSN0dDQgIcffhibNm1CcnIyxo4di7S0NHWHpRGSkpJw4MABlJSUqDsUjRQfH4/vvvsO33zzTa+3xZ4rFbl16xZOnjyJgIAAcZ2WlhYCAgJQWFioxsiov7p+/TqAOwkCdU9rayv27t0LqVQqzj9KiomKisL06dPl/i8kxf3888+wtbXFiBEjEBoaisrKSnWHpDE++eQTeHp6YtasWbC0tMS4ceOwffv2XmmLyZWK/P7772htbW03VY6VlRWqq6vVFBX1VzKZDDExMfD19cXo0aPVHY7GOHPmDExMTKCvr4+FCxdi//794uTvdHd79+7FqVOnkJKSou5QNJK3tzcyMzNx6NAhbN68GRUVFXj00Udx48YNdYemES5evIjNmzfD0dERhw8fRmRkJKKjo+Wmz1OW+2L6GyLqnqioKJw9e5bjNbpp1KhRKCkpwfXr1/Hxxx8jLCwMBQUFTLAUUFVVhaVLlyI3NxcGBgbqDkcjTZs2TXzv7u4Ob29v2NvbIzs7m5emFSCTyeDp6Yk1a9YAuDMP8dmzZ7FlyxaEhYUptS32XKnI4MGDoa2tjZqaGrn1NTU1sLa2VlNU1B8tXrwYn332GfLz8zF06FB1h6NR9PT08NBDD8HDwwMpKSkYM2YM3n33XXWHpRFOnjyJ2tpaPPzww9DR0YGOjg4KCgqwYcMG6OjooLW1Vd0hahwLCwuMHDkSFy5cUHcoGsHGxqbdH0LOzs69cmmVyZWK6OnpwcPDA3l5eeI6mUyGvLw8jtkglRAEAYsXL8b+/fvx1VdfwcHBQd0haTyZTIbm5mZ1h6ERHn/8cZw5cwYlJSXiy9PTE6GhoSgpKYG2tra6Q9Q4DQ0NKC8vh42NjbpD0Qi+vr7tHj/z008/wd7eXult8bKgCsXGxiIsLAyenp4YP3480tLSIJVKMX/+fHWHphEaGhrk/kKrqKhASUkJBg4ciGHDhqkxMs0QFRWFPXv24ODBgzA1NRXH+pmbm8PQ0FDN0fV9r7/+OqZNm4Zhw4bhxo0b2LNnD44ePYrDhw+rOzSNYGpq2m58n7GxMQYNGsRxfwp69dVXMWPGDNjb2+PKlStITEyEtrY25syZo+7QNMKyZcswYcIErFmzBrNnz8bx48exbds2bNu2TfmNCaRS6enpwrBhwwQ9PT1h/PjxwrFjx9QdksbIz88XALR7hYWFqTs0jdDRsQMg7Ny5U92haYQXX3xRsLe3F/T09IQhQ4YIjz/+uPDll1+qOyyN5ufnJyxdulTdYWiMkJAQwcbGRtDT0xMeeOABISQkRLhw4YK6w9Ion376qTB69GhBX19fcHJyErZt29Yr7fA5V0RERERKxDFXRERERErE5IqIiIhIiZhcERERESkRkysiIiIiJWJyRURERKRETK6IiIiIlIjJFREREZESMbkiIiIiUiImV0R0X/H394dEIlF3GAoTBAEeHh6YMmWK3Hpl78eRI0cgkUjw+eefK22bRNQxzi1IRH1Wd5MLTZxwYteuXTh16hQKCwt7tZ2AgABMnDgRcXFxCAwM5ETJRL2IyRUR9VmJiYnt1qWlpeH69esdlgF3kpXGxsbeDk0pZDIZkpKS8Oijj+KRRx7p9fbi4uLw1FNPYe/evQgNDe319oj6K84tSEQaZfjw4bh8+bJG9lL9XU5ODp588kls374dERERcmX+/v4oKChQ6n7evn0btra2cHJywjfffKO07RKRPI65IqL7SkdjlTIzMyGRSJCZmYlPP/0U3t7eMDIywgMPPICVK1dCJpMBALKysjBmzBgYGhpi2LBhSE1N7bANQRDw/vvvw9fXF2ZmZjAyMoKnpyfef//9bsW6c+dOSCQSzJw5s9M6t2/fRlJSEoYPHw59fX2MHDkSmzZtalcvKSkJEokER48eRWZmJh5++GEYGRnB399frKOrq4vg4GB8++23uHDhQrdiJSLF8bIgEfUb+/fvx5dffong4GD4+voiJycHycnJEAQB5ubmSE5ORlBQEPz9/fGf//wHcXFxsLKywty5c8VtCIKA0NBQfPjhh3B0dMQ///lP6OnpITc3F+Hh4SgtLcXbb79911gEQUB+fj5GjRqFAQMGdFpvzpw5OH78OKZNmwZtbW1kZ2cjKioKurq6WLBgQbv6qampyM/PR1BQEKZMmdJubJWPjw927NiBr776Cg899FA3jh4RKUwgItIg9vb2Qlf/dfn5+bUr37lzpwBA0NXVFY4fPy6ur6+vFywtLQUjIyPB2tpaKC8vF8sqKysFPT09wc3NTW5b27ZtEwAI8+fPF27duiWub25uFmbMmCEAEIqLi++6H+fOnRMACKGhoV3uh7e3t3D9+nVx/fnz5wUdHR1h1KhRcvUTExMFAIKxsbHwv//9r9N2f/jhBwGAMHfu3LvGSET3hpcFiajfeP755+Hl5SUum5qa4sknn0RjYyMiIyMxYsQIsczOzg4TJ05EaWkpWlpaxPUZGRkwNjbGxo0boaurK67X09PD6tWrAQAffvjhXWP55ZdfAABWVlZd1ktJSYGZmZm4PGrUKPj6+uLHH3/EjRs32tV/6aWX4Obm1un22tpra5+IlI+XBYmo3xg7dmy7dTY2Nl2Wtba2oqamBg888AAaGxtx5swZ2NraYt26de3q3759GwBw/vz5u8byxx9/AAAsLCy6rOfh4dFu3dChQwEAdXV1MDU1lSsbP358l9sbOHAgAOD333+/a4xEdG+YXBFRv/HXHqA2Ojo6dy1rS5quXbsGQRDw66+/YtWqVZ22I5VK7xqLoaEhAKCpqemeY25tbW1XdreesJs3bwIAjIyM7hojEd0bJldERApqS3Q8PDxQXFzco20NGTIEAPDnn3/2OK6/utuDV9vaa2ufiJSPY66IiBRkamoKZ2dnlJWVoa6urkfbcnV1hZaWFn788UflBKegtva6GpdFRD3D5IqIqBuio6PR2NiIBQsWdHj5r6KiApcuXbrrdiwsLODu7o7i4mLxOVuqUFRUBADw8/NTWZtE/Q2TKyKibnj55ZcRFhaGjz/+GI6Ojpg7dy7i4+Mxf/58+Pj44MEHH8SxY8cU2tbTTz+NGzduKFxfGXJzczFgwABMmjRJZW0S9TdMroiIuqHtSe/79u2Dq6srPvvsM7zzzjvIzc2FgYEB3n77bQQEBCi0rYiICOjo6ODf//53L0d9x6VLl/Ddd98hLCwMBgYGKmmTqD/i3IJERGr0wgsvICcnB5cvX273WAVlW7FiBd566y2UlZXhwQcf7NW2iPoz9lwREalRcnIybt68ifT09F5t59q1a0hPT0dkZCQTK6JexkcxEBGpkb29PbKyslBTU9Or7VRUVGDZsmVYsmRJr7ZDRLwsSERERKRUvCxIREREpERMroiIiIiUiMkVERERkRIxuSIiIiJSIiZXRERERErE5IqIiIhIiZhcERERESkRkysiIiIiJWJyRURERKRE/wcC8yA2Ed7AXgAAAABJRU5ErkJggg==", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "t0 = m.fs.time.first()\n", + "for var in ramp_mvs:\n", + " shortname = var.name.split(\".\")[-1]\n", + " alias = alias_dict[var]\n", + " blk = var.parent_block()\n", + " v_ramp = getattr(blk, shortname + \"_ramp_rate\")\n", + " var[t0].fix(float(df[alias][setpoints[0]]))\n", + " for i, t in enumerate(time_set):\n", + " v_ramp[t].fix(\n", + " float(\n", + " (df[alias][setpoints[i]] - df[alias][setpoints[i - 1]])\n", + " / (time_set[i] - time_set[i - 1])\n", + " )\n", + " )\n", + "\n", + "for var in step_mvs:\n", + " shortname = var.name.split(\".\")[-1]\n", + " alias = alias_dict[var]\n", + " for i, t in enumerate(time_set):\n", + " var[t].fix(float(df[alias][setpoints[i]]))" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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wWBQa9asueLtVq5cqQAFqMTExMuuv3z5cgUoXddVcnKyZ/m6des8+7karVq1UoB6/PHHr2q7KzF8+HAFqOHDhxdaPnr0aAWomJgYz7KSPo+87erXr6+UUmrs2LEKUA888IDXeidOnLiq/Z89e1YNHz5c1a9fXwGqY8eOavjw4Z7bJ5984ln35MmTqnnz5gpQERERqkePHuree+9VtWvXVoCqU6eO+v333732v3jxYgWofv36qSZNmqjIyEg1YMAA1atXLxUQEKAANW7cOPXbb7+patWqqejoaDVo0CDVrVs3ZTAYFKCef/75AvXu0qWLAtT48eOVruuqadOmasiQIapz585K13UFqEmTJhX6nCdPnuw5x26++WY1cOBA1a5dO6VpmjIYDOq///1vgW3yXtNx48YpXddVp06d1P3336/atWvnec7PPPOMAlTdunXVbbfdpoYMGaK6dOmizGazAlT//v2Vy+Xy7POTTz7xnEN551H+29mzZ5VSSs2YMUMBasaMGYU+n7xzo0uXLoUub9eunWrbtq0KCgpSffv2VYMHD1Y9evTwrLdgwQLPa9ayZUt13333qU6dOnnqPWvWrEKPW5S89+avf/2rMhqNqlWrVmrw4MGqZcuWClAWi0X9+OOP6tVXX1W6rqsOHTqoQYMGqYYNGypABQcHq19//bXI9+BSd999twLUkCFDvJbv3r1bWa1WZTQa1Y8//uhVtmzZMmW1WhWgGjdurO69917VvXt3FRQUpAA1cuTIAsdJSEhQDRo0UICqVKmS6t+/v7rnnntUeHi4ql+/vqceixcvvuLXKu+9HTZsmKpcubKKiopSAwcOVHfeeaenLh07dlRZWVle2+X9nYeFhalbbrlFDRw4UN1+++2qRo0aClBVq1Yt9DXMe28effRRr7+bXr16qffff19NnjxZdezY0fNZk/98nDNnjmc/eeftpc/1+++/9xy/U6dOavDgwapXr16qcuXKClA33nijOnfuXJH1Wrdu3RW/dn8WEjBVQGlpaapmzZoKUJqmqa5du6pnnnlGffnll8UGQk8//bTnS+RKHDt2zPPB+N1333mWlyTQsNvtni+CJUuWXPF2V6q4gCkjI0PVqlXL82GYx1cB0+nTp1VQUJDSNE3t2rXLs97VBkyXPpeiPuxdLpfng3TUqFEqNTXVU2a32z1BSLdu3by2ywuY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3HPPPZw5c4aRI0cyduxYbrzxRkJDQzEYDPzyyy80atTouiSnvFx2+qLqnLddcHBwoclmr1Vpv+e//vqr5ypHpRRbt27llltu8Von/2t1JYljLxdIlqb85860adP45JNPaNy4Mc8//zxt27alSpUqnpb9Dh06sGnTpiLPt6LOiWs1evRofvjhB9q3b8+sWbNo0aIFlSpVwmQyAe60KKdPn65QSVolYBKF6tWrF5999pnX5bvdu3cnJCSEtLQ0lixZwuTJk4vdx5IlSwC49dZbi22duVL9+vVj9+7dfPjhh8ydO7dMfQD6gtls5plnnuHBBx/k73//O99+++11OU7er/F+/frx17/+9bocoySKSquQd0m+1WqlcuXKwMXnULlyZZ8HuBs3buTMmTPExsby3//+t0D5r7/+WuJ9530JFnbZPLjTGZRE3uuhaRr//e9/r2vQer1lZ2czaNAg0tLSGDp0KMuXL2fKlCl06NCBNm3aeNarUqUKAQEBZGVlMW/evCID40vVrFkTKD5FyLWkDykuPUjefm+44QbPsrzcbh9++CExMTEFtrmW862kMjIy+Oqrr9B1na+++qrA53dGRgYJCQmlXi9/+/P+VYkSu5JfBHldEfn/sENDQ3nssccAmD17drEf7l988QWff/45AH/729+upboejz/+OGFhYSQmJvLkk09edv38OWL+LIYOHUqLFi349ddfeeutt0q0j7wvZYfDUWh53759Afjoo4/K1K/DonLm5AXenTp18oy5yvsVfuDAgWLnLSyJvDw8RXVDFZfbJ+/Xd1Gvfd6XdVGZrvPGl12tGjVqEBMTQ1paGt98802J9lFWPPHEE+zevZtu3bqxZMkS5s+fT05ODoMGDfLK/WMwGOjZsydwdQllO3fujKZp7Ny5k0OHDhUo//nnn0vcHQfuqZsKGzbw1Vdfcf78eUJCQrzG3eWdb4XltVu1alWBnFNX43KfBUVJSUnB6XQSGhpa6I/d9957r0x9dpQWCZgqoNdff53hw4cXOvhTKcWKFSs8CSqHDBniVT5z5kzatGlDcnIy3bp1K7APlTs1St4gzMcff5xevXr5pN6VK1dmyZIl6LrOv//9b0aPHl3oB9PJkycZN24c99xzj0+OW5o0TfNkWF+wYEGJ9pEX5BYVSPTr188zz97IkSMLHdNy4cIFFi1adNUftNdix44dBRKS/vDDD7z22msATJw40bPcZDIxY8YMlFLce++9hY6zcDqdfPfdd2zevPmq6tGkSRPAnRDzwIEDXmVvvvmmJ4t9YS732nfv3h1d11m1ahUbNmzwLFdK8fLLL192wuvi5GWLHzlypOfHSn5KKbZs2XLdWi594f333+fNN98kKiqK999/H13Xeeyxx7jvvvuIj48vMC3RjBkzMJvNTJkyhbi4uEK7NPft28eKFSs8j2vVqsW9996Ly+Vi7NixXmODLly4wKOPPnpNwUBWVhZjx471SlJ56tQpT4v8I4884nVRRN75dmli18OHD/PII4+UuB5w8Xy89Dy+nKioKCpVqkRycnKBxLGbN29m2rRp11SvP63SvShPlAX/+te/PJfNVq1aVfXq1Us98MAD6vbbb/fkQAHU//3f/xXIwaGUUsnJyapPnz6e9Zo3b64GDRqk7r33Xk+uF13X1dSpUwtcBqyU9yXSlyb4u/R27NixAtt/9dVXqkqVKgpQRqNR3XLLLWrw4MFqwIABqmXLlkrTtKtKf6DU5RNXFqakz6OwtAKX6tq1q1dqgqvx888/K13Xla7rqkePHmrkyJFq1KhR6tNPP/Wsc/LkSU/ywaCgINWhQwc1ZMgQ1b9/f9WyZUtPosn8lz9f7hLly10yX9Tly5cmrmzWrJm6//77VZcuXTy5t5544olC9zllyhTPa9SsWTPVr18/NWTIENW1a1cVHh6uyJfPJ8+VvKb9+vVTgDKbzapXr15qyJAhqnHjxkrTNPX3v/9dAap27doFtvvrX/+qAFWlShU1aNAgNWrUKDVq1CivBH9PPPGEJ01F165dVf/+/VX9+vWVyWRSTz31VLFpBS5dfql///vfymg0KnDnp7rjjjvUAw88oHr27KkiIyMVoJ588sli95Hf5S4Rz0t0Gh8fX2h5Ua91YcsPHTqkgoODla7rau3atV5lycnJql69egpQCxYs8CpbtmyZCgwMVIC64YYbVK9evdTQoUNV3759PZ9HgwcP9trm9OnTngSvERERqn///uree+/1WeLKiIgIVa1aNTVw4EB11113eRJXtm/f3is/k1JKffzxx57PrObNm6shQ4ao7t27K5PJpLp37646dOhQ6HtwJZfv22w2T/qNVq1aqWHDhqlRo0apF1980bNOUX+X+b8n2rVrp+6//37VsWNHpWmaevDBB4t878tzWgEJmCqg1NRUtXLlSvX444+rm2++Wd1www3KZDKpgIAAVb9+fXX//ferr7/++rL7+fLLL9WQIUNUrVq1lNVqVcHBwapRo0Zq7Nixas+ePUVud6X5iwCvRI75paWlqX/961+qZ8+eqlq1aspsNqvAwEDVsGFD9X//93/qiy++KDRYK8q1BkxX8zyuJGDasmVLiQMmpdyZpzt27KhCQkI8H8aXBjLZ2dlq0aJFqlu3bqpy5crKaDSqyMhI1bJlS/XYY4+pVatWea1/vQOmdevWqbVr16rbbrtNhYWFqYCAANWmTRv1zjvvFPtcf/zxRzV06FBVu3ZtZbFYVEhIiGrYsKG655571Ntvv62SkpK81r+S1zQnJ0fNnTtXNW/eXAUGBqqIiAjVq1cv9e2336r4+PgiA6asrCw1depUdeONN3qya1/6peJyudT8+fNVkyZNlNlsVhEREequu+5SO3bsuGwepssFTEoptXfvXvWXv/xFNWjQQFmtVhUYGKjq1aunevfurV5++WV18uTJy+4jT2kFTJmZmZ48XUWdP9u3b1cWi0WZzWavfGhKKRUfH68mTpyobrrpJhUUFKSsVquqXbu26tq1q3r++efVb7/9VmB/586dU48//ri64YYblNlsVjfccIN65JFHPBnzSxowzZgxQx09elTdf//9KioqSpnNZnXjjTeq6dOnF0jammfjxo3qtttuU1WqVFGBgYHqpptuUs8++6yy2WxFvgdXGpjs3btX3X333apq1aqeHyD5z6PinuvKlStVhw4dVHh4uAoODlZt2rRRr7/+unK5XBUyYNKUqoAdkUKIMqNr165s2LCBdevWFZhDTYg/i5kzZzJr1ixmzJhR5FyB4s9NxjAJIYQQQlyGBExCCCGEEJchAZMQQgghxGWUuzFMc+bMYcWKFRw6dIiAgAA6dOjACy+8QKNGjYrd7qOPPuLpp5/m999/p0GDBrzwwguFzo8khBBCiIqn3LUwbdiwgccee4zNmzezevVq7HY7vXr1IiMjo8htfvrpJ+6//35GjRrFrl27uOeee7jnnnvYt29fKdZcCCGEEGVVuWthutTZs2eJjIxkw4YNdO7cudB1Bg8eTEZGBl988YVn2S233ELLli1ZtGhRaVVVCCGEEGVUuZ9LLiUlBYCIiIgi19m0aROTJk3yWta7d29WrlxZ5DY2m81rFm6Xy0VSUhKVK1e+7OzpQgghhCgblFKkpaVRo0aNYudhLNcBk8vlYsKECXTs2JGbbrqpyPUSEhKIioryWhYVFVXs5IJz5sxh1qxZPqurEEIIIfznxIkTXvOnXqpcB0yPPfYY+/btK3SeqWs1bdo0r1aplJQUatWqxYkTJwgNDfX58cozh8PB2rVrAbjttts8E6xerkyI0vDNv6dxcuFKAOq/MpiuPWd6yuT8FOLPLzU1lejoaEJCQopdr9z+dY8bN44vvviCjRs3FhsxAlSrVo0zZ854LTtz5gzVqlUrchuLxYLFYimwPDQ0VAKmq5SRkcGgQYMASE9PJygo6IrKhCgNRqORSadPAfClQff6+5bzU4jy43LDacrdVXJKKcaNG8cnn3zCd999R926dS+7Tfv27T2/EvOsXr2a9u3bX69qCiH+LPJ9hirl8l89hBB+Ve5amB577DHef/99Pv30U0JCQjzjkMLCwggICABg2LBh1KxZkzlz5gDwxBNP0KVLF+bPn88dd9zBBx98wPbt23nzzTf99jyEEGWEV8BUri8qFkIUo9y1MC1cuJCUlBS6du1K9erVPbcPP/zQs87x48c5ffq053GHDh14//33efPNN2nRogXLly9n5cqVxQ4UF0JUDF7N9C5pYRKioip3LUxX8gtw/fr1BZYNHDiQgQMHXocaCSH+zFS+gElamERRnE4ndrvd39UQhTCZTBgMhmveT7kLmIQQwpc06ZITxVBKkZCQQHJysr+rIooRHh5OtWrVrilPogRMQghRHOmSE8XIC5YiIyMJDAyUxMVljFKKzMxMEhMTAahevXqJ9yUBk/A7s9nMq6++6rl/pWVClAaD0cA/It2JbS9t1Zfzs2JzOp2eYKly5cr+ro4oQt4FX4mJiURGRpa4e04CJuF3JpOJxx577KrLhCgNRqOBBypVAuDYJdMmyPlZseWNWQoMDPRzTcTl5L1Hdru9xAFTubtKTgghfCt/F4uMYRIFSTdc2eeL90hamITfOZ1Ovv/+ewBuvfVWr+i/uDIhSoMTxZbMDDSgisPhXSbnpxAVhgRMwu+ys7Pp1q0bUHB6ieLKhCgN2Vkw8sQJAFbYvAMmOT+F8DZz5kxWrlzJ7t27/V0Vn5MuOSGEKEbahZqe+y5JKyDEdbdx40buuusuatSogaZprFy50t9VAiRgEkKIKycBkxDXXUZGBi1atOC1117zd1W8SMAkhBDF8Upc6fRfPYTwoa5duzJ+/HimTp1KREQE1apVY+bMmV7rHD9+nH79+hEcHExoaCiDBg3izJkzXus8//zzREVFERISwqhRo8jOzi5wrLfffpsmTZpgtVpp3Lgxr7/+erF169u3L7Nnz+bee++95ufpSzKGSQghiqHluzJOMn2Ly1FKkWX3T2AdYDJc1dVgcXFxTJo0iS1btrBp0yZGjBhBx44d6dmzJy6XyxMsbdiwAYfDwWOPPcbgwYM904stW7aMmTNn8tprr9GpUyfeffddXn75ZerVq+c5xtKlS5k+fTqvvvoqrVq1YteuXYwZM4agoCCGDx/u65fgupKASQghrpCSTN/iMrLsTppOX+WXYx/4Z28CzVf+tR4TE8OMGTMAaNCgAa+++ipr166lZ8+erF27lr179xIfH090dDQAS5YsoVmzZmzbto22bduyYMECRo0axahRowCYPXs2a9as8WplmjFjBvPnz6d///4A1K1blwMHDvDGG2/86QIm6ZITQojiaPnvSguTKD9iYmK8HlevXt0zhcjBgweJjo72BEsATZs2JTw8nIMHD3rWadeundc+2rdv77mfkZHBkSNHGDVqFMHBwZ7b7NmzOXLkyPV6WteNtDAJvzOZTLz44oue+1daJkRpMOo697T7CwCanuFVJuenuFSAycCBf/b227GvxqXnrKZpuHzYipqeng7AW2+9VSCw+jPmLJOASfid2WxmypQpV10mRGkwmYz0aDkYAKPhHa8yOT/FpTRNu6pusbKqSZMmnDhxghMnTnhamQ4cOEBycjJNmzb1rLNlyxaGDRvm2W7z5s2e+1FRUdSoUYOjR48ydOjQ0n0C18Gf/10VQojrKl83nAz6FhVEjx49aN68OUOHDmXBggU4HA4effRRunTpQps2bQB44oknGDFiBG3atKFjx44sXbqU/fv3ew36njVrFuPHjycsLIw+ffpgs9nYvn07Fy5cYNKkSYUeOz09nd9++83zOD4+nt27dxMREUGtWrWu7xMvhgRMwu+cTic7d+4EIDY2tsDUKEWVCVEaXC4XxxIPAVDN5X31k5yforzSNI1PP/2Uxx9/nM6dO6PrOn369OGVV17xrDN48GCOHDnC1KlTyc7OZsCAAYwdO5ZVqy4Oeh89ejSBgYHMnTuXKVOmEBQURPPm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z8gkxxDs55oJ4e0s4bzu7MdZwv1dFSHEdeaTgOm3336jQYPCL/e2Wq0sXryY4OBgFi5c6IvDiXImJyeHL/Z8zprdH2J35ODMC5iUE013UvMLF//+0UYGkuFblL6cnBzmzp3L3LlzC0yNopx2UrZ8TMqWjwuUCSHKF58ETNHR0WzevLnIcqPRyB133MGqVat8cThRztjtdj7Y+j4rt7yJ3enElZuwUldO+thS+fDjnUxdYyNLlyvkROmz2+1MnTqVqVOnFpgaRTmdJK9fTPL6xQXKhBDli08CpqFDh7Jx40aWLFlS5DppaWmcOXPGF4cT5Vxel5zucmAwX8z15TBJwCSEEMI/fBIwPfnkk8TGxvLQQw/x8MMP8+uvv3qVb968mf/9739ERUX54nCiPFPgdLqDJE05MeSbccdhlDFMQggh/MMnAZPVamXdunXcfffdvPXWWzRu3JgGDRrQo0cPYmJi6NixIxkZGTzyyCO+OJwo51yOvEHfTq8WJpdRWpiEEEL4h08CJnDPG7dixQpWrVrF3XffTWJiIt999x379u0jOjqaV155hWnTpvnqcEVKSkpi6NChhIaGEh4ezqhRo0hPTy92m65du6JpmtdNgjs/Uepil5xyYLBcDJiUKdBftRJCCFHB+WTy3fx69uxJz549AUhJScFkMhEYWHpfdEOHDuX06dOsXr0au93OyJEj+ctf/sL7779f7HZjxozhn//8p+dxadZZeLvYJedCN+ULmIySGFAIIYR/lDhgev311+nXrx81a9Yscp2wsLCS7r5EDh48yDfffMO2bdto06YNAK+88gq333478+bNo0aNoiduDQwMpFq1aqVVVVEMz1VyLgcG88X5BzWTBExCCCH8o8RdcuPGjaNWrVq0bduWZ599lr179/qyXiWyadMmwsPDPcESQI8ePdB1nS1bthS77dKlS6lSpQo33XQT06ZNIzMzs9j1bTYbqampXjdRMlarlb/f/jTj75qP2WS8mLhSOQkKcLFueCDrhgdiCgz1c01FRZQ3RnPdunUFpj/RjCai7n+OqPufk6lRhCjnStzCtHXrVj799FM+++wznn76aaZPn06dOnW45557uPvuu7n11lvRdZ8NkboiCQkJREZGei0zGo1ERESQkJBQ5HYPPPAAtWvXpkaNGuzZs4cnn3ySw4cPs2LFiiK3mTNnDrNmzfJZ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e5C3ITgQgKB8XXIy6FsIIYS/XFXA1L9//yJbkV5//XWGDBkiY5jEVXM4HPz08xp2HtmAI/f80Q3uU9NiUGQc+oGMQz+gXE5/VlNUUA6Hg48++oiPPvoIh8NxxWVCiPJFUxLh+ERqaiphYWGkpKTItDFXKSMjw5ME9T9jl5HlqkyTDtXpPqwJz322i7/3iwXg1LkLVK8c7seaiooo//mZnp5OUFDQFZUJIf4crvT7u0SJK999913279+Py+UqcQWFKIxeORIAzeDufvPK9C1dckIIIfykRKNohw8fjqZpWCwWmjdvTmxsLK1ataJVq1bExMTI1SKixFyu3C653BQCgfkDJkkrIIQQwk9KFDC98cYb7N69m127drFnzx62bdvmSSdgMBho3LgxrVq18gRSLVu2lG4qcUXUJQFTQL4r43RpYRJCCOEnJQqYxowZ47mvlOLw4cO88MILxMXF4XA4OHDgAPv27eO9997zrFevXj1iY2P58MMPr73WotxSThegebrkAs3SwiSEEML/rnnyXU3TOHDgAO+99x5z584lKSkJh8NBfHw88+bNIzIyEqUUp0+fZvny5b6osyjHLu2SCzBfPEUlXhJCCOEv1xwwAcyYMYN+/foxefJkwsPDAahduzYTJ04kPj6eoUOHEh4eXmgOJyHyczkvCZjyzSUnWeSFEEL4i09SJ//2229FJq20Wq0sXryYm266iYULF/Lmm2/64pCiHDGbzTw+eAYXzmSia0acKE+XXKOalah8+wTPekKUNrPZzOLFiz33r7RMCFG++CRgio6OZvPmzUUfxGjkjjvukC45USiTyUT3m+/m5C/J6BgAh6eFqWZECGsWzSDIbMBkMvm3oqJCMplMjBgx4qrLhBDli0+65IYOHcrGjRtZsmRJkeukpaVx5swZXxxOlGOeLjnDxe63ltHhNIgK8VeVhBBCCN8ETE8++SSxsbE89NBDPPzww/z6669e5Zs3b+Z///sfUVFRvjicKGccDgfbD3zPvmObsedOL6HltjA5HA6+/PJLvvzyS5l6QvhFceegnJ9CVBw+mxolPT2dYcOGsXLlSjRNo169etSuXZvExET279+PUopnn32WadOm+eJwZY5MjVJy+aeXeGn0l5gNVjoNbECL26Jl6gnhdzI1ihDl25V+f/tkDBNAcHAwK1asYPXq1bz++ut89913HDly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eq1zS5cuVVFR0RWvSRcTkLKyssYOrUG4XC4tWLBAN910k0aMGNHo7c2dO1e333671q5dqylTpjR6e4A/opYcAEvo0qWLvvrqK58cTfpvGzdu1G233aY33nhDDz74YI1rycnJ2r59e4P+nlVVVYqJiVF8fLw++uijBvtcAP/BGiYAPuFKa38yMjJks9mUkZGh9evXa/jw4QoLC1PHjh3185//XC6XS5KUmZmpAQMGKDQ0VLGxsVq8ePEV2zAMQ2+++aaSkpJ0ww03KCwsTEOGDNGbb755TbGuXr1aNptNkydPvuo9VVVVWrBggbp06aLg4GDdeOONWrFiRa37FixYIJvNpm3btikjI0ODBw9WWFiYkpOT3fcEBQUpJSVFH3/8sXJzc68pVgB1w5QcAJ+3bt06ffjhh0pJSVFSUpI2btyohQsXyjAMtWzZUgsXLtSkSZOUnJysP/3pT5o7d67at2+vqVOnuj/DMAxNmTJFb731lnr27Knvf//7cjgcysrK0owZM3TgwAEtWbLEayyGYSg7O1u9evVS69atr3rffffdp127dmnChAmy2+165513lJaWpqCgID300EO17l+8eLGys7M1adIkjRs3rtZapcTERP3mN7/R1q1b1aNHj2t4egDqxAAAC4iLizM8/ZM0atSoWtdXr15tSDKCgoKMXbt2uc+fP3/eiIqKMsLCwowOHToYhw8fdl/Lz883HA6H0a9fvxqftWrVKkOSMX36dOPChQvu85WVlcbEiRMNScbu3bu9/h779+83JBlTpkzx+HsMHz7cKCoqcp8/dOiQERgYaPTq1avG/enp6YYkIzw83Pj888+v2u4//vEPQ5IxdepUrzECuHZMyQHweffff7+GDh3q/jkiIkK33XabysrKNHPmTHXr1s19rXPnzho5cqQOHDigf//73+7zr776qsLDw7V8+XIFBQW5zzscDj333HOSpLfeestrLMeOHZMktW/f3uN9ixYt0g033OD+uVevXkpKSlJOTo6Ki4tr3f/www+rX79+V/28S+1dah9Aw2JKDoDPGzhwYK1z0dHRHq9VV1eroKBAHTt2VFlZmfbt26eYmBj98pe/rHV/VVWVJOnQoUNeYzl79qwkqVWrVh7vS0hIqHWuU6dOkqTCwkJFRETUuDZs2DCPn9emTRtJ0pkzZ7zGCODakTAB8HmXj9RcEhgY6PXapUTo3LlzMgxDx48f1zPPPHPVdkpLS73GEhoaKkmqqKi47pirq6trXfM2YlVeXi5JCgsL8xojgGtHwgTA711KXhISErR79+56fVZkZKQk6Ztvvql3XJfzttnnpfYutQ+gYbGGCYDfi4iIUO/evXXw4EEVFhbW67P69OmjgIAA5eTkNExwdXSpPU/rnABcPxImAJD02GOPqaysTA899NAVp96OHDmivLw8r5/TqlUr9e/fX7t373bvA9UUPv30U0nSqFGjmqxNwJ+QMAGApB/+8IdKTU3Vu+++q549e2rq1KmaN2+epk+frsTERHXv3l07d+6s02fdcccdKi4urvP9DSErK0utW7fWzTff3GRtAv6EhAkAJPeO4W+//bb69OmjDRs26Fe/+pWysrIUEhKiJUuWaOzYsXX6rAcffFCBgYH6/e9/38hRX5SXl6dPPvlEqampCgkJaZI2AX9DLTkAaAQ/+MEPtHHjRn311Ve1tghoaD/72c/04osv6uDBg+revXujtgX4K0aYAKARLFy4UOXl5Vq2bFmjtnPu3DktW7ZMM2fOJFkCGhHbCgBAI4iLi1NmZqYKCgoatZ0jR45o9uzZevTRRxu1HcDfMSUHAADgBVNyAAAAXpAwAQAAeEHCBAAA4AUJEwAAgBckTAAAAF6QMAEAAHhBwgQAAOAFCRMAAIAXJEwAAABe/B+Uba6VUlTHiwAAAABJRU5ErkJggg==", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here we initialize the controllers. Unit model `.initialize` methods tend to be for steady state optimization, so we manually set variable values and calculate variables from constraints." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlsAAAHOCAYAAACvhswcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC0/0lEQVR4nOzdd3wUxfvA8c9eTU8IkIQSqvTeiQgBQUDAigVEAUFUBBSBCFgRERQsgIhYMOJX+WEFC9IhiIAivYMoEFqo6eXq/v645MiRAoRLLuGe98szuzuzO3PJhHsyOzujqKqqIoQQQgghioXG0xUQQgghhLiZSbAlhBBCCFGMJNgSQgghhChGEmwJIYQQQhQjCbaEEEIIIYqRBFtCCCGEEMVIgi0hhBBCiGIkwZYQQgghRDGSYEsIIYQQohhJsCVEKfTPP/8wcuRIGjZsiL+/Pz4+PlStWpU2bdowcuRIfvjhh0LPX758OQMGDKBmzZr4+fkRFBREw4YNGTlyJPv27SvwvLi4OBRFuaZXQdLT05k9ezY9e/akcuXKGI1GAgICqFevHo8++ig//fQTdru9yN8bUbKu9vMujSZNmoSiKEyaNMnTVRECAJ2nKyCEcPXjjz/yyCOPYDKZKF++PB06dKBixYokJiayc+dOPvzwQxYtWkTfvn3znJuSksIjjzzC0qVLAWjUqBF9+vTBYrGwdetWPvzwQz766CMmTJjAlClTCv0QHTRo0HXXfeXKlTz66KOcP38enU5Hq1at6NixI1arlX///Zevv/6ar7/+mjZt2rBly5brvr7Iq0aNGhw/fpyjR49So0YNT1enVIuLi6NLly5ER0cTFxfn6eoIb6IKIUqNhIQENSAgQAXUsWPHqpmZmXnybN26VZ0wYUKe4yaTSW3Xrp0KqDVr1lT/+OMPl3S73a5++eWXqp+fnwqozz//fJ5rrFu3TgXUovzT8Ouvv6parVYF1CFDhqhnz57Nk+f48ePqU089pZYrV+66ry/yV716dRVQjx49WizXL2p78KTz58+rBw4cUM+fP+9yPKd9R0dHe6ZiwmtJz5YQpcivv/5KWloalStX5p133sk3T6tWrWjVqlWe46+//jp//fUXISEhrFu3jurVq7ukK4rCY489Rrly5bjrrrt4//336dWrF926dbvhel+8eJFHH30Um83Gs88+y6xZs/LNV61aNebNm8cjjzxyw2UKUZAKFSpQoUIFT1dDCCcZsyVEKXL27FkAKlaseF3npaamMmfOHABeeeWVPIFWbn369OHuu+8G4M033yxiTV3NmTOHpKQkwsLCmD59+lXzd+rU6bqur6oqP/74I3369CEiIgKDwUBERAS33XYbb7/9NpmZmc68gwcPRlEUvvjii3yv9cUXX6AoCoMHDy7w+KVLlxg9ejS1a9fGaDTSuXNnwHUsUHx8PEOHDiUyMhK9Xp/net9//z09e/akYsWKGAwGqlSpwqOPPsr+/fvz1OnYsWMoikKNGjVQVZVPPvmEVq1a4e/vT3BwMN27d2fz5s351vf48eMA1KxZ02VM3fXcJtu8eTN33nknISEhBAQE0Lp1az7//POrnpeZmcm7775L+/btCQkJwcfHh3r16vHCCy9w8eLFPPlzf4/T09OZOHEit9xyC0ajkYiICAYNGsSpU6fyLWv16tXcddddhIeHo9frKVeuHHXq1OHRRx/l999/d8mb35itzp0706VLFwDWr1/v8r3Kuf0aHR2Noij83//9X4Hvefr06SiKwkMPPXTV748QOaRnS4hSpFq1agDs3buXNWvW0LVr12s6b+3ataSkpADw2GOPXTX/wIED+fnnn/n9999JTk4mODi46JUGfvrpJwAefvhhjEbjDV3rShaLhX79+vHjjz+i0Who27Ytt99+OxcuXGD//v1MmDCBhx9+2G3jlS5cuEDr1q1JSkqiY8eOtGrVCoPB4JLnn3/+oUWLFhgMBjp06ICqqs6eFKvVyoABA/j2228xGo20atWKKlWqcPjwYb7++mt+/PFHfvzxR3r27Jlv+Y8//jgLFy6kY8eO9OnTh507d7Jq1Sp+//131q9fT7t27QC45ZZbGDRoEN9//z3p6en07duXgIAA53UiIiKu6f1+99139O/fH5vNRuPGjWnSpAknTpzgiSeeKPRhitOnT9OzZ0/27NlDaGgobdq0ITAwkO3btzNjxgy+++474uLi8g38k5OTufXWW4mPj6djx440btyYzZs38+WXX7J+/Xp27drl0iYXLFjA448/DkDbtm3p0qULmZmZnDx5kkWLFlGhQoWrBvA9e/bEx8eHFStWEB4e7vL9z/nZPffcc/z+++/MmTOH/v3757mG3W7no48+AmDkyJGFlieECw/fxhRC5JKamqpWqVJFBVRFUdTOnTurb7zxhrp06VL13LlzBZ73yiuvOMdqXYvjx487x+KsXbvWebwoY7YsFouq0WhUQP3yyy+v+bxrNWbMGBVQa9Sooe7cudMlzW63q6tXr1aTkpKcxwYNGqQCamxsbL7Xi42NVQF10KBB+R4H1K5du6rJycl5zn3ttdeceR599FE1KysrT54XX3xRBdR27dqp//33n0vad999p2q1WrVcuXJqYmKi8/jRo0ed161evbp66NAhZ5rValWHDBmiAmr37t3zlHcjY7bOnDmjBgYGqoD63nvvuaStXr1a9fHxybc92O12tUOHDiqgDh06VE1JSXGmWSwWdezYsSqgdunSxeW83N/jHj16uHyPL126pDZv3lwF1KlTp7qcV7NmTRVQN2zYkOc9nD17Vt2+fbvLsZyf02uvveZy/GpjtqxWq/P7eeU1VVVVf/nlFxVQmzZtmu/5QhREbiMKUYoEBASwZs0a2rVrh6qqxMXF8corr9C7d2/CwsJo0aIF8+bNw2azuZx3/vx5AMLDw6+pnNz5cs69UmHTPtx7773OfBcvXnRO5RAWFnY9b/eqzp0757w9+v3339OsWbM8dezatesN98zlptfr+eSTTwgKCiowT2hoKHPmzMnTi3fp0iXef/99fHx8+OGHH6hZs6ZL+gMPPMBTTz1FYmIiX331Vb7X/uCDD6hbt65zX6vVOm/3rl+/HovFUtS3lsf8+fNJTU2lffv2PP/88y5pXbt25amnnsr3vBUrVrBx40aaN2/OvHnzCAwMdKbpdDqmT59O48aNWbduHXv37s1zvr+/P7GxsS7f43LlyjFhwgTAccswt7NnzxIcHMxtt92W51o5vxfuoNVqGTFiBAAffvhhnvSctpiTR4hrJcGWEKVMvXr1+PPPP/nrr7949dVX6dGjh3MM186dOxk+fDg9e/bEbDYXuQxVVa+aZ9CgQQW+br/99iKXfT3WrVuH2Wwu8KGA4tCiRQtq1apVaJ5u3brlG+CtW7eOzMxMOnToQJUqVfI9N2f816ZNm/Kk6XS6fG8vRkREUK5cOUwmU75joYoqZ1zXgAED8k0vaPqPnKlF+vbti06XdzSKRqNx3tbL7322bt2aSpUq5TneoEEDgDzjttq2bUtycjIDBw5k27ZtxTpP2xNPPIGfnx8LFy4kMTHRefzIkSOsXLmSkJAQHn300WIrX9ycZMyWEKVU27Ztadu2LeAIjnbs2MGMGTNYtGgRq1evZtasWcTExACXx5zkDLC/mnPnzjm3CxqMX9AA8yuVL18ejUaD3W53ua475Az+rl+/vluvW5hrGftVUJ7//vsPgDVr1lx1ItD8ehQrVaqEXq/PN39QUBCJiYlkZWVdtX7X6uTJkwB5euByFHQ8532+8sorvPLKK4WWkd/7zBmbeKWcnq4r3+PcuXPp06cP//vf//jf//5HYGAgbdq04fbbb+exxx4r8HpFUa5cOR577DE+/vhj5s+fz7hx45x1UFWVxx9/HD8/P7eVJ7yDBFtClAGKotCyZUv+7//+j4yMDH7++WeWLFniDLZyen2OHj3K+fPnr/o0Y86EohqN5oZvweh0Opo2bcrOnTv5+++/r2mAviddrVfE19f3qtcoKE/OtW+55RY6dOhQ6DXyCyA1mrJxsyHnfd52223Url270LyNGjXKc+x632eDBg04dOgQK1euZO3atWzatIkNGzawdu1aJk+ezPz5893a2/Tss8/y8ccf89FHHzFmzBiysrKIjY1FURS5hSiKRIItIcqY7t278/PPP3PhwgXnsdtvv53AwEBSU1P58ssvGTt2bKHX+PLLLwHo2LEjISEhN1yne+65h507d/LNN98wY8YMtz2RmNNjcfDgwWs+J+fJwdTU1HzTc3rLikNkZCTguBV8rT2DnlSlShUOHjzIsWPH8k0v6HjO+7znnnucPT/FTafT0atXL3r16gU4Vkt47733eP3113nqqae477778Pf3d0tZDRs2pFu3bqxevZply5Zx+vRpkpKSuPPOO68aXAqRn7LxZ5QQXuJaxlLFx8cDULVqVeexoKAg51/cU6ZMKTSg+PXXX/nll18AePHFF2+kuk6jRo0iODiYc+fOMX78+Kvm37BhwzVd9/bbb8dgMLBt2za2b99+TefkjJU6cOBAnjRVVVm2bNk1XacounbtisFgIC4uzu23VAuSE1xardbrPjc6OhqAr7/+Ot/0nKD8SnfeeSfgmDbiWtpscQgKCmLSpEmEhISQkZHB4cOHr3rO9XyvnnvuOcAxKD5nsLxM9yCKSoItIUqRuXPnMmjQoHwHFavZE3vmPBHVr18/l/RJkyY554fq0qVLnmuoqspXX33Fww8/DDgCpO7du7ul3uXLl+fLL79Eo9Ewa9YsnnjiiXyDjVOnTjFy5EiXpxkLExYWxvDhwwF48MEH8zzZpqoqa9euJTk52XksZ0b8//3vfy4TiFosFsaPH8/ff/99vW/vmoWHhzNq1CjS09O566672LNnT548JpOJn3/++bp66wqTE3QXNidWQYYOHUpAQACbN29m9uzZLmlxcXHMmzcv3/Puuece5/qWjz/+eL7jshITE5k3b16RgsDcMjIyeO+99/ItY8OGDSQlJaHVal3++ChITp5//vnnqk919urVi1tuuYXly5eza9cuateu7QwyhbhechtRiFLEYrHw5Zdf8uWXX1KxYkVatGhBhQoVSEpKYv/+/c7bOo8++ihDhw51OddoNLJ69Wr69evH8uXL6dChA02aNKFBgwZYLBb+/vtvTp48iUaj4YUXXuCtt94qtC5Xzoh+pcmTJ7sMTL777rv59ddfGThwIPPnz2fBggW0bt2a6tWrOxei3rVrF6qq0r59+2v+nkyfPp2jR4/y888/06xZM9q1a0fNmjW5cOEC+/bt49SpUxw9etT5dGCHDh245557+Omnn2jdujW33XYbvr6+bN++nZSUFJ577rkClxNyh7feeoszZ86wcOFCmjdvTrNmzahVqxY6nY6TJ0+yc+dO0tPTWbZsmVsG/vft25d169bx6KOP0r17d8qVKwdATEwM9erVK/TcypUr8+mnn/Loo4/y3HPP8dlnn9G4cWNOnTrFhg0bGD16NO+//36e8zQaDUuWLKF3794sWLDAOS1HtWrVMJvN/Pfff+zZswebzcbgwYPzfWLxWpnNZsaOHUtMTAxNmjShTp066PV6jh07xp9//gnASy+9dE2rLlSrVo3WrVuzdetWmjRpQuvWrfHx8aFChQp5fh80Gg0jR45k9OjRADzzzDNXfehBiAJ5aH4vIUQ+UlJS1CVLlqijRo1S27Ztq1atWlXV6/Wqr6+vWrt2bbV///7qsmXLrnqdpUuXqv369VOrVaum+vj4qAEBAWq9evXU4cOHq7t37y7wvNyTml7ttWPHjnyvkZqaqr7//vvqHXfcoUZERKgGg0H18/NT69atqz766KPqr7/+qtrt9uv6vtjtdnXhwoVq9+7d1fLly6t6vV6NiIhQO3bsqM6YMSPPgt1ZWVnqyy+/rNaqVUvV6/VqWFiY2r9/f/XIkSNXndT0yuO5FTRZZn5+++039f7771erVKmi6vV6NSQk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JSoqikmTJhV63uDBg+nfvz8AU6dOZfbs2WzZsoWePXsyd+5cIiMjmTNnDoqiUL9+fU6fPs348eN59dVXycjIYP78+Xz11Vd07doVgAULFlC1alXn9ePj44mNjSU+Pp7KlSsDMG7cOJYvX05sbGyBUys98sgjVK9encqVK7N7927Gjx/PoUOH+PHHH6/6vShObgm21q1bx5o1a9i4cSMnT57kwoUL+Pn5UbFiRZo0aUJ0dDR9+vQp8LZaafb++++j0Wjo27evy6SmObRaLb/++ivDhw8nKioKf39/Bg0a5HK/WJQ86dkSpYP0bImyY8iQIaSmprJq1SrnvIUFyT0npb+/P0FBQc47PAcOHCAqKsplPrsOHTqQlpbGyZMnSUxMxGw2067d5UA0NDSUevXqOff37NmDzWajbt26LuWaTCbKly9fYL2efPJJ53aTJk2oVKkSXbt25d9//6V27dpX+Q4UnyIHW+np6cyePZtPP/2U48ePO7ssfXx8CA0NJTMzk71797J7926+/vpr9Ho9d911F88//zwdOnRw2xtwtyvvB/v4+PDhhx8WOh9O9erV+e2334q5ZuJ6+MuYLSGEh/nqfPnrkb88Vvb1mDJlCitWrGDLli0EBgZeNb9er3fZVxTFrSsmpKWlodVq2bZtG1qt6zq0AQEB13ydnIDuyJEjZS/YmjdvHq+//jpnz56ladOmvPHGG0RFRdG6dWuXH5Kqqvzzzz/89ddfrFy5kp9++onFixdzzz338O6771KzZk23vREhcvMPcb2NKI/WC4+Qji2vpijKNd3K87QffviByZMns2zZMrcEJA0aNOCHH35AVVVn79bGjRsJDAykatWqhIaGotfr+euvv6hWrRoAiYmJHD58mOjoaABatGiBzWbj3LlzdOzYsch12blzJwCVKlW6sTd1g4oUbI0aNYr+/fvzwgsv5BnzlJuiKNStW5e6devy2GOPkZmZyddff820adP43//+x6uvvlrkigsBjmVObq3dApu2Ihrt5W5v/2AjGo2WDrVuo+KF3WgyMuA6/hoSwh10Wi0hHUJQyLskj06nY9CgQc5tITxh7969DBw4kPHjx9OoUSPn/JAGg4HQ0NAiXfOZZ55h5syZjBo1ipEjR3Lo0CFee+01xowZg0ajISAggKFDhxITE0P58uUJCwvjpZdecrl1WbduXQYMGMDA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ssotwda3337rsvD0H3/8wR9//OF88qZChQq0aNGCVq1a8eabb7qjSCGEEEKIMsFtM8g/8MADzv3z5887A6+cIGz16tWsWrVKgi0hhNeQqR6EEODGGeRzq1ixInfccQd33HGH81hmZia7d+8ujuKEEEIIIUottwyQ37dvHytXriz0iRpfX1+XFb6FEOKm59KxJYO2hPBWbgm2pk6dyj333JNnqv3Sbtq0abRp04bAwEDCwsK49957OXTokEuerKwsRowYQfny5QkICKBv376cPXvWJU98fDy9e/fGz8+PsLAwYmJisFqtJflWvJZGo6FeeE1uqdQszy0bjUZDdHQ00dHReZZKEaIkaDQabqnUjFsqNZX2KcRVdO7cmdGjR3u6GsXCLb/hGzdu5M4776Ry5cr5ph8+fJi+ffuyceNGdxTnNuvXr2fEiBH8+eefrFq1CovFQvfu3V166J5//nl++eUXvvvuO9avX8/p06e5//77nek2m43evXtjNpvZtGkTCxYs4IsvvuDVV1/1xFvyOr6+vrzQ8wlG3/0eBp0+T1pcXBxxcXH4+vp6qIbCm/n4+DD67vcYfdc7edqgtE8h3O+TTz6hc+fOBAUFoSgKSUlJefJcunSJAQMGEBQUREhICEOHDiXtinnw3M0twVZCQgJ169YtML1u3brs27ePWbNmuaM4t1m+fDmDBw+mUaNGNGvWjC+++IL4+Hi2bdsGQHJyMvPnz+e9997j9ttvp1WrVsTGxrJp0yb+/PNPAFauXMn+/fv56quvaN68OXfeeSdvvPEGH374IWazubDihbvJYGRRyuT0ZinITUQhSkJGRgY9e/bkxRdfLDDPgAED2LdvH6tWreLXX3/l999/58knnyzWerkl2AoODiYlJaXQPLfeeit//fWXO4orNjm3QUNDQwHYtm0bFouFbt26OfPUr1+fatWqsXnzZgA2b95MkyZNCA8Pd+bp0aMHKSkpBU7wajKZSElJcXmJolNlSRRRSuXE/9JGRWl17Nix7HVJXV+dO3cu8BxFUfjss8+477778PPzo06dOvz8888uedavX0/btm0xGo1UqlSJCRMmuAyvSU9PZ+DAgQQEBFCpUiXefffdPOWYTCbGjRtHlSpV8Pf3p127dsTFxRX6fkaPHs2ECROcazVf6cCBAyxfvpzPPvuMdu3acdttt/HBBx+waNEi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+e677/j888/dUZxbHDx4ELvdzscff8y+fft4//33mTdvHi+++KIzT0pKCt27d6d69eps27aNGTNmMGnSJD755BNnnk2bNtG/f3+GDh3Kjh07uPfee7n33nvZu3evJ96W11EUhUCfAAJ9Q/JdrqdixYpUrFgxT5oQJUFRFDTBOsrpDCiKgilXsCXtUwjv4ZZga//+/bRt29a5n5qaytKlS3n44YdZvXo1W7ZsoUGDBqUq2OrZsyexsbF0796dWrVqcffddzNu3Dh+/PFHZ56vv/4as9nM559/TqNGjejXrx/PPvss7733njPPrFmz6NmzJzExMTRo0IA33niDli1bMmfOHE+8LSFEKaIoCpkG0FkdS/bIbUQhvJNbgq1Lly4RERHh3P/jjz+wWq30798fAL1ezx133MG///7rjuKKTXJyMqGhoc79zZs306lTJwwGg/NYjx49OHTokPOW6ebNm+nWrZvLdXr06MHmzZtLptJezmQy8fVfS/hmwywsNmuetBEjRjBixAhMJpOHaii8mdlsZm3cGf635QssNjOmXOsjSvsUwnu4JdgKCgri4sWLzv1169ah0Wjo2LGj85heryc9Pd0dxRWLI0eO8MEHHzjXKgNISEggPDzcJV/OfkJCQqF5ctLzYzKZSElJcXmJorFaraw7tJkN+3/GbrfnSZs7dy5z587FKpMcCQ+wWq0c2J7I6n9/x263ufRsSfsUwnu4JdiqX78+v/zyCxcvXiQpKYmFCxfSqlUrlzFcx48fzxOUFIcJEyagKEqhr4MHD7qcc+rUKXr27MmDDz7IsGHDir2O06ZNIzg42PmKjIws9jKFEJ5nzpKgSghvVKRJTa/07LPP8uCDD1K1alVnD9aUKVNc8vz555+0bNnSHcUVauzYsQwePLjQPLVq1XJunz59mi5dunDrrbe6DHwHiIiI4OzZsy7HcvZzbpsWlCf3bdUrTZw4kTFjxjj3U1JSJOASwgvImC0hvJNbgq2+ffvy4YcfOtc97Nevn0vAs379elJSUujZs6c7iitUztM91+LUqVN06dKFVq1aERsbi0bj2tEXFRXFSy+9hMViQa93TCuwatUq6tWr5+y1i4qKYs2aNYwePdp53qpVq4iKiiqwXKPRiNFovM53JoQoa5QrVuw0ZZae6W+EECXHLcEWwPDhwxk+fHi+adHR0S5zcJUGp06d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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "# Need to initialize the setpoint for the inner controller or else it starts with the default value 0.5.\n", + "m.fs.feed_heater_inner_controller.setpoint[0].value = (\n", + " m.fs.feed_heater_outer_controller.mv_ref[0].value\n", + ")\n", + "m.fs.sweep_heater_inner_controller.setpoint[0].value = (\n", + " m.fs.sweep_heater_outer_controller.mv_ref[0].value\n", + ")\n", + "for ctrl in m.fs.controller_set:\n", + " if hasattr(ctrl, \"mv_eqn\"):\n", + " calculate_variable_from_constraint(ctrl.manipulated_var[0], ctrl.mv_eqn[0])" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here we run PETSc to integrate the flowsheet with the TS integrator. Because we are loading from a solved flowsheet, in principle we could set `skip_initial=True`. However, due to user error there is sometimes a discrepancy between the setpoints loaded and the initial conditions loaded, so we leave it in. There are many options for PETSc-TS that can be read about in the PETSc documentation." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "idaeslog.solver_log.tee = True\n", + "results = petsc.petsc_dae_by_time_element(\n", + " m,\n", + " time=m.fs.time,\n", + " keepfiles=True,\n", + " symbolic_solver_labels=True,\n", + " ts_options={\n", + " \"--ts_type\": \"beuler\",\n", + " \"--ts_dt\": 0.1,\n", + " \"--ts_rtol\": 1e-3,\n", + " # \"--ts_adapt_clip\":\"0.001,3600\",\n", + " # \"--ksp_monitor\":\"\",\n", + " \"--ts_adapt_dt_min\": 1e-3,\n", + " \"--ts_adapt_dt_max\": 3600,\n", + " \"--snes_type\": \"newtontr\",\n", + " # \"--ts_max_reject\": 200,\n", + " # \"--snes_monitor\":\"\",\n", + " \"--ts_monitor\": \"\",\n", + " \"--ts_save_trajectory\": 1,\n", + " \"--ts_trajectory_type\": \"visualization\",\n", + " \"--ts_max_snes_failures\": 25,\n", + " # \"--show_cl\":\"\",\n", + " \"-snes_max_it\": 50,\n", + " \"-snes_rtol\": 0,\n", + " \"-snes_stol\": 0,\n", + " \"-snes_atol\": 1e-6,\n", + " },\n", + " skip_initial=False,\n", + " initial_solver=\"ipopt\",\n", + " initial_solver_options={\n", + " \"constr_viol_tol\": 1e-8,\n", + " \"nlp_scaling_method\": \"user-scaling\",\n", + " \"linear_solver\": \"ma57\",\n", + " \"OF_ma57_automatic_scaling\": \"yes\",\n", + " \"max_iter\": 300,\n", + " \"tol\": 1e-8,\n", + " \"halt_on_ampl_error\": \"no\",\n", + " },\n", + ")\n", + "for result in results.results:\n", + " pyo.assert_optimal_termination(result)" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Load certain variables into a dictionary for plotting convenience." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "ramp_list = np.array(m.fs.time)[1:]\n", + "traj = results.trajectory\n", + "\n", + "time_set = m.fs.time.ordered_data()\n", + "tf = time_set[-1]\n", + "soec = m.fs.soc_module.solid_oxide_cell\n", + "\n", + "results_dict = {\n", + " \"ramp_list\": np.array(ramp_list),\n", + " \"time\": np.array(traj.time),\n", + " \"potential\": np.array(traj.vecs[str(soec.potential[tf])]),\n", + " \"current\": np.array(traj.vecs[str(m.fs.soc_module.total_current[tf])]),\n", + " \"soec_fuel_inlet_flow\": np.array(\n", + " traj.vecs[str(m.fs.soc_module.fuel_inlet.flow_mol[tf])]\n", + " ),\n", + " \"soec_oxygen_inlet_flow\": np.array(\n", + " traj.vecs[str(m.fs.soc_module.oxygen_inlet.flow_mol[tf])]\n", + " ),\n", + " \"fuel_heater_duty\": np.array(\n", + " traj.vecs[str(m.fs.feed_heater.electric_heat_duty[tf])]\n", + " ),\n", + " \"sweep_heater_duty\": np.array(\n", + " traj.vecs[str(m.fs.sweep_heater.electric_heat_duty[tf])]\n", + " ),\n", + " \"fuel_inlet_H2\": np.array(traj.vecs[str(soec.fuel_inlet.mole_frac_comp[tf, \"H2\"])]),\n", + " \"fuel_inlet_H2O\": np.array(\n", + " traj.vecs[str(soec.fuel_inlet.mole_frac_comp[tf, \"H2O\"])]\n", + " ),\n", + " \"fuel_outlet_H2O\": np.array(\n", + " traj.vecs[\n", + " str(\n", + " soec.fuel_channel.mole_frac_comp[\n", + " tf,\n", + " soec.iznodes.last(),\n", + " \"H2O\",\n", + " ]\n", + " )\n", + " ]\n", + " ),\n", + " \"sweep_inlet_O2\": np.array(\n", + " traj.vecs[str(soec.oxygen_inlet.mole_frac_comp[tf, \"O2\"])]\n", + " ),\n", + " \"sweep_outlet_O2\": np.array(\n", + " traj.vecs[\n", + " str(soec.oxygen_channel.mole_frac_comp[tf, soec.iznodes.first(), \"O2\"])\n", + " ]\n", + " ),\n", + " \"H2_production\": np.array(traj.vecs[str(m.fs.h2_mass_production[tf])]),\n", + " \"fuel_outlet_mole_frac_comp_H2\": np.array(\n", + " traj.vecs[str(m.fs.soc_module.fuel_outlet_mole_frac_comp_H2[tf])]\n", + " ),\n", + " \"steam_feed_rate\": np.array(traj.vecs[str(m.fs.makeup_mix.makeup.flow_mol[tf])]),\n", + " \"sweep_feed_rate\": np.array(traj.vecs[str(m.fs.sweep_blower.inlet.flow_mol[tf])]),\n", + " \"total_electric_power\": np.array(traj.vecs[str(m.fs.total_electric_power[tf])]),\n", + " \"fuel_inlet_temperature\": np.array(\n", + " traj.vecs[str(soec.fuel_channel.temperature_inlet[tf])]\n", + " ),\n", + " \"sweep_inlet_temperature\": np.array(\n", + " traj.vecs[str(soec.oxygen_channel.temperature_inlet[tf])]\n", + " ),\n", + " \"stack_core_temperature\": np.array(traj.vecs[str(m.fs.stack_core_temperature[tf])]),\n", + " \"fuel_outlet_temperature\": np.array(\n", + " traj.vecs[str(soec.fuel_channel.temperature_outlet[tf])]\n", + " ),\n", + " \"sweep_outlet_temperature\": np.array(\n", + " traj.vecs[str(soec.oxygen_channel.temperature_outlet[tf])]\n", + " ),\n", + " \"product_mole_frac_H2\": np.array(\n", + " traj.vecs[str(m.fs.condenser_split.inlet.mole_frac_comp[tf, \"H2\"])]\n", + " ),\n", + " \"condenser_outlet_temperature\": np.array(\n", + " traj.vecs[\n", + " str(m.fs.condenser_flash.control_volume.properties_out[tf].temperature)\n", + " ]\n", + " ),\n", + " \"condenser_heat_duty\": np.array(traj.vecs[str(m.fs.condenser_flash.heat_duty[tf])]),\n", + " \"temperature_z\": np.array(\n", + " [traj.vecs[str(soec.temperature_z[tf, iz])] for iz in soec.iznodes]\n", + " ),\n", + " \"fuel_electrode_temperature_deviation_x\": np.array(\n", + " [\n", + " traj.vecs[str(soec.fuel_electrode.temperature_deviation_x[tf, 1, iz])]\n", + " for iz in soec.iznodes\n", + " ]\n", + " ),\n", + " \"interconnect_temperature_deviation_x\": np.array(\n", + " [\n", + " traj.vecs[str(soec.interconnect.temperature_deviation_x[tf, 1, iz])]\n", + " for iz in soec.iznodes\n", + " ]\n", + " ),\n", + " \"temperature_z_gradient\": np.array(\n", + " [traj.vecs[str(soec.dtemperature_z_dz[tf, iz])] for iz in soec.iznodes]\n", + " ),\n", + " \"fuel_electrode_gradient\": np.array(\n", + " [\n", + " traj.vecs[str(soec.fuel_electrode.dtemperature_dz[tf, 1, iz])]\n", + " for iz in soec.iznodes\n", + " ]\n", + " ),\n", + " \"fuel_electrode_mixed_partial\": np.array(\n", + " [\n", + " traj.vecs[str(soec.fuel_electrode.d2temperature_dzdt_dummy[tf, 1, iz])]\n", + " for iz in soec.iznodes\n", + " ]\n", + " ),\n", + " \"interconnect_gradient\": np.array(\n", + " [\n", + " traj.vecs[str(soec.interconnect.dtemperature_dz[tf, 1, iz])]\n", + " for iz in soec.iznodes\n", + " ]\n", + " ),\n", + " \"current_density\": np.array(\n", + " [traj.vecs[str(soec.current_density[tf, iz])] for iz in soec.iznodes]\n", + " ),\n", + " \"feed_heater_temperature\": np.array(\n", + " [\n", + " traj.vecs[str(m.fs.feed_heater.temp_wall_center[tf, z])]\n", + " for z in m.fs.feed_heater.control_volume.length_domain\n", + " ]\n", + " ),\n", + " \"sweep_heater_temperature\": np.array(\n", + " [\n", + " traj.vecs[str(m.fs.sweep_heater.temp_wall_center[tf, z])]\n", + " for z in m.fs.sweep_heater.control_volume.length_domain\n", + " ]\n", + " ),\n", + " \"feed_medium_exchanger_temperature\": np.array(\n", + " [\n", + " traj.vecs[str(m.fs.feed_medium_exchanger.temp_wall_center[tf, z])]\n", + " for z in m.fs.feed_medium_exchanger.cold_side.length_domain\n", + " ]\n", + " ),\n", + " \"feed_hot_exchanger_temperature\": np.array(\n", + " [\n", + " traj.vecs[str(m.fs.feed_hot_exchanger.temp_wall_center[tf, z])]\n", + " for z in m.fs.feed_hot_exchanger.cold_side.length_domain\n", + " ]\n", + " ),\n", + " \"sweep_exchanger_temperature\": np.array(\n", + " [\n", + " traj.vecs[str(m.fs.sweep_exchanger.temp_wall_center[tf, z])]\n", + " for z in m.fs.sweep_exchanger.cold_side.length_domain\n", + " ]\n", + " ),\n", + "}\n", + "\n", + "for controller in m.fs.controller_set:\n", + " ctrl_name = controller.local_name\n", + " results_dict[ctrl_name + \"_mv_ref\"] = np.array(\n", + " traj.vecs[str(controller.mv_ref[tf])]\n", + " )\n", + " results_dict[ctrl_name + \"_setpoint\"] = np.array(\n", + " traj.vecs[str(controller.setpoint[tf])]\n", + " )" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here we plot a number of system variables that we use to gauge system performance. The user is free to adapt this code to view other variables of interest." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "def _demarcate_ramps(ax, results_dict):\n", + " for tpoint in np.squeeze(results_dict[\"ramp_list\"])[:-1]:\n", + " ax.plot(np.array([tpoint, tpoint]) / 60**2, [-1e6, 1e6], \"k--\")" ] - }, - "metadata": {}, - "output_type": "display_data" + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "include_PI = True\n", + "\n", + "for key, value in results_dict.items():\n", + " # Turn n by 1 arrays in into vectors\n", + " results_dict[key] = np.squeeze(value)\n", + "\n", + "demarcate_ramps = lambda ax: _demarcate_ramps(ax, results_dict)\n", + "\n", + "time = results_dict[\"time\"] / 60**2\n", + "\n", + "ax_fontsize = 14\n", + "title_fontsize = 16\n", + "iz_plot = [1, 3, 5, 8, 10]\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "\n", + "ax.plot(time, results_dict[\"potential\"])\n", + "if include_PI:\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"voltage_controller_mv_ref\"],\n", + " color=\"darkblue\",\n", + " linestyle=\"dotted\",\n", + " )\n", + "demarcate_ramps(ax)\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((0.65, 1.45))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Cell potential (V)\", fontsize=ax_fontsize)\n", + "ax.set_title(\"SOEC Voltage\", fontsize=title_fontsize)\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "\n", + "ax.plot(time, results_dict[\"current\"] * 1e-6)\n", + "demarcate_ramps(ax)\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((-250, 125))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Current (MA)\", fontsize=ax_fontsize)\n", + "ax.set_title(\"Total module current\", fontsize=title_fontsize)\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "\n", + "ax.plot(time, results_dict[\"soec_fuel_inlet_flow\"], label=\"Fuel\")\n", + "ax.plot(time, results_dict[\"soec_oxygen_inlet_flow\"], label=\"Sweep\")\n", + "demarcate_ramps(ax)\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((0, 20000))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"SOEC inlet molar flow (mol/s)\", fontsize=ax_fontsize)\n", + "ax.set_title(\"Inlet molar flow rates\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "ax.plot(time, 1e-6 * results_dict[\"fuel_heater_duty\"], label=\"Fuel\", color=\"tab:blue\")\n", + "ax.plot(\n", + " time, 1e-6 * results_dict[\"sweep_heater_duty\"], label=\"Sweep\", color=\"tab:orange\"\n", + ")\n", + "if include_PI:\n", + " ax.plot(\n", + " time,\n", + " 1e-6 * results_dict[\"feed_heater_inner_controller_mv_ref\"],\n", + " label=\"Fuel reference\",\n", + " color=\"darkblue\",\n", + " linestyle=\"dotted\",\n", + " )\n", + " ax.plot(\n", + " time,\n", + " 1e-6 * results_dict[\"sweep_heater_inner_controller_mv_ref\"],\n", + " label=\"Sweep reference\",\n", + " color=\"saddlebrown\",\n", + " linestyle=\"dotted\",\n", + " )\n", + "demarcate_ramps(ax)\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((0, 11))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Heater duty (MW)\", fontsize=ax_fontsize)\n", + "ax.set_title(\"Trim heater duties\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "ax.plot(time, results_dict[\"fuel_inlet_H2O\"], label=\"Inlet $H_2O$\")\n", + "ax.plot(time, results_dict[\"fuel_outlet_H2O\"], label=\"Outlet $H_2O$\")\n", + "ax.plot(time, results_dict[\"sweep_inlet_O2\"], label=\"Inlet $O_2$\")\n", + "ax.plot(time, results_dict[\"sweep_outlet_O2\"], label=\"Outlet $O_2$\")\n", + "ax.plot(time, results_dict[\"product_mole_frac_H2\"], label=\"Product $H_2$\")\n", + "ax.plot(time, 0.35 * np.ones(time.shape), \"--\")\n", + "ax.plot(time, 0.25 * np.ones(time.shape), \"--\")\n", + "demarcate_ramps(ax)\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((0, 1))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Mole fraction\", fontsize=ax_fontsize)\n", + "ax.set_title(\"Reactor feed and effluent concentrations\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "ax.plot(time, results_dict[\"H2_production\"])\n", + "demarcate_ramps(ax)\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((-1.25, 2.5))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Hydrogen Production Rate (kg/s)\", fontsize=ax_fontsize)\n", + "ax.set_title(\"Instantaneous $H_2$ production rate\", fontsize=title_fontsize)\n", + "\n", + "if include_PI:\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"h2_production_rate_controller_setpoint\"],\n", + " label=\"Target\",\n", + " color=\"darkblue\",\n", + " linestyle=\"dotted\",\n", + " )\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "ax.plot(time, results_dict[\"steam_feed_rate\"])\n", + "if include_PI:\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"h2_production_rate_controller_mv_ref\"],\n", + " label=\"Target\",\n", + " color=\"darkblue\",\n", + " linestyle=\"dotted\",\n", + " )\n", + "demarcate_ramps(ax)\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((0, 7500))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Steam feed rate (mol/s)\", fontsize=ax_fontsize)\n", + "ax.set_title(\"Steam feed rate\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "ax.plot(time, results_dict[\"sweep_feed_rate\"])\n", + "if include_PI:\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"sweep_blower_controller_mv_ref\"],\n", + " label=\"Target\",\n", + " color=\"darkblue\",\n", + " linestyle=\"dotted\",\n", + " )\n", + "demarcate_ramps(ax)\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((0, 11000))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Sweep feed rate (mol/s)\", fontsize=ax_fontsize)\n", + "ax.set_title(\"Sweep feed rate\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "ax.plot(time, 1e-6 * results_dict[\"total_electric_power\"], \"b\", label=\"Total power\")\n", + "demarcate_ramps(ax)\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((-125, 350))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Power usage (MW)\", color=\"blue\", fontsize=ax_fontsize)\n", + "ax.set_title(\"Power usage\", fontsize=title_fontsize)\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "\n", + "ax.plot(time, results_dict[\"fuel_inlet_temperature\"], label=\"Fuel\", color=\"tab:blue\")\n", + "ax.plot(\n", + " time, results_dict[\"sweep_inlet_temperature\"], label=\"Sweep\", color=\"tab:orange\"\n", + ")\n", + "ax.plot(\n", + " time, results_dict[\"stack_core_temperature\"], label=\"Stack core\", color=\"darkgreen\"\n", + ")\n", + "\n", + "if include_PI:\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"feed_heater_inner_controller_setpoint\"],\n", + " label=\"Fuel target\",\n", + " color=\"darkblue\",\n", + " linestyle=\"dotted\",\n", + " )\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"sweep_heater_inner_controller_setpoint\"],\n", + " label=\"Sweep target\",\n", + " color=\"saddlebrown\",\n", + " linestyle=\"dotted\",\n", + " )\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"sweep_blower_controller_setpoint\"],\n", + " label=\"Core target\",\n", + " color=\"olivedrab\",\n", + " linestyle=\"dotted\",\n", + " )\n", + "\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((850, 1150))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", + "demarcate_ramps(ax)\n", + "ax.set_title(\"SOEC temperature\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "\n", + "ax.plot(time, results_dict[\"fuel_outlet_temperature\"], label=\"Fuel\", color=\"tab:blue\")\n", + "ax.plot(\n", + " time, results_dict[\"sweep_outlet_temperature\"], label=\"Sweep\", color=\"tab:orange\"\n", + ")\n", + "if include_PI:\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"feed_heater_outer_controller_setpoint\"],\n", + " label=\"Fuel target\",\n", + " color=\"darkblue\",\n", + " linestyle=\"dotted\",\n", + " )\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"sweep_heater_outer_controller_setpoint\"],\n", + " label=\"Sweep target\",\n", + " color=\"saddlebrown\",\n", + " linestyle=\"dotted\",\n", + " )\n", + "\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((890, 1100))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", + "demarcate_ramps(ax)\n", + "ax.set_title(\"SOEC outlet temperature\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "\n", + "for iz in iz_plot:\n", + " ax.plot(time, results_dict[\"temperature_z\"][iz - 1, :], label=f\"z node {iz}\")\n", + "\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((890, 1100))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", + "demarcate_ramps(ax)\n", + "ax.set_title(\"SOEC temperature profile\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "\n", + "for iz in iz_plot:\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"temperature_z\"][iz - 1, :]\n", + " + results_dict[\"fuel_electrode_temperature_deviation_x\"][iz - 1, :],\n", + " label=f\"z node {iz}\",\n", + " )\n", + "\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((890, 1100))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", + "demarcate_ramps(ax)\n", + "ax.set_title(\"Temperature electrode\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "\n", + "for iz in iz_plot:\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"temperature_z\"][iz - 1, :]\n", + " + results_dict[\"interconnect_temperature_deviation_x\"][iz - 1, :],\n", + " label=f\"z node {iz}\",\n", + " )\n", + "\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((890, 1100))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", + "demarcate_ramps(ax)\n", + "ax.set_title(\"Temperature interconnect\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "\n", + "for iz in iz_plot:\n", + " ax.plot(\n", + " time, results_dict[\"fuel_electrode_gradient\"][iz - 1, :], label=f\"node {iz}\"\n", + " )\n", + "\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((-1000, 1000))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"$dT/dz$ ($K/m$)\", fontsize=ax_fontsize)\n", + "ax.set_title(\"SOEC PEN temperature gradient\", fontsize=title_fontsize)\n", + "demarcate_ramps(ax)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "\n", + "for iz in iz_plot:\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"fuel_electrode_mixed_partial\"][iz - 1, :],\n", + " label=f\"node {iz}\",\n", + " )\n", + "\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((-2, 2))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"$d^2T/dzdt$ ($K/(m s)$)\", fontsize=ax_fontsize)\n", + "ax.set_title(\"SOEC PEN temperature mixed partial\", fontsize=title_fontsize)\n", + "demarcate_ramps(ax)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "\n", + "for iz in iz_plot:\n", + " ax.plot(time, results_dict[\"current_density\"][iz - 1, :] / 10, label=f\"z node {iz}\")\n", + "\n", + "ax.set_xlim(time[0], time[-1])\n", + "# ax.set_ylim((575,875))\n", + "ax.set_ylim((-1000, 650))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Current density ($mA/cm^2$)\", fontsize=ax_fontsize)\n", + "ax.set_title(\"SOEC current density\", fontsize=title_fontsize)\n", + "demarcate_ramps(ax)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", + "for z in range(results_dict[\"feed_heater_temperature\"].shape[0]):\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"feed_heater_temperature\"][z, :],\n", + " label=f\"Feed wall node {z+1}\",\n", + " )\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"sweep_heater_temperature\"][z, :],\n", + " label=f\"Sweep wall node {z+1}\",\n", + " )\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((870, 1175))\n", + "demarcate_ramps(ax)\n", + "ax.set_title(\"Trim heater wall temperature\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", + "for z in range(results_dict[\"feed_medium_exchanger_temperature\"].shape[0]):\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"feed_medium_exchanger_temperature\"][z, :],\n", + " label=f\"Node {z + 1}\",\n", + " )\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((370, 520))\n", + "demarcate_ramps(ax)\n", + "ax.set_title(\"Medium exchanger wall temperature\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", + "\n", + "for z in range(results_dict[\"feed_hot_exchanger_temperature\"].shape[0]):\n", + " ax.plot(\n", + " time,\n", + " results_dict[\"feed_hot_exchanger_temperature\"][z, :],\n", + " label=f\"Node {z + 1}\",\n", + " )\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((700, 950))\n", + "demarcate_ramps(ax)\n", + "ax.set_title(\"Hot exchanger wall temperature\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", + "for z in range(results_dict[\"sweep_exchanger_temperature\"].shape[0]):\n", + " ax.plot(time, results_dict[\"sweep_exchanger_temperature\"][z, :], label=f\"Node {z}\")\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((700, 1020))\n", + "demarcate_ramps(ax)\n", + "ax.set_title(\"Sweep exchanger wall temperature\", fontsize=title_fontsize)\n", + "ax.legend()\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "ax2 = ax.twinx()\n", + "\n", + "ax.plot(\n", + " time,\n", + " results_dict[\"condenser_outlet_temperature\"],\n", + " label=\"Temperature\",\n", + " color=\"tab:blue\",\n", + ")\n", + "ax2.plot(\n", + " time,\n", + " results_dict[\"product_mole_frac_H2\"],\n", + " label=\"H2 mole fraction\",\n", + " color=\"tab:orange\",\n", + ")\n", + "\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((273.15, 373.15))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize, color=\"tab:blue\")\n", + "ax2.set_ylim((0, 1))\n", + "ax2.set_ylabel(\"Mole fraction $H_2$\", fontsize=ax_fontsize, color=\"tab:orange\")\n", + "\n", + "demarcate_ramps(ax)\n", + "ax.set_title(\"Condenser Vapor Outlet\", fontsize=title_fontsize)\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.subplots()\n", + "\n", + "ax.plot(time, 1e-6 * results_dict[\"condenser_heat_duty\"])\n", + "\n", + "ax.set_xlim(time[0], time[-1])\n", + "ax.set_ylim((-40, -12))\n", + "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", + "ax.set_ylabel(\"Heat Duty (MW)\", fontsize=ax_fontsize)\n", + "\n", + "demarcate_ramps(ax)\n", + "ax.set_title(\"Condenser Heat Duty\", fontsize=title_fontsize)\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" } - ], - "source": [ - "include_PI = True\n", - "\n", - "for key, value in results_dict.items():\n", - " # Turn n by 1 arrays in into vectors\n", - " results_dict[key] = np.squeeze(value)\n", - "\n", - "demarcate_ramps = lambda ax: _demarcate_ramps(ax, results_dict)\n", - "\n", - "time = results_dict[\"time\"] / 60**2\n", - "\n", - "ax_fontsize = 14\n", - "title_fontsize = 16\n", - "iz_plot = [1, 3, 5, 8, 10]\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "\n", - "ax.plot(time, results_dict[\"potential\"])\n", - "if include_PI:\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"voltage_controller_mv_ref\"],\n", - " color=\"darkblue\",\n", - " linestyle=\"dotted\",\n", - " )\n", - "demarcate_ramps(ax)\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((0.65, 1.45))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Cell potential (V)\", fontsize=ax_fontsize)\n", - "ax.set_title(\"SOEC Voltage\", fontsize=title_fontsize)\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "\n", - "ax.plot(time, results_dict[\"current\"] * 1e-6)\n", - "demarcate_ramps(ax)\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((-250, 125))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Current (MA)\", fontsize=ax_fontsize)\n", - "ax.set_title(\"Total module current\", fontsize=title_fontsize)\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "\n", - "ax.plot(time, results_dict[\"soec_fuel_inlet_flow\"], label=\"Fuel\")\n", - "ax.plot(time, results_dict[\"soec_oxygen_inlet_flow\"], label=\"Sweep\")\n", - "demarcate_ramps(ax)\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((0, 20000))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"SOEC inlet molar flow (mol/s)\", fontsize=ax_fontsize)\n", - "ax.set_title(\"Inlet molar flow rates\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "ax.plot(time, 1e-6 * results_dict[\"fuel_heater_duty\"], label=\"Fuel\", color=\"tab:blue\")\n", - "ax.plot(\n", - " time, 1e-6 * results_dict[\"sweep_heater_duty\"], label=\"Sweep\", color=\"tab:orange\"\n", - ")\n", - "if include_PI:\n", - " ax.plot(\n", - " time,\n", - " 1e-6 * results_dict[\"feed_heater_inner_controller_mv_ref\"],\n", - " label=\"Fuel reference\",\n", - " color=\"darkblue\",\n", - " linestyle=\"dotted\",\n", - " )\n", - " ax.plot(\n", - " time,\n", - " 1e-6 * results_dict[\"sweep_heater_inner_controller_mv_ref\"],\n", - " label=\"Sweep reference\",\n", - " color=\"saddlebrown\",\n", - " linestyle=\"dotted\",\n", - " )\n", - "demarcate_ramps(ax)\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((0, 11))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Heater duty (MW)\", fontsize=ax_fontsize)\n", - "ax.set_title(\"Trim heater duties\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "ax.plot(time, results_dict[\"fuel_inlet_H2O\"], label=\"Inlet $H_2O$\")\n", - "ax.plot(time, results_dict[\"fuel_outlet_H2O\"], label=\"Outlet $H_2O$\")\n", - "ax.plot(time, results_dict[\"sweep_inlet_O2\"], label=\"Inlet $O_2$\")\n", - "ax.plot(time, results_dict[\"sweep_outlet_O2\"], label=\"Outlet $O_2$\")\n", - "ax.plot(time, results_dict[\"product_mole_frac_H2\"], label=\"Product $H_2$\")\n", - "ax.plot(time, 0.35 * np.ones(time.shape), \"--\")\n", - "ax.plot(time, 0.25 * np.ones(time.shape), \"--\")\n", - "demarcate_ramps(ax)\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((0, 1))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Mole fraction\", fontsize=ax_fontsize)\n", - "ax.set_title(\"Reactor feed and effluent concentrations\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "ax.plot(time, results_dict[\"H2_production\"])\n", - "demarcate_ramps(ax)\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((-1.25, 2.5))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Hydrogen Production Rate (kg/s)\", fontsize=ax_fontsize)\n", - "ax.set_title(\"Instantaneous $H_2$ production rate\", fontsize=title_fontsize)\n", - "\n", - "if include_PI:\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"h2_production_rate_controller_setpoint\"],\n", - " label=\"Target\",\n", - " color=\"darkblue\",\n", - " linestyle=\"dotted\",\n", - " )\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "ax.plot(time, results_dict[\"steam_feed_rate\"])\n", - "if include_PI:\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"h2_production_rate_controller_mv_ref\"],\n", - " label=\"Target\",\n", - " color=\"darkblue\",\n", - " linestyle=\"dotted\",\n", - " )\n", - "demarcate_ramps(ax)\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((0, 7500))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Steam feed rate (mol/s)\", fontsize=ax_fontsize)\n", - "ax.set_title(\"Steam feed rate\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "ax.plot(time, results_dict[\"sweep_feed_rate\"])\n", - "if include_PI:\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"sweep_blower_controller_mv_ref\"],\n", - " label=\"Target\",\n", - " color=\"darkblue\",\n", - " linestyle=\"dotted\",\n", - " )\n", - "demarcate_ramps(ax)\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((0, 11000))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Sweep feed rate (mol/s)\", fontsize=ax_fontsize)\n", - "ax.set_title(\"Sweep feed rate\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "ax.plot(time, 1e-6 * results_dict[\"total_electric_power\"], \"b\", label=\"Total power\")\n", - "demarcate_ramps(ax)\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((-125, 350))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Power usage (MW)\", color=\"blue\", fontsize=ax_fontsize)\n", - "ax.set_title(\"Power usage\", fontsize=title_fontsize)\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "\n", - "ax.plot(time, results_dict[\"fuel_inlet_temperature\"], label=\"Fuel\", color=\"tab:blue\")\n", - "ax.plot(\n", - " time, results_dict[\"sweep_inlet_temperature\"], label=\"Sweep\", color=\"tab:orange\"\n", - ")\n", - "ax.plot(\n", - " time, results_dict[\"stack_core_temperature\"], label=\"Stack core\", color=\"darkgreen\"\n", - ")\n", - "\n", - "if include_PI:\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"feed_heater_inner_controller_setpoint\"],\n", - " label=\"Fuel target\",\n", - " color=\"darkblue\",\n", - " linestyle=\"dotted\",\n", - " )\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"sweep_heater_inner_controller_setpoint\"],\n", - " label=\"Sweep target\",\n", - " color=\"saddlebrown\",\n", - " linestyle=\"dotted\",\n", - " )\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"sweep_blower_controller_setpoint\"],\n", - " label=\"Core target\",\n", - " color=\"olivedrab\",\n", - " linestyle=\"dotted\",\n", - " )\n", - "\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((850, 1150))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", - "demarcate_ramps(ax)\n", - "ax.set_title(\"SOEC temperature\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "\n", - "ax.plot(time, results_dict[\"fuel_outlet_temperature\"], label=\"Fuel\", color=\"tab:blue\")\n", - "ax.plot(\n", - " time, results_dict[\"sweep_outlet_temperature\"], label=\"Sweep\", color=\"tab:orange\"\n", - ")\n", - "if include_PI:\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"feed_heater_outer_controller_setpoint\"],\n", - " label=\"Fuel target\",\n", - " color=\"darkblue\",\n", - " linestyle=\"dotted\",\n", - " )\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"sweep_heater_outer_controller_setpoint\"],\n", - " label=\"Sweep target\",\n", - " color=\"saddlebrown\",\n", - " linestyle=\"dotted\",\n", - " )\n", - "\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((890, 1100))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", - "demarcate_ramps(ax)\n", - "ax.set_title(\"SOEC outlet temperature\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "\n", - "for iz in iz_plot:\n", - " ax.plot(time, results_dict[\"temperature_z\"][iz - 1, :], label=f\"z node {iz}\")\n", - "\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((890, 1100))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", - "demarcate_ramps(ax)\n", - "ax.set_title(\"SOEC temperature profile\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "\n", - "for iz in iz_plot:\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"temperature_z\"][iz - 1, :]\n", - " + results_dict[\"fuel_electrode_temperature_deviation_x\"][iz - 1, :],\n", - " label=f\"z node {iz}\",\n", - " )\n", - "\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((890, 1100))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", - "demarcate_ramps(ax)\n", - "ax.set_title(\"Temperature electrode\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "\n", - "for iz in iz_plot:\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"temperature_z\"][iz - 1, :]\n", - " + results_dict[\"interconnect_temperature_deviation_x\"][iz - 1, :],\n", - " label=f\"z node {iz}\",\n", - " )\n", - "\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((890, 1100))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", - "demarcate_ramps(ax)\n", - "ax.set_title(\"Temperature interconnect\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "\n", - "for iz in iz_plot:\n", - " ax.plot(\n", - " time, results_dict[\"fuel_electrode_gradient\"][iz - 1, :], label=f\"node {iz}\"\n", - " )\n", - "\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((-1000, 1000))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"$dT/dz$ ($K/m$)\", fontsize=ax_fontsize)\n", - "ax.set_title(\"SOEC PEN temperature gradient\", fontsize=title_fontsize)\n", - "demarcate_ramps(ax)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "\n", - "for iz in iz_plot:\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"fuel_electrode_mixed_partial\"][iz - 1, :],\n", - " label=f\"node {iz}\",\n", - " )\n", - "\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((-2, 2))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"$d^2T/dzdt$ ($K/(m s)$)\", fontsize=ax_fontsize)\n", - "ax.set_title(\"SOEC PEN temperature mixed partial\", fontsize=title_fontsize)\n", - "demarcate_ramps(ax)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "\n", - "for iz in iz_plot:\n", - " ax.plot(time, results_dict[\"current_density\"][iz - 1, :] / 10, label=f\"z node {iz}\")\n", - "\n", - "ax.set_xlim(time[0], time[-1])\n", - "# ax.set_ylim((575,875))\n", - "ax.set_ylim((-1000, 650))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Current density ($mA/cm^2$)\", fontsize=ax_fontsize)\n", - "ax.set_title(\"SOEC current density\", fontsize=title_fontsize)\n", - "demarcate_ramps(ax)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", - "for z in range(results_dict[\"feed_heater_temperature\"].shape[0]):\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"feed_heater_temperature\"][z, :],\n", - " label=f\"Feed wall node {z+1}\",\n", - " )\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"sweep_heater_temperature\"][z, :],\n", - " label=f\"Sweep wall node {z+1}\",\n", - " )\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((870, 1175))\n", - "demarcate_ramps(ax)\n", - "ax.set_title(\"Trim heater wall temperature\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", - "for z in range(results_dict[\"feed_medium_exchanger_temperature\"].shape[0]):\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"feed_medium_exchanger_temperature\"][z, :],\n", - " label=f\"Node {z + 1}\",\n", - " )\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((370, 520))\n", - "demarcate_ramps(ax)\n", - "ax.set_title(\"Medium exchanger wall temperature\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", - "\n", - "for z in range(results_dict[\"feed_hot_exchanger_temperature\"].shape[0]):\n", - " ax.plot(\n", - " time,\n", - " results_dict[\"feed_hot_exchanger_temperature\"][z, :],\n", - " label=f\"Node {z + 1}\",\n", - " )\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((700, 950))\n", - "demarcate_ramps(ax)\n", - "ax.set_title(\"Hot exchanger wall temperature\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize)\n", - "for z in range(results_dict[\"sweep_exchanger_temperature\"].shape[0]):\n", - " ax.plot(time, results_dict[\"sweep_exchanger_temperature\"][z, :], label=f\"Node {z}\")\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((700, 1020))\n", - "demarcate_ramps(ax)\n", - "ax.set_title(\"Sweep exchanger wall temperature\", fontsize=title_fontsize)\n", - "ax.legend()\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "ax2 = ax.twinx()\n", - "\n", - "ax.plot(\n", - " time,\n", - " results_dict[\"condenser_outlet_temperature\"],\n", - " label=\"Temperature\",\n", - " color=\"tab:blue\",\n", - ")\n", - "ax2.plot(\n", - " time,\n", - " results_dict[\"product_mole_frac_H2\"],\n", - " label=\"H2 mole fraction\",\n", - " color=\"tab:orange\",\n", - ")\n", - "\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((273.15, 373.15))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Temperature (K)\", fontsize=ax_fontsize, color=\"tab:blue\")\n", - "ax2.set_ylim((0, 1))\n", - "ax2.set_ylabel(\"Mole fraction $H_2$\", fontsize=ax_fontsize, color=\"tab:orange\")\n", - "\n", - "demarcate_ramps(ax)\n", - "ax.set_title(\"Condenser Vapor Outlet\", fontsize=title_fontsize)\n", - "\n", - "fig = plt.figure()\n", - "ax = fig.subplots()\n", - "\n", - "ax.plot(time, 1e-6 * results_dict[\"condenser_heat_duty\"])\n", - "\n", - "ax.set_xlim(time[0], time[-1])\n", - "ax.set_ylim((-40, -12))\n", - "ax.set_xlabel(\"Time (hr)\", fontsize=ax_fontsize)\n", - "ax.set_ylabel(\"Heat Duty (MW)\", fontsize=ax_fontsize)\n", - "\n", - "demarcate_ramps(ax)\n", - "ax.set_title(\"Condenser Heat Duty\", fontsize=title_fontsize)\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.14" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_power_plant.ipynb b/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_power_plant.ipynb index 93ab7f29..5f768c20 100644 --- a/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_power_plant.ipynb +++ b/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_power_plant.ipynb @@ -1,160 +1,187 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Supercritical Power Plant Flowsheet Example\n", - "Maintainer: Andrew Lee \n", - "Author: John Eslick \n", - "\n", - "\n", - "## 1. Introduction\n", - "\n", - "\n", - "This example is to demonstrate a supercritical pulverized coal power plant model. The power plant consists of two major sub-systems (or flowsheets), a boiler heat exchanger network and a steam cycle. This jupyter notebook provides the workflow to import the steam cycle flowsheet, import the boiler heat exchanger network, connect and run both the flowsheets, and display the main results." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2. Model Description\n", - "\n", - "The case study demonstrated here is for a ~620MW gross power output. The process flow diagram is shown in section 3 of this jupyter notebook. Figure 1 shows the boiler heat exchanger network, while, figure 2 shows the steam cycle system. \n", - "\n", - "The streams connecting both the flowsheets are: \n", - "  a) The main steam: that connects the boiler attemperator to the throttle valves of the high pressure turbine \n", - "  b) The cold reheat: that connects the final stage of the high pressure turbine to the boiler reheater \n", - "  c) The hot reheat: that connects the boiler reheater to the intermediate pressure turbine \n", - "  d) The main feed water: that connects the last feed water heater to the boiler economizer \n", - " \n", - "To get a more detailed description of the power plant flowsheet, review the ```SCPC_full_plant.py``` file. For details in terms of specific power plant units (for example dimensions, parameters, and variables), more information can be found at ```supercritical_steam_cycle.py``` and ```boiler_subflowsheet.py```.\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3. Process Flow Diagram (PFD)" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from IPython.display import SVG, display\n", - "\n", - "display(\n", - " \"Boiler subsystem PFD\",\n", - " SVG(filename=\"Boiler_scpc_PFD.svg\"),\n", - " \"Steam Cycle subsystem PFD\",\n", - " SVG(filename=\"supercritical_steam_cycle.svg\"),\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 4. Run power plant model example\n", - "\n", - "This example runs the main ``SCPC_full_plant.py`` script, which, imports two flowsheets (steam cycle and boiler heat exchanger network), builds arcs to connect both flowsheets, and run the full power plant model." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "# import SCPC power plant\n", - "# initialize steam cycle, initialize boiler heat exchanger network, connect both flowsheets,\n", - "# and run SCPC plant.\n", - "from idaes.models_extra.power_generation.flowsheets.supercritical_power_plant.SCPC_full_plant import (\n", - " main,\n", - ")\n", - "\n", - "m, res = main()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 5. Creating a PFD with results and a stream table\n", - "\n", - "The steam cycle results can be displayed on the PFD and as a stream table, by running the following cells." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "import pkg_resources\n", - "import pyomo.environ as pyo\n", - "from idaes.models_extra.power_generation.flowsheets.supercritical_steam_cycle import (\n", - " pfd_result,\n", - ")\n", - "from idaes.core.util.tables import create_stream_table_dataframe\n", - "\n", - "# Create stream results as Pandas dataframe\n", - "df = create_stream_table_dataframe(streams=m._streams, orient=\"index\")\n", - "# Create a new PFD with simulation results\n", - "init_pfd = pkg_resources.resource_string(\n", - " \"idaes.models_extra.power_generation.flowsheets.supercritical_steam_cycle\",\n", - " \"supercritical_steam_cycle.svg\",\n", - ")\n", - "res_pfd = pfd_result(m, df, svg=init_pfd)\n", - "# Display PFD with results.\n", - "display(SVG(res_pfd))" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "# Display the stream table.\n", - "df" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.12" - } + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "b283fedc", + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] }, - "nbformat": 4, - "nbformat_minor": 2 -} \ No newline at end of file + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Supercritical Power Plant Flowsheet Example\n", + "Maintainer: Andrew Lee \n", + "Author: John Eslick \n", + "\n", + "\n", + "## 1. Introduction\n", + "\n", + "\n", + "This example is to demonstrate a supercritical pulverized coal power plant model. The power plant consists of two major sub-systems (or flowsheets), a boiler heat exchanger network and a steam cycle. This jupyter notebook provides the workflow to import the steam cycle flowsheet, import the boiler heat exchanger network, connect and run both the flowsheets, and display the main results." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Model Description\n", + "\n", + "The case study demonstrated here is for a ~620MW gross power output. The process flow diagram is shown in section 3 of this jupyter notebook. Figure 1 shows the boiler heat exchanger network, while, figure 2 shows the steam cycle system. \n", + "\n", + "The streams connecting both the flowsheets are: \n", + "  a) The main steam: that connects the boiler attemperator to the throttle valves of the high pressure turbine \n", + "  b) The cold reheat: that connects the final stage of the high pressure turbine to the boiler reheater \n", + "  c) The hot reheat: that connects the boiler reheater to the intermediate pressure turbine \n", + "  d) The main feed water: that connects the last feed water heater to the boiler economizer \n", + " \n", + "To get a more detailed description of the power plant flowsheet, review the ```SCPC_full_plant.py``` file. For details in terms of specific power plant units (for example dimensions, parameters, and variables), more information can be found at ```supercritical_steam_cycle.py``` and ```boiler_subflowsheet.py```.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. Process Flow Diagram (PFD)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import SVG, display\n", + "\n", + "display(\n", + " \"Boiler subsystem PFD\",\n", + " SVG(filename=\"Boiler_scpc_PFD.svg\"),\n", + " \"Steam Cycle subsystem PFD\",\n", + " SVG(filename=\"supercritical_steam_cycle.svg\"),\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4. Run power plant model example\n", + "\n", + "This example runs the main ``SCPC_full_plant.py`` script, which, imports two flowsheets (steam cycle and boiler heat exchanger network), builds arcs to connect both flowsheets, and run the full power plant model." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# import SCPC power plant\n", + "# initialize steam cycle, initialize boiler heat exchanger network, connect both flowsheets,\n", + "# and run SCPC plant.\n", + "from idaes.models_extra.power_generation.flowsheets.supercritical_power_plant.SCPC_full_plant import (\n", + " main,\n", + ")\n", + "\n", + "m, res = main()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 5. Creating a PFD with results and a stream table\n", + "\n", + "The steam cycle results can be displayed on the PFD and as a stream table, by running the following cells." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "import pkg_resources\n", + "import pyomo.environ as pyo\n", + "from idaes.models_extra.power_generation.flowsheets.supercritical_steam_cycle import (\n", + " pfd_result,\n", + ")\n", + "from idaes.core.util.tables import create_stream_table_dataframe\n", + "\n", + "# Create stream results as Pandas dataframe\n", + "df = create_stream_table_dataframe(streams=m._streams, orient=\"index\")\n", + "# Create a new PFD with simulation results\n", + "init_pfd = pkg_resources.resource_string(\n", + " \"idaes.models_extra.power_generation.flowsheets.supercritical_steam_cycle\",\n", + " \"supercritical_steam_cycle.svg\",\n", + ")\n", + "res_pfd = pfd_result(m, df, svg=init_pfd)\n", + "# Display PFD with results.\n", + "display(SVG(res_pfd))" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Display the stream table.\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.12" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_power_plant_doc.ipynb b/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_power_plant_doc.ipynb index 81222d52..2423621a 100644 --- a/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_power_plant_doc.ipynb +++ b/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_power_plant_doc.ipynb @@ -1,5 +1,31 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -43,3066 +69,7 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'Boiler subsystem PFD'" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/svg+xml": [ - "image/svg+xml\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "RectangleCanSheet.6Heat exchanger1Platen SHPlaten SH\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Ball millMillMill\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Centrifugal fanSA FD FanSA FD Fan\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "TrapezoidMajor PipelineRCoalCoal\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Can.31Air PreheaterSheet.32Air Preheater\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Centrifugal fan.33PA FD FanPA FD Fan\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Major PipelineLSASA\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Major PipelineL.35PAPA\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Major PipelineL.36Hot PAHot PA\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Major PipelineL.37Cold PACold PA\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Major PipelineL.38Hot SAHot SA\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Major PipelineR.40Furnace\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Furnace\n", - "\n", - "\n", - "\n", - "\n", - "Major PipelineR.41PA/Coal\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "PA/Coal\n", - "\n", - "\n", - "\n", - "\n", - "Screw-down valve.42Tempering DamperTempering Damper\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Major PipelineL.43Tempering AirTempering Air\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "COAL\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "T:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "moisture:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "HHV:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "F:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "MAIN STEAM\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "T:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "P:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "x:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "F:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "RHT_inlet\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "T:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "P:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "x:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "F:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Legend\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "T: Temperature (K)\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "P: Pressure (Pa)\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "x: Vapor Fraction\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "F: Flow (mol/s)\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "FM: Flow mass (kg/s)\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Major PipelineR.52Sat. SteamSat. Steam\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Heat exchanger1.54PSHPRIMARY SH\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Major PipelineR.55Steam\n", - "\n", - "Steam\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Cooling tower 1SH Attemp.\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "SH Attemp.\n", - "\n", - "\n", - "Major PipelineL.57Steam\n", - "\n", - "Major PipelineL.58SteamSteam\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Selectable compressor1.137HPHP\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Selectable compressor1.138IPIP\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Major PipelineR.141Steam To HPHeat exchanger1.142RHREHEATER\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Steam To IP\n", - "\n", - "\n", - "JunctionMajor PipelineR.151Flue Gas/ Fly Ash\n", - "Flue Gas/Fly Ash\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Flue Gas/Fly Ash\n", - "\n", - "\n", - "Major PipelineR.152Flue Gas/ Fly Ash\n", - "Major PipelineR.153Flue Gas/ Fly Ash\n", - "Major PipelineR.154Flue Gas/Fly AshFlue Gas/Fly Ash\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Major PipelineR.157Flue Gas/ Fly AshFlue Gas/Fly Ash\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Heat exchanger1.156ECOECONOMIZER\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Major PipelineL.162FWBFW\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Major PipelineL.163Water From EconomizerWater From Economizer\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Spray Water\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Junction.194Sheet.211Major PipelineL.219HP Exhaust\n", - "Cyclone 1Bag HouseBag House\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "AutoclaveFGDFGD\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Major PipelineR.265Flue GasFlue Gas\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Centrifugal fan.266ID FanID Fan\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Major PipelineR.267Flue GasFlue Gas\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Major PipelineR.268To StackTo Stack\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Sheet.270Waterwall TubesWaterwall Tubes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Major PipelineR.271Fly AshFly Ash\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - " Junction dot.276Major PipelineR.301Steam To HPSteam To HP\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Screw-down valve.300HP ThrottleHP Throttle\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Major PipelineR.306Feed WaterFeed Water\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Major PipelineR.307HP SteamHP Steam\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Major PipelineR.308IP SteamIP Steam\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Major PipelineR.309LP SteamLP Steam\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Major PipelineR.310Cooling WaterCooling Water\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "HP Exhaust\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "SECONDARY AIR\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "T:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "P:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Fm:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "PRIMARY AIR\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "T:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "P:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Fm:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "PrSH INLET\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "T:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "P:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "x:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "F:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "RHT_Outlet\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "T:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "P:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "x:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "F:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "BOILER FEED WATER\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "T:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "P:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "x:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "F:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "ECON OUTLET\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "T:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "P:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "x:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "F:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "FLUE GAS\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "T:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "P:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Fm:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "FLUE GAS\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "T:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "P:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Fm:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "FLUE GAS\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "T:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "P:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Fm:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "FLUE GAS\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "T:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "P:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Fm:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "FLUE GAS\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "T:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "P:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Fm:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - " FSH STEAM Outlet\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "T:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "P:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "x:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "F:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Platen SH INLET\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "T:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "P:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "x:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "F:\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Steam\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "SUPERCRITICAL BOILER HX NETWORK FLOWSHEET\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Heat exchanger1.142RHFINISHING SH\n", - "\n", - "\n", - "\n", - "\n", - "Major PipelineR.152Flue Gas/ Fly AshCooling tower 1SH Attemp.Major PipelineR.153Flue Gas/ Fly Ash?\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "FLUE GAS\n", - "\n", - "\n", - "T:\n", - "\n", - "\n", - "P:\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "Fm:\n", - "\n", - "\n", - "Major PipelineL.145Steam To RHSteam To RH\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "FLUE GAS\n", - "\n", - "\n", - "T:\n", - "\n", - "\n", - "P:\n", - "\n", - "\n", - "?\n", - "\n", - "\n", - "Fm:\n", - "\n", - "\n", - "?\n", - "\n", - "?\n", - "\n", - "?\n", - "\n", - "FSH STEAM Inlet\n", - "\n", - "T:\n", - "\n", - "P:\n", - "\n", - "x:\n", - "\n", - "?\n", - "\n", - "F:\n", - "\n", - "*\n", - "\n", - "*\n", - "\n", - "?\n", - "\n", - "?\n", - "\n", - "FLUE GAS\n", - "\n", - "T:\n", - "\n", - "P:\n", - "\n", - "?\n", - "\n", - "Fm:\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": { - "filenames": { - "image/svg+xml": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\power_gen\\supercritical\\supercritical_power_plant_doc_3_1.svg" - } - }, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "'Steam Cycle subsystem PFD'" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/svg+xml": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " image/svg+xml\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " Hotwell\n", - " LP Turbine\n", - " IP Turbine\n", - " HP Turbine\n", - " BFPT\n", - " \n", - " \n", - " Condenser\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " FWH1\n", - " \n", - " FWH2\n", - " FWH3\n", - " FWH5(Deaerator)\n", - " FWH6\n", - " FWH7\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " CondensatePump\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " Generator\n", - " Gross Power (W):\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " Hot Reheat\n", - " Cold Reheat\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " FWH4\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " FWH8\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " STEAM_MAIN\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " THRTL3\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " THRTL4\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " THRTL1\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " EXTR_HP4\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " THRTL2\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " EXTR_HP7\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " EXTR_IP5\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " EXTR_IP10\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " EXTR_LP4\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " EXTR_LP10\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " EXTR_LP11\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " EXTR_LP8\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " MAKEUP_01\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " COND_02\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " COND_03\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " COND_01\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " CW01\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " CW02\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " EXHST_MAIN\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " EXHST_BFPT\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " EXTR_BFPT_A\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " RHT_HOT\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " RHT_COLD\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " STEAM_LP\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FW03\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FW04\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FW05A\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FWH4_DRN\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FWH3_DRN\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FWH2_DRN\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FWH1_DRN2\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FW01B\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FWH1_DRN1\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FW02\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FW01A\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FW05B\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FW06\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FW07\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FW08\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FWH6_DRN\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FWH7_DRN\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FWH8_DRN\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " \n", - " BFP\n", - " Efficiency (%):\n", - " Power (W):\n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " Steam Cycle Summary\n", - " Heat from boiler (MW):\n", - " Steam Cycle Eff. (%):\n", - " Steam Flow (kg/s):\n", - " ?\n", - " Gross Power (MW):\n", - " \n", - " \n", - " ?\n", - " Steam Pressure (kPa):\n", - " ?\n", - " Condenser Pressure (kPa):\n", - " Legend\n", - " T: Temperature (K)\n", - " P: Pressure (Pa)\n", - " x: Vapor Fraction\n", - " F: Flow (mol/s)\n", - " \n", - " \n", - " \n", - " ?\n", - " ?\n", - " \n", - " BFPT\n", - " Efficiency (%):\n", - " Power (W):\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": { - "filenames": { - "image/svg+xml": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\power_gen\\supercritical\\supercritical_power_plant_doc_3_3.svg" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "from IPython.display import SVG, display\n", "\n", @@ -3129,10009 +96,7 @@ "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:39 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:39 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:40 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:40 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:40 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:40 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:42 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:42 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:42 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:42 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:42 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:42 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:42 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:42 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:43 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:43 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:43 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:43 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:43 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:43 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:43 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:43 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:43 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:45 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:45 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:45 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:45 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.inlet_stage[1].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.inlet_stage[2].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.inlet_stage[3].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.inlet_stage[4].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.hp_stages[1].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.hp_stages[2].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.hp_stages[3].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.hp_stages[4].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.hp_stages[5].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.hp_stages[6].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.hp_stages[7].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.ip_stages[1].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.ip_stages[2].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.ip_stages[3].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.ip_stages[4].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.ip_stages[5].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.ip_stages[6].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.ip_stages[7].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.ip_stages[8].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.ip_stages[9].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.ip_stages[10].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.lp_stages[1].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.lp_stages[2].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.lp_stages[3].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.lp_stages[4].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.lp_stages[5].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.lp_stages[6].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.lp_stages[7].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.lp_stages[8].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.lp_stages[9].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.lp_stages[10].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.lp_stages[11].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.outlet_stage.control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.cond_pump.control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh1.condense.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh1.condense.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh1_pump.control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh2.condense.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh2.condense.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh2.desuperheat.hot_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh2.desuperheat.cold_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh2.desuperheat.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh2.desuperheat.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh2.cooling.hot_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh2.cooling.cold_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh2.cooling.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh2.cooling.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh3.condense.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh3.condense.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh3.desuperheat.hot_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh3.desuperheat.cold_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh3.desuperheat.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh3.desuperheat.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh3.cooling.hot_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh3.cooling.cold_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh3.cooling.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh3.cooling.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh4.condense.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh4.condense.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh4.desuperheat.hot_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh4.desuperheat.cold_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh4.desuperheat.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh4.desuperheat.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh4.cooling.hot_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh4.cooling.cold_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh4.cooling.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh4.cooling.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.bfp.control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:47 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.bfpt.control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh6.condense.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh6.condense.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh6.desuperheat.hot_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh6.desuperheat.cold_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh6.desuperheat.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh6.desuperheat.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh6.cooling.hot_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh6.cooling.cold_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh6.cooling.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh6.cooling.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh7.condense.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh7.condense.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh7.desuperheat.hot_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh7.desuperheat.cold_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh7.desuperheat.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh7.desuperheat.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh7.cooling.hot_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh7.cooling.cold_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh7.cooling.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh7.cooling.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh8.condense.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh8.condense.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh8.desuperheat.hot_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh8.desuperheat.cold_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh8.desuperheat.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh8.desuperheat.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh8.cooling.hot_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh8.cooling.cold_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh8.cooling.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh8.cooling.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [INFO] idaes.init.Steam Cycle Model: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [INFO] idaes.init.fs.turb.inlet_split: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [INFO] idaes.init.fs.turb.throttle_valve[1]: Steam valve initialization started\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [INFO] idaes.init.fs.turb.throttle_valve[1]: Steam valve initialization complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [INFO] idaes.init.fs.turb.throttle_valve[2]: Steam valve initialization started\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [INFO] idaes.init.fs.turb.throttle_valve[2]: Steam valve initialization complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [INFO] idaes.init.fs.turb.throttle_valve[3]: Steam valve initialization started\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [INFO] idaes.init.fs.turb.throttle_valve[3]: Steam valve initialization complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [INFO] idaes.init.fs.turb.throttle_valve[4]: Steam valve initialization started\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [INFO] idaes.init.fs.turb.throttle_valve[4]: Steam valve initialization complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [INFO] idaes.init.fs.turb.inlet_stage[1]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:48 [INFO] idaes.init.fs.turb.inlet_stage[2]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:49 [INFO] idaes.init.fs.turb.inlet_stage[3]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:49 [INFO] idaes.init.fs.turb.inlet_stage[4]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:49 [INFO] idaes.init.fs.turb.inlet_mix: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:49 [INFO] idaes.init.fs.turb.hp_split[4]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:49 [INFO] idaes.init.fs.turb.hp_split[7]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:50 [INFO] idaes.init.fs.turb.ip_split[5]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:50 [INFO] idaes.init.fs.turb.ip_split[10]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:51 [INFO] idaes.init.fs.turb.lp_split[4]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:51 [INFO] idaes.init.fs.turb.lp_split[8]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:52 [INFO] idaes.init.fs.turb.lp_split[10]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:52 [INFO] idaes.init.fs.turb.lp_split[11]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:52 [INFO] idaes.init.fs.turb.outlet_stage: Initialization Complete (Outlet Stage): optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:52 [INFO] idaes.init.fs.turb.inlet_split: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:52 [INFO] idaes.init.fs.turb.throttle_valve[1]: Steam valve initialization started\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:52 [INFO] idaes.init.fs.turb.throttle_valve[1]: Steam valve initialization complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:52 [INFO] idaes.init.fs.turb.throttle_valve[2]: Steam valve initialization started\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:52 [INFO] idaes.init.fs.turb.throttle_valve[2]: Steam valve initialization complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:52 [INFO] idaes.init.fs.turb.throttle_valve[3]: Steam valve initialization started\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:52 [INFO] idaes.init.fs.turb.throttle_valve[3]: Steam valve initialization complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:52 [INFO] idaes.init.fs.turb.throttle_valve[4]: Steam valve initialization started\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:52 [INFO] idaes.init.fs.turb.throttle_valve[4]: Steam valve initialization complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:53 [INFO] idaes.init.fs.turb.inlet_stage[1]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:53 [INFO] idaes.init.fs.turb.inlet_stage[2]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:53 [INFO] idaes.init.fs.turb.inlet_stage[3]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:53 [INFO] idaes.init.fs.turb.inlet_stage[4]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:53 [INFO] idaes.init.fs.turb.inlet_mix: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:54 [INFO] idaes.init.fs.turb.hp_split[4]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:54 [INFO] idaes.init.fs.turb.hp_split[7]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:55 [INFO] idaes.init.fs.turb.ip_split[5]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:55 [INFO] idaes.init.fs.turb.ip_split[10]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:56 [INFO] idaes.init.fs.turb.lp_split[4]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:57 [INFO] idaes.init.fs.turb.lp_split[8]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:57 [INFO] idaes.init.fs.turb.lp_split[10]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:57 [INFO] idaes.init.fs.turb.lp_split[11]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:57 [INFO] idaes.init.fs.turb.outlet_stage: Initialization Complete (Outlet Stage): optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:58 [INFO] idaes.init.Steam Cycle Model: Full turbine solve complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: WARNING: model contains export suffix\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: 'fs.bfpt.control_volume.properties_out[0.0].scaling_factor' that contains 60\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: WARNING: model contains export suffix\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: 'fs.bfpt.control_volume.properties_in[0.0].scaling_factor' that contains 63\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: Number of nonzeros in equality constraint Jacobian...: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: Number of nonzeros in Lagrangian Hessian.............: 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: Total number of variables............................: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: variables with lower and upper bounds: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: Total number of equality constraints.................: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: 0 0.0000000e+00 5.46e+00 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: 1 0.0000000e+00 5.55e-17 1.00e-07 -1.0 5.46e+07 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: Constraint violation....: 5.5511151231257827e-17 5.5511151231257827e-17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: Overall NLP error.......: 5.5511151231257827e-17 5.5511151231257827e-17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: Total CPU secs in IPOPT (w/o function evaluations) = 0.007\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [DEBUG] idaes.solve.fs.bfpt: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [INFO] idaes.init.fs.condenser_mix: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [INFO] idaes.init.fs.condenser.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [INFO] idaes.init.fs.condenser.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [INFO] idaes.init.fs.hotwell: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [INFO] idaes.init.fs.fwh1.drain_mix: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [WARNING] idaes.init.fs.fwh1: The steam sat. temperature (329.33327413754273) is near the feedwater inlet temperature (299.90239563835314)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [INFO] idaes.init.fs.fwh1.condense.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [INFO] idaes.init.fs.fwh1.condense.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:59 [INFO] idaes.init.fs.fwh1.condense: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [INFO] idaes.init.fs.fwh1.condense: Initialization Complete (w/ extraction calc): optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [INFO] idaes.init.fs.fwh1: Condensing hot side inlet delta T = 12.513326095276463\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [INFO] idaes.init.fs.fwh1: Condensing hot side outlet delta T = 29.430878499189813\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [INFO] idaes.init.fs.fwh1: Steam Flow = 1345.0635216258854\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [INFO] idaes.init.fs.fwh1: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: WARNING: model contains export suffix\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: 'fs.fwh1_pump.control_volume.properties_out[0.0].scaling_factor' that contains\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: 60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: WARNING: model contains export suffix\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: 'fs.fwh1_pump.control_volume.properties_in[0.0].scaling_factor' that contains\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: 63 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: Number of nonzeros in equality constraint Jacobian...: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: Number of nonzeros in Lagrangian Hessian.............: 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: Total number of variables............................: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: variables with lower and upper bounds: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: Total number of equality constraints.................: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: 0 0.0000000e+00 5.66e-01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: 1 0.0000000e+00 1.11e-16 2.21e-07 -1.0 5.66e+06 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: Constraint violation....: 1.1102230246251565e-16 1.1102230246251565e-16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: Overall NLP error.......: 1.1102230246251565e-16 1.1102230246251565e-16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: Total CPU secs in IPOPT (w/o function evaluations) = 0.009\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [DEBUG] idaes.solve.fs.fwh1_pump: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [INFO] idaes.init.fs.fwh1_return: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [INFO] idaes.init.fs.fwh2.desuperheat.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [INFO] idaes.init.fs.fwh2.desuperheat.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [INFO] idaes.init.fs.fwh2.desuperheat: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [INFO] idaes.init.fs.fwh2.drain_mix: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [WARNING] idaes.init.fs.fwh2: The steam sat. temperature (335.227225889338) is near the feedwater inlet temperature (318.02261253783706)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [INFO] idaes.init.fs.fwh2.condense.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [INFO] idaes.init.fs.fwh2.condense.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:00 [INFO] idaes.init.fs.fwh2.condense: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:01 [INFO] idaes.init.fs.fwh2.condense: Initialization Complete (w/ extraction calc): optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:01 [INFO] idaes.init.fs.fwh2.cooling.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:01 [INFO] idaes.init.fs.fwh2.cooling.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:01 [INFO] idaes.init.fs.fwh2.cooling: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:01 [INFO] idaes.init.fs.fwh2: Condensing hot side inlet delta T = 12.731240077383344\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:01 [INFO] idaes.init.fs.fwh2: Condensing hot side outlet delta T = 17.00237210361631\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:01 [INFO] idaes.init.fs.fwh2: Steam Flow = 217.13965467965426\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:01 [INFO] idaes.init.fs.fwh2: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:02 [INFO] idaes.init.fs.fwh3.desuperheat.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:02 [INFO] idaes.init.fs.fwh3.desuperheat.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:02 [INFO] idaes.init.fs.fwh3.desuperheat: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:02 [INFO] idaes.init.fs.fwh3.drain_mix: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:02 [WARNING] idaes.init.fs.fwh3: The steam sat. temperature (347.7738554943195) is near the feedwater inlet temperature (323.03655083895876)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:02 [INFO] idaes.init.fs.fwh3.condense.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:02 [INFO] idaes.init.fs.fwh3.condense.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:02 [INFO] idaes.init.fs.fwh3.condense: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:02 [INFO] idaes.init.fs.fwh3.condense: Initialization Complete (w/ extraction calc): optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:02 [INFO] idaes.init.fs.fwh3.cooling.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:02 [INFO] idaes.init.fs.fwh3.cooling.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:02 [INFO] idaes.init.fs.fwh3.cooling: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:04 [INFO] idaes.init.fs.fwh3: Condensing hot side inlet delta T = 20.206912020985854\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:04 [INFO] idaes.init.fs.fwh3: Condensing hot side outlet delta T = 24.503595562923753\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:04 [INFO] idaes.init.fs.fwh3: Steam Flow = 217.44627715533093\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:04 [INFO] idaes.init.fs.fwh3: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:04 [INFO] idaes.init.fs.fwh4.desuperheat.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:04 [INFO] idaes.init.fs.fwh4.desuperheat.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:04 [INFO] idaes.init.fs.fwh4.desuperheat: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:04 [INFO] idaes.init.fs.fwh4.condense.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:04 [INFO] idaes.init.fs.fwh4.condense.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:04 [INFO] idaes.init.fs.fwh4.condense: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:04 [INFO] idaes.init.fs.fwh4.condense: Initialization Complete (w/ extraction calc): optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:04 [INFO] idaes.init.fs.fwh4.cooling.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:04 [INFO] idaes.init.fs.fwh4.cooling.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:05 [INFO] idaes.init.fs.fwh4.cooling: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:05 [INFO] idaes.init.fs.fwh4: Condensing hot side inlet delta T = 39.4301600167788\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:05 [INFO] idaes.init.fs.fwh4: Condensing hot side outlet delta T = 47.808053621766945\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:05 [INFO] idaes.init.fs.fwh4: Steam Flow = 247.42787053670986\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:05 [INFO] idaes.init.fs.fwh4: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:05 [INFO] idaes.init.fs.fwh5_da: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:05 [INFO] idaes.init.fs.fwh6.desuperheat.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:05 [INFO] idaes.init.fs.fwh6.desuperheat.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:05 [INFO] idaes.init.fs.fwh6.desuperheat: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:06 [INFO] idaes.init.fs.fwh6.drain_mix: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:06 [INFO] idaes.init.fs.fwh6.condense.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:06 [INFO] idaes.init.fs.fwh6.condense.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:06 [INFO] idaes.init.fs.fwh6.condense: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:06 [INFO] idaes.init.fs.fwh6.condense: Initialization Complete (w/ extraction calc): optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:06 [INFO] idaes.init.fs.fwh6.cooling.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:06 [INFO] idaes.init.fs.fwh6.cooling.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:06 [INFO] idaes.init.fs.fwh6.cooling: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:06 [INFO] idaes.init.fs.fwh6: Condensing hot side inlet delta T = 45.08557769758456\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:06 [INFO] idaes.init.fs.fwh6: Condensing hot side outlet delta T = 72.43686375394775\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:06 [INFO] idaes.init.fs.fwh6: Steam Flow = 2128.5569356289825\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:06 [INFO] idaes.init.fs.fwh6: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:06 [INFO] idaes.init.fs.fwh7.desuperheat.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:06 [INFO] idaes.init.fs.fwh7.desuperheat.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:06 [INFO] idaes.init.fs.fwh7.desuperheat: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:07 [INFO] idaes.init.fs.fwh7.drain_mix: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:07 [INFO] idaes.init.fs.fwh7.condense.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:07 [INFO] idaes.init.fs.fwh7.condense.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:07 [INFO] idaes.init.fs.fwh7.condense: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:07 [INFO] idaes.init.fs.fwh7.condense: Initialization Complete (w/ extraction calc): optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:07 [INFO] idaes.init.fs.fwh7.cooling.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:07 [INFO] idaes.init.fs.fwh7.cooling.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:07 [INFO] idaes.init.fs.fwh7.cooling: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:07 [INFO] idaes.init.fs.fwh7: Condensing hot side inlet delta T = 72.40778629492878\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:07 [INFO] idaes.init.fs.fwh7: Condensing hot side outlet delta T = 98.78550984873016\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:07 [INFO] idaes.init.fs.fwh7: Steam Flow = 3749.068025531304\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:07 [INFO] idaes.init.fs.fwh7: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:07 [INFO] idaes.init.fs.fwh8.desuperheat.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:07 [INFO] idaes.init.fs.fwh8.desuperheat.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:08 [INFO] idaes.init.fs.fwh8.desuperheat: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:08 [INFO] idaes.init.fs.fwh8.condense.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:08 [INFO] idaes.init.fs.fwh8.condense.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:08 [INFO] idaes.init.fs.fwh8.condense: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:08 [INFO] idaes.init.fs.fwh8.condense: Initialization Complete (w/ extraction calc): optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:08 [INFO] idaes.init.fs.fwh8.cooling.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:08 [INFO] idaes.init.fs.fwh8.cooling.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:08 [INFO] idaes.init.fs.fwh8.cooling: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:08 [INFO] idaes.init.fs.fwh8: Condensing hot side inlet delta T = 99.32852730878224\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:08 [INFO] idaes.init.fs.fwh8: Condensing hot side outlet delta T = 108.51918961631927\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:08 [INFO] idaes.init.fs.fwh8: Steam Flow = 1487.8775467636813\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:08 [INFO] idaes.init.fs.fwh8: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:12 [INFO] idaes.init.Steam Cycle Model: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.drain_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.drain_mix.drain_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.drain_mix.steam_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.drain_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.drain_mix.drain_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.drain_mix.steam_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.bfpt.control_volume.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.bfpt.control_volume.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.bfp.control_volume.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.bfp.control_volume.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh5_da.mixed_state[0.0].scaling_factor' that contains 60 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh5_da.feedwater_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh5_da.drain_state[0.0].scaling_factor' that contains 60 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh5_da.steam_state[0.0].scaling_factor' that contains 60 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.drain_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.drain_mix.drain_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.drain_mix.steam_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.drain_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.drain_mix.drain_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.drain_mix.steam_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_return.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_return.fwh1_drain_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_return.feedwater_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_pump.control_volume.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_pump.control_volume.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_pump.control_volume.scaling_factor' that contains 1 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.drain_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.drain_mix.drain_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.drain_mix.steam_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.cond_pump.control_volume.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.cond_pump.control_volume.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.cond_pump.control_volume.scaling_factor' that contains 1 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.hotwell.mixed_state[0.0].scaling_factor' that contains 60 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.hotwell.makeup_state[0.0].scaling_factor' that contains 62 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.hotwell.condensate_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser.cold_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser.cold_side.properties_in[0.0].scaling_factor' that contains 63\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.condenser.scaling_factor' that\n", - "contains 2 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser_mix.bfpt_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser_mix.main_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[11].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[11].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[11].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[10].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[10].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[10].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[8].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[8].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[8].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[4].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[4].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[4].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[10].outlet_3_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[10].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[10].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[10].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[5].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[5].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[5].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[7].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[7].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[7].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[4].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[4].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[4].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.outlet_stage.control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.outlet_stage.control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[11].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[11].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[10].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[10].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[9].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[9].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[8].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[8].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[7].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[7].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[6].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[6].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[5].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[5].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[4].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[4].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[3].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[3].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[2].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[2].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[1].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[1].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[10].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[10].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[9].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[9].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[8].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[8].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[7].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[7].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[6].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[6].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[5].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[5].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[4].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[4].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[3].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[3].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[2].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[2].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[1].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[1].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[7].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[7].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[6].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[6].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[5].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[5].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[4].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[4].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[3].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[3].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[2].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[2].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[1].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[1].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_mix.inlet_4_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_mix.inlet_3_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_mix.inlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_mix.inlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[4].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[4].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[3].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[3].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[2].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[2].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[1].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[1].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[4].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[4].control_volume.properties_in[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[3].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[3].control_volume.properties_in[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[2].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[2].control_volume.properties_in[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[1].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[1].control_volume.properties_in[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_split.outlet_4_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_split.outlet_3_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_split.outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_split.outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_split.mixed_state[0.0].scaling_factor' that contains 62\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 2341\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 1021\n", - "\n", - "Total number of variables............................: 858\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 444\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 858\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 2.79e-09 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "\n", - "Number of Iterations....: 0\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 9.9134922493249178e-11 2.7939677238464351e-09\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 9.9134922493249178e-11 2.7939677238464351e-09\n", - "\n", - "\n", - "Number of objective function evaluations = 1\n", - "Number of objective gradient evaluations = 1\n", - "Number of equality constraint evaluations = 1\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 1\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 0\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.307\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "57072.525483603706\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:15 [INFO] idaes.init.fs.ECON.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:15 [INFO] idaes.init.fs.ECON.hot_side.properties_in: Initialisation Complete, optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:15 [INFO] idaes.init.fs.ECON.hot_side.properties_out: Initialisation Complete, optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:15 [INFO] idaes.init.fs.ECON.hot_side.properties_out: fs.ECON.hot_side.properties_out State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:15 [INFO] idaes.init.fs.ECON.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:15 [INFO] idaes.init.fs.ECON: fs.ECON Initialisation Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:15 [INFO] idaes.init.fs.ECON.hot_side.properties_in: fs.ECON.hot_side.properties_in State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:15 [INFO] idaes.init.fs.ECON: fs.ECON Initialisation Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:15 [INFO] idaes.init.fs.PrSH.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:16 [INFO] idaes.init.fs.PrSH.hot_side.properties_in: Initialisation Complete, optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:16 [INFO] idaes.init.fs.PrSH.hot_side.properties_out: Initialisation Complete, optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:16 [INFO] idaes.init.fs.PrSH.hot_side.properties_out: fs.PrSH.hot_side.properties_out State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:16 [INFO] idaes.init.fs.PrSH.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:16 [INFO] idaes.init.fs.PrSH: fs.PrSH Initialisation Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:16 [INFO] idaes.init.fs.PrSH.hot_side.properties_in: fs.PrSH.hot_side.properties_in State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:16 [INFO] idaes.init.fs.PrSH: fs.PrSH Initialisation Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:16 [INFO] idaes.init.fs.FSH.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:16 [INFO] idaes.init.fs.FSH.hot_side.properties_in: Initialisation Complete, optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:16 [INFO] idaes.init.fs.FSH.hot_side.properties_out: Initialisation Complete, optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:16 [INFO] idaes.init.fs.FSH.hot_side.properties_out: fs.FSH.hot_side.properties_out State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:16 [INFO] idaes.init.fs.FSH.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:16 [INFO] idaes.init.fs.FSH: fs.FSH Initialisation Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:16 [INFO] idaes.init.fs.FSH.hot_side.properties_in: fs.FSH.hot_side.properties_in State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:16 [INFO] idaes.init.fs.FSH: fs.FSH Initialisation Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:16 [INFO] idaes.init.fs.RH.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:17 [INFO] idaes.init.fs.RH.hot_side.properties_in: Initialisation Complete, optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:17 [INFO] idaes.init.fs.RH.hot_side.properties_out: Initialisation Complete, optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:17 [INFO] idaes.init.fs.RH.hot_side.properties_out: fs.RH.hot_side.properties_out State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:17 [INFO] idaes.init.fs.RH.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:17 [INFO] idaes.init.fs.RH: fs.RH Initialisation Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:17 [INFO] idaes.init.fs.RH.hot_side.properties_in: fs.RH.hot_side.properties_in State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:17 [INFO] idaes.init.fs.RH: fs.RH Initialisation Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:17 [INFO] idaes.init.fs.PlSH.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:17 [INFO] idaes.init.fs.PlSH: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:17 [INFO] idaes.init.fs.Water_wall.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:17 [INFO] idaes.init.fs.Water_wall: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:17 [INFO] idaes.init.fs.Spl1.mixed_state: Initialisation Complete, skipped.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:17 [INFO] idaes.init.fs.Spl1.outlet_1_state: Initialisation Complete, skipped.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:17 [INFO] idaes.init.fs.Spl1.outlet_1_state: fs.Spl1.outlet_1_state State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:17 [INFO] idaes.init.fs.Spl1.outlet_2_state: Initialisation Complete, skipped.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:17 [INFO] idaes.init.fs.Spl1.outlet_2_state: fs.Spl1.outlet_2_state State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:17 [INFO] idaes.init.fs.Spl1: Initialization Step 2 Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:17 [INFO] idaes.init.fs.Spl1.mixed_state: fs.Spl1.mixed_state State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:17 [INFO] idaes.init.fs.mix1.Reheat_out_state: Initialisation Complete, optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:17 [INFO] idaes.init.fs.mix1.PrSH_out_state: Initialisation Complete, optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:17 [INFO] idaes.init.fs.mix1.mixed_state: Initialisation Complete, optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:17 [INFO] idaes.init.fs.mix1.mixed_state: fs.mix1.mixed_state State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:17 [INFO] idaes.init.fs.mix1: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:17 [INFO] idaes.init.fs.mix1.Reheat_out_state: fs.mix1.Reheat_out_state State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:17 [INFO] idaes.init.fs.mix1.PrSH_out_state: fs.mix1.PrSH_out_state State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:17 [INFO] idaes.init.fs.ATMP1: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "initialization done\n", - "solving square problem disconnected\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.drain_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.drain_mix.drain_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.drain_mix.steam_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.drain_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.drain_mix.drain_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.drain_mix.steam_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.bfpt.control_volume.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.bfpt.control_volume.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.bfp.control_volume.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.bfp.control_volume.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh5_da.mixed_state[0.0].scaling_factor' that contains 60 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh5_da.feedwater_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh5_da.drain_state[0.0].scaling_factor' that contains 60 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh5_da.steam_state[0.0].scaling_factor' that contains 60 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.drain_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.drain_mix.drain_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.drain_mix.steam_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.drain_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.drain_mix.drain_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.drain_mix.steam_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_return.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_return.fwh1_drain_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_return.feedwater_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_pump.control_volume.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_pump.control_volume.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_pump.control_volume.scaling_factor' that contains 1 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.drain_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.drain_mix.drain_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.drain_mix.steam_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.cond_pump.control_volume.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.cond_pump.control_volume.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.cond_pump.control_volume.scaling_factor' that contains 1 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.hotwell.mixed_state[0.0].scaling_factor' that contains 60 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.hotwell.makeup_state[0.0].scaling_factor' that contains 62 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.hotwell.condensate_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser.cold_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser.cold_side.properties_in[0.0].scaling_factor' that contains 63\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.condenser.scaling_factor' that\n", - "contains 2 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser_mix.bfpt_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser_mix.main_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[11].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[11].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[11].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[10].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[10].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[10].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[8].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[8].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[8].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[4].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[4].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[4].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[10].outlet_3_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[10].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[10].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[10].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[5].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[5].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[5].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[7].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[7].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[7].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[4].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[4].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[4].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.outlet_stage.control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.outlet_stage.control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[11].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[11].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[10].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[10].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[9].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[9].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[8].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[8].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[7].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[7].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[6].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[6].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[5].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[5].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[4].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[4].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[3].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[3].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[2].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[2].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[1].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[1].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[10].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[10].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[9].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[9].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[8].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[8].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[7].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[7].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[6].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[6].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[5].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[5].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[4].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[4].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[3].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[3].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[2].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[2].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[1].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[1].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[7].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[7].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[6].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[6].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[5].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[5].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[4].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[4].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[3].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[3].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[2].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[2].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[1].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[1].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_mix.inlet_4_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_mix.inlet_3_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_mix.inlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_mix.inlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[4].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[4].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[3].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[3].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[2].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[2].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[1].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[1].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[4].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[4].control_volume.properties_in[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[3].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[3].control_volume.properties_in[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[2].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[2].control_volume.properties_in[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[1].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[1].control_volume.properties_in[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_split.outlet_4_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_split.outlet_3_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_split.outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_split.outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_split.mixed_state[0.0].scaling_factor' that contains 62\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 3045\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 1592\n", - "\n", - "Exception of type: TOO_FEW_DOF in file \"IpIpoptApplication.cpp\" at line 926:\n", - " Exception message: status != TOO_FEW_DEGREES_OF_FREEDOM evaluated false: Too few degrees of freedom (rethrown)!\n", - "\n", - "EXIT: Problem has too few degrees of freedom.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"Steam Cycle Model\";\n", - " - termination condition: other\n", - " - message from solver: Too few degrees of freedom (rethrown)!\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "unfix inlet conditions, degreeso of freedom = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "connecting flowsheets, degrees of freedom = 0\n", - "solving full plant model\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.drain_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.drain_mix.drain_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.drain_mix.steam_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.drain_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.drain_mix.drain_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.drain_mix.steam_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.bfpt.control_volume.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.bfpt.control_volume.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.bfp.control_volume.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.bfp.control_volume.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh5_da.mixed_state[0.0].scaling_factor' that contains 60 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh5_da.feedwater_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh5_da.drain_state[0.0].scaling_factor' that contains 60 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh5_da.steam_state[0.0].scaling_factor' that contains 60 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.drain_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.drain_mix.drain_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.drain_mix.steam_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.drain_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.drain_mix.drain_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.drain_mix.steam_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_return.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_return.fwh1_drain_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_return.feedwater_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_pump.control_volume.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_pump.control_volume.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_pump.control_volume.scaling_factor' that contains 1 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.drain_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.drain_mix.drain_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.drain_mix.steam_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.cond_pump.control_volume.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.cond_pump.control_volume.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.cond_pump.control_volume.scaling_factor' that contains 1 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.hotwell.mixed_state[0.0].scaling_factor' that contains 60 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.hotwell.makeup_state[0.0].scaling_factor' that contains 62 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.hotwell.condensate_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser.cold_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser.cold_side.properties_in[0.0].scaling_factor' that contains 63\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.condenser.scaling_factor' that\n", - "contains 2 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser_mix.bfpt_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser_mix.main_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[11].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[11].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[11].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[10].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[10].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[10].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[8].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[8].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[8].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[4].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[4].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[4].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[10].outlet_3_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[10].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[10].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[10].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[5].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[5].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[5].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[7].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[7].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[7].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[4].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[4].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[4].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.outlet_stage.control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.outlet_stage.control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[11].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[11].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[10].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[10].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[9].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[9].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[8].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[8].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[7].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[7].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[6].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[6].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[5].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[5].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[4].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[4].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[3].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[3].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[2].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[2].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[1].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[1].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[10].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[10].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[9].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[9].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[8].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[8].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[7].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[7].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[6].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[6].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[5].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[5].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[4].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[4].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[3].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[3].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[2].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[2].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[1].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[1].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[7].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[7].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[6].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[6].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[5].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[5].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[4].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[4].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[3].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[3].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[2].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[2].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[1].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[1].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_mix.inlet_4_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_mix.inlet_3_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_mix.inlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_mix.inlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[4].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[4].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[3].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[3].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[2].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[2].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[1].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[1].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[4].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[4].control_volume.properties_in[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[3].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[3].control_volume.properties_in[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[2].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[2].control_volume.properties_in[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[1].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[1].control_volume.properties_in[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_split.outlet_4_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_split.outlet_3_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_split.outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_split.outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_split.mixed_state[0.0].scaling_factor' that contains 61\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: tol=1e-06\n", - "linear_solver=ma27\n", - "max_iter=40\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 3579\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 2246\n", - "\n", - "Total number of variables............................: 1195\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 0\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 1195\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 8.59e+06 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 1 0.0000000e+00 5.94e+06 0.00e+00 -1.0 8.21e+07 - 1.00e+00 1.00e+00h 1\n", - " 2 0.0000000e+00 9.93e+04 0.00e+00 -1.0 4.31e+06 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 3 0.0000000e+00 7.63e+01 0.00e+00 -1.0 1.34e+05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 4 0.0000000e+00 3.91e-05 0.00e+00 -3.8 1.80e+01 - 1.00e+00 1.00e+00h 1\n", - "Cannot recompute multipliers for feasibility problem. Error in eq_mult_calculator\n", - "\n", - "Number of Iterations....: 4\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 2.9103830456733704e-09 3.9085745811462402e-05\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.9103830456733704e-09 3.9085745811462402e-05\n", - "\n", - "\n", - "Number of objective function evaluations = 5\n", - "Number of objective gradient evaluations = 5\n", - "Number of equality constraint evaluations = 5\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 5\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 4\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.342\n", - "Total CPU secs in NLP function evaluations = 1.169\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "# import SCPC power plant\n", "# initialize steam cycle, initialize boiler heat exchanger network, connect both flowsheets,\n", @@ -13156,974 +121,7 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\dkgun\\AppData\\Local\\Temp\\ipykernel_35844\\2286906919.py:1: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html\n", - " import pkg_resources\n" - ] - }, - { - "data": { - "image/svg+xml": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " image/svg+xml\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " Hotwell\n", - " LP Turbine\n", - " IP Turbine\n", - " HP Turbine\n", - " BFPT\n", - " \n", - " \n", - " Condenser\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " FWH1\n", - " \n", - " FWH2\n", - " FWH3\n", - " FWH5(Deaerator)\n", - " FWH6\n", - " FWH7\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " CondensatePump\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " Generator\n", - " Gross Power (W):\n", - " 592854807.300\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " Hot Reheat\n", - " Cold Reheat\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " FWH4\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " FWH8\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 866.482\n", - " 24230000.000\n", - " 0.000\n", - " \n", - " STEAM_MAIN\n", - " T:\n", - " P:\n", - " x:\n", - " 23059.511\n", - " F:\n", - " \n", - " \n", - " 863.037\n", - " 23161159.682\n", - " 0.000\n", - " \n", - " THRTL3\n", - " T:\n", - " P:\n", - " x:\n", - " 5764.878\n", - " F:\n", - " \n", - " \n", - " 863.037\n", - " 23161159.682\n", - " 0.000\n", - " \n", - " THRTL4\n", - " T:\n", - " P:\n", - " x:\n", - " 5764.878\n", - " F:\n", - " \n", - " \n", - " 863.037\n", - " 23161159.682\n", - " 0.000\n", - " \n", - " THRTL1\n", - " T:\n", - " P:\n", - " x:\n", - " 5764.878\n", - " F:\n", - " \n", - " \n", - " 697.962\n", - " 8629988.197\n", - " 1.000\n", - " \n", - " EXTR_HP4\n", - " T:\n", - " P:\n", - " x:\n", - " 1862.002\n", - " F:\n", - " \n", - " \n", - " 863.037\n", - " 23161159.682\n", - " 0.000\n", - " \n", - " THRTL2\n", - " T:\n", - " P:\n", - " x:\n", - " 5764.878\n", - " F:\n", - " \n", - " \n", - " 604.327\n", - " 4418553.957\n", - " 1.000\n", - " \n", - " EXTR_HP7\n", - " T:\n", - " P:\n", - " x:\n", - " 1286.076\n", - " F:\n", - " \n", - " \n", - " 702.024\n", - " 1172040.757\n", - " 1.000\n", - " \n", - " EXTR_IP5\n", - " T:\n", - " P:\n", - " x:\n", - " 807.136\n", - " F:\n", - " \n", - " \n", - " 543.607\n", - " 338388.603\n", - " 1.000\n", - " \n", - " EXTR_IP10\n", - " T:\n", - " P:\n", - " x:\n", - " 859.693\n", - " F:\n", - " \n", - " \n", - " 430.323\n", - " 112893.801\n", - " 1.000\n", - " \n", - " EXTR_LP4\n", - " T:\n", - " P:\n", - " x:\n", - " 273.643\n", - " F:\n", - " \n", - " \n", - " 335.037\n", - " 21754.627\n", - " 0.970\n", - " \n", - " EXTR_LP10\n", - " T:\n", - " P:\n", - " x:\n", - " 144.713\n", - " F:\n", - " \n", - " \n", - " 329.151\n", - " 16533.517\n", - " 0.959\n", - " \n", - " EXTR_LP11\n", - " T:\n", - " P:\n", - " x:\n", - " 403.948\n", - " F:\n", - " \n", - " \n", - " 347.567\n", - " 37663.829\n", - " 0.993\n", - " \n", - " EXTR_LP8\n", - " T:\n", - " P:\n", - " x:\n", - " 139.830\n", - " F:\n", - " \n", - " \n", - " 306.248\n", - " 101325.000\n", - " 0.000\n", - " \n", - " MAKEUP_01\n", - " T:\n", - " P:\n", - " x:\n", - " -0.001\n", - " F:\n", - " \n", - " \n", - " 301.580\n", - " 3878.883\n", - " 0.000\n", - " \n", - " COND_02\n", - " T:\n", - " P:\n", - " x:\n", - " 17282.470\n", - " F:\n", - " \n", - " \n", - " 301.661\n", - " 1003878.883\n", - " 0.000\n", - " \n", - " COND_03\n", - " T:\n", - " P:\n", - " x:\n", - " 17282.470\n", - " F:\n", - " \n", - " \n", - " 301.580\n", - " 3878.883\n", - " 0.000\n", - " \n", - " COND_01\n", - " T:\n", - " P:\n", - " x:\n", - " 17282.471\n", - " F:\n", - " \n", - " \n", - " 295.537\n", - " 500000.000\n", - " 0.000\n", - " \n", - " CW01\n", - " T:\n", - " P:\n", - " x:\n", - " 2500000.000\n", - " F:\n", - " \n", - " \n", - " 299.435\n", - " 500000.000\n", - " 0.000\n", - " \n", - " CW02\n", - " T:\n", - " P:\n", - " x:\n", - " 2500000.000\n", - " F:\n", - " \n", - " \n", - " 301.580\n", - " 3878.883\n", - " 0.966\n", - " \n", - " EXHST_MAIN\n", - " T:\n", - " P:\n", - " x:\n", - " 15735.611\n", - " F:\n", - " \n", - " \n", - " 301.580\n", - " 3878.883\n", - " 0.995\n", - " \n", - " EXHST_BFPT\n", - " T:\n", - " P:\n", - " x:\n", - " 1546.860\n", - " F:\n", - " \n", - " \n", - " 543.607\n", - " 338388.603\n", - " 1.000\n", - " \n", - " EXTR_BFPT_A\n", - " T:\n", - " P:\n", - " x:\n", - " 1546.860\n", - " F:\n", - " \n", - " \n", - " 896.030\n", - " 4059473.408\n", - " 1.000\n", - " \n", - " RHT_HOT\n", - " T:\n", - " P:\n", - " x:\n", - " 19911.434\n", - " F:\n", - " \n", - " \n", - " 604.327\n", - " 4418553.957\n", - " 1.000\n", - " \n", - " RHT_COLD\n", - " T:\n", - " P:\n", - " x:\n", - " 19911.434\n", - " F:\n", - " \n", - " \n", - " 543.607\n", - " 338388.603\n", - " 1.000\n", - " \n", - " STEAM_LP\n", - " T:\n", - " P:\n", - " x:\n", - " 16697.745\n", - " F:\n", - " \n", - " \n", - " 324.211\n", - " 1003878.883\n", - " 0.000\n", - " \n", - " FW03\n", - " T:\n", - " P:\n", - " x:\n", - " 18244.604\n", - " F:\n", - " \n", - " \n", - " 333.072\n", - " 1003878.883\n", - " 0.000\n", - " \n", - " FW04\n", - " T:\n", - " P:\n", - " x:\n", - " 18244.604\n", - " F:\n", - " \n", - " \n", - " 377.816\n", - " 1003878.883\n", - " 0.000\n", - " \n", - " FW05A\n", - " T:\n", - " P:\n", - " x:\n", - " 23059.510\n", - " F:\n", - " \n", - " \n", - " 349.497\n", - " 112893.801\n", - " 0.000\n", - " \n", - " FWH4_DRN\n", - " T:\n", - " P:\n", - " x:\n", - " 273.643\n", - " F:\n", - " \n", - " \n", - " 336.976\n", - " 37663.829\n", - " 0.000\n", - " \n", - " FWH3_DRN\n", - " T:\n", - " P:\n", - " x:\n", - " 413.473\n", - " F:\n", - " \n", - " \n", - " 326.816\n", - " 21754.627\n", - " 0.000\n", - " \n", - " FWH2_DRN\n", - " T:\n", - " P:\n", - " x:\n", - " 558.186\n", - " F:\n", - " \n", - " \n", - " 329.271\n", - " 1216533.517\n", - " 0.000\n", - " \n", - " FWH1_DRN2\n", - " T:\n", - " P:\n", - " x:\n", - " 962.134\n", - " F:\n", - " \n", - " \n", - " 315.083\n", - " 1003878.883\n", - " 0.000\n", - " \n", - " FW01B\n", - " T:\n", - " P:\n", - " x:\n", - " 18244.604\n", - " F:\n", - " \n", - " \n", - " 329.151\n", - " 16533.517\n", - " 0.000\n", - " \n", - " FWH1_DRN1\n", - " T:\n", - " P:\n", - " x:\n", - " 962.134\n", - " F:\n", - " \n", - " \n", - " 319.712\n", - " 1003878.883\n", - " 0.000\n", - " \n", - " FW02\n", - " T:\n", - " P:\n", - " x:\n", - " 18244.604\n", - " F:\n", - " \n", - " \n", - " 314.291\n", - " 1003878.883\n", - " 0.000\n", - " \n", - " FW01A\n", - " T:\n", - " P:\n", - " x:\n", - " 17282.470\n", - " F:\n", - " \n", - " \n", - " 381.030\n", - " 25055327.335\n", - " 0.000\n", - " \n", - " FW05B\n", - " T:\n", - " P:\n", - " x:\n", - " 23059.510\n", - " F:\n", - " \n", - " \n", - " 412.678\n", - " 25055327.335\n", - " 0.000\n", - " \n", - " FW06\n", - " T:\n", - " P:\n", - " x:\n", - " 23059.510\n", - " F:\n", - " \n", - " \n", - " 442.072\n", - " 25055327.335\n", - " 0.000\n", - " \n", - " FW07\n", - " T:\n", - " P:\n", - " x:\n", - " 23059.510\n", - " F:\n", - " \n", - " \n", - " 478.528\n", - " 25055327.335\n", - " 0.000\n", - " \n", - " FW08\n", - " T:\n", - " P:\n", - " x:\n", - " 23059.510\n", - " F:\n", - " \n", - " \n", - " 449.625\n", - " 1172040.757\n", - " 0.000\n", - " \n", - " FWH6_DRN\n", - " T:\n", - " P:\n", - " x:\n", - " 3955.213\n", - " F:\n", - " \n", - " \n", - " 517.546\n", - " 4418553.957\n", - " 0.000\n", - " \n", - " FWH7_DRN\n", - " T:\n", - " P:\n", - " x:\n", - " 3148.077\n", - " F:\n", - " \n", - " \n", - " 553.839\n", - " 8629988.197\n", - " 0.000\n", - " \n", - " FWH8_DRN\n", - " T:\n", - " P:\n", - " x:\n", - " 1862.002\n", - " F:\n", - " \n", - " \n", - " 13005437.922\n", - " 80.000\n", - " \n", - " BFP\n", - " Efficiency (%):\n", - " Power (W):\n", - " \n", - " 1326.408\n", - " 44.696\n", - " 415.423\n", - " Steam Cycle Summary\n", - " Heat from boiler (MW):\n", - " Steam Cycle Eff. (%):\n", - " Steam Flow (kg/s):\n", - " 592.855\n", - " Gross Power (MW):\n", - " \n", - " \n", - " 24230.000\n", - " Steam Pressure (kPa):\n", - " 3.879\n", - " Condenser Pressure (kPa):\n", - " Legend\n", - " T: Temperature (K)\n", - " P: Pressure (Pa)\n", - " x: Vapor Fraction\n", - " F: Flow (mol/s)\n", - " \n", - " \n", - " \n", - " -13005437.922\n", - " 63.004\n", - " \n", - " BFPT\n", - " Efficiency (%):\n", - " Power (W):\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": { - "filenames": { - "image/svg+xml": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\power_gen\\supercritical\\supercritical_power_plant_doc_7_1.svg" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "import pkg_resources\n", "import pyomo.environ as pyo\n", @@ -14150,547 +148,7 @@ "metadata": { "scrolled": true }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Molar FlowMass FlowTPVapor FractionMolar Enthalpy
Unitsmole / secondkilogram / secondkelvinpascaldimensionlessjoule / mole
COND_0117282.47115311.348349301.5799773878.8829930.02146.889145
COND_0217282.47015311.348331301.5799763878.8829930.02146.889125
COND_0317282.47015311.348331301.6610321003878.8829930.02169.492072
CW01250000045038.17295.5368615000000.01700
CW022500000.045038.17299.435142500000.00.01993.588144
EXHST_BFPT1546.85965627.867091301.5799773878.8829930.99543845787.761725
EXHST_MAIN15735.611494283.481258301.5799773878.8829930.96608244500.759915
EXTR_BFPT_A1546.85965627.867091543.606798338388.6032521.054195.400951
EXTR_HP41862.00160533.544458697.9617888629988.1972151.057580.163942
EXTR_HP71286.0755523.168996604.3268294418553.9569741.054662.948278
EXTR_IP10859.69341915.487607543.606798338388.6032521.054195.400951
EXTR_IP5807.13556714.540764702.0235851172040.7572291.059876.246946
EXTR_LP10144.7128512.607041335.03718421754.6274630.96992245782.945673
EXTR_LP11403.9476287.277225329.15079316533.5168720.95911345129.193587
EXTR_LP4273.6428324.929749430.323422112893.8013811.050261.606682
EXTR_LP8139.8303272.519081347.56712337663.828710.99288347147.58101
FW01A17282.47015311.348331314.290811003878.8829930.03119.909089
FW01B18244.603789328.681427315.0833981003878.8829930.03179.556729
FW0218244.603789328.681427319.7123641003878.8829930.03527.957688
FW0318244.603789328.681427324.2105851003878.8829930.03866.605104
FW0418244.603789328.681427333.0716571003878.8829930.04534.062165
FW05A23059.50993415.423251377.8161681003878.8829930.07918.042589
FW05B23059.50993415.423251381.03029525055327.3349450.08482.037139
FW0623059.50993415.423251412.6779225055327.3349450.010871.356834
FW0723059.50993415.423251442.07152525055327.3349450.013119.091039
FW0823059.50993415.423251478.5276625055327.3349450.015965.747919
FWH1_DRN1962.13363917.333095329.15079316533.5168720.04223.563659
FWH1_DRN2962.13363917.333095329.2713141216533.5168720.04250.986427
FWH2_DRN558.18601110.055871326.81573621754.6274630.04047.675227
FWH3_DRN413.4731597.44883336.97616837663.828710.04813.885705
FWH4_DRN273.6428324.929749349.497349112893.8013810.05760.204873
FWH6_DRN3955.21272271.254217449.6254861172040.7572290.013468.955565
FWH7_DRN3148.07715556.713454517.5461784418553.9569740.019072.238124
FWH8_DRN1862.00160533.544458553.8392758629988.1972150.022326.428163
MAKEUP_01-0.001-0.000018306.2480851013250.02500
RHT_COLD19911.433775358.709816604.3268294418553.9569741.054662.948278
RHT_HOT19911.433775358.709816896.0299144059473.4083941.067143.632291
STEAM_LP16697.745133300.814354543.606798338388.6032521.054195.400951
STEAM_MAIN23059.51093415.423269866.48188724230000.00.062710.01
THRTL15764.877732103.855817863.03654523161159.6820410.062710.01
THRTL25764.877732103.855817863.03654523161159.6820410.062710.01
THRTL35764.877732103.855817863.03654523161159.6820410.062710.01
THRTL45764.877732103.855817863.03654523161159.6820410.062710.01
condenser_mix_to_condenser17282.47115311.348349301.5799773878.8829930.96870944615.952422
\n", - "
" - ], - "text/plain": [ - " Molar Flow Mass Flow T \\\n", - "Units mole / second kilogram / second kelvin \n", - "COND_01 17282.47115 311.348349 301.579977 \n", - "COND_02 17282.47015 311.348331 301.579976 \n", - "COND_03 17282.47015 311.348331 301.661032 \n", - "CW01 2500000 45038.17 295.536861 \n", - "CW02 2500000.0 45038.17 299.435142 \n", - "EXHST_BFPT 1546.859656 27.867091 301.579977 \n", - "EXHST_MAIN 15735.611494 283.481258 301.579977 \n", - "EXTR_BFPT_A 1546.859656 27.867091 543.606798 \n", - "EXTR_HP4 1862.001605 33.544458 697.961788 \n", - "EXTR_HP7 1286.07555 23.168996 604.326829 \n", - "EXTR_IP10 859.693419 15.487607 543.606798 \n", - "EXTR_IP5 807.135567 14.540764 702.023585 \n", - "EXTR_LP10 144.712851 2.607041 335.037184 \n", - "EXTR_LP11 403.947628 7.277225 329.150793 \n", - "EXTR_LP4 273.642832 4.929749 430.323422 \n", - "EXTR_LP8 139.830327 2.519081 347.567123 \n", - "FW01A 17282.47015 311.348331 314.29081 \n", - "FW01B 18244.603789 328.681427 315.083398 \n", - "FW02 18244.603789 328.681427 319.712364 \n", - "FW03 18244.603789 328.681427 324.210585 \n", - "FW04 18244.603789 328.681427 333.071657 \n", - "FW05A 23059.50993 415.423251 377.816168 \n", - "FW05B 23059.50993 415.423251 381.030295 \n", - "FW06 23059.50993 415.423251 412.67792 \n", - "FW07 23059.50993 415.423251 442.071525 \n", - "FW08 23059.50993 415.423251 478.52766 \n", - "FWH1_DRN1 962.133639 17.333095 329.150793 \n", - "FWH1_DRN2 962.133639 17.333095 329.271314 \n", - "FWH2_DRN 558.186011 10.055871 326.815736 \n", - "FWH3_DRN 413.473159 7.44883 336.976168 \n", - "FWH4_DRN 273.642832 4.929749 349.497349 \n", - "FWH6_DRN 3955.212722 71.254217 449.625486 \n", - "FWH7_DRN 3148.077155 56.713454 517.546178 \n", - "FWH8_DRN 1862.001605 33.544458 553.839275 \n", - "MAKEUP_01 -0.001 -0.000018 306.248085 \n", - "RHT_COLD 19911.433775 358.709816 604.326829 \n", - "RHT_HOT 19911.433775 358.709816 896.029914 \n", - "STEAM_LP 16697.745133 300.814354 543.606798 \n", - "STEAM_MAIN 23059.51093 415.423269 866.481887 \n", - "THRTL1 5764.877732 103.855817 863.036545 \n", - "THRTL2 5764.877732 103.855817 863.036545 \n", - "THRTL3 5764.877732 103.855817 863.036545 \n", - "THRTL4 5764.877732 103.855817 863.036545 \n", - "condenser_mix_to_condenser 17282.47115 311.348349 301.579977 \n", - "\n", - " P Vapor Fraction Molar Enthalpy \n", - "Units pascal dimensionless joule / mole \n", - "COND_01 3878.882993 0.0 2146.889145 \n", - "COND_02 3878.882993 0.0 2146.889125 \n", - "COND_03 1003878.882993 0.0 2169.492072 \n", - "CW01 500000 0.0 1700 \n", - "CW02 500000.0 0.0 1993.588144 \n", - "EXHST_BFPT 3878.882993 0.995438 45787.761725 \n", - "EXHST_MAIN 3878.882993 0.966082 44500.759915 \n", - "EXTR_BFPT_A 338388.603252 1.0 54195.400951 \n", - "EXTR_HP4 8629988.197215 1.0 57580.163942 \n", - "EXTR_HP7 4418553.956974 1.0 54662.948278 \n", - "EXTR_IP10 338388.603252 1.0 54195.400951 \n", - "EXTR_IP5 1172040.757229 1.0 59876.246946 \n", - "EXTR_LP10 21754.627463 0.969922 45782.945673 \n", - "EXTR_LP11 16533.516872 0.959113 45129.193587 \n", - "EXTR_LP4 112893.801381 1.0 50261.606682 \n", - "EXTR_LP8 37663.82871 0.992883 47147.58101 \n", - "FW01A 1003878.882993 0.0 3119.909089 \n", - "FW01B 1003878.882993 0.0 3179.556729 \n", - "FW02 1003878.882993 0.0 3527.957688 \n", - "FW03 1003878.882993 0.0 3866.605104 \n", - "FW04 1003878.882993 0.0 4534.062165 \n", - "FW05A 1003878.882993 0.0 7918.042589 \n", - "FW05B 25055327.334945 0.0 8482.037139 \n", - "FW06 25055327.334945 0.0 10871.356834 \n", - "FW07 25055327.334945 0.0 13119.091039 \n", - "FW08 25055327.334945 0.0 15965.747919 \n", - "FWH1_DRN1 16533.516872 0.0 4223.563659 \n", - "FWH1_DRN2 1216533.516872 0.0 4250.986427 \n", - "FWH2_DRN 21754.627463 0.0 4047.675227 \n", - "FWH3_DRN 37663.82871 0.0 4813.885705 \n", - "FWH4_DRN 112893.801381 0.0 5760.204873 \n", - "FWH6_DRN 1172040.757229 0.0 13468.955565 \n", - "FWH7_DRN 4418553.956974 0.0 19072.238124 \n", - "FWH8_DRN 8629988.197215 0.0 22326.428163 \n", - "MAKEUP_01 101325 0.0 2500 \n", - "RHT_COLD 4418553.956974 1.0 54662.948278 \n", - "RHT_HOT 4059473.408394 1.0 67143.632291 \n", - "STEAM_LP 338388.603252 1.0 54195.400951 \n", - "STEAM_MAIN 24230000.0 0.0 62710.01 \n", - "THRTL1 23161159.682041 0.0 62710.01 \n", - "THRTL2 23161159.682041 0.0 62710.01 \n", - "THRTL3 23161159.682041 0.0 62710.01 \n", - "THRTL4 23161159.682041 0.0 62710.01 \n", - "condenser_mix_to_condenser 3878.882993 0.968709 44615.952422 " - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# Display the stream table.\n", "df" @@ -14720,7 +178,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.9.12" } }, "nbformat": 4, diff --git a/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_power_plant_test.ipynb b/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_power_plant_test.ipynb index c9851e9c..15722642 100644 --- a/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_power_plant_test.ipynb +++ b/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_power_plant_test.ipynb @@ -1,5 +1,31 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "markdown", "metadata": {}, diff --git a/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_power_plant_usr.ipynb b/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_power_plant_usr.ipynb index c9851e9c..15722642 100644 --- a/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_power_plant_usr.ipynb +++ b/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_power_plant_usr.ipynb @@ -1,5 +1,31 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "markdown", "metadata": {}, diff --git a/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_steam_cycle.ipynb b/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_steam_cycle.ipynb index 56bbd4ee..09b38668 100644 --- a/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_steam_cycle.ipynb +++ b/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_steam_cycle.ipynb @@ -1,224 +1,251 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Supercritical Steam Cycle Example\n", - "Maintainer: Andrew Lee \n", - "Author: Andrew Lee \n", - "\n", - "This example uses Jupyter Lab or Jupyter notebook, and demonstrates a supercritical pulverized coal (SCPC) steam cycle model. See the ```supercritical_steam_cycle.py``` to see more information on how to assemble a power plant model flowsheet. Code comments in that file will guide you through the process." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Model Description\n", - "\n", - "The example model doesn't represent any particular power plant, but should be a reasonable approximation of a typical plant. The gross power output is about 620 MW. The process flow diagram (PFD) can be shown using the code below. The initial PFD contains spaces for model results, to be filled in later.\n", - "\n", - "To get a more detailed look at the model structure, you may find it useful to review ```supercritical_steam_cycle.py``` first. Although there is no detailed boiler model, there are constraints in the model to complete the steam loop through the boiler and calculate boiler heat input to the steam cycle. The efficiency calculation for the steam cycle doesn't account for heat loss in the boiler, which would be a result of a more detailed boiler model." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "# pkg_resources is used here to get the svg information from the\n", - "# installed IDAES package\n", - "\n", - "import pkg_resources\n", - "from IPython.display import SVG, display\n", - "\n", - "# Get the contents of the PFD (which is an svg file)\n", - "init_pfd = pkg_resources.resource_string(\n", - " \"idaes.models_extra.power_generation.flowsheets.supercritical_steam_cycle\",\n", - " \"supercritical_steam_cycle.svg\",\n", - ")\n", - "\n", - "# Make the svg contents into an SVG object and display it.\n", - "display(SVG(init_pfd))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Initialize the steam cycle flowsheet\n", - "\n", - "This example is part of the ```idaes``` package, which you should have installed. To run the example, the example flowsheet is imported from the ```idaes``` package. When you write your own model, you can import and run it in whatever way is appropriate for you. The Pyomo environment is also imported as ```pyo```, providing easy access to Pyomo functions and classes.\n", - "\n", - "The supercritical flowsheet example main function returns a Pyomo concrete mode (m) and a solver object (solver). The model is also initialized by the ```main()``` function." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "import pyomo.environ as pyo\n", - "from idaes.models_extra.power_generation.flowsheets.supercritical_steam_cycle import (\n", - " main,\n", - " pfd_result,\n", - ")\n", - "from idaes.core.util.tables import create_stream_table_dataframe\n", - "\n", - "m, solver = main()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Inside the model, there is a subblock ```fs```. This is an IDAES flowsheet model, which contains the supercritical steam cycle model. In the flowsheet, the model called ```turb``` is a multistage turbine model. The turbine model contains an expression for total power, ```power```. In this case the model is steady-state, but all IDAES models allow for dynamic simulation, and contain time indexes. Power is indexed by time, and only the \"0\" time point exists. By convention, in the IDAES framework, power going into a model is positive, so power produced by the turbine is negative. \n", - "\n", - "The property package used for this model uses SI (mks) units of measure, so the power is in Watts. Here a function is defined which can be used to report power output in MW." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "# Define a function to report gross power output in MW\n", - "def gross_power_mw(model):\n", - " # pyo.value(m.fs.turb.power[0]) is the power consumed in Watts\n", - " return -pyo.value(model.fs.turb.power[0]) / 1e6\n", - "\n", - "\n", - "# Show the gross power\n", - "gross_power_mw(m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Change the model inputs\n", - "\n", - "The turbine in this example simulates partial arc admission with four arcs, so there are four throttle valves. For this example, we will close one of the valves to 25% open, and observe the result." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.turb.throttle_valve[1].valve_opening[:].value = 0.25" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we re-solve the model using the solver created by the ```supercritical_steam_cycle.py``` script." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we can check the gross power output again." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "gross_power_mw(m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Creating a PFD with results and a stream table\n", - "\n", - "A more detailed look at the model results can be obtained by creating a stream table and putting key results on the PFD. Of course, any unit model or stream result can be obtained from the model." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "# Create a Pandas dataframe with stream results\n", - "df = create_stream_table_dataframe(streams=m._streams, orient=\"index\")\n", - "\n", - "# Create a new PFD with simulation results\n", - "res_pfd = pfd_result(m, df, svg=init_pfd)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "# Display PFD with results.\n", - "display(SVG(res_pfd))" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "# Display the stream table.\n", - "df" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.11" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} \ No newline at end of file + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "313496d1", + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Supercritical Steam Cycle Example\n", + "Maintainer: Andrew Lee \n", + "Author: Andrew Lee \n", + "\n", + "This example uses Jupyter Lab or Jupyter notebook, and demonstrates a supercritical pulverized coal (SCPC) steam cycle model. See the ```supercritical_steam_cycle.py``` to see more information on how to assemble a power plant model flowsheet. Code comments in that file will guide you through the process." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Model Description\n", + "\n", + "The example model doesn't represent any particular power plant, but should be a reasonable approximation of a typical plant. The gross power output is about 620 MW. The process flow diagram (PFD) can be shown using the code below. The initial PFD contains spaces for model results, to be filled in later.\n", + "\n", + "To get a more detailed look at the model structure, you may find it useful to review ```supercritical_steam_cycle.py``` first. Although there is no detailed boiler model, there are constraints in the model to complete the steam loop through the boiler and calculate boiler heat input to the steam cycle. The efficiency calculation for the steam cycle doesn't account for heat loss in the boiler, which would be a result of a more detailed boiler model." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "# pkg_resources is used here to get the svg information from the\n", + "# installed IDAES package\n", + "\n", + "import pkg_resources\n", + "from IPython.display import SVG, display\n", + "\n", + "# Get the contents of the PFD (which is an svg file)\n", + "init_pfd = pkg_resources.resource_string(\n", + " \"idaes.models_extra.power_generation.flowsheets.supercritical_steam_cycle\",\n", + " \"supercritical_steam_cycle.svg\",\n", + ")\n", + "\n", + "# Make the svg contents into an SVG object and display it.\n", + "display(SVG(init_pfd))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Initialize the steam cycle flowsheet\n", + "\n", + "This example is part of the ```idaes``` package, which you should have installed. To run the example, the example flowsheet is imported from the ```idaes``` package. When you write your own model, you can import and run it in whatever way is appropriate for you. The Pyomo environment is also imported as ```pyo```, providing easy access to Pyomo functions and classes.\n", + "\n", + "The supercritical flowsheet example main function returns a Pyomo concrete mode (m) and a solver object (solver). The model is also initialized by the ```main()``` function." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import pyomo.environ as pyo\n", + "from idaes.models_extra.power_generation.flowsheets.supercritical_steam_cycle import (\n", + " main,\n", + " pfd_result,\n", + ")\n", + "from idaes.core.util.tables import create_stream_table_dataframe\n", + "\n", + "m, solver = main()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Inside the model, there is a subblock ```fs```. This is an IDAES flowsheet model, which contains the supercritical steam cycle model. In the flowsheet, the model called ```turb``` is a multistage turbine model. The turbine model contains an expression for total power, ```power```. In this case the model is steady-state, but all IDAES models allow for dynamic simulation, and contain time indexes. Power is indexed by time, and only the \"0\" time point exists. By convention, in the IDAES framework, power going into a model is positive, so power produced by the turbine is negative. \n", + "\n", + "The property package used for this model uses SI (mks) units of measure, so the power is in Watts. Here a function is defined which can be used to report power output in MW." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# Define a function to report gross power output in MW\n", + "def gross_power_mw(model):\n", + " # pyo.value(m.fs.turb.power[0]) is the power consumed in Watts\n", + " return -pyo.value(model.fs.turb.power[0]) / 1e6\n", + "\n", + "\n", + "# Show the gross power\n", + "gross_power_mw(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Change the model inputs\n", + "\n", + "The turbine in this example simulates partial arc admission with four arcs, so there are four throttle valves. For this example, we will close one of the valves to 25% open, and observe the result." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.turb.throttle_valve[1].valve_opening[:].value = 0.25" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we re-solve the model using the solver created by the ```supercritical_steam_cycle.py``` script." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can check the gross power output again." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "gross_power_mw(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Creating a PFD with results and a stream table\n", + "\n", + "A more detailed look at the model results can be obtained by creating a stream table and putting key results on the PFD. Of course, any unit model or stream result can be obtained from the model." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# Create a Pandas dataframe with stream results\n", + "df = create_stream_table_dataframe(streams=m._streams, orient=\"index\")\n", + "\n", + "# Create a new PFD with simulation results\n", + "res_pfd = pfd_result(m, df, svg=init_pfd)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# Display PFD with results.\n", + "display(SVG(res_pfd))" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Display the stream table.\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.11" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_steam_cycle_doc.ipynb b/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_steam_cycle_doc.ipynb index 75428839..ae9b24fb 100644 --- a/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_steam_cycle_doc.ipynb +++ b/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_steam_cycle_doc.ipynb @@ -1,5 +1,31 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -26,974 +52,7 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\dkgun\\AppData\\Local\\Temp\\ipykernel_36220\\1084714406.py:4: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html\n", - " import pkg_resources\n" - ] - }, - { - "data": { - "image/svg+xml": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " image/svg+xml\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " Hotwell\n", - " LP Turbine\n", - " IP Turbine\n", - " HP Turbine\n", - " BFPT\n", - " \n", - " \n", - " Condenser\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " FWH1\n", - " \n", - " FWH2\n", - " FWH3\n", - " FWH5(Deaerator)\n", - " FWH6\n", - " FWH7\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " CondensatePump\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " Generator\n", - " Gross Power (W):\n", - " ?\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " Hot Reheat\n", - " Cold Reheat\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " FWH4\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " FWH8\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " STEAM_MAIN\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " THRTL3\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " THRTL4\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " THRTL1\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " EXTR_HP4\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " THRTL2\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " EXTR_HP7\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " EXTR_IP5\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " EXTR_IP10\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " EXTR_LP4\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " EXTR_LP10\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " EXTR_LP11\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " EXTR_LP8\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " MAKEUP_01\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " COND_02\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " COND_03\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " COND_01\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " CW01\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " CW02\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " EXHST_MAIN\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " EXHST_BFPT\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " EXTR_BFPT_A\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " RHT_HOT\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " RHT_COLD\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " STEAM_LP\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FW03\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FW04\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FW05A\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FWH4_DRN\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FWH3_DRN\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FWH2_DRN\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FWH1_DRN2\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FW01B\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FWH1_DRN1\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FW02\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FW01A\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FW05B\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FW06\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FW07\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FW08\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FWH6_DRN\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FWH7_DRN\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " \n", - " FWH8_DRN\n", - " T:\n", - " P:\n", - " x:\n", - " ?\n", - " F:\n", - " \n", - " \n", - " ?\n", - " ?\n", - " \n", - " BFP\n", - " Efficiency (%):\n", - " Power (W):\n", - " \n", - " ?\n", - " ?\n", - " ?\n", - " Steam Cycle Summary\n", - " Heat from boiler (MW):\n", - " Steam Cycle Eff. (%):\n", - " Steam Flow (kg/s):\n", - " ?\n", - " Gross Power (MW):\n", - " \n", - " \n", - " ?\n", - " Steam Pressure (kPa):\n", - " ?\n", - " Condenser Pressure (kPa):\n", - " Legend\n", - " T: Temperature (K)\n", - " P: Pressure (Pa)\n", - " x: Vapor Fraction\n", - " F: Flow (mol/s)\n", - " \n", - " \n", - " \n", - " ?\n", - " ?\n", - " \n", - " BFPT\n", - " Efficiency (%):\n", - " Power (W):\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": { - "filenames": { - "image/svg+xml": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\power_gen\\supercritical\\supercritical_steam_cycle_doc_2_1.svg" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# pkg_resources is used here to get the svg information from the\n", "# installed IDAES package\n", @@ -1026,5174 +85,7 @@ "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:19 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:20 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:20 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:20 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:20 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:20 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:22 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:22 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:22 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:22 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:22 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:22 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:22 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:22 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:22 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:22 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:22 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:23 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:23 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:23 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:23 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:23 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:23 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:24 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:24 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:24 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:24 [WARNING] idaes.models.properties.general_helmholtz.helmholtz_state: Helmholtz EoS packages using Mixed phase representation ignore the 'has_phase_equilibrium' configuration argument. However, setting this to True can result in errors when constructing material balances due to only having a single phase (thus phase transfer terms cannot be constructed).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:26 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.inlet_stage[1].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:26 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.inlet_stage[2].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:26 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.inlet_stage[3].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:26 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.inlet_stage[4].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:26 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.hp_stages[1].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:26 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.hp_stages[2].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:26 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.hp_stages[3].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:26 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.hp_stages[4].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:26 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.hp_stages[5].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.hp_stages[6].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.hp_stages[7].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.ip_stages[1].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.ip_stages[2].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.ip_stages[3].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.ip_stages[4].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.ip_stages[5].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.ip_stages[6].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.ip_stages[7].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.ip_stages[8].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.ip_stages[9].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.ip_stages[10].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.lp_stages[1].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.lp_stages[2].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.lp_stages[3].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.lp_stages[4].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.lp_stages[5].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.lp_stages[6].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.lp_stages[7].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.lp_stages[8].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.lp_stages[9].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.lp_stages[10].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.lp_stages[11].control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.turb.outlet_stage.control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.cond_pump.control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh1.condense.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh1.condense.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh1_pump.control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh2.condense.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh2.condense.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh2.desuperheat.hot_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh2.desuperheat.cold_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh2.desuperheat.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh2.desuperheat.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh2.cooling.hot_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh2.cooling.cold_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh2.cooling.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh2.cooling.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh3.condense.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh3.condense.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh3.desuperheat.hot_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh3.desuperheat.cold_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh3.desuperheat.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh3.desuperheat.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh3.cooling.hot_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh3.cooling.cold_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh3.cooling.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh3.cooling.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh4.condense.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh4.condense.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh4.desuperheat.hot_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh4.desuperheat.cold_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh4.desuperheat.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh4.desuperheat.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh4.cooling.hot_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh4.cooling.cold_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh4.cooling.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh4.cooling.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.bfp.control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.bfpt.control_volume.work\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh6.condense.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh6.condense.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh6.desuperheat.hot_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh6.desuperheat.cold_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh6.desuperheat.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh6.desuperheat.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh6.cooling.hot_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh6.cooling.cold_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh6.cooling.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh6.cooling.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh7.condense.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh7.condense.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh7.desuperheat.hot_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh7.desuperheat.cold_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh7.desuperheat.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh7.desuperheat.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh7.cooling.hot_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh7.cooling.cold_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh7.cooling.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh7.cooling.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh8.condense.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh8.condense.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh8.desuperheat.hot_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh8.desuperheat.cold_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh8.desuperheat.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh8.desuperheat.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh8.cooling.hot_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh8.cooling.cold_side.heat\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh8.cooling.overall_heat_transfer_coefficient[0.0]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:27 [WARNING] idaes.core.util.scaling: Missing scaling factor for fs.fwh8.cooling.area\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:28 [INFO] idaes.init.Steam Cycle Model: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:28 [INFO] idaes.init.fs.turb.inlet_split: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:28 [INFO] idaes.init.fs.turb.throttle_valve[1]: Steam valve initialization started\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:28 [INFO] idaes.init.fs.turb.throttle_valve[1]: Steam valve initialization complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:28 [INFO] idaes.init.fs.turb.throttle_valve[2]: Steam valve initialization started\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:28 [INFO] idaes.init.fs.turb.throttle_valve[2]: Steam valve initialization complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:28 [INFO] idaes.init.fs.turb.throttle_valve[3]: Steam valve initialization started\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:28 [INFO] idaes.init.fs.turb.throttle_valve[3]: Steam valve initialization complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:28 [INFO] idaes.init.fs.turb.throttle_valve[4]: Steam valve initialization started\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:28 [INFO] idaes.init.fs.turb.throttle_valve[4]: Steam valve initialization complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:28 [INFO] idaes.init.fs.turb.inlet_stage[1]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:28 [INFO] idaes.init.fs.turb.inlet_stage[2]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:28 [INFO] idaes.init.fs.turb.inlet_stage[3]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:28 [INFO] idaes.init.fs.turb.inlet_stage[4]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:28 [INFO] idaes.init.fs.turb.inlet_mix: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:29 [INFO] idaes.init.fs.turb.hp_split[4]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:29 [INFO] idaes.init.fs.turb.hp_split[7]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:30 [INFO] idaes.init.fs.turb.ip_split[5]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:30 [INFO] idaes.init.fs.turb.ip_split[10]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:30 [INFO] idaes.init.fs.turb.lp_split[4]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:31 [INFO] idaes.init.fs.turb.lp_split[8]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:31 [INFO] idaes.init.fs.turb.lp_split[10]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:31 [INFO] idaes.init.fs.turb.lp_split[11]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:31 [INFO] idaes.init.fs.turb.outlet_stage: Initialization Complete (Outlet Stage): optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:31 [INFO] idaes.init.fs.turb.inlet_split: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:31 [INFO] idaes.init.fs.turb.throttle_valve[1]: Steam valve initialization started\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:31 [INFO] idaes.init.fs.turb.throttle_valve[1]: Steam valve initialization complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:31 [INFO] idaes.init.fs.turb.throttle_valve[2]: Steam valve initialization started\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:31 [INFO] idaes.init.fs.turb.throttle_valve[2]: Steam valve initialization complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:31 [INFO] idaes.init.fs.turb.throttle_valve[3]: Steam valve initialization started\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:31 [INFO] idaes.init.fs.turb.throttle_valve[3]: Steam valve initialization complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:31 [INFO] idaes.init.fs.turb.throttle_valve[4]: Steam valve initialization started\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:31 [INFO] idaes.init.fs.turb.throttle_valve[4]: Steam valve initialization complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:31 [INFO] idaes.init.fs.turb.inlet_stage[1]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:32 [INFO] idaes.init.fs.turb.inlet_stage[2]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:32 [INFO] idaes.init.fs.turb.inlet_stage[3]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:32 [INFO] idaes.init.fs.turb.inlet_stage[4]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:32 [INFO] idaes.init.fs.turb.inlet_mix: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:32 [INFO] idaes.init.fs.turb.hp_split[4]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:32 [INFO] idaes.init.fs.turb.hp_split[7]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:33 [INFO] idaes.init.fs.turb.ip_split[5]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:33 [INFO] idaes.init.fs.turb.ip_split[10]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:34 [INFO] idaes.init.fs.turb.lp_split[4]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:34 [INFO] idaes.init.fs.turb.lp_split[8]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:34 [INFO] idaes.init.fs.turb.lp_split[10]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:34 [INFO] idaes.init.fs.turb.lp_split[11]: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:34 [INFO] idaes.init.fs.turb.outlet_stage: Initialization Complete (Outlet Stage): optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [INFO] idaes.init.Steam Cycle Model: Full turbine solve complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: WARNING: model contains export suffix\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: 'fs.bfpt.control_volume.properties_out[0.0].scaling_factor' that contains 60\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: WARNING: model contains export suffix\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: 'fs.bfpt.control_volume.properties_in[0.0].scaling_factor' that contains 63\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: Number of nonzeros in equality constraint Jacobian...: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: Number of nonzeros in Lagrangian Hessian.............: 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: Total number of variables............................: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: variables with lower and upper bounds: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: Total number of equality constraints.................: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: 0 0.0000000e+00 5.46e+00 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: 1 0.0000000e+00 5.55e-17 1.00e-07 -1.0 5.46e+07 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: Constraint violation....: 5.5511151231257827e-17 5.5511151231257827e-17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: Overall NLP error.......: 5.5511151231257827e-17 5.5511151231257827e-17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: Total CPU secs in IPOPT (w/o function evaluations) = 0.005\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:35 [DEBUG] idaes.solve.fs.bfpt: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [INFO] idaes.init.fs.condenser_mix: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [INFO] idaes.init.fs.condenser.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [INFO] idaes.init.fs.condenser.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [INFO] idaes.init.fs.hotwell: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [INFO] idaes.init.fs.fwh1.drain_mix: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [WARNING] idaes.init.fs.fwh1: The steam sat. temperature (329.33327413754273) is near the feedwater inlet temperature (299.90239563835314)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [INFO] idaes.init.fs.fwh1.condense.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [INFO] idaes.init.fs.fwh1.condense.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [INFO] idaes.init.fs.fwh1.condense: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [INFO] idaes.init.fs.fwh1.condense: Initialization Complete (w/ extraction calc): optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [INFO] idaes.init.fs.fwh1: Condensing hot side inlet delta T = 12.513326095276463\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [INFO] idaes.init.fs.fwh1: Condensing hot side outlet delta T = 29.430878499189813\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [INFO] idaes.init.fs.fwh1: Steam Flow = 1345.0635216258854\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [INFO] idaes.init.fs.fwh1: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: WARNING: model contains export suffix\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: 'fs.fwh1_pump.control_volume.properties_out[0.0].scaling_factor' that contains\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: 60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: WARNING: model contains export suffix\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: 'fs.fwh1_pump.control_volume.properties_in[0.0].scaling_factor' that contains\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: 63 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: Number of nonzeros in equality constraint Jacobian...: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: Number of nonzeros in Lagrangian Hessian.............: 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: Total number of variables............................: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: variables with lower and upper bounds: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: Total number of equality constraints.................: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: 0 0.0000000e+00 5.66e-01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: 1 0.0000000e+00 1.11e-16 2.21e-07 -1.0 5.66e+06 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: Constraint violation....: 1.1102230246251565e-16 1.1102230246251565e-16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: Overall NLP error.......: 1.1102230246251565e-16 1.1102230246251565e-16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: Total CPU secs in IPOPT (w/o function evaluations) = 0.006\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [DEBUG] idaes.solve.fs.fwh1_pump: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [INFO] idaes.init.fs.fwh1_return: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [INFO] idaes.init.fs.fwh2.desuperheat.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [INFO] idaes.init.fs.fwh2.desuperheat.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [INFO] idaes.init.fs.fwh2.desuperheat: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [INFO] idaes.init.fs.fwh2.drain_mix: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [WARNING] idaes.init.fs.fwh2: The steam sat. temperature (335.227225889338) is near the feedwater inlet temperature (318.02261253783706)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [INFO] idaes.init.fs.fwh2.condense.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:36 [INFO] idaes.init.fs.fwh2.condense.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:37 [INFO] idaes.init.fs.fwh2.condense: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:37 [INFO] idaes.init.fs.fwh2.condense: Initialization Complete (w/ extraction calc): optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:37 [INFO] idaes.init.fs.fwh2.cooling.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:37 [INFO] idaes.init.fs.fwh2.cooling.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:37 [INFO] idaes.init.fs.fwh2.cooling: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:37 [INFO] idaes.init.fs.fwh2: Condensing hot side inlet delta T = 12.731240077383344\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:37 [INFO] idaes.init.fs.fwh2: Condensing hot side outlet delta T = 17.00237210361631\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:37 [INFO] idaes.init.fs.fwh2: Steam Flow = 217.13965467965426\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:37 [INFO] idaes.init.fs.fwh2: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:37 [INFO] idaes.init.fs.fwh3.desuperheat.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:37 [INFO] idaes.init.fs.fwh3.desuperheat.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:38 [INFO] idaes.init.fs.fwh3.desuperheat: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:38 [INFO] idaes.init.fs.fwh3.drain_mix: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:38 [WARNING] idaes.init.fs.fwh3: The steam sat. temperature (347.7738554943195) is near the feedwater inlet temperature (323.03655083895876)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:38 [INFO] idaes.init.fs.fwh3.condense.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:38 [INFO] idaes.init.fs.fwh3.condense.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:38 [INFO] idaes.init.fs.fwh3.condense: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:38 [INFO] idaes.init.fs.fwh3.condense: Initialization Complete (w/ extraction calc): optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:38 [INFO] idaes.init.fs.fwh3.cooling.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:38 [INFO] idaes.init.fs.fwh3.cooling.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:38 [INFO] idaes.init.fs.fwh3.cooling: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:39 [INFO] idaes.init.fs.fwh3: Condensing hot side inlet delta T = 20.206912020985854\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:39 [INFO] idaes.init.fs.fwh3: Condensing hot side outlet delta T = 24.503595562923753\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:39 [INFO] idaes.init.fs.fwh3: Steam Flow = 217.44627715533093\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:39 [INFO] idaes.init.fs.fwh3: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:39 [INFO] idaes.init.fs.fwh4.desuperheat.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:39 [INFO] idaes.init.fs.fwh4.desuperheat.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:40 [INFO] idaes.init.fs.fwh4.desuperheat: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:40 [INFO] idaes.init.fs.fwh4.condense.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:40 [INFO] idaes.init.fs.fwh4.condense.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:40 [INFO] idaes.init.fs.fwh4.condense: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:40 [INFO] idaes.init.fs.fwh4.condense: Initialization Complete (w/ extraction calc): optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:40 [INFO] idaes.init.fs.fwh4.cooling.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:40 [INFO] idaes.init.fs.fwh4.cooling.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:40 [INFO] idaes.init.fs.fwh4.cooling: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:40 [INFO] idaes.init.fs.fwh4: Condensing hot side inlet delta T = 39.4301600167788\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:40 [INFO] idaes.init.fs.fwh4: Condensing hot side outlet delta T = 47.808053621766945\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:40 [INFO] idaes.init.fs.fwh4: Steam Flow = 247.42787053670986\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:40 [INFO] idaes.init.fs.fwh4: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:40 [INFO] idaes.init.fs.fwh5_da: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:40 [INFO] idaes.init.fs.fwh6.desuperheat.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:40 [INFO] idaes.init.fs.fwh6.desuperheat.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:41 [INFO] idaes.init.fs.fwh6.desuperheat: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:41 [INFO] idaes.init.fs.fwh6.drain_mix: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:41 [INFO] idaes.init.fs.fwh6.condense.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:41 [INFO] idaes.init.fs.fwh6.condense.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:41 [INFO] idaes.init.fs.fwh6.condense: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:41 [INFO] idaes.init.fs.fwh6.condense: Initialization Complete (w/ extraction calc): optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:41 [INFO] idaes.init.fs.fwh6.cooling.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:41 [INFO] idaes.init.fs.fwh6.cooling.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:41 [INFO] idaes.init.fs.fwh6.cooling: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:41 [INFO] idaes.init.fs.fwh6: Condensing hot side inlet delta T = 45.08557769758456\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:41 [INFO] idaes.init.fs.fwh6: Condensing hot side outlet delta T = 72.43686375394775\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:41 [INFO] idaes.init.fs.fwh6: Steam Flow = 2128.5569356289825\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:41 [INFO] idaes.init.fs.fwh6: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:41 [INFO] idaes.init.fs.fwh7.desuperheat.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:41 [INFO] idaes.init.fs.fwh7.desuperheat.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:41 [INFO] idaes.init.fs.fwh7.desuperheat: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:41 [INFO] idaes.init.fs.fwh7.drain_mix: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:41 [INFO] idaes.init.fs.fwh7.condense.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:41 [INFO] idaes.init.fs.fwh7.condense.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:41 [INFO] idaes.init.fs.fwh7.condense: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:42 [INFO] idaes.init.fs.fwh7.condense: Initialization Complete (w/ extraction calc): optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:42 [INFO] idaes.init.fs.fwh7.cooling.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:42 [INFO] idaes.init.fs.fwh7.cooling.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:42 [INFO] idaes.init.fs.fwh7.cooling: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:42 [INFO] idaes.init.fs.fwh7: Condensing hot side inlet delta T = 72.40778629492878\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:42 [INFO] idaes.init.fs.fwh7: Condensing hot side outlet delta T = 98.78550984873016\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:42 [INFO] idaes.init.fs.fwh7: Steam Flow = 3749.068025531304\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:42 [INFO] idaes.init.fs.fwh7: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:42 [INFO] idaes.init.fs.fwh8.desuperheat.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:42 [INFO] idaes.init.fs.fwh8.desuperheat.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:42 [INFO] idaes.init.fs.fwh8.desuperheat: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:42 [INFO] idaes.init.fs.fwh8.condense.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:42 [INFO] idaes.init.fs.fwh8.condense.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:42 [INFO] idaes.init.fs.fwh8.condense: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:42 [INFO] idaes.init.fs.fwh8.condense: Initialization Complete (w/ extraction calc): optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:42 [INFO] idaes.init.fs.fwh8.cooling.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:42 [INFO] idaes.init.fs.fwh8.cooling.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:42 [INFO] idaes.init.fs.fwh8.cooling: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:42 [INFO] idaes.init.fs.fwh8: Condensing hot side inlet delta T = 99.32852730878224\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:42 [INFO] idaes.init.fs.fwh8: Condensing hot side outlet delta T = 108.51918961631927\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:42 [INFO] idaes.init.fs.fwh8: Steam Flow = 1487.8775467636813\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:42 [INFO] idaes.init.fs.fwh8: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:45 [INFO] idaes.init.Steam Cycle Model: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.drain_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.drain_mix.drain_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.drain_mix.steam_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.drain_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.drain_mix.drain_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.drain_mix.steam_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.bfpt.control_volume.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.bfpt.control_volume.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.bfp.control_volume.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.bfp.control_volume.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh5_da.mixed_state[0.0].scaling_factor' that contains 60 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh5_da.feedwater_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh5_da.drain_state[0.0].scaling_factor' that contains 60 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh5_da.steam_state[0.0].scaling_factor' that contains 60 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.drain_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.drain_mix.drain_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.drain_mix.steam_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.drain_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.drain_mix.drain_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.drain_mix.steam_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_return.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_return.fwh1_drain_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_return.feedwater_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_pump.control_volume.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_pump.control_volume.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_pump.control_volume.scaling_factor' that contains 1 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.drain_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.drain_mix.drain_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.drain_mix.steam_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.cond_pump.control_volume.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.cond_pump.control_volume.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.cond_pump.control_volume.scaling_factor' that contains 1 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.hotwell.mixed_state[0.0].scaling_factor' that contains 60 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.hotwell.makeup_state[0.0].scaling_factor' that contains 62 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.hotwell.condensate_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser.cold_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser.cold_side.properties_in[0.0].scaling_factor' that contains 63\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.condenser.scaling_factor' that\n", - "contains 2 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser_mix.bfpt_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser_mix.main_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[11].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[11].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[11].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[10].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[10].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[10].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[8].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[8].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[8].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[4].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[4].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[4].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[10].outlet_3_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[10].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[10].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[10].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[5].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[5].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[5].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[7].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[7].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[7].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[4].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[4].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[4].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.outlet_stage.control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.outlet_stage.control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[11].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[11].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[10].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[10].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[9].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[9].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[8].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[8].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[7].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[7].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[6].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[6].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[5].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[5].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[4].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[4].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[3].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[3].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[2].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[2].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[1].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[1].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[10].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[10].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[9].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[9].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[8].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[8].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[7].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[7].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[6].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[6].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[5].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[5].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[4].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[4].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[3].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[3].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[2].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[2].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[1].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[1].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[7].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[7].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[6].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[6].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[5].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[5].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[4].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[4].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[3].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[3].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[2].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[2].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[1].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[1].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_mix.inlet_4_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_mix.inlet_3_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_mix.inlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_mix.inlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[4].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[4].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[3].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[3].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[2].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[2].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[1].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[1].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[4].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[4].control_volume.properties_in[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[3].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[3].control_volume.properties_in[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[2].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[2].control_volume.properties_in[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[1].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[1].control_volume.properties_in[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_split.outlet_4_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_split.outlet_3_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_split.outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_split.outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_split.mixed_state[0.0].scaling_factor' that contains 62\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 2341\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 1021\n", - "\n", - "Total number of variables............................: 858\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 444\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 858\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 2.79e-09 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "\n", - "Number of Iterations....: 0\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 9.9134922493249178e-11 2.7939677238464351e-09\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 9.9134922493249178e-11 2.7939677238464351e-09\n", - "\n", - "\n", - "Number of objective function evaluations = 1\n", - "Number of objective gradient evaluations = 1\n", - "Number of equality constraint evaluations = 1\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 1\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 0\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.297\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "import pyomo.environ as pyo\n", "from idaes.models_extra.power_generation.flowsheets.supercritical_steam_cycle import (\n", @@ -6218,18 +110,7 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "622.3884026414165" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# Define a function to report gross power output in MW\n", "def gross_power_mw(model):\n", @@ -6268,2391 +149,11 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh8.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.drain_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.drain_mix.drain_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.drain_mix.steam_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh7.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.drain_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.drain_mix.drain_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.drain_mix.steam_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh6.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.bfpt.control_volume.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.bfpt.control_volume.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.bfp.control_volume.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.bfp.control_volume.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh5_da.mixed_state[0.0].scaling_factor' that contains 60 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh5_da.feedwater_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh5_da.drain_state[0.0].scaling_factor' that contains 60 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh5_da.steam_state[0.0].scaling_factor' that contains 60 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh4.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.drain_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.drain_mix.drain_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.drain_mix.steam_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh3.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.cooling.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.cooling.cold_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.cooling.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.cooling.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.desuperheat.cold_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.desuperheat.cold_side.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.desuperheat.hot_side.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.desuperheat.hot_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.drain_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.drain_mix.drain_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.drain_mix.steam_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh2.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_return.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_return.fwh1_drain_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_return.feedwater_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_pump.control_volume.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_pump.control_volume.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1_pump.control_volume.scaling_factor' that contains 1 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.drain_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.drain_mix.drain_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.drain_mix.steam_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.condense.cold_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.condense.cold_side.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.condense.hot_side.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.fwh1.condense.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.cond_pump.control_volume.properties_out[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.cond_pump.control_volume.properties_in[0.0].scaling_factor' that contains\n", - "60 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.cond_pump.control_volume.scaling_factor' that contains 1 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.hotwell.mixed_state[0.0].scaling_factor' that contains 60 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.hotwell.makeup_state[0.0].scaling_factor' that contains 62 component keys\n", - "that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.hotwell.condensate_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser.cold_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser.cold_side.properties_in[0.0].scaling_factor' that contains 63\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser.hot_side.properties_out[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser.hot_side.properties_in[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'fs.condenser.scaling_factor' that\n", - "contains 2 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser_mix.bfpt_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.condenser_mix.main_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[11].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[11].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[11].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[10].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[10].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[10].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[8].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[8].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[8].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[4].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[4].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_split[4].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[10].outlet_3_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[10].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[10].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[10].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[5].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[5].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_split[5].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[7].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[7].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[7].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[4].outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[4].outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_split[4].mixed_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.outlet_stage.control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.outlet_stage.control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[11].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[11].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[10].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[10].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[9].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[9].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[8].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[8].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[7].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[7].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[6].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[6].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[5].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[5].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[4].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[4].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[3].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[3].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[2].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[2].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[1].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.lp_stages[1].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[10].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[10].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[9].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[9].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[8].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[8].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[7].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[7].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[6].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[6].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[5].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[5].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[4].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[4].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[3].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[3].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[2].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[2].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[1].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.ip_stages[1].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[7].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[7].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[6].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[6].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[5].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[5].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[4].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[4].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[3].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[3].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[2].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[2].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[1].control_volume.properties_out[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.hp_stages[1].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_mix.mixed_state[0.0].scaling_factor' that contains 60 component\n", - "keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_mix.inlet_4_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_mix.inlet_3_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_mix.inlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_mix.inlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[4].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[4].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[3].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[3].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[2].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[2].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[1].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_stage[1].control_volume.properties_in[0.0].scaling_factor' that\n", - "contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[4].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[4].control_volume.properties_in[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[3].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[3].control_volume.properties_in[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[2].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[2].control_volume.properties_in[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[1].control_volume.properties_out[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.throttle_valve[1].control_volume.properties_in[0.0].scaling_factor'\n", - "that contains 60 component keys that are not exported as part of the NL file.\n", - "Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_split.outlet_4_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_split.outlet_3_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_split.outlet_2_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_split.outlet_1_state[0.0].scaling_factor' that contains 60\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix\n", - "'fs.turb.inlet_split.mixed_state[0.0].scaling_factor' that contains 62\n", - "component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 2341\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 1021\n", - "\n", - "Total number of variables............................: 858\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 444\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 858\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 3.51e-01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 1 0.0000000e+00 3.46e-01 8.48e+01 -1.0 2.63e+07 - 9.82e-01 1.56e-02h 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 2 0.0000000e+00 3.41e-01 8.75e+01 -1.0 2.61e+07 - 9.83e-01 1.56e-02h 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 3 0.0000000e+00 3.35e-01 8.51e+01 -1.0 2.59e+07 - 9.88e-01 1.56e-02h 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 4 0.0000000e+00 3.30e-01 8.25e+01 -1.0 2.56e+07 - 9.88e-01 1.56e-02h 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 5 0.0000000e+00 3.25e-01 7.99e+01 -1.0 2.54e+07 - 9.92e-01 1.56e-02h 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 6 0.0000000e+00 3.20e-01 7.74e+01 -1.0 2.52e+07 - 1.00e+00 1.56e-02h 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 7 0.0000000e+00 3.15e-01 7.50e+01 -1.0 2.50e+07 - 1.00e+00 1.56e-02h 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 8 0.0000000e+00 3.10e-01 7.26e+01 -1.0 2.48e+07 - 1.00e+00 1.56e-02h 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 9 0.0000000e+00 3.05e-01 7.03e+01 -1.7 2.46e+07 - 1.00e+00 1.56e-02h 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 0.0000000e+00 3.00e-01 6.80e+01 -1.7 2.44e+07 - 1.00e+00 1.56e-02h 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 11 0.0000000e+00 2.96e-01 6.58e+01 -1.7 2.42e+07 - 1.00e+00 1.56e-02h 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 12 0.0000000e+00 2.91e-01 6.37e+01 -1.7 2.40e+07 - 1.00e+00 1.56e-02h 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 13 0.0000000e+00 2.87e-01 6.17e+01 -1.7 2.37e+07 - 1.00e+00 1.56e-02h 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 14 0.0000000e+00 2.82e-01 5.96e+01 -1.7 2.35e+07 - 1.00e+00 1.56e-02h 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 15 0.0000000e+00 2.78e-01 5.77e+01 -1.7 2.33e+07 - 1.00e+00 1.56e-02h 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 16 0.0000000e+00 2.73e-01 5.58e+01 -1.7 2.31e+07 - 1.00e+00 1.56e-02h 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 17 0.0000000e+00 2.69e-01 5.39e+01 -1.7 2.29e+07 - 1.00e+00 1.56e-02h 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 18 0.0000000e+00 2.65e-01 5.22e+01 -1.7 2.27e+07 - 1.00e+00 1.56e-02h 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 19 0.0000000e+00 5.87e+01 3.75e+03 -1.7 2.25e+07 - 1.00e+00 1.00e+00w 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 20 0.0000000e+00 2.58e+01 8.24e+01 -1.7 7.28e+06 - 1.00e+00 1.00e+00w 1\n", - " 21 0.0000000e+00 1.46e-01 5.49e-01 -1.7 5.67e+05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 22 0.0000000e+00 4.29e-06 4.85e-05 -1.7 3.35e+03 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 22\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 3.6219717003405094e-08 4.2896717786788940e-06\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 3.6219717003405094e-08 4.2896717786788940e-06\n", - "\n", - "\n", - "Number of objective function evaluations = 203\n", - "Number of objective gradient evaluations = 23\n", - "Number of equality constraint evaluations = 203\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 23\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 22\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.413\n", - "Total CPU secs in NLP function evaluations = 58.164\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 858, 'Number of variables': 858, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 58.77723503112793}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "solver.solve(m, tee=True)" ] @@ -8666,20 +167,9 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "594.6634894062614" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "gross_power_mw(m)" ] @@ -8710,966 +200,7 @@ "cell_type": "code", "execution_count": 8, "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " image/svg+xml\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " Hotwell\n", - " LP Turbine\n", - " IP Turbine\n", - " HP Turbine\n", - " BFPT\n", - " \n", - " \n", - " Condenser\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " FWH1\n", - " \n", - " FWH2\n", - " FWH3\n", - " FWH5(Deaerator)\n", - " FWH6\n", - " FWH7\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " CondensatePump\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " Generator\n", - " Gross Power (W):\n", - " 594663489.406\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " Hot Reheat\n", - " Cold Reheat\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " FWH4\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " FWH8\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 866.482\n", - " 24230000.000\n", - " 0.000\n", - " \n", - " STEAM_MAIN\n", - " T:\n", - " P:\n", - " x:\n", - " 23531.227\n", - " F:\n", - " \n", - " \n", - " 861.573\n", - " 22713089.899\n", - " 0.000\n", - " \n", - " THRTL3\n", - " T:\n", - " P:\n", - " x:\n", - " 6835.193\n", - " F:\n", - " \n", - " \n", - " 861.573\n", - " 22713089.899\n", - " 0.000\n", - " \n", - " THRTL4\n", - " T:\n", - " P:\n", - " x:\n", - " 6835.193\n", - " F:\n", - " \n", - " \n", - " 853.000\n", - " 20155950.787\n", - " 1.000\n", - " \n", - " THRTL1\n", - " T:\n", - " P:\n", - " x:\n", - " 3025.648\n", - " F:\n", - " \n", - " \n", - " 689.819\n", - " 8004585.264\n", - " 1.000\n", - " \n", - " EXTR_HP4\n", - " T:\n", - " P:\n", - " x:\n", - " 1785.003\n", - " F:\n", - " \n", - " \n", - " 861.573\n", - " 22713089.899\n", - " 0.000\n", - " \n", - " THRTL2\n", - " T:\n", - " P:\n", - " x:\n", - " 6835.193\n", - " F:\n", - " \n", - " \n", - " 597.345\n", - " 4098347.655\n", - " 1.000\n", - " \n", - " EXTR_HP7\n", - " T:\n", - " P:\n", - " x:\n", - " 1256.161\n", - " F:\n", - " \n", - " \n", - " 676.749\n", - " 1183264.430\n", - " 1.000\n", - " \n", - " EXTR_IP5\n", - " T:\n", - " P:\n", - " x:\n", - " 872.732\n", - " F:\n", - " \n", - " \n", - " 523.020\n", - " 341629.073\n", - " 1.000\n", - " \n", - " EXTR_IP10\n", - " T:\n", - " P:\n", - " x:\n", - " 882.780\n", - " F:\n", - " \n", - " \n", - " 413.655\n", - " 113974.893\n", - " 1.000\n", - " \n", - " EXTR_LP4\n", - " T:\n", - " P:\n", - " x:\n", - " 275.725\n", - " F:\n", - " \n", - " \n", - " 335.246\n", - " 21962.954\n", - " 0.958\n", - " \n", - " EXTR_LP10\n", - " T:\n", - " P:\n", - " x:\n", - " 149.151\n", - " F:\n", - " \n", - " \n", - " 329.351\n", - " 16691.845\n", - " 0.948\n", - " \n", - " EXTR_LP11\n", - " T:\n", - " P:\n", - " x:\n", - " 413.262\n", - " F:\n", - " \n", - " \n", - " 347.794\n", - " 38024.504\n", - " 0.981\n", - " \n", - " EXTR_LP8\n", - " T:\n", - " P:\n", - " x:\n", - " 143.732\n", - " F:\n", - " \n", - " \n", - " 306.248\n", - " 101325.000\n", - " 0.000\n", - " \n", - " MAKEUP_01\n", - " T:\n", - " P:\n", - " x:\n", - " 0.000\n", - " F:\n", - " \n", - " \n", - " 301.688\n", - " 3903.244\n", - " 0.000\n", - " \n", - " COND_02\n", - " T:\n", - " P:\n", - " x:\n", - " 17752.681\n", - " F:\n", - " \n", - " \n", - " 301.769\n", - " 1003903.244\n", - " 0.000\n", - " \n", - " COND_03\n", - " T:\n", - " P:\n", - " x:\n", - " 17752.681\n", - " F:\n", - " \n", - " \n", - " 301.688\n", - " 3903.244\n", - " 0.000\n", - " \n", - " COND_01\n", - " T:\n", - " P:\n", - " x:\n", - " 17752.681\n", - " F:\n", - " \n", - " \n", - " 295.537\n", - " 500000.000\n", - " 0.000\n", - " \n", - " CW01\n", - " T:\n", - " P:\n", - " x:\n", - " 2500000.000\n", - " F:\n", - " \n", - " \n", - " 299.505\n", - " 500000.000\n", - " 0.000\n", - " \n", - " CW02\n", - " T:\n", - " P:\n", - " x:\n", - " 2500000.000\n", - " F:\n", - " \n", - " \n", - " 301.688\n", - " 3903.244\n", - " 0.956\n", - " \n", - " EXHST_MAIN\n", - " T:\n", - " P:\n", - " x:\n", - " 15884.478\n", - " F:\n", - " \n", - " \n", - " 301.688\n", - " 3903.244\n", - " 0.995\n", - " \n", - " EXHST_BFPT\n", - " T:\n", - " P:\n", - " x:\n", - " 1868.203\n", - " F:\n", - " \n", - " \n", - " 523.020\n", - " 341629.073\n", - " 1.000\n", - " \n", - " EXTR_BFPT_A\n", - " T:\n", - " P:\n", - " x:\n", - " 1868.203\n", - " F:\n", - " \n", - " \n", - " 866.000\n", - " 4098347.655\n", - " 1.000\n", - " \n", - " RHT_HOT\n", - " T:\n", - " P:\n", - " x:\n", - " 20490.063\n", - " F:\n", - " \n", - " \n", - " 597.345\n", - " 4098347.655\n", - " 1.000\n", - " \n", - " RHT_COLD\n", - " T:\n", - " P:\n", - " x:\n", - " 20490.063\n", - " F:\n", - " \n", - " \n", - " 523.020\n", - " 341629.073\n", - " 1.000\n", - " \n", - " STEAM_LP\n", - " T:\n", - " P:\n", - " x:\n", - " 16866.348\n", - " F:\n", - " \n", - " \n", - " 324.036\n", - " 1003903.244\n", - " 0.000\n", - " \n", - " FW03\n", - " T:\n", - " P:\n", - " x:\n", - " 18734.551\n", - " F:\n", - " \n", - " \n", - " 332.611\n", - " 1003903.244\n", - " 0.000\n", - " \n", - " FW04\n", - " T:\n", - " P:\n", - " x:\n", - " 18734.551\n", - " F:\n", - " \n", - " \n", - " 376.645\n", - " 1003903.244\n", - " 0.000\n", - " \n", - " FW05A\n", - " T:\n", - " P:\n", - " x:\n", - " 23531.227\n", - " F:\n", - " \n", - " \n", - " 349.678\n", - " 113974.893\n", - " 0.000\n", - " \n", - " FWH4_DRN\n", - " T:\n", - " P:\n", - " x:\n", - " 275.725\n", - " F:\n", - " \n", - " \n", - " 337.189\n", - " 38024.504\n", - " 0.000\n", - " \n", - " FWH3_DRN\n", - " T:\n", - " P:\n", - " x:\n", - " 419.458\n", - " F:\n", - " \n", - " \n", - " 327.019\n", - " 21962.954\n", - " 0.000\n", - " \n", - " FWH2_DRN\n", - " T:\n", - " P:\n", - " x:\n", - " 568.609\n", - " F:\n", - " \n", - " \n", - " 329.472\n", - " 1216691.845\n", - " 0.000\n", - " \n", - " FWH1_DRN2\n", - " T:\n", - " P:\n", - " x:\n", - " 981.870\n", - " F:\n", - " \n", - " \n", - " 314.999\n", - " 1003903.244\n", - " 0.000\n", - " \n", - " FW01B\n", - " T:\n", - " P:\n", - " x:\n", - " 18734.551\n", - " F:\n", - " \n", - " \n", - " 329.351\n", - " 16691.845\n", - " 0.000\n", - " \n", - " FWH1_DRN1\n", - " T:\n", - " P:\n", - " x:\n", - " 981.870\n", - " F:\n", - " \n", - " \n", - " 319.590\n", - " 1003903.244\n", - " 0.000\n", - " \n", - " FW02\n", - " T:\n", - " P:\n", - " x:\n", - " 18734.551\n", - " F:\n", - " \n", - " \n", - " 314.196\n", - " 1003903.244\n", - " 0.000\n", - " \n", - " FW01A\n", - " T:\n", - " P:\n", - " x:\n", - " 17752.681\n", - " F:\n", - " \n", - " \n", - " 380.085\n", - " 26922222.222\n", - " 0.000\n", - " \n", - " FW05B\n", - " T:\n", - " P:\n", - " x:\n", - " 23531.227\n", - " F:\n", - " \n", - " \n", - " 411.317\n", - " 26922222.222\n", - " 0.000\n", - " \n", - " FW06\n", - " T:\n", - " P:\n", - " x:\n", - " 23531.227\n", - " F:\n", - " \n", - " \n", - " 439.458\n", - " 26922222.222\n", - " 0.000\n", - " \n", - " FW07\n", - " T:\n", - " P:\n", - " x:\n", - " 23531.227\n", - " F:\n", - " \n", - " \n", - " 474.206\n", - " 26922222.222\n", - " 0.000\n", - " \n", - " FW08\n", - " T:\n", - " P:\n", - " x:\n", - " 23531.227\n", - " F:\n", - " \n", - " \n", - " 449.769\n", - " 1183264.430\n", - " 0.000\n", - " \n", - " FWH6_DRN\n", - " T:\n", - " P:\n", - " x:\n", - " 3913.896\n", - " F:\n", - " \n", - " \n", - " 512.845\n", - " 4098347.655\n", - " 0.000\n", - " \n", - " FWH7_DRN\n", - " T:\n", - " P:\n", - " x:\n", - " 3041.164\n", - " F:\n", - " \n", - " \n", - " 547.774\n", - " 8004585.264\n", - " 0.000\n", - " \n", - " FWH8_DRN\n", - " T:\n", - " P:\n", - " x:\n", - " 1785.003\n", - " F:\n", - " \n", - " \n", - " 14283317.158\n", - " 80.000\n", - " \n", - " BFP\n", - " Efficiency (%):\n", - " Power (W):\n", - " \n", - " 1341.302\n", - " 44.335\n", - " 423.921\n", - " Steam Cycle Summary\n", - " Heat from boiler (MW):\n", - " Steam Cycle Eff. (%):\n", - " Steam Flow (kg/s):\n", - " 594.663\n", - " Gross Power (MW):\n", - " \n", - " \n", - " 24230.000\n", - " Steam Pressure (kPa):\n", - " 3.903\n", - " Condenser Pressure (kPa):\n", - " Legend\n", - " T: Temperature (K)\n", - " P: Pressure (Pa)\n", - " x: Vapor Fraction\n", - " F: Flow (mol/s)\n", - " \n", - " \n", - " \n", - " -14283317.158\n", - " 58.699\n", - " \n", - " BFPT\n", - " Efficiency (%):\n", - " Power (W):\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": { - "filenames": { - "image/svg+xml": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\power_gen\\supercritical\\supercritical_steam_cycle_doc_15_0.svg" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# Display PFD with results.\n", "display(SVG(res_pfd))" @@ -9681,547 +212,7 @@ "metadata": { "scrolled": true }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Molar FlowMass FlowTPVapor FractionMolar Enthalpy
Unitsmole / secondkilogram / secondkelvinpascaldimensionlessjoule / mole
COND_0117752.680698319.819301301.6878083903.2443670.02155.010494
COND_0217752.680698319.819301301.6878083903.2443670.02155.010494
COND_0317752.680698319.819301301.7689441003903.2443670.02177.614149
CW01250000045038.17295.5368615000000.01700
CW022500000.045038.17299.504714500000.00.01998.82683
EXHST_BFPT1868.20296933.656177301.6878083903.2443670.99543845791.271303
EXHST_MAIN15884.47773286.163123301.6878083903.2443670.9558144054.13332
EXTR_BFPT_A1868.20296933.656177523.019743341629.0733161.053436.755973
EXTR_HP41785.00275332.157303689.818858004585.2639071.057382.396471
EXTR_HP71256.16083622.630074597.3448234098347.655121.054488.822683
EXTR_IP10882.77988915.903516523.019743341629.0733161.053436.755973
EXTR_IP5872.7324315.722509676.7486491183264.4301021.058896.697245
EXTR_LP10149.1509142.686994335.24594821962.9536840.95836445299.885617
EXTR_LP11413.261527.445017329.35125116691.84480.947844653.506513
EXTR_LP4275.7253744.967267413.655212113974.8927071.049660.709547
EXTR_LP8143.7324632.589379347.79422238024.5043010.98079146648.886248
FW01A17752.680698319.819301314.1963151003903.2443670.03112.798156
FW01B18734.550969337.507957314.9994881003903.2443670.03173.242224
FW0218734.550969337.507957319.5895231003903.2443670.03518.711421
FW0318734.550969337.507957324.0357421003903.2443670.03853.440557
FW0418734.550969337.507957332.6109211003903.2443670.04499.343989
FW05A23531.226877423.921359376.6451371003903.2443670.07829.048167
FW05B23531.226877423.921359380.08503426922222.2222220.08436.042321
FW0623531.226877423.921359411.31697626922222.2222220.010790.741011
FW0723531.226877423.921359439.45835526922222.2222220.012937.958691
FW0823531.226877423.921359474.20595826922222.2222220.015639.852538
FWH1_DRN1981.87027117.688656329.35125116691.84480.04238.674177
FWH1_DRN2981.87027117.688656329.4719361216691.84480.04266.099683
FWH2_DRN568.6087510.243639327.01948521962.9536840.04063.031468
FWH3_DRN419.4578377.556645337.18925438024.5043010.04829.96387
FWH4_DRN275.7253744.967267349.678211113974.8927070.05773.886242
FWH6_DRN3913.8960270.509886449.7693091183264.4301020.013480.436276
FWH7_DRN3041.16358954.787377512.8450124098347.655120.018666.841026
FWH8_DRN1785.00275332.157303547.7742558004585.2639070.021764.032855
MAKEUP_010.00.0306.2480851013250.02500
RHT_COLD20490.063288369.133981597.3448234098347.655121.054488.822683
RHT_HOT20490.063288369.133981866.04098347.655121.065893.572327
STEAM_LP16866.348303.851779523.019743341629.0733161.053436.755973
STEAM_MAIN23531.226877423.921359866.481724230000.00.062710
THRTL13025.64811954.507862852.99985120155950.7870341.062710.0
THRTL26835.19292123.137832861.57304322713089.8986460.062710.0
THRTL36835.19292123.137832861.57304322713089.8986460.062710.0
THRTL46835.19292123.137832861.57304322713089.8986460.062710.0
condenser_mix_to_condenser17752.680698319.819301301.6878083903.2443670.9599844236.940998
\n", - "
" - ], - "text/plain": [ - " Molar Flow Mass Flow T \\\n", - "Units mole / second kilogram / second kelvin \n", - "COND_01 17752.680698 319.819301 301.687808 \n", - "COND_02 17752.680698 319.819301 301.687808 \n", - "COND_03 17752.680698 319.819301 301.768944 \n", - "CW01 2500000 45038.17 295.536861 \n", - "CW02 2500000.0 45038.17 299.504714 \n", - "EXHST_BFPT 1868.202969 33.656177 301.687808 \n", - "EXHST_MAIN 15884.47773 286.163123 301.687808 \n", - "EXTR_BFPT_A 1868.202969 33.656177 523.019743 \n", - "EXTR_HP4 1785.002753 32.157303 689.81885 \n", - "EXTR_HP7 1256.160836 22.630074 597.344823 \n", - "EXTR_IP10 882.779889 15.903516 523.019743 \n", - "EXTR_IP5 872.73243 15.722509 676.748649 \n", - "EXTR_LP10 149.150914 2.686994 335.245948 \n", - "EXTR_LP11 413.26152 7.445017 329.351251 \n", - "EXTR_LP4 275.725374 4.967267 413.655212 \n", - "EXTR_LP8 143.732463 2.589379 347.794222 \n", - "FW01A 17752.680698 319.819301 314.196315 \n", - "FW01B 18734.550969 337.507957 314.999488 \n", - "FW02 18734.550969 337.507957 319.589523 \n", - "FW03 18734.550969 337.507957 324.035742 \n", - "FW04 18734.550969 337.507957 332.610921 \n", - "FW05A 23531.226877 423.921359 376.645137 \n", - "FW05B 23531.226877 423.921359 380.085034 \n", - "FW06 23531.226877 423.921359 411.316976 \n", - "FW07 23531.226877 423.921359 439.458355 \n", - "FW08 23531.226877 423.921359 474.205958 \n", - "FWH1_DRN1 981.870271 17.688656 329.351251 \n", - "FWH1_DRN2 981.870271 17.688656 329.471936 \n", - "FWH2_DRN 568.60875 10.243639 327.019485 \n", - "FWH3_DRN 419.457837 7.556645 337.189254 \n", - "FWH4_DRN 275.725374 4.967267 349.678211 \n", - "FWH6_DRN 3913.89602 70.509886 449.769309 \n", - "FWH7_DRN 3041.163589 54.787377 512.845012 \n", - "FWH8_DRN 1785.002753 32.157303 547.774255 \n", - "MAKEUP_01 0.0 0.0 306.248085 \n", - "RHT_COLD 20490.063288 369.133981 597.344823 \n", - "RHT_HOT 20490.063288 369.133981 866.0 \n", - "STEAM_LP 16866.348 303.851779 523.019743 \n", - "STEAM_MAIN 23531.226877 423.921359 866.4817 \n", - "THRTL1 3025.648119 54.507862 852.999851 \n", - "THRTL2 6835.19292 123.137832 861.573043 \n", - "THRTL3 6835.19292 123.137832 861.573043 \n", - "THRTL4 6835.19292 123.137832 861.573043 \n", - "condenser_mix_to_condenser 17752.680698 319.819301 301.687808 \n", - "\n", - " P Vapor Fraction Molar Enthalpy \n", - "Units pascal dimensionless joule / mole \n", - "COND_01 3903.244367 0.0 2155.010494 \n", - "COND_02 3903.244367 0.0 2155.010494 \n", - "COND_03 1003903.244367 0.0 2177.614149 \n", - "CW01 500000 0.0 1700 \n", - "CW02 500000.0 0.0 1998.82683 \n", - "EXHST_BFPT 3903.244367 0.995438 45791.271303 \n", - "EXHST_MAIN 3903.244367 0.95581 44054.13332 \n", - "EXTR_BFPT_A 341629.073316 1.0 53436.755973 \n", - "EXTR_HP4 8004585.263907 1.0 57382.396471 \n", - "EXTR_HP7 4098347.65512 1.0 54488.822683 \n", - "EXTR_IP10 341629.073316 1.0 53436.755973 \n", - "EXTR_IP5 1183264.430102 1.0 58896.697245 \n", - "EXTR_LP10 21962.953684 0.958364 45299.885617 \n", - "EXTR_LP11 16691.8448 0.9478 44653.506513 \n", - "EXTR_LP4 113974.892707 1.0 49660.709547 \n", - "EXTR_LP8 38024.504301 0.980791 46648.886248 \n", - "FW01A 1003903.244367 0.0 3112.798156 \n", - "FW01B 1003903.244367 0.0 3173.242224 \n", - "FW02 1003903.244367 0.0 3518.711421 \n", - "FW03 1003903.244367 0.0 3853.440557 \n", - "FW04 1003903.244367 0.0 4499.343989 \n", - "FW05A 1003903.244367 0.0 7829.048167 \n", - "FW05B 26922222.222222 0.0 8436.042321 \n", - "FW06 26922222.222222 0.0 10790.741011 \n", - "FW07 26922222.222222 0.0 12937.958691 \n", - "FW08 26922222.222222 0.0 15639.852538 \n", - "FWH1_DRN1 16691.8448 0.0 4238.674177 \n", - "FWH1_DRN2 1216691.8448 0.0 4266.099683 \n", - "FWH2_DRN 21962.953684 0.0 4063.031468 \n", - "FWH3_DRN 38024.504301 0.0 4829.96387 \n", - "FWH4_DRN 113974.892707 0.0 5773.886242 \n", - "FWH6_DRN 1183264.430102 0.0 13480.436276 \n", - "FWH7_DRN 4098347.65512 0.0 18666.841026 \n", - "FWH8_DRN 8004585.263907 0.0 21764.032855 \n", - "MAKEUP_01 101325 0.0 2500 \n", - "RHT_COLD 4098347.65512 1.0 54488.822683 \n", - "RHT_HOT 4098347.65512 1.0 65893.572327 \n", - "STEAM_LP 341629.073316 1.0 53436.755973 \n", - "STEAM_MAIN 24230000.0 0.0 62710 \n", - "THRTL1 20155950.787034 1.0 62710.0 \n", - "THRTL2 22713089.898646 0.0 62710.0 \n", - "THRTL3 22713089.898646 0.0 62710.0 \n", - "THRTL4 22713089.898646 0.0 62710.0 \n", - "condenser_mix_to_condenser 3903.244367 0.95998 44236.940998 " - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# Display the stream table.\n", "df" @@ -10251,7 +242,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.7.11" } }, "nbformat": 4, diff --git a/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_steam_cycle_test.ipynb b/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_steam_cycle_test.ipynb index afb2be97..9bafa66f 100644 --- a/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_steam_cycle_test.ipynb +++ b/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_steam_cycle_test.ipynb @@ -1,5 +1,31 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "markdown", "metadata": {}, diff --git a/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_steam_cycle_usr.ipynb b/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_steam_cycle_usr.ipynb index afb2be97..9bafa66f 100644 --- a/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_steam_cycle_usr.ipynb +++ b/idaes_examples/notebooks/docs/power_gen/supercritical/supercritical_steam_cycle_usr.ipynb @@ -1,5 +1,31 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "markdown", "metadata": {}, diff --git a/idaes_examples/notebooks/docs/properties/custom/custom_physical_property_packages.ipynb b/idaes_examples/notebooks/docs/properties/custom/custom_physical_property_packages.ipynb index 70fc2e64..87d4b8a1 100644 --- a/idaes_examples/notebooks/docs/properties/custom/custom_physical_property_packages.ipynb +++ b/idaes_examples/notebooks/docs/properties/custom/custom_physical_property_packages.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/properties/custom/custom_physical_property_packages_doc.ipynb b/idaes_examples/notebooks/docs/properties/custom/custom_physical_property_packages_doc.ipynb index fa2a58ca..e7e4c9ab 100644 --- a/idaes_examples/notebooks/docs/properties/custom/custom_physical_property_packages_doc.ipynb +++ b/idaes_examples/notebooks/docs/properties/custom/custom_physical_property_packages_doc.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -137,19 +138,11 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 11, "metadata": { "collapsed": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "c:\\users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\mod\\properties\\thermophysical_property_example.py\n" - ] - } - ], + "outputs": [], "source": [ "from idaes_examples.mod.properties import thermophysical_property_example as example\n", "import inspect\n", @@ -182,7 +175,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -247,7 +240,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -278,7 +271,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -308,7 +301,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -347,7 +340,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -392,7 +385,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -498,7 +491,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -556,7 +549,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -597,7 +590,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -637,7 +630,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -676,7 +669,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -711,7 +704,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -760,7 +753,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -811,7 +804,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -849,7 +842,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -870,7 +863,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -930,7 +923,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -996,7 +989,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -1051,7 +1044,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -1070,7 +1063,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -1092,51 +1085,9 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Block fs.state[0.0]\n", - "\n", - " Variables:\n", - " flow_mol : Molar flow rate\n", - " Size=1, Index=None, Units=mol/s\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " None : 1e-08 : 1 : 1000 : False : False : Reals\n", - " mole_frac_comp : Component mole fractions\n", - " Size=5, Index=fs.thermo_props.component_list, Units=dimensionless\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " benzene : 0 : 0.2 : None : False : False : Reals\n", - " diphenyl : 0 : 0.2 : None : False : False : Reals\n", - " hydrogen : 0 : 0.2 : None : False : False : Reals\n", - " methane : 0 : 0.2 : None : False : False : Reals\n", - " toluene : 0 : 0.2 : None : False : False : Reals\n", - " pressure : State pressure\n", - " Size=1, Index=None, Units=Pa\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " None : 101325 : 101325 : 400000 : False : False : Reals\n", - " temperature : State temperature\n", - " Size=1, Index=None, Units=K\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " None : 298.15 : 298.15 : 1500 : False : False : Reals\n", - " dens_mol : Mixture density\n", - " Size=1, Index=None, Units=mol/m**3\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " None : None : 1 : None : False : False : Reals\n", - "\n", - " Objectives:\n", - " None\n", - "\n", - " Constraints:\n", - " ideal_gas_eq : Size=1\n", - " Key : Lower : Body : Upper\n", - " None : 0.0 : 98846.0429704433 : 0.0\n" - ] - } - ], + "outputs": [], "source": [ "m.fs.state.display()" ] @@ -1152,17 +1103,9 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Degrees of freedom: 2\n" - ] - } - ], + "outputs": [], "source": [ "print(\"Degrees of freedom: \", degrees_of_freedom(m))" ] @@ -1182,7 +1125,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -1205,17 +1148,9 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Degrees of freedom: 0\n" - ] - } - ], + "outputs": [], "source": [ "print(\"Degrees of freedom: \", degrees_of_freedom(m))" ] @@ -1229,34 +1164,9 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:26 [INFO] idaes.init.fs.state: Properties Initialized optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:26 [INFO] idaes.init.fs.state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "dens_mol : Mixture density\n", - " Size=1, Index=None, Units=mol/m**3\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " None : None : 84.19064853145991 : None : False : False : Reals\n" - ] - } - ], + "outputs": [], "source": [ "m.fs.state.initialize()\n", "\n", @@ -1272,19 +1182,9 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "enth_mol : Size=1\n", - " Key : Value\n", - " None : -22169.95123146947\n" - ] - } - ], + "outputs": [], "source": [ "m.fs.state[0].enth_mol.display()" ] @@ -1302,7 +1202,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -1333,7 +1233,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -1460,9 +1360,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.9.12" } }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/properties/custom/custom_physical_property_packages_test.ipynb b/idaes_examples/notebooks/docs/properties/custom/custom_physical_property_packages_test.ipynb index 41a3b535..b72cf89b 100644 --- a/idaes_examples/notebooks/docs/properties/custom/custom_physical_property_packages_test.ipynb +++ b/idaes_examples/notebooks/docs/properties/custom/custom_physical_property_packages_test.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -34,7 +35,7 @@ "Maintainer: Andrew Lee \n", "Updated: 2023-06-01 \n", "\n", - "Calculation of thermophysical, transport and reaction properties form a key part of any process model, and it is important that these calculations are both accurate and tractable in order for the overall problem to be solved correctly. One of the features of the IDAES Integrated Platform is the ability for modelers to create their own property “packages” to calculate these properties, allowing them to customize the level of complexity and rigor to suit each application. This tutorial will introduce you to the basics of creating property packages for calculating thermophysical and transport properties within the IDAES Core Modeling Framework.\n", + "Calculation of thermophysical, transport and reaction properties form a key part of any process model, and it is important that these calculations are both accurate and tractable in order for the overall problem to be solved correctly. One of the features of the IDAES Integrated Platform is the ability for modelers to create their own property \u201cpackages\u201d to calculate these properties, allowing them to customize the level of complexity and rigor to suit each application. This tutorial will introduce you to the basics of creating property packages for calculating thermophysical and transport properties within the IDAES Core Modeling Framework.\n", "\n", "## What is a Property?\n", "\n", @@ -50,7 +51,7 @@ "* transport properties such as viscosity and thermal conductivity\n", "* rates of reaction and chemical equilibria\n", "\n", - "The definition and calculation of all of these is defined via “property packages”, which contain all the variables and constraints associated with calculating these properties.\n", + "The definition and calculation of all of these is defined via \u201cproperty packages\u201d, which contain all the variables and constraints associated with calculating these properties.\n", "\n", "
\n", "Note:\n", @@ -67,19 +68,19 @@ "\n", "## What Properties do I Need?\n", "\n", - "An important aspect of the IDAES Core Modeling Framework is that a modeler only needs to provide calculations for those properties that they will use within their process. Put another way, modelers do not need to include calculations for a property that they are not going to use in their model – this allows modelers to avoid introducing unnecessary complexity into their models to calculate a property they do not actually need. When combined with flexibility elsewhere in the modeling framework to control which equations are written in the unit models, this can even allow users to avoid calculating properties that would normally be considered mandatory – for example, a property package for a conceptual design flowsheet which does not include energy or momentum balances would not need to define specific enthalpy or even temperature and pressure as these will not be required by the unit models.\n", + "An important aspect of the IDAES Core Modeling Framework is that a modeler only needs to provide calculations for those properties that they will use within their process. Put another way, modelers do not need to include calculations for a property that they are not going to use in their model \u2013 this allows modelers to avoid introducing unnecessary complexity into their models to calculate a property they do not actually need. When combined with flexibility elsewhere in the modeling framework to control which equations are written in the unit models, this can even allow users to avoid calculating properties that would normally be considered mandatory \u2013 for example, a property package for a conceptual design flowsheet which does not include energy or momentum balances would not need to define specific enthalpy or even temperature and pressure as these will not be required by the unit models.\n", "\n", "This then raises the question of how do you know what properties you will need, especially if you are using models from a library you did not write yourself. To answer this, you should refer to the model documentation, and you can also use the [IDAES Properties Interrogator tool](https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/generic/property_models/interrogator.html) to analyze your flowsheet and determine what properties are required.\n", "\n", "## Thermophysical Properties and Reaction Properties\n", "\n", - "Within the IDAES Core Modeling Framework, properties are divided into two classifications; thermophysical properties and reaction properties. Reaction properties are those properties related to chemical reactions (both equilibrium and rate-based, but not phase equilibrium) that occur within the system , whilst thermophysical properties include those properties related to thermodynamic relationships (including phase equilibrium) and transport properties. The reason for this separation is that thermophysical properties are required by all unit operations in a process (and need to be consistent with each other), whilst reaction properties are generally only required in specific unit operations identified as “reactors” (and each reactor may have a different set of chemical reactions occurring in it). Thus, reaction properties are separated from the thermophysical property calculations to allow for modular implementation in only specific reactor units. This tutorial only deals with thermophysical properties, and reaction properties will be dealt with in a later tutorial.\n", + "Within the IDAES Core Modeling Framework, properties are divided into two classifications; thermophysical properties and reaction properties. Reaction properties are those properties related to chemical reactions (both equilibrium and rate-based, but not phase equilibrium) that occur within the system , whilst thermophysical properties include those properties related to thermodynamic relationships (including phase equilibrium) and transport properties. The reason for this separation is that thermophysical properties are required by all unit operations in a process (and need to be consistent with each other), whilst reaction properties are generally only required in specific unit operations identified as \u201creactors\u201d (and each reactor may have a different set of chemical reactions occurring in it). Thus, reaction properties are separated from the thermophysical property calculations to allow for modular implementation in only specific reactor units. This tutorial only deals with thermophysical properties, and reaction properties will be dealt with in a later tutorial.\n", "\n", - "## What is a Property “Package”?\n", + "## What is a Property \u201cPackage\u201d?\n", "\n", - "Generally, properties (both thermophysical and reaction) are calculated using correlations that depend on some set of parameters (be they physical constants or empirical parameters). These parameters are constant across all instances of a property calculation in a flowsheet (i.e. each StateBlock uses the same parameters), it makes sense to store these parameters in a single, central location that all StateBlocks can refer to as necessary. Thus, the IDAES modeling framework has “Parameter Blocks” which are attached to the flowsheet to contain all the global parameters associated with a given set of property calculations.\n", + "Generally, properties (both thermophysical and reaction) are calculated using correlations that depend on some set of parameters (be they physical constants or empirical parameters). These parameters are constant across all instances of a property calculation in a flowsheet (i.e. each StateBlock uses the same parameters), it makes sense to store these parameters in a single, central location that all StateBlocks can refer to as necessary. Thus, the IDAES modeling framework has \u201cParameter Blocks\u201d which are attached to the flowsheet to contain all the global parameters associated with a given set of property calculations.\n", "\n", - "Thus, the calculations of thermophysical properties within the IDAES modeling framework is achieved using a “package” of three related modeling components (or classes); the Physical Parameter Block, the State Block and the State Block Data classes. Each of these will be discussed further in the next section as we develop an example property package.\n", + "Thus, the calculations of thermophysical properties within the IDAES modeling framework is achieved using a \u201cpackage\u201d of three related modeling components (or classes); the Physical Parameter Block, the State Block and the State Block Data classes. Each of these will be discussed further in the next section as we develop an example property package.\n", "\n", "At a deeper level, the calculation for many thermophysical properties is a self-contained correlation that is more or less independent of the other properties around it. Thus, each set of thermophysical property calculations is a package of user-chosen sub-models for each property of interest to the user.\n", "\n", @@ -232,7 +233,7 @@ "\n", "The first step is to define the units of measurement for the property package, which will in turn be inherited by any unit model using this property package. Units of measurement for the property package are defined by setting units for the 7 base measurement quantities; time, length, mass, amount, temperature, current and luminous intensity (as current and luminous intensity are generally of lesser importance in process systems engineering, specifying units for these base quantities is optional). Within IDAES, units are specified using Pyomo's units of measurement features, which can be imported from `pyomo.environ`. For this example, the units of measurement features were given the name `pyunits` for clarity.\n", "\n", - "The units of measurement for all other quantities in the model can then be derived from these base quantities; for example the units of energy are `mass*length^2/time^2`. The framework expects all quantities in the property package to use these base units – the Pyomo units of measurement conversion tools can be used if conversion between different sets of units are required.\n", + "The units of measurement for all other quantities in the model can then be derived from these base quantities; for example the units of energy are `mass*length^2/time^2`. The framework expects all quantities in the property package to use these base units \u2013 the Pyomo units of measurement conversion tools can be used if conversion between different sets of units are required.\n", "\n", "In order to set the base units, we need to create a dictionary which has each of the base quantities as a key, and provide a Pyomo recognized unit as the value as shown below." ] @@ -258,7 +259,7 @@ "source": [ "## Step 2: Define Supported Properties\n", "\n", - "The next step is to provide some metadata defining what properties are supported by the property package (including state variables). The first purpose of this metadata is to record a summary of what properties are supported to help user identify whether a given property package is suitable for their needs. The second purpose of the metadata is to allow us to simplify our property calculations by only construction those properties that are actually required by a given unit operation – a property package needs to support all the properties required by a process flowsheet, but not all of those properties are required in every unit operation. Thus, the IDAES modeling framework supports a “build-on-demand” approach for properties, such that only those properties that are required are constructed at any given point.\n", + "The next step is to provide some metadata defining what properties are supported by the property package (including state variables). The first purpose of this metadata is to record a summary of what properties are supported to help user identify whether a given property package is suitable for their needs. The second purpose of the metadata is to allow us to simplify our property calculations by only construction those properties that are actually required by a given unit operation \u2013 a property package needs to support all the properties required by a process flowsheet, but not all of those properties are required in every unit operation. Thus, the IDAES modeling framework supports a \u201cbuild-on-demand\u201d approach for properties, such that only those properties that are required are constructed at any given point.\n", "\n", "This is achieved through the use of the properties metadata, where for each property supported by the property package the user needs to define a `method` argument. This argument can take one of two forms:\n", "\n", @@ -327,9 +328,9 @@ "
\n", "Param or Var:\n", "\n", - "The most obvious way to declare a \"parameter\" in a model would appear to be to use the Pyomo `Param` object. However, modelers should be aware the `Param` objects are never seen by the solver (they are converted to fixed floating point numbers by the solver writer). This means that it is not possible to use a solver to find the value for a parameter – i.e., it is not possible to use `Param` objects in a parameter estimation problem.\n", + "The most obvious way to declare a \"parameter\" in a model would appear to be to use the Pyomo `Param` object. However, modelers should be aware the `Param` objects are never seen by the solver (they are converted to fixed floating point numbers by the solver writer). This means that it is not possible to use a solver to find the value for a parameter \u2013 i.e., it is not possible to use `Param` objects in a parameter estimation problem.\n", "\n", - "Instead, modelers should use fixed `Var` objects for any parameter that may need to be estimated at some point. Within IDAES, this means that most “parameters” are in fact declared as `Var` objects, with `Param` objects used only for parameters with well-known values (for example critical pressures and temperatures or molecular weights).\n", + "Instead, modelers should use fixed `Var` objects for any parameter that may need to be estimated at some point. Within IDAES, this means that most \u201cparameters\u201d are in fact declared as `Var` objects, with `Param` objects used only for parameters with well-known values (for example critical pressures and temperatures or molecular weights).\n", "
\n", "\n", "For this example, the first parameters we need to define are the reference state for our property calculations along with the molecular weights of each of the components of interest. These are fixed parameters that should not be estimated by parameter estimation, so we create Pyomo `Param` objects to represent each of these, as shown below. When we declare a `Param`, we also need to define a default value and the units of measurement for each parameter. Note that the units of measurement for these parameters does not necessarily need to match those defined in the properties metadata, but if they are not consistent then a unit conversion will be required at some point when calculating property values.\n", @@ -371,15 +372,15 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "For this example, we also need to define the parameter associated with calculating the specific enthalpy of each component. As mentioned before, we will use the correlation proposed in “The Properties of Gases and Liquids, 4th Edition” by Reid, Prausnitz and Polling (1987), which has the form:\n", + "For this example, we also need to define the parameter associated with calculating the specific enthalpy of each component. As mentioned before, we will use the correlation proposed in \u201cThe Properties of Gases and Liquids, 4th Edition\u201d by Reid, Prausnitz and Polling (1987), which has the form:\n", "\n", "\\begin{equation*}\n", - "h_j – h_{j, ref}= A_j \\times (T-T_{ref}) + \\frac{B_j}{2}\\times (T^2-T_{ref}^2) + \\frac{C_j}{3}\\times (T^3-T_{ref}^3) + \\frac{D_j}{4}\\times (T^4-T_{ref}^4)\n", + "h_j \u2013 h_{j, ref}= A_j \\times (T-T_{ref}) + \\frac{B_j}{2}\\times (T^2-T_{ref}^2) + \\frac{C_j}{3}\\times (T^3-T_{ref}^3) + \\frac{D_j}{4}\\times (T^4-T_{ref}^4)\n", "\\end{equation*}\n", "\n", - "where $h_{j, ref}$ is the standard heat of formation of component $j$ in the vapor phase, and $A_j$, $B_j$, $C_j$, and $D_j$ are component-specific parameters in the correlation. At first glance, one might ask if we could declare a single object indexed by the list `[“A”, “B”, “C”, “D”]` and component to represent all the parameters as a single object; however it must be noted that the parameters $A$, $B$, $C$, and $D$ all have different units. Thus, we need to declare separate objects for each of $A$, $B$, $C$, and $D$ (along with $h_{ref}$) which are indexed by component so that we can assign the correct units to each.\n", + "where $h_{j, ref}$ is the standard heat of formation of component $j$ in the vapor phase, and $A_j$, $B_j$, $C_j$, and $D_j$ are component-specific parameters in the correlation. At first glance, one might ask if we could declare a single object indexed by the list `[\u201cA\u201d, \u201cB\u201d, \u201cC\u201d, \u201cD\u201d]` and component to represent all the parameters as a single object; however it must be noted that the parameters $A$, $B$, $C$, and $D$ all have different units. Thus, we need to declare separate objects for each of $A$, $B$, $C$, and $D$ (along with $h_{ref}$) which are indexed by component so that we can assign the correct units to each.\n", "\n", - "However, these parameters are mostly empirical and are values that we may wish to estimate at some point, thus we will declare these as Pyomo `Var` objects rather than `Param` objects, which also means that we must `fix` the value of these parameters when we construct the property package. This is shown in the code below – note that each parameters (`Var` object is fixed immediately after it is declared)." + "However, these parameters are mostly empirical and are values that we may wish to estimate at some point, thus we will declare these as Pyomo `Var` objects rather than `Param` objects, which also means that we must `fix` the value of these parameters when we construct the property package. This is shown in the code below \u2013 note that each parameters (`Var` object is fixed immediately after it is declared)." ] }, { @@ -478,9 +479,9 @@ "\n", "First, we need to declare our new class and give it a unique name. In this example, we will call our new class `HDAParameterBlock`. The first two lines of the example below show how we declare our new class using the `declare_process_block_decorator` and inheriting from the `PhysicalParameterBlock` base class from the IDAES Core model libraries. Inheriting from the `PhysicalParameterBlock` brings us access to all the necessary features required by the IDAES modeling framework, whilst the `declare_process_block_class` decorator performs some boilerplate operations to replicate the expected object structure of Pyomo. Further details on these components can be found in the IDAES documentation.\n", "\n", - "Next, we need to set up any configuration arguments we need for the property package. This is done using Pyomo “Config Blocks” which provide a convenient way of declaring, organizing and documenting configuration arguments. To begin with, we can inherit from the `CONFIG` block declared in the `PhysicalParameterBlock` base class, which provides all the arguments that the IDAES modeling framework expects to be present. Modelers can then add additional configuration arguments to provide users with options when constructing their property packages, however we will not cover that in this tutorial.\n", + "Next, we need to set up any configuration arguments we need for the property package. This is done using Pyomo \u201cConfig Blocks\u201d which provide a convenient way of declaring, organizing and documenting configuration arguments. To begin with, we can inherit from the `CONFIG` block declared in the `PhysicalParameterBlock` base class, which provides all the arguments that the IDAES modeling framework expects to be present. Modelers can then add additional configuration arguments to provide users with options when constructing their property packages, however we will not cover that in this tutorial.\n", "\n", - "The most significant part of any IDAES model class is the `build` method, which contains the instructions on how to construct an instance of the desired model and all IDAES models are expected to have a `build` method. The first step in any `build` method is to call `super().build()`, which will trigger the `build` method of the base class that the current class inherits from – this is important since this is how we automate construction of any underlying components required by the modeling framework and ensure that everything integrates smoothly. Next, a `PhysicalParameterBlock` needs to contain a pointer to the related `StateBlock` (which we will look at next) – this is used to allow us to build instances of the `StateBlock` by only knowing the `PhysicalParameterBlock` we wish to use. To do this, we create an attribute named `_state_block_class` attached to our class with a pointer to the `StateBlock` class; in this case `self._state_block_class = HDAStateBlock`, where `HDAStateBlock` is the name of the yet to be declared `StateBlock`. Finally, the `build` method needs to construct the actual parameters required for the property package, which we do here by calling the sub-methods written previously.\n", + "The most significant part of any IDAES model class is the `build` method, which contains the instructions on how to construct an instance of the desired model and all IDAES models are expected to have a `build` method. The first step in any `build` method is to call `super().build()`, which will trigger the `build` method of the base class that the current class inherits from \u2013 this is important since this is how we automate construction of any underlying components required by the modeling framework and ensure that everything integrates smoothly. Next, a `PhysicalParameterBlock` needs to contain a pointer to the related `StateBlock` (which we will look at next) \u2013 this is used to allow us to build instances of the `StateBlock` by only knowing the `PhysicalParameterBlock` we wish to use. To do this, we create an attribute named `_state_block_class` attached to our class with a pointer to the `StateBlock` class; in this case `self._state_block_class = HDAStateBlock`, where `HDAStateBlock` is the name of the yet to be declared `StateBlock`. Finally, the `build` method needs to construct the actual parameters required for the property package, which we do here by calling the sub-methods written previously.\n", "\n", "The final step in creating the `PhysicalParameterBlock` class is to declare a `classmethod` named `define_metadata` which takes two arguments; a class (`cls`) and an instance of that class (`obj`). This method in turn needs to call two pre-defined methods (inherited from the underlying base classes):\n", "\n", @@ -526,13 +527,13 @@ "\n", "After the `Physical Parameter Block` class has been created, the next step is to write the code necessary to create the State Blocks that will be used through out the flowsheet. Unlike other models however, creating a `State Block` actually required us to write two `classes`. In short, indexed Pyomo object components (e.g. `Vars` and `Blocks`) actually consist of two objects: an `IndexedComponent` object which serves as a container for multiple `ComponentData` objects which represent the component at each point in the indexing set. For example, a `Var` indexed by the `Set` `[1, 2, 3, 4]` actually consists of a single `IndexedVar` object which contains 4 `VarData` objects. Normally this behavior is hidden behind the `declare_process_block_data` decorator which handles the details of this structure (as a side note, unindexed components similarly involve two classes but this is hidden by the use of multiple inheritance.)\n", "\n", - "Normally, when we write models in IDAES, we are concerned only with the `ComponentData` object – i.e., the instructions on how to build an instance of the model at each indexed point (hence the naming convention used when declaring classes). However, State Blocks are slightly different in that we always expect State Blocks to be indexed (they will always be indexed by time, at a minimum). Due to this, we often want to perform actions on all the elements of the indexed `State Block` at once (rather than element by element), such as during initialization. Thus, we have a need to write methods that are attached to the `IndexedStateBlock` in addition to the normal methods for the `StateBlockData` object. Fortunately, the `declare_process_block_data` decorator facilitates this for us, but it does mean we need to declare two classes when creating State Blocks.\n", + "Normally, when we write models in IDAES, we are concerned only with the `ComponentData` object \u2013 i.e., the instructions on how to build an instance of the model at each indexed point (hence the naming convention used when declaring classes). However, State Blocks are slightly different in that we always expect State Blocks to be indexed (they will always be indexed by time, at a minimum). Due to this, we often want to perform actions on all the elements of the indexed `State Block` at once (rather than element by element), such as during initialization. Thus, we have a need to write methods that are attached to the `IndexedStateBlock` in addition to the normal methods for the `StateBlockData` object. Fortunately, the `declare_process_block_data` decorator facilitates this for us, but it does mean we need to declare two classes when creating State Blocks.\n", "\n", "For this example, we will begin by describing the content of the `StateBlockData` objects, as this is where we create the variables and constraints that describe how to calculate the thermophysical properties of the material. After that, we will discuss how to create the class that contains methods to be applied to the `IndexedStateBlock` as a whole.\n", "\n", "## Step 5: Declare State Variables\n", "\n", - "The first step in defining a `State Block` is to create the “state variables” which will be used to define the “state” of the material at any given point. The concept of a “state variable” in IDAES is much the same as the concept in thermodynamics, with the exception that we include extensive flow information in the state definition in IDAES. In short, the “state variables” should be sufficient to fully define the state of the material (both extensive and intensive), and should result in a `State Block` with zero degrees of freedom if all the state variables are fixed.\n", + "The first step in defining a `State Block` is to create the \u201cstate variables\u201d which will be used to define the \u201cstate\u201d of the material at any given point. The concept of a \u201cstate variable\u201d in IDAES is much the same as the concept in thermodynamics, with the exception that we include extensive flow information in the state definition in IDAES. In short, the \u201cstate variables\u201d should be sufficient to fully define the state of the material (both extensive and intensive), and should result in a `State Block` with zero degrees of freedom if all the state variables are fixed.\n", "\n", "For this example, our state variables will be:\n", "\n", @@ -614,7 +615,7 @@ "2. by using an `Expression`, or,\n", "3. by using a `Reference`.\n", "\n", - "The different between the first two options is that an `Expression` does not appear in the problem passed to the solver – the `Expression` can be evaluated by the user and included in constraints in the same way as a variable, but when the problem is passed to the solver the `Expression` object is substituted for the expression it represents wherever it appears in the model. This means that there are fewer variables and constraints in the problem the solver sees, but that the constraints that do appear are more complex. There is no simple answer to which approach is best, and different applications may see better results with one form or the other. The third option, using a `Reference` is for cases where a property already exists elsewhere in the model, and we just want to create a local copy of the same object. In terms of properties, this most often occurs with fixed quantities which are declared in the Physical Parameter Block such as molecular weights. For the purposes of this example, we will demonstrate all of these approaches. \n", + "The different between the first two options is that an `Expression` does not appear in the problem passed to the solver \u2013 the `Expression` can be evaluated by the user and included in constraints in the same way as a variable, but when the problem is passed to the solver the `Expression` object is substituted for the expression it represents wherever it appears in the model. This means that there are fewer variables and constraints in the problem the solver sees, but that the constraints that do appear are more complex. There is no simple answer to which approach is best, and different applications may see better results with one form or the other. The third option, using a `Reference` is for cases where a property already exists elsewhere in the model, and we just want to create a local copy of the same object. In terms of properties, this most often occurs with fixed quantities which are declared in the Physical Parameter Block such as molecular weights. For the purposes of this example, we will demonstrate all of these approaches. \n", "\n", "You may recall from the initial problem statement that we have three properties of interest in this example:\n", "\n", @@ -658,7 +659,7 @@ "where $x_j$ is the mole fraction of component $j$. Recall that for this example we are using the following correlation for the component specific enthalpies.\n", "\n", "\\begin{equation*}\n", - "h_j – h_{j, ref}= A_j \\times (T-T_{ref}) + \\frac{B_j}{2}\\times (T^2-T_{ref}^2) + \\frac{C_j}{3}\\times (T^3-T_{ref}^3) + \\frac{D_j}{4}\\times (T^4-T_{ref}^4)\n", + "h_j \u2013 h_{j, ref}= A_j \\times (T-T_{ref}) + \\frac{B_j}{2}\\times (T^2-T_{ref}^2) + \\frac{C_j}{3}\\times (T^3-T_{ref}^3) + \\frac{D_j}{4}\\times (T^4-T_{ref}^4)\n", "\\end{equation*}\n", "\n", "For the specific enthalpy, we will create a Pyomo `Expression` rather than a `Var` and `Constraint`. In practice, this is much like creating a `Constraint`. However, rather than returning an equality between two expressions, an `Expression` requires a single numerical expression that can be used to compute the quantity of interest.\n", @@ -736,16 +737,16 @@ "\n", "### Writing the Initialization Routine\n", "\n", - "For initializing State Blocks, the first step is to get our model to a state where it has no degrees of freedom. As mentioned earlier, fixing all of the state variables should be sufficient to fully define the state of the material – i.e. no degrees of freedom. Additionally, we want to initialize our State Block at a set of conditions that are good initial guesses for the final state of the model once it is finally solved. Of course, the State Block has no way of knowing what these initial values should be, so we depend on the unit model (or the end-user) to provide us with a set of initial values to use – this is done through a `dict` which we generally call `state_args` where the keys are the names of the state variables and the values are the initial guesses.\n", + "For initializing State Blocks, the first step is to get our model to a state where it has no degrees of freedom. As mentioned earlier, fixing all of the state variables should be sufficient to fully define the state of the material \u2013 i.e. no degrees of freedom. Additionally, we want to initialize our State Block at a set of conditions that are good initial guesses for the final state of the model once it is finally solved. Of course, the State Block has no way of knowing what these initial values should be, so we depend on the unit model (or the end-user) to provide us with a set of initial values to use \u2013 this is done through a `dict` which we generally call `state_args` where the keys are the names of the state variables and the values are the initial guesses.\n", "\n", - "Before we start fixing the state variables, there is the possibility that all the state variables have already been fixed (e.g. by a the unit model during its own initialization routine). To allow us to save some time, we include a `state_vars_fixed` argument in our State Block initialization methods that lets the unit model tell us if the state variables are already fixed – if this is `True` then we know we can skip the step of checking the state variables ourselves. If `state_vars_fixed is False` however, then we need to go and fix all the state variables as part of our initialization routine. To save us the effort of having to code all of this ourselves, the IDAES toolkit contains a utility method named `fix_state_vars` (which we imported earlier), which takes the `state_args` `dict` and then iterates through all the state variables as defined by the State Block (using the `dict` we declared earlier in the `return_state_var_dict` sub-method). This method iterates through all the defined state variables and does the following:\n", + "Before we start fixing the state variables, there is the possibility that all the state variables have already been fixed (e.g. by a the unit model during its own initialization routine). To allow us to save some time, we include a `state_vars_fixed` argument in our State Block initialization methods that lets the unit model tell us if the state variables are already fixed \u2013 if this is `True` then we know we can skip the step of checking the state variables ourselves. If `state_vars_fixed is False` however, then we need to go and fix all the state variables as part of our initialization routine. To save us the effort of having to code all of this ourselves, the IDAES toolkit contains a utility method named `fix_state_vars` (which we imported earlier), which takes the `state_args` `dict` and then iterates through all the state variables as defined by the State Block (using the `dict` we declared earlier in the `return_state_var_dict` sub-method). This method iterates through all the defined state variables and does the following:\n", "\n", "1. If the variable is already fixed, it records this and does nothing. If a variable is already fixed, we assume it was fixed for a reason and that we should not change its value.\n", "2. If the variable is not fixed, this is recorded and the method then checks the `state_args` dict for an initial guess for the variable. If a value is found, the variable is fixed to this value; otherwise, the variable is fixed to its current value.\n", "\n", "Finally, the `fix_state_vars` method returns a `dict` that records which variables were fixed by the method, so that we can later reverse these changes. In the example below, we refer to this `dict` as `flags`.\n", "\n", - "At this point, all the state variables should now be fixed, but once again we have a small catch – if we fix all the state variables then we have a situation similar to the inlet of a unit where we cannot write a constraint on the sum of mole fractions and still solve the model. Thus we need to deactivate this constraint if it exists (remembering that this constraint will not exist in all State Blocks). We know that this constraint will only exist if `defined_state is False`, so we start by writing an `IF` statement to check for this and then use the Pyomo `deactivate()` method to deactivate the constraint (remembering that we will need to reactivate it later).\n", + "At this point, all the state variables should now be fixed, but once again we have a small catch \u2013 if we fix all the state variables then we have a situation similar to the inlet of a unit where we cannot write a constraint on the sum of mole fractions and still solve the model. Thus we need to deactivate this constraint if it exists (remembering that this constraint will not exist in all State Blocks). We know that this constraint will only exist if `defined_state is False`, so we start by writing an `IF` statement to check for this and then use the Pyomo `deactivate()` method to deactivate the constraint (remembering that we will need to reactivate it later).\n", "\n", "Before we move on however, it is probably a good idea to check the degrees of freedom to be sure that they are zero (as expected). There are a number of ways things could go wrong (e.g., the unit model said the state variables were fixed when not all of them were, or we missed a constraint we need to deactivate), so a quick check now might save someone a lot of pain in the future. We can use the IDAES `degrees_of_freedom` method to check the degrees of freedom of our State Block, and if this is not zero raise an `Exception` to let the user know something went wrong." ] @@ -788,7 +789,7 @@ "\n", "Before we call the solver, we first need to make sure there is actually something to solve; depending on how the State Block is written (e.g. build-on-demand properties and use of `Expressions`), it is sometimes possible that there are actually no `Constraints` to be solved in the model. If we try to send a problem like that to a solver, we will likely get back an error message which is not what we want to see. Whilst we know that our State Block will always contain at least one constraint (for mixture density), we will add a check here anyway to show how it is done. First ,we create a counter to keep track of the number of unfixed variables in the system, `free_vars`. Then we iterate over all the elements of the `blk` (the `IndexedStateBlock`) and check how many free variables are in each. We use the `number_unfixed_variables()` method from the `idaes.core.util.model_statistics` module to do this, and add the result `free_vars` for each element. If the final value of `free_vars` is not zero, then we know there is something to solve for and we can proceed to call a solver; otherwise we know that we can skip this step.\n", "\n", - "In order to solve the entire `IndexedStateBlock`, we need to do things slightly differently than normal. The standard Pyomo `SolverFactory` cannot be applied to indexed blocks, so instead we use the IDAES `solve_indexed_block` method (imported from `idaes.core.initialization`) which puts a wrapper around the indexed block so that we can use Pyomo’s solver interface. In order to use this method, we need to provide a Pyomo `SolverFactory` object (called `solver` here, which also includes any attached solver options) along with the `blk` we wish to solve and where to send the solver results (the `tee` argument). Additionally, we want the user to have the ability to control the output from the solver through the IDAES logger interface, which we do by wrapping the solver call with the following line of code:\n", + "In order to solve the entire `IndexedStateBlock`, we need to do things slightly differently than normal. The standard Pyomo `SolverFactory` cannot be applied to indexed blocks, so instead we use the IDAES `solve_indexed_block` method (imported from `idaes.core.initialization`) which puts a wrapper around the indexed block so that we can use Pyomo\u2019s solver interface. In order to use this method, we need to provide a Pyomo `SolverFactory` object (called `solver` here, which also includes any attached solver options) along with the `blk` we wish to solve and where to send the solver results (the `tee` argument). Additionally, we want the user to have the ability to control the output from the solver through the IDAES logger interface, which we do by wrapping the solver call with the following line of code:\n", "\n", "```\n", "with idaeslog.solver_log(solve_log, idaeslog.DEBUG) as slc:\n", @@ -796,7 +797,7 @@ "\n", "where `idaeslog` is an instance of the IDAES logger. Note that we send the solver output to this logger by setting `tee=slc`. In this way, all the output from the solver is passed into the logger allowing users to easily control the output level without needing to send additional arguments to the initialization methods.\n", "\n", - "If all goes well, the solver will successfully initialize our model and we can move on. However, sometimes the solver will fail catastrophically, in which case we need to make sure that our initialization routine can attempt to recover. In order to do this, we wrap the solver call within a Python `try/except` statement. This way, if the solver fails badly and returns an `Exception`, we can capture this and decide how to process – otherwise the execution of our model would terminate with the exception from the solver. In the case we encounter an `Exception` here, we will record `results=None` and try to continue with initializing our model in the hope that we can recover.\n", + "If all goes well, the solver will successfully initialize our model and we can move on. However, sometimes the solver will fail catastrophically, in which case we need to make sure that our initialization routine can attempt to recover. In order to do this, we wrap the solver call within a Python `try/except` statement. This way, if the solver fails badly and returns an `Exception`, we can capture this and decide how to process \u2013 otherwise the execution of our model would terminate with the exception from the solver. In the case we encounter an `Exception` here, we will record `results=None` and try to continue with initializing our model in the hope that we can recover.\n", "\n", "Finally, it is useful to provide the user with some feedback on how the initialization is proceeding. In the last lines below, we send a message to the IDAES logger with a message saying that the initialization step has been completed and append the final solver status." ] @@ -900,7 +901,7 @@ "As the name suggests, the `initialize` method is used to run the initialization routine for the State Block, and this is where we will use the `prepare_state`, `initialize_state` and `restore_state` methods we wrote previously. The `initialize` method requires the following arguments to be declared:\n", "\n", "* `blk`: this will be a pointer to an instance of the State Block to be initialized.\n", - "* `state_args`: this is used to pass the ‘dict’ of initial guesses to the initialization routine. This should default to `None` if not provided. The `fix_state_vars` method will interpret a value of `None` as no guesses provided as use the current values instead.\n", + "* `state_args`: this is used to pass the \u2018dict\u2019 of initial guesses to the initialization routine. This should default to `None` if not provided. The `fix_state_vars` method will interpret a value of `None` as no guesses provided as use the current values instead.\n", "* `solver`: this argument is used to allow tell the State Block to use a specific solver during initialization, and should be a string recognized by the Pyomo `SolverFactory`. We generally set this to `None` in order to signify that IDAES Should use the default solver (which is IPOPT).\n", "* `optarg`: this argument is used to set any solver options the user desires. Again this is generally set to `None` to indicate that the default solver settings should be used.\n", "* `state_vars_fixed`: argument to allow the unit model to inform the State Block that the state variables are already fixed. This should default to `False`.\n", @@ -959,13 +960,13 @@ "source": [ "### The StateBlockData class\n", "\n", - "Finally, we can build the `StateBlockData` class, which we will call `HDAStateBlockData`. First, we use the `declare_process_block_class` decorator but this time we provide two arguments. The first argument is the name of the class that will be automatically constructed for us (`HDAStateBlock`) whilst the second argument is a reference to the class we wish to use as the base when building the `IndexedHDAStateBlock` class – i.e. the `_HDAStateBlock` class we just declared. Then, we declare our new `HDAStateBlockData` class and inherit from the IDAES `StateBlockData` base class.\n", + "Finally, we can build the `StateBlockData` class, which we will call `HDAStateBlockData`. First, we use the `declare_process_block_class` decorator but this time we provide two arguments. The first argument is the name of the class that will be automatically constructed for us (`HDAStateBlock`) whilst the second argument is a reference to the class we wish to use as the base when building the `IndexedHDAStateBlock` class \u2013 i.e. the `_HDAStateBlock` class we just declared. Then, we declare our new `HDAStateBlockData` class and inherit from the IDAES `StateBlockData` base class.\n", "\n", "As usual, the first thing we need to define in our new class is a `build` method, where we will provide the instructions for constructing our property model, and once again the first thing we should do is call `super().build()` to construct all the underlying components defined by the parent class. After this, we can call the methods we wrote earlier to construct the state variables and the add the calculations for the properties of interest.\n", "\n", - "However, if you recall from when we defined the properties metadata at the beginning of the example, we decided that the specific molar enthalpy of the mixture would be a “build-on-demand” property (i.e., we provided a specific method in the properties metadata rather than `None`). Thus, we do not want to call the method to construct the specific molar enthalpy as part of the `build` method, meaning that we only call the `add_state_variables`, `add_mole_fraction_constraint` and `add_molecular_weight_and_density` as in the `build` method.\n", + "However, if you recall from when we defined the properties metadata at the beginning of the example, we decided that the specific molar enthalpy of the mixture would be a \u201cbuild-on-demand\u201d property (i.e., we provided a specific method in the properties metadata rather than `None`). Thus, we do not want to call the method to construct the specific molar enthalpy as part of the `build` method, meaning that we only call the `add_state_variables`, `add_mole_fraction_constraint` and `add_molecular_weight_and_density` as in the `build` method.\n", "\n", - "To add the specific molar enthalpy calculation as a “build-on-demand” property, we instead declare a separate method with the name we provided in the properties metadata. Whenever the specific molar enthalpy is required by a unit model it will check to see if the property already exists, and if not it will look up the properties metadata and call the method listed there; i.e. `_enth_mol` in this case. Thus, we declare another method on our `HDAStateBlockData` class named `enth_mol` which takes only the class instance as an argument (`self`), and then call the `add_enth_mol` method we created earlier to construct the required `Expression`.\n", + "To add the specific molar enthalpy calculation as a \u201cbuild-on-demand\u201d property, we instead declare a separate method with the name we provided in the properties metadata. Whenever the specific molar enthalpy is required by a unit model it will check to see if the property already exists, and if not it will look up the properties metadata and call the method listed there; i.e. `_enth_mol` in this case. Thus, we declare another method on our `HDAStateBlockData` class named `enth_mol` which takes only the class instance as an argument (`self`), and then call the `add_enth_mol` method we created earlier to construct the required `Expression`.\n", "\n", "That is all we need to do in order to construct the variables and constraints we need for the property calculations. However, there are a number of other things we need to define in our State Block Data class. In order to provide much of the flexibility present in the IDAES modeling framework, we defer making decisions on much of the form of the overall model for as long as possible. However, these decisions need to be made at some point, and the State Block Data is where this finally occurs.\n", "\n", @@ -983,7 +984,7 @@ "* `default_material_balance_type` should return an instance of the IDAES `MaterialBalanceType` `Enum` (imported from `idaes.core`).\n", "* `default_energy_balance_type` should return an instance of the IDAES `EnergyBalanceType` `Enum` (imported from `idaes.core`).\n", "\n", - "Finally, we need to specify the basis of the material flow terms (mass, mole or other). This is used to automatically convert between different bases as required (e.g. a user can define a custom mass transfer term on a molar basis whilst using a mass basis for the actual material balance). Note that automatic conversion only works for mass and molar basis; the “other” basis is used to indicate forms which cannot be easily converted (i.e., the modeler needs to handle this manually). To define the material flow term basis we define a final method named `get_material_flow_basis` which returns an instance of the IDAES `MaterialFlowBasis` `Enum` (again imported from `idaes.core`)." + "Finally, we need to specify the basis of the material flow terms (mass, mole or other). This is used to automatically convert between different bases as required (e.g. a user can define a custom mass transfer term on a molar basis whilst using a mass basis for the actual material balance). Note that automatic conversion only works for mass and molar basis; the \u201cother\u201d basis is used to indicate forms which cannot be easily converted (i.e., the modeler needs to handle this manually). To define the material flow term basis we define a final method named `get_material_flow_basis` which returns an instance of the IDAES `MaterialFlowBasis` `Enum` (again imported from `idaes.core`)." ] }, { @@ -1079,7 +1080,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "We now have an instance of our new State Block in our flowsheet, so let’s display it and see what it contains." + "We now have an instance of our new State Block in our flowsheet, so let\u2019s display it and see what it contains." ] }, { @@ -1095,7 +1096,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "We can see that our State Block contains a single point in time, which in turn contains the five variables. These are our four state variables (molar flow rate, component mole fraction, temperature and pressure) as well as the mixture density. We also have a single constraint, which is the ideal gas equation used to calculate density. Note that we don’t see the component molecular weights as they are `Params` (`References` take on the appearance of the component being referenced) or the molar enthalpy as it is an `Expression`, not a variable (plus it hasn’t been constructed yet as we haven’t asked for it).\n", + "We can see that our State Block contains a single point in time, which in turn contains the five variables. These are our four state variables (molar flow rate, component mole fraction, temperature and pressure) as well as the mixture density. We also have a single constraint, which is the ideal gas equation used to calculate density. Note that we don\u2019t see the component molecular weights as they are `Params` (`References` take on the appearance of the component being referenced) or the molar enthalpy as it is an `Expression`, not a variable (plus it hasn\u2019t been constructed yet as we haven\u2019t asked for it).\n", "\n", "Next, let us check the degrees of freedom in our State Block." ] @@ -1131,7 +1132,7 @@ "source": [ "This is unexpected: the `degrees_of_freedom` method is saying there are only 2 degrees of freedom in our State Block, but there are 8 state variables.\n", "\n", - "However, if we think about the constraints we have written, we are only actually using 2 of the state variables in any constraint (temperature and pressure appear in the ideal gas equation). The molar flowrate and component mole fractions are not actually used anywhere in our model, so they have been excluded from the degrees of freedom calculation. In Pyomo terminology, these variables are “Stale”, and they will not be sent to the solver when it is called. Thus, the two degrees of freedom is in fact correct.\n", + "However, if we think about the constraints we have written, we are only actually using 2 of the state variables in any constraint (temperature and pressure appear in the ideal gas equation). The molar flowrate and component mole fractions are not actually used anywhere in our model, so they have been excluded from the degrees of freedom calculation. In Pyomo terminology, these variables are \u201cStale\u201d, and they will not be sent to the solver when it is called. Thus, the two degrees of freedom is in fact correct.\n", "\n", "Note that this is only the case because our property package is so simple. Also, the specific enthalpy calculation depends on the component mole fractions, so whilst we could solve the State Block by only specifying temperature and pressure, the value of the specific molar enthalpy would be meaningless.\n", "\n", @@ -1158,7 +1159,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Now that we have fixed the values for all the state variables, we would expect that the degrees of freedom should be zero (even though we fixed all 8 variables, only temperature and pressure actually contribute to the degrees of freedom). Let’s check this to be sure." + "Now that we have fixed the values for all the state variables, we would expect that the degrees of freedom should be zero (even though we fixed all 8 variables, only temperature and pressure actually contribute to the degrees of freedom). Let\u2019s check this to be sure." ] }, { @@ -1406,4 +1407,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/properties/custom/custom_physical_property_packages_usr.ipynb b/idaes_examples/notebooks/docs/properties/custom/custom_physical_property_packages_usr.ipynb index 9196bb04..710b7f16 100644 --- a/idaes_examples/notebooks/docs/properties/custom/custom_physical_property_packages_usr.ipynb +++ b/idaes_examples/notebooks/docs/properties/custom/custom_physical_property_packages_usr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -34,7 +35,7 @@ "Maintainer: Andrew Lee \n", "Updated: 2023-06-01 \n", "\n", - "Calculation of thermophysical, transport and reaction properties form a key part of any process model, and it is important that these calculations are both accurate and tractable in order for the overall problem to be solved correctly. One of the features of the IDAES Integrated Platform is the ability for modelers to create their own property “packages” to calculate these properties, allowing them to customize the level of complexity and rigor to suit each application. This tutorial will introduce you to the basics of creating property packages for calculating thermophysical and transport properties within the IDAES Core Modeling Framework.\n", + "Calculation of thermophysical, transport and reaction properties form a key part of any process model, and it is important that these calculations are both accurate and tractable in order for the overall problem to be solved correctly. One of the features of the IDAES Integrated Platform is the ability for modelers to create their own property \u201cpackages\u201d to calculate these properties, allowing them to customize the level of complexity and rigor to suit each application. This tutorial will introduce you to the basics of creating property packages for calculating thermophysical and transport properties within the IDAES Core Modeling Framework.\n", "\n", "## What is a Property?\n", "\n", @@ -50,7 +51,7 @@ "* transport properties such as viscosity and thermal conductivity\n", "* rates of reaction and chemical equilibria\n", "\n", - "The definition and calculation of all of these is defined via “property packages”, which contain all the variables and constraints associated with calculating these properties.\n", + "The definition and calculation of all of these is defined via \u201cproperty packages\u201d, which contain all the variables and constraints associated with calculating these properties.\n", "\n", "
\n", "Note:\n", @@ -67,19 +68,19 @@ "\n", "## What Properties do I Need?\n", "\n", - "An important aspect of the IDAES Core Modeling Framework is that a modeler only needs to provide calculations for those properties that they will use within their process. Put another way, modelers do not need to include calculations for a property that they are not going to use in their model – this allows modelers to avoid introducing unnecessary complexity into their models to calculate a property they do not actually need. When combined with flexibility elsewhere in the modeling framework to control which equations are written in the unit models, this can even allow users to avoid calculating properties that would normally be considered mandatory – for example, a property package for a conceptual design flowsheet which does not include energy or momentum balances would not need to define specific enthalpy or even temperature and pressure as these will not be required by the unit models.\n", + "An important aspect of the IDAES Core Modeling Framework is that a modeler only needs to provide calculations for those properties that they will use within their process. Put another way, modelers do not need to include calculations for a property that they are not going to use in their model \u2013 this allows modelers to avoid introducing unnecessary complexity into their models to calculate a property they do not actually need. When combined with flexibility elsewhere in the modeling framework to control which equations are written in the unit models, this can even allow users to avoid calculating properties that would normally be considered mandatory \u2013 for example, a property package for a conceptual design flowsheet which does not include energy or momentum balances would not need to define specific enthalpy or even temperature and pressure as these will not be required by the unit models.\n", "\n", "This then raises the question of how do you know what properties you will need, especially if you are using models from a library you did not write yourself. To answer this, you should refer to the model documentation, and you can also use the [IDAES Properties Interrogator tool](https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/generic/property_models/interrogator.html) to analyze your flowsheet and determine what properties are required.\n", "\n", "## Thermophysical Properties and Reaction Properties\n", "\n", - "Within the IDAES Core Modeling Framework, properties are divided into two classifications; thermophysical properties and reaction properties. Reaction properties are those properties related to chemical reactions (both equilibrium and rate-based, but not phase equilibrium) that occur within the system , whilst thermophysical properties include those properties related to thermodynamic relationships (including phase equilibrium) and transport properties. The reason for this separation is that thermophysical properties are required by all unit operations in a process (and need to be consistent with each other), whilst reaction properties are generally only required in specific unit operations identified as “reactors” (and each reactor may have a different set of chemical reactions occurring in it). Thus, reaction properties are separated from the thermophysical property calculations to allow for modular implementation in only specific reactor units. This tutorial only deals with thermophysical properties, and reaction properties will be dealt with in a later tutorial.\n", + "Within the IDAES Core Modeling Framework, properties are divided into two classifications; thermophysical properties and reaction properties. Reaction properties are those properties related to chemical reactions (both equilibrium and rate-based, but not phase equilibrium) that occur within the system , whilst thermophysical properties include those properties related to thermodynamic relationships (including phase equilibrium) and transport properties. The reason for this separation is that thermophysical properties are required by all unit operations in a process (and need to be consistent with each other), whilst reaction properties are generally only required in specific unit operations identified as \u201creactors\u201d (and each reactor may have a different set of chemical reactions occurring in it). Thus, reaction properties are separated from the thermophysical property calculations to allow for modular implementation in only specific reactor units. This tutorial only deals with thermophysical properties, and reaction properties will be dealt with in a later tutorial.\n", "\n", - "## What is a Property “Package”?\n", + "## What is a Property \u201cPackage\u201d?\n", "\n", - "Generally, properties (both thermophysical and reaction) are calculated using correlations that depend on some set of parameters (be they physical constants or empirical parameters). These parameters are constant across all instances of a property calculation in a flowsheet (i.e. each StateBlock uses the same parameters), it makes sense to store these parameters in a single, central location that all StateBlocks can refer to as necessary. Thus, the IDAES modeling framework has “Parameter Blocks” which are attached to the flowsheet to contain all the global parameters associated with a given set of property calculations.\n", + "Generally, properties (both thermophysical and reaction) are calculated using correlations that depend on some set of parameters (be they physical constants or empirical parameters). These parameters are constant across all instances of a property calculation in a flowsheet (i.e. each StateBlock uses the same parameters), it makes sense to store these parameters in a single, central location that all StateBlocks can refer to as necessary. Thus, the IDAES modeling framework has \u201cParameter Blocks\u201d which are attached to the flowsheet to contain all the global parameters associated with a given set of property calculations.\n", "\n", - "Thus, the calculations of thermophysical properties within the IDAES modeling framework is achieved using a “package” of three related modeling components (or classes); the Physical Parameter Block, the State Block and the State Block Data classes. Each of these will be discussed further in the next section as we develop an example property package.\n", + "Thus, the calculations of thermophysical properties within the IDAES modeling framework is achieved using a \u201cpackage\u201d of three related modeling components (or classes); the Physical Parameter Block, the State Block and the State Block Data classes. Each of these will be discussed further in the next section as we develop an example property package.\n", "\n", "At a deeper level, the calculation for many thermophysical properties is a self-contained correlation that is more or less independent of the other properties around it. Thus, each set of thermophysical property calculations is a package of user-chosen sub-models for each property of interest to the user.\n", "\n", @@ -232,7 +233,7 @@ "\n", "The first step is to define the units of measurement for the property package, which will in turn be inherited by any unit model using this property package. Units of measurement for the property package are defined by setting units for the 7 base measurement quantities; time, length, mass, amount, temperature, current and luminous intensity (as current and luminous intensity are generally of lesser importance in process systems engineering, specifying units for these base quantities is optional). Within IDAES, units are specified using Pyomo's units of measurement features, which can be imported from `pyomo.environ`. For this example, the units of measurement features were given the name `pyunits` for clarity.\n", "\n", - "The units of measurement for all other quantities in the model can then be derived from these base quantities; for example the units of energy are `mass*length^2/time^2`. The framework expects all quantities in the property package to use these base units – the Pyomo units of measurement conversion tools can be used if conversion between different sets of units are required.\n", + "The units of measurement for all other quantities in the model can then be derived from these base quantities; for example the units of energy are `mass*length^2/time^2`. The framework expects all quantities in the property package to use these base units \u2013 the Pyomo units of measurement conversion tools can be used if conversion between different sets of units are required.\n", "\n", "In order to set the base units, we need to create a dictionary which has each of the base quantities as a key, and provide a Pyomo recognized unit as the value as shown below." ] @@ -258,7 +259,7 @@ "source": [ "## Step 2: Define Supported Properties\n", "\n", - "The next step is to provide some metadata defining what properties are supported by the property package (including state variables). The first purpose of this metadata is to record a summary of what properties are supported to help user identify whether a given property package is suitable for their needs. The second purpose of the metadata is to allow us to simplify our property calculations by only construction those properties that are actually required by a given unit operation – a property package needs to support all the properties required by a process flowsheet, but not all of those properties are required in every unit operation. Thus, the IDAES modeling framework supports a “build-on-demand” approach for properties, such that only those properties that are required are constructed at any given point.\n", + "The next step is to provide some metadata defining what properties are supported by the property package (including state variables). The first purpose of this metadata is to record a summary of what properties are supported to help user identify whether a given property package is suitable for their needs. The second purpose of the metadata is to allow us to simplify our property calculations by only construction those properties that are actually required by a given unit operation \u2013 a property package needs to support all the properties required by a process flowsheet, but not all of those properties are required in every unit operation. Thus, the IDAES modeling framework supports a \u201cbuild-on-demand\u201d approach for properties, such that only those properties that are required are constructed at any given point.\n", "\n", "This is achieved through the use of the properties metadata, where for each property supported by the property package the user needs to define a `method` argument. This argument can take one of two forms:\n", "\n", @@ -327,9 +328,9 @@ "
\n", "Param or Var:\n", "\n", - "The most obvious way to declare a \"parameter\" in a model would appear to be to use the Pyomo `Param` object. However, modelers should be aware the `Param` objects are never seen by the solver (they are converted to fixed floating point numbers by the solver writer). This means that it is not possible to use a solver to find the value for a parameter – i.e., it is not possible to use `Param` objects in a parameter estimation problem.\n", + "The most obvious way to declare a \"parameter\" in a model would appear to be to use the Pyomo `Param` object. However, modelers should be aware the `Param` objects are never seen by the solver (they are converted to fixed floating point numbers by the solver writer). This means that it is not possible to use a solver to find the value for a parameter \u2013 i.e., it is not possible to use `Param` objects in a parameter estimation problem.\n", "\n", - "Instead, modelers should use fixed `Var` objects for any parameter that may need to be estimated at some point. Within IDAES, this means that most “parameters” are in fact declared as `Var` objects, with `Param` objects used only for parameters with well-known values (for example critical pressures and temperatures or molecular weights).\n", + "Instead, modelers should use fixed `Var` objects for any parameter that may need to be estimated at some point. Within IDAES, this means that most \u201cparameters\u201d are in fact declared as `Var` objects, with `Param` objects used only for parameters with well-known values (for example critical pressures and temperatures or molecular weights).\n", "
\n", "\n", "For this example, the first parameters we need to define are the reference state for our property calculations along with the molecular weights of each of the components of interest. These are fixed parameters that should not be estimated by parameter estimation, so we create Pyomo `Param` objects to represent each of these, as shown below. When we declare a `Param`, we also need to define a default value and the units of measurement for each parameter. Note that the units of measurement for these parameters does not necessarily need to match those defined in the properties metadata, but if they are not consistent then a unit conversion will be required at some point when calculating property values.\n", @@ -371,15 +372,15 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "For this example, we also need to define the parameter associated with calculating the specific enthalpy of each component. As mentioned before, we will use the correlation proposed in “The Properties of Gases and Liquids, 4th Edition” by Reid, Prausnitz and Polling (1987), which has the form:\n", + "For this example, we also need to define the parameter associated with calculating the specific enthalpy of each component. As mentioned before, we will use the correlation proposed in \u201cThe Properties of Gases and Liquids, 4th Edition\u201d by Reid, Prausnitz and Polling (1987), which has the form:\n", "\n", "\\begin{equation*}\n", - "h_j – h_{j, ref}= A_j \\times (T-T_{ref}) + \\frac{B_j}{2}\\times (T^2-T_{ref}^2) + \\frac{C_j}{3}\\times (T^3-T_{ref}^3) + \\frac{D_j}{4}\\times (T^4-T_{ref}^4)\n", + "h_j \u2013 h_{j, ref}= A_j \\times (T-T_{ref}) + \\frac{B_j}{2}\\times (T^2-T_{ref}^2) + \\frac{C_j}{3}\\times (T^3-T_{ref}^3) + \\frac{D_j}{4}\\times (T^4-T_{ref}^4)\n", "\\end{equation*}\n", "\n", - "where $h_{j, ref}$ is the standard heat of formation of component $j$ in the vapor phase, and $A_j$, $B_j$, $C_j$, and $D_j$ are component-specific parameters in the correlation. At first glance, one might ask if we could declare a single object indexed by the list `[“A”, “B”, “C”, “D”]` and component to represent all the parameters as a single object; however it must be noted that the parameters $A$, $B$, $C$, and $D$ all have different units. Thus, we need to declare separate objects for each of $A$, $B$, $C$, and $D$ (along with $h_{ref}$) which are indexed by component so that we can assign the correct units to each.\n", + "where $h_{j, ref}$ is the standard heat of formation of component $j$ in the vapor phase, and $A_j$, $B_j$, $C_j$, and $D_j$ are component-specific parameters in the correlation. At first glance, one might ask if we could declare a single object indexed by the list `[\u201cA\u201d, \u201cB\u201d, \u201cC\u201d, \u201cD\u201d]` and component to represent all the parameters as a single object; however it must be noted that the parameters $A$, $B$, $C$, and $D$ all have different units. Thus, we need to declare separate objects for each of $A$, $B$, $C$, and $D$ (along with $h_{ref}$) which are indexed by component so that we can assign the correct units to each.\n", "\n", - "However, these parameters are mostly empirical and are values that we may wish to estimate at some point, thus we will declare these as Pyomo `Var` objects rather than `Param` objects, which also means that we must `fix` the value of these parameters when we construct the property package. This is shown in the code below – note that each parameters (`Var` object is fixed immediately after it is declared)." + "However, these parameters are mostly empirical and are values that we may wish to estimate at some point, thus we will declare these as Pyomo `Var` objects rather than `Param` objects, which also means that we must `fix` the value of these parameters when we construct the property package. This is shown in the code below \u2013 note that each parameters (`Var` object is fixed immediately after it is declared)." ] }, { @@ -478,9 +479,9 @@ "\n", "First, we need to declare our new class and give it a unique name. In this example, we will call our new class `HDAParameterBlock`. The first two lines of the example below show how we declare our new class using the `declare_process_block_decorator` and inheriting from the `PhysicalParameterBlock` base class from the IDAES Core model libraries. Inheriting from the `PhysicalParameterBlock` brings us access to all the necessary features required by the IDAES modeling framework, whilst the `declare_process_block_class` decorator performs some boilerplate operations to replicate the expected object structure of Pyomo. Further details on these components can be found in the IDAES documentation.\n", "\n", - "Next, we need to set up any configuration arguments we need for the property package. This is done using Pyomo “Config Blocks” which provide a convenient way of declaring, organizing and documenting configuration arguments. To begin with, we can inherit from the `CONFIG` block declared in the `PhysicalParameterBlock` base class, which provides all the arguments that the IDAES modeling framework expects to be present. Modelers can then add additional configuration arguments to provide users with options when constructing their property packages, however we will not cover that in this tutorial.\n", + "Next, we need to set up any configuration arguments we need for the property package. This is done using Pyomo \u201cConfig Blocks\u201d which provide a convenient way of declaring, organizing and documenting configuration arguments. To begin with, we can inherit from the `CONFIG` block declared in the `PhysicalParameterBlock` base class, which provides all the arguments that the IDAES modeling framework expects to be present. Modelers can then add additional configuration arguments to provide users with options when constructing their property packages, however we will not cover that in this tutorial.\n", "\n", - "The most significant part of any IDAES model class is the `build` method, which contains the instructions on how to construct an instance of the desired model and all IDAES models are expected to have a `build` method. The first step in any `build` method is to call `super().build()`, which will trigger the `build` method of the base class that the current class inherits from – this is important since this is how we automate construction of any underlying components required by the modeling framework and ensure that everything integrates smoothly. Next, a `PhysicalParameterBlock` needs to contain a pointer to the related `StateBlock` (which we will look at next) – this is used to allow us to build instances of the `StateBlock` by only knowing the `PhysicalParameterBlock` we wish to use. To do this, we create an attribute named `_state_block_class` attached to our class with a pointer to the `StateBlock` class; in this case `self._state_block_class = HDAStateBlock`, where `HDAStateBlock` is the name of the yet to be declared `StateBlock`. Finally, the `build` method needs to construct the actual parameters required for the property package, which we do here by calling the sub-methods written previously.\n", + "The most significant part of any IDAES model class is the `build` method, which contains the instructions on how to construct an instance of the desired model and all IDAES models are expected to have a `build` method. The first step in any `build` method is to call `super().build()`, which will trigger the `build` method of the base class that the current class inherits from \u2013 this is important since this is how we automate construction of any underlying components required by the modeling framework and ensure that everything integrates smoothly. Next, a `PhysicalParameterBlock` needs to contain a pointer to the related `StateBlock` (which we will look at next) \u2013 this is used to allow us to build instances of the `StateBlock` by only knowing the `PhysicalParameterBlock` we wish to use. To do this, we create an attribute named `_state_block_class` attached to our class with a pointer to the `StateBlock` class; in this case `self._state_block_class = HDAStateBlock`, where `HDAStateBlock` is the name of the yet to be declared `StateBlock`. Finally, the `build` method needs to construct the actual parameters required for the property package, which we do here by calling the sub-methods written previously.\n", "\n", "The final step in creating the `PhysicalParameterBlock` class is to declare a `classmethod` named `define_metadata` which takes two arguments; a class (`cls`) and an instance of that class (`obj`). This method in turn needs to call two pre-defined methods (inherited from the underlying base classes):\n", "\n", @@ -526,13 +527,13 @@ "\n", "After the `Physical Parameter Block` class has been created, the next step is to write the code necessary to create the State Blocks that will be used through out the flowsheet. Unlike other models however, creating a `State Block` actually required us to write two `classes`. In short, indexed Pyomo object components (e.g. `Vars` and `Blocks`) actually consist of two objects: an `IndexedComponent` object which serves as a container for multiple `ComponentData` objects which represent the component at each point in the indexing set. For example, a `Var` indexed by the `Set` `[1, 2, 3, 4]` actually consists of a single `IndexedVar` object which contains 4 `VarData` objects. Normally this behavior is hidden behind the `declare_process_block_data` decorator which handles the details of this structure (as a side note, unindexed components similarly involve two classes but this is hidden by the use of multiple inheritance.)\n", "\n", - "Normally, when we write models in IDAES, we are concerned only with the `ComponentData` object – i.e., the instructions on how to build an instance of the model at each indexed point (hence the naming convention used when declaring classes). However, State Blocks are slightly different in that we always expect State Blocks to be indexed (they will always be indexed by time, at a minimum). Due to this, we often want to perform actions on all the elements of the indexed `State Block` at once (rather than element by element), such as during initialization. Thus, we have a need to write methods that are attached to the `IndexedStateBlock` in addition to the normal methods for the `StateBlockData` object. Fortunately, the `declare_process_block_data` decorator facilitates this for us, but it does mean we need to declare two classes when creating State Blocks.\n", + "Normally, when we write models in IDAES, we are concerned only with the `ComponentData` object \u2013 i.e., the instructions on how to build an instance of the model at each indexed point (hence the naming convention used when declaring classes). However, State Blocks are slightly different in that we always expect State Blocks to be indexed (they will always be indexed by time, at a minimum). Due to this, we often want to perform actions on all the elements of the indexed `State Block` at once (rather than element by element), such as during initialization. Thus, we have a need to write methods that are attached to the `IndexedStateBlock` in addition to the normal methods for the `StateBlockData` object. Fortunately, the `declare_process_block_data` decorator facilitates this for us, but it does mean we need to declare two classes when creating State Blocks.\n", "\n", "For this example, we will begin by describing the content of the `StateBlockData` objects, as this is where we create the variables and constraints that describe how to calculate the thermophysical properties of the material. After that, we will discuss how to create the class that contains methods to be applied to the `IndexedStateBlock` as a whole.\n", "\n", "## Step 5: Declare State Variables\n", "\n", - "The first step in defining a `State Block` is to create the “state variables” which will be used to define the “state” of the material at any given point. The concept of a “state variable” in IDAES is much the same as the concept in thermodynamics, with the exception that we include extensive flow information in the state definition in IDAES. In short, the “state variables” should be sufficient to fully define the state of the material (both extensive and intensive), and should result in a `State Block` with zero degrees of freedom if all the state variables are fixed.\n", + "The first step in defining a `State Block` is to create the \u201cstate variables\u201d which will be used to define the \u201cstate\u201d of the material at any given point. The concept of a \u201cstate variable\u201d in IDAES is much the same as the concept in thermodynamics, with the exception that we include extensive flow information in the state definition in IDAES. In short, the \u201cstate variables\u201d should be sufficient to fully define the state of the material (both extensive and intensive), and should result in a `State Block` with zero degrees of freedom if all the state variables are fixed.\n", "\n", "For this example, our state variables will be:\n", "\n", @@ -614,7 +615,7 @@ "2. by using an `Expression`, or,\n", "3. by using a `Reference`.\n", "\n", - "The different between the first two options is that an `Expression` does not appear in the problem passed to the solver – the `Expression` can be evaluated by the user and included in constraints in the same way as a variable, but when the problem is passed to the solver the `Expression` object is substituted for the expression it represents wherever it appears in the model. This means that there are fewer variables and constraints in the problem the solver sees, but that the constraints that do appear are more complex. There is no simple answer to which approach is best, and different applications may see better results with one form or the other. The third option, using a `Reference` is for cases where a property already exists elsewhere in the model, and we just want to create a local copy of the same object. In terms of properties, this most often occurs with fixed quantities which are declared in the Physical Parameter Block such as molecular weights. For the purposes of this example, we will demonstrate all of these approaches. \n", + "The different between the first two options is that an `Expression` does not appear in the problem passed to the solver \u2013 the `Expression` can be evaluated by the user and included in constraints in the same way as a variable, but when the problem is passed to the solver the `Expression` object is substituted for the expression it represents wherever it appears in the model. This means that there are fewer variables and constraints in the problem the solver sees, but that the constraints that do appear are more complex. There is no simple answer to which approach is best, and different applications may see better results with one form or the other. The third option, using a `Reference` is for cases where a property already exists elsewhere in the model, and we just want to create a local copy of the same object. In terms of properties, this most often occurs with fixed quantities which are declared in the Physical Parameter Block such as molecular weights. For the purposes of this example, we will demonstrate all of these approaches. \n", "\n", "You may recall from the initial problem statement that we have three properties of interest in this example:\n", "\n", @@ -658,7 +659,7 @@ "where $x_j$ is the mole fraction of component $j$. Recall that for this example we are using the following correlation for the component specific enthalpies.\n", "\n", "\\begin{equation*}\n", - "h_j – h_{j, ref}= A_j \\times (T-T_{ref}) + \\frac{B_j}{2}\\times (T^2-T_{ref}^2) + \\frac{C_j}{3}\\times (T^3-T_{ref}^3) + \\frac{D_j}{4}\\times (T^4-T_{ref}^4)\n", + "h_j \u2013 h_{j, ref}= A_j \\times (T-T_{ref}) + \\frac{B_j}{2}\\times (T^2-T_{ref}^2) + \\frac{C_j}{3}\\times (T^3-T_{ref}^3) + \\frac{D_j}{4}\\times (T^4-T_{ref}^4)\n", "\\end{equation*}\n", "\n", "For the specific enthalpy, we will create a Pyomo `Expression` rather than a `Var` and `Constraint`. In practice, this is much like creating a `Constraint`. However, rather than returning an equality between two expressions, an `Expression` requires a single numerical expression that can be used to compute the quantity of interest.\n", @@ -736,16 +737,16 @@ "\n", "### Writing the Initialization Routine\n", "\n", - "For initializing State Blocks, the first step is to get our model to a state where it has no degrees of freedom. As mentioned earlier, fixing all of the state variables should be sufficient to fully define the state of the material – i.e. no degrees of freedom. Additionally, we want to initialize our State Block at a set of conditions that are good initial guesses for the final state of the model once it is finally solved. Of course, the State Block has no way of knowing what these initial values should be, so we depend on the unit model (or the end-user) to provide us with a set of initial values to use – this is done through a `dict` which we generally call `state_args` where the keys are the names of the state variables and the values are the initial guesses.\n", + "For initializing State Blocks, the first step is to get our model to a state where it has no degrees of freedom. As mentioned earlier, fixing all of the state variables should be sufficient to fully define the state of the material \u2013 i.e. no degrees of freedom. Additionally, we want to initialize our State Block at a set of conditions that are good initial guesses for the final state of the model once it is finally solved. Of course, the State Block has no way of knowing what these initial values should be, so we depend on the unit model (or the end-user) to provide us with a set of initial values to use \u2013 this is done through a `dict` which we generally call `state_args` where the keys are the names of the state variables and the values are the initial guesses.\n", "\n", - "Before we start fixing the state variables, there is the possibility that all the state variables have already been fixed (e.g. by a the unit model during its own initialization routine). To allow us to save some time, we include a `state_vars_fixed` argument in our State Block initialization methods that lets the unit model tell us if the state variables are already fixed – if this is `True` then we know we can skip the step of checking the state variables ourselves. If `state_vars_fixed is False` however, then we need to go and fix all the state variables as part of our initialization routine. To save us the effort of having to code all of this ourselves, the IDAES toolkit contains a utility method named `fix_state_vars` (which we imported earlier), which takes the `state_args` `dict` and then iterates through all the state variables as defined by the State Block (using the `dict` we declared earlier in the `return_state_var_dict` sub-method). This method iterates through all the defined state variables and does the following:\n", + "Before we start fixing the state variables, there is the possibility that all the state variables have already been fixed (e.g. by a the unit model during its own initialization routine). To allow us to save some time, we include a `state_vars_fixed` argument in our State Block initialization methods that lets the unit model tell us if the state variables are already fixed \u2013 if this is `True` then we know we can skip the step of checking the state variables ourselves. If `state_vars_fixed is False` however, then we need to go and fix all the state variables as part of our initialization routine. To save us the effort of having to code all of this ourselves, the IDAES toolkit contains a utility method named `fix_state_vars` (which we imported earlier), which takes the `state_args` `dict` and then iterates through all the state variables as defined by the State Block (using the `dict` we declared earlier in the `return_state_var_dict` sub-method). This method iterates through all the defined state variables and does the following:\n", "\n", "1. If the variable is already fixed, it records this and does nothing. If a variable is already fixed, we assume it was fixed for a reason and that we should not change its value.\n", "2. If the variable is not fixed, this is recorded and the method then checks the `state_args` dict for an initial guess for the variable. If a value is found, the variable is fixed to this value; otherwise, the variable is fixed to its current value.\n", "\n", "Finally, the `fix_state_vars` method returns a `dict` that records which variables were fixed by the method, so that we can later reverse these changes. In the example below, we refer to this `dict` as `flags`.\n", "\n", - "At this point, all the state variables should now be fixed, but once again we have a small catch – if we fix all the state variables then we have a situation similar to the inlet of a unit where we cannot write a constraint on the sum of mole fractions and still solve the model. Thus we need to deactivate this constraint if it exists (remembering that this constraint will not exist in all State Blocks). We know that this constraint will only exist if `defined_state is False`, so we start by writing an `IF` statement to check for this and then use the Pyomo `deactivate()` method to deactivate the constraint (remembering that we will need to reactivate it later).\n", + "At this point, all the state variables should now be fixed, but once again we have a small catch \u2013 if we fix all the state variables then we have a situation similar to the inlet of a unit where we cannot write a constraint on the sum of mole fractions and still solve the model. Thus we need to deactivate this constraint if it exists (remembering that this constraint will not exist in all State Blocks). We know that this constraint will only exist if `defined_state is False`, so we start by writing an `IF` statement to check for this and then use the Pyomo `deactivate()` method to deactivate the constraint (remembering that we will need to reactivate it later).\n", "\n", "Before we move on however, it is probably a good idea to check the degrees of freedom to be sure that they are zero (as expected). There are a number of ways things could go wrong (e.g., the unit model said the state variables were fixed when not all of them were, or we missed a constraint we need to deactivate), so a quick check now might save someone a lot of pain in the future. We can use the IDAES `degrees_of_freedom` method to check the degrees of freedom of our State Block, and if this is not zero raise an `Exception` to let the user know something went wrong." ] @@ -788,7 +789,7 @@ "\n", "Before we call the solver, we first need to make sure there is actually something to solve; depending on how the State Block is written (e.g. build-on-demand properties and use of `Expressions`), it is sometimes possible that there are actually no `Constraints` to be solved in the model. If we try to send a problem like that to a solver, we will likely get back an error message which is not what we want to see. Whilst we know that our State Block will always contain at least one constraint (for mixture density), we will add a check here anyway to show how it is done. First ,we create a counter to keep track of the number of unfixed variables in the system, `free_vars`. Then we iterate over all the elements of the `blk` (the `IndexedStateBlock`) and check how many free variables are in each. We use the `number_unfixed_variables()` method from the `idaes.core.util.model_statistics` module to do this, and add the result `free_vars` for each element. If the final value of `free_vars` is not zero, then we know there is something to solve for and we can proceed to call a solver; otherwise we know that we can skip this step.\n", "\n", - "In order to solve the entire `IndexedStateBlock`, we need to do things slightly differently than normal. The standard Pyomo `SolverFactory` cannot be applied to indexed blocks, so instead we use the IDAES `solve_indexed_block` method (imported from `idaes.core.initialization`) which puts a wrapper around the indexed block so that we can use Pyomo’s solver interface. In order to use this method, we need to provide a Pyomo `SolverFactory` object (called `solver` here, which also includes any attached solver options) along with the `blk` we wish to solve and where to send the solver results (the `tee` argument). Additionally, we want the user to have the ability to control the output from the solver through the IDAES logger interface, which we do by wrapping the solver call with the following line of code:\n", + "In order to solve the entire `IndexedStateBlock`, we need to do things slightly differently than normal. The standard Pyomo `SolverFactory` cannot be applied to indexed blocks, so instead we use the IDAES `solve_indexed_block` method (imported from `idaes.core.initialization`) which puts a wrapper around the indexed block so that we can use Pyomo\u2019s solver interface. In order to use this method, we need to provide a Pyomo `SolverFactory` object (called `solver` here, which also includes any attached solver options) along with the `blk` we wish to solve and where to send the solver results (the `tee` argument). Additionally, we want the user to have the ability to control the output from the solver through the IDAES logger interface, which we do by wrapping the solver call with the following line of code:\n", "\n", "```\n", "with idaeslog.solver_log(solve_log, idaeslog.DEBUG) as slc:\n", @@ -796,7 +797,7 @@ "\n", "where `idaeslog` is an instance of the IDAES logger. Note that we send the solver output to this logger by setting `tee=slc`. In this way, all the output from the solver is passed into the logger allowing users to easily control the output level without needing to send additional arguments to the initialization methods.\n", "\n", - "If all goes well, the solver will successfully initialize our model and we can move on. However, sometimes the solver will fail catastrophically, in which case we need to make sure that our initialization routine can attempt to recover. In order to do this, we wrap the solver call within a Python `try/except` statement. This way, if the solver fails badly and returns an `Exception`, we can capture this and decide how to process – otherwise the execution of our model would terminate with the exception from the solver. In the case we encounter an `Exception` here, we will record `results=None` and try to continue with initializing our model in the hope that we can recover.\n", + "If all goes well, the solver will successfully initialize our model and we can move on. However, sometimes the solver will fail catastrophically, in which case we need to make sure that our initialization routine can attempt to recover. In order to do this, we wrap the solver call within a Python `try/except` statement. This way, if the solver fails badly and returns an `Exception`, we can capture this and decide how to process \u2013 otherwise the execution of our model would terminate with the exception from the solver. In the case we encounter an `Exception` here, we will record `results=None` and try to continue with initializing our model in the hope that we can recover.\n", "\n", "Finally, it is useful to provide the user with some feedback on how the initialization is proceeding. In the last lines below, we send a message to the IDAES logger with a message saying that the initialization step has been completed and append the final solver status." ] @@ -900,7 +901,7 @@ "As the name suggests, the `initialize` method is used to run the initialization routine for the State Block, and this is where we will use the `prepare_state`, `initialize_state` and `restore_state` methods we wrote previously. The `initialize` method requires the following arguments to be declared:\n", "\n", "* `blk`: this will be a pointer to an instance of the State Block to be initialized.\n", - "* `state_args`: this is used to pass the ‘dict’ of initial guesses to the initialization routine. This should default to `None` if not provided. The `fix_state_vars` method will interpret a value of `None` as no guesses provided as use the current values instead.\n", + "* `state_args`: this is used to pass the \u2018dict\u2019 of initial guesses to the initialization routine. This should default to `None` if not provided. The `fix_state_vars` method will interpret a value of `None` as no guesses provided as use the current values instead.\n", "* `solver`: this argument is used to allow tell the State Block to use a specific solver during initialization, and should be a string recognized by the Pyomo `SolverFactory`. We generally set this to `None` in order to signify that IDAES Should use the default solver (which is IPOPT).\n", "* `optarg`: this argument is used to set any solver options the user desires. Again this is generally set to `None` to indicate that the default solver settings should be used.\n", "* `state_vars_fixed`: argument to allow the unit model to inform the State Block that the state variables are already fixed. This should default to `False`.\n", @@ -959,13 +960,13 @@ "source": [ "### The StateBlockData class\n", "\n", - "Finally, we can build the `StateBlockData` class, which we will call `HDAStateBlockData`. First, we use the `declare_process_block_class` decorator but this time we provide two arguments. The first argument is the name of the class that will be automatically constructed for us (`HDAStateBlock`) whilst the second argument is a reference to the class we wish to use as the base when building the `IndexedHDAStateBlock` class – i.e. the `_HDAStateBlock` class we just declared. Then, we declare our new `HDAStateBlockData` class and inherit from the IDAES `StateBlockData` base class.\n", + "Finally, we can build the `StateBlockData` class, which we will call `HDAStateBlockData`. First, we use the `declare_process_block_class` decorator but this time we provide two arguments. The first argument is the name of the class that will be automatically constructed for us (`HDAStateBlock`) whilst the second argument is a reference to the class we wish to use as the base when building the `IndexedHDAStateBlock` class \u2013 i.e. the `_HDAStateBlock` class we just declared. Then, we declare our new `HDAStateBlockData` class and inherit from the IDAES `StateBlockData` base class.\n", "\n", "As usual, the first thing we need to define in our new class is a `build` method, where we will provide the instructions for constructing our property model, and once again the first thing we should do is call `super().build()` to construct all the underlying components defined by the parent class. After this, we can call the methods we wrote earlier to construct the state variables and the add the calculations for the properties of interest.\n", "\n", - "However, if you recall from when we defined the properties metadata at the beginning of the example, we decided that the specific molar enthalpy of the mixture would be a “build-on-demand” property (i.e., we provided a specific method in the properties metadata rather than `None`). Thus, we do not want to call the method to construct the specific molar enthalpy as part of the `build` method, meaning that we only call the `add_state_variables`, `add_mole_fraction_constraint` and `add_molecular_weight_and_density` as in the `build` method.\n", + "However, if you recall from when we defined the properties metadata at the beginning of the example, we decided that the specific molar enthalpy of the mixture would be a \u201cbuild-on-demand\u201d property (i.e., we provided a specific method in the properties metadata rather than `None`). Thus, we do not want to call the method to construct the specific molar enthalpy as part of the `build` method, meaning that we only call the `add_state_variables`, `add_mole_fraction_constraint` and `add_molecular_weight_and_density` as in the `build` method.\n", "\n", - "To add the specific molar enthalpy calculation as a “build-on-demand” property, we instead declare a separate method with the name we provided in the properties metadata. Whenever the specific molar enthalpy is required by a unit model it will check to see if the property already exists, and if not it will look up the properties metadata and call the method listed there; i.e. `_enth_mol` in this case. Thus, we declare another method on our `HDAStateBlockData` class named `enth_mol` which takes only the class instance as an argument (`self`), and then call the `add_enth_mol` method we created earlier to construct the required `Expression`.\n", + "To add the specific molar enthalpy calculation as a \u201cbuild-on-demand\u201d property, we instead declare a separate method with the name we provided in the properties metadata. Whenever the specific molar enthalpy is required by a unit model it will check to see if the property already exists, and if not it will look up the properties metadata and call the method listed there; i.e. `_enth_mol` in this case. Thus, we declare another method on our `HDAStateBlockData` class named `enth_mol` which takes only the class instance as an argument (`self`), and then call the `add_enth_mol` method we created earlier to construct the required `Expression`.\n", "\n", "That is all we need to do in order to construct the variables and constraints we need for the property calculations. However, there are a number of other things we need to define in our State Block Data class. In order to provide much of the flexibility present in the IDAES modeling framework, we defer making decisions on much of the form of the overall model for as long as possible. However, these decisions need to be made at some point, and the State Block Data is where this finally occurs.\n", "\n", @@ -983,7 +984,7 @@ "* `default_material_balance_type` should return an instance of the IDAES `MaterialBalanceType` `Enum` (imported from `idaes.core`).\n", "* `default_energy_balance_type` should return an instance of the IDAES `EnergyBalanceType` `Enum` (imported from `idaes.core`).\n", "\n", - "Finally, we need to specify the basis of the material flow terms (mass, mole or other). This is used to automatically convert between different bases as required (e.g. a user can define a custom mass transfer term on a molar basis whilst using a mass basis for the actual material balance). Note that automatic conversion only works for mass and molar basis; the “other” basis is used to indicate forms which cannot be easily converted (i.e., the modeler needs to handle this manually). To define the material flow term basis we define a final method named `get_material_flow_basis` which returns an instance of the IDAES `MaterialFlowBasis` `Enum` (again imported from `idaes.core`)." + "Finally, we need to specify the basis of the material flow terms (mass, mole or other). This is used to automatically convert between different bases as required (e.g. a user can define a custom mass transfer term on a molar basis whilst using a mass basis for the actual material balance). Note that automatic conversion only works for mass and molar basis; the \u201cother\u201d basis is used to indicate forms which cannot be easily converted (i.e., the modeler needs to handle this manually). To define the material flow term basis we define a final method named `get_material_flow_basis` which returns an instance of the IDAES `MaterialFlowBasis` `Enum` (again imported from `idaes.core`)." ] }, { @@ -1079,7 +1080,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "We now have an instance of our new State Block in our flowsheet, so let’s display it and see what it contains." + "We now have an instance of our new State Block in our flowsheet, so let\u2019s display it and see what it contains." ] }, { @@ -1095,7 +1096,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "We can see that our State Block contains a single point in time, which in turn contains the five variables. These are our four state variables (molar flow rate, component mole fraction, temperature and pressure) as well as the mixture density. We also have a single constraint, which is the ideal gas equation used to calculate density. Note that we don’t see the component molecular weights as they are `Params` (`References` take on the appearance of the component being referenced) or the molar enthalpy as it is an `Expression`, not a variable (plus it hasn’t been constructed yet as we haven’t asked for it).\n", + "We can see that our State Block contains a single point in time, which in turn contains the five variables. These are our four state variables (molar flow rate, component mole fraction, temperature and pressure) as well as the mixture density. We also have a single constraint, which is the ideal gas equation used to calculate density. Note that we don\u2019t see the component molecular weights as they are `Params` (`References` take on the appearance of the component being referenced) or the molar enthalpy as it is an `Expression`, not a variable (plus it hasn\u2019t been constructed yet as we haven\u2019t asked for it).\n", "\n", "Next, let us check the degrees of freedom in our State Block." ] @@ -1115,7 +1116,7 @@ "source": [ "This is unexpected: the `degrees_of_freedom` method is saying there are only 2 degrees of freedom in our State Block, but there are 8 state variables.\n", "\n", - "However, if we think about the constraints we have written, we are only actually using 2 of the state variables in any constraint (temperature and pressure appear in the ideal gas equation). The molar flowrate and component mole fractions are not actually used anywhere in our model, so they have been excluded from the degrees of freedom calculation. In Pyomo terminology, these variables are “Stale”, and they will not be sent to the solver when it is called. Thus, the two degrees of freedom is in fact correct.\n", + "However, if we think about the constraints we have written, we are only actually using 2 of the state variables in any constraint (temperature and pressure appear in the ideal gas equation). The molar flowrate and component mole fractions are not actually used anywhere in our model, so they have been excluded from the degrees of freedom calculation. In Pyomo terminology, these variables are \u201cStale\u201d, and they will not be sent to the solver when it is called. Thus, the two degrees of freedom is in fact correct.\n", "\n", "Note that this is only the case because our property package is so simple. Also, the specific enthalpy calculation depends on the component mole fractions, so whilst we could solve the State Block by only specifying temperature and pressure, the value of the specific molar enthalpy would be meaningless.\n", "\n", @@ -1142,7 +1143,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Now that we have fixed the values for all the state variables, we would expect that the degrees of freedom should be zero (even though we fixed all 8 variables, only temperature and pressure actually contribute to the degrees of freedom). Let’s check this to be sure." + "Now that we have fixed the values for all the state variables, we would expect that the degrees of freedom should be zero (even though we fixed all 8 variables, only temperature and pressure actually contribute to the degrees of freedom). Let\u2019s check this to be sure." ] }, { @@ -1364,4 +1365,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/properties/custom/custom_reaction_property_packages.ipynb b/idaes_examples/notebooks/docs/properties/custom/custom_reaction_property_packages.ipynb index 5a825d3e..80414f05 100644 --- a/idaes_examples/notebooks/docs/properties/custom/custom_reaction_property_packages.ipynb +++ b/idaes_examples/notebooks/docs/properties/custom/custom_reaction_property_packages.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/properties/custom/custom_reaction_property_packages_doc.ipynb b/idaes_examples/notebooks/docs/properties/custom/custom_reaction_property_packages_doc.ipynb index de3ceedd..129689d9 100644 --- a/idaes_examples/notebooks/docs/properties/custom/custom_reaction_property_packages_doc.ipynb +++ b/idaes_examples/notebooks/docs/properties/custom/custom_reaction_property_packages_doc.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -107,19 +108,11 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": { "collapsed": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "c:\\users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\mod\\properties\\reaction_property_example.py\n" - ] - } - ], + "outputs": [], "source": [ "from idaes_examples.mod.properties import reaction_property_example as example\n", "import inspect\n", @@ -152,7 +145,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -201,7 +194,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -242,7 +235,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -269,7 +262,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -296,7 +289,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -340,7 +333,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -396,7 +389,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -432,7 +425,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -474,7 +467,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -513,7 +506,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -548,7 +541,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -575,7 +568,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -602,17 +595,9 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 13, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Degrees of Freedom: 9\n" - ] - } - ], + "outputs": [], "source": [ "print(\"Degrees of Freedom: \", degrees_of_freedom(m))" ] @@ -626,17 +611,9 @@ }, { "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Degrees of Freedom: 0\n" - ] - } - ], + "execution_count": 15, + "metadata": {}, + "outputs": [], "source": [ "m.fs.reactor.inlet.flow_mol.fix(100)\n", "m.fs.reactor.inlet.temperature.fix(500)\n", @@ -663,112 +640,7 @@ "cell_type": "code", "execution_count": 17, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:12 [INFO] idaes.init.fs.reactor.control_volume.properties_in: Properties Initialized optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:12 [INFO] idaes.init.fs.reactor.control_volume.properties_out: Properties Initialized optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:12 [INFO] idaes.init.fs.reactor.control_volume.reactions: Initialization Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:12 [INFO] idaes.init.fs.reactor.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:12 [INFO] idaes.init.fs.reactor: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 67\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 36\n", - "\n", - "Total number of variables............................: 24\n", - " variables with only lower bounds: 5\n", - " variables with lower and upper bounds: 3\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 24\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 1.30e-08 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "\n", - "Number of Iterations....: 0\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 7.9734232250544974e-12 1.3038516044616698e-08\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 7.9734232250544974e-12 1.3038516044616698e-08\n", - "\n", - "\n", - "Number of objective function evaluations = 1\n", - "Number of objective gradient evaluations = 1\n", - "Number of equality constraint evaluations = 1\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 1\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 0\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "m.fs.reactor.initialize(\n", " state_args={\n", @@ -798,39 +670,9 @@ }, { "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.reactor Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Volume : 1.0000 : meter ** 3 : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 100.00 100.00\n", - " mole_frac_comp benzene dimensionless 0.10000 0.15963\n", - " mole_frac_comp toluene dimensionless 0.40000 0.31243\n", - " mole_frac_comp methane dimensionless 0.10000 0.18757\n", - " mole_frac_comp hydrogen dimensionless 0.40000 0.32640\n", - " mole_frac_comp diphenyl dimensionless 0.0000 0.013973\n", - " temperature kelvin 500.00 790.21\n", - " pressure pascal 3.5000e+05 3.5000e+05\n", - "====================================================================================\n" - ] - } - ], + "execution_count": 19, + "metadata": {}, + "outputs": [], "source": [ "m.fs.reactor.report()" ] @@ -844,7 +686,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 21, "metadata": {}, "outputs": [], "source": [ @@ -880,7 +722,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.9.12" } }, "nbformat": 4, diff --git a/idaes_examples/notebooks/docs/properties/custom/custom_reaction_property_packages_test.ipynb b/idaes_examples/notebooks/docs/properties/custom/custom_reaction_property_packages_test.ipynb index e9f5b157..72386c7b 100644 --- a/idaes_examples/notebooks/docs/properties/custom/custom_reaction_property_packages_test.ipynb +++ b/idaes_examples/notebooks/docs/properties/custom/custom_reaction_property_packages_test.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/properties/custom/custom_reaction_property_packages_usr.ipynb b/idaes_examples/notebooks/docs/properties/custom/custom_reaction_property_packages_usr.ipynb index 00d5caa2..504b0a5e 100644 --- a/idaes_examples/notebooks/docs/properties/custom/custom_reaction_property_packages_usr.ipynb +++ b/idaes_examples/notebooks/docs/properties/custom/custom_reaction_property_packages_usr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/properties/dictionary_txy_diagrams.ipynb b/idaes_examples/notebooks/docs/properties/dictionary_txy_diagrams.ipynb index b7e1a3cb..d526fb88 100644 --- a/idaes_examples/notebooks/docs/properties/dictionary_txy_diagrams.ipynb +++ b/idaes_examples/notebooks/docs/properties/dictionary_txy_diagrams.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/properties/dictionary_txy_diagrams_doc.ipynb b/idaes_examples/notebooks/docs/properties/dictionary_txy_diagrams_doc.ipynb index 91726cfe..119f497d 100644 --- a/idaes_examples/notebooks/docs/properties/dictionary_txy_diagrams_doc.ipynb +++ b/idaes_examples/notebooks/docs/properties/dictionary_txy_diagrams_doc.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -61,7 +62,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -86,7 +87,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -122,7 +123,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -255,7 +256,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -277,7 +278,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -300,296 +301,9 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:15 [WARNING] idaes.core.util.scaling: Missing scaling factor for props[1].mole_frac_comp\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:15 [WARNING] idaes.core.util.scaling: Missing scaling factor for props[1].mole_frac_comp\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:15 [INFO] idaes.init.props: Property package initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'props[1].scaling_factor' that contains\n", - "9 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Case: 1 Optimal. benzene x = 0.99\n", - "WARNING: model contains export suffix 'props[1].scaling_factor' that contains\n", - "9 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Case: 2 Optimal. benzene x = 0.95\n", - "WARNING: model contains export suffix 'props[1].scaling_factor' that contains\n", - "9 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Case: 3 Optimal. benzene x = 0.91\n", - "WARNING: model contains export suffix 'props[1].scaling_factor' that contains\n", - "9 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Case: 4 Optimal. benzene x = 0.87\n", - "WARNING: model contains export suffix 'props[1].scaling_factor' that contains\n", - "9 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Case: 5 Optimal. benzene x = 0.83\n", - "WARNING: model contains export suffix 'props[1].scaling_factor' that contains\n", - "9 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Case: 6 Optimal. benzene x = 0.79\n", - "WARNING: model contains export suffix 'props[1].scaling_factor' that contains\n", - "9 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Case: 7 Optimal. benzene x = 0.74" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "WARNING: model contains export suffix 'props[1].scaling_factor' that contains\n", - "9 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Case: 8 Optimal. benzene x = 0.70\n", - "WARNING: model contains export suffix 'props[1].scaling_factor' that contains\n", - "9 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Case: 9 Optimal. benzene x = 0.66\n", - "WARNING: model contains export suffix 'props[1].scaling_factor' that contains\n", - "9 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Case: 10 Optimal. benzene x = 0.62\n", - "WARNING: model contains export suffix 'props[1].scaling_factor' that contains\n", - "9 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Case: 11 Optimal. benzene x = 0.58\n", - "WARNING: model contains export suffix 'props[1].scaling_factor' that contains\n", - "9 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Case: 12 Optimal. benzene x = 0.54\n", - "WARNING: model contains export suffix 'props[1].scaling_factor' that contains\n", - "9 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Case: 13 Optimal. benzene x = 0.50\n", - "WARNING: model contains export suffix 'props[1].scaling_factor' that contains\n", - "9 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Case: 14 Optimal. benzene x = 0.46\n", - "WARNING: model contains export suffix 'props[1].scaling_factor' that contains\n", - "9 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Case: 15 Optimal. benzene x = 0.42\n", - "WARNING: model contains export suffix 'props[1].scaling_factor' that contains\n", - "9 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Case: 16 Optimal. benzene x = 0.38\n", - "WARNING: model contains export suffix 'props[1].scaling_factor' that contains\n", - "9 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Case: 17 Optimal. benzene x = 0.34\n", - "WARNING: model contains export suffix 'props[1].scaling_factor' that contains\n", - "9 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Case: 18 Optimal. benzene x = 0.30\n", - "WARNING: model contains export suffix 'props[1].scaling_factor' that contains\n", - "9 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Case: 19 Optimal. benzene x = 0.26\n", - "WARNING: model contains export suffix 'props[1].scaling_factor' that contains\n", - "9 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Case: 20 Optimal. benzene x = 0.21\n", - "WARNING: model contains export suffix 'props[1].scaling_factor' that contains\n", - "9 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Case: 21 Optimal. benzene x = 0.17\n", - "WARNING: model contains export suffix 'props[1].scaling_factor' that contains\n", - "9 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Case: 22 Optimal. benzene x = 0.13\n", - "WARNING: model contains export suffix 'props[1].scaling_factor' that contains\n", - "9 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Case: 23 Optimal. benzene x = 0.09\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'props[1].scaling_factor' that contains\n", - "9 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Case: 24 Optimal. benzene x = 0.05" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "WARNING: model contains export suffix 'props[1].scaling_factor' that contains\n", - "9 component keys that are not exported as part of the NL file. Skipping.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Case: 25 Optimal. benzene x = 0.01\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABAYAAALXCAYAAAAe6EJpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeZyN9fvH8deZxZgxM/Z938LYl+zL2LMmihRS9oqIipIlFQmlSHZKkj1ZQjHIvm/JlrGEMMJYZj+/Pz5f52cYs5jlnuX9fDzOo7Pcy3WfuWdyX/fnc102u91uR0RERERERETSJCerAxARERERERER6ygxICIiIiIiIpKGKTEgIiIiIiIikoYpMSAiIiIiIiKShikxICIiIiIiIpKGKTEgIiIiIiIikoYpMSAiIiIiIiKShikxICIiIiIiIpKGKTEgIiIiIiIikoYpMSAiIpHYbDbH43EKFSrkWMbf3z/pgpNkwdfX1/Hz9/PzszockUSl811E0gIlBkQkyfj7+0e66EyIx4gRI6w+LBERERGRFE2JARERERFJdvz8/BxJYF9fX6vDERFJ1VysDkBE0g5vb2/eeOONaJfZtWsXu3fvBiBPnjw899xz0S5ftWrVBItPRERERCQtUmJARJJMlixZmDRpUrTLjBgxwpEYKF68eIzLizVUV0BEREQk9dBUAhEREREREZE0TIkBERERERERkTRMiQERSfVCQkKoVKmSo4hV8+bNY1xnyZIljuVdXV3ZsWPHE+37iy++cGynadOmsV5v48aNjvVy5cpFaGjoE+3/QTdv3mT06NE8/fTTZM6cGU9PT0qUKEGPHj3Yu3dvnLYV23aFN2/e5Mcff6RXr15Uq1aNbNmykS5dOry9vSlatCgdO3Zk4cKFRERExGn/Fy5cYPDgwZQtWxZvb2+8vb0pXbo0AwYM4K+//gIid8EoVKhQlNt53DJ//PEH3bt3p2TJkmTMmBGbzUb//v0jrRsREcGWLVsYNmwYTZo0oUCBAnh4eODm5kbu3Llp0KABn3zyCdeuXYvVMUXVJvLAgQP06dOHEiVK4OnpiaenJ9WqVeObb74hLCzskW3s2bOHrl27UqpUKTJkyEDWrFmpX78+P/zwQ6xiiI/z588zdOhQypcvT5YsWciQIQMlS5ZkwIABnDp1Ks7b+/333+nduzelS5cmS5YsuLm5kSdPHpo2bcqkSZO4d+9ejNuI6js9fvw4/fv3p1SpUnh6euLt7U358uUZMmRItD+r+HRViWnqTXI71qjcuXOHKVOm0KpVKwoWLIiHhwdeXl4UL16c1157jQ0bNsRpe9EZMWIENpuN+vXrO97btGlTlN/t4363AUJDQ5k9ezZt2rShYMGCuLu74+3tTYkSJejWrRvr169PsJjj2tLw/jHGpbuOzhMRSVR2EZFkZPjw4XbADtjr1auXYNs9duyY3cPDw7Htr7766rHLnj9/3p45c2bHsiNHjnzi/V67ds3u5uZmB+xOTk72c+fOxWq9l19+2bH/d95554n3f9+WLVvsefLkcWzz4YeTk5PjOB98/3EKFizoWObMmTNRLrNkyRLHscf0KF++vP3vv/+O1bH8+OOPdi8vr8duy83NzT59+nT7mTNnHO8VLFgwym09vExwcLC9V69eUW73rbfecqwXEhJiz5s3b6yOLUOGDPbvv/8+xuN6+Hv/7LPP7M7Ozo/dbtOmTe1BQUF2u91uDwsLs/fp0yfaOF588UV7WFhYrL7jmNSrV8+x3Y0bN9p//vlne8aMGR+7b3d3d/vUqVNjte1z587ZfX19Y/xe8+TJY9+8eXO023r4O50yZUq052TWrFntu3fvjnJbD54rcX087nckuR7rwxYuXGjPlStXjHG2bNnSfuPGjVhtMzoP/n8gpsfjfrd37NhhL1q0aIzrN27c2H716tVo43n4fH/SZR53jMOHD492WZ0nIpIUVHxQRNKEkiVL8sUXX9CrVy8A3n33XerXr0+ZMmUiLRcREUHnzp3577//AKhVqxYffPDBE+83a9astG3blh9//JGIiAhmz57NsGHDol3nxo0bLFmyxPG6e/fuT7x/gL1799KsWTNu377teK9KlSqULVuWkJAQduzYwenTpxk+fDiZM2eO174edOXKFYKDgwHIly8fPj4+5MqVCw8PD27fvs2xY8fYt28fdrudgwcPUrduXQ4cOEDWrFkfu81ly5bRqVMnwsPDAXB2dqZWrVoUL16c27dvs3XrVi5cuECPHj34+uuv4xzzgAEDmDp1KgBly5alfPnyuLq6cuLECZyc/n+QXXh4OP/88w8Anp6elC5dmiJFiuDt7U1oaCgXLlxgx44d3Lp1izt37tC5c2dcXV3p0KFDrOKYOnUq7733HgDlypWjQoUKODs7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FUwE+O677xJk3/cTEhDzUPO9e/dGumiMio+Pj+PCKzQ01FHE8XEiIiL48ccfYxlt3MTl2CIiImI1vDwlW7FiRYwV/H/99VdH67X06dM/0smgVq1aZMqUCTAjPX755ZdEiTUhfP/994wZMwYw58KPP/4Yp24WKeVYW7Zs6Xg+a9asSHfVk0r69Okdz2NTDLJUqVKOFpHh4eHMmzcvxnUenNJVv379J4jSKFSokON5TG1JL168yB9//BHtMjpPRCSpKTEgImnKoEGDOHr0KGCq20+dOtXx2ccff+y44/Tvv//y2muvJUoMjRs3pnDhwgBs2rSJ4cOHOz5LqNEC9z1Y0+Crr77ixIkTj112wYIFMf5jNbaKFCnieL5ixYrHLnf37t1IiZLHcXJy4pVXXnG8HjFiRLR3AydNmhTtscbHg8e2adOmaIcEf/75547h5qnVrVu3eP/99x/7+Z07dyJNz4lqqoybmxv9+/d3vH799df5559/Yh3D/Xn+iW3btm306NHD8Xrs2LG0aNEiTttIKcfarl07ihUrBsClS5d4/fXXY33X+vbt2wlS4+PBVnmx+Y5sNlukvycfffRRtOutWLGCVatWOV737t37CSONfOf8xx9/jLZWzYABA2JMdOg8EZEkZxcRSUaGDx9uB+yAvV69egm67VWrVjm27eTkZPfz83tkmWPHjtk9PDwcy02ePDlBY7jv448/duzj/sPFxcV++fLlBN1PUFCQvUSJEo59FChQwL5jx45Hlps3b549ffr09nTp0kWK6XEKFizoWObMmTOPfL527VrH5zabzT5u3Dh7WFhYpGVOnjxpr1Wrlh2wZ8iQwbH8K6+8EuU+L1++bM+SJYtjuSpVqthPnjwZaZmIiAj75MmT7c7OznY3NzfHsgULFoxym2fOnIlxmYeFh4fb8+bN61ivcePG9n/++SfSMkFBQfYPP/zwkWOL7juNzTJPGvfGjRsT9PeqXr16ju3dP2fee+89e3BwcKTlLly4EGlZd3f3R35m9wUGBtpLly7tWDZXrlz2hQsX2sPDw6Nc/urVq/apU6faK1asaB84cGCUy8TlO334uDZu3Bjps7Nnz9pz5Mjh+Py1116L1TajktyP9b7169fbnZ2dHcs1a9bM/ueffz52m/v377e/++679kyZMtkPHz4cqziiExYWFunv8a5du2Jc5/r165F+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SQpiO87PnDlj+fn5Wd27d7eOHDli/fLLL1amTJmsDz/80K5TEHms2I7zQYMGWX5+ftYPP/xgnTx50lq+fLkVEBBgvfjii3adgki0bty4Ye3evdvavXu3BViff/65tXv3buuPP/6wLMuy3n33XatNmzbh2588edLy9fW13nrrLevQoUPWmDFjLHd3d2vp0qWxOq4SA4/x1VdfWbly5bK8vLysihUrWlu2bAl/rlatWla7du0e2H7OnDlWwYIFLS8vL6tYsWLWr7/+msARi8RebMZ57ty5LeCR26BBgxI+cJFYiO3v84iUGJCkIrbjfNOmTValSpUsb29vK1++fNawYcOskJCQBI5aJHZiM86Dg4OtwYMHWwEBAZaPj4+VM2dOq2vXrta///6b8IGLxMCaNWsi/Vs7bFy3a9fOqlWr1iP7lC5d2vLy8rLy5ctnTZ06NdbHdViW5tCIiIiIiIiIuCrVGBARERERERFxYUoMiIiIiIiIiLgwJQZEREREREREXJgSAyIiIiIiIiIuTIkBERERERERERemxICIiIiIiIiIC1NiQERERERERMSFKTEgIiIiIiIi4sKUGBARlzB48GAcDgcOh8PuUEQkmQj7nTJ48GC7Q4lTU6ZMweFwUKJECSzLsjscp5w+fTr85zRt2jS7w0kw0Y3NkSNH4nA4qF27doLHJSKJlxIDIiIiIgLAzZs36d+/PwADBw50uWTquXPnwi+qd+/ebXc48aJLly6kT5+edevWMX/+fLvDEZFEQokBERERSTBr164Nv/Bau3at3eE8Ik+ePDgcDl555RW7Q7HF6NGjuXjxIkWLFuWFF16wO5wE98svvwCQI0cOypQpY3M08SNVqlS8+eabgEn+hIaG2hyRiCQGSgyIiIiIPAHLsrAsK9ksJbhz5w6ff/45AL1793a52QIAixYtAuCZZ56xOZL41a1bN3x8fPj999/56aef7A5HRBIBJQZEREREhO+++47Lly/j7e3tkrMFbt++zapVqwBo0qSJzdHEr9SpU9OoUSPAzBIREVFiQERERESYPHkyAI0bNyZNmjT2BmODlStXcvfuXXx9falbt67d4cS71q1bA7Bu3TpOnDhhczQiYjclBkTEJV29epVBgwZRrFgxUqVKRbp06ahTpw4//PBDjPa/e/cuX3/9NfXq1SNLlix4eXmRKVMm6tevz+TJ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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\properties\\dictionary_txy_diagrams_doc_14_32.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "Txy_diagram(\n", " model,\n", @@ -630,7 +344,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.9.12" } }, "nbformat": 4, diff --git a/idaes_examples/notebooks/docs/properties/dictionary_txy_diagrams_test.ipynb b/idaes_examples/notebooks/docs/properties/dictionary_txy_diagrams_test.ipynb index 4117f832..c0366e0f 100644 --- a/idaes_examples/notebooks/docs/properties/dictionary_txy_diagrams_test.ipynb +++ b/idaes_examples/notebooks/docs/properties/dictionary_txy_diagrams_test.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/properties/dictionary_txy_diagrams_usr.ipynb b/idaes_examples/notebooks/docs/properties/dictionary_txy_diagrams_usr.ipynb index 4117f832..c0366e0f 100644 --- a/idaes_examples/notebooks/docs/properties/dictionary_txy_diagrams_usr.ipynb +++ b/idaes_examples/notebooks/docs/properties/dictionary_txy_diagrams_usr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/properties/parameter_estimation_pr.ipynb b/idaes_examples/notebooks/docs/properties/parameter_estimation_pr.ipynb index 1d0fcf3e..e8817fc0 100644 --- a/idaes_examples/notebooks/docs/properties/parameter_estimation_pr.ipynb +++ b/idaes_examples/notebooks/docs/properties/parameter_estimation_pr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/properties/parameter_estimation_pr_doc.ipynb b/idaes_examples/notebooks/docs/properties/parameter_estimation_pr_doc.ipynb index ea87d247..1c8e546a 100644 --- a/idaes_examples/notebooks/docs/properties/parameter_estimation_pr_doc.ipynb +++ b/idaes_examples/notebooks/docs/properties/parameter_estimation_pr_doc.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -57,7 +58,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -83,7 +84,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -99,7 +100,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -121,7 +122,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -146,7 +147,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -161,9 +162,16 @@ " m.fs.state_block = m.fs.properties.build_state_block([1], defined_state=True)\n", "\n", " m.fs.state_block[1].flow_mol.fix(1)\n", - " x = float(data[\"x_carbon_dioxide\"]) + 0.5\n", - " m.fs.state_block[1].temperature.fix(float(data[\"temperature\"]))\n", - " m.fs.state_block[1].pressure.fix(float(data[\"pressure\"]))\n", + " if isinstance(data, dict) or isinstance(data, pd.Series):\n", + " x = float(data[\"x_carbon_dioxide\"]) + 0.5\n", + " m.fs.state_block[1].temperature.fix(float(data[\"temperature\"]))\n", + " m.fs.state_block[1].pressure.fix(float(data[\"pressure\"]))\n", + " elif isinstance(data, pd.DataFrame):\n", + " x = float(data.iloc[0][\"x_carbon_dioxide\"]) + 0.5\n", + " m.fs.state_block[1].temperature.fix(float(data.iloc[0][\"temperature\"]))\n", + " m.fs.state_block[1].pressure.fix(float(data.iloc[0][\"pressure\"]))\n", + " else:\n", + " raise ValueError(\"Unrecognized data type.\")\n", " m.fs.state_block[1].mole_frac_comp[\"bmimPF6\"].fix(1 - x)\n", " m.fs.state_block[1].mole_frac_comp[\"carbon_dioxide\"].fix(x)\n", "\n", @@ -177,15 +185,30 @@ " m.fs.state_block.initialize(outlvl=idaeslog.INFO)\n", "\n", " # Fix the state variables on the state block\n", + " if isinstance(data, dict) or isinstance(data, pd.Series):\n", + " m.fs.state_block[1].temperature.fix(float(data[\"temperature\"]))\n", + " m.fs.state_block[1].mole_frac_phase_comp[\"Liq\", \"bmimPF6\"].fix(\n", + " float(data[\"x_bmimPF6\"])\n", + " )\n", + " m.fs.state_block[1].mole_frac_phase_comp[\"Liq\", \"carbon_dioxide\"].fix(\n", + " float(data[\"x_carbon_dioxide\"])\n", + " )\n", + " m.fs.state_block[1].mole_frac_comp[\"bmimPF6\"].fix(float(data[\"x_bmimPF6\"]))\n", + " elif isinstance(data, pd.DataFrame):\n", + " m.fs.state_block[1].temperature.fix(float(data.iloc[0][\"temperature\"]))\n", + " m.fs.state_block[1].mole_frac_phase_comp[\"Liq\", \"bmimPF6\"].fix(\n", + " float(data.iloc[0][\"x_bmimPF6\"])\n", + " )\n", + " m.fs.state_block[1].mole_frac_phase_comp[\"Liq\", \"carbon_dioxide\"].fix(\n", + " float(data.iloc[0][\"x_carbon_dioxide\"])\n", + " )\n", + " m.fs.state_block[1].mole_frac_comp[\"bmimPF6\"].fix(\n", + " float(data.iloc[0][\"x_bmimPF6\"])\n", + " )\n", + " else:\n", + " raise ValueError(\"Unrecognized data type.\")\n", + "\n", " m.fs.state_block[1].pressure.unfix()\n", - " m.fs.state_block[1].temperature.fix(float(data[\"temperature\"]))\n", - " m.fs.state_block[1].mole_frac_phase_comp[\"Liq\", \"bmimPF6\"].fix(\n", - " float(data[\"x_bmimPF6\"])\n", - " )\n", - " m.fs.state_block[1].mole_frac_phase_comp[\"Liq\", \"carbon_dioxide\"].fix(\n", - " float(data[\"x_carbon_dioxide\"])\n", - " )\n", - " m.fs.state_block[1].mole_frac_comp[\"bmimPF6\"].fix(float(data[\"x_bmimPF6\"]))\n", " m.fs.state_block[1].mole_frac_comp[\"carbon_dioxide\"].unfix()\n", " # Set bounds on variables to be estimated\n", " m.fs.properties.PR_kappa[\"bmimPF6\", \"carbon_dioxide\"].setlb(-5)\n", @@ -207,71 +230,9 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:59 [INFO] idaes.init.fs.state_block: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING (W1002): Setting Var\n", - "'fs.state_block[1].log_mole_frac_tbub[Vap,Liq,carbon_dioxide]' to a numeric\n", - "value `1.3789905650578088e-06` outside the bounds (None, 0).\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:59 [INFO] idaes.init.fs.state_block: Dew and bubble point initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:59 [INFO] idaes.init.fs.state_block: Equilibrium temperature initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:29:59 [INFO] idaes.init.fs.state_block: State variable initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:00 [INFO] idaes.init.fs.state_block: Phase equilibrium initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:00 [INFO] idaes.init.fs.state_block: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:00 [INFO] idaes.init.fs.state_block: Property package initialization: optimal - Optimal Solution Found.\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "from idaes.core.util.model_statistics import degrees_of_freedom\n", "import pytest\n", @@ -302,7 +263,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -323,12 +284,12 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def SSE(m, data):\n", - " expr = (float(data[\"pressure\"]) - m.fs.state_block[1].pressure) ** 2\n", + " expr = (float(data.iloc[0][\"pressure\"]) - m.fs.state_block[1].pressure) ** 2\n", " return expr * 1e-7" ] }, @@ -343,1181 +304,9 @@ }, { "cell_type": "code", - "execution_count": 10, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:00 [INFO] idaes.init.fs.state_block: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING (W1002): Setting Var\n", - "'fs.state_block[1].log_mole_frac_tbub[Vap,Liq,carbon_dioxide]' to a numeric\n", - "value `4.301303339264284e-06` outside the bounds (None, 0).\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:00 [INFO] idaes.init.fs.state_block: Dew and bubble point initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:00 [INFO] idaes.init.fs.state_block: Equilibrium temperature initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:00 [INFO] idaes.init.fs.state_block: State variable initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:00 [INFO] idaes.init.fs.state_block: Phase equilibrium initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\dkgun\\AppData\\Local\\Temp\\ipykernel_28652\\3856510393.py:12: FutureWarning: Calling float on a single element Series is deprecated and will raise a TypeError in the future. Use float(ser.iloc[0]) instead\n", - " x = float(data[\"x_carbon_dioxide\"]) + 0.5\n", - "C:\\Users\\dkgun\\AppData\\Local\\Temp\\ipykernel_28652\\3856510393.py:13: FutureWarning: Calling float on a single element Series is deprecated and will raise a TypeError in the future. Use float(ser.iloc[0]) instead\n", - " m.fs.state_block[1].temperature.fix(float(data[\"temperature\"]))\n", - "C:\\Users\\dkgun\\AppData\\Local\\Temp\\ipykernel_28652\\3856510393.py:14: FutureWarning: Calling float on a single element Series is deprecated and will raise a TypeError in the future. Use float(ser.iloc[0]) instead\n", - " m.fs.state_block[1].pressure.fix(float(data[\"pressure\"]))\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:00 [INFO] idaes.init.fs.state_block: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:00 [INFO] idaes.init.fs.state_block: Property package initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:00 [INFO] idaes.init.fs.state_block: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING (W1002): Setting Var\n", - "'fs.state_block[1].log_mole_frac_tbub[Vap,Liq,carbon_dioxide]' to a numeric\n", - "value `4.814447495739171e-09` outside the bounds (None, 0).\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:00 [INFO] idaes.init.fs.state_block: Dew and bubble point initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:00 [INFO] idaes.init.fs.state_block: Equilibrium temperature initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:00 [INFO] idaes.init.fs.state_block: State variable initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:00 [INFO] idaes.init.fs.state_block: Phase equilibrium initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\dkgun\\AppData\\Local\\Temp\\ipykernel_28652\\3856510393.py:29: FutureWarning: Calling float on a single element Series is deprecated and will raise a TypeError in the future. Use float(ser.iloc[0]) instead\n", - " m.fs.state_block[1].temperature.fix(float(data[\"temperature\"]))\n", - "C:\\Users\\dkgun\\AppData\\Local\\Temp\\ipykernel_28652\\3856510393.py:31: FutureWarning: Calling float on a single element Series is deprecated and will raise a TypeError in the future. Use float(ser.iloc[0]) instead\n", - " float(data[\"x_bmimPF6\"])\n", - "C:\\Users\\dkgun\\AppData\\Local\\Temp\\ipykernel_28652\\3856510393.py:34: FutureWarning: Calling float on a single element Series is deprecated and will raise a TypeError in the future. Use float(ser.iloc[0]) instead\n", - " float(data[\"x_carbon_dioxide\"])\n", - "C:\\Users\\dkgun\\AppData\\Local\\Temp\\ipykernel_28652\\3856510393.py:36: FutureWarning: Calling float on a single element Series is deprecated and will raise a TypeError in the future. Use float(ser.iloc[0]) instead\n", - " m.fs.state_block[1].mole_frac_comp[\"bmimPF6\"].fix(float(data[\"x_bmimPF6\"]))\n", - "C:\\Users\\dkgun\\AppData\\Local\\Temp\\ipykernel_28652\\1809745473.py:2: FutureWarning: Calling float on a single element Series is deprecated and will raise a TypeError in the future. Use float(ser.iloc[0]) instead\n", - " expr = (float(data[\"pressure\"]) - m.fs.state_block[1].pressure) ** 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:00 [INFO] idaes.init.fs.state_block: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:00 [INFO] idaes.init.fs.state_block: Property package initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:00 [INFO] idaes.init.fs.state_block: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING (W1002): Setting Var\n", - "'fs.state_block[1].log_mole_frac_tbub[Vap,Liq,carbon_dioxide]' to a numeric\n", - "value `6.357548229111755e-06` outside the bounds (None, 0).\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:00 [INFO] idaes.init.fs.state_block: Dew and bubble point initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:00 [INFO] idaes.init.fs.state_block: Equilibrium temperature initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:00 [INFO] idaes.init.fs.state_block: State variable initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:00 [INFO] idaes.init.fs.state_block: Phase equilibrium initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:01 [INFO] idaes.init.fs.state_block: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:01 [INFO] idaes.init.fs.state_block: Property package initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:01 [INFO] idaes.init.fs.state_block: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING (W1002): Setting Var\n", - "'fs.state_block[1].log_mole_frac_tbub[Vap,Liq,carbon_dioxide]' to a numeric\n", - "value `6.169320987299437e-07` outside the bounds (None, 0).\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:01 [INFO] idaes.init.fs.state_block: Dew and bubble point initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:01 [INFO] idaes.init.fs.state_block: Equilibrium temperature initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:01 [INFO] idaes.init.fs.state_block: State variable initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:01 [INFO] idaes.init.fs.state_block: Phase equilibrium initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:01 [INFO] idaes.init.fs.state_block: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:01 [INFO] idaes.init.fs.state_block: Property package initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:01 [INFO] idaes.init.fs.state_block: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING (W1002): Setting Var\n", - "'fs.state_block[1].log_mole_frac_tbub[Vap,Liq,carbon_dioxide]' to a numeric\n", - "value `7.629131479751715e-08` outside the bounds (None, 0).\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:01 [INFO] idaes.init.fs.state_block: Dew and bubble point initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:01 [INFO] idaes.init.fs.state_block: Equilibrium temperature initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:01 [INFO] idaes.init.fs.state_block: State variable initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:01 [INFO] idaes.init.fs.state_block: Phase equilibrium initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:01 [INFO] idaes.init.fs.state_block: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:01 [INFO] idaes.init.fs.state_block: Property package initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:01 [INFO] idaes.init.fs.state_block: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING (W1002): Setting Var\n", - "'fs.state_block[1].log_mole_frac_tbub[Vap,Liq,carbon_dioxide]' to a numeric\n", - "value `1.3059472085065408e-08` outside the bounds (None, 0).\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:01 [INFO] idaes.init.fs.state_block: Dew and bubble point initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:01 [INFO] idaes.init.fs.state_block: Equilibrium temperature initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:01 [INFO] idaes.init.fs.state_block: State variable initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:01 [INFO] idaes.init.fs.state_block: Phase equilibrium initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:01 [INFO] idaes.init.fs.state_block: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:01 [INFO] idaes.init.fs.state_block: Property package initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:01 [INFO] idaes.init.fs.state_block: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING (W1002): Setting Var\n", - "'fs.state_block[1].log_mole_frac_tbub[Vap,Liq,carbon_dioxide]' to a numeric\n", - "value `4.761445527533956e-06` outside the bounds (None, 0).\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:02 [INFO] idaes.init.fs.state_block: Dew and bubble point initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:02 [INFO] idaes.init.fs.state_block: Equilibrium temperature initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:02 [INFO] idaes.init.fs.state_block: State variable initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:02 [INFO] idaes.init.fs.state_block: Phase equilibrium initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:02 [INFO] idaes.init.fs.state_block: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:02 [INFO] idaes.init.fs.state_block: Property package initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:02 [INFO] idaes.init.fs.state_block: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING (W1002): Setting Var\n", - "'fs.state_block[1].log_mole_frac_tbub[Vap,Liq,carbon_dioxide]' to a numeric\n", - "value `7.219204097329158e-09` outside the bounds (None, 0).\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:02 [INFO] idaes.init.fs.state_block: Dew and bubble point initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:02 [INFO] idaes.init.fs.state_block: Equilibrium temperature initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:02 [INFO] idaes.init.fs.state_block: State variable initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:02 [INFO] idaes.init.fs.state_block: Phase equilibrium initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:02 [INFO] idaes.init.fs.state_block: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:02 [INFO] idaes.init.fs.state_block: Property package initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:02 [INFO] idaes.init.fs.state_block: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING (W1002): Setting Var\n", - "'fs.state_block[1].log_mole_frac_tbub[Vap,Liq,carbon_dioxide]' to a numeric\n", - "value `1.03769179356835e-05` outside the bounds (None, 0).\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:02 [INFO] idaes.init.fs.state_block: Dew and bubble point initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:02 [INFO] idaes.init.fs.state_block: Equilibrium temperature initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:02 [INFO] idaes.init.fs.state_block: State variable initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:02 [INFO] idaes.init.fs.state_block: Phase equilibrium initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:02 [INFO] idaes.init.fs.state_block: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:02 [INFO] idaes.init.fs.state_block: Property package initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:02 [INFO] idaes.init.fs.state_block: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING (W1002): Setting Var\n", - "'fs.state_block[1].log_mole_frac_tbub[Vap,Liq,carbon_dioxide]' to a numeric\n", - "value `1.269889598521249e-06` outside the bounds (None, 0).\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:03 [INFO] idaes.init.fs.state_block: Dew and bubble point initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:03 [INFO] idaes.init.fs.state_block: Equilibrium temperature initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:03 [INFO] idaes.init.fs.state_block: State variable initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:03 [INFO] idaes.init.fs.state_block: Phase equilibrium initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:03 [INFO] idaes.init.fs.state_block: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:03 [INFO] idaes.init.fs.state_block: Property package initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:03 [INFO] idaes.init.fs.state_block: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING (W1002): Setting Var\n", - "'fs.state_block[1].log_mole_frac_tbub[Vap,Liq,carbon_dioxide]' to a numeric\n", - "value `2.021447098567687e-07` outside the bounds (None, 0).\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:03 [INFO] idaes.init.fs.state_block: Dew and bubble point initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:03 [INFO] idaes.init.fs.state_block: Equilibrium temperature initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:03 [INFO] idaes.init.fs.state_block: State variable initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:03 [INFO] idaes.init.fs.state_block: Phase equilibrium initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:03 [INFO] idaes.init.fs.state_block: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:03 [INFO] idaes.init.fs.state_block: Property package initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:03 [INFO] idaes.init.fs.state_block: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING (W1002): Setting Var\n", - "'fs.state_block[1].log_mole_frac_tbub[Vap,Liq,carbon_dioxide]' to a numeric\n", - "value `4.096574706592338e-08` outside the bounds (None, 0).\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:03 [INFO] idaes.init.fs.state_block: Dew and bubble point initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:03 [INFO] idaes.init.fs.state_block: Equilibrium temperature initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:03 [INFO] idaes.init.fs.state_block: State variable initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:03 [INFO] idaes.init.fs.state_block: Phase equilibrium initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:03 [INFO] idaes.init.fs.state_block: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:03 [INFO] idaes.init.fs.state_block: Property package initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:03 [INFO] idaes.init.fs.state_block: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING (W1002): Setting Var\n", - "'fs.state_block[1].log_mole_frac_tbub[Vap,Liq,carbon_dioxide]' to a numeric\n", - "value `6.21086636630859e-06` outside the bounds (None, 0).\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:03 [INFO] idaes.init.fs.state_block: Dew and bubble point initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:03 [INFO] idaes.init.fs.state_block: Equilibrium temperature initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:03 [INFO] idaes.init.fs.state_block: State variable initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:04 [INFO] idaes.init.fs.state_block: Phase equilibrium initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:04 [INFO] idaes.init.fs.state_block: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:04 [INFO] idaes.init.fs.state_block: Property package initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:04 [INFO] idaes.init.fs.state_block: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING (W1002): Setting Var\n", - "'fs.state_block[1].log_mole_frac_tbub[Vap,Liq,carbon_dioxide]' to a numeric\n", - "value `1.1919675619879674e-08` outside the bounds (None, 0).\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:04 [INFO] idaes.init.fs.state_block: Dew and bubble point initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:04 [INFO] idaes.init.fs.state_block: Equilibrium temperature initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:04 [INFO] idaes.init.fs.state_block: State variable initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:04 [INFO] idaes.init.fs.state_block: Phase equilibrium initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:04 [INFO] idaes.init.fs.state_block: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:04 [INFO] idaes.init.fs.state_block: Property package initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:04 [INFO] idaes.init.fs.state_block: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING (W1002): Setting Var\n", - "'fs.state_block[1].log_mole_frac_tbub[Vap,Liq,carbon_dioxide]' to a numeric\n", - "value `1.0197309662820167e-10` outside the bounds (None, 0).\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:04 [INFO] idaes.init.fs.state_block: Dew and bubble point initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:04 [INFO] idaes.init.fs.state_block: Equilibrium temperature initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:04 [INFO] idaes.init.fs.state_block: State variable initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:04 [INFO] idaes.init.fs.state_block: Phase equilibrium initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:04 [INFO] idaes.init.fs.state_block: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:04 [INFO] idaes.init.fs.state_block: Property package initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:04 [INFO] idaes.init.fs.state_block: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING (W1002): Setting Var\n", - "'fs.state_block[1].log_mole_frac_tbub[Vap,Liq,carbon_dioxide]' to a numeric\n", - "value `2.385494860297472e-06` outside the bounds (None, 0).\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:05 [INFO] idaes.init.fs.state_block: Dew and bubble point initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:05 [INFO] idaes.init.fs.state_block: Equilibrium temperature initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:05 [INFO] idaes.init.fs.state_block: State variable initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:05 [INFO] idaes.init.fs.state_block: Phase equilibrium initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:05 [INFO] idaes.init.fs.state_block: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:05 [INFO] idaes.init.fs.state_block: Property package initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:05 [INFO] idaes.init.fs.state_block: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING (W1002): Setting Var\n", - "'fs.state_block[1].log_mole_frac_tbub[Vap,Liq,carbon_dioxide]' to a numeric\n", - "value `4.578395178499122e-07` outside the bounds (None, 0).\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:05 [INFO] idaes.init.fs.state_block: Dew and bubble point initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:05 [INFO] idaes.init.fs.state_block: Equilibrium temperature initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:05 [INFO] idaes.init.fs.state_block: State variable initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:05 [INFO] idaes.init.fs.state_block: Phase equilibrium initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:05 [INFO] idaes.init.fs.state_block: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:05 [INFO] idaes.init.fs.state_block: Property package initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:05 [INFO] idaes.init.fs.state_block: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING (W1002): Setting Var\n", - "'fs.state_block[1].log_mole_frac_tbub[Vap,Liq,carbon_dioxide]' to a numeric\n", - "value `1.0835202436687703e-07` outside the bounds (None, 0).\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:05 [INFO] idaes.init.fs.state_block: Dew and bubble point initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:05 [INFO] idaes.init.fs.state_block: Equilibrium temperature initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:05 [INFO] idaes.init.fs.state_block: State variable initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:05 [INFO] idaes.init.fs.state_block: Phase equilibrium initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:05 [INFO] idaes.init.fs.state_block: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:05 [INFO] idaes.init.fs.state_block: Property package initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 842\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 720\n", - "\n", - "Total number of variables............................: 360\n", - " variables with only lower bounds: 72\n", - " variables with lower and upper bounds: 234\n", - " variables with only upper bounds: 18\n", - "Total number of equality constraints.................: 358\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 5.00e-01 6.99e-14 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 1.1422488e+01 2.60e-01 2.37e+03 -1.0 3.35e+04 - 3.39e-01 6.89e-01h 1\n", - " 2 2.8748813e+01 1.27e-01 1.10e+03 -1.0 1.36e+04 - 8.22e-02 9.88e-01h 1\n", - " 3 2.9813930e+01 1.87e-01 5.94e+02 -1.0 5.01e+02 - 8.73e-01 9.90e-01h 1\n", - " 4 2.9709737e+01 4.27e-02 1.57e+03 -1.0 5.49e+02 - 9.85e-01 9.90e-01h 1\n", - " 5 2.9285216e+01 8.02e-03 9.53e+04 -1.0 2.77e+03 - 9.87e-01 1.00e+00h 1\n", - " 6 2.9283589e+01 1.44e-04 9.56e+04 -1.0 3.48e+02 - 9.90e-01 1.00e+00h 1\n", - " 7 2.9283603e+01 7.59e-08 9.12e+02 -1.0 5.97e-01 - 9.90e-01 1.00e+00h 1\n", - " 8 2.9282891e+01 3.35e-07 1.47e+04 -2.5 1.24e+02 - 9.98e-01 1.00e+00f 1\n", - " 9 2.9282892e+01 2.21e-12 4.97e-08 -2.5 2.39e-01 - 1.00e+00 1.00e+00h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 2.9282891e+01 2.85e-10 3.05e+00 -8.6 3.61e+00 - 1.00e+00 1.00e+00h 1\n", - " 11 2.9282891e+01 2.72e-12 3.60e-12 -8.6 2.03e-04 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 11\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 2.9282891309640156e+01 2.9282891309640156e+01\n", - "Dual infeasibility......: 3.6021722623181066e-12 3.6021722623181066e-12\n", - "Constraint violation....: 2.7191470654339899e-12 2.7191470654339899e-12\n", - "Complementarity.........: 2.5059037693947522e-09 2.5059037693947522e-09\n", - "Overall NLP error.......: 2.5059037693947522e-09 2.5059037693947522e-09\n", - "\n", - "\n", - "Number of objective function evaluations = 12\n", - "Number of objective gradient evaluations = 12\n", - "Number of equality constraint evaluations = 12\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 12\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 11\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n", - "Total CPU secs in NLP function evaluations = 0.048\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\b\b\b\b\b\b\b\b\b\b\b\b\b\b" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "pest = parmest.Estimator(PR_model, data, variable_name, SSE, tee=True)\n", "\n", @@ -1535,21 +324,9 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The SSE at the optimal solution is 29.282891\n", - "\n", - "The values for the parameters are as follows:\n", - "fs.properties.PR_kappa[bmimPF6,carbon_dioxide] = -0.4071428400296551\n", - "fs.properties.PR_kappa[carbon_dioxide,bmimPF6] = 0.020593684002515204\n" - ] - } - ], + "outputs": [], "source": [ "print(\"The SSE at the optimal solution is %0.6f\" % obj_value)\n", "print()\n", @@ -1589,9 +366,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.8.19" } }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/properties/parameter_estimation_pr_test.ipynb b/idaes_examples/notebooks/docs/properties/parameter_estimation_pr_test.ipynb index 4d620a5a..75a53718 100644 --- a/idaes_examples/notebooks/docs/properties/parameter_estimation_pr_test.ipynb +++ b/idaes_examples/notebooks/docs/properties/parameter_estimation_pr_test.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -57,7 +58,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -83,7 +84,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -99,7 +100,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -121,7 +122,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -146,7 +147,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -161,9 +162,16 @@ " m.fs.state_block = m.fs.properties.build_state_block([1], defined_state=True)\n", "\n", " m.fs.state_block[1].flow_mol.fix(1)\n", - " x = float(data[\"x_carbon_dioxide\"]) + 0.5\n", - " m.fs.state_block[1].temperature.fix(float(data[\"temperature\"]))\n", - " m.fs.state_block[1].pressure.fix(float(data[\"pressure\"]))\n", + " if isinstance(data, dict) or isinstance(data, pd.Series):\n", + " x = float(data[\"x_carbon_dioxide\"]) + 0.5\n", + " m.fs.state_block[1].temperature.fix(float(data[\"temperature\"]))\n", + " m.fs.state_block[1].pressure.fix(float(data[\"pressure\"]))\n", + " elif isinstance(data, pd.DataFrame):\n", + " x = float(data.iloc[0][\"x_carbon_dioxide\"]) + 0.5\n", + " m.fs.state_block[1].temperature.fix(float(data.iloc[0][\"temperature\"]))\n", + " m.fs.state_block[1].pressure.fix(float(data.iloc[0][\"pressure\"]))\n", + " else:\n", + " raise ValueError(\"Unrecognized data type.\")\n", " m.fs.state_block[1].mole_frac_comp[\"bmimPF6\"].fix(1 - x)\n", " m.fs.state_block[1].mole_frac_comp[\"carbon_dioxide\"].fix(x)\n", "\n", @@ -177,15 +185,30 @@ " m.fs.state_block.initialize(outlvl=idaeslog.INFO)\n", "\n", " # Fix the state variables on the state block\n", + " if isinstance(data, dict) or isinstance(data, pd.Series):\n", + " m.fs.state_block[1].temperature.fix(float(data[\"temperature\"]))\n", + " m.fs.state_block[1].mole_frac_phase_comp[\"Liq\", \"bmimPF6\"].fix(\n", + " float(data[\"x_bmimPF6\"])\n", + " )\n", + " m.fs.state_block[1].mole_frac_phase_comp[\"Liq\", \"carbon_dioxide\"].fix(\n", + " float(data[\"x_carbon_dioxide\"])\n", + " )\n", + " m.fs.state_block[1].mole_frac_comp[\"bmimPF6\"].fix(float(data[\"x_bmimPF6\"]))\n", + " elif isinstance(data, pd.DataFrame):\n", + " m.fs.state_block[1].temperature.fix(float(data.iloc[0][\"temperature\"]))\n", + " m.fs.state_block[1].mole_frac_phase_comp[\"Liq\", \"bmimPF6\"].fix(\n", + " float(data.iloc[0][\"x_bmimPF6\"])\n", + " )\n", + " m.fs.state_block[1].mole_frac_phase_comp[\"Liq\", \"carbon_dioxide\"].fix(\n", + " float(data.iloc[0][\"x_carbon_dioxide\"])\n", + " )\n", + " m.fs.state_block[1].mole_frac_comp[\"bmimPF6\"].fix(\n", + " float(data.iloc[0][\"x_bmimPF6\"])\n", + " )\n", + " else:\n", + " raise ValueError(\"Unrecognized data type.\")\n", + "\n", " m.fs.state_block[1].pressure.unfix()\n", - " m.fs.state_block[1].temperature.fix(float(data[\"temperature\"]))\n", - " m.fs.state_block[1].mole_frac_phase_comp[\"Liq\", \"bmimPF6\"].fix(\n", - " float(data[\"x_bmimPF6\"])\n", - " )\n", - " m.fs.state_block[1].mole_frac_phase_comp[\"Liq\", \"carbon_dioxide\"].fix(\n", - " float(data[\"x_carbon_dioxide\"])\n", - " )\n", - " m.fs.state_block[1].mole_frac_comp[\"bmimPF6\"].fix(float(data[\"x_bmimPF6\"]))\n", " m.fs.state_block[1].mole_frac_comp[\"carbon_dioxide\"].unfix()\n", " # Set bounds on variables to be estimated\n", " m.fs.properties.PR_kappa[\"bmimPF6\", \"carbon_dioxide\"].setlb(-5)\n", @@ -207,10 +230,8 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": { - "scrolled": false - }, + "execution_count": null, + "metadata": {}, "outputs": [], "source": [ "from idaes.core.util.model_statistics import degrees_of_freedom\n", @@ -242,7 +263,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -263,12 +284,12 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def SSE(m, data):\n", - " expr = (float(data[\"pressure\"]) - m.fs.state_block[1].pressure) ** 2\n", + " expr = (float(data.iloc[0][\"pressure\"]) - m.fs.state_block[1].pressure) ** 2\n", " return expr * 1e-7" ] }, @@ -283,10 +304,8 @@ }, { "cell_type": "code", - "execution_count": 9, - "metadata": { - "scrolled": false - }, + "execution_count": null, + "metadata": {}, "outputs": [], "source": [ "pest = parmest.Estimator(PR_model, data, variable_name, SSE, tee=True)\n", @@ -305,7 +324,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -347,9 +366,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.12" + "version": "3.8.19" } }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/properties/parameter_estimation_pr_usr.ipynb b/idaes_examples/notebooks/docs/properties/parameter_estimation_pr_usr.ipynb index 4d620a5a..75a53718 100644 --- a/idaes_examples/notebooks/docs/properties/parameter_estimation_pr_usr.ipynb +++ b/idaes_examples/notebooks/docs/properties/parameter_estimation_pr_usr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -57,7 +58,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -83,7 +84,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -99,7 +100,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -121,7 +122,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -146,7 +147,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -161,9 +162,16 @@ " m.fs.state_block = m.fs.properties.build_state_block([1], defined_state=True)\n", "\n", " m.fs.state_block[1].flow_mol.fix(1)\n", - " x = float(data[\"x_carbon_dioxide\"]) + 0.5\n", - " m.fs.state_block[1].temperature.fix(float(data[\"temperature\"]))\n", - " m.fs.state_block[1].pressure.fix(float(data[\"pressure\"]))\n", + " if isinstance(data, dict) or isinstance(data, pd.Series):\n", + " x = float(data[\"x_carbon_dioxide\"]) + 0.5\n", + " m.fs.state_block[1].temperature.fix(float(data[\"temperature\"]))\n", + " m.fs.state_block[1].pressure.fix(float(data[\"pressure\"]))\n", + " elif isinstance(data, pd.DataFrame):\n", + " x = float(data.iloc[0][\"x_carbon_dioxide\"]) + 0.5\n", + " m.fs.state_block[1].temperature.fix(float(data.iloc[0][\"temperature\"]))\n", + " m.fs.state_block[1].pressure.fix(float(data.iloc[0][\"pressure\"]))\n", + " else:\n", + " raise ValueError(\"Unrecognized data type.\")\n", " m.fs.state_block[1].mole_frac_comp[\"bmimPF6\"].fix(1 - x)\n", " m.fs.state_block[1].mole_frac_comp[\"carbon_dioxide\"].fix(x)\n", "\n", @@ -177,15 +185,30 @@ " m.fs.state_block.initialize(outlvl=idaeslog.INFO)\n", "\n", " # Fix the state variables on the state block\n", + " if isinstance(data, dict) or isinstance(data, pd.Series):\n", + " m.fs.state_block[1].temperature.fix(float(data[\"temperature\"]))\n", + " m.fs.state_block[1].mole_frac_phase_comp[\"Liq\", \"bmimPF6\"].fix(\n", + " float(data[\"x_bmimPF6\"])\n", + " )\n", + " m.fs.state_block[1].mole_frac_phase_comp[\"Liq\", \"carbon_dioxide\"].fix(\n", + " float(data[\"x_carbon_dioxide\"])\n", + " )\n", + " m.fs.state_block[1].mole_frac_comp[\"bmimPF6\"].fix(float(data[\"x_bmimPF6\"]))\n", + " elif isinstance(data, pd.DataFrame):\n", + " m.fs.state_block[1].temperature.fix(float(data.iloc[0][\"temperature\"]))\n", + " m.fs.state_block[1].mole_frac_phase_comp[\"Liq\", \"bmimPF6\"].fix(\n", + " float(data.iloc[0][\"x_bmimPF6\"])\n", + " )\n", + " m.fs.state_block[1].mole_frac_phase_comp[\"Liq\", \"carbon_dioxide\"].fix(\n", + " float(data.iloc[0][\"x_carbon_dioxide\"])\n", + " )\n", + " m.fs.state_block[1].mole_frac_comp[\"bmimPF6\"].fix(\n", + " float(data.iloc[0][\"x_bmimPF6\"])\n", + " )\n", + " else:\n", + " raise ValueError(\"Unrecognized data type.\")\n", + "\n", " m.fs.state_block[1].pressure.unfix()\n", - " m.fs.state_block[1].temperature.fix(float(data[\"temperature\"]))\n", - " m.fs.state_block[1].mole_frac_phase_comp[\"Liq\", \"bmimPF6\"].fix(\n", - " float(data[\"x_bmimPF6\"])\n", - " )\n", - " m.fs.state_block[1].mole_frac_phase_comp[\"Liq\", \"carbon_dioxide\"].fix(\n", - " float(data[\"x_carbon_dioxide\"])\n", - " )\n", - " m.fs.state_block[1].mole_frac_comp[\"bmimPF6\"].fix(float(data[\"x_bmimPF6\"]))\n", " m.fs.state_block[1].mole_frac_comp[\"carbon_dioxide\"].unfix()\n", " # Set bounds on variables to be estimated\n", " m.fs.properties.PR_kappa[\"bmimPF6\", \"carbon_dioxide\"].setlb(-5)\n", @@ -207,10 +230,8 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": { - "scrolled": false - }, + "execution_count": null, + "metadata": {}, "outputs": [], "source": [ "from idaes.core.util.model_statistics import degrees_of_freedom\n", @@ -242,7 +263,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -263,12 +284,12 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def SSE(m, data):\n", - " expr = (float(data[\"pressure\"]) - m.fs.state_block[1].pressure) ** 2\n", + " expr = (float(data.iloc[0][\"pressure\"]) - m.fs.state_block[1].pressure) ** 2\n", " return expr * 1e-7" ] }, @@ -283,10 +304,8 @@ }, { "cell_type": "code", - "execution_count": 9, - "metadata": { - "scrolled": false - }, + "execution_count": null, + "metadata": {}, "outputs": [], "source": [ "pest = parmest.Estimator(PR_model, data, variable_name, SSE, tee=True)\n", @@ -305,7 +324,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -347,9 +366,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.12" + "version": "3.8.19" } }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/scaling/scaler_workshop.ipynb b/idaes_examples/notebooks/docs/scaling/scaler_workshop.ipynb index be3c5350..27cef358 100644 --- a/idaes_examples/notebooks/docs/scaling/scaler_workshop.ipynb +++ b/idaes_examples/notebooks/docs/scaling/scaler_workshop.ipynb @@ -17,12 +17,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -163,43 +164,7 @@ "execution_count": 3, "id": "c8993db5", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 5 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 16 (External: 0)\n", - " Free Variables with only lower bounds: 6\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 10 (External: 0)\n", - " Activated Equality Constraints: 16 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 Cautions\n", - "\n", - " Caution: 4 variables fixed to 0\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " Try to initialize/solve your model and then call report_numerical_issues()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "m = build_model()\n", "\n", @@ -268,124 +233,7 @@ "execution_count": 6, "id": "7db4db04", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: linear_solver=ma57\n", - "max_iter=200\n", - "nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma57.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 21\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 9\n", - "\n", - "Total number of variables............................: 8\n", - " variables with only lower bounds: 5\n", - " variables with lower and upper bounds: 1\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 8\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 9.09e+07 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "Reallocating memory for MA57: lfact (247)\n", - " 1r 0.0000000e+00 9.09e+07 9.99e+02 2.5 0.00e+00 - 0.00e+00 7.73e-09R 9\n", - " 2r 0.0000000e+00 8.42e+07 8.24e+03 2.5 7.20e+02 - 1.64e-02 2.59e-02f 1\n", - " 3r 0.0000000e+00 8.37e+07 7.72e+03 1.8 8.82e+04 - 5.56e-04 3.77e-05f 1\n", - " 4r 0.0000000e+00 3.76e+07 2.65e+04 1.8 1.13e+03 0.0 1.27e-01 1.63e-01f 1\n", - " 5r 0.0000000e+00 3.60e+07 2.30e+04 1.8 6.83e+01 1.3 7.53e-02 1.45e-01f 1\n", - " 6r 0.0000000e+00 4.17e+07 1.77e+04 1.8 2.10e+02 0.9 7.11e-02 1.47e-01f 1\n", - " 7r 0.0000000e+00 4.08e+07 1.75e+04 1.8 3.95e+02 0.4 2.35e-01 8.19e-03f 1\n", - " 8r 0.0000000e+00 3.13e+07 1.75e+04 1.8 1.12e+03 -0.1 3.57e-01 3.16e-02f 1\n", - " 9r 0.0000000e+00 7.77e+06 1.74e+04 1.8 1.00e+04 - 1.43e-02 9.06e-03f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10r 0.0000000e+00 7.36e+06 1.70e+04 1.8 2.14e+02 - 2.20e-01 2.38e-02f 1\n", - " 11r 0.0000000e+00 5.93e+06 1.67e+04 1.8 1.72e+02 - 7.89e-01 1.95e-01f 1\n", - " 12r 0.0000000e+00 1.54e+06 3.54e+04 1.8 1.06e+02 - 8.80e-01 7.41e-01f 1\n", - " 13r 0.0000000e+00 1.21e+06 2.79e+04 1.8 4.60e+00 - 1.00e+00 2.12e-01h 1\n", - " 14r 0.0000000e+00 3.31e+03 4.79e+01 1.8 2.39e+00 - 1.00e+00 1.00e+00f 1\n", - " 15r 0.0000000e+00 2.85e+03 7.72e+02 -0.2 2.01e+00 - 9.81e-01 9.09e-01f 1\n", - " 16r 0.0000000e+00 2.47e+03 6.60e+02 -0.2 9.87e-01 - 1.00e+00 1.48e-01f 1\n", - " 17r 0.0000000e+00 3.18e-01 8.47e+01 -0.2 1.39e-01 - 1.00e+00 1.00e+00f 1\n", - " 18r 0.0000000e+00 3.18e-01 6.25e+01 -0.2 1.96e-01 - 1.00e+00 1.00e+00f 1\n", - " 19r 0.0000000e+00 3.18e-01 5.46e+00 -0.2 3.26e-02 - 1.00e+00 1.00e+00h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 20r 0.0000000e+00 3.18e-01 1.44e+02 -1.6 2.34e-01 - 1.00e+00 1.00e+00f 1\n", - " 21r 0.0000000e+00 3.18e-01 1.45e+01 -1.6 9.26e-02 - 9.13e-01 1.00e+00f 1\n", - " 22r 0.0000000e+00 3.18e-01 1.46e+01 -1.6 1.71e-01 - 1.00e+00 1.25e-01f 4\n", - " 23r 0.0000000e+00 3.18e-01 1.44e+01 -1.6 1.24e-01 - 1.00e+00 1.56e-02h 7\n", - " 24r 0.0000000e+00 3.18e-01 1.41e+01 -1.6 1.27e-01 - 1.00e+00 1.56e-02h 7\n", - " 25r 0.0000000e+00 3.18e-01 1.39e+01 -1.6 1.24e-01 - 1.00e+00 1.56e-02h 7\n", - " 26r 0.0000000e+00 3.18e-01 1.37e+01 -1.6 1.22e-01 - 1.00e+00 1.56e-02h 7\n", - " 27r 0.0000000e+00 3.18e-01 1.35e+01 -1.6 1.20e-01 - 1.00e+00 1.56e-02h 7\n", - " 28r 0.0000000e+00 3.18e-01 1.33e+01 -1.6 1.18e-01 - 1.00e+00 1.56e-02h 7\n", - " 29r 0.0000000e+00 3.18e-01 1.31e+01 -1.6 1.17e-01 - 1.00e+00 1.56e-02h 7\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 30r 0.0000000e+00 3.18e-01 1.29e+01 -1.6 1.15e-01 - 1.00e+00 1.56e-02h 7\n", - " 31r 0.0000000e+00 3.18e-01 1.28e+01 -1.6 1.13e-01 - 1.00e+00 1.56e-02h 7\n", - " 32r 0.0000000e+00 3.18e-01 4.28e+01 -1.6 1.11e-01 - 1.00e+00 1.00e+00w 1\n", - " 33r 0.0000000e+00 3.18e-01 1.43e-03 -1.6 2.09e-05 - 1.00e+00 1.00e+00w 1\n", - " 34r 0.0000000e+00 3.18e-01 1.37e+01 -3.7 6.94e-02 - 1.00e+00 1.00e+00f 1\n", - " 35r 0.0000000e+00 3.17e-01 3.73e+04 -3.7 3.39e+00 - 1.44e-01 1.00e+00f 1\n", - " 36r 0.0000000e+00 3.17e-01 6.78e+03 -3.7 5.99e-01 - 1.00e+00 1.00e+00f 1\n", - " 37r 0.0000000e+00 3.17e-01 7.66e+00 -3.7 4.92e-03 - 1.00e+00 1.00e+00h 1\n", - " 38r 0.0000000e+00 3.17e-01 1.65e-04 -3.7 9.43e-05 - 1.00e+00 1.00e+00h 1\n", - " 39r 0.0000000e+00 3.17e-01 1.30e+00 -5.6 9.94e-04 - 1.00e+00 1.00e+00f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 40r 0.0000000e+00 3.11e-01 6.82e+04 -5.6 3.21e+01 - 1.41e-01 1.00e+00f 1\n", - " 41r 0.0000000e+00 3.11e-01 1.17e+01 -5.6 4.97e-03 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 41\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 2.2783833299154238e-01 2.2783833299154238e-01\n", - "Constraint violation....: 3.1132475345243688e-01 3.1132475345243688e-01\n", - "Complementarity.........: 2.7808801399127131e-06 2.7808801399127131e-06\n", - "Overall NLP error.......: 3.1132475345243688e-01 3.1132475345243688e-01\n", - "\n", - "\n", - "Number of objective function evaluations = 109\n", - "Number of objective gradient evaluations = 3\n", - "Number of equality constraint evaluations = 109\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 44\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 42\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.008\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Converged to a point of local infeasibility. Problem may be infeasible.\n" - ] - } - ], + "outputs": [], "source": [ "perturb_model(m)" ] @@ -544,42 +392,7 @@ "execution_count": 8, "id": "96ca1083", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 1.540E+12\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 WARNINGS\n", - "\n", - " WARNING: 1 Constraint with large residuals (>1.0E-05)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "7 Cautions\n", - "\n", - " Caution: 1 Variable with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 6 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 4 Variables with extreme value (<1.0E-04 or >1.0E+04)\n", - " Caution: 1 Constraint with mismatched terms\n", - " Caution: 3 Variables with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 2 Constraints with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 6 extreme Jacobian Entries (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_constraints_with_large_residuals()\n", - " compute_infeasibility_explanation()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.report_numerical_issues()" ] @@ -599,29 +412,7 @@ "execution_count": 9, "id": "85175874", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following variable(s) are associated with extreme Jacobian values (<1.0E-04 or>1.0E+04):\n", - "\n", - " fs.equil.control_volume.properties_out[0.0].flow_vol: 9.427E+07\n", - " fs.equil.control_volume.properties_out[0.0].temperature: 4.172E+06\n", - " fs.equil.control_volume.rate_reaction_extent[0.0,R1]: 4.900E+04\n", - "\n", - "====================================================================================\n", - "====================================================================================\n", - "The following constraint(s) are associated with extreme Jacobian values (<1.0E-04 or>1.0E+04):\n", - "\n", - " fs.equil.control_volume.enthalpy_balances[0.0]: 9.436E+07\n", - " fs.equil.control_volume.material_balances[0.0,Liq,H2O]: 5.539E+04\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.display_variables_with_extreme_jacobians()\n", "dt.display_constraints_with_extreme_jacobians()" @@ -644,15 +435,7 @@ "execution_count": 10, "id": "4457c423", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "fs.equil.control_volume.properties_in[0.0].flow_vol*fs.equil.control_volume.properties_in[0.0].conc_mol_comp[H2O] - fs.equil.control_volume.properties_out[0.0].flow_vol*fs.equil.control_volume.properties_out[0.0].conc_mol_comp[H2O] + fs.equil.control_volume.rate_reaction_generation[0.0,Liq,H2O] == 0" - ] - } - ], + "outputs": [], "source": [ "from idaes.core.util.misc import print_compact_form\n", "\n", @@ -674,15 +457,7 @@ "execution_count": 11, "id": "708d8d2d", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "fs.properties.dens_mol*fs.properties.cp_mol*fs.equil.control_volume.properties_in[0.0].flow_vol*(fs.equil.control_volume.properties_in[0.0].temperature - fs.properties.temperature_ref) - fs.properties.dens_mol*fs.properties.cp_mol*fs.equil.control_volume.properties_out[0.0].flow_vol*(fs.equil.control_volume.properties_out[0.0].temperature - fs.properties.temperature_ref) + fs.equil.control_volume.heat[0.0] + fs.equil.control_volume.heat_of_reaction[0.0] == 0" - ] - } - ], + "outputs": [], "source": [ "print_compact_form(m.fs.equil.control_volume.enthalpy_balances[0.0])" ] @@ -760,31 +535,7 @@ "execution_count": 13, "id": "b0363a58", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Help on function call_submodel_scaler_method in module idaes.core.scaling.custom_scaler_base:\n", - "\n", - "call_submodel_scaler_method(self, submodel, method: str, submodel_scalers: pyomo.common.collections.component_map.ComponentMap = None, overwrite: bool = False)\n", - " Call scaling method for submodel.\n", - " \n", - " Scaler for submodel is taken from submodel_scalers if present, otherwise the\n", - " default scaler for the submodel is used.\n", - " \n", - " Args:\n", - " submodel: submodel to be scaled\n", - " submodel_scalers: user provided ComponentMap of Scalers to use for submodels\n", - " method: name of method to call from submodel (as string)\n", - " overwrite: whether to overwrite existing scaling factors\n", - " \n", - " Returns:\n", - " None\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "help(CustomScalerBase.call_submodel_scaler_method)" ] @@ -824,29 +575,7 @@ "execution_count": 14, "id": "aa684f2e", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Help on function propagate_state_scaling in module idaes.core.scaling.custom_scaler_base:\n", - "\n", - "propagate_state_scaling(self, target_state, source_state, overwrite: bool = False)\n", - " Propagate scaling of state variables from one StateBlock to another.\n", - " \n", - " Indexing of target and source StateBlocks must match.\n", - " \n", - " Args:\n", - " target_state: StateBlock to set scaling factors on\n", - " source_state: StateBlock to use as source for scaling factors\n", - " overwrite: whether to overwrite existing scaling factors\n", - " \n", - " Returns:\n", - " None\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "help(CustomScalerBase.propagate_state_scaling)" ] @@ -1044,89 +773,7 @@ "execution_count": 18, "id": "781f06d0", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Model Solved\n", - "\n", - "Scaling Factors for fs.equil\n", - "\n", - "Variable Scaling Factor Value Scaled Value\n", - "fs.equil.control_volume.properties_in[0.0].flow_vol 1.000E+02 1.000E-03 1.000E-01\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[H2O] 1.000E-04 5.539E+04 5.539E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[NaOH] 1.000E-02 1.000E+02 1.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[EthylAcetate] 1.000E-02 1.000E+02 1.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[SodiumAcetate] 1.000E-02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[Ethanol] 1.000E-02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].temperature 3.219E-03 3.031E+02 9.759E-01\n", - "fs.equil.control_volume.properties_in[0.0].pressure 1.000E-05 1.013E+05 1.013E+00\n", - "fs.equil.control_volume.properties_out[0.0].flow_vol 1.000E+02 1.000E-03 1.000E-01\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[H2O] 1.000E-04 5.539E+04 5.539E+00\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[NaOH] 1.000E-02 6.250E-02 6.250E-04\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[EthylAcetate] 1.000E-02 6.250E-02 6.250E-04\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[SodiumAcetate] 1.000E-02 9.994E+01 9.994E-01\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[Ethanol] 1.000E-02 9.994E+01 9.994E-01\n", - "fs.equil.control_volume.properties_out[0.0].temperature 3.219E-03 3.043E+02 9.796E-01\n", - "fs.equil.control_volume.properties_out[0.0].pressure 1.000E-05 1.013E+05 1.013E+00\n", - "fs.equil.control_volume.heat[0.0] None 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.deltaP[0.0] None 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,H2O] None 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,NaOH] None -9.994E-02 -9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,EthylAcetate] None -9.994E-02 -9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,SodiumAcetate] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,Ethanol] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.rate_reaction_extent[0.0,R1] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.reactions[0.0].reaction_rate[R1] 1.000E+02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.reactions[0.0].k_rxn 5.424E+00 1.304E-01 7.075E-01\n", - "\n", - "Constraint Scaling Factor\n", - "fs.equil.rate_reaction_constraint[0.0,R1] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,H2O] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,NaOH] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,EthylAcetate] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,SodiumAcetate] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,Ethanol] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,H2O] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,NaOH] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,EthylAcetate] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,SodiumAcetate] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,Ethanol] None\n", - "fs.equil.control_volume.enthalpy_balances[0.0] None\n", - "fs.equil.control_volume.pressure_balance[0.0] None\n", - "fs.equil.control_volume.properties_out[0.0].conc_water_eqn 1.000E-04\n", - "fs.equil.control_volume.reactions[0.0].rate_expression[R1] 5.424E-04\n", - "fs.equil.control_volume.reactions[0.0].arrhenius_eqn 5.424E+00\n", - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 3.022E+09\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 WARNINGS\n", - "\n", - " WARNING: 2 Variables at or outside bounds (tol=0.0E+00)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "5 Cautions\n", - "\n", - " Caution: 2 Variables with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 6 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 4 Variables with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 2 Constraints with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 6 extreme Jacobian Entries (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_variables_at_or_outside_bounds()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "check_scaling()" ] @@ -1336,89 +983,7 @@ "execution_count": 20, "id": "5f8e0e6f", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Model Solved\n", - "\n", - "Scaling Factors for fs.equil\n", - "\n", - "Variable Scaling Factor Value Scaled Value\n", - "fs.equil.control_volume.properties_in[0.0].flow_vol 1.000E+02 1.000E-03 1.000E-01\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[H2O] 1.000E-04 5.539E+04 5.539E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[NaOH] 1.000E-02 1.000E+02 1.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[EthylAcetate] 1.000E-02 1.000E+02 1.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[SodiumAcetate] 1.000E-02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[Ethanol] 1.000E-02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].temperature 3.219E-03 3.031E+02 9.759E-01\n", - "fs.equil.control_volume.properties_in[0.0].pressure 1.000E-05 1.013E+05 1.013E+00\n", - "fs.equil.control_volume.properties_out[0.0].flow_vol 1.000E+02 1.000E-03 1.000E-01\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[H2O] 1.000E-04 5.539E+04 5.539E+00\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[NaOH] 1.000E-02 6.250E-02 6.250E-04\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[EthylAcetate] 1.000E-02 6.250E-02 6.250E-04\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[SodiumAcetate] 1.000E-02 9.994E+01 9.994E-01\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[Ethanol] 1.000E-02 9.994E+01 9.994E-01\n", - "fs.equil.control_volume.properties_out[0.0].temperature 3.219E-03 3.043E+02 9.796E-01\n", - "fs.equil.control_volume.properties_out[0.0].pressure 1.000E-05 1.013E+05 1.013E+00\n", - "fs.equil.control_volume.heat[0.0] 4.794E-04 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.deltaP[0.0] 1.000E-04 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,H2O] None 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,NaOH] None -9.994E-02 -9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,EthylAcetate] None -9.994E-02 -9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,SodiumAcetate] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,Ethanol] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.rate_reaction_extent[0.0,R1] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.reactions[0.0].reaction_rate[R1] 1.000E+02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.reactions[0.0].k_rxn 5.424E+00 1.304E-01 7.075E-01\n", - "\n", - "Constraint Scaling Factor\n", - "fs.equil.rate_reaction_constraint[0.0,R1] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,H2O] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,NaOH] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,EthylAcetate] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,SodiumAcetate] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,Ethanol] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,H2O] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,NaOH] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,EthylAcetate] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,SodiumAcetate] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,Ethanol] None\n", - "fs.equil.control_volume.enthalpy_balances[0.0] None\n", - "fs.equil.control_volume.pressure_balance[0.0] None\n", - "fs.equil.control_volume.properties_out[0.0].conc_water_eqn 1.000E-04\n", - "fs.equil.control_volume.reactions[0.0].rate_expression[R1] 5.424E-04\n", - "fs.equil.control_volume.reactions[0.0].arrhenius_eqn 5.424E+00\n", - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 3.022E+09\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 WARNINGS\n", - "\n", - " WARNING: 2 Variables at or outside bounds (tol=0.0E+00)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "5 Cautions\n", - "\n", - " Caution: 2 Variables with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 6 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 4 Variables with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 2 Constraints with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 6 extreme Jacobian Entries (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_variables_at_or_outside_bounds()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "check_scaling()" ] @@ -1602,87 +1167,7 @@ "execution_count": 22, "id": "75d11627", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Model Solved\n", - "\n", - "Scaling Factors for fs.equil\n", - "\n", - "Variable Scaling Factor Value Scaled Value\n", - "fs.equil.control_volume.properties_in[0.0].flow_vol 1.000E+02 1.000E-03 1.000E-01\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[H2O] 1.000E-04 5.539E+04 5.539E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[NaOH] 1.000E-02 1.000E+02 1.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[EthylAcetate] 1.000E-02 1.000E+02 1.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[SodiumAcetate] 1.000E-02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[Ethanol] 1.000E-02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].temperature 3.219E-03 3.031E+02 9.759E-01\n", - "fs.equil.control_volume.properties_in[0.0].pressure 1.000E-05 1.013E+05 1.013E+00\n", - "fs.equil.control_volume.properties_out[0.0].flow_vol 1.000E+02 1.000E-03 1.000E-01\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[H2O] 1.000E-04 5.539E+04 5.539E+00\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[NaOH] 1.000E-02 6.250E-02 6.250E-04\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[EthylAcetate] 1.000E-02 6.250E-02 6.250E-04\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[SodiumAcetate] 1.000E-02 9.994E+01 9.994E-01\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[Ethanol] 1.000E-02 9.994E+01 9.994E-01\n", - "fs.equil.control_volume.properties_out[0.0].temperature 3.219E-03 3.043E+02 9.796E-01\n", - "fs.equil.control_volume.properties_out[0.0].pressure 1.000E-05 1.013E+05 1.013E+00\n", - "fs.equil.control_volume.heat[0.0] 4.794E-04 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.deltaP[0.0] 1.000E-04 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,H2O] None 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,NaOH] None -9.994E-02 -9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,EthylAcetate] None -9.994E-02 -9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,SodiumAcetate] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,Ethanol] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.rate_reaction_extent[0.0,R1] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.reactions[0.0].reaction_rate[R1] 1.000E+02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.reactions[0.0].k_rxn 5.424E+00 1.304E-01 7.075E-01\n", - "\n", - "Constraint Scaling Factor\n", - "fs.equil.rate_reaction_constraint[0.0,R1] 1.000E+02\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,H2O] 1.000E+00\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,NaOH] 1.000E+01\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,EthylAcetate] 1.000E+01\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,SodiumAcetate] 1.000E+01\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,Ethanol] 1.000E+01\n", - "fs.equil.control_volume.material_balances[0.0,Liq,H2O] 1.000E-02\n", - "fs.equil.control_volume.material_balances[0.0,Liq,NaOH] 1.000E+00\n", - "fs.equil.control_volume.material_balances[0.0,Liq,EthylAcetate] 1.000E+00\n", - "fs.equil.control_volume.material_balances[0.0,Liq,SodiumAcetate] 1.000E+00\n", - "fs.equil.control_volume.material_balances[0.0,Liq,Ethanol] 1.000E+00\n", - "fs.equil.control_volume.enthalpy_balances[0.0] 7.715E-08\n", - "fs.equil.control_volume.pressure_balance[0.0] 9.869E-06\n", - "fs.equil.control_volume.properties_out[0.0].conc_water_eqn 1.000E-04\n", - "fs.equil.control_volume.reactions[0.0].rate_expression[R1] 5.424E-04\n", - "fs.equil.control_volume.reactions[0.0].arrhenius_eqn 5.424E+00\n", - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 7.182E+04\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 WARNINGS\n", - "\n", - " WARNING: 2 Variables at or outside bounds (tol=0.0E+00)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "3 Cautions\n", - "\n", - " Caution: 2 Variables with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 6 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 2 extreme Jacobian Entries (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_variables_at_or_outside_bounds()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "check_scaling()" ] @@ -1736,43 +1221,7 @@ "execution_count": 24, "id": "80e47573", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'scaling_factor' that contains 10\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "\n", - "Model Solved\n", - "\n", - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 3.863E+06\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 WARNINGS\n", - "\n", - " WARNING: 2 Variables at or outside bounds (tol=0.0E+00)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "4 Cautions\n", - "\n", - " Caution: 2 Variables with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 6 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 2 Variables with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 7 extreme Jacobian Entries (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_variables_at_or_outside_bounds()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "from idaes.core.scaling import AutoScaler\n", "\n", @@ -1846,91 +1295,7 @@ "execution_count": 26, "id": "a5d82e55", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: linear_solver=ma57\n", - "max_iter=200\n", - "nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma57.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 21\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 9\n", - "\n", - "Total number of variables............................: 8\n", - " variables with only lower bounds: 5\n", - " variables with lower and upper bounds: 1\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 8\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 5.53e+02 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "Reallocating memory for MA57: lfact (247)\n", - " 1 0.0000000e+00 5.53e+02 1.20e+00 -1.0 9.95e+02 - 2.00e-05 1.96e-05h 1\n", - " 2 0.0000000e+00 5.53e+02 1.20e+00 -1.0 9.57e+02 - 2.06e-05 2.00e-05h 1\n", - " 3 0.0000000e+00 5.53e+02 7.36e+01 -1.0 9.25e+02 - 4.36e-04 4.06e-05h 1\n", - " 4 0.0000000e+00 5.53e+02 3.34e+05 -1.0 8.55e+02 - 2.41e-04 1.21e-03f 1\n", - " 5 0.0000000e+00 5.40e+02 6.59e+03 -1.0 9.98e+01 - 2.25e-04 2.34e-02f 1\n", - " 6 0.0000000e+00 5.24e+02 1.11e+08 -1.0 9.74e+01 - 2.54e-02 2.84e-02f 1\n", - " 7 0.0000000e+00 2.36e+02 2.03e+06 -1.0 9.47e+01 - 7.09e-02 5.49e-01h 1\n", - " 8 0.0000000e+00 8.62e+01 6.37e+10 -1.0 4.27e+01 - 8.23e-03 6.35e-01h 1\n", - " 9 0.0000000e+00 1.96e+00 4.93e+10 -1.0 1.56e+01 - 1.00e+00 1.00e+00h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 0.0000000e+00 2.05e-04 2.15e+09 -1.0 3.70e-02 - 1.00e+00 1.00e+00h 1\n", - " 11 0.0000000e+00 6.28e-15 2.56e+05 -1.0 2.05e-04 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 11\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 6.2780236478193237e-15 6.2780236478193237e-15\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 6.2780236478193237e-15 6.2780236478193237e-15\n", - "\n", - "\n", - "Number of objective function evaluations = 12\n", - "Number of objective gradient evaluations = 12\n", - "Number of equality constraint evaluations = 12\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 12\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 11\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "m = build_model()\n", "\n", diff --git a/idaes_examples/notebooks/docs/scaling/scaler_workshop_doc.ipynb b/idaes_examples/notebooks/docs/scaling/scaler_workshop_doc.ipynb index a7ba87bb..7c45ca34 100644 --- a/idaes_examples/notebooks/docs/scaling/scaler_workshop_doc.ipynb +++ b/idaes_examples/notebooks/docs/scaling/scaler_workshop_doc.ipynb @@ -1,1912 +1,1277 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# How to Create Scaler Objects in IDAES\n", - "\n", - "Author: Andrew Lee\n", - "Maintainer: Doug Allan\n", - "Updated: 2024-10-24\n", - "\n", - "## Introduction\n", - "\n", - "
\n", - "NOTE All the suggestions in this introduction should be viewed as \"rules-of-thumb\" and not taken as absolute guidance. There are many cases where alternative approaches may give as-good or better results and you should always consider the meaning of the scaling factors you are applying and how they affect the solver's behavior. \n", - "
\n", - "\n", - "Solving general non-linear problems has always been challenging, and is highly dependent on how well scaled the model is. In many cases, as much time (or more) is spent trying to improve the model formulation and scaling as was spent writing the original model. To assist molders with this task, IDAES has implemented a Scaling Toolbox which contains a number of useful tools for common scaling techniques as well as a standard interface and form for how to write scaling routines.\n", - "\n", - "The goal of this workshop is to take you through the process of writing a general-purpose, modular scaling routine for an equilibrium reactor example. By the end of this exercise you should:\n", - "\n", - "* understand the ``CustomScalerBase`` class and how to apply the tools it contains,\n", - "* understand how to use ``CustomScalerBase`` to set up a modular scaling routine for a model,\n", - "* understand how to use the Diagnostics Toolbox to check for scaling issues in a model.\n", - "\n", - "## How to Write a Scaling Routine\n", - "\n", - "
The golden rule when developing a scaling routine to a model is to always think about what you are doing and why. Bad scaling is often worse than no scaling at all, so assigning arbitrary scaling factors should be avoided. Always start by taking the time to look over the model you want to scale and understand what variables and constraints are present. For variables, you should ask yourself what the expected range of magnitudes will be; assigning an arbitrary default value should be avoided. For constraints you should ask yourself what the expected magnitude of each additive term will be, how much these vary from each other, and which term is likely to be most significant in terms of variation (partial derivatives).
\n", - "\n", - "
\n", - "NOTE Different solvers behave in different ways, and you may find cases where tuning scaling for one solver results in worse performance for another.\n", - " \n", - "You should always consider the end-goal when writing a Scaler; if you are writing a routine for a specific application and solver then you may wish to tune the scaling factors for best performance, however if you are writing a general-purpose Scaler then you should aim for scaling that will work for a wide range of conditions and solver.\n", - "
\n", - "\n", - "Below are some general suggestions for developing scaling routines.\n", - " \n", - "* Order of magnitude estimates are generally good enough (and often better than exact values).\n", - "* Start with what you know the most about, and work out from there.\n", - "* If in doubt, start by scaling variables first, and then scale constraints based on the variable scaling.\n", - "* Be judicious when applying scaling factors for things you are uncertain about. If in doubt, leave a component unscaled and see what the model diagnostics have to say.\n", - "* Make use of the modular nature of IDAES when writing scaling routines. A unit model developer might not know the expected magnitude of the thermophysical properties they get from a property package, but there should be a scaling routine for the property package that they can call to provide these.\n", - "\n", - "
\n", - "NOTE When dealing with systems of partial differential algebraic equations (PDAEs), such as dynamic systems or those with spatial variation, it is important to consider how scaling may change across the discretized domain. In many of these types of models, you will find significant changes in scale across a small portion of the domain; for example a dynamic model of a step disturbance will show an initial equilibrium state followed by a rapid change in system conditions until a new equilibrium is established. To complicate things further, the location of this ramp can often move significantly with minor changes in system conditions, thus you should not presume that the ramp will remain in the same place.\n", - " \n", - "As a general rule, for scaling PDAE systems with significant changes, you should focus on finding a set of scaling factors that is suitable for the ramp region as this is the part of the model which will be hardest to solve.\n", - "
\n", - "\n", - "### IDAES Scaling Interface and Toolbox\n", - "\n", - "IDAES uses a class-based interface for defining scaling routines, where model developers can create ``Scaler`` objects which define a scaling routine suitable for a type of model or specific application. All models (both those in the IDAES model libraries and user-developed models) should have one or more ``Scaler`` classes defined for them that can be used to apply scaling routines to the model. To assist end-users in identifying a suitable ``Scaler`` for a model, all IDAES models have a ``default_scaler`` attribute which can be set to point to a ``Scaler`` object suitable for that model. Model developers should endeavor to create a reliable, general-purpose ``Scaler`` for each model they create and assign this as the default ``Scaler``. We will demonstrate how to do this at the end of this workshop.\n", - "\n", - "\n", - "## Step 1: Set Up Test Case(s)\n", - "\n", - "Whilst it is possible to develop a scaling routine by looking only at the model code and the resulting variables and constraints, in order to test it we will need one or more test cases to run. These test cases are important for both checking the that ``Scaler`` code runs as expected, and that it also improves the scaling of the model. The more test cases you can check against, the more confident you can be that the ``Scaler`` you have written is suitable for a wide range of applications.\n", - "\n", - "For this example we will develop a general purpose ``Scaler`` for the ``EquilibriumReactor`` model from the core IDAES model library using the saponification property and reaction packages as a test case. The code below imports the necessary packages and creates a function that will build and initialize our test case." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.environ import ConcreteModel, Constraint, units, Var\n", - "\n", - "from idaes.core import FlowsheetBlock\n", - "from idaes.models.unit_models.equilibrium_reactor import (\n", - " EquilibriumReactor,\n", - ")\n", - "from idaes.models.properties.examples.saponification_thermo import (\n", - " SaponificationParameterBlock,\n", - ")\n", - "from idaes.models.properties.examples.saponification_reactions import (\n", - " SaponificationReactionParameterBlock,\n", - ")\n", - "from idaes.core.solvers import get_solver\n", - "from idaes.core.initialization import BlockTriangularizationInitializer\n", - "from idaes.core.util import DiagnosticsToolbox\n", - "\n", - "\n", - "def build_model():\n", - " m = ConcreteModel()\n", - " m.fs = FlowsheetBlock(dynamic=False)\n", - "\n", - " m.fs.properties = SaponificationParameterBlock()\n", - " m.fs.reactions = SaponificationReactionParameterBlock(\n", - " property_package=m.fs.properties\n", - " )\n", - "\n", - " m.fs.equil = EquilibriumReactor(\n", - " property_package=m.fs.properties,\n", - " reaction_package=m.fs.reactions,\n", - " has_equilibrium_reactions=False,\n", - " has_heat_transfer=True,\n", - " has_heat_of_reaction=True,\n", - " has_pressure_change=True,\n", - " )\n", - "\n", - " m.fs.equil.inlet.flow_vol[0].fix(1.0e-03 * units.m**3 / units.s)\n", - " m.fs.equil.inlet.conc_mol_comp[0, \"H2O\"].fix(55388.0 * units.mol / units.m**3)\n", - " m.fs.equil.inlet.conc_mol_comp[0, \"NaOH\"].fix(100.0 * units.mol / units.m**3)\n", - " m.fs.equil.inlet.conc_mol_comp[0, \"EthylAcetate\"].fix(\n", - " 100.0 * units.mol / units.m**3\n", - " )\n", - " m.fs.equil.inlet.conc_mol_comp[0, \"SodiumAcetate\"].fix(0.0 * units.mol / units.m**3)\n", - " m.fs.equil.inlet.conc_mol_comp[0, \"Ethanol\"].fix(0.0 * units.mol / units.m**3)\n", - "\n", - " m.fs.equil.inlet.temperature[0].fix(303.15 * units.K)\n", - " m.fs.equil.inlet.pressure[0].fix(101325.0 * units.Pa)\n", - "\n", - " m.fs.equil.heat_duty.fix(0 * units.W)\n", - " m.fs.equil.deltaP.fix(0 * units.Pa)\n", - "\n", - " initializer = BlockTriangularizationInitializer()\n", - " initializer.initialize(m.fs.equil)\n", - "\n", - " return m" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Before we move on to try to solve the model or develop a ``Scaler``, we should first check to make sure the model is well-posed and that there are not any structural issues that will prevent us from solving the model. The code below creates an instance of the IDAES Diagnostics Toolbox and runs the ``report_structural_issues`` method to ensure there are no warnings." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 5 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 16 (External: 0)\n", - " Free Variables with only lower bounds: 6\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 10 (External: 0)\n", - " Activated Equality Constraints: 16 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 Cautions\n", - "\n", - " Caution: 4 variables fixed to 0\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " Try to initialize/solve your model and then call report_numerical_issues()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "m = build_model()\n", - "\n", - "dt = DiagnosticsToolbox(model=m.fs.equil)\n", - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "# Make sure base model is constructed properly\n", - "dt.assert_no_structural_warnings()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In order to fully test our new ``Scaler`` it is also useful to test how the model responds to perturbations in the state. In many ways, this is the real test of a scaling routine as it is easy to write something that gets good scaling for a known state (e.g., auto-scalers), but what we really need is a routine that can get good scaling across a range of conditions.\n", - "\n", - "The cell below creates a function that perturbs the state of our model significantly. Note that the volumetric flowrate has been increased by two orders of magnitude, the inlet concentrations have changed significantly, and we have also made a small change to the temperature." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.core.solvers import get_solver\n", - "\n", - "solver = get_solver(\n", - " \"ipopt_v2\", writer_config={\"scale_model\": True, \"linear_presolve\": True}\n", - ")\n", - "\n", - "\n", - "def perturb_model(m):\n", - " m.fs.equil.inlet.flow_vol.fix(1 * units.m**3 / units.s)\n", - " m.fs.equil.inlet.conc_mol_comp[0, \"NaOH\"].fix(200.0 * units.mol / units.m**3)\n", - " m.fs.equil.inlet.conc_mol_comp[0, \"EthylAcetate\"].fix(\n", - " 100.0 * units.mol / units.m**3\n", - " )\n", - " m.fs.equil.inlet.conc_mol_comp[0, \"SodiumAcetate\"].fix(50 * units.mol / units.m**3)\n", - " m.fs.equil.inlet.conc_mol_comp[0, \"Ethanol\"].fix(1e-8 * units.mol / units.m**3)\n", - "\n", - " m.fs.equil.inlet.temperature.fix(320 * units.K)\n", - " solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Lets apply this perturbation to our example model and see how well it solves." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: linear_solver=ma57\n", - "max_iter=200\n", - "nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma57.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 21\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 9\n", - "\n", - "Total number of variables............................: 8\n", - " variables with only lower bounds: 5\n", - " variables with lower and upper bounds: 1\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 8\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 9.09e+07 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "Reallocating memory for MA57: lfact (247)\n", - " 1r 0.0000000e+00 9.09e+07 9.99e+02 2.5 0.00e+00 - 0.00e+00 7.73e-09R 9\n", - " 2r 0.0000000e+00 8.42e+07 8.24e+03 2.5 7.20e+02 - 1.64e-02 2.59e-02f 1\n", - " 3r 0.0000000e+00 8.37e+07 7.72e+03 1.8 8.82e+04 - 5.56e-04 3.77e-05f 1\n", - " 4r 0.0000000e+00 3.76e+07 2.65e+04 1.8 1.13e+03 0.0 1.27e-01 1.63e-01f 1\n", - " 5r 0.0000000e+00 3.60e+07 2.30e+04 1.8 6.83e+01 1.3 7.53e-02 1.45e-01f 1\n", - " 6r 0.0000000e+00 4.17e+07 1.77e+04 1.8 2.10e+02 0.9 7.11e-02 1.47e-01f 1\n", - " 7r 0.0000000e+00 4.08e+07 1.75e+04 1.8 3.95e+02 0.4 2.35e-01 8.19e-03f 1\n", - " 8r 0.0000000e+00 3.13e+07 1.75e+04 1.8 1.12e+03 -0.1 3.57e-01 3.16e-02f 1\n", - " 9r 0.0000000e+00 7.77e+06 1.74e+04 1.8 1.00e+04 - 1.43e-02 9.06e-03f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10r 0.0000000e+00 7.36e+06 1.70e+04 1.8 2.14e+02 - 2.20e-01 2.38e-02f 1\n", - " 11r 0.0000000e+00 5.93e+06 1.67e+04 1.8 1.72e+02 - 7.89e-01 1.95e-01f 1\n", - " 12r 0.0000000e+00 1.54e+06 3.54e+04 1.8 1.06e+02 - 8.80e-01 7.41e-01f 1\n", - " 13r 0.0000000e+00 1.21e+06 2.79e+04 1.8 4.60e+00 - 1.00e+00 2.12e-01h 1\n", - " 14r 0.0000000e+00 3.31e+03 4.79e+01 1.8 2.39e+00 - 1.00e+00 1.00e+00f 1\n", - " 15r 0.0000000e+00 2.85e+03 7.72e+02 -0.2 2.01e+00 - 9.81e-01 9.09e-01f 1\n", - " 16r 0.0000000e+00 2.47e+03 6.60e+02 -0.2 9.87e-01 - 1.00e+00 1.48e-01f 1\n", - " 17r 0.0000000e+00 3.18e-01 8.47e+01 -0.2 1.39e-01 - 1.00e+00 1.00e+00f 1\n", - " 18r 0.0000000e+00 3.18e-01 6.25e+01 -0.2 1.96e-01 - 1.00e+00 1.00e+00f 1\n", - " 19r 0.0000000e+00 3.18e-01 5.46e+00 -0.2 3.26e-02 - 1.00e+00 1.00e+00h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 20r 0.0000000e+00 3.18e-01 1.44e+02 -1.6 2.34e-01 - 1.00e+00 1.00e+00f 1\n", - " 21r 0.0000000e+00 3.18e-01 1.45e+01 -1.6 9.26e-02 - 9.13e-01 1.00e+00f 1\n", - " 22r 0.0000000e+00 3.18e-01 1.46e+01 -1.6 1.71e-01 - 1.00e+00 1.25e-01f 4\n", - " 23r 0.0000000e+00 3.18e-01 1.44e+01 -1.6 1.24e-01 - 1.00e+00 1.56e-02h 7\n", - " 24r 0.0000000e+00 3.18e-01 1.41e+01 -1.6 1.27e-01 - 1.00e+00 1.56e-02h 7\n", - " 25r 0.0000000e+00 3.18e-01 1.39e+01 -1.6 1.24e-01 - 1.00e+00 1.56e-02h 7\n", - " 26r 0.0000000e+00 3.18e-01 1.37e+01 -1.6 1.22e-01 - 1.00e+00 1.56e-02h 7\n", - " 27r 0.0000000e+00 3.18e-01 1.35e+01 -1.6 1.20e-01 - 1.00e+00 1.56e-02h 7\n", - " 28r 0.0000000e+00 3.18e-01 1.33e+01 -1.6 1.18e-01 - 1.00e+00 1.56e-02h 7\n", - " 29r 0.0000000e+00 3.18e-01 1.31e+01 -1.6 1.17e-01 - 1.00e+00 1.56e-02h 7\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 30r 0.0000000e+00 3.18e-01 1.29e+01 -1.6 1.15e-01 - 1.00e+00 1.56e-02h 7\n", - " 31r 0.0000000e+00 3.18e-01 1.28e+01 -1.6 1.13e-01 - 1.00e+00 1.56e-02h 7\n", - " 32r 0.0000000e+00 3.18e-01 4.28e+01 -1.6 1.11e-01 - 1.00e+00 1.00e+00w 1\n", - " 33r 0.0000000e+00 3.18e-01 1.43e-03 -1.6 2.09e-05 - 1.00e+00 1.00e+00w 1\n", - " 34r 0.0000000e+00 3.18e-01 1.37e+01 -3.7 6.94e-02 - 1.00e+00 1.00e+00f 1\n", - " 35r 0.0000000e+00 3.17e-01 3.73e+04 -3.7 3.39e+00 - 1.44e-01 1.00e+00f 1\n", - " 36r 0.0000000e+00 3.17e-01 6.78e+03 -3.7 5.99e-01 - 1.00e+00 1.00e+00f 1\n", - " 37r 0.0000000e+00 3.17e-01 7.66e+00 -3.7 4.92e-03 - 1.00e+00 1.00e+00h 1\n", - " 38r 0.0000000e+00 3.17e-01 1.65e-04 -3.7 9.43e-05 - 1.00e+00 1.00e+00h 1\n", - " 39r 0.0000000e+00 3.17e-01 1.30e+00 -5.6 9.94e-04 - 1.00e+00 1.00e+00f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 40r 0.0000000e+00 3.11e-01 6.82e+04 -5.6 3.21e+01 - 1.41e-01 1.00e+00f 1\n", - " 41r 0.0000000e+00 3.11e-01 1.17e+01 -5.6 4.97e-03 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 41\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 2.2783833299154238e-01 2.2783833299154238e-01\n", - "Constraint violation....: 3.1132475345243688e-01 3.1132475345243688e-01\n", - "Complementarity.........: 2.7808801399127131e-06 2.7808801399127131e-06\n", - "Overall NLP error.......: 3.1132475345243688e-01 3.1132475345243688e-01\n", - "\n", - "\n", - "Number of objective function evaluations = 109\n", - "Number of objective gradient evaluations = 3\n", - "Number of equality constraint evaluations = 109\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 44\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 42\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.008\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Converged to a point of local infeasibility. Problem may be infeasible.\n" - ] - } - ], - "source": [ - "perturb_model(m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As can be seen from the solver logs, IPOPT was unable to find a feasible solution to this problem, and went into restoration from the first iteration. However, there is no reason the perturbed conditions should not be feasible (you can verify this with the `infeasibility_explainer` in the Diagnostics Toolbox if you desire).\n", - "\n", - "There are a few reasons for this, most of which can be resolved by providing better scaling for the model. One of the reasons is because we have a number of concentrations approaching zero which results in a number of very small numbers appearing in the problem.\n", - "\n", - "A bigger issue however is the fact that in our initial model we are feeding reactants in stoichiometric amounts (1:1) meaning that both reactant concentrations go to zero at equilibrium. This results in the Jacobian for the reaction rate constraint becoming singular; with `rate = K_rxn * [NaOH] * [EthylAcetate]` if both concentrations go to zero then the partial derivative of the reaction rate with respect to each concentration is also 0, and thus our solver has no idea of what direction to move when trying to converge the problem. Whilst scaling can help work around this, this is ultimately an indication that our problem is not well formulated. In practice, an Equilibrium reactor model is not well suited for systems involving irreversible rate-based reactions as it requires concentrations to be driven to zero, and is an especially poor choice for stoichiometric feeds." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Step 2: Understanding the Model\n", - "\n", - "Now that we have a test case (or multiple test cases), we can start planning out the new scaling routine. As our goal is to estimate scaling factors for as many of the variables and constraints in the model as possible, the first step is to understand what variables and constraints may be present in the model. Note that we need to be careful to check for all variables and constraints that may exist under different configuration options, and not just those that appear in the our test case(s).\n", - "\n", - "Given the modular nature of IDAES, we need to also make a distinction between those variables and constraints we have direct knowledge of, and those that are created via modular sub-models that we do not know the details of. The most common examples of modular sub-models are the ``StateBlocks`` and ``ReactionBlocks`` created by the associated property packages; we know that these exist and we create these in our models, but we do not know what variables and constraints they may construct. On the other hand, we also have variables and constraints that we construct directly in our model. For the purposes of this we include those variables and constraints constructed by ``ControlVolumes`` as being directly construed; whilst the ``ControlVolume`` might automate the details for us, we directly call methods on the ``ControlVolume`` to create these variables and constraints and we know what they will be based on the instructions we give.\n", - "\n", - "For our example of the ``EquilibriumReactor``, let us take a look at the code in the ``build`` method, which has been copied below for convenience:" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "def build(self):\n", - " \"\"\"\n", - " Begin building model.\n", - "\n", - " Args:\n", - " None\n", - "\n", - " Returns:\n", - " None\n", - " \"\"\"\n", - " # Call UnitModel.build to setup dynamics\n", - " super(EquilibriumReactorData, self).build()\n", - "\n", - " # Build Control Volume\n", - " self.control_volume = ControlVolume0DBlock(\n", - " dynamic=self.config.dynamic, # Config block forces this to be False\n", - " has_holdup=self.config.has_holdup, # Config block forces this to be False\n", - " property_package=self.config.property_package,\n", - " property_package_args=self.config.property_package_args,\n", - " reaction_package=self.config.reaction_package,\n", - " reaction_package_args=self.config.reaction_package_args,\n", - " )\n", - "\n", - " # No need for control volume geometry\n", - "\n", - " self.control_volume.add_state_blocks(\n", - " has_phase_equilibrium=self.config.has_phase_equilibrium\n", - " )\n", - "\n", - " self.control_volume.add_reaction_blocks(\n", - " has_equilibrium=self.config.has_equilibrium_reactions\n", - " )\n", - "\n", - " self.control_volume.add_material_balances(\n", - " balance_type=self.config.material_balance_type,\n", - " has_rate_reactions=self.config.has_rate_reactions,\n", - " has_equilibrium_reactions=self.config.has_equilibrium_reactions,\n", - " has_phase_equilibrium=self.config.has_phase_equilibrium,\n", - " )\n", - "\n", - " self.control_volume.add_energy_balances(\n", - " balance_type=self.config.energy_balance_type,\n", - " has_heat_of_reaction=self.config.has_heat_of_reaction,\n", - " has_heat_transfer=self.config.has_heat_transfer,\n", - " )\n", - "\n", - " self.control_volume.add_momentum_balances(\n", - " balance_type=self.config.momentum_balance_type,\n", - " has_pressure_change=self.config.has_pressure_change,\n", - " )\n", - "\n", - " # Add Ports\n", - " self.add_inlet_port()\n", - " self.add_outlet_port()\n", - "\n", - " if self.config.has_rate_reactions:\n", - " # Add equilibrium reactor performance equation\n", - " @self.Constraint(\n", - " self.flowsheet().time,\n", - " self.config.reaction_package.rate_reaction_idx,\n", - " doc=\"Rate reaction equilibrium constraint\",\n", - " )\n", - " def rate_reaction_constraint(b, t, r):\n", - " # Set kinetic reaction rates to zero\n", - " return b.control_volume.reactions[t].reaction_rate[r] == 0\n", - "\n", - " # Set references to balance terms at unit level\n", - " if (\n", - " self.config.has_heat_transfer is True\n", - " and self.config.energy_balance_type != EnergyBalanceType.none\n", - " ):\n", - " self.heat_duty = Reference(self.control_volume.heat[:])\n", - "\n", - " if (\n", - " self.config.has_pressure_change is True\n", - " and self.config.momentum_balance_type != MomentumBalanceType.none\n", - " ):\n", - " self.deltaP = Reference(self.control_volume.deltaP[:])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "If we look through the code in the ``build`` method, we can see that the model contains a single 0D Control Volume with ``StateBlocks``, a ``ReactionBlock``, material, energy and momentum balances and one additional constraint (``rate_reaction_constraint``). Thus, we have the following components that need to be scaled:\n", - "\n", - "3 Sub-Models:\n", - "\n", - "1. The inlet state sub-model (``model.control_volume.properties_in``)\n", - "2. The outlet state sub-model (``model.control_volume.properties_out``)\n", - "3. The reaction sub-model (``model.control_volume.reactions``)\n", - "\n", - "Unit Model Variables (from control volume options):\n", - "\n", - "1. Rate-based reaction extent and generation terms\n", - "2. Equilibrium-based reaction extent and generation terms\n", - "3. Inherent reaction extent and generation terms (no explicit argument, but determined by properties)\n", - "4. Phase equilibrium generation terms\n", - "5. Energy balance heat term\n", - "6. Energy balance heats of reaction\n", - "7. Pressure drop\n", - "\n", - "Unit Model Constraints (from control volume + 1 in the ``build`` method):\n", - "\n", - "1. Material balance constraints\n", - "2. Reaction stoichiometry constraints\n", - "3. Energy balance constraints\n", - "4. Pressure balance constraints\n", - "5. ``rate_reaction_constraint``\n", - "\n", - "When writing our ``Scaler`` we will need to consider all of these to determine how best to estimate scaling factors. Before starting however, we should check the numerical diagnostics for each case study, both to see what scaling issues currently exist and to establish a baseline for comparison once we have a proposed ``Scaler`` for our model.\n", - "\n", - "The cell below calls the ``report_numerical_issues`` method for the unscaled test case." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 1.540E+12\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 WARNINGS\n", - "\n", - " WARNING: 1 Constraint with large residuals (>1.0E-05)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "7 Cautions\n", - "\n", - " Caution: 1 Variable with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 6 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 4 Variables with extreme value (<1.0E-04 or >1.0E+04)\n", - " Caution: 1 Constraint with mismatched terms\n", - " Caution: 3 Variables with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 2 Constraints with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 6 extreme Jacobian Entries (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_constraints_with_large_residuals()\n", - " compute_infeasibility_explanation()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.report_numerical_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Looking at the results of the diagnostics, we can see that the test case is not particularly well scaled. The Jacobian condition number is rather large (1e12), and the diagnostics are reporting a number of variables with extremely large or small values, and 3 variables and 2 constraints with poorly scaled Jacobians. As we develop our new ``Scaler`` for the ``EquilibriumReactor`` we will hopefully see these improve.\n", - "\n", - "We can also use the Diagnostics Toolbox to further explore these issues to get a better idea of which variables and constraints might be causing issues. For example, lets display the set of variables and constraints with extreme Jacobian norms." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following variable(s) are associated with extreme Jacobian values (<1.0E-04 or>1.0E+04):\n", - "\n", - " fs.equil.control_volume.properties_out[0.0].flow_vol: 9.427E+07\n", - " fs.equil.control_volume.properties_out[0.0].temperature: 4.172E+06\n", - " fs.equil.control_volume.rate_reaction_extent[0.0,R1]: 4.900E+04\n", - "\n", - "====================================================================================\n", - "====================================================================================\n", - "The following constraint(s) are associated with extreme Jacobian values (<1.0E-04 or>1.0E+04):\n", - "\n", - " fs.equil.control_volume.enthalpy_balances[0.0]: 9.436E+07\n", - " fs.equil.control_volume.material_balances[0.0,Liq,H2O]: 5.539E+04\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.display_variables_with_extreme_jacobians()\n", - "dt.display_constraints_with_extreme_jacobians()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "These diagnostics can help give us an idea of what may be causing problems in our model. From the output above, we can see that the variables with large Jacobian norms (i.e., high sensitivities) are the outlet flow rate and temperature, as well as the rate-based extent of reaction. We can also see that the constraints with large Jacobian norms are the enthalpy balance and H20 material balance for the reactor. However, caution must be used when interpreting these in isolation, as understanding what these mean is often complicated and initial impressions may be misleading. To get a better picture of what is contributing to extreme Jacobian values you should make use of the tools in the diagnostics ``SVDToolbox``, however that is a topic for another example.\n", - "\n", - "For example, one might wonder why the volumetric flow rate at the outlet of the reactor is so important as it is effectively determined by the inlet flow rate (due to the water balance effectively conserving volume). However, it is important to remember that the Jacobian does not consider the value of the variable, but rather its partial derivatives. Thus, it is important to compare the list of variables and constraints with large Jacobian norms and think about how those intersect.\n", - "\n", - "Let's start by taking a look at the H2O material balance. The cell below prints the constraint expression in a compact form that only shows top level ``Expressions`` rather than expanding these to show the full expression tree." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "fs.equil.control_volume.properties_in[0.0].flow_vol*fs.equil.control_volume.properties_in[0.0].conc_mol_comp[H2O] - fs.equil.control_volume.properties_out[0.0].flow_vol*fs.equil.control_volume.properties_out[0.0].conc_mol_comp[H2O] + fs.equil.control_volume.rate_reaction_generation[0.0,Liq,H2O] == 0" - ] - } - ], - "source": [ - "from idaes.core.util.misc import print_compact_form\n", - "\n", - "print_compact_form(m.fs.equil.control_volume.material_balances[0, \"Liq\", \"H2O\"])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Looking at how the outlet volumetric flowrate appears in the H2O balance equation above, it can be seen that the volumetric flow term is multiplied by the molar concentration of water, $F \\times C_{H2O}$. Whilst $C_{H2O}$ is assumed to be constant in this model (and equal to the molar density of pure water at ambient conditions), this means that the partial derivative of the constraint term with respect to flow is $\\frac{\\partial F C_{H2O}}{\\partial F} = C_{H2O}$; given that $C_{H2O}$ is equal to 5.5E4 mol/liter, you can quickly see why it is being identified as an issue.\n", - "\n", - "If we look at the energy balance, we will find that it is similar." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "fs.properties.dens_mol*fs.properties.cp_mol*fs.equil.control_volume.properties_in[0.0].flow_vol*(fs.equil.control_volume.properties_in[0.0].temperature - fs.properties.temperature_ref) - fs.properties.dens_mol*fs.properties.cp_mol*fs.equil.control_volume.properties_out[0.0].flow_vol*(fs.equil.control_volume.properties_out[0.0].temperature - fs.properties.temperature_ref) + fs.equil.control_volume.heat[0.0] + fs.equil.control_volume.heat_of_reaction[0.0] == 0" - ] - } - ], - "source": [ - "print_compact_form(m.fs.equil.control_volume.enthalpy_balances[0.0])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Whilst a bit harder to read due to the size of the constraint, you can see that it involves the term $\\rho \\times c_p \\times F \\times (T - T_{ref})$, where $c_p$ is the specific molar heat capacity of the solution, $T$ is temperature and $T_{ref}$ is the reference temperature. Given that $\\rho$ is of order 1E4 (a) and $c_p \\times (T-T_{ref})$ is of order 1E3, this means that the partial derivative with respect to the volumetric flowrate is even larger than that for the H2O balance. This also explains the appearance of the outlet temperature as well, as we can see that it is multiplied by a number of large values as well and thus has a large partial derivative.\n", - "\n", - "It is also important to mention that having a large value in the Jacobian does not mean a variable is \"important\" (and conversely a small value is not unimportant). What is important is how sensitive the constraint residual is to that change in variable, which is often difficult to assess from the Jacobian alone (which is where the ``SVDToolbox`` can assist).\n", - "\n", - "\n", - "## Step 3: Creating a New Scaler Class\n", - "\n", - "To create a new scaling routine for the equilibrium reactor, we start by creating a new ``Scaler`` class which inherits from the ``CustomScalerBase`` class in ``idaes.core.scaling``. The ``CustomScalerBase`` class contains a number of useful methods to help us in developing our scaling routine, including some placeholder methods for implementing a standard scaling workflow and helper methods for doing common tasks.\n", - "\n", - "The cell below shows how to create our new class which we will name ``EquilibriumReactorScaler`` as well as two key methods we will fill out as part of this workshop." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.core.scaling import CustomScalerBase\n", - "\n", - "\n", - "class EquilibriumReactorScaler(CustomScalerBase):\n", - " def variable_scaling_routine(\n", - " self, model, overwrite: bool = False, submodel_scalers: dict = None\n", - " ):\n", - " # Empty method for now\n", - " pass\n", - "\n", - " def constraint_scaling_routine(\n", - " self, model, overwrite: bool = False, submodel_scalers: dict = None\n", - " ):\n", - " # Empty method for now\n", - " pass" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The ``variable_scaling_routine`` and ``constraint_scaling_routine`` methods are used to implement subroutines for scaling the variables and constraints in the model respectively. Separately, there is a ``scale_model`` method that will call each of these in sequence in order to scale an entire model by applying the following steps:\n", - "\n", - "1. apply variable scaling routine,\n", - "2. apply first stage scaling fill-in,\n", - "3. apply constraint scaling routine,\n", - "4. apply second stage scaling fill-in.\n", - "\n", - "The second and fourth steps are intended to allow users to provide methods to fill in missing scaling information that was not provided by the first and second steps, or to provide a way to update the scaling factors with more information.\n", - "\n", - "Both the ``variable_scaling_routine`` and ``constraint_scaling_routine`` are user-facing methods and take three arguments.\n", - "\n", - "1. The model to be scaled.\n", - "2. An argument indicating whether to overwrite any existing scaling factors. Generally we assume that any existing scaling factors were provided by the user for a reason, so by default we set this to ``False``. However, there will likely be cases where a user wants to overwrite their existing scaling factors so this argument exists to let us pass on those instructions.\n", - "3. A mapping of user-provided ``Scalers`` to use when scaling submodels.\n", - "\n", - "## Step 4: Apply Scaling to Sub-Models\n", - "\n", - "First, lets look at how to scale the property and reaction sub-models. As these are modular packages, we do not know what variables and constraints may be in them, so we cannot (and should not) scale any of these directly. However, we can (hopefully) assume that there are ``Scalers`` available for these sub-models, either through default ``Scalers`` associated with the property packages or provided by the user. Thus, what we want to do here is to call the variable and constraint scaling routines from the ``Scaler`` associated with each sub-model, which we can do using the ``call_submodel_scaler_method`` method from the ``CustomScalerBase`` class.\n", - "\n", - "The cell below prints the doc-string for the ``call_submodel_scaler_method`` method so we can see what the expected arguments are." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Help on function call_submodel_scaler_method in module idaes.core.scaling.custom_scaler_base:\n", - "\n", - "call_submodel_scaler_method(self, submodel, method: str, submodel_scalers: pyomo.common.collections.component_map.ComponentMap = None, overwrite: bool = False)\n", - " Call scaling method for submodel.\n", - " \n", - " Scaler for submodel is taken from submodel_scalers if present, otherwise the\n", - " default scaler for the submodel is used.\n", - " \n", - " Args:\n", - " submodel: submodel to be scaled\n", - " submodel_scalers: user provided ComponentMap of Scalers to use for submodels\n", - " method: name of method to call from submodel (as string)\n", - " overwrite: whether to overwrite existing scaling factors\n", - " \n", - " Returns:\n", - " None\n", - "\n" - ] - } - ], - "source": [ - "help(CustomScalerBase.call_submodel_scaler_method)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can see that ``call_submodel_scaler_method`` takes 4 arguments:\n", - "\n", - "1. ``submodel`` is the submodel we want to scale. \n", - "2. The ``submodel_scalers`` argument should be passed through from the ``variable_scaling_routine`` or ``constraint_scaling_routine`` method.\n", - "3. The name of the method we want to call from the ``Scaler`` when we get it - this will normally be either ``variable_scaling_routine`` (if we are scaling variables) or ``constraint_scaling_routine`` (if we are doing constraints).\n", - "4. The ``overwrite`` argument should also be passed through from the ``variable_scaling_routine`` or ``constraint_scaling_routine`` method.\n", - "\n", - "For the Equilibrium Reactor, we have three submodels to scale; inlet state, outlet state and reactions. As mentioned in the introduction, when developing scaling routines always start with the things you have the most information about. In this case, we likely know the most about the inlet state; either it is a defined feed state (like in our test case) or we have some idea of the state (and scaling) from propagating values from an upstream operation. So, to apply variable scaling to the inlet state we would do the following:\n", - "\n", - "```python\n", - "self.call_submodel_scaler_method(\n", - " submodel=model.control_volume.properties_in,\n", - " method=\"variable_scaling_routine\",\n", - " submodel_scalers=submodel_scalers,\n", - " overwrite=overwrite,\n", - ")\n", - "```\n", - "\n", - "Once we have an idea of scaling for the inlet we can use that information to try to estimate scaling for the outlet state. The default assumption is that the scaling of the outlet will be similar to that of the inlet, so the easy path is to copy scaling from the inlet state to the outlet. However, we know that something must change between inlet and outlet (as otherwise this unit operation is doing nothing) so we should always stop and think about whether we can try to estimate these changes. For example, in a pressure changer we know, or be able to estimate, the pressure change across the unit and thus be able to change the scaling of pressure between the inlet and outlet. However, keep in mind that over-scaling can make things worse so be judicious when deciding whether to adjust scaling based on estimates.\n", - "\n", - "In regards to this, Equilibrium Reactors are one of the more challenging units to scale, as it is very hard to know what the outlet flows and concentrations will be without knowing what the reactions are (and even if you know the reactions it is often hard to know the equilibrium state). In most cases, we have no reliable way to estimate the outlet flowrate and concentrations, so this is best left to the user to provide. In the case of temperature and pressure, whilst we may expect these to change but any change will generally be 1-2 orders of magnitude less than the inlet state and thus the overall scale of these will likely remain similar. Thus, for the Equilibrium Reactor it is probably sufficient to just scale the outlet state based on the inlet state.\n", - "\n", - "The ``CustomScalerBase`` class has a method for propagating scaling factors for state variables from one state to another called ``propagate_state_scaling`` as see below." - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Help on function propagate_state_scaling in module idaes.core.scaling.custom_scaler_base:\n", - "\n", - "propagate_state_scaling(self, target_state, source_state, overwrite: bool = False)\n", - " Propagate scaling of state variables from one StateBlock to another.\n", - " \n", - " Indexing of target and source StateBlocks must match.\n", - " \n", - " Args:\n", - " target_state: StateBlock to set scaling factors on\n", - " source_state: StateBlock to use as source for scaling factors\n", - " overwrite: whether to overwrite existing scaling factors\n", - " \n", - " Returns:\n", - " None\n", - "\n" - ] - } - ], - "source": [ - "help(CustomScalerBase.propagate_state_scaling)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Here we can see that ``propagate_state_scaling`` takes three arguments; the ``StateBlock`` we want to apply scaling to, the ``StateBlock`` we want to use as the source for the scaling factors, and the ``overwrite`` argument. Thus, we can propagate scaling from the inlet state to the outlet state as shown below.\n", - "\n", - "```python\n", - "self.propagate_state_scaling(\n", - " target_state=model.control_volume.properties_out,\n", - " source_state=model.control_volume.properties_in,\n", - " overwrite=overwrite,\n", - ")\n", - "```\n", - "\n", - "This only propagates scaling factors for the state variables, however, so we should then call the ``Scaler`` for the outlet state block to scale any remaining variables and constraints (which will hopefully make use of the scaling factors for the state variables we just propagated).\n", - "\n", - "We can then move on to scaling the ``ReactionBlock``. ``ReactionBlocks`` are slightly unusual in that they rely heavily on the state variables defined in a separate ``StateBlock`` - in this case the outlet state block. As we just applied a ``Scaler`` to the outlet state block, we can assume that all of the necessary variables have been scaled so all we need to do now is call a ``Scaler`` for the ``ReactionBlock``.\n", - "\n", - "All of this is shown in the cell below." - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "class EquilibriumReactorScaler(CustomScalerBase):\n", - " def variable_scaling_routine(\n", - " self, model, overwrite: bool = False, submodel_scalers: dict = None\n", - " ):\n", - " # Call scaling methods for sub-models\n", - " self.call_submodel_scaler_method(\n", - " submodel=model.control_volume.properties_in,\n", - " method=\"variable_scaling_routine\",\n", - " submodel_scalers=submodel_scalers,\n", - " overwrite=overwrite,\n", - " )\n", - " self.propagate_state_scaling(\n", - " target_state=model.control_volume.properties_out,\n", - " source_state=model.control_volume.properties_in,\n", - " overwrite=overwrite,\n", - " )\n", - "\n", - " self.call_submodel_scaler_method(\n", - " submodel=model.control_volume.properties_out,\n", - " method=\"variable_scaling_routine\",\n", - " submodel_scalers=submodel_scalers,\n", - " overwrite=overwrite,\n", - " )\n", - " self.call_submodel_scaler_method(\n", - " submodel=model.control_volume.reactions,\n", - " method=\"variable_scaling_routine\",\n", - " submodel_scalers=submodel_scalers,\n", - " overwrite=overwrite,\n", - " )\n", - "\n", - " def constraint_scaling_routine(\n", - " self, model, overwrite: bool = False, submodel_scalers: dict = None\n", - " ):\n", - " # Empty method for now\n", - " pass" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can then take a similar approach for the constraint scaling routine as shown below. Note that there is no need for a propagation step here as the residual of a constraint is derived from the value of the variables (which we handled in the variable scaling step)." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "class EquilibriumReactorScaler(CustomScalerBase):\n", - " def variable_scaling_routine(\n", - " self, model, overwrite: bool = False, submodel_scalers: dict = None\n", - " ):\n", - " # Call scaling methods for sub-models\n", - " self.call_submodel_scaler_method(\n", - " submodel=model.control_volume.properties_in,\n", - " method=\"variable_scaling_routine\",\n", - " submodel_scalers=submodel_scalers,\n", - " overwrite=overwrite,\n", - " )\n", - " self.propagate_state_scaling(\n", - " target_state=model.control_volume.properties_out,\n", - " source_state=model.control_volume.properties_in,\n", - " overwrite=overwrite,\n", - " )\n", - "\n", - " self.call_submodel_scaler_method(\n", - " submodel=model.control_volume.properties_out,\n", - " method=\"variable_scaling_routine\",\n", - " submodel_scalers=submodel_scalers,\n", - " overwrite=overwrite,\n", - " )\n", - " self.call_submodel_scaler_method(\n", - " submodel=model.control_volume.reactions,\n", - " method=\"variable_scaling_routine\",\n", - " submodel_scalers=submodel_scalers,\n", - " overwrite=overwrite,\n", - " )\n", - "\n", - " def constraint_scaling_routine(\n", - " self, model, overwrite: bool = False, submodel_scalers: dict = None\n", - " ):\n", - " # Call scaling methods for sub-models\n", - " self.call_submodel_scaler_method(\n", - " submodel=model.control_volume.properties_in,\n", - " method=\"constraint_scaling_routine\",\n", - " submodel_scalers=submodel_scalers,\n", - " overwrite=overwrite,\n", - " )\n", - " self.call_submodel_scaler_method(\n", - " submodel=model.control_volume.properties_out,\n", - " method=\"constraint_scaling_routine\",\n", - " submodel_scalers=submodel_scalers,\n", - " overwrite=overwrite,\n", - " )\n", - " self.call_submodel_scaler_method(\n", - " submodel=model.control_volume.reactions,\n", - " method=\"constraint_scaling_routine\",\n", - " submodel_scalers=submodel_scalers,\n", - " overwrite=overwrite,\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Lets do a quick check to see if our new scaler works and how it has affected the model scaling. The cell below creates a function that builds a new instance of the model (to avoid contamination from previous model runs then creates an instance of our new scaler and applies it to the model. We then solve the scaled model (adding scaling changes constraint residuals so we want to solve to the scaled state). Finally, the function prints a report of the scaling factors in the model and calls the ``report_numerical_issues`` method from the Diagnostics Toolbox." - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.environ import check_optimal_termination, TransformationFactory\n", - "\n", - "from idaes.core.scaling import report_scaling_factors\n", - "\n", - "\n", - "def check_scaling(tee=False):\n", - " # Build new instance of model\n", - " m = build_model()\n", - "\n", - " # Apply scaler to model\n", - " scaler = EquilibriumReactorScaler()\n", - " scaler.scale_model(m.fs.equil)\n", - "\n", - " # Solve scaled model\n", - " results = solver.solve(m, tee=tee)\n", - " if check_optimal_termination(results):\n", - " print(\"\\nModel Solved\\n\")\n", - " else:\n", - " print(\"\\nModel Failed to Converge!\\n\")\n", - "\n", - " # Print report of scaling factors\n", - " report_scaling_factors(m.fs.equil, descend_into=True)\n", - "\n", - " # Show numerical issues report\n", - " sm = TransformationFactory(\"core.scale_model\").create_using(m, rename=False)\n", - "\n", - " dt = DiagnosticsToolbox(model=sm.fs.equil)\n", - " dt.report_numerical_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Lets run the ``check_scaling`` function and see how the model scaling has changed." - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Model Solved\n", - "\n", - "Scaling Factors for fs.equil\n", - "\n", - "Variable Scaling Factor Value Scaled Value\n", - "fs.equil.control_volume.properties_in[0.0].flow_vol 1.000E+02 1.000E-03 1.000E-01\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[H2O] 1.000E-04 5.539E+04 5.539E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[NaOH] 1.000E-02 1.000E+02 1.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[EthylAcetate] 1.000E-02 1.000E+02 1.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[SodiumAcetate] 1.000E-02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[Ethanol] 1.000E-02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].temperature 3.219E-03 3.031E+02 9.759E-01\n", - "fs.equil.control_volume.properties_in[0.0].pressure 1.000E-05 1.013E+05 1.013E+00\n", - "fs.equil.control_volume.properties_out[0.0].flow_vol 1.000E+02 1.000E-03 1.000E-01\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[H2O] 1.000E-04 5.539E+04 5.539E+00\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[NaOH] 1.000E-02 6.250E-02 6.250E-04\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[EthylAcetate] 1.000E-02 6.250E-02 6.250E-04\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[SodiumAcetate] 1.000E-02 9.994E+01 9.994E-01\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[Ethanol] 1.000E-02 9.994E+01 9.994E-01\n", - "fs.equil.control_volume.properties_out[0.0].temperature 3.219E-03 3.043E+02 9.796E-01\n", - "fs.equil.control_volume.properties_out[0.0].pressure 1.000E-05 1.013E+05 1.013E+00\n", - "fs.equil.control_volume.heat[0.0] None 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.deltaP[0.0] None 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,H2O] None 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,NaOH] None -9.994E-02 -9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,EthylAcetate] None -9.994E-02 -9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,SodiumAcetate] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,Ethanol] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.rate_reaction_extent[0.0,R1] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.reactions[0.0].reaction_rate[R1] 1.000E+02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.reactions[0.0].k_rxn 5.424E+00 1.304E-01 7.075E-01\n", - "\n", - "Constraint Scaling Factor\n", - "fs.equil.rate_reaction_constraint[0.0,R1] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,H2O] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,NaOH] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,EthylAcetate] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,SodiumAcetate] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,Ethanol] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,H2O] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,NaOH] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,EthylAcetate] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,SodiumAcetate] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,Ethanol] None\n", - "fs.equil.control_volume.enthalpy_balances[0.0] None\n", - "fs.equil.control_volume.pressure_balance[0.0] None\n", - "fs.equil.control_volume.properties_out[0.0].conc_water_eqn 1.000E-04\n", - "fs.equil.control_volume.reactions[0.0].rate_expression[R1] 5.424E-04\n", - "fs.equil.control_volume.reactions[0.0].arrhenius_eqn 5.424E+00\n", - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 3.022E+09\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 WARNINGS\n", - "\n", - " WARNING: 2 Variables at or outside bounds (tol=0.0E+00)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "5 Cautions\n", - "\n", - " Caution: 2 Variables with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 6 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 4 Variables with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 2 Constraints with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 6 extreme Jacobian Entries (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_variables_at_or_outside_bounds()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "check_scaling()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "From the scaling factor report, we can see that by calling the submodel scalers we have already scaled many of the variables in our problem, as well as three of the constraints. If we look at the \"Scaled Value\" column for the variables, we can also see that most of the scaled values are close to 1 (the few outliers might be things we want to look into more later on).\n", - "\n", - "From the numerical diagnostics, we can see that the Jacobian condition number has decreased by a few orders of magnitude, although it is still large, whilst we still have a number of potential issues with individual variables and constraints. All up though, this appears to be a step in the right direction." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Step 5: Apply Variable Scaling\n", - "\n", - "Next, we need to look at scaling the variables and constraints that make up the unit model itself. From a conceptual standpoint, it is generally easiest to start with the variables as we generally have at least some idea of the magnitude of these.\n", - "\n", - "For the equilibrium reactor, we have the following variables we need to scale:\n", - "\n", - "1. Rate-based reaction extent and generation terms\n", - "2. Equilibrium-based reaction extent and generation terms\n", - "3. Inherent reaction extent and generation terms\n", - "4. Phase equilibrium generation terms\n", - "5. Energy balance heat term\n", - "6. Energy balance heats of reaction\n", - "7. Pressure drop\n", - "\n", - "Many of these are hard to know a priori - anything related to a reaction is very hard to know without knowing the reaction behavior. Considering that the equilibrium reactor is modular, we have little to no way of knowing these in the general case (and even in the specific test case it is hard enough). We can assume that the reaction package will scale all of its variables (i.e., rate and equilibrium constants, and reaction rates), however it is hard to project these to unit model scaling.\n", - "\n", - "For a CSTR we can say that ``extent = volume*rate`` and thus estimate scaling, but this does not work for equilibrium systems where 1) volume is undefined, 2) reaction rate at the outlet state is being driven to zero to satisfy equilibrium, and 3) extent is solved implicitly to satisfy the need for reaction rate to equal zero.\n", - "\n", - "Considering that a bad guess is often worse than no guess, we will not scale these right now - it is important to remember that our goal is to improve the overall scaling so if we do not know how to scale something it is generally best to leave it unscaled. We might come back to these later if necessary, but for now we will leave these either for the user to provide based on knowledge of their system, or for automated fill-in using some autoscaler.\n", - "\n", - "For the heat and deltaP terms, these are dependent on extensive variables in each case study and we have no way of knowing their exact values. However, we can probably take a good guess at order-of-magnitude using engineering knowledge; heat duties are generally approximately one order of magnitude smaller than the enthalpy flows,\n", - "and pressure drops are generally on the order of 0.1 bar.\n", - "\n", - "To apply scaling for the pressure drop term, we can make use of the ``scale_variable_by_units`` method in ``CustomScalerBase``. This method looks up the units of measurement for the variable, and then loops in the class attribute ``UNIT_SCALING_FACTORS`` dictionary to find an equivalent unit for the quantity of interest and an associated scaling factor. If a scaling factor is found, it is converted as necessary; e.g., in this case pressure is defined in ``Pa`` but we can set the default scaling factor in ``bar`` and it will be converted as appropriate. The code required to do this is below.\n", - "\n", - "```python\n", - "UNIT_SCALING_FACTORS = {\n", - " # \"QuantityName: (reference units, scaling factor)\n", - " \"Pressure Change\": (units.bar, 10),\n", - "}\n", - "\n", - "def variable_scaling_routine(*args, **kwargs):\n", - " if hasattr(model.control_volume, \"deltaP\"):\n", - " for t in model.flowsheet().time:\n", - " self.scale_variable_by_units(\n", - " model.control_volume.deltaP[t],\n", - " overwrite=overwrite\n", - " )\n", - "```\n", - "\n", - "There are a few things to note here:\n", - "\n", - "1. As we expect the pressure drop to be on the order of 0.1 bar, we need to set a scaling factor of 10 for quantities with units of pressure. Also note that the key ``\"Pressure Change\"`` is for documentation purposes only and is not actually used by the code (but must be there). \n", - "\n", - "
\n", - "NOTE We cannot distinguish between different quantities with the same apparent units (e.g., we cannot distinguish between an absolute pressure and a pressure change).\n", - "
\n", - "\n", - "2. Note that scaling is applied to elements of indexed components and not to the indexed component as a whole, and thus we need to use a ``for`` loop to iterate over the time index. This is done to force modelers to consider how the scaling of a variable or constraint will vary over the indexed domain, and try to discourage automatically setting a single scaling factor for all points.\n", - "3. Pressure change is a configuration argument in our unit model, and thus may not be present in all cases. Therefore, we need the ``hasattr`` check to see if we need to scale ``deltaP`` or not.\n", - "\n", - "For the case of the heat duty, we want to scale based on the incoming enthalpy flow which means we first need to get the expected magnitude of the enthalpy flow. For that, we can use the ``get_expression_nominal_values`` method in ``CustomScalerBase`` which uses an expression walker to go through an expression to return a list of the expected magnitude (or nominal value) of all additive terms in the expression based on the scaling factors for the variables involved.\n", - "\n", - "We can get an expression for the enthalpy flow term using the ``get_enthalpy_flow_terms`` method from the associated ``StateBlock``. We should assume this expression might contain multiple terms, so we should sum all the values returned to get the overall magnitude of the enthalpy flow term. Once we have this, we can then get the scaling factor for the heat duty by ``sf = abs(1/(0.1*enthalpy_flow))`` - note that the tools insist on scaling factors being positive (for sanity) and thus we need the absolute value here in case enthalpy flow is negative (which is not uncommon for enthalpy). The code to do this is shown below.\n", - "\n", - "```python\n", - "if hasattr(model.control_volume, \"heat\"):\n", - " for t in model.flowsheet().time:\n", - " h_in = 0\n", - " for p in model.control_volume.properties_in.phase_list:\n", - " # The expression for enthalpy flow might include multiple terms,\n", - " # so we will sum over all the terms provided\n", - " h_in += sum(\n", - " self.get_expression_nominal_values(\n", - " model.control_volume.properties_in[t].get_enthalpy_flow_terms(p)\n", - " )\n", - " )\n", - " # Scale for heat is general one order of magnitude less than enthalpy flow\n", - " self.set_variable_scaling_factor(model.control_volume.heat[t], abs(1 / (0.1 * h_in)))\n", - "```\n", - "\n", - "Putting all of this together results in the code below for our ``EquilibriumReactorScaler`` class." - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.environ import units\n", - "\n", - "\n", - "class EquilibriumReactorScaler(CustomScalerBase):\n", - " # =======================================================================================\n", - " # New Code\n", - " UNIT_SCALING_FACTORS = {\n", - " # \"QuantityName: (reference units, scaling factor)\n", - " \"Pressure Change\": (units.bar, 10),\n", - " }\n", - " # =======================================================================================\n", - "\n", - " def variable_scaling_routine(\n", - " self, model, overwrite: bool = False, submodel_scalers: dict = None\n", - " ):\n", - " # Call scaling methods for sub-models\n", - " self.call_submodel_scaler_method(\n", - " submodel=model.control_volume.properties_in,\n", - " method=\"variable_scaling_routine\",\n", - " submodel_scalers=submodel_scalers,\n", - " overwrite=overwrite,\n", - " )\n", - " self.propagate_state_scaling(\n", - " target_state=model.control_volume.properties_out,\n", - " source_state=model.control_volume.properties_in,\n", - " overwrite=overwrite,\n", - " )\n", - "\n", - " self.call_submodel_scaler_method(\n", - " submodel=model.control_volume.properties_out,\n", - " method=\"variable_scaling_routine\",\n", - " submodel_scalers=submodel_scalers,\n", - " overwrite=overwrite,\n", - " )\n", - " self.call_submodel_scaler_method(\n", - " submodel=model.control_volume.reactions,\n", - " method=\"variable_scaling_routine\",\n", - " submodel_scalers=submodel_scalers,\n", - " overwrite=overwrite,\n", - " )\n", - "\n", - " # =======================================================================================\n", - " # New Code\n", - "\n", - " # Pressure drop - optional\n", - " if hasattr(model.control_volume, \"deltaP\"):\n", - " for t in model.flowsheet().time:\n", - " self.scale_variable_by_units(\n", - " model.control_volume.deltaP[t], overwrite=overwrite\n", - " )\n", - "\n", - " # Heat transfer - optional\n", - " # Scale heat based on enthalpy flow entering reactor\n", - " if hasattr(model.control_volume, \"heat\"):\n", - " for t in model.flowsheet().time:\n", - " h_in = 0\n", - " for p in model.control_volume.properties_in.phase_list:\n", - " # The expression for enthalpy flow might include multiple terms,\n", - " # so we will sum over all the terms provided\n", - " h_in += sum(\n", - " self.get_expression_nominal_values(\n", - " model.control_volume.properties_in[\n", - " t\n", - " ].get_enthalpy_flow_terms(p)\n", - " )\n", - " )\n", - " # Scale for heat is generally one order of magnitude less than enthalpy flow\n", - " self.set_variable_scaling_factor(\n", - " model.control_volume.heat[t], abs(1 / (0.1 * h_in))\n", - " )\n", - " # =======================================================================================\n", - "\n", - " def constraint_scaling_routine(\n", - " self, model, overwrite: bool = False, submodel_scalers: dict = None\n", - " ):\n", - " # Call scaling methods for sub-models\n", - " self.call_submodel_scaler_method(\n", - " submodel=model.control_volume.properties_in,\n", - " method=\"constraint_scaling_routine\",\n", - " submodel_scalers=submodel_scalers,\n", - " overwrite=overwrite,\n", - " )\n", - " self.call_submodel_scaler_method(\n", - " submodel=model.control_volume.properties_out,\n", - " method=\"constraint_scaling_routine\",\n", - " submodel_scalers=submodel_scalers,\n", - " overwrite=overwrite,\n", - " )\n", - " self.call_submodel_scaler_method(\n", - " submodel=model.control_volume.reactions,\n", - " method=\"constraint_scaling_routine\",\n", - " submodel_scalers=submodel_scalers,\n", - " overwrite=overwrite,\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Once again, lets run the ``check_scaling`` function and see how we are going." - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Model Solved\n", - "\n", - "Scaling Factors for fs.equil\n", - "\n", - "Variable Scaling Factor Value Scaled Value\n", - "fs.equil.control_volume.properties_in[0.0].flow_vol 1.000E+02 1.000E-03 1.000E-01\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[H2O] 1.000E-04 5.539E+04 5.539E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[NaOH] 1.000E-02 1.000E+02 1.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[EthylAcetate] 1.000E-02 1.000E+02 1.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[SodiumAcetate] 1.000E-02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[Ethanol] 1.000E-02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].temperature 3.219E-03 3.031E+02 9.759E-01\n", - "fs.equil.control_volume.properties_in[0.0].pressure 1.000E-05 1.013E+05 1.013E+00\n", - "fs.equil.control_volume.properties_out[0.0].flow_vol 1.000E+02 1.000E-03 1.000E-01\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[H2O] 1.000E-04 5.539E+04 5.539E+00\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[NaOH] 1.000E-02 6.250E-02 6.250E-04\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[EthylAcetate] 1.000E-02 6.250E-02 6.250E-04\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[SodiumAcetate] 1.000E-02 9.994E+01 9.994E-01\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[Ethanol] 1.000E-02 9.994E+01 9.994E-01\n", - "fs.equil.control_volume.properties_out[0.0].temperature 3.219E-03 3.043E+02 9.796E-01\n", - "fs.equil.control_volume.properties_out[0.0].pressure 1.000E-05 1.013E+05 1.013E+00\n", - "fs.equil.control_volume.heat[0.0] 4.794E-04 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.deltaP[0.0] 1.000E-04 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,H2O] None 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,NaOH] None -9.994E-02 -9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,EthylAcetate] None -9.994E-02 -9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,SodiumAcetate] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,Ethanol] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.rate_reaction_extent[0.0,R1] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.reactions[0.0].reaction_rate[R1] 1.000E+02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.reactions[0.0].k_rxn 5.424E+00 1.304E-01 7.075E-01\n", - "\n", - "Constraint Scaling Factor\n", - "fs.equil.rate_reaction_constraint[0.0,R1] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,H2O] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,NaOH] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,EthylAcetate] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,SodiumAcetate] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,Ethanol] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,H2O] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,NaOH] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,EthylAcetate] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,SodiumAcetate] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,Ethanol] None\n", - "fs.equil.control_volume.enthalpy_balances[0.0] None\n", - "fs.equil.control_volume.pressure_balance[0.0] None\n", - "fs.equil.control_volume.properties_out[0.0].conc_water_eqn 1.000E-04\n", - "fs.equil.control_volume.reactions[0.0].rate_expression[R1] 5.424E-04\n", - "fs.equil.control_volume.reactions[0.0].arrhenius_eqn 5.424E+00\n", - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 3.022E+09\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 WARNINGS\n", - "\n", - " WARNING: 2 Variables at or outside bounds (tol=0.0E+00)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "5 Cautions\n", - "\n", - " Caution: 2 Variables with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 6 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 4 Variables with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 2 Constraints with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 6 extreme Jacobian Entries (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_variables_at_or_outside_bounds()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "check_scaling()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Our updates have resulted in scaling factors for ``heat`` and ``deltaP`` appearing in the scaling report which is good, but comparing the diagnostics from the previous step we can see that the Jacobian condition number has not changed. Does this mean we did something wrong?\n", - "\n", - "The answer is no - when we add a scaling factor to a variable, wherever that variable appears in a constraint it is replaced with ``sf*v_scaled``. Given that ``v_scaled = v/sf``, this means that for variables which only appear linearly in constraints then the partial derivative with respect to the scaled variable does not change either; thus the Jacobian is unaffected by scaling only the linear variables. In the case of this example, it turns out that almost all the variables appear linearly and thus we see no change in the Jacobian condition number.\n", - "\n", - "
\n", - "NOTE It is important to note that partial scaling of a model (e.g., variables only) can often appear worse than that of the unscaled model. Generally, it is best to wait until you have scaled both variables and constraints to make a decision on whether your attempts at scaling have made the problem better or worse, and you should not be discouraged if things look worse while in an intermediate state.\n", - "
\n", - "\n", - "\n", - "## Step 6: Apply Constraint Scaling\n", - "\n", - "Now that we have scaled all the variables that we can (for now at least), we can move on to scaling constraints. The advantage of scaling all the variables first means that now we have an idea of the expected magnitude for all terms in the constraints which we can use to estimate scaling factors. For the Equilibrium reactor model, we need to scale all the constraints in the control volume, as well as the unit level constraint equating all reaction rates to zero.\n", - "\n", - "There are many approaches to estimating scaling for constraints, and different approaches are better suited to certain situations. ``CustomScalerBase`` contains a ``scale_constraint_by_nominal_value`` method which can be used to automatically implement a number of common approaches to save you the effort of having to manually implement these yourself. As of writing, the approaches (or schemes) supported are:\n", - "\n", - "1. ``ConstraintScalingScheme.inverseMaximum`` - scale the constraint based on the term with the largest absolute expected magnitude. This is scheme is useful for cases where most terms have similar magnitudes and is a good initial point to start.\n", - "2. ``ConstraintScalingScheme.inverseMinimum`` - scale the constraint based on the term with the smallest absolute expected magnitude. This scheme is similar to the inverse maximum scheme and is useful for cases where you have a constraint with a number of smaller terms mixed with a few larger terms, or cases where the smaller term is expected to be most significant. This scheme should be used carefully however as it can result in large scaling factors making convergence of larger terms difficult.\n", - "3. ``ConstraintScalingScheme.harmonicMean`` - scale the constraint using the harmonic mean of the absolute expected magnitude of all terms (``sf = sum(1/abs(nominal value))``). This scheme is most useful when you have a constraint with terms with a mix of expected magnitudes where you need to find a balance between the large and small terms.\n", - "4. ``ConstraintScalingScheme.inverseSum`` - scale the constraint using the sum of the absolute expected magnitudes of all terms. Situationally useful for cases with terms of mixed magnitudes.\n", - "5. ``ConstraintScalingScheme.inverseRSS`` - scale the constraint using the root sum of squares of the absolute expected magnitudes of all terms. Situationally useful for cases with terms of mixed magnitudes.\n", - "\n", - "``CustomScalerBase`` also contains a ``scale_constraint_by_nominal_derivative_norm`` method that can scale a constraint based on an estimate of the Jacobian norm associated with that constraint which can be useful for cases where you want to focus on the Jacobian scaling.\n", - "\n", - "
\n", - "NOTE The solver you intend to use may impact which approach provides the best scaling for a given model. For example, IPOPT has very good internal Jacobian scaling (when using the `gradient-based` scaling option), and thus benefits the most from focusing on scaling the constraint residual magnitudes as opposed to the Jacobian.\n", - "
\n", - "\n", - "For this workshop, we will start by just using ``ConstraintScalingScheme.inverseMaximum`` to get a starting point and to see if further scaling is required. We can apply this scheme to scale all the constraints in the control volume using the code below.\n", - "\n", - "```python\n", - "for c in model.control_volume.component_data_objects(\n", - " Constraint, descend_into=False\n", - "):\n", - " self.scale_constraint_by_nominal_value(\n", - " c,\n", - " scheme=ConstraintScalingScheme.inverseMaximum,\n", - " overwrite=overwrite,\n", - " )\n", - "```\n", - "\n", - "Adding this and a similar approach to scale the unit level constraint gives us the code below for our ``EquilibriumreactorScaler`` class." - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.core.scaling import ConstraintScalingScheme\n", - "\n", - "\n", - "class EquilibriumReactorScaler(CustomScalerBase):\n", - " UNIT_SCALING_FACTORS = {\n", - " # \"QuantityName: (reference units, scaling factor)\n", - " \"Pressure Change\": (units.bar, 10),\n", - " }\n", - "\n", - " def variable_scaling_routine(\n", - " self, model, overwrite: bool = False, submodel_scalers: dict = None\n", - " ):\n", - " # Call scaling methods for sub-models\n", - " self.call_submodel_scaler_method(\n", - " submodel=model.control_volume.properties_in,\n", - " method=\"variable_scaling_routine\",\n", - " submodel_scalers=submodel_scalers,\n", - " overwrite=overwrite,\n", - " )\n", - " self.propagate_state_scaling(\n", - " target_state=model.control_volume.properties_out,\n", - " source_state=model.control_volume.properties_in,\n", - " overwrite=overwrite,\n", - " )\n", - "\n", - " self.call_submodel_scaler_method(\n", - " submodel=model.control_volume.properties_out,\n", - " method=\"variable_scaling_routine\",\n", - " submodel_scalers=submodel_scalers,\n", - " overwrite=overwrite,\n", - " )\n", - " self.call_submodel_scaler_method(\n", - " submodel=model.control_volume.reactions,\n", - " method=\"variable_scaling_routine\",\n", - " submodel_scalers=submodel_scalers,\n", - " overwrite=overwrite,\n", - " )\n", - "\n", - " # Pressure drop - optional\n", - " if hasattr(model.control_volume, \"deltaP\"):\n", - " for t in model.flowsheet().time:\n", - " self.scale_variable_by_units(\n", - " model.control_volume.deltaP[t], overwrite=overwrite\n", - " )\n", - "\n", - " # Heat transfer - optional\n", - " # Scale heat based on enthalpy flow entering reactor\n", - " if hasattr(model.control_volume, \"heat\"):\n", - " for t in model.flowsheet().time:\n", - " h_in = 0\n", - " for p in model.control_volume.properties_in.phase_list:\n", - " # The expression for enthalpy flow might include multiple terms,\n", - " # so we will sum over all the terms provided\n", - " h_in += sum(\n", - " self.get_expression_nominal_values(\n", - " model.control_volume.properties_in[\n", - " t\n", - " ].get_enthalpy_flow_terms(p)\n", - " )\n", - " )\n", - " # Scale for heat is generally one order of magnitude less than enthalpy flow\n", - " self.set_variable_scaling_factor(\n", - " model.control_volume.heat[t], abs(1 / (0.1 * h_in))\n", - " )\n", - "\n", - " def constraint_scaling_routine(\n", - " self, model, overwrite: bool = False, submodel_scalers: dict = None\n", - " ):\n", - " # Call scaling methods for sub-models\n", - " self.call_submodel_scaler_method(\n", - " submodel=model.control_volume.properties_in,\n", - " method=\"constraint_scaling_routine\",\n", - " submodel_scalers=submodel_scalers,\n", - " overwrite=overwrite,\n", - " )\n", - " self.call_submodel_scaler_method(\n", - " submodel=model.control_volume.properties_out,\n", - " method=\"constraint_scaling_routine\",\n", - " submodel_scalers=submodel_scalers,\n", - " overwrite=overwrite,\n", - " )\n", - " self.call_submodel_scaler_method(\n", - " submodel=model.control_volume.reactions,\n", - " method=\"constraint_scaling_routine\",\n", - " submodel_scalers=submodel_scalers,\n", - " overwrite=overwrite,\n", - " )\n", - "\n", - " # =======================================================================================\n", - " # New Code\n", - " # Scale control volume constraints\n", - " for c in model.control_volume.component_data_objects(\n", - " Constraint, descend_into=False\n", - " ):\n", - " self.scale_constraint_by_nominal_value(\n", - " c,\n", - " scheme=ConstraintScalingScheme.inverseMaximum,\n", - " overwrite=overwrite,\n", - " )\n", - "\n", - " # Scale unit level constraints\n", - " if hasattr(model, \"rate_reaction_constraint\"):\n", - " for c in model.rate_reaction_constraint.values():\n", - " self.scale_constraint_by_nominal_value(\n", - " c,\n", - " scheme=ConstraintScalingScheme.inverseMaximum,\n", - " overwrite=overwrite,\n", - " )\n", - " # =======================================================================================" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Once again, let us use the ``check_scaling`` function to see how our ``Scaler`` performs." - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Model Solved\n", - "\n", - "Scaling Factors for fs.equil\n", - "\n", - "Variable Scaling Factor Value Scaled Value\n", - "fs.equil.control_volume.properties_in[0.0].flow_vol 1.000E+02 1.000E-03 1.000E-01\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[H2O] 1.000E-04 5.539E+04 5.539E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[NaOH] 1.000E-02 1.000E+02 1.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[EthylAcetate] 1.000E-02 1.000E+02 1.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[SodiumAcetate] 1.000E-02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[Ethanol] 1.000E-02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].temperature 3.219E-03 3.031E+02 9.759E-01\n", - "fs.equil.control_volume.properties_in[0.0].pressure 1.000E-05 1.013E+05 1.013E+00\n", - "fs.equil.control_volume.properties_out[0.0].flow_vol 1.000E+02 1.000E-03 1.000E-01\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[H2O] 1.000E-04 5.539E+04 5.539E+00\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[NaOH] 1.000E-02 6.250E-02 6.250E-04\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[EthylAcetate] 1.000E-02 6.250E-02 6.250E-04\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[SodiumAcetate] 1.000E-02 9.994E+01 9.994E-01\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[Ethanol] 1.000E-02 9.994E+01 9.994E-01\n", - "fs.equil.control_volume.properties_out[0.0].temperature 3.219E-03 3.043E+02 9.796E-01\n", - "fs.equil.control_volume.properties_out[0.0].pressure 1.000E-05 1.013E+05 1.013E+00\n", - "fs.equil.control_volume.heat[0.0] 4.794E-04 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.deltaP[0.0] 1.000E-04 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,H2O] None 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,NaOH] None -9.994E-02 -9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,EthylAcetate] None -9.994E-02 -9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,SodiumAcetate] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,Ethanol] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.rate_reaction_extent[0.0,R1] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.reactions[0.0].reaction_rate[R1] 1.000E+02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.reactions[0.0].k_rxn 5.424E+00 1.304E-01 7.075E-01\n", - "\n", - "Constraint Scaling Factor\n", - "fs.equil.rate_reaction_constraint[0.0,R1] 1.000E+02\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,H2O] 1.000E+00\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,NaOH] 1.000E+01\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,EthylAcetate] 1.000E+01\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,SodiumAcetate] 1.000E+01\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,Ethanol] 1.000E+01\n", - "fs.equil.control_volume.material_balances[0.0,Liq,H2O] 1.000E-02\n", - "fs.equil.control_volume.material_balances[0.0,Liq,NaOH] 1.000E+00\n", - "fs.equil.control_volume.material_balances[0.0,Liq,EthylAcetate] 1.000E+00\n", - "fs.equil.control_volume.material_balances[0.0,Liq,SodiumAcetate] 1.000E+00\n", - "fs.equil.control_volume.material_balances[0.0,Liq,Ethanol] 1.000E+00\n", - "fs.equil.control_volume.enthalpy_balances[0.0] 7.715E-08\n", - "fs.equil.control_volume.pressure_balance[0.0] 9.869E-06\n", - "fs.equil.control_volume.properties_out[0.0].conc_water_eqn 1.000E-04\n", - "fs.equil.control_volume.reactions[0.0].rate_expression[R1] 5.424E-04\n", - "fs.equil.control_volume.reactions[0.0].arrhenius_eqn 5.424E+00\n", - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 7.182E+04\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 WARNINGS\n", - "\n", - " WARNING: 2 Variables at or outside bounds (tol=0.0E+00)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "3 Cautions\n", - "\n", - " Caution: 2 Variables with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 6 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 2 extreme Jacobian Entries (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_variables_at_or_outside_bounds()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "check_scaling()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "From the results of ``check_scaling`` we can see that we now have scaling factors for almost all the variables and constraints in the model (the only exceptions being the reaction related variables we left unscaled earlier). More importantly, we can see that the Jacobian condition number is now down to ``7.2E4`` from the original ``1.5E12`` which is an impressive improvement (and for not a lot of effort on our part). We can also see that the numerical diagnostics are no longer reporting any variables or constraints with extreme Jacobians (there are 2 individual entries that are a bit large, but it appears they are not having a big impact on the condition number).\n", - "\n", - "We do see that there are a number of variables with values close to ``0`` which we should be wary of, but in this case it is due to the case study we are using. Here we are using an equilibrium reactor to drive a rate-based reaction to completion, which necessitates that at least one reactant have a concentration of zero as well as the reaction rate for all reactions. Thus, for this case these are unavoidable. As mentioned earlier, we really should be asking whether an Equilibrium Reactor is well suited for the reaction model we have here, and a Stoichiometric Reactor would probably have been a better choice (or a better reaction package which use reversible reactions with equilibrium).\n", - "\n", - "\n", - "## Step 7: Review Scaling Routine\n", - "\n", - "We now have a new ``Scaler`` for an equilibrium reactor that uses the modular nature of IDAES to implement a general purpose scaling routine (or so we hope at least). So, does this mean we are done?\n", - "\n", - "No, or not yet at least.\n", - "\n", - "We should always take a step back and ask ourselves if what we have is good enough and see if we can see any areas where we might be able to do better, or places where edge cases might exist. As a starting point, let us first see how we compare to an autoscaling routine using the model Jacobian. We can use the ``AutoScaler.scale_model`` method for this as shown below." - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'scaling_factor' that contains 10\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "\n", - "Model Solved\n", - "\n", - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 3.863E+06\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 WARNINGS\n", - "\n", - " WARNING: 2 Variables at or outside bounds (tol=0.0E+00)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "4 Cautions\n", - "\n", - " Caution: 2 Variables with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 6 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 2 Variables with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 7 extreme Jacobian Entries (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_variables_at_or_outside_bounds()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "from idaes.core.scaling import AutoScaler\n", - "\n", - "m = build_model()\n", - "\n", - "scaler = EquilibriumReactorScaler()\n", - "autoscaler = AutoScaler()\n", - "\n", - "autoscaler.scale_model(m)\n", - "\n", - "solver = get_solver(\n", - " \"ipopt_v2\", writer_config={\"scale_model\": True, \"linear_presolve\": True}\n", - ")\n", - "results = solver.solve(m)\n", - "\n", - "if check_optimal_termination(results):\n", - " print(\"\\nModel Solved\\n\")\n", - "else:\n", - " print(\"\\nModel Failed to Converge!\\n\")\n", - "\n", - "sm = TransformationFactory(\"core.scale_model\").create_using(m, rename=False)\n", - "\n", - "dt = DiagnosticsToolbox(model=sm.fs.equil)\n", - "dt.report_numerical_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can see that our ``EquilibriumReactorScaling`` routine actually results in a lower Jacobian condition number than the ``AutoScaler`` approach, so that is a sign we are doing things right. It is not unusual to see that we can get better scaling with a manual, magnitude based approach than an autoscaler as the autoscaler focuses solely on the Jacobian and thus often over-scales the problem.\n", - "\n", - "However, we might be able to do better by using other constraint scaling schemes, but before we start experimenting we should stop and think about what sort of scaling might make sense for each constraint. We should always also keep in the back of our minds whether additional work is worth the effort, and if we risk over-tuning the scaling for the specific property package we have.\n", - "\n", - "Fortunately, the model in this example is fairly simple and we do not have too many constraints to consider. Firstly, we have the unit-level constraint that says that `rate_reaction == 0` for all rate-based reactions. When considering scaling of a constraint we should ignore any 0 terms, thus this constraint has only 1 term and so we should scale based on this. If we use the ``scale_constraint_by_nominal_value`` method for this it will ignore the zero for us, the scheme used does not actually matter as there is only one term to consider.\n", - "\n", - "Next, we have the balance equations which all have the form `0 == In - Out + Gen` - note the equilibrium reactor does not support dynamics so we don't need to think about that. Generation terms can vary a lot, but we basically have two possible cases:\n", - "\n", - "1. one term is negligible compared to the other 2, so we should scale based on one of the significant\n", - "terms, or\n", - "2. all three terms are of similar significance (e.g., inlet and gen are of similar scale and outlet\n", - "is ~inletx2). Here we could scale based on the harmonic mean, by the maximum term is probably not bad either.\n", - "\n", - "So, in short the maximum magnitude is probably the best general-purpose scale for these constraints.\n", - "\n", - "Finally, we have stoichiometric constraints with the form `G[j, r] == n[j, r]*X[r]` where ``G`` is generation, ``X`` is extent and ``n`` is the stoichiometric coefficient (i.e., a constant) - these are simple ``A=B`` constraints, so scaling by maximum magnitude is equivalent to other methods (as there are only two terms which will take the same value, all schemes will give the same result in the end).\n", - "\n", - "So, for the equilibrium reactor at least, we are probably best leaving things as they are.\n", - "\n", - "However, there is one important test left. The whole purpose of a scaling routine is to allow us to perturb the model and solve it at the new state so we should test to confirm that our new ``Scaler`` has improved the performance of our solver when solving for the perturbed state we tried earlier. This also lets us see how the new ``Scaler`` will look for a user trying to apply the tool, which we can see below." - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: linear_solver=ma57\n", - "max_iter=200\n", - "nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma57.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 21\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 9\n", - "\n", - "Total number of variables............................: 8\n", - " variables with only lower bounds: 5\n", - " variables with lower and upper bounds: 1\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 8\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 5.53e+02 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "Reallocating memory for MA57: lfact (247)\n", - " 1 0.0000000e+00 5.53e+02 1.20e+00 -1.0 9.95e+02 - 2.00e-05 1.96e-05h 1\n", - " 2 0.0000000e+00 5.53e+02 1.20e+00 -1.0 9.57e+02 - 2.06e-05 2.00e-05h 1\n", - " 3 0.0000000e+00 5.53e+02 7.36e+01 -1.0 9.25e+02 - 4.36e-04 4.06e-05h 1\n", - " 4 0.0000000e+00 5.53e+02 3.34e+05 -1.0 8.55e+02 - 2.41e-04 1.21e-03f 1\n", - " 5 0.0000000e+00 5.40e+02 6.59e+03 -1.0 9.98e+01 - 2.25e-04 2.34e-02f 1\n", - " 6 0.0000000e+00 5.24e+02 1.11e+08 -1.0 9.74e+01 - 2.54e-02 2.84e-02f 1\n", - " 7 0.0000000e+00 2.36e+02 2.03e+06 -1.0 9.47e+01 - 7.09e-02 5.49e-01h 1\n", - " 8 0.0000000e+00 8.62e+01 6.37e+10 -1.0 4.27e+01 - 8.23e-03 6.35e-01h 1\n", - " 9 0.0000000e+00 1.96e+00 4.93e+10 -1.0 1.56e+01 - 1.00e+00 1.00e+00h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 0.0000000e+00 2.05e-04 2.15e+09 -1.0 3.70e-02 - 1.00e+00 1.00e+00h 1\n", - " 11 0.0000000e+00 6.28e-15 2.56e+05 -1.0 2.05e-04 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 11\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 6.2780236478193237e-15 6.2780236478193237e-15\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 6.2780236478193237e-15 6.2780236478193237e-15\n", - "\n", - "\n", - "Number of objective function evaluations = 12\n", - "Number of objective gradient evaluations = 12\n", - "Number of equality constraint evaluations = 12\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 12\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 11\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], - "source": [ - "m = build_model()\n", - "\n", - "scaler = EquilibriumReactorScaler()\n", - "scaler.scale_model(m.fs.equil)\n", - "\n", - "perturb_model(m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can see that by applying our new ``EquilibriumReactorScaler`` we are now able to use IPOPT to solve for the perturbation, and that it reaches an optimal solution in 11 iterations. Looking at the solver logs we can see that the solver step lengths (``alpha_du`` and ``alpha_pr``) are rather small for the first iterations but the number of line searches (``ls``) is 1 for all iterations. This indicates that IPOPT is pushing up against some bound or constraint and cannot make full steps, but in this case it is due to the fact that to achieve equilibrium for an irreversible reaction at least one concentration must be driven to zero (and is why an EquibriumReactor is probably not a good choice for this test case). However, the fact that our ``Scaler`` let us solve for this challenging test case is probably a good sign.\n", - "\n", - "\n", - "## Step 8: Finishing Up\n", - "\n", - "Ideally, we would have more than one test case to apply our ``Scaler`` to put it through its paces and ensure it is robust across a wide range of conditions. However, for the purposes of this workshop we will move on.\n", - "\n", - "Once you are satisfied that your ``Scaler`` is ready, you can start applying it to actual problems of interest. For those modelers developing new unit and property models, you should assign your new ``Scaler`` as the default scaler for that unit model. You can do this by setting the ``default_scaler`` attribute on your model to point to the new ``Scaler`` as shown below.\n", - "\n", - "```python\n", - "@declare_process_block_class(\"EquilibriumReactor\")\n", - "class EquilibriumReactorData(UnitModelBlockData):\n", - " \"\"\"\n", - " Standard Equilibrium Reactor Unit Model Class\n", - " \"\"\"\n", - "\n", - " # Setting the default_scaler attribute\n", - " default_scaler = EquilibriumReactorScaler\n", - "```\n", - "\n", - "With that, we have finished this workshop on developing ``Scaler`` classes. Hopefully you now know enough to begin writing ``Scalers`` for your own models, and have gained some insight into how to think about developing scaling routines and the tools available to help you." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.5" - } + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] }, - "nbformat": 4, - "nbformat_minor": 3 + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# How to Create Scaler Objects in IDAES\n", + "\n", + "Author: Andrew Lee\n", + "Maintainer: Doug Allan\n", + "Updated: 2024-10-24\n", + "\n", + "## Introduction\n", + "\n", + "
\n", + "NOTE All the suggestions in this introduction should be viewed as \"rules-of-thumb\" and not taken as absolute guidance. There are many cases where alternative approaches may give as-good or better results and you should always consider the meaning of the scaling factors you are applying and how they affect the solver's behavior. \n", + "
\n", + "\n", + "Solving general non-linear problems has always been challenging, and is highly dependent on how well scaled the model is. In many cases, as much time (or more) is spent trying to improve the model formulation and scaling as was spent writing the original model. To assist molders with this task, IDAES has implemented a Scaling Toolbox which contains a number of useful tools for common scaling techniques as well as a standard interface and form for how to write scaling routines.\n", + "\n", + "The goal of this workshop is to take you through the process of writing a general-purpose, modular scaling routine for an equilibrium reactor example. By the end of this exercise you should:\n", + "\n", + "* understand the ``CustomScalerBase`` class and how to apply the tools it contains,\n", + "* understand how to use ``CustomScalerBase`` to set up a modular scaling routine for a model,\n", + "* understand how to use the Diagnostics Toolbox to check for scaling issues in a model.\n", + "\n", + "## How to Write a Scaling Routine\n", + "\n", + "
The golden rule when developing a scaling routine to a model is to always think about what you are doing and why. Bad scaling is often worse than no scaling at all, so assigning arbitrary scaling factors should be avoided. Always start by taking the time to look over the model you want to scale and understand what variables and constraints are present. For variables, you should ask yourself what the expected range of magnitudes will be; assigning an arbitrary default value should be avoided. For constraints you should ask yourself what the expected magnitude of each additive term will be, how much these vary from each other, and which term is likely to be most significant in terms of variation (partial derivatives).
\n", + "\n", + "
\n", + "NOTE Different solvers behave in different ways, and you may find cases where tuning scaling for one solver results in worse performance for another.\n", + " \n", + "You should always consider the end-goal when writing a Scaler; if you are writing a routine for a specific application and solver then you may wish to tune the scaling factors for best performance, however if you are writing a general-purpose Scaler then you should aim for scaling that will work for a wide range of conditions and solver.\n", + "
\n", + "\n", + "Below are some general suggestions for developing scaling routines.\n", + " \n", + "* Order of magnitude estimates are generally good enough (and often better than exact values).\n", + "* Start with what you know the most about, and work out from there.\n", + "* If in doubt, start by scaling variables first, and then scale constraints based on the variable scaling.\n", + "* Be judicious when applying scaling factors for things you are uncertain about. If in doubt, leave a component unscaled and see what the model diagnostics have to say.\n", + "* Make use of the modular nature of IDAES when writing scaling routines. A unit model developer might not know the expected magnitude of the thermophysical properties they get from a property package, but there should be a scaling routine for the property package that they can call to provide these.\n", + "\n", + "
\n", + "NOTE When dealing with systems of partial differential algebraic equations (PDAEs), such as dynamic systems or those with spatial variation, it is important to consider how scaling may change across the discretized domain. In many of these types of models, you will find significant changes in scale across a small portion of the domain; for example a dynamic model of a step disturbance will show an initial equilibrium state followed by a rapid change in system conditions until a new equilibrium is established. To complicate things further, the location of this ramp can often move significantly with minor changes in system conditions, thus you should not presume that the ramp will remain in the same place.\n", + " \n", + "As a general rule, for scaling PDAE systems with significant changes, you should focus on finding a set of scaling factors that is suitable for the ramp region as this is the part of the model which will be hardest to solve.\n", + "
\n", + "\n", + "### IDAES Scaling Interface and Toolbox\n", + "\n", + "IDAES uses a class-based interface for defining scaling routines, where model developers can create ``Scaler`` objects which define a scaling routine suitable for a type of model or specific application. All models (both those in the IDAES model libraries and user-developed models) should have one or more ``Scaler`` classes defined for them that can be used to apply scaling routines to the model. To assist end-users in identifying a suitable ``Scaler`` for a model, all IDAES models have a ``default_scaler`` attribute which can be set to point to a ``Scaler`` object suitable for that model. Model developers should endeavor to create a reliable, general-purpose ``Scaler`` for each model they create and assign this as the default ``Scaler``. We will demonstrate how to do this at the end of this workshop.\n", + "\n", + "\n", + "## Step 1: Set Up Test Case(s)\n", + "\n", + "Whilst it is possible to develop a scaling routine by looking only at the model code and the resulting variables and constraints, in order to test it we will need one or more test cases to run. These test cases are important for both checking the that ``Scaler`` code runs as expected, and that it also improves the scaling of the model. The more test cases you can check against, the more confident you can be that the ``Scaler`` you have written is suitable for a wide range of applications.\n", + "\n", + "For this example we will develop a general purpose ``Scaler`` for the ``EquilibriumReactor`` model from the core IDAES model library using the saponification property and reaction packages as a test case. The code below imports the necessary packages and creates a function that will build and initialize our test case." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import ConcreteModel, Constraint, units, Var\n", + "\n", + "from idaes.core import FlowsheetBlock\n", + "from idaes.models.unit_models.equilibrium_reactor import (\n", + " EquilibriumReactor,\n", + ")\n", + "from idaes.models.properties.examples.saponification_thermo import (\n", + " SaponificationParameterBlock,\n", + ")\n", + "from idaes.models.properties.examples.saponification_reactions import (\n", + " SaponificationReactionParameterBlock,\n", + ")\n", + "from idaes.core.solvers import get_solver\n", + "from idaes.core.initialization import BlockTriangularizationInitializer\n", + "from idaes.core.util import DiagnosticsToolbox\n", + "\n", + "\n", + "def build_model():\n", + " m = ConcreteModel()\n", + " m.fs = FlowsheetBlock(dynamic=False)\n", + "\n", + " m.fs.properties = SaponificationParameterBlock()\n", + " m.fs.reactions = SaponificationReactionParameterBlock(\n", + " property_package=m.fs.properties\n", + " )\n", + "\n", + " m.fs.equil = EquilibriumReactor(\n", + " property_package=m.fs.properties,\n", + " reaction_package=m.fs.reactions,\n", + " has_equilibrium_reactions=False,\n", + " has_heat_transfer=True,\n", + " has_heat_of_reaction=True,\n", + " has_pressure_change=True,\n", + " )\n", + "\n", + " m.fs.equil.inlet.flow_vol[0].fix(1.0e-03 * units.m**3 / units.s)\n", + " m.fs.equil.inlet.conc_mol_comp[0, \"H2O\"].fix(55388.0 * units.mol / units.m**3)\n", + " m.fs.equil.inlet.conc_mol_comp[0, \"NaOH\"].fix(100.0 * units.mol / units.m**3)\n", + " m.fs.equil.inlet.conc_mol_comp[0, \"EthylAcetate\"].fix(\n", + " 100.0 * units.mol / units.m**3\n", + " )\n", + " m.fs.equil.inlet.conc_mol_comp[0, \"SodiumAcetate\"].fix(0.0 * units.mol / units.m**3)\n", + " m.fs.equil.inlet.conc_mol_comp[0, \"Ethanol\"].fix(0.0 * units.mol / units.m**3)\n", + "\n", + " m.fs.equil.inlet.temperature[0].fix(303.15 * units.K)\n", + " m.fs.equil.inlet.pressure[0].fix(101325.0 * units.Pa)\n", + "\n", + " m.fs.equil.heat_duty.fix(0 * units.W)\n", + " m.fs.equil.deltaP.fix(0 * units.Pa)\n", + "\n", + " initializer = BlockTriangularizationInitializer()\n", + " initializer.initialize(m.fs.equil)\n", + "\n", + " return m" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Before we move on to try to solve the model or develop a ``Scaler``, we should first check to make sure the model is well-posed and that there are not any structural issues that will prevent us from solving the model. The code below creates an instance of the IDAES Diagnostics Toolbox and runs the ``report_structural_issues`` method to ensure there are no warnings." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "m = build_model()\n", + "\n", + "dt = DiagnosticsToolbox(model=m.fs.equil)\n", + "dt.report_structural_issues()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# Make sure base model is constructed properly\n", + "dt.assert_no_structural_warnings()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In order to fully test our new ``Scaler`` it is also useful to test how the model responds to perturbations in the state. In many ways, this is the real test of a scaling routine as it is easy to write something that gets good scaling for a known state (e.g., auto-scalers), but what we really need is a routine that can get good scaling across a range of conditions.\n", + "\n", + "The cell below creates a function that perturbs the state of our model significantly. Note that the volumetric flowrate has been increased by two orders of magnitude, the inlet concentrations have changed significantly, and we have also made a small change to the temperature." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core.solvers import get_solver\n", + "\n", + "solver = get_solver(\n", + " \"ipopt_v2\", writer_config={\"scale_model\": True, \"linear_presolve\": True}\n", + ")\n", + "\n", + "\n", + "def perturb_model(m):\n", + " m.fs.equil.inlet.flow_vol.fix(1 * units.m**3 / units.s)\n", + " m.fs.equil.inlet.conc_mol_comp[0, \"NaOH\"].fix(200.0 * units.mol / units.m**3)\n", + " m.fs.equil.inlet.conc_mol_comp[0, \"EthylAcetate\"].fix(\n", + " 100.0 * units.mol / units.m**3\n", + " )\n", + " m.fs.equil.inlet.conc_mol_comp[0, \"SodiumAcetate\"].fix(50 * units.mol / units.m**3)\n", + " m.fs.equil.inlet.conc_mol_comp[0, \"Ethanol\"].fix(1e-8 * units.mol / units.m**3)\n", + "\n", + " m.fs.equil.inlet.temperature.fix(320 * units.K)\n", + " solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Lets apply this perturbation to our example model and see how well it solves." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "perturb_model(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As can be seen from the solver logs, IPOPT was unable to find a feasible solution to this problem, and went into restoration from the first iteration. However, there is no reason the perturbed conditions should not be feasible (you can verify this with the `infeasibility_explainer` in the Diagnostics Toolbox if you desire).\n", + "\n", + "There are a few reasons for this, most of which can be resolved by providing better scaling for the model. One of the reasons is because we have a number of concentrations approaching zero which results in a number of very small numbers appearing in the problem.\n", + "\n", + "A bigger issue however is the fact that in our initial model we are feeding reactants in stoichiometric amounts (1:1) meaning that both reactant concentrations go to zero at equilibrium. This results in the Jacobian for the reaction rate constraint becoming singular; with `rate = K_rxn * [NaOH] * [EthylAcetate]` if both concentrations go to zero then the partial derivative of the reaction rate with respect to each concentration is also 0, and thus our solver has no idea of what direction to move when trying to converge the problem. Whilst scaling can help work around this, this is ultimately an indication that our problem is not well formulated. In practice, an Equilibrium reactor model is not well suited for systems involving irreversible rate-based reactions as it requires concentrations to be driven to zero, and is an especially poor choice for stoichiometric feeds." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 2: Understanding the Model\n", + "\n", + "Now that we have a test case (or multiple test cases), we can start planning out the new scaling routine. As our goal is to estimate scaling factors for as many of the variables and constraints in the model as possible, the first step is to understand what variables and constraints may be present in the model. Note that we need to be careful to check for all variables and constraints that may exist under different configuration options, and not just those that appear in the our test case(s).\n", + "\n", + "Given the modular nature of IDAES, we need to also make a distinction between those variables and constraints we have direct knowledge of, and those that are created via modular sub-models that we do not know the details of. The most common examples of modular sub-models are the ``StateBlocks`` and ``ReactionBlocks`` created by the associated property packages; we know that these exist and we create these in our models, but we do not know what variables and constraints they may construct. On the other hand, we also have variables and constraints that we construct directly in our model. For the purposes of this we include those variables and constraints constructed by ``ControlVolumes`` as being directly construed; whilst the ``ControlVolume`` might automate the details for us, we directly call methods on the ``ControlVolume`` to create these variables and constraints and we know what they will be based on the instructions we give.\n", + "\n", + "For our example of the ``EquilibriumReactor``, let us take a look at the code in the ``build`` method, which has been copied below for convenience:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "def build(self):\n", + " \"\"\"\n", + " Begin building model.\n", + "\n", + " Args:\n", + " None\n", + "\n", + " Returns:\n", + " None\n", + " \"\"\"\n", + " # Call UnitModel.build to setup dynamics\n", + " super(EquilibriumReactorData, self).build()\n", + "\n", + " # Build Control Volume\n", + " self.control_volume = ControlVolume0DBlock(\n", + " dynamic=self.config.dynamic, # Config block forces this to be False\n", + " has_holdup=self.config.has_holdup, # Config block forces this to be False\n", + " property_package=self.config.property_package,\n", + " property_package_args=self.config.property_package_args,\n", + " reaction_package=self.config.reaction_package,\n", + " reaction_package_args=self.config.reaction_package_args,\n", + " )\n", + "\n", + " # No need for control volume geometry\n", + "\n", + " self.control_volume.add_state_blocks(\n", + " has_phase_equilibrium=self.config.has_phase_equilibrium\n", + " )\n", + "\n", + " self.control_volume.add_reaction_blocks(\n", + " has_equilibrium=self.config.has_equilibrium_reactions\n", + " )\n", + "\n", + " self.control_volume.add_material_balances(\n", + " balance_type=self.config.material_balance_type,\n", + " has_rate_reactions=self.config.has_rate_reactions,\n", + " has_equilibrium_reactions=self.config.has_equilibrium_reactions,\n", + " has_phase_equilibrium=self.config.has_phase_equilibrium,\n", + " )\n", + "\n", + " self.control_volume.add_energy_balances(\n", + " balance_type=self.config.energy_balance_type,\n", + " has_heat_of_reaction=self.config.has_heat_of_reaction,\n", + " has_heat_transfer=self.config.has_heat_transfer,\n", + " )\n", + "\n", + " self.control_volume.add_momentum_balances(\n", + " balance_type=self.config.momentum_balance_type,\n", + " has_pressure_change=self.config.has_pressure_change,\n", + " )\n", + "\n", + " # Add Ports\n", + " self.add_inlet_port()\n", + " self.add_outlet_port()\n", + "\n", + " if self.config.has_rate_reactions:\n", + " # Add equilibrium reactor performance equation\n", + " @self.Constraint(\n", + " self.flowsheet().time,\n", + " self.config.reaction_package.rate_reaction_idx,\n", + " doc=\"Rate reaction equilibrium constraint\",\n", + " )\n", + " def rate_reaction_constraint(b, t, r):\n", + " # Set kinetic reaction rates to zero\n", + " return b.control_volume.reactions[t].reaction_rate[r] == 0\n", + "\n", + " # Set references to balance terms at unit level\n", + " if (\n", + " self.config.has_heat_transfer is True\n", + " and self.config.energy_balance_type != EnergyBalanceType.none\n", + " ):\n", + " self.heat_duty = Reference(self.control_volume.heat[:])\n", + "\n", + " if (\n", + " self.config.has_pressure_change is True\n", + " and self.config.momentum_balance_type != MomentumBalanceType.none\n", + " ):\n", + " self.deltaP = Reference(self.control_volume.deltaP[:])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If we look through the code in the ``build`` method, we can see that the model contains a single 0D Control Volume with ``StateBlocks``, a ``ReactionBlock``, material, energy and momentum balances and one additional constraint (``rate_reaction_constraint``). Thus, we have the following components that need to be scaled:\n", + "\n", + "3 Sub-Models:\n", + "\n", + "1. The inlet state sub-model (``model.control_volume.properties_in``)\n", + "2. The outlet state sub-model (``model.control_volume.properties_out``)\n", + "3. The reaction sub-model (``model.control_volume.reactions``)\n", + "\n", + "Unit Model Variables (from control volume options):\n", + "\n", + "1. Rate-based reaction extent and generation terms\n", + "2. Equilibrium-based reaction extent and generation terms\n", + "3. Inherent reaction extent and generation terms (no explicit argument, but determined by properties)\n", + "4. Phase equilibrium generation terms\n", + "5. Energy balance heat term\n", + "6. Energy balance heats of reaction\n", + "7. Pressure drop\n", + "\n", + "Unit Model Constraints (from control volume + 1 in the ``build`` method):\n", + "\n", + "1. Material balance constraints\n", + "2. Reaction stoichiometry constraints\n", + "3. Energy balance constraints\n", + "4. Pressure balance constraints\n", + "5. ``rate_reaction_constraint``\n", + "\n", + "When writing our ``Scaler`` we will need to consider all of these to determine how best to estimate scaling factors. Before starting however, we should check the numerical diagnostics for each case study, both to see what scaling issues currently exist and to establish a baseline for comparison once we have a proposed ``Scaler`` for our model.\n", + "\n", + "The cell below calls the ``report_numerical_issues`` method for the unscaled test case." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "dt.report_numerical_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Looking at the results of the diagnostics, we can see that the test case is not particularly well scaled. The Jacobian condition number is rather large (1e12), and the diagnostics are reporting a number of variables with extremely large or small values, and 3 variables and 2 constraints with poorly scaled Jacobians. As we develop our new ``Scaler`` for the ``EquilibriumReactor`` we will hopefully see these improve.\n", + "\n", + "We can also use the Diagnostics Toolbox to further explore these issues to get a better idea of which variables and constraints might be causing issues. For example, lets display the set of variables and constraints with extreme Jacobian norms." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "dt.display_variables_with_extreme_jacobians()\n", + "dt.display_constraints_with_extreme_jacobians()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "These diagnostics can help give us an idea of what may be causing problems in our model. From the output above, we can see that the variables with large Jacobian norms (i.e., high sensitivities) are the outlet flow rate and temperature, as well as the rate-based extent of reaction. We can also see that the constraints with large Jacobian norms are the enthalpy balance and H20 material balance for the reactor. However, caution must be used when interpreting these in isolation, as understanding what these mean is often complicated and initial impressions may be misleading. To get a better picture of what is contributing to extreme Jacobian values you should make use of the tools in the diagnostics ``SVDToolbox``, however that is a topic for another example.\n", + "\n", + "For example, one might wonder why the volumetric flow rate at the outlet of the reactor is so important as it is effectively determined by the inlet flow rate (due to the water balance effectively conserving volume). However, it is important to remember that the Jacobian does not consider the value of the variable, but rather its partial derivatives. Thus, it is important to compare the list of variables and constraints with large Jacobian norms and think about how those intersect.\n", + "\n", + "Let's start by taking a look at the H2O material balance. The cell below prints the constraint expression in a compact form that only shows top level ``Expressions`` rather than expanding these to show the full expression tree." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core.util.misc import print_compact_form\n", + "\n", + "print_compact_form(m.fs.equil.control_volume.material_balances[0, \"Liq\", \"H2O\"])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Looking at how the outlet volumetric flowrate appears in the H2O balance equation above, it can be seen that the volumetric flow term is multiplied by the molar concentration of water, $F \\times C_{H2O}$. Whilst $C_{H2O}$ is assumed to be constant in this model (and equal to the molar density of pure water at ambient conditions), this means that the partial derivative of the constraint term with respect to flow is $\\frac{\\partial F C_{H2O}}{\\partial F} = C_{H2O}$; given that $C_{H2O}$ is equal to 5.5E4 mol/liter, you can quickly see why it is being identified as an issue.\n", + "\n", + "If we look at the energy balance, we will find that it is similar." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "print_compact_form(m.fs.equil.control_volume.enthalpy_balances[0.0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Whilst a bit harder to read due to the size of the constraint, you can see that it involves the term $\\rho \\times c_p \\times F \\times (T - T_{ref})$, where $c_p$ is the specific molar heat capacity of the solution, $T$ is temperature and $T_{ref}$ is the reference temperature. Given that $\\rho$ is of order 1E4 (a) and $c_p \\times (T-T_{ref})$ is of order 1E3, this means that the partial derivative with respect to the volumetric flowrate is even larger than that for the H2O balance. This also explains the appearance of the outlet temperature as well, as we can see that it is multiplied by a number of large values as well and thus has a large partial derivative.\n", + "\n", + "It is also important to mention that having a large value in the Jacobian does not mean a variable is \"important\" (and conversely a small value is not unimportant). What is important is how sensitive the constraint residual is to that change in variable, which is often difficult to assess from the Jacobian alone (which is where the ``SVDToolbox`` can assist).\n", + "\n", + "\n", + "## Step 3: Creating a New Scaler Class\n", + "\n", + "To create a new scaling routine for the equilibrium reactor, we start by creating a new ``Scaler`` class which inherits from the ``CustomScalerBase`` class in ``idaes.core.scaling``. The ``CustomScalerBase`` class contains a number of useful methods to help us in developing our scaling routine, including some placeholder methods for implementing a standard scaling workflow and helper methods for doing common tasks.\n", + "\n", + "The cell below shows how to create our new class which we will name ``EquilibriumReactorScaler`` as well as two key methods we will fill out as part of this workshop." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core.scaling import CustomScalerBase\n", + "\n", + "\n", + "class EquilibriumReactorScaler(CustomScalerBase):\n", + " def variable_scaling_routine(\n", + " self, model, overwrite: bool = False, submodel_scalers: dict = None\n", + " ):\n", + " # Empty method for now\n", + " pass\n", + "\n", + " def constraint_scaling_routine(\n", + " self, model, overwrite: bool = False, submodel_scalers: dict = None\n", + " ):\n", + " # Empty method for now\n", + " pass" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The ``variable_scaling_routine`` and ``constraint_scaling_routine`` methods are used to implement subroutines for scaling the variables and constraints in the model respectively. Separately, there is a ``scale_model`` method that will call each of these in sequence in order to scale an entire model by applying the following steps:\n", + "\n", + "1. apply variable scaling routine,\n", + "2. apply first stage scaling fill-in,\n", + "3. apply constraint scaling routine,\n", + "4. apply second stage scaling fill-in.\n", + "\n", + "The second and fourth steps are intended to allow users to provide methods to fill in missing scaling information that was not provided by the first and second steps, or to provide a way to update the scaling factors with more information.\n", + "\n", + "Both the ``variable_scaling_routine`` and ``constraint_scaling_routine`` are user-facing methods and take three arguments.\n", + "\n", + "1. The model to be scaled.\n", + "2. An argument indicating whether to overwrite any existing scaling factors. Generally we assume that any existing scaling factors were provided by the user for a reason, so by default we set this to ``False``. However, there will likely be cases where a user wants to overwrite their existing scaling factors so this argument exists to let us pass on those instructions.\n", + "3. A mapping of user-provided ``Scalers`` to use when scaling submodels.\n", + "\n", + "## Step 4: Apply Scaling to Sub-Models\n", + "\n", + "First, lets look at how to scale the property and reaction sub-models. As these are modular packages, we do not know what variables and constraints may be in them, so we cannot (and should not) scale any of these directly. However, we can (hopefully) assume that there are ``Scalers`` available for these sub-models, either through default ``Scalers`` associated with the property packages or provided by the user. Thus, what we want to do here is to call the variable and constraint scaling routines from the ``Scaler`` associated with each sub-model, which we can do using the ``call_submodel_scaler_method`` method from the ``CustomScalerBase`` class.\n", + "\n", + "The cell below prints the doc-string for the ``call_submodel_scaler_method`` method so we can see what the expected arguments are." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "help(CustomScalerBase.call_submodel_scaler_method)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that ``call_submodel_scaler_method`` takes 4 arguments:\n", + "\n", + "1. ``submodel`` is the submodel we want to scale. \n", + "2. The ``submodel_scalers`` argument should be passed through from the ``variable_scaling_routine`` or ``constraint_scaling_routine`` method.\n", + "3. The name of the method we want to call from the ``Scaler`` when we get it - this will normally be either ``variable_scaling_routine`` (if we are scaling variables) or ``constraint_scaling_routine`` (if we are doing constraints).\n", + "4. The ``overwrite`` argument should also be passed through from the ``variable_scaling_routine`` or ``constraint_scaling_routine`` method.\n", + "\n", + "For the Equilibrium Reactor, we have three submodels to scale; inlet state, outlet state and reactions. As mentioned in the introduction, when developing scaling routines always start with the things you have the most information about. In this case, we likely know the most about the inlet state; either it is a defined feed state (like in our test case) or we have some idea of the state (and scaling) from propagating values from an upstream operation. So, to apply variable scaling to the inlet state we would do the following:\n", + "\n", + "```python\n", + "self.call_submodel_scaler_method(\n", + " submodel=model.control_volume.properties_in,\n", + " method=\"variable_scaling_routine\",\n", + " submodel_scalers=submodel_scalers,\n", + " overwrite=overwrite,\n", + ")\n", + "```\n", + "\n", + "Once we have an idea of scaling for the inlet we can use that information to try to estimate scaling for the outlet state. The default assumption is that the scaling of the outlet will be similar to that of the inlet, so the easy path is to copy scaling from the inlet state to the outlet. However, we know that something must change between inlet and outlet (as otherwise this unit operation is doing nothing) so we should always stop and think about whether we can try to estimate these changes. For example, in a pressure changer we know, or be able to estimate, the pressure change across the unit and thus be able to change the scaling of pressure between the inlet and outlet. However, keep in mind that over-scaling can make things worse so be judicious when deciding whether to adjust scaling based on estimates.\n", + "\n", + "In regards to this, Equilibrium Reactors are one of the more challenging units to scale, as it is very hard to know what the outlet flows and concentrations will be without knowing what the reactions are (and even if you know the reactions it is often hard to know the equilibrium state). In most cases, we have no reliable way to estimate the outlet flowrate and concentrations, so this is best left to the user to provide. In the case of temperature and pressure, whilst we may expect these to change but any change will generally be 1-2 orders of magnitude less than the inlet state and thus the overall scale of these will likely remain similar. Thus, for the Equilibrium Reactor it is probably sufficient to just scale the outlet state based on the inlet state.\n", + "\n", + "The ``CustomScalerBase`` class has a method for propagating scaling factors for state variables from one state to another called ``propagate_state_scaling`` as see below." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "help(CustomScalerBase.propagate_state_scaling)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here we can see that ``propagate_state_scaling`` takes three arguments; the ``StateBlock`` we want to apply scaling to, the ``StateBlock`` we want to use as the source for the scaling factors, and the ``overwrite`` argument. Thus, we can propagate scaling from the inlet state to the outlet state as shown below.\n", + "\n", + "```python\n", + "self.propagate_state_scaling(\n", + " target_state=model.control_volume.properties_out,\n", + " source_state=model.control_volume.properties_in,\n", + " overwrite=overwrite,\n", + ")\n", + "```\n", + "\n", + "This only propagates scaling factors for the state variables, however, so we should then call the ``Scaler`` for the outlet state block to scale any remaining variables and constraints (which will hopefully make use of the scaling factors for the state variables we just propagated).\n", + "\n", + "We can then move on to scaling the ``ReactionBlock``. ``ReactionBlocks`` are slightly unusual in that they rely heavily on the state variables defined in a separate ``StateBlock`` - in this case the outlet state block. As we just applied a ``Scaler`` to the outlet state block, we can assume that all of the necessary variables have been scaled so all we need to do now is call a ``Scaler`` for the ``ReactionBlock``.\n", + "\n", + "All of this is shown in the cell below." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "class EquilibriumReactorScaler(CustomScalerBase):\n", + " def variable_scaling_routine(\n", + " self, model, overwrite: bool = False, submodel_scalers: dict = None\n", + " ):\n", + " # Call scaling methods for sub-models\n", + " self.call_submodel_scaler_method(\n", + " submodel=model.control_volume.properties_in,\n", + " method=\"variable_scaling_routine\",\n", + " submodel_scalers=submodel_scalers,\n", + " overwrite=overwrite,\n", + " )\n", + " self.propagate_state_scaling(\n", + " target_state=model.control_volume.properties_out,\n", + " source_state=model.control_volume.properties_in,\n", + " overwrite=overwrite,\n", + " )\n", + "\n", + " self.call_submodel_scaler_method(\n", + " submodel=model.control_volume.properties_out,\n", + " method=\"variable_scaling_routine\",\n", + " submodel_scalers=submodel_scalers,\n", + " overwrite=overwrite,\n", + " )\n", + " self.call_submodel_scaler_method(\n", + " submodel=model.control_volume.reactions,\n", + " method=\"variable_scaling_routine\",\n", + " submodel_scalers=submodel_scalers,\n", + " overwrite=overwrite,\n", + " )\n", + "\n", + " def constraint_scaling_routine(\n", + " self, model, overwrite: bool = False, submodel_scalers: dict = None\n", + " ):\n", + " # Empty method for now\n", + " pass" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can then take a similar approach for the constraint scaling routine as shown below. Note that there is no need for a propagation step here as the residual of a constraint is derived from the value of the variables (which we handled in the variable scaling step)." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "class EquilibriumReactorScaler(CustomScalerBase):\n", + " def variable_scaling_routine(\n", + " self, model, overwrite: bool = False, submodel_scalers: dict = None\n", + " ):\n", + " # Call scaling methods for sub-models\n", + " self.call_submodel_scaler_method(\n", + " submodel=model.control_volume.properties_in,\n", + " method=\"variable_scaling_routine\",\n", + " submodel_scalers=submodel_scalers,\n", + " overwrite=overwrite,\n", + " )\n", + " self.propagate_state_scaling(\n", + " target_state=model.control_volume.properties_out,\n", + " source_state=model.control_volume.properties_in,\n", + " overwrite=overwrite,\n", + " )\n", + "\n", + " self.call_submodel_scaler_method(\n", + " submodel=model.control_volume.properties_out,\n", + " method=\"variable_scaling_routine\",\n", + " submodel_scalers=submodel_scalers,\n", + " overwrite=overwrite,\n", + " )\n", + " self.call_submodel_scaler_method(\n", + " submodel=model.control_volume.reactions,\n", + " method=\"variable_scaling_routine\",\n", + " submodel_scalers=submodel_scalers,\n", + " overwrite=overwrite,\n", + " )\n", + "\n", + " def constraint_scaling_routine(\n", + " self, model, overwrite: bool = False, submodel_scalers: dict = None\n", + " ):\n", + " # Call scaling methods for sub-models\n", + " self.call_submodel_scaler_method(\n", + " submodel=model.control_volume.properties_in,\n", + " method=\"constraint_scaling_routine\",\n", + " submodel_scalers=submodel_scalers,\n", + " overwrite=overwrite,\n", + " )\n", + " self.call_submodel_scaler_method(\n", + " submodel=model.control_volume.properties_out,\n", + " method=\"constraint_scaling_routine\",\n", + " submodel_scalers=submodel_scalers,\n", + " overwrite=overwrite,\n", + " )\n", + " self.call_submodel_scaler_method(\n", + " submodel=model.control_volume.reactions,\n", + " method=\"constraint_scaling_routine\",\n", + " submodel_scalers=submodel_scalers,\n", + " overwrite=overwrite,\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Lets do a quick check to see if our new scaler works and how it has affected the model scaling. The cell below creates a function that builds a new instance of the model (to avoid contamination from previous model runs then creates an instance of our new scaler and applies it to the model. We then solve the scaled model (adding scaling changes constraint residuals so we want to solve to the scaled state). Finally, the function prints a report of the scaling factors in the model and calls the ``report_numerical_issues`` method from the Diagnostics Toolbox." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import check_optimal_termination, TransformationFactory\n", + "\n", + "from idaes.core.scaling import report_scaling_factors\n", + "\n", + "\n", + "def check_scaling(tee=False):\n", + " # Build new instance of model\n", + " m = build_model()\n", + "\n", + " # Apply scaler to model\n", + " scaler = EquilibriumReactorScaler()\n", + " scaler.scale_model(m.fs.equil)\n", + "\n", + " # Solve scaled model\n", + " results = solver.solve(m, tee=tee)\n", + " if check_optimal_termination(results):\n", + " print(\"\\nModel Solved\\n\")\n", + " else:\n", + " print(\"\\nModel Failed to Converge!\\n\")\n", + "\n", + " # Print report of scaling factors\n", + " report_scaling_factors(m.fs.equil, descend_into=True)\n", + "\n", + " # Show numerical issues report\n", + " sm = TransformationFactory(\"core.scale_model\").create_using(m, rename=False)\n", + "\n", + " dt = DiagnosticsToolbox(model=sm.fs.equil)\n", + " dt.report_numerical_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Lets run the ``check_scaling`` function and see how the model scaling has changed." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "check_scaling()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From the scaling factor report, we can see that by calling the submodel scalers we have already scaled many of the variables in our problem, as well as three of the constraints. If we look at the \"Scaled Value\" column for the variables, we can also see that most of the scaled values are close to 1 (the few outliers might be things we want to look into more later on).\n", + "\n", + "From the numerical diagnostics, we can see that the Jacobian condition number has decreased by a few orders of magnitude, although it is still large, whilst we still have a number of potential issues with individual variables and constraints. All up though, this appears to be a step in the right direction." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 5: Apply Variable Scaling\n", + "\n", + "Next, we need to look at scaling the variables and constraints that make up the unit model itself. From a conceptual standpoint, it is generally easiest to start with the variables as we generally have at least some idea of the magnitude of these.\n", + "\n", + "For the equilibrium reactor, we have the following variables we need to scale:\n", + "\n", + "1. Rate-based reaction extent and generation terms\n", + "2. Equilibrium-based reaction extent and generation terms\n", + "3. Inherent reaction extent and generation terms\n", + "4. Phase equilibrium generation terms\n", + "5. Energy balance heat term\n", + "6. Energy balance heats of reaction\n", + "7. Pressure drop\n", + "\n", + "Many of these are hard to know a priori - anything related to a reaction is very hard to know without knowing the reaction behavior. Considering that the equilibrium reactor is modular, we have little to no way of knowing these in the general case (and even in the specific test case it is hard enough). We can assume that the reaction package will scale all of its variables (i.e., rate and equilibrium constants, and reaction rates), however it is hard to project these to unit model scaling.\n", + "\n", + "For a CSTR we can say that ``extent = volume*rate`` and thus estimate scaling, but this does not work for equilibrium systems where 1) volume is undefined, 2) reaction rate at the outlet state is being driven to zero to satisfy equilibrium, and 3) extent is solved implicitly to satisfy the need for reaction rate to equal zero.\n", + "\n", + "Considering that a bad guess is often worse than no guess, we will not scale these right now - it is important to remember that our goal is to improve the overall scaling so if we do not know how to scale something it is generally best to leave it unscaled. We might come back to these later if necessary, but for now we will leave these either for the user to provide based on knowledge of their system, or for automated fill-in using some autoscaler.\n", + "\n", + "For the heat and deltaP terms, these are dependent on extensive variables in each case study and we have no way of knowing their exact values. However, we can probably take a good guess at order-of-magnitude using engineering knowledge; heat duties are generally approximately one order of magnitude smaller than the enthalpy flows,\n", + "and pressure drops are generally on the order of 0.1 bar.\n", + "\n", + "To apply scaling for the pressure drop term, we can make use of the ``scale_variable_by_units`` method in ``CustomScalerBase``. This method looks up the units of measurement for the variable, and then loops in the class attribute ``UNIT_SCALING_FACTORS`` dictionary to find an equivalent unit for the quantity of interest and an associated scaling factor. If a scaling factor is found, it is converted as necessary; e.g., in this case pressure is defined in ``Pa`` but we can set the default scaling factor in ``bar`` and it will be converted as appropriate. The code required to do this is below.\n", + "\n", + "```python\n", + "UNIT_SCALING_FACTORS = {\n", + " # \"QuantityName: (reference units, scaling factor)\n", + " \"Pressure Change\": (units.bar, 10),\n", + "}\n", + "\n", + "def variable_scaling_routine(*args, **kwargs):\n", + " if hasattr(model.control_volume, \"deltaP\"):\n", + " for t in model.flowsheet().time:\n", + " self.scale_variable_by_units(\n", + " model.control_volume.deltaP[t],\n", + " overwrite=overwrite\n", + " )\n", + "```\n", + "\n", + "There are a few things to note here:\n", + "\n", + "1. As we expect the pressure drop to be on the order of 0.1 bar, we need to set a scaling factor of 10 for quantities with units of pressure. Also note that the key ``\"Pressure Change\"`` is for documentation purposes only and is not actually used by the code (but must be there). \n", + "\n", + "
\n", + "NOTE We cannot distinguish between different quantities with the same apparent units (e.g., we cannot distinguish between an absolute pressure and a pressure change).\n", + "
\n", + "\n", + "2. Note that scaling is applied to elements of indexed components and not to the indexed component as a whole, and thus we need to use a ``for`` loop to iterate over the time index. This is done to force modelers to consider how the scaling of a variable or constraint will vary over the indexed domain, and try to discourage automatically setting a single scaling factor for all points.\n", + "3. Pressure change is a configuration argument in our unit model, and thus may not be present in all cases. Therefore, we need the ``hasattr`` check to see if we need to scale ``deltaP`` or not.\n", + "\n", + "For the case of the heat duty, we want to scale based on the incoming enthalpy flow which means we first need to get the expected magnitude of the enthalpy flow. For that, we can use the ``get_expression_nominal_values`` method in ``CustomScalerBase`` which uses an expression walker to go through an expression to return a list of the expected magnitude (or nominal value) of all additive terms in the expression based on the scaling factors for the variables involved.\n", + "\n", + "We can get an expression for the enthalpy flow term using the ``get_enthalpy_flow_terms`` method from the associated ``StateBlock``. We should assume this expression might contain multiple terms, so we should sum all the values returned to get the overall magnitude of the enthalpy flow term. Once we have this, we can then get the scaling factor for the heat duty by ``sf = abs(1/(0.1*enthalpy_flow))`` - note that the tools insist on scaling factors being positive (for sanity) and thus we need the absolute value here in case enthalpy flow is negative (which is not uncommon for enthalpy). The code to do this is shown below.\n", + "\n", + "```python\n", + "if hasattr(model.control_volume, \"heat\"):\n", + " for t in model.flowsheet().time:\n", + " h_in = 0\n", + " for p in model.control_volume.properties_in.phase_list:\n", + " # The expression for enthalpy flow might include multiple terms,\n", + " # so we will sum over all the terms provided\n", + " h_in += sum(\n", + " self.get_expression_nominal_values(\n", + " model.control_volume.properties_in[t].get_enthalpy_flow_terms(p)\n", + " )\n", + " )\n", + " # Scale for heat is general one order of magnitude less than enthalpy flow\n", + " self.set_variable_scaling_factor(model.control_volume.heat[t], abs(1 / (0.1 * h_in)))\n", + "```\n", + "\n", + "Putting all of this together results in the code below for our ``EquilibriumReactorScaler`` class." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import units\n", + "\n", + "\n", + "class EquilibriumReactorScaler(CustomScalerBase):\n", + " # =======================================================================================\n", + " # New Code\n", + " UNIT_SCALING_FACTORS = {\n", + " # \"QuantityName: (reference units, scaling factor)\n", + " \"Pressure Change\": (units.bar, 10),\n", + " }\n", + " # =======================================================================================\n", + "\n", + " def variable_scaling_routine(\n", + " self, model, overwrite: bool = False, submodel_scalers: dict = None\n", + " ):\n", + " # Call scaling methods for sub-models\n", + " self.call_submodel_scaler_method(\n", + " submodel=model.control_volume.properties_in,\n", + " method=\"variable_scaling_routine\",\n", + " submodel_scalers=submodel_scalers,\n", + " overwrite=overwrite,\n", + " )\n", + " self.propagate_state_scaling(\n", + " target_state=model.control_volume.properties_out,\n", + " source_state=model.control_volume.properties_in,\n", + " overwrite=overwrite,\n", + " )\n", + "\n", + " self.call_submodel_scaler_method(\n", + " submodel=model.control_volume.properties_out,\n", + " method=\"variable_scaling_routine\",\n", + " submodel_scalers=submodel_scalers,\n", + " overwrite=overwrite,\n", + " )\n", + " self.call_submodel_scaler_method(\n", + " submodel=model.control_volume.reactions,\n", + " method=\"variable_scaling_routine\",\n", + " submodel_scalers=submodel_scalers,\n", + " overwrite=overwrite,\n", + " )\n", + "\n", + " # =======================================================================================\n", + " # New Code\n", + "\n", + " # Pressure drop - optional\n", + " if hasattr(model.control_volume, \"deltaP\"):\n", + " for t in model.flowsheet().time:\n", + " self.scale_variable_by_units(\n", + " model.control_volume.deltaP[t], overwrite=overwrite\n", + " )\n", + "\n", + " # Heat transfer - optional\n", + " # Scale heat based on enthalpy flow entering reactor\n", + " if hasattr(model.control_volume, \"heat\"):\n", + " for t in model.flowsheet().time:\n", + " h_in = 0\n", + " for p in model.control_volume.properties_in.phase_list:\n", + " # The expression for enthalpy flow might include multiple terms,\n", + " # so we will sum over all the terms provided\n", + " h_in += sum(\n", + " self.get_expression_nominal_values(\n", + " model.control_volume.properties_in[\n", + " t\n", + " ].get_enthalpy_flow_terms(p)\n", + " )\n", + " )\n", + " # Scale for heat is generally one order of magnitude less than enthalpy flow\n", + " self.set_variable_scaling_factor(\n", + " model.control_volume.heat[t], abs(1 / (0.1 * h_in))\n", + " )\n", + " # =======================================================================================\n", + "\n", + " def constraint_scaling_routine(\n", + " self, model, overwrite: bool = False, submodel_scalers: dict = None\n", + " ):\n", + " # Call scaling methods for sub-models\n", + " self.call_submodel_scaler_method(\n", + " submodel=model.control_volume.properties_in,\n", + " method=\"constraint_scaling_routine\",\n", + " submodel_scalers=submodel_scalers,\n", + " overwrite=overwrite,\n", + " )\n", + " self.call_submodel_scaler_method(\n", + " submodel=model.control_volume.properties_out,\n", + " method=\"constraint_scaling_routine\",\n", + " submodel_scalers=submodel_scalers,\n", + " overwrite=overwrite,\n", + " )\n", + " self.call_submodel_scaler_method(\n", + " submodel=model.control_volume.reactions,\n", + " method=\"constraint_scaling_routine\",\n", + " submodel_scalers=submodel_scalers,\n", + " overwrite=overwrite,\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once again, lets run the ``check_scaling`` function and see how we are going." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "check_scaling()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Our updates have resulted in scaling factors for ``heat`` and ``deltaP`` appearing in the scaling report which is good, but comparing the diagnostics from the previous step we can see that the Jacobian condition number has not changed. Does this mean we did something wrong?\n", + "\n", + "The answer is no - when we add a scaling factor to a variable, wherever that variable appears in a constraint it is replaced with ``sf*v_scaled``. Given that ``v_scaled = v/sf``, this means that for variables which only appear linearly in constraints then the partial derivative with respect to the scaled variable does not change either; thus the Jacobian is unaffected by scaling only the linear variables. In the case of this example, it turns out that almost all the variables appear linearly and thus we see no change in the Jacobian condition number.\n", + "\n", + "
\n", + "NOTE It is important to note that partial scaling of a model (e.g., variables only) can often appear worse than that of the unscaled model. Generally, it is best to wait until you have scaled both variables and constraints to make a decision on whether your attempts at scaling have made the problem better or worse, and you should not be discouraged if things look worse while in an intermediate state.\n", + "
\n", + "\n", + "\n", + "## Step 6: Apply Constraint Scaling\n", + "\n", + "Now that we have scaled all the variables that we can (for now at least), we can move on to scaling constraints. The advantage of scaling all the variables first means that now we have an idea of the expected magnitude for all terms in the constraints which we can use to estimate scaling factors. For the Equilibrium reactor model, we need to scale all the constraints in the control volume, as well as the unit level constraint equating all reaction rates to zero.\n", + "\n", + "There are many approaches to estimating scaling for constraints, and different approaches are better suited to certain situations. ``CustomScalerBase`` contains a ``scale_constraint_by_nominal_value`` method which can be used to automatically implement a number of common approaches to save you the effort of having to manually implement these yourself. As of writing, the approaches (or schemes) supported are:\n", + "\n", + "1. ``ConstraintScalingScheme.inverseMaximum`` - scale the constraint based on the term with the largest absolute expected magnitude. This is scheme is useful for cases where most terms have similar magnitudes and is a good initial point to start.\n", + "2. ``ConstraintScalingScheme.inverseMinimum`` - scale the constraint based on the term with the smallest absolute expected magnitude. This scheme is similar to the inverse maximum scheme and is useful for cases where you have a constraint with a number of smaller terms mixed with a few larger terms, or cases where the smaller term is expected to be most significant. This scheme should be used carefully however as it can result in large scaling factors making convergence of larger terms difficult.\n", + "3. ``ConstraintScalingScheme.harmonicMean`` - scale the constraint using the harmonic mean of the absolute expected magnitude of all terms (``sf = sum(1/abs(nominal value))``). This scheme is most useful when you have a constraint with terms with a mix of expected magnitudes where you need to find a balance between the large and small terms.\n", + "4. ``ConstraintScalingScheme.inverseSum`` - scale the constraint using the sum of the absolute expected magnitudes of all terms. Situationally useful for cases with terms of mixed magnitudes.\n", + "5. ``ConstraintScalingScheme.inverseRSS`` - scale the constraint using the root sum of squares of the absolute expected magnitudes of all terms. Situationally useful for cases with terms of mixed magnitudes.\n", + "\n", + "``CustomScalerBase`` also contains a ``scale_constraint_by_nominal_derivative_norm`` method that can scale a constraint based on an estimate of the Jacobian norm associated with that constraint which can be useful for cases where you want to focus on the Jacobian scaling.\n", + "\n", + "
\n", + "NOTE The solver you intend to use may impact which approach provides the best scaling for a given model. For example, IPOPT has very good internal Jacobian scaling (when using the `gradient-based` scaling option), and thus benefits the most from focusing on scaling the constraint residual magnitudes as opposed to the Jacobian.\n", + "
\n", + "\n", + "For this workshop, we will start by just using ``ConstraintScalingScheme.inverseMaximum`` to get a starting point and to see if further scaling is required. We can apply this scheme to scale all the constraints in the control volume using the code below.\n", + "\n", + "```python\n", + "for c in model.control_volume.component_data_objects(\n", + " Constraint, descend_into=False\n", + "):\n", + " self.scale_constraint_by_nominal_value(\n", + " c,\n", + " scheme=ConstraintScalingScheme.inverseMaximum,\n", + " overwrite=overwrite,\n", + " )\n", + "```\n", + "\n", + "Adding this and a similar approach to scale the unit level constraint gives us the code below for our ``EquilibriumreactorScaler`` class." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core.scaling import ConstraintScalingScheme\n", + "\n", + "\n", + "class EquilibriumReactorScaler(CustomScalerBase):\n", + " UNIT_SCALING_FACTORS = {\n", + " # \"QuantityName: (reference units, scaling factor)\n", + " \"Pressure Change\": (units.bar, 10),\n", + " }\n", + "\n", + " def variable_scaling_routine(\n", + " self, model, overwrite: bool = False, submodel_scalers: dict = None\n", + " ):\n", + " # Call scaling methods for sub-models\n", + " self.call_submodel_scaler_method(\n", + " submodel=model.control_volume.properties_in,\n", + " method=\"variable_scaling_routine\",\n", + " submodel_scalers=submodel_scalers,\n", + " overwrite=overwrite,\n", + " )\n", + " self.propagate_state_scaling(\n", + " target_state=model.control_volume.properties_out,\n", + " source_state=model.control_volume.properties_in,\n", + " overwrite=overwrite,\n", + " )\n", + "\n", + " self.call_submodel_scaler_method(\n", + " submodel=model.control_volume.properties_out,\n", + " method=\"variable_scaling_routine\",\n", + " submodel_scalers=submodel_scalers,\n", + " overwrite=overwrite,\n", + " )\n", + " self.call_submodel_scaler_method(\n", + " submodel=model.control_volume.reactions,\n", + " method=\"variable_scaling_routine\",\n", + " submodel_scalers=submodel_scalers,\n", + " overwrite=overwrite,\n", + " )\n", + "\n", + " # Pressure drop - optional\n", + " if hasattr(model.control_volume, \"deltaP\"):\n", + " for t in model.flowsheet().time:\n", + " self.scale_variable_by_units(\n", + " model.control_volume.deltaP[t], overwrite=overwrite\n", + " )\n", + "\n", + " # Heat transfer - optional\n", + " # Scale heat based on enthalpy flow entering reactor\n", + " if hasattr(model.control_volume, \"heat\"):\n", + " for t in model.flowsheet().time:\n", + " h_in = 0\n", + " for p in model.control_volume.properties_in.phase_list:\n", + " # The expression for enthalpy flow might include multiple terms,\n", + " # so we will sum over all the terms provided\n", + " h_in += sum(\n", + " self.get_expression_nominal_values(\n", + " model.control_volume.properties_in[\n", + " t\n", + " ].get_enthalpy_flow_terms(p)\n", + " )\n", + " )\n", + " # Scale for heat is generally one order of magnitude less than enthalpy flow\n", + " self.set_variable_scaling_factor(\n", + " model.control_volume.heat[t], abs(1 / (0.1 * h_in))\n", + " )\n", + "\n", + " def constraint_scaling_routine(\n", + " self, model, overwrite: bool = False, submodel_scalers: dict = None\n", + " ):\n", + " # Call scaling methods for sub-models\n", + " self.call_submodel_scaler_method(\n", + " submodel=model.control_volume.properties_in,\n", + " method=\"constraint_scaling_routine\",\n", + " submodel_scalers=submodel_scalers,\n", + " overwrite=overwrite,\n", + " )\n", + " self.call_submodel_scaler_method(\n", + " submodel=model.control_volume.properties_out,\n", + " method=\"constraint_scaling_routine\",\n", + " submodel_scalers=submodel_scalers,\n", + " overwrite=overwrite,\n", + " )\n", + " self.call_submodel_scaler_method(\n", + " submodel=model.control_volume.reactions,\n", + " method=\"constraint_scaling_routine\",\n", + " submodel_scalers=submodel_scalers,\n", + " overwrite=overwrite,\n", + " )\n", + "\n", + " # =======================================================================================\n", + " # New Code\n", + " # Scale control volume constraints\n", + " for c in model.control_volume.component_data_objects(\n", + " Constraint, descend_into=False\n", + " ):\n", + " self.scale_constraint_by_nominal_value(\n", + " c,\n", + " scheme=ConstraintScalingScheme.inverseMaximum,\n", + " overwrite=overwrite,\n", + " )\n", + "\n", + " # Scale unit level constraints\n", + " if hasattr(model, \"rate_reaction_constraint\"):\n", + " for c in model.rate_reaction_constraint.values():\n", + " self.scale_constraint_by_nominal_value(\n", + " c,\n", + " scheme=ConstraintScalingScheme.inverseMaximum,\n", + " overwrite=overwrite,\n", + " )\n", + " # =======================================================================================" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once again, let us use the ``check_scaling`` function to see how our ``Scaler`` performs." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "check_scaling()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From the results of ``check_scaling`` we can see that we now have scaling factors for almost all the variables and constraints in the model (the only exceptions being the reaction related variables we left unscaled earlier). More importantly, we can see that the Jacobian condition number is now down to ``7.2E4`` from the original ``1.5E12`` which is an impressive improvement (and for not a lot of effort on our part). We can also see that the numerical diagnostics are no longer reporting any variables or constraints with extreme Jacobians (there are 2 individual entries that are a bit large, but it appears they are not having a big impact on the condition number).\n", + "\n", + "We do see that there are a number of variables with values close to ``0`` which we should be wary of, but in this case it is due to the case study we are using. Here we are using an equilibrium reactor to drive a rate-based reaction to completion, which necessitates that at least one reactant have a concentration of zero as well as the reaction rate for all reactions. Thus, for this case these are unavoidable. As mentioned earlier, we really should be asking whether an Equilibrium Reactor is well suited for the reaction model we have here, and a Stoichiometric Reactor would probably have been a better choice (or a better reaction package which use reversible reactions with equilibrium).\n", + "\n", + "\n", + "## Step 7: Review Scaling Routine\n", + "\n", + "We now have a new ``Scaler`` for an equilibrium reactor that uses the modular nature of IDAES to implement a general purpose scaling routine (or so we hope at least). So, does this mean we are done?\n", + "\n", + "No, or not yet at least.\n", + "\n", + "We should always take a step back and ask ourselves if what we have is good enough and see if we can see any areas where we might be able to do better, or places where edge cases might exist. As a starting point, let us first see how we compare to an autoscaling routine using the model Jacobian. We can use the ``AutoScaler.scale_model`` method for this as shown below." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core.scaling import AutoScaler\n", + "\n", + "m = build_model()\n", + "\n", + "scaler = EquilibriumReactorScaler()\n", + "autoscaler = AutoScaler()\n", + "\n", + "autoscaler.scale_model(m)\n", + "\n", + "solver = get_solver(\n", + " \"ipopt_v2\", writer_config={\"scale_model\": True, \"linear_presolve\": True}\n", + ")\n", + "results = solver.solve(m)\n", + "\n", + "if check_optimal_termination(results):\n", + " print(\"\\nModel Solved\\n\")\n", + "else:\n", + " print(\"\\nModel Failed to Converge!\\n\")\n", + "\n", + "sm = TransformationFactory(\"core.scale_model\").create_using(m, rename=False)\n", + "\n", + "dt = DiagnosticsToolbox(model=sm.fs.equil)\n", + "dt.report_numerical_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that our ``EquilibriumReactorScaling`` routine actually results in a lower Jacobian condition number than the ``AutoScaler`` approach, so that is a sign we are doing things right. It is not unusual to see that we can get better scaling with a manual, magnitude based approach than an autoscaler as the autoscaler focuses solely on the Jacobian and thus often over-scales the problem.\n", + "\n", + "However, we might be able to do better by using other constraint scaling schemes, but before we start experimenting we should stop and think about what sort of scaling might make sense for each constraint. We should always also keep in the back of our minds whether additional work is worth the effort, and if we risk over-tuning the scaling for the specific property package we have.\n", + "\n", + "Fortunately, the model in this example is fairly simple and we do not have too many constraints to consider. Firstly, we have the unit-level constraint that says that `rate_reaction == 0` for all rate-based reactions. When considering scaling of a constraint we should ignore any 0 terms, thus this constraint has only 1 term and so we should scale based on this. If we use the ``scale_constraint_by_nominal_value`` method for this it will ignore the zero for us, the scheme used does not actually matter as there is only one term to consider.\n", + "\n", + "Next, we have the balance equations which all have the form `0 == In - Out + Gen` - note the equilibrium reactor does not support dynamics so we don't need to think about that. Generation terms can vary a lot, but we basically have two possible cases:\n", + "\n", + "1. one term is negligible compared to the other 2, so we should scale based on one of the significant\n", + "terms, or\n", + "2. all three terms are of similar significance (e.g., inlet and gen are of similar scale and outlet\n", + "is ~inletx2). Here we could scale based on the harmonic mean, by the maximum term is probably not bad either.\n", + "\n", + "So, in short the maximum magnitude is probably the best general-purpose scale for these constraints.\n", + "\n", + "Finally, we have stoichiometric constraints with the form `G[j, r] == n[j, r]*X[r]` where ``G`` is generation, ``X`` is extent and ``n`` is the stoichiometric coefficient (i.e., a constant) - these are simple ``A=B`` constraints, so scaling by maximum magnitude is equivalent to other methods (as there are only two terms which will take the same value, all schemes will give the same result in the end).\n", + "\n", + "So, for the equilibrium reactor at least, we are probably best leaving things as they are.\n", + "\n", + "However, there is one important test left. The whole purpose of a scaling routine is to allow us to perturb the model and solve it at the new state so we should test to confirm that our new ``Scaler`` has improved the performance of our solver when solving for the perturbed state we tried earlier. This also lets us see how the new ``Scaler`` will look for a user trying to apply the tool, which we can see below." + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "m = build_model()\n", + "\n", + "scaler = EquilibriumReactorScaler()\n", + "scaler.scale_model(m.fs.equil)\n", + "\n", + "perturb_model(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that by applying our new ``EquilibriumReactorScaler`` we are now able to use IPOPT to solve for the perturbation, and that it reaches an optimal solution in 11 iterations. Looking at the solver logs we can see that the solver step lengths (``alpha_du`` and ``alpha_pr``) are rather small for the first iterations but the number of line searches (``ls``) is 1 for all iterations. This indicates that IPOPT is pushing up against some bound or constraint and cannot make full steps, but in this case it is due to the fact that to achieve equilibrium for an irreversible reaction at least one concentration must be driven to zero (and is why an EquibriumReactor is probably not a good choice for this test case). However, the fact that our ``Scaler`` let us solve for this challenging test case is probably a good sign.\n", + "\n", + "\n", + "## Step 8: Finishing Up\n", + "\n", + "Ideally, we would have more than one test case to apply our ``Scaler`` to put it through its paces and ensure it is robust across a wide range of conditions. However, for the purposes of this workshop we will move on.\n", + "\n", + "Once you are satisfied that your ``Scaler`` is ready, you can start applying it to actual problems of interest. For those modelers developing new unit and property models, you should assign your new ``Scaler`` as the default scaler for that unit model. You can do this by setting the ``default_scaler`` attribute on your model to point to the new ``Scaler`` as shown below.\n", + "\n", + "```python\n", + "@declare_process_block_class(\"EquilibriumReactor\")\n", + "class EquilibriumReactorData(UnitModelBlockData):\n", + " \"\"\"\n", + " Standard Equilibrium Reactor Unit Model Class\n", + " \"\"\"\n", + "\n", + " # Setting the default_scaler attribute\n", + " default_scaler = EquilibriumReactorScaler\n", + "```\n", + "\n", + "With that, we have finished this workshop on developing ``Scaler`` classes. Hopefully you now know enough to begin writing ``Scalers`` for your own models, and have gained some insight into how to think about developing scaling routines and the tools available to help you." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.5" + } + }, + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/scaling/scaler_workshop_test.ipynb b/idaes_examples/notebooks/docs/scaling/scaler_workshop_test.ipynb index fddb4930..e44d6b4b 100644 --- a/idaes_examples/notebooks/docs/scaling/scaler_workshop_test.ipynb +++ b/idaes_examples/notebooks/docs/scaling/scaler_workshop_test.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -158,43 +159,7 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 5 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 16 (External: 0)\n", - " Free Variables with only lower bounds: 6\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 10 (External: 0)\n", - " Activated Equality Constraints: 16 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 Cautions\n", - "\n", - " Caution: 4 variables fixed to 0\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " Try to initialize/solve your model and then call report_numerical_issues()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "m = build_model()\n", "\n", @@ -258,124 +223,7 @@ "cell_type": "code", "execution_count": 6, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: linear_solver=ma57\n", - "max_iter=200\n", - "nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma57.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 21\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 9\n", - "\n", - "Total number of variables............................: 8\n", - " variables with only lower bounds: 5\n", - " variables with lower and upper bounds: 1\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 8\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 9.09e+07 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "Reallocating memory for MA57: lfact (247)\n", - " 1r 0.0000000e+00 9.09e+07 9.99e+02 2.5 0.00e+00 - 0.00e+00 7.73e-09R 9\n", - " 2r 0.0000000e+00 8.42e+07 8.24e+03 2.5 7.20e+02 - 1.64e-02 2.59e-02f 1\n", - " 3r 0.0000000e+00 8.37e+07 7.72e+03 1.8 8.82e+04 - 5.56e-04 3.77e-05f 1\n", - " 4r 0.0000000e+00 3.76e+07 2.65e+04 1.8 1.13e+03 0.0 1.27e-01 1.63e-01f 1\n", - " 5r 0.0000000e+00 3.60e+07 2.30e+04 1.8 6.83e+01 1.3 7.53e-02 1.45e-01f 1\n", - " 6r 0.0000000e+00 4.17e+07 1.77e+04 1.8 2.10e+02 0.9 7.11e-02 1.47e-01f 1\n", - " 7r 0.0000000e+00 4.08e+07 1.75e+04 1.8 3.95e+02 0.4 2.35e-01 8.19e-03f 1\n", - " 8r 0.0000000e+00 3.13e+07 1.75e+04 1.8 1.12e+03 -0.1 3.57e-01 3.16e-02f 1\n", - " 9r 0.0000000e+00 7.77e+06 1.74e+04 1.8 1.00e+04 - 1.43e-02 9.06e-03f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10r 0.0000000e+00 7.36e+06 1.70e+04 1.8 2.14e+02 - 2.20e-01 2.38e-02f 1\n", - " 11r 0.0000000e+00 5.93e+06 1.67e+04 1.8 1.72e+02 - 7.89e-01 1.95e-01f 1\n", - " 12r 0.0000000e+00 1.54e+06 3.54e+04 1.8 1.06e+02 - 8.80e-01 7.41e-01f 1\n", - " 13r 0.0000000e+00 1.21e+06 2.79e+04 1.8 4.60e+00 - 1.00e+00 2.12e-01h 1\n", - " 14r 0.0000000e+00 3.31e+03 4.79e+01 1.8 2.39e+00 - 1.00e+00 1.00e+00f 1\n", - " 15r 0.0000000e+00 2.85e+03 7.72e+02 -0.2 2.01e+00 - 9.81e-01 9.09e-01f 1\n", - " 16r 0.0000000e+00 2.47e+03 6.60e+02 -0.2 9.87e-01 - 1.00e+00 1.48e-01f 1\n", - " 17r 0.0000000e+00 3.18e-01 8.47e+01 -0.2 1.39e-01 - 1.00e+00 1.00e+00f 1\n", - " 18r 0.0000000e+00 3.18e-01 6.25e+01 -0.2 1.96e-01 - 1.00e+00 1.00e+00f 1\n", - " 19r 0.0000000e+00 3.18e-01 5.46e+00 -0.2 3.26e-02 - 1.00e+00 1.00e+00h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 20r 0.0000000e+00 3.18e-01 1.44e+02 -1.6 2.34e-01 - 1.00e+00 1.00e+00f 1\n", - " 21r 0.0000000e+00 3.18e-01 1.45e+01 -1.6 9.26e-02 - 9.13e-01 1.00e+00f 1\n", - " 22r 0.0000000e+00 3.18e-01 1.46e+01 -1.6 1.71e-01 - 1.00e+00 1.25e-01f 4\n", - " 23r 0.0000000e+00 3.18e-01 1.44e+01 -1.6 1.24e-01 - 1.00e+00 1.56e-02h 7\n", - " 24r 0.0000000e+00 3.18e-01 1.41e+01 -1.6 1.27e-01 - 1.00e+00 1.56e-02h 7\n", - " 25r 0.0000000e+00 3.18e-01 1.39e+01 -1.6 1.24e-01 - 1.00e+00 1.56e-02h 7\n", - " 26r 0.0000000e+00 3.18e-01 1.37e+01 -1.6 1.22e-01 - 1.00e+00 1.56e-02h 7\n", - " 27r 0.0000000e+00 3.18e-01 1.35e+01 -1.6 1.20e-01 - 1.00e+00 1.56e-02h 7\n", - " 28r 0.0000000e+00 3.18e-01 1.33e+01 -1.6 1.18e-01 - 1.00e+00 1.56e-02h 7\n", - " 29r 0.0000000e+00 3.18e-01 1.31e+01 -1.6 1.17e-01 - 1.00e+00 1.56e-02h 7\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 30r 0.0000000e+00 3.18e-01 1.29e+01 -1.6 1.15e-01 - 1.00e+00 1.56e-02h 7\n", - " 31r 0.0000000e+00 3.18e-01 1.28e+01 -1.6 1.13e-01 - 1.00e+00 1.56e-02h 7\n", - " 32r 0.0000000e+00 3.18e-01 4.28e+01 -1.6 1.11e-01 - 1.00e+00 1.00e+00w 1\n", - " 33r 0.0000000e+00 3.18e-01 1.43e-03 -1.6 2.09e-05 - 1.00e+00 1.00e+00w 1\n", - " 34r 0.0000000e+00 3.18e-01 1.37e+01 -3.7 6.94e-02 - 1.00e+00 1.00e+00f 1\n", - " 35r 0.0000000e+00 3.17e-01 3.73e+04 -3.7 3.39e+00 - 1.44e-01 1.00e+00f 1\n", - " 36r 0.0000000e+00 3.17e-01 6.78e+03 -3.7 5.99e-01 - 1.00e+00 1.00e+00f 1\n", - " 37r 0.0000000e+00 3.17e-01 7.66e+00 -3.7 4.92e-03 - 1.00e+00 1.00e+00h 1\n", - " 38r 0.0000000e+00 3.17e-01 1.65e-04 -3.7 9.43e-05 - 1.00e+00 1.00e+00h 1\n", - " 39r 0.0000000e+00 3.17e-01 1.30e+00 -5.6 9.94e-04 - 1.00e+00 1.00e+00f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 40r 0.0000000e+00 3.11e-01 6.82e+04 -5.6 3.21e+01 - 1.41e-01 1.00e+00f 1\n", - " 41r 0.0000000e+00 3.11e-01 1.17e+01 -5.6 4.97e-03 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 41\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 2.2783833299154238e-01 2.2783833299154238e-01\n", - "Constraint violation....: 3.1132475345243688e-01 3.1132475345243688e-01\n", - "Complementarity.........: 2.7808801399127131e-06 2.7808801399127131e-06\n", - "Overall NLP error.......: 3.1132475345243688e-01 3.1132475345243688e-01\n", - "\n", - "\n", - "Number of objective function evaluations = 109\n", - "Number of objective gradient evaluations = 3\n", - "Number of equality constraint evaluations = 109\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 44\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 42\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.008\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Converged to a point of local infeasibility. Problem may be infeasible.\n" - ] - } - ], + "outputs": [], "source": [ "perturb_model(m)" ] @@ -529,42 +377,7 @@ "cell_type": "code", "execution_count": 8, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 1.540E+12\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 WARNINGS\n", - "\n", - " WARNING: 1 Constraint with large residuals (>1.0E-05)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "7 Cautions\n", - "\n", - " Caution: 1 Variable with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 6 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 4 Variables with extreme value (<1.0E-04 or >1.0E+04)\n", - " Caution: 1 Constraint with mismatched terms\n", - " Caution: 3 Variables with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 2 Constraints with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 6 extreme Jacobian Entries (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_constraints_with_large_residuals()\n", - " compute_infeasibility_explanation()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.report_numerical_issues()" ] @@ -582,29 +395,7 @@ "cell_type": "code", "execution_count": 9, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following variable(s) are associated with extreme Jacobian values (<1.0E-04 or>1.0E+04):\n", - "\n", - " fs.equil.control_volume.properties_out[0.0].flow_vol: 9.427E+07\n", - " fs.equil.control_volume.properties_out[0.0].temperature: 4.172E+06\n", - " fs.equil.control_volume.rate_reaction_extent[0.0,R1]: 4.900E+04\n", - "\n", - "====================================================================================\n", - "====================================================================================\n", - "The following constraint(s) are associated with extreme Jacobian values (<1.0E-04 or>1.0E+04):\n", - "\n", - " fs.equil.control_volume.enthalpy_balances[0.0]: 9.436E+07\n", - " fs.equil.control_volume.material_balances[0.0,Liq,H2O]: 5.539E+04\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.display_variables_with_extreme_jacobians()\n", "dt.display_constraints_with_extreme_jacobians()" @@ -625,15 +416,7 @@ "cell_type": "code", "execution_count": 10, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "fs.equil.control_volume.properties_in[0.0].flow_vol*fs.equil.control_volume.properties_in[0.0].conc_mol_comp[H2O] - fs.equil.control_volume.properties_out[0.0].flow_vol*fs.equil.control_volume.properties_out[0.0].conc_mol_comp[H2O] + fs.equil.control_volume.rate_reaction_generation[0.0,Liq,H2O] == 0" - ] - } - ], + "outputs": [], "source": [ "from idaes.core.util.misc import print_compact_form\n", "\n", @@ -653,15 +436,7 @@ "cell_type": "code", "execution_count": 11, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "fs.properties.dens_mol*fs.properties.cp_mol*fs.equil.control_volume.properties_in[0.0].flow_vol*(fs.equil.control_volume.properties_in[0.0].temperature - fs.properties.temperature_ref) - fs.properties.dens_mol*fs.properties.cp_mol*fs.equil.control_volume.properties_out[0.0].flow_vol*(fs.equil.control_volume.properties_out[0.0].temperature - fs.properties.temperature_ref) + fs.equil.control_volume.heat[0.0] + fs.equil.control_volume.heat_of_reaction[0.0] == 0" - ] - } - ], + "outputs": [], "source": [ "print_compact_form(m.fs.equil.control_volume.enthalpy_balances[0.0])" ] @@ -735,31 +510,7 @@ "cell_type": "code", "execution_count": 13, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Help on function call_submodel_scaler_method in module idaes.core.scaling.custom_scaler_base:\n", - "\n", - "call_submodel_scaler_method(self, submodel, method: str, submodel_scalers: pyomo.common.collections.component_map.ComponentMap = None, overwrite: bool = False)\n", - " Call scaling method for submodel.\n", - " \n", - " Scaler for submodel is taken from submodel_scalers if present, otherwise the\n", - " default scaler for the submodel is used.\n", - " \n", - " Args:\n", - " submodel: submodel to be scaled\n", - " submodel_scalers: user provided ComponentMap of Scalers to use for submodels\n", - " method: name of method to call from submodel (as string)\n", - " overwrite: whether to overwrite existing scaling factors\n", - " \n", - " Returns:\n", - " None\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "help(CustomScalerBase.call_submodel_scaler_method)" ] @@ -797,29 +548,7 @@ "cell_type": "code", "execution_count": 14, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Help on function propagate_state_scaling in module idaes.core.scaling.custom_scaler_base:\n", - "\n", - "propagate_state_scaling(self, target_state, source_state, overwrite: bool = False)\n", - " Propagate scaling of state variables from one StateBlock to another.\n", - " \n", - " Indexing of target and source StateBlocks must match.\n", - " \n", - " Args:\n", - " target_state: StateBlock to set scaling factors on\n", - " source_state: StateBlock to use as source for scaling factors\n", - " overwrite: whether to overwrite existing scaling factors\n", - " \n", - " Returns:\n", - " None\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "help(CustomScalerBase.propagate_state_scaling)" ] @@ -1009,89 +738,7 @@ "cell_type": "code", "execution_count": 18, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Model Solved\n", - "\n", - "Scaling Factors for fs.equil\n", - "\n", - "Variable Scaling Factor Value Scaled Value\n", - "fs.equil.control_volume.properties_in[0.0].flow_vol 1.000E+02 1.000E-03 1.000E-01\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[H2O] 1.000E-04 5.539E+04 5.539E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[NaOH] 1.000E-02 1.000E+02 1.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[EthylAcetate] 1.000E-02 1.000E+02 1.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[SodiumAcetate] 1.000E-02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[Ethanol] 1.000E-02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].temperature 3.219E-03 3.031E+02 9.759E-01\n", - "fs.equil.control_volume.properties_in[0.0].pressure 1.000E-05 1.013E+05 1.013E+00\n", - "fs.equil.control_volume.properties_out[0.0].flow_vol 1.000E+02 1.000E-03 1.000E-01\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[H2O] 1.000E-04 5.539E+04 5.539E+00\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[NaOH] 1.000E-02 6.250E-02 6.250E-04\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[EthylAcetate] 1.000E-02 6.250E-02 6.250E-04\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[SodiumAcetate] 1.000E-02 9.994E+01 9.994E-01\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[Ethanol] 1.000E-02 9.994E+01 9.994E-01\n", - "fs.equil.control_volume.properties_out[0.0].temperature 3.219E-03 3.043E+02 9.796E-01\n", - "fs.equil.control_volume.properties_out[0.0].pressure 1.000E-05 1.013E+05 1.013E+00\n", - "fs.equil.control_volume.heat[0.0] None 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.deltaP[0.0] None 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,H2O] None 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,NaOH] None -9.994E-02 -9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,EthylAcetate] None -9.994E-02 -9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,SodiumAcetate] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,Ethanol] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.rate_reaction_extent[0.0,R1] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.reactions[0.0].reaction_rate[R1] 1.000E+02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.reactions[0.0].k_rxn 5.424E+00 1.304E-01 7.075E-01\n", - "\n", - "Constraint Scaling Factor\n", - "fs.equil.rate_reaction_constraint[0.0,R1] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,H2O] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,NaOH] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,EthylAcetate] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,SodiumAcetate] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,Ethanol] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,H2O] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,NaOH] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,EthylAcetate] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,SodiumAcetate] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,Ethanol] None\n", - "fs.equil.control_volume.enthalpy_balances[0.0] None\n", - "fs.equil.control_volume.pressure_balance[0.0] None\n", - "fs.equil.control_volume.properties_out[0.0].conc_water_eqn 1.000E-04\n", - "fs.equil.control_volume.reactions[0.0].rate_expression[R1] 5.424E-04\n", - "fs.equil.control_volume.reactions[0.0].arrhenius_eqn 5.424E+00\n", - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 3.022E+09\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 WARNINGS\n", - "\n", - " WARNING: 2 Variables at or outside bounds (tol=0.0E+00)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "5 Cautions\n", - "\n", - " Caution: 2 Variables with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 6 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 4 Variables with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 2 Constraints with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 6 extreme Jacobian Entries (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_variables_at_or_outside_bounds()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "check_scaling()" ] @@ -1296,89 +943,7 @@ "cell_type": "code", "execution_count": 20, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Model Solved\n", - "\n", - "Scaling Factors for fs.equil\n", - "\n", - "Variable Scaling Factor Value Scaled Value\n", - "fs.equil.control_volume.properties_in[0.0].flow_vol 1.000E+02 1.000E-03 1.000E-01\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[H2O] 1.000E-04 5.539E+04 5.539E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[NaOH] 1.000E-02 1.000E+02 1.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[EthylAcetate] 1.000E-02 1.000E+02 1.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[SodiumAcetate] 1.000E-02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[Ethanol] 1.000E-02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].temperature 3.219E-03 3.031E+02 9.759E-01\n", - "fs.equil.control_volume.properties_in[0.0].pressure 1.000E-05 1.013E+05 1.013E+00\n", - "fs.equil.control_volume.properties_out[0.0].flow_vol 1.000E+02 1.000E-03 1.000E-01\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[H2O] 1.000E-04 5.539E+04 5.539E+00\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[NaOH] 1.000E-02 6.250E-02 6.250E-04\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[EthylAcetate] 1.000E-02 6.250E-02 6.250E-04\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[SodiumAcetate] 1.000E-02 9.994E+01 9.994E-01\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[Ethanol] 1.000E-02 9.994E+01 9.994E-01\n", - "fs.equil.control_volume.properties_out[0.0].temperature 3.219E-03 3.043E+02 9.796E-01\n", - "fs.equil.control_volume.properties_out[0.0].pressure 1.000E-05 1.013E+05 1.013E+00\n", - "fs.equil.control_volume.heat[0.0] 4.794E-04 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.deltaP[0.0] 1.000E-04 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,H2O] None 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,NaOH] None -9.994E-02 -9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,EthylAcetate] None -9.994E-02 -9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,SodiumAcetate] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,Ethanol] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.rate_reaction_extent[0.0,R1] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.reactions[0.0].reaction_rate[R1] 1.000E+02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.reactions[0.0].k_rxn 5.424E+00 1.304E-01 7.075E-01\n", - "\n", - "Constraint Scaling Factor\n", - "fs.equil.rate_reaction_constraint[0.0,R1] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,H2O] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,NaOH] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,EthylAcetate] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,SodiumAcetate] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,Ethanol] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,H2O] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,NaOH] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,EthylAcetate] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,SodiumAcetate] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,Ethanol] None\n", - "fs.equil.control_volume.enthalpy_balances[0.0] None\n", - "fs.equil.control_volume.pressure_balance[0.0] None\n", - "fs.equil.control_volume.properties_out[0.0].conc_water_eqn 1.000E-04\n", - "fs.equil.control_volume.reactions[0.0].rate_expression[R1] 5.424E-04\n", - "fs.equil.control_volume.reactions[0.0].arrhenius_eqn 5.424E+00\n", - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 3.022E+09\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 WARNINGS\n", - "\n", - " WARNING: 2 Variables at or outside bounds (tol=0.0E+00)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "5 Cautions\n", - "\n", - " Caution: 2 Variables with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 6 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 4 Variables with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 2 Constraints with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 6 extreme Jacobian Entries (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_variables_at_or_outside_bounds()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "check_scaling()" ] @@ -1558,87 +1123,7 @@ "cell_type": "code", "execution_count": 22, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Model Solved\n", - "\n", - "Scaling Factors for fs.equil\n", - "\n", - "Variable Scaling Factor Value Scaled Value\n", - "fs.equil.control_volume.properties_in[0.0].flow_vol 1.000E+02 1.000E-03 1.000E-01\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[H2O] 1.000E-04 5.539E+04 5.539E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[NaOH] 1.000E-02 1.000E+02 1.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[EthylAcetate] 1.000E-02 1.000E+02 1.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[SodiumAcetate] 1.000E-02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[Ethanol] 1.000E-02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].temperature 3.219E-03 3.031E+02 9.759E-01\n", - "fs.equil.control_volume.properties_in[0.0].pressure 1.000E-05 1.013E+05 1.013E+00\n", - "fs.equil.control_volume.properties_out[0.0].flow_vol 1.000E+02 1.000E-03 1.000E-01\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[H2O] 1.000E-04 5.539E+04 5.539E+00\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[NaOH] 1.000E-02 6.250E-02 6.250E-04\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[EthylAcetate] 1.000E-02 6.250E-02 6.250E-04\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[SodiumAcetate] 1.000E-02 9.994E+01 9.994E-01\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[Ethanol] 1.000E-02 9.994E+01 9.994E-01\n", - "fs.equil.control_volume.properties_out[0.0].temperature 3.219E-03 3.043E+02 9.796E-01\n", - "fs.equil.control_volume.properties_out[0.0].pressure 1.000E-05 1.013E+05 1.013E+00\n", - "fs.equil.control_volume.heat[0.0] 4.794E-04 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.deltaP[0.0] 1.000E-04 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,H2O] None 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,NaOH] None -9.994E-02 -9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,EthylAcetate] None -9.994E-02 -9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,SodiumAcetate] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,Ethanol] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.rate_reaction_extent[0.0,R1] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.reactions[0.0].reaction_rate[R1] 1.000E+02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.reactions[0.0].k_rxn 5.424E+00 1.304E-01 7.075E-01\n", - "\n", - "Constraint Scaling Factor\n", - "fs.equil.rate_reaction_constraint[0.0,R1] 1.000E+02\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,H2O] 1.000E+00\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,NaOH] 1.000E+01\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,EthylAcetate] 1.000E+01\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,SodiumAcetate] 1.000E+01\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,Ethanol] 1.000E+01\n", - "fs.equil.control_volume.material_balances[0.0,Liq,H2O] 1.000E-02\n", - "fs.equil.control_volume.material_balances[0.0,Liq,NaOH] 1.000E+00\n", - "fs.equil.control_volume.material_balances[0.0,Liq,EthylAcetate] 1.000E+00\n", - "fs.equil.control_volume.material_balances[0.0,Liq,SodiumAcetate] 1.000E+00\n", - "fs.equil.control_volume.material_balances[0.0,Liq,Ethanol] 1.000E+00\n", - "fs.equil.control_volume.enthalpy_balances[0.0] 7.715E-08\n", - "fs.equil.control_volume.pressure_balance[0.0] 9.869E-06\n", - "fs.equil.control_volume.properties_out[0.0].conc_water_eqn 1.000E-04\n", - "fs.equil.control_volume.reactions[0.0].rate_expression[R1] 5.424E-04\n", - "fs.equil.control_volume.reactions[0.0].arrhenius_eqn 5.424E+00\n", - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 7.182E+04\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 WARNINGS\n", - "\n", - " WARNING: 2 Variables at or outside bounds (tol=0.0E+00)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "3 Cautions\n", - "\n", - " Caution: 2 Variables with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 6 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 2 extreme Jacobian Entries (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_variables_at_or_outside_bounds()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "check_scaling()" ] @@ -1689,43 +1174,7 @@ "cell_type": "code", "execution_count": 24, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'scaling_factor' that contains 10\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "\n", - "Model Solved\n", - "\n", - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 3.863E+06\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 WARNINGS\n", - "\n", - " WARNING: 2 Variables at or outside bounds (tol=0.0E+00)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "4 Cautions\n", - "\n", - " Caution: 2 Variables with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 6 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 2 Variables with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 7 extreme Jacobian Entries (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_variables_at_or_outside_bounds()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "from idaes.core.scaling import AutoScaler\n", "\n", @@ -1796,91 +1245,7 @@ "cell_type": "code", "execution_count": 26, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: linear_solver=ma57\n", - "max_iter=200\n", - "nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma57.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 21\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 9\n", - "\n", - "Total number of variables............................: 8\n", - " variables with only lower bounds: 5\n", - " variables with lower and upper bounds: 1\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 8\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 5.53e+02 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "Reallocating memory for MA57: lfact (247)\n", - " 1 0.0000000e+00 5.53e+02 1.20e+00 -1.0 9.95e+02 - 2.00e-05 1.96e-05h 1\n", - " 2 0.0000000e+00 5.53e+02 1.20e+00 -1.0 9.57e+02 - 2.06e-05 2.00e-05h 1\n", - " 3 0.0000000e+00 5.53e+02 7.36e+01 -1.0 9.25e+02 - 4.36e-04 4.06e-05h 1\n", - " 4 0.0000000e+00 5.53e+02 3.34e+05 -1.0 8.55e+02 - 2.41e-04 1.21e-03f 1\n", - " 5 0.0000000e+00 5.40e+02 6.59e+03 -1.0 9.98e+01 - 2.25e-04 2.34e-02f 1\n", - " 6 0.0000000e+00 5.24e+02 1.11e+08 -1.0 9.74e+01 - 2.54e-02 2.84e-02f 1\n", - " 7 0.0000000e+00 2.36e+02 2.03e+06 -1.0 9.47e+01 - 7.09e-02 5.49e-01h 1\n", - " 8 0.0000000e+00 8.62e+01 6.37e+10 -1.0 4.27e+01 - 8.23e-03 6.35e-01h 1\n", - " 9 0.0000000e+00 1.96e+00 4.93e+10 -1.0 1.56e+01 - 1.00e+00 1.00e+00h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 0.0000000e+00 2.05e-04 2.15e+09 -1.0 3.70e-02 - 1.00e+00 1.00e+00h 1\n", - " 11 0.0000000e+00 6.28e-15 2.56e+05 -1.0 2.05e-04 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 11\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 6.2780236478193237e-15 6.2780236478193237e-15\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 6.2780236478193237e-15 6.2780236478193237e-15\n", - "\n", - "\n", - "Number of objective function evaluations = 12\n", - "Number of objective gradient evaluations = 12\n", - "Number of equality constraint evaluations = 12\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 12\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 11\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "m = build_model()\n", "\n", diff --git a/idaes_examples/notebooks/docs/scaling/scaler_workshop_usr.ipynb b/idaes_examples/notebooks/docs/scaling/scaler_workshop_usr.ipynb index a7ba87bb..fcf9f812 100644 --- a/idaes_examples/notebooks/docs/scaling/scaler_workshop_usr.ipynb +++ b/idaes_examples/notebooks/docs/scaling/scaler_workshop_usr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -158,43 +159,7 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 5 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 16 (External: 0)\n", - " Free Variables with only lower bounds: 6\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 2\n", - " Fixed Variables in Activated Constraints: 10 (External: 0)\n", - " Activated Equality Constraints: 16 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 Cautions\n", - "\n", - " Caution: 4 variables fixed to 0\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " Try to initialize/solve your model and then call report_numerical_issues()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "m = build_model()\n", "\n", @@ -258,124 +223,7 @@ "cell_type": "code", "execution_count": 6, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: linear_solver=ma57\n", - "max_iter=200\n", - "nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma57.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 21\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 9\n", - "\n", - "Total number of variables............................: 8\n", - " variables with only lower bounds: 5\n", - " variables with lower and upper bounds: 1\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 8\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 9.09e+07 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "Reallocating memory for MA57: lfact (247)\n", - " 1r 0.0000000e+00 9.09e+07 9.99e+02 2.5 0.00e+00 - 0.00e+00 7.73e-09R 9\n", - " 2r 0.0000000e+00 8.42e+07 8.24e+03 2.5 7.20e+02 - 1.64e-02 2.59e-02f 1\n", - " 3r 0.0000000e+00 8.37e+07 7.72e+03 1.8 8.82e+04 - 5.56e-04 3.77e-05f 1\n", - " 4r 0.0000000e+00 3.76e+07 2.65e+04 1.8 1.13e+03 0.0 1.27e-01 1.63e-01f 1\n", - " 5r 0.0000000e+00 3.60e+07 2.30e+04 1.8 6.83e+01 1.3 7.53e-02 1.45e-01f 1\n", - " 6r 0.0000000e+00 4.17e+07 1.77e+04 1.8 2.10e+02 0.9 7.11e-02 1.47e-01f 1\n", - " 7r 0.0000000e+00 4.08e+07 1.75e+04 1.8 3.95e+02 0.4 2.35e-01 8.19e-03f 1\n", - " 8r 0.0000000e+00 3.13e+07 1.75e+04 1.8 1.12e+03 -0.1 3.57e-01 3.16e-02f 1\n", - " 9r 0.0000000e+00 7.77e+06 1.74e+04 1.8 1.00e+04 - 1.43e-02 9.06e-03f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10r 0.0000000e+00 7.36e+06 1.70e+04 1.8 2.14e+02 - 2.20e-01 2.38e-02f 1\n", - " 11r 0.0000000e+00 5.93e+06 1.67e+04 1.8 1.72e+02 - 7.89e-01 1.95e-01f 1\n", - " 12r 0.0000000e+00 1.54e+06 3.54e+04 1.8 1.06e+02 - 8.80e-01 7.41e-01f 1\n", - " 13r 0.0000000e+00 1.21e+06 2.79e+04 1.8 4.60e+00 - 1.00e+00 2.12e-01h 1\n", - " 14r 0.0000000e+00 3.31e+03 4.79e+01 1.8 2.39e+00 - 1.00e+00 1.00e+00f 1\n", - " 15r 0.0000000e+00 2.85e+03 7.72e+02 -0.2 2.01e+00 - 9.81e-01 9.09e-01f 1\n", - " 16r 0.0000000e+00 2.47e+03 6.60e+02 -0.2 9.87e-01 - 1.00e+00 1.48e-01f 1\n", - " 17r 0.0000000e+00 3.18e-01 8.47e+01 -0.2 1.39e-01 - 1.00e+00 1.00e+00f 1\n", - " 18r 0.0000000e+00 3.18e-01 6.25e+01 -0.2 1.96e-01 - 1.00e+00 1.00e+00f 1\n", - " 19r 0.0000000e+00 3.18e-01 5.46e+00 -0.2 3.26e-02 - 1.00e+00 1.00e+00h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 20r 0.0000000e+00 3.18e-01 1.44e+02 -1.6 2.34e-01 - 1.00e+00 1.00e+00f 1\n", - " 21r 0.0000000e+00 3.18e-01 1.45e+01 -1.6 9.26e-02 - 9.13e-01 1.00e+00f 1\n", - " 22r 0.0000000e+00 3.18e-01 1.46e+01 -1.6 1.71e-01 - 1.00e+00 1.25e-01f 4\n", - " 23r 0.0000000e+00 3.18e-01 1.44e+01 -1.6 1.24e-01 - 1.00e+00 1.56e-02h 7\n", - " 24r 0.0000000e+00 3.18e-01 1.41e+01 -1.6 1.27e-01 - 1.00e+00 1.56e-02h 7\n", - " 25r 0.0000000e+00 3.18e-01 1.39e+01 -1.6 1.24e-01 - 1.00e+00 1.56e-02h 7\n", - " 26r 0.0000000e+00 3.18e-01 1.37e+01 -1.6 1.22e-01 - 1.00e+00 1.56e-02h 7\n", - " 27r 0.0000000e+00 3.18e-01 1.35e+01 -1.6 1.20e-01 - 1.00e+00 1.56e-02h 7\n", - " 28r 0.0000000e+00 3.18e-01 1.33e+01 -1.6 1.18e-01 - 1.00e+00 1.56e-02h 7\n", - " 29r 0.0000000e+00 3.18e-01 1.31e+01 -1.6 1.17e-01 - 1.00e+00 1.56e-02h 7\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 30r 0.0000000e+00 3.18e-01 1.29e+01 -1.6 1.15e-01 - 1.00e+00 1.56e-02h 7\n", - " 31r 0.0000000e+00 3.18e-01 1.28e+01 -1.6 1.13e-01 - 1.00e+00 1.56e-02h 7\n", - " 32r 0.0000000e+00 3.18e-01 4.28e+01 -1.6 1.11e-01 - 1.00e+00 1.00e+00w 1\n", - " 33r 0.0000000e+00 3.18e-01 1.43e-03 -1.6 2.09e-05 - 1.00e+00 1.00e+00w 1\n", - " 34r 0.0000000e+00 3.18e-01 1.37e+01 -3.7 6.94e-02 - 1.00e+00 1.00e+00f 1\n", - " 35r 0.0000000e+00 3.17e-01 3.73e+04 -3.7 3.39e+00 - 1.44e-01 1.00e+00f 1\n", - " 36r 0.0000000e+00 3.17e-01 6.78e+03 -3.7 5.99e-01 - 1.00e+00 1.00e+00f 1\n", - " 37r 0.0000000e+00 3.17e-01 7.66e+00 -3.7 4.92e-03 - 1.00e+00 1.00e+00h 1\n", - " 38r 0.0000000e+00 3.17e-01 1.65e-04 -3.7 9.43e-05 - 1.00e+00 1.00e+00h 1\n", - " 39r 0.0000000e+00 3.17e-01 1.30e+00 -5.6 9.94e-04 - 1.00e+00 1.00e+00f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 40r 0.0000000e+00 3.11e-01 6.82e+04 -5.6 3.21e+01 - 1.41e-01 1.00e+00f 1\n", - " 41r 0.0000000e+00 3.11e-01 1.17e+01 -5.6 4.97e-03 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 41\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 2.2783833299154238e-01 2.2783833299154238e-01\n", - "Constraint violation....: 3.1132475345243688e-01 3.1132475345243688e-01\n", - "Complementarity.........: 2.7808801399127131e-06 2.7808801399127131e-06\n", - "Overall NLP error.......: 3.1132475345243688e-01 3.1132475345243688e-01\n", - "\n", - "\n", - "Number of objective function evaluations = 109\n", - "Number of objective gradient evaluations = 3\n", - "Number of equality constraint evaluations = 109\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 44\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 42\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.008\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Converged to a point of local infeasibility. Problem may be infeasible.\n" - ] - } - ], + "outputs": [], "source": [ "perturb_model(m)" ] @@ -529,42 +377,7 @@ "cell_type": "code", "execution_count": 8, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 1.540E+12\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 WARNINGS\n", - "\n", - " WARNING: 1 Constraint with large residuals (>1.0E-05)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "7 Cautions\n", - "\n", - " Caution: 1 Variable with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 6 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 4 Variables with extreme value (<1.0E-04 or >1.0E+04)\n", - " Caution: 1 Constraint with mismatched terms\n", - " Caution: 3 Variables with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 2 Constraints with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 6 extreme Jacobian Entries (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_constraints_with_large_residuals()\n", - " compute_infeasibility_explanation()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.report_numerical_issues()" ] @@ -582,29 +395,7 @@ "cell_type": "code", "execution_count": 9, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following variable(s) are associated with extreme Jacobian values (<1.0E-04 or>1.0E+04):\n", - "\n", - " fs.equil.control_volume.properties_out[0.0].flow_vol: 9.427E+07\n", - " fs.equil.control_volume.properties_out[0.0].temperature: 4.172E+06\n", - " fs.equil.control_volume.rate_reaction_extent[0.0,R1]: 4.900E+04\n", - "\n", - "====================================================================================\n", - "====================================================================================\n", - "The following constraint(s) are associated with extreme Jacobian values (<1.0E-04 or>1.0E+04):\n", - "\n", - " fs.equil.control_volume.enthalpy_balances[0.0]: 9.436E+07\n", - " fs.equil.control_volume.material_balances[0.0,Liq,H2O]: 5.539E+04\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.display_variables_with_extreme_jacobians()\n", "dt.display_constraints_with_extreme_jacobians()" @@ -625,15 +416,7 @@ "cell_type": "code", "execution_count": 10, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "fs.equil.control_volume.properties_in[0.0].flow_vol*fs.equil.control_volume.properties_in[0.0].conc_mol_comp[H2O] - fs.equil.control_volume.properties_out[0.0].flow_vol*fs.equil.control_volume.properties_out[0.0].conc_mol_comp[H2O] + fs.equil.control_volume.rate_reaction_generation[0.0,Liq,H2O] == 0" - ] - } - ], + "outputs": [], "source": [ "from idaes.core.util.misc import print_compact_form\n", "\n", @@ -653,15 +436,7 @@ "cell_type": "code", "execution_count": 11, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "fs.properties.dens_mol*fs.properties.cp_mol*fs.equil.control_volume.properties_in[0.0].flow_vol*(fs.equil.control_volume.properties_in[0.0].temperature - fs.properties.temperature_ref) - fs.properties.dens_mol*fs.properties.cp_mol*fs.equil.control_volume.properties_out[0.0].flow_vol*(fs.equil.control_volume.properties_out[0.0].temperature - fs.properties.temperature_ref) + fs.equil.control_volume.heat[0.0] + fs.equil.control_volume.heat_of_reaction[0.0] == 0" - ] - } - ], + "outputs": [], "source": [ "print_compact_form(m.fs.equil.control_volume.enthalpy_balances[0.0])" ] @@ -735,31 +510,7 @@ "cell_type": "code", "execution_count": 13, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Help on function call_submodel_scaler_method in module idaes.core.scaling.custom_scaler_base:\n", - "\n", - "call_submodel_scaler_method(self, submodel, method: str, submodel_scalers: pyomo.common.collections.component_map.ComponentMap = None, overwrite: bool = False)\n", - " Call scaling method for submodel.\n", - " \n", - " Scaler for submodel is taken from submodel_scalers if present, otherwise the\n", - " default scaler for the submodel is used.\n", - " \n", - " Args:\n", - " submodel: submodel to be scaled\n", - " submodel_scalers: user provided ComponentMap of Scalers to use for submodels\n", - " method: name of method to call from submodel (as string)\n", - " overwrite: whether to overwrite existing scaling factors\n", - " \n", - " Returns:\n", - " None\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "help(CustomScalerBase.call_submodel_scaler_method)" ] @@ -797,29 +548,7 @@ "cell_type": "code", "execution_count": 14, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Help on function propagate_state_scaling in module idaes.core.scaling.custom_scaler_base:\n", - "\n", - "propagate_state_scaling(self, target_state, source_state, overwrite: bool = False)\n", - " Propagate scaling of state variables from one StateBlock to another.\n", - " \n", - " Indexing of target and source StateBlocks must match.\n", - " \n", - " Args:\n", - " target_state: StateBlock to set scaling factors on\n", - " source_state: StateBlock to use as source for scaling factors\n", - " overwrite: whether to overwrite existing scaling factors\n", - " \n", - " Returns:\n", - " None\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "help(CustomScalerBase.propagate_state_scaling)" ] @@ -1009,89 +738,7 @@ "cell_type": "code", "execution_count": 18, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Model Solved\n", - "\n", - "Scaling Factors for fs.equil\n", - "\n", - "Variable Scaling Factor Value Scaled Value\n", - "fs.equil.control_volume.properties_in[0.0].flow_vol 1.000E+02 1.000E-03 1.000E-01\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[H2O] 1.000E-04 5.539E+04 5.539E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[NaOH] 1.000E-02 1.000E+02 1.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[EthylAcetate] 1.000E-02 1.000E+02 1.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[SodiumAcetate] 1.000E-02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[Ethanol] 1.000E-02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].temperature 3.219E-03 3.031E+02 9.759E-01\n", - "fs.equil.control_volume.properties_in[0.0].pressure 1.000E-05 1.013E+05 1.013E+00\n", - "fs.equil.control_volume.properties_out[0.0].flow_vol 1.000E+02 1.000E-03 1.000E-01\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[H2O] 1.000E-04 5.539E+04 5.539E+00\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[NaOH] 1.000E-02 6.250E-02 6.250E-04\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[EthylAcetate] 1.000E-02 6.250E-02 6.250E-04\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[SodiumAcetate] 1.000E-02 9.994E+01 9.994E-01\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[Ethanol] 1.000E-02 9.994E+01 9.994E-01\n", - "fs.equil.control_volume.properties_out[0.0].temperature 3.219E-03 3.043E+02 9.796E-01\n", - "fs.equil.control_volume.properties_out[0.0].pressure 1.000E-05 1.013E+05 1.013E+00\n", - "fs.equil.control_volume.heat[0.0] None 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.deltaP[0.0] None 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,H2O] None 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,NaOH] None -9.994E-02 -9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,EthylAcetate] None -9.994E-02 -9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,SodiumAcetate] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,Ethanol] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.rate_reaction_extent[0.0,R1] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.reactions[0.0].reaction_rate[R1] 1.000E+02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.reactions[0.0].k_rxn 5.424E+00 1.304E-01 7.075E-01\n", - "\n", - "Constraint Scaling Factor\n", - "fs.equil.rate_reaction_constraint[0.0,R1] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,H2O] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,NaOH] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,EthylAcetate] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,SodiumAcetate] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,Ethanol] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,H2O] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,NaOH] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,EthylAcetate] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,SodiumAcetate] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,Ethanol] None\n", - "fs.equil.control_volume.enthalpy_balances[0.0] None\n", - "fs.equil.control_volume.pressure_balance[0.0] None\n", - "fs.equil.control_volume.properties_out[0.0].conc_water_eqn 1.000E-04\n", - "fs.equil.control_volume.reactions[0.0].rate_expression[R1] 5.424E-04\n", - "fs.equil.control_volume.reactions[0.0].arrhenius_eqn 5.424E+00\n", - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 3.022E+09\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 WARNINGS\n", - "\n", - " WARNING: 2 Variables at or outside bounds (tol=0.0E+00)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "5 Cautions\n", - "\n", - " Caution: 2 Variables with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 6 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 4 Variables with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 2 Constraints with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 6 extreme Jacobian Entries (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_variables_at_or_outside_bounds()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "check_scaling()" ] @@ -1296,89 +943,7 @@ "cell_type": "code", "execution_count": 20, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Model Solved\n", - "\n", - "Scaling Factors for fs.equil\n", - "\n", - "Variable Scaling Factor Value Scaled Value\n", - "fs.equil.control_volume.properties_in[0.0].flow_vol 1.000E+02 1.000E-03 1.000E-01\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[H2O] 1.000E-04 5.539E+04 5.539E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[NaOH] 1.000E-02 1.000E+02 1.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[EthylAcetate] 1.000E-02 1.000E+02 1.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[SodiumAcetate] 1.000E-02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[Ethanol] 1.000E-02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].temperature 3.219E-03 3.031E+02 9.759E-01\n", - "fs.equil.control_volume.properties_in[0.0].pressure 1.000E-05 1.013E+05 1.013E+00\n", - "fs.equil.control_volume.properties_out[0.0].flow_vol 1.000E+02 1.000E-03 1.000E-01\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[H2O] 1.000E-04 5.539E+04 5.539E+00\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[NaOH] 1.000E-02 6.250E-02 6.250E-04\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[EthylAcetate] 1.000E-02 6.250E-02 6.250E-04\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[SodiumAcetate] 1.000E-02 9.994E+01 9.994E-01\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[Ethanol] 1.000E-02 9.994E+01 9.994E-01\n", - "fs.equil.control_volume.properties_out[0.0].temperature 3.219E-03 3.043E+02 9.796E-01\n", - "fs.equil.control_volume.properties_out[0.0].pressure 1.000E-05 1.013E+05 1.013E+00\n", - "fs.equil.control_volume.heat[0.0] 4.794E-04 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.deltaP[0.0] 1.000E-04 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,H2O] None 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,NaOH] None -9.994E-02 -9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,EthylAcetate] None -9.994E-02 -9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,SodiumAcetate] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,Ethanol] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.rate_reaction_extent[0.0,R1] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.reactions[0.0].reaction_rate[R1] 1.000E+02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.reactions[0.0].k_rxn 5.424E+00 1.304E-01 7.075E-01\n", - "\n", - "Constraint Scaling Factor\n", - "fs.equil.rate_reaction_constraint[0.0,R1] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,H2O] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,NaOH] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,EthylAcetate] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,SodiumAcetate] None\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,Ethanol] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,H2O] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,NaOH] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,EthylAcetate] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,SodiumAcetate] None\n", - "fs.equil.control_volume.material_balances[0.0,Liq,Ethanol] None\n", - "fs.equil.control_volume.enthalpy_balances[0.0] None\n", - "fs.equil.control_volume.pressure_balance[0.0] None\n", - "fs.equil.control_volume.properties_out[0.0].conc_water_eqn 1.000E-04\n", - "fs.equil.control_volume.reactions[0.0].rate_expression[R1] 5.424E-04\n", - "fs.equil.control_volume.reactions[0.0].arrhenius_eqn 5.424E+00\n", - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 3.022E+09\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 WARNINGS\n", - "\n", - " WARNING: 2 Variables at or outside bounds (tol=0.0E+00)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "5 Cautions\n", - "\n", - " Caution: 2 Variables with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 6 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 4 Variables with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 2 Constraints with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 6 extreme Jacobian Entries (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_variables_at_or_outside_bounds()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "check_scaling()" ] @@ -1558,87 +1123,7 @@ "cell_type": "code", "execution_count": 22, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Model Solved\n", - "\n", - "Scaling Factors for fs.equil\n", - "\n", - "Variable Scaling Factor Value Scaled Value\n", - "fs.equil.control_volume.properties_in[0.0].flow_vol 1.000E+02 1.000E-03 1.000E-01\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[H2O] 1.000E-04 5.539E+04 5.539E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[NaOH] 1.000E-02 1.000E+02 1.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[EthylAcetate] 1.000E-02 1.000E+02 1.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[SodiumAcetate] 1.000E-02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].conc_mol_comp[Ethanol] 1.000E-02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.properties_in[0.0].temperature 3.219E-03 3.031E+02 9.759E-01\n", - "fs.equil.control_volume.properties_in[0.0].pressure 1.000E-05 1.013E+05 1.013E+00\n", - "fs.equil.control_volume.properties_out[0.0].flow_vol 1.000E+02 1.000E-03 1.000E-01\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[H2O] 1.000E-04 5.539E+04 5.539E+00\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[NaOH] 1.000E-02 6.250E-02 6.250E-04\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[EthylAcetate] 1.000E-02 6.250E-02 6.250E-04\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[SodiumAcetate] 1.000E-02 9.994E+01 9.994E-01\n", - "fs.equil.control_volume.properties_out[0.0].conc_mol_comp[Ethanol] 1.000E-02 9.994E+01 9.994E-01\n", - "fs.equil.control_volume.properties_out[0.0].temperature 3.219E-03 3.043E+02 9.796E-01\n", - "fs.equil.control_volume.properties_out[0.0].pressure 1.000E-05 1.013E+05 1.013E+00\n", - "fs.equil.control_volume.heat[0.0] 4.794E-04 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.deltaP[0.0] 1.000E-04 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,H2O] None 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,NaOH] None -9.994E-02 -9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,EthylAcetate] None -9.994E-02 -9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,SodiumAcetate] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.rate_reaction_generation[0.0,Liq,Ethanol] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.rate_reaction_extent[0.0,R1] None 9.994E-02 9.994E-02\n", - "fs.equil.control_volume.reactions[0.0].reaction_rate[R1] 1.000E+02 0.000E+00 0.000E+00\n", - "fs.equil.control_volume.reactions[0.0].k_rxn 5.424E+00 1.304E-01 7.075E-01\n", - "\n", - "Constraint Scaling Factor\n", - "fs.equil.rate_reaction_constraint[0.0,R1] 1.000E+02\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,H2O] 1.000E+00\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,NaOH] 1.000E+01\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,EthylAcetate] 1.000E+01\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,SodiumAcetate] 1.000E+01\n", - "fs.equil.control_volume.rate_reaction_stoichiometry_constraint[0.0,Liq,Ethanol] 1.000E+01\n", - "fs.equil.control_volume.material_balances[0.0,Liq,H2O] 1.000E-02\n", - "fs.equil.control_volume.material_balances[0.0,Liq,NaOH] 1.000E+00\n", - "fs.equil.control_volume.material_balances[0.0,Liq,EthylAcetate] 1.000E+00\n", - "fs.equil.control_volume.material_balances[0.0,Liq,SodiumAcetate] 1.000E+00\n", - "fs.equil.control_volume.material_balances[0.0,Liq,Ethanol] 1.000E+00\n", - "fs.equil.control_volume.enthalpy_balances[0.0] 7.715E-08\n", - "fs.equil.control_volume.pressure_balance[0.0] 9.869E-06\n", - "fs.equil.control_volume.properties_out[0.0].conc_water_eqn 1.000E-04\n", - "fs.equil.control_volume.reactions[0.0].rate_expression[R1] 5.424E-04\n", - "fs.equil.control_volume.reactions[0.0].arrhenius_eqn 5.424E+00\n", - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 7.182E+04\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 WARNINGS\n", - "\n", - " WARNING: 2 Variables at or outside bounds (tol=0.0E+00)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "3 Cautions\n", - "\n", - " Caution: 2 Variables with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 6 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 2 extreme Jacobian Entries (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_variables_at_or_outside_bounds()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "check_scaling()" ] @@ -1665,43 +1150,7 @@ "cell_type": "code", "execution_count": 24, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: model contains export suffix 'scaling_factor' that contains 10\n", - "component keys that are not exported as part of the NL file. Skipping.\n", - "\n", - "Model Solved\n", - "\n", - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 3.863E+06\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 WARNINGS\n", - "\n", - " WARNING: 2 Variables at or outside bounds (tol=0.0E+00)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "4 Cautions\n", - "\n", - " Caution: 2 Variables with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 6 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 2 Variables with extreme Jacobian values (<1.0E-04 or >1.0E+04)\n", - " Caution: 7 extreme Jacobian Entries (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_variables_at_or_outside_bounds()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "from idaes.core.scaling import AutoScaler\n", "\n", @@ -1758,91 +1207,7 @@ "cell_type": "code", "execution_count": 26, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: linear_solver=ma57\n", - "max_iter=200\n", - "nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma57.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 21\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 9\n", - "\n", - "Total number of variables............................: 8\n", - " variables with only lower bounds: 5\n", - " variables with lower and upper bounds: 1\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 8\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 5.53e+02 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "Reallocating memory for MA57: lfact (247)\n", - " 1 0.0000000e+00 5.53e+02 1.20e+00 -1.0 9.95e+02 - 2.00e-05 1.96e-05h 1\n", - " 2 0.0000000e+00 5.53e+02 1.20e+00 -1.0 9.57e+02 - 2.06e-05 2.00e-05h 1\n", - " 3 0.0000000e+00 5.53e+02 7.36e+01 -1.0 9.25e+02 - 4.36e-04 4.06e-05h 1\n", - " 4 0.0000000e+00 5.53e+02 3.34e+05 -1.0 8.55e+02 - 2.41e-04 1.21e-03f 1\n", - " 5 0.0000000e+00 5.40e+02 6.59e+03 -1.0 9.98e+01 - 2.25e-04 2.34e-02f 1\n", - " 6 0.0000000e+00 5.24e+02 1.11e+08 -1.0 9.74e+01 - 2.54e-02 2.84e-02f 1\n", - " 7 0.0000000e+00 2.36e+02 2.03e+06 -1.0 9.47e+01 - 7.09e-02 5.49e-01h 1\n", - " 8 0.0000000e+00 8.62e+01 6.37e+10 -1.0 4.27e+01 - 8.23e-03 6.35e-01h 1\n", - " 9 0.0000000e+00 1.96e+00 4.93e+10 -1.0 1.56e+01 - 1.00e+00 1.00e+00h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 0.0000000e+00 2.05e-04 2.15e+09 -1.0 3.70e-02 - 1.00e+00 1.00e+00h 1\n", - " 11 0.0000000e+00 6.28e-15 2.56e+05 -1.0 2.05e-04 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 11\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 6.2780236478193237e-15 6.2780236478193237e-15\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 6.2780236478193237e-15 6.2780236478193237e-15\n", - "\n", - "\n", - "Number of objective function evaluations = 12\n", - "Number of objective gradient evaluations = 12\n", - "Number of equality constraint evaluations = 12\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 12\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 11\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "m = build_model()\n", "\n", diff --git a/idaes_examples/notebooks/docs/surrogates/alamo/alamo_flowsheet_optimization.ipynb b/idaes_examples/notebooks/docs/surrogates/alamo/alamo_flowsheet_optimization.ipynb index 24ac1767..5c38b15e 100644 --- a/idaes_examples/notebooks/docs/surrogates/alamo/alamo_flowsheet_optimization.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/alamo/alamo_flowsheet_optimization.ipynb @@ -1,496 +1,497 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Autothermal Reformer Flowsheet Optimization with ALAMO Surrogate Object\n", - "Author: Brandon Paul \n", - "Maintainer: Brandon Paul \n", - "Updated: 2023-06-01 \n", - "## 1. Introduction\n", - "\n", - "This example demonstrates autothermal reformer optimization leveraging the ALAMO surrogate trainer and IDAES Python wrapper. In this notebook, sampled simulation data will be used to train and validate a surrogate model. IDAES surrogate plotting tools will be utilized to visualize the surrogates on training and validation data. Once validated, integration of the surrogate into an IDAES flowsheet will be demonstrated." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 2. Problem Statement \n", - "\n", - "Within the context of a larger NGFC system, the autothermal reformer generates syngas from air, steam and natural gas for use in a solid-oxide fuel cell (SOFC).\n", - "\n", - "## 2.1. Main Inputs: \n", - "- Bypass fraction (dimensionless) - split fraction of natural gas to bypass AR unit and feed directly to the power island\n", - "- NG-Steam Ratio (dimensionless) - proportion of natural relative to steam fed into AR unit operation\n", - "\n", - "## 2.2. Main Outputs:\n", - "- Steam flowrate (kg/s) - inlet steam fed to AR unit\n", - "- Reformer duty (kW) - required energy input to AR unit\n", - "- Composition (dimensionless) - outlet mole fractions of components (Ar, C2H6, C3H8, C4H10, CH4, CO, CO2, H2, H2O, N2, O2)" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from IPython.display import Image\n", - "from pathlib import Path\n", - "\n", - "\n", - "def datafile_path(name):\n", - " return Path(\"..\") / name\n", - "\n", - "\n", - "Image(datafile_path(\"AR_PFD.png\"))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3. Training and Validating Surrogates" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "First, let's import the required Python, Pyomo and IDAES modules:" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "# Import statements\n", - "import os\n", - "import numpy as np\n", - "import pandas as pd\n", - "\n", - "# Import Pyomo libraries\n", - "from pyomo.environ import (\n", - " ConcreteModel,\n", - " SolverFactory,\n", - " value,\n", - " Var,\n", - " Constraint,\n", - " Set,\n", - " Objective,\n", - " maximize,\n", - ")\n", - "from pyomo.common.timing import TicTocTimer\n", - "\n", - "# Import IDAES libraries\n", - "from idaes.core.surrogate.sampling.data_utils import split_training_validation\n", - "from idaes.core.surrogate.alamopy import AlamoTrainer, AlamoSurrogate\n", - "from idaes.core.surrogate.plotting.sm_plotter import (\n", - " surrogate_scatter2D,\n", - " surrogate_parity,\n", - " surrogate_residual,\n", - ")\n", - "from idaes.core.surrogate.surrogate_block import SurrogateBlock\n", - "from idaes.core import FlowsheetBlock" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.1 Importing Training and Validation Datasets" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this section, we read the dataset from the CSV file located in this directory. 2800 data points were simulated from a rigorous IDAES NGFC flowsheet using a grid sampling method. For simplicity and to reduce training runtime, this example randomly selects 100 data points to use for training/validation. The data is separated using an 80/20 split into training and validation data using the IDAES `split_training_validation()` method." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "# Import Auto-reformer training data\n", - "np.set_printoptions(precision=6, suppress=True)\n", - "\n", - "csv_data = pd.read_csv(datafile_path(\"reformer-data.csv\")) # 2800 data points\n", - "data = csv_data.sample(n=100) # randomly sample points for training/validation\n", - "\n", - "input_data = data.iloc[:, :2]\n", - "output_data = data.iloc[:, 2:]\n", - "\n", - "# Define labels, and split training and validation data\n", - "input_labels = input_data.columns\n", - "output_labels = output_data.columns\n", - "\n", - "n_data = data[input_labels[0]].size\n", - "data_training, data_validation = split_training_validation(\n", - " data, 0.8, seed=n_data\n", - ") # seed=100" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.2 Training Surrogates with ALAMO" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "IDAES provides a Python wrapper for the ALAMO machine learning tool via an imported AlamoTrainer class. Regression settings can be directly set as config attributes, as shown below. In this example, allowed basis term forms include constant and linear functions, monomial power order 2 and 3, variable product power order 1 and 2, and variable ratio power order 1 and 2. ALAMO naturally seeks to minimize the number of basis terms; here, we restrict each surrogate expression to a maximum of 10 basis terms.\n", - "\n", - "Finally, after training the model we save the results and model expressions to a JSON file. Serializing the model in this fashion enables importing a previously trained set of surrogate models into external flowsheets. This feature will be used later." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "# capture long output (not required to use surrogate API)\n", - "from io import StringIO\n", - "import sys\n", - "\n", - "stream = StringIO()\n", - "oldstdout = sys.stdout\n", - "sys.stdout = stream\n", - "\n", - "# Create ALAMO trainer object\n", - "trainer = AlamoTrainer(\n", - " input_labels=input_labels,\n", - " output_labels=output_labels,\n", - " training_dataframe=data_training,\n", - ")\n", - "\n", - "# Set ALAMO options\n", - "trainer.config.constant = True\n", - "trainer.config.linfcns = True\n", - "trainer.config.multi2power = [1, 2]\n", - "trainer.config.monomialpower = [2, 3]\n", - "trainer.config.ratiopower = [1, 2]\n", - "trainer.config.maxterms = [10] * len(output_labels) # max for each surrogate\n", - "trainer.config.filename = os.path.join(os.getcwd(), \"alamo_run.alm\")\n", - "trainer.config.overwrite_files = True\n", - "\n", - "# Train surrogate (calls ALAMO through IDAES ALAMOPy wrapper)\n", - "has_alamo = True\n", - "try:\n", - " success, alm_surr, msg = trainer.train_surrogate()\n", - "except FileNotFoundError as err:\n", - " if \"Could not find ALAMO\" in str(err):\n", - " print(\"ALAMO not found. You must install ALAMO to use this notebook\")\n", - " has_alamo = False\n", - " else:\n", - " raise\n", - "\n", - "if has_alamo:\n", - " # save model to JSON\n", - " model = alm_surr.save_to_file(\"alamo_surrogate.json\", overwrite=True)\n", - "\n", - " # create callable surrogate object\n", - "\n", - " surrogate_expressions = trainer._results[\"Model\"]\n", - " input_labels = trainer._input_labels\n", - " output_labels = trainer._output_labels\n", - " xmin, xmax = [0.1, 0.8], [0.8, 1.2]\n", - " input_bounds = {\n", - " input_labels[i]: (xmin[i], xmax[i]) for i in range(len(input_labels))\n", - " }\n", - "\n", - " alm_surr = AlamoSurrogate(\n", - " surrogate_expressions, input_labels, output_labels, input_bounds\n", - " )\n", - "\n", - " # revert back to normal output capture\n", - " sys.stdout = oldstdout\n", - "\n", - " # display first 50 lines and last 50 lines of output\n", - " celloutput = stream.getvalue().split(\"\\n\")\n", - " for line in celloutput[:50]:\n", - " print(line)\n", - " print(\".\")\n", - " print(\".\")\n", - " print(\".\")\n", - " for line in celloutput[-50:]:\n", - " print(line)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.3 Visualizing surrogates" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that the surrogate models have been trained, the models can be visualized through scatter, parity and residual plots to confirm their validity in the chosen domain. The training data will be visualized first to confirm the surrogates are fit the data, and then the validation data will be visualized to confirm the surrogates accurately predict new output values." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "if has_alamo:\n", - " # visualize with IDAES surrogate plotting tools\n", - " surrogate_scatter2D(alm_surr, data_training, filename=\"alamo_train_scatter2D.pdf\")\n", - " surrogate_parity(alm_surr, data_training, filename=\"alamo_train_parity.pdf\")\n", - " surrogate_residual(alm_surr, data_training, filename=\"alamo_train_residual.pdf\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.4 Model Validation" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "if has_alamo:\n", - " # visualize with IDAES surrogate plotting tools\n", - " surrogate_scatter2D(alm_surr, data_validation, filename=\"alamo_val_scatter2D.pdf\")\n", - " surrogate_parity(alm_surr, data_validation, filename=\"alamo_val_parity.pdf\")\n", - " surrogate_residual(alm_surr, data_validation, filename=\"alamo_val_residual.pdf\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 4. IDAES Flowsheet Integration" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 4.1 Build and Run IDAES Flowsheet" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we will build an IDAES flowsheet and import the surrogate model object. A single ALAMO model accounts for all input and output variables, and the JSON model serialized earlier may be imported into a single SurrogateBlock() component." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "if has_alamo:\n", - " # create the IDAES model and flowsheet\n", - " m = ConcreteModel()\n", - " m.fs = FlowsheetBlock(dynamic=False)\n", - "\n", - " # create flowsheet input variables\n", - " m.fs.bypass_frac = Var(\n", - " initialize=0.80, bounds=[0.1, 0.8], doc=\"natural gas bypass fraction\"\n", - " )\n", - " m.fs.ng_steam_ratio = Var(\n", - " initialize=0.80, bounds=[0.8, 1.2], doc=\"natural gas to steam ratio\"\n", - " )\n", - "\n", - " # create flowsheet output variables\n", - " m.fs.steam_flowrate = Var(initialize=0.2, doc=\"steam flowrate\")\n", - " m.fs.reformer_duty = Var(initialize=10000, doc=\"reformer heat duty\")\n", - " m.fs.AR = Var(initialize=0, doc=\"AR fraction\")\n", - " m.fs.C2H6 = Var(initialize=0, doc=\"C2H6 fraction\")\n", - " m.fs.C3H8 = Var(initialize=0, doc=\"C3H8 fraction\")\n", - " m.fs.C4H10 = Var(initialize=0, doc=\"C4H10 fraction\")\n", - " m.fs.CH4 = Var(initialize=0, doc=\"CH4 fraction\")\n", - " m.fs.CO = Var(initialize=0, doc=\"CO fraction\")\n", - " m.fs.CO2 = Var(initialize=0, doc=\"CO2 fraction\")\n", - " m.fs.H2 = Var(initialize=0, doc=\"H2 fraction\")\n", - " m.fs.H2O = Var(initialize=0, doc=\"H2O fraction\")\n", - " m.fs.N2 = Var(initialize=0, doc=\"N2 fraction\")\n", - " m.fs.O2 = Var(initialize=0, doc=\"O2 fraction\")\n", - "\n", - " # create input and output variable object lists for flowsheet\n", - " inputs = [m.fs.bypass_frac, m.fs.ng_steam_ratio]\n", - " outputs = [\n", - " m.fs.steam_flowrate,\n", - " m.fs.reformer_duty,\n", - " m.fs.AR,\n", - " m.fs.C2H6,\n", - " m.fs.C4H10,\n", - " m.fs.C3H8,\n", - " m.fs.CH4,\n", - " m.fs.CO,\n", - " m.fs.CO2,\n", - " m.fs.H2,\n", - " m.fs.H2O,\n", - " m.fs.N2,\n", - " m.fs.O2,\n", - " ]\n", - "\n", - " # create the Pyomo/IDAES block that corresponds to the surrogate\n", - " # ALAMO\n", - " surrogate = AlamoSurrogate.load_from_file(\"alamo_surrogate.json\")\n", - " m.fs.surrogate = SurrogateBlock()\n", - " m.fs.surrogate.build_model(surrogate, input_vars=inputs, output_vars=outputs)\n", - "\n", - " # fix input values and solve flowsheet\n", - " m.fs.bypass_frac.fix(0.5)\n", - " m.fs.ng_steam_ratio.fix(1)\n", - "\n", - " solver = SolverFactory(\"ipopt\")\n", - " results = solver.solve(m, tee=True)\n", - "else:\n", - " status_obj = None" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's print some model results:" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "if has_alamo:\n", - " print(\"Steam flowrate = \", value(m.fs.steam_flowrate))\n", - " print(\"Reformer duty = \", value(m.fs.reformer_duty))\n", - " print(\"Mole Fraction Ar = \", value(m.fs.AR))\n", - " print(\"Mole Fraction C2H6 = \", value(m.fs.C2H6))\n", - " print(\"Mole Fraction C3H8 = \", value(m.fs.C3H8))\n", - " print(\"Mole Fraction C4H10 = \", value(m.fs.C4H10))\n", - " print(\"Mole Fraction CH4 = \", value(m.fs.CH4))\n", - " print(\"Mole Fraction CO = \", value(m.fs.CO))\n", - " print(\"Mole Fraction CO2 = \", value(m.fs.CO2))\n", - " print(\"Mole Fraction H2 = \", value(m.fs.H2))\n", - " print(\"Mole Fraction H2O = \", value(m.fs.H2O))\n", - " print(\"Mole Fraction N2 = \", value(m.fs.N2))\n", - " print(\"Mole Fraction O2 = \", value(m.fs.O2))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 4.2 Optimizing the Autothermal Reformer\n", - "Extending this example, we will unfix the input variables and optimize hydrogen production. We will restrict nitrogen below 34 mol% of the product stream and leave all other variables unfixed.\n", - "\n", - "Above, variable values are called in reference to actual objects names; however, as shown below this may be done much more compactly by calling the list objects we created earlier." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "if has_alamo:\n", - " # unfix input values and add the objective/constraint to the model\n", - " m.fs.bypass_frac.unfix()\n", - " m.fs.ng_steam_ratio.unfix()\n", - " m.fs.obj = Objective(expr=m.fs.H2, sense=maximize)\n", - " m.fs.con = Constraint(expr=m.fs.N2 <= 0.34)\n", - "\n", - " # solve the model\n", - " tmr = TicTocTimer()\n", - " status = solver.solve(m, tee=True)\n", - " solve_time = tmr.toc(\"solve\")\n", - "\n", - " # print and check results\n", - " assert abs(value(m.fs.H2) - 0.33) <= 0.01\n", - " assert value(m.fs.N2 <= 0.4 + 1e-8)\n", - " print(\"Model status: \", status)\n", - " print(\"Solve time: \", solve_time)\n", - " for var in inputs:\n", - " print(var.name, \": \", value(var))\n", - " for var in outputs:\n", - " print(var.name, \": \", value(var))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.16" - } + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] }, - "nbformat": 4, - "nbformat_minor": 4 -} \ No newline at end of file + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Autothermal Reformer Flowsheet Optimization with ALAMO Surrogate Object\n", + "Author: Brandon Paul \n", + "Maintainer: Brandon Paul \n", + "Updated: 2023-06-01 \n", + "## 1. Introduction\n", + "\n", + "This example demonstrates autothermal reformer optimization leveraging the ALAMO surrogate trainer and IDAES Python wrapper. In this notebook, sampled simulation data will be used to train and validate a surrogate model. IDAES surrogate plotting tools will be utilized to visualize the surrogates on training and validation data. Once validated, integration of the surrogate into an IDAES flowsheet will be demonstrated." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2. Problem Statement \n", + "\n", + "Within the context of a larger NGFC system, the autothermal reformer generates syngas from air, steam and natural gas for use in a solid-oxide fuel cell (SOFC).\n", + "\n", + "## 2.1. Main Inputs: \n", + "- Bypass fraction (dimensionless) - split fraction of natural gas to bypass AR unit and feed directly to the power island\n", + "- NG-Steam Ratio (dimensionless) - proportion of natural relative to steam fed into AR unit operation\n", + "\n", + "## 2.2. Main Outputs:\n", + "- Steam flowrate (kg/s) - inlet steam fed to AR unit\n", + "- Reformer duty (kW) - required energy input to AR unit\n", + "- Composition (dimensionless) - outlet mole fractions of components (Ar, C2H6, C3H8, C4H10, CH4, CO, CO2, H2, H2O, N2, O2)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import Image\n", + "from pathlib import Path\n", + "\n", + "\n", + "def datafile_path(name):\n", + " return Path(\"..\") / name\n", + "\n", + "\n", + "Image(datafile_path(\"AR_PFD.png\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. Training and Validating Surrogates" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "First, let's import the required Python, Pyomo and IDAES modules:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# Import statements\n", + "import os\n", + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "# Import Pyomo libraries\n", + "from pyomo.environ import (\n", + " ConcreteModel,\n", + " SolverFactory,\n", + " value,\n", + " Var,\n", + " Constraint,\n", + " Set,\n", + " Objective,\n", + " maximize,\n", + ")\n", + "from pyomo.common.timing import TicTocTimer\n", + "\n", + "# Import IDAES libraries\n", + "from idaes.core.surrogate.sampling.data_utils import split_training_validation\n", + "from idaes.core.surrogate.alamopy import AlamoTrainer, AlamoSurrogate\n", + "from idaes.core.surrogate.plotting.sm_plotter import (\n", + " surrogate_scatter2D,\n", + " surrogate_parity,\n", + " surrogate_residual,\n", + ")\n", + "from idaes.core.surrogate.surrogate_block import SurrogateBlock\n", + "from idaes.core import FlowsheetBlock" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.1 Importing Training and Validation Datasets" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this section, we read the dataset from the CSV file located in this directory. 2800 data points were simulated from a rigorous IDAES NGFC flowsheet using a grid sampling method. For simplicity and to reduce training runtime, this example randomly selects 100 data points to use for training/validation. The data is separated using an 80/20 split into training and validation data using the IDAES `split_training_validation()` method." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# Import Auto-reformer training data\n", + "np.set_printoptions(precision=6, suppress=True)\n", + "\n", + "csv_data = pd.read_csv(datafile_path(\"reformer-data.csv\")) # 2800 data points\n", + "data = csv_data.sample(n=100) # randomly sample points for training/validation\n", + "\n", + "input_data = data.iloc[:, :2]\n", + "output_data = data.iloc[:, 2:]\n", + "\n", + "# Define labels, and split training and validation data\n", + "input_labels = input_data.columns\n", + "output_labels = output_data.columns\n", + "\n", + "n_data = data[input_labels[0]].size\n", + "data_training, data_validation = split_training_validation(\n", + " data, 0.8, seed=n_data\n", + ") # seed=100" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.2 Training Surrogates with ALAMO" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "IDAES provides a Python wrapper for the ALAMO machine learning tool via an imported AlamoTrainer class. Regression settings can be directly set as config attributes, as shown below. In this example, allowed basis term forms include constant and linear functions, monomial power order 2 and 3, variable product power order 1 and 2, and variable ratio power order 1 and 2. ALAMO naturally seeks to minimize the number of basis terms; here, we restrict each surrogate expression to a maximum of 10 basis terms.\n", + "\n", + "Finally, after training the model we save the results and model expressions to a JSON file. Serializing the model in this fashion enables importing a previously trained set of surrogate models into external flowsheets. This feature will be used later." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "# capture long output (not required to use surrogate API)\n", + "from io import StringIO\n", + "import sys\n", + "\n", + "stream = StringIO()\n", + "oldstdout = sys.stdout\n", + "sys.stdout = stream\n", + "\n", + "# Create ALAMO trainer object\n", + "trainer = AlamoTrainer(\n", + " input_labels=input_labels,\n", + " output_labels=output_labels,\n", + " training_dataframe=data_training,\n", + ")\n", + "\n", + "# Set ALAMO options\n", + "trainer.config.constant = True\n", + "trainer.config.linfcns = True\n", + "trainer.config.multi2power = [1, 2]\n", + "trainer.config.monomialpower = [2, 3]\n", + "trainer.config.ratiopower = [1, 2]\n", + "trainer.config.maxterms = [10] * len(output_labels) # max for each surrogate\n", + "trainer.config.filename = os.path.join(os.getcwd(), \"alamo_run.alm\")\n", + "trainer.config.overwrite_files = True\n", + "\n", + "# Train surrogate (calls ALAMO through IDAES ALAMOPy wrapper)\n", + "has_alamo = True\n", + "try:\n", + " success, alm_surr, msg = trainer.train_surrogate()\n", + "except FileNotFoundError as err:\n", + " if \"Could not find ALAMO\" in str(err):\n", + " print(\"ALAMO not found. You must install ALAMO to use this notebook\")\n", + " has_alamo = False\n", + " else:\n", + " raise\n", + "\n", + "if has_alamo:\n", + " # save model to JSON\n", + " model = alm_surr.save_to_file(\"alamo_surrogate.json\", overwrite=True)\n", + "\n", + " # create callable surrogate object\n", + "\n", + " surrogate_expressions = trainer._results[\"Model\"]\n", + " input_labels = trainer._input_labels\n", + " output_labels = trainer._output_labels\n", + " xmin, xmax = [0.1, 0.8], [0.8, 1.2]\n", + " input_bounds = {\n", + " input_labels[i]: (xmin[i], xmax[i]) for i in range(len(input_labels))\n", + " }\n", + "\n", + " alm_surr = AlamoSurrogate(\n", + " surrogate_expressions, input_labels, output_labels, input_bounds\n", + " )\n", + "\n", + " # revert back to normal output capture\n", + " sys.stdout = oldstdout\n", + "\n", + " # display first 50 lines and last 50 lines of output\n", + " celloutput = stream.getvalue().split(\"\\n\")\n", + " for line in celloutput[:50]:\n", + " print(line)\n", + " print(\".\")\n", + " print(\".\")\n", + " print(\".\")\n", + " for line in celloutput[-50:]:\n", + " print(line)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.3 Visualizing surrogates" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that the surrogate models have been trained, the models can be visualized through scatter, parity and residual plots to confirm their validity in the chosen domain. The training data will be visualized first to confirm the surrogates are fit the data, and then the validation data will be visualized to confirm the surrogates accurately predict new output values." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "if has_alamo:\n", + " # visualize with IDAES surrogate plotting tools\n", + " surrogate_scatter2D(alm_surr, data_training, filename=\"alamo_train_scatter2D.pdf\")\n", + " surrogate_parity(alm_surr, data_training, filename=\"alamo_train_parity.pdf\")\n", + " surrogate_residual(alm_surr, data_training, filename=\"alamo_train_residual.pdf\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.4 Model Validation" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "if has_alamo:\n", + " # visualize with IDAES surrogate plotting tools\n", + " surrogate_scatter2D(alm_surr, data_validation, filename=\"alamo_val_scatter2D.pdf\")\n", + " surrogate_parity(alm_surr, data_validation, filename=\"alamo_val_parity.pdf\")\n", + " surrogate_residual(alm_surr, data_validation, filename=\"alamo_val_residual.pdf\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 4. IDAES Flowsheet Integration" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.1 Build and Run IDAES Flowsheet" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we will build an IDAES flowsheet and import the surrogate model object. A single ALAMO model accounts for all input and output variables, and the JSON model serialized earlier may be imported into a single SurrogateBlock() component." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "if has_alamo:\n", + " # create the IDAES model and flowsheet\n", + " m = ConcreteModel()\n", + " m.fs = FlowsheetBlock(dynamic=False)\n", + "\n", + " # create flowsheet input variables\n", + " m.fs.bypass_frac = Var(\n", + " initialize=0.80, bounds=[0.1, 0.8], doc=\"natural gas bypass fraction\"\n", + " )\n", + " m.fs.ng_steam_ratio = Var(\n", + " initialize=0.80, bounds=[0.8, 1.2], doc=\"natural gas to steam ratio\"\n", + " )\n", + "\n", + " # create flowsheet output variables\n", + " m.fs.steam_flowrate = Var(initialize=0.2, doc=\"steam flowrate\")\n", + " m.fs.reformer_duty = Var(initialize=10000, doc=\"reformer heat duty\")\n", + " m.fs.AR = Var(initialize=0, doc=\"AR fraction\")\n", + " m.fs.C2H6 = Var(initialize=0, doc=\"C2H6 fraction\")\n", + " m.fs.C3H8 = Var(initialize=0, doc=\"C3H8 fraction\")\n", + " m.fs.C4H10 = Var(initialize=0, doc=\"C4H10 fraction\")\n", + " m.fs.CH4 = Var(initialize=0, doc=\"CH4 fraction\")\n", + " m.fs.CO = Var(initialize=0, doc=\"CO fraction\")\n", + " m.fs.CO2 = Var(initialize=0, doc=\"CO2 fraction\")\n", + " m.fs.H2 = Var(initialize=0, doc=\"H2 fraction\")\n", + " m.fs.H2O = Var(initialize=0, doc=\"H2O fraction\")\n", + " m.fs.N2 = Var(initialize=0, doc=\"N2 fraction\")\n", + " m.fs.O2 = Var(initialize=0, doc=\"O2 fraction\")\n", + "\n", + " # create input and output variable object lists for flowsheet\n", + " inputs = [m.fs.bypass_frac, m.fs.ng_steam_ratio]\n", + " outputs = [\n", + " m.fs.steam_flowrate,\n", + " m.fs.reformer_duty,\n", + " m.fs.AR,\n", + " m.fs.C2H6,\n", + " m.fs.C4H10,\n", + " m.fs.C3H8,\n", + " m.fs.CH4,\n", + " m.fs.CO,\n", + " m.fs.CO2,\n", + " m.fs.H2,\n", + " m.fs.H2O,\n", + " m.fs.N2,\n", + " m.fs.O2,\n", + " ]\n", + "\n", + " # create the Pyomo/IDAES block that corresponds to the surrogate\n", + " # ALAMO\n", + " surrogate = AlamoSurrogate.load_from_file(\"alamo_surrogate.json\")\n", + " m.fs.surrogate = SurrogateBlock()\n", + " m.fs.surrogate.build_model(surrogate, input_vars=inputs, output_vars=outputs)\n", + "\n", + " # fix input values and solve flowsheet\n", + " m.fs.bypass_frac.fix(0.5)\n", + " m.fs.ng_steam_ratio.fix(1)\n", + "\n", + " solver = SolverFactory(\"ipopt\")\n", + " results = solver.solve(m, tee=True)\n", + "else:\n", + " status_obj = None" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's print some model results:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "if has_alamo:\n", + " print(\"Steam flowrate = \", value(m.fs.steam_flowrate))\n", + " print(\"Reformer duty = \", value(m.fs.reformer_duty))\n", + " print(\"Mole Fraction Ar = \", value(m.fs.AR))\n", + " print(\"Mole Fraction C2H6 = \", value(m.fs.C2H6))\n", + " print(\"Mole Fraction C3H8 = \", value(m.fs.C3H8))\n", + " print(\"Mole Fraction C4H10 = \", value(m.fs.C4H10))\n", + " print(\"Mole Fraction CH4 = \", value(m.fs.CH4))\n", + " print(\"Mole Fraction CO = \", value(m.fs.CO))\n", + " print(\"Mole Fraction CO2 = \", value(m.fs.CO2))\n", + " print(\"Mole Fraction H2 = \", value(m.fs.H2))\n", + " print(\"Mole Fraction H2O = \", value(m.fs.H2O))\n", + " print(\"Mole Fraction N2 = \", value(m.fs.N2))\n", + " print(\"Mole Fraction O2 = \", value(m.fs.O2))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.2 Optimizing the Autothermal Reformer\n", + "Extending this example, we will unfix the input variables and optimize hydrogen production. We will restrict nitrogen below 34 mol% of the product stream and leave all other variables unfixed.\n", + "\n", + "Above, variable values are called in reference to actual objects names; however, as shown below this may be done much more compactly by calling the list objects we created earlier." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "if has_alamo:\n", + " # unfix input values and add the objective/constraint to the model\n", + " m.fs.bypass_frac.unfix()\n", + " m.fs.ng_steam_ratio.unfix()\n", + " m.fs.obj = Objective(expr=m.fs.H2, sense=maximize)\n", + " m.fs.con = Constraint(expr=m.fs.N2 <= 0.34)\n", + "\n", + " # solve the model\n", + " tmr = TicTocTimer()\n", + " status = solver.solve(m, tee=True)\n", + " solve_time = tmr.toc(\"solve\")\n", + "\n", + " # print and check results\n", + " assert abs(value(m.fs.H2) - 0.33) <= 0.01\n", + " assert value(m.fs.N2 <= 0.4 + 1e-8)\n", + " print(\"Model status: \", status)\n", + " print(\"Solve time: \", solve_time)\n", + " for var in inputs:\n", + " print(var.name, \": \", value(var))\n", + " for var in outputs:\n", + " print(var.name, \": \", value(var))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.16" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/idaes_examples/notebooks/docs/surrogates/alamo/alamo_flowsheet_optimization_doc.ipynb b/idaes_examples/notebooks/docs/surrogates/alamo/alamo_flowsheet_optimization_doc.ipynb index f2ffdcad..909d9330 100644 --- a/idaes_examples/notebooks/docs/surrogates/alamo/alamo_flowsheet_optimization_doc.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/alamo/alamo_flowsheet_optimization_doc.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -60,23 +61,7 @@ "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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n17721b4OqpF2wgAAAAAwLghFAYAjKzc2x4IDGNHoWjbdsq1a9fkqaeekr/6q7+Sv/3bv5XPfvaz8jd/8zfuv//4j/8on//85916//AP/yDPPvus+7Vu02g05MqVK2493e6v//qv3a+1nq1jfeELX3D3pfW13tWrV+Vzn/uc1Ot191/9nu77mWee8bZo0ue1bU888YTbJi2f+tSn5P/+3//rfs/Sr7XY42g7bNv+7u/+zj2m9k+/52+XHlOLPr+2ttZqn9bVr3VbS+sou73288knn5Snn37ara9t1K91u062X7rNX/zFX8jf//3fu8fTY2mf9F/lb5v/OLpve250zD796U+7fe30//7f/3OLbmPHQMtnPvMZt632XGpf7Lm0dDvd5i//8i/d9uhxtF/+4/i/1j7pedRt9F/dRr/Wdur+/deN0v7o83o+tZ6eQ22Xnn9tW9D42vOp42r3rf3R+jpu2mY/3daeT92/tl/H2o6BttO2R9mv9V/bNj0vdqx1O3ut2br6te2bHkv3b9ujRc+V7sfS+sq2VfejbdH967/2Z0D/tez1Ys+R/qvj6x8zfaz90f1r/c7j6FhofW2P/mt/brS9ytbXf+02ehytZ39mtI16DO2PHVvLjoceW8dM69mx0zbaa0XradFt9Vj6vB5P6+j4ar/1X73u/P2w9LEWfb3R617ra/u0bToO9vzo9/3b6tf2urT90fr2urF9ttvYduq1pvV0GzvO2latp0W303/916mOj702ta4dO399bZ+l22g/tK4eR7fTY+m/9jj+sdavdRt7XerxdFv9Wturx9Cx0zpKt1f6WPfvf/3Ua9VeA0rral/0X92HHkvr2TZpO+1jS+vqMbWuLdoera//6s+dHUPL9kH/tY91nOw46P71fNnjaF0teiz7OqDttD9f2nfdv15zlu7T1gcAANuPUBgAMLI+8anPBgayo1C0bTtB32R/4hOfkJ/7uZ+T7/3e75X/9J/+k3z7t3+7fNu3fZv84A/+oPzqr/5qK+Cyb7T1Tfejjz4qhw4dkuuuu86tq9vs27dP/ut//a8yOzvrhjeWHkPf3P/hH/6h/PRP/7S7zb/9t//Wrf/v/t2/kx/5kR+R//W//pcb7tj6So/3vve9T174whfKd33Xd8l//I//Ub7jO75Dvvu7v1ue97znye233+6GCn4aCiwvL8tP/uRP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", - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\alamo\\alamo_flowsheet_optimization_doc_3_0.png" - } - }, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "from IPython.display import Image\n", "from pathlib import Path\n", @@ -157,16 +142,7 @@ "cell_type": "code", "execution_count": 4, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\dkgun\\miniconda3\\envs\\idaes-examples-py311\\Lib\\site-packages\\numpy\\core\\fromnumeric.py:59: FutureWarning: 'DataFrame.swapaxes' is deprecated and will be removed in a future version. Please use 'DataFrame.transpose' instead.\n", - " return bound(*args, **kwds)\n" - ] - } - ], + "outputs": [], "source": [ "# Import Auto-reformer training data\n", "np.set_printoptions(precision=6, suppress=True)\n", @@ -513,7 +489,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.8.16" } }, "nbformat": 4, diff --git a/idaes_examples/notebooks/docs/surrogates/alamo/alamo_flowsheet_optimization_test.ipynb b/idaes_examples/notebooks/docs/surrogates/alamo/alamo_flowsheet_optimization_test.ipynb index f8fda916..a12cc805 100644 --- a/idaes_examples/notebooks/docs/surrogates/alamo/alamo_flowsheet_optimization_test.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/alamo/alamo_flowsheet_optimization_test.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/surrogates/alamo/alamo_flowsheet_optimization_usr.ipynb b/idaes_examples/notebooks/docs/surrogates/alamo/alamo_flowsheet_optimization_usr.ipynb index f8fda916..a12cc805 100644 --- a/idaes_examples/notebooks/docs/surrogates/alamo/alamo_flowsheet_optimization_usr.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/alamo/alamo_flowsheet_optimization_usr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/surrogates/best_practices_optimization.ipynb b/idaes_examples/notebooks/docs/surrogates/best_practices_optimization.ipynb index 0344ee98..0fa61fe2 100644 --- a/idaes_examples/notebooks/docs/surrogates/best_practices_optimization.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/best_practices_optimization.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/surrogates/best_practices_optimization_doc.ipynb b/idaes_examples/notebooks/docs/surrogates/best_practices_optimization_doc.ipynb index 4f5ec2c3..3541e62c 100644 --- a/idaes_examples/notebooks/docs/surrogates/best_practices_optimization_doc.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/best_practices_optimization_doc.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/surrogates/best_practices_optimization_test.ipynb b/idaes_examples/notebooks/docs/surrogates/best_practices_optimization_test.ipynb index 24abb8ba..6eb6ec73 100644 --- a/idaes_examples/notebooks/docs/surrogates/best_practices_optimization_test.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/best_practices_optimization_test.ipynb @@ -1,647 +1,648 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# ML/AI Best Practices: \"Selecting Surrogate Model Form/Size for Optimization\"\n", + "Maintainer: Brandon Paul \n", + "Author: Brandon Paul \n", + "Updated: 2023-06-01 \n", + "\n", + "In this notebook we demonstrate the use of model and solver statistics to select the best surrogate model. For this purpose we trained (offline) different models with ALAMO, PySMO for three basis forms, and TensorFlow Keras. The surrogates are imported into the notebook, and the IDAES flowsheet is constructed and solved." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1. Introduction\n", + "\n", + "This example demonstrates autothermal reformer optimization leveraging the ALAMO, PySMO and Keras surrogate trainers, and compares key indicators of model performance. In this notebook, IPOPT will be run with statistics using ALAMO, PySMO Polynomial, PySMO RBF, PySMO Kriging and Keras surrogate models to assess each model type for flowsheet integration and tractability." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Problem Statement \n", + "\n", + "Within the context of a larger Natural Gas Fuel Cell (NGFC) system, the autothermal reformer unit is used to generate syngas from air, steam, and natural gas. Two input variables are considered for this example (reformer bypass fraction and fuel to steam ratio). The reformer bypass fraction (also called internal reformation percentage) plays an important role in the syngas final composition and it is typically controlled in this process. The fuel to steam ratio is an important variable that affects the final syngas reaction and heat duty required by the reactor. The syngas is then used as fuel by a solid-oxide fuel cell (SOFC) to generate electricity and heat. \n", + "\n", + "The autothermal reformer is typically modeled using the IDAES Gibbs reactor and this reactor is robust once it is initialized; however, the overall model robustness is affected due to several components present in the reaction, scaling issues for the largrangean multipliers, and Gibbs free energy minimization formulation. Substituting rigorously trained and validated surrogates in lieu of rigorous unit model equations increases the robustness of the problem.\n", + "\n", + "### 2.1. Inputs: \n", + "- Bypass fraction (dimensionless) - split fraction of natural gas to bypass AR unit and feed directly to the power island\n", + "- NG-Steam Ratio (dimensionless) - proportion of natural relative to steam fed into AR unit operation\n", + "\n", + "### 2.2. Outputs:\n", + "- Steam flowrate (kg/s) - inlet steam fed to AR unit\n", + "- Reformer duty (kW) - required energy input to AR unit\n", + "- Composition (dimensionless) - outlet mole fractions of components (Ar, C2H6, C3H8, C4H10, CH4, CO, CO2, H2, H2O, N2, O2)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import Image\n", + "from pathlib import Path\n", + "\n", + "\n", + "def datafile_path(name):\n", + " return Path(\".\") / name\n", + "\n", + "\n", + "Image(datafile_path(\"AR_PFD.png\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. Training Surrogates" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Previous Jupyter Notebooks demonstrated the workflow to import data, train surrogate models using [ALAMO](alamo/alamo_flowsheet_optimization_src_test.ipynb), [PySMO](pysmo/pysmo_flowsheet_optimization_src_test.ipynb) and Keras, and develop IDAES's validation plots. To keep this notebook simple, this notebook simply loads the surrogate models trained off line.\n", + "\n", + "Note that the training/loading method includes a \"retrain\" argument in case the user wants to retrain all surrogate models. Since the retrain method runs ALAMO, PySMO (Polynomial, Radial Basis Functions, and Kriging basis types) and Keras, it takes about an 1 hr to complete the training for all models.\n", + "\n", + "Each run will overwrite the serialized JSON files for previously trained surrogates if retraining is enforced. To retrain individual surrogates, simply delete the desired JSON before running this notebook (for Keras, delete the folder `keras_surrogate/`)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "from idaes_examples.mod.surrogates.AR_training_methods import (\n", + " train_load_surrogates,\n", + " SurrType,\n", + ")\n", + "\n", + "trained_surr = train_load_surrogates(retrain=False)\n", + "# setting retrain to True will take ~ 1 hour to run, best to load if possible\n", + "# setting retrain to False will only generate missing surrogates (only if JSON/folder doesn't exist)\n", + "# this method trains surrogates and serializes to JSON\n", + "# The return value is a set of surrogate types (instances of SurrType) that were trained\n", + "\n", + "# imports to capture long output\n", + "from io import StringIO\n", + "import sys" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 4. Build and Run IDAES Flowsheet" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This step builds an IDAES flowsheet and imports the surrogate model objects. As shown in the prior three examples, a single model object accounts for all input and output variables, and the JSON model serialized earlier may be imported into a single SurrogateBlock() component. While the serialization method and file structure differs slightly between the ALAMO, PySMO and Keras Python Wrappers, the three are imported similarly into IDAES flowsheets as shown below." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.1 Build IDAES Flowsheet\n", + "\n", + "This method builds an instance of the IDAES flowsheet model and solves the flowsheet using IPOPT. The method allows users to select a case and the surrogate model type to be used (i.e., alamo, pysmo, keras). The case argument consists of a list with values for the input variables (in this order, bypass split fraction and natural gas to steam ratio). Then the method fixes the input variables values to solve a square problem with IPOPT. " + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# Import IDAES and Pyomo libraries\n", + "from pyomo.environ import ConcreteModel, SolverFactory, value, Var, Constraint, Set\n", + "from idaes.core.surrogate.surrogate_block import SurrogateBlock\n", + "from idaes.core.surrogate.alamopy import AlamoSurrogate\n", + "from idaes.core.surrogate.pysmo_surrogate import PysmoSurrogate\n", + "from idaes.core.surrogate.keras_surrogate import KerasSurrogate\n", + "from idaes.core import FlowsheetBlock\n", + "\n", + "\n", + "def build_flowsheet(case, surrogate_type: SurrType = None):\n", + " print(case, \" \", surrogate_type.value)\n", + " # create the IDAES model and flowsheet\n", + " m = ConcreteModel()\n", + " m.fs = FlowsheetBlock(dynamic=False)\n", + "\n", + " # create flowsheet input variables\n", + " m.fs.bypass_frac = Var(\n", + " initialize=0.80, bounds=[0.1, 0.8], doc=\"natural gas bypass fraction\"\n", + " )\n", + " m.fs.ng_steam_ratio = Var(\n", + " initialize=0.80, bounds=[0.8, 1.2], doc=\"natural gas to steam ratio\"\n", + " )\n", + "\n", + " # create flowsheet output variables\n", + " m.fs.steam_flowrate = Var(initialize=0.2, doc=\"steam flowrate\")\n", + " m.fs.reformer_duty = Var(initialize=10000, doc=\"reformer heat duty\")\n", + " m.fs.AR = Var(initialize=0, doc=\"AR fraction\")\n", + " m.fs.C2H6 = Var(initialize=0, doc=\"C2H6 fraction\")\n", + " m.fs.C3H8 = Var(initialize=0, doc=\"C3H8 fraction\")\n", + " m.fs.C4H10 = Var(initialize=0, doc=\"C4H10 fraction\")\n", + " m.fs.CH4 = Var(initialize=0, doc=\"CH4 fraction\")\n", + " m.fs.CO = Var(initialize=0, doc=\"CO fraction\")\n", + " m.fs.CO2 = Var(initialize=0, doc=\"CO2 fraction\")\n", + " m.fs.H2 = Var(initialize=0, doc=\"H2 fraction\")\n", + " m.fs.H2O = Var(initialize=0, doc=\"H2O fraction\")\n", + " m.fs.N2 = Var(initialize=0, doc=\"N2 fraction\")\n", + " m.fs.O2 = Var(initialize=0, doc=\"O2 fraction\")\n", + "\n", + " # create input and output variable object lists for flowsheet\n", + " inputs = [m.fs.bypass_frac, m.fs.ng_steam_ratio]\n", + " outputs = [\n", + " m.fs.steam_flowrate,\n", + " m.fs.reformer_duty,\n", + " m.fs.AR,\n", + " m.fs.C2H6,\n", + " m.fs.C3H8,\n", + " m.fs.C4H10,\n", + " m.fs.CH4,\n", + " m.fs.CO,\n", + " m.fs.CO2,\n", + " m.fs.H2,\n", + " m.fs.H2O,\n", + " m.fs.N2,\n", + " m.fs.O2,\n", + " ]\n", + "\n", + " # create the Pyomo/IDAES block that corresponds to the surrogate\n", + " # call correct PySMO object to use below (will let us avoid nested switches)\n", + "\n", + " # capture long output from loading surrogates (don't need to print it)\n", + " stream = StringIO()\n", + " oldstdout = sys.stdout\n", + " sys.stdout = stream\n", + "\n", + " if surrogate_type == SurrType.ALAMO:\n", + " surrogate = AlamoSurrogate.load_from_file(\"alamo_surrogate.json\")\n", + " m.fs.surrogate = SurrogateBlock()\n", + " m.fs.surrogate.build_model(surrogate, input_vars=inputs, output_vars=outputs)\n", + " elif surrogate_type == SurrType.KERAS:\n", + " keras_surrogate = KerasSurrogate.load_from_folder(\n", + " keras_folder_name=\"keras_surrogate\", keras_model_name=\"keras_model\"\n", + " )\n", + " m.fs.surrogate = SurrogateBlock()\n", + " m.fs.surrogate.build_model(\n", + " keras_surrogate,\n", + " formulation=KerasSurrogate.Formulation.FULL_SPACE,\n", + " input_vars=inputs,\n", + " output_vars=outputs,\n", + " )\n", + " elif SurrType.is_pysmo(\n", + " surrogate_type\n", + " ): # surrogate is one of the three pysmo basis options\n", + " surrogate = PysmoSurrogate.load_from_file(\n", + " surrogate_type.value + \"_surrogate.json\"\n", + " )\n", + " m.fs.surrogate = SurrogateBlock()\n", + " m.fs.surrogate.build_model(surrogate, input_vars=inputs, output_vars=outputs)\n", + " else:\n", + " raise ValueError(f\"Unknown surrogate type: {surrogate_type}\")\n", + "\n", + " # revert to standard output\n", + " sys.stdout = oldstdout\n", + "\n", + " # fix input values and solve flowsheet\n", + " m.fs.bypass_frac.fix(case[0])\n", + " m.fs.ng_steam_ratio.fix(case[1])\n", + "\n", + " solver = SolverFactory(\"ipopt\")\n", + " try: # attempt to solve problem\n", + " results = solver.solve(m, tee=True)\n", + " except: # retry solving one more time\n", + " results = solver.solve(m, tee=True)\n", + "\n", + " return (\n", + " value(m.fs.steam_flowrate),\n", + " value(m.fs.reformer_duty),\n", + " value(m.fs.C2H6),\n", + " value(m.fs.CH4),\n", + " value(m.fs.H2),\n", + " value(m.fs.O2),\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.2 Model Size/Form Comparison\n", + "\n", + "As mentioned above, as part of best practices the IDAES ML/AI demonstration includes the analysis of model/solver statistics and performance to determine the best surrogate model, including model size, model form, model trainer, etc. This section provides the rigorous analysis of solver performance comparing different surrogate models (ALAMO, PySMO polynomial, PysMO RBF, and PySMO Kriging).\n", + "\n", + "To obtain the results, we run the flowsheet for ten different simulation cases for each surrogate model type. Since the simulation cases are obtained from the training data set we can compare model performance (absolute error of measurement vs predicted output values)." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Import Auto-reformer training data\n", + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "np.set_printoptions(precision=6, suppress=True)\n", + "csv_data = pd.read_csv(r\"reformer-data.csv\") # 2800 data points\n", + "\n", + "# extracting 10 data points out of 2800 data points, randomly selecting 10 cases to run\n", + "case_data = csv_data.sample(n=10)\n", + "\n", + "# selecting columns that correspond to Input Variables\n", + "inputs = np.array(case_data.iloc[:, :2])\n", + "\n", + "# selecting columns that correspond to Output Variables\n", + "cols = [\"Steam_Flow\", \"Reformer_Duty\", \"C2H6\", \"CH4\", \"H2\", \"O2\"]\n", + "outputs = np.array(case_data[cols])\n", + "\n", + "# For results comparison with minimum memory usage we will extract the values to plot on each pass\n", + "# note that the entire model could be returned and saved on each loop if desired\n", + "\n", + "# create empty dictionaries so we may easily index results as we save them\n", + "# for convenience while plotting, each output variable has its own dictionary\n", + "# indexed by (case number, trainer type)\n", + "# trainers = [\"alamo\", \"pysmo_poly\", \"pysmo_rbf\", \"pysmo_krig\", \"keras\"]\n", + "# temporarily remove keras\n", + "trainers = list(trained_surr - {SurrType.KERAS})\n", + "\n", + "cases = range(len(inputs))\n", + "steam_flow_error = {}\n", + "reformer_duty_error = {}\n", + "conc_C2H6 = {}\n", + "conc_CH4 = {}\n", + "conc_H2 = {}\n", + "conc_O2 = {}\n", + "\n", + "# run flowsheet for each trainer and save results\n", + "i = 0\n", + "for case in inputs: # each case is a value pair (bypass_frac, ng_steam_ratio)\n", + " i = i + 1\n", + " for trainer in trainers:\n", + " [\n", + " sf,\n", + " rd,\n", + " eth,\n", + " meth,\n", + " hyd,\n", + " oxy,\n", + " ] = build_flowsheet(case, surrogate_type=trainer)\n", + " steam_flow_error[(i, trainer)] = abs(\n", + " (sf - value(outputs[i - 1, 0])) / value(outputs[i - 1, 0])\n", + " )\n", + " reformer_duty_error[(i, trainer)] = abs(\n", + " (rd - value(outputs[i - 1, 1])) / value(outputs[i - 1, 1])\n", + " )\n", + " conc_C2H6[(i, trainer)] = abs(eth - value(outputs[i - 1, 2]))\n", + " conc_CH4[(i, trainer)] = abs(meth - value(outputs[i - 1, 3]))\n", + " conc_H2[(i, trainer)] = abs(hyd - value(outputs[i - 1, 4]))\n", + " conc_O2[(i, trainer)] = abs(oxy - value(outputs[i - 1, 5]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can visualize these results by plotting a graph for each of the quantities above, creating a data series for each surrogate trainer. Some data series may overlay if values are identical for all cases:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "from matplotlib import pyplot as plt\n", + "\n", + "# create figure/axes for each plot sequentially, plotting each trainer as a separate data series\n", + "\n", + "# Steam Flow Prediction\n", + "fig = plt.figure()\n", + "ax = fig.add_subplot()\n", + "for trainer in trainers:\n", + " # pick out the points that use that trainer and plot them against case number\n", + " sf = [steam_flow_error[(i, j)] for (i, j) in steam_flow_error if j == trainer]\n", + " ax.plot(cases, sf, label=trainer)\n", + "# add info to plot\n", + "ax.set_xlabel(\"Cases\")\n", + "ax.set_ylabel(\"Relative Error\")\n", + "ax.set_title(\"Steam Flow Prediction\")\n", + "ax.legend()\n", + "plt.yscale(\"log\")\n", + "plt.show()\n", + "\n", + "# Reformer Duty Prediction\n", + "fig = plt.figure()\n", + "ax = fig.add_subplot()\n", + "for trainer in trainers:\n", + " # pick out the points that use that trainer and plot them against case number\n", + " rd = [reformer_duty_error[(i, j)] for (i, j) in reformer_duty_error if j == trainer]\n", + " ax.plot(cases, rd, label=trainer)\n", + "# add info to plot\n", + "ax.set_xlabel(\"Cases\")\n", + "ax.set_ylabel(\"Relative Error\")\n", + "ax.set_title(\"Reformer Duty Prediction\")\n", + "ax.legend()\n", + "plt.yscale(\"log\")\n", + "plt.show()\n", + "\n", + "# C2H6 Mole Fraction Prediction\n", + "fig = plt.figure()\n", + "ax = fig.add_subplot()\n", + "for trainer in trainers:\n", + " # pick out the points that use that trainer and plot them against case number\n", + " eth = [conc_C2H6[(i, j)] for (i, j) in conc_C2H6 if j == trainer]\n", + " ax.plot(cases, eth, label=trainer)\n", + "# add info to plot\n", + "ax.set_xlabel(\"Cases\")\n", + "ax.set_ylabel(\"Absolute Error\")\n", + "ax.set_title(\"C2H6 Mole Fraction Prediction (O(1E-2))\")\n", + "ax.legend()\n", + "plt.yscale(\"log\")\n", + "plt.show()\n", + "\n", + "print()\n", + "print(\"Mole fraction predictions displayed with absolute error:\")\n", + "print()\n", + "\n", + "# CH4 Mole Fraction Prediction\n", + "fig = plt.figure()\n", + "ax = fig.add_subplot()\n", + "for trainer in trainers:\n", + " # pick out the points that use that trainer and plot them against case number\n", + " meth = [conc_CH4[(i, j)] for (i, j) in conc_CH4 if j == trainer]\n", + " ax.plot(cases, meth, label=trainer)\n", + "# add info to plot\n", + "ax.set_xlabel(\"Cases\")\n", + "ax.set_ylabel(\"Absolute Error\")\n", + "ax.set_title(\"CH4 Mole Fraction Prediction (O(1E-1))\")\n", + "ax.legend()\n", + "plt.yscale(\"log\")\n", + "plt.show()\n", + "\n", + "# H2 Mole Fraction Prediction\n", + "fig = plt.figure()\n", + "ax = fig.add_subplot()\n", + "for trainer in trainers:\n", + " # pick out the points that use that trainer and plot them against case number\n", + " hyd = [conc_H2[(i, j)] for (i, j) in conc_H2 if j == trainer]\n", + " ax.plot(cases, hyd, label=trainer)\n", + "# add info to plot\n", + "ax.set_xlabel(\"Cases\")\n", + "ax.set_ylabel(\"Absolute Error\")\n", + "ax.set_title(\"H2 Mole Fraction Prediction (O(1E-1))\")\n", + "ax.legend()\n", + "plt.yscale(\"log\")\n", + "plt.show()\n", + "\n", + "# O2 Mole Fraction Prediction\n", + "fig = plt.figure()\n", + "ax = fig.add_subplot()\n", + "for trainer in trainers:\n", + " # pick out the points that use that trainer and plot them against case number\n", + " oxy = [conc_O2[(i, j)] for (i, j) in conc_O2 if j == trainer]\n", + " ax.plot(cases, oxy, label=trainer)\n", + "# add info to plot\n", + "ax.set_xlabel(\"Cases\")\n", + "ax.set_ylabel(\"Absolute Error\")\n", + "ax.set_title(\"O2 Mole Fraction Prediction (O(1E-20))\")\n", + "ax.legend()\n", + "plt.yscale(\"log\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.3 Comparing Surrogate Optimization\n", + "Extending this analysis, we will run a single optimization scenario for each surrogate model and compare results. As in previous examples detailing workflows for [ALAMO](alamo_flowsheet_optimization_src_test.ipynb), [PySMO](pysmo_flowsheet_optimization_src_test.ipynb) and [Keras](keras_flowsheet_optimization_src_test.ipynb), we will optimize hydrogen production while restricting nitrogen below 34 mol% in the product stream." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# Import additional Pyomo libraries\n", + "from pyomo.environ import Objective, maximize\n", + "\n", + "\n", + "def run_optimization(surrogate_type=None):\n", + " print(surrogate_type)\n", + " # create the IDAES model and flowsheet\n", + " m = ConcreteModel()\n", + " m.fs = FlowsheetBlock(dynamic=False)\n", + "\n", + " # create flowsheet input variables\n", + " m.fs.bypass_frac = Var(\n", + " initialize=0.80, bounds=[0.1, 0.8], doc=\"natural gas bypass fraction\"\n", + " )\n", + " m.fs.ng_steam_ratio = Var(\n", + " initialize=0.80, bounds=[0.8, 1.2], doc=\"natural gas to steam ratio\"\n", + " )\n", + "\n", + " # create flowsheet output variables\n", + " m.fs.steam_flowrate = Var(initialize=0.2, doc=\"steam flowrate\")\n", + " m.fs.reformer_duty = Var(initialize=10000, doc=\"reformer heat duty\")\n", + " m.fs.AR = Var(initialize=0, doc=\"AR fraction\")\n", + " m.fs.C2H6 = Var(initialize=0, doc=\"C2H6 fraction\")\n", + " m.fs.C3H8 = Var(initialize=0, doc=\"C3H8 fraction\")\n", + " m.fs.C4H10 = Var(initialize=0, doc=\"C4H10 fraction\")\n", + " m.fs.CH4 = Var(initialize=0, doc=\"CH4 fraction\")\n", + " m.fs.CO = Var(initialize=0, doc=\"CO fraction\")\n", + " m.fs.CO2 = Var(initialize=0, doc=\"CO2 fraction\")\n", + " m.fs.H2 = Var(initialize=0, doc=\"H2 fraction\")\n", + " m.fs.H2O = Var(initialize=0, doc=\"H2O fraction\")\n", + " m.fs.N2 = Var(initialize=0, doc=\"N2 fraction\")\n", + " m.fs.O2 = Var(initialize=0, doc=\"O2 fraction\")\n", + "\n", + " # create input and output variable object lists for flowsheet\n", + " inputs = [m.fs.bypass_frac, m.fs.ng_steam_ratio]\n", + " outputs = [\n", + " m.fs.steam_flowrate,\n", + " m.fs.reformer_duty,\n", + " m.fs.AR,\n", + " m.fs.C2H6,\n", + " m.fs.C3H8,\n", + " m.fs.C4H10,\n", + " m.fs.CH4,\n", + " m.fs.CO,\n", + " m.fs.CO2,\n", + " m.fs.H2,\n", + " m.fs.H2O,\n", + " m.fs.N2,\n", + " m.fs.O2,\n", + " ]\n", + "\n", + " # create the Pyomo/IDAES block that corresponds to the surrogate\n", + " # call correct PySMO object to use below (will let us avoid nested switches)\n", + "\n", + " # capture long output from loading surrogates (don't need to print it)\n", + " stream = StringIO()\n", + " oldstdout = sys.stdout\n", + " sys.stdout = stream\n", + "\n", + " if surrogate_type == SurrType.ALAMO:\n", + " surrogate = AlamoSurrogate.load_from_file(\"alamo_surrogate.json\")\n", + " m.fs.surrogate = SurrogateBlock()\n", + " m.fs.surrogate.build_model(surrogate, input_vars=inputs, output_vars=outputs)\n", + " elif surrogate_type == SurrType.KERAS:\n", + " keras_surrogate = KerasSurrogate.load_from_folder(\n", + " keras_folder_name=\"keras_surrogate\", keras_model_name=\"keras_model\"\n", + " )\n", + " m.fs.surrogate = SurrogateBlock()\n", + " m.fs.surrogate.build_model(\n", + " keras_surrogate,\n", + " formulation=KerasSurrogate.Formulation.FULL_SPACE,\n", + " input_vars=inputs,\n", + " output_vars=outputs,\n", + " )\n", + " elif SurrType.is_pysmo(\n", + " surrogate_type\n", + " ): # surrogate is one of the three pysmo basis options\n", + " surrogate = PysmoSurrogate.load_from_file(\n", + " surrogate_type.value + \"_surrogate.json\"\n", + " )\n", + " m.fs.surrogate = SurrogateBlock()\n", + " m.fs.surrogate.build_model(surrogate, input_vars=inputs, output_vars=outputs)\n", + " else:\n", + " raise ValueError(f\"Unknown surrogate type: {surrogate_type}\")\n", + "\n", + " # revert to standard output\n", + " sys.stdout = oldstdout\n", + "\n", + " # unfix input values and add the objective/constraint to the model\n", + " m.fs.bypass_frac.unfix()\n", + " m.fs.ng_steam_ratio.unfix()\n", + " m.fs.obj = Objective(expr=m.fs.H2, sense=maximize)\n", + " m.fs.con = Constraint(expr=m.fs.N2 <= 0.34)\n", + "\n", + " solver = SolverFactory(\"ipopt\")\n", + " try: # attempt to solve problem\n", + " results = solver.solve(m, tee=True)\n", + " except: # retry solving one more time\n", + " results = solver.solve(m, tee=True)\n", + "\n", + " return inputs, outputs" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# create list objects to store data, run optimization\n", + "results = {}\n", + "for trainer in trainers:\n", + " inputs, outputs = run_optimization(trainer)\n", + " for var in inputs:\n", + " results[(var.name, trainer)] = value(var)\n", + " for var in outputs:\n", + " results[(var.name, trainer)] = value(var)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "# print results as a table\n", + "df_index = []\n", + "for var in inputs:\n", + " df_index.append(var.name)\n", + "for var in outputs:\n", + " df_index.append(var.name)\n", + "df_cols = trainers\n", + "\n", + "df = pd.DataFrame(index=df_index, columns=df_cols)\n", + "for i in df_index:\n", + " for j in df_cols:\n", + " df[j][i] = results[(i, j)]\n", + "\n", + "df # display results table" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.16" + } }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# ML/AI Best Practices: \"Selecting Surrogate Model Form/Size for Optimization\"\n", - "Maintainer: Brandon Paul \n", - "Author: Brandon Paul \n", - "Updated: 2023-06-01 \n", - "\n", - "In this notebook we demonstrate the use of model and solver statistics to select the best surrogate model. For this purpose we trained (offline) different models with ALAMO, PySMO for three basis forms, and TensorFlow Keras. The surrogates are imported into the notebook, and the IDAES flowsheet is constructed and solved." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 1. Introduction\n", - "\n", - "This example demonstrates autothermal reformer optimization leveraging the ALAMO, PySMO and Keras surrogate trainers, and compares key indicators of model performance. In this notebook, IPOPT will be run with statistics using ALAMO, PySMO Polynomial, PySMO RBF, PySMO Kriging and Keras surrogate models to assess each model type for flowsheet integration and tractability." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2. Problem Statement \n", - "\n", - "Within the context of a larger Natural Gas Fuel Cell (NGFC) system, the autothermal reformer unit is used to generate syngas from air, steam, and natural gas. Two input variables are considered for this example (reformer bypass fraction and fuel to steam ratio). The reformer bypass fraction (also called internal reformation percentage) plays an important role in the syngas final composition and it is typically controlled in this process. The fuel to steam ratio is an important variable that affects the final syngas reaction and heat duty required by the reactor. The syngas is then used as fuel by a solid-oxide fuel cell (SOFC) to generate electricity and heat. \n", - "\n", - "The autothermal reformer is typically modeled using the IDAES Gibbs reactor and this reactor is robust once it is initialized; however, the overall model robustness is affected due to several components present in the reaction, scaling issues for the largrangean multipliers, and Gibbs free energy minimization formulation. Substituting rigorously trained and validated surrogates in lieu of rigorous unit model equations increases the robustness of the problem.\n", - "\n", - "### 2.1. Inputs: \n", - "- Bypass fraction (dimensionless) - split fraction of natural gas to bypass AR unit and feed directly to the power island\n", - "- NG-Steam Ratio (dimensionless) - proportion of natural relative to steam fed into AR unit operation\n", - "\n", - "### 2.2. Outputs:\n", - "- Steam flowrate (kg/s) - inlet steam fed to AR unit\n", - "- Reformer duty (kW) - required energy input to AR unit\n", - "- Composition (dimensionless) - outlet mole fractions of components (Ar, C2H6, C3H8, C4H10, CH4, CO, CO2, H2, H2O, N2, O2)" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from IPython.display import Image\n", - "from pathlib import Path\n", - "\n", - "\n", - "def datafile_path(name):\n", - " return Path(\".\") / name\n", - "\n", - "\n", - "Image(datafile_path(\"AR_PFD.png\"))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3. Training Surrogates" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Previous Jupyter Notebooks demonstrated the workflow to import data, train surrogate models using [ALAMO](alamo/alamo_flowsheet_optimization_src_test.ipynb), [PySMO](pysmo/pysmo_flowsheet_optimization_src_test.ipynb) and Keras, and develop IDAES's validation plots. To keep this notebook simple, this notebook simply loads the surrogate models trained off line.\n", - "\n", - "Note that the training/loading method includes a \"retrain\" argument in case the user wants to retrain all surrogate models. Since the retrain method runs ALAMO, PySMO (Polynomial, Radial Basis Functions, and Kriging basis types) and Keras, it takes about an 1 hr to complete the training for all models.\n", - "\n", - "Each run will overwrite the serialized JSON files for previously trained surrogates if retraining is enforced. To retrain individual surrogates, simply delete the desired JSON before running this notebook (for Keras, delete the folder `keras_surrogate/`)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "from idaes_examples.mod.surrogates.AR_training_methods import (\n", - " train_load_surrogates,\n", - " SurrType,\n", - ")\n", - "\n", - "trained_surr = train_load_surrogates(retrain=False)\n", - "# setting retrain to True will take ~ 1 hour to run, best to load if possible\n", - "# setting retrain to False will only generate missing surrogates (only if JSON/folder doesn't exist)\n", - "# this method trains surrogates and serializes to JSON\n", - "# The return value is a set of surrogate types (instances of SurrType) that were trained\n", - "\n", - "# imports to capture long output\n", - "from io import StringIO\n", - "import sys" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 4. Build and Run IDAES Flowsheet" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This step builds an IDAES flowsheet and imports the surrogate model objects. As shown in the prior three examples, a single model object accounts for all input and output variables, and the JSON model serialized earlier may be imported into a single SurrogateBlock() component. While the serialization method and file structure differs slightly between the ALAMO, PySMO and Keras Python Wrappers, the three are imported similarly into IDAES flowsheets as shown below." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 4.1 Build IDAES Flowsheet\n", - "\n", - "This method builds an instance of the IDAES flowsheet model and solves the flowsheet using IPOPT. The method allows users to select a case and the surrogate model type to be used (i.e., alamo, pysmo, keras). The case argument consists of a list with values for the input variables (in this order, bypass split fraction and natural gas to steam ratio). Then the method fixes the input variables values to solve a square problem with IPOPT. " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "# Import IDAES and Pyomo libraries\n", - "from pyomo.environ import ConcreteModel, SolverFactory, value, Var, Constraint, Set\n", - "from idaes.core.surrogate.surrogate_block import SurrogateBlock\n", - "from idaes.core.surrogate.alamopy import AlamoSurrogate\n", - "from idaes.core.surrogate.pysmo_surrogate import PysmoSurrogate\n", - "from idaes.core.surrogate.keras_surrogate import KerasSurrogate\n", - "from idaes.core import FlowsheetBlock\n", - "\n", - "\n", - "def build_flowsheet(case, surrogate_type: SurrType = None):\n", - " print(case, \" \", surrogate_type.value)\n", - " # create the IDAES model and flowsheet\n", - " m = ConcreteModel()\n", - " m.fs = FlowsheetBlock(dynamic=False)\n", - "\n", - " # create flowsheet input variables\n", - " m.fs.bypass_frac = Var(\n", - " initialize=0.80, bounds=[0.1, 0.8], doc=\"natural gas bypass fraction\"\n", - " )\n", - " m.fs.ng_steam_ratio = Var(\n", - " initialize=0.80, bounds=[0.8, 1.2], doc=\"natural gas to steam ratio\"\n", - " )\n", - "\n", - " # create flowsheet output variables\n", - " m.fs.steam_flowrate = Var(initialize=0.2, doc=\"steam flowrate\")\n", - " m.fs.reformer_duty = Var(initialize=10000, doc=\"reformer heat duty\")\n", - " m.fs.AR = Var(initialize=0, doc=\"AR fraction\")\n", - " m.fs.C2H6 = Var(initialize=0, doc=\"C2H6 fraction\")\n", - " m.fs.C3H8 = Var(initialize=0, doc=\"C3H8 fraction\")\n", - " m.fs.C4H10 = Var(initialize=0, doc=\"C4H10 fraction\")\n", - " m.fs.CH4 = Var(initialize=0, doc=\"CH4 fraction\")\n", - " m.fs.CO = Var(initialize=0, doc=\"CO fraction\")\n", - " m.fs.CO2 = Var(initialize=0, doc=\"CO2 fraction\")\n", - " m.fs.H2 = Var(initialize=0, doc=\"H2 fraction\")\n", - " m.fs.H2O = Var(initialize=0, doc=\"H2O fraction\")\n", - " m.fs.N2 = Var(initialize=0, doc=\"N2 fraction\")\n", - " m.fs.O2 = Var(initialize=0, doc=\"O2 fraction\")\n", - "\n", - " # create input and output variable object lists for flowsheet\n", - " inputs = [m.fs.bypass_frac, m.fs.ng_steam_ratio]\n", - " outputs = [\n", - " m.fs.steam_flowrate,\n", - " m.fs.reformer_duty,\n", - " m.fs.AR,\n", - " m.fs.C2H6,\n", - " m.fs.C3H8,\n", - " m.fs.C4H10,\n", - " m.fs.CH4,\n", - " m.fs.CO,\n", - " m.fs.CO2,\n", - " m.fs.H2,\n", - " m.fs.H2O,\n", - " m.fs.N2,\n", - " m.fs.O2,\n", - " ]\n", - "\n", - " # create the Pyomo/IDAES block that corresponds to the surrogate\n", - " # call correct PySMO object to use below (will let us avoid nested switches)\n", - "\n", - " # capture long output from loading surrogates (don't need to print it)\n", - " stream = StringIO()\n", - " oldstdout = sys.stdout\n", - " sys.stdout = stream\n", - "\n", - " if surrogate_type == SurrType.ALAMO:\n", - " surrogate = AlamoSurrogate.load_from_file(\"alamo_surrogate.json\")\n", - " m.fs.surrogate = SurrogateBlock()\n", - " m.fs.surrogate.build_model(surrogate, input_vars=inputs, output_vars=outputs)\n", - " elif surrogate_type == SurrType.KERAS:\n", - " keras_surrogate = KerasSurrogate.load_from_folder(\n", - " keras_folder_name=\"keras_surrogate\", keras_model_name=\"keras_model\"\n", - " )\n", - " m.fs.surrogate = SurrogateBlock()\n", - " m.fs.surrogate.build_model(\n", - " keras_surrogate,\n", - " formulation=KerasSurrogate.Formulation.FULL_SPACE,\n", - " input_vars=inputs,\n", - " output_vars=outputs,\n", - " )\n", - " elif SurrType.is_pysmo(\n", - " surrogate_type\n", - " ): # surrogate is one of the three pysmo basis options\n", - " surrogate = PysmoSurrogate.load_from_file(\n", - " surrogate_type.value + \"_surrogate.json\"\n", - " )\n", - " m.fs.surrogate = SurrogateBlock()\n", - " m.fs.surrogate.build_model(surrogate, input_vars=inputs, output_vars=outputs)\n", - " else:\n", - " raise ValueError(f\"Unknown surrogate type: {surrogate_type}\")\n", - "\n", - " # revert to standard output\n", - " sys.stdout = oldstdout\n", - "\n", - " # fix input values and solve flowsheet\n", - " m.fs.bypass_frac.fix(case[0])\n", - " m.fs.ng_steam_ratio.fix(case[1])\n", - "\n", - " solver = SolverFactory(\"ipopt\")\n", - " try: # attempt to solve problem\n", - " results = solver.solve(m, tee=True)\n", - " except: # retry solving one more time\n", - " results = solver.solve(m, tee=True)\n", - "\n", - " return (\n", - " value(m.fs.steam_flowrate),\n", - " value(m.fs.reformer_duty),\n", - " value(m.fs.C2H6),\n", - " value(m.fs.CH4),\n", - " value(m.fs.H2),\n", - " value(m.fs.O2),\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 4.2 Model Size/Form Comparison\n", - "\n", - "As mentioned above, as part of best practices the IDAES ML/AI demonstration includes the analysis of model/solver statistics and performance to determine the best surrogate model, including model size, model form, model trainer, etc. This section provides the rigorous analysis of solver performance comparing different surrogate models (ALAMO, PySMO polynomial, PysMO RBF, and PySMO Kriging).\n", - "\n", - "To obtain the results, we run the flowsheet for ten different simulation cases for each surrogate model type. Since the simulation cases are obtained from the training data set we can compare model performance (absolute error of measurement vs predicted output values)." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "# Import Auto-reformer training data\n", - "import numpy as np\n", - "import pandas as pd\n", - "\n", - "np.set_printoptions(precision=6, suppress=True)\n", - "csv_data = pd.read_csv(r\"reformer-data.csv\") # 2800 data points\n", - "\n", - "# extracting 10 data points out of 2800 data points, randomly selecting 10 cases to run\n", - "case_data = csv_data.sample(n=10)\n", - "\n", - "# selecting columns that correspond to Input Variables\n", - "inputs = np.array(case_data.iloc[:, :2])\n", - "\n", - "# selecting columns that correspond to Output Variables\n", - "cols = [\"Steam_Flow\", \"Reformer_Duty\", \"C2H6\", \"CH4\", \"H2\", \"O2\"]\n", - "outputs = np.array(case_data[cols])\n", - "\n", - "# For results comparison with minimum memory usage we will extract the values to plot on each pass\n", - "# note that the entire model could be returned and saved on each loop if desired\n", - "\n", - "# create empty dictionaries so we may easily index results as we save them\n", - "# for convenience while plotting, each output variable has its own dictionary\n", - "# indexed by (case number, trainer type)\n", - "# trainers = [\"alamo\", \"pysmo_poly\", \"pysmo_rbf\", \"pysmo_krig\", \"keras\"]\n", - "# temporarily remove keras\n", - "trainers = list(trained_surr - {SurrType.KERAS})\n", - "\n", - "cases = range(len(inputs))\n", - "steam_flow_error = {}\n", - "reformer_duty_error = {}\n", - "conc_C2H6 = {}\n", - "conc_CH4 = {}\n", - "conc_H2 = {}\n", - "conc_O2 = {}\n", - "\n", - "# run flowsheet for each trainer and save results\n", - "i = 0\n", - "for case in inputs: # each case is a value pair (bypass_frac, ng_steam_ratio)\n", - " i = i + 1\n", - " for trainer in trainers:\n", - " [\n", - " sf,\n", - " rd,\n", - " eth,\n", - " meth,\n", - " hyd,\n", - " oxy,\n", - " ] = build_flowsheet(case, surrogate_type=trainer)\n", - " steam_flow_error[(i, trainer)] = abs(\n", - " (sf - value(outputs[i - 1, 0])) / value(outputs[i - 1, 0])\n", - " )\n", - " reformer_duty_error[(i, trainer)] = abs(\n", - " (rd - value(outputs[i - 1, 1])) / value(outputs[i - 1, 1])\n", - " )\n", - " conc_C2H6[(i, trainer)] = abs(eth - value(outputs[i - 1, 2]))\n", - " conc_CH4[(i, trainer)] = abs(meth - value(outputs[i - 1, 3]))\n", - " conc_H2[(i, trainer)] = abs(hyd - value(outputs[i - 1, 4]))\n", - " conc_O2[(i, trainer)] = abs(oxy - value(outputs[i - 1, 5]))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can visualize these results by plotting a graph for each of the quantities above, creating a data series for each surrogate trainer. Some data series may overlay if values are identical for all cases:" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "from matplotlib import pyplot as plt\n", - "\n", - "# create figure/axes for each plot sequentially, plotting each trainer as a separate data series\n", - "\n", - "# Steam Flow Prediction\n", - "fig = plt.figure()\n", - "ax = fig.add_subplot()\n", - "for trainer in trainers:\n", - " # pick out the points that use that trainer and plot them against case number\n", - " sf = [steam_flow_error[(i, j)] for (i, j) in steam_flow_error if j == trainer]\n", - " ax.plot(cases, sf, label=trainer)\n", - "# add info to plot\n", - "ax.set_xlabel(\"Cases\")\n", - "ax.set_ylabel(\"Relative Error\")\n", - "ax.set_title(\"Steam Flow Prediction\")\n", - "ax.legend()\n", - "plt.yscale(\"log\")\n", - "plt.show()\n", - "\n", - "# Reformer Duty Prediction\n", - "fig = plt.figure()\n", - "ax = fig.add_subplot()\n", - "for trainer in trainers:\n", - " # pick out the points that use that trainer and plot them against case number\n", - " rd = [reformer_duty_error[(i, j)] for (i, j) in reformer_duty_error if j == trainer]\n", - " ax.plot(cases, rd, label=trainer)\n", - "# add info to plot\n", - "ax.set_xlabel(\"Cases\")\n", - "ax.set_ylabel(\"Relative Error\")\n", - "ax.set_title(\"Reformer Duty Prediction\")\n", - "ax.legend()\n", - "plt.yscale(\"log\")\n", - "plt.show()\n", - "\n", - "# C2H6 Mole Fraction Prediction\n", - "fig = plt.figure()\n", - "ax = fig.add_subplot()\n", - "for trainer in trainers:\n", - " # pick out the points that use that trainer and plot them against case number\n", - " eth = [conc_C2H6[(i, j)] for (i, j) in conc_C2H6 if j == trainer]\n", - " ax.plot(cases, eth, label=trainer)\n", - "# add info to plot\n", - "ax.set_xlabel(\"Cases\")\n", - "ax.set_ylabel(\"Absolute Error\")\n", - "ax.set_title(\"C2H6 Mole Fraction Prediction (O(1E-2))\")\n", - "ax.legend()\n", - "plt.yscale(\"log\")\n", - "plt.show()\n", - "\n", - "print()\n", - "print(\"Mole fraction predictions displayed with absolute error:\")\n", - "print()\n", - "\n", - "# CH4 Mole Fraction Prediction\n", - "fig = plt.figure()\n", - "ax = fig.add_subplot()\n", - "for trainer in trainers:\n", - " # pick out the points that use that trainer and plot them against case number\n", - " meth = [conc_CH4[(i, j)] for (i, j) in conc_CH4 if j == trainer]\n", - " ax.plot(cases, meth, label=trainer)\n", - "# add info to plot\n", - "ax.set_xlabel(\"Cases\")\n", - "ax.set_ylabel(\"Absolute Error\")\n", - "ax.set_title(\"CH4 Mole Fraction Prediction (O(1E-1))\")\n", - "ax.legend()\n", - "plt.yscale(\"log\")\n", - "plt.show()\n", - "\n", - "# H2 Mole Fraction Prediction\n", - "fig = plt.figure()\n", - "ax = fig.add_subplot()\n", - "for trainer in trainers:\n", - " # pick out the points that use that trainer and plot them against case number\n", - " hyd = [conc_H2[(i, j)] for (i, j) in conc_H2 if j == trainer]\n", - " ax.plot(cases, hyd, label=trainer)\n", - "# add info to plot\n", - "ax.set_xlabel(\"Cases\")\n", - "ax.set_ylabel(\"Absolute Error\")\n", - "ax.set_title(\"H2 Mole Fraction Prediction (O(1E-1))\")\n", - "ax.legend()\n", - "plt.yscale(\"log\")\n", - "plt.show()\n", - "\n", - "# O2 Mole Fraction Prediction\n", - "fig = plt.figure()\n", - "ax = fig.add_subplot()\n", - "for trainer in trainers:\n", - " # pick out the points that use that trainer and plot them against case number\n", - " oxy = [conc_O2[(i, j)] for (i, j) in conc_O2 if j == trainer]\n", - " ax.plot(cases, oxy, label=trainer)\n", - "# add info to plot\n", - "ax.set_xlabel(\"Cases\")\n", - "ax.set_ylabel(\"Absolute Error\")\n", - "ax.set_title(\"O2 Mole Fraction Prediction (O(1E-20))\")\n", - "ax.legend()\n", - "plt.yscale(\"log\")\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 4.3 Comparing Surrogate Optimization\n", - "Extending this analysis, we will run a single optimization scenario for each surrogate model and compare results. As in previous examples detailing workflows for [ALAMO](alamo_flowsheet_optimization_src_test.ipynb), [PySMO](pysmo_flowsheet_optimization_src_test.ipynb) and [Keras](keras_flowsheet_optimization_src_test.ipynb), we will optimize hydrogen production while restricting nitrogen below 34 mol% in the product stream." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "# Import additional Pyomo libraries\n", - "from pyomo.environ import Objective, maximize\n", - "\n", - "\n", - "def run_optimization(surrogate_type=None):\n", - " print(surrogate_type)\n", - " # create the IDAES model and flowsheet\n", - " m = ConcreteModel()\n", - " m.fs = FlowsheetBlock(dynamic=False)\n", - "\n", - " # create flowsheet input variables\n", - " m.fs.bypass_frac = Var(\n", - " initialize=0.80, bounds=[0.1, 0.8], doc=\"natural gas bypass fraction\"\n", - " )\n", - " m.fs.ng_steam_ratio = Var(\n", - " initialize=0.80, bounds=[0.8, 1.2], doc=\"natural gas to steam ratio\"\n", - " )\n", - "\n", - " # create flowsheet output variables\n", - " m.fs.steam_flowrate = Var(initialize=0.2, doc=\"steam flowrate\")\n", - " m.fs.reformer_duty = Var(initialize=10000, doc=\"reformer heat duty\")\n", - " m.fs.AR = Var(initialize=0, doc=\"AR fraction\")\n", - " m.fs.C2H6 = Var(initialize=0, doc=\"C2H6 fraction\")\n", - " m.fs.C3H8 = Var(initialize=0, doc=\"C3H8 fraction\")\n", - " m.fs.C4H10 = Var(initialize=0, doc=\"C4H10 fraction\")\n", - " m.fs.CH4 = Var(initialize=0, doc=\"CH4 fraction\")\n", - " m.fs.CO = Var(initialize=0, doc=\"CO fraction\")\n", - " m.fs.CO2 = Var(initialize=0, doc=\"CO2 fraction\")\n", - " m.fs.H2 = Var(initialize=0, doc=\"H2 fraction\")\n", - " m.fs.H2O = Var(initialize=0, doc=\"H2O fraction\")\n", - " m.fs.N2 = Var(initialize=0, doc=\"N2 fraction\")\n", - " m.fs.O2 = Var(initialize=0, doc=\"O2 fraction\")\n", - "\n", - " # create input and output variable object lists for flowsheet\n", - " inputs = [m.fs.bypass_frac, m.fs.ng_steam_ratio]\n", - " outputs = [\n", - " m.fs.steam_flowrate,\n", - " m.fs.reformer_duty,\n", - " m.fs.AR,\n", - " m.fs.C2H6,\n", - " m.fs.C3H8,\n", - " m.fs.C4H10,\n", - " m.fs.CH4,\n", - " m.fs.CO,\n", - " m.fs.CO2,\n", - " m.fs.H2,\n", - " m.fs.H2O,\n", - " m.fs.N2,\n", - " m.fs.O2,\n", - " ]\n", - "\n", - " # create the Pyomo/IDAES block that corresponds to the surrogate\n", - " # call correct PySMO object to use below (will let us avoid nested switches)\n", - "\n", - " # capture long output from loading surrogates (don't need to print it)\n", - " stream = StringIO()\n", - " oldstdout = sys.stdout\n", - " sys.stdout = stream\n", - "\n", - " if surrogate_type == SurrType.ALAMO:\n", - " surrogate = AlamoSurrogate.load_from_file(\"alamo_surrogate.json\")\n", - " m.fs.surrogate = SurrogateBlock()\n", - " m.fs.surrogate.build_model(surrogate, input_vars=inputs, output_vars=outputs)\n", - " elif surrogate_type == SurrType.KERAS:\n", - " keras_surrogate = KerasSurrogate.load_from_folder(\n", - " keras_folder_name=\"keras_surrogate\", keras_model_name=\"keras_model\"\n", - " )\n", - " m.fs.surrogate = SurrogateBlock()\n", - " m.fs.surrogate.build_model(\n", - " keras_surrogate,\n", - " formulation=KerasSurrogate.Formulation.FULL_SPACE,\n", - " input_vars=inputs,\n", - " output_vars=outputs,\n", - " )\n", - " elif SurrType.is_pysmo(\n", - " surrogate_type\n", - " ): # surrogate is one of the three pysmo basis options\n", - " surrogate = PysmoSurrogate.load_from_file(\n", - " surrogate_type.value + \"_surrogate.json\"\n", - " )\n", - " m.fs.surrogate = SurrogateBlock()\n", - " m.fs.surrogate.build_model(surrogate, input_vars=inputs, output_vars=outputs)\n", - " else:\n", - " raise ValueError(f\"Unknown surrogate type: {surrogate_type}\")\n", - "\n", - " # revert to standard output\n", - " sys.stdout = oldstdout\n", - "\n", - " # unfix input values and add the objective/constraint to the model\n", - " m.fs.bypass_frac.unfix()\n", - " m.fs.ng_steam_ratio.unfix()\n", - " m.fs.obj = Objective(expr=m.fs.H2, sense=maximize)\n", - " m.fs.con = Constraint(expr=m.fs.N2 <= 0.34)\n", - "\n", - " solver = SolverFactory(\"ipopt\")\n", - " try: # attempt to solve problem\n", - " results = solver.solve(m, tee=True)\n", - " except: # retry solving one more time\n", - " results = solver.solve(m, tee=True)\n", - "\n", - " return inputs, outputs" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "# create list objects to store data, run optimization\n", - "results = {}\n", - "for trainer in trainers:\n", - " inputs, outputs = run_optimization(trainer)\n", - " for var in inputs:\n", - " results[(var.name, trainer)] = value(var)\n", - " for var in outputs:\n", - " results[(var.name, trainer)] = value(var)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "# print results as a table\n", - "df_index = []\n", - "for var in inputs:\n", - " df_index.append(var.name)\n", - "for var in outputs:\n", - " df_index.append(var.name)\n", - "df_cols = trainers\n", - "\n", - "df = pd.DataFrame(index=df_index, columns=df_cols)\n", - "for i in df_index:\n", - " for j in df_cols:\n", - " df[j][i] = results[(i, j)]\n", - "\n", - "df # display results table" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.16" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/best_practices_optimization_usr.ipynb b/idaes_examples/notebooks/docs/surrogates/best_practices_optimization_usr.ipynb index dc5a8e7d..b199a819 100644 --- a/idaes_examples/notebooks/docs/surrogates/best_practices_optimization_usr.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/best_practices_optimization_usr.ipynb @@ -1,647 +1,648 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# ML/AI Best Practices: \"Selecting Surrogate Model Form/Size for Optimization\"\n", + "Maintainer: Brandon Paul \n", + "Author: Brandon Paul \n", + "Updated: 2023-06-01 \n", + "\n", + "In this notebook we demonstrate the use of model and solver statistics to select the best surrogate model. For this purpose we trained (offline) different models with ALAMO, PySMO for three basis forms, and TensorFlow Keras. The surrogates are imported into the notebook, and the IDAES flowsheet is constructed and solved." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1. Introduction\n", + "\n", + "This example demonstrates autothermal reformer optimization leveraging the ALAMO, PySMO and Keras surrogate trainers, and compares key indicators of model performance. In this notebook, IPOPT will be run with statistics using ALAMO, PySMO Polynomial, PySMO RBF, PySMO Kriging and Keras surrogate models to assess each model type for flowsheet integration and tractability." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Problem Statement \n", + "\n", + "Within the context of a larger Natural Gas Fuel Cell (NGFC) system, the autothermal reformer unit is used to generate syngas from air, steam, and natural gas. Two input variables are considered for this example (reformer bypass fraction and fuel to steam ratio). The reformer bypass fraction (also called internal reformation percentage) plays an important role in the syngas final composition and it is typically controlled in this process. The fuel to steam ratio is an important variable that affects the final syngas reaction and heat duty required by the reactor. The syngas is then used as fuel by a solid-oxide fuel cell (SOFC) to generate electricity and heat. \n", + "\n", + "The autothermal reformer is typically modeled using the IDAES Gibbs reactor and this reactor is robust once it is initialized; however, the overall model robustness is affected due to several components present in the reaction, scaling issues for the largrangean multipliers, and Gibbs free energy minimization formulation. Substituting rigorously trained and validated surrogates in lieu of rigorous unit model equations increases the robustness of the problem.\n", + "\n", + "### 2.1. Inputs: \n", + "- Bypass fraction (dimensionless) - split fraction of natural gas to bypass AR unit and feed directly to the power island\n", + "- NG-Steam Ratio (dimensionless) - proportion of natural relative to steam fed into AR unit operation\n", + "\n", + "### 2.2. Outputs:\n", + "- Steam flowrate (kg/s) - inlet steam fed to AR unit\n", + "- Reformer duty (kW) - required energy input to AR unit\n", + "- Composition (dimensionless) - outlet mole fractions of components (Ar, C2H6, C3H8, C4H10, CH4, CO, CO2, H2, H2O, N2, O2)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import Image\n", + "from pathlib import Path\n", + "\n", + "\n", + "def datafile_path(name):\n", + " return Path(\".\") / name\n", + "\n", + "\n", + "Image(datafile_path(\"AR_PFD.png\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. Training Surrogates" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Previous Jupyter Notebooks demonstrated the workflow to import data, train surrogate models using [ALAMO](alamo/alamo_flowsheet_optimization_src_usr.ipynb), [PySMO](pysmo/pysmo_flowsheet_optimization_src_usr.ipynb) and Keras, and develop IDAES's validation plots. To keep this notebook simple, this notebook simply loads the surrogate models trained off line.\n", + "\n", + "Note that the training/loading method includes a \"retrain\" argument in case the user wants to retrain all surrogate models. Since the retrain method runs ALAMO, PySMO (Polynomial, Radial Basis Functions, and Kriging basis types) and Keras, it takes about an 1 hr to complete the training for all models.\n", + "\n", + "Each run will overwrite the serialized JSON files for previously trained surrogates if retraining is enforced. To retrain individual surrogates, simply delete the desired JSON before running this notebook (for Keras, delete the folder `keras_surrogate/`)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "from idaes_examples.mod.surrogates.AR_training_methods import (\n", + " train_load_surrogates,\n", + " SurrType,\n", + ")\n", + "\n", + "trained_surr = train_load_surrogates(retrain=False)\n", + "# setting retrain to True will take ~ 1 hour to run, best to load if possible\n", + "# setting retrain to False will only generate missing surrogates (only if JSON/folder doesn't exist)\n", + "# this method trains surrogates and serializes to JSON\n", + "# The return value is a set of surrogate types (instances of SurrType) that were trained\n", + "\n", + "# imports to capture long output\n", + "from io import StringIO\n", + "import sys" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 4. Build and Run IDAES Flowsheet" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This step builds an IDAES flowsheet and imports the surrogate model objects. As shown in the prior three examples, a single model object accounts for all input and output variables, and the JSON model serialized earlier may be imported into a single SurrogateBlock() component. While the serialization method and file structure differs slightly between the ALAMO, PySMO and Keras Python Wrappers, the three are imported similarly into IDAES flowsheets as shown below." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.1 Build IDAES Flowsheet\n", + "\n", + "This method builds an instance of the IDAES flowsheet model and solves the flowsheet using IPOPT. The method allows users to select a case and the surrogate model type to be used (i.e., alamo, pysmo, keras). The case argument consists of a list with values for the input variables (in this order, bypass split fraction and natural gas to steam ratio). Then the method fixes the input variables values to solve a square problem with IPOPT. " + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# Import IDAES and Pyomo libraries\n", + "from pyomo.environ import ConcreteModel, SolverFactory, value, Var, Constraint, Set\n", + "from idaes.core.surrogate.surrogate_block import SurrogateBlock\n", + "from idaes.core.surrogate.alamopy import AlamoSurrogate\n", + "from idaes.core.surrogate.pysmo_surrogate import PysmoSurrogate\n", + "from idaes.core.surrogate.keras_surrogate import KerasSurrogate\n", + "from idaes.core import FlowsheetBlock\n", + "\n", + "\n", + "def build_flowsheet(case, surrogate_type: SurrType = None):\n", + " print(case, \" \", surrogate_type.value)\n", + " # create the IDAES model and flowsheet\n", + " m = ConcreteModel()\n", + " m.fs = FlowsheetBlock(dynamic=False)\n", + "\n", + " # create flowsheet input variables\n", + " m.fs.bypass_frac = Var(\n", + " initialize=0.80, bounds=[0.1, 0.8], doc=\"natural gas bypass fraction\"\n", + " )\n", + " m.fs.ng_steam_ratio = Var(\n", + " initialize=0.80, bounds=[0.8, 1.2], doc=\"natural gas to steam ratio\"\n", + " )\n", + "\n", + " # create flowsheet output variables\n", + " m.fs.steam_flowrate = Var(initialize=0.2, doc=\"steam flowrate\")\n", + " m.fs.reformer_duty = Var(initialize=10000, doc=\"reformer heat duty\")\n", + " m.fs.AR = Var(initialize=0, doc=\"AR fraction\")\n", + " m.fs.C2H6 = Var(initialize=0, doc=\"C2H6 fraction\")\n", + " m.fs.C3H8 = Var(initialize=0, doc=\"C3H8 fraction\")\n", + " m.fs.C4H10 = Var(initialize=0, doc=\"C4H10 fraction\")\n", + " m.fs.CH4 = Var(initialize=0, doc=\"CH4 fraction\")\n", + " m.fs.CO = Var(initialize=0, doc=\"CO fraction\")\n", + " m.fs.CO2 = Var(initialize=0, doc=\"CO2 fraction\")\n", + " m.fs.H2 = Var(initialize=0, doc=\"H2 fraction\")\n", + " m.fs.H2O = Var(initialize=0, doc=\"H2O fraction\")\n", + " m.fs.N2 = Var(initialize=0, doc=\"N2 fraction\")\n", + " m.fs.O2 = Var(initialize=0, doc=\"O2 fraction\")\n", + "\n", + " # create input and output variable object lists for flowsheet\n", + " inputs = [m.fs.bypass_frac, m.fs.ng_steam_ratio]\n", + " outputs = [\n", + " m.fs.steam_flowrate,\n", + " m.fs.reformer_duty,\n", + " m.fs.AR,\n", + " m.fs.C2H6,\n", + " m.fs.C3H8,\n", + " m.fs.C4H10,\n", + " m.fs.CH4,\n", + " m.fs.CO,\n", + " m.fs.CO2,\n", + " m.fs.H2,\n", + " m.fs.H2O,\n", + " m.fs.N2,\n", + " m.fs.O2,\n", + " ]\n", + "\n", + " # create the Pyomo/IDAES block that corresponds to the surrogate\n", + " # call correct PySMO object to use below (will let us avoid nested switches)\n", + "\n", + " # capture long output from loading surrogates (don't need to print it)\n", + " stream = StringIO()\n", + " oldstdout = sys.stdout\n", + " sys.stdout = stream\n", + "\n", + " if surrogate_type == SurrType.ALAMO:\n", + " surrogate = AlamoSurrogate.load_from_file(\"alamo_surrogate.json\")\n", + " m.fs.surrogate = SurrogateBlock()\n", + " m.fs.surrogate.build_model(surrogate, input_vars=inputs, output_vars=outputs)\n", + " elif surrogate_type == SurrType.KERAS:\n", + " keras_surrogate = KerasSurrogate.load_from_folder(\n", + " keras_folder_name=\"keras_surrogate\", keras_model_name=\"keras_model\"\n", + " )\n", + " m.fs.surrogate = SurrogateBlock()\n", + " m.fs.surrogate.build_model(\n", + " keras_surrogate,\n", + " formulation=KerasSurrogate.Formulation.FULL_SPACE,\n", + " input_vars=inputs,\n", + " output_vars=outputs,\n", + " )\n", + " elif SurrType.is_pysmo(\n", + " surrogate_type\n", + " ): # surrogate is one of the three pysmo basis options\n", + " surrogate = PysmoSurrogate.load_from_file(\n", + " surrogate_type.value + \"_surrogate.json\"\n", + " )\n", + " m.fs.surrogate = SurrogateBlock()\n", + " m.fs.surrogate.build_model(surrogate, input_vars=inputs, output_vars=outputs)\n", + " else:\n", + " raise ValueError(f\"Unknown surrogate type: {surrogate_type}\")\n", + "\n", + " # revert to standard output\n", + " sys.stdout = oldstdout\n", + "\n", + " # fix input values and solve flowsheet\n", + " m.fs.bypass_frac.fix(case[0])\n", + " m.fs.ng_steam_ratio.fix(case[1])\n", + "\n", + " solver = SolverFactory(\"ipopt\")\n", + " try: # attempt to solve problem\n", + " results = solver.solve(m, tee=True)\n", + " except: # retry solving one more time\n", + " results = solver.solve(m, tee=True)\n", + "\n", + " return (\n", + " value(m.fs.steam_flowrate),\n", + " value(m.fs.reformer_duty),\n", + " value(m.fs.C2H6),\n", + " value(m.fs.CH4),\n", + " value(m.fs.H2),\n", + " value(m.fs.O2),\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.2 Model Size/Form Comparison\n", + "\n", + "As mentioned above, as part of best practices the IDAES ML/AI demonstration includes the analysis of model/solver statistics and performance to determine the best surrogate model, including model size, model form, model trainer, etc. This section provides the rigorous analysis of solver performance comparing different surrogate models (ALAMO, PySMO polynomial, PysMO RBF, and PySMO Kriging).\n", + "\n", + "To obtain the results, we run the flowsheet for ten different simulation cases for each surrogate model type. Since the simulation cases are obtained from the training data set we can compare model performance (absolute error of measurement vs predicted output values)." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Import Auto-reformer training data\n", + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "np.set_printoptions(precision=6, suppress=True)\n", + "csv_data = pd.read_csv(r\"reformer-data.csv\") # 2800 data points\n", + "\n", + "# extracting 10 data points out of 2800 data points, randomly selecting 10 cases to run\n", + "case_data = csv_data.sample(n=10)\n", + "\n", + "# selecting columns that correspond to Input Variables\n", + "inputs = np.array(case_data.iloc[:, :2])\n", + "\n", + "# selecting columns that correspond to Output Variables\n", + "cols = [\"Steam_Flow\", \"Reformer_Duty\", \"C2H6\", \"CH4\", \"H2\", \"O2\"]\n", + "outputs = np.array(case_data[cols])\n", + "\n", + "# For results comparison with minimum memory usage we will extract the values to plot on each pass\n", + "# note that the entire model could be returned and saved on each loop if desired\n", + "\n", + "# create empty dictionaries so we may easily index results as we save them\n", + "# for convenience while plotting, each output variable has its own dictionary\n", + "# indexed by (case number, trainer type)\n", + "# trainers = [\"alamo\", \"pysmo_poly\", \"pysmo_rbf\", \"pysmo_krig\", \"keras\"]\n", + "# temporarily remove keras\n", + "trainers = list(trained_surr - {SurrType.KERAS})\n", + "\n", + "cases = range(len(inputs))\n", + "steam_flow_error = {}\n", + "reformer_duty_error = {}\n", + "conc_C2H6 = {}\n", + "conc_CH4 = {}\n", + "conc_H2 = {}\n", + "conc_O2 = {}\n", + "\n", + "# run flowsheet for each trainer and save results\n", + "i = 0\n", + "for case in inputs: # each case is a value pair (bypass_frac, ng_steam_ratio)\n", + " i = i + 1\n", + " for trainer in trainers:\n", + " [\n", + " sf,\n", + " rd,\n", + " eth,\n", + " meth,\n", + " hyd,\n", + " oxy,\n", + " ] = build_flowsheet(case, surrogate_type=trainer)\n", + " steam_flow_error[(i, trainer)] = abs(\n", + " (sf - value(outputs[i - 1, 0])) / value(outputs[i - 1, 0])\n", + " )\n", + " reformer_duty_error[(i, trainer)] = abs(\n", + " (rd - value(outputs[i - 1, 1])) / value(outputs[i - 1, 1])\n", + " )\n", + " conc_C2H6[(i, trainer)] = abs(eth - value(outputs[i - 1, 2]))\n", + " conc_CH4[(i, trainer)] = abs(meth - value(outputs[i - 1, 3]))\n", + " conc_H2[(i, trainer)] = abs(hyd - value(outputs[i - 1, 4]))\n", + " conc_O2[(i, trainer)] = abs(oxy - value(outputs[i - 1, 5]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can visualize these results by plotting a graph for each of the quantities above, creating a data series for each surrogate trainer. Some data series may overlay if values are identical for all cases:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "from matplotlib import pyplot as plt\n", + "\n", + "# create figure/axes for each plot sequentially, plotting each trainer as a separate data series\n", + "\n", + "# Steam Flow Prediction\n", + "fig = plt.figure()\n", + "ax = fig.add_subplot()\n", + "for trainer in trainers:\n", + " # pick out the points that use that trainer and plot them against case number\n", + " sf = [steam_flow_error[(i, j)] for (i, j) in steam_flow_error if j == trainer]\n", + " ax.plot(cases, sf, label=trainer)\n", + "# add info to plot\n", + "ax.set_xlabel(\"Cases\")\n", + "ax.set_ylabel(\"Relative Error\")\n", + "ax.set_title(\"Steam Flow Prediction\")\n", + "ax.legend()\n", + "plt.yscale(\"log\")\n", + "plt.show()\n", + "\n", + "# Reformer Duty Prediction\n", + "fig = plt.figure()\n", + "ax = fig.add_subplot()\n", + "for trainer in trainers:\n", + " # pick out the points that use that trainer and plot them against case number\n", + " rd = [reformer_duty_error[(i, j)] for (i, j) in reformer_duty_error if j == trainer]\n", + " ax.plot(cases, rd, label=trainer)\n", + "# add info to plot\n", + "ax.set_xlabel(\"Cases\")\n", + "ax.set_ylabel(\"Relative Error\")\n", + "ax.set_title(\"Reformer Duty Prediction\")\n", + "ax.legend()\n", + "plt.yscale(\"log\")\n", + "plt.show()\n", + "\n", + "# C2H6 Mole Fraction Prediction\n", + "fig = plt.figure()\n", + "ax = fig.add_subplot()\n", + "for trainer in trainers:\n", + " # pick out the points that use that trainer and plot them against case number\n", + " eth = [conc_C2H6[(i, j)] for (i, j) in conc_C2H6 if j == trainer]\n", + " ax.plot(cases, eth, label=trainer)\n", + "# add info to plot\n", + "ax.set_xlabel(\"Cases\")\n", + "ax.set_ylabel(\"Absolute Error\")\n", + "ax.set_title(\"C2H6 Mole Fraction Prediction (O(1E-2))\")\n", + "ax.legend()\n", + "plt.yscale(\"log\")\n", + "plt.show()\n", + "\n", + "print()\n", + "print(\"Mole fraction predictions displayed with absolute error:\")\n", + "print()\n", + "\n", + "# CH4 Mole Fraction Prediction\n", + "fig = plt.figure()\n", + "ax = fig.add_subplot()\n", + "for trainer in trainers:\n", + " # pick out the points that use that trainer and plot them against case number\n", + " meth = [conc_CH4[(i, j)] for (i, j) in conc_CH4 if j == trainer]\n", + " ax.plot(cases, meth, label=trainer)\n", + "# add info to plot\n", + "ax.set_xlabel(\"Cases\")\n", + "ax.set_ylabel(\"Absolute Error\")\n", + "ax.set_title(\"CH4 Mole Fraction Prediction (O(1E-1))\")\n", + "ax.legend()\n", + "plt.yscale(\"log\")\n", + "plt.show()\n", + "\n", + "# H2 Mole Fraction Prediction\n", + "fig = plt.figure()\n", + "ax = fig.add_subplot()\n", + "for trainer in trainers:\n", + " # pick out the points that use that trainer and plot them against case number\n", + " hyd = [conc_H2[(i, j)] for (i, j) in conc_H2 if j == trainer]\n", + " ax.plot(cases, hyd, label=trainer)\n", + "# add info to plot\n", + "ax.set_xlabel(\"Cases\")\n", + "ax.set_ylabel(\"Absolute Error\")\n", + "ax.set_title(\"H2 Mole Fraction Prediction (O(1E-1))\")\n", + "ax.legend()\n", + "plt.yscale(\"log\")\n", + "plt.show()\n", + "\n", + "# O2 Mole Fraction Prediction\n", + "fig = plt.figure()\n", + "ax = fig.add_subplot()\n", + "for trainer in trainers:\n", + " # pick out the points that use that trainer and plot them against case number\n", + " oxy = [conc_O2[(i, j)] for (i, j) in conc_O2 if j == trainer]\n", + " ax.plot(cases, oxy, label=trainer)\n", + "# add info to plot\n", + "ax.set_xlabel(\"Cases\")\n", + "ax.set_ylabel(\"Absolute Error\")\n", + "ax.set_title(\"O2 Mole Fraction Prediction (O(1E-20))\")\n", + "ax.legend()\n", + "plt.yscale(\"log\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.3 Comparing Surrogate Optimization\n", + "Extending this analysis, we will run a single optimization scenario for each surrogate model and compare results. As in previous examples detailing workflows for [ALAMO](alamo_flowsheet_optimization_src_usr.ipynb), [PySMO](pysmo_flowsheet_optimization_src_usr.ipynb) and [Keras](keras_flowsheet_optimization_src_usr.ipynb), we will optimize hydrogen production while restricting nitrogen below 34 mol% in the product stream." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# Import additional Pyomo libraries\n", + "from pyomo.environ import Objective, maximize\n", + "\n", + "\n", + "def run_optimization(surrogate_type=None):\n", + " print(surrogate_type)\n", + " # create the IDAES model and flowsheet\n", + " m = ConcreteModel()\n", + " m.fs = FlowsheetBlock(dynamic=False)\n", + "\n", + " # create flowsheet input variables\n", + " m.fs.bypass_frac = Var(\n", + " initialize=0.80, bounds=[0.1, 0.8], doc=\"natural gas bypass fraction\"\n", + " )\n", + " m.fs.ng_steam_ratio = Var(\n", + " initialize=0.80, bounds=[0.8, 1.2], doc=\"natural gas to steam ratio\"\n", + " )\n", + "\n", + " # create flowsheet output variables\n", + " m.fs.steam_flowrate = Var(initialize=0.2, doc=\"steam flowrate\")\n", + " m.fs.reformer_duty = Var(initialize=10000, doc=\"reformer heat duty\")\n", + " m.fs.AR = Var(initialize=0, doc=\"AR fraction\")\n", + " m.fs.C2H6 = Var(initialize=0, doc=\"C2H6 fraction\")\n", + " m.fs.C3H8 = Var(initialize=0, doc=\"C3H8 fraction\")\n", + " m.fs.C4H10 = Var(initialize=0, doc=\"C4H10 fraction\")\n", + " m.fs.CH4 = Var(initialize=0, doc=\"CH4 fraction\")\n", + " m.fs.CO = Var(initialize=0, doc=\"CO fraction\")\n", + " m.fs.CO2 = Var(initialize=0, doc=\"CO2 fraction\")\n", + " m.fs.H2 = Var(initialize=0, doc=\"H2 fraction\")\n", + " m.fs.H2O = Var(initialize=0, doc=\"H2O fraction\")\n", + " m.fs.N2 = Var(initialize=0, doc=\"N2 fraction\")\n", + " m.fs.O2 = Var(initialize=0, doc=\"O2 fraction\")\n", + "\n", + " # create input and output variable object lists for flowsheet\n", + " inputs = [m.fs.bypass_frac, m.fs.ng_steam_ratio]\n", + " outputs = [\n", + " m.fs.steam_flowrate,\n", + " m.fs.reformer_duty,\n", + " m.fs.AR,\n", + " m.fs.C2H6,\n", + " m.fs.C3H8,\n", + " m.fs.C4H10,\n", + " m.fs.CH4,\n", + " m.fs.CO,\n", + " m.fs.CO2,\n", + " m.fs.H2,\n", + " m.fs.H2O,\n", + " m.fs.N2,\n", + " m.fs.O2,\n", + " ]\n", + "\n", + " # create the Pyomo/IDAES block that corresponds to the surrogate\n", + " # call correct PySMO object to use below (will let us avoid nested switches)\n", + "\n", + " # capture long output from loading surrogates (don't need to print it)\n", + " stream = StringIO()\n", + " oldstdout = sys.stdout\n", + " sys.stdout = stream\n", + "\n", + " if surrogate_type == SurrType.ALAMO:\n", + " surrogate = AlamoSurrogate.load_from_file(\"alamo_surrogate.json\")\n", + " m.fs.surrogate = SurrogateBlock()\n", + " m.fs.surrogate.build_model(surrogate, input_vars=inputs, output_vars=outputs)\n", + " elif surrogate_type == SurrType.KERAS:\n", + " keras_surrogate = KerasSurrogate.load_from_folder(\n", + " keras_folder_name=\"keras_surrogate\", keras_model_name=\"keras_model\"\n", + " )\n", + " m.fs.surrogate = SurrogateBlock()\n", + " m.fs.surrogate.build_model(\n", + " keras_surrogate,\n", + " formulation=KerasSurrogate.Formulation.FULL_SPACE,\n", + " input_vars=inputs,\n", + " output_vars=outputs,\n", + " )\n", + " elif SurrType.is_pysmo(\n", + " surrogate_type\n", + " ): # surrogate is one of the three pysmo basis options\n", + " surrogate = PysmoSurrogate.load_from_file(\n", + " surrogate_type.value + \"_surrogate.json\"\n", + " )\n", + " m.fs.surrogate = SurrogateBlock()\n", + " m.fs.surrogate.build_model(surrogate, input_vars=inputs, output_vars=outputs)\n", + " else:\n", + " raise ValueError(f\"Unknown surrogate type: {surrogate_type}\")\n", + "\n", + " # revert to standard output\n", + " sys.stdout = oldstdout\n", + "\n", + " # unfix input values and add the objective/constraint to the model\n", + " m.fs.bypass_frac.unfix()\n", + " m.fs.ng_steam_ratio.unfix()\n", + " m.fs.obj = Objective(expr=m.fs.H2, sense=maximize)\n", + " m.fs.con = Constraint(expr=m.fs.N2 <= 0.34)\n", + "\n", + " solver = SolverFactory(\"ipopt\")\n", + " try: # attempt to solve problem\n", + " results = solver.solve(m, tee=True)\n", + " except: # retry solving one more time\n", + " results = solver.solve(m, tee=True)\n", + "\n", + " return inputs, outputs" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# create list objects to store data, run optimization\n", + "results = {}\n", + "for trainer in trainers:\n", + " inputs, outputs = run_optimization(trainer)\n", + " for var in inputs:\n", + " results[(var.name, trainer)] = value(var)\n", + " for var in outputs:\n", + " results[(var.name, trainer)] = value(var)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "# print results as a table\n", + "df_index = []\n", + "for var in inputs:\n", + " df_index.append(var.name)\n", + "for var in outputs:\n", + " df_index.append(var.name)\n", + "df_cols = trainers\n", + "\n", + "df = pd.DataFrame(index=df_index, columns=df_cols)\n", + "for i in df_index:\n", + " for j in df_cols:\n", + " df[j][i] = results[(i, j)]\n", + "\n", + "df # display results table" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.16" + } }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# ML/AI Best Practices: \"Selecting Surrogate Model Form/Size for Optimization\"\n", - "Maintainer: Brandon Paul \n", - "Author: Brandon Paul \n", - "Updated: 2023-06-01 \n", - "\n", - "In this notebook we demonstrate the use of model and solver statistics to select the best surrogate model. For this purpose we trained (offline) different models with ALAMO, PySMO for three basis forms, and TensorFlow Keras. The surrogates are imported into the notebook, and the IDAES flowsheet is constructed and solved." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 1. Introduction\n", - "\n", - "This example demonstrates autothermal reformer optimization leveraging the ALAMO, PySMO and Keras surrogate trainers, and compares key indicators of model performance. In this notebook, IPOPT will be run with statistics using ALAMO, PySMO Polynomial, PySMO RBF, PySMO Kriging and Keras surrogate models to assess each model type for flowsheet integration and tractability." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2. Problem Statement \n", - "\n", - "Within the context of a larger Natural Gas Fuel Cell (NGFC) system, the autothermal reformer unit is used to generate syngas from air, steam, and natural gas. Two input variables are considered for this example (reformer bypass fraction and fuel to steam ratio). The reformer bypass fraction (also called internal reformation percentage) plays an important role in the syngas final composition and it is typically controlled in this process. The fuel to steam ratio is an important variable that affects the final syngas reaction and heat duty required by the reactor. The syngas is then used as fuel by a solid-oxide fuel cell (SOFC) to generate electricity and heat. \n", - "\n", - "The autothermal reformer is typically modeled using the IDAES Gibbs reactor and this reactor is robust once it is initialized; however, the overall model robustness is affected due to several components present in the reaction, scaling issues for the largrangean multipliers, and Gibbs free energy minimization formulation. Substituting rigorously trained and validated surrogates in lieu of rigorous unit model equations increases the robustness of the problem.\n", - "\n", - "### 2.1. Inputs: \n", - "- Bypass fraction (dimensionless) - split fraction of natural gas to bypass AR unit and feed directly to the power island\n", - "- NG-Steam Ratio (dimensionless) - proportion of natural relative to steam fed into AR unit operation\n", - "\n", - "### 2.2. Outputs:\n", - "- Steam flowrate (kg/s) - inlet steam fed to AR unit\n", - "- Reformer duty (kW) - required energy input to AR unit\n", - "- Composition (dimensionless) - outlet mole fractions of components (Ar, C2H6, C3H8, C4H10, CH4, CO, CO2, H2, H2O, N2, O2)" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from IPython.display import Image\n", - "from pathlib import Path\n", - "\n", - "\n", - "def datafile_path(name):\n", - " return Path(\".\") / name\n", - "\n", - "\n", - "Image(datafile_path(\"AR_PFD.png\"))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3. Training Surrogates" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Previous Jupyter Notebooks demonstrated the workflow to import data, train surrogate models using [ALAMO](alamo/alamo_flowsheet_optimization_src_usr.ipynb), [PySMO](pysmo/pysmo_flowsheet_optimization_src_usr.ipynb) and Keras, and develop IDAES's validation plots. To keep this notebook simple, this notebook simply loads the surrogate models trained off line.\n", - "\n", - "Note that the training/loading method includes a \"retrain\" argument in case the user wants to retrain all surrogate models. Since the retrain method runs ALAMO, PySMO (Polynomial, Radial Basis Functions, and Kriging basis types) and Keras, it takes about an 1 hr to complete the training for all models.\n", - "\n", - "Each run will overwrite the serialized JSON files for previously trained surrogates if retraining is enforced. To retrain individual surrogates, simply delete the desired JSON before running this notebook (for Keras, delete the folder `keras_surrogate/`)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "from idaes_examples.mod.surrogates.AR_training_methods import (\n", - " train_load_surrogates,\n", - " SurrType,\n", - ")\n", - "\n", - "trained_surr = train_load_surrogates(retrain=False)\n", - "# setting retrain to True will take ~ 1 hour to run, best to load if possible\n", - "# setting retrain to False will only generate missing surrogates (only if JSON/folder doesn't exist)\n", - "# this method trains surrogates and serializes to JSON\n", - "# The return value is a set of surrogate types (instances of SurrType) that were trained\n", - "\n", - "# imports to capture long output\n", - "from io import StringIO\n", - "import sys" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 4. Build and Run IDAES Flowsheet" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This step builds an IDAES flowsheet and imports the surrogate model objects. As shown in the prior three examples, a single model object accounts for all input and output variables, and the JSON model serialized earlier may be imported into a single SurrogateBlock() component. While the serialization method and file structure differs slightly between the ALAMO, PySMO and Keras Python Wrappers, the three are imported similarly into IDAES flowsheets as shown below." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 4.1 Build IDAES Flowsheet\n", - "\n", - "This method builds an instance of the IDAES flowsheet model and solves the flowsheet using IPOPT. The method allows users to select a case and the surrogate model type to be used (i.e., alamo, pysmo, keras). The case argument consists of a list with values for the input variables (in this order, bypass split fraction and natural gas to steam ratio). Then the method fixes the input variables values to solve a square problem with IPOPT. " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "# Import IDAES and Pyomo libraries\n", - "from pyomo.environ import ConcreteModel, SolverFactory, value, Var, Constraint, Set\n", - "from idaes.core.surrogate.surrogate_block import SurrogateBlock\n", - "from idaes.core.surrogate.alamopy import AlamoSurrogate\n", - "from idaes.core.surrogate.pysmo_surrogate import PysmoSurrogate\n", - "from idaes.core.surrogate.keras_surrogate import KerasSurrogate\n", - "from idaes.core import FlowsheetBlock\n", - "\n", - "\n", - "def build_flowsheet(case, surrogate_type: SurrType = None):\n", - " print(case, \" \", surrogate_type.value)\n", - " # create the IDAES model and flowsheet\n", - " m = ConcreteModel()\n", - " m.fs = FlowsheetBlock(dynamic=False)\n", - "\n", - " # create flowsheet input variables\n", - " m.fs.bypass_frac = Var(\n", - " initialize=0.80, bounds=[0.1, 0.8], doc=\"natural gas bypass fraction\"\n", - " )\n", - " m.fs.ng_steam_ratio = Var(\n", - " initialize=0.80, bounds=[0.8, 1.2], doc=\"natural gas to steam ratio\"\n", - " )\n", - "\n", - " # create flowsheet output variables\n", - " m.fs.steam_flowrate = Var(initialize=0.2, doc=\"steam flowrate\")\n", - " m.fs.reformer_duty = Var(initialize=10000, doc=\"reformer heat duty\")\n", - " m.fs.AR = Var(initialize=0, doc=\"AR fraction\")\n", - " m.fs.C2H6 = Var(initialize=0, doc=\"C2H6 fraction\")\n", - " m.fs.C3H8 = Var(initialize=0, doc=\"C3H8 fraction\")\n", - " m.fs.C4H10 = Var(initialize=0, doc=\"C4H10 fraction\")\n", - " m.fs.CH4 = Var(initialize=0, doc=\"CH4 fraction\")\n", - " m.fs.CO = Var(initialize=0, doc=\"CO fraction\")\n", - " m.fs.CO2 = Var(initialize=0, doc=\"CO2 fraction\")\n", - " m.fs.H2 = Var(initialize=0, doc=\"H2 fraction\")\n", - " m.fs.H2O = Var(initialize=0, doc=\"H2O fraction\")\n", - " m.fs.N2 = Var(initialize=0, doc=\"N2 fraction\")\n", - " m.fs.O2 = Var(initialize=0, doc=\"O2 fraction\")\n", - "\n", - " # create input and output variable object lists for flowsheet\n", - " inputs = [m.fs.bypass_frac, m.fs.ng_steam_ratio]\n", - " outputs = [\n", - " m.fs.steam_flowrate,\n", - " m.fs.reformer_duty,\n", - " m.fs.AR,\n", - " m.fs.C2H6,\n", - " m.fs.C3H8,\n", - " m.fs.C4H10,\n", - " m.fs.CH4,\n", - " m.fs.CO,\n", - " m.fs.CO2,\n", - " m.fs.H2,\n", - " m.fs.H2O,\n", - " m.fs.N2,\n", - " m.fs.O2,\n", - " ]\n", - "\n", - " # create the Pyomo/IDAES block that corresponds to the surrogate\n", - " # call correct PySMO object to use below (will let us avoid nested switches)\n", - "\n", - " # capture long output from loading surrogates (don't need to print it)\n", - " stream = StringIO()\n", - " oldstdout = sys.stdout\n", - " sys.stdout = stream\n", - "\n", - " if surrogate_type == SurrType.ALAMO:\n", - " surrogate = AlamoSurrogate.load_from_file(\"alamo_surrogate.json\")\n", - " m.fs.surrogate = SurrogateBlock()\n", - " m.fs.surrogate.build_model(surrogate, input_vars=inputs, output_vars=outputs)\n", - " elif surrogate_type == SurrType.KERAS:\n", - " keras_surrogate = KerasSurrogate.load_from_folder(\n", - " keras_folder_name=\"keras_surrogate\", keras_model_name=\"keras_model\"\n", - " )\n", - " m.fs.surrogate = SurrogateBlock()\n", - " m.fs.surrogate.build_model(\n", - " keras_surrogate,\n", - " formulation=KerasSurrogate.Formulation.FULL_SPACE,\n", - " input_vars=inputs,\n", - " output_vars=outputs,\n", - " )\n", - " elif SurrType.is_pysmo(\n", - " surrogate_type\n", - " ): # surrogate is one of the three pysmo basis options\n", - " surrogate = PysmoSurrogate.load_from_file(\n", - " surrogate_type.value + \"_surrogate.json\"\n", - " )\n", - " m.fs.surrogate = SurrogateBlock()\n", - " m.fs.surrogate.build_model(surrogate, input_vars=inputs, output_vars=outputs)\n", - " else:\n", - " raise ValueError(f\"Unknown surrogate type: {surrogate_type}\")\n", - "\n", - " # revert to standard output\n", - " sys.stdout = oldstdout\n", - "\n", - " # fix input values and solve flowsheet\n", - " m.fs.bypass_frac.fix(case[0])\n", - " m.fs.ng_steam_ratio.fix(case[1])\n", - "\n", - " solver = SolverFactory(\"ipopt\")\n", - " try: # attempt to solve problem\n", - " results = solver.solve(m, tee=True)\n", - " except: # retry solving one more time\n", - " results = solver.solve(m, tee=True)\n", - "\n", - " return (\n", - " value(m.fs.steam_flowrate),\n", - " value(m.fs.reformer_duty),\n", - " value(m.fs.C2H6),\n", - " value(m.fs.CH4),\n", - " value(m.fs.H2),\n", - " value(m.fs.O2),\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 4.2 Model Size/Form Comparison\n", - "\n", - "As mentioned above, as part of best practices the IDAES ML/AI demonstration includes the analysis of model/solver statistics and performance to determine the best surrogate model, including model size, model form, model trainer, etc. This section provides the rigorous analysis of solver performance comparing different surrogate models (ALAMO, PySMO polynomial, PysMO RBF, and PySMO Kriging).\n", - "\n", - "To obtain the results, we run the flowsheet for ten different simulation cases for each surrogate model type. Since the simulation cases are obtained from the training data set we can compare model performance (absolute error of measurement vs predicted output values)." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "# Import Auto-reformer training data\n", - "import numpy as np\n", - "import pandas as pd\n", - "\n", - "np.set_printoptions(precision=6, suppress=True)\n", - "csv_data = pd.read_csv(r\"reformer-data.csv\") # 2800 data points\n", - "\n", - "# extracting 10 data points out of 2800 data points, randomly selecting 10 cases to run\n", - "case_data = csv_data.sample(n=10)\n", - "\n", - "# selecting columns that correspond to Input Variables\n", - "inputs = np.array(case_data.iloc[:, :2])\n", - "\n", - "# selecting columns that correspond to Output Variables\n", - "cols = [\"Steam_Flow\", \"Reformer_Duty\", \"C2H6\", \"CH4\", \"H2\", \"O2\"]\n", - "outputs = np.array(case_data[cols])\n", - "\n", - "# For results comparison with minimum memory usage we will extract the values to plot on each pass\n", - "# note that the entire model could be returned and saved on each loop if desired\n", - "\n", - "# create empty dictionaries so we may easily index results as we save them\n", - "# for convenience while plotting, each output variable has its own dictionary\n", - "# indexed by (case number, trainer type)\n", - "# trainers = [\"alamo\", \"pysmo_poly\", \"pysmo_rbf\", \"pysmo_krig\", \"keras\"]\n", - "# temporarily remove keras\n", - "trainers = list(trained_surr - {SurrType.KERAS})\n", - "\n", - "cases = range(len(inputs))\n", - "steam_flow_error = {}\n", - "reformer_duty_error = {}\n", - "conc_C2H6 = {}\n", - "conc_CH4 = {}\n", - "conc_H2 = {}\n", - "conc_O2 = {}\n", - "\n", - "# run flowsheet for each trainer and save results\n", - "i = 0\n", - "for case in inputs: # each case is a value pair (bypass_frac, ng_steam_ratio)\n", - " i = i + 1\n", - " for trainer in trainers:\n", - " [\n", - " sf,\n", - " rd,\n", - " eth,\n", - " meth,\n", - " hyd,\n", - " oxy,\n", - " ] = build_flowsheet(case, surrogate_type=trainer)\n", - " steam_flow_error[(i, trainer)] = abs(\n", - " (sf - value(outputs[i - 1, 0])) / value(outputs[i - 1, 0])\n", - " )\n", - " reformer_duty_error[(i, trainer)] = abs(\n", - " (rd - value(outputs[i - 1, 1])) / value(outputs[i - 1, 1])\n", - " )\n", - " conc_C2H6[(i, trainer)] = abs(eth - value(outputs[i - 1, 2]))\n", - " conc_CH4[(i, trainer)] = abs(meth - value(outputs[i - 1, 3]))\n", - " conc_H2[(i, trainer)] = abs(hyd - value(outputs[i - 1, 4]))\n", - " conc_O2[(i, trainer)] = abs(oxy - value(outputs[i - 1, 5]))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can visualize these results by plotting a graph for each of the quantities above, creating a data series for each surrogate trainer. Some data series may overlay if values are identical for all cases:" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "from matplotlib import pyplot as plt\n", - "\n", - "# create figure/axes for each plot sequentially, plotting each trainer as a separate data series\n", - "\n", - "# Steam Flow Prediction\n", - "fig = plt.figure()\n", - "ax = fig.add_subplot()\n", - "for trainer in trainers:\n", - " # pick out the points that use that trainer and plot them against case number\n", - " sf = [steam_flow_error[(i, j)] for (i, j) in steam_flow_error if j == trainer]\n", - " ax.plot(cases, sf, label=trainer)\n", - "# add info to plot\n", - "ax.set_xlabel(\"Cases\")\n", - "ax.set_ylabel(\"Relative Error\")\n", - "ax.set_title(\"Steam Flow Prediction\")\n", - "ax.legend()\n", - "plt.yscale(\"log\")\n", - "plt.show()\n", - "\n", - "# Reformer Duty Prediction\n", - "fig = plt.figure()\n", - "ax = fig.add_subplot()\n", - "for trainer in trainers:\n", - " # pick out the points that use that trainer and plot them against case number\n", - " rd = [reformer_duty_error[(i, j)] for (i, j) in reformer_duty_error if j == trainer]\n", - " ax.plot(cases, rd, label=trainer)\n", - "# add info to plot\n", - "ax.set_xlabel(\"Cases\")\n", - "ax.set_ylabel(\"Relative Error\")\n", - "ax.set_title(\"Reformer Duty Prediction\")\n", - "ax.legend()\n", - "plt.yscale(\"log\")\n", - "plt.show()\n", - "\n", - "# C2H6 Mole Fraction Prediction\n", - "fig = plt.figure()\n", - "ax = fig.add_subplot()\n", - "for trainer in trainers:\n", - " # pick out the points that use that trainer and plot them against case number\n", - " eth = [conc_C2H6[(i, j)] for (i, j) in conc_C2H6 if j == trainer]\n", - " ax.plot(cases, eth, label=trainer)\n", - "# add info to plot\n", - "ax.set_xlabel(\"Cases\")\n", - "ax.set_ylabel(\"Absolute Error\")\n", - "ax.set_title(\"C2H6 Mole Fraction Prediction (O(1E-2))\")\n", - "ax.legend()\n", - "plt.yscale(\"log\")\n", - "plt.show()\n", - "\n", - "print()\n", - "print(\"Mole fraction predictions displayed with absolute error:\")\n", - "print()\n", - "\n", - "# CH4 Mole Fraction Prediction\n", - "fig = plt.figure()\n", - "ax = fig.add_subplot()\n", - "for trainer in trainers:\n", - " # pick out the points that use that trainer and plot them against case number\n", - " meth = [conc_CH4[(i, j)] for (i, j) in conc_CH4 if j == trainer]\n", - " ax.plot(cases, meth, label=trainer)\n", - "# add info to plot\n", - "ax.set_xlabel(\"Cases\")\n", - "ax.set_ylabel(\"Absolute Error\")\n", - "ax.set_title(\"CH4 Mole Fraction Prediction (O(1E-1))\")\n", - "ax.legend()\n", - "plt.yscale(\"log\")\n", - "plt.show()\n", - "\n", - "# H2 Mole Fraction Prediction\n", - "fig = plt.figure()\n", - "ax = fig.add_subplot()\n", - "for trainer in trainers:\n", - " # pick out the points that use that trainer and plot them against case number\n", - " hyd = [conc_H2[(i, j)] for (i, j) in conc_H2 if j == trainer]\n", - " ax.plot(cases, hyd, label=trainer)\n", - "# add info to plot\n", - "ax.set_xlabel(\"Cases\")\n", - "ax.set_ylabel(\"Absolute Error\")\n", - "ax.set_title(\"H2 Mole Fraction Prediction (O(1E-1))\")\n", - "ax.legend()\n", - "plt.yscale(\"log\")\n", - "plt.show()\n", - "\n", - "# O2 Mole Fraction Prediction\n", - "fig = plt.figure()\n", - "ax = fig.add_subplot()\n", - "for trainer in trainers:\n", - " # pick out the points that use that trainer and plot them against case number\n", - " oxy = [conc_O2[(i, j)] for (i, j) in conc_O2 if j == trainer]\n", - " ax.plot(cases, oxy, label=trainer)\n", - "# add info to plot\n", - "ax.set_xlabel(\"Cases\")\n", - "ax.set_ylabel(\"Absolute Error\")\n", - "ax.set_title(\"O2 Mole Fraction Prediction (O(1E-20))\")\n", - "ax.legend()\n", - "plt.yscale(\"log\")\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 4.3 Comparing Surrogate Optimization\n", - "Extending this analysis, we will run a single optimization scenario for each surrogate model and compare results. As in previous examples detailing workflows for [ALAMO](alamo_flowsheet_optimization_src_usr.ipynb), [PySMO](pysmo_flowsheet_optimization_src_usr.ipynb) and [Keras](keras_flowsheet_optimization_src_usr.ipynb), we will optimize hydrogen production while restricting nitrogen below 34 mol% in the product stream." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "# Import additional Pyomo libraries\n", - "from pyomo.environ import Objective, maximize\n", - "\n", - "\n", - "def run_optimization(surrogate_type=None):\n", - " print(surrogate_type)\n", - " # create the IDAES model and flowsheet\n", - " m = ConcreteModel()\n", - " m.fs = FlowsheetBlock(dynamic=False)\n", - "\n", - " # create flowsheet input variables\n", - " m.fs.bypass_frac = Var(\n", - " initialize=0.80, bounds=[0.1, 0.8], doc=\"natural gas bypass fraction\"\n", - " )\n", - " m.fs.ng_steam_ratio = Var(\n", - " initialize=0.80, bounds=[0.8, 1.2], doc=\"natural gas to steam ratio\"\n", - " )\n", - "\n", - " # create flowsheet output variables\n", - " m.fs.steam_flowrate = Var(initialize=0.2, doc=\"steam flowrate\")\n", - " m.fs.reformer_duty = Var(initialize=10000, doc=\"reformer heat duty\")\n", - " m.fs.AR = Var(initialize=0, doc=\"AR fraction\")\n", - " m.fs.C2H6 = Var(initialize=0, doc=\"C2H6 fraction\")\n", - " m.fs.C3H8 = Var(initialize=0, doc=\"C3H8 fraction\")\n", - " m.fs.C4H10 = Var(initialize=0, doc=\"C4H10 fraction\")\n", - " m.fs.CH4 = Var(initialize=0, doc=\"CH4 fraction\")\n", - " m.fs.CO = Var(initialize=0, doc=\"CO fraction\")\n", - " m.fs.CO2 = Var(initialize=0, doc=\"CO2 fraction\")\n", - " m.fs.H2 = Var(initialize=0, doc=\"H2 fraction\")\n", - " m.fs.H2O = Var(initialize=0, doc=\"H2O fraction\")\n", - " m.fs.N2 = Var(initialize=0, doc=\"N2 fraction\")\n", - " m.fs.O2 = Var(initialize=0, doc=\"O2 fraction\")\n", - "\n", - " # create input and output variable object lists for flowsheet\n", - " inputs = [m.fs.bypass_frac, m.fs.ng_steam_ratio]\n", - " outputs = [\n", - " m.fs.steam_flowrate,\n", - " m.fs.reformer_duty,\n", - " m.fs.AR,\n", - " m.fs.C2H6,\n", - " m.fs.C3H8,\n", - " m.fs.C4H10,\n", - " m.fs.CH4,\n", - " m.fs.CO,\n", - " m.fs.CO2,\n", - " m.fs.H2,\n", - " m.fs.H2O,\n", - " m.fs.N2,\n", - " m.fs.O2,\n", - " ]\n", - "\n", - " # create the Pyomo/IDAES block that corresponds to the surrogate\n", - " # call correct PySMO object to use below (will let us avoid nested switches)\n", - "\n", - " # capture long output from loading surrogates (don't need to print it)\n", - " stream = StringIO()\n", - " oldstdout = sys.stdout\n", - " sys.stdout = stream\n", - "\n", - " if surrogate_type == SurrType.ALAMO:\n", - " surrogate = AlamoSurrogate.load_from_file(\"alamo_surrogate.json\")\n", - " m.fs.surrogate = SurrogateBlock()\n", - " m.fs.surrogate.build_model(surrogate, input_vars=inputs, output_vars=outputs)\n", - " elif surrogate_type == SurrType.KERAS:\n", - " keras_surrogate = KerasSurrogate.load_from_folder(\n", - " keras_folder_name=\"keras_surrogate\", keras_model_name=\"keras_model\"\n", - " )\n", - " m.fs.surrogate = SurrogateBlock()\n", - " m.fs.surrogate.build_model(\n", - " keras_surrogate,\n", - " formulation=KerasSurrogate.Formulation.FULL_SPACE,\n", - " input_vars=inputs,\n", - " output_vars=outputs,\n", - " )\n", - " elif SurrType.is_pysmo(\n", - " surrogate_type\n", - " ): # surrogate is one of the three pysmo basis options\n", - " surrogate = PysmoSurrogate.load_from_file(\n", - " surrogate_type.value + \"_surrogate.json\"\n", - " )\n", - " m.fs.surrogate = SurrogateBlock()\n", - " m.fs.surrogate.build_model(surrogate, input_vars=inputs, output_vars=outputs)\n", - " else:\n", - " raise ValueError(f\"Unknown surrogate type: {surrogate_type}\")\n", - "\n", - " # revert to standard output\n", - " sys.stdout = oldstdout\n", - "\n", - " # unfix input values and add the objective/constraint to the model\n", - " m.fs.bypass_frac.unfix()\n", - " m.fs.ng_steam_ratio.unfix()\n", - " m.fs.obj = Objective(expr=m.fs.H2, sense=maximize)\n", - " m.fs.con = Constraint(expr=m.fs.N2 <= 0.34)\n", - "\n", - " solver = SolverFactory(\"ipopt\")\n", - " try: # attempt to solve problem\n", - " results = solver.solve(m, tee=True)\n", - " except: # retry solving one more time\n", - " results = solver.solve(m, tee=True)\n", - "\n", - " return inputs, outputs" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "# create list objects to store data, run optimization\n", - "results = {}\n", - "for trainer in trainers:\n", - " inputs, outputs = run_optimization(trainer)\n", - " for var in inputs:\n", - " results[(var.name, trainer)] = value(var)\n", - " for var in outputs:\n", - " results[(var.name, trainer)] = value(var)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "# print results as a table\n", - "df_index = []\n", - "for var in inputs:\n", - " df_index.append(var.name)\n", - "for var in outputs:\n", - " df_index.append(var.name)\n", - "df_cols = trainers\n", - "\n", - "df = pd.DataFrame(index=df_index, columns=df_cols)\n", - "for i in df_index:\n", - " for j in df_cols:\n", - " df[j][i] = results[(i, j)]\n", - "\n", - "df # display results table" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.16" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/omlt/keras_flowsheet_optimization.ipynb b/idaes_examples/notebooks/docs/surrogates/omlt/keras_flowsheet_optimization.ipynb index 8a16cf25..d7739732 100644 --- a/idaes_examples/notebooks/docs/surrogates/omlt/keras_flowsheet_optimization.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/omlt/keras_flowsheet_optimization.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/surrogates/omlt/keras_flowsheet_optimization_doc.ipynb b/idaes_examples/notebooks/docs/surrogates/omlt/keras_flowsheet_optimization_doc.ipynb index bae4c938..a327f669 100644 --- a/idaes_examples/notebooks/docs/surrogates/omlt/keras_flowsheet_optimization_doc.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/omlt/keras_flowsheet_optimization_doc.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/surrogates/omlt/keras_flowsheet_optimization_test.ipynb b/idaes_examples/notebooks/docs/surrogates/omlt/keras_flowsheet_optimization_test.ipynb index bae4c938..11d56f16 100644 --- a/idaes_examples/notebooks/docs/surrogates/omlt/keras_flowsheet_optimization_test.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/omlt/keras_flowsheet_optimization_test.ipynb @@ -1,530 +1,531 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Autothermal Reformer Flowsheet Optimization with OMLT (TensorFlow Keras) Surrogate Object\n", + "Maintainer: Brandon Paul \n", + "Author: Brandon Paul \n", + "Updated: 2023-06-01 \n", + "## 1. Introduction\n", + "\n", + "This example demonstrates autothermal reformer optimization leveraging the OMLT package utilizing TensorFlow Keras neural networks. In this notebook, sampled simulation data will be used to train and validate a surrogate model. IDAES surrogate plotting tools will be utilized to visualize the surrogates on training and validation data. Once validated, integration of the surrogate into an IDAES flowsheet will be demonstrated." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2. Problem Statement \n", + "\n", + "Within the context of a larger NGFC system, the autothermal reformer generates syngas from air, steam and natural gas for use in a solid-oxide fuel cell (SOFC).\n", + "\n", + "## 2.1. Main Inputs: \n", + "- Bypass fraction (dimensionless) - split fraction of natural gas to bypass AR unit and feed directly to the power island\n", + "- NG-Steam Ratio (dimensionless) - proportion of natural relative to steam fed into AR unit operation\n", + "\n", + "## 2.2. Main Outputs:\n", + "- Steam flowrate (kg/s) - inlet steam fed to AR unit\n", + "- Reformer duty (kW) - required energy input to AR unit\n", + "- Composition (dimensionless) - outlet mole fractions of components (Ar, C2H6, C3H8, C4H10, CH4, CO, CO2, H2, H2O, N2, O2)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import Image\n", + "from pathlib import Path\n", + "\n", + "\n", + "def datafile_path(name):\n", + " return Path(\"..\") / name\n", + "\n", + "\n", + "Image(datafile_path(\"AR_PFD.png\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. Training and Validating Surrogates" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "First, let's import the required Python, Pyomo and IDAES modules:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# Import statements\n", + "import os\n", + "import numpy as np\n", + "import pandas as pd\n", + "import random as rn\n", + "import tensorflow as tf\n", + "\n", + "# Import Pyomo libraries\n", + "from pyomo.environ import (\n", + " ConcreteModel,\n", + " SolverFactory,\n", + " value,\n", + " Var,\n", + " Constraint,\n", + " Set,\n", + " Objective,\n", + " maximize,\n", + ")\n", + "from pyomo.common.timing import TicTocTimer\n", + "\n", + "# Import IDAES libraries\n", + "from idaes.core.surrogate.sampling.data_utils import split_training_validation\n", + "from idaes.core.surrogate.sampling.scaling import OffsetScaler\n", + "from idaes.core.surrogate.keras_surrogate import (\n", + " KerasSurrogate,\n", + " save_keras_json_hd5,\n", + " load_keras_json_hd5,\n", + ")\n", + "from idaes.core.surrogate.plotting.sm_plotter import (\n", + " surrogate_scatter2D,\n", + " surrogate_parity,\n", + " surrogate_residual,\n", + ")\n", + "from idaes.core.surrogate.surrogate_block import SurrogateBlock\n", + "from idaes.core import FlowsheetBlock\n", + "\n", + "# fix environment variables to ensure consist neural network training\n", + "os.environ[\"PYTHONHASHSEED\"] = \"0\"\n", + "os.environ[\"CUDA_VISIBLE_DEVICES\"] = \"\"\n", + "np.random.seed(46)\n", + "rn.seed(1342)\n", + "tf.random.set_seed(62)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.1 Importing Training and Validation Datasets" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this section, we read the dataset from the CSV file located in this directory. 2800 data points were simulated from a rigorous IDAES NGFC flowsheet using a grid sampling method. For simplicity and to reduce training runtime, this example randomly selects 100 data points to use for training/validation. The data is separated using an 80/20 split into training and validation data using the IDAES `split_training_validation()` method." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# Import Auto-reformer training data\n", + "np.set_printoptions(precision=6, suppress=True)\n", + "\n", + "csv_data = pd.read_csv(datafile_path(\"reformer-data.csv\")) # 2800 data points\n", + "data = csv_data.sample(n=100) # randomly sample points for training/validation\n", + "\n", + "input_data = data.iloc[:, :2]\n", + "output_data = data.iloc[:, 2:]\n", + "\n", + "# Define labels, and split training and validation data\n", + "input_labels = input_data.columns\n", + "output_labels = output_data.columns\n", + "\n", + "n_data = data[input_labels[0]].size\n", + "data_training, data_validation = split_training_validation(\n", + " data, 0.8, seed=n_data\n", + ") # seed=100" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.2 Training Surrogates with TensorFlow Keras" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "TensorFlow Keras provides an interface to pass regression settings, build neural networks and train surrogate models. Keras enables the usage of two API formats: Sequential and Functional. While the Functional API offers more versatility, including multiple input and output layers in a single neural network, the Sequential API is more stable and user-friendly. Further, the Sequential API integrates cleanly with existing IDAES surrogate tools and will be utilized in this example.\n", + "\n", + "In the code below, we build the neural network structure based on our training data structure and desired regression settings. Offline, neural network models were trained for the list of settings below, and the options bolded and italicized were determined to have the minimum mean squared error for the dataset:\n", + "\n", + "- Activation function: relu, sigmoid, ***tanh***\n", + "- Optimizer: ***Adam***, RMSprop, SGD\n", + "- Number of hidden layers: 1, ***2***, 4\n", + "- Number of neurons per layer: 10, 20, ***40***\n", + "\n", + "Typically, Sequential Keras models are built vertically; the dataset is scaled and normalized. The network is defined for the input layer, hidden layers, and output layer for the passed activation functions and network/layer sizes. Then, the model is compiled using the passed optimizer and trained using a desired number of epochs. Keras internally validates while training and updates each epoch's model weight (coefficient) values.\n", + "\n", + "Finally, after training the model, we save the results and model expressions to a folder that contains a serialized JSON file. Serializing the model in this fashion enables importing a previously trained set of surrogate models into external flowsheets. This feature will be used later." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "# capture long output (not required to use surrogate API)\n", + "from io import StringIO\n", + "import sys\n", + "\n", + "stream = StringIO()\n", + "oldstdout = sys.stdout\n", + "sys.stdout = stream\n", + "\n", + "# selected settings for regression (best fit from options above)\n", + "activation, optimizer, n_hidden_layers, n_nodes_per_layer = \"tanh\", \"Adam\", 2, 40\n", + "loss, metrics = \"mse\", [\"mae\", \"mse\"]\n", + "\n", + "# Create data objects for training using scalar normalization\n", + "n_inputs = len(input_labels)\n", + "n_outputs = len(output_labels)\n", + "x = input_data\n", + "y = output_data\n", + "\n", + "input_scaler = None\n", + "output_scaler = None\n", + "input_scaler = OffsetScaler.create_normalizing_scaler(x)\n", + "output_scaler = OffsetScaler.create_normalizing_scaler(y)\n", + "x = input_scaler.scale(x)\n", + "y = output_scaler.scale(y)\n", + "x = x.to_numpy()\n", + "y = y.to_numpy()\n", + "\n", + "# Create Keras Sequential object and build neural network\n", + "model = tf.keras.Sequential()\n", + "model.add(\n", + " tf.keras.layers.Dense(\n", + " units=n_nodes_per_layer, input_dim=n_inputs, activation=activation\n", + " )\n", + ")\n", + "for i in range(1, n_hidden_layers):\n", + " model.add(tf.keras.layers.Dense(units=n_nodes_per_layer, activation=activation))\n", + "model.add(tf.keras.layers.Dense(units=n_outputs))\n", + "\n", + "# Train surrogate (calls optimizer on neural network and solves for weights)\n", + "model.compile(loss=loss, optimizer=optimizer, metrics=metrics)\n", + "mcp_save = tf.keras.callbacks.ModelCheckpoint(\n", + " \".mdl_wts.keras\", save_best_only=True, monitor=\"val_loss\", mode=\"min\"\n", + ")\n", + "history = model.fit(\n", + " x=x, y=y, validation_split=0.2, verbose=1, epochs=1000, callbacks=[mcp_save]\n", + ")\n", + "\n", + "# save model to JSON and create callable surrogate object\n", + "xmin, xmax = [0.1, 0.8], [0.8, 1.2]\n", + "input_bounds = {input_labels[i]: (xmin[i], xmax[i]) for i in range(len(input_labels))}\n", + "\n", + "keras_surrogate = KerasSurrogate(\n", + " model,\n", + " input_labels=list(input_labels),\n", + " output_labels=list(output_labels),\n", + " input_bounds=input_bounds,\n", + " input_scaler=input_scaler,\n", + " output_scaler=output_scaler,\n", + ")\n", + "keras_surrogate.save_to_folder(\n", + " keras_folder_name=\"keras_surrogate\", keras_model_name=\"keras_model\"\n", + ")\n", + "\n", + "# revert back to normal output capture\n", + "sys.stdout = oldstdout\n", + "\n", + "# display first 50 lines and last 50 lines of output\n", + "celloutput = stream.getvalue().split(\"\\n\")\n", + "for line in celloutput[:50]:\n", + " print(line)\n", + "print(\".\")\n", + "print(\".\")\n", + "print(\".\")\n", + "for line in celloutput[-50:]:\n", + " print(line)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.3 Visualizing surrogates" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that the surrogate models have been trained, the models can be visualized through scatter, parity, and residual plots to confirm their validity in the chosen domain. The training data will be visualized first to confirm the surrogates fit the data. Then the validation data will be visualized to confirm the surrogates accurately predict new output values." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "# visualize with IDAES surrogate plotting tools\n", + "surrogate_scatter2D(\n", + " keras_surrogate, data_training, filename=\"keras_train_scatter2D.pdf\"\n", + ")\n", + "surrogate_parity(keras_surrogate, data_training, filename=\"keras_train_parity.pdf\")\n", + "surrogate_residual(keras_surrogate, data_training, filename=\"keras_train_residual.pdf\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.4 Model Validation" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "# visualize with IDAES surrogate plotting tools\n", + "surrogate_scatter2D(\n", + " keras_surrogate, data_validation, filename=\"keras_val_scatter2D.pdf\"\n", + ")\n", + "surrogate_parity(keras_surrogate, data_validation, filename=\"keras_val_parity.pdf\")\n", + "surrogate_residual(keras_surrogate, data_validation, filename=\"keras_val_residual.pdf\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 4. IDAES Flowsheet Integration" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.1 Build and Run IDAES Flowsheet" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we will build an IDAES flowsheet and import the surrogate model object. A single Keras neural network model accounts for all input and output variables, and the JSON model serialized earlier may be imported into a single SurrogateBlock() component." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# create the IDAES model and flowsheet\n", + "m = ConcreteModel()\n", + "m.fs = FlowsheetBlock(dynamic=False)\n", + "\n", + "# create flowsheet input variables\n", + "m.fs.bypass_frac = Var(\n", + " initialize=0.80, bounds=[0.1, 0.8], doc=\"natural gas bypass fraction\"\n", + ")\n", + "m.fs.ng_steam_ratio = Var(\n", + " initialize=0.80, bounds=[0.8, 1.2], doc=\"natural gas to steam ratio\"\n", + ")\n", + "\n", + "# create flowsheet output variables\n", + "m.fs.steam_flowrate = Var(initialize=0.2, doc=\"steam flowrate\")\n", + "m.fs.reformer_duty = Var(initialize=10000, doc=\"reformer heat duty\")\n", + "m.fs.AR = Var(initialize=0, doc=\"AR fraction\")\n", + "m.fs.C2H6 = Var(initialize=0, doc=\"C2H6 fraction\")\n", + "m.fs.C3H8 = Var(initialize=0, doc=\"C3H8 fraction\")\n", + "m.fs.C4H10 = Var(initialize=0, doc=\"C4H10 fraction\")\n", + "m.fs.CH4 = Var(initialize=0, doc=\"CH4 fraction\")\n", + "m.fs.CO = Var(initialize=0, doc=\"CO fraction\")\n", + "m.fs.CO2 = Var(initialize=0, doc=\"CO2 fraction\")\n", + "m.fs.H2 = Var(initialize=0, doc=\"H2 fraction\")\n", + "m.fs.H2O = Var(initialize=0, doc=\"H2O fraction\")\n", + "m.fs.N2 = Var(initialize=0, doc=\"N2 fraction\")\n", + "m.fs.O2 = Var(initialize=0, doc=\"O2 fraction\")\n", + "\n", + "# create input and output variable object lists for flowsheet\n", + "inputs = [m.fs.bypass_frac, m.fs.ng_steam_ratio]\n", + "outputs = [\n", + " m.fs.steam_flowrate,\n", + " m.fs.reformer_duty,\n", + " m.fs.AR,\n", + " m.fs.C2H6,\n", + " m.fs.C4H10,\n", + " m.fs.C3H8,\n", + " m.fs.CH4,\n", + " m.fs.CO,\n", + " m.fs.CO2,\n", + " m.fs.H2,\n", + " m.fs.H2O,\n", + " m.fs.N2,\n", + " m.fs.O2,\n", + "]\n", + "\n", + "# create the Pyomo/IDAES block that corresponds to the surrogate\n", + "# Keras\n", + "keras_surrogate = KerasSurrogate.load_from_folder(\n", + " keras_folder_name=\"keras_surrogate\", keras_model_name=\"keras_model\"\n", + ")\n", + "m.fs.surrogate = SurrogateBlock()\n", + "m.fs.surrogate.build_model(\n", + " keras_surrogate,\n", + " formulation=KerasSurrogate.Formulation.FULL_SPACE,\n", + " input_vars=inputs,\n", + " output_vars=outputs,\n", + ")\n", + "\n", + "# fix input values and solve flowsheet\n", + "m.fs.bypass_frac.fix(0.5)\n", + "m.fs.ng_steam_ratio.fix(1)\n", + "\n", + "solver = SolverFactory(\"ipopt\")\n", + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's print some model results:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Steam flowrate = \", value(m.fs.steam_flowrate))\n", + "print(\"Reformer duty = \", value(m.fs.reformer_duty))\n", + "print(\"Mole Fraction Ar = \", value(m.fs.AR))\n", + "print(\"Mole Fraction C2H6 = \", value(m.fs.C2H6))\n", + "print(\"Mole Fraction C3H8 = \", value(m.fs.C3H8))\n", + "print(\"Mole Fraction C4H10 = \", value(m.fs.C4H10))\n", + "print(\"Mole Fraction CH4 = \", value(m.fs.CH4))\n", + "print(\"Mole Fraction CO = \", value(m.fs.CO))\n", + "print(\"Mole Fraction CO2 = \", value(m.fs.CO2))\n", + "print(\"Mole Fraction H2 = \", value(m.fs.H2))\n", + "print(\"Mole Fraction H2O = \", value(m.fs.H2O))\n", + "print(\"Mole Fraction N2 = \", value(m.fs.N2))\n", + "print(\"Mole Fraction O2 = \", value(m.fs.O2))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.2 Optimizing the Autothermal Reformer\n", + "Extending this example, we will unfix the input variables and optimize hydrogen production. We will restrict nitrogen below 34 mol% of the product stream and leave all other variables unfixed.\n", + "\n", + "Above, variable values are called in reference to actual objects names; however, as shown below this may be done much more compactly by calling the list objects we created earlier." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "# unfix input values and add the objective/constraint to the model\n", + "m.fs.bypass_frac.unfix()\n", + "m.fs.ng_steam_ratio.unfix()\n", + "m.fs.obj = Objective(expr=m.fs.H2, sense=maximize)\n", + "m.fs.con = Constraint(expr=m.fs.N2 <= 0.34)\n", + "\n", + "# solve the model\n", + "tmr = TicTocTimer()\n", + "status = solver.solve(m, tee=True)\n", + "solve_time = tmr.toc(\"solve\")\n", + "\n", + "# print and check results\n", + "assert abs(value(m.fs.H2) - 0.33) <= 0.01\n", + "assert value(m.fs.N2 <= 0.4 + 1e-8)\n", + "print(\"Model status: \", status)\n", + "print(\"Solve time: \", solve_time)\n", + "for var in inputs:\n", + " print(var.name, \": \", value(var))\n", + "for var in outputs:\n", + " print(var.name, \": \", value(var))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.16" + } }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Autothermal Reformer Flowsheet Optimization with OMLT (TensorFlow Keras) Surrogate Object\n", - "Maintainer: Brandon Paul \n", - "Author: Brandon Paul \n", - "Updated: 2023-06-01 \n", - "## 1. Introduction\n", - "\n", - "This example demonstrates autothermal reformer optimization leveraging the OMLT package utilizing TensorFlow Keras neural networks. In this notebook, sampled simulation data will be used to train and validate a surrogate model. IDAES surrogate plotting tools will be utilized to visualize the surrogates on training and validation data. Once validated, integration of the surrogate into an IDAES flowsheet will be demonstrated." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 2. Problem Statement \n", - "\n", - "Within the context of a larger NGFC system, the autothermal reformer generates syngas from air, steam and natural gas for use in a solid-oxide fuel cell (SOFC).\n", - "\n", - "## 2.1. Main Inputs: \n", - "- Bypass fraction (dimensionless) - split fraction of natural gas to bypass AR unit and feed directly to the power island\n", - "- NG-Steam Ratio (dimensionless) - proportion of natural relative to steam fed into AR unit operation\n", - "\n", - "## 2.2. Main Outputs:\n", - "- Steam flowrate (kg/s) - inlet steam fed to AR unit\n", - "- Reformer duty (kW) - required energy input to AR unit\n", - "- Composition (dimensionless) - outlet mole fractions of components (Ar, C2H6, C3H8, C4H10, CH4, CO, CO2, H2, H2O, N2, O2)" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from IPython.display import Image\n", - "from pathlib import Path\n", - "\n", - "\n", - "def datafile_path(name):\n", - " return Path(\"..\") / name\n", - "\n", - "\n", - "Image(datafile_path(\"AR_PFD.png\"))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3. Training and Validating Surrogates" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "First, let's import the required Python, Pyomo and IDAES modules:" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "# Import statements\n", - "import os\n", - "import numpy as np\n", - "import pandas as pd\n", - "import random as rn\n", - "import tensorflow as tf\n", - "\n", - "# Import Pyomo libraries\n", - "from pyomo.environ import (\n", - " ConcreteModel,\n", - " SolverFactory,\n", - " value,\n", - " Var,\n", - " Constraint,\n", - " Set,\n", - " Objective,\n", - " maximize,\n", - ")\n", - "from pyomo.common.timing import TicTocTimer\n", - "\n", - "# Import IDAES libraries\n", - "from idaes.core.surrogate.sampling.data_utils import split_training_validation\n", - "from idaes.core.surrogate.sampling.scaling import OffsetScaler\n", - "from idaes.core.surrogate.keras_surrogate import (\n", - " KerasSurrogate,\n", - " save_keras_json_hd5,\n", - " load_keras_json_hd5,\n", - ")\n", - "from idaes.core.surrogate.plotting.sm_plotter import (\n", - " surrogate_scatter2D,\n", - " surrogate_parity,\n", - " surrogate_residual,\n", - ")\n", - "from idaes.core.surrogate.surrogate_block import SurrogateBlock\n", - "from idaes.core import FlowsheetBlock\n", - "\n", - "# fix environment variables to ensure consist neural network training\n", - "os.environ[\"PYTHONHASHSEED\"] = \"0\"\n", - "os.environ[\"CUDA_VISIBLE_DEVICES\"] = \"\"\n", - "np.random.seed(46)\n", - "rn.seed(1342)\n", - "tf.random.set_seed(62)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.1 Importing Training and Validation Datasets" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this section, we read the dataset from the CSV file located in this directory. 2800 data points were simulated from a rigorous IDAES NGFC flowsheet using a grid sampling method. For simplicity and to reduce training runtime, this example randomly selects 100 data points to use for training/validation. The data is separated using an 80/20 split into training and validation data using the IDAES `split_training_validation()` method." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "# Import Auto-reformer training data\n", - "np.set_printoptions(precision=6, suppress=True)\n", - "\n", - "csv_data = pd.read_csv(datafile_path(\"reformer-data.csv\")) # 2800 data points\n", - "data = csv_data.sample(n=100) # randomly sample points for training/validation\n", - "\n", - "input_data = data.iloc[:, :2]\n", - "output_data = data.iloc[:, 2:]\n", - "\n", - "# Define labels, and split training and validation data\n", - "input_labels = input_data.columns\n", - "output_labels = output_data.columns\n", - "\n", - "n_data = data[input_labels[0]].size\n", - "data_training, data_validation = split_training_validation(\n", - " data, 0.8, seed=n_data\n", - ") # seed=100" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.2 Training Surrogates with TensorFlow Keras" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "TensorFlow Keras provides an interface to pass regression settings, build neural networks and train surrogate models. Keras enables the usage of two API formats: Sequential and Functional. While the Functional API offers more versatility, including multiple input and output layers in a single neural network, the Sequential API is more stable and user-friendly. Further, the Sequential API integrates cleanly with existing IDAES surrogate tools and will be utilized in this example.\n", - "\n", - "In the code below, we build the neural network structure based on our training data structure and desired regression settings. Offline, neural network models were trained for the list of settings below, and the options bolded and italicized were determined to have the minimum mean squared error for the dataset:\n", - "\n", - "- Activation function: relu, sigmoid, ***tanh***\n", - "- Optimizer: ***Adam***, RMSprop, SGD\n", - "- Number of hidden layers: 1, ***2***, 4\n", - "- Number of neurons per layer: 10, 20, ***40***\n", - "\n", - "Typically, Sequential Keras models are built vertically; the dataset is scaled and normalized. The network is defined for the input layer, hidden layers, and output layer for the passed activation functions and network/layer sizes. Then, the model is compiled using the passed optimizer and trained using a desired number of epochs. Keras internally validates while training and updates each epoch's model weight (coefficient) values.\n", - "\n", - "Finally, after training the model, we save the results and model expressions to a folder that contains a serialized JSON file. Serializing the model in this fashion enables importing a previously trained set of surrogate models into external flowsheets. This feature will be used later." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "# capture long output (not required to use surrogate API)\n", - "from io import StringIO\n", - "import sys\n", - "\n", - "stream = StringIO()\n", - "oldstdout = sys.stdout\n", - "sys.stdout = stream\n", - "\n", - "# selected settings for regression (best fit from options above)\n", - "activation, optimizer, n_hidden_layers, n_nodes_per_layer = \"tanh\", \"Adam\", 2, 40\n", - "loss, metrics = \"mse\", [\"mae\", \"mse\"]\n", - "\n", - "# Create data objects for training using scalar normalization\n", - "n_inputs = len(input_labels)\n", - "n_outputs = len(output_labels)\n", - "x = input_data\n", - "y = output_data\n", - "\n", - "input_scaler = None\n", - "output_scaler = None\n", - "input_scaler = OffsetScaler.create_normalizing_scaler(x)\n", - "output_scaler = OffsetScaler.create_normalizing_scaler(y)\n", - "x = input_scaler.scale(x)\n", - "y = output_scaler.scale(y)\n", - "x = x.to_numpy()\n", - "y = y.to_numpy()\n", - "\n", - "# Create Keras Sequential object and build neural network\n", - "model = tf.keras.Sequential()\n", - "model.add(\n", - " tf.keras.layers.Dense(\n", - " units=n_nodes_per_layer, input_dim=n_inputs, activation=activation\n", - " )\n", - ")\n", - "for i in range(1, n_hidden_layers):\n", - " model.add(tf.keras.layers.Dense(units=n_nodes_per_layer, activation=activation))\n", - "model.add(tf.keras.layers.Dense(units=n_outputs))\n", - "\n", - "# Train surrogate (calls optimizer on neural network and solves for weights)\n", - "model.compile(loss=loss, optimizer=optimizer, metrics=metrics)\n", - "mcp_save = tf.keras.callbacks.ModelCheckpoint(\n", - " \".mdl_wts.keras\", save_best_only=True, monitor=\"val_loss\", mode=\"min\"\n", - ")\n", - "history = model.fit(\n", - " x=x, y=y, validation_split=0.2, verbose=1, epochs=1000, callbacks=[mcp_save]\n", - ")\n", - "\n", - "# save model to JSON and create callable surrogate object\n", - "xmin, xmax = [0.1, 0.8], [0.8, 1.2]\n", - "input_bounds = {input_labels[i]: (xmin[i], xmax[i]) for i in range(len(input_labels))}\n", - "\n", - "keras_surrogate = KerasSurrogate(\n", - " model,\n", - " input_labels=list(input_labels),\n", - " output_labels=list(output_labels),\n", - " input_bounds=input_bounds,\n", - " input_scaler=input_scaler,\n", - " output_scaler=output_scaler,\n", - ")\n", - "keras_surrogate.save_to_folder(\n", - " keras_folder_name=\"keras_surrogate\", keras_model_name=\"keras_model\"\n", - ")\n", - "\n", - "# revert back to normal output capture\n", - "sys.stdout = oldstdout\n", - "\n", - "# display first 50 lines and last 50 lines of output\n", - "celloutput = stream.getvalue().split(\"\\n\")\n", - "for line in celloutput[:50]:\n", - " print(line)\n", - "print(\".\")\n", - "print(\".\")\n", - "print(\".\")\n", - "for line in celloutput[-50:]:\n", - " print(line)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.3 Visualizing surrogates" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that the surrogate models have been trained, the models can be visualized through scatter, parity, and residual plots to confirm their validity in the chosen domain. The training data will be visualized first to confirm the surrogates fit the data. Then the validation data will be visualized to confirm the surrogates accurately predict new output values." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "# visualize with IDAES surrogate plotting tools\n", - "surrogate_scatter2D(\n", - " keras_surrogate, data_training, filename=\"keras_train_scatter2D.pdf\"\n", - ")\n", - "surrogate_parity(keras_surrogate, data_training, filename=\"keras_train_parity.pdf\")\n", - "surrogate_residual(keras_surrogate, data_training, filename=\"keras_train_residual.pdf\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.4 Model Validation" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "# visualize with IDAES surrogate plotting tools\n", - "surrogate_scatter2D(\n", - " keras_surrogate, data_validation, filename=\"keras_val_scatter2D.pdf\"\n", - ")\n", - "surrogate_parity(keras_surrogate, data_validation, filename=\"keras_val_parity.pdf\")\n", - "surrogate_residual(keras_surrogate, data_validation, filename=\"keras_val_residual.pdf\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 4. IDAES Flowsheet Integration" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 4.1 Build and Run IDAES Flowsheet" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we will build an IDAES flowsheet and import the surrogate model object. A single Keras neural network model accounts for all input and output variables, and the JSON model serialized earlier may be imported into a single SurrogateBlock() component." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "# create the IDAES model and flowsheet\n", - "m = ConcreteModel()\n", - "m.fs = FlowsheetBlock(dynamic=False)\n", - "\n", - "# create flowsheet input variables\n", - "m.fs.bypass_frac = Var(\n", - " initialize=0.80, bounds=[0.1, 0.8], doc=\"natural gas bypass fraction\"\n", - ")\n", - "m.fs.ng_steam_ratio = Var(\n", - " initialize=0.80, bounds=[0.8, 1.2], doc=\"natural gas to steam ratio\"\n", - ")\n", - "\n", - "# create flowsheet output variables\n", - "m.fs.steam_flowrate = Var(initialize=0.2, doc=\"steam flowrate\")\n", - "m.fs.reformer_duty = Var(initialize=10000, doc=\"reformer heat duty\")\n", - "m.fs.AR = Var(initialize=0, doc=\"AR fraction\")\n", - "m.fs.C2H6 = Var(initialize=0, doc=\"C2H6 fraction\")\n", - "m.fs.C3H8 = Var(initialize=0, doc=\"C3H8 fraction\")\n", - "m.fs.C4H10 = Var(initialize=0, doc=\"C4H10 fraction\")\n", - "m.fs.CH4 = Var(initialize=0, doc=\"CH4 fraction\")\n", - "m.fs.CO = Var(initialize=0, doc=\"CO fraction\")\n", - "m.fs.CO2 = Var(initialize=0, doc=\"CO2 fraction\")\n", - "m.fs.H2 = Var(initialize=0, doc=\"H2 fraction\")\n", - "m.fs.H2O = Var(initialize=0, doc=\"H2O fraction\")\n", - "m.fs.N2 = Var(initialize=0, doc=\"N2 fraction\")\n", - "m.fs.O2 = Var(initialize=0, doc=\"O2 fraction\")\n", - "\n", - "# create input and output variable object lists for flowsheet\n", - "inputs = [m.fs.bypass_frac, m.fs.ng_steam_ratio]\n", - "outputs = [\n", - " m.fs.steam_flowrate,\n", - " m.fs.reformer_duty,\n", - " m.fs.AR,\n", - " m.fs.C2H6,\n", - " m.fs.C4H10,\n", - " m.fs.C3H8,\n", - " m.fs.CH4,\n", - " m.fs.CO,\n", - " m.fs.CO2,\n", - " m.fs.H2,\n", - " m.fs.H2O,\n", - " m.fs.N2,\n", - " m.fs.O2,\n", - "]\n", - "\n", - "# create the Pyomo/IDAES block that corresponds to the surrogate\n", - "# Keras\n", - "keras_surrogate = KerasSurrogate.load_from_folder(\n", - " keras_folder_name=\"keras_surrogate\", keras_model_name=\"keras_model\"\n", - ")\n", - "m.fs.surrogate = SurrogateBlock()\n", - "m.fs.surrogate.build_model(\n", - " keras_surrogate,\n", - " formulation=KerasSurrogate.Formulation.FULL_SPACE,\n", - " input_vars=inputs,\n", - " output_vars=outputs,\n", - ")\n", - "\n", - "# fix input values and solve flowsheet\n", - "m.fs.bypass_frac.fix(0.5)\n", - "m.fs.ng_steam_ratio.fix(1)\n", - "\n", - "solver = SolverFactory(\"ipopt\")\n", - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's print some model results:" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "print(\"Steam flowrate = \", value(m.fs.steam_flowrate))\n", - "print(\"Reformer duty = \", value(m.fs.reformer_duty))\n", - "print(\"Mole Fraction Ar = \", value(m.fs.AR))\n", - "print(\"Mole Fraction C2H6 = \", value(m.fs.C2H6))\n", - "print(\"Mole Fraction C3H8 = \", value(m.fs.C3H8))\n", - "print(\"Mole Fraction C4H10 = \", value(m.fs.C4H10))\n", - "print(\"Mole Fraction CH4 = \", value(m.fs.CH4))\n", - "print(\"Mole Fraction CO = \", value(m.fs.CO))\n", - "print(\"Mole Fraction CO2 = \", value(m.fs.CO2))\n", - "print(\"Mole Fraction H2 = \", value(m.fs.H2))\n", - "print(\"Mole Fraction H2O = \", value(m.fs.H2O))\n", - "print(\"Mole Fraction N2 = \", value(m.fs.N2))\n", - "print(\"Mole Fraction O2 = \", value(m.fs.O2))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 4.2 Optimizing the Autothermal Reformer\n", - "Extending this example, we will unfix the input variables and optimize hydrogen production. We will restrict nitrogen below 34 mol% of the product stream and leave all other variables unfixed.\n", - "\n", - "Above, variable values are called in reference to actual objects names; however, as shown below this may be done much more compactly by calling the list objects we created earlier." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "# unfix input values and add the objective/constraint to the model\n", - "m.fs.bypass_frac.unfix()\n", - "m.fs.ng_steam_ratio.unfix()\n", - "m.fs.obj = Objective(expr=m.fs.H2, sense=maximize)\n", - "m.fs.con = Constraint(expr=m.fs.N2 <= 0.34)\n", - "\n", - "# solve the model\n", - "tmr = TicTocTimer()\n", - "status = solver.solve(m, tee=True)\n", - "solve_time = tmr.toc(\"solve\")\n", - "\n", - "# print and check results\n", - "assert abs(value(m.fs.H2) - 0.33) <= 0.01\n", - "assert value(m.fs.N2 <= 0.4 + 1e-8)\n", - "print(\"Model status: \", status)\n", - "print(\"Solve time: \", solve_time)\n", - "for var in inputs:\n", - " print(var.name, \": \", value(var))\n", - "for var in outputs:\n", - " print(var.name, \": \", value(var))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.16" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/omlt/keras_flowsheet_optimization_usr.ipynb b/idaes_examples/notebooks/docs/surrogates/omlt/keras_flowsheet_optimization_usr.ipynb index bae4c938..11d56f16 100644 --- a/idaes_examples/notebooks/docs/surrogates/omlt/keras_flowsheet_optimization_usr.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/omlt/keras_flowsheet_optimization_usr.ipynb @@ -1,530 +1,531 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Autothermal Reformer Flowsheet Optimization with OMLT (TensorFlow Keras) Surrogate Object\n", + "Maintainer: Brandon Paul \n", + "Author: Brandon Paul \n", + "Updated: 2023-06-01 \n", + "## 1. Introduction\n", + "\n", + "This example demonstrates autothermal reformer optimization leveraging the OMLT package utilizing TensorFlow Keras neural networks. In this notebook, sampled simulation data will be used to train and validate a surrogate model. IDAES surrogate plotting tools will be utilized to visualize the surrogates on training and validation data. Once validated, integration of the surrogate into an IDAES flowsheet will be demonstrated." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2. Problem Statement \n", + "\n", + "Within the context of a larger NGFC system, the autothermal reformer generates syngas from air, steam and natural gas for use in a solid-oxide fuel cell (SOFC).\n", + "\n", + "## 2.1. Main Inputs: \n", + "- Bypass fraction (dimensionless) - split fraction of natural gas to bypass AR unit and feed directly to the power island\n", + "- NG-Steam Ratio (dimensionless) - proportion of natural relative to steam fed into AR unit operation\n", + "\n", + "## 2.2. Main Outputs:\n", + "- Steam flowrate (kg/s) - inlet steam fed to AR unit\n", + "- Reformer duty (kW) - required energy input to AR unit\n", + "- Composition (dimensionless) - outlet mole fractions of components (Ar, C2H6, C3H8, C4H10, CH4, CO, CO2, H2, H2O, N2, O2)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import Image\n", + "from pathlib import Path\n", + "\n", + "\n", + "def datafile_path(name):\n", + " return Path(\"..\") / name\n", + "\n", + "\n", + "Image(datafile_path(\"AR_PFD.png\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. Training and Validating Surrogates" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "First, let's import the required Python, Pyomo and IDAES modules:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# Import statements\n", + "import os\n", + "import numpy as np\n", + "import pandas as pd\n", + "import random as rn\n", + "import tensorflow as tf\n", + "\n", + "# Import Pyomo libraries\n", + "from pyomo.environ import (\n", + " ConcreteModel,\n", + " SolverFactory,\n", + " value,\n", + " Var,\n", + " Constraint,\n", + " Set,\n", + " Objective,\n", + " maximize,\n", + ")\n", + "from pyomo.common.timing import TicTocTimer\n", + "\n", + "# Import IDAES libraries\n", + "from idaes.core.surrogate.sampling.data_utils import split_training_validation\n", + "from idaes.core.surrogate.sampling.scaling import OffsetScaler\n", + "from idaes.core.surrogate.keras_surrogate import (\n", + " KerasSurrogate,\n", + " save_keras_json_hd5,\n", + " load_keras_json_hd5,\n", + ")\n", + "from idaes.core.surrogate.plotting.sm_plotter import (\n", + " surrogate_scatter2D,\n", + " surrogate_parity,\n", + " surrogate_residual,\n", + ")\n", + "from idaes.core.surrogate.surrogate_block import SurrogateBlock\n", + "from idaes.core import FlowsheetBlock\n", + "\n", + "# fix environment variables to ensure consist neural network training\n", + "os.environ[\"PYTHONHASHSEED\"] = \"0\"\n", + "os.environ[\"CUDA_VISIBLE_DEVICES\"] = \"\"\n", + "np.random.seed(46)\n", + "rn.seed(1342)\n", + "tf.random.set_seed(62)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.1 Importing Training and Validation Datasets" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this section, we read the dataset from the CSV file located in this directory. 2800 data points were simulated from a rigorous IDAES NGFC flowsheet using a grid sampling method. For simplicity and to reduce training runtime, this example randomly selects 100 data points to use for training/validation. The data is separated using an 80/20 split into training and validation data using the IDAES `split_training_validation()` method." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# Import Auto-reformer training data\n", + "np.set_printoptions(precision=6, suppress=True)\n", + "\n", + "csv_data = pd.read_csv(datafile_path(\"reformer-data.csv\")) # 2800 data points\n", + "data = csv_data.sample(n=100) # randomly sample points for training/validation\n", + "\n", + "input_data = data.iloc[:, :2]\n", + "output_data = data.iloc[:, 2:]\n", + "\n", + "# Define labels, and split training and validation data\n", + "input_labels = input_data.columns\n", + "output_labels = output_data.columns\n", + "\n", + "n_data = data[input_labels[0]].size\n", + "data_training, data_validation = split_training_validation(\n", + " data, 0.8, seed=n_data\n", + ") # seed=100" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.2 Training Surrogates with TensorFlow Keras" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "TensorFlow Keras provides an interface to pass regression settings, build neural networks and train surrogate models. Keras enables the usage of two API formats: Sequential and Functional. While the Functional API offers more versatility, including multiple input and output layers in a single neural network, the Sequential API is more stable and user-friendly. Further, the Sequential API integrates cleanly with existing IDAES surrogate tools and will be utilized in this example.\n", + "\n", + "In the code below, we build the neural network structure based on our training data structure and desired regression settings. Offline, neural network models were trained for the list of settings below, and the options bolded and italicized were determined to have the minimum mean squared error for the dataset:\n", + "\n", + "- Activation function: relu, sigmoid, ***tanh***\n", + "- Optimizer: ***Adam***, RMSprop, SGD\n", + "- Number of hidden layers: 1, ***2***, 4\n", + "- Number of neurons per layer: 10, 20, ***40***\n", + "\n", + "Typically, Sequential Keras models are built vertically; the dataset is scaled and normalized. The network is defined for the input layer, hidden layers, and output layer for the passed activation functions and network/layer sizes. Then, the model is compiled using the passed optimizer and trained using a desired number of epochs. Keras internally validates while training and updates each epoch's model weight (coefficient) values.\n", + "\n", + "Finally, after training the model, we save the results and model expressions to a folder that contains a serialized JSON file. Serializing the model in this fashion enables importing a previously trained set of surrogate models into external flowsheets. This feature will be used later." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "# capture long output (not required to use surrogate API)\n", + "from io import StringIO\n", + "import sys\n", + "\n", + "stream = StringIO()\n", + "oldstdout = sys.stdout\n", + "sys.stdout = stream\n", + "\n", + "# selected settings for regression (best fit from options above)\n", + "activation, optimizer, n_hidden_layers, n_nodes_per_layer = \"tanh\", \"Adam\", 2, 40\n", + "loss, metrics = \"mse\", [\"mae\", \"mse\"]\n", + "\n", + "# Create data objects for training using scalar normalization\n", + "n_inputs = len(input_labels)\n", + "n_outputs = len(output_labels)\n", + "x = input_data\n", + "y = output_data\n", + "\n", + "input_scaler = None\n", + "output_scaler = None\n", + "input_scaler = OffsetScaler.create_normalizing_scaler(x)\n", + "output_scaler = OffsetScaler.create_normalizing_scaler(y)\n", + "x = input_scaler.scale(x)\n", + "y = output_scaler.scale(y)\n", + "x = x.to_numpy()\n", + "y = y.to_numpy()\n", + "\n", + "# Create Keras Sequential object and build neural network\n", + "model = tf.keras.Sequential()\n", + "model.add(\n", + " tf.keras.layers.Dense(\n", + " units=n_nodes_per_layer, input_dim=n_inputs, activation=activation\n", + " )\n", + ")\n", + "for i in range(1, n_hidden_layers):\n", + " model.add(tf.keras.layers.Dense(units=n_nodes_per_layer, activation=activation))\n", + "model.add(tf.keras.layers.Dense(units=n_outputs))\n", + "\n", + "# Train surrogate (calls optimizer on neural network and solves for weights)\n", + "model.compile(loss=loss, optimizer=optimizer, metrics=metrics)\n", + "mcp_save = tf.keras.callbacks.ModelCheckpoint(\n", + " \".mdl_wts.keras\", save_best_only=True, monitor=\"val_loss\", mode=\"min\"\n", + ")\n", + "history = model.fit(\n", + " x=x, y=y, validation_split=0.2, verbose=1, epochs=1000, callbacks=[mcp_save]\n", + ")\n", + "\n", + "# save model to JSON and create callable surrogate object\n", + "xmin, xmax = [0.1, 0.8], [0.8, 1.2]\n", + "input_bounds = {input_labels[i]: (xmin[i], xmax[i]) for i in range(len(input_labels))}\n", + "\n", + "keras_surrogate = KerasSurrogate(\n", + " model,\n", + " input_labels=list(input_labels),\n", + " output_labels=list(output_labels),\n", + " input_bounds=input_bounds,\n", + " input_scaler=input_scaler,\n", + " output_scaler=output_scaler,\n", + ")\n", + "keras_surrogate.save_to_folder(\n", + " keras_folder_name=\"keras_surrogate\", keras_model_name=\"keras_model\"\n", + ")\n", + "\n", + "# revert back to normal output capture\n", + "sys.stdout = oldstdout\n", + "\n", + "# display first 50 lines and last 50 lines of output\n", + "celloutput = stream.getvalue().split(\"\\n\")\n", + "for line in celloutput[:50]:\n", + " print(line)\n", + "print(\".\")\n", + "print(\".\")\n", + "print(\".\")\n", + "for line in celloutput[-50:]:\n", + " print(line)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.3 Visualizing surrogates" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that the surrogate models have been trained, the models can be visualized through scatter, parity, and residual plots to confirm their validity in the chosen domain. The training data will be visualized first to confirm the surrogates fit the data. Then the validation data will be visualized to confirm the surrogates accurately predict new output values." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "# visualize with IDAES surrogate plotting tools\n", + "surrogate_scatter2D(\n", + " keras_surrogate, data_training, filename=\"keras_train_scatter2D.pdf\"\n", + ")\n", + "surrogate_parity(keras_surrogate, data_training, filename=\"keras_train_parity.pdf\")\n", + "surrogate_residual(keras_surrogate, data_training, filename=\"keras_train_residual.pdf\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.4 Model Validation" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "# visualize with IDAES surrogate plotting tools\n", + "surrogate_scatter2D(\n", + " keras_surrogate, data_validation, filename=\"keras_val_scatter2D.pdf\"\n", + ")\n", + "surrogate_parity(keras_surrogate, data_validation, filename=\"keras_val_parity.pdf\")\n", + "surrogate_residual(keras_surrogate, data_validation, filename=\"keras_val_residual.pdf\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 4. IDAES Flowsheet Integration" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.1 Build and Run IDAES Flowsheet" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we will build an IDAES flowsheet and import the surrogate model object. A single Keras neural network model accounts for all input and output variables, and the JSON model serialized earlier may be imported into a single SurrogateBlock() component." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# create the IDAES model and flowsheet\n", + "m = ConcreteModel()\n", + "m.fs = FlowsheetBlock(dynamic=False)\n", + "\n", + "# create flowsheet input variables\n", + "m.fs.bypass_frac = Var(\n", + " initialize=0.80, bounds=[0.1, 0.8], doc=\"natural gas bypass fraction\"\n", + ")\n", + "m.fs.ng_steam_ratio = Var(\n", + " initialize=0.80, bounds=[0.8, 1.2], doc=\"natural gas to steam ratio\"\n", + ")\n", + "\n", + "# create flowsheet output variables\n", + "m.fs.steam_flowrate = Var(initialize=0.2, doc=\"steam flowrate\")\n", + "m.fs.reformer_duty = Var(initialize=10000, doc=\"reformer heat duty\")\n", + "m.fs.AR = Var(initialize=0, doc=\"AR fraction\")\n", + "m.fs.C2H6 = Var(initialize=0, doc=\"C2H6 fraction\")\n", + "m.fs.C3H8 = Var(initialize=0, doc=\"C3H8 fraction\")\n", + "m.fs.C4H10 = Var(initialize=0, doc=\"C4H10 fraction\")\n", + "m.fs.CH4 = Var(initialize=0, doc=\"CH4 fraction\")\n", + "m.fs.CO = Var(initialize=0, doc=\"CO fraction\")\n", + "m.fs.CO2 = Var(initialize=0, doc=\"CO2 fraction\")\n", + "m.fs.H2 = Var(initialize=0, doc=\"H2 fraction\")\n", + "m.fs.H2O = Var(initialize=0, doc=\"H2O fraction\")\n", + "m.fs.N2 = Var(initialize=0, doc=\"N2 fraction\")\n", + "m.fs.O2 = Var(initialize=0, doc=\"O2 fraction\")\n", + "\n", + "# create input and output variable object lists for flowsheet\n", + "inputs = [m.fs.bypass_frac, m.fs.ng_steam_ratio]\n", + "outputs = [\n", + " m.fs.steam_flowrate,\n", + " m.fs.reformer_duty,\n", + " m.fs.AR,\n", + " m.fs.C2H6,\n", + " m.fs.C4H10,\n", + " m.fs.C3H8,\n", + " m.fs.CH4,\n", + " m.fs.CO,\n", + " m.fs.CO2,\n", + " m.fs.H2,\n", + " m.fs.H2O,\n", + " m.fs.N2,\n", + " m.fs.O2,\n", + "]\n", + "\n", + "# create the Pyomo/IDAES block that corresponds to the surrogate\n", + "# Keras\n", + "keras_surrogate = KerasSurrogate.load_from_folder(\n", + " keras_folder_name=\"keras_surrogate\", keras_model_name=\"keras_model\"\n", + ")\n", + "m.fs.surrogate = SurrogateBlock()\n", + "m.fs.surrogate.build_model(\n", + " keras_surrogate,\n", + " formulation=KerasSurrogate.Formulation.FULL_SPACE,\n", + " input_vars=inputs,\n", + " output_vars=outputs,\n", + ")\n", + "\n", + "# fix input values and solve flowsheet\n", + "m.fs.bypass_frac.fix(0.5)\n", + "m.fs.ng_steam_ratio.fix(1)\n", + "\n", + "solver = SolverFactory(\"ipopt\")\n", + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's print some model results:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Steam flowrate = \", value(m.fs.steam_flowrate))\n", + "print(\"Reformer duty = \", value(m.fs.reformer_duty))\n", + "print(\"Mole Fraction Ar = \", value(m.fs.AR))\n", + "print(\"Mole Fraction C2H6 = \", value(m.fs.C2H6))\n", + "print(\"Mole Fraction C3H8 = \", value(m.fs.C3H8))\n", + "print(\"Mole Fraction C4H10 = \", value(m.fs.C4H10))\n", + "print(\"Mole Fraction CH4 = \", value(m.fs.CH4))\n", + "print(\"Mole Fraction CO = \", value(m.fs.CO))\n", + "print(\"Mole Fraction CO2 = \", value(m.fs.CO2))\n", + "print(\"Mole Fraction H2 = \", value(m.fs.H2))\n", + "print(\"Mole Fraction H2O = \", value(m.fs.H2O))\n", + "print(\"Mole Fraction N2 = \", value(m.fs.N2))\n", + "print(\"Mole Fraction O2 = \", value(m.fs.O2))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.2 Optimizing the Autothermal Reformer\n", + "Extending this example, we will unfix the input variables and optimize hydrogen production. We will restrict nitrogen below 34 mol% of the product stream and leave all other variables unfixed.\n", + "\n", + "Above, variable values are called in reference to actual objects names; however, as shown below this may be done much more compactly by calling the list objects we created earlier." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "# unfix input values and add the objective/constraint to the model\n", + "m.fs.bypass_frac.unfix()\n", + "m.fs.ng_steam_ratio.unfix()\n", + "m.fs.obj = Objective(expr=m.fs.H2, sense=maximize)\n", + "m.fs.con = Constraint(expr=m.fs.N2 <= 0.34)\n", + "\n", + "# solve the model\n", + "tmr = TicTocTimer()\n", + "status = solver.solve(m, tee=True)\n", + "solve_time = tmr.toc(\"solve\")\n", + "\n", + "# print and check results\n", + "assert abs(value(m.fs.H2) - 0.33) <= 0.01\n", + "assert value(m.fs.N2 <= 0.4 + 1e-8)\n", + "print(\"Model status: \", status)\n", + "print(\"Solve time: \", solve_time)\n", + "for var in inputs:\n", + " print(var.name, \": \", value(var))\n", + "for var in outputs:\n", + " print(var.name, \": \", value(var))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.16" + } }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Autothermal Reformer Flowsheet Optimization with OMLT (TensorFlow Keras) Surrogate Object\n", - "Maintainer: Brandon Paul \n", - "Author: Brandon Paul \n", - "Updated: 2023-06-01 \n", - "## 1. Introduction\n", - "\n", - "This example demonstrates autothermal reformer optimization leveraging the OMLT package utilizing TensorFlow Keras neural networks. In this notebook, sampled simulation data will be used to train and validate a surrogate model. IDAES surrogate plotting tools will be utilized to visualize the surrogates on training and validation data. Once validated, integration of the surrogate into an IDAES flowsheet will be demonstrated." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 2. Problem Statement \n", - "\n", - "Within the context of a larger NGFC system, the autothermal reformer generates syngas from air, steam and natural gas for use in a solid-oxide fuel cell (SOFC).\n", - "\n", - "## 2.1. Main Inputs: \n", - "- Bypass fraction (dimensionless) - split fraction of natural gas to bypass AR unit and feed directly to the power island\n", - "- NG-Steam Ratio (dimensionless) - proportion of natural relative to steam fed into AR unit operation\n", - "\n", - "## 2.2. Main Outputs:\n", - "- Steam flowrate (kg/s) - inlet steam fed to AR unit\n", - "- Reformer duty (kW) - required energy input to AR unit\n", - "- Composition (dimensionless) - outlet mole fractions of components (Ar, C2H6, C3H8, C4H10, CH4, CO, CO2, H2, H2O, N2, O2)" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from IPython.display import Image\n", - "from pathlib import Path\n", - "\n", - "\n", - "def datafile_path(name):\n", - " return Path(\"..\") / name\n", - "\n", - "\n", - "Image(datafile_path(\"AR_PFD.png\"))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3. Training and Validating Surrogates" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "First, let's import the required Python, Pyomo and IDAES modules:" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "# Import statements\n", - "import os\n", - "import numpy as np\n", - "import pandas as pd\n", - "import random as rn\n", - "import tensorflow as tf\n", - "\n", - "# Import Pyomo libraries\n", - "from pyomo.environ import (\n", - " ConcreteModel,\n", - " SolverFactory,\n", - " value,\n", - " Var,\n", - " Constraint,\n", - " Set,\n", - " Objective,\n", - " maximize,\n", - ")\n", - "from pyomo.common.timing import TicTocTimer\n", - "\n", - "# Import IDAES libraries\n", - "from idaes.core.surrogate.sampling.data_utils import split_training_validation\n", - "from idaes.core.surrogate.sampling.scaling import OffsetScaler\n", - "from idaes.core.surrogate.keras_surrogate import (\n", - " KerasSurrogate,\n", - " save_keras_json_hd5,\n", - " load_keras_json_hd5,\n", - ")\n", - "from idaes.core.surrogate.plotting.sm_plotter import (\n", - " surrogate_scatter2D,\n", - " surrogate_parity,\n", - " surrogate_residual,\n", - ")\n", - "from idaes.core.surrogate.surrogate_block import SurrogateBlock\n", - "from idaes.core import FlowsheetBlock\n", - "\n", - "# fix environment variables to ensure consist neural network training\n", - "os.environ[\"PYTHONHASHSEED\"] = \"0\"\n", - "os.environ[\"CUDA_VISIBLE_DEVICES\"] = \"\"\n", - "np.random.seed(46)\n", - "rn.seed(1342)\n", - "tf.random.set_seed(62)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.1 Importing Training and Validation Datasets" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this section, we read the dataset from the CSV file located in this directory. 2800 data points were simulated from a rigorous IDAES NGFC flowsheet using a grid sampling method. For simplicity and to reduce training runtime, this example randomly selects 100 data points to use for training/validation. The data is separated using an 80/20 split into training and validation data using the IDAES `split_training_validation()` method." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "# Import Auto-reformer training data\n", - "np.set_printoptions(precision=6, suppress=True)\n", - "\n", - "csv_data = pd.read_csv(datafile_path(\"reformer-data.csv\")) # 2800 data points\n", - "data = csv_data.sample(n=100) # randomly sample points for training/validation\n", - "\n", - "input_data = data.iloc[:, :2]\n", - "output_data = data.iloc[:, 2:]\n", - "\n", - "# Define labels, and split training and validation data\n", - "input_labels = input_data.columns\n", - "output_labels = output_data.columns\n", - "\n", - "n_data = data[input_labels[0]].size\n", - "data_training, data_validation = split_training_validation(\n", - " data, 0.8, seed=n_data\n", - ") # seed=100" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.2 Training Surrogates with TensorFlow Keras" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "TensorFlow Keras provides an interface to pass regression settings, build neural networks and train surrogate models. Keras enables the usage of two API formats: Sequential and Functional. While the Functional API offers more versatility, including multiple input and output layers in a single neural network, the Sequential API is more stable and user-friendly. Further, the Sequential API integrates cleanly with existing IDAES surrogate tools and will be utilized in this example.\n", - "\n", - "In the code below, we build the neural network structure based on our training data structure and desired regression settings. Offline, neural network models were trained for the list of settings below, and the options bolded and italicized were determined to have the minimum mean squared error for the dataset:\n", - "\n", - "- Activation function: relu, sigmoid, ***tanh***\n", - "- Optimizer: ***Adam***, RMSprop, SGD\n", - "- Number of hidden layers: 1, ***2***, 4\n", - "- Number of neurons per layer: 10, 20, ***40***\n", - "\n", - "Typically, Sequential Keras models are built vertically; the dataset is scaled and normalized. The network is defined for the input layer, hidden layers, and output layer for the passed activation functions and network/layer sizes. Then, the model is compiled using the passed optimizer and trained using a desired number of epochs. Keras internally validates while training and updates each epoch's model weight (coefficient) values.\n", - "\n", - "Finally, after training the model, we save the results and model expressions to a folder that contains a serialized JSON file. Serializing the model in this fashion enables importing a previously trained set of surrogate models into external flowsheets. This feature will be used later." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "# capture long output (not required to use surrogate API)\n", - "from io import StringIO\n", - "import sys\n", - "\n", - "stream = StringIO()\n", - "oldstdout = sys.stdout\n", - "sys.stdout = stream\n", - "\n", - "# selected settings for regression (best fit from options above)\n", - "activation, optimizer, n_hidden_layers, n_nodes_per_layer = \"tanh\", \"Adam\", 2, 40\n", - "loss, metrics = \"mse\", [\"mae\", \"mse\"]\n", - "\n", - "# Create data objects for training using scalar normalization\n", - "n_inputs = len(input_labels)\n", - "n_outputs = len(output_labels)\n", - "x = input_data\n", - "y = output_data\n", - "\n", - "input_scaler = None\n", - "output_scaler = None\n", - "input_scaler = OffsetScaler.create_normalizing_scaler(x)\n", - "output_scaler = OffsetScaler.create_normalizing_scaler(y)\n", - "x = input_scaler.scale(x)\n", - "y = output_scaler.scale(y)\n", - "x = x.to_numpy()\n", - "y = y.to_numpy()\n", - "\n", - "# Create Keras Sequential object and build neural network\n", - "model = tf.keras.Sequential()\n", - "model.add(\n", - " tf.keras.layers.Dense(\n", - " units=n_nodes_per_layer, input_dim=n_inputs, activation=activation\n", - " )\n", - ")\n", - "for i in range(1, n_hidden_layers):\n", - " model.add(tf.keras.layers.Dense(units=n_nodes_per_layer, activation=activation))\n", - "model.add(tf.keras.layers.Dense(units=n_outputs))\n", - "\n", - "# Train surrogate (calls optimizer on neural network and solves for weights)\n", - "model.compile(loss=loss, optimizer=optimizer, metrics=metrics)\n", - "mcp_save = tf.keras.callbacks.ModelCheckpoint(\n", - " \".mdl_wts.keras\", save_best_only=True, monitor=\"val_loss\", mode=\"min\"\n", - ")\n", - "history = model.fit(\n", - " x=x, y=y, validation_split=0.2, verbose=1, epochs=1000, callbacks=[mcp_save]\n", - ")\n", - "\n", - "# save model to JSON and create callable surrogate object\n", - "xmin, xmax = [0.1, 0.8], [0.8, 1.2]\n", - "input_bounds = {input_labels[i]: (xmin[i], xmax[i]) for i in range(len(input_labels))}\n", - "\n", - "keras_surrogate = KerasSurrogate(\n", - " model,\n", - " input_labels=list(input_labels),\n", - " output_labels=list(output_labels),\n", - " input_bounds=input_bounds,\n", - " input_scaler=input_scaler,\n", - " output_scaler=output_scaler,\n", - ")\n", - "keras_surrogate.save_to_folder(\n", - " keras_folder_name=\"keras_surrogate\", keras_model_name=\"keras_model\"\n", - ")\n", - "\n", - "# revert back to normal output capture\n", - "sys.stdout = oldstdout\n", - "\n", - "# display first 50 lines and last 50 lines of output\n", - "celloutput = stream.getvalue().split(\"\\n\")\n", - "for line in celloutput[:50]:\n", - " print(line)\n", - "print(\".\")\n", - "print(\".\")\n", - "print(\".\")\n", - "for line in celloutput[-50:]:\n", - " print(line)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.3 Visualizing surrogates" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that the surrogate models have been trained, the models can be visualized through scatter, parity, and residual plots to confirm their validity in the chosen domain. The training data will be visualized first to confirm the surrogates fit the data. Then the validation data will be visualized to confirm the surrogates accurately predict new output values." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "# visualize with IDAES surrogate plotting tools\n", - "surrogate_scatter2D(\n", - " keras_surrogate, data_training, filename=\"keras_train_scatter2D.pdf\"\n", - ")\n", - "surrogate_parity(keras_surrogate, data_training, filename=\"keras_train_parity.pdf\")\n", - "surrogate_residual(keras_surrogate, data_training, filename=\"keras_train_residual.pdf\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.4 Model Validation" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "# visualize with IDAES surrogate plotting tools\n", - "surrogate_scatter2D(\n", - " keras_surrogate, data_validation, filename=\"keras_val_scatter2D.pdf\"\n", - ")\n", - "surrogate_parity(keras_surrogate, data_validation, filename=\"keras_val_parity.pdf\")\n", - "surrogate_residual(keras_surrogate, data_validation, filename=\"keras_val_residual.pdf\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 4. IDAES Flowsheet Integration" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 4.1 Build and Run IDAES Flowsheet" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we will build an IDAES flowsheet and import the surrogate model object. A single Keras neural network model accounts for all input and output variables, and the JSON model serialized earlier may be imported into a single SurrogateBlock() component." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "# create the IDAES model and flowsheet\n", - "m = ConcreteModel()\n", - "m.fs = FlowsheetBlock(dynamic=False)\n", - "\n", - "# create flowsheet input variables\n", - "m.fs.bypass_frac = Var(\n", - " initialize=0.80, bounds=[0.1, 0.8], doc=\"natural gas bypass fraction\"\n", - ")\n", - "m.fs.ng_steam_ratio = Var(\n", - " initialize=0.80, bounds=[0.8, 1.2], doc=\"natural gas to steam ratio\"\n", - ")\n", - "\n", - "# create flowsheet output variables\n", - "m.fs.steam_flowrate = Var(initialize=0.2, doc=\"steam flowrate\")\n", - "m.fs.reformer_duty = Var(initialize=10000, doc=\"reformer heat duty\")\n", - "m.fs.AR = Var(initialize=0, doc=\"AR fraction\")\n", - "m.fs.C2H6 = Var(initialize=0, doc=\"C2H6 fraction\")\n", - "m.fs.C3H8 = Var(initialize=0, doc=\"C3H8 fraction\")\n", - "m.fs.C4H10 = Var(initialize=0, doc=\"C4H10 fraction\")\n", - "m.fs.CH4 = Var(initialize=0, doc=\"CH4 fraction\")\n", - "m.fs.CO = Var(initialize=0, doc=\"CO fraction\")\n", - "m.fs.CO2 = Var(initialize=0, doc=\"CO2 fraction\")\n", - "m.fs.H2 = Var(initialize=0, doc=\"H2 fraction\")\n", - "m.fs.H2O = Var(initialize=0, doc=\"H2O fraction\")\n", - "m.fs.N2 = Var(initialize=0, doc=\"N2 fraction\")\n", - "m.fs.O2 = Var(initialize=0, doc=\"O2 fraction\")\n", - "\n", - "# create input and output variable object lists for flowsheet\n", - "inputs = [m.fs.bypass_frac, m.fs.ng_steam_ratio]\n", - "outputs = [\n", - " m.fs.steam_flowrate,\n", - " m.fs.reformer_duty,\n", - " m.fs.AR,\n", - " m.fs.C2H6,\n", - " m.fs.C4H10,\n", - " m.fs.C3H8,\n", - " m.fs.CH4,\n", - " m.fs.CO,\n", - " m.fs.CO2,\n", - " m.fs.H2,\n", - " m.fs.H2O,\n", - " m.fs.N2,\n", - " m.fs.O2,\n", - "]\n", - "\n", - "# create the Pyomo/IDAES block that corresponds to the surrogate\n", - "# Keras\n", - "keras_surrogate = KerasSurrogate.load_from_folder(\n", - " keras_folder_name=\"keras_surrogate\", keras_model_name=\"keras_model\"\n", - ")\n", - "m.fs.surrogate = SurrogateBlock()\n", - "m.fs.surrogate.build_model(\n", - " keras_surrogate,\n", - " formulation=KerasSurrogate.Formulation.FULL_SPACE,\n", - " input_vars=inputs,\n", - " output_vars=outputs,\n", - ")\n", - "\n", - "# fix input values and solve flowsheet\n", - "m.fs.bypass_frac.fix(0.5)\n", - "m.fs.ng_steam_ratio.fix(1)\n", - "\n", - "solver = SolverFactory(\"ipopt\")\n", - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's print some model results:" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "print(\"Steam flowrate = \", value(m.fs.steam_flowrate))\n", - "print(\"Reformer duty = \", value(m.fs.reformer_duty))\n", - "print(\"Mole Fraction Ar = \", value(m.fs.AR))\n", - "print(\"Mole Fraction C2H6 = \", value(m.fs.C2H6))\n", - "print(\"Mole Fraction C3H8 = \", value(m.fs.C3H8))\n", - "print(\"Mole Fraction C4H10 = \", value(m.fs.C4H10))\n", - "print(\"Mole Fraction CH4 = \", value(m.fs.CH4))\n", - "print(\"Mole Fraction CO = \", value(m.fs.CO))\n", - "print(\"Mole Fraction CO2 = \", value(m.fs.CO2))\n", - "print(\"Mole Fraction H2 = \", value(m.fs.H2))\n", - "print(\"Mole Fraction H2O = \", value(m.fs.H2O))\n", - "print(\"Mole Fraction N2 = \", value(m.fs.N2))\n", - "print(\"Mole Fraction O2 = \", value(m.fs.O2))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 4.2 Optimizing the Autothermal Reformer\n", - "Extending this example, we will unfix the input variables and optimize hydrogen production. We will restrict nitrogen below 34 mol% of the product stream and leave all other variables unfixed.\n", - "\n", - "Above, variable values are called in reference to actual objects names; however, as shown below this may be done much more compactly by calling the list objects we created earlier." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "# unfix input values and add the objective/constraint to the model\n", - "m.fs.bypass_frac.unfix()\n", - "m.fs.ng_steam_ratio.unfix()\n", - "m.fs.obj = Objective(expr=m.fs.H2, sense=maximize)\n", - "m.fs.con = Constraint(expr=m.fs.N2 <= 0.34)\n", - "\n", - "# solve the model\n", - "tmr = TicTocTimer()\n", - "status = solver.solve(m, tee=True)\n", - "solve_time = tmr.toc(\"solve\")\n", - "\n", - "# print and check results\n", - "assert abs(value(m.fs.H2) - 0.33) <= 0.01\n", - "assert value(m.fs.N2 <= 0.4 + 1e-8)\n", - "print(\"Model status: \", status)\n", - "print(\"Solve time: \", solve_time)\n", - "for var in inputs:\n", - " print(var.name, \": \", value(var))\n", - "for var in outputs:\n", - " print(var.name, \": \", value(var))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.16" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/omlt/keras_surrogate/keras_model.keras b/idaes_examples/notebooks/docs/surrogates/omlt/keras_surrogate/keras_model.keras index 55b0068b59a96e6ebc43f193a581b924dfb71939..d3e59f585112dc2967d7565512c63422bec37ba4 100644 GIT binary patch literal 52921 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 diff --git a/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_basics.ipynb b/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_basics.ipynb index 60c8f350..081f1c08 100644 --- a/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_basics.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_basics.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_basics_doc.ipynb b/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_basics_doc.ipynb index 7a3c6798..9b70790a 100644 --- a/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_basics_doc.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_basics_doc.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -83,7 +84,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -115,18 +116,9 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Sampling type: creation \n", - "\n" - ] - } - ], + "outputs": [], "source": [ "bounds_info = [[273, 1], [373, 50]]\n", "init_data = HammersleySampling(\n", @@ -144,41 +136,9 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[[273. 1. ]\n", - " [277. 25.5 ]\n", - " [281. 13.25 ]\n", - " [285. 37.75 ]\n", - " [289. 7.125 ]\n", - " [293. 31.625 ]\n", - " [297. 19.375 ]\n", - " [301. 43.875 ]\n", - " [305. 4.0625 ]\n", - " [309. 28.5625 ]\n", - " [313. 16.3125 ]\n", - " [317. 40.8125 ]\n", - " [321. 10.1875 ]\n", - " [325. 34.6875 ]\n", - " [329. 22.4375 ]\n", - " [333. 46.9375 ]\n", - " [337. 2.53125]\n", - " [341. 27.03125]\n", - " [345. 14.78125]\n", - " [349. 39.28125]\n", - " [353. 8.65625]\n", - " [357. 33.15625]\n", - " [361. 20.90625]\n", - " [365. 45.40625]\n", - " [369. 5.59375]]\n" - ] - } - ], + "outputs": [], "source": [ "samples = init_data.sample_points()\n", "print(samples)" @@ -202,24 +162,9 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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6uabb9Zzzz2nZ555JmCsMUYdHR1KTEy0eppB+fTTTzVixIhwTwPADXDmA4AkKSsrS6mpqaqvr9f999+v3NxcvfHGG7rjjjuUmJioiooKSVJNTY3mzZunUaNGye1269577+3RQvypp57SxIkT5XQ6lZqaqvz8fNXX1/dr/969e+VwOHT48OGAYy5btkxz5871v9+4caOSkpJUW1srr9crp9OpzZs3S5LeeecdLV26VG63W6NGjdLixYt1+vTpofizARgAwgcASVJra6s+/vhjjR8/XpJ07tw5ffvb39b69etVWVmpKVOmqKamRnPnzpXb7dYrr7yif/mXf9GhQ4e0dOlS/3FeeuklPfHEE1qzZo0qKyv105/+VFOmTFFra2u/9gejo6ND9957r1atWqVdu3bp7rvv1v/+7/9q9uzZam5u1osvvqht27bpww8/1Pz589Xe3h6aPxaAQeGyCxDDrl69Kkn64IMP9Nhjj6mzs1P33HOP/v3f/12ffPKJdu3apby8PP/4NWvWaPr06fqv//ovORwOSdLtt9/uP0vy9a9/XbW1tZo8ebJKSkr8n/tsOLnR/mBcuXJF//iP/6gVK1b4t61evVrJycnavXu3nE6nJGn27Nn64he/qBdeeEEPPfTQgH4WgNDhzAcQoy5duqT4+HjFx8crOztbb731lp555hkVFBRIklJSUgKCx+XLl/XrX/9af/EXf6HOzk5dvXpVV69e1Ze//GVlZmbq0KFDkqSpU6fq7bffVnFxsfbv368rV64E/Nwb7Q/W4sWLA97/8pe/1J/92Z9p+PDh/jmOHTtWd955p3+OAMKL8AHEqBEjRujQoUM6fPiwfv/73+ujjz5SUVGRf396enrA+E8++USdnZ1av369P7R0v86cOaOzZ89Kku6//35t2rRJb775pubMmaPU1FQ98sgj+vTTT/u1PxgjR45UUlJSwLaPPvpITz/9dI857tu3zz9HAOHFZRcgRsXFxWn69Ol97u++rNJtzJgxcjgc+s53vqNly5b1GD9u3Dj/cR955BE98sgj+sMf/qDt27drw4YNGjdunJ544okb7u++VNLR0RFw/E8++aTHnD7/XpKSk5O1ePHiXi+vjB49us/fF4B1CB8A+mXUqFHyer1655139OSTT/brM1/4whf02GOPadu2bXrnnXf6tX/ChAmSrj2xMnv2bEnXzmYcPXpU06ZNu+HPzM/PV11dne68804NGzasv78eAAsRPgD02/e//33NmzdPK1as0De+8Q2NHTtWH3zwgXbv3q0HHnhAc+fO1Te/+U2NHTtWs2bN0tixY/XrX/9a//M//+M/E3Gj/RMmTFBeXp7Kysrkdrs1fPhw/dM//ZPcbne/5lhWVqYZM2aooKBADz74oNLT09XY2Kjq6mrNmTNHK1euHLK/D4D+IXwA6LfZs2dr//79Ki0t1QMPPKCOjg5NmDBB8+fP18SJE/1jnn/+eT3//PO6fPmyvvjFL2rTpk1as2ZNv/ZL0r/927/pb//2b3X//ffL4/HoySef1Pbt29XS0nLDOU6cOFG1tbV6/PHH9dBDD+nixYvKyMjQXXfdpcmTJw/J3wVAcBzGGBPuSQAAgNjB0y4AAMBShA8AAGApwgcAALAU4QMAAFiK8AEAACxF+AAAAJYifAAAAEsRPgAAgKUIHwAAwFKEDwAAYCnCBwAAsBThAwAAWOr/ANyb5fS36oseAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_basics_doc_14_0.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "from matplotlib import pyplot as plt\n", "\n", @@ -275,48 +220,9 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[[ 3.15107413e+00 4.17554078e+00 4.03815759e+00]\n", - " [ 1.36776386e+00 1.26716420e+01 8.60127077e+01]\n", - " [-4.92921716e+00 1.82353681e+00 2.41888089e+02]\n", - " [ 5.06123627e+00 1.23877913e+01 1.37242426e+02]\n", - " [-2.94940115e+00 8.62639994e+00 1.07587601e+01]\n", - " [ 8.36982931e+00 3.13803183e+00 7.24964869e+00]\n", - " [-2.22007671e+00 1.62565336e+00 7.71988248e+01]\n", - " [-1.70453761e+00 1.46793568e+01 3.99820398e+01]\n", - " [ 7.17524724e+00 2.57911519e+00 1.78453527e+01]\n", - " [ 7.24337123e+00 4.11110621e+00 2.36937839e+01]\n", - " [ 1.47556275e+00 1.41004473e+01 1.14292050e+02]\n", - " [ 7.26474068e+00 5.04167925e+00 2.96703147e+01]\n", - " [-2.36884319e+00 5.59248069e+00 2.71582680e+01]\n", - " [-4.91467239e+00 3.78639530e+00 1.84993457e+02]\n", - " [ 6.93493763e+00 2.28824569e-01 1.85302363e+01]\n", - " [ 3.98265065e+00 9.05706809e+00 5.75698037e+01]\n", - " [-3.42278472e+00 5.72915167e+00 5.30702398e+01]\n", - " [-4.45285915e+00 1.33561735e+01 1.27882794e+01]\n", - " [ 9.71381286e+00 8.99129832e-01 4.14567857e+00]\n", - " [ 8.35818917e+00 8.65352249e+00 5.34055688e+01]\n", - " [ 6.13719534e+00 9.45275905e+00 8.93001840e+01]\n", - " [ 3.72763289e+00 3.06586980e-01 4.42072359e+00]\n", - " [-1.84960133e+00 8.17027317e+00 8.83431235e+00]\n", - " [ 6.53672757e+00 3.76042844e+00 2.62862798e+01]\n", - " [-7.11564644e-01 1.27859263e+01 4.84986100e+01]\n", - " [ 9.62509740e+00 1.32727994e+01 1.13457908e+02]\n", - " [ 3.92617659e-01 8.98288419e+00 3.17439666e+01]\n", - " [ 3.21934175e-01 5.10285323e+00 1.92673649e+01]\n", - " [-2.32878516e+00 3.56541313e+00 5.02034858e+01]\n", - " [-4.32706576e+00 7.58147144e+00 6.60457721e+01]] \n", - "\n", - "Dataset shape: (30, 3)\n" - ] - } - ], + "outputs": [], "source": [ "import numpy as np\n", "\n", @@ -333,42 +239,9 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\dkgun\\AppData\\Local\\Temp\\ipykernel_31700\\142152307.py:6: UserWarning: No data for colormapping provided via 'c'. Parameters 'cmap' will be ignored\n", - " ax.scatter3D(\n" - ] - }, - { - "data": { - "text/plain": [ - "Text(0.5, 0, '$y$')" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_basics_doc_20_2.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "from mpl_toolkits.mplot3d import Axes3D\n", "from matplotlib import pyplot as plt\n", @@ -392,7 +265,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -431,27 +304,11 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; previous file will be overwritten.\n", - "\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n" - ] - } - ], + "outputs": [], "source": [ "poly_class = PolynomialRegression(\n", " original_data_input=brainin_data,\n", @@ -474,7 +331,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -490,20 +347,9 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "IndexedParam : Size=2, Index={0, 1}, Domain=Any, Default=None, Mutable=True\n", - " Key : Value\n", - " 0 : 0\n", - " 1 : 0\n" - ] - } - ], + "outputs": [], "source": [ "vars.pprint()" ] @@ -522,7 +368,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -552,78 +398,9 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 12, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "No iterations will be run.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Best surrogate model is of order 3 with a cross-val S.S. Error of 19.737617\n", - "\n", - "------------------------------------------------------------\n", - "The final coefficients of the regression terms are: \n", - "\n", - "k | 57.607003\n", - "(x_ 1 )^ 1 | -19.078561\n", - "(x_ 2 )^ 1 | -17.191563\n", - "(x_ 1 )^ 2 | 3.889924\n", - "(x_ 2 )^ 2 | 1.163328\n", - "(x_ 1 )^ 3 | -0.351928\n", - "(x_ 2 )^ 3 | 0.018398\n", - "x_ 1 .x_ 2 | 3.100135\n", - "\n", - "The coefficients of the extra terms in additional_regression_features are:\n", - "\n", - "Coeff. additional_regression_features[ 1 ]: -0.017933\n", - "Coeff. additional_regression_features[ 2 ]: 0.004746\n", - "Coeff. additional_regression_features[ 3 ]: -1.3e-05\n", - "\n", - "Regression model performance on training data:\n", - "Order: 3 / MAE: 6.154513 / MSE: 65.995248 / R^2: 0.978531\n", - "\n", - "Results saved in solution.pickle\n" - ] - }, - { - "data": { - "text/plain": [ - "\n", - "========================================================================================================================\n", - "Results of polynomial regression run:\n", - "\n", - "Polynomial order : 3\n", - "Number of terms in polynomial model: 11\n", - "\n", - "Polynomial Expression:\n", - "--------------------------\n", - "\n", - "57.60700349249289 - 19.078560846595344*IndexedParam[0] - 17.191563035875806*IndexedParam[1] + 3.8899241750021663*IndexedParam[0]**2 + 1.1633280319958954*IndexedParam[1]**2 - 0.3519284134546862*IndexedParam[0]**3 + 0.018398180902055014*IndexedParam[1]**3 + 3.1001348356698335*(IndexedParam[1]*IndexedParam[0]) - 0.017933037213866673*(IndexedParam[0]*IndexedParam[0]*IndexedParam[1]*IndexedParam[1]) + 0.00474571104342994*exp(IndexedParam[0]) - 1.2975320261052192e-05*exp(IndexedParam[1])\n", - "--------------------------\n", - "\n", - "Model training errors:\n", - "-----------------------\n", - "Mean Squared Error (MSE) : 65.99524781717177\n", - "Root Mean Squared Error (RMSE) : 8.123745922736122\n", - "Mean Absolute error (MSE) : 6.154513199255071\n", - "Goodness of fit (R2) : 0.97853053384543\n", - "\n", - "========================================================================================================================" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "poly_class.training()" ] @@ -639,24 +416,9 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABjMAAAN5CAYAAABNP8n+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC7PElEQVR4nOzdeVxUhd7H8e8MIiMKGKKgJoo7rpmKmfuSoqQttppL3TQrl8xbueRuZrZZVmq3pzQzb7Zrau5bpeVSqSmammsqiiakBAJznj+4nhoBhXHgDPB5v1687vzOOXPmOzyvJ+fwnXOOzTAMQwAAAAAAAAAAAF7KbnUAAAAAAAAAAACAK6HMAAAAAAAAAAAAXo0yAwAAAAAAAAAAeDXKDAAAAAAAAAAA4NUoMwAAAAAAAAAAgFejzAAAAAAAAAAAAF6NMgMAAAAAAAAAAHg1ygwAAAAAAAAAAODVKDMAAAAAAAAAAIBXo8wAAOQ5m82m8ePHWx3DtG7dOtlsNq1bt87qKAAAAACyMX78eNlsthxtmx/HHG3btlXbtm09tr85c+bIZrPp0KFDHtsnABRmlBkAUERd+uB86cfhcKhmzZoaNGiQ4uLi8vS1N27cqPHjx+vcuXN5+jp5YenSpV5VzAAAAAB57fJjh2LFiqlixYp68MEH9fvvv1sdr0iaP3++XnvtNatjAEC+oswAgCJu4sSJ+uCDD/Tmm2/q5ptv1syZM9W8eXMlJSV57DX++usvjR492pw3btyoCRMmFNgyY8KECVbHAAAAAPLdpWOHWbNmqUuXLpo3b57atGmj5OTkPHm90aNH66+//sqTfRd0lBkAiqJiVgcAAFirS5cuatKkiSSpX79+KlOmjF599VUtXLhQ999/v9v7dTqdunjxohwOhxwOh6fiAgAAALDI5ccOISEhmjp1qhYtWqR77rnH469XrFgxFSvGn64AABk4MwMA4KJ9+/aSpIMHD0qSXn75Zd18880qU6aMSpQoocaNG+vTTz/N9DybzaZBgwbpww8/VN26deXn56dly5aZ6y5dmmn8+PF6+umnJUkRERHmqeqHDh1SmzZt1LBhwyxz1apVS507d75i9ipVqujWW2/VihUrdMMNN8jhcKhOnTr6/PPPc/TeP/nkEzVu3FglSpRQSEiIevXq5XLa/IMPPqi33nrLfE+XfgAAAICiqFWrVpKkAwcOuCzfs2eP7rrrLgUHB8vhcKhJkyZatGiRyzapqamaMGGCatSoIYfDoTJlyqhly5ZauXKluU1W98xISUnRk08+qbJlyyogIEDdu3fXsWPHMmV78MEHVaVKlUzLs9rn7Nmz1b59e5UrV05+fn6qU6eOZs6cmavfxT/989ioVq1acjgcaty4sTZs2JCj58+YMcM8pqpQoYIGDhzoclZ727ZttWTJEh0+fNg8JsnqvQJAYUO9DQBwcelApEyZMpKk119/Xd27d9cDDzygixcv6qOPPtLdd9+txYsXKyYmxuW5a9as0ccff6xBgwYpJCQkyw/Ud955p3799Vf997//1bRp0xQSEiJJKlu2rHr37q3+/fvrl19+Ub169cznbNmyRb/++qvLpaqys2/fPt1777169NFH1bdvX82ePVt33323li1bpltuuSXb582ZM0cPPfSQmjZtqilTpiguLk6vv/66vvvuO/30008qXbq0BgwYoOPHj2vlypX64IMPrpoFAAAAKMwu3bj6uuuuM5ft2rVLLVq0UMWKFTVixAiVLFlSH3/8sW6//XZ99tlnuuOOOyRllApTpkxRv379FBUVpcTERG3dulU//vjjFT+39+vXT/PmzVPPnj118803a82aNZmOS3Jr5syZqlu3rrp3765ixYrpq6++0uOPPy6n06mBAwe6tc/169drwYIFGjJkiPz8/DRjxgxFR0dr8+bNLsc6lxs/frwmTJigjh076rHHHtPevXs1c+ZMbdmyRd999518fX317LPPKiEhQceOHdO0adMkSaVKlXIrJwAUKAYAoEiaPXu2IclYtWqVcfr0aePo0aPGRx99ZJQpU8YoUaKEcezYMcMwDCMpKcnleRcvXjTq1atntG/f3mW5JMNutxu7du3K9FqSjHHjxpnzSy+9ZEgyDh486LLduXPnDIfDYQwfPtxl+ZAhQ4ySJUsa58+fv+J7qly5siHJ+Oyzz8xlCQkJRvny5Y1GjRqZy9auXWtIMtauXWu+p3Llyhn16tUz/vrrL3O7xYsXG5KMsWPHmssGDhxo8M8nAAAAipKsjh0+/fRTo2zZsoafn59x9OhRc9sOHToY9evXN5KTk81lTqfTuPnmm40aNWqYyxo2bGjExMRc8XXHjRvn8tn7559/NiQZjz/+uMt2PXv2zHTM0bdvX6Ny5cpX3adhZD7mMQzD6Ny5s1G1alWXZW3atDHatGlzxcyGkXH8I8nYunWruezw4cOGw+Ew7rjjDnPZpd/rpeOiU6dOGcWLFzc6depkpKenm9u9+eabhiTjvffeM5fFxMRk+f4AoDDjMlMAUMR17NhRZcuWVaVKlXTfffepVKlS+uKLL1SxYkVJUokSJcxt//jjDyUkJKhVq1b68ccfM+2rTZs2qlOnjttZgoKCdNttt+m///2vDMOQJKWnp2vBggW6/fbbVbJkyavuo0KFCua3vSQpMDBQffr00U8//aSTJ09m+ZytW7fq1KlTevzxx13u7xETE6PatWtryZIlbr8nAAAAoLD457HDXXfdpZIlS2rRokW6/vrrJUlnz57VmjVrdM899+jPP/9UfHy84uPjdebMGXXu3Fn79u0zL+NaunRp7dq1S/v27cvx6y9dulSSNGTIEJflQ4cOvab39c9jnoSEBMXHx6tNmzb67bfflJCQ4NY+mzdvrsaNG5tzeHi4brvtNi1fvlzp6elZPmfVqlW6ePGihg4dKrv97z/Z9e/fX4GBgRyXACjyuMwUABRxb731lmrWrKlixYopNDRUtWrVcvngvHjxYj333HP6+eeflZKSYi7P6l4RERER15ynT58+WrBggb755hu1bt1aq1atUlxcnHr37p2j51evXj1Ttpo1a0rKOA0+LCws03MOHz4sKeO+HJerXbu2vv3229y+DQAAAKDQuXTskJCQoPfee08bNmyQn5+fuX7//v0yDENjxozRmDFjstzHqVOnVLFiRU2cOFG33XabatasqXr16ik6Olq9e/dWgwYNsn39w4cPy263q1q1ai7Ls/ocnxvfffedxo0bp02bNikpKcllXUJCgoKCgnK9zxo1amRaVrNmTSUlJen06dO5Oi4pXry4qlataq4HgKKKMgMAirioqCg1adIky3XffPONunfvrtatW2vGjBkqX768fH19NXv2bM2fPz/T9v/8RpO7OnfurNDQUM2bN0+tW7fWvHnzFBYWpo4dO17zvgEAAAC475/HDrfffrtatmypnj17au/evSpVqpScTqck6amnnlLnzp2z3Ef16tUlSa1bt9aBAwe0cOFCrVixQv/3f/+nadOmadasWerXr981Z83qy1eSMp0VceDAAXXo0EG1a9fWq6++qkqVKql48eJaunSppk2bZr4nAID1KDMAANn67LPP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dsX2is12G7u/Xb4hvvmYCgAAoOBxq8xYtmyZhg8frpSUFPXv31/Vq1eXJO3bt0//93//pxIlSmj06NE6fPiw3n77bfXs2VM+Pj666667PBoeAGCdKiOWuMwHp3S1KAkAoDB49tlndfHiRS1dulTh4eGaM2eOSpcuLSnjrIx169bpiSeesDYk4AZu8AsAAOAZNsMwjKtv5mrYsGHatGmT1q9fr+LFi7usS05OVtu2bdWmTRtNnTpVycnJatKkiUqUKKEtW7Z4LHheSkxMVFBQkBISElyu2wsAyHB5kRE7MVolivtYlAYAkJf4bOw5/C4BAACADO58NnbrBuAffvihevbsmanIkCSHw6EHHnhA77//vjn36tVLu3fvduelAABepslzq1zmpUNaUWQAADzqxIkT2r59uy5cuGB1FAAAAABewq0y48KFC4qLi8t2/YkTJ3T+/HlzLl26tHx8+EMXABR0T32yXfHnU8z5lbsbqk4FvlkKAPCMhQsXqnbt2rr++ut144036ocffpAkxcfHq1GjRvriiy8sTggAAADAKm6VGe3bt9drr72mxYsXZ1r31Vdf6fXXX1f79u3NZT///LOqVKnidkgAgPUW7ziuT7cdM+d6FQPVo/H1FiYCABQmX331le68806FhIRo3Lhx+ufVcENCQlSxYkXNmTPHuoAAAAAALOVWmfHmm28qNDRUt912m8LDw9WuXTu1a9dO4eHhuv322xUaGqo33nhDUsY9NI4cOaJ+/fp5NDgAIP8cPnNBg+b/5LJs8eBWFqUBABRGEydOVOvWrfXtt99q4MCBmdY3b95cP/30UxbPBAAAAFAUFHPnSeHh4dq5c6dmzZql5cuX6/Dhw5KkyMhIDR06VAMGDFDJkiUlZdwzY+nSpZ5LDADIVylp6Wrz0jqXZYdeiLEmDACg0Prll1/06quvZrs+NDRUp06dysdEAAAAALyJW2WGJPn7+2vYsGEaNmyYJ/MAALxMrdHLXGaKDABAXvD397/iDb9/++03lSlTJh8TAQAAAPAmbl1m6p92796tr7/+Wl9//bV2797tiUwAAC9RZcQSl5kiAwCQV9q1a6f3339faWlpmdadPHlS77zzjjp16mRBMgAAAADewO0zMxYuXKhhw4bp0KFDkiTDMGSz2RQREaFXX31V3bt391RGAIAFKDIAAPlp8uTJuummm9S0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t8WVV14ZQ4YMafW5f/nLX+LWW2+NyZMnx/333x8lJSUREfHP//zPccstt2T1Pfroo+Pll1+OVOq9yYef//znY9SoUXHnnXfGddddF4MGDYozzzwzrr/++hg3blyLqe5z5syJfffdt+n4oosuisMOOyyuvfbaWLlyZQwdOnSP/g0AAIBsxhnGGQC5sswUADkpLy+PCy64YI+ff99998WECRNi//33j/Xr1zc9Jk6cGI2NjfHkk0+2+dxHHnkktm3bFl/+8pebBhgREZdddlmrde4YYDQ2Nsabb74ZvXv3jiOPPDKeeeaZnGrdeYDx9ttvx/r162P8+PGRJEk8++yzOb5jAABgV4wzjDMAcmVmBgA5Ofjgg6NXr157/PxXXnkl/vCHP8TAgQNbPf/GG2+0+dwVK1ZERDT9pdUOAwcOjP333z+rLZ1Ox7e+9a34zne+E8uWLYvGxsamcwcccEBOta5cuTKuv/76mDdvXvz1r3/NOrdx48acrgEAAOyacUaGcQbArgkzAMjJzn9FlIudf7iPyPzwf9ppp8U//dM/tdr/iCOO2OPadnbLLbfEddddF3//938fN998c/Tv3z9SqVRcdtllOW0A2NjYGKeddlq89dZbcc0118SoUaNiv/32i1WrVsX555+f0zUAAIDcGGcYZwDkSpgBwF7Zf//9Y8OGDVlt27ZtizVr1mS1HXroobF58+aYOHHibr/GsGHDIiLzV1cjR45sav/LX/7S4i+afvazn8VHPvKRuPPOO7PaN2zYEAMGDGg63nka+c6ef/75ePnll+Puu++OadOmNbUvXLhwt+sGAAD2jHEGAM3ZMwOAvXLooYe2WIf23//931v8xdTUqVNj8eLF8dBDD7W4xoYNG+Ldd99t8zUmTpwYZWVl8e1vfzuSJGlq/+Y3v9mib2lpaVafiMw6uqtWrcpq22+//Zpeu/nzIyLrGkmSxLe+9a026wMAADqWcQYAzZmZAcBe+Yd/+If40pe+FJ/+9KfjtNNOi9///vfx0EMPZf11UkTE1VdfHfPmzYuPfexjcf7558eJJ54Yb7/9djz//PPxs5/9LJYvX97iOTsMHDgwrrrqqpg1a1Z87GMfi7POOiueffbZ+MUvftHiOR/72MfipptuigsuuCDGjx8fzz//fPzHf/xH1l9aRWQGR/369Yvvfe970adPn9hvv/1i7NixMWrUqDj00EPjqquuilWrVkVVVVX853/+Z4u/zAIAADqPcQYAzZmZAcBeufDCC+Oaa66JJ598Mq688spYtmxZLFy4sOkvknaorKyMJ554Iq6++up4/PHH46tf/WrMnj07XnnllZg5c2b07du33df5+te/HjNnzoxnn302rr766njttdfi4YcfbvE61157bVx55ZXx0EMPxVe/+tV45plnYv78+TFkyJCsfmVlZXH33XdHaWlpfOlLX4pzzjknnnjiiSgrK4v7778/jjvuuJg1a1bMnDkzDj/88Jg7d27H/IMBAAC7ZJwBQHMlSfM5cgAAAAAAAEXEzAwAAAAAAKCoCTMAAAAAAICiJswAAAAAAACKmjADAAAAAAAoasIMAAAAAACgqAkzAAAAAACAoibMAAAAAAAAipowAwAAAAAAKGrCDAAAAAAAoKgJMwAAAAAAgKImzAAAAAAAAIqaMAMAAAAAAChq/z9rNjQJpZNyWwAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_basics_doc_36_0.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "poly_class.parity_residual_plots()" ] @@ -676,17 +438,9 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 14, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "57.60700349249289 - 19.078560846595344*x[1] - 17.191563035875806*x[2] + 3.8899241750021663*x[1]**2 + 1.1633280319958954*x[2]**2 - 0.3519284134546862*x[1]**3 + 0.018398180902055014*x[2]**3 + 3.1001348356698335*(x[2]*x[1]) - 0.017933037213866673*(x[1]*x[1]*x[2]*x[2]) + 0.00474571104342994*exp(x[1]) - 1.2975320261052192e-05*exp(x[2])\n" - ] - } - ], + "outputs": [], "source": [ "from pyomo.environ import Var, ConcreteModel\n", "\n", @@ -714,19 +468,9 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 15, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[[57.7897913 ]\n", - " [12.74008178]\n", - " [54.28524655]]\n" - ] - } - ], + "outputs": [], "source": [ "unsampled_points = np.array([[5, 8], [-3, 10], [-2, 3]])\n", "ys = poly_class.predict_output(unsampled_points)\n", @@ -762,7 +506,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ @@ -804,23 +548,9 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 17, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Warning: solution.pickle already exists; previous file will be overwritten.\n", - "\n", - "Default parameter estimation method is used.\n", - "\n", - "Parameter estimation method: algebraic\n", - "Basis function: gaussian\n", - "Regularization done: True\n" - ] - } - ], + "outputs": [], "source": [ "rbf_class = RadialBasisFunctions(\n", " XY_data=brainin_data, basis_function=\"gaussian\", overwrite=True\n", @@ -837,7 +567,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ @@ -854,566 +584,9 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 19, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "===========================================================================================================\n", - "0.001 | 1e-05 | 1.330188999805357 | 7.936658808585865e+18 | 1762.2922695772181 | 2999999.7996930624 | 6.661337702980191e-10\n", - "0.001 | 2e-05 | 1.3231321486358596 | 7.936658808585865e+18 | 1762.2922695772181 | 1500000.3998815753 | 3.3306699617909336e-10\n", - "0.001 | 5e-05 | 1.3204882439270513 | 7.936658808585865e+18 | 1762.2922695772181 | 600000.7598810853 | 1.3322693168251415e-10\n", - "0.001 | 7.5e-05 | 1.3203184940690464 | 7.936658808585865e+18 | 1762.2922695772181 | 400000.83992750663 | 8.88180284713839e-11\n", - "0.001 | 0.0001 | 1.3203209127587061 | 7.936658808585865e+18 | 1762.2922695772181 | 300000.87994025816 | 6.661357686349637e-11\n", - "0.001 | 0.0002 | 1.320453829126744 | 7.936658808585865e+18 | 1762.2922695772181 | 150000.93996799184 | 3.330689945357609e-11\n", - "0.001 | 0.0005 | 1.3206180157500875 | 7.936658808585865e+18 | 1762.2922695772181 | 60000.975986938625 | 1.3322893008136078e-11\n", - "0.001 | 0.00075 | 1.3206637488446602 | 7.936658808585865e+18 | 1762.2922695772181 | 40000.98399132156 | 8.882002686965498e-12\n", - "0.001 | 0.001 | 1.3206877851838068 | 7.936658808585865e+18 | 1762.2922695772181 | 30000.987993464787 | 6.661557526369496e-12\n", - "0.001 | 0.002 | 1.3207246211571246 | 7.936658808585865e+18 | 1762.2922695772181 | 15000.993996724195 | 3.3308897854853903e-12\n", - "0.001 | 0.005 | 1.3207441010685603 | 7.936658808585865e+18 | 1762.2922695772181 | 6000.997598686373 | 1.3324891409563772e-12\n", - "0.001 | 0.0075 | 1.3207457685491724 | 7.936658808585865e+18 | 1762.2922695772181 | 4000.9983991229724 | 8.884001088389431e-13\n", - "0.001 | 0.01 | 1.3207447379585568 | 7.936658808585865e+18 | 1762.2922695772181 | 3000.998799341891 | 6.663555927803635e-13\n", - "0.001 | 0.02 | 1.320733880721723 | 7.936658808585865e+18 | 1762.2922695772181 | 1500.9993996709732 | 3.332888186926504e-13\n", - "0.001 | 0.05 | 1.320692242454931 | 7.936658808585865e+18 | 1762.2922695772181 | 600.999759868342 | 1.334487542400047e-13\n", - "0.001 | 0.075 | 1.3206569542287017 | 7.936658808585865e+18 | 1762.2922695772181 | 400.9998399122189 | 8.903985102830944e-14\n", - "0.001 | 0.1 | 1.320622227525564 | 7.936658808585865e+18 | 1762.2922695772181 | 300.99987993416397 | 6.68353994224633e-14\n", - "0.001 | 0.2 | 1.3204909253945512 | 7.936658808585865e+18 | 1762.2922695772181 | 150.9999399670793 | 3.352872201369357e-14\n", - "0.001 | 0.5 | 1.3201734897566477 | 7.936658808585865e+18 | 1762.2922695772181 | 60.99997598683129 | 1.354471556843235e-14\n", - "0.001 | 0.75 | 1.3199938819612356 | 7.936658808585865e+18 | 1762.2922695772181 | 40.999983991220795 | 9.10382524726323e-15\n", - "0.001 | 1 | 1.3198876280547236 | 7.936658808585865e+18 | 1762.2922695772181 | 30.999987993415566 | 6.883380086678673e-15\n", - "0.002 | 1e-05 | 1.362387822278568 | 5.782309804024167e+18 | 1283.9306959886815 | 2999996.19772378 | 6.661329705001728e-10\n", - "0.002 | 2e-05 | 1.343994630873922 | 5.782309804024167e+18 | 1283.9306959886815 | 1499998.5987316754 | 3.3306659624347544e-10\n", - "0.002 | 5e-05 | 1.3272246485698753 | 5.782309804024167e+18 | 1283.9306959886815 | 600000.0394937922 | 1.3322677172440228e-10\n", - "0.002 | 7.5e-05 | 1.3235440099208564 | 5.782309804024167e+18 | 1283.9306959886815 | 400000.3596555643 | 8.881792182959021e-11\n", - "0.002 | 0.0001 | 1.3220037168855518 | 5.782309804024167e+18 | 1283.9306959886815 | 300000.51974200836 | 6.66134968834183e-11\n", - "0.002 | 0.0002 | 1.3204880868279008 | 5.782309804024167e+18 | 1283.9306959886815 | 150000.75986912134 | 3.330685946359354e-11\n", - "0.002 | 0.0005 | 1.3203538501482557 | 5.782309804024167e+18 | 1283.9306959886815 | 60000.903947554114 | 1.3322877012179405e-11\n", - "0.002 | 0.00075 | 1.3204389361297426 | 5.782309804024167e+18 | 1283.9306959886815 | 40000.935965030716 | 8.881992022986721e-12\n", - "0.002 | 0.001 | 1.320500039765387 | 5.782309804024167e+18 | 1283.9306959886815 | 30000.95197376373 | 6.661549528389206e-12\n", - "0.002 | 0.002 | 1.320615846455827 | 5.782309804024167e+18 | 1283.9306959886815 | 15000.975986864492 | 3.330885786493208e-12\n", - "0.002 | 0.005 | 1.3206969267656394 | 5.782309804024167e+18 | 1283.9306959886815 | 6000.990394744541 | 1.3324875413599593e-12\n", - "0.002 | 0.0075 | 1.3207137929011277 | 5.782309804024167e+18 | 1283.9306959886815 | 4000.9935964959222 | 8.883990424415172e-13\n", - "0.002 | 0.01 | 1.3207205715037762 | 5.782309804024167e+18 | 1283.9306959886815 | 3000.9951973718266 | 6.663547929823436e-13\n", - "0.002 | 0.02 | 1.3207216922930982 | 5.782309804024167e+18 | 1283.9306959886815 | 1500.997598685877 | 3.3328841879362624e-13\n", - "0.002 | 0.05 | 1.320687393868504 | 5.782309804024167e+18 | 1283.9306959886815 | 600.9990394743187 | 1.334485942803984e-13\n", - "0.002 | 0.075 | 1.320653752364362 | 5.782309804024167e+18 | 1283.9306959886815 | 400.9993596495438 | 8.90397443885735e-14\n", - "0.002 | 0.1 | 1.3206198511578064 | 5.782309804024167e+18 | 1283.9306959886815 | 300.9995197371585 | 6.683531944266152e-14\n", - "0.002 | 0.2 | 1.320489789943987 | 5.782309804024167e+18 | 1283.9306959886815 | 150.9997598685783 | 3.352868202379307e-14\n", - "0.002 | 0.5 | 1.3201731005146329 | 5.782309804024167e+18 | 1283.9306959886815 | 60.99990394743119 | 1.3544699572472217e-14\n", - "0.002 | 0.75 | 1.3199936589276795 | 5.782309804024167e+18 | 1283.9306959886815 | 40.99993596495411 | 9.103814583289818e-15\n", - "0.002 | 1 | 1.319887488406783 | 5.782309804024167e+18 | 1283.9306959886815 | 30.99995197371558 | 6.88337208869862e-15\n", - "0.005 | 1e-05 | 1.398281393989088 | 4.7315568285138035e+19 | 10506.166666676816 | 2999970.9840130205 | 6.661273719317286e-10\n", - "0.005 | 2e-05 | 1.388722431615681 | 4.7315568285138035e+19 | 10506.166666676816 | 1499985.9920165162 | 3.330637969903885e-10\n", - "0.005 | 5e-05 | 1.3683630926262451 | 4.7315568285138035e+19 | 10506.166666676816 | 599994.9967708938 | 1.3322565201498855e-10\n", - "0.005 | 7.5e-05 | 1.3574022549722211 | 4.7315568285138035e+19 | 10506.166666676816 | 399996.9978457239 | 8.881717535785236e-11\n", - "0.005 | 0.0001 | 1.349656526521845 | 4.7315568285138035e+19 | 10506.166666676816 | 299997.99838577345 | 6.661293702986925e-11\n", - "0.005 | 0.0002 | 1.3338899892280682 | 4.7315568285138035e+19 | 10506.166666676816 | 149999.49919096037 | 3.330657953680935e-11\n", - "0.005 | 0.0005 | 1.3231314606154727 | 4.7315568285138035e+19 | 10506.166666676816 | 60000.399676413464 | 1.3322765041493204e-11\n", - "0.005 | 0.00075 | 1.3213658709059117 | 4.7315568285138035e+19 | 10506.166666676816 | 40000.599784124155 | 8.88191737583014e-12\n", - "0.005 | 0.001 | 1.3207434325086935 | 4.7315568285138035e+19 | 10506.166666676816 | 30000.699838091627 | 6.661493543023506e-12\n", - "0.005 | 0.002 | 1.3203109441737189 | 4.7315568285138035e+19 | 10506.166666676816 | 15000.84991903379 | 3.3308577938115457e-12\n", - "0.005 | 0.005 | 1.3204473592564139 | 4.7315568285138035e+19 | 10506.166666676816 | 6000.939967612918 | 1.3324763442874405e-12\n", - "0.005 | 0.0075 | 1.3205266147948784 | 4.7315568285138035e+19 | 10506.166666676816 | 4000.95997840818 | 8.883915777265062e-13\n", - "0.005 | 0.01 | 1.3205722511348426 | 4.7315568285138035e+19 | 10506.166666676816 | 3000.9699838059914 | 6.66349194446079e-13\n", - "0.005 | 0.02 | 1.3206416674457822 | 4.7315568285138035e+19 | 10506.166666676816 | 1500.9849919029054 | 3.3328561952548196e-13\n", - "0.005 | 0.05 | 1.3206543062552778 | 4.7315568285138035e+19 | 10506.166666676816 | 600.9939967611574 | 1.3344747457314674e-13\n", - "0.005 | 0.075 | 1.3206317178276619 | 4.7315568285138035e+19 | 10506.166666676816 | 400.9959978407689 | 8.903899791707224e-14\n", - "0.005 | 0.1 | 1.3206034290426678 | 4.7315568285138035e+19 | 10506.166666676816 | 300.9969983805781 | 6.683475958903575e-14\n", - "0.005 | 0.2 | 1.3204818942961338 | 4.7315568285138035e+19 | 10506.166666676816 | 150.99849919028685 | 3.3528402096979903e-14\n", - "0.005 | 0.5 | 1.3201703838941503 | 4.7315568285138035e+19 | 10506.166666676816 | 60.99939967611459 | 1.3544587601746947e-14\n", - "0.005 | 0.75 | 1.3199921011576614 | 4.7315568285138035e+19 | 10506.166666676816 | 40.999599784076366 | 9.103739936139636e-15\n", - "0.005 | 1 | 1.3198865127506896 | 4.7315568285138035e+19 | 10506.166666676816 | 30.999699838057264 | 6.883316103335982e-15\n", - "0.0075 | 1e-05 | 1.404300593878447 | 1.7372731761309637e+18 | 385.75213604085417 | 2999933.4645628342 | 6.661190409402349e-10\n", - "0.0075 | 2e-05 | 1.3994032633183124 | 1.7372731761309637e+18 | 385.75213604085417 | 1499967.232282145 | 3.3305963149258154e-10\n", - "0.0075 | 5e-05 | 1.386805647947958 | 1.7372731761309637e+18 | 385.75213604085417 | 599987.4928880802 | 1.332239858182938e-10\n", - "0.0075 | 7.5e-05 | 1.3783815287748937 | 1.7372731761309637e+18 | 385.75213604085417 | 399991.9952527292 | 8.881606455906726e-11\n", - "0.0075 | 0.0001 | 1.3714017808048378 | 1.7372731761309637e+18 | 385.75213604085417 | 299994.24643613514 | 6.661210392969411e-11\n", - "0.0075 | 0.0002 | 1.352783451657262 | 1.7372731761309637e+18 | 385.75213604085417 | 149997.6232191162 | 3.330616298738236e-11\n", - "0.0075 | 0.0005 | 1.3320471009302473 | 1.7372731761309637e+18 | 385.75213604085417 | 59999.64928707162 | 1.3322598421588254e-11\n", - "0.0075 | 0.00075 | 1.3264972569267337 | 1.7372731761309637e+18 | 385.75213604085417 | 40000.09952468137 | 8.881806295919807e-12\n", - "0.0075 | 0.001 | 1.3239147582316242 | 1.7372731761309637e+18 | 385.75213604085417 | 30000.32464348631 | 6.6614102330855985e-12\n", - "0.0075 | 0.002 | 1.3209497744222265 | 1.7372731761309637e+18 | 385.75213604085417 | 15000.66232173369 | 3.33081613884316e-12\n", - "0.0075 | 0.005 | 1.32030667526022 | 1.7372731761309637e+18 | 385.75213604085417 | 6000.864928690638 | 1.332459682299589e-12\n", - "0.0075 | 0.0075 | 1.3203572891448485 | 1.7372731761309637e+18 | 385.75213604085417 | 4000.9099524600265 | 8.883804697346124e-13\n", - "0.0075 | 0.01 | 1.3204149453606089 | 1.7372731761309637e+18 | 385.75213604085417 | 3000.932464345096 | 6.663408634522074e-13\n", - "0.0075 | 0.02 | 1.3205391985944162 | 1.7372731761309637e+18 | 385.75213604085417 | 1500.9662321724334 | 3.332814540285408e-13\n", - "0.0075 | 0.05 | 1.3206077953595612 | 1.7372731761309637e+18 | 385.75213604085417 | 600.9864928689655 | 1.3344580837436958e-13\n", - "0.0075 | 0.075 | 1.320600144100872 | 1.7372731761309637e+18 | 385.75213604085417 | 400.9909952459681 | 8.90378871178861e-14\n", - "0.0075 | 0.1 | 1.320579675219363 | 1.7372731761309637e+18 | 385.75213604085417 | 300.99324643447636 | 6.683392648964589e-14\n", - "0.0075 | 0.2 | 1.3204703143593972 | 1.7372731761309637e+18 | 385.75213604085417 | 150.99662321723713 | 3.352798554728523e-14\n", - "0.0075 | 0.5 | 1.320166367422988 | 1.7372731761309637e+18 | 385.75213604085417 | 60.998649286894484 | 1.3544420981869028e-14\n", - "0.0075 | 0.75 | 1.3199897942613739 | 1.7372731761309637e+18 | 385.75213604085417 | 40.99909952459634 | 9.103628856221033e-15\n", - "0.0075 | 1 | 1.3198850669656137 | 1.7372731761309637e+18 | 385.75213604085417 | 30.9993246434473 | 6.8832327933970424e-15\n", - "0.01 | 1e-05 | 1.4061992061470945 | 9.15881260810045e+18 | 2033.66492714806 | 2999880.9389639026 | 6.661073779143717e-10\n", - "0.01 | 2e-05 | 1.4035355143448425 | 9.15881260810045e+18 | 2033.66492714806 | 1499940.969350007 | 3.330537999501908e-10\n", - "0.01 | 5e-05 | 1.395627182515116 | 9.15881260810045e+18 | 2033.66492714806 | 599976.9877232183 | 1.3322165320311236e-10\n", - "0.01 | 7.5e-05 | 1.389760075244399 | 9.15881260810045e+18 | 2033.66492714806 | 399984.9918138873 | 8.881450948325649e-11\n", - "0.01 | 0.0001 | 1.3845164268287486 | 9.15881260810045e+18 | 2033.66492714806 | 299988.99385887664 | 6.66109376232519e-11\n", - "0.01 | 0.0002 | 1.368340200656151 | 9.15881260810045e+18 | 2033.66492714806 | 149994.9969292092 | 3.3305579833877544e-11\n", - "0.01 | 0.0005 | 1.3439837129673218 | 9.15881260810045e+18 | 2033.66492714806 | 59998.598771298515 | 1.3322365160228448e-11\n", - "0.01 | 0.00075 | 1.335093711991605 | 9.15881260810045e+18 | 2033.66492714806 | 39999.399180849905 | 8.881650788350438e-12\n", - "0.01 | 0.001 | 1.3301839804871138 | 9.15881260810045e+18 | 2033.66492714806 | 29999.799385624003 | 6.661293602411079e-12\n", - "0.01 | 0.002 | 1.3231293127499864 | 9.15881260810045e+18 | 2033.66492714806 | 15000.399692799341 | 3.3307578235051907e-12\n", - "0.01 | 0.005 | 1.3204830758443515 | 9.15881260810045e+18 | 2033.66492714806 | 6000.7598771195135 | 1.3324363561649818e-12\n", - "0.01 | 0.0075 | 1.3203100371670242 | 9.15881260810045e+18 | 2033.66492714806 | 4000.839918079025 | 8.883649189781518e-13\n", - "0.01 | 0.01 | 1.320308943205694 | 9.15881260810045e+18 | 2033.66492714806 | 3000.879938558849 | 6.663292003847519e-13\n", - "0.01 | 0.02 | 1.3204273423452193 | 9.15881260810045e+18 | 2033.66492714806 | 1500.9399692794002 | 3.3327562249483305e-13\n", - "0.01 | 0.05 | 1.3205480387004698 | 9.15881260810045e+18 | 2033.66492714806 | 600.9759877117588 | 1.3344347576088794e-13\n", - "0.01 | 0.075 | 1.3205583477737104 | 9.15881260810045e+18 | 2033.66492714806 | 400.9839918078323 | 8.903633204223211e-14\n", - "0.01 | 0.1 | 1.320547778680883 | 9.15881260810045e+18 | 2033.66492714806 | 300.98799385587427 | 6.683276018290535e-14\n", - "0.01 | 0.2 | 1.3204544411843475 | 9.15881260810045e+18 | 2033.66492714806 | 150.99399692793642 | 3.3527402393915034e-14\n", - "0.01 | 0.5 | 1.3201607967208802 | 9.15881260810045e+18 | 2033.66492714806 | 60.99759877117422 | 1.3544187720520954e-14\n", - "0.01 | 0.75 | 1.3199865871021215 | 9.15881260810045e+18 | 2033.66492714806 | 40.99839918078277 | 9.103473348655637e-15\n", - "0.01 | 1 | 1.3198830550759415 | 9.15881260810045e+18 | 2033.66492714806 | 30.998799385587116 | 6.8831161627229944e-15\n", - "0.02 | 1e-05 | 1.3991967821771687 | 4.596172752109427e+18 | 1020.5553629093316 | 2999520.8077985244 | 6.660274127320341e-10\n", - "0.02 | 2e-05 | 1.4033527820009084 | 4.596172752109427e+18 | 1020.5553629093316 | 1499760.9038967583 | 3.3301381738776355e-10\n", - "0.02 | 5e-05 | 1.4040547659095226 | 4.596172752109427e+18 | 1020.5553629093316 | 599904.9615311394 | 1.3320566017574796e-10\n", - "0.02 | 7.5e-05 | 1.4028711082098146 | 4.596172752109427e+18 | 1020.5553629093316 | 399936.9743506041 | 8.880384746459227e-11\n", - "0.02 | 0.0001 | 1.4014091897441256 | 4.596172752109427e+18 | 1020.5553629093316 | 299952.98076160415 | 6.660294110929591e-11\n", - "0.02 | 0.0002 | 1.3952513762994323 | 4.596172752109427e+18 | 1020.5553629093316 | 149976.99038130237 | 3.3301581577061505e-11\n", - "0.02 | 0.0005 | 1.3796701173934471 | 4.596172752109427e+18 | 1020.5553629093316 | 59991.39615212075 | 1.3320765857498696e-11\n", - "0.02 | 0.00075 | 1.3699232085655064 | 4.596172752109427e+18 | 1020.5553629093316 | 39994.5974347125 | 8.880584586526408e-12\n", - "0.02 | 0.001 | 1.362292110296485 | 4.596172752109427e+18 | 1020.5553629093316 | 29996.198076027966 | 6.660493951044614e-12\n", - "0.02 | 0.002 | 1.3439496124690997 | 4.596172752109427e+18 | 1020.5553629093316 | 14998.599038011473 | 3.330357997824212e-12\n", - "0.02 | 0.005 | 1.3272089427378684 | 4.596172752109427e+18 | 1020.5553629093316 | 6000.039615202919 | 1.332276425892269e-12\n", - "0.02 | 0.0075 | 1.323532461862641 | 4.596172752109427e+18 | 1020.5553629093316 | 4000.3597434684293 | 8.88258298796447e-13\n", - "0.02 | 0.01 | 1.3219923714906017 | 4.596172752109427e+18 | 1020.5553629093316 | 3000.5198076010715 | 6.662492352485109e-13\n", - "0.02 | 0.02 | 1.3204676186157385 | 4.596172752109427e+18 | 1020.5553629093316 | 1500.7599038004946 | 3.332356399267088e-13\n", - "0.02 | 0.05 | 1.3202928659769584 | 4.596172752109427e+18 | 1020.5553629093316 | 600.9039615201905 | 1.334274827336369e-13\n", - "0.02 | 0.075 | 1.3203431410941724 | 4.596172752109427e+18 | 1020.5553629093316 | 400.9359743467912 | 8.902567002406575e-14\n", - "0.02 | 0.1 | 1.320369937260628 | 4.596172752109427e+18 | 1020.5553629093316 | 300.95198076008995 | 6.68247636692798e-14\n", - "0.02 | 0.2 | 1.320356005679441 | 4.596172752109427e+18 | 1020.5553629093316 | 150.97599038004486 | 3.352340413710239e-14\n", - "0.02 | 0.5 | 1.3201242272878075 | 4.596172752109427e+18 | 1020.5553629093316 | 60.990396152017844 | 1.3542588417795952e-14\n", - "0.02 | 0.75 | 1.3199652973344642 | 4.596172752109427e+18 | 1020.5553629093316 | 40.99359743467856 | 9.102407146838978e-15\n", - "0.02 | 1 | 1.3198696409051938 | 4.596172752109427e+18 | 1020.5553629093316 | 30.99519807600895 | 6.882316511360498e-15\n", - "0.05 | 1e-05 | 1.1802626763387565 | 2.292482447793158e+19 | 5090.333594178005 | 2997002.1306760353 | 6.654681540654373e-10\n", - "0.05 | 2e-05 | 1.2638668839634342 | 2.292482447793158e+19 | 5090.333594178005 | 1498501.5652584448 | 3.327341880373524e-10\n", - "0.05 | 5e-05 | 1.3399914336674565 | 2.292482447793158e+19 | 5090.333594178005 | 599401.2260877036 | 1.3309380843822352e-10\n", - "0.05 | 7.5e-05 | 1.3607917455523473 | 2.292482447793158e+19 | 5090.333594178005 | 399601.150725315 | 8.872927964039045e-11\n", - "0.05 | 0.0001 | 1.3717399149142016 | 2.292482447793158e+19 | 5090.333594178005 | 299701.11304101965 | 6.654701524078536e-11\n", - "0.05 | 0.0002 | 1.388357196418246 | 2.292482447793158e+19 | 5090.333594178005 | 149851.0565198782 | 3.3273618642554895e-11\n", - "0.05 | 0.0005 | 1.3960809195486679 | 2.292482447793158e+19 | 5090.333594178005 | 59941.02260797523 | 1.330958068379023e-11\n", - "0.05 | 0.00075 | 1.395825918790288 | 2.292482447793158e+19 | 5090.333594178005 | 39961.015071850336 | 8.87312780403223e-12\n", - "0.05 | 0.001 | 1.3944270862078088 | 2.292482447793158e+19 | 5090.333594178005 | 29971.011303897183 | 6.6549013641774975e-12\n", - "0.05 | 0.002 | 1.3868038656182429 | 2.292482447793158e+19 | 5090.333594178005 | 14986.005651941321 | 3.327561704389597e-12\n", - "0.05 | 0.005 | 1.3676102367336447 | 2.292482447793158e+19 | 5090.333594178005 | 5995.002260777155 | 1.331157908518933e-12\n", - "0.05 | 0.0075 | 1.3569104532323966 | 2.292482447793158e+19 | 5090.333594178005 | 3997.0015071830744 | 8.875126205472204e-13\n", - "0.05 | 0.01 | 1.3492964425395066 | 2.292482447793158e+19 | 5090.333594178005 | 2998.001130387283 | 6.656899765616415e-13\n", - "0.05 | 0.02 | 1.3337278030826976 | 2.292482447793158e+19 | 5090.333594178005 | 1499.500565193526 | 3.3295601058325763e-13\n", - "0.05 | 0.05 | 1.3230623528240189 | 2.292482447793158e+19 | 5090.333594178005 | 600.4002260774155 | 1.333156309962592e-13\n", - "0.05 | 0.075 | 1.3212917568278908 | 2.292482447793158e+19 | 5090.333594178005 | 400.6001507182743 | 8.895110219914721e-14\n", - "0.05 | 0.1 | 1.3206495137172813 | 2.292482447793158e+19 | 5090.333594178005 | 300.70011303870496 | 6.67688378005915e-14\n", - "0.05 | 0.2 | 1.3201079927565518 | 2.292482447793158e+19 | 5090.333594178005 | 150.85005651935137 | 3.349544120275802e-14\n", - "0.05 | 0.5 | 1.3199430633401974 | 2.292482447793158e+19 | 5090.333594178005 | 60.940022607740424 | 1.3531403244058199e-14\n", - "0.05 | 0.75 | 1.3198490982380757 | 2.292482447793158e+19 | 5090.333594178005 | 40.96001507182699 | 9.094950364347151e-15\n", - "0.05 | 1 | 1.3197937467706273 | 2.292482447793158e+19 | 5090.333594178005 | 30.970011303870223 | 6.876723924491617e-15\n", - "0.075 | 1e-05 | 1.0289125856997683 | 2.5655434447895905e+18 | 569.6650806163085 | 2993261.340844146 | 6.646375318651079e-10\n", - "0.075 | 2e-05 | 1.06833574230173 | 2.5655434447895905e+18 | 569.6650806163085 | 1496631.170356869 | 3.323188769403782e-10\n", - "0.075 | 5e-05 | 1.1788194485853987 | 2.5655434447895905e+18 | 569.6650806163085 | 598653.0681396328 | 1.3292768400222262e-10\n", - "0.075 | 7.5e-05 | 1.229861581346619 | 2.5655434447895905e+18 | 569.6650806163085 | 399102.3787592882 | 8.861853001624636e-11\n", - "0.075 | 0.0001 | 1.2625315302908773 | 2.5655434447895905e+18 | 569.6650806163085 | 299327.0340661838 | 6.646395302260717e-11\n", - "0.075 | 0.0002 | 1.3241269630070216 | 2.5655434447895905e+18 | 569.6650806163085 | 149664.01703276392 | 3.323208753353322e-11\n", - "0.075 | 0.0005 | 1.3699287056814906 | 2.5655434447895905e+18 | 569.6650806163085 | 59866.20681304865 | 1.3292968240163605e-11\n", - "0.075 | 0.00075 | 1.3804567145238036 | 2.5655434447895905e+18 | 569.6650806163085 | 39911.137875334636 | 8.862052841637133e-12\n", - "0.075 | 0.001 | 1.3852806670848645 | 2.5655434447895905e+18 | 569.6650806163085 | 29933.60340651576 | 6.646595142382363e-12\n", - "0.075 | 0.002 | 1.389766784950012 | 2.5655434447895905e+18 | 569.6650806163085 | 14967.301703250861 | 3.3234085934920857e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.075 | 0.005 | 1.3829509021399737 | 2.5655434447895905e+18 | 569.6650806163085 | 5987.520681298484 | 1.3294966641593762e-12\n", - "0.075 | 0.0075 | 1.3758254841268682 | 2.5655434447895905e+18 | 569.6650806163085 | 3992.013787532067 | 8.864051243078357e-13\n", - "0.075 | 0.01 | 1.3694975238618983 | 2.5655434447895905e+18 | 569.6650806163085 | 2994.2603406490575 | 6.648593543821096e-13\n", - "0.075 | 0.02 | 1.3518655278680678 | 2.5655434447895905e+18 | 569.6650806163085 | 1497.630170324489 | 3.325406994935085e-13\n", - "0.075 | 0.05 | 1.3317271553627905 | 2.5655434447895905e+18 | 569.6650806163085 | 599.6520681297745 | 1.3314950656035374e-13\n", - "0.075 | 0.075 | 1.3262949589526654 | 2.5655434447895905e+18 | 569.6650806163085 | 400.1013787531858 | 8.884035257521146e-14\n", - "0.075 | 0.1 | 1.3237555826770928 | 2.5655434447895905e+18 | 569.6650806163085 | 300.3260340648898 | 6.668577558263996e-14\n", - "0.075 | 0.2 | 1.3207755491672837 | 2.5655434447895905e+18 | 569.6650806163085 | 150.6630170324437 | 3.345391009378222e-14\n", - "0.075 | 0.5 | 1.3198839335916897 | 2.5655434447895905e+18 | 569.6650806163085 | 60.86520681297757 | 1.3514790800467928e-14\n", - "0.075 | 0.75 | 1.3197723726186081 | 2.5655434447895905e+18 | 569.6650806163085 | 40.91013787531835 | 9.083875401953622e-15\n", - "0.075 | 1 | 1.3197346497546036 | 2.5655434447895905e+18 | 569.6650806163085 | 30.932603406488766 | 6.868417702696476e-15\n", - "0.1 | 1e-05 | 1.0798981068160698 | 1.4534741232350866e+18 | 322.73608746249107 | 2988038.7413779353 | 6.634778818299514e-10\n", - "0.1 | 2e-05 | 1.034411147287902 | 1.4534741232350866e+18 | 322.73608746249107 | 1494019.8706289497 | 3.3173905192395153e-10\n", - "0.1 | 5e-05 | 1.0485665416883234 | 1.4534741232350866e+18 | 322.73608746249107 | 597608.5482298866 | 1.3269575399152668e-10\n", - "0.1 | 7.5e-05 | 1.0859812540943814 | 1.4534741232350866e+18 | 322.73608746249107 | 398406.0321496727 | 8.846391000842339e-11\n", - "0.1 | 0.0001 | 1.1199271289309896 | 1.4534741232350866e+18 | 322.73608746249107 | 298804.7741134506 | 6.634798801773436e-11\n", - "0.1 | 0.0002 | 1.2092033599799092 | 1.4534741232350866e+18 | 322.73608746249107 | 149402.88705538897 | 3.317410503087292e-11\n", - "0.1 | 0.0005 | 1.305803183492356 | 1.4534741232350866e+18 | 322.73608746249107 | 59761.75482211882 | 1.3269775239103958e-11\n", - "0.1 | 0.00075 | 1.3347573633949794 | 1.4534741232350866e+18 | 322.73608746249107 | 39841.5032147429 | 8.846590840936952e-12\n", - "0.1 | 0.001 | 1.3503821090957047 | 1.4534741232350866e+18 | 322.73608746249107 | 29881.37741105147 | 6.634998641852679e-12\n", - "0.1 | 0.002 | 1.374194887133274 | 1.4534741232350866e+18 | 322.73608746249107 | 14941.188705527122 | 3.3176103432291097e-12\n", - "0.1 | 0.005 | 1.3835828525725824 | 1.4534741232350866e+18 | 322.73608746249107 | 5977.075482208381 | 1.327177364054051e-12\n", - "0.1 | 0.0075 | 1.381710463377333 | 1.4534741232350866e+18 | 322.73608746249107 | 3985.050321472298 | 8.848589242376854e-13\n", - "0.1 | 0.01 | 1.378484030173927 | 1.4534741232350866e+18 | 322.73608746249107 | 2989.0377411040554 | 6.63699704329458e-13\n", - "0.1 | 0.02 | 1.365360961026239 | 1.4534741232350866e+18 | 322.73608746249107 | 1495.018870551993 | 3.319608744671838e-13\n", - "0.1 | 0.05 | 1.3428726584962276 | 1.4534741232350866e+18 | 322.73608746249107 | 598.607548220793 | 1.329175765498276e-13\n", - "0.1 | 0.075 | 1.3344025162997288 | 1.4534741232350866e+18 | 322.73608746249107 | 399.4050321471928 | 8.868573256819285e-14\n", - "0.1 | 0.1 | 1.3296947739898706 | 1.4534741232350866e+18 | 322.73608746249107 | 299.80377411039274 | 6.656981057737548e-14\n", - "0.1 | 0.2 | 1.3228751118106652 | 1.4534741232350866e+18 | 322.73608746249107 | 150.40188705519589 | 3.339592759115015e-14\n", - "0.1 | 0.5 | 1.320130553011318 | 1.4534741232350866e+18 | 322.73608746249107 | 60.76075482207832 | 1.3491597799415071e-14\n", - "0.1 | 0.75 | 1.319826836642748 | 1.4534741232350866e+18 | 322.73608746249107 | 40.84050321471888 | 9.068413401251725e-15\n", - "0.1 | 1 | 1.3197458467857655 | 1.4534741232350866e+18 | 322.73608746249107 | 30.880377411039163 | 6.856821202170052e-15\n", - "0.2 | 1e-05 | 1.034878071426437 | 8.562996015832429e+17 | 190.13670673101288 | 2952676.851384146 | 6.556259649368781e-10\n", - "0.2 | 2e-05 | 1.099054270537908 | 8.562996015832429e+17 | 190.13670673101288 | 1476338.9256587334 | 3.278130934833386e-10\n", - "0.2 | 5e-05 | 1.118668157567818 | 8.562996015832429e+17 | 190.13670673101288 | 590536.170254422 | 1.3112537061808416e-10\n", - "0.2 | 7.5e-05 | 1.106463291346616 | 8.562996015832429e+17 | 190.13670673101288 | 393691.1135038531 | 8.741698776045872e-11\n", - "0.2 | 0.0001 | 1.091806769704812 | 8.562996015832429e+17 | 190.13670673101288 | 295268.58512797963 | 6.556279633151521e-11\n", - "0.2 | 0.0002 | 1.0475901909841485 | 8.562996015832429e+17 | 190.13670673101288 | 147634.79256333216 | 3.278150918791404e-11\n", - "0.2 | 0.0005 | 1.0237060377513256 | 8.562996015832429e+17 | 190.13670673101288 | 59054.517025191155 | 1.3112736901897105e-11\n", - "0.2 | 0.00075 | 1.04286126411308 | 8.562996015832429e+17 | 190.13670673101288 | 39370.011350120825 | 8.741898616131577e-12\n", - "0.2 | 0.001 | 1.0675482361224131 | 8.562996015832429e+17 | 190.13670673101288 | 29527.758512602293 | 6.556479473252506e-12\n", - "0.2 | 0.002 | 1.150251960798731 | 8.562996015832429e+17 | 190.13670673101288 | 14764.379256294229 | 3.2783507589271796e-12\n", - "0.2 | 0.005 | 1.2613461172689404 | 8.562996015832429e+17 | 190.13670673101288 | 5906.351702517787 | 1.311473530333848e-12\n", - "0.2 | 0.0075 | 1.2986164432111689 | 8.562996015832429e+17 | 190.13670673101288 | 3937.9011350116157 | 8.743897017574866e-13\n", - "0.2 | 0.01 | 1.3193653278045645 | 8.562996015832429e+17 | 190.13670673101288 | 2953.6758512586707 | 6.558477874693371e-13\n", - "0.2 | 0.02 | 1.3511101649720016 | 8.562996015832429e+17 | 190.13670673101288 | 1477.3379256293263 | 3.2803491603712903e-13\n", - "0.2 | 0.05 | 1.361365740618009 | 8.562996015832429e+17 | 190.13670673101288 | 591.5351702517382 | 1.3134719317780835e-13\n", - "0.2 | 0.075 | 1.3577244256580792 | 8.562996015832429e+17 | 190.13670673101288 | 394.69011350115363 | 8.763881032017942e-14\n", - "0.2 | 0.1 | 1.35321206907301 | 8.562996015832429e+17 | 190.13670673101288 | 296.26758512586605 | 6.578461889136601e-14\n", - "0.2 | 0.2 | 1.3396807959929746 | 8.562996015832429e+17 | 190.13670673101288 | 148.6337925629331 | 3.300333174814554e-14\n", - "0.2 | 0.5 | 1.3258785979549303 | 8.562996015832429e+17 | 190.13670673101288 | 60.05351702517299 | 1.3334559462213177e-14\n", - "0.2 | 0.75 | 1.3227927985529944 | 8.562996015832429e+17 | 190.13670673101288 | 40.369011350115315 | 8.96372117645046e-15\n", - "0.2 | 1 | 1.321535717952325 | 8.562996015832429e+17 | 190.13670673101288 | 30.5267585125865 | 6.778302033569106e-15\n", - "0.5 | 1e-05 | 0.24096794492402857 | 980258980477233.9 | 0.21766121804428137 | 2725466.7390964394 | 6.051751853189823e-10\n", - "0.5 | 2e-05 | 0.24490838803503873 | 980258980477233.9 | 0.21766121804428137 | 1362733.8714523853 | 3.025877041046033e-10\n", - "0.5 | 5e-05 | 0.26603719418936833 | 980258980477233.9 | 0.21766121804428137 | 545094.1490353851 | 1.2103521496950822e-10\n", - "0.5 | 7.5e-05 | 0.3041435170925932 | 980258980477233.9 | 0.21766121804428137 | 363396.432758199 | 8.069021734296e-11\n", - "0.5 | 0.0001 | 0.3466455959864901 | 980258980477233.9 | 0.21766121804428137 | 272547.57459426456 | 6.051771852405897e-11\n", - "0.5 | 0.0002 | 0.48965105730966685 | 980258980477233.9 | 0.21766121804428137 | 136274.2873159813 | 3.025897028851727e-11\n", - "0.5 | 0.0005 | 0.7000258094502446 | 980258980477233.9 | 0.21766121804428137 | 54510.31493093633 | 1.2103721343178792e-11\n", - "0.5 | 0.00075 | 0.7803152404537564 | 980258980477233.9 | 0.21766121804428137 | 36340.54328796332 | 8.069221577136814e-12\n", - "0.5 | 0.001 | 0.8291864833507758 | 980258980477233.9 | 0.21766121804428137 | 27255.657466223165 | 6.0519716940595025e-12\n", - "0.5 | 0.002 | 0.9148557625310408 | 980258980477233.9 | 0.21766121804428137 | 13628.32873330063 | 3.0260968693741908e-12\n", - "0.5 | 0.005 | 0.9605054768523522 | 980258980477233.9 | 0.21766121804428137 | 5451.931493366453 | 1.21057197452289e-12\n", - "0.5 | 0.0075 | 0.9664986040888508 | 980258980477233.9 | 0.21766121804428137 | 3634.9543289176663 | 8.071219978850555e-13\n", - "0.5 | 0.01 | 0.9715770597539694 | 980258980477233.9 | 0.21766121804428137 | 2726.465746690786 | 6.053970095655861e-13\n", - "0.5 | 0.02 | 1.0046221692212978 | 980258980477233.9 | 0.21766121804428137 | 1363.7328733473048 | 3.0280952708568005e-13\n", - "0.5 | 0.05 | 1.1047795554227993 | 980258980477233.9 | 0.21766121804428137 | 546.0931493393778 | 1.2125703759732826e-13\n", - "0.5 | 0.075 | 1.158142451657815 | 980258980477233.9 | 0.21766121804428137 | 364.395432892986 | 8.091203993320883e-14\n", - "0.5 | 0.1 | 1.1943040342674953 | 980258980477233.9 | 0.21766121804428137 | 273.5465746697651 | 6.073954110114357e-14\n", - "0.5 | 0.2 | 1.2650403625958067 | 980258980477233.9 | 0.21766121804428137 | 137.27328733490157 | 3.048079285303852e-14\n", - "0.5 | 0.5 | 1.3129959855689677 | 980258980477233.9 | 0.21766121804428137 | 55.50931493396519 | 1.2325543904171442e-14\n", - "0.5 | 0.75 | 1.320563153538016 | 980258980477233.9 | 0.21766121804428137 | 37.3395432893108 | 8.29104413775612e-15\n", - "0.5 | 1 | 1.322880946564286 | 980258980477233.9 | 0.21766121804428137 | 28.254657466983357 | 6.273794254548405e-15\n", - "0.75 | 1e-05 | 0.2224499701913163 | 3532627464900.7993 | 0.0007844008697912129 | 2442727.9074404994 | 5.423945531469741e-10\n", - "0.75 | 2e-05 | 0.20530606055267492 | 3532627464900.7993 | 0.0007844008697912129 | 1221364.876011224 | 2.711974813632221e-10\n", - "0.75 | 5e-05 | 0.2085533760821295 | 3532627464900.7993 | 0.0007844008697912129 | 488546.6517436233 | 1.084791482738597e-10\n", - "0.75 | 7.5e-05 | 0.21981047089552586 | 3532627464900.7993 | 0.0007844008697912129 | 325698.1161762267 | 7.23195095311772e-11\n", - "0.75 | 0.0001 | 0.22929183435173858 | 3532627464900.7993 | 0.0007844008697912129 | 244273.84276196134 | 5.4239688909598923e-11\n", - "0.75 | 0.0002 | 0.25206556710849465 | 3532627464900.7993 | 0.0007844008697912129 | 122137.4256038074 | 2.7119956414757816e-11\n", - "0.75 | 0.0005 | 0.29114658168992563 | 3532627464900.7993 | 0.0007844008697912129 | 48855.571254952665 | 1.084811601769268e-11\n", - "0.75 | 0.00075 | 0.32523987895143874 | 3532627464900.7993 | 0.0007844008697912129 | 32570.714320096464 | 7.232151393331879e-12\n", - "0.75 | 0.001 | 0.35990828966432387 | 3532627464900.7993 | 0.0007844008697912129 | 24428.285796379587 | 5.424169068652859e-12\n", - "0.75 | 0.002 | 0.4758051392903338 | 3532627464900.7993 | 0.0007844008697912129 | 12214.642940416235 | 2.7121955660050457e-12\n", - "0.75 | 0.005 | 0.6515260879776209 | 3532627464900.7993 | 0.0007844008697912129 | 4886.457186300838 | 1.0850114554152496e-12\n", - "0.75 | 0.0075 | 0.7197356993725796 | 3532627464900.7993 | 0.0007844008697912129 | 3257.9714590352405 | 7.234149854785078e-13\n", - "0.75 | 0.01 | 0.7617582568840171 | 3532627464900.7993 | 0.0007844008697912129 | 2443.7285948394756 | 5.426167503851333e-13\n", - "0.75 | 0.02 | 0.8408992984214783 | 3532627464900.7993 | 0.0007844008697912129 | 1222.3642978419875 | 2.714193975887874e-13\n", - "0.75 | 0.05 | 0.9210906761308861 | 3532627464900.7993 | 0.0007844008697912129 | 489.5457192381444 | 1.0870098582097407e-13\n", - "0.75 | 0.075 | 0.9624492708631208 | 3532627464900.7993 | 0.0007844008697912129 | 326.69714617377673 | 7.254133875229146e-14\n", - "0.75 | 0.1 | 0.9968207350967749 | 3532627464900.7993 | 0.0007844008697912129 | 245.2728596359627 | 5.4461515216699997e-14\n", - "0.75 | 0.2 | 1.0921914353907192 | 3532627464900.7993 | 0.0007844008697912129 | 123.13642982220418 | 2.734177991175017e-14\n", - "0.75 | 0.5 | 1.2113887072395224 | 3532627464900.7993 | 0.0007844008697912129 | 49.85457192989512 | 1.1069938727880118e-14\n", - "0.75 | 0.75 | 1.2502765485666594 | 3532627464900.7993 | 0.0007844008697912129 | 33.56971462008021 | 7.453974020261758e-15\n", - "0.75 | 1 | 1.2715113409155712 | 3532627464900.7993 | 0.0007844008697912129 | 25.427285965116454 | 5.645991666440076e-15\n", - "1.0 | 1e-05 | 0.3201790446663786 | 63914578843.30032 | 1.4191887408210385e-05 | 2130369.1131565426 | 4.730369680753338e-10\n", - "1.0 | 2e-05 | 0.30074023142892836 | 63914578843.30032 | 1.4191887408210385e-05 | 1065202.8089900897 | 2.3652253688723805e-10\n", - "1.0 | 5e-05 | 0.26987296047072223 | 63914578843.30032 | 1.4191887408210385e-05 | 426085.98427822563 | 9.461009404315171e-11\n", - "1.0 | 7.5e-05 | 0.255971387187336 | 63914578843.30032 | 1.4191887408210385e-05 | 284058.28740671236 | 6.307361020290444e-11\n", - "1.0 | 0.0001 | 0.24652041427480517 | 63914578843.30032 | 1.4191887408210385e-05 | 213044.20226336323 | 4.730531572313695e-11\n", - "1.0 | 0.0002 | 0.2298542106226902 | 63914578843.30032 | 1.4191887408210385e-05 | 106522.77866349413 | 2.365280830385211e-11\n", - "1.0 | 0.0005 | 0.23919407237621151 | 63914578843.30032 | 1.4191887408210385e-05 | 42609.754073134274 | 9.461266009121844e-12\n", - "1.0 | 0.00075 | 0.25539979901780313 | 63914578843.30032 | 1.4191887408210385e-05 | 28406.842361022733 | 6.307586089220936e-12\n", - "1.0 | 0.001 | 0.2695794334088568 | 63914578843.30032 | 1.4191887408210385e-05 | 21305.384137872177 | 4.730745603669856e-12\n", - "1.0 | 0.002 | 0.31063876807450386 | 63914578843.30032 | 1.4191887408210385e-05 | 10653.193844259556 | 2.3654842183383887e-12\n", - "1.0 | 0.005 | 0.3936609595496504 | 63914578843.30032 | 1.4191887408210385e-05 | 4261.877963782238 | 9.46327008706724e-13\n", - "1.0 | 0.0075 | 0.4469915900961469 | 63914578843.30032 | 1.4191887408210385e-05 | 2841.5853723107916 | 6.309587013554977e-13\n", - "1.0 | 0.01 | 0.49016736300399305 | 63914578843.30032 | 1.4191887408210385e-05 | 2131.4390529041125 | 4.732745424238766e-13\n", - "1.0 | 0.02 | 0.6017532446914196 | 63914578843.30032 | 1.4191887408210385e-05 | 1066.21954420533 | 2.3674829745641947e-13\n", - "1.0 | 0.05 | 0.7405769938099301 | 63914578843.30032 | 1.4191887408210385e-05 | 427.0878219429178 | 9.48325466916073e-14\n", - "1.0 | 0.075 | 0.7971634633262175 | 63914578843.30032 | 1.4191887408210385e-05 | 285.05854859317236 | 6.32957128028738e-14\n", - "1.0 | 0.1 | 0.8372760302121777 | 63914578843.30032 | 1.4191887408210385e-05 | 214.04391168158926 | 4.752729580594678e-14\n", - "1.0 | 0.2 | 0.9403435142235629 | 63914578843.30032 | 1.4191887408210385e-05 | 107.52195601832736 | 2.387467024485609e-14\n", - "1.0 | 0.5 | 1.0888716539372494 | 63914578843.30032 | 1.4191887408210385e-05 | 43.60878244993884 | 9.68309487035831e-15\n", - "1.0 | 0.75 | 1.1499813978771314 | 63914578843.30032 | 1.4191887408210385e-05 | 29.40585497293815 | 6.529411449948819e-15\n", - "1.0 | 1 | 1.1884279444711843 | 63914578843.30032 | 1.4191887408210385e-05 | 22.304391232070714 | 4.952569739218474e-15\n", - "2.0 | 1e-05 | 0.3771752708028818 | 4995157.201079173 | 1.1091477072520501e-09 | 931785.0004902228 | 2.0689783230892163e-10\n", - "2.0 | 2e-05 | 0.3655473904437711 | 4995157.201079173 | 1.1091477072520501e-09 | 513815.8738667831 | 1.1409004271695957e-10\n", - "2.0 | 5e-05 | 0.3556659370171325 | 4995157.201079173 | 1.1091477072520501e-09 | 219045.86744179655 | 4.8637953096574494e-11\n", - "2.0 | 7.5e-05 | 0.3535036870211835 | 4995157.201079173 | 1.1091477072520501e-09 | 148197.11674353815 | 3.290637023834767e-11\n", - "2.0 | 0.0001 | 0.3528173534980046 | 4995157.201079173 | 1.1091477072520501e-09 | 111978.62460515015 | 2.4864249460498955e-11\n", - "2.0 | 0.0002 | 0.35343475255308104 | 4995157.201079173 | 1.1091477072520501e-09 | 56624.48346399592 | 1.2573161059846943e-11\n", - "2.0 | 0.0005 | 0.3550242415453222 | 4995157.201079173 | 1.1091477072520501e-09 | 22805.49604335586 | 5.063837359066316e-12\n", - "2.0 | 0.00075 | 0.35371635738709434 | 4995157.201079173 | 1.1091477072520501e-09 | 15227.168148581388 | 3.3811105356787747e-12\n", - "2.0 | 0.001 | 0.35159094176904937 | 4995157.201079173 | 1.1091477072520501e-09 | 11429.335035838723 | 2.537822182588628e-12\n", - "2.0 | 0.002 | 0.3437425980245058 | 4995157.201079173 | 1.1091477072520501e-09 | 5721.711678609065 | 1.2704752091716875e-12\n", - "2.0 | 0.005 | 0.3384378232843943 | 4995157.201079173 | 1.1091477072520501e-09 | 2290.858149957779 | 5.086726928466632e-13\n", - "2.0 | 0.0075 | 0.34349118443995413 | 4995157.201079173 | 1.1091477072520501e-09 | 1527.8054038403636 | 3.3924094729806145e-13\n", - "2.0 | 0.01 | 0.35145093865438215 | 4995157.201079173 | 1.1091477072520501e-09 | 1146.1915618887438 | 2.545056525279907e-13\n", - "2.0 | 0.02 | 0.3879545312712362 | 4995157.201079173 | 1.1091477072520501e-09 | 573.6614252411312 | 1.2737842452839735e-13\n", - "2.0 | 0.05 | 0.47107485080566824 | 4995157.201079173 | 1.1091477072520501e-09 | 230.08032761773362 | 5.108809544690143e-14\n", - "2.0 | 0.075 | 0.5172647100633155 | 4995157.201079173 | 1.1091477072520501e-09 | 153.72255305569738 | 3.413326356131949e-14\n", - "2.0 | 0.1 | 0.5526131904880445 | 4995157.201079173 | 1.1091477072520501e-09 | 115.54279030330187 | 2.5655653224832402e-14\n", - "2.0 | 0.2 | 0.6463104722195465 | 4995157.201079173 | 1.1091477072520501e-09 | 58.27205179784529 | 1.2938994719623518e-14\n", - "2.0 | 0.5 | 0.7972439807925051 | 4995157.201079173 | 1.1091477072520501e-09 | 23.908978317115814 | 5.308859644585121e-15\n", - "2.0 | 0.75 | 0.8774340306364916 | 4995157.201079173 | 1.1091477072520501e-09 | 16.272675559455422 | 3.613259815672492e-15\n", - "2.0 | 1 | 0.9386486865700188 | 4995157.201079173 | 1.1091477072520501e-09 | 12.454515425128454 | 2.765457957105356e-15\n", - "5.0 | 1e-05 | 0.7290963744458004 | 555.636804006467 | 1.23376154627423e-13 | 554.9108780960391 | 1.2321496669543722e-13\n", - "5.0 | 2e-05 | 0.729116226423653 | 555.636804006467 | 1.23376154627423e-13 | 554.1868499306469 | 1.230542001474981e-13\n", - "5.0 | 5e-05 | 0.7291757523892822 | 555.636804006467 | 1.23376154627423e-13 | 552.0260777777667 | 1.225744123484788e-13\n", - "5.0 | 7.5e-05 | 0.729225323038207 | 555.636804006467 | 1.23376154627423e-13 | 550.2382870339197 | 1.2217744305907268e-13\n", - "5.0 | 0.0001 | 0.7292748625029514 | 555.636804006467 | 1.23376154627423e-13 | 548.462059660397 | 1.217830413536618e-13\n", - "5.0 | 0.0002 | 0.7294727088701933 | 555.636804006467 | 1.23376154627423e-13 | 541.470568779268 | 1.2023061852312455e-13\n", - "5.0 | 0.0005 | 0.7300632679255015 | 555.636804006467 | 1.23376154627423e-13 | 521.5279990898952 | 1.1580247851525786e-13\n", - "5.0 | 0.00075 | 0.7305520056062911 | 555.636804006467 | 1.23376154627423e-13 | 505.99987151524925 | 1.1235454156272012e-13\n", - "5.0 | 0.001 | 0.731037681432382 | 555.636804006467 | 1.23376154627423e-13 | 491.37136147682907 | 1.0910635983059726e-13\n", - "5.0 | 0.002 | 0.7329502858896307 | 555.636804006467 | 1.23376154627423e-13 | 440.4522822110097 | 9.780005299187204e-14\n", - "5.0 | 0.005 | 0.7384152522426066 | 555.636804006467 | 1.23376154627423e-13 | 336.0726653659447 | 7.462312220728345e-14\n", - "5.0 | 0.0075 | 0.742685910400422 | 555.636804006467 | 1.23376154627423e-13 | 280.7085388287958 | 6.232981660332277e-14\n", - "5.0 | 0.01 | 0.7467295294070299 | 555.636804006467 | 1.23376154627423e-13 | 241.04573230445237 | 5.3522904398406983e-14\n", - "5.0 | 0.02 | 0.7610911745523715 | 555.636804006467 | 1.23376154627423e-13 | 154.16834802636305 | 3.4232249929458513e-14\n", - "5.0 | 0.05 | 0.7938460924485602 | 555.636804006467 | 1.23376154627423e-13 | 74.4352551993876 | 1.6527946833241902e-14\n", - "5.0 | 0.075 | 0.815067856911206 | 555.636804006467 | 1.23376154627423e-13 | 52.21726682813808 | 1.1594562383118863e-14\n", - "5.0 | 0.1 | 0.8333792535955515 | 555.636804006467 | 1.23376154627423e-13 | 40.32070591377204 | 8.952995214921886e-15\n", - "5.0 | 0.2 | 0.8919888448352009 | 555.636804006467 | 1.23376154627423e-13 | 21.382869766048398 | 4.747950869365613e-15\n", - "5.0 | 0.5 | 1.0120030229593937 | 555.636804006467 | 1.23376154627423e-13 | 9.336977975122132 | 2.0732255856797125e-15\n", - "5.0 | 0.75 | 1.0827038377848375 | 555.636804006467 | 1.23376154627423e-13 | 6.585973686347976 | 1.4623799252317884e-15\n", - "5.0 | 1 | 1.1385693673981578 | 555.636804006467 | 1.23376154627423e-13 | 5.2000553828745195 | 1.1546442430786551e-15\n", - "7.5 | 1e-05 | 1.1579727162941067 | 65.42062274366073 | 1.4526296331065664e-14 | 65.40750197167736 | 1.4523382934434306e-14\n", - "7.5 | 2e-05 | 1.157977684282372 | 65.42062274366073 | 1.4526296331065664e-14 | 65.39438654331288 | 1.452047072432469e-14\n", - "7.5 | 5e-05 | 1.1579925874856083 | 65.42062274366073 | 1.4526296331065664e-14 | 65.35507228730188 | 1.4511741205880808e-14\n", - "7.5 | 7.5e-05 | 1.1580050059490283 | 65.42062274366073 | 1.4526296331065664e-14 | 65.32234705876328 | 1.4504474745438874e-14\n", - "7.5 | 0.0001 | 1.1580174236191763 | 65.42062274366073 | 1.4526296331065664e-14 | 65.28965509555218 | 1.449721567138344e-14\n", - "7.5 | 0.0002 | 1.1580670863672333 | 65.42062274366073 | 1.4526296331065664e-14 | 65.1592188836095 | 1.446825301423471e-14\n", - "7.5 | 0.0005 | 1.158215998465057 | 65.42062274366073 | 1.4526296331065664e-14 | 64.77106671380919 | 1.4382065919040608e-14\n", - "7.5 | 0.00075 | 1.1583400046414278 | 65.42062274366073 | 1.4526296331065664e-14 | 64.45117618545733 | 1.431103595305346e-14\n", - "7.5 | 0.001 | 1.1584639315271195 | 65.42062274366073 | 1.4526296331065664e-14 | 64.13447892974611 | 1.424071503602822e-14\n", - "7.5 | 0.002 | 1.1589588465897578 | 65.42062274366073 | 1.4526296331065664e-14 | 62.89868505684161 | 1.3966313673750365e-14\n", - "7.5 | 0.005 | 1.1604360020625992 | 65.42062274366073 | 1.4526296331065664e-14 | 59.46547650580346 | 1.320398823740986e-14\n", - "7.5 | 0.0075 | 1.161658314493383 | 65.42062274366073 | 1.4526296331065664e-14 | 56.88254043457721 | 1.2630461217927815e-14\n", - "7.5 | 0.01 | 1.162872831495904 | 65.42062274366073 | 1.4526296331065664e-14 | 54.518170529658384 | 1.2105465636493481e-14\n", - "7.5 | 0.02 | 1.1676546346371224 | 65.42062274366073 | 1.4526296331065664e-14 | 46.77181528449087 | 1.0385429246471316e-14\n", - "7.5 | 0.05 | 1.1813220595206992 | 65.42062274366073 | 1.4526296331065664e-14 | 32.913913723848474 | 7.3083569693485e-15\n", - "7.5 | 0.075 | 1.192025682675384 | 65.42062274366073 | 1.4526296331065664e-14 | 26.48423006114886 | 5.8806804006714365e-15\n", - "7.5 | 0.1 | 1.2021902002798601 | 65.42062274366073 | 1.4526296331065664e-14 | 22.210881996573836 | 4.931806517965728e-15\n", - "7.5 | 0.2 | 1.2385142386896435 | 65.42062274366073 | 1.4526296331065664e-14 | 13.695471638717006 | 3.0410055892808887e-15\n", - "7.5 | 0.5 | 1.3202321940460664 | 65.42062274366073 | 1.4526296331065664e-14 | 6.759169742060505 | 1.5008371749970505e-15\n", - "7.5 | 0.75 | 1.3692070811077144 | 65.42062274366073 | 1.4526296331065664e-14 | 4.957375592564133 | 1.1007585049158958e-15\n", - "7.5 | 1 | 1.4074503211973 | 65.42062274366073 | 1.4526296331065664e-14 | 4.014324376831694 | 8.91359070294516e-16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "10.0 | 1e-05 | 1.4570968886841438 | 19.17586490054359 | 4.257897345936976e-15 | 19.174489304841284 | 4.257591902332721e-15\n", - "10.0 | 2e-05 | 1.4570993187331154 | 19.17586490054359 | 4.257897345936976e-15 | 19.173113917340388 | 4.257286504958466e-15\n", - "10.0 | 5e-05 | 1.4571066086154152 | 19.17586490054359 | 4.257897345936976e-15 | 19.168989003573486 | 4.256370590110744e-15\n", - "10.0 | 7.5e-05 | 1.4571126832141397 | 19.17586490054359 | 4.257897345936976e-15 | 19.16555300557406 | 4.255607645292439e-15\n", - "10.0 | 0.0001 | 1.457118757537252 | 19.17586490054359 | 4.257897345936976e-15 | 19.162118306915016 | 4.2548449889856545e-15\n", - "10.0 | 0.0002 | 1.4571430520739157 | 19.17586490054359 | 4.257897345936976e-15 | 19.148392490952492 | 4.251797245602982e-15\n", - "10.0 | 0.0005 | 1.4572159092372132 | 19.17586490054359 | 4.257897345936976e-15 | 19.10733923905199 | 4.242681592503847e-15\n", - "10.0 | 0.00075 | 1.4572765932520457 | 19.17586490054359 | 4.257897345936976e-15 | 19.0732698075378 | 4.235116659043259e-15\n", - "10.0 | 0.001 | 1.4573372497498753 | 19.17586490054359 | 4.257897345936976e-15 | 19.039328340305325 | 4.227580139361048e-15\n", - "10.0 | 0.002 | 1.4575796008997444 | 19.17586490054359 | 4.257897345936976e-15 | 18.904827802739522 | 4.197715020635045e-15\n", - "10.0 | 0.005 | 1.4583040248763595 | 19.17586490054359 | 4.257897345936976e-15 | 18.513096874683345 | 4.110733281477895e-15\n", - "10.0 | 0.0075 | 1.4589047145245593 | 19.17586490054359 | 4.257897345936976e-15 | 18.199513783630795 | 4.041103847913962e-15\n", - "10.0 | 0.01 | 1.459502697662358 | 19.17586490054359 | 4.257897345936976e-15 | 17.89696296052529 | 3.973924069927757e-15\n", - "10.0 | 0.02 | 1.461867908452495 | 19.17586490054359 | 4.257897345936976e-15 | 16.786203891155246 | 3.72728601120259e-15\n", - "10.0 | 0.05 | 1.468716436218725 | 19.17586490054359 | 4.257897345936976e-15 | 14.185809264834264 | 3.149882413751973e-15\n", - "10.0 | 0.075 | 1.4741565641494008 | 19.17586490054359 | 4.257897345936976e-15 | 12.594249511471265 | 2.7964851571019056e-15\n", - "10.0 | 0.1 | 1.479371019681003 | 19.17586490054359 | 4.257897345936976e-15 | 11.345519722685252 | 2.5192114444927974e-15\n", - "10.0 | 0.2 | 1.4982457886579081 | 19.17586490054359 | 4.257897345936976e-15 | 8.230533331790685 | 1.8275455219797643e-15\n", - "10.0 | 0.5 | 1.541009865953393 | 19.17586490054359 | 4.257897345936976e-15 | 4.798974397071008 | 1.0655863740429724e-15\n", - "10.0 | 0.75 | 1.5663574352182952 | 19.17586490054359 | 4.257897345936976e-15 | 3.7223151344244276 | 8.265199934297368e-16\n", - "10.0 | 1 | 1.5858716852811883 | 19.17586490054359 | 4.257897345936976e-15 | 3.1211613132222835 | 6.930370307017338e-16\n", - "20.0 | 1e-05 | 1.728648675651949 | 2.1429162348750768 | 4.75822988760272e-16 | 2.142898417351135 | 4.758190324752077e-16\n", - "20.0 | 2e-05 | 1.728648764407431 | 2.1429162348750768 | 4.75822988760272e-16 | 2.142880600382717 | 4.758150763134943e-16\n", - "20.0 | 5e-05 | 1.7286490306649482 | 2.1429162348750768 | 4.75822988760272e-16 | 2.1428271528103546 | 4.758032085684049e-16\n", - "20.0 | 7.5e-05 | 1.7286492525359833 | 2.1429162348750768 | 4.75822988760272e-16 | 2.1427826169852673 | 4.757933196287184e-16\n", - "20.0 | 0.0001 | 1.7286494743977217 | 2.1429162348750768 | 4.75822988760272e-16 | 2.142738084631156 | 4.757834314597433e-16\n", - "20.0 | 0.0002 | 1.728650361751707 | 2.1429162348750768 | 4.75822988760272e-16 | 2.1425599899163488 | 4.757438864891547e-16\n", - "20.0 | 0.0005 | 1.728653022921501 | 2.1429162348750768 | 4.75822988760272e-16 | 2.142026038687107 | 4.756253254994085e-16\n", - "20.0 | 0.00075 | 1.7286552395412744 | 2.1429162348750768 | 4.75822988760272e-16 | 2.1415814604086187 | 4.755266092912033e-16\n", - "20.0 | 0.001 | 1.728657455232824 | 2.1429162348750768 | 4.75822988760272e-16 | 2.1411372281343835 | 4.754279699113758e-16\n", - "20.0 | 0.002 | 1.7286663087282654 | 2.1429162348750768 | 4.75822988760272e-16 | 2.13936375101392 | 4.750341788848189e-16\n", - "20.0 | 0.005 | 1.7286927805265953 | 2.1429162348750768 | 4.75822988760272e-16 | 2.1340762407576848 | 4.738601157589361e-16\n", - "20.0 | 0.0075 | 1.7287147392794118 | 2.1429162348750768 | 4.75822988760272e-16 | 2.1297073264769604 | 4.728900219135213e-16\n", - "20.0 | 0.01 | 1.7287366067447667 | 2.1429162348750768 | 4.75822988760272e-16 | 2.1253719446187813 | 4.719273737616228e-16\n", - "20.0 | 0.02 | 1.7288231748695113 | 2.1429162348750768 | 4.75822988760272e-16 | 2.1083581370698803 | 4.681495495861566e-16\n", - "20.0 | 0.05 | 1.7290745149199334 | 2.1429162348750768 | 4.75822988760272e-16 | 2.060269448440304 | 4.574717157180394e-16\n", - "20.0 | 0.075 | 1.7292748667352158 | 2.1429162348750768 | 4.75822988760272e-16 | 2.023271926743742 | 4.492566156297211e-16\n", - "20.0 | 0.1 | 1.7294674543189974 | 2.1429162348750768 | 4.75822988760272e-16 | 1.9887693614232311 | 4.4159550714422816e-16\n", - "20.0 | 0.2 | 1.7301684663530894 | 2.1429162348750768 | 4.75822988760272e-16 | 1.871261042321496 | 4.1550341885387885e-16\n", - "20.0 | 0.5 | 1.7317725169771812 | 2.1429162348750768 | 4.75822988760272e-16 | 1.64227232787048 | 3.6465771022131223e-16\n", - "20.0 | 0.75 | 1.7327288355012886 | 2.1429162348750768 | 4.75822988760272e-16 | 1.5268757896947271 | 3.390345314923609e-16\n", - "20.0 | 1 | 1.7334658393718347 | 2.1429162348750768 | 4.75822988760272e-16 | 1.446630124465455 | 3.212164144595808e-16\n", - "50.0 | 1e-05 | 1.7391411403978456 | 1.0013610750249617 | 2.2234682429122227e-16 | 1.0013610614050856 | 2.2234682126700225e-16\n", - "50.0 | 2e-05 | 1.739141140461826 | 1.0013610750249617 | 2.2234682429122227e-16 | 1.0013610477854815 | 2.2234681824284264e-16\n", - "50.0 | 5e-05 | 1.7391411406537574 | 1.0013610750249617 | 2.2234682429122227e-16 | 1.0013610069283048 | 2.2234680917072697e-16\n", - "50.0 | 7.5e-05 | 1.739141140813692 | 1.0013610750249617 | 2.2234682429122227e-16 | 1.0013609728825315 | 2.223468016110467e-16\n", - "50.0 | 0.0001 | 1.7391411409736177 | 1.0013610750249617 | 2.2234682429122227e-16 | 1.0013609388384612 | 2.2234679405174456e-16\n", - "50.0 | 0.0002 | 1.7391411416132447 | 1.0013610750249617 | 2.2234682429122227e-16 | 1.0013608026792107 | 2.2234676381831757e-16\n", - "50.0 | 0.0005 | 1.7391411435313564 | 1.0013610750249617 | 2.2234682429122227e-16 | 1.00136039436488 | 2.223466731543233e-16\n", - "50.0 | 0.00075 | 1.7391411451289047 | 1.0013610750249617 | 2.2234682429122227e-16 | 1.0013600542900682 | 2.223465976425461e-16\n", - "50.0 | 0.001 | 1.7391411467256548 | 1.0013610750249617 | 2.2234682429122227e-16 | 1.0013597143852402 | 2.2234652216851285e-16\n", - "50.0 | 0.002 | 1.739141153104692 | 1.0013610750249617 | 2.2234682429122227e-16 | 1.0013583564632105 | 2.2234622064925224e-16\n", - "50.0 | 0.005 | 1.739141172165665 | 1.0013610750249617 | 2.2234682429122227e-16 | 1.0013542989220954 | 2.2234531969413837e-16\n", - "50.0 | 0.0075 | 1.7391411879631304 | 1.0013610750249617 | 2.2234682429122227e-16 | 1.0013509361089248 | 2.2234457299961647e-16\n", - "50.0 | 0.01 | 1.7391412036824188 | 1.0013610750249617 | 2.2234682429122227e-16 | 1.0013475899545612 | 2.223438300040928e-16\n", - "50.0 | 0.02 | 1.7391412657893084 | 1.0013610750249617 | 2.2234682429122227e-16 | 1.0013343694737178 | 2.22340894467647e-16\n", - "50.0 | 0.05 | 1.7391414450146112 | 1.0013610750249617 | 2.2234682429122227e-16 | 1.001296219922522 | 2.2233242356562365e-16\n", - "50.0 | 0.075 | 1.7391415867303393 | 1.0013610750249617 | 2.2234682429122227e-16 | 1.001266056190751 | 2.223257258717195e-16\n", - "50.0 | 0.1 | 1.7391417220066685 | 1.0013610750249617 | 2.2234682429122227e-16 | 1.0012372643858902 | 2.223193328067841e-16\n", - "50.0 | 0.2 | 1.739142206764682 | 1.0013610750249617 | 2.2234682429122227e-16 | 1.0011341005544732 | 2.2229642583459456e-16\n", - "50.0 | 0.5 | 1.7391432733304768 | 1.0013610750249617 | 2.2234682429122227e-16 | 1.0009071775605214 | 2.2224603880805413e-16\n", - "50.0 | 0.75 | 1.7391438828572479 | 1.0013610750249617 | 2.2234682429122227e-16 | 1.0007775303834385 | 2.222172513518391e-16\n", - "50.0 | 1 | 1.739144340031251 | 1.0013610750249617 | 2.2234682429122227e-16 | 1.0006803060255958 | 2.2219566320771284e-16\n", - "75.0 | 1e-05 | 1.7391475402804037 | 1.000000149021347 | 2.2204463801441744e-16 | 1.0000001490198573 | 2.2204463801408666e-16\n", - "75.0 | 2e-05 | 1.7391475402804104 | 1.000000149021347 | 2.2204463801441744e-16 | 1.0000001490183668 | 2.220446380137557e-16\n", - "75.0 | 5e-05 | 1.7391475402804306 | 1.000000149021347 | 2.2204463801441744e-16 | 1.0000001490138963 | 2.2204463801276305e-16\n", - "75.0 | 7.5e-05 | 1.7391475402804475 | 1.000000149021347 | 2.2204463801441744e-16 | 1.0000001490101718 | 2.2204463801193603e-16\n", - "75.0 | 0.0001 | 1.739147540280464 | 1.000000149021347 | 2.2204463801441744e-16 | 1.0000001490064463 | 2.220446380111088e-16\n", - "75.0 | 0.0002 | 1.73914754028053 | 1.000000149021347 | 2.2204463801441744e-16 | 1.0000001489915489 | 2.220446380078009e-16\n", - "75.0 | 0.0005 | 1.7391475402807293 | 1.000000149021347 | 2.2204463801441744e-16 | 1.0000001489468737 | 2.2204463799788104e-16\n", - "75.0 | 0.00075 | 1.7391475402808945 | 1.000000149021347 | 2.2204463801441744e-16 | 1.000000148909665 | 2.2204463798961905e-16\n", - "75.0 | 0.001 | 1.7391475402810592 | 1.000000149021347 | 2.2204463801441744e-16 | 1.000000148872475 | 2.220446379813612e-16\n", - "75.0 | 0.002 | 1.7391475402817205 | 1.000000149021347 | 2.2204463801441744e-16 | 1.0000001487238994 | 2.220446379483708e-16\n", - "75.0 | 0.005 | 1.739147540283696 | 1.000000149021347 | 2.2204463801441744e-16 | 1.0000001482799472 | 2.220446378497936e-16\n", - "75.0 | 0.0075 | 1.7391475402853336 | 1.000000149021347 | 2.2204463801441744e-16 | 1.000000147912007 | 2.220446377680945e-16\n", - "75.0 | 0.01 | 1.7391475402869625 | 1.000000149021347 | 2.2204463801441744e-16 | 1.0000001475458882 | 2.2204463768679976e-16\n", - "75.0 | 0.02 | 1.7391475402933994 | 1.000000149021347 | 2.2204463801441744e-16 | 1.0000001460993597 | 2.220446373656059e-16\n", - "75.0 | 0.05 | 1.7391475403119734 | 1.000000149021347 | 2.2204463801441744e-16 | 1.0000001419250921 | 2.220446364387323e-16\n", - "75.0 | 0.075 | 1.7391475403266607 | 1.000000149021347 | 2.2204463801441744e-16 | 1.000000138624508 | 2.2204463570585544e-16\n", - "75.0 | 0.1 | 1.7391475403406793 | 1.000000149021347 | 2.2204463801441744e-16 | 1.0000001354739512 | 2.2204463500629127e-16\n", - "75.0 | 0.2 | 1.7391475403909142 | 1.000000149021347 | 2.2204463801441744e-16 | 1.0000001241844543 | 2.220446324995194e-16\n", - "75.0 | 0.5 | 1.7391475405014305 | 1.000000149021347 | 2.2204463801441744e-16 | 1.0000000993475624 | 2.2204462698462155e-16\n", - "75.0 | 0.75 | 1.7391475405645829 | 1.000000149021347 | 2.2204463801441744e-16 | 1.0000000851550528 | 2.2204462383325136e-16\n", - "75.0 | 1 | 1.7391475406119472 | 1.000000149021347 | 2.2204463801441744e-16 | 1.0000000745106707 | 2.2204462146972376e-16\n", - "100.0 | 1e-05 | 1.7391475409434956 | 1.000000000000426 | 2.220446049251259e-16 | 1.000000000000426 | 2.220446049251259e-16\n", - "100.0 | 2e-05 | 1.7391475409434953 | 1.000000000000426 | 2.220446049251259e-16 | 1.000000000000426 | 2.220446049251259e-16\n", - "100.0 | 5e-05 | 1.7391475409434949 | 1.000000000000426 | 2.220446049251259e-16 | 1.0000000000004259 | 2.2204460492512587e-16\n", - "100.0 | 7.5e-05 | 1.7391475409434953 | 1.000000000000426 | 2.220446049251259e-16 | 1.0000000000004259 | 2.2204460492512587e-16\n", - "100.0 | 0.0001 | 1.7391475409434953 | 1.000000000000426 | 2.220446049251259e-16 | 1.0000000000004259 | 2.2204460492512587e-16\n", - "100.0 | 0.0002 | 1.739147540943495 | 1.000000000000426 | 2.220446049251259e-16 | 1.0000000000004259 | 2.2204460492512587e-16\n", - "100.0 | 0.0005 | 1.7391475409434953 | 1.000000000000426 | 2.220446049251259e-16 | 1.0000000000004257 | 2.220446049251258e-16\n", - "100.0 | 0.00075 | 1.739147540943495 | 1.000000000000426 | 2.220446049251259e-16 | 1.0000000000004259 | 2.2204460492512587e-16\n", - "100.0 | 0.001 | 1.7391475409434949 | 1.000000000000426 | 2.220446049251259e-16 | 1.0000000000004254 | 2.2204460492512577e-16\n", - "100.0 | 0.002 | 1.7391475409434953 | 1.000000000000426 | 2.220446049251259e-16 | 1.0000000000004252 | 2.2204460492512572e-16\n", - "100.0 | 0.005 | 1.7391475409434949 | 1.000000000000426 | 2.220446049251259e-16 | 1.0000000000004237 | 2.220446049251254e-16\n", - "100.0 | 0.0075 | 1.739147540943495 | 1.000000000000426 | 2.220446049251259e-16 | 1.0000000000004228 | 2.220446049251252e-16\n", - "100.0 | 0.01 | 1.7391475409434949 | 1.000000000000426 | 2.220446049251259e-16 | 1.0000000000004219 | 2.22044604925125e-16\n", - "100.0 | 0.02 | 1.7391475409434953 | 1.000000000000426 | 2.220446049251259e-16 | 1.0000000000004174 | 2.22044604925124e-16\n", - "100.0 | 0.05 | 1.7391475409434953 | 1.000000000000426 | 2.220446049251259e-16 | 1.000000000000406 | 2.2204460492512144e-16\n", - "100.0 | 0.075 | 1.7391475409434953 | 1.000000000000426 | 2.220446049251259e-16 | 1.0000000000003963 | 2.220446049251193e-16\n", - "100.0 | 0.1 | 1.7391475409434949 | 1.000000000000426 | 2.220446049251259e-16 | 1.0000000000003872 | 2.220446049251173e-16\n", - "100.0 | 0.2 | 1.739147540943496 | 1.000000000000426 | 2.220446049251259e-16 | 1.0000000000003548 | 2.220446049251101e-16\n", - "100.0 | 0.5 | 1.739147540943496 | 1.000000000000426 | 2.220446049251259e-16 | 1.0000000000002842 | 2.220446049250944e-16\n", - "100.0 | 0.75 | 1.7391475409434956 | 1.000000000000426 | 2.220446049251259e-16 | 1.0000000000002436 | 2.220446049250854e-16\n", - "100.0 | 1 | 1.7391475409434956 | 1.000000000000426 | 2.220446049251259e-16 | 1.000000000000213 | 2.220446049250786e-16\n", - "200.0 | 1e-05 | 1.739147540943497 | 1.0000000000000004 | 2.220446049250314e-16 | 1.0000000000000002 | 2.2204460492503136e-16\n", - "200.0 | 2e-05 | 1.739147540943497 | 1.0000000000000004 | 2.220446049250314e-16 | 1.0000000000000002 | 2.2204460492503136e-16\n", - "200.0 | 5e-05 | 1.7391475409434967 | 1.0000000000000004 | 2.220446049250314e-16 | 1.0000000000000004 | 2.220446049250314e-16\n", - "200.0 | 7.5e-05 | 1.7391475409434973 | 1.0000000000000004 | 2.220446049250314e-16 | 1.0000000000000004 | 2.220446049250314e-16\n", - "200.0 | 0.0001 | 1.739147540943497 | 1.0000000000000004 | 2.220446049250314e-16 | 1.0000000000000004 | 2.220446049250314e-16\n", - "200.0 | 0.0002 | 1.7391475409434969 | 1.0000000000000004 | 2.220446049250314e-16 | 1.0000000000000004 | 2.220446049250314e-16\n", - "200.0 | 0.0005 | 1.7391475409434973 | 1.0000000000000004 | 2.220446049250314e-16 | 1.0000000000000004 | 2.220446049250314e-16\n", - "200.0 | 0.00075 | 1.7391475409434967 | 1.0000000000000004 | 2.220446049250314e-16 | 1.0000000000000004 | 2.220446049250314e-16\n", - "200.0 | 0.001 | 1.739147540943497 | 1.0000000000000004 | 2.220446049250314e-16 | 1.0000000000000004 | 2.220446049250314e-16\n", - "200.0 | 0.002 | 1.739147540943497 | 1.0000000000000004 | 2.220446049250314e-16 | 1.0000000000000004 | 2.220446049250314e-16\n", - "200.0 | 0.005 | 1.7391475409434969 | 1.0000000000000004 | 2.220446049250314e-16 | 1.0000000000000004 | 2.220446049250314e-16\n", - "200.0 | 0.0075 | 1.7391475409434973 | 1.0000000000000004 | 2.220446049250314e-16 | 1.0000000000000004 | 2.220446049250314e-16\n", - "200.0 | 0.01 | 1.739147540943497 | 1.0000000000000004 | 2.220446049250314e-16 | 1.0000000000000004 | 2.220446049250314e-16\n", - "200.0 | 0.02 | 1.739147540943497 | 1.0000000000000004 | 2.220446049250314e-16 | 1.0000000000000004 | 2.220446049250314e-16\n", - "200.0 | 0.05 | 1.739147540943497 | 1.0000000000000004 | 2.220446049250314e-16 | 1.0000000000000004 | 2.220446049250314e-16\n", - "200.0 | 0.075 | 1.739147540943497 | 1.0000000000000004 | 2.220446049250314e-16 | 1.0 | 2.220446049250313e-16\n", - "200.0 | 0.1 | 1.739147540943497 | 1.0000000000000004 | 2.220446049250314e-16 | 1.0000000000000007 | 2.2204460492503146e-16\n", - "200.0 | 0.2 | 1.7391475409434973 | 1.0000000000000004 | 2.220446049250314e-16 | 1.0000000000000004 | 2.220446049250314e-16\n", - "200.0 | 0.5 | 1.739147540943497 | 1.0000000000000004 | 2.220446049250314e-16 | 1.0 | 2.220446049250313e-16\n", - "200.0 | 0.75 | 1.739147540943497 | 1.0000000000000004 | 2.220446049250314e-16 | 1.0000000000000002 | 2.2204460492503136e-16\n", - "200.0 | 1 | 1.7391475409434967 | 1.0000000000000004 | 2.220446049250314e-16 | 1.0000000000000004 | 2.220446049250314e-16\n", - "500.0 | 1e-05 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "500.0 | 2e-05 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "500.0 | 5e-05 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "500.0 | 7.5e-05 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "500.0 | 0.0001 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "500.0 | 0.0002 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "500.0 | 0.0005 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "500.0 | 0.00075 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "500.0 | 0.001 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "500.0 | 0.002 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "500.0 | 0.005 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "500.0 | 0.0075 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "500.0 | 0.01 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "500.0 | 0.02 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "500.0 | 0.05 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "500.0 | 0.075 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "500.0 | 0.1 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "500.0 | 0.2 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "500.0 | 0.5 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "500.0 | 0.75 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "500.0 | 1 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "1000.0 | 1e-05 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "1000.0 | 2e-05 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "1000.0 | 5e-05 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "1000.0 | 7.5e-05 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "1000.0 | 0.0001 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "1000.0 | 0.0002 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "1000.0 | 0.0005 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "1000.0 | 0.00075 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "1000.0 | 0.001 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "1000.0 | 0.002 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "1000.0 | 0.005 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "1000.0 | 0.0075 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "1000.0 | 0.01 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "1000.0 | 0.02 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "1000.0 | 0.05 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "1000.0 | 0.075 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "1000.0 | 0.1 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "1000.0 | 0.2 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "1000.0 | 0.5 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "1000.0 | 0.75 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "1000.0 | 1 | 1.739147540943497 | 1.0 | 2.220446049250313e-16 | 1.0 | 2.220446049250313e-16\n", - "\n", - "Results saved in solution.pickle\n" - ] - }, - { - "data": { - "text/plain": [ - "\n", - "========================================================================================================================\n", - "Results of radial basis function run:\n", - "\n", - "Basis function type : gaussian\n", - "Shape parameter : 0.75\n", - "Regularization parameter : 2e-05\n", - "Number of terms in RBF model : 31\n", - "\n", - "RBF Expression:\n", - "--------------------------\n", - "\n", - "4.038157591240296 + 237.8499310618983*(-1551.5244569618876*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.5518182560031254)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.2731190901874679)**2)**0.5)**2) - 334.71891273048857*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.4300326512391472)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.8610629174234938)**2)**0.5)**2) + 235.58220304204985*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.11035664436222248)**2)**0.5)**2) + 27.886153309561678*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.6822668136056202)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.8414199967160326)**2)**0.5)**2) - 1415.9829578091171*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.13520535030959882)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.5811256814195772)**2)**0.5)**2) - 990.5466782519585*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.908216841775921)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.20132180755786522)**2)**0.5)**2) - 343.10909375147367*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.18501228557936236)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.09666279198240106)**2)**0.5)**2) - 723.9922784849874*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.22021941796179972)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 1.0)**2)**0.5)**2) - 8.525226879211669*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.8266365897830592)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.16264387978612238)**2)**0.5)**2) + 255.07386589590683*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.831288905218487)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.26866011456766936)**2)**0.5)**2) + 528.0399010886766*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.43739443999592303)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.9599385359524552)**2)**0.5)**2) + 432.74002291691215*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.8327482651149929)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.3330572615505772)**2)**0.5)**2) - 761.4482839044426*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.17485274298531528)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.3711736045917253)**2)**0.5)**2) + 854.4206928222548*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.0009932894634358945)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.2461895993357224)**2)**0.5)**2) + 158.4825871693355*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.8102253955808789)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546)**2)**0.5)**2) - 2542.5018400558793*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.6086081776493459)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.6109286075828757)**2)**0.5)**2) - 1366.554383948263*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.1028770983224648)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.38063145554753214)**2)**0.5)**2) + 342.1406582093882*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.0325313822086792)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.9084335925839453)**2)**0.5)**2) + 107.6091733488148*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 1.0)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.046386199083146756)**2)**0.5)**2) + 49.67120676760413*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.9074219145138307)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.5830026053427076)**2)**0.5)**2) + 897.3018668528205*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.7557460774371298)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.6383110566137417)**2)**0.5)**2) - 8.627269390497531*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.5911925356865033)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.005381283583344741)**2)**0.5)**2) - 136.91234827602625*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.21031274399063923)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.5495609776179707)**2)**0.5)**2) + 735.7407100245284*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.7830308832306688)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.24439265066740792)**2)**0.5)**2) + 541.730933783887*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.28803140536417743)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.8689715765112118)**2)**0.5)**2) - 45.921399758259014*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.993941455353761)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.9026639746834018)**2)**0.5)**2) + 1712.6788445573948*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.36343808704287006)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.6057949629205177)**2)**0.5)**2) + 3266.9168170263265*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.3586109792561233)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.3372905989731323)**2)**0.5)**2) - 827.2715689260567*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.17758838147122427)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.23089727866378493)**2)**0.5)**2) + 919.0325530603195*exp(- (0.75*(((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.04112204875223326)**2 + ((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.5088149538788017)**2)**0.5)**2))\n", - "--------------------------\n", - "\n", - "Model training errors:\n", - "-----------------------\n", - "Mean Squared Error (MSE) : 0.0004443809827437673\n", - "Root Mean Squared Error (RMSE) : 0.021080345887669095\n", - "Goodness of fit (R2) : 0.9918215668806757\n", - "\n", - "========================================================================================================================" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "rbf_class.training()" ] @@ -1429,18 +602,9 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 20, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "R2: 0.9918215668806757 \n", - "RMSE: 0.021080345887669095\n" - ] - } - ], + "outputs": [], "source": [ "print(\"R2: \", rbf_class.R2, \"\\nRMSE: \", rbf_class.rmse)" ] @@ -1463,19 +627,9 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 21, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[[61.06401281]\n", - " [12.7142377 ]\n", - " [50.97501439]]\n" - ] - } - ], + "outputs": [], "source": [ "unsampled_points = np.array([[5, 8], [-3, 10], [-2, 3]])\n", "ys = rbf_class.predict_output(unsampled_points)\n", @@ -1514,7 +668,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 22, "metadata": {}, "outputs": [], "source": [ @@ -1556,18 +710,9 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 23, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Warning: solution.pickle already exists; previous file will be overwritten.\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "krg_class = KrigingModel(XY_data=brainin_data, overwrite=True)" ] @@ -1582,7 +727,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 24, "metadata": {}, "outputs": [], "source": [ @@ -1599,63 +744,9 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 25, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Optimizing kriging parameters using L-BFGS-B algorithm...\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Final results\n", - "================\n", - "Theta: [6.01576437 0.22794622] \n", - "Mean: [[386.67466251]] \n", - "Regularization parameter: 1.000000000001e-06\n", - "\n", - "Results saved in solution.pickle\n" - ] - }, - { - "data": { - "text/plain": [ - "\n", - "========================================================================================================================\n", - "Results of Kriging run:\n", - "\n", - "Kriging mean : [[386.67466251]]\n", - "Kriging variance : [[70460.78166121]]\n", - "Kriging weights : [6.01576437 0.22794622]\n", - "Regularization parameter : 1.000000000001e-06\n", - "Number of terms in Kriging model : 31\n", - "\n", - "Kriging Expression:\n", - "--------------------\n", - "\n", - "386.6746625106164 + (3469.0208871846553*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.5518182560031254)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.2731190901874679)**2)) - 141877.18052533641*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.4300326512391472)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.8610629174234938)**2)) + 89858.53563122451*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.11035664436222248)**2)) - 17331.16845172411*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.6822668136056202)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.8414199967160326)**2)) + 70866.88925537094*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.13520535030959882)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.5811256814195772)**2)) + 84227.85506583657*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.908216841775921)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.20132180755786522)**2)) + 12240.144907206297*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.18501228557936236)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.09666279198240106)**2)) + 10862.880267933011*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.22021941796179972)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 1.0)**2)) - 88626.71938276757*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.8266365897830592)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.16264387978612238)**2)) - 59560.382920601405*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.831288905218487)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.26866011456766936)**2)) + 108091.18288033456*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.43739443999592303)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.9599385359524552)**2)) - 49286.85214255564*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.8327482651149929)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.3330572615505772)**2)) + 142911.70424503088*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.17485274298531528)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.3711736045917253)**2)) - 121075.87439893931*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.0009932894634358945)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.2461895993357224)**2)) + 18631.616961394437*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.8102253955808789)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546)**2)) - 20558.20656931633*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.6086081776493459)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.6109286075828757)**2)) - 147105.12800574303*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.1028770983224648)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.38063145554753214)**2)) - 20770.266188384965*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.0325313822086792)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.9084335925839453)**2)) - 12552.899758738116*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 1.0)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.046386199083146756)**2)) - 15680.859052546322*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.9074219145138307)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.5830026053427076)**2)) + 51439.576363677625*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.7557460774371298)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.6383110566137417)**2)) - 7759.502903997432*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.5911925356865033)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.005381283583344741)**2)) - 105321.72080910672*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.21031274399063923)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.5495609776179707)**2)) + 103559.18517672084*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.7830308832306688)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.24439265066740792)**2)) - 32907.053552615456*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.28803140536417743)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.8689715765112118)**2)) + 2458.404474788578*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.993941455353761)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.9026639746834018)**2)) + 99575.24403728923*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.36343808704287006)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.6057949629205177)**2)) - 18709.6442205254*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.3586109792561233)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.3372905989731323)**2)) - 47558.269057542086*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.17758838147122427)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.23089727866378493)**2)) + 108489.48778639734*exp(- (6.01576436749808*((IndexedParam[0] + 4.929217157135412)/14.643030012320084 - 0.04112204875223326)**2 + 0.22794621767031822*((IndexedParam[1] - 0.22882456869508516)/14.45053220191546 - 0.5088149538788017)**2)))\n", - "--------------------------\n", - "\n", - "Model training errors:\n", - "-----------------------\n", - "Mean Squared Error (MSE) : 0.005821749035738542\n", - "Root Mean Squared Error (RMSE) : 0.07630038686493366\n", - "Goodness of fit (R2) : 0.999998106078119\n", - "\n", - "========================================================================================================================" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "krg_class.training()" ] @@ -1680,18 +771,9 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 26, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "R2: 0.999998106078119 \n", - "RMSE: 0.07630038686493366\n" - ] - } - ], + "outputs": [], "source": [ "print(\"R2: \", krg_class.training_R2, \"\\nRMSE: \", krg_class.training_rmse)" ] @@ -1714,19 +796,9 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 27, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[[57.63225481]\n", - " [ 4.44461901]\n", - " [50.8024123 ]]\n" - ] - } - ], + "outputs": [], "source": [ "unsampled_points = np.array([[5, 8], [-3, 10], [-2, 3]])\n", "ys = krg_class.predict_output(unsampled_points)\n", @@ -1744,17 +816,9 @@ }, { "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "3469.0208871846553*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.5518182560031254)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.2731190901874679)**2)) - 141877.18052533641*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.4300326512391472)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.8610629174234938)**2)) + 89858.53563122451*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.11035664436222248)**2)) - 17331.16845172411*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.6822668136056202)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.8414199967160326)**2)) + 70866.88925537094*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.13520535030959882)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.5811256814195772)**2)) + 84227.85506583657*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.908216841775921)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.20132180755786522)**2)) + 12240.144907206297*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.18501228557936236)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.09666279198240106)**2)) + 10862.880267933011*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.22021941796179972)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 1.0)**2)) - 88626.71938276757*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.8266365897830592)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.16264387978612238)**2)) - 59560.382920601405*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.831288905218487)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.26866011456766936)**2)) + 108091.18288033456*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.43739443999592303)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.9599385359524552)**2)) - 49286.85214255564*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.8327482651149929)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.3330572615505772)**2)) + 142911.70424503088*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.17485274298531528)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.3711736045917253)**2)) - 121075.87439893931*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.0009932894634358945)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.2461895993357224)**2)) + 18631.616961394437*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.8102253955808789)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546)**2)) - 20558.20656931633*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.6086081776493459)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.6109286075828757)**2)) - 147105.12800574303*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.1028770983224648)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.38063145554753214)**2)) - 20770.266188384965*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.0325313822086792)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.9084335925839453)**2)) - 12552.899758738116*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 1.0)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.046386199083146756)**2)) - 15680.859052546322*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.9074219145138307)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.5830026053427076)**2)) + 51439.576363677625*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.7557460774371298)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.6383110566137417)**2)) - 7759.502903997432*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.5911925356865033)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.005381283583344741)**2)) - 105321.72080910672*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.21031274399063923)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.5495609776179707)**2)) + 103559.18517672084*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.7830308832306688)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.24439265066740792)**2)) - 32907.053552615456*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.28803140536417743)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.8689715765112118)**2)) + 2458.404474788578*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.993941455353761)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.9026639746834018)**2)) + 99575.24403728923*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.36343808704287006)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.6057949629205177)**2)) - 18709.6442205254*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.3586109792561233)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.3372905989731323)**2)) - 47558.269057542086*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.17758838147122427)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.23089727866378493)**2)) + 108489.48778639734*exp(- (6.01576436749808*((x[1] + 4.929217157135412)/14.643030012320084 - 0.04112204875223326)**2 + 0.22794621767031822*((x[2] - 0.22882456869508516)/14.45053220191546 - 0.5088149538788017)**2)) + 386.6746625106164\n" - ] - } - ], + "execution_count": 28, + "metadata": {}, + "outputs": [], "source": [ "print(krg_class.generate_expression([m.x[1], m.x[2]]))" ] @@ -1796,9 +860,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.9.12" } }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_basics_test.ipynb b/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_basics_test.ipynb index 16ec6887..ad3d9783 100644 --- a/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_basics_test.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_basics_test.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -864,4 +865,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_basics_usr.ipynb b/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_basics_usr.ipynb index 16ec6887..ad3d9783 100644 --- a/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_basics_usr.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_basics_usr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -864,4 +865,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_flowsheet_optimization.ipynb b/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_flowsheet_optimization.ipynb index 513f47d8..929cf81f 100644 --- a/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_flowsheet_optimization.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_flowsheet_optimization.ipynb @@ -1,478 +1,479 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Autothermal Reformer Flowsheet Optimization with PySMO Surrogate Object\n", - "Maintainer: Brandon Paul \n", - "Author: Brandon Paul \n", - "Updated: 2023-06-01 \n", - "## 1. Introduction\n", - "\n", - "This example demonstrates autothermal reformer optimization leveraging the PySMO Polynomial surrogate trainer. Other than the specific training method syntax, this workflow is identical for PySMO RBF and PySMO Kriging surrogate models. In this notebook, sampled simulation data will be used to train and validate a surrogate model. IDAES surrogate plotting tools will be utilized to visualize the surrogates on training and validation data. Once validated, integration of the surrogate into an IDAES flowsheet will be demonstrated." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 2. Problem Statement \n", - "\n", - "Within the context of a larger NGFC system, the autothermal reformer generates syngas from air, steam and natural gas for use in a solid-oxide fuel cell (SOFC).\n", - "\n", - "## 2.1. Main Inputs: \n", - "- Bypass fraction (dimensionless) - split fraction of natural gas to bypass AR unit and feed directly to the power island\n", - "- NG-Steam Ratio (dimensionless) - proportion of natural relative to steam fed into AR unit operation\n", - "\n", - "## 2.2. Main Outputs:\n", - "- Steam flowrate (kg/s) - inlet steam fed to AR unit\n", - "- Reformer duty (kW) - required energy input to AR unit\n", - "- Composition (dimensionless) - outlet mole fractions of components (Ar, C2H6, C3H8, C4H10, CH4, CO, CO2, H2, H2O, N2, O2)" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from IPython.display import Image\n", - "from pathlib import Path\n", - "\n", - "\n", - "def datafile_path(name):\n", - " return Path(\"..\") / name\n", - "\n", - "\n", - "Image(datafile_path(\"AR_PFD.png\"))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3. Training and Validating Surrogates" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "First, let's import the required Python, Pyomo and IDAES modules:" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "# Import statements\n", - "import os\n", - "import numpy as np\n", - "import pandas as pd\n", - "\n", - "# Import Pyomo libraries\n", - "from pyomo.environ import (\n", - " ConcreteModel,\n", - " SolverFactory,\n", - " value,\n", - " Var,\n", - " Constraint,\n", - " Set,\n", - " Objective,\n", - " maximize,\n", - ")\n", - "from pyomo.common.timing import TicTocTimer\n", - "\n", - "# Import IDAES libraries\n", - "from idaes.core.surrogate.sampling.data_utils import split_training_validation\n", - "from idaes.core.surrogate.pysmo_surrogate import PysmoPolyTrainer, PysmoSurrogate\n", - "from idaes.core.surrogate.plotting.sm_plotter import (\n", - " surrogate_scatter2D,\n", - " surrogate_parity,\n", - " surrogate_residual,\n", - ")\n", - "from idaes.core.surrogate.surrogate_block import SurrogateBlock\n", - "from idaes.core import FlowsheetBlock" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.1 Importing Training and Validation Datasets" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this section, we read the dataset from the CSV file located in this directory. 2800 data points were simulated from a rigorous IDAES NGFC flowsheet using a grid sampling method. For simplicity and to reduce training runtime, this example randomly selects 100 data points to use for training/validation. The data is separated using an 80/20 split into training and validation data using the IDAES `split_training_validation()` method." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "# Import Auto-reformer training data\n", - "np.set_printoptions(precision=6, suppress=True)\n", - "\n", - "csv_data = pd.read_csv(datafile_path(\"reformer-data.csv\")) # 2800 data points\n", - "data = csv_data.sample(n=100) # randomly sample points for training/validation\n", - "input_data = data.iloc[:, :2]\n", - "output_data = data.iloc[:, 2:]\n", - "\n", - "# Define labels, and split training and validation data\n", - "# note that PySMO requires that labels are passed as string lists\n", - "input_labels = list(input_data.columns)\n", - "output_labels = list(output_data.columns)\n", - "\n", - "n_data = data[input_labels[0]].size\n", - "data_training, data_validation = split_training_validation(\n", - " data, 0.8, seed=n_data\n", - ") # seed=100" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.2 Training Surrogates with PySMO" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "IDAES builds a model class for each type of PySMO surrogate model. In this case, we will call and build the Polynomial Regression class. Regression settings can be directly passed as class arguments, as shown below. In this example, allowed basis terms span a 6th order polynomial as well as a variable product, and data is internally cross-validated using 10 iterations of 80/20 splits to ensure a robust surrogate fit. Note that PySMO uses cross-validation of training data to adjust model coefficients and ensure a more accurate fit, while we separate the validation dataset pre-training in order to visualize the surrogate fits.\n", - "\n", - "Finally, after training the model we save the results and model expressions to a folder which contains a serialized JSON file. Serializing the model in this fashion enables importing a previously trained set of surrogate models into external flowsheets. This feature will be used later." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "# capture long output (not required to use surrogate API)\n", - "from io import StringIO\n", - "import sys\n", - "\n", - "stream = StringIO()\n", - "oldstdout = sys.stdout\n", - "sys.stdout = stream\n", - "\n", - "# Create PySMO trainer object\n", - "trainer = PysmoPolyTrainer(\n", - " input_labels=input_labels,\n", - " output_labels=output_labels,\n", - " training_dataframe=data_training,\n", - ")\n", - "\n", - "# Set PySMO options\n", - "trainer.config.maximum_polynomial_order = 6\n", - "trainer.config.multinomials = True\n", - "trainer.config.training_split = 0.8\n", - "trainer.config.number_of_crossvalidations = 10\n", - "\n", - "# Train surrogate (calls PySMO through IDAES Python wrapper)\n", - "poly_train = trainer.train_surrogate()\n", - "\n", - "# create callable surrogate object\n", - "xmin, xmax = [0.1, 0.8], [0.8, 1.2]\n", - "input_bounds = {input_labels[i]: (xmin[i], xmax[i]) for i in range(len(input_labels))}\n", - "poly_surr = PysmoSurrogate(poly_train, input_labels, output_labels, input_bounds)\n", - "\n", - "# save model to JSON\n", - "model = poly_surr.save_to_file(\"pysmo_poly_surrogate.json\", overwrite=True)\n", - "\n", - "# revert back to normal output capture\n", - "sys.stdout = oldstdout\n", - "\n", - "# display first 50 lines and last 50 lines of output\n", - "celloutput = stream.getvalue().split(\"\\n\")\n", - "for line in celloutput[:50]:\n", - " print(line)\n", - "print(\".\")\n", - "print(\".\")\n", - "print(\".\")\n", - "for line in celloutput[-50:]:\n", - " print(line)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.3 Visualizing surrogates" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that the surrogate models have been trained, the models can be visualized through scatter, parity and residual plots to confirm their validity in the chosen domain. The training data will be visualized first to confirm the surrogates are fit the data, and then the validation data will be visualized to confirm the surrogates accurately predict new output values." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "# visualize with IDAES surrogate plotting tools\n", - "surrogate_scatter2D(poly_surr, data_training, filename=\"pysmo_poly_train_scatter2D.pdf\")\n", - "surrogate_parity(poly_surr, data_training, filename=\"pysmo_poly_train_parity.pdf\")\n", - "surrogate_residual(poly_surr, data_training, filename=\"pysmo_poly_train_residual.pdf\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.4 Model Validation" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "# visualize with IDAES surrogate plotting tools\n", - "surrogate_scatter2D(poly_surr, data_validation, filename=\"pysmo_poly_val_scatter2D.pdf\")\n", - "surrogate_parity(poly_surr, data_validation, filename=\"pysmo_poly_val_parity.pdf\")\n", - "surrogate_residual(poly_surr, data_validation, filename=\"pysmo_poly_val_residual.pdf\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 4. IDAES Flowsheet Integration" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 4.1 Build and Run IDAES Flowsheet" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we will build an IDAES flowsheet and import the surrogate model object. Each output variable has a unique PySMO model expression, and the surrogate expressions may be added to the model via an indexed Constraint() component." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "# create the IDAES model and flowsheet\n", - "m = ConcreteModel()\n", - "m.fs = FlowsheetBlock(dynamic=False)\n", - "\n", - "# create flowsheet input variables\n", - "m.fs.bypass_frac = Var(\n", - " initialize=0.80, bounds=[0.1, 0.8], doc=\"natural gas bypass fraction\"\n", - ")\n", - "m.fs.ng_steam_ratio = Var(\n", - " initialize=0.80, bounds=[0.8, 1.2], doc=\"natural gas to steam ratio\"\n", - ")\n", - "\n", - "# create flowsheet output variables\n", - "m.fs.steam_flowrate = Var(initialize=0.2, doc=\"steam flowrate\")\n", - "m.fs.reformer_duty = Var(initialize=10000, doc=\"reformer heat duty\")\n", - "m.fs.AR = Var(initialize=0, doc=\"AR fraction\")\n", - "m.fs.C2H6 = Var(initialize=0, doc=\"C2H6 fraction\")\n", - "m.fs.C3H8 = Var(initialize=0, doc=\"C3H8 fraction\")\n", - "m.fs.C4H10 = Var(initialize=0, doc=\"C4H10 fraction\")\n", - "m.fs.CH4 = Var(initialize=0, doc=\"CH4 fraction\")\n", - "m.fs.CO = Var(initialize=0, doc=\"CO fraction\")\n", - "m.fs.CO2 = Var(initialize=0, doc=\"CO2 fraction\")\n", - "m.fs.H2 = Var(initialize=0, doc=\"H2 fraction\")\n", - "m.fs.H2O = Var(initialize=0, doc=\"H2O fraction\")\n", - "m.fs.N2 = Var(initialize=0, doc=\"N2 fraction\")\n", - "m.fs.O2 = Var(initialize=0, doc=\"O2 fraction\")\n", - "\n", - "# create input and output variable object lists for flowsheet\n", - "inputs = [m.fs.bypass_frac, m.fs.ng_steam_ratio]\n", - "outputs = [\n", - " m.fs.steam_flowrate,\n", - " m.fs.reformer_duty,\n", - " m.fs.AR,\n", - " m.fs.C2H6,\n", - " m.fs.C4H10,\n", - " m.fs.C3H8,\n", - " m.fs.CH4,\n", - " m.fs.CO,\n", - " m.fs.CO2,\n", - " m.fs.H2,\n", - " m.fs.H2O,\n", - " m.fs.N2,\n", - " m.fs.O2,\n", - "]\n", - "\n", - "# create the Pyomo/IDAES block that corresponds to the surrogate\n", - "# PySMO\n", - "\n", - "# capture long output (not required to use surrogate API)\n", - "stream = StringIO()\n", - "oldstdout = sys.stdout\n", - "sys.stdout = stream\n", - "\n", - "surrogate = PysmoSurrogate.load_from_file(\"pysmo_poly_surrogate.json\")\n", - "m.fs.surrogate = SurrogateBlock(concrete=True)\n", - "m.fs.surrogate.build_model(surrogate, input_vars=inputs, output_vars=outputs)\n", - "\n", - "# revert back to normal output capture - don't need to print PySMO load output\n", - "sys.stdout = oldstdout\n", - "\n", - "# fix input values and solve flowsheet\n", - "m.fs.bypass_frac.fix(0.5)\n", - "m.fs.ng_steam_ratio.fix(1)\n", - "\n", - "solver = SolverFactory(\"ipopt\")\n", - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's print some model results:" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "print(\"Steam flowrate = \", value(m.fs.steam_flowrate))\n", - "print(\"Reformer duty = \", value(m.fs.reformer_duty))\n", - "print(\"Mole Fraction Ar = \", value(m.fs.AR))\n", - "print(\"Mole Fraction C2H6 = \", value(m.fs.C2H6))\n", - "print(\"Mole Fraction C3H8 = \", value(m.fs.C3H8))\n", - "print(\"Mole Fraction C4H10 = \", value(m.fs.C4H10))\n", - "print(\"Mole Fraction CH4 = \", value(m.fs.CH4))\n", - "print(\"Mole Fraction CO = \", value(m.fs.CO))\n", - "print(\"Mole Fraction CO2 = \", value(m.fs.CO2))\n", - "print(\"Mole Fraction H2 = \", value(m.fs.H2))\n", - "print(\"Mole Fraction H2O = \", value(m.fs.H2O))\n", - "print(\"Mole Fraction N2 = \", value(m.fs.N2))\n", - "print(\"Mole Fraction O2 = \", value(m.fs.O2))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 4.2 Optimizing the Autothermal Reformer\n", - "Extending this example, we will unfix the input variables and optimize hydrogen production. We will restrict nitrogen below 34 mol% of the product stream and leave all other variables unfixed.\n", - "\n", - "Above, variable values are called in reference to actual objects names; however, as shown below this may be done much more compactly by calling the list objects we created earlier." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "# unfix input values and add the objective/constraint to the model\n", - "m.fs.bypass_frac.unfix()\n", - "m.fs.ng_steam_ratio.unfix()\n", - "m.fs.obj = Objective(expr=m.fs.H2, sense=maximize)\n", - "m.fs.con = Constraint(expr=m.fs.N2 <= 0.34)\n", - "\n", - "# solve the model\n", - "tmr = TicTocTimer()\n", - "status = solver.solve(m, tee=True)\n", - "solve_time = tmr.toc(\"solve\")\n", - "\n", - "# print and check results\n", - "assert abs(value(m.fs.H2) - 0.33) <= 0.01\n", - "assert value(m.fs.N2 <= 0.4 + 1e-8)\n", - "print(\"Model status: \", status)\n", - "print(\"Solve time: \", solve_time)\n", - "for var in inputs:\n", - " print(var.name, \": \", value(var))\n", - "for var in outputs:\n", - " print(var.name, \": \", value(var))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.16" - } + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] }, - "nbformat": 4, - "nbformat_minor": 4 -} \ No newline at end of file + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Autothermal Reformer Flowsheet Optimization with PySMO Surrogate Object\n", + "Maintainer: Brandon Paul \n", + "Author: Brandon Paul \n", + "Updated: 2023-06-01 \n", + "## 1. Introduction\n", + "\n", + "This example demonstrates autothermal reformer optimization leveraging the PySMO Polynomial surrogate trainer. Other than the specific training method syntax, this workflow is identical for PySMO RBF and PySMO Kriging surrogate models. In this notebook, sampled simulation data will be used to train and validate a surrogate model. IDAES surrogate plotting tools will be utilized to visualize the surrogates on training and validation data. Once validated, integration of the surrogate into an IDAES flowsheet will be demonstrated." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2. Problem Statement \n", + "\n", + "Within the context of a larger NGFC system, the autothermal reformer generates syngas from air, steam and natural gas for use in a solid-oxide fuel cell (SOFC).\n", + "\n", + "## 2.1. Main Inputs: \n", + "- Bypass fraction (dimensionless) - split fraction of natural gas to bypass AR unit and feed directly to the power island\n", + "- NG-Steam Ratio (dimensionless) - proportion of natural relative to steam fed into AR unit operation\n", + "\n", + "## 2.2. Main Outputs:\n", + "- Steam flowrate (kg/s) - inlet steam fed to AR unit\n", + "- Reformer duty (kW) - required energy input to AR unit\n", + "- Composition (dimensionless) - outlet mole fractions of components (Ar, C2H6, C3H8, C4H10, CH4, CO, CO2, H2, H2O, N2, O2)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import Image\n", + "from pathlib import Path\n", + "\n", + "\n", + "def datafile_path(name):\n", + " return Path(\"..\") / name\n", + "\n", + "\n", + "Image(datafile_path(\"AR_PFD.png\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. Training and Validating Surrogates" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "First, let's import the required Python, Pyomo and IDAES modules:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# Import statements\n", + "import os\n", + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "# Import Pyomo libraries\n", + "from pyomo.environ import (\n", + " ConcreteModel,\n", + " SolverFactory,\n", + " value,\n", + " Var,\n", + " Constraint,\n", + " Set,\n", + " Objective,\n", + " maximize,\n", + ")\n", + "from pyomo.common.timing import TicTocTimer\n", + "\n", + "# Import IDAES libraries\n", + "from idaes.core.surrogate.sampling.data_utils import split_training_validation\n", + "from idaes.core.surrogate.pysmo_surrogate import PysmoPolyTrainer, PysmoSurrogate\n", + "from idaes.core.surrogate.plotting.sm_plotter import (\n", + " surrogate_scatter2D,\n", + " surrogate_parity,\n", + " surrogate_residual,\n", + ")\n", + "from idaes.core.surrogate.surrogate_block import SurrogateBlock\n", + "from idaes.core import FlowsheetBlock" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.1 Importing Training and Validation Datasets" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this section, we read the dataset from the CSV file located in this directory. 2800 data points were simulated from a rigorous IDAES NGFC flowsheet using a grid sampling method. For simplicity and to reduce training runtime, this example randomly selects 100 data points to use for training/validation. The data is separated using an 80/20 split into training and validation data using the IDAES `split_training_validation()` method." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# Import Auto-reformer training data\n", + "np.set_printoptions(precision=6, suppress=True)\n", + "\n", + "csv_data = pd.read_csv(datafile_path(\"reformer-data.csv\")) # 2800 data points\n", + "data = csv_data.sample(n=100) # randomly sample points for training/validation\n", + "input_data = data.iloc[:, :2]\n", + "output_data = data.iloc[:, 2:]\n", + "\n", + "# Define labels, and split training and validation data\n", + "# note that PySMO requires that labels are passed as string lists\n", + "input_labels = list(input_data.columns)\n", + "output_labels = list(output_data.columns)\n", + "\n", + "n_data = data[input_labels[0]].size\n", + "data_training, data_validation = split_training_validation(\n", + " data, 0.8, seed=n_data\n", + ") # seed=100" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.2 Training Surrogates with PySMO" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "IDAES builds a model class for each type of PySMO surrogate model. In this case, we will call and build the Polynomial Regression class. Regression settings can be directly passed as class arguments, as shown below. In this example, allowed basis terms span a 6th order polynomial as well as a variable product, and data is internally cross-validated using 10 iterations of 80/20 splits to ensure a robust surrogate fit. Note that PySMO uses cross-validation of training data to adjust model coefficients and ensure a more accurate fit, while we separate the validation dataset pre-training in order to visualize the surrogate fits.\n", + "\n", + "Finally, after training the model we save the results and model expressions to a folder which contains a serialized JSON file. Serializing the model in this fashion enables importing a previously trained set of surrogate models into external flowsheets. This feature will be used later." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "# capture long output (not required to use surrogate API)\n", + "from io import StringIO\n", + "import sys\n", + "\n", + "stream = StringIO()\n", + "oldstdout = sys.stdout\n", + "sys.stdout = stream\n", + "\n", + "# Create PySMO trainer object\n", + "trainer = PysmoPolyTrainer(\n", + " input_labels=input_labels,\n", + " output_labels=output_labels,\n", + " training_dataframe=data_training,\n", + ")\n", + "\n", + "# Set PySMO options\n", + "trainer.config.maximum_polynomial_order = 6\n", + "trainer.config.multinomials = True\n", + "trainer.config.training_split = 0.8\n", + "trainer.config.number_of_crossvalidations = 10\n", + "\n", + "# Train surrogate (calls PySMO through IDAES Python wrapper)\n", + "poly_train = trainer.train_surrogate()\n", + "\n", + "# create callable surrogate object\n", + "xmin, xmax = [0.1, 0.8], [0.8, 1.2]\n", + "input_bounds = {input_labels[i]: (xmin[i], xmax[i]) for i in range(len(input_labels))}\n", + "poly_surr = PysmoSurrogate(poly_train, input_labels, output_labels, input_bounds)\n", + "\n", + "# save model to JSON\n", + "model = poly_surr.save_to_file(\"pysmo_poly_surrogate.json\", overwrite=True)\n", + "\n", + "# revert back to normal output capture\n", + "sys.stdout = oldstdout\n", + "\n", + "# display first 50 lines and last 50 lines of output\n", + "celloutput = stream.getvalue().split(\"\\n\")\n", + "for line in celloutput[:50]:\n", + " print(line)\n", + "print(\".\")\n", + "print(\".\")\n", + "print(\".\")\n", + "for line in celloutput[-50:]:\n", + " print(line)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.3 Visualizing surrogates" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that the surrogate models have been trained, the models can be visualized through scatter, parity and residual plots to confirm their validity in the chosen domain. The training data will be visualized first to confirm the surrogates are fit the data, and then the validation data will be visualized to confirm the surrogates accurately predict new output values." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "# visualize with IDAES surrogate plotting tools\n", + "surrogate_scatter2D(poly_surr, data_training, filename=\"pysmo_poly_train_scatter2D.pdf\")\n", + "surrogate_parity(poly_surr, data_training, filename=\"pysmo_poly_train_parity.pdf\")\n", + "surrogate_residual(poly_surr, data_training, filename=\"pysmo_poly_train_residual.pdf\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.4 Model Validation" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "# visualize with IDAES surrogate plotting tools\n", + "surrogate_scatter2D(poly_surr, data_validation, filename=\"pysmo_poly_val_scatter2D.pdf\")\n", + "surrogate_parity(poly_surr, data_validation, filename=\"pysmo_poly_val_parity.pdf\")\n", + "surrogate_residual(poly_surr, data_validation, filename=\"pysmo_poly_val_residual.pdf\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 4. IDAES Flowsheet Integration" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.1 Build and Run IDAES Flowsheet" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we will build an IDAES flowsheet and import the surrogate model object. Each output variable has a unique PySMO model expression, and the surrogate expressions may be added to the model via an indexed Constraint() component." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "# create the IDAES model and flowsheet\n", + "m = ConcreteModel()\n", + "m.fs = FlowsheetBlock(dynamic=False)\n", + "\n", + "# create flowsheet input variables\n", + "m.fs.bypass_frac = Var(\n", + " initialize=0.80, bounds=[0.1, 0.8], doc=\"natural gas bypass fraction\"\n", + ")\n", + "m.fs.ng_steam_ratio = Var(\n", + " initialize=0.80, bounds=[0.8, 1.2], doc=\"natural gas to steam ratio\"\n", + ")\n", + "\n", + "# create flowsheet output variables\n", + "m.fs.steam_flowrate = Var(initialize=0.2, doc=\"steam flowrate\")\n", + "m.fs.reformer_duty = Var(initialize=10000, doc=\"reformer heat duty\")\n", + "m.fs.AR = Var(initialize=0, doc=\"AR fraction\")\n", + "m.fs.C2H6 = Var(initialize=0, doc=\"C2H6 fraction\")\n", + "m.fs.C3H8 = Var(initialize=0, doc=\"C3H8 fraction\")\n", + "m.fs.C4H10 = Var(initialize=0, doc=\"C4H10 fraction\")\n", + "m.fs.CH4 = Var(initialize=0, doc=\"CH4 fraction\")\n", + "m.fs.CO = Var(initialize=0, doc=\"CO fraction\")\n", + "m.fs.CO2 = Var(initialize=0, doc=\"CO2 fraction\")\n", + "m.fs.H2 = Var(initialize=0, doc=\"H2 fraction\")\n", + "m.fs.H2O = Var(initialize=0, doc=\"H2O fraction\")\n", + "m.fs.N2 = Var(initialize=0, doc=\"N2 fraction\")\n", + "m.fs.O2 = Var(initialize=0, doc=\"O2 fraction\")\n", + "\n", + "# create input and output variable object lists for flowsheet\n", + "inputs = [m.fs.bypass_frac, m.fs.ng_steam_ratio]\n", + "outputs = [\n", + " m.fs.steam_flowrate,\n", + " m.fs.reformer_duty,\n", + " m.fs.AR,\n", + " m.fs.C2H6,\n", + " m.fs.C4H10,\n", + " m.fs.C3H8,\n", + " m.fs.CH4,\n", + " m.fs.CO,\n", + " m.fs.CO2,\n", + " m.fs.H2,\n", + " m.fs.H2O,\n", + " m.fs.N2,\n", + " m.fs.O2,\n", + "]\n", + "\n", + "# create the Pyomo/IDAES block that corresponds to the surrogate\n", + "# PySMO\n", + "\n", + "# capture long output (not required to use surrogate API)\n", + "stream = StringIO()\n", + "oldstdout = sys.stdout\n", + "sys.stdout = stream\n", + "\n", + "surrogate = PysmoSurrogate.load_from_file(\"pysmo_poly_surrogate.json\")\n", + "m.fs.surrogate = SurrogateBlock(concrete=True)\n", + "m.fs.surrogate.build_model(surrogate, input_vars=inputs, output_vars=outputs)\n", + "\n", + "# revert back to normal output capture - don't need to print PySMO load output\n", + "sys.stdout = oldstdout\n", + "\n", + "# fix input values and solve flowsheet\n", + "m.fs.bypass_frac.fix(0.5)\n", + "m.fs.ng_steam_ratio.fix(1)\n", + "\n", + "solver = SolverFactory(\"ipopt\")\n", + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's print some model results:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Steam flowrate = \", value(m.fs.steam_flowrate))\n", + "print(\"Reformer duty = \", value(m.fs.reformer_duty))\n", + "print(\"Mole Fraction Ar = \", value(m.fs.AR))\n", + "print(\"Mole Fraction C2H6 = \", value(m.fs.C2H6))\n", + "print(\"Mole Fraction C3H8 = \", value(m.fs.C3H8))\n", + "print(\"Mole Fraction C4H10 = \", value(m.fs.C4H10))\n", + "print(\"Mole Fraction CH4 = \", value(m.fs.CH4))\n", + "print(\"Mole Fraction CO = \", value(m.fs.CO))\n", + "print(\"Mole Fraction CO2 = \", value(m.fs.CO2))\n", + "print(\"Mole Fraction H2 = \", value(m.fs.H2))\n", + "print(\"Mole Fraction H2O = \", value(m.fs.H2O))\n", + "print(\"Mole Fraction N2 = \", value(m.fs.N2))\n", + "print(\"Mole Fraction O2 = \", value(m.fs.O2))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.2 Optimizing the Autothermal Reformer\n", + "Extending this example, we will unfix the input variables and optimize hydrogen production. We will restrict nitrogen below 34 mol% of the product stream and leave all other variables unfixed.\n", + "\n", + "Above, variable values are called in reference to actual objects names; however, as shown below this may be done much more compactly by calling the list objects we created earlier." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "# unfix input values and add the objective/constraint to the model\n", + "m.fs.bypass_frac.unfix()\n", + "m.fs.ng_steam_ratio.unfix()\n", + "m.fs.obj = Objective(expr=m.fs.H2, sense=maximize)\n", + "m.fs.con = Constraint(expr=m.fs.N2 <= 0.34)\n", + "\n", + "# solve the model\n", + "tmr = TicTocTimer()\n", + "status = solver.solve(m, tee=True)\n", + "solve_time = tmr.toc(\"solve\")\n", + "\n", + "# print and check results\n", + "assert abs(value(m.fs.H2) - 0.33) <= 0.01\n", + "assert value(m.fs.N2 <= 0.4 + 1e-8)\n", + "print(\"Model status: \", status)\n", + "print(\"Solve time: \", solve_time)\n", + "for var in inputs:\n", + " print(var.name, \": \", value(var))\n", + "for var in outputs:\n", + " print(var.name, \": \", value(var))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.16" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_flowsheet_optimization_doc.ipynb b/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_flowsheet_optimization_doc.ipynb index b5eec52c..bda47608 100644 --- a/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_flowsheet_optimization_doc.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_flowsheet_optimization_doc.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -60,23 +61,7 @@ "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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n17721b4OqpF2wgAAAAAwLghFAYAjKzc2x4IDGNHoWjbdsq1a9fkqaeekr/6q7+Sv/3bv5XPfvaz8jd/8zfuv//4j/8on//85916//AP/yDPPvus+7Vu02g05MqVK2493e6v//qv3a+1nq1jfeELX3D3pfW13tWrV+Vzn/uc1Ot191/9nu77mWee8bZo0ue1bU888YTbJi2f+tSn5P/+3//rfs/Sr7XY42g7bNv+7u/+zj2m9k+/52+XHlOLPr+2ttZqn9bVr3VbS+sou73288knn5Snn37ara9t1K91u062X7rNX/zFX8jf//3fu8fTY2mf9F/lb5v/OLpve250zD796U+7fe30//7f/3OLbmPHQMtnPvMZt632XGpf7Lm0dDvd5i//8i/d9uhxtF/+4/i/1j7pedRt9F/dRr/Wdur+/deN0v7o83o+tZ6eQ22Xnn9tW9D42vOp42r3rf3R+jpu2mY/3daeT92/tl/H2o6BttO2R9mv9V/bNj0vdqx1O3ut2br6te2bHkv3b9ujRc+V7sfS+sq2VfejbdH967/2Z0D/tez1Ys+R/qvj6x8zfaz90f1r/c7j6FhofW2P/mt/brS9ytbXf+02ehytZ39mtI16DO2PHVvLjoceW8dM69mx0zbaa0XradFt9Vj6vB5P6+j4ar/1X73u/P2w9LEWfb3R617ra/u0bToO9vzo9/3b6tf2urT90fr2urF9ttvYduq1pvV0GzvO2latp0W303/916mOj702ta4dO399bZ+l22g/tK4eR7fTY+m/9jj+sdavdRt7XerxdFv9Wturx9Cx0zpKt1f6WPfvf/3Ua9VeA0rral/0X92HHkvr2TZpO+1jS+vqMbWuLdoera//6s+dHUPL9kH/tY91nOw46P71fNnjaF0teiz7OqDttD9f2nfdv15zlu7T1gcAANuPUBgAMLI+8anPBgayo1C0bTtB32R/4hOfkJ/7uZ+T7/3e75X/9J/+k3z7t3+7fNu3fZv84A/+oPzqr/5qK+Cyb7T1Tfejjz4qhw4dkuuuu86tq9vs27dP/ut//a8yOzvrhjeWHkPf3P/hH/6h/PRP/7S7zb/9t//Wrf/v/t2/kx/5kR+R//W//pcb7tj6So/3vve9T174whfKd33Xd8l//I//Ub7jO75Dvvu7v1ue97znye233+6GCn4aCiwvL8tP/uRP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", - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_3_0.png" - } - }, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "from IPython.display import Image\n", "from pathlib import Path\n", @@ -157,16 +142,7 @@ "cell_type": "code", "execution_count": 4, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\dkgun\\miniconda3\\envs\\idaes-examples-py311\\Lib\\site-packages\\numpy\\core\\fromnumeric.py:59: FutureWarning: 'DataFrame.swapaxes' is deprecated and will be removed in a future version. Please use 'DataFrame.transpose' instead.\n", - " return bound(*args, **kwds)\n" - ] - } - ], + "outputs": [], "source": [ "# Import Auto-reformer training data\n", "np.set_printoptions(precision=6, suppress=True)\n", @@ -209,216 +185,7 @@ "metadata": { "scrolled": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:19 [INFO] idaes.core.surrogate.pysmo_surrogate: Model for output Steam_Flow trained successfully\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:22 [INFO] idaes.core.surrogate.pysmo_surrogate: Model for output Reformer_Duty trained successfully\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:25 [INFO] idaes.core.surrogate.pysmo_surrogate: Model for output AR trained successfully\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Model for output C2H6 trained successfully\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:30 [INFO] idaes.core.surrogate.pysmo_surrogate: Model for output C3H8 trained successfully\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:33 [INFO] idaes.core.surrogate.pysmo_surrogate: Model for output C4H10 trained successfully\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:35 [INFO] idaes.core.surrogate.pysmo_surrogate: Model for output CH4 trained successfully\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:38 [INFO] idaes.core.surrogate.pysmo_surrogate: Model for output CO trained successfully\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:41 [INFO] idaes.core.surrogate.pysmo_surrogate: Model for output CO2 trained successfully\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:43 [INFO] idaes.core.surrogate.pysmo_surrogate: Model for output H2 trained successfully\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:47 [INFO] idaes.core.surrogate.pysmo_surrogate: Model for output H2O trained successfully\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:49 [INFO] idaes.core.surrogate.pysmo_surrogate: Model for output N2 trained successfully\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:22:52 [INFO] idaes.core.surrogate.pysmo_surrogate: Model for output O2 trained successfully\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; previous file will be overwritten.\n", - "\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "max_fraction_training_samples set at 0.5\n", - "Number of adaptive samples (no_adaptive_samples) set at 4\n", - "Maximum number of iterations (Max_iter) set at: 0\n", - "\n", - "Initial surrogate model is of order 4 with a cross-val error of 0.000000\n", - "Initial Regression Model Performance:\n", - "Order: 4 / MAE: 0.000000 / MSE: 0.000000 / R^2: 1.000000 / Adjusted R^2: 1.000000\n", - "\n", - "Polynomial regression generates a good surrogate model for the input data.\n", - "\n", - "-------------------------------------------------\n", - "-------------------------------------------------\n", - "Best solution found: \n", - "Order: 4 / MAE: 0.000000 / MSE: 0.000000 / R_sq: 1.000000 / Adjusted R^2: 1.000000\n", - "\n", - "------------------------------------------------------------\n", - "The final coefficients of the regression terms are: \n", - "\n", - "k | 0.0\n", - "(x_ 1 )^ 1 | 0.0\n", - "(x_ 2 )^ 1 | 1.21186\n", - "(x_ 1 )^ 2 | -0.0\n", - "(x_ 2 )^ 2 | 3e-06\n", - "(x_ 1 )^ 3 | 0.0\n", - "(x_ 2 )^ 3 | -2e-06\n", - "(x_ 1 )^ 4 | -0.0\n", - "(x_ 2 )^ 4 | 0.0\n", - "x_ 1 .x_ 2 | -1.211862\n", - "\n", - "Results saved in solution.pickle\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; previous file will be overwritten.\n", - "\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "max_fraction_training_samples set at 0.5\n", - "Number of adaptive samples (no_adaptive_samples) set at 4\n", - ".\n", - ".\n", - ".\n", - "k | 23.343737\n", - "(x_ 1 )^ 1 | -0.03395\n", - "(x_ 2 )^ 1 | -139.706887\n", - "(x_ 1 )^ 2 | -0.458656\n", - "(x_ 2 )^ 2 | 353.282249\n", - "(x_ 1 )^ 3 | 1.34249\n", - "(x_ 2 )^ 3 | -475.264806\n", - "(x_ 1 )^ 4 | -2.542639\n", - "(x_ 2 )^ 4 | 358.569677\n", - "(x_ 1 )^ 5 | 2.410967\n", - "(x_ 2 )^ 5 | -143.84727\n", - "(x_ 1 )^ 6 | -1.054685\n", - "(x_ 2 )^ 6 | 23.972175\n", - "x_ 1 .x_ 2 | 0.042895\n", - "\n", - "Results saved in solution.pickle\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; previous file will be overwritten.\n", - "\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "max_fraction_training_samples set at 0.5\n", - "Number of adaptive samples (no_adaptive_samples) set at 4\n", - "Maximum number of iterations (Max_iter) set at: 0\n", - "\n", - "Initial surrogate model is of order 1 with a cross-val error of 0.000000\n", - "Initial Regression Model Performance:\n", - "Order: 1 / MAE: 0.000000 / MSE: 0.000000 / R^2: -5233897914.466867 / Adjusted R^2: 0.000000\n", - "\n", - "Polynomial regression performs poorly for this dataset.\n", - "\n", - "-------------------------------------------------\n", - "-------------------------------------------------\n", - "Best solution found: \n", - "Order: 1 / MAE: 0.000000 / MSE: 0.000000 / R_sq: -5233897914.466867 / Adjusted R^2: 0.000000\n", - "\n", - "------------------------------------------------------------\n", - "The final coefficients of the regression terms are: \n", - "\n", - "k | -0.0\n", - "(x_ 1 )^ 1 | 0.0\n", - "(x_ 2 )^ 1 | 0.0\n", - "x_ 1 .x_ 2 | -0.0\n", - "\n", - "Results saved in solution.pickle\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\dkgun\\miniconda3\\envs\\idaes-examples-py311\\Lib\\site-packages\\idaes\\core\\surrogate\\pysmo\\polynomial_regression.py:1415: UserWarning: Polynomial regression generates poor fit for the dataset\n", - " warnings.warn(\n" - ] - } - ], + "outputs": [], "source": [ "# capture long output (not required to use surrogate API)\n", "from io import StringIO\n", @@ -486,918 +253,7 @@ "metadata": { "scrolled": false }, - "outputs": [ - { - "data": { - "image/png": "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SsydI6OLI4QOW2G4ISIisiI5T8yVK4YbIiIiC3OUiblyxXBDRERkYY4yMVeuGG6IiIisgMHFflihmIiIiBwKww0RERE5FIYbIiIicigMN0RERORQGG6IiIjIoXC1FBERkZMpLCx06GXqDDdEREROpLCwECtWrKjzuMTERNkGHA5LEREROZGaPTZqtR9ycyOhVvsZPE5O2HNDRETkpI4di6m1qWds7HF7N6veGG6IiIickFrtJwYbABAEF+zcOQhRUTk698GS0zwdhhsiIiInVFQUIAabaoLggqIiVa1wY+w8nWeffRYNGzas9bytgw/DDRERkRNSqQqhUGi0Ao5CoYFKVVTrWF3zdIqKAqBSFWoFoc8++0zv+9lygjLDDRERkRNSKkuQkPB1rTk3uoak7lfXPB19wceWE5QZboiIiJzIrVu3xD/Hxh5HVFQOiopUUKmKtMLIrVu3EBISonVuXfN0pDJBmUvBiYiInIhCodD1rFHHGZqnoy/41FxibgvsuSEiInIiSqVS/LOhnpb7j6tmaJ6OKROUrY09N0RERE7InJ6W6nk6CoUGALTm6VQHn/vpm6Bsbey5ISIickLm9rTom6dj7gRla2C4ISIickKmLAX38PDQeqxUlugMLYYmKNsSww0REZETMqWnJSAgAImJiTqXc6vVamzbtk3rurquUTMgWRPDDRERkZMypadFXwG+kJAQvcGnGisUExERkdUYO8RkSk+LVPaUqsZwQ0RE5EQMDTFVk9ImmOZguCEiInIycg4uxmCdGyIiInIoDDdERETkUCQRblauXInIyEh4eXmhc+fOOHLkiN5j165dix49eqBRo0Zo1KgR4uLiDB5PREREzsXu4Wbbtm1ISkrC7NmzcezYMbRv3x7x8fG4fv26zuMzMzMxbNgwHDhwAIcPH0Z4eDieeOIJXL161cYtJyIiIilSCIIg2LMBnTt3xqOPPooVK1YAADQaDcLDw/HKK69g+vTpdZ5fVVWFRo0aYcWKFXjhhRfqPL64uBhKpRJqtRr+/v71bj8RERFZnynf33btuamoqEBWVhbi4uLE51xcXBAXF4fDhw8bdY2ysjJUVlZCpVLpfL28vBzFxcVaP0REROS47BpuCgoKUFVVheDgYK3ng4ODkZ+fb9Q13nzzTYSGhmoFpPstXLgQSqVS/AkPD693u4mIiEi67D7npj4W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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_0.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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HIivvvoKTz/9tF0fr0WLFvj7779x69Yt6PV66PX6Mi0REREROHHiBBo1amT2GMePH0d2djZmz55tHK/y66+/2rWclnBxccFbb72F+Ph4DBw4EJ6enti/fz+efvppDB48GABgMBhw5swZtGjRwng/c3W+V/PmzbF//36Tbfv370eTJk3g6upq/8oQqQhbbog07oEHHsCgQYMwf/5847b+/fvjueeeQ//+/TFt2jT8/PPPyMjIwA8//ID169db/OXatWtXfPLJJ0hLS0NGRga2bduGt956C4899hh8fHwA3FnnZs+ePbh8+TKuX78OAHjzzTfx448/Ii4uDkeOHMHZs2fx1VdfGQcU16tXD3q9HgsWLMCFCxfw9ddfV9rVJZV//etfcHV1xaJFiwDcafXauXMnfvzxR5w8eRIvvvgisrKyTO4TGhpqfE6vX79utuXo1Vdfxe7duzF9+nScOXMGK1euxMKFC/Haa685pF5ESsZwQ0SYNm2ayResTqfD+vXrkZSUhG3btuHxxx9H06ZNMXz4cISEhGDfvn0WHTc6OhorV67EE088gebNm2Ps2LGIjo7Ghg0bTB47IyMDYWFhqF27NoA742R++OEHnDlzBp07d0Z4eDgmT56M4OBgAHe6yJKTk/HFF1+gRYsWmD17NubMmWPHZ8Ry1apVQ1xcHN5//30UFBTg7bffRkREBKKjo9G1a1fUqVMHffr0MbnPa6+9BldXV7Ro0QK1a9c2Ox4nIiICGzZswLp169CqVStMnjwZ06ZNMzsjjIhM6YQQwtmFICIiIrIXttwQERGRqjDcEJHN7p6qfe9l7969zi6eVS5evFhhfaydyk1EzsNuKSKyWUUn0Kxbty48PT0dWJqq+fvvv5GRkVHu7aGhoahWjRNMiZSA4YaIiIhUhd1SREREpCoMN0RERKQqDDdERESkKgw3REREpCoMN0RERKQqDDdERESkKgw3REREpCoMN0RERKQq/x/IveB0UW0DZgAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_1.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk0AAAHHCAYAAACiOWx7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABk+UlEQVR4nO3de1hU1f4/8PeADDdhFJCLioJo3m/gDS0rtdCQ8mjf1FIxNY8mFWKmHM00r1kqmiZdFK0kzcR+JaYhaR2V0lCOd0pDrSOoQAxeEhHW7w/P7BiYGWaGufN+Pc88x5m92LP2riPv1lr7s2RCCAEiIiIi0snJ2h0gIiIisgcMTURERER6YGgiIiIi0gNDExEREZEeGJqIiIiI9MDQRERERKQHhiYiIiIiPTA0EREREemBoYmIiIhIDwxNREQOZtOmTZDJZLh48aK1u0LkUBiaiMhgR48eRVxcHDp27AhPT0+0aNECzzzzDH755ZcabR955BHIZDLIZDI4OTnB29sbbdu2xdixY5GRkWHQ93799dd4+OGH4e/vDw8PD7Rq1QrPPPMM9uzZY6pLq2HJkiX48ssva3x++PBhzJ8/HyUlJWb77urmz58v3UuZTAYPDw906NABc+fORWlpqUm+IzU1FUlJSSY5F5GjYWgiIoO99dZb2LFjBwYOHIjVq1dj8uTJ+OGHHxAeHo5Tp07VaN+8eXN88skn+Pjjj/H222/jySefxOHDh/H4449j5MiRKC8vr/U733nnHTz55JOQyWRITEzEqlWrMGLECPz666/YunWrOS4TgO7QtGDBAouGJpX169fjk08+wcqVK9GuXTssXrwYgwcPhim2EmVoItKugbU7QET2JyEhAampqZDL5dJnI0eOROfOnbFs2TJ8+umnau0VCgXGjBmj9tmyZcvw8ssv47333kNISAjeeustrd937949LFy4EI899hi+/fbbGsevXbtWxyuyHbdv34aHh4fONk8//TT8/PwAAFOmTMGIESOQlpaGH3/8EZGRkZboJlG9xJEmIjJY37591QITALRp0wYdO3bE2bNn9TqHs7Mz1qxZgw4dOmDt2rVQKpVa2xYWFqK0tBT9+vXTeNzf31/t/Z07dzB//nw88MADcHNzQ1BQEIYPH44LFy5Ibd555x307dsXvr6+cHd3R0REBL744gu188hkMty6dQubN2+WpsTGjx+P+fPnY+bMmQCA0NBQ6VjVNUSffvopIiIi4O7uDh8fH4waNQq///672vkfeeQRdOrUCdnZ2ejfvz88PDzwr3/9S6/7V9WAAQMAAHl5eTrbvffee+jYsSNcXV3RtGlTTJs2TW2k7JFHHkF6ejouXbokXVNISIjB/SFyVBxpIiKTEELg6tWr6Nixo94/4+zsjNGjR+P111/HwYMHER0drbGdv78/3N3d8fXXX+Oll16Cj4+P1nNWVFRg6NChyMzMxKhRo/DKK6/gxo0byMjIwKlTpxAWFgYAWL16NZ588kk899xzuHv3LrZu3Yr/+7//w65du6R+fPLJJ5g0aRJ69eqFyZMnAwDCwsLg6emJX375BZ999hlWrVoljfo0adIEALB48WK8/vrreOaZZzBp0iRcv34d7777Lvr374/jx4+jUaNGUn+LioowZMgQjBo1CmPGjEFAQIDe909FFQZ9fX21tpk/fz4WLFiAQYMGYerUqcjNzcX69etx9OhRHDp0CC4uLpgzZw6USiX++OMPrFq1CgDQsGFDg/tD5LAEEZEJfPLJJwKA2LBhg9rnDz/8sOjYsaPWn9u5c6cAIFavXq3z/PPmzRMAhKenpxgyZIhYvHixyM7OrtFu48aNAoBYuXJljWOVlZXSn2/fvq127O7du6JTp05iwIABap97enqK2NjYGud6++23BQCRl5en9vnFixeFs7OzWLx4sdrnJ0+eFA0aNFD7/OGHHxYARHJystbrruqNN94QAERubq64fv26yMvLE++//75wdXUVAQEB4tatW0IIIVJSUtT6du3aNSGXy8Xjjz8uKioqpPOtXbtWABAbN26UPouOjhYtW7bUqz9E9Q2n54iozs6dO4dp06YhMjISsbGxBv2saiTjxo0bOtstWLAAqamp6N69O/bu3Ys5c+YgIiIC4eHhalOCO3bsgJ+fH1566aUa55DJZNKf3d3dpT//+eefUCqVeOihh3Ds2DGD+l9dWloaKisr8cwzz6CwsFB6BQYGok2bNti/f79ae1dXVzz//PMGfUfbtm3RpEkThIaG4p///Cdat26N9PR0rWuh9u3bh7t37yI+Ph5OTn//tf/CCy/A29sb6enphl8oUT3E6TkiqpOCggJER0dDoVDgiy++gLOzs0E/f/PmTQCAl5dXrW1Hjx6N0aNHo7S0FD/99BM2bdqE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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_2.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk0AAAHHCAYAAACiOWx7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABi6ElEQVR4nO3deVxUVf8H8M+ADJuAYayKgmga7pAaWlpuoyHmkz25lOKWaWIhZUqauWTaouKWtCnWI6XmUomPG7mkkhlq7paK2QJakINLIsL5/eFv7uPAADPDLPfOfN6vF6+aew93zpnBme8953vOUQkhBIiIiIioSi72rgARERGREjBoIiIiIjICgyYiIiIiIzBoIiIiIjICgyYiIiIiIzBoIiIiIjICgyYiIiIiIzBoIiIiIjICgyYiIiIiIzBoIiJyMOnp6VCpVLhw4YK9q0LkUBg0EZHJDh48iMTERDRv3hze3t5o0KABnnrqKfz0008Vyj7yyCNQqVRQqVRwcXGBr68vmjZtiiFDhmD79u0mPe/XX3+NLl26IDAwEF5eXmjUqBGeeuopbNmyxVJNq+DNN9/Exo0bKxzfv38/pk+fjitXrljtucubPn269FqqVCp4eXkhKioKU6dORVFRkUWeIyMjA6mpqRa5FpGjYdBERCZ76623sG7dOnTr1g0LFy7E6NGjsWfPHkRHR+P48eMVytevXx+ffvopPvnkE7zzzjvo27cv9u/fj549e2LAgAEoKSmp9jnfffdd9O3bFyqVCikpKViwYAH69++Pn3/+GZ9//rk1mgmg6qBpxowZNg2adJYtW4ZPP/0U8+fPR7NmzTB79mz06tULlthKlEETUeVq2bsCRKQ8ycnJyMjIgFqtlo4NGDAALVu2xNy5c/Gf//xHr7yfnx+eeeYZvWNz587FCy+8gPfeew/h4eF46623Kn2+27dvY9asWejRowe2bdtW4fzly5dr2CL5uHHjBry8vKos8+STT+Lee+8FAIwZMwb9+/fH+vXr8d133yE2NtYW1SRySuxpIiKTdezYUS9gAoAmTZqgefPmOHXqlFHXcHV1xaJFixAVFYUlS5ZAq9VWWvavv/5CUVEROnXqZPB8YGCg3uObN29i+vTpuO++++Dh4YGQkBA88cQTOHfunFTm3XffRceOHVG3bl14enoiJiYGX3zxhd51VCoVrl+/jpUrV0pDYsOGDcP06dMxceJEAEBERIR07u4cov/85z+IiYmBp6cn/P39MXDgQPz6669613/kkUfQokUL5OTkoHPnzvDy8sKrr75q1Ot3t65duwIAcnNzqyz33nvvoXnz5nB3d0doaCjGjRun11P2yCOPIDMzE7/88ovUpvDwcJPrQ+So2NNERBYhhMClS5fQvHlzo3/H1dUVgwYNwmuvvYa9e/ciLi7OYLnAwEB4enri66+/xvjx4+Hv71/pNUtLS9GnTx9kZWVh4MCBePHFF3H16lVs374dx48fR2RkJABg4cKF6Nu3L55++mncunULn3/+Of79739j06ZNUj0+/fRTjBo1Cu3bt8fo0aMBAJGRkfD29sZPP/2Ezz77DAsWLJB6fQICAgAAs2fPxmuvvYannnoKo0aNwp9//onFixejc+fOOHz4MOrUqSPVt6CgAL1798bAgQPxzDPPICgoyOjXT0cXDNatW7fSMtOnT8eMGTPQvXt3jB07FmfOnMGyZctw8OBB7Nu3D25ubpgyZQq0Wi1+++03LFiwAABQu3Ztk+tD5LAEEZEFfPrppwKA+Pjjj/WOd+nSRTRv3rzS39uwYYMAIBYuXFjl9adNmyYACG9vb9G7d28xe/ZskZOTU6Hc8uXLBQAxf/78CufKysqk/79x44beuVu3bokWLVqIrl276h339vYWCQkJFa71zjvvCAAiNzdX7/iFCxeEq6urmD17tt7xY8eOiVq1aukd79KliwAg0tLSKm333V5//XUBQJw5c0b8+eefIjc3V7z//vvC3d1dBAUFievXrwshhFixYoVe3S5fvizUarXo2bOnKC0tla63ZMkSAUAsX75cOhYXFycaNmxoVH2InA2H54ioxk6fPo1x48YhNjYWCQkJJv2urifj6tWrVZabMWMGMjIy0LZtW2zduhVTpkxBTEwMoqOj9YYE161bh3vvvRfjx4+vcA2VSiX9v6enp/T/f//9N7RaLR5++GEcOnTIpPqXt379epSVleGpp57CX3/9Jf0EBwejSZMm2Llzp155d3d3DB8+3KTnaNq0KQICAhAREYHnnnsOjRs3RmZmZqW5UDt27MCtW7eQlJQEF5f/few/++yz8PX1RWZmpukNJXJCHJ4johrJz89HXFwc/Pz88MUXX8DV1dWk37927RoAwMfHp9qygwYNwqBBg1BUVIQDBw4g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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_3.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAloAAAHHCAYAAABnS/bqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABnu0lEQVR4nO3deVxU5f4H8M+AbCKMLAqDohDiviCQCFm20EVTlFtdl0rRq1JdKYnU3LW0cEnFrUhT8ZameeWamZlG+uuW5Iq55hXDpWRQQAaEBGTO7w8vJwZmhhmYMzPA5/16zUvnzDNnnjOZfHye53wfmSAIAoiIiIjI5Gws3QEiIiKipopBi4iIiEgiDFpEREREEmHQIiIiIpIIgxYRERGRRBi0iIiIiCTCoEVEREQkEQYtIiIiIokwaBERERFJhEGLiIiQmpoKmUyGq1evWrorRE0KgxYRmcXx48cRHx+PHj16wNnZGR06dMCIESPw3//+t1bbxx9/HDKZDDKZDDY2NnB1dUWXLl0wZswYHDx40KjP/fLLLzFw4EC0bdsWLVu2xEMPPYQRI0Zg//79prq0Wt577z3s3r271vEjR45gwYIFKCwslOyza1qwYIH4XcpkMrRs2RLdu3fHnDlzUFRUZJLP2LZtG5KTk01yLqKmhkGLiMxiyZIl2LVrF5566imsWrUKcXFx+P777xEcHIxz587Vat++fXt88skn+Oc//4lly5Zh2LBhOHLkCP7yl79g5MiRqKioqPMz33//fQwbNgwymQwzZ87EypUr8dxzz+Hy5cvYvn27FJcJQH/Qevvtt80atKp8+OGH+OSTT7BixQp07doV7777LgYNGgRTbHfLoEWkWwtLd4CImofExERs27YN9vb24rGRI0eiV69eWLx4MT799FON9nK5HC+99JLGscWLF+P111/HBx98AD8/PyxZskTn592/fx8LFy7E008/jQMHDtR6/datWw28IutRWlqKli1b6m3z/PPPw9PTEwDwyiuv4LnnnkNaWhp++uknhIeHm6ObRM0SR7SIyCwiIiI0QhYABAYGokePHrh48aJB57C1tcXq1avRvXt3rF27FiqVSmfbvLw8FBUV4ZFHHtH6etu2bTWe37t3DwsWLEDnzp3h6OgIhUKBZ599FleuXBHbvP/++4iIiICHhwecnJwQEhKCf/3rXxrnkclkKCkp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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_4.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_5.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_6.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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WwwcOBAAUFFRAV9fX2zbtg3x8fFm1b28vBwajQY6nQ6+vr5NfSqIiIjIDsz9/HZYD1J1dTXy8vIMAombmxvi4+ORm5tr8j65ubl1AoxWq5XKFxYWoqioyKCMRqNBTEyMVMbf3x9dunTBu+++i8rKSly+fBlvvPEG2rZti+jo6Hrre/HiRZSXlxv8EBERkXNyWEA6d+4campqEBAQYLA9ICCg3lNdRUVFDZav/behMiqVCl9++SUKCgrg4+MDtVqNpUuXIjs7G9ddd1299U1LS4NGo5F+QkJCLGswERERKYbDB2nbmxACkyZNQtu2bfHdd99hz549SExMREJCAk6fPl3v/aZPnw6dTif9nDp1yo61JiIiIntyWEBq3bo13N3dUVxcbLC9uLgYgYGBJu8TGBjYYPnafxsq89VXX2Hz5s1Yu3Ytbr75ZkRFReG1116Dt7c31qxZU299vby84Ovra/BDREREzslhAcnT0xPR0dHIycmRtun1euTk5CA2NtbkfWJjYw3KA8C2bduk8mFhYQgMDDQoU15ejt27d0tlLly4AODKeKerubm5Qa/XN71hREREpHjNHPngqampGDt2LPr06YN+/fohPT0dlZWVGD9+PABgzJgxaNeuHdLS0gAAU6ZMQVxcHF5++WUMGTIEa9euxd69e/Hmm28CuDK+KCUlBc899xwiIiIQFhaG2bNnIzg4GImJiQCuhKzrrrsOY8eOxZw5c+Dt7Y233noLhYWFGDJkiEOeByIiIpIXhwakpKQknD17FnPmzEFRUREiIyORnZ0tDbI+efKkQU9P//79kZmZiVmzZmHGjBmIiIhAVlYWevToIZWZOnUqKisrMXHiRJSVlWHAgAHIzs6GWq0GcOXUXnZ2NmbOnInbbrsNly5dQvfu3fHpp5+iV69e9n0CiIiISJYcug6SknEdJCIiIuWR/TpIRERERHLFgERERERkhAGJiIiIyAgDEhEREZERBiQiIiIiIwxIREREREYYkIiIiIiMMCARERERGXHoStokTyUlJaiurq73dk9PT/j7+9uxRkRERPbFgEQGSkpKsGLFimuWS05OZkgiIiKnxVNsZMC450in80FhYSh0Op8GyxERETkT9iBRvfLze2PTpqEQwg0qlR4JCZsRFVXg6GoRERHZHHuQyCSdzkcKRwAghBs2bRpapyeJiIjIGTEgkUml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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_7.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_8.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_9.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAHHCAYAAACfqw0dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABpDUlEQVR4nO3de1xU1fo/8M8MMIAIgwNyUxQCvF9QVIQsUyk0RSnPCc2UzKJMSqJOZV47WZSmkql5tFIrTTPNo2aUof06KaGCWiqSGt5KUBkZEBOQWb8/+LJzYGZgRmaGy+f9es1LZu+1915rZ/G09rOfJRNCCBARERGRSeS27gARERFRU8QgioiIiMgMDKKIiIiIzMAgioiIiMgMDKKIiIiIzMAgioiIiMgMDKKIiIiIzMAgioiIiMgMDKKIiIiIzMAgioiomVu7di1kMhnOnj1r664QNSsMoojojh08eBCJiYno3r07XFxc0KFDBzzyyCP47bffarW97777IJPJIJPJIJfL4ebmhs6dO2PixInYvXu3SdfdsWMHBg8eDC8vL7Rq1Qp33XUXHnnkEaSlpTXU0Gp56623sG3btlrb9+/fj3nz5qGoqMhi165p3rx50r2UyWRo1aoVunXrhlmzZqG4uLhBrrFhwwakpqY2yLmImhsGUUR0x9555x1s2bIFw4YNw3vvvYeEhAT8+OOP6Nu3L44dO1arffv27fHpp5/ik08+wcKFCzF69Gjs378fDzzwAOLi4lBRUVHnNd99912MHj0aMpkMM2bMwJIlSzB27FicOnUKGzdutMQwARgPol5//XWrBlHVPvjgA3z66adYvHgxunTpgjfffBPDhw9HQyyNyiCKyDB7W3eAiJq+5ORkbNiwAQqFQtoWFxeHnj174u2338Znn32m016pVOKxxx7T2fb222/j+eefx4oVKxAQEIB33nnH4PVu3bqFN954A/fffz++++67WvsvX758hyNqPG7cuIFWrVoZbfOPf/wDnp6eAIBnnnkGY8eOxdatW/Hzzz8jIiLCGt0kapE4E0VEdywyMlIngAKAkJAQdO/eHTk5OfU6h52dHZYuXYpu3bph2bJl0Gg0BttevXoVxcXFuPvuu/Xu9/Ly0vl+8+ZNzJs3D506dYKTkxN8fX3x8MMP48yZM1Kbd999F5GRkfDw8ICzszPCwsLw5Zdf6pxHJpOhtLQU69atkx6hPf7445g3bx7+9a9/AQACAwOlfbfnIH322WcICwuDs7MzVCoVxo0bhwsXLuic/7777kOPHj2QlZWFe++9F61atcJrr71Wr/t3u6FDhwIA8vLyjLZbsWIFunfvDkdHR/j5+WHatGk6M2n33Xcfvv76a5w7d04aU0BAgMn9IWquOBNFRBYhhEBBQQG6d+9e72Ps7Owwfvx4zJ49Gz/99BNGjhypt52XlxecnZ2xY8cOPPfcc1CpVAbPWVlZiVGjRiE9PR3jxo3D9OnTUVJSgt27d+PYsWMICgoCALz33nsYPXo0JkyYgPLycmzcuBH//Oc/sXPnTqkfn376KZ588kkMGDAACQkJAICgoCC4uLjgt99+w+eff44lS5ZIs0Jt27YFALz55puYPXs2HnnkETz55JO4cuUK3n//fdx77704fPgw3N3dpf4WFhZixIgRGDduHB577DF4e3vX+/5Vqw4OPTw8DLaZN28eXn/9dURFRWHq1KnIzc3FBx98gIMHD2Lfvn1wcHDAzJkzodFocPHiRSxZsgQA0Lp1a5P7Q9RsCSIiC/j0008FAPHRRx/pbB88eLDo3r27weO++uorAUC89957Rs8/Z84cAUC4uLiIESNGiDfffFNkZWXVavfxxx8LAGLx4sW19mm1WunnGzdu6OwrLy8XPXr0EEOHDtXZ7uLiIuLj42uda+HChQKAyMvL09l+9uxZYWdnJ958802d7b/++quwt7fX2T548GABQKxcudLguG83d+5cAUDk5uaKK1euiLy8PPGf//xHODo6Cm9vb1FaWiqEEGLNmjU6fbt8+bJQKBTigQceEJWVldL5li1bJgCIjz/+WNo2cuRI0bFjx3r1h6il4eM8ImpwJ0+exLRp0xAREYH4+HiTjq2e6SgpKTHa7vXXX8eGDRvQp08ffPvtt5g5cybCwsLQt29fnUeIW7ZsgaenJ5577rla55DJZNLPzs7O0s/Xrl2DRqPBPffcg+zsbJP6X9PWrVuh1WrxyCOP4OrVq9LHx8cHISEh2Lt3r057R0dHTJ482aRrdO7cGW3btkVgYCCefvppBAcH4+uvvzaYS/X999+jvLwcSUlJkMv//jXw1FNPwc3NDV9//bXpAyVqgfg4j4gaVH5+PkaOHAmlUokvv/wSdnZ2Jh1//fp1AICrq2udbcePH4/x48ejuLgYmZmZWLt2LTZs2ICYmBgcO3YMTk5OOHPmDDp37gx7e+P/udu5cyfmz5+PI0eOoKysTNp+e6BljlOnTkEIgZCQEL37HRwcdL63a9euVn5ZXbZs2QI3Nzc4ODigffv20iNKQ86dOwegKvi6nUKhwF133SXtJyLjGEQRUYPRaDQYMWIEioqK8L///Q9+fn4mn6O6JEJwcHC9j3Fzc8P999+P+++/Hw4ODli3bh0yMzMxePDgeh3/v//9D6NHj8a9996LFStWwNfXFw4ODlizZg02bNhg8hhup9VqIZPJ8M033+gNKGvmGN0+I1Zf9957r5SHRUTWwyCKiBrEzZs3ERMTg99++w3ff/89unXrZvI5KisrsWHDBrRq1QqDBg0yqx/9+vXDunXrcOnSJQBVid+ZmZmoqKioNetTbcuWLXBycsK3334LR0dHafuaNWtqtTU0M2Voe1BQEIQQCAwMRKdOnUwdjkV07NgRAJCbm4u77rpL2l5eXo68vDxERUVJ2+50Jo6oOWNOFBHdscrKSsTFxSEjIwObN282qzZRZWUlnn/+eeTk5OD555+Hm5ubwbY3btxARkaG3n3ffPMNgL8fVY0dOxZXr17FsmXLarUV/1eM0s7ODjKZDJWVldK+s2fP6i2q6eLioregpouLCwDU2vfwww/Dzs4Or7/+eq3il0IIFBYW6h+kBUVFRUGhUGDp0qU6ffroo4+g0Wh03op0cXExWm6CqCXjTBQR3bEXX3wR27dvR0xMDNRqda3imjULa2o0GqnNjRs3cPr0aWzduhVnzpzBuHHj8MYbbxi93o0bNxAZGYmBAwdi+PDh8Pf3R1FREbZt24b//e9/iI2NRZ8+fQAAkyZNwieffILk5GQcOHAA99xzD0pLS/H999/j2WefxZgxYzBy5EgsXrwYw4cPx6OPPorLly9j+fLlCA4Oxi+//KJz7bCwMHz//fdYvHgx/Pz8EBgYiPDwcISFhQEAZs6ciXHjxsHBwQExMTEICgrC/PnzMWPGDJw9exaxsbFwdXVFXl4evvrqKyQkJOCll166o/tvqrZt22LGjBl4/fXXMXz4cIwePRq5ublYsWIF+vfvr/PPKywsDJs2bUJycjL69++P1q1bIyYmxqr9JWq0bPlqIBE1D9Wv5hv6GGvbunVrERISIh577DHx3Xff1et6FRUVYvXq1SI2NlZ07NhRODo6ilatWok+ffqIhQsXirKyMp32N27cEDNnzhSBgYHCwcFB+Pj4iH/84x/izJkzUpuPPvpIhISECEdHR9GlSxexZs0aqYTA7U6ePCnuvfde4ezsLADolDt44403RLt27YRcLq9V7mDLli1i0KBBwsXFRbi4uIguXbqIadOmidzcXJ17Y6z8Q03V/bty5YrRdjVLHFRbtmyZ6NKli3BwcBDe3t5i6tSp4tq1azptrl+/Lh599FHh7u4uALDcAdFtZEI0wOJKRERERC0Mc6KIiIiIzMAgioiIiMgMDKKIiIiIzMAgioiIiMgMDKKIiIiIzMAgioiIiMgMLLZpQVqtFn/++SdcXV25dAIREVETIYRASUkJ/Pz8IJcbnm9iEGVBf/75J/z9/W3dDSIiIjLDhQsX0L59e4P7GURZkKurK4CqfwjG1gEjIiKixqO4uBj+/v7S73FDGERZUPUjPDc3NwZRRERETUxdqThMLCciIiIyA4MoIiIiIjMwiCIiIiIyA3OibKyyshIVFRW27kaz5eDgADs7O1t3g4iImiEGUTYihEB+fj6Kiops3ZVmz93dHT4+PqzVRUREDYpBlI1UB1BeXl5o1aoVf8FbgBACN27cwOXLlwEAvr6+Nu4RERE1JwyibKCyslIKoDw8PGzdnWbN2dkZAHD58mV4eXnx0R4RETUYJpbbQHUOVKtWrWzck5ah+j4z94yIiBoSgygb4iM86+B9JiIiS+DjPCIiImoSCgsLUV5ebnC/QqGwapoMgygiIiJq9AoLC7Fs2bI62yUmJlotkOLjPDLJ448/DplMBplMBgcHB3h7e+P+++/Hxx9/DK1WW+/zrF27Fu7u7pbrKBERNSs1Z6A0Glfk5QVAo3E12s6SOBPVRNlySnP48OFYs2YNKisrUVBQgLS0NEyfPh1ffvkltm/fDnt7/rUiIiLLyc7ugx07RkEIOWQyLWJidqJv38NW7wd/2zVBtp7SdHR0hI+PDwCgXbt26Nu3LwYOHIhhw4Zh7dq1ePLJJ7F48WKsWbMGv//+O1QqFWJiYrBgwQK0bt0aP/zwAyZPngzg76TvuXPnYt68efj000/x3nvvITc3Fy4uLhg6dChSU1Ph5eXV4OMgIqKmR6NxlQIoABBCjh07RiEo6DSUyhKr9oWP85qg+k5VWnNKc+jQoejduze2bt0KAJDL5Vi6dCmOHz+OdevWYc+ePXj55ZcBAJGRkUhNTYWbmxsuXbqES5cu4aWXXgJQVYbgjTfewNGjR7Ft2zacPXsWjz/+uNXGQUREjZta7SEFUNWEkEOtVlm9L5yJogbTpUsX/PLLLwCApKQkaXtAQADmz5+PZ555BitWrIBCoYBSqYRMJpNmtKo98cQT0s933XUXli5div79++P69eto3bq1VcZBRESNl0pVCJlMqxNIyWRaqFRqq/eFM1HUYIQQ0uO577//HsOGDUO7du3g6uqKiRMnorCwEDdu3DB6jqysLMTExKBDhw5wdXXF4MGDAQDnz5+3eP+JiKjxUypLEBOzEzJZ1ctM1TlR1n6UB3AmihpQTk4OAgMDcfbsWYwaNQpTp07Fm2++CZVKhZ9++glTpkxBeXm5wUrtpaWliI6ORnR0NNavX4+2bdvi/PnziI6OtuqjSSIiatz69j2MoKDTUKtVUKnUNgmgAAZR1ED27NmDX3/9FS+88AKysrKg1WqxaNEiyOVVk51ffPGFTnuFQoHKykqdbSdPnkRhYSHefvtt+Pv7AwAOHTpknQEQEVGjplAodL4rlSV6g6ea7SyJQRSZrKysDPn5+TolDlJSUjBq1ChMmjQJx44dQ0VFBd5//33ExMRg3759WLlypc45AgICcP36daSnp6N3795o1aoVOnToAIVCgffffx/PPPMMjh07hjfeeMNGoyQiosbEw8MDiYmJjapiOXOiyGRpaWnw9fVFQEAAhg8fjr1792Lp0qX473//Czs7O/Tu3RuLFy/GO++8gx49emD9+vVISUnROUdkZCSeeeYZxMXFoW3btliwYAHatm2LtWvXYvPmzejWrRvefvttvPvuuzYaJRERNTYeHh7w9fU1+LFmAAUAMiGEsOoVW5Di4mIolUpoNBq4ublJ22/evIm8vDwEBgbCycnJ5PPauk5UU3On95uIiKynMayPZ+j3d018nNcENcYpTSIiojvV1CYJGEQ1UY3hLw8REVFD0rc+nlrtAZWqUCeJvLG8sc0gioiIiBqdxrI+njFMLCciIqJGxdD6eBqNq417potBFBERETUqjWl9PGMYRBEREVGjUr0+3u1stT6eMQyiiIiIqFFpTOvjGcPEciIiImp0Gsv6eMbYfCZq+fLlCAgIgJOTE8LDw3HgwAGj7Tdv3owuXbrAyckJPXv2xK5du3T2CyEwZ84c+Pr6wtnZGVFRUTh16pROmzfffBORkZFo1aoV3N3djV6vsLAQ7du3h0wmQ1FRkTlDJCIionrQtz5eYOC5WgGUNdfHM8amM1GbNm1CcnIyVq5cifDwcKSmpiI6Ohq5ubnw8vKq1X7//v0YP368tE7bhg0bEBsbi+zsbPTo0QMAsGDBAixduhTr1q1DYGAgZs+ejejoaJw4cUKqVl1eXo5//vOfiIiIwEcffWS0j1OmTEGvXr3wxx9/NPwNoFp++OEHDBkyBNeuXaszwK0WEBCApKQkJCUlWbRvRERkWU2umLSwoQEDBohp06ZJ3ysrK4Wfn59ISUnR2/6RRx4RI0eO1NkWHh4unn76aSGEEFqtVvj4+IiFCxdK+4uKioSjo6P4/PPPa51vzZo1QqlUGuzfihUrxODBg0V6eroAIK5du2bC6ITQaDQCgNBoNDrb//rrL3HixAnx119/mXS+xiA+Pl4AkO757Z599lkBQMTHx5t9/r1795p8rzt27CiWLFlicH9Tvt9ERGR9hn5/12Szx3nl5eXIyspCVFSUtE0ulyMqKgoZGRl6j8nIyNBpDwDR0dFS+7y8POTn5+u0USqVCA8PN3hOQ06cOIF///vf+OSTTyCX1+82lZWVobi4WOfTHPn7+2Pjxo3466+/pG03b97Ehg0b0KFDBxv2jIiIyHpsFkRdvXoVlZWV8Pb21tnu7e2N/Px8vcfk5+cbbV/9pynn1KesrAzjx4/HwoULTQoKUlJSoFQqpY+/v3+9j21K+vbtC39/f2zdulXatnXrVnTo0AF9+vSRtpWVleH555+Hl5cXnJycMGjQIBw8eFDnXLt27UKnTp3g7OyMIUOG4OzZs7Wu99NPP+Gee+6Bs7Mz/P398fzzz6O0tNRi4yMiIqoPmyeWN0YzZsxA165d8dhjj5l8nEajkT4XLlywUA91XbwI7N1b9ae1PPHEE1izZo30/eOPP8bkyZN12rz88svYsmUL1q1bh+zsbAQHByM6OhpqdVWdjwsXLuDhhx9GTEwMjhw5gieffBKvvvqqzjnOnDmD4cOHY+zYsfjll1+wadMm/PTTT0hMTLT8IImIiIywWRDl6ekJOzs7FBQU6GwvKCiAj4+P3mN8fHyMtq/+05Rz6rNnzx5s3rwZ9vb2sLe3x7Bhw6Q+z5071+Bxjo6OcHNz0/lY2kcfAR07AkOHVv1ZR558g3nsscfw008/4dy5czh37hz27dunE3SWlpbigw8+wMKFCzFixAh069YNq1evhrOzs5TM/8EHHyAoKAiLFi1C586dMWHCBDz++OM610lJScGECROQlJSEkJAQREZGYunSpfjkk09w8+ZN6wyWiIhID5sFUQqFAmFhYUhPT5e2abVapKenIyIiQu8xEREROu0BYPfu3VL7wMBA+Pj46LQpLi5GZmamwXPqs2XLFhw9ehRHjhzBkSNH8OGHHwIA/ve//2HatGn1Po+lXbwIJCQA2v8r6qrVAk8/bZ0ZqbZt22LkyJFYu3Yt1qxZg5EjR8LT01Paf+bMGVRUVODuu++Wtjk4OGDAgAHIyckBAOTk5CA8PFznvDX/OR09ehRr165F69atpU90dDS0Wi3y8vIsOEIiIiLjbFriIDk5GfHx8ejXrx8GDBiA1NRUlJaWSo+FJk2ahHbt2iElJQUAMH36dAwePBiLFi3CyJEjsXHjRhw6dAirVq0CAMhkMiQlJWH+/PkICQmRShz4+fkhNjZWuu758+ehVqtx/vx5VFZW4siRIwCA4OBgtG7dGkFBQTr9vHr1KgCga9eu9X7t3hpOnfo7gKpWWQmcPg20b2/56z/xxBPSY7Xly5db5BrXr1/H008/jeeff77WPiaxExGRLdk0iIqLi8OVK1cwZ84c5OfnIzQ0FGlpaVJi+Pnz53XejIuMjMSGDRswa9YsvPbaawgJCcG2bdukGlFAVR5OaWkpEhISUFRUhEGDBiEtLU2qEQUAc+bMwbp166Tv1cnQe/fuxX333WfhUTeckBBALtcNpOzsgOBg61x/+PDhKC8vh0wmQ3R0tM6+oKAgKBQK7Nu3Dx07dgQAVFRU4ODBg1I9p65du2L79u06x/3888863/v27YsTJ04g2FqDIiIiqi8rlVxokaxRJ+rDD4WwsxMCqPrzww/v+JRGxcfHizFjxkjfNRqNzvjGjBkj1YmaPn268PPzE9988404fvy4iI+PF23atBFqtVoIIcS5c+eEQqEQL730kjh58qRYv3698PHx0akTdfToUeHs7CymTZsmDh8+LH777Texbds2nfpirBNFREQNqb51orh2XhM3ZQoQHV31CC842DqP8W5nLHn+7bffhlarxcSJE1FSUoJ+/frh22+/RZs2bQBUPY7bsmULXnjhBbz//vsYMGAA3nrrLTzxxBPSOXr16oX/9//+H2bOnIl77rkHQggEBQUhLi7O4mMjIiLLKSwsbDqVyQ2QCSGErTvRXBUXF0OpVEKj0egEGzdv3kReXh4CAwN1HjOSZfB+ExHZhqFASaPRYNOmTbd9d4Va7QGVqlBnnbzExESbBFKGfn/XxJkoIiIianCFhYVYtmxZne2ys/tgx45REEIOmUyLmJid6Nv3MAAYnalqDFhsk4iIiBpczQBIo3FFXl4ANBpXnW3VARQACCHHjh2jdNo0ZpyJIiIiogan0Wiknw3NNqnVHqi5jK8QcqjVKp3Heo0VZ6KIiIiowVVUVAAwPtukUhVCJtMteCiTaaFSqa3eX3MwiLIh5vRbB+8zEZHt1DXbFBOzUwqkqmepmsIsFMDHeTbh4OAAALhx4wacnZ1t3Jvm78aNGwD+vu9ERGQ9Dg5lAAQA2W1bBRwcqnKm+vY9jKCg01CrVVCp1E0mgAIYRNmEnZ0d3N3dcfnyZQBAq1atIJPJ6jiKTCWEwI0bN3D58mW4u7vDzs7O1l0iImpxKiocoRtAAYAMFRUK6ZtSWdKkgqdqDKJsxMfHBwCkQIosx93dXbrfRERkXdV5T7c/0qtv3pNCoaizjS0xiLIRmUwGX19feHl5Scl31PAcHBw4A0VEZAP29lUhRnXeU82386pnnu6//34EBgbWOr4pVCxnEGVjdnZ2/CVPRETNjru7u/SzsbynwMBA+Pr62qCHd45BFBERETW4mo/iDOU9NfZHdsYwiCIiIqIG5+HhgcTExCa/yLAxDKKIiIjIIppygFQfLLZJREREZAYGUURERERmYBBFREREZAYGUURERERmYBBFREREZAa+nUdERER3pLCwsFmXMjCEQRQRERGZrbCwEMuWLauzXWJiYrMLpPg4j4iIiMxWcwZKo3FFXl4ANBpXo+2aA85EERERUYPIzu5Ta6Hhvn0P27pbFsOZKCIiIrpjGo2rFEABgBBy7NgxqtaMVHPCIIqIiIjumFrtIQVQ1YSQQ61W2ahHlscgioiIiO6YSlUImUyrs00m00KlUtuoR5bHIIqIiIjumFJZgpiYnVIgVZ0TpVSW2LhnlsPEciIiImoQffseRlDQaajVKqhU6mYdQAEMooiIiOgOKBQKne9KZYne4Klmu+aAQRQRERGZzcPDA4mJiaxYTkRERGSq5hgg1QcTy4mIiIjMwCCKiIiIyAwMooiIiIjMwCCKiIiIyAw2D6KWL1+OgIAAODk5ITw8HAcOHDDafvPmzejSpQucnJzQs2dP7Nq1S2e/EAJz5syBr68vnJ2dERUVhVOnTum0efPNNxEZGYlWrVrB3d291jWOHj2K8ePHw9/fH87OzujatSvee++9Ox4rERERNR82DaI2bdqE5ORkzJ07F9nZ2ejduzeio6Nx+fJlve3379+P8ePHY8qUKTh8+DBiY2MRGxuLY8eOSW0WLFiApUuXYuXKlcjMzISLiwuio6Nx8+ZNqU15eTn++c9/YurUqXqvk5WVBS8vL3z22Wc4fvw4Zs6ciRkzZmDZsmUNewOIiIioyZIJIYStLh4eHo7+/ftLwYlWq4W/vz+ee+45vPrqq7Xax8XFobS0FDt37pS2DRw4EKGhoVi5ciWEEPDz88OLL76Il156CQCg0Wjg7e2NtWvXYty4cTrnW7t2LZKSklBUVFRnX6dNm4acnBzs2bOn3uMrLi6GUqmERqOBm5tbvY8jIiIi26nv72+bzUSVl5cjKysLUVFRf3dGLkdUVBQyMjL0HpORkaHTHgCio6Ol9nl5ecjPz9dpo1QqER4ebvCc9aXRaKBSGV+JuqysDMXFxTofIiKipqSwsBCXLl0y+CksLLR1FxsNmxXbvHr1KiorK+Ht7a2z3dvbGydPntR7TH5+vt72+fn50v7qbYbamGP//v3YtGkTvv76a6PtUlJS8Prrr5t9HSIiIlsqLCysV+pKYmJiiy2weTubJ5Y3dseOHcOYMWMwd+5cPPDAA0bbzpgxAxqNRvpcuHDBSr0kIiK6czWXbtFoXJGXFwCNxtVou5bKZjNRnp6esLOzQ0FBgc72goIC+Pj46D3Gx8fHaPvqPwsKCuDr66vTJjQ01OQ+njhxAsOGDUNCQgJmzZpVZ3tHR0c4OjqafB0iIqLGJju7D3bsGAUh5JDJtIiJ2Ym+fQ/buluNis1mohQKBcLCwpCeni5t02q1SE9PR0REhN5jIiIidNoDwO7du6X2gYGB8PHx0WlTXFyMzMxMg+c05Pjx4xgyZAji4+Px5ptvmnQsERFRU6bRuEoBFAAIIceOHaNqzUi1dDZdgDg5ORnx8fHo168fBgwYgNTUVJSWlmLy5MkAgEmTJqFdu3ZISUkBAEyfPh2DBw/GokWLMHLkSGzcuBGHDh3CqlWrAAAymQxJSUmYP38+QkJCEBgYiNmzZ8PPzw+xsbHSdc+fPw+1Wo3z58+jsrISR44cAQAEBwejdevWOHbsGIYOHYro6GgkJydL+VR2dnZo27at9W4QERGRDajVHlIAVU0IOdRqFZTKEhv1qvGxaRAVFxeHK1euYM6cOcjPz0doaCjS0tKkxPDz589DLv/7H2JkZCQ2bNiAWbNm4bXXXkNISAi2bduGHj16SG1efvlllJaWIiEhAUVFRRg0aBDS0tLg5OQktZkzZw7WrVsnfe/Tpw8AYO/evbjvvvvw5Zdf4sqVK/jss8/w2WefSe06duyIs2fPWup2EBERNQoqVSFkMq1OICWTaaFSqW3Yq8bHpnWimjvWiSIioqbk0qVL0tMdYzlRCQkJOrnHzU19f3/bdCaKiIiIGqe+fQ8jKOg01GoVVCo1H+PpwSCKiIiIAFS99HU7pbJEb/BUs11LxSCKiIiohSksLDRY6ykuLg5CCLi7u+vdr1AoWGjz/zCIIiIiakFYlbzhsGI5ERFRC8Kq5A2HM1FEREQtFKuS3xnORBEREbVArEp+5xhEERERtUDGqpJT/TCIIiIiaoGqq5LfjlXJTcMgioiIqAVSKksQE7NTCqSqc6JYVLP+mFhORETUQrEq+Z1hEEVERNRM6SuqWVRUpPOdVcnNxyCKiIioGapvUc24uDgolUqdbaxKXj8MooiIiJohfUU11WoPqFSFOjNPSqUSvr6+1u5es8AgioiIqJljUU3L4Nt5REREzRiLaloOZ6KIiIiaMH3J4wBw9epVAMaLavJtvDvDIIqIiKiJqk/yeHVRzdsDKRbVbBh8nEdERNRE6Usez8sL0HlUx6KalsOZKCIiombAWPI4i2paBmeiiIiImrj6JI8rlSUIDDxXK4BiUU3zcSaKiIioiasrefzhhx+Gp6dnreNYVPPOMIgiIiJq4upKHvf09GRBTQvg4zwiIqImjsnjtsGZKCIiomaAyePWxyCKiIioiaqZFK5UlugNnpg8bhkMooiIiJooDw8PJCYm6q1YXo3J45bDIIqIiKgJY4BkO0wsJyIiIjIDgygiIiIiMzCIIiIiIjIDgygiIiIiMzCIIiIiIjIDgygiIiIiMzCIIiIiIjIDgygiIiIiMzCIIiIiIjKDzYOo5cuXIyAgAE5OTggPD8eBAweMtt+8eTO6dOkCJycn9OzZE7t27dLZL4TAnDlz4OvrC2dnZ0RFReHUqVM6bd58801ERkaiVatWcHd313ud8+fPY+TIkWjVqhW8vLzwr3/9C7du3bqjsRIREVHzYdMgatOmTUhOTsbcuXORnZ2N3r17Izo6GpcvX9bbfv/+/Rg/fjymTJmCw4cPIzY2FrGxsTh27JjUZsGCBVi6dClWrlyJzMxMuLi4IDo6Gjdv3pTalJeX45///CemTp2q9zqVlZUYOXIkysvLsX//fqxbtw5r167FnDlzGvYGEBERUdMlbGjAgAFi2rRp0vfKykrh5+cnUlJS9LZ/5JFHxMiRI3W2hYeHi6effloIIYRWqxU+Pj5i4cKF0v6ioiLh6OgoPv/881rnW7NmjVAqlbW279q1S8jlcpGfny9t++CDD4Sbm5soKyur9/g0Go0AIDQaTb2PISIiItuq7+9vm81ElZeXIysrC1FRUdI2uVyOqKgoZGRk6D0mIyNDpz0AREdHS+3z8vKQn5+v00apVCI8PNzgOQ1dp2fPnvD29ta5TnFxMY4fP27wuLKyMhQXF+t8iIiIqHmyWRB19epVVFZW6gQqAODt7Y38/Hy9x+Tn5xttX/2nKec05Tq3X0OflJQUKJVK6ePv71/vaxIREVHTYvPE8uZkxowZ0Gg00ufChQu27hIRERFZiM2CKE9PT9jZ2aGgoEBne0FBAXx8fPQe4+PjY7R99Z+mnNOU69x+DX0cHR3h5uam8yEiIqLmyWZBlEKhQFhYGNLT06VtWq0W6enpiIiI0HtMRESETnsA2L17t9Q+MDAQPj4+Om2Ki4uRmZlp8JyGrvPrr7/qvCW4e/duuLm5oVu3bvU+DxERETVf9ra8eHJyMuLj49GvXz8MGDAAqampKC0txeTJkwEAkyZNQrt27ZCSkgIAmD59OgYPHoxFixZh5MiR2LhxIw4dOoRVq1YBAGQyGZKSkjB//nyEhIQgMDAQs2fPhp+fH2JjY6Xrnj9/Hmq1GufPn0dlZSWOHDkCAAgODkbr1q3xwAMPoFu3bpg4cSIWLFiA/Px8zJo1C9OmTYOjo6NV7xERERE1UlZ6W9Cg999/X3To0EEoFAoxYMAA8fPPP0v7Bg8eLOLj43Xaf/HFF6JTp05CoVCI7t27i6+//lpnv1arFbNnzxbe3t7C0dFRDBs2TOTm5uq0iY+PFwBqffbu3Su1OXv2rBgxYoRwdnYWnp6e4sUXXxQVFRUmjY0lDoiIiJqe+v7+lgkhhA1juGatuLgYSqUSGo2G+VFERERNRH1/f/PtPCIiIiIzMIgiIiIiMgODKCIiIiIzMIgiIiIiMgODKCIiIiIzMIgiIiIiMgODKCIiIiIzMIgiIiIiMoNNl30hIiJqygoLC1FeXm5wv0KhgIeHhxV7RNbEIIqIiMgMhYWFWLZsWZ3tEhMTGUg1U3ycR0REZIaaM1AajSvy8gKg0bgabUfNB2eiiIiI7lB2dh/s2DEKQsghk2kRE7MTffsetnW3yMI4E0VERHQHNBpXKYACACHk2LFjVK0ZKWp+GEQRERHdAbXaQwqgqgkhh1qtslGPyFoYRBEREd0BlaoQMplWZ5tMpoVKpbZRj8hamBNFRERUB32lDK5evQoAUCpLEBOzs1ZOlFJZYouukhUxiCIiIjKiPqUM+vY9jKCg01CrVVCp1AygWggGUUREREboK2WgVntApSrUCZaUyhK9wZNCobB4H8k2GEQREREZodFopJ+NlTK4//77ERgYqHMsK5Y3bwyiiIiIjFCrqxLEDZUyCAo6Lc1A+fr62qyfZH18O4+IiMiIW7duAai7lEF1O2o5GEQREREZcePGDQCAg0MZAFFjr4CDQ7lOO2o5GEQREREZUVlZCQAoKmoDQFZjrwxFRe467ajlYE4UERER9NeCAoDS0lIb9IaaAgZRRETU4tWnFpS7+zVUPc67fTZKwN29CABgZ2dnqe5RI2VWEHXgwAFkZGQgPz8fAODj44OIiAgMGDCgQTtHRERkDfWpBVVR4Qh9j/MqKqrqQLVq1coKPaXGxKQg6vLlyxg7diz27duHDh06wNvbGwBQUFCAF154AXfffTe2bNkCLy8vi3SWiIjI0gzVgqpeI+/2N/RuXyNP36NAat5MSix/9tlnUVlZiZycHJw9exaZmZnIzMzE2bNnkZOTA61Wi2nTplmqr0RERBZlqBaURuMqrZEHVC82rLtGHmeiWh6TZqK+/fZb/Pjjj+jcuXOtfZ07d8bSpUtx3333NVTfiIiIrKK6KrmxWlDVwZJMBghR9eftXF1drdJXajxMmolydHREcXGxwf0lJSVwdHS8404RERFZU0VFBQBIj+xuV/3IztgsFQDY2/NdrZbGpCAqLi4O8fHx+Oqrr3SCqeLiYnz11VeYPHkyxo8f3+CdJCIisgalsgS9ev2Cv4tqCvTq9QuUypI6K5a7u7tbta9keyaFzYsXL4ZWq8W4ceNw69YtaWXq8vJy2NvbY8qUKXj33Xct0lEiIqKGoK8e1LVr1wBU5UT98ksv/P0Wngy//NILQ4fuqTOxnFoek4IoR0dHfPDBB3jnnXeQlZWlU+IgLCwMbm5uFukkERFRQ6irHpSx2abAwHOIidlZ68296lwpannMeoDr5uaGIUOGNHRfiIiILKquelB1zTb17XsYQUGnoVaroFKpGUC1cA2aBVdQUID//Oc/mDNnTkOeloiIqMEZqgdV12yTUlmiN3iqTnGhlqNBg6j8/Hy8/vrrDKKIiKhRM/SmXVDQaaOzTQ8//DA8PT1rnU+hUMDDw8Nq/afGwaS383755Rejn9zcXJM7sHz5cgQEBMDJyQnh4eE4cOCA0fabN29Gly5d4OTkhJ49e2LXrl06+4UQmDNnDnx9feHs7IyoqCicOnVKp41arcaECRPg5uYGd3d3TJkyBdevX9dp8+2332LgwIFwdXVF27ZtMXbsWJw9e9bk8RERUeNT15t2SmUJAgPP1Zpx8vPzg6+vb60PA6iWyaSZqNDQUMhkMgghau2r3i6rWX3MiE2bNiE5ORkrV65EeHg4UlNTER0djdzcXL1Lx+zfvx/jx49HSkoKRo0ahQ0bNiA2NhbZ2dno0aMHAGDBggVYunQp1q1bh8DAQMyePRvR0dE4ceIEnJycAAATJkzApUuXsHv3blRUVGDy5MlISEjAhg0bAAB5eXkYM2YMkpOTsX79emg0Grzwwgt4+OGHkZ2dbcotIyKiRqiu3Cd9M06cbaKaZEJfRGSAp6cnFixYgGHDhundf/z4ccTExKCysrJe5wsPD0f//v2lNyW0Wi38/f3x3HPP4dVXX63VPi4uDqWlpdi5c6e0beDAgQgNDcXKlSshhICfnx9efPFFvPTSSwCqqtB6e3tj7dq1GDduHHJyctCtWzccPHgQ/fr1AwCkpaXhwQcfxMWLF+Hn54cvv/wS48ePR1lZGeTyqn/BduzYgTFjxqCsrAwODg71Gl9xcTGUSiU0Gg3fXCQiagQuXbqEVatWATCcEwUACQkJ8PX1tWVXyYbq+/vbpJmosLAw/Pnnn+jYsaPe/UVFRXpnqfQpLy9HVlYWZsyYIW2Ty+WIiopCRkaG3mMyMjKQnJyssy06Ohrbtm0DUDWDlJ+fj6ioKGm/UqlEeHg4MjIyMG7cOGRkZMDd3V0KoAAgKioKcrkcmZmZeOihhxAWFga5XI41a9bg8ccfx/Xr1/Hpp58iKirKaABVVlaGsrIy6bux6u5ERGRbfNOO7pRJOVHPPPMMAgICDO7v0KED1qxZU69zXb16FZWVlfD29tbZ7u3tLdWfqik/P99o++o/62pT81Ghvb09VCqV1CYwMBDfffcdXnvtNTg6OsLd3R0XL17EF198YXRMKSkpUCqV0sff399oeyIisq6ab9AZyn3im3ZUHybNRD300ENG97dp0wbx8fF31KHGID8/H0899RTi4+Mxfvx4lJSUYM6cOfjHP/6B3bt3G8z7mjFjhs5MWXFxMQMpIqJGxMPDA4mJibXqRd2OuU9UXzZbLdHT0xN2dnYoKCjQ2V5QUAAfHx+9x/j4+BhtX/1nQUGBzrPsgoIChIaGSm0uX76sc45bt25BrVZLxy9fvhxKpRILFiyQ2nz22Wfw9/dHZmYmBg4cqLd/jo6OXICZiKiRY4BEDcWkIKpmPpIhixcvrrONQqFAWFgY0tPTERsbC6AqsTw9PR2JiYl6j4mIiEB6ejqSkpKkbbt370ZERASAqsdwPj4+SE9Pl4Km4uJiZGZmYurUqdI5ioqKkJWVhbCwMADAnj17oNVqER4eDgC4ceOGlFBezc7OTuojERERkUlB1OHDh3W+//TTTwgLC4Ozs7O0zZQSB8nJyYiPj0e/fv0wYMAApKamorS0FJMnTwYATJo0Ce3atUNKSgoAYPr06Rg8eDAWLVqEkSNHYuPGjTh06JD0poVMJkNSUhLmz5+PkJAQqcSBn5+fFKh17doVw4cPx1NPPYWVK1eioqICiYmJGDduHPz8/AAAI0eOxJIlS/Dvf/9bepz32muvoWPHjujTp48pt4yIiIiaK3EHWrduLc6cOXMnpxDvv/++6NChg1AoFGLAgAHi559/lvYNHjxYxMfH67T/4osvRKdOnYRCoRDdu3cXX3/9tc5+rVYrZs+eLby9vYWjo6MYNmyYyM3N1WlTWFgoxo8fL1q3bi3c3NzE5MmTRUlJiU6bzz//XPTp00e4uLiItm3bitGjR4ucnByTxqbRaAQAodFoTDqOiIiIbKe+v79NqhNVk6urK44ePYq77rqr4aK6ZoR1ooiIiJqe+v7+NqnEARERERFVYRBFREREZAaTEst/+eUXne9CCJw8ebLW4r29evW6854RERERNWIm5UTJ5fJ6LUBc37XzmjvmRBERETU9Flk7Ly8v7447RkRERNQcmBREGVp4mIiIyFIKCwu5TAs1Sg2y7MvQoUOxZs0aBllERNSgCgsLsWzZsjrbJSYmMpAiqzMpiNq+fbve7T/++CN27twpLbY7evToO+8ZERG1KPpmnK5evarzXaNxhVrtAZWqEEplibTd2EwVkaWYFETFxsYaTCx/7rnnAICJ5UREZLL6zDhlZ/fBjh2jIIQcMpkWMTE70bfvYaPHEFmSSXWioqOjMWLECOTn50Or1UofOzs7HDt2DFqtlgEUERGZrOZMkkbjiry8AGg0rtL36gAKAISQY8eOUdJ+IlswaSbqm2++wZIlS9CvXz+sWLECo0aNslS/iIiohdI349SmzTUpgKomhBxqtUrnsR6RNZlcsfyFF17A9u3b8corr+Dpp5/GjRs3LNEvIiJqQTQazf/9qX/GycGhDDKZVucYmUwLlUpt9b4SVTNr2ZfQ0FAcOnQIMpkMoaGhenOkiIiI6quiogIAoFZ76J1xqqhQICZmpxRIVc9QcRaKbMnsEgfOzs5YuXIltm/fjr1798LT07Mh+0VERC2QSlUIQAvd/8evmnEKDDyHoKDTUKtVUKnUDKDI5kyaidqzZw+6deuG4uJiadvo0aOxZMkSODo6onv37vjf//7X4J0kIqKWRKb77bavSmUJAgPP1QqgFAqFNTpGpMOkmajU1FQ89dRTeteRUSqVePrpp7F48WLcc889DdZBIiJqOdRqD9QMom5PIB8yZAhCQkJ09rNiOdmKSTNRR48exfDhww3uf+CBB5CVlXXHnSIiopbF3r7q/+lVqkKjCeRt27aFr6+vzocBFNmKSTNRBQUFcHBwMHwye3tcuXLljjtFRETNk6F18G7dugWg6nFdTMzOWiUOqh/fubu7W7O7REaZFES1a9cOx44dQ3BwsN79v/zyC3x9fRukY0RE1HTpC5aKiorwxRdf1Hls376HmUBOTYJJQdSDDz6I2bNnY/jw4XByctLZ99dff2Hu3LkswElE1MLVd9FgQ+vgAVUzUvqCJyaQU2NiUhA1a9YsbN26FZ06dUJiYiI6d+4MADh58iSWL1+OyspKzJw50yIdJSKipuHy5cs63/UFS8bWwXv44Yf1ls1hAjk1NiYFUd7e3ti/fz+mTp2KGTNmSEU2ZTIZoqOjsXz5cnh7e1uko0RE1DQUFRVJP+sLloKCTuutSh4UdBpKZQk8PT2ZGkJNgsnFNjt27Ihdu3bh2rVrOH36NIQQCAkJQZs2bSzRPyIiamKqq49rNK7Yvj0G1SULqoOlsWO3cB08ahbMrljepk0b9O/fvyH7QkREzciFC/7QV/Ppxg0nyGRanUCK6+BRU2TW2nlERER1uXHD2eA+roNHzYHZM1FERNSyGar5VFJSFQy1avWX3uNatfoLPXrksIwBNXkMooiIyGQ1yxjoewPP3/8CAIHbH+nJZFr4+18EwDIG1PQxiCIiIpPdXsbAULkCpbIEo0fvMFh9fODAgejVq5fOeVnGgJoSBlFERGSy6mVaNBpXo+UKjFUf79ChA0sZUJPGIIqIiMymVnvUWa7A0GM7Ly8vq/SRyFIYRBERkdkcHMpQM+8JEHBwqEo4HzJkCEJCQmodx8d21BwwiCIiIrNVVDiiZi0oQIaKiqrk8DZt2vCRHTVbrBNFRERmU6kKpXpP1Vg4k1oKBlFERGQ2pbKEhTOpxeLjPCIiMpmDg4P0s7E38G5vR9TcMIgiIiKD1cer1UwEb9u2rc5+Q2/g1WxH1JzYPIhavnw5Fi5ciPz8fPTu3Rvvv/8+BgwYYLD95s2bMXv2bJw9exYhISF455138OCDD0r7hRCYO3cuVq9ejaKiItx999344IMPdN4OUavVeO6557Bjxw7I5XKMHTsW7733Hlq3bq1znkWLFmHVqlU4d+4cPD098eyzz2LmzJmWuRFERDZSs/q4IYmJiVIg5eHhgcTERJMCL6LmxqY5UZs2bUJycjLmzp2L7Oxs9O7dG9HR0TqVcG+3f/9+jB8/HlOmTMHhw4cRGxuL2NhYHDt2TGqzYMECLF26FCtXrkRmZiZcXFwQHR2NmzdvSm0mTJiA48ePY/fu3di5cyd+/PFHJCQk6Fxr+vTp+PDDD/Huu+/i5MmT2L59u9HgjoioqaoZCGk0rsjLC4BG42q0nYeHB3x9fQ1+GEBRcycTQghbXTw8PBz9+/eX/g9Iq9XC398fzz33HF599dVa7ePi4lBaWoqdO3dK2wYOHIjQ0FCsXLkSQgj4+fnhxRdfxEsvvQQA0Gg08Pb2xtq1azFu3Djk5OSgW7duOHjwIPr16wcASEtLw4MPPoiLFy/Cz88POTk56NWrF44dO4bOnTubPb7i4mIolUpoNBq4ubmZfR4iIku6dOkSVq1aBcDwEi4AkJCQwHIF1CLU9/e3zWaiysvLkZWVhaioqL87I5cjKioKGRkZeo/JyMjQaQ8A0dHRUvu8vDzk5+frtFEqlQgPD5faZGRkwN3dXQqgACAqKgpyuRyZmZkAgB07duCuu+7Czp07ERgYiICAADz55JNQq/nKLhE1X4aWcKk5I0VEVWwWRF29ehWVlZXw9vbW2e7t7Y38/Hy9x+Tn5xttX/1nXW1qLjVgb28PlUoltfn9999x7tw5bN68GZ988gnWrl2LrKws/OMf/zA6prKyMhQXF+t8iIiaCmNLuBBRbawTpYdWq0VZWRk++eQT3HPPPbjvvvvw0UcfYe/evcjNzTV4XEpKCpRKpfTx9/e3Yq+JiMxTVFQEoO7CmdXtiKiKzYIoT09P2NnZoaCgQGd7QUEBfHx89B7j4+NjtH31n3W1qZm4fuvWLajVaqmNr68v7O3t0alTJ6lN165dAQDnz583OKYZM2ZAo9FInwsXLhhsS0TUWNy6dQtA3YUzq9sRURWbBVEKhQJhYWFIT0+Xtmm1WqSnpyMiIkLvMRERETrtAWD37t1S+8DAQPj4+Oi0KS4uRmZmptQmIiICRUVFyMrKktrs2bMHWq0W4eHhAIC7774bt27dwpkzZ6Q2v/32GwCgY8eOBsfk6OgINzc3nQ8RUVNT/bqR7V47ImoabPo4Lzk5GatXr8a6deuQk5ODqVOnorS0FJMnTwYATJo0CTNmzJDaT58+HWlpaVi0aBFOnjyJefPm4dChQ0hMTAQAyGQyJCUlYf78+di+fTt+/fVXTJo0CX5+foiNjQVQNaM0fPhwPPXUUzhw4AD27duHxMREjBs3Dn5+fgCqEs379u2LJ554AocPH0ZWVhaefvpp3H///TqzU0REzUF1VfHqxPK/fzXoJpaz+jiRLpsW24yLi8OVK1cwZ84c5OfnIzQ0FGlpaVJi+Pnz5yGX/x3nRUZGYsOGDZg1axZee+01hISEYNu2bejRo4fU5uWXX0ZpaSkSEhJQVFSEQYMGIS0tDU5OTlKb9evXIzExEcOGDZOKbS5dulTaL5fLsWPHDjz33HO499574eLighEjRmDRokVWuCtERNalVCoBGE8sr6pIrrRF94gaLZvWiWruWCeKiJqC6jpRGo0rUlOTdAIpmUyLpKRUKJUlrBNFLUajrxNFRESNS12J5USky+Zr5xERUePRt+9hBAWdhlqtgkqlZgBFZASDKCKiFk6hUOh8r8p/qh081WxH1NIxiCIiauE8PDyQmJhYa4Hh2ykUCi4oTFQDgygiImKARGQGJpYTERERmYFBFBEREZEZGEQRERERmYFBFBEREZEZGEQRERERmYFBFBEREZEZWOKAiMjGCgsLWaOJqAliEEVEZEOFhYVYtmxZne0SExMZSBE1MnycR0RkQzVnoDQaV+TlBUCjcTXajohsjzNRREQ2pNFopJ+zs/tgx45REEIOmUyLmJid6Nv3sNTO19fXVt0kIj04E0VEZENqtRpA1QxUdQAFAELIsWPHKGlGqrodETUenIkiIrISfQnk165dAwCo1R5SAFVNCDnUahWUyhLcunXLav0kovphEEVEZAV1JZA7OJQBEABkt20VcHBgLhRRY8XHeUREVlBXAnlFhSN0AygAkKGiQmGdDhKRyTgTRURkZfoSyL288sGZKKKmhTNRRERWZCiBvKioDYzNRNnb8/95iRob/ltJRNSADFUfv3r1KgDDCeSAgEym1dknk2mhUlW9lefqqls3iohsj0EUEZEZ9AVLRUVF+OKLL4wep1IV6g2W/P0vIiZmZ63HfEplCQDAwcGh4QdBRHeEQRQRkYnqu1SLRuMKtdoDKlWhFAwplSUGg6W+fQ8jKOg01GoVVCq1dAwAtG3b1mLjISLzMIgiIjKRvjftagZLxqqPGwuWJk++H56enjrn5wLERI0TgygiojugL1gKCjqtN3k8KOi0zozU7cFTNT8/PwZMRE0EgygiIgPqShI39Kbd2LFbjFYff/jhh2vNNgGccSJqahhEERHpUZ+8J3PftPP09ORiwkTNAOtEERHpUVeFceDvN+1ud/ubdtX7ar5pR0TNA2eiiIjqYChJ3Nw37YioeWAQRURkhKG8p+okcWPBkqHkcYWC6+ERNQcMooiIjDCU91SdJA4YDpbi4uKgVCp1tjF5nKj5YBBFRKTHhQsXABiuMF6dJB4ZGYkePXrUOp7BElHzxyCKiEiPmzdvAjBeYRwAHB0d+aYdUQvFIIqIWgRDNZ8AQKPRQAgBd3d3aVtJyd+P586d6wAhZAAAIWQ4d66DVH2ciFouBlFE1OzVd607fS5e9MXRo70ByP5viwxHj/ZG//4H0L79JS4MTNSCsU4UETV79an5ZMj58x3xdwBVTYYLFzoAAFq3bt1AvSSipqZRBFHLly9HQEAAnJycEB4ejgMHDhhtv3nzZnTp0gVOTk7o2bMndu3apbNfCIE5c+bA19cXzs7OiIqKwqlTp3TaqNVqTJgwAW5ubnB3d8eUKVNw/fp1vdc7ffo0XF1ddab6iahpys7ug9TUJKxbF4/U1CRkZ/fR2V8zwOrQ4RwAUeMsAv7+563TYSJqtGweRG3atAnJycmYO3cusrOz0bt3b0RHR+Py5ct62+/fvx/jx4/HlClTcPjwYcTGxiI2NhbHjh2T2ixYsABLly7FypUrkZmZCRcXF0RHR0uJogAwYcIEHD9+HLt378bOnTvx448/IiEhodb1KioqMH78eNxzzz0NP3gisipDNZ+qAyZ9AVb79pfQu/dR/B1ICfTufRTt21+yzSCIqNGQCSFq/i+WVYWHh6N///5SvoJWq4W/vz+ee+45vPrqq7Xax8XFobS0FDt37pS2DRw4EKGhoVi5ciWEEPDz88OLL76Il156CUBV0qi3tzfWrl2LcePGIScnB926dcPBgwfRr18/AEBaWhoefPBBXLx4EX5+ftK5X3nlFfz5558YNmwYkpKSUFRUVO+xFRcXQ6lUQqPRwM3NzZzbQ0QN4NKlS1i1ahXy8gKwbl18rf3x8WuhUqmRmppUq5RBUlIqlMoSXLzoiwsXOsDf/7xOAPXwww+jZ8+eVhkHEVlHfX9/23Qmqry8HFlZWYiKipK2yeVyREVFISMjQ+8xGRkZOu0BIDo6Wmqfl5eH/Px8nTZKpRLh4eFSm4yMDLi7u0sBFABERUVBLpcjMzNT2rZnzx5s3rwZy5cvr9d4ysrKUFxcrPMhosbD0Fp3KpXaaFFNAGjf/hIiIjJrzUC1atXKsp0mokbLpm/nXb16FZWVlfD29tbZ7u3tjZMnT+o9Jj8/X2/7/Px8aX/1NmNtvLy8dPbb29tDpVJJbQoLC/H444/js88+q/csUkpKCl5//fV6tSUi66ur5pOxoppDhgxBmzZtdM7XqlUrBAUFWW8ARNSosMSBAU899RQeffRR3HvvvfU+ZsaMGUhOTpa+FxcXw9/f3xLdIyIzGVrrrq4AKyQkhEU1iUiHTYMoT09P2NnZoaCgQGd7QUEBfHx89B7j4+NjtH31nwUFBTr/wSsoKEBoaKjUpmbi+q1bt6BWq6Xj9+zZg+3bt+Pdd98FUPXGn1arhb29PVatWoUnnniiVt8cHR3h6OhY3+ETkZmMFc4Eai+5UnPBX0Nr3RlbTJiLBhNRTTYNohQKBcLCwpCeno7Y2FgAVYnl6enpSExM1HtMREQE0tPTkZSUJG3bvXs3IiIiAACBgYHw8fFBenq6FDQVFxcjMzMTU6dOlc5RVFSErKwshIWFAagKmrRaLcLDwwFU5U1VVlZK1/jvf/+Ld955B/v370e7du0a8jYQkQnqWzgzMTFRCqQ8PDyQmJhoUsXy23EdPCLSx+aP85KTkxEfH49+/fphwIABSE1NRWlpKSZPngwAmDRpEtq1a4eUlBQAwPTp0zF48GAsWrQII0eOxMaNG3Ho0CGsWrUKACCTyZCUlIT58+cjJCQEgYGBmD17Nvz8/KRArWvXrhg+fDieeuoprFy5EhUVFUhMTMS4ceOkN/O6du2q089Dhw5BLpfrXWiUiKzH2AyUsXbGgiA+piMic9g8iIqLi8OVK1cwZ84c5OfnIzQ0FGlpaVJi+Pnz5yGX/53oGRkZiQ0bNmDWrFl47bXXEBISgm3btukENy+//DJKS0uRkJCAoqIiDBo0CGlpaXBycpLarF+/HomJiRg2bBjkcjnGjh2LpUuXWm/gRGSWmmVGNBpXqNUeUKkKdR6/FRUVMTgiIouyeZ2o5ox1ooga3q+//oqtW7cCqCqOWTMRvHphYNZvIiJz1ff3t81nooioZTM1SbyaRuOK7dtjUL2uXXX18aCg03qTxomIGhqDKCKyGXOSxKtduOCPmgsDCyHHhQvtoVTmNGQ3iYj0svnaeUTUcv3+++8632su/muoHRFRY8CZKCKymcLCQunn7Ow+2L59FKr+306L0aP/zm+6vV01f/8LALTQ/X9BLfz9L1qyy0REEs5EEZHNVNdiq8pvqg6gAECO7dtHSTNSt9dsc3BwAFBVMHP06J2oCqSA6sCrOh+quh0RkaVwJoqIbC43txNq/z+dHLm5IRgwIFtnq1KplH42VmH89nZERJbAIIqIGoy5b9oVFqoMnK922/ou4cJlWojI0hhEEVGDuJM37Tw81HrbenjUzoWqawkXgMu0EJF1MIgiogZRM6gxVElcX/DTufNv2LWrdpJ4586n9F6LARIRNQYMooiowRmrJH47Ozs7AH8nidd8O686+KpuR0TUmDCIIqIGpdG4SgEUYLyS+O0zSsaSxDnzRESNEYMoImpQarWHFEBVE0IOtVpVK4i66667dL4bShKv2Y6IqDFgEEVEDUqlKoRMptUJpGQyLVSq2snjTBInoqaMQRQR6WVuuQKlsgQxMTtr5UQZWhSYARIRNVUMooioljspVwAYz28iImouGEQRUS3mlCtgEUwiamkYRBGRUfUtV8D8JiJqaRhEEbVghvKerl69CsC0cgUA85uIqGVhEEXUQtUn78mUcgVERC1NzWXTiaiFuHLlis53jcYVeXkB0GhcpW3V5QpuZ6hcARFRS8OZKKIWqqKiQvo5O7tPrSVX+vY9bHK5AiKiloRBFFELp9G43hZAAYAc27f/nffEcgVERPoxiCJqJswtjnnhgj9qP9mX48KF9lAqcwCwXAERkT4MooiagTstjmnMkCFDEBISUms7yxUQUUvHIIqoGTCnOGY1f/8LAAQAmbRNJtPC3/8iAKBNmzbw9fW1SL+JiJoyBlFEzUx9i2NWUypLMHr0DiaPExGZiEEUUTNiSnFMe/u///U3ljx+ezsiIvob/+tI1IyYUhzTy8tL57uh5PGa7YiIqAqDKCIbMvRGXVFREW7dugUHBwcolcpa+w0ldVcXx7w9kDJUHJNr3RER3RkGUUQ2Ut836gzR96adqcUxGSAREZmPQRSRjVy+fFnnu6E36kx50w4wnt9EREQNh0EUkY3cunVL+tnQG3X1fdOuZtFLFsckIrI8BlFEFmYo7+mPP/4AUL3sSgyq6zRVv1Hn5ZVf7zftmN9ERGR9DKKILKg+eU9Vy67IdLYJIcdvv3Wq95t2APObiIisjUEUUQPRN+N09epVne+G8pv0ad26pN5v2hERkfUxiCJqAPWZcTKU3+Tufg01l10BBPz8Lpn0ph0REVlXzaXbbWL58uUICAiAk5MTwsPDceDAAaPtN2/ejC5dusDJyQk9e/bErl27dPYLITBnzhz4+vrC2dkZUVFROHXqlE4btVqNCRMmwM3NDe7u7pgyZQquX78u7f/hhx8wZswY+Pr6wsXFBaGhoVi/fn3DDZqapMLCQly6dKnWJzc3V6edRuOKvLwAaDSu0nd9+U0ajSsqKhxR83EeIENFhQJ9+x5GUlIq4uPXIikp1ejyLUREZF02n4natGkTkpOTsXLlSoSHhyM1NRXR0dHIzc3VWyl5//79GD9+PFJSUjBq1Chs2LABsbGxyM7ORo8ePQAACxYswNKlS7Fu3ToEBgZi9uzZiI6OxokTJ+Dk5AQAmDBhAi5duoTdu3ejoqICkydPRkJCAjZs2CBdp1evXnjllVfg7e2NnTt3YtKkSVAqlRg1apT1bhA1GvWt66RvxqlNm2sG85vqKpDJN+2IiBonmRBC2LID4eHh6N+/v/TLSavVwt/fH8899xxeffXVWu3j4uJQWlqKnTt3StsGDhyI0NBQrFy5EkII+Pn54cUXX8RLL70EANBoNPD29sbatWsxbtw45OTkoFu3bjh48CD69esHAEhLS8ODDz6Iixcvws/PT29fR44cCW9vb3z88cf1GltxcTGUSiU0Gg3c3NxMui9kW4bym7Zu3Sp915ffpNG4YsmSF3D7zJJMpsWUKR/io4+erBUoJSWlQqksMVrK4P7770dgYKBOX/imHRGR5dT397dNZ6LKy8uRlZWFGTNmSNvkcjmioqKQkZGh95iMjAwkJyfrbIuOjsa2bdsAAHl5ecjPz0dUVJS0X6lUIjw8HBkZGRg3bhwyMjLg7u4uBVAAEBUVBblcjszMTDz00EN6r63RaNC1a1eD4ykrK0NZWZn0vbi42PDgqdG6k/wmQ2/aFRW5G81vMlYgMzAwEL6+vg0+TiIiujM2DaKuXr2KyspKeHt762z39vbGyZMn9R6Tn5+vt31+fr60v3qbsTY1HxXa29tDpVJJbWr64osvcPDgQfznP/8xOJ6UlBS8/vrrBvdT01BXJXFD+U1BQaeNnreuSuJ8bEdE1LTYPCeqKdi7dy8mT56M1atXo3v37gbbzZgxQ2eWrLi4GP7+/tboIjWguiqJG8tv8ve/AEAL3Xc2tPD3vwjAcKAUFxdn0kLDRERkezYNojw9PWFnZ4eCggKd7QUFBfDx8dF7jI+Pj9H21X8WFBToPAIpKChAaGio1KbmbMOtW7egVqtrXff//b//h5iYGCxZsgSTJk0yOh5HR0c4OjoabUNNh6FK4lOmfGgwEVypLMHo0TuxffsoVAVSWowe/fdjuyFDhiAkJETnOgyUiIiaJpsGUQqFAmFhYUhPT0dsbCyAqsTy9PR0JCYm6j0mIiIC6enpSEpKkrbt3r0bERERAKryR3x8fJCeni4FTcXFxcjMzMTUqVOlcxQVFSErKwthYWEAgD179kCr1SI8PFw67w8//IBRo0bhnXfeQUJCQgOPnqzB0JIr1YwFMJbIb/Ly8mJ+ExFRM2Hzx3nJycmIj49Hv379MGDAAKSmpqK0tBSTJ08GAEyaNAnt2rVDSkoKAGD69OkYPHgwFi1ahJEjR2Ljxo04dOgQVq1aBQCQyWRISkrC/PnzERISIpU48PPzkwK1rl27Yvjw4XjqqaewcuVKVFRUIDExEePGjZPezNu7dy9GjRqF6dOnY+zYsVKulEKhgEqlsvJdInPUtyRBYmKiyTNB5uY3tW3b1qTrEBFR42XzICouLg5XrlzBnDlzkJ+fj9DQUKSlpUmJ4efPn4dc/vdjk8jISGzYsAGzZs3Ca6+9hpCQEGzbtk2qEQUAL7/8MkpLS5GQkICioiIMGjQIaWlpUo0oAFi/fj0SExMxbNgwyOVyjB07FkuXLpX2r1u3Djdu3EBKSooUwAHA4MGD8cMPP1jwjlBDqTkDZWjJFUMzVcxvIiIiY2xeJ6o5Y50o27p06ZI0Q2msDlNCQoLOI7Zff/1VqgeVnd2nVn5T9XHMbyIiap6aRJ0oImswVpJA30ySg4OD9DPzm4iIyBAGUdRkmJskrlZ7GCxJUJ+8JeY3ERGRPgyiqNHRFywVFRXhiy++qPNYfUnida1NV5OHhwcSExPNfquPiIhaBgZR1KjU9406U5LElcoSoyUJ9GGAREREdWEQRY1KXUuuAMaTxA2pqyQBERGRqRhEkU2cOXMGN27cqLX9l19+kX7WFywFBZ2ud5J4zTXnuDYdERE1JAZRZHVnzpzBZ599ZrSNoSVXxo7dUu8kceY2ERGRJTGIIqurufZhbm4wTp3qhJCQ39C582kAhpdcuXHDyeQkcSIiIktgEEVWd+vWLennDz+cjIsXqwKmQ4f6oX37C3jyyTUoLGyj99i//nIyOUmciIjIEhhEkc3k5gZLAVQVGS5e9EdubjAqK/X/1aystGeSOBERNQryupsQWcapU51Q85EdIMPp0yHo1Ok3ADVXJBLo1OkUgKok8cDAc3UmkxMREVkKZ6LIZkJCfsOhQ/2gG0gJBAefQvv2l9C791EcPdr7//YL9O59FO3bXwIA9OjRA5GRkTrnY5I4ERFZE4Mo0mHu0irm6Nz5NNq3v3DbIz2B9u0vSMnlDz30X/TvfwAXLnSAv/95KYACAF9fX65bR0RENsUgiiT1rRaub2kVcz355Brk5gbj9OkQBAefkgKoau3bX9IJnqp5e3s3yPWJiIjMxSCqhdI343T16tV6HWtspqo+nJycdL537ny6VvAEAL1790ZQUFCt7a1atdK7nYiIyJoYRLVAd7o+3Z2qbwB0zz33MMeJiIgaLQZRzZih/Ka8vLw6jzVnfbr6YiVxIiJqDhhENVP1nW0CgIsXfXH+fEd06HAO7dtfgkbjWu/16czFAImIiJo6BlHNgL7FfM+cOaPzvWagVO2rr8bUKiMQGnq03uvTERERtVQMopq4+izmqy9Qeuih/+LiRd/btgOADEeP9ka3bsdNWp+OiIioJWIQ1UQYym/6448/dL7XnHEyFCj1738A5893hL6K4Wq1B9enIyIiqgODqCagvvlN+maclMoi6AuUTp0KQUjIKVQtraJbMby6sKWh9em4tAoRERGDqCah5gyUvtIDhmacIiP/p/ecLi7X61xaJTa2H0JCQnSO41tzREREVRhENTGGSg8YejTn4FAJfbNNnTtXLeRrbGkVLy8vLq1CRERkAIOoJsRY6YEOHc5BX7AUEnIKSmWJ0fwmQ0urtG3b1rIDIiIiasIYRDUharWHwdIDgYHnDD6aM5bfNHDgQPTq1avWtfjYjoiIyDgGUU2ISlVotPSAsUdzSmWJ3rfrgoOD+ciOiIjIDAyimhClsqTO0gOGHs3dfffd8Pb21tnGhXyJiIjMxyCqienb97DBR3NDhgxBmzZtah3DYImIiKjhMYhqAmrWZTL0aK579+7MYyIiIrISBlFNgIeHBxITE/VWLK/GRHAiIiLrYhDVRDBAIiIialzkdTchIiIiopoYRBERERGZgUEUERERkRkYRBERERGZgUEUERERkRkaRRC1fPlyBAQEwMnJCeHh4Thw4IDR9ps3b0aXLl3g5OSEnj17YteuXTr7hRCYM2cOfH194ezsjKioKJw6dUqnjVqtxoQJE+Dm5gZ3d3dMmTIF169f12nzyy+/4J577oGTkxP8/f2xYMGChhkwERERNXk2D6I2bdqE5ORkzJ07F9nZ2ejduzeio6Nx+fJlve3379+P8ePHY8qUKTh8+DBiY2MRGxuLY8eOSW0WLFiApUuXYuXKlcjMzISLiwuio6Nx8+ZNqc2ECRNw/Phx7N69Gzt37sSPP/6IhIQEaX9xcTEeeOABdOzYEVlZWVi4cCHmzZuHVatWWe5mEBERUdMhbGzAgAFi2rRp0vfKykrh5+cnUlJS9LZ/5JFHxMiRI3W2hYeHi6effloIIYRWqxU+Pj5i4cKF0v6ioiLh6OgoPv/8cyGEECdOnBAAxMGDB6U233zzjZDJZOKPP/4QQgixYsUK0aZNG1FWVia1eeWVV0Tnzp3rPTaNRiMACI1GU+9jiIiIyLbq+/vbpjNR5eXlyMrKQlRUlLRNLpcjKioKGRkZeo/JyMjQaQ8A0dHRUvu8vDzk5+frtFEqlQgPD5faZGRkwN3dHf369ZPaREVFQS6XIzMzU2pz77336iy5Eh0djdzcXFy7dk1v38rKylBcXKzzISIioubJphXLr169isrKSnh7e+ts9/b2xsmTJ/Uek5+fr7d9fn6+tL96m7E2Xl5eOvvt7e2hUql02gQGBtY6R/U+fQv9pqSk4PXXX6+1ncEUERFR01H9e1sIYbQdl31pQDNmzEBycrL0/Y8//kC3bt3g7+9vw14RERGROUpKSqBUKg3ut2kQ5enpCTs7OxQUFOhsLygogI+Pj95jfHx8jLav/rOgoAC+vr46bUJDQ6U2NRPXb926BbVarXMefde5/Ro1OTo6wtHRUfreunVrXLhwAa6urpDJZHqPMUdxcTH8/f1x4cIFuLm5Ndh5m4qWPn6A96Cljx/gPWjp4wd4Dyw5fiEESkpK4OfnZ7SdTYMohUKBsLAwpKenIzY2FgCg1WqRnp6OxMREvcdEREQgPT0dSUlJ0rbdu3cjIiICABAYGAgfHx+kp6dLQVNxcTEyMzMxdepU6RxFRUXIyspCWFgYAGDPnj3QarUIDw+X2sycORMVFRVwcHCQrtO5c2e9j/L0kcvlaN++vUn3xBRubm4t8l+cai19/ADvQUsfP8B70NLHD/AeWGr8xmagqtm8xEFycjJWr16NdevWIScnB1OnTkVpaSkmT54MAJg0aRJmzJghtZ8+fTrS0tKwaNEinDx5EvPmzcOhQ4ekoEsmkyEpKQnz58/H9u3b8euvv2LSpEnw8/OTArWuXbti+PDheOqpp3DgwAHs27cPiYmJGDdunBR1Pvroo1AoFJgyZQqOHz+OTZs24b333tN5XEdEREQtl81zouLi4nDlyhXMmTMH+fn5CA0NRVpampTEff78ecjlf8d6kZGR2LBhA2bNmoXXXnsNISEh2LZtG3r06CG1efnll1FaWoqEhAQUFRVh0KBBSEtLg5OTk9Rm/fr1SExMxLBhwyCXyzF27FgsXbpU2q9UKvHdd99h2rRpCAsLg6enJ+bMmaNTS4qIiIhaMKsUXKAGdfPmTTF37lxx8+ZNW3fFJlr6+IXgPWjp4xeC96Clj18I3oPGMH6ZEHW8v0dEREREtdg8J4qIiIioKWIQRURERGQGBlFEREREZmAQRURERGQGBlGN1PLlyxEQEAAnJyeEh4fjwIEDBtseP34cY8eORUBAAGQyGVJTU63XUQsxZfyrV6/GPffcgzZt2qBNmzaIiooy2r6pMOUebN26Ff369YO7uztcXFwQGhqKTz/91Iq9bXimjP92GzduhEwmk+rCNWWm3IO1a9dCJpPpfG4v69IUmfp3oKioCNOmTYOvry8cHR3RqVMn7Nq1y0q9tQxT7sF9991X6++ATCbDyJEjrdjjhmXq34HU1FR07twZzs7O8Pf3xwsvvICbN29aroM2ey+QDNq4caNQKBTi448/FsePHxdPPfWUcHd3FwUFBXrbHzhwQLz00kvi888/Fz4+PmLJkiXW7XADM3X8jz76qFi+fLk4fPiwyMnJEY8//rhQKpXi4sWLVu55wzH1Huzdu1ds3bpVnDhxQpw+fVqkpqYKOzs7kZaWZuWeNwxTx18tLy9PtGvXTtxzzz1izJgx1umshZh6D9asWSPc3NzEpUuXpE9+fr6Ve91wTB1/WVmZ6Nevn3jwwQfFTz/9JPLy8sQPP/wgjhw5YuWeNxxT70FhYaHOP/9jx44JOzs7sWbNGut2vIGYOv7169cLR0dHsX79epGXlye+/fZb4evrK1544QWL9ZFBVCM0YMAAMW3aNOl7ZWWl8PPzEykpKXUe27FjxyYfRN3J+IUQ4tatW8LV1VWsW7fOUl20uDu9B0II0adPHzFr1ixLdM/izBn/rVu3RGRkpPjwww9FfHx8kw+iTL0Ha9asEUql0kq9szxTx//BBx+Iu+66S5SXl1urixZ3p/8dWLJkiXB1dRXXr1+3VBctytTxT5s2TQwdOlRnW3Jysrj77rst1kc+zmtkysvLkZWVhaioKGmbXC5HVFQUMjIybNgz62iI8d+4cQMVFRVQqVSW6qZF3ek9EEIgPT0dubm5uPfeey3ZVYswd/z//ve/4eXlhSlTplijmxZl7j24fv06OnbsCH9/f4wZMwbHjx+3RncbnDnj3759OyIiIjBt2jR4e3ujR48eeOutt1BZWWmtbjeohvhv4UcffYRx48bBxcXFUt20GHPGHxkZiaysLOmR3++//45du3bhwQcftFg/bb7sC+m6evUqKisrpWVvqnl7e+PkyZM26pX1NMT4X3nlFfj5+en8y9eUmHsPNBoN2rVrh7KyMtjZ2WHFihW4//77Ld3dBmfO+H/66Sd89NFHOHLkiBV6aHnm3IPOnTvj448/Rq9evaDRaPDuu+8iMjISx48ft+hC6JZgzvh///137NmzBxMmTMCuXbtw+vRpPPvss6ioqMDcuXOt0e0Gdaf/LTxw4ACOHTuGjz76yFJdtChzxv/oo4/i6tWrGDRoEIQQuHXrFp555hm89tprFusngyhqVt5++21s3LgRP/zwQ5NPqjWVq6srjhw5guvXryM9PR3Jycm46667cN9999m6axZVUlKCiRMnYvXq1fD09LR1d2wmIiICERER0vfIyEh07doV//nPf/DGG2/YsGfWodVq4eXlhVWrVsHOzg5hYWH4448/sHDhwiYZRN2pjz76CD179sSAAQNs3RWr+eGHH/DWW29hxYoVCA8Px+nTpzF9+nS88cYbmD17tkWuySCqkfH09ISdnR0KCgp0thcUFMDHx8dGvbKeOxn/u+++i7fffhvff/89evXqZcluWpS590AulyM4OBgAEBoaipycHKSkpDS5IMrU8Z85cwZnz55FTEyMtE2r1QIA7O3tkZubi6CgIMt2uoE1xH8HHBwc0KdPH5w+fdoSXbQoc8bv6+sLBwcH2NnZSdu6du2K/Px8lJeXQ6FQWLTPDe1O/g6UlpZi48aN+Pe//23JLlqUOeOfPXs2Jk6ciCeffBIA0LNnT5SWliIhIQEzZ86EXN7wGUzMiWpkFAoFwsLCkJ6eLm3TarVIT0/X+b/M5src8S9YsABvvPEG0tLS0K9fP2t01WIa6u+AVqtFWVmZJbpoUaaOv0uXLvj1119x5MgR6TN69GgMGTIER44cgb+/vzW73yAa4u9AZWUlfv31V/j6+lqqmxZjzvjvvvtunD59WgqgAeC3336Dr69vkwuggDv7O7B582aUlZXhscces3Q3Lcac8d+4caNWoFQdVAtLLRNssZR1MtvGjRuFo6OjWLt2rThx4oRISEgQ7u7u0uvKEydOFK+++qrUvqysTBw+fFgcPnxY+Pr6ipdeekkcPnxYnDp1ylZDuCOmjv/tt98WCoVCfPnllzqv95aUlNhqCHfM1Hvw1ltvie+++06cOXNGnDhxQrz77rvC3t5erF692lZDuCOmjr+m5vB2nqn34PXXXxfffvutOHPmjMjKyhLjxo0TTk5O4vjx47Yawh0xdfznz58Xrq6uIjExUeTm5oqdO3cKLy8vMX/+fFsN4Y6Z++/BoEGDRFxcnLW72+BMHf/cuXOFq6ur+Pzzz8Xvv/8uvvvuOxEUFCQeeeQRi/WRQVQj9f7774sOHToIhUIhBgwYIH7++Wdp3+DBg0V8fLz0PS8vTwCo9Rk8eLD1O95ATBl/x44d9Y5/7ty51u94AzLlHsycOVMEBwcLJycn0aZNGxERESE2btxog143HFPGX1NzCKKEMO0eJCUlSW29vb3Fgw8+KLKzs23Q64Zj6t+B/fv3i/DwcOHo6Cjuuusu8eabb4pbt25ZudcNy9R7cPLkSQFAfPfdd1buqWWYMv6Kigoxb948ERQUJJycnIS/v7949tlnxbVr1yzWP5kQlprjIiIiImq+mBNFREREZAYGUURERERmYBBFREREZAYGUURERERmYBBFREREZAYGUURERERmYBBFREREZAYGUUREzcDjjz+O2NhYW3eDqEVhEEVEFvX4449DJpNJHw8PDwwfPhy//PKLrbvWIG4fW/Vn0KBBFrve2bNnIZPJcOTIEZ3t7733HtauXWux6xJRbQyiiMjihg8fjkuXLuHSpUtIT0+Hvb09Ro0aZetuNZg1a9ZI47t06RK2b9+ut11FRYXF+qBUKuHu7m6x8xNRbQyiiMjiHB0d4ePjAx8fH4SGhuLVV1/FhQsXcOXKFQwdOhSJiYk67a9cuQKFQiGt4B4QEIA33ngD48ePh4uLC9q1a4fly5frHLN48WL07NkTLi4u8Pf3x7PPPovr169L+8+dO4eYmBi0adMGLi4u6N69O3bt2gUAuHbtGiZMmIC2bdvC2dkZISEhWLNmTb3H5+7uLo3Px8cHKpVKmjHatGkTBg8eDCcnJ6xfvx6FhYUYP3482rVrh1atWqFnz574/PPPdc6n1WqxYMECBAcHw9HRER06dMCbb74JAAgMDAQA9OnTBzKZDPfddx+A2o/zysrK8Pzzz8PLywtOTk4YNGgQDh48KO3/4YcfIJPJkJ6ejn79+qFVq1aIjIxEbm5uvcdN1NIxiCIiq7p+/To+++wzBAcHw8PDA08++SQ2bNiAsrIyqc1nn32Gdu3aYejQodK2hQsXonfv3jh8+DBeffVVTJ8+Hbt375b2y+VyLF26FMePH8e6deuwZ88evPzyy9L+adOmoaysDD/++CN+/fVXvPPOO2jdujUAYPbs2Thx4gS++eYb5OTk4IMPPoCnp2eDjLe6rzk5OYiOjsbNmzcRFhaGr7/+GseOHUNCQgImTpyIAwcOSMfMmDEDb7/9ttSvDRs2wNvbGwCkdt9//z0uXbqErVu36r3uyy+/jC1btmDdunXIzs5GcHAwoqOjoVarddrNnDkTixYtwqFDh2Bvb48nnniiQcZN1CJYbGljIiIhRHx8vLCzsxMuLi7CxcVFABC+vr4iKytLCCHEX3/9Jdq0aSM2bdokHdOrVy8xb9486XvHjh3F8OHDdc4bFxcnRowYYfC6mzdvFh4eHtL3nj176pzzdjExMWLy5MlmjQ+AcHJyksbn4uIivvrqK5GXlycAiNTU1DrPMXLkSPHiiy8KIYQoLi4Wjo6OYvXq1XrbVp/38OHDOtvj4+PFmDFjhBBCXL9+XTg4OIj169dL+8vLy4Wfn59YsGCBEEKIvXv3CgDi+++/l9p8/fXXAoD466+/TLkFRC0WZ6KIyOKGDBmCI0eO4MiRIzhw4ACio6MxYsQInDt3Dk5OTpg4cSI+/vhjAEB2djaOHTuGxx9/XOccERERtb7n5ORI37///nsMGzYM7dq1g6urKyZOnIjCwkLcuHEDAPD8889j/vz5uPvuuzF37lydxPapU6di48aNCA0Nxcsvv4z9+/ebNL4lS5ZI4zty5Ajuv/9+aV+/fv102lZWVuKNN95Az549oVKp0Lp1a3z77bc4f/48ACAnJwdlZWUYNmyYSX243ZkzZ1BRUYG7775b2ubg4IABAwbo3DMA6NWrl/Szr68vAODy5ctmX5uoJWEQRUQW5+LiguDgYAQHB6N///748MMPUVpaitWrVwMAnnzySezevRsXL17EmjVrMHToUHTs2LHe5z979ixGjRqFXr16YcuWLcjKypJypsrLy6Vr/P7775g4cSJ+/fVX9OvXD++//z4ASAHdCy+8gD///BPDhg3DSy+9VO/r+/j4SOMLDg6Gi4uLzthvt3DhQrz33nt45ZVXsHfvXhw5cgTR0dFSP52dnet93Ybg4OAg/SyTyQBU5WQRUd0YRBGR1clkMsjlcvz1118AgJ49e6Jfv35YvXo1NmzYoDcv5+eff671vWvXrgCArKwsaLVaLFq0CAMHDkSnTp3w559/1jqHv78/nnnmGWzduhUvvviiFMQBQNu2bREfH4/PPvsMqampWLVqVUMOWbJv3z6MGTMGjz32GHr37o277roLv/32m7Q/JCQEzs7OUlJ9TQqFAkDVjJYhQUFBUCgU2Ldvn7StoqICBw8eRLdu3RpoJERkb+sOEFHzV1ZWhvz8fABVb8ItW7YM169fR0xMjNTmySefRGJiIlxcXPDQQw/VOse+ffuwYMECxMbGYvfu3di8eTO+/vprAEBwcDAqKirw/vvvIyYmBvv27cPKlSt1jk9KSsKIESPQqVMnXLt2DXv37pWCsDlz5iAsLAzdu3dHWVkZdu7cKe1raCEhIfjyyy+xf/9+tGnTBosXL0ZBQYEU3Dg5OeGVV17Byy+/DIVCgbvvvhtXrlzB8ePHMWXKFHh5ecHZ2RlpaWlo3749nJycoFQqda7h4uKCqVOn4l//+hdUKhU6dOiABQsW4MaNG5gyZYpFxkXUEnEmiogsLi0tDb6+vvD19UV4eDgOHjyIzZs3S6/nA8D48eNhb2+P8ePHw8nJqdY5XnzxRRw6dAh9+vTB/PnzsXjxYkRHRwMAevfujcWLF+Odd95Bjx49sH79eqSkpOgcX1lZiWnTpqFr164YPnw4OnXqhBUrVgComt2ZMWMGevXqhXvvvRd2dnbYuHGjRe7FrFmz0LdvX0RHR+O+++6Dj49PrUrjs2fPxosvvog5c+aga9euiIuLk/KU7O3tsXTpUvznP/+Bn58fxowZo/c6b7/9NsaOHYuJEyeib9++OH36NL799lu0adPGIuMiaolkQghh604QEZ09exZBQUE4ePAg+vbtq7MvICAASUlJSEpKsk3niIj04OM8IrKpiooKFBYWYtasWRg4cGCtAIqIqLHi4zwisql9+/bB19cXBw8erJXHZGtvvfUWWrdurfczYsQIW3ePiGyMj/OIiAxQq9W1KnxXc3Z2Rrt27azcIyJqTBhEEREREZmBj/OIiIiIzMAgioiIiMgMDKKIiIiIzMAgioiIiMgMDKKIiIiIzMAgioiIiMgMDKKIiIiIzMAgioiIiMgM/x9IsnisniUeWQAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_10.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAHHCAYAAACfqw0dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABnfElEQVR4nO3deVxU5eIG8GcGGUCEIVBZDJUQdxPBJEyjkhoLUW6WgpZkJuYVk2i5uaGmXXLHraxuqS2kWWa5XMrQbqWEiku5ZoZL9zqoEANigjLv7w9/nBwZcGZgmDMzz/fz4aOc854z7zuj5zzznve8RyGEECAiIiIisyhtXQEiIiIie8QQRURERGQBhigiIiIiCzBEEREREVmAIYqIiIjIAgxRRERERBZgiCIiIiKyAEMUERERkQUYooiIiIgswBBFROTgVq9eDYVCgVOnTtm6KkQOhSGKiBpsz549SE1NRbdu3eDp6Ym2bdti2LBh+OWXX2qVve+++6BQKKBQKKBUKuHt7Y1OnTrhySefxLZt28x63U2bNiEmJgatW7dG8+bNcccdd2DYsGHIyclprKbV8s9//hMbN26stXzXrl2YOXMmSktLrfbaN5s5c6b0XioUCjRv3hxdu3bFtGnTUFZW1iivkZ2djaysrEbZF5GjYYgiogabO3cuPvvsMwwYMABLlixBSkoKvvvuO0RERODQoUO1yt9+++344IMP8P7772P+/PkYPHgwdu3ahYceegjDhw/H1atXb/maCxYswODBg6FQKDB58mQsXrwYQ4cOxYkTJ7B27VprNBNA/SFq1qxZTRqiarz55pv44IMPsGjRInTu3BmvvfYaBg4ciMZ4NCpDFFHdmtm6AkRk/9LT05GdnQ2VSiUtGz58OHr06IHXX38dH374oUF5tVqNJ554wmDZ66+/jueeew5vvPEG2rdvj7lz59b5eteuXcPs2bPx4IMP4uuvv661/vz58w1skXxcvnwZzZs3r7fMY489hpYtWwIAnn32WQwdOhQbNmzAjz/+iOjo6KaoJpFTYk8UETVY3759DQIUAISFhaFbt244evSoSftwcXHB0qVL0bVrVyxfvhw6na7OshcvXkRZWRnuueceo+tbt25t8PuVK1cwc+ZMdOzYEe7u7ggMDMSjjz6KkydPSmUWLFiAvn37ws/PDx4eHoiMjMSnn35qsB+FQoGKigqsWbNGuoT21FNPYebMmXjppZcAACEhIdK6G8cgffjhh4iMjISHhwd8fX2RmJiIs2fPGuz/vvvuQ/fu3VFQUIB7770XzZs3x5QpU0x6/270wAMPAAAKCwvrLffGG2+gW7ducHNzQ1BQECZMmGDQk3bfffdhy5YtOH36tNSm9u3bm10fIkfFnigisgohBIqKitCtWzeTt3FxcUFSUhKmT5+OH374AXFxcUbLtW7dGh4eHti0aRMmTpwIX1/fOvdZXV2NQYMGITc3F4mJiZg0aRLKy8uxbds2HDp0CKGhoQCAJUuWYPDgwRg5ciSqqqqwdu1aPP7449i8ebNUjw8++ADPPPMM+vTpg5SUFABAaGgoPD098csvv+Djjz/G4sWLpV6hVq1aAQBee+01TJ8+HcOGDcMzzzyDCxcuYNmyZbj33nuxf/9++Pj4SPUtLi7Gww8/jMTERDzxxBPw9/c3+f2rURMO/fz86iwzc+ZMzJo1C7GxsRg/fjyOHz+ON998E3v27MHOnTvh6uqKqVOnQqfT4ffff8fixYsBAC1atDC7PkQOSxARWcEHH3wgAIh3333XYHlMTIzo1q1bndt9/vnnAoBYsmRJvfvPyMgQAISnp6d4+OGHxWuvvSYKCgpqlXvvvfcEALFo0aJa6/R6vfT3y5cvG6yrqqoS3bt3Fw888IDBck9PT5GcnFxrX/PnzxcARGFhocHyU6dOCRcXF/Haa68ZLP/5559Fs2bNDJbHxMQIAGLlypV1tvtGM2bMEADE8ePHxYULF0RhYaF46623hJubm/D39xcVFRVCCCFWrVplULfz588LlUolHnroIVFdXS3tb/ny5QKAeO+996RlcXFxol27dibVh8jZ8HIeETW6Y8eOYcKECYiOjkZycrJZ29b0dJSXl9dbbtasWcjOzkavXr3w1VdfYerUqYiMjERERITBJcTPPvsMLVu2xMSJE2vtQ6FQSH/38PCQ/v7HH39Ap9Ohf//+2Ldvn1n1v9mGDRug1+sxbNgwXLx4UfoJCAhAWFgYduzYYVDezc0No0ePNus1OnXqhFatWiEkJATjxo1Dhw4dsGXLljrHUn3zzTeoqqpCWloalMq/TgNjx46Ft7c3tmzZYn5DiZwQL+cRUaPSarWIi4uDWq3Gp59+ChcXF7O2v3TpEgDAy8vrlmWTkpKQlJSEsrIy5OfnY/Xq1cjOzkZ8fDwOHToEd3d3nDx5Ep06dUKzZvUf7jZv3ow5c+bgwIEDqKyslJbfGLQsceLECQghEBYWZnS9q6urwe9t2rSpNb7sVj777DN4e3vD1dUVt99+u3SJsi6nT58GcD183UilUuGOO+6Q1hNR/RiiiKjR6HQ6PPzwwygtLcX333+PoKAgs/dRMyVChw4dTN7G29sbDz74IB588EG4urpizZo1yM/PR0xMjEnbf//99xg8eDDuvfdevPHGGwgMDISrqytWrVqF7Oxss9twI71eD4VCgX//+99GA+XNY4xu7BEz1b333iuNwyKipsMQRUSN4sqVK4iPj8cvv/yCb775Bl27djV7H9XV1cjOzkbz5s3Rr18/i+rRu3dvrFmzBufOnQNwfeB3fn4+rl69WqvXp8Znn30Gd3d3fPXVV3Bzc5OWr1q1qlbZunqm6loeGhoKIQRCQkLQsWNHc5tjFe3atQMAHD9+HHfccYe0vKqqCoWFhYiNjZWWNbQnjsiRcUwUETVYdXU1hg8fjry8PKxfv96iuYmqq6vx3HPP4ejRo3juuefg7e1dZ9nLly8jLy/P6Lp///vfAP66VDV06FBcvHgRy5cvr1VW/P9klC4uLlAoFKiurpbWnTp1yuikmp6enkYn1PT09ASAWuseffRRuLi4YNasWbUmvxRCoLi42HgjrSg2NhYqlQpLly41qNO7774LnU5ncFekp6dnvdNNEDkz9kQRUYO98MIL+PLLLxEfH4+SkpJak2vePLGmTqeTyly+fBm//vorNmzYgJMnTyIxMRGzZ8+u9/UuX76Mvn374u6778bAgQMRHByM0tJSbNy4Ed9//z0SEhLQq1cvAMCoUaPw/vvvIz09Hbt370b//v1RUVGBb775Bn//+98xZMgQxMXFYdGiRRg4cCBGjBiB8+fPY8WKFejQoQN++ukng9eOjIzEN998g0WLFiEoKAghISGIiopCZGQkAGDq1KlITEyEq6sr4uPjERoaijlz5mDy5Mk4deoUEhIS4OXlhcLCQnz++edISUnBiy++2KD331ytWrXC5MmTMWvWLAwcOBCDBw/G8ePH8cYbb+Cuu+4y+LwiIyOxbt06pKen46677kKLFi0QHx/fpPUlki1b3hpIRI6h5tb8un7qK9uiRQsRFhYmnnjiCfH111+b9HpXr14V77zzjkhISBDt2rUTbm5uonnz5qJXr15i/vz5orKy0qD85cuXxdSpU0VISIhwdXUVAQEB4rHHHhMnT56Uyrz77rsiLCxMuLm5ic6dO4tVq1ZJUwjc6NixY+Lee+8VHh4eAoDBdAezZ88Wbdq0EUqlstZ0B5999pno16+f8PT0FJ6enqJz585iwoQJ4vjx4wbvTX3TP9yspn4XLlyot9zNUxzUWL58uejcubNwdXUV/v7+Yvz48eKPP/4wKHPp0iUxYsQI4ePjIwBwugOiGyiEaISHKxERERE5GY6JIiIiIrIAQxQRERGRBRiiiIiIiCzAEEVERERkAYYoIiIiIgswRBERERFZgJNtWpFer8f//vc/eHl58dEJREREdkIIgfLycgQFBUGprLu/iSHKiv73v/8hODjY1tUgIiIiC5w9exa33357nesZoqzIy8sLwPUPob7ngBEREZF8lJWVITg4WDqP14UhyopqLuF5e3szRBEREdmZWw3F4cByIiIiIgswRBERERFZgCGKiIiIyAIcE0VERCQz1dXVuHr1qq2r4bBcXV3h4uLS4P0wRBEREcmEEAJarRalpaW2rorD8/HxQUBAQIPmcWSIIiIikomaANW6dWs0b96cEzVbgRACly9fxvnz5wEAgYGBFu+LIYqIiEgGqqurpQDl5+dn6+o4NA8PDwDA+fPn0bp1a4sv7XFgORERkQzUjIFq3ry5jWviHGre54aMPWOIIiIikhFewmsajfE+83IeEZGJiouLUVVVVed6lUrFyzBEToQhiojIBMXFxVi+fPkty6WmpjJIETkJXs4jIjLBzT1QOp0XCgvbQ6fzqrcckTN46qmnoFAooFAo4OrqCn9/fzz44IN47733oNfrTd7P6tWr4ePjY72KNjL2RBERmWnfvl7YtGkQhFBCodAjPn4zIiL227pa5ORsfbl54MCBWLVqFaqrq1FUVIScnBxMmjQJn376Kb788ks0a+Z4kcPxWkREZEU6nZcUoABACCU2bRqE0NBfoVaX27h25KzkcLnZzc0NAQEBAIA2bdogIiICd999NwYMGIDVq1fjmWeewaJFi7Bq1Sr89ttv8PX1RXx8PObNm4cWLVrg22+/xejRowH8Neh7xowZmDlzJj744AMsWbIEx48fh6enJx544AFkZWWhdevWVmmLqXg5j4jIDCUlflKAqiGEEiUlvjaqEZHpl5Gb+nLzAw88gJ49e2LDhg0AAKVSiaVLl+Lw4cNYs2YNtm/fjpdffhkA0LdvX2RlZcHb2xvnzp3DuXPn8OKLLwK4Pg3B7NmzcfDgQWzcuBGnTp3CU0891aRtMYY9UUREZvD1LYZCoTcIUgqFHr6+JTasFZF8de7cGT/99BMAIC0tTVrevn17zJkzB88++yzeeOMNqFQqqNVqKBQKqUerxtNPPy39/Y477sDSpUtx11134dKlS2jRokWTtMMY9kQREZlBrS5HfPxmKBTXB8vWjInipTwi44QQ0uW5b775BgMGDECbNm3g5eWFJ598EsXFxbh8+XK9+ygoKEB8fDzatm0LLy8vxMTEAADOnDlj9frXhz1RRERmiojYj9DQX1FS4gtf3xIGKKJ6HD16FCEhITh16hQGDRqE8ePH47XXXoOvry9++OEHjBkzBlVVVXXO1F5RUQGNRgONRoOPPvoIrVq1wpkzZ6DRaGx+NyxDFBGRCVQqlcHvanW50fB0czkiZ7Z9+3b8/PPPeP7551FQUAC9Xo+FCxdCqbx+IeyTTz4xKK9SqVBdXW2w7NixYyguLsbrr7+O4OBgAMDevXubpgG3wBBFRGQCPz8/pKamcsZyojpUVlZCq9UaTHGQmZmJQYMGYdSoUTh06BCuXr2KZcuWIT4+Hjt37sTKlSsN9tG+fXtcunQJubm56NmzJ5o3b462bdtCpVJh2bJlePbZZ3Ho0CHMnj3bRq00xDFRREQm8vPzQ2BgYJ0/DFDkzHJychAYGIj27dtj4MCB2LFjB5YuXYovvvgCLi4u6NmzJxYtWoS5c+eie/fu+Oijj5CZmWmwj759++LZZ5/F8OHD0apVK8ybNw+tWrXC6tWrsX79enTt2hWvv/46FixYYKNWGlIIIYStK+GoysrKoFarodPp4O3tbevqENkdW08eSNSUrly5gsLCQoSEhMDd3d2sbeUwT5S9qe/9NvX8zct5RCRLPCkQmY6Xm22DIYqIZMnYs+pKSvzg61tsMKDb1nfnEMkFA1LTY4giItnjs+qISI44sJyIZK2uZ9XpdF42rhkROTuGKCKSNT6rjojkiiGKiGSt5ll1N+Kz6ohIDhiiiEjW+Kw6IpIrDiwnItnjs+qISI5s3hO1YsUKtG/fHu7u7oiKisLu3bvrLb9+/Xp07twZ7u7u6NGjB7Zu3WqwXgiBjIwMBAYGwsPDA7GxsThx4oRBmddeew19+/ZF8+bN4ePjU+/rFRcX4/bbb4dCoUBpaaklTSQiCxh7Vl1IyOlaAYrPqiMiW7FpT9S6deuQnp6OlStXIioqCllZWdBoNDh+/Dhat25dq/yuXbuQlJQkPYsnOzsbCQkJ2LdvH7p37w4AmDdvHpYuXYo1a9YgJCQE06dPh0ajwZEjR6QZSauqqvD4448jOjoa7777br11HDNmDO68807897//bfw3gIjqxMkDiajGt99+i/vvvx9//PHHLTs/arRv3x5paWlIS0uzXsWEDfXp00dMmDBB+r26uloEBQWJzMxMo+WHDRsm4uLiDJZFRUWJcePGCSGE0Ov1IiAgQMyfP19aX1paKtzc3MTHH39ca3+rVq0SarW6zvq98cYbIiYmRuTm5goA4o8//jCjdULodDoBQOh0OrO2IyIi5/Pnn3+KI0eOiD///NPWVTFbcnKyACCdj2/097//XQAQycnJFu9/x44dZp+H27VrJxYvXlzn+vreb1PP3za7nFdVVYWCggLExsZKy5RKJWJjY5GXl2d0m7y8PIPyAKDRaKTyhYWF0Gq1BmXUajWioqLq3Gddjhw5gldffRXvv/8+lErT3qbKykqUlZUZ/BARETmD4OBgrF27Fn/++ae07MqVK8jOzkbbtm1tWDPrsVmIunjxIqqrq+Hv72+w3N/fH1qt1ug2Wq223vI1f5qzT2MqKyuRlJSE+fPnm/XBZ2ZmQq1WSz/BwcEmb0tERGTPIiIiEBwcjA0bNkjLNmzYgLZt26JXr17SssrKSjz33HNo3bo13N3d0a9fP+zZs8dgX1u3bkXHjh3h4eGB+++/H6dOnar1ej/88AP69+8PDw8PBAcH47nnnkNFRYXV2meMzQeWy9HkyZPRpUsXPPHEE2Zvp9PppJ+zZ89aqYZERER1+/13YMeO6382paeffhqrVq2Sfn/vvfcwevRogzIvv/wyPvvsM6xZswb79u1Dhw4doNFoUFJyfe63s2fP4tFHH0V8fDwOHDiAZ555Bq+88orBPk6ePImBAwdi6NCh+Omnn7Bu3Tr88MMPSE1NtX4jb2CzENWyZUu4uLigqKjIYHlRURECAgKMbhMQEFBv+Zo/zdmnMdu3b8f69evRrFkzNGvWDAMGDJDqPGPGjDq3c3Nzg7e3t8EPERFRU3r3XaBdO+CBB67/eYv7pxrVE088gR9++AGnT5/G6dOnsXPnToMOiYqKCrz55puYP38+Hn74YXTt2hXvvPMOPDw8pBu93nzzTYSGhmLhwoXo1KkTRo4ciaeeesrgdTIzMzFy5EikpaUhLCwMffv2xdKlS/H+++/jypUrTdZem4UolUqFyMhI5ObmSsv0ej1yc3MRHR1tdJvo6GiD8gCwbds2qXxISAgCAgIMypSVlSE/P7/OfRrz2Wef4eDBgzhw4AAOHDiAf/3rXwCA77//HhMmTDB5P0RERE3p99+BlBRA//+T/Ov1wLhxTdcj1apVK8TFxWH16tVYtWoV4uLi0LJlS2n9yZMncfXqVdxzzz3SMldXV/Tp0wdHjx4FABw9ehRRUVEG+735HH7w4EGsXr0aLVq0kH40Gg30ej0KCwut2EJDNp3iID09HcnJyejduzf69OmDrKwsVFRUSF1/o0aNQps2bZCZmQkAmDRpEmJiYrBw4ULExcVh7dq12Lt3L95++20AgEKhQFpaGubMmYOwsDBpioOgoCAkJCRIr3vmzBmUlJTgzJkzqK6uxoEDBwAAHTp0QIsWLRAaGmpQz4sXLwIAunTpYvKtlURERE3txIm/AlSN6mrg11+B229vmjo8/fTT0mW1FStWWOU1Ll26hHHjxuG5556rta4pB7HbNEQNHz4cFy5cQEZGBrRaLcLDw5GTkyMNDD9z5ozBnXF9+/ZFdnY2pk2bhilTpiAsLAwbN26U5ogCrl9rraioQEpKCkpLS9GvXz/k5ORIc0QBQEZGBtasWSP9XjPgbceOHbjvvvus3GoiIiLrCAsDlErDIOXiAnTo0HR1GDhwIKqqqqBQKKDRaAzWhYaGQqVSYefOnWjXrh0A4OrVq9izZ480n1OXLl3w5ZdfGmz3448/GvweERGBI0eOoENTNswYkydcILNxnigiIjJVY80T9a9/CeHiIgRw/c9//auRKliP5ORkMWTIEOl3nU5ncO4bMmSINE/UpEmTRFBQkPj3v/8tDh8+LJKTk8Vtt90mSkpKhBBCnD59WqhUKvHiiy+KY8eOiY8++kgEBAQYzBN18OBB4eHhISZMmCD2798vfvnlF7Fx40aDuSebYp4oPjuPiIjIgYwZA2g01y/hdejQdJfxblTfjVWvv/469Ho9nnzySZSXlyMyMhKbN2+Gp6cnqqqqEBAQgLVr1+Kll17CsmXL0KdPH/zzn//E008/Le3jzjvvxH/+8x9MnToV/fv3hxACoaGhGD58eFM0T6IQQogmfUUnUlZWBrVaDZ1Oxzv1zFBcXMxHfRCR07ly5QoKCwsREhJiMATFUV27dg3nz5+Xfq+uVuLatWZo1uwaXFz+uh7ZunVrNGvW+H0+9b3fpp6/2RNFslJcXIzly5ffslxqaiqDFBGRHdPfMHDr8uXmKC1VA1AAEPDx0aF588u1yskNQxTJys09UDqdF0pK/ODrWwy1urzOcs6EPXVE5Eiqq5U3BCgAUKC0VA03tysGPVJyxBBFsrVvXy9s2jQIQiihUOgRH78ZERH7bV0tm2JPHRE5mmvXmuGvAFVDgWvXmsHFRd5fmPnYF5Ilnc5LClAAIIQSmzYNgk7nZeOa2ZaxnrrCwva13hdn7qkjIvvSrNk1ADcPzxb/v1ze2BNFslRS4icFqBpCKFFS4mtwWc+ZsaeOyDE52/1eLi56+Pjoao2JsvalvMZ4nxmiSJZ8fYuhUOgNgpRCoYevb4kNayUfdfXUhYb+ypBJZKdcXV0BAJcvX4aHh4eNa9O0mje/DDe3K0bvzrOWy5evD1yved8twRBFsqRWlyM+fnOtnhYGhOvYU0fkeFxcXODj4yPd9t+8eXMoFDePFXIcVVVVuHbN8JKdi0sVhABuXHzlypVGvUNPCIHLly/j/Pnz8PHxgYuLi8X7Yogi2YqI2I/Q0F9RUuILX98ShoMbsKeOyDEFBAQAgMH8SY6quroa5eW3Pq6XlZU1KOjUxcfHR3q/LcUQRbKiUqkMflery42Gp5vLORv21BE5JoVCgcDAQLRu3RpXr161dXWs7o8//qi3na6urrjtttsa/XVdXV0bJZgxRJGs+Pn5ITU1lfMgmYA9dUSOy8XFxSq9L3ITGBho6yo0CEMUyQ4DUt3YU0dEJB8MUUR2hD11RETywRBFZGcYkIiI5IEzlhMRERFZgCGKiIiIyAIMUUREREQWYIgiIiIisgBDFBEREZEFeHceERE5lOLiYk4DQk2CIYqIiBxGcXExli9ffstyqampDFLUYLycR0REDuPmHiidzguFhe2h03nVW47IEuyJIiIih7RvX69aD+mOiNhv62qRA2FPFBERORydzksKUAAghBKbNg2q1SNF1BAMUURE5HBKSvykAFVDCCVKSnxtVCNyRAxRRETkcHx9i6FQ6A2WKRR6+PqW2KhG5IgYooiIyOGo1eWIj98sBamaMVFqdbmNa0aOhAPLiYjIIUVE7Edo6K8oKfGFr28JAxQ1OoYoIiJyGCqVyuB3tbrcaHi6uRyRJRiiiIjIYfj5+SE1NZUzllOTYIgiIiKHwoBETYUDy4mIiIgswBBFREREZAGGKCIiIiILMEQRERERWcDmIWrFihVo37493N3dERUVhd27d9dbfv369ejcuTPc3d3Ro0cPbN261WC9EAIZGRkIDAyEh4cHYmNjceLECYMyr732Gvr27YvmzZvDx8en1mscPHgQSUlJCA4OhoeHB7p06YIlS5Y0uK1ERETkOGwaotatW4f09HTMmDED+/btQ8+ePaHRaHD+/Hmj5Xft2oWkpCSMGTMG+/fvR0JCAhISEnDo0CGpzLx587B06VKsXLkS+fn58PT0hEajwZUrV6QyVVVVePzxxzF+/Hijr1NQUIDWrVvjww8/xOHDhzF16lRMnjwZy5cvb9w3gIiIiOyWQgghbPXiUVFRuOuuu6RwotfrERwcjIkTJ+KVV16pVX748OGoqKjA5s2bpWV33303wsPDsXLlSgghEBQUhBdeeAEvvvgiAECn08Hf3x+rV69GYmKiwf5Wr16NtLQ0lJaW3rKuEyZMwNGjR7F9+3aT21dWVga1Wg2dTgdvb2+TtyMiIiLbMfX8bbOeqKqqKhQUFCA2NvavyiiViI2NRV5entFt8vLyDMoDgEajkcoXFhZCq9UalFGr1YiKiqpzn6bS6XTw9a3/6d+VlZUoKysz+CEix1FcXIxz587V+VNcXGzrKhJRE7LZZJsXL15EdXU1/P39DZb7+/vj2LFjRrfRarVGy2u1Wml9zbK6ylhi165dWLduHbZs2VJvuczMTMyaNcvi1yEi+SouLjbpkn5qaioneyRyEjYfWC53hw4dwpAhQzBjxgw89NBD9ZadPHkydDqd9HP27NkmqiURWdvNjxHR6bxQWNgeOp1XveWIyHHZrCeqZcuWcHFxQVFRkcHyoqIiBAQEGN0mICCg3vI1fxYVFSEwMNCgTHh4uNl1PHLkCAYMGICUlBRMmzbtluXd3Nzg5uZm9usQkX3Zt68XNm0aBCGUUCj0iI/fjIiI/bauFhE1MZv1RKlUKkRGRiI3N1daptfrkZubi+joaKPbREdHG5QHgG3btknlQ0JCEBAQYFCmrKwM+fn5de6zLocPH8b999+P5ORkvPbaa2ZtS0SOS6fzkgIUAAihxKZNg2r1SBGR47PpA4jT09ORnJyM3r17o0+fPsjKykJFRQVGjx4NABg1ahTatGmDzMxMAMCkSZMQExODhQsXIi4uDmvXrsXevXvx9ttvAwAUCgXS0tIwZ84chIWFISQkBNOnT0dQUBASEhKk1z1z5gxKSkpw5swZVFdX48CBAwCADh06oEWLFjh06BAeeOABaDQapKenS+OpXFxc0KpVq6Z7g4hIdkpK/KQAVUMIJUpKfKFWl9uoVkRkCzYNUcOHD8eFCxeQkZEBrVaL8PBw5OTkSAPDz5w5A6Xyr4NV3759kZ2djWnTpmHKlCkICwvDxo0b0b17d6nMyy+/jIqKCqSkpKC0tBT9+vVDTk4O3N3dpTIZGRlYs2aN9HuvXr0AADt27MB9992HTz/9FBcuXMCHH36IDz/8UCrXrl07nDp1ylpvBxHZAV/fYigUeoMgpVDo4etbYsNaEZEt2HSeKEfHeaKIHMe5c+ekXu/6xkSlpKQYjMkkIvtj6vnbpj1RRET2KCJiP0JDf0VJiS98fUt4GY/ISTFEERGZQKVSGfyuVpcbDU83lyMix8UQRURkAj8/P6SmptY7D5RKpbJ4os3i4mKr7ZuIrIMhiojIRNYKMZwNncg+ccZyIiIb42zoRPaJPVFERDLC2dCJ7Ad7ooiIZIKzoRPZF4YoIiKZqG82dCKSH4YoIiKZqJkN/UacDZ1IvhiiiIhkQq0uR3z8ZilI1YyJ4mSeRPLEgeVERDLC2dCJ7AdDFBGRiaw1ISZnQyeyTwxRREQmsOaEmNaeDZ2IrIMhiojIBMYmxCwp8YOvb7FBr5GlE2IyIBHZH4YoIiIzcUJMIgJ4dx4RkVk4ISYR1WBPFNk9aw32JTKmvgkxeScdkXNhiCK7Zs3BvkTG1EyIeWOQ4oSYRM6Jl/PIrhkb7FtY2L7WpRVLB/sS3YwTYhJRDfZEkcPgYF9qKpwQk4gA9kSRg+BgX7I2YxNihoScrhWgOCEmkfNgTxQ5BA72JWvjhJhEdDOGKHIIHOxLTYEBiYhuxMt55BA42JeIiJoae6LIYXCwLxERNSWGKLJrxgb7GgtPHOxLRESNjSGK7BoH+xIRka0wRJHdY0AiIiJb4MByIiIiIgswRBERERFZgCGKiIiIyAIMUUREREQWYIgiIiIisgBDFBEREZEFGKKIiIiILMAQRURERGQBhigiIiIiC9g8RK1YsQLt27eHu7s7oqKisHv37nrLr1+/Hp07d4a7uzt69OiBrVu3GqwXQiAjIwOBgYHw8PBAbGwsTpw4YVDmtddeQ9++fdG8eXP4+PgYfZ0zZ84gLi4OzZs3R+vWrfHSSy/h2rVrDWorEREROQ6bhqh169YhPT0dM2bMwL59+9CzZ09oNBqcP3/eaPldu3YhKSkJY8aMwf79+5GQkICEhAQcOnRIKjNv3jwsXboUK1euRH5+Pjw9PaHRaHDlyhWpTFVVFR5//HGMHz/e6OtUV1cjLi4OVVVV2LVrF9asWYPVq1cjIyOjcd8AIiIisl/Chvr06SMmTJgg/V5dXS2CgoJEZmam0fLDhg0TcXFxBsuioqLEuHHjhBBC6PV6ERAQIObPny+tLy0tFW5ubuLjjz+utb9Vq1YJtVpda/nWrVuFUqkUWq1WWvbmm28Kb29vUVlZaXL7dDqdACB0Op3J2xAREZFtmXr+tllPVFVVFQoKChAbGystUyqViI2NRV5entFt8vLyDMoDgEajkcoXFhZCq9UalFGr1YiKiqpzn3W9To8ePeDv72/wOmVlZTh8+HCd21VWVqKsrMzgh4iIiByTzULUxYsXUV1dbRBUAMDf3x9ardboNlqttt7yNX+as09zXufG1zAmMzMTarVa+gkODjb5NYmIiMi+2HxguSOZPHkydDqd9HP27FlbV4mIiIisxGYhqmXLlnBxcUFRUZHB8qKiIgQEBBjdJiAgoN7yNX+as09zXufG1zDGzc0N3t7eBj9ERETkmGwWolQqFSIjI5Gbmyst0+v1yM3NRXR0tNFtoqOjDcoDwLZt26TyISEhCAgIMChTVlaG/Pz8OvdZ1+v8/PPPBncJbtu2Dd7e3ujatavJ+yEiIiLH1cyWL56eno7k5GT07t0bffr0QVZWFioqKjB69GgAwKhRo9CmTRtkZmYCACZNmoSYmBgsXLgQcXFxWLt2Lfbu3Yu3334bAKBQKJCWloY5c+YgLCwMISEhmD59OoKCgpCQkCC97pkzZ1BSUoIzZ86guroaBw4cAAB06NABLVq0wEMPPYSuXbviySefxLx586DVajFt2jRMmDABbm5uTfoeERERkUw10d2CdVq2bJlo27atUKlUok+fPuLHH3+U1sXExIjk5GSD8p988ono2LGjUKlUolu3bmLLli0G6/V6vZg+fbrw9/cXbm5uYsCAAeL48eMGZZKTkwWAWj87duyQypw6dUo8/PDDwsPDQ7Rs2VK88MIL4urVq2a1jVMcEBER2R9Tz98KIYSwYYZzaGVlZVCr1dDpdBwfRUREZCdMPX/z7jwiIiIiCzBEEREREVmAIYqIiIjIAgxRRERERBZgiCIiIiKyAEMUERERkQUYooiIiIgswBBFREREZAGbPvaF7FdxcTGqqqrqXK9SqeDn59eENSIiImpaDFFktuLiYixfvvyW5VJTUxmkiIjIYfFyHpnt5h4onc4LhYXtodN51VuOiIjIkbAnihpk375e2LRpEIRQQqHQIz5+MyIi9tu6WkRERFbHniiymE7nJQUoABBCiU2bBtXqkSIiInJEDFFksZISPylA1RBCiZISXxvViIiIqOkwRJHFfH2LoVDoDZYpFHr4+pbYqEZERERNh2OiCIBlUxao1eWIj99ca0yUWl1u7eoSERHZHEMUNWjKgoiI/QgN/RUlJb7w9S1hgCIiIqfBEEVGpywoKfGDr2+xQSiqKadSqQzKq9XlRsPTzeWcBSciJSJyDgxRZMCUKQv8/PyQmprKoGBEU0xEypBGRCQPDFEkqWvKgtDQX2v1NPEkbZy5vXrm4mzxRETywRBFkvqmLOBYJ/NZYyJSa4c0ajzsMSRyfAxRJKmZsuDGIMUpCyxjTq+epThbvHyxx5DIOXCeKJLUTFlQM/cTpyywnLUnIuVs8fLG50sSOQf2RJEBOUxZ4AiXQazdq8dLr/aDPYZEjoshimQ1ZYGjXAax9kSkvPRqH5risi4R2Y5FIWr37t3Iy8uDVqsFAAQEBCA6Ohp9+vRp1MpR05DTlAWONHDamr16nC3ePrDHkKhxye1KhVkh6vz58xg6dCh27tyJtm3bwt/fHwBQVFSE559/Hvfccw8+++wztG7d2iqVJeuRY6+OPV4GacpePTlceqX6sceQqPHI8UqFWSHq73//O6qrq3H06FF06tTJYN3x48fx9NNPY8KECVi/fn2jVpKcj71eBrF2r56cLr3SrZnTYyi3b9hEciPHKxVmhaivvvoK3333Xa0ABQCdOnXC0qVLcd999zVW3ciJ2fNlEGue6OR06ZVMY0qPoRy/YRPJmVyuVJgVotzc3FBWVlbn+vLycri5uTW4UkS8DFI3nkTlz9weQzl+wyaSKzldqTArRA0fPhzJyclYvHgxBgwYAG9vbwBAWVkZcnNzkZ6ejqSkJKtUlJwLB06TPWtIj6FcvmETyZWcrlSYFaIWLVoEvV6PxMREXLt2zeBbVLNmzTBmzBgsWLDAKhUl52OvA6c5toUAy3oM5fQNm0iu5HSlwuzLeW+++Sbmzp2LgoICgykOIiMjpZ4pIkvZ+8Bpjm2hhpDTN2wiuZLTlQqL5ony9vbG/fff39h1IbL7gdMc20INIadv2ERyJpcrFY06Y3lRURHeeustZGRkNOZuycnINSCZi2NbyFxy+oZNJDdyvFLRqCFKq9Vi1qxZDFHk9Di2hSwll2/YRHIjxysVylsX+ctPP/1U78/x48fNrsCKFSvQvn17uLu7IyoqCrt37663/Pr169G5c2e4u7ujR48e2Lp1q8F6IQQyMjIQGBgIDw8PxMbG4sSJEwZlSkpKMHLkSHh7e8PHxwdjxozBpUuXDMp89dVXuPvuu+Hl5YVWrVph6NChOHXqlNntI+dU39gWopsZ+4YdEnK6VoCS61hAoqbi5+eHwMDAOn+a+kqGWT1R4eHhUCgUEELUWlezXKFQmLy/devWIT09HStXrkRUVBSysrKg0Whw/Phxo4+O2bVrF5KSkpCZmYlBgwYhOzsbCQkJ2LdvH7p37w4AmDdvHpYuXYo1a9YgJCQE06dPh0ajwZEjR+Du7g4AGDlyJM6dO4dt27bh6tWrGD16NFJSUpCdnQ0AKCwsxJAhQ5Ceno6PPvoIOp0Ozz//PB599FHs27fPnLeMnBTHtpA55PgNm4huTSGMJaI6tGzZEvPmzcOAAQOMrj98+DDi4+NRXV1t0v6ioqJw1113SXcz6fV6BAcHY+LEiXjllVdqlR8+fDgqKiqwefNmadndd9+N8PBwrFy5EkIIBAUF4YUXXsCLL74IANDpdPD398fq1auRmJiIo0ePomvXrtizZw969+4NAMjJycEjjzyC33//HUFBQfj000+RlJSEyspKKJXXT4KbNm3CkCFDUFlZCVdXV5PaV1ZWBrVaDZ1OxzsXncS5c+fw9ttvA6h/TFRKSgoCAwNtWVUiIqqDqedvs3qiIiMj8b///Q/t2rUzur60tNRoL5UxVVVVKCgowOTJk6VlSqUSsbGxyMvLM7pNXl4e0tPTDZZpNBps3LgRwPUeJK1Wi9jYWGm9Wq1GVFQU8vLykJiYiLy8PPj4+EgBCgBiY2OhVCqRn5+Pv/3tb4iMjIRSqcSqVavw1FNP4dKlS/jggw8QGxtbb4CqrKxEZWWl9Ht9s7uT4+PYFiIix2bWmKhnn30W7du3r3N927ZtsWrVKpP2dfHiRVRXV8Pf399gub+/vzT/1M20Wm295Wv+vFWZmy8VNmvWDL6+vlKZkJAQfP3115gyZQrc3Nzg4+OD33//HZ988km9bcrMzIRarZZ+goOD6y1PjodjW4iInIdZPVF/+9vf6l1/2223ITk5uUEVkgOtVouxY8ciOTkZSUlJKC8vR0ZGBh577DFs27atznFfkydPNugpKysrY5ByMhzbQkTkPBp1igNztGzZEi4uLigqKjJYXlRUhICAAKPbBAQE1Fu+5s+ioiKD8SZFRUUIDw+Xypw/f95gH9euXUNJSYm0/YoVK6BWqzFv3jypzIcffojg4GDk5+fj7rvvNlo/Nzc3PoCZGJCIiJyEWSHq5vFIdVm0aNEty6hUKkRGRiI3NxcJCQkArg8sz83NRWpqqtFtoqOjkZubi7S0NGnZtm3bEB0dDeD6ZbiAgADk5uZKoamsrAz5+fkYP368tI/S0lIUFBQgMjISALB9+3bo9XpERUUBAC5fviwNKK/h4uIi1ZGIiIjIrBC1f7/hbMs//PADIiMj4eHhIS0zZ4qD9PR0JCcno3fv3ujTpw+ysrJQUVGB0aNHAwBGjRqFNm3aIDMzEwAwadIkxMTEYOHChYiLi8PatWuxd+9e6W4ohUKBtLQ0zJkzB2FhYdIUB0FBQVJQ69KlCwYOHIixY8di5cqVuHr1KlJTU5GYmIigoCAAQFxcHBYvXoxXX31Vupw3ZcoUtGvXDr169TLnLSMiIiJHJRqgRYsW4uTJkw3ZhVi2bJlo27atUKlUok+fPuLHH3+U1sXExIjk5GSD8p988ono2LGjUKlUolu3bmLLli0G6/V6vZg+fbrw9/cXbm5uYsCAAeL48eMGZYqLi0VSUpJo0aKF8Pb2FqNHjxbl5eUGZT7++GPRq1cv4enpKVq1aiUGDx4sjh49albbdDqdACB0Op1Z2xEREZHtmHr+NmueqJt5eXnh4MGDuOOOOxov1TkQzhNFRERkf0w9f5s1xQERERERXccQRURERGQBswaW//TTTwa/CyFw7NixWg/vvfPOOxteMyIiIiIZM2tMlFKpNOkBxKY+O8/RcUwUERGR/bHKs/MKCwsbXDEiIiIiR2BWiKrrwcNERM6guLiYj/QhIkmjPPblgQcewKpVqxiyiMhhFRcXY/ny5bcsl5qayiBF5CTMClFffvml0eXfffcdNm/eLD1sd/DgwQ2vGRngN2Ai27r5/59O54WSEj/4+hZDrS6vsxwROS6zQlRCQkKdA8snTpwIABxYbgX8BkwkL/v29cKmTYMghBIKhR7x8ZsREbH/1hsSkUMxa54ojUaDhx9+GFqtFnq9XvpxcXHBoUOHoNfrGaCswNg34MLC9tDpvOotR0SNT6fzkgIUAAihxKZNg2r9fyQix2dWT9S///1vLF68GL1798Ybb7yBQYMGWateVAd+AyZnIsfL2CUlflKAqiGEEiUlvgaX9YjI8Zk9sPz555/H/fffj5EjR2LTpk1YvHixNepFRtT1DTg09FcevMnhyPUytq9vMRQKvUGQUij08PUtabI6EJE8WPTYl/DwcOzduxcKhQLh4eFGx0hR46vvGzCRo5HrZWy1uhzx8ZuhUOgBQOoR5hcZIudj8RQHHh4eWLlyJb788kvs2LEDLVu2bMx6kRH8BkzOSm6XsSMi9iM09FeUlPjC17eEAYrISZnVE7V9+3Z07doVZWVl0rLBgwdj8eLFcHNzQ7du3fD99983eiXpOn4DJmckl4HcKpXK4He1uhwhIadr/f+7uRwROS6zeqKysrIwduxYo8+RUavVGDduHBYtWoT+/fs3WgXJEL8Bk7ORy0BuPz8/pKamym6gOxHZjlkh6uDBg5g7d26d6x966CEsWLCgwZUiQ8a+ARs7efAbMDkiOV3GZkAiohuZFaKKiorg6upa986aNcOFCxcaXCkyxG/A5MxqLmPfPCbK2Xth5Tj9A5GzMStEtWnTBocOHUKHDh2Mrv/pp58QGBjYKBUjIqrBy9iG5Dr9A5GzMStEPfLII5g+fToGDhwId3d3g3V//vknZsyYwQk4rYAHzMbFb/D2gZex68bn+BHJg1khatq0adiwYQM6duyI1NRUdOrUCQBw7NgxrFixAtXV1Zg6dapVKurMeMBsPHIMpAx1xvEytmnkNv0DkTMxK0T5+/tj165dGD9+PCZPnixNsqlQKKDRaLBixQr4+/tbpaJ0HQ+YDSO3QCrHUCcnzthmc/ApBkS2ZfZkm+3atcPWrVvxxx9/4Ndff4UQAmFhYbjtttusUT+6AQ+YjUsOgVRuoY7si1ymfyByVhbPWH7bbbfhrrvuasy60C3wgNl45BhI5RDqyL7IafoHImdk0bPzyDZqDpg34gHTMnJ7DqFcZuUm+8KnGBDZlsU9UdT0OF+OcZYMzJbbN3j2MpKlOP0Dke0wRNkZHjAN3Twwu64xRTcPzJZbIDUn1PFuPuL0D0TywBBlB3jArNuNYaK+MUXGQoecAqmpoY538xHA6R+I5IIhyg7wgHlrpg4Ul3MgNSXU8W4+quHM/9+J5IIhyk7wgFk/U8cUyS2QNiTU8W4+IiLbYogih2DOmCI5BVJLQ50cp2ggInI2DFHkEOQ2UNwcloQ63s1HRGR7DFHkMOQ0UNza5DZFAxGRM+Jkm+RQ1OpyhIScdugABXCSRSIiOWBPFNk1U++ic8TpH5yp542ISI4Yosiuye1uO8C6k2HKeYoGIiJnoxBCCFtWYMWKFZg/fz60Wi169uyJZcuWoU+fPnWWX79+PaZPn45Tp04hLCwMc+fOxSOPPCKtF0JgxowZeOedd1BaWop77rkHb775JsLCwqQyJSUlmDhxIjZt2gSlUomhQ4diyZIlaNGihcF+Fi5ciLfffhunT59Gy5Yt8fe//x1Tp041uW1lZWVQq9XQ6XTw9vY2850he9QUk2FyxnIiIusy9fxt0zFR69atQ3p6OmbMmIF9+/ahZ8+e0Gg0OH/+vNHyu3btQlJSEsaMGYP9+/cjISEBCQkJOHTokFRm3rx5WLp0KVauXIn8/Hx4enpCo9HgypUrUpmRI0fi8OHD2LZtGzZv3ozvvvsOKSkpBq81adIk/Otf/8KCBQtw7NgxfPnll/WGOyLA+GSYhYXtaz1IuCGTYfr5+SEwMLDOHwYoIqKmYdOeqKioKNx1113SN3e9Xo/g4GBMnDgRr7zySq3yw4cPR0VFBTZv3iwtu/vuuxEeHo6VK1dCCIGgoCC88MILePHFFwEAOp0O/v7+WL16NRITE3H06FF07doVe/bsQe/evQEAOTk5eOSRR/D7778jKCgIR48exZ133olDhw6hU6dOFrePPVHO59y5c3j77bcB1D8ZZkpKCgIDA21ZVSIiqoPse6KqqqpQUFCA2NjYvyqjVCI2NhZ5eXlGt8nLyzMoDwAajUYqX1hYCK1Wa1BGrVYjKipKKpOXlwcfHx8pQAFAbGwslEol8vPzAQCbNm3CHXfcgc2bNyMkJATt27fHM888g5IS3j5OpqlrMsybe6SIiMh+2Wxg+cWLF1FdXQ1/f3+D5f7+/jh27JjRbbRardHyWq1WWl+zrL4yrVu3NljfrFkz+Pr6SmV+++03nD59GuvXr8f777+P6upqPP/883jsscewffv2OttUWVmJyspK6feysrI6y5Jj42SYRGQpjnu0H7w7zwi9Xo/Kykq8//776NixIwDg3XffRWRkJI4fP17nJb7MzEzMmjWrKatKMsXJMInIEk1xcwo1HptdzmvZsiVcXFxQVFRksLyoqAgBAQFGtwkICKi3fM2ftypz88D1a9euoaSkRCoTGBiIZs2aSQEKALp06QIAOHPmTJ1tmjx5MnQ6nfRz9uzZOsuSY+NkmERkiaa4OYUaj816olQqFSIjI5Gbm4uEhAQA13uAcnNzkZqaanSb6Oho5ObmIi0tTVq2bds2REdHAwBCQkIQEBCA3NxchIeHA7h+SS0/Px/jx4+X9lFaWoqCggJERkYCALZv3w69Xo+oqCgAwD333INr167h5MmTCA0NBQD88ssvAIB27drV2SY3Nze4ublZ9oaQw+FkmETUEPXdnELyYNPLeenp6UhOTkbv3r3Rp08fZGVloaKiAqNHjwYAjBo1Cm3atEFmZiaA69MOxMTEYOHChYiLi8PatWuxd+9e6W4ohUKBtLQ0zJkzB2FhYQgJCcH06dMRFBQkBbUuXbpg4MCBGDt2LFauXImrV68iNTUViYmJCAoKAnB9oHlERASefvppZGVlQa/XY8KECXjwwQcNeqeIbsbJMImoMdR1c0po6K/8QiYjNg1Rw4cPx4ULF5CRkQGtVovw8HDk5ORIA8PPnDkDpfKvK459+/ZFdnY2pk2bhilTpiAsLAwbN25E9+7dpTIvv/wyKioqkJKSgtLSUvTr1w85OTlwd3eXynz00UdITU3FgAEDpMk2ly5dKq1XKpXYtGkTJk6ciHvvvReenp54+OGHsXDhwiZ4V8ieyXEGdSKyP7w5xT7YfMZyR8Z5ooiIyBw1c83pdF7IykqrdXNKWloW1OpyzjVnZbKfJ4qIiIiM480p9oFTHBAREckQb06RP4YoIiIimeDNKfaFIYqIiEgmeHOKfWGIIiIikhEGJPvBgeVEREREFmCIIiIiIrIAQxQRERGRBRiiiIiIiCzAEEVERERkAYYoIiIiIgtwigNyOsXFxZyDhYiIGowhipxKcXExli9ffstyqampDFJERFQvhihyKjf3QOl0Xigp8YOvb7HBoxXq66kikgP2qBLZHkMUOa19+3ph06ZBEEIpPSE9ImK/ratFdEvsUW1cDKRkKYYocko6nZcUoABACCU2bRqE0NBf+aR0kj32qDYeBlJqCIYockolJX5SgKohhBIlJb4MUTLCHoJbY49qw5gaNBlIyRiGKHJKvr7FUCj0BkFKodDD17fEhrWiG7GH4NbYo9r46urVIzKGIYqcklpdjvj4zbW+wfOgKR+8ZHVr7FFtXOzVI3MxRJHTiojYj9DQX1FS4gtf3xKedGSMJzfj2KPaeNirR5bgjOXkVFQqlcHvanU5QkJO1zpI3lyObKeuk5tO52XjmtleTY+qQqEHAPaoNkB9vXpEdWFPFDkVPz8/pKamcrCyHZHTJSs5DnRnj2rjYK8eWYIhykHJ8WAvF87abnsll5ObnAa6G+tRNRae2KNqOo6TJEswRDkgOR3siRpKLic3OQ10Z49q47kxaNbXq8dASsYwRDkgOR3siRqD3C5ZyWGgOwNS42AgpYZgiHJwcjjYE1lCrpeseBeX42FAIksxRDkwHuzJnsm1h0BOA92JyLYYohxQaWkpgFsf7EtLSxEYGGiDGhKZRo49BHIZ6E5Etsd5ohzQtWvXAPx1sL/RjQf7mnJEZDrOzURENdgT5cDU6nLceedPOHiwJwAFAIE77/yJB3uiBpLbQHcisg32RDkwnc4LP/10J64HKABQ4Kef7uRMz0QW4Gz3RHQz9kQ5IFdXVwC3HhNVU46Ibk2uA92JzGXNyZidbaJnhigHpFarAdx6AGxNOSIyjSMd/Mk5WXMyZmec6JmX8xwYB8ASEdGNjE3GXFjYvtYwD0smY7bmvuWKPVEOzh4HwDpbdzARkS1YczJmZ5nomSHKAcl1pmdTOGN3MBFRU6mZR/BWkzE3ZB5BZ5romSHKAdnzAFg+94+IyHpq5ge81Y1HDZlH0Jlm9ZfFmKgVK1agffv2cHd3R1RUFHbv3l1v+fXr16Nz585wd3dHjx49sHXrVoP1QghkZGQgMDAQHh4eiI2NxYkTJwzKlJSUYOTIkfD29oaPjw/GjBmDS5cuGX29X3/9FV5eXvDx8WlQO5uSn58fAgMD6/yRY4C62b59vZCVlYY1a5KRlZWGfft62bpKREQO4VaTMct133Jj8xC1bt06pKenY8aMGdi3bx969uwJjUaD8+fPGy2/a9cuJCUlYcyYMdi/fz8SEhKQkJCAQ4cOSWXmzZuHpUuXYuXKlcjPz4enpyc0Gg2uXLkilRk5ciQOHz6Mbdu2YfPmzfjuu++QkpJS6/WuXr2KpKQk9O/fv/EbT3WqqzuYc1wRETVczWTMgPj/JY03GbMz3dRk8xC1aNEijB07FqNHj0bXrl2xcuVKNG/eHO+9957R8kuWLMHAgQPx0ksvoUuXLpg9ezYiIiKkcTRCCGRlZWHatGkYMmQI7rzzTrz//vv43//+h40bNwIAjh49ipycHPzrX/9CVFQU+vXrh2XLlmHt2rX43//+Z/B606ZNQ+fOnTFs2DCrvg9kqL7uYCIiahhrT8YcEbEfaWlZSE5ejbS0LIccVA7YOERVVVWhoKAAsbGx0jKlUonY2Fjk5eUZ3SYvL8+gPABoNBqpfGFhIbRarUEZtVqNqKgoqUxeXh58fHzQu3dvqUxsbCyUSiXy8/OlZdu3b8f69euxYsUKk9pTWVmJsrIygx+yjDN1BxMRNRVTJmO+sZw5nHFWf5sOLL948SKqq6vh7+9vsNzf3x/Hjh0zuo1WqzVaXqvVSutrltVXpnXr1gbrmzVrBl9fX6lMcXExnnrqKXz44Yfw9vY2qT2ZmZmYNWuWSWWpfjXdwTffIuuI3cFERE3FmpMx2/NNTZbi3Xl1GDt2LEaMGIF7773X5G0mT56M9PR06feysjIEBwdbo3pOwR7nuCIisgfW+qLqSAHJFDYNUS1btoSLiwuKiooMlhcVFSEgIMDoNgEBAfWWr/mzqKjIYI6LoqIihIeHS2VuHrh+7do1lJSUSNtv374dX375JRYsWADg+lgrvV6PZs2a4e2338bTTz9dq25ubm5wc3MztflkhD3PcUXkzDhJrn248dhZ3xdVHmNNY9MQpVKpEBkZidzcXCQkJAAA9Ho9cnNzkZqaanSb6Oho5ObmIi0tTVq2bds2REdHAwBCQkIQEBCA3NxcKTSVlZUhPz8f48ePl/ZRWlqKgoICREZGArgemvR6PaKiogBcHzdVXV0tvcYXX3yBuXPnYteuXWjTpk1jvg10A2fsDiayd5wk137wGNu4bH45Lz09HcnJyejduzf69OmDrKwsVFRUYPTo0QCAUaNGoU2bNsjMzAQATJo0CTExMVi4cCHi4uKwdu1a7N27F2+//TYAQKFQIC0tDXPmzEFYWBhCQkIwffp0BAUFSUGtS5cuGDhwIMaOHYuVK1fi6tWrSE1NRWJiIoKCgqQyN9q7dy+USiW6d+/eRO+M8+J/XiL7Yurkt5wkVx7MOcayh7F+Ng9Rw4cPx4ULF5CRkQGtVovw8HDk5ORIA8PPnDkDpfKvgW99+/ZFdnY2pk2bhilTpiAsLAwbN240CDcvv/wyKioqkJKSgtLSUvTr1w85OTlwd3eXynz00UdITU3FgAEDoFQqMXToUCxdurTpGk5E5KDqetIA2Rf2MN6aQgghbl2MLFFWVga1Wg2dTmfyHX5ERPbm3Llz0tWA+h48m5KSYvHz2Kjp3fi5AnWHY0f8XE09f9u8J4rI2bG7nByFMz141tnUF46dGUMUkQ2xu7xxWTuQMvDWz5kePOtMGI7rxhBFZEM3n5Dr6i7ngNxbs3YgdbbAa0lgvNUEjmSfGI7rxhBFJBPsLm8YawdSZwq8lgZGPmnAMTEc140hikgG2F3euKwdSB098JobGDmBo2NjOK4bQxSRDLC7vPFYO5A6W+A1JTByAkfHx8dwGccQRXbPEQb7sru88Vg7kDpT4DUnMMr9/xiZj4/hujWGKLJrjjLYl93ljcfagdSZAq8zBUaqjT2Mt8YQRXbNkQb7sru8cVg7kDpT4HWmwEjGOXNAMgVDFDkMexzsy+5y67B2IHWWwOtMgZHIEgxR5BDsdbAvu8sbj7UDqbMGXmcJjESWYIgih2DPYzcYkBqHtQOpMwVeZw2MROZiiCKHwLEbBFg/kDpCQDKFMwVGooZgiCKHwLEb1BQcYToNUzlKO4isiSGKHAbHbpA1Ocp0GkTUeBiiyK5x7AY1FUeaToOIGgdDFNk1jt0gW7DH6TSIqPExRJHdY0CipmSv02nIjTONLyPHxRBFRGQGe55OQy44vowsJbfwzRBFRGQGTqfRcBxfRpaQY/hmiCIiMgOn02hcHF9GppJj+GaIIiIyE6fTaBwcX0aWkkv4Vt66CBERGZtOIyTkdK2TPafTMF1948uI6lJX+NbpvJq8LgxRRERkEzXjy27E8WV0K3IK3wxRREQmMDYeo7Cwfa1vvxwMbbqa8WU1QYrjy8gUcgrfHBNFRGQmuYzHcAQcX0bmktPNHQxRRERm4GDohuPjmqih5BK+GaKIiMzAyTYbjo9rIkvIMXwzRJHTkduMt2RfONlm4+D/MQLMOx7LMXwzRJFTkeOMt2Rf5DQeg8ieWXI8lttxmSGKnIocZ7wl+1BaWir9vb7xGKWlpQgMDLRBDYnsiyMcjxmiyGnxDisyh0KhMLbUxHJE1uMIQxTs9XjMEEVOiXdYkbnUarX09/oO+DeWcyaOcCK3R44wRMGej8cMUeSUeIcVWcqeD/jW4ggncnvlCJfE7Pl4zBBFTol3WDmmpugNsecDvrU4woncEdjrJTF7Ph4zRJFT4h1WjqepekPs+YDfFEw9kfPyX+Oy5x5Sez4eyyJErVixAvPnz4dWq0XPnj2xbNky9OnTp87y69evx/Tp03Hq1CmEhYVh7ty5eOSRR6T1QgjMmDED77zzDkpLS3HPPffgzTffRFhYmFSmpKQEEydOxKZNm6BUKjF06FAsWbIELVq0AAB8++23WLx4MXbv3o2ysjKEhYXhpZdewsiRI633RlCTstaMtzw52EZT9YbY8wHf2kw9kfPyX+Oz9x5SucxAbi6bh6h169YhPT0dK1euRFRUFLKysqDRaHD8+HG0bt26Vvldu3YhKSkJmZmZGDRoELKzs5GQkIB9+/ahe/fuAIB58+Zh6dKlWLNmDUJCQjB9+nRoNBocOXIE7u7uAICRI0fi3Llz2LZtG65evYrRo0cjJSUF2dnZ0uvceeed+Mc//gF/f39s3rwZo0aNglqtxqBBg5ruDaJGZe0Zb3lykAdrX9aw1wO+tZl6Iuflv8Znjz2kcpyB3Fw2D1GLFi3C2LFjMXr0aADAypUrsWXLFrz33nt45ZVXapVfsmQJBg4ciJdeegkAMHv2bGzbtg3Lly/HypUrIYRAVlYWpk2bhiFDhgAA3n//ffj7+2Pjxo1ITEzE0aNHkZOTgz179qB3794AgGXLluGRRx7BggULEBQUhClTphi87qRJk/D1119jw4YNDFF2zM/PD0888QQuX75cZ5nmzZtbHHB4crA9a13WcIQDvrVZciK313E8cmOPPaRynIHcXDYNUVVVVSgoKMDkyZOlZUqlErGxscjLyzO6TV5eHtLT0w2WaTQabNy4EQBQWFgIrVaL2NhYab1arUZUVBTy8vKQmJiIvLw8+Pj4SAEKAGJjY6FUKpGfn4+//e1vRl9bp9OhS5cudbansrISlZWV0u9lZWV1N55sori4GB9++OEtyzVGTxFPDrZhzmUNe3/khNyYeyK353E8cmSPPaT2/v/FpiHq4sWLqK6uhr+/v8Fyf39/HDt2zOg2Wq3WaHmtViutr1lWX5mbLxU2a9YMvr6+UpmbffLJJ9izZw/eeuutOtuTmZmJWbNm1bmebK+peop4crAdU3tDHOGRE3Jkzonc3sfxyAF7SG3L5pfz7MGOHTswevRovPPOO+jWrVud5SZPnmzQS1ZWVobg4OCmqCJZwJo9RTw52I6pvSG89Np4LD2R2+M4HrlhD6lt2TREtWzZEi4uLigqKjJYXlRUhICAAKPbBAQE1Fu+5s+ioiKD51cVFRUhPDxcKnP+/HmDfVy7dg0lJSW1Xvc///kP4uPjsXjxYowaNare9ri5ucHNza3eMiQP1u4p4snBtsy9rMFLrw1j6YncHsfxyBEDku0ob13EelQqFSIjI5Gbmyst0+v1yM3NRXR0tNFtoqOjDcoDwLZt26TyISEhCAgIMChTVlaG/Px8qUx0dDRKS0tRUFAgldm+fTv0ej2ioqKkZd9++y3i4uIwd+5cpKSkNLzBJBv19RQ1hpqTg0KhBwCeHJqAsd6QkJDTtd7zm8vVFah1Oi/rVtjB+Pn5ITAwsM6fuk70ERH7kZaWheTk1UhLy2J4Jbti88t56enpSE5ORu/evdGnTx9kZWWhoqJCultv1KhRaNOmDTIzMwFcv0suJiYGCxcuRFxcHNauXYu9e/fi7bffBnD94Z9paWmYM2cOwsLCpCkOgoKCkJCQAADo0qULBg4ciLFjx2LlypW4evUqUlNTkZiYiKCgIADXL+ENGjQIkyZNwtChQ6WxUiqVCr6+jXOiJduxVk+RTqeT/l5fb4hOpzPoKaWGs7Q3hJdemx7H8ZCjsHmIGj58OC5cuICMjAxotVqEh4cjJydHGhh+5swZKJV/HeD69u2L7OxsTJs2DVOmTEFYWBg2btwozREFAC+//DIqKiqQkpKC0tJS9OvXDzk5OdIcUQDw0UcfITU1FQMGDJAm21y6dKm0fs2aNbh8+TIyMzOlAAcAMTEx+Pbbb634jlBTsNZlBCGEkaUKE8tRQ1lyWYOXXpsex/GQo1AIHs2tpqysDGq1GjqdDt7e3rauDgE4d+6c1GsJ1Awmrt1TlJKSYlFP0Y37r2+cjaX7p8bDz4qI6mLq+dvmPVFETampLiNwigP7Yo/z6xCR7TFEkVNpqssIHGcjfxyXQzX4vEuyFEMU2T1zD4BNcTDkOBv547gcAvi8S2oYhiiya3I9AHL+G/tgzydF9p40Dk66Sg3BEEV2Tc4HQI6zIWuR65cHeyeXSVftOSDbc90twRBFDkMOB0COs7Etax/A5XKCkPOXB3sll5tB7Dkg23PdLcUQRQ5BLgdAjrOxHWsfwOV6gpDDlwdHYM7NINYM0/YckO257pZiiCKHIKe74RiQbMPaB3A5niDk8uXBEZh6M8jNYbqufweNEabtOSDbc93NwRBFDoF3w9GNrH0Al8sJQk5fHuydqTeD3BiS6/t30NAwbc8B2Z7rbi6GKHIIvBuOalj7AC6nEwS/PDQuc24Gsfa/A3sOyPZcd3MxRJHD4N1wBFj/AC6nEwS/PDScpTeDWPvfgT0HZHuuu7kYosiu8W44upm1D+ByO0Hwy0PDWHoziLX/HdhzQLbnupuLIYrsmp+fH5544glcvny5zjLNmzfnYG8nYu0DuBxOEPzy0LgsOT40xb8Dew7I9lx3czBEkV0rLi7Ghx9+eMtyjjQvCd2atQ/gtj5BcCoNebDGvwN7Dsj2XHdLMUSRXTP1DhhHmpfEmuQymaQlrH0Al9sJQq6fg7Op69+Bpew5INtz3S3FEEUOpa45W+jW5DqZpKmsfQA3d//2HEipbqaG5IaEaXv+d2HPdbcEQxQ5DLnM3WOv2Kt3a6aeIOw9kFLdnLG3herGEEUOQU5z9zgKe+vVk1NwkePs5lQ3c3sNGZCoBkOUg3K2SwlymrvH2pris7XHXj05BRedTif9fd++Xvjyy0EAlAD0GDz4r/dSp9MhMDDQ6vWhuskpfJP9YYhyQM54UJDb3D3W0hSfrSP06tk6BF69ehXA9ffyrwAFAEp8+eVf72VNObIdOYVvsj8MUQ7IGQ8Kcpi7x1Lm9Cw1xWdr7716cgqBZ88G468AVUOJs2dvh1p9tEnrQrdm6/BN9ochysE5+kHhxjtg6puzRa7zkjSkZ8lan6299+rZewgk25BT+Cb7wRDlwJzhoGDvd8pY2rNkzc/Wnnv1AHmFwODgswAEAIVBXYKDf2/yulD9GL7JEgxRDsxZDgpyDUjmMqdnyRqfrb336tWQUwhUq8sxePAmWdSF6ien8E32gyHKgfGgYD/M7Vmyxmdr7716N7L1Y1maNfvr0FpfXW4sR7Ylp/BN9oP/gx0YDwr2w9yeJWt9tvYQkOoip8ey+Pj4mFSXm8uRbdk6fJP9YYhycDwo2AdLepb42RqSU09aUzwahBqHnMI32R+GKAfEg4L9MbVniZ9t/eTSkyanQEf142dFDcEQ5YB4ULBPpvQs8bO1H/wM7Ac/K7IUQ5SD4kHBPljSs8TPlohIHhiiiGyIPUtERPaLIYrIxhiQiIjs080PdSIiIiIiEzBEEREREVmAIYqIiIjIAgxRRERERBZgiCIiIiKygCxC1IoVK9C+fXu4u7sjKioKu3fvrrf8+vXr0blzZ7i7u6NHjx7YunWrwXohBDIyMhAYGAgPDw/ExsbixIkTBmVKSkowcuRIeHt7w8fHB2PGjMGlS5cMyvz000/o378/3N3dERwcjHnz5jVOg4mIiMju2TxErVu3Dunp6ZgxYwb27duHnj17QqPR4Pz580bL79q1C0lJSRgzZgz279+PhIQEJCQk4NChQ1KZefPmYenSpVi5ciXy8/Ph6ekJjUaDK1euSGVGjhyJw4cPY9u2bdi8eTO+++47pKSkSOvLysrw0EMPoV27digoKMD8+fMxc+ZMvP3229Z7M4iIiMh+CBvr06ePmDBhgvR7dXW1CAoKEpmZmUbLDxs2TMTFxRksi4qKEuPGjRNCCKHX60VAQICYP3++tL60tFS4ubmJjz/+WAghxJEjRwQAsWfPHqnMv//9b6FQKMR///tfIYQQb7zxhrjttttEZWWlVOYf//iH6NSpk8lt0+l0AoDQ6XQmb0NERES2Zer526Y9UVVVVSgoKEBsbKy0TKlUIjY2Fnl5eUa3ycvLMygPABqNRipfWFgIrVZrUEatViMqKkoqk5eXBx8fH/Tu3VsqExsbC6VSifz8fKnMvffea/C4DY1Gg+PHj+OPP/4wWrfKykqUlZUZ/BAREZFjsumM5RcvXkR1dTX8/f0Nlvv7++PYsWNGt9FqtUbLa7VaaX3NsvrKtG7d2mB9s2bN4Ovra1AmJCSk1j5q1t1222216paZmYlZs2bVWs4wRUREZD9qzttCiHrL8bEvjWjy5MlIT0+Xfv/vf/+Lrl27Ijg42Ia1IiIiIkuUl5dDrVbXud6mIaply5ZwcXFBUVGRwfKioiIEBAQY3SYgIKDe8jV/FhUVITAw0KBMeHi4VObmgevXrl1DSUmJwX6Mvc6Nr3EzNzc3uLm5Sb+3aNECZ8+ehZeXFxQKhdFtLFFWVobg4GCcPXsW3t7ejbZfuXD09gGO30ZHbx/g+G1k++yfo7fRmu0TQqC8vBxBQUH1lrNpiFKpVIiMjERubi4SEhIAAHq9Hrm5uUhNTTW6TXR0NHJzc5GWliYt27ZtG6KjowEAISEhCAgIQG5urhSaysrKkJ+fj/Hjx0v7KC0tRUFBASIjIwEA27dvh16vR1RUlFRm6tSpuHr1KlxdXaXX6dSpk9FLecYolUrcfvvtZr0n5vD29nbI/xg1HL19gOO30dHbBzh+G9k+++fobbRW++rrgaph8ykO0tPT8c4772DNmjU4evQoxo8fj4qKCowePRoAMGrUKEyePFkqP2nSJOTk5GDhwoU4duwYZs6cib1790qhS6FQIC0tDXPmzMGXX36Jn3/+GaNGjUJQUJAU1Lp06YKBAwdi7Nix2L17N3bu3InU1FQkJiZKqXPEiBFQqVQYM2YMDh8+jHXr1mHJkiUGl+uIiIjIedl8TNTw4cNx4cIFZGRkQKvVIjw8HDk5OdIg7jNnzkCp/Cvr9e3bF9nZ2Zg2bRqmTJmCsLAwbNy4Ed27d5fKvPzyy6ioqEBKSgpKS0vRr18/5OTkwN3dXSrz0UcfITU1FQMGDIBSqcTQoUOxdOlSab1arcbXX3+NCRMmIDIyEi1btkRGRobBXFJERETkxJpkwgVqVFeuXBEzZswQV65csXVVrMLR2yeE47fR0dsnhOO3ke2zf47eRjm0TyHELe7fIyIiIqJabD4mioiIiMgeMUQRERERWYAhioiIiMgCDFFEREREFmCIkokVK1agffv2cHd3R1RUFHbv3l1v+aysLHTq1AkeHh4IDg7G888/jytXrjRon9bU2O2bOXMmFAqFwU/nzp2t3Yw6mdO+q1ev4tVXX0VoaCjc3d3Rs2dP5OTkNGifTaGx2yinz/C7775DfHw8goKCoFAosHHjxltu8+233yIiIgJubm7o0KEDVq9eXauMXD5Da7TPnj+/c+fOYcSIEejYsSOUSqXB5M03Wr9+PTp37gx3d3f06NEDW7dubfzKm8gabVy9enWtz/DGqYCakrnt27BhAx588EG0atUK3t7eiI6OxldffVWrnLX/DzJEycC6deuQnp6OGTNmYN++fejZsyc0Gk2tR9PUyM7OxiuvvIIZM2bg6NGjePfdd7Fu3TpMmTLF4n1akzXaBwDdunXDuXPnpJ8ffvihKZpTi7ntmzZtGt566y0sW7YMR44cwbPPPou//e1v2L9/v8X7tDZrtBGQz2dYUVGBnj17YsWKFSaVLywsRFxcHO6//34cOHAAaWlpeOaZZwwO4nL6DK3RPsB+P7/Kykq0atUK06ZNQ8+ePY2W2bVrF5KSkjBmzBjs378fCQkJSEhIwKFDhxqz6iazRhuB67N93/gZnj59urGqbBZz2/fdd9/hwQcfxNatW1FQUID7778f8fHxTX8ctdnkCiTp06ePmDBhgvR7dXW1CAoKEpmZmUbLT5gwQTzwwAMGy9LT08U999xj8T6tyRrtmzFjhujZs6dV6msuc9sXGBgoli9fbrDs0UcfFSNHjrR4n9ZmjTbK6TO8EQDx+eef11vm5ZdfFt26dTNYNnz4cKHRaKTf5fYZ1mis9tnz53ejmJgYMWnSpFrLhw0bJuLi4gyWRUVFiXHjxjWwhg3XWG1ctWqVUKvVjVavxmJu+2p07dpVzJo1S/q9Kf4PsifKxqqqqlBQUIDY2FhpmVKpRGxsLPLy8oxu07dvXxQUFEjdkr/99hu2bt2KRx55xOJ9Wos12lfjxIkTCAoKwh133IGRI0fizJkz1mtIHSxpX2VlZa0ucw8PD+lbvJw+P0vrc6s21pDDZ2iJvLw8g/cDADQajfR+yO0zNNet2lfDXj8/U5j6Hti7S5cuoV27dggODsaQIUNw+PBhW1fJInq9HuXl5fD19QXQdP8HGaJs7OLFi6iurpYec1PD398fWq3W6DYjRozAq6++in79+sHV1RWhoaG47777pMtdluzTWqzRPgCIiorC6tWrkZOTgzfffBOFhYXo378/ysvLrdqem1nSPo1Gg0WLFuHEiRPQ6/XYtm0bNmzYgHPnzlm8T2uyRhsB+XyGltBqtUbfj7KyMvz555+y+wzNdav2Afb9+ZmirvfAHj4/U3Xq1AnvvfcevvjiC3z44YfQ6/Xo27cvfv/9d1tXzWwLFizApUuXMGzYMABNdxxliLJD3377Lf75z3/ijTfewL59+7BhwwZs2bIFs2fPtnXVGoUp7Xv44Yfx+OOP484774RGo8HWrVtRWlqKTz75xIY1N82SJUsQFhaGzp07Q6VSITU1FaNHjzZ4RqS9M6WN9vwZEj8/RxAdHY1Ro0YhPDwcMTEx2LBhA1q1aoW33nrL1lUzS3Z2NmbNmoVPPvkErVu3btLXtvkDiJ1dy5Yt4eLigqKiIoPlRUVFCAgIMLrN9OnT8eSTT+KZZ54BAPTo0UN64PLUqVMt2qe1WKN9xsKGj48POnbsiF9//bXxG1EPS9rXqlUrbNy4EVeuXEFxcTGCgoLwyiuv4I477rB4n9ZkjTYaY6vP0BIBAQFG3w9vb294eHjAxcVFVp+huW7VPmPs6fMzRV3vgT18fpZydXVFr1697OozXLt2LZ555hmsX7/e4NJdUx1HHeerr51SqVSIjIxEbm6utEyv1yM3NxfR0dFGt7l8+XKtIOHi4gIAEEJYtE9rsUb7jLl06RJOnjyJwMDARqq5aRryXru7u6NNmza4du0aPvvsMwwZMqTB+7QGa7TRGFt9hpaIjo42eD8AYNu2bdL7IbfP0Fy3ap8x9vT5mcKS98DeVVdX4+eff7abz/Djjz/G6NGj8fHHHyMuLs5gXZP9H2y0IepksbVr1wo3NzexevVqceTIEZGSkiJ8fHyEVqsVQgjx5JNPildeeUUqP2PGDOHl5SU+/vhj8dtvv4mvv/5ahIaGimHDhpm8T3tv3wsvvCC+/fZbUVhYKHbu3CliY2NFy5Ytxfnz52Xfvh9//FF89tln4uTJk+K7774TDzzwgAgJCRF//PGHyftsatZoo5w+w/LycrF//36xf/9+AUAsWrRI7N+/X5w+fVoIIcQrr7winnzySan8b7/9Jpo3by5eeuklcfToUbFixQrh4uIicnJypDJy+gyt0T57/vyEEFL5yMhIMWLECLF//35x+PBhaf3OnTtFs2bNxIIFC8TRo0fFjBkzhKurq/j555+btG01rNHGWbNmia+++kqcPHlSFBQUiMTEROHu7m5QpqmY276PPvpINGvWTKxYsUKcO3dO+iktLZXKNMX/QYYomVi2bJlo27atUKlUok+fPuLHH3+U1sXExIjk5GTp96tXr4qZM2eK0NBQ4e7uLoKDg8Xf//53gxPUrfbZ1Bq7fcOHDxeBgYFCpVKJNm3aiOHDh4tff/21CVtkyJz2ffvtt6JLly7Czc1N+Pn5iSeffFL897//NWufttDYbZTTZ7hjxw4BoNZPTZuSk5NFTExMrW3Cw8OFSqUSd9xxh1i1alWt/crlM7RG++z98zNWvl27dgZlPvnkE9GxY0ehUqlEt27dxJYtW5qmQUZYo41paWnSv09/f3/xyCOPiH379jVdo25gbvtiYmLqLV/D2v8HFULUcX2EiIiIiOrEMVFEREREFmCIIiIiIrIAQxQRERGRBRiiiIiIiCzAEEVERERkAYYoIiIiIgswRBERERFZgCGKiMiJfPvtt1AoFCgtLbV1VYjsHkMUEVnFU089BYVCgddff91g+caNG6FQKKTfhRB45513EB0dDW9vb7Ro0QLdunXDpEmTTH4Q6uXLlzF58mSEhobC3d0drVq1QkxMDL744gupTPv27ZGVldUobbO2mvdOoVDA1dUVISEhePnll3HlyhWz9nPfffchLS3NYFnfvn1x7tw5qNXqRqwxkXNiiCIiq3F3d8fcuXPxxx9/GF0vhMCIESPw3HPP4ZFHHsHXX3+NI0eO4N1334W7uzvmzJlj0us8++yz2LBhA5YtW4Zjx44hJycHjz32GIqLixuzOU1q4MCBOHfuHH777TcsXrwYb731FmbMmNHg/apUKgQEBBgEWSKyUKM+RIaI6P8lJyeLQYMGic6dO4uXXnpJWv7555+LmkPPxx9/LACIL774wug+9Hq9Sa+lVqvF6tWr61xv7DlbNb7//nvRr18/4e7uLm6//XYxceJEcenSJWn9+++/LyIjI0WLFi2Ev7+/SEpKEkVFRdL6mmd+5eTkiPDwcOHu7i7uv/9+UVRUJLZu3So6d+4svLy8RFJSkqioqDCpPcnJyWLIkCEGyx599FHRq1cv6feLFy+KxMREERQUJDw8PET37t1Fdna2wT5ubnNhYaFU3xufRfnpp5+Krl27CpVKJdq1aycWLFhgUj2JnB17oojIalxcXPDPf/4Ty5Ytw++//15r/ccff4xOnTph8ODBRrc3tbckICAAW7duRXl5udH1GzZswO23345XX30V586dw7lz5wAAJ0+exMCBAzF06FD89NNPWLduHX744QekpqZK2169ehWzZ8/GwYMHsXHjRpw6dQpPPfVUrdeYOXMmli9fjl27duHs2bMYNmwYsrKykJ2djS1btuDrr7/GsmXLTGrPzQ4dOoRdu3ZBpVJJy65cuYLIyEhs2bIFhw4dQkpKCp588kns3r0bALBkyRJER0dj7NixUpuDg4Nr7bugoADDhg1DYmIifv75Z8ycORPTp0/H6tWrLaorkVOxdYojIsd0Y2/K3XffLZ5++mkhhGFPVOfOncXgwYMNtps0aZLw9PQUnp6eok2bNia91n/+8x9x++23C1dXV9G7d2+RlpYmfvjhB4My7dq1E4sXLzZYNmbMGJGSkmKw7PvvvxdKpVL8+eefRl9rz549AoAoLy8XQvzVE/XNN99IZTIzMwUAcfLkSWnZuHHjhEajMak9ycnJwsXFRXh6ego3NzcBQCiVSvHpp5/Wu11cXJx44YUXpN9jYmLEpEmTDMrc3BM1YsQI8eCDDxqUeemll0TXrl1NqiuRM2NPFBFZ3dy5c7FmzRocPXr0lmWnTp2KAwcOICMjA5cuXTJp//feey9+++035Obm4rHHHsPhw4fRv39/zJ49u97tDh48iNWrV6NFixbSj0ajgV6vR2FhIYDrPTXx8fFo27YtvLy8EBMTAwA4c+aMwb7uvPNO6e/+/v5o3rw57rjjDoNl58+fN6k9AHD//ffjwIEDyM/PR3JyMkaPHo2hQ4dK66urqzF79mz06NEDvr6+aNGiBb766qta9bqVo0eP4p577jFYds899+DEiROorq42a19EzoYhiois7t5774VGo8HkyZMNloeFheH48eMGy1q1aoUOHTqgdevWZr2Gq6sr+vfvj3/84x/4+uuv8eqrr2L27Nmoqqqqc5tLly5h3LhxOHDggPRz8OBBnDhxAqGhoaioqIBGo4G3tzc++ugj7NmzB59//jkA1Nqvq6ur9Peau+pupFAooNfrTW6Pp6cnOnTogJ49e+K9995Dfn4+3n33XWn9/PnzsWTJEvzjH//Ajh07cODAAWg0mnrbS0SNq5mtK0BEzuH1119HeHg4OnXqJC1LSkrCiBEj8MUXX2DIkCGN+npdu3bFtWvXcOXKFahUKqhUqlo9KxEREThy5Ag6dOhgdB8///wziouL8frrr0vjifbu3duo9TSFUqnElClTkJ6ejhEjRsDDwwM7d+7EkCFD8MQTTwAA9Ho9fvnlF3Tt2lXazlibb9alSxfs3LnTYNnOnTvRsWNHuLi4NH5jiBwIe6KIqEn06NEDI0eOxNKlS6VliYmJeOyxx5CYmIhXX30V+fn5OHXqFP7zn/9g3bp1Jp/E77vvPrz11lsoKCjAqVOnsHXrVkyZMgX3338/vL29AVyfJ+q7777Df//7X1y8eBEA8I9//AO7du1CamoqDhw4gBMnTuCLL76QBpa3bdsWKpUKy5Ytw2+//YYvv/zylpcIreXxxx+Hi4sLVqxYAeB6L962bduwa9cuHD16FOPGjUNRUZHBNu3bt5fe04sXLxrtCXvhhReQm5uL2bNn45dffsGaNWuwfPlyvPjii03SLiJ7xhBFRE3m1VdfNTiRKxQKrFu3DllZWdi6dSsGDBiATp064emnn0ZwcDB++OEHk/ar0WiwZs0aPPTQQ+jSpQsmTpwIjUaDTz75xOC1T506hdDQULRq1QrA9XFM//nPf/DLL7+gf//+6NWrFzIyMhAUFATg+qXF1atXY/369ejatStef/11LFiwoBHfEdM1a9YMqampmDdvHioqKjBt2jRERERAo9HgvvvuQ0BAABISEgy2efHFF+Hi4oKuXbuiVatWRsdLRURE4JNPPsHatWvRvXt3ZGRk4NVXXzV6ByIRGVIIIYStK0FERERkb9gTRURERGQBhigikr0bpyC4+ef777+3dfXMcubMmXrbY+4UBURkO7ycR0SyV9+DiNu0aQMPD48mrE3DXLt2DadOnapzffv27dGsGW+cJrIHDFFEREREFuDlPCIiIiILMEQRERERWYAhioiIiMgCDFFEREREFmCIIiIiIrIAQxQRERGRBRiiiIiIiCzAEEVERERkgf8DQZy2hqwh8WcAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_11.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABai0lEQVR4nO3de1yUVeIG8GdABhBxYECujoKAmqUgoqRppmFoilltoVvetnIzyYzKJPO2anjLyEu6uV7oYrqVW2oulRS7v9LSUDJvJIa3EhSQASEBmfP7g503h7nAAHOBeb6fz3xi3ve875wz68rjec9FJoQQICIiInIgTrauABEREZG1MQARERGRw2EAIiIiIofDAEREREQOhwGIiIiIHA4DEBERETkcBiAiIiJyOAxARERE5HAYgIiIiMjhMAAREdmpbdu2QSaT4dy5c7auClGbwwBE5MAOHz6MpKQk3H777fDw8ECXLl3w6KOP4ueff9Yre88990Amk0Emk8HJyQkdO3ZEjx49MHHiRHz55Zdmfe6ePXswdOhQ+Pn5oX379ujWrRseffRRZGRktFTT9Lz22mv45JNP9I4fOHAACxcuRGlpqcU+u76FCxdK36VMJkP79u3Rq1cvvPrqqygrK2uRz9i+fTvS0tJa5F5EbREDEJEDW758OT7++GPce++9ePPNNzFt2jT897//RXR0NI4fP65XvnPnznj33XfxzjvvYOXKlRg7diwOHDiA++67D4mJiaipqWnwM1etWoWxY8dCJpMhJSUFb7zxBh5++GGcOXMGO3bssEQzAZgOQIsWLbJqANLasGED3n33XaxevRo9e/bE0qVLMXLkSLTEFo0MQESmtbN1BYjIdpKTk7F9+3bI5XLpWGJiInr37o1ly5bhvffe0ymvUCjw+OOP6xxbtmwZZs6cibfeegshISFYvny50c+7efMmFi9ejBEjRuCLL77QO3/lypVmtsh+VFZWon379ibL/OlPf4Kvry8A4Omnn8bDDz+MXbt24bvvvsPAgQOtUU0ih8UeICIHNmjQIJ3wAwARERG4/fbbcerUqUbdw9nZGWvWrEGvXr2wbt06qNVqo2WLiopQVlaGu+66y+B5Pz8/nfc3btzAwoUL0b17d7i5uSEwMBAPPfQQzp49K5VZtWoVBg0aBB8fH7i7u6Nfv3746KOPdO4jk8lQUVGB9PR06bHTlClTsHDhQrz00ksAgNDQUOncrWNu3nvvPfTr1w/u7u5QKpUYP348Ll68qHP/e+65B3fccQeys7Nx9913o3379njllVca9f3davjw4QCA/Px8k+Xeeust3H777XB1dUVQUBBmzJih04N1zz334LPPPsP58+elNoWEhJhdH6K2jD1ARKRDCIHCwkLcfvvtjb7G2dkZEyZMwLx58/DNN99g9OjRBsv5+fnB3d0de/bswbPPPgulUmn0nrW1tRgzZgwyMzMxfvx4PPfccygvL8eXX36J48ePIywsDADw5ptvYuzYsXjsscdQXV2NHTt24JFHHsHevXulerz77rt48sknMWDAAEybNg0AEBYWBg8PD/z888/44IMP8MYbb0i9MZ06dQIALF26FPPmzcOjjz6KJ598ElevXsXatWtx99134+jRo/Dy8pLqW1xcjFGjRmH8+PF4/PHH4e/v3+jvT0sb7Hx8fIyWWbhwIRYtWoS4uDhMnz4dubm52LBhAw4fPoxvv/0WLi4umDt3LtRqNS5duoQ33ngDANChQwez60PUpgkiolu8++67AoDYvHmzzvGhQ4eK22+/3eh1//rXvwQA8eabb5q8//z58wUA4eHhIUaNGiWWLl0qsrOz9cpt2bJFABCrV6/WO6fRaKSfKysrdc5VV1eLO+64QwwfPlznuIeHh5g8ebLevVauXCkAiPz8fJ3j586dE87OzmLp0qU6x3/66SfRrl07neNDhw4VAMTGjRuNtvtWCxYsEABEbm6uuHr1qsjPzxd///vfhaurq/D39xcVFRVCCCG2bt2qU7crV64IuVwu7rvvPlFbWyvdb926dQKA2LJli3Rs9OjRomvXro2qD5Ej4iMwIpKcPn0aM2bMwMCBAzF58mSzrtX2MJSXl5sst2jRImzfvh19+/bF559/jrlz56Jfv36Ijo7Weez28ccfw9fXF88++6zePWQymfSzu7u79PO1a9egVqsxZMgQHDlyxKz617dr1y5oNBo8+uijKCoqkl4BAQGIiIjA119/rVPe1dUVU6dONeszevTogU6dOiE0NBR//etfER4ejs8++8zo2KH9+/ejuroas2bNgpPTH399P/XUU+jYsSM+++wz8xtK5KD4CIyIAAAFBQUYPXo0FAoFPvroIzg7O5t1/fXr1wEAnp6eDZadMGECJkyYgLKyMnz//ffY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QGVlpY1r4hi037P2eyciIutxcakCUP8fogJeXqVISNgrhSDto7HW8vgL4Bggszk7O8PLywtXrlwBALRv3x4ymczGtWp7hBCorKzElStX4OXlpbdYIxERWV5NjSuA+r/jZKipkSM6+ijCwvJQUqKEUlnSqsIPwADUJAEBAQAghSCyHC8vL+n7JiIi61IqiyGTaXQeg936qEuhKDcYfORyudXq2FQMQE0gk8kQGBgIPz8/aaAYtTwXFxf2/BAR2UC7dnXxQKEoR0LCXr1ZYNrQM2LECISGhupc21pWgmYAagZnZ2f+giYiojbHy8tL+tnUo67Q0FAEBgbaoIbNxwBEREREOuo/wmrNj7qMYQAiIiIiHT4+PkhKSmoTm54awwBEREREelpzuGkMrgNEREREDocBiIiIiBwOAxARERE5HAYgIiIicjgMQERERORwOAuMiIjIQRUXF7fpqe6mMAARERE5oOLiYqxbt67BcklJSW0yBPERGBERkQOq3/OjVnsiPz8EarWnyXJtBXuAiIiIHNyRI331NjyNjj5q62pZFHuAiIiIHJha7SmFHwAQwgl79ozR6wlqaxiAiIiIHFhJiY8UfrSEcEJJidJGNbIOBiAiIiIHplQWQybT6ByTyTRQKktsVCPrYAAiIiJyYApFORIS9kohSDsGSKEot3HNLIuDoImIiBxcdPRRhIXloaRECaWypM2HH8BOeoDWr1+PkJAQuLm5ITY2FocOHTJadteuXYiJiYGXlxc8PDwQFRWFd999V6eMEALz589HYGAg3N3dERcXhzNnzli6GURERK2GXC7Xea9QlCM09Lxe+Klfrq2weQ/Qzp07kZycjI0bNyI2NhZpaWmIj49Hbm4u/Pz89MorlUrMnTsXPXv2hFwux969ezF16lT4+fkhPj4eALBixQqsWbMG6enpCA0Nxbx58xAfH4+TJ0/Czc3N2k0kIiKyOz4+PkhKSnLYlaBlQghhywrExsaif//+0mqUGo0GKpUKzz77LObMmdOoe0RHR2P06NFYvHgxhBAICgrCCy+8gBdffBEAoFar4e/vj23btmH8+PEN3q+srAwKhQJqtRodO3ZseuOIiIjIasz5/W3TR2DV1dXIzs5GXFycdMzJyQlxcXE4ePBgg9cLIZCZmYnc3FzcfffdAID8/HwUFBTo3FOhUCA2NtboPauqqlBWVqbz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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_12.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABZP0lEQVR4nO3de1hU1eI+8HcYGUCEUVBuhoJ4S0sRVMI0zUgwpXyy8pJ5qbQ6kRqlSeYtK7wdI8W0+qbQxbTSNC8/unCi8pJ1vGTmJTVM7QgqxIBwBGXW7w8PkyMDzAwzs/ee/X6ehydnz5o9a800e95Za+21NUIIASIiIiIV8ZC6AkRERESuxgBEREREqsMARERERKrDAERERESqwwBEREREqsMARERERKrDAERERESqwwBEREREqsMARERERKrDAEREJFNZWVnQaDQ4deqU1FUhcjsMQEQq9tNPPyElJQVdu3aFr68v2rRpg4ceegi//fZbrbIDBgyARqOBRqOBh4cH/P390alTJzzyyCP46quvbHreLVu2oH///ggKCkLTpk3Rrl07PPTQQ8jJyXFU02p57bXXsGnTplrbd+3ahblz56KkpMRpz32juXPnml5LjUaDpk2bokuXLnjppZdQWlrqkOdYu3YtMjIyHLIvInfEAESkYgsXLsSGDRtw11134Y033sCkSZPw3XffISYmBocOHapV/qabbsL777+P9957D4sXL8a9996LXbt2YdCgQRgxYgSuXLnS4HMuWbIE9957LzQaDdLS0vD6669j+PDhOH78ONatW+eMZgKoPwDNmzfPpQGoxsqVK/H+++9j6dKl6Ny5M1599VUkJSXBEZdoZAAiql8TqStARNJJTU3F2rVrodPpTNtGjBiBW2+9FQsWLMAHH3xgVl6v12PMmDFm2xYsWIDJkyfjzTffREREBBYuXFjn8129ehXz58/H3XffjS+//LLW/efPn29ki+SjoqICTZs2rbfMAw88gJYtWwIAnnzySQwfPhwbN27EDz/8gPj4eFdUk0i12ANEpGJ9+vQxCz8A0KFDB3Tt2hVHjhyxah9arRbLli1Dly5dkJmZCYPBUGfZixcvorS0FLfffrvF+4OCgsxuX758GXPnzkXHjh3h7e2N0NBQ3H///Th58qSpzJIlS9CnTx8EBgbCx8cHsbGx+PTTT832o9FoUF5ejuzsbNOw0/jx4zF37lxMmzYNABAZGWm67/o5Nx988AFiY2Ph4+ODgIAAjBw5EmfOnDHb/4ABA3DLLbdg7969uOOOO9C0aVO8+OKLVr1+1xs4cCAAID8/v95yb775Jrp27QovLy+EhYXh6aefNuvBGjBgALZt24Y//vjD1KaIiAib60PkztgDRERmhBAoLCxE165drX6MVqvFqFGjMGvWLOzYsQNDhgyxWC4oKAg+Pj7YsmULnnnmGQQEBNS5z+rqagwdOhS5ubkYOXIkpkyZgrKyMnz11Vc4dOgQoqKiAABvvPEG7r33Xjz88MOoqqrCunXr8OCDD2Lr1q2merz//vt4/PHH0bt3b0yaNAkAEBUVBV9fX/z222/46KOP8Prrr5t6Y1q1agUAePXVVzFr1iw89NBDePzxx3HhwgUsX74cd9xxB/bv34/mzZub6ltUVITBgwdj5MiRGDNmDIKDg61+/WrUBLvAwMA6y8ydOxfz5s1DQkICnnrqKRw7dgwrV67ETz/9hJ07d8LT0xMzZ86EwWDA2bNn8frrrwMAmjVrZnN9iNyaICK6zvvvvy8AiHfffddse//+/UXXrl3rfNxnn30mAIg33nij3v3Pnj1bABC+vr5i8ODB4tVXXxV79+6tVW716tUCgFi6dGmt+4xGo+nfFRUVZvdVVVWJW265RQwcONBsu6+vrxg3blytfS1evFgAEPn5+WbbT506JbRarXj11VfNtv/yyy+iSZMmZtv79+8vAIhVq1bV2e7rzZkzRwAQx44dExcuXBD5+fnirbfeEl5eXiI4OFiUl5cLIYRYs2aNWd3Onz8vdDqdGDRokKiurjbtLzMzUwAQq1evNm0bMmSIaNu2rVX1IVIjDoERkcnRo0fx9NNPIz4+HuPGjbPpsTU9DGVlZfWWmzdvHtauXYsePXrgiy++wMyZMxEbG4uYmBizYbcNGzagZcuWeOaZZ2rtQ6PRmP7t4+Nj+vdff/0Fg8GAfv36Yd++fTbV/0YbN26E0WjEQw89hIsXL5r+QkJC0KFDB3zzzTdm5b28vDBhwgSbnqNTp05o1aoVIiMj8cQTT6B9+/bYtm1bnXOHvv76a1RVVWHq1Knw8Pj78D1x4kT4+/tj27ZttjeUSKU4BEZEAICCggIMGTIEer0en376KbRarU2Pv3TpEgDAz8+vwbKjRo3CqFGjUFpaij179iArKwtr165FcnIyDh06BG9vb5w8eRKdOnVCkyb1H6a2bt2KV155BQcOHEBlZaVp+/UhyR7Hjx+HEAIdOnSweL+np6fZ7datW9eaT9WQDRs2wN/fH56enrjppptMw3p1+eOPPwBcC07X0+l0aNeunel+ImoYAxARwWAwYPDgwSgpKcH333+PsLAwm/dRc9p8+/btrX6Mv78/7r77btx9993w9PREdnY29uzZg/79+1v1+O+//x733nsv7rjjDrz55psIDQ2Fp6cn1qxZg7Vr19rchusZjUZoNBr8v//3/yyGwRvn1FzfE2WtO+64wzTviIhciwGISOUuX76M5ORk/Pbbb/j666/RpUsXm/dRXV2NtWvXomnTpujbt69d9ejZsyeys7Nx7tw5ANcmKe/ZswdXrlyp1dtSY8OGDfD29sYXX3wBLy8v0/Y1a9bUKltXj1Bd26OioiCEQGRkJDp27Ghrc5yibdu2AIBjx46hXbt2pu1VVVXIz89HQkKCaVtje8CI3B3nABGpWHV1NUaMGIHdu3fjk08+sWvtmerqakyePBlHjhzB5MmT4e/vX2fZiooK7N692+J9/+///T8Afw/vDB8+HBcvXkRmZmatsuJ/CwVqtVpoNBpUV1eb7jt16pTFBQ99fX0tLnbo6+sLALXuu//++6HVajFv3rxaCxMKIVBUVGS5kU6UkJAAnU6HZcuWmdXp3XffhcFgMDv7ztfXt94lCYjUjj1ARCr23HPP4fPPP0dycjKKi4trLXx446KHBoPBVKaiogInTpzAxo0bcfLkSYwcORLz58+v9/kqKirQp08f3HbbbUhKSkJ4eDhKSkqwadMmfP/99xg2bBh69OgBABg7dizee+89pKam4scff0S/fv1QXl6Or7/+Gv/4xz9w3333YciQIVi6dCmSkpIwevRonD9/HitWrED79u1x8OBBs+eOjY3F119/jaVLlyIsLAyRkZGIi4tDbGwsAGDmzJkYOXIkPD09kZycjKioKLzyyitIS0vDqVOnMGzYMPj5+SE/Px+fffYZJk2ahOeff75Rr7+tWrVqhbS0NMybNw9JSUm49957cezYMbz55pvo1auX2fsVGxuL9evXIzU1Fb169UKzZs2QnJzs0voSyZqUp6ARkbRqTt+u66++ss2aNRMdOnQQY8aMEV9++aVVz3flyhXxzjvviGHDhom2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27a5pkE3cEb7pk6davr/Mzg4WNxzzz1ma+i4mq1t7N+/f73lazj7c6gRoo6xCSIiIiI3xTlAREREpDoMQERERKQ6DEBERESkOgxAREREpDoMQERERKQ6DEBERESkOgxAREREpDoMQERECpCXlweNRoOSkhKpq0LkFhiAiMjM+PHjodFosGDBArPtmzZtgkajMd0WQuCdd95BfHw8/P390axZM3Tt2hVTpkyx+qKMFRUVSEtLQ1RUFLy9vdGqVSv0798fmzdvNpWJiIhARkaGQ9rmbDWvnUajgaenJyIjIzF9+nRcvnzZpv0MGDAAU6dONdvWp08fnDt3Dnq93oE1JlIvBiAiqsXb2xsLFy7EX3/9ZfF+IQRGjx6NyZMn45577sGXX36Jw4cP491334W3tzdeeeUVq57nySefxMaNG7F8+XIcPXoUOTk5eOCBB1BUVOTI5rhUUlISzp07h99//x2vv/463nrrLcyZM6fR+9XpdAgJCTELoUTUCA69sAYRKd64cePE0KFDRefOncW0adNM2z/77DNRc8j46KOPBACxefNmi/swGo1WPZderxdZWVl13m/pmkE1vv/+e9G3b1/h7e0tbrrpJvHMM8+IS5cume5/7733RGxsrGjWrJkIDg4Wo0aNEoWFhab7a65flJOTI6Kjo4W3t7e48847RWFhodi+fbvo3Lmz8PPzE6NGjRLl5eVWtWfcuHHivvvuM9t2//33ix49ephuX7x4UYwcOVKEhYUJHx8fccstt4i1a9ea7ePGNufn55vqe/219T799FPRpUsXodPpRNu2bcWSJUusqicRCcEeICKqRavV4rXXXsPy5ctx9uzZWvd/9NFH6NSpE+69916Lj7e2lyIkJATbt29HWVmZxfs3btyIm266CS+//DLOnTuHc+fOAQBOnjyJpKQkDB8+HAcPHsT69euxY8cOpKSkmB575coVzJ8/Hz///DM2bdqEU6dOYfz48bWeY+7cucjMzMSuXbtw5swZPPTQQ8jIyMDatWuxbds2fPnll1i+fLlV7bnRoUOHsGvXLuh0OtO2y5cvIzY2Ftu2bcOhQ4cwadIkPPLII/jxxx8BAG+88Qbi4+MxceJEU5vDw8Nr7Xvv3r146KGHMHLkSPzyyy+YO3cuZs2ahaysLLvqSqQ6UicwIpKX63sxbrvtNvHoo48KIcx7gDp37izuvfdes8dNmTJF+Pr6Cl9fX9G6dWurnuvbb78VN910k/D09BQ9e/YUU6dOFTt27DAr07ZtW/H666+bbXvsscfEpEmTzLZ9//33wsPDQ/z3v/+1+Fw//fSTACDKysqEEH/3AH399demMunp6QKAOHnypGnbE088IRITE61qz7hx44RWqxW+vr7Cy8tLABAeHh7i008/rfdxQ4YMEc8995zpdv/+/cWUKVPMytzYAzR69Ghx9913m5WZNm2a6NKli1V1JVI79gARUZ0WLlyI7OxsHDlypMGyM2fOxIEDBzB79mxcunTJqv3fcccd+P3335Gbm4sHHngAv/76K/r164f58+fX+7iff/4ZWVlZaNasmekvMTERRqMR+fn5AK71kCQnJ6NNmzbw8/ND//79AQCnT58221e3bt1M/w4ODkbTpk3Rrl07s23nz5+3qj0AcOedd+LAgQPYs2cPxo0bhwkTJmD48OGm+6urqzF//nzceuutCAgIQLNmzfDFF1/UqldDjhw5gttvv91s2+23347jx4+jurrapn0RqREDEBHV6Y477kBiYiLS0tLMtnfo0AHHjh0z29aqVSu0b98eQUFBNj2Hp6cn+vXrhxdeeAFffvklXn75ZcyfPx9VVVV1PubSpUt44okncODAAdPfzz//jOPHjyMqKgrl5eVITEyEv78/PvzwQ/z000/47LPPAKDWfj09PU3/rjl763oajQZGo9Hq9vj6+qJ9+/bo3r07Vq9ejT179uDdd9813b948WK88cYbeOGFF/DNN9/gwIEDSExMrLe9ROR4TaSuABHJ24IFCxAdHY1OnTqZto0aNQqjR4/G5s2bcd999zn0+bp06YKrV6/i8uXL0Ol00Ol0tXo0YmJicPjwYbRv397iPn755RcUFRVhwYIFpvkz//73vx1aT2t4eHjgxRdfRGpqKkaPHg0fHx/s3LkT9913H8aMGQMAMBqN+O2339ClSxfT4yy1+UY333wzdu7cabZt586d6NixI7RareMbQ+Rm2ANERPW69dZb8fDDD2PZsmWmbSNHjsQDDzyAkSNH4uWXX8aePXtw6tQpfPvtt1i/fr3VX8ADBgzAW2+9hb179+LUqVPYvn07XnzxRdx5553w9/cHcG0doO+++w5//vknLl68CAB44YUXsGvXLqSkpODAgQM4fvw4Nm/ebJoE3aZNG+h0Oixfvhy///47Pv/88waH1ZzlwQcfhFarxYoVKwBc6z376quvsGvXLhw5cgRPPPEECgsLzR4TERFhek0vXrxosQfqueeeQ25uLubPn4/ffvsN2dnZyMzMxPPPP++SdhEpHQMQETXo5ZdfNvsS1mg0WL9+PTIyMrB9+3bcdddd6NSpEx599FGEh4djx44dVu03MTER2dnZGDRoEG6++WY888wzSExMxMcff2z23KdOnUJUVBRatWoF4Nq8nW+//Ra//fYb+vXrhx49emD27NkICwsDcG04LisrC5988gm6dOmCBQsWYMmSJQ58RazXpEkTpKSkYNGiRSgvL8dLL72EmJgYJCYmYsCAAQgJCcGwYcPMHvP8889Dq9WiS5cuaNWqlcX5QTExMfj444+xbt063HLLLZg9ezZefvlli2e6EVFtGiGEkLoSRERERK7EHiAiIiJSHQYgInKa609Tv/Hv+++/l7p6Njl9+nS97bH1NHYikhaHwIjIaeq7KGrr1q3h4+Pjwto0ztWrV3Hq1Kk674+IiECTJjyxlkgpGICIiIhIdTgERkRERKrDAERERESqwwBEREREqsMARERERKrDAERERESqwwBEREREqsMARERERKrDAERERESq8/8Bjuoq8+ruGZoAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_13.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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586dhZeXl2jdurXo16+fWLRokaiqqjIoX1lZKWbNmiW6dOkiPDw8RGhoqPjzn/8sLly4IJVZt26d6Natm/Dy8hI9evQQGzZskJaZ13fmzBkxZMgQ4ePjIwAYLImfP3++CA8PF25ubo2WxG/fvl3cfffdwtfXV/j6+ooePXqI6dOni7NnzxrcG3NbBDRUV79r166ZLddwGXydFStWiB49eggPDw8REhIinn76afHLL78YlLlx44Z45JFHRNu2bQUALoknqkcjhA0OnCEiIiJyIpwDRERERKrDAERERESqwwBEREREqsMARERERKrDAERERESqwwBEREREqsONEI3Q6/W4cuUK/Pz8uJU8ERGRkxBCoLy8HB06dICbm/k+HgYgI65cuYKIiAi5q0FERERWuHz5Mjp27Gi2DAOQEX5+fgBu3UBzZxoRERGRcpSVlSEiIkL6HDeHAciIumEvf39/BiAiIiIn05zpK5wETURERKrDAERERESqwwBEREREqsM5QERERDZSW1uLmpoauavhsjw8PODu7m6TazEAERERtZAQAoWFhbh+/brcVXF5bdu2RWhoaIv36WMAIiIiaqG68BMcHIzWrVtzE107EEKgsrISV69eBQCEhYW16HoMQERERC1QW1srhZ/AwEC5q+PSfHx8AABXr15FcHBwi4bDFDEJeuXKlYiMjIS3tzfi4uJw9OhRk2VPnjyJcePGITIyEhqNBhkZGY3KpKenY8CAAfDz80NwcDDGjh2Ls2fP2rEFRESkVnVzflq3bi1zTdSh7j63dK6V7AFo69atSE1Nxdy5c5Gbm4s+ffogMTFR6uJqqLKyEl27dsWCBQsQGhpqtMy//vUvTJ8+HV9//TX27duHmpoa3H///aioqLBnU4iISMU47OUYtrrPGiGEsMmVrBQXF4cBAwZgxYoVAG4dRBoREYFnn30WM2fONPvayMhIzJgxAzNmzDBb7tq1awgODsa//vUvDBkypMk6lZWVQavVQqfTcSdoIiIy67fffkN+fj66dOkCb29vuavj8szdb0s+v2WdA1RdXY2cnBykpaVJj7m5uSEhIQFHjhyx2fvodDoAQEBAgNHnq6qqUFVVJX1fVlZms/c2p6SkBNXV1Saf9/T05HgyERGRHcgagIqLi1FbW4uQkBCDx0NCQnDmzBmbvIder8eMGTMwePBg9OzZ02iZ9PR0zJs3zybv11wlJSVSrxcA6HR+KC0NREBACbTacunxlJQUhiAiIrKLyZMnY9OmTQCAVq1aISAgAL1798b48eMxefJkuLk1b6bMxo0bMWPGDKfaBsDlV4FNnz4dJ06cwKFDh0yWSUtLQ2pqqvR93Wmy9lS/5yc3tx927hwNIdyg0eiRlLQLMTHHG5UjIiLXJOeIwIgRI7BhwwbU1taiqKgIe/fuxfPPP4+PP/4YO3bsQKtWrhkVZG1VUFAQ3N3dUVRUZPB4UVGRyQnOlkhJScGuXbvw5ZdfomPHjibLeXl5wcvLq8XvZw2dzk8KPwAghBt27hyNqKjzBj1BRETkmhqOCJhirxEBLy8v6TM3PDwcMTExuOuuu3Dvvfdi48aNmDp1KpYuXYoNGzbghx9+QEBAAJKSkrBw4UK0adMGBw8exJQpUwD8PkF57ty5eP311/HBBx9g2bJlOHv2LHx9fTF8+HBkZGQgODjY5u2wlKyrwDw9PREbG4vs7GzpMb1ej+zsbMTHx1t9XSEEUlJS8Mknn+CLL75Aly5dbFFduygtDZTCTx0h3FBaany+EhERuZbm9vQ7ckRg+PDh6NOnD7KysgDcmp+7fPlynDx5Eps2bcIXX3yBV155BQAwaNAgZGRkwN/fHwUFBSgoKMBLL70E4NZS9fnz5+O///0vPv30U1y8eBGTJ092WDvMkb1fKzU1FZMmTUL//v0xcOBAZGRkoKKiQkqTEydORHh4ONLT0wHc+gE4deqU9Oeff/4ZeXl5aNOmDaKjowHcGvbKzMzEP/7xD/j5+aGwsBAAoNVqpU2UlCIgoAQajd4gBGk0egQElMpYKyIiUrsePXrg22+/BQCD1daRkZF444038NRTT+G9996Dp6cntFotNBpNo9Gbxx9/XPpz165dsXz5cgwYMAA3btxAmzZtHNIOU2TfByg5ORmLFy/GnDlz0LdvX+Tl5WHv3r3SxOhLly6hoKBAKn/lyhX069cP/fr1Q0FBARYvXox+/fph6tSpUplVq1ZBp9Nh2LBhCAsLk762bt3q8PY1RastR1LSLmg0egCQ5gBx+IuIiOQkhJCGtPbv3497770X4eHh8PPzw4QJE1BSUoLKykqz18jJyUFSUhI6deoEPz8/DB06FMCtz3a5yd4DBNwa10xJSTH63MGDBw2+j4yMRFNbF8m8tZHFYmKOIyrqPEpLAxAQUMrwQ0REsjt9+jS6dOmCixcvYvTo0Xj66afx5ptvIiAgAIcOHcITTzyB6upqkztgV1RUIDExEYmJifjoo4/Qvn17XLp0CYmJiYpY4KOIAES3eoIYfIiISAm++OILfPfdd3jhhReQk5MDvV6PJUuWSMvi/9//+38G5T09PVFbW2vw2JkzZ1BSUoIFCxZIK6u/+eYbxzSgGWQfAlMrT09Pm5YjIiKyRlVVFQoLC/Hzzz8jNzcXb731Fh544AGMHj0aEydORHR0NGpqavDuu+/ihx9+wAcffIDVq1cbXCMyMhI3btxAdnY2iouLUVlZiU6dOsHT01N63Y4dOzB//nyZWtkYe4BkEhgYiJSUFO4ETUREstq7dy/CwsLQqlUrtGvXDn369MHy5csxadIkuLm5oU+fPli6dCnefvttpKWlYciQIUhPT8fEiROlawwaNAhPPfUUkpOTUVJSIi2D37hxI1599VUsX74cMTExWLx4McaMGSNja38n+1lgSsSzwIiIqLlaehaY3PsAORuXOAuMiIhI7TgiIA8GICIiIpkx3DgeJ0ETERGR6jAAERERkeowABEREZHqMAARERGR6jAAERERkeowABEREZHqMAARERGR6jAAERERkV0cPHgQGo0G169fb/ZrIiMjkZGRYbc61WEAciElJSUoKCgw+VVSUiJ3FYmISEEmT54MjUaDp556qtFz06dPh0ajweTJkx1fMQfgTtAuouFZMjqdH0pLAxEQUAKttlx6nGfJEBFRfREREdiyZQveeecd+Pj4ALh13lZmZiY6deokc+3shz1ALqL+GTK5uf2QkTEDmzZNQkbGDOTm9jNajoiIKCYmBhEREcjKypIey8rKQqdOndCv3++fH1VVVXjuuecQHBwMb29v3H333Th27JjBtfbs2YPu3bvDx8cHf/jDH3Dx4sVG73fo0CHcc8898PHxQUREBJ577jlUVFTYrX2mMAC5GJ3ODzt3joYQt/5qhXDDzp2jodP5yVwzIiJqjp9+Ag4cuPVfR3n88cexYcMG6fv169djypQpBmVeeeUVbN++HZs2bUJubi6io6ORmJiI0tJSAMDly5fx4IMPIikpCXl5eZg6dSpmzpxpcI0LFy5gxIgRGDduHL799lts3boVhw4dQkpKiv0b2QADkIspLQ2Uwk8dIdxQWhogU42IiKi51q0D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LKakg02twQBEREREzVa3WWFTB5s6clNDa2iEEELuSihNWVkZtFotdDod/P395a4OERGRopSUlODixZsYODAYer1GetzdXeA//7mKyMhWsuz7Y8nnN3uAiIiIyCKBgYGIjQ3BmjUauLvfeszdHXj/fQ1iY0MUt+mhMZwETURERFZ54gkgMRE4fx6IjgY6dpS7Rs3HAERERERW69jRuYJPHQ6BERERkeowABEREZHqMAARERGR6jAAERERkeowABEREZHqMAARERGR6jAAERERkeowABEREZHqMAARERGR6jAAERERkeowABEREZHq8CwwI4QQAICysjKZa0JERETNVfe5Xfc5bg4DkBHl5eUAgIiICJlrQkRERJYqLy+HVqs1W0YjmhOTVEav1+PKlSvw8/ODRqOx6bXLysoQERGBy5cvw9/f36bXdgZqbz/Ae8D2q7v9AO+B2tsP2O8eCCFQXl6ODh06wM3N/Cwf9gAZ4ebmho4dO9r1Pfz9/VX7gw+w/QDvAduv7vYDvAdqbz9gn3vQVM9PHU6CJiIiItVhACIiIiLVYQByMC8vL8ydOxdeXl5yV0UWam8/wHvA9qu7/QDvgdrbDyjjHnASNBEREakOe4CIiIhIdRiAiIiISHUYgIiIiEh1GICIiIhIdRiA7GDlypWIjIyEt7c34uLicPToUZNlT548iXHjxiEyMhIajQYZGRmOq6idWNL+tWvX4p577kG7du3Qrl07JCQkmC3vDCxpf1ZWFvr374+2bdvC19cXffv2xQcffODA2tqHJfegvi1btkCj0WDs2LH2raCdWdL+jRs3QqPRGHx5e3s7sLb2YenPwPXr1zF9+nSEhYXBy8sL3bt3x549exxUW9uzpP3Dhg1r9DOg0WgwatQoB9bYtiz9+8/IyMBtt90GHx8fRERE4IUXXsBvv/1m30oKsqktW7YIT09PsX79enHy5Enx5JNPirZt24qioiKj5Y8ePSpeeuklsXnzZhEaGireeecdx1bYxixt/yOPPCJWrlwpjh8/Lk6fPi0mT54stFqt+Omnnxxcc9uwtP0HDhwQWVlZ4tSpU+L8+fMiIyNDuLu7i7179zq45rZj6T2ok5+fL8LDw8U999wjHnjgAcdU1g4sbf+GDRuEv7+/KCgokL4KCwsdXGvbsvQeVFVVif79+4s//vGP4tChQyI/P18cPHhQ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e++9F+Hh4fDz88OECRNQUlKCyspKAMBzzz2HN954A4MHD8bcuXMNJmE//fTT2LJlC/r27YtXXnkFhw8ftqh977zzjtS+vLw83HfffdJz/fv3NyhbW1uL+fPno1evXggICECbNm3w2Wef4dKlSwCA06dPo6qqCvfee69FdajvwoULqKmpweDBg6XHPDw8MHDgQIN7BgC9e/eW/hwWFgYAuHr1qtXvTaQ2DEBEZJKvry+io6MRHR2NAQMG4H//939RUVGBtWvXAgCmTp2Kffv24aeffsKGDRswfPhwdO7cudnXv3jxIkaPHo3evXtj+/btyMnJkeYIVVdXS+/xww8/YMKECfjuu+/Qv39/vPvuuwAghbEXXngBV65cwb333ouXXnqp2e8fGhoqtS86Ohq+vr4Gba9v0aJFWLZsGf72t7/hwIEDyMvLQ2JiolRPHx+fZr+vLXh4eEh/1mg0AG7NQSKi5mEAIqJm02g0cHNzw6+//goA6NWrF/r374+1a9ciMzPT6DyUr7/+utH3t99+OwAgJycHer0eS5YswV133YXu3bvjypUrja4RERGBp556CllZWXjxxRelAAYA7du3x6RJk/Dhhx8iIyMDa9assWWTJV999RUeeOABPPbYY+jTpw+6du2K77//Xnq+W7du8PHxkSaAN+Tp6QngVk+SKVFRUfD09MRXX30lPVZTU4Njx47hjjvusFFLiAgAWsldASJSrqqqKhQWFgK4teJqxYoVuHHjBpKSkqQyU6dORUpKCnx9ffGnP/2p0TW++uorLFy4EGPHjsW+ffuwbds27N69GwAQHR2NmpoavPvuu0hKSsJXX32F1atXG7x+xowZGDlyJLp3745ffvkFBw4ckALUnDlzEBsbizvvvBNVVVXYtWuX9JytdevWDR9//DEOHz6Mdu3aYenSpSgqKpKCibe3N/72t7/hlVdegaenJwYPHoxr167h5MmTeOKJJxAcHAwfHx/s3bsXHTt2hLe3N7RarcF7+Pr64umnn8bLL7+MgIAAdOrUCQsXLkRlZSWeeOIJu7SLSK3YA0REJu3duxdhYWEICwtDXFwcjh07hm3btklLuAFg/PjxaNWqFcaPHw9vb+9G13jxxRfxzTffoF+/fnjjjTewdOlSJCYmAgD69OmDpUuX4u2330bPnj3x0UcfIT093eD1tbW1mD59Om6//XaMGDEC3bt3x3vvvQfgVq9KWloaevfujSFDhsDd3R1btmyxy7147bXXEBMTg8TERAwbNgyhoaGNdnCePXs2XnzxRcyZMwe33347kpOTpXk5rVq1wvLly/H++++jQ4cOeOCBB4y+z4IFCzBu3DhMmDABMTExOH/+PD777DO0a9fOLu0iUiuNEELIXQkicl4XL15EVFQUjh07hpiYGIPnIiMjMWPGDMyYMUOeyhERmcAhMCKySk1NDUpKSvDaa6/hrrvuahR+iIiUjENgRGSVr776CmFhYTh27FijeTtye+utt9CmTRujXyNHjpS7ekSkABwCIyKXU1pa2mjn5Do+Pj4IDw93cI2ISGkYgIiIiEh1OARGREREqsMARERERKrDAERERESqwwBEREREqsMARERERKrDAERERESqwwBEREREqsMARERERKrz/wGlLkV8rkgWRAAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_14.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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d65Tnq+piouLza1hAGAwBKCkJBhBQcXQ68vM29PS0hiCiIioSe677z6sXr0aANCsWTMEBQXhuuuuw9ixY3HfffdBq23YSJlVq1Zh6tSpiloGwONngU2ePBk///wzdu/ebXOfjIwMpKenm2+briYrhZotP7m5fbBly3AIoYVGY0Ry8lbExByssx8RESmblC3/Q4YMwcqVK1FdXY2ioiLs2LEDU6ZMwYcffojNmzejWTPPjAqS1qpVq1bw8vJCUVGRxfaioiKbA5wdkZaWhq1bt+Krr75C27Ztbe7n4+MDHx+fJj+fMxkMAebwAwBCaLFly3BER5+yaAkiIiJlq93yb4urWv59fHzM59w2bdogJiYG119/Pf79739j1apVmDhxIhYuXIiVK1fil19+QVBQEJKTk/HSSy+hRYsW2LVrFyZMmADgnwHKs2fPxpw5c/Duu+9i0aJFOH78OPz9/XHzzTcjKysLISEhTq+HoySdBabT6RAbG4ucnBzzNqPRiJycHMTHxzf6uEIIpKWl4aOPPsLnn3+ODh06OKO4blVSEmwOPyZCaFFSYn0cExERKVNDW/Td2fJ/8803o1evXti4cSOAq+NzX3vtNRw+fBirV6/G559/jieffBIAMGDAAGRlZSEwMBAFBQUoKCjAE088AeDqVPV58+bhhx9+wKZNm5Cfn4/77rvPbfWwR/J2rfT0dKSmpqJv377o378/srKyUF5ebk6T48ePR5s2bZCZmQng6gfgyJEj5v///vvvOHToEFq0aIFOnToBuNrtlZ2djY8//hgBAQEoLCwEAOj1evMiSnIXFFQMjcZoEYI0GiOCgkokLBUREalFt27d8OOPPwKAxWzrqKgoPPfcc3j44Yfx+uuvQ6fTQa/XQ6PR1Om9uf/++83/79ixI1577TX069cPly5dQosWLdxSD1skXwcoJSUFCxYswKxZs9C7d28cOnQIO3bsMA+MPnPmDAoKCsz7//HHH+jTpw/69OmDgoICLFiwAH369MHEiRPN+yxbtgwGgwGDBw9GeHi4+WfdunVur19j6fVlSE7eCo3GCADmMUDs/iIiIncQQpi7tD777DP8+9//Rps2bRAQEIB7770XxcXFqKiosHuMAwcOIDk5Ge3atUNAQAASEhIAXD23S03yFiDgar9mWlqa1ft27dplcTsqKgr1LV0k8dJGThMTcxDR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ERERkeowABEREZHqMAARERGR6jAAERERkeowABEREZHqMAARERGR6jAAERERkeowABEREZHq8FpgVgghAAClpaUSl4SIiIgaynTeNp3H7WEAsqKsrAwAEBkZKXFJiIiIyFFlZWXQ6/V299GIhsQklTEajfjjjz8QEBAAjUbj1GOXlpYiMjISZ8+eRWBgoFOPLQesn/J5eh09vX6A59eR9VM+V9VRCIGysjJERERAq7U/yoctQFZotVq0bdvWpc8RGBjosR9sgPXzBJ5eR0+vH+D5dWT9lM8Vdayv5ceEg6CJiIhIdRiAiIiISHUYgNzMx8cHs2fPho+Pj9RFcQnWT/k8vY6eXj/A8+vI+imfHOrIQdBERESkOmwBIiIiItVhACIiIiLVYQAiIiIi1WEAIiIiItVhAGqipUuXIioqCr6+voiLi8P+/fvt7p+VlYWuXbvCz88PkZGRePzxx3H58uUmHdPVnF3HOXPmQKPRWPx069bN1dWwyZH6VVVV4dlnn0V0dDR8fX3Rq1cv7Nixo0nHdDVn109O799XX32F5ORkREREQKPRYNOmTfU+ZteuXYiJiYGPjw86deqEVatW1dlHTu+fK+qo5PewoKAA48aNQ5cuXaDVajF16lSr+61fvx7dunWDr68vrr32Wmzfvt35hW8AV9Rv1apVdd4/X19f11SgARyt48aNG3HLLbegdevWCAwMRHx8PD755JM6+7n891BQo61du1bodDqxYsUKcfjwYfHggw+Kli1biqKiIqv7v//++8LHx0e8//77Ii8vT3zyySciPDxcPP74440+pqu5oo6zZ88WPXr0EAUFBeaf8+fPu6tKFhyt35NPPikiIiLEtm3bxOnTp8Xrr78ufH19RW5ubqOP6UquqJ+c3r/t27eLmTNnio0bNwoA4qOPPrK7/y+//CKaN28u0tPTxZEjR8TixYuFl5eX2LFjh3kfOb1/Qrimjkp+D/Py8sRjjz0mVq9eLXr37i2mTJlSZ589e/YILy8v8dJLL4kjR46Ip59+Wnh7e4uffvrJNZWwwxX1W7lypQgMDLR4/woLC11TgQZwtI5TpkwRL774oti/f784ceKEyMjIEN7e3m7/HmUAaoL+/fuLyZMnm29XV1eLiIgIkZmZaXX/yZMni5tvvtliW3p6urjhhhsafUxXc0UdZ8+eLXr16uWS8jrK0fqFh4eLJUuWWGy74447xN13393oY7qSK+onp/evpoZ88T755JOiR48eFttSUlJEUlKS+bac3r/anFVHJb+HNSUkJFgNCKNHjxbDhg2z2BYXFyceeuihJpawaZxVv5UrVwq9Xu+0cjmTo3U06d69u5g7d675tjt+D9kF1kiVlZU4cOAAEhMTzdu0Wi0SExOxb98+q48ZMGAADhw4YG7G++WXX7B9+3bcdtttjT6mK7mijiYnT55EREQEOnbsiLvvvhtnzpxxXUVsaEz9rly5Uqep2c/PD7t37270MV3FFfUzkcP71xj79u2zeD0AICkpyfx6yOn9a6z66mii1PewIRr6GijZpUuX0L59e0RGRuL222/H4cOHpS5SoxmNRpSVlSEoKAiA+34PGYAa6cKFC6iurkZoaKjF9tDQUBQWFlp9zLhx4/Dss8/ixhtvhLe3N6KjozF48GDMmDGj0cd0JVfUEQDi4uKwatUq7NixA8uWLUNeXh4GDhyIsrIyl9antsbULykpCQsXLsTJkydhNBqxc+dObNy4EQUFBY0+pqu4on6AfN6/xigsLLT6epSWluKvv/6S1fvXWPXVEVD2e9gQtl4DpbyH9enatStWrFiBjz/+GO+99x6MRiMGDBiA3377TeqiNcqCBQtw6dIljB49GoD7vkcZgNxo165deOGFF/D6668jNzcXGzduxLZt2zBv3jypi+Y0Danj0KFDcdddd+G6665DUlIStm/fjosXL+KDDz6QsOQNs2jRInTu3BndunWDTqdDWloaJkyYAK3WM36VGlI/Jb9/dBXfQ2WLj4/H+PHj0bt3byQkJGDjxo1o3bo13njjDamL5rDs7GzMnTsXH3zwAUJCQtz63M3c+mwepFWrVvDy8kJRUZHF9qKiIoSFhVl9zDPPPIN7770XEydOBABce+21KC8vx6RJkzBz5sxGHdOVXFFHa0GhZcuW6NKlC06dOuX8StjRmPq1bt0amzZtwuXLl1FcXIyIiAhMnz4dHTt2bPQxXcUV9bNGqvevMcLCwqy+HoGBgfDz84OXl5ds3r/Gqq+O1ijpPWwIW6+BUt5DR3l7e6NPnz6Ke//Wrl2LiRMnYv369RbdXe76HvWMP1sloNPpEBsbi5ycHPM2o9GInJwcxMfHW31MRUVFnQDg5eUFABBCNOqYruSKOlpz6dIlnD59GuHh4U4qecM05fX29fVFmzZt8Pfff2PDhg24/fbbm3xMZ3NF/ayR6v1rjPj4eIvXAwB27txpfj3k9P41Vn11tEZJ72FDNOY1ULLq6mr89NNPinr/1qxZgwkTJmDNmjUYNmyYxX1u+z102nBqFVq7dq3w8fERq1atEkeOHBGTJk0SLVu2NE9HvPfee8X06dPN+8+ePVsEBASINWvWiF9++UV8+umnIjo6WowePbrBx3Q3V9Txv//9r9i1a5fIy8sTe/bsEYmJiaJVq1bi3Llzsq/fN998IzZs2CBOnz4tvvrqK3HzzTeLDh06iD///LPBx3QnV9RPTu9fWVmZOHjwoDh48KAAIBYuXCgOHjwofv31VyGEENOnTxf33nuveX/TFPFp06aJo0ePiqVLl1qdBi+X908I19RRye+hEMK8f2xsrBg3bpw4ePCgOHz4sPn+PXv2iGbNmokFCxaIo0ePitmzZ0s2Dd4V9Zs7d6745JNPxOnTp8WBAwfEmDFjhK+vr8U+7uRoHd9//33RrFkzsXTpUoup/BcvXjTv447fQwagJlq8eLFo166d0Ol0on///uKbb74x35eQkCBSU1PNt6uqqsScOXNEdHS08PX1FZGRkeI///mPxcmlvmNKwdl1TElJEeHh4UKn04k2bdqIlJQUcerUKTfWyJIj9du1a5e45pprhI+PjwgODhb33nuv+P333x06prs5u35yev+++OILAaDOj6lOqampIiEhoc5jevfuLXQ6nejYsaNYuXJlnePK6f1zRR2V/h5a2799+/YW+3zwwQeiS5cuQqfTiR49eoht27a5p0K1uKJ+U6dONX8+Q0NDxW233Waxho67OVrHhIQEu/ubuPr3UCOEjX4JIiIiIg/FMUBERESkOgxAREREpDoMQERERKQ6DEBERESkOgxAREREpDoMQERERKQ6DEBERESkOgxAREQKsWvXLmg0Gly8eFHqohApHgMQEdVx3333QaPRYP78+RbbN23aBI1GY74thMBbb72F+Ph4BAYGokWLFujRowemTJnS4AszVlRUICMjA9HR0fD19UXr1q2RkJCAjz/+2LxPVFQUsrKynFI3VzO9dhqNBt7e3ujQoQOefPJJXL582aHjDB48GFOnTrXYNmDAABQUFECv1zuxxETqxABERFb5+vrixRdfxJ9//mn1fiEExo0bh8ceewy33XYbPv30Uxw5cgRvv/02fH198dxzzzXoeR5++GFs3LgRixcvxrFjx7Bjxw7ceeedKC4udmZ13GrIkCEoKCjAL7/8gldffRVvvPEGZs+e3eTj6nQ6hIWFWYRQImokp15Yg4g8Qmpqqhg+fLjo1q2bmDZtmnn7Rx99JExfG2vWrBEAxMcff2z1GEajsUHPpdfrxapVq2zeb+26QSZff/21uPHGG4Wvr69o27atePTRR8WlS5fM97/zzjsiNjZWtGjRQoSGhoqxY8eKoqIi8/2maxjt2LFD9O7dW/j6+oqbbrpJFBUVie3bt4tu3bqJgIAAMXbsWFFeXt6g+qSmporbb7/dYtsdd9wh+vTpY7594cIFMWbMGBERESH8/PxEz549RXZ2tsUxatc5Ly/PXN6a19b78MMPRffu3YVOpxPt27cXCxYsaFA5idSOLUBEZJWXlxdeeOEFLF68GL/99lud+9esWYOuXbtixIgRVh/f0FaKsLAwbN++HWVlZVbv37hxI9q2bYtnn30WBQUFKCgoAACcPn0aQ4YMwahRo/Djjz9i3bp12L17N9LS0syPraqqwrx58/DDDz9g06ZNyM/Px3333VfnOebMmYMlS5Zg7969OHv2LEaPHo2srCxkZ2dj27Zt+PTTT7F48eIG1ae2n3/+GXv37oVOpzNvu3z5MmJjY7Ft2zb8/PPPmDRpEu69917s378fALBo0SLEx8fjwQcfNNc5MjKyzrEPHDiA0aNHY8yYMfjpp58wZ84cPPPMM1i1alWjykqkKlInMCKSn5qtGNdff724//77hRCWLUDdunUTI0aMsHjclClThL+/v/D39xdt2rRp0HN9+eWXom3btsLb21v07dtXTJ06Vezevdtin/bt24tXX33VYtsDDzwgJk2aZLHt66+/FlqtVvz1119Wn+u7774TAERZWZkQ4p8WoM8++8y8T2ZmpgAgTp8+bd720EMPiaSkpAbVJzU1VXh5eQl/f3/h4+MjAAitVis+/PBDu48bNmyY+O9//2u+nZCQIKZMmWKxT+0WoHHjxolbbrnFYp9p06aJ7t27N6isRGrGFiAisuvFF1/E6tWrcfTo0Xr3nTlzJg4dOoRZs2bh0qVLDTr+oEGD8MsvvyAnJwd33nknDh8+jIEDB2LevHl2H/fDDz9g1apVaNGihfknKSkJRqMReXl5AK62kCQnJ6Ndu3YICAhAQkICAODMmTMWx7ruuuvM/w8NDUXz5s3RsWNHi23nzp1rUH0A4KabbsKhQ4fw7bffIjU1FRMmTMCoUaPM91dXV2PevHm49tprERQUhBYtWuCTTz6pU676HD16FDfccIPFthtuuAEnT55EdXW1Q8ciUhsGICKya9CgQUhKSkJGRobF9s6dO+P48eMW21q3bo1OnTohJCTEoefw9vbGwIED8dRTT+HTTz/Fs88+i3nz5qGystLmYy5duoSHHnoIhw4dMv/88MMPOHnyJKKjo1FeXo6kpCQEBgbi/fffx3fffYePPvoIAOoc19vb2/x/0+ytmjQaDYxGY4Pr4+/vj06dOqFXr15YsWIFvv32W7z99tvm+19++WUsWrQITz31FL744gscOnQISUlJdutLRM7VTOoCEJH8zZ8/H71790bXrl3N28aOHYtx48bh448/xu233+7U5+vevTv+/vtvXL58GTqdDjqdrk6LRkxMDI4cOYJOnTpZPcZPP/2E4uJizJ8/3zx+5vvvv3dqORtCq9VixowZSE9Px7hx4+Dn54c9e/bg9ttvxz333AMAMBqNOHHiBLp3725+nLU613bNNddgz549Ftv27NmDLl26wMvLy/mVIfIgbAEionpde+21uPvuu/Haa6+Zt40ZMwZ33nknxowZg2effRbffvst8vPz8eWXX2LdunUNPgEPHjwYb7zxBg4cOID8/Hxs374dM2bMwE033YTAwEAAV9cB+uqrr/D777/jwoULAICnnnoKe/fuRVpaGg4dOoSTJ0/i448/Ng+CbteuHXQ6HRYvXoxffvkFmzdvrrdbzVXuuusueHl5YenSpQCutp7t3LkTe/fuxdGjR/HQQw+hqKjI4jFRUVHm1/TChQtWW6D++9//IicnB/PmzcOJEyewevVqLFmyBE888YRb6kWkZAxARNQgzz77rMVJWKPRYN26dcjKysL27dvx73//G127dsX999+PyMhI7N69u0HHTUpKwurVq3HrrbfimmuuwaOPPoqkpCR88MEHFs+dn5+P6OhotG7dGsDVcTtffvklTpw4gYEDB6JPnz6YNWsWIiIiAFztjlu1ahXWr1+P7t27Y/78+ViwYIETX5GGa9asGdLS0vDSSy+hvLwcTz/9NGJiYpCUlITBgwcjLCwMI0eOtHjME088AS8vL3Tv3h2tW7e2Oj4oJiYGH3zwAdauXYuePXti1qxZePbZZ63OdCMiSxohhJC6EERERETuxBYgIiIiUh0GICJyqZrT1Gv/fP3111IXzyFnzpyxWx9Hp7ETkXTYBUZELmXvoqht2rSBn5+fG0vTNH///Tfy8/Nt3h8VFYVmzTi5lkgJGICIiIhIddgFRkRERKrDAERERESqwwBEREREqsMARERERKrDAERERESqwwBEREREqsMARERERKrDAERERESq8/8A2FCJA4fxXbQAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_15.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAHHCAYAAACfqw0dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABo+klEQVR4nO3de1xUdf4/8NdwGVCEUSBuioKAYt5BJcjUkhXMS6xd0AoveUlXUqK0UPOyVHhF8JKkibKtpGuaa+pqSPndSkwFWS+pGwZaCiiQg5cNEM7vD3+cGJkZmGGGub2ej8c8cs75zDmfc0Dn3efzPu+PRBAEAURERESkEStDd4CIiIjIFDGIIiIiItICgygiIiIiLTCIIiIiItICgygiIiIiLTCIIiIiItICgygiIiIiLTCIIiIiItICgygiIiIiLTCIIiIyc9u3b4dEIkFRUZGhu0JkVhhEEVGLnTp1CrGxsejZsyccHBzQuXNnvPTSS/jvf//bqO2wYcMgkUggkUhgZWUFJycndO/eHTExMcjKytLovF9++SWGDh0KNzc3tG3bFl27dsVLL72Ew4cP6+rSGvnwww+xb9++RtuPHz+OpUuX4vbt23o796OWLl0q3kuJRIK2bdvi8ccfx6JFi1BZWamTc2RmZiIlJUUnxyIyNwyiiKjFVqxYgT179mD48OFITU3FjBkz8O9//xtBQUE4f/58o/adOnXCp59+ir/97W9YtWoVxo4di+PHj2PEiBGIjo5GTU1Nk+dcvXo1xo4dC4lEgoSEBKxduxbPP/88fvrpJ+zcuVMflwlAfRC1bNmyVg2i6m3atAmffvopkpOTERgYiA8++ACRkZHQxdKoDKKIVLMxdAeIyPTFx8cjMzMTUqlU3BYdHY3evXtj+fLl+Pvf/67QXiaT4dVXX1XYtnz5csyZMwcfffQRfHx8sGLFCpXne/DgARITE/GnP/0JX331VaP9N2/ebOEVGY/79++jbdu2atu88MILcHV1BQDMnDkTzz//PPbu3YsTJ04gNDS0NbpJZJE4EkVELRYWFqYQQAFAQEAAevbsiYsXLzbrGNbW1li3bh0ef/xxbNiwAXK5XGXbsrIyVFZW4sknn1S6383NTeH977//jqVLl6Jbt26wt7eHp6cnxo0bhytXrohtVq9ejbCwMLi4uKBNmzYIDg7G559/rnAciUSCe/fuISMjQ5xCmzx5MpYuXYp58+YBAHx9fcV9DXOQ/v73vyM4OBht2rSBs7Mzxo8fj19++UXh+MOGDUOvXr2Qm5uLIUOGoG3btliwYEGz7l9DzzzzDACgsLBQbbuPPvoIPXv2hJ2dHby8vDB79myFkbRhw4bh4MGDuHr1qnhNPj4+GveHyFxxJIqI9EIQBJSWlqJnz57N/oy1tTUmTJiA9957D9999x1GjRqltJ2bmxvatGmDL7/8Em+88QacnZ1VHrO2thajR49GdnY2xo8fj7lz5+LOnTvIysrC+fPn4efnBwBITU3F2LFj8corr6C6uho7d+7Eiy++iAMHDoj9+PTTTzFt2jQMGjQIM2bMAAD4+fnBwcEB//3vf/HZZ59h7dq14qjQY489BgD44IMP8N577+Gll17CtGnTcOvWLaxfvx5DhgzBmTNn0L59e7G/5eXlGDlyJMaPH49XX30V7u7uzb5/9eqDQxcXF5Vtli5dimXLliE8PByzZs3C5cuXsWnTJpw6dQrff/89bG1tsXDhQsjlcvz6669Yu3YtAKBdu3Ya94fIbAlERHrw6aefCgCErVu3KmwfOnSo0LNnT5Wf++KLLwQAQmpqqtrjL168WAAgODg4CCNHjhQ++OADITc3t1G79PR0AYCQnJzcaF9dXZ345/v37yvsq66uFnr16iU888wzCtsdHByESZMmNTrWqlWrBABCYWGhwvaioiLB2tpa+OCDDxS2nzt3TrCxsVHYPnToUAGAkJaWpvK6G1qyZIkAQLh8+bJw69YtobCwUPj4448FOzs7wd3dXbh3754gCIKwbds2hb7dvHlTkEqlwogRI4Ta2lrxeBs2bBAACOnp6eK2UaNGCV26dGlWf4gsDafziEjnLl26hNmzZyM0NBSTJk3S6LP1Ix137txR227ZsmXIzMxE//79ceTIESxcuBDBwcEICgpSmELcs2cPXF1d8cYbbzQ6hkQiEf/cpk0b8c+//fYb5HI5nnrqKeTl5WnU/0ft3bsXdXV1eOmll1BWVia+PDw8EBAQgG+++UahvZ2dHaZMmaLRObp3747HHnsMvr6+eP311+Hv74+DBw+qzKU6evQoqqurERcXByurP74Gpk+fDicnJxw8eFDzCyWyQJzOIyKdKikpwahRoyCTyfD555/D2tpao8/fvXsXAODo6Nhk2wkTJmDChAmorKzEDz/8gO3btyMzMxNjxozB+fPnYW9vjytXrqB79+6wsVH/z92BAwfw/vvvIz8/H1VVVeL2hoGWNn766ScIgoCAgACl+21tbRXed+zYsVF+WVP27NkDJycn2NraolOnTuIUpSpXr14F8DD4akgqlaJr167ifiJSj0EUEemMXC7HyJEjcfv2bXz77bfw8vLS+Bj1JRH8/f2b/RknJyf86U9/wp/+9CfY2toiIyMDP/zwA4YOHdqsz3/77bcYO3YshgwZgo8++gienp6wtbXFtm3bkJmZqfE1NFRXVweJRIJ//etfSgPKR3OMGo6INdeQIUPEPCwiaj0MoohIJ37//XeMGTMG//3vf3H06FE8/vjjGh+jtrYWmZmZaNu2LQYPHqxVPwYMGICMjAwUFxcDeJj4/cMPP6CmpqbRqE+9PXv2wN7eHkeOHIGdnZ24fdu2bY3aqhqZUrXdz88PgiDA19cX3bp10/Ry9KJLly4AgMuXL6Nr167i9urqahQWFiI8PFzc1tKROCJzxpwoImqx2tpaREdHIycnB7t379aqNlFtbS3mzJmDixcvYs6cOXByclLZ9v79+8jJyVG671//+heAP6aqnn/+eZSVlWHDhg2N2gr/vxiltbU1JBIJamtrxX1FRUVKi2o6ODgoLajp4OAAAI32jRs3DtbW1li2bFmj4peCIKC8vFz5RepReHg4pFIp1q1bp9CnrVu3Qi6XKzwV6eDgoLbcBJEl40gUEbXYW2+9hf3792PMmDGoqKhoVFzz0cKacrlcbHP//n0UFBRg7969uHLlCsaPH4/ExES157t//z7CwsLwxBNPIDIyEt7e3rh9+zb27duHb7/9FlFRUejfvz8AYOLEifjb3/6G+Ph4nDx5Ek899RTu3buHo0eP4i9/+Quee+45jBo1CsnJyYiMjMTLL7+MmzdvYuPGjfD398fZs2cVzh0cHIyjR48iOTkZXl5e8PX1RUhICIKDgwEACxcuxPjx42Fra4sxY8bAz88P77//PhISElBUVISoqCg4OjqisLAQX3zxBWbMmIG33367RfdfU4899hgSEhKwbNkyREZGYuzYsbh8+TI++ugjDBw4UOHnFRwcjF27diE+Ph4DBw5Eu3btMGbMmFbtL5HRMuSjgURkHuofzVf1Ute2Xbt2QkBAgPDqq68KX331VbPOV1NTI2zZskWIiooSunTpItjZ2Qlt27YV+vfvL6xatUqoqqpSaH///n1h4cKFgq+vr2Brayt4eHgIL7zwgnDlyhWxzdatW4WAgADBzs5OCAwMFLZt2yaWEGjo0qVLwpAhQ4Q2bdoIABTKHSQmJgodO3YUrKysGpU72LNnjzB48GDBwcFBcHBwEAIDA4XZs2cLly9fVrg36so/PKq+f7du3VLb7tESB/U2bNggBAYGCra2toK7u7swa9Ys4bffflNoc/fuXeHll18W2rdvLwBguQOiBiSCoIPFlYiIiIgsDHOiiIiIiLTAIIqIiIhICwyiiIiIiLTAIIqIiIhICwyiiIiIiLTAIIqIiIhICyy2qSd1dXW4ceMGHB0duWwCERGRiRAEAXfu3IGXlxesrNSPNTGI0pMbN27A29vb0N0gIiIiLfzyyy/o1KmT2jYMovTE0dERwMMfgro1wIiIiMh4VFZWwtvbW/weV4dBlJ7UT+E5OTkxiCIiIjIxzUnFYWI5ERERkRYYRBERERFpgUEUERERkRaYE0VERGRE6urqUF1dbehumDWpVNpk+YLmYBBFRERkJKqrq1FYWIi6ujpDd8WsWVlZwdfXF1KptEXHYRBFRERkBARBQHFxMaytreHt7a2TkRJqrL4YdnFxMTp37tyigtgMooiIiIzAgwcPcP/+fXh5eaFt27aG7o5Ze+yxx3Djxg08ePAAtra2Wh+HYS4REZERqK2tBYAWTzFR0+rvcf091xaDKCIiIiPC9Vb1T1f3mEEUERERkRaYE0VGp7y8XO3jvVKpFC4uLq3YIyIiosYYRJFRKS8vx4YNG8T3crkjKipc4OxcDpnsjrg9NjaWgRQRkZGYPHkyMjIyAAA2NjZwdnZGnz59MGHCBEyePLnZTxpu374dcXFxuH37th57qzsMosioNByBysvrjy+/HA1BsIJEUocxYw4gKOhMo3ZERGT4UfzIyEhs27YNtbW1KC0txeHDhzF37lx8/vnn2L9/P2xszC/kML8rIrMglzuKARQACIIVvvxyNPz8ChRGpIiIqPEovir6HMW3s7ODh4cHAKBjx44ICgrCE088geHDh2P79u2YNm0akpOTsW3bNvz8889wdnbGmDFjsHLlSrRr1w7Hjh3DlClTAPyR+L1kyRIsXboUn376KVJTU3H58mU4ODjgmWeeQUpKCtzc3PRyLc3FxHIyShUVLmIAVU8QrFBR4WygHhERGa/mjs639ij+M888g759+2Lv3r0AHlYKX7duHS5cuICMjAx8/fXXmD9/PgAgLCwMKSkpcHJyQnFxMYqLi/H2228DAGpqapCYmIj//Oc/2LdvH4qKijB58uRWvRZlOBJFRsnZuRwSSZ1CICWR1MHZucKAvSIiIk0FBgbi7NmzAIC4uDhxu4+PD95//33MnDkTH330EaRSKWQyGSQSiTiiVe+1114T/9y1a1esW7cOAwcOxN27d9GuXbtWuQ5lOBJFRkkmu4MxYw5AInm4flR9ThSn8oiITIsgCOL03NGjRzF8+HB07NgRjo6OiImJQXl5Oe7fv6/2GLm5uRgzZgw6d+4MR0dHDB06FABw7do1vfdfHY5EkdEKCjoDP78CVFQ4w9m5ggEUEZEJunjxInx9fVFUVITRo0dj1qxZ+OCDD+Ds7IzvvvsOU6dORXV1tcqlbu7du4eIiAhERERgx44deOyxx3Dt2jVEREQY/CEjBlFk1GSyOwyeiIhM1Ndff41z587hzTffRG5uLurq6rBmzRqx5ME//vEPhfZSqbTRUiyXLl1CeXk5li9fDm9vbwDA6dOnW+cCmsDpPDIqzV0zimtLEREZl6qqKpSUlOD69evIy8vDhx9+iOeeew6jR4/GxIkT4e/vj5qaGqxfvx4///wzPv30U6SlpSkcw8fHB3fv3kV2djbKyspw//59dO7cGVKpVPzc/v37kZiYaKCrVMSRKDIqLi4uiI2NZcVyIiITc/jwYXh6esLGxgYdOnRA3759sW7dOkyaNAlWVlbo27cvkpOTsWLFCiQkJGDIkCFISkrCxIkTxWOEhYVh5syZiI6ORnl5uVjiYPv27ViwYAHWrVuHoKAgrF69GmPHjjXg1T4kEQRBMHQnzFFlZSVkMhnkcjmcnJwM3R0iIjJyv//+OwoLC+Hr6wt7e3uNPmsMdaJMibp7rcn3N0eizFjD6rU3blihsNAGvr4P4OX18Ik3jugQEZkHjuIbBoMoM9Xw/0rULZ9ijP9XYuilC4iITBH/XWx9DKLMVH0Q0tTyKYZ+PPRRXICYiIhMBYMoM6du+RRjLB3ABYiJiMhUsMSBmatfPqUhU1g+RdUImlzuaOCeERERPcSRKDNXv3zKoyM6xjgK1ZCpjaDpGvPCiIiMH4MoC2CMy6eoChLKysoAWPYCxMwLIyIyDQyiLIQxLZ/SnCDBVEfQdIF5YUREpoFBFLW65gYJxjiC1pqaerKSiIgMi4nlZsoU1qBrTvK4THYHvr5XLTJoUJcXRkRkSY4dOwaJRILbt283+zM+Pj5ISUnRW58AIwiiNm7cCB8fH9jb2yMkJAQnT55U23737t0IDAyEvb09evfujUOHDinsnzx5MiQSicIrMjJS3F9UVISpU6fC19cXbdq0gZ+fH5YsWaIwOlJUVNToGBKJBCdOnNDtxetRffXaGTNmqHwZOqemJUGCJSxAbKpPVhKR5an/7p05c2ajfbNnz4ZEIsHkyZNbv2N6ZtDpvF27diE+Ph5paWkICQlBSkoKIiIicPnyZbi5uTVqf/z4cUyYMAFJSUkYPXo0MjMzERUVhby8PPTq1UtsFxkZiW3btonv7ezsxD9funQJdXV1+Pjjj+Hv74/z589j+vTpuHfvHlavXq1wvqNHj6Jnz57ie1NL4jX2/jaVPD5u3Di4uro2+pylPJnWGnlhfAqQiHTF29sbO3fuxNq1a9GmTRsAD9eoy8zMROfOnQ3cO/0waBCVnJyM6dOnY8qUKQCAtLQ0HDx4EOnp6Xj33XcbtU9NTUVkZCTmzZsHAEhMTERWVhY2bNiAtLQ0sZ2dnR08PDyUnjMyMlJhZKpr1664fPkyNm3a1CiIcnFxUXkcarmmggRXV1d4enoauJeGpc+8MC5YSkS6FBQUhCtXrmDv3r145ZVXAAB79+5F586d4evrK7arqqrCvHnzsHPnTlRWVmLAgAFYu3YtBg4cKLY5dOgQ4uLi8Msvv+CJJ57ApEmTGp3vu+++Q0JCAk6fPg1XV1f8+c9/RlJSEhwcHPR/sf+fwabzqqurkZubi/Dw8D86Y2WF8PBw5OTkKP1MTk6OQnsAiIiIaNT+2LFjcHNzQ/fu3TFr1iyUl5er7YtcLoezc+MppLFjx8LNzQ2DBw/G/v371R6jqqoKlZWVCi9qWlDQGcTFpWDSpO2Ii0sRk8qVKS8vR3FxscpXUz9nU6WvvLBHR6DkckcUFvo0KmjKpwCJTM+vvwLffPPwv63ptddeU5gJSk9PFwdK6s2fPx979uxBRkYG8vLy4O/vj4iICFRUPJyF+OWXXzBu3DiMGTMG+fn5mDZtWqOBlStXriAyMhLPP/88zp49i127duG7775DbGys/i+yAYONRJWVlaG2thbu7u4K293d3XHp0iWlnykpKVHavqSkRHwfGRmJcePGwdfXF1euXMGCBQswcuRI5OTkwNrautExCwoKsH79eoVRqHbt2mHNmjV48sknYWVlhT179iAqKgr79u3D2LFjlfYtKSkJy5Yta/b10x+aU37BkkZNDPFQgLqnJInItGzdCsyYAdTVAVZWwObNwNSprXPuV199FQkJCbh69SoA4Pvvv8fOnTtx7NgxAMC9e/ewadMmbN++HSNHjgQAbNmyBVlZWdi6dSvmzZuHTZs2wc/PD2vWrAEAdO/eHefOncOKFSvE8yQlJeGVV15BXFwcACAgIADr1q3D0KFDsWnTJtjb27fK9ZpdiYPx48eLf+7duzf69OkDPz8/HDt2DMOHD1doe/36dURGRuLFF1/E9OnTxe2urq6Ij48X3w8cOBA3btzAqlWrVAZRCQkJCp+prKyEt7e3ri7LrGgTJCgbNVFWgNLURk1U5SS99NJLePDgAWxtbSGTyRrt12WuEkspEJmPX3/9I4ACHv739deBiAigUyf9n/+xxx7DqFGjsH37dgiCgFGjRinktl65cgU1NTV48sknxW22trYYNGgQLl68CAC4ePEiQkJCFI4bGhqq8P4///kPzp49ix07dojbBEFAXV0dCgsL0aNHD31cXiMGC6JcXV1hbW2N0tJShe2lpaUq85A8PDw0ag88zHlydXVFQUGBQhB148YNPP300wgLC8PmzZub7G9ISAiysrJU7rezs1NIYCfV6p8c1Dah2VxGTYxldM3Sl9ghMic//fRHAFWvthYoKGidIAp4OKVXP622ceNGvZzj7t27eP311zFnzpxG+1ozid1gOVFSqRTBwcHIzs4Wt9XV1SE7O7tRxFkvNDRUoT0AZGVlqWwPAL/++ivKy8sVEpSvX7+OYcOGITg4GNu2bYOVVdO3IT8/3+KTnHXJxcUFnp6eKl+qggZzWpjYWHKSWEqByHwEBDycwmvI2hrw92+9PkRGRqK6uho1NTWIiIhQ2Ofn5wepVIrvv/9e3FZTU4NTp07h8ccfBwD06NGjUbmjR0sMBQUF4ccff4S/v3+jV2uWwDHodF58fDwmTZqEAQMGYNCgQUhJScG9e/fEJLSJEyeiY8eOSEpKAgDMnTsXQ4cOxZo1azBq1Cjs3LkTp0+fFkeS7t69i2XLluH555+Hh4cHrly5gvnz54tJa8AfAVSXLl2wevVq3Lp1S+xP/YhWRkYGpFIp+vfvD+Dh0wXp6en45JNPWu3ekHLmOmpiyNE1S15ih8jcdOr0MAfq9dcfjkBZWwMff9x6o1AAYG1tLU7NPZqL7ODggFmzZmHevHlwdnZG586dsXLlSty/fx9T/3/i1syZM7FmzRrMmzcP06ZNQ25uLrZv365wnHfeeQdPPPEEYmNjMW3aNDg4OODHH38Un9hvLQYNoqKjo3Hr1i0sXrwYJSUl6NevHw4fPiwmj1+7dk1hlCgsLAyZmZlYtGgRFixYgICAAOzbt0+sEWVtbY2zZ88iIyMDt2/fhpeXF0aMGIHExERxqi0rKwsFBQUoKChAp0d+qwRBEP+cmJiIq1evwsbGBoGBgdi1axdeeOEFfd8SaoI5LkxsDDlJlr7EDpE5mTr1YQ5UQcHDEajWDKDqOTk5qdy3fPly1NXVISYmBnfu3MGAAQNw5MgRdOjQAcDD6bg9e/bgzTffxPr16zFo0CB8+OGHeO2118Rj9OnTB//3f/+HhQsX4qmnnoIgCPDz80N0dLTer60hidAwciCdqayshEwmg1wuV/vLRM1TXFwsjjiqG7WZMWOGyUy71l9TYaEPMjIa10CZNGk7fH2v6u2ajCUni4ge+v3331FYWAhfX99We7rMUqm715p8f5vd03lk/sxt1MRQo2stTfAnIrJ0DKLIJDyaKKiqtpQprqlnyJwkBkhERNpjEEUmwdxHTcxtdI2IyBIwiCKTYaoBkirmPLpGRGQJGEQRGYi5j64RkXb4vJf+6eoeM4giMiAGSERUr76mUnV1Ndq0aWPg3pi3+v95VbamriYYRBERERkBGxsbtG3bFrdu3YKtrW2zVtMgzdXV1eHWrVto27YtbGxaFgYxiCIiIjICEokEnp6eKCwsxNWrVw3dHbNmZWWFzp07QyKRtOg4DKKIiIiMhFQqRUBAgN7XzLR0UqlUJyN9DKKIiIiMiJWVFSuWmwhOuBIRERFpgUEUERERkRY4nWfGysvLWYOIiIhITxhEmany8nJs2LChyXbR0dGQyWSNtjPAIiIiUo9BlJl6dARKLndERYULnJ3LFZYW2bVrl8pjxMbGMpDSAEf+iIgsC4MoC5CX1x9ffjkagmAFiaQOY8YcQFDQGXG/qgDLUI/YmmIw0tyRPwamRETmg0GUmZPLHcUACgAEwQpffjkafn4FkMnuNBlgtTZTDUaaO/LH2i9EROaDQZSZq6hwEQOoeoJghYoKZwBQG2AZQnODDGMORowtMCUiIv1gEGXmnJ3LIZHUKQRSEkkdnJ0r1AZYhgqiHqVqRMdYNTXyR7philO+RGR+GESZOZnsDsaMOdBoZKT+C11VgGUMTHFEp6nAtKysrNFn+IWvGVOd8iUi88MgygIEBZ2Bn18BKiqc4excIQZQTQVYhmSqIzrqRv4AYO/evUo/xy/85mP+GREZCwZRZkoqlSq8l8nuKA0+VAVYhmYKU43KNBWY8gtft0xxtJKIzAeDKDPl4uKC2NhYpV/Ot2/fxj/+8Q/xvaoA69FArDU1NaJjzFQFpvzC1y1THa0kIvPBIMqMqZoe8vT0VBlg1TN0no4xTzUq09TIH7/wdc9URyuJyHwwiDJjpvgEU8NgRN1UoyFHyZRRNfJXVlaGvXv38gtfD0x5tJKIzAODKDNl7E8wqQvwXnrpJUgkEqVr+gHGGfwBqkf+AH7h64OpjVYSkflhEGWmjPkJJmMP8PSBX/j6YawPRhCRZWAQZQGMLaHZHKqSa4Nf+LrR3CdPdTHla4pT4kTUehhEmTlTSGg2tarkmmjNL3xLoe7J03q6CG4sccSUiDTDIMrMGXtCs7GNkulaa33ha8tUR1pao0+WOmJKRM3HIMrMGXNCsymMkumCMQYhAEdaGlIWTD66RI85j5gSkXYYRJk5Y05oNvZRMnNnzA8ftKbmBJPmPmJKRNqxarqJfm3cuBE+Pj6wt7dHSEgITp48qbb97t27ERgYCHt7e/Tu3RuHDh1S2D958mRIJBKFV2RkpEKbiooKvPLKK3ByckL79u0xdepU3L17V6HN2bNn8dRTT8He3h7e3t5YuXKlbi7YAIKCziAuLgWTJm1HXFyK0fzjXz9K1pCxjJJZmry8/khJiUNGxiSkpMQhL6+/obvUapoKElWNmMrljq3RPSIyYgYNonbt2oX4+HgsWbIEeXl56Nu3LyIiInDz5k2l7Y8fP44JEyZg6tSpOHPmDKKiohAVFYXz588rtIuMjERxcbH4+uyzzxT2v/LKK7hw4QKysrJw4MAB/Pvf/8aMGTPE/ZWVlRgxYgS6dOmC3NxcrFq1CkuXLsXmzZt1fxP0RFlCs6/v1UYjPIZMaK4fJasPpIxplMySMEhQJJc7orDQR7x+dSOmRGTZDDqdl5ycjOnTp2PKlCkAgLS0NBw8eBDp6el49913G7VPTU1FZGQk5s2bBwBITExEVlYWNmzYgLS0NLGdnZ0dPDw8lJ7z4sWLOHz4ME6dOoUBAwYAANavX49nn30Wq1evhpeXF3bs2IHq6mqkp6dDKpWiZ8+eyM/PR3JyskKwZcyMOaH5/v374p/VPfbfsB3pD6dV/6Bs2s7Pr0BtXqFcLoenp6ehukxEBmSwkajq6mrk5uYiPDz8j85YWSE8PBw5OTlKP5OTk6PQHgAiIiIatT927Bjc3NzQvXt3zJo1C+Xl5QrHaN++vRhAAUB4eDisrKzwww8/iG2GDBmiMEoTERGBy5cv47ffftP+oluZi4sLPD09Vb4MlSzctm1bhfeqRskebUf6wWnVh1SNyAFQO2JaU1NjmA4TkcEZbCSqrKwMtbW1cHd3V9ju7u6OS5cuKf1MSUmJ0vYlJSXi+8jISIwbNw6+vr64cuUKFixYgJEjRyInJwfW1tYoKSmBm5ubwjFsbGzg7OwsHqekpAS+vr6NzlO/r0OHDo36VlVVhaqqKvF9ZWVlU7eA/j8+9WRYxvzwQWtSNyIXFHQGbm4luHatMzp3voZOnYrFNjY2fD6HyFKZ3d/+8ePHi3/u3bs3+vTpAz8/Pxw7dgzDhw/X23mTkpKwbNkyvR3fXPGpJ+PAaurqy4Go+z1t3769gXpMRIZmsOk8V1dXWFtbo7S0VGF7aWmpynwmDw8PjdoDQNeuXeHq6oqCggLxGI8mrj948AAVFRXicVSdp36fMgkJCZDL5eLrl19+UdkneogJzYZlCg8ftCZVDzoA4O8pESllsJEoqVSK4OBgZGdnIyoqCgBQV1eH7OxsxMbGKv1MaGgosrOzERcXJ27LyspCaGioyvP8+uuvKC8vFxM/Q0NDcfv2beTm5iI4OBgA8PXXX6Ourg4hISFim4ULF6Kmpga2trbiebp37650Kg94mMxuZ2en0T2wdExoNixjfvigNTUMEpWNyBUW+vD3lIiUMuh0Xnx8PCZNmoQBAwZg0KBBSElJwb1798Sn9SZOnIiOHTsiKSkJADB37lwMHToUa9aswahRo7Bz506cPn1aLD1w9+5dLFu2DM8//zw8PDxw5coVzJ8/H/7+/oiIiAAA9OjRA5GRkZg+fTrS0tJQU1OD2NhYjB8/Hl5eXgCAl19+GcuWLcPUqVPxzjvv4Pz580hNTcXatWsNcJfMl7FWUzfVpVC0YS7X0RKqgsmysjLs3bvXaH9PicjwDBpERUdH49atW1i8eDFKSkrQr18/HD58WEzivnbtGqys/viHKywsDJmZmVi0aBEWLFiAgIAA7Nu3D7169QIAWFtb4+zZs8jIyMDt27fh5eWFESNGIDExUWGUaMeOHYiNjcXw4cNhZWWF559/HuvWrRP3y2QyfPXVV5g9ezaCg4Ph6uqKxYsXm0x5g+YwhkDBGBOauRSKZVL3szTG31MiMg4SQRAEQ3fCHFVWVkImk0Eul8PJycnQ3VFg6EDh0fM/fDqvcUKzIQKV4uJihaKqqp4cnDFjBmsDmTlj/j0lIv3R5Pvb7J7Oo6YZenV6U8nF4ZODls1Ufk+JyHAYRJFB6jQZ+xePqicH/fwKdHqPjGFalVTjvScidRhEWTiOtijXGk8OGnpalYiIWsagCxCTYbFOk2qtsRTKoyNQjy58q6odEREZB45EmbiWTAexTpNq2jyR1ZKfBUcEiYhMD4MoE9bS6SDWv1FPk6VQWvKzaK38KyIi0i0GUSZM2XSQsgRxVaMjrH/TmLKlUJTdj0fbteRnYekjgkyuJyJTxSDKRCj7oikrKxP/rMl0UFPLXChrZyl08Vi7plNzuhoRNMVgRNsRPFO8ViIyPwyiTIDyon/1oxyaTwex/o16LblubabmdDEiaKpP+mkzgmeq10pE5odBlAlo+AWibJSjQ4ffNJ4O4peLfmg7NadJ/pUyLZ3aNQbNHcEzdLFYIqJ6DKJMiKpRjqlTP2GCuJHQZGpO2/yrppjik34tSa43RLFYIiKAQZRJUTXKUVMjZYK4kdBkak4f06qm+qSftiN4phgwEpH5YBBlQtSNcvj6Xm3RdBDpjiZTc7qeVjXVJ/20Sa431YCRiMwHK5abkPpRjvpK2o+Ocshkd+Dre7XRF4glPmXX2pRNzRniZ9Ealdb1oanfbWXUBYxERK2BI1EmRt0ox7hx4+Dq6qrQ3pKfsmtNxvLEoy5rf7V2GQFNk+tZLJaIDI1BlAlSlYDs6uoKT09PA/SIAON54rGlT/oBrVdGoCXJ9SwWS0SGxiDKBDR3CojTdpZL10/6tVbJBG1G8FgsloiMBYMoE2AsU0VkvPT5O6LvJ+A07RP/PhCRsWAQZSL4hUBN0cfviLE+Ace/D0RkDBhEEZFKploywdRwLUAi08QgiohU4hNw+se1AIlMF+tEEZFK2tRvIs1wLUAi08WRKCJSSxclE6j5uBYgkelgEEVEjehrcWRSj2sBEpkWBlFE1EhrlhFgUvVDxvokJBGpxiCKiJRqjcDl0aRqVVNZlpBUzSchiUwPgygiMpiGI1DqprIsIamaT0ISmR4+nUdEBqdqKksudzRwz1oPn4QkMj0ciSIig7PkqSyuBUhkuhhEkVlj0rJpsOSpLGNZC5B/V4g0xyCKFJjTP6SsBG066qeyHs2JMvdRqHqG/v3j3xUi7TCIIpG5/UPKStCmhUU9DYd/V4i0w8RyEpn7P6RyuSMKC30sKlnZ2MnlcoX3Mtkd+PpebRRAPdqO9It/V4iax+BB1MaNG+Hj4wN7e3uEhITg5MmTatvv3r0bgYGBsLe3R+/evXHo0CGVbWfOnAmJRIKUlBRx27FjxyCRSJS+Tp06BQAoKipSuv/EiRM6uWZTYU7/kObl9UdKShwyMiYhJSUOeXn9Dd0lAiAIgsJ7Vb9zj7Yj/eHfFaLmM+h03q5duxAfH4+0tDSEhIQgJSUFERERuHz5Mtzc3Bq1P378OCZMmICkpCSMHj0amZmZiIqKQl5eHnr16qXQ9osvvsCJEyfg5eWlsD0sLAzFxcUK29577z1kZ2djwIABCtuPHj2Knj17iu9NYQpLV8xp+QlWgjZe7du3F/+s7neuYTvSH/5dIdKMQUeikpOTMX36dEyZMgWPP/440tLS0LZtW6Snpyttn5qaisjISMybNw89evRAYmIigoKCGuXxXL9+HW+88QZ27NgBW1tbhX1SqRQeHh7iy8XFBf/85z8xZcoUSCQShbYuLi4KbR89lrkyt5o96h6f11R5eTmKi4tVvsrLy3XVbYtibr9zpkqXf1eILIHBRqKqq6uRm5uLhIQEcZuVlRXCw8ORk5Oj9DM5OTmIj49X2BYREYF9+/aJ7+vq6hATE4N58+YpjCKpsn//fpSXl2PKlCmN9o0dOxa///47unXrhvnz52Ps2LEqj1NVVYWqqirxfWVlZZPnNlbmVrNHV4/Pm1vivTExt985U2XJpSaItGGwkaiysjLU1tbC3d1dYbu7uztKSkqUfqakpKTJ9itWrICNjQ3mzJnTrH5s3boVERER6NSpk7itXbt2WLNmDXbv3o2DBw9i8ODBiIqKwv79+1UeJykpCTKZTHx5e3s36/zGqP4f0oZa8x9SXY/26KoS9KMJ9aryd0w18d6QDP07Rw+xajqRZsyqxEFubi5SU1ORl5fXaGpOmV9//RVHjhzBP/7xD4Xtrq6uCiNeAwcOxI0bN7Bq1SqVo1EJCQkKn6msrDTZQMqQNXt0Odqjz0rQ5pQzZgwsvU6UobFqOpF2DBZEubq6wtraGqWlpQrbS0tL4eHhofQzHh4eatt/++23uHnzJjp37izur62txVtvvYWUlBQUFRUpfHbbtm1wcXFRO01XLyQkBFlZWSr329nZwc7OrsnjGDNj+IdUl2UW9FUJmsm3+sE6UYZjLFXTiUyNwYIoqVSK4OBgZGdnIyoqCsDDfKbs7GzExsYq/UxoaCiys7MRFxcnbsvKykJoaCgAICYmBuHh4QqfiYiIQExMTKOcJ0EQsG3bNkycOLFZCeP5+fnw9PTU4ApNjzH+QyqXO6KiwgXOzuVafanqo6/M39GdRwNymeyO0nvIERD9Y4BEpDmDTufFx8dj0qRJGDBgAAYNGoSUlBTcu3dPDHgmTpyIjh07IikpCQAwd+5cDB06FGvWrMGoUaOwc+dOnD59Gps3bwbw8B+BR/8hsLW1hYeHB7p3766w/euvv0ZhYSGmTZvWqF8ZGRmQSqXo3/9hfZS9e/ciPT0dn3zyic7vgbExpn9IDTVlpmrpm7KyMgBMvtUlYwzciYiay6BBVHR0NG7duoXFixejpKQE/fr1w+HDh8Xk8WvXrsHK6o8vqrCwMGRmZmLRokVYsGABAgICsG/fvkY1oppj69atCAsLQ2BgoNL9iYmJuHr1KmxsbBAYGIhdu3bhhRde0O5CSWOGmjJrTk4W83d0iwESEZkqicBSwHpRWVkJmUwGuVwOJycnQ3fHZBQXF2Pz5s0oLPRBRsakRvsnTdoOX9+rmDFjhl6mV+vPX0/ddOLDfY3zd/TVNzJf5rTwN5Gp0+T726yeziPzYQxTZk1NJzJ/h3SB9ceITBeDKDJKhp4ya2o6cdy4cXB1dW30OY4YkKaU1R9TNvrJ+mNExodBFBkVYyizADT9BJ6rqyun7EjnWH+MyLQwiCKjYixPaxnDdCKZJm3zm1h/jMj0MIgio2MM02GGnk4k09SS/CbWHyMyPQyiTByf6tGf1qigzZ+feWlJfhNHP4lMD4MoE8anenSvNStoP/rzU/WFy5+fadI0v4mjn0Smh0GUCdPlOnP0UGvmZDU8h7ovXP78TI+2+U1cP5DItDCIMiMtXWeOHmrtUR8mFJsfTfKbuH4gkeliEGUm+Gi06WJCsfnRJL/JWJ5IJSLNMYgyAxzJMG1MKDY/muY3MUAiMk0MoswARzJMGxOKzRPzm4jMH4MoM8CRDNPHL1zzwPwmIsvCIMoMcCTDPKj6wiXTwfwmIsvCIMqEGcs6c6Sd5v5czP3nZ24FR02pr0TUMhJBEARDd8IcVVZWQiaTQS6Xw8nJSW/nMbcvIEtj6T8/FhwlImOjyfc3R6JMHL9YTJul//xYcJSITBmDKCIyOEsp02HpI49E5oZBFBEZnCWU6eBal0Tmx6rpJkRE+lVfpqMhcyvT8egIlFzuiMJCH8jljmrbEZHx4kgUERmcpZXp4DJNROaBQRQRGQVLKThqKflfRJaAQRQRGQ1LKDhqCflfRJaCQRQRGYwlFhzlMk2miU9WkjIMoojIYCxxmRRLy/8yB3yyklRhEEVEBmWJXzqWkv9lLpr7xCSfrLQ8DKKISGc45aHao1OSqvK/zGnq0lypWp6ILA+DKCLSCa6Dp54lTl2aI5anoIYYRBGRTnAdvKYxQDJtLE9Bj2LFciLSKVVfNI9W5iYyNerKU5BlYhBFRDrFLxoyV5awPBFphkEUEekUv2jIXNWXp6j//WZ5CmJOFBHpFOsgkblp+MSkuvIUfLLS8hg8iNq4cSNWrVqFkpIS9O3bF+vXr8egQYNUtt+9ezfee+89FBUVISAgACtWrMCzzz6rtO3MmTPx8ccfY+3atYiLixO3+/j44OrVqwptk5KS8O6774rvz549i9mzZ+PUqVN47LHH8MYbb2D+/Pktu1giC8E6SGRO+GQlqWLQIGrXrl2Ij49HWloaQkJCkJKSgoiICFy+fBlubm6N2h8/fhwTJkxAUlISRo8ejczMTERFRSEvLw+9evVSaPvFF1/gxIkT8PLyUnruv/71r5g+fbr43tHxj6TXyspKjBgxAuHh4UhLS8O5c+fw2muvoX379pgxY4aOrp7IvFnCOnikOVOtJWaMfSLDM2gQlZycjOnTp2PKlCkAgLS0NBw8eBDp6ekKo0L1UlNTERkZiXnz5gEAEhMTkZWVhQ0bNiAtLU1sd/36dbzxxhs4cuQIRo0apfTcjo6O8PDwULpvx44dqK6uRnp6OqRSKXr27In8/HwkJycziCJSwRLXwSPNcPkUMjcGC6Kqq6uRm5uLhIQEcZuVlRXCw8ORk5Oj9DM5OTmIj49X2BYREYF9+/aJ7+vq6hATE4N58+ahZ8+eKs+/fPlyJCYmonPnznj55Zfx5ptvwsbGRjzPkCFDFP6xj4iIwIoVK/Dbb7+hQ4cOjY5XVVWFqqoq8X1lZaX6G0BkZjjlQU3h8ilkbgwWRJWVlaG2thbu7u4K293d3XHp0iWlnykpKVHavqSkRHy/YsUK2NjYYM6cOSrPPWfOHAQFBcHZ2RnHjx9HQkICiouLkZycLJ7H19e30Xnq9ykLopKSkrBs2TI1V0xk/hggkSa4fAqZOoMnlutSbm4uUlNTkZeXB4lEorJdw9GsPn36QCqV4vXXX0dSUhLs7Oy0OndCQoLCcSsrK+Ht7a3VsYiIzB2XTyFzYLA6Ua6urrC2tkZpaanC9tLSUpW5Sh4eHmrbf/vtt7h58yY6d+4MGxsb2NjY4OrVq3jrrbfg4+Ojsi8hISF48OABioqK1J6nfp8ydnZ2cHJyUngREVFjrGpP5sJgQZRUKkVwcDCys7PFbXV1dcjOzkZoaKjSz4SGhiq0B4CsrCyxfUxMDM6ePYv8/Hzx5eXlhXnz5uHIkSMq+5Kfnw8rKyvxicDQ0FD8+9//Rk1NjcJ5unfvrnQqj4iImo9V7clcaBRE1dTUYP78+fD398egQYOQnp6usL+0tBTW1tbNPl58fDy2bNmCjIwMXLx4EbNmzcK9e/fEp/UmTpyokHg+d+5cHD58GGvWrMGlS5ewdOlSnD59GrGxsQAe5mP06tVL4WVrawsPDw90794dwMOk8ZSUFPznP//Bzz//jB07duDNN9/Eq6++KgZIL7/8MqRSKaZOnYoLFy5g165dSE1NbZTUTkREmmNVezIXGuVEffDBB/jb3/6Gt99+G7dv30Z8fDx++OEHfPzxx2IbQRCafbzo6GjcunULixcvRklJCfr164fDhw+LSdzXrl2DldUfcV5YWBgyMzOxaNEiLFiwAAEBAdi3b1+jGlHq2NnZYefOnVi6dCmqqqrg6+uLN998UyFAkslk+OqrrzB79mwEBwfD1dUVixcvZnkDIiIdYFV7MhcSQYOoJyAgAGvXrsXo0aMBAAUFBRg5ciQGDx6M9PR03Lx5E15eXqitrdVbh01FZWUlZDIZ5HI586OIiNC4TtTDp/MaV7VnnSgyJE2+vzUKotq2bYsff/xRIUn7+vXreOaZZzBw4ECsXLkS3t7eDKLAIIqISBlTrVhOlkOT72+NpvM8PDxw5coVhSCqY8eO+Oabb/D0009j8uTJ2vSXiEjv+OVtHHiPyZxoFEQ988wzyMzMxPDhwxW2e3l54euvv8awYcN02TciIp1QPo3UuMgjp5GISBMaBVHvvfeeymriHTt2xP/93/8hKytLJx0jItKVhiNQ6oo8crkRItKERkFUly5d0KVLF5X7vby8MGnSpBZ3iohIH1QVefTzK+CTYUSkMa2Kbe7evRvjxo0TazGNGzcOn3/+ua77RkSkUyzySES6pFEQVVdXh+joaERHR+PHH3+Ev78//P39ceHCBURHR2P8+PEa1YkiImpNLPJIRLqkURCVmpqKo0ePYv/+/bh06RL27duHffv24fLly/jiiy+QlZWF1NRUffWViKhF6os81gdSLPJIRC2hUU7Utm3bsGrVKrHYZkNjx47FypUrkZqairi4OF31j4hIp4KCzsDPr0BpkUciIk1oNBL1008/ITw8XOX+8PBw/PTTTy3uFBGRPslkd+Dre5UBFBG1iEYjUW3atMHt27fRuXNnpfsrKythb2+vk44REemKVCrVaTtqXSyUSsZKo2VfRo0ahc6dO2PTpk1K98+cORPXrl3DoUOHdNZBU8VlX4iMizF/ERtz3wzt0UKpqrBQKumK3pZ9WbhwIYYNG4by8nK8/fbbCAwMhCAIuHjxItasWYN//vOf+Oabb1rUeSIifTDWL1hWU1fv0eBS1f1hoVQyBI2CqLCwMOzatQszZszAnj17FPZ16NABn332GZ588kmddpCIyJyxmnrzqbs/RIagURAFAH/+858RERGBI0eOiEnk3bp1w4gRI9C2bVudd5CIyBKwmrp6vD9kjDQKor7++mvExsbixIkT+POf/6ywTy6Xo2fPnkhLS8NTTz2l004SEZk7ddXULSVIUJYbVlZWBoD3h4yTRkFUSkoKpk+frjTRSiaT4fXXX0dycjKDKCIiDdVXU28YKFhSNfWmEsgt/f6QcdKoTtR//vMfREZGqtw/YsQI5ObmtrhTRESWxtKrqStLIC8s9IFc7giA94eMk0YjUaWlpbC1tVV9MBsb3Lp1q8WdIiKyRKym/pCqBHLeHzI2Go1EdezYEefPn1e5/+zZs/D09Gxxp4iILJWlV1NXlUDecERK2f1hoVQyBI1Gop599lm89957iIyMbFSZ/H//+x+WLFmidF09IiJSzliqqWtT8FMfRUKbSiAfN24cXF1dW3weIl3QKIhatGgR9u7di27duiE2Nhbdu3cHAFy6dAkbN25EbW0tFi5cqJeOEhGZIxcXF8TGxhq0Yrk2VcH1VUm8qQRyV1dXzniQ0dAoiHJ3d8fx48cxa9YsJCQkoH7FGIlEgoiICGzcuBHu7u566SgRkbky9CiKNlXB9VVJvD6B/NGcKEud3iTjpnGxzS5duuDQoUP47bffUFBQAEEQEBAQgA4dOuijf0RE1Iq0qQqu60riTCAnU6FxEFWvQ4cOGDhwoC77QkRkVCxtYWBtqoLrqpL4ozlfMtkdpZ/XZ26Ypf28qeW0DqKIiMyZJS4MrE1VcF1VEjd0bpi+crzIvDGIIiJSwhIXBtamKrguK4kbMjjRV44XmTcGUUREajQ1XVW/ttujTHHqR5ukbnNMBNd1jheZLwZRRERqNDVdtXfvXrOa6tMmqVvdZ0wtyNRVjhdZBgZRRERqNDVdZQ5TfdokdTf3M3v37lV5XmMMMnWV40WWgUEUEZEa6qarzGXUQpukbnWfKSsrUwieTCm/SJc5XmT+GEQRETVB1XSVOY1aaDMi1JzPmFp+kTnmeJH+MIgiImoGZdNVHLVQz1RH6ljsk5rLqukm+rVx40b4+PjA3t4eISEhOHnypNr2u3fvRmBgIOzt7dG7d28cOnRIZduZM2dCIpEgJSVF3FZUVISpU6fC19cXbdq0gZ+fH5YsWaIwrFxUVASJRNLodeLEiRZfLxGZhuYUdawftZBI6gCAoxaPUDdSZ2yU5Xj5+l5t9LOUy+UoLi5u9CovL2/N7pKRMOhI1K5duxAfH4+0tDSEhIQgJSUFERERuHz5Mtzc3Bq1P378OCZMmICkpCSMHj0amZmZiIqKQl5eHnr16qXQ9osvvsCJEyfg5eWlsP3SpUuoq6vDxx9/DH9/f5w/fx7Tp0/HvXv3sHr1aoW2R48eRc+ePcX3xpYASUT609ycH45aqGZKI3Xqft63b9/GP/7xDwAPv7fM6WlMahmDBlHJycmYPn06pkyZAgBIS0vDwYMHkZ6ejnfffbdR+9TUVERGRmLevHkAgMTERGRlZWHDhg1IS0sT212/fh1vvPEGjhw5glGjRikcIzIyEpGRkeL7rl274vLly9i0aVOjIMrFxQUeHh46u14iMi3N/UJU9WSapTO1/KKW5ngZY6I86ZfBgqjq6mrk5uYiISFB3GZlZYXw8HDk5OQo/UxOTg7i4+MVtkVERGDfvn3i+7q6OsTExGDevHkKo0jqyOVyODs3Hl4eO3Ysfv/9d3Tr1g3z58/H2LFjVR6jqqoKVVVV4vvKyspmnZuITE9z12/T5zpvpsKcRupMNceL9MdgQVRZWRlqa2vh7u6usN3d3R2XLl1S+pmSkhKl7UtKSsT3K1asgI2NDebMmdOsfhQUFGD9+vUKo1Dt2rXDmjVr8OSTT8LKygp79uxBVFQU9u3bpzKQSkpKwrJly5p1TiIybYZe583YGcNiwvpgTk9jkm6Y1dN5ubm5SE1NRV5eHiQSSZPtr1+/jsjISLz44ouYPn26uN3V1VVhxGvgwIG4ceMGVq1apTKISkhIUPhMZWUlvL29W3A1RGTMLDVAag5zDTJNKceLWofBgihXV1dYW1ujtLRUYXtpaanKPCQPDw+17b/99lvcvHkTnTt3FvfX1tbirbfeQkpKCoqKisTtN27cwNNPP42wsDBs3ry5yf6GhIQgKytL5X47OzvY2dk1eRwiIktgagFSc5hajhfpn8GCKKlUiuDgYGRnZyMqKgrAw3ym7OxsxMbGKv1MaGgosrOzERcXJ27LyspCaGgoACAmJgbh4eEKn4mIiEBMTIyYvA48HIF6+umnERwcjG3btsHKqulKD/n5+fD09NTwKomIzFd5ebnK0abbt29DIpFAJpMp3W+KI1GAeeV4UcsZdDovPj4ekyZNwoABAzBo0CCkpKTg3r17YsAzceJEdOzYEUlJSQCAuXPnYujQoVizZg1GjRqFnTt34vTp0+JIkouLS6O/lLa2tvDw8ED37t0BPAyghg0bhi5dumD16tW4deuW2LZ+RCsjIwNSqRT9+/cH8HDtp/T0dHzyySf6vSFERCaivLwcGzZsEN+reuxf3T5TLQnApzGpnkGDqOjoaNy6dQuLFy9GSUkJ+vXrh8OHD4vJ49euXVMYJQoLC0NmZiYWLVqEBQsWICAgAPv27WtUI0qdrKwsFBQUoKCgAJ06dVLYJwiC+OfExERcvXoVNjY2CAwMxK5du/DCCy+08IqJiMxDwxEodY/9m0NJAD6NSapIhIaRA+lMZWUlZDIZ5HI5nJycDN0dIiKdKi4uxubNmyGXOyIlJa5RsnVcXAoAqNwnk93BjBkzTCZNQt3UJWC605PUmCbf32b1dB4REbUu9Uu7SMymJAADJFKGQRQREWmtqcf+WRKAzJnBFyAmIiLTpW4RZi7QTOaOI1FERNQi6h77Z0kAMmcMooiIqMXUPfbPkgBkrjidR0REGtPF4/wsCUCmjiNRRESksabWxzPXiuVEDTGIIiIiragLgkyl/hNRS3A6j4iIiEgLDKKIiIiItMAgioiIiEgLDKKIiIiItMAgioiIiEgLDKKIiIiItMAgioiIiEgLDKKIiIiItMBim0REZFHKy8tVVloHWE2dmo9BFBERWYzy8nJs2LBBfC+XO6KiwgXOzuUKiyTHxsYykKImMYgiIiKL0XAEKi+vP778cjQEwQoSSR3GjDmAoKAzjdoRqcIgioiILI5c7igGUAAgCFb48svR8PMrUBiRqscpQFKGQRQREVmcigoXMYCqJwhWqKhwbhREPToFqAqnAC0Pn84jIiKL4+xcDomkTmGbRFIHZ+eKRm0fHYGSyx1RWOgDudxRbTsyfxyJIiIiiyOT3cGYMQca5UQpm8prSF0eFVkeBlFERGSRgoLOwM+vABUVznB2rmgygNI0j4rMH4MoIiLSOVNJxJbJ7jQ7ANIkj4osA4MoIiLSKWNOxJZKpVq3q8+jahhIqcqjIsvAIIqIiHRKWSK2soKWhkjEdnFxQWxsrFajZNrmUZH5YhBFRER6Y4yJ2JqOfsnlcvHP6vKo5HI5PD09ddZPMn4scUBERHqhKhH70dIAxk4QBCVbJc1sR+aMI1FERKQX5pKI3b59e/HP6kbWGrYjy8CRKCIi0gtNClqaAnMZWSPdYRBFRER6UZ+IXR9ImXoitrqRNbJMnM4jIiK90aSgpbHXlmKJA3qUwUeiNm7cCB8fH9jb2yMkJAQnT55U23737t0IDAyEvb09evfujUOHDqlsO3PmTEgkEqSkpChsr6iowCuvvAInJye0b98eU6dOxd27dxXanD17Fk899RTs7e3h7e2NlStXan2NRESW5NEaSzLZHfj6Xm0UQDVsV19bavPmzSpfGzZsQHl5eatcgzLmNrJGLWfQkahdu3YhPj4eaWlpCAkJQUpKCiIiInD58mW4ubk1an/8+HFMmDABSUlJGD16NDIzMxEVFYW8vDz06tVLoe0XX3yBEydOwMvLq9FxXnnlFRQXFyMrKws1NTWYMmUKZsyYgczMTABAZWUlRowYgfDwcKSlpeHcuXN47bXX0L59e8yYMUM/N4OIyExoU4vJmGtLNaTpUjFk3gwaRCUnJ2P69OmYMmUKACAtLQ0HDx5Eeno63n333UbtU1NTERkZiXnz5gEAEhMTkZWVhQ0bNiAtLU1sd/36dbzxxhs4cuQIRo0apXCMixcv4vDhwzh16hQGDBgAAFi/fj2effZZrF69Gl5eXtixYweqq6uRnp4OqVSKnj17Ij8/H8nJyQyiiIiaoSXTbsZWW0rZyJqy4Km51dDJfBgsiKqurkZubi4SEhLEbVZWVggPD0dOTo7Sz+Tk5CA+Pl5hW0REBPbt2ye+r6urQ0xMDObNm4eePXsqPUb79u3FAAoAwsPDYWVlhR9++AF//vOfkZOTgyFDhij8hYiIiMCKFSvw22+/oUOHDo2OW1VVhaqqKvF9ZWVl0zeBiIgUGHKRX3U5WdHR0RAEQWUZA0Pna5FhGCyIKisrQ21tLdzd3RW2u7u749KlS0o/U1JSorR9SUmJ+H7FihWwsbHBnDlzVB7j0alCGxsbODs7i8cpKSmBr69vo/PU71MWRCUlJWHZsmVKz0lERM1jqNpSj673p2o60RDr/ZHxMqun83Jzc5Gamoq8vDxIJI2ryepTQkKCwihZZWUlvL29W7UPRESmzlBPwDUcgVI3nWjonCxNGfsTj6bOYEGUq6srrK2tUVpaqrC9tLQUHh4eSj/j4eGhtv23336LmzdvonPnzuL+2tpavPXWW0hJSUFRURE8PDxw8+ZNhWM8ePAAFRUV4nFUnad+nzJ2dnaws7Nr6rKJiEgNQy/ya8jpRF17dHRNFY6uac9gQZRUKkVwcDCys7MRFRUF4GE+U3Z2NmJjY5V+JjQ0FNnZ2YiLixO3ZWVlITQ0FAAQExOD8PBwhc9EREQgJiZGTF4PDQ3F7du3kZubi+DgYADA119/jbq6OoSEhIhtFi5ciJqaGtja2orn6d69u9KpPCIi0h1DPgFnLkvVAM1/4vHGjRuN2nKEqnkMOp0XHx+PSZMmYcCAARg0aBBSUlJw7949MeCZOHEiOnbsiKSkJADA3LlzMXToUKxZswajRo3Czp07cfr0aWzevBnAw6dBHv2h29rawsPDA927dwcA9OjRA5GRkZg+fTrS0tJQU1OD2NhYjB8/XiyH8PLLL2PZsmWYOnUq3nnnHZw/fx6pqalYu3Zta90aIiKLYixPwJlrQU11U5TbtmUx/0tLBg2ioqOjcevWLSxevBglJSXo168fDh8+LCZxX7t2DVZWf/wih4WFITMzE4sWLcKCBQsQEBCAffv2NaoR1ZQdO3YgNjYWw4cPh5WVFZ5//nmsW7dO3C+TyfDVV19h9uzZCA4OhqurKxYvXszyBkREeqJNbSl9MPR0oj6om6K8csXfKPK/fv0V+OknICAA6NSp1U7bYgZPLI+NjVU5fXfs2LFG21588UW8+OKLzT5+UVFRo23Ozs5iYU1V+vTpg2+//bbZ5yEiopYxllEPcyuoqWqK8pdfOhlF/tfWrcCMGUBdHWBlBWzeDEyd2mqnbxGDB1FERETGRtV0oilSNUUJSAya/1VeXo6iogeYMcMNdXUPn6ivqwNef11Av3434eNjYzSBtSoGXzuPiIjI0Jqba2WKVclVrfnn7f2LuK1ea+V/1T85uH79YTGAqldbK8H69f8y+FqJzcGRKCIisnjGkpOlL6qmKHWV/9WwHtWNG1YoLLSBr+8DeHk9DNJUrZXYVCK/sdflYhBFREQE48nJ0pXmPPGoi/yvhvWo1D0FqOxpP1NP5GcQRUREZIZUja6VlZVh79694vuW5n/VH7+pQqWqRpVMOZGfQRQREZGZUja6pq/8r5YUKjXVRH4GUURERBZEX/lf5lqoVB0GUURERBZGH/lfpp7fpA0GUURERE1o+PSZMqb85J4umXJ+kzYYRBEREanR8OkzdbjW3EPNyW8yl7pcDKKIiIjUeHQESi53VLpg740bNxq1NcURqtYYdTOXulwMooiIiJpJXR2khmUDGjKlEapHR91UBYwNr0nbUSVTuSfqMIgiIiJqhqbqIKkKOIy96nZDDfuqLmBs2M5cRpW0wSCKiIioGdTVQbpyxV9lwGGKmgoYH2WOAVJzcAFiIiKiZqivg9SQRFIHW9tqpQGHXO5oiG7qhLqAkf7AIIqIiKgZ6usg1QdS9SNONTV2ZhdwqAoYzblwpjY4nUdERNRMyuogyeWOZlep2xILZ2qDQRQREZEajz5V9mgdJHMNOCytcKY2GEQRERGpoerps7KyMrGsgbkGHKa6MHBrYRBFRETUBGVPnzU1QqWqnTEzl0rirUUiCIJg6E6Yo8rKSshkMsjlcjg5ORm6O0REpAfmuKaeOV6TJjT5/uZIFBERkZbMMZgwx2vSF5Y4ICIiItICgygiIiIiLTCIIiIiItICgygiIiIiLTCIIiIiItICgygiIiIiLTCIIiIiItIC60QRERGZMEsvjmlIDKKIiIhMVHl5OTZs2NBku9jYWAZSesDpPCIiIhOlbgRKm3akGQZRREREZkIud0RhoQ/kckdDd8UiGDyI2rhxI3x8fGBvb4+QkBCcPHlSbfvdu3cjMDAQ9vb26N27Nw4dOqSwf+nSpQgMDISDgwM6dOiA8PBw/PDDD+L+Y8eOQSKRKH2dOnUKAFBUVKR0/4kTJ3R/A4iIiHQgL68/UlLikJExCSkpccjL62/oLpk9gwZRu3btQnx8PJYsWYK8vDz07dsXERERuHnzptL2x48fx4QJEzB16lScOXMGUVFRiIqKwvnz58U23bp1w4YNG3Du3Dl899138PHxwYgRI3Dr1i0AQFhYGIqLixVe06ZNg6+vLwYMGKBwvqNHjyq0Cw4O1t/NICIi0pJc7ogvvxwNQXj4tS4IVvjyy9EckdIzgwZRycnJmD59OqZMmYLHH38caWlpaNu2LdLT05W2T01NRWRkJObNm4cePXogMTERQUFBCkl1L7/8MsLDw9G1a1f07NkTycnJqKysxNmzZwE8fErBw8NDfLm4uOCf//wnpkyZAolEonA+FxcXhba2trb6uxlERERaqqhwEQOoeoJghYoKZwP1yDIYLIiqrq5Gbm4uwsPD/+iMlRXCw8ORk5Oj9DM5OTkK7QEgIiJCZfvq6mps3rwZMpkMffv2Vdpm//79KC8vx5QpUxrtGzt2LNzc3DB48GDs379f7fVUVVWhsrJS4UVERNQanJ3LIZHUKWyTSOrg7FxhoB5ZBoMFUWVlZaitrYW7u7vCdnd3d5SUlCj9TElJSbPaHzhwAO3atYO9vT3Wrl2LrKwsuLq6Kj3m1q1bERERgU6dOonb2rVrhzVr1mD37t04ePAgBg8ejKioKLWBVFJSEmQymfjy9vZWe/1ERES6IpPdwZgxB8RASiKpw5gxByCT3TFwz8ybWdaJevrpp5Gfn4+ysjJs2bIFL730En744Qe4ubkptPv1119x5MgR/OMf/1DY7urqivj4ePH9wIEDcePGDaxatQpjx45Ves6EhASFz1RWVjKQIiIivZJKpeKfg4LOwM+vABUVznB2rlAIoBq2I90xWBDl6uoKa2trlJaWKmwvLS2Fh4eH0s94eHg0q72DgwP8/f3h7++PJ554AgEBAdi6dSsSEhIU2m3btg0uLi4qA6OGQkJCkJWVpXK/nZ0d7OzsmjwOERGRrri4uCA2NpYVyw3EYNN5UqkUwcHByM7OFrfV1dUhOzsboaGhSj8TGhqq0B4AsrKyVLZveNyqqiqFbYIgYNu2bZg4cWKzEsbz8/Ph6enZZDsiIqLW5OLiAk9PT5UvBlD6Y9DpvPj4eEyaNAkDBgzAoEGDkJKSgnv37olJ3hMnTkTHjh2RlJQEAJg7dy6GDh2KNWvWYNSoUdi5cydOnz6NzZs3AwDu3buHDz74AGPHjoWnpyfKysqwceNGXL9+HS+++KLCub/++msUFhZi2rRpjfqVkZEBqVSK/v0f1tjYu3cv0tPT8cknn+jzdhAREZEJMWgQFR0djVu3bmHx4sUoKSlBv379cPjwYTF5/Nq1a7Cy+mOwLCwsDJmZmVi0aBEWLFiAgIAA7Nu3D7169QIAWFtb49KlS8jIyEBZWRlcXFwwcOBAfPvtt+jZs6fCubdu3YqwsDAEBgYq7VtiYiKuXr0KGxsbBAYGYteuXXjhhRf0dCeIiIjI1EgEQRAM3QlzVFlZCZlMBrlcDicnJ0N3h4iIiJpBk+9vgy/7QkRERGSKGEQRERERaYFBFBEREZEWGEQRERERaYFBFBEREZEWGEQRERERaYFBFBEREZEWGEQRERERaYFBFBEREZEWGEQRERERaYFBFBEREZEWGEQRERERaYFBFBEREZEWGEQRERERaYFBFBEREZEWGEQRERERaYFBFBEREZEWbAzdASIiIjJP5eXlqK6uVrlfKpXCxcWlFXukWwyiiIiISOfKy8uxYcOGJtvFxsaabCDF6TwiIiLSOXUjUNq0M0YMooiIiEjv5HJHFBb6QC53NHRXdIbTeURERKRXeXn98eWXoyEIVpBI6jBmzAEEBZ1R2taU8qgYRBEREZHeyOWOYgAFAIJghS+/HA0/vwLIZHcU2ppaHhWn84iIiEhvKipcxACqniBYoaLCuVFbU8uj4kgUERER6Y2zczkkkjqFQEoiqYOzc0WTn5XLHVFR4QJn53KFUauysjKl7Vt7qo9BFBEREemNTHYHY8YcaJQT9ehU3qPU5VHt3btXZYDVmlN9DKKIiIhI56RSqfjnoKAz8PMrQEWFM5ydKxSCnobt6jWVR6UuwGrNqT4GUURERKRzLi4uiI2N1epJu6byqJqbqK5vDKKIiIhIL7SdVlOXR6UuwGrtIIpP5xEREZFRqc+jkkjqAEAhj6o+wGqouYnqusaRKCIiIjIKzcmj0jZRXR8YRBEREZFRUJdHVVZWhr179wJQn6jemgw+nbdx40b4+PjA3t4eISEhOHnypNr2u3fvRmBgIOzt7dG7d28cOnRIYf/SpUsRGBgIBwcHdOjQAeHh4fjhhx8U2vj4+EAikSi8li9frtDm7NmzeOqpp2Bvbw9vb2+sXLlSNxdMREREKrm4uMDT07PRy9XVVaGdTHYHvr5XDRZAAQYOonbt2oX4+HgsWbIEeXl56Nu3LyIiInDz5k2l7Y8fP44JEyZg6tSpOHPmDKKiohAVFYXz58+Lbbp164YNGzbg3Llz+O677+Dj44MRI0bg1q1bCsf661//iuLiYvH1xhtviPsqKysxYsQIdOnSBbm5uVi1ahWWLl2KzZs36+dGEBERkVrKSiG0pJ0uSARBEFrtbI8ICQnBwIEDxXVy6urq4O3tjTfeeAPvvvtuo/bR0dG4d+8eDhw4IG574okn0K9fP6SlpSk9R2VlJWQyGY4ePYrhw4cDeDgSFRcXh7i4OKWf2bRpExYuXIiSkhLxh/Huu+9i3759uHTpUrOurf68crkcTk5OzfoMERERqdYaixNr8v1tsJGo6upq5ObmIjw8/I/OWFkhPDwcOTk5Sj+Tk5Oj0B4AIiIiVLavrq7G5s2bIZPJ0LdvX4V9y5cvh4uLC/r3749Vq1bhwYMHCucZMmSIQjQbERGBy5cv47ffftP4WomIiKjlVE311b9ae1FigyWWl5WVoba2Fu7u7grb3d3dVY72lJSUKG1fUlKisO3AgQMYP3487t+/D09PT2RlZSnMpc6ZMwdBQUFwdnbG8ePHkZCQgOLiYiQnJ4vn8fX1bXSe+n0dOnRo1LeqqipUVVWJ7ysrK5u6BURERGatNUaODMksn857+umnkZ+fj7KyMmzZsgUvvfQSfvjhB7i5uQEA4uPjxbZ9+vSBVCrF66+/jqSkJNjZ2Wl1zqSkJCxbtkwn/SciIjJ15eXlYrqOOq251p2uGWw6z9XVFdbW1igtLVXYXlpaCg8PD6Wf8fDwaFZ7BwcH+Pv744knnsDWrVthY2ODrVu3quxLSEgIHjx4gKKiIrXnqd+nTEJCAuRyufj65ZdfVJ6PiIjI3DV3DbvWXOtO1wwWREmlUgQHByM7O1vcVldXh+zsbISGhir9TGhoqEJ7AMjKylLZvuFxG061PSo/Px9WVlbiSFVoaCj+/e9/o6amRuE83bt3VzqVBwB2dnZwcnJSeBEREZH5MmiJg/j4eGzZsgUZGRm4ePEiZs2ahXv37mHKlCkAgIkTJyIhIUFsP3fuXBw+fBhr1qzBpUuXsHTpUpw+fRqxsbEAgHv37mHBggU4ceIErl69itzcXLz22mu4fv06XnzxRQAPk8ZTUlLwn//8Bz///DN27NiBN998E6+++qoYIL388suQSqWYOnUqLly4gF27diE1NVVhGpCIiIgsm0FzoqKjo3Hr1i0sXrwYJSUl6NevHw4fPiwmcV+7dg1WVn/EeWFhYcjMzMSiRYuwYMECBAQEYN++fejVqxcAwNraGpcuXUJGRgbKysrg4uKCgQMH4ttvv0XPnj0BPBwx2rlzJ5YuXYqqqir4+vrizTffVAiQZDIZvvrqK8yePRvBwcFwdXXF4sWLMWPGjFa8O0REROZDLndERYULnJ3LDVogU5cMWifKnLFOFBERWbLi4mKxSHVeXv9Ga90FBZ0BAMyYMQOenp6G7KoCk6gTRUREROZPLncUAygAEAQrfPnlaMjljgbuWcsxiCIiIiK9qahwEQOoeoJghYoKZwP1SHcYRBEREZHO1a/64excDomkTmGfRFIHZ+cKhXamyCyLbRIREZFhubi4IDY2FtXV1ejYsRLvvCNDba0E1tYCVqyoxMsvTzD5iuVMLNcTJpYTERH94ddfgYICwN8f6NTJ0L1RTZPvb45EERERkd516mTcwZM2mBNFREREpAUGUURERERaYBBFREREpAUGUURERERaYBBFREREpAUGUURERERaYBBFREREpAUGUURERERaYBBFREREpAUGUURERERaYBBFREREpAWunacn9es6V1ZWGrgnRERE1Fz139v13+PqMIjSkzt37gAAvL29DdwTIiIi0tSdO3cgk8nUtpEIzQm1SGN1dXW4ceMGHB0dIZFIdHrsyspKeHt745dffoGTk5NOj20KLP36Ad4DS79+gPeA12/Z1w/o7x4IgoA7d+7Ay8sLVlbqs544EqUnVlZW6NSpk17P4eTkZLF/eQBeP8B7YOnXD/Ae8Pot+/oB/dyDpkag6jGxnIiIiEgLDKKIiIiItMAgygTZ2dlhyZIlsLOzM3RXDMLSrx/gPbD06wd4D3j9ln39gHHcAyaWExEREWmBI1FEREREWmAQRURERKQFBlFEREREWmAQRURERKQFBlFGauPGjfDx8YG9vT1CQkJw8uRJlW0vXLiA559/Hj4+PpBIJEhJSWm9juqJJte/ZcsWPPXUU+jQoQM6dOiA8PBwte1NhSb3YO/evRgwYADat28PBwcH9OvXD59++mkr9lb3NLn+hnbu3AmJRIKoqCj9drAVaHIPtm/fDolEovCyt7dvxd7qnqa/A7dv38bs2bPh6ekJOzs7dOvWDYcOHWql3uqeJtc/bNiwRj9/iUSCUaNGtWKPdU/T34GUlBR0794dbdq0gbe3N9588038/vvv+uugQEZn586dglQqFdLT04ULFy4I06dPF9q3by+UlpYqbX/y5Enh7bffFj777DPBw8NDWLt2bet2WMc0vf6XX35Z2Lhxo3DmzBnh4sWLwuTJkwWZTCb8+uuvrdxz3dH0HnzzzTfC3r17hR9//FEoKCgQUlJSBGtra+Hw4cOt3HPd0PT66xUWFgodO3YUnnrqKeG5555rnc7qiab3YNu2bYKTk5NQXFwsvkpKSlq517qj6fVXVVUJAwYMEJ599lnhu+++EwoLC4Vjx44J+fn5rdxz3dD0+svLyxV+9ufPnxesra2Fbdu2tW7HdUjTe7Bjxw7Bzs5O2LFjh1BYWCgcOXJE8PT0FN5880299ZFBlBEaNGiQMHv2bPF9bW2t4OXlJSQlJTX52S5duph8ENWS6xcEQXjw4IHg6OgoZGRk6KuLetfSeyAIgtC/f39h0aJF+uie3mlz/Q8ePBDCwsKETz75RJg0aZLJB1Ga3oNt27YJMpmslXqnf5pe/6ZNm4SuXbsK1dXVrdVFvWrpvwFr164VHB0dhbt37+qri3qn6T2YPXu28Mwzzyhsi4+PF5588km99ZHTeUamuroaubm5CA8PF7dZWVkhPDwcOTk5BuxZ69DF9d+/fx81NTVwdnbWVzf1qqX3QBAEZGdn4/LlyxgyZIg+u6oX2l7/X//6V7i5uWHq1Kmt0U290vYe3L17F126dIG3tzeee+45XLhwoTW6q3PaXP/+/fsRGhqK2bNnw93dHb169cKHH36I2tra1uq2zuji38GtW7di/PjxcHBw0Fc39UqbexAWFobc3Fxxyu/nn3/GoUOH8Oyzz+qtn1yA2MiUlZWhtrYW7u7uCtvd3d1x6dIlA/Wq9eji+t955x14eXkp/OUzJdreA7lcjo4dO6KqqgrW1tb46KOP8Kc//Unf3dU5ba7/u+++w9atW5Gfn98KPdQ/be5B9+7dkZ6ejj59+kAul2P16tUICwvDhQsX9L4Yuq5pc/0///wzvv76a7zyyis4dOgQCgoK8Je//AU1NTVYsmRJa3RbZ1r67+DJkydx/vx5bN26VV9d1Dtt7sHLL7+MsrIyDB48GIIg4MGDB5g5cyYWLFigt34yiCKzsnz5cuzcuRPHjh0z+aRaTTk6OiI/Px93795FdnY24uPj0bVrVwwbNszQXdOrO3fuICYmBlu2bIGrq6uhu2MwoaGhCA0NFd+HhYWhR48e+Pjjj5GYmGjAnrWOuro6uLm5YfPmzbC2tkZwcDCuX7+OVatWmVwQ1VJbt25F7969MWjQIEN3pVUdO3YMH374IT766COEhISgoKAAc+fORWJiIt577z29nJNBlJFxdXWFtbU1SktLFbaXlpbCw8PDQL1qPS25/tWrV2P58uU4evQo+vTpo89u6pW298DKygr+/v4AgH79+uHixYtISkoyuSBK0+u/cuUKioqKMGbMGHFbXV0dAMDGxgaXL1+Gn5+ffjutY7r4d8DW1hb9+/dHQUGBPrqoV9pcv6enJ2xtbWFtbS1u69GjB0pKSlBdXQ2pVKrXPutSS37+9+7dw86dO/HXv/5Vn13UO23uwXvvvYeYmBhMmzYNANC7d2/cu3cPM2bMwMKFC2FlpfsMJuZEGRmpVIrg4GBkZ2eL2+rq6pCdna3wf5nmStvrX7lyJRITE3H48GEMGDCgNbqqN7r6Hairq0NVVZU+uqhXml5/YGAgzp07h/z8fPE1duxYPP3008jPz4e3t3drdl8ndPE7UFtbi3PnzsHT01Nf3dQbba7/ySefREFBgRhAA8B///tfeHp6mlQABbTs5797925UVVXh1Vdf1Xc39Uqbe3D//v1GgVJ9UC3oa5lgvaWsk9Z27twp2NnZCdu3bxd+/PFHYcaMGUL79u3Fx5VjYmKEd999V2xfVVUlnDlzRjhz5ozg6ekpvP3228KZM2eEn376yVCX0CKaXv/y5csFqVQqfP755wqP+N65c8dQl9Bimt6DDz/8UPjqq6+EK1euCD/++KOwevVqwcbGRtiyZYuhLqFFNL3+R5nD03ma3oNly5YJR44cEa5cuSLk5uYK48ePF+zt7YULFy4Y6hJaRNPrv3btmuDo6CjExsYKly9fFg4cOCC4ubkJ77//vqEuoUW0/TswePBgITo6urW7qxea3oMlS5YIjo6OwmeffSb8/PPPwldffSX4+fkJL730kt76yCDKSK1fv17o3LmzIJVKhUGDBgknTpwQ9w0dOlSYNGmS+L6wsFAA0Og1dOjQ1u+4jmhy/V26dFF6/UuWLGn9juuQJvdg4cKFgr+/v2Bvby906NBBCA0NFXbu3GmAXuuOJtf/KHMIogRBs3sQFxcntnV3dxeeffZZIS8vzwC91h1NfweOHz8uhISECHZ2dkLXrl2FDz74QHjw4EEr91p3NL3+S5cuCQCEr776qpV7qj+a3IOamhph6dKlgp+fn2Bvby94e3sLf/nLX4TffvtNb/2TCIK+xriIiIiIzBdzooiIiIi0wCCKiIiISAsMooiIiIi0wCCKiIiISAsMooiIiIi0wCCKiIiISAsMooiIiIi0wCCKiMgMTJ48GVFRUYbuBpFFYRBFRHo1efJkSCQS8eXi4oLIyEicPXvW0F3TiYbXVv8aPHiw3s5XVFQEiUSC/Px8he2pqanYvn273s5LRI0xiCIivYuMjERxcTGKi4uRnZ0NGxsbjB492tDd0plt27aJ11dcXIz9+/crbVdTU6O3PshkMrRv315vxyeixhhEEZHe2dnZwcPDAx4eHujXrx/effdd/PLLL7h16xaeeeYZxMbGKrS/desWpFKpuIK7j48PEhMTMWHCBDg4OKBjx47YuHGjwmeSk5PRu3dvODg4wNvbG3/5y19w9+5dcf/Vq1cxZswYdOjQAQ4ODujZsycOHToEAPjtt9/wyiuv4LHHHkObNm0QEBCAbdu2Nfv62rdvL16fh4cHnJ2dxRGjXbt2YejQobC3t8eOHTtQXl6OCRMmoGPHjmjbti169+6Nzz77TOF4dXV1WLlyJfz9/WFnZ4fOnTvjgw8+AAD4+voCAPr37w+JRIJhw4YBaDydV1VVhTlz5sDNzQ329vYYPHgwTp06Je4/duwYJBIJsrOzMWDAALRt2xZhYWG4fPlys6+byNIxiCKiVnX37l38/e9/h7+/P1xcXDBt2jRkZmaiqqpKbPP3v/8dHTt2xDPPPCNuW7VqFfr27YszZ87g3Xffxdy5c5GVlSXut7Kywrp163DhwgVkZGTg66+/xvz588X9s2fPRlVVFf7973/j3LlzWLFiBdq1awcAeO+99/Djjz/iX//6Fy5evIhNmzbB1dVVJ9db39eLFy8iIiICv//+O4KDg3Hw4EGcP38eM2bMQExMDE6ePCl+JiEhAcuXLxf7lZmZCXd3dwAQ2x09ehTFxcXYu3ev0vPOnz8fe/bsQUZGBvLy8uDv74+IiAhUVFQotFu4cCHWrFmD06dPw8bGBq+99ppOrpvIIuhtaWMiIkEQJk2aJFhbWwsODg6Cg4ODAEDw9PQUcnNzBUEQhP/9739Chw4dhF27domf6dOnj7B06VLxfZcuXYTIyEiF40ZHRwsjR45Ued7du3cLLi4u4vvevXsrHLOhMWPGCFOmTNHq+gAI9vb24vU5ODgIX3zxhVBYWCgAEFJSUpo8xqhRo4S33npLEARBqKysFOzs7IQtW7YobVt/3DNnzihsnzRpkvDcc88JgiAId+/eFWxtbYUdO3aI+6urqwUvLy9h5cqVgiAIwjfffCMAEI4ePSq2OXjwoABA+N///qfJLSCyWByJIiK9e/rpp5Gfn4/8/HycPHkSERERGDlyJK5evQp7e3vExMQgPT0dAJCXl4fz589j8uTJCscIDQ1t9P7ixYvi+6NHj2L48OHo2LEjHB0dERMTg/Lycty/fx8AMGfOHLz//vt48sknsWTJEoXE9lmzZmHnzp3o168f5s+fj+PHj2t0fWvXrhWvLz8/H3/605/EfQMGDFBoW1tbi8TERPTu3RvOzs5o164djhw5gmvXrgEALl68iKqqKgwfPlyjPjR05coV1NTU4MknnxS32draYtCgQQr3DAD69Okj/tnT0xMAcPPmTa3PTWRJGEQRkd45ODjA398f/v7+GDhwID755BPcu3cPW7ZsAQBMmzYNWVlZ+PXXX7Ft2zY888wz6NKlS7OPX1RUhNGjR6NPnz7Ys2cPcnNzxZyp6upq8Rw///wzYmJicO7cOQwYMADr168HADGge/PNN3Hjxg0MHz4cb7/9drPP7+HhIV6fv78/HBwcFK69oVWrViE1NRXvvPMOvvnmG+Tn5yMiIkLsZ5s2bZp9Xl2wtbUV/yyRSAA8zMkioqYxiCKiVieRSGBlZYX//e9/AIDevXtjwIAB2LJlCzIzM5Xm5Zw4caLR+x49egAAcnNzUVdXhzVr1uCJJ55At27dcOPGjUbH8Pb2xsyZM7F371689dZbYhAHAI899hgmTZqEv//970hJScHmzZt1ecmi77//Hs899xxeffVV9O3bF127dsV///tfcX9AQADatGkjJtU/SiqVAng4oqWKn58fpFIpvv/+e3FbTU0NTp06hccff1xHV0JENobuABGZv6qqKpSUlAB4+CTchg0bcPfuXYwZM0ZsM23aNMTGxsLBwQF//vOfGx3j+++/x8qVKxEVFYWsrCzs3r0bBw8eBAD4+/ujpqYG69evx5gxY/D9998jLS1N4fNxcXEYOXIkunXrht9++w3ffPONGIQtXrwYwcHB6NmzJ6qqqnDgwAFxn64FBATg888/x/Hjx9GhQwckJyejtLRUDG7s7e3xzjvvYP78+ZBKpXjyySdx69YtXLhwAVOnToWbmxvatGmDw4cPo1OnTrC3t4dMJlM4h4ODA2bNmoV58+bB2dkZnTt3xsqVK3H//n1MnTpVL9dFZIk4EkVEenf48GF4enrC09MTISEhOHXqFHbv3i0+ng8AEyZMgI2NDSZMmAB7e/tGx3jrrbdw+vRp9O/fH++//z6Sk5MREREBAOjbty+Sk5OxYsUK9OrVCzt27EBSUpLC52trazF79mz06NEDkZGR6NatGz766CMAD0d3EhIS0KdPHwwZMgTW1tbYuXOnXu7FokWLEBQUhIiICAwbNgweHh6NKo2/9957eOutt7B48WL06NED0dHRYp6SjY0N1q1bh48//hheXl547rnnlJ5n+fLleP755xETE4OgoCAUFBTgyJEj6NChg16ui8gSSQRBEAzdCSKioqIi+Pn54dSpUwgKClLY5+Pjg7i4OMTFxRmmc0RESnA6j4gMqqamBuXl5Vi0aBGeeOKJRgEUEZGx4nQeERnU999/D09PT5w6dapRHpOhffjhh2jXrp3S18iRIw3dPSIyME7nERGpUFFR0ajCd702bdqgY8eOrdwjIjImDKKIiIiItMDpPCIiIiItMIgiIiIi0gKDKCIiIiItMIgiIiIi0gKDKCIiIiItMIgiIiIi0gKDKCIiIiItMIgiIiIi0sL/A7hTrZiV69ZmAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_16.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAHHCAYAAACfqw0dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABoT0lEQVR4nO3de1xU1d4/8M8MMOAFUEBuioKIkpdUUAnymuRQXqKL11Iyrz2iEmWFmpc4HTQVIbXIjiinI0mmkaWPhpQnS7QETS21NNBSQIEcFJ8AYf/+8MeOgRmYGWaY2+f9es1LZ++1915rz8D+stZ3ry0RBEEAEREREWlFauwKEBEREZkjBlFEREREOmAQRURERKQDBlFEREREOmAQRURERKQDBlFEREREOmAQRURERKQDBlFEREREOmAQRURERKQDBlFERBZux44dkEgkKCgoMHZViCwKgygiarEffvgB0dHR6NOnD9q1a4euXbti0qRJ+OWXXxqVHTlyJCQSCSQSCaRSKZycnNCrVy9Mnz4dWVlZWh33888/x4gRI+Du7o62bduie/fumDRpEg4ePKivpjXyz3/+E5mZmY2WHzt2DKtWrcKtW7cMduyGVq1aJZ5LiUSCtm3bonfv3li+fDnKy8v1coz09HQkJSXpZV9EloZBFBG12Nq1a7Fnzx6MHj0aycnJmDt3Lr755hsEBQXh3Llzjcp36dIFH374If79739j3bp1mDBhAo4dO4YxY8Zg8uTJqK6ubvaY69evx4QJEyCRSBAXF4eNGzfi6aefxq+//opdu3YZopkAmg6iVq9e3apBVJ333nsPH374IRITExEYGIi33noLERER0MejURlEEalna+wKEJH5i42NRXp6OmQymbhs8uTJ6NevH9asWYP//Oc/SuWdnZ3x3HPPKS1bs2YNFi1ahHfffRe+vr5Yu3at2uPdu3cP8fHxePTRR/Hll182Wn/jxo0Wtsh03L17F23btm2yzDPPPAM3NzcAwPz58/H0009j7969OH78OEJDQ1ujmkRWiT1RRNRiYWFhSgEUAAQEBKBPnz44f/68RvuwsbHBO++8g969e2Pz5s1QKBRqy5aUlKC8vBwPP/ywyvXu7u5K7//66y+sWrUKPXv2hIODA7y8vPDUU0/h8uXLYpn169cjLCwMrq6uaNOmDYKDg/HJJ58o7UcikaCiogJp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k8vlSExMxK+//ora2lpkZWVh7969KCws1HmfhmSINgKm8xnqoqioSOX5KC8vx//93/+Z3GeorebaB5j356cJdefAHD4/TfXq1Qupqan47LPP8J///Ae1tbUICwvDH3/8YeyqaW39+vW4c+cOJk2aBKD1fo8yiDIzR44cwT//+U+8++67yMvLw969e7F//37Ex8cbu2p6o0kbH3vsMUycOBEPPvgg5HI5Dhw4gFu3buHjjz82Ys01k5ycjICAAAQGBkImkyE6OhozZ86EVGo5P46atNGcP0Pi52cJQkNDMWPGDAwYMAAjRozA3r170alTJ7z//vvGrppW0tPTsXr1anz88cdwd3dv1WPbturRSImbmxtsbGxQXFystLy4uBienp4qt3njjTcwffp0zJ49GwDQr18/VFRUYO7cuVi2bJlO+zQkQ7RRVbDRoUMH9OzZE5cuXdJ/I5qgS/s6deqEzMxM/PXXXygtLYW3tzdef/11dO/eXed9GpIh2qiKsT5DXXh6eqo8H05OTmjTpg1sbGxM6jPUVnPtU8WcPj9NqDsH5vD56crOzg4DBw40q89w165dmD17Nnbv3q00dNdav0ct509fMySTyRAcHIzs7GxxWW1tLbKzsxEaGqpym7t37zYKImxsbAAAgiDotE9DMkQbVblz5w4uX74MLy8vPdVcMy053w4ODujcuTPu3buHPXv24IknnmjxPg3BEG1UxVifoS5CQ0OVzgcAZGVliefD1D5DbTXXPlXM6fPThC7nwNzV1NTg7NmzZvMZfvTRR5g5cyY++ugjjB07Vmldq/0M6i1FnXSya9cuwd7eXtixY4fw888/C3PnzhU6dOggFBUVCYIgCNOnTxdef/11sfzKlSsFR0dH4aOPPhJ+++034csvvxT8/f2FSZMmabzP1maINr788svCkSNHhPz8fOG7774TwsPDBTc3N+HGjRsm377jx48Le/bsES5fvix88803wiOPPCL4+fkJf/75p8b7bG2GaKMpfYa3b98WTp06JZw6dUoAICQmJgqnTp0Srly5IgiCILz++uvC9OnTxfK//fab0LZtW2HJkiXC+fPnhS1btgg2NjbCwYMHxTKm9Bkaon3m/PkJgiCWDw4OFqZNmyacOnVK+Omnn8T13333nWBrayusX79eOH/+vLBy5UrBzs5OOHv2bKu2rY4h2rh69Wrh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7t3DX3/9BZlMBplM1qhnJSgoCD///DN69Oihch9nz55FaWkp1qxZI+YTnTx5Uq/11IRUKsXSpUsRGxuLadOmoU2bNvjuu+/wxBNP4LnnngMA1NbW4pdffkHv3r3F7VS1uaEHHngA3333ndKy7777Dj179oSNjY3+G0NkQdgTRUStol+/fnj22WfxzjvviMumTJmCZ555BlOmTMGbb76JEydOoKCgAP/973+RkZGh8UV85MiReP/995Gbm4uCggIcOHAAS5cuxahRo+Dk5ATg/jxR33zzDa5du4aSkhIAwGuvvYZjx44hOjoap0+fxq+//orPPvtMTCzv2rUrZDIZNm3ahN9++w379u1rdojQUCZOnAgbGxts2bIFwP1evKysLBw7dgznz5/HvHnzUFxcrLSNr6+veE5LSkpU9oS9/PLLyM7ORnx8PH755RekpaVh8+bNeOWVV1qlXUTmjEEUEbWaN998U+lCLpFIkJGRgaSkJBw4cACjR49Gr1698MILL8DHxwfffvutRvuVy+VIS0vDmDFj8MADD2DhwoWQy+X4+OOPlY5dUFAAf39/dOrUCcD9PKb//ve/+OWXXzBs2DAMHDgQK1asgLe3N4D7Q4s7duzA7t270bt3b6xZswbr16/X4xnRnK2tLaKjo/H222+joqICy5cvR1BQEORyOUaOHAlPT09ERkYqbfPKK6/AxsYGvXv3RqdOnVTmSwUFBeHjjz/Grl270LdvX6xYsQJvvvmmyjsQiUiZRBAEwdiVICIiIjI37IkiIiIi0gGDKCIyefWnIGj4Onr0qLGrp5WrV6822R5tpyggIuPhcB4RmbymHkTcuXNntGnTphVr0zL37t1DQUGB2vW+vr6wteWN00TmgEEUERERkQ44nEdERESkAwZRRERERDpgEEVERESkAwZRRERERDpgEEVERESkAwZRRERERDpgEEVERESkAwZRRERERDr4fwGRM+egJsCGAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_17.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABaoElEQVR4nO3de1yUZf4//teADGcGBuUoiqJploqIkuYpw8VWsbb6Rm6JWeaakhmtqWseWi3UzMhzmae1XK3EfmouliT76WCrga5pSGp4KkABHRASRub6/cHOLQMzAwNzZF7Px2MeMfd93fdc12Ty7rrf1/uSCSEEiIiIiJyIi607QERERGRtDICIiIjI6TAAIiIiIqfDAIiIiIicDgMgIiIicjoMgIiIiMjpMAAiIiIip8MAiIiIiJwOAyAiIiJyOgyAiIjs1NatWyGTyXDhwgVbd4WozWEAROTEjh07hpSUFNxzzz3w9vZGp06d8MQTT+Dnn39u1HbEiBGQyWSQyWRwcXGBn58fevTogQkTJuDLL7806XP37duH4cOHIygoCF5eXujatSueeOIJZGZmmmtojbz55pv47LPPGh3/7rvvsGjRIty4ccNin93QokWLpO9SJpPBy8sLvXr1wmuvvYby8nKzfMaOHTuQnp5ulnsRtUUMgIic2LJly7B79248+OCDePfddzFlyhT83//9H2JiYnDq1KlG7Tt27Ijt27fjH//4B9566y2MGzcO3333Hf7whz8gKSkJarW6yc9csWIFxo0bB5lMhrlz5+Kdd97BY489hrNnz2Lnzp2WGCYA4wHQ66+/btUASGv9+vXYvn07Vq5ciZ49e+KNN97A6NGjYY4tGhkAERnXztYdICLbSU1NxY4dOyCXy6VjSUlJ6N27N5YuXYoPP/xQp71CocDTTz+tc2zp0qWYMWMG1q1bh8jISCxbtszg592+fRuLFy/GqFGj8MUXXzQ6f/Xq1VaOyH5UVVXBy8vLaJvHH38c7du3BwBMnToVjz32GDIyMvD9999j0KBB1ugmkdPiDBCRExs8eLBO8AMA3bt3xz333IO8vLxm3cPV1RWrVq1Cr169sGbNGqhUKoNtS0pKUF5ejvvvv1/v+aCgIJ33t27dwqJFi3DXXXfBw8MDoaGhePTRR3H+/HmpzYoVKzB48GAEBgbC09MT/fv3x6effqpzH5lMhsrKSmzbtk167PTMM89g0aJFmDVrFgCgS5cu0rn6OTcffvgh+vfvD09PTyiVSjz55JO4fPmyzv1HjBiBe++9Fzk5ORg2bBi8vLzwt7/9rVnfX30jR44EABQUFBhtt27dOtxzzz1wd3dHWFgYpk+frjODNWLECHz++ee4ePGiNKbIyEiT+0PUlnEGiIh0CCFQXFyMe+65p9nXuLq6Yvz48Zg/fz6++eYbjBkzRm+7oKAgeHp6Yt++fXjxxRehVCoN3rO2thZjx45FVlYWnnzySbz00kuoqKjAl19+iVOnTiEqKgoA8O6772LcuHF46qmnUFNTg507d+L//b//h/3790v92L59OyZPnoyBAwdiypQpAICoqCh4e3vj559/xj//+U+888470mxMhw4dAABvvPEG5s+fjyeeeAKTJ0/GtWvXsHr1agwbNgzHjx+Hv7+/1N/S0lI89NBDePLJJ/H0008jODi42d+fljawCwwMNNhm0aJFeP311xEfH48XXngB+fn5WL9+PY4dO4Zvv/0Wbm5umDdvHlQqFa5cuYJ33nkHAODj42Nyf4jaNEFEVM/27dsFALFp0yad48OHDxf33HOPwev27NkjAIh3333X6P0XLFggAAhvb2/x0EMPiTfeeEPk5OQ0ard582YBQKxcubLROY1GI/1cVVWlc66mpkbce++9YuTIkTrHvb29xcSJExvd66233hIAREFBgc7xCxcuCFdXV/HGG2/oHP/xxx9Fu3btdI4PHz5cABAbNmwwOO76Fi5cKACI/Px8ce3aNVFQUCDee+894e7uLoKDg0VlZaUQQogtW7bo9O3q1atCLpeLP/zhD6K2tla635o1awQAsXnzZunYmDFjROfOnZvVHyJnxEdgRCQ5c+YMpk+fjkGDBmHixIkmXaudYaioqDDa7vXXX8eOHTvQr18/HDx4EPPmzUP//v0RExOj89ht9+7daN++PV588cVG95DJZNLPnp6e0s/Xr1+HSqXC0KFDkZuba1L/G8rIyIBGo8ETTzyBkpIS6RUSEoLu3bvj8OHDOu3d3d0xadIkkz6jR48e6NChA7p06YK//OUv6NatGz7//HODuUOHDh1CTU0NZs6cCReXO399P//88/Dz88Pnn39u+kCJnBQfgRERAKCoqAhjxoyBQqHAp59+CldXV5Ouv3nzJgDA19e3ybbjx4/H+PHjUV5e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cxknERE5EiZB2yFtaSZDCc3GiifWXadbPdoaGs78qFS+KCiIhErla7QdERGRLXAGyA75+t4JGrQbpV661AmdOtVtlKpS+dr1UndWoiYiInvHGSA71K7dnbg0N7cfNm2ajC++GI1NmyYjN7efzZe6l5aWorCwUOelTdw2tHS/4UwQERG1fdnZ2ZDJZLhx40azr4mMjER6errF+qTFGSA75O/vD8BwMBEVdc7oUndLrvRqKteHlaiJiBzHM888g23btuEvf/lLow1Op0+fjnXr1mHixInYunWrbTpoQQyA7FhTwcSkSaPQvn17nfOWXml19epVnfcNt+lgJWoiIscSERGBnTt34p133oGnpyeAuv22duzYgU6dOtm4d5bDR2B2TBtM1Fc/mGjfvj1CQ0N1XpZeYXX79m3p59zcfkhPn4lt2yYiPX2mXTyeIyIi08TExCAiIgIZGRnSsYyMDHTq1An9+vWTjlVXV2PGjBkICgqCh4cHhgwZgmPHjunc68CBA7jrrrvg6emJBx54ABcuXGj0ed988w2GDh0KT09PREREYMaMGaisrLTY+AxhAGTH7DmYUKl8sXdvot5cn5iY45g5Mx0TJ27FzJnpLU6A1pdrVP9VWlpqziEREdmFK1eAw4fr/mktzz77LLZs2SK937x5MyZNmqTT5tVXX8Xu3buxbds25Obmolu3bkhISEBZWd3/lF++fBmPPvooEhMTceLECUyePBlz5szRucf58+cxevRoPPbYYzh58iR27dqFb775BikpKZYfZAN8BGaH6ufw2CrXpymXL0egYZFGIVxw+XJHKBR5ra5EzbpCROSMNm0CpkwBNBrAxQV4/33guecs/7lPP/005s6di4sXLwIAvv32W+zcuRPZ2dkAgMrKSqxfvx5bt27FQw89BADYuHEjvvzyS2zatAmzZs3C+vXrERUVhbfffhsA0KNHD/z4449YtmyZ9DlpaWl46qmnMHPmTABA9+7dsWrVKgwfPhzr16+Hh4eH5Qf7PwyA7JCxfcK02npVZX11hernGhlqR0TkqK5cuRP8AHX//MtfgIQEoGNHy352hw4dMGbMGGzduhVCCIwZM0Ynx/T8+fNQq9W4//77pWNubm4YOHAg8vLyAAB5eXmIi4vTue+gQYN03v/3v//FyZMn8dFHH0nHhBDQaDQoKCjA3XffbYnh6cUAyE7Z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j48PfHx8oFar8fjjjyM3Nxf79+9HbW2t1EapVEIul9tmoERERG2MSuWLsrJAKJWlDlcg0eYBUFJSEq5du4YFCxagqKgI0dHRyMzMlBKjL126BBeXOxNV69evR01NDR5//HGd+yxcuBCLFi3Cr7/+ir179wIAoqOjddocPnwYI0aMsOh4iIiInEFubj/s2zcWQrhIW2TExBy3dbeazeYBEFD3rDAlJUXvuezsbJ33Fy5cMHqvyMhI2Li0ERERUZumUvlKwQ8ACOGCffvGIirqnMPMBNnFVhhERETkOMrKAqXgR0sIF5SVGa7JZ28YABEREZFJlMpSaYd4LZlMA6WyzEY9Mh0DICIiIjKJQlGBxMT9UhCkzQFylMdfgJ3kABEREZH9q7+SOibmOKKizqGsTAmlskwn+HGEFdcMgIiIiKhZAgMDkZKSwkrQRERE5FyMBTfabTIKCwv1nren4IgBEBEREbVaw20yDBVJtJdtMhgAERERUavVfyxmrEiivWyTwVVgREREZDaGiiSqVL427pkuBkBERERkNo5SJJEBEBEREZmNoxRJZABEREREZuMoRRKZBE1ERERmZaxIor1gAERERERmp1BU2GXgo8VHYERERNRqzd3+wl62yeAMEBEREbWao22TwQCIiIiIzMJegpvm4CMwIiIicjqcASIiIiKL0m6SaogtHo0xACIiIiKLabhJqiHW3iSVj8CIiIjIYhrO/KhUvigoiGy0N5i1N0nlDBARERFZhbFd4q2NM0BERERkcfa2SzwDICIiIrI4e9slngEQERERWZy97RLPAIiIiIgszt52iWcSNBEREVmFPe0SzwCIiIiILKbh5qeGdom39iapDICIiIjIYux1k1QGQERERGRR9rhJKpOgiYiIyOkwACIiIiKnwwCIiIiInA4DICIiInI6DICIiIjI6TAAIiIiIqfDAIiIiIicDgMgIiIicjoMgIiIiMjpsBK0HkIIAEB5ebmNe0JERETNpf29rf09bgwDID0qKuo2aYuIiLBxT4iIiMhUFRUVUCgURtvIRHPCJCej0Wjw22+/wdfXFzKZzKz3Li8vR0REBC5fvgw/Pz+z3tsRcPzOPX6A34Gzjx/gd8DxW278QghUVFQgLCwMLi7Gs3w4A6SHi4sLOnbsaNHP8PPzc8o/+Focv3OPH+B34OzjB/gdcPyWGX9TMz9a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yYFGo8Hbb7+N++67D3fddRd+++23RveIiIjA1KlTkZGRgVdeeUUKwACgQ4cOmDhxIj788EOkp6fj/fffN+eQJd9++y0efvhhPP300+jbty+6du2Kn3/+WTrfvXt3eHp6SgngDcnlcgB1M0mGREVFQS6X49tvv5WOqdVqHDt2DL169TLTSIgIANrZugNEZL+qq6tRVFQEoG7F1Zo1a3Dz5k0kJiZKbSZPnoyUlBR4e3vjT3/6U6N7fPvtt1i+fDkeeeQRfPnll/jkk0/w+eefAwC6desGtVqN1atXIzExEd9++y02bNigc/3MmTPx0EMP4a677sL169dx+PBhKYBasGAB+vfvj3vuuQfV1dXYv3+/dM7cunfvjk8//RTfffcdAgICsHLlShQXF0uBiYeHB2bPno1XX30Vcrkc999/P65du4bTp0/jueeeQ1BQEDw9PZGZmYmOHTvCw8MDCoVC5zO8vb3xwgsvYNasWVAqlejUqROWL1+OqqoqPPfccxYZF5Gz4gwQERmUmZmJ0NBQhIaGIi4uDseOHcMnn3wiLeEGgPHjx6Ndu3YYP348PDw8Gt3jlVdewQ8//IB+/fphyZIlWLlyJRISEgAAffv2xcqVK7Fs2TLce++9+Oijj5CWlqZzfW1tLaZPn467774bo0ePxl133YV169YBqJtVmTt3Lvr06YNhw4bB1dUVO3futMh38dprryEmJgYJCQkYMWIEQkJCGlVwnj9/Pl555RUsWLAAd999N5KSkqS8nHbt2mHVqlV47733EBYWhocffljv5yxduhSPPfYYJkyYgJiYGJw7dw4HDx5EQECARcZF5KxkQghh604QkeO6cOECoqKicOzYMcTExOici4yMxMyZMzFz5kzbdI6IyAA+AiOiFlGr1SgtLcVrr72G++67r1HwQ0Rkz/gIjIha5Ntvv0VoaCiOHTvWKG/H1t588034+PjofT300EO27h4R2QE+AiOiNqesrKxR5WQtT09PhIeHW7lHRGRvGAARERGR0+EjMCIiInI6DICIiIjI6TAAIiIiIqfDAIiIiIicDgMgIiIicjoMgIiIiMjpMAAiIiIip8MAiIiIiJzO/w+udpQ3kBchIgAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_18.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_19.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_20.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABaZElEQVR4nO3deVyU1eI/8M8wsomAoayKoriQmguIqKVYUeh1/WW5laLl0r1SIjdLrFyywq5EuFv3q2LdSCuXMr2YcbNyKQ213HILd0CFBIUrIHN+f3hnYmCAmWFmnmfm+bxfL14yz5x55pwZcD6cc55zVEIIASIiIiIFcZK6AkRERES2xgBEREREisMARERERIrDAERERESKwwBEREREisMARERERIrDAERERESKwwBEREREisMARERERIrDAEREJGPp6elQqVQ4f/681FUhcigMQEQKd/DgQcTHx6Nz587w8PBAq1atMGrUKJw+fbpG2QEDBkClUkGlUsHJyQleXl7o2LEjxo8fj127dpn0vNu2bUN0dDT8/PzQuHFjtG3bFqNGjUJmZqalmlbD22+/ja1bt9Y4vm/fPsyfPx83b9602nNXN3/+fN1rqVKp0LhxY3Tq1AmvvfYaiouLLfIcGRkZSEtLs8i5iBwNAxCRwr3zzjvYtGkTHn30USxZsgRTp07F999/j/DwcBw7dqxG+ZYtW+Kjjz7Chx9+iMWLF2PYsGHYt28fHn/8cYwePRoVFRX1PmdKSgqGDRsGlUqFpKQkvPfeexg5ciTOnDmDDRs2WKOZAOoOQAsWLLBpANJatWoVPvroI6SmpiIsLAxvvfUWBg4cCEts08gARFS7RlJXgIiklZiYiIyMDLi4uOiOjR49Gg888AAWLVqEf/3rX3rlvb298cwzz+gdW7RoEV588UWsXLkSISEheOedd2p9vrt372LhwoV47LHH8PXXX9e4/9q1aw1skXyUlpaicePGdZZ58skn0bx5cwDA888/j5EjR2Lz5s348ccf0adPH1tUk0iR2ANEpHB9+/bVCz8A0L59e3Tu3BknT5406hxqtRpLly5Fp06dsHz5chQVFdVa9saNGyguLsaDDz5o8H4/Pz+923fu3MH8+fPRoUMHuLm5ITAwEE888QTOnTunK5OSkoK+ffuiWbNmcHd3R0REBD7//HO986hUKpSUlGD9+vW6YaeJ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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_21.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABdU0lEQVR4nO3de1zT9eI/8Ne4DBBhMIirKAimdlEElDRvGYUeRbv9JE+p2cVTSmaUKce8pQmaKXk/efKSl7SS+no7VKKcb5YdDeVUpqSGtwIUyKFQY7LP7w++Wwy2sY1tn429no8Hj9xn7332fi9yr95XiSAIAoiIiIhciJvYFSAiIiKyNwYgIiIicjkMQERERORyGICIiIjI5TAAERERkcthACIiIiKXwwBERERELocBiIiIiFwOAxARERG5HAYgIiIHtXnzZkgkEly4cEHsqhC1OwxARC7s+PHjyMjIwJ133glfX1907twZY8eOxU8//dSi7NChQyGRSCCRSODm5gZ/f390794d48ePxxdffGHW++7duxdDhgxBSEgIOnTogK5du2Ls2LHIz8+3VtNaWLx4MT799NMW17/++mvMnz8f169ft9l7Nzd//nztZymRSNChQwfccccdeP3111FTU2OV99ixYwdyc3Otci+i9ogBiMiFLVmyBLt378b999+Pd955B5MnT8b//u//IiEhAT/88EOL8p06dcLWrVvx/vvv46233sLo0aPx9ddf48EHH0R6ejpUKlWr77ls2TKMHj0aEokEWVlZWLFiBR599FGcPXsWO3futEUzARgPQAsWLLBrANJYt24dtm7diuXLl6NHjx548803MXz4cFjjiEYGICLjPMSuABGJJzMzEzt27IBUKtVeS09Px913342cnBxs27ZNp7xMJsOTTz6pcy0nJwfTpk3D2rVrER0djSVLlhh8v1u3bmHhwoV44IEH8Pnnn7d4/urVq21skeOoq6tDhw4djJZ57LHHEBwcDAB4/vnn8eijjyIvLw/ffPMN+vfvb49qErks9gARubABAwbohB8A6NatG+68806cPn3apHu4u7tj5cqVuOOOO7B69WooFAqDZSsrK1FTU4N7771X7/MhISE6j//44w/Mnz8ft99+O7y9vREeHo5HHnkE58+f15ZZtmwZBgwYgKCgIPj4+CAxMREff/yxzn0kEglqa2uxZcsW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bt061NfX47HHHtO5z7x58zB//nwAwMMPP4z169cjOzsb06ZNQ/fu3bF7924MHDjQbu0iIiIixybqPkCOivsAERGRmLg/kGXM+f522lVgRERE7VFVVZV2g2BjMjIyGILaQPSzwIiIiOhPxnp+LClH+jEAEREROTCFwg+lpdFQKPzErkq7wiEwIiIiB3XiRB/s3TsKguAGiUSNtLR9SEg4KXa12gX2ABERETkghcJPG34AQBDcsHfvKPYEWQkDEBERkQOqrg7Shh8NQXBDdbVcpBq1LwxAREREDkgur4JEota5JpGoIZdXi1Sj9oUBiIiIyAHJZDeQlrZPG4I0c4Bkshsi16x94CRoIiIiByKVSrV/Tkg4idjYc6iulkMur9YJP03LkfkYgIiIiBxIUFAQMjIyuBO0jTEAERERORhj4UZzTEZZWZne5xmOTMMARERE5CR4TIb1cBI0ERGRk2g+LGZol2gek9E69gARERE5Ie4S3TbsASIiInIy3CW67RiAiIiInAx3iW47BiAiIiInw12i245zgIiIiJyMZpfo5nOANBslVlZWtngNl8frYgAiIiJyQsZ2ic7Ly9P7Gi6P/xMDEBERkZNofvyFTHbDrLPBuDz+TwxARERETsLQMRmVlZU6vT4KhR+qq4Mgl1fx8FQDGICIiIicSGtDWNwfyDRcBUZERNROcH8g0zEAERERtRPcH8h0DEBERETtBPcHMh0DEBERUTuh2R9IE4Ka7w9Ef+IkaCIiIifXdHm8sf2Bmi+jd2UMQERERE7O0PL4prgTtC4GICIionaA4cY8nANERERELocBiIiIiFwOAxARERG5HAYgIiIicjkMQERERORyGICIiIjI5TAAERERkcthACIiIiKXwwBERERELocBiIiIiFyOQwSgNWvWIDo6Gt7e3khOTsaxY8cMlt2wYQMGDRqEwMBABAYGIiUlxWj5559/HhKJBLm5uTaoORERUftUVVWFsrIylJWVoaioAh9/XIWiogrttaqqKrGr2CainwW2a9cuZGZmYv369UhOTkZubi5SU1NRUlKCkJCQFuULCwsxbtw4DBgwAN7e3liyZAkefPBBnDp1CpGRkTplP/nkE3zzzTeIiIiwV3OIiIicXlVVFVavXg0AOHGiD/buHQVBcINEokZa2j4kJJwEAGRkZDjtGWSi9wAtX74czz33HCZN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EycK7u7ugq+vr+Dr6ysAEMLDw4WioiJBEATh999/FwIDA4Vdu3ZpX9OrVy9h/vz52sddunQRhg8frnPf9PR0YcSIEQbf96OPPhKCgoK0j++++26dezaVlpYmTJo0yaL2ARC8vb217fP19RU++eQTobS0VAAg5ObmtnqPkSNHCq+88oogCIJQU1MjeHl5CRs2bNBbVnPfkydP6lyfOHGiMGbMGEEQBOHmzZuCp6ensH37du3z9fX1QkREhLB06VJBEATh8OHDAgDh4MGD2jL79+8XAAi///67OR8BkUtjDxARGXTfffehuLgYxcXFOHbsGFJTUzFixAhcvHgR3t7eGD9+PDZu3AgAOHHiBH744Qc89dRTOvfo379/i8enT5/WPj548CDuv/9+REZGws/PD+PHj0dVVRXq6uoAANOmTcOiRYtw7733Yt68eTqTsF944QXs3LkT8fHxeO211/D111+b1b4VK1Zo21dcXIwHHnhA+1xSUpJO2YaGBixcuBB333035HI5OnbsiM8++wyXLl0CAJw+fRpKpRL333+/WXVo6vz581CpVLj33nu11zw9PdGvXz+dzwwAevXqpf1zeHg4AODq1asWvzeRq2EAIiKDfH19ERcXh7i4OPTt2xf//Oc/UVtbiw0bNgAAnn32WXzxxRe4cuUKNm3ahGHDhqFLly4m3//ChQsYNWoUevXqhd27d6OoqEg7R6i+vl77Hj///DPGjx+P77//HklJSVi1ahUAaMPYyy+/jF9//RX3338/Xn31VZPfPywsTNu+uLg4+Pr66rS9qbfeegvvvPMOZs6cicOHD6O4uBipqanaevr4+Jj8vtbg6emp/bNEIgHQOAeJiEzDAEREJpNIJHBzc8Pvv/8OALj77ruRlJSEDRs2YMeOHXrnoXzzzTctHvfs2RMAUFRUBLVajbfffhv33HMPbr/9dvz6668t7hEVFYXnn38eeXl5eOWVV7QBDABuu+02TJw4Edu2bUNubi7effddazZZ66uvvsKYMWPw5JNPonfv3ujatSt++ukn7fPdunWDj4+PdgJ4c1KpFEBjT5IhsbGxkEql+Oqrr7TXVCoVjh8/jjvuuMNKLSEiAPAQuwJE5LiUSiXKy8sBNK64Wr16NW7evIm0tDRtmWeffRYZGRnw9fXFww8/3OIeX331FZYuXYqHHnoIX3zxBT766CPs378fABAXFweVSoVVq1YhLS0NX331FdavX6/z+unTp2PEiBG4/fbb8dtvv+Hw4cPaADV37lwkJibizjvvhFKpxL59+7TPWVu3bt3w8ccf4+uvv0ZgYCCWL1+OiooKbTDx9vbGzJkz8dprr0EqleLee+/FtWvXcOrUKTzzzDMICQmBj48P8vPz0alTJ3h7e0Mmk+m8h6+vL1544QXMmDEDcrkcnTt3xtKlS1FXV4dnnnnGJu0iclXsASIig/Lz8xEeHo7w8HAkJyfj+PHj+Oijj7RLuAFg3Lhx8PDwwLhx4+Dt7d3iHq+88gq+/fZb9OnTB4sWLcLy5cuRmpoKAOjduzeWL1+OJUuW4K677sL27duRnZ2t8/qGhgZMnToVPXv2xPDhw3H77bdj7dq1ABp7VbKystCrVy8MHjwY7u7u2Llzp00+i9dffx0JCQlITU3F0KFDERYW1mIH5zlz5uCVV17B3Llz0bNnT6Snp2vn5Xh4eGDlypX4xz/+gYiICIwZM0bv++Tk5ODRRx/F+PHjkZCQgHPnzuGzzz5DYGCgTdpF5KokgiAIYleCiJzXhQsXEBsbi+PHjyMhIUHnuejoaEyfPh3Tp08Xp3JERAZwCIyILKJSqVBVVYXXX38d99xzT4vwQ0TkyDgERkQW+eqrrxAeHo7jx4+3mLcjtsWLF6Njx456f0aMGCF29YjIAXAIjIjanerq6hY7J2v4+PggMjLSzjUiIkfDAEREREQuh0NgRERE5HIYgIiIiMjlMAARERGRy2EAIiIiIpfDAEREREQuhwGIiIiIXA4DEBEREbkcBiAiIiJyOf8fUoIj05Sd/v4AAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_22.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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nniiwQVOn376aaxatQqJiYlYv369NAdoQwxAJJmSkhJs2rTJeNvcQoiOcNK2dWuXoywqSUT2FxQUhK1bt+K1116Dm5sbgOvX29qyZQu6d+8u8dHZDgMQSabuybipqeGOcNK257V+OM2eiFoiPDwcp0+fRlZWFh588EEAQFZWFrp3746ePXsay1VWVmLGjBnYunUrysrKEBkZiddeew2DBw82ltm7dy+mT5+OX375BbfccgsSExMb/L6DBw8iNTUV//3vf9G5c2fce++9SEtLg7u7u+0rWwenwZPk1DI13MfHB127djX7Y43wo9TnsqSkBOfPnzf7U1JSIvUhEtnNuXPAJ59c/9deHnnkEaxbt854e+3atUhKSjIp8/zzz2P79u3YsGED8vPz0bt3b8THx6O09Pokjl9++QX33XcfRo8ejaNHj+Kxxx7DrFmzTPZx+vRpjBgxAvfffz++/fZbbNu2DQcPHkRycrLtK1kPW4BIcpwabj1KfC45fonoT2+/DUyZAhgMgFYLvPkm8Oijtv+9Dz30EFJTU/Hzzz8DAD7//HNs3boVubm5AIDy8nKsXr0a69evx9133w0AeOutt/Dxxx/j7bffxowZM7B69WqEhITgn//8JwCgb9+++O6775CRkWH8PWlpaXjwwQeNA5z79OmDZcuWISYmBqtXr4arq6vtK/t/GIBIcpwabj1KfC45fonounPn/gw/wPV/n3gCiI8HunWz7e/u0qULRo4cifXr10MIgZEjR6Jz587G+0+fPo3q6mrceuutxm3Ozs6IiorCsWPHAADHjh1DdHS0yX6HDBlicvubb77Bt99+i82bNxu3CSFgMBhQWFiIG2+80RbVaxQDEElO6QshyonSn0uOXyI1O3nyz/BTq6YGOHXK9gEIuN4NVtsVtXLlSpv8jqtXr+KJJ57A1KlTG9xn7wHXDEAkC0pbCFHOlPpcmhu/FBJyyu514JpKJIU+fa53e9UNQU5OQO/e9vn9I0aMQFVVFTQaDeLj403uCwkJgU6nw+eff44ePXoAAKqrq/H1118bu7NuvPFGfPjhhyaP++KLL0xuh4eH48cff0Rve1WqCQxAJBvmpoZT85S8qGQtuYxf4pgkkkq3btfH/DzxxPWWHycn4I037NP6AwBOTk7G7iwnJyeT+9zd3fH3v/8dM2bMgLe3N7p3747FixejoqIC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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_23.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkIAAAHHCAYAAABTMjf2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABWK0lEQVR4nO3deXxM5/4H8M9kmywkEbInBImt9qg09hJN0JRf3Vv71lhLlbRVqrarFUUJtZUby20pP0V/bvVGCW5bctGQX5WILUFUYk8kYRKT8/tjfhlGtplklnPmfN6v17yYM2d5njOZOd95nu95HoUgCAKIiIiIZMjG0gUgIiIishQGQkRERCRbDISIiIhIthgIERERkWwxECIiIiLZYiBEREREssVAiIiIiGSLgRARERHJFgMhIiIiki0GQkREErBlyxYoFApkZmZauihEVoWBEBEBAE6dOoUpU6bgpZdegouLC+rXr4+33noLFy9eLLNujx49oFAooFAoYGNjA1dXVzRt2hQjRozAwYMHDTruP//5T3Tv3h1eXl5wdnZGo0aN8NZbbyExMdFYVStj0aJF+P7778ssP378OObPn4+HDx+a7Ngvmj9/vvZcKhQKODs7o0WLFvjkk0+Ql5dnlGNs374d8fHxRtkXkbVhIEREAIDPP/8cu3fvRq9evbBy5UqMHz8eP//8M9q3b48//vijzPoBAQH4+uuv8Y9//ANLly7FG2+8gePHj+O1117DoEGDUFxcXOUxly1bhjfeeAMKhQKzZs3CihUrMHDgQFy6dAk7duwwRTUBVB4ILViwwKyBUKl169bh66+/xvLly9GsWTN89tlniIqKgjGmg2QgRFQxO0sXgIjEITY2Ftu3b4eDg4N22aBBg9CqVSssXrwY33zzjc76bm5uGD58uM6yxYsXY+rUqVi7di2CgoLw+eefV3i8p0+fYuHChejduzd++umnMq/fvn27hjUSj8LCQjg7O1e6zl/+8hfUq1cPADBx4kQMHDgQe/bswX/+8x+Eh4ebo5hEssQWISICAHTq1EknCAKAkJAQvPTSS0hLS9NrH7a2tli1ahVatGiB1atXIzc3t8J17969i7y8PHTu3Lnc1728vHSeP3nyBPPnz0eTJk3g6OgIX19fvPnmm7hy5Yp2nWXLlqFTp06oW7cunJycEBoaiu+++05nPwqFAgUFBdi6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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_24.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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/XrExcWhe/fuUKvV6N+/P5YuXWr8vKSkBKdPn0ZhYaFx26RJk3D79m1MnjwZN27cQOvWrbFnzx4EBwfbowgAgIrmgCwosM7xDU1d48bpa4Lk0tTF1eSJiEiOFDGPkD1Zex6hrCx9B+a7m69cXPQTB1ozQMjKkk9TF+cpIiIiW3OoeYQcia06J8ulqYvzFBERkZwppmnMkThT52SpO4cTERHdDwZCdhIQ4ByBgKHz9r1NgZyniIiI5IBNYyQpzlNERERyxhohkpwzNQUSEZGyMBAim3CWpkAiIlIWNo0RERGR02IgRERERE6LgRARERE5LQZCRERE5LQYCBEREZHTYiBERERETouBEBERETktBkJERETktBgIERERkdNiIEREREROi4EQEREROS2uNVYFIQQAIC8vz845ISIiInMZntuG53hFGAhV4datWwCAwMBAO+eEiIiILHXr1i14enpW+LlKVBUqOTmdTof//ve/qFu3LlQqldWOm5eXh8DAQFy8eBEeHh5WO66cOHoZHb18gOOXkeVTPkcvI8tXfUII3Lp1C/7+/lCrK+4JxBqhKqjVagQEBEh2fA8PD4f8z303Ry+jo5cPcPwysnzK5+hlZPmqp7KaIAN2liYiIiKnxUCIiIiInBYDITvRaDSYOXMmNBqNvbMiGUcvo6OXD3D8MrJ8yufoZWT5pMfO0kREROS0WCNERERETouBEBERETktBkJERETktBgIERERkdNiIGRFK1asQFBQENzd3REZGYkjR45Umn7x4sVo3rw5atasicDAQEyePBm3b9++r2NKydrlmzVrFlQqlckrLCxM6mJUypIylpSUYM6cOQgODoa7uztat26NpKSk+zqm1KxdPjndwx9//BF9+/aFv78/VCoVduzYUeU++/btQ7t27aDRaBASEoLExMQyaeRy/6Qon5zuH2B5GS9fvozBgwejWbNmUKvVmDRpUrnpNm/ejLCwMLi7u+Ohhx7Crl27rJ95M0hRvsTExDL30N3dXZoCmMHSMm7btg09evSAt7c3PDw8EBUVhd27d5dJJ+n3UJBVbNy4Ubi5uYk1a9aIP/74Q4wZM0Z4eXmJnJycctOvX79eaDQasX79epGRkSF2794tGjRoICZPnlztY0pJivLNnDlTtGzZUly+fNn4unr1qq2KVIalZXz99deFv7+/2Llzp0hPTxcr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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_25.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABLcElEQVR4nO3dd1hT9/4H8HdAhijDwRAaxdE6qiIuqq1FLV60Fld766qAq85apUNwRVyodVeqrQtrHah1XaWiojgqt9ZZrZMKhSrgqICCMpLz+8OfuY0JmGCSk/F+PU+e23xyzsknBy958/2eIREEQQARERGRhbARuwEiIiIifWK4ISIiIovCcENEREQWheGGiIiILArDDREREVkUhhsiIiKyKAw3REREZFEYboiIiMiiMNwQERGRRWG4ISKTJJFIMH36dLHbUAoPD4evr6/YbRCRFhhuiEhrcXFxkEgkyoejoyNee+01jB07Fjk5OQZ975MnT2L69OnIzc3V63Y7duyo8pmqV6+ONm3aYO3atVAoFHp5jzlz5mDXrl162RYRvVglsRsgIvMzY8YM1K1bF0+ePMGJEyewYsUKJCQk4NKlS3ByctLLezx+/BiVKv3vV9TJkycRHR2N8PBwuLm56eU9nnnllVcQExMDALh79y6+//57DB06FNevX8fcuXNfevtz5szBBx98gF69er30tojoxRhuiEhn3bp1Q+vWrQEAw4YNQ40aNbBo0SLs3r0b/fv3r/B2FQoFiouL4ejoCEdHR321+0Kurq746KOPlM9HjBiBhg0bYvny5Zg5cybs7OyM1gsRvTxOSxHRS+vcuTMAIC0tDQCwYMECtG/fHjVq1EDlypXRqlUrbN++XW09iUSCsWPHYuPGjXj99dfh4OCA/fv3K197dszN9OnT8cUXXwAA6tatq5xCSk9PR2BgIPz8/DT21bBhQwQHB+v8eZycnPDGG2+goKAAd+/eLXO5goICfPbZZ5BKpXBwcEDDhg2xYMECCIKg8hkLCgqwfv16Zd/h4eE690RE2uPIDRG9tD/++AMAUKNGDQDA0qVL0aNHDwwcOBDFxcXYsmUL/v3vf2Pv3r3o3r27yrqHDx/G1q1bMXbsWNSsWVPjQbt9+vTB9evXsXnzZixevBg1a9YEALi7u2PQoEEYPnw4Ll26hKZNmyrX+fXXX3H9+nVMmTKlQp/p5s2bsLW1LXMKTBAE9OjRA0eOHMHQoUPRokULJCYm4osvvsCtW7ewePFiAMCGDRswbNgwtG3bFh9//DEAoH79+hXqiYi0JBARaWndunUCAOHQoUPC3bt3hczMTGHLli1CjRo1hMqVKwt//fWXIAiCUFhYqLJecXGx0LRpU6Fz584qdQCCjY2N8Pvvv6u9FwBBJpMpn3/11VcCACEtLU1ludzcXMHR0VGYOHGiSn3cuHFClSpVhEePHpX7mQIDA4VGjRoJd+/eFe7evStcuXJFGDdunABACAkJUS4XFhYm1KlTR/l8165dAgBh1qxZKtv74IMPBIlEIqSmpiprVapUEcLCwsrtg4j0h9NSRKSzoKAguLu7QyqVol+/fqhatSp27twJHx8fAEDlypWVyz548AB5eXno0KEDzp49q7atwMBANGnSpMK9uLq6omfPnti8ebNyOkgulyM+Ph69evVClSpVXriNq1evwt3dHe7u7mjcuDG+/vprdO/eHWvXri1znYSEBNja2mLcuHEq9c8++wyCIOCnn36q8GciopfDaSki0llsbCxee+01VKpUCZ6enmjYsCFsbP73t9LevXsxa9YsnD9/HkVFRcq6RCJR21bdunVfup/Q0FDEx8fj+PHjePvtt3Ho0CHk5ORg0KBBWq3v6+uLVatWKU9vf/XVV+Hh4VHuOn/++Se8vb3h7OysUm/cuLHydSISB8MNEemsbdu2yrOlnnf8+HH06NEDb7/9Nr755hvUqlULdnZ2WLduHTZt2qS2/D9HeSoqODgYnp6e+OGHH/D222/jhx9+gJeXF4KCgrRav0qVKlovS0Smj9NSRKRXP/74IxwdHZGYmIghQ4agW7duegkOmkZ9nrG1tcWAAQOwfft2PHjwALt27UL//v1ha2v70u9bljp16uD27dt4+PChSv3q1avK158pr3ci0j+GGyLSK1tbW0gkEsjlcmUtPT39pa/Q++zYmbKuUDxo0CA8ePAAI0aMwKNHj1SuW2MI7777LuRyOZYvX65SX7x4MSQSCbp166asValSRe9XViaisnFaioj0qnv37li0aBG6du2KAQMG4M6dO4iNjUWDBg3w22+/VXi7rVq1AgBMnjwZ/fr1g52dHUJCQpShx9/fH02bNsW2bdvQuHFjtGzZUi+fpywhISHo1KkTJk+ejPT0dPj5+eHAgQPYvXs3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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_26.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_27.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_28.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_29.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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d98REVF9q+nvb9lHooiqoilAHTgwEWlpzWSohoiISBVDFBmcu3fvYsGCBWrtKSkx0LCIPRERkSwYosigVDd9xxk8IiIyJAxRZDA0BagpU6bA2tpahmqIiIiqxxBFsrt165banZEALx4nIiLDxhBFsuLdd0REZKwYokg2mgLUBx98gEaN+NeSiIgMn6yPfaGG6caNGxoD1NatMQxQRERkNPgbi+pVVdN3KSkx0LCqARERkcFiiKJ6oylALVoUjc2bFVy+gIiIjA5DFNW57OxsbNq0Sa09JSUGmzcDgwbJUBQREVEtMURRneLimUREZKp4YTnVGU0BKiUlBr6+TE9ERGT8OBJFenf+/HkkJiaqtfv6cvSJiIhMB0MU6VVV03e+vjG89omIiEwKQxTpjaYAxfBERESmiiGKau3w4cPYs2ePWjsf3UJERKaMIYpqRdPok5WVC95//00ZqiEiIqo/DFGkM07fERFRQ8YQRVr77rvv8NNPP6m1c/qOiIgaEoYo0oqm0aeOHTtiyJAhMlRDREQkH4YoqjFNAYqjT0RE1FAxRNE/+u9//4tjx46ptXPlcSIiasgYoqhamkafevfujX79+slQDRERkeFgiKIqcfqOiIioagxRpGb79u04d+6cWjsDFBER0f8wRJEKTaNPAwYMQLdu3WSohoiIyHCZyV0AGQ5NASolJYYBioiISAOORBGSkpJw8uRJtfZFi2KwebMMBRERERkBhqgGTtPo0zffhKJRIy9s3gw+woWIiKgKDFENmKYAtXVrDBYsYHgiIiL6JwxRDdAXX3yBM2fOqLWXlMTg/HkZCiIiIjJCDFENjKbRpx9/nIC33mrO0SciIiItMEQ1EEIIzJo1S62daz8RERHphiGqAdiwYQMuX76s1s4ARUREpDuGKBOnafouMjISTZo0kaEaIiIi08EQZaIqKiowe/ZstXaOPhEREekHQ5QJ4vQdERFR3WOIMjGapu/S0qbgwAFrGaohIiIyXQxRJqK8vBxz5sxRa09JicHUqTIUREREZOIYokzADz/8gP3796u03bljgw8/fA+cwSMiIqobDFFGTtP03ZIl0zFhgrkM1RARETUcDFFGqqrFM1NSYlBQIENBREREDQxDlBH666+/sGrVKpW2L798ATdvdsGaNTIVRURE1MAwRBmhBwNUcbEVdu6cgg8/VPDZd0RERPWI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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_30.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_31.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_32.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABLe0lEQVR4nO3df3zN9f//8fvZ2GZ+bGHMjzEiv2MNw/tdqq93I2Glkn74Gf1Aaf0yyZJEhfyM3uVXvQt5F/aWLK1JZSW/Kr8pQrah2Jja2F7fP3yc9/t0ztiZc87r7Jzb9XLZhT3P67zO4/VSdvd8Pl/Pp8UwDEMAAAB+JMDsAgAAADyNAAQAAPwOAQgAAPgdAhAAAPA7BCAAAOB3CEAAAMDvEIAAAIDfIQABAAC/QwACAAB+hwAEoMyyWCx64YUXzC7DasCAAYqOjja7DAAlQAAC4FILFy6UxWKxfoWEhOiaa67R8OHDlZ2d7dbP3rBhg1544QWdOnXKpee98cYbba6patWqateunebPn6+ioiKXfMbLL7+sFStWuORcAC6vnNkFAPBNL774oho0aKA///xTX331lebMmaPVq1dr+/btCg0Ndcln/PHHHypX7r9/jW3YsEHjxo3TgAEDFB4e7pLPuKhu3bqaOHGiJOn48eN65513NHjwYO3du1eTJk264vO//PLLuvPOO5WQkHDF5wJweQQgAG7RrVs3tW3bVpL04IMPqlq1apo6dapWrlypvn37lvq8RUVFKigoUEhIiEJCQlxV7mWFhYXp/vvvt37/0EMPqUmTJpo1a5bGjx+v8uXLe6wWAFeOITAAHnHzzTdLkg4cOCBJmjx5sjp16qRq1aqpQoUKio2N1b///W+791ksFg0fPlzvvfeeWrRooeDgYK1Zs8b62sU5QC+88IKefvppSVKDBg2sw1UHDx5U586d1bp1a4d1NWnSRPHx8U5fT2hoqDp06KC8vDwdP3682OPy8vL05JNPKioqSsHBwWrSpIkmT54swzBsrjEvL0+LFi2y1j1gwACnawJQcvQAAfCIn376SZJUrVo1SdL06dPVs2dP3XfffSooKNCSJUt01113adWqVerevbvNez///HN98MEHGj58uKpXr+5wovEdd9yhvXv3avHixXr99ddVvXp1SVJERIQeeOABDRkyRNu3b1fLli2t7/nuu++0d+9ejRkzplTX9PPPPyswMLDY4TbDMNSzZ0+lp6dr8ODBatOmjVJTU/X000/r119/1euvvy5Jevfdd/Xggw+qffv2Gjp0qCTp6quvLlVNAErIAAAXWrBggSHJ+Oyzz4zjx48bhw8fNpYsWWJUq1bNqFChgnHkyBHDMAzj7NmzNu8rKCgwWrZsadx888027ZKMgIAAY8eOHXafJclITk62fv/aa68ZkowDBw7YHHfq1CkjJCTEePbZZ23aH3vsMaNixYrGmTNnLnlNnTt3Npo2bWocP37cOH78uLFr1y7jscceMyQZPXr0sB7Xv39/o379+tbvV6xYYUgyXnrpJZvz3XnnnYbFYjH2799vbatYsaLRv3//S9YBwHUYAgPgFl26dFFERISioqJ0zz33qFKlSlq+fLnq1KkjSapQoYL12JMnTyonJ0fXX3+9tmzZYneuzp07q3nz5qWuJSwsTL169dLixYutQ0+FhYVaunSpEhISVLFixcueY/fu3YqIiFBERISaNWummTNnqnv37po/f36x71m9erUCAwP12GOP2bQ/+eSTMgxDn3zySamvCcCVYQgMgFvMnj1b11xzjcqVK6eaNWuqSZMmCgj477+5Vq1apZdeeknbtm1Tfn6+td1isdidq0GDBldcT79+/bR06VJ9+eWXuuGGG/TZZ58pOztbDzzwQIneHx0drbfeesv6aH/jxo1Vo0aNS77nl19+Ue3atVW5cmWb9mbNmllfB2AOAhAAt2jfvr31KbC/+vLLL9WzZ0/dcMMNeuONN1SrVi2VL19eCxYs0Pvvv293/P/2FpVWfHy8atasqX/961+64YYb9K9//UuRkZHq0qVLid5fsWLFEh8LwPsxBAbA4z788EOFhIQoNTVVgwYNUrdu3VwSLhz1Hl0UGBioe++9V//+97918uRJrVixQn379lVgYOAVf25x6tevr6NHj+r06dM27bt377a+ftGlagfgegQgAB4XGBgoi8WiwsJCa9vBgweveCXki3N5ilsJ+oEHHtDJkyf10EMP6cyZMzbr+rjDrbfeqsLCQs2aNcum/fXXX5fFYlG3bt2sbRUrVnT5CtYAiscQGACP6969u6ZOnaquXbvq3nvv1bFjxzR79mw1atRIP/zwQ6nPGxsbK0l67rnndM8996h8+fLq0aOHNRjFxMSoZcuWWrZsmZo1a6brrrvOJddTnB49euimm27Sc889p4MHD6p169b69NNPtXLlSo0cOdLmUffY2Fh99tlnmjp1qmrXrq0GDRooLi7OrfUB/oweIAAed/PNN2vevHnKysrSyJEjtXjxYr3yyiu6/fbbr+i87dq10/jx4/X9999rwIAB6tu3r90ihf369ZOkEk9+vhIBAQFKSUnRyJEjtWrVKo0cOVI7d+7Ua6+9pqlTp9ocO3XqVMXGxmrMmDHq27ev5syZ4/b6AH9mMYz/WY4UAHzc9OnT9cQTT+jgwYOqV6+e2eUAMAkBCIDfMAxDrVu3VrVq1ZSenm52OQBMxBwgAD4vLy9PKSkpSk9P148//qiVK1eaXRIAk9EDBMDnHTx4UA0aNFB4eLgeffRRTZgwweySAJiMAAQAAPwOT4EBAAC/QwACAAB+h0nQDhQVFeno0aOqXLkyy9MDAFBGGIah06dPq3bt2jabLztCAHLg6NGjioqKMrsMAABQCocPH1bdunUveQwByIHKlStLunADq1SpYnI1AACgJHJzcxUVFWX9OX4pBCAHLg57ValShQAEAEAZU5LpK0yCBgAAfocABAAA/A4BCAAA+B3mAF2BwsJCnTt3zuwy4AFBQUGXfaQSAFB2EIBKwTAMZWVl6dSpU2aXAg8JCAhQgwYNFBQUZHYpAAAXIACVwsXwU6NGDYWGhrJYoo+7uDBmZmam6tWrx583APgAApCTCgsLreGnWrVqZpcDD4mIiNDRo0d1/vx5lS9f3uxyAABXyCsmNcyePVvR0dEKCQlRXFycNm7cWOyxO3bsUO/evRUdHS2LxaJp06bZHTNx4kS1a9dOlStXVo0aNZSQkKA9e/a4pNaLc35CQ0Ndcj6UDReHvgoLC02uBADgCqYHoKVLlyoxMVHJycnasmWLWrdurfj4eB07dszh8WfPnlXDhg01adIkRUZGOjzmiy++0LBhw/TNN99o7dq1OnfunG655Rbl5eW5rG6GQfwLf94A4FsshmEYZhYQFxendu3aadasWZIuzLeIiorSiBEjNGrUqEu+Nzo6WiNHjtTIkSMvedzx48dVo0YNffHFF7rhhhsuW1Nubq7CwsKUk5NjtxL0n3/+qQMHDqhBgwYKCQm57LngG/hzBwDvd6mf339lag9QQUGBNm/erC5duljbAgIC1KVLF2VkZLjsc3JyciRJVatWdfh6fn6+cnNzbb4AAIDvMjUAnThxQoWFhapZs6ZNe82aNZWVleWSzygqKtLIkSP1t7/9TS1btnR4zMSJExUWFmb98tWd4AcMGCCLxSKLxaLy5curZs2a+sc//qH58+erqKioxOdZuHChwsPD3VcoAABuZvocIHcbNmyYtm/friVLlhR7TFJSknJycqxfhw8f9mCFntW1a1dlZmbq4MGD+uSTT3TTTTfp8ccf12233abz58+bXR4AAB5hagCqXr26AgMDlZ2dbdOenZ1d7ARnZwwfPlyrVq1Senq66tatW+xxwcHB1p3ffX0H+ODgYEVGRqpOnTq67rrrNHr0aK1cuVKffPKJFi5cKEmaOnWqWrVqpYoVKyoqKkqPPvqozpw5I0lat26dBg4cqJycHGtv0gsvvCBJevfdd9W2bVtVrlxZkZGRuvfee4udzA4A8F8pKVKnThd+NYupASgoKEixsbFKS0uzthUVFSktLU0dO3Ys9XkNw9Dw4cO1fPlyff7552rQoIEryr3k5xUUFHj8y1Xz12+++Wa1bt1aH330kaQL87BmzJihHTt2aNGiRfr888/1zDPPSJI6deqkadOmqUqVKsrMzFRmZqaeeuopSReWCBg/fry+//57rVixQgcPHtSAAQNcUiMAwDccOnRIW7eO04kT+zRpknl1mL4QYmJiovr376+2bduqffv2mjZtmvLy8jRw4EBJUr9+/VSnTh1NnDhR0oWJ0zt37rT+/tdff9W2bdtUqVIlNWrUSNKFYa/3339fK1euVOXKla3zicLCwlShQgWXX8O5c+es9XlSUlKSy7ZmaNq0qX744QdJsnmqLjo6Wi+99JIefvhhvfHGGwoKClJYWJgsFotdL92gQYOsv2/YsKFmzJihdu3a6cyZM6pUqZJL6gQAlF0rVqzQ999/L0m67773FROTbFotpgegPn366Pjx4xo7dqyysrLUpk0brVmzxjox+tChQzabUB49elQxMTHW7ydPnqzJkyerc+fOWrdunSRpzpw5kqQbb7zR5rMWLFhAj0QxDMOwrnXz2WefaeLEidq9e7dyc3N1/vx5/fnnnzp79uwlF4DcvHmzXnjhBX3//fc6efKkdWL1oUOH1Lx5c49cBwDA+/z555965ZVXbNoefPBB1aljUkHyggAkXZirM3z4cIevXQw1F0VHR1926MfTSxuVL19eSUlJHv3Mi5/rKrt27VKDBg108OBB3XbbbXrkkUc0YcIEVa1aVV999ZUGDx6sgoKCYgNQXl6e4uPjFR8fr/fee08RERE6dOiQ4uPjVVBQ4LI6AQBly+7du7V06VKbNleOYJSWVwSgss5isZj+B3klPv/8c/3444964okntHnzZhUVFWnKlCnWnrcPPvjA5vigoCC7LSF2796t3377TZMmTbIuI7Bp0ybPXAAAwOsYhqFFixbpl19+sbbFxcWpa9euJlb1XwQgP5Ofn6+srCwVFhYqOztba9as0cSJE3XbbbepX79+2r59u86dO6eZM2eqR48e+vrrrzV37lybc0RHR+vMmTNKS0tT69atFRoaqnr16ikoKEgzZ87Uww8/rO3bt2v8+PEmXSUAwEynT5/W1KlTbdqGDh2qWrVqmVSRPZ9fBwi21qxZo1q1aik6Olpdu3ZVenq6ZsyYoZUrVyowMFCtW7fW1KlT9corr6hly5Z677337CZ4d+rUSQ8//LD69OmjiIgIvfrqq4qIiNDChQu1bNkyNW/eXJMmTdLkyZNNukoAgFk2b95sE36CgoI0ZswYrwo/khfsBeaN2AsMf8WfOwBcmmEYmjZtms12Uv/4xz/UqVMnj9XgzF5gDIEBAIArcuLECc2ePdum7bHHHtNVV11lUkWXRwACAACltm7dOn3xxRfW72vUqKGHH37YurSKtyIAAQAAp50/f14TJkywabv99tt17bXXmlSRcwhAAADAKYcPH9b8+fNt2p566ilVrFjRpIqcRwACAAAllpKSoq1bt1q/v+aaa9S3b18TKyodAhAAALis/Px8TfrL7qX333+/rr76apMqujIEIAAAcEl79+7V4sWLbdq8YTuLK0EAAgAAxXrnnXd04MAB6/ft2rXTrbfeamJFrkEAAgAAdhxtZzFkyBDVrl3bpIpci60w4HIDBgxQQkKC9fsbb7xRI0eOvKJzuuIcAICS2bJli034KVeunMaMGeMz4UeiB8ivDBgwQIsWLZIklS9fXvXq1VO/fv00evRolSvnvv8UPvroI5UvX75Ex65bt0433XSTTp48qfDw8FKdAwBQOoZhaObMmTp58qS17f/9v/+nv//97yZW5R4EID/TtWtXLViwQPn5+Vq9erWGDRum8uXLKykpyea4goICl01uq1q1qlecAwBQvN9++02zZs2yaRsxYoTP/v3LEJifCQ4OVmRkpOrXr69HHnlEXbp0UUpKinXYasKECapdu7aaNGki6cJiV3fffbfCw8NVtWpV9erVSwcPHrSer7CwUImJiQoPD1e1atX0zDPP6K/76/51+Co/P1/PPvusoqKiFBwcrEaNGmnevHk6ePCgbrrpJknSVVddJYvFogEDBjg8x8mTJ9WvXz9dddVVCg0NVbdu3bRv3z7r6wsXLlR4eLhSU1PVrFkzVapUSV27dlVmZqb1mHXr1ql9+/aqWLGiwsPD9be//U2//PKLi+40AJQd69evtwk/1atX19ixY302/EgEIL9XoUIFFRQUSJLS0tK0Z88erV27VqtWrdK5c+cUHx+vypUr68svv9TXX39tDRIX3zNlyhQtXLhQ8+fP11dffaXff/9dy5cvv+Rn9uvXT4sXL9aMGTO0a9cuvfnmm6pUqZKioqL04YcfSpL27NmjzMxMTZ8+3eE5BgwYoE2bNiklJUUZGRkyDEO33nqrzp07Zz3m7Nmzmjx5st59912tX79ehw4d0lNPPSXpwhLuCQkJ6ty5s3744QdlZGRo6NChXr93DQC40ooVhXrhhXFKT0+3tvXq1UvDhg3z+b8PGQLzU4ZhKC0tTampqRoxYoSOHz+uihUr6u2337YOff3rX/9SUVGR3n77bev/CAsWLFB4eLjWrVunW265RdOmTVNSUpLuuOMOSdLcuXOVmppa7Ofu3btXH3zwgdauXasuXbpIkho2bGh9/eK/NmrUqGEzB+h/7du3TykpKfr666/VqVMnSdJ7772nqKgorVixQnfddZck6dy5c5o7d651ka7hw4frxRdflCTl5uYqJydHt912m/X1Zs2aOX8jAaCM2rhxo77//hP9b8558sknValSJfOK8iB6gEyWkiJ16nThV09YtWqVKlWqpJCQEHXr1k19+vTRCy+8IElq1aqVzbyf77//Xvv371flypVVqVIlVapUSVWrVtWff/6pn376STk5OcrMzFRcXJz1PeXKlVPbtm2L/fxt27YpMDBQnTt3LvU17Nq1S+XKlbP53GrVqqlJkybatWuXtS00NNRmhdJatWrp2LFjki4ErQEDBig+Pl49evTQ9OnTbYbHAMCXjRs3Tp988on1+9DQukpOTvab8CPRA2S6SZOkjIwLv/bs6f7Pu+mmmzRnzhwFBQWpdu3aNk9//XUTuzNnzig2Nlbvvfee3Xki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r1Jubq6iothXCHC1P/74Q6+++qpdO70+ADytRAGoc+fO1t+/+OKLmjp1qvr27Wtt69mzp1q1aqV//vOf6t+/f4k/vHr16goMDFR2drZNe3Z2tiIjIx2+JzIy8rLHx8bGatu2bcrJyVFBQYEiIiIUFxentm3bOjxncHCwgoODS1w3AOcV18vKRGcAZnD6KbCMjAyHQaJt27aXfXz9r4KCghQbG6u0tDRrW1FRkdLS0opdU6hjx442x0vS2rVrHR4fFhamiIgI7du3T5s2bVKvXr2cqg+AazgKP0lJSUpOTubxdgCmcDoARUVF6a233rJrf/vtt0s1bJSYmKi33npLixYt0q5du/TII48oLy9PAwcOlCT169fPZpL0448/rjVr1mjKlCnavXu3XnjhBW3atEnDhw+3HrNs2TKtW7fO+ij8P/7xDyUkJOiWW25xuj4ApffTTz8V+5RXUFCQCRUBwAVOb4Xx+uuvq3fv3vrkk08UFxcnSdq4caP27dunDz/80OkC+vTpo+PHj2vs2LHKyspSmzZttGbNGutE50OHDikg4L85rVOnTnr//fc1ZswYjR49Wo0bN9aKFSvUsmVL6zGZmZlKTExUdna2atWqpX79+un55593ujYApcdTXgC8WanWATpy5IjeeOMN65NazZo108MPP+wzE4dZBwi4MqztA8AMzvz8Nn0hRG9EAAJKJyUlRVu3brVrJ/wA8ASXL4T4V6dOndK8efO0a9cuSVKLFi00aNAghYWFleZ0AHyAo16f6667Tj169DChGgC4NKd7gDZt2qT4+HhVqFBB7du3lyR99913+uOPP/Tpp5/quuuuc0uhnkQPEOAchrwAeAO3DoFdf/31atSokd566y2VK3ehA+n8+fN68MEH9fPPP2v9+vWlr9xLEICAkmGiMwBv4tYAVKFCBW3dulVNmza1ad+5c6fatm2rs2fPOl+xlyEAAZfnKPw88MADatiwoQnVAICb5wBVqVJFhw4dsgtAhw8fVuXKlZ09HYAyJj8/X5MmTbJrp9cHQFnidADq06ePBg8erMmTJ6tTp06SpK+//lpPP/20zfYYAHwPQ14AfIXTAWjy5MmyWCzq16+fzp8/L+nCBqSPPPKIw38VAvANjsLPM888owoVKphQDQBcmVKvA3T27Fn99NNPkqSrr75aoaGhLi3MTMwBAv7r0KFDWrBggV07vT4AvI3b1wGSpNDQULVq1aq0bwdQBjDkBcBXlTgADRo0qETHzZ8/v9TFAPAerO0DwJeVOAAtXLhQ9evXV0xMjNg9A/Bdqamp+uabb+zaCT8AfEmJA9AjjzyixYsX68CBAxo4cKDuv/9+Va1a1Z21AfAwR70+mZktdeutvU2oBgDcx6lJ0Pn5+froo480f/58bdiwQd27d9fgwYN1yy23yGKxuLNOj2ISNPwRQ14AyjqP7Ab/yy+/aOHChXrnnXd0/vx57dixQ5UqVSpVwd6GAAR/8uqrr+qPP/6wayf8AChrPPIUWEBAgCwWiwzDUGFhYWlPA8BEjnp9tmy5RytXNjGhGgDwnABnDs7Pz9fixYv1j3/8Q9dcc41+/PFHzZo1S4cOHfKZ3h/AH5w7d85h+ElNTdbgwYQfAL6vxD1Ajz76qJYsWaKoqCgNGjRIixcvVvXq1d1ZGwA3uNTaPox6AfAXJZ4DFBAQoHr16ikmJuaSE54/+ugjlxVnFuYAwVc5Cj9PP/20T63kDsB/uWUOUL9+/XzqSS/An2RlZenNN9+0a2eiMwB/5dRCiADKHrazAAB7pX4KDID3cxR+xo4dS28uAL9HAAJ80MaNG/XJJ5/YtdPrAwAXEIAAH+Oo1+fIkTbq0aOXCdUAgHciAAE+hO0sAKBkCECAD5g3b56OHDli1074AQDHCEBAGeeo1+e+++5To0aNTKgGAMoGAhBQRhUWFuqll16ya6fXBwAujwAElEGs7QMAV4YABJQxjsLPU089pYoVK5pQDQCUTQQgoIz4/fffNXPmTLt2en0AwHkEIKAMYMgLAFyLAAR4ObazAADXIwABXmrr1q1KSUmxa6fXBwCuHAEI8EKOen2uvfZa3X777SZUAwC+hwAEeBm2swAA9yMAAV7i3Xff1c8//2zXTvgBANcjAAFewFGvz913361mzZqZUA0A+D4CEGCioqIijR8/3q6dXh8AcC8CEGAS1vYBAPMQgAATOAo/TzzxhKpUqWJCNQDgfwhAgAedOnVK06dPt2un1wcAPIsABHgIQ14A4D0IQIAHsJ0FAHgXAhDgRtu3b9eHH35o106vDwCYiwAEuImjXp8mTZronnvuMaEaAMD/IgABbsB2FgDg3QhAgAt98MEH2rVrl1074QcAvAsBCHARR70+t99+u6699loTqgEAXAoBCLhChmHoxRdftGun1wcAvBcBCLgCrO0DAGUTAQgoJUfh5/HHH1d4eLjniwEAOCXA7AIkafbs2YqOjlZISIji4uK0cePGSx6/bNkyNW3aVCEhIWrVqpVWr15t8/qZM2c0fPhw1a1bVxUqVFDz5s01d+5cd14C/MiZM2eKfcqL8AMAZYPpAWjp0qVKTExUcnKytmzZotatWys+Pl7Hjh1zePyGDRvUt29fDR48WFu3blVCQoISEhK0fft26zGJiYlas2aN/vWvf2nXrl0aOXKkhg8frpSUFE9dFnzUuHHjNGXKFLt2hrwAoGyxGIZhmFlAXFyc2rVrp1mzZkmSioqKFBUVpREjRmjUqFF2x/fp00d5eXlatWqVta1Dhw5q06aNtZenZcuW6tOnj55//nnrMbGxserWrZteeumly9aUm5ursLAw5eTksDs3rBz1+jz//PMKCDD93xEAADn389vUv7kLCgq0efNmdenSxdoWEBCgLl26KCMjw+F7MjIybI6XpPj4eJvjO3XqpJSUFP36668yDEPp6enau3evbrnlFvdcCHza/v37ix3yIvwAQNlk6iToEydOqLCwUDVr1rRpr1mzpnbv3u3wPVlZWQ6Pz8rKsn4/c+ZMDR06VHXr1lW5cuUUEBCgt956SzfccIPDc+bn5ys/P9/6fW5ubmkvCT7GUfBp3ry57rrrLhOqAQC4ik8+BTZz5kx98803SklJUf369bV+/XoNGzZMtWvXtus9kqSJEycW+zgz/BfbWQCA7zI1AFWvXl2BgYHKzs62ac/OzlZkZKTD90RGRl7y+D/++EOjR4/W8uXL1b17d0nStddeq23btmny5MkOA1BSUpISExOt3+fm5ioqKuqKrg1l17p16/TFF1/YtaemJov8AwC+wdQJDEFBQYqNjVVaWpq1raioSGlpaerYsaPD93Ts2NHmeElau3at9fhz587p3LlzdnMzAgMDVVRU5PCcwcHBqlKlis0X/NO4cePswk+DBncrNTVZDubkAwDKKNOHwBITE9W/f3+1bdtW7du317Rp05SXl6eBAwdKkvr166c6depo4sSJki4sNNe5c2dNmTJF3bt315IlS7Rp0yb985//lCRVqVJFnTt31tNPP60KFSqofv36+uKLL/TOO+9o6tSppl0nvNvltrPo18/TFQEA3Mn0ANSnTx8dP35cY8eOVVZWltq0aaM1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Tp061p3LH3/8cXXu3FlTpkxR9+7dtWTJEm3atEn//Oc/bc6bm5urZcuWacqUKR6/Jnc5e/as3VpGLVu29JvH+wEAcBXTA1CfPn10/PhxjR07VllZWWrTpo3WrFljneh86NAhBQT8t6OqU6dOev/99zVmzBiNHj1ajRs31ooVK9SyZUub8y5ZskSGYahv374evR53SU9P1/r1623aRowYoapVq5pUEQAAZZfp6wB5I29bB4jtLAAAuLwysw4QLu2PP/7Qq6++atN24403qnPnziZVBACAbyAAeakdO3bo3//+t03bM888owoVKphUEQAAvoMA5GUMw9C8efP066+/WtsOHOioO+64RWQfAABcgwDkRXJycjRt2jSbtocffthu5WsAAHBlCEBe4ttvv9WaNWus34eGhurJJ5+0eQIOAAC4BgHIZEVFRZoyZYrOnj1rbevatavi4uJMrAoAAN9GADLRsWPHNGfOHJu2xx9/XOHh4eYUBACAnyAAmeSzzz7T119/bf2+du3aevDBB2WxWEysCgAA/0AA8rBz587p5Zdftmnr3bu33UrWAADAfQhAHuQo/Dz99NMKDQ01qSIAAPwTAciDjh49av198+bNddddd5lYDQAA/osA5EH16tXTfffdp6uuukrVqlUzuxwAAPwWAciDLBaLGjVqZHYZAAD4PVbZ87CUFKlTpwu/AgAAcxCAPGzSJCkj48KvAADAHAQgDxs1SurY8cKvAADAHMwB8rCePS98AQAA89ADBAAA/A4BCAAA+B0CEAAA8DsEIAAA4HcIQAAAwO8QgAAAgN8hAAEAAL9DAAIAAH6HAAQAAPwOAQgAAPgdAhAAAPA7BCAAAOB3CEAAAMDvsBu8A4ZhSJJyc3NNrgQAAJTUxZ/bF3+OXwoByIHTp09LkqKiokyuBAAAOOv06dMKCwu75DEWoyQxyc8UFRXp6NGjqly5siwWi9nllFhubq6ioqJ0+PBhValSxexyfAr31j24r+7DvXUf7q37XOm9NQxDp0+fVu3atRUQcOlZPvQAORAQEKC6deuaXUapValShf8p3YR76x7cV/fh3roP99Z9ruTeXq7n5yImQQMAAL9DAAIAAH6HAORDgoODlZycrODgYLNL8TncW/fgvroP99Z9uLfu48l7yyRoAADgd+gBAgAAfocABAAA/A4BCAAA+B0CEAAA8DsE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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_33.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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ePFi/Pjjj0hISEB2djbGjh372PUREZH+OHDgADIyFsHW9ktERytXBy+22USUl5cjKipKkWOHh4fDxMTksffj5uaGs2fPAgBmzpwptjs7O+ODDz7Am2++if/7v/+DiYkJLC0toVKp4ODgINnH+PHjxT936tQJq1atQp8+fXD37l20atXqsWskIiLdVVZWJvld+eSTv8PXV7l6GKKo3giCIF4H6dChQ4iKikJWVhaKi4tRUVGB+/fv4969ezVeZDQ9PR0LFy7Ejz/+iNu3b4snq1+5cgVPPvlko4yDiIiant9//x2ffPKJpC0ycjJMTRUqCAxRTYaxsTHCw8MVO3Z9OHfuHFxcXJCdnY0XXngBkydPxocffghra2t8//33CA0NRVlZWbUhqqSkBP7+/vD398enn36Ktm3b4sqVK/D390dZWVm91EhERLonPj4eWVlZ4nMPDw+89NJLClb0AENUE6FSqeplSU0p33zzDX766Se8/fbbSE9Ph1qtRmxsLAwMHpx2t2vXLkl/ExMTVFZWStqysrJw8+ZNREdHw8nJCQBw6tSpxhkAERE1Offu3UNMTIykbfz48eLvCKUxRFGdlZaWIjc3F5WVlcjLy8PBgwcRFRWFF154ASEhIcjMzER5eTlWr16NF198EceOHcP69esl+3B2dsbdu3eRkpKCXr16oWXLlujQoQNMTEywevVqvPnmm8jMzMTixYsVGiURESkpMzMTn3/+uaTtvffeg5FR04ku/HYe1dnBgwfRrl07ODs7IyAgAN9++y1WrVqFvXv3wtDQEL169cLy5cuxZMkS9OzZE59++qnGSfO+vr548803ERwcjLZt22Lp0qVo27Yttm7dit27d+PJJ59EdHQ0li1bptAoiYhICYIgYOPGjZIA9eyzzyIiIqJJBSgAUAn18f120lBcXAxLS0sUFRXBwsJCsu3+/fu4dOkSXFxcYGZmplCFpAS+90RE1SsqKkJcXJykbfLkybCzs2u0Gmr6/f13TSvSERERUbN08uRJHDhwQHxubm6OsLAw8dzapoghioiIiBSjVquxfPlylJSUiG1Dhw5F3759FayqdhiiiIiIqNHt2wesXp2P/v3XSdpnzpwJS0tLhaqqG4YoIiIianSffZaC/v2/F587OjpiwoQJ4kWbdQFDFBERETWaPXvu4+zZJejc+a+2f//73+jZs6dy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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_34.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkEAAAHHCAYAAAC4BYz1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABRGElEQVR4nO3deVhUZf8G8HvYEZRVQBAF9yUVFCFb1HpJLBTNLDMTUVvM3MIM0AR3wEhxS8pSC1O0wuU1AxOhNFFLU98ScUNNk8VSUEjAmfP7w59T0xx0BmY4s9yf6+KqeebMM99zxJnb53nOOTJBEAQQERERmRkLqQsgIiIikgJDEBEREZklhiAiIiIySwxBREREZJYYgoiIiMgsMQQRERGRWWIIIiIiIrPEEERERERmiSGIiIiIzBJDEBEZLZlMhjlz5khdhlJUVBT8/PykLoOINMQQREQ6tX79eshkMuWPnZ0dOnTogEmTJqGkpESv733gwAHMmTMHN27c0Gm//fv3V9knV1dX9O7dG2vXroVCodDJeyxatAjbtm3TSV9EpBkrqQsgItM0b948+Pv74/bt29i/fz9Wr16NXbt24ZdffkGTJk108h5//fUXrKz+/hg7cOAA5s6di6ioKDg7O+vkPe5p2bIlEhMTAQBlZWX47LPPMH78eJw+fRpJSUkN7n/RokUYPnw4hg4d2uC+iEgzDEFEpBdPP/00goKCAACvvPIK3NzcsGTJEmzfvh0jR46sd78KhQI1NTWws7ODnZ2drsp9ICcnJ7z88svKx6+//jo6duyIlStXYv78+bC2tm60WohINzgdRkSN4sknnwQAFBUVAQBSUlLwyCOPwM3NDfb29ujVqxe+/PJLtdfJZDJMmjQJn3/+Obp27QpbW1tkZWUpn7u3JmjOnDmYMWMGAMDf3185dXXhwgX069cPPXr0EK2rY8eOCAsL03p/mjRpgocffhiVlZUoKyurc7vKykpMnz4dvr6+sLW1RceOHZGSkgJBEFT2sbKyEp9++qmy7qioKK1rIiLtcCSIiBrFuXPnAABubm4AgGXLliEiIgKjRo1CTU0NMjIy8Pzzz2Pnzp0IDw9Xee3evXuxZcsWTJo0Ce7u7qKLj4cNG4bTp09j06ZNWLp0Kdzd3QEAzZs3x+jRo/Hqq6/il19+wUMPPaR8zY8//ojTp0/j3Xffrdc+nT9/HpaWlnVOvQmCgIiICOTm5mL8+PEICAhAdnY2ZsyYgStXrmDp0qUAgPT0dLzyyisIDg7Ga6+9BgBo27ZtvWoiIi0IREQ6tG7dOgGAsGfPHqGsrEz47bffhIyMDMHNzU2wt7cXLl++LAiCIFRVVam8rqamRnjooYeEJ598UqUdgGBhYSH8+uuvau8FQEhISFA+fu+99wQAQlFRkcp2N27cEOzs7ISYmBiV9ilTpggODg7CrVu37rtP/fr1Ezp16iSUlZUJZWVlQkFBgTBlyhQBgDB48GDldmPGjBFat26tfLxt2zYBgLBgwQKV/oYPHy7IZDLh7NmzyjYHBwdhzJgx962DiHSL02FEpBehoaFo3rw5fH198eKLL8LR0RFbt26Fj48PAMDe3l657fXr11FeXo7HH38cR48eVeurX79+6NKlS71rcXJywpAhQ7Bp0yblNJRcLsfmzZsxdOhQODg4PLCPU6dOoXnz5mjevDk6d+6MFStWIDw8HGvXrq3zNbt27YKlpSWmTJmi0j59+nQIgoBvvvmm3vtERA3H6TAi0otVq1ahQ4cOsLKygqenJzp27AgLi7//3bVz504sWLAAx44dQ3V1tbJdJpOp9eXv79/geiIjI7F582bs27cPffv2xZ49e1BSUoLRo0dr9Ho/Pz+sWbNGedp/+/bt4eHhcd/XXLx4Ed7e3mjatKlKe+fOnZXPE5F0GIKISC+Cg4OVZ4f92759+xAREYG+ffvigw8+QIsWLWBtbY1169Zh48aNatv/c9SovsLCwuDp6YkNGzagb9++2LBhA7y8vBAaGqrR6x0cHDTeloiMA6fDiKjRffXVV7Czs0N2djbGjRuHp59+WicBQ2wU6R5LS0u89NJL+PLLL3H9+nVs27YNI0eOhKWlZYPfty6tW7fG77//jps3b6q0nzp1Svn8PfernYj0gyGIiBqdpaUlZDIZ5HK5su3ChQsNvmLyvbU9dV0xevTo0bh+/Tpef/113Lp1S+W6P/rwzDPPQC6XY+XKlSrtS5cuhUwmw9NPP61sc3Bw0PmVrono/jgdRkSNLjw8HEuWLMHAgQPx0ksvobS0FKtWrUK7du1w4sSJevfbq1cvAMCsWbPw4osvwtraGoMHD1aGo8DAQDz00EP44osv0LlzZ/Ts2VMn+1OXwYMH44knnsCsWbNw4cIF9OjRA7t378b27dsxbdo0ldPge/XqhT179mDJkiXw9vaGv78/QkJC9FofkbnjSBARNbonn3wSn3zyCYqLizFt2jRs2rQJycnJePbZZxvUb+/evTF//nwcP34cUVFRGDlypNqFDCMjIwFA4wXRDWFhYYEdO3Zg2rRp2LlzJ6ZNm4aTJ0/ivffew5IlS1S2XbJkCXr16oV3330XI0eOxOrVq/VeH5G5kwnCPy5bSkRk4pYtW4a33noLFy5cQKtWraQuh4gkxBBERGZDEAT06NEDbm5uyM3NlbocIpIY1wQRkcmrrKzEjh07kJubi//973/Yvn271CURkQHgSBARmbwLFy7A398fzs7OmDhxIhYuXCh1SURkABiCiIiIyCzx7DAiIiIySwxBREREZJa4MFqEQqHA77//jqZNm/JS9kREREZCEATcvHkT3t7eKjdsrgtDkIjff/8dvr6+UpdBRERE9fDbb7+hZcuWD9yOIUhE06ZNAdw9iM2aNZO4GiIiItJERUUFfH19ld/jD8IQJOLeFFizZs0YgoiIiIyMpktZuDCaiIiIzBJDEBEREZklhiAiIiIyS1wT1AByuRy1tbVSl0F6Zm1tDUtLS6nLICIiHTOIELRq1Sq89957KC4uRo8ePbBixQoEBweLbpuZmYlFixbh7NmzqK2tRfv27TF9+nSMHj1adPsJEybgww8/xNKlSzFt2jSd1CsIAoqLi3Hjxg2d9EeGz9nZGV5eXrxuFBGRCZE8BG3evBnR0dFIS0tDSEgIUlNTERYWhsLCQnh4eKht7+rqilmzZqFTp06wsbHBzp07MXbsWHh4eCAsLExl261bt+LgwYPw9vbWac33ApCHhweaNGnCL0YTJggCqqqqUFpaCgBo0aKFxBUREZGuSH4D1ZCQEPTu3RsrV64EcPdqzb6+vpg8eTJiY2M16qNnz54IDw/H/PnzlW1XrlxBSEgIsrOzER4ejmnTpmk8ElRRUQEnJyeUl5ernSIvl8tx+vRpeHh4wM3NTbOdJKP3xx9/oLS0FB06dODUGBGRgbrf97cYSRdG19TU4MiRIwgNDVW2WVhYIDQ0FPn5+Q98vSAIyMnJQWFhIfr27atsVygUGD16NGbMmIGuXbs+sJ/q6mpUVFSo/NTl3hqgJk2aPLBfMh33/ry5BoyIyHRIGoKuXbsGuVwOT09PlXZPT08UFxfX+bry8nI4OjrCxsYG4eHhWLFiBZ566inl88nJybCyssKUKVM0qiMxMRFOTk7KH01umcEpMPPCP28iItMj+Zqg+mjatCmOHTuGW7duIScnB9HR0WjTpg369++PI0eOYNmyZTh69KjGX1xxcXGIjo5WPr532W0iIiIyXZKGIHd3d1haWqKkpESlvaSkBF5eXnW+zsLCAu3atQMABAQEoKCgAImJiejfvz/27duH0tJStGrVSrm9XC7H9OnTkZqaigsXLqj1Z2trC1tbW93sFBERERkFSafDbGxs0KtXL+Tk5CjbFAoFcnJy0KdPH437USgUqK6uBgCMHj0aJ06cwLFjx5Q/3t7emDFjBrKzs3W+D8YkKioKMpkMMpkM1tbW8PT0xFNPPYW1a9dCoVBo3M/69evh7Oysv0KJiIgageTTYdHR0RgzZgyCgoIQHByM1NRUVFZWYuzYsQCAyMhI+Pj4IDExEcDd9TtBQUFo27YtqqursWvXLqSnp2P16tUAADc3N7WztqytreHl5YWOHTs27s4ZoIEDB2LdunWQy+UoKSlBVlYWpk6dii+//BI7duyAlZXkvxJERESNQvLbZowYMQIpKSmIj49HQEAAjh07hqysLOVi6UuXLuHq1avK7SsrKzFx4kR07doVjz76KL766its2LABr7zyilS7YFRsbW3h5eUFHx8f9OzZEzNnzsT27dvxzTffYP369QCAJUuWoFu3bnBwcICvry8mTpyIW7duAQDy8vIwduxYlJeXK0eV5syZAwBIT09HUFAQmjZtCi8vL7z00kvK6+sQEREBwKZNl/HiiweRmfmX1KVIf50gQ3S/6wzcvn0bRUVF8Pf3h52dHYC7p+pLceq0tbW1VmctRUVF4caNG9i2bZvacwEBAfD29sauXbuQmpqKHj16wN/fH+fPn8fEiRPx5JNP4oMPPkBNTQ1Wr16N+Ph4FBYWAgAcHR3h6OiItWvXokWLFujYsSNKS0sRHR0NZ2dn7Nq1S1e7LBmxP3ciItLOtm3bcPz4cQBAQcHTyMgQvztEfWl7nSDOfehAbW2tcrquMcXFxcHGxkYnfXXq1AknTpwAAJWLSvr5+WHBggWYMGECPvjgA9jY2MDJyQkymUxt8fq4ceOU/9+mTRssX74cvXv3xq1bt+Do6KiTOomIyPhUV1cjKSlJpe3557tIVM3fGIIIwN3RrHujSnv27EFiYiJOnTqFiooK3LlzB7dv30ZVVdV9LxJ55MgRzJkzB8ePH8f169eVi60vXbqELl2k/2UnIqLGl5+fj927d6u0zZw5E9bW1hJV9DeGIB2wtrZGXFycJO+rKwUFBfD398eFCxcwaNAgvPHGG1i4cCFcXV2xf/9+jB8/HjU1NXWGoMrKSoSFhSEsLAyff/45mjdvjkuXLiEsLAw1NTU6q5OIiIzH3LlzVR4HBQUhPDxcomrUMQTpgEwm09m0lBT27t2L//3vf3jrrbdw5MgRKBQKvP/++7CwuLtufsuWLSrb29jYQC6Xq7SdOnUKf/zxB5KSkpQXmvzpp58aZweIiMigXL9+HcuXL1dp+/HHSCQk+EtUkTiGIDNTXV2N4uJilVPkExMTMWjQIERGRuKXX35BbW0tVqxYgcGDB+OHH35AWlqaSh9+fn7Kq3X36NEDTZo0QatWrWBjY4MVK1ZgwoQJ+OWXX1RuaEtERObhvffeQ1VVlUpbTk4M3n7b8E4qkfwUeWpcWVlZaNGiBfz8/DBw4EDk5uZi+fLl2L59OywtLdGjRw8sWbIEycnJeOihh/D555+rLfp+5JFHMGHCBIwYMQLNmzfH4sWL0bx5c6xfvx5ffPEFunTpgqSkJKSkpEi0l0REJIW5c+eqBaCEhAR8/70dIiIkKuo+eIq8CG1PkSfTxz93IqK6FRQUqC2duHixN4YOfaZRww9PkSciIqJG8+/FzwAQExNjFP9gZAgiIiIirQmCgHnz5qm1BwYmwAjyDwCGICIiItLS119/rXYGcJcuXfD8889LVFH9MAQRERGRxsSmv7p3j8Wzz9pKUE3DMAQRERHRAykUCtFLnwQGJhjkmV+aYAgiIiKi+1q8eDH++kv1ru9VVc5ITp4qUUW6wRBEREREdRKb/tqzJxYzZhjf9Ne/MQQRERGRmpqaGrWL5QJAdnYCDhyQoCA9YAgiIiIiFWKjP8DdABQb28jF6BFDEOlcVFQUbty4gW3btgEA+vfvj4CAAKSmpta7T130QUREDyYWgGbNmgUrKyskJEhQkB7x3mFmJCoqCjKZTHnX+3bt2mHevHm4c+eOXt83MzNT45up5uXlQSaT4caNG/Xug4iItHfr1i3RAJSQkAArK9McMzHNvaI6DRw4EOvWrUN1dTV27dqFN998E9bW1oiLi1PZrqamBjY2Njp5T1dXV4Pog4iIxImFnz/+cMVPP002udGff+JIkJmxtbWFl5cXWrdujTfeeAOhoaHYsWMHoqKiMHToUCxcuBDe3t7o2LEjAOC3337DCy+8AGdnZ7i6umLIkCG4cOGCsj+5XI7o6Gg4OzvDzc0N77zzDv59T97+/ftj2rRpysfV1dWIiYmBr68vbG1t0a5dO3zyySe4cOECnnjiCQCAi4sLZDIZoqKiRPu4fv06IiMj4eLigiZNmuDpp5/GmTNnlM+vX78ezs7OyM7ORufOneHo6IiBAwfi6tWrym3y8vIQHBwMBwcHODs749FHH8XFixd1dKSJiIyDWAAKCIjHTz9NNqn1P2IYgsycvb09ampqAAA5OTkoLCzEt99+i507d6K2thZhYWFo2rQp9u3bhx9++EEZJu695v3338f69euxdu1a7N+/H3/++Se2bt163/eMjIzEpk2bsHz5chQUFODDDz+Eo6MjfH198dVXXwEACgsLcfXqVSxbtky0j6ioKPz000/YsWMH8vPzIQgCnnnmGdTW1iq3qaqqQkpKCtLT0/H999/j0qVLePvttwEAd+7cwdChQ9GvXz+cOHEC+fn5eO211yCTyRp8TImIjEFpaWmd019Dhshw4ACM9iKImuJ0mJkSBAE5OTnIzs7G5MmTUVZWBgcHB3z88cfKabANGzZAoVDg448/VoaDdevWwdnZGXl5eRgwYABSU1MRFxeHYcOGAQDS0tKQnZ1d5/uePn0aW7ZswbfffovQ0FAAQJs2bZTP35v28vDwgLOzs2gfZ86cwY4dO/DDDz/gkUceAQB8/vnn8PX1xbZt25T3rqmtrUVaWhratm0LAJg0aZLyZn8VFRUoLy/HoEGDlM937txZ+wNJRGSExMKPt7c3Xn31VQmqkQ5HgiS0YwfwyCN3/9tYdu7cCUdHR9jZ2eHpp5/GiBEjMGfOHABAt27dVNYBHT9+HGfPnkXTpk3h6OgIR0dHuLq64vbt2zh37hzKy8tx9epVhISEKF9jZWWFoKCgOt//2LFjsLS0RL9+/eq9DwUFBbCyslJ5Xzc3N3Ts2BEFBQXKtiZNmigDDgC0aNECpaWlAO6GraioKISFhWHw4MFYtmyZylQZEZGpEgtAgYEJZheAAI4ESSopCcjPv/vfxhpyfOKJJ7B69WrY2NjA29tbZcW/g4ODyra3bt1Cr1698Pnnn6v107x583q9v729fb1eVx/W1tYqj2Uymcp6pXXr1mHKlCnIysrC5s2b8e677+Lbb7/Fww8/3Gg1EhE1lnPnzmHDhg1q7cZ876+G4kiQhGJjgT590KgLzxwcHNCuXTu0atXqgac89uzZE2fOnIGHhwfatWun8uPk5AQnJye0aNEChw4dUr7mzp07OHLkSJ19duvWDQqFAt99953o8/dGouRyeZ19dO7cGXfu3FF53z/++AOFhYXo0qXLfffp3wIDAxEXF4cDBw7goYcewsaNG7V6PRGRMZg7d65aAPLx8UFCgvkGIIAhSFIRETDohWejRo2Cu7s7hgwZgn379qGoqAh5eXmYMmUKLl++DACYOnUqkpKSsG3bNpw6dQoTJ05Uu8bPP/n5+WHMmDEYN24ctm3bpuxzy5YtAIDWrVtDJpNh586dKCsrw61bt9T6aN++PYYMGYJXX30V+/fvx/Hjx/Hyyy/Dx8cHQ4YM0WjfioqKEBcXh/z8fFy8eBG7d+/GmTNnuC6IiExOXYufX3nlFQmqMSwMQVSnJk2a4Pvvv0erVq0wbNgwdO7cGePHj8ft27fRrFkzAMD06dMxevRojBkzBn369EHTpk3x7LPP3rff1atXY/jw4Zg4cSI6deqEV199FZWVlQDu/stk7ty5iI2NhaenJyZNmiTax7p169CrVy8MGjQIffr0gSAI2LVrl9oU2P327dSpU3juuefQoUMHvPbaa3jzzTfx+uuva3GEiIgM16FDh+pc/0N3yYR/X9SFUFFRAScnJ5SXlyu/7O+5ffs2ioqK4O/vDzs7O4kqpMbGP3ciMiZi4aesrB0GDBhlsLMPunC/728xXBhNRERkQuqa/iJ1DEFEREQm4JtvvsHhw4fV2hmA6sYQREREZOTERn9++ulhdO8eJkE1xoMhiIiIyIhx+qv+GILqievJzQv/vInI0KSkpCjPrP0nBiDNMQRp6d4p2FVVVY169WOSVlVVFQD1q1ATEUlBbPTn++8fh6vrkxJUY7wYgrRkaWkJZ2dn5T2omjRpwjuPmzBBEFBVVYXS0lI4OzvD0tJS6pKIyMxx+kt3GILqwcvLCwCUQYhMn7Ozs/LPnYhICmLhBwBqahiA6oshqB5kMhlatGgBDw8P1NbWSl0O6Zm1tTVHgIhIUmIB6LnnnsNDDz0kQTWmgyGoASwtLfnlSEREeiMIAubNm6fWzukv3WAIIiIiMkB1TX8xAOkOQxAREZGBEQtAGzeOQ2GhrwTVmC7eRZ6IiMhAKBQK0QCUkpKA4cMZgHTNIELQqlWr4OfnBzs7O4SEhIje++SezMxMBAUFwdnZGQ4ODggICEB6erry+draWsTExKBbt25wcHCAt7c3IiMj8fvvvzfGrhAREdXL3LlzMX/+fLX2hIQE3LwJLFwoQVEmTvLpsM2bNyM6OhppaWkICQlBamoqwsLCUFhYCA8PD7XtXV1dMWvWLHTq1Ak2NjbYuXMnxo4dCw8PD4SFhaGqqgpHjx7F7Nmz0aNHD1y/fh1Tp05FREQEfvrpJwn2kIiI6P7ERn8mTZoENzc3CaoxHzJB4vsBhISEoHfv3li5ciWAu0OBvr6+mDx5MmJjYzXqo2fPnggPDxdN0ADw448/Ijg4GBcvXkSrVq0e2F9FRQWcnJxQXl6OZs2aab4zREREWrh9+zaSk5PV2rn4uX60/f6WdCSopqYGR44cQVxcnLLNwsICoaGhyM/Pf+DrBUHA3r17UVhYKPpLdE95eTlkMhmcnZ1Fn6+urkZ1dbXycUVFheY7QUREVA91nf0VGMgA1FgkDUHXrl2DXC6Hp6enSrunpydOnTpV5+vKy8vh4+OD6upqWFpa4oMPPsBTTz0luu3t27cRExODkSNH1pkKExMT6/xlJCIi0jWx75xu3d7BsGG8J2VjknxNUH00bdoUx44dw61bt5CTk4Po6Gi0adMG/fv3V9mutrYWL7zwAgRBwOrVq+vsLy4uDtHR0crHFRUV8PXlKnwiItKt69evY/ny5WrtgYEJiIiQoCAzJ2kIcnd3h6WlJUpKSlTaS0pK7nufJgsLC7Rr1w4AEBAQgIKCAiQmJqqEoHsB6OLFi9i7d+995wZtbW1ha2vbsJ0hIiK6D1780PBIeoq8jY0NevXqhZycHGWbQqFATk4O+vTpo3E/CoVCZU3PvQB05swZ7Nmzh6vriYhIUmIBaNasWQxAEpN8Oiw6OhpjxoxBUFAQgoODkZqaisrKSowdOxYAEBkZCR8fHyQmJgK4u34nKCgIbdu2RXV1NXbt2oX09HTldFdtbS2GDx+Oo0ePYufOnZDL5SguLgZw9/R6GxsbaXaUiIjMzm+//Ya1a9eqtTP8GAbJQ9CIESNQVlaG+Ph4FBcXIyAgAFlZWcrF0pcuXYKFxd8DVpWVlZg4cSIuX74Me3t7dOrUCRs2bMCIESMAAFeuXMGOHTsA3J0q+6fc3Fy1dUNERET6wOkvwyf5dYIMEa8TREREDSEWgOLj4yGTySSoxnwY1XWCiIiITMnRo0fx3//+V62doz+GiSGIiIhIB+qa/qqpYQAyVAxBREREDSQWgDj6Y/gYgoiIiOopOzsbBw8eVGtnADIODEFERET1wLO/jB9DEBERkZbEAhBvfWF8GIKIiIg09Mknn+Dy5ctq7Rz9MU4MQURERBoQG/1xcHDA22+/LUE1pAsMQURERA/As79ME0MQERFRHRYtWoTa2lq1dl77xzQwBBEREYkQG/0pKemMgQNf4AJoE8EQRERE9C+c/jIPDEFERET/j9f+MS8MQURERBAPQE888QT69u0rQTXUGBiCiIjI7HH6yzwxBBERkdni9Jd5YwgiIiKzJBaATpwYhq++6iZBNSQFC6kLICIiakyCIIgGoOzsBIwZwwBkTjgSREREZuN+01+cATM/DEFERGQWxALQ+PHj0bJlSwmqIUPAEERERCatpqYGiYmJau2BgQlg/jFvDEFERGSy6pr+CgxM4K0viCGIiIhMk1gAmjp1KpydnRu/GDJIDEFERGRSysvLkZqaqtYeGJgA5h/6J4YgIiIyGbz4IWmDIYiIiEyCWACKjY2Fra2tBNWQMWAIIiIio/b7779jzZo1au0c/aEHYQgiIiKjxekvagiGICIiMkrit76YjQMHeEco0gxDEBERGZXCwkJkZGSotWdnJyA2VoKCyGgxBBERkdG438UPOQNG2mIIIiIioyAWgLj2hxqCIYiIiAxafn4+du/erdbOAEQNxRBEREQGi2d/kT4xBBERkUESC0AZGQkoKJCgGDJJDEFERGRQtm/fjmPHjqm1Z2cnIDm58esh08UQREREBkNs9Mfe3h7vvPMOz/4inWMIIiIig8Czv6ixMQQREZGk0tLSUFJSotYeGMgARPrFEERERJIRG/1p164dRo0aJUE1ZG4YgoiISBKc/iKpGcRd5latWgU/Pz/Y2dkhJCQEhw8frnPbzMxMBAUFwdnZGQ4ODggICEB6errKNoIgID4+Hi1atIC9vT1CQ0Nx5swZfe8GERFpYO7cuQxAZBAkD0GbN29GdHQ0EhIScPToUfTo0QNhYWEoLS0V3d7V1RWzZs1Cfn4+Tpw4gbFjx2Ls2LHIzs5WbrN48WIsX74caWlpOHToEBwcHBAWFobbt2831m4REZEIsfDz2GOPMQCRJGSCIAhSFhASEoLevXtj5cqVAACFQgFfX19MnjwZsRreDrhnz54IDw/H/PnzIQgCvL29MX36dLz99tsAgPLycnh6emL9+vV48cUXH9hfRUUFnJycUF5ejmbNmtV/54iISImjP6Rv2n5/SzoSVFNTgyNHjiA0NFTZZmFhgdDQUOTn5z/w9YIgICcnB4WFhejbty8AoKioCMXFxSp9Ojk5ISQkpM4+q6urUVFRofJDRES6Udf0F8/+IqlJujD62rVrkMvl8PT0VGn39PTEqVOn6nxdeXk5fHx8UF1dDUtLS3zwwQd46qmnAADFxcXKPv7d573n/i0xMbHO+9MQEVH9iX22Dh06FD169JCgGiJVRnl2WNOmTXHs2DHcunULOTk5iI6ORps2bdC/f/969RcXF4fo6Gjl44qKCvj6+uqoWiIi8yMIAubNm6fWzukvMiSShiB3d3dYWlqqXSSrpKQEXl5edb7OwsIC7dq1AwAEBASgoKAAiYmJ6N+/v/J1JSUlaNGihUqfAQEBov3Z2trC1ta2gXtDRERA3Xd+5/QXGRpJ1wTZ2NigV69eyMnJUbYpFArk5OSgT58+GvejUChQXV0NAPD394eXl5dKnxUVFTh06JBWfRIRkfbEAlBtbRQSEhIQESFBQUT3Ifl0WHR0NMaMGYOgoCAEBwcjNTUVlZWVGDt2LAAgMjISPj4+SExMBHB3/U5QUBDatm2L6upq7Nq1C+np6Vi9ejUAQCaTYdq0aViwYAHat28Pf39/zJ49G97e3hg6dKhUu0lEZNLkcjkWLFig1s7pLzJkkoegESNGoKysDPHx8SguLkZAQACysrKUC5svXboEC4u/B6wqKysxceJEXL58Gfb29ujUqRM2bNiAESNGKLd55513UFlZiddeew03btzAY489hqysLNjZ2TX6/hERmbq6pr8YgMjQSX6dIEPE6wQREWlGLAB9//0UTJ3qwukvanTafn9LPhJERETG56+//sLixYvV2gMDE8ABIDIWDEFERKQVTn+RqWAIIiIijYkFoJiYGK65JKPEEERERA/0559/YsWKFWrtHP0hY8YQRERE98XpLzJVDEFERFQnsQAUEPAuhgyxlKAaIt1iCCIiIjUXL17E+vXr1do5+kOmhCGIiIhUcPqLzAVDEBERKYlPf8VjyBCZBNUQ6RdDEBER4fjx49i2bZtaO0d/yJQxBBERmTlOf5G5YggiIjJjYgGI4YfMBUMQEZEZ2rt3L/bt26fWzgBE5oQhiIjIzIiN/lhbW2PmzJkSVEMkHYYgIiIzwukvor8xBBERmYFNmzbh9OnTau0MQGTOGIKIiEyc2OiPn58fxowZI0E1RIZD6xBkaWmJq1evwsPDQ6X9jz/+gIeHB+Ryuc6KIyKihuH0F1HdtA5BgiCItldXV8PGxqbBBRERUcMtWbIEN2/eVGtnACL6m8YhaPny5QAAmUyGjz/+GI6Ojsrn5HI5vv/+e3Tq1En3FRIRkVbERn9CQkIwcOBACaohMlwah6ClS5cCuDsSlJaWBktLS+VzNjY28PPzQ1pamu4rJCIijXH6i0hzGoegoqIiAMATTzyBzMxMuLi46K0oIiLSDm99QaQ9rdcE5ebm6qMOIiKqJ7EA9Ouv4diyJUiCaoiMh9YhaNy4cfd9fu3atfUuhoiItCMWgLKzExAbK0ExREZG6xB0/fp1lce1tbX45ZdfcOPGDTz55JM6K4yIiOp2v+kvzoARaUbrELR161a1NoVCgTfeeANt27bVSVFERFQ3sQA0cuRIdOjQQYJqiIyXTKjrwj9aKiwsRP/+/XH16lVddCepiooKODk5oby8HM2aNZO6HCIiAHf/wTl//ny1di5+JrpL2+9vnd0249y5c7hz546uuiMion/g2V9Euqd1CIqOjlZ5LAgCrl69iq+//pr3oSEi0gOxADRhwgR4enpKUA2R6dA6BP38888qjy0sLNC8eXO8//77DzxzjIiINFdTU4PExES1do7+EOkGrxNERGSAOP1FpH/1XhNUWlqKwsJCAEDHjh3V7ipPRET1IxaApk+frnLPRiJqOAttX1BRUYHRo0fD29sb/fr1Q79+/eDj44OXX34Z5eXl+qiRiMgs3Lx5UzQABQYmMAAR6YHWI0Gvvvoqfv75Z3z99dfo06cPACA/Px9Tp07F66+/joyMDJ0XSURk6jj9RdT4tA5BO3fuRHZ2Nh577DFlW1hYGNasWYOBAwfqtDgiInMgFoC+/XYW3nlHZ1cxISIRWv8Nc3Nzg5OTk1q7k5MT7yxPRKSFq1ev4qOPPlJr560viBqH1iHo3XffRXR0NNLT0+Hl5QUAKC4uxowZMzB79mydF0hEZIrqmv4KDGT6IWosWt82IzAwEGfPnkV1dTVatWoFALh06RJsbW3Rvn17lW2PHj2qu0obEW+bQUT6JH7n93gcOCCToBoi06H322YMGTIEMhn/ohIRaevUqVPYvHmzWvumTQlYvFiCgojMnM5uoGpKOBJERLrGs7+I9E/vI0Ft2rTBjz/+CDc3N5X2GzduoGfPnjh//ry2XRIRmTSxAMTwQyQ9rS+WeOHCBcjlcrX26upqXL58WesCVq1aBT8/P9jZ2SEkJASHDx+uc9s1a9bg8ccfh4uLC1xcXBAaGqq2/a1btzBp0iS0bNkS9vb26NKlC9LS0rSui4iooQ4cOMAARGTANB4J2rFjh/L/s7OzVU6Tl8vlyMnJgb+/v1ZvvnnzZkRHRyMtLQ0hISFITU1FWFgYCgsLRW/DkZeXh5EjR+KRRx6BnZ0dkpOTMWDAAPz666/w8fEBcPcu93v37sWGDRvg5+eH3bt3Y+LEifD29kZERIRW9RER1Renv4gMn8Zrgiws7g4ayWQy/Psl1tbW8PPzw/vvv49BgwZp/OYhISHo3bs3Vq5cCQBQKBTw9fXF5MmTERsb+8DXy+VyuLi4YOXKlYiMjAQAPPTQQxgxYoTK6fq9evXC008/jQULFmhUF9cEEVFDcPSHSBrafn9rPB2mUCigUCjQqlUrlJaWKh8rFApUV1ejsLBQqwBUU1ODI0eOIDQ09O9iLCwQGhqK/Px8jfqoqqpCbW0tXF1dlW2PPPIIduzYgStXrkAQBOTm5uL06dMYMGBAnf1UV1ejoqJC5YeISFvbtm1jACIyIlovjC4qKtLJG1+7dg1yuRyenp4q7Z6enjh16pRGfcTExMDb21slSK1YsQKvvfYaWrZsCSsrK1hYWGDNmjXo27dvnf0kJibWOXRNRKQJsc8QDw8PvPHGGxJUQ0Sa0DoEzZs3777Px8fH17sYbSQlJSEjIwN5eXmws7NTtq9YsQIHDx7Ejh070Lp1a3z//fd488031cLSP8XFxSE6Olr5uKKiAr6+vnrfByIyDRz9ITJOWoegrVu3qjyura1FUVERrKys0LZtW41DkLu7OywtLVFSUqLSXlJSorwdR11SUlKQlJSEPXv2oHv37sr2v/76CzNnzsTWrVsRHh4OAOjevTuOHTuGlJSUOkOQra0tbG1tNaqbiOielJQUVFZWqrXX1DAAERkDrUPQzz//rNZWUVGBqKgoPPvssxr3Y2Njg169eiEnJwdDhw4FcHfdUU5ODiZNmlTn6xYvXoyFCxciOzsbQUFBKs/V1taitrZWuYj7HktLSygUCo1rIyJ6ELHRn3bt2mHUqFESVENE9aF1CBLTrFkzzJ07F4MHD8bo0aM1fl10dDTGjBmDoKAgBAcHIzU1FZWVlRg7diwAIDIyEj4+PkhMTAQAJCcnIz4+Hhs3boSfnx+Ki4sBAI6OjnB0dESzZs3Qr18/zJgxA/b29mjdujW+++47fPbZZ1iyZIkudpWIiNNfRCZCJyEIAMrLy1FeXq7Va0aMGIGysjLEx8ejuLgYAQEByMrKUi6WvnTpksqozurVq1FTU4Phw4er9JOQkIA5c+YAADIyMhAXF4dRo0bhzz//ROvWrbFw4UJMmDChYTtIRGaP1/4hMi1a3zts+fLlKo8FQcDVq1eRnp6Ofv36YePGjTotUAq8ThAR/ZtYADpzpj9eeKEfeB1WIsOg93uHLV26VOWxhYUFmjdvjjFjxiAuLk7b7oiIDB6nv4hMk2TXCSIiMnSc/iIybfVaE3Tjxg2cPXsWwN2zIZydnXVZExGR5MQC0LBhw9CtWzcJqiEifdDqLvIXLlxAeHg43N3dERISgpCQELi7u2PQoEG4cOGCnkokImo8giDUOf3FAERkWjQeCfrtt9/w8MMPw9raGvPnz0fnzp0BACdPnsTq1avRp08f/Pjjj2jZsqXeiiUi0idOfxGZF43PDhs/fjzOnj2L7OxsldtUAHev1Dxw4EC0b98eH3/8sV4KbUw8O4zI/IgFoA4dxmPkSP7DjshY6O3ssKysLGzevFktAAGAvb095s+fjxdffFG7aomIJHbnzh0sXLhQrZ2jP0SmT+MQdO3aNfj5+dX5fJs2bfDnn3/qoiYiokbB6S8i86ZxCGrRogVOnjxZ55qfX3755YE3PiUiMhRiAWjatGlwcnKSoBoikoLGZ4cNHToUb7/9NsrKytSeKy0tRUxMjPJGqEREhqqqqqrOs78YgIjMi8YLo69fv46QkBAUFxfj5ZdfRqdOnSAIAgoKCrBx40Z4eXnh4MGDcHV11XfNeseF0USmidNfRKZNbwujXVxccOjQIcycORMZGRm4ceMGAMDZ2RkvvfQSFi1aZBIBiIhMk1gAio2Nha2trQTVEJEh0PoGqsDdi4ndmxZr3rw5ZDKZzguTEkeCiEzHtWvXsGrVKrV2jv4QmR6930AVAGQyGTw8POrzUiKiRsPpLyK6n3qFICIiQycWgGbPng0LC63uFkREJowhiIhMyvnz55Genq7WztEfIvo3hiAiMhmc/iIibTAEEZFJqOvaP0REddEoBC1fvlzjDqdMmVLvYoiItHX06FH897//VWtnACKiB9HoFHl/f3/NOpPJcP78+QYXJTWeIk9kHDj9RUT/pJdT5IuKihpcGBGRLnH6i4gaqt5rgmpqalBUVIS2bdvCyopLi4iocezduxf79u1Taw8MZAAiIu1onV6qqqowefJkfPrppwCA06dPo02bNpg8eTJ8fHwQGxur8yKJiADx0R9XV1dMnjxZgmqIyNhpfdWwuLg4HD9+HHl5ebCzs1O2h4aGYvPmzTotjojonrqmvxiAiKi+tB4J2rZtGzZv3oyHH35Y5Z5hXbt2xblz53RaHBHRli1bUFBQoNbO9T9E1FBah6CysjLR+4ZVVlaa3I1UiUhaYqM/Xbp0wfPPPy9BNURkarSeDgsKCsLXX3+tfHwv+Hz88cfo06eP7iojIrNW1/QXAxAR6YrWI0GLFi3C008/jZMnT+LOnTtYtmwZTp48iQMHDuC7777TR41EZEbS0tJQUlKi1s6zv4hI17QOQY899hiOHTuGpKQkdOvWDbt370bPnj2Rn5+Pbt266aNGIjITYqM///nPf/DYY49JUA0RmTqNrhhtbnjFaKLGx4sfElFD6eWK0RUVFRoXwNBARNqo69YXnP4iIn3TKAQ5OztrfOaXXC5vUEFEZD7EAtDw4cPRtWtXCaohInOjUQjKzc1V/v+FCxcQGxuLqKgo5dlg+fn5+PTTT5GYmKifKonIpAiCgHnz5qm1c/qLiBqT1muC/vOf/+CVV17ByJEjVdo3btyIjz76CHl5ebqsTxJcE0SkP/eb/oqIaORiiMikaPv9rXUIatKkCY4fP4727durtJ8+fRoBAQGoqqrSrmIDxBBEpB9iASg//xVkZflIUA0RmRptv7+1vliir68v1qxZo9b+8ccfw9fXV9vuiMgMKBQK0QCUkZGAiRMZgIhIGlpfJ2jp0qV47rnn8M033yAkJAQAcPjwYZw5cwZfffWVzgskIuNW1/RXQkICuASIiKSk9UjQM888gzNnzmDw4MH4888/8eeff2Lw4ME4ffo0nnnmGX3USERGSiwA5eVF8/R3IjIIvFiiCK4JImqY2tpaLFq0SK2dZ38RkT7p5WKJ/3bjxg188sknKCgoAAB07doV48aNg5OTU326IyITcr/pLyIiQ6L1SNBPP/2EsLAw2NvbIzg4GADw448/4q+//lLeR8zYcSSIqH7EAtCePbHYt89WgmqIyNzo/eywt956CxEREbhw4QIyMzORmZmJoqIiDBo0CNOmTdO64FWrVsHPzw92dnYICQnB4cOH69x2zZo1ePzxx+Hi4gIXFxeEhoaKbl9QUICIiAg4OTnBwcEBvXv3xqVLl7SujYg0U1VVVefZXzNmMAARkWHSeiTI3t4eP//8Mzp16qTSfvLkSQQFBWl1naDNmzcjMjISaWlpCAkJQWpqKr744gsUFhbCw8NDbftRo0bh0UcfxSOPPAI7OzskJydj69at+PXXX+Hjc/c023PnziE4OBjjx4/HyJEj0axZM/z66694+OGHRfsUw5EgIs1x+ouIDIXeL5bo6emJ9PR0DBgwQKU9OzsbkZGRKCkp0bivkJAQ9O7dGytXrgRw91oivr6+mDx5MmJjYx/4erlcDhcXF6xcuRKRkZEAgBdffBHW1tZIT0/XYq9UMQQRaUYsAM2ePRsWFloPMhMRNZjep8NGjBiB8ePHY/Pmzfjtt9/w22+/ISMjQ/RWGvdTU1ODI0eOIDQ09O9iLCwQGhqK/Px8jfqoqqpCbW0tXF1dAdwNUV9//TU6dOiAsLAweHh4ICQkBNu2bbtvP9XV1aioqFD5IaK6/fnnn6IBKCEhgQGIiIyG1meHpaSkQCaTITIyEnfu3AEAWFtb44033kBSUpLG/Vy7dg1yuRyenp4q7Z6enjh16pRGfcTExMDb21sZpEpLS3Hr1i0kJSVhwYIFSE5ORlZWFoYNG4bc3Fz069dPtJ/ExMQ6h/SJSJXY3xUbGxvExcVJUA0RUf1pHYJsbGywbNkyJCYm4ty5cwCAtm3bokmTJjov7n6SkpKQkZGBvLw82NnZAbg7EgQAQ4YMwVtvvQUACAgIwIEDB5CWllZnCIqLi0N0dLTycUVFBW8BQiRCLADFx8dDJpNJUA0RUcPU6zpBwN0bqXbr1q3eb+zu7g5LS0u1NUQlJSXw8vK672tTUlKQlJSEPXv2oHv37ip9WllZoUuXLirbd+7cGfv376+zP1tbW9ja8gwWorpcuXIFH3/8sVo7Fz8TkTHTOASNGzdOo+3Wrl2r0XY2Njbo1asXcnJyMHToUAB3R3JycnIwadKkOl+3ePFiLFy4ENnZ2QgKClLrs3fv3igsLFRpP336NFq3bq1RXUSkSmz0p2XLlhg/frwE1RAR6Y7GIWj9+vVo3bo1AgMDoas7bURHR2PMmDEICgpCcHAwUlNTUVlZibFjxwIAIiMj4ePjg8TERABAcnIy4uPjsXHjRvj5+aG4uBgA4OjoCEdHRwDAjBkzMGLECPTt2xdPPPEEsrKy8N///hd5eXk6qZnInNS1+JmIyBRoHILeeOMNbNq0CUVFRRg7dixefvll5VlZ9TVixAiUlZUhPj4excXFCAgIQFZWlnKx9KVLl1TONFm9ejVqamowfPhwlX4SEhIwZ84cAMCzzz6LtLQ0JCYmYsqUKejYsSO++uorPPbYYw2qlcicnD59Gps2bVJrZwAiIlOi1XWCqqurkZmZibVr1+LAgQMIDw/H+PHjMWDAAJNaGMnrBJE5Exv96dGjh3LamojIUOn9Yon3XLx4EevXr8dnn32GO3fu4Ndff1VOSRk7hiAyV5z+IiJj1ih3kQfuXthQJpNBEATI5fL6dkNEBuCnn37C119/rdbOAEREpkyrEPTP6bD9+/dj0KBBWLlyJQYOHMirxBIZKbHRn/79+9d5XS0iIlOhcQiaOHEiMjIy4Ovri3HjxmHTpk1wd3fXZ21EpGec/iIic6bxmiALCwu0atUKgYGB910EnZmZqbPipMI1QWTq9uzZgx9++EGtnQGIiIyZ3tYERUZGmtQZYETmSmz0JyIiAoGBgRJUQ0QkHa0ulkhExo3TX0REf6v32WFEZDy2bNmCgoICtXYGICIyZwxBRCZObPTn5ZdfRtu2bSWohojIcDAEEZkwTn8REdWNIYjIBH3wwQcoKytTa2cAIiL6G0MQkYkRG/15/fXX4eXlJUE1RESGiyGIyEQIgoB58+aptXP0h4hIHEMQkQkQG/0BGICIiO6HIYjIyIkFoGnTpsHJyUmCaoiIjAdDEJGRksvlWLBggVo7R3+IiDTDEERkhDj9RUTUcAxBREZGLADFxMTAzs5OgmqIiIwXQxCRkbh9+zaSk5PV2jn6Q0RUPwxBREaA019ERLrHEERk4MQC0KxZs2Blxb++REQNwU9RIgNVXl6O1NRUtXaO/hAR6QZDEJEB4vQXEZH+MQQRGRixABQfHw+ZTCZBNUREposhiMhAlJSUIC0tTa2doz9ERPrBEERkAMRGf9zc3DBp0iQJqiEiMg8MQUQSEwtAHP0hItI/hiAiiVy6dAnr1q1Ta2cAIiJqHAxBRBIQG/3p2LEjXnzxRQmqISIyTwxBRI1MLAAFBiYgIkKCYoiIzBhDEFEjOXnyJL744gu1dk5/ERFJgyGIqBGIjf7069cP/fv3b/xiiIgIAEMQkd7x7C8iIsPEEESkJ4cOHUJWVpZaOwMQEZFhYAgi0gOx0Z+IiAgEBgZKUA0REYlhCCLSMU5/EREZB4YgIh3Jzs7GwYMH1doZgIiIDBNDEJEOiI3+jBo1Cu3atZOgGiIi0gRDEFEDcfqLiMg4MQQR1dOOHTvw888/q7UzABERGQeGIKJ6EBv9+eGHCZg0yVOCaoiIqD4spC4AAFatWgU/Pz/Y2dkhJCQEhw8frnPbNWvW4PHHH4eLiwtcXFwQGhp63+0nTJgAmUyG1NRUPVRO5kYQhDqnv3bv9uT9v4iIjIjkIWjz5s2Ijo5GQkICjh49ih49eiAsLAylpaWi2+fl5WHkyJHIzc1Ffn4+fH19MWDAAFy5ckVt261bt+LgwYPw9vbW926QGfjss88wb948tXZOfxERGSeZIAiClAWEhISgd+/eWLlyJQBAoVDA19cXkydPRmxs7ANfL5fL4eLigpUrVyIyMlLZfuXKFYSEhCA7Oxvh4eGYNm0apk2bplFNFRUVcHJyQnl5OZo1a1av/SLTIjb6M23aNDg5OUlQDRERidH2+1vSkaCamhocOXIEoaGhyjYLCwuEhoYiPz9foz6qqqpQW1sLV1dXZZtCocDo0aMxY8YMdO3a9YF9VFdXo6KiQuWHCLj7u1TX9BcDEBGRcZN0YfS1a9cgl8vh6am6mNTT0xOnTp3SqI+YmBh4e3urBKnk5GRYWVlhypQpGvWRmJgo+kVH5i01NRXl5eVq7Zz+IiIyDUZ9dlhSUhIyMjKQl5cHOzs7AMCRI0ewbNkyHD16FDKZTKN+4uLiEB0drXxcUVEBX19fvdRMxkEsFL/zzjuwt7eXoBoiItIHSafD3N3dYWlpiZKSEpX2kpISeHl53fe1KSkpSEpKwu7du9G9e3dl+759+1BaWopWrVrBysoKVlZWuHjxIqZPnw4/Pz/RvmxtbdGsWTOVHzJPd+7cqXP6iwGIiMi0SDoSZGNjg169eiEnJwdDhw4FcHcNRk5ODiZNmlTn6xYvXoyFCxciOzsbQUFBKs+NHj1aZWoMAMLCwjB69GiMHTtW5/tApuO9995DVVWVWjunv4iITJPk02HR0dEYM2YMgoKCEBwcjNTUVFRWVioDS2RkJHx8fJCYmAjg7nqf+Ph4bNy4EX5+figuLgYAODo6wtHREW5ubnBzc1N5D2tra3h5eaFjx46Nu3NkNMRGf779dib277eWoBoiImoMkoegESNGoKysDPHx8SguLkZAQACysrKUi6UvXboEC4u/Z+1Wr16NmpoaDB8+XKWfhIQEzJkzpzFLJxNw+/ZtJCcnq7VnZydAgys0EBGREZP8OkGGiNcJMg9ioz++vr4YN26cBNUQEVFDafv9LflIEJEUxALQ7NmzVUYdiYjItDEEkVmpqKjA0qVL1dq5+JmIyPwwBJHZEBv96datG4YNGyZBNUREJDWGIDILYgEoPj5e4wtqEhGR6WEIIpN27do1rFq1Sq2d019ERMQQRCZLbPTn0UcfVbuYJhERmSeGIDJJdd36goiI6B6GIDIpV69exUcffaTWHhjIAERERKoYgshkiI3+DB06FD169JCgGiIiMnQMQWQSOP1FRETaYggio1ZUVITPPvtMrZ0BiIiIHoQhiIyW2OjPqFGj0K5dOwmqISIiY8MQREaJ019ERNRQDEFkVH799Vd8+eWXau0MQEREpC2GIDIaYqM/48ePR8uWLSWohoiIjB1DEBkFTn8REZGuMQSRQTt8+DC++eYbtXYGICIiaiiGIDJYYqM/b775Jtzd3SWohoiITA1DEBkkTn8REZG+MQSRQdm7dy/27dun1s4AREREusYQRAZDbPTnrbfeQrNmzSSohoiITB1DEElOEATMmzdPrZ2jP0REpE8MQSSp7du349ixYypt1tbWmDlzpjQFERGR2WAIIsmITX+98847sLe3l6AaIiIyNwxB1OjkcjkWLFig1s7pLyIiakwMQdSo0tPTcf78eZU2Dw8PvPHGGxJVRERE5oohiBqN2PTXzJkzYW1tLUE1RERk7hiCSO9qa2uxaNEitXZOfxERkZQYgkivPv/8c5w9e1alrbS0PVatekmiioiIiO5iCCK9EZv+ys6ejdhYCwmqISIiUsUQRDp3+/ZtJCcnq7UnJCSAM2BERGQoGIJIpz744AOUlZWptPXv3x/9+vWTqCIiIiJxDEGkM2LTX/Hx8ZDJZBJUQ0REdH8MQdRgN2/exJIlS9TaefYXEREZMoYgapDExETU1NSotD3zzDPo3bu3RBURERFphiGI6k1s+oujP0REZCwYgkhrlZWVSElJUWtnACIiImPCEERayczMxP/+9z+VtuHDh6Nr164SVURERFQ/DEGkMbHpr5qaBDD/EBGRMWIIogcqLy9HamqqSlvz5s0xceJEaQoiIiLSAYYguq/09HScP39epe3NN9+Eu7u7RBURERHphkHcxGnVqlXw8/ODnZ0dQkJCcPjw4Tq3XbNmDR5//HG4uLjAxcUFoaGhKtvX1tYiJiYG3bp1g4ODA7y9vREZGYnff/+9MXbFpMydO1ctACUkJDAAERGRSZA8BG3evBnR0dFISEjA0aNH0aNHD4SFhaG0tFR0+7y8PIwcORK5ubnIz8+Hr68vBgwYgCtXrgAAqqqqcPToUcyePRtHjx5FZmYmCgsLERER0Zi7ZdSuXbumtv7Hz8+PZ38REZFJkQmCIEhZQEhICHr37o2VK1cCABQKBXx9fTF58mTExsY+8PVyuRwuLi5YuXIlIiMjRbf58ccfERwcjIsXL6JVq1YP7LOiogJOTk4oLy9Hs2bNtNshI5eWloaSkhKVtqlTp8LZ2VmagoiIiDSk7fe3pGuCampqcOTIEcTFxSnbLCwsEBoaivz8fI36qKqqQm1tLVxdXevcpry8HDKZrM4v8urqalRXVysfV1RUaLYDJoYXPyQiInMi6XTYtWvXIJfL4enpqdLu6emJ4uJijfqIiYmBt7c3QkNDRZ+/ffs2YmJiMHLkyDpTYWJiIpycnJQ/vr6+2u2Ikbt69apaAOratSsDEBERmTSjPjssKSkJGRkZyMvLg52dndrztbW1eOGFFyAIAlavXl1nP3FxcYiOjlY+rqioMJsglJKSgsrKSpW26dOnw9HRUaKKiIiIGoekIcjd3R2WlpZqa1BKSkrg5eV139empKQgKSkJe/bsQffu3dWevxeALl68iL179953btDW1ha2trb12wkjxukvIiIyZ5JOh9nY2KBXr17IyclRtikUCuTk5KBPnz51vm7x4sWYP38+srKyEBQUpPb8vQB05swZ7NmzB25ubnqp31hdvHhRLQAFBQUxABERkVmRfDosOjoaY8aMQVBQEIKDg5GamorKykqMHTsWABAZGQkfHx8kJiYCAJKTkxEfH4+NGzfCz89PuXbI0dERjo6OqK2txfDhw3H06FHs3LkTcrlcuY2rqytsbGyk2VEDITb6ExMTIzqdSEREZMokD0EjRoxAWVkZ4uPjUVxcjICAAGRlZSkXS1+6dAkWFn8PWK1evRo1NTUYPny4Sj8JCQmYM2cOrly5gh07dgAAAgICVLbJzc1F//799bo/hkoQBMybN0+tnaM/RERkriS/TpAhMrXrBF29ehUfffSRSlvfvn3xxBNPSFQRERGR7hnVdYJI/z777DMUFRWptH377SwkJPCPnoiIzBu/CU2U2PSXpaU9du16BxpciJuIiMjkMQSZoEuXLmHdunUqbSNHjkSHDh3w7rsSFUVERGRgGIJMzIcffqh2te3Zs2erLC4nIiIihiCToVAoMH/+fJU2Nzc3TJo0SaKKiIiIDBtDkAk4d+4cNmzYoNIWGRkJf39/iSoiIiIyfAxBRm7p0qVqd72Pj4+HTCaTqCIiIiLjwBBkpORyORYsWKDS5uPjg1deeUWiioiIiIwLQ5ARKigowJYtW1Taxo8fj5YtW0pUERERkfFhCDIy33//PXJzc1XaOP1FRESkPYYgIyGXy5GUlIQ7d+4o20pL22PVqpckrIqIiMh4MQQZgZKSEqSlpam05eZOR3S0o0QVERERGT+GIAOXk5OD/fv3Kx/7+flhzJgx4M3fiYiIGoYhyEDduXMHCxcuVGl7/vnn0aVLF4kqIiIiMi0MQQboypUr+Pjjj1XaZsyYgSZNmkhUERERkelhCDIwWVlZOHTokPJxhw4dMHLkSAkrIiIiMk0MQQaitrYWixYtUml76aWX0L59e4kqIiIiMm0MQQbg0qVLWLdunUpbTEwM7OzsJKqIiIjI9DEESWzHjh34+eeflY8feughPPfccxJWREREZB4YgiRSU1ODxMRElbbRo0ejTZs2ElVERERkXhiCJHD+/Hmkp6ertMXFxcHGxkaiioiIiMwPQ1Aj++qrr/DLL78oHwcGBiIiIkLCioiIiMwTQ1AjOnv2rEoAGjt2LFq1aiVhRURERObLQuoCzEmTJk1w587dKa9vv53JAERERCQhjgQ1Im9vb/TuHYekJCA2VupqiIiIzBtDUCOLiLj7Q0RERNLidBgRERGZJYYgIiIiMksMQURERGSWGIKIiIjILDEEERERkVliCCIiIiKzxBBEREREZokhiIiIiMwSQxARERGZJYYgIiIiMksMQURERGSWGIKIiIjILDEEERERkVniXeRFCIIAAKioqJC4EiIiItLUve/te9/jD8IQJOLmzZsAAF9fX4krISIiIm3dvHkTTk5OD9xOJmgal8yIQqHA77//jqZNm0Imk0ldTqOqqKiAr68vfvvtNzRr1kzqcgwGj4s6HhNxPC7ieFzE8biIq+9xEQQBN2/ehLe3NywsHrzihyNBIiwsLNCyZUupy5BUs2bN+BdSBI+LOh4TcTwu4nhcxPG4iKvPcdFkBOgeLowmIiIis8QQRERERGaJIYhU2NraIiEhAba2tlKXYlB4XNTxmIjjcRHH4yKOx0VcYx0XLowmIiIis8SRICIiIjJLDEFERERklhiCiIiIyCwxBBEREZFZYggycatWrYKfnx/s7OwQEhKCw4cP17ntmjVr8Pjjj8PFxQUuLi4IDQ1V2b62thYxMTHo1q0bHBwc4O3tjcjISPz++++NsSs6pcvj8m8TJkyATCZDamqqHirXL30cl4KCAkRERMDJyQkODg7o3bs3Ll26pM/d0DldH5dbt25h0qRJaNmyJezt7dGlSxekpaXpezd0TpvjkpmZiaCgIDg7O8PBwQEBAQFIT09X2UYQBMTHx6NFixawt7dHaGgozpw5o+/d0DldHhdT+dzV9e/KPzXoM1cgk5WRkSHY2NgIa9euFX799Vfh1VdfFZydnYWSkhLR7V966SVh1apVws8//ywUFBQIUVFRgpOTk3D58mVBEAThxo0bQmhoqLB582bh1KlTQn5+vhAcHCz06tWrMXerwXR9XP4pMzNT6NGjh+Dt7S0sXbpUz3uiW/o4LmfPnhVcXV2FGTNmCEePHhXOnj0rbN++vc4+DZE+jsurr74qtG3bVsjNzRWKioqEDz/8ULC0tBS2b9/eWLvVYNoel9zcXCEzM1M4efKkcPbsWSE1NVWwtLQUsrKylNskJSUJTk5OwrZt24Tjx48LERERgr+/v/DXX3811m41mK6Piyl87urjd+Wehn7mMgSZsODgYOHNN99UPpbL5YK3t7eQmJio0evv3LkjNG3aVPj000/r3Obw4cMCAOHixYsNrrex6Ou4XL58WfDx8RF++eUXoXXr1kYXgvRxXEaMGCG8/PLLOq+1MenjuHTt2lWYN2+eynY9e/YUZs2apZuiG0FDj4sgCEJgYKDw7rvvCoIgCAqFQvDy8hLee+895fM3btwQbG1thU2bNumucD3T9XERY2yfu/o6Jrr4zOV0mImqqanBkSNHEBoaqmyzsLBAaGgo8vPzNeqjqqoKtbW1cHV1rXOb8vJyyGQyODs7N7TkRqGv46JQKDB69GjMmDEDXbt21Xnd+qaP46JQKPD111+jQ4cOCAsLg4eHB0JCQrBt2zZ97IJe6Ov35ZFHHsGOHTtw5coVCIKA3NxcnD59GgMGDND5PuhDQ4+LIAjIyclBYWEh+vbtCwAoKipCcXGxSp9OTk4ICQnR+FhLTR/HRYwxfe7q65jo6jOXIchEXbt2DXK5HJ6enirtnp6eKC4u1qiPmJgYeHt7q/zy/tPt27cRExODkSNHGs2N//R1XJKTk2FlZYUpU6botN7Goo/jUlpailu3biEpKQkDBw7E7t278eyzz2LYsGH47rvvdL4P+qCv35cVK1agS5cuaNmyJWxsbDBw4ECsWrXqvl98hqS+x6W8vByOjo6wsbFBeHg4VqxYgaeeegoAlK9ryLGWmj6Oy78Z2+euvo6Jrj5zeRd5EpWUlISMjAzk5eXBzs5O7fna2lq88MILEAQBq1evlqBCaYgdlyNHjmDZsmU4evQoZDKZxBVKQ+y4KBQKAMCQIUPw1ltvAQACAgJw4MABpKWloV+/fpLV21jq+nu0YsUKHDx4EDt27EDr1q3x/fff480337zvPzpMQdOmTXHs2DHcunULOTk5iI6ORps2bdC/f3+pS5OUpsfFnD5373dMdPmZyxBkotzd3WFpaYmSkhKV9pKSEnh5ed33tSkpKUhKSsKePXvQvXt3tefv/UW8ePEi9u7daxT/GrlHH8dl3759KC0tRatWrZRtcrkc06dPR2pqKi5cuKDTfdAHfRwXd3d3WFlZoUuXLirbd+7cGfv379dd8Xqkj+Py119/YebMmdi6dSvCw8MBAN27d8exY8eQkpJiFCGovsfFwsIC7dq1A3A3EBcUFCAxMRH9+/dXvq6kpAQtWrRQ6TMgIED3O6EH+jgu9xjr564+jokuP3M5HWaibGxs0KtXL+Tk5CjbFAoFcnJy0KdPnzpft3jxYsyfPx9ZWVkICgpSe/7eX8QzZ85gz549cHNz00v9+qKP4zJ69GicOHECx44dU/54e3tjxowZyM7O1tu+6JI+jouNjQ169+6NwsJClfbTp0+jdevWut0BPdHHcamtrUVtbS0sLFQ/fi0tLZWjZ4auvsfl3xQKBaqrqwEA/v7+8PLyUumzoqIChw4d0qpPKenjuADG/bmrj2Oi089crZdSk9HIyMgQbG1thfXr1wsnT54UXnvtNcHZ2VkoLi4WBEEQRo8eLcTGxiq3T0pKEmxsbIQvv/xSuHr1qvLn5s2bgiAIQk1NjRARESG0bNlSOHbsmMo21dXVkuxjfej6uIgxxrPD9HFcMjMzBWtra+Gjjz4Szpw5I6xYsUKwtLQU9u3b1+j7V1/6OC79+vUTunbtKuTm5grnz58X1q1bJ9jZ2QkffPBBo+9ffWl7XBYtWiTs3r1bOHfunHDy5EkhJSVFsLKyEtasWaPcJikpSXB2dha2b98unDhxQhgyZIhRniKvy+NiCp+7+vhd+bf6fuYyBJm4FStWCK1atRJsbGyE4OBg4eDBg8rn+vXrJ4wZM0b5uHXr1gIAtZ+EhARBEAShqKhI9HkAQm5ubuPuWAPp8riIMcYQJAj6OS6ffPKJ0K5dO8HOzk7o0aOHsG3btkbaG93R9XG5evWqEBUVJXh7ewt2dnZCx44dhffff19QKBSNuFcNp81xmTVrlvL3wMXFRejTp4+QkZGh0p9CoRBmz54teHp6Cra2tsJ//vMfobCwsLF2R2d0eVxM5XNX178r/1bfz1yZIAiCdmNHRERERMaPa4KIiIjILDEEERERkVliCCIiIiKzxBBEREREZokhiIiIiMwSQxARERGZJYYgIiIiMksMQURERGSWGIKIyORERUVh6NChau15eXmQyWS4ceMG8vLyMGTIELRo0QIODg4ICAjA559/3vjFEpFkGIKIyCwdOHAA3bt3x1dffYUTJ05g7NixiIyMxM6dO6UujYgaiZXUBRARSWHmzJkqj6dOnYrdu3cjMzMTgwYNkqgqImpMHAkiIvp/5eXlcHV1lboMImokHAkiIpO0c+dOODo6qrTJ5fI6t9+yZQt+/PFHfPjhh/oujYgMBEMQEZmkJ554AqtXr1ZpO3ToEF5++WW1bXNzczF27FisWbMGXbt2bawSiUhiDEFEZJIcHBzQrl07lbbLly+rbffdd99h8ODBWLp0KSIjIxurPCIyAFwTRERmKy8vD+Hh4UhOTsZrr70mdTlE1Mg4EkREZik3NxeDBg3C1KlT8dxzz6G4uBgAYGNjw8XRRGaCI0FEZJY+/fRTVFVVITExES1atFD+DBs2TOrSiKiRyARBEKQugoiIiKixcSSIiIiIzBJDEBEREZklhiAiIiIySwxBREREZJYYgoiIiMgsMQQRERGRWWIIIiIiIrPEEERERERmiSGIiIiIzBJDEBEREZklhiAiIiIySwxBREREZJb+D0ADw6dQPKYjAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_35.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_36.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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EDp27Ij58+fD19dXGbqIiIxJ06hQnz59MGbMGD6YlchE6ByIysrKIJfL1dplMhkuX76scwFRUVG4du0akpKSUF5ejsDAQOTk5Cgvir548SJsbO5f+11TU4MpU6bg8uXLcHR0RPfu3bFlyxZERUUpt3nzzTdRU1ODV155BTdv3sSAAQOQk5MDBwcHnesjImoOTWEoO5tPqCcyNVqvQ7Rnzx4AwJgxY7Bp0yaVW+/lcjny8vLw1VdfKR/nYc64DhERNVdDawvdW2iRU2RE+tec72+tA9G9URqJRIK/72Jra4uAgAC88847GDFihE4FmCIGIiJqDk1hKCIiAo899pgI1RBZj+Z8f2s9ZXbvYsCOHTvihx9+QOvWrXWrkojICnBtISLzpPM1RKWlpYaog4jIrPHxG0TmTedAtGjRokbfT0pKanIxRETmSFMYmjBhArp27SpCNUTUFDoHop07d6q8rq+vR2lpKVq0aIHOnTszEBGR1ZDL5Vi8eLFaO0eFiMyPzoHop59+Umurrq5GbGwsxo4dq5eiiIhMHafIiCyL1neZPcj//vc/jBw5EmVlZfroTlS8y4yIGqMpDL366qvw8vISoRoiuscod5k9SFVVFaqqqvTVHRGRyfnzzz+xbNkytfagoGQwCxGZN50D0cqVK1VeC4KAq1evYvPmzRg2bJjeCiMiMiWcIiOybDoHohUrVqi8trGxQZs2bRATE4PExES9FUZEZCo0haFZs2ahZcuWIlRDRIbAdYiIiBpw/fp1rF69Wq2do0JElqdJ1xDdvHkT586dAwB06dIFbm5u+qyJiEh0nCIjsi46BaKysjK89tpryM3NVT7PTCKRYOjQocjMzERAQIAhaiQiMipNYWjevHmQSqUiVENExqB1ILp06RIeffRR2NraIiUlBT169AAAnDp1CmvWrEG/fv3www8/oF27dgYrlojIkM6fP48tW7aotXNUiMjyab0O0aRJk3Du3Dnk5ubCwcFB5b0///wTQ4cOxUMPPYR169YZpFBj4jpERNaHU2RE5s8o6xDl5ORg+/btamEIABwdHZGSkoJnn31Wp19ORGQKNIWh7OxkLF0qQjFEJAqtA9H169cbvUaoU6dO+P333/VRExGRURw5cgRffvmlWntycjI4MERkXbQORG3btsWpU6cavEbo5MmT8PHx0VthRESGxCkyIvorrQPR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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_37.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkIAAAHHCAYAAABTMjf2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABJYklEQVR4nO3deVyVdd7/8fcBBdyAVFZFccktTQ2ToBqtLDRzy2bMLJfUGpdKbYM2LctlynV0dCZTm8qlpjRuM81cKylTx1IDXAlLQUwBwQSE6/cHP8+ELB7wHM72ej4e58Gc61zL53juc5933+u7mAzDMAQAAOCGPOxdAAAAgL0QhAAAgNsiCAEAALdFEAIAAG6LIAQAANwWQQgAALgtghAAAHBbBCEAAOC2CEIAAMBtEYQAuASTyaQpU6bYuwyz4cOHKzw83N5lALgKghAAm1m+fLlMJpP54ePjo1atWmn8+PFKT0+36bV37typKVOmKDMz06rn7d69e4n3VL9+fd18881aunSpioqKrHKNadOmae3atVY5F4CK1bB3AQBc32uvvaZmzZrp4sWL+vrrr7Vo0SKtX79eBw4cUO3ata1yjd9//101avzv/6Xt3LlTr776qoYPHy5/f3+rXOOyxo0ba/r06ZKkjIwM/fvf/9bIkSN16NAhzZgx45rPP23aND3wwAPq37//NZ8LQMUIQgBsrlevXurSpYskadSoUWrQoIFmz56tTz/9VIMHD67yeYuKipSfny8fHx/5+PhYq9yr8vPz08MPP2x+/vjjj6t169ZasGCBpk6dqpo1a1ZbLQCuDbfGAFS7O++8U5J0/PhxSdJbb72l6OhoNWjQQLVq1VJERIT+85//lDrOZDJp/Pjx+uCDD3TDDTfI29tbGzZsML92uY/QlClT9Oyzz0qSmjVrZr6NlZKSom7duqljx45l1tW6dWvFxMRU+v3Url1bt9xyi3Jzc5WRkVHufrm5uXr66acVFhYmb29vtW7dWm+99ZYMwyjxHnNzc/Xuu++a6x4+fHilawJgGVqEAFS7o0ePSpIaNGggSZo3b5769u2rIUOGKD8/X6tWrdKf//xnrVu3Tr179y5x7JYtW/Thhx9q/PjxatiwYZkdku+//34dOnRIK1eu1Jw5c9SwYUNJUkBAgB555BGNHj1aBw4cUPv27c3HfP/99zp06JBeeumlKr2nY8eOydPTs9zbcIZhqG/fvtq6datGjhypTp06aePGjXr22Wf166+/as6cOZKk9957T6NGjVLXrl312GOPSZJatGhRpZoAWMAAABtZtmyZIcn48ssvjYyMDOPEiRPGqlWrjAYNGhi1atUyfvnlF8MwDOPChQsljsvPzzfat29v3HnnnSW2SzI8PDyMgwcPlrqWJGPy5Mnm52+++aYhyTh+/HiJ/TIzMw0fHx/j+eefL7H9ySefNOrUqWPk5ORU+J66detmtGnTxsjIyDAyMjKMxMRE48knnzQkGX369DHvN2zYMKNp06bm52vXrjUkGa+//nqJ8z3wwAOGyWQyjhw5Yt5Wp04dY9iwYRXWAcA6uDUGwOZ69OihgIAAhYWF6cEHH1TdunW1Zs0aNWrUSJJUq1Yt877nzp1TVlaWbr/9du3du7fUubp166Z27dpVuRY/Pz/169dPK1euNN+SKiws1OrVq9W/f3/VqVPnqudISkpSQECAAgIC1LZtW/39739X7969tXTp0nKPWb9+vTw9PfXkk0+W2P7000/LMAx9/vnnVX5PAKqOIGShHTt2qE+fPgoNDZXJZLL50FZLrjd8+PASw3hNJpN69uxp07qAqli4cKE2bdqkrVu36qefftKxY8dK9MVZt26dbrnlFvn4+Kh+/foKCAjQokWLlJWVVepczZo1u+Z6hg4dqtTUVH311VeSpC+//FLp6el65JFHLDo+PDxcmzZt0pdffqmvv/5aaWlpWrdunfkWXFl+/vlnhYaGql69eiW2t23b1vw6gOpHHyEL5ebmqmPHjnr00Ud1//33O8z1evbsqWXLlpmfe3t727w2oLK6du1qHjV2pa+++kp9+/bVn/70J/3jH/9QSEiIatasqWXLlmnFihWl9v9j61FVxcTEKCgoSO+//77+9Kc/6f3331dwcLB69Ohh0fF16tSxeF8Ajo0gZKFevXqpV69e5b6el5enF198UStXrlRmZqbat2+vmTNnqnv37ja53mXe3t4KDg6u0jUAR/Dxxx/Lx8dHGzduLBHk/xjwq8JkMpX7mqenpx566CEtX75cM2fO1Nq1azV69Gh5enpe0zUr0rRpU3355Zc6f/58iVahpKQk8+uW1A7Aurg1ZiXjx49XQkKCVq1apR9//FF//vOf1bNnTx0+fNim1922bZsCAwPVunVrjRkzRr/99ptNrwdYm6enp0wmkwoLC83bUlJSrvn28+W+PuXNLP3II4/o3Llzevzxx5WTk1NiXiBbuPfee1VYWKgFCxaU2D5nzhyZTKYS/+FTp04dq8+IDaBstAhZQWpqqpYtW6bU1FSFhoZKkp555hlt2LBBy5Yt07Rp02xy3Z49e+r+++9Xs2bNdPToUb3wwgvq1auXEhISbPpftoA19e7dW7Nnz1bPnj310EMP6fTp01q4cKFatmypH3/8scrnjYiIkCS9+OKLevDBB1WzZk316dPHHJA6d+6s9u3b66OPPlLbtm110003WeX9lKdPnz6644479OKLLyolJUUdO3bUF198oU8//VQTJkwoMUQ+IiJCX375pWbPnq3Q0FA1a9ZMkZGRNq0PcFe0CFnB/v37VVhYqFatWqlu3brmx/bt283zpSQlJZXq2HzlIzY2tlLXffDBB9W3b1916NBB/fv317p16/T9999r27ZtNniXgG3ceeedeuedd5SWlqYJEyZo5cqVmjlzpgYMGHBN57355ps1depU/fDDDxo+fLgGDx5carLDoUOHSpLFnaSvhYeHh+Lj4zVhwgStW7dOEyZM0E8//aQ333xTs2fPLrHv7NmzFRERoZdeekmDBw/WokWLbF4f4K5MhvGHKU1hEZPJpDVr1pjXAVq9erWGDBmigwcPlmqJqVu3roKDg5Wfn69jx45VeN4GDRooICDgqterSEBAgF5//XU9/vjjFr8fwF3NmzdPEydOVEpKipo0aWLvcgDYAbfGrKBz584qLCzU6dOndfvtt5e5j5eXl9q0aWPTOn755Rf99ttvCgkJsel1AFdgGIbeeecddevWjRAEuDGCkIVycnJ05MgR8/Pjx49r3759ql+/vlq1aqUhQ4Zo6NChmjVrljp37qyMjAxt3rxZN954Y6klAq71ek2aNFFOTo5effVVDRw4UMHBwTp69Kiee+45tWzZskprJQHuIjc3V/Hx8dq6dav279+vTz/91N4lAbAnu85r7US2bt1qSCr1uDwNfn5+vvHKK68Y4eHhRs2aNY2QkBBjwIABxo8//miT6124cMG45557jICAAKNmzZpG06ZNjdGjRxtpaWlWeseAazp+/LghyfD39zdeeOEFe5cDwM7oIwQAANyWU40aq8oyF9u2bdNNN90kb29vtWzZUsuXL7d5nQAAwDk4VRC6vOzEwoUL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11a4/7Zt22QymUo90tLSqqdgNzF9+nTdfPPNqlevngIDA9W/f38lJydf9biPPvpIbdq0kY+Pjzp06KD169dXQ7XupSqfzfLly0t9Z3x8fKqpYvewaNEi3XjjjeYJ+aKiovT5559XeAzfl+pR2c/GVb8vBCEHlZubq44dO2rhwoWVOi45OVmnTp0yPwIDA21UoXvavn27xo0bp2+//VabNm1SQUGB7rnnHuXm5pZ7zM6dOzV48GCNHDlS//3vf9W/f3/1799fBw4cqMbKXV9VPhupeMbcP35nfv7552qq2D00btxYM2bM0J49e7R7927deeed6tevnw4ePFjm/nxfqk9lPxvJRb8vBhyeJGPNmjUV7rN161ZDknHu3LlqqQnFTp8+bUgytm/fXu4+f/nLX4zevXuX2BYZGWk8/vjjti7PrVny2Sxbtszw8/OrvqJgGIZhXHfddcaSJUvKfI3vi31V9Nm46veFFiEX06lTJ4WEhOjuu+/WN998Y+9yXF5WVpYkqX79+uXuk5CQoB49epTYFhMTo4SEBJvW5u4s+WwkKScnR02bNlVYWNhV/2sY16awsFCrVq1Sbm6uoqKiytyH74t9WPLZSK75fSEIuYiQkBAtXrxYH3/8sT7++GOFhYWpe/fu2rt3r71Lc1lFRUWaMGGCbr31VrVv377c/dLS0hQUFFRiW1BQEP23bMjSz6Z169ZaunSpPv30U73//vsqKipSdHS0fvnll2qs1vXt379fdevWlbe3t/76179qzZo1ateuXZn78n2pXpX5bFz1+8Lq8y6idevWat26tfl5dHS0jh49qjlz5ui9996zY2Wua9y4cTpw4IC+/vpre5eCK1j62URFRZX4r9/o6Gi1bdtW//znPzV16lRbl+k2WrdurX379ikrK0v/+c9/NGzYMG3fvr3cH1xUn8p8Nq76fSEIubCuXbvyI20j48eP17p167Rjxw41bty4wn2Dg4OVnp5eYlt6erqCg4NtWaLbqsxnc6WaNWuqc+fOOnLkiI2qc09eXl5q2bKlJCkiIkLff/+95s2bp3/+85+l9uX7Ur0q89lcyVW+L9wac2H79u1TSEiIvctwKYZhaPz48VqzZo22bNmiZs2aXfWYqKgobd68ucS2TZs2VXgfHpVXlc/mSoWFhdq/fz/fGxsrKipSXl5ema/xfbGvij6bK7nK94UW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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_38.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_39.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABTp0lEQVR4nO3deVxU9f4/8NdhGxBlUNkJQdwXxEIlwFxSQytLbTEqRVP7VloZWYq3ck3UbmalqderaLlmWXnTaylqXUVzIW5iZkEgmqBiOSOLiPD5/eGPuY4sMsMs58x5PR+PeTycs837jGc47/NZJSGEABEREZGKONk7ACIiIiJbYwJEREREqsMEiIiIiFSHCRARERGpDhMgIiIiUh0mQERERKQ6TICIiIhIdZgAERERkeowASIiIiLVYQJERLI1c+ZMSJLUoG0lScLMmTOtGk+/fv3Qr18/2R6PiBqOCRAR3daaNWsgSZLh5eLiguDgYIwZMwZ//PGHvcOTnbCwMKPvy8/PD/fccw+++OILixy/tLQUM2fOxL59+yxyPCI1YgJERA02e/ZsfPLJJ1i+fDmGDBmCdevWoW/fvrh69apVPu+NN95AWVmZVY5tbd27d8cnn3yCTz75BFOmTMG5c+cwYsQILF++vNHHLi0txaxZs5gAETWCi70DICLlGDJkCHr06AEAGD9+PHx8fLBgwQJs27YNjz/+uMU/z8XFBS4uyvwzFRwcjKefftrwfvTo0Wjbti3ee+89PPfcc3aMjIgAlgARUSPcc889AICcnByj5b/88gseffRRtGjRAu7u7ujRowe2bdtmtE1FRQVmzZqFdu3awd3dHS1btkTv3r2xa9cuwza1tQEqLy/HK6+8Al9fXzRr1gwPPfQQzp49WyO2MWPGICwsrMby2o6ZmpqKe++9F35+ftBoNOjcuTOWLVtm0ndxOwEBAejUqRNyc3Pr3e7ChQsYN24c/P394e7ujsjISKxdu9awPi8vD76+vgCAWbNmGarZrN3+icjRKPPRiohkIS8vDwDQvHlzw7ITJ04gLi4OwcHBmDZtGjw9PfHpp59i2LBh+PzzzzF8+HAANxKRlJQUjB8/Hr169YJer8fRo0eRkZGBQYMG1fmZ48ePx7p16/Dkk08iNjYWe/bswQMPPNCo81i2bBm6dOmChx56CC4uLvjXv/6FF154AVVVVZg4cWKjjl2toqICZ86cQcuWLevcpqysDP369UN2djYmTZqE1q1bY8uWLRgzZgwuX76Ml19+Gb6+vli2bBmef/55DB8+HCNGjAAAdOvWzSJxEqmGICK6jdTUVAFA7N69W1y8eFGcOXNGfPbZZ8LX11doNBpx5swZw7YDBgwQERER4urVq4ZlVVVVIjY2VrRr186wLDIyUjzwwAP1fu6MGTPEzX+mMjMzBQDxwgsvGG335JNPCgBixowZhmWJiYkiNDT0tscUQojS0tIa28XHx4vw8HCjZX379hV9+/atN2YhhAgNDRX33XefuHjxorh48aL473//K5544gkBQLz44ot1Hm/x4sUCgFi3bp1h2bVr10RMTIxo2rSp0Ov1QgghLl68WON8icg0rAIjogYbOHAgfH19ERISgkcffRSenp7Ytm0b7rjjDgDAn3/+iT179uDxxx/HlStXUFRUhKKiIly6dAnx8fH47bffDL3GvL29ceLECfz2228N/vwdO3YAAF566SWj5ZMnT27UeXl4eBj+rdPpUFRUhL59++L333+HTqcz65jffvstfH194evri8jISGzZsgWjRo3CggUL6txnx44dCAgIQEJCgmGZq6srXnrpJRQXF+O7774zKxYiqolVYETUYEuXLkX79u2h0+mwevVqfP/999BoNIb12dnZEELgzTffxJtvvlnrMS5cuIDg4GDMnj0bDz/8MNq3b4+uXbti8ODBGDVqVL1VOadPn4aTkxPatGljtLxDhw6NOq8DBw5gxowZOHjwIEpLS43W6XQ6aLVak48ZHR2NuXPnQpIkNGnSBJ06dYK3t3e9+5w+fRrt2rWDk5Pxs2mnTp0M64nIMpgAEVGD9erVy9ALbNiwYejduzeefPJJnDp1Ck2bNkVVVRUAYMqUKYiPj6/1GG3btgUA9OnTBzk5Ofjqq6/w7bff4p///Cfee+89LF++HOPHj290rHUNoFhZWWn0PicnBwMGDEDHjh2xaNEihISEwM3NDTt27MB7771nOCdT+fj4YODAgWbtS0TWxwSIiMzi7OyMlJQU9O/fH0uWLMG0adMQHh4O4Ea1TUNu/i1atMDYsWMxduxYFBcXo0+fPpg5c2adCVBoaCiqqqqQk5NjVOpz6tSpGts2b94cly9frrH81lKUf/3rXygvL8e2bdvQqlUrw/K9e/feNn5LCw0NxU8/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RhbkLEmYN6IrG0ITEd0GG0ETKdzInq3Qp70v8opKEebThMkPEVEDMAEicgCBWg8mPkREJmAVGBEREakOEyAiIiJSHSZAREREZLYCXRnSc4oUN/4Y2wARERGRWZQ8Ej1LgIiIiMhkSh+JngkQERERmUzpI9EzASIiIiKTKX0keiZAREREZDKlj0TPRtBERERkFiWPRM8EiIiIiMym1JHoWQVGREREqsMEiIiIiFSHCRARERGpDhMgIiIiUh0mQERERKQ6TICIiIhIdZgAERERkeowASIiIiLVYQJEREREqsMEiIiIiFSHCRARERGpDhMgIiIiUh0mQERERKQ6TICIiIhIdZgAERERkeowASIiIiLVYQJEREREqsMEiIiIiFSHCRARERGpDhMgIiIiUh0mQERERKQ6dk2Avv/+ewwdOhRBQUGQJAlffvmlYV1FRQWmTp2KiIgIeHp6IigoCKNHj8a5c+fqPebMmTMhSZLRq2PHjlY+EyIiIlISuyZAJSUliIyMxNKlS2usKy0tRUZGBt58801kZGRg69atOHXqFB566KHbHrdLly4oKCgwvPbv32+N8ImIiEihXOz54UOGDMGQIUNqXafVarFr1y6jZUuWLEGvXr2Qn5+PVq1a1XlcFxcXBAQEWDRWIiIichyKagOk0+kgSRK8vb3r3e63335DUFAQwsPD8dRTTyE/P982ARIREZEi2LUEyBRXr17F1KlTkZCQAC8vrzq3i46Oxpo1a9ChQwcUFBRg1qxZuOeee5CVlYVmzZrVuk95eTnKy8sN7/V6vcXjJyIiIvlQRAJUUVGBxx9/HEIILFu2rN5tb65S69atG6KjoxEaGopPP/0U48aNq3WflJQUzJo1y6IxExERkXzJvgqsOvk5ffo0du3aVW/pT228vb3Rvn17ZGdn17lNcnIydDqd4XXmzJnGhk1EREQyJusEqDr5+e2337B79260bNnS5GMUFxcjJycHgYGBdW6j0Wjg5eVl9CIiIiLHZdcEqLi4GJmZmcjMzAQA5ObmIjMzE/n5+aioqMCjjz6Ko0ePYv369aisrERhYSEKCwtx7do1wzEGDBiAJUuWGN5PmTIF3333HfLy8pCeno7hw4fD2dkZCQkJtj49IiIikim7tgE6evQo+vfvb3iflJQEAEhMTMTMmTOxbds2AED37t2N9tu7dy/69esHAMjJ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vv32W5GTkyN+/vln8fe//124uLiIlStX2usUGs3U7+BWSu8FZur5z5o1S3zzzTciJydHHDt2TDzxxBPC3d1dnDhxwl6n0Gimfgf5+fmiWbNmYtKkSeLUqVPi66+/Fn5+fmLu3Ln2OoVGMfc30Lt3bzFy5Ehbh2txpp7/jBkzRLNmzcTGjRvF77//Lr799lvRpk0b8fjjj1s1TiZAVvDhhx+KVq1aCTc3N9GrVy9x6NAhw7q+ffuKxMREw/vc3FwBoMarb9++tg/cQkw5/9DQ0FrPf8aMGbYP3EJMOf+//e1vom3btsLd3V00b95cxMTEiE2bNtkhassy5Tu4ldITICFMO//JkycbtvX39xf333+/yMjIsEPUlmXqNZCeni6io6OFRqMR4eHh4u233xbXr1+3cdSWY+r5//LLLwKA+Pbbb20cqXWYcv4VFRVi5syZok2bNsLd3V2EhISIF154Qfz1119WjVESwprlS0RERETywzZAREREpDpMgIiIiEh1mAARERGR6jABIiIiItVhAkRERESqwwSIiIiIVIcJEBEREakOEyAiIjsaM2YMhg0bZu8wiFSHCRAR1WrMmDGQJMnwatmyJQYPHoyffvrJ3qFZxM3nVv3q3bu31T4vLy8PkiQhMzPTaPn777+PNWvWWO1ziah2TICIqE6DBw9GQUEBCgoKkJaWBhcXFzz44IP2DstiUlNTDedXUFCAbdu21bpdRUWF1WLQarXw9va22vGJqHZMgIioThqNBgEBAQgICED37t0xbdo0nDlzBhcvXsS9996LSZMmGW1/8eJFuLm5GWaCDgsLw5w5c5CQkABPT08EBwdj6dKlRvssWrQIERER8PT0REhICF544QUUFxcb1p8+fRpDhw5F8+bN4enpiS5dumDHjh0AgL/++gtPPfUUfH194eHhgXbt2iE1NbXB5+ft7W04v4CAALRo0cJQUrN582b07dsX7u7uWL9+PS5duoSEhAQEBwejSZMmiIiIwMaNG42OV1VVhYULF6Jt27bQaDRo1aoV3n77bQBA69atAQB33nknJElCv379ANSsAisvL8dLL70EPz8/uLu7o3fv3jhy5Ihh/b59+yBJEtLS0tCjRw80adIEsbGxOHXqVIPPm4iYABFRAxUXF2PdunVo27YtWrZsifHjx2PDhg0oLy83bLNu3ToEBwfj3nvvNSx75513EBkZiR9//BHTpk3Dyy+/jF27dhnWOzk54YMPPsCJEyewdu1a7NmzB6+//rph/cSJE1FeXo7vv/8ex48fx4IFC9C0aVMAwJtvvomff/4Z//73v3Hy5EksW7YMPj4+Fjnf6lhPnjyJ+Ph4XL16FVFRUdi+fTuysrLw7LPPYtSoUTh8+LBhn+TkZMyfP98Q14YNG+Dv7w8Ahu12796NgoICbN26tdbPff311/H5559j7dq1yMjIQNu2bREfH48///zTaLu//e1vePfdd3H06FG4uLjgmWeesch5E6mGVadaJSLFSkxMFM7OzsLT01N4enoKACIwMFAcO3ZMCCFEWVmZaN68udi8ebNhn27duomZM2ca3oeGhorBgwcbHXfkyJFiyJAhdX7uli1bRMuWLQ3vIyIijI55s6FDh4qxY8eadX4AhLu7u+H8PD09xRdffCFyc3MFALF48eLbHuOBBx4Qr776qhBCCL1eLzQajVi5cmWt21Yf98cffzRanpiYKB5++GEhhBDFxcXC1dVVrF+/3rD+2rVrIigoSCxcuFAIIcTevXsFALF7927DNtu3bxcARFlZmSlfAZGqsQSIiOrUv39/ZGZmIjMzE4cPH0Z8fDyGDBmC06dPw93dHaNGjcLq1asBABkZGcjKysKYMWOMjhETE1Pj/cmTJw3vd+/ejQEDBiA4OBjNmjXDqFGjcOnSJZSWlgIAXnrpJcydOxdxcXGYMWOGUSPs559/Hps2bUL37t3x+uuvIz093aTze++99wznl5mZiUGDBhnW9ejRw2jbyspKzJkzBxEREWjRogWaNm2Kb775Bvn5+QCAkydPory8HAMGDDAphpvl5OSgoqICcXFxhmWurq7o1auX0XcGAN26dTP8OzAwEABw4cIFsz+bSG2YABFRnTw9PdG2bVu0bdsWPXv2xD//+U+UlJRg5cqVAIDx48dj165dOHv2LFJTU3HvvfciNDS0wcfPy8vDgw8+iG7duuHzzz/HsWPHDG2Erl27ZviM33//HaNGjcLx48fRo0cPfPjhhwBgSMZeeeUVnDt3DgMGDMCUKVMa/PkBAQGG82vbti08PT2Nzv1m77zzDt5//31MnToVe/fuRWZmJuLj4w1xenh4NPhzLcHV1dXwb0mSANxog0REDcMEiIgaTJIkODk5oaysDAAQERGBHj16YOXKldiwYUOt7VAOHTpU432nTp0AAMeOHUNVVRXeffdd3H333Wjfvj3OnTtX4xghISF47rnnsHXrVrz66quGBAwAfH19kZiYiHXr1mHx4sX4xz/+YclTNjhw4AAefvhhPP3004iMjER4eDh+/fVXw/p27drBw8PD0AD8Vm5ubgBulCTVpU2bNnBzc8OBAwcMyyoqKnDkyBF07tzZQmdCRADgYu8AiEi+ysvLUVhYCOBGj6slS5aguLgYQ4cONWwzfvx4TJo0CZ6enhg+fHiNYxw4cAALFy7EsGHDsGvXLmzZsgXbt28HALRt2xYVFRX48MMPMXToUBw4cADLly832n/y5MkYMmQI2rdvj7/++gt79+41JFBvvfUWoqKi0KVLF5SXl+Prr782rLO0du3a4bPPPkN6ejqaN2+ORYsW4fz584bExN3dHVOnTsXrr78ONzc3xMXF4eLFizhx4gTGjRsHPz8/eHh4YOfOnbjjjjvg7u4OrVZr9Bmenp54/vnn8dprr6FFixZo1aoVFi5ciNLSUowbN84q50WkViwBIqI67dy5E4GBgQgMDER0dDSOHDmCLVu2GLpwA0BCQgJcXFyQkJAAd3f3Gsd49dVXcfToUdx5552YO3cuFi1ahPj4eABAZGQkFi1ahAULFqBr165Yv349UlJSjPavrKzExIkT0alTJwwePBjt27fHRx99BOBGqUpycjK6deuGPn36wNnZGZs2bbLKd/HGG2/grrvuQnx8PPr164eAgIAaIzi/+eabePXVV/HWW2+hU6dOGDlypKFdjouLCz744AOsWLECQUFBePjhh2v9nPnz5+ORRx7BqFGjcNdddyE7OxvffPMNmjdvbpXzIlIrSQgh7B0EESlXXl4e2rRpgyNHjuCuu+4yWhcWFobJkydj8uTJ9gmOiKgOrAIjIrNUVFTg0qVLeOONN3D33XfXSH6IiOSMVWBEZJYDBw4gMDAQR44cqdFux97mzZuHpk2b1voaMmSIvcMjIhlgFRgROZw///yzxsjJ1Tw8PBAcHGzjiIhIbpgAERERkeqwCoyIiIhUhwkQERERqQ4TICIiIlIdJkBERESkOkyAiIiISHWYABEREZHqMAEiIiIi1WECRERERKrz/wBcoISMWe6xgQAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_40.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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ql97bZw2VMtuu0Qbpw316HXKxYsXKy0tTVFRUdV+d/3112vbtm21PnZi/PjxOnXqVJVLVwAA+DP63HhQXFSEV5ry/va3v9X6u/79+ztvB6+p73jTpk31448/eqw2AAC8jZYbAABgK4QbAABgK4QbAABgK4QbAABgK4SbGgTYoM3nxLYAAPgbws1ZmjRpIkmM+XKWsrIySVJwcLDFlQAAUD/cCn6W4OBgtWjRQt9//72kM7dJOxyOOpayr4qKChUUFKhp06YKCeGrAgDwDxyxfiE2NlaSnAEn0AUFBal9+/YBHfIAAP6FcPMLDodDcXFxatu2rU6dOmV1OZYLDQ1VUBBXLwEA/oNwU4vg4GD6mQAA4Ic4JQcAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZiebhZsGCBEhMTFR4erpSUFG3ZsuWc88+fP1/du3dXRESEEhISdP/99+vnn3/2UrUAAMDXWRpuMjMzNXXqVM2ePVs7duxQr169lJ6eru+//77G+d955x1NmzZNs2fP1u7du7V48WJlZmZqxowZXq4cAAD4KkvDzQsvvKDbbrtNEydO1IUXXqiFCxeqadOmev3112ucf9OmTRo4cKDGjBmjxMRE/frXv9bo0aPrbO0BAACBw7JwU1ZWpu3btystLe3fxQQFKS0tTZs3b65xmQEDBmj79u3OMHPgwAGtXr1aV199da2fU1paquLi4iovAABgXyFWfXBhYaHKy8sVExNTZXpMTIz27NlT4zJjxoxRYWGhBg0aJGOMTp8+rTvuuOOcl6UyMjI0Z84ct9YOAAB8l+Udil2xYcMGzZ07V6+88op27NihlStX6sMPP9QTTzxR6zLTp09XUVGR83X48GEvVgwAALzNspab6OhoBQcHKz8/v8r0/Px8xcbG1rjMrFmzNHbsWE2aNEmSlJycrBMnTuj222/XI488oqCg6lktLCxMYWFh7l8BAADgkyxruQkNDVWfPn2UlZXlnFZRUaGsrCylpqbWuMzJkyerBZjg4GBJkjHGc8UCAAC/YVnLjSRNnTpV48ePV9++fdW/f3/Nnz9fJ06c0MSJEyVJ48aNU3x8vDIyMiRJI0aM0AsvvKCLLrpIKSkp2rdvn2bNmqURI0Y4Qw4AAAhsloabUaNGqaCgQI8++qjy8vLUu3dvrVmzxtnJOCcnp0pLzcyZM+VwODRz5kx99913atOmjUaMGKGnnnrKqlUAAAA+xmEC7HpOcXGxoqKiVFRUpObNm1tdDgAAqAdXjt9+dbcUAABAXQg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AADAVgg3AAAEsNyiEm3aX6jcohKrS3GbEKsLAAAA1sjcmqPpK79UhZGCHFLGdcka1a+91WU1Gi03AAAEoNyiEmewkaQKI81YudMWLTiEGwAAAtDBwhPOYFOp3BgdKjxpTUFuRLgBACAAdYyOVJCj6rRgh0OJ0U2tKciNCDcAAASguKgIZVyXrGDHmYQT7HBo7nVJiouKsLiyxqNDMQAAAWpUv/a6rFsbHSo8qcToprYINhLhBgCAgBYXFWGbUFOJy1IAAMBWLA83CxYsUGJiosLDw5WSkqItW7acc/6ffvpJkydPVlxcnMLCwtStWzetXr3aS9UCAABfZ+llqczMTE2dOlULFy5USkqK5s+fr/T0dO3du1dt27atNn9ZWZmuvPJKtW3bVitWrFB8fLy++eYbtWjRwvvFAwAAn+Qwxpi6Z/OMlJQU9evXTy+//LIkqaKiQgkJCbr77rs1bdq0avMvXLhQzz77rPbs2aMmTZo06DOLi4sVFRWloqIiNW/evFH1AwAA73Dl+G3ZZamysjJt375daWlp/y4mKEhpaWnavHlzjcusWrVKqampmjx5smJiYpSUlKS5c+eqvLy81s8pLS1VcXFxlRcAALAvy8JNYWGhysvLFRMTU2V6TEyM8vLyalzmwIEDWrFihcrLy7V69WrNmjVLzz//vJ588slaPycjI0NRUVHOV0JCglvXAwAA+BbLOxS7oqKiQm3bttWf/vQn9enTR6NGjdIjjzyihQsX1rrM9OnTVVRU5HwdPnzYixUDAABvs6xDcXR0tIKDg5Wfn19len5+vmJjY2tcJi4uTk2aNFFwcLBzWo8ePZSXl6eysjKFhoZWWyYsLExhYWHuLR4AAPgsy1puQkND1adPH2VlZTmnVVRUKCsrS6mpqTUuM3DgQO3bt08VFRXOaV9//bXi4uJqDDYAACDwWHpZaurUqVq0aJHeeOMN7d69W3feeadOnDihiRMnSpLGjRun6dOnO+e/88479eOPP+ree+/V119/rQ8//FBz587V5MmTrVoFAADgYywd52bUqFEqKCjQo48+qry8PPXu3Vtr1qxxdjLOyclRUNC/81dCQoI++ugj3X///erZs6fi4+N177336uGHH7ZqFQAAgI+xdJwbKzDODQAA/scvxrkBAADwBMINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAAABILeoRJv2Fyq3qMTqUjzObeHm559/1nPPPeeutwMAAG6SuTVHA+et15hF/9DAeeuVuTXH6pI8yqVwU1BQoA8++EAff/yxysvLJUmnTp3S73//eyUmJmrevHkeKdLOAilJAwC8L7eoRNNXfqkKc+bnCiPNWLnT1sedkPrOuHHjRl1zzTUqLi6Ww+FQ3759tWTJEo0cOVIhISF67LHHNH78eE/WajuZW3OcX7ggh5RxXbJG9WtvdVkAABs5WHjCGWwqlRujQ4UnFRcVYU1RHlbvlpuZM2fq6quv1hdffKGpU6dq69atuvbaazV37lx99dVXuuOO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K6+80tPlul1D1n/jxo1avHixsrOzvVChZzVk/bt3767XX39dPXv2VFFRkZ577jkNGDBAu3bt8vgDfD2hIdvgwIEDWr9+vW6++WatXr1a+/bt01133aVTp05p9uzZ3ijbbRq7H9yyZYt27typxYsXe6pEj2vINhgzZowKCws1aNAgGWN0+vRp3XHHHZoxY4bH6iTcwCvmzZun5cuXa8OGDbboUOmKZs2aKTs7W8ePH1dWVpamTp2qTp06aciQIVaX5lHHjh3T2LFjtWjRIkVHR1tdjiVSU1OVmprq/HnAgAHq0aOH/vjHP+qJJ56wsDLvqaioUNu2bfWnP/1JwcHB6tOnj7777js9++yzfhduGmvx4sVKTk5W//79rS7FqzZs2KC5c+fqlVdeUUpKivbt26d7771XTzzxhGbNmuWRzyTc1FN0dLSCg4OVn59fZXp+fr5iY2Mtqsp7GrP+zz33nObNm6d169apZ8+enizToxq6DYKCgtSlSxdJUu/evbV7925lZGT4Xbhxdf3379+vQ4cOacSIEc5pFRUVkqSQkBDt3btXnTt39mzRbuSOfUCTJk100UUXad++fZ4o0eMasg3i4uLUpEkTBQcHO6f16NFDeXl5KisrU2hoqEdrdqfGfAdOnDih5cuX6/HHH/dkiR7XkG0wa9YsjR07VpMmTZIkJScn68SJE7r99tv1yCOPKCjI/T1k6HNTT6GhoerTp4+ysrKc0yoqKpSVlVXlzMyuGrr+zzzzjJ544gmtWbNGffv29UapHuOu70BFRYVKS0s9UaJHubr+F1xwgb788ktlZ2c7X7/5zW80dOhQZWdnKyEhwZvlN5o7/v7l5eX68ssvFRcX56kyPaoh22DgwIHat2+fM9hK0tdff624uDi/CjZS474D7777rkpLS3XLLbd4ukyPasg2OHnyZLUAUxl2jaceb+mxrso2tHz5chMWFmaWLl1qvvrqK3P77bebFi1aOG/tHDt2rJk2bZpz/tLSUvP555+bzz//3MTFxZkHH3zQfP755+Zf//qXVavQKK6u/7x580xoaKhZsWJFlVshjx07ZtUqNJqr22Du3Lnm448/Nvv37zdfffWVee6550xISIhZtGiRVavQKK6u/y/5+91Srq7/nDlzzEcffWT2799vtm/fbm666SYTHh5udu3aZdUqNJqr2yAnJ8c0a9bMTJkyxezdu9d88MEHpm3btubJJ5+0ahUapaH/BwYNGmRGjRrl7XI9wtVtMHv2bNOsWTOzbNkyc+DAAfPxxx+bzp07mxtvvNFjNRJuXPTSSy+Z9u3bm9DQUNO/f3/z97//3fm7wYMHm/Hjxzt/PnjwoJFU7TV48GDvF+4mrqx/hw4dalz/2bNne79wN3JlGzzyyCOmS5cuJjw83LRs2dKkpqaa5cuXW1C1+7iy/r/k7+HGGNfW/7777nPOGxMTY66++mqzY8cOC6p2L1e/A5s2bTIpKSkmLCzMdOrUyTz11FPm9OnTXq7afVxd/z179hhJ5uOPP/ZypZ7jyjY4deqUeeyxx0znzp1NeHi4SUhIMHfddZc5evSox+pzGOOpNiEAAADvo88NAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAHjQhAkTNHLkSKvLAAIK4QYIUBMmTJDD4XC+WrdurauuukpffPGF1aW5xdnrVvkaNGiQxz7v0KFDcjgcys7OrjL997//vZYuXeqxzwVQHeEGCGBXXXWVcnNzlZubq6ysLIWEhOiaa66xuiy3WbJkiXP9cnNztWrVqhrnO3XqlMdqiIqKUosWLTz2/gCqI9wAASwsLEyxsbGKjY1V7969NW3aNB0+fFgFBQW6/PLLNWXKlCrzFxQUKDQ01PlE4MTERD3xxBMaPXq0IiMjFR8frwULFlRZ5oUXXlBycrIiIyOVkJCgu+66S8ePH3f+/ptvvtGIESPUsmVLRUZG6le/+pVWr14tSTp69KhuvvlmtWnTRhEREeratauWLFlS7/Vr0aKFc/1iY2PVqlUrZwtLZmamBg8erPDwcL399tv64YcfNHr0aMXHx6tp06ZKTk7WsmXLqrxfRUWFnnnmGXXp0kVhYWFq3769nnrqKUlSx44dJUkXXXSRHA6HhgwZIqn6ZanS0lLdc889atu2rcLDwzVo0CBt3brV+fsNGzbI4XAoKytLffv2VdOmTTVgwADt3bu33usNBDrCDQBJ0vHjx/XWW2+pS5cuat26tSZNmqR33nlHpaWlznneeustxcfH6/LLL3dOe/bZZ9WrVy99/vnnmjZtmu69916tXbvW+fugoCD94Q9/0K5du/TGG29o/fr1euihh5y/nzx5skpLS/Xpp5/qyy+/1NNPP63zzjtPkjRr1ix99dVX+p//+R/t3r1br776qqKjo92yvpW17t69W+np6fr555/Vp08fffjhh9q5c6duv/12jR07Vlu2bHEuM336dM2bN89Z1zvvvKOYmBhJcs63bt065ebmauXKlTV+7kMPPaT33ntPb7zxhnbs2KEuXbooPT1dP/74Y5X5HnnkET3//PPatm2bQkJC9J//+Z9uWW8gIHjskZwAfNr48eNNcHCwiYyMNJGRkUaSiYuLM9u3bzfGGFNSUmJatmxpMjMzncv07NnTPPbYY86fO3ToYK666qoq7ztq1CgzbNiwWj/33XffNa1bt3b+nJycXOU9zzZixAgzceLEBq2fJBMeHu5cv8jISPP++++bgwcPGklm/vz5db7H8OHDzQMPPGCMMaa4uNiEhYWZRYsW1Thv5ft+/vnnVaaf/ST048ePmyZNmpi3337b+fuysjLTrl0788wzzxhjjPnkk0+MJLNu3TrnPB9++KGRZEpKSlzZBEDAouUGCGBDhw5Vdna2srOztWXLFqWnp2vYsGH65ptvFB4errFjx+r111+XJO3YsUM7d+7UhAkTqrxHampqtZ93797t/HndunW64oorFB8fr2bNmmns2LH64YcfdPLkSUnSPffcoyeffFIDBw7U7Nmzq3RovvPOO7V8+XL17t1bDz30kDZt2uTS+r344ovO9cvOztaVV17p/F3fvn2rzFteXq4nnnhCycnJatWqlc477zx99NFHysnJkSTt3r1bpaWluuKKK1yq4Wz79+/XqVOnNHDgQOe0Jk2aqH///lW2mST17NnT+e+4uDhJ0vfff9/gzwYCCeEGCGCRkZHq0qWLunTpon79+um1117TiRMntGjRIknSpEmTtHbtWn377bdasmSJLr/8cnXo0KHe73/o0CFdc8016tmzp9577z1t377d2SenrKzM+RkHDhzQ2LFj9eWXX6pv37566aWXJMkZtO6//34dOXJEV1xxhR588MF6f35sbKxz/bp06aLIyMgq6362Z599Vr///e/18MMP65NPPlF2drbS09OddUZERNT7c92hSZMmzn87HA5JZ/r8AKgb4QaAk8PhUFBQkEpKSiRJycnJ6tu3rxYtWqR33nmnxn4ff//736v93KNHD0nS9u3bVVFRoeeff16XXHKJunXrpiNHjlR7j4SEBN1xxx1auXKlHnjgAWe4kqQ2bdpo/PjxeuuttzR//nz96U9/cucqO3322Wf67W9/q1tuuUW9evVSp06d9PXXXzt/37VrV0VERDg7U/9SaGiopDMtQLXp3LmzQkND9dlnnzmnnTp1Slu3btWFF17opjUBEGJ1AQCsU1paqry8PEln7kx6+eWXdfz4cY0YMcI5z6RJkzRlyhRFRkbq2muvrfYen332mZ555hmNHDlSa9eu1bvvvqsPP/xQktSlSxedOnVKL730kkaMGKHPPvtMCxcurLL8fffdp2HDhqlbt246evSoPvnkE2c4evTRR9WnTx/96le/UmlpqT744APn79yta9euWrFihTZt2qSWLVvqhRdeUH5+vjN0hIeH6+GHH9ZDDz2k0NBQDRw4UAUFBdq1a5duvfVWtW3bVhEREVqzZo3OP/98hYeHKyoqqspnREZG6s4779Tvfvc7tWrVSu3bt9czzzyjkydP6tZbb/XIegGBiJYbIICtWbNGcXFxiouLU0pKirZu3ap3333XeRuzJI0ePVohISEaPXq0wsPDq73HAw88oG3btumiiy7Sk08+qRdeeEHp6emSpF69eumFF17Q008/raSkJL399tvKyMiosnx5ebkmT56sHj166KqrrlK3bt30yiuvSDrTGjJ9+nT17NlTl112mYKDg7V8+XKPbIuZM2fq4osvVnp6uoYMGaLY2NhqIwvPmjVLDzzwgB599FH16NFDo0aNcvaDCQkJ0R/+8Af98Y9/VLt27fTb3/62xs+ZN2+err/+eo0dO1YXX3yx9u3bp48++kgtW7b0yHoBgchhjDFWFwHAdx06dEidO3fW1q1bdfHFF1f5XWJiou677z7dd9991hQHADXgshSAGp06dUo//PCDZs6cqUsuuaRasAEAX8VlKQA1+uyzzxQXF6etW7dW6ydjtblz5+q8886r8TVs2DCrywNgMS5LAfA7P/74Y7URfStFREQoPj7eyxUB8CWEGwAAYCtclgIAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALZCuAEAALby/wCefz+H3x/XagAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_41.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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zs4WzZs3F1OmTBGXLl0S33//vfDx8RHvvfeeVLvQKA19D/Tp00cMHz7c0uWahbHHYN68eaJ58+Zi/fr14vLly2LPnj2iXbt24rnnnjNbjQw3Rvrkk09Eq1athKOjowgLCxP/+c9/9I/1799fjB07Vn8/KytLAKh269+/v+ULNxFj9r9169Y17v+8efMsX7gJGXMMZs2aJdq3by+cnJyEh4eHiIiIEBs2bJCgatMxZv/vpYRwI4Rxx2DatGn6dX19fcWgQYPE6dOnJajadIz9HTh69KgIDw8XarVatG3bVrz//vvi9u3bFq7adIzd/4sXLwoAYs+ePRau1HyMOQYVFRVi/vz5ol27dsLJyUkEBgaKSZMmiT///NNs9amEMFebEBEREZHlccwNERERKQrDDRERESkKww0REREpCsMNERERKQrDDRERESkKww0REREpCsMNERERKQrDDRGRGY0bNw5DhgyRugwim8JwQ2Sjxo0bB5VKpb+1aNECTzzxBH788UepSzOJu/et6tanTx+zvd6VK1egUqmQnp5usPzvf/871qxZY7bXJaLqGG6IbNgTTzyB3Nxc5ObmIi0tDQ4ODnjyySelLstkVq9erd+/3NxcbN++vcb1KioqzFaDm5sb3N3dzfb8RFQdww2RDVOr1fDz84Ofnx969OiBmTNnIicnBwUFBXjkkUcwZcoUg/ULCgrg6OiovyJwUFAQFi5ciBEjRsDFxQUBAQFITk422Gbp0qUIDg6Gi4sLAgMDMWnSJBQXF+sf//XXXxEbGwsPDw+4uLjgwQcfxM6dOwEAf/75J0aNGgVvb284OzujQ4cOWL16db33z93dXb9/fn5+8PT01LewpKamon///nBycsK3336L69evY8SIEQgICEDTpk0RHByM9evXGzyfTqfDkiVL0L59e6jVarRq1Qrvv/8+AKBNmzYAgJCQEKhUKgwYMABA9W4prVaLqVOnwsfHB05OTujTpw9OnDihf/zgwYNQqVRIS0tDaGgomjZtit69e+PSpUv13m8iW8dwQ0QAgOLiYqxduxbt27dHixYtMGHCBKxbtw5arVa/ztq1axEQEIBHHnlEv+yDDz5A9+7dcebMGcycOROvv/469u7dq3/czs4OH3/8Mc6fP4+vvvoK+/fvx9tvv61/fPLkydBqtTh06BDOnj2LxYsXo1mzZgCAOXPm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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_42.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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dp/qam60Wi10Ol2VeW6uX7+OnJwchIaGGm7GZDmlpaU4c+YMWrVqxY7gRERklqKiImg0mmrv33eSvObG1dUVYWFhAICoqChkZmbi/fffx7Jly2p9r4uLC7p27Yrs7GyT+6jVaqjVarNiYlOUdfC8EhGRLchunpuKigqjmpaalJeX48iRI+zDQURERAaS1twkJydjwIABaNmyJa5evYp169Zh79692L59OwBg5MiRCA4ORkpKCgDgrbfeQq9evRAWFoYrV67g3XffxdmzZzF27Fgpi0FEREQyImnNzYULFzBy5Ei0b98e9913HzIzM7F9+3bcf//9AIDc3Fzk5eUZ9r98+TLGjRuHjh07YuDAgSgqKkJGRkad+uc4gvz8fDz33HNo3bo11Go1tFotBg8ejPT0dADAv/71L7Rp0wbu7u7w8/PDkCFDcOLECcP7z5w5A5VKhaysrCrHjouLw6RJkwzPi4uLMXHiRLRo0QLu7u7o1KkTli5dau0iEhGRDeXpSpFxqhB5ulKpQzGLpDU3H3/8cY2v79271+j5woULsXDhQitGZL/OnDmD2NhYeHt7491330V4eDjKysqwfft2JCUl4cSJE4iKisITTzyBli1b4tKlS5gxYwb69++PnJwcs0cvTZ48Gbt378batWsRGhqKHTt2YMKECWjevDkeeughK5WSiIhsJS0zF8kbj6BCAE4qIGVoOIZ1byl1WHUieYdisowJEyZApVJh//798PDwMGy/66678PTTTwMAnnnmGcP20NBQzJ49G5GRkThz5gzatGlj1udlZGRg1KhRiIuLMxx72bJl2L9/P5MbIiI7l6crNSQ2AFAhgGkbj6JPOz8EaeQ/mlh2HYqVxFbVeZcuXcK2bduQlJRklNhU8vb2rrKtpKQEq1evRqtWraDVas3+zJiYGGzevBl//vknhBDYs2cPfvvtN/Tv378+RSAiIhnJKSwxJDaVyoXAmcJr0gRkJtbcWIktq/Oys7MhhECHDh1q3fejjz7ClClTUFJSgvbt22Pnzp1wdXU12icmJgZOTsZ5b2lpKbp06WJ4/uGHH+KZZ55BixYt0KhRIzg5OWHFihXo06ePRcpERETSadXMA04qGCU4zioVQps1li4oM7DmxgpMVedZqwbHnHkYn3jiCRw+fBjfffcd2rVrh0cffRTXr1832ictLQ1ZWVlGj27d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fPfdd0hKSsJPP/2EnTt3oqysDP3790dJSYnJ92RkZGD48OEYM2YMDh8+jMTERCQmJuLo0aM2jJyIiIjkSiWEELXvZhsXL16Ev78/vvvuO/Tp06fafYYNG4aSkhJs2bLFsK1Xr17o0qULli5dWutnFBUVQaPRQKfTwcvLy2KxExERkfWYc/+W1WgpnU4HAPD19TW5z759+xAfH2+0LSEhAfv27at2f71ej6KiIqMHERERKZdskpuKigpMmjQJsbGx6Ny5s8n98vPzERAQYLQtICAA+fn51e6fkpICjUZjeGi1WovGTURERPIim+QmKSkJR48eRWpqqkWPm5ycDJ1OZ3icO3fOoscnIiIieZHFUPCJEydiy5Yt+P7779GiRYsa9w0MDERBQYHRtoKCAgQGBla7v1qthlqttlisREREJG+S1twIITBx4kRs2rQJu3fvRqtWrWp9T3R0NNLT04227dy5E9HR0dYKk4iIiOyIpDU3SUlJWLduHb7++mt4enoa+s1oNBq4u9+a2G7kyJEIDg5GSkoKAOCFF15A3759MX/+fAwaNAipqak4cOAAli9fLlk5iIiISD4krblZsmQJdDod4uLiEBQUZHikpaUZ9snNzUVeXp7heUxMDNatW4fly5cjMjISGzZswFdffVVjJ2QiIiJyHLKa58YWOM8NERGR/bHbeW6IiIiIGorJDRERESkKkxsiIiJSFCY3REREpChMboiIiEhRmNwQERE5gDxdKTJOFSJPVyp1KFZn9iR+W7Zswf79+5GQkIDY2Fjs3r0b7733HioqKjB06FA888wz1oiTiIiI6iktMxfJG4+gQgBOKiBlaDiGdW8pdVhWY1bNzbJly/Dwww9j69atGDhwINauXYvExEQEBwcjNDQUkyZNwvvvv2+tWImIiMhMebpSQ2IDABUCmLbxqKJrcMyqufnggw/w0UcfYdy4cdizZw8GDhyI+fPnY8KECQCAXr164Z133sELL7xglWCJiIjIPDmFJYbEplK5EDhTeA1BGndpgrIys2pucnJykJCQAADo168fysvL0adPH8PrcXFxOHv2rGUjJCIionpr1cwDTirjbc4qFUKbNZYmIBswK7lp2rSpIXk5f/48bt68idzcXMPrZ8+eha+vr2UjJCIionoL0rgjZWg4nFW3MhxnlQpzhnZWbK0NYGaz1JAhQzBmzBiM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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_43.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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XLx4Ec7OznjmmWc0yvXp00ej3MGDB/VRfSIiIjJTNsY8eUxMDGJiYppd3tHREY6OjtLznTt34vr165g8ebJGORsbG3h6euqsnkRERGRZzDoHaP369YiKikKXLl00tl+4cAHe3t7o2rUrnnvuOeTn5zd6nMrKSqjVao0HERERWS6zDYCuXLmC//znP5g6darG9rCwMGzatAmpqalYu3YtcnNz8dBDD+HGjRsNHishIUHqXXJ0dISPj4++q09ERERGpBBCCGNXAgAUCgV27NiB0aNHN6t8QkICVq1ahStXrsDW1rbBcqWlpejSpQtWr16NKVOm1FumsrISlZWV0nO1Wg0fHx+oVCp06NBBq3YQERGRcajVajg6Ojbr+9uoOUAtJYTAhg0bMGHChEaDHwDo2LEjevTogezs7AbLKJVKKJVKXVeTiIiITJRZDoH9+OOPyM7ObrBH58/KysqQk5MDLy8vA9SMiIiIzIFRA6CysjJkZWUhKysLAJCbm4usrCwpaTk+Ph4TJ06s87r169cjLCwMffv2rbNv7ty5+PHHH5GXl4fDhw/jySefhLW1NcaNG6fXthAREZH5MOoQ2PHjxzF06FDpeVxcHAAgNjYWmzZtQkFBQZ0ZXCqVCl9//TXef//9eo956dIljBs3DteuXYObmxsGDhyIn376CW5ubvprCBEREZkVk0mCNiXaJFERERGRadDm+9ssc4CIiIiIWoMBEBEREckOAyAiIiKSHQZAREREJDsMgIiIiEh2GAARERGR7DAAIiIiItlhAERERESywwCIiIiIZIcBEBEREckOAyAiIiKSHQZAREREJDsMgIiIiEh2GAARERGR7DAAIiIiItlhAERERESywwCIiIiIZIcBEBEREckOAyAiIiKSHQZAREREJDsMgIiIiEh2GAARERGR7DAAIiIiItlhAERERESywwCIiIiIZIcBEBEREckOAyAiIiKSHQZAREREJDsMgIiIiEh2GAARERGR7DAAIiIiItlhAERERESyY9QA6MCBAxg5ciS8vb2hUCiwc+fORsvv378fCoWizqOwsFCjXFJSEnx9fWFnZ4ewsDAcPXpUj60gIiIic2PUAKi8vByBgYFISkrS6nXnz59HQUGB9HB3d5f2paSkIC4uDosWLcKJEycQGBiI6OhoXL16VdfVJyIiIjNlY8yTx8TEICYmRuvX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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_44.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAHHCAYAAACfqw0dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABMFElEQVR4nO3deXyU1aH/8e8kIQuBJEAgCw0kbAISiLLEAAJK2iCWGvXeAlK2i3Kt4AZUwQq4VRA3LkpFqUJfFQVRr/UiPxRBLxXSsIsgUkAQrElkkQkECCFzfn94M3XIQvJk9nzer1demOc5M3POY2ae75xznvPYjDFGAAAAqJMQX1cAAAAgEBGiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAAAgAWEKAAAAAsIUQAAABYQogAEtUceeUQ2m61WZW02mx555BGP1mfQoEEaNGiQ3z4fgNojRAHwiqVLl8pmszl/wsLC1Lp1a40bN07//Oc/fV09v5OamupyvFq1aqVrr71W//3f/+2W5z979qweeeQRffrpp255PqAhIkQB8KrHHntMf/nLX7Ro0SLdcMMNev311zVw4ECdP3/eI6/38MMP69y5cx55bk/LyMjQX/7yF/3lL3/RtGnT9N133+mWW27RokWL6v3cZ8+e1aOPPkqIAuohzNcVANCw3HDDDerVq5ck6fbbb1d8fLyeeuopvf/++/r1r3/t9tcLCwtTWFhgftS1bt1av/nNb5y/jxkzRh06dNDzzz+vO++804c1AyDREwXAx6699lpJ0sGDB122f/XVV/q3f/s3NW/eXJGRkerVq5fef/99lzJlZWV69NFH1bFjR0VGRqpFixbq37+/1q5d6yxT1Zyo0tJS3X///WrZsqWaNm2qX/3qV/r2228r1W3cuHFKTU2ttL2q51yyZImuv/56tWrVShEREeratateeumlOh2Ly0lMTFSXLl106NChGst9//33mjBhghISEhQZGakePXroz3/+s3P/4cOH1bJlS0nSo48+6hwy9PR8MCDYBObXMwBB4/Dhw5KkZs2aObft2bNH/fr1U+vWrTV9+nRFR0frrbfeUm5urt555x3dfPPNkn4MM3PmzNHtt9+uPn36qLi4WFu3btX27dv185//vNrXvP322/X666/rtttuU9++fbV+/XrdeOON9WrHSy+9pCuvvFK/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9mxvVNut6vtZuHnzZu3evVuvvvqqp6roUVbaf9ttt+n48ePq37+/jDG6ePGi7rzzTj300EMeqychCkFl7ty5Wr58uT799NOAn1RbV02bNtXOnTt15swZrVu3TlOmTFG7du00aNAgX1fNo06fPq3Ro0dr8eLFio+P93V1fCYrK0tZWVnO3/v27asuXbro5Zdf1uOPP+7DmnmHw+FQq1at9Morryg0NFQ9e/bUP//5Tz399NMBGaLq69VXX1V6err69Onj66p4zaeffqonn3xSf/zjH5WZmakDBw7o3nvv1eOPP66ZM2d65DUJUX4mPj5eoaGhKioqctleVFSkxMREH9XKe+rT/meeeUZz587Vxx9/rO7du3uymh5l9RiEhISoQ4cOkqSMjAzt3btXc+bMCbgQVdf2Hzx4UIcPH9awYcOc2xwOhyQpLCxM+/btU/v27T1baTdzx+dAo0aNdNVVV+nAgQOeqKJHWWl/UlKSGjVqpNDQUOe2Ll26qLCwUBcuXFB4eLhH6+xu9fkbKCkp0fLly/XYY495sooeZaX9M2fO1OjRo3X77bdLktLT01VSUqKJEyfq97//vUJC3D+DiTlRfiY8PFw9e/bUunXrnNscDofWrVvn8i0zWFlt/7x58/T4449rzZo16tWrlzeq6jHu+htwOBwqLS31RBU9qq7t79y5s7744gvt3LnT+fOrX/1K1113nXbu3KmUlBRvVt8t3PE3UF5eri+++EJJSUmeqqbHWGl/v379dODAAWeAlqR//OMfSkpKCrgAJdXvb2DlypUqLS3Vb37zG09X02OstP/s2bOVglJFqDaeuk2wx6asw7Lly5ebiIgIs3TpUvPll1+aiRMnmri4OOflyqNHjzbTp093li8tLTU7duwwO3bsMElJSWbatGlmx44dZv/+/b5qQr3Utf1z58414eHh5u2333a5vPf06dO+akK91fUYPPnkk+ajjz4yBw8eNF9++aV55plnTFhYmFm8eLGvmlAvdW3/pYLh6ry6HoNHH33UfPjhh+bgwYNm27ZtZsSIESYyMtLs2bPHV02ol7q2/8iRI6Zp06Zm8uTJZt++fWbVqlWmVatW5oknnvBVE+rN6vugf//+Zvjw4d6urtvVtf2zZ882TZs2NW+++ab5+uuvzUcffWTat29vfv3rX3usjoQoP/XCCy+YNm3amPDwcNOnTx/z97//3blv4MCBZuzYsc7fDx06ZCRV+hk4cKD3K+4mdWl/27Ztq2z/7NmzvV9xN6rLMfj9739vOnToYCIjI02zZs1MVlaWWb58uQ9q7T51af+lgiFEGVO3Y3Dfffc5yyYkJJihQ4ea7du3+6DW7lPXv4FNmzaZzMxMExERYdq1a2f+8Ic/mIsXL3q51u5V12Pw1VdfGUnmo48+8nJNPaMu7S8rKzOPPPKIad++vYmMjDQpKSnmrrvuMj/88IPH6mczxlN9XAAAAMGLOVEAAAAWEKIAAAAsIEQBAABYQIgCAACwgBAFAABgASEKAADAAkIUAACABYQoAAgC48aNU25urq+rATQohCgAHjVu3DjZbDbnT4sWLTRkyBDt2rXL11Vzi5+2reKnf//+Hnu9w4cPy2azaefOnS7b/+u//ktLly712OsCqIwQBcDjhgwZooKCAhUUFGjdunUKCwvTL3/5S19Xy22WLFnibF9BQYHef//9KsuVlZV5rA6xsbGKi4vz2PMDqIwQBcDjIiIilJiYqMTERGVkZGj69Ok6evSojh07puuvv16TJ092KX/s2DGFh4c77+Cempqqxx9/XCNHjlR0dLRat26thQsXujzmueeeU3p6uqKjo5WSkqK77rpLZ86cce7/5ptvNGzYMDVr1kzR0dG68sortXr1aknSDz/8oFGjRqlly5aKiopSx44dtWTJklq3Ly4uztm+xMRENW/e3NljtGLFCg0cOFCRkZFatmyZTpw4oZEjR6p169Zq3Lix0tPT9eabb7o8n8Ph0Lx589ShQwdFRESoTZs2+sMf/iBJSktLkyRdddVVstlsGjRokKTKw3mlpaW655571KpVK0VGRqp///7asmWLc/+nn34qm82mdevWqVevXmrcuLH69u2rffv21brdQENHiALgVWfOnNHrr7+uDh06qEWLFrr99tv1xhtvqLS01Fnm9ddfV+vWrXX99dc7tz399NPq0aOHduzYoenTp+vee+/V2rVrnftDQkK0YMEC7dmzR3/+85+1fv16PfDAA879kyZNUmlpqTZs2KAvvvhCTz31lJo0aSJJmjlzpr788kv9v//3/7R371699NJLio+Pd0t7K+q6d+9e5eTk6Pz58+rZs6c++OAD7d69WxMnTtTo0aO1efNm52NmzJihuXPnOuv1xhtvKCEhQZKc5T7++GMVFBTo3XffrfJ1H3jgAb3zzjv685//rO3bt6tDhw7KycnRyZMnXcr9/ve/17PPPqutW7cqLCxM//Ef/+GWdgMNgsdubQwAxpixY8ea0NBQEx0dbaKjo40kk5SUZLZt22aMMebcuXOmWbNmZsWKFc7HdO/e3TzyyCPO39u2bWuGDBni8rzDhw83N9xwQ7Wvu3LlStOiRQvn7+np6S7P+VPDhg0z48ePt9Q+SSYyMtLZvujoaPPf//3f5tChQ0aSmT9//mWf48YbbzRTp041xhhTXFxsIiIizOLFi6ssW/G8O3bscNk+duxYc9NNNxljjDlz5oxp1KiRWbZsmXP/hQsXTHJyspk3b54xxphPPvnESDIff/yxs8wHH3xgJJlz587V5RAADRY9UQA87rrrrtPOnTu1c+dObd68WTk5Obrhhhv0zTffKDIyUqNHj9Zrr70mSdq+fbt2796tcePGuTxHVlZWpd/37t3r/P3jjz/W4MGD1bp1azVt2lSjR4/WiRMndPbsWUnSPffcoyeeeEL9+vXT7NmzXSa2//a3v9Xy5cuVkZGhBx54QJs2bapT+55//nln+3bu3Kmf//znzn29evVyKVteXq7HH39c6enpat68uZo0aaIPP/xQR44ckSTt3btXpaWlGjx4cJ3q8FMHDx5UWVmZ+vXr59zWqFEj9enTx+WYSVL37t2d/52UlCRJ+v777y2/NtCQEKIAeFx0dLQ6dOigDh06qHfv3vrTn/6kkpISLV68WJJ0++23a+3atfr222+1ZMkSXX/99Wrbtm2tn//w4cP65S9/qe7du+udd97Rtm3bnHOmLly44HyNr7/+WqNHj9YXX3yhXr166YUXXpAkZ6C7//779d1332nw4MGaNm1arV8/MTHR2b4OHTooOjrape0/9fTTT+u//uu/9OCDD+qTTz7Rzp07lZOT46xnVFRUrV/XHRo1auT8b5vNJunHOVkALo8QBcDrbDabQkJCdO7cOUlSenq6evXqpcWLF+uNN96ocl7O3//+90q/d+nSRZK0bds2ORwOPfvss7rmmmvUqVMnfffdd5WeIyUlRXfeeafeffddTZ061RniJKlly5YaO3asXn/9dc2fP1+vvPKKO5vstHHjRt100036zW9+ox49eqhdu3b6xz/+4dzfsWNHRUVFOSfVXyo8PFzSjz1a1Wnfvr3Cw8O1ceNG57aysjJt2bJFXbt2dVNLAIT5ugIAgl9paakKCwsl/Xgl3IsvvqgzZ85o2LBhzjK33367Jk+erOjoaN18882VnmPjxo2aN2+ecnNztXbtWq1cuVIffPCBJKlDhw4qKyvTCy+8oGHDhmnjxo1atGiRy+Pvu+8+3XDDDerUqZN++OEHffLJJ84QNmvWLPXs2VNXXnmlSktLtWrVKuc+d+vYsaPefvttbdq0Sc2aNdNzzz2noqIiZ7iJjIzUgw8+qAceeEDh4eHq16+fjh07pj179mjChAlq1aqVoqKitGbNGv3sZz9TZGSkYmNjXV4jOjpav/3tb/W73/1OzZs3V5s2bTRv3jydPXtWEyZM8Ei7gIaInigAHrdmzRolJSUpKSlJmZmZ2rJli1auXOm8PF+SRo4cqbCwMI0cOVKRkZGVnmPq1KnaunWrrrrqKj3xxBN67rnnlJOTI0nq0aOHnnvuOT311FPq1q2bli1bpjlz5rg8vry8XJMmTVKXLl00ZMgQderUSX/84x8l/di7M2PGDHXv3l0DBgxQaGioli9f7pFj8fDDD+vqq69WTk6OBg0apMTExEorjc+cOVNTp07VrFmz1KVLFw0fPtw5TyksLEwLFizQyy+/rOTkZN10001Vvs7cuXN16623avTo0br66qt14MABffjhh2rWrJlH2gU0RDZjjPF1JQDg8OHDat++vbZs2aKrr77aZV9qaqruu+8+3Xfffb6pHABUgeE8AD5VVlamEydO6OGHH9Y111xTKUABgL9iOA+AT23cuFFJSUnasmVLpXlMvvbkk0+qSZMmVf7ccMMNvq4eAB9jOA8AqnHy5MlKK3xXiIqKUuvWrb1cIwD+hBAFAABgAcN5AAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAAAgAWEKAAAAAv+P954bCRQ5cHEAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_45.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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lqoiERERKUjR4TwvLy84ODigrKzMaHtZWRl8fX1bvI+vr2+b5Zv+vVOZ2yeu37x5ExUVFa0+LwBERUXhzJkzre5funQp9Hq9dLtw4UKrZYmIiMi6KRqinJycMGzYMOTm5krbDAYDcnNzER0d3eJ9oqOjjcoDwJ49e6TywcHB8PX1NSpTVVWFgoICqUx0dDQqKytRVFQklcnLy4PBYEBUVFSr9T1y5Aj8/Pxa3e/s7Aw3NzejGxEREdkmxYfzUlJSMGvWLERERCAyMhJr165FdXU15syZAwCYOXMmAgICkJ6eDgBYsGABYmJisGbNGkyaNAlZWVk4ePAg3n//fQCARqPBwoULsXLlSoSEhCA4OBjLly+Hv78/4uPjAQADBw7EhAkTMHfuXGRmZqKhoQHz58/H1KlT4e/vDwD48MMP4eTkhHvuuQcAsGPHDmzcuBF/+9vfLHyEiIiISI0UD1EJCQm4cuUKVqxYgdLSUoSHhyMnJ0eaGH7+/Hlotf/XYTZy5Eh8/PHHWLZsGZ577jmEhITgs88+w+DBg6UyS5YsQXV1NZKTk1FZWYnRo0cjJycHOp1OKrNlyxbMnz8f48ePh1arxWOPPYZ169YZ1e3ll1/GL7/8AkdHRwwYMADZ2dl4/PHHzXxEiIiIyBpohBBC6UrYqqqqKri7u0Ov13Noj4iIyEq09/Nb8RXLiYiIiKwRQxQRERGRDAxRRERERDIwRBERERHJwBBFREREJANDFBEREZEMDFFEREREMjBEEREREcnAEEVEREQkA0MUERERkQwMUUREREQyMEQRERERycAQRURERCQDQxQRERGRDAxRRERERDIwRBERERHJwBBFREREJANDFBEREZEMDFFEREREMjBEEREREcnAEEVEREQkA0MUERERkQwMUUREREQyMEQRERERycAQRURERCQDQxQRERGRDAxRRERERDIwRBERERHJwBBFREREJANDFBEREZEMDFFEREREMjBEEREREcnAEEVEREQkA0MUERERkQwMUUREREQyMEQRERERycAQRURERCQDQxQRERGRDAxRRERERDIwRBERERHJwBBFREREJANDFBEREZEMDFFEREREMjBEEREREcnAEEVEREQkA0MUERERkQwMUURERGR2Jfpa7D9bjhJ9rdJVMRlHpStAREREti278DyW7vgBBgFoNUD6o2FIGN5b6Wp1GnuiiIiIyGxK9LVSgAIAgwCe23HMJnqkGKKIiIjIbIrLq6UA1aRRCJwrr1GmQiakihCVkZGBoKAg6HQ6REVF4cCBA22W37ZtGwYMGACdToewsDDs3r3baL8QAitWrICfnx9cXFwQGxuL06dPG5WpqKjA9OnT4ebmBg8PDyQlJeH69estPt+ZM2fQvXt3eHh4dKqdRERE9ibYyxVajfE2B40GQV5dlamQCSkeorKzs5GSkoK0tDQcOnQIQ4cORVxcHC5fvtxi+f379yMxMRFJSUk4fPgw4uPjER8fj2PHjkllVq9ejXXr1iEzMxMFBQVwdXVFXFwcbty4IZWZPn06jh8/jj179mDXrl3Yt28fkpOTmz1fQ0MDEhMTMWbMGNM3noiIyMb5ubsg/dEwOGhuJSkHjQavPjoYfu4uCtes8zRCCHHnYuYTFRWF4cOH45133gEAGAwGBAYG4umnn0Zqamqz8gkJCaiursauXbukbSNGjEB4eDgyMzMhhIC/vz8WLVqExYsXAwD0ej18fHywefNmTJ06FSdOnMCgQYNQWFiIiIgIAEBOTg4mTpyIixcvwt/fX3rsZ599FpcuXcL48eOxcOFCVFZWtrttVVVVcHd3h16vh5ubm5zDQ0REZBNK9LU4V16DIK+uqg9Q7f38VrQnqr6+HkVFRYiNjZW2abVaxMbGIj8/v8X75OfnG5UHgLi4OKl8cXExSktLjcq4u7sjKipKKpOfnw8PDw8pQAFAbGwstFotCgoKpG15eXnYtm0bMjIy2tWeuro6VFVVGd2IiIjoVo9UdL+eqg9QHaFoiCovL0djYyN8fHyMtvv4+KC0tLTF+5SWlrZZvunfO5Xx9vY22u/o6AhPT0+pzNWrVzF79mxs3ry53b1I6enpcHd3l26BgYHtuh8RERFZH8XnRKnV3LlzMW3aNIwdO7bd91m6dCn0er10u3DhghlrSEREREpSNER5eXnBwcEBZWVlRtvLysrg6+vb4n18fX3bLN/0753K3D5x/ebNm6ioqJDK5OXl4Y033oCjoyMcHR2RlJQEvV4PR0dHbNy4scW6OTs7w83NzehGREREtknREOXk5IRhw4YhNzdX2mYwGJCbm4vo6OgW7xMdHW1UHgD27NkjlQ8ODoavr69RmaqqKhQUFEhloqOjUVlZiaKiIqlMXl4eDAYDoqKiANyaN3XkyBHp9tJLL6F79+44cuQIHnnkEdMcACIiIrJail/2JSUlBbNmzUJERAQiIyOxdu1aVFdXY86cOQCAmTNnIiAgAOnp6QCABQsWICYmBmvWrMGkSZOQlZWFgwcP4v333wcAaDQaLFy4ECtXrkRISAiCg4OxfPly+Pv7Iz4+HgAwcOBATJgwAXPnzkVmZiYaGhowf/58TJ06VTozb+DAgUb1PHjwILRaLQYPHmyhI0NERERqpniISkhIwJUrV7BixQqUlpYiPDwcOTk50sTw8+fPQ6v9vw6zkSNH4uOPP8ayZcvw3HPPISQkBJ999plRuFmyZAmqq6uRnJyMyspKjB49Gjk5OdDpdFKZLVu2YP78+Rg/fjy0Wi0ee+wxrFu3znINJyIiIqum+DpRtozrRBEREVkfq1gnioiIiMhaMUQRERERycAQRURERCQDQxQRERGRDAxRRERERDIwRBERERHJwBBFREREJANDFBEREZEMDFFEREREMjBEEREREcnAEEVEREQkA0MUERERkQwMUUREREQyMEQRERERycAQRURERCQDQxQRERGRDAxRRERERDIwRBERERHJwBBFREREJANDFBEREZEMDFFEREREMjBEEREREcnAEEVEREQkA0MUERERkQwMUUREREQyMEQRERERycAQRURERCQDQxQRERGRDAxRRERERDIwRBERERHJwBBFREREJANDFBEREZEMDFFEREREMjBEEREREcnAEEVEREQkA0MUERERkQwMUUREREQyMEQRERERycAQRURERCQDQxQRERGRDAxRRERERDIwRBERERHJwBBFREREJANDFBEREZEMDFFEREREMjBEEREREcnAEEVEREQkA0MUERERkQwMUURERGQyJfpa7D9bjhJ9rdJVMTtVhKiMjAwEBQVBp9MhKioKBw4caLP8tm3bMGDAAOh0OoSFhWH37t1G+4UQWLFiBfz8/ODi4oLY2FicPn3aqExFRQWmT58ONzc3eHh4ICkpCdevX5f2nzp1Cvfddx98fHyg0+nQt29fLFu2DA0NDaZrOBERkQ3JLjyPUavyMG1DAUatykN24Xmlq2RWioeo7OxspKSkIC0tDYcOHcLQoUMRFxeHy5cvt1h+//79SExMRFJSEg4fPoz4+HjEx8fj2LFjUpnVq1dj3bp1yMzMREFBAVxdXREXF4cbN25I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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_46.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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jBERERHJiMUYERERkYxYjBERERHJiMUYERERkYxYjBERERHJiMUYERERkYxYjBERERHJiMUYERERkYxYjBERERHJiMUYERERkYxYjBERERHJiMUYERERkYxYjBERERHJiMUYERERkYxYjBERERHJiMUYERERkYxYjBERERHJiMUYERERkYxYjBERERHJiMUYERERkYxYjBERERHJiMUYERERkYxYjBERERHJiMUYERERkYxYjBERERHJiMUYERERkYxYjBERERHJiMUYERERkYxYjBERERHJiMUYERERkYxYjBERERHJSPZibOnSpWjdujVUKhU0Gg32799fY/ymTZvQoUMHqFQqhIWFYdu2bUbrhRCYNWsW/Pz84OLiAq1Wi9OnTxvFFBQUYOTIkXBzc4O7uzsSEhJQXFwsrb99+zbGjh2LsLAwODk5ITY2tlIeO3fuhEKhqPTQ6XT1ah8RERHZF1mLsZSUFCQmJiIpKQkHDx5E165dER0djUuXLlUZv3fvXsTHxyMhIQGHDh1CbGwsYmNjcezYMSlm/vz5WLx4MZYvX47MzEy4uroiOjoat2/flmJGjhyJ7OxspKam4ocffsCuXbswceJEaX15eTlcXFwwZcoUaLXaGttw6tQp5OXlSQ9vb+86t4+IiIjskJBRZGSkmDRpkvR7eXm58Pf3F8nJyVXGDxs2TAwePNhomUajES+88IIQQgiDwSB8fX3FggULpPWFhYXC2dlZbNiwQQghxPHjxwUAceDAASnmp59+EgqFQly4cKHSPseMGSOGDh1aafmvv/4qAIhr1641WPuqotfrBQCh1+tr/RwiIiKSlymf37L1jJWWliIrK8uo58nBwQFarRYZGRlVPicjI6NST1V0dLQUn5ubC51OZxSjVquh0WikmIyMDLi7uyMiIkKK0Wq1cHBwQGZmpsnt6NatG/z8/PD4449jz5499WofAJSUlKCoqMjoQURERLZLtmLsypUrKC8vh4+Pj9FyHx+fSuOuKuh0uhrjK37eL+buU4kA4OTkBE9Pz2r3WxU/Pz8sX74cmzdvxubNmxEYGIi+ffvi4MGDdW4fACQnJ0OtVkuPwMDAWudERERE1sdJ7gSsVfv27dG+fXvp9+7du+PMmTP4+OOP8cUXX9R5uzNmzEBiYqL0e1FREQsyIiIiGyZbz5iXlxccHR2Rn59vtDw/Px++vr5VPsfX17fG+Iqf94u5dwD9nTt3UFBQUO1+aysyMhI5OTkA6tY+AHB2doabm5vRg4iIiGyXbMWYUqlEeHg40tLSpGUGgwFpaWmIioqq8jlRUVFG8QCQmpoqxQcHB8PX19copqioCJmZmVJMVFQUCgsLkZWVJcWkp6fDYDBAo9HUq02HDx+Gn59fndtHRERE9kfW05SJiYkYM2YMIiIiEBkZiUWLFuHGjRsYN24cAGD06NEICAhAcnIyAODVV19Fnz598OGHH2Lw4MHYuHEjfvvtN6xYsQIAoFAoMHXqVMyZMwft2rVDcHAwZs6cCX9/f2musI4dOyImJgYTJkzA8uXLUVZWhsmTJ2P48OHw9/eXcjt+/DhKS0tRUFCA69ev4/DhwwD+HrAPAIsWLUJwcDA6deqE27dv41//+hfS09OxY8eOWrePiIiISNapLYQQYsmSJaJVq1ZCqVSKyMhIsW/fPmldnz59xJgxY4ziv/76axEaGiqUSqXo1KmT+PHHH43WGwwGMXPmTOHj4yOcnZ1F//79xalTp4xirl69KuLj40WzZs2Em5ubGDdunLh+/bpRTFBQkABQ6VFh3rx5om3btkKlUglPT0/Rt29fkZ6eblL7aoNTWxAREVkfUz6/FUIIIWMtSPdRVFQEtVoNvV7P8WNERERWwpTPb9lvh0RERERkz1iMEREREcmIxRgRERGRjFiMEREREcmIxRgRERGRjFiMEREREcmIxRgRERGRjFiMEREREcmIxRgRERGRjFiMEREREcmIxRgRERGRjFiMEREREcmIxRgRERGRjFiMEREREcmIxRgRERGRjFiMEREREcmIxRgRERGRjFiMEREREcmIxRgRERGRjFiMEREREcmIxRgRERGRjFiMEREREcmIxRgRERGRjFiMEREREcmIxRgRERGRjFiMEREREcmIxRgRERGRjFiMEREREcmIxRgRERGRjFiMEREREcmIxRgRERGRjFiMEREREcmIxRgRERGRjFiMEREREclI9mJs6dKlaN26NVQqFTQaDfbv319j/KZNm9ChQweoVCqEhYVh27ZtRuuFEJg1axb8/Pzg4uICrVaL06dPG8UUFBRg5MiRcHNzg7u7OxISElBcXCytv337NsaOHYuwsDA4OTkhNja2Uh5btmzB448/jpYtW8LNzQ1RUVH4+eefjWJmz54N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CCHEr7/+KgCIX375RYr58ccfBQBx69YtUw4BkV1jzxgRWYV+/frh8OHDOHz4MPbv34/o6GgMHDgQf/75J1QqFUaNGoXVq1cDAA4ePIhjx45h7NixRtuIioqq9PuJEyek33/55Rf0798fAQEBaN68OUaNGoWrV6/i5s2bAIApU6Zgzpw56NGjB5KSkowuIHjppZewceNGdOvWDa+//jr27t1rUvs+/vhjqX2HDx/G448/Lq2LiIgwii0vL8d7772HsLAweHp6olmzZvj5559x7tw5AMCJEydQUlKC/v37m5TD3c6cOYOysjL06NFDWtakSRNERkYaHTMA6NKli/RvPz8/AMClS5fqvG8ie8NijIisgqurK0JCQhASEoJHHnkE//rXv3Djxg2sXLkSADB+/Hikpqbir7/+wpo1a/DYY48hKCio1ts/e/YsnnjiCXTp0gWbN29GVlaWNKastLRU2scff/yBUaNG4ejRo4iIiMCSJUsAQCoM//GPf+DixYvo378/pk2bVuv9+/r6Su0LCQmBq6urUdvvtmDBAnzyySd444038Ouvv+Lw4cOIjo6W8nRxcan1fhtCkyZNpH8rFAoAf49ZI6LaYTFGRFZJoVDAwcEBt27dAgCEhYUhIiICK1euxPr166sct7Rv375Kv3fs2BEAkJWVBYPBgA8//BCPPvooQkNDcfHixUrbCAwMxIsvvogtW7bgtddek4pBAGjZsiXGjBmDL7/8EosWLcKKFSsassmSPXv2YOjQoXj++efRtWtXtGnTBv/973+l9e3atYOLi4t08cK9lEolgL972KrTtm1bKJVK7NmzR1pWVlaGAwcO4MEHH2yglhARADjJnQARUW2UlJRAp9MB+PvKxU8//RTFxcUYMmSIFDN+/HhMnjwZrq6ueOqppyptY8+ePZg/fz5iY2ORmpqKTZs24ccffwQAhISEoKysDEuWLMGQIUOwZ88eLF++3Oj5U6dOxcCBAxEaGopr167h119/lYq5WbNmITw8HJ06dUJJSQl++OEHaV1Da9euHb755hvs3bsXHh4e+Oijj5Cfny8VSSqVCm+88QZef/11KJVK9OjRA5cvX0Z2djYSEhLg7e0NFxcXbN++HQ888ABUKhXUarXRPlxdXfHSSy/hn//8Jzw9PdGqVSvMnz8fN2/eREJCglnaRWSv2DNGRFZh+/bt8PPzg5+fHzQaDQ4cOIBNmzZJ0zIAQHx8PJycnBAfHw+VSlVpG6+99hp+++03PPTQQ5gzZw4++ugjREdHAwC6du2Kjz76CPPmzUPnzp3x1VdfITk52ej55eXlmDRpEjp27IiYmBiEhobis88+A/B3b9OMGTPQpUsX9O7dG46Ojti4caNZjsXbb7+Nhx9+GNHR0ejbty98fX0rzZw/c+ZMvPbaa5g1axY6duyIuLg4aRyXk5MTFi9ejM8//xz+/v4YOnRolfuZO3cunnnmGYwaNQoPP/wwcnJy8PPPP8PDw8Ms7SKyVwohhJA7CSKihnD27Fm0bdsWBw4cwMMPP2y0rnXr1pg6dSqmTp0qT3JERNXgaUoisnplZWW4evUq3n77bTz66KOVCjEiIkvG05REZPX27NkDPz8/HDhwoNI4L7l98MEHaNasWZWPgQMHyp0eEVkAnqYkIjKjgoKCSjPWV3BxcUFAQEAjZ0RElobFGBEREZGMeJqSiIiISEYsxoiIiIhkxGKMiIiISEYsxoiIiIhkxGKMiIiISEYsxoiIiIhkxGKMiIiISEYsxoiIiIhk9P8BePwUewHSIxEAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_47.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAHHCAYAAACfqw0dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABJ2ElEQVR4nO3deXyU1aH/8W8WshBIwpqFhh0UJBBKIASQoKQNgkjUewWkbBfkZxURgatgBdxqEDcuSkWxgq+KBVGutcilIku9QhpCgCqIFBAEKgmbTFhDSM7vDy9ThySQPJl9Pu/Xa16Q5zkzc84zycx3zjnPeYKMMUYAAACokWBPVwAAAMAXEaIAAAAsIEQBAABYQIgCAACwgBAFAABgASEKAADAAkIUAACABYQoAAAACwhRAAAAFhCiAPi1J598UkFBQdUqGxQUpCeffNKl9enXr5/69evntY8HoPoIUQDcYsmSJQoKCrLfQkND1axZM40ZM0b//Oc/PV09r9OyZUuH49W0aVPdfPPN+u///m+nPP758+f15JNPauPGjU55PCAQEaIAuNXTTz+tP/zhD1q4cKFuu+02vfvuu8rIyNDFixdd8nxPPPGELly44JLHdrWUlBT94Q9/0B/+8AdNmzZN33//ve666y4tXLiw1o99/vx5PfXUU4QooBZCPV0BAIHltttuU2pqqiRp/Pjxaty4sZ5//nl9/PHHuueee5z+fKGhoQoN9c23umbNmulXv/qV/edRo0apbdu2euWVV3T//fd7sGYAJHqiAHjYzTffLEnav3+/w/ZvvvlG//Zv/6aGDRsqIiJCqamp+vjjjx3KlJaW6qmnnlK7du0UERGhRo0aqU+fPlq7dq29TGVzokpKSvTII4+oSZMmql+/vu644w4dOXKkQt3GjBmjli1bVthe2WMuXrxYt956q5o2barw8HB17NhRr7/+eo2OxfXEx8erQ4cOOnDgwDXLHTt2TOPGjVNcXJwiIiLUpUsXvfPOO/b9Bw8eVJMmTSRJTz31lH3I0NXzwQB/45tfzwD4jYMHD0qSGjRoYN+2a9cu9e7dW82aNdP06dMVFRWl999/X9nZ2frwww915513SvoxzOTk5Gj8+PHq0aOHiouLtXXrVm3btk2/+MUvqnzO8ePH691339W9996rXr16af369Ro0aFCt2vH666/rpptu0h133KHQ0FD9+c9/1gMPPKDy8nI9+OCDtXrsK0pLS3X48GE1atSoyjIXLlxQv379tG/fPk2cOFGtWrXSihUrNGbMGJ0+fVoPP/ywmjRpotdff12//vWvdeedd+quu+6SJHXu3Nkp9QQChgEAN1i8eLGRZD777DNz/Phxc/jwYfPBBx+YJk2amPDwcHP48GF72f79+5vk5GRz8eJF+7by8nLTq1cv065dO/u2Ll26mEGDBl3zeWfPnm1++la3Y8cOI8k88MADDuXuvfdeI8nMnj3bvm306NGmRYsW131MY4w5f/58hXJZWVmmdevWDtsyMjJMRkbGNetsjDEtWrQwv/zlL83x48fN8ePHzd///nczbNgwI8k89NBDVT7evHnzjCTz7rvv2rddunTJpKenm3r16pni4mJjjDHHjx+v0F4ANcNwHgC3yszMVJMmTZSUlKR/+7d/U1RUlD7++GP97Gc/kySdOnVK69ev1z333KMzZ87oxIkTOnHihE6ePKmsrCzt3bvXfjZfbGysdu3apb1791b7+VevXi1JmjRpksP2yZMn16pdkZGR9v/bbDadOHFCGRkZ+vbbb2Wz2Sw95qeffqomTZqoSZMm6tKli1asWKGRI0fq+eefr/I+q1evVnx8vIYPH27fVqdOHU2aNElnz57VX//6V0t1AVARw3kA3GrBggVq3769bDab3n77bX3++ecKDw+379+3b5+MMZo5c6ZmzpxZ6WMcO3ZMzZo109NPP60hQ4aoffv26tSpkwYMGKCRI0dec1jqu+++U3BwsNq0aeOw/YYbbqhVuzZt2qTZs2crNzdX58+fd9hns9kUExNT48dMS0vTs88+q6CgINWtW1cdOnRQbGzsNe/z3XffqV27dgoOdvyO3KFDB/t+AM5BiALgVj169LCfnZedna0+ffro3nvv1Z49e1SvXj2Vl5dLkqZNm6asrKxKH6Nt27aSpL59+2r//v3605/+pE8//VRvvfWWXnnlFS1cuFDjx4+vdV2rWqSzrKzM4ef9+/erf//+uvHGG/Xyyy8rKSlJYWFhWr16tV555RV7m2qqcePGyszMtHRfAK5HiALgMSEhIcrJydEtt9yi1157TdOnT1fr1q0l/TgEVZ0A0bBhQ40dO1Zjx47V2bNn1bdvXz355JNVhqgWLVqovLxc+/fvd+h92rNnT4WyDRo00OnTpytsv7o3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blq3bp19W3l5udatW6f09PRK75Oenu5QXpLWrl1rL9+qVSvFx8c7lCkuLlZeXp69THp6uk6fPq2CggJ7mfXr16u8vFxpaWmSfpw3tWPHDvvt6aefVv369bVjxw7deeedzjkAAADAZ4V6ugJTpkzR6NGjlZqaqh49emjevHk6d+6cxo4dK0kaNWqUmjVrppycHEnSww8/rIyMDL300ksaNGiQli1bpq1bt+rNN9+UJAUFBWny5Ml69tln1a5dO7Vq1UozZ85UYmKisrOzJUkdOnTQgAEDdN9992nhwoUqLS3VxIkTNWzYMPuZeR06dHCo59atWxUcHKxOnTq56cgAAABv5vEQNXToUB0/flyzZs1SYWGhUlJStGbNGvvE8EOHDik4+F8dZr169dJ7772nJ554Qo8//rjatWunjz76yCHcPProozp37pwmTJig06dPq0+fPlqzZo0iIiLsZZYuXaqJEyeqf//+Cg4O1t1336358+e7r+EAAMCneXydKH/GOlEAAPgen1gnCgAAwFcRogAAACwgRAEAAFhAiAIAALCAEAUAAGABIQoAAMACQhQAAIAFhCgAAAALCFEAAAAWEKIAAAAsIEQBAABYQIgCAACwgBAFAABgASEKAADAAkIUAACABYQoAAAACwhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAAAgAWEKAAAAAsIUQAAABYQogAAACwgRAEAAFhAiAIAALCAEAUAAGABIQoAAMACQhQAAIAFhCgAAAALCFEAAAAWEKIAAAAsIEQBAABYQIgCAACwgBAFAABgASEKAADAAkIUAACABYQoAAAACwhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAAAgAWEKAAAAAsIUQAAABYQogAAACwgRAEAAFhAiAIAALCAEAUAAGABIQoAAMACQhQAAIAFhCgAAAALCFEAAAAWEKIAAAAsIEQBAABYQIgCAACwwCtC1IIFC9SyZUtFREQoLS1NW7ZsuWb5FStW6MYbb1RERISSk5O1evVqh/3GGM2aNUsJCQmKjIxUZmam9u7d61Dm1KlTGjFihKKjoxUbG6tx48bp7Nmz9v179uzRLbfcori4OEVERKh169Z64oknVFpa6ryGAwAAn+XxELV8+XJNmTJFs2fP1rZt29SlSxdlZWXp2LFjlZbfvHmzhg8frnHjxmn79u3Kzs5Wdna2du7caS8zd+5czZ8/XwsXLlReXp6ioqKUlZWlixcv2suMGDFCu3bt0tq1a7Vq1Sp9/vnnmjBhgn1/nTp1NGrUKH366afas2eP5s2bp0WLFmn27NmuOxgAAMBnBBljjCcrkJaWpu7du+u1116TJJWXlyspKUkPPfSQpk+fXqH80KFDde7cOa1atcq+rWfPnkpJSdHChQtljFFiYqKmTp2qadOmSZJsNpvi4uK0ZMkSDRs2TLt371bHjh2Vn5+v1NRUSdKaNWs0cOBAHTlyRImJiZXWdcqUKcrPz9f//u//VqttxcXFiomJkc1mU3R0dI2OCwAA8Izqfn57tCfq0qVLKigoUGZmpn1bcHCwMjMzlZubW+l9cnNzHcpLUlZWlr38gQMHVFhY6FAmJiZGaWlp9jK5ubmKjY21ByhJyszMVHBwsPLy8ip93n379mnNmjXKyMiosj0lJSUqLi52uAEAAP/k0RB14sQJlZWVKS4uzmF7XFycCgsLK71PYWHhNctf+fd6ZZo2beqwPzQ0VA0bNqzwvL169VJERITatWunm2++WU8//XSV7cnJyVFMTIz9lpSUVGVZAADg2zw+J8rbLV++XNu2bdN7772nTz75RC+++GKVZWfMmCGbzWa/HT582I01BQAA7hTqySdv3LixQkJCVFRU5LC9qKhI8fHxld4nPj7+muWv/FtUVKSEhASHMikpKfYyV09cv3z5sk6dOlXhea/0JnXs2FFlZWWaMGGCpk6dqpCQkAp1Cw8PV3h4+PWaDQAA/IBHe6LCwsLUrVs3rVu3zr6tvLxc69atU3p6eqX3SU9PdygvSWvXrrWXb9WqleLj4x3KFBcXKy8vz14mPT1dp0+fVkFBgb3M+vXrVV5errS0tCrrW15ertLSUpWXl9e8sQAAwK94tCdK+vGMt9GjRys1NVU9evTQvHnzdO7cOY0dO1aSNGrUKDVr1kw5OTmSpIcfflgZGRl66aWXNGjQIC1btkxbt27Vm2++KUkKCgrS5MmT9eyzz6pdu3Zq1aqVZs6cqcTERGVnZ0uSOnTooAEDBui+++7TwoULVVpaqokTJ2rYsGH2M/OWLl2qOnXqKDk5WeHh4dq6datmzJihoUOHqk6dOu4/UAAAwKt4PEQNHTpUx48f16xZs1RYWKiUlBStWbPGPjH80KFDCg7+V4dZr1699N577+mJJ57Q448/rnbt2umjjz5Sp06d7GUeffRRnTt3ThMmTNDp06fVp08frVmzRhEREfYyS5cu1cSJE9W/f38FBwfr7rvv1vz58+37Q0ND9fzzz+sf//iHjDFq0aKFJk6cqEceecQNRwUAAHg7j68T5c9YJwoAAN/jE+tEAQAA+CpCFAAAgAWEKAAAAAsIUQAAABYQogAAACwgRAEAAFhAiAIAALCAEAUAAGABIQoAAMACQhQAAIAFhCgAAAALCFEAAAAWEKIAAAAsIEQBAABYQIgCAACwgBAFAABgASEKAADAAkIUAACABYQoAAAACwhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAAAgAWEKAAAAAsIUQAAABYQogAAACwgRAEAAFhAiAIAALCAEAUAAGBBjUPU6tWrNX78eD366KP65ptvHPb98MMPuvXWW51WOQAAAG9VoxD13nvv6Y477lBhYaFyc3PVtWtXLV261L7/0qVL+utf/+r0SgIAAHib0JoUfuGFF/Tyyy9r0qRJkqT3339f//Ef/6GLFy9q3LhxLqkgAACAN6pRiNq7d68GDx5s//mee+5RkyZNdMcdd6i0tFR33nmn0ysIAAB831HbBR04cU6tGkcpISbS09VxihqFqOjoaBUVFalVq1b2bbfccotWrVql22+/XUeOHHF6BQEAgG9bnn9IM1Z+pXIjBQdJOXcla2j35p6uVq3VaE5Ujx499D//8z8VtmdkZOjPf/6z5s2b56x6AQAAP3DUdsEeoCSp3EiPr9ypo7YLnq2YE9QoRD3yyCOKiIiodF+/fv305z//WaNGjXJKxQAAgO87cOKcPUBdUWaMDp4475kKOVGNhvO6du2qrl27qri4uNL93bp1U7du3ZxSMTiXP45FAwC8X6vGUQoOkkOQCgkKUsvGdT1XKSepUYiKjY1VUFDQdcuVlZVZrhCcz1/HogEA3i8hJlI5dyXr8ZU7VWaMQoKC9NxdnfziC32NQtSGDRvs/zfGaODAgXrrrbfUrFkzp1cM1lzd41TVWHTf9k384hcYAOD9hnZvrr7tm+jgifNq2biu33z+1ChEZWRkOPwcEhKinj17qnXr1k6tFKyprMcpqWHdKsei/eWXGADg/RJiIv3uc4dr5/mJqnqcosJCFHzVCKy/jEUDAOBJhCg/UdXZD+cvlSvnrmSF/N9cNn8aiwYAwJNqNJxXmepMNIfrXevsh/Q2jfxyLBoA4H0C6WzwGoWou+66y+Hnixcv6v7771dUVJTD9pUrV9a+ZqiR65394I9j0QAA7xJoZ4PXKETFxMQ4/PyrX/3KqZVB7fjr2Q8AAO8XiGeD1yhELV682FX1gJPQ4wQA8IRrrUzur59LTCwHAAC1dmVu7k/5+9nghCgAAFBrV+bmBtLZ4LU+Ow8AAEAKvLm5hCgAAOA0gTQ3l+E8AAAACwhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAKvCFELFixQy5YtFRERobS0NG3ZsuWa5VesWKEbb7xRERERSk5O1urVqx32G2M0a9YsJSQkKDIyUpmZmdq7d69DmVOnTmnEiBGKjo5WbGysxo0bp7Nnz9r3b9y4UUOGDFFCQoKioqKUkpKipUuXOq/RAADAp3k8RC1fvlxTpkzR7NmztW3bNnXp0kVZWVk6duxYpeU3b96s4cOHa9y4cdq+fbuys7OVnZ2tnTt32svMnTtX8+fP18KFC5WXl6eoqChlZWXp4sWL9jIjRozQrl27tHbtWq1atUqff/65JkyY4PA8nTt31ocffqgvv/xSY8eO1ahRo7Rq1SrXHQwAAOAzgowx5vrFXCctLU3du3fXa6+9JkkqLy9XUlKSHnroIU2fPr1C+aFDh+rcuXMOYaZnz55KSUnRwoULZYxRYmKipk6dqmnTpkmSbDab4uLitGTJEg0bNky7d+9Wx44dlZ+fr9TUVEnSmjVrNHDgQB05ckSJiYmV1nXQoEGKi4vT22+/Xa22FRcXKyYmRjabTdHR0TU6LgAAwDOq+/nt0Z6oS5cuqaCgQJmZmfZtwcHByszMVG5ubqX3yc3NdSgvSVlZWfbyBw4cUGFhoUOZmJgYpaWl2cvk5uYqNjbWHqAkKTMzU8HBwcrLy6uyvjabTQ0bNqxyf0lJiYqLix1uAADAP3k0RJ04cUJlZWWKi4tz2B4XF6fCwsJK71NYWHjN8lf+vV6Zpk2bOuwPDQ1Vw4YNq3ze999/X/n5+Ro7dmyV7cnJyVFMTIz9lpSUVGVZAADg2zw+J8oXbNiwQWPHjtWiRYt00003VVluxowZstls9tvhw4fdWEsAAOBOHg1RjRs3VkhIiIqKihy2FxUVKT4+vtL7xMfHX7P8lX+vV+bqieuXL1/WqVOnKjzvX//6Vw0ePFivvPKKRo0adc32hIeHKzo62uEGAAD8k0dDVFhYmLp166Z169bZt5WXl2vdunVKT0+v9D7p6ekO5SVp7dq19vKtWrVSfHy8Q5ni4mLl5eXZy6Snp+v06dMqKCiwl1m/fr3Ky8uVlpZm37Zx40YNGjRIzz//vMOZewAAADIetmzZMhMeHm6WLFlivv76azNhwgQTGxtrCgsLjTHGjBw50kyfPt1eftOmTSY0NNS8+OKLZvfu3Wb27NmmTp065quvvrKXmTNnjomNjTV/+tOfzJdffmmGDBliWrVqZS5cuGAvM2DAANO1a1eTl5dnvvjiC9OuXTszfPhw+/7169ebunXrmhkzZpijR4/abydPnqx222w2m5FkbDZbbQ4RAABwo+p+fns8RBljzKuvvmqaN29uwsLCTI8ePczf/vY3+76MjAwzevRoh/Lvv/++ad++vQkLCzM33XST+eSTTxz2l5eXm5kzZ5q4uDgTHh5u+vfvb/bs2eNQ5uTJk2b48OGmXr16Jjo62owdO9acOXPGvn/06NFGUoVbRkZGtdtFiAIAwPdU9/Pb4+tE+TPWiQIAwPf4xDpRAAAAvooQBQAAYAEhCkDAOWq7oM37T+io7YKnqwLAh4V6ugIA4E7L8w9pxsqvVG6k4CAp565kDe3e3NPVAuCD6IkCEDCO2i7YA5QklRvp8ZU76ZECYAkhCkDAOHDinD1AXVFmjA6eOO+ZCgHwaYQoAAGjVeMoBQc5bgsJClLLxnU9UyEAPo0QBSBgJMREKueuZIUE/ZikQoKC9NxdnZQQE+nhmgHwRUwsBxBQhnZvrr7tm+jgifNq2bguAQqAZYQoAAEnISaS8ASg1hjOAwAAsIAQBQAAYAEhCgAAwAJCFAAAgAWEKAAAAAsIUQAAABYQogAAACwgRAGQ9OPFeTfvP8HFeAGgmlhsE4CW5x/SjJVfqdxIwUFSzl3JGtq9uaerBQBejZ4oIMAdtV2wByhJKjfS4yt30iMFANdBiAIC3IET5+wB6ooyY3TwxHnPVAgAfAQhCghwrRpHKTjIcVtIUJBaNq7rmQoBgI8gRAEBLiEmUjl3JSsk6MckFRIUpOfu6sQFegHgOphYDkBDuzdX3/ZNdPDEebVsXJcABQDVQIgCIOnHHinCEwBUH8N5AFzC39ad8rf2AKg9eqIAOJ2/rTvlb+0B4Bz0RAFwKn9bd8rf2gPAeQhRAJzK39adqk57GOoDAhPDeajSUdsFHThxTq0aRzHhGNV2Zd2pnwYPX153qlXjKAVJ+mmOCpLs7WGoDwhc9EShUsvzD6n3nPW6d1Gees9Zr+X5hzxdJfiIgFh36v8WJ2WoDwhs9EShgqo+GPq2b+JfH4RwGX9ad+rAiXO6ajRPxkgHT5yXkalyqM9qm+kBBnwHIQoVXGsOCG/qqC5/WXfqesOTzhy6ZGgQ8C0M56ECrqUG/Mu1hiedOXTJ0CDge+iJQgVXPhgeX7lTZcb455wWoAauNTzprKFLeoDh7/xxqJoQhUr505wWwBmuNTzpjKFLfzurEfgpfx2qZjgPVUqIiVR6m0YEKMANAuKsRgQkfx6qpicKALwEPcDwR/48VE2IAgAv4i9nNQJX+PNQNcN5AADAZfx5qJqeKAAA4FL+OlRNiAIAL+KPp4EDkn8OVROi4NX4QEEg8dfTwAF/RYiC1+IDBYGEa1YCvoeJ5fBK/ryuCFCZa50GDsA7EaLglfhAQaDhmpWA7yFEwSvxgYJA4+ungR+1XdDm/SfoLUZAYU4UvBIXQUYg8tXTwJm/iEAVZIwx1y8GK4qLixUTEyObzabo6GhPV8cnHbVd8LkPFCCQHLVdUO856yusRv3F9Fv4m4XPqu7nNz1R8Gr+uK4I4E/8+bpowPUwJwoAYBnzFxHICFEAAAc1mSTu6xPigdpgOA8AqiFQVs+3MkncVyfEA7VFiAKA6wiUs89qs2o68xcRiBjOA4BrCKTV81nkFqgZQhQAXEMgBQsmiQM1Q4iCV2MVZLjb1b9zgRQsmCQO1AxzouC1AmUeCrxHVb9zgbR6PpPEgepjxXIXYsVy61gFGe52vd85Vs8HAgcrlsOnsQoy3O16v3OcfQbgah6fE7VgwQK1bNlSERERSktL05YtW65ZfsWKFbrxxhsVERGh5ORkrV692mG/MUazZs1SQkKCIiMjlZmZqb179zqUOXXqlEaMGKHo6GjFxsZq3LhxOnv2rH3/xYsXNWbMGCUnJys0NFTZ2dlOay+qJ5DmocA78DsHoKY8GqKWL1+uKVOmaPbs2dq2bZu6dOmirKwsHTt2rNLymzdv1vDhwzVu3Dht375d2dnZys7O1s6dO+1l5s6dq/nz52vhwoXKy8tTVFSUsrKydPHiRXuZESNGaNeuXVq7dq1WrVqlzz//XBMmTLDvLysrU2RkpCZNmqTMzEzXHQBUiQmucDd+5wDUlEfnRKWlpal79+567bXXJEnl5eVKSkrSQw89pOnTp1coP3ToUJ07d06rVq2yb+vZs6dSUlK0cOFCGWOUmJioqVOnatq0aZIkm82muLg4LVmyRMOGDdPu3bvVsWNH5efnKzU1VZK0Zs0aDRw4UEeOHFFiYqLDc44ZM0anT5/WRx99VOP2MSeq9piHEli8YVVwfueczxteV6Amqvv57bGeqEuXLqmgoMChpyc4OFiZmZnKzc2t9D65ubkVeoaysrLs5Q8cOKDCwkKHMjExMUpLS7OXyc3NVWxsrD1ASVJmZqaCg4OVl5dXqzaVlJSouLjY4YbaSYiJVHqbRrzxBoDl+YfUe8563bsoT73nrNfy/EMeqQe/c87lLa8r4AoeC1EnTpxQWVmZ4uLiHLbHxcWpsLCw0vsUFhZes/yVf69XpmnTpg77Q0ND1bBhwyqft7pycnIUExNjvyUlJdXq8YBAUZtVwVlLzHsF0mrvCEwen1juT2bMmCGbzWa/HT582NNVAnyC1VXB6eXwboG02jsCk8dCVOPGjRUSEqKioiKH7UVFRYqPj6/0PvHx8dcsf+Xf65W5euL65cuXderUqSqft7rCw8MVHR3tcANwfVbOjKOXw/txxiP8ncdCVFhYmLp166Z169bZt5WXl2vdunVKT0+v9D7p6ekO5SVp7dq19vKtWrVSfHy8Q5ni4mLl5eXZy6Snp+v06dMqKCiwl1m/fr3Ky8uVlpbmtPYBqD4rZ8bRy+H9OOMRteXtw/UeXWxzypQpGj16tFJTU9WjRw/NmzdP586d09ixYyVJo0aNUrNmzZSTkyNJevjhh5WRkaGXXnpJgwYN0rJly7R161a9+eabkqSgoCBNnjxZzz77rNq1a6dWrVpp5syZSkxMtK/11KFDBw0YMED33XefFi5cqNLSUk2cOFHDhg1zODPv66+/1qVLl3Tq1CmdOXNGO3bskCSlpKS47fgAgaSmlxu50stx9Qrj9HJ4Fy4jA6t84dJfHg1RQ4cO1fHjxzVr1iwVFhYqJSVFa9assU8MP3TokIKD/9VZ1qtXL7333nt64okn9Pjjj6tdu3b66KOP1KlTJ3uZRx99VOfOndOECRN0+vRp9enTR2vWrFFERIS9zNKlSzVx4kT1799fwcHBuvvuuzV//nyHug0cOFDfffed/eeuXbtK+nExT7gPp0YHlpqsCn6llyNQrmnny/xttXfel1yvquH6vu2beNUx59p5LsQ6UbXjC99C4Hms6+R8hISq8b7kHpv3n9C9iyouO/TH+3oqvU0jlz8/186DA197U/SVbyHwPH/r5fA0QkLVeF9yH18ZrmeJgwDgi6eBM2kYcD/OeLw23pfcx1dOSqAnys/56jcnX/kWAviTa4UEb36/cBfel9zLF05KoCfKz/nqNydf+RYC+BPWdbo23pfcz9svw0RPlJ/z5W9OvvAtBPAnnPF4fbwv4ac4O8+FvOXsvOX5hyq8KTJRFEBVOOMRgY6z82DHNycANcEZj0D1EKICBG+KAAA4FxPLAQAIYN5+fTpvRk8UAAABisVVa4eeKAAAAhCLq9YeIQoAgADkq+sIehNCFACfxnwOwBoWV609QhQAn+WL14UEvAUrsNcei226kLcstgn4o6O2C+o9Z32F1fi/mH4LHwJADbC4akUstgnAr3GxXMA5WEfQOobzAPgk5nMAgc0b5kMSogD4JOZzAIHLW+ZDMifKhXxlTtRR2wUdOHFOrRpH8QEEn8N8DuBfAuH93B3zIZkThWphtVr4OuZzAD9yxfu5N4Yyb5oPyXBeAPOW1WrdNa7tDePn1+Lt9QPgvVzxfu4tQ2ZX86b5kPREBTBvSPPu6gnz9h43b68fUBve2Jvhb5z9fl5VKOvbvonHX8Mr8yEfX7lTZcZ4dD4kISqAXUnzV48ruyvNH7Vd0PQPv9KVpy830vSVXzn9j9Sb3wwk768fUBt8QXAPZ7+fe8OX7GsZ2r25+rZv4vH5kAznBTBPn91U8N0PuvqsBmOkbd/94NTn8fbrQ3l7/QCrvGXKQCBw9vu5Nw2ZVSUhJlLpbRp5NNTRExXgPJnmqzox1Nnni3q6x+16vL1+gFXe3pvhb5z5fu5NQ2bejBAFj53dlNqyoYIkh96oIEndWjZw6vN4+5uBt9cP7uWr84cqqzdfENzPme/n3jJk5s1YJ8qFfGWdKE9ann9IMz78SuX6cWw5527XzZfw9vWEvL1+cD1fnT90rXovzz9U4QuCL7QJga26n9+EKBciRFUP4QFX+GovjDP46gWVq1Pvqv7GA/n19gSOd/Wx2CZ8BoslQvLdXhhn8dX5Q9Wpd2V/44H+ersbx9s1ODsPgMdxFpdvnA1VGSv15vV2L4636xCiwErZ8DiWefD8kiNWWak3r7d7cbxdh+G8AFHVWLg3dPEyTu8dPPk6cBbXj3z1bKia1tsXXm9/el/yhePtqwhRAaCqoOQNK2V7Q4iD518Hlnn4F1+dI1iTenv76+3pvwdn8/bj7cs4O8+FvOHsvGudOXPgxDnduyivwn3+eF9Ppbdp5NG68cftPt70OnCmZmDxxtfbm/4enM0bj7e34uw8SLr2WLinu3h99Wwkf+Ntr4OpcDEg+Ctv7HXztr8HZ/LG4+3rmFju56515oynJ7L66tlI/sZbXofl+YfUe8563bsoT73nrNfy/ENufX5A8p6/B/gGQpSfu15QGtq9ub6Yfov+eF9PfTH9Fo/Mg/G1s5HczdVnT3rD68Ap2PAW3vD3AN/BnCgX8oY5UVd481i4N9fN09w5wdWTr8Pm/Sc8Oj8PuBrvS4GNOVFw4M1j4d5cN09y99mTnnwdPD0/D7ga70uoDobzfFAgLY4ZSG29WiAtkMcQCgBfRE+Uj/G39UuuJZDaWplA653x1YUmrfKnxRyBQEVPlA8JpMm3gdTWK67udQvE3pmEmEilt2nk122UOBMR8Bf0RPkQf16/5GqB1Fap6l63QOudCQTecKUAAM5BT5QPCaT1SwKprdfrdQuU3plAEUhz3QB/R4jyIYE0vBNIbfWFD9VAnuDvbIH0BQHwdwzn+ZhAGt7x5bbWZNKwKyaQO3PScqBP8Hc2LgYL+A8W23Qhb1psE+5zrdBRVbhZnn+owoeq1aDizNDjzxdj9TQWc/QOnCWJyrDYJuAB15o0/Pk/jlcZbpzV6+bsScuBNsHfnVjM8drcEW7oZUVtEaIAJ6oqdBQc/OG64cYZH6rODj2BtlYVvIM7wg1nScIZmFgOn+StE52rmjSsq4KI5JrJ486etOzuCf7e+rrCfdy1RpwvnNAB70dPFHyON3fBVzVpuFuLBm7p0XHFpGV3TfD35tcV7uOuIWR6WeEMhCg/4++TJH2hC76q0OGuM7JcEXpcPX/HF15XuIe7ws31vnD4+3spnIMQ5UcC4Zu8r0x0rix0XC/cOPNN29cmLfvK6wrXc2e4qepvMhDeS+EchCg/ESjf5D3RBf/3wz9oy8FT6tGyobokNajVY1UVbgL9TZuhFfyUO8PN1X+TgfJeCudgYrmfCJRJku6e6Dz1/R0asmCzfvvJNxqyYLOmvr/D6c8RiBdbvlogrVCP6rn6ckdMOIc3oifKTwTSN3l3TXT+++Ef9OG2fzps+3DbPzUqvUWte6R+iqGsH/nyCvW4NmcMwTHhHN6Inig/EWjf5N1xUd4tB09Vun3rwR+c+jxcS+1fuNiy/1mef0i956zXvYvy1HvOei3PP1St+1293IW7/k4C7b0UtUNPlB/hm7xz9WjZsNLtqS1/7IVy1gRXrqUGf2V1flFVc598+QxX+CdClJ/xtbOyvFmXpAa6++fNHIb07v55M3VJanDdCa41DVi8acMfWRmCu1bwcuffybXeS515sgl8GyEKuIaX7knRqPQW2nrwB6W2bKAuSQ2u++3a6hlEBGD4Gyvzi64XvDz9dzL1/R0Vvli9dE+Kx+oDz/KKOVELFixQy5YtFRERobS0NG3ZsuWa5VesWKEbb7xRERERSk5O1urVqx32G2M0a9YsJSQkKDIyUpmZmdq7d69DmVOnTmnEiBGKjo5WbGysxo0bp7NnzzqU+fLLL3XzzTcrIiJCSUlJmjt3rnMaDJ/SJamBxt3c2v6N81pv8pxph58K9MvYWJlf5M1zBKs62eTvh3+cJxnor3cg8niIWr58uaZMmaLZs2dr27Zt6tKli7KysnTs2LFKy2/evFnDhw/XuHHjtH37dmVnZys7O1s7d+60l5k7d67mz5+vhQsXKi8vT1FRUcrKytLFixftZUaMGKFdu3Zp7dq1WrVqlT7//HNNmDDBvr+4uFi//OUv1aJFCxUUFOiFF17Qk08+qTfffNN1BwM+4Vpv8pwejSusTqj2N0O7N9cX02/RH+/rqS+m33LdXllvntj90fZ/Vrr9T9u/5/UOUEHGGHP9Yq6Tlpam7t2767XXXpMklZeXKykpSQ899JCmT59eofzQoUN17tw5rVq1yr6tZ8+eSklJ0cKFC2WMUWJioqZOnapp06ZJkmw2m+Li4rRkyRINGzZMu3fvVseOHZWfn6/U1FRJ0po1azRw4EAdOXJEiYmJev311/Wb3/xGhYWFCgsLkyRNnz5dH330kb755ptqta24uFgxMTGy2WyKjo6u1XGCd1mef6jCBNeh3ZvrqO2Ces9ZX2H44ovpt3jFhwDcg9+D2jtqu+B1cwSf+niXFm8+WGH70NSfaUXBEV5vP1Ldz2+P9kRdunRJBQUFyszMtG8LDg5WZmamcnNzK71Pbm6uQ3lJysrKspc/cOCACgsLHcrExMQoLS3NXiY3N1exsbH2ACVJmZmZCg4OVl5enr1M37597QHqyvPs2bNHP/xQ+SnuJSUlKi4udrjBP1X17dqbv0XDfeiRrD1vXO4iu2tipds7NYvh9Q5QHp1YfuLECZWVlSkuLs5he1xcXJW9PYWFhZWWLywstO+/su1aZZo2beqwPzQ0VA0bNnQo06pVqwqPcWVfgwYVz8jIycnRU089VXWD4VeqmuDKmXZgwUb/VNUZu5kd4zT741283gHI43Oi/MmMGTNks9nst8OHD3u6SvAQb/wWDfehR9J/vXRPiv70YC/NHNRBf3qwl166J4XXO4B5tCeqcePGCgkJUVFRkcP2oqIixcfHV3qf+Pj4a5a/8m9RUZESEhIcyqSkpNjLXD1x/fLlyzp16pTD41T2PD99jquFh4crPDy8yvYCCBz0SPqvLkkNKqwPxesdmDzaExUWFqZu3bpp3bp19m3l5eVat26d0tPTK71Penq6Q3lJWrt2rb18q1atFB8f71CmuLhYeXl59jLp6ek6ffq0CgoK7GXWr1+v8vJypaWl2ct8/vnnKi0tdXieG264odKhPAC4Gj2SgYXXOwAZD1u2bJkJDw83S5YsMV9//bWZMGGCiY2NNYWFhcYYY0aOHGmmT59uL79p0yYTGhpqXnzxRbN7924ze/ZsU6dOHfPVV1/Zy8yZM8fExsaaP/3pT+bLL780Q4YMMa1atTIXLlywlxkwYIDp2rWrycvLM1988YVp166dGT58uH3/6dOnTVxcnBk5cqTZuXOnWbZsmalbt6554403qt02m81mJBmbzVabQwQAANyoup/fHg9Rxhjz6quvmubNm5uwsDDTo0cP87e//c2+LyMjw4wePdqh/Pvvv2/at29vwsLCzE033WQ++eQTh/3l5eVm5syZJi4uzoSHh5v+/fubPXv2OJQ5efKkGT58uKlXr56Jjo42Y8eONWfOnHEo8/e//9306dPHhIeHm2bNmpk5c+bUqF2EKAAAfE91P789vk6UP2OdKAAAfI9PrBMFAADgqwhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAAAgAUevQCxv7uyjmlxcbGHawIAAKrryuf29dYjJ0S50JkzZyRJSUlJHq4JAACoqTNnzigmJqbK/Vz2xYXKy8v1/fffq379+goKCnLa4xYXFyspKUmHDx8OyMvJBHr7JY5BoLdf4hgEevsljoEr22+M0ZkzZ5SYmKjg4KpnPtET5ULBwcH62c9+5rLHj46ODsg/nCsCvf0SxyDQ2y9xDAK9/RLHwFXtv1YP1BVMLAcAALCAEAUAAGABIcoHhYeHa/bs2QoPD/d0VTwi0NsvcQwCvf0SxyDQ2y9xDLyh/UwsBwAAsICeKAAAAAsIUQAAABYQogAAACwgRAEAAFhAiPJSCxYsUMuWLRUREaG0tDRt2bKlyrK7du3S3XffrZYtWyooKEjz5s1zX0VdpCbtX7RokW6++WY1aNBADRo0UGZm5jXL+4qaHIOVK1cqNTVVsbGxioqKUkpKiv7whz+4sbbOV5P2/9SyZcsUFBSk7Oxs11bQDWpyDJYsWaKgoCCHW0REhBtr63w1/R04ffq0HnzwQSUkJCg8PFzt27fX6tWr3VRb16jJMejXr1+F34GgoCANGjTIjTV2rpr+DsybN0833HCDIiMjlZSUpEceeUQXL150XQUNvM6yZctMWFiYefvtt82uXbvMfffdZ2JjY01RUVGl5bds2WKmTZtm/vjHP5r4+HjzyiuvuLfCTlbT9t97771mwYIFZvv27Wb37t1mzJgxJiYmxhw5csTNNXeemh6DDRs2mJUrV5qvv/7a7Nu3z8ybN8+EhISYNWvWuLnmzlHT9l9x4MAB06xZM3PzzTebIUOGuKeyLlLTY7B48WITHR1tjh49ar8VFha6udbOU9P2l5SUmNTUVDNw4EDzxRdfmAMHDpiNGzeaHTt2uLnmzlPTY3Dy5EmH13/nzp0mJCTELF682L0Vd5Katn/p0qUmPDzcLF261Bw4cMD85S9/MQkJCeaRRx5xWR0JUV6oR48e5sEHH7T/XFZWZhITE01OTs5179uiRQufD1G1ab8xxly+fNnUr1/fvPPOO66qosvV9hgYY0zXrl3NE0884YrquZyV9l++fNn06tXLvPXWW2b06NE+H6JqegwWL15sYmJi3FQ716tp+19//XXTunVrc+nSJXdV0eVq+z7wyiuvmPr165uzZ8+6qoouVdP2P/jgg+bWW2912DZlyhTTu3dvl9WR4Twvc+nSJRUUFCgzM9O+LTg4WJmZmcrNzfVgzdzDGe0/f/68SktL1bBhQ1dV06VqewyMMVq3bp327Nmjvn37urKqLmG1/U8//bSaNm2qcePGuaOaLmX1GJw9e1YtWrRQUlKShgwZol27drmjuk5npf0ff/yx0tPT9eCDDyouLk6dOnXSc889p7KyMndV26mc8V74+9//XsOGDVNUVJSrqukyVtrfq1cvFRQU2If8vv32W61evVoDBw50WT25ALGXOXHihMrKyhQXF+ewPS4uTt98842HauU+zmj/Y489psTERIc/Pl9i9RjYbDY1a9ZMJSUlCgkJ0e9+9zv94he/cHV1nc5K+7/44gv9/ve/144dO9xQQ9ezcgxuuOEGvf322+rcubNsNptefPFF9erVS7t27XLphdBdwUr7v/32W61fv14jRozQ6tWrtW/fPj3wwAMqLS3V7Nmz3VFtp6rte+GWLVu0c+dO/f73v3dVFV3KSvvvvfdenThxQn369JExRpcvX9b999+vxx9/3GX1JETBr8yZM0fLli3Txo0bfX5SbU3Vr19fO3bs0NmzZ7Vu3TpNmTJFrVu3Vr9+/TxdNZc6c+aMRo4cqUWLFqlx48aero7HpKenKz093f5zr1691KFDB73xxht65plnPFgz9ygvL1fTpk315ptvKiQkRN26ddM///lPvfDCCz4Zomrr97//vZKTk9WjRw9PV8VtNm7cqOeee06/+93vlJaWpn379unhhx/WM888o5kzZ7rkOQlRXqZx48YKCQlRUVGRw/aioiLFx8d7qFbuU5v2v/jii5ozZ44+++wzde7c2ZXVdCmrxyA4OFht27aVJKWkpGj37t3KycnxuRBV0/bv379fBw8e1ODBg+3bysvLJUmhoaHas2eP2rRp49pKO5kz3gfq1Kmjrl27at++fa6ooktZaX9CQoLq1KmjkJAQ+7YOHTqosLBQly5dUlhYmEvr7Gy1+R04d+6cli1bpqefftqVVXQpK+2fOXOmRo4cqfHjx0uSkpOTde7cOU2YMEG/+c1vFBzs/BlMzInyMmFhYerWrZvWrVtn31ZeXq5169Y5fMv0V1bbP3fuXD3zzDNas2aNUlNT3VFVl3HW70B5eblKSkpcUUWXqmn7b7zxRn311VfasWOH/XbHHXfolltu0Y4dO5SUlOTO6juFM34HysrK9NVXXykhIcFV1XQZK+3v3bu39u3bZw/QkvSPf/xDCQkJPhegpNr9DqxYsUIlJSX61a9+5epquoyV9p8/f75CULoSqo2rLhPssinrsGzZsmUmPDzcLFmyxHz99ddmwoQJJjY21n668siRI8306dPt5UtKSsz27dvN9u3bTUJCgpk2bZrZvn272bt3r6eaUCs1bf+cOXNMWFiY+eCDDxxO7z1z5oynmlBrNT0Gzz33nPn000/N/v37zddff21efPFFExoaahYtWuSpJtRKTdt/NX84O6+mx+Cpp54yf/nLX8z+/ftNQUGBGTZsmImIiDC7du3yVBNqpabtP3TokKlfv76ZOHGi2bNnj1m1apVp2rSpefbZZz3VhFqz+nfQp08fM3ToUHdX1+lq2v7Zs2eb+vXrmz/+8Y/m22+/NZ9++qlp06aNueeee1xWR0KUl3r11VdN8+bNTVhYmOnRo4f529/+Zt+XkZFhRo8ebf/5wIEDRlKFW0ZGhvsr7iQ1aX+LFi0qbf/s2bPdX3Enqskx+M1vfmPatm1rIiIiTIMGDUx6erpZtmyZB2rtPDVp/9X8IUQZU7NjMHnyZHvZuLg4M3DgQLNt2zYP1Np5avo7sHnzZpOWlmbCw8NN69atzW9/+1tz+fJlN9fauWp6DL755hsjyXz66adurqlr1KT9paWl5sknnzRt2rQxERERJikpyTzwwAPmhx9+cFn9goxxVR8XAACA/2JOFAAAgAWEKAAAAAsIUQAAABYQogAAACwgRAEAAFhAiAIAALCAEAUAAGABIQoA/MCYMWOUnZ3t6WoAAYUQBcClxowZo6CgIPutUaNGGjBggL788ktPV80pftq2K7c+ffq47PkOHjyooKAg7dixw2H7f/3Xf2nJkiUue14AFRGiALjcgAEDdPToUR09elTr1q1TaGiobr/9dk9Xy2kWL15sb9/Ro0f18ccfV1qutLTUZXWIiYlRbGysyx4fQEWEKAAuFx4ervj4eMXHxyslJUXTp0/X4cOHdfz4cd16662aOHGiQ/njx48rLCzMfgX3li1b6plnntHw4cMVFRWlZs2aacGCBQ73efnll5WcnKyoqCglJSXpgQce0NmzZ+37v/vuOw0ePFgNGjRQVFSUbrrpJq1evVqS9MMPP2jEiBFq0qSJIiMj1a5dOy1evLja7YuNjbW3Lz4+Xg0bNrT3GC1fvlwZGRmKiIjQ0qVLdfLkSQ0fPlzNmjVT3bp1lZycrD/+8Y8Oj1deXq65c+eqbdu2Cg8PV/PmzfXb3/5WktSqVStJUteuXRUUFKR+/fpJqjicV1JSokmTJqlp06aKiIhQnz59lJ+fb9+/ceNGBQUFad26dUpNTVXdunXVq1cv7dmzp9rtBgIdIQqAW509e1bvvvuu2rZtq0aNGmn8+PF67733VFJSYi/z7rvvqlmzZrr11lvt21544QV16dJF27dv1/Tp0/Xwww9r7dq19v3BwcGaP3++du3apXfeeUfr16/Xo48+at//4IMPqqSkRJ9//rm++uorPf/886pXr54kaebMmfr666/1P//zP9q9e7def/11NW7c2CntvVLX3bt3KysrSxcvXlS3bt30ySefaOfOnZowYYJGjhypLVu22O8zY8YMzZkzx16v9957T3FxcZJkL/fZZ5/p6NGjWrlyZaXP++ijj+rDDz/UO++8o23btqlt27bKysrSqVOnHMr95je/0UsvvaStW7cqNDRU//Ef/+GUdgMBwWWXNgYAY8zo0aNNSEiIiYqKMlFRUUaSSUhIMAUFBcYYYy5cuGAaNGhgli9fbr9P586dzZNPPmn/uUWLFmbAgAEOjzt06FBz2223Vfm8K1asMI0aNbL/nJyc7PCYPzV48GAzduxYS+2TZCIiIuzti4qKMv/93/9tDhw4YCSZefPmXfcxBg0aZKZOnWqMMaa4uNiEh4ebRYsWVVr2yuNu377dYfvo0aPNkCFDjDHGnD171tSpU8csXbrUvv/SpUsmMTHRzJ071xhjzIYNG4wk89lnn9nLfPLJJ0aSuXDhQk0OARCw6IkC4HK33HKLduzYoR07dmjLli3KysrSbbfdpu+++04REREaOXKk3n77bUnStm3btHPnTo0ZM8bhMdLT0yv8vHv3bvvPn332mfr3769mzZqpfv36GjlypE6ePKnz589LkiZNmqRnn31WvXv31uzZsx0mtv/617/WsmXLlJKSokcffVSbN2+uUfteeeUVe/t27NihX/ziF/Z9qampDmXLysr0zDPPKDk5WQ0bNlS9evX0l7/8RYcOHZIk7d69WyUlJerfv3+N6vBT+/fvV2lpqXr37m3fVqdOHfXo0cPhmElS586d7f9PSEiQJB07dszycwOBhBAFwOWioqLUtm1btW3bVt27d9dbb72lc+fOadGiRZKk8ePHa+3atTpy5IgWL16sW2+9VS1atKj24x88eFC33367OnfurA8//FAFBQX2OVOXLl2yP8e3336rkSNH6quvvlJqaqpeffVVSbIHukceeUTff/+9+vfvr2nTplX7+ePj4+3ta9u2raKiohza/lMvvPCC/uu//kuPPfaYNmzYoB07digrK8tez8jIyGo/rzPUqVPH/v+goCBJP87JAnB9hCgAbhcUFKTg4GBduHBBkpScnKzU1FQtWrRI7733XqXzcv72t79V+LlDhw6SpIKCApWXl+ull15Sz5491b59e33//fcVHiMpKUn333+/Vq5cqalTp9pDnCQ1adJEo0eP1rvvvqt58+bpzTffdGaT7TZt2qQhQ4boV7/6lbp06aLWrVvrH//4h31/u3btFBkZaZ9Uf7WwsDBJP/ZoVaVNmzYKCwvTpk2b7NtKS0uVn5+vjh07OqklAEI9XQEA/q+kpESFhYWSfjwT7rXXXtPZs2c1ePBge5nx48dr4sSJioqK0p133lnhMTZt2qS5c+cqOztba9eu1YoVK/TJJ59Iktq2bavS0lK9+uqrGjx4sDZt2qSFCxc63H/y5Mm67bbb1L59e/3www/asGGDPYTNmjVL3bp100033aSSkhKtWrXKvs/Z2rVrpw8++ECbN29WgwYN9PLLL6uoqMgebiIiIvTYY4/p0UcfVVhYmHr37q3jx49r165dGjdunJo2barIyEitWbNGP/vZzxQREaGYmBiH54iKitKvf/1r/ed//qcaNmyo5s2ba+7cuTp//rzGjRvnknYBgYieKAAut2bNGiUkJCghIUFpaWnKz8/XihUr7KfnS9Lw4cMVGhqq4cOHKyIiosJjTJ06VVu3blXXrl317LPP6uWXX1ZWVpYkqUuXLnr55Zf1/PPPq1OnTlq6dKlycnIc7l9WVqYHH3xQHTp00IABA9S+fXv97ne/k/Rj786MGTPUuXNn9e3bVyEhIVq2bJlLjsUTTzyhn//858rKylK/fv0UHx9fYaXxmTNnaurUqZo1a5Y6dOigoUOH2ucphYaGav78+XrjjTeUmJioIUOGVPo8c+bM0d13362RI0fq5z//ufbt26e//OUvatCggUvaBQSiIGOM8XQlAODgwYNq06aN8vPz9fOf/9xhX8uWLTV58mRNnjzZM5UDgEownAfAo0pLS3Xy5Ek98cQT6tmzZ4UABQDeiuE8AB61adMmJSQkKD8/v8I8Jk977rnnVK9evUpvt912m6erB8DDGM4DgCqcOnWqwgrfV0RGRqpZs2ZurhEAb0KIAgAAsIDhPAAAAAsIUQAAABYQogAAACwgRAEAAFhAiAIAALCAEAUAAGABIQoAAMACQhQAAIAF/x/GIErhetdYjgAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_48.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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Bx+U5vXs2dMitqKiAq+//jrCwsLQtGlTNGrUCN9//z3y8vIAADk5OSgrK8PgwYOtKsPtTp06hevXr6Nv377StAYNGiAiIsJinwFA165dpf8HBgYCAM6fPy9720TuhEkUEdmct7c32rZti7Zt26JXr15YuXIlrly5ghUrVgAAJk2ahO3bt+Ps2bNYvXo1HnjgAbRq1arW6z99+jQeeeQRdO3aFV999RWysrKkPlPl5eXSNn777TeMGTMGhw4dQs+ePbFkyRIAkBK6559/HufOncPgwYPx4osv1nr7BoNBql/btm3h7e1tUffbvf3223j//ffx8ssvY8eOHcjOzkZMTIxUTi8vr1pvtz40aNBA+r9KpQJws08WEd0dkygisjuVSgW1Wo3S0lIAQFhYGHr27IkVK1bgs88+q7Jfzk8//VTpfceOHQEAWVlZMJvNeOedd9C7d2+0b98e586dq7SO4OBgPPPMM9i0aRNeeOEFKYkDgObNm2PcuHFYt24dFi1ahI8//rg+qyzZs2cPhg8fjr/97W/o1q0bWrdujV9//VWa365dO3h5eUmd6u+k0WgA3GzRqk6bNm2g0WiwZ88eadr169eRmZmJTp061VNNiMhT6QIQkesrKyuD0WgEcPNOuA8++ACXL1/GsGHDpJhJkyZhypQp8Pb2xmOPPVZpHXv27MGCBQsQFxeH7du3Y+PGjfj2228BAG3btsX169exZMkSDBs2DHv27MHy5cstlp8+fTqGDh2K9u3b488//8SOHTukJGzOnDno0aMHOnfujLKyMmzZskWaV9/atWuHL7/8Env37kWTJk3w7rvvoqCgQEpudDodXn75Zbz00kvQaDTo27cvLly4gCNHjmDixInw9/eHl5cXtm3bhnvuuQc6nQ56vd5iG97e3nj22Wfxz3/+E02bNkXLli2xYMECXL16FRMnTrRJvYjcEVuiiMjmtm3bhsDAQAQGBiIyMhKZmZnYuHGjdHs+AMTHx8PT0xPx8fHQ6XSV1vHCCy9g//796N69O+bNm4d3330XMTExAIBu3brh3XffxVtvvYUuXbpg/fr1SE5Otli+oqICkydPRseOHTFkyBC0b98eH374IYCbrTszZ85E165d0b9/f3h4eGDDhg022RezZs3Cfffdh5iYGAwcOBAGg6HSSOOzZ8/GCy+8gDlz5qBjx44YOXKk1E/J09MTixcvxkcffYSgoCAMHz68yu3Mnz8fjz/+OMaMGYP77rsPJ0+exPfff48mTZrYpF5E7kglhBBKF4KI6PTp02jTpg0yMzNx3333WcwLCQnB9OnTMX36dGUKR0RUBV7OIyJFXb9+HRcvXsSsWbPQu3fvSgkUEZGj4uU8IlLUnj17EBgYiMzMzEr9mJT25ptvolGjRlW+hg4dqnTxiEhhvJxHRFSNoqKiSiN83+Ll5YUWLVrYuURE5EiYRBERERHJwMt5RERERDIwiSIiIiKSgUkUERERkQxMooiIiIhkYBJFREREJAOTKCIiIiIZmEQRERERycAkioiIiEiG/wf8XCWWtmCl4wAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_49.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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n38ufvjhBzFu3DgREhIiqqqqpJhRo0aJ/v37i4KCArFr1y4RGhoq4uPjpfW1tbXivvvuE8OGDRP79+8X+/btEzqdTvzxj39sUf14dR4REZHtae75W9EkSgghXn/9ddGlSxfh4uIiIiMjxffffy+ti46OFpMnTzaL//jjj0WPHj2Ei4uLuPfee8WXX35ptt5kMomFCxcKPz8/4erqKkaOHClOnDhhFnP58mURHx8vOnToIDw8PMTUqVPFlStXzGJ+/vln8eijj4oOHToIPz8/MWXKFHH58uUW1Y1JFBERke1p7vlbJYQQyraF2a+Kigp4enrCaDRyfBQREZGNaO75m1fnEREREcnAJIqIiIhIBiZRRERERDIwiSIiIiKSgUkUERERkQxMooiIiIhkYBJFREREJAOTKCIiIiIZmEQRERERycAkioiIiEgGJlFEREREMjCJIiIiIpKBSRQRERGRDEyiiIiIiGRgEkVEREQkA5MoIiIiIhmYRBERERHJwCSKiIiISAYmUUREREQyMIkiIiIikoFJFBEREZEMTKKIiIiIZGASRURERCQDkygiIiIiGZhEEREREcnAJIqIiIgs7oKxCntOl+KCsUrporQaZ6ULQERERPYtq/As5m06BJMA1Cog/dEwxA3sonSx7hhbooiIiMhiLhirpAQKAEwCmL/psF20SDGJIiIiIospLq2UEqg6tULgTOk1ZQrUiphEERERkcWE+LhDrTJf5qRSIdinvTIFakVMooiIiMhi/D3dkP5oGJxUv2VSTioVXn60D/w93RQu2Z2ziiRq1apVCA4OhkajgU6nw969e5uM37hxI3r27AmNRoOwsDBs27bNbL0QAosWLYK/vz/c3Nyg1+tx8uRJs5iysjIkJCTAw8MDXl5eSExMxNWrV6X1Z86cgUqlqvf4/vvvW6/iREREDiBuYBfsSh2Bj6YPwq7UEXYxqBywgiQqKysLKSkpSEtLw/79+9GvXz/ExMTg4sWLDcbv2bMH8fHxSExMxIEDBxAbG4vY2FgcPnxYilm2bBkyMjKQmZmJgoICuLu7IyYmBtevX5diEhIScOTIEeTk5GDr1q3YuXMnkpKS6r3et99+iwsXLkiPAQMGtP5BICIisnP+nm6I6naXXbRASYTCIiMjxYwZM6TntbW1IiAgQKSnpzcY//jjj4sxY8aYLdPpdOLJJ58U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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_50.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAHHCAYAAACRAnNyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA/o0lEQVR4nO3de1yUZf7/8fcAcggVFVDQEBS0LFFbUVcxD2WZlWXtbqZmWbltqWvn1MrsLLYd3E5WbqnftGQra91qLU9t37RN1NzSzDyGFR5IG0JoRLh+f/hjviEHGZiZ+56Z1/Px4LHLPTczn2tC7s98Ptd13Q5jjBEAAIANhVkdAAAAQG1IVAAAgG2RqAAAANsiUQEAALZFogIAAGyLRAUAANgWiQoAALAtEhUAAGBbJCoAAMC2SFQANNr9998vh8NRr3MdDofuv/9+n8YzaNAgDRo0yLbPB6D+SFSAIDJ//nw5HA73V0REhNq1a6dx48bp+++/tzo820lLS6vyfrVu3Vpnn3223n77ba88f0lJie6//3599NFHXnk+IBSRqABB6MEHH9Srr76qF154QcOGDdPChQs1cOBA/fLLLz55vXvvvVelpaU+eW5f69Gjh1599VW9+uqruuOOO/TDDz/o8ssv1wsvvNDo5y4pKdEDDzxAogI0QoTVAQDwvmHDhikrK0uSNH78eCUkJGjWrFlaunSprrjiCq+/XkREhCIiAvPPSbt27XTVVVe5v7/66quVkZGhp556SjfeeKOFkQGQqKgAIeHss8+WJO3cubPK8a+//lq///3v1apVK0VHRysrK0tLly6tck5ZWZkeeOABderUSdHR0YqPj1f//v21fPly9zk1zVFxuVy69dZblZiYqGbNmumSSy7Rd999Vy22cePGKS0trdrxmp5z3rx5Ouecc9S6dWtFRUXpjDPO0Jw5czx6L04mKSlJXbp00e7du+s878CBA7r++uvVpk0bRUdHq3v37lqwYIH78T179igxMVGS9MADD7jbS76enwMEm8D8CATAI3v27JEktWzZ0n1sy5Ytys7OVrt27TR16lTFxsbq73//u0aMGKG33npLl112maTjCcPMmTM1fvx49e7dW0VFRVq/fr02btyo8847r9bXHD9+vBYuXKjRo0erX79+WrVqlS666KJGjWPOnDk688wzdckllygiIkL//Oc/NWHCBFVUVGjixImNeu5KZWVl2rt3r+Lj42s9p7S0VIMGDdKOHTs0adIkdejQQW+88YbGjRunn376STfffLMSExM1Z84c3XTTTbrssst0+eWXS5K6devmlTiBkGEABI158+YZSWbFihXm4MGDZu/evebNN980iYmJJioqyuzdu9d97rnnnmsyMzPNL7/84j5WUVFh+vXrZzp16uQ+1r17d3PRRRfV+bozZswwv/5zsmnTJiPJTJgwocp5o0ePNpLMjBkz3MeuueYak5qaetLnNMaYkpKSaucNHTrUdOzYscqxgQMHmoEDB9YZszHGpKammvPPP98cPHjQHDx40Pz3v/81V155pZFk/vznP9f6fLNnzzaSzMKFC93Hjh49avr27WuaNm1qioqKjDHGHDx4sNp4AXiG1g8QhIYMGaLExESlpKTo97//vWJjY7V06VKdeuqpkqRDhw5p1apVuuKKK/Tzzz+rsLBQhYWF+vHHHzV06FBt377dvUqoRYsW2rJli7Zv317v13///fclSZMnT65y/JZbbmnUuGJiYtz/3+l0qrCwUAMHDtSuXbvkdDob9JwffvihEhMTlZiYqO7du+uNN97Q2LFjNWvWrFp/5v3331dSUpJGjRrlPtakSRNNnjxZxcXF+ve//92gWABUFzSJyscff6zhw4erbdu2cjgceuedd2zxelu3btUll1yiuLg4xcbGqlevXsrPz/dpbMBzzz2n5cuX680339SFF16owsJCRUVFuR/fsWOHjDGaPn26+yJd+TVjxgxJx+dgSMdXEP3000/q3LmzMjMzdeedd+qLL76o8/W//fZbhYWFKT09vcrx0047rVHjWrNmjYYMGaLY2Fi1aNFCiYmJuvvuuyWpwYlKnz59tHz5cq1YsUJr165VYWGh/ud//qdKUnSib7/9Vp06dVJYWNU/oV26dHE/DsA7gmaOypEjR9S9e3ddd9117l6w1a+3c+dO9e/fX9dff70eeOABNW/eXFu2bFF0dLTP40No6927t3vVz4gRI9S/f3+NHj1a27ZtU9OmTVVRUSFJuuOOOzR06NAanyMjI0OSNGDAAO3cuVP/+Mc/9OGHH+pvf/ubnnrqKb3wwgsaP358o2OtbaO48vLyKt/v3LlT5557rk4//XQ9+eSTSklJUWRkpN5//3099dRT7jF5KiEhQUOGDGnQzwLwvaBJVIYN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ys88+eSTyszMVGxsrFJSUjRhwgQVFxe7H//22281fPhwtWzZUrGxsTrzzDP1/vvvS5IOHz6sMWPGKDExUTExMerUqZPmzZtX7/G1aNHCPb6kpCS1atXKXfnIzc3VwIEDFR0drUWLFunHH3/UqFGj1K5dO51yyinKzMzU66+/XuX5Kioq9NhjjykjI0NRUVFq3769HnnkEUlShw4dJElnnXWWHA6HBg0aJKl668flcmny5Mlq3bq1oqOj1b9/f+Xl5bkf/+ijj+RwOLRy5UplZWXplFNOUb9+/bRt27Z6jxsAiQoQdIqLi7Vw4UJlZGQoPj5e48eP12uvvSaXy+U+Z+HChWrXrp3OOecc97G//OUv6t69uz7//HNNnTpVN998s5YvX+5+PCwsTE8//bS2bNmiBQsWaNWqVbrrrrvcj0+cOFEul0sff/yxvvzyS82aNUtNmzaVJE2fPl1fffWV/vWvf2nr1q2aM2eOEhISvDLeyli3bt2qoUOH6pdfflHPnj313nvvafPmzbrhhhs0duxYrVu3zv0z06ZNU05Ojjuu1157TW3atJEk93krVqxQQUGBlixZUuPr3nXXXXrrrbe0YMECbdy4URkZGRo6dKgOHTpU5bx77rlHTzzxhNavX6+IiAhdd911Xhk3EDJ8estDAD53zTXXmPDwcBMbG2tiY2ONJJOcnGw2bNhgjDGmtLTUtGzZ0uTm5rp/plu3bub+++93f5+ammouuOCCKs87cuRIM2zYsFpf94033jDx8fHu7zMzM6s8568NHz7cXHvttQ0anyQTHR3tHl9sbKx5++233Xc0nz179kmf46KLLjK33367McaYoqIiExUVZebOnVvjuZXP+/nnn1c5/uu7RRcXF5smTZqYRYsWuR8/evSoadu2rXnssceMMcasXr3aSDIrVqxwn/Pee+8ZSaa0tNSTtwAIaVRUgCAwePBgbdq0SZs2bdK6des0dOhQDRs2TN9++62io6M1duxYvfLKK5KkjRs3avPmzRo3blyV5+jbt2+177du3er+fsWKFTr33HPVrl07NWvWTGPHjtWPP/6okpISSdLkyZP18MMPKzs7WzNmzKgymfemm27S4sWL1aNHD911111au3atR+N76qmn3OPbtGmTzjvvPPdjWVlZVc4tLy/XQw89pMzMTLVq1UpNmzbVBx98oPz8fEnS1q1b5XK5dO6553oUw6/t3LlTZWVlys7Odh9r0qSJevfuXeU9k6Ru3bq5/39ycrIk6cCBAw1+bSDUkKgAQSA2NlYZGRnKyMhQr1699Le//U1HjhzR3LlzJUnjx4/X8uXL9d1332nevHk655xzlJqaWu/n37Nnjy6++GJ169ZNb731ljZs2OCew3L06FH3a+zatUtjx47Vl19+qaysLD3zzDOS5E6abr31Vv3www8699xzdccdd9T79ZOSktzjy8jIUGxsbJWx/9pf/vIX/fWvf9WUKVO0evVqbdq0SUOHDnXHGRMTU+/X9YYmTZq4/7/D4ZB0fI4MgPohUQGCkMPhUFhYmEpLSyVJmZmZysrK0ty5c/Xaa6/VOE/iP//5T7Xvu3TpIknasGGDKioq9MQTT+i3v/2tOnfurB9++KHac6SkpOjGG2/UkiVLdPvtt7sTJUlKTEzUNddco4ULF2r27Nl66aWXvDlktzVr1ujSSy/VVVddpe7du6tjx4765ptv3I936tRJMTEx7onEJ4qMjJR0vDJTm/T0dEVGRmrNmjXuY2VlZcrLy9MZZ5zhpZEAkKQIqwMA0Hgul0v79u2TdHyFzbPPPqvi4mINHz7cfc748eM1adIkxcbG6rLLLqv2HGvWrNFjjz2mESNGaPny5XrjjTf03nvvSZIyMjJUVlamZ555RsOHD9eaNWv0wgsvVPn5W265RcOGDVPnzp11+PBhrV692p3o3HffferZs6fOPPNMuVwuvfvuu+7HvK1Tp0568803tXbtWrVs2VJPPvmk9u/f704goqOjNWXKFN11112KjIxUdna2Dh48qC1btuj6669X69atFRMTo2XLlunUU09VdHS04uLiqrxGbGysbrrpJt15551q1aqV2rdvr8cee0wlJSW6/vrrfTIuIFRRUQGCwLJly5ScnKzk5GT16dNHeXl5euONN9xLayVp1KhRioiI0KhRoxQdHV3tOW6//XatX79eZ511lh5++GE9+eSTGjp0qCSpe/fuevLJJzVr1ix17dpVixYt0syZM6v8fHl5uSZOnKguXbroggsuUOfOnfX8889LOl6lmDZtmrp166YBAwYoPDxcixcv9sl7ce+99+o3v/mNhg4dqkGDBikpKanajrLTp0/X7bffrvvuu09dunTRyJEj3fNGIiIi9PTTT+vFF19U27Ztdemll9b4Ojk5Ofrd736nsWPH6je/+Y127NihDz74QC1btvTJuIBQ5TDGGKuDAOB7e/bsUXp6uvLy8vSb3/ymymNpaWm65ZZbdMstt1gTHADUgtYPEOTKysr0448/6t5779Vvf/vbakkKANgZrR8gyK1Zs0bJycnKy8urNq/Eao8++qiaNm1a49ewYcOsDg+ADdD6AWCZQ4cOVdvJtVJMTIzatWvn54gA2A2JCgAAsC1aPwAAwLZIVAAAgG2RqAAAANsiUQEAALZFogIAAGyLRAUAANgWiQoAALAtEhUAAGBb/w+CVoeCH68ZHAAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_51.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABQaElEQVR4nO3deVxU9f4/8NeA7Mi4sEooiiuJuCMuLIVxs0zTrpSW5k1b3bJFNDe0RLul3NTU603RLMWM1NKfSxgm6jcNl9TUEiHMAEVzkEUx5vP7w8tcR9YZZubMOfN6Ph7zeDCfOefM+8Ms5z2f81lUQggBIiIiIoWwkzoAIiIiIlNickNERESKwuSGiIiIFIXJDRERESkKkxsiIiJSFCY3REREpChMboiIiEhRmNwQERGRojC5ISIiIkVhckNEkpg7dy5UKlW9tlWpVJg7d65Z44mKikJUVJTVHo+I6o/JDZGNS05Ohkql0t0aNWoEf39/PP/887h8+bLU4VmdwMBAvf+Xt7c3BgwYgK+++sokxy8tLcXcuXORnp5ukuMR2SImN0QEAJg3bx4+/fRTrFy5Eo8++ig2bNiAyMhI3Lp1yyzPN3PmTJSVlZnl2ObWtWtXfPrpp/j000/x5ptv4o8//sCwYcOwcuXKBh+7tLQUCQkJTG6IGqCR1AEQkXV49NFH0bNnTwDAuHHj4OnpiUWLFmH79u0YMWKEyZ+vUaNGaNRInl9B/v7+ePbZZ3X3R48ejbZt22LJkiV4+eWXJYyMiAC23BBRDQYMGAAAyMrK0is/d+4cnnrqKTRr1gzOzs7o2bMntm/frrfNnTt3kJCQgHbt2sHZ2RnNmzdH//79sXfvXt021fW5uX37Nl5//XV4eXmhcePGeOKJJ/D7779Xie35559HYGBglfLqjrl27Vo89NBD8Pb2hpOTE4KDg7FixQqD/hd18fX1RadOnZCdnV3rdleuXMELL7wAHx8fODs7IzQ0FOvWrdM9npOTAy8vLwBAQkKC7tKXufsbESmNPH82EZHZ5eTkAACaNm2qKztz5gz69esHf39/xMfHw83NDZs3b8bQoUPx5Zdf4sknnwRwN8lITEzEuHHj0Lt3bxQVFeHHH3/EsWPHMHDgwBqfc9y4cdiwYQNGjhyJvn37Yt++fXjssccaVI8VK1bgwQcfxBNPPIFGjRrh66+/xquvvgqtVovXXnutQceudOfOHVy6dAnNmzevcZuysjJERUXhwoULmDBhAlq3bo0vvvgCzz//PG7cuIHJkyfDy8sLK1aswCuvvIInn3wSw4YNAwB06dLFJHES2QxBRDZt7dq1AoD49ttvxdWrV8WlS5fEli1bhJeXl3BychKXLl3Sbfvwww+LkJAQcevWLV2ZVqsVffv2Fe3atdOVhYaGiscee6zW550zZ4649yvoxIkTAoB49dVX9bYbOXKkACDmzJmjKxszZoxo1apVnccUQojS0tIq28XGxoo2bdrolUVGRorIyMhaYxZCiFatWolHHnlEXL16VVy9elWcPHlSPP300wKAmDhxYo3HS0pKEgDEhg0bdGXl5eUiPDxcuLu7i6KiIiGEEFevXq1SXyIyDC9LEREAICYmBl5eXggICMBTTz0FNzc3bN++HQ888AAA4Pr169i3bx9GjBiBmzdvorCwEIWFhbh27RpiY2Px66+/6kZXNWnSBGfOnMGvv/5a7+ffuXMnAGDSpEl65VOmTGlQvVxcXHR/azQaFBYWIjIyEhcvXoRGozHqmHv27IGXlxe8vLwQGhqKL774As899xwWLVpU4z47d+6Er68vnnnmGV2Zg4MDJk2ahOLiYuzfv9+oWIioKptObr7//nsMHjwYLVq0gEqlwtatW836fDdv3sSUKVPQqlUruLi4oG/fvjh69KhZn5OovpYvX469e/diy5YtGDRoEAoLC+Hk5KR7/MKFCxBCYNasWboTe+Vtzpw5AO72KQHujry6ceMG2rdvj5CQELz11lv46aefan3+3377DXZ2dggKCtIr79ChQ4PqdfDgQcTExMDNzQ1NmjSBl5cXZsyYAQBGJzdhYWHYu3cvvv32Wxw6dAiFhYVYv369XiJ1v99++w3t2rWDnZ3+126nTp10jxORadh0n5uSkhKEhobiH//4h+7atjmNGzcOp0+fxqeffooWLVpgw4YNiImJwc8//wx/f3+zPz9RbXr37q0bLTV06FD0798fI0eOxPnz5+Hu7g6tVgsAePPNNxEbG1vtMdq2bQsAiIiIQFZWFrZt24Y9e/bgP//5D5YsWYKVK1di3LhxDY61psn/Kioq9O5nZWXh4YcfRseOHbF48WIEBATA0dERO3fuxJIlS3R1MpSnpydiYmKM2peIzM+mk5tHH30Ujz76aI2P3759G++88w42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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_52.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_53.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABFUklEQVR4nO3deXQUVeL+/6cTyAKYICRkwUAAWcSwKJsBERijGUUUUUFRQMZ9RNGMCyDKohJwXHAAxQ+D4ApBBGWUL4pxEBFGEURBwQWIQUkCcSSBELbk/v7glx6bJJAOvVRXv1/n9DlQXVV9b1en6+l7b91yGGOMAAAAbCLE3wUAAADwJMINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAL+YOHGiHA5HjdZ1OByaOHGiV8vTt29f9e3b17L7A1BzhBsgyM2fP18Oh8P5qFOnjpo2baqbb75Zv/76q7+LZznJycku71eTJk3Uu3dvLV261CP7P3jwoCZOnKhVq1Z5ZH9AMCLcAJAkTZ48Wa+99ppmz56tyy67TK+//rr69OmjQ4cOeeX1xo8fr9LSUq/s29s6d+6s1157Ta+99poeeOAB7d69W4MGDdLs2bNPe98HDx7UpEmTCDfAaajj7wIAsIbLLrtMXbt2lSTdeuutiomJ0bRp07Rs2TINHjzY469Xp04d1akTmF9BTZs21U033eT8//Dhw3X22Wfrueee05133unHkgGQaLkBUI3evXtLkrZv3+6yfNu2bbr22mvVqFEjRUREqGvXrlq2bJnLOkePHtWkSZPUunVrRUREqHHjxrrwwgu1cuVK5zpVjbk5fPiw7r//fsXGxuqMM87QlVdeqV9++aVS2W6++WYlJydXWl7VPufNm6c//elPatKkicLDw9W+fXu9+OKLbr0XpxIfH69zzjlHO3fuPOl6e/bs0S233KK4uDhFRESoU6dOeuWVV5zP5+TkKDY2VpI0adIkZ9eXt8cbAXYTmD+bAHhdTk6OJOnMM890Lvv222/Vq1cvNW3aVGPGjFH9+vW1aNEiDRw4UG+//bauvvpqScdDRmZmpm699VZ1795dxcXF+vLLL7Vx40Zdcskl1b7mrbfeqtdff11Dhw5Vz5499fHHH6t///6nVY8XX3xR5557rq688krVqVNH//rXv/TXv/5V5eXluvvuu09r3xWOHj2qXbt2qXHjxtWuU1paqr59++qnn37SqFGj1KJFC7311lu6+eabtW/fPo0ePVqxsbF68cUXddddd+nqq6/WoEGDJEkdO3b0SDmBoGEABLV58+YZSeajjz4ye/fuNbt27TKLFy82sbGxJjw83Ozatcu57sUXX2w6dOhgDh065FxWXl5uevbsaVq3bu1c1qlTJ9O/f/+Tvu6ECRPMH7+CNm3aZCSZv/71ry7rDR061EgyEyZMcC4bMWKEad68+Sn3aYwxBw8erLReenq6admypcuyPn36mD59+py0zMYY07x5c3PppZeavXv3mr1795qvv/7aXH/99UaSueeee6rd3/Tp040k8/rrrzuXHTlyxKSmppoGDRqY4uJiY4wxe/furVRfAO6hWwqAJCktLU2xsbFKSkrStddeq/r162vZsmU666yzJEn//e9/9fHHH2vw4MHav3+/CgsLVVhYqN9++03p6en68ccfnVdXNWzYUN9++61+/PHHGr/+8uXLJUn33nuvy/L77rvvtOoVGRnp/HdRUZEKCwvVp08f7dixQ0VFRbXa54cffqjY2FjFxsaqU6dOeuuttzRs2DBNmzat2m2WL1+u+Ph43XDDDc5ldevW1b333qsDBw7ok08+qVVZAFQW1OFm9erVGjBggBITE+VwOPTOO+949fUqxgP88dGuXTuvviZQU7NmzdLKlSu1ePFiXX755SosLFR4eLjz+Z9++knGGD366KPOE3vFY8KECZKOjymRjl95tW/fPrVp00YdOnTQgw8+qG+++eakr//zzz8rJCRErVq1clnetm3b06rXZ599prS0NNWvX18NGzZUbGysxo0bJ0m1Djc9evTQypUr9dFHH2nt2rUqLCzUq6++6hKkTvTzzz+rdevWCglx/do955xznM8D8IygHnNTUlKiTp066S9/+Yuzb9vbzj33XH300UfO/wfq1SKwn+7duzuvlho4cKAuvPBCDR06VN9//70aNGig8vJySdIDDzyg9PT0Kvdx9tlnS5Iuuugibd++Xe+++64+/PBD/fOf/9Rzzz2n2bNn69Zbbz3tslY3+V9ZWZnL/7dv366LL75Y7dq107PPPqukpCSFhYVp+fLleu6555x1cldMTIzS0tJqtS0A7wvqM+tll12myy67rNrnDx8+rEceeUQLFizQvn37lJKSomnTpp3WrKN16tRRfHx8rbcHfCE0NFSZmZnq16+fZs6cqTFjxqhly5aSjnel1OTE3qhRI40cOVIjR47UgQMHdNFFF2nixInVhpvmzZurvLxc27dvd2mt+f777yute+aZZ2rfvn2Vlp/Y+vGvf/1Lhw8f1rJly9SsWTPn8n//+9+nLL+nNW/eXN98843Ky8tdWm+2bdvmfF6qPrgBqLmg7pY6lVGjRmndunVauHChvvnmG1133XX685//7NY4ghP9+OOPSkxMVMuWLXXjjTcqNzfXgyUGPKdv377q3r27pk+frkOHDqlJkybq27evXnrpJeXl5VVaf+/evc5///bbby7PNWjQQGeffbYOHz5c7etV/ND4xz/+4bJ8+vTpldZt1aqVioqKXLq68vLyKs0SHBoaKkkyxjiXFRUVad68edWWw1suv/xy5efnKysry7ns2LFjmjFjhho0aKA+ffpIkurVqydJVYY3ADUT1C03J5Obm6t58+YpNzdXiYmJko43x69YsULz5s3TlClT3N5njx49NH/+fLVt21Z5eXmaNGmSevfurS1btuiMM87wdBWA0/bggw/quuuu0/z583XnnXdq1qxZuvDCC9WhQwfddtttatmypQoKCrRu3Tr98ssv+vrrryVJ7du3V9++fdWlSxc1atRIX375pRYvXqxRo0ZV+1qdO3fWDTfcoBdeeEFFRUXq2bOnsrOz9dNPP1Va9/rrr9fDDz+sq6++Wvfee68OHjyoF198UW3atNHGjRud61166aUKCwvTgAEDdMcdd+jAgQOaM2eOmjRpUmVA86bbb79dL730km6++WZt2LBBycnJWrx4sT777DNNnz7d+R0QGRmp9u3bKysrS23atFGjRo2UkpKilJQUn5YXCGj+vlzLKiSZpUuXOv//3nvvGUmmfv36Lo86deqYwYMHG2OM2bp1q5F00sfDDz9c7Wv+/vvvJioqyvzzn//0dvWAalVcCr5+/fpKz5WVlZlWrVqZVq1amWPHjhljjNm+fbsZPny4iY+PN3Xr1jVNmzY1V1xxhVm8eLFzuyeeeMJ0797dNGzY0ERGRpp27dqZJ5980hw5csS5TlWXbZeWlpp7773XNG7c2NSvX98MGDDA7Nq1q8pLoz/88EOTkpJiwsLCTNu2bc3rr79e5T6XLVtmOnbsaCIiIkxycrKZNm2aefnl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FRlZ9QcTAABJahFTXyEO12WhDoeSY+pVuX5tW3oQ3GocbjZv3qzx48crJSVFkydPlsPh0FNPPaVrr73Wm+UDANhIQnSkMgd1UKjjeMIJdTg0ZVBKta02J2vpAapT426p33//XTExMZKkyMhI1atXTykpKV4rGADAnoZ0a6aL2sQqp/CgkmPqVRtspP+19Pwx4JyspQeQ3Ag3kvTdd98pPz9fkmSM0ffff6+SkhKXdTp27Oi50gEAbCkhOvKkoeaP62UO6qBxS7aozJhTtvQAkuQwxphTryaFhITI4XDoZKs7HA7nVVRWVVxcrOjoaBUVFSkqKsrfxQEA1EBeUWmNWnpgX+6cv2vccrNz585TrrN///6a7g4AgBqraUsPILkRbpo3b17l8v3792vBggWaO3euvvzyS8u33AAAAHur9QzFq1ev1ogRI5SQkKCnn35a/fr103/+8x9Plg0AAMBtbg0ozs/P1/z58zV37lwVFxdr8ODBOnz4sN555x21b9/eW2UEAACosRq33AwYMEBt27bVN998o+nTp2v37t2aMWOGN8sGAADgthq33Py///f/dO+99+quu+5S69atvVkmAACAWqtxy82aNWu0f/9+denSRT169NDMmTNVWFjozbIBAAC4rcbh5oILLtCcOXOUl5enO+64QwsXLlRiYqLKy8u1cuVKLgMHAACWUONJ/Kry/fffa+7cuXrttde0b98+XXLJJVq2bJkny+dxTOIHAEDgcef8XetLwSWpbdu2euqpp/TLL79owYIFp7MrAAAAjzitlptARMsNAACBx2ctNwAAAFZDuAEAALZCuPGjvKJSrd1eqLyiUn8XBQAA23Dr9gvwnKz1uRq7ZLPKjRTikDIHddCQbs38XSwAAAIeLTd+kFdU6gw2klRupHFLttCCAwCABxBu/GBnYYkz2FQoM0Y5hQf9UyAAAGyEcOMHLWLqK8ThuizU4VByTD3/FAgAABsh3PhBQnSkMgd1UKjjeMIJdTg0ZVCKEqIj/VwyAAACHwOK/WRIt2a6qE2scgoPKjmmHsEGAAAPIdz4UUJ0JKEGAAAPo1sKAADYCuEGAADYCuEGAADYCuEGtcKtIwAAVsWAYriNW0cAAKyMlhu4hVtHAACszhLhZtasWUpOTlZERIR69OihL774okbbLVy4UA6HQwMHDvRuAeHErSMAAFbn93CT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9NM1KicQ7Gi5AYJQaGiopkyZohkzZuiXX36p9PyCBQvUtm1bXXnllVVuX9PWhfj4eC1fvlz79++v8vklS5borLPO0uTJk5WXl6e8vDxJ0vbt2/XnP/9Z11xzjb755htlZWVpzZo1GjVqlHPbo0eP6vHHH9fXX3+td955Rzk5Obr55psrvcbEiRM1c+ZMrV27Vrt27dLgwYM1ffp0vfnmm3r//ff14YcfasaMGTWqz4m2bNmitWvXKiwszLns0KFD6tKli95//31t2bJFt99+u4YNG6YvvvhCkvT8888rNTVVt912m7POSUlJlfa9YcMGDR48WNdff702b96siRMn6tFHH9X8+fNrVVYgqPg7XQHwrT+2PlxwwQXmL3/5izHGteWmXbt25sorr3TZbvTo0aZ+/fqmfv36pmnTpjV6rU8++cScddZZpm7duqZr167mvvvuM2vWrHFZp3nz5ua5555zWXbLLbeY22+/3WXZp59+akJCQkxpaWmVr7V+/Xojyezfv98Y87+Wm48++si5TmZmppFktm/f7lx2xx13mPT09BrVZ8SIESY0NNTUr1/fhIeHG0kmJCTELF68+KTb9e/f3/ztb39z/r9Pnz5m9OjRLuuc2HIzdOhQc8kll7is8+CDD5r27dvXqKxAMKPlBghi06ZN0yuvvKKtW7eect1HHnlEmzZt0mOPPaYDBw7UaP8XXXSRduzYoezsbF177bX69ttv1bt3bz3++OMn3e7rr7/W/Pnz1aBBA+cjPT1d5eXl2rlzp6TjLRsDBgxQs2bNdMYZZ6hPnz6SpNzcXJd9dezY0fnvuLg41atXTy1btnRZtmfPnhrVR5L69eunTZs26fPPP9eIESM0cuRIXXPNNc7ny8rK9Pjjj6tDhw5q1KiRGjRooA8++KBSuU5l69at6tWrl8uyXr166ccff1RZWZlb+wKCDeEGCGIXXXSR0tPTNXbsWJflrVu31vfff++yLDY2VmeffbaaNGni1mvUrVtXvXv31sMPP6wPP/xQkydP1uOPP64jR45Uu82BAwd0xx13aNOmTc7H119/rR9//FGtWrVSSUmJ0tPTFRUVpTfeeEPr16/X0qVLJanSfuvWrev8d8VVTn/kcDhUXl5e4/rUr19fZ599tjp16qSXX35Zn3/+uebOnet8/u9//7uef/55Pfzww/r3v/+tTZs2KT09/aT1BeBZdfxdAAD+NXXqVHXu3Flt27Z1Lrvhhhs0dOhQvfvuu7rqqqs8+nrt27fXsWPHdOjQIYWFhSksLKxSS8T555+v7777TmeffXaV+9i8ebN+++03TZ061Tle5csvv/RoOWsiJCRE48aNU0ZGhoYOHarIyEh99tlnuuqqq3TTTTdJksrLy/XDDz+offv2zu2qqvOJzjnnHH322Wcuyz777DO1adNGoaGhnq8MYCO03ABBrkOHDrrxxhv1j3/8w7ns+uuv17XXXqvrr79ekydP1ueff66cnBx98sknysrKqvHJtW/fvnrppZe0YcMG5eTkaPny5Ro3bpz69eunqKgoScfnuVm9erV+/fVXFRYWSpIefvhhrV27VqNGjdKmTZv0448/6t1333UOKG7WrJnCwsI0Y8YM7dixQ8uWLTtlV5e3XHfddQoNDdWsWbMkHW/1WrlypdauXautW7fqjjvuUEFBgcs2ycnJzve0sLCwypajv/3tb8rOztbjjz+uH374Qa+88opmzpypBx54wCf1AgIZ4QaAJk+e7HKCdTgcysrK0vTp07V8+XJdfPHFatu2rf7yl78oKSlJa9asqdF+09PT9corr+jSSy/VOeeco3vuuUfp6elatGiRy2vn5OSoVatWio2NlXR8nMwnn3yiH374Qb1799Z5552nxx57TImJiZKOd5HNnz9fb731ltq3b6+pU6fq6aef9uA7UnN16tTRqFGj9NRTT6mkpETjx4/X+eefr/T0dPXt21fx8fEaOHCgyzYPPPCAQkND1b59e8XGxlY5Huf888/XokWLtHDhQqWkpOixxx7T5MmTq7wiDIArhzHG+LsQAAAAnkLLDQAAsBXCDYBa++Ol2ic+Pv30U38Xzy25ubknrY+7l3ID8B+6pQDU2sluoNm0aVNFRkb6sDSn59ixY8rJyan2+eTkZNWpwwWmQCAg3AAAAFuhWwoAANgK4QYAANgK4QYAANgK4QYAANgK4QYAANgK4QYAANgK4QYAANgK4QYAANjK/wcxCRNPlCa/2wAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_54.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_55.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_56.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABTrElEQVR4nO3deVzU1f4/8NcwyiIKiuyGgPuGoJiES2qRI3lN03LrKppat7RUbBFvud/QbiotpGUptqhorje9pBdTU8kFRbPMFCFcAMVkRhBR4fz+8Md8HRmWGWbmMzOf1/PxmIfO+Zw5c858gM97zucsCiGEABEREZGMOEhdASIiIiJLYwBEREREssMAiIiIiGSHARARERHJDgMgIiIikh0GQERERCQ7DICIiIhIdhgAERERkewwACIiIiLZYQBERFZr7ty5UCgUtcqrUCgwd+5cs9anb9++6Nu3r9WWR0S1xwCIiGqUlJQEhUKhfdSrVw/NmjXDuHHjcPnyZamrZ3WCgoJ0Pi9vb2/07t0bW7ZsMUn5t27dwty5c7F3716TlEckRwyAiKjW5s+fj6+//horVqxAdHQ0vvnmG/Tp0we3b982y/u98847KCkpMUvZ5hYWFoavv/4aX3/9Nd544w1cuXIFQ4cOxYoVK+pc9q1btzBv3jwGQER1UE/qChCR7YiOjka3bt0AABMnToSnpycWL16M7du3Y/jw4SZ/v3r16qFePdv8M9WsWTP8/e9/1z4fO3YsWrVqhWXLluEf//iHhDUjIoA9QERUB7179wYAZGZm6qT//vvveO655+Dh4QFnZ2d069YN27dv18lz9+5dzJs3D61bt4azszOaNm2KXr16Yffu3do8+sYAlZaWYvr06fDy8kKjRo3wzDPP4NKlS5XqNm7cOAQFBVVK11fm6tWr8cQTT8Db2xtOTk7o0KEDli9fbtBnURNfX1+0b98eWVlZ1ea7evUqJkyYAB8fHzg7OyM0NBRr1qzRHs/OzoaXlxcAYN68edrbbOYe/0Rkb2zzqxURWYXs7GwAQJMmTbRpv/76K3r27IlmzZph5syZcHV1xYYNGzBkyBBs2rQJzz77LID7gUh8fDwmTpyI7t27Q6PR4NixYzh+/DieeuqpKt9z4sSJ+OabbzB69Gj06NEDe/bswcCBA+vUjuXLl6Njx4545plnUK9ePfznP//Bq6++ivLyckyePLlOZVe4e/cuLl68iKZNm1aZp6SkBH379sX58+cxZcoUBAcHY+PGjRg3bhwKCwsxdepUeHl5Yfny5XjllVfw7LPPYujQoQCAzp07m6SeRLIhiIhqsHr1agFA/O9//xPXrl0TFy9eFN99953w8vISTk5O4uLFi9q8Tz75pAgJCRG3b9/WppWXl4sePXqI1q1ba9NCQ0PFwIEDq33fOXPmiAf/TGVkZAgA4tVXX9XJN3r0aAFAzJkzR5sWExMjAgMDayxTCCFu3bpVKZ9KpRItWrTQSevTp4/o06dPtXUWQojAwEDRv39/ce3aNXHt2jVx8uRJMXLkSAFAvPbaa1WWl5CQIACIb775Rpt2584dERkZKRo2bCg0Go0QQohr165Vai8RGYa3wIio1qKiouDl5YWAgAA899xzcHV1xfbt2/HII48AAP766y/s2bMHw4cPx82bN1FQUICCggJcv34dKpUK586d084aa9y4MX799VecO3eu1u+/c+dOAMDrr7+ukz5t2rQ6tcvFxUX7f7VajYKCAvTp0wcXLlyAWq02qsxdu3bBy8sLXl5eCA0NxcaNGzFmzBgsXry4ytfs3LkTvr6+GDVqlDatfv36eP3111FUVIR9+/YZVRciqowBUA3279+PQYMGwd/fHwqFAlu3bjX7e16+fBl///vf0bRpU7i4uCAkJATHjh0z+/sS1SQxMRG7d+/Gd999h6effhoFBQVwcnLSHj9//jyEEHj33Xe1F/+Kx5w5cwDcH+MC3J9RVlhYiDZt2iAkJARvvvkmTp06Ve37//nnn3BwcEDLli110tu2bVundh08eBBRUVFwdXVF48aN4eXlhVmzZgGA0QFQREQEdu/ejf/97384dOgQCgoK8NVXX+kEWw/7888/0bp1azg46P5pbt++vfY4EZkGxwDVoLi4GKGhoXjxxRe199rN6caNG+jZsyf69euH//73v/Dy8sK5c+d0xlgQSaV79+7aWWBDhgxBr169MHr0aJw9exYNGzZEeXk5AOCNN96ASqXSW0arVq0AAI8//jgyMzOxbds27Nq1C1988QWWLVuGFStWYOLEiXWua1ULKJaVlek8z8zMxJNPPol27dph6dKlCAgIgKOjI3bu3Illy5Zp22QoT09PREVFGfVaIjI/BkA1iI6ORnR0dJXHS0tL8c9//hPr1q1DYWEh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JibWKv+HH36I3Nxc7ePixYvw8PDA888/r5OvY8eOOvkOHDhgjuoTERGRjaon5ZtHR0cjOjq61vnd3d3h7u6ufb5161bcuHED48eP18lXr149+Pr6mqyeREREZF9segzQl19+iaioKAQGBuqknzt3Dv7+/mjRogVeeOEF5OTkVFtOaWkpNBqNzoOIiIjsl80GQFeuXMF///tfTJw4USc9IiICSUlJSElJwfLly5GVlYXevXvj5s2bVZYVHx+v7V1yd3dHQECAuatPREREElIIIYTUlQAAhUKBLVu2YMiQIbXKHx8fjyVLluDKlStwdHSsMl9hYSECAwOxdOlSTJgwQW+e0tJSlJaWap9rNBoEBARArVbDzc3NoHYQERGRNDQaDdzd3Wt1/ZZ0DJCxhBBYtWoVxowZU23wAwCNGzdGmzZtcP78+SrzODk5wcnJydTVJCIiIitlk7fA9u3bh/Pnz1fZo/OgoqIiZGZmws/PzwI1IyIiIlsgaQBUVFSEjIwMZGRkAACysrKQkZGhHbQcFxeHsWPHVnrdl19+iYiICHTq1KnSsTfeeAP79u1DdnY2Dh06hGeffRZKpRKjRo0ya1uIiIjIdkh6C+zYsWPo16+f9nlsbCwAICYmBklJScjNza00g0utVmPTpk348MMP9ZZ56dIljBo1CtevX4eXlxd69eqFn3/+GV5eXuZrCBEREdkUqxkEbU0MGURFRERE1sGQ67dNjgEiIiIiqgsGQERERCQ7DICIiIhIdhgAERERkewwACIiIiLZYQBEREREssMAiIiIiGSHARARERHJDgMgIiIikh0GQERERCQ7DICIiIhIdhgAERERkewwACIiIiLZYQBEREREssMAiIiIiGSHARARERHJDgMgIiIikh0GQERERCQ7DICIiIhIdhgAERERkewwACIiIiLZYQBEREREssMAiIiIiGSHARARERHJDgMgIiIikh0GQERERCQ7DICIiIhIdhgAERERkewwACIiIiLZYQBEREREssMAiIiIiGSHARARERHJjqQB0P79+zFo0CD4+/tDoVBg69at1ebfu3cvFApFpUdeXp5OvsTERAQFBcHZ2RkRERE4cuSIGVtBREREtkbSAKi4uBihoaFITEw06HVnz55Fbm6u9uHt7a09lpycjNjYWMyZMwfHjx9HaGgoVCoVrl69aurqExERkY2q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o0exZcsWAKhUbv369bX/r5i99SCFQoHy8vJat8fV1RWtWrVCaGgoVq1ahcOHD+PLL7/UHv/3v/+NDz/8EG+//TZ+/PFHZGRkQKVSVdteIjK9elJXgIis26JFixAWFoa2bdtq00aNGoXRo0dj27ZtGDx4sEnfr0OHDrh37x5u374NR0dHODo6VurR6Nq1K3777Te0atVKbxm//PILrl+/jkWLFmnHzxw7dsyk9awNBwcHzJo1C7GxsRg9ejRcXFxw8OBBDB48GH//+98BAOXl5fjjjz/QoUMH7ev0tflh7du3x8GDB3XSDh48iDZt2kCpVJq+MUR2hj1ARFStkJAQvPDCC/joo4+0aSNHjsRzzz2HkSNHYv78+Th8+DCys7Oxb98+JCcn1/oC3LdvX3z22WdIT09HdnY2du7ciVmzZqFfv35wc3MDcH8doP379+Py5csoKCgAALz99ts4dOgQpkyZgoyMDJw7dw7btm3TDoJu3rw5HB0d8fHHH+PChQvYvn17jbfVzOX555+HUqlEYmIigPu9Z7t378ahQ4dw5swZvPzyy8jPz9d5TVBQkPYzLSgo0NsDNWPGDKSmpmLBggX4448/sGbNGnzyySd44403LNIuIlvHAIiIajR//nydi7BCoUBycjISEhKwc+dOPPnkk2jbti1efPFFBAQE4MCBA7UqV6VSYc2aNejfvz/at2+P1157DSqVChs2bNB57+zsbLRs2RJeXl4A7o/b2bdvH/744w/07t0bXbp0wezZs+Hv7w/g/u24pKQkbNy4ER06dMCiRYvwwQcfmPATqb169ephypQpeP/991FcXIx33nkHXbt2hUqlQt++feHr64shQ4bovOaNN96AUqlEhw4d4OXlpXd8UNeuXbFhwwasX78enTp1wuzZszF//ny9M92IqDKFEEJIXQkiIiIiS2IPEBEREckOAyAiMpsHp6k//Pjpp5+krp5BcnJyqm2PodPYiUhavAVGRGZT3aaozZo1g4uLiwVrUzf37t1DdnZ2lceDgoJQrx4n1hLZCgZAREREJDu8BUZERESywwCIiIiIZIcBEBEREckOAyAiIiKSHQZAREREJDsMgIiIiEh2GAARERGR7DAAIiIiItn5f1mUVSUnEI56AAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_57.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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Of/zP/+js2fP6t1331WrVq0c2//xj39csv7u1rp1a3322Wey2+1OvVFffvmlY79Ue0AEUHfMiQLgVf369VPPnj01b948nTlzRi1atFC/fv304osvqri4uFr5I0eOOP7/ww8/OO1r2rSprr76ap09e7bW5/vlL38pSZo/f77T9nnz5lUr27ZtW9lsNn322WeObcXFxdVWDQ8JCZEkGWMc22w2m1599dVa6+EpAwcOVElJiZYuXerYduHCBS1YsEBNmzZVdna2JKlx48aSVGNIBFA39EQB8LqHH35Yv/71r7V48WLde++9WrhwoXr37q2uXbtq/PjxatOmjUpLS1VYWKhvv/1WO3bskCSlpaWpX79+6tatm5o3b67Nmzfrrbfe0sSJE2t9royMDA0fPlz/+Z//KZvNpl69emnNmjXau3dvtbLDhg3To48+qttuu00PPPCATp06pRdeeEHt27fX1q1bHeVuvvlmhYWF6ZZbbtE999yjkydP6qWXXlKLFi1qDIKeNGHCBL344ou66667tGXLFqWkpOitt97Sp59+qnnz5qlZs2aSfpwIn5aWpqVLl6p9+/Zq3ry5unTpoi5dutRrfQG/5u3LAwE0DFVLHGzatKnavsrKStO2bVvTtm1bc+HCBWOMMfv27TOjR482CQkJplGjRqZly5bmV7/6lXnrrbccj3vyySdNz549TUxMjImMjDQdO3Y0v//97825c+ccZWpajuD06dPmgQceMFdeeaVp0qSJueWWW8yhQ4dqvOT/ww8/NF26dDFhYWGmQ4cO5rXXXqvxmO+++6655pprTEREhElJSTFPPfWUeeWVV4wks3//fkc5V5Y4uNTyDbUdr7S01IwdO9bExsaasLAw07VrV/Pqq69We+yGDRtMt27dTFhYGMsdABYEGfOT/mcAAADUCXOiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAAAgAUstulBdrtd33//vZo1a8YtFgAA8BPGGJ04cUJJSUnVbub9U4QoD/r++++VnJzs7WoAAAALDh06pKuuuqrW/YQoD6q6vcKhQ4cUFRXl5doAAIC6KC8vV3JysuNzvDaEKA+qGsKLiooiRAEA4GcuNRWHieUAAAAWEKIAAAAsIEQBAABYwJwoL6usrNT58+e9XQ2/ERYWdtHLTQEAqC+EKC8xxqikpETHjx/3dlX8SnBwsFJTUxUWFubtqgAAGjhClJdUBagWLVqocePGLMZZB1WLlxYXF6tVq1a8ZgAAryJEeUFlZaUjQF155ZXero5fiYuL0/fff68LFy6oUaNG3q4OAKABY3KJF1TNgWrcuLGXa+J/qobxKisrvVwTAEBDR4jyIoajXMdrBgDwFYQoAAAACwhRAAAAFhCiYElJSYnuv/9+tWnTRuHh4UpOTtYtt9yiNWvWSJJSUlI0b968ao+bNWuWMjIyajzmkiVLFBQUpLy8PM9VHADgk4ptp7VhX5mKbae9XZU64+o8uOzAgQO64YYbFBMToz/+8Y/q2rWrzp8/rw8++ED33XefvvzyS0vHfOihh9SnTx8P1BgA4MuWbjqoaSs+l91IwUHSnCFdNbRHK29X65IIUXDZb3/7WwUFBWnjxo1q0qSJY3vnzp31m9/8xuXjVVZWauTIkXr88cf1ySefsAApADQgxbbTjgAlSXYjPbZip/q2j1NidKR3K3cJDOcFgPrsAj169KgKCgp03333OQWoKjExMS4fc/bs2WrRooXGjRvnhhoCAPzJ/rIKR4CqUmmMDpSd8k6FXEBPlJ+r7y7QvXv3yhijjh07XrLso48+qunTpzttO3funNLS0hzfr1+/Xi+//LK2b9/u7qoCAPxAamwTBQfJKUiFBAUpJdb311KkJ8qP1dYF6skeKWPMpQv9n4cffljbt293+rr33nsd+0+cOKFRo0bppZdeUmxsrCeqCwDwcYnRkZozpKtC/m8dwJCgIP1hSBefH8qT6InyaxfrAvXUm69du3YKCgqq0+Tx2NhYXX311U7bmjdv7vj/vn37dODAAd1yyy2ObXa7XZIUGhqqr776Sm3btnVTzQEAvmpoj1bq2z5OB8pOKSW2sV8EKImeKL9W1QX6U57uAm3evLlyc3O1cOFCVVRUVNvvyqTwjh076vPPP3fqqbr11lvVv39/bd++XcnJyW6sOQDAlyVGRyqr7ZV+E6AkQpRf81YX6MKFC1VZWamePXvq7bff1p49e7R7927Nnz9fWVlZdT5ORESEunTp4vQVExOjZs2aqUuXLo775AEA4IsYzvNz3ugCbdOmjbZu3arf//73mjJlioqLixUXF6du3brphRde8PjzAwDgC4KMKzOF4ZLy8nJFR0fLZrMpKirKsf3MmTPav3+/UlNTFRER4cUa+h9eOwCAp9X2+f1zDOcBAABYQIgCAACwgBAFAABgASEKAADAAkKUFzGn33W8ZgAAX0GI8oJGjRpJkk6d8v2bK/qac+fOSZJCQkK8XBMAQEPHOlFeEBISopiYGB0+fFiS1LhxYwUFBV3iUbDb7Tpy5IgaN26s0FDeugAA7+KTyEsSEhIkyRGkUDfBwcFq1aoVoRMA4HWEKC8JCgpSYmKiWrRoofPnz3u7On4jLCxMwcGMQgMAvI8Q5WUhISHM7wEAwA/xJz0AAIAFhCgAAAALCFEAAAAWEKIAAAAsIEQBAABYQIgCAACwgBAFAABgASEKAADAAkIUAACABYQoAAAACwhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAAAgAWEKAAAAAsIUQAAABYQogAAACwgRAEAAFhAiAIAALCAEAUAAGABIQoAAMACQhQAAIAFhCgAAAALCFEAAAAWEKIAAAAs8IkQtXDhQqWkpCgiIkKZmZnauHHjRcsvX75cHTt2VEREhLp27apVq1Y57TfGaObMmUpMTFRkZKRycnK0Z88epzJHjx7VyJEjFRUVpZiYGI0bN04nT56s8fn27t2rZs2aKSYm5rLaCQAAAofXQ9TSpUs1efJk5efna+vWrUpPT1dubq4OHz5cY/kNGzZo+PDhGjdunLZt26a8vDzl5eVp586djjJPP/205s+fr0WLFqmoqEhNmjRRbm6uzpw54ygzcuRI7dq1S6tXr9Z7772ndevWacKECdWe7/z58xo+fLj69Onj/sYDAAC/FWSMMd6sQGZmpnr06KHnn39ekmS325WcnKz7779fU6dOrVZ+6NChqqio0HvvvefYdv311ysjI0OLFi2SMUZJSUmaMmWKHnroIUmSzWZTfHy8Fi9erGHDhmn37t1KS0vTpk2b1L17d0lSQUGBBg4cqG+//VZJSUmOYz/66KP6/vvvdeONN2rSpEk6fvx4ndtWXl6u6Oho2Ww2RUVFWXl5AABAPavr57dXe6LOnTunLVu2KCcnx7EtODhYOTk5KiwsrPExhYWFTuUlKTc311F+//79KikpcSoTHR2tzMxMR5nCwkLFxMQ4ApQk5eTkKDg4WEVFRY5ta9eu1fLly7Vw4cI6tefs2bMqLy93+gIAAIHJqyGqrKxMlZWVio+Pd9oeHx+vkpKSGh9TUlJy0fJV/16qTIsWLZz2h4aGqnnz5o4yP/zwg+666y4tXry4zr1Ic+bMUXR0tOMrOTm5To8DAAD+x+tzonzV+PHjNWLECPXt27fOj5k2bZpsNpvj69ChQx6sIQAA8CavhqjY2FiFhISotLTUaXtpaakSEhJqfExCQsJFy1f9e6kyP5+4fuHCBR09etRRZu3atXrmmWcUGhqq0NBQjRs3TjabTaGhoXrllVdqrFt4eLiioqKcvgAAQGDyaogKCwtTt27dtGbNGsc2u92uNWvWKCsrq8bHZGVlOZWXpNWrVzvKp6amKiEhwalMeXm5ioqKHGWysrJ0/PhxbdmyxVFm7dq1stvtyszMlPTjvKnt27c7vmbPnq1mzZpp+/btuu2229zzAgAAAL8V6u0KTJ48WWPGjFH37t3Vs2dPzZs3TxUVFRo7dqwkafTo0WrZsqXmzJkjSXrwwQeVnZ2tP/3pTxo0aJCWLFmizZs36y9/+YskKSgoSJMmTdKTTz6pdu3aKTU1VTNmzFBSUpLy8vIkSZ06ddKAAQM0fvx4LVq0SOfPn9fEiRM1bNgwx5V5nTp1cqrn5s2bFRwcrC5dutTTKwMAAHyZ10PU0KFDdeTIEc2cOVMlJSXKyMhQQUGBY2L4wYMHFRz8/zvMevXqpTfeeEPTp0/XY489pnbt2mnlypVO4eaRRx5RRUWFJkyYoOPHj6t3794qKChQRESEo8zrr7+uiRMn6sYbb1RwcLBuv/12zZ8/v/4aDgAA/JrX14kKZKwTBQCA//GLdaIAAAD8FSEKAADAAkIUAACABYQoAAAACwhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAAAgAWEKAAAAAsIUQAAABYQogAAACwgRAEAAFhAiAIAALCAEAUAAGABIQoAAMACQhQAAIAFhCgAAAALCFEAAAAWEKIAAAAsIEQBAABYQIgCAACwgBAFAABgASEKAADAAkIUAACABYQoAAAACwhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAAAgAWEKAAAAAsIUQAAABYQogAAACwgRAEAAFhAiAIAALCAEAUAAGABIQoAAMACQhQAAIAFhCgAAAALCFEAAAAWEKIAAAAsIEQBAABYQIgCAACwgBAFAABgASEKAADAAkIUAACABYQoAAAACwhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAAAgAWEKAAAAAsIUQAAABb4RIhauHChUlJSFBERoczMTG3cuPGi5ZcvX66OHTsqIiJCXbt21apVq5z2G2M0c+ZMJSYmKjIyUjk5OdqzZ49TmaNHj2rkyJGKiopSTEyMxo0bp5MnTzr2f/XVV+rfv7/i4+MVERGhNm3aaPr06Tp//rz7Gg4AAPyW10PU0qVLNXnyZOXn52vr1q1KT09Xbm6uDh8+XGP5DRs2aPjw4Ro3bpy2bdumvLw85eXlaefOnY4yTz/9tObPn69FixapqKhITZo0UW5urs6cOeMoM3LkSO3atUurV6/We++9p3Xr1mnChAmO/Y0aNdLo0aP14Ycf6quvvtK8efP00ksvKT8/33MvBgAA8BtBxhjjzQpkZmaqR48eev755yVJdrtdycnJuv/++zV16tRq5YcOHaqKigq99957jm3XX3+9MjIytGjRIhljlJSUpClTpuihhx6SJNlsNsXHx2vx4sUaNmyYdu/erbS0NG3atEndu3eXJBUUFGjgwIH69ttvlZSUVGNdJ0+erE2bNumTTz6pU9vKy8sVHR0tm82mqKgol14XAADgHXX9/PZqT9S5c+e0ZcsW5eTkOLYFBwcrJydHhYWFNT6msLDQqbwk5ebmOsrv379fJSUlTmWio6OVmZnpKFNYWKiYmBhHgJKknJwcBQcHq6ioqMbn3bt3rwoKCpSdnV1re86ePavy8nKnLwAAEJi8GqLKyspUWVmp+Ph4p+3x8fEqKSmp8TElJSUXLV/176XKtGjRwml/aGiomjdvXu15e/XqpYiICLVr1059+vTR7Nmza23PnDlzFB0d7fhKTk6utSwAAPBvXp8T5euWLl2qrVu36o033tD777+vZ555ptay06ZNk81mc3wdOnSoHmsKAADqU6g3nzw2NlYhISEqLS112l5aWqqEhIQaH5OQkHDR8lX/lpaWKjEx0alMRkaGo8zPJ65fuHBBR48erfa8Vb1JaWlpqqys1IQJEzRlyhSFhIRUq1t4eLjCw8Mv1WwAABAAvNoTFRYWpm7dumnNmjWObXa7XWvWrFFWVlaNj8nKynIqL0mrV692lE9NTVVCQoJTmfLychUVFTnKZGVl6fjx49qyZYujzNq1a2W325WZmVlrfe12u86fPy+73e56YwEAQEDxak+U9OMVb2PGjFH37t3Vs2dPzZs3TxUVFRo7dqwkafTo0WrZsqXmzJkjSXrwwQeVnZ2tP/3pTxo0aJCWLFmizZs36y9/+YskKSgoSJMmTdKTTz6pdu3aKTU1VTNmzFBSUpLy8vIkSZ06ddKAAQM0fvx4LVq0SOfPn9fEiRM1bNgwx5V5r7/+uho1aqSuXbsqPDxcmzdv1rRp0zR06FA1atSo/l8oAADgU7weooYOHaojR45o5syZKikpUUZGhgoKChwTww8ePKjg4P/fYdarVy+98cYbmj59uh577DG1a9dOK1euVJcuXRxlHnnkEVVUVGjChAk6fvy4evfurYKCAkVERDjKvP7665o4caJuvPFGBQcH6/bbb9f8+fMd+0NDQ/XUU0/pX//6l4wxat26tSZOnKjf/e539fCqAAAAX+f1daICGetEAYB/Kbad1v6yCqXGNlFidKS3qwMvqevnt9d7ogAA8AVLNx3UtBWfy26k4CBpzpCuGtqjlberBR/GEgcAgAav2HbaEaAkyW6kx1bsVLHttHcrBp9GiAIANHj7yyocAapKpTE6UHbKOxWCXyBEAQAavNTYJgoOct4WEhSklNjG3qkQ/AIhCgDQ4CVGR2rOkK4KCfoxSYUEBekPQ7owuRwXxcRyAAAkDe3RSn3bx+lA2SmlxDYmQOGSCFEAAPyfxOhIwhPqjOE8AAAACwhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAAAgAWEKAAAAAsIUQAAABYQogAAACwgRAEAAFhAiAIAALCAEAUAAGABIQoAAMACQhQAAIAFhCgAAAALCFEAgIBVbDutDfvKVGw77e2qIACFersCAAB4wtJNBzVtxeeyGyk4SJozpKuG9mjl7WohgNATBQAIOMW2044AJUl2Iz22Yic9UnArt4So/fv368KFC+44FAAAl21/WYUjQFWpNEYHyk55p0IISG4JUR06dNCePXvccSgAAC5bamwTBQc5bwsJClJKbGPvVAgByaU5UUOGDKlxe2VlpR544AE1a9ZMkrRixYrLrxkAABYlRkdqzpCuemzFTlUao5CgIP1hSBclRkd6u2oIIC6FqJUrV6pv375KTU2ttq9p06aKjo52W8UAALgcQ3u0Ut/2cTpQdkopsY0JUHC7IGOMuXSxHy1ZskQPP/ywZs+erbFjxzq2N2rUSDt27FBaWppHKumvysvLFR0dLZvNpqioKG9XBwAA1EFdP79dmhM1bNgwffLJJ3r55Zd1++2369ixY5ddUQAAAH/k8sTylJQUrVu3Tl26dFF6ero++OADBQUFXfqBAAAAAcTSYpvBwcF6/PHHddNNN2n06NGqrKx0d73gRsW209pfVqHU2CbMCQAAwE0ua8Xy3r1767PPPtO+ffvUtm1bd9UJbsSKvQAAeMZlrxPVtGlTpaenKzw83B31gRuxYi8AAJ7jUk/UtddeW6f5T1u3brVcIbjPxVbsZVgPAIDL41KIysvLc/zfGKM5c+bo3nvvVfPmzd1dL7hB1Yq9Pw1SrNgLAIB7uLRO1M81a9ZMO3bsUJs2bdxZp4DhC+tELd10sNqKvcyJAgCgdnX9/L6sieXwfazYCwCAZxCiGoDE6EjCEwAAbnbZV+cBnlRsO60N+8q4ohAA4HNc6omaP3++0/cXLlzQ4sWLFRsb67T9gQceuPyaocFjjSsAgC9zaWJ5amrqpQ8YFKSvv/76sioVKHxhYrm/Krad1g1z11a7snD91P4MTQIAPMojE8v3799/2RUD6oI1rgAAvs6lOVFr165VWlqaysvLq+2z2Wzq3LmzPvnkE7dVDg1X1RpXP8UaVwAAX+JSiJo3b57Gjx9fY9dWdHS07rnnHj377LNuqxwarsToSM0Z0lUh/7dCftUaV/RCAQB8hUtzolq3bq2CggJ16tSpxv1ffvmlbr75Zh08eNBtFfRnzIm6fMW206xxBQCoVx6ZE1VaWqpGjRrVfrDQUB05csSVQwIXxRpXAABf5dJwXsuWLbVz585a93/22WdKTEy87EoBVVgnCgDgq1zqiRo4cKBmzJihAQMGKCIiwmnf6dOnlZ+fr1/96ldurSAaLtaJAgD4MpfmRJWWluq6665TSEiIJk6cqA4dOkj6cS7UwoULVVlZqa1btyo+Pt5jFfYnzImyjnWiAADe4pE5UfHx8dqwYYP+/d//XdOmTVNV/goKClJubq4WLlxIgIJbsE4UAMDXuXwD4tatW2vVqlU6duyY9u7dK2OM2rVrpyuuuMIT9UMDVbVO1M97olgnCgDgKyzfgPiKK65Qjx491LNnTwIU3I51ogAAvs7lniigvgzt0Up928exThQAoJpi22ntL6tQamwTr30+EKLg01gnCgDwc75y9bbl4TwAAID6Vmw77QhQ0o9zZx9bsdMr6wkSogAAgNt5arHki129Xd98IkQtXLhQKSkpioiIUGZmpjZu3HjR8suXL1fHjh0VERGhrl27atWqVU77jTGaOXOmEhMTFRkZqZycHO3Zs8epzNGjRzVy5EhFRUUpJiZG48aN08mTJx37P/roIw0ePFiJiYlq0qSJMjIy9Prrr7uv0QAABKilmw7qhrlrNeKlIt0wd62WbnLfPXWrrt7+KW9dve31ELV06VJNnjxZ+fn52rp1q9LT05Wbm6vDhw/XWH7Dhg0aPny4xo0bp23btikvL095eXlOt6N5+umnNX/+fC1atEhFRUVq0qSJcnNzdebMGUeZkSNHateuXVq9erXee+89rVu3ThMmTHB6nmuuuUZvv/22PvvsM40dO1ajR4/We++957kXAwAAP+fp4TZfunrbpRXLPSEzM1M9evTQ888/L0my2+1KTk7W/fffr6lTp1YrP3ToUFVUVDiFmeuvv14ZGRlatGiRjDFKSkrSlClT9NBDD0mSbDab4uPjtXjxYg0bNky7d+9WWlqaNm3apO7du0uSCgoKNHDgQH377bdKSkqqsa6DBg1SfHy8XnnllTq1zVdWLN9x6Jg2HjiqninNlZ4c2MtR+MLVGgDQkG3YV6YRLxVV2/7m+OuV1fZKtz1Pse20x67eruvnt1d7os6dO6ctW7YoJyfHsS04OFg5OTkqLCys8TGFhYVO5SUpNzfXUX7//v0qKSlxKhMdHa3MzExHmcLCQsXExDgClCTl5OQoODhYRUXVT3wVm82m5s2b17r/7NmzKi8vd/rytinLtmvwwg36/ftfavDCDZqybLu3q+Qxnuw+BgDUTX0NtyVGRyqr7ZVe/YPZqyGqrKxMlZWV1W4VEx8fr5KSkhofU1JSctHyVf9eqkyLFi2c9oeGhqp58+a1Pu+yZcu0adMmjR07ttb2zJkzR9HR0Y6v5OTkWsvWhx2Hjuntrd85bXt763faceiYl2rkOb50tQYANGS+NNzmaawTVQf/+Mc/NHbsWL300kvq3LlzreWmTZumyZMnO74vLy/3apDaeOBojds3HzgWcMN63GsPAHxHQ1ks2ashKjY2ViEhISotLXXaXlpaqoSEhBofk5CQcNHyVf+WlpYqMTHRqUxGRoajzM8nrl+4cEFHjx6t9rwff/yxbrnlFj333HMaPXr0RdsTHh6u8PDwi5apTz1Tah567J4SWAFK4l57AOBrGsJiyV4dzgsLC1O3bt20Zs0axza73a41a9YoKyurxsdkZWU5lZek1atXO8qnpqYqISHBqUx5ebmKioocZbKysnT8+HFt2bLFUWbt2rWy2+3KzMx0bPvoo480aNAgPfXUU05X7vmL9OQrdPt1LZ223X5dy4DrhZIaVvcxAMBHGC9bsmSJCQ8PN4sXLzZffPGFmTBhgomJiTElJSXGGGNGjRplpk6d6ij/6aefmtDQUPPMM8+Y3bt3m/z8fNOoUSPz+eefO8rMnTvXxMTEmHfeecd89tlnZvDgwSY1NdWcPn3aUWbAgAHm2muvNUVFRWb9+vWmXbt2Zvjw4Y79a9euNY0bNzbTpk0zxcXFjq8ffvihzm2z2WxGkrHZbJfzEl227QePmv9at89sP3jUq/WoD98fP2U27C0z3x8/5e2qAAD8VF0/v70eoowxZsGCBaZVq1YmLCzM9OzZ0/zzn/907MvOzjZjxoxxKr9s2TLTvn17ExYWZjp37mzef/99p/12u93MmDHDxMfHm/DwcHPjjTear776yqnMDz/8YIYPH26aNm1qoqKizNixY82JEycc+8eMGWMkVfvKzs6uc7t8JUQBAIC6q+vnt9fXiQpkvrJOFAAAqDu/WCcKcDdP3asJAICfY4kDBIylmw461ooKDpLmDOmqoT1aebtaAIAARU8UAgKLbQIA6hshCgHhYottAgDgCYQoBIT6ulcTAABVCFEICCy2CQCob0wsR8BoKPdqAgD4BkIUAkpDuFcTAMA3MJwHAADcriGs20dPFBq0Yttp7S+rUGpsE3qwAMBNGsq6fYQoNFgN5YccAOpTbev29W0fF3B/rDKchwaJxTkBwDMa0rp9hCg0SA3phxwA6lNDWrePEIUGqSH9kANAfWpI6/YxJwoNUtUP+WMrdqrSmID+IQeA+tZQ1u0jRKHBaig/5ADgDQ1h3T5CFBq0hvBDDqDuWPYEriBEAQAglj2B65hYDgBo8Fj2BFYQogAADR7LnsAKQhQAoMFj2RNYQYhCQGkIN7wE4H4NaW0juA8TyxEwmBQK4HKw7AlcRU8UAgKTQgG4Q2J0pLLaXkmAQp0QohAQmBQKAKhvhCgEBCaFAgDqGyEKAYFJoQCA+sbEcgQMJoUCAOoTIQoBhXvhAQDqC8N5AAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgCABmrHoWN66ZN92nHomLer4pdY4gAAgAZoyrLtenvrd47vb7+upf50Z4b3KuSH6IkCAKCB2XHomFOAkqS3t35Hj5SLCFEAADQwGw8crXH75gOEKFcQogAAaGB6pjSvcXv3lCvquSb+jRAFAHCrYttpbdhXpmLbaW9XBbVIT75Ct1/X0mnb7de1VHoyIcoVTCwHALjN0k0HNW3F57IbKThImjOkq4b2aOXtaqEGf7ozQ6OzWmvzgWPqnnIFAcoCQhQAwC2KbacdAUqS7EZ6bMVO9W0fx43BfVR6ct3DU7HttPaXVSg1tgnn8/8QogAAbrG/rMIRoKpUGqMDZaf40PVz9DDWjDlRAAC3SI1touAg520hQUFKiW3snQrBLWrrYWTOGyEKAOAmidGRmjOkq0KCfkxSIUFB+sOQLvRC+bmL9TA2dAznAQDcZmiPVurbPk4Hyk4pJbYxASoAVPUw/jRI0cP4I3qiEFBcvbSaS7EB90uMjlRW2ysJUAGCHsba0ROFgOHqxEcmSgJA3dDDWDN6ohAQXJ34GCgTJelJA1Bf6GGsjp4oBARXL60OhEux6UkDAO+iJwoBwdVLq/39UuxA6UkDAH9GiEJAcHXio79PlOSS48DGMC2q8F7wbQznIWC4OvHRnydKcslx4GKYFlV4L/g+eqIQUFyd+OivEyX9vScNNWOYFlV4L/gHeqIAD/LkDTv9uScNNQuECx7gHrwX/AMhCgHFl+4yXh9d8YnRkR5rpy+9lg0Fw7SownvBPzCch4CxdNNB3TB3rUa8VKQb5q7V0k0HvVYXf++K96XX0ld5YsIvw7SownvBP9AThYBQW2jp2z7OK790/Lkr3tdeS1/kyV5GhmlRhfeC76MnCgHB1y759+d1qHzttfQ19dHL6K8XPMD9eC/4NkIUAoKvhRZ/7or3tdfS1xAyAVRhOA8BoSq0PLZipyqN8YnQ4q9d8b74WvqSJmEhNW5vHBa4f5NykQFQM6//1C9cuFApKSmKiIhQZmamNm7ceNHyy5cvV8eOHRUREaGuXbtq1apVTvuNMZo5c6YSExMVGRmpnJwc7dmzx6nM0aNHNXLkSEVFRSkmJkbjxo3TyZMnHfvPnDmju+66S127dlVoaKjy8vLc1l54ztAerbR+an+9Of56rZ/a3ycWpfPXrnhffC19RcW5yhq3nzpnr/Ux/rzqNBcZALXzaohaunSpJk+erPz8fG3dulXp6enKzc3V4cOHayy/YcMGDR8+XOPGjdO2bduUl5envLw87dy501Hm6aef1vz587Vo0SIVFRWpSZMmys3N1ZkzZxxlRo4cqV27dmn16tV67733tG7dOk2YMMGxv7KyUpGRkXrggQeUk5PjuRcAbuevocUX8VrWzNXhTn8OIf5+lSngaUHGGHPpYp6RmZmpHj166Pnnn5ck2e12JScn6/7779fUqVOrlR86dKgqKir03nvvObZdf/31ysjI0KJFi2SMUVJSkqZMmaKHHnpIkmSz2RQfH6/Fixdr2LBh2r17t9LS0rRp0yZ1795dklRQUKCBAwfq22+/VVJSktNz3nXXXTp+/LhWrlzpcvvKy8sVHR0tm82mqKgolx8Pz2OYAlYs3XSw2nBnTb11xbbTumHu2mpr/ayf2t8v3m8b9pVpxEtF1ba/Of56ZbW90gs1AupHXT+/vTYn6ty5c9qyZYumTZvm2BYcHKycnBwVFhbW+JjCwkJNnjzZaVtubq4j4Ozfv18lJSVOvUfR0dHKzMxUYWGhhg0bpsLCQsXExDgClCTl5OQoODhYRUVFuu222yy36ezZszp79qzj+/LycsvHgudxXypYVdf5bv681IXEgo/ApXhtOK+srEyVlZWKj4932h4fH6+SkpIaH1NSUnLR8lX/XqpMixYtnPaHhoaqefPmtT5vXc2ZM0fR0dGOr+Tk5Ms6HjyHYQpcrroMd/r7lY7+fJUpUB+4Os+Npk2b5tRTVl5eTpDyUf7eQwD/EAhXOvrrVaaBgikHvs1rISo2NlYhISEqLS112l5aWqqEhIQaH5OQkHDR8lX/lpaWKjEx0alMRkaGo8zPJ65fuHBBR48erfV56yo8PFzh4eGXdQzUD18dpuAXZuAJhBDiyXs0onZMOfB9XhvOCwsLU7du3bRmzRrHNrvdrjVr1igrK6vGx2RlZTmVl6TVq1c7yqempiohIcGpTHl5uYqKihxlsrKydPz4cW3ZssVRZu3atbLb7crMzHRb++DbfHGYwp+v4sLFcaXjxfnzEhCewpQD/+DV4bzJkydrzJgx6t69u3r27Kl58+apoqJCY8eOlSSNHj1aLVu21Jw5cyRJDz74oLKzs/WnP/1JgwYN0pIlS7R582b95S9/kSQFBQVp0qRJevLJJ9WuXTulpqZqxowZSkpKcqz11KlTJw0YMEDjx4/XokWLdP78eU2cOFHDhg1zujLviy++0Llz53T06FGdOHFC27dvlyRHjxb8ny/1EHC/OjRU9LbUjCkH/sGrIWro0KE6cuSIZs6cqZKSEmVkZKigoMAxMfzgwYMKDv7/nWW9evXSG2+8oenTp+uxxx5Tu3bttHLlSnXp0sVR5pFHHlFFRYUmTJig48ePq3fv3iooKFBERISjzOuvv66JEyfqxhtvVHBwsG6//XbNnz/fqW4DBw7UN9984/j+2muvlfTjYp4IHL4yTMEvTDRE/PFQO1+dcgBnXl0nKtCxThTqyt/XEwKsYB2qi6vremRwP59fJwrA/xcIV3EBrqK35eJ8acoBakaIAnwEvzDdiysdfR9/PFyar0w5QM0IUYAP4RemezBZ2X/wxwP8mVdvQAwA7sal4f6HJSDgrwhRAPxCXdcSutiVjgDgTgznAfB5rgzP1ddkZeZcAaAnCoBPc3V4rj5Wo2d1eQASPVEAfJyVhUg9OVmZBSIBVCFEAfBpVofnPHWlI6vLA6jCcB4An+ZrN4uuCnU/xQKRQMNETxTgQ5isXDNfWkuIBSIBVCFEAT7CygKRDSl0+dJCpL4U6gB4DyEK8AFWJiuzKrd3+VKoA+AdzIkCfICrC0SyKjcAeB8hCvABrk5WZlVuAPA+QhTgA1y9Ao0rxLyvrrehARC4mBMFeJArE79dmazMFWLexXw0AJIUZIwxly4GK8rLyxUdHS2bzaaoqChvVwf1rD4+aIttp7lCrJ4V207rhrlrqy3+uX5qf84BECDq+vnNcB7gAfU18TsxOlJZba/kw7seMR8NQBVCFOABVj9omWfj+5iPBqAKIQrwACsftEs3HdQNc9dqxEtFumHuWi3ddNDDtYQVvnYbGgDew5woD2JOVMO2dNPBahO/a5sTxTwb/8N8NCBw1fXzm6vzAA9x5Wq7iw3/8QHtm3xpxfKGdPsfwJcQogAPqusHbdXw3897ophng0thuQXvIsA2bMyJ8kOennzM5Ob6xzwbWMHtf7yLeYygJ8rPePqvTv6q9R5Xhv8AiWFgb7Jy03AEHnqi/Iin/+rkr1rvY90nuILlFryH9cK8zxdGTQhRfsTTP7T8UgD8S2J0pG67tqXTtrxrkwjh9YAA612+MpRKiPIjnv6h5ZcC4F+Kbaf1923fOW1bue17eo/rAfMYvceXRk2YE+VHPH3TWW5qC/gX5kR5ly/OY2wIVwv60vueEOVnPP1Da+X4DeGHFvBFLI3hfb60XlhDuTDIl973DOf5IU9PPnbl+L4yLg38nC9MOvU0hpRQxZeGuDzNl9739ETBMi7xRX1ypcezofxFLvnmkBLqny8NcdUHX3nfE6JgWUP7oYX3uBKKGmK496UhJSuYEnD5fGmIq774wvue4TxYxtV8qA+uDlOwVId/YUqAe/jSEFdDQk8ULONqPtQHV3s8G+Jf5L6mrj1LDbHX0JN8ZYirISFE4bLwQ3txnh6maAjDIE3CQmrc3jis5o50Xwz3DeE8VXFl6JUpAe7nC0NcDQkhCpeNH9qacZ9D96g4V1nj9lPn7LU+xpfCfUM5T5LrPUv0GsLfMScK8ADuc+g+Vufe+cJ9CBvSeZJcn4/GPB74O3qiAA/w9DBFQxoG8cXhubpqSOdJstaz5Eu9hoCrCFGAB3h6mKKhDYP46wdtQztPVgMvUwLgrxjOAzzA08MUDXEYxBeG51zVEM/T0B6ttH5qf705/nqtn9o/YOd/AZIUZIwxly4GK8rLyxUdHS2bzaaoqChvVwdeUGw77dHeE08fH+7BeQL8S10/vxnOAzyoPoYpjPg7yNcxXAUEJkIU4Kca0qXzVnh6baYdh45p44Gj6pnSXOnJV7j9+AB8HyEK8EOs9Hxxng6YU5Zt19tbv3N8f/t1LfWnOzPcdnwA/oGJ5YAf4v5wtfP02kw7Dh1zClCS9PbW77Tj0DG3HB+A/yBEAX6Imz/XztMBc+OBozVu33yAEAU0NIQowA81xEvn6yo1tol+li8VFCS3Bcw2sU1q3E6ABRoe5kTBpzWkG7e6yl8XoPQKN17AGBlW86/NxmGN3PckLuLnBIHAH9/HhCj4LK4+uzQuna9uf1lFtcxkJLfdasXKKuSe/HDg5wSBwF/fxwznwSfV141bi22ntWFfWcDeELYh8vR8MVeHUpduOqgb5q7ViJeKdMPctVq66aBb6iE1vBscIzD58/uYnij4pPq4cau//uWDi6uPGxYP7dFKHROaadOBY+qRckWt60R5eimKhnaDYwQmf34fE6Lgkzx941bWWQpsnp4vVtcA7ukPh4Z2g2MEJn9+HzOcB5/k6avPWGcp8HnqhsWuDD342tAi4Iv8+X1MTxR8lid7E+rrLx9/vNoEF+dK71J9DS1ylSb8nb++jwlR8GmeuvqsPj7cmHMVmFwN4PXx4cBVmggE/vg+DjLGcAt4DykvL1d0dLRsNpuioqK8XR3UoNh22iMfbsW207ph7tpqH7Trp/b3u18SqG7ppoPVArg7AzI9mN7Daw+p7p/f9EShQfPUXz7+fLUJLs2TvUv0YHoPrz1cxcRyP8TaRr6Pe9sFPk9MXPfn9XL8Ha89rPCJELVw4UKlpKQoIiJCmZmZ2rhx40XLL1++XB07dlRERIS6du2qVatWOe03xmjmzJlKTExUZGSkcnJytGfPHqcyR48e1ciRIxUVFaWYmBiNGzdOJ0+edCrz2WefqU+fPoqIiFBycrKefvpp9zT4Mnhy4T64T2J0pG67tqXTtrxrk+iFCiA7Dh3TS5/s045D7rvxMFeNeg+vPazweohaunSpJk+erPz8fG3dulXp6enKzc3V4cOHayy/YcMGDR8+XOPGjdO2bduUl5envLw87dy501Hm6aef1vz587Vo0SIVFRWpSZMmys3N1ZkzZxxlRo4cqV27dmn16tV67733tG7dOk2YMMGxv7y8XDfffLNat26tLVu26I9//KNmzZqlv/zlL557MS6Bv5T8R7HttP6+7TunbSu3fc+58mGu9PBOWbZdgxdu0O/f/1KDF27QlGXb3VIHejC9h9ceVng9RD377LMaP368xo4dq7S0NC1atEiNGzfWK6+8UmP5P//5zxowYIAefvhhderUSU888YSuu+46Pf/885J+7IWaN2+epk+frsGDB+uaa67Rf//3f+v777/XypUrJUm7d+9WQUGB/uu//kuZmZnq3bu3FixYoCVLluj777+XJL3++us6d+6cXnnlFXXu3FnDhg3TAw88oGeffbZeXpea8JeS/+Bc+RdXenh3HDqmt7c6B+S3t37nlh4pf14vx9/x2sMKr4aoc+fOacuWLcrJyXFsCw4OVk5OjgoLC2t8TGFhoVN5ScrNzXWU379/v0pKSpzKREdHKzMz01GmsLBQMTEx6t69u6NMTk6OgoODVVRU5CjTt29fhYWFOT3PV199pWPHav5lefbsWZWXlzt9uRN/KfkPzpX/cLWHd+OBozVu33zAPcN6Q3u00vqp/fXm+Ou1fmp/JjbXI157uMqrIaqsrEyVlZWKj4932h4fH6+SkpIaH1NSUnLR8lX/XqpMixYtnPaHhoaqefPmTmVqOsZPn+Pn5syZo+joaMdXcnJyzQ23iL+U/Afnyn+42mvYM6V5jdu7p9R8/zwrPLXaOi6N1x6uYIkDN5o2bZomT57s+L68vNztQcpfV3VtiDhX/sHVxTPTk6/Q7de1dBrSu/26lrXehBhA4PJqiIqNjVVISIhKS0udtpeWliohIaHGxyQkJFy0fNW/paWlSkxMdCqTkZHhKPPziesXLlzQ0aNHnY5T0/P89Dl+Ljw8XOHh4bW21138cVXXhopz5fusrF7/pzszNDqrtTYfOKbuKVcQoIAGyqvDeWFhYerWrZvWrFnj2Ga327VmzRplZWXV+JisrCyn8pK0evVqR/nU1FQlJCQ4lSkvL1dRUZGjTFZWlo4fP64tW7Y4yqxdu1Z2u12ZmZmOMuvWrdP58+ednqdDhw664gp+YQKBxMpcmPTkKzSuTxsCFNCQGS9bsmSJCQ8PN4sXLzZffPGFmTBhgomJiTElJSXGGGNGjRplpk6d6ij/6aefmtDQUPPMM8+Y3bt3m/z8fNOoUSPz+eefO8rMnTvXxMTEmHfeecd89tlnZvDgwSY1NdWcPn3aUWbAgAHm2muvNUVFRWb9+vWmXbt2Zvjw4Y79x48fN/Hx8WbUqFFm586dZsmSJaZx48bmxRdfrHPbbDabkWRsNtvlvEQAAKAe1fXz2+shyhhjFixYYFq1amXCwsJMz549zT//+U/HvuzsbDNmzBin8suWLTPt27c3YWFhpnPnzub999932m+3282MGTNMfHy8CQ8PNzfeeKP56quvnMr88MMPZvjw4aZp06YmKirKjB071pw4ccKpzI4dO0zv3r1NeHi4admypZk7d65L7SJEAQDgf+r6+c0NiD2IGxADAOB/6vr57fXFNgEAAPwRIQoAAMACQhQAAIAFhCgAAAALCFEAAAAWEKIAAAAsIEQBAABYQIgCAACwgBAFAABgQai3KxDIqhaDLy8v93JNAABAXVV9bl/qpi6EKA86ceKEJCk5OdnLNQEAAK46ceKEoqOja93PvfM8yG636/vvv1ezZs0UFBTktuOWl5crOTlZhw4dCsh78gV6+6TAb2Ogt08K/DbSPv8X6G30ZPuMMTpx4oSSkpIUHFz7zCd6ojwoODhYV111lceOHxUVFZA/GFUCvX1S4Lcx0NsnBX4baZ//C/Q2eqp9F+uBqsLEcgAAAAsIUQAAABYQovxQeHi48vPzFR4e7u2qeESgt08K/DYGevukwG8j7fN/gd5GX2gfE8sBAAAsoCcKAADAAkIUAACABYQoAAAACwhRAAAAFhCifMTChQuVkpKiiIgIZWZmauPGjRctP2/ePHXo0EGRkZFKTk7W7373O505c+ayjulJ7m7frFmzFBQU5PTVsWNHTzejVq607/z585o9e7batm2riIgIpaenq6Cg4LKOWR/c3UZfOofr1q3TLbfcoqSkJAUFBWnlypWXfMxHH32k6667TuHh4br66qu1ePHiamV85Rx6on3+fP6Ki4s1YsQItW/fXsHBwZo0aVKN5ZYvX66OHTsqIiJCXbt21apVq9xf+TryRBsXL15c7RxGRER4pgGX4Gr7VqxYoZtuuklxcXGKiopSVlaWPvjgg2rlPP0zSIjyAUuXLtXkyZOVn5+vrVu3Kj09Xbm5uTp8+HCN5d944w1NnTpV+fn52r17t15++WUtXbpUjz32mOVjepIn2idJnTt3VnFxseNr/fr19dGcalxt3/Tp0/Xiiy9qwYIF+uKLL3Tvvffqtttu07Zt2ywf09M80UbJd85hRUWF0tPTtXDhwjqV379/vwYNGqT+/ftr+/btmjRpku6++26nX+K+dA490T7Jf8/f2bNnFRcXp+nTpys9Pb3GMhs2bNDw4cM1btw4bdu2TXl5ecrLy9POnTvdWfU680QbpR9X+/7pOfzmm2/cVWWXuNq+devW6aabbtKqVau0ZcsW9e/fX7fcckv9/x418LqePXua++67z/F9ZWWlSUpKMnPmzKmx/H333Wd+8YtfOG2bPHmyueGGGywf05M80b78/HyTnp7ukfq6ytX2JSYmmueff95p25AhQ8zIkSMtH9PTPNFGXzqHPyXJ/P3vf79omUceecR07tzZadvQoUNNbm6u43tfO4dV3NU+fz5/P5WdnW0efPDBatvvvPNOM2jQIKdtmZmZ5p577rnMGl4+d7Xx1VdfNdHR0W6rl7u42r4qaWlp5vHHH3d8Xx8/g/REedm5c+e0ZcsW5eTkOLYFBwcrJydHhYWFNT6mV69e2rJli6Nb8uuvv9aqVas0cOBAy8f0FE+0r8qePXuUlJSkNm3aaOTIkTp48KDnGlILK+07e/ZstS7zyMhIx1/xvnT+rNbnUm2s4gvn0IrCwkKn10OScnNzHa+Hr51DV12qfVX89fzVRV1fA3938uRJtW7dWsnJyRo8eLB27drl7SpZYrfbdeLECTVv3lxS/f0MEqK8rKysTJWVlYqPj3faHh8fr5KSkhofM2LECM2ePVu9e/dWo0aN1LZtW/Xr188x3GXlmJ7iifZJUmZmphYvXqyCggK98MIL2r9/v/r06aMTJ054tD0/Z6V9ubm5evbZZ7Vnzx7Z7XatXr1aK1asUHFxseVjepIn2ij5zjm0oqSkpMbXo7y8XKdPn/a5c+iqS7VP8u/zVxe1vQb+cP7qqkOHDnrllVf0zjvv6LXXXpPdblevXr307bffertqLnvmmWd08uRJ3XnnnZLq7/coIcoPffTRR/rDH/6g//zP/9TWrVu1YsUKvf/++3riiSe8XTW3qEv7fvnLX+rXv/61rrnmGuXm5mrVqlU6fvy4li1b5sWa182f//xntWvXTh07dlRYWJgmTpyosWPHKjg4cH4c69JGfz6H4PwFgqysLI0ePVoZGRnKzs7WihUrFBcXpxdffNHbVXPJG2+8occff1zLli1TixYt6vW5Q+v12VBNbGysQkJCVFpa6rS9tLRUCQkJNT5mxowZGjVqlO6++25JUteuXVVRUaEJEyboP/7jPywd01M80b6awkZMTIzat2+vvXv3ur8RF2GlfXFxcVq5cqXOnDmjH374QUlJSZo6daratGlj+Zie5Ik21sRb59CKhISEGl+PqKgoRUZGKiQkxKfOoasu1b6a+NP5q4vaXgN/OH9WNWrUSNdee61fncMlS5bo7rvv1vLly52G7urr92jg/Onrp8LCwtStWzetWbPGsc1ut2vNmjXKysqq8TGnTp2qFiRCQkIkScYYS8f0FE+0ryYnT57Uvn37lJiY6Kaa183lvNYRERFq2bKlLly4oLfffluDBw++7GN6gifaWBNvnUMrsrKynF4PSVq9erXj9fC1c+iqS7WvJv50/urCymvg7yorK/X555/7zTl88803NXbsWL355psaNGiQ0756+xl02xR1WLZkyRITHh5uFi9ebL744gszYcIEExMTY0pKSowxxowaNcpMnTrVUT4/P980a9bMvPnmm+brr782H374oWnbtq25884763xMf2/flClTzEcffWT2799vPv30U5OTk2NiY2PN4cOHfb59//znP83bb79t9u3bZ9atW2d+8YtfmNTUVHPs2LE6H7O+eaKNvnQOT5w4YbZt22a2bdtmJJlnn33WbNu2zXzzzTfGGGOmTp1qRo0a5Sj/9ddfm8aNG5uHH37Y7N692yxcuNCEhISYgoICRxlfOoeeaJ8/nz9jjKN8t27dzIgRI8y2bdvMrl27HPs//fRTExoaap555hmze/duk5+fbxo1amQ+//zzem1bFU+08fHHHzcffPCB2bdvn9myZYsZNmyYiYiIcCpTX1xt3+uvv25CQ0PNwoULTXFxsePr+PHjjjL18TNIiPIRCxYsMK1atTJhYWGmZ8+e5p///KdjX3Z2thkzZozj+/Pnz5tZs2aZtm3bmoiICJOcnGx++9vfOn1AXeqY9c3d7Rs6dKhJTEw0YWFhpmXLlmbo0KFm79699dgiZ66076OPPjKdOnUy4eHh5sorrzSjRo0y3333nUvH9AZ3t9GXzuE//vEPI6naV1WbxowZY7Kzs6s9JiMjw4SFhZk2bdqYV199tdpxfeUceqJ9/n7+airfunVrpzLLli0z7du3N2FhYaZz587m/fffr58G1cATbZw0aZLj/RkfH28GDhxotm7dWn+N+glX25ednX3R8lU8/TMYZEwt4yMAAACoFXOiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAAAgAWEKAAAAAsIUQDQgHz00UcKCgrS8ePHvV0VwO8RogB4xF133aWgoCDNnTvXafvKlSsVFBTk+N4Yo5deeklZWVmKiopS06ZN1blzZz344IN1vhHqqVOnNG3aNLVt21YRERGKi4tTdna23nnnHUeZlJQUzZs3zy1t87Sq1y4oKEiNGjVSamqqHnnkEZ05c8al4/Tr10+TJk1y2tarVy8VFxcrOjrajTUGGiZCFACPiYiI0FNPPaVjx47VuN8YoxEjRuiBBx7QwIED9eGHH+qLL77Qyy+/rIiICD355JN1ep57771XK1as0IIFC/Tll1+qoKBAd9xxh3744Qd3NqdeDRgwQMXFxfr666/13HPP6cUXX1R+fv5lHzcsLEwJCQlOQRaARW69iQwA/J8xY8aYX/3qV6Zjx47m4Ycfdmz/+9//bqp+9bz55ptGknnnnXdqPIbdbq/Tc0VHR5vFixfXur+m+2xV+eSTT0zv3r1NRESEueqqq8z9999vTp486dj/3//936Zbt26madOmJj4+3gwfPtyUlpY69lfd86ugoMBkZGSYiIgI079/f1NaWmpWrVplOnbsaJo1a2aGDx9uKioq6tSeMWPGmMGDBzttGzJkiLn22msd35eVlZlhw4aZpKQkExkZabp06WLeeOMNp2P8vM379+931Pen96J86623TFpamgkLCzOtW7c2zzzzTJ3qCTR09EQB8JiQkBD94Q9/0IIFC/Ttt99W2//mm2+qQ4cOuvXWW2t8fF17SxISErRq1SqdOHGixv0rVqzQVVddpdmzZ6u4uFjFxcWSpH379mnAgAG6/fbb9dlnn2np0qVav369Jk6c6Hjs+fPn9cQTT2jHjh1auXKlDhw4oLvuuqvac8yaNUvPP/+8NmzYoEOHDunOO+/UvHnz9MYbb+j999/Xhx9+qAULFtSpPT+3c+dObdiwQWFhYY5tZ86cUbdu3fT+++9r586dmjBhgkaNGqWNGzdKkv785z8rKytL48ePd7Q5OTm52rG3bNmiO++8U8OGDdPnn3+uWbNmacaMGVq8eLGlugINirdTHIDA9NPelOuvv9785je/McY490R17NjR3HrrrU6Pe/DBB02TJk1MkyZNTMuWLev0XB9//LG56qqrTKNGjUz37t3NpEmTzPr1653KtG7d2jz33HNO28aNG2cmTJjgtO2TTz4xwcHB5vTp0zU+16ZNm4wkc+LECWPM/++J+t///V9HmTlz5hhJZt++fY5t99xzj8nNza1Te8aMGWNCQkJMkyZNTHh4uJFkgoODzVtvvXXRxw0aNMhMmTLF8X12drZ58MEHncr8vCdqxIgR5qabbnIq8/DDD5u0tLQ61RVoyOiJAuBxTz31lP76179q9+7dlyz7H//xH9q+fbtmzpypkydP1un4ffv21ddff601a9bojjvu0K5du9SnTx898cQTF33cjh07tHjxYjVt2tTxlZubK7vdrv3790v6safmlltuUatWrdSsWTNlZ2dLkg4ePOh0rGuuucbx//j4eDVu3Fht2rRx2nb48OE6tUeS+vfvr+3bt6uoqEhjxozR2LFjdfvttzv2V1ZW6oknnlDXrl3VvHlzNW3aVB988EG1el3K7t27dcMNNzhtu+GGG7Rnzx5VVla6dCygoSFEAfC4vn37Kjc3V9OmTXPa3q5dO3311VdO2+Li4nT11VerRYsWLj1Ho0aN1KdPHz366KP68MMPNXv2bD3xxBM6d+5crY85efKk7rnnHm3fvt3xtWPHDu3Zs0dt27ZVRUWFcnNzFRUVpddff12bNm3S3//+d0mqdtxGjRo5/l91Vd1PBQUFyW6317k9TZo00dVXX6309HS98sorKioq0ssvv+zY/8c//lF//vOf9eijj+of//iHtm/frtzc3Iu2F4B7hXq7AgAahrlz5yojI0MdOnRwbBs+fLhGjBihd955R4MHD3br86WlpenChQs6c+aMwsLCFBYWVq1n5brrrtMXX3yhq6++usZjfP755/rhhx80d+5cx3yizZs3u7WedREcHKzHHntMkydP1ogRIxQZGalPP/1UgwcP1r/9279Jkux2u/71r38pLS3N8bia2vxznTp10qeffuq07dNPP1X79u0VEhLi/sYAAYSeKAD1omvXrho5cqTmz5/v2DZs2DDdcccdGjZsmGbPnq2ioiIdOHBAH3/8sZYuXVrnD/F+/frpxRdf1JYtW3TgwAGtWrVKjz32mPr376+oqChJP64TtW7dOn333XcqKyuTJD366KPasGGDJk6cqO3bt2vPnj165513HBPLW7VqpbCwMC1YsEBff/213n333UsOEXrKr3/9a4WEhGjhwoWSfuzFW716tTZs2KDdu3frnnvuUWlpqdNjUlJSHK9pWVlZjT1hU6ZM0Zo1a/TEE0/oX//6l/7617/q+eef10MPPVQv7QL8GSEKQL2ZPXu20wd5UFCQli5dqnnz5mnVqlW68cYb1aFDB/3mN79RcnKy1q9fX6fj5ubm6q9//atuvvlmderUSffff79yc3O1bNkyp+c+cOCA2rZtq7i4OEk/zmP6+OOP9a9//Ut9+vTRtddeq5kzZyopKUnSj0OLixcv1vLly5WWlqa5c+fqmWeeceMrUnehoaGaOHGinn76aVVUVGj69Om67rrrlJubq379+ikhIUF5eXlOj3nooYcUEhKitLQ0xcXF1Thf6rrrrtOyZcu0ZMkSdenSRTNnztTs2bNrvAIRgLMgY4zxdiUAAAD8DT1RAAAAFhCiAPi8ny5B8POvTz75xNvVc8nBgwcv2h5XlygA4D0M5wHweRe7EXHLli0VGRlZj7W5PBcuXNCBAwdq3Z+SkqLQUC6cBvwBIQoAAMAChvMAAAAsIEQBAABYQIgCAACwgBAFAABgASEKAADAAkIUAACABYQoAAAACwhRAAAAFvw/scKROcSWDS8AAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_58.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_59.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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rlL5999/32T9LS0oKAiHDh2C0WiU9Y6dOHFCWg40nGgSUfNxzBgROYShQ4ciKioKy5cvR3V1NTp37oyhQ4fi/fffR1FRUb34S5cuSf+/fPmybFmHDh3Qo0cPXL9+vcH9PfLIIwCAFStWyMqXL19eL7Z79+7Q6/U4dOiQVFZUVFRvFnxnZ2cAgBBCKtPr9fjkk08arIe1PProoyguLkZGRoZUdvPmTaxcuRIdOnRAbGwsAKB9+/YAYDLZJKLmYc8YETmMF198EU8//TTWrFmDP//5z0hPT8dDDz2E8PBwTJ06Fd26dUNJSQlyc3Nx/vx5/PzzzwCAPn36YOjQoYiMjESnTp3w008/4csvv8TMmTMb3Ff//v2RkJCAv//979Dr9Rg4cCBycnJw6tSperHjxo3Dyy+/jMcffxzPPfccrl69ilWrViE0NBT79++X4kaMGAG1Wo3Ro0dj+vTpqKysxIcffojOnTubTCitadq0aXj//fcxadIk5OfnIzg4GF9++SV2796N5cuX46677gLw+wUHffr0QUZGBkJDQ9GpUyf069cP/fr1a9X6Etk1pS/nJCIyR93UFvv27au3rLa2VnTv3l10795d3Lx5UwghxOnTp8XEiROFn5+faNeunejSpYv44x//KL788ktpvTfeeENERUUJLy8v4ebmJsLCwsRf//pXUVNTI8WYmobi2rVr4rnnnhN33323cHd3F6NHjxbnzp0zOdXDtm3bRL9+/YRarRa9evUSn332mcltbtmyRdx7771Co9GI4OBg8eabb4qPP/5YABCFhYVSnDlTWzQ1bUdD2yspKRGTJ08W3t7eQq1Wi/DwcPHJJ5/UW3fPnj0iMjJSqNVqTnNB1AIqIW7pDyciIiKiVsUxY0REREQKYjJGREREpCAmY0REREQKYjJGREREpCAmY0REREQKYjJGREREpCBO+mrjjEYjfvvtN9x111287QgREZGdEEKgoqICAQEBsluKmcJkzMb99ttvCAwMVLoaRERE1ALnzp3DPffc02gMkzEbV3fLkXPnzsHDw0Ph2hAREVFzGAwGBAYGSt/jjWEyZuPqTk16eHgwGSMiIrIzzRlixAH8RERERApiMkZERESkICZjRERERApiMkZERESkICZjRERERApiMkZERESkICZjRERERApiMkZERESkICZjRERERApiMkZERESk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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_60.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAHHCAYAAACfqw0dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABJ0UlEQVR4nO3deXxU1cH/8W8WshBIIhKyYCABQVYJgsQgEChpQ0ElomUtW1H01yJQ3IAHCKK/gtYqZXnE2io+FWRRRIv8KDwgUiGNEEAF0SKCgCbBgJlA2DPn94fN1DEJZC6ZzJLP+/WaF+TeM3fOuXeW75x77pkAY4wRAAAAXBLo6QoAAAD4IkIUAACABYQoAAAACwhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAC/Nnv2bAUEBFSrbEBAgGbPnu3W+vTu3Vu9e/f22u0BqD5CFIBasXTpUgUEBDhuwcHBatq0qcaMGaOvv/7a09XzOklJSU77q0mTJurZs6feeuutGtn+2bNnNXv2bG3durVGtgfURYQoALVqzpw5+utf/6olS5bo5z//uV577TWlp6fr/Pnzbnm8GTNm6Ny5c27ZtrulpKTor3/9q/7617/qkUce0TfffKNBgwZpyZIl17zts2fP6oknniBEAdcg2NMVAFC3/PznP1fXrl0lSffdd58aN26sp59+Wu+8844GDx5c448XHBys4GDffKtr2rSpfvnLXzr+HjVqlG688UY9//zzevDBBz1YMwASPVEAPKxnz56SpEOHDjkt/+yzz3TvvfeqUaNGCgsLU9euXfXOO+84lbl06ZKeeOIJtWrVSmFhYbr++uvVo0cPbdq0yVGmsjFRFy5c0G9/+1vFxMSoYcOGuuuuu3T8+PEKdRszZoySkpIqLK9sm6+88op+8pOfqEmTJgoNDVW7du30wgsvuLQvriYuLk5t27bV4cOHr1juxIkTGjdunGJjYxUWFqZOnTrp1Vdfdaw/cuSIYmJiJElPPPGE45Shu8eDAf7GN7+eAfAbR44ckSRdd911jmX79+/X7bffrqZNm2rq1KmKiIjQqlWrlJWVpTfffFN33323pO/DzNy5c3XfffepW7duKikp0a5du7R792799Kc/rfIx77vvPr322msaPny4unfvri1btmjAgAHX1I4XXnhB7du311133aXg4GD97W9/069//WvZ7Xb95je/uaZtl7t06ZKOHTum66+/vsoy586dU+/evfXFF19owoQJSk5O1urVqzVmzBgVFxdr0qRJiomJ0QsvvKD/83/+j+6++24NGjRIknTzzTfXSD2BOsMAQC145ZVXjCTzv//7v+bbb781x44dM2+88YaJiYkxoaGh5tixY46yffv2NR07djTnz593LLPb7aZ79+6mVatWjmWdOnUyAwYMuOLjZmdnmx++1e3du9dIMr/+9a+dyg0fPtxIMtnZ2Y5lo0ePNs2bN7/qNo0x5uzZsxXKZWZmmhYtWjgtS09PN+np6VesszHGNG/e3PzsZz8z3377rfn222/NRx99ZIYOHWokmYceeqjK7c2fP99IMq+99ppj2cWLF01aWppp0KCBKSkpMcYY8+2331ZoLwDXcDoPQK3KyMhQTEyMEhMTde+99yoiIkLvvPOObrjhBknSqVOntGXLFg0ePFinT59WUVGRioqKdPLkSWVmZurgwYOOq/mio6O1f/9+HTx4sNqPv379eknSxIkTnZZPnjz5mtoVHh7u+L/NZlNRUZHS09P15ZdfymazWdrmxo0bFRMTo5iYGHXq1EmrV6/WyJEj9fTTT1d5n/Xr1ysuLk7Dhg1zLKtXr54mTpyoM2fO6P3337dUFwAVcToPQK1avHixWrduLZvNppdfflnbtm1TaGioY/0XX3whY4xmzpypmTNnVrqNEydOqGnTppozZ44GDhyo1q1bq0OHDurXr59Gjhx5xdNSX331lQIDA9WyZUun5TfddNM1tWv79u3Kzs5WTk6Ozp4967TOZrMpKirK5W2mpqbqqaeeUkBAgOrXr6+2bdsqOjr6ivf56quv1KpVKwUGOn9Hbtu2rWM9gJpBiAJQq7p16+a4Oi8rK0s9evTQ8OHD9fnnn6tBgway2+2SpEceeUSZmZmVbuPGG2+UJPXq1UuHDh3S22+/rY0bN+rPf/6znn/+eS1ZskT33XffNde1qkk6y8rKnP4+dOiQ+vbtqzZt2ui5555TYmKiQkJCtH79ej3//POONrmqcePGysjIsHRfAO5HiALgMUFBQZo7d6769OmjRYsWaerUqWrRooWk709BVSdANGrUSGPHjtXYsWN15swZ9erVS7Nnz64yRDVv3lx2u12HDh1y6n36/PPPK5S97rrrVFxcXGH5j3tz/va3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Soo2bNjgGBh+9OhRBQb+p8Ose/fuWr58uWbMmKHp06erVatWWrt2rTp06OAo89hjj6m0tFTjx49XcXGxevTooQ0bNigsLMxRZtmyZZowYYL69u2rwMBA3XPPPVqwYIFjfXBwsJ5++mn961//kjFGzZs314QJE/Tb3/62FvYKAADwdh6fJ8qfMU8UAAC+xyfmiQIAAPBVhCgAAAALCFEAAAAWEKIAAAAsIEQBAABYQIgCAACwgBAFAABgASEKAADAAkIUAACABYQoAAAACwhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAAAgAWEKAAAAAsIUQAAABYQogAAACwgRAEAAFhAiAIAALCAEAUAAGABIQoAAMACQhQAAIAFhCgAAAALCFEAAAAWEKIAAAAsIEQBAABYQIgCAACwgBAFAABgASEKAADAApdD1Pr163Xffffpscce02effea07rvvvtNPfvKTGqscAACAt3IpRC1fvlx33XWXCgoKlJOTo86dO2vZsmWO9RcvXtT7779f45UEAADwNsGuFP7973+v5557ThMnTpQkrVq1Sr/61a90/vx5jRs3zi0VBAAA8EYuhaiDBw/qzjvvdPw9ePBgxcTE6K677tKlS5d0991313gFUbfl287pcFGpkhtHKD4q3NPVAQDAwaUQFRkZqcLCQiUnJzuW9enTR+vWrdMdd9yh48eP13gFUXet3HlU09Z8IruRAgOkuYM6asitzTxdLQAAJLk4Jqpbt276f//v/1VYnp6err/97W+aP39+TdULdVy+7ZwjQEmS3UjT1+xTvu2cZysGAMC/uRSifvvb3yosLKzSdb1799bf/vY3jRo1qkYqhrrtcFGpI0CVKzNGR4rOeqZCAAD8iEun8zp37qzOnTurpKSk0vVdunRRly5daqRiqNuSG0coMEBOQSooIEBJjet7rlIA/B7jMOEKl0JUdHS0AgICrlqurKzMcoUASYqPCtfcQR01fc0+lRmjoIAA/W5QB97UALgN4zDhKpdC1Hvvvef4vzFG/fv315///Gc1bdq0xiuGmuOr36yG3NpMvVrH6EjRWSU1ru9TdQfgW6oah9mrdQzvPaiSSyEqPT3d6e+goCDddtttatGiRY1WCjXH179ZxUeF8wYGwO2uNA6T9yBUhd/O82Nc4QYA1VM+DvOHGIeJqyFE+TGucAOA6ikfhxn073G/jMNEdbh0Oq8y1RloDs/gCjcAdZ0rY0IZhwlXuRSiBg0a5PT3+fPn9eCDDyoiIsJp+Zo1a669ZrhmXOEGoC6zMiaUcZhwhUshKioqyunvX/7ylzVaGdQ8vlkBqIu42g61waUQ9corr7irHnAjvlkBqGu42g61gYHlAAC/w9V2qA2EKACA3+FqO9SGa746DwAAb8SYULgbIQoA4LcYEwp34nQeAACABYQoAAAACwhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYIFXhKjFixcrKSlJYWFhSk1N1YcffnjF8qtXr1abNm0UFhamjh07av369U7rjTGaNWuW4uPjFR4eroyMDB08eNCpzKlTpzRixAhFRkYqOjpa48aN05kzZxzrt27dqoEDByo+Pl4RERFKSUnRsmXLaq7RAADAp3k8RK1cuVJTpkxRdna2du/erU6dOikzM1MnTpyotPyOHTs0bNgwjRs3Tnv27FFWVpaysrK0b98+R5lnnnlGCxYs0JIlS5Sbm6uIiAhlZmbq/PnzjjIjRozQ/v37tWnTJq1bt07btm3T+PHjnR7n5ptv1ptvvqmPP/5YY8eO1ahRo7Ru3Tr37QwAAOAzAowx5urF3Cc1NVW33nqrFi1aJEmy2+1KTEzUQw89pKlTp1YoP2TIEJWWljqFmdtuu00pKSlasmSJjDFKSEjQww8/rEceeUSSZLPZFBsbq6VLl2ro0KE6cOCA2rVrp507d6pr166SpA0bNqh///46fvy4EhISKq3rgAEDFBsbq5dffrlabSspKVFUVJRsNpsiIyNd2i8AAMAzqvv57dGeqIsXLyovL08ZGRmOZYGBgcrIyFBOTk6l98nJyXEqL0mZmZmO8ocPH1ZBQYFTmaioKKWmpjrK5OTkKDo62hGgJCkjI0OBgYHKzc2tsr42m02NGjWqcv2FCxdUUlLidAMAAP7JoyGqqKhIZWVlio2NdVoeGxurgoKCSu9TUFBwxfLl/16tTJMmTZzWBwcHq1GjRlU+7qpVq7Rz506NHTu2yvbMnTtXUVFRjltiYmKVZQEAgG/z+JgoX/Dee+9p7Nixeumll9S+ffsqy02bNk02m81xO3bsWC3WEgAA1CaPhqjGjRsrKChIhYWFTssLCwsVFxdX6X3i4uKuWL7836uV+fHA9cuXL+vUqVMVHvf999/XnXfeqeeff16jRo26YntCQ0MVGRnpdAMAAP7JoyEqJCREXbp00ebNmx3L7Ha7Nm/erLS0tErvk5aW5lRekjZt2uQon5ycrLi4OKcyJSUlys3NdZRJS0tTcXGx8vLyHGW2bNkiu92u1NRUx7KtW7dqwIABevrpp52u3AMAAJDxsBUrVpjQ0FCzdOlS8+mnn5rx48eb6OhoU1BQYIwxZuTIkWbq1KmO8tu3bzfBwcHm2WefNQcOHDDZ2dmmXr165pNPPnGUmTdvnomOjjZvv/22+fjjj83AgQNNcnKyOXfunKNMv379TOfOnU1ubq754IMPTKtWrcywYcMc67ds2WLq169vpk2bZvLz8x23kydPVrttNpvNSDI2m+1adhEAAKhF1f389niIMsaYhQsXmmbNmpmQkBDTrVs3889//tOxLj093YwePdqp/KpVq0zr1q1NSEiIad++vXn33Xed1tvtdjNz5kwTGxtrQkNDTd++fc3nn3/uVObkyZNm2LBhpkGDBiYyMtKMHTvWnD592rF+9OjRRlKFW3p6erXbRYgCAMD3VPfz2+PzRPkz5okCAMD3+MQ8UQAAAL6KEAUAAGABIQpeLd92TjsOFSnfds7TVQEAwEmwpysAVGXlzqOatuYT2Y0UGCDNHdRRQ25t5ulqAQAgiZ4oeKl82zlHgJIku5Gmr9lHjxQAwGsQouCVDheVOgJUuTJjdKTorGcqBADAjxCi4JWSG0coMMB5WVBAgJIa1/dMhQAA+BFCFLxSfFS45g7qqKCA75NUUECAfjeog+Kjwj1cMwAAvsfAcnitIbc2U6/WMTpSdFZJjesToAAAXoUQBa8WHxVOeAIAeCVO5wEAAFhAiAIAALCAEAUAAGABIQoAAMACQhQAAIAFhCgAAAALCFEAAAAWEKIAAIDPybed045DRR79YXom2wQAAD5l5c6jmrbmE9mNFBggzR3UUUNubVbr9aAnCgAA+Ix82zlHgJIku5Gmr9nnkR4pQhQAAPAZh4tKHQGqXJkxOlJ0ttbrQogCAAA+I7lxhAIDnJcFBQQoqXH9Wq8LIQoAAPiM+KhwzR3UUUEB3yepoIAA/W5QB4/8WD0DywEAgE8Zcmsz9WodoyNFZ5XUuL5HApREiAIAAD4oPircY+GpHKfz4Fe8Yd4QAEDdeD+mJwp+w1vmDQGAuq6uvB/TEwW/4E3zhgBAXVaX3o8JUXXAR8e+00v/OKSPjn3n6aq4jTfNGwIAdVldej/mdJ6fe3jVXr25+2vH3/fc0lR/GJziuQq5Sfm8IT984Xpq3hAAqMvq0vsxPVF+7KNj3zkFKEl6c/fXftkjFR8Vrrs7N3ValtU5weNXbgBAXeNN8zi5Gz1RfuzDI6cqXb7ryHfqlHhdLdfGvfJt5/TWHufAuHbPN3ok86YrvnDzbed0uKhUyY0j/PIFDgCe4C3zOLkbIcqPdUtqVOnyrkn+FaCkK5+Dr+rFW1euHgEAT/CGeZzcjdN5fqxT4nW65xbnU1z33NLU73qhJNd/S6kuXT0CAHAPeqL83B8Gp2hUWnPtOvKduiZd55cBSvrPOfjpa/apzJirnoO30nPljTgdCQCeQ4iqAzol+m94+iFXzsH7w9UjnI4EAM/idB78SnxUuNJaXn/VXhlfv3qE05EA4Hn0RKHO8uWrR/zldCQA+DJCFOo0X716xB9ORwKAr+N0HuCDfP10JAD4A3qiAB/ly6cjAcAfEKIAH+arpyMBb8W0IXAFIQoAADFtSE2rC4GUEAUAqPOqmjakV+sYvw0A7lRXAikDywEAdd6Vpg2Ba+rSPHaEKABAnefq72+ianUpkBKi4Ffybee041CRX37jAeA+TBtSc+pSIGVMFPxGXTkHD8A9mDakZrj6g/C+LMAYY65eDFaUlJQoKipKNptNkZGRnq6OX8u3ndPt87ZUmMH7g6l9/PKFCwDeLt92zmcDaXU/v+mJgl/gt+QAwLvUhXnsGBMFv1CXzsEDALwDIQp+gUGhAPwRF8t4N07nwW8wKBSAP6mNi2Xqwqzi7kSIgl+pC+fgAfi/2phBnSuarx2n8wAA8DLunrCyLs0q7k6EKAAAvIy7L5apS7OKuxMhCn6FQZgA/IG7L5bhiuaawZgo+A3O7wPwJ+68WCY+Klx3d26qN3d/7ViW1TmBMaUuoicKfoHz+wD8UXxUuNJaXl/j4Sbfdk5v7fnaadnaPd/wnukiQhT8Auf3AaD6eM+sGR4PUYsXL1ZSUpLCwsKUmpqqDz/88IrlV69erTZt2igsLEwdO3bU+vXrndYbYzRr1izFx8crPDxcGRkZOnjwoFOZU6dOacSIEYqMjFR0dLTGjRunM2fOONafP39eY8aMUceOHRUcHKysrKwaay/cg/P7AFB9vGfWDI+GqJUrV2rKlCnKzs7W7t271alTJ2VmZurEiROVlt+xY4eGDRumcePGac+ePcrKylJWVpb27dvnKPPMM89owYIFWrJkiXJzcxUREaHMzEydP3/eUWbEiBHav3+/Nm3apHXr1mnbtm0aP368Y31ZWZnCw8M1ceJEZWRkuG8HoMYwYzkAVB/vmTUjwBhjrl7MPVJTU3Xrrbdq0aJFkiS73a7ExEQ99NBDmjp1aoXyQ4YMUWlpqdatW+dYdttttyklJUVLliyRMUYJCQl6+OGH9cgjj0iSbDabYmNjtXTpUg0dOlQHDhxQu3bttHPnTnXt2lWStGHDBvXv31/Hjx9XQkKC02OOGTNGxcXFWrt2rcvtq+6vQKPmuPqr4d42W6+31QeAf3P1PbOuqO7nt8d6oi5evKi8vDynnp7AwEBlZGQoJyen0vvk5ORU6BnKzMx0lD98+LAKCgqcykRFRSk1NdVRJicnR9HR0Y4AJUkZGRkKDAxUbm7uNbXpwoULKikpcbqhdrkyCHPlzqO6fd4WDX8pV7fP26KVO4/WQg19pz4A/J+7Bq7XFR4LUUVFRSorK1NsbKzT8tjYWBUUFFR6n4KCgiuWL//3amWaNGnitD44OFiNGjWq8nGra+7cuYqKinLcEhMTr2l7cB9vu5rP2+oDAD/GPHwVeXxguT+ZNm2abDab43bs2DFPVwlV8LYrU7ytPgDwQ/SUV85jIapx48YKCgpSYWGh0/LCwkLFxcVVep+4uLgrli//92plfjxw/fLlyzp16lSVj1tdoaGhioyMdLrBO3nblSneVh8AKEdPedU8FqJCQkLUpUsXbd682bHMbrdr8+bNSktLq/Q+aWlpTuUladOmTY7yycnJiouLcypTUlKi3NxcR5m0tDQVFxcrLy/PUWbLli2y2+1KTU2tsfbBu3nblSneVh9vxKkEwDPoKa+aR3/2ZcqUKRo9erS6du2qbt26af78+SotLdXYsWMlSaNGjVLTpk01d+5cSdKkSZOUnp6uP/zhDxowYIBWrFihXbt26U9/+pMkKSAgQJMnT9ZTTz2lVq1aKTk5WTNnzlRCQoJjrqe2bduqX79+uv/++7VkyRJdunRJEyZM0NChQ52uzPv000918eJFnTp1SqdPn9bevXslSSkpKbW2f+Be7vxJBX+ojzfhJ30AzynvKf9hkKKn/HseDVFDhgzRt99+q1mzZqmgoEApKSnasGGDY2D40aNHFRj4n86y7t27a/ny5ZoxY4amT5+uVq1aae3aterQoYOjzGOPPabS0lKNHz9excXF6tGjhzZs2KCwsDBHmWXLlmnChAnq27evAgMDdc8992jBggVOdevfv7+++uorx9+dO3eW9P1knvAf8VHhXhVWvK0+3qCqUwm9Wsewr+D3vGHak/Ke8ulr9qnMGK/pKfeGfePReaL8HfNEwRte5L5ux6EiDX+p4vQjr99/m9JaXu+BGgG1w9t6YL1pTil375vqfn57tCcK8Gfe9gboq/zhVAJhGq7yxh5Yb+kp96Z9wxQHgBtwNUvN8fVB91waDisYzF01b9o39EQBbnClF7mvfPh7E18ddO9N35jhW/yhB9ZdvGnf0BMFuAHzPtU8X/x5Cm/6xgzf4us9sO7kTfuGnijADbz1ahbULm/6xgzf46s9sLXBW/YNV+e5EVfnwZuuZoFnrNx5tEKY5gIDwLtxdR7gBbzlahZ4jrd8YwZQ8whRAOBmhGnAPzGwHAC8DL8TCPgGeqIAwIswSSvgO+iJAgAvwSStgG8hRAGAl2BeKcC3EKIAwEv4yyStjOlCXUGIAgAv4U0zMVvFbwWiLmGyTTdisk0AVvjqJK35tnO6fd6WCjO0fzC1j0+1A2CyTQDwUb46rxQ/vI26htN5AGAB434q8pcxXUB1EaIAwEWM+6mcP4zpAlzBmCg3YkxU7cu3ndPholIlN47gjfsasS8rx7ifq/PVMV1AOcZEoc5hpueaw76sGuN+rs5Xx3QBruJ0HvyC1Zme3T2uxRfHzfjLrNnu2vfJjSP0o2E/CggQ436AOoieKPgFK70D7u5tsbJ9bziF5g89LbXek8agiDrLG16z8BxCFPxC+VVBPx6nUlXvQFW9Lb1ax9TIG6GV7XvLKTRX96W3cfexPVxUWiEzGcmnQiZqhre8ZuE5nM6DX3D1qiB3/0aZq9v3plNovn6FlbuPLZfxQ/Ku1yw8h54o+I0htzZTr9Yx1boqyN29La5u39tOobmyL72Nu49tecicvmafyozxuZCJmuFtr1l4BiEKfqW6VwW5+4PQ1e1b/eB353gMX73CqjZCjreFTMbl1D5fP+2NmsE8UW7EPFHez93z2biy/ZU7j1b44L/S+ArGY1xZXZmriOeB57j6moXvqO7nNyHKjQhRcFV1P/iZ8NHzvKH3p7aeB97QVm9VV8J6XcNkm4APqu4pNMZjeJa39P7UxvPAW9rqrXz1tDdqBlfnAT6IK8Q8x5uuyooICap0ef2Qmnlr96a2At6IEAX4IF+fhsCXWZlCwV2zp5deLKt0+dmL9hrZvruniwB8Hafz4NUYi1E1b7tCzNu467nj6lVZ7jwd5m1TdVjF6xy+ihAFr8VYjKtjPEbl3PnciY8K192dm+rN3V87lmV1Tqj0OLh79nRvm6rDCl7n8GVcnedGXJ1nHVefwSp3P3dc2f6OQ0Ua/lJuhW28fv9tSmt5/TXX5Yd18papOlzdLq9zeCOuzoNP4+ozWOXu544r26+t02Hu7pF01/Z5ncPXMbAcXomrz2BVcuMI/eipowCpxscJ/VBVz00uALgyXufwdYQoeCU+fFCjfpyqroGrz80htzbTB1P76PX7b9MHU/sw3ucHeJ3jh9x1Fas7cToPXourz2DF4aJS/XigpzGq0VNErj43uQCgarzOIfnuBQaEKHg1PnzgKn8Zh1SXsC/rNndfxepOnM4DvIgvdmd7m7p4iojnDXyZL0/qSk8U4CV8tTu7trgyIWNdOkXE8wa+rrZ6j92BnijAC/AbZVe2cudR3T5vi4a/lKvb523Ryp1Hr3qf+KhwpbW83q8DFM8b/Jgv9kr6cu8xPVGAF2C+nKr58ngJd+N5gx/y5V5JX+09picK8ALMl1M1Xx4v4W48b1DOH3olfbH3mBAFeAFf7s52N28NCt5w2oTnDcrxZcMzOJ0HeAlf7c52t9r4EVxXedNpE3943rhy0QAq58uDs30ZP0DsRvwAMfhwqDnu/pFdV+rRfe4Wpwk9AwKkHVN/wjH+N1ee994USH3dyp1HK3zZYF9aww8Q+zE+mH0DHw41y1smZMz76rtKZ0Tf/dV3GnCz5+vnaa4877looGb5Q6+kryFE+Rg+mH0DHw7+q6rOe/r0XX/ec3VhzfOWLxt1BQPLfYg/XH1RVzDI0391TWpU4feMAyR1SbrOE9XxKq4+773xogFvuGAAvoMQ5UP4YPYd3vjhgJoRHxWuQbc0dVo26JamfPuX6897b7u60MqkrqjbCFE+hA9m31FbHw58a659+bZzemvP107L1u75pkaPga8eVyvP+yG3NtMHU/vo9ftv0wdT+3hseAI9/bCCMVE+xBsv9UbV3D3Ik/FxnuHucTy+flytPO+9YRwP47NgBSHKx3D1Rc1y95WO7vpwYOB6zavucyG5cUSFZQFSjfQI+8tx9YZQ5CrmWYIVhCgf5ItvUN7Il7/x8625ZrnyXDhRcr7CMvPv5de67zmunkNPP6wgRPkg5om6dr7+jZ9vzTXH1efCh0dOVbqdXUe+U6fEa7tCj+PqWfT0w1UMLPcxXD1SM3z9Skdvu6qpNrhrsLWrz4VuSY0qXd61BqY4qIvH1dv44o/gwnPoifIhvt574k1q6xu/O3sN69K3ZneeenX1udAp8Trdc0tTvbn7P1fo3XNL02vuhSpXl44r4OsIUT6ktsZL1IXThbUx/qE2xlzVhfFxVr88VPd5bOW58IfBKRqV1ly7jnynrknXXTVAufqaqgvHFfAHhCgfUhu9J7482NpV7vzGX1u9hnUh8Fr58uDq89jKc6FT4tXDk5W6APAdXjEmavHixUpKSlJYWJhSU1P14YcfXrH86tWr1aZNG4WFhaljx45av36903pjjGbNmqX4+HiFh4crIyNDBw8edCpz6tQpjRgxQpGRkYqOjta4ceN05swZpzIff/yxevbsqbCwMCUmJuqZZ56pmQZb5O7xElYnm/PViQEl941/qI0xV3VlfJyrk8xafR67+lyozvOeCRwB/+bxELVy5UpNmTJF2dnZ2r17tzp16qTMzEydOHGi0vI7duzQsGHDNG7cOO3Zs0dZWVnKysrSvn37HGWeeeYZLViwQEuWLFFubq4iIiKUmZmp8+f/c2nyiBEjtH//fm3atEnr1q3Ttm3bNH78eMf6kpIS/exnP1Pz5s2Vl5en3//+95o9e7b+9Kc/uW9nVIM7Z/e18sFfVz7IXRURElTp8vohNfOSq0sfzq5+efCmAOvrFzAAuDKPh6jnnntO999/v8aOHat27dppyZIlql+/vl5++eVKy//xj39Uv3799Oijj6pt27Z68skndcstt2jRokWSvu+Fmj9/vmbMmKGBAwfq5ptv1v/8z//om2++0dq1ayVJBw4c0IYNG/TnP/9Zqamp6tGjhxYuXKgVK1bom2++kSQtW7ZMFy9e1Msvv6z27dtr6NChmjhxop577rla2S9X4q7ek9r6xl8XlF4sq3T52Yv2Gtl+XftwduXLg7t/HsmV5z0/1QT4N4+GqIsXLyovL08ZGRmOZYGBgcrIyFBOTk6l98nJyXEqL0mZmZmO8ocPH1ZBQYFTmaioKKWmpjrK5OTkKDo6Wl27dnWUycjIUGBgoHJzcx1levXqpZCQEKfH+fzzz/Xdd99VWrcLFy6opKTE6eZLvPEbv69y94dnXfxwru6XB3ef9nblec+UBYB/8+jA8qKiIpWVlSk2NtZpeWxsrD777LNK71NQUFBp+YKCAsf68mVXKtOkSROn9cHBwWrUqJFTmeTk5ArbKF933XUVB5TOnTtXTzzxRNUN9gGuDLBlYsCqufvqP2ZXvjJ3XjTg6vOeKQsA/8XVeTVo2rRpmjJliuPvkpISJSYmerBG1lT38mo+yK/M3R+efDhfmbumCbDyvGfKAsA/eTRENW7cWEFBQSosLHRaXlhYqLi4uErvExcXd8Xy5f8WFhYqPj7eqUxKSoqjzI8Hrl++fFmnTp1y2k5lj/PDx/ix0NBQhYaGVtlef8QH+ZW5+8OTD2fP4HkPQPLwmKiQkBB16dJFmzdvdiyz2+3avHmz0tLSKr1PWlqaU3lJ2rRpk6N8cnKy4uLinMqUlJQoNzfXUSYtLU3FxcXKy8tzlNmyZYvsdrtSU1MdZbZt26ZLly45Pc5NN91U6am8uoyfSUBdxPMegIyHrVixwoSGhpqlS5eaTz/91IwfP95ER0ebgoICY4wxI0eONFOnTnWU3759uwkODjbPPvusOXDggMnOzjb16tUzn3zyiaPMvHnzTHR0tHn77bfNxx9/bAYOHGiSk5PNuXPnHGX69etnOnfubHJzc80HH3xgWrVqZYYNG+ZYX1xcbGJjY83IkSPNvn37zIoVK0z9+vXNiy++WO222Ww2I8nYbLZr2UUAAKAWVffz2+MhyhhjFi5caJo1a2ZCQkJMt27dzD//+U/HuvT0dDN69Gin8qtWrTKtW7c2ISEhpn379ubdd991Wm+3283MmTNNbGysCQ0NNX379jWff/65U5mTJ0+aYcOGmQYNGpjIyEgzduxYc/r0aacyH330kenRo4cJDQ01TZs2NfPmzXOpXYQoAAB8T3U/vwOMMebKfVWwqqSkRFFRUbLZbIqMjPR0dQAAQDVU9/Pb45NtAgAA+CJCFAAAgAWEKAAAAAsIUQAAABYQogAAACwgRAEAAFhAiAIAALCAEAUAAGCBR3+A2N+Vz2NaUlLi4ZoAAIDqKv/cvtp85IQoNzp9+rQkKTEx0cM1AQAArjp9+rSioqKqXM/PvriR3W7XN998o4YNGyogIKDGtltSUqLExEQdO3bML39Oxt/bJ/l/G/29fZL/t5H2+T5/b6M722eM0enTp5WQkKDAwKpHPtET5UaBgYG64YYb3Lb9yMhIv3xhlPP39kn+30Z/b5/k/22kfb7P39vorvZdqQeqHAPLAQAALCBEAQAAWECI8kGhoaHKzs5WaGiop6viFv7ePsn/2+jv7ZP8v420z/f5exu9oX0MLAcAALCAnigAAAALCFEAAAAWEKIAAAAsIEQBAABYQIjyEosXL1ZSUpLCwsKUmpqqDz/88Irl58+fr5tuuknh4eFKTEzUb3/7W50/f/6atulONd2+2bNnKyAgwOnWpk0bdzejSq6079KlS5ozZ45atmypsLAwderUSRs2bLimbdaGmm6jNx3Dbdu26c4771RCQoICAgK0du3aq95n69atuuWWWxQaGqobb7xRS5curVDGW46hO9rny8cvPz9fw4cPV+vWrRUYGKjJkydXWm716tVq06aNwsLC1LFjR61fv77mK19N7mjj0qVLKxzDsLAw9zTgKlxt35o1a/TTn/5UMTExioyMVFpamv7+979XKOfu1yAhygusXLlSU6ZMUXZ2tnbv3q1OnTopMzNTJ06cqLT88uXLNXXqVGVnZ+vAgQP6y1/+opUrV2r69OmWt+lO7mifJLVv3175+fmO2wcffFAbzanA1fbNmDFDL774ohYuXKhPP/1UDz74oO6++27t2bPH8jbdzR1tlLznGJaWlqpTp05avHhxtcofPnxYAwYMUJ8+fbR3715NnjxZ9913n9ObuDcdQ3e0T/Ld43fhwgXFxMRoxowZ6tSpU6VlduzYoWHDhmncuHHas2ePsrKylJWVpX379tVk1avNHW2Uvp/t+4fH8KuvvqqpKrvE1fZt27ZNP/3pT7V+/Xrl5eWpT58+uvPOO2v/fdTA47p162Z+85vfOP4uKyszCQkJZu7cuZWW/81vfmN+8pOfOC2bMmWKuf322y1v053c0b7s7GzTqVMnt9TXVa62Lz4+3ixatMhp2aBBg8yIESMsb9Pd3NFGbzqGPyTJvPXWW1cs89hjj5n27ds7LRsyZIjJzMx0/O1tx7BcTbXPl4/fD6Wnp5tJkyZVWD548GAzYMAAp2WpqanmgQceuMYaXruaauMrr7xioqKiaqxeNcXV9pVr166deeKJJxx/18ZrkJ4oD7t48aLy8vKUkZHhWBYYGKiMjAzl5ORUep/u3bsrLy/P0S355Zdfav369erfv7/lbbqLO9pX7uDBg0pISFCLFi00YsQIHT161H0NqYKV9l24cKFCl3l4eLjjW7w3HT+r9blaG8t5wzG0Iicnx2l/SFJmZqZjf3jbMXTV1dpXzlePX3VUdx/4ujNnzqh58+ZKTEzUwIEDtX//fk9XyRK73a7Tp0+rUaNGkmrvNUiI8rCioiKVlZUpNjbWaXlsbKwKCgoqvc/w4cM1Z84c9ejRQ/Xq1VPLli3Vu3dvx+kuK9t0F3e0T5JSU1O1dOlSbdiwQS+88IIOHz6snj176vTp025tz49ZaV9mZqaee+45HTx4UHa7XZs2bdKaNWuUn59veZvu5I42St5zDK0oKCiodH+UlJTo3LlzXncMXXW19km+ffyqo6p94AvHr7puuukmvfzyy3r77bf12muvyW63q3v37jp+/Linq+ayZ599VmfOnNHgwYMl1d77KCHKB23dulW/+93v9N///d/avXu31qxZo3fffVdPPvmkp6tWI6rTvp///Of6xS9+oZtvvlmZmZlav369iouLtWrVKg/WvHr++Mc/qlWrVmrTpo1CQkI0YcIEjR07VoGB/vNyrE4bffkYguPnD9LS0jRq1CilpKQoPT1da9asUUxMjF588UVPV80ly5cv1xNPPKFVq1apSZMmtfrYwbX6aKigcePGCgoKUmFhodPywsJCxcXFVXqfmTNnauTIkbrvvvskSR07dlRpaanGjx+v//qv/7K0TXdxR/sqCxvR0dFq3bq1vvjii5pvxBVYaV9MTIzWrl2r8+fP6+TJk0pISNDUqVPVokULy9t0J3e0sTKeOoZWxMXFVbo/IiMjFR4erqCgIK86hq66Wvsq40vHrzqq2ge+cPysqlevnjp37uxTx3DFihW67777tHr1aqdTd7X1Puo/X319VEhIiLp06aLNmzc7ltntdm3evFlpaWmV3ufs2bMVgkRQUJAkyRhjaZvu4o72VebMmTM6dOiQ4uPja6jm1XMt+zosLExNmzbV5cuX9eabb2rgwIHXvE13cEcbK+OpY2hFWlqa0/6QpE2bNjn2h7cdQ1ddrX2V8aXjVx1W9oGvKysr0yeffOIzx/D111/X2LFj9frrr2vAgAFO62rtNVhjQ9Rh2YoVK0xoaKhZunSp+fTTT8348eNNdHS0KSgoMMYYM3LkSDN16lRH+ezsbNOwYUPz+uuvmy+//NJs3LjRtGzZ0gwePLja2/T19j388MNm69at5vDhw2b79u0mIyPDNG7c2Jw4ccLr2/fPf/7TvPnmm+bQoUNm27Zt5ic/+YlJTk423333XbW3Wdvc0UZvOoanT582e/bsMXv27DGSzHPPPWf27NljvvrqK2OMMVOnTjUjR450lP/yyy9N/fr1zaOPPmoOHDhgFi9ebIKCgsyGDRscZbzpGLqjfb58/IwxjvJdunQxw4cPN3v27DH79+93rN++fbsJDg42zz77rDlw4IDJzs429erVM5988kmttq2cO9r4xBNPmL///e/m0KFDJi8vzwwdOtSEhYU5laktrrZv2bJlJjg42CxevNjk5+c7bsXFxY4ytfEaJER5iYULF5pmzZqZkJAQ061bN/PPf/7TsS49Pd2MHj3a8felS5fM7NmzTcuWLU1YWJhJTEw0v/71r50+oK62zdpW0+0bMmSIiY+PNyEhIaZp06ZmyJAh5osvvqjFFjlzpX1bt241bdu2NaGhoeb66683I0eONF9//bVL2/SEmm6jNx3D9957z0iqcCtv0+jRo016enqF+6SkpJiQkBDTokUL88orr1TYrrccQ3e0z9ePX2Xlmzdv7lRm1apVpnXr1iYkJMS0b9/evPvuu7XToEq4o42TJ092PD9jY2NN//79ze7du2uvUT/gavvS09OvWL6cu1+DAcZUcX4EAAAAVWJMFAAAgAWEKAAAAAsIUQAAABYQogAAACwgRAEAAFhAiAIAALCAEAUAAGABIQoA6pCtW7cqICBAxcXFnq4K4PMIUQDcYsyYMQoICNC8efOclq9du1YBAQGOv40xeumll5SWlqbIyEg1aNBA7du316RJk6r9Q6hnz57VtGnT1LJlS4WFhSkmJkbp6el6++23HWWSkpI0f/78Gmmbu5Xvu4CAANWrV0/Jycl67LHHdP78eZe207t3b02ePNlpWffu3ZWfn6+oqKgarDFQNxGiALhNWFiYnn76aX333XeVrjfGaPjw4Zo4caL69++vjRs36tNPP9Vf/vIXhYWF6amnnqrW4zz44INas2aNFi5cqM8++0wbNmzQvffeq5MnT9Zkc2pVv379lJ+fry+//FLPP/+8XnzxRWVnZ1/zdkNCQhQXF+cUZAFYVKM/IgMA/zZ69Ghzxx13mDZt2phHH33Usfytt94y5W89r7/+upFk3n777Uq3Ybfbq/VYUVFRZunSpVWur+x3tsr94x//MD169DBhYWHmhhtuMA899JA5c+aMY/3//M//mC5dupgGDRqY2NhYM2zYMFNYWOhYX/6bXxs2bDApKSkmLCzM9OnTxxQWFpr169ebNm3amIYNG5phw4aZ0tLSarVn9OjRZuDAgU7LBg0aZDp37uz4u6ioyAwdOtQkJCSY8PBw06FDB7N8+XKnbfy4zYcPH3bU94e/RfnGG2+Ydu3amZCQENO8eXPz7LPPVqueQF1HTxQAtwkKCtLvfvc7LVy4UMePH6+w/vXXX9dNN92ku+66q9L7V7e3JC4uTuvXr9fp06crXb9mzRrdcMMNmjNnjvLz85Wfny9JOnTokPr166d77rlHH3/8sVauXKkPPvhAEyZMcNz30qVLevLJJ/XRRx9p7dq1OnLkiMaMGVPhMWbPnq1FixZpx44dOnbsmAYPHqz58+dr+fLlevfdd7Vx40YtXLiwWu35sX379mnHjh0KCQlxLDt//ry6dOmid999V/v27dP48eM1cuRIffjhh5KkP/7xj0pLS9P999/vaHNiYmKFbefl5Wnw4MEaOnSoPvnkE82ePVszZ87U0qVLLdUVqFM8neIA+Kcf9qbcdttt5le/+pUxxrknqk2bNuauu+5yut+kSZNMRESEiYiIME2bNq3WY73//vvmhhtuMPXq1TNdu3Y1kydPNh988IFTmebNm5vnn3/eadm4cePM+PHjnZb94x//MIGBgebcuXOVPtbOnTuNJHP69GljzH96ov73f//XUWbu3LlGkjl06JBj2QMPPGAyMzOr1Z7Ro0eboKAgExERYUJDQ40kExgYaN54440r3m/AgAHm4Ycfdvydnp5uJk2a5FTmxz1Rw4cPNz/96U+dyjz66KOmXbt21aorUJfREwXA7Z5++mm9+uqrOnDgwFXL/td//Zf27t2rWbNm6cyZM9Xafq9evfTll19q8+bNuvfee7V//3717NlTTz755BXv99FHH2np0qVq0KCB45aZmSm73a7Dhw9L+r6n5s4771SzZs3UsGFDpaenS5KOHj3qtK2bb77Z8f/Y2FjVr19fLVq0cFp24sSJarVHkvr06aO9e/cqNzdXo0eP1tixY3XPPfc41peVlenJJ59Ux44d1ahRIzVo0EB///vfK9Trag4cOKDbb7/dadntt9+ugwcPqqyszKVtAXUNIQqA2/Xq1UuZmZmaNm2a0/JWrVrp888/d1oWExOjG2+8UU2aNHHpMerVq6eePXvq8ccf18aNGzVnzhw9+eSTunjxYpX3OXPmjB544AHt3bvXcfvoo4908OBBtWzZUqWlpcrMzFRkZKSWLVumnTt36q233pKkCtutV6+e4//lV9X9UEBAgOx2e7XbExERoRtvvFGdOnXSyy+/rNzcXP3lL39xrP/973+vP/7xj3r88cf13nvvae/evcrMzLxiewHUrGBPVwBA3TBv3jylpKTopptuciwbNmyYhg8frrffflsDBw6s0cdr166dLl++rPPnzyskJEQhISEVelZuueUWffrpp7rxxhsr3cYnn3yikydPat68eY7xRLt27arRelZHYGCgpk+frilTpmj48OEKDw/X9u3bNXDgQP3yl7+UJNntdv3rX/9Su3btHPerrM0/1rZtW23fvt1p2fbt29W6dWsFBQXVfGMAP0JPFIBa0bFjR40YMUILFixwLBs6dKjuvfdeDR06VHPmzFFubq6OHDmi999/XytXrqz2h3jv3r314osvKi8vT0eOHNH69es1ffp09enTR5GRkZK+nydq27Zt+vrrr1VUVCRJevzxx7Vjxw5NmDBBe/fu1cGDB/X22287BpY3a9ZMISEhWrhwob788ku98847Vz1F6C6/+MUvFBQUpMWLF0v6vhdv06ZN2rFjhw4cOKAHHnhAhYWFTvdJSkpy7NOioqJKe8Iefvhhbd68WU8++aT+9a9/6dVXX9WiRYv0yCOP1Eq7AF9GiAJQa+bMmeP0QR4QEKCVK1dq/vz5Wr9+vfr27aubbrpJv/rVr5SYmKgPPvigWtvNzMzUq6++qp/97Gdq27atHnroIWVmZmrVqlVOj33kyBG1bNlSMTExkr4fx/T+++/rX//6l3r27KnOnTtr1qxZSkhIkPT9qcWlS5dq9erVateunebNm6dnn322BvdI9QUHB2vChAl65plnVFpaqhkzZuiWW25RZmamevfurbi4OGVlZTnd55FHHlFQUJDatWunmJiYSsdL3XLLLVq1apVWrFihDh06aNasWZozZ06lVyACcBZgjDGergQAAICvoScKAADAAkIUAK/3wykIfnz7xz/+4enqueTo0aNXbI+rUxQA8BxO5wHwelf6IeKmTZsqPDy8FmtzbS5fvqwjR45UuT4pKUnBwVw4DfgCQhQAAIAFnM4DAACwgBAFAABgASEKAADAAkIUAACABYQoAAAACwhRAAAAFhCiAAAALCBEAQAAWPD/AQozCRb6CiyqAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_61.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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blv/hta2bVv8+OOPMBgMRr1RJ06ckJYDdSeIRGQ+jokiIpsaOHAgIiIisGTJElRWVsLPzw8DBw7EypUrUVRUVCv+4sWL0v8vXbpktKxFixbo0KEDrl+/XufzPfLIIwCApUuXGpUvWbKkVmz79u2h1+vx448/SmVFRUW1Zg13cXEBAAghpDK9Xo9PP/20znpYy6OPPgqdTof09HSp7ObNm1i2bBlatGiB6OhoAEDz5s0BwGSSSETmYU8UEdncK6+8gmeeeQZpaWl47rnnkJqaiv79+yMsLAzPPvss2rVrh+LiYmRnZ+P8+fP44YcfAABdu3bFwIED0bNnT7Rq1QoHDhzAF198galTp9b5XOHh4YiPj8c///lP6PV69O3bF5mZmTh9+nSt2JEjR+K1117Dk08+iZdeegnXrl3D8uXLERoaioMHD0pxDz/8MFQqFR5//HFMnjwZV69exYcffgg/Pz+TiaA1JSQkYOXKlRg/fjzy8vIQHByML774Avv27cOSJUvQsmVLAH8MhO/atSvS09MRGhqKVq1aoXv37ujevXuj1pfIodn68kAiahpqpjjIzc2ttay6ulq0b99etG/fXty8eVMIIcSZM2fE2LFjhUajEc2aNROtW7cWjz32mPjiiy+k9d544w0REREhvL29hbu7u+jcubN48803RVVVlRRjajqCiooK8dJLL4m7775beHh4iMcff1ycO3fO5CX/3377rejevbtQqVSiU6dOYvXq1Sa3uWXLFnHvvfcKtVotgoODxdtvvy0++eQTAUAUFBRIcZZMcXC76Rvq2l5xcbGYMGGC8PHxESqVSoSFhYlPP/201rpZWVmiZ8+eQqVScboDIhkUQtzS/0xEREREZuGYKCIiIiIZmEQRERERycAkioiIiEgGJlFEREREMjCJIiIiIpKBSRQRERGRDJxs04oMBgN+++03tGzZkrdYICIichBCCFy5cgWBgYG1buZ9KyZRVvTbb78hKCjI1tUgIiIiGc6dO4d77rmnzuVMoqyo5vYK586dg6enp41rQ0REROYoKytDUFCQdByvC5MoK6o5hefp6ckkioiIyMHcbigOB5YTERERycAkioiIiEgGJlFEREREMtg8iUpNTUVwcDDUajUiIyOxf//+euM3bNiAzp07Q61WIywsDBkZGUbLhRCYO3cuAgIC4O7ujpiYGJw6dcoo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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_62.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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hx82i3n++edF7969m1RXotaMPVFEZHPLly/H+++/jxMnTtw29s9//jMOHz6MRYsW4cqVK03a/vDhw/H9998jNzcXTz75JI4dO4Zhw4bhpZdeanS9r776ChkZGWjXrp300Ov1MJlMKC4uBvBLT81jjz2GLl26oH379oiKigIAnD171mxbDzzwgPR/f39/tG3bFt26dTMru3jxYpPaAwAjR47E4cOHUVBQgKlTp2L69OkYP368tLy2thYvvfQSwsLC0KFDB7Rr1w6ffvppvXrdzokTJzBkyBCzsiFDhuDUqVOora21altErQ2TKCKyueHDh0Ov12PevHlm5aGhoTh58qRZWceOHXHvvfeiU6dOVj1HmzZtMGzYMLzwwgv47LPPsGTJErz00ku4fv16g+tcuXIFTz31FA4fPiw9vvrqK5w6dQrdu3dHVVUV9Ho9fHx8sG7dOhQWFuLjjz8GgHrbbdOmjfT/uqvqfk2hUMBkMjW5Pd7e3rj33nsRHh6Od999FwUFBfj73/8uLX/llVfw17/+FS+88AI+//xzHD58GHq9vtH2ElHzcrd3BYiodVi2bBkiIiJw3333SWVxcXGYNGkStm3bhrFjxzbr8/Xu3Rs3b95ETU0NPDw84OHhUa9n5cEHH8Tx48dx7733WtzGkSNH8NNPP2HZsmXSeKIDBw40az2bQqlUYv78+UhOTsakSZPg5eWFffv2YezYsfif//kfAIDJZMK3336L3r17S+tZavOtevXqhX379pmV7du3Dz169ICbm1vzN4bIhbAniohaRFhYGOLj47F69WqpbOLEiXjyyScxceJELFmyBAUFBThz5gy++OILZGZmNvkgPmLECLz55psoKirCmTNnkJWVhfnz52PkyJHw8fEB8Ms8UXv27MGFCxdQVlYGAHjhhReQl5eHpKQkHD58GKdOncK2bdukgeVdunSBh4cH1qxZg++//x7bt2+/7SlCW/ntb38LNzc3rF27FsAvvXg5OTnIy8vDiRMn8NRTT6G0tNRsneDgYGmflpWVWewJe+6555Cbm4uXXnoJ3377Ld5//328/vrrmDNnTou0i8iZMYkiohazZMkSswO5QqFAZmYmVq1ahaysLIwaNQr33Xcffve73yEoKAh79+5t0nb1ej3ef/99/OY3v0GvXr3wzDPPQK/XY9OmTWbPfebMGXTv3h0dO3YE8Ms4pi+++ALffvsthg0bhr59+2LRokUIDAwE8MupxYyMDGzevBm9e/fGsmXLsHLlymbcI03n7u6OpKQkrFixAlVVVViwYAEefPBB6PV6jBgxAhqNBjExMWbrzJkzB25ubujduzc6duxocbzUgw8+iE2bNmHjxo3o06cPFi1ahCVLlli8ApGIzCmEEMLelSAiIiJyNuyJIiIiIpKBSRQRObxfT0Fw6+M///mPvatnlbNnzzbaHmunKCAi++HpPCJyeI3diLhz587w8vJqwdrcmZs3b+LMmTMNLg8ODoa7Oy+cJnIGTKKIiIiIZODpPCIiIiIZmEQRERERycAkioiIiEgGJlFEREREMjCJIiIiIpKBSRQRERGRDEyiiIiIiGRgEkVEREQkw/8Bx3qs7q+MksIAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_63.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAHHCAYAAACRAnNyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA/wElEQVR4nO3dd3hUdfr//9ckpBFIEBJIAoFA6EVAKR9AKYrGsjZWAWEVcC27gFhWl2KhWAA/rrILiq6fFVgLxgLoriyCYKOsIlgBFQMYxFCiMgESAibv3x/+Ml+G1Elm5pwz83xcV64rOXPmzP2ek+Tcc7/LcRljjAAAAGwowuoAAAAAKkOiAgAAbItEBQAA2BaJCgAAsC0SFQAAYFskKgAAwLZIVAAAgG2RqAAAANsiUQEAALZFogKgzmbMmCGXy1WjfV0ul2bMmBHQeAYPHqzBgwfb9ngAao5EBQghixcvlsvl8nzVq1dPzZs319ixY7Vv3z6rw7OdjIwMr/eradOmOvfcc7V8+XK/HL+wsFAzZszQu+++65fjAeGIRAUIQbNmzdJzzz2np556ShdffLGef/55DRo0SMePHw/I6917770qKioKyLEDrUePHnruuef03HPP6a677tIPP/ygYcOG6amnnqrzsQsLCzVz5kwSFaAO6lkdAAD/u/jii9WrVy9J0o033qikpCTNnTtXb7zxhoYPH+7316tXr57q1XPmv5PmzZvrd7/7nefn66+/Xm3bttXjjz+uP/zhDxZGBkCiogKEhXPPPVeSlJOT47X9q6++0tVXX63GjRsrNjZWvXr10htvvOG1z8mTJzVz5ky1a9dOsbGxatKkic455xytWbPGs09FY1SKi4t1xx13KDk5WQ0bNtTll1+u77//vlxsY8eOVUZGRrntFR1z0aJFOu+889S0aVPFxMSoc+fOWrhwoU/vRXVSUlLUqVMn7d69u8r9Dh48qN///vdq1qyZYmNj1b17dy1ZssTz+J49e5ScnCxJmjlzpqd7KdDjc4BQ48yPQAB8smfPHknSGWec4dm2bds2DRgwQM2bN9eUKVMUHx+vl19+WVdeeaVee+01XXXVVZJ+TRhmz56tG2+8UX369FFBQYE+/vhjbd26VRdccEGlr3njjTfq+eef16hRo9S/f3+tW7dOl156aZ3asXDhQnXp0kWXX3656tWrp3/9618aP368SktLNWHChDodu8zJkye1d+9eNWnSpNJ9ioqKNHjwYH377beaOHGiWrdurVdeeUVjx47V4cOHddtttyk5OVkLFy7UH//4R1111VUaNmyYJOnMM8/0S5xA2DAAQsaiRYuMJPP222+bQ4cOmb1795pXX33VJCcnm5iYGLN3717Pvueff77p1q2bOX78uGdbaWmp6d+/v2nXrp1nW/fu3c2ll15a5etOnz7dnPrv5NNPPzWSzPjx4732GzVqlJFkpk+f7tk2ZswY06pVq2qPaYwxhYWF5fbLysoybdq08do2aNAgM2jQoCpjNsaYVq1amQsvvNAcOnTIHDp0yHz22Wdm5MiRRpK59dZbKz3evHnzjCTz/PPPe7adOHHC9OvXzzRo0MAUFBQYY4w5dOhQufYC8A1dP0AIGjp0qJKTk5Wenq6rr75a8fHxeuONN9SiRQtJ0k8//aR169Zp+PDhOnLkiPLz85Wfn68ff/xRWVlZ2rlzp2eWUKNGjbRt2zbt3Lmzxq+/cuVKSdKkSZO8tt9+++11aldcXJzne7fbrfz8fA0aNEi7du2S2+2u1TFXr16t5ORkJScnq3v37nrllVd03XXXae7cuZU+Z+XKlUpJSdG1117r2RYVFaVJkybp6NGjeu+992oVC4DyQiZRef/993XZZZcpLS1NLpdLK1assMXr7dixQ5dffrkSExMVHx+v3r17Kzc3N6CxAU888YTWrFmjV199VZdccony8/MVExPjefzbb7+VMUb33Xef5yJd9jV9+nRJv47BkH6dQXT48GG1b99e3bp10913363PP/+8ytf/7rvvFBERoczMTK/tHTp0qFO7NmzYoKFDhyo+Pl6NGjVScnKypk2bJkm1TlT69u2rNWvW6O2339bGjRuVn5+vf/7zn15J0em+++47tWvXThER3v9CO3Xq5HkcgH+EzBiVY8eOqXv37rrhhhs8fcFWv15OTo7OOecc/f73v9fMmTOVkJCgbdu2KTY2NuDxIbz16dPHM+vnyiuv1DnnnKNRo0bp66+/VoMGDVRaWipJuuuuu5SVlVXhMdq2bStJGjhwoHJycvT6669r9erV+r//+z89/vjjeuqpp3TjjTfWOdbKFoorKSnx+jknJ0fnn3++OnbsqMcee0zp6emKjo7WypUr9fjjj3va5KukpCQNHTq0Vs8FEHghk6hcfPHFuvjiiyt9vLi4WPfcc4+WLl2qw4cPq2vXrpo7d26tV5us7vUk6Z577tEll1yiRx55xLPt9E+YQKBFRkZq9uzZGjJkiBYsWKApU6aoTZs2kn7trqjJRbpx48YaN26cxo0bp6NHj2rgwIGaMWNGpYlKq1atVFpaqpycHK8qytdff11u3zPOOEOHDx8ut/30qsS//vUvFRcX64033lDLli092995551q4/e3Vq1a6fPPP1dpaalXVeWrr77yPC5VnoQBqLmQ6fqpzsSJE7Vp0ya99NJL+vzzz3XNNdfooosu8qnf3RelpaV688031b59e2VlZalp06bq27dvwLukgIoMHjxYffr00bx583T8+HE1bdpUgwcP1tNPP628vLxy+x86dMjz/Y8//uj1WIMGDdS2bVsVFxdX+nplSfzf/vY3r+3z5s0rt29mZqbcbrdXd1JeXl651WEjIyMlScYYzza3261FixZVGkegXHLJJdq/f7+ys7M923755RfNnz9fDRo00KBBgyRJ9evXl6QKEzEANRMyFZWq5ObmatGiRcrNzVVaWpqkX0veq1at0qJFi/Twww/7/TUPHjyoo0ePas6cOXrwwQc1d+5crVq1SsOGDdM777zj+UcGBMvdd9+ta665RosXL9Yf/vAHPfHEEzrnnHPUrVs33XTTTWrTpo0OHDigTZs26fvvv9dnn30mSercubMGDx6ss88+W40bN9bHH3+sV199VRMnTqz0tXr06KFrr71WTz75pNxut/r376+1a9fq22+/LbfvyJEjNXnyZF111VWaNGmSCgsLtXDhQrVv315bt2717HfhhRcqOjpal112mW655RYdPXpUzzzzjJo2bVphshVIN998s55++mmNHTtWW7ZsUUZGhl599VVt2LBB8+bNU8OGDSX9Ovi3c+fOys7OVvv27dW4cWN17dpVXbt2DWq8gKNZPe0oECSZ5cuXe37+97//bSSZ+Ph4r6969eqZ4cOHG2OM2bFjh5FU5dfkyZNr9HrGGLNv3z4jyVx77bVe2y+77DIzcuRIv7YXKFM2PXnz5s3lHispKTGZmZkmMzPT/PLLL8YYY3Jycsz1119vUlJSTFRUlGnevLn5zW9+Y1599VXP8x588EHTp08f06hRIxMXF2c6duxoHnroIXPixAnPPhVNJS4qKjKTJk0yTZo0MfHx8eayyy4ze/furXC67urVq03Xrl1NdHS06dChg3n++ecrPOYbb7xhzjzzTBMbG2syMjLM3LlzzbPPPmskmd27d3v282V6cnVTrys73oEDB8y4ceNMUlKSiY6ONt26dTOLFi0q99yNGzeas88+20RHRzNVGagFlzGn1FFDhMvl0vLly3XllVdKkrKzszV69Ght27bNUz4u06BBA6WkpOjEiRPatWtXlcdt0qSJZ6XJql5Pkk6cOKH4+HhNnz5d9957r2f75MmTtX79em3YsKH2DQQAIEyERddPz549VVJSooMHD3qWEj9ddHS0Onbs6LfXjI6OVu/evcsNHvzmm288A+0AAEDVQiZROXr0qFf/9+7du/Xpp5+qcePGat++vUaPHq3rr79ef/nLX9SzZ08dOnRIa9eu1ZlnnlmrZb2rer2yGQl33323RowYoYEDB2rIkCFatWqV/vWvf3EnVQAAasrqvid/eeeddyocVzJmzBhjzK/LW99///0mIyPDREVFmdTUVHPVVVeZzz//PCCvV+Yf//iHadu2rYmNjTXdu3c3K1asqGNLAQAIHyE5RgUAAISGsFlHBQAAOA+JCgAAsC1HD6YtLS3VDz/8oIYNG7JUNQAADmGM0ZEjR5SWllbu5p6nc3Si8sMPPyg9Pd3qMAAAQC3s3btXLVq0qHIfRycqZctU7927VwkJCRZHAwAAaqKgoEDp6eme63hVHJ2olHX3JCQkkKgAAOAwNRm2wWBaAABgWyQqAADAtkhUAACAbTl6jEpNlZSU6OTJk1aHYbmoqKhyd48GAMDOQjpRMcZo//79Onz4sNWh2EajRo2UkpLCujMAAEcI6USlLElp2rSp6tevH9YXZ2OMCgsLdfDgQUlSamqqxREBAFC9kE1USkpKPElKkyZNrA7HFuLi4iRJBw8eVNOmTekGAgDYXsgOpi0bk1K/fn2LI7GXsveDMTsAACcI2USlTDh391SE9wMA4CQhn6gAAADnIlEBAAC2RaJiU3v37tUNN9ygtLQ0RUdHq1WrVrrtttv0448/Svp1jMnkyZPVrVs3xcfHKy0tTddff71++OEHiyMHAARLnrtIG3PylecusjqUgCFRsaFdu3apV69e2rlzp5YuXapvv/1WTz31lNauXat+/frpp59+UmFhobZu3ar77rtPW7du1bJly/T111/r8ssvtzp8AEAQZG/O1YA56zTq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X79+FT6nsLCw3IU6MjJSkmSMqdUxAykQbazI0aNHlZOTo9TUVD9FXjN1eb9jY2PVvHlz/fLLL3rttdd0xRVX1PmY/haI9lXEqvNXG/369fN6PyRpzZo1nvfDTuevtqprY0WcdA5rojbvgZOVlJToiy++cNT5W7p0qcaNG6elS5fq0ksv9XosaH+HfhuWa2MvvfSSiYmJMYsXLzbbt283N998s2nUqJFnmth1111npkyZ4tl/+vTppmHDhmbp0qVm165dZvXq1SYzM9MMHz68xscMtkC08U9/+pN59913ze7du82GDRvM0KFDTVJSkjl48KDt2/ff//7XvPbaayYnJ8e8//775rzzzjOtW7c2P//8c42PGUyBaJ+dzt+RI0fMJ598Yj755BMjyTz22GPmk08+Md99950xxpgpU6aY6667zrN/2dTdu+++2+zYscM88cQTFU5Ptsv5MyYwbXTyOTTGePY/++yzzahRo8wnn3xitm3b5nl8w4YNpl69eubRRx81O3bsMNOnT7dsenIg2jdz5kzz1ltvmZycHLNlyxYzcuRIExsb67VPMPnaxhdeeMHUq1fPPPHEE15TrA8fPuzZJxh/h2GRqBhjzPz5803Lli1NdHS06dOnj/nvf//reWzQoEFmzJgxnp9PnjxpZsyYYTIzM01sbKxJT08348eP97oIVHdMK/i7jSNGjDCpqakmOjraNG/e3IwYMcJ8++23QWyRN1/a9+6775pOnTqZmJgY06RJE3PdddeZffv2+XTMYPN3++x0/t555x0jqdxXWZvGjBljBg0aVO45PXr0MNHR0aZNmzZm0aJF5Y5rp/MXiDY6/RxWtH+rVq289nn55ZdN+/btTXR0tOnSpYt58803g9Og0wSifbfffrvn97NZs2bmkksu8VqDJNh8beOgQYOq3L9MoP8OXcZUUucHAACwWMiPUQEAAM5FogIAAGyLRAUAANgWiQoAALAtEhUAAGBbJCoAAMC2SFQAAIBtkagAgJ+9++67crlcOnz4sNWhAI5HogI42NixY+VyuTRnzhyv7StWrJDL5fL8bIzRM888o379+ikhIUENGjRQly5ddNttt9X4BmmFhYWaOnWqMjMzFRsbq+TkZA0aNEivv/66Z5+MjAzNmzfPL20LtLL3zuVyKSoqSq1bt9af//xnHT9+3KfjDB48WLfffrvXtv79+ysvL0+JiYl+jBgITyQqgMPFxsZq7ty5+vnnnyt83BijUaNGadKkSbrkkku0evVqbd++Xf/4xz8UGxurBx98sEav84c//EHLli3T/Pnz9dVXX2nVqlW6+uqr9eOPP/qzOUF10UUXKS8vT7t27dLjjz+up59+WtOnT6/zcaOjo5WSkuKVLAKoJb8uyA8gqMaMGWN+85vfmI4dO5q7777bs3358uWm7M976dKlRpJ5/fXXKzxGaWlpjV4rMTHRLF68uNLHK7ovSJkPPvjAnHPOOSY2Nta0aNHC3Hrrrebo0aOex//5z3+as88+2zRo0MA0a9bMXHvttebAgQOex8vuUbJq1SrTo0cPExsba4YMGWIOHDhgVq5caTp27GgaNmxorr32WnPs2LEatWfMmDHmiiuu8No2bNgw07NnT8/P+fn5ZuTIkSYtLc3ExcWZrl27mhdffNHrGKe3effu3Z54T7131quvvmo6d+5soqOjTatWrcyjjz5aoziBcEdFBXC4yMhIPfzww5o/f76+//77co8vXbpUHTp00OWXX17h82v6qT8lJUUrV67UkSNHKnx82bJlatGihWbNmqW8vDzl5eVJknJycnTRRRfpt7/9rT7//HNlZ2dr/fr1mjhxoue5J0+e1AMPPKDPPvtMK1as0J49ezR27NhyrzFjxgwtWLBAGzdu1N69ezV8+HDNmzdPL774ot58802tXr1a8+fPr1F7Tvfll19q48aNio6O9mw7fvy4zj77bL355pv68ssvdfPNN+u6667TRx99JEn661//qn79+ummm27ytDk9Pb3csbds2aLhw4dr5MiR+uKLLzRjxgzdd999Wrx4ca1iBcKK1ZkSgNo7tSrwP//zP+aGG24wxnhXVDp27Gguv/xyr+fddtttJj4+3sTHx5vmzZvX6LXee+8906JFCxMVFWV69eplbr/9drN+/XqvfVq1amUef/xxr22///3vzc033+y17YMPPjARERGmqKiowtfavHmzkWSOHDlijPl/FZW3337bs8/s2bONJJOTk+PZdsstt5isrKwatWfMmDEmMjLSxMfHm5iYGCPJREREmFdffbXK51166aXmT3/6k+fnQYMGmdtuu81rn9MrKqNGjTIXXHCB1z5333236dy5c41iBcIZFRUgRMydO1dLlizRjh07qt33nnvu0aeffqr7779fR48erdHxBw4cqF27dmnt2rW6+uqrtW3bNp177rl64IEHqnzeZ599psWLF6tBgwaer6ysLJWWlmr37t2Sfq04XHbZZWrZsqUaNmyoQYMGSZJyc3O9jnXmmWd6vm/WrJnq16+vNm3aeG07ePBgjdojSUOGDNGnn36qDz/8UGPGjNG4ceP029/+1vN4SUmJHnjgAXXr1k2NGzdWgwYN9NZbb5WLqzo7duzQgAEDvLYNGDBAO3fuVElJiU/HAsINiQoQIgYOHKisrCxNnTrVa3u7du309ddfe21LTk5W27Zt1bRpU59eIyoqSueee64mT56s1atXa9asWXrggQd04sSJSp9z9OhR3XLLLfr00089X5999pl27typzMxMHTt2TFlZWUpISNALL7ygzZs3a/ny5ZJU7rhRUVGe78tm65zK5XKptLS0xu2Jj49X27Zt1b17dz377LP68MMP9Y9//MPz+P/+7//qr3/9qyZPnqx33nlHn376qbKysqpsLwD/qmd1AAD8Z86cOerRo4c6dOjg2Xbttddq1KhRev3113XFFVf49fU6d+6sX375RcePH1d0dLSio6PLVQjOOussbd++XW3btq3wGF988YV+/PFHzZkzxzO+4+OPP/ZrnDURERGhadOm6c4779SoUaMUFxenDRs26IorrtDvfvc7SVJpaam++eYbde7c2fO8itp8uk6dOmnDhg1e2zZs2KD27dsrMjLS/40BQggVFSCEdOvWTaNHj9bf/vY3z7aRI0fq6quv1siRIzVr1ix9+OGH2rNnj9577z1lZ2fX+EI5ePBgPf3009qyZYv27NmjlStXatq0aRoyZIgSEhIk/bqOyvvvv699+/YpPz9fkjR58mRt3LhREydO1KeffqqdO3fq9ddf9wymbdmypaKjozV//nzt2rVLb7zxRrXdSYFyzTXXKDIyUk888YSkX6tRa9as0caNG7Vjxw7dcsstOnDggNdzMjIyPO9pfn5+hRWdP/3pT1q7dq0eeOABffPNN1qyZIkWLFigu+66KyjtApyMRAUIMbNmzfK6WLpcLmVnZ2vevHlauXKlzj//fHXo0EE33HCD0tPTtX79+hodNysrS0uWLNGFF16oTp066dZbb1VWVpZefvllr9fes2ePMjMzlZycLOnXcSXvvfeevvnmG5177rnq2bOn7r//fqWlpUn6tRtq8eLFeuWVV9S5c2fNmTNHjz76qB/fkZqrV6+eJk6cqEceeUTHjh3Tvffeq7POOktZWVkaPHiwUlJSdOWVV3o956677lJkZKQ6d+6s5OTkCsevnHXWWXr55Zf10ksvqWvXrrr//vs1a9asCmc2AfDmMsYYq4MAAACoCBUVAABgWyQqACTJa/rw6V8ffPCB1eH5JDc3t8r2+Dq9GIB16PoBIElV3pywefPmiouLC2I0dfPLL79oz549lT6ekZGhevWY9Ag4AYkKAACwLbp+AACAbZGoAAAA2yJRAQAAtkWiAgAAbItEBQAA2BaJCgAAsC0SFQAAYFskKgAAwLb+P80gIrr++IPUAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_15_64.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# visualize with IDAES surrogate plotting tools\n", "surrogate_scatter2D(poly_surr, data_training, filename=\"pysmo_poly_train_scatter2D.pdf\")\n", @@ -1418,918 +274,7 @@ "metadata": { "scrolled": false }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABJNklEQVR4nO3de1yUZf7/8feADCjC6KAgEoqippUaaLqaqZmlplTfbX/ZQbODtZpUZiddy8Oapw5GhnYwT5VmW7ltaKul6W6Wu7oilaaWiuWWx5kcUAuIuX9/uEyOoDLDHGB4PR+Peejcc819f+5rWXl3Xdd93ybDMAwBAACEiLBgFwAAAOBLhBsAABBSCDcAACCkEG4AAEBIIdwAAICQQrgBAAAhhXADAABCCuEGAACEFMINAAAIKYQbAAiSRYsWyWQyad++fcEuBQgphBsghG3evFmZmZm6+OKLFR0drWbNmummm27SN998U65t7969ZTKZZDKZFBYWptjYWF144YUaOnSoPv74Y4+Om5OTo169eik+Pl716tVTy5YtddNNN2nVqlW+OrVypk2bpvfff7/c9s8//1yTJk3SsWPH/HbsM02aNMnVlyaTSfXq1dNFF12kJ554QgUFBT45xtKlS5WVleWTfQGhhnADhLCZM2fqvffe01VXXaUXXnhB9957r/75z38qPT1d27ZtK9f+ggsu0BtvvKHXX39dzzzzjK677jp9/vnnuuaaazR48GCVlJSc95jPPvusrrvuOplMJo0bN07PP/+8brzxRn377bdatmyZP05T0rnDzeTJkwMabsq89NJLeuONNzRr1iy1bdtWU6dOVf/+/eWLR/oRboCzqxPsAgD4z5gxY7R06VKZzWbXtsGDB6t9+/aaMWOG3nzzTbf2FotFQ4YMcds2Y8YMPfDAA5o7d65SUlI0c+bMsx7v119/1ZQpU3T11Vfro48+Kvf54cOHq3hG1cfJkydVr169c7b5wx/+oEaNGkmSRowYoRtvvFHLly/Xv/71L3Xr1i0QZQK1EiM3QAjr3r27W7CRpNatW+viiy/Wjh07KrWP8PBwzZ49WxdddJGys7PlcDjO2vbo0aMqKCjQ5ZdfXuHn8fHxbu9/+eUXTZo0SW3atFFUVJQSExP1+9//Xnv27HG1efbZZ9W9e3fFxcWpbt266tSpk9599123/ZhMJp04cUKLFy92TQXdcccdmjRpkh599FFJUosWLVyfnb7G5c0331SnTp1Ut25dWa1W3Xzzzdq/f7/b/nv37q1LLrlEW7ZsUc+ePVWvXj396U9/qlT/na5Pnz6SpPz8/HO2mzt3ri6++GJFRkaqadOmGjVqlNvIU+/evbVy5Up99913rnNKSUnxuB4gVDFyA9QyhmHo0KFDuvjiiyv9nfDwcN1yyy168skntWHDBg0cOLDCdvHx8apbt65ycnJ0//33y2q1nnWfpaWlGjRokNauXaubb75ZDz74oAoLC/Xxxx9r27ZtSk1NlSS98MILuu6663TbbbepuLhYy5Yt0//7f/9PK1ascNXxxhtvaPjw4erSpYvuvfdeSVJqaqqio6P1zTff6K233tLzzz/vGkVp3LixJGnq1Kl68sknddNNN2n48OE6cuSIXnzxRfXs2VNbt25VgwYNXPXabDYNGDBAN998s4YMGaKEhIRK91+ZstAWFxd31jaTJk3S5MmT1bdvX40cOVK7du3SSy+9pM2bN+uzzz5TRESExo8fL4fDof/+9796/vnnJUn169f3uB4gZBkAapU33njDkGTMnz/fbXuvXr2Miy+++Kzf++tf/2pIMl544YVz7n/ChAmGJCM6OtoYMGCAMXXqVGPLli3l2i1YsMCQZMyaNavcZ06n0/X3kydPun1WXFxsXHLJJUafPn3ctkdHRxvDhg0rt69nnnnGkGTk5+e7bd+3b58RHh5uTJ061W37V199ZdSpU8dte69evQxJxssvv3zW8z7dxIkTDUnGrl27jCNHjhj5+fnGK6+8YkRGRhoJCQnGiRMnDMMwjIULF7rVdvjwYcNsNhvXXHONUVpa6tpfdna2IclYsGCBa9vAgQON5s2bV6oeoLZhWgqoRXbu3KlRo0apW7duGjZsmEffLRsZKCwsPGe7yZMna+nSpUpLS9Pq1as1fvx4derUSenp6W5TYe+9954aNWqk+++/v9w+TCaT6+9169Z1/f2nn36Sw+HQFVdcodzcXI/qP9Py5cvldDp100036ejRo65XkyZN1Lp1a61bt86tfWRkpO68806PjnHhhReqcePGatGihf74xz+qVatWWrly5VnX6qxZs0bFxcUaPXq0wsJ+++f5nnvuUWxsrFauXOn5iQK1ENNSQC1x8OBBDRw4UBaLRe+++67Cw8M9+v7x48clSTExMedte8stt+iWW25RQUGB/v3vf2vRokVaunSpMjIytG3bNkVFRWnPnj268MILVafOuf8ZWrFihZ566inl5eWpqKjItf30AOSNb7/9VoZhqHXr1hV+HhER4fY+KSmp3Pql83nvvfcUGxuriIgIXXDBBa6ptrP57rvvJJ0KRaczm81q2bKl63MA50a4AWoBh8OhAQMG6NixY/r000/VtGlTj/dRdul4q1atKv2d2NhYXX311br66qsVERGhxYsX69///rd69epVqe9/+umnuu6669SzZ0/NnTtXiYmJioiI0MKFC7V06VKPz+F0TqdTJpNJf//73ysMemeuYTl9BKmyevbs6VrnAyBwCDdAiPvll1+UkZGhb775RmvWrNFFF13k8T5KS0u1dOlS1atXTz169PCqjs6dO2vx4sU6cOCApFMLfv/973+rpKSk3ChJmffee09RUVFavXq1IiMjXdsXLlxYru3ZRnLOtj01NVWGYahFixZq06aNp6fjF82bN5ck7dq1Sy1btnRtLy4uVn5+vvr27evaVtWRKyCUseYGCGGlpaUaPHiwNm7cqHfeecere6uUlpbqgQce0I4dO/TAAw8oNjb2rG1PnjypjRs3VvjZ3//+d0m/TbnceOONOnr0qLKzs8u1Nf53k7vw8HCZTCaVlpa6Ptu3b1+FN+uLjo6u8EZ90dHRklTus9///vcKDw/X5MmTy91UzzAM2Wy2ik/Sj/r27Suz2azZs2e71TR//nw5HA63q9Sio6PPeVk+UJsxcgOEsIcfflgffPCBMjIyZLfby92078wb9jkcDlebkydPavfu3Vq+fLn27Nmjm2++WVOmTDnn8U6ePKnu3bvrd7/7nfr376/k5GQdO3ZM77//vj799FPdcMMNSktLkyTdfvvtev311zVmzBht2rRJV1xxhU6cOKE1a9bovvvu0/XXX6+BAwdq1qxZ6t+/v2699VYdPnxYc+bMUatWrfTll1+6HbtTp05as2aNZs2apaZNm6pFixbq2rWrOnXqJEkaP368br75ZkVERCgjI0Opqal66qmnNG7cOO3bt0833HCDYmJilJ+fr7/+9a+699579cgjj1Sp/z3VuHFjjRs3TpMnT1b//v113XXXadeuXZo7d64uu+wyt/+9OnXqpLfffltjxozRZZddpvr16ysjIyOg9QLVVjAv1QLgX2WXMJ/t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sTL/IdwAABDC0tPTlZycrOXLl7u2LV++XM2aNVNaWpprW1FRkR544AHFx8crKipKPXr00ObNm9329eGHH6pNmzaqW7eurrzySu3bt6/c8TZs2KArrrhCdevWVXJysh544AGdOHHCb+dXEcINAAAB8t//SuvWnfozkO666y4tXLjQ9X7BggW688473do89thjeu+997R48WLl5uaqVatW6tevn+x2uyRp//79+v3vf6+MjAzl5eVp+PDhGjt2rNs+9uzZo/79++vGG2/Ul19+qbffflsbNmxQZmam/0/yNIQbAAACYP58qXlzqU+fU3/Onx+4Yw8ZMkQbNmzQd999p++++06fffaZhgwZ4vr8xIkTeumll/TMM89owIABuuiiizRv3jzVrVtX8/9X6EsvvaTU1FQ999xzuvDCC3XbbbeVW68zffp03XbbbRo9erRat26t7t27a/bs2Xr99df1yy+/BOx8eSo4AAB+9t//SvfeKzmdp947ndIf/yj16yddcIH/j9+4cWMNHDhQixYtkmEYGjhwoBo1auT6fM+ePSopKdHll1/u2hYREaEuXbpox44dkqQdO3aoa9eubvvt1q2b2/svvvhCX375pZYsWeLaZhiGnE6n8vPz1a5dO3+cXjmEGwAA/Ozbb38LNmVKS6XduwMTbqRTU1Nl00Nz5szxyzGOHz+uP/7xj3rggQfKfRbIxcuEGwAA/Kx1aykszD3ghIdLrVoFrob+/furuLhYJpNJ/fr1c/ssNTVVZrNZn332mZo3by5JKikp0ebNmzV69GhJUrt27fTBBx+4fe9f//qX2/v09HR9/fXXahXIE6sAa24AAPCzCy6QXn31VKCRTv35yiuBG7U5dcxw7dixQ19//bXCywr5n+joaI0cOVKPPvqoVq1apa+//lr33HOPTp48qbvvvluSNGLECH377bd69NFHtWvXLi1dulSLFi1y28/jjz+uzz//XJmZmcrLy9O3336rv/3tbwFfUMzIDQAAAXD33afW2OzefWrEJpDBpkxsbOxZP5sxY4acTqeGDh2qwsJCde7cWatXr1bDhg0lnZpWeu+99/TQQw/pxRdfVJcuXTRt2jTdddddrn106NBB//jHPzR+/HhdccUVMgxDqampGjx4sN/P7XQmwzCMgB4xyAoKCmSxWORwOM75PzIAANKpG97l5+erRYsWioqK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wQUAKserq6VKS0s1ZcoUJSUlqX79+tq7d68k6cknn9T8+fN9WiAAAIAnvAo3U6dO1aJFi/T000+7zfFfcskleu2113xWHAAAgKe8Cjevv/66Xn31Vd12220KDw93be/YsaN27tzps+IAAAA85VW4+eGHH9SqVaty251Op0pKSqpcFAAAgLe8CjcXXXSRPv3003Lb3333XaWlpVW5KAAAAG95dbXUhAkTNGzYMP3www9yOp1avny5du3apddff10rVqzwdY0AAACV5tXIzfXXX6+cnBytWbNG0dHRmjBhgnbs2KGcnBxdffXVvq4RAACg0nxyE7+ahJv4AQBQ83jy+9urkZuWLVvKZrOV237s2DHXAzU9MWfOHKWkpCgqKkpdu3bVpk2bztn+2LFjGjVqlBITExUZGak2bdroww8/9Pi4AAAg9Hi15mbfvn0qLS0tt72oqEg//PCDR/t6++23NWbMGL388svq2rWrsrKy1K9fP+3atUvx8fHl2hcXF+vqq69WfHy83n33XSUlJem7777jgZ0AAECSh+Hmgw8+cP199erVslgsrvelpaVau3atUlJSPCpg1qxZuueee3TnnXdKkl5++WWtXLlSCxYs0NixY8u1X7Bggex2uz7//HNFRERIksfHBAAAocujNTdhYadmsUwmk878WkREhFJSUvTcc89p0KBBldpfcXGx6tWrp3fffVc33HCDa/uwYcN07Ngx/e1vfyv3nWuvvVZWq1X16tXT3/72NzVu3Fi33nqrHn/8cbcbCpYpKipSUVGR631BQYGSk5NZcwMAQA3itwdnOp1OSVKLFi20efNmNWrUyPsqJR09elSlpaVKSEhw256QkHDWOx3v3btXn3zyiW677TZ9+OGH2r17t+677z6VlJRo4sSJ5dpPnz5dkydPrlKdAACg5vBoQfHGjRu1YsUK5efnu4LN66+/rhYtWig+Pl733nuv2yiJPzidTsXHx+vVV19Vp06dNHjwYI0fP14vv/xyhe3HjRsnh8Pheu3fv9+v9QEAgODyKNxMnjxZ27dvd73/6quvdPfdd6tv374aO3ascnJyNH369Ervr1GjRgoPD9ehQ4fcth86dEhNmjSp8DuJiYlq06aN2xRUu3btdPDgQRUXF5drHxkZqdjYWLcXAAAIXR6Fmy+++EJXXXWV6/2yZcvUtWtXzZs3T2PGjNHs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D9OmTTM++ugjY8+ePcbXX39tPPvss0adOnWMefPmBesUfMLTfjhTKF0t5WlfTJ482Vi9erWxZ88eY8uWLcbNN99sREVFGdu3bw/WKfiEp/3w/fffGzExMUZmZqaxa9cuY8WKFUZ8fLzx1FNPBesUfMLb/2/06NHDGDx4cKDL9StP+2LixIlGTEyM8dZbbxl79+41PvroIyM1NdW46aab/FZjrQw3hmEYL774otGsWTPDbDYbXbp0Mf71r3+5PuvVq5cxbNgw1/v8/HxDUrlXr169Al+4H3jSF82bN6+wLyZOnBj4wn3Mk34YP3680apVKyMqKspo2LCh0a1bN2PZsmVBqNr3POmHM4VSuDEMz/pi9OjRrrYJCQnGtddea+Tm5gahat/z9Gfi888/N7p27WpERkYaLVu2NKZOnWr8+uuvAa7a9zzth507dxqSjI8++ijAlfqfJ31RUlJiTJo0yUhNTTWioqKM5ORk47777jN++uknv9VnMgx/jQkBAAAEXq1bcwMAAEIb4QYAAIQUwg0AAAgphBsAABBSCDcAACCkEG4AAEBIIdwAAICQQrgBAD+64447dMMNNwS7DKBWIdwAtdQdd9whk8nkesXFxal///768ssvg12aT5x+bmWvHj16+O14+/btk8lkUl5entv2F154QYsWLfLbcQGUR7gBarH+/fvrwIEDOnDggNauXas6depo0KBBwS7LZxYuXOg6vwMHDuiDDz6osF1JSYnfarBYLGrQoIHf9g+gPMINUItFRkaqSZMmatKkiS699FKNHTtW+/fv15EjR9SnTx9lZma6tT9y5IjMZrPricApKSmaMmWKbrnlFkVHRyspKUlz5sxx+86sWbPUvn17RUdHKzk5Wffdd5+OHz/u+vy7775TRkaGGjZsqOjoaF188cX68MMPJUk//fSTbrvtNjVu3Fh169ZV69attXDhwkqfX4MGDVzn16RJE1mtVtcIy9tvv61evXopKipKS5Yskc1m0y233KKkpCTVq1dP7du311tvveW2P6fTqaefflqtWrVSZGSkmjVrpqlTp0qSWrRoIUlKS0uTyWRS7969JZWflioqKtIDDzyg+Ph4RUVFqUePHtq8ebPr8/Xr18tkMmnt2rXq3Lmz6tWrp+7du2vXrl2VPm+gtiPcAJAkHT9+XG+++aZatWqluLg4DR8+XEuXLlVRUZGrzZtvvqmkpCT16dPHte2ZZ55Rx44dtXXrVo0dO1YPPvigPv74Y9fnYWFhmj17trZv367Fixfrk08+0WOPPeb6fNSoUSoqKtI///lPffXVV5o5c6bq168vSXryySf19ddf6+9//7t27Nihl156SY0aNfLJ+ZbVumPHDvXr10+//PKLOnXqpJUrV2rbtm269957NXToUG3atMn1nXHjxmnGjBmuupYuXaqEhARJcrVbs2aNDhw4oOXLl1d43Mcee0zvvfeeFi9erNzcXLVq1Ur9+vWT3W53azd+/Hg999xz+s9//qM6derorrvu8sl5A7WC3x7JCaBaGzZsmBEeHm5ER0cb0dHRhiQjMTHR2LJli2EYhvHzzz8bDRs2NN5++23Xdzp06GBMmjTJ9b558+ZG//793fY7ePBgY8CAAWc97jvvvGPExcW53rdv395tn6fLyMgw7rzzTq/OT5IRFRXlOr/o6Gjjr3/9q5Gfn29IMrKyss67j4EDBxoPP/ywYRiGUVBQYERGRhrz5s2rsG3Zfrdu3eq2/fQnpR8/ftyIiIgwlixZ4vq8uLjYaNq0qfH0008bhmEY69atMyQZa9ascbVZuXKlIcn4+eefPekCoNZi5Aaoxa688krl5eUpLy9PmzZtUr9+/TRgwAB99913ioqK0tChQ7VgwQJJUm5urrZt26Y77rjDbR/dunUr937Hjh2u92vWrNFVV12lpKQkxcTEaOjQobLZbDp58qQk6YEHHtBTTz2lyy+/XBMnTnRb0Dxy5EgtW7ZMl156qR577DF9/vnnHp3f888/7zq/vLw8XX311a7POnfu7Na2tLRUU6ZMUfv27WW1WlW/fn2tXr1a33//vSRpx44dKioq0lVXXeVRDafbs2ePSkpKdPnll7u2RUREqEuXLm59JkkdOnRw/T0xMVGSdPjwYa+PDdQmhBugFouOjlarVq3UqlUrXXbZZXrttdd04sQJzZs3T5I0fPhwffzxx/rvf/+rhQsXqk+fPmrevHml979v3z4NGjRIHTp00HvvvactW7a41uQUFxe7jrF3714NHTpUX331lTp37qwXX3xRklxB66GHHtKPP/6oq666So888kilj9+kSRPX+bVq1UrR0dFu5366Z555Ri+88IIef/xxrVu3Tnl5eerXr5+rzrp161b6uL4QERHh+rvJZJJ0as0PgPMj3ABwMZlMCgsL088//yxJat++vTp37qx58+Zp6dKlFa77+Ne//lXufbt27SRJW7ZskdPp1HPPPaff/e53atOmjX788cdy+0hOTtaIESO0fPlyPfzww65wJUmNGzfWsGHD9OabbyorK0uvvvqqL0/Z5bPPPtP111+vIUOGqGPHjmrZsqW++eYb1+etW7dW3bp1XYupz2Q2myWdGgE6m9TUVJnNZn322WeubSUlJdq8ebMuuugiH50JgDrBLgBA8BQVFengwYOSTl2ZlJ2drePHjysjI8PVZvjw4crMzFR0dLT+7//+r9w+PvvsMz399NO64YYb9PHHH+udd97RypUrJUmtWrVSSUmJXnzxRWVkZOizzz7Tyy+/7Pb90aNHa8CAAWrTpo1++uknrVu3zhWOJkyYoE6dOuniiy9WUVGRVqxY4frM11q3bq13331Xn3/+uRo2bKhZs2bp0KFDrtARFRWlxx9/XI899pjMZrMuv/xyHTlyRNu3b9fdd9+t+Ph41a1bV6tWrdIFF1ygqKgoWSwWt2NER0dr5MiRevTRR2W1WtWsWTM9/fTTOnnypO6++26/nBdQGzFyA9Riq1atUmJiohITE9W1a1dt3rxZ77zzjusyZkm65ZZbVKdOHd1yyy2Kiooqt4+HH35Y//nPf5SWlqannnpKs2bNUr9+/SRJHTt21KxZszRz5kxdcsklWrJkiaZPn+72/dLSUo0aNUrt2rVT//791aZNG82dO1fSqdGQcePGqUOHDurZs6fCw8O1bNkyv/TFE088ofT0dPXr10+9e/dWkyZNyt1Z+Mknn9TDDz+sCRMmqF27dho8eLBrHUydOnU0e/ZsvfLKK2ratKmuv/76Co8zY8YM3XjjjRo6dKjS09O1e/durV69Wg0bNvTLeQG1kckwDCPYRQCovvbt26fU1FRt3rxZ6enpbp+lpKRo9OjRGj16dHCKA4AKMC0FoEIlJSWy2Wx64okn9Lvf/a5csAGA6oppKQAV+uyzz5SYmKjNmzeXWycTbNOmTVP9+vUrfA0YMCDY5QEIMqalANQ4dru93B19y9StW1dJSUkBrghAdUK4AQAAIYVpKQAAEFIINwAAIKQQbgAAQEgh3AAAgJBCuAEAACGFcAMAAEIK4QYAAIQUwg0AAAgp/x+g+cRf9PgMEQAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_0.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABIbElEQVR4nO3deXwTdf7H8Xdam5aWNpgC5bDQUm5UpCgsKBQULQpVV11A5BBPXIsiXuDBISvHqohQUJfl0hXBBQQLLCisqBwrLgUFBeQoxyqHJJIWEIrN/P7g12joQZseaaav5+ORh2TynZnPjJG8/X6/M2MxDMMQAACASQT5uwAAAICyRLgBAACmQrgBAACmQrgBAACmQrgBAACmQrgBAACmQrgBAACmQrgBAACmQrgBAACmQrgBAD+ZM2eOLBaL9u/f7+9SAFMh3AAm9tVXXyk1NVWtWrVSRESEGjRooF69eun777/P17ZLly6yWCyyWCwKCgpSVFSUmjVrpv79++uTTz4p0X7T09OVlJSk2rVrKzw8XI0aNVKvXr20cuXKsjq0fMaNG6clS5bkW75hwwaNHj1aJ06cKLd9X2j06NGec2mxWBQeHq6WLVvqhRdeUFZWVpnsY968eZo8eXKZbAswG8INYGITJ07UokWLdMMNN+iNN97QQw89pM8//1yJiYnavn17vvaXXXaZ3n33Xb3zzjt65ZVXdOutt2rDhg266aab1Lt3b507d+6i+3z11Vd16623ymKxaMSIEXr99dd15513avfu3Zo/f355HKakosPNmDFjKjTc5HnzzTf17rvvatKkSWrevLlefvllde/eXWXxSD/CDVC4S/xdAIDyM2zYMM2bN09Wq9WzrHfv3rriiis0YcIE/eMf//Bqb7PZ1K9fP69lEyZM0GOPPabp06crLi5OEydOLHR/v/76q8aOHasbb7xRH3/8cb7Pjx07VsojqjxOnz6t8PDwItvcddddqlmzpiRp8ODBuvPOO7V48WL95z//UYcOHSqiTKBKoucGMLGOHTt6BRtJatKkiVq1aqUdO3YUaxvBwcGaMmWKWrZsqbS0NLlcrkLbHj9+XFlZWbr22msL/Lx27dpe78+cOaPRo0eradOmCgsLU926dXXHHXdo7969njavvvqqOnbsqOjoaFWrVk1t27bVwoULvbZjsVh06tQpzZ071zMUdO+992r06NF6+umnJUnx8fGez34/x+Uf//iH2rZtq2rVqslut6tPnz46dOiQ1/a7dOmiyy+/XJs3b1bnzp0VHh6u5557rljn7/euv/56SVJmZmaR7aZPn65WrVopNDRU9erV06OPPurV89SlSxctX75cBw4c8BxTXFxciesBzIqeG6CKMQxDR48eVatWrYq9TnBwsO6++269+OKLWrdunXr06FFgu9q1a6tatWpKT0/XkCFDZLfbC91mbm6uevbsqTVr1qhPnz56/PHHlZ2drU8++UTbt29XQkKCJOmNN97QrbfeqnvuuUc5OTmaP3++/vSnP2nZsmWeOt5991098MADateunR566CFJUkJCgiIiIvT999/r/fff1+uvv+7pRalVq5Yk6eWXX9aLL76oXr166YEHHtBPP/2kqVOnqnPnztqyZYtq1KjhqdfhcOjmm29Wnz591K9fP8XExBT7/OXJC23R0dGFthk9erTGjBmjbt266ZFHHtGuXbv05ptv6quvvtL69esVEhKi559/Xi6XS//73//0+uuvS5KqV69e4noA0zIAVCnvvvuuIcmYOXOm1/KkpCSjVatWha734YcfGpKMN954o8jtjxw50pBkREREGDfffLPx8ssvG5s3b87XbtasWYYkY9KkSfk+c7vdnj+fPn3a67OcnBzj8ssvN66//nqv5REREcbAgQPzbeuVV14xJBmZmZley/fv328EBwcbL7/8stfybdu2GZdcconX8qSkJEOS8dZbbxV63L83atQoQ5Kxa9cu46effjIyMzONt99+2wgNDTViYmKMU6dOGYZhGLNnz/aq7dixY4bVajVuuukmIzc317O9tLQ0Q5Ixa9Ysz7IePXoYDRs2LFY9QFXDsBRQhezcuVOPPvqoOnTooIEDB5Zo3byegezs7CLbjRkzRvPmzVObNm20atUqPf/882rbtq0SExO9hsIWLVqkmjVrasiQIfm2YbFYPH+uVq2a588///yzXC6XOnXqpIyMjBLVf6HFixfL7XarV69eOn78uOdVp04dNWnSRJ9++qlX+9DQUA0aNKhE+2jWrJlq1aql+Ph4Pfzww2rcuLGWL19e6Fyd1atXKycnR0OHDlVQ0G9/PT/44IOKiorS8uXLS36gQBXEsBRQRRw5ckQ9evSQzWbTwoULFRwcXKL1T548KUmKjIy8aNu7775bd999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sbFavHixZ9nixYvVoEEDtWnTxrPs7Nmzeuyxx1S7dm2FhYXpuuuu01dffeW1rRUrVqhp06aqVq2aunbtqv379+fb37p169SpUydVq1ZNsbGxeuyxx3Tq1KlyO76CEG4AAKgg//uf9Omn5/9Zke677z7Nnj3b837WrFkaNGiQV5tnnnlGixYt0ty5c5WRkaHGjRsrOTlZTqdTknTo0CHdcccdSklJ0datW/XAAw9o+PDhXtvYu3evunfvrjvvvFPffPONFixYoHXr1ik1NbX8D/J3CDcAAFSAmTOlhg2l668//8+ZMytu3/369dO6det04MABHThwQOvXr1e/fv08n586dUpvvvmmXnnlFd18881q2bKlZsyYoWrVqmnm/xf65ptvKiEhQa+99pqaNWume+65J998nfHjx+uee+7R0KFD1aRJE3Xs2FFTpkzRO++8ozNnzlTY8fJUcAAAytn//ic99JDkdp9/73ZLDz8sJSdLl11W/vuvVauWevTooTlz5sgwDPXo0UM1a9b0fL53716dO3dO1157rWdZSEiI2rVrpx07dkiSduzYofbt23ttt0OHDl7vv/76a33zzTd67733PMsMw5Db7VZmZqZatGhRHoeXD+EGAIBytnv3b8EmT26utGdPxYQb6fzQVN7w0LRp08plHydPntTDDz+sxx57LN9nFTl5mXADAEA5a9JECgryDjjBwVLjxhVXQ/fu3ZWTkyOLxaLk5GSvzxISEmS1WrV+/Xo1bNhQknTu3Dl99dVXGjp0qCSpRYsW+uijj7zW+89//uP1PjExUd99950aV+SBFYA5NwAAlLPLLpP+9rfzgUY6/8+33664Xpvz+wzWjh079N133yk4r5D/FxERoUceeURPP/20Vq5cqe+++04PPvigTp8+rfvvv1+SNHjwYO3evVtPP/20du3apXnz5mnOnDle23n22We1YcMGpaamauvWrdq9e7eWLl1a4ROK6bkBAKAC3H//+Tk2e/ac77GpyGCTJyoqqtDPJkyYILfbrf79+ys7O1tXX321Vq1apUsvvVTS+WGlRYsW6YknntDUqVPVrl07jRs3Tvfdd59nG1deeaU+++wzPf/88+rUqZMMw1BCQoJ69+5d7sf2exbDMIwK3aOfZWVlyWazyeVyFfkvGQAA6fwN7zIzMxUfH6+wsDB/l2NqRZ3rkvx+MywF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NFSjRo3yunKsquJc/IZz8RvOxXmch99wLn4TaOfC749fAAAAKEv03AAAAFMh3AAAAFMh3AAAAFMh3AAAAFMh3ASoadOmKS4uTmFhYWrfvr02bdpUZPvJkyerWbNmqlatmmJjY/XEE0/ozJkzns9Hjx4ti8Xi9WrevHl5H0aZKMm5OHfunF566SUlJCQoLCxMrVu31sqVK0u1zcqkrM9FoH4vPv/8c6WkpKhevXqyWCxasmTJRddZu3atEhMTFRoaqsaNG2vOnDn52gTi96I8zkUgfi9Keh4OHz6svn37qmnTpgoKCtLQoUMLbPfPf/5TzZs3V1hYmK644gqtWLGi7IsvY+VxLubMmZPvO1HYA60rAuEmAC1YsEDDhg3TqFGjlJGRodatWys5OVnHjh0rsP28efM0fPhwjRo1Sjt27NDMmTO1YMECPffcc17tWrVqpcOHD3te69atq4jDKZWSnosXXnhBb7/9tqZOnarvvvtOgwcP1h//+Edt2bLF521WFuVxLqTA/F6cOnVKrVu31rRp04rVPjMzUz169FDXrl21detWDR06VA888IBWrVrlaROo34vyOBdS4H0vSnoezp49q1q1aumFF15Q69atC2yzYcMG3X333br//vu1ZcsW3X777br99tu1ffv2siy9zJXHuZDO373499+JAwcOlFXJJVfiJ0/C79q1a2c8+uijnve5ublGvXr1Cn3Y6KOPPmpcf/31XsuGDRtmXHvttZ73o0aNMlq3bl0u9Zankp6LunXrGmlpaV7L7rjjDuOee+7xeZuVRXmci0D9XvyeJOPDDz8sss0zzzxjtGrVymtZ7969jeTkZM/7QP1e/F5ZnYtA/14U5zz8XlJSkvH444/nW96rVy+jR48eXsvat29vPPzww6WssOKU1bmYPXu2YbPZyqyu0qLnJsDk5ORo8+bN6tatm2dZUFCQunXrpo0bNxa4TseOHbV582ZPF/q+ffu0YsUK3XLLLV7tdu/erXr16qlRo0a65557dPDgwfI7kDLgy7k4e/Zsvq7SatWqef6v05dtVgblcS7yBNr3whcbN270OneSlJyc7Dl3gfq98MXFzkWeqvC9uJjinquq4uTJk2rYsKFiY2N122236dtvv/VbLYSbAHP8+HHl5uZ6HiyaJyYmxvOE9Av17dtXL730kq677jqFhIQoISFBXbp08RqWat++vebMmaOVK1fqzTffVGZmpjp16qTs7OxyPZ7S8OVcJCcna9KkSdq9e7fcbrc++eQTLV68WIcPH/Z5m5VBeZwLKTC/F744cuRIgecuKytLv/zyS8B+L3xxsXMhVZ3vxcUUdq7M9p0ojmbNmmnWrFlaunSp/vGPf8jtdqtjx4763//+55d6CDdVwNq1azVu3DhNnz5dGRkZWrx4sZYvX66xY8d62tx8883605/+pCuvvFLJyclasWKFTpw4oQ8++MCPlZe9N954Q02aNFHz5s1ltVqVmpqqQYMGeT15vqoozrmoKt8LlAzfC1yoQ4cOGjBggK666iolJSVp8eLFqlWrlt5++22/1FP1/kYPcDVr1lRwcLCOHj3qtfzo0aOqU6dOgeu8+OKL6t+/vx544AFdccUV+uMf/6hx48Zp/PjxcrvdBa5To0YNNW3aVHv27CnzYygrvpyLWrVqacmSJTp16pQOHDignTt3qnr16mrUqJHP26wMyuNcFCQQvhe+qFOnToHnLioqStWqVQvY74UvLnYuCmLW78XFFHauzPad8EVISIjatGnjt+8E4SbAWK1WtW3bVmvWrPEsc7vdWrNmjTp06FDgOqdPn87XMxEcHCxJMgp5tNjJkye1d+9e1a1bt4wqL3u+nIs8YWFhql+/vn799VctWrRIt912W6m36U/lcS4KEgjfC1906NDB69xJ0ieffOI5d4H6vfDFxc5FQcz6vbgYX85VVZGbm6tt27b57zvh7xnNKLn58+cboaGhxpw5c4zvvvvOeOihh4waNWoYR44cMQzDMPr3728MHz7c037UqFFGZGSk8f777xv79u0zPv74YyMhIcHo1auXp82TTz5prF271sjMzDTWr19vdOvWzahZs6Zx7NixCj++kijpufjPf/5jLFq0yNi7d6/x+eefG9dff70RHx9v/Pzzz8XeZmVVHuciUL8X2dnZxpYtW4wtW7YYkoxJkyYZW7ZsMQ4cOGAYhmEMHz7c6N+/v6f9vn37jPDwcOPpp582duzYYUybNs0IDg42Vq5c6WkTqN+L8jgXgfi9KOl5MAzD075t27ZG3759jS1bthjffvut5/P169cbl1xyifHqq68aO3bsMEaNGmWEhIQY27Ztq9BjK6nyOBdjxowxVq1aZezdu9fYvHmz0adPHyMsLMyrTUUi3ASoqVOnGg0aNDCs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GzZMffv2VbVq1bR+/Xrddttt6tevnyTJ7Xbr+++/V8uWLT3rFXTMF2rRooXWr1/vtWz9+vVq2rSpgoODy/5gABOh5wao4q644grdc889mjJlimdZnz59dNddd6lPnz566aWX9OWXX2r//v367LPPtGDBgmL/uHbp0kVvv/22Nm/erP3792vFihV67rnn1LVrV0VFRUk6f5+bzz//XD/88IOOHz8uSXr22We1YcMGpaamauvWrdq9e7eWLl3qmVDcoEEDWa1WTZ06Vfv27dNHH3100aGu8vKnP/1JwcHBmjZtmqTzvV6ffPKJNmzYoB07dujhhx/W0aNHvdaJi4vznNPjx48X2HP05JNPas2aNRo7dqy+//57zZ07V2lpaXrqqacq5LiAQEa4AaCXXnrJ6wfWYrFowYIFmjx5slasWKEbbrhBzZo103333afY2FitW7euWNtNTk7W3LlzddNNN6lFixYaMmSIkpOT9cEHH3jte//+/UpISFCtWrUknZ8n89lnn+n7779Xp06d1KZNG40cOVL16tWTdH6IbM6cOfrnP/+pli1basKECXr11VfL8IwU3yWXXKLU1FT99a9/1alTp/TCCy8oMTFRycnJ6tKli+rUqaPbb7/da52nnnpKwcHBatmypWrVqlXgfJzExER98MEHmj9/vi6//HKNHDlSL730UoFXhAHwZjEMw/B3EQAAAGWFnhsAAGAqhBsAPvv9pdoXvr744gt/l1ciBw8eLPJ4SnopNwD/YVgKgM+KeoBm/fr1Va1atQqspnR+/fVX7d+/v9DP4+LidMklXGAKBALCDQAAMBWGpQAAgKkQbgAAgKkQbgAAgKkQbgAAgKkQbgAAgKkQbgAAgKkQbgAAgKkQbgAAgKn8H/VS+2DLnrUVAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_1.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk0AAAHHCAYAAACiOWx7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABZ3klEQVR4nO3de1hU1f4G8HdABhBhdFBuiqDgDe/gJbTUlERD0vL8UkvDW6ZBqVQaaV7S1DSv4eVkhlaaZmon0TTF21EpDSQVFcNQK0VtRgZEBWTW7w8PO0dAZ4a5Ae/neeaRvfeaPd+9jsl71l57jUwIIUBEREREj2Rn7QKIiIiIKgOGJiIiIiI9MDQRERER6YGhiYiIiEgPDE1EREREemBoIiIiItIDQxMRERGRHhiaiIiIiPTA0ERERESkB4YmIqIqZu3atZDJZLh48aK1SyGqUhiaiMhgx48fR0xMDFq2bAkXFxc0bNgQL774Is6fP1+qbY8ePSCTySCTyWBnZwc3Nzc0a9YMw4YNw549ewz63O3bt6N79+7w8PBAzZo10bhxY7z44ovYtWuXqS6tlDlz5uC7774rtf/o0aOYMWMGcnJyzPbZD5sxY4bUlzKZDDVr1kRQUBCmTp2K3Nxck3zGhg0bsGTJEpOci6iqYWgiIoN99NFH2LJlC3r16oWlS5dizJgxOHToEIKDg3H69OlS7Rs0aIAvv/wSX3zxBRYsWIDnnnsOR48eRe/evTFo0CAUFRU99jM//vhjPPfcc5DJZIiLi8PixYsxcOBA/Pbbb9i4caM5LhPAo0PTzJkzLRqaSqxcuRJffvklFi1ahObNm+PDDz9Enz59YIqvEmVoIipfDWsXQESVT2xsLDZs2AC5XC7tGzRoEFq3bo158+bhq6++0mmvUCgwdOhQnX3z5s3Dm2++iRUrVsDf3x8fffRRuZ937949zJo1C8888wx+/PHHUsevX79ewSuyHbdv30bNmjUf2eZf//oX6tatCwAYO3YsBg4ciK1bt+Knn35CaGioJcokqpY40kREBuvSpYtOYAKAJk2aoGXLljh79qxe57C3t8eyZcsQFBSE+Ph4aDSactv+/fffyM3NRdeuXcs87uHhobN99+5dzJgxA02bNoWTkxO8vb3xwgsv4MKFC1Kbjz/+GF26dIG7uzucnZ0REhKCb7/9Vuc8MpkM+fn5WLdunXRLbPjw4ZgxYwbeeecdAECjRo2kYw/OIfrqq68QEhICZ2dnKJVKDB48GH/88YfO+Xv06IFWrVohJSUF3bp1Q82aNfHee+/p1X8P6tmzJwAgKyvrke1WrFiBli1bwtHRET4+PoiOjtYZKevRowd27NiBS5cuSdfk7+9vcD1EVRVHmojIJIQQuHbtGlq2bKn3e+zt7TFkyBC8//77OHz4MCIiIsps5+HhAWdnZ2zfvh1vvPEGlEpluecsLi5Gv379kJSUhMGDB2P8+PHIy8vDnj17cPr0aQQEBAAAli5diueeew4vv/wyCgsLsXHjRvzf//0fEhMTpTq+/PJLjB49Gp06dcKYMWMAAAEBAXBxccH58+fx9ddfY/HixdKoT7169QAAH374Id5//328+OKLGD16NG7cuIFPPvkE3bp1w4kTJ1C7dm2pXpVKhb59+2Lw4MEYOnQoPD099e6/EiVh0N3dvdw2M2bMwMyZMxEWFoZx48YhIyMDK1euxPHjx3HkyBE4ODhgypQp0Gg0+PPPP7F48WIAQK1atQyuh6jKEkREJvDll18KAGLNmjU6+7t37y5atmxZ7vu2bdsmAIilS5c+8vzTpk0TAISLi4vo27ev+PDDD0VKSkqpdp9//rkAIBYtWlTqmFarlX6+ffu2zrHCwkLRqlUr0bNnT539Li4uIioqqtS5FixYIACIrKwsnf0XL14U9vb24sMPP9TZf+rUKVGjRg2d/d27dxcAxKpVq8q97gdNnz5dABAZGRnixo0bIisrS/z73/8Wjo6OwtPTU+Tn5wshhEhISNCp7fr160Iul4vevXuL4uJi6Xzx8fECgPj888+lfREREcLPz0+veoiqG96eI6IKO3fuHKKjoxEaGoqoqCiD3lsykpGXl/fIdjNnzsSGDRvQvn177N69G1OmTEFISAiCg4N1bglu2bIFdevWxRtvvFHqHDKZTPrZ2dlZ+vnmzZvQaDR46qmnkJqaalD9D9u6dSu0Wi1efPFF/P3339LLy8sLTZo0wf79+3XaOzo6YsSIEQZ9RrNmzVCvXj00atQIr732GgIDA7Fjx45y50Lt3bsXhYWFmDBhAuzs/vln/9VXX4Wbmxt27Nhh+IUSVUO8PUdEFZKdnY2IiAgoFAp8++23sLe3N+j9t27dAgC4uro+tu2QIUMwZMgQ5Obm4ueff8batWuxYcMGREZG4vTp03BycsKFCxfQrFkz1Kjx6H/eEhMTMXv2bKSlpaGgoEDa/2CwMsZvv/0GIQSaNGlS5nEHBwed7fr165eaH/Y4W7ZsgZubGxwcHNCgQQPplmN5Ll26BOB+2HqQXC5H48aNpeNE9GgMTURkNI1Gg759+yInJwf//e9/4ePjY/A5SpYoCAwM1Ps9bm5ueOaZZ/DMM8/AwcEB69atw88//4zu3bvr9f7//ve/eO6559CtWzesWLEC3t7ecHBwQEJCAjZs2GDwNTxIq9VCJpPhhx9+KDNAPjxH6MERL31169ZNmkdFRJbD0ERERrl79y4iIyNx/vx57N27F0FBQQafo7i4GBs2bEDNmjXx5JNPGlVHhw4dsG7dOly9ehXA/YnaP//8M4qKikqN6pTYsmULnJycsHv3bjg6Okr7ExISSrUtb+SpvP0BAQEQQqBRo0Zo2rSpoZdjFn5+fgCAjIwMNG7cWNpfWFiIrKwshIWFSfsqOtJGVJVxThMRGay4uBiDBg1CcnIyNm/ebNTaQMXFxXjzzTdx9uxZvPnmm3Bzcyu37e3bt5GcnFzmsR9++AHAP7eeBg4ciL///hvx8fGl2or/Lf5ob28PmUyG4uJi6djFixfLXMTSxcWlzAUsXVxcAKDUsRdeeAH29vaYOXNmqcUmhRBQqVRlX6QZhYWFQS6XY9myZTo1rVmzBhqNRuepRRcXl0cu/0BUnXGkiYgM9tZbb+H7779HZGQk1Gp1qcUsH17IUqPRSG1u376NzMxMbN26FRcuXMDgwYMxa9asR37e7du30aVLFzzxxBPo06cPfH19kZOTg++++w7//e9/MWDAALRv3x4A8Morr+CLL75AbGwsjh07hqeeegr5+fnYu3cvXn/9dfTv3x8RERFYtGgR+vTpg5deegnXr1/H8uXLERgYiJMnT+p8dkhICPbu3YtFixbBx8cHjRo1QufOnRESEgIAmDJlCgYPHgwHBwdERkYiICAAs2fPRlxcHC5evIgBAwbA1dUVWVlZ2LZtG8aMGYO33367Qv1vqHr16iEuLg4zZ85Enz598NxzzyEjIwMrVqxAx44ddf73CgkJwaZNmxAbG4uOHTuiVq1aiIyMtGi9RDbLmo/uEVHlVPKofHmvR7WtVauWaNKkiRg6dKj48ccf9fq8oqIisXr1ajFgwADh5+cnHB0dRc2aNUX79u3FggULREFBgU7727dviylTpohGjRoJBwcH4eXlJf71r3+JCxcuSG3WrFkjmjRpIhwdHUXz5s1FQkKC9Ej/g86dOye6desmnJ2dBQCd5QdmzZol6tevL+zs7EotP7Blyxbx5JNPChcXF+Hi4iKaN28uoqOjRUZGhk7fPGo5hoeV1Hfjxo1Htnt4yYES8fHxonnz5sLBwUF4enqKcePGiZs3b+q0uXXrlnjppZdE7dq1BQAuP0D0AJkQJviyIiIiIqIqjnOaiIiIiPTA0ERERESkB4YmIiIiIj0wNBERERHpgaGJiIiISA8MTURERER64OKWJqLVanHlyhW4urryawiIiIgqCSEE8vLy4OPjAzu7R48lMTSZyJUrV+Dr62vtMoiIiMgIf/zxBxo0aPDINgxNJuLq6grgfqc/6ju0iIiIyHbk5ubC19dX+j3+KAxNJlJyS87NzY2hiYiIqJLRZ2oNJ4ITERER6YGhiYiIiEgPDE1EREREeuCcJiIiIivSarUoLCy0dhlVmlwuf+xyAvpgaCIiIrKSwsJCZGVlQavVWruUKs3Ozg6NGjWCXC6v0HkYmoiIiKxACIGrV6/C3t4evr6+JhkJodJKFp++evUqGjZsWKEFqBmaiIiIrODevXu4ffs2fHx8ULNmTWuXU6XVq1cPV65cwb179+Dg4GD0eRhriYiIrKC4uBgAKnzLiB6vpI9L+txYDE1ERERWxO8rNT9T9TFvz9kolUr1yKcp5HI53N3dLVgRERFR9cbQZINUKhXi4+Mf2y4mJobBiYiIyEJ4e84GPTzCpNG4IivLHxqN6yPbERERmdvw4cMhk8kgk8ng4OAAT09PPPPMM/j8888NWjph7dq1qF27tvkKNQOONNm41NT22L69H4Swg0ymRWRkIoKDT1i7LCIisjJrTuPo06cPEhISUFxcjGvXrmHXrl0YP348vv32W3z//feoUaNqxouqeVVVhEbjKgUmABDCDtu390NAQCYUijwrV0dERNZi7Wkcjo6O8PLyAgDUr18fwcHBeOKJJ9CrVy+sXbsWo0ePxqJFi5CQkIDff/8dSqUSkZGRmD9/PmrVqoUDBw5gxIgRAP6ZpD19+nTMmDEDX375JZYuXYqMjAy4uLigZ8+eWLJkCTw8PEx+HYbi7Tkbpla7S4GphBB2UKuVVqqIiIhsgb7TMyw5jaNnz55o27Yttm7dCuD+KtzLli1Deno61q1bh3379mHSpEkAgC5dumDJkiVwc3PD1atXcfXqVbz99tsAgKKiIsyaNQu//vorvvvuO1y8eBHDhw+32HU8CkeabJhSqYJMptUJTjKZFkql2opVERERla158+Y4efIkAGDChAnSfn9/f8yePRtjx47FihUrIJfLoVAoIJPJpBGrEiNHjpR+bty4MZYtW4aOHTvi1q1bqFWrlkWuozwcabJhCkUeIiMTIZPdn1hXMqeJt+aIiMgWCSGk22179+5Fr169UL9+fbi6umLYsGFQqVS4ffv2I8+RkpKCyMhINGzYEK6urujevTsA4PLly2av/3E40mTjgoNPICAgE2q1EkqlmoGJiIhs1tmzZ9GoUSNcvHgR/fr1w7hx4/Dhhx9CqVTi8OHDGDVqFAoLC8v92pj8/HyEh4cjPDwc69evR7169XD58mWEh4fbxBPjDE026OEl9RWKvDLDEpfeJyIiW7Fv3z6cOnUKEydOREpKCrRaLRYuXCh9EfE333yj014ul5f6WpNz585BpVJh3rx58PX1BQD88ssvlrkAPTA02SB3d3fExMRwRXAiIrJJBQUFyM7O1llyYO7cuejXrx9eeeUVnD59GkVFRfjkk08QGRmJI0eOYNWqVTrn8Pf3x61bt5CUlIS2bduiZs2aaNiwIeRyOT755BOMHTsWp0+fxqxZs6x0laVxTpONcnd3h7e3d7kvBiYiIrKWXbt2wdvbG/7+/ujTpw/279+PZcuW4T//+Q/s7e3Rtm1bLFq0CB999BFatWqF9evXY+7cuTrn6NKlC8aOHYtBgwahXr16mD9/PurVq4e1a9di8+bNCAoKwrx58/Dxxx9b6SpLkwkhhLWLqApyc3OhUCig0Wjg5uZm7XKIiMjG3b17F1lZWWjUqBGcnJwMeq+112mqbB7V14b8/ubtOSIiokqG0zisg6GJiIioEmIgsjzOaSIiIiLSA0MTERERkR4YmoiIiIj0wNBEREREpAeGJiIiIiI9MDQRERER6YGhiYiIiEgPDE1ERERkMw4cOACZTIacnBy93+Pv748lS5aYraYSDE1ERESkt+HDh0Mmk2Hs2LGljkVHR0Mmk2H48OGWL8wCGJqIiIjIIL6+vti4cSPu3Lkj7bt79y42bNiAhg0bWrEy82JoIiIiIoMEBwfD19cXW7dulfZt3boVDRs2RPv27aV9BQUFePPNN+Hh4QEnJyc8+eSTOH78uM65du7ciaZNm8LZ2RlPP/00Ll68WOrzDh8+jKeeegrOzs7w9fXFm2++ifz8fLNdX3kYmoiIiCq5P/8E9u+//6eljBw5EgkJCdL2559/jhEjRui0mTRpErZs2YJ169YhNTUVgYGBCA8Ph1qtBgD88ccfeOGFFxAZGYm0tDSMHj0a7777rs45Lly4gD59+mDgwIE4efIkNm3ahMOHDyMmJsb8F/kQhiYiIqJKbM0awM8P6Nnz/p9r1ljmc4cOHYrDhw/j0qVLuHTpEo4cOYKhQ4dKx/Pz87Fy5UosWLAAffv2RVBQEFavXg1nZ2es+V+RK1euREBAABYuXIhmzZrh5ZdfLjUfau7cuXj55ZcxYcIENGnSBF26dMGyZcvwxRdf4O7du5a52P+pYdFPIyIiIpP5809gzBhAq72/rdUCr70GhIcDDRqY97Pr1auHiIgIrF27FkIIREREoG7dutLxCxcuoKioCF27dpX2OTg4oFOnTjh79iwA4OzZs+jcubPOeUNDQ3W2f/31V5w8eRLr16+X9gkhoNVqkZWVhRYtWpjj8spk1ZGmlStXok2bNnBzc4ObmxtCQ0Pxww8/SMd79OgBmUym83p4tv7ly5cRERGBmjVrwsPDA++88w7u3bun0+bAgQMIDg6Go6MjAgMDsXbt2lK1LF++HP7+/nByckLnzp1x7Ngxs1wzERGRqfz22z+BqURxMZCZaZnPHzlyJNauXYt169Zh5MiRZvmMW7du4bXXXkNaWpr0+vXXX/Hbb78hICDALJ9ZHquGpgYNGmDevHlISUnBL7/8gp49e6J///5IT0+X2rz66qu4evWq9Jo/f750rLi4GBERESgsLMTRo0exbt06rF27FtOmTZPaZGVlISIiAk8//TTS0tIwYcIEjB49Grt375babNq0CbGxsZg+fTpSU1PRtm1bhIeH4/r165bpCCIiIiM0aQLYPfSb3N4eCAy0zOf36dMHhYWFKCoqQnh4uM6xgIAAyOVyHDlyRNpXVFSE48ePIygoCADQokWLUoMUP/30k852cHAwzpw5g8DAwFIvuVxupisrh7AxderUEZ999pkQQoju3buL8ePHl9t2586dws7OTmRnZ0v7Vq5cKdzc3ERBQYEQQohJkyaJli1b6rxv0KBBIjw8XNru1KmTiI6OlraLi4uFj4+PmDt3rt51azQaAUBoNBq930NERNXXnTt3xJkzZ8SdO3cqdJ7PPhPC3l4I4P6f//sVajZRUVGif//+0rZGo9H53de/f38RFRUlhBBi/PjxwsfHR/zwww8iPT1dREVFiTp16gi1Wi2EEOLSpUtCLpeLt99+W5w7d06sX79eeHl5CQDi5s2bQgghfv31V+Hs7Cyio6PFiRMnxPnz58V3332n83vbz89PLF68uNyaH9XXhvz+tpmJ4MXFxdi4cSPy8/N17meuX78edevWRatWrRAXF4fbt29Lx5KTk9G6dWt4enpK+8LDw5GbmyuNViUnJyMsLEzns8LDw5GcnAwAKCwsREpKik4bOzs7hIWFSW3KUlBQgNzcXJ0XERGRpY0aBVy8eP/puYsX729bUskUm7LMmzcPAwcOxLBhwxAcHIzMzEzs3r0bderUAQA0bNgQW7ZswXfffYe2bdti1apVmDNnjs452rRpg4MHD+L8+fN46qmn0L59e0ybNg0+Pj5mv7aHWX0i+KlTpxAaGoq7d++iVq1a2LZtmzRs99JLL8HPzw8+Pj44efIkJk+ejIyMDGldiOzsbJ3ABEDazs7OfmSb3Nxc3LlzBzdv3kRxcXGZbc6dO1du3XPnzsXMmTMrdvFEREQm0KCB+Sd+lyhrXvCDvvvuO+lnJycnLFu2DMuWLSu3fb9+/dCvXz+dfQ8vXdCxY0f8+OOP5Z6jrLWdzMHqoalZs2ZIS0uDRqPBt99+i6ioKBw8eBBBQUEYM2aM1K5169bw9vZGr169cOHCBYtP/npYXFwcYmNjpe3c3Fz4+vpasSIiIiIyJ6uHJrlcjsD/zVgLCQnB8ePHsXTpUvz73/8u1bbkscTMzEwEBATAy8ur1ASya9euAQC8vLykP0v2PdjGzc0Nzs7OsLe3h729fZltSs5RFkdHRzg6Ohp4tURERFRZ2cycphJarRYFBQVlHktLSwMAeHt7A7i/lsOpU6d0nnLbs2cP3NzcpFt8oaGhSEpK0jnPnj17pHlTcrkcISEhOm20Wi2SkpJKrRVBRERE1ZdVR5ri4uLQt29fNGzYEHl5ediwYQMOHDiA3bt348KFC9iwYQOeffZZuLu74+TJk5g4cSK6deuGNm3aAAB69+6NoKAgDBs2DPPnz0d2djamTp2K6OhoaRRo7NixiI+Px6RJkzBy5Ejs27cP33zzDXbs2CHVERsbi6ioKHTo0AGdOnXCkiVLkJ+fX+qeKhEREVVfVg1N169fxyuvvIKrV69CoVCgTZs22L17N5555hn88ccf2Lt3rxRgfH19MXDgQEydOlV6v729PRITEzFu3DiEhobCxcUFUVFR+OCDD6Q2jRo1wo4dOzBx4kQsXboUDRo0wGeffaaznsSgQYNw48YNTJs2DdnZ2WjXrh127dpVanI4ERGRqQkhrF1ClWeqPpYJ/q9lErm5uVAoFNBoNOU+eklERFSiqKgImZmZ8PHxgUKhsHY5VZpGo8GVK1cQGBgIBwcHnWOG/P62+kRwIiKi6qhGjRqoWbMmbty4AQcHB9g9vLQ3mYRWq8WNGzdQs2ZN1KhRsdjD0ERERGQFMpkM3t7eyMrKwqVLl6xdTpVmZ2eHhg0bQiaTVeg8DE1ERERWIpfL0aRJExQWFlq7lCpNLpebZCSPoYmIiMiK7Ozs4OTkZO0ySA+8gUpERESkB4YmIiIiIj0wNBERERHpgaGJiIiISA8MTURERER6YGgiIiIi0gNDExEREZEeGJqIiIiI9MDQRERERKQHhiYiIiIiPfBrVKoJlUr1yO82ksvlcHd3t2BFRERElQtDUzWgUqkQHx//2HYxMTEMTkREROXg7blq4OERJo3GFVlZ/tBoXB/ZjoiIiP7BkaZqJjW1PbZv7wch7CCTaREZmYjg4BPWLouIiMjmcaSpGtFoXKXABABC2GH79n6lRpyIiIioNIamakStdpcCUwkh7KBWK61UERERUeXB0FSNKJUqyGRanX0ymRZKpdpKFREREVUeDE3ViEKRh8jIRCk4lcxpUijyrFwZERGR7eNE8GomOPgEAgIyoVYroVSqGZiIiIj0xNBUDcjlcp1thSKvzLD0cDsiIiL6B0NTNeDu7o6YmBiuCE5ERFQBDE3VBAMRERFRxXAiOBEREZEeGJqIiIiI9MDQRERERKQHhiYiIiIiPTA0EREREemBoYmIiIhID1xygMiMVCoV18ciIqoiGJqIzESlUiE+Pv6x7WJiYhiciIgqAd6eIzKTh0eYNBpXZGX5Q6NxfWQ7IiKyTRxpIrKA1NT22L69H4Swg0ymRWRkIoKDT1i7LCIiMgBDE9mEqjz3R6NxlQITAAhhh+3b+yEgILPML04mIiLbxNBEVlfV5/6o1e5SYCohhB3UaiVDExFRJcI5TWR1VX3uj1Kpgkym1dknk2mhVKqtVBERERmDI01kU6ri3B+FIg+RkYmlroujTERElQtDE9mMqjz3Jzj4BAICMqFWK6FUqiv99RARVUcMTWQzqtrcH7lcrrOtUOSVeR0PtyMiItvE0EQ2o2Tuz4PBqTLP/XF3d0dMTEyVfSqQiKi6YWgim1EV5/4wEBERVR0MTWRTOPeHiIhsFUMTWR3n/hARUWXA0ERWx7k/RERUGTA0kU1gICIiIlvHFcGJiIiI9MDQRERERKQH3p4jm6BSqTiniYiIbBpDE1mdSqVCfHz8Y9vFxMQwOBERkdVY9fbcypUr0aZNG7i5ucHNzQ2hoaH44YcfpON3795FdHQ03N3dUatWLQwcOBDXrl3TOcfly5cRERGBmjVrwsPDA++88w7u3bun0+bAgQMIDg6Go6MjAgMDsXbt2lK1LF++HP7+/nByckLnzp1x7Ngxs1wzlfbwCJNG44qsLH9oNK6PbEdERGRJVg1NDRo0wLx585CSkoJffvkFPXv2RP/+/ZGeng4AmDhxIrZv347Nmzfj4MGDuHLlCl544QXp/cXFxYiIiEBhYSGOHj2KdevWYe3atZg2bZrUJisrCxEREXj66aeRlpaGCRMmYPTo0di9e7fUZtOmTYiNjcX06dORmpqKtm3bIjw8HNevX7dcZxAAIDW1PZYsmYB166KwZMkEpKa2t3ZJRERE9wkbU6dOHfHZZ5+JnJwc4eDgIDZv3iwdO3v2rAAgkpOThRBC7Ny5U9jZ2Yns7GypzcqVK4Wbm5soKCgQQggxadIk0bJlS53PGDRokAgPD5e2O3XqJKKjo6Xt4uJi4ePjI+bOnat33RqNRgAQGo3GsAsmceXKFTFjxgwxceJCIZMVC0BIL5msWEycuFDMmDFDXLlyxdqlEhFRFWPI72+beXquuLgYGzduRH5+PkJDQ5GSkoKioiKEhYVJbZo3b46GDRsiOTkZAJCcnIzWrVvD09NTahMeHo7c3FxptCo5OVnnHCVtSs5RWFiIlJQUnTZ2dnYICwuT2pBlqNXuePivpBB2UKuVVqqIiIjoH1afCH7q1CmEhobi7t27qFWrFrZt24agoCCkpaVBLpejdu3aOu09PT2RnZ0NAMjOztYJTCXHS449qk1ubi7u3LmDmzdvori4uMw2586dK7fugoICFBQUSNu5ubmGXTiVolSqIJNpdYKTTKaFUqm2YlVERET3WX2kqVmzZkhLS8PPP/+McePGISoqCmfOnLF2WY81d+5cKBQK6eXr62vtkio9hSIPkZGJkMm0AO4HpsjIRH5pLxER2QSrjzTJ5XIEBgYCAEJCQnD8+HEsXboUgwYNQmFhIXJycnRGm65duwYvLy8AgJeXV6mn3EqernuwzcNP3F27dg1ubm5wdnaGvb097O3ty2xTco6yxMXFITY2VtrOzc1lcDKB4OATCAjIhFqthFKpZmAiIiKbYfWRpodptVoUFBQgJCQEDg4OSEpKko5lZGTg8uXLCA0NBQCEhobi1KlTOk+57dmzB25ubggKCpLaPHiOkjYl55DL5QgJCdFpo9VqkZSUJLUpi6Ojo7RUQsmLjCOXy3W2FYo8NGp0qVRgergdERGRJVl1pCkuLg59+/ZFw4YNkZeXhw0bNuDAgQPYvXs3FAoFRo0ahdjYWCiVSri5ueGNN95AaGgonnjiCQBA7969ERQUhGHDhmH+/PnIzs7G1KlTER0dDUdHRwDA2LFjER8fj0mTJmHkyJHYt28fvvnmG+zYsUOqIzY2FlFRUejQoQM6deqEJUuWID8/HyNGjLBKv1Q37u7uiImJ4YrgRERk2yzwNF+5Ro4cKfz8/IRcLhf16tUTvXr1Ej/++KN0/M6dO+L1118XderUETVr1hTPP/+8uHr1qs45Ll68KPr27SucnZ1F3bp1xVtvvSWKiop02uzfv1+0a9dOyOVy0bhxY5GQkFCqlk8++UQ0bNhQyOVy0alTJ/HTTz8ZdC1ccoCIiKjyMeT3t0wIIawd3KqC3NxcKBQKaDQa3qojIiKqJAz5/W1zc5qIiIiIbBFDExEREZEerL7kABGZn0ql4kR7IqIKYmgiquJUKhXi4+Mf2y4mJobBiYjoEXh7jqiKe3iESaNxRVaWPzQa10e2IyIiXRxpIqpGUlPbY/v2fhDCTvqamuDgE9Yui4ioUuBIE1E1odG4SoEJAISww/bt/UqNOBERUdkYmoiqCbXaXQpMJYSwg1qttFJFRESVC0MTUTWhVKogk2l19slkWiiVaitVRERUuTA0EVUTCkUeIiMTpeBUMqfp4S9GJiKisnEiOFE1Ehx8AgEBmVCrlVAq1QxMREQGYGgiquLkcrnOtkKRV2ZYergdERHpYmgiquLc3d0RExPDFcGJiCqIoYmoGmAgIiKqOE4EJyIiItIDQxMRERGRHhiaiIiIiPTA0ERERESkB4YmIiIiIj0wNBERERHpgaGJiIiISA9GhyZ/f3988MEHuHz5sinrISIiIrJJRoemCRMmYOvWrWjcuDGeeeYZbNy4EQUFBaasjYiIiMhmVCg0paWl4dixY2jRogXeeOMNeHt7IyYmBqmpqaaskYiIiMjqZEIIYYoTFRUVYcWKFZg8eTKKiorQunVrvPnmmxgxYgRkMpkpPsKm5ebmQqFQQKPRwM3NzdrlEBERkR4M+f1d4e+eKyoqwrZt25CQkIA9e/bgiSeewKhRo/Dnn3/ivffew969e7Fhw4aKfgwRERGRVRkdmlJTU5GQkICvv/4adnZ2eOWVV7B48WI0b95cavP888+jY8eOJimUiIiIyJqMDk0dO3bEM888g5UrV2LAgAFwcHAo1aZRo0YYPHhwhQokIiIisgVGh6bff/8dfn5+j2zj4uKChIQEYz+CiIiIyGYY/fTc008/DZVKVWp/Tk4OGjduXKGiiIiIiGyN0aHp4sWLKC4uLrW/oKAAf/31V4WKIiIiIrI1Bt+e+/7776Wfd+/eDYVCIW0XFxcjKSkJ/v7+JimOiIiIyFYYHJoGDBgAAJDJZIiKitI55uDgAH9/fyxcuNAkxRERERHZCoNDk1arBXD/ybjjx4+jbt26Ji+KiIiIyNYY/fRcVlaWKesgIiIismlGh6YPPvjgkcenTZtm7KmJiIiIbI7RoWnbtm0620VFRcjKykKNGjUQEBDA0ERUyalUKhQWFpZ7XC6Xw93d3YIVERFZl9Gh6cSJE6X25ebmYvjw4Xj++ecrVBQRWZdKpUJ8fPxj28XExDA4EVG1YfQ6TWVxc3PDzJkz8f7775vytERkYQ+PMGk0rsjK8odG4/rIdkREVZnRI03l0Wg00Gg0pj4tEVlJamp7bN/eD0LYQSbTIjIyEcHBpUeaiYiqOqND07Jly3S2hRC4evUqvvzyS/Tt27fChRGR9Wk0rlJgAgAh7LB9ez8EBGRCocizcnVERJZldGhavHixzradnR3q1auHqKgoxMXFVbgwIrI+tdpdCkwlhLCDWq1kaCKiaofrNBFRuZRKFWQyrU5wksm0UCrVVqyKiMg6KjSnSQgBlUoFmUzGJ2iIqiCFIg+RkYml5jTZyigTl0UgIksyKjRlZ2dj0qRJ+P7775GXd/8fTzc3Nzz//POYO3cuPD09TVokEVlPcPAJBARkQq1WQqlU21Rg4rIIRGRJBoem3NxcdOnSBbdu3cKIESPQvHlzCCFw5swZfP311zh8+DBSU1NRq1Ytc9RLRBYgl8t1thWKvDLD0sPtLKmsZRHUancolSqdWrksAhGZisGhaenSpbC3t0d6ejrq1aunc2zq1Kno2rUrli1bhvfee89kRRKRZbm7uyMmJqbS3PrisghEZAkGh6YdO3bgvffeKxWYAMDDwwNxcXFYvXo1QxNRJWcrgehxuCwCEVmKwSuCnz9/Hl26dCn3eJcuXZCRkVGhooiI9PWoZRGIiEzJ4NCUm5uL2rVrl3u8du3ayM3NrUhNRER6K1kW4UFcFoGIzMHg0CSEgJ1d+W+TyWQQQlSoKCIifZUsi1ASnGxtWQQiqjoMntMkhEDTpk0hk8nKPU5EZEm2uiwCEVUtBoemhIQEc9RBRGSQyrAsAhFVLTJh5qGhr7/+Gs899xxcXFxKHZs7dy62bt2Kc+fOwdnZGV26dMFHH32EZs2aSW169OiBgwcP6rzvtddew6pVq6Tty5cvY9y4cdi/fz9q1aqFqKgozJ07FzVq/JMJDxw4gNjYWKSnp8PX1xdTp07F8OHDdc67fPlyLFiwANnZ2Wjbti0++eQTdOrUSa/rzM3NhUKhgEajgZubm17vITKl6rg6dnW8ZiIyLUN+f1foa1T08dprr6Fz585o3LhxqWMHDx5EdHQ0OnbsiHv37uG9995D7969cebMGZ2Q9eqrr+KDDz6QtmvWrCn9XFxcjIiICHh5eeHo0aO4evUqXnnlFTg4OGDOnDkA7n9PXkREBMaOHYv169cjKSkJo0ePhre3N8LDwwEAmzZtQmxsLFatWoXOnTtjyZIlCA8PR0ZGBjw8PMzVPUQmUV1Xx65K10JEts/sI02urq749ddfywxND7tx4wY8PDxw8OBBdOvWDcD9kaZ27dphyZIlZb7nhx9+QL9+/XDlyhXp61tWrVqFyZMn48aNG5DL5Zg8eTJ27NiB06dPS+8bPHgwcnJysGvXLgBA586d0bFjR+kXj1arha+vL9544w28++67j62dI01kTVevXsWnn34qbZe3OvaYMWPg7e1tjRKJiGySIb+/DX56zpw0Gg0AQKnUXV9l/fr1qFu3Llq1aoW4uDjcvn1bOpacnIzWrVvrfN9deHg4cnNzkZ6eLrUJCwvTOWd4eDiSk5MB3P+ahZSUFJ02dnZ2CAsLk9o8rKCgALm5uTovIluQmtoeS5ZMwLp1UViyZAJSU9tbuyQioirB7Lfn9KXVajFhwgR07doVrVq1kva/9NJL8PPzg4+PD06ePInJkycjIyMDW7duBXD/y4Mf/oLgku3s7OxHtsnNzcWdO3dw8+ZNFBcXl9nm3LlzZdY7d+5czJw5s2IXTWRiXB2biMh8bCY0RUdH4/Tp0zh8+LDO/jFjxkg/t27dGt7e3ujVqxcuXLiAgIAAS5cpiYuLQ2xsrLSdm5sLX19fq9VDBDx6dWyGJiKiirGJ0BQTE4PExEQcOnQIDRo0eGTbzp07AwAyMzMREBAALy8vHDt2TKfNtWvXAABeXl7SnyX7Hmzj5uYGZ2dn2Nvbw97evsw2Jed4mKOjIxwdHfW/SCILKFkd+8HgxNWxiYhMw6g5TcXFxTh06BBycnIe29bPzw8ODg5lHhNCICYmBtu2bcO+ffvQqFGjx54vLS0NAKTJrKGhoTh16hSuX78utdmzZw/c3NwQFBQktUlKStI5z549exAaGgrg/mPJISEhOm20Wi2SkpKkNkSVAVfHJiIyH6NGmuzt7dG7d2+cPXv2kd9DB0DnibWHRUdHY8OGDfjPf/4DV1dXaQ6SQqGAs7MzLly4gA0bNuDZZ5+Fu7s7Tp48iYkTJ6Jbt25o06YNAKB3794ICgrCsGHDMH/+fGRnZ2Pq1KmIjo6WRoLGjh2L+Ph4TJo0CSNHjsS+ffvwzTffYMeOHVItsbGxiIqKQocOHdCpUycsWbIE+fn5GDFihDFdRGQ1XB2biMg8jL4916pVK/z+++96jQ6VZ+XKlQDuLyvwoISEBAwfPhxyuRx79+6VAoyvry8GDhyIqVOnSm3t7e2RmJiIcePGITQ0FC4uLoiKitJZ16lRo0bYsWMHJk6ciKVLl6JBgwb47LPPpDWaAGDQoEG4ceMGpk2bhuzsbLRr1w67du0qNTmcyBZVZHVsLhBJRKQfo9dp2rVrF+Li4jBr1iyEhISUWvG7uq1VxHWayNqMCT/VdVFMIqISFlkR/NlnnwUAPPfcczpf3iuEgEwmQ3FxsbGnJiIjGBNqHg5Z5S2K+agwRkRUXRgdmvbv32/KOojIylJT20trPJVMIA8OPmHtsoiIbIbRoal79+6mrIOIrIiLYhIRPV6Fvkblv//9L4YOHYouXbrgr7/+AgB8+eWXpRaoJCLb9qhFMYmI6D6jQ9OWLVsQHh4OZ2dnpKamoqCgAMD974+bM2eOyQokIvMrWRTzQcYuiqlSqXD16tVyXyqVylRlExFZlNG352bPno1Vq1bhlVdewcaNG6X9Xbt2xezZs01SHBFZRsmimA/PaTL01hyfxiOiqszo0JSRkYFu3bqV2q9QKPRaKZyIbIspFsXk03hEVJUZHZq8vLyQmZkJf39/nf2HDx9G48aNK1oXEVlARRbFfBw+jUdEVY3RoenVV1/F+PHj8fnnn0Mmk+HKlStITk7G22+/jffff9+UNRKRmbi7uyMmJsbkK4LzaTwiqoqMDk3vvvsutFotevXqhdu3b6Nbt25wdHTE22+/jTfeeMOUNRKRGZljbtGjnsZjaCKiysro0CSTyTBlyhS88847yMzMxK1btxAUFIRatWqZsj4iqoRKnsZ7MDgZ+zQeEZGtqNA6TcD9ofugoCB06tSJgYmIAPzzNF7JMgbGPo1HRGRLjB5punv3Lj755BPs378f169fh1aru8ZLampqhYsjosrLFE/jERHZEqND06hRo/Djjz/iX//6Fzp16qTzpb1EVD2Z82k8IiJrkwkhhDFvVCgU2LlzJ7p27Wrqmiql3NxcKBQKaDQauLm5WbscIqtRqVQmfxqPiMhcDPn9bfRIU/369eHq6mrs24moimIgIqKqyuiJ4AsXLsTkyZNx6dIlU9ZDREREZJOMHmnq0KED7t69i8aNG6NmzZpwcHDQOa5W89FiIiIiqjqMDk1DhgzBX3/9hTlz5sDT05MTwYmIiKhKMzo0HT16FMnJyWjbtq0p6yEiIiKySUbPaWrevDnu3LljylqIiIiIbJbRoWnevHl46623cODAAahUKuTm5uq8iIiIiKoSo9dpsrO7n7censskhIBMJkNxcXHFq6tEuE4TERFR5WORdZr2799v7FuJiIiIKh2jQlNRURE++OADrFq1Ck2aNDF1TUREREQ2x6g5TQ4ODjh58qSpayEiIiKyWUZPBB86dCjWrFljylqIiIiIbJbRc5ru3buHzz//HHv37kVISAhcXFx0ji9atKjCxRERERHZCqND0+nTpxEcHAwAOH/+vM4xrg5OREREVQ2fniMiIiLSg9Fzmh70559/4s8//zTFqYiIiIhsktGhSavV4oMPPoBCoYCfnx/8/PxQu3ZtzJo1C1qt1pQ1EhEREVmd0bfnpkyZgjVr1mDevHno2rUrAODw4cOYMWMG7t69iw8//NBkRRIRERFZm9Ffo+Lj44NVq1bhueee09n/n//8B6+//jr++usvkxRYWfBrVIiIiCofQ35/G317Tq1Wo3nz5qX2N2/eHGq12tjTEhEREdkko0NT27ZtER8fX2p/fHw82rZtW6GiiIiIiGyN0XOa5s+fj4iICOzduxehoaEAgOTkZPzxxx/YuXOnyQokIiIisgVGjzR1794d58+fx/PPP4+cnBzk5OTghRdeQEZGBp566ilT1khERERkdQaNNL3wwgtYu3Yt3Nzc8MUXX2DQoEF8So6IiIiqBYNGmhITE5Gfnw8AGDFiBDQajVmKIiIiIrI1Bo00NW/eHHFxcXj66achhMA333xT7uN5r7zyikkKJCIiIrIFBq3TdPToUcTGxuLChQtQq9VwdXUt88t5ZTJZtVt2gOs0ERERVT6G/P42enFLOzs7ZGdnw8PDw6giqxqGJiIiosrHIotbZmVloV69esa+nYiIiKhSMTo0+fn54fDhwxg6dChCQ0Olr0358ssvcfjwYZMVSERERGQLjA5NW7ZsQXh4OJydnXHixAkUFBQAADQaDebMmWOyAomIiIhsgdGhafbs2Vi1ahVWr14NBwcHaX/Xrl2RmppqkuKIiIiIbIXRoSkjIwPdunUrtV+hUCAnJ6ciNRERERHZHKNDk5eXFzIzM0vtP3z4MBo3blyhooiIiIhsjdGh6dVXX8X48ePx888/QyaT4cqVK1i/fj3eeustjBs3zpQ1EhEREVmdQSuCP+jdd9+FVqtFr169cPv2bXTr1g2Ojo545513MHr0aFPWSERERGR1Ro80yWQyTJkyBWq1GqdPn8ZPP/2EGzduQKFQoFGjRqaskYiIiMjqDA5NBQUFiIuLQ4cOHdC1a1fs3LkTQUFBSE9PR7NmzbB06VJMnDjRHLUSERERWY3BoWnatGlYuXIl/P39kZWVhf/7v//DmDFjsHjxYixcuBBZWVmYPHmyXueaO3cuOnbsCFdXV3h4eGDAgAHIyMjQaXP37l1ER0fD3d0dtWrVwsCBA3Ht2jWdNpcvX0ZERARq1qwJDw8PvPPOO7h3755OmwMHDiA4OBiOjo4IDAzE2rVrS9WzfPly+Pv7w8nJCZ07d8axY8cM6xwiIiKqsgwOTZs3b8YXX3yBb7/9Fj/++COKi4tx7949/Prrrxg8eDDs7e31PtfBgwcRHR2Nn376CXv27EFRURF69+6N/Px8qc3EiROxfft2bN68GQcPHsSVK1fwwgsvSMeLi4sRERGBwsJCHD16FOvWrcPatWsxbdo0qU1WVhYiIiLw9NNPIy0tDRMmTMDo0aOxe/duqc2mTZsQGxuL6dOnIzU1FW3btkV4eDiuX79uaBcRERFRFWTwF/bK5XJkZWWhfv36AABnZ2ccO3YMrVu3rnAxN27cgIeHBw4ePIhu3bpBo9GgXr162LBhA/71r38BAM6dO4cWLVogOTkZTzzxBH744Qf069cPV65cgaenJwBg1apVmDx5Mm7cuAG5XI7Jkydjx44dOH36tPRZgwcPRk5ODnbt2gUA6Ny5Mzp27Ij4+HgAgFarha+vL9544w28++67j62dX9hLRIZQqVQoLCws97hcLoe7u7sFKyKqngz5/W3w03PFxcWQy+X/nKBGDdSqVcvwKsug0WgAAEqlEgCQkpKCoqIihIWFSW2aN2+Ohg0bSqEpOTkZrVu3lgITAISHh2PcuHFIT09H+/btkZycrHOOkjYTJkwAABQWFiIlJQVxcXHScTs7O4SFhSE5ObnMWgsKCqSvjgHudzoRkT5UKpX0f9AeJSYmhsGJyIYYHJqEEBg+fDgcHR0B3J9zNHbsWLi4uOi027p1q0Hn1Wq1mDBhArp27YpWrVoBALKzsyGXy1G7dm2dtp6ensjOzpbaPBiYSo6XHHtUm9zcXNy5cwc3b95EcXFxmW3OnTtXZr1z587FzJkzDbpGIiIApUaYNBpXqNXuUCpVUCjyym1HRNZlcGiKiorS2R46dKhJComOjsbp06dx+PBhk5zP3OLi4hAbGytt5+bmwtfX14oVEVFllJraHtu394MQdpDJtIiMTERw8Alrl0VEZTA4NCUkJJi8iJiYGCQmJuLQoUNo0KCBtN/LywuFhYXIycnRGW26du0avLy8pDYPP+VW8nTdg20efuLu2rVrcHNzg7OzM+zt7WFvb19mm5JzPMzR0VEabSMiMoZG4yoFJgAQwg7bt/dDQECmzogTEdkGoxe3NAUhBGJiYrBt2zbs27ev1KKYISEhcHBwQFJSkrQvIyMDly9fRmhoKAAgNDQUp06d0nnKbc+ePXBzc0NQUJDU5sFzlLQpOYdcLkdISIhOG61Wi6SkJKkNEZGpqdXuUmAqIYQd1GqllSoiokcx+mtUTCE6OhobNmzAf/7zH7i6ukpzkBQKBZydnaFQKDBq1CjExsZCqVTCzc0Nb7zxBkJDQ/HEE08AAHr37o2goCAMGzYM8+fPR3Z2NqZOnYro6GhpJGjs2LGIj4/HpEmTMHLkSOzbtw/ffPMNduzYIdUSGxuLqKgodOjQAZ06dcKSJUuQn5+PESNGWL5jiKhaUCpVkMm0OsFJJtNCqVRbsSoiKo9VQ9PKlSsBAD169NDZn5CQgOHDhwMAFi9eDDs7OwwcOBAFBQUIDw/HihUrpLb29vZITEzEuHHjEBoaChcXF0RFReGDDz6Q2jRq1Ag7duzAxIkTsXTpUjRo0ACfffYZwsPDpTaDBg3CjRs3MG3aNGRnZ6Ndu3bYtWtXqcnhRESmolDkITIysdScJt6aI7JNBq/TRGXjOk1EpK+rV6/i008/lbbvPz2nhFKp1glMY8aMgbe3tzVKJKo2zLpOExERVcyDa90B90ecyhpdergdEVkXQxMRkYW5u7sjJiaGK4ITVTIMTUREVsBARFT5WHXJASIiIqLKgqGJiIiISA8MTURERER6YGgiIiIi0gMnghMRkUFUKhWf/KNqiaGJiIj0plKpEB8f/9h2MTExDE5U5fD2HBER6e3hESaNxhVZWf7QaFwf2Y6oKuBIExERGSU1tX2p780LDj5h7bKIzIYjTUREZDCNxlUKTAAghB22b+9XasSJqCphaCIiIoOp1e5SYCohhB3UaqWVKiIyP4YmIiIymFKpgkym1dknk2mhVKqtVBGR+XFOExERGUyhyENkZGKpOU0KRZ7B5+ISBlRZMDQREZFRgoNPICAgE2q1Ekql2ujAxCUMqLJgaCIiIr3J5XKdbYUir8yw9HC78pS1hIFa7Q6lUqVzXi5hQLaAoYmIiPTm7u6OmJgYs9xO4xIGZOsYmoiIyCDmuE1W3hIGAQGZRt32IzIHPj1HRERWxyUMqDJgaCIiIqvjEgZUGTA0ERGR1ZUsYVASnCqyhAGRuXBOExER2QRTLGFAZE4MTUREZDWmXsKAyJwYmoiIyGrMuYQBkakxNBERkVUxEFFlwYngRERERHpgaCIiIiLSA0MTERERkR4YmoiIiIj0wNBEREREpAc+PUdERCajUqm4fABVWQxNRERkEiqVCvHx8Y9tFxMTw+BElRJvzxERkUk8PMKk0bgiK8sfGo3rI9sRVRYcaSIiIpNLTW2P7dv7QQg76ct3g4NPWLssogrhSBMREZmURuMqBSYAEMIO27f3KzXiRFTZMDQREZFJqdXuUmAqIYQd1GqllSoiMg2GJiIiMimlUgWZTKuzTybTQqlUW6kiItPgnCYiIjIphSIPkZGJpeY0KRR5Fvl8LntA5sLQREREJhccfAIBAZlQq5VQKtUWDUxc9oDMhaGJiIhMQi6X62wrFHllhqWH25lSWcseqNXuUCpVOrVw2QMyBkMTERGZhLu7O2JiYmzm1hiXPSBTY2giIiKTsZVbXuUtexAQkGmxW4VU9fDpOSIiqnK47AGZA0MTERFVOVz2gMyBoYmIiKqckmUPSoKTpZc9oKqJc5qIiKhKstayB1R1MTQREVGVYQvLHlDVxdBERERVhq0te0BVC0MTERFVKQxEZC6cCE5ERESkB4YmIiIiIj1YNTQdOnQIkZGR8PHxgUwmw3fffadzfPjw4ZDJZDqvPn366LRRq9V4+eWX4ebmhtq1a2PUqFG4deuWTpuTJ0/iqaeegpOTE3x9fTF//vxStWzevBnNmzeHk5MTWrdujZ07d5r8eomIiKjysmpoys/PR9u2bbF8+fJy2/Tp0wdXr16VXl9//bXO8Zdffhnp6enYs2cPEhMTcejQIYwZM0Y6npubi969e8PPzw8pKSlYsGABZsyYgU8//VRqc/ToUQwZMgSjRo3CiRMnMGDAAAwYMACnT582/UUTERFRpSQTQghrFwEAMpkM27Ztw4ABA6R9w4cPR05OTqkRqBJnz55FUFAQjh8/jg4dOgAAdu3ahWeffRZ//vknfHx8sHLlSkyZMgXZ2dnSI6bvvvsuvvvuO5w7dw4AMGjQIOTn5yMxMVE69xNPPIF27dph1apVetWfm5sLhUIBjUYDNzc3I3qAiIiILM2Q3982P6fpwIED8PDwQLNmzTBu3DioVCrpWHJyMmrXri0FJgAICwuDnZ0dfv75Z6lNt27ddNbkCA8PR0ZGBm7evCm1CQsL0/nc8PBwJCcnl1tXQUEBcnNzdV5ERERUddl0aOrTpw+++OILJCUl4aOPPsLBgwfRt29fFBcXAwCys7Ph4eGh854aNWpAqVQiOztbauPp6anTpmT7cW1Kjpdl7ty5UCgU0svX17diF0tEREQ2zabXaRo8eLD0c+vWrdGmTRsEBATgwIED6NWrlxUrA+Li4hAbGytt5+bmMjgRERFVYTY90vSwxo0bo27dusjMzAQAeHl54fr16zpt7t27B7VaDS8vL6nNtWvXdNqUbD+uTcnxsjg6OsLNzU3nRURERFVXpQpNf/75J1QqFby9vQEAoaGhyMnJQUpKitRm37590Gq16Ny5s9Tm0KFDKCoqktrs2bMHzZo1Q506daQ2SUlJOp+1Z88ehIaGmvuSiIiIqJKwami6desW0tLSkJaWBgDIyspCWloaLl++jFu3buGdd97BTz/9hIsXLyIpKQn9+/dHYGAgwsPDAQAtWrRAnz598Oqrr+LYsWM4cuQIYmJiMHjwYPj4+AAAXnrpJcjlcowaNQrp6enYtGkTli5dqnNrbfz48di1axcWLlyIc+fOYcaMGfjll18QExNj8T4hIiIiGyWsaP/+/QJAqVdUVJS4ffu26N27t6hXr55wcHAQfn5+4tVXXxXZ2dk651CpVGLIkCGiVq1aws3NTYwYMULk5eXptPn111/Fk08+KRwdHUX9+vXFvHnzStXyzTffiKZNmwq5XC5atmwpduzYYdC1aDQaAUBoNBrDO4KIiIiswpDf3zazTlNlx3WaiIiIKp8qtU4TERERkS1gaCIiIiLSA0MTERERkR4YmoiIiIj0wNBEREREpAeGJiIiIiI9MDQRERER6YGhiYiIiEgPDE1EREREemBoIiIiItIDQxMRERGRHhiaiIiIiPTA0ERERESkB4YmIiIiIj0wNBERERHpoYa1CyAiIiLbolKpUFhYWO5xuVwOd3d3C1ZkGxiaiIiISKJSqRAfH//YdjExMdUuOPH2HBEREUkeHmHSaFyRleUPjcb1ke2qA440ERERkUSj0Ug/p6a2x/bt/SCEHWQyLSIjExEcfEJq5+3tba0yrYIjTURERCQpKioCcH+EqSQwAYAQdti+vZ804lTSrjphaCIiIqJS1Gp3KTCVEMIOarXSShVZH0MTERERleLgUABAPLRXwMGh+s1lKsHQRERERKUUFTkCkD20V4aiIrk1yrEJDE1ERERUilKpgkym1dknk2mhVKqtVJH1MTQRERGRpEaN+w/WKxR5iIxMlIJTydNzCkWeTrvqpPpdMREREZWrdu3a0s/BwScQEJAJtVoJpVItBaaH21UXDE1EREQkkct15ywpFHk6Yam8dtUBQxMRERFJ3N3dERMTw++eKwNDExEREemojoFIH5wITkRERKQHhiYiIiIiPTA0EREREemBoYmIiIhIDwxNRERERHpgaCIiIiLSA0MTERERkR4YmoiIiIj0wMUtiYiIyCapVCqbWpmcoYmIiIhsjkqlQnx8/GPbxcTEWCw48fYcERER2ZyHR5g0GldkZflDo3F9ZDtz4kgTERER2bTU1PbYvr0fhLCDTKZFZGQigoNPWLwOjjQRERGRzdJoXKXABABC2GH79n6lRpwsgSNNREREZFYVmdCtVrtLgamEEHZQq5VQKPJMWufjMDQRERGR2VR0QrdSqYJMptUJTjKZFkql2qR16oO354iIiMhsKjqhW6HIQ2RkImQyLQBIc5osPcoEcKSJiIiILMTYCd3BwScQEJAJtVoJpVJtlcAEcKSJiIiILMDQCd1yuVxnW6HIQ6NGl0oFpofbmRNHmoiIiMjsDJ3Q7e7ujpiYGK4ITkRERNWLMRO6LRmI9MHbc0RERGR2tjSh21gcaSIiIiKLsJUJ3cZiaCIiIiKzKWtCd1lhyZITuo3F0ERERERmY4sTuo1l1TlNhw4dQmRkJHx8fCCTyfDdd9/pHBdCYNq0afD29oazszPCwsLw22+/6bRRq9V4+eWX4ebmhtq1a2PUqFG4deuWTpuTJ0/iqaeegpOTE3x9fTF//vxStWzevBnNmzeHk5MTWrdujZ07d5r8eomIiKojd3d3eHt7l/uqDIEJsHJoys/PR9u2bbF8+fIyj8+fPx/Lli3DqlWr8PPPP8PFxQXh4eG4e/eu1Obll19Geno69uzZg8TERBw6dAhjxoyRjufm5qJ3797w8/NDSkoKFixYgBkzZuDTTz+V2hw9ehRDhgzBqFGjcOLECQwYMAADBgzA6dOnzXfxREREVLkIGwFAbNu2TdrWarXCy8tLLFiwQNqXk5MjHB0dxddffy2EEOLMmTMCgDh+/LjU5ocffhAymUz89ddfQgghVqxYIerUqSMKCgqkNpMnTxbNmjWTtl988UURERGhU0/nzp3Fa6+9pnf9Go1GABAajUbv9xAREZF1GfL722aXHMjKykJ2djbCwsKkfQqFAp07d0ZycjIAIDk5GbVr10aHDh2kNmFhYbCzs8PPP/8stenWrZvOBLPw8HBkZGTg5s2bUpsHP6ekTcnnlKWgoAC5ubk6LyIiIqq6bDY0ZWdnAwA8PT119nt6ekrHsrOz4eHhoXO8Ro0aUCqVOm3KOseDn1Fem5LjZZk7dy4UCoX08vX1NfQSiYiIqBKx2dBk6+Li4qDRaKTXH3/8Ye2SiIiIyIxsNjR5eXkBAK5du6az/9q1a9IxLy8vXL9+Xef4vXv3oFarddqUdY4HP6O8NiXHy+Lo6Ag3NzedFxEREVVdNhuaGjVqBC8vLyQlJUn7cnNz8fPPPyM0NBQAEBoaipycHKSkpEht9u3bB61Wi86dO0ttDh06hKKiIqnNnj170KxZM9SpU0dq8+DnlLQp+RwiIiIiq4amW7duIS0tDWlpaQDuT/5OS0vD5cuXIZPJMGHCBMyePRvff/89Tp06hVdeeQU+Pj4YMGAAAKBFixbo06cPXn31VRw7dgxHjhxBTEwMBg8eDB8fHwDASy+9BLlcjlGjRiE9PR2bNm3C0qVLERsbK9Uxfvx47Nq1CwsXLsS5c+cwY8YM/PLLL4iJibF0lxAREZGtssDTfOXav3+/AFDqFRUVJYS4v+zA+++/Lzw9PYWjo6Po1auXyMjI0DmHSqUSQ4YMEbVq1RJubm5ixIgRIi8vT6fNr7/+Kp588knh6Ogo6tevL+bNm1eqlm+++UY0bdpUyOVy0bJlS7Fjxw6DroVLDhAREVU+hvz+lgkhhBUzW5Wh0WhQu3Zt/PHHH5zfREREVEnk5ubC19cXOTk5UCgUj2zL754zkby8+18+yKUHiIiIKp+8vLzHhiaONJmIVqvFlStX4OrqCplMVmabkjTL0Sj2RQn2w33sh3+wL+5jP9zHfviHufpCCIG8vDz4+PjAzu7RU7050mQidnZ2aNCggV5tuUTBP9gX97Ef7mM//IN9cR/74T72wz/M0RePG2EqYbNLDhARERHZEoYmIiIiIj0wNFmQo6Mjpk+fDkdHR2uXYnXsi/vYD/exH/7BvriP/XAf++EfttAXnAhOREREpAeONBERERHpgaGJiIiISA8MTURERER6YGgiIiIi0gNDk4ktX74c/v7+cHJyQufOnXHs2LFy26anp2PgwIHw9/eHTCbDkiVLLFeoBRjSF6tXr8ZTTz2FOnXqoE6dOggLC3tk+8rEkH7YunUrOnTogNq1a8PFxQXt2rXDl19+acFqzceQfnjQxo0bIZPJMGDAAPMWaEGG9MXatWshk8l0Xk5OThas1nwM/TuRk5OD6OhoeHt7w9HREU2bNsXOnTstVK35GNIPPXr0KPX3QSaTISIiwoIVm4+hfyeWLFmCZs2awdnZGb6+vpg4cSLu3r1rvgLN+c3B1c3GjRuFXC4Xn3/+uUhPTxevvvqqqF27trh27VqZ7Y8dOybefvtt8fXXXwsvLy+xePFiyxZsRob2xUsvvSSWL18uTpw4Ic6ePSuGDx8uFAqF+PPPPy1cuWkZ2g/79+8XW7duFWfOnBGZmZliyZIlwt7eXuzatcvClZuWof1QIisrS9SvX1889dRTon///pYp1swM7YuEhATh5uYmrl69Kr2ys7MtXLXpGdoPBQUFokOHDuLZZ58Vhw8fFllZWeLAgQMiLS3NwpWblqH9oFKpdP4unD59Wtjb24uEhATLFm4GhvbF+vXrhaOjo1i/fr3IysoSu3fvFt7e3mLixIlmq5GhyYQ6deokoqOjpe3i4mLh4+Mj5s6d+9j3+vn5VanQVJG+EEKIe/fuCVdXV7Fu3TpzlWgRFe0HIYRo3769mDp1qjnKsxhj+uHevXuiS5cu4rPPPhNRUVFVJjQZ2hcJCQlCoVBYqDrLMbQfVq5cKRo3biwKCwstVaJFVPTfiMWLFwtXV1dx69Ytc5VoMYb2RXR0tOjZs6fOvtjYWNG1a1ez1cjbcyZSWFiIlJQUhIWFSfvs7OwQFhaG5ORkK1Zmeaboi9u3b6OoqAhKpdJcZZpdRftBCIGkpCRkZGSgW7du5izVrIzthw8++AAeHh4YNWqUJcq0CGP74tatW/Dz84Ovry/69++P9PR0S5RrNsb0w/fff4/Q0FBER0fD09MTrVq1wpw5c1BcXGypsk3OFP9WrlmzBoMHD4aLi4u5yrQIY/qiS5cuSElJkW7h/f7779i5cyeeffZZs9XJL+w1kb///hvFxcXw9PTU2e/p6Ylz585ZqSrrMEVfTJ48GT4+Pjr/AVU2xvaDRqNB/fr1UVBQAHt7e6xYsQLPPPOMucs1G2P64fDhw1izZg3S0tIsUKHlGNMXzZo1w+eff442bdpAo9Hg448/RpcuXZCenq73l4TbGmP64ffff8e+ffvw8ssvY+fOncjMzMTrr7+OoqIiTJ8+3RJlm1xF/608duwYTp8+jTVr1pirRIsxpi9eeukl/P3333jyySchhMC9e/cwduxYvPfee2ark6GJbM68efOwceNGHDhwoMpMeDWEq6sr0tLScOvWLSQlJSE2NhaNGzdGjx49rF2aReTl5WHYsGFYvXo16tata+1yrC40NBShoaHSdpcuXdCiRQv8+9//xqxZs6xYmWVptVp4eHjg008/hb29PUJCQvDXX39hwYIFlTY0VdSaNWvQunVrdOrUydqlWMWBAwcwZ84crFixAp07d0ZmZibGjx+PWbNm4f333zfLZzI0mUjdunVhb2+Pa9eu6ey/du0avLy8rFSVdVSkLz7++GPMmzcPe/fuRZs2bcxZptkZ2w92dnYIDAwEALRr1w5nz57F3LlzK21oMrQfLly4gIsXLyIyMlLap9VqAQA1atRARkYGAgICzFu0mZji3wkHBwe0b98emZmZ5ijRIozpB29vbzg4OMDe3l7a16JFC2RnZ6OwsBByudysNZtDRf4+5OfnY+PGjfjggw/MWaLFGNMX77//PoYNG4bRo0cDAFq3bo38/HyMGTMGU6ZMgZ2d6WcgcU6TicjlcoSEhCApKUnap9VqkZSUpPP/EqsDY/ti/vz5mDVrFnbt2oUOHTpYolSzMtXfCa1Wi4KCAnOUaBGG9kPz5s1x6tQppKWlSa/nnnsOTz/9NNLS0uDr62vJ8k3KFH8niouLcerUKXh7e5urTLMzph+6du2KzMxMKUADwPnz5+Ht7V0pAxNQsb8PmzdvRkFBAYYOHWruMi3CmL64fft2qWBUEqqFub5W12xTzKuhjRs3CkdHR7F27Vpx5swZMWbMGFG7dm3p8eBhw4aJd999V2pfUFAgTpw4IU6cOCG8vb3F22+/LU6cOCF+++03a12CyRjaF/PmzRNyuVx8++23Oo/T5uXlWesSTMLQfpgzZ4748ccfxYULF8SZM2fExx9/LGrUqCFWr15trUswCUP74WFV6ek5Q/ti5syZYvfu3eLChQsiJSVFDB48WDg5OYn09HRrXYJJGNoPly9fFq6uriImJkZkZGSIxMRE4eHhIWbPnm2tSzAJY//bePLJJ8WgQYMsXa5ZGdoX06dPF66uruLrr78Wv//+u/jxxx9FQECAePHFF81WI0OTiX3yySeiYcOGQi6Xi06dOomffvpJOta9e3cRFRUlbWdlZQkApV7du3e3fOFmYEhf+Pn5ldkX06dPt3zhJmZIP0yZMkUEBgYKJycnUadOHREaGio2btxohapNz5B+eFhVCk1CGNYXEyZMkNp6enqKZ599VqSmplqhatMz9O/E0aNHRefOnYWjo6No3Lix+PDDD8W9e/csXLXpGdoP586dEwDEjz/+aOFKzc+QvigqKhIzZswQAQEBwsnJSfj6+orXX39d3Lx502z1yYQw1xgWERERUdXBOU1EREREemBoIiIiItIDQxMRERGRHhiaiIiIiPTA0ERERESkB4YmIiIiIj0wNBERERHpgaGJiKgSGj58OAYMGGDtMoiqFYYmIjKp4cOHQyaTSS93d3f06dMHJ0+etHZpJvHgtZW8nnzySbN93sWLFyGTyZCWlqazf+nSpVi7dq3ZPpeISmNoIiKT69OnD65evYqrV68iKSkJNWrUQL9+/axdlskkJCRI13f16lV8//33ZbYrKioyWw0KhQK1a9c22/mJqDSGJiIyOUdHR3h5ecHLywvt2rXDu+++iz/++AM3btxAz549ERMTo9P+xo0bkMvl0jec+/v7Y9asWRgyZAhcXFxQv359LF++XOc9ixYtQuvWreHi4gJfX1+8/vrruHXrlnT80qVLiIyMRJ06deDi4oKWLVti586dAICbN2/i5ZdfRr169eDs7IwmTZogISFB7+urXbu2dH1eXl5QKpXSiNCmTZvQvXt3ODk5Yf369VCpVBgyZAjq16+PmjVronXr1vj66691zqfVajF//nwEBgbC0dERDRs2xIcffggAaNSoEQCgffv2kMlk6NGjB4DSt+cKCgrw5ptvwsPDA05OTnjyySdx/Phx6fiBAwcgk8mQlJSEDh06oGbNmujSpQsyMjL0vm6i6o6hiYjM6tatW/jqq68QGBgId3d3jB49Ghs2bEBBQYHU5quvvkL9+vXRs2dPad+CBQvQtm1bnDhxAu+++y7Gjx+PPXv2SMft7OywbNkypKenY926ddi3bx8mTZokHY+OjkZBQQEOHTqEU6dO4aOPPkKtWrUAAO+//z7OnDmDH374AWfPnsXKlStRt25dk1xvSa1nz55FeHg47t69i5CQEOzYsQOnT5/GmDFjMGzYMBw7dkx6T1xcHObNmyfVtWHDBnh6egKA1G7v3r24evUqtm7dWubnTpo0CVu2bMG6deuQmpqKwMBAhIeHQ61W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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_2.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk0AAAHHCAYAAACiOWx7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABZKUlEQVR4nO3deVxUZd8G8GtABhCYsUEEUQTFhVBTwSU0tzRHQ9SyJ/dwy+UBUyk1ylwrzRY3THueTKwnS82lXHLDLZXUQNzFJdRKUJuRAVEBmfv9w5eTw+YwDMwMXN/PZz5xzrnnzO+cdx7neu9zn/vIhBACRERERFQiO0sXQERERGQLGJqIiIiIjMDQRERERGQEhiYiIiIiIzA0ERERERmBoYmIiIjICAxNREREREZgaCIiIiIyAkMTERERkREYmoiIKpnY2FjIZDJcvXrV0qUQVSoMTURUasePH0dkZCSaNm0KFxcX1KtXD6+++iouXrxYqG2XLl0gk8kgk8lgZ2cHhUKBJk2aYNiwYdi9e3epPnfLli3o3LkzatWqherVq6NBgwZ49dVXsWPHDnMdWiEffvghNm/eXGj9kSNHMGvWLKSnp5fbZxc0a9Ys6VzKZDJUr14dgYGBmD59OjIyMszyGWvWrMGiRYvMsi+iyoahiYhK7aOPPsKGDRvQrVs3LF68GGPGjMHBgwcRFBSEM2fOFGpft25dfPPNN/j666/x8ccfo0+fPjhy5Ah69OiBAQMGIDc394mf+cknn6BPnz6QyWSIjo7GwoUL0b9/f1y6dAnff/99eRwmgJJD0+zZsys0NOVbvnw5vvnmG3z22WcICAjABx98gJ49e8IcjxJlaCIqXjVLF0BEticqKgpr1qyBXC6X1g0YMADNmzfH/Pnz8b///c+gvVKpxNChQw3WzZ8/H2+88QY+//xz+Pn54aOPPir28x4+fIi5c+fihRdewK5duwptv3XrVhmPyHrcu3cP1atXL7HNK6+8gpo1awIAxo0bh/79+2Pjxo349ddfERISUhFlElVJ7GkiolJr3769QWACgEaNGqFp06Y4f/68Ufuwt7fHkiVLEBgYiJiYGOh0umLb/v3338jIyECHDh2K3F6rVi2D5QcPHmDWrFlo3LgxnJycULt2bbz88su4cuWK1OaTTz5B+/bt4e7uDmdnZwQHB+OHH34w2I9MJkNWVhZWr14tXRIbPnw4Zs2ahSlTpgAA6tevL217fAzR//73PwQHB8PZ2RkqlQoDBw7EH3/8YbD/Ll26oFmzZkhISECnTp1QvXp1vPPOO0adv8c9//zzAICUlJQS233++edo2rQpHB0d4e3tjYiICIOesi5dumDbtm24du2adEx+fn6lroeosmJPExGZhRACN2/eRNOmTY1+j729PQYNGoT33nsPhw4dQmhoaJHtatWqBWdnZ2zZsgUTJkyASqUqdp95eXno3bs34uLiMHDgQEycOBGZmZnYvXs3zpw5A39/fwDA4sWL0adPHwwZMgQ5OTn4/vvv8a9//Qtbt26V6vjmm28wevRotG3bFmPGjAEA+Pv7w8XFBRcvXsR3332HhQsXSr0+Hh4eAIAPPvgA7733Hl599VWMHj0at2/fxtKlS9GpUyecOHECNWrUkOrVaDTo1asXBg4ciKFDh8LT09Po85cvPwy6u7sX22bWrFmYPXs2unfvjvHjxyM5ORnLly/H8ePHcfjwYTg4OODdd9+FTqfDn3/+iYULFwIAXF1dS10PUaUliIjM4JtvvhEAxMqVKw3Wd+7cWTRt2rTY923atEkAEIsXLy5x/zNmzBAAhIuLi+jVq5f44IMPREJCQqF2X331lQAgPvvss0Lb9Hq99Pe9e/cMtuXk5IhmzZqJ559/3mC9i4uLCA8PL7Svjz/+WAAQKSkpBuuvXr0q7O3txQcffGCw/vTp06JatWoG6zt37iwAiBUrVhR73I+bOXOmACCSk5PF7du3RUpKivjiiy+Eo6Oj8PT0FFlZWUIIIVatWmVQ261bt4RcLhc9evQQeXl50v5iYmIEAPHVV19J60JDQ4Wvr69R9RBVNbw8R0RlduHCBURERCAkJATh4eGlem9+T0ZmZmaJ7WbPno01a9agVatW2LlzJ959910EBwcjKCjI4JLghg0bULNmTUyYMKHQPmQymfS3s7Oz9PedO3eg0+nQsWNHJCYmlqr+gjZu3Ai9Xo9XX30Vf//9t/Ty8vJCo0aNsG/fPoP2jo6OGDFiRKk+o0mTJvDw8ED9+vUxduxYNGzYENu2bSt2LNSePXuQk5ODSZMmwc7un3/2X3/9dSgUCmzbtq30B0pUBfHyHBGVSVpaGkJDQ6FUKvHDDz/A3t6+VO+/e/cuAMDNze2JbQcNGoRBgwYhIyMDR48eRWxsLNasWYOwsDCcOXMGTk5OuHLlCpo0aYJq1Ur+523r1q14//33kZSUhOzsbGn948HKFJcuXYIQAo0aNSpyu4ODg8FynTp1Co0Pe5INGzZAoVDAwcEBdevWlS45FufatWsAHoWtx8nlcjRo0EDaTkQlY2giIpPpdDr06tUL6enp+OWXX+Dt7V3qfeRPUdCwYUOj36NQKPDCCy/ghRdegIODA1avXo2jR4+ic+fORr3/l19+QZ8+fdCpUyd8/vnnqF27NhwcHLBq1SqsWbOm1MfwOL1eD5lMhp9//rnIAFlwjNDjPV7G6tSpkzSOiogqDkMTEZnkwYMHCAsLw8WLF7Fnzx4EBgaWeh95eXlYs2YNqlevjueee86kOlq3bo3Vq1cjNTUVwKOB2kePHkVubm6hXp18GzZsgJOTE3bu3AlHR0dp/apVqwq1La7nqbj1/v7+EEKgfv36aNy4cWkPp1z4+voCAJKTk9GgQQNpfU5ODlJSUtC9e3dpXVl72ogqM45pIqJSy8vLw4ABAxAfH4/169ebNDdQXl4e3njjDZw/fx5vvPEGFApFsW3v3buH+Pj4Irf9/PPPAP659NS/f3/8/fffiImJKdRW/P/kj/b29pDJZMjLy5O2Xb16tchJLF1cXIqcwNLFxQUACm17+eWXYW9vj9mzZxeabFIIAY1GU/RBlqPu3btDLpdjyZIlBjWtXLkSOp3O4K5FFxeXEqd/IKrK2NNERKX25ptv4qeffkJYWBi0Wm2hySwLTmSp0+mkNvfu3cPly5exceNGXLlyBQMHDsTcuXNL/Lx79+6hffv2ePbZZ9GzZ0/4+PggPT0dmzdvxi+//IJ+/fqhVatWAIDXXnsNX3/9NaKionDs2DF07NgRWVlZ2LNnD/7973+jb9++CA0NxWeffYaePXti8ODBuHXrFpYtW4aGDRvi1KlTBp8dHByMPXv24LPPPoO3tzfq16+Pdu3aITg4GADw7rvvYuDAgXBwcEBYWBj8/f3x/vvvIzo6GlevXkW/fv3g5uaGlJQUbNq0CWPGjMFbb71VpvNfWh4eHoiOjsbs2bPRs2dP9OnTB8nJyfj888/Rpk0bg/97BQcHY+3atYiKikKbNm3g6uqKsLCwCq2XyGpZ8tY9IrJN+bfKF/cqqa2rq6to1KiRGDp0qNi1a5dRn5ebmyv++9//in79+glfX1/h6OgoqlevLlq1aiU+/vhjkZ2dbdD+3r174t133xX169cXDg4OwsvLS7zyyiviypUrUpuVK1eKRo0aCUdHRxEQECBWrVol3dL/uAsXLohOnToJZ2dnAcBg+oG5c+eKOnXqCDs7u0LTD2zYsEE899xzwsXFRbi4uIiAgAAREREhkpOTDc5NSdMxFJRf3+3bt0tsV3DKgXwxMTEiICBAODg4CE9PTzF+/Hhx584dgzZ3794VgwcPFjVq1BAAOP0A0WNkQpjhYUVERERElRzHNBEREREZgaGJiIiIyAgMTURERERGYGgiIiIiMgJDExEREZERGJqIiIiIjMDJLc1Er9fjxo0bcHNz42MIiIiIbIQQApmZmfD29oadXcl9SQxNZnLjxg34+PhYugwiIiIywR9//IG6deuW2IahyUzc3NwAPDrpJT1Di4iIiKxHRkYGfHx8pN/xkjA0mUn+JTmFQsHQREREZGOMGVrDgeBERERERmBoIiIiIjICQxMRERGRETimiYiIyIL0ej1ycnIsXUalJpfLnzidgDEYmoiIiCwkJycHKSkp0Ov1li6lUrOzs0P9+vUhl8vLtB+GJiIiIgsQQiA1NRX29vbw8fExS08IFZY/+XRqairq1atXpgmoGZqIiIgs4OHDh7h37x68vb1RvXp1S5dTqXl4eODGjRt4+PAhHBwcTN4PYy0REZEF5OXlAUCZLxnRk+Wf4/xzbiqGJiIiIgvi80rLn7nOMS/PERFRpaTRaEq8K00ul8Pd3b0CKyJbx9BERESVjkajQUxMzBPbRUZGMjiR0Xh5joiIKp2CPUw6nRtSUvyg07mV2I6ebPjw4ZDJZJDJZHBwcICnpydeeOEFfPXVV6WaOiE2NhY1atQov0LLAXuaiIioUktMbIUtW3pDCDvIZHqEhW1FUNAJS5dVZpa8/NizZ0+sWrUKeXl5uHnzJnbs2IGJEyfihx9+wE8//YRq1SpnvKicR0VERIRHPUz5gQkAhLDDli294e9/GUplpoWrM52lLz86OjrCy8sLAFCnTh0EBQXh2WefRbdu3RAbG4vRo0fjs88+w6pVq/D7779DpVIhLCwMCxYsgKurK/bv348RI0YA+GeQ9syZMzFr1ix88803WLx4MZKTk+Hi4oLnn38eixYtQq1atcx+HKXFy3NERFRpabXuUmDKJ4QdtFqVhSoyD2MvK1bk5cfnn38eLVq0wMaNGwE8moV7yZIlOHv2LFavXo29e/di6tSpAID27dtj0aJFUCgUSE1NRWpqKt566y0AQG5uLubOnYuTJ09i8+bNuHr1KoYPH15hx1ES9jQREVGlpVJpIJPpDYKTTKaHSqW1YFWVV0BAAE6dOgUAmDRpkrTez88P77//PsaNG4fPP/8ccrkcSqUSMplM6rHKN3LkSOnvBg0aYMmSJWjTpg3u3r0LV1fXCjmO4rCniYiIKi2lMhNhYVshkz0aoJw/psmWL81ZMyGEdLltz5496NatG+rUqQM3NzcMGzYMGo0G9+7dK3EfCQkJCAsLQ7169eDm5obOnTsDAK5fv17u9T8Je5qIiKhSCwo6AX//y9BqVVCptAxM5ej8+fOoX78+rl69it69e2P8+PH44IMPoFKpcOjQIYwaNQo5OTnFPjYmKysLarUaarUa3377LTw8PHD9+nWo1WqruNORoYmIiCqdgo8mUSoziwxLfISJ+ezduxenT5/G5MmTkZCQAL1ej08//VR6EPG6desM2svl8kKPNblw4QI0Gg3mz58PHx8fAMBvv/1WMQdgBIYmIiKqdNzd3REZGckZwctJdnY20tLSDKYcmDdvHnr37o3XXnsNZ86cQW5uLpYuXYqwsDAcPnwYK1asMNiHn58f7t69i7i4OLRo0QLVq1dHvXr1IJfLsXTpUowbNw5nzpzB3LlzLXSUhXFMExERVUru7u6oXbt2sS8GJtPt2LEDtWvXhp+fH3r27Il9+/ZhyZIl+PHHH2Fvb48WLVrgs88+w0cffYRmzZrh22+/xbx58wz20b59e4wbNw4DBgyAh4cHFixYAA8PD8TGxmL9+vUIDAzE/Pnz8cknn1joKAuTCSGEpYuoDDIyMqBUKqHT6aBQKCxdDhERWbkHDx4gJSUF9evXh5OTU6nea+l5mmxNSee6NL/fvDxHRERkY3j50TIYmoiIiGwQA1HF45gmIiIiIiMwNBEREREZgaGJiIiIyAgMTURERERGYGgiIiIiMgJDExEREZERGJqIiIiIjMDQRERERFZj//79kMlkSE9PN/o9fn5+WLRoUbnVlI+hiYiIiIw2fPhwyGQyjBs3rtC2iIgIyGQyDB8+vOILqwAMTURERFQqPj4++P7773H//n1p3YMHD7BmzRrUq1fPgpWVL4YmIiIiKpWgoCD4+Phg48aN0rqNGzeiXr16aNWqlbQuOzsbb7zxBmrVqgUnJyc899xzOH78uMG+tm/fjsaNG8PZ2Rldu3bF1atXC33eoUOH0LFjRzg7O8PHxwdvvPEGsrKyyu34isPQREREZOP+/BPYt+/RfyvKyJEjsWrVKmn5q6++wogRIwzaTJ06FRs2bMDq1auRmJiIhg0bQq1WQ6vVAgD++OMPvPzyywgLC0NSUhJGjx6Nt99+22AfV65cQc+ePdG/f3+cOnUKa9euxaFDhxAZGVn+B1kAQxMREZENW7kS8PUFnn/+0X9XrqyYzx06dCgOHTqEa9eu4dq1azh8+DCGDh0qbc/KysLy5cvx8ccfo1evXggMDMR///tfODs7Y+X/F7l8+XL4+/vj008/RZMmTTBkyJBC46HmzZuHIUOGYNKkSWjUqBHat2+PJUuW4Ouvv8aDBw8q5mD/X7UK/TQiIiIymz//BMaMAfT6R8t6PTB2LKBWA3Xrlu9ne3h4IDQ0FLGxsRBCIDQ0FDVr1pS2X7lyBbm5uejQoYO0zsHBAW3btsX58+cBAOfPn0e7du0M9hsSEmKwfPLkSZw6dQrffvuttE4IAb1ej5SUFDz99NPlcXhFsmhP0/Lly/HMM89AoVBAoVAgJCQEP//8s7S9S5cukMlkBq+Co/WvX7+O0NBQVK9eHbVq1cKUKVPw8OFDgzb79+9HUFAQHB0d0bBhQ8TGxhaqZdmyZfDz84OTkxPatWuHY8eOlcsxExERmculS/8Epnx5ecDlyxXz+SNHjkRsbCxWr16NkSNHlstn3L17F2PHjkVSUpL0OnnyJC5dugR/f/9y+cziWDQ01a1bF/Pnz0dCQgJ+++03PP/88+jbty/Onj0rtXn99deRmpoqvRYsWCBty8vLQ2hoKHJycnDkyBGsXr0asbGxmDFjhtQmJSUFoaGh6Nq1K5KSkjBp0iSMHj0aO3fulNqsXbsWUVFRmDlzJhITE9GiRQuo1WrcunWrYk4EERGRCRo1AuwK/JLb2wMNG1bM5/fs2RM5OTnIzc2FWq022Obv7w+5XI7Dhw9L63Jzc3H8+HEEBgYCAJ5++ulCnRS//vqrwXJQUBDOnTuHhg0bFnrJ5fJyOrJiCCvz1FNPiS+//FIIIUTnzp3FxIkTi227fft2YWdnJ9LS0qR1y5cvFwqFQmRnZwshhJg6dapo2rSpwfsGDBgg1Gq1tNy2bVsREREhLefl5Qlvb28xb948o+vW6XQCgNDpdEa/h4iIqq779++Lc+fOifv375dpP19+KYS9vRDAo//+/09ouQkPDxd9+/aVlnU6ncFvX9++fUV4eLgQQoiJEycKb29v8fPPP4uzZ8+K8PBw8dRTTwmtViuEEOLatWtCLpeLt956S1y4cEF8++23wsvLSwAQd+7cEUIIcfLkSeHs7CwiIiLEiRMnxMWLF8XmzZsNfrd9fX3FwoULi625pHNdmt9vqxkInpeXh++//x5ZWVkG1zO//fZb1KxZE82aNUN0dDTu3bsnbYuPj0fz5s3h6ekprVOr1cjIyJB6q+Lj49G9e3eDz1Kr1YiPjwcA5OTkICEhwaCNnZ0dunfvLrUpSnZ2NjIyMgxeREREFW3UKODq1Ud3z129+mi5IuUPsSnK/Pnz0b9/fwwbNgxBQUG4fPkydu7ciaeeegoAUK9ePWzYsAGbN29GixYtsGLFCnz44YcG+3jmmWdw4MABXLx4ER07dkSrVq0wY8YMeHt7l/uxFWTxgeCnT59GSEgIHjx4AFdXV2zatEnqths8eDB8fX3h7e2NU6dOYdq0aUhOTpbmhUhLSzMITACk5bS0tBLbZGRk4P79+7hz5w7y8vKKbHPhwoVi6543bx5mz55dtoMnIiIyg7p1y3/gd76ixgU/bvPmzdLfTk5OWLJkCZYsWVJs+969e6N3794G6wpOXdCmTRvs2rWr2H0UNbdTebB4aGrSpAmSkpKg0+nwww8/IDw8HAcOHEBgYCDGjBkjtWvevDlq166Nbt264cqVKxU++Kug6OhoREVFScsZGRnw8fGxYEVERERUniwemuRyORr+/4i14OBgHD9+HIsXL8YXX3xRqG3+bYmXL1+Gv78/vLy8Cg0gu3nzJgDAy8tL+m/+usfbKBQKODs7w97eHvb29kW2yd9HURwdHeHo6FjKoyUiIiJbZTVjmvLp9XpkZ2cXuS0pKQkAULt2bQCP5nI4ffq0wV1uu3fvhkKhkC7xhYSEIC4uzmA/u3fvlsZNyeVyBAcHG7TR6/WIi4srNFcEERERVV0W7WmKjo5Gr169UK9ePWRmZmLNmjXYv38/du7ciStXrmDNmjV48cUX4e7ujlOnTmHy5Mno1KkTnnnmGQBAjx49EBgYiGHDhmHBggVIS0vD9OnTERERIfUCjRs3DjExMZg6dSpGjhyJvXv3Yt26ddi2bZtUR1RUFMLDw9G6dWu0bdsWixYtQlZWVqFrqkRERFR1WTQ03bp1C6+99hpSU1OhVCrxzDPPYOfOnXjhhRfwxx9/YM+ePVKA8fHxQf/+/TF9+nTp/fb29ti6dSvGjx+PkJAQuLi4IDw8HHPmzJHa1K9fH9u2bcPkyZOxePFi1K1bF19++aXBfBIDBgzA7du3MWPGDKSlpaFly5bYsWNHocHhRERE5iaEsHQJlZ65zrFM8P9aZpGRkQGlUgmdTlfsrZdERET5cnNzcfnyZXh7e0OpVFq6nEpNp9Phxo0baNiwIRwcHAy2leb32+IDwYmIiKqiatWqoXr16rh9+zYcHBxgV3BqbzILvV6P27dvo3r16qhWrWyxh6GJiIjIAmQyGWrXro2UlBRcu3bN0uVUanZ2dqhXrx5kMlmZ9sPQREREZCFyuRyNGjVCTk6OpUup1ORyuVl68hiaiIiILMjOzg5OTk6WLoOMwAuoREREREZgaCIiIiIyAkMTERERkREYmoiIiIiMwNBEREREZASGJiIiIiIjMDQRERERGYGhiYiIiMgIDE1ERERERmBoIiIiIjICH6NCZGU0Gk2Jz6GSy+Vwd3evwIqIiAhgaCKyKhqNBjExMU9sFxkZyeBERFTBeHmOyIoU7GHS6dyQkuIHnc6txHZERFT+2NNEZKUSE1thy5beEMIOMpkeYWFbERR0wtJlERFVWexpIrJCOp2bFJgAQAg7bNnSu1CPExERVRyGJiIrpNW6S4EpnxB20GpVFqqIiIgYmoiskEqlgUymN1gnk+mhUmktVBERETE0EVkhpTITYWFbpeCUP6ZJqcy0cGVERFUXB4ITWamgoBPw978MrVYFlUrLwEREZGEMTURWRC6XGywrlZlFhqWC7YiIqPwxNBFZEXd3d0RGRnJGcCIiK8TQRGRlGIiIiKwTB4ITERERGYGhiYiIiMgIDE1ERERERmBoIiIiIjICQxMRERGRERiaiIiIiIzAKQeIiIjIKmk0Gquat46hiYiIiKyORqNBTEzME9tFRkZWWHDi5TkiIiKyOgV7mHQ6N6Sk+EGncyuxXXliTxMRERFZtcTEVtiypTeEsINMpkdY2FYEBZ2o8DoYmojIJNY21oCIKiedzk0KTAAghB22bOkNf//LRT7QvDwxNBFRqVnjWAMiqpy0WncpMOUTwg5ararCQxPHNBFRqVnjWAMiqpxUKg1kMr3BOplMD5VKW+G1sKeJiMrEWsYaEFHlpFRmIixsa6F/Zyq6lwlgaCKiMrCmsQZEVHkFBZ2Av/9laLUqqFRai/37wtBERCazprEGRFS5yOVyg2WlMrPIf1cKtitPDE1EZLL8sQaPBydLjTUgosrF3d0dkZGRVnWXLkMTEZnMmsYaEFHlY2133zI0EVGZWMtYAyKi8sbQRESlZo1jDYiIyhtDExGVmjWONSAiKm8MTURkEgYiIqpqOCM4ERERkREYmoiIiIiMwMtzVCVoNBqOvyEiojJhaKJKT6PRICYm5ontIiMjGZyIiKhYFr08t3z5cjzzzDNQKBRQKBQICQnBzz//LG1/8OABIiIi4O7uDldXV/Tv3x83b9402Mf169cRGhqK6tWro1atWpgyZQoePnxo0Gb//v0ICgqCo6MjGjZsiNjY2EK1LFu2DH5+fnByckK7du1w7NixcjlmqngFe5h0OjekpPhBp3MrsR0REdHjLBqa6tati/nz5yMhIQG//fYbnn/+efTt2xdnz54FAEyePBlbtmzB+vXrceDAAdy4cQMvv/yy9P68vDyEhoYiJycHR44cwerVqxEbG4sZM2ZIbVJSUhAaGoquXbsiKSkJkyZNwujRo7Fz506pzdq1axEVFYWZM2ciMTERLVq0gFqtxq1btyruZFCFSExshUWLJmH16nAsWjQJiYmtLF0SERHZCmFlnnrqKfHll1+K9PR04eDgINavXy9tO3/+vAAg4uPjhRBCbN++XdjZ2Ym0tDSpzfLly4VCoRDZ2dlCCCGmTp0qmjZtavAZAwYMEGq1Wlpu27atiIiIkJbz8vKEt7e3mDdvntF163Q6AUDodLrSHTCVuxs3bohZs2aJyZM/FTJZngCE9JLJ8sTkyZ+KWbNmiRs3bli6VCIiqmCl+f22mrvn8vLy8P333yMrKwshISFISEhAbm4uunfvLrUJCAhAvXr1EB8fDwCIj49H8+bN4enpKbVRq9XIyMiQeqvi4+MN9pHfJn8fOTk5SEhIMGhjZ2eH7t27S22octBq3VHwKy+EHbRalYUqIiIiW2LxgeCnT59GSEgIHjx4AFdXV2zatAmBgYFISkqCXC5HjRo1DNp7enoiLS0NAJCWlmYQmPK3528rqU1GRgbu37+PO3fuIC8vr8g2Fy5cKLbu7OxsZGdnS8sZGRmlO3CqcCqVBjKZ3iA4yWR6qFRaC1ZFRES2wuI9TU2aNEFSUhKOHj2K8ePHIzw8HOfOnbN0WU80b948KJVK6eXj42PpkugJlMpMhIVthUymB/AoMIWFbeUDZomIyCgW72mSy+Vo2LAhACA4OBjHjx/H4sWLMWDAAOTk5CA9Pd2gt+nmzZvw8vICAHh5eRW6yy3/7rrH2xS84+7mzZtQKBRwdnaGvb097O3ti2yTv4+iREdHIyoqSlrOyMhgcLIBQUEn4O9/GVqtCiqVloGJiIiMZvGepoL0ej2ys7MRHBwMBwcHxMXFSduSk5Nx/fp1hISEAABCQkJw+vRpg7vcdu/eDYVCgcDAQKnN4/vIb5O/D7lcjuDgYIM2er0ecXFxUpuiODo6SlMl5L/IOsnlcoNlpTIT9etfKxSYCrYjIiJ6nEV7mqKjo9GrVy/Uq1cPmZmZWLNmDfbv34+dO3dCqVRi1KhRiIqKgkqlgkKhwIQJExASEoJnn30WANCjRw8EBgZi2LBhWLBgAdLS0jB9+nRERETA0dERADBu3DjExMRg6tSpGDlyJPbu3Yt169Zh27ZtUh1RUVEIDw9H69at0bZtWyxatAhZWVkYMWKERc4LmZe7uzsiIyM5IzgREZVNBdzNV6yRI0cKX19fIZfLhYeHh+jWrZvYtWuXtP3+/fvi3//+t3jqqadE9erVxUsvvSRSU1MN9nH16lXRq1cv4ezsLGrWrCnefPNNkZuba9Bm3759omXLlkIul4sGDRqIVatWFapl6dKlol69ekIul4u2bduKX3/9tVTHwikHiIiIbE9pfr9lQghh6eBWGWRkZECpVEKn0/FSHRERkY0oze+31Y1pIiIiIrJGDE1ERERERrD4lANERERUcTQaDW+MMRFDExERURWh0WgQExPzxHaRkZEMTkXg5TkiIqIqomAPk07nhpQUP+h0biW2o0fY00RERFQFJSa2wpYtvSGEnfRYqaCgE5Yuy6qxp4mIiKiK0encpMAEAELYYcuW3oV6nMgQQxMREVEVo9W6S4EpnxB20GpVFqrINjA0ERERVTEqlQYymd5gnUymh0qltVBFtoGhiYiIqIpRKjMRFrZVCk75Y5oKPsicDHEgOBERURUUFHQC/v6XodWqoFJpGZiMwNBERERURcjlcoNlpTKzyLBUsB09wtBERERURbi7uyMyMpIzgpuIoYmIiKgKYSAyHQeCExERERmBoYmIiIjICAxNREREREZgaCIiIiIyAkMTERERkREYmoiIiIiMwNBEREREZASTQ5Ofnx/mzJmD69evm7MeIiIiIqtkcmiaNGkSNm7ciAYNGuCFF17A999/j+zsbHPWRkRERGQ1yhSakpKScOzYMTz99NOYMGECateujcjISCQmJpqzRiIiIiKLkwkhhDl2lJubi88//xzTpk1Dbm4umjdvjjfeeAMjRoyATCYzx0dYtYyMDCiVSuh0OigUCkuXQ0REREYoze93mZ89l5ubi02bNmHVqlXYvXs3nn32WYwaNQp//vkn3nnnHezZswdr1qwp68cQERERWZTJoSkxMRGrVq3Cd999Bzs7O7z22mtYuHAhAgICpDYvvfQS2rRpY5ZCiYiIiCzJ5NDUpk0bvPDCC1i+fDn69esHBweHQm3q16+PgQMHlqlAIiIiImtgcmj6/fff4evrW2IbFxcXrFq1ytSPICIiIrIaJt8917VrV2g0mkLr09PT0aBBgzIVRURERGRtTA5NV69eRV5eXqH12dnZ+Ouvv8pUFBEREZG1KfXluZ9++kn6e+fOnVAqldJyXl4e4uLi4OfnZ5biiIiIiKxFqUNTv379AAAymQzh4eEG2xwcHODn54dPP/3ULMURERERWYtShya9Xg/g0Z1xx48fR82aNc1eFBEREZG1MfnuuZSUFHPWQURERGTVTA5Nc+bMKXH7jBkzTN01ERERkdUxOTRt2rTJYDk3NxcpKSmoVq0a/P39GZqIqErSaDTIyckpdrtcLoe7u3sFVkRE5mJyaDpx4kShdRkZGRg+fDheeumlMhVFRGSLNBoNYmJintguMjKSwYnIBpk8T1NRFAoFZs+ejffee8+cuyUisgkFe5h0OjekpPhBp3MrsR0R2QaTe5qKo9PpoNPpzL1bIiKbkpjYClu29IYQdpDJ9AgL24qgoMI99ERkO0wOTUuWLDFYFkIgNTUV33zzDXr16lXmwoiIbJVO5yYFJgAQwg5btvSGv/9lKJWZFq6OiExlcmhauHChwbKdnR08PDwQHh6O6OjoMhdGRGSrtFp3KTDlE8IOWq2KoYnIhnGeJiIiM1OpNJDJ9AbBSSbTQ6XSWrAqIiqrMo1pEkJAo9FAJpPxThAiov+nVGYiLGxroTFN7GUiW1fVp9QwKTSlpaVh6tSp+Omnn5CZ+egfAYVCgZdeegnz5s2Dp6enWYskIrI1QUEn4O9/GVqtCiqVloGJbB6n1DAhNGVkZKB9+/a4e/cuRowYgYCAAAghcO7cOXz33Xc4dOgQEhMT4erqWh71EhFZLblcbrCsVGYWGZYKtiOyBUVNqaHVukOl0hh8zyvzlBqlDk2LFy+Gvb09zp49Cw8PD4Nt06dPR4cOHbBkyRK88847ZiuSiMgWuLu7IzIyskpfvqCqoapOqVHq0LRt2za88847hQITANSqVQvR0dH473//y9BERFUSAxFVdlV5So1Szwh+8eJFtG/fvtjt7du3R3JycpmKIiIiIutU0pQalV2pQ1NGRgZq1KhR7PYaNWogIyOjLDURERGRlcqfUuNxVWVKjVKHJiEE7OyKf5tMJoMQokxFERERkXXKn1IjPzhVpSk1Sj2mSQiBxo0bQyaTFbudiIiIKq+qOqVGqUPTqlWryqMOIiIismKcUgOQiXLuGvruu+/Qp08fuLi4FNo2b948bNy4ERcuXICzszPat2+Pjz76CE2aNJHadOnSBQcOHDB439ixY7FixQpp+fr16xg/fjz27dsHV1dXhIeHY968eahW7Z9MuH//fkRFReHs2bPw8fHB9OnTMXz4cIP9Llu2DB9//DHS0tLQokULLF26FG3btjXqODMyMqBUKqHT6aBQKIx6T3mo6rO1EhFR+amMvzGl+f0u02NUjDF27Fi0a9cODRo0KLTtwIEDiIiIQJs2bfDw4UO888476NGjB86dO2cQsl5//XXMmTNHWq5evbr0d15eHkJDQ+Hl5YUjR44gNTUVr732GhwcHPDhhx8CePScvNDQUIwbNw7ffvst4uLiMHr0aNSuXRtqtRoAsHbtWkRFRWHFihVo164dFi1aBLVajeTkZNSqVau8To9ZcbZWIiIqT1X9t6Pce5rc3Nxw8uTJIkNTQbdv30atWrVw4MABdOrUCcCjnqaWLVti0aJFRb7n559/Ru/evXHjxg3p8S0rVqzAtGnTcPv2bcjlckybNg3btm3DmTNnpPcNHDgQ6enp2LFjBwCgXbt2aNOmjRQ69Ho9fHx8MGHCBLz99ttPrN0aeppSU1Pxn//8R1oubrbWMWPGoHbt2pYokYiIyKqU5ve71HfPlSedTgcAUKkM53r49ttvUbNmTTRr1gzR0dG4d++etC0+Ph7Nmzc3eN6dWq1GRkYGzp49K7Xp3r27wT7VajXi4+MBPJryPSEhwaCNnZ0dunfvLrUpKDs7GxkZGQYva5KY2AqLFk3C6tXhWLRoEhITW1m6JCIiIptW7pfnjKXX6zFp0iR06NABzZo1k9YPHjwYvr6+8Pb2xqlTpzBt2jQkJydj48aNAB49PLjgA4Lzl9PS0kpsk5GRgfv37+POnTvIy8srss2FCxeKrHfevHmYPXt22Q66nFTl2VqJiIjKi9WEpoiICJw5cwaHDh0yWD9mzBjp7+bNm6N27dro1q0brly5An9//4ouUxIdHY2oqChpOSMjAz4+Phar53ElzdbK0ERERGQaqwhNkZGR2Lp1Kw4ePIi6deuW2LZdu3YAgMuXL8Pf3x9eXl44duyYQZubN28CALy8vKT/5q97vI1CoYCzszPs7e1hb29fZJv8fRTk6OgIR0dH4w+yAuXP1vp4cKoqs7USERGVF5PGNOXl5eHgwYNIT09/YltfX184ODgUuU0IgcjISGzatAl79+5F/fr1n7i/pKQkAJAGMoeEhOD06dO4deuW1Gb37t1QKBQIDAyU2sTFxRnsZ/fu3QgJCQHw6BbJ4OBggzZ6vR5xcXFSG1tSlWdrJSIiKi8m9TTZ29ujR48eOH/+fInPoQNgcMdaQREREVizZg1+/PFHuLm5SWOQlEolnJ2dceXKFaxZswYvvvgi3N3dcerUKUyePBmdOnXCM888AwDo0aMHAgMDMWzYMCxYsABpaWmYPn06IiIipJ6gcePGISYmBlOnTsXIkSOxd+9erFu3Dtu2bZNqiYqKQnh4OFq3bo22bdti0aJFyMrKwogRI0w5RRZXVWdrJSIiKi8mX55r1qwZfv/9d6N6h4qzfPlyAI+mFXjcqlWrMHz4cMjlcuzZs0cKMD4+Pujfvz+mT58utbW3t8fWrVsxfvx4hISEwMXFBeHh4QbzOtWvXx/btm3D5MmTsXjxYtStWxdffvmlNEcTAAwYMAC3b9/GjBkzkJaWhpYtW2LHjh2FBodbM87WSkREVH5Mnqdpx44diI6Oxty5cxEcHFxoxm9LzoptCdYwTxMntyQiIiqdCpkR/MUXXwQA9OnTx+DhvUIIyGQy5OXlmbprMlHBqe2Lm9yypCnwiYiIqGgmh6Z9+/aZsw4ys8TEVtJcTfkDwYOCTli6LCIiIptlcmjq3LmzOesgM+LklkREROZXpseo/PLLLxg6dCjat2+Pv/76CwDwzTffFJqgkipWSZNbEhERkWlMDk0bNmyAWq2Gs7MzEhMTkZ2dDeDR8+M+/PBDsxVIpZc/ueXjKsvklhqNBqmpqcW+NBqNpUskIqJKyuTLc++//z5WrFiB1157Dd9//720vkOHDnj//ffNUhyZJn9yy4Jjmmz90hzvDiQiIksyOTQlJyejU6dOhdYrlUqjZgqn8lUZJ7fk3YFERGRJJocmLy8vXL58GX5+fgbrDx06hAYNGpS1LjJBVZrckncHEhFRRTM5NL3++uuYOHEivvrqK8hkMty4cQPx8fF466238N5775mzRjKSu7s7IiMjS+xpkcvlNn/pincHEhGRJZgcmt5++23o9Xp069YN9+7dQ6dOneDo6Ii33noLEyZMMGeNVAq2HoiMUdLdgQxNRERUXkwOTTKZDO+++y6mTJmCy5cv4+7duwgMDISrq6s56yMqJP/uwMeDU2W5O5CIiKxXmeZpAh5d7gkMDETbtm0ZmKhC5N8dmD+tQmW5O5CIiKybyT1NDx48wNKlS7Fv3z7cunULer3hvECJiYllLo6oOJXx7kAiIrJuJoemUaNGYdeuXXjllVfQtm1bg4f2EpWHqnR3IBERWR+ZEEKY8kalUont27ejQ4cO5q7JJmVkZECpVEKn00GhUFi6nEpLo9FU+rsDiYio4pTm99vknqY6derAzc3N1LcTmYSBiIiILMXkgeCffvoppk2bhmvXrpmzHiIiIiKrZHJPU+vWrfHgwQM0aNAA1atXh4ODg8F2rZa3fxMREVHlYXJoGjRoEP766y98+OGH8PT05EBwIiIiqtRMDk1HjhxBfHw8WrRoYc56iIiIiKySyWOaAgICcP/+fXPWQkRERGS1TA5N8+fPx5tvvon9+/dDo9EgIyPD4EVERERUmZg8T5Od3aO8VXAskxACMpkMeXl5Za/OhnCeJiIiIttTIfM07du3z9S3EhEREdkck0JTbm4u5syZgxUrVqBRo0bmromIiIjI6pg0psnBwQGnTp0ydy1EREREVsvkgeBDhw7FypUrzVkLERERkdUyeUzTw4cP8dVXX2HPnj0IDg6Gi4uLwfbPPvuszMURERERWQuTQ9OZM2cQFBQEALh48aLBNs4OTkRERJUN754jIiIiMoLJY5oe9+eff+LPP/80x66IiIiIrJLJoUmv12POnDlQKpXw9fWFr68vatSogblz50Kv15uzRiIiIiKLM/ny3LvvvouVK1di/vz56NChAwDg0KFDmDVrFh48eIAPPvjAbEUSERERWZrJj1Hx9vbGihUr0KdPH4P1P/74I/7973/jr7/+MkuBtoKPUSEiIrI9pfn9NvnynFarRUBAQKH1AQEB0Gq1pu6WiIiIyCqZHJpatGiBmJiYQutjYmLQokWLMhVFREREZG1MHtO0YMEChIaGYs+ePQgJCQEAxMfH448//sD27dvNViARERGRNTC5p6lz5864ePEiXnrpJaSnpyM9PR0vv/wykpOT0bFjR3PWSERERGRxpeppevnllxEbGwuFQoGvv/4aAwYM4F1yREREVCWUqqdp69atyMrKAgCMGDECOp2uXIoiIiIisjal6mkKCAhAdHQ0unbtCiEE1q1bV+ztea+99ppZCiQiIiKyBqWap+nIkSOIiorClStXoNVq4ebmVuTDeWUyWZWbdoDzNBEREdme0vx+mzy5pZ2dHdLS0lCrVi2TiqxsGJqIiIhsT4VMbpmSkgIPDw9T305ERERkU0wOTb6+vjh06BCGDh2KkJAQ6bEp33zzDQ4dOmS2AomIiIisgcmhacOGDVCr1XB2dsaJEyeQnZ0NANDpdPjwww/NViARERGRNTA5NL3//vtYsWIF/vvf/8LBwUFa36FDByQmJpqlOCIiIiJrYXJoSk5ORqdOnQqtVyqVSE9PL0tNRERERFbH5NDk5eWFy5cvF1p/6NAhNGjQoExFEREREVkbk0PT66+/jokTJ+Lo0aOQyWS4ceMGvv32W7z55psYP368OWskIiIisrhSzQj+uLfffht6vR7dunXDvXv30KlTJzg6OmLKlCkYPXq0OWskIiIisjiTe5pkMhneffddaLVanDlzBr/++itu374NpVKJ+vXrm7NGIiIiIosrdWjKzs5GdHQ0WrdujQ4dOmD79u0IDAzE2bNn0aRJEyxevBiTJ08uj1qJiIiILKbUoWnGjBlYvnw5/Pz8kJKSgn/9618YM2YMFi5ciE8//RQpKSmYNm2aUfuaN28e2rRpAzc3N9SqVQv9+vVDcnKyQZsHDx4gIiIC7u7ucHV1Rf/+/XHz5k2DNtevX0doaCiqV6+OWrVqYcqUKXj48KFBm/379yMoKAiOjo5o2LAhYmNjC9WzbNky+Pn5wcnJCe3atcOxY8dKd3KIiIio0ip1aFq/fj2+/vpr/PDDD9i1axfy8vLw8OFDnDx5EgMHDoS9vb3R+zpw4AAiIiLw66+/Yvfu3cjNzUWPHj2QlZUltZk8eTK2bNmC9evX48CBA7hx4wZefvllaXteXh5CQ0ORk5ODI0eOYPXq1YiNjcWMGTOkNikpKQgNDUXXrl2RlJSESZMmYfTo0di5c6fUZu3atYiKisLMmTORmJiIFi1aQK1W49atW6U9RURERFQJlfqBvXK5HCkpKahTpw4AwNnZGceOHUPz5s3LXMzt27dRq1YtHDhwAJ06dYJOp4OHhwfWrFmDV155BQBw4cIFPP3004iPj8ezzz6Ln3/+Gb1798aNGzfg6ekJAFixYgWmTZuG27dvQy6XY9q0adi2bRvOnDkjfdbAgQORnp6OHTt2AADatWuHNm3aICYmBgCg1+vh4+ODCRMm4O23335i7Xxgb+loNBrk5OQUu10ul8Pd3b0CKyIioqqoNL/fpb57Li8vD3K5/J8dVKsGV1fX0ldZBJ1OBwBQqVQAgISEBOTm5qJ79+5Sm4CAANSrV08KTfHx8WjevLkUmABArVZj/PjxOHv2LFq1aoX4+HiDfeS3mTRpEgAgJycHCQkJiI6Olrbb2dmhe/fuiI+PL7LW7Oxs6dExwKOTTsbRaDRSOC1JZGQkgxMREVmNUocmIQSGDx8OR0dHAI/GHI0bNw4uLi4G7TZu3Fiq/er1ekyaNAkdOnRAs2bNAABpaWmQy+WoUaOGQVtPT0+kpaVJbR4PTPnb87eV1CYjIwP379/HnTt3kJeXV2SbCxcuFFnvvHnzMHv27FIdIz1SsIdJp3ODVusOlUoDpTKz2HZERESWVOrQFB4ebrA8dOhQsxQSERGBM2fO4NChQ2bZX3mLjo5GVFSUtJyRkQEfHx8LVmSbEhNbYcuW3hDCDjKZHmFhWxEUdMLSZRERERVS6tC0atUqsxcRGRmJrVu34uDBg6hbt6603svLCzk5OUhPTzfobbp58ya8vLykNgXvcsu/u+7xNgXvuLt58yYUCgWcnZ1hb28Pe3v7Itvk76MgR0dHqbeNTKPTuUmBCQCEsMOWLb3h73/ZoMeJiIjIGpg8uaU5CCEQGRmJTZs2Ye/evYUmxQwODoaDgwPi4uKkdcnJybh+/TpCQkIAACEhITh9+rTBXW67d++GQqFAYGCg1ObxfeS3yd+HXC5HcHCwQRu9Xo+4uDipDZmfVusuBaZ8QthBq1VZqCIiIqLimfwYFXOIiIjAmjVr8OOPP8LNzU0ag6RUKuHs7AylUolRo0YhKioKKpUKCoUCEyZMQEhICJ599lkAQI8ePRAYGIhhw4ZhwYIFSEtLw/Tp0xERESH1BI0bNw4xMTGYOnUqRo4cib1792LdunXYtm2bVEtUVBTCw8PRunVrtG3bFosWLUJWVhZGjBhR8SemilCpNJDJ9AbBSSbTQ6XSWrAqIiKiolk0NC1fvhwA0KVLF4P1q1atwvDhwwEACxcuhJ2dHfr374/s7Gyo1Wp8/vnnUlt7e3ts3boV48ePR0hICFxcXBAeHo45c+ZIberXr49t27Zh8uTJWLx4MerWrYsvv/wSarVaajNgwADcvn0bM2bMQFpaGlq2bIkdO3YUGhxO5qNUZiIsbGuhMU28NEdERNao1PM0UdE4T5PxUlNT8Z///EdafnT3nAoqldYgMI0ZMwa1a9e2RIlERFRFlOs8TURl9fg8X8CjHqeiepcKtiMiIrIkhiaqcO7u7oiMjOSM4EREZFMYmsgiGIiIiMjWWHTKASIiIiJbwdBEREREZASGJiIiIiIjMDQRERERGYEDwYmIiqDRaHiHJxEZYGgiIipAo9EgJibmie0iIyMZnIiqEF6eIyIqoGAPk07nhpQUP+h0biW2I6LKjT1NREQlSExsVej5iEFBJyxdFhFZAHuaiIiKodO5SYEJAISww5YtvQv1OBFR1cDQRERUDK3WXQpM+YSwg1arslBFRGRJDE1ERMVQqTSQyfQG62QyPVQqrYUqIiJL4pgmIqJiKJWZCAvbWmhMk1KZaenSbBKncSBbx9BERFSCoKAT8Pe/DK1WBZVKy8BkIk7jQJUBQxMRUQFyudxgWanMLDIsFWxHxStqGget1h0qlcbg3HIaB7JmDE1ERAW4u7sjMjKSl5LKCadxIFvF0EREVAQGovJR3DQO/v6XeemTrB7vniMiogrDaRzIljE0ERFRheE0DmTLGJqIiKjC5E/jkB+cOI0D2RKOaSIiogrFaRzIVjE0ERFRueM0DlQZMDQREVG54zQOVBkwNBERUYVgICJbx4HgREREREZgaCIiIiIyAkMTERERkREYmoiIiIiMwNBEREREZATePWelNBoNb80lIiKyIgxNVkij0SAmJuaJ7SIjIxmciIiIKggvz1mhgj1MOp0bUlL8oNO5ldiOiIiIyg97mqxcYmIrbNnSG0LYSQ+2DAo6YemyiIiIqhz2NFkxnc5NCkwAIIQdtmzpXajHiYiIiMofQ5MV02rdpcCUTwg7aLUqC1VERERUdTE0WTGVSgOZTG+wTibTQ6XSWqgiIiKiqotjmqyYUpmJsLCthcY0KZWZli6NyGScToOIbBVDk5ULCjoBf//L0GpVUKm0DExk0zidBhHZMoYmKySXyw2WlcrMIsNSwXZE1q6o6TS0WneoVBqD7zin0yAia8TQZIXc3d0RGRnJSxhUqXE6DSKyNQxNVoqBiCqz4qbT8Pe/zEvQRGS1ePccEVU4TqdBRLaIoYmIKhyn0yAiW8TQREQVLn86jfzgxOk0iMgWcEwTEVkEp9MgIlvD0EREFYbTaRCRLWNoIqIKw+k0iMiWMTQRUYViICIiW8WB4ERERERGYGgiIiIiMoJFQ9PBgwcRFhYGb29vyGQybN682WD78OHDIZPJDF49e/Y0aKPVajFkyBAoFArUqFEDo0aNwt27dw3anDp1Ch07doSTkxN8fHywYMGCQrWsX78eAQEBcHJyQvPmzbF9+3azHy8RERHZLouGpqysLLRo0QLLli0rtk3Pnj2Rmpoqvb777juD7UOGDMHZs2exe/dubN26FQcPHsSYMWOk7RkZGejRowd8fX2RkJCAjz/+GLNmzcJ//vMfqc2RI0cwaNAgjBo1CidOnEC/fv3Qr18/nDlzxvwHTURERDZJJoQQli4CAGQyGTZt2oR+/fpJ64YPH4709PRCPVD5zp8/j8DAQBw/fhytW7cGAOzYsQMvvvgi/vzzT3h7e2P58uV49913kZaWJt3G/Pbbb2Pz5s24cOECAGDAgAHIysrC1q1bpX0/++yzaNmyJVasWGFU/RkZGVAqldDpdFAoFCacASIiIqpopfn9tvoxTfv370etWrXQpEkTjB8/HhqNRtoWHx+PGjVqSIEJALp37w47OzscPXpUatOpUyeDeV/UajWSk5Nx584dqU337t0NPletViM+Pr7YurKzs5GRkWHwIiIiosrLqkNTz5498fXXXyMuLg4fffQRDhw4gF69eiEvLw8AkJaWhlq1ahm8p1q1alCpVEhLS5PaeHp6GrTJX35Sm/ztRZk3bx6USqX08vHxKdvBEhERkVWz6nmaBg4cKP3dvHlzPPPMM/D398f+/fvRrVs3C1YGREdHIyoqSlrOyMhgcCIiIqrErLqnqaAGDRqgZs2auHz5MgDAy8sLt27dMmjz8OFDaLVaeHl5SW1u3rxp0CZ/+Ult8rcXxdHREQqFwuBFRERElZdNhaY///wTGo0GtWvXBgCEhIQgPT0dCQkJUpu9e/dCr9ejXbt2UpuDBw8iNzdXarN79240adIETz31lNQmLi7O4LN2796NkJCQ8j4kIiIishEWDU13795FUlISkpKSAAApKSlISkrC9evXcffuXUyZMgW//vorrl69iri4OPTt2xcNGzaEWq0GADz99NPo2bMnXn/9dRw7dgyHDx9GZGQkBg4cCG9vbwDA4MGDIZfLMWrUKJw9exZr167F4sWLDS6tTZw4ETt27MCnn36KCxcuYNasWfjtt98QGRlZ4eeEiIiIrJSwoH379gkAhV7h4eHi3r17okePHsLDw0M4ODgIX19f8frrr4u0tDSDfWg0GjFo0CDh6uoqFAqFGDFihMjMzDRoc/LkSfHcc88JR0dHUadOHTF//vxCtaxbt040btxYyOVy0bRpU7Ft27ZSHYtOpxMAhE6nK/2JICIiIosoze+31czTZOs4TxMREZHtqVTzNBERERFZA4YmIiIiIiMwNBEREREZgaGJiIiIyAgMTURERERGYGgiIiIiMgJDExEREZERGJqIiIiIjMDQRERERGQEhiYiIiIiIzA0ERERERmBoYmIiIjICAxNREREREZgaCIiIiIyAkMTERERkRGqWboAIiIiqjgajQY5OTnFbpfL5XB3d6/AimwHQxMREVEVodFoEBMT88R2kZGRDE5FYGgiIiKyoIrs+Sn4OTqdG7Rad6hUGiiVmcW2o0cYmoiIiCzEkj0/iYmtsGVLbwhhB5lMj7CwrQgKOmHWz6hsOBCciIjIQorq+UlJ8YNO51Ziu7LS6dykwAQAQthhy5behT6XDLGniYiIyApUZM+PVusuBaZ8QthBq1UZXKYjQ+xpIiIisrCK7vlRqTSQyfQG62QyPVQqbbl8XmXB0ERERGRhJfX8lAelMhNhYVul4JTfs8VeppLx8hwREZGF5ff8PB6cyrvnJyjoBPz9L0OrVUGl0jIwGYE9TURERBZWUT0/crm80OfWr3+t0OcUbEePsKeJiIjIClREz4+7uzsiIyM5I7iJGJqIiIgspKien6LCkjl7fhiITMfQREREZCHs+bEtDE1EREQWxEBkOzgQnIiIiMgIDE1ERERERmBoIiIiIjICQxMRERGRERiaiIiIiIzA0ERERERkBIYmIiIiIiMwNBEREREZgZNbEhERkVXSaDRWNVs6QxMRERFZHY1Gg5iYmCe2i4yMrLDgxMtzREREZHUK9jDpdG5ISfGDTudWYrvyxJ4mIiIismqJia2wZUtvCGEHmUyPsLCtCAo6UeF1sKeJiIiIrJZO5yYFJgAQwg5btvQu1ONUEdjTRFQCaxuESERU1Wi17lJgyieEHbRaFZTKzAqthaGJqBjWOAiRiKiqUak0kMn0BsFJJtNDpdJWeC28PEdUDGschEhEVNUolZkIC9sKmUwPANKYporuZQLY00RkFGsZhEhEVBUFBZ2Av/9laLUqqFRaiwQmgD1NRE9kTYMQiYiqCrlcbrCsVGaifv1rhQJTwXbliT1NRE9gTYMQiYiqCnd3d0RGRlrVzTgMTURPYE2DEImIqhJru8mGl+eInsCaBiESEZHlsKeJyAjWMgiRiIgsh6GJqBhFDUIsKixV5CBEIiKyHIYmomJY4yBEIiKyHIuOaTp48CDCwsLg7e0NmUyGzZs3G2wXQmDGjBmoXbs2nJ2d0b17d1y6dMmgjVarxZAhQ6BQKFCjRg2MGjUKd+/eNWhz6tQpdOzYEU5OTvDx8cGCBQsK1bJ+/XoEBATAyckJzZs3x/bt281+vGR73N3dUbt27WJfDExERFWHRUNTVlYWWrRogWXLlhW5fcGCBViyZAlWrFiBo0ePwsXFBWq1Gg8ePJDaDBkyBGfPnsXu3buxdetWHDx4EGPGjJG2Z2RkoEePHvD19UVCQgI+/vhjzJo1C//5z3+kNkeOHMGgQYMwatQonDhxAv369UO/fv1w5syZ8jt4IiIisi3CSgAQmzZtkpb1er3w8vISH3/8sbQuPT1dODo6iu+++04IIcS5c+cEAHH8+HGpzc8//yxkMpn466+/hBBCfP755+Kpp54S2dnZUptp06aJJk2aSMuvvvqqCA0NNainXbt2YuzYsUbXr9PpBACh0+mMfg8RERFZVml+v612yoGUlBSkpaWhe/fu0jqlUol27dohPj4eABAfH48aNWqgdevWUpvu3bvDzs4OR48eldp06tTJYLCuWq1GcnIy7ty5I7V5/HPy2+R/TlGys7ORkZFh8CIiIqLKy2pDU1paGgDA09PTYL2np6e0LS0tDbVq1TLYXq1aNahUKoM2Re3j8c8ork3+9qLMmzcPSqVSevn4+JT2EImIiMiGWG1osnbR0dHQ6XTS648//rB0SURERFSOrDY0eXl5AQBu3rxpsP7mzZvSNi8vL9y6dctg+8OHD6HVag3aFLWPxz+juDb524vi6OgIhUJh8CIiIqLKy2pDU/369eHl5YW4uDhpXUZGBo4ePYqQkBAAQEhICNLT05GQkCC12bt3L/R6Pdq1aye1OXjwIHJzc6U2u3fvRpMmTfDUU09JbR7/nPw2+Z9DREREZNHQdPfuXSQlJSEpKQnAo8HfSUlJuH79OmQyGSZNmoT3338fP/30E06fPo3XXnsN3t7e6NevHwDg6aefRs+ePfH666/j2LFjOHz4MCIjIzFw4EB4e3sDAAYPHgy5XI5Ro0bh7NmzWLt2LRYvXoyoqCipjokTJ2LHjh349NNPceHCBcyaNQu//fYbIiMjK/qUEBERkbWqgLv5irVv3z4BoNArPDxcCPFo2oH33ntPeHp6CkdHR9GtWzeRnJxssA+NRiMGDRokXF1dhUKhECNGjBCZmZkGbU6ePCmee+454ejoKOrUqSPmz59fqJZ169aJxo0bC7lcLpo2bSq2bdtWqmPhlANERES2pzS/3zIhhLBgZqs0dDodatSogT/++IPjm4iIiGxERkYGfHx8kJ6eDqVSWWJbPnvOTDIzHz3IlVMPEBER2Z7MzMwnhib2NJmJXq/HjRs34ObmBplMZulyKkx+QmcPG89FPp6Hf/Bc/IPn4h88F/+whnMhhEBmZia8vb1hZ1fyUG/2NJmJnZ0d6tata+kyLIbTLvyD5+IRnod/8Fz8g+fiHzwX/7D0uXhSD1M+q51ygIiIiMiaMDQRERERGYGhicrE0dERM2fOhKOjo6VLsTiei0d4Hv7Bc/EPnot/8Fz8w9bOBQeCExERERmBPU1ERERERmBoIiIiIjICQxMRERGRERiaiIiIiIzA0EQGli1bBj8/Pzg5OaFdu3Y4duxYie0XLVqEJk2awNnZGT4+Ppg8eTIePHggbZ81axZkMpnBKyAgoLwPwyxKcy5yc3MxZ84c+Pv7w8nJCS1atMCOHTvKtE9rYu5zYavfi4MHDyIsLAze3t6QyWTYvHnzE9+zf/9+BAUFwdHREQ0bNkRsbGyhNrb4vSiPc2GL34vSnofU1FQMHjwYjRs3hp2dHSZNmlRku/Xr1yMgIABOTk5o3rw5tm/fbv7izaw8zkVsbGyh74STk1P5HIARGJpIsnbtWkRFRWHmzJlITExEixYtoFarcevWrSLbr1mzBm+//TZmzpyJ8+fPY+XKlVi7di3eeecdg3ZNmzZFamqq9Dp06FBFHE6ZlPZcTJ8+HV988QWWLl2Kc+fOYdy4cXjppZdw4sQJk/dpLcrjXAC2+b3IyspCixYtsGzZMqPap6SkIDQ0FF27dkVSUhImTZqE0aNHY+fOnVIbW/1elMe5AGzve1Ha85CdnQ0PDw9Mnz4dLVq0KLLNkSNHMGjQIIwaNQonTpxAv3790K9fP5w5c8acpZtdeZwL4NFs4Y9/J65du2aukktPEP2/tm3bioiICGk5Ly9PeHt7i3nz5hXZPiIiQjz//PMG66KiokSHDh2k5ZkzZ4oWLVqUS73lqbTnonbt2iImJsZg3csvvyyGDBli8j6tRXmcC1v9XjwOgNi0aVOJbaZOnSqaNm1qsG7AgAFCrVZLy7b6vXicuc6FrX8vjDkPj+vcubOYOHFiofWvvvqqCA0NNVjXrl07MXbs2DJWWHHMdS5WrVollEql2eoqK/Y0EQAgJycHCQkJ6N69u7TOzs4O3bt3R3x8fJHvad++PRISEqRLCb///ju2b9+OF1980aDdpUuX4O3tjQYNGmDIkCG4fv16+R2IGZhyLrKzswt1GTs7O0v/X7Ip+7QG5XEu8tna98IU8fHxBucOANRqtXTubPV7YYonnYt8VeF78STGnquq4u7du/D19YWPjw/69u2Ls2fPWqwWhiYCAPz999/Iy8uDp6enwXpPT0+kpaUV+Z7Bgwdjzpw5eO655+Dg4AB/f3906dLF4PJcu3btEBsbix07dmD58uVISUlBx44dkZmZWa7HUxamnAu1Wo3PPvsMly5dgl6vx+7du7Fx40akpqaavE9rUB7nArDN74Up0tLSijx3GRkZuH//vs1+L0zxpHMBVJ3vxZMUd64q23fCGE2aNMFXX32FH3/8Ef/73/+g1+vRvn17/Pnnnxaph6GJTLZ//358+OGH+Pzzz5GYmIiNGzdi27ZtmDt3rtSmV69e+Ne//oVnnnkGarUa27dvR3p6OtatW2fBys1v8eLFaNSoEQICAiCXyxEZGYkRI0bAzq7q/U/MmHNRVb4XVDr8XlBBISEheO2119CyZUt07twZGzduhIeHB7744guL1FP1/kWnItWsWRP29va4efOmwfqbN2/Cy8uryPe89957GDZsGEaPHo3mzZvjpZdewocffoh58+ZBr9cX+Z4aNWqgcePGuHz5stmPwVxMORceHh7YvHkzsrKycO3aNVy4cAGurq5o0KCByfu0BuVxLopiC98LU3h5eRV57hQKBZydnW32e2GKJ52LolTW78WTFHeuKtt3whQODg5o1aqVxb4TDE0EAJDL5QgODkZcXJy0Tq/XIy4uDiEhIUW+5969e4V6Uuzt7QEAophHGt69exdXrlxB7dq1zVS5+ZlyLvI5OTmhTp06ePjwITZs2IC+ffuWeZ+WVB7noii28L0wRUhIiMG5A4Ddu3dL585WvxemeNK5KEpl/V48iSnnqqrIy8vD6dOnLfedsPRIdLIe33//vXB0dBSxsbHi3LlzYsyYMaJGjRoiLS1NCCHEsGHDxNtvvy21nzlzpnBzcxPfffed+P3338WuXbuEv7+/ePXVV6U2b775pti/f79ISUkRhw8fFt27dxc1a9YUt27dqvDjK43Snotff/1VbNiwQVy5ckUcPHhQPP/886J+/frizp07Ru/TWpXHubDV70VmZqY4ceKEOHHihAAgPvvsM3HixAlx7do1IYQQb7/9thg2bJjU/vfffxfVq1cXU6ZMEefPnxfLli0T9vb2YseOHVIbW/1elMe5sMXvRWnPgxBCah8cHCwGDx4sTpw4Ic6ePSttP3z4sKhWrZr45JNPxPnz58XMmTOFg4ODOH36dIUeW2mVx7mYPXu22Llzp7hy5YpISEgQAwcOFE5OTgZtKhJDExlYunSpqFevnpDL5aJt27bi119/lbZ17txZhIeHS8u5ubli1qxZwt/fXzg5OQkfHx/x73//2+DHccCAAaJ27dpCLpeLOnXqiAEDBojLly9X4BGZrjTnYv/+/eLpp58Wjo6Owt3dXQwbNkz89ddfpdqnNTP3ubDV78W+ffsEgEKv/OMPDw8XnTt3LvSeli1bCrlcLho0aCBWrVpVaL+2+L0oj3Nhi98LU85DUe19fX0N2qxbt040btxYyOVy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x7JlywA86qXbvXs3jhw5gvPnz2Ps2LG4efOmwXv8/Pykc/r3338X2dP15ptvIi4uDnPnzsXFixexevVqxMTE4K233qqQ4yKyZQxNRFRu5syZY/DDLZPJsHbtWixatAjbt29Ht27d0KRJE4wcORI+Pj44dOiQUftVq9VYvXo1evTogaeffhoTJkyAWq3GunXrDD776tWr8Pf3h4eHB4BH45AOHDiAixcvomPHjmjVqhVmzJgBb29vAI8uFcbGxmL9+vUIDAzE/Pnz8cknn5jxjBivWrVqiIyMxIIFC5CVlYXp06cjKCgIarUaXbp0gZeXF/r162fwnrfeegv29vYIDAyEh4dHkeOdgoKCsG7dOnz//fdo1qwZZsyYgTlz5hR5hyARGZIJIYSliyAiIiKyduxpIiIiIjICQxMRWZ3HpwQo+Prll18sXV6pXL9+vcTjKe2UAURkObw8R0RWp6QH99apUwfOzs4VWE3ZPHz4EFevXi12u5+fH6pV443MRLaAoYmIiIjICLw8R0RERGQEhiYiIiIiIzA0ERERERmBoYmIiIjICAxNREREREZgaCIiIiIyAkMTERERkREYmoiIiIiM8H+AoCRd8VLrXwAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_3.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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RERERDJhoUVEREQkExZaRERERDJhoUVEREQkkwbmToCIiIhqv6ysLBQWFpa5XalUwt7evhozqhlYaBEREdETycrKwoIFCx4ZFxERUe+KLd46JCIioidSXk/W48TVJSy0iIiI6Ink5OSYfDYYbJGe7gqDwbbcuPqAtw6JiIjoifz111/S78eOdcXWrX0ghAUUCiNCQrbByyulRFx9wR4tIiIiqhIGg61UZAGAEBbYurVPiZ6t+oSFFhEREVWJ7Gx7qcgqJoQFsrO1ZsrI/FhoERERUZWwsioAIB5aK2BlVf8GwRdjoUVERERV4t49FQDFQ2sVuHdPaY50agQWWkRERPRErKysAABabRYUCqPJNoXCCK022ySuPmGhRURERE9Eo9H8v595CAnZJhVbxU8dajR5JnH1Cad3ICIioieiVP59a9DLKwXu7mnIztZCq82WiqyH4+oLFlpERET0ROzt7REREcF3HZaChRYRERE9sfpYRFUEx2gRERERyYSFFhEREZFMWGgRERERyYSFFhEREZFMWGgRERERyYSFFhEREZFMWGgRERERyYTzaBEREVGNk5WVVScmQGWhRURERDVKVlYWFixYIH02GGyRnW0PrTbL5JU+ERERNb7YYqFFRERENcqDPVnHjnXF1q19IISF9JJqL6+UEnE1ldnHaC1cuBCurq5Qq9Xw9fXFoUOHyo3fsGED2rZtC7VajU6dOmHHjh0m24UQmDx5MnQ6HaytrREYGIjz589L2zMyMjB8+HC4ubnB2toa7u7umDJlisk/rKlTp0KhUJRYbGxspJj4+PgS29VqdRW1ChERERkMtlKRBQBCWGDr1j4wGGzNnFnFmbXQWrduHaKiojBlyhQcO3YMXbp0QVBQEK5fv15q/IEDBzBo0CAMHz4cKSkpCA0NRWhoKE6dOiXFxMbGYt68eVi8eDGSk5NhY2ODoKAg3L17FwBw7tw5GI1GLFmyBKdPn8bcuXOxePFiTJo0STrG2LFjce3aNZOlffv2eP31103ysbOzM4m5ePGiDK1ERERUP2Vn20tFVjEhLJCdrTVTRo9BmJGPj48YNWqU9LmoqEg4OzuLmJiYUuP79+8vgoODTdb5+vqKd955RwghhNFoFE5OTmLmzJnS9pycHKFSqcTatWvLzCM2Nla4ubmVuf348eMCgPj555+ldStXrhQajabc63sU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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_4.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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VqtFQECA2LNnj7QuJCREREVFSZ9v374tJk2aJLy9vYVWqxUeHh7i//7v/2RfqP379xdubm5CrVaL5s2bi/79+4uzZ89W4xndv8q0xc6dO0W7du2ERqMRTk5OYtCgQeKvv/6q1D5rsqpui9p4Xfz8888CQIml+NyjoqJESEhIiW18fX2FWq0WDz/8sFi6dGmJ/dbGa0KJtqiN14QQ99cW5uJbtmwpi1m9erVo3bq1UKvVokOHDmLLli3Vc0IPQIm2iI2Nlf4+XFxcxHPPPScOHjxYfSd1D5UQpdyvISIiIqIHwjFaRERERAphokVERESkECZaRERERAphokVERESkECZaRERERAphokVERESkECZaRERERAphokVERDI7d+6ESqVCTk6OpatCVOsx0SIiixk8eDBUKhWmTZsmK1+/fj1UKpX0WQiBL7/8EkFBQXBwcECjRo3QoUMHjBo1qsIvir158ybGjRsHb29vaLVaNG3aFCEhIdiwYYMU4+npiTlz5lTJuSmtuO1UKhVsbGzg5eWFMWPG4NatW5XaT48ePRAbGysrCw4ORkZGBnQ6XRXWmKh+YqJFRBal1WrxySef4Pr162bXCyHw8ssv46233sJzzz2H7du348SJE/j666+h1WoxderUCh1nxIgRWLduHebNm4dTp05h27ZtePHFF5GVlVWVp1OtevXqhYyMDPz555+YPXs2Fi1ahPj4+Afer1qthqurqyzZJaL7ZLGX/xBRvRcVFSV69+4t2rZtK959912p/IcffhDF/3v67rvvBACxYcMGs/swmUwVOpZOpxOJiYmlrg8JCSnx/rRiv/32m+jWrZvQarXioYceEm+++aa4ceOGtP7f//638Pf3F40aNRIuLi5i4MCBIjMzU1pf/D63bdu2CV9fX6HVakXPnj1FZmam2Lp1q2jbtq2wt7cXAwcOFPn5+RU6n6ioKNG3b19Z2fPPPy86d+4sfb527ZoYMGCAcHd3F7a2tuKRRx4RK1askO3j3nNOS0uT6nv3O0i///570b59e6FWq0XLli3FzJkzK1RPovqOPVpEZFHW1tb4+OOPMW/ePFy6dKnE+u+++w5t2rRBnz59zG5f0V4XV1dXbN26FXl5eWbXr1u3Dg899BAmT56MjIwMZGRkAADOnTuHXr164YUXXsCRI0ewatUq/P7774iJiZG2vX37NqZM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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_5.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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6RPbjR49miGJiIiMgrfYyODkI0e3bzvh1Kk+uH3bqdp2REREhsIRJDKqL74YjvPnuwNQABDo3v08XnnlS2OXRURETRxHkMhobt92eiwcAYAC5893rzCSREREZGgMSGQ0N2+2wx/hqJwCt265GaMcIiIiCQMSGY2b268AhGyrgKvrTWOUQ0REJGFAIqNp2zYD3bufxx8hqWwOUtu2GcYsi4iIiJO0ybheeeVL9Op1BrduucHV9SbDERER1QsMSGRwzZs313rftm1GpcFI3o6IiMhQGJDI4Dw9PTF69GiupE1ERPUWAxIZBcMPERHVZ5ykTURERCTDEaRGKicnB8XFxVXuVyqVsLOzM2BFREREDQcDUiOUk5ODjRs3PrFdeHg4QxIREVEleIutEZKPHKnV1khPd4dabV1tOyIiIirDEaRGLjm5Bw4fHgYhTKBQaBASEgdf3xRjl0VERFSvcQSpEVOrraVwBABCmODw4WEVRpKIiIhIGwNSI5abayeFo3JCmCA319ZIFRERETUMvMVWD+jriTNb2xwoFBqtkKRQaGBrm1urOomIiJoKBiQj0+cTZypVPkJC4irMQVKp8mtbLhERUZPAgGRklT1xlptrB1vbHK0gU9snznx9U+DpeQ25ubawtc1lOCIiIqoBBqR6pK6eOFMqlVrvVar8SoORvB0RERGVYUCqJ6p64szT85rOoz52dnYIDw/nStpERES1xIBUT1T3xFltbosx/BAREdUeH/OvJ8qfOHscnzgjIiIyDgakeqL8ibPykMQnzoiIiIyHt9jqET5xRkREVD8wIBkZnzgjIiKqfxiQjIxPnBEREdU/DEj1AMMPERFR/cJJ2kREREQyDEhEREREMgxIRERERDIMSEREREQyDEhEREREMgxIRERERDIMSEREREQyDEhEREREMgxIRERERDJcSbuWhBAAgLy8PCNXQkRERDVV/nu7/Pd4VRiQaik/v+wLZV1dXY1cCREREekqPz8fKpWqyv0K8aQIRZXSaDS4c+cOrK2toVAoKm2Tl5cHV1dX3Lp1CzY2NgausP5gP/yBfVGG/VCG/fAH9kUZ9kMZffaDEAL5+flwdnaGiUnVM404glRLJiYmaNu2bY3a2tjYNOkf9HLshz+wL8qwH8qwH/7AvijDfiijr36obuSoHCdpExEREckwIBERERHJMCDpkbm5ORYtWgRzc3Njl2JU7Ic/sC/KsB/KsB/+wL4ow34oUx/6gZO0iYiIiGQ4gkREREQkw4BEREREJMOARERERCTDgEREREQkw4D0lDZt2gR3d3dYWFjA398fZ86cqbLtTz/9hBEjRsDd3R0KhQLR0dGGK1TPdOmH7du3o3///mjVqhVatWqFoKCgats3JLr0w4EDB9CzZ0+0bNkSVlZW8PHxwSeffGLAavVLl754XGxsLBQKBUJDQ/VboIHo0g+7du2CQqHQellYWBiwWv3R9efh/v37mD59OpycnGBubo5nnnkGR44cMVC1+qVLXwwcOLDCz4RCocDQoUMNWLF+6PozER0djQ4dOsDS0hKurq5444038PDhQ/0VKKjWYmNjhVKpFB999JH46aefxOTJk0XLli1FVlZWpe3PnDkj3nrrLfHZZ58JR0dH8f777xu2YD3RtR/++te/ik2bNomUlBRx+fJlMX78eKFSqcTt27cNXHnd0rUfTpw4IQ4cOCAuXbokrl27JqKjo4WpqamIj483cOV1T9e+KJeeni5cXFxE//79xfDhww1TrB7p2g87d+4UNjY2IiMjQ3plZmYauOq6p2s/FBUViZ49e4qXXnpJfP/99yI9PV18++23IjU11cCV1z1d+yInJ0fr5+HixYvC1NRU7Ny507CF1zFd+2HPnj3C3Nxc7NmzR6Snp4uvv/5aODk5iTfeeENvNTIgPYXevXuL6dOnS+9LS0uFs7OziIqKeuKx7dq1azQB6Wn6QQghHj16JKytrcXu3bv1VaJBPG0/CCFEjx49xPz58/VRnkHVpi8ePXokAgMDxb/+9S8xbty4RhGQdO2HnTt3CpVKZaDqDEfXftiyZYto3769KC4uNlSJBvO0/068//77wtraWjx48EBfJRqErv0wffp0MWjQIK1tkZGRom/fvnqrkbfYaqm4uBhJSUkICgqStpmYmCAoKAiJiYlGrMyw6qIfCgsLUVJSAltbW32VqXdP2w9CCCQkJCAtLQ3PPfecPkvVu9r2xT//+U+0adMGEydONESZelfbfnjw4AHatWsHV1dXDB8+HD/99JMhytWb2vTDoUOHEBAQgOnTp8PBwQFdunTBe++9h9LSUkOVrRd18e/ljh07MHLkSFhZWemrTL2rTT8EBgYiKSlJug33yy+/4MiRI3jppZf0Vie/rLaW7t27h9LSUjg4OGhtd3BwwJUrV4xUleHVRT+88847cHZ21vo/S0NT235Qq9VwcXFBUVERTE1NsXnzZrzwwgv6LlevatMX33//PXbs2IHU1FQDVGgYtemHDh064KOPPkK3bt2gVquxZs0aBAYG4qeffqrxl2PXN7Xph19++QXHjx/H66+/jiNHjuDatWv4xz/+gZKSEixatMgQZevF0/57eebMGVy8eBE7duzQV4kGUZt++Otf/4p79+6hX79+EELg0aNHmDp1Kt5991291cmAREa1YsUKxMbG4ttvv200k1F1YW1tjdTUVDx48AAJCQmIjIxE+/btMXDgQGOXZjD5+fkYM2YMtm/fDnt7e2OXY1QBAQEICAiQ3gcGBqJTp0748MMPsXTpUiNWZlgajQZt2rTBtm3bYGpqCj8/P/zvf//D6tWrG3RAelo7duxA165d0bt3b2OXYnDffvst3nvvPWzevBn+/v64du0aZs2ahaVLl2LBggV6+UwGpFqyt7eHqakpsrKytLZnZWXB0dHRSFUZ3tP0w5o1a7BixQocO3YM3bp102eZelfbfjAxMYGXlxcAwMfHB5cvX0ZUVFSDDki69sX169dx48YNhISESNs0Gg0AoFmzZkhLS4Onp6d+i9aDuvg3wszMDD169MC1a9f0UaJB1KYfnJycYGZmBlNTU2lbp06dkJmZieLiYiiVSr3WrC9P8zNRUFCA2NhY/POf/9RniQZRm35YsGABxowZg0mTJgEAunbtioKCAkyZMgXz5s2DiUndzxjiHKRaUiqV8PPzQ0JCgrRNo9EgISFB678AG7va9sOqVauwdOlSxMfHo2fPnoYoVa/q6udBo9GgqKhIHyUajK590bFjR1y4cAGpqanS6+WXX8af/vQnpKamwtXV1ZDl15m6+JkoLS3FhQsX4OTkpK8y9a42/dC3b19cu3ZNCsoA8PPPP8PJyanBhiPg6X4m9u3bh6KiIowePVrfZepdbfqhsLCwQggqD9BCX18pq7fp301AbGysMDc3F7t27RKXLl0SU6ZMES1btpQeyx0zZoyYM2eO1L6oqEikpKSIlJQU4eTkJN566y2RkpIirl69aqxLqBO69sOKFSuEUqkUn3/+udbjq/n5+ca6hDqhaz+899574ptvvhHXr18Xly5dEmvWrBHNmjUT27dvN9Yl1Bld+0KusTzFpms/LFmyRHz99dfi+vXrIikpSYwcOVJYWFiIn376yViXUCd07YebN28Ka2trER4eLtLS0kRcXJxo06aNWLZsmbEuoc7U9v8b/fr1E2FhYYYuV2907YdFixYJa2tr8dlnn4lffvlFfPPNN8LT01O89tprequRAekpbdiwQbi5uQmlUil69+4tfvjhB2nfgAEDxLhx46T36enpAkCF14ABAwxfeB3TpR/atWtXaT8sWrTI8IXXMV36Yd68ecLLy0tYWFiIVq1aiYCAABEbG2uEqvVDl76QaywBSQjd+iEiIkJq6+DgIF566SWRnJxshKrrnq4/D6dOnRL+/v7C3NxctG/fXixfvlw8evTIwFXrh659ceXKFQFAfPPNNwauVL906YeSkhKxePFi4enpKSwsLISrq6v4xz/+IX777Te91acQQl9jU0REREQNE+cgEREREckwIBERERHJMCARERERyTAgEREREckwIBERERHJMCARERERyTAgEREREckwIBER1XPjx49HaGioscsgalIYkIio1saPHw+FQiG97OzsMHjwYPz444/GLq1OPH5t5a9+/frp7fNu3LgBhUKB1NRUre0ffPABdu3apbfPJaKKGJCI6KkMHjwYGRkZyMjIQEJCApo1a4Zhw4YZu6w6s3PnTun6MjIycOjQoUrblZSU6K0GlUqFli1b6u38RFQRAxIRPRVzc3M4OjrC0dERPj4+mDNnDm7duoXs7GwMGjQI4eHhWu2zs7OhVCqlb/J2d3fH0qVLMWrUKFhZWcHFxQWbNm3SOmbdunXo2rUrrKys4Orqin/84x948OCBtP/XX39FSEgIWrVqBSsrKzz77LM4cuQIAOC3337D66+/jtatW8PS0hLe3t7YuXNnja+vZcuW0vU5OjrC1tZWGunZu3cvBgwYAAsLC+zZswc5OTkYNWoUXFxc0Lx5c3Tt2hWfffaZ1vk0Gg1WrVoFLy8vmJubw83NDcuXLwcAeHh4AAB69OgBhUKBgQMHAqh4i62oqAgzZ85EmzZtYGFhgX79+uHs2bPS/m+//RYKhQIJCQno2bMnmjdvjsDAQKSlpdX4uomaOgYkIqozDx48wKeffgovLy/Y2dlh0qRJiImJQVFRkdTm008/hYuLCwYNGiRtW716Nbp3746UlBTMmTMHs2bNwtGjR6X9JiYmWL9+PX766Sfs3r0bx48fx+zZs6X906dP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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_6.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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JCkhIcFe3rZtWz3xxBMaO3asXnzxRZnNZlksFplMpmJrVN111132v7dr107z5s3T5ZdfruPHj6tx48bVch4AgJrJzy9bJpPNISSZTDb5+eVUe1sYQUK5GYZhv2T2ySef6B//+IdatmwpHx8f3XnnncrOztaJEyfKPMaWLVsUGxur1q1by8fHR1FRUZLO3rEIAKjfLJY8xcaulclkkyT7HKTqvrwmMYKECti+fbuCg4O1b98+DRo0SPfdd5+efPJJ+fn5acOGDRo9erQKCgpKXUE8Pz9fMTExiomJ0VtvvaWmTZtq//79iomJqfZLhgCAmiksLF0hIbuVk+MnP78cl4QjiYCEcvr000/1008/6V//+pe2bNkim82m5557zn7b/zvvvONQ32w2q7Cw0KFsx44dys7O1uzZs+3Psfv++++r5wQAADVW0WOjilgseSUGI+d6VYmAhGJOnTqlzMxMh9v8Z82apUGDBmn48OHatm2bTp8+rfnz5ys2NlZff/21Fi1a5HCMtm3b6vjx40pNTVW3bt3UsGFDtW7dWmazWfPnz9fYsWO1bds2zZw500VnCQCoKfz9/RUfH1+jVtJmDhKKSUlJUfPmzdW2bVsNGDBAn332mebNm6f3339f7u7u6tatm+bOnaunn35aXbp00VtvvWV/HEyRPn36aOzYsRoyZIiaNm2qZ555Rk2bNtWSJUu0YsUKderUSbNnz9acOXNcdJYAgJrE399fzZs3L/VVneFIYiXtC1ZVK2nXhHWQahNW0gYAVAQraddSNXGYEQCA+oaAVAMRfgAAcC3mIAEAADghIAEAADghIAEAADhhDhJwjuzsbCbIAwAISEARllgAABThEhvwP84jR1arjzIy2spq9SmzHgCg7mEECShBWloPrVkzSIbhZn+adFhYuqubBQCoJowgoVp9/vnnMplMOnbsWLn3adu2rZKSkqqsTc6sVh97OJIkw3DTmjWDio0kAQDqLgISHIwcOVImk0ljx44ttu3++++XyWTSyJEjq79h1Sgnx98ejooYhptycvxc1CIAQHUjIKGYoKAgLVu2TH/++ae97OTJk0pOTlbr1q1d2LLq4eeXLZPJ5lBmMtnk55fjohYBAKobAQnFhIWFKSgoSKtWrbKXrVq1Sq1bt1aPHj3sZadOndIDDzygZs2aycvLS3379tV3333ncKx169bp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kqThw4erZcuWmjVrliRp/PjxioqK0nPPPaeBAwdq2bJl+v777/XKK6/Yj5mTk6P9+/fr4MGDks6GH+nsyFFgYKAsFotGjx6txMRE+fn5ydfXV+PGjVNkZGS572ADAOBCZGdn2+/cLkt8fLz8/f0r7T0LCgpK3W42myvtveoSlwakIUOG6MiRI5o6daoyMzPVvXt3paSk2Cdi79+/X25ufw1y9enTR8nJyZo8ebImTpyo0NBQrV69Wl26dLHX+eCDD+wBS5KGDh0qSZo2bZqmT58uSXr++efl5uamwYMH69SpU4qJidGLL75YDWcMAKjPnIOK1eqjnBx/+flly2LJK7XehXIOZKW9X2UGsrrCpesg1WasgwQAqKhDhw7Zr3qkpfXQmjWDZBhuMplsio1dq7CwdEnSmDFj1Lx581r3frVBjV8HCQCA+spq9bGHFUkyDDetWTNIVqtPnXi/uoCABABANcvJ8beHlSKG4aacHL868X51AQEJAIBq5ueXLZPJ5lBmMtnk55dTJ96vLiAgAQBQzSyWPMXGrrWHlqI5QedOnK7N71cXuPQuNgAA6quwsHSFhOxWTo6f/PxyqjysVPf71XYEJAAAqonZbHb42WLJKzGoONerLKW9H4ojIAEAUE38/f0VHx9fbQs3ljdoVVUgq81YB+kCsQ4SAKA2YCVtR+X9/mYECQCAOqw+hZ/KxF1sAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATghIAAAATlwekBYuXKi2bdvKy8tLERER+vbbb8usv2LFCnXs2FFeXl7q2rWr1q1b57DdMAxNnTpVzZs3l7e3t6Kjo7Vr1y6HOr/88otuvPFGNWnSRL6+vurbt68+++yzSj83AABQO7k0IC1fvlyJiYmaNm2a0tLS1K1bN8XExOjw4cMl1t+4caOG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H3zwwXkv21WVW265Re7u7lq4cKGks6Nv69ev18aNG7V9+3bde++9ysrKctinbdu29j49evRoiSNYDz74oFJTUzVz5kz98ssvWrp0qRYsWKCHHnqoWs4LqM0ISAAqxeOPP+7wJW0ymbR8+XIlJSVp3bp1+sc//qEOHTrorrvuUlBQkDZs2FCu48bExGjp0qW69tprdemll2rcuHGKiYnRO++84/De+/btU0hIiJo2bSrp7LyhL774Qr/88ov69eunHj16aOrUqWrRooWks5f7lixZohUrVqhTp06aPXu25syZU4k9Un4NGjRQfHy8nnnmGeXn52vy5MkKCwtTTEyM+vfvr8DAQMXFxTns89BDD8nd3V2dOnVS06ZNS5yfFBYWpnfeeUfLli1Tly5dNHXqVD3++OMl3qkHwJHJMAzD1Y0AAACoSRhBAgAAcEJAAuBS596G7/z66quvXN28Ctm/f3+Z51PR2/QBuA6X2AC4VFkPrW3ZsqW8vb2rsTV/z5kzZ7Rv375St7dt21YNGnDzMFAbEJAAAACccIkNAADACQEJAADACQEJAADACQEJAADACQEJAADACQEJAADACQEJAADACQEJAADAyf8HlJRSodQI64YAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_7.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAHHCAYAAACfqw0dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABPnklEQVR4nO3df3zN9f//8fvZ7Gwzc9hkPxhmSEmYH4sUZTVi2vvdu1CJ3krJKlFKhXpTRCS/q3d+9EO8Rb0jb/lRfd/vEPKj8jPT/Ir5seWMyTbb8/uHz06O/WDHzs42t+vlci6c1+t5Xq/H69lq956v5+t5LMYYIwAAABSLl6cLAAAAKI8IUQAAAC4gRAEAALiAEAUAAOACQhQAAIALCFEAAAAuIEQBAAC4gBAFAADgAkIUAACACwhRAFDBzZkzRxaLRfv27fN0KUCFQogCcMU2btyoxMRENWnSRAEBAapTp47uu+8+/fLLL/naduzYURaLRRaLRV5eXqpataquvfZa9e7dWytXrizWeZcsWaIOHTqoZs2aqly5surXr6/77rtPy5cvL6lLy+f111/X559/nm/72rVr9corr+jkyZNuO/fFXnnlFUdfWiwWVa5cWddff71efvllpaenl8g55s2bp0mTJpXIsYCKhhAF4Iq98cYbWrRokTp16qS3335b/fv313//+19FR0dr27Zt+drXrl1bH374oT744AONHz9e3bt319q1a3XnnXeqR48eys7OvuQ533zzTXXv3l0Wi0XDhg3TW2+9pXvuuUd79uzR/Pnz3XGZkooOUa+++mqphqg8M2bM0IcffqiJEyeqcePGeu2119S5c2eVxFejEqKAwlXydAEAyr/Bgwdr3rx5slqtjm09evRQ06ZNNXbsWH300UdO7W02mx588EGnbWPHjtVTTz2l6dOnq169enrjjTcKPd+5c+c0atQo3XHHHVqxYkW+/ceOHbvCKyo7zpw5o8qVKxfZ5m9/+5tq1KghSXr88cd1zz33aPHixfr+++/Vtm3b0igTuCoxEgXgirVr184pQElSw4YN1aRJE+3cufOyjuHt7a3Jkyfr+uuv19SpU2W32wtte+LECaWnp+vmm28ucH/NmjWd3p89e1avvPKKGjVqJD8/P4WFhemvf/2r9u7d62jz5ptvql27dgoODpa/v79atmypTz/91Ok4FotFGRkZmjt3ruMWWt++ffXKK6/oueeekyRFRkY69l04B+mjjz5Sy5Yt5e/vr6CgIPXs2VMHDx50On7Hjh11ww03aNOmTbr11ltVuXJlvfjii5fVfxe6/fbbJUnJyclFtps+fbqaNGkiX19fhYeHa+DAgU4jaR07dtSXX36p/fv3O66pXr16xa4HqKgYiQLgFsYYHT16VE2aNLnsz3h7e6tXr14aPny4vvvuO3Xt2rXAdjVr1pS/v7+WLFmiJ598UkFBQYUeMycnR926ddPq1avVs2dPPf300zp16pRWrlypbdu2KSoqSpL09ttvq3v37nrggQeUlZWl+fPn695779XSpUsddXz44Yd65JFH1KZNG/Xv31+SFBUVpYCAAP3yyy/65JNP9NZbbzlGha655hpJ0muvvabhw4frvvvu0yOPPKLjx49rypQpuvXWW7VlyxZVq1bNUW9qaqq6dOminj176sEHH1RISMhl91+evHAYHBxcaJtXXnlFr776qmJjYzVgwADt3r1bM2bM0MaNG7VmzRr5+PjopZdekt1u16FDh/TWW29JkqpUqVLseoAKywCAG3z44YdGknn//fedtnfo0ME0adKk0M999tlnRpJ5++23izz+iBEjjCQTEBBgunTpYl577TWzadOmfO1mzZplJJmJEyfm25ebm+v4+5kzZ5z2ZWVlmRtuuMHcfvvtTtsDAgJMnz598h1r/PjxRpJJTk522r5v3z7j7e1tXnvtNaftP//8s6lUqZLT9g4dOhhJZubMmYVe94VGjhxpJJndu3eb48ePm+TkZPPOO+8YX19fExISYjIyMowxxsyePduptmPHjhmr1WruvPNOk5OT4zje1KlTjSQza9Ysx7auXbuaunXrXlY9wNWG23kAStyuXbs0cOBAtW3bVn369CnWZ/NGOk6dOlVku1dffVXz5s1TixYt9NVXX+mll15Sy5YtFR0d7XQLcdGiRapRo4aefPLJfMewWCyOv/v7+zv+/vvvv8tut+uWW27R5s2bi1X/xRYvXqzc3Fzdd999OnHihOMVGhqqhg0b6ptvvnFq7+vrq4cffrhY57j22mt1zTXXKDIyUo899pgaNGigL7/8stC5VKtWrVJWVpYGDRokL68/fw08+uijqlq1qr788sviXyhwFeJ2HoASlZKSoq5du8pms+nTTz+Vt7d3sT5/+vRpSVJgYOAl2/bq1Uu9evVSenq61q9frzlz5mjevHmKj4/Xtm3b5Ofnp7179+raa69VpUpF/+du6dKlGj16tLZu3arMzEzH9guDliv27NkjY4waNmxY4H4fHx+n97Vq1co3v+xSFi1apKpVq8rHx0e1a9d23KIszP79+yWdD18Xslqtql+/vmM/gKIRogCUGLvdri5duujkyZP63//+p/Dw8GIfI29JhAYNGlz2Z6pWrao77rhDd9xxh3x8fDR37lytX79eHTp0uKzP/+9//1P37t116623avr06QoLC5OPj49mz56tefPmFfsaLpSbmyuLxaL//Oc/BQbKi+cYXTgidrluvfVWxzwsAKWHEAWgRJw9e1bx8fH65ZdftGrVKl1//fXFPkZOTo7mzZunypUrq3379i7V0apVK82dO1dHjhyRdH7i9/r165WdnZ1v1CfPokWL5Ofnp6+++kq+vr6O7bNnz87XtrCRqcK2R0VFyRijyMhINWrUqLiX4xZ169aVJO3evVv169d3bM/KylJycrJiY2Md2650JA6oyJgTBeCK5eTkqEePHlq3bp0WLlzo0tpEOTk5euqpp7Rz50499dRTqlq1aqFtz5w5o3Xr1hW47z//+Y+kP29V3XPPPTpx4oSmTp2ar635v8Uovb29ZbFYlJOT49i3b9++AhfVDAgIKHBBzYCAAEnKt++vf/2rvL299eqrr+Zb/NIYo9TU1IIv0o1iY2NltVo1efJkp5ref/992e12p6ciAwICilxuAriaMRIF4IoNGTJEX3zxheLj45WWlpZvcc2LF9a02+2ONmfOnFFSUpIWL16svXv3qmfPnho1alSR5ztz5ozatWunm266SZ07d1ZERIROnjypzz//XP/73/+UkJCgFi1aSJIeeughffDBBxo8eLA2bNigW265RRkZGVq1apWeeOIJ3X333eratasmTpyozp076/7779exY8c0bdo0NWjQQD/99JPTuVu2bKlVq1Zp4sSJCg8PV2RkpGJiYtSyZUtJ0ksvvaSePXvKx8dH8fHxioqK0ujRozVs2DDt27dPCQkJCgwMVHJysj777DP1799fzz777BX1f3Fdc801GjZsmF599VV17txZ3bt31+7duzV9+nS1bt3a6Z9Xy5YttWDBAg0ePFitW7dWlSpVFB8fX6r1AmWWJx8NBFAx5D2aX9irqLZVqlQxDRs2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9YB0OQhR5VjDhpKXl3OQ8vaWGjQonfN37txZWVlZslgsiouLc9oXFRUlq9WqNWvWqG7dupKk7Oxsbdy4UYMGDZIkXXfddfriiy+cPvf99987vY+OjtaOHTvUoLQuCgCAy8ScqHKsdm3p3XfPByfp/J/vvFM6o1Dnz+etnTt3aseOHfLOK+L/BAQEaMCAAXruuee0fPly7dixQ48++qjOnDmjfv36SZIef/xx7dmzR88995x2796tefPmac6cOU7Hef7557V27VolJiZq69at2rNnj/79738zsRwA4HGMRJVz/fqdnwOVlHR+BKq0AlSeor6YcezYscrNzVXv3r116tQptWrVSl999ZWqV68u6fztuEWLFumZZ57RlClT1KZNG73++uv6+9//7jjGjTfeqP/3//6fXnrpJd1yyy0yxigqKko9evRw+7UBAFAUizHGeLqIiqqwb4E+e/askpOTFRkZKT8/Pw9WeHWgvwEAxVHY7++LcTsPAADABYQoAAAAFxCiAAAAXECIAgAAcAEhyoOY01866GcAgDsQojzAx8dHknTmzBkPV3J1yOvnvH4HAKAksE6UB3h7e6tatWo6duyYJKly5cqyWCwerqriMcbozJkzOnbsmKpVq5ZvQVAAAK4EIcpDQkNDJckRpOA+1apVc/Q3AAAlhRDlIRaLRWFhYapZs6ays7M9XU6F5ePjwwgUAMAtCFEe5u3tzS95AADKISaWAwAAuIAQBQAA4AJCFAAAgAsIUQAAAC4gRAEAALiAEAUAAOACQhQAAIALCFEAAAAuIEQBAAC4gBAFAADgAkIUAACACwhRAAAALiBEAQAAuIAQBQAA4AJCFAAAgAsIUQAAAC6o5OkCAABA2ZaamqqsrKxC91utVgUHB5diRWUDIQoAABQqNTVVU6dOvWS7xMTEqy5IcTsPAAAU6tixY07vDx0K09q1N+nQobAi210NGIkCAACFOnfunOPvn312t378sZkkiySjZs1+1F/+8u987a4WjEQBAIBLOnQo7IIAJUkW/fhjs3wjUlcTQhQAALikAwfq6s8AlceigwfreKKcMoEQBQAALqlOnf2SzEVbjSIiDniinDKBEAUAAC6pdu0jatbsR/0ZpM7Piapd+4gny/IoJpYDAIDL8pe//FutW2/QwYN1FBFx4KoOUBIhCgAAFMHHx8fpfe3aRwoMTxe3uxpwOw8AABTqmmuuKdF2FQkjUQAAoFDBwcFKTEzka18KQIgCAABFuhoD0uXgdh4AAIALCFEAAAAuIEQBAAC4gBAFAADgAkIUAACACwhRAAAALigTIWratGmqV6+e/Pz8FBMTow0bNhTZfuHChWrcuLH8/PzUtGlTLVu2zGm/MUYjRoxQWFiY/P39FRsbqz179jj279u3T/369VNkZKT8/f0VFRWlkSNH5lsD46efftItt9wiPz8/RUREaNy4cSV30QAAoFzzeIhasGCBBg8erJEjR2rz5s1q1qyZ4uLidOzYsQLbr127Vr169VK/fv20ZcsWJSQkKCEhQdu2bXO0GTdunCZPnqyZM2dq/fr1CggIUFxcnM6ePStJ2rVrl3Jzc/XOO+9o+/bteuuttzRz5ky9+OKLjmOkp6frzjvvVN26dbVp0yaNHz9er7zyit599133dggAACgfjIe1adPGDBw40PE+JyfHhIeHmzFjxhTY/r777jNdu3Z12hYTE2Mee+wxY4wxubm5JjQ01IwfP96x/+TJk8bX19d88sknhdYxbtw4ExkZ6Xg/ffp0U716dZOZmenY9vzzz5trr732sq/NbrcbScZut1/2ZwAAgGdd7u9vj45EZWVladOmTYqNjXVs8/LyUmxsrNatW1fgZ9atW+fUXpLi4uIc7ZOTk5WSkuLUxmazKSYmptBjSpLdbldQUJDTeW699VZZrVan8+zevVu///57gcfIzMxUenq60wsAAFRMHg1RJ06cUE5OjkJCQpy2h4SEKCUlpcDPpKSkFNk+78/iHDMpKUlTpkzRY489dsnzXHiOi40ZM0Y2m83xioiIKLAdAAAo/zw+J8rTfvvtN3Xu3Fn33nuvHn300Ss61rBhw2S32x2vgwcPllCVAACgrPFoiKpRo4a8vb119OhRp+1Hjx5VaGhogZ8JDQ0tsn3en5dzzMOHD+u2225Tu3bt8k0YL+w8F57jYr6+vqpatarTCwAAVEweDVFWq1UtW7bU6tWrHdtyc3O1evVqtW3btsDPtG3b1qm9JK1cudLRPjIyUqGhoU5t0tPTtX79eqdj/vbbb+rYsaNatmyp2bNny8vLuSvatm2r//73v8rOznY6z7XXXqvq1au7ftEAAKBiKKWJ7oWaP3++8fX1NXPmzDE7duww/fv3N9WqVTMpKSnGGGN69+5tXnjhBUf7NWvWmEqVKpk333zT7Ny504wcOdL4+PiYn3/+2dFm7Nixplq1aubf//63+emnn8zdd99tIiMjzR9//GGMMebQoUOmQYMGplOnTubQoUPmyJEjjleekydPmpCQENO7d2+zbds2M3/+fFO5cmXzzjvvXPa18XQeAADlz+X+/q7k6RDXo0cPHT9+XCNGjFBKSoqaN2+u5cuXOyZxHzhwwGmUqF27dpo3b55efvllvfjii2rYsKE+//xz3XDDDY42Q4cOVUZGhvr376+TJ0+qffv2Wr58ufz8/CSdH1FKSkpSUlKSateu7VSPMUbS+Sf6VqxYoYEDB6ply5aqUaOGRowYof79+7u7SwAAQDlgMXmpASUuPT1dNptNdrud+VEAAJQTl/v7+6p/Og8AAMAVhCgAAAAXEKIAAABcQIgCAABwASEKAADABYQoAAAAFxCiAAAAXECIAgAAcAEhCgAAwAWEKAAAABcQogAAAFxAiAIAAHABIQoAAMAFhCgAAAAXEKIAAABcQIgCAABwASEKAADABYQoAAAAFxCiAAAAXECIAgAAcAEhCgAAwAWEKAAAABcQogAAAFxAiAIAAHABIQoAAMAFhCgAAAAXEKIAAABcQIgCAABwASEKAADABYQoAAAAFxCiAAAAXECIAgAAcAEhCgAAwAWEKAAAABcQogAAAFxAiAIAAHABIQoAAMAFhCgAAAAXEKIAAABcQIgCAABwASEKAADABYQoAAAAFxCiAAAAXECIAgAAcAEhCgAAwAWEKAAAABcQogAAAFxAiAIAAHABIQoAAMAFhCgAAAAXEKIAAABcQIgCAABwASEKAADABYQoAAAAFxCiAAAAXECIAgAAcAEhCgAAwAWEKAAAABd4PERNmzZN9erVk5+fn2JiYrRhw4Yi2y9cuFCNGzeWn5+fmjZtqmXLljntN8ZoxIgRCgsLk7+/v2JjY7Vnzx6nNq+99pratWunypUrq1q1agWex2Kx5HvNnz//iq4VAABUHB4NUQsWLNDgwYM1cuRIbd68Wc2aNVNcXJyOHTtWYPu1a9eqV69e6tevn7Zs2aKEhAQlJCRo27Ztjjbjxo3T5MmTNXPmTK1fv14BAQGKi4vT2bNnHW2ysrJ07733asCAAUXWN3v2bB05csTxSkhIKJHrBgAA5Z/FGGM8dfKYmBi1bt1aU6dOlSTl5uYqIiJCTz75pF544YV87Xv06KGMjAwtXbrUse2mm25S8+bNNXPmTBljFB4eriFDhujZZ5+VJNntdoWEhGjOnDnq2bOn0/HmzJmjQYMG6eTJk/nOZbFY9Nlnn11RcEpPT5fNZpPdblfVqlVdPg4AACg9l/v722MjUVlZWdq0aZNiY2P/LMbLS7GxsVq3bl2Bn1m3bp1Te0mKi4tztE9OTlZKSopTG5vNppiYmEKPWZSBAweqRo0aatOmjWbNmqVL5c3MzEylp6c7vQAAQMVUyVMnPnHihHJychQSEuK0PSQkRLt27SrwMykpKQW2T0lJcezP21ZYm8v1j3/8Q7fffrsqV66sFStW6IknntDp06f11FNPFfqZMWPG6NVXXy3WeQAAQPnksRBV1g0fPtzx9xYtWigjI0Pjx48vMkQNGzZMgwcPdrxPT09XRESEW+sEAACe4bHbeTVq1JC3t7eOHj3qtP3o0aMKDQ0t8DOhoaFFts/7szjHvFwxMTE6dOiQMjMzC23j6+urqlWrOr0AAEDF5LEQZbVa1bJlS61evdqxLTc3V6tXr1bbtm0L/Ezbtm2d2kvSypUrHe0jIyMVGhrq1CY9PV3r168v9JiXa+vWrapevbp8fX2v6DgAAKBi8OjtvMGDB6tPnz5q1aqV2rRpo0mTJikjI0MPP/ywJOmhhx5SrVq1NGbMGEnS008/rQ4dOmjChAnq2rWr5s+frx9++EHvvvuupPNP1A0aNEijR49Ww4YNFRkZqeHDhys8PNzpKbsDBw4oLS1NBw4cUE5OjrZu3SpJatCggapUqaIlS5bo6NGjuummm+Tn56eVK1fq9ddfdzzxBwAAIFNMS5YsMcOHDzffffedMcaY1atXmy5dupi4uDjzzjvvFPdwZsqUKaZOnTrGarWaNm3amO+//96xr0OHDqZPnz5O7f/1r3+ZRo0aGavVapo0aWK+/PJLp/25ublm+PDhJiQkxPj6+ppOnTqZ3bt3O7Xp06ePkZTv9c033xhjjPnPf/5jmjdvbqpUqWICAgJMs2bNzMyZM01OTk6xrs1utxtJxm63F+tzAADAcy7393ex1ol65513lJiYqGbNmmnPnj2aNm2annjiCfXo0UPe3t764IMPNGbMGD399NNuCXzlDetEAUDZkJqaqqysrEL3W61WBQcHl2JFKMsu9/d3sW7nTZ48WdOnT9ejjz6qb775RnfddZcmTJigJ554QtL5hS/HjRtHiAIAlBmpqamORZ2LkpiYSJBCsRRrYnlycrLi4uIkSbfddptycnJ06623OvZ37NhR+/fvL9kKAQC4AhePQNntgUpOrie7PbDIdsClFGskKjg4WPv371edOnV0+PBhnTt3TgcOHNANN9wgSdq/f7+CgoLcUigAAFdq8+YWWrKkm4zxksWSq/j4pYqO3uLpslBOFStE3X333erXr5/69OmjL774Qg899JCGDBkiLy8vWSwWPffcc7rzzjvdVSsAAC6z2wMdAUqSjPHSkiXdFBWVJJvtlIerQ3lUrBD1xhtvKCsrS/Pnz1e7du00ZcoUTZ48WXfffbeys7PVoUMHx3IEAACUJWlpwY4AlccYL6WlBRGi4JJihaiAgADHmkx5nn32WSUmJio7O1uBgYGFfBIAAM8KCkqVxZLrFKQsllwFBaV5sCqUZyWyYrmfnx8BCgBQptlspxQfv1QWS64kOeZEMQoFVxVrJOrCL9ctysSJE10qBgAAd4qO3qKoqCSlpQUpKCiNAIUrUqwQtWWL8xMM3333nVq2bCl/f3/HNovFUjKVAQBQAqxWq9N7m+1UgeHp4nbApRRrxfKLBQYG6scff1T9+vVLsqYKgxXLAaBsYMVyFIdbViwHAKA8IiDBHUpkYjkAAMDVhhAFAADggmLdzvvpp5+c3htjtGvXLp0+fdpp+4033njllQEAAJRhxZpYnvf1LgV9JG+7xWJRTk5OiRZZXjGxHACA8sctE8uTk5OvuDAAAICKoFghqm7duu6qAwAAoFwp9sRyY4ySk5N17tw5SVJWVpYWLFigDz74QCdOnCjxAgEAAMqiYo1E7d69W3FxcTp48KDq16+vFStW6N5779WuXbtkjFHlypW1du1aNWzY0F31AgAAlAnFGol6/vnn1axZM23dulXdunVT165dVbt2bf3+++9KS0tT27Zt9Y9//MNdtQIAAJQZxXo6r2bNmlqxYoWaN2+ujIwMBQYG6r///a/at28vSVq7dq169eql/fv3u63g8oSn8wAAKH/c8nTe6dOnFRQUJEkKCAhQQECAwsLCHPsjIiJ09OhRF0sGAIDvuUP5UawQFR4ergMHDqhOnTqSpHHjxqlmzZqO/cePH1f16tVLtkIAwFUjNTVVU6dOvWS7xMREghQ8rlhzomJjY7Vr1y7H+wEDBigwMNDxfsWKFYqOji656gAAV5WLR6Ds9kAlJ9eT3R5YZDvAE4o1EjVz5swi9/fs2VN9+vS5ooIAAJCkzZtbaMmSbjLGSxZLruLjlyo6eounywIcijUS9fXXX+v6669Xenp6vn12u11du3ZVUlJSiRUHALg62e2BjgAlScZ4acmSbvlGpABPKlaImjRpkh599NECZ6rbbDY99thjmjhxYokVBwC4OqWlBTsCVB5jvJSWFuShioD8inU778cff9Qbb7xR6P4777xTb7755hUXBQCoGFx90i4oKFUWS65TkLJYchUUlOaWOgFXFCtEHT16VD4+PoUfrFIlHT9+/IqLAgCUf1fypJ3Ndkrx8UvzzYmy2U65q1yg2IoVomrVqqVt27apQYMGBe7/6aefnNaNAgBcvQp60i4tLVhBQalOYaiwkaro6C2KikpSWlqQgoLSCFAoc4oVou666y4NHz5cnTt3lp+fn9O+P/74QyNHjlS3bt1KtEAAQPl3uU/aWa1Wp/c226kCw9PF7QBPKFaIevnll7V48WI1atRIiYmJuvbaayVJu3bt0rRp05STk6OXXnrJLYUCAMqnwp60i4pKyheQgoODlZiYyIrlKBeKFaJCQkK0du1aDRgwQMOGDVPe1+5ZLBbFxcVp2rRpCgkJcUuhAIDyqagn7QoaZSIgobwoVoiSpLp162rZsmX6/ffflZSUJGOMGjZsyNe9AAAKxJN2qKiKtU7UhapXr67WrVurTZs2BCgAQKHynrSzWHIliSftUGEUeyQKAIDi4kk7VESEKACAW/CkHSo6QhQA4IoUtSr5fffdJ4vFIpvNVuB+nrRDeUaIAgC47EpWJQfKO5cnlgMAUNCq5MnJ9WS3BxbZDqgIGIkCAJSIy12VHKgoGIkCAFyxwlYlv3hECqhICFEAgCtW1KrkQEVFiAIAXLG8VckvxKrkqOgIUQCAK8aq5LgaMbEcAFAiWJUcVxtCFADAZaxKjqsZIQoA4LLg4GAlJiYWuQ4Uq5KjoiJEAQCuCAEJVysmlgMAALiAEAUAAOACQhQAAIALCFEAAAAuIEQBAAC4gBAFAADgAkIUAACACwhRAAAALiBEAQAAuMDjIWratGmqV6+e/Pz8FBMTow0bNhTZfuHChWrcuLH8/PzUtGlTLVu2zGm/MUYjRoxQWFiY/P39FRsbqz179ji1ee2119SuXTtVrlxZ1apVK/A8Bw4cUNeuXVW5cmXVrFlTzz33nM6dO3dF1woAACoOj4aoBQsWaPDgwRo5cqQ2b96sZs2aKS4uTseOHSuw/dq1a9WrVy/169dPW7ZsUUJCghISErRt2zZHm3Hjxmny5MmaOXOm1q9fr4CAAMXFxens2bOONllZWbr33ns1YMCAAs+Tk5Ojrl27KisrS2vXrtXcuXM1Z84cjRgxomQ7AAAAlF/Gg9q0aWMGDhzoeJ+Tk2PCw8PNmDFjCmx/3333ma5duzpti4mJMY899pgxxpjc3FwTGhpqxo8f79h/8uRJ4+vraz755JN8x5s9e7ax2Wz5ti9btsx4eXmZlJQUx7YZM2aYqlWrmszMzMu+PrvdbiQZu91+2Z8BAACedbm/vz02EpWVlaVNmzYpNjbWsc3Ly0uxsbFat25dgZ9Zt26dU3tJiouLc7RPTk5WSkqKUxubzaaYmJhCj1nYeZo2baqQkBCn86Snp2v79u2XfRwAAFBxVfLUiU+cOKGcnBynoCJJISEh2rVrV4GfSUlJKbB9SkqKY3/etsLaXI7CznPhOQqSmZmpzMxMx/v09PTLPicAAChfPD6xvCIZM2aMbDab4xUREeHpkgAAgJt4LETVqFFD3t7eOnr0qNP2o0ePKjQ0tMDPhIaGFtk+78/iHLM457nwHAUZNmyY7Ha743Xw4MHLPicAAChfPBairFarWrZsqdWrVzu25ebmavXq1Wrbtm2Bn2nbtq1Te0lauXKlo31kZKRCQ0Od2qSnp2v9+vWFHrOw8/z8889OTwmuXLlSVatW1fXXX1/o53x9fVW1alWnFwAAqJg8NidKkgYPHqw+ffqoVatWatOmjSZNmqSMjAw9/PDDkqSHHnpItWrV0pgxYyRJTz/9tDp06KAJEyaoa9eumj9/vn744Qe9++67kiSLxaJBgwZp9OjRatiwoSIjIzV8+HCFh4crISHBcd4DBw4oLS1NBw4cUE5OjrZu3SpJatCggapUqaI777xT119/vXr37q1x48YpJSVFL7/8sgYOHChfX99S7SMAAFBGldLTgoWaMmWKqVOnjrFaraZNmzbm+++/d+zr0KGD6dOnj1P7f/3rX6ZRo0bGarWaJk2amC+//NJpf25urhk+fLgJCQkxvr6+plOnTmb37t1Obfr06WMk5Xt98803jjb79u0zXbp0Mf7+/qZGjRpmyJAhJjs7u1jXxhIHAACUP5f7+9tijDEezHAVWnp6umw2m+x2O7f2AAAoJy7397dHb+cBAM5LTU1VVlZWofutVquCg4NLsSIAl0KIAgAPS01N1dSpUx3v7fZApaUFKygoVTbbKcf2xMREghRQhhCiAMDDLhyB2ry5hZYs6SZjvGSx5Co+fqmio7fkawfA81hsEwDKCLs90BGgJMkYLy1Z0k12e6CHKwNQEEIUAJQRaWnBuvgrTY3xUlpakIcqAlAUQhQAlBFBQamyWHKdtlksuQoKSvNQRQCKQogCgDLCZjul+PiljiCVNyfqwsnlAMoOJpYDQBkSHb1FUVFJSksLUlBQGgEKKMMIUQBQxthspwhPQDnA7TwA8DCr1Vqi7QCUDkaiAMDDgoODlZiYyIrlQDlDiAKAMoCABJQ/3M4DAABwASEKAADABYQoAAAAFxCiAAAAXECIAgAAcAEhCgAAwAWEKAAAABcQogAAAFxAiAIAAHABIQoAAMAFhCgAAAAXEKIAAABcQIgCAABwASEKAADABYQoAAAAFxCiAAAAXECIAgAAcAEhCgAAwAWEKAAAABcQogAAAFxQydMFAEBJSU1NVVZWVqH7rVargoODS7EiABUZIQpAhZCamqqpU6desl1iYiJBCkCJ4HYegArh4hEouz1Qycn1ZLcHFtkOAFzFSBSACmfz5hZasqSbjPGSxZKr+Pilio7e4umyAFQwjEQBqFDs9kBHgJIkY7y0ZEm3fCNSAHClCFEAKpS0tGBHgMpjjJfS0oI8VBGAiooQBaBCCQpKlcWS67TNYslVUFCahyoCUFERogBUKDbbKcXHL3UEqbw5UTbbKQ9XBqCiYWI5gAonOnqLoqKSlJYWpKCgNAIUALcgRAGoEKxWq9N7m+1UgeHp4nYA4CpCFAC3Kq1VxIODg5WYmMiK5QBKDSEKgNuU9iriBCQApYmJ5QDchlXEAVRkjEQBKBWsIg6gomEkCoDbsYo4gIqIEAXA7VhFHEBFRIgC4HasIg6gIiJEAXA7VhEHUBExsRzAZbuSNZ9YRRxARUOIAuCksKB08uRJ/etf/7rk5y9c84lVxAFUZIQoAA6XuzimdP6Ju7S0YAUFpToFowsDGKuIA6jICFEAHApaHLOgoFScNZ8ISAAqKkIUgAIVFpQKW/MpKiqJeU4Ario8nQcgn6IWx2TNJwA4jxAFIJ+ighJrPgHAedzOAyqoopYjOHnypCwWi2w2m9P2EydOSPpzccwLg1ReUMpb8+niW33cygNwtSFEARVQcZ6yK8ilghJrPgFAGbmdN23aNNWrV09+fn6KiYnRhg0bimy/cOFCNW7cWH5+fmratKmWLVvmtN8YoxEjRigsLEz+/v6KjY3Vnj17nNqkpaXpgQceUNWqVVWtWjX169dPp0+fduzft2+fLBZLvtf3339fchcOuElBT9klJ9cr1hf+Rkdv0aBBk9SnzxwNGjQp39N3NtspRUbuzxegWPMJwNXC4yNRCxYs0ODBgzVz5kzFxMRo0qRJiouL0+7du1WzZs187deuXatevXppzJgx6tatm+bNm6eEhARt3rxZN9xwgyRp3Lhxmjx5subOnavIyEgNHz5ccXFx2rFjh/z8/CRJDzzwgI4cOaKVK1cqOztbDz/8sPr376958+Y5nW/VqlVq0qSJ4z2Pa6O8udRyBIUtYyAVvjhmjx498t0KlFjzCcDVxWKMMZ4sICYmRq1bt3bcesjNzVVERISefPJJvfDCC/na9+jRQxkZGVq6dKlj20033aTmzZtr5syZMsYoPDxcQ4YM0bPPPitJstvtCgkJ0Zw5c9SzZ0/t3LlT119/vTZu3KhWrVpJkpYvX6677rpLhw4dUnh4uPbt26fIyEht2bJFzZs3d+na0tPTZbPZZLfbVbVqVZeOAbjiyJEjevfdd2W3B2rSpEH55jYNGjRJNtupIgPWX//6V9WoUSPfsQlKACq6y/397dHbeVlZWdq0aZNiY2Md27y8vBQbG6t169YV+Jl169Y5tZekuLg4R/vk5GSlpKQ4tbHZbIqJiXG0WbdunapVq+YIUJIUGxsrLy8vrV+/3unY3bt3V82aNdW+fXt98cUXRV5PZmam0tPTnV6AJxX1lF1RyxhIUo0aNRQWFpbvRYACgPM8GqJOnDihnJwchYSEOG0PCQlRSkpKgZ9JSUkpsn3en5dqc/GtwkqVKikoKMjRpkqVKpowYYIWLlyoL7/8Uu3bt1dCQkKRQWrMmDGy2WyOV0RExKW6AHCropYjYL0nALgyHp8TVVbVqFFDgwcPdrxv3bq1Dh8+rPHjx6t79+4FfmbYsGFOn0lPTydIwaMu9ZRdYcsYAAAuzaMhqkaNGvL29tbRo0edth89elShoaEFfiY0NLTI9nl/Hj16VGFhYU5t8uY2hYaG6tixY07HOHfunNLS0go9r3R+/tbKlSsL3e/r6ytfX99C9wOeUNhyBKz3BABXxqO386xWq1q2bKnVq1c7tuXm5mr16tVq27ZtgZ9p27atU3tJWrlypaN9ZGSkQkNDndqkp6dr/fr1jjZt27bVyZMntWnTJkebr7/+Wrm5uYqJiSm03q1btzoFM6CsuniZgcKWIyhqGQOWKgCAonn8dt7gwYPVp08ftWrVSm3atNGkSZOUkZGhhx9+WJL00EMPqVatWhozZowk6emnn1aHDh00YcIEde3aVfPnz9cPP/ygd999V5JksVg0aNAgjR49Wg0bNnQscRAeHq6EhARJ0nXXXafOnTvr0Ucf1cyZM5Wdna3ExET17NlT4eHhkqS5c+fKarWqRYsWkqTFixdr1qxZ+uc//1nKPQQUX3BwsBITE4u9YnkensADgEvzeIjq0aOHjh8/rhEjRiglJUXNmzfX8uXLHRPDDxw4IC+vPwfM2rVrp3nz5unll1/Wiy++qIYNG+rzzz93rBElSUOHDlVGRob69++vkydPqn379lq+fLljjShJ+vjjj5WYmKhOnTrJy8tL99xzjyZPnuxU26hRo7R//35VqlRJjRs31oIFC/S3v/3NzT0ClIyiQhAjqgBw5Ty+TlRFxjpRAACUP+VinSgAAIDyyuO384CrSWpqaqHzlCTmIgFAeUKIAkpJamqq4+uNipKYmEiQAoBygNt5QCm5eATKbg9UcnI9x9esFNYOAFA2MRIFeEBRX/wLACgfGIkCStmlvvgXAFA+EKKAUsYX/wJAxUCIAkpZUFCqLJZcp2188S8AlD+EKKCU5X3xb16Q4ot/AaB8YmI54AHR0VsUFZWktLQgBQWlEaAAoBwiRAGlxGq1Or232U4VGJ4ubgcAKJsIUUApCQ4OVmJiIiuWA0AFQYgCShEBCQAqDiaWAwAAuIAQBQAA4AJCFAAAgAsIUQAAAC4gRAEAALiAEAUAAOACljhAmbV3716dOXOm0P2VK1dWVFRUKVYEAMCfCFEok/bu3auPPvroku0efPBBghQAwCO4nYcy6eIRqEOHwrR27U06dCisyHYAAJQWRqJQ5n322d368cdmkiySjJo1+1F/+cu/PV0WAOAqx0gUyrRDh8IuCFCSZNGPPzbLNyIFAEBpI0ShTDtwoK7+DFB5LDp4sI4nygEAwIEQhTKtTp39ksxFW40iIg54ohwAABwIUSjTatc+ombNftSfQer8nKjatY94siwAAJhYjrLvL3/5t1q33qCDB+soIuIAAQoAUCYQolAmVa5c2el97dpHCgxPF7cDAKC0EKJQJkVFRenBBx9kxXIAQJlFiEKZRUACAJRlTCwHAABwASNRV6nU1FRlZWUVut9qtSo4OLgUKwIAoHwhRF2FUlNTNXXq1Eu2S0xMJEgBAFAIbuddhS4egbLbA5WcXE92e2CR7QAAwJ8YibrKbd7cQkuWdJMxXrJYchUfv1TR0Vs8XRYAAGUeI1FXMbs90BGgJMkYLy1Z0i3fiBQAAMiPEHUVS0sLdgSoPMZ4KS0tyEMVAQBQfnA7r5xwx9N0QUGpslhynYKUxZKroKA0l+sEAOBqQYgqB9z1NJ3Ndkrx8UvzzYmy2U5dSbkAAFwVCFHlQEFP06WlBSsoKNUp8LjyNF109BZFRSUpLS1IQUFpBCgAAC4TIaqcKYmn6axWq9N7m+1UgeHp4nYAAOBPhKhypLCn6aKikoo1ghQcHKzExERWLAcA4AoQosqRop6mK+5tOAISAABXhiUOypG8p+kuxNN0AAB4BiGqHMl7mi4vSPE0HQAAnsPtvHKGp+kAACgbCFHlAE/TAQBQ9hCiygGepgMAoOwhRJUTBCQAAMoWJpYDAAC4gBAFAADgAkIUAACACwhRAAAALiBEAQAAuIAQBQAA4AJCFAAAgAsIUQAAAC4gRAEAALiAFcvdyBgjSUpPT/dwJQAA4HLl/d7O+z1eGEKUG506df5LgiMiIjxcCQAAKK5Tp07JZrMVut9iLhWz4LLc3FwdPnxYgYGBslgsBbZJT09XRESEDh48qKpVq5ZyhWUH/XAe/fAn+uI8+uE8+uFP9MV57uwHY4xOnTql8PBweXkVPvOJkSg38vLyUu3atS+rbdWqVa/qfxny0A/n0Q9/oi/Oox/Oox/+RF+c565+KGoEKg8TywEAAFxAiAIAAHABIcrDfH19NXLkSPn6+nq6FI+iH86jH/5EX5xHP5xHP/yJvjivLPQDE8sBAABcwEgUAACACwhRAAAALiBEAQAAuIAQBQAA4AJClJtNmzZN9erVk5+fn2JiYrRhw4ZC227fvl333HOP6tWrJ4vFokmTJpVeoaWgOH3x3nvv6ZZbblH16tVVvXp1xcbGFtm+PClOPyxevFitWrVStWrVFBAQoObNm+vDDz8sxWrdqzh9caH58+fLYrEoISHBvQWWkuL0w5w5c2SxWJxefn5+pVit+xT35+HkyZMaOHCgwsLC5Ovrq0aNGmnZsmWlVK17FacvOnbsmO9nwmKxqGvXrqVYsXsU92di0qRJuvbaa+Xv76+IiAg988wzOnv2rPsKNHCb+fPnG6vVambNmmW2b99uHn30UVOtWjVz9OjRAttv2LDBPPvss+aTTz4xoaGh5q233irdgt2ouH1x//33m2nTppktW7aYnTt3mr59+xqbzWYOHTpUypWXrOL2wzfffGMWL15sduzYYZKSksykSZOMt7e3Wb58eSlXXvKK2xd5kpOTTa1atcwtt9xi7r777tIp1o2K2w+zZ882VatWNUeOHHG8UlJSSrnqklfcfsjMzDStWrUyd911l/nuu+9McnKy+fbbb83WrVtLufKSV9y+SE1Ndfp52LZtm/H29jazZ88u3cJLWHH74eOPPza+vr7m448/NsnJyearr74yYWFh5plnnnFbjYQoN2rTpo0ZOHCg431OTo4JDw83Y8aMueRn69atW6FC1JX0hTHGnDt3zgQGBpq5c+e6q8RScaX9YIwxLVq0MC+//LI7yitVrvTFuXPnTLt27cw///lP06dPnwoRoorbD7NnzzY2m62Uqis9xe2HGTNmmPr165usrKzSKrHUXOl/J9566y0TGBhoTp8+7a4SS0Vx+2HgwIHm9ttvd9o2ePBgc/PNN7utRm7nuUlWVpY2bdqk2NhYxzYvLy/FxsZq3bp1Hqys9JVEX5w5c0bZ2dkKCgpyV5lud6X9YIzR6tWrtXv3bt16663uLNXtXO2Lf/zjH6pZs6b69etXGmW6nav9cPr0adWtW1cRERG6++67tX379tIo121c6YcvvvhCbdu21cCBAxUSEqIbbrhBr7/+unJyckqrbLcoif9evv/+++rZs6cCAgLcVabbudIP7dq106ZNmxy3/H799VctW7ZMd911l9vq5AuI3eTEiRPKyclRSEiI0/aQkBDt2rXLQ1V5Rkn0xfPPP6/w8HCnf6HKG1f7wW63q1atWsrMzJS3t7emT5+uO+64w93lupUrffHdd9/p/fff19atW0uhwtLhSj9ce+21mjVrlm688UbZ7Xa9+eabateunbZv337ZX3he1rjSD7/++qu+/vprPfDAA1q2bJmSkpL0xBNPKDs7WyNHjiyNst3iSv97uWHDBm3btk3vv/++u0osFa70w/33368TJ06offv2Msbo3Llzevzxx/Xiiy+6rU5CFMq8sWPHav78+fr2228rzATa4ggMDNTWrVt1+vRprV69WoMHD1b9+vXVsWNHT5dWak6dOqXevXvrvffeU40aNTxdjke1bdtWbdu2dbxv166drrvuOr3zzjsaNWqUBysrXbm5uapZs6beffddeXt7q2XLlvrtt980fvz4ch2irtT777+vpk2bqk2bNp4updR9++23ev311zV9+nTFxMQoKSlJTz/9tEaNGqXhw4e75ZyEKDepUaOGvL29dfToUaftR48eVWhoqIeq8owr6Ys333xTY8eO1apVq3TjjTe6s0y3c7UfvLy81KBBA0lS8+bNtXPnTo0ZM6Zch6ji9sXevXu1b98+xcfHO7bl5uZKkipVqqTdu3crKirKvUW7QUn8d8LHx0ctWrRQUlKSO0osFa70Q1hYmHx8fOTt7e3Ydt111yklJUVZWVmyWq1urdldruRnIiMjQ/Pnz9c//vEPd5ZYKlzph+HDh6t379565JFHJElNmzZVRkaG+vfvr5deekleXiU/g4k5UW5itVrVsmVLrV692rEtNzdXq1evdvq/yKuBq30xbtw4jRo1SsuXL1erVq1Ko1S3KqmfidzcXGVmZrqjxFJT3L5o3Lixfv75Z23dutXx6t69u2677TZt3bpVERERpVl+iSmJn4mcnBz9/PPPCgsLc1eZbudKP9x8881KSkpyhGlJ+uWXXxQWFlZuA5R0ZT8TCxcuVGZmph588EF3l+l2rvTDmTNn8gWlvJBt3PU1wW6bsg4zf/584+vra+bMmWN27Nhh+vfvb6pVq+Z4HLl3797mhRdecLTPzMw0W7ZsMVu2bDFhYWHm2WefNVu2bDF79uzx1CWUmOL2xdixY43VajWffvqp06O7p06d8tQllIji9sPrr79uVqxYYfbu3Wt27Nhh3nzzTVOpUiXz3nvveeoSSkxx++JiFeXpvOL2w6uvvmq++uors3fvXrNp0ybTs2dP4+fnZ7Zv3+6pSygRxe2HAwcOmMDAQJOYmGh2795tli5damrWrGlGjx7tqUsoMa7+u9G+fXvTo0eP0i7XbYrbDyNHjjSBgYHmk08+Mb/++qtZ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R7QKExUVJavVqjVr1ji2ZWdna+PGjbr++utL6EoAVPJ0AQAqvszMTKWkpEg6/yTc1KlTdfr0acXHxzvaPPLII0pMTFRAQID+8pe/5DvGmjVrNG7cOCUkJGjlypVauHChvvzyS0lSgwYNlJ2drSlTpig+Pl5r1qzRzJkznT4/aNAgdenSRY0aNdLvv/+ub775xhHCRowYoZYtW6pJkybKzMzU0qVLHftKWsOGDfXpp59q7dq1ql69uiZOnKijR486wo2fn5+ef/55DR06VFarVTfffLOOHz+u7du3q1+/fqpZs6b8/f21fPly1a5dW35+frLZbE7nCAgI0IABA/Tcc88pKChIderU0bhx43TmzBn169fPLdcFXI0YiQLgdsuXL1dYWJjCwsIUExOjjRs3auHChY7H8yWpV69eqlSpknr16iU/P798xxgyZIh++OEHtWjRQqNHj9bEiRMVFxcnSWrWrJkmTpyoN954QzfccIM+/vhjjRkzxunzOTk5GjhwoK677jp17txZjRo10vTp0yWdH90ZNmyYbrzxRt16663y9vbW/Pnz3dIXL7/8sqKjoxUXF6eOHTsqNDQ030rjw4cP15AhQzRixAhdd9116tGjh2OeUqVKlTR58mS98847Cg8P1913313gecaOHat77rlHvXv3VnR0tJKSkvTVV1+pevXqbrku4GpkMcYYTxcBAPv27VNUVJQ2btyo6Ohop3316tXToEGDNGjQIM8UBwAF4HYeAI/Kzs5WamqqXn75Zd100035AhQAlFXczgPgUWvWrFFYWJg2btyYbx6Tp73++uuqUqVKga8uXbp4ujwAHsbtPAAoRFpaWr4VvvP4+/urVq1apVwRgLKEEAUAAOACbucBAAC4gBAFAADgAkIUAACACwhRAAAALiBEAQAAuIAQBQAA4AJCFAAAgAsIUQAAAC74/69pxu7q4vmAAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_8.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAHHCAYAAACfqw0dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABOd0lEQVR4nO3deVxU9eL/8feADCDCGKggioq4pXlVLAnTsKLGUoxvi1sZlaWVlF5brVzKytIWcynt3hLrXtNMs0yvad665ZKVS2UuqaG2CCbkoJhizOf3hz8mRxZhBIbl9Xw85gFzzuec8zmfJubt53zO51iMMUYAAAAoEx9vVwAAAKA6IkQBAAB4gBAFAADgAUIUAACABwhRAAAAHiBEAQAAeIAQBQAA4AFCFAAAgAcIUQAAAB4gRAFADZeWliaLxaK9e/d6uypAjUKIAnDOvvrqK6WmpqpDhw4KCgpSs2bN1L9/f/3www+Fyvbq1UsWi0UWi0U+Pj4KCQlR27ZtNWTIEK1atapMx126dKkSEhLUqFEj1a1bVy1btlT//v21YsWK8jq1Qp555hktWbKk0PJ169ZpwoQJOnz4cIUd+0wTJkxwtaXFYlHdunXVvn17Pf7448rJySmXY8ybN09Tp04tl30BNQ0hCsA5e+6557Ro0SJdccUVevnllzVs2DB99tlnio2N1datWwuVb9q0qd566y29+eabmjJlivr166d169bpqquu0oABA3Ty5MmzHvP5559Xv379ZLFYNGbMGL300ku6/vrrtWvXLs2fP78iTlNSySHqiSeeqNQQVeDVV1/VW2+9pRdffFHt2rXT008/rd69e6s8Ho1KiAKKV8fbFQBQ/Y0ePVrz5s2T1Wp1LRswYIA6duyoZ599Vv/617/cyttsNt18881uy5599lndd999euWVV9SiRQs999xzxR7vzz//1MSJE3XllVdq5cqVhdYfPHjwHM+o6jh27Jjq1q1bYpkbbrhBDRo0kCTddddduv7667V48WJ98cUXio+Pr4xqArUSPVEAzln37t3dApQktW7dWh06dND27dtLtQ9fX19NmzZN7du314wZM+RwOIote+jQIeXk5OiSSy4pcn2jRo3c3h8/flwTJkxQmzZtFBAQoMaNG+u6667Tnj17XGWef/55de/eXWFhYQoMDFTXrl317rvvuu3HYrEoNzdXc+fO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xZIkHx8fTZs2Td9//73mzp2r//73v3rooYckSd27d9fUqVMVEhKiAwcO6MCBA3rggQcknZqGYOLEifrmm2+0ZMkS7d27V7feemulnQcAoGrLzg5zBagCxvgoOzu00utCTxTKTbt27fTtt99KkkaNGuVa3qJFCz311FO666679Morr8hqtcpms8lisbh6tArcfvvtrt9btmypadOm6aKLLtLRo0dVr169SjkPAEDVFRqaJYvF6RakLBanQkOzK70u9ESh3BhjXJfnPv74Y11xxRVq0qSJgoODNWTIEGVlZenYsWMl7mPjxo1KSkpSs2bNFBwcrISEBEnS/v37K7z+AICqz2Y7oqSkD2WxnLqZqWBMVGVfypPoiUI52r59u6Kjo7V371717dtXd999t55++mmFhoZqzZo1Gjp0qPLy8oqdqT03N1d2u112u13//ve/1bBhQ+3fv192u71SL00CAKq22NjNionZrezsUIWGZnslQElVpCdq5syZatGihQICAhQXF6cvv/yyxPILFy5Uu3btFBAQoI4dO2r58uVu640xGjdunBo3bqzAwEAlJiZq165drvV79+7V0KFDFR0drcDAQMXExGj8+PFuX9R79+513cp/+uuLL74o35OvIf773//qu+++0/XXX6+NGzfK6XTqhRde0MUXX6w2bdro119/dStvtVqVn5/vtmzHjh3KysrSs88+q549e6pdu3auhwcDAGo3q9Xq9t5mO6Lo6H2FAtSZ5SqS13uiFixYoNGjR2vWrFmKi4vT1KlTZbfbtXPnziLvyFq3bp0GDRqkSZMmqW/fvpo3b56Sk5O1adMmXXDBBZKkyZMna9q0aZo7d66io6M1duxY2e12bdu2TQEBAdqxY4ecTqdmz56tVq1aaevWrbrzzjuVm5ur559/3u14H3/8sTp06OB6zwODpRMnTigjI8NtioOC/x633HKLtm7dqpMnT2r69OlKSkrS2rVrNWvWLLd9tGjRQkePHtXq1avVqVMn1a1bV82aNZPVatX06dN11113aevWrZo4caKXzhIAUJWEhYUpNTW1Ss1YbjHGmEo7WhHi4uJ00UUXuW7ZdzqdioqK0r333qtHHnmkUPkBAwYoNzdXH374oWvZxRdfrM6dO2vWrFkyxigyMlL333+/644vh8Oh8PBwpaWlaeDAgUXWY8qUKXr11Vf1448/SjrVExUdHa3Nmzerc+fOHp1bTk6ObDabHA6HQkJCXMuPHz+u9PR0RUdHKyAgoMz7PXDggF577bWzlhs2bJgaN25c5v2X5NZbb9XcuXMlSXXq1NF5552nTp06afDgwUpJSZGPz6nOzZdeeklTpkzR4cOHdemll+qmm27SLbfcot9//901yebdd9+thQsXKisryzXFwdtvv61HH31UBw4cUGxsrMaMGaN+/fqd03+Hc21vAEDtUtz395m82hOVl5enjRs3asyYMa5lPj4+SkxM1Pr164vcZv369Ro9erTbMrvdriVLlkiS0tPTlZGRocTERNd6m82muLg4rV+/vtgQ5XA4FBpa+PbIfv366fjx42rTpo0eeugh9evXr9jzOXHihE6cOOF6n5OTU2zZc1HarsqK6NJMS0tTWlraWcv9/e9/19///ne3ZUOGDHF7/+qrr+rVV191WzZo0CANGjTIbZmXcz4AAEXyaog6dOiQ8vPzFR4e7rY8PDxcO3bsKHKbjIyMIstnZGS41hcsK67MmXbv3q3p06e7XcqrV6+eXnjhBV1yySXy8fHRokWLlJycrCVLlhQbpCZNmqQnnniihDMuH1WxSxMAgNrG62OivO2XX35R7969deONN+rOO+90LW/QoIFbj9dFF12kX3/9VVOmTCk2RI0ZM8Ztm5ycHEVFRVVIvQlIAAB4l1fvzmvQoIF8fX2VmZnptjwzM7PQJIwFIiIiSixf8LM0+/z111912WWXqXv37qUaYxQXF6fdu3cXu97f318hISFuLwAAUDN5NURZrVZ17dpVq1evdi1zOp1avXq14uPji9wmPj7erbwkrVq1ylU+OjpaERERbmVycnK0YcMGt33+8ssv6tWrl7p27ao5c+a4BkSXZMuWLeU+UBsAAFRPXr+cN3r0aKWkpOjCCy9Ut27dNHXqVOXm5roeUHvLLbeoSZMmmjRpkiRp5MiRSkhI0AsvvKA+ffpo/vz5+vrrr109SRaLRaNGjdJTTz2l1q1bu6Y4iIyMVHJysqS/AlTz5s31/PPP67fffnPVp6C3au7cubJarerSpYskafHixXrjjTf0z3/+s7KaBgAAVGFeD1EDBgzQb7/9pnHjxikjI0OdO3fWihUrXAPD9+/f79ZL1L17d82bN0+PP/64Hn30UbVu3VpLlixxzRElSQ899JByc3M1bNgwHT58WD169NCKFStct7evWrVKu3fv1u7du9W0aVO3+px+J9jEiRO1b98+1alTR+3atdOCBQt0ww03VGRzoBrIyspiUD8AwPvzRNVkFTVPFMqmPNs7KyvLNadZSVJTUwlSAFBNlXaeqCrx2BegujizB8rhCFZ6egs5HMEllgMA1Dxev5wHVFebNnXR0qV9ZYyP6ynisbGbvV0tAEAloScKVcqnn34qi8Wiw4cPl3qbFi1aaOrUqRVWp6I4HMGuACVJxvho6dK+hXqkAAA1FyEKZXLrrbfKYrHorrvuKrRuxIgRslgsuvXWWyu/YpUsOzvMFaAKGOOj7OzCjw4CANRMhCiUWVRUlObPn68//vjDtez48eOaN2+emjVr5sWaVZ7Q0CxZLE63ZRaLU6Gh2V6qEQCgshGiUGaxsbGKiorS4sWLXcsWL16sZs2auebVkk49kPm+++5To0aNFBAQoB49euirr75y29fy5cvVpk0bBQYG6rLLLtPevXsLHW/NmjXq2bOnAgMDFRUVpfvuu0+5ubkVdn6lYbMdUVLSh64gVTAmymY74tV6AQAqDyGqBvj5Z+mTT079rCy333675syZ43r/xhtvuCZILfDQQw9p0aJFmjt3rjZt2qRWrVrJbrcrO/tUb81PP/2k6667TklJSdqyZYvuuOMOPfLII2772LNnj3r37q3rr79e3377rRYsWKA1a9YoNTW14k/yLGJjN2vUqKlKSUnTqFFTGVQOALUMIaqae/11qXlz6fLLT/18/fXKOe7NN9+sNWvWaN++fdq3b5/Wrl2rm2++2bU+NzdXr776qqZMmaKrr75a7du31z/+8Q8FBgbq9f9fyVdffVUxMTF64YUX1LZtW910002FxlNNmjRJN910k0aNGqXWrVure/fumjZtmt58800dP368ck72NFar1e29zXZE0dH7CvVAnVkOAFDzMMVBNfbzz9KwYZLz/w/NcTql4cMlu106YyL2ctewYUP16dNHaWlpMsaoT58+atCggWv9nj17dPLkSV1yySWuZX5+furWrZu2b98uSdq+fbvi4uLc9nvmMxO/+eYbffvtt/r3v//tWmaMkdPpVHp6us4///yKOL1ihYWFKTU1lRnLAQCEqOps166/AlSB/Hxp9+6KD1HSqUt6BZfVZs6cWSHHOHr0qIYPH6777ruv0DpvDWInIAEAJEJUtda6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ZUOHDjXDhg1zW/b5558bHx8f88cffxR5rK+++spIMkeOHDHG/NUT9fHHH7vKTJo0yUgye/bscS0bPny4sdvtpTqflJQU4+vra4KCgoy/v7+RZHx8fMy7775b4nZ9+vQx999/v+t9QkKCGTlypFuZM3uiBg8ebK688kq3Mg8++KBp3759qeoK1Gb0RAGocM8995zmzp2r7du3n7XsY489pi1btmjcuHE6evRoqfZ/6aWX6scff9Tq1at1ww036Pvvv1fPnj01ceLEErf75ptvlJaWpnr16rledrtdTqdT6enpkk711CQlJalZs2YKDg5WQkKCJGn//v1u+/rb3/7m+j08PFx169ZVy5Yt3ZYdPHiwVOcjSZdddpm2bNmiDRs2KCUlRbfddpuuv/561/r8/HxNnDhRHTt2VGhoqOrVq6ePPvqoUL3OZvv27brkkkvcll1yySXatWuX8vPzy7QvoLYhRAGocJdeeqnsdrvGjBnjtrx169bauXOn27KGDRuqVatWatSoUZmO4efnp549e+rhhx/WypUr9eSTT2rixInKy8srdpujR49q+PDh2rJli+v1zTffaNeuXYqJiVFubq7sdrtCQkL073//W1999ZXee+89SSq0Xz8/P9fvBXfVnc5iscjpdJb6fIKCgtSqVSt16tRJb7zxhjZs2KDXX3/dtX7KlCl6+eWX9fDDD+uTTz7Rli1bZLfbSzxfAOWrjrcrAKB2ePbZZ9W5c2e1bdvWtWzQoEEaPHiw3n//fV177bXlerz27dvrzz//1PHjx2W1WmW1Wgv1rMTGxmrbtm1q1apVkfv47rvvlJWVpWeffdY1nujrr78u13qWho+Pjx599FGNHj1agwcPVmBgoNauXatrr71WN998syTJ6XTqhx9+UPv27V3bFXXOZzr//PO1du1at2Vr165VmzZt5OvrW/4nA9Qg9EQBqBQdO3bUTTfdpGnTprmWDRw4UDfccIMGDhyoJ598Uhs2bNDevXv1v//9TwsWLCj1l3ivXr00e/Zsbdy4UXv37tXy5cv16KOP6rLLLlNISIikU/NEffbZZ/rll1906NAhSdLDDz+sdevWKTU1VVu2bNGuXbv0/vvvuwaWN2vWTFarVdOnT9ePP/6oDz744KyXCCvKjTfeKF9fX82cOVPSqV68VatWad26ddq+fbuGDx+uzMxMt21atGjhatNDhw4V2RN2//33a/Xq1Zo4caJ++OEHzZ07VzNmzNADDzxQKecFVGeEKACV5sknn3T7IrdYLFqwYIGmTp2q5cuX64orrlDbtm11++23KyoqSmvWrCnVfu12u+bOnaurrrpK559/vu69917Z7Xa98847bsfeu3evYmJi1LBhQ0mnxjH973//0w8//KCePXuqS5cuGjdunCIjIyWdurSYlpamhQsXqn379nr22Wf1/PPPl2OLlF6dOnWUmpqqyZMnKzc3V48//rhiY2Nlt9vVq1cvRUREKDk52W2bBx54QL6+vmrfvr0aNmxY5Hip2NhYvfPOO5o/f74uuOACjRs3Tk8++WSRdyACcGcxxhhvVwIAAKC6oScKAADAA4QoAFXe6VMQnPn6/PPPvV29Mtm/f3+J51PWKQoAeA+X8wBUeSU9iLhJkyYKDAysxNqcmz///FN79+4tdn2LFi1Upw43TgPVASEKAADAA1zOAwAA8AAhCgAAwAOEKAAAAA8QogAAADxAiAIAAPAAIQoAAMADhCgAAAAPEKIAAAA88P8AhU6ypeJfjlkAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_9.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAHHCAYAAACfqw0dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABX8klEQVR4nO3de1hU5d4+8HsGGE7CICgMKAoi5iFFBUHMspTCQpJyb5XM0E1RJqViJ/OApobhIfNQlplYappppWiUor7tlFBRzAOaGobuBBViOCXgzPP7wx8rRw4yAzMDeH+uay6dtb5rre96Xndzv2vWekYmhBAgIiIiIr3Izd0AERERUXPEEEVERERkAIYoIiIiIgMwRBEREREZgCGKiIiIyAAMUUREREQGYIgiIiIiMgBDFBEREZEBGKKIiIiIDMAQRUTUwiUlJUEmk+HixYvmboWoRWGIIqIGO3z4MGJjY9GjRw/Y29ujQ4cOGDlyJH777bdqtQ8//DBkMhlkMhnkcjkcHR1x3333YezYsdi9e7dex92xYwcGDRoEV1dX2NnZoVOnThg5ciRSUlIa69Sqeffdd/Htt99WW37w4EHMnj0bhYWFRjv2nWbPni2NpUwmg52dHbp3744ZM2agqKioUY6xceNGLF26tFH2RdTSMEQRUYO999572Lp1K4YMGYIPPvgAMTEx+Omnn9C3b1+cPHmyWn379u3xxRdf4PPPP8fChQvx5JNP4uDBg3jssccwatQoVFZW3vWYixYtwpNPPgmZTIZp06bh/fffx4gRI3Du3Dls2rTJGKcJoO4QNWfOHJOGqCofffQRvvjiCyxZsgRdu3bF/PnzMXToUDTGT6MyRBHVztLcDRBR8xcXF4eNGzdCoVBIy0aNGoWePXtiwYIFWL9+vU69UqnEs88+q7NswYIFePXVV/Hhhx/Cy8sL7733Xq3Hu3nzJubOnYtHH30UP/74Y7X1V69ebeAZNR1lZWWws7Ors+Zf//oX2rRpAwB46aWXMGLECGzbtg2//PILgoODTdEm0T2JV6KIqMEGDBigE6AAwNfXFz169EBWVla99mFhYYFly5ahe/fuWLFiBdRqda21169fR1FRER544IEa17u6uuq8v3HjBmbPno0uXbrAxsYG7u7uePrpp3HhwgWpZtGiRRgwYABcXFxga2sLf39/fP311zr7kclkKC0txbp166Sv0MaNG4fZs2fj9ddfBwB4e3tL626/B2n9+vXw9/eHra0tnJ2dMXr0aFy6dEln/w8//DDuv/9+ZGRk4KGHHoKdnR3efvvteo3f7QYPHgwAyM7OrrPuww8/RI8ePWBtbQ0PDw9MnDhR50raww8/jJ07d+KPP/6QzsnLy0vvfohaKl6JIiKjEEIgLy8PPXr0qPc2FhYWiIyMxMyZM/Hzzz8jLCysxjpXV1fY2tpix44deOWVV+Ds7FzrPjUaDYYNG4bU1FSMHj0akyZNQnFxMXbv3o2TJ0/Cx8cHAPDBBx/gySefxJgxY1BRUYFNmzbh3//+N5KTk6U+vvjiCzz//PMIDAxETEwMAMDHxwf29vb47bff8OWXX+L999+Xrgq1bdsWADB//nzMnDkTI0eOxPPPP49r165h+fLleOihh3Ds2DE4OTlJ/ebn5+Pxxx/H6NGj8eyzz8LNza3e41elKhy6uLjUWjN79mzMmTMHISEhmDBhAs6ePYuPPvoIhw8fxoEDB2BlZYXp06dDrVbj8uXLeP/99wEArVq10rsfohZLEBEZwRdffCEAiDVr1ugsHzRokOjRo0et233zzTcCgPjggw/q3P+sWbMEAGFvby8ef/xxMX/+fJGRkVGt7rPPPhMAxJIlS6qt02q10t/Lysp01lVUVIj7779fDB48WGe5vb29iIqKqravhQsXCgAiOztbZ/nFixeFhYWFmD9/vs7yEydOCEtLS53lgwYNEgDEqlWraj3v28XHxwsA4uzZs+LatWsiOztbfPzxx8La2lq4ubmJ0tJSIYQQa9eu1ent6tWrQqFQiMcee0xoNBppfytWrBAAxGeffSYtCwsLEx07dqxXP0T3Gn6dR0SN7syZM5g4cSKCg4MRFRWl17ZVVzqKi4vrrJszZw42btyIPn364IcffsD06dPh7++Pvn376nyFuHXrVrRp0wavvPJKtX3IZDLp77a2ttLf//rrL6jVajz44IM4evSoXv3fadu2bdBqtRg5ciSuX78uvVQqFXx9fbFv3z6demtra4wfP16vY9x3331o27YtvL298eKLL6Jz587YuXNnrfdS7dmzBxUVFZg8eTLk8n8+Bl544QU4Ojpi586d+p8o0T2IX+cRUaPKzc1FWFgYlEolvv76a1hYWOi1fUlJCQDAwcHhrrWRkZGIjIxEUVER0tPTkZSUhI0bNyI8PBwnT56EjY0NLly4gPvuuw+WlnX/5y45ORnz5s1DZmYmysvLpeW3By1DnDt3DkII+Pr61rjeyspK5327du2q3V92N1u3boWjoyOsrKzQvn176SvK2vzxxx8AboWv2ykUCnTq1ElaT0R1Y4giokajVqvx+OOPo7CwEP/973/h4eGh9z6qpkTo3LlzvbdxdHTEo48+ikcffRRWVlZYt24d0tPTMWjQoHpt/9///hdPPvkkHnroIXz44Ydwd3eHlZUV1q5di40bN+p9DrfTarWQyWT4/vvvawyUd95jdPsVsfp66KGHpPuwiMh0GKKIqFHcuHED4eHh+O2337Bnzx50795d731oNBps3LgRdnZ2GDhwoEF9BAQEYN26dbhy5QqAWzd+p6eno7KystpVnypbt26FjY0NfvjhB1hbW0vL165dW622titTtS338fGBEALe3t7o0qWLvqdjFB07dgQAnD17Fp06dZKWV1RUIDs7GyEhIdKyhl6JI2rJeE8UETWYRqPBqFGjkJaWhi1bthg0N5FGo8Grr76KrKwsvPrqq3B0dKy1tqysDGlpaTWu+/777wH881XViBEjcP36daxYsaJarfj/k1FaWFhAJpNBo9FI6y5evFjjpJr29vY1Tqhpb28PANXWPf3007CwsMCcOXOqTX4phEB+fn7NJ2lEISEhUCgUWLZsmU5Pa9asgVqt1nkq0t7evs7pJojuZbwSRUQNNnXqVGzfvh3h4eEoKCioNrnmnRNrqtVqqaasrAznz5/Htm3bcOHCBYwePRpz586t83hlZWUYMGAA+vfvj6FDh8LT0xOFhYX49ttv8d///hcRERHo06cPAOC5557D559/jri4OBw6dAgPPvggSktLsWfPHrz88ssYPnw4wsLCsGTJEgwdOhTPPPMMrl69ipUrV6Jz58749ddfdY7t7++PPXv2YMmSJfDw8IC3tzeCgoLg7+8PAJg+fTpGjx4NKysrhIeHw8fHB/PmzcO0adNw8eJFREREwMHBAdnZ2fjmm28QExOD1157rUHjr6+2bdti2rRpmDNnDoYOHYonn3wSZ8+exYcffoh+/frp/N/L398fmzdvRlxcHPr164dWrVohPDzcpP0SNVnmfDSQiFqGqkfza3vVVduqVSvh6+srnn32WfHjjz/W63iVlZVi9erVIiIiQnTs2FFYW1sL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9d4PERERtVyW5jx4XFwcoqKiEBAQgMDAQCxduhSlpaUYP348AOC5555Du3btkJCQAACYNGkSBg0ahMWLFyMsLAybNm3CkSNH8MknnwAAZDIZJk+ejHnz5sHX1xfe3t6YOXMmPDw8EBERIR03JycHBQUFyMnJgUajQWZmJgCgc+fOaNWqFR577DF0794dY8eORWJiInJzczFjxgxMnDgR1tbWJh0jIiIiaqJM9LRgrZYvXy46dOggFAqFCAwMFL/88ou0btCgQSIqKkqn/quvvhJdunQRCoVC9OjRQ+zcuVNnvVarFTNnzhRubm7C2tpaDBkyRJw9e1anJioqSgCo9tq3b59Uc/HiRfH4448LW1tb0aZNGzF16lRRWVmp17lxigMiIqLmp76f3zIhhDBjhmvRioqKoFQqoVareX8UERFRM1Hfz28+nUdERERkAIYoIiIiIgMwRBEREREZgCGKiIiIyAAMUUREREQGYIgiIiIiMgBDFBEREZEBGKKIiIiIDMAQRURERGQAhigiIiIiAzBEERERERmAIYqIiIjIAAxRRERERAZgiCIiIiIyAEMUERERkQEYooiIiIgMwBBFREREZACGKCIiIiIDMEQRERERGYAhioiIiMgADFFEREREBmCIIiIiIjIAQxQRERGRARiiiIiIiAzAEEVERERkAIYoIiIiIgMwRBEREREZgCGKiIiIyACWhmx06NAhpKWlITc3FwCgUqkQHByMwMDARm2OiIiIqKnSK0RdvXoVI0aMwIEDB9ChQwe4ubkBAPLy8jBlyhQ88MAD2Lp1K1xdXY3SLBEREVFTodfXeS+//DI0Gg2ysrJw8eJFpKenIz09HRcvXkRWVha0Wi0mTpxorF6JiIiImgyZEELUt9jBwQE//fQT+vTpU+P6jIwMPPzwwyguLm60BpuzoqIiKJVKqNVqODo6mrsdIiIiqof6fn7rdSXK2toaRUVFta4vLi6GtbW1PrskIiIiapb0ClGjRo1CVFQUvvnmG50wVVRUhG+++Qbjx49HZGRkozdJRERE1NTodWP5kiVLoNVqMXr0aNy8eRMKhQIAUFFRAUtLS0RHR2PRokVGaZSIiMhQ+fn5qKioqHW9QqGAi4uLCTuilkCve6KqFBUVISMjQ2eKA39/f973cwfeE0VEZH75+flYsWLFXetiY2MZpAhA/T+/DZonytHREY888ojBzREREZnKnVeg1GoHFBS4wNk5H0plca11RHdjUIiqTV5eHj7++GPMmjWrMXdLRETUKI4e7YMdO4ZBCDlkMi3Cw5PRt+8xc7dFzVSj/uxLbm4u5syZo9c2K1euhJeXF2xsbBAUFIRDhw7VWb9lyxZ07doVNjY26NmzJ3bt2qWzXgiBWbNmwd3dHba2tggJCcG5c+d0agoKCjBmzBg4OjrCyckJ0dHRKCkp0an54Ycf0L9/fzg4OKBt27YYMWIELl68qNe5ERFR06FWO0gBCgCEkGPHjmFQqx3M3Bk1V3qFqF9//bXO19mzZ/U6+ObNmxEXF4f4+HgcPXoUfn5+CA0NxdWrV2usP3jwICIjIxEdHY1jx44hIiICEREROHnypFSTmJiIZcuWYdWqVUhPT4e9vT1CQ0Nx48YNqWbMmDE4deoUdu/ejeTkZPz000+IiYmR1mdnZ2P48OEYPHgwMjMz8cMPP+D69et4+umn9To/IiJqOgoKXKQAVUUIOQoKnM3UETV7Qg8ymUzI5XIhk8mqvaqWy+Xyeu8vMDBQTJw4UXqv0WiEh4eHSEhIqLF+5MiRIiwsTGdZUFCQePHFF4UQQmi1WqFSqcTChQul9YWFhcLa2lp8+eWXQgghTp8+LQCIw4cPSzXff/+9kMlk4n//+58QQogtW7YIS0tLodFopJrt27cLmUwmKioq6n1+arVaABBqtbre2xARUeP6888/xezZs8WUKYuFTKYRgJBeMplGTJmyWMyePVv8+eef5m6Vmoj6fn7rdSXK2dkZq1evRnZ2drXX77//juTk5Hrvq6KiAhkZGQgJCZGWyeVyhISEIC0trcZt0tLSdOoBIDQ0VKrPzs5Gbm6uTo1SqURQUJBUk5aWBicnJwQEBEg1ISEhkMvlSE9PBwD4+/tDLpdj7dq10Gg0UKvV+OKLLxASEgIrK6taz6m8vBxFRUU6LyIiahqUymKEhydDJtMCgHRP1O03lxPpQ68by/39/fHnn3+iY8eONa4vLCyEqOeMCdevX4dGo5F+xLiKm5sbzpw5U+M2ubm5NdZXTbVQ9efdau78gWRLS0s4OztLNd7e3vjxxx8xcuRIvPjii9BoNAgODq52/9WdEhIS9L4njIiITKdv32Pw8TmPggJnODsXMEBRg+h1Jeqll16Cl5dXres7dOiAtWvXNrQns8vNzcULL7yAqKgoHD58GP/3f/8HhUKBf/3rX3WGxGnTpkGtVkuvS5cumbBrIiKqSdXE0FWUymJ4e/9RLUDdWUd0N3pdiXrqqafqXN+6dWtERUXVa19t2rSBhYUF8vLydJbn5eVBpVLVuI1KpaqzvurPvLw8uLu769T07t1bqrnzxvWbN2+ioKBA2n7lypVQKpVITEyUatavXw9PT0+kp6ejf//+NfZnbW3N3w4kImpiXFxcEBsbyxnLqdE16hQH+lAoFPD390dqaqq0TKvVIjU1FcHBwTVuExwcrFMPALt375bqvb29oVKpdGqKioqQnp4u1QQHB6OwsBAZGRlSzd69e6HVahEUFAQAKCsrg1yuOzQWFhZSj0RE1Ly4uLjA3d291hcDFBlCrytRcXFx9apbsmRJvfcXFRWFgIAABAYGYunSpSgtLcX48eMBAM899xzatWuHhIQEAMCkSZMwaNAgLF68GGFhYdi0aROOHDmCTz75BAAgk8kwefJkzJs3D76+vvD29sbMmTPh4eGBiIgIAEC3bt0wdOhQvPDCC1i1ahUqKysRGxuL0aNHw8PDAwAQFhaG999/H++88w4iIyNRXFyMt99+Gx07dkSfPn30GTIiIiJqofQKUceO6c7q+vPPP8Pf3x+2trbSMplMVu/9jRo1CteuXcOsWbOQm5uL3r17IyUlRboxPCcnR+eK0IABA7Bx40bMmDEDb7/9Nnx9ffHtt9/i/vvvl2reeOMNlJaWIiYmBoWFhRg4cCBSUlJgY2Mj1WzYsAGxsbEYMmQI5HI5RowYgWXLlknrBw8ejI0bNyIxMRGJiYmws7NDcHAwUlJSdM6ViIiI7l0G/QBxFQcHBxw/fhydOnVqzJ5aDP4AMRERUfNT389vs90TRURERNScMUQRERERGYAhioiIiMgAet1Y/uuvv+q8F0LgzJkzKCkp0Vneq1evhndGRERE1ITpdWO5XC6HTCarcdbuquUymQwajaZRm2yueGM5ERFR81Pfz2+9rkRlZ2c3uDEiIiKilkCvEFXbDw8TERER3Wv0ClG1GTx4MNauXcuQRUREDZafn8/fuaNmQa8QtX379hqX//TTT0hOToanpycA4Mknn2x4Z0REdM/Jz8/HihUr7loXGxvLIEVmp1eIioiIqPXG8ldeeQUAeGM5EREZ7M4rUGq1AwoKXODsnA+lsrjWOiJz0CtEhYaGwsLCAp999hlcXV2l5VZWVjh+/Di6d+/e6A0SEdG96ejRPtixYxiEkEMm0yI8PBl9+x67+4ZEJqLXZJvff/89hgwZgoCAACQnJxurJyIiusep1Q5SgAIAIeTYsWMY1GoHM3dG9A+9ZyyfMmUKtm/fjjfffBMvvvgiysrKjNEXERHdwwoKXKQAVUUIOQoKnM3UEVF1Bj2d17t3bxw5cgRTpkxB7969a7xHioiIyNAn7Zyd8yGTaXWClEymhbNzgVH6JDKEwVMc2NraYtWqVdi+fTv27duHNm3aNGZfRETUzDXkSTulshjh4cnV7om6/eZyInPTK0Tt3bsXsbGx+OWXX6Rp0J988kk8+eSTUKvV6NGjB1atWoUHH3zQKM0SEVHz0dAn7fr2PQYfn/MoKHCGs3MBAxQ1OXqFqKVLl+KFF16o8XdklEolXnzxRSxZsoQhioiIdNT3STuFQqHzXqksrjE83VlHZA56hajjx4/jvffeq3X9Y489hkWLFjW4KSIiajlqe9LOx+d8tYDk4uKC2NhYzlhOzYJeISovLw9WVla178zSEteuXWtwU0RE1HLU9aRdTVeZGJCoudBrioN27drh5MmTta7/9ddf4e7u3uCmiIio5ah60u52fNKOWgK9QtQTTzyBmTNn4saNG9XW/f3334iPj8ewYcMarTkiImr+qp60qwpSfNKOWgq9vs6bMWMGtm3bhi5duiA2Nhb33XcfAODMmTNYuXIlNBoNpk+fbpRGiYio+eKTdtQS6RWi3NzccPDgQUyYMAHTpk2TJtmUyWQIDQ3FypUr4ebmZpRGiYioeeGTdtTSyYSB043/9ddfOH/+PIQQ8PX1RevWrRu7t2avqKgISqUSarW6xmkhiIhagrpmJS8sLIRMJoNSqaxxPZ+0o6aovp/fBs9Y3rp1a/Tr18/QzYmIqAVoyKzkRM2d3j9ATEREVKWmWcmzs72gVjvUWUfUEhh8JYqIiOh29Z2VnKil4JUoIiJqsNpmJb/zihRRS8IQRUREDVbXrORELRVDFBERNRhnJad7EUMUERE1GGclp3sRbywnIqJGwVnJ6V7DEEVERAbjrOR0L2OIIiIig7m4uCA2NrbOeaA4Kzm1VAxRRETUIAxIdK/ijeVEREREBmCIIiIiIjKA2UPUypUr4eXlBRsbGwQFBeHQoUN11m/ZsgVdu3aFjY0NevbsiV27dumsF0Jg1qxZcHd3h62tLUJCQnDu3DmdmoKCAowZMwaOjo5wcnJCdHQ0SkpKqu1n0aJF6NKlC6ytrdGuXTvMnz+/cU6aiIiImj2zhqjNmzcjLi4O8fHxOHr0KPz8/BAaGoqrV6/WWH/w4EFERkYiOjoax44dQ0REBCIiInDy5EmpJjExEcuWLcOqVauQnp4Oe3t7hIaG4saNG1LNmDFjcOrUKezevRvJycn46aefEBMTo3OsSZMm4dNPP8WiRYtw5swZbN++HYGBgcYZCCIiImp+hBkFBgaKiRMnSu81Go3w8PAQCQkJNdaPHDlShIWF6SwLCgoSL774ohBCCK1WK1QqlVi4cKG0vrCwUFhbW4svv/xSCCHE6dOnBQBx+PBhqeb7778XMplM/O9//5NqLC0txZkzZxp0fmq1WgAQarW6QfshIiIi06nv57fZrkRVVFQgIyMDISEh0jK5XI6QkBCkpaXVuE1aWppOPQCEhoZK9dnZ2cjNzdWpUSqVCAoKkmrS0tLg5OSEgIAAqSYkJARyuRzp6ekAgB07dqBTp05ITk6Gt7c3vLy88Pzzz6OggD9fQERERLeYLURdv34dGo0Gbm5uOsvd3NyQm5tb4za5ubl11lf9ebcaV1dXnfWWlpZwdnaWan7//Xf88ccf2LJlCz7//HMkJSUhIyMD//rXv+o8p/LychQVFem8iIiIqGXiPFE10Gq1KC8vx+eff44uXboAANasWQN/f3+cPXsW9913X43bJSQkYM6cOaZslYiIiMzEbFei2rRpAwsLC+Tl5eksz8vLg0qlqnEblUpVZ33Vn3erufPG9Zs3b6KgoECqcXd3h6WlpRSgAKBbt24AgJycnFrPadq0aVCr1dLr0qVLtdYSERFR82a2EKVQKODv74/U1FRpmVarRWpqKoKDg2vcJjg4WKceAHbv3i3Ve3t7Q6VS6dQUFRUhPT1dqgkODkZhYSEyMjKkmr1790Kr1SIoKAgA8MADD+DmzZu4cOGCVPPbb78BADp27FjrOVlbW8PR0VHnRURERC2UiW50r9GmTZuEtbW1SEpKEqdPnxYxMTHCyclJ5ObmCiGEGDt2rHjrrbek+gMHDghLS0uxaNEikZWVJeLj44WVlZU4ceKEVLNgwQLh5OQkvvvuO/Hrr7+K4cOHC29vb/H3339LNUOHDhV9+vQR6enp4ueffxa+vr4iMjJSWq/RaETfvn3FQw89JI4ePSqOHDkigoKCxKOPPqrX+fHpPCIiouanvp/fZg1RQgixfPly0aFDB6FQKERgYKD45ZdfpHWDBg0SUVFROvVfffWV6NKli1AoFKJHjx5i586dOuu1Wq2YOXOmcHNzE9bW1mLIkCHi7NmzOjX5+fkiMjJStGrVSjg6Oorx48eL4uJinZr//e9/4umnnxatWrUSbm5uYty4cSI/P1+vc2OIIiIian7q+/ktE0II814La7mKioqgVCqhVqv51R4REVEzUd/Pb7P/7AsRERFRc8QQRURERGQAhigiIiIiAzBEERERERmAIYqIiIjIAAxRRERERAZgiCIiIiIyAH+AmIioCcjPz0dFRUWt6xUKBVxcXEzYERHdDUMUEZGZ5efnY8WKFdJ7tdoBBQUucHbOh1JZLC2PjY1lkCJqQhiiiIjM7PYrUEeP9sGOHcMghBwymRbh4cno2/dYtToiMj/eE0VE1ESo1Q5SgAIAIeTYsWMY1GoHM3dGRDVhiCIiaiIKClykAFVFCDkKCpzN1BER1YUhioioiXB2zodMptVZJpNp4excYKaOiKguDFFERE2EUlmM8PBkKUhV3RN1+83lRNR08MZyIqImpG/fY/DxOY+CAmc4OxcwQBE1YQxRRERNjFJZzPBE1Azw6zwiIjNTKBSNWkdEpsErUUREZubi4oLY2FjOWE7UzDBEERE1AQxIRM0Pv84jIiIiMgBDFBEREZEBGKKIiIiIDMAQRURERGQAhigiIiIiAzBEERERERmAIYqIiIjIAAxRRERERAZgiCIiIiIyAEMUERERkQEYooiIiIgMwBBFREREZACGKCIiIiIDMEQRERERGYAhioiIiMgADFFEREREBmCIIiIiIjIAQxQRERGRARiiiIiIiAzQJELUypUr4eXlBRsbGwQFBeHQoUN11m/ZsgVdu3aFjY0NevbsiV27dumsF0Jg1qxZcHd3h62tLUJCQnDu3DmdmoKCAowZMwaOjo5wcnJCdHQ0SkpKajze+fPn4eDgACcnpwadJxEREbUcZg9RmzdvRlxcHOLj43H06FH4+fkhNDQUV69erbH+4MGDiIyMRHR0NI4dO4aIiAhERETg5MmTUk1iYiKWLVuGVatWIT09Hfb29ggNDcWNGzekmjFjxuDUqVPYvXs3kpOT8dNPPyEmJqba8SorKxEZGYkHH3yw8U+eiBpVfn4+rly5UusrPz/f3C0SUQsiE0IIczYQFBSEfv36YcWKFQAArVYLT09PvPLKK3jrrbeq1Y8aNQqlpaVITk6WlvXv3x+9e/fGqlWrIISAh4cHpk6ditdeew0AoFar4ebmhqSkJIwePRpZWVno3r07Dh8+jICAAABASkoKnnjiCVy+fBkeHh7Svt988038+eefGDJkCCZPnozCwsJ6n1tRURGUSiXUajUcHR0NGR4iqqf8/HzpvyN1iY2NhYuLiwk6IqLmqr6f32a9ElVRUYGMjAyEhIRIy+RyOUJCQpCWllbjNmlpaTr1ABAaGirVZ2dnIzc3V6dGqVQiKChIqklLS4OTk5MUoAAgJCQEcrkc6enp0rK9e/diy5YtWLlyZb3Op7y8HEVFRTovIjKNiooKnfdqtQOys72gVjvUWUdEZChLcx78+vXr0Gg0cHNz01nu5uaGM2fO1LhNbm5ujfW5ubnS+qplddW4urrqrLe0tISzs7NUk5+fj3HjxmH9+vX1voqUkJCAOXPm1KuWiIzn6NE+2LFjGISQQybTIjw8GX37HjN3W0TUwpj9nqim6oUXXsAzzzyDhx56qN7bTJs2DWq1WnpdunTJiB0SUU3UagcpQAGAEHLs2DGs2hUpIqKGMmuIatOmDSwsLJCXl6ezPC8vDyqVqsZtVCpVnfVVf96t5s4b12/evImCggKpZu/evVi0aBEsLS1haWmJ6OhoqNVqWFpa4rPPPquxN2trazg6Ouq8iMi0CgpcpABVRQg5CgqczdQREbVUZg1RCoUC/v7+SE1NlZZptVqkpqYiODi4xm2Cg4N16gFg9+7dUr23tzdUKpVOTVFREdLT06Wa4OBgFBYWIiMjQ6rZu3cvtFotgoKCANy6byozM1N6vfPOO3BwcEBmZiaeeuqpxhkAImp0zs75kMm0OstkMi2cnQvM1BERtVRmvScKAOLi4hAVFYWAgAAEBgZi6dKlKC0txfjx4wEAzz33HNq1a4eEhAQAwKRJkzBo0CAsXrwYYWFh2LRpE44cOYJPPvkEACCTyTB58mTMmzcPvr6+8Pb2xsyZM+Hh4YGIiAgAQLdu3TB06FC88MILWLVqFSorKxEbG4vRo0dLT+Z169ZNp88jR45ALpfj/vvvN9HIEJEhlMpihIcnV7snSqksNndrRNTCmD1EjRo1CteuXcOsWbOQm5uL3r17IyUlRboxPCcnB3L5PxfMBgwYgI0bN2LGjBl4++234evri2+//VYn3LzxxhsoLS1FTEwMCgsLMXDgQKSkpMDGxkaq2bBhA2JjYzFkyBDI5XKMGDECy5YtM92JE5HR9O17DD4+51FQ4Axn5wIGKCIyCrPPE9WScZ4oItPhPFFE1Fjq+/lt9itRRNSy5efn1zk3k0KhaJRQ4+LigtjYWJMci4gIYIgiIiMy9dUhBiQiMiXOE0VERsNZxImoJeOVKCIyCc4iTkQtDa9EEZHRcRZxImqJGKKIyOg4izgRtUQMUURkdJxFnIhaIoYoIjK6qlnEq4IUZxEnopaAN5YTUb01ZM4nziJORC0NQxQR6agtKBUWFuKrr7666/a3z/mkUCh01imVxTWGpzvriIiaA4YoIpLUd3JM4NYTdwUFLnB2ztcJRrcHMM4iTkQtGUMUEUlqmhyzpqCkz5xPDEhE1FIxRBFRjWoLSrXN+eTjc573ORHRPYVP5xFRNXVNjsk5n4iIbmGIIqJq6gpKnPOJiOgWfp1H1ELVNR1BYWEhZDIZlEqlzvLr168D+GdyzNuDVFVQqprz6c6v+vhVHhHdaxiiiFogfZ6yq8ndghLnfCIiYogiapHq+5RdXe4WlDjnExHd6xiiiFq4u01HUFfAqi0ojRo1qtpXgQDnfCKiewtDFFELdrfpCOoKWE8//TTatGlTbZ8MSkREtzBEEbVgd5uOoK6A1aZNG7i7u5u8ZyKi5oJTHBC1YHVNR8D5noiIGoYhiqgFq3rKripI3f6UHed7IiJqGH6dR9TC1faUHed7IiJqGIYoohbozmkGanvKrq5pDDhVARFR3RiiiFogFxcXxMbG6j1jeRU+gUdEdHcMUUQtVF0hiE/dERE1HG8sJyIiIjIAQxQRERGRAfh1HpEJ5efn13qfEsB7kYiImhOGKCITyc/Px4oVK+5aFxsbyyBFRNQM8Os8IhO58wqUWu2A7GwvqNUOddYREVHTxCtRRGZQ1w//EhFR88ArUUQmplY71PjDv3dekSIioqaNIYrIxPjDv0RELQNDFJGJ8Yd/iYhaBoYoIhOr+uHfqiDFH/4lImqeeGM5kRnU9cO/RETUPDSJK1ErV66El5cXbGxsEBQUhEOHDtVZv2XLFnTt2hU2Njbo2bMndu3apbNeCIFZs2bB3d0dtra2CAkJwblz53RqCgoKMGbMGDg6OsLJyQnR0dEoKSmR1u/fvx/Dhw+Hu7s77O3t0bt3b2zYsKHxTpruOQqFQue9UlkMb+8/qgWoO+uIiKhpMvuVqM2bNyMuLg6rVq1CUFAQli5ditDQUJw9exaurq7V6g8ePIjIyEgkJCRg2LBh2LhxIyIiInD06FHcf//9AIDExEQsW7YM69atg7e3N2bOnInQ0FCcPn0aNjY2AIAxY8bgypUr2L17NyorKzF+/HjExMRg48aN0nF69eqFN998E25ubkhOTsZzzz0HpVKJYcOGmW6AqMVwcXFBbGwsZywnImohZEIIYc4GgoKC0K9fP2kmZ61WC09PT7zyyit46623qtWPGjUKpaWlSE5Olpb1798fvXv3xqpVqyCEgIeHB6ZOnYrXXnsNAKBWq+Hm5oakpCSMHj0aWVlZ6N69Ow4fPoyAgAAAQEpKCp544glcvnwZHh4eNfYaFhYGNzc3fPbZZ/U6t6KiIiiVSqjVajg6Ouo1LkRERGQe9f38NuvXeRUVFcjIyEBISIi0TC6XIyQkBGlpaTVuk5aWplMPAKGhoVJ9dnY2cnNzdWqUSiWCgoKkmrS0NDg5OUkBCgBCQkIgl8uRnp5ea79qtRrOzrU/hl5eXo6ioiKdFxEREbVMZg1R169fh0ajgZubm85yNzc35Obm1rhNbm5unfVVf96t5s6vCi0tLeHs7Fzrcb/66iscPnwY48ePr/V8EhISoFQqpZenp2ettURERNS8NYkby5u6ffv2Yfz48Vi9ejV69OhRa920adOgVqul16VLl0zYJREREZmSWUNUmzZtYGFhgby8PJ3leXl5UKlUNW6jUqnqrK/68241V69e1Vl/8+ZNFBQUVDvu//3f/yE8PBzvv/8+nnvuuTrPx9raGo6OjjovIiIiapnMGqIUCgX8/f2RmpoqLdNqtUhNTUVwcHCN2wQHB+vUA8Du3bulem9vb6hUKp2aoqIipKenSzXBwcEoLCxERkaGVLN3715otVoEBQVJy/bv34+wsDC89957iImJafgJExERUcshzGzTpk3C2tpaJCUlidOnT4uYmBjh5OQkcnNzhRBCjB07Vrz11ltS/YEDB4SlpaVYtGiRyMrKEvHx8cLKykqcOHFCqlmwYIFwcnIS3333nfj111/F8OHDhbe3t/j777+lmqFDh4o+ffqI9PR08fPPPwtfX18RGRkprd+7d6+ws7MT06ZNE1euXJFe+fn59T43tVotAAi1Wt2QISIiIiITqu/nt9nniRo1ahSuXbuGWbNmITc3F71790ZKSop0Y3hOTg7k8n8umA0YMAAbN27EjBkz8Pbbb8PX1xfffvutNEcUALzxxhsoLS1FTEwMCgsLMXDgQKSkpEhzRAHAhg0bEBsbiyFDhkAul2PEiBFYtmyZtH7dunUoKytDQkICEhISpOWDBg3C/v37jTgiVOXChQsoKyurdb2dnR18fHxM2BEREdE/zD5PVEvGeaIMd+HCBaxfv/6udc8++yyDFBERNapmMU8UUW3uvAJ1+bI7Dh7sj8uX3eusIyIiMhWzf51HdDfffDMcx4/7AZABEPDzO46nnvrO3G0REdE9jleiqEm7fNn9tgAFADIcP+5X7YoUERGRqTFEUZOWk9MR/wSoKjJcutTBHO0QERFJGKKoSevQ4Q8Adz77IODpmWOOdoiIiCQMUdSktW9/BX5+x/FPkLp1T1T79lfM2RYRERFvLKem76mnvkO/fodw6VIHeHrmMEAREVGTwBBFTZKdnZ3O+/btr9QYnu6sIyIiMhWGKGqSfHx88Oyzz3LGciIiarIYoqjJYkAiIqKmjDeWExERERmAV6LuUfn5+aioqKh1vUKhgIuLiwk7IiIial4You5B+fn5WLFixV3rYmNjGaSIiIhqwa/z7kF3XoFSqx2Qne0FtdqhzjoiIiL6B69E3eOOHu2DHTuGQQg5ZDItwsOT0bfvMXO3RURE1OTxStQ9TK12kAIUAAghx44dw6pdkSIiIqLqGKLuYQUFLlKAqiKEHAUFzmbqiIiIqPng13nNhDGepnN2zodMptUJUjKZFs7OBQb3SUREdK9giGoGjPU0nVJZjPDw5Gr3RCmVxQ1pl4iI6J7AENUM1PQ0XUGBC5yd83UCjyFP0/Xteww+PudRUOAMZ+cCBigiIqJ6YohqZhrjaTqFQqHzXqksrjE83VlHRERE/2CIakZqe5rOx+e8XleQXFxcEBsbyxnLiYiIGoAhqhmp62k6fb+GY0AiIiJqGE5x0IxUPU13Oz5NR0REZB4MUc1I1dN0VUGKT9MRERGZD7/Oa2b4NB0REVHTwBDVDPBpOiIioqaHIaoZ4NN0RERETQ9DVDPBgERERNS08MZyIiIiIgMwRBEREREZgCGKiIiIyAAMUUREREQGYIgiIiIiMgBDFBEREZEBGKKIiIiIDMAQRURERGQAhigiIiIiA3DGciMSQgAAioqKzNwJERER1VfV53bV53htGKKMqLj41o8Ee3p6mrkTIiIi0ldxcTGUSmWt62XibjGLDKbVavHnn3/CwcEBMpmsxpqioiJ4enri0qVLcHR0NHGHTQfH4RaOwz84FrdwHG7hOPyDY3GLMcdBCIHi4mJ4eHhALq/9zideiTIiuVyO9u3b16vW0dHxnv4fQxWOwy0ch39wLG7hONzCcfgHx+IWY41DXVegqvDGciIiIiIDMEQRERERGYAhysysra0RHx8Pa2trc7diVhyHWzgO/+BY3MJxuIXj8A+OxS1NYRx4YzkRERGRAXglioiIiMgADFFEREREBmCIIiIiIjIAQxQRERGRARiijGzlypXw8vKCjY0NgoKCcOjQoVprT506hREjRsDLywsymQxLly41XaMmoM9YrF69Gg8++CBat26N1q1bIyQkpM765kSfcdi2bRsCAgLg5OQEe3t79O7dG1988YUJuzUufcbidps2bYJMJkNERIRxGzQRfcYhKSkJMplM52VjY2PCbo1H338PhYWFmDhxItzd3WFtbY0uXbpg165dJurWuPQZi4cffrjavwmZTIawsDATdmwc+v6bWLp0Ke677z7Y2trC09MTU6ZMwY0bN4zXoCCj2bRpk1AoFOKzzz4Tp06dEi+88IJwcnISeXl5NdYfOnRIvPbaa+LLL78UKpVKvP/++6Zt2Ij0HYtnnnlGrFy5Uhw7dkxkZWWJcePGCaVSKS5fvmzizhuXvuOwb98+sW3bNnH69Glx/vx5sXTpUmFhYSFSUlJM3Hnj03csqmRnZ4t27dqJBx98UAwfPtw0zRqRvuOwdu1a4ejoKK5cuSK9cnNzTdx149N3HMrLy0VAQIB44oknxM8//yyys7PF/v37RWZmpok7b3z6jkV+fr7Ov4eTJ08KCwsLsXbtWtM23sj0HYcNGzYIa2trsWHDBpGdnS1++OEH4e7uLqZMmWK0HhmijCgwMFBMnDhReq/RaISHh4dISEi467YdO3ZsUSGqIWMhhBA3b94UDg4OYt26dcZq0SQaOg5CCNGnTx8xY8YMY7RnUoaMxc2bN8WAAQPEp59+KqKiolpEiNJ3HNauXSuUSqWJujMdfcfho48+Ep06dRIVFRWmatFkGvrfiffff184ODiIkpISY7VoEvqOw8SJE8XgwYN1lsXFxYkHHnjAaD3y6zwjqaioQEZGBkJCQqRlcrkcISEhSEtLM2NnptcYY1FWVobKyko4Ozsbq02ja+g4CCGQmpqKs2fP4qGHHjJmq0Zn6Fi88847cHV1RXR0tCnaNDpDx6GkpAQdO3aEp6cnhg8fjlOnTpmiXaMxZBy2b9+O4OBgTJw4EW5ubrj//vvx7rvvQqPRmKpto2iM/16uWbMGo0ePhr29vbHaNDpDxmHAgAHIyMiQvvL7/fffsWvXLjzxxBNG65M/QGwk169fh0ajgZubm85yNzc3nDlzxkxdmUdjjMWbb74JDw8Pnf9BNTeGjoNarUa7du1QXl4OCwsLfPjhh3j00UeN3a5RGTIWP//8M9asWYPMzEwTdGgahozDfffdh88++wy9evWCWq3GokWLMGDAAJw6dareP3je1BgyDr///jv27t2LMWPGYNeuXTh//jxefvllVFZWIj4+3hRtG0VD/3t56NAhnDx5EmvWrDFWiyZhyDg888wzuH79OgYOHAghBG7evImXXnoJb7/9ttH6ZIiiJm/BggXYtGkT9u/f32JuoNWHg4MDMjMzUVJSgtTUVMTFxaFTp054+OGHzd2ayRQXF2Ps2LFYvXo12rRpY+52zCo4OBjBwcHS+wEDBqBbt274+OOPMXfuXDN2ZlparRaurq745JNPYGFhAX9/f/zvf//DwoULm3WIaqg1a9agZ8+eCAwMNHcrJrd//368++67+PDDDxEUFITz589j0qRJmDt3LmbOnGmUYzJEGUmbNm1gYWGBvLw8neV5eXlQqVRm6so8GjIWixYtwoIFC7Bnzx706tXLmG0anaHjIJfL0blzZwBA7969kZWVhYSEhGYdovQdiwsXLuDixYsIDw+Xlmm1WgCApaUlzp49Cx8fH+M2bQSN8d8JKysr9OnTB+fPnzdGiyZhyDi4u7vDysoKFhYW0rJu3bohNzcXFRUVUCgURu3ZWBryb6K0tBSbNm3CO++8Y8wWTcKQcZg5cybGjh2L559/HgDQs2dPlJaWIiYmBtOnT4dc3vh3MPGeKCNRKBTw9/dHamqqtEyr1SI1NVXn/4u8Fxg6FomJiZg7dy5SUlIQEBBgilaNqrH+TWi1WpSXlxujRZPRdyy6du2KEydOIDMzU3o9+eSTeOSRR5CZmQlPT09Ttt9oGuPfhEajwYkTJ+Du7m6sNo3OkHF44IEHcP78eSlMA8Bvv/0Gd3f3ZhuggIb9m9iyZQvKy8vx7LPPGrtNozNkHMrKyqoFpaqQLYz1M8FGu2WdxKZNm4S1tbVISkoSp0+fFjExMcLJyUl6HHns2LHirbfekurLy8vFsWPHxLFjx4S7u7t47bXXxLFjx8S5c+fMdQqNRt+xWLBggVAoFOLrr7/WeXS3uLjYXKfQKPQdh3fffVf8+OOP4sKFC+L06dNi0aJFwtLSUqxevdpcp9Bo9B2LO7WUp/P0HYc5c+aIH374QVy4cEFkZGSI0aNHCxsbG3Hq1ClznUKj0HcccnJyhIODg4iNjRVnz54VycnJwtXVVcybN89cp9BoDP3fxsCBA8WoUaNM3a7R6DsO8fHxwsHBQXz55Zfi999/Fz/++KPw8fERI0eONFqPDFFGtnz5ctGhQwehUChEYGCg+OWXX6R1gwYNElFRUdL77OxsAaDaa9CgQaZv3Aj0GYuOHTvWOBbx8fGmb7yR6TMO06dPF507dxY2NjaidevWIjg4WGzatMkMXRuHPmNxp5YSooTQbxwmT54s1bq5uYknnnhCHD161AxdNz59/z0cPHhQBAUFCWtra9GpUycxf/58cfPmTRN3bRz6jsWZM2cEAPHjjz+auFPj0mccKisrxezZs4WPj4+wsbERnp6e4uWXXxZ//fWX0fqTCWGsa1xERERELRfviSIiIiIyAEMUERERkQEYooiIiIgMwBBFREREZACGKCIiIiIDMEQRERERGYAhioiIiMgADFFERC3AuHHjEBERYe42iO4pDFFEZFTjxo2DTCaTXi4uLhg6dCh+/fVXc7fWKG4/t6rXwIEDjXa8ixcvQiaTITMzU2f5Bx98gKSkJKMdl4iqY4giIqMbOnQorly5gitXriA1NRWWlpYYNmyYudtqNGvXrpXO78qVK9i+fXuNdZWVlUbrQalUwsnJyWj7J6LqGKKIyOisra2hUqmgUqnQu3dvvPXWW7h06RKuXbuGwYMHIzY2Vqf+2rVrUCgU0i+4e3l5Ye7cuYiMjIS9vT3atWuHlStX6myzZMkS9OzZE/b29vD09MTLL7+MkpISaf0ff/yB8PBwtG7dGvb29ujRowd27doFAPjrr78wZswYtG3bFra2tvD19cXatWvrfX5OTk7S+alUKjg7O0tXjDZv3oxBgwbBxsYGGzZsQH5+PiIjI9GuXTvY2dmhZ8+e+PLLL3X2p9VqkZiYiM6dO8Pa2hodOnTA/PnzAQDe3t4AgD59+kAmk+Hhhx8GUP3rvPLycrz66qtwdXWFjY0NBg4ciMOHD0vr9+/fD5lMhtTUVAQEBMDOzg4DBgzA2bNn633eRPc6higiMqmSkhKsX78enTt3houLC55//nls3LgR5eXlUs369evRrl07DB48WFq2cOFC+Pn54dixY3jrrbcwadIk7N69W1ovl8uxbNkynDp1CuvWrcPevXvxxhtvSOsnTpyI8vJy/PTTTzhx4gTee+89tGrVCgAwc+ZMnD59Gt9//z2ysrLw0UcfoU2bNo1yvlW9ZmVlITQ0FDdu3IC/vz927tyJkydPIiYmBmPHjsWhQ4ekbaZNm4YFCxZIfW3cuBFubm4AINXt2bMHV65cwbZt22o87htvvIGtW7di3bp1OHr0KDp37ozQ0FAUFBTo1E2fPh2LFy/GkSNHYGlpif/85z+Nct5E9wSj/bQxEZEQIioqSlhYWAh7e3thb28vAAh3d3eRkZEhhBDi77//Fq1btxabN2+WtunVq5eYPXu29L5jx45i6NChOvsdNWqUePzxx2s97pYtW4SLi4v0vmfPnjr7vF14eLgYP368QecHQNjY2EjnZ29vL7755huRnZ0tAIilS5fedR9hYWFi6tSpQgghioqKhLW1tVi9enWNtVX7PXbsmM7yqKgoMXz4cCGEECUlJcLKykps2LBBWl9RUSE8PDxEYmKiEEKIffv2CQBiz549Us3OnTsFAPH333/rMwRE9yxeiSIio3vkkUeQmZmJzMxMHDp0CKGhoXj88cfxxx9/wMbGBmPHjsVnn30GADh69ChOnjyJcePG6ewjODi42vusrCzp/Z49ezBkyBC0a9cODg4OGDt2LPLz81FWVgYAePXVVzFv3jw88MADiI+P17mxfcKECdi0aRN69+6NN954AwcPHtTr/N5//33p/DIzM/Hoo49K6wICAnRqNRoN5s6di549e8LZ2RmtWrXCDz/8gJycHABAVlYWysvLMWTIEL16uN2FCxdQWVmJBx54QFpmZWWFwMBAnTEDgF69ekl/d3d3BwBcvXrV4GMT3UsYoojI6Ozt7dG5c2d07twZ/fr1w6efforS0lKsXr0aAPD8889j9+7duHz5MtauXYvBgwejY8eO9d7/xYsXMWzYMPTq1Qtbt25FRkaGdM9URUWFdIzff/8dY8eOxYkTJxAQEIDly5cDgBTopkyZgj///BNDhgzBa6+9Vu/jq1Qq6fw6d+4Me3t7nXO/3cKFC/HBBx/gzTffxL59+5CZmYnQ0FCpT1tb23oftzFYWVlJf5fJZABu3ZNFRHfHEEVEJieTySCXy/H3338DAHr27ImAgACsXr0aGzdurPG+nF9++aXa+27dugEAMjIyoNVqsXjxYvTv3x9dunTBn3/+WW0fnp6eeOmll7Bt2zZMnTpVCnEA0LZtW0RFRWH9+vVYunQpPvnkk8Y8ZcmBAwcwfPhwPPvss/Dz80OnTp3w22+/Set9fX1ha2sr3VR/J4VCAeDWFa3a+Pj4QKFQ4MCBA9KyyspKHD58GN27d2+kMyEiS3M3QEQtX3l5OXJzcwHcehJuxYoVKCkpQXh4uFTz/PPPIzY2Fvb29njqqaeq7ePAgQNITExEREQEdu/ejS1btmDnzp0AgM6dO6OyshLLly9HeHg4Dhw4gFWrVulsP3nyZDz++OPo0qUL/vrrL+zbt08KYbNmzYK/vz969OiB8vJyJCcnS+sam6+vL77++mscPHgQrVu3xpIlS5CXlyeFGxsbG7z55pt44403oFAo8MADD+DatWs4deoUoqOj4erqCltbW6SkpKB9+/awsbGBUqnUOYa9vT0mTJiA119/Hc7OzujQoQMSExNRVlaG6Ohoo5wX0b2IV6KIyOhSUlLg7u4Od3d3BAUF4fDhw9iyZYv0eD4AREZGwtLSEpGRkbCxsam2j6lTp+LIkSPo06cP5s2bhyVLliA0NBQA4OfnhyVLluC9997D/fffjw0bNiAhIUFne41Gg4kTJ6Jbt24YOnQounTpgg8//BDAras706ZNQ69evfDQQw/BwsICmzZtMspYzJgxA3379kVoaCgefvhhqFSqajONz5w5E1OnTsWsWbPQrVs3jBo1SrpPydLSEsuWLcPHH38MDw8PDB8+vMbjLFiwACNGjMDYsWPRt29fnD9/Hj/88ANat25tlPMiuhfJhBDC3E0QEV28eBE+Pj44fPgw+vbtq7POy8sLkydPxuTJk83THBFRDfh1HhGZVWVlJfLz8zFjxgz079+/WoAiImqq+HUeEZnVgQMH4O7ujsOHD1e7j8nc3n33XbRq1arG1+OPP27u9ojIzPh1HhFRLQoKCqrN8F3F1tYW7dq1M3FHRNSUMEQRERERGYBf5xEREREZgCGKiIiIyAAMUUREREQGYIgiIiIiMgBDFBEREZEBGKKIiIiIDMAQRURERGQAhigiIiIiA/w/k6v3efIxuGcAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_10.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_11.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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rT7effddeHh46IWoiIgIfPrpp0hOTsbChQvx448/YuDAgSgtLa2wj4SEBKjVaunh5eVV85MiIiKieq+JuQuojQULFmDr1q1ISUmBtbW1dHz48OHSz507d0aXLl3g6+uLlJQU9OvXr1w/sbGxiImJkZ7n5eUxBBERETViZp0BcnZ2hoWFBXJycvSO5+TkwM3Nrcr3LlmyBAsWLMC3336LLl26VNm2TZs2cHZ2RmZmZoWvW1lZwd7eXu9BREREjZdZA5BKpUJQUBCSk5OlYzqdDsnJyQgNDa30fYsWLUJ8fDySkpIQHBz82M+5evUqNBoN3N3d66RuIiIiatjMfht8TEwM1qxZg40bN+L06dOYNGkSCgoKMG7cOADA6NGjERsbK7VfuHAhZs2ahXXr1sHb2xvZ2dnIzs5Gfn4+ACA/Px/vvPMOfv75Z1y8eBHJyckYMmQI/Pz8EB4ebpZzJCIiovrF7GuAoqKicPPmTcyePRvZ2dkICAhAUlKStDD68uXLUCof5LRVq1ahuLgYL7zwgl4/cXFxmDNnDiwsLHDs2DFs3LgRt2/fhoeHBwYMGID4+HhYWVmZ9NyIiIiofjL7PkD1EfcBIiIiangazD5ARERERObAAERERESywwBEREREssMARERERLLDAERERESywwBEREREssMARERERLLDAERERESywwBEREREssMARERERLLDAERERESywwBEREREssMARERERLLDAERERESywwBEREREssMARERERLLDAERERESywwBEREREssMARERERLLDAERERESywwBEREREssMARERERLLDAERERESywwBEREREssMARERERLLDAERERESywwBEREREssMARERERLLDAERERESywwBEREREssMARERERLLDAERERESywwBEREREssMARERERLLDAERERESywwBEREREssMARERERLLDAERERESywwBEREREslMvAtCKFSvg7e0Na2trhISE4PDhw5W2XbNmDXr16gUHBwc4ODggLCysXHshBGbPng13d3fY2NggLCwM586dM/ZpEBERUQNh9gC0bds2xMTEIC4uDunp6fD390d4eDhu3LhRYfuUlBSMGDECP/zwA1JTU+Hl5YUBAwbg999/l9osWrQIy5Ytw+rVq3Ho0CHY2toiPDwcd+/eNdVpERFRHdBoNLh+/Xql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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_12.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABLFklEQVR4nO3de1xU1cL/8e+ADCDCKKhclETxllYqXkjLtKKwo5RPdVK7aHaxOqF5KEu6iGaFlsfIS9bpl2J1LDtldjQfulB2Mk07XjJLzQtmlqBCDohHMGb//vBhdOQiIDAD+/N+veYVs/eaNWuvpplva6+9tsUwDEMAAAAm4uXuBgAAANQ3AhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAeKj09HRZLBbt27fP3U0BGh0CEGBi3377rRITE9W9e3cFBAToggsu0C233KKffvqpTNnBgwfLYrHIYrHIy8tLQUFB6tKli+644w59+umn1XrfFStWaNCgQWrdurWaNm2qDh066JZbblFGRkZtHVoZzz33nJYvX15m+9q1azV16lQdPXq0zt77bFOnTnX2pcViUdOmTdWtWzc9+eSTys/Pr5X3WLJkidLS0mqlLqAxIgABJjZz5ky9//77uvrqq/XSSy9p3Lhx+ve//62YmBht27atTPm2bdvqzTff1BtvvKEXXnhB119/vdauXatrr71WI0aM0MmTJ8/5nrNmzdL1118vi8Wi5ORkvfjii7rpppu0a9cuvfPOO3VxmJIqD0DTpk2r1wBUasGCBXrzzTc1e/Zsde3aVc8++6yGDBmi2rhFIwEIqFwTdzcAgPskJSVpyZIlslqtzm0jRozQxRdfrBkzZuitt95yKW+z2XT77be7bJsxY4YmTJigl19+WVFRUZo5c2aF7/fHH39o+vTpuuaaa/TJJ5+U2X/o0KHzPCLPcfz4cTVt2rTSMjfffLNatmwpSbr//vt10003admyZfrmm2/Uv3//+mgmYFqMAAEmNmDAAJfwI0mdOnVS9+7dtX379irV4e3trTlz5qhbt26aN2+e7HZ7hWWPHDmi/Px8XXbZZeXub926tcvzEydOaOrUqercubP8/PwUHh6uG2+8UXv27HGWmTVrlgYMGKCQkBD5+/urd+/eeu+991zqsVgsKiws1OLFi52nne68805NnTpVkyZNkiS1b9/eue/MOTdvvfWWevfuLX9/fwUHB2vkyJH65ZdfXOofPHiwLrroIm3cuFFXXHGFmjZtqscff7xK/Xemq666SpKUlZVVabmXX35Z3bt3l6+vryIiIvTggw+6jGANHjxYH330kX7++WfnMUVFRVW7PUBjxggQABeGYSgnJ0fdu3ev8mu8vb01atQoPfXUU1qzZo2GDh1abrnWrVvL399fK1as0Pjx4xUcHFxhnSUlJRo2bJgyMzM1cuRIPfTQQyooKNCnn36qbdu2KTo6WpL00ksv6frrr9dtt92m4uJivfPOO/rzn/+slStXOtvx5ptv6p577lG/fv00btw4SVJ0dLQCAgL0008/6e2339aLL77oHI1p1aqVJOnZZ5/VU089pVtuuUX33HOPDh8+rLlz5+qKK67Q5s2b1bx5c2d7c3Nzdd1112nkyJG6/fbbFRoaWuX+K1Ua7EJCQiosM3XqVE2bNk1xcXF64IEHtHPnTi1YsEDffvutvv76a/n4+OiJJ56Q3W7XgQMH9OKLL0qSmjVrVu32AI2aAQBnePPNNw1Jxuuvv+6yfdCgQUb37t0rfN0HH3xgSDJeeumlSuufMmWKIckICAgwrrvuOuPZZ581Nm7cWKbcwoULDUnG7Nmzy+xzOBzOv48fP+6yr7i42LjooouMq666ymV7QECAMWbMmDJ1vfDCC4YkIysry2X7vn37DG9vb+PZZ5912f79998bTZo0cdk+aNAgQ5LxyiuvVHjcZ0pJSTEkGTt37jQOHz5sZGVlGa+++qrh6+trhIaGGoWFhYZhGMaiRYtc2nbo0CHDarUa1157rVFSUuKsb968eYYkY+HChc5tQ4cONdq1a1el9gBmxCkwAE47duzQgw8+qP79+2vMmDHVem3pCENBQUGl5aZNm6YlS5aoV69e+vjjj/XEE0+od+/eiomJcTnt9v7776tly5YaP358mTosFovzb39/f+ffv//+u+x2uwYOHKhNmzZVq/1nW7ZsmRwOh2655RYdOXLE+QgLC1OnTp30xRdfuJT39fXV2LFjq/UeXbp0UatWrdS+fXvdd9996tixoz766KMK5w599tlnKi4u1sSJE+Xldfrr+95771VQUJA++uij6h8oYFKcAgMgScrOztbQoUNls9n03nvvydvbu1qvP3bsmCQpMDDwnGVH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27aGj4+P0adPH2PixInGmjVrXMq0a9fOePHFF1223X333ca4ceNctn311VeGl5eX8d///rfc9/r2228NSUZBQYFhGKdHgD777DNnmdTUVEOSsWfPHue2++67z4iPj6/S8YwZM8bw9vY2AgICDF9fX0OS4eXlZbz33nuVvm7o0KHGww8/7Hw+aNAg46GHHnIpc/YI0K233mpcc801LmUmTZpkdOvWrUptBcyOESAAFZo5c6YWL16s7du3n7PsE088oS1btmjKlCk6duxYleq/4oortHfvXmVmZurmm2/WDz/8oIEDB2r69OmVvu67775Tenq6mjVr5nzEx8fL4XAoKytL0qkRkoSEBF1wwQUKDAzUoEGDJEn79+93qeuSSy5x/h0aGqqmTZuqQ4cOLtsOHTpUpeORpCuvvFJbtmzR+vXrNWbMGI0dO1Y33XSTc39JSYmmT5+uiy++WMHBwWrWrJk+/vjjMu06l+3bt+uyyy5z2XbZZZdp165dKikpqVZdgBkRgABU6IorrlB8fLySk5Ndtnfq1Ek7d+502daqVSt17NhRrVu3rtZ7+Pj4aODAgXrsscf0ySef6Omnn9b06dNVXFxc4WuOHTum++67T1u2bHE+vvvuO+3atUvR0dEqLCxUfHy8goKC9I9//EPffvutPvjgA0kqU6+Pj4/z79Krt85ksVjkcDiqfDwBAQHq2LGjevTooYULF2r9+vV6/fXXnftfeOEFvfTSS3rsscf0xRdfaMuWLYqPj6/0eAHUvibubgAAzzZjxgz17NlTXbp0cW4bNWqUbr31Vn344Ye64YYbavX9unXrpj/++EMnTpyQ1WqV1WotM6IRExOjH3/8UR07diy3ju+//165ubmaMWOGc/7Mf/7zn1ptZ1V4eXnp8ccfV1JSkm699Vb5+/vr66+/1g033KDbb79dkuRwOPTTTz+pW7duzteVd8xnu/DCC/X111+7bPv666/VuXNneXt71/7BAI0MI0AAKnXxxRfrtttu05w5c5zbRo4cqZtvvlkjR47U008/rfXr12vfvn368ssvtXTp0ir/AA8ePFivvvqqNm7cqH379mnVqlV6/PHHdeWVVyooKEjSqXWA/v3vf+vXX3/VkSNHJEmPPfaY1q5dq8TERG3ZskW7du3Shx9+6JwEfcEFF8hqtWru3Lnau3ev/vWvf53ztFpd+fOf/yxvb2/Nnz9f0qnRs08//VRr167V9u3bdd999yknJ8flNVFRUc4+PXLkSLkjUA8//LAyMzM1ffp0/fTTT1q8eLHmzZunRx55pF6OC2joCEAAzunpp592+RG2WCxaunSp0tLStGrVKl199dXq0qWL7rrrLkVGRmrNmjVVqjc+Pl6LFy/WtddeqwsvvFDjx49XfHy83n33XZf33rdvn6Kjo9WqVStJp+btfPnll/rpp580cOBA9erVS1OmTFFERISkU6fj0tPT9c9//lPdunXTjBkzNGvWrFrskapr0qSJEhMT9fzzz6uwsFBPPvmkYmJiFB8fr8GDByssLEzDhw93ec0jjzwib29vdevWTa1atSp3flBMTIzeffddvfPOO7rooos0ZcoUPf300+Ve6QagLIthGIa7GwEAAFCfGAECAACmQwACUGfOvEz97MdXX33l7uZVy/79+ys9nupexg7AvTgFBqDOVHZT1DZt2sjf378eW3N+/vjjD+3bt6/C/VFRUWrShAtrgYaCAAQAAEyHU2AAAMB0CEAAAMB0CEAAAMB0CEAAAMB0CEAAAMB0CEAAAMB0CEAAAMB0CEAAAMB0/j9U2hAYREpcgAAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_13.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABGpklEQVR4nO3de1yUdd7/8feAnEQYBRVQURQsM4/gIe1gBwpdpdy8f6GVp7VaW6mMjmZmrZWWh/CUrd6etjK9TbdVcy0lu3dTW01ky0OmhtlBUIcaVAoIrt8f3kyOHGSUmQGu1/PxmEfOdX3nuj7XN3TefK/vdV0WwzAMAQAAmIiPtwsAAADwNAIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQANRiy5Ytk8Vi0dGjR71dClCvEIAAk9u1a5dSU1N19dVXKzg4WK1bt9Zdd92lr776qlzbG2+8URaLRRaLRT4+PgoNDdWVV16p4cOHa/PmzS7td/369erXr5+aN2+uhg0bql27drrrrru0adOmmjq0cl5++WW999575ZZv375dzz//vH766Se37ftCzz//vKMvLRaLGjZsqI4dO+rZZ59Vfn5+jexjxYoVSk9Pr5FtAfUNAQgwuVdeeUVr1qzRLbfcotmzZ+uBBx7QP//5T8XHx2vv3r3l2rdq1Upvvvmm/vrXv2r69Om6/fbbtX37dt12221KSUlRcXHxRfc5Y8YM3X777bJYLJowYYJee+01DRkyRIcOHdLKlSvdcZiSqg5AL7zwgkcDUJkFCxbozTff1KxZs9ShQwe99NJL6t+/v2riMY0EIKByDbxdAADvSktL04oVK+Tv7+9YlpKSos6dO2vatGl66623nNpbrVbde++9TsumTZumhx9+WK+//rpiYmL0yiuvVLq/X3/9VVOmTNGtt96qDz/8sNz6EydOXOYR1R4FBQVq2LBhlW3+67/+S02bNpUkjR07VkOGDNHatWv16aefqk+fPp4oEzAlRoAAk+vbt69T+JGk9u3b6+qrr9aBAweqtQ1fX1/NmTNHHTt21Lx582S32ytte+rUKeXn5+vaa6+tcH3z5s2d3v/yyy96/vnndcUVVygwMFBRUVG68847deTIEUebGTNmqG/fvgoPD1dQUJASEhL07rvvOm3HYrHo7NmzWr58ueO006hRo/T888/riSeekCS1bdvWse78OTdvvfWWEhISFBQUpLCwMA0dOlTffvut0/ZvvPFGderUSbt379YNN9yghg0b6plnnqlW/53v5ptvliRlZ2dX2e7111/X1VdfrYCAALVo0ULjxo1zGsG68cYb9f777+ubb75xHFNMTIzL9QD1FSNAAMoxDEO5ubm6+uqrq/0ZX19fDRs2TJMmTdInn3yigQMHVtiuefPmCgoK0vr16/XQQw8pLCys0m2WlJRo0KBBysjI0NChQ/XII4/o9OnT2rx5s/bu3avY2FhJ0uzZs3X77bfrnnvuUVFRkVauXKn/9//+nzZs2OCo480339R9992nXr166YEHHpAkxcbGKjg4WF999ZXeeecdvfbaa47RmGbNmkmSXnrpJU2aNEl33XWX7rvvPp08eVJz587VDTfcoD179qhx48aOem02mwYMGKChQ4fq3nvvVURERLX7r0xZsAsPD6+0zfPPP68XXnhBiYmJevDBB3Xw4EEtWLBAu3bt0rZt2+Tn56eJEyfKbrfru+++02uvvSZJatSokcv1APWWAQAXePPNNw1JxuLFi52W9+vXz7j66qsr/dzf/vY3Q5Ixe/bsKrf/3HPPGZKM4OBgY8CAAcZLL71k7N69u1y7JUuWGJKMWbNmlVtXWlrq+HNBQYHTuqKiIqNTp07GzTff7LQ8ODjYGDlyZLltTZ8+3ZBkZGdnOy0/evSo4evra7z00ktOy7/44gujQYMGTsv79etnSDLeeOONSo/7fJMnTzYkGQcPHjROnjxpZGdnG3/5y1+MgIAAIyIiwjh79qxhGIaxdOlSp9pOnDhh+Pv7G7fddptRUlLi2N68efMMScaSJUscywYOHGi0adOmWvUAZsMpMABOvvzyS40bN059+vTRyJEjXfps2QjD6dOnq2z3wgsvaMWKFerevbs++OADTZw4UQkJCYqPj3c67bZmzRo1bdpUDz30ULltWCwWx5+DgoIcf/7xxx9lt9t1/fXXKzMz06X6L7R27VqVlpbqrrvu0qlTpxyvyMhItW/fXlu3bnVqHxAQoNGjR7u0jyuvvFLNmjVT27Zt9cc//lFxcXF6//33K507tGXLFhUVFWn8+PHy8fntn/D7779foaGhev/9910/UMCEOAUGwCEnJ0cDBw6U1WrVu+++K19fX5c+f+bMGUlSSEjI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zFoeOHCgWrdurQULFlS4fuzYsTp27Fi5OzPXNfn5+bJarbLb7QoNDfV2OQBQJxw/flwLFy6U3R6i9PTxTiHIYinV+PHpslpP64EHHlBUVJQXK0V95cr3t0sjQBMnTtSNN94om82mxx9/XB06dJBhGDpw4IBmzpypv//979q6detlFQ8AqNvKrtoqOw3GVVuojVwKQH379tWqVav0wAMPaM2aNU7rmjRponfeeUfXXnttjRYIAKh7uGoLtZ3LT4P//e9/r6SkJH3wwQeOB4xeccUVuu2229SwYcMaLxAAUDdZracJPqi1XApAH330kVJTU/Xpp5/q97//vdM6u92uq6++Wm+88Yauv/76Gi0SAFD7VfdydC5bR23gUgBKT0/X/fffX+HEIqvVqj/+8Y+aNWsWAQgATIjL1lGXuBSA/vOf/+iVV16pdP1tt92mGTNmXHZRAIC6iXCDusKlO0Hn5ubKz8+v0vUNGjTQyZMnL7soAAAAd3IpALVs2VJ79+6tdP3nn3/OvR0AAECt51IA+t3vfqdJkybpl19+Kbfu559/1uTJkyt8ThgAAEBt4tKdoHNzcxUfHy9fX1+lpqbqyiuvlCR9+eWXmj9/vkpKSpSZmel4jEVdxZ2gAQCoe9x2J+iIiAht375dDz74oCZMmKCy7GSxWJSUlKT58+fX+fADAADqP5dvhNimTRtt3LhRP/74ow4fPizDMNS+fXs1adLEHfUBAADUOJcDUJkmTZqoZ8+eNVkLAACAR7g0CRoAAKA+IAABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTqRUBaP78+YqJiVFgYKB69+6tnTt3Vtl+9erV6tChgwIDA9W5c2dt3LjRaf2ZM2eUmpqqVq1aKSgoSB07dtQbb7zhzkMAAAB1iNcD0KpVq5SWlqbJkycrMzNTXbt2VVJSkk6cOFFh++3bt2vYsGEaM2aM9uzZo8GDB2vw4MHau3evo01aWpo2bdqkt956SwcOHND48eOVmpqqdevWeeqwAABALWYxDMPwZgG9e/dWz549NW/ePElSaWmpoqOj9dBDD+npp58u1z4lJUVnz57Vhg0bHMuuueYadevWzTHK06lTJ6WkpGjSpEmONgkJCRowYIBefPHFi9aUn58vq9Uqu92u0NDQyz1EAADgAa58f3t1BKioqEi7d+9WYmKiY5mPj48SExO1Y8eOCj+zY8cOp/aSlJSU5NS+b9++Wrdunb7//nsZhqGtW7fqq6++0m233VbhNgsLC5Wfn+/0AgAA9ZdXA9CpU6dUUlKiiIgIp+URERHKycmp8DM5OTkXbT937lx17NhRrVq1kr+/v/r376/58+frhhtuqHCbU6dOldVqdbyio6Mv88gAAEBt5vU5QO4wd+5cffrpp1q3bp12796tmTNnaty4cdqyZUuF7SdMmCC73e54ffvttx6uGAAAeFIDb+68adOm8vX1VW5urtPy3NxcRUZGVviZyMjIKtv//PPPeuaZZ/S3v/1NAwcOlCR16dJFWVlZmjFjRrnTZ5IUEBCggICAmjgkAABQB3h1BMjf318JCQnKyMhwLCstLVVGRob69OlT4Wf69Onj1F6SNm/e7GhfXFys4uJi+fg4H5qvr69KS0tr+AgAAEBd5NURIOncJesjR45Ujx491KtXL6Wnp+vs2bMaPXq0JGnEiBFq2bKlpk6dKkl65JFH1K9fP82cOVMDBw7UypUr9dlnn2nhwoWSpNDQUPXr109PPPGEgoKC1KZNG/3v//6v/vrXv2rWrFleO04AAFB7eD0ApaSk6OTJk3ruueeUk5Ojbt26adOmTY6JzseOHXMazenbt69WrFihZ599Vs8884zat2+v9957T506dXK0WblypSZMmKB77rlHeXl5atOmjV566SWNHTvW48cHAABqH6/fB6g24j5AAADUPXXmPkAAAADeQAACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwAC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HDigwsJC3XLLLS7VcL4jR46ouLhY1157rWOZn5+fevXq5dRnktSlSxfHn6OioiRJJ06cuOR9A2ZDAAJQqeDgYMXFxSkuLk49e/bUf//3f+vs2bNatGiRJOm+++7T5s2b9d1332np0qW6+eab1aZNm2pv/+jRoxo0aJC6dOmiNWvWaPfu3Y45QkVFRY59fP311xo+fLi++OIL9ejRQ3PnzpUkRxh79NFH9cMPP+iWW27R448/Xu39R0ZGOo4vLi5OwcHBTsd+vunTp2v27Nl66qmntHXrVmVlZSkpKclRZ1BQULX3WxP8/Pwcf7ZYLJLOzUECUD0EIADVZrFY5OPjo59//lmS1LlzZ/Xo0UOLFi3SihUrKpyH8umnn5Z7f9VVV0mSdu/erdLSUs2cOVPXXHONrrjiCv3www/lthEdHa2xY8dq7dq1euyxxxwBTJKaNWumkSNH6q233lJ6eroWLlxYk4fssG3bNt1xxx2699571bVrV7Vr105fffWVY3379u0VFBTkmAB+IX9/f0nnRpIqExsbK39/f23bts2xrLi4WLt27VLHjh1r6EgASFIDbxcAoPYqLCxUTk6OpHNXXM2bN09nzpxRcnKyo819992n1NRUBQcH6/e//325bWzbtk2vvvqqBg8erM2bN2v16tV6//33JUlxcXEqLi7W3LlzlZycrG3btumNN95w+vz48eM1YMAAXXHFFfrxxx+1detWR4B67rnnlJCQoKuvvlqFhYXasGGDY11Na9++vd59911t375dTZo00axZs5Sbm+sIJoGBgXrqqaf05JNPyt/fX9dee61Onjypffv2acyYMWrevLmCgoK0adMmtWrVSoGBgbJarU77CA4O1oMPPqgnnnhCYWFhat26tV599VUVFBRozJgxbjkuwKwYAQJQqU2bNikqKkpRUVHq3bu3du3apdWrVzsu4ZakYcOGqUGDBho2bJgCAwPLbeOxxx7TZ599pu7du+vFF1/UrFmzlJSUJEnq2rWrZs2apVdeeUWdOnXS22+/ralTpzp9vqSkROPGjdNVV12l/v3764orrtDrr78u6dyoyoQJE9SlSxfdcMMN8vX11cqVK93SF88++6zi4+OVlJSkG2+8UZGRkeXu4Dxp0iQ99thjeu6553TVVVcpJSXFMS+nQYMGmjNnjv7yl7+oRYsWuuOOOyrcz7Rp0zRkyBANHz5c8fHxOnz4sD744AM1adLELccFmJXFMAzD20UAqLuOHj2q2NhY7dq1S/Hx8U7rYmJiNH78eI0fP947xQFAJTgFBuCSFBcXy2az6dlnn9U111xTLvwAQG3GKTAAl2Tbtm2KiorSrl27ys3b8baXX35ZjRo1qvA1YMAAb5cHoBbgFBiAeicvL6/cnZPLBAUFqWXLlh6uCEBtQwACAACmwykwAABgOgQgAABgOgQgAABgOgQgAABgOgQgAABgOgQgAABgOgQgAABgOgQgAABgOv8fWe9dle3kb+cAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_14.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABGH0lEQVR4nO3de1xUdf7H8feADKDCGKh4Q1E0TS0VUtMyqnXDVjHLNtTKS3axX5Qum7tppZaVtqlhalb7yMu2a5pplubPMrebl26ilWmmhtkFUIcaEFOM+f7+8MfoyEVQYBjO6/l4zEPmnO+c+ZxvJ3n7Pd9zjs0YYwQAAGAhAb4uAAAAoLoRgAAAgOUQgAAAgOUQgAAAgOUQgAAAgOUQgAAAgOUQgAAAgOUQgAAAgOUQgAAAgOUQgACgBlu0aJFsNpv279/v61KAWoUABFjcZ599ppSUFHXq1En16tVTy5YtdfPNN+vbb78t1vaqq66SzWaTzWZTQECAwsPD1b59e912221av359hb539erVSkhIUOPGjVW3bl21adNGN998s9atW1dZu1bMk08+qVWrVhVbvnnzZk2ZMkW//vprlX33maZMmeLpS5vNprp166pjx456+OGHlZubWynfsWTJEqWlpVXKtoDahgAEWNxTTz2lFStW6A9/+INmz56tu+66Sx9++KHi4uK0Y8eOYu1btGihl19+Wf/617/09NNPa+DAgdq8ebOuvfZaJScn68SJE2f9zhkzZmjgwIGy2WyaMGGCnnnmGQ0ePFh79uzR0qVLq2I3JZUdgB599NFqDUBF5s+fr5dfflmzZs1Shw4d9MQTT6hfv36qjMc0EoCA0tXxdQEAfCs1NVVLliyR3W73LEtOTtbFF1+s6dOn69///rdXe4fDoVtvvdVr2fTp03X//ffrueeeU0xMjJ566qlSv+/333/X1KlT9cc//lHvvPNOsfUHDx48zz2qOY4ePaq6deuW2eamm25Sw4YNJUljxozR4MGDtXLlSn388cfq1atXdZQJWBIjQIDF9e7d2yv8SFK7du3UqVMn7dq1q1zbCAwM1LPPPquOHTtq7ty5crlcpbY9fPiwcnNzdfnll5e4vnHjxl7vjx07pilTpujCCy9USEiImjZtqhtvvFH79u3ztJkxY4Z69+6tyMhIhYaGKj4+Xq+99prXdmw2m/Lz87V48WLPaaeRI0dqypQpGj9+vCSpdevWnnWnz7n597//rfj4eIWGhioiIkJDhgzRDz/84LX9q666Sp07d9bWrVt15ZVXqm7dupo4cWK5+u9011xzjSQpIyOjzHbPPfecOnXqpODgYDVr1kz33nuv1wjWVVddpbfeekvff/+9Z59iYmIqXA9QWzECBKAYY4yys7PVqVOncn8mMDBQQ4cO1SOPPKKNGzeqf//+JbZr3LixQkNDtXr1at13332KiIgodZuFhYUaMGCANmzYoCFDhmjs2LHKy8vT+vXrtWPHDsXGxkqSZs+erYEDB+qWW25RQUGBli5dqj//+c9as2aNp46XX35Zd9xxh3r06KG77rpLkhQbG6t69erp22+/1SuvvKJnnnnGMxrTqFEjSdITTzyhRx55RDfffLPuuOMOHTp0SHPmzNGVV16pbdu2qUGDBp56nU6nrrvuOg0ZMkS33nqroqKiyt1/RYqCXWRkZKltpkyZokcffVR9+/bVPffco927d2v+/Pn67LPPtGnTJgUFBemhhx6Sy+XSjz/+qGeeeUaSVL9+/QrXA9RaBgDO8PLLLxtJ5qWXXvJanpCQYDp16lTq515//XUjycyePbvM7U+aNMlIMvXq1TPXXXedeeKJJ8zWrVuLtVuwYIGRZGbNmlVsndvt9vx89OhRr3UFBQWmc+fO5pprrvFaXq9ePTNixIhi23r66aeNJJORkeG1fP/+/SYwMNA88cQTXsu/+uorU6dOHa/lCQkJRpJ5/vnnS93v002ePNlIMrt37zaHDh0yGRkZ5oUXXjDBwcEmKirK5OfnG2OMWbhwoVdtBw8eNHa73Vx77bWmsLDQs725c+caSWbBggWeZf379zetWrUqVz2A1XAKDICXb775Rvfee6969eqlESNGVOizRSMMeXl5ZbZ79NFHtWTJEnXr1k1vv/22HnroIcXHxysuLs7rtNuKFSvUsGFD3XfffcW2YbPZPD+HhoZ6fv7ll1/kcrnUp08fpaenV6j+M61cuVJut1s333yzDh8+7Hk1adJE7dq103vvvefVPjg4WKNGjarQd7Rv316NGjVS69atdffdd6tt27Z66623Sp079O6776qgoEDjxo1TQMCpv8LvvPNOhYeH66233qr4jgIWxCkwAB5ZWVnq37+/HA6HXnvtNQUGBlbo80eOHJEkhYWFnbXt0KFDNXTo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HwGohqpT5+T0rKJnXklFIcj7mVdF7QAAQPkRgGqoBg0aeL3//wfyev4srR0AADg7AlANxyRoVAen06nMzMxSX06n09clAvBD77//vmw2m3799ddyfyYmJkZpaWlVVlMRnwegefPmKSYmRiEhIerZs6c+/fTTUtt+/fXXGjx4sGJiYmSz2UrsoA8//FBJSUlq1qyZbDabVq1aVXXFV4OzTYIGzlfRbfhffPFFvfjii3r66Vc0YcI7evrpVzzL5s6dSwgCaqGRI0fKZrNpzJgxxdbde++9stlsGjlyZPUXVg18GoCWLVum1NRUTZ48Wenp6erSpYsSExN18ODBEtsfPXpUbdq00fTp09WkSZMS2+Tn56tLly6aN29eVZZebc42CRo4X6fffj89vZvS0sZp8eIRSksbp/T0biW2A1B7REdHa+nSpfrtt988y44dO6YlS5aoZcuWPqysavk0AM2aNUt33nmnRo0apY4dO+r5559X3bp1tWDBghLbd+/eXU8//bSGDBmi4ODgEttcd911evzxx3XDDTdUZenVpmgSdFEIKroRYtEkaKCycLoVsKa4uDhFR0dr5cqVnmUrV65Uy5Yt1a3bqX8EHT9+XPfff78aN26skJAQXXHFFfrss8+8trV27VpdeOGFCg0N1dVXX639+/cX+76NGzeqT58+Cg0NVXR0tO6//37l5+dX2f6VxmcBqKCgQFu3blXfvn1PFRMQoL59+2rLli3VWsvx48eVm5vr9fI1u93u+TkubpvGjUvTiBGLNG5cmtddoE9vB5wPTrcCNcOPP0rvvXfyz+py++23a+HChZ73CxYs0KhRo7za/O1vf9OKFSu0ePFipaenq23btkpMTFROzskzEj/88INuvPFGJSUlafv27brjjjv04IMPem1j37596tevnwYPHqwvv/xSy5Yt08aNG5WSklL1O3kGn11DffjwYRUWFioqKspreVRUlL755ptqrWXatGl69NFHq/U7z4anA6O6FZ1uPT0EcboVqF4vvSTddZfkdksBAdKLL0qjR1f99956662aMGGCvv/+e0nSpk2btHTpUr3//vuSTk4vmT9/vhYtWqTrrrtOkvTPf/5T69ev10svvaTx48dr/vz5io2N1cyZMyVJ7du311dffaWnnnrK8z3Tpk3TLbfconHjxkmS2rVrp2effVYJCQmaP3++QkJCqn5n/x83kZE0YcIEpaamet7n5uYqOjrahxWdRLhBdSo63Xrmc+c43QpUjx9/PBV+pJN/3n23lJgotWhRtd/dqFEj9e/fX4sWLZIxRv3791fDhg096/ft26cTJ07o8ssv9ywLCgpSjx49tGvXLknSrl271LNnT6/t9urVy+v9F198oS+//FL/+c9/PMuMMXK73crIyNBFF11UFbtXIp8FoIYNGyowMFDZ2dley7Ozs0ud4FxVgoODS51TBFhJXNw2xcbuVU5OhCIicgg/QDXas+dU+ClSWCjt3Vv1AUg6eRqs6FRUVV1IdOTIEd199926//77i62r7gnXPpsDZLfbFR8frw0bNniWud1ubdiwoVhiBFB9HI48tW79PeEHqGbt2p087XW6wECpbdvq+f5+/fqpoKBAJ06cUGJiote62NhY2e12bdq0ybPsxIkT+uyzz9SxY0dJ0kUXXVTsVjYff/yx1/u4uDjt3LlTbdu2Lfaq7jmtPr0KLDU1Vf/85z+1ePFi7dq1S/fcc4/y8/M9E6+GDx+uCRMmeNoXFBRo+/bt2r59uwoKCvTTTz9p+/bt2rt3r6fNkSNHPG0kKSMjQ9u3b9eBAweqdd8Af1Hev3SYcA9UrRYtTs75CQw8+T4wUHrhheoZ/Tn5fYHatWuXdu7cqcCiIv5fvXr1dM8992j8+PFat26ddu7cqTvvvFNHjx7V6P+fpDRmzBjt2bNH48eP1+7du7VkyRItWrTIazt///vftXnzZqWkpGj79u3as2eP3njjDWtNgpak5ORkHTp0SJMmTVJWVpa6du2qdevWeSZGHzhwQAGnxeGff/7Z65K8GTNmaMaMGUpISPBM1Pr888919dVXe9oUze0ZMWJEsf8QAJhwD9Qko0efnPOzd+/JkZ/qCj9FwsPDS103ffp0ud1u3XbbbcrLy9Oll16qt99+WxdccIGkk6ewVqxYob/85S+aM2eOevTooSeffFK33367ZxuXXHKJPvjgAz300EPq06ePjDGKjY1VcnJyle/bmWzGGFPt31rD5ebmyuFwyOVylXkwAABw7NgxZWRkqHXr1tV6FZNVldXfFfn97fNHYQAAAFQ3AhAAALAcAhAAALAcAhAAALAcAhAAAJWAa4qqR2X1M4/CgM84nU4uvQbg94KCgiRJR48eVWhoqI+rqf2OHj0q6VS/nysCEHzC6XRq7ty5Z22XkpJCCAJQowUGBqpBgwY6ePCgJKlu3bqy2Ww+rqr2Mcbo6NGjOnjwoBo0aFDsZo0VRQCCT5Q18nMu7QDAl4qeYVkUglB1GjRoUCnPDCUAoUZwucKUkxOpiAgnz6AC4HdsNpuaNm2qxo0b68SJE74up9YKCgo675GfIgQg+Fx6ejetXj1AxgTIZnMrKWmN4uK2+bosAKiwwMDASvsFjarFVWDwKZcrzBN+JMmYAK1ePUAuV5iPKwMA1GaMAMGncnIiPeGniDEBysmJ4FQYAA+uGkVlIwDBpyIinLLZ3F4hyGZzKyIix4dVAahJuGoUVYFTYPAphyNPSUlrZLO5JckzB4jRHwBFuGoUVYERIPiE3W73/BwXt02xsXuVkxOhiIgcr/BzejsAACoLAQg+ERkZqZSUFM7pA6gwbpuBykAAgs8QbgBUFLfNQGVhDhAAwC9w2wxUJgIQAMAvlHXbDKCiCEAAAL9QdNuM03HbDJwrAhAAoEYruhr0bLfN4KpRVITNGGN8XURNk5ubK4fDIZfLpfDwcF+XAwCWd/qdoH/+OUD799dRTMzvatbsZBjiqlFIFfv9zVVgAIAa7/Rw07SpFB/vw2JQK3AKDAAAWA4BCAAAWA4BCAAAWA4BCAAAWA4BCAAAWA4BCAAAWA4BCAAAWA4BCAAAWA4BCAAAWA4BCAAAWA4BCAAAWA4BCAAAWA4BCAAAWA4BCAAAWE4dXxcAADWV0+lUQUFBqevtdrsiIyOrsSIAlYUABAAlcDqdmjt37lnbpaSkEIIAP0QAwnnjX8mojc48pl2uMOXkRCoiwimHI6/UdgD8AwEI54V/JcMK0tO7afXqATImQDabW0lJaxQXt83XZQE4D0yCxnkp779++Vcy/JXLFeYJP5JkTIBWrx4glyvMx5UBOB8EIFQqlytMGRkx/HJArZGTE+kJP0WMCVBOToSPKgJQGTgFhkrDaQLURhERTtlsbq8QZLO5FRGR48OqAJwvRoBQKThNgNrK4chTUtIa2WxuSfKE+9MnQgPwP4wAoVKUdZqAXxTwd3Fx2xQbu1c5ORGKiMjhmAZqAQIQKgWnCVDb2O12r/cOR16JwefMdgD8AwEIlaLoNMGZc4D4lzL8VWRkpFJSUrjHFVBLEYBwXk7/129Zpwn4VzL8EeEGqL0IQDgv/CsZAOCPCEA4b4QbAIC/4TJ4AABgOQQgAABgOQQgAABgOQQgAABgOQQgAABgOQQgAABgOQQgAABgOTUiAM2bN08xMTEKCQlRz5499emnn5ba9uuvv9bgwYMVExMjm82mtLS0894mAACwFp8HoGXLlik1NVWTJ09Wenq6unTposTERB08eLDE9kePHlWbNm00ffp0NWnSpFK2CQAArMVmjDG+LKBnz57q3r275s6dK0lyu92Kjo7WfffdpwcffLDMz8bExGjcuHEaN25cpW1TknJzc+VwOORyuRQeHn5uOwYAAKpVRX5/+3QEqKCgQFu3blXfvn09ywICAtS3b19t2bKl2rZ5/Phx5ebmer0AAEDt5dMAdPjwYRUWFioqKspreVRUlLKysqptm9OmTZPD4fC8oqOjz+m7AQCAf+BhqJImTJig1NRUz/vc3NxKDUFOp5OnpQMAUIP4NAA1bNhQgYGBys7O9lqenZ1d6gTnqthmcHCwgoODz+n7zsbpdHrmIpUlJSWFEAQAQDXx6Skwu92u+Ph4bdiwwbPM7XZrw4YN6tWrV43Z5vkoa+TnXNoBAOCPnE6nMjMzS305nc5qrcfnp8BSU1M1YsQIXXrpperRo4fS0tKUn5+vUaNGSZKGDx+u5s2ba9q0aZJOBoWdO3d6fv7pp5+0fft21a9fX23bti3XNn3J5QpTTk6kIiKccjjyfF0OAABVriaeDfF5AEpOTtahQ4c0adIkZWVlqWvXrlq3bp1nEvOBAwcUEHBqoOrnn39Wt27dPO9nzJihGTNmKCEhQe+//365tukr6endtHr1ABkTIJvNraSkNYqL2+bTmgAA/stf5pieWWNpgwHVeTbE5wFIOpn4UlJSSlxXFGqKxMTEqDy3Liprm77gcoV5wo8kGROg1asHKDZ2LyNBAIAKq4mjKuVRUwYDfH4naKvIyYn0hJ8ixgQoJyfCRxUBAPxZSaMqGRkxcrnCymznS6UNBpxZc3WoESNAVhAR4ZTN5vYKQTabWxEROT6sCgBQG9SUUZWzKWswoLrPhjACVE0cjjwlJa2RzeaWJM8ByukvAMD5qEmjKmdTNBhwOl8NBjACVMXsdrvn57i4bYqN3aucnAhFROR4hZ/T2wEAUF41aVTlbIoGA84crfJFnQSgKhYZGamUlBS/mKUPAPA//jbFoqzBgOpEAKoGhBsAQFWpSaMqpTnzLIfDkVdifdV5NoQABACAn6spoyqlqYlnQwhAAAD4oZo4qlKWmnY2hAAEAIAfqomjKv6EAAQAgJ8i3Jw77gMEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAsh2eBAQBgMU6n0/IPUSUAAQBgIU6nU3PnzvW8d7nClJMTqYgIpxyOPM/ylJSUWh2CCEAAAFjI6SM/6endtHr1ABkTIJvNraSkNYqL21asXW3EHCAAACzI5QrzhB9JMiZAq1cPkMsV5uPKqgcBCAAAC8rJifSEnyLGBCgnJ8JHFVUvAhAAABYUEeGUzeb2WmazuRURkeOjiqoXAQgAAAtyOPKUlLTGE4KK5gCdPhG6NmMSNAAAFhUXt02xsXuVkxOhiIgcy4QfiQAEAIClORx5lgo+RTgFBgCAhdjt9kpt568YAQIAwEIiIyOVkpLCnaB9XQAAAKhetT3clAcBCECtx3OPAJyJAASgVjvzuUelqe3PPQLgjUnQAGq1M0d+XK4wZWTEFLvdf21/7hEAb4wAAbCMsh78CMBaGAECYAlWf/AjAG8EIACWYPUHPwLwRgACYAlWf/AjAG8EIACWYPUHPwLwxiRoAJZh5Qc/AvBGAAJQq535PKPSHvxY2597BMAbAQhArcZzjwCUhAAEoNYj3AA4E5OgAQCA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5fAsMADnzOl08pBRAH6JAATgnDidTs2dO/es7VJSUghBAGqcGnEKbN68eYqJiVFISIh69uypTz/9tMz2y5cvV4cOHRQSEqKLL75Ya9eu9VqfnZ2tkSNHqlmzZqpbt6769eunPXv2VOUuAJZz5siPyxWmjIwYuVxhZbYDgJrA5wFo2bJlSk1N1eTJk5Wenq4uXbooMTFRBw8eLLH95s2bNXToUI0ePVrbtm3ToEGDNGjQIO3YsUOSZIzRoEGD9N133+mNN97Qtm3b1KpVK/Xt21f5+fnVuWuAZaSnd1Na2jgtXjxCaWnjlJ7ezdclAUCZfB6AZs2apTvvvFOjRo1Sx44d9fzzz6tu3bpasGBBie1nz56tfv36afz48brooos0depUxcXFeYbi9+zZo48//ljz589X9+7d1b59e82fP1+//fabXnnllercNcASXK4wrV49QMac/OvEmACtXj2g2EgQANQkPg1ABQUF2rp1q/r27etZFhAQoL59+2rLli0lfmbLli1e7SUpMTHR0/748eOSpJCQEK9tBgcHa+PGjSVu8/jx48rNzfV6ASifnJxIT/gpYkyAcnIifFQRAJzdOQWg5cuX68Ybb1Tnzp3VuXNn3XjjjXrttdcqvJ3Dhw+rsLBQUVFRXsujoqKUlZVV4meysrLKbN+hQwe1bNlSEyZM0C+//KKCggI99dRT+vHHH5WZmVniNqdNmyaHw+F5RUdHV3hfAKuKiHDKZnN7LbPZ3IqIyPFRRQBwdhUKQG63W8nJyUpOTtbOnTvVtm1btW3bVl9//bWSk5M1ZMgQGWOqqtZyCQoK0sqVK/Xtt98qIiJCdevW1XvvvafrrrtOAQEl7+6ECRPkcrk8rx9++KGaqwb8l8ORp6SkNZ4QZLO5lZS0Rg5Hno8rQ1VyOp3KzMws9eV0On1dIlCmCl0GP3v2bL377rt68803NWDAAK91b775pkaNGqXZs2dr3Lhx5dpew4YNFRgYqOzsbK/l2dnZatKkSYmfadKkyVnbx8fHa/v27XK5XCooKFCjRo3Us2dPXXrppSVuMzg4WMHBweWqGUBxcXHbFBu7Vzk5EYqIyCH81HJn3gLB5QpTTk6kIiKcXv/tuQUCarIKjQAtXLhQTz/9dLHwI0kDBw7UP/7xj1InL5fEbrcrPj5eGzZs8Cxzu93asGGDevXqVeJnevXq5dVektavX19ie4fDoUaNGmnPnj36/PPPdf3115e7NgBls9vtXu8djjy1bv19sfBzZjv4v9NvbVDWFYDcAgE1WYVGgPbs2VNsAvLp+vbtq5SUlAoVkJqaqhEjRujSSy9Vjx49lJaWpvz8fI0aNUqSNHz4cDVv3lzTpk2TJI0dO1YJCQmaOXOm+vfvr6VLl+rzzz/Xiy++6Nnm8uXL1ahRI7Vs2VJfffWVxo4dq0GDBunaa6+tUG0AShcZGamUlBTuBG1hpV0BGBu7l1FA1HgVCkChoaH69ddf1bJlyxLX5+bmel19VR7Jyck6dOiQJk2apKysLHXt2lXr1q3zTHQ+cOCA19yd3r17a8mSJXr44Yc1ceJEtWvXTqtWrVLnzp09bTIzM5Wamqrs7Gw1bdpUw4cP1yOPPFKhugCcHeHG2sq6ApAAhJrOZiowa7l///5q2bKl5s+fX+L6MWPG6MCBA8XuzOxvcnNz5XA45HK5FB4e7utyAKBGyczM1IsvviiXK0xpaeO8QpDN5ta4cWlyOPJ01113qWnTpj6sFFZTkd/fFRoBeuihh3TVVVfJ6XTqgQceUIcOHWSM0a5duzRz5ky98cYbeu+9986reACAfyi6ArDoNBhXAMKfVCgA9e7dW8uWLdNdd92lFStWeK274IIL9Morr+jyyy+v1AIBADUXVwDCX1X4afA33HCDEhMT9fbbb3seMHrhhRfq2muvVd26dSu9QABAzeZw5BF84HcqFID++9//KiUlRR9//LFuuOEGr3Uul0udOnXS888/rz59+lRqkQCAmqO8tzbgFgioySoUgNLS0nTnnXeWOLHI4XDo7rvv1qxZswhAAFCLcQsE1AYVCkBffPGFnnrqqVLXX3vttZoxY8Z5FwUAqNkIN/B3FboTdHZ2toKCgkpdX6dOHR06dOi8iwIAAKhKFQpAzZs3144dO0pd/+WXX3LPBwAAUONVKAD96U9/0iOPPKJjx44VW/fbb79p8uTJJT4nDAAAoCap0J2gs7OzFRcXp8DAQKWkpKh9+/aSpG+++Ubz5s1TYWGh0tPTPY+x8FfcCRoAAP9TZXeCjoqK0ubNm3XPPfdowoQJKspONptNiYmJmjdvnt+HHwAAUPtV+EaIrVq10tq1a/XLL79o7969MsaoXbt2uuCCC6qiPgAAgEpX4QBU5IILLlD37t0rsxYAAIBqUaFJ0AAAALUBAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFgOAQgAAFhOjQhA8+bNU0xMjEJCQtSzZ099+umnZbZfvny5OnTooJCQEF188cVau3at1/ojR44oJSVFLVq0UGhoqDp27Kjnn3++KncBAAD4EZ8HoGXLlik1NVWTJ09Wenq6unTposTERB08eLDE9ps3b9bQoUM1evRobdu2TYMGDdKgQYO0Y8cOT5vU1FStW7dO//73v7Vr1y6NGzdOKSkpevPNN6trtwAAQA1mM8YYXxbQs2dPde/eXXPnzpUkud1uRUdH67777tODDz5YrH1ycrLy8/O1Zs0az7LLLrtMXbt29YzydO7cWcnJyXrkkUc8beLj43Xdddfp8ccfP2tNubm5cjgccrlcCg8PP99dBAAA1aAiv799OgJUUFCgrVu3qm/fvp5lAQEB6tu3r7Zs2VLiZ7Zs2eLVXpISExO92vfu3VtvvvmmfvrpJxlj9N577+nbb7/VtddeW+I2jx8/rtzcXK8XAACovXwagA4fPqzCwkJFRUV5LY+KilJWVlaJn8nKyjpr+zlz5qhjx45q0aKF7Ha7+vXrp3nz5unKK68scZvTpk2Tw+HwvKKjo89zzwAAQE3m8zlAVWHOnDn6+OOP9eabb2rr1q2aOXOm7r33Xr377rsltp8wYYJcLpfn9cMPP1RzxQAAoDrV8eWXN2zYUIGBgcrOzvZanp2drSZNmpT4mSZNmpTZ/rffftPEiRP1+uuvq3///pKkSy65RNu3b9eMGTOKnT6TpODgYAUHB1fGLgEAAD/g0xEgu92u+Ph4bdiwwbPM7XZrw4YN6tWrV4mf6dWrl1d7SVq/fr2n/YkTJ3TixAkFBHjvWmBgoNxudyXvAQAA8Ec+HQGSTl6yPmLECF166aXq0aOH0tLSlJ+fr1GjRkmShg8frubNm2vatGmSpLFjxyohIUEzZ85U//79tXTpUn3++ed68cUXJUnh4eFKSEjQ+PHjFRoaqlatWumDDz7Qv/71L82aNctn+wkAAGoOnweg5ORkHTp0SJMmTVJWVpa6du2qdevWeSY6HzhwwGs0p3fv3lqyZIkefvhhTZw4Ue3atdOqVavUuXNnT5ulS5dqwoQJuuWWW5STk6NWrVrpiSee0JgxY6p9/wAAQM3j8/sA1UTcBwgAAP/jN/cBAgAA8AUCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCECzpxx+l9947+ScAwHoIQLAMp9OpzMxMzZz5q1q1MrrmGqlVK6OZM39VZmamnE6nr0sEAFSTOr4uAKgOTqdTc+fOlcsVprS0cTLGJklyu20aPz5cP/20QA5HnlJSUhQZGenjagEAVY0RIFhCQUGBJCknJ1LGeB/2xgQoJyfCqx0AoHYjAMFSIiKcstncXstsNrciInJ8VBEAwBcIQLAUhyNPSUlrPCHIZnMrKWmNHI48H1cGAKhOzAGC5cTFbVNs7F7l5EQoIiKH8AMAFkQAgiU5HHkEHwCwME6BAQAAyyEAAQAAy+EUGCzBbrdXajsAKInT6Szzdhp2u517jdUQBCBYQmRkpFJSUviLCUCVKbrh6tlww9WagQAEy+AvHABVqbw3UuWGqzUDc4AAAIDlMAIEAEAVcLnClJMTqYgIZ5XddoM5R+eOAAQAQCVLT++m1asHyJgAzx3n4+K2Vep3MOfo/HAKDACASuRyhXnCj3TygcurVw+QyxVWqd/DnKPzQwACAKAS5eREesJPEWMClJMT4aOKUBICEAAAlSgiwul54HIRm82tiIgcH1WEkhCAAACoBEU3UnU48pSUtMYTgormABVNhK6qG666XGHKyIip9FNttRWToAEAqARn3nB10qRD2r+/jmJiflezZt0lda+yq7KqY9J1bUMAAgCgkpwebpo2leLjq/47S5t0HRu7t8ouv68NOAUGAIAfY9L1uSEAAQDgh4rmEp1t0jUPeS4Zp8AAAPBDp885at48V3//u0OFhTYFBho99VSuhg0byp2gy2AzxhhfF1HT5ObmyuFwyOVyKTw83NflAABwVj/+KO3dK7VtK7Vo4etqfKMiv78ZAQIAoBZo0cK6wedcMAcIAABYDgEIAABYDgEIAABYDgEIAABYDgEIAABYDgEIAABYDgEIAABYDgEIAABYTo0IQPPmzVNMTIxCQkLUs2dPffrpp2W2X758uTp06KCQkBBdfPHFWrt2rdd6m81W4uvpp5+uyt0AAAB+wucBaNmyZUpNTdXkyZOVnp6uLl26KDExUQcPHiyx/ebNmzV06FCNHj1a27Zt06BBgzRo0CDt2LHD0yYzM9PrtWDBAtlsNg0ePLi6dgsAANRgPn8WWM+ePdW9e3fNnTtXkuR2uxUdHa377rtPDz74YLH2ycnJys/P15o1azzLLrvsMnXt2lXPP/98id8xaNAg5eXlacOGDeWqiWeBAQDgfyry+9unI0AFBQXaunWr+vbt61kWEBCgvn37asuWLSV+ZsuWLV7tJSkxMbHU9tnZ2Xrrrbc0evToUus4fvy4cnNzvV4AAKD28mkAOnz4sAoLCxUVFeW1PCoqSllZWSV+Jisrq0LtFy9erLCwMN14442l1jFt2jQ5HA7PKzo6uoJ7AgAA/InP5wBVtQULFuiWW25RSEhIqW0mTJggl8vlef3www/VWCEAAKhudXz55Q0bNlRgYKCys7O9lmdnZ6tJkyYlfqZJkyblbv/RRx9p9+7dWrZsWZl1BAcHKzg4uILVAwAAf+XTESC73a74+Hivyclut1sbNmxQr169SvxMr169ik1mXr9+fYntX3rpJcXHx6tLly6VWzgAAPBrPh0BkqTU1FSNGDFCl156qXr06KG0tDTl5+dr1KhRkqThw4erefPmmjZtmiRp7NixSkhI0MyZM9W/f38tXbpUn3/+uV588UWv7ebm5mr58uWaOXNmte8TAACo2XwegJKTk3Xo0CFNmjRJWVlZ6tq1q9atW+eZ6HzgwAEFBJwaqOrdu7eWLFmihx9+WBMnTlS7du20atUqde7c2Wu7S5culTFGQ4cOrdb9AQAANZ/P7wNUE3EfIAAA/I/f3AcIAADAFwhAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcur4ugAAAFD7OZ1OFRQUlLrebrcrMjKy2uohAAEAgCrldDo1d+7cs7ZLSUmpthDEKTAAAFClyhr5OZd2lYEABAAALIcABAAALIcABAAALIcABAAAqpXLFaaMjBi5XGE+q4GrwAAAQLVJT++m1asHyJgA2WxuJSWtUVzctmqvgxEgAABQLVyuME/4kSRjArR69QCfjAQRgAAAQJWy2+2SpJycSE/4KWJMgHJyIrzaVQebMcZU27f5idzcXDkcDrlcLoWHh/u6HAAA/J7T6dT+/b+rR4/GcrttnuWBgUaffHJQMTF1zvsmiBX5/c0IEAAAqHKRkZGKj4/Siy/aFBh4cllgoPTCCzbFx0dV62MwJCZBAwCAajR6tJSYKO3dK7VtK7Vo4Zs6CEAAAKBatWjhu+BThFNgAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcngWWAmMMZKk3NxcH1cCAADKq+j3dtHv8bIQgEqQl5cnSYqOjvZxJQAAoKLy8vLkcDjKbGMz5YlJFuN2u/Xzzz8rLCxMNpvN1+VUi9zcXEVHR+uHH35QeHi4r8vxKfriFPriFPriFPriFPrilJrQF8YY5eXlqVmzZgoIKHuWDyNAJQgICFCLFi18XYZPhIeHW/5/4iL0xSn0xSn0xSn0xSn0xSm+7ouzjfwUYRI0AACwHAIQAACwHAIQJEnBwcGaPHmygoODfV2Kz9EXp9AXp9AXp9AXp9AXp/hbXzAJGgAAWA4jQAAAwHIIQAAAwHIIQAAAwHIIQAAAwHIIQLXYvHnzFBMTo5CQEPXs2VOffvppme3T0tLUvn17hYaGKjo6Wn/5y1907Ngxz/opU6bIZrN5vTp06FDVu1EpKtIXJ06c0GOPPabY2FiFhISoS5cuWrdu3Xltsyap7L7wx+Piww8/VFJSkpo1ayabzaZVq1ad9TPvv/++4uLiFBwcrLZt22rRokXF2vjjMVEVfeGPx4RU8b7IzMzUsGHDdOGFFyogIEDjxo0rsd3y5cvVoUMHhYSE6OKLL9batWsrv/hKVhV9sWjRomLHRUhISNXsQDkQgGqpZcuWKTU1VZMnT1Z6erq6dOmixMREHTx4sMT2S5Ys0YMPPqjJkydr165deumll7Rs2TJNnDjRq12nTp2UmZnpeW3cuLE6due8VLQvHn74Yb3wwguaM2eOdu7cqTFjxuiGG27Qtm3bznmbNUVV9IXkf8dFfn6+unTponnz5pWrfUZGhvr376+rr75a27dv17hx43THHXfo7bff9rTx12OiKvpC8r9jQqp4Xxw/flyNGjXSww8/rC5dupTYZvPmzRo6dKhGjx6tbdu2adCgQRo0aJB27NhRmaVXuqroC+nkXaJPPy6+//77yiq54gxqpR49eph7773X876wsNA0a9bMTJs2rcT29957r7nmmmu8lqWmpprLL7/c837y5MmmS5cuVVJvVapoXzRt2tTMnTvXa9mNN95obrnllnPeZk1RFX3hr8dFEUnm9ddfL7PN3/72N9OpUyevZcnJySYxMdHz3l+PidNVVl/4+zFhTPn64nQJCQlm7NixxZbffPPNpn///l7Levbsae6+++7zrLD6VFZfLFy40Dgcjkqr63wxAlQLFRQUaOvWrerbt69nWUBAgPr27astW7aU+JnevXtr69atniH77777TmvXrtWf/vQnr3Z79uxRs2bN1KZNG91yyy06cOBA1e1IJTiXvjh+/HixYdnQ0FDPv2DPZZs1QVX0RRF/Oy4qasuWLV79JkmJiYmefvPXY+JcnK0vitT2Y6K8yttfVnHkyBG1atVK0dHRuv766/X111/7rBYCUC10+PBhFRYWKioqymt5VFSUsrKySvzMsGHD9Nhjj+mKK65QUFCQYmNjddVVV3mdAuvZs6cWLVqkdevWaf78+crIyFCfPn2Ul5dXpftzPs6lLxITEzVr1izt2bNHbrdb69ev18qVK5WZmXnO26wJqqIvJP88LioqKyurxH7Lzc3Vb7/95rfHxLk4W19I1jgmyqu0/qptx0V5tG/fXgsWLNAbb7yhf//733K73erdu7d+/PFHn9RDAIKkk5Man3zyST333HNKT0/XypUr9dZbb2nq1KmeNtddd53+/Oc/65JLLlFiYqLWrl2rX3/9Va+++qoPK698s2fPVrt27dShQwfZ7XalpKRo1KhRCgiw3v8u5ekLqxwXKD+OCZSkV69eGj58uLp27aqEhAStXLlSjRo10gsvvOCTeqz3N7oFNGzYUIGBgcrOzvZanp2drSZNmpT4mUceeUS33Xab7rjjDl188cW64YYb9OSTT2ratGlyu90lfqZBgwa68MILtXfv3krfh8pyLn3RqFEjrVq1Svn5+fr+++/1zTffqH79+mrTps05b7MmqIq+KIk/HBcV1aRJkxL7LTw8XKGhoX57TJyLs/VFSWrjMVFepfVXbTsuzkVQUJC6devms+OCAFQL2e12xcfHa8OGDZ5lbrdbGzZsUK9evUr8zNGjR4uNcAQGBkqSTCmPizty5Ij27dunpk2bVlLlle9c+qJISEiImjdvrt9//10rVqzQ9ddff97b9KWq6IuS+MNxUVG9evXy6jdJWr9+vaff/PWYOBdn64uS1MZjorzOpb+sorCwUF999ZXvjgtfz8JG1Vi6dKkJDg42ixYtMjt37jR33XWXadCggcnKyjLGGHPbbbeZBx980NN+8uTJJiwszLzyyivmu+++M++8846JjY01N998s6fNX//6V/P++++bjIwMs2nTJtO3b1/TsGFDc/DgwWrfv4qoaF98/PHHZsWKFWbfvn3mww8/NNdcc41p3bq1+eWXX8q9zZqqKvrCH4+LvLw8s23bNrNt2zYjycyaNcts27bNfP/998YYYx588EFz2223edp/9913pm7dumb8+PFm165dZt68eSYwMNCsW7fO08Zfj4mq6At/PCaMqXhfGGM87ePj482wYcPMtm3bzNdff+1Zv2nTJlOnTh0zY8YMs2vXLjN58mQTFBRkvvrqq2rdt4qqir549NFHzdtvv2327dtntm7daoYMGWJCQkK82lQnAlAtNmfOHNOyZUtjt9tNjx49zMcff+xZl5CQYEaMGOF5f+LECTNlyhQTGxtrQkJCTHR0tPmf//kfr190ycnJpmnTpsZut5vmzZub5ORks3fv3mrco3NXkb54//33zUUXXWSCg4NNZGSkue2228xPP/1UoW3WZJXdF/54XLz33ntGUrFX0b6PGDHCJCQkFPtM165djd1uN23atDELFy4stl1/PCaqoi/88Zgw5tz6oqT2rVq18mrz6quvmgsvvNDY7XbTqVMn89Zbb1XPDp2HquiLcePGef7/iIqKMn/6059Menp69e3UGWzGlHJ+AwAAoJZiDhAAALAcAhAAALAcAhAAALAcAhAAALAcAhAAALAcAhAAALAcAhAAALAcAhAA+In3339fNptNv/76q69LAfweAQhAMSNHjpTNZtP06dO9lq9atUo2m83z3hijf/7zn+rVq5fCw8NVv359derUSWPHji33Aw6PHj2qCRMmKDY2ViEhIWrUqJESEhL0xhtveNrExMQoLS2tUvatqhX1nc1mU1BQkFq3bq2//e1vOnbsWIW2c9VVV2ncuHFey3r37q3MzEw5HI5KrBiwJgIQgBKFhIToqaee0i+//FLiemOMhg0bpvvvv19/+tOf9M4772jnzp166aWXFBISoscff7xc3zNmzBitXLlSc+bM0TfffKN169bppptuktPprMzdqVb9+vVTZmamvvvuOz3zzDN64YUXNHny5PPert1uV5MmTbxCKIBz5LOHcACosUaMGGEGDBhgOnToYMaPH+9Z/vrrr5uivzZeeeUVI8m88cYbJW7D7XaX67scDodZtGhRqesTEhKKPV+oyEcffWSuuOIKExISYlq0aGHuu+8+c+TIEc/6f/3rXyY+Pt7Ur1/fREVFmaFDh5rs7GzP+qLnHa1bt8507drVhISEmKuvvtpkZ2ebtWvXmg4dOpiwsDAzdOhQk5+fX679GTFihLn++uu9lt14442mW7dunveHDx82Q4YMMc2aNTOhoaGmc+fOZsmSJV7bOHOfMzIyPPWe/oy+1157zXTs2NHY7XbTqlUrM2PGjHLVCVgdI0AAShQYGKgnn3xSc+bM0Y8//lhs/SuvvKL27dtr4MCBJX6+vKMUTZo00dq1a5WXl1fi+pUrV6pFixZ67LHHlJmZqczMTEnSvn371K9fPw0ePFhffvmlli1bpo0bNyolJcXz2RMnTmjq1Kn64osvtGrVKu3fv18jR44s9h1TpkzR3LlztXnzZv3www+6+eablZaWpiVLluitt97SO++8ozlz5pRrf860Y8cObd68WXa73bPs2LFjio+P11tvvaUdO3borrvu0m233aZPP/1UkjR79mz16tVLd955p2efo6Oji21769atuvnmmzVkyBB99dVXmjJlih555BEtWrTonGoFLMXXCQxAzXP6KMZll11mbr/9dmOM9whQhw4dzMCBA70+N3bsWFOvXj1Tr14907x583J91wcffGBatGhhgoKCzKWXXmrGjRtnNm7c6NWmVatW5plnnvFaNnr0aHPXXXd5Lfvoo49MQECA+e2330r8rs8++8xIMnl5ecaYUyNA7777rqfNtGnTjCSzb98+z7K7777bJCYmlmt/RowYYQIDA029evVMcHCwkWQCAgLMa6+9Vubn+vfvb/7617963ickJJixY8d6tTlzBGjYsGHmj3/8o1eb8ePHm44dO5arVsDKGAECUKannnpKixcv1q5du87a9qGHHtL27ds1adIkHTlypFzbv/LKK/Xdd99pw4YNuummm/T111+rT58+mjp1apmf++KLL7Ro0SLVr1/f80pMTJTb7VZGRoakkyMkSUlJatmypcLCwpSQkCBJOnDggNe2LrnkEs/PUVFRqlu3rtq0aeO17ODBg+XaH0m6+uqrtX37dn3yyScaMWKERo0apcGDB3vWFxYWaurUqbr44osVERGh+vXr6+233y5W19ns2rVLl19+udeyyy+/XHv27FFhYWGFtgVYDQEIQJmuvPJKJSYmasKECV7L27Vrp927d3sta9Sokdq2bavGjRtX6DuCgoLUp08f/f3vf9c777yjxx57TFOnTlVBQUGpnzly5Ijuvvtubd++3fP64osvtGfPHsXGxio/P1+JiYkKDw/Xf/7zH3322Wd6/fXXJanYdoOCgjw/F129dTqbzSa3213u/alXr57atm2rLl26aMGCBfrkk0/00ksvedY//fTTmj17tv7+97/rvffe0/bt25WYmFjm/gKoXHV8XQCAmm/69Onq2rWr2rdv71k2dOhQDRs2TG+88Yauv/76Sv2+jh076vfff9exY8dkt9tlt9uLjWjExcVp586datu2bYnb+Oqrr+R0OjV9+nTP/JnPP/+8Uussj4CAAE2cOFGpqakaNmyYQkNDtWnTJl1//fW69dZbJUlut1vffvutOnbs6PlcSft8posuukibNm3yWrZp0yZdeOGFCgwMrPydAWoRRoAAnNXFF1+sW265Rc8++6xn2ZAhQ3TTTTdpyJAheuyxx/TJJ59o//79+uCDD7Rs2bJy/wK+6qqr9MILL2jr1q3av3+/1q5dq4kTJ+rqq69WeHi4pJP3Afrwww/1008/6fDhw5Kkv//979q8ebNSUlK0fft27dmzR2+88YZnEnTLli1lt9s1Z84cfffdd3rzzTfPelqtqvz5z39WYGCg5s2bJ+nk6Nn69eu1efNm7dq1S3fffbeys7O9PhMTE+Pp08OHD5c4AvXXv/5VGzZs0NSpU/Xtt99q8eLFmjt3rh544IFq2S/AnxGAAJTLY4895vVL2GazadmyZUpLS9PatWv1hz/8Qe3bt9ftt9+u6Ohobdy4sVzbTUxM1OLFi3Xttdfqoosu0n333afExES9+uqrXt+9f/9+xcbGqlGjRpJOztv54IMP9O2336pPnz7q1q2bJk2apGbNmkk6eTpu0aJFWr58uTp27Kjp06drxowZldgj5VenTh2lpKToH//4h/Lz8/Xwww8rLi5OiYmJuuqqq9SkSRMNGjTI6zMPPPCAAgMD1bFjRzVq1KjE+UFxcXF69dVXtXTpUnXu3FmTJk3SY489VuKVbgC82YwxxtdFAAAAVCdGgAAAgOUQgABUqdMvUz/z9dFHH/m6vAo5cOBAmftT0cvYAfgOp8AAVKmyHoravHlzhYaGVmM15+f333/X/v37S10fExOjOnW4uBbwBwQgAABgOZwCAwAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlvN/gZh2h5C1yXkAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_15.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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69bithYtWmDFihXYuXMn9u/fjz59+iAkJKTaIBUTEwOFQiG+nJ2dq71+IiIiathMjV2AIQwcOBAZGRm4desWNm7ciFdffRUnTpyAra2tVrtr167h0KFD+Pe//6213cbGBlFRUeL7nj174saNG1i2bBlGjBhR6Tmjo6O1PlNYWMggRURE1IgZbSTKxsYGJiYmyMvL09qel5cHe3v7Sj9jb29fo/YWFhZwd3dH7969sWnTJpiammJTJWvCx8fHw9rauspg9DhfX19kZmZWud/c3BxWVlZaLyIiIqodMpmsVtvVBqONRMlkMvj4+CA5ORkhISEAHk0sT05ORkRERKWf8fPzQ3JyMiIjI8VtSUlJ8PPzq/ZcGo0GxcXFWtsEQUB8fDzGjBkDMzOzJ9abkZHxVBPViIiISH/W1taIiIiodh0omUwGa2vrOqvJqLfzoqKiEB4ejh49eqBXr16IjY1FUVGROMl7zJgxcHJyQkxMDABgxowZ6N+/P1asWIFhw4Zh+/btOH36tDhbv6ioCB9//DFGjBgBBwcH3Lp1C2vXrsX169fxyiuvaJ37+++/R1ZWFiZMmFChrq1bt0Imk6F79+4AgN27d2Pz5s344osvDNkdREREVI26DEg1YdQQFRoaivz8fMybNw+5ubnw8vLCwYMHxcnjV69ehVT61x1Hf39/JCQkYO7cuZg9ezY8PDywZ88edO7cGQBgYmKCixcvYuvWrbh16xasra3Rs2dP/PTTT+jUqZPWuTdt2gR/f394enpWWtuiRYtw5coVmJqawtPTEzt27MDLL79soJ4gIiKihsao60Q1ZlwnioiIqOFpEOtEERERETVkDFFEREREemCIIiIiItIDQxQRERGRHhiiiIiIiPTAEEVERESkB4YoIiIiIj0wRBERERHpgSGKiIiISA8MUURERER6YIgiIiIi0gNDFBEREZEeGKKIiIiI9MAQRURERKQHhigiIiIiPTBEEREREemBIYqIiIhIDwxRRERERHpgiCIiIiLSA0MUERERkR4YooiIiIj0wBBFREREpAeGKCIiIiI9MEQRERER6YEhioiIiEgPDFFEREREemCIIiIiItIDQxQRERGRHhiiiIiIiPTAEEVERESkB4YoIiIiIj0wRBERERHpgSGKiIiISA8MUURERER6YIgiIiIi0gNDFBEREZEeTI1dABERETUt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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_16.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_17.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABKvUlEQVR4nO3de1yUZf7/8feADCDC6KAiIIqiZZYnREnzlFHYKnb8ZW4eslq/luQaHcx1PfTVQs01S8123dIyXd3SdtNaLEl3t7J0RTuqqeGhElSoQWUFYu7fH36ZGjkEyMyA9+v5eMwj576vuedzXcvK2+u+7vu2GIZhCAAAwET8fF0AAACAtxGAAACA6RCAAACA6RCAAACA6RCAAACA6RCAAACA6RCAAACA6RCAAACA6RCAAACA6RCAAKCeWrlypSwWiw4fPuzrUoBLDgEIMLGdO3cqNTVVV155pUJCQtSmTRvdcccd+uqrr8q1HTRokCwWiywWi/z8/BQWFqbLL79co0eP1rvvvluj7924caMGDhyoli1bqnHjxmrfvr3uuOMOZWRk1FXXynnqqaf0t7/9rdz2Dz/8ULNmzdIPP/zgse++0KxZs1xjabFY1LhxY3Xu3Fm///3vVVBQUCffsWbNGi1atKhOjgVcighAgInNmzdP69ev13XXXadnn31W48eP17/+9S/Fx8fr888/L9e+devWWrVqlV555RU9/fTTGj58uD788EPdcMMNGjFihEpKSn7xOxcsWKDhw4fLYrFo6tSpeuaZZ3TbbbfpwIEDWrt2rSe6KanqAPTEE094NQCVWbZsmVatWqWFCxeqU6dOevLJJzVkyBDVxSMaCUBA1Rr5ugAAvpOWlqY1a9bIarW6to0YMUJdunTR3Llz9eqrr7q1t9lsGjVqlNu2uXPnatKkSXr++ecVGxurefPmVfp9P/74o2bPnq3rr79e77zzTrn9J06cuMge1R+FhYVq3LhxlW1uv/12NW/eXJI0YcIE3XbbbdqwYYM++ugj9enTxxtlAqbFDBBgYn379nULP5LUsWNHXXnlldq7d2+1juHv76/nnntOnTt31pIlS+RwOCpte+rUKRUUFOiaa66pcH/Lli3d3p87d06zZs3SZZddpqCgIEVGRurWW2/VoUOHXG0WLFigvn37Kjw8XMHBwerZs6def/11t+NYLBadPXtWL7/8suu00913361Zs2bp0UcflSS1a9fOte/na25effVV9ezZU8HBwbLb7brzzjt17Ngxt+MPGjRIV111lXbt2qUBAwaocePG+t3vflet8fu5wYMHS5Kys7OrbPf888/ryiuvVGBgoKKiojRx4kS3GaxBgwbprbfe0pEjR1x9io2NrXE9wKWMGSAAbgzDUG5urq688spqf8bf318jR47U9OnT9f7772vo0KEVtmvZsqWCg4O1ceNGPfjgg7Lb7ZUes7S0VMOGDVNmZqbuvPNO/fa3v9Xp06f17rvv6vPPP1dcXJwk6dlnn9Xw4cN11113qbi4WGvXrtX/+3//T5s2bXLVsWrVKt13333q3bu3xo8fL0mKi4tTSEiIvvrqK/3lL3/RM88845qNadGihSTpySef1PTp03XHHXfovvvu08mTJ7V48WINGDBAu3fvVtOmTV315uXl6cYbb9Sdd96pUaNGKSIiotrjV6Ys2IWHh1faZtasWXriiSeUlJSk+++/X/v379eyZcu0c+dOffDBBwoICNC0adPkcDj0zTff6JlnnpEkNWnSpMb1AJc0AwB+ZtWqVYYk48UXX3TbPnDgQOPKK6+s9HNvvPGGIcl49tlnqzz+jBkzDElGSEiIceONNxpPPvmksWvXrnLtXnrpJUOSsXDhwnL7nE6n68+FhYVu+4qLi42rrrrKGDx4sNv2kJAQY+zYseWO9fTTTxuSjOzsbLfthw8fNvz9/Y0nn3zSbftnn31mNGrUyG37wIEDDUnGCy+8UGm/f27mzJmGJGP//v3GyZMnjezsbOOPf/yjERgYaERERBhnz541DMMwVqxY4VbbiRMnDKvVatxwww1GaWmp63hLliwxJBkvvfSSa9vQoUONtm3bVqsewIw4BQbAZd++fZo4caL69OmjsWPH1uizZTMMp0+frrLdE088oTVr1qhHjx7avHmzpk2bpp49eyo+Pt7ttNv69evVvHlzPfjgg+WOYbFYXH8ODg52/fn777+Xw+FQ//79lZWVVaP6L7RhwwY5nU7dcccdOnXqlOvVqlUrdezYUVu3bnVrHxgYqHHjxtXoOy6//HK1aNFC7dq10//8z/+oQ4cOeuuttypdO7RlyxYVFxdr8uTJ8vP76a/v3/zmNwoLC9Nbb71V844CJsUpMACSpJycHA0dOlQ2m02vv/66/P39a/T5M2fOSJJC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Kzw83O07AgIC1KpVK11++eXe7RwAAKiXfB6ARowYoZMnT2rGjBnKyclR9+7dlZGR4VoYffToUfn5/TRRtWzZMhUXF+v22293O87MmTM1a9Ysb5YOAAAaKIthGIavi6hvCgoKZLPZ5HA4WA8EAEADUZPf3w36KjAAAIDaIAABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTaeTrAgAAgOccOnRIhYWFle5v3Lix4uLivFhR/UAAAgDgEnXo0CG9+uqrv9hu1KhRpgtBnAIDAOASVdXMT23aXUoIQAAAmMQ330Tqww+v1jffRPq6FJ/jFBgAACbwxhs36ZNPukmySDLUrdsnuuWWv/u6LJ9hBggAgEvcN99E/iz8SJJFn3zSzdQzQQQgAAAucUePttVP4aeMRceOtfFFOfUCAQgAgEtcmzZHJBkXbDUUE3PUF+XUCwQgAAAuca1bH1e3bp/opxB0fg1Q69bHfVmWT7EIGgCAS1Tjxo1df77llr+rV68dOnasjWJijrqFn5+3MwsCEAAAl6i4uDiNGjWqgvv8RLv+xJ2gAQDAJceM4aY6WAMEAABMhwAEAABMhwAEAABMhwAEAABMhwAEAABMhwAEAABMhwAEAABMhwAEAABMhwAEAABMhwAEAABMhwAEAABMhwAEAABMhwAEAABMhwAEAABMhwAEAABMhwAEAABMhwAEAABMhwAEAABMp14EoKVLlyo2NlZBQUFKTEzUjh07Km27fPly9e/fX82aNVOzZs2UlJTk1r6kpERTpkxRly5dFBISoqioKI0ZM0bfffedN7oCAAAaAJ8HoHXr1iktLU0zZ85UVlaWunXrpuTkZJ04caLC9tu2bdPIkSO1detWbd++XTExMbrhhhv07bffSpIKCwuVlZWl6dOnKysrSxs2bND+/fs1fPhwb3YLAADUYxbDMAxfFpCYmKhevXppyZIlkiSn06mYmBg9+OCDevzxx3/x86WlpWrWrJmWLFmiMWPGVNhm586d6t27t44cOaI2bdr84jELCgpks9nkcDgUFhZWsw4BAACfqMnv70ZeqqlCxcXF2rVrl6ZOnera5ufnp6SkJG3fvr1axygsLFRJSYnsdnulbRwOhywWi5o2bVrh/qKiIhUVFbne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4e/vb6xYscK7hdexmo7D6tWrjcDAQGP16tVGdna2sXnzZiMyMtJ46KGHPFonAagSvXv3NiZOnOh6X1paakRFRRnp6em/+Nm2bdteMgHoYsbBMAzjxx9/NEJDQ42XX37ZUyV6zcWOhWEYRo8ePYzf//73nijPa2ozDj/++KPRt29f489//rMxduzYSyIA1XQcVqxYYdhsNi9V5101HYtly5YZ7du3N4qLi71Voldc7N8RzzzzjBEaGmqcOXPGUyV6RU3HYeLEicbgwYPdtqWlpRnXXHONR+vkFFgFiouLtWvXLiUlJbm2+fn5KSkpSdu3b/dhZd5VF+NQWFiokpIS2e12T5XpFRc7FoZhKDMzU/v379eAAQM8WapH1XYc/vd//1ctW7bUvffe640yPa6243DmzBm1bdtWMTExuummm/TFF194o1yPqs1YvPnmm+rTp48mTpyoiIgIXXXVVXrqqadUWlrqrbLrXF38ffniiy/qzjvvVEhIiKfK9LjajEPfvn21a9cu12myr7/+Wm+//bZ+9atfebRWHoZagVOnTqm0tFQRERFu2yMiIrRv3z4fVeV9dTEOU6ZMUVRUlNv/GRqi2o6Fw+FQdHS0ioqK5O/vr+eff17XX3+9p8v1mNqMw/vvv68XX3xRe/bs8UKF3lGbcbj88sv10ksvqWvXrnI4HFqwYIH69u2rL774otoPX66PajMWX3/9td577z3dddddevvtt3Xw4EE98MADKikp0cyZM71Rdp272L8vd+zYoc8//1wvvviip0r0itqMw69//WudOnVK/fr1k2EY+vHHHzVhwgT97ne/82itBCB4zNy5c7V27Vpt27btklrsWROhoaHas2ePzpw5o8zMTKWlpal9+/YaNGiQr0vzitOnT2v06NFavny5mjdv7utyfKpPnz7q06eP633fvn11xRVX6I9//KNmz57tw8q8z+l0qmXLlvrTn/4kf39/9ezZU99++62efvrpBhuALtaLL76oLl26qHfv3r4uxeu2bdump556Ss8//7wSExN18OBB/fa3v9Xs2bM1ffp0j30vAagCzZs3l7+/v3Jzc9225+bmqlWrVj6qyvsuZhwWLFiguXPnasuWLeratasny/SK2o6Fn5+fOnToIEnq3r279u7dq/T09AYbgGo6DocOHdLhw4eVkpLi2uZ0OiVJjRo10v79+xUXF+fZoj2gLv6OCAgIUI8ePXTw4EFPlOg1tRmLyMhIBQQEyN/f37XtiiuuUE5OjoqLi2W1Wj1asydczM/E2bNntXbtWv3v//6vJ0v0itqMw/Tp0zV69Gjdd999kqQuXbro7NmzGj9+vKZNmyY/P8+s1mENUAWsVqt69uypzMxM1zan06nMzEy3f8Fd6mo7DvPnz9fs2bOVkZGhhIQEb5TqcXX1M+F0OlVUVOSJEr2ipuPQqVMnffbZZ9qzZ4/rNXz4cF177bXas2ePYmJivFl+namLn4fS0lJ99tlnioyM9FSZXlGbsbjmmmt08OBBVxiWpK+++kqRkZENMvxIF/cz8dprr6moqEijRo3ydJkeV5txKCwsLBdyysKx4cnHlXp0iXUDtnbtWiMwMNBYuXKl8eWXXxrjx483mjZt6rpsdfTo0cbjjz/ual9UVGTs3r3b2L17txEZGWk88sgjxu7du40DBw74qgt1oqbjMHfuXMNqtRqvv/662+Wdp0+f9lUX6kxNx+Kpp54y3nnnHePQoUPGl19+aSxYsMBo1KiRsXz5cl91oU7UdBwudKlcBVbTcXjiiSeMzZs3G4cOHTJ27dpl3HnnnUZQUJDxxRdf+KoLdaamY3H06FEjNDTUSE1NNfbv329s2rTJaNmypTFnzhxfdaFO1Pb/G/369TNGjBjh7XI9pqbjMHPmTCM0NNT4y1/+Ynz99dfGO++8Y8TFxRl33HGHR+skAFVh8eLFRps2bQyr1Wr07t3b+Oijj1z7Bg4caIwdO9b1Pjs725BU7jVw4EDvF17HajIObdu2rXAcZs6c6f3CPaAmYzFt2jSjQ4cORlBQkNGsWTOjT58+xtq1a31Qdd2ryThc6FIJQIZRs3GYPHmyq21ERITxq1/9ysjKyvJB1Z5R05+JDz/80EhMTDQCAwON9u3bG08++aTx448/ernqulfTcdi3b58hyXjnnXe8XKln1WQcSkpKjFmzZhlxcXFGUFCQERMTYzzwwAPG999/79EaLYbhyfklAACA+oc1QAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQADgQ3fffbduvvlmX5cBmA4BCECF7r77blksFtcrPDxcQ4YM0aeffurr0urEz/tW9urXr5/Hvu/w4cOyWCzas2eP2/Znn31WK1eu9Nj3AqgYAQhApYYMGaLjx4/r+PHjyszMVKNGjTRs2DBfl1VnVqxY4erf8ePH9eabb1bYrqSkxGM12Gw2NW3a1GPHB1AxAhCASgUGBqpVq1Zq1aqVunfvrscff1zHjh3TyZMnNXjwYKWmprq1P3nypKxWq+tJ0LGxsZo9e7ZGjhypkJAQRUdHa+nSpW6fWbhwobp06aKQkBDFxMTogQce0JkzZ1z7jxw5opSUFDVr1kwhISG68sor9fbbb0uSvv/+e911111q0aKFgoOD1bFjR61YsaLa/WvatKmrf61atZLdbnfN1Kxbt04DBw5UUFCQVq9erby8PI0cOVLR0dFq3LixunTpor/85S9ux3M6nZo/f746dOigwMBAtWnTRk8++aQkqV27dpKkHj16yGKxaNCgQZLKnwIrKirSpEmT1LJlSwUFBalfv37auXOna/+2bdtksViUmZmphIQENW7cWH379tX+/fur3W8ABCAA1XTmzBm9+uqr6tChg8LDw3XfffdpzZo1KioqcrV59dVXFR0drcGDB7u2Pf300+rWrZt2796txx9/XL/97W/17rvvuvb7+fnpueee0xdffKGXX35Z7733nh577DHX/okTJ6qoqEj/+te/9Nlnn2nevHlq0qSJJGn69On68ssv9Y9//EN79+7VsmXL1Lx58zrpb1mte/fuVXJyss6dO6eePXvqrbfe0ueff67x48dr9OjR2rFjh+szU6dO1dy5c111rVmzRhEREZLkardlyxYdP35cGzZsqPB7H3vsMa1fv14vv/yysrKy1KFDByUnJys/P9+t3bRp0/SHP/xB//nPf9SoUSPdc889ddJvwDQ8+qhVAA3W2LFjDX9/fyMkJMQICQkxJBmRkZHGrl27DMMwjP/+979Gs2bNjHXr1rk+07VrV2PWrFmu923btjWGDBnidtwRI0YYN954Y6Xf+9prrxnh4eGu9126dHE75s+lpKQY48aNq1X/JBlBQUGu/oWEhBhvvPGGkZ2dbUgyFi1a9IvHGDp0qPHwww8bhmEYBQUFRmBgoLF8+fIK25Ydd/fu3W7bx44da9x0002GYRjGmTNnjICAAGP16tWu/cXFxUZUVJQxf/58wzAMY+vWrYYkY8uWLa42b731liHJ+O9//1uTIQBMjRkgAJW69tprtWfPHu3Zs0c7duxQcnKybrzxRh05ckRBQUEaPXq0XnrpJUlSVlaWPv/8c919991ux+jTp0+593v37nW937Jli6677jpFR0crNDRUo0ePVl5engoLCyVJkyZN0pw5c3TNNddo5syZbouw77//fq1du1bdu3fXY489pg8//LBG/XvmmWdc/duzZ4+uv/56176EhAS3tqWlpZo9e7a6dOkiu92uJk2aaPPmzTp69Kgkae/evSoqKtJ1111Xoxp+7tChQyopKdE111zj2hYQEKDevXu7jZkkde3a1fXnyMhISdKJEydq/d2A2RCAAFQqJCREHTp0UIcOHdSrVy/9+c9/1tmzZ7V8+XJJ0n333ad3331X33zzjVasWKHBgwerbdu21T7+4cOHNWzYMHXt2lXr16/Xrl27XGuEiouLXd/x9ddfa/To0frss8+UkJCgxYsXS5IrjD300EP67rvvdN111+mRRx6p9ve3atXK1b8OHTooJCTEre8/9/TTT+vZZ5/VlClTtHXrVu3Zs0fJycmuOoODg6v9vXUhICDA9WeLxSLp/BokANVDAAJQbRaLRX5+fvrvf/8rSerSpYsSEhK0fPlyrVmzpsJ1KB999FG591dccYUkadeuXXI6nfrDH/6gq6++Wpdddpm+++67cseIiYnRhAkTtGHDBj388MOuACZJLVq00NixY/Xqq69q0aJF+tOf/lSXXXb54IMPdNNNN2nUqFHq1q2b2rdvr6+++sq1v2PHjgoODnYtAL+Q1WqVdH4mqTJxcXGyWq364IMPXNtKSkq0c+dOde7cuY56AkCSGvm6AAD1V1FRkXJyciSdv+JqyZIlOnPmjFJSUlxt7rvvPqWmpiokJES33HJLuWN88MEHmj9/vm6++Wa9++67eu211/TWW29Jkjp06KCSkhItXrxYKSkp+uCDD/TCCy+4fX7y5Mm68cYbddlll+n777/X1q1bXQFqxowZ6tmzp6688koVFRVp06ZNrn11rWPHjnr99df14YcfqlmzZlq4cKFyc3NdwSQoKEhTpkzRY489JqvVqmuuuUYnT57UF198oXvvvVctW7ZUcHCwMjIy1Lp1awUFBclms7l9R0hIiO6//349+uijstvtatOmjebPn6/CwkLde++9HukXYFbMAAGoVEZGhiIjIxUZGanExETt3LlTr732musSbkkaOXKkGjVqpJEjRyooKKjcMR5++GH95z//UY8ePTRnzhwtXLhQycnJkqRu3bpp4cKFmjdvnq666iqtXr1a6enpbp8vLS3VxIkTdcUVV2jIkCG67LLL9Pzzz0s6P6sydepUde3aVQMGDJC/v7/Wrl3rkbH4/e9/r/j4eCUnJ2vQoEFq1apVuTs4T58+XQ8//LBmzJihK664QiNGjHCty2nUqJGee+45/fGPf1RUVJRuuummCr9n7ty5uu222zR69GjFx8fr4MGD2rx5s5o1a+aRfgFmZTEMw/B1EQAarsOHDysuLk47d+5UfHy8277Y2FhNnjxZkydP9k1xAFAJToEBqJWSkhLl5eXp97//va6++upy4QcA6jNOgQGolQ8++ECRkZHauXNnuXU7vvbUU0+pSZMmFb5uvPFGX5cHoB7gFBiAS05+fn65OyeXCQ4OVnR0tJcrAlDfEIAAAIDpcAoMAACYDgEIAACYDgEIAACYDgEIAACYDgEIAACYDgEIAACYDgEIAACYDgEIAACYzv8HgUkNoswW6EIAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_18.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABJ/ElEQVR4nO3de1xUdeL/8feADCCX0UFFURRF07QS0XS1vNRS2Cp2c7100exibpEZZWZtXrJCyzVLzPq1pWW52qZdMJdK0sq0bEW7qpmhdhFMqAFhBWLO7w+/jI1cBARm4Lyej8c81jnnc858Pp89zLz7nM85x2IYhiEAAAAT8fF0BQAAABoaAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAvNSKFStksVh04MABT1cFaHIIQICJffbZZ0pMTFSvXr0UFBSkjh07asyYMfr222/LlR02bJgsFossFot8fHwUGhqq7t276/rrr9d7771Xo89NTU3V0KFD1aZNGzVv3lxdunTRmDFjlJaWVldNK+fRRx/VG2+8UW751q1bNWfOHP3222/19tmnmjNnjqsvLRaLmjdvrp49e+rvf/+78vLy6uQzVq1apcWLF9fJvoCmiAAEmNiCBQu0du1a/fnPf9aTTz6pyZMn68MPP1RsbKy++uqrcuU7dOiglStX6qWXXtLjjz+uUaNGaevWrbr00ks1duxYlZSUnPYzFy5cqFGjRslisWjmzJl64okndPXVV2vfvn1avXp1fTRTUtUBaO7cuQ0agMosW7ZMK1eu1KJFi9SjRw898sgjGj58uOriEY0EIKBqzTxdAQCek5SUpFWrVslqtbqWjR07Vueee67mz5+vl19+2a28zWbTdddd57Zs/vz5mjp1qp5++mlFRUVpwYIFlX7e77//rnnz5umSSy7Ru+++W279kSNHzrBF3qOwsFDNmzevsszo0aPVqlUrSdKUKVN09dVXa926dfrkk080cODAhqgmYFqMAAEmNmjQILfwI0ndunVTr169tHv37mrtw9fXV0899ZR69uyplJQUORyOSssePXpUeXl5uuCCCypc36ZNG7f3x48f15w5c3TWWWcpICBA7dq101VXXaX9+/e7yixcuFCDBg1SWFiYAgMD1bdvX7322mtu+7FYLCooKNCLL77oOu10ww03aM6cOZo+fbokqXPnzq51f5xz8/LLL6tv374KDAyU3W7XuHHj9MMPP7jtf9iwYTrnnHO0Y8cODRkyRM2bN9f9999frf77o4svvliSlJmZWWW5p59+Wr169ZK/v78iIiJ0++23u41gDRs2TG+//bYOHjzoalNUVFSN6wM0ZYwAAXBjGIays7PVq1evam/j6+ur8ePH68EHH9SWLVs0YsSICsu1adNGgYGBSk1N1R133CG73V7pPktLSzVy5Eilp6dr3LhxuvPOO5Wfn6/33ntPX331laKjoyVJTz75pEaNGqVrr71WxcXFWr16tf76179q/fr1rnqsXLlSN998s/r376/JkydLkqKjoxUUFKRvv/1W//rXv/TEE0+4RmNat24tSXrkkUf04IMPasyYMbr55pv1yy+/aMmSJRoyZIh27typFi1auOqbk5Ojyy67TOPGjdN1112n8PDwavdfmbJgFxYWVmmZOXPmaO7cuYqLi9Pf/vY37d27V8uWLdNnn32mjz/+WH5+fnrggQfkcDj0448/6oknnpAkBQcH17g+QJNmAMAfrFy50pBkPP/8827Lhw4davTq1avS7V5//XVDkvHkk09Wuf9Zs2YZkoygoCDjsssuMx555BFjx44d5cq98MILhiRj0aJF5dY5nU7XvwsLC93WFRcXG+ecc45x8cUXuy0PCgoyJk6cWG5fjz/+uCHJyMzMdFt+4MABw9fX13jkkUfcln/55ZdGs2bN3JYPHTrUkGQ888wzlbb7j2bPnm1IMvbu3Wv88ssvRmZmpvHss88a/v7+Rnh4uFFQUGAYhmEsX77crW5HjhwxrFarcemllxqlpaWu/aWkpBiSjBdeeMG1bMSIEUanTp2qVR/AjDgFBsBlz549uv322zVw4EBNnDixRtuWjTDk5+dXWW7u3LlatWqV+vTpo3feeUcPPPCA+vbtq9jYWLfTbmvXrlWrVq10xx13lNuHxWJx/TswMND1719//VUOh0ODBw9WRkZGjep/qnXr1snpdGrMmDE6evSo69W2bVt169ZNmzZtcivv7++vSZMm1egzunfvrtatW6tz58669dZb1bVrV7399tuVzh3auHGjiouLNW3aNPn4nPz6vuWWWxQaGqq333675g0FTIpTYAAkSVlZWRoxYoRsNptee+01+fr61mj7Y8eOSZJCQkJOW3b8+PEaP3688vLy9Omnn2rFihVatWqVEhIS9NVXXykgIED79+9X9+7d1axZ1V9T69ev18MPP6xdu3apqKjItfyPIak29u3bJ8Mw1K1btwrX+/n5ub1v3759uflUp7N27VqFhobKz89PHTp0cJ3Wq8zBgwclnQhOf2S1WtWlSxfXegCnRwACIIfDocsuu0y//fabPvroI0VERNR4H2WXzXft2rXa24SGhuqSSy7RJZdcIj8/P7344ov69NNPNXTo0Gpt/9FHH2nUqFEaMmSInn76abVr105+fn5avny5Vq1aVeM2/JHT6ZTFYtF//vOfCsPgqXNq/jgSVV1DhgxxzTsC0LAIQIDJHT9+XAkJCfr222+1ceNG9ezZs8b7KC0t1apVq9S8eXNdeOGFtapHv3799OKLL+rw4cOSTkxS/vTTT1VSUlJutKXM2rVrFRAQoHfeeUf+/v6u5cuXLy9XtrIRocqWR0dHyzAMde7cWWeddVZNm1MvOnXqJEnau3evunTp4lpeXFyszMxMxcXFuZad6QgY0NQxBwgwsdLSUo0dO1bbtm3Tv//971rde6a0tFRTp07V7t27NXXqVIWGhlZatrCwUNu2batw3X/+8x9JJ0/vXH311Tp69KhSUlLKlTX+70aBvr6+slgsKi0tda07cOBAhTc8DAoKqvBmh0FBQZJUbt1VV10lX19fzZ07t9yNCQ3DUE5OTsWNrEdxcXGyWq166qmn3Or0/PPPy+FwuF19FxQUVOUtCQCzYwQIMLG7775bb731lhISEpSbm1vuxoen3vTQ4XC4yhQWFuq7777TunXrtH//fo0bN07z5s2r8vMKCws1aNAg/elPf9Lw4cMVGRmp3377TW+88YY++ugjXXHFFerTp48kacKECXrppZeUlJSk7du3a/DgwSooKNDGjRt122236fLLL9eIESO0aNEiDR8+XNdcc42OHDmipUuXqmvXrvriiy/cPrtv377auHGjFi1apIiICHXu3FkDBgxQ3759JUkPPPCAxo0bJz8/PyUkJCg6OloPP/ywZs6cqQMHDuiKK65QSEiIMjMz9frrr2vy5Mm65557zqj/a6p169aaOXOm5s6dq+HDh2vUqFHau3evnn76aZ1//vlu/3/17dtXa9asUVJSks4//3wFBwcrISGhQesLeDVPXoIGwLPKLt+u7FVV2eDgYKNbt27Gdddd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AhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdrwhAS5cuVVRUlAICAjRgwABt37690rLPPfecBg8erJYtW6ply5aKi4ursvyUKVNksVi0ePHieqg5AABojDwegNasWaOkpCTNnj1bGRkZ6t27t+Lj43XkyJEKy2/evFnjx4/Xpk2btG3bNkVGRurSSy/VTz/9VK7s66+/rk8++UQRERH13QwAANCIeDwALVq0SLfccosmTZqknj176plnnlHz5s31wgsvVFj+lVde0W233aaYmBj16NFD//znP+V0OpWenu5W7qefftIdd9yhV155RX5+fg3RFAAA0Eh4NAAVFxdrx44diouLcy3z8fFRXFyctm3bVq19FBYWqqSkRHa73bXM6XTq+uuv1/Tp09WrV6/T7qOoqEh5eXluLwAA0HR5NAAdPXpUpaWlCg8Pd1seHh6urKysau1jxowZioiIcAtRCxYsULNmzTR16tRq7SM5OVk2m831ioyMrH4jAABAo+PxU2BnYv78+Vq9erVef/11BQQESJJ27NihJ598UitWrJDFYqnWfmbOnCmHw+F6/fDDD/VZbQAA4GEeDUCtWrWSr6+vsrOz3ZZnZ2erbdu2VW67cOFCzZ8/X++++67OO+881/KPPvpIR44cUceOHdWsWTM1a9ZMBw8e1N13362oqKgK9+Xv76/Q0FC3FwAAaLo8GoCsVqv69u3rNoG5bELzwIEDK93uscce07x585SWlqZ+/fq5rbv++uv1xRdfaNeuXa5XRESEpk+frnfeeafe2gIAABqPZp6uQFJSkiZOnKh+/fqpf//+Wrx4sQoKCjRp0iRJ0oQJE9S+fXslJydLOjG/Z9asWVq1apWioqJcc4WCg4MVHByssLAwhYWFuX2Gn5+f2rZtq+7duzds4wAAgFfyeAAa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+eWXn/E+Pak++qIijeG4qKmBAwe69Zskvffee65+a6zHRG2cri8q0hSPieqqTX+ZRWlpqb788kvPHReenoWN+rF69WrD39/fWLFihfHNN98YkydPNlq0aGFkZWUZhmEY119/vXHfffe5ys+ePdsICQkx/vWvfxnff/+98e677xrR0dHGmDFjXGXuvvtuY/PmzUZmZqbx8ccfG3FxcUarVq2MI0eONHj7aqKmffHJJ58Ya9euNfbv3298+OGHxsUXX2x07tzZ+PXXX6u9T29VH33RGI+L/Px8Y+fOncbOnTsNScaiRYuMnTt3GgcPHjQMwzDuu+8+4/rrr3eV//77743mzZsb06dPN3bv3m0sXbrU8PX1NdLS0lxlGusxUR990RiPCcOoeV8YhuEq37dvX+Oaa64xdu7caXz99deu9R9//LHRrFkzY+HChcbu3buN2bNnG35+fsaXX37ZoG2rqfroi7lz5xrvvPOOsX//fmPHjh3GuHHjjICAALcyDYkA1IQtWbLE6Nixo2G1Wo3+/fsbn3zyiWvd0KFDjYkTJ7rel5SUGHPmzDGio6ONgIAAIzIy0rjtttvcfujGjh1rtGvXzrBarUb79u2NsWPHGt99910Dtqj2atIXmzdvNs4++2zD39/fCAsLM66//nrjp59+qtE+vVld90VjPC42bdpkSCr3Kmv7xIkTjaFDh5bbJiYmxrBarUaXLl2M5cuXl9tvYzwm6qMvGuMxYRi164uKynfq1MmtzKuvvmqcddZZhtVqNXr16mW8/fbbDdOgM1AffTFt2jTX30d4eLjxl7/8xcjIyGi4Rp3CYhiVnN8AAABoopgDBAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABACNwObNm2WxWPTbb795uipAk0AAAuDmhhtukMVi0fz5892Wv/HGG7JYLK73hmHoueee08CBAxUaGqrg4GD16tVLd955Z7UfblhYWKiZM2cqOjpaAQEBat26tYYOHao333zTVSYqKkqLFy+uk7bVt7K+s1gs8vPzU+fOnXXvvffq+PHjNdrPsGHDNG3aNLdlgwYN0uHDh2Wz2eqwxoB5EYAAlBMQEKAFCxbo119/rXC9YRi65pprNHXqVP3lL3/Ru+++q2+++UbPP/+8AgIC9PDDD1frc6ZMmaJ169ZpyZIl2rNnj9LS0jR69Gjl5OTUZXMa1PDhw3X48GF9//33euKJJ/Tss89q9uzZZ7xfq9Wqtm3buoVQAGfAYw/hAOCVJk6caIwcOdLo0aOHMX36dNfy119/3Sj7yvjXv/5lSDLefPPNCvfhdDqr9Vk2m81YsWJFpeuHDh1a7tlCZT766CPjwgsvNAICAowOHToYd9xxh3Hs2DHX+pdeesno27evERwcbISHhxvjx483srOzXevLnnWUlpZmxMTEGAEBAcZFF11kZGdnGxs2bDB69OhhhISEGOPHjzcKCgqq1Z6JEycal19+uduyq666yujTp4/r/dGjR41x48YZERERRmBgoHHOOecYq1atctvHqW3OzMx01fePz+d77bXXjJ49expWq9Xo1KmTsXDhwmrVE4BhMAIEoBxfX189+uijWrJkiX788cdy6//1r3+pe/fuGjVqVIXbV3eUom3bttqwYYPy8/MrXL9u3Tp16NBBDz30kA4fPqzDhw9Lkvbv36/hw4fr6quv1hdffKE1a9Zoy5YtSkxMdG1bUlKiefPm6fPPP9cbb7yhAwcO6IYbbij3GXPmzFFKSoq2bt2qH374QWPGjNHixYu1atUqvf3223r33Xe1ZMmSarXnVF999ZW2bt0qq9XqWnb8+HH17dtXb7/9tr766itNnjxZ119/vbZv3y5JevLJJzVw4EDdcsstrjZHRkaW2/eOHTs0ZswYjRs3Tl9++aXmzJmjBx98UCtWrKhVXQHT8XQCA+Bd/jiK8ac//cm48cYbDcNwHwHq0aOHMWrUKLft7rzzTiMoKMgICgoy2rdvX63P+uCDD4wOHToYfn5+Rr9+/Yxp06YZW7ZscSvTqVMn44knnnBbdtNNNxmTJ092W/bRRx8ZPj4+xv/+978KP+uzzz4zJBn5+fmGYZwcAdq4caOrTHJysiHJ2L9/v2vZrbfeasTHx1erPRMnTjR8fX2NoKAgw9/f35Bk+Pj4GK+99lqV240YMcK4++67Xe+HDh1q3HnnnW5lTh0Buuaaa4xLLrnErcz06dONnj17VquugNkxAgSgUgsWLNCLL76o3bt3n7bsAw88oF27dmnWrFk6duxYtfY/ZMgQff/990pPT9fo0aP19ddfa/DgwZo3b16V233++edasWKFgoODXa/4+Hg5nU5lZmZKOjFCkpCQoI4dOyokJERDhw6VJB06dMhtX+edd57r3+Hh4WrevLm6dOnituzIkSPVao8kXXTRRdq1a5c+/fRTTZw4UZMmTdLVV1/tWl9aWqp58+bp3HPPld1uV3BwsN55551y9Tqd3bt364ILLnBbdsEFF2jfvn0qLS2t0b4AMyIAAajUkCFDFB8fr5kzZ7ot79atm/bu3eu2rHXr1uratavatGlTo8/w8/PT4MGDNWPGDL377rt66KGHNG/ePBUXF1e6zbFjx3Trrbdq165drtfnn3+uffv2KTo6WgUFBYqPj1doaKheeeUVffbZZ3r99dclqdx+/fz8XP8uu3rrjywWi5xOZ7XbExQUpK5du6p379564YUX9Omnn+r55593rX/88cf15JNPasaMGdq0aZN27dql+Pj4KtsLoO4183QFAHi3+fPnKyYmRt27d3ctGz9+vK655hq9+eabuvzyy+v083r27Knff/9dx48fl9VqldVqLTeiERsbq2+++UZdu3atcB9ffvmlcnJyNH/+fNf8mf/+9791Ws/q8PHx0f3336+kpCRdc801CgwM1Mcff6zLL79c1113nSTJ6XTq22+/Vc+ePV3bVdTmU5199tn6+OOP3ZZ9/PHHOuuss+Tr61v3jQGaGEaAAFTp3HPP1bXXXqunnnrKtWzcuHEaPXq0xo0bp4ceekiffvqpDhw4oA8++EBr1qyp9g/wsGHD9Oyzz2rHjh06cOCANmzYoPvvv18XXXSRQkNDJZ24D9CHH36on376SUePHpUkzZgxQ1u3blViYqJ27dqlffv26c0333RNgu7YsaOsVquWLFmi77//Xm+99dZpT6vVl7/+9a/y9fXV0qVLJZ0YPXvvvfe0detW7d69W7feequys7PdtomKinL16dGjRyscgbr77ruVnp6uefPm6dtvv9WLL76olJQU3XPPPQ3SLqCxIwABOK2HHnrI7UfYYrFozZo1Wrx4sTZs2KA///nP6t69u2688UZFRkZqy5Yt1dpvfHy8XnzxRV166aU6++yzdccddyg+Pl6vvvqq22cfOHBA0dHRat26taQT83Y++OADffvttxo8eLD69OmjWbNmKSIiQtKJ03ErVqzQv//9b/Xs2VPz58/XwoUL67BHqq9Zs2ZKTEzUY489poKCAv39739XbGys4uPjNWzYMLVt21ZXXHGF2zb33HOPfH191bNnT7Vu3brC+UGxsbF69dVXtXr1ap1zzjmaNWuWHnrooQqvdANQnsUwDMPTlQAAAGhIjAABAADTIQABqDd/vEz91NdHH33k6erVyKFDh6psT00vYwfgWZwCA1Bvqnooavv27RUYGNiAtTkzv//+uw4cOFDp+qioKDVrxoW1QGNBAAIAAKbDKTAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6/x/1uawNpyZRfAAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_19.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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Y8XJkyfF9u3bhYeHh3j11VflOgWLaOp/G7fffrsYN26crcu1GnP7YcGCBcLV1VV89NFH4pdffhFfffWV8Pf3Fw8++KBV62QAasDy5ctFt27dhEajEUOHDhXff/+99FlYWJiIiYmR3ufm5goAtV5hYWG2L9wKzOmL7t2719kXCxYssH3hFmZOP7zwwgsiICBAODo6io4dO4rQ0FCRmpoqQ9WWZ04/XK8tBSAhzOuLuXPnSm09PT3FvffeK7KysmSo2vLM/TOxf/9+ERISIhwcHETPnj3Fa6+9Jv766y8bV2155vbDzz//LACIr776ysaVWpc5/VBZWSlefvll4e/vLxwdHYWvr6/417/+JX7//Xer1qgSwprjS0REREQtD+cAERERkeIwABEREZHiMAARERGR4jAAERERkeIwABEREZHiMAARERGR4jAAERERkeIwABERyWjq1KkYM2aM3GUQKQ4DEBHVaerUqVCpVNLL3d0dkZGR+Omnn+QuzSKuPbea1+2332614+Xl5UGlUiE7O9tk+9tvv40NGzZY7bhEVDcGICKqV2RkJC5evIiLFy8iIyMD7dq1Q1RUlNxlWcz69eul87t48SI+//zzOttVVlZarQatVosOHTpYbf9EVDcGICKql4ODA7y8vODl5YVBgwZh3rx5OHfuHC5duoSRI0ciNjbWpP2lS5eg0WikJ0H7+flh4cKFmDBhAlxcXODj44MVK1aY/M7SpUvRv39/uLi4wNfXF//6179w9epV6fNff/0V0dHR6NixI1xcXHDLLbdgx44dAIDff/8dEydOROfOneHk5IRevXph/fr1jT6/Dh06SOfn5eUFnU4njdRs3rwZYWFhcHR0xKZNm6DX6zFhwgT4+PjA2dkZ/fv3x0cffWSyP6PRiEWLFiEgIAAODg7o1q0bXnvtNQBAjx49AACBgYFQqVQYMWIEgNqXwMrLyzFnzhx4eHjA0dERt99+Ow4dOiR9vmfPHqhUKmRkZGDw4MFwdnbGsGHDcPLkyUafNxExABFRI129ehUffvghAgIC4O7ujhkzZiAlJQXl5eVSmw8//BA+Pj4YOXKktG3x4sUYOHAgDh8+jHnz5uGJJ57A119/LX2uVquxbNkyHDt2DBs3bsQ333yDZ599Vvp89uzZKC8vx3fffYcjR47gjTfeQPv27QEAL730Eo4fP44vv/wS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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_20.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABL40lEQVR4nO3de1xUZeLH8e9ADKDCuKCCFxRF07RCQSXtghmFrlJutmlaktnFflK6bDe7qGWFpWuo2GV381Kbq13M0ly7sFmZlgVSeclbmFYCCTkgphhzfn+4TI5cBASG4Xzer9e8Yp7zzDnPeXZqvvuc5zzHYhiGIQAAABPxcncDAAAAGhoBCAAAmA4BCAAAmA4BCAAAmA4BCAAAmA4BCAAAmA4BCAAAmA4BCAAAmA4BCAAAmA4BCAAasSVLlshisWjfvn3ubgrQpBCAAJP74osvlJSUpF69eql58+bq2LGjrr/+eu3atatc3UGDBslischiscjLy0uBgYHq3r27brrpJr3//vs1Ou7q1asVGxurNm3aqFmzZurSpYuuv/56rVu3rq5OrZwnn3xSq1atKle+ceNGzZgxQ4cPH663Y59uxowZzr60WCxq1qyZevbsqYcffliFhYV1coxly5YpNTW1TvYFNDUEIMDknnrqKb3xxhu64oorNG/ePN1+++36+OOPFRUVpa1bt5ar36FDB7388st66aWXNHv2bF199dXauHGjrrrqKo0aNUonTpw44zHnzJmjq6++WhaLRVOnTtUzzzyjkSNHavfu3Vq+fHl9nKakqgPQo48+2qABqMxzzz2nl19+WXPnzlWPHj30xBNPaMiQIaqLxzQSgIDKnePuBgBwr+TkZC1btkxWq9VZNmrUKF1wwQWaNWuW/vWvf7nUt9lsuvHGG13KZs2apbvvvlvPPvuswsPD9dRTT1V6vN9++00zZ87UlVdeqffee6/c9ry8vLM8o8bj6NGjatasWZV1rrvuOrVq1UqSNHHiRI0cOVIrV67UZ599pgEDBjREMwFTYgQIMLmBAwe6hB9J6tatm3r16qUdO3ZUax/e3t6aP3++evbsqbS0NNnt9krrHjp0SIWFhbr44osr3N6mTRuX98eOHdOMGTN07rnnys/PT23bttW1116rvXv3OuvMmTNHAwcOVHBwsPz9/RUdHa3XX3/dZT8Wi0XFxcVaunSp87LTzTffrBkzZujee++VJHXu3Nm57dQ5N//6178UHR0tf39/BQUFafTo0Tpw4IDL/gcNGqTzzz9fGRkZuuyyy9SsWTM9+OCD1eq/Uw0ePFiSlJ2dXWW9Z599Vr169ZKvr6/atWunSZMmuYxgDRo0SO+8846+//575zmFh4fXuD1AU8UIEIByDMNQbm6uevXqVe3PeHt764YbbtAjjzyiDRs2aNiwYRXWa9Omjfz9/bV69WrdddddCgoKqnSfpaWlGj58uNLT0zV69GhNnjxZRUVFev/997V161ZFRERIkubNm6err75aY8eOVUlJiZYvX64///nPWrNmjbMdL7/8sm699Vb1799ft99+uyQpIiJCzZs3165du/Tvf/9bzzzzjHM0pnXr1pKkJ554Qo888oiuv/563Xrrrfr555+1YMECXXbZZdqyZYtatmzpbG9+fr6GDh2q0aNH68Ybb1RISEi1+69MWbALDg6utM6MGTP06KOPKi4uTnfeead27typ5557Tl988YU+/fRT+fj46KGHHpLdbtcPP/ygZ555RpLUokWLGrcHaLIMADjNyy+/bEgyXnzxRZfy2NhYo1evXpV+7s033zQkGfPmzaty/9OmTTMkGc2bNzeGDh1qPPHEE0ZGRka5eosWLTIkGXPnzi23zeFwOP8+evSoy7aSkhLj/PPPNwYPHuxS3rx5cyMxMbHcvmbPnm1IMrKzs13K9+3bZ3h7extPPPGES/k333xjnHPOOS7lsbGxhiTj+eefr/S8TzV9+nRDkrFz507j559/NrKzs40XXnjB8PX1NUJCQozi4mLDMAxj8eLFLm3Ly8szrFarcdVVVxmlpaXO/aWlpRmSjEWLFjnLhg0bZnTq1Kla7QHMhktgAFx8++23mjRpkgYMGKDExMQafbZshKGoqKjKeo8++qiWLVumPn366N1339VDDz2k6OhoRUVFuVx2e+ONN9SqVSvddddd5fZhsVicf/v7+zv//uWXX2S323XppZcqMzOzRu0/3cqVK+VwOHT99dfr0KFDzldoaKi6deumDz/80KW+r6+vxo8fX6NjdO/eXa1bt1bnzp11xx13qGvXrnrnnXcqnTv0wQcfqKSkRFOmTJGX1+//Cb/tttsUGBiod955p+YnCpgQl8AAOOXk5GjYsGGy2Wx6/fXX5e3tXaPPHzlyRJIUEBBwxro33HCD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oCBIQUEFhB8AgKn88IN0++2S438XRBwO6Y47pPh4qUOHhm0LAaiB2WxFBB8AgCnt3v17+ClTWirt2dPwAYhLYPXMarXWaT0AADxVt26S12nJw9tb+t+jPBsUI0D1LDg4WElJSawEDQAwtfz8fHl7l+jpp/11//02lZZa5O1t6Kmn7PL2/lX5+Q37W8izwCrAs8AAAKg7FT8Vofx82LN9KgLPAgMAAI3G6VdBKpsP25BPRWAOEAAAMB0CEAAAMB0CEAAAMB0CEAAAMB0CEAAAMB0CEAAAMB0CEAAAqFeN8akIrAMEAADqVWN8KgIBCAAA1LvG9sgnLoEBAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTaRQBaOHChQoPD5efn59iYmK0efPmKuu/9tpr6tGjh/z8/HTBBRdo7dq1Lttzc3N18803q127dmrWrJmGDBmi3bt31+cpAAAAD+L2ALRixQolJydr+vTpyszMVGRkpOLj45WXl1dh/Y0bN+qGG27QhAkTtGXLFo0YMUIjRozQ1q1bJUmGYWjEiBH67rvv9NZbb2nLli3q1KmT4uLiVFxc3JCnBgAAGimLYRiGOxsQExOjfv36KS0tTZLkcDgUFhamu+66Sw888EC5+qNGjVJxcbHWrFnjLLvooovUu3dvPf/889q1a5e6d++urVu3qlevXs59hoaG6sknn9Stt956xjYVFhbKZrPJbrcrMDCwjs4UAADUp5r8frt1BKikpEQZGRmKi4tzlnl5eSkuLk6bNm2q8DObNm1yqS9J8fHxzvrHjx+XJPn5+bns09fXVxs2bKjrUwAAAB7IrQHo0KFDKi0tVUhIiEt5SEiIcnJyKvxMTk5OlfV79Oihjh07aurUqfrll19UUlKip556Sj/88IMOHjxY4T6PHz+uwsJClxcAAGi63D4HqK75+Pho5cqV2rVrl4KCgtSsWTN9+OGHGjp0qLy8Kj7dlJQU2Ww25yssLKyBWw0AABqSWwNQq1at5O3trdzcXJfy3NxchYaGVviZ0NDQM9aPjo5WVlaWDh8+rIMHD2rdunXKz89Xly5dKtzn1KlTZbfbna8DBw6c5ZkB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v6Mvfkdf/I6++B198TtP6wsmQQMAANNhBAgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAagJW7hwocLDw+Xn56eYmBht3ry5yvqpqanq3r27/P39FRYWpr/85S86duyYc/uMGTNksVhcXj169Kjv06gTNemLEydO6LHHHlNERIT8/PwUGRmpdevWndU+G5O67gtP/F58/PHHSkhIULt27WSxWLRq1aozfmb9+vWKioqSr6+vunbtqiVLlpSr44nfifroC0/8Tkg174uDBw9qzJgxOvfcc+Xl5aUpU6ZUWO+1115Tjx495OfnpwsuuEBr166t+8bXsfroiyVLlpT7Xvj5+dXPCVQDAaiJWrFihZKTkzV9+nRlZmYqMjJS8fHxysvLq7D+smXL9MADD2j69OnasWOHXnzxRa1YsUIPPvigS71evXrp4MGDzteGDRsa4nTOSk374uGHH9YLL7ygBQsWaPv27Zo4caL+9Kc/acuWLbXeZ2NRH30hed73ori4WJGRkVq4cGG16mdnZ2vYsGG6/PLLlZWVpSlTpujWW2/Vu+++66zjqd+J+ugLyfO+E1LN++L48eNq3bq1Hn74YUVGRlZYZ+PGjbrhhhs0YcIEbdmyRSNGjNCIESO0devWumx6nauPvpBOrhJ96vfi+++/r6sm15yBJql///7GpEmTnO9LS0uNdu3aGSkpKRXWnzRpkjF48GCXsuTkZOPiiy92vp8+fboRGRlZL+2tTzXti7Zt2xppaWkuZddee60xduzYWu+zsaiPvvDU70UZScabb75ZZZ377rvP6NWrl0vZqFGjjPj4eOd7T/1OnKqu+sLTvxOGUb2+OFVsbKwxefLkcuXXX3+9MWzYMJeymJgY44477jjLFjacuuqLxYsXGzabrc7adbYYAWqCSkpKlJGRobi4OGeZl5eX4uLitGnTpgo/M3DgQGVkZDiH7L/77jutXbtWf/zjH13q7d69W+3atVOXLl00duxY7d+/v/5OpA7Upi+OHz9ebljW39/f+f9ga7PPxqA++qKMp30vamrTpk0u/SZJ8fHxzn7z1O9EbZypL8o09e9EdVW3v8ziyJEj6tSpk8LCwnTNNddo27ZtbmsLAagJOnTokEpLSxUSEuJSHhISopycnAo/M2bMGD322GO65JJL5OPjo4iICA0aNMjlElhMTIyWLFmidevW6bnnnlN2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mmuu0Y033ihJcjgc2rVrl3r27On8XEXnfLrzzjtPn376qUvZp59+qnPPPVfe3t51fzJAE8IIEIAzuuCCCzR27FjNnz/fWTZ69Ghdd911Gj16tB577DF9/vnn2rdvnz766COtWLGi2j/AgwYN0gsvvKCMjAzt27dPa9eu1YMPPqjLL79cgYGBkk6uA/Txxx/rxx9/1KFDhyRJ999/vzZu3KikpCRlZWVp9+7deuutt5yToDt27Cir1aoFCxbou+++09tvv33Gy2r15c9//rO8vb21cOFCSSdHz95//31t3LhRO3bs0B133KHc3FyXz4SHhzv79NChQxWOQP31r39Venq6Zs6cqV27dmnp0qVKS0vTPffc0yDnBXgyAhCAannsscdcfoQtFotWrFih1NRUrV27VldccYW6d++uW265RWFhYdqwYUO19hsfH6+lS5fqqquu0nnnnae77rpL8fHxevXVV12OvW/fPkVERKh169aSTs7b+eijj7Rr1y5deuml6tOnj6ZNm6Z27dpJOnk5bsmSJXrttdfUs2dPzZo1S3PmzKnDHqm+c845R0lJSXr66adVXFyshx9+WFFRUYqPj9egQYMUGhqqESNGuHzmnnvukbe3t3r27KnWrVtXOD8oKipKr776qpYvX67zzz9f06ZN02OPPVbhnW4AXFkMwzDc3QgAAICGxAgQAAAwHQIQgHp16m3qp78++eQTdzevRvbv31/l+dT0NnYA7sMlMAD1qqqHorZv317+/v4N2Jqz89tvv2nfvn2Vbg8PD9c553BzLeAJCEAAAMB0uAQGAABMhwAEAABMhwAEAABMhwAEAABMhwAEAABMhwAEAABMhwAEAABMhwAEAABM5/8BrnXZrc8mHaMAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_21.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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Q69eveDk5AQnJyeEhIRU2P78+fMYOnQo1Go1bG1t0a1bN1y5csWY3SAiIqJ6xKwBaMeOHYiOjsacOXOQnp6OLl26IDQ0FLdu3aqw/ZEjRzB69GgcPnwYqamp8PLywoABA3D9+nWpzcWLF9GzZ0+0a9cOR44cwenTpzFr1ixYW1ubqltERERUxymEEMJcXx4cHIxu3bohISEBAKDT6eDl5YUpU6ZgxowZT/x8SUkJnJyckJCQgLFjxwIARo0aBUtLS2zevLnGdeXl5UGtVkOr1cLBwaHGxyEiIiLTMeT3t9lGgIqKipCWloaQkJCHxSiVCAkJQWpqarWOUVBQgOLiYmg0GgClAWrv3r1o06YNQkND4eLiguDgYHz11VfG6AIRERHVU2YLQHfu3EFJSQlcXV31tru6uiIrK6tax5g+fTo8PDykEHXr1i3cv38fcXFxGDhwIA4cOIAXX3wRL730Er799ttKj1NYWIi8vDy9FxERETVcjcxdQE3FxcVh+/btOHLkiDS/R6fTAQCGDRuGd955BwDg5+eH77//HmvXrkWfPn0qPFZsbCzmzZtnmsKJiIjI7Mw2AtSkSRNYWFggOztbb3t2djbc3Nyq/OySJUsQFxeHAwcOoHPnznrHbNSoETp06KDXvn379lXeBRYTEwOtViu9rl69WoMeERERUX1htgCkUqkQEBCAlJQUaZtOp0NKSgq6d+9e6ecWL16M+fPnIzk5GYGBgeWO2a1bN2RkZOht/+WXX9CiRYtKj2llZQUHBwe9FxERETVcZr0EFh0djYiICAQGBiIoKAjx8fHIz89HZGQkAGDs2LHw9PREbGwsAGDRokWYPXs2tm3bBm9vb2mukJ2dHezs7AAA77//PsLDw9G7d288//zzSE5ORlJSEo4cOWKWPhIREVHdY9YAFB4ejtu3b2P27NnIysqCn58fkpOTpYnRV65cgVL5cJBqzZo1KCoqwogRI/SOM2fOHMydOxcA8OKLL2Lt2rWIjY3F1KlT0bZtW+zcuRM9e/Y0Wb+IiIiobjPrOkB1FdcBIiIiqn/qxTpARERERObCAERERESywwBEREREssMARERERLLDAERERESywwBEREREssMARERERLLDAERERESywwBEREREssMARERERLLDAERERESywwBEREREssMARERERLLDAERERESywwBEREREssMARERERLLDAERERESywwBEREREssMARERERLLDAERERESywwBEREREssMARERERLLDAERERESywwBEREREssMARERERLLDAERERESywwBEREREssMARERERLLDAERERESywwBEREREssMARERERLLDAERERESywwBEREREssMARERERLLDAERERESywwBEREREstPI3AUQERGR8eTk5KCoqKjS/SqVCs7OziasqG5gACIiImqgcnJykJCQ8MR2UVFRsgtBvARGRETUQFU18lOTdg0JAxAREVEDdffuXb33Wq09MjO9odXaV9lODngJjIiIqIH6888/pT+np3dFUtIQCKGEQqFDWNge+PufLNdOLurECNCqVavg7e0Na2trBAcH4/jx45W2XbduHXr16gUnJyc4OTkhJCSkyvYTJ06EQqFAfHy8ESonIiKq+7Raeyn8AIAQSiQlDSk3EiQnZg9AO3bsQHR0NObMmYP09HR06dIFoaGhuHXrVoXtjxw5gtGjR+Pw4cNITU2Fl5cXBgwYgOvXr5dru2vXLvzwww/w8PAwdjeIiIjqrNxcZyn8lBFCidxcjZkqMj+zB6ClS5fizTffRGRkJDp06IC1a9eicePGWL9+fYXtt27dikmTJsHPzw/t2rXDp59+Cp1Oh5SUFL12169fx5QpU7B161ZYWlqaoitERER1kqVlIQDx2FYBS0v5TX4uY9YAVFRUhLS0NISEhEjblEolQkJCkJqaWq1jFBQUoLi4GBrNwxSr0+kwZswYvP/+++jYseMTj1FYWIi8vDy9FxERUUNRXGwFQPHYVgWKi1XmKKdOMGsAunPnDkpKSuDq6qq33dXVFVlZWdU6xvTp0+Hh4aEXohYtWoRGjRph6tSp1TpGbGws1Gq19PLy8qp+J4iIiOqosisgGk0OFAqd3j6FQgeNJlevnZyY/RLY04iLi8P27duxa9cuWFtbAwDS0tKwfPlybNy4EQrF42m3YjExMdBqtdLr6tWrxiybiIjIJNRq9f/98x7CwvZIIajsLjC1+p5eOzkx623wTZo0gYWFBbKzs/W2Z2dnw83NrcrPLlmyBHFxcTh48CA6d+4sbf/uu+9w69YtNG/eXNpWUlKCd999F/Hx8bh06VK5Y1lZWcHKyurpOkNERFTHqFQPL3H5+5+Ej88F5OZqoNHkSuHn8XZyYdYApFKpEBAQ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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_22.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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UlK16igsLERJSQnUarVuW9++fbFr1y5cv34dQggcPHgQ58+fx5AhQyqtp6ioCHl5eXovIiIiarxqHIA0Gg1mzpyJjh074vfff0dCQgLi4uLw5JNP1qie7OxslJaWwt7eXm+7vb09MjIyqlXHzJkz4ejoqBeiVq9eja5du6JNmzZQKBQYOnQo1qxZgwEDBlRaT0REBFQqle7l7Oxco74QERGRaalRAFq6dCk6dOiA3bt34+uvv8bRo0fRv3//+mpblSIjI7F161bs2LFD79b81atX4+eff8auXbuQnJyMf/3rX3jnnXdw4MCBSusKCwuDRqPRva5evdoQXSAiIiIDqdEcILlcDktLS/j6+sLMzKzScrGxsY+sq7i4GE2bNsW3336LUaNG6bYHBQXh9u3b+O677yo9dtmyZVi0aBEOHDgALy8v3fa//voLKpUKO3bswLBhw3TbJ06ciGvXriE+Pv6R7QI4B4iIiMgU1eT3u0Z3gQUGBkImkz1W48ooFAp4enoiISFBF4C0Wi0SEhIQEhJS6XFLly7F4sWLsW/fPr3wAwAlJSUoKSmBXK4/sGVmZlaju9OIiIiocatRAIqJianTDw8NDUVQUBC8vLzQu3dvREVFoaCgAMHBwQDuBS4nJydEREQAAJYsWYK5c+diy5YtcHFx0c0Vsra2hrW1NWxtbeHj44MZM2bA0tIS7dq1w48//ogvv/wSy5cvr9O2ExERkemq2aqFdSwgIAC3bt3C3LlzkZGRAXd3d8THx+smRl+5ckVvNGft2rUoLi7G6NGj9eoJDw/HvHnzAABbt25FWFgYXn75ZeTm5qJdu3ZYvHgxJk+e3GD9IiIiIuP22OsANUacA0RERGR6GmQdICIiIiJTxQBEREREksMARERERJLDAERERESSwwBEREREksMARERERJLDAERERESSwwBEREREksMARERERJLDAERERESSwwBEREREksMARERERJLDAERERESSwwBEREREksMARERERJLDAERERESSwwBEREREksMARERERJLDAERERESSwwBEREREksMARERERJLDAERERESSwwBEREREksMARERERJLDAERERESSwwBEREREksMARERERJLDAERERESSwwBEREREksMARERERJLDAERERESSwwBEREREksMARERERJLDAERERESSwwBEREREksMA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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_23.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjUAAAHHCAYAAABHp6kXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABCZ0lEQVR4nO3dfXzN9f/H8efZ7MrYXI6xmYuRhBKRi8RSI4lvfUslUctF8ZV0IV/1RQohSVL4zvgW6Vvo26WK6EL1TS6+hSXDYnKVtJnVzM7798f57eS4mG12rj7ncb/dzu3sfM7n4vV5n7Od596f9+d8bMYYIwAAAD8X5O0CAAAAygOhBgAAWAKhBgAAWAKhBgAAWAKhBgAAWAKhBgAAWAKhBgAAWAKhBgAAWAKhBgAAWAKhBgA8bOHChbLZbMrMzPR2KYClEGoAC1q/fr2GDx+uSy65RJGRkapXr55uvfVW/fjjj2fM26VLF9lsNtlsNgUFBSkqKkoXXXSR+vfvr48//rhU233nnXd09dVXKyYmRhUrVlTDhg116623auXKleW1a2eYNGmS3nrrrTOmf/nllxo/frx+++03t237dOPHj3e2pc1mU8WKFdWsWTM9/vjjysnJKZdtLFmyRDNnziyXdQFWQ6gBLOiZZ57RsmXLdM011+j555/X4MGD9dlnn+nyyy/Xli1bzpg/Li5Or7zyiv71r39p2rRpuvHGG/Xll1/quuuuU9++fVVQUHDebU6fPl033nijbDabxowZo+eee04333yzduzYoaVLl7pjNyUVH2omTJjg0VBT5KWXXtIrr7yiGTNmqGnTpnr66afVvXt3lcel9gg1wLlV8HYBAMrfqFGjtGTJEoWGhjqn9e3bVy1atNCUKVP06quvuswfHR2tO++802XalClTNGLECM2ZM0f169fXM888c87tnTx5UhMnTtS1116rjz766IznDx06dIF75Dvy8vJUsWLFYuf561//qho1akiShg4dqptvvlnLly/X119/rfbt23uiTCAg0VMDWFCHDh1cAo0kNW7cWJdcconS09NLtI7g4GDNmjVLzZo10+zZs5WdnX3OeX/55Rfl5OSoY8eOZ30+JibG5fEff/yh8ePHq0mTJgoPD1dsbKxuuukm7dy50znP9OnT1aFDB1WvXl0RERFq3bq13nzzTZf12Gw2HT9+XIsWLXIe8hk4cKDGjx+vRx55RJLUoEED53OnjmF59dVX1bp1a0VERKhatWq67bbbtHfvXpf1d+nSRc2bN9eGDRvUuXNnVaxYUX//+99L1H6nSkpKkiTt3r272PnmzJmjSy65RGFhYapTp46GDRvm0tPUpUsXvffee/rpp5+c+1S/fv1S1wNYFT01QIAwxujgwYO65JJLSrxMcHCwbr/9dj3xxBP64osv1LNnz7POFxMTo4iICL3zzjv629/+pmrVqp1znYWFhbrhhhu0evVq3XbbbXrggQd07Ngxffzxx9qyZYsaNWokSXr++ed14403ql+/fjpx4oSWLl2qW265Re+++66zjldeeUX33nuv2rZtq8GDB0uSGjVqpMjISP3444967bXX9Nxzzzl7TWrWrClJevrpp/XEE0/o1ltv1b333qvDhw/rhRdeUOfOnbVp0yZVqVLFWe+RI0fUo0cP3XbbbbrzzjtVq1atErdfkaKwVr169XPOM378eE2YMEHdunXTfffdp+3bt+ull17S+vXrtW7dOoWEhGjs2LHKzs5WVlaWnnvuOUlSpUqVSl0PYFkGQEB45ZVXjCSTmprqMv3qq682l1xyyTmXW7FihZFknn/++WLX/49//MNIMpGRkaZHjx7m6aefNhs2bDhjvgULFhhJZsaMGWc8Z7fbnT/n5eW5PHfixAnTvHlzk5SU5DI9MjLSDBgw4Ix1TZs2zUgyu3fvdpmemZlpgoODzdNPP+0y/fvvvzcVKlRwmX711VcbSebll18+536faty4cUaS2b59uzl8+LDZvXu3mTt3rgkLCzO1atUyx48fN8YYk5aW5lLboUOHTGhoqLnuuutMYWGhc32zZ882ksyCBQuc03r27GkSEhJKVA8QaDj8BASAH374QcOGDVP79u01YMCAUi1b1BNw7NixYuebMGGClixZolatWunDDz/U2LFj1bp1a11++eUuh7yWLVumGjVq6G9/+9sZ67DZbM6fIyIinD8fPXpU2dnZuuqqq7Rx48ZS1X+65cuXy26369Zbb9Uvv/zivNWuXVuNGzfWmjVrXOYPCwvT3XffXaptXHTRRapZs6YaNGigIUOGKDExUe+99945x+KsWrVKJ06c0MiRIxUU9Oef5UGDBikqKkrvvfde6XcUCEABGWo+++wz9erVS3Xq1JHNZjvrmRPe2F56erpuvPFGRUdHKzIyUldccYX27Nnj1tpgfQcOHFDPnj0VHR2tN998U8HBwaVaPjc3V5JUuXLl8857++236/PPP9fRo0f10Ucf6Y477tCmTZvUq1cv/fHHH5Ich2IuuugiVahQ/NHvd999V1deeaXCw8NVrVo11axZUy+99FKxY3tKYseOHTLGqHHjxqpZs6bLLT09/YxBzXXr1j1jfNL5LFu2TB9//LHWrl2rjIwMbdmyRa1btz7n/D/99JMkRxg6VWhoqBo2bOh8HkDxAnJMzfHjx3XppZfqnnvu0U033eQT29u5c6c6deqklJQUTZgwQVFRUdq6davCw8PdXh+sKzs7Wz169NBvv/2mzz//XHXq1Cn1OopOAU9MTCzxMlFRUbr22mt17bXXKiQkRIsWLdJ///tfXX311SVa/vPPP9eNN96ozp07a86cOYqNjVVISIjS0tK0ZMmSUu/Dqex2u2w2mz744IOzBrzTx6ic2mNUUp07d3aO4wHgOQEZanr06KEePXqc8/n8/HyNHTtWr732mn777Tc1b95czzzzjLp06eKW7UnS2LFjdf3112vq1KnOaUUDJoGy+OOPP9SrVy/9+OOPWrVqlZo1a1bqdRQWFmrJkiWqWLGiOnXqVKY62rRpo0WLFmn//v2SHO/r//73vyooKFBISMhZl1m2bJnCw8P14YcfKiwszDk9LS3tjHlPPWRVkumNGjWSMUYNGjRQkyZNSrs7bpGQkCBJ2r59uxo2bOicfuLECe3evVvdunVzTjvXfgEI0MNP5zN8+HB99dVXWrp0qb777jvdcsst6t69u3bs2OGW7dntdr333ntq0qSJkpOTFRMTo3bt2rn9sBisq7CwUH379tVXX32lN954o0zfjVJYWKgRI0YoPT1dI0aMUFRU1DnnzcvL01dffXXW5z744ANJfx5aufnmm/XLL79o9uzZZ8xr/v/L6YKDg2Wz2VRYWOh8LjMz86y/E5GRkWf9gr3IyEhJOuO5m266ScHBwZowYcIZX4ZnjNGRI0fOvpNu1K1bN4WGhmrWrFkuNaWmpio7O9vlrLPIyMgLPgQHWFVA9tQUZ8+ePUpLS9OePXucXfUPP/ywVq5cqbS0NE2aNKnct3no0CHl5uZqypQpeuqpp/TMM89o5cqVuummm7RmzZoSd9kDRR566CG9/fbb6tWrl3799dczvmzv9C/ay87Ods6Tl5enjIwMLV++XDt37tRtt92miRMnFru9vLw8dejQQVdeeaW6d++u+Ph4/fbbb3rrrbf0+eefq0+fPmrVqpUk6a677tK//vUvjRo1St98842uuuoqHT9+XKtWrdL999+v3r17q2fPnpoxY4a6d++uO+64Q4cOHdKLL76oxMREfffddy7bbt26tVatWqUZM2aoTp06atCggdq1a+ccwzJ27FjddtttCgkJUa9evdSoUSM99dRTGjNmjDIzM9WnTx9VrlxZu3fv1ooVKzR48GA9/PDDF9T+pVWzZk2NGTNGEyZMUPfu3XXjjTdq+/btmjNnjq644gqX16t169Z6/fXXNWrUKF1xxRWqVKmSevXq5dF6AZ/lzVOvfIEks2LFCufjd99913la6qm3ChUqmFtvvdUYY0x6erqRVOxt9OjRJdqeMcbs27fPSDK33367y/RevXqZ2267rVz3F4Gh6FTkc92Km7dSpUqmcePG5s477zQfffRRibZXUFBg5s+fb/r06WMSEhJMWFiYqVixomnVqpWZNm2ayc/Pd5k/Ly/PjB071jRo0MCEhISY2rVrm7/+9a9m586dznlSU1NN48aNTVhYmGnatKlJS0tznjJ9qh9++MF07tzZREREGEkup3dPnDjR1K1b1wQFBZ1xeveyZctMp06dnL/jTZs2NcOGDTPbt293aZviTnc/XVF9hw8fLna+00/pLjJ79mzTtGlTExISYmrVqmXuu+8+c/ToUZd5cnNzzR133GGqVKliJHF6N3AKmzHlcDESP2az2bRixQr16dNHkvT666+rX79+2rp16xmDCCtVqqTatWvrxIkT2rVrV7HrrV69uvOLvorbnuQ4bh4ZGalx48bp8ccfd04fPXq0vvjiC61bt67sOwgAQIDg8NNpWrVqpcLCQh06dEhXXXXVWecJDQ1V06ZNy22boaGhuuKKK7R9+3aX6T/++KNzACEAACheQIaa3NxcZWRkOB/v3r1bmzdvVrVq1dSkSRP169dPd911l5599lm1atVKhw8f1urVq9WyZctzfk18WbdXr149SdIjjzyivn37qnPnzuratatWrlypd955R2vXrr3g/QUAIBAE5OGntWvXqmvXrmdMHzBggBYuXKiCggI99dRT+te//qV9+/apRo0auvLKKzVhwgS1aNGi3LdXZMGCBZo8ebKysrJ00UUXacKECerdu3eptwcAQCAKyFADAACsh++pAQAAlkCoAQAAlhBQA4Xtdrt+/vlnVa5cma8aBwDATxhjdOzYMdWpU8flSvanC6hQ8/PPPys+Pt7bZQAAgDLYu3ev4uLizvl8QIWaypUrS3I0SnHXsQEAAL4jJydH8fHxzs/xcwmoUFN0yCkqKopQAwCAnznf0BEGCgMAAEsg1AAAAEsg1AAAAEsIqDE1AACURWFhoQoKCrxdhmWFhIQoODj4gtdDqAEA4ByMMTpw4IB+++03b5dieVWqVFHt2rUv6HvkCDUAAJxDUaCJiYlRxYoV+eJWNzDGKC8vT4cOHZIkxcbGlnldhBoAAM6isLDQGWiqV6/u7XIsLSIiQpJ06NAhxcTElPlQFAOFAQA4i6IxNBUrVvRyJYGhqJ0vZOwSoQYAgGJwyMkzyqOdCTUAAMASCDUAAMASCDXAKbKypDVrHPcA4K8GDhwom80mm82mkJAQ1apVS9dee60WLFggu91e4vUsXLhQVapUcV+h5Yyzn4D/l5oqDR4s2e1SUJA0b56UkuLtqgD4syNHjujEiRPnfD40NNRtZ1Z1795daWlpKiws1MGDB7Vy5Uo98MADevPNN/X222+rQgXrRQDr7RFQBllZfwYayXE/ZIiUnCzFxXm3NgD+6ciRI5o9e/Z55xs+fLhbgk1YWJhq164tSapbt64uv/xyXXnllbrmmmu0cOFC3XvvvZoxY4bS0tK0a9cuVatWTb169dLUqVNVqVIlrV27VnfffbekPwfxjhs3TuPHj9crr7yi559/Xtu3b1dkZKSSkpI0c+ZMxcTElPt+lAaHnwBJO3b8GWiKFBZKGRneqQeA/yuuh6Ys85WHpKQkXXrppVq+fLkkKSgoSLNmzdLWrVu1aNEiffLJJ3r00UclSR06dNDMmTMVFRWl/fv3a//+/Xr44YclOU67njhxov73v//prbfeUmZmpgYOHOix/TgXemoASY0bOw45nRpsgoOlxETv1QQA7tC0aVN99913kqSRI0c6p9evX19PPfWUhg4dqjlz5ig0NFTR0dGy2WzOHp8i99xzj/Pnhg0batasWbriiiuUm5urSpUqeWQ/zoaeGkCOQ0zz5jmCjOS4nzuXQ08ArMcY4zyctGrVKl1zzTWqW7euKleurP79++vIkSPKy8srdh0bNmxQr169VK9ePVWuXFlXX321JGnPnj1ur784hBrg/6WkSJmZjrOfMjMZJAzAmtLT09WgQQNlZmbqhhtuUMuWLbVs2TJt2LBBL774oqTiD4kdP35cycnJioqK0uLFi7V+/XqtWLHivMt5AoefgFPExdE7A8C6PvnkE33//fd68MEHtWHDBtntdj377LMKCnL0cfz73/92mT80NFSFhYUu03744QcdOXJEU6ZMUXx8vCTp22+/9cwOnAc9NeWA7zYBAPia/Px8HThwQPv27dPGjRs1adIk9e7dWzfccIPuuusuJSYmqqCgQC+88IJ27dqlV155RS+//LLLOurXr6/c3FytXr1av/zyi/Ly8lSvXj2FhoY6l3v77bc1ceJEL+2lK0LNBUpNlRISpKQkx31qqrcrAgBAWrlypWJjY1W/fn11795da9as0axZs/Sf//xHwcHBuvTSSzVjxgw988wzat68uRYvXqzJkye7rKNDhw4aOnSo+vbtq5o1a2rq1KmqWbOmFi5cqDfeeEPNmjXTlClTNH36dC/tpSubMcZ4uwhPycnJUXR0tLKzsxUVFXXB68vKcgSZ08+YyczkEAYA+Ls//vhDu3fvVoMGDRQeHl7q5b39PTX+prj2LunnN2NqLkBx321CqAGAwFa9enUNHz7ca98oHIgINReA7zYBABSHwOJZjKm5AHy3CQAAvoOemguUkuK4PlBGhqOHhkADAIB3EGrKAd9tAgCA93H4CQAAWAKhBgAAWAKhBgAAWAKhBgAAWAKhBgAAlMratWtls9n022+/lXiZ+vXra+bMmW6rSSLUAABgOQMHDpTNZtPQoUPPeG7YsGGy2WwaOHCg5wtzM0INAAAWFB8fr6VLl+r33393Tvvjjz+0ZMkS1atXz4uVuY9fhZp9+/bpzjvvVPXq1RUREaEWLVro22+/9XZZAAD4nMsvv1zx8fFavny5c9ry5ctVr149tWrVyjktPz9fI0aMUExMjMLDw9WpUyetX7/eZV3vv/++mjRpooiICHXt2lWZmZlnbO+LL77QVVddpYiICMXHx2vEiBE6fvy42/bvbPwm1Bw9elQdO3ZUSEiIPvjgA23btk3PPvusqlat6u3SAAA4r6wsac0ax72n3HPPPUpLS3M+XrBgge6++26XeR599FEtW7ZMixYt0saNG5WYmKjk5GT9+uuvkqS9e/fqpptuUq9evbR582bde++9euyx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/v3NY4895pw/Pz/fbNq0yWzatMnExsaahx9+2GzatMns2LHDW7tQLkrbDlOmTDGhoaHmzTffdDlV8dixY97ahXJR2naYNGmS+eijj8zOnTvNtm3bzPTp002FChXM/PnzvbUL5aa0bXE6q5z9VNp2mDBhgvnwww/Nzp07zYYNG8xtt91mwsPDzdatW721C+WitO2wZ88eU7lyZTN8+HCzfft28+6775qYmBjz1FNPeWsXyk1Zfzc6depk+vbt6+ly3aa07TBu3DhTuXJl89prr5ldu3aZjz76yDRq1Mjceuutbqsx4EKNMca88MILpl69eiY0NNS0bdvWfP31187nrr76ajNgwADn4927dxtJZ9yuvvpqzxdezkrTDgkJCWdth3Hjxnm+8HJWmnYYO3asSUxMNOHh4aZq1aqmffv2ZunSpV6o2j1K0xans0qoMaZ07TBy5EjnvLVq1TLXX3+92bhxoxeqLn+lfT98+eWXpl27diYsLMw0bNjQPP300+bkyZMerto9StsWP/zwg5FkPvroIw9X6l6laYeCggIzfvx406hRIxMeHm7i4+PN/fffb44ePeq2+mzGuKsPCAAAwHMCakwNAACwLkINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINALjBwIED1adPH2+XAQQUQg0QYAYOHCibzea8Va9eXd27d9d3333n7dLKxan7VnTr1KmT27aXmZkpm82mzZs3u0x//vnntXDhQrdtF8CZCDVAAOrevbv279+v/fv3a/Xq1apQoYJuuOEGb5dVbtLS0pz7t3//fr399ttnna+goMBtNURHR6tKlSpuWz+AMxFqgAAUFham2rVrq3bt2rrsssv02GOPae/evTp8+LCSkpI0fPhwl/kPHz6s0NBQ5xV669evr4kTJ+r2229XZGSk6tatqxdffNFlmRkzZqhFixaKjIxUfHy87r//fuXm5jqf/+mnn9SrVy9VrVpVkZGRuuSSS/T+++9Lko4ePap+/fqpZs2aioiIUOPGjZWWllbi/atSpYpz/2rXrq1q1ao5e1Ref/11XX311QoPD9fixYt15MgR3X777apbt64qVqyoFi1a6LXXXnNZn91u19SpU5WYmKiwsDDVq1dPTz/9tCSpQYMGkqRWrVrJZrOpS5cuks48/JSfn68RI0YoJiZG4eHh6tSpk9avX+98fu3atbLZbFq9erXatGmjihUrqkOHDtq+fXuJ9xsIdIQaIMDl5ubq1VdfVWJioqpXr657771XS5YsUX5+vnOeV199VXXr1lVSUpJz2rRp03TppZdq06ZNeuyxx/TAAw/o448/dj4fFBSkWbNmaevWrVq0aJE++eQTPfroo87nhw0bpvz8fH322Wf6/vvv9cwzz6hSpUqSpCeeeELbtm3TBx98oPT0dL300kuqUaNGuexvUa3p6elKTk7WH3/8odatW+u9997Tli1bNHjwYPXv31/ffPONc5kxY8ZoypQpzrqWLFmiWrVqSZJzvlWrVmn//v1avnz5Wbf76KOPatmyZVq0aJE2btyoxMREJScn69dff3WZb+zYsXr22Wf17bffqkKFCrrnnnvKZb+BgOC2S2UC8EkDBgwwwcHBJjIy0kRGRhpJJjY21mzYsMEYY8zvv/9uqlatal5//XXnMi1btjTjx493Pk5ISDDdu3d3WW/fvn1Njx49zrndN954w1SvXt35uEWLFi7rPFWvXr3M3XffXab9k2TCw8Od+xcZGWlWrFhhdu/ebSSZmTNnnncdPXv2NA899JAxxpicnBwTFhZm5s+ff9Z5i9a7adMml+mnXrU8NzfXhISEmMWLFzufP3HihKlTp46ZOnWqMcaYNWvWGElm1apVznnee+89I8n8/vvvpWkCIGDRUwMEoK5du2rz5s3avHmzvvnmGyUnJ6tHjx766aefFB4erv79+2vBggWSpI0bN2rLli0aOHCgyzrat29/xuP09HTn41WrVumaa65R3bp1VblyZfXv319HjhxRXl6eJGnEiBF66qmn1LFjR40bN85loPJ9992npUuX6rLLLtOjjz6qL7/8slT799xzzzn3b/Pmzbr22mudz7Vp08Zl3sLCQk2cOFEtWrRQtWrVVKlSJX344Yfas2ePJCk9PV35+fm65pprSlXDqXbu3KmCggJ17NjROS0kJERt27Z1aTNJatmypfPn2NhYSdKhQ4fKvG0gkBBqgAAUGRmpxMREJSYm6oorrtA///lPHT9+XPPnz5ck3Xvvvfr444+VlZWltLQ0JSUlKSEhocTrz8zM1A033KCWLVtq2bJl2rBhg3PMzYkTJ5zb2LVrl/r376/vv/9ebdq00QsvvCBJzoD14IMP6ueff9Y111yjhx9+uMTbr127tnP/EhMTFRkZ6bLvp5o2bZqef/55jR49WmvWrNHmzZuVnJzsrDMiIqLE2y0PISEhzp9tNpskx5geAOdHqAEgm82moKAg/f7775KkFi1aqE2bNpo/f76WLFly1nEdX3/99RmPL774YknShg0bZLfb9eyzz+rKK69UkyZN9PPPP5+xjvj4eA0dOlTLly/XQw895AxVklSzZk0NGDBAr776qmbOnKl58+aV5y47rVu3Tr1799add96pSy+9VA0bNtSPP/7ofL5x48aKiIhwDpI+XWhoqCRHj8+5NGrUSKGhoVq3bp1zWkFBgdavX69mzZqV054AqODtAgB4Xn5+vg4cOCDJcabR7NmzlZubq169ejnnuffeezV8+HBFRkbqL3/5yxnrWLdunaZOnao+ffro448/1htvvKH33ntPkpSYmKiCggK98MIL6tWrl9atW6eXX37ZZfmRI0eqR48eatKkiY4ePao1a9Y4Q9E//vEPtW7dWpdccony8/P17rvvOp8rb40bN9abb76pL7/8UlWrVtWMGTN08OBBZ9gIDw/X6NGj9eijjyo0NFQdO3bU4cOHtXXrVqWkpCgmJkYRERFauXKl4uLiFB4erujoaJdtREZG6r777tMjjzyiatWqqV69epo6dary8vKUkpLilv0CAhE9NUAAWrlypWJjYxUbG6t27dpp/fr1euONN5ynI0vS7bffrgoVKuj2229XeHj4Get46KGH9O2336pVq1Z66qmnNGPGDCUnJ0uSLr30Us2YMUPPPPOMmjdvrsWLF2vy5MkuyxcWFmrYsGG6+OKL1b17dzVp0kRz5syR5Oj9GDNmjFq2bKnOnTsrODhYS5cudUtbPP7447r88suVnJysLl26qHbt2md8E/ATTzyhhx56SP/4xz908cUXq2/fvs5xLhUqVNCsWbM0d+5c1alTR7179z7rdqZMmaKbb75Z/fv31+WXX66MjAx9+OGHqlq1qlv2CwhENmOM8XYRAHxPZmamGjVqpPXr1+vyyy93ea5+/foaOXKkRo4c6Z3iAOAsOPwEwEVBQYGOHDmixx9/XFdeeeUZgQYAfBWHnwC4WLdunWJjY7V+/fozxsF426RJk1SpUqWz3nr06OHt8gB4GYefAPiNX3/99Yxv4C0SERGhunXrergiAL6EUAMAACyBw08AAMASCDUAAMASCDUAAMASCDUAAMASCDUAAMASCDUAAMASCDUAAMASCDUAAMAS/g/VANFyaf4JbwAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_24.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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Paq2bdsqJCREn376qXx9fbM0/9mzZyVJRYoUueG0jz76qNatW6fTp09r5cqV6tq1q7Zt26Z27drpwoULkhyHYqpWraoCBTI++v3FF1/ozjvvVGBgoIoVK6bQ0FC99dZbGZ7bkxnx8fEyxqhy5coKDQ11ecXFxaU5qblcuXJpzk+6kYULF2rVqlVau3at9u7dqx07dqhevXrXnf63336T5AhDV/P391elSpWc4wFkLF+eU3Pu3DnVqlVLTzzxhB588EGP+L59+/bp7rvvVu/evTV69GgFBwfr119/VWBgYK7XB+tKSkpSmzZt9Oeff2rdunUqW7Zslpdx+RLwqKioTM8THByse++9V/fee6/8/Pw0b948ff/992rWrFmm5l+3bp3at2+vpk2b6s0331SZMmXk5+enuXPnav78+Vleh6vZ7XbZbDZ9+eWX6Qa8a89RubrHKLOaNm3qPI8HQN7Jl6GmTZs2atOmzXXHp6SkaMSIEfrwww/1559/qmbNmpo4caKaN2+eK98nSSNGjND999+v1157zTns8gmTQHZcuHBB7dq10549e/T111+revXqWV5Gamqq5s+fr4IFC+ruu+/OVh3169fXvHnzdOTIEUmO7fr777/XpUuX5Ofnl+48CxcuVGBgoL766isFBAQ4h8+dOzfNtFcfssrM8MjISBljVLFiRVWpUiWrq5MrIiIiJEm7d+9WpUqVnMMvXryoAwcOqFWrVs5h11svAPn08NONDBw4UJs2bdJHH32kn3/+WY888ohat26t+Pj4XPk+u92uZcuWqUqVKoqOjlbJkiXVsGHDXD8sButKTU1V586dtWnTJn3yySfZujdKamqqBg0apLi4OA0aNEjBwcHXnfb8+fPatGlTuuO+/PJLSVcOrTz00EM6efKkZsyYkWZa87+b0/n6+spmsyk1NdU5LiEhId3fiUKFCqV7g71ChQpJUppxDz74oHx9fTV69Og0N8MzxujUqVPpr2QuatWqlfz9/TVt2jSXmmJiYpSUlORy1VmhQoVu+hAcYFX5sqcmIwcPHtTcuXN18OBBZ1f9s88+qxUrVmju3LkaN25cjn/n8ePHdfbsWU2YMEGvvPKKJk6cqBUrVujBBx/UmjVrMt1lD1z2zDPP6LPPPlO7du30xx9/pLnZ3rU32ktKSnJOc/78ee3du1eLFi3Svn371KVLF40d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p0835cuXN/7+/qZBgwbmu+++c45r1qyZ6dGjh/PzpUuXzKhRo0xkZKQJDAw04eHh5p///KfLDqxz586mTJkyxt/f35QrV8507tzZ7N27Nw/XKPuy0hZr1641t956qwkICDDFixc33bt3N4cPH87SMj1VTreDt24Ta9asMZLSvC6vf48ePUyzZs3SzFO7dm3j7+9vKlWqZObOnZtmud64TeRGW+Sn7SK96SMiIlym+fjjj02VKlWMv7+/qVGjhlm2bFnerNBNyI22GDJkiPP3o1SpUub+++83W7duzbuVuortfwUDAAB4Nc6pAQAAlkCoAQAAlkCoAQAAlkCoAQAAlkCoAQAAlkCoAQAAlkCoAQAAlkCoAQA3Wrt2rWw2m/788093lwJ4PUINkE/07NlTNptNEyZMcBm+ZMkS2Ww252djjN555x01atRIwcHBKly4sGrUqKHBgwdn+gF158+f1/DhwxUZGanAwECFhoaqWbNmWrp0qXOaChUqaOrUqTmybrntctvZbDb5+fmpYsWKev7553XhwoUsLad58+YaMmSIy7DGjRvryJEjCgkJycGKgfyJUAPkI4GBgZo4caJOnz6d7nhjjLp27apBgwbp/vvv18qVK7Vz507FxMQoMDBQr7zySqa+p3///lq0aJGmT5+uXbt2acWKFXr44Yd16tSpnFydPNW6dWsdOXJE+/fv1+uvv65Zs2Zp5MiRN71cf39/lS5d2iVYAsgmtzycAUCe69Gjh3nggQdMtWrVzHPPPeccvnjxYnP5v4IPP/zQSDJLly5Ndxl2uz1T3xUSEmJiY2OvO75Zs2ZpniVz2bp168zdd99tAgMDTVhYmHn66afN2bNnnePfffddU69ePVO4cGFTqlQp8+ijj5pjx445x19+ts2KFStM7dq1TWBgoGnRooU5duyYWb58ualWrZopUqSIefTRR825c+cytT49evQwHTp0cBn24IMPmjp16jg/nzx50nTp0sWULVvWBAUFmZo1a5r58+e7LOPadT5w4ICz3qufx/bpp5+a6tWrG39/fxMREWEmT56cqTqB/I6eGiAf8fX11bhx4zR9+nQlJiamGf/hhx+qatWqat++fbrzZ7Y3oXTp0lq+fLnOnDmT7vhFixYpLCxMY8aM0ZEjR3TkyBFJ0r59+9S6dWs99NBD+vnnn7VgwQKtX79eAwcOdM576dIljR07Vj/99JOWLFmihIQE9ezZM813jBo1SjNmzNDGjRt16NAhderUSVOnTtX8+fO1bNkyrVy5UtOnT8/U+lxrx44d2rhxo/z9/Z3DLly4oHr16mnZsmXasWOH+vbtq+7du+uHH36QJL3xxhtq1KiR+vTp41zn8PDwNMvesmWLOnXqpC5duuiXX37RqFGj9PLLLys2NjZbtQL5irtTFYC8cXVvw5133mmeeOIJY4xrT021atVM+/btXeYbPHiwKVSokClUqJApV65cpr7rm2++MWFhYcbPz8/Ur1/fDBkyxKxfv95lmoiICPP666+7DOvdu7fp27evy7B169YZHx8f89dff6X7XZs3bzaSzJkzZ4wxV3pqvv76a+c048ePN5LMvn37nMP69etnoqOjM7U+PXr0ML6+vqZQoUImICDASDI+Pj7m008/zXC+tm3bmmeeecb5uVmzZmbw4MEu01zbU9O1a1dz7733ukzz3HPPmerVq2eqViA/o6cGyIcmTpyoefPmKS4u7obTjhgxQtu3b9e///1vnT17NlPLb9q0qfbv36/Vq1fr4Ycf1q+//qomTZpo7NixGc73008/KTY2VoULF3a+oqOjZbfbdeDAAUmOnox27dqpfPnyKlKkiJo1ayZJOnjwoMuybr/9due/S5UqpYIFC6pSpUouw44fP56p9ZGkFi1aaPv27fr+++/Vo0cP9erVSw899JBzfGpqqsaOHavbbrtNxYoVU+HChfXVV1+lqetG4uLidNddd7kMu+uuuxQfH6/U1NQsLQvIbwg1QD7UtGlTRUdHa/jw4S7DK1eurN27d7sMCw0NVVRUlEqWLJml7/Dz81OTJk00bNgwrVy5UmPGjNHYsWN18eLF685z9uxZ9evXT9u3b3e+fvrpJ8XHxysyMlLnzp1TdHS0goOD9cEHH2jz5s1avHixJKVZrp+fn/Pfl69auprNZpPdbs/0+hQqVEhRUVGqVauW5syZo++//14xMTHO8ZMmTdIbb7yhYcOGac2aNdq+fbuio6MzXF8AOauAuwsA4B4TJkxQ7dq1VbVqVeewRx99VF27dtXSpUvVoUOHHP2+6tWr6++//9aFCxfk7+8vf3//ND0PdevW1c6dOxUVFZXuMn755RedOnVKEyZMcJ6P8uOPP+ZonZnh4+OjF198UUOHDlXXrl0VFBSkDRs2qEOHDnrsscckSXa7XXv27FH16tWd86W3zte69dZbtWHDBpdhGzZsUJUqVeTr65vzKwNYCD01QD512223qVu3bpo2bZpzWJcuXfTwww+rS5cuGjNmjL7//nslJCTom2++0YIFCzK9U23evLlmzZqlLVu2KCEhQcuXL9eLL76oFi1aKDg4WJLjPjXffvutDh8+rJMnT0qShg0bpo0bN2rgwIHavn274uPjtXTpUueJwuXLl5e/v7+mT5+u/fv367PPPrvhIa3c8sgjj8jX11czZ86U5OjlWrVqlTZu3Ki4uDj169dPx44dc5mnQoUKzjY9efJkuj1FzzzzjFavXq2xY8dqz549mjdvnmbMmKFnn302T9YL8GaEGiAfGzNmjMuO1WazacGCBZo6daqWL1+ue+65R1WrVtUTTzyh8PBwrV+/PlPLjY6O1rx583Tffffp1ltv1dNPP63o6Gh9/PHHLt+dkJCgyMhIhYaGSnKcB/PNN99oz549atKkierUqaN///vfKlu2rCTHobDY2Fh98sknql69uiZMmKDJkyfnYItkXoECBTRw4EC99tprOnfunF566SXVrVtX0dHRat68uUqXLq2OHTu6zPPss8/K19dX1atXV2hoaLrn29StW1cff/yxPvroI9WsWVP//ve/NWbMmHSv8ALgymaMMe4uAgAA4GbRUwMAACyBUAMgy66+5Pra17p169xdXpYcPHgww/XJ6iXZANyHw08AsiyjB1uWK1dOQUFBeVjNzfn777+VkJBw3fEVKlRQgQJcKAp4A0INAACwBA4/AQAASyDUAAAASyDUAAAASyDUAAAASyDUAAAASyDUAAAASyDUAAAASyDUAAAAS/h/MUTqvl5DAOcAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_25.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_26.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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brmoqChs3LgRoaGhZdMlEVV7f/75J8LDw2W17t2749VXX1WoIyKqbkp8TVP37t0xYsQIDBo0SFbftGkTvvrqK0RGRuqyv0qD1zQRlR1N03HTp0+Hvr6+At0QUVVSkt/fJb57LioqCu3atStSb9euHU6dOlXS3RERFSs/P7/Yu+MYmIiovJX4qkkHBwd8/fXXWLRokay+bt06ODg46KwxIqreIiMji6z91rt3b41/aSMiKg8lDk3Lli1D//79sW/fPri7uwMATp06hWvXruGXX37ReYNEVP1oOrs0c+ZMflUTESmqxNNzvXr1wrVr19C3b188ePAADx48QN++fXH16lX06tWrLHokomoiJyen2Ok4BiYiUhoXt9QRXghO9GL279+PkydPympvv/02WrRooVBHRFQd6Hxxy6elpKTgm2++weXLlwEAzZo1w/Dhw2FhYVGa3RFRNcfpOCKqDEo8PXfmzBk0bNgQy5Ytk6bnli5dioYNG+Kvv/4qix6JqIrKysridBwRVRolnp577bXX0KhRI3z99dfSVxbk5eVhxIgR+Pvvv3H06NEyabSi4/QcUcns2LED58+fl9UGDhwIFxcXhToiouqoJL+/SxyaTExMcPbsWTRp0kRWv3TpEtq1a4fMzMySd1wFMDQRaa+4s0tEROWtTBe3VKvVSExMLFK/efMmatasWdLdEVE1kpGRwcBERJVWiS8EHzBgAPz9/fH555+jU6dOAIDjx49j0qRJRb5ahYio0KZNm3Dt2jVZzdfXF05OTso0RERUQiUOTZ9//jlUKhWGDh2KvLw8AICBgQHGjBmDBQsW6LxBIqr8eHaJiKqCUq/TlJmZiRs3bgAAGjZsCFNTU502VtnwmiaiolJTUxEWFlakzsBERBVFma/TBACmpqZcdI6IivX111/j9u3bstqIESNQr149hToiInoxWoem4cOHazXu22+/LXUzRFQ1cDqOiKoirUPThg0b0KBBA7Rp0wb85hUi0uT+/ftYtWqVrGZsbIwpU6Yo1BERke5oHZrGjBmDzZs3Iz4+HsOGDcP777+P2rVrl2VvRFSJLF++HCkpKbLamDFjYG1trUxDREQ6pvU6TatXr0ZSUhImT56M3377DQ4ODnjvvfcQHh7OM09E1dzs2bOLBKaQkBAGJiKqUkp999w///yDDRs24LvvvkNeXh4uXrwIc3Nz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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_27.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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vXo1PvjgA0l8165dCAwMVLuniorHdbaISnb+/Hls3LhREnv77bfx7rvvypQREVEFrLPVq1cvhISEYNasWfD29gYAHDx4ECNHjkSfPn1KnzERkQaapg0jIyNLXA+PiKgyKnWxNWvWLCgUCgQGBuL58+cAXjyJ99VXX2HatGnlniARVS8qlUrj8imcNiQifVXqacQiT548wdWrVwEALi4uvEm1DDiNSCR1+PBh/Prrr5JY165dS30/KBGRLul8GrGIhYUFWrZsWdbDiYgkNE0bjhs3TvKQDBGRPtK62BowYIBW7Ype1ExEpI2CggLJU79FOG1IRFWF1sVWfHw8GjZsiNatW6OMM49ERBJ79uxBcnKyJNa7d2+4ubnJlBERUfnTutj66quvsG7dOqSnp6N///7o27evuMAnEVFpaZo2jIqKUns/KRGRvtP6ZohFixbh7t27CA8Px3/+8x84Ojris88+w65duzjSRURay8vLUyu0DAwMEB0dzUKLiKqkMj+NeP36dcTHx+PHH3/E8+fPcfbsWdSoUaO886vS+DQiVTc///wzzp49K4mFhITgtddekykjIqLSq7CnEQ0MDKBQKCAIAgoLC8t6GiKqJjRNG/ImeCKqDkr1THV+fj7WrVuH999/H02aNMHp06excOFC3Lhxg6NaRKTRgwcP1AotW1tbFlpEVG1oPbL19ddfY/369XB0dMSAAQOwbt062NjY6DI3ItJzS5YsgVKplMS+/fZb1K1bV6aMiIgqntb3bBkYGMDJyQmtW7cu8SbWLVu2lFtyVR3v2aKqjNOGRFRV6eyercDAQD4pREQvdfv2bSxbtkwSa9asGT777DOZMiIiklepFjUlIirJlClTxBfUFxk+fDjv6SSiaq3MTyMSERURBAETJ05Ui3PakIiIxRYRvaJLly5h3bp1kpi3tzfef/99mTIiIqpcWGwRUZlpugk+IiICJiYmMmRDRFQ5sdgiolJTqVSYNGmSWpzThkRE6lhsEVGpHDt2DDt27JDEunTpgnbt2smUERFR5cZii4i0pmnacOzYsTA0NJQhGyIi/cBii4he6tmzZ5g6dapanNOGREQvx2KLiEq0d+9e/PHHH5LYZ599hmbNmsmUERGRfmGxRUTF0jRtGBUVxbdJEBGVAostIlLz5MkTzJw5Uy3OaUMiotJjsUVEElu3bsWpU6cksf79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Xl4e+vfvDwAIDAxEgwYNxF/Ew4YNg4+PD2bPno2uXbti/fr1OHr0qDgypVAoEBoaismTJ8PV1RXOzs4YN24cHBwcEBAQAOB/hVbDhg0xa9YsZGVlifn8c0RtxYoVsLe3R5cuXdRynzhxItq3b4/GjRsjOzsbM2fOxPXr1/HFF1/o4o+qytq4cSPOnz8vfm7dujX8/f1lzIiIiKh8yVps9erVC1lZWYiKioJSqYS7uzsSExPFKbsbN25IRp28vb2xdu1ajB07FpGRkXB1dUVCQgJatGghtgkPD0deXh4GDRqE7OxsdOjQAYmJieKCo3v27MGVK1dw5coVvPbaa5J8/r4KhkqlQnx8PIKDg2FoaKiW+8OHDzFw4EAolUrUrl0bHh4eSE5O5k3cWvrrr78wY8YMSWzAgAG8h42IiKocWdfZqu6q6zpb586dw6ZNmySxMWPGwMioWj+vQUREeqK0v7/5240qjCAIiI+Px40bN8TYW2+9pbZ2GhERUVXCYosqxKNHjzBnzhxJbPDgwcU+eUpERFRVsNginUtLS8P27dvFzyYmJhg1ahRfIE1ERNUCiy3SGUEQ8P333+P+/fti7L333kOHDh1kzIqIiKhisdginXj48CFiY2MlsW+//RZ169aVKSMiIiJ5sNiicpeSkoLdu3eLn2vXro0hQ4ZAoeALpImIqPphsUXlRqVSYdasWfjrr7/EWNeuXdGmTRsZsyIiIpIXiy0qF/fu3cPixYslse+++65arR9GRESkCYstemX79u3DgQMHxM8NGjRASEgIpw2JiIjAYotewfPnzzFlyhRJrGfPnpLXJxEREVV3LLaoTG7fvo1ly5ZJYiNHjoSFhYVMGREREVVOLLao1H755RccPXpU/NykSRP06dNHxoyIiIgqLxZbpLWCggLExMRIYp9//jlcXV1lyoiIiKjyY7FFWklPT8ePP/4oiY0ePRqmpqYyZURERKQfWGzRS/388884e/as+Nnd3R09evSQMSMiIiL9wWKLivXXX39hxowZklj//v3h5OQkU0ZERET6h8UWaXThwgVs2LBBEouMjISxsbFMGREREeknFluk5scff0R6err42cvLCx988IGMGREREekvFlskevz4MWbPni2JDRo0CPb29jJlREREpP9YbBEA4OTJk0hISBA/GxoaIiIiAoaGhvIlRUREVAWw2Krm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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_28.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlIAAAHHCAYAAAB0nLYeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABXtUlEQVR4nO3deVhUZf8/8PewL7IoyGYoqCSafqVAEfNJK57AzCSt0DJQySXNJVwSRXAN11xJKsulcolK9EGDlLRFeTQVNfclCLfBFUbHWOf8/vDnPJ1mQBgGzizv13Vx2XzmnsPnHAvenfuc+8gEQRBARERERHVmIXUDRERERMaKQYqIiIhIRwxSRERERDpikCIiIiLSEYMUERERkY4YpIiIiIh0xCBFREREpCMGKSIiIiIdMUgRERER6YhBiohMmkwmw8yZM6VuQ23IkCHw8/OTug0i0hMGKSJqdOvWrYNMJlN/2dnZ4fHHH8e7776LoqKiBv3e+/fvx8yZM1FcXKzX7fbq1Uu0T82aNUOXLl3w+eefQ6VS6eV7fPDBB8jIyNDLtohIP6ykboCIzNfs2bPh7++P0tJS/Prrr1i9ejV27tyJEydOwMHBQS/f46+//oKV1f9+1O3fvx+zZs3CkCFD4Orqqpfv8dBjjz2GlJQUAMCNGzewYcMGxMXF4dy5c5g/f369t//BBx/g1VdfRVRUVL23RUT6wSBFRJLp3bs3QkJCAABvv/023Nzc8OGHH2Lbtm0YNGiQzttVqVQoLy+HnZ0d7Ozs9NXuI7m4uGDw4MHq1yNHjkS7du2watUqzJkzB9bW1o3WCxE1Dk7tEZHBeO655wAA+fn5AIDFixeje/fucHNzg729PYKDg/HNN99ofE4mk+Hdd9/FV199hSeeeAK2trbIyspSv/fwGqmZM2di8uTJAAB/f3/1NFxBQQF69uyJzp07a+2rXbt2iIiIqPP+ODg4oFu3blAqlbhx40a145RKJSZOnAhfX1/Y2tqiXbt2WLx4MQRBEO2jUqnE+vXr1X0PGTKkzj0RkX7xjBQRGYyLFy8CANzc3AAAy5cvx8svv4w333wT5eXl2Lx5M1577TVkZmaiT58+os/++OOP+Prrr/Huu+/C3d1d6wXd/fv3x7lz57Bp0yYsXboU7u7uAIDmzZvjrbfewvDhw3HixAl07NhR/ZnffvsN586dQ2Jiok779Mcff8DS0rLaaURBEPDyyy9jz549iIuLQ1BQELKzszF58mRcuXIFS5cuBQB88cUXePvtt9G1a1eMGDECANCmTRudeiIiPRKIiBrZ2rVrBQDC7t27hRs3bgiXLl0SNm/eLLi5uQn29vbC5cuXBUEQhPv374s+V15eLnTs2FF47rnnRHUAgoWFhXDy5EmN7wVASE5OVr9etGiRAEDIz88XjSsuLhbs7OyE999/X1QfN26c4OjoKNy7d6/GferZs6cQGBgo3LhxQ7hx44Zw+vRpYdy4cQIAoW/fvupxsbGxQqtWrdSvMzIyBADC3LlzRdt79dVXBZlMJly4cEFdc3R0FGJjY2vsg4gaF6f2iEgy4eHhaN68OXx9fTFw4EA0adIEW7duRYsWLQAA9vb26rF37txBSUkJ/vWvf+HIkSMa2+rZsyc6dOigcy8uLi7o168fNm3apJ5Sq6qqwpYtWxAVFQVHR8dHbuPMmTNo3rw5mjdvjvbt22PlypXo06cPPv/882o/s3PnTlhaWmLcuHGi+sSJEyEIAr7//nud94mIGh6n9ohIMqmpqXj88cdhZWUFT09PtGvXDhYW//v/u8zMTMydOxdHjx5FWVmZui6TyTS25e/vX+9+YmJisGXLFvzyyy945plnsHv3bhQVFeGtt96q1ef9/Pzw6aefqpd0CAgIgIeHR42f+fPPP+Hj4wMnJydRvX379ur3ichwMUgRkWS6du2qvmvvn3755Re8/PLLeOaZZ/DRRx/B29sb1tbWWLt2LTZu3Kgx/u9nr3QVEREBT09PfPnll3jmmWfw5ZdfwsvLC+Hh4bX6vKOjY63HEpFp4NQeERmkb7/9FnZ2dsjOzsawYcPQu3dvvYQUbWezHrK0tMQbb7yBb775Bnfu3EFGRgYGDRoES0vLen/f6rRq1QpXr17F3bt3RfUzZ86o33+opt6JSBoMUkRkkCwtLSGTyVBVVaWuFRQU1Htl74fXOlW3svlbb72FO3fuYOTIkbh3755oXaiG8OKLL6KqqgqrVq0S1ZcuXQqZTIbevXura46OjnpfkZ2I6odTe0RkkPr06YMPP/wQkZGReOONN3D9+nWkpqaibdu2OH78uM7bDQ4OBgBMnz4dAwcOhLW1Nfr27asOWE8++SQ6duyI9PR0tG/fHk899ZRe9qc6ffv2xbPPPovp06ejoKAAnTt3xg8//IBt27ZhwoQJoiUOgoODsXv3bnz44Yfw8fGBv78/QkNDG7Q/IqoZz0gRkUF67rnn8Nlnn0Eul2PChAnYtGkTFixYgFdeeaVe2+3SpQvmzJmDY8eOYciQIRg0aJDGYpkxMTEAUOuLzOvDwsIC27dvx4QJE5CZmYkJEybg1KlTWLRoET788EPR2A8//BDBwcFITEzEoEGDsHr16gbvj4hqJhOEvy2dS0REWL58Od577z0UFBSgZcuWUrdDRAaMQYqI6G8EQUDnzp3h5uaGPXv2SN0OERk4XiNFRIQHz7vbvn079uzZg99//x3btm2TuiUiMgI8I0VEhAd3BPr7+8PV1RWjR4/GvHnzpG6JiIwAgxQRERGRjnjXHhEREZGOGKSIiIiIdMSLzXWkUqlw9epVODk58bENRERERkIQBNy9exc+Pj6ih6TrikFKR1evXoWvr6/UbRAREZEOLl26hMcee6ze22GQ0pGTkxOAB38Rzs7OEndDREREtaFQKODr66v+PV5fDFI6ejid5+zszCBFRERkZPR1WQ4vNiciIiLSkeRBKjU1FX5+frCzs0NoaCgOHjxY4/j09HQEBgbCzs4OnTp1ws6dO0Xvf/fdd3jhhRfg5uYGmUyGo0ePit6/ffs2xo4di3bt2sHe3h4tW7bEuHHjUFJSou9dIyIiIhMnaZDasmUL4uPjkZycjCNHjqBz586IiIjA9evXtY7fv38/Bg0ahLi4OOTl5SEqKgpRUVE4ceKEeoxSqUSPHj2wYMECrdu4evUqrl69isWLF+PEiRNYt24dsrKyEBcX1yD7SERERKZL0pXNQ0ND0aVLF6xatQrAgyUFfH19MXbsWEydOlVjfHR0NJRKJTIzM9W1bt26ISgoCGlpaaKxDx/3kJeXh6CgoBr7SE9Px+DBg6FUKmFlVbvLxhQKBVxcXFBSUlLjNVJVVVWoqKio1TbJeFlbW8PS0lLqNoiI6BFq+/u7tiS72Ly8vByHDx9GQkKCumZhYYHw8HDk5uZq/Uxubi7i4+NFtYiICGRkZNSrl4cHs6YQVVZWhrKyMvVrhUJR4zYFQYBcLkdxcXG9eiPj4erqCi8vL64rRkRkRiQLUjdv3kRVVRU8PT1FdU9PT5w5c0brZ+Ryudbxcrm8Xn3MmTMHI0aMqHFcSkoKZs2aVevtPgxRHh4ecHBw4C9XEyYIAu7fv6+ekvb29pa4IyIiaixmvfyBQqFAnz590KFDB8ycObPGsQkJCaKzYQ/XodCmqqpKHaLc3Nz02TIZKHt7ewDA9evX4eHhwWk+IiIzIVmQcnd3h6WlJYqKikT1oqIieHl5af2Ml5dXncbX5O7du4iMjISTkxO2bt0Ka2vrGsfb2trC1ta2Vtt+eE2Ug4NDnfsi4/Xw77uiooJBiojITEh2156NjQ2Cg4ORk5OjrqlUKuTk5CAsLEzrZ8LCwkTjAWDXrl3Vjq+OQqHACy+8ABsbG2zfvh12dnZ134Fa4HSeeeHfNxGR+ZF0ai8+Ph6xsbEICQlB165dsWzZMiiVSgwdOhQAEBMTgxYtWiAlJQUAMH78ePTs2RNLlixBnz59sHnzZhw6dAiffPKJepu3b99GYWEhrl69CgA4e/YsgAdns7y8vNQh6v79+/jyyy+hUCjUF443b96cZxKIiIio1iQNUtHR0bhx4waSkpIgl8sRFBSErKws9QXlhYWFoiczd+/eHRs3bkRiYiKmTZuGgIAAZGRkoGPHjuox27dvVwcxABg4cCAAIDk5GTNnzsSRI0dw4MABAEDbtm1F/eTn58PPz6+hdpeIiIhMjKTrSBmzmtahKC0tRX5+Pvz9/Rts2rChDBkyBOvXrwcAWFlZoVmzZvi///s/DBo0CEOGDBEF25qsW7cOEyZMMKvlH4z5752IyFzoex0pyR8RQ4YnMjIS165dQ0FBAb7//ns8++yzGD9+PF566SVUVlZK3R4REZHBYJAiDba2tvDy8kKLFi3w1FNPYdq0adi2bRu+//57rFu3DgDw4YcfolOnTnB0dISvry9Gjx6Ne/fuAQD27t2LoUOHoqSkBDKZDDKZTL28xBdffIGQkBA4OTnBy8sLb7zxRrWPBCIiIvNTWVmJBQs+wqhR32Dr1nKp23kkBqlGIAgCysvLJfnS18ztc889h86dO+O7774D8GAV+hUrVuDkyZNYv349fvzxR0yZMgXAg2vZli1bBmdnZ1y7dg3Xrl3DpEmTADxYGmDOnDk4duwYMjIyUFBQgCFDhuilRyIiMm6XL1/GvHnzUFp6A97eJ5Gaek/qlh7JrBfkbCwVFRXqOw8bW0JCAmxsbPSyrcDAQBw/fhwAMGHCBHXdz88Pc+fOxahRo/DRRx/BxsYGLi4ukMlkGmt8DRs2TP3PrVu3xooVK9ClSxfcu3cPTZo00UufRERkfHbu3InffvtN/bqoqD3GjWsmYUe1wyBFtSYIgnqtpN27dyMlJQVnzpyBQqFAZWUlSktLcf/+/RoXIj18+DBmzpyJY8eO4c6dO1CpVAAe3KHZoUOHRtkPIiIyHBUVFfjggw9EtTfffFPjznpDxSDVCKytrUUPZ27s760vp0+fhr+/PwoKCvDSSy/hnXfewbx589CsWTP8+uuviIuLQ3l5ebVBSqlUIiIiAhEREfjqq6/QvHlzFBYWIiIiAuXlhj8PTkRE+vXnn3+qr7196P333zeqO58ZpBqBTCbT2/SaVH788Uf8/vvveO+993D48GGoVCosWbJEvRzC119/LRpvY2ODqqoqUe3MmTO4desW5s+fr35O4aFDhxpnB4iIyKBs27YNR48eVb/u1KkT+vfvL11DOmKQIg1lZWWQy+WoqqpCUVERsrKykJKSgpdeegkxMTE4ceIEKioqsHLlSvTt2xf79u1DWlqaaBt+fn64d+8ecnJy0LlzZzg4OKBly5awsbHBypUrMWrUKJw4cQJz5syRaC+JiEgK5eXlGtcNx8TEwN/fX6KO6od37ZGGrKwseHt7w8/PD5GRkdizZw9WrFiBbdu2wdLSEp07d8aHH36IBQsWoGPHjvjqq680/qPo3r07Ro0ahejoaDRv3hwLFy5E8+bNsW7dOqSnp6NDhw6YP38+Fi9eLNFeEhFRY/vjjz80fl8kJCQYbYgCuLK5zkx1ZXPSHf/eiYiq98033+DkyZPq10899RT69u3b6H3oe2VzTu0RERFRgyktLcWCBQtEtaFDh6Jly5YSdaRfDFJERETUIM6fP4+NGzeKatOmTdPrHeVSY5AiIiIivdu0aRPOnTunfh0aGorIyEgJO2oYDFJERESkN/fv38eiRYtEtbfffhstWrSQqKOGxSBFREREenH69GmNdQWnT58OKyvTjRumu2dERETUaNavX4+CggL166effhrh4eHSNdRIGKSIiIhIZ0qlUmNNwJEjR2o8tN5UMUgRERGRTn7//Xd899136teWlpZISEiApaWlhF01LgYpIiIiqhNBEJCSkoKKigp1rVevXujZs6eEXUmDj4ghSQwZMgRRUVHq17169cKECRPqtU19bIOIiGp29epVzJ49WxSiRo8ebZYhCmCQon8YMmQIZDIZZDIZbGxs0LZtW8yePRuVlZUN+n2/++67Wj/AeO/evZDJZCguLtZ5G0REVHdr167Fp59+KqplZ89A8+bNJepIepzaIw2RkZFYu3YtysrKsHPnTowZMwbW1tZISEgQjSsvL4eNjY1evmezZs0MYhtERKRJEATMnj1bVLOyaoIdOyZi6lSJmjIQPCNFGmxtbeHl5YVWrVrhnXfeQXh4OLZv366ejps3bx58fHzQrl07AMClS5fw+uuvw9XVFc2aNUO/fv1Et8BWVVUhPj4erq6ucHNzw5QpU/DPZ2X/c1qurKwM77//Pnx9fWFra4u2bdvis88+Q0FBAZ599lkAQNOmTSGTyTBkyBCt27hz5w5iYmLQtGlTODg4oHfv3jh//rz6/XXr1sHV1RXZ2dlo3749mjRpgsjISFy7dk09Zu/evejatSscHR3h6uqKp59+Gn/++aeejjQRkeH7888/NULUG2+8genTJ2L/fuDllyVqzEAwSNEj2dvbo7y8HACQk5ODs2fPYteuXcjMzERFRQUiIiLg5OSEX375Bfv27VMHkoefWbJkCdatW4fPP/8cv/76K27fvo2tW7fW+D1jYmKwadMmrFixAqdPn8bHH3+MJk2awNfXF99++y0A4OzZs7h27RqWL1+udRtDhgzBoUOHsH37duTm5kIQBLz44ouief379+9j8eLF+OKLL/Dzzz+jsLAQkyZNAgBUVlYiKioKPXv2xPHjx5Gbm4sRI0ZAJpPV+5gSERmD1atXY926daLajBkzEBAQIE1DBohTe1QtQRCQk5OD7OxsjB07Fjdu3ICjoyPWrFmjntL78ssvoVKpsGbNGnXAWLt2LVxdXbF371688MILWLZsGRISEtC/f38AQFpaGrKzs6v9vufOncPXX3+NXbt2qRdza926tfr9h1N4Hh4ecHV11bqN8+fPY/v27di3bx+6d+8OAPjqq6/g6+uLjIwMvPbaawCAiooKpKWloU2bNgCAd999V/1/XgqFAiUlJXjppZfU77dv377uB5KIyMioVCqNa07d3d0xZswYiToyXDwjZeC2bwe6d3/wZ2PJzMxEkyZNYGdnh969eyM6OhozZ84EAHTq1El0XdSxY8dw4cIFODk5oUmTJmjSpAmaNWuG0tJSXLx4ESUlJbh27RpCQ0PVn7GyskJISEi13//o0aOwtLSs1x0gp0+fhpWVlej7urm5oV27djh9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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_29.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_30.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAHHCAYAAACfqw0dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABgDUlEQVR4nO3deVwU9f8H8NcuyKlAiFyKQp6YJgSKUF+PpNAwpcyQNNBIy4MkPBJDyCvMvNJIvpVK5YVWXzMyjPDokFBRzPuE0HTxQEAxQdj5/eHPqWkXBFyYZff1fDx4GO/9zMx7RpOX85lDIQiCACIiIiKqE6XcDRARERE1RQxRRERERPXAEEVERERUDwxRRERERPXAEEVERERUDwxRRERERPXAEEVERERUDwxRRERERPXAEEVERERUDwxRRGT0FAoF3nnnHbnbEI0ePRru7u5yt0FE98EQRUR6KSUlBQqFQvyysLBAp06dMGnSJBQWFjbotvfs2YN33nkHxcXFOl1vv379JPtkb2+Pnj17YvXq1VCr1TrZxrvvvostW7boZF1EVDNTuRsgIqrJnDlz4OHhgdu3b+OXX37BypUrsW3bNhw5cgRWVlY62cZff/0FU9O//zrcs2cPZs+ejdGjR8POzk4n27inTZs2SExMBABcuXIFn3/+OSIjI3Hq1CksWLDggdf/7rvv4oUXXkBISMgDr4uIasYQRUR6bdCgQfD19QUAvPrqq2jZsiWWLFmCb775BmFhYfVer1qtRkVFBSwsLGBhYaGrdu/L1tYWo0aNEr9/7bXX0LlzZ3z44YeYO3cumjVr1mi9ENGD4XQeETUpTz75JAAgLy8PALBo0SIEBASgZcuWsLS0hI+PD7788kuN5RQKBSZNmoR169bhkUcegbm5OdLT08XP7l0T9c4772DatGkAAA8PD3HqLT8/H3379kWPHj209tW5c2cEBQXVeX+srKzQu3dvlJWV4cqVK9WOKysrw5QpU+Dm5gZzc3N07twZixYtgiAIkn0sKyvDZ599JvY9evToOvdERLXDM1FE1KScPXsWANCyZUsAwAcffIAhQ4Zg5MiRqKiowMaNGzF8+HCkpaUhODhYsuyOHTuwadMmTJo0CQ4ODlov3n7++edx6tQpbNiwAUuXLoWDgwMAoFWrVnj55ZcxduxYHDlyBN26dROX2bdvH06dOoW4uLh67dO5c+dgYmJS7dShIAgYMmQIdu7cicjISHh5eWH79u2YNm0a/vzzTyxduhQA8MUXX+DVV19Fr169MG7cOABA+/bt69UTEdWCQESkh9asWSMAEH788UfhypUrwvnz54WNGzcKLVu2FCwtLYULFy4IgiAIt27dkixXUVEhdOvWTXjyyScldQCCUqkUjh49qrEtAEJCQoL4/fvvvy8AEPLy8iTjiouLBQsLC+Gtt96S1N944w3B2tpauHnzZo371LdvX6FLly7ClStXhCtXrgjHjx8X3njjDQGA8Oyzz4rjIiIihHbt2onfb9myRQAgzJs3T7K+F154QVAoFMKZM2fEmrW1tRAREVFjH0SkG5zOIyK9FhgYiFatWsHNzQ0jRoxA8+bN8b///Q+tW7cGAFhaWopjr1+/jpKSEvznP//BgQMHNNbVt29fdO3atd692NraYujQodiwYYM4jVZVVYXU1FSEhITA2tr6vus4ceIEWrVqhVatWsHT0xMrVqxAcHAwVq9eXe0y27Ztg4mJCd544w1JfcqUKRAEAd9//32994mI6o/TeUSk15KSktCpUyeYmprCyckJnTt3hlL597//0tLSMG/ePOTm5qK8vFysKxQKjXV5eHg8cD/h4eFITU3Fzz//jD59+uDHH39EYWEhXn755Vot7+7ujk8++UR8bEPHjh3h6OhY4zJ//PEHXF1d0aJFC0nd09NT/JyIGh9DFBHptV69eol35/3bzz//jCFDhqBPnz746KOP4OLigmbNmmHNmjVYv369xvh/nrWqr6CgIDg5OWHt2rXo06cP1q5dC2dnZwQGBtZqeWtr61qPJSL9xuk8ImqyvvrqK1hYWGD79u145ZVXMGjQIJ0EFG1nse4xMTHBSy+9hC+//BLXr1/Hli1bEBYWBhMTkwfebnXatWuHixcv4saNG5L6iRMnxM/vqal3ItIthigiarJMTEygUChQVVUl1vLz8x/4id33rm2q7onlL7/8Mq5fv47XXnsNN2/elDz3qSE888wzqKqqwocffiipL126FAqFAoMGDRJr1tbWOn/SOhFpx+k8ImqygoODsWTJEgwcOBAvvfQSLl++jKSkJHTo0AG///57vdfr4+MDAHj77bcxYsQINGvWDM8++6wYrry9vdGtWzds3rwZnp6eeOyxx3SyP9V59tln0b9/f7z99tvIz89Hjx49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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_31.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABSd0lEQVR4nO3deVhUdfsG8HsYWRQFVHZCATE1U1EQ0jRLSaBCzSy0BTDTcjc0FRcQUUFFJRO1LJfXSrReUzPFDKMsebNcU5RcIDUBEQUElG3O7w9/Tp1mUAZnOLPcn+viynnmzHeec5yY2/M9i0wQBAFEREREJsRM6gaIiIiIGhsDEBEREZkcBiAiIiIyOQxAREREZHIYgIiIiMjkMAARERGRyWEAIiIiIpPDAEREREQmhwGIiIiITA4DEBEZLJlMhnnz5kndhlJkZCQ8PDykboOI6oEBiIi0auPGjZDJZMofKysrPProo5gwYQIKCgp0+t6HDh3CvHnzUFxcrNVxn376adE6tWrVCj179sT69euhUCi08h6LFi3Cjh07tDIWET1YE6kbICLjNH/+fHh6euLOnTv46aefsGbNGuzZswenTp1Cs2bNtPIet2/fRpMmf/8aO3ToEOLi4hAZGQk7OzutvMc9jzzyCBISEgAAhYWF+M9//oNRo0bhjz/+QGJi4kOPv2jRIgwbNgxDhgx56LGI6MEYgIhIJ0JCQuDn5wcAeOutt9C6dWssX74cO3fuxIgRIxo8rkKhQFVVFaysrGBlZaWtdh/I1tYWr7/+uvLx22+/jQ4dOmDVqlWIj4+Hubl5o/VCRA+PU2BE1Cj69+8PAMjJyQEAJCUloXfv3mjdujWaNm0KX19ffPnllyqvk8lkmDBhAj777DN07twZlpaWSEtLUz537xigefPm4b333gMAeHp6KqercnNz0a9fP3Tr1k1tXx06dEBQUJDG69OsWTM88cQTKC8vR2FhYZ3LlZeXY+rUqXB3d4elpSU6dOiApKQkCIIgWsfy8nJs2rRJ2XdkZKTGPRFR/XEPEBE1igsXLgAAWrduDQB4//33MWjQILz22muoqqpCamoqXn75ZezevRvPP/+86LUHDhzAtm3bMGHCBNjb26s90Hjo0KH4448/sGXLFqxYsQL29vYAAAcHB7zxxhsYPXo0Tp06hccff1z5ml9//RV//PEH5syZ06B1unjxIuRyeZ3TbYIgYNCgQfj+++8xatQo+Pj4YN++fXjvvffw119/YcWKFQCAzZs346233oK/vz/GjBkDAGjXrl2DeiKiehKIiLRow4YNAgDhu+++EwoLC4XLly8LqampQuvWrYWmTZsKV65cEQRBECoqKkSvq6qqEh5//HGhf//+ojoAwczMTDh9+rTKewEQYmNjlY+XLl0qABBycnJEyxUXFwtWVlbCjBkzRPVJkyYJ1tbWQllZ2X3XqV+/fkLHjh2FwsJCobCwUDhz5owwadIkAYAQGhqqXC4iIkJo27at8vGOHTsEAMKCBQtE4w0bNkyQyWTC+fPnlTVra2shIiLivn0QkfZwCoyIdCIwMBAODg5wd3fH8OHD0bx5c3z11Vdwc3MDADRt2lS57M2bN1FSUoK+ffvi6NGjKmP169cPjz32WIN7sbW1xeDBg7Flyxbl1FNtbS22bt2KIUOGwNra+oFjnD17Fg4ODnBwcECnTp3wwQcf4Pnnn8f69evrfM2ePXsgl8sxadIkUX3q1KkQBAF79+5t8DoR0cPhFBgR6URKSgoeffRRNGnSBE5OTujQoQPMzP7+N9fu3buxYMECHD9+HJWVlcq6TCZTGcvT0/Oh+wkPD8fWrVtx8OBBPPXUU/juu+9QUFCAN954o16v9/DwwLp165Sn9rdv3x6Ojo73fc2ff/4JV1dXtGjRQlTv1KmT8nkikgYDEBHphL+/v/IssH87ePAgBg0ahKeeegqrV6+Gi4sLzM3NsWHDBnz++ecqy/9zb1FDBQUFwcnJCZ9++imeeuopfPrpp3B2dkZgYGC9Xm9tbV3vZYlI/3EKjIga3X//+19YWVlh3759ePPNNxESEqKVcKFu79E9crkcr776Kr788kvcvHkTO3bswIgRIyCXyx/6fevStm1bXL16Fbdu3RLVz549q3z+nvv1TkTaxwBERI1OLpdDJpOhtrZWWcvNzX3oKyHfO5anritBv/HGG7h58ybefvttlJWVia7rowvPPfccamtrsWrVKlF9xYoVkMlkCAkJUdasra21fgVrIqobp8CIqNE9//zzWL58OYKDg/Hqq6/i2rVrSElJgbe3N06ePNngcX19fQEAs2fPxvDhw2Fubo7Q0FBlMOrevTsef/xxfPHFF+jUqRN69OihlfWpS2hoKJ555hnMnj0bubm56NatG7799lvs3LkTU6ZMEZ3q7uvri++++w7Lly+Hq6srPD09ERAQoNP+iEwZ9wARUaPr378/PvnkE+Tn52PKlCnYsmULFi9ejBdffPGhxu3Zsyfi4+Nx4sQJREZGYsSIESoXKQwPDweAeh/8/DDMzMywa9cuTJkyBbt378aUKVOQlZWFpUuXYvny5aJlly9fDl9fX8yZMwcjRozAmjVrdN4fkSmTCcI/LkdKRGTk3n//fbz77rvIzc1FmzZtpG6HiCTCAEREJkMQBHTr1g2tW7fG999/L3U7RCQhHgNEREavvLwcu3btwvfff4/ff/8dO3fulLolIpIY9wARkdHLzc2Fp6cn7OzsMG7cOCxcuFDqlohIYgxAREREZHJ4FhgRERGZHAYgIiIiMjk8CFoNhUKBq1evokWLFrw8PRERkYEQBAG3bt2Cq6ur6ObL6jAAqXH16lW4u7tL3QYRERE1wOXLl/HII4/cdxkGIDVatGgB4O4GtLGxkbgbIiIiqo/S0lK4u7srv8fvhwFIjXvTXjY2NgxAREREBqY+h6/wIGgiIiIyOQxAREREZHIYgIiIiMjk8Bigh1BbW4vq6mqp2yAdMzc3h1wul7oNIiLSIgagBhAEAfn5+SguLpa6FWokdnZ2cHZ25nWhiIiMBANQA9wLP46OjmjWrBm/FI2YIAioqKjAtWvXAAAuLi4Sd0RERNrAAKSh2tpaZfhp3bq11O1QI2jatCkA4Nq1a3B0dOR0GBGREeBB0Bq6d8xPs2bNJO6EGtO9v28e80VEZBwYgBqI016mhX/fRETGhQGIiIiITA4DEBEREZkcBiATEhkZCZlMBplMBnNzczg5OeHZZ5/F+vXroVAo6j3Oxo0bYWdnp7tGiYiIdIwByMQEBwcjLy8Pubm52Lt3L5555hlMnjwZL7zwAmpqaqRuj4iIqFEwAJkYS0tLODs7w83NDT169MCsWbOwc+dO7N27Fxs3bgQALF++HF26dIG1tTXc3d0xbtw4lJWVAQAyMjIwcuRIlJSUKPcmzZs3DwCwefNm+Pn5oUWLFnB2dsarr76qvH4OERERAKxcuR1TpqzH1q3Sfj8wAGmBIAioqqpq9B9BELTSf//+/dGtWzds374dAGBmZoaVK1fi9OnT2LRpEw4cOIDp06cDAHr37o3k5GTY2NggLy8PeXl5mDZtGoC7p4jHx8fjxIkT2LFjB3JzcxEZGamVHomIyLDdvn0bcXFxuHnzd7RseRlffvmXpP3wQohaUF1djYSEhEZ/3+joaFhYWGhlrI4dO+LkyZMAgClTpijrHh4eWLBgAd555x2sXr0aFhYWsLW1hUwmg7Ozs2iMN998U/lnLy8vrFy5Ej179kRZWRmaN2+ulT6JiMjwZGdnIzU1VVR77bWuEnVzl17sAUpJSYGHhwesrKwQEBCAw4cP17ns9u3b4efnBzs7O1hbW8PHxwebN28WLfPPg33v/QQHB+t6NQyaIAjKa9189913GDBgANzc3NCiRQu88cYbKCoqQkVFxX3HOHLkCEJDQ9GmTRu0aNEC/fr1AwBcunRJ5/0TEZF++uyzz0Th54knnkBsbCyGDJH2qvqS7wHaunUroqKisHbtWgQEBCA5ORlBQUHIzs6Go6OjyvKtWrXC7Nmz0bFjR1hYWGD37t0YOXIkHB0dERQUpFwuODgYGzZsUD62tLTU2TqYm5sjOjpaZ+Pf73215cyZM/D09ERubi5eeOEFjB07FgsXLkSrVq3w008/YdSoUaiqqqrzCtjl5eUICgpCUFAQPvvsMzg4OODSpUsICgpCVVWV1vokIiLDUFFRgaVLl4pqo0ePhqurq0QdiUkegJYvX47Ro0dj5MiRAIC1a9fim2++wfr16zFz5kyV5Z9++mnR48mTJ2PTpk346aefRAHo3sG+jUEmk2ltKkoKBw4cwO+//453330XR44cgUKhwLJly2BmdncH4bZt20TLW1hYoLa2VlQ7e/YsioqKkJiYCHd3dwDAb7/91jgrQEREeiUrKwtffPGFqDZnzhy9upeipFNgVVVVOHLkCAIDA5U1MzMzBAYGIjMz84GvFwQB6enpyM7OxlNPPSV6LiMjA46OjujQoQPGjh2LoqIirfdviCorK5Gfn4+//voLR48exaJFizB48GC88MILCA8Ph7e3N6qrq/HBBx/g4sWL2Lx5M9auXSsaw8PDA2VlZUhPT8f169dRUVGBNm3awMLCQvm6Xbt2IT4+XqK1JCIiKQiCgI0bN4rCT9++fREbG6tX4QeQOABdv34dtbW1cHJyEtWdnJyQn59f5+tKSkrQvHlzWFhY4Pnnn8cHH3yAZ599Vvl8cHAw/vOf/yA9PR2LFy/GDz/8gJCQEJW9FvdUVlaitLRU9GOs0tLS4OLiAg8PDwQHB+P777/HypUrsXPnTsjlcnTr1g3Lly/H4sWL8fjjj+Ozzz5TOcC7d+/eeOeddxAWFgYHBwcsWbIEDg4Oyg/9Y489hsTERCQlJUm0lkRE1NjKysowf/58/Pnnn8raO++8g/79+0vYVd1kgrbOpW6Aq1evws3NDYcOHUKvXr2U9enTp+OHH37AL7/8ovZ1CoUCFy9eVO6FiI+Px44dO1Smx+65ePEi2rVrpzy499/mzZuHuLg4lXpJSQlsbGxEtTt37iAnJweenp6wsrLSYG3JkPHvnYiobidPnsRXX32lfGxubo6ZM2cqD6VoLKWlpbC1tVX7/f1vkh4DZG9vD7lcjoKCAlG9oKDgvsfvmJmZwdvbGwDg4+ODM2fOICEhoc4A5OXlBXt7e5w/f15tAIqOjkZUVJTycWlpqfI4FiIiIlJPEASsW7cOeXl5ylr//v3Rt29fCbuqH0mnwCwsLODr64v09HRlTaFQID09XbRH6EEUCgUqKyvrfP7KlSsoKiqCi4uL2uctLS1hY2Mj+iEiIqK6lZaWYv78+aLwM378eIMIP4AenAUWFRWFiIgI+Pn5wd/fH8nJySgvL1eeFRYeHg43NzflcSgJCQnw8/NDu3btUFlZiT179mDz5s1Ys2YNgLtzkHFxcXjppZfg7OyMCxcuYPr06fD29hadJUZEREQNc/ToUXz99dfKx9bW1oiKimr0Ka+HIXkACgsLQ2FhIWJiYpCfnw8fHx+kpaUpD4y+dOmSaIOWl5dj3LhxuHLlCpo2bYqOHTvi008/RVhYGABALpfj5MmT2LRpE4qLi+Hq6oqBAwciPj5ep9cCIiIiMnaCICAlJUV0ZvXAgQM1mrXRF5IeBK2v7ncQFQ+GNU38eyciU1dcXIz3339fVJs4cSJatWolUUeqDOYgaCIiItJ/hw8fxt69e5WP7ezsMGnSJOUtlAwRAxARERGpJQgCkpOTRdfHe+6559CzZ08Ju9IOBiAiIiJSUVRUhFWrVolqU6ZMga2trUQdaRcDEBEREYl89dVXOHnypPKxo6Mj3nnnHYOe8vo3wzlfjQxGZGQkhgwZonz89NNPY8qUKQ81pjbGICKi+6utrUVcXJwo/AwePBhjx441qvADMACZlMjISMhkMuXd6729vTF//nzU1NTo9H23b99e7xujZmRkQCaTobi4uMFjEBGR5rKysrBgwQJRLSMjCj4+PtI0pGOcAjMxwcHB2LBhg/IikuPHj4e5uTmio6NFy1VVVcHCwkIr76mNUyT16TRLIiJjEx8fD4VCIart2xeDmTONa6/PP3EPkImxtLSEs7Mz2rZti7FjxyIwMBC7du1STlstXLgQrq6u6NChAwDg8uXLeOWVV2BnZ4dWrVph8ODByM3NVY5XW1uLqKgo2NnZoXXr1pg+fTr+fWmpf09fVVZWYsaMGXB3d4elpSW8vb3xySefIDc3F8888wwAoGXLlpDJZIiMjFQ7xs2bNxEeHo6WLVuiWbNmCAkJwblz55TPb9y4EXZ2dti3bx86deqE5s2bIzg4WHTJ9oyMDPj7+8Pa2hp2dnZ48sknRXcxJiIydtXV1YiLixOFnw4dOiA2NhaHDskwaJCEzekYA5CJa9q0KaqqqgAA6enpyM7Oxv79+7F7925UV1cjKCgILVq0wMGDB/Hzzz8rg8S91yxbtgwbN27E+vXr8dNPP+HGjRuiOwKrEx4eji1btmDlypU4c+YMPvzwQzRv3hzu7u7473//CwDIzs5GXl6eykW37omMjMRvv/2GXbt2ITMzE4Ig4LnnnkN1dbVymYqKCiQlJWHz5s348ccfcenSJUybNg0AUFNTgyFDhqBfv344efIkMjMzMWbMGKOb4yYiqsuJEyewaNEiUW3s2LEYPny4RB01Lk6BmShBEJCeno59+/Zh4sSJKCwshLW1NT7++GPl1Nenn34KhUKBjz/+WBkMNmzYADs7O2RkZGDgwIFITk5GdHQ0hg4dCgBYu3Yt9u3bV+f7/vHHH9i2bRv279+PwMBAAICXl5fy+XtTXY6OjrCzs1M7xrlz57Br1y78/PPP6N27NwDgs88+g7u7O3bs2IGXX34ZwN1/2axduxbt2rUDAEyYMAHz588HcPdqoSUlJXjhhReUz3fq1EnzDUlEZIDi4uJUarGxsRJ0Ih3uAZLQrl1A7953/9tYdu/ejebNm8PKygohISEICwvDvHnzAABdunQRHfdz4sQJnD9/Hi1atEDz5s3RvHlztGrVCnfu3MGFCxdQUlKCvLw8BAQEKF/TpEkT+Pn51fn+x48fh1wuR79+/Rq8DmfOnEGTJk1E79u6dWt06NABZ86cUdaaNWumDDcA4OLigmvXrgG4G7QiIyMRFBSE0NBQvP/++6LpMSIiY1RZWakSfrp162Zy4QfgHiBJJSYCmZl3/9tY86zPPPMM1qxZAwsLC7i6uqJJk78/AtbW1qJly8rK4Ovri88++0xlHAcHhwa9f9OmTRv0uoYwNzcXPZbJZKLjkzZs2IBJkyYhLS0NW7duxZw5c7B//3488cQTjdYjEVFj+fXXX7Fnzx5RTd/u5dWYuAdIQjNnAr163f1vY7G2toa3tzfatGkjCj/q9OjRA+fOnYOjoyO8vb1FP7a2trC1tYWLiwt++eUX5Wtqampw5MiROsfs0qULFAoFfvjhB7XP39sDVVtbW+cYnTp1Qk1Njeh9i4qKkJ2djccee+y+6/Rv3bt3R3R0NA4dOoTHH38cn3/+uUavJyIyBHFxcSrhJzY21mTDD8AAJKlBg4BDhxpv74+mXnvtNdjb22Pw4ME4ePAgcnJykJGRgUmTJuHKlSsAgMmTJyMxMRE7duzA2bNnMW7cOJVr+PyTh4cHIiIi8Oabb2LHjh3KMbdt2wYAaNu2LWQyGXbv3o3CwkKUlZWpjNG+fXsMHjwYo0ePxk8//YQTJ07g9ddfh5ubGwYPHlyvdcvJyUF0dDQyMzPx559/4ttvv8W5c+d4HBARGZXbt2+rTHn5+/ub5JTXvzEAUZ2aNWuGH3/8EW3atMHQoUPRqVMnjBo1Cnfu3IGNjQ0AYOrUqXjjjTcQERGBXr16oUWLFnjxxRfvO+6aNWswbNgwjBs3Dh07dsTo0aNRXl4OAHBzc0NcXBxmzpwJJycnTJgwQe0YGzZsgK+vL1544QX06tULgiBgz549KtNe91u3s2fP4qWXXsKjjz6KMWPGYPz48Xj77bc12EJERPrr559/xpIlS0S1KVOmICQkRKKO9ItM+PdFWwilpaWwtbVFSUmJ8ov+njt37iAnJweenp6wsrKSqENqbPx7JyJDYqpned3v+/vfeBA0ERGRkSgrK8OyZctEtT59+mDAgAESdaS/GICIiIiMwIEDB3Dw4EFRberUqWjevLlEHek3BiAiIiIDZ6pTXg+DAYiIiMhAlZSUIDk5WVQbMGAA+vTpI01DBoQBqIF47Lhp4d83EembvXv34vDhw6La9OnTG/WCs4aMAUhD906zrqio4IfMhFRUVABQvbo0EZEUOOX18BiANCSXy2FnZ6e8p1SzZs14B3EjJggCKioqcO3aNdjZ2UEul0vdEhGZsBs3buCDDz4Q1UJCQuDv7y9RR4aLAagBnJ2dAUAZgsj42dnZKf/eiYiksHPnThw/flxUmzlzJiwtLaVpyMAxADWATCaDi4sLHB0dUV1dLXU7pGPm5ubc80NEkuKUl/YxAD0EuVzOL0YiItKZwsJCrF69WlQbPHgwfHx8pGnIiDAAERER6aFt27bhzJkzotqsWbN4MoaWMAARERHpEUEQMH/+fFFNJpMhJiZGoo6MEwMQERGRnsjLy8NHH30kqg0bNgydO3eWqCPjxQBERESkB/7zn/8gJydHVJs9ezaaNOFXtS5wqxIREUlI3ZRXs2bN8N5770nUkWlgACIiIpLI5cuXsX79elFtxIgRePTRRyXqyHQwABEREUngww8/RH5+vqg2d+5cmJmZSdSRaWEAIiIiakQKhQLx8fGiWuvWrTFhwgSJOjJNDEBERESN5OLFi9i8ebOoFh4eDk9PT4k6Ml0MQERERI3g/fffR3FxsagWExPDG2pLhAGIiIhIh2pra7FgwQJRzc3NDW+99ZZEHRHAAERERKQz2dnZSE1NFdVGjRqFRx55RKKO6B4GICIiIh1ITExEZWWlqMYpL/2hF+fapaSkwMPDA1ZWVggICMDhw4frXHb79u3w8/ODnZ0drK2t4ePjo3JAmSAIiImJgYuLC5o2bYrAwECcO3dO16tBRESEmpoaxMXFicJPu3btEBsby/CjRyQPQFu3bkVUVBRiY2Nx9OhRdOvWDUFBQbh27Zra5Vu1aoXZs2cjMzMTJ0+exMiRIzFy5Ejs27dPucySJUuwcuVKrF27Fr/88gusra0RFBSEO3fuNNZqERGRCTp16hQWLlwoqr399tt4/fXXJeqI6iITBEGQsoGAgAD07NkTq1atAnD3+gju7u6YOHEiZs6cWa8xevTogeeffx7x8fEQBAGurq6YOnUqpk2bBgAoKSmBk5MTNm7ciOHDhz9wvNLSUtja2qKkpAQ2NjYNXzkiIjIZcXFxKjVOeTUuTb6/Jd0DVFVVhSNHjiAwMFBZMzMzQ2BgIDIzMx/4ekEQkJ6ejuzsbDz11FMAgJycHOTn54vGtLW1RUBAQL3GJCIi0kRVVZVK+OncuTOnvPScpAdBX79+HbW1tXBychLVnZyccPbs2TpfV1JSAjc3N1RWVkIul2P16tV49tlnAUB5WXF1Y/77kuP3VFZWiuZqS0tLG7Q+RERkWo4ePYqvv/5aVBs/fjzs7e0l6ojqyyDPAmvRogWOHz+OsrIypKenIyoqCl5eXnj66acbNF5CQoLaXZdERER1Ufe9ERsbK0En1BCSBiB7e3vI5XIUFBSI6gUFBXB2dq7zdWZmZvD29gYA+Pj44MyZM0hISMDTTz+tfF1BQQFcXFxEY/r4+KgdLzo6GlFRUcrHpaWlcHd3b+hqERGREbtz5w4WL14sqnXv3h2DBg2SqCNqCEmPAbKwsICvry/S09OVNYVCgfT0dPTq1ave4ygUCuUUlqenJ5ydnUVjlpaW4pdffqlzTEtLS9jY2Ih+iIiI/m3t2gMq4WfSpEkMPwZI8imwqKgoREREwM/PD/7+/khOTkZ5eTlGjhwJ4O5N4tzc3JCQkADg7nSVn58f2rVrh8rKSuzZswebN2/GmjVrAAAymQxTpkzBggUL0L59e3h6emLu3LlwdXXFkCFDpFpNIiIycJzyMi6SB6CwsDAUFhYiJiYG+fn58PHxQVpamvIg5kuXLsHM7O8dVeXl5Rg3bhyuXLmCpk2bomPHjvj0008RFhamXGb69OkoLy/HmDFjUFxcjD59+iAtLQ1WVlaNvn5ERGTYSkpKkJycLKr98UdPhIU9J01DpBWSXwdIH/E6QEREBACbN2/GxYsXRTWe5aW/NPn+lnwPEBERkT7ilJdxYwAiIiL6h6KiIuXdCe7x8PBARESERB2RLjAAERER/b+PPvoIeXl5otrkyZNhZ2cnTUOkMwxARERE4JSXqWEAIiIik5afn48PP/xQVHvsscfw8ssvS9QRNQYGICIiMlkrVqxQuf/j1KlT0bx5c4k6osbCAERERCaJU16mjQGIiIhMyuXLl7F+/XpRrUePHggNDZWoI5ICAxAREZmMBQsWoLa2VlSbPn06mjZtKlFHJBUGICIiMnqCIGD+/PkqdU55mS4GICIiMmoXLlzAp59+Kqo9+eSTCAwMlKgj0gcMQEREZLTUHegcHR0NCwsLCbohfcIARERERodTXvQgDEBERGRUzpw5g23btolqAwYMQJ8+fSTqiPQRAxARERkNdVNes2fPRpMm/LojMX4iiIjI4CkUCsTHx6vUOeVFdWEAIiIig3bixAns2LFDVHvuuefQs2dPaRoig8AAREREBkvdlNfcuXNhZmYmQTdkSBiAiIjI4NTW1mLBggUqdU55UX0xABERkUE5fPgw9u7dK6oNHToUXbp0kagjMkQMQEREZDDUTXnFxMRAJpNJ0A0ZMgYgIiLSe9XV1Vi0aJFKnVNe1FAMQEREpNd+/PFHfP/996La8OHD0aFDB4k6ImPAAERERHqLU16kKwxARESkdyorK5GYmKhS55QXaQsDEBER6ZVvv/0WmZmZolp4eDg8PT0l6oiMEQMQERHpDXVTXtzrQ7rAAERERJKrqKjA0qVLRTULCwtER0dL1BEZOwYgIiKS1M6dO3H8+HFRbdSoUXjkkUekaYhMAgMQERFJhlNeJBUGICIianS3bt3C8uXLRTU7OztMnjxZoo7I1DAAERFRo0pNTUV2draoNnbsWDg6OkrUEZkiBiAiImo0nPIifcEAREREOnfz5k2sXLlSVHNzc8Nbb70lUUdk6hiAiIhIpzZs2IBLly6JahMnTkSrVq0k6oiIAYiIiHSIU16krxiAiIhI6woLC7F69WpRrX379nj11Vcl6ohIjAGIiIi0KiUlBdevXxfV3n33XdjY2EjUEZEqBiAiItIaTnmRoTCTugHg7r8WPDw8YGVlhYCAABw+fLjOZdetW4e+ffuiZcuWaNmyJQIDA1WWj4yMhEwmE/0EBwfrejWIiEzW1atXVcJP165dGX5Ib0m+B2jr1q2IiorC2rVrERAQgOTkZAQFBSE7O1vtRbEyMjIwYsQI9O7dG1ZWVli8eDEGDhyI06dPw83NTblccHAwNmzYoHxsaWnZKOtDRGRqlixZgtu3b4tq06ZNg7W1tUQdET2YTBAEQcoGAgIC0LNnT6xatQoAoFAo4O7ujokTJ2LmzJkPfH1tbS1atmyJVatWITw8HMDdPUDFxcXYsWNHg3oqLS2Fra0tSkpKOGdNRHQfnPIifaLJ97eke4Cqqqpw5MgRREdHK2tmZmYIDAxEZmZmvcaoqKhAdXW1yvUkMjIy4OjoiJYtW6J///5YsGABWrdurXaMyspKVFZWKh+XlpY2YG2IiExHbm4uNm3aJKr5+/sjJCREoo6INCNpALp+/Tpqa2vh5OQkqjs5OeHs2bP1GmPGjBlwdXVFYGCgshYcHIyhQ4fC09MTFy5cwKxZsxASEoLMzEzI5XKVMRISEtT+K4aIiFSp+305Y8YMWFlZSdANUcNIfgzQw0hMTERqaioyMjJE/+MNHz5c+ecuXbqga9euaNeuHTIyMjBgwACVcaKjoxEVFaV8XFpaCnd3d902T0RkYARBwPz581XqnPIiQyRpALK3t4dcLkdBQYGoXlBQAGdn5/u+NikpCYmJifjuu+/QtWvX+y7r5eUFe3t7nD9/Xm0AsrS05EHSRET3ce7cOXz++eeiWr9+/fD0009L0xDRQ5I0AFlYWMDX1xfp6ekYMmQIgLsHQaenp2PChAl1vm7JkiVYuHAh9u3bBz8/vwe+z5UrV1BUVAQXFxdttU5EZDLUTXnNmjUL5ubmEnRDpB2SXwcoKioK69atw6ZNm3DmzBmMHTsW5eXlGDlyJAAgPDxcdJD04sWLMXfuXKxfvx4eHh7Iz89Hfn4+ysrKAABlZWV477338L///Q+5ublIT0/H4MGD4e3tjaCgIEnWkYjIEAmCUOdZXgw/ZOgkPwYoLCwMhYWFiImJQX5+Pnx8fJCWlqY8MPrSpUswM/s7p61ZswZVVVUYNmyYaJzY2FjMmzcPcrkcJ0+exKZNm1BcXAxXV1cMHDgQ8fHxnOYiIqqn06dP48svvxTVgoKC8MQTT0jUEZF2SX4dIH3E6wARkSlTt9dnzpw5as+iJdInBnMdICIi0h8KhQLx8fEqdZ7lRcaIAYiIiHD06FF8/fXXotqgQYPQvXt3iToi0i0GICIiE6duymvu3Lmi4y+JjA0DEBGRiaqpqcHChQtV6pzyIlPAAEREZIIOHTqE/fv3i2ovv/wyHnvsMYk6ImpcDEBERCZG3ZRXTEwMZDKZBN0QSYMBiIjIRFRVVSEhIUGlzikvMkUMQEREJuDAgQM4ePCgqPbaa6/B29tboo6IpMUARERk5DjlRaRK43Mc5XI5rl27plIvKiriVUKJiPTInTt36ryXF8MPmTqN9wDVdeeMyspKWFhYPHRDRET08Pbs2YNff/1VVBs5ciTatGkjUUdE+qXeAWjlypUAAJlMho8//hjNmzdXPldbW4sff/wRHTt21H6HRESkkbr2+hDR3+odgFasWAHg7h6gtWvXiqa7LCws4OHhgbVr12q/QyIiqpfy8nIkJSWJatbW1pg2bZpEHRHpr3oHoJycHADAM888g+3bt6Nly5Y6a4qIiDSzfft2/P7776LamDFj4OLiIlFHRPpN42OAvv/+e130QUREDcQpLyLNaRyA3nzzzfs+v379+gY3Q0RE9VdSUoLk5GRRzcHBAePGjZOmISIDonEAunnzpuhxdXU1Tp06heLiYvTv319rjRERUd0+/fRTXLhwQVQbP3487O3tJeqIyLBoHIC++uorlZpCocDYsWPRrl07rTRFRER145QX0cOTCXVd2EdD2dnZePrpp5GXl6eN4SRVWloKW1tblJSUwMbGRup2iIgA3L3g7KpVq0S1tm3bIjIyUpqGiPSMJt/fWrsVxoULF1BTU6Ot4YiI6B8++ugjlX9gTp48GXZ2dtI0RGTgNA5AUVFRoseCICAvLw/ffPMNIiIitNYYERHdxSkvIu3TOAAdO3ZM9NjMzAwODg5YtmzZA88QIyKi+isoKFC5wGynTp3wyiuvSNQRkfHgdYCIiPRQcnIySkpKRLWpU6eKbkNERA3X4GOArl27huzsbABAhw4d4OjoqLWmiIhMGae8iHRP4wBUWlqK8ePHY8uWLVAoFAAAuVyOsLAwpKSkwNbWVutNEhGZgitXruCTTz4R1Xr06IHQ0FCJOiIyXhoHoNGjR+PYsWP45ptv0KtXLwBAZmYmJk+ejLfffhupqalab5KIyNgtWLAAtbW1otr06dPRtGlTiToiMm4aXwfI2toa+/btQ58+fUT1gwcPIjg4GOXl5VptUAq8DhARNSZOeRFph06vA9S6dWu101y2tra8QzwRkQYuXryIzZs3i2q9e/fGs88+K1FHRKZD4wA0Z84cREVFYfPmzXB2dgYA5Ofn47333sPcuXO13iARkTFSt9dn5syZsLS0lKAbItOj8RRY9+7dcf78eVRWVqJNmzYAgEuXLsHS0hLt27cXLXv06FHtddqIOAVGRLoiCALmz5+vUueUF9HD0+kU2ODBgyGTyRrcHBGRqTp79iy2bt0qqvXv3x99+/aVqCMi06W1m6EaE+4BIiJtUzflNXv2bDRporVbMhKZPE2+v800HdzLywtFRUUq9eLiYnh5eWk6HBGRUVMoFHWe5cXwQyQdjf/vy83NVblWBQBUVlbiypUrWmmKiMgYnDhxAjt27BDVnnvuOfTs2VOahohIqd4BaNeuXco/79u3T3QqfG1tLdLT0+Hp6and7oiIDJS6vT5z5syBXC6XoBsi+rd6B6AhQ4YAAGQyGSIiIkTPmZubw8PDA8uWLdNqc0REhqa2thYLFixQqfMsLyL9Uu8AdO++X56envj1119hb2+vs6aIiAzR4cOHsXfvXlHtxRdfRNeuXSXqiIjqovExQDk5Obrog4jIoKmb8oqJieFlQ4j0lMYBSN0FvP4pJiamwc0QERma6upqLFq0SKXOKS8i/aZxAPrqq69Ej6urq5GTk4MmTZqgXbt2DQpAKSkpWLp0KfLz89GtWzd88MEH8Pf3V7vsunXr8J///AenTp0CAPj6+mLRokWi5QVBQGxsLNatW4fi4mI8+eSTWLNmjcqVqomIHsbBgwdx4MABUW348OHo0KGDRB0RUX1pHICOHTumUistLUVkZCRefPFFjRvYunUroqKisHbtWgQEBCA5ORlBQUHIzs6Go6OjyvIZGRkYMWIEevfuDSsrKyxevBgDBw7E6dOn4ebmBgBYsmQJVq5ciU2bNsHT0xNz585FUFAQsrKyYGVlpXGPRET/xikvIsOmtStB//777wgNDUVubq5GrwsICEDPnj2xatUqAHcPtnZ3d8fEiRMxc+bMB76+trYWLVu2xKpVqxAeHg5BEODq6oqpU6di2rRpAICSkhI4OTlh48aNGD58+APH5JWgiagulZWVSExMVKlzyotIejq9F1hdSkpKUFJSotFrqqqqcOTIEURHRytrZmZmCAwMRGZmZr3GqKioQHV1NVq1agXg7kHa+fn5CAwMVC5ja2uLgIAAZGZmqg1AlZWVqKysVD4uLS3VaD2IyDR8++23Kr+bwsPDeQ00IgOkcQBauXKl6LEgCMjLy8PmzZsREhKi0VjXr19HbW0tnJycRHUnJyecPXu2XmPMmDEDrq6uysCTn5+vHOPfY9577t8SEhLU7s4mIrqnrttZEJFh0jgArVixQvTYzMwMDg4OiIiIEO3JaQyJiYlITU1FRkbGQx3bEx0djaioKOXj0tJSuLu7a6NFIjJwFRUVWLp0qahmbm6OWbNmSdQREWmDpNcBsre3h1wuR0FBgaheUFAAZ2fn+742KSkJiYmJ+O6770QXGbv3uoKCAri4uIjG9PHxUTuWpaUlLC0tG7gWRGSsdu3apXLix6hRo/DII49I1BERaYvGd4MH7t75/bfffsNvv/2G4uLiBr+5hYUFfH19kZ6erqwpFAqkp6ejV69edb5uyZIliI+PR1paGvz8/ETPeXp6wtnZWTRmaWkpfvnll/uOSUT0T3FxcSrhp3v3WIYfIiOh0R6g3NxcjB8/Hvv27cO9k8dkMhmCg4OxatUqeHh4aNxAVFQUIiIi4OfnB39/fyQnJ6O8vBwjR44EcPcAQzc3NyQkJAAAFi9ejJiYGHz++efw8PBQHtfTvHlzNG/eHDKZDFOmTMGCBQvQvn175Wnwrq6uyvuZERHV5datW1i+fLmoZmdnh8mTJ0vUERHpQr0D0OXLl/HEE0/A3Nwc8fHx6NSpEwAgKysLa9asQa9evfDrr79q/K+jsLAwFBYWIiYmBvn5+fDx8UFaWpryIOZLly7BzOzvHVVr1qxBVVUVhg0bJhonNjYW8+bNAwBMnz4d5eXlGDNmDIqLi9GnTx+kpaXxGkBEdF9bt25VOQHjnXfeUTmpgogMX72vAzRq1CicP38e+/btUwkSt2/fRnBwMNq3b4+PP/5YJ402Jl4HiMj08CwvIsOnk+sApaWlYevWrWr3ojRt2hTx8fH1usggEZE+uXnzpsrlPVxdXTF69GiJOiKixlDvAHT9+vX7HuPj5eWFGzduaKMnIqJGsXHjRvz555+i2sSJE5UXViUi41XvAOTi4oKsrKw6j/E5derUA09dJyLSF5zyIjJt9T4NfsiQIZg2bRoKCwtVnrt27RpmzJjBs6yISO8VFhaqhB9vb2+GHyITU++DoG/evImAgADk5+fj9ddfR8eOHSEIAs6cOYPPP/8czs7O+N///mcUu455EDSRcUpJScH169dFtXfffZf/nxMZCZ0cBN2yZUv88ssvmDVrFlJTU5UXQLSzs8Orr76KRYsWGUX4ISLjxCkvIvqneu8B+idBEJRTYQ4ODpDJZFpvTErcA0RkPK5evYp169aJal27dsWLL74oUUdEpCs62QP0TzKZDI6Ojg1qjoiosSxZsgS3b98W1aZNmwZra2uJOiIifdGgAEREpO845UVE98MARERG5c8//8TGjRtFNX9/f4SEhEjTEBHpJQYgIjIa6vb6zJgxg/cBJCIVDEBEZPAEQcD8+fNV6pzyIqK61CsA/fs+OfczadKkBjdDRKSpc+fO4fPPPxfVnnrqKTzzzDMSdUREhqBep8F7enrWbzCZDBcvXnzopqTG0+CJDIO6Ka9Zs2bB3Nxcgm6ISGpaPw0+JydHK40REWkDp7yI6GE1+Bigqqoq5OTkoF27dmjShIcSEVHjOHnyJL766itRbeDAgejVq5dEHRGRIdI4uVRUVGDixInYtGkTAOCPP/6Al5cXJk6cCDc3N8ycOVPrTRIRAeqnvObMmQO5XC5BN0RkyOp9N/h7oqOjceLECWRkZIhOLQ0MDMTWrVu12hwREQDU1tbWeWFDhh8iagiN9wDt2LEDW7duxRNPPCG6B1jnzp1x4cIFrTZHRHTgwAEcPHhQVLtwoS+GDesvUUdEZAw0DkCFhYVq7wNWXl5udDdFJSJpqdvrM3fuXJiZabzzmohIROPfIn5+fvjmm2+Uj++Fno8//pgHIRKRVtTU1NQ55cXwQ0TaoPEeoEWLFiEkJARZWVmoqanB+++/j6ysLBw6dAg//PCDLnokIhOye/duHDlyRFTjWV5EpG0a/1OqT58+OH78OGpqatClSxd8++23cHR0RGZmJnx9fXXRIxGZiLi4OJXwExMTw/BDRFpXrytBmxpeCZqocd2+fRtLlixRqfPChkSkCa1fCbq0tLTeb87AQESaWLVqFYqKikS17OxADB/+pEQdEZEpqFcAsrOzq/cZXrW1tQ/VEBGZDnUHOsfExPCMUiLSuXoFoO+//17559zcXMycORORkZHKefnMzExs2rQJCQkJuumSiIzKrVu3sHz5cpU6p7yIqLFofAzQgAED8NZbb2HEiBGi+ueff46PPvoIGRkZ2uxPEjwGiEh3EhISUFVVJaq98MILPImCiB6aJt/fGp8FlpmZCT8/P5W6n58fDh8+rOlwRGRC4uLiVMJPbGwsww8RNTqNA5C7uzvWrVunUv/444/h7u6ulaaIyLjcuHGjzgsbEhFJQeMLIa5YsQIvvfQS9u7di4CAAADA4cOHce7cOfz3v//VeoNEZNjUBZ+XX34Zjz32mATdEBHdpfEeoOeeew7nzp1DaGgobty4gRs3biA0NBR//PEHnnvuOV30SEQGqq69Pgw/RCQ1XghRDR4ETfRwCgsLsXr1apU6p7yISJe0fiHEfysuLsYnn3yCM2fOAAA6d+6MN998E7a2tg0ZjoiMiLq9Pr/++gZ27/aSoBsiIvU0ngL77bff0K5dO6xYsUI5BbZ8+XK0a9cOR48e1UWPRGQg1IWffftiMWYMww8R6ReNp8D69u0Lb29vrFu3Dk2a3N2BVFNTg7feegsXL17Ejz/+qJNGGxOnwIg089dff+Hjjz9WqXPKi4gakybf3xoHoKZNm+LYsWPo2LGjqJ6VlQU/Pz9UVFRo3rGeYQAiqj91e33efvttODs7S9ANEZkynV4I0cbGBpcuXVKpX758GS1atNB0OCIyYHWd5cXwQ0T6TuODoMPCwjBq1CgkJSWhd+/eAICff/4Z7733nsrtMYjIOF28eBGbN29WqXPKi4gMhcZ7gJKSkjB06FCEh4fDw8MDHh4eiIyMxLBhw7B48WKNG0hJSYGHhwesrKwQEBBw39tpnD59Gi+99BI8PDwgk8mQnJysssy8efMgk8lEP/+eriOihouLi1MJPxMmTGD4ISKDonEAsrCwwPvvv4+bN2/i+PHjOH78OG7cuIEVK1bA0tJSo7G2bt2KqKgoxMbG4ujRo+jWrRuCgoJw7do1tctXVFTAy8sLiYmJ993F3rlzZ+Tl5Sl/fvrpJ436IiL16pryat26tQTdEBE1XIOuAwQAzZo1Q5cuXR7qzZcvX47Ro0dj5MiRAIC1a9fim2++wfr16zFz5kyV5Xv27ImePXsCgNrn72nSpAmPQSDSoqysLHzxxReiWvPmzTF16lSJOiIiejj1DkBvvvlmvZZbv359vZarqqrCkSNHEB0drayZmZkhMDAQmZmZ9W1LrXPnzsHV1RVWVlbo1asXEhIS0KZNmzqXr6ysRGVlpfJxaWnpQ70/kTFRt9fn3Xff5RmSRGTQ6h2ANm7ciLZt26J79+7Qxt0zrl+/jtraWjg5OYnqTk5OOHv2bIPHDQgIwMaNG9GhQwfk5eUhLi4Offv2xalTp+o8Sy0hIUHtL3kiU8c7uBORsap3ABo7diy2bNmCnJwcjBw5Eq+//jpatWqly94aJCQkRPnnrl27IiAgAG3btsW2bdswatQota+Jjo5GVFSU8nFpaSnc3d113iuRvjp69Ci+/vprUc3Z2Rlvv/22RB0REWlXvQ+CTklJQV5eHqZPn46vv/4a7u7ueOWVV7Bv374G7RGyt7eHXC5HQUGBqF5QUKDV43fs7Ozw6KOP4vz583UuY2lpCRsbG9EPkamKi4tTCT/vvfceww8RGRWNzgKztLTEiBEjsH//fmRlZaFz584YN24cPDw8UFZWptEbW1hYwNfXF+np6cqaQqFAeno6evXqpdFY91NWVoYLFy7AxcVFa2MSGSNBEOqc8mrWrJkEHRER6U6DzwIzMzODTCaDIAiora1t0BhRUVGIiIiAn58f/P39kZycjPLycuVZYeHh4XBzc0NCQgKAuwdOZ2VlKf/8119/4fjx42jevDm8vb0BANOmTUNoaCjatm2Lq1evIjY2FnK5nBdpJLqPn3/+Gd99952o1r59e7z66qsSdUREpFsaBaDKykps374d69evx08//YQXXngBq1atQnBwMMzMNL6kEMLCwlBYWIiYmBjk5+fDx8cHaWlpygOjL126JBr36tWr6N69u/JxUlISkpKS0K9fP2RkZAAArly5ghEjRqCoqAgODg7o06cP/ve//8HBwUHj/ohMgbq9PtHR0bCwsJCgGyKixlHvm6GOGzcOqampcHd3x5tvvonXXnsN9vb2uu5PErwZKpkChUKB+Ph4lTrP8iIiQ6WTu8GbmZmhTZs26N69O2QyWZ3Lbd++XbNu9RADEBm7/fv349ChQ6Kaj48PBg8eLFFHREQPT5Pv73pPgYWHh983+BCRYVA35TV79mw0adLgQwKJiAyORhdCJCLDVVNTg4ULF6rUOeVFRKaI/+QjMgE7d+7E8ePHRbXevXvj2WeflaYhIiKJMQARGTl1U15z585t0JmbRETGggGIyEhVVVUpr6H1T5zyIiJiACIySp999pnK7V8CAwPx5JNPStQREZF+YQAiMjLqprxiYmJ4FicR0T8wABEZiYqKCixdulSlzikvIiJVDEBERuDDDz9Efn6+qBYaGooePXpI1BERkX5jACIycHXdwZ2IiOrGAERkoEpLS7FixQqVOsMPEdGDMQARGaBly5ahrKxMVHvllVfQqVMniToiIjIsDEBEBoZTXkRED48BiMhAlJSUIDk5WaXO8ENEpDkGICIDsG7dOly9elVUa9fuDbz+updEHRERGTYGICI9xykvIiLtYwAi0lNFRUVYtWqVqNa0aVNMnz5doo6IiIwHAxCRHkpOTkZJSYmoNm7cODg4OEjUERGRcWEAItIznPIiItI9BiAiPZGfn48PP/xQVHNwcMC4ceMk6oiIyHgxABHpgQULFqC2tlZUmzRpElq2bClRR0RExo0BiEhinPIiImp8DEBEErl8+TLWr18vqnl4eCAiIkKijoiITAcDEJEE1O31iYqKQosWLSTohojI9DAAETUyTnkREUmPAYiokVy4cAGffvqpqPbYY4/h5ZdflqgjIiLTxQBE1AjU7fWZPn06mjZtKkE3RETEAESkQ4IgYP78+Sp1TnkREUmLAYhIR7KysvDFF1+Iar6+vnjhhRck6oiIiO5hACLSAXVTXtHR0bCwsJCgGyIi+jcGICIt4pQXEZFhYAAi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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_32.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_33.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_34.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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tHl+jPH7tDbJBEEQdH+diYiIiEh/cA4QERERmRwGICIiIjI5DEBERERkchiAiIiIyOQwABEREZHJYQAiIiIik8MARERERCaHAYiIiIhMDgMQERmdoKAgDB48WKWekZEBmUyGu3fvIiMjA4MGDUKjRo1ga2sLb29vfPPNNzXfLBFJggGIiEzSwYMH0aFDB/zwww84efIkgoODERAQgB07dkjdGhHVgFpSN0BEJIUZM2aIHn/88cfYs2cPUlJS0L9/f4m6IqKawitARET/X2FhIerWrSt1G0RUA3gFiIiM0o4dO2BnZyeqyeXyCrf/9ttvcfToUaxYsULXrRGRHmAAIiKj1KtXLyQlJYlqhw8fxrvvvquybXp6OoKDg7Fy5Uq0a9euplokIgkxABGRUbK1tUWLFi1EtWvXrqlst3//fgwYMACLFi1CQEBATbVHRBLjHCAiMlkZGRno168f4uLiMGbMGKnbIaIaxCtARGSS0tPT0b9/f3z88cf43//+h9zcXACApaUlJ0ITmQBeASIik7Ru3TqUlJQgJiYGjRo1Un4NHTpU6taIqAbIBEEQpG6CiIiIqCbxChARERGZHAYgIiIiMjkMQERERGRyGICIiIjI5DAAERERkclhACIiIiKTwwBEREREJocBiIiIiEwOAxARERGZHAYgIiIiMjkMQERERGRyGICIiIjI5Pw/3A2E6D6p1MsAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_35.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABRw0lEQVR4nO3deVwU9f8H8NeCHAKKKQgiIF55C8oVfPtKFolmKmV5dACKmooHkRWYSmQGFt6i9tU80hQ7FPmZSkriSXli4pEXqKkcpoKCcu38/vDrfhtZlIXdnT1ez8eDR857Z2ffM5r7cuYz85EJgiCAiIiIyIiYSN0AERERkbYxABEREZHRYQAiIiIio8MAREREREaHAYiIiIiMDgMQERERGR0GICIiIjI6DEBERERkdBiAiIiIyOgwABGR3pLJZPj000+lbkMhLCwMbm5uUrdBRLXAAEREarV69WrIZDLFj6WlJZ599llMmDAB+fn5Gv3sgwcP4tNPP8WdO3fUut0XXnhBtE9NmzaFt7c3Vq5cCblcrpbP+OKLL5CSkqKWbRHR0zWQugEiMkyfffYZWrdujQcPHmD//v1YunQptm3bhuzsbFhZWanlM+7fv48GDf7319jBgwcRFxeHsLAwNGnSRC2f8YizszPi4+MBAIWFhfj2228RHh6Oc+fOISEhod7b/+KLL/DGG28gODi43tsioqdjACIijejXrx+8vLwAAKNGjUKzZs0wd+5cbNmyBcOHD6/zduVyOcrLy2FpaQlLS0t1tftUtra2eOeddxTL7733Hjp06IDFixdj5syZMDMz01ovRFR/vARGRFrx4osvAgBycnIAAImJifD390ezZs3QsGFDeHp64scff6z2PplMhgkTJuC7775Dly5dYGFhgR07diheezQG6NNPP8WHH34IAGjdurXiclVubi4CAgLg7u6utK8OHTogKChI5f2xsrLCc889h5KSEhQWFta4XklJCT744AO4uLjAwsICHTp0QGJiIgRBEO1jSUkJ1qxZo+g7LCxM5Z6IqPZ4BoiItOLixYsAgGbNmgEAFixYgIEDB+Ltt99GeXk5kpOT8eabb2Lr1q3o37+/6L2//vorvv/+e0yYMAF2dnZKBxq//vrrOHfuHDZs2IB58+bBzs4OAGBvb493330Xo0ePRnZ2Nrp27ap4z+HDh3Hu3DlMmzatTvt0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Jpg+fbpEHUmDZ4AklpoK+Ps//K82bN26FTY2NrC0tES/fv0wdOhQfPrppwCAbt26icb9nDhxAhcuXECjRo1gY2MDGxsbNG3aFA8ePMDFixdRVFSEGzduwNfXV/GeBg0aPPFfD1lZWTA1NUVAQECd9+HMmTNo0KCB6HObNWuGDh064MyZM4qalZWVItwAQIsWLVBQUADgYdAKCwtDUFAQBgwYgAULFogujxERGaKcnJxq4WfYsGFGF34AngGSXEICkJn58L8DB2r+83r37o2lS5fC3NwcTk5Ooru/Hh/pf+/ePXh6euK7776rth17e/s6fX7Dhg3r9L66ePyuMZlMJhqftGrVKkyaNAk7duzAxo0bMW3aNOzcuRPPPfec1nokItKWBQsW4M6dO6La9OnTYWJinOdCdGKvk5KS4ObmBktLS/j6+uLQoUM1rnvq1CkMHjwYbm5ukMlkmD9//hO3nZCQAJlMprPPkImOBvz8Hv5XG6ytrdGuXTu4uro+9db3nj174vz582jevDnatWsn+rG1tYWtrS1atGiB33//XfGeyspKHD16tMZtduvWDXK5HHv27FH6+qMzUFVVVTVuo1OnTqisrBR97t9//40///wTnTt3fuI+Pa5Hjx6IiYnBwYMH0bVrV6xfv16l9xMR6brKykrExcWJwo+DgwNiY2ONNvwAOhCANm7ciKioKMTGxuLYsWNwd3dHUFCQ4lLF40pLS9GmTRskJCTA0dHxids+fPgwvv76a3Tv3l0TravFwIHAwYPaOfujqrfffht2dnYYNGgQ9u3bh5ycHGRkZGDSpEn466+/AACTJ09GQkICUlJScPbsWYwfP77avzD+yc3NDaGhoRg5ciRSUlIU2/z+++8BAK1atYJMJsPWrVtRWFiIe/fuVdtG+/btMWjQIIwePRr79+/HiRMn8M4776Bly5YYNGhQrfYtJycHMTExyMzMxOXLl/HLL7/g/PnzHAdERAYlOzsbs2bNEtXCw8MxduxYiTrSHZIHoLlz52L06NEYMWIEOnfujGXLlsHKygorV65Uur63tze++uorDBs2DBYWFjVu9969e3j77bexfPlyPPPMM5pq36BZWVlh7969cHV1xeuvv45OnTohPDwcDx48QOPGjQEAH3zwAd59912EhobCz88PjRo1wmuvvfbE7S5duhRvvPEGxo8fj44dO2L0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9OnTwpgxY4QmTZoIeXl5giAIwrvvvitER0cr1j9w4IDQoEEDITExUThz5owQGxsrmJmZCSdPnlSsExAQIHTp0kXYvXu3cOnSJWHVqlWCpaWlsGTJEq3vX11p4rh8//33wu7du4WLFy8KKSkpQqtWrYTXX39d6/tWH6oel7KyMuH48ePC8ePHhRYtWghTpkwRjh8/Lpw/f77W29QHmjgud+/eVawDQJg7d65w/Phx4fLly1rfv7rSxHEZN26cYGtrK2RkZAg3btxQ/JSWlmp9/+pKE8clOjpa2LNnj5CTkyP88ccfQnR0tCCTyYRffvlF6/tXV5o4Lo8ztrvAGICeYtGiRYKrq6tgbm4u+Pj4CL/99pvitYCAACE0NFS0/vfffy88++yzgrm5udClSxfh559/Fr1+48YNISwsTHBychIsLS2FDh06CHPmzBHkcrk2dkdt1H1cFixYIDg7OwtmZmaCq6urMG3aNKGsrEwbu6JWqhyXnJwcAUC1n4CAgFpvU1+o+7js3r1b6TqP/7nTdeo+LspeByCsWrVKezulBuo+LiNHjhRatWolmJubC/b29sJLL72kV+HnEU38/fJPxhaAZILAUaZERERkXDgGiIiIiIwOAxAREREZHQYgIiIiMjoMQERERGR0GICIiIjI6DAAERERkdFhACIiIiKjwwBERERERocBiIj0WlhYGIKDg6vVMzIyIJPJcOfOHWRkZGDQoEFo0aIFrK2t4eHhge+++67ae27duoXIyEi0atUK5ubmcHJywsiRI3HlyhUt7AkRaRMDEBEZvIMHD6J79+746aef8Mcff2DEiBEICQnB1q1bFevcunULzz33HHbt2oVly5bhwoULSE5OxoULF+Dt7Y1Lly5JuAdEpG6cCoOI9FpYWBju3LmDlJQUUT0jIwO9e/fG7du30aRJk2rv69+/PxwcHLBy5UoAwLhx47B27VpcuHABjo6OivXu37+P9u3bo1u3bti+fbsmd4WItIhngIjIKBUVFaFp06YAALlcjuTkZLz99tui8AMADRs2xPjx45GWloZbt25J0SoRaUADqRsgIqqvrVu3wsbGRlSrqqqqcf3vv/8ehw8fxtdffw0AKCwsxJ07d9CpUyel63fq1AmCIODChQvw8fFRX+NEJBkGICLSe71798bSpUtFtd9//x3vvPNOtXV3796NESNGYPny5ejSpYvoNY4IIDIeDEBEpPesra3Rrl07Ue2vv/6qtt6ePXswYMAAzJs3DyEhIYq6vb09mjRpgjNnzijd/pkzZyCTyap9BhHpL44BIiKjkJGRgf79+2P27NkYM2aM6DUTExMMGTIE69evR15enui1+/fvY8mSJQgKClKMGSIi/ccAREQGb/fu3ejfvz8mTZqEwYMHIy8vD3l5eaJBzV988QUcHR3x8ssvY/v27bh69Sr27t2LoKAgVFRUICkpScI9ICJ1YwAiIoO3Zs0alJaWIj4+Hi1atFD8vP7664p1mjVrht9++w29e/fGe++9h7Zt22LIkCFo27YtDh8+jDZt2ki4B0SkbnwOEBERERkdngEiIiIio8MAREREREaHAYiIiIiMDgMQERERGR0GICIiIjI6DEBERERkdBiAiIiIyOgwABEREZHRYQAiIiIio8MAREREREaHAYiIiIiMDgMQERERGZ3/B1b9plph3o4zAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_36.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_37.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkEAAAHHCAYAAAC4BYz1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABAyUlEQVR4nO3deVxU9f7H8feALMoqiqKJippLuWQuBGkueVNTEdus3EizMi1tFere1Lw36WZaVle7qejt5tKmkaWmJppJm2a5ryjkSqagmKBwfn9wmZ+jqAPOMAzn9Xw8zmOcs36+nk7z9pzvOcdiGIYhAAAAk/FwdQEAAACuQAgCAACmRAgCAACmRAgCAACmRAgCAACmRAgCAACmRAgCAACmRAgCAACmRAgCAACmRAgCUO5YLBaNHz/e1WVYxcXFqX79+q4uA4CDEYIA2GXOnDmyWCzWwdfXV40bN9aoUaN09OhRp257/fr1Gj9+vE6ePOnQ9Xbu3NmmTSEhIWrXrp1mz56tgoICh2zjlVde0eLFix2yLgCOVcnVBQBwLy+//LIiIiJ09uxZrVu3TtOnT9eXX36pLVu2qEqVKg7Zxp9//qlKlf7/f0/r16/XhAkTFBcXp+DgYIdso0idOnU0adIkSVJmZqb+85//aNiwYdq1a5cSExOvef2vvPKK7rnnHsXGxl7zugA4FiEIQIn07NlTbdu2lSQ9/PDDqlatmqZMmaLPPvtMDzzwQKnXW1BQoLy8PPn6+srX19dR5V5VUFCQBg4caP3+6KOPqkmTJnr77bc1ceJEeXl5lVktAMoWl8MAXJOuXbtKktLS0iRJkydPVnR0tKpVq6bKlSurTZs2+vjjjy9ZzmKxaNSoUfrggw904403ysfHR8uWLbNOK+oTNH78eD333HOSpIiICOulq/3796tTp05q1apVsXU1adJE3bt3L3F7qlSpoltuuUU5OTnKzMy87Hw5OTl65plnFB4eLh8fHzVp0kSTJ0+WYRg2bczJydHcuXOtdcfFxZW4JgDOwZkgANdk7969kqRq1apJkt58803FxMRowIABysvL04IFC3TvvfdqyZIl6tWrl82yX3/9tT788EONGjVK1atXL7bz8V133aVdu3Zp/vz5mjp1qqpXry5JCg0N1aBBgzR8+HBt2bJFzZs3ty7z448/ateuXfrrX/9aqjbt27dPnp6el730ZhiGYmJitHr1ag0bNkw33XSTli9frueee04HDx7U1KlTJUnvv/++Hn74YbVv316PPPKIJKlhw4alqgmAExgAYIekpCRDkrFy5UojMzPTyMjIMBYsWGBUq1bNqFy5svHbb78ZhmEYZ86csVkuLy/PaN68udG1a1eb8ZIMDw8PY+vWrZdsS5Ixbtw46/fXXnvNkGSkpaXZzHfy5EnD19fXGDt2rM34J5980vDz8zNOnz59xTZ16tTJaNq0qZGZmWlkZmYa27dvN5588klDktGnTx/rfEOGDDHq1atn/b548WJDkvH3v//dZn333HOPYbFYjD179ljH+fn5GUOGDLliHQBcg8thAEqkW7duCg0NVXh4uO6//375+/tr0aJFuu666yRJlStXts574sQJZWVlqWPHjtq4ceMl6+rUqZNuuOGGUtcSFBSkvn37av78+dbLUPn5+Vq4cKFiY2Pl5+d31XXs2LFDoaGhCg0NVbNmzfTWW2+pV69emj179mWX+fLLL+Xp6aknn3zSZvwzzzwjwzC0dOnSUrcJQNkxZQhau3at+vTpo9q1a8tisTj99lV7t7d9+3bFxMQoKChIfn5+ateundLT051aG1BS77zzjlasWKHVq1dr27Zt2rdvn03fmyVLluiWW26Rr6+vQkJCFBoaqunTpysrK+uSdUVERFxzPYMHD1Z6erq++eYbSdLKlSt19OhRDRo0yK7l69evrxUrVmjlypVat26djhw5oiVLllgvuxXnwIEDql27tgICAmzGN2vWzDodQPlnyj5BOTk5atWqlYYOHaq77rqrXGxv79696tChg4YNG6YJEyYoMDBQW7duLdO7ZAB7tG/f3np32MW++eYbxcTE6LbbbtO//vUv1apVS15eXkpKStK8efMumf/Cs0al1b17d9WsWVP//e9/ddttt+m///2vwsLC1K1bN7uW9/Pzs3teABWLKUNQz5491bNnz8tOz83N1Ysvvqj58+fr5MmTat68uV599VV17tzZKduTpBdffFF33nmn/vnPf1rH0YES7uaTTz6Rr6+vli9fLh8fH+v4pKSka1qvxWK57DRPT089+OCDmjNnjl599VUtXrxYw4cPl6en5zVt80rq1aunlStX6tSpUzZng3bs2GGdbk/tAFzLlJfDrmbUqFFKTU3VggUL9Ouvv+ree+9Vjx49tHv3bqdsr6CgQF988YUaN26s7t27q0aNGoqMjOQps3A7np6eslgsys/Pt47bv3//Nf+3XNS353JPjB40aJBOnDihRx99VKdPn7Z57o8z3HnnncrPz9fbb79tM37q1KmyWCw2/+jx8/Nz+JOuATgGIegi6enpSkpK0kcffaSOHTuqYcOGevbZZ9WhQ4dr/tfs5Rw7dkynT59WYmKievTooa+++kr9+vXTXXfdpTVr1jhlm4Az9OrVS2fOnFGPHj00Y8YMvfzyy4qMjFSjRo2uab1t2rSRVHjG9P3339eCBQuUk5Njnd66dWs1b95cH330kZo1a6abb775mrZ3NX369FGXLl304osv6tFHH9W//vUvxcbGauHChRo9erTNWdw2bdpo5cqVmjJlihYsWKDvv//eqbUBsB8h6CKbN29Wfn6+GjduLH9/f+uwZs0a6/NQduzYYfO+oeKG+Ph4u7dZ9I6ivn376qmnntJNN92k+Ph49e7dWzNmzHBKOwFn6Nq1q2bNmqUjR45ozJgxmj9/vl599VX169fvmtbbrl07TZw4Ub/88ovi4uL0wAMPXPIgw8GDB0uS3R2ir4WHh4eSk5M1ZswYLVmyRGPGjNG2bdv02muvacqUKTbzTpkyRW3atNFf//pXPfDAA5o+fbrT6wNgH4thXPB4UxOyWCxatGiR9b0+Cxcu1IABA7R169ZL+hT4+/srLCxMeXl52rdv3xXXW61aNYWGhl51e5KUl5cnPz8/jRs3zubhbmPHjtW6dev07bfflr6BgEm8+eabeuqpp7R//37VrVvX1eUAcAOm7Bh9Ja1bt1Z+fr6OHTumjh07FjuPt7e3mjZt6rBtent7q127dtq5c6fN+F27dtl0sARQPMMwNGvWLHXq1IkABMBupgxBp0+f1p49e6zf09LStGnTJoWEhKhx48YaMGCABg8erNdff12tW7dWZmamVq1apZYtW17y2P9r3V7R/7Cfe+459e/fX7fddpu6dOmiZcuW6fPPP1dKSso1txeoqHJycpScnKzVq1dr8+bN+uyzz1xdEgB34tLnVbvI6tWrDUmXDEWPts/LyzNeeuklo379+oaXl5dRq1Yto1+/fsavv/7qlO0VmTVrltGoUSPD19fXaNWqlbF48eJrbClQsaWlpRmSjODgYOOFF15wdTkA3Izp+wQBAABz4u4wAABgSoQgAABgSqbq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dujQIb333ntOWTcAAO6iWbNmuueee+Th4R4vpChxCHrllVfUs2dPbdu2TefPn9ebb76pbdu2af369VqzZo0zapQk/f7778rPz1fNmjVtxtesWVM7duwodplJkyZpwoQJTqupyI8//uj0bQAAUN5t375dx48fV2hoqKtLsUuJQ1CHDh20adMmJSYmqkWLFvrqq6908803KzU1VS1atHBGjaWWkJCgp59+2vo9Oztb4eHhDt/O7bffrtOnTyszM9Ph63a0rKwsV5cAAKYTHBzs6hLKRHR0tKpXr+7qMuxWqneHNWzYsMwv/1SvXl2enp46evSozfijR48qLCys2GV8fHzk4+Pj9Nr8/f01YMAAp28HAAA4jl0X7bKzs+0enMXb21tt2rTRqlWrrOMKCgq0atUqp/ZFAgAAFZNdZ4KCg4PtvvMrPz//mgq6kqefflpDhgxR27Zt1b59e73xxhvKycnRQw895LRtAgCAismuELR69Wrrn/fv36/4+HjFxcVZz8CkpqZq7ty5mjRpknOq/J/+/fsrMzNTL730ko4cOaKbbrpJy5Ytu6SzNAAAwNXY9Rb5C91+++16+OGH9cADD9iMnzdvnv79738rJSXFkfU5FG+RBwDA/Tjr97vEN/Knpqaqbdu2l4xv27Ytr7AAAABuo8QhKDw8vNg7w2bOnOmU288BAACcocS3yE+dOlV33323li5dqsjISEnSDz/8oN27d+uTTz5xeIEAAADOUOIzQXfeead2796tPn366I8//tAff/yhPn36aNeuXbrzzjudUSMAAIDDlbhjtDujYzQAAO7HWb/fpXpi9MmTJzVr1ixt375dknTjjTdq6NChCgoKclhhAOAMyclSYqIUHy/FxLi6GgCuVOLLYT/99JMaNmyoqVOnWi+HTZkyRQ0bNtTGjRudUSMAOExiopSaWvgJwNxKfDmsY8eOatSokd577z1VqlR4Iun8+fN6+OGHtW/fPq1du9YphToCl8MAcCYIcD/O+v0ucQiqXLmyfv75ZzVt2tRm/LZt29S2bVudOXPGYcU5GiEIAAD3U24elhgYGKj09PRLxmdkZCggIMAhRQEAADhbiUNQ//79NWzYMC1cuFAZGRnKyMjQggULin2VBgAAQHlV4rvDJk+eLIvFosGDB+v8+fOSJC8vL40YMUKJ9DQEAABuotTPCTpz5oz27t0r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UyIEAQAAUyIEAQAAUyIEAQAAUyIE/c/atWvVp08f1a5dWxaLRYsXL77i/CkpKbJYLJcMR44csZnvnXfeUf369eXr66vIyEj98MMPTmyFfUra1ri4uGLbeuONN1rnGT9+/CXTmzZt6uSWXN2kSZPUrl07BQQEqEaNGoqNjdXOnTuvutxHH32kpk2bytfXVy1atNCXX35pM90wDL300kuqVauWKleurG7dumn37t3OaoZdStPW9957Tx07dlTVqlVVtWpVdevW7ZL/Rovb/z169HBmU66qNG2dM2fOJe3w9fW1maei7NfOnTsXe8z26tXLOk953K/Tp09Xy5YtrQ/Ii4qK0tKlS6+4jDseq1LJ2+qux6pU8raW5bFKCPqfnJwctWrVSu+8806Jltu5c6cOHz5sHWrUqGGdtnDhQj399NMaN26cNm7cqFatWql79+46duyYo8svkZK29c0337RpY0ZGhkJCQnTvvffazHfjjTfazLdu3TpnlF8ia9as0ciRI/Xdd99pxYoVOnfunO644w7l5ORcdpn169frgQce0LBhw/Tzzz8rNjZWsbGx2rJli3Wef/7zn5o2bZpmzJih77//Xn5+furevbvOnj1bFs0qVmnampKSogceeECrV69WamqqwsPDdccdd+jgwYM28/Xo0cNm386fP9/Zzbmi0rRVKnz67IXtOHDggM30irJfP/30U5t2btmyRZ6enpccs+Vtv9apU0eJiYnasGGDfvrpJ3Xt2lV9+/bV1q1bi53fXY9VqeRtdddjVSp5W6UyPFYNXEKSsWjRoivOs3r1akOSceLEicvO0759e2PkyJHW7/n5+Ubt2rWNSZMmOajSa2dPWy+2aNEiw2KxGPv377eOGzdunNGqVSvHFucEx44dMyQZa9asuew89913n9GrVy+bcZGRkcajjz5qGIZhFBQUGGFhYcZrr71mnX7y5EnDx8fHmD9/vnMKLwV72nqx8+fPGwEBAcbcuXOt44YMGWL07dvXCRU6jj1tTUpKMoKCgi47vSLv16lTpxoBAQHG6dOnrePcYb8ahmFUrVrVmDlzZrHTKsqxWuRKbb2Yux6rRa7U1rI8VjkTdI1uuukm1apVS3/5y1/07bffWsfn5eVpw4YN6tatm3Wch4eHunXrptTUVFeU6jCzZs1St27dVK9ePZvxu3fvVu3atdWgQQMNGDBA6enpLqrw8rKysiRJISEhl50nNTXVZr9JUvfu3a37LS0tTUeOHLGZJygoSJGRkeVq39rT1oudOXNG586du2SZlJQU1ahRQ02aNNGIESN0/Phxh9Z6rext6+nTp1WvXj2Fh4df8i/RirxfZ82apfvvv19+fn4248vzfs3Pz9eCBQuUk5OjqKioYuepKMeqPW29mLseq/a2tayOVVO9QNWRatWqpRkzZqht27bKzc3VzJkz1blzZ33//fe6+eab9fvvvys/P181a9a0Wa5mzZrasWOHi6q+docOHdLSpUs1b948m/GRkZGaM2eOmjRposOHD2vChAnq2LGjtmzZooCAABdVa6ugoEBjxozRrbfequbNm192viNHjhS734r6exV9XmkeV7O3rRcbO3asateubfM/lx49euiuu+5SRESE9u7dqxdeeEE9e/ZUamqqPD09nVF+idjb1iZNmmj27Nlq2bKlsrKyNHnyZEVHR2vr1q2qU6dOhd2vP/zwg7Zs2aJZs2bZjC+v+3Xz5s2KiorS2bNn5e/vr0WLFumGG24odl53P1ZL0taLuduxWpK2luWxSggqpSZNmqhJkybW79HR0dq7d6+mTp2q999/34WVOdfcuXMVHBys2NhYm/E9e/a0/rlly5aKjIxUvXr19OGHH2rYsGFlXGXxRo4cqS1btpSLvkrOVpq2JiYmasGCBUpJSbHphHj//fdb/9yiRQu1bNlSDRs2VEpKim6//XaH1l0a9rY1KirK5l+e0dHRatasmd59911NnDjR2WU6RGn266xZs9SiRQu1b9/eZnx53a9NmjTRpk2blJWVpY8//lhDhgzRmjVr7A4H7qS0bXXHY7UkbS3LY5XLYQ7Uvn177dmzR5JUvXp1eXp66ujRozbzHD16VGFhYa4o75oZhqHZs2dr0KBB8vb2vuK8wcHBaty4sfXvw9VGjRqlJUuWaPXq1apTp84V5w0LC7vifiv6LK/7tiRtLTJ58mQlJibqq6++UsuWLa84b4MGDVS9evVysW9L09YiXl5eat26tbUdFXG/5uTkaMGCBXb9Q6S87Fdvb281atRIbdq00aRJk9SqVSu9+eabxc7r7sdqSdpaxF2P1dK0tYgzj1VCkANt2rRJtWrVklS4w9u0aaNVq1ZZpxcUFGjVqlV2X/Mtb9asWaM9e/bY9T/U06dPa+/evda/D1cxDEOjRo3SokWL9PXXXysiIuKqy0RFRdnsN0lasWKFdb9FREQoLCzMZp7s7Gx9//33Lt23pWmrVHiXxcSJE7Vs2TK1bdv2qvP/9ttvOn78uEv3bWnbeqH8/Hxt3rzZ2o6Ktl+lwtvHc3NzNXDgwKvOWx72a3EKCgqUm5tb7DR3PVYv50ptldzzWL2cq7X1Qk49VkvUjboCO3XqlPHzzz8bP//8syHJmDJlivHzzz8bBw4cMAzDMOLj441BgwZZ5586daqxePFiY/fu3cbmzZuN0aNHGx4eHsbKlSut8yxYsMDw8fEx5syZY2zbts145JFHjODgYOPIkSNl3r4LlbStRQYOHGhERkYWu85nnnnGSElJMdLS0oxvv/3W6Natm1G9enXj2LFjTm3L1YwYMcIICgoyUlJSjMOHD1uHM2fOWOcZNGiQER8fb/3+7bffGpUqVTImT55sbN++3Rg3bpzh5eVlbN682TpPYmKiERwcbHz22WfGr7/+avTt29eIiIgw/vzzzzJt34VK09bExETD29vb+Pjjj22WOXXqlGEYhf+tPPvss0ZqaqqRlpZmrFy50rj55puN66+/3jh79myZt7FIado6YcIEY/ny5cbevXuNDRs2GPfff7/h6+trbN261TpPRdmvRTp06GD079//kvHldb/Gx8cba9asMdLS0oxff/3ViI+PNywWi/HVV18ZhlFxjlXDKHlb3fVYNYySt7Usj1VC0P8U3fJ+8TBkyBDDMApvPezUqZN1/ldffdVo2LCh4evra4SEhBidO3c2vv7660vW+9Zbbxl169Y1vL29jfbt2xvfffddGbXo8kraVsMovP2wcuXKxr///e9i19m/f3+jVq1ahre3t3HdddcZ/fv3N/bs2ePkllxdce2UZCQlJVnn6dSpk7XtRT788EOjcePGhre3t3HjjTcaX3zxhc30goIC429/+5tRs2ZNw8fHx7j99tuNnTt3lkGLLq80ba1Xr16xy4wbN84wDMM4c+aMcccddxihoaGGl5eXUa9ePWP48OEuD/KlaeuYMWOsx2LNmjWNO++809i4caPNeivKfjUMw9ixY4chyfpDc6Hyul+HDh1q1KtXz/D29jZCQ0ON22+/3ab+inKsGkbJ2+qux6phlLytZXmsWgzDMEp27ggAAMD90ScIAACYEiEIAACYEiEIAACYEiEIAACYEiEIAACYEiEIAACYEiEIAACYEiEIAACTWbt2rfr06aPatWvLYrFo8eLFTt3epEmT1K5dOwUEBKhGjRqKjY3Vzp07beY5e/asRo4cqWrVqsnf31933333Je8HczRCEAC3kpGRoaFDh6p27dry9vZWvXr1NHr0aB0/flySdO7cOY0dO1YtWrSQn5+fateurcGDB+vQoUMurhwoP3JyctSqVSu98847ZbK9NWvWaOTIkfruu++0YsUKnTt3TnfccYdycnKs8zz11FP6/PPP9dFHH2nNmjU6dOiQ7rrrLqfWxROjAbiNffv2KSoqSo0bN9bf//53RUREaOvWrXruueeUl5en7777Tp6enrrnnns0fPhwtWrVSidOnNDo0aOVn5+vn376ydVNAModi8WiRYsWKTY21jouNzdXL774oubPn6+TJ0+qefPmevXVV9W5c2eHbDMzM1M1atTQmjVrdNtttykrK0uhoaGaN2+e7rnnHknSjh071KxZM6WmpuqWW25xyHYvVskpawUAJxg5cqS8vb311VdfqXLlypKkunXrqnXr1mrYsKFefPFFTZ8+XStWrLBZ7u2331b79u2Vnp6uunXruqJ0wK2MGjVK27Zt04IFC1S7dm0tWrRIPXr00ObNm3X99ddf8/qzsrIkSSEhIZKkDRs26Ny5c+rWrZt1nqZNm6pu3bpODUFcDgPgFv744w8tX75cjz/+uDUAFQkLC9OAAQO0cOFCFXdyOysrSxaLRcHBwWVULeC+0tPTlZSUpI8++kgdO3ZUw4YN9eyzz6pDhw5KSkq65vUXFBRozJgxuvXWW9W8eXNJ0pEjR+Tt7X3JMVqzZk0dOXLkmrd5OYQgAG5h9+7dMgxDzZo1K3Z6s2bNdOLECWVmZtqMP3v2rMaOHasHHnhAgYGBZVEq4NY2b96s/Px8NW7cWP7+/tZhzZo12rt3r6TCS1UWi+WKQ3x8fLHrHzlypLZs2aIFCxaUZbOKxeUwAG6lJN0Yz507p/vuu0+GYWj69OlOrAqoOE6fPi1PT09t2LBBnp6eNtP8/f0lSQ0aNND27duvuJ5q1apdMm7UqFFasmSJ1q5dqzp16ljHh4WFKS8vTydPnrQ5G3T06FGFhYVdQ2uujBAEwC00atRIFotF27dvV79+/S6Zvn37dlWtWlWhoaGS/j8AHThwQF9//TVngQA7tW7dWvn5+Tp27Jg6duxY7Dze3t5q2rSp3es0DENPPPGEFi1apJSUFEVERNhMb9Omjby8vLRq1SrdfffdkqSdO3cqPT1dUVFRpW/MVXB3GAC30b17d23dulW7d++26Rd05MgRNWzYUIMHD9b06dOtAWj37t1avXq1NRgBKHT69Gnt2bNHUmHomTJlirp06aKQkBDVrVtXAwcO1LfffqvXX39drVu3VmZmplatWqWWLVuqV69eJd7e448/rnnz5umzzz5TkyZNrOODgoKsx/KIESP05Zdfas6cOQoMDNQTTzwhSVq/fr0DWnwZBgC4iV27dhnVq1c3OnbsaKxZs8ZIT083li5dajRv3ty4/vrrjePHjxt5eXlGTEyMUadOHWPTpk3G4cOHrUNubq6rmwCUC6tXrzYkXTIMGTLEMAzDyMvLM1566SWjfv36hpeXl1GrVi2jX79+xq+//lqq7RW3LUlGUlKSdZ4///zTePzxx42qVasaVapUMfr162ccPnzYAa29PM4EAXArBw4c0Lhx47Rs2TL98ccfCgsLU2xsrMaNG6dq1app//79l5xqL7J69WqHPecEgPsjBAEAAFPiFnkAAGBKhCAAAGBKhCAAAGBKhCAAAGBKhCAAAGBKhCAAAGBKhCAAAGBKhCAAAGBKhCAAAGBKhCAAAGBKhCAAAGBKhCAAAGBK/wdTvLB7SmpV2AAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_38.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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jkbbtm0xbdo0AEBmZqYUdACgSZMm2LlzJ/bu3YugoCAsXLgQX331FU8DJyIiIolKCCHkLqIq5ebmQqPRQKvVom7dunKXQ0RERBVgzPd3jVpzQ0RERPQ4DDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCgMN0REtUCmthBHLucgU1sodylEFmctdwFERGRZCcczEJN4GnoBWKmA2P6BiOrYSO6yiCyGMzdERAqWqS2Ugg0A6AUwOfEMZ3BI0RhuiIgULC0nXwo2pXRCID2nQJ6CiKoAww0RkYI1cXWClcqwTa1SwdfVUZ6CiKoAww0RkYJ5aRwQ2z8QatWDhKNWqTC3fyt4aRxkrozIcrigmIhI4aI6NkJoczek5xTA19WRwYYUj+GGiKgW8NI4MNRQrcHDUkRERKQoDDdERESkKAw3REREpCgMN0RERKQoDDdERESkKAw3REREpCjVItwsXboUvr6+sLe3R3BwMI4dO/bI/nFxcXjyySfh4OAAHx8fjB8/Hvfu3auiaomIiKg6kz3cJCQkIDo6GtOnT8fJkycRFBSEyMhI3Lhxo9z+mzdvxqRJkzB9+nScP38eq1atQkJCAiZPnlzFlRMREVF1JHu4WbRoEUaNGoXhw4ejZcuWWL58ORwdHbF69epy+x85cgRdu3bFwIED4evri2eeeQYDBgx47GwPERER1Q6yhpvi4mKkpKQgIiJCarOyskJERASOHj1a7jZdunRBSkqKFGauXLmCXbt2oU+fPuX2LyoqQm5ursGDiIiIlEvW2y/k5ORAp9PBw8PDoN3DwwMXLlwod5uBAwciJycH3bp1gxAC9+/fx5tvvvnQw1KxsbGYOXOm2WsnIiKi6kn2w1LGSk5Oxty5c/HFF1/g5MmTSExMxM6dOzFr1qxy+8fExECr1UqPq1evVnHFREREVJVknblx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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_39.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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l5eHfv36Ye7cuRg7duxdt+F3jYjIOHf6/f4rm7kNnshS7r33XoPb5v88rV27tl5qmDBhAqKjo9GnTx9e/iIisgE2cRcYkSVt3bq1xlvV//q8KEtZtWpVo3l5LBFRY8AARI1eSEiItUsgIiIbw0tgJuLQKbI0fseIiCyHAchIt59U/Oc3lBNZwu3v2F+fjk1ERHXHS2BGUigU8PLykt9P5ebmVuf3RBH9mRACZWVluHz5Mry8vKo8aJGIiOqOAcgEt1+3cTsEEVnCX98oT0RE5sMAZAJJkhAQEABfX99avQiTyFhOTk4880NEZEEMQHWgUCj4I0VERNQAcRA0ERER2R0GICIiIrI7DEBERERkdxiAiIiIyO4wABEREZHdYQAiIiIiu8MARERERHaHAYiIiIjsDgMQERER2R0GICIiIrI7DEBERERkdxiAiIiIyO4wABEREZHdYQAiIiIiu8MARERERHaHAYiIiIjsDgMQERER2R0GICIiIrI7DEBERERkdxiAiIiIyO4wABEREZHdYQAiIiIiu2PVALR3714MGjQIgYGBkCQJX331lcF6SZKqnd59990a9zlr1qwq7SMiIix8JERERNSQWDUAlZaWIioqCkuXLq12vVqtNphWrlwJSZLw2GOP3XG/9957r8F26enpliifiIiIGihHa374wIEDMXDgwBrX+/v7G8x//fXX6Nu3L8LDw++4X0dHxyrbEhEREd3WYMYAFRYW4vvvv8fo0aPv2vbs2bMIDAxEeHg4nnnmGeTn59+xvU6ng1arNZiIiIio8WowAWj16tXw8PDA0KFD79iuW7duWLVqFbZt24Zly5YhNzcXDzzwAK5du1bjNikpKVCpVPIUHBxs7vKJiIjIhkhCCGHtIoBbA563bNmC+Pj4atdHRETgoYcewocffmjUfouLixESEoKFCxfWePZIp9NBp9PJ81qtFsHBwdBoNPD09DTq84iIiMg6tFotVCpVrX6/rToGqLb+85//4MyZM9i4caPR23p5eaFNmzbIzs6usY1SqYRSqaxLiURERNSANIhLYJ9++imio6MRFRVl9LYlJSXIyclBQECABSojIiKihsiqAaikpARZWVnIysoCAOTm5iIrK8tg0LJWq8WmTZswZsyYavfRr18/LFmyRJ6fPHky9uzZg7y8PGRkZGDIkCFQKBRISEiw6LEQERFR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0UCSJHh5ed2x3dmzZxEYGIjw8HA888wzd31WkU6ng1arNZiIiIio8TI5AOXl5aGysrLKcp1Oh19//bVORVXn+vXrmDJlChISEu44srtbt25YtWoVtm3bhmXLliE3NxcPPPAArl27VuM2KSkpUKlU8hQcHGz2+omIiMh2GH0J7JtvvpH//cMPP0ClUsnzlZWVSEtLQ2hoqFmKu62iogJPPvkkhBBYtmzZHdv++ZJax44d0a1bN4SEhOBf//oXRo8eXe02ycnJSEpKkue1Wi1DEBERUSNmdACKj48HAEiShMTERIN1Tk5OCA0NxXvvvWeW4oA/ws/58+exc+dOo5/L4+XlhTZt2iA7O7vGNkqlEkqlsq6lEhERUQNhdADS6/UAbt3hdfjwYXh7e5u9qNtuh5+zZ89i165daN68udH7KCkpQU5ODoYPH26BComIiKghMnkMUG5ubp3DT0lJCbKyspCVlSXvMysrC/n5+aioqMDjjz+OI0eOYO3ataisrERBQQEKCgpw48YNeR/9+vXDkiVL5PnJkydjz549yMvLQ0ZGBoYMGQKFQoGEhIQ61UpERESNh8m3wc+ePfuO62fMmHHXfRw5cgR9+/aV52+Pw0lMTMSsWbPk8UadOnUy2G7Xrl3o06cPACAnJwdFRUXyuosXLyIhIQFXr16Fj48PevbsiQMHDsDHx6c2h0VERER2wOR3gd13330G8xUVFcjNzYWjoyNatmzZoF+IyneBERERNTz18i6wY8eOVfvBI0eOxJAhQ0zdLREREZHFmTwGqDqenp546623MH36dHPuloiIiMiszBqAgFtPa9ZoNObeLREREZHZmHwJ7IMPPjCYF0JArVbj888/r/H9XkRERES2wOQAtGjRIoN5BwcH+Pj4IDExEcnJyXUujIiIiMhSTA5Aubm55qyDiIiIqN7UaQyQEAJFRUXVvhWeiIiIyFaZFIAKCgowYsQING3aFH5+fvD19UXTpk3x3HPPobCw0Nw1EhEREZmV0ZfAtFotevTogZKSEowaNQoREREQQuDnn3/G+vXrkZ6ejszMTDRp0sQS9RIRERHVmdEB6P3334dCocDJkyervF7izTffRGxsLD744ANMmzbNbEUSERERmZPRl8C+//57TJs2rdp3a/n6+iI5ORnffvutWYojIiIisgSjA9Avv/yCHj161Li+R48eOHPm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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_40.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA9vElEQVR4nO3deVyVZf7/8ffhIKuKCzuhuC+JS6KEWmpRZEaZ00RabpM1lWVlTanl1iK2aMyUZRlqqzKZ9XPKsZRy+pbOuDKpmeWWlkBQCQoECNfvD8eTBCooh3O4eT0fj/N4dO5z3ff9ua9h4O11X9d9bMYYIwAAAIvwcHUBAAAAtYlwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwA8AlZs6cKZvNVq22NptNM2fOdGo9gwYN0qBBg9z2eACqj3ADNHBLliyRzWZzvDw9PRUREaGxY8fqhx9+cHV5bicqKqpCfwUHB+uSSy7Re++9VyvHLyws1MyZM7Vu3bpaOR7QEBFuAEiSHnvsMb3xxhtasGCBhgwZojfffFMDBw7Ur7/+6pTzPfrooyoqKnLKsZ2tZ8+eeuONN/TGG2/owQcf1OHDhzV8+HAtWLDgvI9dWFioWbNmEW6A8+Dp6gIAuIchQ4YoJiZGkjR+/HgFBgbqqaee0sqVK3XjjTfW+vk8PT3l6Vk/fwVFRETolltucbwfPXq02rdvr+eee0533HGHCysDIDFyA+A0LrnkEknS3r17K2z/+uuvdcMNN6hFixby8fFRTEyMVq5cWaFNaWmpZs2apQ4dOsjHx0ctW7bUgAEDtGbNGkebqubcFBcX6/7771dQUJCaNGmia6+9Vt9//32l2saOHauoqKhK26s65uLFi3XZZZcpODhY3t7e6tq1q1566aUa9cXZhIaGqkuXLtq/f/8Z2/3444+69dZbFRISIh8fH/Xo0UOvvfaa4/MDBw4oKChIkjRr1izHrS9nzzcCrKZ+/rMJgNMdOHBAktS8eXPHtp07d6p///6KiIjQ5MmT5e/vr7///e8aNmyY3n33XV1//fWSToSM5ORkjR8/Xn379lV+fr42b96srVu36oorrjjtOcePH68333xTI0eOVL9+/fTJJ59o6NCh53UdL730ki688EJde+218vT01D/+8Q/dddddKi8v14QJE87r2CeVlpbq0KFDatmy5WnbFBUVadCgQdqzZ4/uvvtutWnTRu+8847Gjh2rI0eO6N5771VQUJBeeukl3Xnnnbr++us1fPhwSVL37t1rpU6gwTAAGrTFixcbSWbt2rUmJyfHHDp0yCxfvtwEBQUZb29vc+jQIUfbyy+/3ERHR5tff/3Vsa28vNz069fPdOjQwbGtR48eZujQoWc874wZM8ypv4IyMjKMJHPXXXdVaDdy5EgjycyYMcOxbcyYMaZ169ZnPaYxxhQWFlZql5CQYNq2bVth28CBA83AgQPPWLMxxrRu3dpceeWVJicnx+Tk5Jj//ve/5qabbjKSzD333HPa46WkpBhJ5s0333RsKykpMXFxcaZx48YmPz/fGGNMTk5OpesFUDPclgIgSYqPj1dQUJAiIyN1ww03yN/fXytXrtQFF1wgSfr555/1ySef6MYbb9TRo0eVm5ur3Nxc/fTTT0pISNC3337rWF3VrFkz7dy5U99++221z79q1SpJ0sSJEytsv++++87runx9fR3/nZeXp9zcXA0cOFD79u1TXl7eOR3z448/VlBQkIKCgtSjRw+98847GjVqlJ566qnT7rNq1SqFhoZqxIgRjm2NGjXSxIkTdezYMf3rX/86p1oAVNagw81nn32mxMREhYeHy2az6f3333fq+U7OBzj11blzZ6eeE6iu+fPna82aNVq+fLmuvvpq5ebmytvb2/H5nj17ZIzRtGnTHH/YT75mzJgh6cScEunEyqsjR46oY8eOio6O1l/+8hd9+eWXZzz/d999Jw8PD7Vr167C9k6dOp3XdX3xxReKj4+Xv7+/mjVrpqCgIE2dOlWSzjncxMbGas2aNVq7dq3Wr1+v3Nxcvf766xWC1O9999136tChgzw8Kv7a7dKli+NzALWjQc+5KSgoUI8ePfSnP/3JcW/b2S688EKtXbvW8b6+rhaB9fTt29exWmrYsGEaMGCARo4cqd27d6tx48YqLy+XJD344INKSEio8hjt27eXJF166aXau3ev/t//+3/6+OOP9eqrr+q5557TggULNH78+POu9XQP/ysrK6vwfu/evbr88svVuXNnzZs3T5GRkfLy8tKqVav03HPPOa6ppgIDAxUfH39O+wJwvgb9l3XIkCEaMmTIaT8vLi7WI488oqVLl+rIkSPq1q2bnnrqqfN66qinp6dCQ0PPeX+gLtjtdiUnJ2vw4MF64YUXNHnyZLVt21bSiVsp1fnD3qJFC40bN07jxo3TsWPHdOmll2rmzJmnDTetW7dWeXm59u7dW2G0Zvfu3ZXaNm/eXEeOHKm0/fejH//4xz9UXFyslStXqlWrVo7tn3766Vnrr22tW7fWl19+qfLy8gqjN19//bXjc+n0wQ1A9TXo21Jnc/fdd2vDhg1atmyZvvzyS/3xj3/UVVddVaN5BL/37bffKjw8XG3bttXNN9+sgwcP1mLFQO0ZNGiQ+vbtq5SUFP36668KDg7WoEGD9PLLLyszM7NS+5ycHMd///TTTxU+a9y4sdq3b6/i4uLTnu/kPzT+9re/VdiekpJSqW27du2Ul5dX4VZXZmZmpacE2+12SZIxxrEtLy9PixcvPm0dznL11VcrKytLaWlpjm3Hjx/X888/r8aNG2vgwIGSJD8/P0mqMrwBqJ4GPXJzJgcPHtTixYt18OBBhYeHSzoxHL969WotXrxYs2fPrvExY2NjtWTJEnXq1EmZmZmaNWuWLrnkEu3YsUNNmjSp7UsAzttf/vIX/fGPf9SSJUt0xx13aP78+RowYICio6N12223qW3btsrOztaGDRv0/fff67///a8kqWvXrho0aJB69+6tFi1aaPPmzVq+fLnuvvvu056rZ8+eGjFihF588UXl5eWpX79+Sk9P1549eyq1vemmm/Twww/r+uuv18SJE1VYWKiXXnpJHTt21NatWx3trrzySnl5eSkxMVF//vOfdezYMS1cuFDBwcFVBjRnuv322/Xyyy9r7Nix2rJli6KiorR8+XJ98cUXSklJcfwO8PX1VdeuXZWWlqaOHTuqRYsW6tatm7p161an9QL1mquXa7kLSea9995zvP/ggw+MJOPv71/h5enpaW688UZjjDG7du0yks74evjhh097zl9++cU0bdrUvPrqq86+POC0Ti4F37RpU6XPysrKTLt27Uy7du3M8ePHjTHG7N2714wePdqEhoaaRo0amYiICHPNNdeY5cuXO/Z74oknTN++fU2zZs2Mr6+v6dy5s3nyySdNSUmJo01Vy7aLiorMxIkTTcuWLY2/v79JTEw0hw4dqnJp9Mcff2y6detmvLy8TKdOncybb75Z5TFXrlxpunfvbnx8fExUVJR56qmnzKJFi4wks3//fke7miwFP9sy99Md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Lhu58fLyUu/evZWenu7YVl5ervT0dMXFxVW5T2FhYaUAY7fbJUnGGOcVCwAA6g2XjdxI0qRJkzRmzBjFxMSob9++SklJUUFBgcaNGydJGj16tCIiIpScnCxJSkxM1Lx589SrVy/FxsZqz549mjZtmhITEx0hBwAANGwuDTdJSUnKycnR9OnTlZWVpZ49e2r16tWOScYHDx6sMFLz6KOPymaz6dFHH9UPP/ygoKAgJSYm6sknn3TVJQAAADdjMw3sfk5+fr4CAgKUl5enpk2burocAABQDTX5+12vVksBAACcDeEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAAALyMwr0vq9ucrMK3J1KS7n6eoCAADA+UnbdFBTVmxXuZE8bFLy8Ggl9Wnl6rJchpEbAADqscy8IkewkaRyI01dsaNBj+AQbgAAqMf25xY4gs1JZcboQG6hawpyA4QbAADqsTaB/vKwVdxmt9kUFejnmoLcAOEGAIB6LCzAV8nDo2W3nUg4dptNs4d3U1iAr4srcx2Xh5v58+crKipKPj4+io2N1caNG8/Y/siRI5owYYLCwsLk7e2tjh07atWqVXVULQAA7iepTyt9Pnmwlt52sT6fPLhBTyaWXLxaKi0tTZMmTdKCBQsUGxurlJQUJSQkaPfu3QoODq7UvqSkRFdccYWCg4O1fPlyRURE6LvvvlOzZs3qvngAANxIWIBvgx6tOZXNGGPO3sw5YmNj1adPH73wwguSpPLyckVGRuqee+7R5MmTK7VfsGCBnnnmGX399ddq1KjROZ0zPz9fAQEBysvLU9OmTc+rfgAAUDdq8vfbZbelSkpKtGXLFsXHx/9WjIeH4uPjtWHDhir3WblypeLi4jRhwgSFhISoW7dumj17tsrKyk57nuLiYuXn51d4AQAA63JZuMnNzVVZWZlCQkIqbA8JCVFWVlaV++zbt0/Lly9XWVmZVq1apWnTpmnu3Ll64oknTnue5ORkBQQEOF6RkZG1eh0AAMC9uHxCcU2Ul5crODhYr7zyinr37q2kpCQ98sgjWrBgwWn3mTJlivLy8hyvQ4cO1WHFAACgrrlsQnFgYKDsdruys7MrbM/OzlZoaGiV+4SFhalRo0ay2+2ObV26dFFWVpZKSkrk5eVVaR9vb295e3vXbvEAAMBtuWzkxsvLS71791Z6erpjW3l5udLT0xUXF1flPv3799eePXtUXl7u2PbNN98oLCysymADAAAaHpfelpo0aZIWLlyo1157Tbt27dKdd96pgoICjRs3TpI0evRoTZkyxdH+zjvv1M8//6x7771X33zzjT788EPNnj1bEyZMcNUlAAAAN+PS59wkJSUpJydH06dPV1ZWlnr27KnVq1c7JhkfPHhQHh6/5a/IyEh99NFHuv/++9W9e3dFRETo3nvv1cMPP+yqSwAAAG7Gpc+5cQWecwMAQP1TL55zAwAA4AyEGwAAYCmEGwAAYCmEGwAAYCmEGwAAYCmEGwAAYCmEGwAAYCmEGwAAYCmEGwAAYCmEGwAAYCmEGwAAYCmEGwAAYCmEGwAAUElmXpHW781VZl6Rq0upMU9XFwAAANxL2qaDmrJiu8qN5GGTkodHK6lPK1eXVW2M3AAAAIfMvCJHsJGkciNNXbGjXo3gEG4AAIDD/twCR7A5qcwYHcgtdE1B54BwAwAAHNoE+svDVnGb3WZTVKCfawo6B7UWbn799Vc9++yztXU4AADgAmEBvkoeHi277UTCsdtsmj28m8ICfF1cWfXZjDHm7M1OyMnJ0X/+8x95eXnp8ssvl91uV2lpqV588UUlJyfr+PHjys3NdWa95y0/P18BAQHKy8tT06ZNXV0OAABuKTOvSAdyCxUV6OcWwaYmf7+rvVrq888/1zXXXKP8/HzZbDbFxMRo8eLFGjZsmDw9PTVz5kyNGTPmvIsHAAA1l5lXpP25BWoT6F8rYSQswNctQs25qPbIzaBBgxQeHq6pU6fqtdde09y5c9WhQwc9+eSTuuGGG5xdZ61h5AYAYDX1fel2ddTk73e1w03Lli31f//3f+ratauKiorUuHFjrVixQtddd12tFF1XCDcAACvJzCtS/zmfVFjhZLfZ9PnkwfV25KUqNfn7Xe0Jxb/88osCAwMlSb6+vvLz81O3bt3Or1IAAHBerLB0u7bV6AnFX331lbKysiRJxhjt3r1bBQUFFdp079699qoDAABndHLp9u9HburT0u3aVu3bUh4eHrLZbDpTc5vNprKyslorzhm4LQUAsJq0TQc1dcUOlRnjWLrdkOfcVHvkZv/+/Wdtc/To0eoeDgAA1JKkPq10accgt1q67UrVDjetW7eucvvRo0e1dOlSpaamavPmzW4/cgMAgBXV56Xbte2cn1D82WefacyYMQoLC9Ozzz6rwYMH69///ndt1gYAAFBjNZpQnJWVpSVLlig1NVX5+fm68cYbVVxcrPfff19du3Z1Vo0AAADVVu2Rm8TERHXq1ElffvmlUlJSdPjwYT3//PPOrA0AAKDGqj1y889//lMTJ07UnXfeqQ4dOjizJgAAgHNW7ZGbzz//XEePHlXv3r0VGxurF154we2/JBMAADQ81Q43F198sRYuXKjMzEz9+c9/1rJlyxQeHq7y8nKtWbOGZeAAAMAtVPshflXZvXu3UlNT9cYbb+jIkSO64oortHLlytqsr9bxED8AAOofp3y3VFU6deqkp59+Wt9//72WLl16PocCAACoFec1clMfMXIDAED9U2cjNwAAAO6GcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACzFLcLN/PnzFRUVJR8fH8XGxmrjxo3V2m/ZsmWy2WwaNmyYcwsEAAD1hsvDTVpamiZNmqQZM2Zo69at6tGjhxISEvTjjz+ecb8DBw7owQcf1CWXXFJHlQIAgPrA5eFm3rx5uu222zRu3Dh17dpVCxYskJ+fnxYtWnTafcrKynTzzTdr1qxZatu2bR1WCwAA3J1Lw01JSYm2bNmi+Ph4xzYPDw/Fx8drw4YNp93vscceU3BwsG699daznqO4uFj5+fkVXgAAwLpcGm5yc3NVVlamkJCQCttDQkKUlZVV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pj8TR44c0YQJExQWFiZvb2917NhRq1atqqNqnacm/TBo0KBKPw82m01Dhw6tw4qdp6Y/EykpKerUqZN8fX0VGRmp+++/X7/++qvzCjQN0LJly4yXl5dZtGiR2blzp7nttttMs2bNTHZ2dpXtN27caB588EGzdOlSExoaap577rm6LdiJatoXI0eONPPnzzfbtm0zu3btMmPHjjUBAQHm+++/r+PKa1dN++HTTz81K1asMF999ZXZs2ePSUlJMXa73axevbqOK69dNe2Hk/bv328iIiLMJZdcYq677rq6KdbJatoXixcvNk2bNjWZmZmOV1ZWVh1XXftq2g/FxcUmJibGXH311ebzzz83+/fvN+vWrTMZGRl1XHntqmk//PTTTxV+Fnbs2GHsdrtZvHhx3RbuBDXti7feest4e3ubt956y+zfv9989NFHJiwszNx///1Oq7FBhpu+ffuaCRMmON6XlZWZ8PBwk5ycfNZ9W7dubalwcz59YYwxx48fN02aNDGvvfaas0qsE+fbD8YY06tXL/Poo486o7w6cy79cPz4cdOvXz/z6quvmjFjxlgm3NS0LxYvXmwCAgLqqLq6U9N+eOmll0zbtm1NSUlJXZVYJ873d8Rzzz1nmjRpYo4dO+asEutMTftiwoQJ5rLLLquwbdKkSaZ///5Oq7HB3ZYqKSnRli1bFB8f79jm4eGh+Ph4bdiwwYWV1b3a6IvCwkKVlpaqRYsWzirT6c63H4wxSk9P1+7du3XppZc6s1SnOtd+eOyxxxQcHKxbb721LsqsE+faF8eOHVPr1q0VGRmp6667Tjt37qyLcp3mXPph5cqViouL04QJExQSEqJu3bpp9uzZKisrq6uya11t/K5MTU3VTTfdJH9/f2eVWSfOpS/69eunLVu2OG5d7du3T6tWrdLVV1/ttDob3Bdn5ubmqqysTCEhIRW2h4SE6Ouvv3ZRVa5RG33x8MMPKzw8vMIPen1zrv2Ql5eniIgIFRcXy26368UXX9QVV1zh7HKd5lz64fPPP1dqaqoyMjLqoMK6cy590alTJy1atEjdu3dXXl6enn32WfXr1087d+6s9pf1uptz6Yd9+/bpk08+0c0336xVq1Zpz549uuuuu1RaWqoZM2bURdm17nx/V27cuFE7duxQamqqs0qsM+fSFyNHjlRubq4GDBggY4yOHz+uO+64Q1OnTnVanQ0u3KD2zJkzR8uWLdO6dessM3GyJpo0aaKMjAwdO3ZM6enpmjRpktq2batBgwa5urQ6cfToUY0aNUoLFy5UYGCgq8txubi4OMXFxTne9+vXT126dNHLL7+sxx9/3IWV1a3y8nIFBwfrlVdekd1uV+/evfXDDz/omWeeqbfh5nylpqYqOjpaffv2dXUpLrFu3TrNnj1bL774omJjY7Vnzx7de++9evzxxzVt2jSnnLPBhZvAwEDZ7XZlZ2dX2J6dna3Q0FAXVeUa59MXzz77rObMmaO1a9eqe/fuzizT6c61Hzw8PNS+fXtJUs+ePbVr1y4lJyfX23BT037Yu3evDhw4oMTERMe28vJySZKnp6d2796tdu3aObdoJ6mN3xONGjVSr169tGfPHmeUWCfOpR/CwsLUqFEj2e12x7YuXbooKytLJSUl8vLycmrNznA+Pw8FBQVatmyZHnvsMWeWWGfOpS+mTZumUaNGafz48ZKk6OhoFRQU6Pbbb9cjjzwiD4/anyHT4ObceHl5qXfv3kpPT3dsKy8vV3p6eoV/dTUE59oXTz/9tB5//HGtXr1aMTExdVGqU9XWz0R5ebmKi4udUWKdqGk/dO7cWdu3b1dGRobjde2112rw4MHKyMhQZGRkXZZfq2rjZ6KsrEzbt29XWFiYs8p0unPph/79+2vPnj2OoCtJ33zzjcLCwuplsJHO7+fhnXfeUXFxsW655RZnl1knzqUvCgsLKwWYk+HXOOvrLZ02VdmNLVu2zHh7e5slS5aYr776ytx+++2mWbNmjmWbo0aNMpMnT3a0Ly4uNtu2bTPbtm0zYWFh5sEHHzTbtm0z3377rasuodbUtC/mzJljvLy8zPLlyyssczx69KirLqFW1LQfZs+ebT7++GOzd+9e89VXX5lnn33WeHp6moULF7rqEmpFTfvh96y0WqqmfTFr1izz0Ucfmb1795otW7aYm266yfj4+JidO3e66hJqRU374eDBg6ZJkybm7rvvNrt37zYffPCBCQ4ONk888YSrLqFWnOv/NwYMGGCSkpLqulynqmlfzJgxwzRp0sQsXbrU7Nu3z3z88cemXbt25sYbb3RajQ0y3BhjzPPPP29atWplvLy8TN++fc2///1vx2cDBw40Y8aMcbzfv3+/kVTpNXDgwLov3Alq0hetW7eusi9mzJhR94XXspr0wyOPPGLat29vfHx8TPPmzU1cXJxZtmyZC6qufTXph9+zUrgxpmZ9cd999znahoSEmKuvvtps3brVBVXXvpr+TKxfv97ExsYab29v07ZtW/Pkk0+a48eP13HVta+m/fD1118bSebjjz+u40qdryZ9UVpaambOnGnatWtnfHx8TGRkpLnrrrvML7/84rT6bMY4a0wIAACg7jW4OTcAAMDaCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcA4ERjx47VsGHDXF0G0KAQboAGauzYsbLZbI5Xy5YtddVVV+nLL790dWm14tRrO/kaMGCA08534MAB2Ww2ZWRkVNj+17/+VUuWLHHaeQFURrgBGrCrrrpKmZmZyszMVHp6ujw9PXXNNde4uqxas3jxYsf1ZWZmauXKlVW2Ky0tdVoNAQEBatasmdOOD6Aywg3QgHl7eys0NFShoaHq2bOnJk+erEOHDiknJ0eXXXaZ7r777grtc3Jy5OXl5fhG4KioKD3++OMaMWKE/P39FRERofnz51fYZ968eYqOjpa/v78iIyN111136dixY47Pv/vuOyUmJqp58+by9/fXhRdeqFWrVkmSfvnlF918880KCgqSr6+vOnTooMWLF1f7+po1a+a4vtDQULVo0cIxwpKWlqaBAwfKx8dHb731ln766SeNGDFCERER8vPzU3R0tJYuXVrheOXl5Xr66afVvn17eXt7q1WrVnryySclSW3atJEk9erVSzabTYMGDZJU+bZUcXGxJk6cqODgYPn4+GjAgAHatGmT4/N169bJZrMpPT1dMTEx8vPzU79+/bR79+5qXzfQ0BFuAEiSjh07pjfffFPt27dXy5YtNX78eL399tsqLi52tHnzzTcVERGhyy67zLHtmWeeUY8ePbRt2zZNnjxZ9957r9asWeP43MPDQ3/729+0c+dOvfbaa/rkk0/00EMPOT6fMGGCiouL9dlnn2n79u166qmn1LhxY0nStGnT9NVXX+mf//yndu3apZdeekmBgYG1cr0na921a5cSEhL066+/qnfv3vrwww+1Y8cO3X777Ro1apQ2btzo2GfKlCmaM2eOo663335bISEhkuRot3btWmVmZmrFihVVnvehhx7Su+++q9dee01bt25V+/btlZCQoJ9//rlCu0ceeURz587V5s2b5enpqT/96U+1ct1Ag+C0r+QE4NbGjBlj7Ha78ff3N/7+/kaSCQsLM1u2bDHGGFNUVGSaN29u0tLSHPt0797dzJw50/G+devW5qqrrqpw3KSkJDNkyJDTnvedd94xLVu2dLyPjo6ucMxTJSYmmnHjxp3T9UkyPj4+juvz9/c37733ntm/f7+RZFJSUs56jKFDh5oHHnjAGGNMfn6+8fb2NgsXLqyy7cnjbtu2rcL2U78p/dixY6ZRo0bmrbfecnxeUlJiwsPDzdNPP22MMebTTz81kszatWsdbT788EMjyRQVFdWkC4AGi5EboAEbPHiwMjIylJGRoY0bNyohIUFDhgzRd999Jx8fH40aNUqLFi2SJG3dulU7duzQ2LFjKxwjLi6u0vtdu3Y53q9du1aXX365IiIi1KRJE40aNUo//fSTCgsLJUkTJ07UE088of79+2vGjBkVJjTfeeedWrZsmXr27KmHHnpI69evr9H1Pffcc47ry8jI0BVXXOH4LCYmpkLbsrIyPf7444qOjlaLFi3UuHFjffTRRzp48KAkadeuXSouLtbll19eoxpOtXfvXpWWlqp///6ObY0aNVLfvn0r9Jkkde/e3fHfYWFhkqQff/zxnM8NNCSEG6AB8/f3V/v27dW+fXv16dNHr776qgoKCrRw4UJJ0vjx47VmzRp9//33Wrx4sS677DK1bt262sc/cOCArrnmGnXv3l3vvvuutmzZ4piTU1JS4jjHvn37NGrUKG3fvl0xMTF6/vnnJckRtO6//34dPnxYl19+uR588MFqnz80NNRxfe3bt5e/v3+Faz/VM888o7/+9a96+OGH9emnnyojI0MJCQmOOn19fat93trQqFEjx3/bbDZJJ+b8ADg7wg0AB5vNJg8PDxUVFUmSoqOjFRMTo4ULF+rtt9+uct7Hv//970rvu3TpIknasmWLysvLNXfuXF188cXq2LGjDh8+XOkYkZGRuuOOO7RixQo98MADjnAlSUFBQRozZozefPNNpaSk6JVXXqnNS3b44osvdN111+mWW25Rjx491LZtW33zzTeOzzt06CBfX1/HZOrf8/LyknRiBOh02rVrJy8vL33xxReObaWlpdq0aZO6du1aS1cCwNPVBQBwneLiYmVlZUk6sTLphRde0LFjx5SYmOhoM378eN19993y9/fX9ddfX+kYX3zxhZ5++mkNGzZMa9as0TvvvKMPP/xQktS+fXuVlpbq+eefV2Jior744gstWLCgwv733XefhgwZoo4dO+qXX37Rp59+6ghH06dPV+/evXXhhRequLhYH3zwgeOz2tahQwctX75c69evV/PmzTVv3jxlZ2c7QoePj48efvhhPfTQQ/Ly8lL//v2Vk5OjnTt36tZbb1VwcLB8fX21evVqXXDBBfLx8VFAQECFc/j7++vOO+/UX/7yF7Vo0UKtWrXS008/rcLCQt16661OuS6gIWLkBmjAVq9erbCwMIWFhSk2NlabNm3SO++841jGLEkjRoyQp6enRowYIR8fn0rHeOCBB7R582b16tVLTzzxhObNm6eEhARJUo8ePTRv3jw99dRT6tatm9566y0lJydX2L+srEwTJkxQly5ddNVVV6ljx4568cUXJZ0YDZkyZYq6d++uSy+9VHa7XcuWLXNKXzz66KO66KKLlJCQoEGDBik0NLTSk4WnTZumBx54QNOnT1eXLl2UlJTkmAfj6empv/3tb3r55ZcVHh6u6667rsrzzJkzR3/4wx80atQoXXTRRdqzZ48++ugjNW/e3CnXBTRENmOMcXURANzXgQMH1K5dO23atEkXXXRRhc+ioqJ033336b777nNNcQBQBW5LAahSaWmpfvrpJz366KO6+OKLKwUbAHBX3JYCUKUvvvhCYWFh2rRpU6V5Mq42e/ZsNW7cuMrXkCFDXF0eABfjthSAeufnn3+u9ETfk3x9fRUREVHHFQFwJ4QbAABgKdyWAgAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AQAAlvL/ATmg9aux6ek0AAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_41.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABCqUlEQVR4nO3deVyVZf7/8fcBZBEVVFYZFPc0ccmFcEkrirShzGkiNbfJ+la2WlNqKdoitpnNZNlYWdMmo1k55U9TymlKZzSVSR21VAhLQGg5yBIY5/r94XjqBC4HORy4eT0fj/N4eK5z3ed87uuBnDfXfd33bTPGGAEAAFiEj7cLAAAAqEuEGwAAYCmEGwAAYCmEGwAAYCmEGwAAYCmEGwAAYCmEGwAAYCmEGwAAYCmEGwAAYCmEGwBeMXfuXNlstjPqa7PZNHfuXI/WM2LECI0YMaLBvh+AM0e4AZq4l19+WTabzfnw8/NTTEyMJk+erG+++cbb5TU4cXFxLuMVERGhYcOG6e23366T9y8rK9PcuXO1cePGOnk/oCki3ACQJD344IN69dVXtWTJEo0cOVKvvfaahg8frh9//NEjn/fAAw+ovLzcI+/taX379tWrr76qV199Vffcc48OHz6sMWPGaMmSJWf93mVlZZo3bx7hBjgLft4uAEDDMHLkSA0YMECSNHXqVIWFhenRRx/V6tWrdc0119T55/n5+cnPr3H+CoqJidF1113nfD5x4kR16dJFTz31lG666SYvVgZAYuYGwEkMGzZMknTgwAGX9r179+rqq69WmzZtFBgYqAEDBmj16tUufY4dO6Z58+apa9euCgwMVNu2bTV06FCtX7/e2aemNTcVFRW66667FB4erpYtW+qKK67Q119/Xa22yZMnKy4urlp7Te+5bNkyXXTRRYqIiFBAQIB69uyp5557zq2xOJ2oqCj16NFD2dnZp+x35MgRXX/99YqMjFRgYKD69OmjV155xfl6Tk6OwsPDJUnz5s1zHvry9HojwGoa559NADwuJydHktS6dWtn2+7duzVkyBDFxMRoxowZCg4O1t/+9jeNHj1ab731lq666ipJx0NGenq6pk6dqkGDBqm4uFifffaZtm/frksuueSknzl16lS99tprGjdunAYPHqwPP/xQl19++Vntx3PPPadzzz1XV1xxhfz8/PT3v/9dt9xyixwOh6ZNm3ZW733CsWPHdOjQIbVt2/akfcrLyzVixAjt379ft956qzp27KgVK1Zo8uTJ+uGHH3THHXcoPDxczz33nG6++WZdddVVGjNmjCSpd+/edVIn0GQYAE3asmXLjCSzYcMGU1hYaA4dOmRWrlxpwsPDTUBAgDl06JCz78UXX2zi4+PNjz/+6GxzOBxm8ODBpmvXrs62Pn36mMsvv/yUn5uWlmZ++SsoKyvLSDK33HKLS79x48YZSSYtLc3ZNmnSJNOhQ4fTvqcxxpSVlVXrl5ycbDp16uTSNnz4cDN8+PBT1myMMR06dDCXXnqpKSwsNIWFheY///mPufbaa40kc9ttt530/RYtWmQkmddee83ZVllZaRITE02LFi1McXGxMcaYwsLCavsLwD0clgIgSUpKSlJ4eLhiY2N19dVXKzg4WKtXr9ZvfvMbSdJ3332nDz/8UNdcc42OHj2qoqIiFRUV6dtvv1VycrK+/PJL59lVoaGh2r17t7788ssz/vw1a9ZIkm6//XaX9jvvvPOs9isoKMj5b7vdrqKiIg0fPlwHDx6U3W6v1Xt+8MEHCg8PV3h4uPr06aMVK1ZowoQJevTRR0+6zZo1axQVFaWxY8c625o1a6bbb79dJSUl+sc//lGrWgBU16TDzccff6yUlBS1a9dONptN77zzjkc/78R6gF8+zjnnHI9+JnCmFi9erPXr12vlypUaNWqUioqKFBAQ4Hx9//79MsZo9uzZzi/2E4+0tDRJx9eUSMfPvPrhhx/UrVs3xcfH649//KM+//zzU37+V199JR8fH3Xu3NmlvXv37me1X59++qmSkpIUHBys0NBQhYeHa9asWZJU63CTkJCg9evXa8OGDdq0aZOKior017/+1SVI/dpXX32lrl27ysfH9ddujx49nK8DqBtNes1NaWmp+vTpoz/84Q/OY9uedu6552rDhg3O5431bBFYz6BBg5xnS40ePVpDhw7VuHHjtG/fPrVo0UIOh0OSdM899yg5ObnG9+jSpYsk6YILLtCBAwf07rvv6oMPPtALL7ygp556SkuWLNHUqVPPutaTXfyvqqrK5fmBAwd08cUX65xzztHChQsVGxsrf39/rVmzRk899ZRzn9wVFhampKSkWm0LwPOa9DfryJEjNXLkyJO+XlFRofvvv19vvvmmfvjhB/Xq1UuPPvroWV111M/PT1FRUbXeHqgPvr6+Sk9P14UXXqhnnnlGM2bMUKdOnSQdP5RyJl/sbdq00ZQpUzRlyhSVlJToggsu0Ny5c08abjp06CCHw6EDBw64zNbs27evWt/WrVvrhx9+qNb+69mPv//976qoqNDq1avVvn17Z/tHH3102vrrWocOHfT555/L4XC4zN7s3bvX+bp08uAG4Mw16cNSp3Prrbdq8+bNWr58uT7//HP9/ve/12WXXebWOoJf+/LLL9WuXTt16tRJ48ePV25ubh1WDNSdESNGaNCgQVq0aJF+/PFHRUREaMSIEXr++eeVl5dXrX9hYaHz399++63Lay1atFCXLl1UUVFx0s878YfGn/70J5f2RYsWVevbuXNn2e12l0NdeXl51a4S7OvrK0kyxjjb7Ha7li1bdtI6PGXUqFHKz89XRkaGs+2nn37Sn//8Z7Vo0ULDhw+XJDVv3lySagxvAM5Mk565OZXc3FwtW7ZMubm5ateunaTj0/Fr167VsmXLNH/+fLffMyEhQS+//LK6d++uvLw8zZs3T8OGDdOuXbvUsmXLut4F4Kz98Y9/1O9//3u9/PLLuummm7R48WINHTpU8fHxuuGGG9SpUycVFBRo8+bN+vrrr/Wf//xHktSzZ0+NGDFC/fv3V5s2bfTZZ59p5cqVuvXWW0/6WX379tXYsWP17LPPym63a/DgwcrMzNT+/fur9b322mt133336aqrrtLtt9+usrIyPffcc+rWrZu2b9/u7HfppZfK399fKSkp+r//+z+VlJRo6dKlioiIqDGgedKNN96o559/XpMnT9a2bdsUFxenlStX6tNPP9WiRYucvwOCgoLUs2dPZWRkqFu3bmrTpo169eqlXr161Wu9QKPm7dO1GgpJ5u2333Y+f++994wkExwc7PLw8/Mz11xzjTHGmD179hhJp3zcd999J/3M77//3rRq1cq88MILnt494KROnAq+devWaq9VVVWZzp07m86dO5uffvrJGGPMgQMHzMSJE01UVJRp1qyZiYmJMb/97W/NypUrnds9/PDDZtCgQSY0NNQEBQWZc845xzzyyCOmsrLS2aem07bLy8vN7bffbtq2bWuCg4NNSkqKOXToUI2nRn/wwQemV69ext/f33Tv3t289tprNb7n6tWrTe/evU1gYKCJi4szjz76qHnppZeMJJOdne3s586p4Kc7zf1k71dQUGCmTJliwsLCjL+/v4mPjzfLli2rtu2mTZtM//79jb+/P6eFA7VgM+YX87VNmM1m09tvv63Ro0dLkjIyMjR+/Hjt3r3bObV9QosWLRQVFaXKykodPHjwlO/btm1b5xVHazJw4EAlJSUpPT39rPcBAABwWOqk+vXrp6qqKh05csR5Gfpf8/f3P6tTuUtKSnTgwAFNmDCh1u8BAABcNelwU1JS4nI8Pzs7W1lZWWrTpo26deum8ePHa+LEiXryySfVr18/FRYWKjMzU717967VJeHvuecepaSkqEOHDjp8+LDS0tLk6+vrclEvAABwdpr0YamNGzfqwgsvrNY+adIkvfzyyzp27Jgefvhh/fWvf9U333yjsLAwnX/++Zo3b57i4+Pd/rxrr71WH3/8sb799luFh4dr6NCheuSRR6pdtAwAANRekw43AADAerx6nRt3b3+watUqXXLJJQoPD1erVq2UmJiodevW1U+xAACgUfBquDlx+4PFixefUf+PP/5Yl1xyidasWaNt27bpwgsvVEpKinbs2OHhSgEAQGPRYA5L/fpU7DN17rnnKjU1VXPmzDmj/g6HQ4cPH1bLli25zDkAAI2EMUZHjx5Vu3btqt2A9tca9dlSDodDR48eVZs2bU7ap6KiwuWS799884169uxZH+UBAIA6dujQIf3mN785ZZ9GHW6eeOIJlZSU6Jprrjlpn/T0dM2bN69a+6FDh9SqVStPlgcAAOpIcXGxYmNjz+h2RY023LzxxhuaN2+e3n33XUVERJy038yZMzV9+nTn8xOD06pVK8INAACNzJksKWmU4Wb58uWaOnWqVqxYoaSkpFP2DQgIUEBAQD1VBgAAvM2rZ0vVxptvvqkpU6bozTffrNVVggEAgLV5debmVLc/aN++vWbOnKlvvvlGf/3rXyUdPxQ1adIkPf3000pISFB+fr4kKSgoSCEhIV7ZBwAA0LB49VTw093+YPLkycrJydHGjRslSSNGjNA//vGPk/Y/E8XFxQoJCZHdbj/lmpuqqiodO3bsjN4Tp9esWbNqd1cHAOBMnen3t9SArnNTX043OMYY5efn64cffqj/4iwuNDRUUVFRXF8IAOA2d8JNo1xQ7Ekngk1ERISaN2/OF3EdMMaorKxMR44ckSRFR0d7uSIAgJURbn6hqqrKGWzatm3r7XIsJSgoSJJ05MgRRUREcIgKAOAxje5sKU86scamefPmXq7Emk6MK2uZAACeRLipAYeiPINxBQDUB8INAACwFMINAACwFMKNheTn5+u2225Tp06dFBAQoNjYWKWkpCgzM1PfffedbrvtNnXv3l1BQUFq3769br/9dtntduf2OTk5stlsysrKqvbeI0aM0J133unStmfPHl1xxRUKCQlRcHCwBg4cqNzcXA/vJQCgJnn2cm06UKQ8e7m3S/E6zpayiJycHA0ZMkShoaF6/PHHFR8fr2PHjmndunWaNm2aVq5cqcOHD+uJJ55Qz5499dVXX+mmm27S4cOHtXLlSrc/78CBAxo6dKiuv/56zZs3T61atdLu3bsVGBjogb0DAJxKxtZczVy1Uw4j+dik9DHxSh3Y3ttleQ3hxiJuueUW2Ww2bdmyRcHBwc72c889V3/4wx8UGhqqt956y9neuXNnPfLII7ruuuv0008/yc/PvR+F+++/X6NGjdJjjz3m8p4AgPqVZy93BhtJchhp1qpduqBbuKJDgrxbnJdwWMqD6muK8LvvvtPatWs1bdo0l2BzQmhoaI3bnbjKo7vBxuFw6P3331e3bt2UnJysiIgIJSQk6J133qlF9QCAs5FdVOoMNidUGaOcojLvFNQAEG48JGNrroYs+FDjlv5bQxZ8qIytnluLsn//fhljdM4555zxNkVFRXrooYd04403Vntt8ODBatGihcvjn//8p/P1I0eOqKSkRAsWLNBll12mDz74QFdddZXGjBlT472/AACe0zEsWD6/utKGr82muLCme802Dkt5QH1PEbp7e7Di4mJdfvnl6tmzp+bOnVvt9YyMDPXo0cOlbfz48c5/OxwOSdKVV16pu+66S5LUt29fbdq0SUuWLNHw4cPd3AMAQG1FhwQpfUy8Zq3apSpj5Guzaf6YXk32kJREuPGIU00ReuKHrWvXrrLZbNq7d+9p+x49elSXXXaZWrZsqbffflvNmjWr1ic2NlZdunRxaTtx+wRJCgsLk5+fn3r27OnSp0ePHvrkk09quRcAgNpKHdheF3QLV05RmeLCmjfpYCNxWMoj6nuKsE2bNkpOTtbixYtVWlpa7fUTdzgvLi7WpZdeKn9/f61evbrWZzb5+/tr4MCB2rdvn0v7F198oQ4dOtTqPQEAZyc6JEiJnds2+WAjEW484sQUoe//bjdQH1OEixcvVlVVlQYNGqS33npLX375pfbs2aM//elPSkxMdAab0tJSvfjiiyouLlZ+fr7y8/NVVVXl9uf98Y9/VEZGhpYuXar9+/frmWee0d///nfdcsstHtg7AADOHIelPKS+pwg7deqk7du365FHHtHdd9+tvLw8hYeHq3///nruuee0fft2/fvf/5akaoecsrOzFRcX59bnXXXVVVqyZInS09N1++23q3v37nrrrbc0dOjQutolAABqxWbcXY3ayBUXFyskJMR5GvQv/fjjj8rOzlbHjh25GJ0HML4AgNo61ff3r3FYCgAAWArhBgAAWArhBgAAWArhBgAAWArhpgZNbI11vWFcAQD1gXDzCyeu1ltW1nRvNuZJJ8a1pqsiAwBQV7jOzS/4+voqNDRUR44ckSQ1b95cNpvtNFvhdIwxKisr05EjRxQaGipfX19vlwQAsDDCza9ERUVJkjPgoO6EhoY6xxcAAE8h3PyKzWZTdHS0IiIidOzYMW+XYxnNmjVjxgYAUC8INyfh6+vLlzEAAI0QC4oBAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAECdybOXa9OBIuXZy71WA9e5AQAAdSJja65mrtoph5F8bFL6mHilDmxf73UwcwMAAM5anr3cGWwkyWGkWat2eWUGh3ADAADOWnZRqTPYnFBljHKKyuq9FsINAAA4ax3DguVjc23ztdkUF9a83msh3AAAgLMWHRKk9DHx8rUdTzi+Npvmj+ml6JCgeq+FBcUAAKBOpA5srwu6hSunqExxYc29Emwkwg0AAKhD0SFBXgs1J3BYCgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWIpXw83HH3+slJQUtWvXTjabTe+8885pt9m4caPOO+88BQQEqEuXLnr55Zc9XicAAGg8vBpuSktL1adPHy1evPiM+mdnZ+vyyy/XhRdeqKysLN15552aOnWq1q1b5+FKAQBAY+HV2y+MHDlSI0eOPOP+S5YsUceOHfXkk09Kknr06KFPPvlETz31lJKTkz1VJgAAaEQa1ZqbzZs3KykpyaUtOTlZmzdvPuk2FRUVKi4udnkAAADralThJj8/X5GRkS5tkZGRKi4uVnl5eY3bpKenKyQkxPmIjY2tj1IBAICXNKpwUxszZ86U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0rZt25xrciorK52fcfDgQU2YMEE7d+7UgAED9Oc//1mSnEHrrrvu0uHDh3XxxRfrnnvuOePPj4qKcu5fly5dFBwc7LLvv/T444/r6aef1n333aePPvpIWVlZSk5OdtYZFBR0xp9bF5o1a+b8t81mk3R8zQ+A0yPcAHCy2Wzy8fFReXm5JCk+Pl4DBgzQ0qVL9cYbb9S47uNf//pXtec9evSQJG3btk0Oh0NPPvmkzj//fHXr1k2HDx+u9h6xsbG66aabtGrVKt19993OcCVJ4eHhmjRpkl577TUtWrRIf/nLX+pyl50+/fRTXXnllbruuuvUp08fderUSV988YXz9a5duyooKMi5mPrX/P39JR2fATqZzp07y9/fX59++qmz7dixY9q6dat69uxZR3sCwM/bBQDwnoqKCuXn50s6fmbSM888o5KSEqWkpDj7TJ06VbfeequCg4N11VVXVXuPTz/9VI899phGjx6t9evXa8WKFXr//fclSV26dNGxY8f05z//WSkpKfr000+1ZMkSl+3vvPNOjRw5Ut26ddP333+vjz76yBmO5syZo/79++vcc89VRUWF3nvvPedrda1r165auXKlNm3apNatW2vhwoUqKChwho7AwEDdd999uvfee+Xv768hQ4aosLBQu3fv1vXXX6+IiAgFBQVp7dq1+s1vfqPAwECFhIS4fEZwcLBuvvlm/fGPf1SbNm3Uvn17PfbYYyorK9P111/vkf0CmiJmboAmbO3atYqOjlZ0dLQSEhK0detWrVixwnkasySNHTtWfn5+Gjt2rAIDA6u9x913363PPvtM/fr108MPP6yFCxcqOTlZktSnTx8tXLhQjz76qHr16qXXX39d6enpLttXVVVp2rRp6tGjhy677DJ169ZNzz77rKTjsyEzZ85U7969dcEFF8jX11fLly/3yFg88MADOu+885ScnKwRI0YoKiqq2pWFZ8+erbvvvltz5sxRjx49lJqa6lwH4+fnpz/96U96/vnn1a5dO1155ZU1fs6CBQv0u9/9ThMmTNB5552n/fv3a926dWrdurVH9gtoimzGGOPtIgA0XDk5OercubO2bt2q8847z+W1uLg43Xnnnbrzzju9UxwA1IDDUgBqdOzYMX377bd64IEHdP7551cLNgDQUHFYCkCNPv30U0VHR2vr1q3V1sl42/z589WiRYsaHyNHjvR2eQC8jMNSABqd7777rtoVfU8ICgpSTExMPVcEoCEh3AAAAEvhsBQAALAUwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALCU/w9qKpaPxDurDgAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_42.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABBN0lEQVR4nO3deVxVdf7H8fcFZRERF1YVxbU0cd/QRrFMUjPNmTIrl0qbUiuzVVu0TbRymcrUrLQyk9HRxjHH3GsSG1d+qaWloZgBSuklFhHh+/vD8RaJy8V7uXB4PR+P83h0z/mecz/nG8G77/mec2zGGCMAAACL8PJ0AQAAAK5EuAEAAJZCuAEAAJZCuAEAAJZCuAEAAJZCuAEAAJZCuAEAAJZCuAEAAJZCuAEAAJZCuAHgEZMmTZLNZrustjabTZMmTXJrPbGxsYqNjS2zxwNw+Qg3QAW3YMEC2Ww2x1KpUiXVqVNHw4cP19GjRz1dXpkTFRVVpL9CQ0P1pz/9ScuXL3fJ8XNycjRp0iRt2rTJJccDKiLCDQBJ0gsvvKAPP/xQc+bMUe/evbVw4UJ1795dp06dcsv3PfPMM8rNzXXLsd2tdevW+vDDD/Xhhx/qscce008//aSBAwdqzpw5V3zsnJwcPf/884Qb4ApU8nQBAMqG3r17q3379pKkESNGKDg4WFOnTtWKFSt02223ufz7KlWqpEqVyuevoDp16uiuu+5yfB46dKgaN26sGTNm6P777/dgZQAkRm4AXMCf/vQnSdLBgweLrN+3b5/+8pe/qGbNmvLz81P79u21YsWKIm3y8/P1/PPPq0mTJvLz81OtWrV07bXXau3atY42xc25ycvL0yOPPKKQkBAFBgbq5ptv1o8//nhebcOHD1dUVNR564s75vz583XdddcpNDRUvr6+at68uWbPnu1UX1xKeHi4mjVrpuTk5Iu2O3bsmO69916FhYXJz89PrVq10vvvv+/YfujQIYWEhEiSnn/+ecelL3fPNwKspnz+bxMAtzt06JAkqUaNGo51e/fuVdeuXVWnTh099dRTCggI0N///ncNGDBA//jHP3TLLbdIOhsy4uPjNWLECHXs2FGZmZnavn27du7cqRtuuOGC3zlixAgtXLhQd9xxh7p06aINGzaob9++V3Qes2fP1jXXXKObb75ZlSpV0r/+9S+NGjVKhYWFGj169BUd+5z8/HwdOXJEtWrVumCb3NxcxcbG6sCBAxozZowaNGigJUuWaPjw4Tp58qQefvhhhYSEaPbs2XrggQd0yy23aODAgZKkli1buqROoMIwACq0+fPnG0lm3bp15vjx4+bIkSNm6dKlJiQkxPj6+pojR4442l5//fUmOjranDp1yrGusLDQdOnSxTRp0sSxrlWrVqZv374X/d6JEyea3/8KSkpKMpLMqFGjirS74447jCQzceJEx7phw4aZ+vXrX/KYxhiTk5NzXru4uDjTsGHDIuu6d+9uunfvftGajTGmfv36plevXub48ePm+PHj5v/+7//M7bffbiSZBx988ILHmzlzppFkFi5c6Fh3+vRpExMTY6pWrWoyMzONMcYcP378vPMF4BwuSwGQJPXs2VMhISGKjIzUX/7yFwUEBGjFihWqW7euJOmXX37Rhg0bdNttt+nXX39VRkaGMjIy9PPPPysuLk7ff/+94+6q6tWra+/evfr+++8v+/tXrVolSXrooYeKrB87duwVnZe/v7/jn+12uzIyMtS9e3f98MMPstvtJTrmmjVrFBISopCQELVq1UpLlizRkCFDNHXq1Avus2rVKoWHh2vw4MGOdZUrV9ZDDz2krKwsff755yWqBcD5KnS4+eKLL9SvXz/Vrl1bNptNn3zyidu/8+jRo7rrrrtUq1Yt+fv7Kzo6Wtu3b3f79wKXMmvWLK1du1ZLly5Vnz59lJGRIV9fX8f2AwcOyBijZ5991vGH/dwyceJESWfnlEhn77w6efKkmjZtqujoaD3++OP6+uuvL/r9hw8flpeXlxo1alRk/VVXXXVF57V582b17NlTAQEBql69ukJCQjRhwgRJKnG46dSpk9auXat169YpMTFRGRkZ+uCDD4oEqT86fPiwmjRpIi+vor92mzVr5tgOwDUq9Jyb7OxstWrVSvfcc4/j2rY7nThxQl27dlWPHj3073//WyEhIfr++++LzGkAPKVjx46Ou6UGDBiga6+9VnfccYf279+vqlWrqrCwUJL02GOPKS4urthjNG7cWJLUrVs3HTx4UP/85z+1Zs0avfPOO5oxY4bmzJmjESNGXHGtF3r4X0FBQZHPBw8e1PXXX6+rr75a06dPV2RkpHx8fLRq1SrNmDHDcU7OCg4OVs+ePUu0LwD3q9Dhpnfv3urdu/cFt+fl5enpp5/Wxx9/rJMnT6pFixaaOnVqiZ86OnXqVEVGRmr+/PmOdQ0aNCjRsQB38vb2Vnx8vHr06KE333xTTz31lBo2bCjp7KWUy/nDXrNmTd199926++67lZWVpW7dumnSpEkXDDf169dXYWGhDh48WGS0Zv/+/ee1rVGjhk6ePHne+j+OfvzrX/9SXl6eVqxYoXr16jnWb9y48ZL1u1r9+vX19ddfq7CwsMjozb59+xzbpQsHNwCXr0JflrqUMWPGaMuWLVq8eLG+/vpr3XrrrbrxxhudmkfweytWrFD79u116623KjQ0VG3atNG8efNcXDXgGrGxserYsaNmzpypU6dOKTQ0VLGxsZo7d65SU1PPa3/8+HHHP//8889FtlWtWlWNGzdWXl7eBb/v3P9ovP7660XWz5w587y2jRo1kt1uL3KpKzU19bynBHt7e0uSjDGOdXa7vcj/YJSWPn36KC0tTQkJCY51Z86c0RtvvKGqVauqe/fukqQqVapIUrHhDcDlqdAjNxeTkpKi+fPnKyUlRbVr15Z0djh+9erVmj9/viZPnuz0MX/44QfNnj1b48aN04QJE7Rt2zY99NBD8vHx0bBhw1x9CsAVe/zxx3XrrbdqwYIFuv/++zVr1ixde+21io6O1siRI9WwYUOlp6dry5Yt+vHHH/V///d/kqTmzZsrNjZW7dq1U82aNbV9+3YtXbpUY8aMueB3tW7dWoMHD9Zbb70lu92uLl26aP369Tpw4MB5bW+//XY9+eSTuuWWW/TQQw8pJydHs2fPVtOmTbVz505Hu169esnHx0f9+vXTX//6V2VlZWnevHkKDQ0tNqC503333ae5c+dq+PDh2rFjh6KiorR06VJt3rxZM2fOVGBgoKSzE6CbN2+uhIQENW3aVDVr1lSLFi3UokWLUq0XKNc8fbtWWSHJLF++3PF55cqVRpIJCAgoslSqVMncdtttxhhjvv32WyPposuTTz7pOGblypVNTExMke998MEHTefOnUvlHIHinLsVfNu2bedtKygoMI0aNTKNGjUyZ86cMcYYc/DgQTN06FATHh5uKleubOrUqWNuuukms3TpUsd+L730kunYsaOpXr268ff3N1dffbV5+eWXzenTpx1tirttOzc31zz00EOmVq1aJiAgwPTr188cOXKk2Fuj16xZY1q0aGF8fHzMVVddZRYuXFjsMVesWGFatmxp/Pz8TFRUlJk6dap57733jCSTnJzsaOfMreCXus39QsdLT083d999twkODjY+Pj4mOjrazJ8//7x9ExMTTbt27YyPjw+3hQMlYDPmd+O1FZjNZtPy5cs1YMAASVJCQoLuvPNO7d271zG0fU7VqlUVHh6u06dP64cffrjocWvVquV44mj9+vV1ww036J133nFsnz17tl566SVeUAgAgItwWeoC2rRpo4KCAh07dszxGPo/8vHx0dVXX33Zx+zatet5kyO/++47x0RCAABw5Sp0uMnKyipyPT85OVlJSUmqWbOmmjZtqjvvvFNDhw7VtGnT1KZNGx0/flzr169Xy5YtS/RI+EceeURdunTR5MmTddttt2nr1q16++239fbbb7vytAAAqNAq9GWpTZs2qUePHuetHzZsmBYsWKD8/Hy99NJL+uCDD3T06FEFBwerc+fOev755xUdHV2i71y5cqXGjx+v77//Xg0aNNC4ceM0cuTIKz0VAADwPxU63AAAAOvhOTcAAMBSCDcAAMBSKtyE4sLCQv30008KDAzkMecAAJQTxhj9+uuvql279nkvoP2jChdufvrpJ0VGRnq6DAAAUAJHjhxR3bp1L9qmwoWbc484P3LkiKpVq+bhagAAwOXIzMxUZGSk4+/4xVS4cHPuUlS1atUINwAAlDOXM6WECcUAAMBSCDcAAMBSCDcAAMBSKtycm8tVUFCg/Px8T5dhGZUrVz7v7eoAALgD4eYPjDFKS0vTyZMnPV2K5VSvXl3h4eE8XwgA4FaEmz84F2xCQ0NVpUoV/hC7gDFGOTk5OnbsmCQpIiLCwxUBAKyMcPM7BQUFjmBTq1YtT5djKf7+/pKkY8eOKTQ0lEtUAAC3YULx75ybY1OlShUPV2JN5/qVuUwAAHci3BSDS1HuQb8CAEqDR8NNfHy8OnTooMDAQIWGhmrAgAHav3//RfdZsGCBbDZbkcXPz6+UKgYAAGWdR8PN559/rtGjR+urr77S2rVrlZ+fr169eik7O/ui+1WrVk2pqamO5fDhw6VUMQAAKOs8Gm5Wr16t4cOH65prrlGrVq20YMECpaSkaMeOHRfdz2azKTw83LGEhYWVUsVlW1pamh588EE1bNhQvr6+ioyMVL9+/bR+/XpJ0l//+lc1atRI/v7+CgkJUf/+/bVv3z7H/ocOHZLNZlNSUtJ5x46NjdXYsWMdn7OysjRmzBjVrVtX/v7+at68uebMmePuUwQAXECqPVeJBzOUas/1dCkeV6bulrLb7ZKkmjVrXrRdVlaW6tevr8LCQrVt21aTJ0/WNddcUxolllmHDh1S165dVb16db366quKjo5Wfn6+PvvsM40ePVr79u1Tu3btdOedd6pevXr65ZdfNGnSJPXq1UvJyclO3700btw4bdiwQQsXLlRUVJTWrFmjUaNGqXbt2rr55pvddJYAgOIkbEvR+GW7VWgkL5sUPzBagzrU83RZHlNmwk1hYaHGjh2rrl27qkWLFhdsd9VVV+m9995Ty5YtZbfb9dprr6lLly7au3ev6tate177vLw85eXlOT5nZma6pX5PGzVqlGw2m7Zu3aqAgADH+muuuUb33HOPJOm+++5zrI+KitJLL72kVq1a6dChQ2rUqJFT35eYmKhhw4YpNjbWcey5c+dq69athBsAKEWp9lxHsJGkQiNNWLZH3ZqGKCLI37PFeUiZuVtq9OjR2rNnjxYvXnzRdjExMRo6dKhat26t7t27a9myZQoJCdHcuXOLbR8fH6+goCDHEhkZ6Y7yi1VaQ4S//PKLVq9erdGjRxcJNudUr179vHXZ2dmaP3++GjRoUKI+6dKli1asWKGjR4/KGKONGzfqu+++U69evUpyCgCAEkrOyHYEm3MKjNGhjBzPFFQGlIlwM2bMGK1cuVIbN24sdvTlYipXrqw2bdrowIEDxW4fP3687Ha7Yzly5IgrSr6khG0p6jplg+6Y9191nbJBCdtS3PZdBw4ckDFGV1999SXbvvXWW6pataqqVq2qf//731q7dq18fHyKtOnSpYujzbnlP//5T5E2b7zxhpo3b666devKx8dHN954o2bNmqVu3bq59NwAABfXIDhAXn940oa3zaao4Ir7zDaPhhtjjMaMGaPly5drw4YNatCggdPHKCgo0O7duy/4SH9fX19Vq1atyOJuFxoidNcIjjHm0o3+584779SuXbv0+eefq2nTprrtttt06tSpIm0SEhKUlJRUZGnfvn2RNm+88Ya++uorrVixQjt27NC0adM0evRorVu3ziXnBAC4PBFB/oofGC3v/z1LzNtm0+SBLSrsJSnJw3NuRo8erUWLFumf//ynAgMDlZaWJkkKCgpyPK5/6NChqlOnjuLj4yVJL7zwgjp37qzG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bbNp8sAWlptz48zf7zIxoRgAAJTcoA711K1piA5l5CgquIoigvw9XZJHEW4AALCAiCD/Ch9qzikzz7kBAABwBcINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINUA6l2nOVeDBDqfZcT5cCAGVOJU8XAMA5CdtSNH7ZbhUaycsmxQ+M1qAO9TxdFgCUGYzcAOVIqj3XEWwkqdBIE5btYQQHAH6HcAOUI8kZ2Y5gc06BMTqUkeOZggCgDCLcAOVIg+AAedmKrvO22RQVXMUzBQFAGUS4AcqRiCB/xQ+MlrftbMLxttk0eWALRQT5e7gyACg7mFAMlDODOtRTt6YhOpSRo6jgKgQbAPgDwg1QDkUE+RNqAOACuCwFAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADeBAvwAQA1+NWcMBDeAEmALgHIzeAB/ACTABwH8IN4AG8ABMA3IdwA3gAL8AEAPch3AAewAswAcB9mFAMeAgvwAQA9yDcAB7ECzABwPW4LAUAACyFcAMAACyFcAMAACyFcAMAACyFcAMAAM5Tnt99x91SAACgiPL+7juPjtx88cUX6tevn2rXri2bzaZPPvnkou03bdokm8123pKWllY6BQMAYHFWePedR8NNdna2WrVqpVmzZjm13/79+5WamupYQkND3VQhAAAVixXefefRy1K9e/dW7969nd4vNDRU1atXd31BAABUcOfefff7gFPe3n1XLicUt27dWhEREbrhhhu0efPmi7bNy8tTZmZmkQUAABTPCu++K1cTiiMiIjRnzhy1b99eeXl5eueddxQbG6v//ve/atu2bbH7xMfH6/nnny/lSgEAKL/K+7vvbMYYc+lm7mez2bR8+XINGDDAqf26d++uevXq6cMPPyx2e15envLy8hyfMzMzFRkZKbvdrmrVql1JyQAAoJRkZmYqKCjosv5+l6uRm+J07NhRX3755QW3+/r6ytfXtxQrAgAAnlQu59z8XlJSkiIiIjxdBoAKoDw/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ACyFcAMAACyFcAMAACyFcAMAACyFcAMAACzFo+Hmiy++UL9+/VS7dm3ZbDZ98sknl9xn06ZNatu2rXx9fdW4cWMtWLDA7XUCAIDyw6PhJjs7W61atdKsWbMuq31ycrL69u2rHj16KCkpSWPHjtWIESP02WefublSAABQXnj0IX69e/dW7969L7v9nDlz1KBBA02bNk2S1KxZM3355ZeaMWOG4uLi3FUmAAAoR8rVnJstW7aoZ8+eRdbFxcVpy5YtF9wnLy9PmZmZRRYAAGBd5SrcpKWlKSwsrMi6sLAwZWZmKjc3t9h94uPjFRQU5FgiIyNLo1QAAOAh5SrclMT48eNlt9sdy5EjRzxdEgAAcKNy9eLM8PBwpaenF1mXnp6uatWqyd+/+Bfx+fr6ytfXtzTKAwAAZUC5GrmJiYnR+vXri6xbu3atYmJiPFQRAJR/qfZcJR7MUKq9+Mv7QHnj0ZGbrKwsHThwwPE5OTlZSUlJqlmzpurVq6fx48fr6NGj+uCDDyRJ999/v95880098cQTuueee7Rhwwb9/e9/16effuqpUwCAci1hW4rGL9utQiN52aT4gdEa1KGep8sCrohHR262b9+uNm3aqE2bNpKkcePGqU2bNnruueckSampqUpJSXG0b9CggT799FOtXbtWrVq10rRp0/TOO+9wGzgAlECqPdcRbCSp0EgTlu1hBAflnkdHbmJjY2WMueD24p4+HBsbq127drmxKgCoGJIzsh3B5pwCY3QoI0cRQcXPYwTKg3I15wYA4DoNggPkZSu6zttmU1RwFc8UBLgI4QYAKqiIIH/FD4yWt+1swvG22TR5YAtGbVDulatbwQEArjWoQz11axqiQxk5igquQrCBJRBuAKCCiwjyJ9TAUrgsBQAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwA5RRqfZcJR7MUKo919OlAEC5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dVa4cAPXmTJlihYvXqxNmzZZZuKkMwIDA5WUlKSsrCytX79e48aNU8OGDRUbG+vp0krFr7/+qiFDhmjevHkKDg72dDkeFxMTo5iYGMfnLl26qFmzZpo7d65efPFFD1ZWugoLCxUaGqq3335b3t7eateunY4ePapXX3213IabK/Xuu+8qOjpaHTt29HQpHrFp0yZNnjxZb731ljp16qQDBw7o4Ycf1osvvqhnn33WLd9Z4cJNcHCwvL29lZ6eXmR9enq6wsPDPVSVZ1xJX7z22muaMmWK1q1bp5YtW7qzTLcraT94eXmpcePGkqTWrVvr22+/VXx8fLkNN872w8GDB3Xo0CH169fPsa6wsFCSVKlSJe3fv1+NGjVyb9Fu4orfE5UrV1abNm104MABd5RYKkrSDxEREapcubK8vb0d65o1a6a0tDSdPn1aPj4+bq3ZHa7k5yE7O1uLFy/WCy+84M4SS01J+uLZZ5/VkCFDNGLECElSdHS0srOzdd999+npp5+Wl5frZ8hUuDk3Pj4+ateundavX+9YV1hYqPXr1xf5v66KoKR98corr+jFF1/U6tWr1b59+9Io1a1c9TNRWFiovLw8d5RYKpzth6uvvlq7d+9WUlKSY7n55pvVo0cPJSUlKTIysjTLdylX/EwUFBRo9+7dioiIcFeZbleSfujatasOHDjgCLqS9N133ykiIqJcBhvpyn4elixZory8PN11113uLrNUlKQvcnJyzgsw58KvcdfrLd02VbkMW7x4sfH19TULFiww33zzjbnvvvtM9erVHbdtDhkyxDz11FOO9nl5eWbXrl1m165dJiIiwjz22GNm165d5vvvv/fUKbiMs30xZcoU4+PjY5YuXVrkNsdff/3VU6fgEs72w+TJk82aNWvMwYMHzTfffGNee+01U6lSJTNv3jxPnYJLONsPf2Slu6Wc7Yvnn3/efPbZZ+bgwYNmx44d5vbbbzd+fn5m7969njoFl3C2H1JSUkxgYKAZM2aM2b9/v1m5cqUJDQ01L730kqdOwSVK+t/GtddeawYNGlTa5bqVs30xceJEExgYaD7++GPzww8/mDVr1phGjRqZ2267zW01VshwY4wxb7zxhqlXr57x8fExHTt2NF999ZVjW/fu3c2wYcMcn5OTk42k85bu3buXfuFu4Exf1K9fv9i+mDhxYukX7mLO9MPTTz9tGjdubPz8/EyNGjVMTEyMWbx4sQeqdj1n+uGPrBRujHGuL8aOHetoGxYWZvr06WN27tzpgapdz9mficTERNOpUyfj6+trGjZsaF5++WVz5syZUq7a9Zzth3379hlJZs2aNaVcqfs50xf5+flm0qRJplGjRsbPz89ERkaaUaNGmRMnTritPpsx7hoTAgAAKH0Vbs4NAACwNsINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINALjR8OHDNWDAAE+XAVQohBuggho+fLhsNptjqVWrlm688UZ9/fXXni7NJX5/bueWa6+91m3fd+jQIdlsNiUlJRVZ/7e//U0LFixw2/cCOB/hBqjAbrzxRqWmpio1NVXr169XpUqVdNNNN3m6LJeZP3++4/xSU1O1YsWKYtvl5+e7rYagoCBVr17dbccHcD7CDVCB+fr6Kjw8XOHh4WrdurWeeuopHTlyRMePH9d1112nMWPGFGl//Phx+fj4ON4IHBUVpRdffFGDBw9WQECA6tSpo1mzZhXZZ/r06YqOjlZAQIAiIyM1atQoZWVlObYfPnxY/fr1U40aNRQQEKBrrrlGq1atkiSdOHFCd955p0JCQuTv768mTZpo/vz5l31+1atXd5xfeHi4atas6RhhSUhIUPfu3eXn56ePPvpIP//8swYPHqw6deqoSpUqio6O1scff1zkeIWFhXrllVfUuHFj+fr6ql69enr55ZclSQ0aNJAktWnTRjabTbGxsZLOvyyVl5enhx56SKGhofLz89O1116rbdu2ObZv2rRJNptN69evV/v27VWlShV16dJF+/fvv+zzBio6wg0ASVJWVpYWLlyoxo0bq1atWhoxYoQWLVqkvLw8R5uFCxeqTp06uu666xzrXn31VbVq1Uq7du3SU089pYcfflhr1651bPfy8tLrr7+uvXv36v3339eGDRv0xBNPOLaPHj1aeXl5+uKLL7R7925NnTpVVatWlSQ9++yz+uabb/Tvf/9b3377rWbPnq3g4GCXnO+5Wr/99lvFxcXp1KlTateunT799FPt2bNH9913n4YMGaKtW7c69hk/frymTJniqGvRokUKCwuTJEe7devWKTU1VcuWLSv2e5944gn94x//0Pvvv6+dO3eqcePGiouL0y+//FKk3dNPP61p06Zp+/btqlSpku655x6X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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_43.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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7ysqKvToo4/qrbfe0vHjx9W7d28tWLCg1k8dXbBggaKiorRs2TJHW5cuXWq1LcCdvL29lZaWplGjRumFF17QjBkz1LVrV0nnLqVczC/29u3ba8qUKZoyZYpOnjypK664Qo8//niN4aZz586y2+06ePCg09ma/fv3V+nbrl07HT9+vEr7D89+/O1vf1NFRYXWrl2rTp06Odo/+uijH62/vnXu3FmfffaZ7Ha709mbffv2Ob6Xag5uAC5es74s9WPuuecebdmyRStWrNBnn32mX/7yl7r22mtdmkfwfWvXrtWAAQP0y1/+UqGhoerfv7+WLl1az1UD9WPkyJEaNGiQ0tPTderUKYWGhmrkyJH64x//qPz8/Cr9jx075vjvr7/+2um7Vq1aqXv37qqoqKhxf+f/ofH73//eqT09Pb1K327duqm4uNjpUld+fn6VpwR7e3tLkowxjrbi4mKnf2A0lOuuu04FBQVauXKlo+3s2bP6wx/+oFatWmnEiBGSpJYtW0pSteENwMVp1mduLiQvL0/Lli1TXl6eOnbsKOnc6fj169dr2bJlmjdvnsvbPHTokBYvXqyUlBTNnDlT27Zt03333SdfX19NmjSpvg8BqLPf/va3+uUvf6nXXntNd955pzIyMjRs2DDFxMTo9ttvV9euXVVYWKgtW7bof//7n/7zn/9Iki677DKNHDlSsbGxat++vbZv367Vq1frnnvuqXFf/fr107hx4/Tiiy+quLhYQ4YMUWZmpg4cOFCl7y233KJHHnlEP//5z3XfffeprKxMixcvVs+ePbVjxw5Hv2uuuUa+vr5KSkrSb37zG508eVJLly5VaGhotQHNne644w798Y9/1OTJk5WVlaXo6GitXr1an376qdLT09W6dWtJ5yZAX3bZZVq5cqV69uyp9u3bq3fv3urdu3eD1gs0aZ6+XauxkGTefvttx+d3333XSDKBgYFOi4+Pj7n55puNMcbs3bvXSLrg8sgjjzi22aJFCxMfH++033vvvdcMHjy4QY4RqM75W8G3bdtW5bvKykrTrVs3061bN3P27FljjDEHDx40EydONOHh4aZFixYmMjLS/OxnPzOrV692rPfUU0+ZQYMGmbZt25qAgABz6aWXmqefftqcPn3a0ae627bLy8vNfffdZzp06GACAwNNUlKSOXz4cLW3Rn/wwQemd+/extfX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dSoG3+E9NgAA1I5L4aZfv36y2WzV3nZ9vt1ms1WzJmojIiiAUAMAgItcCjft27fXM888o6uuuqra7/fs2aOkpKR6KQwAAKA2XAo3sbGxOnLkiDp37lzt98ePH7fkw/QAAEDT4VK4ufPOO1VaWlrj9506ddKyZcvqXBQAAEBt8ZwbAADQ6HnsOTcAAACe5tJlqZSUlIvqt3DhwloVAwAAUFcuhZudO3c6ff7kk08UGxurgIDvblfmVnAAAOBJLoWbjz76yOlz69attXz5cnXt2rVeiwIAAKgt5twAAABLIdwAAABLIdwAAABLqdOLM40x2rdvn06ePOnU3qdPn7pXBgAAUAsuPcTPy8vrol6cWVlZWa9F1ice4gcAQNPjyu9vl87c5OTk1KkwAAAAd3Mp3NT0wkwAAIDGol4mFF955ZX68ssv62NTADwgv7hcmw8WKb+43NOlAECduXTmZu3atdW2f/zxx3r33XcVFRUlSbrhhhvqXhmABrFyW55S1+yS3UheNiltbIySB3bydFkAUGv1NqHYsUEmFANNRn5xuYbO3yj79/5Ie9ts+mTGKEUEBdS8IgA0MLe9FTwxMVGjR49WQUGB7Ha7Y/H29tbu3btlt9sbdbAB4CynqNQp2EhSpTHKLSrzTEEAUA9cCjd///vfddVVV2nAgAF699133VUTgAbSJThQXj941623zabo4JaeKQgA6oHLE4qnT5+utWvX6pFHHtFvfvMblZXxLzygqYoIClDa2Bh5284lHG+bTfPG9uaSFIAmzaUJxef169dP27dv1/Tp09WvX78LzsEB0LglD+ykK3qGKLeoTNHBLQk2AJq8WoUbSQoICNCSJUu0du1affTRRwoODq7PugA0oIigAEINAMtw6bLUxo0bddlll6mkpMTRdsMNN2jRokXy8/PT5Zdfrn/+85/1XiQAAMDFcincpKen6/bbb6/2FqygoCD95je/0cKFC+utOAAAAFe5FG7+85//6Nprr63x+2uuuUZZWVl1LgoAAKC2XAo3hYWFatGiRY3f+/j46NixY3UuCoB18aoHAO7m0oTiyMhI7d69W927d6/2+88++0wRERH1UhgA6+FVDwAagktnbq677jrNmjVLp06dqvJdeXm55syZo5/97Gf1VhwA68gvLncEG0myG2nmmt2cwQFQ71w6c/PYY49pzZo16tmzp+655x5dcsklkqR9+/YpIyNDlZWVevTRR91SKICm7UKveuA2dAD1yaVwExYWps2bN+uuu+5Samqq4+F9NptNiYmJysjIUFhYmFsKBdC0nX/Vww9f0smrHgDUN5cf4te5c2etW7dO3377rQ4cOCBjjHr06KF27dq5oz4AFnH+VQ8z1+xWpTG86gGA29hMM3t3giuvTAdQ//KLy3nVAwCXufL72+UXZ9a3jIwMRUdHy9/fX3Fxcdq6desF+x8/flzTpk1TRESE/Pz81LNnT61bt66BqgVQVxFBAYrv1oFgA8Btav1uqfqwcuVKpaSkaMmSJYqLi1N6eroSExO1f/9+hYaGVul/+vRpXX311QoNDdXq1asVGRmpL7/8Um3btm344gEAQKPk0ctScXFxGjhwoF544QVJkt1uV1RUlO69917NmDGjSv8lS5bo2Wef1b59+y74MMEL4bIUAABNT5O4LHX69GllZWUpISHhu2K8vJSQkKAtW7ZUu87atWsVHx+vadOmKSwsTL1799a8efNUWVlZ434qKipUUlLitAAAAOvyWLgpKipSZWVllVvHw8LCVFBQUO06hw4d0urVq1VZWal169Zp1qxZev755/XUU0/VuJ+0tDQFBQU5lqioqHo9DgAA0Lh4fEKxK+x2u0JDQ/XSSy8pNjZWycnJevTRR7VkyZIa10lNTVVxcbFjOXz4cANWDAAAGprHJhQHBwfL29tbhYWFTu2FhYUKDw+vdp2IiAi1aNFC3t7ejrZevXqpoKBAp0+flq+vb5V1/Pz85OfnV7/FAwCARstjZ258fX0VGxurzMxMR5vdbldmZqbi4+OrXWfo0KE6cOCA7Ha7o+3zzz9XREREtcEGAAA0Px69LJWSkqKlS5fq9ddf1969e3XXXXeptLRUU6ZMkSRNnDhRqampjv533XWXvvnmG91///36/PPP9d5772nevHmaNm2apw4BAAA0Mh59zk1ycrKOHTum2bNnq6CgQP369dP69esdk4zz8vLk5fVd/oqKitL777+v6dOnq0+fPoqMjNT999+vRx55xFOHAAAAGhlevwAAABq9JvGcGwAAAHcg3AAAAEsh3AAAAEsh3AAAAEsh3AAAAEsh3AAAAEsh3ABAM5dfXK7NB4uUX1zu6VKAeuHRh/gBADxr5bY8pa7ZJbuRvGxS2tgYJQ/s5OmygDrhzA0ANFP5xeWOYCNJdiPNXLObMzho8gg3ANBM5RSVOoLNeZXGKLeozDMFAfWEcAMAzVSX4EB52ZzbvG02RQe39ExBQD0h3ABAMxURFKC0sTHytp1LON42m+aN7a2IoAAPVwbUDROKAaAZSx7YSVf0DFFuUZmig1sSbGAJhBsAaOYiggIINbAULksBAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLIdwAAABLaRThJiMjQ9HR0fL391dcXJy2bt16UeutWLFCNptNY8aMcW+BAACgyfB4uFm5cqVSUlI0Z84c7dixQ3379lViYqKOHj16wfVyc3P10EMPafjw4Q1UKQAAaAo8Hm4WLlyo22+/XVOmTNFll12mJUuWqGXLlnr11VdrXKeyslK33nqr5s6dq65duzZgtQAAoLHzaLg5ffq0srKylJCQ4Gjz8vJSQkKCtmzZUuN6TzzxhEJDQ3Xbbbf96D4qKipUUlLitAAAAOvyaLgpKipSZWWlwsLCnNrDwsJUUFBQ7TqffPKJXnnlFS1duvSi9pGWlqagoCDHEhUVVee6AQBA4+Xxy1KuOHHihCZMmKClS5cqODj4otZJTU1VcXGxYzl8+LCbqwQAAJ7k48mdBwcHy9vbW4WFhU7thYWFCg8Pr9L/4MGDys3NVVJSkqPNbrdLknx8fLR//35169bNaR0/Pz/5+fm5oXoAANAYefTMja+vr2JjY5WZmelos9vtyszMVHx8fJX+l156qXbt2qXs7GzHcsMNN2jUqFHKzs7mkhMAAPDsmRtJSklJ0aRJkzRgwAANGjRI6enpKi0t1ZQpUyRJEydOVGRkpNLS0uTv76/evXs7rd+2bVtJqtIOAACaJ4+Hm+TkZB07dkyzZ89WQUGB+vXrp/Xr1zsmGefl5cnLq0lNDQIAAB5kM8YYTxfRkEpKShQUFKTi4mK1adPG0+UANcovLldOUam6BAcqIijA0+UAgEe58vvb42duAFS1clueUtfskt1IXjYpbWyMkgd28nRZANAkcL0HaGTyi8sdwUaS7EaauWa38ovLPVsYADQRhBugkckpKnUEm/MqjVFuUZlnCgKAJoZwg1rLLy7X5oNFnFGoZ12CA+Vlc27zttkUHdzSMwUBQBNDuEGtrNyWp6HzN2r80n9r6PyNWrktz9MlWUZEUIDSxsbI23Yu4XjbbJo3tjeTigHgInG3FFyWX1yuofM3Ol068bbZ9MmMUfwCrkf5xeXKLSpTdHBLxhVAs8fdUnCrC80J4Zdw/YkICmA8AaAWuCwFlzEnBADQmBFu4DLmhAAAGjMuS6FWkgd20hU9Q5gTAgBodAg3qDXmhAAAGiMuSwEAAEsh3AAAAEsh3AAAAEsh3AAAAEsh3KDWeLcUAKAx4m4p1MrKbXlKXbNLdiN52aS0sTFKHtjJ02UBAMCZG7guv7jcEWwkyW6kmWt2cwYHANAoEG7gsgu9WwoAAE8j3MBlvFsKANCYEW7gMt4tBQBozJhQjFrh3VIAgMaKcINa491SAIDGiMtSAADAUgg3AADAUgg3AADAUgg3AADAUgg3AADAUgg3AADAUgg3AADAUgg3AADAUgg3AADAUgg3AADAUgg3AADAUgg3AADAUgg3AADAUgg3AADAUhpFuMnIyFB0dLT8/f0VFxenrVu31th36dKlGj58uNq1a6d27dopISHhgv0BAEDz4vFws3LlSqWkpGjOnDnasWOH+vbtq8TERB09erTa/ps2bdK4ceP00UcfacuWLYqKitI111yjr776qoErBwAAjZHNGGM8WUBcXJwGDhyoF154QZJkt9sVFRWle++9VzNmzPjR9SsrK9WuXTu98MILmjhx4o/2LykpUVBQkIqLi9WmTZs61w8AANzPld/fHj1zc/r0aWVlZSkhIcHR5uXlpYSEBG3ZsuWitlFWVqYzZ86offv21X5fUVGhkpISpwUAAFiXR8NNUVGRKisrFRYW5tQeFhamgoKCi9rGI488oo4dOzoFpO9LS0tTUFCQY4mKiqpz3bC2/OJybT5YpPzick+XAgCoBR9PF1AX8+fP14oVK7Rp0yb5+/tX2yc1NVUpKSmOzyUlJQQc1Gjltjylrtklu5G8bFLa2BglD+zk6bIAAC7waLgJDg6Wt7e3CgsLndoLCwsVHh5+wXWfe+45zZ8/Xx9++KH69OlTYz8/Pz/5+fnVS72wtvzickewkSS7kWau2a0reoYoIijAs8UBAC6aRy9L+fr6KjY2VpmZmY42u92uzMxMxcfH17jeM888oyeffFLr16/XgAEDGqJUNAM5RaWOYHNepTHKLSrzTEFAI8blWzRmHr8slZKSokmTJmnAgAEaNGiQ0tPTVVpaqilTpkiSJk6cqMjISKWlpUmSFixYoNmzZ2v58uWKjo52zM1p1aqVWrVq5bHjQNPXJThQXjY5BRxvm03RwS09VxTQCHH5Fo2dx59zk5ycrOeee06zZ89Wv379lJ2drfXr1zsmGefl5Sk/P9/Rf/HixTp9+rR+8YtfKCIiwrE899xznjoEWEREUIDSxsbI22aTdC7YzBvbm0tSwPfUdPmWMzhoTDz+nJuGxnNu8GPyi8uVW1Sm6OCWBBvgBzYfLNL4pf+u0v7W7YMV362DBypCc+HK72+PX5YCGpuIoABCDVADLt+iKfD4ZSkAQNPB5Vs0BZy5AQC4JHlgJ13RM4TLt2i0CDcAAJdx+RaNGZelAKAZ4Lk0aE44cwMAFsdzadDccOYGACyM59KgOSLcAICF8VoRNEeEGwCwsPPPpfk+nksDqyPcAICF8VwaNEdMKAYAi+O5NGhuCDcA0AzwXBo0J1yWAgAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AQB4XH5xuTYfLFJ+cbmnS4EF+Hi6AABA87ZyW55S1+yS3UheNiltbIySB3bydFlowjhzAwDwmPzickewkSS7kWau2c0ZHNQJ4QYA4DE5RaWOYHNepTHKLSrzTEGwBMINAMBjugQHysvm3OZtsyk6uKVnCoIlEG4AAB4TERSgtLEx8radSzjeNpvmje2tiKAAD1eGpowJxYCF5BeXK6eoVF2CA/nlgCYjeWAnXdEzRLlFZYoObsnPLuqMcANYBHecoCmLCAog1KDecFkKsADuOAGA7xBuAAvgjhMA+E6jCDcZGRmKjo6Wv7+/4uLitHXr1gv2X7VqlS699FL5+/srJiZG69ata6BKgcaJO04A4DseDzcrV65USkqK5syZox07dqhv375KTEzU0aNHq+2/efNmjRs3Trfddpt27typMWPGaMyYMdq9e3cDVw40HtxxAgDfsRljzI93c5+4uDgNHDhQL7zwgiTJbrcrKipK9957r2bMmFGlf3JyskpLS/Xuu+862gYPHqx+/fppyZIlP7q/kpISBQUFqbi4WG3atKm/AwEagfzicu44AWBJrvz+9uiZm9OnTysrK0sJCQmONi8vLyUkJGjLli3VrrNlyxan/pKUmJhYY3+gOYkIClB8tw4EGwDNmkdvBS8qKlJlZaXCwsKc2sPCwrRv375q1ykoKKi2f0FBQbX9KyoqVFFR4fhcUlJSx6oBAEBj5vE5N+6WlpamoKAgxxIVFeXpkgAAgBt5NNwEBwfL29tbhYWFTu2FhYUKDw+vdp3w8HCX+qempqq4uNixHD58uH6KBwAAjZJHw42vr69iY2OVmZnpaLPb7crMzFR8fHy168THxzv1l6QNGzbU2N/Pz09t2rRxWgAAgHV5/PULKSkpmjRpkgYMGKBBgwYpPT1dpaWlmjJliiRp4sSJioyMVFpamiTp/vvv14gRI/T888/r+uuv14oVK7R9+3a99NJLnjwMAADQSHg83CQnJ+vYsWOaPXu2CgoK1K9fP61fv94xaTgvL09eXt+dYBoyZIiWL1+uxx57TDNnzlSPHj30zjvvqHfv3p46BAAA0Ih4/Dk3DY3n3AAA0PQ0mefcAAAA1DfCDQAAsBTCDQAAsBTCDQAAsBSP3y3V0M7Pn+Y1DAAANB3nf29fzH1QzS7cnDhxQpJ4DQMAAE3QiRMnFBQUdME+ze5WcLvdriNHjqh169ay2WzV9ikpKVFUVJQOHz7c7G8XZyzOYRzOYRy+w1icwzicwzh8x11jYYzRiRMn1LFjR6fn31Wn2Z258fLy0k9+8pOL6svrGr7DWJzDOJzDOHyHsTiHcTiHcfiOO8bix87YnMeEYgAAYCmEGwAAYCmEm2r4+flpzpw58vPz83QpHsdYnMM4nMM4fIexOIdxOIdx+E5jGItmN6EYAABYG2duAACApRBuAACApRBuAACApRBuAACApTTbcJORkaHo6Gj5+/srLi5OW7durbHvnj17dNNNNyk6Olo2m03p6ekNV2gDcGUsli5dquHDh6tdu3Zq166dEhISLti/KXFlHNasWaMBAwaobdu2CgwMVL9+/fTnP/+5Aat1H1fG4ftWrFghm82mMWPGuLfABuTKWLz22muy2WxOi7+/fwNW6z6u/kwcP35c06ZNU0REhPz8/NSzZ0+tW7eugap1H1fGYeTIkVV+Hmw2m66//voGrNh9XP2ZSE9P1yWXXKKAgABFRUVp+vTpOnXqlPsKNM3QihUrjK+vr3n11VfNnj17zO23327atm1rCgsLq+2/detW89BDD5m33nrLhIeHm0WLFjVswW7k6liMHz/eZGRkmJ07d5q9e/eayZMnm6CgIPO///2vgSuvX66Ow0cffWTWrFlj/vvf/5oDBw6Y9PR04+3tbdavX9/AldcvV8fhvJycHBMZGWmGDx9ubrzxxoYp1s1cHYtly5aZNm3amPz8fMdSUFDQwFXXP1fHoaKiwgwYMMBcd9115pNPPjE5OTlm06ZNJjs7u4Err1+ujsPXX3/t9LOwe/du4+3tbZYtW9awhbuBq2Px5ptvGj8/P/Pmm2+anJwc8/7775uIiAgzffp0t9XYLMPNoEGDzLRp0xyfKysrTceOHU1aWtqPrtu5c2dLhZu6jIUxxpw9e9a0bt3avP766+4qsUHUdRyMMaZ///7msccec0d5DaY243D27FkzZMgQ8/LLL5tJkyZZJty4OhbLli0zQUFBDVRdw3F1HBYvXmy6du1qTp8+3VAlNoi6/h2xaNEi07p1a3Py5El3ldhgXB2LadOmmSuvvNKpLSUlxQwdOtRtNTa7y1KnT59WVlaWEhISHG1eXl5KSEjQli1bPFhZw6uPsSgrK9OZM2fUvn17d5XpdnUdB2OMMjMztX//fl1xxRXuLNWtajsOTzzxhEJDQ3Xbbbc1RJkNorZjcfLkSXXu3FlRUVG68cYbtWfPnoYo121qMw5r165VfHy8pk2bprCwMPXu3Vvz5s1TZWVlQ5Vd7+rj78pXXnlFt9xyiwIDA91VZoOozVgMGTJEWVlZjktXhw4d0rp163Tddde5rc5m9+LMoqIiVVZWKiwszKk9LCxM+/bt81BVnlEfY/HII4+oY8eOTj/oTU1tx6G4uFiRkZGqqKiQt7e3XnzxRV199dXuLtdtajMOn3zyiV555RVlZ2c3QIUNpzZjcckll+jVV19Vnz59VFxcrOeee05DhgzRnj17LvplvY1Nbcbh0KFD2rhxo2699VatW7dOBw4c0N13360zZ85ozpw5DVF2vavr35Vbt27V7t279corr7irxAZTm7EYP368ioqKNGzYMBljdPbsWd15552aOXOm2+psduEG9Wf+/PlasWKFNm3aZJmJk65o3bq1srOzdfLkSWVmZiolJUVdu3bVyJEjPV1agzhx4oQmTJigpUuXKjg42NPleFx8fLzi4+Mdn4cMGaJevXrpj3/8o5588kkPVtaw7Ha7QkND9dJLL8nb21uxsbH66quv9OyzzzbZcFNXr7zyimJiYjRo0CBPl+IRmzZt0rx58/Tiiy8qLi5OBw4c0P33368nn3xSs2bNcss+m124CQ4Olre3twoLC53aCwsLFR4e7qGqPKMuY/Hcc89p/vz5+vDDD9WnTx93lul2tR0HLy8vde/eXZLUr18/7d27V2lpaU023Lg6DgcPHlRubq6SkpIcbXa7XZLk4+Oj/fv3q1u3bu4t2k3q4++JFi1aqH///jpw4IA7SmwQtRmHiIgItWjRQt7e3o62Xr16qaCgQKdPn5avr69ba3aHuvw8lJaWasWKFXriiSfcWWKDqc1YzJo1SxMmTNDUqVMlSTExMSotLdUdd9yhRx99VF5e9T9DptnNufH19VVsbKwyMzMdbXa7XZmZmU7/6moOajsWzzzzjJ588kmtX79eAwYMaIhS3aq+fibsdrsqKircUWKDcHUcLr30Uu3atUvZ2dmO5YYbbtCoUaOUnZ2tqKiohiy/XtXHz0RlZaV27dqliIgId5XpdrUZh6FDh+rAgQOOoCtJn3/+uSIiIppksJHq9vOwatUqVVRU6Fe/+pW7y2wQtRmLsrKyKgHmfPg17nq9pdumKjdiK1asMH5+fua1114z//3vf80dd9xh2rZt67htc8KECWbGjBmO/hUVFWbnzp1m586dJiIiwjz00ENm586d5osvvvDUIdQbV8di/vz5xtfX16xevdrpNscTJ0546hDqhavjMG/ePPPBBx+YgwcPmv/+97/mueeeMz4+Pmbp0qWeOoR64eo4/JCV7pZydSzmzp1r3n//fXPw4EGTlZVlbrnlFuPv72/27NnjqUOoF66OQ15enmndurW55557zP79+827775rQkNDzVNPPeWpQ6gXtf2zMWzYMJOcnNzQ5bqVq2MxZ84c07p1a/PWW2+ZQ4cOmQ8++MB069bN3HzzzW6rsVmGG2OM+cMf/mA6depkfH19zaBBg8y//vUvx3cjRowwkyZNcnzOyckxkqosI0aMaPjC3cCVsejcuXO1YzFnzpyGL7yeuTIOjz76qOnevbvx9/c37dq1M/Hx8WbFihUeqLr+uTIOP2SlcGOMa2PxwAMPOPqGhYWZ6667zuzYscMDVdc/V38mNm/ebOLi4oyfn5/p2rWrefrpp83Zs2cbuOr65+o47Nu3z0gyH3zwQQNX6n6ujMWZM2fM448/brp162b8/f1NVFSUufvuu823337rtvpsxrjrnBAAAEDDa3ZzbgAAgLURbgAAgKUQbgAAgKUQbgAAgKUQbgAAgKUQbgAAgKUQbgAAgKUQbgDAjSZPnqwxY8Z4ugygWSHcAM3U5MmTZbPZHEuHDh107bXX6rPPPvN0afXi+8d2fhk2bJjb9pebmyubzabs7Gyn9t/97nd67bXX3LZfAFURboBm7Nprr1V+fr7y8/OVmZkpHx8f/exnP/N0WfVm2bJljuPLz8/X2rVrq+135swZt9UQFBSktm3bum37AKoi3ADNmJ+fn8LDwxUeHq5+/fppxowZOnz4sI4dO6Yrr7xS99xzj1P/Y8eOydfX1/FG4OjoaD355JMaN26cAgMDFRkZqYyMDKd1Fi5cqJiYGAUGBioqKkp33323Tp486fj+yy+/VFJSktq1a6fAwEBdfvnlWrdunSTp22+/1a233qqQkBAFBASoR48eWrZs2UUfX9u2bR3HFx4ervbt2zvOsKxcuVIjRoyQv7+/3nzzTX399dcaN26cIiMj1bJlS8XExOitt95y2p7dbtczzzyj7t27y8/PT506ddLTTz8tSerSpYskqX///rLZbBo5cqSkqpelKioqdN999yk0NFT+/v4aNmyYtm3b5vh+06ZNstlsyszM1IABA9SyZUsNGTJE+/fvv+jjBpo7wg0ASdLJkyf1xhtvqHv37urQoYOmTp2q5cuXq6KiwtHnjTfeUGRkpK688kpH27PPPqu+fftq586dmjFjhu6//35t2LDB8b2Xl5d+//vfa8+ePXr99de1ceNGPfzww47vp02bpoqKCn388cfatWuXFixYoFatWkmSZs2apf/+97/6+9//rr1792rx4sUKDg6ul+M9X+vevXuVmJioU6dOKTY2Vu+99552796tO+64QxMmTNDWrVsd66Smpmr+/PmOupYvX66wsDBJcvT78MMPlZ+frzVr1lS734cfflh//etf9frrr2vHjh3q3r27EhMT9c033zj1e/TRR/X8889r+/bt8vHx0a9//et6OW6gWXDbKzkBNGqTJk0y3t7eJjAw0AQGBhpJJiIiwmRlZRljjCkvLzft2rUzK1eudKzTp08f8/jjjzs+d+7c2Vx77bVO201OTjajR4+ucb+rVq0yHTp0cHyOiYlx2ub3JSUlmSlTptTq+CQZf39/x/EFBgaat99+2+Tk5BhJJj09/Ue3cf3115sHH3zQGGNMSUmJ8fPzM0uXLq227/nt7ty506n9+29KP3nypGnRooV58803Hd+fPn3adOzY0TzzzDPGGGM++ugjI8l8+OGHjj7vvfeekWTKy8tdGQKg2eLMDdCMjRo1StnZ2crOztbWrVuVmJio0aNH68svv5S/v78mTJigV199VZK0Y8cO7d69W5MnT3baRnx8fJXPe/fudXz+8MMPddVVVykyMlKtW7fWhAkT9PXXX6usrEySdN999+mpp57S0KFDNWfOHKcJzXfddZdWrFihfv366eGHH9bmzZtdOr5FixY5ji87O1tXX32147sBAwY49a2srNSTTz6pmJgYtW/fXq1atdL777+vvLw8SdLevXtVUVGhq666yqUavu/gwYM6c+aMhg4d6mhr0aKFBg0a5DRmktSnTx/Hf0dEREiSjh49Wut9A80J4QZoxgIDA9W9e3d1795dAwcO1Msvv6zS0lItXbpUkjR16lRt2LBB//vf/7Rs2TJdeeWV6ty580VvPzc3Vz/72c/Up08f/fWvf1VWVpZjTs7p06cd+zh06JAmTJigXbt2acCAAfrDH/4gSY6gNX36dB05ckRXXXWVHnrooYvef3h4uOP4unfvrsDAQKdj/75nn31Wv/vd7/TII4/oo48+UnZ2thITEx11BgQEXPR+60OLFi0c/22z2SSdm/MD4McRbgA42Gw2eXl5qby8XJIUExOjAQMGaOnSpVq+fHm18z7+9a9/Vfncq1cvSVJWVpbsdruef/55DR48WD179tSRI0eqbCMqKkp33nmn1qxZowcffNARriQpJCREkyZN0htvvKH09HS99NJL9XnIDp9++qluvPFG/epXv1Lfvn3VtWtXff75547ve/TooYCAAMdk6h/y9fWVdO4MUE26desmX19fffrpp462M2fOaNu2bbrsssvq6UgA+Hi6AACeU1FRoYKCAknn7kx64YUXdPLkSSUlJTn6TJ06Vffcc48CAwP185//vMo2Pv30Uz3zzDMaM2aMNmzYoFWrVum9996TJHXv3l1nzpzRH/7wByUlJenTTz/VkiVLnNZ/4IEHNHr0aPXs2VPffvutPvroI0c4mj17tmJjY3X55ZeroqJC7777ruO7+tajRw+tXr1amzdvVrt27bRw4UIVFhY6Qoe/v78eeeQRPfzww/L19dXQoUN17Ngx7dmzR7fddptCQ0MVEBCg9evX6yc/+Yn8/f0VFBTktI/AwEDddddd+u1vf6v27durU6dOeuaZZ1RWVqbbbrvNLccFNEecuQGasfXr1ysiIkIRERGKi4vTtm3btGrVKsdtzJI0btw4+fj4aNy4cfL396+yjQcffFDbt29X//799dRTT2nhwoVKTEyUJPXt21cLFy7UggUL1Lt3b7355ptKS0tzWr+yslLTpk1Tr169dO2116pnz5568cUXJZ07G5Kamqo+ffroiiuukLe3t1asWOGWsXjsscf005/+VImJiRo5cqTCw8OrPFl41qxZevDBBzV79mz16tVLycnJjnkwPj4++v3vf68//vGP6tixo2688cZq9zN//nzddNNNmjBhgn7605/qwIEDev/999WuXTu3HBfQHNmMMcbTRQBovHJzc9WtWzdt27ZNP/3pT52+i46O1gMPPKAHHnjAM8UBQDW4LAWgWmfOnNHXX3+txx57TIMHD64SbACgseKyFIBqffrpp4qIiNC2bduqzJPxtHnz5qlVq1bVLqNHj/Z0eQA8jMtSAJqcb775psoTfc8LCAhQZGRkA1cEoDEh3AAAAEvhshQAALAUwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALAUwg0AALCU/w+ZHmPpfx1z0wAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_44.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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ycmxqzl//rzExMRI8+bNxdPTU+Li4uTixYvK9vHjxwuASktERES1erkVi8UiAMRisdzxPrfze1GpBM7YJG1f+e/SbsZm+b2otNbOQURE1JRV5/3b4ffRasrUuo9WcsYpvLrxMKwiyvwNfrRARERUO6rz/u3wjw6p9jX050IRERE1FgxajVRtz9/Is5Qht+ASAr09GNyIiIjuEIMW3RYf90FERFQzvGEp3RJvF0FERFRzDFp0S3zcBxERUc0xaNEt8XEfRERENcegRbfEx30QERHVXK1Mhs/NzYW/vz9cXDi3vjHi7SKIiIhqplauaHXq1AnHjh2rjUNRPWXSuyO8/T0MWURERNVQrUtQo0aNqnK91WrFlClT0KJFCwDAxo0b774zIiIiogauWle0vvrqKxQWFkKv19stANC8eXO734mIiIiaumo963D9+vV46aWX8PrrryMuLk5Z7+rqip9++gldu3ZVpcnGSq1nHRIREZF6qvP+Xa0rWmPGjMG///1vfPzxx3j88cdx4cKFu2qUiIiIqDGr9mT4gIAA7Nq1C927d0fPnj2xbds2aDSa2+9IRERE1MTU6H4MTk5OeO211/DQQw9h3LhxsFqttd0XERERUYN3Vze+6t+/Pw4ePIgTJ06gffv2tdUTERERUaNw13cYbd68OXr27FkbvRARERE1KtUKWr169bqj+VhZWVk1boiIiIiosahW0IqOjlb+LCJISkrCM888Ay8vr9rui4iIiKjBq9Z9tG7UokUL/PTTT2jXrl1t9tRk8D5aREREDY9q99EiIiIiojvHoEVERESkEgYtIiIiIpVUazL80qVL7X6/evUqVq1aBW9vb7v1U6ZMufvOiIiIiBq4ak2GDwwMvP0BNRr88ssvd9VUU8HJ8ERERA1Pdd6/q3VFKzc3964aIyIiImpKqjVHa8eOHejatSuKi4srbbNYLOjWrRv+/e9/11pzRNT05FnKsPdEAfIsZY5uhYjorlXritaSJUvw1FNPVXmZTK/X4+mnn8Y777yDAQMG1FqDRNR0JGecwsyNh2ATwEkDJI0Kxui+bRzdFhFRjVXritZPP/2EoUOH3nT7ww8/jMzMzLtuioianjxLmRKyAMAmwKsbD/PKFhE1aNUKWvn5+XB1db3pdhcXF5w7d+6umyKipie34JISsq6ziuBkQaljGiIiqgXVClqtW7fG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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_45.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAHHCAYAAACfqw0dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABMyklEQVR4nO3de1hVZd7/8c8G5CAKaCinUPCUmqglQqilJROaHch6UnM8jYdm0srMKa3UDhamWY5l2dF6Jk2zaRrHzDK0x2uSUFErDzlqmlaCorFRVET2/fvDn2tmJyos2WzA9+u69sWw1net9V33mPvjWvde22GMMQIAAECF+Hi7AQAAgJqIEAUAAGADIQoAAMAGQhQAAIANhCgAAAAbCFEAAAA2EKIAAABsIEQBAADYQIgCAACwgRAFoFZ74okn5HA4ylXrcDj0xBNPeLSfHj16qEePHtV2fwDKjxAFoEq88847cjgc1svPz08xMTEaOnSofv75Z2+3V+3ExcW5jVfjxo117bXX6u9//3ul7P/YsWN64okn9OWXX1bK/oBLESEKQJV66qmn9Ne//lVz585V79699d5776l79+46ceKER473+OOP6/jx4x7Zt6d17NhRf/3rX/XXv/5V48eP1y+//KK+fftq7ty5F73vY8eO6cknnyREARfBz9sNALi09O7dW4mJiZKkESNGKDw8XM8995yWLFmiu+66q9KP5+fnJz+/mvlXXUxMjH7/+99bvw8ePFgtWrTQiy++qD/+8Y9e7AyAxJUoAF527bXXSpJ27drltvz777/XnXfeqYYNGyowMFCJiYlasmSJW01JSYmefPJJtWzZUoGBgbrsssvUrVs3rVixwqopa05UcXGxHnzwQTVq1Ej169fXrbfeqp9++ums3oYOHaq4uLizlpe1z3nz5umGG25Q48aNFRAQoLZt2+rVV1+t0FhcSGRkpNq0aaPdu3eft+7AgQMaPny4IiIiFBgYqA4dOujdd9+11u/Zs0eNGjWSJD355JPWLUNPzwcDapua+c8zALXGnj17JEkNGjSwlm3ZskVdu3ZVTEyMJkyYoODgYH3wwQdKT0/X3/72N91+++2SToeZjIwMjRgxQklJSSosLNT69eu1YcMG/e53vzvnMUeMGKH33ntPd999t7p06aKVK1eqT58+F3Uer776qq688krdeuut8vPz0z//+U/de++9crlcGj169EXt+4ySkhLt27dPl1122Tlrjh8/rh49emjnzp0aM2aM4uPjtXjxYg0dOlQFBQV64IEH1KhRI7366qv605/+pNtvv119+/aVJLVv375S+gQuGQYAqsC8efOMJPPFF1+YgwcPmn379pkPP/zQNGrUyAQEBJh9+/ZZtT179jQJCQnmxIkT1jKXy2W6dOliWrZsaS3r0KGD6dOnz3mPO2XKFPPff9Vt2rTJSDL33nuvW93dd99tJJkpU6ZYy4YMGWKaNm16wX0aY8yxY8fOqktLSzPNmjVzW9a9e3fTvXv38/ZsjDFNmzY1N954ozl48KA5ePCg+eabb0z//v2NJHPfffedc3+zZs0yksx7771nLTt58qRJSUkx9erVM4WFhcYYYw4ePHjW+QKoGG7nAahSqampatSokWJjY3XnnXcqODhYS5Ys0eWXXy5JOnz4sFauXKm77rpLR44cUX5+vvLz83Xo0CGlpaVpx44d1qf5wsLCtGXLFu3YsaPcx1+2bJkk6f7773dbPnbs2Is6r6CgIOt/O51O5efnq3v37vrhhx/kdDpt7fPzzz9Xo0aN1KhRI3Xo0EGLFy/WoEGD9Nxzz51zm2XLlikyMlIDBgywltWpU0f333+/jh49qv/7v/+z1QuAs3E7D0CVmjNnjlq1aiWn06m3335bq1evVkBAgLV+586dMsZo0qRJmjRpUpn7OHDggGJiYvTUU0/ptttuU6tWrdSuXTv16tVLgwYNOu9tqR9//FE+Pj5q3ry52/Irrrjios7rq6++0pQpU5SVlaVjx465rXM6nQoNDa3wPpOTkzV16lQ5HA7VrVtXbdq0UVhY2Hm3+fHHH9WyZUv5+Lj/G7lNmzbWegCVgxAFoEolJSVZn85LT09Xt27ddPfdd2v79u2qV6+eXC6XJGn8+PFKS0srcx8tWrSQJF133XXatWuX/vGPf+jzzz/Xm2++qRdffFFz587ViBEjLrrXcz2ks7S01O33Xbt2qWfPnmrdurVeeOEFxcbGyt/fX8uWLdOLL75onVNFhYeHKzU11da2ADyPEAXAa3x9fZWRkaHrr79eL7/8siZMmKBmzZpJOn0LqjwBomHDhho2bJiGDRumo0eP6rrrrtMTTzxxzhDVtGlTuVwu7dq1y+3q0/bt28+qbdCggQoKCs5a/turOf/85z9VXFysJUuWqEmTJtbyVatWXbD/yta0aVN9++23crlcblejvv/+e2u9dO6ACKD8mBMFwKt69OihpKQkzZo1SydOnFDjxo3Vo0cPvfbaa9q/f/9Z9QcPHrT+96FDh9zW1atXTy1atFBxcfE5j9e7d29J0uzZs92Wz5o166za5s2by+l06ttvv7WW7d+//6ynhvv6+kqSjDHWMqfTqXnz5p2zD0+56aablJubq0WLFlnLTp06pZdeekn16tVT9+7dJUl169aVpDJDIoDy4UoUAK/785//rP/5n//RO++8oz/+8Y+aM2eOunXrpoSEBI0cOVLNmjVTXl6esrKy9NNPP+mbb76RJLVt21Y9evRQp06d1LBhQ61fv14ffvihxowZc85jdezYUQMGDNArr7wip9OpLl26KDMzUzt37jyrtn///nrkkUd0++236/7779exY8f06quvqlWrVtqwYYNVd+ONN8rf31+33HKL7rnnHh09elRvvPGGGjduXGYQ9KRRo0bptdde09ChQ5WTk6O4uDh9+OGH+uqrrzRr1izVr19f0umJ8G3bttWiRYvUqlUrNWzYUO3atVO7du2qtF+gRvP2xwMBXBrOPOJg3bp1Z60rLS01zZs3N82bNzenTp0yxhiza9cuM3jwYBMZGWnq1KljYmJizM0332w+/PBDa7upU6eapKQkExYWZoKCgkzr1q3NM888Y06ePGnVlPU4guPHj5v777/fXHbZZSY4ONjccsstZt++fWV+5P/zzz837dq1M/7+/uaKK64w7733Xpn7XLJkiWnfvr0JDAw0cXFx5rnnnjNvv/22kWR2795t1VXkEQcXenzDufaXl5dnhg0bZsLDw42/v79JSEgw8+bNO2vbNWvWmE6dOhl/f38edwDY4DDmv64/AwAAoFyYEwUAAGADIQoAAMAGQhQAAIANhCgAAAAbCFEAAAA2EKIAAABs4GGbHuRyufTLL7+ofv36fMUCAAA1hDFGR44cUXR09Flf5v3fCFEe9Msvvyg2NtbbbQAAABv27dunyy+//JzrCVEedObrFfbt26eQkBAvdwMAAMqjsLBQsbGx1vv4uRCiPOjMLbyQkBBCFAAANcyFpuIwsRwAAMAGQhQAAIANhCgAAAAbmBPlZaWlpSopKfF2G9VCnTp15Ovr6+02AAAoF0KUlxhjlJubq4KCAm+3Uq2EhYUpMjKS52oBAKo9QpSXnAlQjRs3Vt26dS/50GCM0bFjx3TgwAFJUlRUlJc7AgDg/AhRXlBaWmoFqMsuu8zb7VQbQUFBkqQDBw6ocePG3NoDAFRrTCz3gjNzoOrWrevlTqqfM2PCPDEAQHVHiPKiS/0WXlkYEwBATeH1EDVnzhzFxcUpMDBQycnJWrt27XnrFy9erNatWyswMFAJCQlatmyZ23pjjCZPnqyoqCgFBQUpNTVVO3bscKs5fPiwBg4cqJCQEIWFhWn48OE6evToWft5/vnn1apVKwUEBCgmJkbPPPNM5Zw0AACo8bwaohYtWqRx48ZpypQp2rBhgzp06KC0tDRrcvFvrVmzRgMGDNDw4cO1ceNGpaenKz09XZs3b7Zqpk+frtmzZ2vu3LnKzs5WcHCw0tLSdOLECatm4MCB2rJli1asWKGlS5dq9erVGjVqlNuxHnjgAb355pt6/vnn9f3332vJkiVKSkryzEAAAICax3hRUlKSGT16tPV7aWmpiY6ONhkZGWXW33XXXaZPnz5uy5KTk80999xjjDHG5XKZyMhIM2PGDGt9QUGBCQgIMO+//74xxpitW7caSWbdunVWzaeffmocDof5+eefrRo/Pz/z/fffX9T5OZ1OI8k4nU635cePHzdbt241x48fv6j9e9P+/fvNmDFjTHx8vPH39zeXX365ufnmm80XX3xh1Xz11Vemd+/eJiwszAQEBJh27dqZmTNnmlOnTp1zv7VhbAAAnvdLwTHz1c6D5peCY5W+73O9f/+W165EnTx5Ujk5OUpNTbWW+fj4KDU1VVlZWWVuk5WV5VYvSWlpaVb97t27lZub61YTGhqq5ORkqyYrK0thYWFKTEy0alJTU+Xj46Ps7GxJ0j//+U81a9ZMS5cuVXx8vOLi4jRixAgdPnz4vOdUXFyswsJCt1dttGfPHnXq1EkrV67UjBkz9N1332n58uW6/vrrNXr0aEnS3//+d3Xv3l2XX365Vq1ape+//14PPPCApk6dqv79+8sY4+WzAADUVIvW7VXXaSt19xvZ6jptpRat2+uVPrz2iIP8/HyVlpYqIiLCbXlERIS+//77MrfJzc0tsz43N9daf2bZ+WoaN27stt7Pz08NGza0an744Qf9+OOPWrx4sf73f/9XpaWlevDBB3XnnXdq5cqV5zynjIwMPfnkkxc69Rrv3nvvlcPh0Nq1axUcHGwtv/LKK/WHP/xBRUVFGjlypG699Va9/vrr1voRI0YoIiJCt956qz744AP169fPG+0DAGqw/c7jmvjRd3L9/3+Lu4z06EebdV2rRooKDarSXrw+sbw6crlcKi4u1v/+7//q2muvVY8ePfTWW29p1apV2r59+zm3mzhxopxOp/Xat29flfS733lca3bla7/zuMePdfjwYS1fvlyjR492C1BnhIWF6fPPP9ehQ4c0fvz4s9bfcsstatWqld5//32P9woAqH125xdZAeqMUmO0J/9YlffitStR4eHh8vX1VV5entvyvLw8RUZGlrlNZGTkeevP/MzLy3N74nVeXp46duxo1fx24vqpU6d0+PBha/uoqCj5+fmpVatWVk2bNm0kSXv37tUVV1xRZn8BAQEKCAg473lXtkXr9lqJ3MchZfRNUL/OTTx2vJ07d8oYo9atW5+z5t///rek/4zZb7Vu3dqqAQCgIuLDg+XjkFuQ8nU4FBde9c9e9NqVKH9/f3Xq1EmZmZnWMpfLpczMTKWkpJS5TUpKilu9JK1YscKqj4+PV2RkpFtNYWGhsrOzrZqUlBQVFBQoJyfHqlm5cqVcLpeSk5MlSV27dtWpU6e0a9cuq+bMm37Tpk0v5rQr1bkuaXryilRF5jIx7wkAUNmiQoOU0TdBvv//uYK+Doee7duuym/lSV7+2pdx48ZpyJAhSkxMVFJSkmbNmqWioiINGzZMkjR48GDFxMQoIyND0unHDnTv3l0zZ85Unz59tHDhQq1fv96ad+NwODR27FhNnTpVLVu2VHx8vCZNmqTo6Gilp6dLOn11pFevXho5cqTmzp2rkpISjRkzRv3791d0dLSk0xPNr776av3hD3/QrFmz5HK5NHr0aP3ud79zuzrlbee7pOmpP0wtW7aUw+E457w1SdYYbdu2TV26dDlr/bZt29S2bVuP9AcAqP36dW6i61o10p78Y4oLr+uVACV5eU5Uv3799Pzzz2vy5Mnq2LGjNm3apOXLl1sTw/fu3av9+/db9V26dNGCBQv0+uuvq0OHDvrwww/18ccfq127dlbNww8/rPvuu0+jRo1S586ddfToUS1fvlyBgYFWzfz589W6dWv17NlTN910k7p16+Y2AdrHx0f//Oc/FR4eruuuu059+vRRmzZttHDhwioYlfI7c0nzv3n6kmbDhg2V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ZZddphEjRmjBggUqLi62at577z3FxMTohhtusJbNmDFDHTp00MaNGzVhwgQ98MADWrFihbXex8dHs2fP1pYtW/Tuu+9q5cqVevjhh631o0ePVnFxsVavXq3vvvtOzz33nOrVqydJmjRpkrZu3apPP/1U27Zt06uvvqrw8PBKOd8zvW7btk1paWk6ceKEOnXqpE8++USbN2/WqFGjNGjQIK1du9baZuLEiZo2bZrV14IFCxQRESFJVt0XX3yh/fv366OPPirzuA8//LD+9re/6d1339WGDRvUokULpaWl6fDhw251jz32mGbOnKn169fLz89Pf/jDHyrlvIFLgse+2hgAjDFDhgwxvr6+Jjg42AQHBxtJJioqyuTk5BhjjDl+/Lhp0KCBWbRokbVN+/btzRNPPGH93rRpU9OrVy+3/fbr18/07t37nMddvHixueyyy6zfExIS3Pb532655RYzbNgwW+cnyQQGBlrnFxwcbP7+97+b3bt3G0lm1qxZF9xHnz59zEMPPWSMMaawsNAEBASYN954o8zaM/vduHGj2/IhQ4aY2267zRhjzNGjR02dOnXM/PnzrfUnT5400dHRZvr06cYYY1atWmUkmS+++MKq+eSTT4wkc/z48YoMAXDJ4koUAI+7/vrrtWnTJm3atElr165VWlqaevfurR9//FGBgYEaNGiQ3n77bUnShg0btHnzZg0dOtRtHykpKWf9vm3bNuv3L774Qj179lRMTIzq16+vQYMG6dChQzp27Jgk6f7779fUqVPVtWtXTZkyxW1i+5/+9CctXLhQHTt21MMPP6w1a9ZU6PxefPFF6/w2bdqk3/3ud9a6xMREt9rS0lI9/fTTSkhIUMOGDVWvXj199tln2rt3ryRp27ZtKi4uVs+ePSvUw3/btWuXSkpK1LVrV2tZnTp1lJSU5DZmktS+fXvrf0dFRUmSDhw4YPvYwKWEEAXA44KDg9WiRQu1aNFCnTt31ptvvqmioiK98cYbkqQRI0ZoxYoV+umnnzRv3jzdcMMNatq0abn3v2fPHt18881q3769/va3vyknJ8eaM3Xy5EnrGD/88IMGDRqk7777TomJiXrppZckyQp0Dz74oH755Rf17NlT48ePL/fxIyMjrfNr0aKFgoOD3c79v82YMUN/+ctf9Mgjj2jVqlXatGmT0tLSrD6DgoLKfdzKUKdOHet/OxwOSafnZAG4MEIUgCrncDjk4+Oj48ePS5ISEhKUmJioN954QwsWLChzXs7XX3991u9t2rSRJOXk5MjlcmnmzJm65ppr1KpVK/3yyy9n7SM2NlZ//OMf9dFHH+mhhx6yQpwkNWrUSEOGDNF7772nWbNm6fXXX6/MU7Z89dVXuu222/T73/9eHTp0ULNmzfTvf//bWt+yZUsFBQVZk+p/y9/fX9LpK1rn0rx5c/n7++urr76ylpWUlGjdunVq27ZtJZ0JAD9vNwCg9isuLlZubq6k05+Ee/nll3X06FHdcsstVs2IESM0ZswYBQcH6/bbbz9rH1999ZWmT5+u9PR0rVixQosXL9Ynn3wiSWrRooVKSkr00ksv6ZZbbtFXX32luXPnum0/duxY9e7dW61atdKvv/6qVatWWSFs8uTJ6tSpk6688koVFxdr6dKl1rrK1rJlS3344Ydas2aNGjRooBdeeEF5eXlWuAkMDNQjjzyihx9+WP7+/uratasOHjyoLVu2aPjw4WrcuLGCgoK0fPlyXX755QoMDFRoaKjbMYKDg/WnP/1Jf/7zn9WwYUM1adJE06dP17FjxzR8+HCPnBdwKeJKFACPW758uaKiohQVFaXk5GStW7dOixcvtj6eL0kDBgyQn5+fBgwYoMDAwLP28dBDD2n9+vW66qqrNHXqVL3wwgtKS0uTJHXo0EEvvPCCnnvuObVr107z589XRkaG2/alpaUaPXq02rRpo169eqlVq1Z65ZVXJJ2+ujNx4kS1b99e1113nXx9fbVw4UKPjMXjjz+uq6++WmlpaerRo4ciIyPPetL4pEmT9NBDD2ny5Mlq06aN+vXrZ81T8vPz0+zZs/Xaa68pOjpat912W5nHmTZtmu644w4NGjRIV199tXbu3KnPPvtMDRo08Mh5AZcihzHGeLsJANizZ4+aN2+udevW6eqrr3ZbFxcXp7Fjx2rs2LHeaQ4AysDtPABeVVJSokOHDunxxx/XNddcc1aAAoDqitt5ALzqq6++UlRUlNatW3fWPCZve/bZZ1WvXr0yX7179/Z2ewC8jNt5AHAOhw8fPusJ32cEBQUpJiamijsCUJ0QogAAAGzgdh4AAIANhCgAAAAbCFEAAAA2EKIAAABsIEQBAADYQIgCAACwgRAFAABgAyEKAADAhv8H8pe93A8piKkAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_46.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAloAAAHHCAYAAABnS/bqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABHdklEQVR4nO3de3hNZ/738c9OIgchiWMSaYhTUOIwNJmgpZVplFFqZmhqFA/VTvl1Otppaatpp4co2hp+ip6YpwdUmalp9aDBuEoaGhRxGJRWNQmh2UEiyL6fPzxWuysOm6zsHN6v69pXutf67r2+675S+5N7rb2WwxhjBAAAgHLn4+0GAAAAqiuCFgAAgE0IWgAAADYhaAEAANiEoAUAAGATghYAAIBNCFoAAAA2IWgBAADYhKAFAABgE4IWgBrvqaeeksPhuKJah8Ohp556ytZ+evfurd69e1fa9wNw5QhaACqNBQsWyOFwWA8/Pz9FRUVp5MiROnTokLfbq3RiYmLcxqtx48a68cYb9c9//rNc3r+oqEhPPfWU1qxZUy7vB9REBC0Alc7f/vY3vfXWW5o7d65uu+02vf322+rVq5dOnTply/aeeOIJFRcX2/LeduvcubPeeustvfXWW3r44Yf1ww8/aPDgwZo7d+41v3dRUZGefvppghZwDfy83QAA/NJtt92mbt26SZLGjBmjhg0b6oUXXtDy5cs1ZMiQct+en5+f/Pyq5j+HUVFR+uMf/2g9v/vuu9WqVSu9/PLLuu+++7zYGQCJGS0AVcCNN94oSdq3b5/b8l27dun3v/+96tevr8DAQHXr1k3Lly93qzlz5oyefvpptW7dWoGBgWrQoIF69uyplStXWjVlnaNVUlKiv/zlL2rUqJHq1q2r22+/Xd9///0FvY0cOVIxMTEXLC/rPefPn69bbrlFjRs3VkBAgK6//nrNmTPHo7G4nIiICLVr10779++/ZN3hw4c1evRohYeHKzAwUJ06ddI//vEPa/2BAwfUqFEjSdLTTz9tHZ60+/w0oLqpmn/CAahRDhw4IEmqV6+etSw7O1s9evRQVFSUJk6cqODgYL333nsaNGiQli5dqjvuuEPSucCTlpamMWPGKD4+XoWFhfrqq6+0adMm/eY3v7noNseMGaO3335bd911l7p3765Vq1apf//+17Qfc+bMUfv27XX77bfLz89P//73v3X//ffL5XJp3Lhx1/Te5505c0YHDx5UgwYNLlpTXFys3r17a+/evRo/fryaN2+uJUuWaOTIkSooKNCf//xnNWrUSHPmzNGf/vQn3XHHHRo8eLAkqWPHjuXSJ1BjGACoJObPn28kmc8//9wcOXLEHDx40Lz//vumUaNGJiAgwBw8eNCq7dOnj4mLizOnTp2ylrlcLtO9e3fTunVra1mnTp1M//79L7nd1NRU8/N/Drds2WIkmfvvv9+t7q677jKSTGpqqrVsxIgRplmzZpd9T2OMKSoquqAuOTnZtGjRwm1Zr169TK9evS7ZszHGNGvWzNx6663myJEj5siRI+brr782d955p5Fk/ud//uei7zdjxgwjybz99tvWstOnT5vExERTp04dU1hYaIwx5siRIxfsLwDPcOgQQKWTlJSkRo0aKTo6Wr///e8VHBys5cuX67rrrpMkHTt2TKtWrdKQIUN0/Phx5efnKz8/X0ePHlVycrL27NljfUsxLCxM2dnZ2rNnzxVvf8WKFZKkBx54wG35gw8+eE37FRQUZP230+lUfn6+evXqpW+++UZOp/Oq3vOzzz5To0aN1KhRI3Xq1ElLlizR8OHD9cILL1z0NStWrFBERIRSUlKsZbVq1dIDDzygEydO6D//+c9V9QLgQhw6BFDpzJ49W7GxsXI6nXrzzTe1du1aBQQEWOv37t0rY4wmT56syZMnl/kehw8fVlRUlP72t79p4MCBio2NVYcOHdS3b18NHz78kofAvv32W/n4+Khly5Zuy9u0aXNN+7Vu3TqlpqYqIyNDRUVFbuucTqdCQ0M9fs+EhAQ9++yzcjgcql27ttq1a6ewsLBLvubbb79V69at5ePj/rd2u3btrPUAygdBC0ClEx8fb33rcNCgQerZs6fuuusu7d69W3Xq1JHL5ZIkPfzww0pOTi7zPVq1aiVJuummm7Rv3z598MEH+uyzz/T666/r5Zdf1ty5czVmzJhr7vViFzotLS11e75v3z716dNHbdu21UsvvaTo6Gj5+/trxYoVevnll6198lTDhg2VlJR0Va8FYD+CFoBKzdfXV2lpabr55pv1v//7v5o4caJatGgh6dzhrisJGfXr19eoUaM0atQonThxQjfddJOeeuqpiwatZs2ayeVyad++fW6zWLt3776gtl69eiooKLhg+S9nhf7973+rpKREy5cvV9OmTa3lq1evvmz/5a1Zs2baunWrXC6X26zWrl27rPXSxUMkgCvHOVoAKr3evXsrPj5eM2bM0KlTp9S4cWP17t1b8+bNU05OzgX1R44csf776NGjbuvq1KmjVq1aqaSk5KLbu+222yRJM2fOdFs+Y8aMC2pbtmwpp9OprVu3WstycnIuuDq7r6+vJMkYYy1zOp2aP3/+RfuwS79+/ZSbm6vFixdby86ePatZs2apTp066tWrlySpdu3aklRmkARwZZjRAlAl/PWvf9Uf/vAHLViwQPfdd59mz56tnj17Ki4uTvfcc49atGihvLw8ZWRk6Pvvv9fXX38tSbr++uvVu3dvde3aVfXr19dXX32l999/X+PHj7/otjp37qyUlBS98sorcjqd6t69u9LT07V3794Lau+88049+uijuuOOO/TAAw+oqKhIc+bMUWxsrDZt2mTV3XrrrfL399eAAQN077336sSJE3rttdfUuHHjMsOincaOHat58+Zp5MiRysrKUkxMjN5//32tW7dOM2bMUN26dSWdO3n/+uuv1+LFixUbG6v69eurQ4cO6tChQ4X2C1Rp3v7aIwCcd/7yDhs3brxgXWlpqWnZsqVp2bKlOXv2rDHGmH379pm7777bREREmFq1apmoqCjz29/+1rz//vvW65599lkTHx9vwsLCTFBQkGnbtq157rnnzOnTp62asi7FUFxcbB544AHToEEDExwcbAYMGGAOHjxY5uUOPvvsM9OhQwfj7+9v2rRpY95+++0y33P58uWmY8eOJjAw0MTExJgXXnjBvPnmm0aS2b9/v1XnyeUdLnfpiou9X15enhk1apRp2LCh8ff3N3FxcWb+/PkXvHb9+vWma9euxt/fn0s9AFfBYczP5rEBAABQbjhHCwAAwCYELQAAAJsQtAAAAGxC0AIAALAJQQsAAMAmBC0AAACbcMFSL3K5XPrhhx9Ut25dbnUBAEAVYYzR8ePH1aRJkwtuzv5LBC0v+uGHHxQdHe3tNgAAwFU4ePCgrrvuukvWELS86PxtLg4ePKiQkBAvdwMAAK5EYWGhoqOjrc/xSyFoedH5w4UhISEELQAAqpgrOe2Hk+EBAABsQtACAACwCUELAADAJpyjVQWUlpbqzJkz3m6jyqhVq5Z8fX293QYAAAStyswYo9zcXBUUFHi7lSonLCxMERER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1759+/Tyyy/rrbfeKvM1kyZN0oQJE6znhYWFhC0AAKoxr81oNWzYUL6+vsrLy3NbnpeXp4iIiDJfExERccn68z8vV/PLk+3Pnj2rY8eOXXS7Vyo+Pl579+696PqAgACFhIS4PQAAQPXltaDl7++vrl27Kj093VrmcrmUnp6uxMTEMl+TmJjoVi9JK1eutOqbN2+uiIgIt5rCwkJlZmZaNYmJiSooKFBWVpZVs2rVKrlcLiUkJFzTPm3ZskWRkZHX9B4AAKD68OqhwwkTJmjEiBHq1q2b4uPjNWPGDJ08eVKjRo2SJN19992KiopSWlqaJOnPf/6zevXqpRdffFH9+/fXokWL9NVXX+nVV1+VJDkcDj344IN69tln1bp1azVv3lyTJ09WkyZNrGthtWvXTn379tU999yjuXPn6syZMxo/frzuvPNONWnSxOptx44dOn36tI4dO6bjx49ry5Ytks6d/C5JM2bMUPPmzdW+fXudOnVKr7/+ulatWqXPPvusYgYPAABUel4NWkOHDtWRI0f05JNPKjc3V507d9Ynn3xincz+3Xffycfnp0m37t27691339UTTzyhxx57TK1bt9a//vUvdejQwap55JFHdPLkSY0dO1YFBQXq2bOnPvnkEwUGBlo177zzjsaPH68+ffrIx8dHv/vd7zRz5ky33vr166dvv/3Wet6lSxdJ5y6IKp371uRDDz2kQ4cOqXbt2urYsaM+//xz3XzzzeU/UAAAoEpymPPJARWusLBQoaGhcjqdnK8FAEAV4cnnt9dvwQMAAFBdEbQAAABsQtACAACwCUELAADAJgQtAAAAmxC0AAAAbELQAgAAsAlBCwAAwCYELQAAAJsQtAAAAGxC0AIAALAJQQsAAMAmBC0AAACbELQAAABsQtACAACwCUELAADAJgQtAAAAmxC0AAAAbELQAgAAsAlBCwAAwCYELQAAAJsQtAAAAGxC0AIAAJVajrNY6/flK8dZ7O1WPObn7QYAAAAuZvHG7zRp2Ta5jOTjkNIGx2noDU293dYV82hG68yZM3rkkUfUqlUrxcfH680333Rbn5eXJ19f33JtEAAA1Ew5zmIrZEmSy0iPLdtepWa2PApazz33nP7v//2/uu+++3TrrbdqwoQJuvfee91qjDHl2iAAAKiZ9ueftELWeaXG6EB+kXcaugoeHTp855139Prr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cXGxJ0MA1FjMaAGoFG6++WZt2bJFW7Zs0YYNG5ScnKzbbrtN3377rQIDAzV8+HC9+eabkqRNmzZp+/btGjlypNt7JCYmXvB8586d1vPPP/9cffr0UVRUlOrWravhw4fr6NGjKioqkiQ98MADevbZZ9WjRw+lpqa6nYz/pz/9SYsWLVLnzp31yCOPaP369R7t38svv2zt35YtW/Sb3/zGWtetWze32tLSUj3zzDOKi4tT/fr1VadOHX366af67rvvJEk7d+5USUmJ+vTp41EPP7dv3z6dOXNGPXr0sJbVqlVL8fHxbmMmSR07drT+OzIyUpJ0+PDhq942UJMQtABUCsHBwWrVqpVatWqlG264Qa+//rpOnjyp1157TZI0ZswYrVy5Ut9//73mz5+vW265Rc2aNbvi9z9w4IB++9vfqmPHjlq6dKmysrKsc7hOnz5tbeObb77R8OHDtW3bNnXr1k2zZs2SJCv0/eUvf9EPP/ygPn366OGHH77i7UdERFj716pVKwUHB7vt+89NmzZNf//73/Xoo49q9erV2rJli5KTk60+g4KCrni75aFWrVrWfzscDknnzhEDcHkELQCVksPhkI+Pj4qLiyVJcXFx6tatm1577TW9++67ZZ4n9OWXX17wvF27dpKkrKwsuVwuvfjii/r1r3+t2NhY/fDDDxe8R3R0tO677z4tW7ZMDz30kBX0JKlRo0YaMWKE3n77bc2YMUOvvvpqee6yZd26dRo4cKD++Mc/qlOnTmrRooX++9//Wutbt26toKAg64sAv+Tv7y/p3MzYxbRs2VL+/v5at26dtezMmTPauHGjrr/++nLaEwB+3m4AAKRz34DLzc2VdO4bfv/7v/+rEydOaMCAAVbNmDFjNH78eAUHB+uOO+644D3WrVunqVOnatCgQVq5cqWWLFmijz76SJLUqlUrnTlzRrNmzdKAAQO0bt06zZ071+31Dz74oG677TbFxsbqxx9/1OrVq62g9uSTT6pr165q3769SkpK9OGHH1rrylvr1q31/vvva/369apXr55eeukl5eXlWQEoMDBQjz76qB555BH5+/urR48eOnLkiLKzszV69Gg1btxYQUFB+uSTT3TdddcpMDBQoaGhbtsIDg7Wn/70J/31r39V/fr11bRpU02dOlVFRUUaPXq0LfsF1ETMaAGoFD755BNFRkYqMjJSCQkJ2rhxo5YsWWJdmkCSUlJS5Ofnp5SUFAUGBl7wHg899JC++uordenSRc8++6xeeuklJScnS5I6deqkl156SS+88II6dOigd955R2lpaW6vLy0t1bhx49SuXTv17dtXsbGxeuWVVySdmyWaNGmSOnbsqJtuukm+vr5atGiRLWPxxBNP6Fe/+pWSk5PVu3dvRUREXHBF98mTJ+uhhx7Sk08+qXbt2mno0KHWeVN+fn6aOXOm5s2bpyZNmmjgwIFlbmfKlCn63e9+p+HDh+tXv/qV9u7dq08//VT16tWzZb+AmshhjDHebgIArsSBAwfUsmVLbdy4Ub/61a/c1sXExOjBBx/Ugw8+6J3mAKAMHDoEUOmdOXNGR48e1RNPPKFf//rXF4QsAKisOHQIoNJbt26dIiMjtXHjxgvOq/K2559/XnXq1Cnzcdttt3m7PQBexqFDALgGx44du+BK6ucFBQUpKiqqgjsCUJkQtAAAAGzCoUMAAACbELQAAABsQtACAACwCUELAADAJgQtAAAAmxC0AAAAbELQAgAAsAlBCwAAwCb/D46Td/eWQbmUAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_47.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAHHCAYAAACfqw0dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABDJ0lEQVR4nO3de3hU5bn+8XuSkAOBJGDIiQYSTgoSCCUQgggoaYMgEnHvQqScfiDbKioCW8EKeKpBPFGUiqKCV8WCWLa1SKnIoVZIQwhQBZECgsCWBAIygQRCyLy/P9isOhIOWWQymeT7ua65YN71zMyz3kZy911r1nIYY4wAAABQJX7ebgAAAMAXEaIAAABsIEQBAADYQIgCAACwgRAFAABgAyEKAADABkIUAACADYQoAAAAGwhRAAAANhCiANRpTzzxhBwOx1XVOhwOPfHEEx7tp2/fvurbt2+tfT8AV48QBaBGLFq0SA6Hw3oEBASoefPmGj16tP73f//X2+3VOgkJCW7zFRUVpZtvvln/8z//Uy3vX1paqieeeELr16+vlvcD6iNCFIAa9dRTT+n3v/+95s+fr9tuu03vvvuu+vTpozNnznjk8x5//HGdPn3aI+/tacnJyfr973+v3//+95oyZYq+++47DRkyRPPnz7/m9y4tLdWTTz5JiAKuQYC3GwBQv9x2221KSUmRJI0bN06RkZF67rnn9NFHH+kXv/hFtX9eQECAAgJ885+65s2b65e//KX1fOTIkWrTpo1efvll3XvvvV7sDIDEShQAL7v55pslSXv37nUb//rrr/Uf//Efatq0qYKDg5WSkqKPPvrIraa8vFxPPvmk2rZtq+DgYF133XXq1auXVq9ebdVUdk5UWVmZHn74YTVr1kyNGzfWHXfcoUOHDl3U2+jRo5WQkHDReGXvuXDhQt16662KiopSUFCQOnTooNdee61Kc3ElMTExat++vfbt23fZuiNHjmjs2LGKjo5WcHCwOnfurHfeecfavn//fjVr1kyS9OSTT1qHDD19PhhQ1/jm/z0DUGfs379fktSkSRNrbMeOHbrpppvUvHlzTZ06VaGhoXr//feVmZmpP/7xj7rzzjslnQ8z2dnZGjdunLp3767i4mJt3rxZW7Zs0c9+9rNLfua4ceP07rvv6u6771bPnj21du1aDRw48Jr247XXXtONN96oO+64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vmlGjRpVJ0JUVedh4cKFJjw8vIa6qzlVnYfXXnvNtGrVypw9e7amWqwx1/rvxMsvv2waN25sTp065akWa0RV5+H+++83t956q9vYpEmTzE033eSxHjmc5yFnz55Vfn6+0tPTrTE/Pz+lp6crJyfHi53VvOqYi9LSUpWXl6tp06aeatPjrnUejDFas2aNdu3apd69e3uyVY+zOxdPPfWUoqKiNHbs2Jpo0+PszsOpU6fUsmVLxcfHa/DgwdqxY0dNtOsxdubho48+Ulpamu6//35FR0erY8eOevbZZ1VRUVFTbXtEdfx7+dZbb2nYsGEKDQ31VJseZ2ceevbsqfz8fOuQ3zfffKOVK1dqwIABHuuTGxB7SFFRkSoqKhQdHe02Hh0dra+//tpLXXlHdczFo48+qri4OLf/oHyN3XlwOp1q3ry5ysrK5O/vr9/97nf62c9+5ul2PcrOXHz++ed66623tG3bthrosGbYmYfrr79eb7/9tjp16iSn06kXXnhBPXv21I4dO676hue1jZ15+Oabb7R27VoNHz5cK1eu1J49e3TfffepvLxcM2fOrIm2PeJa/73ctGmTtm/frrfeestTLdYIO/Nw9913q6ioSL169ZIxRufOndO9996rxx57zGN9EqJQ682aNUtLlizR+vXr68wJtFXRuHFjbdu2TadOndKaNWs0adIktWrVSn379vV2azXm5MmTGjFihBYsWKDIyEhvt+NVaWlpSktLs5737NlT7du31+uvv66nn37ai53VLJfLpaioKL3xxhvy9/dX165d9b//+796/vnnfTpEXau33npLSUlJ6t69u7dbqXHr16/Xs88+q9/97ndKTU3Vnj179NBDD+npp5/W9OnTPfKZhCgPiYyMlL+/vwoLC93GCwsLFRMT46WuvONa5uKFF17QrFmz9Omnn6pTp06ebNPj7M6Dn5+f2rRpI0lKTk7Wzp07lZ2d7dMhqqpzsXfvXu3fv1+DBg2yxlwulyQpICBAu3btUuvWrT3btAdUx78TDRo0UJcuXbRnzx5PtFgj7MxDbGysGjRoIH9/f2usffv2Kigo0NmzZxUYGOjRnj3lWn4mSkpKtGTJEj311FOebLFG2JmH6dOna8SIERo3bpwkKSkpSSUlJRo/frx+/etfy8+v+s9g4pwoDwkMDFTXrl21Zs0aa8zlcmnNmjVu/y+yPrA7F7Nnz9bTTz+tVatWKSUlpSZa9ajq+plwuVwqKyvzRIs1pqpzccMNN+jLL7/Utm3brMcdd9yhW265Rdu2bVN8fHxNtl9tquNnoqKiQl9++aViY2M91abH2ZmHm266SXv27LHCtCT961//UmxsrM8GKOnafiaWLVumsrIy/fKXv/R0mx5nZx5KS0svCkoXQrbx1G2CPXbKOsySJUtMUFCQWbRokfnqq6/M+PHjTUREhPV15BEjRpipU6da9WVlZWbr1q1m69atJjY21kyZMsVs3brV7N6921u7UG2qOhezZs0ygYGB5oMPPnD76u7Jkye9tQvVoqrz8Oyzz5pPPvnE7N2713z11VfmhRdeMAEBAWbBggXe2oVqU9W5+LG68u28qs7Dk08+af7617+avXv3mvz8fDNs2DATHBxsduzY4a1dqBZVnYcDBw6Yxo0bmwkTJphdu3aZFStWmKioKPPMM894axeqjd3/Nnr16mWGDh1a0+16TFXnYebMmaZx48bmD3/4g/nmm2/MJ598Ylq3bm1+8YtfeKxHQpSHvfLKK6ZFixYmMDDQdO/e3fzjH/+wtvXp08eMGjXKer5v3z4j6aJHnz59ar5xD6jKXLRs2bLSuZg5c2bNN17NqjIPv/71r02bNm1McHCwadKkiUlLSzNLlizxQteeUZW5+LG6EqKMqdo8TJw40aqNjo42AwYMMFu2bPFC19Wvqj8PGzduNKmpqSYoKMi0atXK/OY3vzHnzp2r4a49o6pz8fXXXxtJ5pNPPqnhTj2rKvNQXl5unnjiCdO6dWsTHBxs4uPjzX333We+//57j/XnMMZTa1wAAAB1F+dEAQAA2ECIAgAAsIEQBQAAYAMhCgAAwAZCFAAAgA2EKAAAABsIUQAAADYQogCgDhg9erQyMzO93QZQrxCiAHjU6NGj5XA4rMd1112n/v3764svvvB2a9Xih/t24dGrVy+Pfd7+/fvlcDi0bds2t/Hf/va3WrRokcc+F8DFCFEAPK5///46fPiwDh8+rDVr1iggIEC33367t9uqNgsXLrT27/Dhw/roo48qrSsvL/dYD+Hh4YqIiPDY+wO4GCEKgMcFBQUpJiZGMTExSk5O1tSpU3Xw4EEdPXpUt956qyZMmOBWf/ToUQUGBlp3cE9ISNDTTz+trKwshYaGqnnz5po3b57ba1566SUlJSUpNDRU8fHxuu+++3Tq1Clr+7fffqtBgwapSZMmCg0N1Y033qiVK1dKkr7//nsNHz5czZo1U0hIiNq2bauFCxde9f5FRERY+xcTE6OmTZtaK0ZLly5Vnz59FBwcrMWLF+vYsWPKyspS8+bN1bBhQyUlJekPf/iD2/u5XC7Nnj1bbdq0UVBQkFq0aKHf/OY3kqTExERJUpcuXeRwONS3b19JFx/OKysr04MPPqioqCgFBwerV69eysvLs7avX79eDodDa9asUUpKiho2bKiePXtq165dV73fQH1HiAJQo06dOqV3331Xbdq00XXXXadx48bpvffeU1lZmVXz7rvvqnnz5rr11lutseeff16dO3fW1q1bNXXqVD300ENavXq1td3Pz09z587Vjh079M4772jt2rV65JFHrO3333+/ysrK9Nlnn+nLL7/Uc889p0aNGkmSpk+frq+++kp/+ctftHPnTr322muKjIyslv290OvOnTuVkZGhM2fOqGvXrvr444+1fft2jR8/XiNGjNCmTZus10ybNk2zZs2y+nrvvfcUHR0tSVbdp59+qsOHD2v58uWVfu4jjzyiP/7xj3rnnXe0ZcsWtWnTRhkZGTp+/Lhb3a9//Wu9+OKL2rx5swICAvT//t//q5b9BuoFj93aGACMMaNGjTL+/v4mNDTUhIaGGkkmNjbW5OfnG2OMOX36tGnSpIlZunSp9ZpOnTqZJ554wnresmVL079/f7f3HTp0qLntttsu+bnLli0z1113nfU8KSnJ7T1/aNCgQWbMmDG29k+SCQ4OtvYvNDTU/M///I/Zt2+fkWTmzJlzxfcYOHCgmTx5sjHGmOLiYhMUFGQWLFhQae2F9926davb+KhRo8zgwYONMcacOnXKNGjQwCxevNjafvbsWRMXF2dmz55tjDFm3bp1RpL59NNPrZqPP/7YSDKnT5+uyhQA9RYrUQA87pZbbtG2bdu0bds2bdq0SRkZGbrtttv07bffKjg4WCNGjNDbb78tSdqyZYu2b9+u0aNHu71HWlraRc937txpPf/000/Vr18/NW/eXI0bN9aIESN07NgxlZaWSpIefPBBPfPMM7rppps0c+ZMtxPbf/WrX2nJkiVKTk7WI488oo0bN1Zp/15++WVr/7Zt26af/exn1raUlBS32oqKCj399NNKSkpS06ZN1ahRI/31r3/VgQMHJEk7d+5UWVmZ+vXrV6Uefmjv3r0qLy/XTTfdZI01aNBA3bt3d5szSerUqZP199jYWEnSkSNHbH82UJ8QogB4XGhoqNq0aaM2bdqoW7duevPNN1VSUqIFCxZIksaNG6fVq1fr0KFDWrhwoW699Va1bNnyqt9///79uv3229WpUyf98Y9/VH5+vnXO1NmzZ63P+OabbzRixAh9+eWXSklJ0SuvvCJJVqB7+OGH9d1336lfv36aMmXKVX9+TEyMtX9t2rRRaGio277/0PPPP6/f/va3evTRR7Vu3Tpt27ZNGRkZVp8hISFX/bnVoUGDBtbfHQ6HpPPnZAG4MkIUgBrncDjk5+en06dPS5KSkpKUkpKiBQsW6L333qv0vJx//OMfFz1v3769JCk/P18ul0svvviievTooXbt2um777676D3i4+N17733avny5Zo8ebIV4iSpWbNmGjVqlN59913NmTNHb7zxRnXusmXDhg0aPHiwfvnLX6pz585q1aqV/vWvf1nb27Ztq5CQEOuk+h8LDAyUdH5F61Jat26twMBAbdiwwRorLy9XXl6eOnToUE17AiDA2w0AqPvKyspUUFAg6fw34V599VWdOnVKgwYNsmrGjRunCRMmKDQ0VHfeeedF77FhwwbNnj1bmZmZWr16tZYtW6aPP/5YktSmTRuVl5frlVde0aBBg7RhwwbNnz/f7fUTJ07Ubbfdpnbt2un777/XunXrrBA2Y8YMde3aVTfeeKPKysq0YsUKa1t1a9u2rT744ANt3LhRTZo00UsvvaTCwkIr3AQHB+vRRx/VI488osDAQN100006evSoduzYobFjxyoqKkohISFatWqVfvKTnyg4OFjh4eFunxEaGqpf/epX+u///m81bdpULVq00OzZs1VaWqqxY8d6ZL+A+oiVKAAet2rVKsXGxio2NlapqanKy8vTsmXLrK/nS1JWVpYCAgKUlZWl4ODgi95j8uTJ2rx5s7p06aJnnnlGL730kjIyMiRJnTt31ksvvaTnnntOHTt21OLFi5Wdne32+oqKCt1///1q3769+vfvr3bt2ul3v/udpPOrO9OmTVOnTp3Uu3dv+fv7a8mSJR6Zi8cff1w//elPlZGRob59+yomJuaiK41Pnz5dkydP1owZM9S+fXsNHTrUOk8pICBAc+fO1euvv664uDgNHjy40s+ZNWuW7rrrLo0YMUI//elPtWfPHv31r39VkyZNPLJfQH3kMMYYbzcBAPv371fr1q2Vl5enn/70p27bEhISNHHiRE2cONE7zQFAJTicB8CrysvLdezYMT3++OPq0aPHRQEKAGorDucB8KoNGzYoNjZWeXl5F53H5G3PPvusGjVqVOnjtttu83Z7ALyMw3kAcAnHjx+/6ArfF4SEhKh58+Y13BGA2oQQBQAAYAOH8wAAAGwgRAEAANhAiAIAALCBEAUAAGADIQoAAMAGQhQAAIANhCgAAAAbCFEAAAA2/H9EbZ7+AKj07QAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_48.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAHHCAYAAACfqw0dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABNm0lEQVR4nO3de1hVZd7/8c8G5CDKRkM5GAqmpilpaSBWakmDZSXZTGrmaSw7aGXWlDYeOmN2cirLstKeTpqNz2RmlqHWkyIqannKUdO0cqNobDwgKvv+/eHPNe0RFZZsNuD7dV37Itb6rrW+676I/XHtey0cxhgjAAAAlEuAvxsAAACojghRAAAANhCiAAAAbCBEAQAA2ECIAgAAsIEQBQAAYAMhCgAAwAZCFAAAgA2EKAAAABsIUQBqtMcee0wOh6NMtQ6HQ4899phP++natau6du1aZfcHoOwIUQAqxfTp0+VwOKxXUFCQGjVqpEGDBunXX3/1d3tVTkJCgtd4NWzYUFdeeaX+93//t0L2f+jQIT322GNavHhxhewPOBcRogBUqieeeELvvfeepkyZomuvvVbvv/++unTposOHD/vkeGPGjFFRUZFP9u1r7dq103vvvaf33ntPDz30kH777Tf16tVLU6ZMOet9Hzp0SI8//jghCjgLQf5uAMC55dprr1WHDh0kSbfffruioqL07LPPas6cObrlllsq/HhBQUEKCqqev+oaNWqk2267zfp+wIABatasmV566SXdddddfuwMgMSVKAB+duWVV0qStm7d6rX8xx9/1J///GfVr19foaGh6tChg+bMmeNVc/ToUT3++ONq3ry5QkNDdd555+mKK67QggULrJrS5kQVFxfrgQceUIMGDVS3bl3deOON+uWXX07qbdCgQUpISDhpeWn7nDZtmq6++mo1bNhQISEhuuiii/T666+XayzOJCYmRq1atdK2bdtOW7d7924NGTJE0dHRCg0NVdu2bfXuu+9a67dv364GDRpIkh5//HHrI0NfzwcDaprq+c8zADXG9u3bJUn16tWzlq1fv16XX365GjVqpFGjRik8PFwff/yxMjIy9M9//lM33XSTpONhJjMzU7fffruSk5NVWFiolStXatWqVbrmmmtOeczbb79d77//vm699VZ16tRJCxcuVI8ePc7qPF5//XW1bt1aN954o4KCgvTZZ5/pnnvukcfj0bBhw85q3yccPXpUO3fu1HnnnXfKmqKiInXt2lVbtmzR8OHDlZiYqFmzZmnQoEEqKCjQ/fffrwYNGuj111/X3XffrZtuukm9evWSJF188cUV0idwzjAAUAmmTZtmJJmvv/7a7Nmzx+zcudN88sknpkGDBiYkJMTs3LnTqu3WrZtJSkoyhw8ftpZ5PB7TqVMn07x5c2tZ27ZtTY8ePU573PHjx5s//qpbs2aNkWTuuecer7pbb73VSDLjx4+3lg0cONA0adLkjPs0xphDhw6dVJeenm6aNm3qtaxLly6mS5cup+3ZGGOaNGli/vSnP5k9e/aYPXv2mO+//9706dPHSDL33nvvKfc3adIkI8m8//771rIjR46Y1NRUU6dOHVNYWGiMMWbPnj0nnS+A8uHjPACVKi0tTQ0aNFB8fLz+/Oc/Kzw8XHPmzNH5558vSdq3b58WLlyoW265Rfv371d+fr7y8/O1d+9epaena/PmzdbdfJGRkVq/fr02b95c5uPPmzdPknTfffd5LR8xYsRZnVdYWJj13263W/n5+erSpYt++uknud1uW/v86quv1KBBAzVo0EBt27bVrFmz1L9/fz377LOn3GbevHmKiYlR3759rWW1atXSfffdpwMHDuibb76x1QuAk/FxHoBKNXnyZLVo0UJut1vvvPOOvv32W4WEhFjrt2zZImOMxo4dq7Fjx5a6j927d6tRo0Z64okn1LNnT7Vo0UJt2rRR9+7d1b9//9N+LPXzzz8rICBAF1xwgdfyCy+88KzOa8mSJRo/fryys7N16NAhr3Vut1tOp7Pc+0xJSdFTTz0lh8Oh2rVrq1WrVoqMjDztNj///LOaN2+ugADvfyO3atXKWg+gYhCiAFSq5ORk6+68jIwMXXHFFbr11lu1adMm1alTRx6PR5L00EMPKT09vdR9NGvWTJLUuXNnbd26VZ9++qm++uorvfXWW3rppZc0ZcoU3X777Wfd66ke0llSUuL1/datW9WtWze1bNlSL774ouLj4xUcHKx58+bppZdess6pvKKiopSWlmZrWwC+R4gC4DeBgYHKzMzUVVddpVdffVWjRo1S06ZNJR3/CKosAaJ+/foaPHiwBg8erAMHDqhz58567LHHThmimjRpIo/Ho61bt3pdfdq0adNJtfXq1VNBQcFJy//7as5nn32m4uJi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6tixY6n9hYSEKCQk5EynDgAAagC/XYkKDg5W+/btlZWVZS3zeDzKyspSampqqdukpqZ61UvSggULrPrExETFxMR41RQWFionJ8eqSU1NVUFBgXJzc62ahQsXyuPxKCUlRZJ06NAhBQR4D01gYKDVIwAAgF/vzpsxY4YJCQkx06dPNxs2bDBDhw41kZGRxuVyGWOM6d+/vxk1apRVv2TJEhMUFGSef/55s3HjRjN+/HhTq1Yts3btWqtmwoQJJjIy0nz66afmhx9+MD179jSJiYmmqKjIqunevbu55JJLTE5Ojvnuu+9M8+bNTd++fa31WVlZxuFwmMcff9z8+9//Nrm5uSY9Pd00adLEHDp0qMznx915AABUP2V9//ZriDLGmFdeecU0btzYBAcHm+TkZLNs2TJrXZcuXczAgQO96j/++GPTokULExwcbFq3bm0+//xzr/Uej8eMHTvWREdHm5CQENOtWzezadMmr5q9e/eavn37mjp16piIiAgzePBgs3//fq+ajz76yFxyySUmPDzcNGjQwNx4441m48aN5To3QhQAANVPWd+/HcacZqY0zkphYaGcTqfcbrciIiL83Q4AACiDsr5/c3ceAACADYQoAAAAGwhRAAAANhCiAAAAbCBEAQAA2ECIAgAAsIEQBQAAYAMhCgAAwAZCFAAAgA2EKAAAABsIUQAAADYQogAAAGwgRAEAANhAiAIAALAhyO6GBQUF2rJliySpWbNmioyMrKieAAAAqrxyX4navn27evTooaioKKWkpCglJUVRUVG6/vrrtX37dh+0CAAAUPWU60rUzp071bFjR9WqVUtPPvmkWrVqJUnasGGDXn/9daWmpmrFihU6//zzfdIsAABAVeEwxpiyFg8ZMkRbtmzRl19+qdDQUK91RUVF6t69u5o3b6633nqrwhutjgoLC+V0OuV2uxUREeHvdgAAQBmU9f27XFei5s+fr5kzZ54UoCQpLCxMTz75pPr06VP+bgEAAKqZcs2Jys/PV0JCwinXN23aVPv27TvbngAAAKq8coWo2NhYbdiw4ZTr161bp5iYmLNuCgAAoKorV4jKyMjQQw89pD179py0bvfu3XrkkUeUkZFRUb0BAABUWeWaWP77778rJSVFLpdLt912m1q2bCljjDZu3KgPP/xQMTExWrZsmerXr+/LnqsNJpYDAFD9+GRieb169ZSTk6NHH31UM2bMUEFBgSQpMjJSt956q5555hkCFAAAOCeU60rUHxljrI/1GjRoIIfDUaGN1QRciQIA1DS73EXaln9QiVHhinWG+bsdn/DJlag/cjgcatiwod3NAQBANTNzxQ6Nnr1WHiMFOKTMXknqfVljf7flN+X+sy/z5s3T7bffrocfflgbN270Wvf777/r6quvrrDmAABA1bDLXWQFKEnyGOnR2eu0y13k38b8qFwh6sMPP9SNN94ol8ul7OxsXXrppfrggw+s9UeOHNE333xT4U0CAAD/2pZ/0ApQJ5QYo+35h/zTUBVQro/znnvuOb344ou67777JEkff/yx/vrXv+rw4cMaMmSITxoEAAD+lxgVrgCHvIJUoMOhhKjaZ73v6jrPqlwhavPmzbrhhhus72+55RY1aNBAN954o44ePaqbbrqpwhsEAAD+F+sMU2avJD06e51KjFGgw6FnerU569BTnedZlStERUREKC8vT4mJidayq666SnPnztX111+vX375pcIbBAAAVUPvyxqrc4sG2p5/SAlRtc86QJ1qnlXnFg2qxRWpcoWo5ORkffHFF+rYsaPX8i5duuizzz7T9ddfX6HNAQCAqiXWGVZhAed086yqQ4gq18TyBx54QKGhoaWu69q1qz777DMNGDCgQhoDAAA124l5Vn9UUfOsKkO5HrZZWFhYpjoeLHkcD9sEAOD0Zq7YcdI8K3/PifLJwzYjIyPL9GTykpKS8uwWAACcoyp6nlVlKleIWrRokfXfxhhdd911euutt9SoUaMKbwwAAJwbKnKeVWUqV4jq0qWL1/eBgYHq2LGjmjZtWqFNAQAAVHXl/rMvAAAAIEQBAADYctYhqiwTzQEAAGqacs2J6tWrl9f3hw8f1l133aXw8HCv5bNnzz77zgAAAKqwcl2JcjqdXq/bbrtNcXFxJy0vj8mTJyshIUGhoaFKSUnR8uXLT1s/a9YstWzZUqGhoUpKStK8efO81htjNG7cOMXGxiosLExpaWnavHmzV82+ffvUr18/RUREKDIyUkOGDNGBAwdO2s/zzz+vFi1aKCQkRI0aNdLTTz9drnMDAAA1mPGjGTNmmODgYPPOO++Y9evXmzvuuMNERkaavLy8UuuXLFliAgMDzcSJE82GDRvMmDFjTK1atczatWutmgkTJhin02n+9a9/me+/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adOm5siRI5XVYqU5298TL730kqlbt645cOCAr1qsFOUdh2HDhpmrr77aa9nIkSPN5Zdf7rMe+TjPR44cOaLc3FylpaVZywICApSWlqbs7Gw/dlb5KmIsDh06pKNHj6p+/fq+atPnznYcjDHKysrSpk2b1LlzZ1+26nN2x+KJJ55Qw4YNNWTIkMpo0+fsjsOBAwfUpEkTxcfHq2fPnlq/fn1ltOszdsZhzpw5Sk1N1bBhwxQdHa02bdromWeeUUlJSWW17RMV8fvy7bffVp8+fRQeHu6rNn3Ozjh06tRJubm51kd+P/30k+bNm6frrrvOZ33yB4h9JD8/XyUlJYqOjvZaHh0drR9//NFPXflHRYzFI488ori4OK//oaobu+PgdrvVqFEjFRcXKzAwUK+99pquueYaX7frU3bG4rvvvtPbb7+tNWvWVEKHlcPOOFx44YV65513dPHFF8vtduv5559Xp06dtH79+jL/wfOqxs44/PTTT1q4cKH69eunefPmacuWLbrnnnt09OhRjR8/vjLa9omz/X25fPlyrVu3Tm+//bavWqwUdsbh1ltvVX5+vq644goZY3Ts2DHdddddevTRR33WJyEKVd6ECRM0Y8YMLV68uMZMoC2PunXras2aNTpw4ICysrI0cuRINW3aVF27dvV3a5Vm//796t+/v6ZOnaqoqCh/t+NXqampSk1Ntb7v1KmTWrVqpTfeeENPPvmkHzurXB6PRw0bNtSbb76pwMBAtW/fXr/++quee+65ah2iztbbb7+tpKQkJScn+7uVSrd48WI988wzeu2115SSkqItW7bo/vvv15NPPqmxY8f65JiEKB+JiopSYGCg8vLyvJbn5eUpJibGT135x9mMxfPPP68JEybo66+/1sUXX+zLNn3O7jgEBASoWbNmkqR27dpp48aNyszMrNYhqrxjsXXrVm3fvl033HCDtczj8UiSgoKCtGnTJl1wwQW+bdoHKuL3RK1atXTJJZdoy5YtvmixUtgZh9jYWNWqVUuBgYHWslatWsnlcunIkSMKDg72ac++cjY/EwcPHtSMGTP0xBNP+LLFSmFnHMaOHav+/fvr9ttvlyQlJSXp4MGDGjp0qP7+978rIKDiZzAxJ8pHgoOD1b59e2VlZVnLPB6PsrKyvP4VeS6wOxYTJ07Uk08+qfnz56tDhw6V0apPVdTPhMfjUXFxsS9arDTlHYuWLVtq7dq1WrNmjfW68cYbddVVV2nNmjWKj4+vzPYrTEX8TJSUlGjt2rWKjY31VZs+Z2ccLr/8cm3ZssUK05L073//W7GxsdU2QEln9zMxa9YsFRcX67bbbvN1mz5nZxwOHTp0UlA6EbKNr/5MsM+mrMPMmDHDhISEmOnTp5sNGzaYoUOHmsjISOt25P79+5tRo0ZZ9cXFxWb16tVm9erVJjY21jz00ENm9erVZvPmzf46hQpT3rGYMGGCCQ4ONp988onXrbv79+/31ylUiPKOwzPPPGO++uors3XrVrNhwwbz/PPPm6CgIDN16lR/nUKFKe9Y/Leacndeecfh8ccfN19++aXZunWryc3NNX369DGhoaFm/fr1/jqFClHecdixY4epW7euGT58uNm0aZOZO3euadiwoXnqqaf8dQoVxu7/G1dccYXp3bt3ZbfrM+Udh/Hjx5u6deuajz76yPz000/mq6++MhdccIG55ZZbfNYjIcrHXnnlFdO4cWMTHBxskpOTzbJly6x1Xbp0MQMHDrS+37Ztm5F00qtLly6V37gPlGcsmjRpUupYjB8/vvIbr2DlGYe///3vplmzZiY0NNTUq1fPpKammhkzZviha98oz1j8t5oSoowp3ziMGDHCqo2OjjbXXXedWbVqlR+6rnjl/XlYunSpSUlJMSEhIaZp06bm6aefNseOHavkrn2jvGPx448/Gknmq6++quROfas843D06FHz2GOPmQsuuMCEhoaa+Ph4c88995jff//dZ/05jPHVNS4AAICaizlRAAAANhCiAAAAbCBEAQAA2ECIAgAAsIEQBQAAYAMhCgAAwAZCFAAAgA2EKACoAQYNGqSMjAx/twGcUwhRAHxq0KBBcjgc1uu8885T9+7d9cMPP/i7tQrxx3M78briiit8drzt27fL4XBozZo1Xsv/8Y9/aPr06T47LoCTEaIA+Fz37t21a9cu7dq1S1lZWQoKCtL111/v77YqzLRp06zz27Vrl+bMmVNq3dGjR33Wg9PpVGRkpM/2D+BkhCgAPhcSEqKYmBjFxMSoXbt2GjVqlHbu3Kk9e/bo6quv1vDhw73q9+zZo+DgYOsvuCckJOjJJ59U3759FR4erkaNGmny5Mle27z44otKSkpSeHi44uPjdc899+jAgQPW+p9//lk33HCD6tWrp/DwcLVu3Vrz5s2TJP3+++/q16+fGjRooLCwMDVv3lzTpk0r8/lFRkZa5xcTE6P69etbV4xmzpypLl26KDQ0VB988IH27t2rvn37qlGjRqpdu7aSkpL00Ucfee3P4/Fo4sSJatasmUJCQtS4cWM9/fTTkqTExERJ0iWXXCKHw6GuXbtKOvnjvOLiYt13331q2LChQkNDdcUVV2jFihXW+sWLF8vhcCgrK0sdOnRQ7dq11alTJ23atKnM5w2c6whRACrVgQMH9P7776tZs2Y677zzdPvtt+vDDz9UcXGxVfP++++rUaNGuvrqq61lzz33nNq2bavVq1dr1KhRuv/++7VgwQJrfUBAgF5++WWtX79e7777rhYuXKiHH37YWj9s2DAVFxfr22+/1dq1a/Xss8+qTp06kqSxY8dqw4YN+uKLL7Rx40a9/vrrioqKqpDzPdHrxo0blZ6ersOHD6t9+/b6/PPPtW7dOg0dOlT9+/fX8uXLrW1Gjx6tCRMmWH19+OGHio6OliSr7uuvv9auXbs0e/bsUo/78MMP65///KfeffddrVq1Ss2aNVN6err27dvnVff3v/9dL7zwglauXKmgoCD99a9/rZDzBs4JPvvTxgBgjBk4cKAJDAw04eHhJjw83EgysbGxJjc31xhjTFFRkalXr56ZOXOmtc3FF19sHnvsMev7Jk2amO7du3vtt3fv3ubaa6895XFnzZplzjvvPOv7pKQkr33+0Q033GAGDx5s6/wkmdDQUOv8wsPDzf/+7/+abdu2GUlm0qRJZ9xHjx49zIMPPmiMMaawsNCEhISYqVOnllp7Yr+rV6/2Wj5w4EDTs2dPY4wxBw4cMLVq1TIffPCBtf7IkSMmLi7OTJw40RhjzKJFi4wk8/XXX1s1n3/+uZFkioqKyjMEwDmLK1EAfO6qq67SmjVrtGbNGi1fvlzp6em69tpr9fPPPys0NFT9+/fXO++8I0latWqV1q1bp0GDBnntIzU19aTvN27caH3/9ddfq1u3bmrUqJHq1q2r/v37a+/evTp06JAk6b777tNTTz2lyy+/XOPHj/ea2H733XdrxowZateunR5++GEtXbq0XOf30ksvWee3Zs0aXXPNNda6Dh06eNWWlJToySefVFJSkurXr686deroyy+/1I4dOyRJGzduVHFxsbp161auHv5o69atOnr0qC6//HJrWa1atZScnOw1ZpJ08cUXW/8dGxsrSdq9e7ftYwPnEkIUAJ8LDw9Xs2bN1KxZM1122WV66623dPDgQU2dOlWSdPvtt2vBggX65ZdfNG3aNF199dVq0qRJmfe/fft2XX/99br44ov1z3/+U7m5udacqSNHjljH+Omnn9S/f3+tXbtWHTp00CuvvCJJVqB74IEH9Ntvv6lbt2566KGHynz8mJgY6/yaNWum8PBwr3P/o+eee07/+Mc/9Mgjj2jRokVas2aN0tPTrT7DwsLKfNyKUKtWLeu/HQ6HpONzsgCcGSEKQKVzOBwKCAhQUVGRJCkpKUkdOnTQ1KlT9eGHH5Y6L2fZsmUnfd+qVStJUm5urjwej1544QV17NhRLVq00G+//XbSPuLj43XXXXdp9uzZevDBB60QJ0kNGjTQwIED9f7772vSpEl68803K/KULUuWLFHPnj112223qW3btmratKn+/e9/W+ubN2+usLAwa1L9fwsODpZ0/IrWqVxwwQUKDg7WkiVLrGVHjx7VihUrdNFFF1XQmQAI8ncDAGq+4uJiuVwuScfvhHv11Vd14MAB3XDDDVbN7bffruHDhys8PFw33XTTSftYsmSJJk6cqIyMDC1YsECzZs3S559/Lklq1qyZjh49qldeeUU33HCDlixZoilTpnhtP2LECF177bVq0aKFfv/9dy1atMgKYePGjVP79u3VunVrFRcXa+7cuda6ita8eXN98sknWrp0qerVq6cXX3xReXl5VrgJDQ3VI488oocffljBwcG6/PLLtWfPHq1fv15DhgxRw4YNFRYWpvnz5+v8889XaGionE6n1zHCw8N19913629/+5vq16+vxo0ba+LEiTp06JCGDBnik/MCzkVciQLgc/Pnz1dsbKxiY2OVkpKiFStWaNasWdbt+ZLUt29fBQUFqW/fvgoNDT1pHw8++KBWrlypSy65RE899ZRefPFFpaenS5Latm2rF198Uc8++6zatGmjDz74QJmZmV7bl5SUaNiwYWrVqpW6d++uFi1a6LXXXpN0/OrO6NGjdfHFF6tz584KDAzUjBkzfDIWY8aM0aWXXqr09HR17dpVMTExJz1pfOzYsXrwwQc1btw4tWrVSr1797bmKQUFBenll1/WG2+8obi4OPXs2bPU40yYMEE333yz+vfvr0svvVRbtmzRl19+qXr16vnkvIBzkcMYY/zdBABs375dF1xwgVasWKFLL73Ua11CQoJGjBihESNG+Kc5ACgFH+cB8KujR49q7969GjNmjDp27HhSgAKAqoqP8wD41ZIlSxQbG6sVK1acNI/J35555hnVqVOn1Ne1117r7/YA+Bkf5wHAKezbt++kJ3yfEBYWpkaNGlVyRwCqEkIUAACADXycBwAAYAMhCgAAwAZCFAAAgA2EKAAAABsIUQAAADYQogAAAGwgRAEAANhAiAIAALDh/wG5+CuoCvZ5jgAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_49.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAHHCAYAAACfqw0dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABUjUlEQVR4nO3dfVhUdd4/8PfMADOIMiMhzMCioGJqorgiE2qiObtoZpJ2h8T6tCjtpqWZa+qq9OCGopW3ZVGW2l0qRrlmZhSB5aaEiJoKZmqYDzEoEoM8CMh8f3/482yTiHBkGMD367rORXPO58z5nK8s897zNAohhAARERERNYrS0Q0QERERtUYMUUREREQyMEQRERERycAQRURERCQDQxQRERGRDAxRRERERDIwRBERERHJwBBFREREJANDFBEREZEMDFFE1KY999xzUCgUDapVKBR47rnn7NrPsGHDMGzYsBb7fkTUcAxRRNQsNmzYAIVCIU1OTk7w9fXFlClTcP78eUe31+L4+/vbjJeXlxfuu+8+/Pvf/26S96+oqMBzzz2Hr7/+uknej+hOxBBFRM3qhRdewPvvv4+kpCSMGjUKH3zwAcLDw3HlyhW7bG/RokWorKy0y3vbW3BwMN5//328//77mDt3Ln755ReMGzcOSUlJt/3eFRUVeP755xmiiG6Dk6MbIKI7y6hRoxASEgIAmDZtGjw9PbF8+XJs374djz76aJNvz8nJCU5OrfNPna+vL/7yl79IrydNmoTu3bvj1Vdfxd/+9jcHdkZEAI9EEZGD3XfffQCAU6dO2cz/4Ycf8Mgjj8DDwwMajQYhISHYvn27TU1NTQ2ef/55BAYGQqPR4K677sKQIUOQlpYm1dR1TVRVVRWefvppdOrUCR06dMBDDz2Ec+fO3dDblClT4O/vf8P8ut5z/fr1uP/+++Hl5QW1Wo3evXvjzTffbNRY3Iper0evXr2Qn59fb92FCxcQGxsLb29vaDQa9OvXD++99560/PTp0+jUqRMA4Pnnn5dOGdr7ejCitqZ1/t8zImozTp8+DQDo2LGjNC83NxeDBw+Gr68v5s+fDzc3N3z44YeIjIzExx9/jIcffhjAtTCTkJCAadOmITQ0FKWlpdi/fz8OHDiAP/3pTzfd5rRp0/DBBx/gsccew6BBg5CRkYHRo0ff1n68+eabuOeee/DQQw/ByckJn376KZ544glYrVbMmDHjtt77upqaGpw9exZ33XXXTWsqKysxbNgwnDx5EjNnzkRAQABSUlIwZcoUlJSUYNasWejUqRPefPNN/P3vf8fDDz+McePGAQD69u3bJH0S3TEEEVEzWL9+vQAgvvrqK3Hx4kVx9uxZ8dFHH4lOnToJtVotzp49K9WOGDFCBAUFiStXrkjzrFarGDRokAgMDJTm9evXT4wePbre7cbHx4vf/qk7dOiQACCeeOIJm7rHHntMABDx8fHSvMmTJ4suXbrc8j2FEKKiouKGuoiICNG1a1ebeeHh4SI8PLzenoUQokuXLuLPf/6zuHjxorh48aL4/vvvxYQJEwQA8eSTT970/VatWiUAiA8++ECaV11dLcLCwkT79u1FaWmpEEKIixcv3rC/RNQ4PJ1HRM3KZDKhU6dO8PPzwyOPPAI3Nzds374df/jDHwAAxcXFyMjIwKOPPorLly+jqKgIRUVFuHTpEiIiInDixAnpbj6dTofc3FycOHGiwdvfuXMnAOCpp56ymT979uzb2i9XV1fpvy0WC4qKihAeHo6ffvoJFotF1nt++eWX6NSpEzp16oR+/fohJSUFEydOxPLly2+6zs6dO6HX6xEdHS3Nc3Z2xlNPPYWysjJ88803snohohvxdB4RNas1a9agR48esFgsWLduHXbv3g21Wi0tP3nyJIQQWLx4MRYvXlzne1y4cAG+vr544YUXMHbsWPTo0QN9+vTByJEjMXHixHpPS/38889QKpXo1q2bzfy77777tvZrz549iI+PR2ZmJioqKmyWWSwWaLXaRr+n0WjE0qVLoVAo0K5dO/Tq1Qs6na7edX7++WcEBgZCqbT9/8i9evWSlhNR02CIIqJmFRoaKt2dFxkZiSFDhuCxxx7D8ePH0b59e1itVgDA3LlzERERUed7dO/eHQAwdOhQnDp1Cp988gm+/PJLvPPOO3j11VeRlJSEadOm3XavN3tIZ21trc3rU6dOYcSIEejZsydeeeUV+Pn5wcXFBTt37sSrr74q7VNjeXp6wmQyyVqXiOyPIYqIHEalUiEhIQHDhw/H66+/jvnz56Nr164Arp2CakiA8PDwwNSpUzF16lSUlZVh6NCheO65524aorp06QKr1YpTp07ZHH06fvz4DbUdO3ZESUnJDfN/fzTn008/RVVVFbZv347OnTtL83ft2nXL/ptaly5dcPjwYVitVpujUT/88IO0HLh5QCSihuM1UUTkUMOGDUNoaChWrVqFK1euwMvLC8OGDcNbb72FgoKCG+ovXrwo/felS5dslrVv3x7du3dHVVXVTbc3atQoAMDq1att5q9ateqG2m7dusFiseDw4cPSvIKCghueGq5SqQAAQghpnsViwfr162/ah7088MADMJvN2LJlizTv6tWreO2119C+fXuEh4cDANq1awcAdYZEImoYHokiIof7xz/+gf/5n//Bhg0b8Le//Q1r1qzBkCFDEBQUhOnTp6Nr164oLCxEZmYmzp07h++//x4A0Lt3bwwbNgwDBgyAh4cH9u/fj48++ggzZ8686baCg4MRHR2NN954AxaLBYMGDUJ6ejpOnjx5Q+2ECRPw7LPP4uGHH8ZTTz2FiooKvPnmm+jRowcOHDgg1f35z3+Gi4sLxowZg8cffxxlZWVYu3YtvLy86gyC9hQXF4e33noLU6ZMQU5ODvz9/fHRRx9hz549WLVqFTp06ADg2oXwvXv3xpYtW9CjRw94eHigT58+6NOnT7P2S9SqOfr2QCK6M1x/xEF2dvYNy2pra0W3bt1Et27dxNWrV4UQQpw6dUpMmjRJ6PV64ezsLHx9fcWDDz4oPvroI2m9pUuXitDQUKHT6YSrq6vo2bOn+Ne//iWqq6ulmroeR1BZWSmeeuopcddddwk3NzcxZswYcfbs2Tpv+f/yyy9Fnz59hIuLi7j77rvFBx98UOd7bt++XfTt21doNBrh7+8vli9fLtatWycAiPz8fKmuMY84uNXjG272foWFhWLq1KnC09NTuLi4iKCgILF+/fob1t27d68YMGCAcHFx4eMOiGRQCPGb489ERERE1CC8JoqIiIhIBoYoIiIiIhkYooiIiIhkYIgiIiIikoEhioiIiEgGhigiIiIiGfiwTTuyWq345Zdf0KFDB37FAhERUSshhMDly5fh4+Nzw5d5/xZDlB398ssv8PPzc3QbREREJMPZs2fxhz/84abLGaLs6PrXK5w9exbu7u4O7oaIiIgaorS0FH5+ftLn+M0wRNnR9VN47u7uDFFEREStzK0uxeGF5UREREQyMEQRERERycAQRURERCQDr4lysNraWtTU1Di6DYdzdnaGSqVydBtEREQNxhDlIEIImM1mlJSUOLqVFkOn00Gv1/OZ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pvtTVVWF0tJSm4mIiIjaJoeGqKKiItTW1sLb29tmvre3N8xmc53rmM3meuuv/7xVjZeXl81yJycneHh41LndK1euYOPGjYiNja13fxISEqDVaqXJz8+v3noiIiJqvRx+TVRr8O9//xuXL1/G5MmT661bsGABLBaLNJ09e7aZOiQiIqLm5tAQ5enpCZVKhcLCQpv5hYWF0Ov1da6j1+vrrb/+81Y1v79w/erVqyguLq5zu++88w4efPDBG45u/Z5arYa7u7vNRERERG2TQ0OUi4sLBgwYgPT0dGme1WpFeno6wsLC6lwnLCzMph4A0tLSpPqAgADo9XqbmtLSUmRlZUk1YWFhKCkpQU5OjlSTkZEBq9UKo9Fo8975+fnYtWvXLU/lERER0Z3FydENzJkzB5MnT0ZISAhCQ0OxatUqlJeXY+rUqQCASZMmwdfXFwkJCQCAWbNmITw8HC+//DJGjx6N5ORk7N+/H2+//TYAQKFQYPbs2Vi6dCkCAwMREBCAxYsXw8fHB5GRkQCAXr16YeTIkZg+fTqSkpJQU1ODmTNnYsKECfDx8bHpb926dTAYDBg1alTzDQoRERG1eA4PUVFRUbh48SKWLFkCs9mM4OBgpKamSqfOzpw5A6XyvwfMBg0ahE2bNmHRokVYuHAhAgMDsW3bNvTp00eqmTdvHsrLyxEXF4eSkhIMGTIEqamp0Gg0Us3GjRsxc+ZMjBgxAkqlEuPHj8fq1atterNardiwYQOmTJkClUpl55EgIiKi1kQhhBCObqKtKi0thVarhcVi4fVRRERErURDP795dx4RERGRDAxRRERERDIwRBERERHJwBBFREREJANDFBEREZEMDFFEREREMjBEEREREcnAEEVEREQkA0MUERERkQwMUUREREQyMEQRERERycAQRURERCQDQxQRERGRDAxRRERERDIwRBERERHJwBBFREREJANDFBEREZEMDFFEREREMjBEEREREcnAEEVEREQkA0MUERERkQwMUUREREQyMEQRERERycAQRURERCQDQxQRERGRDAxRRERERDIwRBERERHJwBBFREREJANDFBEREZEMDFFEREREMjBEEREREcng8BC1Zs0a+Pv7Q6PRwGg0Yt++ffXWp6SkoGfPntBoNAgKCsLOnTttlgshsGTJEhgMBri6usJkMuHEiRM2NcXFxYiJiYG7uzt0Oh1iY2NRVlZ2w/usXLkSPXr0gFqthq+vL/71r381zU4TERFRq+fQELVlyxbMmTMH8fHxOHDgAPr164eIiAhcuHChzvq9e/ciOjoasbGxOHjwICIjIxEZGYmjR49KNYmJiVi9ejWSkpKQlZUFNzc3RERE4MqVK1JNTEwMcnNzkZaWhh07dmD37t2Ii4uz2dasWbPwzjvvYOXKlfjhhx+wfft2hIaG2mcgiIiIqPURDhQaGipmzJghva6trRU+Pj4iISGhzvpHH31UjB492mae0WgUjz/+uBBCCKvVKvR6vVixYoW0vKSkRKjVarF582YhhBB5eXkCgMjOzpZqPv/8c6FQKMT58+elGicnJ/HDDz/c1v5ZLBYBQFgsltt6HyIiImo+Df38dtiRqOrqauTk5MBkMknzlEolTCYTMjMz61wnMzPTph4AIiIipPr8/HyYzWabGq1WC6PRKNVkZmZCp9MhJCREqjGZTFAqlcjKygIAfPrpp+jatSt27NiBgIAA+Pv7Y9q0aSguLq53n6qqqlBaWmozERERUdvksBBVVFSE2tpaeHt728z39vaG2Wyucx2z2Vxv/fWft6rx8vKyWe7k5AQPDw+p5qeffsLPP/+MlJQU/N///R82bNiAnJwcPPLII/XuU0JCArRarTT5+fnVW09EREStl8MvLG+JrFYrqqqq8H//93+47777MGzYMLz77rvYtWsXjh8/ftP1FixYAIvFIk1nz55txq6JiIioOTksRHl6ekKlUqGwsNBmfmFhIfR6fZ3r6PX6euuv/7xVze8vXL969SqKi4ulGoPBACcnJ/To0UOq6dWrFwDgzJkzN90ntVoNd3d3m4mIiIjaJoeFKBcXFwwYMADp6enSPKvVivT0dISFhdW5TlhYmE09AKSlpUn1AQEB0Ov1NjWlpaXIysqSasLCwlBSUoKcnBypJiMjA1arFUajEQAwePBgXL16FadOnZJqfvzxRwBAly5dbme3iYiIqK1opgvd65ScnCzUarXYsGGDyMvLE3FxcUKn0wmz2SyEEGLixIli/vz5Uv2ePXuEk5OTWLlypTh27JiIj48Xzs7O4siRI1LNsmXLhE6nE5988ok4fPiwGDt2rAgICBCVlZVSzciRI0X//v1FVlaW+Pbbb0VgYKCIjo6WltfW1oo//vGPYujQoeLAgQNi//79wmg0ij/96U+N2j/enUdERNT6NPTz26EhSgghXnvtNdG5c2fh4uIiQkNDxXfffSctCw8PF5MnT7ap//DDD0WPHj2Ei4uLuOeee8Rnn31ms9xqtYrFixcLb29voVarxYgRI8Tx48dtai5duiSio6NF+/bthbu7u5g6daq4fPmyTc358+fFuHHjRPv27YW3t7eYMmWKuHTpUqP2jSGKiIio9Wno57dCCCEceyys7SotLYVWq4XFYuH1UURERK1EQz+/eXceERERkQwMUUREREQyMEQRERERycAQRURERCQDQxQRERGRDAxRRERERDIwRBERERHJwBBFREREJANDFBEREZEMDFFEREREMjBEEREREcnAEEVEREQkA0MUERERkQwMUUREREQyMEQRERERycAQRURERCQDQxQRERGRDAxRRERERDIwRBERERHJwBBFREREJANDFBEREZEMDFFEREREMjBEEREREcnAEEVEREQkA0MUERERkQwMUUREREQyMEQRERERycAQRURERCQDQxQRERGRDAxRRERE1GAFlkrsPVWEAkulo1txuBYRotasWQN/f39oNBoYjUbs27ev3vqUlBT07NkTGo0GQUFB2Llzp81yIQSWLFkCg8EAV1dXmEwmnDhxwqamuLgYMTExcHd3h06nQ2xsLMrKyqTlp0+fhkKhuGH67rvvmm7HiYiIWpEt2WcweFkGHlubhcHLMrAl+4yjW3Ioh4eoLVu2YM6cOYiPj8eBAwfQr18/RERE4MKFC3XW7927F9HR0YiNjcXBgwcRGRmJyMhIHD16VKpJTEzE6tWrkZSUhKysLLi5uSEiIgJXrlyRamJiYpCbm4u0tDTs2LEDu3fvRlxc3A3b++qrr1BQUCBNAwYMaPpBICIiauEKLJVYsPUIrOLaa6sAFm49ekcfkVIIIYQjGzAajRg4cCBef/11AIDVaoWfnx+efPJJzJ8//4b6qKgolJeXY8eOHdK8e++9F8HBwUhKSoIQAj4+PnjmmWcwd+5cAIDFYoG3tzc2bNiACRMm4NixY+jduzeys7MREhICAEhNTcUDDzyAc+fOwcfHB6dPn0ZAQAAOHjyI4OBgWftWWloKrVYLi8UCd3d3We9BRETUEuw9VYTH1mbdMH/z9HsR1u0uB3RkPw39/Hbokajq6mrk5OTAZDJJ85RKJUwmEzIzM+tcJzMz06YeACIi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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_50.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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O1Yff/yxTpw4oSZNmmjSpElXfLfJS+1PksaOHaubb75ZkydPdi/7/b8wAU/z9/dXSkqKunTpojfffFNPPfWU6tevL+nscMXlnKSrV6+u++67T/fdd59yc3PVsWNHjR8//oJBJS4uTkVFRUpPTy/Wi7Jjx44S61arVk0nTpwosfz3vRL//ve/5XK5tGjRItWtW9e9fPXq1Zesv6zFxcXp+++/V1FRUbFelR9++MH9uXThEAbg8pWboZ9LGTFihL7++mvNmTNH33//ve644w7ddNNNpRp3L42ioiJ99tlnSkxMVI8ePRQVFaU2bdp4fEgKOJ/OnTurdevWmjp1qn755RdFRUWpc+fOevfdd5WZmVli/SNHjrj/++jRo8U+q1KlihISEuRyuS64v3Mh/vXXXy+2fOrUqSXWbdCggbKzs4sNJ2VmZpa4O6y/v78kyRjjXpadna3U1NQL1uEpN998sw4dOqS5c+e6l505c0ZvvPGGqlSpok6dOkmSKleuLEnnDWIALk+56VG5mH379ik1NVX79u1TrVq1JJ3t8l6yZIlSU1M1YcKEMt/n4cOHlZubq4kTJ+rFF1/UpEmTtGTJEvXt21erV692/5AB3vLEE0/ojjvu0MyZM/Xggw/qrbfeUocOHZSUlKS//OUvql+/vn7++Wd9/fXXOnDggP773/9Kkq699lp17txZLVu2VPXq1bV+/XrNnz9fI0aMuOC+mjdvrv79++vtt99Wdna22rVrp5UrV2rXrl0l1r3rrrs0evRo9enTRyNHjlReXp6mTZumxMREbdy40b3ejTfeqMDAQPXq1Uv/7//9P+Xm5mr69OmKioo6b9jypAceeEDvvvuuBg8erA0bNig+Pl7z58/X2rVrNXXqVFWtWlXS2cm/1157rebOnavExERVr15dTZo0UZMmTbxaL+DTrL7syBMkmYULF7rff/rpp0aSCQ0NLfYKCAgwd955pzHGmO3btxtJF32NHj36svZnjDE//fSTkWT69+9fbHmvXr3MXXfdVabHC5xz7vLktLS0Ep8VFhaaBg0amAYNGpgzZ84YY4xJT0839957r4mOjjaVKlUytWvXNrfeequZP3++++9efPFF07p1axMeHm5CQkJMo0aNzEsvvWROnz7tXud8lxLn5+ebkSNHmho1apjQ0FDTq1cvs3///vNerrts2TLTpEkTExgY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AKB8I6gAAADbIqgAAADbIqgAAADbIqgAAADbIqgAAADbIqgAAADbIqgAwGUYPHiwevfubXUZQIVDUAF83ODBg+VwONyvGjVq6KabbtL3339vdWll4rfHdu7VoUMHj+1vz549cjgc2rRpU7Hlf//73zVz5kyP7RfA+RFUgHLgpptuUmZmpjIzM7Vy5UoFBATo1ltvtbqsMpOamuo+vszMTC1atOi86xUUFHisBqfTqfDwcI9tH8D5EVSAciAoKEjR0dGKjo5W8+bN9dRTT2n//v06cuSIunbtqhEjRhRb/8iRIwoMDHQ/OTU+Pl4vvPCC+vfvr9DQUNWuXVtvvfVWsb957bXXlJSUpNDQUMXGxmrYsGHKzc11f75371716tVL1apVU2hoqK677jotXrxYknT8+HENGDBAkZGRCgkJUcOGDZWamnrZxxceHu4+vujoaFWvXt3d8zF37lx16tRJwcHBmj17to4ePar+/furdu3aqly5spKSkvTxxx8X215RUZEmT56shIQEBQUFqW7dunrppZckSfXq1ZMktWjRQg6HQ507d5ZUcujH5XJp5MiRioqKUnBwsDp06KC0tDT352vWrJHD4dDKlSuVnJysypUrq127dtqxY8dlHzcAggpQ7uTm5mrWrFlKSEhQjRo1NHToUH300UdyuVzudWbNmqXatWura9eu7mUvv/yymjVrpu+++05PPfWUHn74YS1fvtz9uZ+fn15//XVt3bpVH3zwgVatWqUnn3zS/fnw4cPlcrn05ZdfavPmzZo0aZKqVKkiSXr22We1bds2ff7559q+fbumTZumiIiIMjnec7Vu375dPXr00C+//KKWLVvqs88+05YtW/TAAw9o4MCB+vbbb91/M2bMGE2cONFd10cffaSaNWtKknu9FStWKDMzUwsWLDjvfp988kn985//1AcffKCNGzcqISFBPXr00LFjx4qtN3bsWL366qtav369AgICdP/995fJcQMVhkcfeQjA4wYNGmT8/f1NaGioCQ0NNZJMTEyM2bBhgzHGmPz8fFOtWjUzd+5c9980bdrUjB8/3v0+Li7O3HTTTcW2269fP9OzZ88L7nfevHmmRo0a7vdJSUnFtvlbvXr1Mvfdd98VHZ8kExwc7D6+0NBQs3DhQveT0KdOnXrJbdxyyy3mscceM8YYk5OTY4KCgsz06dPPu+657X733XfFlv/2adK5ubmmUqVKZvbs2e7PT58+bWrVqmUmT55sjDFm9erVRpJZsWKFe53PPvvMSDL5+fmlaQKgQqNHBSgHunTpok2bNmnTpk369ttv1aNHD/Xs2VN79+5VcHCwBg4cqPfff1+StHHjRm3ZskWDBw8uto22bduWeL99+3b3+xUrVuiGG25Q7dq1VbVqVQ0cOFBHjx5VXl6eJGnkyJF68cUX1b59e40bN67YZN6HHnpIc+bMUfPmzfXkk09q3bp1pTq+KVOmuI9v06ZN6t69u/uz5OTkYusWFhbqhRdeUFJSkqpXr64qVapo6dKl2rdvnyRp+/btcrlcuuGGG0pVw2+lp6eroKBA7du3dy+rVKmSWrduXazNJKlp06bu/46JiZEkHT58+Ir3DVQ0BBWgHAgNDVVCQoISEhLUqlUr/eMf/9CpU6c0ffp0SdLQoUO1fPlyHThwQKmpqeratavi4uIue/t79uzRrbfeqqZNm+qf//ynNmzY4J7Dcvr0afc+du/erYEDB2rz5s1KTk7WG2+8IUnu0PTII4/o4MGDuuGGG/T4449f9v6jo6Pdx5eQkKDQ0NBix/5bL7/8sv7+979r9OjRWr16tTZt2qQePXq46wwJCbns/ZaFSpUquf/b4XBIOjtHBsDlIagA5ZDD4ZCfn5/y8/MlSUlJSUpOTtb06dP10UcfnXeexDfffFPifePGjSVJGzZsUFFRkV599VX98Y9/VGJiog4ePFhiG7GxsXrwwQe1YMECPfbYY+6gJEmRkZEaNGiQZs2apalTp+q9994ry0N2W7t2rW6//Xbdc889atasmerXr68ff/zR/XnDhg0VEhLinkj8e4GBgZLO9sxcSIMGDRQYGKi1a9e6lxUUFCgtLU3XXnttGR0JAEkKsLoAAFfP5XLp0KFDks5eYfPmm28qNzdXvXr1cq8zdOhQjRgxQqGhoerTp0+Jbaxdu1aTJ09W7969tXz5cs2bN0+fffaZJCkhIUEFBQV644031KtXL61du1bvvPNOsb8fNWqUevbsqcTERB0/flyrV692B52//e1vatmypa677jq5XC59+umn7s/KWsOGDTV//nytW7dO1apV02uvvaaff/7ZHSCCg4M1evRoPfnkkwoMDFT79u115MgRbd26VUOGDFFUVJRCQkK0ZMkS1alTR8HBwXI6ncX2ERoaqoceekhPPPGEqlevrrp162ry5MnKy8vTkCFDPHJcQEVFjwpQDixZskQxMTGKiYlRmzZtlJaWpnnz5rkvrZWk/v37KyAgQP3791dwcHCJbTz22GNav369WrRooRdffFGvvfaaevToIUlq1qyZXnvtNU2aNElNmjTR7NmzlZKSUuzvCwsLNXz4cDVu3Fg33XSTEhMT9fbbb0s620sxZswYNW3aVB07dpS/v7/mzJnjkbZ45pln9Ic//EE9evRQ586dFR0dXeKOss8++6wee+wx/e1vf1Pjxo3Vr18/97yRgIAAvf7663r33XdVq1Yt3X777efdz8SJE/WnP/1JAwcO1B/+8Aft2rVLS5cuVbVq1TxyXEBF5TDGGKuLAOB5e/bsUYMGDZSWlqY//OEPxT6Lj4/XqFGjNGrUKGuKA4ALYOgHKOcKCgp09OhRPfPMM/rjH/9YIqQAgJ0x9AOUc2vXrlVMTIzS0tJKzCux2oQJE1SlSpXzvnr27Gl1eQBsgKEfAJY5duxYiTu5nhMSEqLatWt7uSIAdkNQAQAAtsXQDwAAsC2CCgAAsC2CCgAAsC2CCgAAsC2CCgAAsC2CCgAAsC2CCgAAsC2CCgAAsK3/DyDLT9Lsmp3vAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_51.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABJAklEQVR4nO3deVyU5f7/8feArCKjBgIaimJuibibmoJFcapjmXUk9ah50pbTonFaxMy1RDu5lJp6POXSJuYxtfSnGYX7ORkumamlQpghiiYo4Mbcvz/8OjmJCuPgMMPr+XjM4+Fcc933fO67O+ftdV/3fZsMwzAEAADgJjycXQAAAIAjEW4AAIBbIdwAAAC3QrgBAABuhXADAADcCuEGAAC4FcINAABwK4QbAADgVgg3AADArRBuADjF6NGjZTKZStXXZDJp9OjR5VpPbGysYmNjK+z6AJQe4Qao5ObNmyeTyWR9ValSRXXq1NGjjz6qQ4cOObu8CiciIsJmf9WqVUtdunTRp59+6pD1FxYWavTo0UpLS3PI+oDKiHADQJI0duxYvf/++5o1a5buueceffDBB4qJidHp06fL5ftGjBihoqKicll3eWvZsqXef/99vf/++3rhhRf066+/qmfPnpo1a9Z1r7uwsFBjxowh3ADXoYqzCwBQMdxzzz1q27atJGnQoEEKCgrSxIkTtXz5cvXq1cvh31elShVVqeKafwXVqVNHf/3rX63v+/fvr4YNG2rKlCl68sknnVgZAImRGwBX0KVLF0nS/v37bdr37Nmjhx9+WDVr1pSvr6/atm2r5cuX2/Q5d+6cxowZo1tuuUW+vr666aabdPvtt2vNmjXWPiXNuTlz5oyef/55BQcHq1q1arr//vv1yy+/XFbbo48+qoiIiMvaS1rn3Llzdccdd6hWrVry8fFRs2bNNHPmzDLti2sJDQ1V06ZNlZGRcdV+R44c0WOPPaaQkBD5+voqOjpa8+fPt36emZmp4OBgSdKYMWOsp77Ke74R4G5c859NAMpdZmamJKlGjRrWtl27dqlz586qU6eOhg0bpqpVq2rRokXq0aOH/vOf/+jBBx+UdCFkJCcna9CgQWrfvr3y8/P17bffauvWrbrrrruu+J2DBg3SBx98oD59+qhTp0766quvdN99913XdsycOVO33nqr7r//flWpUkWfffaZ/v73v8tisejpp5++rnVfdO7cOR08eFA33XTTFfsUFRUpNjZW+/bt0zPPPKP69evrk08+0aOPPqoTJ05oyJAhCg4O1syZM/XUU0/pwQcfVM+ePSVJLVq0cEidQKVhAKjU5s6da0gyvvzyS+Po0aPGwYMHjcWLFxvBwcGGj4+PcfDgQWvfO++804iKijJOnz5tbbNYLEanTp2MW265xdoWHR1t3HfffVf93lGjRhmX/hW0fft2Q5Lx97//3aZfnz59DEnGqFGjrG0DBgww6tWrd811GoZhFBYWXtYvPj7eaNCggU1bTEyMERMTc9WaDcMw6tWrZ9x9993G0aNHjaNHjxo7duwwHnnkEUOS8eyzz15xfVOnTjUkGR988IG17ezZs0bHjh2NgIAAIz8/3zAMwzh69Ohl2wugbDgtBUCSFBcXp+DgYIWHh+vhhx9W1apVtXz5ct18882SpOPHj+urr75Sr169dPLkSeXm5io3N1fHjh1TfHy8fvrpJ+vVVdWrV9euXbv0008/lfr7V65cKUl67rnnbNqHDh16Xdvl5+dn/XNeXp5yc3MVExOjAwcOKC8vz651fvHFFwoODlZwcLCio6P1ySefqF+/fpo4ceIVl1m5cqVCQ0PVu3dva5uXl5eee+45nTp1SmvXrrWrFgCXq9ThZt26derevbtq164tk8mkpUuXluv3nTx5UkOHDlW9evXk5+enTp06acuWLeX6nUBpzZgxQ2vWrNHixYt17733Kjc3Vz4+PtbP9+3bJ8Mw9Oqrr1p/2C++Ro0aJenCnBLpwpVXJ06cUKNGjRQVFaUXX3xR33333VW//+eff5aHh4ciIyNt2hs3bnxd27Vx40bFxcWpatWqql69uoKDgzV8+HBJsjvcdOjQQWvWrNGXX36pTZs2KTc3VwsWLLAJUn/0888/65ZbbpGHh+1fu02bNrV+DsAxKvWcm4KCAkVHR+tvf/ub9dx2eRo0aJC+//57vf/++6pdu7Y++OADxcXF6YcfflCdOnXK/fuBq2nfvr31aqkePXro9ttvV58+fbR3714FBATIYrFIkl544QXFx8eXuI6GDRtKkrp27ar9+/dr2bJl+uKLL/Tvf/9bU6ZM0axZszRo0KDrrvVKN/8rLi62eb9//37deeedatKkiSZPnqzw8HB5e3tr5cqVmjJlinWbyiooKEhxcXF2LQug/FXqcHPPPffonnvuueLnZ86c0SuvvKKPP/5YJ06cUPPmzTVx4kS77jpaVFSk//znP1q2bJm6du0q6cKky88++0wzZ87Ua6+9Zu9mAA7n6emp5ORkdevWTdOnT9ewYcPUoEEDSRdOpZTmh71mzZoaOHCgBg4cqFOnTqlr164aPXr0FcNNvXr1ZLFYtH//fpvRmr17917Wt0aNGjpx4sRl7X8c/fjss8905swZLV++XHXr1rW2f/3119es39Hq1aun7777ThaLxWb0Zs+ePdbPpSsHNwClV6lPS13LM888o82bN2vhwoX67rvv9Je//EV/+tOfyjSP4KLz58+ruLhYvr6+Nu1+fn7asGGDo0oGHCY2Nlbt27fX1KlTdfr0adWqVUuxsbGaPXu2srOzL+t/9OhR65+PHTtm81lAQIAaNmyoM2fOXPH7Lv5D4+2337Zpnzp16mV9IyMjlZeXZ3OqKzs7+7K7BHt6ekqSDMOwtuXl5Wnu3LlXrKO83HvvvTp8+LBSUlKsbefPn9e0adMUEBCgmJgYSZK/v78klRjeAJROpR65uZqsrCzNnTtXWVlZql27tqQLw/GrVq3S3LlzNX78+DKtr1q1aurYsaPGjRunpk2bKiQkRB9//LE2b95sHcoHKpoXX3xRf/nLXzRv3jw9+eSTmjFjhm6//XZFRUVp8ODBatCggXJycrR582b98ssv2rFjhySpWbNmio2NVZs2bVSzZk19++23Wrx4sZ555pkrflfLli3Vu3dvvfPOO8rLy1OnTp2Umpqqffv2Xdb3kUce0csvv6wHH3xQzz33nAoLCzVz5kw1atRIW7dutfa7++675e3tre7du+uJJ57QqVOnNGfOHNWqVavEgFaeHn/8cc2ePVuPPvqo0tPTFRERocWLF2vjxo2aOnWqqlWrJunCP3iaNWumlJQUNWrUSDVr1lTz5s3VvHnzG1ov4NKcfblWRSHJ+PTTT63vP//8c0OSUbVqVZtXlSpVjF69ehmGYRi7d+82JF319fLLL1vXuW/fPqNr166GJMPT09No166d0bdvX6NJkyY3enMBq4uXgm/ZsuWyz4qLi43IyEgjMjLSOH/+vGEYhrF//36jf//+RmhoqOHl5WXUqVPH+POf/2wsXrzYutxrr71mtG/f3qhevbrh5+dnNGnSxHj99deNs2fPWvuUdNl2UVGR8dxzzxk33XSTUbVqVaN79+7GwYMHS7w0+osvvjCaN29ueHt7G40bNzY++OCDEte5fPlyo0WLFoavr68RERFhTJw40XjvvfcMSUZGRoa1X1kuBb/WZe5XWl9OTo4xcOBAIygoyPD29jaioqKMuXPnXrbspk2bjDZt2hje3t5cFg7YwWQYl4zXVmImk0mffvqpevToIUlKSUlR3759tWvXLuvQ9kUBAQEKDQ3V2bNndeDAgauu96abbrLecfSigoIC5efnKywsTAkJCTp16pRWrFjh0O0BAKCy4rTUFbRq1UrFxcU6cuSI9Tb0f+Tt7a0mTZqUed1Vq1ZV1apV9dtvv2n16tV64403rrdcAADwfyp1uDl16pTN+fyMjAxt375dNWvWVKNGjdS3b1/1799fkyZNUqtWrXT06FGlpqaqRYsWdt0SfvXq1TIMQ40bN9a+ffv04osvqkmTJho4cKAjNwsAgEqtUp+WSktLU7du3S5rHzBggObNm6dz587ptdde04IFC3To0CEFBQXptttu05gxYxQVFVXm71u0aJGSkpL0yy+/qGbNmnrooYf0+uuvy2w2O2JzAACAKnm4AQAA7of73AAAALdCuAEAAG6l0k0otlgs+vXXX1WtWjVucw4AgIswDEMnT55U7dq1L3sA7R9VunDz66+/Kjw83NllAAAAOxw8eFA333zzVftUunBz8RbnBw8eVGBgoJOrAQAApZGfn6/w8HDr7/jVODXcrFu3Tv/85z+Vnp5ufejdxTsEl2TJkiWaOXOmtm/frjNnzujWW2/V6NGjFR8fX+rvvHgqKjAwkHADAICLKc2UEqdOKC4oKFB0dLRmzJhRqv7r1q3TXXfdpZUrVyo9PV3dunVT9+7dtW3btnKuFAAAuIoKc5+bPz7bqbRuvfVWJSQkaOTIkaXqn5+fL7PZrLy8PEZuAABwEWX5/XbpOTcWi0UnT55UzZo1r9jnzJkzOnPmjPV9fn7+jSgNAAA4iUuHmzfffFOnTp1Sr169rtgnOTlZY8aMKfO6i4uLde7cuespD27Ay8vrsqfCAwAqNpcNNx999JHGjBmjZcuWqVatWlfsl5SUpMTEROv7i7Otr8QwDB0+fFgnTpxwZLlwYdWrV1doaCj3RQIAF+GS4WbhwoUaNGiQPvnkE8XFxV21r4+Pj3x8fEq97ovBplatWvL39+cHrRIzDEOFhYU6cuSIJCksLMzJFQEASsPlws3HH3+sv/3tb1q4cKHuu+8+h667uLjYGmxuuukmh64brsnPz0+SdOTIEdWqVYtTVADgApwabk6dOqV9+/ZZ32dkZGj79u2qWbOm6tatq6SkJB06dEgLFiyQdOFU1IABA/TWW2+pQ4cOOnz4sKQLP0Bms/m667k4x8bf3/+61wX3cfF4OHfuHOEGAFyAU+9z8+2336pVq1Zq1aqVJCkxMVGtWrWyXtadnZ2trKwsa/9//etfOn/+vJ5++mmFhYVZX0OGDHFoXZyKwqU4HgDAtTh15CY2NlZXu83OvHnzbN6npaWVb0EAAMDlOXXkBrBXRESEpk6d6uwyAAAVEOHGjRw9elRPPfWU6tatKx8fH4WGhio+Pl4bN26UdOH0ytKlS51bZCnFxsbKZDJd9jp//ryzSwMAp8jOK9Km/bnKzitydikVnstdLYUre+ihh3T27FnNnz9fDRo0UE5OjlJTU3Xs2DFnl2aXwYMHa+zYsTZtVapwyAKofFK2ZClpyU5ZDMnDJCX3jFJCu7rOLqvCYuTGTZw4cULr16/XxIkT1a1bN9WrV0/t27dXUlKS7r//fkVEREiSHnzwQZlMJut7SVq2bJlat24tX19fNWjQQGPGjLEZIZk8ebKioqJUtWpVhYeH6+9//7tOnTpl/XzevHmqXr26Pv/8czVu3Fj+/v56+OGHVVhYqPnz5ysiIkI1atTQc889p+Li4lJvk7+/v0JDQ21eV5KVlaUHHnhAAQEBCgwMVK9evZSTkyNJysvLk6enp7799ltJFx7bUbNmTd12223W5T/44IOr3twRAJwlO6/IGmwkyWJIw5d8zwjOVRBuytGNHEIMCAhQQECAli5davMsrYu2bNkiSZo7d66ys7Ot79evX6/+/ftryJAh+uGHHzR79mzNmzdPr7/+unVZDw8Pvf3229q1a5fmz5+vr776Si+99JLN+gsLC/X2229r4cKFWrVqldLS0vTggw9q5cqVWrlypd5//33Nnj1bixcvdvi2WywWPfDAAzp+/LjWrl2rNWvW6MCBA0pISJAkmc1mtWzZ0johfefOnTKZTNq2bZs1pK1du1YxMTEOrw0ArldGboE12FxUbBjKzC10TkEugHBTTlK2ZKnzhK/UZ87/1HnCV0rZknXtha5DlSpVNG/ePM2fP1/Vq1dX586dNXz4cH333XeSpODgYEm/P0rg4vsxY8Zo2LBhGjBggBo0aKC77rpL48aN0+zZs63rHjp0qLp166aIiAjdcccdeu2117Ro0SKb7z937pxmzpypVq1aqWvXrnr44Ye1YcMGvfvuu2rWrJn+/Oc/q1u3bvr6669LvU3vvPOONbQFBAToH//4R4n9UlNTtXPnTn300Udq06aNOnTooAULFmjt2rXWEBcbG2sNN2lpabrrrrvUtGlTbdiwwdpGuAFQEdUPqiqPP9yRwtNkUkQQ92S7EsJNOXDWEOJDDz2kX3/9VcuXL9ef/vQnpaWlqXXr1pddUn+pHTt2aOzYsTYhYvDgwcrOzlZh4YV/FXz55Ze68847VadOHVWrVk39+vXTsWPHrJ9LF04hRUZGWt+HhIQoIiJCAQEBNm0XH2VQGn379tX27dutr6SkpBL77d69W+Hh4TanlZo1a6bq1atr9+7dkqSYmBht2LBBxcXFWrt2rWJjY62B59dff9W+ffsUGxtb6toA4EYJM/spuWeUPP/vnlueJpPG92yuMLOfkyuruJidWQ6uNoRY3gejr6+v7rrrLt1111169dVXNWjQII0aNUqPPvpoif1PnTqlMWPGqGfPniWuKzMzU3/+85/11FNP6fXXX1fNmjW1YcMGPfbYYzp79qz17r1eXl42y5pMphLbLBZLqbfFbDarYcOGpe5/NV27dtXJkye1detWrVu3TuPHj1doaKgmTJig6Oho1a5dW7fccotDvgsAHC2hXV11bRSszNxCRQT5E2yugXBTDi4OIV4acJw1hNisWTPr5d9eXl6XTeht3bq19u7de8UQkZ6eLovFokmTJsnD48JA3x9PSTlb06ZNdfDgQR08eNA6evPDDz/oxIkTatasmaQLp+NatGih6dOny8vLS02aNFGtWrWUkJCgzz//nFNSACq8MLMfoaaUOC1VDpwxhHjs2DHdcccd+uCDD/Tdd98pIyNDn3zyid544w098MADki7c+C41NVWHDx/Wb7/9JkkaOXKkFixYoDFjxmjXrl3avXu3Fi5cqBEjRkiSGjZsqHPnzmnatGk6cOCA3n//fc2aNavctsMecXFxioqKUt++fbV161Z988036t+/v2JiYtS2bVtrv9jYWH344YfWIFOzZk01bdpUKSkphBsAcCOEm3KS0K6uNgzrpo8H36YNw7qV+/0IAgIC1KFD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bduMn3/+2TAMwxg2bJjRr18/a/8DBw4Y/v7+xosvvmjs3r3bmDFjhuHp6WmsWrXK2sdVj4vy2BeueFyUdT8YhmHt36ZNG6NPnz7Gtm3bjF27dlk/37hxo1GlShXjzTffNHbv3m2MGjXK8PLyMnbu3HlDt62symNfjBkzxli9erWxf/9+Iz093XjkkUcMX19fmz43EuHGRU2bNs2oW7eu4e3tbbRv397473//a/0sJibGGDBggPX9uXPnjNGjRxuRkZGGr6+vER4ebvz973+3+RFLSEgwwsLCDG9vb6NOnTpGQkKCsW/fvhu4RfYry75IS0szmjZtavj4+Bg33XST0a9fP+PQoUNlWmdF5uh94arHxddff21Iuux1cfsHDBhgxMTEXLZMy5YtDW9vb6NBgwbG3LlzL1uvKx4X5bEvXPG4sGc/lNS/Xr16Nn0WLVpkNGrUyPD29jZuvfVWY8WKFTdmg65DeeyLoUOHWv/fCAkJMe69915j69atN26j/sBkGFc4LwEAAOCCmHMDAADcCuEGAAC4FcINAABwK4QbAADgVgg3AADArRBuAACAWyHcAAAAt0K4AYAKIC0tTSaTSSdOnHB2KYDLI9wAlcyjjz4qk8mkCRMm2LQvXbpUJpPJ+t4wDM2ZM0cdO3ZUYGCgAgICdOutt2rIkCGlfhheYWGhkpKSFBkZKV9fXwUHBysmJkbLli2z9omIiNDUqVMdsm3l7eK+M5lM8vLyUv369fXSSy/p9OnTZVpPbGyshg4datPWqVMnZWdny2w2O7BioHIi3ACVkK+vryZOnKjffvutxM8Nw1CfPn303HPP6d5779UXX3yhH374Qe+++658fX312muvlep7nnzySS1ZskTTpk3Tnj17tGrVKj388MM6duyYIzfnhvrTn/6k7OxsHThwQFOmTNHs2bM1atSo616vt7e3QkNDbQImADs57cEPAJxiwIABxp///GejSZMmxosvvmht//TTT42LfyV8/PHHhiRj2bJlJa7DYrGU6rvMZrMxb968K34eExNz2fNqLlq/fr1x++23G76+vsbNN99sPPvss8apU6esny9YsMBo06aNERAQYISEhBi9e/c2cnJyrJ9ffH7OqlWrjJYtWxq+vr5Gt27djJycHGPlypVGkyZNjGrVqhm9e/c2CgoKSrU9AwYMMB544AGbtp49exqtWrWyvs/NzTUeeeQRo3bt2oafn5/RvHlz46OPPrJZxx+3OSMjw1rvpc98W7x4sdGsWTPD29vbqFevnvHmm2+Wqk6gsmPkBqiEPD09NX78eE2bNk2//PLLZZ9//PHHaty4se6///4Sly/t6EJoaKhWrlypkydPlvj5kiVLdPPNN2vs2LHKzs5Wdna2JGn//v3605/+pIceekjfffedUlJStGHDBj3zzDPWZc+dO6dx48Zpx44dWrp0qTIzM/Xoo49e9h2jR4/W9OnTtWnTJh08eFC9evXS1KlT9dFHH2nFihX64osvNG3atFJtzx99//332rRpk7y9va1tp0+fVps2bbRixQp9//33evzxx9WvXz998803kqS33npLHTt21ODBg63bHB4eftm609PT1atXLz3yyCPauXOnRo8erVdffVXz5s2zq1agUnF2ugJwY106+nDbbbcZf/vb3wzDsB25adKkiXH//ffbLDdkyBCjatWqRtWqVY06deqU6rvWrl1r3HzzzYaXl5fRtm1bY+jQocaGDRts+tSrV8+YMmWKTdtjjz1mPP744zZt69evNzw8PIyioqISv2vLli2GJOPkyZOGYfw+cvPll19a+yQnJxuSjP3791vbnnjiCSM+Pr5U2zNgwADD09PTqFq1quHj42NIMjw8PIzFixdfdbn77rvP+Mc//mF9HxMTYwwZMsSmzx9Hbvr06WPcddddNn1efPFFo1mzZqWqFajMGLkBKrGJEydq/vz52r179zX7vvLKK9q+fbtGjhypU6dOlWr9Xbt21YEDB5SamqqHH35Yu3btUpcuXTRu3LirLrdjxw7NmzdPAQEB1ld8fLwsFosyMjIkXRjZ6N69u+rWratq1aopJiZGkpSVlWWzrhYtWlj/HBISIn9/fzVo0MCm7ciRI6XaHknq1q2btm/frv/9738aMGCABg4cqIceesj6eXFxscaNG6eoqCjVrFlTAQEBWr169WV1Xcvu3bvVuXNnm7bOnTvrp59+UnFxcZnWBVQ2hBugEuvatavi4+OVlJRk037LLbdo7969Nm3BwcFq2LChatWqVabv8PLyUpcuXfTyyy/riy++0NixYzVu3DidPXv2isucOnVKTzzxhLZv32597dixQz/99JMiIyNVUFCg+Ph4BQYG6sMPP9SWLVv06aefStJl6/Xy8rL++eJVTpcymUyyWCyl3p6qVauqYcOGio6O1nvvvaf//e9/evfdd62f//Of/9Rbb72ll19+WV9//bW2b9+u+Pj4q24vAMeq4uwCADjXhAkT1LJlSzVu3Nja1rt3b/Xp00fLli3TAw884NDva9asmc6fP6/Tp0/L29tb3t7el41EtG7dWj/88IMaNmxY4jp27typY8eOacKECdb5Kt9++61D6ywNDw8PDR8+XImJierTp4/8/Py0ceNGPfDAA/rrX/8qSbJYLPrxxx/VrFkz63IlbfMfNW3aVBs3brRp27hxoxo1aiRPT0/HbwzgRhi5ASq5qKgo9e3bV2+//ba17ZFHHtHDDz+sRx55RGPHjtX//vc/ZWZmau3atUpJSSn1j2tsbKxmz56t9PR0ZWZmauXKlRo+fLi6deumwMBASRfuc7Nu3TodOnRIubm5kqSXX35ZmzZt0jPPPKPt27frp59+0rJly6wTiuvWrStvb29NmzZNBw4c0PLly695qqu8/OUvf5Gnp6dmzJgh6cKo15o1a7Rp0ybt3r1bTzzxhHJycmyWiYiIsO7T3NzcEkeO/vGPfyg1NVXjxo3Tjz/+qPnz52v69Ol64YUXbsh2Aa6McANAY8eOtfmBNZlMSklJ0dSpU7Vy5Urdeeedaty4sf72t78pPDxcGzZsKNV64+PjNX/+fN19991q2rSpnn32WcXHx2vRokU2352ZmanIyEgFBwdLujBPZu3atfrxxx/VpUsXtWrVSiNHjlTt2rUlXThFNm/ePH3yySdq1qyZJkyYoDfffNOBe6T0qlSpomeeeUZvvPGGCgoKNGLECLVu3Vrx8fGKjY1VaGioevToYbPMCy+8IE9PTzVr1kzBwcElzsdp3bq1Fi1apIULF6p58+YaOXKkxo4dW+IVYQBsmQzDMJxdBAAAgKMwcgMAANwK4QaA3S69VPuPr/Xr1zu7vDLJysq66vaU9VJuAM7DaSkAdrvaAzTr1KkjPz+/G1jN9Tl//rwyMzOv+HlERISqVOECU8AVEG4AAIBb4bQUAABwK4QbAADgVgg3AADArRBuAACAWyHcAAAAt0K4AQAAboVwAwAA3ArhBgAAuJX/DzA2GRmUts3nAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_52.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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7bDoJbAjR45g8ODB+s+xsbEAgJiYGCQnJwMAvvjiCwghagwwWVlZKCgo0H++dOkSoqOjce3aNbi7u+OBBx7AwYMH4e7u3nAbQkRERDbFagZBWxNjBlERERGRdTDm99smxgARERERmRMDEBEREckOAxARERHJDgMQERERyQ4DEBEREckOAxARERHJDgMQERERyQ4DEBEREckOAxARERHJDgMQERERyQ4DEBEREckOAxARERHJDgMQERERyQ4DEBEREckOAxARERHJDgMQERERyQ4DEBEREckOAxARERHJDgMQERERyQ4DEBEREckOAxARERHJDgMQERERyQ4DEBEREckOAxARERHJDgMQERERyQ4DEBEREckOAxARERHJDgMQERERyQ4DEBEREckOAxARERHJDgMQERFRE6DWlCI9qwBqTamlS7EJFg1A+/btw/Dhw+Ht7Q1JkrBlyxaD5ePHj4ckSQbTI488ctd+V6xYAX9/fzg6OqJPnz746aefGmgLiIiILG/D4Vz0X7ILYz86hP5LdmHD4VxLl2T1LBqAiouLERISghUrVtTY5pFHHoFardZP69evr7XPDRs2IDY2FvHx8cjIyEBISAgiIyNx5coVc5dPRERkcWpNKeI2HYdO3P6sE8DcTSd4Jugumlnyy4cOHYqhQ4fW2kapVMLT07POfb777ruYPHkyJkyYAABYtWoVvv/+e6xZswZz5sypV71ERETWJrugWB9+KlUIgZyCEnipnCxTlA2w+jFAe/bsQZs2bdC5c2e8+OKLuHbtWo1tb968iaNHjyIiIkI/z87ODhEREThw4ECN65WVlUGr1RpMREREtiDAzQV2kuE8hSTB383ZMgXZCKsOQI888gg++eQTpKam4s0338TevXsxdOhQVFRUVNu+oKAAFRUV8PDwMJjv4eGBvLy8Gr8nMTERKpVKP/n6+pp1O4iIiBqKl8oJiaOCoZBupyCFJGHxqO48+3MXFr0EdjdjxozR/zk4OBg9evRA+/btsWfPHgwZMsRs3xMXF4fY2Fj9Z61WyxBEREQ2Y3SvdhjYyR05BSXwd3Nm+KkDqw5AdwoMDISbmxvOnTtXbQByc3ODQqFAfn6+wfz8/PxaxxEplUoolUqz10tERNRYvFRODD5GsOpLYHe6dOkSrl27Bi8vr2qXOzg4IDQ0FKmpqfp5Op0OqampCAsL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CeEZICK6q+DgYDz11FP44IMP9PPGjBmDxx9/HGPGjEFCQgIOHTqEnJwc7N27Fxs2bKjzD/CgQYOwevVqHD16FDk5OUhJScHcuXMxePBguLq6Arj9HKB9+/bh999/R0FBAQBg9uzZSE9Px7Rp05CZmYmzZ89i69at+kHQ7dq1g4ODA5YtW4bz58/jm2++uetltYbyxBNPQKFQYMWKFQBunz3bsWMH0tPTcerUKTz//PPIz883WMff31+/TwsKCqo9A/Xqq68iNTUVCxcuxG+//Ya1a9di+fLlmDlzZqNsF5EtYwAiojpJSEgw+BGWJAkbNmzA0qVLkZKSgiFDhqBz58549tln4evri7S0tDr1GxkZibVr1+Lhhx9Gly5d8NJLLyEyMhJffvmlwXfn5OSgffv2cHd3B3B73M7evXvx22+/YcCAAbj33nsxf/58eHt7A7h9OS45ORkbN25E165dsWTJEvz73/824x6pu2bNmmHatGl46623UFxcjNdffx333XcfIiMjMWjQIHh6eiIqKspgnZkzZ0KhUKBr165wd3evdnzQfffdhy+//BJffPEFunfvjvnz5yMhIaHaO92IyJAkhBCWLoKIiIioMfEMEBEREckOAxARNai/36Z+5/Tjjz9aujyj5Obm1ro9xt7GTkSWw0tgRNSganspqo+PD5ycnBqxmvq5desWcnJyalzu7++PZs14cy2RLWAAIiIiItnhJTAiIiKSHQYgIiIikh0GICIiIpIdBiAiIiKSHQYgIiIikh0GICIiIpIdBiAiIiKSHQYgIiIikp3/DwCQAvRV2gnhAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_53.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA9GklEQVR4nO3de1yUdf7//+cwyEENTEEOhuLZTETzQGimbhSVWeaaqKVk2dmy2NrUSjyU2G4HdtWyNdMOn4wyM3f1axllZrppHirLzGNYAkqboIgn5v37w59jk6Agh5m55nG/3eZ2i/e8r2te17tLefq+3tc1NmOMEQAAgEX4ubsAAACA6kS4AQAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AeAWEydOlM1mq1Bfm82miRMn1mg9ffr0UZ8+fTx2fwAqjnAD+Lh58+bJZrM5X/7+/mrSpIluu+02/fLLL+4uz+PExsa6jFfjxo3Vq1cvvf/++9Wy/8OHD2vixIlasWJFtewP8EWEGwCSpMmTJ+uNN97QrFmzdO211+rNN99U7969deTIkRr5vCeeeEIlJSU1su+a1qlTJ73xxht644039Mgjj2jv3r0aOHCgZs2aVeV9Hz58WJMmTSLcAFXg7+4CAHiGa6+9Vl27dpUkjRo1SmFhYXrmmWe0ePFiDR48uNo/z9/fX/7+3vlXUJMmTXTrrbc6fx4xYoRatWqlF154Qffcc48bKwMgMXMDoBy9evWSJO3YscOl/YcfftCgQYPUsGFDBQUFqWvXrlq8eLFLn+PHj2vSpElq3bq1goKC1KhRI11++eVavny5s09Za26OHj2qhx9+WOHh4brgggt0ww036Oeffz6jtttuu02xsbFntJe1z7lz5+pPf/qTGjdurMDAQLVv314vvfRSpcbiXCIjI3XxxRdr165dZ+23b98+3XHHHYqIiFBQUJDi4+P12muvOd/fvXu3wsPDJUmTJk1yXvqq6fVGgNV45z+bANS43bt3S5IuvPBCZ9t3332nnj17qkmTJho7dqzq1aund955RwMGDNB7772nm266SdLJkJGRkaFRo0ape/fuKioq0ldffaUNGzboqquuKvczR40apTfffFPDhg1Tjx499Mknn6hfv35VOo6XXnpJl1xyiW644Qb5+/vr3//+t+677z45HA7df//9Vdr3KcePH9eePXvUqFGjcvuUlJSoT58+2r59u0aPHq3mzZvr3Xff1W233aYDBw5ozJgxCg8P10svvaR7771XN910kwYOHChJ6tixY7XUCfgMA8CnzZ0710gyH3/8sdm/f7/Zs2ePWbBggQkPDzeBgYFmz549zr5XXnmliYuLM0eOHHG2ORwO06NHD9O6dWtnW3x8vOnXr99ZPzc9Pd38/q+gTZs2GUnmvvvuc+k3bNgwI8mkp6c721JTU02zZs3OuU9jjDl8+PAZ/ZKTk02LFi1c2nr37m169+591pqNMaZZs2bm6quvNvv37zf79+83X3/9tRkyZIiRZB544IFy95eZmWkkmTfffNPZduzYMZOYmGjq169vioqKjDHG7N+//4zjBVA5XJYCIElKSkpSeHi4YmJiNGjQINWrV0+LFy/WRRddJEn63//+p08++USDBw/WwYMHVVBQoIKCAv36669KTk7Wtm3bnHdXNWjQQN999522bdtW4c9funSpJOnBBx90aX/ooYeqdFzBwcHO/y4sLFRBQYF69+6tnTt3qrCw8Lz2+dFHHyk8PFzh4eGKj4/Xu+++q+HDh+uZZ54pd5ulS5cqMjJSQ4cOdbbVqVNHDz74oA4dOqTPPvvsvGoBcCafDjcrV65U//79FR0dLZvNpkWLFtXo551aD/D7V7t27Wr0M4GKmjlzppYvX64FCxbouuuuU0FBgQIDA53vb9++XcYYPfnkk85f7Kde6enpkk6uKZFO3nl14MABtWnTRnFxcXr00Uf1zTffnPXzf/rpJ/n5+ally5Yu7W3btq3ScX3xxRdKSkpSvXr11KBBA4WHh2v8+PGSdN7hJiEhQcuXL9fHH3+s1atXq6CgQK+//rpLkPqjn376Sa1bt5afn+tfuxdffLHzfQDVw6fX3BQXFys+Pl63336789p2Tbvkkkv08ccfO3/21rtFYD3du3d33i01YMAAXX755Ro2bJi2bt2q+vXry+FwSJIeeeQRJScnl7mPVq1aSZKuuOIK7dixQx988IE++ugjvfLKK3rhhRc0a9YsjRo1qsq1lvfwv9LSUpefd+zYoSuvvFLt2rXT888/r5iYGAUEBGjp0qV64YUXnMdUWWFhYUpKSjqvbQHUPJ/+zXrttdfq2muvLff9o0eP6vHHH9f8+fN14MABdejQQc8880yVnjrq7++vyMjI894eqA12u10ZGRnq27evZsyYobFjx6pFixaSTl5Kqcgv9oYNG2rkyJEaOXKkDh06pCuuuEITJ04sN9w0a9ZMDodDO3bscJmt2bp16xl9L7zwQh04cOCM9j/Ofvz73//W0aNHtXjxYjVt2tTZ/umnn56z/urWrFkzffPNN3I4HC6zNz/88IPzfan84Aag4nz6stS5jB49WmvWrNHbb7+tb775RjfffLOuueaaSq0j+KNt27YpOjpaLVq00C233KKcnJxqrBioPn369FH37t2VmZmpI0eOqHHjxurTp49efvll5ebmntF///79zv/+9ddfXd6rX7++WrVqpaNHj5b7eaf+ofHPf/7TpT0zM/OMvi1btlRhYaHLpa7c3NwznhJst9slScYYZ1thYaHmzp1bbh015brrrlNeXp6ysrKcbSdOnND06dNVv3599e7dW5JUt25dSSozvAGoGJ+euTmbnJwczZ07Vzk5OYqOjpZ0cjp+2bJlmjt3rqZOnVrpfSYkJGjevHlq27atcnNzNWnSJPXq1UubN2/WBRdcUN2HAFTZo48+qptvvlnz5s3TPffco5kzZ+ryyy9XXFyc7rzzTrVo0UL5+flas2aNfv75Z3399deSpPbt26tPnz7q0qWLGjZsqK+++koLFizQ6NGjy/2sTp06aejQoXrxxRdVWFioHj16KDs7W9u3bz+j75AhQ/TYY4/ppptu0oMPPqjDhw/rpZdeUps2bbRhwwZnv6uvvloBAQHq37+/7r77bh06dEizZ89W48aNywxoNemuu+7Syy+/rNtuu03r169XbGysFixYoC+++EKZmZnOvwOCg4PVvn17ZWVlqU2bNmrYsKE6dOigDh061Gq9gFdz9+1ankKSef/9950//+c//zGSTL169Vxe/v7+ZvDgwcYYY7Zs2WIknfX12GOPlfuZv/32mwkJCTGvvPJKTR8eUK5Tt4KvW7fujPdKS0tNy5YtTcuWLc2JEyeMMcbs2LHDjBgxwkRGRpo6deqYJk2amOuvv94sWLDAud1TTz1lunfvbho0aGCCg4NNu3btzNNPP22OHTvm7FPWbdslJSXmwQcfNI0aNTL16tUz/fv3N3v27Cnz1uiPPvrIdOjQwQQEBJi2bduaN998s8x9Ll682HTs2NEEBQWZ2NhY88wzz5hXX33VSDK7du1y9qvM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u3d3zo6VNUtWt25d/e9//6ux2gAAqG3M3AAAAEsh3AAAAEsh3AAAAEsh3AAAAEsh3JThbLen+xrGAgDgbQg3v3PqawgOH679L/nyVMeOHZMk2e12N1cCAEDFcCv479jtdjVo0ED79u2TdPI2aZvNdo6trMvhcGj//v2qW7eu/P05VQAA3oHfWH8QGRkpSc6A4+v8/PzUtGlTnw55AADvQrj5A5vNpqioKDVu3FjHjx93dzluFxAQID8/rl4CALwH4aYcdruddSYAAHgh/kkOAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAsxe3hZubMmYqNjVVQUJASEhK0du3as/bPzMxU27ZtFRwcrJiYGD388MM6cuRILVULAAA8nVvDTVZWltLS0pSenq4NGzYoPj5eycnJ2rdvX5n933rrLY0dO1bp6enasmWL5syZo6ysLI0fP76WKwcAAJ7KreHm+eef15133qmRI0eqffv2mjVrlurWratXX321zP6rV69Wz549NWzYMMXGxurqq6/W0KFDzznbAwAAfIfbws2xY8e0fv16JSUlnS7Gz09JSUlas2ZNmdv06NFD69evd4aZnTt3aunSpbruuuvK/ZyjR4+qqKjI5QUAAKzL310fXFBQoNLSUkVERLi0R0RE6Icffihzm2HDhqmgoECXX365jDE6ceKE7rnnnrNelsrIyNCkSZOqtXYAAOC53L6guDJWrFihqVOn6sUXX9SGDRu0cOFCLVmyRFOmTCl3m3HjxqmwsND52rNnTy1WDAAAapvbZm7CwsJkt9uVn5/v0p6fn6/IyMgyt3nyySc1fPhwjRo1SpIUFxen4uJi3XXXXXr88cfl53dmVgsMDFRgYGD1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NV1ntWHmBgBQFTxywj0q8/u7wuGmUaNG+vzzz9W+fXuVlJSofv36WrhwoW688cZqKbq2EG4AAOcrt7BEPad94nJnpt1m06qxfZnBqWGV+f1d4QXFv/32m8LCwiRJwcHBqlu3rjp06FC1SgEA8CI8csI7VOoJxd9//73y8vIkScYYbd26VcXFxS59OnbsWH3VAQDgQU49cuKPMzc8csKzVPiylJ+fn2w2m87W3WazqbS0tNqKqwlclgIAVEXWuhyNX7hZpcY4HznBmpuaVyN3S+3ateucfQ4ePFjR3QEA4JVSujXVFW3CeeSEB6twuGnWrFmZ7QcPHtT8+fM1Z84cffXVVx4/cwMAQFXxyAnPdt5PKF65cqVSU1MVFRWlZ599Vn379tV///vf6qwNAACg0iq1oDgvL0/z5s3TnDlzVFRUpMGDB+vo0aNatGiR2rdvX1M1AgAAVFiFZ2769++vtm3b6ptvvlFmZqb27t2r6dOn12RtAAAAlVbhmZv/9//+nx588EHde++9at26dU3WBAAAcN4qPHOzatUqHTx4UF26dFFCQoJmzJjh8V+SCQAAfE+Fw81ll12m2bNnKzc3V3fffbfefvttRUdHy+FwaPny5dwGDgAAPEKFH+JXlq1bt2rOnDl64403dODAAV111VVavHhxddZX7XiIHwAA3qdGvluqLG3bttXf/vY3/fzzz5o/f35VdgUAAFAtqjRz442YuQEAwPvU2swNAACApyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAAS/GIcDNz5kzFxsYqKChICQkJWrt2bYW2e/vtt2Wz2TRgwICaLRAAAHgNt4ebrKwspaWlKT09XRs2bFB8fLySk5O1b9++s263e/duPfLII+rVq1ctVQoAALyB28PN888/rzvvvFMjR45U+/btNWvWLNWtW1evvvpquduUlpbqlltu0aRJk9SiRYtarBYAAHg6t4abY8eOaf369UpKSnK2+fn5KSkpSWvWrCl3u8mTJ6tx48a64447zvkZR48eVVFRkcsLAABYl1vDTUFBgUpLSxUREeHSHhERoby8vDK3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7dOTVPdYeOt5sXLlSvXv31/R0dGy2WxatGjRObdZsWKFLr30UgUGBqpVq1aaN2/eGX287byoiXHwlXMiNzdXw4YNU5s2beTn56eHHnqozH7vvvuu2rVrp6CgIMXFxWnp0qXVX3w1q4mxmDdv3hnnRVBQUM0cQAUQbrxQVlaW0tLSlJ6erg0bNig+Pl7Jycnat29fmf3feustjR07Vunp6dqyZYvmzJmjrKwsjR8/3qXfJZdcotzcXOdr1apVtXE4VVLZsXjiiSf08ssva/r06fr+++91zz336KabbtLGjRvPe5+eoibGQvLO86K4uFjx8fGaOXNmhfrv2rVL/fr1U9++fbVp0yY99NBDGjVqlD788ENnH288L2piHCTfOCeOHj2q8PBwPfHEE4qPjy+zz+rVqzV06FDdcccd2rhxowYMGKABAwZo8+bN1Vl6tauJsZBOPr349+fFTz/9VF0lV56B1+nevbu5//77nT+Xlpaa6Ohok5GRUWb/+++/3/zpT39yaUtLSzM9e/Z0/pyenm7i4+NrpN6aVNmxiIqKMjNmzHBpGzhwoLnlllvOe5+eoibGwlvPi9+TZN5///2z9vnrX/9qLrnkEpe2lJQUk5yc7PzZW8+LU6prHHzlnPi93r17mzFjxpzRPnjwYNOvXz+XtoSEBHP33XdXscLaU11jMXfuXBMaGlptdVUVMzde5tixY1q/fr2SkpKcbX5+fkpKStKaNWvK3KZHjx5av369cwp9586dWrp0qa677jqXftu2bVN0dLRatGihW265RTk5OTV3INXgfMbi6NGjZ0yVBgcHO//leT779AQ1MRaneNt5cT7WrFnjMnaSlJyc7Bw7bz0vKutc43CKL5wTFVHR8fIVhw4dUrNmzRQTE6Mbb7xR3333ndtqIdx4mYKCApWWlioiIsKlPSIiQnl5eWVuM2zYME2ePFmXX3656tSpo5YtW6pPnz4ul6USEhI0b948LVu2TC+99JJ27dqlXr166eDBgzV6PFVxPmORnJys559/Xtu2bZPD4dDy5cu1cOFC5ebmnvc+PUFNjIXknefF+cjLyytz7IqKilRSUuK150VlnWscJN85JyqivPGy0jlRUW3bttWrr76qDz74QG+++aYcDod69Oihn3/+2S31EG58wIoVKzR16lS9+OKL2rBhgxYuXKglS5ZoypQpzj7XXnutbr75ZnXs2FHJyclaunSpDhw4oHfeeceNlVe/f/zjH2rdurXatWungIAAjR49WiNHjpSfn+/9UajIWPjKeYGK45xAWRITEzVixAh16tRJvXv31sKFCxUeHq6XX37ZLfX43t/oXi4sLEx2u135+fku7fn5+YqMjCxzmyeffFLDhw/XqFGjFBcXp5tuuklTp05VRkaGHA5Hmds0aNBAbdq00fbt26v9GKrL+YxFeHi4Fi1apOLiYv3000/64YcfVL9+fbVo0eK89+kJamIsyuIN58X5iIyMLHPsQkJCFBwc7LXnRWWdaxzKYtVzoiLKGy8rnRPnq06dOurcubPbzgvCjZcJCAhQly5dlJ2d7WxzOBzKzs5WYmJimdscPnz4jJkJu90uSTLlfLXYoUOHtGPHDkVFRVVT5dXvfMbilKCgIDVp0kQnTpzQe++9pxtvvLHK+3SnmhiLsnjDeXE+EhMTXcZOkpYvX+4cO289LyrrXONQFqueExVxPuPlK0pLS/Xtt9+677xw94pmVN7bb79tAgMDzbx588z3339v7rrrLtOgQQOTl5dnjDFm+PDhZuzYsc7+6enp5oILLjDz5883O3fuNB999JFp2bKlGTx4sLPPX/7yF7NixQqza9cu88UXX5ikpCQTFhZm9u3bV+vHVxmVHYv//ve/5r333jM7duwwK1euNH/6059M8+bNzW+//VbhfXqqmhgLbz0vDh48aDZu3Gg2btxoJJnnn3/ebNy40fz000/GGGPGjh1rhg8f7uy/c+dOU7duXfPoo4+aLVu2mJkzZxq73W6WLVvm7OON50VNjIOvnBPGGGf/Ll26mGHDhpmNGzea7777zvn+F198Yfz9/c2zzz5rtmzZYtLT002dOnXMt99+W6vHVlk1MRaTJk0yH374odmxY4dZv369GTJkiAkKCnLpU5sIN15q+vTppmnTpiYgIMB0797d/Pe//3W+17t3b5Oamur8+fjx42bixImmZcuWJigoyMTExJj77rvP5ZdYSkqKiYqKMgEBAaZJkyYmJSXFbN++vRaP6PxVZixWrFhhLr74YhMYGGgaNWpkhg8fbn755ZdK7dOTVfdYeOt58emnnxpJZ7xOHX9qaqrp3bv3Gdt06tTJBAQEmBYtWpi5c+eesV9vOy9qYhx86Zwoq3+zZs1c+rzzzjumTZs2JiAgwFxyySVmyZIltXNAVVATY/HQQw85/2xERESY6667zmzYsKH2DuoPbMaUc10CAADAC7HmBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgA8wIoVK2Sz2XTgwAF3lwJ4PcIN4GNuu+022Ww2TZs2zaV90aJFstlszp+NMZo9e7YSExMVEhKi+vXr65JLLtGYMWMq/GV4hw8f1rhx49SyZUsFBQUpPDxcvXv31gcffODsExsbq8zMzGo5tpp2auxsNpvq1Kmj5s2b669//auOHDlSqf306dNHDz30kEtbjx49lJubq9DQ0GqsGPBNhBvABwUFBemZZ57Rb7/9Vub7xhgNGzZMDz74oK677jp99NFH+v777zVnzhwFBQXpqaeeqtDn3HPPPVq4cKGmT5+uH374QcuWLdOgQYP066+/Vufh1KprrrlGubm52rlzp1544QW9/PLLSk9Pr/J+AwICFBkZ6RIwAZwnt33xAwC3SE1NNddff71p166defTRR53t77//vjn1V8L8+fONJPPBBx+UuQ+Hw1GhzwoNDTXz5s0r9/3evXuf8X01p3z++efm8ssvN0FBQeaiiy4yDzzwgDl06JDz/ddff9106dLF1K9f30RERJihQ4ea/Px85/unvj9n2bJlplOnTiYoKMj07dvX5Ofnm6VLl5p27dqZCy64wAwdOtQUFxdX6HhSU1PNjTfe6NI2cOBA07lzZ+fPBQUFZsiQISY6OtoEBwebDh06mLfeestlH3885l27djnr/f13vi1YsMC0b9/eBAQEmGbNmplnn322QnUCvo6ZG8AH2e12TZ06VdOnT9fPP/98xvvz589X27ZtdcMNN5S5fUVnFyIjI7V06VIdPHiwzPcXLlyoiy66SJMnT1Zubq5yc3MlSTt27NA111yjP//5z/rmm2+UlZWlVatWafTo0c5tjx8/rilTpujrr7/WokWLtHv3bt12221nfMbEiRM1Y8YMrV69Wnv27NHgwYOVmZmpt956S0uWLNFHH32k6dOnV+h4/mjz5s1avXq1AgICnG1HjhxRly5dtGTJEm3evFl33XWXhg8frrVr10qS/vGPfygxMVF33nmn85hjYmLO2Pf69es1ePBgDRkyRN9++60mTpyoJ598UvPmzTuvWgGf4u50BaB2/X724bLLLjO33367McZ15qZdu3bmhhtucNluzJgxpl69eqZevXqmSZMmFfqszz77zFx00UWmTp06pmvXruahhx4yq1atcunTrFkz88ILL7i03XHHHeauu+5yafv888+Nn5+fKSkpKfOz1q1bZySZgwcPGmNOz9x8/PHHzj4ZGRlGktmxY4ez7e677zbJyckVOp7U1FRjt9tNvXr1TGBgoJFk/Pz8zIIFC866Xb9+/cxf/vIX58+9e/c2Y8aMcenzx5mbYcOGmauuusqlz6OPPmrat29foVoBX8bMDeDDnnnmGb322mvasmXLOfs+/vjj2rRpkyZMmKBDhw5VaP9XXHGFdu7cqezsbA0aNEjfffedevXqpSlTppx1u6+//lrz5s1T/fr1na/k5GQ5HA7t2rVL0smZjf79+6tp06a64IIL1Lt3b0lSTk6Oy746duzo/O+IiAjVrVtXLVq0cGnbt29fhY5Hkvr27atNmzbpyy+/VGpqqkaOHKk///nPzvdLS0s1ZcoUxcXFqWHDhqpfv74+/PDDM+o6ly1btqhnz54ubT179tS2bdtUWlpaqX0BvoZwA/iwK664QsnJyRo3bpxLe+vWrbV161aXtvDwcLVq1UqNGzeu1GfUqVNHvXr10mOPPaaPPvpIkydP1pQpU3Ts2LFytzl06JDuvvtubdq0yfn6+uuvtW3bNrVs2VLFxcVKTk5WSEiI/u///k/r1q3T+++/L0ln7LdOnTrO/z51l9Pv2Ww2ORyOCh9PvXr11KpVK8XHx+vVV1/Vl19+qTlz5jjf//vf/65//OMfeuyxx/Tpp59q06ZNSk5OPuvxAqhe/u4uAIB7TZs2TZ06dVLbtm2dbUOHDtWwYcP0wQcf6MYbb6zWz2vfvr1OnDihI0eOKCAgQAEBAWfMRFx66aX6/vvv1apVqzL38e233+rXX3/VtGnTnOtVvvrqq2qtsyL8/Pw0fvx4paWladiwYQoODtYXX3yhG2+8UbfeeqskyeFw6Mcff1T79u2d25V1zH908cUX64svvnBp++KLL9SmTRvZ7fbqPxjAQpi5AXxcXFycbrnlFv3zn/90tg0ZMkSDBg3SkCFDNHnyZH355ZfavXu3PvvsM2VlZVX4l2ufPn308ssva/369dq9e7eWLl2q8ePHq2/fvgoJCZF08jk3K1eu1C+//KKCggJJ0mOPPabVq1dr9OjR2rRpk7Zt26YPPvjAuaC4adOmCggI0PTp07Vz504tXrz4nJe6asrNN98su92umTNnSjo567V8+XKtXr1aW7Zs0d133638/HyXbWJjY51jWlBQUObM0V/+8hdlZ2drypQp+vHHH/Xaa69pxowZeuSRR2rluABvRrgBoMmTJ7v8grXZbMrKylJmZqaWLl2qK6+8Um3bttXtt9+umJgYrVq1qkL7TU5O1muvvaarr75aF198sR544AElJyfrnXfecfns3bt3q2XLlgoPD5d0cp3MZ599ph9//FG9evVS586dNWHCBEVHR0s6eYls3rx5evfdd9W+fXtNmzZNzz77bDWOSMX5+/tr9OjR+tvf/qbi4mI98cQTuvTSS5WcnKw+ffooMjJSAwYMcNnmkUcekd1uV/v27RUeHl7mepxLL71U77zzjt5++2116NBBEyZM0OTJk8u8IwyAK5sxxri7CAAAgOrCzA0AALAUwg2A8/b7W7X/+Pr888/dXV6l5OTknPV4KnsrNwD34bIUgPN2ti/QbNKkiYKDg2uxmqo5ceKEdu/eXe77sbGx8vfnBlPAGxBuAACApXBZCgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWMr/B9LdI6XU9ZtYAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_54.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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aGjoBS8PVAVvb28lJSWpT58+mj9/vqZMmaIWLVpIOnMopTw/7A0bNtTo0aM1evRonThxQtdcc41mzJhRZrhp1qyZ7Ha7Dhw44DRbs3fv3hJ9L7nkEh07dqxE+59nP/7zn/+oqKhIK1asUNOmTR3tn3zyyXnrd7VmzZrpm2++kd1ud5q92bNnj+NzqezgBqD8avRhqfMZN26cNm3apPfee0/ffPONbr75Zl1//fUVOo/gz/bt26fGjRurRYsWGj58uDIyMlxYMeA6vXv3Vrdu3TRv3jydPHlSjRo1Uu/evfXKK68oMzOzRP+jR486/vzzzz87fVavXj21atVKRUVFZX7f2f9o/POf/3RqnzdvXom+LVu2VG5urtOhrszMzBJ3Cfb29pYkGWMcbbm5uVq4cGGZdVSWfv36KSsrSykpKY623377TS+++KLq1aun2NhYSVKdOnUkqdTwBqB8avTMzblkZGRo4cKFysjIUOPGjSWdmY5fvXq1Fi5cqDlz5lR4ndHR0Vq0aJHatGmjzMxMzZw5U7169dKuXbtUv359V28CcNEefvhh3XzzzVq0aJHuueceJScnq2fPnoqMjNSdd96pFi1aKDs7W5s2bdKPP/6or7/+WpLUvn179e7dW507d1bDhg311VdfafHixRo3blyZ39WxY0cNHTpUL730knJzc9W9e3elpqZq//79Jfrecsstmjx5sgYNGqT7779fBQUFevnll9W6dWtt27bN0e+6666Tj4+PBgwYoLvvvlsnTpzQq6++qkaNGpUa0CrTXXfdpVdeeUW33Xabtm7dqoiICC1evFhffPGF5s2b5/g3wN/fX+3bt1dKSopat26thg0bqkOHDurQoUOV1gt4NHdfrlVdSDJLly51vP/vf/9rJJm6des6vWrVqmWGDBlijDFm9+7dRtI5X5MnTy7zO3/99VcTEBBg/v3vf1f25gFlOnsp+JYtW0p8VlxcbFq2bGlatmxpfvvtN2OMMQcOHDAjR440oaGhpnbt2qZJkybmb3/7m1m8eLFjuccff9x069bNNGjQwPj7+5u2bduaJ554wpw6dcrRp7TLtgsLC839999vLr30UlO3bl0zYMAAc+jQoVIvjV67dq3p0KGD8fHxMW3atDFvv/12qetcsWKFufLKK42fn5+JiIgwTz75pHn99deNJJOWluboV5FLwc93mXtZ68vOzjajR482QUFBxsfHx0RGRpqFCxeWWHbjxo2mc+fOxsfHh8vCgQtgM+YP87U1mM1m09KlSzVw4EBJUkpKioYPH65vv/3WMbV9Vr169RQaGqpTp07p4MGD51zvpZde6rjjaGm6du2quLg4JSUlXfQ2AAAADkuVqVOnTiouLtaRI0cct6H/Mx8fn4u6lPvEiRM6cOCARowYccHrAAAAzmp0uDlx4oTT8fy0tDTt2LFDDRs2VOvWrTV8+HCNHDlSzz77rDp16qSjR48qNTVVV1555QXdEv6hhx7SgAED1KxZM/30009KTEyUt7e30029AADAxanRh6XWr1+vPn36lGgfNWqUFi1apNOnT+vxxx/Xm2++qcOHDysoKEhXX321Zs6cqcjIyAp/3y233KLPPvtMP//8s4KDg9WzZ0898cQTJW5aBgAALlyNDjcAAMB63Hqfm4o+/mDJkiW69tprFRwcrICAAMXExGjNmjVVUywAAPAIbg03Zx9/kJycXK7+n332ma699lqtWrVKW7duVZ8+fTRgwABt3769kisFAACeotoclvrzpdjldcUVVyghIUHTp08vV3+73a6ffvpJ9evX5zbnAAB4CGOMjh8/rsaNG5d4AO2fefTVUna7XcePH1fDhg3L7FNUVOR0y/fDhw+rffv2VVEeAABwsUOHDumyyy47Zx+PDjfPPPOMTpw4oSFDhpTZJykpSTNnzizRfujQIQUEBFRmeQAAwEXy8vIUHh5erscVeWy4eeeddzRz5kwtX75cjRo1KrPf1KlTNWnSJMf7s4MTEBBAuAEAwMOU55QSjww37733nsaMGaMPPvhAcXFx5+zr6+srX1/fKqoMAAC4m1uvlroQ7777rkaPHq133333gu4SDAAArM2tMzfnevxB06ZNNXXqVB0+fFhvvvmmpDOHokaNGqUXXnhB0dHRysrKkiT5+/srMDDQLdsAAACqF7deCn6+xx/cdtttSk9P1/r16yVJvXv31qefflpm//LIy8tTYGCgcnNzz3nOTXFxsU6fPl2udeL8ateuXeLp6gAAlFd5f7+lanSfm6pyvsExxigrK0vHjh2r+uIsrkGDBgoNDeX+QgCACqtIuPHIE4or09lg06hRI9WpU4cfYhcwxqigoEBHjhyRJIWFhbm5IgCAlRFu/qC4uNgRbC699FJ3l2Mp/v7+kqQjR46oUaNGHKICAFQaj7taqjKdPcemTp06bq7Ems6OK+cyAQAqE+GmFByKqhyMKwCgKhBuAACApRBuAACApRBuLCQrK0vjx49XixYt5Ovrq/DwcA0YMECpqan65ZdfNH78eLVp00b+/v5q2rSp7r//fuXm5jqWT09Pl81m044dO0qsu3fv3po4caJT2+7du3XDDTcoMDBQdevWVdeuXZWRkVHJWwkANU9mbqE2HshRZm6hu0vxCFwtZRHp6enq0aOHGjRooKefflqRkZE6ffq01qxZo7Fjx2rx4sX66aef9Mwzz6h9+/b64YcfdM899+inn37S4sWLK/x9Bw4cUM+ePXXHHXdo5syZCggI0Lfffis/P79K2DoAqLlStmRo6pKdshvJyyYlDY5UQtem7i6rWiPcWMR9990nm82mzZs3q27duo72K664QrfffrsaNGigDz/80NHesmVLPfHEE7r11lv122+/qVatiu0KjzzyiPr166ennnrKaZ0AANfJzC10BBtJshtp2pJduqZ1sMIC/d1bXDXGYalKVFXTiL/88otWr16tsWPHOgWbsxo0aFDqcmfv8ljRYGO327Vy5Uq1bt1a8fHxatSokaKjo7Vs2bILqB4AUJa0nHxHsDmr2Bil5xS4pyAPQbipJClbMtRj7sca9uqX6jH3Y6VsqbxzUfbv3y9jjNq2bVvuZXJycjR79mzdddddJT7r3r276tWr5/T6/PPPHZ8fOXJEJ06c0Ny5c3X99ddr7dq1GjRokAYPHlzqs78AABemeVBdef3pLhreNpsigrgf27lwWKoSVPU0YkUfD5aXl6f+/furffv2mjFjRonPU1JS1K5dO6e24cOHO/5st9slSTfeeKMeeOABSVLHjh21ceNGLViwQLGxsRXcAgBAacIC/ZU0OFLTluxSsTHyttk0Z3AHDkmdB+GmEpxrGrEydsjLL79cNptNe/bsOW/f48eP6/rrr1f9+vW1dOlS1a5du0Sf8PBwtWrVyqnt7OMTJCkoKEi1atVS+/btnfq0a9dOGzZsuMCtAACUJqFrU13TOljpOQWKCKpDsCkHDktVgqqeRmzYsKHi4+OVnJys/Pz8Ep+ffcJ5Xl6errvuOvn4+GjFihUXfGWTj4+Punbtqr179zq1f//992rWrNkFrRMAULawQH/FtLyUYFNOhJtKcHYa0fv/P26gKqYRk5OTVVxcrG7duunDDz/Uvn37tHv3bv3zn/9UTEyMI9jk5+frtddeU15enrKyspSVlaXi4uIKf9/DDz+slJQUvfrqq9q/f7/mz5+v//znP7rvvvsqYesAACg/DktVkqqeRmzRooW2bdumJ554Qg8++KAyMzMVHByszp076+WXX9a2bdv05ZdfSlKJQ05paWmKiIio0PcNGjRICxYsUFJSku6//361adNGH374oXr27OmqTQIA4ILYTEXPRvVweXl5CgwMdFwG/UcnT55UWlqamjdvzs3oKgHjCwC4UOf6/f4zDksBAABLIdwAAABLIdwAAABLIdwAAABLIdyUooadY11lGFcAQFUg3PzB2bv1FhTwQLLKcHZcS7srMgAArsJ9bv7A29tbDRo00JEjRyRJderUkc1mO89SOB9jjAoKCnTkyBE1aNBA3t7e7i4JAGBhhJs/CQ0NlSRHwIHrNGjQwDG+AABUFsLNn9hsNoWFhalRo0Y6ffq0u8uxjNq1azNjAwCoEoSbMnh7e/NjDACAB+KEYgAAYCmEGwAAYCmEGwAAYCmEGwAAYCmEGwAAYCmEGwAAYCmEGwAA4DKZuYXaeCBHmbmFbquB+9wAAACXSNmSoalLdspuJC+blDQ4Ugldm1Z5HczcAACAi5aZW+gINpJkN9K0JbvcMoNDuAEAABctLSffEWzOKjZG6TkFVV4L4QYAAFy05kF15WVzbvO22RQRVKfKayHcAACAixYW6K+kwZHytp1JON42m+YM7qCwQP8qr4UTigEAgEskdG2qa1oHKz2nQBFBddwSbCTCDQAAcKGwQH+3hZqzOCwFAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAsxa3h5rPPPtOAAQPUuHFj2Ww2LVu27LzLrF+/XldddZV8fX3VqlUrLVq0qNLrBAAAnsOt4SY/P19RUVFKTk4uV/+0tDT1799fffr00Y4dOzRx4kSNGTNGa9asqeRKAQCAp3Dr4xf69u2rvn37lrv/ggUL1Lx5cz377LOSpHbt2mnDhg16/vnnFR8fX1llAgAAD+JR59xs2rRJcXFxTm3x8fHatGlTmcsUFRUpLy/P6QUAAKzLo8JNVlaWQkJCnNpCQkKUl5enwsLCUpdJSkpSYGCg4xUeHl4VpQIAADfxqHBzIaZOnarc3FzH69ChQ+4uCQAAVCK3nnNTUaGhocrOznZqy87OVkBAgPz9S3+8uq+vr3x9fauiPAAAUA141MxNTEyMUlNTndrWrVunmJgYN1UEAACqG7eGmxMnTmjHjh3asWOHpDOXeu/YsUMZGRmSzhxSGjlypKP/Pffco4MHD+of//iH9uzZo5deeknvv/++HnjgAXeUDwAAqiG3hpuvvvpKnTp1UqdOnSRJkyZNUqdOnTR9+nRJUmZmpiPoSFLz5s21cuVKrVu3TlFRUXr22Wf173//m8vAAQCAg80YY9xdRFXKy8tTYGCgcnNzFRAQ4O5yAABAOVTk99ujzrkBAAA4H8INAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAAAVlJlbqI0HcpSZW+juUlCKWu4uAAAAT5KyJUNTl+yU3UheNilpcKQSujZ1d1n4A2ZuAAAop8zcQkewkSS7kaYt2cUMTjVDuAEAoJzScvIdweasYmOUnlPgnoJQKsINAADl1Dyorrxszm3eNpsiguq4pyCUinADAEA5hQX6K2lwpLxtZxKOt82mOYM7KCzQ382V4Y84oRgAgApI6NpU17QOVnpOgSKC6hBsqiHCDQAAFRQW6E+oqcY4LAUAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACzF7eEmOTlZERER8vPzU3R0tDZv3nzO/vPmzVObNm3k7++v8PBwPfDAAzp58mQVVQsAAKo7t4ablJQUTZo0SYmJidq2bZuioqIUHx+vI0eOlNr/nXfe0ZQpU5SYmKjdu3frtddeU0pKiqZNm1bFlQMAgOrKreHmueee05133qnRo0erffv2WrBggerUqaPXX3+91P4bN25Ujx49NGzYMEVEROi6667T0KFDzzvbAwAAag63hZtTp05p69atiouL+70YLy/FxcVp06ZNpS7TvXt3bd261RFmDh48qFWrVqlfv35lfk9RUZHy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x49LEg/QBADAAx0/flyBgYHn7FPj7nNjt9v1008/qX79+rLZbO4up8rk5eUpPDxchw4dqvH392EszmAcfsdY/I6x+B1j8bvqMBbGGB0/flyNGzd2urlvaWrczI2Xl5cuu+wyd5fhNgEBATX+L+lZjMUZjMPvGIvfMRa/Yyx+5+6xON+MzVmcUAwAACyFcAMAACyFcFND+Pr6KjExUb6+vu4uxe0YizMYh98xFr9jLH7HWPzO08aixp1QDAAArI2ZGwAAYCmEGwAAYCmEGwAAYCmEGwAAYCmEGw+VnJysiIgI+fn5KTo6Wps3bz5n/3nz5qlNmzby9/dXeHi4HnjgAZ08edLx+YwZM2Sz2Zxebdu2rezNcImKjMXp06c1a9YstWzZUn5+foqKitLq1asvap3ViavHwlP3i88++0wDBgxQ48aNZbPZtGzZsvMus379el111VXy9fVVq1attGjRohJ9PG2/qIxxqCn7RGZmpoYNG6bWrVvLy8tLEydOLLXfBx98oLZt28rPz0+RkZFatWqV64t3scoYi0WLFpXYL/z8/CpnA8qBcOOBUlJSNGnSJCUmJmrbtm2KiopSfHy8jhw5Umr/d955R1OmTFFiYqJ2796t1157TSkpKZo2bZpTvyuuuEKZmZmO14YNG6picy5KRcfi0Ucf1SuvvKIXX3xR3333ne655x4NGjRI27dvv+B1VheVMRaSZ+4X+fn5ioqKUnJycrn6p6WlqX///urTp4927NihiRMnasyYMVqzZo2jjyfuF5UxDlLN2CeKiooUHBysRx99VFFRUaX22bhxo4YOHao77rhD27dv18CBAzVw4EDt2rXLlaW7XGWMhXTm7sV/3C9++OEHV5VccQYep1u3bmbs2LGO98XFxaZx48YmKSmp1P5jx441f/nLX5zaJk2aZHr06OF4n5iYaKKioiql3spU0bEICwsz8+fPd2obPHiwGT58+AWvs7qojLHw1P3ijySZpUuXnrPPP/7xD3PFFVc4tSUkJJj4+HjHe0/dL85y1TjUlH3ij2JjY82ECRNKtA8ZMsT079/fqS06OtrcfffdF1lh1XHVWCxcuNAEBga6rK6LxcyNhzl16pS2bt2quLg4R5uXl5fi4uK0adOmUpfp3r27tm7d6phCP3jwoFatWqV+/fo59du3b58aN26sFi1aaPjw4crIyKi8DXGBCxmLoqKiElOl/v7+jv95Xsg6q4PKGIuzPG2/uBCbNm1yGjtJio+Pd4ydp+4XFXW+cTirJuwT5VHe8aopTpw4oWbNmik8PFw33nijvv32W7fVQrjxMDk5OSouLlZISIhTe0hIiLKyskpdZtiwYZo1a5Z69uyp2rVrq2XLlurdu7fTYano6GgtWrRIq1ev1ssvv6y0tDT16tVLx48fr9TtuRgXMhbx8fF67rnntG/fPtntdq1bt05LlixRZmbmBa+zOqiMsZA8c7+4EFlZWaWOXV5engoLCz12v6io842DVHP2ifIoa7ystE+UV5s2bfT6669r+fLlevvtt2W329W9e3f9+OOPbqmHcFMDrF+/XnPmzNFLL72kbdu2acmSJVq5cqVmz57t6NO3b1/dfPPNuvLKKxUfH69Vq1bp2LFjev/9991Yueu98MILuvzyy9W2bVv5+Pho3LhxGj16tLy8at5fhfKMRU3ZL1B+7BMoTUxMjEaOHKmOHTsqNjZWS5YsUXBwsF555RW31FPz/kX3cEFBQfL29lZ2drZTe3Z2tkJDQ0td5rHHHtOIESM0ZswYRUZGatCgQZozZ46SkpJkt9tLXaZBgwZq3bq19u/f7/JtcJULGYvg4GAtW7ZM+fn5+uGHH7Rnzx7Vq1dPLVq0uOB1VgeVMRal8YT94kKEhoaWOnYBAQHy9/f32P2ios43DqWx6j5RHmWNl5X2iQtVu3ZtderUyW37BeHGw/j4+Khz585KTU11tNntdqWmpiomJqbUZQoKCkrMTHh7e0uSTBmPFjtx4oQOHDigsLAwF1XuehcyFmf5+fmpSZMm+u233/Thhx/qxhtvvOh1ulNljEVpPGG/uBAxMTFOYydJ69atc4ydp+4XFXW+cSiNVfeJ8riQ8aopiouLtXPnTvftF+4+oxkV99577xlfX1+zaNEi891335m77rrLNGjQwGRlZRljjBkxYoSZMmWKo39iYqKpX7++effdd83BgwfN2rVrTcuWLc2QIUMcfR588EGzfv16k5aWZr744gsTFxdngoKCzJEjR6p8+yqiomPxv//9z3z44YfmwIED5rPPPjN/+ctfTPPmzc2vv/5a7nVWV5UxFp66Xxw/ftxs377dbN++3Ugyzz33nNm+fbv54YcfjDHGTJkyxYwYMcLR/+DBg6ZOnTrm4YcfNrt37zbJycnG29vbrF692tHHE/eLyhiHmrJPGGMc/Tt37myGDRtmtm/fbr799lvH51988YWpVauWeeaZZ8zu3btNYmKiqV27ttm5c2eVbltFVcZYzJw506xZs8YcOHDAbN261dxyyy3Gz8/PqU9VItx4qBdffNE0bdrU+Pj4mG7dupn//e9/js9iY2PNqFGjHO9Pnz5tZsyYYVq2bGn8/PxMeHi4ue+++5x+xBISEkxYWJjx8fExTZo0MQkJCWb//v1VuEUXriJjsX79etOuXTvj6+trLr30UjNixAhz+PDhCq2zOnP1WHjqfvHJJ58YSSVeZ7d/1KhRJjY2tsQyHTt2ND4+PqZFixZm4cKFJdbraftFZYxDTdonSuvfrFkzpz7vv/++ad26tfHx8TFXXHGFWblyZdVs0EWojLGYOHGi4+9GSEiI6devn9m2bVvVbdSf2Iwp47gEAACAB+KcGwAAYCmEGwAAYCmEGwAAYCmEGwAAYCmEGwAAYCmEGwAAYCmEGwAAYCmEGwCoBtavXy+bzaZjx465uxTA4xFugBrmtttuk81m09y5c53aly1bJpvN5nhvjNGrr76qmJgYBQQEqF69erriiis0YcKEcj8Mr6CgQFOnTlXLli3l5+en4OBgxcbGavny5Y4+ERERmjdvnku2rbKdHTubzabatWurefPm+sc//qGTJ09WaD29e/fWxIkTndq6d++uzMxMBQYGurBioGYi3AA1kJ+fn5588kn9+uuvpX5ujNGwYcN0//33q1+/flq7dq2+++47vfbaa/Lz89Pjjz9eru+55557tGTJEr344ovas2ePVq9erZtuukk///yzKzenSl1//fXKzMzUwYMH9fzzz+uVV15RYmLiRa/Xx8dHoaGhTgETwAVy24MfALjFqFGjzN/+9jfTtm1b8/DDDzvaly5das7+k/Duu+8aSWb58uWlrsNut5fruwIDA82iRYvK/Dw2NrbE82rO+vzzz03Pnj2Nn5+fueyyy8z48ePNiRMnHJ+/+eabpnPnzqZevXomJCTEDB061GRnZzs+P/v8nNWrV5uOHTsaPz8/06dPH5OdnW1WrVpl2rZta+rXr2+GDh1q8vPzy7U9o0aNMjfeeKNT2+DBg02nTp0c73Nycswtt9xiGjdubPz9/U2HDh3MO++847SOP29zWlqao94/PvNt8eLFpn379sbHx8c0a9bMPPPMM+WqE6jpmLkBaiBvb2/NmTNHL774on788ccSn7/77rtq06aNbrjhhlKXL+/sQmhoqFatWqXjx4+X+vmSJUt02WWXadasWcrMzFRmZqYk6cCBA7r++uv197//Xd98841SUlK0YcMGjRs3zrHs6dOnNXv2bH399ddatmyZ0tPTddttt5X4jhkzZmj+/PnauHGjDh06pCFDhmjevHl65513tHLlSq1du1Yvvvhiubbnz3bt2qWNGzfKx8fH0Xby5El17txZK1eu1K5du3TXXXdpxIgR2rx5syTphRdeUExMjO68807HNoeHh5dY99atWzVkyBDdcsst2rlzp2bMmKHHHntMixYtuqBagRrF3ekKQNX64+zD1VdfbW6//XZjjPPMTdu2bc0NN9zgtNyECRNM3bp1Td26dU2TJk3K9V2ffvqpueyyy0zt2rVNly5dzMSJE82GDRuc+jRr1sw8//zzTm133HGHueuuu5zaPv/8c+Pl5WUKCwtL/a4tW7YYSeb48ePGmN9nbj766CNHn6SkJCPJHDhwwNF29913m/j4+HJtz6hRo4y3t7epW7eu8fX1NZKMl5eXWbx48TmX69+/v3nwwQcd72NjY82ECROc+vx55mbYsGHm2muvderz8MMPm/bt25erVqAmY+YGqMGefPJJvfHGG9q9e/d5+z7yyCPasWOHpk+frhMnTpRr/ddcc40OHjyo1NRU3XTTTfr222/Vq1cvzZ49+5zLff3111q0aJHq1avneMXHx8tutystLU3SmZmNAQMGqGnTpqpfv75iY2MlSRkZGU7ruvLKKx1/DgkJUZ06ddSiRQuntiNHjpRreySpT58+2rFjh7788kuNGjVKo0eP1t///nfH58XFxZo9e7YiIyPVsGFD1atXT2vWrClR1/ns3r1bPXr0cGrr0aOH9u3bp+Li4gqtC6hpCDdADXbNNdcoPj5eU6dOdWq//PLLtXfvXqe24OBgtWrVSo0aNarQd9SuXVu9evXS5MmTtXbtWs2aNUuzZ8/WqVOnylzmxIkTuvvuu7Vjxw7H6+uvv9a+ffvUsmVL5efnKz4+XgEBAfq///s/bdmyRUuXLpWkEuutXbu2489nr3L6I5vNJrvdXu7tqVu3rlq1aqWoqCi9/vrr+vLLL/Xaa685Pn/66af1wgsvaPLkyfrkk0+0Y8cOxcfHn3N7AbhWLXcXAMC95s6dq44dO6pNmzaOtqFDh2rYsGFavny5brzxRpd+X/v27fXbb7/p5MmT8vHxkY+PT4mZiKuuukrfffedWrVqVeo6du7cqZ9//llz5851nK/y1VdfubTO8vDy8tK0adM0adIkDRs2TP7+/vriiy9044036tZbb5Uk2e12ff/992rfvr1judK2+c/atWunL774wqntiy++UOvWreXt7e36jQEshJkboIaLjIzU8OHD9c9//tPRdsstt+imm27SLbfcolmzZunLL79Uenq6Pv30U6WkpJT7x7V379565ZVXtHXrVqWnp2vVqlWaNm2a+vTpo4CAAEln7nPz2Wef6fDhw8rJyZEkTZ48WRs3btS4ceO0Y8cO7du3T8uXL3ecUNy0aVP5+PjoxRdf1MGDB7VixYrzHuqqLDfffLO8vb2VnJws6cys17p167Rx40bt3r1bd999t7Kzs52WiYiIcIxpTk5OqTNHDz74oFJTUzV79mx9//33euONNzR//nw99NBDVbJdgCcj3ADQrFmznH5gbTabUlJSNG/ePK1atUp//etf1aZNG91+++0KDw/Xhg0byrXe+Ph4vfHGG7ruuuvUrl07jR8/XvHx8Xr//fedvjs9PV0tW7ZUcHCwpDPnyXz66af6/vvv1atXL3Xq1EnTp09X48aNJZ05RLZo0SJ98MEHat++vebOnatnnnnGhSNSfrVq1dK4ceP01FNPKT8/X48++qiuuuoqxcfHq3fv3goNDdXAgQOdlnnooYfk7e2t9u3bKzg4uNTzca666iq9//77eu+999ShQwdNnz5ds2bNKvWKMADObMYY4+4iAAAAXIWZGwAAYCmEGwAX7I+Xav/59fnnn7u7vArJyMg45/ZU9FJuAO7DYSkAF+xcD9Bs0qSJ/P39q7Cai/Pbb78pPT29zM8jIiJUqxYXmAKegHADAAAshcNSAADAUgg3AADAUgg3AADAUgg3AADAUgg3AADAUgg3AADAUgg3AADAUgg3AADAUv4fTCegO/j3DwIAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_55.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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EG4AAIClEG4AAICluDXcbNy4Uf369VPt2rVls9m0fPnyK66zfv16tW/fXr6+vmrcuLESExNLvU4AAFB+uDXcZGdnKzo6WnPmzClW+5SUFPXt21c9evTQrl27NGHCBI0ePVoff/xxKVcKAADKC7fexK93797q3bt3sdvPmzdPDRo00AsvvCBJatGihT7//HPNnDlT8fHxpVUmAAAoR8rVnJvNmzerZ8+eTsvi4+O1efPmItfJzc1VVlaW0wsAAFhXuQo36enpCg0NdVoWGhqqrKws5eTkFLpOQkKCAgMDHa+IiIiyKBUAALhJuQo3V2PSpEmy2+2O19GjR91dEgAAKEXl6sGZYWFhysjIcFqWkZGhgIAA+fsX/lAwX19f+fr6lkV5AADAA5SrkZuYmBitXbvWadmaNWsUExPjpoqcpdlzlHwwU2n2wk+RAQCA0ufWkZszZ87owIEDjvcpKSnatWuXatasqXr16mnSpEk6duyY3n77bUnS/fffr1deeUV/+9vfdPfdd2vdunV677339NFHH7lrFxyStqZq0tLdyjeSl01KGBilwZ3qubssAAAqHLeO3Gzbtk3t2rVTu3btJEkTJ05Uu3bt9OSTT0qS0tLSlJqa6mjfoEEDffTRR1qzZo2io6P1wgsv6I033nD7ZeBp9hxHsJGkfCNNXrqHERwAANzArSM3cXFxMsYU+Xlhdx+Oi4vTzp07S7GqkkvJzHYEmwJ5xuhw5lmFBxY+FwgAAJSOcjXnxlM1CKoqL5vzMm+bTZFBVdxTEAAAFRjhxgXCA/2VMDBK3raLCcfbZtP0ga0ZtQEAwA3K1aXgnmxwp3rq3jRYhzPPKjKoCsEGAAA3Idy4UHigP6EGAAA347QUAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAACwFMINAAAeLs2eo+SDmUqz57i7lHKhkrsLAAAARUvamqpJS3cr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AFgK4QYAAFgK4QYAAFgK4QYAPMD69etls9l06tQpd5cClHuEG6CCueuuu2Sz2fTss886LV++fLlsNpvjvTFGr7/+umJiYhQQEKBq1aqpVatWGj9+fLEfhnf27FlNmjRJjRo1kp+fn4KDgxUbG6sPPvjA0SYyMlKzZs1yyb6VtoK+s9lsqly5sho0aKC//e1vOnfuXIm2ExcXpwkTJjgt69q1q9LS0hQYGOjCioGKiXADVEB+fn6aMWOGTp48WejnxhgNGzZMDz30kPr06aPVq1frm2++0b///W/5+fnpmWeeKdb33H///Vq6dKlmz56tffv2adWqVbr99tv1008/uXJ3ytTNN9+stLQ0HTp0SDNnztT8+fM1ZcqUa96uj4+PwsLCnAImgKvktgc/AHCLkSNHmltuucU0b97cPProo47ly5YtMwV/Et59910jyXzwwQeFbiM/P79Y3xUYGGgSExOL/Dw2NvaS59UU+Oyzz8wNN9xg/Pz8TN26dc2DDz5ozpw54/j87bffNh06dDDVqlUzoaGhZujQoSYjI8PxecHzc1atWmXatm1r/Pz8TI8ePUxGRoZZuXKlad68ualevboZOnSoyc7OLtb+jBw50vTv399p2cCBA027du0c7zMzM82QIUNM7dq1jb+/v2ndurVZtGiR0zZ+v88pKSmOen/7zLclS5aYli1bGh8fH1O/fn3z/PPPF6tOoKJj5AaogLy9vTV9+nTNnj1bP/zwwyWfv/vuu2rWrJluvfXWQtcv7uhCWFiYVq5cqdOnTxf6+dKlS1W3bl1NmzZNaWlpSktLkyQdPHhQN998s/70pz/p66+/VlJSkj7//HONGzfOse6FCxf09NNP66uvvtLy5ct1+PBh3XXXXZd8x9SpU/XKK68oOTlZR48e1aBBgzRr1iwtWrRIH330kVavXq3Zs2cXa39+b8+ePUpOTpaPj49j2blz59ShQwd99NFH2rNnj+69917deeed2rJliyTppZdeUkxMjMaMGePY54iIiEu2vX37dg0aNEhDhgzR7t27NXXqVP3jH/9QYmLiVdUKVCjuTlcAytZvRx+6dOli7r77bmOM88hN8+bNza233uq03vjx403VqlVN1apVTZ06dYr1XRs2bDB169Y1lStXNh07djQTJkwwn3/+uVOb+vXrm5kzZzotu+eee8y9997rtOyzzz4zXl5eJicnp9Dv2rp1q5FkTp8+bYz5deTmk08+cbRJSEgwkszBgwcdy+677z4THx9frP0ZOXKk8fb2NlWrVjW+vr5GkvHy8jJLliy57Hp9+/Y1Dz/8sON9bGysGT9+vFOb34/cDBs2zNx0001ObR599FHTsmXLYtUKVGSM3AAV2IwZM/TWW2/p22+/vWLbv//979q1a5eefPJJnTlzpljb7969uw4dOqS1a9fq9ttv1969e3XjjTfq6aefvux6X331lRITE1WtWjXHKz4+Xvn5+UpJSZF0cWSjX79+qlevnqpXr67Y2FhJUmpqqtO22rRp4/jn0NBQValSRQ0bNnRadvz48WLtjyT16NFDu3bt0pdffqmRI0dq1KhR+tOf/uT4PC8vT08//bSioqJUs2ZNVatWTR9//PEldV3Jt99+q27dujkt69atm/bv36+8vLwSbQuoaAg3QAXWvXt3xcfHa9KkSU7LmzRpou+++85pWXBwsBo3bqyQkJASfUflypV144036rHHHtPq1as1bdo0Pf300zp//nyR65w5c0b33Xefdu3a5Xh99dVX2r9/vxo1aqTs7GzFx8crICBA/+///T9t3bpVy5Ytk6RLtlu5cmXHPxdc5fRbNptN+fn5xd6fqlWrqnHjxoqOjtabb76pL7/8Uv/+978dnz/33HN66aWX9Nhjj+nTTz/Vrl27FB8ff9n9BeBaldxdAAD3evbZZ9W2bVs1a9bMsWzo0KEaNmyYPvjgA/Xv39+l39eyZUv98ssvOnfunHx8fOTj43PJSET79u31zTffqHHjxoVuY/fu3frpp5/07LPPOuarbNu2zaV1FoeXl5cmT56siRMnatiwYfL399emTZvUv39//fnPf5Yk5efn6/vvv1fLli0d6xW2z7/XokULbdq0yWnZpk2b1LRpU3l7e7t+ZwALYeQGqOCioqI0fPhwvfzyy45lQ4YM0e23364hQ4Zo2rRp+vLLL3X48GFt2LBBSUlJxf5xjYuL0/z587V9+3YdPnxYK1eu1OTJk9WjRw8FBARIunifm40bN+rYsWPKzMyUJD322GNKTk7WuHHjtGvXLu3fv18ffPCBY0JxvXr15OPjo9mzZ+vQoUNasWLFFU91lZY77rhD3t7emjNnjqSLo15r1qxRcnKyvv32W913333KyMhwWicyMtLRp5mZmYWOHD388MNau3atnn76aX3//fd666239Morr+iRRx4pk/0CyjPCDQBNmzbN6QfWZrMpKSlJs2bN0sqVK/XHP/5RzZo10913362IiAh9/vnnxdpufHy83nrrLfXq1UstWrTQgw8+qPj4eL333ntO33348GE1atRIwcHBki7Ok9mwYYO+//573XjjjWrXrp2efPJJ1a5dW9LFU2SJiYl6//331bJlSz377LN6/vnnXdgjxVepUiWNGzdO//rXv5Sdna0nnnhC7du3V3x8vOLi4hQWFqYBAwY4rfPII4/I29tbLVu2VHBwcKHzcdq3b6/33ntPixcvVuvWrfXkk09q2rRphV4RBsCZzRhj3F0EAACAqzByAwAALIVwA+Cq/fZS7d+/PvvsM3eXVyKpqamX3Z+SXsoNwH04LQXgql3uAZp16tSRv79/GVZzbX755RcdPny4yM8jIyNVqRIXmALlAeEGAABYCqelAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApfx/xqPqYa7NMAoAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_56.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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vLS0VE888YTeeustnThxQj169NCCBQtqfNfRBQsWKCIiQsuWLXO0dejQoUbrAuqSt7e3kpOTNXToUC1evFgzZsxQx44dJZ07lVKVH/aWLVtq4sSJmjhxok6dOqVrr71Wc+bMqTTctG/fXna7XYcOHXIarfnmm2/K9b300kt14sSJcu0/H/3429/+ptLSUq1du1bt2rVztH/88ccXrd/V2rdvr6+++kp2u91p9Gb//v2Oz6XKgxuAqvPo01IXM2XKFG3btk1vv/22vvrqK9155536xS9+Ua15BD+1du1a9enTR3feeadat26t3r1765VXXnFx1YBrDBkyRP369VNKSopOnz6t1q1ba8iQIXrppZeUk5NTrv/x48cd//yf//zH6bPmzZurc+fOKi0trXR75/9H409/+pNTe0pKSrm+nTp1UkFBgdOprpycnHJ3Cfb29pYkGWMcbQUFBU7/g1FfbrrpJuXm5iotLc3R9sMPP+iFF15Q8+bNNXjwYElS06ZNJanC8Aagajx65OZCsrOztWzZMmVnZ6tNmzaSzg3Hr1+/XsuWLdP8+fOrvc7Dhw9ryZIlSkxM1MyZM/XFF1/ooYcekq+vryZMmODqXQBq7bHHHtOdd96p5cuX64EHHlBqaqquueYaRUVF6d5771XHjh2Vl5enbdu26d///re+/PJLSVL37t01ZMgQxcTEqGXLltqxY4dWrlypKVOmVLqtXr16acyYMXrxxRdVUFCgAQMGKD09XQcPHizXd/To0Xr88cd122236aGHHlJxcbGWLFmiLl26aNeuXY5+N954o3x9fTV8+HDdf//9OnXqlF555RW1bt26woBWl+677z699NJLuvvuu7Vz505FRkZq5cqV+uyzz5SSkqJLLrlE0rkJ0N27d1daWpq6dOmili1bqkePHurRo0e91gs0au6+XKuhkGRWr17teP/+++8bSaZZs2ZOryZNmphRo0YZY4zZt2+fkXTB1+OPP+5Yp4+Pj4mNjXXa7tSpU83VV19dL/sIVOT8peBffPFFuc/KyspMp06dTKdOncwPP/xgjDHm0KFDZvz48SYsLMz4+PiYtm3bml/+8pdm5cqVjuWeeeYZ069fP9OiRQsTEBBgunXrZn73u9+ZM2fOOPpUdNl2SUmJeeihh0yrVq1Ms2bNzPDhw82RI0cqvDT6o48+Mj169DC+vr6m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zz7r1L5mzRrZbDbHe2OMXnnlFcXGxiowMFDNmzfXlVdeqWnTplX5YXjFxcVKSkpSp06d5O/vr5CQEA0ePFjvvfeeo09kZKRSUlJcsm917fyxs9ls8vHxUYcOHfTb3/5Wp0+frtZ6hgwZoocfftipbcCAAcrJyVFQUJALKwY8E+EG8ED+/v5asGCB/ve//1X4uTFGY8eO1UMPPaSbbrpJH330kf71r3/p1Vdflb+/v5555pkqbeeBBx7QqlWr9MILL2j//v1av3697rjjDv3nP/9x5e7Uq1/84hfKycnR4cOHtWjRIr300kuaPXt2rdfr6+ursLAwp4AJoIbc9uAHAG4xYcIE88tf/tJ069bNPPbYY4721atXm/N/Et566y0jybz33nsVrsNut1dpW0FBQWb58uWVfj548OByz6s579NPPzXXXHON8ff3N5dddpmZOnWqOXXqlOPzN954w8TExJjmzZub0NBQM2bMGJOXl+f4/Pzzc9avX2969epl/P39zdChQ01eXp5Zt26d6datm7nkkkvMmDFjTFFRUZX2Z8KECebWW291ahs5cqTp3bu3431+fr4ZPXq0adOmjQkICDA9evQwK1ascFrHz/c5MzPTUe9Pn/m2cuVK0717d+Pr62vat29vnnvuuSrVCXg6Rm4AD+Tt7a358+frhRde0L///e9yn7/11lvq2rWrbrnllgqXr+roQlhYmNatW6eTJ09W+PmqVat02WWXad68ecrJyVFOTo4k6dChQ/rFL36h22+/XV999ZXS0tK0ZcsWTZkyxbHs2bNn9fTTT+vLL7/UmjVrlJWVpbvvvrvcNubMmaPFixdr69atOnLkiEaNGqWUlBStWLFCH3zwgT766CO98MILVdqfn9u7d6+2bt0qX19fR9vp06cVExOjDz74QHv37tV9992ncePGafv27ZKkP/7xj4qNjdW9997r2OeIiIhy6965c6dGjRql0aNHa8+ePZozZ46eeuopLV++vEa1Ah7F3ekKQP366ejD1VdfbX79618bY5xHbrp162ZuueUWp+WmTZtmmjVrZpo1a2batm1bpW198skn5rLLLjM+Pj6mT58+5uGHHzZbtmxx6tO+fXuzaNEip7Z77rnH3HfffU5tn376qfHy8jIlJSUVbuuLL74wkszJkyeNMT+O3PzjH/9w9ElOTjaSzKFDhxxt999/v4mPj6/S/kyYMMF4e3ubZs2aGT8/PyPJeHl5mZUrV15wuZtvvtk88sgjjveDBw8206ZNc+rz85GbsWPHmhtuuMGpz2OPPWa6d+9epVoBT8bIDeDBFixYoNdff1379u27aN8nnnhCGRkZmjVrlk6dOlWl9V977bU6fPiw0tPTdccdd+jrr7/WoEGD9PTTT19wuS+//FLLly9X8+bNHa/4+HjZ7XZlZmZKOjeyMXz4cLVr106XXHKJBg8eLEnKzs52WlfPnj0d/xwaGqqmTZuqY8eOTm3Hjh2r0v5I0tChQ5WRkaHPP/9cEyZM0MSJE3X77bc7Pi8rK9PTTz+tqKgotWzZUs2bN9eHH35Yrq6L2bdvnwYOHOjUNnDgQB04cEBlZWXVWhfgaQg3gAe79tprFR8fr6SkJKf2yy+/XN98841TW0hIiDp37qzWrVtXaxs+Pj4aNGiQHn/8cX300UeaN2+enn76aZ05c6bSZU6dOqX7779fGRkZjteXX36pAwcOqFOnTioqKlJ8fLwCAwP1//7f/9MXX3yh1atXS1K59fr4+Dj++fxVTj9ls9lkt9urvD/NmjVT586dFR0drddee02ff/65Xn31Vcfnf/jDH/THP/5Rjz/+uD7++GNlZGQoPj7+gvsLwLWauLsAAO717LPPqlevXurataujbcyYMRo7dqzee+893XrrrS7dXvfu3fXDDz/o9OnT8vX1la+vb7mRiKuuukr/+te/1Llz5wrXsWfPHv3nP//Rs88+65ivsmPHDpfWWRVeXl6aOXOmEhMTNXbsWAUEBOizzz7Trbfeql/96leSJLvdrm+//Vbdu3d3LFfRPv/cFVdcoc8++8yp7bPPPlOXLl3k7e3t+p0BLISRG8DDRUVF6a677tKf/vQnR9vo0aN1xx13aPTo0Zo3b54+//xzZWVl6ZNPPlFaWlqVf1yHDBmil156STt37lRWVpbWrVunmTNnaujQoQoMDJR07j43mzdv1tGjR5Wfny9Jevzxx7V161ZNmTJFGRkZOnDggN577z3HhOJ27drJ19dXL7zwgg4fPqy1a9de9FRXXbnzzjvl7e2t1NRUSedGvTZs2KCtW7dq3759uv/++5WXl+e0TGRkpOOY5ufnVzhy9Mgjjyg9PV1PP/20vv32W73++utavHixHn300XrZL6AxI9wA0Lx585x+YG02m9LS0pSSkqJ169bp+uuvV9euXfXrX/9aERER2rJlS5XWGx8fr9dff1033nijrrjiCk2dOlXx8fF65513nLadlZWlTp06KSQkRNK5eTKffPKJvv32Ww0aNEi9e/fWrFmz1KZNG0nnTpEtX75c7777rrp3765nn31Wzz33nAuPSNU1adJEU6ZM0e9//3sVFRXpySef1FVXXaX4+HgNGTJEYWFhGjFihNMyjz76qLy9vdW9e3eFhIRUOB/nqquu0jvvvKO3335bPXr00KxZszRv3rwKrwgD4MxmjDHuLgIAAMBVGLkBAACWQrgBUGM/vVT7569PP/3U3eVVS3Z29gX3p7qXcgNwH05LAaixCz1As23btgoICKjHamrnhx9+UFZWVqWfR0ZGqkkTLjAFGgPCDQAAsBROSwEAAEsh3AAAAEsh3AAAAEsh3AAAAEsh3AAAAEsh3AAAAEsh3AAAAEsh3AAAAEv5/+TFbZUghhxzAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_57.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAloAAAHHCAYAAABnS/bqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABU4ElEQVR4nO3dfVxUZf4//tdwMwyizGggA4aChhpKYCospqIr27haSdaqyKqxJLarlWt36lfFrA0zd3M1N90+FX3WVLRc7aNmspiZQkjgveYq4l0xGBKDKHgz8/794Y9TIyOCchxuXs/H4zxorut9znmf6zE176655hyNiAiIiIiIqMG5ODsBIiIiouaKhRYRERGRSlhoEREREamEhRYRERGRSlhoEREREamEhRYRERGRSlhoEREREamEhRYRERGRSlhoEREREamEhRYRtXhz586FRqOpU6xGo8HcuXNVzWfQoEEYNGhQoz0eEdUdCy0iajTS0tKg0WiUzc3NDR06dMBTTz2F77//3tnpNTpBQUF249W+fXsMGDAA//73vxvk+JcuXcLcuXOxffv2BjkeUUvEQouIGp158+bhX//6F5YtW4bf/va3WLFiBWJiYlBVVaXK+WbNmoXKykpVjq22iIgI/Otf/8K//vUvvPjii/jhhx8wcuRILFu27I6PfenSJbz66qsstIjugJuzEyAiutFvf/tb9OnTBwDw9NNPw8fHB2+++SY+++wzjBo1qsHP5+bmBje3pvmfww4dOuD3v/+98nr8+PG477778Pbbb+OZZ55xYmZEBHBGi4iagAEDBgAACgoK7Nq/++47PPnkk2jXrh10Oh369OmDzz77zC7m6tWrePXVVxESEgKdTod77rkH/fv3R0ZGhhLjaI3W5cuX8ec//xm+vr5o06YNHnvsMZw9e7ZGbk899RSCgoJqtDs65ocffohf//rXaN++PTw8PBAaGop33323XmNxK0ajEffffz8KCwtrjTt37hySkpLg5+cHnU6H8PBwfPTRR0r/yZMn4evrCwB49dVXla8n1V6fRtTcNM3/hSOiFuXkyZMAgLZt2ypthw4dwkMPPYQOHTpg+vTp8PLywpo1axAXF4dPP/0Ujz/+OIDrBU9qaiqefvppREZGory8HN9++y3y8/Pxm9/85qbnfPrpp7FixQqMHTsW/fr1w7Zt2zB8+PA7uo53330XPXr0wGOPPQY3Nzf83//9H/70pz/BZrNh8uTJd3TsalevXsWZM2dwzz333DSmsrISgwYNwvHjxzFlyhQEBwdj7dq1eOqpp1BWVobnn38evr6+ePfdd/HHP/4Rjz/+OEaOHAkAeOCBBxokT6IWQ4iIGokPP/xQAMh//vMf+fHHH+XMmTPyySefiK+vr3h4eMiZM2eU2CFDhkhYWJhUVVUpbTabTfr16ychISFKW3h4uAwfPrzW86akpMgv/3O4d+9eASB/+tOf7OLGjh0rACQlJUVpmzBhgnTq1OmWxxQRuXTpUo04k8kknTt3tmuLiYmRmJiYWnMWEenUqZM8/PDD8uOPP8qPP/4o+/btkzFjxggAefbZZ296vEWLFgkAWbFihdJ25coViY6OltatW0t5ebmIiPz44481rpeI6odfHRJRoxMbGwtfX18EBgbiySefhJeXFz777DPce++9AIDS0lJs27YNo0aNwoULF1BSUoKSkhKcP38eJpMJx44dU36laDAYcOjQIRw7dqzO59+8eTMA4LnnnrNrnzp16h1dl6enp/LPFosFJSUliImJwYkTJ2CxWG7rmFu3boWvry98fX0RHh6OtWvXYty4cXjzzTdvus/mzZthNBoRHx+vtLm7u+O5555DRUUFvvrqq9vKhYhq4leHRNToLF26FF27doXFYsEHH3yAHTt2wMPDQ+k/fvw4RASzZ8/G7NmzHR7j3Llz6NChA+bNm4cRI0aga9eu6NmzJ4YOHYpx48bV+hXYqVOn4OLigi5duti1d+vW7Y6ua9euXUhJSUF2djYuXbpk12exWKDX6+t9zKioKLz++uvQaDRo1aoV7r//fhgMhlr3OXXqFEJCQuDiYv//2vfff7/ST0QNg4UWETU6kZGRyq8O4+Li0L9/f4wdOxZHjx5F69atYbPZAAAvvvgiTCaTw2Pcd999AICBAweioKAAGzZswNatW/E///M/ePvtt7Fs2TI8/fTTd5zrzW50arVa7V4XFBRgyJAh6N69O/72t78hMDAQWq0Wmzdvxttvv61cU335+PggNjb2tvYlIvWx0CKiRs3V1RWpqakYPHgw3nnnHUyfPh2dO3cGcP3rrroUGe3atUNiYiISExNRUVGBgQMHYu7cuTcttDp16gSbzYaCggK7WayjR4/WiG3bti3KyspqtN84K/R///d/uHz5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f8WKFZKeni6HDx+WgoICSU9Pl4CAAElISKhXLrXhrw6JiIianvp8fju90BIRWbJkiXTs2FG0Wq1ERkbKN998o/TFxMTIhAkT7OLXrFkjXbt2Fa1WKz169JBNmzbZ9dtsNpk9e7b4+fmJh4eHDBkyRI4ePWoXc/78eYmPj5fWrVuLt7e3JCYmyoULF5T+1atXy4MPPiitW7cWLy8vCQ0NlTfeeMOuWKtLLrVhoUVERNT01OfzWyMi4tw5tZarvLwcer0eFouFXyMSERE1EfX5/OavDomIiIhUwkKLiIiISCUstIiIiIhUwkKLiIiISCUstIiIiIhUwkKLiIiISCUstIiIiIhUwkKLiIiISCUstIiIiIhUwkKLiIiISCUstIiIiIhUwkKLiIiISCUstIiIiIhUwkKLiIiISCUstIiIiIhUwkKLiIiISCUstIiIiIhUwkKLiIiISCUstIiIiIhUwkKLiIiISCUstIiIiIhUwkKLiIioCSuyVCKroARFlkpnp0IOuDk7ASIiIro96bmnMWPdAdgEcNEAqSPDMLpvR2enRb/AGS0iIqImqMhSqRRZAGATYOa6g5zZamRYaBERETVBhSUXlSKrmlUEJ0suOSchcoiFFhERURMU7OMFF419m6tGgyCfVs5JiBxioUVERNQE+es9kToyDK6a69WWq0aDN0b2hL/e08mZ0S9xMTwREVETNbpvRwzs6ouTJZcQ5NOKRVYjxEKLiIioCfPXe7LAasT41SERERGRSlhoEREREamEhRYRERGRSlhoEREREamEhRYRERGRSlhoEREREamEhRYRERGRSlhoEREREamEhRYRERGRSlhoEREREamkURRaS5cuRVBQEHQ6HaKiorB79+5a49euXYvu3btDp9MhLCwMmzdvtusXEcyZMwf+/v7w9PREbGwsjh07ZhdTWlqKhIQEeHt7w2AwICkpCRUVFUr/9u3bMWLECPj7+8PLywsRERH4+OOP7Y6RlpYGjUZjt+l0ujscDSIiImounF5opaenY9q0aUhJSUF+fj7Cw8NhMplw7tw5h/FZWVmIj49HUlIS9uzZg7i4OMTFxeHgwYNKzIIFC7B48WIsW7YMOTk58PLygslkQlVVlRKTkJCAQ4cOISMjAxs3bsSOHTuQnJxsd54HHngAn376Kfbv34/ExESMHz8eGzdutMvH29sbRUVFynbq1KkGHiEiIiJqssTJIiMjZfLkycprq9UqAQEBkpqa6jB+1KhRMnz4cLu2qKgomTRpkoiI2Gw2MRqN8tZbbyn9ZWVl4uHhIatWrRIRkcOHDwsAyc3NVWI+//xz0Wg08v33398012HDhkliYqLy+sMPPxS9Xl/3i72BxWIRAGKxWG77GERERHR31efz26kzWleuXEFeXh5iY2OVNhcXF8TGxiI7O9vhPtnZ2XbxAGAymZT4wsJCmM1muxi9Xo+oqCglJjs7GwaDAX369FFiYmNj4eLigpycnJvma7FY0K5dO7u2iooKdOrUCYGBgRgxYgQOHTp00/0vX76M8vJyu42IiIiaL6cWWiUlJbBarfDz87Nr9/Pzg9lsdriP2WyuNb76761i2rdvb9fv5uaGdu3a3fS8a9asQW5uLhITE5W2bt264YMPPsCGDRuwYsUK2Gw29OvXD2fPnnV4jNTUVOj1emULDAx0GEdERETNg9PXaDUFX375JRITE/Hee++hR48eSnt0dDTGjx+PiIgIxMTEYN26dfD19cXy5csdHmfGjBmwWCzKdubMmbt1CUREROQETi20fHx84OrqiuLiYrv24uJiGI1Gh/sYjcZa46v/3irmxsX2165dQ2lpaY3zfvXVV3j00Ufx9ttvY/z48bVej7u7O3r16oXjx4877Pfw8IC3t7fdRkRERM2XUwstrVaL3r17IzMzU2mz2WzIzMxEdHS0w32io6Pt4gEgIyNDiQ8ODobRaLSLKS8vR05OjhITHR2NsrIy5OXlKTHbtm2DzWZDVFSU0rZ9+3YMHz4cb775pt0vEm/GarXiwIED8Pf3r8PVExERUbN3Fxbn12r16tXi4eEhaWlpcvjwYUlOThaDwSBms1lERMaNGyfTp09X4nft2iVubm6ycOFCOXLkiKSkpIi7u7scOHBAiZk/f74YDAbZsGGD7N+/X0aMGCHBwcFSWVmpxAwdOlR69eolOTk5snPnTgkJCZH4+Hilf9u2bdKqVSuZMWOGFBUVKdv58+eVmFdffVW++OILKSgokLy8PBkzZozodDo5dOhQna6dvzokIiJqeurz+e30QktEZMmSJdKxY0fRarUSGRkp33zzjdIXExMjEyZMsItfs2aNdO3aVbRarfTo0UM2bdpk12+z2WT27Nni5+cnHh4eMmTIEDl69KhdzPnz5yU+Pl5at24t3t7ekpiYKBcuXFD6J0yYIABqbDExMUrM1KlTlbz9/Pxk2LBhkp+fX+frZqFFRETU9NTn81sjIuK06bQWrry8HHq9HhaLheu1iIiImoj6fH7zV4dEREREKmGhRURERKQSFlpEREREKmGhRURERKQSFlpEREREKmGhRXaKLJXIKihBkaXS2akQERE1eW7OToAaj/Tc05ix7gBsArhogNSRYRjdt6Oz0yIiImqyOKNFAK7PZFUXWQBgE2DmuoOc2SIiIroDLLQIAFBYclEpsqpZRXCy5JJzEiIiImoGWGgRACDYxwsuGvs2V40GQT6tnJMQERFRM8BCiwAA/npPpI4Mg6vmerXlqtHgjZE94a/3dHJmRERETRcXw5NidN+OGNjVFydLLiHIpxWLLCIiojvEQovs+Os9WWARERE1EH51SERERKQSFlpEREREKmGhRURERKQSFlpEREREKmGhRURERKQSFlpkhw+VJiIiaji8vQMp+FBpIiKihsUZLQLAh0oTERGpgYUWAeBDpYmIiNTAQosA8KHSREREamChRQD4UGkiIiI1cDE8KfhQaSIioobFQovs8KHSREREDYdfHRIRERGphIUWERERkUpYaBERERGphIUWERERkUpYaBERERGphIUWERERkUpYaBGpqMhSiayCEj4zkoioheJ9tIhUkp57WnlQt4sGSB0ZhtF9Ozo7LSIiuos4o0WkgiJLpVJkAYBNgJnrDnJmi4iohWGhRaSCwpKLSpFVzSqCkyWXnJMQERE5BQstIhUE+3jBRWPf5qrRIMinlXMSIiIip2ChRaQCf70nUkeGwVVzvdpy1WjwxsiefI4kEVELw8XwRCoZ3bcjBnb1xcmSSwjyacUii4ioBWoUM1pLly5FUFAQdDodoqKisHv37lrj165di+7du0On0yEsLAybN2+26xcRzJkzB/7+/vD09ERsbCyOHTtmF1NaWoqEhAR4e3vDYDAgKSkJFRUVSv/27dsxYsQI+Pv7w8vLCxEREfj444/rnQu1bP56T0R3uYdFFhFRC+X0Qis9PR3Tpk1DSkoK8vPzER4eDpPJhHPnzjmMz8rKQnx8PJKSkrBnzx7ExcUhLi4OBw8eVGIWLFiAxYsXY9myZcjJyYGXlxdMJhOqqqqUmISEBBw6dAgZGRnYuHEjduzYgeTkZLvzPPDAA/j000+xf/9+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EamEhRYRERGRSlhoEREREamEhRYRERGRSlhoEREREamEhRYRERGRSlhoEREREamEhRYRERGRSlhoEREREamEhRYRERGRSlhoEREREamEhRYRERGRSlhoEREREamEhRYRERGRSlhoEREREamEhRYRERGRSlhoEREREamEhRYRERGRSlhoEREREamEhRYRERGRSlhoEREREanE6YXW0qVLERQUBJ1Oh6ioKOzevbvW+LVr16J79+7Q6XQICwvD5s2b7fpFBHPmzIG/vz88PT0RGxuLY8eO2cWUlpYiISEB3t7eMBgMSEpKQkVFhdJfVVWFp556CmFhYXBzc0NcXJzDXLZv344HH3wQHh4euO+++5CWlnZbY0BERETNk1MLrfT0dEybNg0pKSnIz89HeHg4TCYTzp075zA+KysL8fHxSEpKwp49exAXF4e4uDgcPHhQiVmwYAEWL16MZcuWIScnB15eXjCZTKiqqlJiEhIScOjQIWRkZGDjxo3YsWMHkpOTlX6r1QpPT08899xziI2NdZhLYWEhhg8fjsGDB2Pv3r2YOnUqnn76aXzxxRcNNDpERETU5IkTRUZGyuTJk5XXVqtVAgICJDU11WH8qFGjZPjw4XZtUVFRMmnSJBERsdlsYjQa5a233lL6y8rKxMPDQ1atWiUiIocPHxYAkpubq8R8/vnnotFo5Pvvv69xzgkTJsiIESNqtL/88svSo0cPu7bRo0eLyWS6xVX/zGKxCACxWCx13oeIiIicqz6f306b0bpy5Qry8vLsZoxcXFwQGxuL7Oxsh/tkZ2fXmGEymUxKfGFhIcxms12MXq9HVFSUEpOdnQ2DwYA+ffooMbGxsXBxcUFOTk6d879VLo5cvnwZ5eXldhsRERE1X04rtEpKSmC1WuHn52fX7ufnB7PZ7HAfs9lca3z131vFtG/f3q7fzc0N7dq1u+l565NLeXk5KisrHe6TmpoKvV6vbIGBgXU+HxERETU9Tl8M35LMmDEDFotF2c6cOePslIiIiEhFTiu0fHx84OrqiuLiYrv24uJiGI1Gh/sYjcZa46v/3irmxsX2165dQ2lp6U3PW59cvL294enp6XAfDw8PeHt7221ERETUfDmt0NJqtejduzcyMzOVNpvNhszMTERHRzvcJzo62i4eADIyMpT44OBgGI1Gu5jy8nLk5OQoMdHR0SgrK0NeXp4Ss23bNthsNkRFRdU5/1vlQkREROTUXx2uXr1aPDw8JC0tTQ4fPizJycliMBjEbDaLiMi4ceNk+vTpSvyuXbvEzc1NFi5cKEeOHJGUlBRxd3eXAwcOKDHz588Xg8EgGzZskP3798uIESMkODhYKisrlZihQ4dKr169JCcnR3bu3CkhISESHx9vl9uhQ4dkz5498uijj8qgQYNkz549smfPHqX/xIkT0qpVK3nppZfkyJEjsnTpUnF1dZUtW7bU+fr5q0MiIqKmpz6f304ttERElixZIh07dhStViuRkZHyzTffKH0xMTEyYcIEu/g1a9ZI165dRavVSo8ePWTTpk12/TabTWbPni1+fn7i4eEhQ4YMkaNHj9rFnD9/XuLj46V169bi7e0tiYmJcuHCBbuYTp06CYAa2y99+eWXEhERIVqtVjp37iwffvhhva6dhRYREVHTU5/Pb42IiNOm01q48vJy6PV6WCwWrtciIiJqIurz+c1fHRIRERGphIUWERERkUpYaBEREVGdFVkqkVVQgiKL45tzkz03ZydARERETUN67mnMWHcANgFcNEDqyDCM7tvR2Wk1apzRIiIiolsqslQqRRYA2ASYue4gZ7ZugYUWERER3VJhyUWlyKpmFcHJkkvOSaiJYKFFREREtxTs4wUXjX2bq0aDIJ9WzkmoiWChRVQHXPxJRC2dv94TqSPD4Kq5Xm25ajR4Y2RP+OsdP9+XruNieKJb4OJPIqLrRvftiIFdfXGy5BKCfFqxyKoDzmgR1YKLP4mI7PnrPRHd5R4WWXXEQouoFlz8SUREd4KFFlEtuPiTiIjuBAstolpw8ScREd0JLoYnugUu/iQiotvFQouoDvz1niywiIio3vjVIREREZFKWGgRERERqYSFFhEREZFKWGgRkVPwsUZE1BJwMTwR3XV8rBERtRSc0SKiu4qPNSKiloSFFhHdVXysERG1JCy0iOiu4mONiKglYaFFRHcVH2tERC0JF8MT0V3HxxoRUUvBQouInIKPNSKiloBfHRIRERGphIUWERERkUpYaBERERGphIUWERERkUpYaBERERGphIUWERERkUpYaBERERGphIUWERERkUpYaBERERGphIUWERERkUpYaBERERGphIUWERERkUpYaBERERGppFEUWkuXLkVQUBB0Oh2ioqKwe/fuWuPXrl2L7t27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fj0uXryIU6dO4bvvvkPr1q3RuXPn2z5mY6DGWDjSFN4Xt8NoNDocO29vb3h6ejbZ90V93WocHGmu74m6uNl4Naf3xO1yd3dHr169nPa+YKFFt02r1aJ3797IzMxU2mw2GzIzMxEdHe1wn0uXLtWYsXF1dQUAyE0eu1lRUYGCggL4+/s3UOYN73bGoppOp0OHDh1w7do1fPrppxgxYsQdH9OZ1BgLR5rC++J2REdH240dAGRkZChj11TfF/V1q3FwpLm+J+ridsarpbBarThw4IDz3hfOXo1PTdvq1avFw8ND0tLS5PDhw5KcnCwGg0HMZrOIiIwbN06mT5+uxKekpEibNm1k1apVcuLECdm6dat06dJFRo0apcS88MILsn37diksLJRdu3ZJbGys+Pj4yLlz5+769dVHfcfim2++kU8//VQKCgpkx44d8utf/1qCg4Plp59+qvMxGys1xqKpvi8uXLgge/bskT179ggA+dvf/iZ79uyRU6dOiYjI9OnTZdy4cUr8iRMnpFWrVvLSSy/JkSNHZOnSpeLq6ipbtmxRYpri+0KNcWgp7wkRUeJ79+4tY8eOlT179sihQ4eU/l27dombm5ssXLhQjhw5IikpKeLu7i4HDhy4q9dWX2qMxauvvipffPGFFBQUSF5enowZM0Z0Op1dzN3EQovu2JIlS6Rjx46i1WolMjJSvvnmG6UvJiZGJkyYoLy+evWqzJ07V7p06SI6nU4CAwPlT3/6k90H6ujRo8Xf31+0Wq106NBBRo8eLcePH7+LV3T76jMW27dvl/vvv188PDzknnvukXHjxsn3339fr2M2Zg09Fk31ffHll18KgBpb9fVPmDBBYmJiauwTEREhWq1WOnfuLB9++GGN4za194Ua49CS3hOO4jt16mQXs2bNGunatatotVrp0aOHbNq06e5c0B1QYyymTp2q/Lvh5+cnw4YNk/z8/Lt3UTfQiNzk+xoiIiIiuiNco0VERESkEhZaRERERCphoUVERESkEhZaRERERCphoUVERESkEhZaRERERCphoUVERESkEhZaRERkZ/v27dBoNCgrK3N2KkRNHgstInKap556ChqNBvPnz7drX79+PTQajfJaRPDee+8hOjoa3t7eaN26NXr06IHnn3++zg+KvXTpEmbMmIEuXbpAp9PB19cXMTEx2LBhgxITFBSERYsW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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_58.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAHHCAYAAACfqw0dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABMCUlEQVR4nO3dfVxUdf7//+cAwqAGZCgXhoKXaJKWFyxeYSvbmHZB1ooXnzQzdX+rpVlb2qaWtWFWm1lu1u6W7ZaJtmauuWyGllsSKmrlVaumaQUouQyK18z790dfT02CwhEckMf9dpsb8T6vc+Z93rfJefI+7znjMMYYAQAAoFL8fN0BAACA2ogQBQAAYAMhCgAAwAZCFAAAgA2EKAAAABsIUQAAADYQogAAAGwgRAEAANhAiAIAALCBEAXgkvboo4/K4XBUqNbhcOjRRx+t1v706dNHffr0qbHHA1BxhCgAF8X8+fPlcDisR0BAgJo2bao777xT3377ra+7V+PExsZ6jVeTJk3Uq1cvvfPOO1Vy/KNHj+rRRx/Vhx9+WCXHA+oiQhSAi2rGjBn6+9//rnnz5umGG27QG2+8oeTkZB0/frxanu+RRx7RsWPHquXY1a1Tp076+9//rr///e964IEH9N1332ngwIGaN2/eBR/76NGjeuyxxwhRwAUI8HUHANQtN9xwg7p06SJJuvvuuxUeHq6nnnpKy5Yt06BBg6r8+QICAhQQUDv/qWvatKn+7//+z/p9+PDhatWqlZ577jn95je/8WHPAEjMRAHwsV69ekmSdu/e7dW+Y8cO3X777WrUqJGcTqe6dOmiZcuWedWcOnVKjz32mFq3bi2n06krrrhCPXv21MqVK62astZEnThxQvfdd58aN26syy67TDfffLO++eabs/p25513KjY29qz2so752muv6Ze//KWaNGmioKAgtW/fXi+99FKlxuJ8IiMj1a5dO+3Zs+ecdQcOHNCoUaMUEREhp9Opjh076vXXX7e27927V40bN5YkPfbYY9Ylw+peDwZcamrnn2cALhl79+6VJF1++eVW29atW9WjRw81bdpUkydPVoMGDbRo0SKlpqbqH//4h2699VZJP4SZ9PR03X333erWrZuKi4u1YcMGbdy4Ub/61a/Kfc67775bb7zxhoYOHaru3btr1apVGjBgwAWdx0svvaSrrrpKN998swICAvTPf/5Tv/3tb+XxeDRu3LgLOvYZp06d0v79+3XFFVeUW3Ps2DH16dNHu3bt0vjx4xUXF6fFixfrzjvvVFFRkSZMmKDGjRvrpZde0v/3//1/uvXWWzVw4EBJ0tVXX10l/QTqDAMAF8Frr71mJJkPPvjAHDx40Ozfv9+8/fbbpnHjxiYoKMjs37/fqu3bt69JSEgwx48ft9o8Ho/p3r27ad26tdXWsWNHM2DAgHM+7/Tp081P/6nbvHmzkWR++9vfetUNHTrUSDLTp0+32kaMGGGaN29+3mMaY8zRo0fPqnO5XKZFixZebcnJySY5OfmcfTbGmObNm5vrr7/eHDx40Bw8eNB89tlnZvDgwUaSueeee8o93uzZs40k88Ybb1htJ0+eNElJSaZhw4amuLjYGGPMwYMHzzpfAJXD5TwAF1VKSooaN26smJgY3X777WrQoIGWLVumK6+8UpJ06NAhrVq1SoMGDdLhw4dVWFiowsJCff/993K5XNq5c6f1ab6wsDBt3bpVO3furPDzr1ixQpJ07733erVPnDjxgs4rODjY+m+3263CwkIlJyfrq6++ktvttnXM999/X40bN1bjxo3VsWNHLV68WHfccYeeeuqpcvdZsWKFIiMjNWTIEKutXr16uvfee3XkyBF99NFHtvoC4GxczgNwUc2dO1dt2rSR2+3Wq6++qjVr1igoKMjavmvXLhljNHXqVE2dOrXMYxw4cEBNmzbVjBkzdMstt6hNmzbq0KGD+vXrpzvuuOOcl6W+/vpr+fn5qWXLll7tbdu2vaDz+uSTTzR9+nRlZ2fr6NGjXtvcbrdCQ0MrfczExEQ98cQTcjgcql+/vtq1a6ewsLBz7vP111+rdevW8vPz/hu5Xbt21nYAVYMQBeCi6tatm/XpvNTUVPXs2VNDhw7Vl19+qYYNG8rj8UiSHnjgAblcrjKP0apVK0lS7969tXv3br377rt6//339Ze//EXPPfec5s2bp7vvvvuC+1reTTpLS0u9ft+9e7f69u2r+Ph4/fGPf1RMTIwCAwO1YsUKPffcc9Y5VVZ4eLhSUlJs7Qug+hGiAPiMv7+/0tPTdd111+nFF1/U5MmT1aJFC0k/XIKqSIBo1KiRRo4cqZEjR+rIkSPq3bu3Hn300XJDVPPmzeXxeLR7926v2acvv/zyrNrLL79cRUVFZ7X/fDbnn//8p06cOKFly5apWbNmVvvq1avP2/+q1rx5c33++efyeDxes1E7duywtkvlB0QAFceaKAA+1adPH3Xr1k2zZ8/W8ePH1aRJE/Xp00cvv/yy8vLyzqo/ePCg9d/ff/+917aGDRuqVatWOnHiRLnPd8MNN0iS5syZ49U+e/bss2pbtmwpt9utzz//3GrLy8s7667h/v7+kiRjjNXmdrv12muvlduP6tK/f3/l5+crIyPDajt9+rReeOEFNWzYUMnJyZKk+vXrS1KZIRFAxTATBcDnfve73+nXv/615s+fr9/85jeaO3euevbsqYSEBI0ePVotWrRQQUGBsrOz9c033+izzz6TJLVv3159+vRR586d1ahRI23YsEFvv/22xo8fX+5zderUSUOGDNGf/vQnud1ude/eXVlZWdq1a9dZtYMHD9ZDDz2kW2+9Vffee6+OHj2ql156SW3atNHGjRutuuuvv16BgYG66aabNHbsWB05ckR//vOf1aRJkzKDYHUaM2aMXn75Zd15553Kzc1VbGys3n77bX3yySeaPXu2LrvsMkk/LIRv3769MjIy1KZNGzVq1EgdOnRQhw4dLmp/gVrN1x8PBFA3nLnFwfr168/aVlpaalq2bGlatmxpTp8+bYwxZvfu3Wb48OEmMjLS1KtXzzRt2tTceOON5u2337b2e+KJJ0y3bt1MWFiYCQ4ONvHx8eYPf/iDOXnypFVT1u0Ijh07Zu69915zxRVXmAYNGpibbrrJ7N+/v8yP/L///vumQ4cOJjAw0LRt29a88cYbZR5z2bJl5uqrrzZOp9PExsaap556yrz66qtGktmzZ49VV5lbHJzv9g3lHa+goMCMHDnShIeHm8DAQJOQkGBee+21s/Zdu3at6dy5swkMDOR2B4ANDmN+Mv8MAACACmFNFAAAgA2EKAAAABsIUQAAADYQogAAAGwgRAEAANhAiAIAALCBm21WI4/Ho++++06XXXYZX7EAAEAtYYzR4cOHFR0dfdaXef8UIaoafffdd4qJifF1NwAAgA379+/XlVdeWe52QlQ1OvP1Cvv371dISIiPewMAACqiuLhYMTEx1vt4eQhR1ejMJbyQkBBCFAAAtcz5luKwsBwAAMAGQhQAAIANhCgAAAAbWBPlY6WlpTp16pSvu1Ej1KtXT/7+/r7uBgAAFUKI8hFjjPLz81VUVOTr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HDhQb7/9dlX3DQAAoMaqVIjyeDxKS0tTWlqatm3bplatWqlVq1baunWr0tLSNHjwYBljzn8gAACAWq5Sn857/vnn9cEHH2jZsmW68cYbvbYtW7ZMI0eO1PPPP6+JEydWZR8BAABqnErNRL322mt6+umnzwpQknTzzTdr1qxZevXVV6uscwAAADVVpULUzp07lZKSUu72lJQU7dy584I7BQAAUNNVKkQFBwerqKio3O3FxcVyOp0X2icAAIAar1IhKikpSS+99FK52+fOnaukpKQL7hQAAEBNV6mF5b///e/Vp08fff/993rggQcUHx8vY4y2b9+uZ599Vu+++65Wr15dXX0FAACoMSo1E9W9e3dlZGRo9erVSkpK0uWXX65GjRqpR48eWr16td566y316NGj0p2YO3euYmNj5XQ6lZiYqHXr1p2zfvHixYqPj5fT6VRCQoJWrFjhtd0Yo2nTpikqKkrBwcFlrtU6dOiQhg0bppCQEIWFhWnUqFE6cuSItf3LL7/Uddddp4iICDmdTrVo0UKPPPKITp06VenzAwDArjz3Ma3dXag89zFfdwU/U+kvIL711lvlcrn073//2wombdq00fXXX6/69etXugMZGRmaNGmS5s2bp8TERM2ePVsul0tffvmlmjRpclb92rVrNWTIEKWnp+vGG2/UggULlJqaqo0bN6pDhw6SpFmzZmnOnDl6/fXXFRcXp6lTp8rlcmnbtm3Wmq1hw4YpLy9PK1eu1KlTpzRy5EiNGTNGCxYskCTVq1dPw4cP17XXXquwsDB99tlnGj16tDwej5588slKnycAAJWVsX6fpiz5Qh4j+Tmk9IEJSuvazNfdwhmmErKysky7du2M2+0+a1tRUZFp3769WbNmTWUOabp162bGjRtn/V5aWmqio6NNenp6mfWDBg0yAwYM8GpLTEw0Y8eONcYY4/F4TGRkpHn66ae9+hYUFGTeeustY4wx27ZtM5LM+vXrrZp//etfxuFwmG+//bbcvt53332mZ8+eFT43t9ttJJU5XgAAnMt3RUdN3OTlpvlDPz5aTH7PfFd01Nddu+RV9P27UpfzZs+erdGjRyskJOSsbaGhoRo7dqz++Mc/Vvh4J0+eVG5urtdtE/z8/JSSkqLs7Owy98nOzj7rNgsul8uq37Nnj/Lz871qQkNDlZiYaNVkZ2crLCxMXbp0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d5vc3FwzePBg43Q6vWouFkIUzumFF14wzZo1M4GBgaZbt27m008/tbYlJyebESNGWL+fOnXKPProo6Zly5bG6XSamJgY89vf/tbrzTItLc1ERUWZwMBA07RpU5OWlmZ27dp1Ec/IvsqMxYcffmjatWtngoKCzBVXXGHuuOMO8+2331bqmDVZVY9FbX1drF692kg663Hm/EeMGGGSk5PP2qdTp04mMDDQtGjRwrz22mtnHbc2vi6qYyzq0uuirPrmzZt71SxatMi0adPGBAYGmquuusq89957F+eELkB1jMXEiROt/z8iIiJM//79zcaNGy/eSf2E4/91GAAAAJXAmigAAAAbCFEAAAA2EKIAAABsIEQBAADYQIgCAACwgRAFAABgAyEKAADABkIUANQhH374oRwOh4qKinzdFaDWI0QBqBZ33nmnHA6HZs6c6dW+dOlSORwO63djjP785z8rKSlJISEhatiwoa666ipNmDChwl8oevToUU2ZMkUtW7aU0+lU48aNlZycrHfffdeqiY2N1ezZs6vk3KrbmbFzOByqV6+e4uLi9OCDD+r48eOVOk6fPn00ceJEr7bu3bsrLy9PoaGhVdhjoG4iRAGoNk6nU0899ZT+97//lbndGKOhQ4fq3nvvVf/+/fX+++9r27Zt+utf/yqn06knnniiQs/zm9/8RkuWLNELL7ygHTt2KDMzU7fffru+//77qjydi6pfv37Ky8vTV199peeee04vv/yypk+ffsHHDQwMVGRkpFeQBWCTT75sBsAlb8SIEebGG2808fHx5ne/+53V/s4775gz//S89dZbRpJ59913yzyGx+Op0HOFhoaa+fPnl7s9OTn5rO/iOuM///mP6dmzp3E6nebKK68099xzjzly5Ii1/W9/+5vp3LmzadiwoYmIiDBDhgwxBQUF1vYz3w2WmZlpOnXqZJxOp7nuuutMQUGBWbFihYmPjzeXXXaZGTJkiCkpKanQ+YwYMcLccsstXm0DBw4011xzjfV7YWGhGTx4sImOjjbBwcGmQ4cOZsGCBV7H+Pk579mzx+rvT7/T8u233zbt27c3gYGBpnnz5uaZZ56pUD+Buo6ZKADVxt/fX08++aReeOEFffPNN2dtf+utt9S2bVvdfPPNZe5f0dmSyMhIrVixQocPHy5z+5IlS3TllVdqxowZysvLU15eniRp9+7d6tevn2677TZ9/vnnysjI0Mcff6zx48db+546dUqPP/64PvvsMy1dulR79+7VnXfeedZzPProo3rxxRe1du1a7d+/X4MGDdLs2bO1YMECvffee3r//ff1wgsvVOh8fm7Lli1au3atAgMDrbbjx4+rc+fOeu+997RlyxaNGTNGd9xxh9atWydJev7555WUlKTRo0db5xwTE3PWsXNzczVo0CANHjxYX3zxhR599FFNnTpV8+fPt9VXoE7xdYoDcGn66WzKL37xC3PXXXcZY7xnouLj483NN9/std+ECRNMgwYNTIMGDUzTpk0r9FwfffSRufLKK029evVMly5dzMSJE83HH3/sVdO8eXPz3HPPebWNGjXKjBkzxqvtP//5j/Hz8zPHjh0r87nWr19vJJnDhw8bY36cifrggw+smvT0dCPJ7N6922obO3ascblcFTqfESNGGH9/f9OgQQMTFBRkJBk/Pz/z9ttvn3O/AQMGmPvvv9/6PTk52UyYMMGr5uczUUOHDjW/+tWvvGp+97vfmfbt21eor0BdxkwUgGr31FNP6fXXX9f27dvPW/v73/9emzdv1rRp03TkyJEKHb9379766quvlJWVpdtvv11bt25Vr1699Pjjj59zv88++0zz589Xw4YNrYfL5ZLH49GePXsk/TBTc9NNN6lZs2a67LLLlJycLEnat2+f17Guvvpq678jIiJUv359tWjRwqvtwIEDFTofSbruuuu0efNm5eTkaMSIERo5cqRuu+02a3tpaakef/xxJSQkqFGjRmrYsKH+/e9/n9Wv89m+fbt69Ojh1dajRw/t3LlTpaWllToWUNcQogBUu969e8vlcmnKlCle7a1bt9aXX37p1da4cWO1atVKTZo0qdRz1KtXT7169dJDDz2k999/XzNmzNDjjz+ukydPlrvPkSNHNHbsWG3evNl6fPbZZ9q5c6datmypkpISuVwuhYSE6M0339T69ev1zjvvSNJZx61Xr57132c+VfdTDodDHo+nwufToEEDtWrVSh07dtSrr76qnJwc/fWvf7W2P/3003r++ef10EMPafXq1dq8ebNcLtc5zxdA1QrwdQcA1A0zZ85Up06d1LZtW6ttyJAhGjp0qN59913dcsstVfp87du31+nTp3X8+HEFBgYqMDDwrJmVa6+9Vtu2bVOrVq3KPMYXX3yh77//XjNnzrTWE23YsKFK+1kRfn5+evjhhzVp0iQNHTpUwcHB+uSTT3TLLbfo//7v/yRJHo9H//3vf9W+fXtrv7LO+efatWunTz75xKvtk08+UZs2beTv71/1JwNcQpiJAnBRJCQkaNiwYZozZ47VNnjwYN1+++0aPHiwZsyYoZycHO3du1cfffSRMjIyKvwm3qdPH7388svKzc3V3r17tWLFCj388MO67rrrFBISIumH+0StWbNG3377rQoLCyVJDz30kNauXavx48dr8+bN2rlzp959911rYXmzZs0UGBioF154QV999ZWWLVt23kuE1eXXv/61/P39NXfuXEk/zOKtXLlSa9eu1fbt2zV27FgVFBR47RMbG2uNaWFhYZkzYffff7+ysrL0+OOP67///a9ef/11vfjii3rggQcuynkBtRkhCsBFM2PGDK83cofDoYyMDM2ePVsrVqxQ37591bZtW911112KiYnRxx9/XKHjulwuvf7667r++uvVrl073XPPPXK5XFq0aJHXc+/du1ctW7ZU48aNJf2wjumjjz7Sf//7X/Xq1UvXXHONpk2bpujoaEk/XFqcP3++Fi9erPbt22vmzJl65plnqnBEKi4gIEDjx4/XrFmzVFJSokceeUTXXnutXC6X+vTpo8jISKWmpnrt88ADD8jf31/t27dX48aNy1wvde2112rRokVauHChOnTooGnTpmnGjBllfgIRgDeHMcb4uhMAAAC1DTNRAAAANhCiANR4P70Fwc8f//nPf3zdvUrZt2/fOc+nsrcoAOA7XM4DUOOd64uImzZtquDg4IvYmwtz+vRp7d27t9ztsbGxCgjgg9NAbUCIAgAAsIHLeQAAADYQogAAAGwgRAEAANhAiAIAALCBEAUAAGADIQoAAMAGQhQAAIANhCgAAAAb/n/6k/0K/RGxagAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_59.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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w7k/GQDAowhaFdilkFWvXj3VqFGD0FACxhidPXtWx48flyRFRER4uEcAgOqMoFVBFRUVWSHr9ttv93R3KpXAwEBJ0vHjx1WvXj1OIwIAPIaL4SuoS9dk1ahRw8M9qZwujRvXtgEAPImgVcFxurBsGDcAQEVA0AIAALAJQQsAAMAmBC3YIjs7W7/+9a/VuHFj+fv7KzIyUg899JBWr15t1WzatEndu3dX7dq1FRAQoNjYWL3xxhsqKiqyao4cOaKhQ4cqOjpagYGBatKkiVJTU3X+/HlP7BYAoBLJchZo08FcZTkLPNYHfnWIcnfkyBHde++9CgkJ0ZQpUxQbG6sLFy7o008/1YgRI7R37169//776tOnj4YMGaK1a9cqJCREn332mV544QWlp6dr0aJFcjgc2rt3r1wul+bMmaOmTZtq586devLJJ3XmzBlNnTrV07sKAKigFm7+RmOX7pDLSF4OKa13rPre0/CW98NhjDG3/FMhScrPz1dwcLCcTqeCgoLclhUWFurw4cOKjo5WQECAh3pYNt27d9f27du1b98+1axZ021ZXl6efH191ahRIyUmJmrJkiVuy//5z3/q4Ycf1oIFC9S3b99itz9lyhTNmjVLhw4dumYfKvP4AQBuTpazQPdOWiPXZQnH2+HQhjFdFBEceNPbv97395U4dVhN3Krp05MnT2rFihUaMWLEVSFL+vGO7StXrtSJEyf03HPPXbX8oYceUkxMjObPn3/Nz3A6napTp0659hsAUHUczj3jFrIkqcgYHck9e8v7wqnDauBWTp8eOHBAxhi1aNHimjX/+c9/JEl33nlnsctbtGhh1RS3/RkzZnDaEABwTdF1a8rLoatmtKLq3vp7UzKjVcVlOQuskCX9eNC9tHSnbTNbpTkTXdqz1seOHVO3bt302GOP6cknnyxt1wAA1UREcKDSesfK+/+/p6K3w6HXercul9OGpcWMVhV3velTOw64Zs2aWRexX0tMTIwkac+ePerYseNVy/fs2aOWLVu6tX333Xfq0qWLOnbsqD/96U/l22kAQJXT956Guj8mVEdyzyqqbg2PhCyJGa0q79L06eXsnD6tU6eOkpOTNXPmTJ05c+aq5Xl5eeratavq1Kmj3//+91ct//DDD7V//36lpKRYbceOHVPnzp3Vvn17zZ07V15eHLYAgBuLCA5UQpPbPRay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O+rgwYN688039fe//73YdcaOHavRo0db7/Pz8wlbAABUYR6b0apbt668vb2Vk5Pj1p6Tk6Pw8PBi1wkPD79u/aU/b1Rz5cX2Fy9e1MmTJ6/5uSUVFxenAwcOXHO5v7+/goKC3F4AAKDq8ljQ8vPzU/v27bV69WqrzeVyafXq1UpISCh2nYSEBLd6SVq1apVVHx0drfDwcLea/Px8ZWRkWDUJCQnKy8tTZmamVbNmzRq5XC7Fx8ff1D5t27ZNERERN7UNAABQdXj01OHo0aM1aNAgdejQQXFxcZo2bZrOnDmjIUOGSJIef/xxNWjQQGlpaZKkZ555RomJifr973+vHj16aMGCBfr3v/+tP/3pT5Ikh8OhUaNG6be//a2aNWum6OhojRs3TvXr17fuhXXnnXeqW7duevLJJzV79mxduHBBI0eOVL9+/VS/fn2rb7t379b58+d18uRJnTp1Stu2bZP048XvkjRt2jRFR0erVatWKiws1F/+8hetWbNGK1euvDWDBwAAKjyPBq2+ffvq+++/1/jx45Wdna22bdtqxYoV1sXs33zzjby8fpp069ixo9599129/PLLeumll9SsWTN98MEHat26tVXzwgsv6MyZMxo2bJjy8vJ03333acWKFQoICLBq/vGPf2jkyJF64IEH5OXlpV/+8peaPn26W9+6d++ur7/+2nrfrl07ST/eEFX68VeTzz77rI4dO6YaNWrorrvu0meffaYuXbqU/0ABAIBKyWEuJQfccvn5+QoODpbT6eR6LQAAKonSfH97/BE8AAAAVRVBCwAAwCYELQAAAJsQtAAAAGxC0AIAALAJQQsAAMAmBC0AAACbELQAAABsQtACAACwCUELAADAJgQtAAAAmxC0AAAAbELQAgAAsAlBCwAAwCYELQAAAJsQtAAAAGxC0AIAALAJQQsAAMAmBC0AAACbELQAAABsQtACAACwCUELAADAJgQtwEZZzgJtOpirLGeBp7sCAPAAH093AKiqFm7+RmOX7pDLSF4OKa13rPre09DT3QIA3EKlmtG6cOGCXnjhBTVt2lRxcXF6++233Zbn5OTI29u7XDsIVEZZzgIrZEmSy0gvLd3JzBYAVDOlClq/+93v9H//93966qmn1LVrV40ePVrDhw93qzHGlGsHgcrocO4ZK2RdUmSMjuSe9UyHAAAeUapTh//4xz/0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9++vp59+Wt27d9fKlSu1e/du/fWvf1VAQIB++9vfluhznnrqKS1dulQzZszQ3r17tWLFCj366KM6ceJEee7OLdWtWzdlZWXp0KFDevPNNzVnzhylpqbe9Hb9/PwUHh7uFnYBlJHHHv4DoNobNGiQ+cUvfmFatGhhnn/+eav9/fffN5f+eZo/f76RZJYtW1bsNlwuV4k+Kzg42MybN++ayxMTE696ftol//rXv8x9991nAgICzB133GF+/etfm9OnT1vL/+///s+0b9/e1KpVy4SFhZmUlBSTk5NjLb/0PLcVK1aYtm3bmoCAANOlSxeTk5Njli9fblq0aGFuu+02k5KSYs6cOVOi/Rk0aJDp2bOnW1vv3r1Nu3btrPe5ubmmX79+pn79+iYwMNC0bt3avPvuu27buHKfDx8+bPX38meQvvfee6Zly5bGz8/PNGrUyEydOrVE/QSqO2a0AHiUt7e3XnvtNc2YMUPffvvtVcvnz5+v5s2b6+GHHy52/ZLOuoSHh2v58uU6depUscuXLl2qO+64QxMnTlRWVpaysrIkSQcPHlS3bt30y1/+Utu3b9fChQu1YcMGjRw50lr3woULevXVV/XVV1/pgw8+0JEjRzR48OCrPmPChAn6wx/+oE2bNuno0aPq06ePpk2bpnfffVcff/yxVq5cqRkzZpRof660c+dObdq0SX5+flZbYWGh2rdvr48//lg7d+7UsGHDNHDgQH355ZeSpLfeeksJCQl68sknrX2OjIy8atuZmZnq06eP+vXrpx07dmjChAkaN26c5s2bV6a+AtWKp5MegOrr8lmZ//f//p/57//+b2OM+4xWixYtzMMPP+y23jPPPGNq1qxpatasaRo0aFCiz/r888/NHXfcYXx9fU2HDh3MqFGjzIYNG9xqGjVqZN588023tqFDh5phw4a5tf3rX/8yXl5epqCgoNjP2rx5s5FkTp06ZYz5aUbrs88+s2rS0tKMJHPw4EGrbfjw4SY5OblE+zNo0CDj7e1tatasafz9/Y0k4+XlZd57773rrtejRw/z7LPPWu8TExPNM88841Zz5YxW//79zc9//nO3mueff960bNmyRH0FqjNmtABUCK+//rr+9re/ac+ePTes/c1vfqNt27Zp/PjxOn36dIm2f//99+vQoUNavXq1Hn30Ue3atUudOnXSq6++et31vvrqK82bN0+1atWyXsnJyXK5XDp8+LCkH2d8HnroITVs2FC33XabEhMTJUnffPON27buuusu6+9hYWGqUaOGGjdu7NZ2/PjxEu2PJHXp0kXbtm1TRkaGBg0apCFDhuiXv/yltbyoqEivvvqqYmNjVadOHdWqVUuffvrpVf26kT179ujee+91a7v33nu1f/9+FRUVlWpbQHVD0AJQIdx///1KTk7W2LFj3dqbNWumffv2ubWFhoaqadOmqlevXqk+w9fXV506ddKLL76olStXauLEiXr11Vd1/vz5a65z+vRpDR8+XNu2bbNeX331lfbv368mTZrozJkzSk5OVlBQkP7xj39o8+bNev/99yXpqu36+vpaf7/0a8HLORwOuVyuEu9PzZo11bRpU7Vp00Zvv/22MjIy9Ne//tVaPmXKFL311lt68cUXtXbtWm3btk3JycnX3V8A5cvH0x0AgEsmTZqktm3bqnnz5lZbSkqK+vfvr2XLlqlnz57l+nktW7bUxYsXVVhYKD8/P/n5+V01Q3P33Xdr9+7datq0abHb2LFjh06cOKFJkyZZ1zf9+9//Ltd+loSXl5deeukljR49Wv3791dgYKA2btyonj176r/+678kSS6XS//5z3/UsmVLa73i9vlKd955pzZu3OjWtnHjRsXExMjb27v8dwaoQpjRAlBhxMbGasCAAZo+fbrV1q9fPz366KPq16+fJk6cqIyMDB05ckSff/65Fi5cWOIv+s6dO2vOnDnKzMzUkSNHtHz5cr300kvq0qWLgoKCJP14H63169fr2LFjys3NlSS9+OKL2rRpk0aOHKlt27Zp//79WrZsmXUxfMOGDeXn56cZM2bo0KFD+vDDD294OtIujz32mLy9vTVz5kxJP84Grlq1Sps2bdKePXs0fPhw5eTkuK0TFRVljWlubm6xM2rPPvusVq9erVdffVX/+c9/9Le//U1/+MMf9Nxzz92S/QIqM4IWgApl4sSJbl/2DodDCxcu1LRp07R8+XI98MADat68uf77v/9bkZGR2rBhQ4m2m5ycrL/97W/q2rWr7rzzTv36179WcnKyFi1a5PbZR44cUZMmTRQaGirpx+uqPv/8c/3nP/9Rp06d1K5dO40fP17169eX9ONpzHnz5mnx4sVq2bKlJk2apKlTp5bjiJScj4+PRo4cqcmTJ+vMmTN6+eWXdffddys5OVmdO3dWeHi4evXq5bbOc889J29vb7Vs2VKhoaHFXr919913a9GiRVqwYIFat26t8ePHa+LEicX+shKAO4cxxni6EwAAAFURM1oAAAA2IWgBqBIuv/3Cla9//etfnu5eqXzzzTfX3Z/S3p4BgOdw6hBAlXC9h0s3aNBAgYGBt7A3N+fixYs6cuTINZdHRUXJx4cfjQOVAUELAADAJpw6BAAAsAlBCwAAwCYELQAAAJsQtAAAAGxC0AIAALAJQQsAAMAmBC0AAACbELQAAABs8v8BOY+BozM7b4MAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_60.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAHHCAYAAACfqw0dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABCO0lEQVR4nO3de3xU1d3v8e/kOiGQpJiQCwYSEOQWCeUSg0Cg5GksqES0QqDcHhQ9LQpFqsAjBNFj0NpKuTxCbTWeqjVgKVrkpPCAiEIaMYAKokUEgZoEI80Ewj2zzh+ebB0JkGySTIZ83q/XvGDW/u09a6/XMPNl7T17O4wxRgAAAKgTP293AAAAwBcRogAAAGwgRAEAANhAiAIAALCBEAUAAGADIQoAAMAGQhQAAIANhCgAAAAbCFEAAAA2EKIAXNXmz58vh8NRq1qHw6H58+c3aH8GDx6swYMHN9ntAag9QhSARpGbmyuHw2E9AgIC1LZtW02cOFH/+te/vN29JichIcFjvNq0aaOBAwfqr3/9a71s/+TJk5o/f742b95cL9sDmiNCFIBGtWDBAv3pT3/S8uXL9ZOf/EQvvfSS0tLSdPr06QZ5vUceeUSnTp1qkG03tOTkZP3pT3/Sn/70J82cOVNffvmlRo4cqeXLl1/xtk+ePKlHH32UEAVcgQBvdwBA8/KTn/xEffr0kSTdfffdioyM1JNPPqk33nhDd911V72/XkBAgAICfPOjrm3btvrZz35mPR8/fryuu+46PfPMM7rvvvu82DMAEjNRALxs4MCBkqT9+/d7tH/yySe688471bp1azmdTvXp00dvvPGGR825c+f06KOPqlOnTnI6nbrmmms0YMAAbdiwwaqp6ZyoM2fO6Je//KWioqLUqlUr3XbbbTpy5MgFfZs4caISEhIuaK9pmy+88IJ+9KMfqU2bNgoODla3bt307LPP1mksLicmJkZdu3bVgQMHLll39OhRTZ48WdHR0XI6nerZs6defPFFa/nBgwcVFRUlSXr00UetQ4YNfT4YcLXxzf+eAbhqHDx4UJL0gx/8wGrbs2ePbrrpJrVt21azZs1SaGioVq5cqczMTP3lL3/R7bffLumbMJOTk6O7775b/fr1U0VFhd5//33t2LFD//Ef/3HR17z77rv10ksvacyYMerfv782bdqk4cOHX9F+PPvss+revbtuu+02BQQE6G9/+5t+/vOfy+126xe/+MUVbbvauXPndPjwYV1zzTUXrTl16pQGDx6szz77TFOnTlViYqJWrVqliRMnqry8XNOmTVNUVJSeffZZ/a//9b90++23a+TIkZKkG264oV76CTQbBgAawQsvvGAkmf/5n/8xX331lTl8+LB57bXXTFRUlAkODjaHDx+2aocOHWqSkpLM6dOnrTa322369+9vOnXqZLX17NnTDB8+/JKvm52dbb77Ubdr1y4jyfz85z/3qBszZoyRZLKzs622CRMmmPbt2192m8YYc/LkyQvqMjIyTIcOHTza0tLSTFpa2iX7bIwx7du3Nz/+8Y/NV199Zb766ivzwQcfmNGjRxtJ5v7777/o9hYtWmQkmZdeeslqO3v2rElNTTUtW7Y0FRUVxhhjvvrqqwv2F0DdcDgPQKNKT09XVFSU4uPjdeeddyo0NFRvvPGGrr32WknSsWPHtGnTJt111106fvy4ysrKVFZWpq+//loZGRnat2+f9Wu+iIgI7dmzR/v27av1669bt06S9MADD3i0T58+/Yr2KyQkxPq7y+VSWVmZ0tLS9Pnnn8vlctna5vr16xUVFaWoqCj17NlTq1at0rhx4/Tkk09edJ1169YpJiZGWVlZVltgYKAeeOABnThxQm+//batvgC4EIfzADSqZcuWqXPnznK5XHr++ee1ZcsWBQcHW8s/++wzGWM0d+5czZ07t8ZtHD16VG3bttWCBQs0YsQIde7cWT169NDNN9+scePGXfKw1BdffCE/Pz917NjRo/3666+/ov3aunWrsrOzVVBQoJMnT3osc7lcCg8Pr/M2U1JS9Pjjj8vhcKhFixbq2rWrIiIiLrnOF198oU6dOsnPz/P/yF27drWWA6gfhCgAjapfv37Wr/MyMzM1YMAAjRkzRp9++qlatmwpt9stSZo5c6YyMjJq3MZ1110nSRo0aJD279+v119/XevXr9cf/vAHPfPMM1q+fLnuvvvuK+7rxS7SWVVV5fF8//79Gjp0qLp06aLf/va3io+PV1BQkNatW6dnnnnG2qe6ioyMVHp6uq11ATQ8QhQAr/H391dOTo6GDBmipUuXatasWerQoYOkbw5B1SZAtG7dWpMmTdKkSZN04sQJDRo0SPPnz79oiGrfvr3cbrf279/vMfv06aefXlD7gx/8QOXl5Re0f382529/+5vOnDmjN954Q+3atbPa33rrrcv2v761b99eH374odxut8ds1CeffGItly4eEAHUHudEAfCqwYMHq1+/flq0aJFOnz6tNm3aaPDgwVqxYoWKi4svqP/qq6+sv3/99dcey1q2bKnrrrtOZ86cuejr/eQnP5EkLV682KN90aJFF9R27NhRLpdLH374odVWXFx8wVXD/f39JUnGGKvN5XLphRdeuGg/GsqwYcNUUlKivLw8q+38+fNasmSJWrZsqbS0NElSixYtJKnGkAigdpiJAuB1v/rVr/TTn/5Uubm5uu+++7Rs2TINGDBASUlJuueee9ShQweVlpaqoKBAR44c0QcffCBJ6tatmwYPHqzevXurdevWev/99/Xaa69p6tSpF32t5ORkZWVl6b//+7/lcrnUv39/bdy4UZ999tkFtaNHj9bDDz+s22+/XQ888IBOnjypZ599Vp07d9aOHTusuh//+McKCgrSrbfeqnvvvVcnTpzQc889pzZt2tQYBBvSlClTtGLFCk2cOFFFRUVKSEjQa6+9pq1bt2rRokVq1aqVpG9OhO/WrZvy8vLUuXNntW7dWj169FCPHj0atb+AT/P2zwMBNA/VlzjYvn37BcuqqqpMx44dTceOHc358+eNMcbs37/fjB8/3sTExJjAwEDTtm1bc8stt5jXXnvNWu/xxx83/fr1MxERESYkJMR06dLF/O///b/N2bNnrZqaLkdw6tQp88ADD5hrrrnGhIaGmltvvdUcPny4xp/8r1+/3vTo0cMEBQWZ66+/3rz00ks1bvONN94wN9xwg3E6nSYhIcE8+eST5vnnnzeSzIEDB6y6ulzi4HKXb7jY9kpLS82kSZNMZGSkCQoKMklJSeaFF164YN1t27aZ3r17m6CgIC53ANjgMOY7888AAACoFc6JAgAAsIEQBQAAYAMhCgAAwAZCFAAAgA2EKAAAABsIUQAAADZwsc0G5Ha79eWXX6pVq1bcYgEAAB9hjNHx48cVFxd3wc28v4sQ1YC+/PJLxcfHe7sbAADAhsOHD+vaa6+96HJCVAOqvr3C4cOHFRYW5uXeAACA2qioqFB8fLz1PX4xhKgGVH0ILywsjBAFAICPudypOJxYDgAAYAMhCgAAwAZCFAAAgA2cE+VlVVVVOnfunLe74XWBgYHy9/f3djcAAKg1QpSXGGNUUlKi8vJy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9Gij719d1HUs/vGPf5i//OUvZv/+/WbLli3mRz/6kUlMTDT//ve/a73NpqohxsJX3xfHjx83O3fuNDt37jSSzG9/+1uzc+dO88UXXxhjjJk1a5YZN26cVf/555+bFi1amF/96ldm7969ZtmyZcbf39/k5+dbNb76vmiIsWgu7wtjjFXfu3dvM2bMGLNz506zZ88ea/nWrVtNQECAefrpp83evXtNdna2CQwMNB999FGj7ltdNcRYPProo+bvf/+72b9/vykqKjKjR482TqfTo6axEKJwSUuWLDHt2rUzQUFBpl+/fuYf//iHtSwtLc1MmDDBen7u3Dkzf/5807FjR+N0Ok18fLz5+c9/7vFlOWrUKBMbG2uCgoJM27ZtzahRo8xnn33WiHtkX13GYvPmzaZr164mODjYXHPNNWbcuHHmX//6V5222ZTV91j46vvirbfeMpIueFTv/4QJE0xaWtoF6yQnJ5ugoCDToUMH88ILL1ywXV98XzTEWDSn90VN9e3bt/eoWblypencubMJCgoy3bt3N2+++Wbj7NAVaIixmD59uvXvIzo62gwbNszs2LGj8XbqOxz/v8MAAACoA86JAgAAsIEQBQAAYAMhCgAAwAZCFAAAgA2EKAAAABsIUQAAADYQogAAAGwgRAFAM7J582Y5HA6Vl5d7uyuAzyNEAWgQEydOlMPh0MKFCz3a16xZI4fDYT03xui5555TamqqwsLC1LJlS3Xv3l3Tpk2r9Q1FT548qdmzZ6tjx45yOp2KiopSWlqaXn/9dasmISFBixYtqpd9a2jVY+dwOBQYGKjExEQ99NBDOn36dJ22M3jwYE2fPt2jrX///iouLlZ4eHg99hhonghRABqM0+nUk08+qX//+981LjfGaMyYMXrggQc0bNgwrV+/Xh9//LH++Mc/yul06vHHH6/V69x3331avXq1lixZok8++UT5+fm688479fXXX9fn7jSqm2++WcXFxfr888/1zDPPaMWKFcrOzr7i7QYFBSkmJsYjyAKwySs3mwFw1ZswYYK55ZZbTJcuXcyvfvUrq/2vf/2rqf7o+fOf/2wkmddff73Gbbjd7lq9Vnh4uMnNzb3o8rS0tAvuxVXtnXfeMQMGDDBOp9Nce+215v777zcnTpywlv+f//N/TO/evU3Lli1NdHS0ycrKMqWlpdby6nuD5efnm+TkZON0Os2QIUNMaWmpWbdunenSpYtp1aqVycrKMpWVlbXanwkTJpgRI0Z4tI0cOdL06tXLel5WVmZGjx5t4uLiTEhIiOnRo4d55ZVXPLbx/X0+cOCA1d/v3tPytddeM926dTNBQUGmffv25umnn65VP4HmjpkoAA3G399fTzzxhJYsWaIjR45csPzPf/6zrr/+et122201rl/b2ZKYmBitW7dOx48fr3H56tWrde2112rBggUqLi5WcXGxJGn//v26+eabdccdd+jDDz9UXl6e3n33XU2dOtVa99y5c3rsscf0wQcfaM2aNTp48KAmTpx4wWvMnz9fS5cu1bZt23T48GHdddddWrRokV555RW9+eabWr9+vZYsWVKr/fm+3bt3a9u2bQoKCrLaTp8+rd69e+vNN9/U7t27NWXKFI0bN07vvfeeJOl3v/udUlNTdc8991j7HB8ff8G2i4qKdNddd2n06NH66KOPNH/+fM2dO1e5ubm2+go0K95OcQCuTt+dTbnxxhvNf/7nfxpjPGeiunTpYm677TaP9aZNm2ZCQ0NNaGioadu2ba1e6+233zbXXnutCQwMNH369DHTp0837777rkdN+/btzTPPPOPRNnnyZDNlyhSPtnfeecf4+fmZU6dO1fha27dvN5LM8ePHjTHfzkT9z//8j1WTk5NjJJn9+/dbbffee6/JyMio1f5MmDDB+Pv7m9DQUBMcHGwkGT8/P/Paa69dcr3hw4ebBx980HqelpZmpk2b5lHz/ZmoMWPGmP/4j//wqPnVr35lunXrVqu+As0ZM1EAGtyTTz6pF198UXv37r1s7X/9139p165dmjdvnk6cOFGr7Q8aNEiff/65Nm7cqDvvvFN79uzRwIED9dhjj11yvQ8++EC5ublq2bKl9cjIyJDb7daBAwckfTNTc+utt6pdu3Zq1aqV0tLSJEmHDh3y2NYNN9xg/T06OlotWrRQhw4dPNqOHj1aq/2RpCFDhmjXrl0qLCzUhAkTNGnSJN1xxx3W8qqqKj322GNKSkpS69at1bJlS/3973+/oF+Xs3fvXt10000ebTfddJP27dunqqqqOm0LaG4IUQAa3KBBg5SRkaHZs2d7tHfq1EmffvqpR1tUVJSuu+46tWnTpk6vERgYqIEDB+rhhx/W+vXrtWDBAj322GM6e/bsRdc5ceKE7r33Xu3atct6fPDBB9q3b586duyoyspKZWRkKCwsTC+//LK2b9+uv/71r5J0wXYDAwOtv1f/qu67HA6H3G53rfcnNDRU1113nXr27Knnn39ehYWF+uMf/2gt//Wvf63f/e53evjhh/XWW29p165dysjIuOT+AqhfAd7uAIDmYeHChUpOTtb1119vtWVlZWnMmDF6/fXXNWLEiHp9vW7duun8+fM6ffq0goKCFBQUdMHMyg9/+EN9/PHHuu6662rcxkcffaSvv/5aCxcutM4nev/99+u1n7Xh5+enOXPmaMaMGRozZoxCQkK0detWjRgxQj/72c8kSW63W//85z/VrVs3a72a9vn7unbtqq1bt3q0bd26VZ07d5a/v3/97wxwFWEmCkCjSEpK0tixY7V48WKrbfTo0brzzjs1evRoLViwQIWFhTp48KDefvtt5eXl1fpLfPDgwVqxYoWKiop08OBBrVu3TnPmzNGQIUMUFhYm6ZvrRG3ZskX/+te/VFZWJkl6+OGHtW3bNk2dOlW7du3Svn379Prrr1snlrdr105BQUFasmSJPv/8c73xxhuXPUTYUH7605/K399fy5Ytk/TNLN6GDRu0bds27d27V/fee69KS0s91klISLDGtKysrMaZsAcffFAbN27UY489pn/+85968cUXtXTpUs2cObNR9gvwZYQoAI1mwYIFHl/kDodDeXl5WrRokdatW6ehQ4fq+uuv13/+538qPj5e7777bq22m5GRoRdffFE//vGP1bVrV91///3KyMjQypUrPV774MGD6tixo6KioiR9cx7T22+/rX/+858aOHCgevXqpXnz5ikuLk7SN4cWc3NztWrVKnXr1k0LFy7U008/XY8jUnsBAQGaOnWqnnrqKVVWVuqRRx7RD3/4Q2VkZGjw4MGKiYlRZmamxzozZ86Uv7+/unXrpqioqBrPl/rhD3+olStX6tVXX1WPHj00b948LViwoMZfIALw5DDGGG93AgAAwNcwEwUAAGADIQpAk/fdSxB8//HOO+94u3t1cujQoUvuT10vUQDAezicB6DJu9SNiNu2bauQkJBG7M2VOX/+vA4ePHjR5QkJCQoI4IfTgC8gRAEAANjA4TwAAAAbCFEAAAA2EKIAAABsIEQBAADYQIgCAACwgRAFAABgAyEKAADABkIUAACADf8P8daoqhTAJ7IAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_61.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAHHCAYAAACfqw0dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABMzElEQVR4nO3de1yUZf7/8fcADiDKkIEcDAXPx7Q0ESuxZKOykqw8rppZ2q6Wrp3UVSk7YNZubuZm227ZbgcPrZtlZvr10EERFbU8ZWqaVg5KxuD5wFy/P/p51yQq3AID8no+HvMgrvtz3/d1X07c77nnmnscxhgjAAAAlEiAvzsAAABQGRGiAAAAbCBEAQAA2ECIAgAAsIEQBQAAYAMhCgAAwAZCFAAAgA2EKAAAABsIUQAAADYQogBc1B5//HE5HI5i1TocDj3++ONl2p/OnTurc+fOFXZ7AIqPEAWgXEyfPl0Oh8N6BAUFqU6dOrr77rv1/fff+7t7FU5CQoLPeNWuXVvXXnut/ve//5XK9o8cOaLHH39cy5YtK5XtAVURIQpAuZowYYL+85//aNq0abrpppv05ptvKiUlRceOHSuT/Y0dO1ZHjx4tk22XtTZt2ug///mP/vOf/+jhhx/WDz/8oO7du2vatGkXvO0jR47oiSeeIEQBFyDI3x0AULXcdNNNateunSTp3nvvVWRkpJ599lm9//776tGjR6nvLygoSEFBlfNPXZ06dfT73//e+r1///5q2LChXnjhBd1///1+7BkAiStRAPzs2muvlSTt2LHDp/2rr77SnXfeqVq1aikkJETt2rXT+++/71Nz8uRJPfHEE2rUqJFCQkJ06aWX6pprrtGiRYusmqLmRB0/flx/+tOfFBUVpZo1a+q2227Td999d0bf7r77biUkJJzRXtQ2X3/9dV1//fWqXbu2goOD1bx5c7388sslGovziYmJUbNmzbRz585z1u3bt0+DBg1SdHS0QkJC1Lp1a73xxhvW8l27dikqKkqS9MQTT1hvGZb1fDDgYlM5X54BuGjs2rVLknTJJZdYbZs2bdLVV1+tOnXqaNSoUQoLC9OsWbOUnp6u//73v7r99tsl/RxmMjMzde+996p9+/YqKCjQmjVrtHbtWv3ud7876z7vvfdevfnmm+rTp486duyoJUuWqGvXrhd0HC+//LJatGih2267TUFBQfrggw/0xz/+UV6vV0OHDr2gbZ928uRJ7dmzR5deeulZa44eParOnTtr+/btGjZsmBITEzV79mzdfffdys/P1/DhwxUVFaWXX35Zf/jDH3T77bere/fukqTLL7+8VPoJVBkGAMrB66+/biSZ//u//zP79+83e/bsMe+++66JiooywcHBZs+ePVZtly5dTKtWrcyxY8esNq/Xazp27GgaNWpktbVu3dp07dr1nPvNyMgwv/5Tt379eiPJ/PGPf/Sp69Onj5FkMjIyrLYBAwaYevXqnXebxhhz5MiRM+rS0tJM/fr1fdpSUlJMSkrKOftsjDH16tUzN9xwg9m/f7/Zv3+/+eKLL0yvXr2MJPPAAw+cdXuTJ082ksybb75ptZ04ccIkJyebGjVqmIKCAmOMMfv37z/jeAGUDG/nAShXqampioqKUnx8vO68806FhYXp/fff12WXXSZJOnDggJYsWaIePXro4MGDysvLU15enn788UelpaVp27Zt1qf5IiIitGnTJm3btq3Y+58/f74k6cEHH/RpHzFixAUdV2hoqPXfHo9HeXl5SklJ0TfffCOPx2NrmwsXLlRUVJSioqLUunVrzZ49W/369dOzzz571nXmz5+vmJgY9e7d22qrVq2aHnzwQR06dEiffPKJrb4AOBNv5wEoV1OnTlXjxo3l8Xj02muv6dNPP1VwcLC1fPv27TLGaNy4cRo3blyR29i3b5/q1KmjCRMmqFu3bmrcuLFatmypG2+8Uf369Tvn21LffvutAgIC1KBBA5/2Jk2aXNBxLV++XBkZGcrKytKRI0d8lnk8HrlcrhJvMykpSU899ZQcDoeqV6+uZs2aKSIi4pzrfPvtt2rUqJECAnxfIzdr1sxaDqB0EKIAlKv27dtbn85LT0/XNddcoz59+mjr1q2qUaOGvF6vJOnhhx9WWlpakdto2LChJKlTp07asWOH5s6dq4ULF+qf//ynXnjhBU2bNk333nvvBff1bDfpLCws9Pl9x44d6tKli5o2baq//vWvio+Pl9Pp1Pz58/XCCy9Yx1RSkZGRSk1NtbUugLJHiALgN4GBgcrMzNR1112nl156SaNGjVL9+vUl/fwWVHECRK1atTRw4EANHDhQhw4dUqdOnfT444+fNUTVq1dPXq9XO3bs8Ln6tHXr1jNqL7nkEuXn55/R/turOR988IGOHz+u999/X3Xr1rXaly5det7+l7Z69erpyy+/lNfr9bka9dVXX1nLpbMHRADFx5woAH7VuXNntW/fXpMnT9axY8dUu3Ztde7cWa+88or27t17Rv3+/fut//7xxx99ltWoUUMNGzbU8ePHz7q/m266SZL04osv+rRPnjz5jNoGDRrI4/Hoyy+/tNr27t17xl3DAwMDJUnGGKvN4/Ho9ddfP2s/ysrNN98st9utmTNnWm2nTp3SlClTVKNGDaWkpEiSqlevLklFhkQAxcOVKAB+98gjj+iuu+7S9OnTdf/992vq1Km65ppr1KpVK913332qX7++cnNzlZWVpe+++05ffPGFJKl58+bq3Lmz2rZtq1q1amnNmjV69913NWzYsLPuq02bNurdu7f+/ve/y+PxqGPHjlq8eLG2b99+Rm2vXr302GOP6fbbb9eDDz6oI0eO6OWXX1bjxo21du1aq+6GG26Q0+nUrbfeqiFDhujQoUN69dVXVbt27SKDYFkaPHiwXnnlFd19993KyclRQkKC3n33XS1fvlyTJ09WzZo1Jf08Eb558+aaOXOmGjdurFq1aqlly5Zq2bJlufYXqNT8/fFAAFXD6VscrF69+oxlhYWFpkGDBqZBgwbm1KlTxhhjduzYYfr3729iYmJMtWrVTJ06dcwtt9xi3n33XWu9p556yrRv395ERESY0NBQ07RpU/P000+bEydOWDVF3Y7g6NGj5sEHHzSXXnqpCQsLM7feeqvZs2dPkR/5X7hwoWnZsqVxOp2mSZMm5s033yxym++//765/PLLTUhIiElISDDPPvusee2114wks3PnTquuJLc4ON/tG862vdzcXDNw4EATGRlpnE6nadWqlXn99dfPWHfFihWmbdu2xul0crsDwAaHMb+6/gwAAIBiYU4UAACADYQoAAAAGwhRAAAANhCiAAAAbCBEAQAA2ECIAgAAsIGbbZYhr9erH374QTVr1uQrFgAAqCSMMTp48KDi4uLO+DLvXyNElaEffvhB8fHx/u4GAACwYc+ePbrsssvOupwQVYZOf73Cnj17FB4e7ufeAACA4igoKFB8fLx1Hj8bQlQZOv0WXnh4OCEKAIBK5nxTcZhYDgAAYAMhCgAAwAZCFAAAgA3MifKzwsJCnTx50t/dqFScTuc5P3IKAEB5IET5iTFGbrdb+fn5/u5KpRMQEKDExEQ5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dptJTEw0R48etWpuvPFG07p1a7Ny5Urz2WefmYYNG5revXv77OuBBx4wTZo0MXPnzjXffPONWbNmjVm4cGGJjs/j8RhJxuPxlGg9AADgP8U9f/s1RLVv394MHTrU+r2wsNDExcWZzMzMIut79Ohhunbt6tOWlJRkhgwZYowxxuv1mpiYGPPcc89Zy/Pz801wcLB55513jDHGbN682Ugyq1evtmo++ugj43A4zPfff2/VBAUFma+++uqCjo8QBQBA5VPc87ffPp134sQJ5eTkKDU11WoLCAhQamqqsrKyilwnKyvLp16S0tLSrPqdO3fK7Xb71LhcLiUlJVk1WVlZioiIULt27aya1NRUBQQEKDs7W5L0wQcfqH79+po3b54SExOVkJCge++9VwcOHDjnMR0/flwFBQU+DwAAcHHyW4jKy8tTYWGhoqOjfdqjo6PldruLXMftdp+z/vTP89XUrl3bZ3lQUJBq1apl1XzzzTf69ttvNXv2bP373//W9OnTlZOTozvvvPOcx5SZmekzNyw+Pv6c9QAAoPLiPlFF8Hq9On78uP7973/r2muvVefOnfWvf/1LS5cu1datW8+63ujRo+XxeKzHnj17yrHXAACgPPktREVGRiowMFC5ubk+7bm5uYqJiSlynZiYmHPWn/55vpp9+/b5LD916pQOHDhg1cTGxiooKEiNGze2apo1ayZJ2r1791mPKTg4WOHh4T4PAABwcfJbiHI6nWrbtq0WL15stXm9Xi1evFjJyclFrpOcnOxTL0mLFi2y6hMTExUTE+NTU1BQoOzsbKsmOTlZ+fn5ysnJsWqWLFkir9erpKQkSdLVV1+tU6dOaceOHVbN119/LUmqV6/ehRw2AAC4WJTTRPcizZgxwwQHB5vp06ebzZs3m8GDB5uIiAjjdruNMcb069fPjBo1yqpfvny5CQoKMs8//7zZsmWLycjIKPIWBxEREWbu3Lnmyy+/NN26dSvyFgdXXHGFyc7ONp9//rlp1KiRzy0OCgsLzZVXXmk6depk1q5da9asWWOSkpLM7373uxIdH5/OAwCg8qkUtzgwxpgpU6aYunXrGqfTadq3b29WrlxpLUtJSTEDBgzwqZ81a5Zp3LixcTqdpkWLFubDDz/0We71es24ceNMdHS0CQ4ONl26dDFbt271qfnxxx9N7969TY0aNUx4eLgZOHCg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+BntPXr0MF27dvVpS0pKMkOGDLnAHpaf0hqL119/3bhcrlLr14XgShSKdOLECeXk5Cg1NdVqCwgIUGpqqrKysopcp2PHjsrJybHeevjmm280f/583XzzzT5127ZtU1xcnOrXr6++fftq9+7dZXcgpcDOWBw/fvyMy8uhoaHWq2g726wIymIsTqtszws7srKyfMZOktLS0qyxq6zPCzvONxanVYXnRXEUd7yqikOHDqlevXqKj49Xt27dtGnTJr/0gxCFIuXl5amwsFDR0dE+7dHR0XK73UWu06dPH02YMEHXXHONqlWrpgYNGqhz584+b+clJSVp+vTpWrBggV5++WXt3LlT1157rQ4ePFimx3Mh7IxFWlqa/vrXv2rbtm3yer1atGiR5syZo71799reZkVQFmMhVc7nhR1ut7vIsSsoKNDRo0cr7fPCjvONhVR1nhfFcbbxutieF8XRpEkTvfbaa5o7d67efPNNeb1edezYUd99912594UQhVKzbNkyPfPMM/r73/+utWvXas6cOfrwww/15JNPWjU33XST7rrrLl1++eVKS0vT/PnzlZ+fr1mzZvmx56Xvb3/7mxo1aqSmTZvK6XRq2LBhGjhwoAICqt7/csUZi6ryvEDJ8LxAUZKTk9W/f3+1adNGKSkpmjNnjqKiovTKK6+Ue1+q3l90FEtkZKQCAwOVm5vr056bm6uYmJgi1xk3bpz69eune++9V61atdLtt9+uZ555RpmZmfJ6vUWuExERocaNG2v79u2lfgylxc5YREVF6b333tPhw4f17bff6quvvlKNGjVUv35929usCMpiLIpSGZ4XdsTExBQ5duHh4QoNDa20zws7zjcWRblYnxfFcbbxutieF3ZUq1ZNV1xxhV+eF4QoFMnpdKpt27ZavHix1eb1erV48WIlJycXuc6RI0fOuNISGBgoSTJn+YrGQ4cOaceOHYqNjS2lnpc+O2NxWkhIiOrUqaNTp07pv//9r7p163bB2/SnshiLolSG54UdycnJPmMnSYsWLbLGrrI+L+w431gU5WJ9XhSHnfGqKgoLC7Vhwwb/PC/8PbMdFdeMGTNMcHCwmT59utm8ebMZPHiwiYiIMG632xhjTL9+/cyoUaOs+oyMDFOzZk3zzjvvmG+++cYsXLjQNGjQwPTo0cOqeeihh8yyZcvMzp07zfLly01qaqqJjIw0+/btK/fjK4mSjsXKlSvNf//7X7Njxw7z6aefmuuvv94kJiaan376qdjbrKjKYiwq6/Pi4MGDZt26dWbdunVGkvnrX/9q1q1bZ7799ltjjDGjRo0y/fr1s+q/+eYbU716dfPII4+YLVu2mKlTp5rAwECzYMECq6ayPi/KYiyqyvPCGGPVt23b1vTp08esW7fObNq0yVq+fPlyExQUZJ5//nmzZcsWk5GRYapVq2Y2bNhQrsdWUmUxFk888YT5+OOPzY4dO0xOTo7p1auXCQkJ8akpL4QonNOUKVNM3bp1jdPpNO3btzcrV660lqWkpJgBAwZYv588edI8/vjjpkGDBiYkJMTEx8ebP/7xjz4ny549e5rY2FjjdDpNnTp1TM+ePc327dvL8YjsK8lYLFu2zDRr1swEBwebSy+91PTr1898//33JdpmRVbaY1FZnxdLly41ks54nD7+AQMGmJSUlDPWadOmjXE6naZ+/frm9ddfP2O7lfF5URZjUZWeF0XV16tXz6dm1qxZpnHjxsbpdJoWLVqYDz/8sHwO6AKUxViMGDHC+v8jOjra3HzzzWbt2rXld1C/4vj/HQYAAEAJMCcKAADABkIUAACADYQoAAAAGwhRAAAANhCiAAAAbCBEAQAA2ECIAgAAsIEQBQBVyLJly+RwOJSfn+/vrgCVHiEKQJm4++675XA4NHHiRJ/29957Tw6Hw/rdGKNXX31VycnJCg8PV40aNdSiRQsNHz682F8oeuTIEY0ePVoNGjRQSEiIoqKilJKSorlz51o1CQkJmjx5cqkcW1k7PXYOh0PVqlVTYmKiHn30UR07dqxE2+ncubNGjBjh09axY0ft3btXLperFHsMVE2EKABlJiQkRM8++6x++umnIpcbY9SnTx89+OCDuvnmm7Vw4UJt3rxZ//rXvxQSEqKnnnqqWPu5//77NWfOHE2ZMkVfffWVFixYoDvvvFM//vhjaR5Oubrxxhu1d+9effPNN3rhhRf0yiuvKCMj44K363Q6FRMT4xNkAdjkly+bAXDRGzBggLnllltM06ZNzSOPPGK1/+9//zOn//S88847RpKZO3dukdvwer3F2pfL5TLTp08/6/KUlJQzvovrtM8++8xcc801JiQkxFx22WXmgQceMIcOHbKW//vf/zZt27Y1NWrUMNHR0aZ3794mNzfXWn76u8EWLFhg2rRpY0JCQsx1111ncnNzzfz5803Tpk1NzZo1Te/evc3hw4eLdTwDBgww3bp182nr3r27ueKKK6zf8/LyTK9evUxcXJwJDQ01LVu2NG+//bbPNn57zDt37rT6++vvtHz33XdN8+bNjdPpNPXq1TPPP/98sfoJVHVciQJQZgIDA/XMM89oypQp+u67785Y/s4776hJkya67bbbily/uFdLYmJiNH/+fB08eLDI5XPmzNFll12mCRMmaO/evdq7d68kaceOHbrxxht1xx136Msvv9TMmTP1+eefa9iwYda6J0+e1JNPPqkvvvhC7733nnbt2qW77777jH08/vjjeumll7RixQrt2bNHPXr00OTJk/X222/rww8/1MKFCzVlypRiHc9vbdy4UStWrJDT6bTajh07prZt2+rDDz/Uxo0bNXjwYPXr10+rVq2SJP3tb39TcnKy7rvvPuuY4+Pjz9h2Tk6OevTooV69emnDhg16/PHHNW7cOE2fPt1WX4Eqxd8pDsDF6ddXUzp06GDuueceY4zvlaimTZua2267zWe94cOHm7CwMBMWFmbq1KlTrH198skn5rLLLjPVqlUz7dq1MyNGjDCff/65T029evXMCy+84NM2aNAgM3jwYJ+2zz77zAQEBJijR48Wua/Vq1cbSebgwYPGmF+uRP3f//2fVZOZmWkkmR07dlhtQ4YMMWlpacU6ngEDBpjAwEATFhZmgoODjSQTEBBg3n333XOu17VrV/PQQw9Zv6ekpJjhw4f71Pz2SlSfPn3M7373O5+aRx55xDRv3rxYfQWqMq5EAShzzz77rN544w1t2bLlvLV//vOftX79eo0fP16HDh0q1vY7deqkb775RosXL9add96pTZs26dprr9WTTz55zvW++OILTZ8+XTVq1LAeaWlp8nq92rlzp6Sfr9Tceuutqlu3rmrWrKmUlBRJ0u7du322dfnll1v/HR0drerVq6t+/fo+bfv27SvW8UjSddddp/Xr1ys7O1sDBgzQwIEDdccdd1jLCwsL9eSTT6pVq1aqVauWatSooY8//viMfp3Pli1bdPXVV/u0XX311dq2bZsKCwtLtC2gqiFEAShznTp1UlpamkaPHu3T3qhRI23dutWnLSoqSg0bNlTt2rVLtI9q1arp2muv1WOPPaaFCxdqwoQJevLJJ3XixImzrnPo0CENGTJE69evtx5ffPGFtm3bpgYNGujw4cNKS0tTeHi43nrrLa1evVr/+9//JOmM7VarVs3679Ofqvs1h8Mhr9db7OMJCwtTw4YN1bp1a7322mvKzs7Wv/71L2v5c889p7/97W967LHHtHTpUq1fv15paWnnPF4ApSvI3x0AUDVMnDhRbdq0UZMmTay23r17q0+fPpo7d666detWqvtr3ry5Tp06pWPHjsnpdMrpdJ5xZeXKK6/U5s2b1bBhwyK3sWHDBv3444+aOHGiNZ9ozZo1pdrP4ggICNCYMWM0cuRI9enTR6GhoVq+fLm6deum3//+95Ikr9err7/+Ws2bN7fWK+qYf6tZs2Zavny5T9vy5cvVuHFjBQYGlv7BABcRrkQBKBetWrVS37599eKLL1ptvXr10p133qlevXppwoQJys7O1q5du/TJJ59o5syZxT6Jd+7cWa+88opycnK0a9cuzZ8/X2PGjNF1112n8PBwST/fJ+rTTz/V999/r7y8PEnSY489phUrVmjYsGFav369tm3bprlz51oTy+vWrSun06kpU6bom2++0fvvv3/etwjLyl133aXAwEBNnTpV0s9X8RYtWqQVK1Zoy5YtGjJkiHJzc33WSUhIsMY0Ly+vyCthDz30kBYvXqwnn3xSX3/9td544w299NJLevjhh8vluIDKjBAFoNxMmDDB50TucDg0c+ZMTZ48WfPnz1eXLl3UpEkT3XPPPYqPj9fnn39erO2mpaXpjTfe0A033KBmzZrpgQceUFpammbNmuWz7127dqlBgwaKioqS9PM8pk8++URff/21rr32Wl1xxRUaP3684uLiJP381uL06dM1e/ZsNW/eXBMnTtTzzz9fiiNSfEFBQRo2bJgmTZqkw4cPa+zYsbryyiuVlpamzp07KyYmRunp6T7rPPzwwwoMDFTz5s0VFRVV5HypK6+8UrNmzdKMGTPUsmVLjR8/XhMmTCjyE4gAfDmMMcbfnQAAAKhsuBIFAABgAyEKQIX361sQ/Pbx2Wef+bt7JbJ79+5zHk9Jb1EAwH94Ow9AhXeuLyKuU6eOQkNDy7E3F+bUqVPatWvXWZcnJCQoKIgPTgOVASEKAADABt7OAwAAsIEQBQAAYAMhCgAAwAZCFAAAgA2EKAAAABsIUQAAADYQogAAAGwgRAEAANjw/wB9VUqsyMbHEgAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_62.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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2rRpI7V/8cUXd+1/XWvbti0OHjwIm81mNxv17bffSuuBOwdEIqo5XhNFRE41aNAghIWFYdmyZbhy5QpatWqFQYMG4e2330ZRUdFt9efPn5f++cKFC3brmjdvjg4dOuDq1at3fL/HHnsMALB8+XK79mXLlt1W2759e1itVhw8eFBqKyoquu2p4SqVCgAghJDarFYr3n///Tv2o74MGzYMFosFqampUtuNGzewYsUKNG/eHBEREQCAZs2aAYDDkEhENcOZKCJyuhdeeAF//OMfkZKSgr/85S9YuXIl+vfvj5CQEEyePBnt2rVDcXExcnJycObMGXzzzTcAgK5du2LQoEHo1asXWrZsib179+LDDz9EQkLCHd8rNDQU0dHR+Oc//wmr1Yq+ffsiMzMT33///W21Y8eOxYsvvognn3wSzz33HC5fvoy33noLHTt2xL59+6S6P/zhD1Cr1XjiiScwZcoUXLp0Ce+++y5atWrlMAjWp/j4eLz99tuYNGkS8vPzERgYiA8//BC7d+/GsmXL0KJFCwA3L4Tv2rUrUlNT0bFjR7Rs2RLdu3dH9+7dG7S/RC7N2bcHElHTcOsRB3l5ebetq6qqEu3btxft27cXN27cEEIIceLECTFhwgRhMBiEu7u7aN26tXj88cfFhx9+KG33yiuviLCwMKHX64WHh4fo3Lmz+N///V9x7do1qcbR4wgqKyvFc889Jx544AHh6ekpnnjiCXH69GmHt/x//vnnonv37kKtVotOnTqJDz74wOE+t27dKh566CGh1WpFYGCgWLx4sVi1apUAIAoLC6W62jzi4G6Pb7jT/oqLi0VsbKzw9vYWarVahISEiPfff/+2bbOzs0WvXr2EWq3m4w6IZFAI8av5ZyIiIiKqEV4TRURERCQDQxQRERGRDAxRRERERDIwRBERERHJwBBFREREJANDFBEREZEMfNhmPbLZbPjpp5/QokUL/sQCERGRixBC4OLFi/D397/tx7x/jSGqHv30008ICAhwdjeIiIhIhtOnT+PBBx+843qGqHp06+cVTp8+DS8vLyf3hoiIiGqivLwcAQEB0vf4nTBE1aNbp/C8vLwYooiIiFzM3S7F4YXlRERERDIwRBERERHJwBBFREREJAOviXKyqqoqXL9+3dndcDp3d3eoVCpnd4OIiKjGGKKcRAgBi8WCsrIyZ3el0dDr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iAEDBtzxeK5evYry8nK7hYiIiO5PTg1RJSUlqKqqgq+vr127r68vLBaLw20sFku19bf+3q2mVatWduvd3NzQsmVLh+975coVrFmzBnFxcdUeT1JSEnQ6nbQEBARUW09ERESuy+nXRLmCjz/+GBcvXsTEiROrrZs9ezasVqu0nD59uoF6SERERA3NqSHK29sbKpUKxcXFdu3FxcUwGAwOtzEYDNXW3/p7t5rfXrh+48YNlJaWOnzf9957D48//vhts1u/pdFo4OXlZbcQERHR/cmpIUqtVqNXr17IzMyU2mw2GzIzMxEeHu5wm/DwcLt6AMjIyJDqg4KCYDAY7GrKy8uRm5sr1YSHh6OsrAz5+flSTVZWFmw2G4xGo92+CwsL8cUXX9z1VB4RERE1LW7O7sD06dMxceJE9O7dG2FhYVi2bBkqKioQGxsLAJgwYQJat26NpKQkAMDUqVMRERGB119/HcOHD8f69euxd+9evPPOOwAAhUKBadOm4ZVXXkFwcDCCgoIwb948+Pv7IzIyEgDQpUsXDB06FJMnT0ZycjKuX7+OhIQEjB07Fv7+/nb9W7VqFfz8/PDYY4813KAQERFRo+f0EBUVFYXz589j/vz5sFgsCA0NRXp6unTq7NSpU1Aqf5kw69u3L9auXYu5c+dizpw5CA4OxubNm9G9e3epZubMmaioqEB8fDzKysrQv39/pKenQ6vVSjVr1qxBQkIChgwZAqVSidGjR2P58uV2fbPZbEhJScGkSZOgUqnqeSSIiIjIlSiEEMLZnbhflZeXQ6fTwWq18vooIiIiF1HT72/enUdEREQkA0MUERERkQwMUUREREQyMEQRERERycAQRURERCQDQxQRERGRDAxRRERERDIwRBERERHJwBBFREREJANDFBEREZEMDFFEREREMjBEEREREcnAEEVEREQkA0MUERERkQwMUUREREQyMEQRERERycAQRURERCQDQxQRERGRDAxRRERERDIwRBERERHJwBBFREREJANDFBEREZEMDFFEREREMjBEEREREcnAEEVEREQkA0MUERERkQwMUUREREQyMEQRERERycAQRURERCQDQxQRERGRDAxRRERERDI4PUStXLkSgYGB0Gq1MBqN2LNnT7X1GzduROfOnaHVahESEoK0tDS79UIIzJ8/H35+fvDw8IDJZMLx48ftakpLSxETEwMvLy/o9XrExcXh0qVLt+1n6dKl6NixIzQaDVq3bo3//d//rZuDJiIiIpfn1BCVmpqK6dOnIzExEfv27UOPHj1gNptx7tw5h/XZ2dmIjo5GXFwc9u/fj8jISERGRuLw4cNSzZIlS7B8+XIkJycjNzcXnp6eMJvNuHLlilQTExODI0eOICMjA9u2bcPOnTsRHx9v915Tp07Fe++9h6VLl+Lbb7/F1q1bERYWVj8DQURERK5HOFFYWJh45plnpNdVVVXC399fJCUlOawfM2aMGD58uF2b0WgUU6ZMEUIIYbPZhMFgEK+99pq0vqysTGg0GrFu3TohhBAFBQUCgMjLy5NqPv30U6FQKMTZs2elGjc3N/Htt9/e0/FZrVYBQFit1nvaDxERETWcmn5/O20m6tq1a8jPz4fJZJLalEolTCYTcnJyHG6Tk5NjVw8AZrNZqi8sLITFYrGr0el0MBqNUk1OTg70ej169+4t1ZhMJiiVSuTm5gIAPvnkE7Rr1w7btm1DUFAQAgMD8fTTT6O0tLTaY7p69SrKy8vtFiIiIro/OS1ElZSUoKqqCr6+vnbtvr6+sFgsDrexWCzV1t/6e7eaVq1a2a13c3NDy5YtpZoffvgBP/74IzZu3Ih///vfSElJQX5+Pp566qlqjykpKQk6nU5aAgICqq0nIiIi1+X0C8sbI5vNhqtXr+Lf//43BgwYgEGDBuFf//oXvvjiCxw7duyO282ePRtWq1VaTp8+3YC9JiIioobktBDl7e0NlUqF4uJiu/bi4mIYDAaH2xgMhmrrb/29W81vL1y/ceMGSktLpRo/Pz+4ubmhY8eOUk2XLl0AAKdOnbrjMWk0Gnh5edktREREdH9yWohSq9Xo1asXMjMzpTabzYbMzEyEh4c73CY8PNyuHgAyMjKk+qCgIBgMBrua8vJy5ObmSjXh4eEoKytDfn6+VJOVlQWbzQaj0QgA6NevH27cuIETJ05INd999x0AoG3btvdy2ERERHS/aKAL3R1av3690Gg0IiUlRRQUFIj4+Hih1+uFxWIRQggxfvx4MWvWLKl+9+7dws3NTSxdulQcPXpUJCYmCnd3d3Ho0CGpZtGiRUKv14stW7aIgwcPipEjR4qgoCBRWVkp1QwdOlT07NlT5Obmil27dong4GARHR0tra+qqhIPP/ywGDhwoNi3b5/Yu3evMBqN4ve//32tjo935xEREbmemn5/OzVECSHEihUrRJs2bYRarRZhYWHi66+/ltZFRESIiRMn2tVv2LBBdOzYUajVatGtWzexfft2u/U2m03MmzdP+Pr6Co1GI4YMGSKOHTtmV3PhwgURHR0tmjdvLry8vERsbKy4ePGiXc3Zs2fFqFGjRPPmzYWvr6+YNGmSuHDhQq2OjSGKiIjI9dT0+1shhBDOnQu7f5WXl0On08FqtfL6KCIiIhdR0+9v3p1HREREJANDFBEREZEMDFFEREREMjBEEREREcnAEEVEREQkA0MUERERkQwMUUREREQyMEQRERERycAQRURERCQDQxQRERGRDAxRRERERDIwRBERERHJwBBFREREJANDFBEREZEMDFFEREREMjBEEREREcnAEEVEREQkA0MUERERkQwMUUREREQyMEQRERERycAQRURERCQDQxQRERGRDAxRRERERDIwRBERERHJwBBFREREJANDFBEREZEMDFFEREREMjBEEREREcnAEEVEREQkA0MUERERSYqslcg+UYIia6Wzu9LoNYoQtXLlSgQGBkKr1cJoNGLPnj3V1m/cuBGdO3eGVqtFSEgI0tLS7NYLITB//nz4+fnBw8MDJpMJx48ft6spLS1FTEwMvLy8oNfrERcXh0uXLknrT548CYVCcdvy9ddf192BExERNSKpeafQb1EWxr2bi36LspCad8rZXWrUnB6iUlNTMX36dCQmJmLfvn3o0aMHzGYzzp0757A+Ozsb0dHRiIuLw/79+xEZGYnIyEgcPnxYqlmyZAmWL1+O5ORk5ObmwtPTE2azGVeuXJFqYmJicOTIEWRkZGDbtm3YuXMn4uPjb3u///73vygqKpKWXr161f0gEBEROVmRtRKzNx2CTdx8bRPAnE2HOSNVDYUQQjizA0ajEX369MGbb74JALDZbAgICMCzzz6LWbNm3VYfFRWFiooKbNu2TWp75JFHEBoaiuTkZAgh4O/vj+effx4zZswAAFitVvj6+iIlJQVjx47F0aNH0bVrV+Tl5aF3794AgPT0dAwbNgxnzpyBv78/Tp48iaCgIOzfvx+hoaGyjq28vBw6nQ5WqxVeXl6y9kFERNQQsk+UYNy7ube1r5v8CMLbP+CEHjlPTb+/nToTde3aNeTn58NkMkltSqUSJpMJOTk5DrfJycmxqwcA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EEVEREQkA0MUERERkQwMUUREREQyMEQRERERycAQRURERCQDQxQRERGRDAxRRERERDIwRBERERHJwBBFREREJANDFBEREZEMDFFEREREMjBEEREREcnAEEVEREQkA0MUERERkQwMUUREREQyMEQRERERycAQRURERCQDQxQRERGRDAxRRERERDIwRBERERHJwBBFREREJANDFBEREZEMDFFEREREMjBEEREREcnAEEVEREQkA0MUERERkQwMUUREREQyMEQRERERydAoQtTKlSsRGBgIrVYLo9GIPXv2VFu/ceNGdO7cGVqtFiEhIUhLS7NbL4TA/Pnz4efnBw8PD5hMJhw/ftyuprS0FDExMfDy8oJer0dcXBwuXbokrT927BgGDx4MX19faLVatGvXDnPnzsX169fr7sAbWJG1EtknSlBkrXR2V4iIiFye00NUamoqpk+fjsTEROzbtw89evSA2WzGuXPnHNZnZ2cjOjoacXFx2L9/PyIjIxEZGYnDhw9LNUuWLMHy5cuRnJyM3NxceHp6wmw248qVK1JNTEwMjhw5goyMDGzbtg07d+5EfHy8tN7d3R0TJkzA559/jmPHjmHZsmV49913kZiYWH+DUY9S806h36IsjHs3F/0WZSE175Szu0REROTSFEII4cwOGI1G9OnTB2+++SYAwGazISAgAM8++yxmzZp1W31UVBQqKiqwbds2qe2RRx5BaGgokpOTIYSAv78/nn/+ecyYMQMAYLVa4evri5SUFIwdOxZHjx5F165dkZeXh969ewMA0tPTMWzYMJw5cwb+/v4O+zp9+nTk5eXhq6++qtGxlZeXQ6fTwWq1wsvLq1bjUpeKrJXotygLtl/9L61SKLBr1mD46Tyc1i8iIqLGqKbf306dibp27Rry8/NhMpmkNqVSCZPJhJycHIfb5OTk2NUDgNlsluoLCwthsVjsanQ6HYxGo1STk5MDvV4vBSgAMJlMUCqVyM3Ndfi+33//PdLT0xEREXHH47l69SrKy8vtlsagsKTCLkABQJUQOFly2TkdIiIiug84NUSVlJSgqqoKvr6+du2+vr6wWCwOt7FYLNXW3/p7t5pWrVrZrXdzc0PLli1ve9++fftCq9UiODgYAwYMwMKFC+94PElJSdDpdNISEBBwx9qGFOTtCaXCvk2lUCDQu5lzOkRERHQfcPo1UY1d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XowZM0aqef7558WOHTtEYWGh2L17tzCZTMLb21ucO3euwY+vNmo7Fl9//bX46KOPxIkTJ8TOnTvFo48+KoKCgsTPP/9c4302VvUxFq76ubh48aLYv3+/2L9/vwAg/v73v4v9+/eLH3/8UQghxKxZs8T48eOl+h9++EE0a9ZMvPDCC+Lo0aNi5cqVQqVSifT0dKnGVT8X9TEWTeVzIYSQ6nv16iXGjRsn9u/fL44cOSKt3717t3BzcxNLly4VR48eFYmJicLd3V0cOnSoQY+ttupjLF566SXx2WefiRMnToj8/HwxduxYodVq7WoaCkMUVWvFihWiTZs2Qq1Wi7CwMPH1119L6yIiIsTEiROl19evXxcLFiwQ7du3F1qtVgQEBIi//vWvdl+WUVFRws/PT6jVatG6dWsRFRUlvv/++wY8IvlqMxY7duwQXbp0ERqNRjzwwANi/Pjx4uzZs7XaZ2NW12Phqp+LL774QgC4bbl1/BMnThQRERG3bRMaGirUarVo166deP/992/bryt+LupjLJrS58JRfdu2be1qNmzYIDp27CjUarXo1q2b2L59e8Mc0D2oj7GYNm2a9P8PX19fMWzYMLFv376GO6hfUfxfh4mIiIioFnhNFBEREZEMDFFEREREMjBEEREREcnAEEVEREQkA0MUERERkQwMUUREREQyMEQRERERycAQRUTUhOzYsQMKhQJlZWXO7gqRy2OIIqJ6MWnSJCgUCixatMiuffPmzVAoFNJrIQTeffddhIeHw8vLC82bN0e3bt0wderUGv+g6OXLlzF79my0b98eWq0WPj4+iIiIwJYtW6SawMBALFu2rE6Orb7dGjuFQgF3d3cEBQVh5syZuHLlSq32M2jQIEybNs2urW/fvigqKoJOp6vDHhM1TQxRRFRvtFotFi9ejJ9//tnheiEExo0bh+eeew7Dhg3D559/joKCAvzrX/+CVqvFK6+8UqP3+ctf/oJNmzZhxYoV+Pbbb5Geno6nnnoKFy5cqMvDaVBDhw5FUVERfvjhB7zxxht4++23kZiYeM/7VavVMBgMdkGWiGRyyo/NENF9b+LEieLxxx8XnTt3Fi+88ILU/vHHH4tb/+pZt26dACC2bNnicB82m61G76XT6URKSsod10dERNz2W1y3fPXVV6J///5Cq9WKBx98UDz77LPi0qVL0vp///vf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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_63.png" - } - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\surrogates\\pysmo\\pysmo_flowsheet_optimization_doc_17_64.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# visualize with IDAES surrogate plotting tools\n", "surrogate_scatter2D(poly_surr, data_validation, filename=\"pysmo_poly_val_scatter2D.pdf\")\n", @@ -2364,83 +309,7 @@ "metadata": { "scrolled": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:23:37 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 13\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 0\n", - "\n", - "Total number of variables............................: 13\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 0\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 13\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 1.11e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 0.00e+00 0.00e+00 -1.0 1.11e+04 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 1\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "\n", - "\n", - "Number of objective function evaluations = 2\n", - "Number of objective gradient evaluations = 2\n", - "Number of equality constraint evaluations = 2\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 2\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 1\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\b\b\b\b\b\b\b\b\b\b\b\b\b\b" - ] - } - ], + "outputs": [], "source": [ "# create the IDAES model and flowsheet\n", "m = ConcreteModel()\n", @@ -2521,27 +390,7 @@ "cell_type": "code", "execution_count": 9, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Steam flowrate = 0.6059308497978191\n", - "Reformer duty = 21066.948701158035\n", - "Mole Fraction Ar = 0.0036793744229938544\n", - "Mole Fraction C2H6 = 0.004187279676589231\n", - "Mole Fraction C3H8 = 0.000523414598169937\n", - "Mole Fraction C4H10 = 0.0009159732540583096\n", - "Mole Fraction CH4 = 0.12786005023329045\n", - "Mole Fraction CO = 0.09697157382062967\n", - "Mole Fraction CO2 = 0.046010703278916036\n", - "Mole Fraction H2 = 0.2938730753304199\n", - "Mole Fraction H2O = 0.11952683194799225\n", - "Mole Fraction N2 = 0.30644275497350865\n", - "Mole Fraction O2 = -5.551115123125783e-17\n" - ] - } - ], + "outputs": [], "source": [ "print(\"Steam flowrate = \", value(m.fs.steam_flowrate))\n", "print(\"Reformer duty = \", value(m.fs.reformer_duty))\n", @@ -2574,130 +423,7 @@ "metadata": { "scrolled": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 39\n", - "Number of nonzeros in inequality constraint Jacobian.: 1\n", - "Number of nonzeros in Lagrangian Hessian.............: 3\n", - "\n", - "Total number of variables............................: 15\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 2\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 13\n", - "Total number of inequality constraints...............: 1\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 1\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 -2.9387308e-01 2.91e-10 2.31e-02 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 -2.9586866e-01 1.29e+00 1.91e-03 -1.7 4.88e+02 - 1.00e+00 1.00e+00f 1\n", - " 2 -3.1973235e-01 1.17e+02 9.90e-03 -2.5 6.00e+03 - 8.80e-01 1.00e+00h 1\n", - " 3 -3.2537868e-01 1.23e+02 3.60e-03 -2.5 4.80e+03 - 1.00e+00 1.00e+00h 1\n", - " 4 -3.2610698e-01 2.48e+01 3.26e-04 -2.5 1.90e+03 - 1.00e+00 1.00e+00h 1\n", - " 5 -3.2615002e-01 1.98e-02 2.27e-06 -2.5 9.78e+01 - 1.00e+00 1.00e+00h 1\n", - " 6 -3.3107576e-01 8.06e+01 5.01e-03 -3.8 3.89e+03 - 9.20e-01 1.00e+00h 1\n", - " 7 -3.3136311e-01 1.95e+00 8.59e-04 -3.8 6.41e+02 - 1.00e+00 1.00e+00h 1\n", - " 8 -3.3128690e-01 2.96e-01 1.24e-05 -3.8 2.18e+02 - 1.00e+00 1.00e+00h 1\n", - " 9 -3.3157177e-01 2.17e-01 1.01e-04 -5.7 1.63e+02 - 9.95e-01 1.00e+00h 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 -3.3157586e-01 4.17e-04 1.45e-08 -5.7 9.24e+00 - 1.00e+00 1.00e+00h 1\n", - " 11 -3.3157954e-01 4.46e-05 7.07e-09 -8.6 1.84e+00 - 1.00e+00 1.00e+00h 1\n", - " 12 -3.3157954e-01 1.34e-09 4.26e-14 -8.6 1.29e-03 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 12\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: -3.3157953843145921e-01 -3.3157953843145921e-01\n", - "Dual infeasibility......: 4.2581604889876294e-14 4.2581604889876294e-14\n", - "Constraint violation....: 3.5549293562270731e-12 1.3387762010097504e-09\n", - "Complementarity.........: 2.5059038878794521e-09 2.5059038878794521e-09\n", - "Overall NLP error.......: 2.5059038878794521e-09 2.5059038878794521e-09\n", - "\n", - "\n", - "Number of objective function evaluations = 13\n", - "Number of objective gradient evaluations = 13\n", - "Number of equality constraint evaluations = 13\n", - "Number of inequality constraint evaluations = 13\n", - "Number of equality constraint Jacobian evaluations = 13\n", - "Number of inequality constraint Jacobian evaluations = 13\n", - "Number of Lagrangian Hessian evaluations = 12\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n", - "Total CPU secs in NLP function evaluations = 0.001\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\b\b\b\b\b\b\b\b\b\b\b\b\b\b" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[+ 0.07] solve\n", - "Model status: \n", - "Problem: \n", - "- Lower bound: -inf\n", - " Upper bound: inf\n", - " Number of objectives: 1\n", - " Number of constraints: 14\n", - " Number of variables: 15\n", - " Sense: unknown\n", - "Solver: \n", - "- Status: ok\n", - " Message: Ipopt 3.13.2\\x3a Optimal Solution Found\n", - " Termination condition: optimal\n", - " Id: 0\n", - " Error rc: 0\n", - " Time: 0.058537960052490234\n", - "Solution: \n", - "- number of solutions: 0\n", - " number of solutions displayed: 0\n", - "\n", - "Solve time: 0.074246599979233\n", - "fs.bypass_frac : 0.10000006743045317\n", - "fs.ng_steam_ratio : 1.1111587695778178\n", - "fs.steam_flowrate : 1.211913588633006\n", - "fs.reformer_duty : 38820.801141863\n", - "fs.AR : 0.004107083638191985\n", - "fs.C2H6 : 0.0005392232921631147\n", - "fs.C4H10 : 0.00011795111658708467\n", - "fs.C3H8 : 6.741873287192471e-05\n", - "fs.CH4 : 0.016806518961534973\n", - "fs.CO : 0.10494647112247085\n", - "fs.CO2 : 0.05346576317928386\n", - "fs.H2 : 0.3315795384314592\n", - "fs.H2O : 0.14839740391436385\n", - "fs.N2 : 0.3400000043352795\n", - "fs.O2 : 8.2852873934491285e-16\n" - ] - } - ], + "outputs": [], "source": [ "# unfix input values and add the objective/constraint to the model\n", "m.fs.bypass_frac.unfix()\n", @@ -2745,7 +471,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.8.16" } }, "nbformat": 4, diff --git a/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_flowsheet_optimization_test.ipynb b/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_flowsheet_optimization_test.ipynb index 94803a2c..1c3f7c84 100644 --- a/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_flowsheet_optimization_test.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_flowsheet_optimization_test.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_flowsheet_optimization_usr.ipynb b/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_flowsheet_optimization_usr.ipynb index 94803a2c..1c3f7c84 100644 --- a/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_flowsheet_optimization_usr.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/pysmo/pysmo_flowsheet_optimization_usr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/surrogates/pysmo/rbf_cardinal_sine_function.py b/idaes_examples/notebooks/docs/surrogates/pysmo/rbf_cardinal_sine_function.py index 3c02d5d3..cfd886f1 100644 --- a/idaes_examples/notebooks/docs/surrogates/pysmo/rbf_cardinal_sine_function.py +++ b/idaes_examples/notebooks/docs/surrogates/pysmo/rbf_cardinal_sine_function.py @@ -3,12 +3,13 @@ # Framework (IDAES IP) was produced under the DOE Institute for the # Design of Advanced Energy Systems (IDAES). # -# Copyright (c) 2018-2023 by the software owners: The Regents of the +# Copyright (c) 2018-2025 by the software owners: The Regents of the # University of California, through Lawrence Berkeley National Laboratory, # National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon # University, West Virginia University Research Corporation, et al. # All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md # for full copyright and license information. +# ################################################################################# """ diff --git a/idaes_examples/notebooks/docs/surrogates/pysmo/rbf_griewank_function.py b/idaes_examples/notebooks/docs/surrogates/pysmo/rbf_griewank_function.py index edfe08aa..00f4dfd8 100644 --- a/idaes_examples/notebooks/docs/surrogates/pysmo/rbf_griewank_function.py +++ b/idaes_examples/notebooks/docs/surrogates/pysmo/rbf_griewank_function.py @@ -3,12 +3,13 @@ # Framework (IDAES IP) was produced under the DOE Institute for the # Design of Advanced Energy Systems (IDAES). # -# Copyright (c) 2018-2023 by the software owners: The Regents of the +# Copyright (c) 2018-2025 by the software owners: The Regents of the # University of California, through Lawrence Berkeley National Laboratory, # National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon # University, West Virginia University Research Corporation, et al. # All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md # for full copyright and license information. +# ################################################################################# """ 2d-Griewank function, see Griewank (1981) paper diff --git a/idaes_examples/notebooks/docs/surrogates/pysmo/rbf_six_hump_function.py b/idaes_examples/notebooks/docs/surrogates/pysmo/rbf_six_hump_function.py index 6c62bd7c..3c875938 100644 --- a/idaes_examples/notebooks/docs/surrogates/pysmo/rbf_six_hump_function.py +++ b/idaes_examples/notebooks/docs/surrogates/pysmo/rbf_six_hump_function.py @@ -3,12 +3,13 @@ # Framework (IDAES IP) was produced under the DOE Institute for the # Design of Advanced Energy Systems (IDAES). # -# Copyright (c) 2018-2023 by the software owners: The Regents of the +# Copyright (c) 2018-2025 by the software owners: The Regents of the # University of California, through Lawrence Berkeley National Laboratory, # National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon # University, West Virginia University Research Corporation, et al. # All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md # for full copyright and license information. +# ################################################################################# from idaes.surrogate.pysmo.radial_basis_function import * from idaes.surrogate.pysmo import sampling as sp diff --git a/idaes_examples/notebooks/docs/surrogates/pysmo/rbf_three_hump_function.py b/idaes_examples/notebooks/docs/surrogates/pysmo/rbf_three_hump_function.py index 787c38e9..722771ab 100644 --- a/idaes_examples/notebooks/docs/surrogates/pysmo/rbf_three_hump_function.py +++ b/idaes_examples/notebooks/docs/surrogates/pysmo/rbf_three_hump_function.py @@ -3,12 +3,13 @@ # Framework (IDAES IP) was produced under the DOE Institute for the # Design of Advanced Energy Systems (IDAES). # -# Copyright (c) 2018-2023 by the software owners: The Regents of the +# Copyright (c) 2018-2025 by the software owners: The Regents of the # University of California, through Lawrence Berkeley National Laboratory, # National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon # University, West Virginia University Research Corporation, et al. # All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md # for full copyright and license information. +# ################################################################################# from idaes.surrogate.pysmo.radial_basis_function import * from idaes.surrogate.pysmo import sampling as sp diff --git a/idaes_examples/notebooks/docs/surrogates/pysmo/sampling_examples.py b/idaes_examples/notebooks/docs/surrogates/pysmo/sampling_examples.py index 5cc13b71..231d01c6 100644 --- a/idaes_examples/notebooks/docs/surrogates/pysmo/sampling_examples.py +++ b/idaes_examples/notebooks/docs/surrogates/pysmo/sampling_examples.py @@ -3,12 +3,13 @@ # Framework (IDAES IP) was produced under the DOE Institute for the # Design of Advanced Energy Systems (IDAES). # -# Copyright (c) 2018-2023 by the software owners: The Regents of the +# Copyright (c) 2018-2025 by the software owners: The Regents of the # University of California, through Lawrence Berkeley National Laboratory, # National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon # University, West Virginia University Research Corporation, et al. # All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md # for full copyright and license information. +# ################################################################################# import pandas as pd diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/alamo_training.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/alamo_training.ipynb index 66cd6539..8cf4add0 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/alamo_training.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/alamo_training.ipynb @@ -1,5 +1,32 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "989102e4", + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "code", "execution_count": null, @@ -55,19 +82,7 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "from IPython.display import Image\n", "from pathlib import Path\n", @@ -165,118 +180,7 @@ "cell_type": "code", "execution_count": 4, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " ***************************************************************************\n", - " ALAMO version 2023.2.13. Built: WIN-64 Mon Feb 13 21:30:56 EST 2023\n", - "\n", - " If you use this software, please cite:\n", - " Cozad, A., N. V. Sahinidis and D. C. Miller,\n", - " Automatic Learning of Algebraic Models for Optimization,\n", - " AIChE Journal, 60, 2211-2227, 2014.\n", - "\n", - " ALAMO is powered by the BARON software from http://www.minlp.com/\n", - " ***************************************************************************\n", - " Licensee: Javal Vyas at Carnegie Mellon University, jvyas@andrew.cmu.edu.\n", - " ***************************************************************************\n", - " Reading input data\n", - " Checking input consistency and initializing data structures\n", - " \n", - " Step 0: Initializing data set\n", - " User provided an initial data set of 400 data points\n", - " We will sample no more data points at this stage\n", - " ***************************************************************************\n", - " Iteration 1 (Approx. elapsed time 0.62E-01 s)\n", - " \n", - " Step 1: Model building using BIC\n", - " \n", - " Model building for variable CO2SM_CO2_Enthalpy\n", - " ----\n", - " BIC = 0.750E+04 with CO2SM_CO2_Enthalpy = - 0.38E+06\n", - " ----\n", - " BIC = 0.569E+04 with CO2SM_CO2_Enthalpy = 58. * CO2SM_Temperature - 0.42E+06\n", - " ----\n", - " BIC = 0.542E+04 with CO2SM_CO2_Enthalpy = 55. * CO2SM_Temperature - 0.61E+05 * CO2SM_Pressure/CO2SM_Temperature - 0.41E+06\n", - " ----\n", - " BIC = 0.516E+04 with CO2SM_CO2_Enthalpy = 49. * CO2SM_Temperature + 4.0 * CO2SM_Pressure^2 - 0.15E+06 * CO2SM_Pressure/CO2SM_Temperature - 0.41E+06\n", - " ----\n", - " BIC = 0.502E+04 with CO2SM_CO2_Enthalpy = 0.16E+03 * CO2SM_Temperature - 0.16 * CO2SM_Temperature^2 + 0.76E-04 * CO2SM_Temperature^3 - 0.56E+05 * CO2SM_Pressure/CO2SM_Temperature - 0.44E+06\n", - " ----\n", - " BIC = 0.484E+04 with CO2SM_CO2_Enthalpy = 0.14E+03 * CO2SM_Temperature + 2.5 * CO2SM_Pressure^2 - 0.14 * CO2SM_Temperature^2 + 0.66E-04 * CO2SM_Temperature^3 - 0.11E+06 * CO2SM_Pressure/CO2SM_Temperature - 0.43E+06\n", - " \n", - " Model building for variable CO2SM_CO2_Entropy\n", - " ----\n", - " BIC = 0.219E+04 with CO2SM_CO2_Entropy = - 0.48E+03 * CO2SM_Pressure/CO2SM_Temperature\n", - " ----\n", - " BIC = 0.147E+04 with CO2SM_CO2_Entropy = 1.9 * CO2SM_Pressure - 0.15E+04 * CO2SM_Pressure/CO2SM_Temperature\n", - " ----\n", - " BIC = 0.115E+04 with CO2SM_CO2_Entropy = 0.77E-01 * CO2SM_Temperature - 0.38E+03 * CO2SM_Pressure/CO2SM_Temperature - 50.\n", - " ----\n", - " BIC = 713. with CO2SM_CO2_Entropy = 0.20 * CO2SM_Temperature - 0.94E-04 * CO2SM_Temperature^2 - 0.34E+03 * CO2SM_Pressure/CO2SM_Temperature - 89.\n", - " ----\n", - " BIC = 443. with CO2SM_CO2_Entropy = 0.52 * CO2SM_Temperature - 0.60E-03 * CO2SM_Temperature^2 + 0.26E-06 * CO2SM_Temperature^3 - 0.34E+03 * CO2SM_Pressure/CO2SM_Temperature - 0.15E+03\n", - " ----\n", - " BIC = 317. with CO2SM_CO2_Entropy = 0.54 * CO2SM_Temperature - 0.63E-03 * CO2SM_Temperature^2 + 0.27E-06 * CO2SM_Temperature^3 - 0.26E+03 * CO2SM_Pressure/CO2SM_Temperature + 0.79E-01 * CO2SM_Temperature/CO2SM_Pressure - 0.16E+03\n", - " ----\n", - " BIC = 259. with CO2SM_CO2_Entropy = 0.47 * CO2SM_Temperature + 0.15E-01 * CO2SM_Pressure^2 - 0.53E-03 * CO2SM_Temperature^2 + 0.23E-06 * CO2SM_Temperature^3 - 0.70E-03 * CO2SM_Pressure*CO2SM_Temperature - 0.46E+03 * CO2SM_Pressure/CO2SM_Temperature - 0.13E+03\n", - " ----\n", - " BIC = 240. with CO2SM_CO2_Entropy = - 2.1 * CO2SM_Pressure + 0.55 * CO2SM_Temperature + 0.76E-01 * CO2SM_Pressure^2 - 0.63E-03 * CO2SM_Temperature^2 - 0.94E-03 * CO2SM_Pressure^3 + 0.27E-06 * CO2SM_Temperature^3 - 0.23E+03 * CO2SM_Pressure/CO2SM_Temperature - 0.15E+03\n", - " ----\n", - " BIC = 224. with CO2SM_CO2_Entropy = - 1.9 * CO2SM_Pressure + 0.49 * CO2SM_Temperature + 0.83E-01 * CO2SM_Pressure^2 - 0.57E-03 * CO2SM_Temperature^2 - 0.10E-02 * CO2SM_Pressure^3 + 0.25E-06 * CO2SM_Temperature^3 - 0.73E-08 * (CO2SM_Pressure*CO2SM_Temperature)^2 - 0.36E+03 * CO2SM_Pressure/CO2SM_Temperature - 0.13E+03\n", - " ----\n", - " BIC = 193. with CO2SM_CO2_Entropy = - 3.9 * CO2SM_Pressure + 0.52 * CO2SM_Temperature + 0.17 * CO2SM_Pressure^2 - 0.56E-03 * CO2SM_Temperature^2 - 0.21E-02 * CO2SM_Pressure^3 + 0.24E-06 * CO2SM_Temperature^3 - 0.10E-02 * CO2SM_Pressure*CO2SM_Temperature - 0.36E+03 * CO2SM_Pressure/CO2SM_Temperature - 0.20 * CO2SM_Temperature/CO2SM_Pressure - 0.12E+03\n", - " \n", - " Calculating quality metrics on observed data set.\n", - " \n", - " Quality metrics for output CO2SM_CO2_Enthalpy\n", - " ---------------------------------------------\n", - " SSE OLR: 0.515E+08\n", - " SSE: 0.659E+08\n", - " RMSE: 406.\n", - " R2: 0.999\n", - " R2 adjusted: 0.999\n", - " Model size: 6\n", - " BIC: 0.484E+04\n", - " Cp: 0.659E+08\n", - " AICc: 0.482E+04\n", - " HQC: 0.483E+04\n", - " MSE: 0.168E+06\n", - " SSEp: 0.659E+08\n", - " RIC: 0.659E+08\n", - " MADp: 0.594\n", - " \n", - " Quality metrics for output CO2SM_CO2_Entropy\n", - " --------------------------------------------\n", - " SSE OLR: 541.\n", - " SSE: 558.\n", - " RMSE: 1.18\n", - " R2: 0.997\n", - " R2 adjusted: 0.997\n", - " Model size: 10\n", - " BIC: 193.\n", - " Cp: 178.\n", - " AICc: 154.\n", - " HQC: 169.\n", - " MSE: 1.43\n", - " SSEp: 558.\n", - " RIC: 606.\n", - " MADp: 0.130E+04\n", - " \n", - " Total execution time 0.52 s\n", - " Times breakdown\n", - " OLR time: 0.30 s in 3863 ordinary linear regression problem(s)\n", - " MINLP time: 0.0 s in 0 optimization problem(s)\n", - " Simulation time: 0.0 s to simulate 0 point(s)\n", - " All other time: 0.22 s in 1 iteration(s)\n", - " \n", - " Normal termination\n", - " ***************************************************************************\n" - ] - } - ], + "outputs": [], "source": [ "# Create ALAMO trainer object\n", "has_alamo = alamo.available()\n", @@ -332,108 +236,7 @@ "cell_type": "code", "execution_count": 5, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmEAAAHHCAYAAAD3WI8lAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAACoz0lEQVR4nO2deVxU1fvHP8OqIAyyKJAouK8tauFomRqJ5ZJhiZnlbppY7mbuVl/T3NP0W7llWmpSmZaJS31Lka9pZn5TS364haigDCoqCPf3B811Zpjl3pm7nDvzvF8vX8Lcy51zzz33nM95nuc8R8dxHAeCIAiCIAhCUXzULgBBEARBEIQ3QiKMIAiCIAhCBUiEEQRBEARBqACJMIIgCIIgCBUgEUYQBEEQBKECJMIIgiAIgiBUgEQYQRAEQRCECpAIIwiCIAiCUAESYQRBEARBECpAIowgCIJwyNq1a6HT6XDmzBm1i0IQHgWJMIIgVOfQoUNIS0tDs2bNEBwcjNq1a6N37974888/K53boUMH6HQ66HQ6+Pj4IDQ0FI0aNcJLL72EjIwMUd/7zTff4PHHH0eNGjUQFBSEunXronfv3ti5c6dUt1aJf/3rX/jqq68qfX7gwAHMnDkThYWFsn23NTNnzuTrUqfTISgoCE2bNsXUqVNRVFQkyXds3LgRixcvluRaBOFpkAgjCEJ15s6di61bt+KJJ57AkiVLMGzYMPznP/9By5Ytcfz48Urn16pVC+vXr8cnn3yC9957Dz169MCBAwfQuXNnpKamorS01Ol3zp8/Hz169IBOp8PkyZOxaNEi9OrVC3/99Rc+//xzOW4TgGMRNmvWLEVFmIkVK1Zg/fr1WLhwIRo3box33nkHXbp0gRRbC5MIIwj7+KldAIIgiLFjx2Ljxo0ICAjgP0tNTUWLFi3w7rvv4tNPP7U4X6/Xo1+/fhafvfvuu3jttdfwwQcfID4+HnPnzrX7fXfv3sVbb72FJ598Ert27ap0/PLly27eETsUFxcjKCjI4TnPPfccIiMjAQDDhw9Hr169kJ6ejoMHD8JgMChRTILwSsgSRhCE6rRt29ZCgAFAgwYN0KxZM5w4cULQNXx9fbF06VI0bdoUy5Ytg9FotHtufn4+ioqK0K5dO5vHa9SoYfH77du3MXPmTDRs2BBVqlRBTEwMUlJSkJ2dzZ8zf/58tG3bFhEREahatSpatWqFL774wuI6Op0ON2/exLp163gX4IABAzBz5kxMmDABAJCQkMAfM4/B+vTTT9GqVStUrVoV4eHh6NOnD86fP29x/Q4dOqB58+Y4fPgw2rdvj6CgILz55puC6s+cTp06AQBycnIcnvfBBx+gWbNmCAwMRGxsLEaOHGlhyevQoQN27NiBs2fP8vcUHx8vujwE4amQJYwgCCbhOA6XLl1Cs2bNBP+Nr68vXnjhBUybNg0///wzunbtavO8GjVqoGrVqvjmm28watQohIeH271mWVkZunXrhj179qBPnz54/fXXcf36dWRkZOD48eOoV68eAGDJkiXo0aMHXnzxRZSUlODzzz/H888/j+3bt/PlWL9+PYYMGYJHHnkEw4YNAwDUq1cPwcHB+PPPP/HZZ59h0aJFvFUqKioKAPDOO+9g2rRp6N27N4YMGYIrV67g/fffR/v27fHrr78iLCyML29BQQGeeuop9OnTB/369UPNmjUF158Jk7iMiIiwe87MmTMxa9YsJCUlYcSIETh16hRWrFiBQ4cOYf/+/fD398eUKVNgNBpx4cIFLFq0CABQrVo10eUhCI+FIwiCYJD169dzALhVq1ZZfP74449zzZo1s/t3X375JQeAW7JkicPrT58+nQPABQcHc0899RT3zjvvcIcPH6503urVqzkA3MKFCysdKy8v538uLi62OFZSUsI1b96c69Spk8XnwcHBXP/+/Std67333uMAcDk5ORafnzlzhvP19eXeeecdi89///13zs/Pz+Lzxx9/nAPArVy50u59mzNjxgwOAHfq1CnuypUrXE5ODvfvf/+bCwwM5GrWrMndvHmT4ziOW7NmjUXZLl++zAUEBHCdO3fmysrK+OstW7aMA8CtXr2a/6xr165cnTp1BJWHILwNckcSBMEcJ0+exMiRI2EwGNC/f39Rf2uytFy/ft3hebNmzcLGjRvx0EMP4fvvv8eUKVPQqlUrtGzZ0sIFunXrVkRGRmLUqFGVrqHT6fifq1atyv987do1GI1GPPbYYzhy5Iio8luTnp6O8vJy9O7dG/n5+fy/6OhoNGjQAPv27bM4PzAwEAMHDhT1HY0aNUJUVBQSEhLwyiuvoH79+tixY4fdWLLdu3ejpKQEo0ePho/PvWFk6NChCA0NxY4dO8TfKEF4IeSOJAiCKfLy8tC1a1fo9Xp88cUX8PX1FfX3N27cAACEhIQ4PfeFF17ACy+8gKKiImRlZWHt2rXYuHEjunfvjuPHj6NKlSrIzs5Go0aN4OfnuLvcvn073n77bRw9ehR37tzhPzcXaq7w119/geM4NGjQwOZxf39/i9/vu+++SvF1zti6dStCQ0Ph7++PWrVq8S5We5w9exZAhXgzJyAgAHXr1uWPEwThGBJhBEEwg9FoxFNPPYXCwkL89NNPiI2NFX0NU0qL+vXrC/6b0NBQPPnkk3jyySfh7++PdevWISsrC48//rigv//pp5/Qo0cPtG/fHh988AFiYmLg7++PNWvWYOPGjaLvwZzy8nLodDp89913NgWpdYyVuUVOKO3bt+fj0AiCUA4SYQRBMMHt27fRvXt3/Pnnn9i9ezeaNm0q+hplZWXYuHEjgoKC8Oijj7pUjtatW2PdunW4ePEigIrA+aysLJSWllayOpnYunUrqlSpgu+//x6BgYH852vWrKl0rj3LmL3P69WrB47jkJCQgIYNG4q9HVmoU6cOAODUqVOoW7cu/3lJSQlycnKQlJTEf+auJZAgPBmKCSMIQnXKysqQmpqKzMxMbNmyxaXcVGVlZXjttddw4sQJvPbaawgNDbV7bnFxMTIzM20e++677wDcc7X16tUL+fn5WLZsWaVzuX+Smfr6+kKn06GsrIw/dubMGZtJWYODg20mZA0ODgaASsdSUlLg6+uLWbNmVUqeynEcCgoKbN+kjCQlJSEgIABLly61KNOqVatgNBotVqUGBwc7TBdCEN4MWcIIglCdcePGYdu2bejevTuuXr1aKTmrdWJWo9HIn1NcXIzTp08jPT0d2dnZ6NOnD9566y2H31dcXIy2bduiTZs26NKlC+Li4lBYWIivvvoKP/30E3r27ImHHnoIAPDyyy/jk08+wdixY/Hf//4Xjz32GG7evIndu3fj1VdfxTPPPIOuXbti4cKF6NKlC/r27YvLly9j+fLlqF+/Po4dO2bx3a1atcLu3buxcOFCxMbGIiEhAYmJiWjVqhUAYMqUKejTpw/8/f3RvXt31KtXD2+//TYmT56MM2fOoGfPnggJCUFOTg6+/PJLDBs2DOPHj3er/sUSFRWFyZMnY9asWejSpQt69OiBU6dO4YMPPsDDDz9s8bxatWqFTZs2YezYsXj44YdRrVo1dO/eXdHyEgSzqLk0kyAIguPupVaw98/RudWqVeMaNGjA9evXj9u1a5eg7ystLeU++ugjrmfPnlydOnW4wMBALigoiHvooYe49957j7tz547F+cXFxdyUKVO4hIQEzt/fn4uOjuaee+45Ljs7mz9n1apVXIMGDbjAwECucePG3Jo1a/gUEOacPHmSa9++PVe1alUOgEW6irfeeou77777OB8fn0rpKrZu3co9+uijXHBwMBccHMw1btyYGzlyJHfq1CmLunGUvsMaU/muXLni8DzrFBUmli1bxjVu3Jjz9/fnatasyY0YMYK7du2axTk3btzg+vbty4WFhXEAKF0FQZih4zgJNgcjCIIgCIIgREExYQRBEARBECpAIowgCIIgCEIFSIQRBEEQBEGoAIkwgiAIgiAIFSARRhAEQRAEoQIkwgiCIAiCIFSAkrUyTHl5OXJzcxESEkJbfxAEQRCERuA4DtevX0dsbCx8fOzbu0iEMUxubi7i4uLULgZBEARBEC5w/vx51KpVy+5xEmEMExISAqDiITraB48gCIIgCHYoKipCXFwcP47bg0QYw5hckKGhoSTCCIIgCEJjOAslosB8giAIgiAIFSARRhAEQRAEoQIkwgiCIAiCIFSARBhBEARBEIQKkAgjCIIgCIJQARJhBEEQBEEQKkAijCAIgiAIQgVIhBEEQRAEQagAiTCCIAiCIAgVIBFGEARBEAShAiTCCIIgCIIgVEAzIqxHjx6oXbs2qlSpgpiYGLz00kvIzc21OIfjOMyfPx8NGzZEYGAg7rvvPrzzzjsW5/zwww9o2bIlAgMDUb9+faxdu7bSdy1fvhzx8fGoUqUKEhMT8d///tfi+O3btzFy5EhERESgWrVq6NWrFy5dumRxzrlz59C1a1cEBQWhRo0amDBhAu7evStNZRCycOECsG9fxf8EQRAEITeaEWEdO3bE5s2bcerUKWzduhXZ2dl47rnnLM55/fXX8fHHH2P+/Pk4efIktm3bhkceeYQ/npOTg65du6Jjx444evQoRo8ejSFDhuD777/nz9m0aRPGjh2LGTNm4MiRI3jggQeQnJyMy5cv8+eMGTMG33zzDbZs2YIff/wRubm5SElJ4Y+XlZWha9euKCkpwYEDB7Bu3TqsXbsW06dPl7GGlMcTREtBQQEuXryIBQsKUacOh06dgDp1OCxYUIiLFy+ioKBA7SISBOEG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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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4uKQmpqKwYMH4+DBgz7b/Pnnn5gwYQKSkpLQuHFjDB06FMePHzdpxGwi5zz27t273jV51113mTRiNnnppZfQuXNnT4G93NxcbNy40fM5XYvSSJ1Ds69DEj5hyNmzZ3HZZZfhhRdeEPx83rx5ePbZZ/Hyyy9j586daNSoEfr164c///zT4JGyjdR5BID+/fujrKzM89/bb79t4AitwZdffokJEyZgx44d2Lx5M2pqatC3b1+cPXvWs83999+PDz/8EO+++y6+/PJLlJaWYsiQISaOmj3knEcAGDt2rM81OW/ePJNGzCYZGRl46qmnsGvXLnz33Xfo06cP/v73v+Onn34CQNeiHKTOIWDydcgRYQ0A7v333/e8drlcXLNmzbj58+d73isvL+diYmK4t99+24QRWgP/88hxHDdy5Eju73//uynjsTInTpzgAHBffvklx3Hu6y8qKop79913Pdvs37+fA8Bt377drGEyj/955DiOu+aaa7j77rvPvEFZlCZNmnCvv/46XYtBwJ9DjjP/OiSLD+FDUVERjh07hry8PM97drsd3bp1w/bt200cmTX54osvkJqainbt2uHuu++Gw+Ewe0jM43Q6AQCJiYkAgF27dqGmpsbnmmzfvj1atmxJ12QA/M8jz1tvvYXk5GR06tQJ06dPR1VVlRnDswR1dXV45513cPbsWeTm5tK1qAL/c8hj5nVITUoJH44dOwYAaNq0qc/7TZs29XxGyKN///4YMmQIsrKycPjwYfzf//0fbrjhBmzfvh2RkZFmD49JXC4XJk2ahJ49e6JTp04A3NdkdHQ0EhISfLala1IcofMIAMOHD0erVq2Qnp6OvXv3Ytq0aTh48CDWrVtn4mjZ48cff0Rubi7+/PNPNG7cGO+//z46dOiAPXv20LUoE7FzCJh/HZLwIQiduPXWWz3/vvTSS9G5c2dkZ2fjiy++wHXXXWfiyNhlwoQJ2LdvH7755huzh2JpxM7juHHjPP++9NJLkZaWhuuuuw6HDx9Gdna20cNklnbt2mHPnj1wOp147733MHLkSHz55ZdmD8tSiJ3DDh06mH4dkquL8KFZs2YAUC9L4fjx457PCHW0bt0aycnJOHTokNlDYZKJEydiw4YN2LJlCzIyMjzvN2vWDNXV1SgvL/fZnq5JYcTOoxDdunUDALom/YiOjkabNm2Qk5ODOXPm4LLLLsMzzzxD16ICxM6hEEZfhyR8CB+ysrLQrFkzfPbZZ573KioqsHPnTh//LKGckpISOBwOpKWlmT0UpuA4DhMnTsT777+Pzz//HFlZWT6f5+TkICoqyueaPHjwIH777Te6Jr2QOo9C7NmzBwDompTA5XLh/PnzdC0GAX8OhTD6OiRXVxhy5swZH2VdVFSEPXv2IDExES1btsSkSZPwxBNPoG3btsjKysIjjzyC9PR0DB482LxBM0ig85iYmIjZs2dj6NChaNasGQ4fPoypU6eiTZs26Nevn4mjZo8JEyZg1apV+M9//oO4uDhPrITdbkdsbCzsdjsKCgowefJkJCYmIj4+Hvfccw9yc3PRvXt3k0fPDlLn8fDhw1i1ahVuvPFGJCUlYe/evbj//vvRq1cvdO7c2eTRs8P06dNxww03oGXLlqisrMSqVavwxRdf4NNPP6VrUSaBziET16Fp+WSEaWzZsoUDUO+/kSNHchznTml/5JFHuKZNm3IxMTHcddddxx08eNDcQTNIoPNYVVXF9e3bl0tJSeGioqK4Vq1acWPHjuWOHTtm9rCZQ+gcAuCWLVvm2ebcuXPcv/71L65JkyZcw4YNuX/84x9cWVmZeYNmEKnz+Ntvv3G9evXiEhMTuZiYGK5NmzbclClTOKfTae7AGWP06NFcq1atuOjoaC4lJYW77rrruE2bNnk+p2tRmkDnkIXr0MZxHGeMxCIIgiAIgjAXivEhCIIgCCJsIOFDEARBEETYQMKHIAiCIIiwgYQPQRAEQRBhAwkfgiAIgiDCBhI+BEEQBEGEDSR8CIIgCIIIG0j4EARBEAQRNpDwIQjCh2PHjuGee+5B69atERMTgxYtWmDQoEE+/Ym2bduGG2+8EU2aNMFFF12ESy+9FAsXLkRdXZ1nm+LiYhQUFCArKwuxsbHIzs7GrFmzUF1d7fN9r732Gi677DI0btwYCQkJuOKKKzBnzhzP548++ihsNhv69+9fb6zz58+HzWZD7969ZR0bvy+bzYYGDRogMzMT999/P86cOaPwLBEEYVWoVxdBEB6Ki4vRs2dPJCQkYP78+bj00ktRU1ODTz/9FBMmTMCBAwfw/vvvY9iwYbjzzjuxZcsWJCQkoLCwEFOnTsX27duxZs0a2Gw2HDhwAC6XC6+88gratGmDffv2YezYsTh79iwWLFgAAFi6dCkmTZqEZ599Ftdccw3Onz+PvXv3Yt++fT7jSktLw5YtW1BSUuLTcXzp0qVo2bKlomPs2LEjCgsLUVtbi61bt2L06NGoqqrCK6+8Um/b6upqREdHqziT+sHimAjCUhjWHIMgCOa54YYbuObNm3Nnzpyp99kff/zBnTlzhktKSuKGDBlS7/P169dzALh33nlHdP/z5s3jsrKyPK///ve/c6NGjQo4plmzZnGXXXYZN3DgQO6JJ57wvL9161YuOTmZu/vuu7lrrrlGxtFd2Jc3Y8eO5Zo1a+bz+WuvvcZlZmZyNpuN4zj3sRcUFHDJyclcXFwcd+2113J79uzx7GPPnj1c7969ucaNG3NxcXFcly5duG+//ZbjOI4rLi7mBg4cyCUkJHANGzbkOnTowH300Uccx3HcsmXLOLvd7jOe999/n/OemtWOiSAIYcjVRRAEAOD06dP45JNPMGHCBDRq1Kje5wkJCdi0aRMcDgcefPDBep8PGjQIF198Md5++23R73A6nUhMTPS8btasGXbs2IEjR45Ijm/06NFYvny55/XSpUtx++23B239iI2N9XG/HTp0CGvXrsW6deuwZ88eAMAtt9yCEydOYOPGjdi1axe6dOmC6667DqdPnwYA3H777cjIyMC3336LXbt24aGHHkJUVBQAd9f08+fP46uvvsKPP/6IuXPnonHjxorGqGZMBEEIQ64ugiAAuBdXjuPQvn170W1+/vlnAMAll1wi+Hn79u092wjt/7nnnvO4uQBg1qxZGDJkCDIzM3HxxRcjNzcXN954I26++WZERPg+lw0cOBB33XUXvvrqK+Tk5GDNmjX45ptvsHTpUqWH6mHXrl1YtWoV+vTp43mvuroab7zxBlJSUgAA33zzDf773//ixIkTiImJAQAsWLAAH3zwAd577z2MGzcOv/32G6ZMmeI5d23btvXs77fffsPQoUNx6aWXAgBat26teJxqxkQQhDAkfAiCAABwHKfLtgDw+++/o3///rjlllswduxYz/tpaWnYvn079u3bh6+++grbtm3DyJEj8frrr+OTTz7xET9RUVEYMWIEli1bhl9//RUXX3wxOnfurGgcAPDjjz+icePGqKurQ3V1NQYMGIDnn3/e83mrVq08AgMAfvjhB5w5cwZJSUk++zl37hwOHz4MAJg8eTLGjBmDlStXIi8vD7fccguys7MBAPfeey/uvvtubNq0CXl5eRg6dKjicasZE0EQwpDwIQgCgNtKwQcli3HxxRcDAPbv348ePXrU+3z//v3o0KGDz3ulpaW49tpr0aNHD7z66quC++3UqRM6deqEf/3rX7jrrrtw9dVX48svv8S1117rs93o0aPRrVs37Nu3D6NHj1Z6iACAdu3aYf369WjQoAHS09Prucr83XxnzpxBWloavvjii3r7SkhIAODOFhs+fDg++ugjbNy4EbNmzcI777yDf/zjHxgzZgz69euHjz76CJs2bcKcOXPw9NNP45577kFEREQ9EVlTU1Pve9SMiSAIYSjGhyAIAEBiYiL69euHF154AWfPnq33eXl5Ofr27YvExEQ8/fTT9T5fv349fvnlF9x2222e937//Xf07t0bOTk5WLZsWT33lRC8cBIaQ8eOHdGxY0fs27cPw4cPV3J4HqKjo9GmTRtkZmbKig/q0qULjh07hgYNGqBNmzY+/yUnJ3u2u/jii3H//fdj06ZNGDJkCJYtW+b5rEWLFrjrrruwbt06PPDAA3jttdcAACkpKaisrPQ5Vj6GR4sxEQRRHxI+BEF4eOGFF1BXV4errroKa9euxS+//IL9+/fj2WefRW5uLho1aoRXXnkF//nPfzBu3Djs3bsXxcXFWLJkCUaNGoWbb74Zw4YNA3BB9LRs2RILFizAyZMncezYMRw7dszzfXfffTcef/xxbN26FUeOHMGOHTtwxx13ICUlBbm5uYJj/Pzzz1FWVmaYZSMvLw+5ubkYPHgwNm3ahOLiYmzbtg0zZszAd999h3PnzmHixIn44osvcOTIEWzduhXffvutJw5q0qRJ+PTTT1FUVITdu3djy5Ytns+6deuGhg0b4v/+7/9w+PBhrFq1yieAW+2YCIIQh1xdBEF4aN26NXbv3o0nn3wSDzzwAMrKypCSkoKcnBy89NJLAICbb74ZW7ZswZNPPomrr74af/75J9q2bYsZM2Zg0qRJsNlsAIDNmzfj0KFDOHTokE/tHeBCjFBeXh6WLl2Kl156CQ6HA8nJycjNzcVnn31WL36FRyjjTE9sNhs+/vhjzJgxA3feeSdOnjyJZs2aoVevXmjatCkiIyPhcDhwxx134Pjx40hOTsaQIUMwe/ZsAEBdXR0mTJiAkpISxMfHo3///li0aBEAt5XtzTffxJQpU/Daa6/huuuuw6OPPioZnCw1JoIgxLFxSqMUCYIgCIIgLAq5ugiCIAiCCBtI+BAEETI0btxY9L+vv/7a7OERBMEA5OoiCCJkOHTokOhnzZs3R2xsrIGjIQiCRUj4EARBEAQRNpCriyAIgiCIsIGED0EQBEEQYQMJH4IgCIIgwgYSPgRBEARBhA0kfAiCIAiCCBtI+BAEQRAEETaQ8CEIgiAIImwg4UMQBEEQRNjw/4yQWz4vK+05AAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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FKNGjRL10Dlw4ADuvfdetGrVCi1atMDtt9+OlStXoqqqij8mJycHycnJCA8Ph7u7OyIiIrBgwQKUl5eLvu/dd99Fjx490LJlS/j4+KBnz558s0oAWLhwITQaDYYNG2Yx1uXLl0Oj0WDAgAFWryssLAwajUb216RJk2y/WY3cgAEDkJqa2tDDIKRZcG7oARBC7C8nJwf9+vWDj48Pli9fjttvvx0VFRX49ttvMW3aNPz555/4/PPPkZiYiEceeQR79+6Fj48P0tPTMXv2bGRkZGDLli3QaDT4888/YTQa8c4776Bjx47IysrCo48+imvXrmHFihUAgPfffx+pqal49dVXcffdd+PmzZs4fvw4srKyROMKCgrC3r17kZeXh5CQEP71999/H+3atVN1bb/++isfmB04cABjxozBqVOn4O3tDQBwd3e3xy2sFxUVFXBxcam37ysvL4erq2u9fR8hjZJdGl8QQhqV4cOHs7Zt27KrV69avHflyhV29epV5ufnxxISEize37FjBwPAPv30U9nzv/zyyyw8PJz/+d///jebNGmS4pgWLFjAevTowUaOHMleeOEF/vX9+/czf39/9sQTT7C7775bxdVV43oGXblyhX/tiy++YD179mRubm4sPDycLVy4UNT/CgB7++232YgRI5i7uzvr0qULO3DgADt9+jS7++67mYeHB4uLixP1X+PG/vbbb7OQkBDm7u7O7r//flE/JsYYe/fdd1mXLl2Ym5sb69y5M3vjjTf497Kzs/n72r9/f+bm5sbWr1/PLl++zB544AEWHBzM3N3dWVRUFNu0aRP/uYkTJ1r0RMrOzmbr169nOp1O9P2ff/45E/7fOjfud999l4WFhTGNRsMYM/0dSE5OZv7+/szLy4sNHDiQHT161KZ7T0hTRUtdhDQzRUVF+OabbzBt2jR4enpavO/j44M9e/ZAr9fj6aeftnh/1KhR6NSpEz755BPZ7zAYDPD19eV/btOmDQ4ePIhz585ZHd/kyZOxYcMG/uf3338f48ePt8tMxE8//YSHH34Y06dPxx9//IF33nkHGzZswIsvvig6bvHixXj44Ydx9OhRdOnSBePGjcNjjz2GuXPn4rfffgNjDCkpKaLPnDlzBlu2bMHOnTvxzTff4MiRI/jvf//Lv//xxx9j/vz5ePHFF3Hy5Em89NJLeO655/DBBx+IzvPMM89g+vTpOHnyJIYOHYobN24gJiYGX331FbKysjB16lQ89NBD+OWXXwAAa9asQVxcHB599FEUFBSgoKAAoaGhqu/JmTNnsG3bNmzfvh1Hjx4FANx///24ePEidu/ejUOHDiE6Ohr33HMPioqKbLndhDRNDR15EULsKzMzkwFg27dvlz1m6dKlFjMlQqNHj2a33Xab5HunT59m3t7eom7s+fn5rE+fPgwA69SpE5s4cSLbvHkzq6qq4o/hZh/Ky8tZQEAA27dvH7t69Srz8vJix44dY9OnT6/1jM8999zDXnrpJdExGzduZEFBQfzPANizzz7L/5yRkcEAsHXr1vGvffLJJ6xFixaisTs5ObG8vDz+td27dzOtVst3XI+IiBDN1DDG2OLFi1lcXBxjrHrGZ/Xq1Vava8SIEWzmzJn8z3fffTebPn266Bi1Mz4uLi7s4sWL/Gs//fQT8/b2Zjdu3BB9NiIigr3zzjtWx0ZIU0c5PoQ0M4yxOjkWAM6fP49hw4bh/vvvx6OPPsq/HhQUhIyMDGRlZeHHH3/EgQMHMHHiRLz33nv45ptvoNVWTy67uLhgwoQJWL9+Pf7++2906tQJ3bt3t2kcco4dO4b9+/eLZniqqqpw48YNlJWVwcPDAwBE3xcYGAgAuP3220Wv3bhxAyUlJXzuULt27dC2bVv+mLi4OBiNRpw6dQpeXl44e/YskpOTRfelsrISOp1ONMZevXqJfq6qqsJLL72ELVu24Pz58ygvL8fNmzf5sdZW+/bt0bp1a/7nY8eO4erVq/Dz8xMdd/36dZw9e9Yu30lIY0aBDyHNTGRkJJ+ULKdTp04AgJMnT6Jv374W7588eRJdu3YVvZafn4+BAweib9++WLt2reR5o6KiEBUVhf/+9794/PHHcdddd2Hfvn0YOHCg6LjJkycjNjYWWVlZmDx5sq2XKOvq1atYtGgREhISLN5r0aIF/3thQrFGo5F9zWg0qv5ewLSzLTY2VvSek5OT6Gfz5cfly5djzZo1WL16NW6//XZ4enoiNTXVYtecOa1WaxG4VlRUWBxn/n1Xr15FUFAQfvjhB4tjfXx8FL+TkOaAAh9CmhlfX18MHToUb7zxBp566imLB19xcTGGDBkCX19fvPLKKxaBz44dO3D69GksXryYf+38+fMYOHAgYmJisH79etEMjhwucLp27ZrFe926dUO3bt1w/PhxjBs3riaXKSk6OhqnTp1Cx44d7XZOzj///IP8/HwEBwcDAA4ePAitVovOnTsjMDAQwcHB+PvvvzF+/Hibzrt//378+9//xoQJEwCYgq2//vpLFHi6urqKSgwAQOvWrVFaWopr167xf8ZcDo+S6OhoFBYWwtnZGWFhYTaNlZDmgAIfQpqhN954A/369cOdd96J559/Ht27d0dlZSXS0tLw1ltv4eTJk3jnnXfwwAMPYOrUqUhJSYG3tze+++47zJo1C2PHjkViYiIAU9AzYMAAtG/fHitWrMClS5f472nTpg0A4IknnkBwcDAGDRqEkJAQFBQU4IUXXkDr1q0RFxcnOcbvv/8eFRUVdp1lmD9/PkaOHIl27dph7Nix0Gq1OHbsGLKysvDCCy/U6twtWrTAxIkTsWLFCpSUlOCpp55CYmIifw8WLVqEp556CjqdDsOGDcPNmzfx22+/4cqVK5gxY4bseSMjI7F161YcOHAArVq1wsqVK3HhwgVR4BMWFobMzEzk5OSgZcuW8PX1RWxsLDw8PPB///d/eOqpp5CZmSlKGpcTHx+PuLg43Pf/7d29aiJRGMbxR9IIWgkBg0JQwgTEsRACNn6BH2BlooG0Ae9AOy2mTjOdNoIWAS0t1EIZLGxSeQXTxCK3sVtFWEL2g11Y4/x/cKozHGa6h3neYep1PT09yTAMvb29abFY6Pb29kMVB5wavuoCTlA8Htdut1OxWFS73VYymVS5XJbjOBoMBpKkZrOpzWaj/X6vbDar6+tr2batbrer6XR6qHvW67Vc15XjOIpGo7q4uDisd6VSSS8vL7q/v5dhGGo0GvL7/XIc58MsybtAIPDPq5Vqtar5fK7VaqWbmxtlMhnZtq3Ly8u/Pvvq6kp3d3eq1WqqVCpKpVLq9/uH/VarpeFwqNFoJNM0lc/nNR6PFYvFfnpur9dTOp1WtVpVoVBQOBxWvV7/4ZpOp6OzszMlEgmdn59rv98rFArp+flZy+VSpmlqMpnIsqxfPofP59NyuVQul9Pj46MMw9DDw4NeX18P807AKfN9+9PpRgDwGMuyNJvNfqtKAnDceOMDAAA8g+AD4OgEg8FP13a7/d+3B+ALo+oCcHRc1/10LxKJfKn/cQE4LgQfAADgGVRdAADAMwg+AADAMwg+AADAMwg+AADAMwg+AADAMwg+AADAMwg+AADAMwg+AADAM74DHWoJY2tegQAAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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COnn86s0VcSVK1eE1NRUITo6WvDy8hIaNGggPPLII8KOHTu06+zevVtITk4WAgICBC8vL6Fly5bCe++9J9y/f1+7zooVK4yGg2v+NNatWycMGDBACA8PF7y8vISIiAhh6NChwrFjx7TraIadS3nuuedkD7sXBEEoKCgQZs+eLTRp0kTw8vIS6tevLyQlJQkbNmwQKioqtOsdO3ZMGDp0qBAcHCzUrFlTiIuLE1599VWhuLhYu45maLvYX1ZWltmyaIbdi/2tXr1acvs/+OADITo6Wvvvs2fPCp07dxZ8fHyMht3funVLu97hw4f1ypaVlSX07t1b8PHxESIjI4V//etfQs+ePYXnnntO+x6xYfeLFy8W/u///k/w9vYWYmJihDVr1hht2+3btwVfX19hypQpZveDLYbdq/4qHJlRWFiIwMBA7XBIIiJ7uXv3LrKyshAbG+uQ5hMie1KpVNiwYQMGDx5scr3s7GzExcXhwIEDePDBB02ua+qckXv/ZqdqIiIichplZWW4ceMGXn31VXTu3NlsMGQr7ENERET0F8NcPrp/v/32W5WXZ9KkSZLlmTRpUpWXpyrs3bsX4eHhOHDgAJYuXVpl38saIiIior8Y5u/R1aBBg6oryF9ef/110azeAFy2+4a5njq9evVSnMPJFhgQERER/cVULh9HqFevHurVq+foYrgFNpkRERGR22NARETkpOTmgiFyd7Y4V9hkRkTkZLy8vODh4YErV64gNDQUXl5edp3UkshVCYKAe/fu4fr16/Dw8ICXl5fFn8WAiIjIyXh4eCA2Nha5ubmiU0QQkT5fX19ERUXJmtpFCgMiIiIn5OXlhaioKNy/f9+iOaaI3IWnpydq1KhhdS0qAyIiIielUqlQs2ZNxTOfE5Fy7FRNREREbo8BEREREbk9BkRERETk9hgQERERkdtjQERERERujwERERERuT0GREREROT2GBARERGR22NARERERG6PARERERG5PQZERERE5PYYEBEREZHbY0BEREREbo8BEREREbk9BkRERETk9hgQERERkdtjQERERERujwERERERuT0GREREROT2GBARERGR22NARORgueoSpGfmI1dd4uiiEBG5rRqOLgCRO1tzIAdz1h9HhQB4qIC0lAQM7xDl6GIREbkd1hAROUiuukQbDAFAhQC8vP4Ea4qIiByAARGRg2TlF2uDIY1yQUB2/h3HFIiIyI0xICJykNgQP3io9F/zVKkQE+LrmAIREbkxBkREDhIe6IO0lAR4qiqjIk+VCm+ntEJ4oI+DS0ZE5H7YqZrIgYZ3iEKP+FBk599BTIgvgyEiIgdhQETkYOGBPgyEiIgcjE1mRERE5PYYEBEREZHbY0BEREREbo8BEREREbk9BkRERETk9hwaEKWlpaFDhw6oXbs26tWrh8GDB+Ps2bN669y9exepqamoW7cu/P39MXToUFy9elVvnZycHAwcOBC+vr6oV68eXnrpJdy/f19vnZ07d+LBBx+Et7c3GjdujJUrV9p784iIiMhFODQg2rVrF1JTU7Fv3z5s2bIFZWVl6Nu3L4qLi7XrPP/88/jhhx+wdu1a7Nq1C1euXEFKSop2eXl5OQYOHIh79+4hPT0d/+///T+sXLkSr732mnadrKwsDBw4EL1798aRI0cwffp0jB8/Hr/++muVbi8RERE5J5UgCIL51arG9evXUa9ePezatQs9evSAWq1GaGgoVq1ahWHDhgEAzpw5g+bNmyMjIwOdO3fGzz//jIcffhhXrlxB/fr1AQBLly7FrFmzcP36dXh5eWHWrFnYtGkTTpw4of2uESNGoKCgAL/88ousshUWFiIwMBBqtRoBAQG233giIiKyObn3b6fqQ6RWqwEAwcHBAICDBw+irKwMSUlJ2nWaNWuGqKgoZGRkAAAyMjKQkJCgDYYAIDk5GYWFhTh58qR2Hd3P0Kyj+QwxpaWlKCws1PsjIiKi6slpAqKKigpMnz4dXbt2RatWrQAAeXl58PLyQlBQkN669evXR15ennYd3WBIs1yzzNQ6hYWFKCkpES1PWloaAgMDtX+RkZFWbyMRERE5J6cJiFJTU3HixAl8/fXXji4KAGDOnDlQq9Xav4sXLzq6SERERGQnTjGX2dSpU/Hjjz9i9+7daNiwofb1sLAw3Lt3DwUFBXq1RFevXkVYWJh2nd9//13v8zSj0HTXMRyZdvXqVQQEBMDHR3wOKW9vb3h7e1u9bUREROT8HFpDJAgCpk6dig0bNmD79u2IjY3VW96uXTvUrFkT27Zt07529uxZ5OTkIDExEQCQmJiI48eP49q1a9p1tmzZgoCAALRo0UK7ju5naNbRfAYRERG5N4eOMpsyZQpWrVqF77//Hk2bNtW+HhgYqK25mTx5Mn766SesXLkSAQEBmDZtGgAgPT0dQOWw+7Zt2yIiIgKLFi1CXl4ennzySYwfPx5vv/02gMph961atUJqairGjRuH7du349lnn8WmTZuQnJwsq6wcZUZEROR65N6/HRoQqVQq0ddXrFiBMWPGAKhMzPjCCy9g9erVKC0tRXJyMj799FNtcxgAXLhwAZMnT8bOnTvh5+eH0aNHY+HChahR4+8WwZ07d+L555/HqVOn0LBhQ8ydO1f7HXIwICIiInI9LhEQuRIGRERERK7HJfMQERERETkCAyIiIiJyewyIiIiIyO0xICK3k6suQXpmPnLV4lnKiYjI/ThFYkaiqrLmQA7mrD+OCgHwUAFpKQkY3iHK0cUiIiIHYw0RuY1cdYk2GAKACgF4ef0J1hQREREDInIfWfnF2mBIo1wQkJ1/xzEFIiIip8GAiNxGbIgfPAxygXqqVIgJ8XVMgYiIyGkwICK3ER7og7SUBHj+lSHdU6XC2ymtEB4oPsEvERG5D3aqJrcyvEMUesSHIjv/DmJCfBkMERERAAZE5IbCA30YCBERkR42mREREZHbY0BEREREbo8BEREREbk9BkRERETk9hgQERERkdtjQERERERujwERERERuT0GREREROT2GBARERGR22NARERERG6PARERERG5PQZERERE5PYYEBEREZHbY0BEREREbo8BEREREbk9BkRERETk9hgQERERkdtjQERERERujwERERERuT0GREREROT2LAqIduzYYetyEBERETmMRQFRv379EBcXhzfffBMXL160dZmIiIiIqpRFAdHly5cxdepUrFu3Do0aNUJycjK++eYb3Lt3z9blIyIiIrI7iwKikJAQPP/88zhy5Aj279+P+Ph4TJkyBREREXj22Wdx9OhRW5eTiIiIyG6s7lT94IMPYs6cOZg6dSqKioqwfPlytGvXDt27d8fJkydtUUYiIiIiu7I4ICorK8O6deswYMAAREdH49dff8W//vUvXL16FefPn0d0dDQeffRRW5aViIiIyC5UgiAISt80bdo0rF69GoIg4Mknn8T48ePRqlUrvXXy8vIQERGBiooKmxXWkQoLCxEYGAi1Wo2AgABHF4eIiIhkkHv/rmHJh586dQqffPIJUlJS4O3tLbpOSEgIh+cTERGRS7CohsgdsYaIiIjI9di1hggAzp49i08++QSn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U7qITvWidFtNrQfIv1ibqwW1pJbU0puts6asqOrvqqo8Nra45li776QC+pEdI7Hq94t6r8sJquVm5jd1XEkdv2Id/x1931DCw9EFqAr5+fkoLy9H/fr19V6vX78+8vLyRN+TlpaGwMBA7V9kZGRVFFURzUEp9iN6qlR4vFOU9mRMS0monCn+r2ULUxKwd85DWD2hMzakdoGHSv/9Hqq/O8rpfqajm47CA32QGFfXrlX2uvvJcBoRZye2DeamWNGdFsSS75P6Pcz9VqL7e2iCrGBI6v1iQYX2PDE8oGHdtltreIco7JndG6sndMae2b1l1W5obma6nOG8rGq2Po5Nsec1Rw6p33xanyaYM6CZdpmSiXB1zxuR00L7eaaOK7HjVzNaUcnnOBO3GGV25coVNGjQAOnp6UhMTNS+PnPmTOzatQv79xuPBBCrIYqMjHTaUWa6HSGlRnyZ6tEvltYfgFWjyFxVVY18sCepbaiq0XpKWLu/5b7/6MVbRqMwHb3tljA3DY07cMbj2J5M/eaWnj+Go+3k3EOsLaujyB1l5hYB0b179+Dr64t169Zh8ODB2tdHjx6NgoICfP/992Y/w5mH3WvY48ZSHYID0ueMF6yqUl22nedl9fkt5aqK39xW3+FsxycDIgOdOnVCx44d8cknnwAAKioqEBUVhalTp8rqVO0KARGRXM52wapK7rzt1Q1/S5KDeYgMzJgxA6NHj0b79u3RsWNHfPjhhyguLtaOOiNyJ86W/6MqufO2Vzf8LcmW3CYgGj58OK5fv47XXnsNeXl5aNu2LX755RejjtZERETkftymycxabDIjIiJyPXLv324x7J6IiIjIFAZERERE5PYYEBEREZHbY0BEREREbo8BEREREbk9BkRERETk9hgQERERkdtjQERERERujwERERERuT23mbrDWpqE3oWFhQ4uCREREcmluW+bm5iDAZFMt2/fBgBERkY6uCRERESk1O3btxEYGCi5nHOZyVRRUYErV66gdu3aUKlUji5OlSssLERkZCQuXrzIudyswP1oPe5D2+B+tA3uR9uw534UBAG3b99GREQEPDykewqxhkgmDw8PNGzY0NHFcLiAgACe9DbA/Wg97kPb4H60De5H27DXfjRVM6TBTtVERETk9hgQERERkdtjQESyeHt7Y968efD29nZ0UVwa96P1uA9tg/vRNrgfbcMZ9iM7VRMREZHbYw0RERERuT0GREREROT2GBARERGR22NARERERG6PARFp7d69G4MGDUJERARUKhW+++47veWCIOC1115DeHg4fHx8kJSUhHPnzjmmsE7M3H4cM2YMVCqV3l+/fv0cU1gnlpaWhg4dOqB27dqoV68eBg8ejLNnz+qtc/fuXaSmpqJu3brw9/fH0KFDcfXqVQeV2DnJ2Y+9evUyOiYnTZrkoBI7pyVLlqB169baxIGJiYn4+eeftct5LJpnbh86+jhkQERaxcXFaNOmDRYvXiy6fNGiRfj444+xdOlS7N+/H35+fkhOTsbdu3eruKTOzdx+BIB+/fohNzdX+7d69eoqLKFr2LVrF1JTU7Fv3z5s2bIFZWVl6Nu3L4qLi7XrPP/88/jhhx+wdu1a7Nq1C1euXEFKSooDS+185OxHAJgwYYLeMblo0SIHldg5NWzYEAsXLsTBgwfxxx9/4KGHHsI//vEPnDx5EgCPRTnM7UPAwcehQCQCgLBhwwbtvysqKoSwsDDh3Xff1b5WUFAgeHt7C6tXr3ZACV2D4X4UBEEYPXq08I9//MMh5XFl165dEwAIu3btEgSh8virWbOmsHbtWu06p0+fFgAIGRkZjiqm0zPcj4IgCD179hSee+45xxXKRdWpU0f4/PPPeSxaQbMPBcHxxyFriEiWrKws5OXlISkpSftaYGAgOnXqhIyMDAeWzDXt3LkT9erVQ9OmTTF58mTcuHHD0UVyemq1GgAQHBwMADh48CDKysr0jslmzZohKiqKx6QJhvtR46uvvkJISAhatWqFOXPm4M6dO44onksoLy/H119/jeLiYiQmJvJYtIDhPtRw5HHIyV1Jlry8PABA/fr19V6vX7++dhnJ069fP6SkpCA2NhaZmZl4+eWX0b9/f2RkZMDT09PRxXNKFRUVmD59Orp27YpWrVoBqDwmvby8EBQUpLcuj0lpYvsRAEaOHIno6GhERETg2LFjmDVrFs6ePYv169c7sLTO5/jx40hMTMTdu3fh7++PDRs2oEWLFjhy5AiPRZmk9iHg+OOQARFRFRsxYoT2/xMSEtC6dWvExcVh586d6NOnjwNL5rxSU1Nx4sQJ7Nmzx9FFcWlS+3HixIna/09ISEB4eDj69OmDzMxMxMXFVXUxnVbTpk1x5MgRqNVqrFu3DqNHj8auXbscXSyXIrUPW7Ro4fDjkE1mJEtYWBgAGI2auHr1qnYZWaZRo0YICQnB+fPnHV0UpzR16lT8+OOP2LFjBxo2bKh9PSwsDPfu3UNBQYHe+jwmxUntRzGdOnUCAB6TBry8vNC4cWO0a9cOaWlpaNOmDT766CMeiwpI7UMxVX0cMiAiWWJjYxEWFoZt27ZpXyssLMT+/fv12n9JuUuXLuHGjRsIDw93dFGciiAImDp1KjZs2IDt27cjNjZWb3m7du1Qs2ZNvWPy7NmzyMnJ4TGpw9x+FHPkyBEA4DFpRkVFBUpLS3ksWkGzD8VU9XHIJjPSKioq0ovEs7KycOTIEQQHByMqKgrTp0/Hm2++iSZNmiA2NhZz585FREQEBg8e7LhCOyFT+zE4OBgLFizA0KFDERYWhszMTMycORONGzdGcnKyA0vtfFJTU7Fq1Sp8//33qF27trYvRmBgIHx8fBAYGIinn34aM2bMQHBwMAICAjBt2jQkJiaic+fODi698zC3HzMzM7Fq1SoMGDAAdevWxbFjx/D888+jR48eaN26tYNL7zzmzJmD/v37IyoqCrdv38aqVauwc+dO/PrrrzwWZTK1D53iOHTY+DZyOjt27BAAGP2NHj1aEITKofdz584V6tevL3h7ewt9+vQRzp4969hCOyFT+/HOnTtC3759hdDQUKFmzZpCdHS0MGHCBCEvL8/RxXY6YvsQgLBixQrtOiUlJcKUKVOEOnXqCL6+vsKQIUOE3NxcxxXaCZnbjzk5OUKPHj2E4OBgwdvbW2jcuLHw0ksvCWq12rEFdzLjxo0ToqOjBS8vLyE0NFTo06ePsHnzZu1yHovmmdqHznAcqgRBEKom9CIiIiJyTuxDRERERG6PARERERG5PQZERERE5PYYEBEREZHbY0BEREREbo8BEREREbk9BkRERETk9hgQERERkdtjQEREsuTl5WHatGlo1KgRvL29ERkZiUGDBunN35Seno4BAwagTp06qFWrFhISEvD++++jvLxcu052djaefvppxMbGwsfHB3FxcZg3bx7u3bun933Lli1DmzZt4O/vj6CgIDzwwANIS0vTLp8/fz5UKhX69etnVNZ3330XKpUKvXr1krVtms9SqVSoUaMGYmJi8Pzzz6OoqEjhXiIiV8W5zIjIrOzsbHTt2hVBQUF49913kZCQgLKyMvz6669ITU3FmTNnsGHDBjz22GMYO3YsduzYgaCgIGzduhUzZ85ERkYGvvnmG6hUKpw5cwYVFRX47LPP0LhxY5w4cQITJkxAcXEx3nvvPQDA8uXLMX36dHz88cfo2bMnSktLcezYMZw4cUKvXOHh4dixYwcuXbqkN4P78uXLERUVpWgbW7Zsia1bt+L+/fvYu3cvxo0bhzt37uCzzz4zWvfevXvw8vKyYE/ajzOWicilVNkkIUTksvr37y80aNBAKCoqMlp269YtoaioSKhbt66QkpJitHzjxo0CAOHrr7+W/PxFixYJsbGx2n//4x//EMaMGWOyTPPmzRPatGkjPPzww8Kbb76pfX3v3r1CSEiIMHnyZKFnz54ytu7vz9I1YcIEISwsTG/5smXLhJiYGEGlUgmCULntTz/9tBASEiLUrl1b6N27t3DkyBHtZxw5ckTo1auX4O/vL9SuXVt48MEHhQMHDgiCIAjZ2dnCww8/LAQFBQm+vr5CixYthE2bNgmCIAgrVqwQAgMD9cqzYcMGQfeSbWmZiEgcm8yIyKSbN2/il19+QWpqKvz8/IyWBwUFYfPmzbhx4wZefPFFo+WDBg1CfHw8Vq9eLfkdarUawcHB2n+HhYVh3759uHDhgtnyjRs3DitXrtT+e/ny5Rg1apTVtSU+Pj56zXjnz5/Ht99+i/Xr1+PIkSMAgEcffRTXrl3Dzz//jIMHD+LBBx9Enz59cPPmTQDAqFGj0LBhQxw4cAAHDx7E7NmzUbNmTQCVs9CXlpZi9+7dOH78ON555x34+/srKqMlZSIicWwyIyKTzp8/D0EQ0KxZM8l1/vzzTwBA8+bNRZc3a9ZMu47Y53/yySfa5jIAmDdvHlJSUhATE4P4+HgkJiZiwIABGDZsGDw89J/jHn74YUyaNAm7d+9Gu3bt8M0332DPnj1Yvny50k3VOnjwIFatWoWHHnpI+9q9e/fwn//8B6GhoQCAPXv24Pfff8e1a9fg7e0NAHjvvffw3XffYd26dZg4cSJycnLw0ksvafddkyZNtJ+Xk5ODoUOHIiEhAQDQqFEjxeW0pExEJI4BERGZJAiCXdYFgMuXL6Nfv3549NFHMWHCBO3r4eHhyMjIwIkTJ7B7926kp6dj9OjR+Pzzz/HLL7/oBUU1a9bEE088gRUrVuB///sf4uPj0bp1a0XlAIDjx4/D398f5eXluHfvHgYOHIh//etf2uXR0dHawAMAjh49iqKiItStW1fvc0pKSpCZmQkAmDFjBsaPH4///ve/SEpKwqOPPoq4uDgAwLPPPovJkydj8+bNSEpKwtChQxWX25IyEZE4BkREZFKTJk20naGlxMfHAwBOnz6NLl26GC0/ffo0WrRooffalStX0Lt3b3Tp0gX//ve/RT+3VatWaNWqFaZMmYJJkyahe/fu2LVrF3r37q233rhx49CpUyecOHEC48aNU7qJAICmTZti48aNqFGjBiIiIoya3AybC4uKihAeHo6dO3cafVZQUBCAytFrI0eOxKZNm/Dzzz9j3rx5+PrrrzFkyBCMHz8eycnJ2LRpEzZv3oy0tDT885//xLRp0+Dh4WEUXJaVlRl9jyVlIiJx7ENERCYFBwcjOTkZixcvRnFxsdHygoIC9O3bF8HBwfjnP/9ptHzjxo04d+4cHn/8ce1rly9fRq9evdCuXTusWLHCqBlMjCagEitDy5Yt0bJlS5w4cQIjR45UsnlaXl5eaNy4MWJiYmT1P3rwwQeRl5eHGjVqoHHjxnp/ISEh2vXi4+Px/PPPY/PmzUhJScGKFSu0yyIjIzFp0iSsX78eL7zwApYtWwYACA0Nxe3bt/W2VdNHyBZlIiJjDIiIyKzFixejvLwcHTt2xLfffotz587h9OnT+Pjjj5GYmAg/Pz989tln+P777zFx4kQcO3YM2dnZ+OKLLzBmzBgMGzYMjz32GIC/g6GoqCi89957uH79OvLy8pCXl6f9vsmTJ+ONN97A3r17ceHCBezbtw9PPfUUQkNDkZiYKFrG7du3Izc3t8pqQpKSkpCYmIjBgwdj8+bNyM7ORnp6Ol555RX88ccfKCkpwdSpU7Fz505cuHABe/fuxYEDB7T9rKZPn45ff/0VWVlZOHToEHbs2KFd1qlTJ/j6+uLll19GZmYmVq1apddx3NIyEZE0NpkRkVmNGjXCoUOH8NZbb+GFF15Abm4uQkND0a5dOyxZsgQAMGzYMOzYsQNvvfUWunfvjrt376JJkyZ45ZVXMH36dKhUKgDAli1bcP78eZw/f14vdxDwdx+kpKQkLF++HEuWLMGNGzcQEhKCxMREbNu2zah/jIbYCDh7UqlU+Omnn/DKK69g7NixuH79OsLCwtCjRw/Ur18fnp6euHHjBp566ilcvXoVISEhSElJwYIFCwAA5eXlSE1NxaVLlxAQEIB+/frhgw8+AFBZK/fll1/ipZdewrJly9CnTx/Mnz/fbKdoc2UiImkqQWkvSCIiIqJqhk1mRERE5PYYEBFRtefv7y/599tvvzm6eETkBNhkRkTV3vnz5yWXNWjQAD4+PlVYGiJyRgyIiIiIyO2xyYyIiIjcHgMiIiIicnsMiIiIiMjtMSAiIiIit8eAiIiIiNweAyIiIiJyewyIiIiIyO0xICIiIiK39/8BsD/kfBQ/TBAAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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eXk5gBuLE7oiKysLBoMBkyZNcunzpI0CYxk25xSiwFimdVKIiKgKUhSonDt3zmq9n6ioKKxevRqXL19Gnz59UFpa6lIitm3bhjlz5qB169YufZ60sWjbcXTOWoMhc39F56w1WLTtuPMPERERKaAoUGncuDEOHjxo9VpoaChWrVqFsrIy3HvvvYoTUFxcjIceeghz585FRESE4s+TNgqMZZi6ZB8q/2rpqxSA55fs99maFdYMERHpk6JApWfPnsjOzrZ7vXbt2li5ciVq1aqlOAHjx49H37590aNHD8WfJe3kFpaYgxSTCkFAXqFrtWpaYs0QEZF+KepM+/LLL+PUqVOi74WGhuKnn37Czp07ZX/fwoULsXPnTmzbtk3W9uXl5ea+MAC4MrOGEqJC4GeAVbDibzAgPipYu0S5QKpmqEtSNGLCgrRNHBERKatRiYiIQKtWrSTfDw0NRdeuXWV9V35+Pp588kl88cUXsmtiMjMzERYWZv6LjY2V9TlSX0xYEDIHpML/r87T/gYDXh+Q4nM396pUM0REVBUZBIXjia9fv4533nkHCxYswB9//AEASEpKwpAhQ/Dkk0+iZs2asr5n2bJluPfee+Hv729+raKiAgaDAX5+figvL7d6DxCvUYmNjYXRaOQMuBopMJYhr7AU8VHBPhekADfS3zlrjV3N0MYp3X3yeIiIfEFRURHCwsJk3b8VBSplZWW48847sWXLFvTo0QMtWrQAABw8eBCrV69G586dsWrVKlk1JJcvX8axY8esXhs+fDiSk5Px3HPPISUlxel3KDlQIimLth3H80v2o0IQzDVDg9o31jpZRERVlpL7t6I+KllZWcjPz8euXbvshhLv2bMHd999N7KysjB9+nSn3xUaGmoXjISEhKBu3bqyghQitQxq3xhdkqJ9umaIiKiqUtRHZeHChXj77bdF5ztJS0vDm2++ifnz56uWOCJviQkLQnpiXQYpREQ6o6hG5dixY+jQoYPk+//4xz+sFiVUat26dS5/loiIiKoeRTUqderUwdmzZyXfP336NEJDQ91OFBERERGgMFDp3r07Xn/9dcn3s7Ky0L17d7cTRURERAQobPqZNm0aOnbsiH/84x94+umnkZycDEEQcPDgQbzzzjs4cOAAtm7d6qm0EhERUTWjKFBp2bIlfvrpJ4wcORKDBw82r5QsCAKSk5Ox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MBiwbNkyq/cFQcBLL72EmJgYBAUFoUePHjhy5Ig2idUxZ+dx2LBhMBgMVn+9e/fWJrE6lZmZifbt2yM0NBT16tVD//79cfjwYattrly5gvHjx6Nu3bqoXbs2Bg4ciDNnzmiUYn2Scx67detmlx/HjBmjUYr1afbs2WjdurV5MrL09HT88MMP5veZF+Vxdh61zosMVHxASUkJ0tLSMGvWLNH333jjDbz//vv48MMP8euvvyIkJAS9evXClStXvJxSfXN2HgGgd+/eKCgoMP8tWLDAiynUv/Xr12P8+PHYunUrfvrpJ1y7dg09e/ZESUmJeZunnnoK3377Lb766iusX78ep06dwoABAzRMtf7IOY8AMHr0aKv8+MYbb2iUYn266aabkJWVhR07dmD79u24/fbbcc899+D3338HwLwol7PzCGicFwXyKQCEpUuXmv9fWVkpNGjQQJg5c6b5tUuXLgmBgYHCggULNEihb7A9j4IgCEOHDhXuueceTdLjq86ePSsAENavXy8Iwo28V7NmTeGrr74yb3Pw4EEBgLBlyxatkql7tudREASha9euwpNPPqldonxURESE8NFHHzEvusl0HgVB+7zIGhUfl5ubi9OnT6NHjx7m18LCwtCxY0ds2bJFw5T5pnXr1qFevXpo3rw5xo4di/Pnz2udJF0zGo0AgMjISADAjh07cO3aNav8mJycjMaNGzM/OmB7Hk2++OILREVFISUlBVOnTkVpaakWyfMJFRUVWLhwIUpKSpCens686CLb82iiZV706UUJCTh9+jQAoH79+lav169f3/weydO7d28MGDAACQkJyMnJwfPPP4+MjAxs2bIF/v7+WidPdyorKzFp0iR07twZKSkpAG7kx4CAAISHh1tty/woTew8AsCQIUMQFxeHhg0bYu/evXjuuedw+PBhLFmyRMPU6s++ffuQnp6OK1euoHbt2li6dClatmyJ3bt3My8qIHUeAe3zIgMVor8MHjzY/O/U1FS0bt0aiYmJWLduHe644w4NU6ZP48ePx/79+7Fx40atk+LTpM7jY489Zv53amoqYmJicMcddyAnJweJiYneTqZuNW/eHLt374bRaMTixYsxdOhQrF+/Xutk+Ryp89iyZUvN8yKbfnxcgwYNAMCuJ/uZM2fM75FrmjRpgqioKBw9elTrpOjOhAkT8N1332Ht2rW4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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAHHCAYAAABeLEexAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAACE10lEQVR4nO3deVxU5f4H8M+AgoACIruyiSIqSG4p7qZXXFpMK00z98ols82lMrVFabmt17RN/d1bmllallqaawqau5JLSiAuoKIyyKIgPL8/cKZZzpmNGWaG+bxfL0rmHM4858yZc77nWb6PQgghQEREROTC3OxdACIiIiJ7Y0BERERELo8BEREREbk8BkRERETk8hgQERERkctjQEREREQujwERERERuTwGREREROTyGBARERGRy2NAREROY968eVAoFCatq1AoMG/ePJuWp1evXujVq5fDbo+ITMeAiIjMtnz5cigUCvVPnTp10LhxY4wZMwYXLlywd/EcTnR0tNbxCg4ORvfu3bF27VqrbL+kpATz5s3D9u3brbI9IlfEgIiILPbaa6/hf//7H5YsWYIBAwbgq6++Qs+ePXHz5k2bvN8rr7yC0tJSm2zb1u666y7873//w//+9z+88MILuHjxIoYMGYIlS5ZUe9slJSWYP38+AyKiaqhj7wIQkfMaMGAAOnToAACYMGECAgMD8dZbb2HdunV45JFHrP5+derUQZ06znnZaty4MR577DH1748//jiaNWuG999/H0899ZQdS0ZEAGuIiMiKunfvDgDIzMzUev3kyZN46KGHEBAQgHr16qFDhw5Yt26d1jrl5eWYP38+mjdvjnr16qFRo0bo1q0bNm/erF5Hqg/RrVu38OyzzyIoKAgNGjTA/fffj/Pnz+uVbcyYMYiOjtZ7XWqby5Ytwz333IPg4GB4enqiVatWWLx4sVnHwpjQ0FC0bNkSWVlZBte7fPkyxo8fj5CQENSrVw9JSUn4v//7P/Xy7OxsBAUFAQDmz5+vbpazdf8potrGOR+1iMghZWdnAwAaNmyofu3PP/9E165d0bhxY8yaNQs+Pj749ttvMXjwYHz//fd48MEHAVQFJgsXLsSECRNw9913o7CwEPv378fBgwfxr3/9S/Y9J0yYgK+++gojRoxAly5dsHXrVgwaNKha+7F48WK0bt0a999/P+rUqYOffvoJ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OlV///33SEhIwIEDB5CUlISkpCQcPHgQCQkJ+P77761dRiIiIiKbsqjJLDY2FiNHjsRrr72m9frcuXPx1VdfITMz02oFdBRsMiMiInI+pt6/Laohys3NxeOPP673+mOPPYbc3FxLNklERERkNxYFRL169cLvv/+u9/quXbvQvXv3ahfKleQqS5GWmY9cZam9i0JEROSyLOpUff/992PmzJk4cOAAOnfuDADYs2cPVq9ejfnz52PdunVa65K0VftyMHvNMVQKwE0BLBySiGEdI+1dLCIiIpdjUR8iNzfTKpYUCgUqKirMLpQjsnYfolxlKbqmbkWlxtF3Vyiwa1ZvhPl5VXv7REREZONh97Ul+7Q9ZeUXawVDAFAhBLLzSxgQERER1bBqT+5KlokJ9IGbQvs1d4UC0YHe9ikQERGRCzO5huijjz4yeaPTpk2zqDCuJMzPCwuHJOKlNRmoEALuCgUWDElg7RAREZEdmNyHKCYmxrQNKhT4+++/q1UoR2SrPES5ylJk55cgOtCbwRAREZGVWb0PUVZWllUKRtrC/LwYCBEREdkZ+xARERGRy7N4ctfz589j3bp1yMnJQVlZmday9957r9oFIyIiIqopFgVEW7Zswf3334+mTZvi5MmTSEhIQHZ2NoQQaNeunbXLSERERGRTFjWZzZ49Gy+88AKOHTuGevXq4fvvv8e5c+fQs2dPPPzww9YuIxEREZFNWRQQnThxQj25a506dVBaWor69evjtddew1tvvWXVAhIRERHZmkUBkY+Pj7rfUFhYGDIzM9XL8vPzrVMyIiIiohpiUR+izp07Y9euXWjZsiUGDhyI559/HseOHcOaNWvUk70SEREROQuLaojee+89dOrUCQAwf/589OnTB6tWrUJ0dDS+/PJLk7ezc+dO3HfffQgPD4dCocAPP/ygtXzMmDFQKBRaP/3799da59q1axg5ciR8fX3h7++P8ePHo6ioSGudo0ePonv37qhXrx4iIiLw9ttvW7LbtUaushRpmfnIVZbauyhEREQOwaIaoqZNm6r/7ePjgyVLllj05sXFxUhKSsK4ceMwZMgQyXX69++PZcuWqX/39PTUWj5y5Ejk5uZi8+bNKC8vx9ixY/HEE09gxYoVAKoyVPbr1w99+/bFkiVLcOzYMYwbNw7+/v544oknLCq3M1u1Lwez1xxDpQDcFMDC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kmJRQFRZWSn7ek5Ojvr3xYsXMwcREREROTyzAqLCwkI88sgj8PHxQUhICF599VVUVFSol1+5cgUxMTFWLyRZJldZirTMfOQqS+1dFCIiIodmVh6iOXPm4MiRI/jf//6HgoICvPHGGzh48CDWrFkDDw8PAMw95ChW7ctRT/7qpgAWDknEsI6R9i4WERGRQzKrhuiHH37Ap59+ioceeggTJkzA/v37ceXKFdx33324desWAHByVweQqyxVB0NA1XxnL63JYE0RERGRDLMCoitXrmjNZxYYGIjffvsNN27cwMCBA1FSUmL1ApL5svKLtSZ9BYAKIZCdb9vPh010RETkrMwKiCIjI3HixAmt1xo0aIBNmzahtLQUDz74oFULR5aJCfSBm05FnbtCgehAb5u956p9OeiauhUjPt+LrqlbsWpfjvE/IiIichBmBUT9+vXDsmXL9F6vX78+fv31V9SrV89qBSPLhfl5YeGQRLjfab50VyiwYEiCzeY8O3LuOmZ9zyY6IiJyXmZ1qp4/fz4uXrwouaxBgwbYvHkzDh48aJWCUfUM6xiJHnFByM4vQXSgt82CoU93ZGLhxpN6r6ua6DjxLBEROQOzAqKGDRuiYcOGsssbNGiAnj17VrtQZB1hfl42DUg+3SkdDAG2b6IjIiKyJrMTM96+fRvvvPMO2rVrh/r166N+/fpo164d3n33XZSXl9uijOSAcpWlSJUJhtwAmzbRERERWZtZNUSlpaX417/+hfT0dPTt2xc9evQAAJw4cQIzZ87EunXrsGnTJvYlcgFZ+cWQSjmlALB2ShckRcjXJBIRETkaswKi1NRUnDt3DocOHUKbNm20lh05cgT3338/UlNTMW/ePGuWkRyQaiSb7vD+WQPiGQwREZHTMavJ7JtvvsF7772nFwwBQFJSEt59912sWLHCaoUjx6U7ks1NAcweGI8ne8bauWRERETmM6uG6OzZs7j77rtll3fu3Flrcleq3WpqJBsREZGtmRUQ+fr64vLly4iIiJBcnpeXhwYNGlilYOQcbD2SjYiIqCaY1WTWu3dvLFiwQHZ5amoqevfuXe1CEREREdUks2qI5s6di06dOqFz58547rnnEB8fDyEETpw4gffffx/Hjx/Hnj17bFVWIiIiIpswKyBq1aoVNm/ejPHjx2P48OHqme2FEIiPj8emTZvQunVrmxSU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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAHHCAYAAACRAnNyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB75klEQVR4nO3dd3gU1foH8O8mkJAE0kiABNMIhAAJSDd0FIGIBUEFRaVbAJHrVQw2UNQE8VovIhcl+FNpIiAqVUB670jHQCihRFJIIYHk/P6Iu26Z2d3Zkp1Nvp/n4dHszM6emZ2deeec95yjEUIIEBEREamQh6sLQERERCSHgQoRERGpFgMVIiIiUi0GKkRERKRaDFSIiIhItRioEBERkWoxUCEiIiLVYqBCREREqsVAhYiIiFSLgQoR2W3KlCnQaDRWravRaDBlyhSnlqdHjx7o0aOHardHRNZjoEJUhcydOxcajUb3r0aNGmjYsCGGDRuGixcvurp4qhMdHW1wvOrVq4euXbti6dKlDtl+UVERpkyZgt9//90h2yOqjhioEFVB77zzDr799lt8+eWXSE5OxnfffYfu3bvj5s2bTvm8N954A8XFxU7ZtrPdeeed+Pbbb/Htt9/i5ZdfxqVLlzBgwAB8+eWXdm+7qKgIb7/9NgMVIjvUcHUBiMjxkpOT0a5dOwDAqFGjEBISgmnTpmH58uV47LHHHP55NWrUQI0a7nk5adiwIZ588knd308//TQaN26Mjz/+GM8995wLS0ZEAGtUiKqFrl27AgDOnDlj8Prx48fxyCOPIDg4GLVq1UK7du2wfPlyg3Vu3bqFt99+G02aNEGtWrVQt25ddOnSBWvXrtWtI5WjUlJSgn/9618IDQ1FnTp18OCDD+LChQsmZRs2bBiio6NNXpfaZnp6Ou6++27Uq1cP3t7eaN68OWbOnKnoWFjSoEEDNGvWDBkZGWbXu3r1KkaOHIn69eujVq1aaNWqFb755hvd8rNnzyI0NBQA8Pbbb+ual5ydn0NU1bjnIxARKXL27FkAQFBQkO61P/74A507d0bDhg2RkpICPz8/LFq0CP3798ePP/6Ihx9+GEBFwJCamopRo0ahQ4cOyM/Px549e7Bv3z7ce++9sp85atQofPfdd3jiiSfQqVMnrF+/Hv369bNrP2bOnIkWLVrgwQcfRI0aNfDzzz9jzJgxKC8vx9ixY+3attatW7dw/vx51K1bV3ad4uJi9OjRA6dPn8a4ceMQExODH374AcOGDUNubi5efPFFhIaGYubMmXj++efx8MMPY8CAAQCAli1bOqScRNWGIKIqIz09XQAQv/32m7h27Zo4f/68WLx4sQgNDRXe3t7i/PnzunXvuecekZiYKG7evKl7rby8XHTq1Ek0adJE91qrVq1Ev379zH7u5MmThf7l5MCBAwKAGDNmjMF6TzzxhAAgJk+erHtt6NChIioqyuI2hRCiqKjIZL0+ffqIRo0aGbzWvXt30b17d7NlFkKIqKgo0bt3b3Ht2jVx7do1cfDgQTF48GABQLzwwguy2/vkk08EAPHdd9/pXistLRVJSUmidu3aIj8/XwghxLVr10z2l4iUYdMPURXUq1cvhIaGIiIiAo888gj8/PywfPly3HHHHQCA69evY/369Xjsscdw48YNZGdnIzs7G3/99Rf69OmDU6dO6XoJBQYG4o8//sCpU6es/vwVK1YAAMaPH2/w+oQJE+zaLx8fH93/5+XlITs7G927d8eff/6JvLw8m7a5Zs0ahIaGIjQ0FK1atcIPP/yAp556CtOmTZN9z4oVK9CgQQM8/vjjutdq1qyJ8ePHo6CgABs3brSpLERkik0/RFXQjBkzEBcXh7y8PMyZMwebNm2Ct7e3bvnp06chhMCbb76JN998U3IbV69eRcOGDfHOO+/goYceQlxcHBISEtC3b1889dRTZpswzp07Bw8PD8TGxhq83rRpU7v2a+vWrZg8eTK2b9+OoqIig2V5eXkICAhQvM2OHTvi3XffhUajga+vL5o1a4bAwECz7zl37hyaNGkCDw/DZ71mzZrplhORYzBQIaqCOnTooOv1079/f3Tp0gVPPPEETpw4gdq1a6O8vBwA8PLLL6NPnz6S22jcuDEAoFu3bjhz5gx++uknrFmzBl999RU+/vhjfPnllxg1apTdZZUbKK6srMzg7zNnzuCee+5BfHw8PvroI0RERMDLywsrVqzAxx9/rNsnpUJCQtCrVy+b3ktEzsdAhaiK8/T0RGpqKnr27In//ve/SElJQaNGjQBUNFdYc5MODg7G8OHDMXz4cBQUFKBbt26YMmWKbKASFRWF8vJynDlzxqAW5cSJEybrBgUFITc31+R141qJn3/+GSUlJVi+fDkiIyN1r2/YsMFi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2TSOyqhRo5CQkIALFy5g37592LdvH86fP4+WLVvimWeecXQZiYiIqJqyqUblwIED2LNnD4KCgnSvBQUF4b333pNNriUiIiJSyqYalbi4OFy5csXk9atXr6Jx48Z2F4qIiIgIsDFQSU1Nxfjx47F48WJcuHABFy5cwOLFizFhwgRMmzYN+fn5un9EREREtrKpe7KHxz/xjUajAQBoN6P/t0ajQVlZmSPKKYndk4mIiNyP07snb9iwwaaCERERESlhU6DSvXt3R5eDiIiIyITNo7Pl5ubi66+/1g341qJFC4wYMQIBAQEOKxwRERFVbzYl0+7ZswexsbH4+OOPcf36dVy/fh0fffQRYmNjsW/fPkeXkYiIiKopm5Jpu3btisaNG2P27Nm6IfNv376NUaNG4c8//8SmTZscXlApTKYlIiJyP0ru3zYFKj4+Pti/fz/i4+MNXj969CjatWuHoqIipZu0CQMVIiIi96Pk/m1T04+/vz8yMzNNXj9//jzq1KljyyaJiIiITNgUqAwaNAgjR47EwoULcf78eZw/fx4LFizAqFGj8Pjjj1u9nSlTpkCj0Rj8M66lISIiourLpl4/H374ITQaDZ5++mncvn0bAFCzZk08//zzSEtLU7StFi1a4LfffvunQDVs7ohEREREVYziqKCsrAw7duzAlClTkJqaijNnzgAAYmNj4evrq7wANWqgQYMGit9HREREVZ/iph9PT0/07t0bubm58PX1RWJiIhITE20KUgDg1KlTCA8PR6NGjTBkyBDJ3BetkpISg3mEOJcQERFR1WZTjkpCQgL+/PNPuz+8Y8eOmDt3LlatWoWZM2ciIyMDXbt2xY0bNyTXT01NRUBAgO5fRESE3WUgIiIi9bKpe/KqVaswadIkTJ06FW3btoWfn5/Bclu7Cufm5iIqKgofffQRRo4cabK8pKQEJSUlur/z8/MRERHB7slERERuxOmTEt53330AgAcffFA3WzJg/4zJgYGBiIuLw+nTpyWXe3t7w9vb26ZtExERkftR1ezJBQUFOHPmDJ566imnbJ+IiIjci02BSkxMDCIiIgxqU4CKGpXz589bvZ2XX34ZDzzwAKKionDp0iVMnjwZnp6eisZiISIioqrL5kAlKysL9erVM3j9+vXriImJsbrp58KFC3j88cfx119/ITQ0FF26dMGOHTsQGhpqS7GI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3z6HFM6S/Px8BAQEIC8vD/7+/pXymURERGQfJfdvRdUhkydPtqtgxmbOnImZM2fi7NmzAIAWLVrgrbfeQnJyskM/h4iIiNyTohoVR/v555/h6emJJk2aQAiBb775BtOnT8f+/fvRokULi+9njQoREZH7UXL/dkigsnHjRhQWFiIpKQlBQUF2bSs4OBjTp0/HyJEjLa7LQIWIiMj9OK3pZ9q0aSgoKMDUqVMBVMyOnJycjDVr1gAA6tWrh3Xr1llVG2KsrKwMP/zwgy7gkVJSUoKSkhLd3xy3hYiIqGpTNODbwoULDYbMX7x4MTZt2oTNmzcjOzsb7dq1w9tvv62oAIcPH0bt2rXh7e2N5557DkuXLpXt6pyamoqAgADdv4iICEWfRURERO5FUdNPUFAQtm3bhmbNmgEAhg8fjrKyMvzf//0fAGDHjh149NFHcf78easLUFpaiszMTOTl5WHx4sX46quvsHHjRslgRapGJSIigk0/REREbsRpTT+3b9+Gt7e37u/t27djwoQJur/Dw8ORnZ2tqLBeXl5o3LgxAKBt27bYvXs3Pv30U8yaNctkXW9vb4PPJyIioqpNUdNPbGwsNm3aBADIzMzEyZMn0a1bN93yCxcuoG7dunYVqLy83KDWhIiIiKovRTUqY8eOxbhx47B582bs2LEDSUlJBk0069evR+vWra3e3qRJk5CcnIzIyEjcuHED8+bNw++//47Vq1crKRYRERFVUYoCldGjR8PT0xM///wzunXrZjIA3KVLlzBixAirt3f16lU8/fTTyMrKQkBAAFq2bInVq1fj3nvvVVIsIiIiqqJcOuCbvTiOChERkftRcv9WlKNCREREVJkUBSq3bt3CxIkT0bhxY3To0AFz5swxWH7lyhV4eno6tIBERERUfSkKVN577z383//9H5577jn07t0bL730Ep599lmDddy4JYmIiIhURlEy7ffff4+vvvoK999/PwBg2LBhSE5OxvDhw3W1KxqNxvGlJCIiompJUY3KxYsXDYbQb9y4MX7//Xds27YNTz31FMrKyhxeQCIiIqq+FAUqDRo0wJkzZwxea9iwITZs2IDdu3dj2LBhjiwbERERVXOKApW7774b8+bNM3k9PDwc69evR0ZGhsMKRo6XlVeMbWeykZVXbNc6RERElUVRjsqbb76J48ePSy5r2LAhNm7ciLVr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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# visualize with IDAES surrogate plotting tools\n", "surrogate_scatter2D(alm_surr, data_training)\n", @@ -452,108 +255,7 @@ "cell_type": "code", "execution_count": 6, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkEAAAHHCAYAAAC4BYz1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB0gUlEQVR4nO3dd3iTVfsH8G86aaFN96KlLWXJpkWhKFOkIENelCGgBYpFBAFBlmwRWcpwgSjrRVBQqj/AwRYRCiLTKiBgCxRaRkpThnTl/P7Im9C0zWqTZn0/19ULkufJk5PHam7Puc99S4QQAkREREQOxsnSAyAiIiKyBAZBRERE5JAYBBEREZFDYhBEREREDolBEBERETkkBkFERETkkBgEERERkUNiEEREREQOiUEQEREROSQGQUREVmjdunWQSCTIyMiw9FCI7BaDICIHdezYMYwePRqNGjVC9erVUatWLfTr1w9///13mXM7dOgAiUQCiUQCJycneHt7o379+njppZewe/duo953+/btaN++PYKCguDp6YnatWujX79++Omnn0z10cp499138d1335V5/vDhw5g9ezZyc3PN9t6lzZ49W30vJRIJPD090bBhQ0yfPh15eXkmeY9NmzZh2bJlJrkWkT1jEETkoBYuXIitW7fi6aefxvLly5GcnIxffvkFsbGxSEtLK3N+eHg4NmzYgP/+979YvHgxevXqhcOHD6NLly7o378/CgsL9b7ne++9h169ekEikWDq1KlYunQpnn/+eVy4cAFfffWVOT4mAN1B0Jw5c6o0CFJZsWIFNmzYgCVLlqBBgwaYN28eunbtClO0c2QQRGQYF0sPgIgsY/z48di0aRPc3NzUz/Xv3x9NmjTBggUL8MUXX2icL5VKMXjwYI3nFixYgDFjxuCTTz5BVFQUFi5cqPX9ioqKMHfuXDzzzDPYtWtXmeM3b96s5CeyHg8ePICnp6fOc1544QUEBAQAAF599VU8//zzSElJwZEjRxAfH18VwyRyeJwJInJQbdq00QiAAKBu3bpo1KgRzp49a9A1nJ2d8cEHH6Bhw4b46KOPIJfLtZ57+/Zt5OXl4cknnyz3eFBQkMbjhw8fYvbs2ahXrx6qVauG0NBQ9OnTB5cuXVKf895776FNmzbw9/eHh4cH4uLi8M0332hcRyKR4P79+1i/fr16CWrIkCGY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27hxYzRu3BivvfYaXn31VbRt2xYHDhxAx44dNc4bNmwYWrVqhbS0NAwbNszYj6jVvXv3MGfOHPTp06fMsWrVqqn/XjIZWSKRaH1OoVAY/L6Acodcq1atNI45OztrPC69RLl48WIsX74cy5YtQ5MmTVC9enWMGzeuzO670pycnMoEsYWFhWXOK/1+9+7dQ2hoKH7++ecy5/r4+Oh8TyJ7wyCIyM74+fkhISEBH3/8McaMGVPmSzA3NxddunSBn58f3n///TJB0LZt23DhwgXMnTtX/dy1a9fQsWNHxMXFYe3atRozO9qogqj79++XOdaoUSM0atQIZ86cwcCBAyvyMcsVGxuL8+fPo06dOia7psqVK1dw/fp1hIWFAQCOHDkCJycn1K9fH8HBwQgLC8M///yDQYMGGXXdQ4cO4bnnnsPgwYMBKAOvv//+WyMIdXNz0yhbAACBgYG4e/cu7t+/r/5nrMr50SU2NhbZ2dlwcXFBVFSUUWMlsjcMgojs0Mcff4wnn3wSTzzxBN5++200bdoURUVF2L17N1asWIGzZ8/i008/xYABA5CcnIzRo0fD29sbe/fuxcSJE/HCCy+gX79+AJQBUIcOHRAZGYn33nsPt27dUr9PSEgIAGDkyJEICwtDp06dEB4ejqysLLzzzjsIDAxEfHx8uWPct28fCgsLTTr7MHPmTPTo0QO1atXCCy+8ACcnJ5w+fRppaWl45513KnXtatWqITExEe+99x7y8vIwZswY9OvXT30P5syZgzFjxkAqlaJr167Iz8/H77//jjt37mD8+PFar1u3bl188803OHz4MHx9fbFkyRLcuHFDIwiKiorC0aNHkZGRgRo1asDPzw+tWrWCp6cn3nrrLYwZMwZHjx7VSDjXpnPnzoiPj0fv3r2xaNEi1KtXD9evX8f333+P//znP2WW64jsGXeHEdmh2rVr48SJE+jYsSMmTJiAxo0b45lnnsHevXuxYsUKAMALL7yA/fv348qVK2jbti3q16+PpUuXYtq0afjqq6/US0K7d+/GxYsXsXfvXoSHhyM0NFT9o9K5c2ccOXIEffv2Rb169fD888+jWrVq2Lt3b5ncE5Xq1aubfPklISEBO3bswK5du/D444+jdevWWLp0KSIjIyt97Tp16qBPnz549tln0aVLFzRt2hSffPKJ+vjw4cPx+eefY+3atWjSpAnat2+PdevWITo6Wud1p0+fjtjYWCQkJKBDhw4ICQlB7969Nc5588034ezsjIYNGyIwMBBXrlyBn58fvvjiC/zwww9o0qQJvvzyS8yePVvv55BIJPjhhx/Qrl07DB06FPXq1cOAAQNw+fJldX4UkaOQCGMzI4mIHMzs2bPx3XffGbTcRES2gzNBRERE5JAYBBGR1alRo4bWn4MHD1p6eERkJ7gcRkRW5+LFi1qP1axZ06b6gxGR9WIQRERERA6Jy2FERETkkBgEERERkUNiEEREREQOiUEQEREROSQGQUREROSQGAQRERGRQ2IQRERERA6JQRARERE5pP8HSi3/nfWVEUYAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj4AAAHHCAYAAAC/R1LgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABbm0lEQVR4nO3deVhUZf8/8PeAzLAoA8qmhohauKakSVC5RYKp6NO+KJLmnmaaCmkgruSCppW2KFqZWyXyNRXNNCswy0BFhdTAjUVSZFyS9f79wY/JcWZwBgZme7+uay6b+5w58znxJO/nXs4tEUIIEBEREVkBG2MXQERERNRQGHyIiIjIajD4EBERkdVg8CEiIiKrweBDREREVoPBh4iIiKwGgw8RERFZDQYfIiIishoMPkRERGQ1GHyIyCxJJBLMmTPH2GUoRUREoHXr1sYug4jug8GHiAxm/fr1kEgkype9vT0eeughvPnmmygoKKjX705JScGcOXNw/fp1g163T58+KvfUtGlTPProo1i3bh0qKysN8h0LFy5EYmKiQa5FRDVrZOwCiMjyzJ07F76+vrhz5w5++eUXrF69Grt27UJGRgYcHR0N8h3//vsvGjX676+wlJQUxMbGIiIiAi4uLgb5jmoPPPAAFi1aBAAoLCzEF198gVGjRuGvv/5CXFxcna+/cOFCPP/88xg6dGidr0VENWPwISKDGzBgAHr06AEAeOONN9CsWTPEx8djx44deOWVV2p93crKSpSWlsLe3h729vaGKve+5HI5hg0bpnw/duxY+Pn54cMPP8S8efNgZ2fXYLUQUd1wqIuI6l2/fv0AANnZ2QCApUuXIigoCM2aNYODgwO6d++Ob775Ru1zEokEb775JjZu3IhOnTpBJpNhz549ymPVc3zmzJmD6dOnAwB8fX2Vw1I5OTno3bs3unbtqrEuPz8/hISE6H0/jo6OeOyxx3Dr1i0UFhZqPe/WrVuYNm0avL29IZPJ4Ofnh6VLl0IIoXKPt27dwoYNG5R1R0RE6F0TEemGPT5EVO/OnTsHAGjWrBkA4IMPPkBYWBhee+01lJaWYvPmzXjhhRewc+dODBw4UOWzP/74I7Zu3Yo333wTbm5uGicQP/vss/jrr7+wadMmLF++HG5ubgAAd3d3DB8+HKNHj0ZGRgY6d+6s/Mzvv/+Ov/76C7Nnz67VPf3999+wtbXVOqwmhEBYWBgOHDiAUaNGoVu3bkhOTsb06dNx+fJlLF++HADw5Zdf4o033kDPnj0xZswYAEDbtm1rVRMR6UAQERlIQkKCACB++OEHUVhYKC5evCg2b94smjVrJhwcHMSlS5eEEELcvn1b5XOlpaWic+fOol+/firtAISNjY04efKk2ncBEDExMcr3S5YsEQBEdna2ynnXr18X9vb2YubMmSrtkydPFk5OTuLmzZs13lPv3r1F+/btRWFhoSgsLBSnT58WkydPFgDE4MGDleeNGDFC+Pj4KN8nJiYKAGL+/Pkq13v++eeFRCIRZ8+eVbY5OTmJESNG1FgHERkGh7qIyOCCg4Ph7u4Ob29vvPzyy2jcuDG2b9+Oli1bAgAcHByU5xYVFaG4uBhPPvkk/vzzT7Vr9e7dGx07dqx1LXK5HEOGDMGmTZuUQ0wVFRXYsmULhg4dCicnp/teIzMzE+7u7nB3d0eHDh2watUqDBw4EOvWrdP6mV27dsHW1haTJ09WaZ82bRqEENi9e3et74mIao9DXURkcB999BEeeughNGrUCJ6envDz84ONzX//P2vnzp2YP38+0tPTUVJSomyXSCRq1/L19a1zPeHh4diyZQt+/vln9OrVCz/88AMKCgowfPhwnT7funVrfPbZZ8ol+g8++CA8PDxq/Mz58+fRokULNGnSRKW9Q4cOyuNE1PAYfIjI4Hr27Klc1XWvn3/+GWFhYejVqxc+/vhjNG/eHHZ2dkhISMDXX3+tdv7dvUO1FRISAk9PT3z11Vfo1asXvvrqK3h5eSE4OFinzzs5Oel8LhGZNg51EVGD+vbbb2Fvb4/k5GSMHDkSAwYMMEio0NRbVM3W1havvvoqvvnmGxQVFSExMRGvvPIKbG1t6/y92vj4+CA3Nxc3btxQac/MzFQer1ZT7URkWAw+RNSgbG1tIZFIUFFRoWzLycmp85OLq+fqaHty8/Dhw1FUVISxY8fi5s2bKs/lqQ/PPPMMKioq8OGHH6q0L1++HBKJBAMGDFC2OTk5GfyJ00SkGYe6iKhBDRw4EPHx8QgNDcWrr76KK1eu4KOPPkK7du1w/PjxWl+3e/fuAIBZs2bh5Zdfhp2dHQYPHqwMRP7+/ujcuTO2bduGDh064JFHHjHI/WgzePBg9O3bF7NmzUJOTg66du2KvXv3YseOHZgyZYrKkvXu3bvjhx9+QHx8PFq0aAFfX18EBATUa31E1oo9PkTUoPr164e1a9ciPz8fU6ZMwaZNm/D+++/jf//7X52u++ijj2LevHk4duwYIiIi8Morr6g9XDA8PBwAdJ7UXBc2NjZISkrClClTsHPnTkyZMgWnTp3CkiVLEB8fr3JufHw8unfvjtmzZ+OVV17B6tWr670+ImslEeKuR4gSEVmwDz74AG+//TZycnLQqlUrY5dDREbA4ENEVkEIga5du6JZs2Y4cOCAscshIiPhHB8ismi3bt1CUlISDhw4gBMnTmDHjh3GLomIjIg9PkRk0XJycuDr6wsXFxdMmDABCxYsMHZJRGREDD5ERERkNbiqi4iIiKwGgw8RERFZDU5uvkdlZSVyc3PRpEkTPkaeiIjITAghcOPGDbRo0UJlU+R7MfjcIzc3F97e3sYug4iIiGrh4sWLeOCBB7QeZ/C5R5MmTQBU/YtzdnY2cjVERESkC4VCAW9vb+XvcW0YfO5RPbzl7OzM4ENERGRm7jdNhZObiYiIyGow+BAREZHVYPAhIiIiq8E5PrVQUVGBsrIyY5dBDcDOzg62trbGLoOIiAyEwUcPQgjk5+fj+vXrxi6FGpCLiwu8vLz4XCciIgvA4KOH6tDj4eEBR0dH/iK0cEII3L59G1euXAEANG/e3MgVERFRXTH46KiiokIZepo1a2bscqiBODg4AACuXLkCDw8PDnsREZk5Tm7WUfWcHkdHRyNXQg2t+mfOeV1EROaPwUdPHN6yPvyZExFZDgYfIiIishoMPkRERGQ1GHysQEREBCQSCSQSCezs7ODp6Ymnn34a69atQ2Vlpc7XWb9+PVxcXOqvUCIionrG4GMlQkNDkZeXh5ycHOzevRt9+/bFW2+9hUGDBqG8vNzY5RERkRWorKxERUWFUWtg8LESMpkMXl5eaNmyJR555BG8++672LFjB3bv3o3169cDAOLj49GlSxc4OTnB29sbEyZMwM2bNwEABw8exOuvv47i4mJl79GcOXMAAF9++SV69OiBJk2awMvLC6+++qry2TdEREQAsHv3bsybNw+ff/65Uetg8KkDIQRKS0uN8hJC1Ln+fv36oWvXrvjuu+8AADY2Nli5ciVOnjyJDRs24Mcff8SMGTMAAEFBQVixYgWcnZ2Rl5eHvLw8vPPOOwCqlnnPmzcPx44dQ2JiInJychAREVHn+oiIyPyVlZUhNjYWR44cAVD1MGBD/A6rLT7AsA7KysqwaNEio3x3VFQUpFJpna/Tvn17HD9+HAAwZcoUZXvr1q0xf/58jBs3Dh9//DGkUinkcjkkEgm8vLxUrjFy5EjlP7dp0wYrV67Eo48+ips3b6Jx48Z1rpGIiMzTr7/+ih9++EGlbebMmUZ9TAiDj5UTQij/B/jDDz9g0aJFyMzMhEKhQHl5Oe7cuYPbt2/X+ODGo0ePYs6cOTh27BiKioqUE6YvXLiAjh07Nsh9EBGR6UhKAtLSYlXanJ0fxNtvv2qkiv7D4FMHdnZ2iIqKMtp3G8Lp06fh6+uLnJwcDBo0COPHj8eCBQvQtGlT/PLLLxg1ahRKS0u1Bp9bt24hJCQEISEh2LhxI9zd3XHhwgWEhISgtLTUIDUSEZH5KCoqQlraSpW2n39+ArdvP4W33zZSUXdh8KkDiURikOEmY/nxxx9x4sQJvP322zh69CgqKyuxbNky2NhUTf3aunWryvlSqVRtNn5mZiauXr2KuLg4eHt7AwD++OOPhrkBIiIyKevXr8f58+dV2jp3nobk5MaIjDRSUfdg8LESJSUlyM/PR0VFBQoKCrBnzx4sWrQIgwYNQnh4ODIyMlBWVoZVq1Zh8ODB+PXXX7FmzRqVa7Ru3Ro3b97E/v370bVrVzg6OqJVq1aQSqVYtWoVxo0bh4yMDMybN89Id0lERMYSGxur1hYTEwMAeO65hq5GO67qshJ79uxB8+bN0bp1a4SGhuLAgQNYuXIlduzYAVtbW3Tt2hXx8fF4//330blzZ2zcuFFt4nZQUBDGjRuHl156Ce7u7li8eDHc3d2xfv16bNu2DR07dkRcXByWLl1qpLskIqKGVlhYqBZ62rZtqww9pkYijLmmzAQpFArI5XIUFxfD2dlZ2X7nzh1kZ2fD19cX9vb2RqyQGhp/9kREmmnq5ZkyZQrkcnmD16Lt9/e92ONDREREetM2tFVT6ElKAoKCqv40Fs7xISIiovtKSgLi4oB+/TJhZ7dF5djt2654/PHJ971GXByQmlr1Z1hYfVVaMwYfIiIiuq+4OCAkpG5DW5GRVdcx5govDnURERGRkrbhKE2h535DW/cKCwNSUozX2wMw+BAREdFd7h6OAoCdO3dqnM+TnBxj1Lk6tcXgQ0REREqRkUBgYNWfsbGxOHr0qMrxSZMmITk5RiUcmRMGHyIiIlKqHo66d68tAPD3j0HTpk1VwpG54eRmIiIiUtq8eTOysrLU2u9+IGFYmHHn6dQFgw8REREB0PxsnsmTJ8PV1dUI1dQPsxrqOnToEAYPHowWLVpAIpEgMTFR5bgQAtHR0WjevDkcHBwQHByMM2fOGKdYKxQREYGhQ4cq3/fp0wdTpkyp0zUNcQ0iIqqZEELrAwktKfQAZhZ8bt26ha5du+Kjjz7SeHzx4sVYuXIl1qxZg99++w1OTk4ICQnBnTt3GrhS0xIREQGJRKLcTb5du3aYO3cuysvL6/V7v/vuO503LD148CAkEgmuX79e62sQEZH+li5dirlz56q1m+peW3VlVkNdAwYMwIABAzQeE0JgxYoVmD17NoYMGQIA+OKLL+Dp6YnExES8/PLLDVmqyQkNDUVCQgJKSkqwa9cuTJw4EXZ2doiKilI5r7S0FFKp1CDf2bRpU5O4BhERaaapl2fp0qno0qUJLDT3mFePT02ys7ORn5+P4OBgZZtcLkdAQABSU1O1fq6kpAQKhULlZYlkMhm8vLzg4+OD8ePHIzg4GElJScrhqQULFqBFixbw8/MDAFy8eBEvvvgiXFxc0LRpUwwZMgQ5OTnK61VUVGDq1KlwcXFBs2bNMGPGDNy73+29w1QlJSWYOXMmvL29IZPJ0K5dO6xduxY5OTno27cvAMDV1RUSiQQREREar1FUVITw8HC4urrC0dERAwYMUBnOXL9+PVxcXJCcnIwOHTqgcePGCA0NRV5envKcgwcPomfPnnBycoKLiwsef/xxnD9/3kD/pomITF9FRYXG0OPvH4MuXZqY5WotXVlM8MnPzwcAeHp6qrR7enoqj2myaNEiyOVy5cvb27te6zQVDg4OKC0tBQDs378fWVlZ2LdvH3bu3ImysjKEhISgSZMm+Pnnn/Hrr78qA0T1Z5YtW4b169dj3bp1+OWXX3Dt2jVs3769xu8MDw/Hpk2bsHLlSpw+fRqffPIJGjduDG9vb3z77bcAgKysLOTl5eGDDz7QeI2IiAj88ccfSEpKQmpqKoQQeOaZZ1BWVqY85/bt21i6dCm+/PJLHDp0CBcuXMA777wDACgvL8fQoUPRu3dvHD9+HKmpqRgzZgwkEkmd/50SEZmD2NhYzJ8/X609JibGJJ6sXN/MaqirPkRFRWHq1KnK9wqFwqLDjxAC+/fvR3JyMiZNmoTCwkI4OTnh888/Vw5xffXVV6isrMTnn3+uDAQJCQlwcXHBwYMH0b9/f6xYsQJRUVF49tlnAQBr1qxBcnKy1u/966+/sHXrVuzbt0/ZK9emTRvl8eohLQ8PD7i4uGi8xpkzZ5CUlIRff/0VQUFBAICNGzfC29sbiYmJeOGFFwAAZWVlWLNmDdq2bQsAePPNN5Xj1wqFAsXFxRg0aJDyeIcOHfT/F0lEZIY09fLMnDkT9vb2RqjGOCymx8fLywsAUFBQoNJeUFCgPKaJTCaDs7OzyqshaNsLpb7s3LkTjRs3hr29PQYMGICXXnoJc+bMAQB06dJFZV7PsWPHcPbsWTRp0gSNGzdG48aN0bRpU9y5cwfnzp1DcXEx8vLyEBAQoPxMo0aN0KNHD63fn56eDltbW/Tu3bvW93D69Gk0atRI5XubNWsGPz8/nD59Wtnm6OioDDUA0Lx5c1y5cgVAVcCKiIhASEgIBg8ejA8++EBlGIyIyBKVlpZqXbVlTaEHsKAeH19fX3h5eWH//v3o1q0bgKr/d//bb79h/Pjxxi1Og7v3QmmILsW+ffti9erVkEqlaNGiBRo1+u9H7+TkpHLuzZs30b17d2zcuFHtOu7u7rX6fgcHh1p9rjbs7OxU3kskEpX5RwkJCZg8eTL27NmDLVu2YPbs2di3bx8ee+yxBquRiKghJCVpfgIzYLmrtu7HrHp8bt68ifT0dKSnpwOomtCcnp6OCxcuQCKRYMqUKZg/fz6SkpJw4sQJhIeHo0WLFirPljEVDf24bycnJ7Rr1w6tWrVSCT2aPPLIIzhz5gw8PDzQrl07lVf1XKjmzZvjt99+U36mvLxcbT+Xu3Xp0gWVlZX46aefNB6v7nGqqKjQeo0OHTqgvLxc5XuvXr2KrKwsdOzYscZ7upe/vz+ioqKQkpKCzp074+uvv9br80RE5kBT6Hn33XetNvQAZhZ8/vjjD/j7+8Pf3x8AMHXqVPj7+yM6OhoAMGPGDEyaNAljxozBo48+ips3b2LPnj0m2Y1nyhPIXnvtNbi5uWHIkCH4+eefkZ2djYMHD2Ly5Mm4dOkSAOCtt95CXFwcEhMTkZmZiQkTJqg9g+durVu3xogRIzBy5EgkJiYqr7l161YAgI+PDyQSCXbu3InCwkLcvHlT7RoPPvgghgwZgtGjR+OXX37BsWPHMGzYMLRs2VL5CIP7yc7ORlRUFFJTU3H+/Hns3bsXZ86c4TwfIrIot27d0jq0dW+vuLUxq6GuPn36qC2ZvptEIsHcuXM1PoiJdOfo6IhDhw5h5syZePbZZ3Hjxg20bNkSTz31lHIO1LRp05CXl4cRI0bAxsYGI0eOxP/+9z8UFxdrve7q1avx7rvvYsKECbh69SpatWqFd999FwDQsmVLxMbGIjIyEq+//jrCw8Oxfv16tWskJCTgrbfewqBBg1BaWopevXph165dOv+H7OjoiMzMTGzYsAFXr15F8+bNMXHiRIwdO1b/f1FERCZIU+ABrHdo614SUVOSsEIKhQJyuRzFxcUqE53v3LmD7Oxs+Pr6mmQPEtUf/uyJyBxom8/z3nvvwcbGrAZ4akXb7+97mVWPDxEREam7du0a0tJWqbWzl0cdgw8REZEZ0zS0ZWdnp5xKQKoYfIiIiMyUptATHR3Np9HXwPIH/YiIiCzMuXPnNIae5OQYhp77YI+PnjgX3PrwZ05EpkTbqq3k5BiL3lzUUNjjo6Pq5dK3b982ciXU0Kp/5tb+7AsiMj5Noae0NAb+/pzErCv2+OjI1tYWLi4uyj2fHB0d2Z1o4YQQuH37Nq5cuQIXFxfY2toauyQislJpaWlI0rC5Y/WqraCght0GyZwx+OiherPT6vBD1sHFxaXGjW6JiOqTtqEtf/8YBAVVbX0UGVkVejjUdX98gOE9dHkAUkVFBcrKyhq4MjIGOzs79vQQkdFo23YC+K+XJzCwagska8cHGNYjW1tb/jIkIqJ6c/DgQY2bOt/9QEL28tQOgw8REZEJ0dTL07hxY0ybNk2lLSyM83lqg8GHiIjIRNQ0tEWGweBDRERkZImJiTh27JhaO0OP4TH4EBERGZGmXh4fHx9EREQ0fDFWgMGHiIjISDi01fAYfIiIiBrYxx9/jMLCQrV2hp76x+BDRETUgDT18ly8+Ag+/3ywEaqxPtyri4iIqIFo21E9LIyhp6Gwx4eIiKieadt2IiYmBhzdaljs8SEiIqpHmkJP7969lfN5kpKqtp/QsAcp1QP2+BAREdUTXVZtxcVxZ/WGxOBDRERkYDUNbd2Le241LAYfIiIiA9IUesrLwzBvnr/G87nnVsPiHB8iIiID0RR65syJwYoVmkMPNTz2+BAREdWRtqGt0tIYNG4MTJ7cwAWRVgw+REREekhK+m9OTliY5tDz4osvokOHDgCABQsaukKqCYMPERGRHv5bhSWQljZX7Ti3nTBtDD5ERER6iIwE0tI0D235+8cgKOi/3iAyPQw+REREetAUet544w20bNkSQUF8Jo+ps8hVXR999BFat24Ne3t7BAQE4MiRI8YuiYiIzFx5ebnG+Tz+/jFo2bIlgKqensBAPpPHlEmEEMLYRRjSli1bEB4ejjVr1iAgIAArVqzAtm3bkJWVBQ8Pj/t+XqFQQC6Xo7i4GM7Ozg1QMRERmTptq7bmzIlBYCCQktLABZEaXX9/W1yPT3x8PEaPHo3XX38dHTt2xJo1a+Do6Ih169YZuzQiIjJDmkJPhw5vYvPmGPj5sXfH3FhU8CktLcXRo0cRHBysbLOxsUFwcDBSU1ONWBkREZmbW7duad1ra8WKZsjMBJo25Vwec2NRk5v/+ecfVFRUwNPTU6Xd09MTmZmZGj9TUlKCkpIS5XuFQlGvNRIRkWm6+/k82lZtVS9V5/5a5suienxqY9GiRZDL5cqXt7e3sUsiIiIjqH4+j6bQ8+OP78Df/7/n84SFVc3rYW+P+bGo4OPm5gZbW1sUFBSotBcUFMDLy0vjZ6KiolBcXKx8Xbx4sSFKJSIiEzNlyj+YM0c99CQnx+DQISfExRmhKDI4iwo+UqkU3bt3x/79+5VtlZWV2L9/PwIDAzV+RiaTwdnZWeVFRESWJykJCAqq+vNesbGxOH36I7X2mJgYLlG3MBY1xwcApk6dihEjRqBHjx7o2bMnVqxYgVu3buH11183dmlERGRE/201oTpEpWkC875972LGDDsAVedySMtyWFzweemll1BYWIjo6Gjk5+ejW7du2LNnj9qEZyIisi73TkjOycnBhg0b1M5bujQGN2/y6cuWyuIeYFhXfIAhEZHl0/ZAwk2bYpCVBTRuDGzcyOBjTnT9/W1xPT5EREQ10RR6kpOjkZoqQfv2/83nYeixTAw+RERkFY4dO4bExES19piYGPj7/zcMxsBj2Rh8iIjI4mkb2qp+ICEnMFsPBh8iIrJo2radIOvE4ENERBZp//79+OWXX9TaGXqsG4MPERFZnPsNbZH1YvAhIiKLwqEtqgmDDxERWYSvvvoK586dU2tn6KG7WdReXUREZJ1iY2M1hp6lSxl6SBV7fIiIyKxpGtoqLY3BypXA5MlGKIhMGoMPERGZpYULF6KsrEytvXpoa8GChq6IzAGHuoiIyKQkJQFBQVV/ahMbG6sx9Pj7c2iLasYeHyIiMilxcUBqqvbd0blqi+qCwYeIiExKZOR/+2bdTduzedjLQ/rgUBcREZm8mkIP99gifbDHh4iITMq9Q10c2iJDYvAhIiKTUj3UFRISC00dPQw9VBcMPkREZFLCwoC0NPXE4+npiXHjxhmhIrIkDD5ERGRSOLRF9YnBh4iITAJ3VKeGwOBDRERGlZSkeWirW7duGDJkiBEqIkvG4ENEREaRlPTfJOZ7sZeH6guDDxERGUVaWixCQtTbGXqoPvEBhkREVC+07bmVlKR5Ps/TTz/N0EP1jj0+RERULzTtuSWEQFraXLVzGXiooTD4EBFRvbh3zy2u2iJTwOBDRET1orqXJy5O86qtF198ER06dGjgqsjaMfgQEVG9Wby4DCEhC9Xa2ctDxsLgQ0RE9SI2NhZPP63eztBDxsTgQ0REBqdpPs9DD43CK688YIRqiP7D5exERFQndy9bv3nzpta9thh6yBSYTfBZsGABgoKC4OjoCBcXF43nXLhwAQMHDoSjoyM8PDwwffp0lJeXN2yhRERWpnrZelpaLJYtW6Z2nENbZErMZqirtLQUL7zwAgIDA7F27Vq14xUVFRg4cCC8vLyQkpKCvLw8hIeHw87ODgsXqk+sIyIiw4iM1Lxq66233tL6f1SJjEUihBDGLkIf69evx5QpU3D9+nWV9t27d2PQoEHIzc2Fp6cnAGDNmjWYOXMmCgsLIZVKdbq+QqGAXC5HcXExnJ2dDV0+EZFFyc/PxyeffKLWzl4eami6/v42m6Gu+0lNTUWXLl2UoQcAQkJCoFAocPLkSa2fKykpgUKhUHkREdH9xcbGMvSQ2TGboa77yc/PVwk9AJTv8/PztX5u0aJFWp8mSkREmmn6ezMyMhIymcwI1RDpzqg9PpGRkZBIJDW+MjMz67WGqKgoFBcXK18XL16s1+8jIjJnmZmZWldtMfSQOTBqj8+0adMQERFR4zlt2rTR6VpeXl44cuSISltBQYHymDYymYz/sRIR6YB7bZElMGrwcXd3h7u7u0GuFRgYiAULFuDKlSvw8PAAAOzbtw/Ozs7o2LGjQb6DiMhaaQo97733HmxsLGaqKFkJs5njc+HCBVy7dg0XLlxARUUF0tPTAQDt2rVD48aN0b9/f3Ts2BHDhw/H4sWLkZ+fj9mzZ2PixIns0SEiqqWUlBTs27dPrZ29PGSuzGY5e0REBDZs2KDWfuDAAfTp0wcAcP78eYwfPx4HDx6Ek5MTRowYgbi4ODRqpHu+43J2IrJGSUlVDyKMjKzaVT0pSfOzeQCGHjJNuv7+Npvg01AYfIjIGgUFVT19OTAQSEnRPLTFwEOmzOqe40NERLUXGVkVeoKDExl6yKKZzRwfIiKqP2FhHNoi68DgQ0RE7OUhq8HgQ0RkhaonMw8Z8jHu3ClUO87QQ5aKwYeIyArFxQEhIbG4c0f9GEMPWTIGHyIiKxQSwqEtsk4MPkREVoTbTpC143J2IiIrwdBDxB4fIiKrwFVbRFUYfIiILBh7eYhUcaiLiMhCMfQQqdO7x8fW1hZ5eXnw8PBQab969So8PDxQUVFhsOKIiKh2OLRFpJnewUfbnqYlJSWQSqV1LoiIiHR3767q7OUhqpnOwWflypUAAIlEgs8//xyNGzdWHquoqMChQ4fQvn17w1dIRERqqgNPURGQmVn1z5r22pJKpYiKijJChUSmSefgs3z5cgBVPT5r1qyBra2t8phUKkXr1q2xZs0aw1dIRERq4uKA1FTAz69qV3U+kJBINzoHn+zsbABA37598d1338HV1bXeiiIioppFRv637YQmDD1Emum9quvAgQMMPUREDSwpCQgKqvoTqJrPoyn0tGnThqGHqAZ6T24eOXJkjcfXrVtX62KIiEiz6qGtuDjtk5gZeIjuT+/gU1RUpPK+rKwMGRkZuH79Ovr162ewwoiI6D93D21pWrjF0EOkG72Dz/bt29XaKisrMX78eLRt29YgRRERkaqwMM2rtjw9H8e4ccFGqIjIPEmEtgfz6CkrKwt9+vRBXl6eIS5nNAqFAnK5HMXFxXB2djZ2OUREEEJg7ty5au3s5SH6j66/vw22V9e5c+dQXl5uqMsREVm9pCTNvTwAQw9RbekdfKZOnaryXgiBvLw8fP/99xgxYoTBCiMisnaaQs/gwYPxyCOPGKEaIsugd/BJS0tTeW9jYwN3d3csW7bsviu+iIjo/srLy7FgwQK1dvbyENWd3sHnwIED9VEHERFB+15b/v4MPUSGUOs5PleuXEFWVhYAwM/PT223diIiUnfvpqJ30xR6IiIi4OPj00DVEVk+vZ/crFAoMHz4cLRo0QK9e/dG79690bJlSwwbNgzFxcX1USMRkcW4+0GE1W7duqX1gYQMPUSGpXfwGT16NH777Td8//33uH79Oq5fv46dO3fijz/+wNixY+ujRiIiixEZWbWpaGRk1fvY2FgsXbpU7TzO5yGqH3o/x8fJyQnJycl44oknVNp//vlnhIaG4tatWwYtsKHxOT5E1FA09fJMmjQJTZs2NUI1ROZN19/fevf4NGvWDHK5XK1dLpdz81IiIi3u3mT0ypUrWoe2GHqI6pfewWf27NmYOnUq8vPzlW35+fmYPn063nvvPYMWVy0nJwejRo2Cr68vHBwc0LZtW8TExKC0tFTlvOPHj+PJJ5+Evb09vL29sXjx4nqph4hIX9Vze9LSYrF69Wq14xzaImoYeq/qWr16Nc6ePYtWrVqhVatWAIALFy5AJpOhsLAQn3zyifLcP//80yBFZmZmorKyEp988gnatWuHjIwMjB49Grdu3VKOjSsUCvTv3x/BwcFYs2YNTpw4gZEjR8LFxQVjxowxSB1ERPq4ewVXZKTmBxLOmDEDDg4ORqiOyDrpHXyGDBkCiURSH7VoFRoaitDQUOX7Nm3aICsrC6tXr1YGn40bN6K0tBTr1q2DVCpFp06dkJ6ejvj4eAYfIjKK6l6ezz47hx49vlI7zl4eooand/CZM2dOPZShv+LiYpWx8NTUVPTq1QtSqVTZFhISgvfffx9FRUVa5x+VlJSgpKRE+V6hUNRf0URkVbT18gAMPUTGovccnzZt2uDq1atq7devX0ebNm0MUtT9nD17FqtWrVJZPp+fnw9PT0+V86rf3z0f6V6LFi2CXC5Xvry9veunaCKyOppCz+zZsxl6iIxI7+CTk5ODiooKtfaSkhJcunRJr2tFRkZCIpHU+MrMzFT5zOXLlxEaGooXXngBo0eP1rd8NVFRUSguLla+Ll68WOdrEpF1+/PPP7Wu2rK1tTVCRURUTeehrqSkJOU/Jycnqyxpr6iowP79++Hr66vXl0+bNg0RERE1nnN3L1Jubi769u2LoKAgfPrppyrneXl5oaCgQKWt+r2Xl5fW68tkMshkMr3qJiLSRtteW+zlITINOgefoUOHAgAkEglGjBihcszOzg6tW7fGsmXL9Ppyd3d3uLu763Tu5cuX0bdvX3Tv3h0JCQmwsVHtrAoMDMSsWbNQVlYGOzs7AMC+ffvg5+fH5wsRUYPQFHqio6MbfEEIEWmnc/CprKwEAPj6+uL333+Hm5tbvRV1r8uXL6NPnz7w8fHB0qVLUVhYqDxW3Zvz6quvIjY2FqNGjcLMmTORkZGBDz74AMuXL2+wOonIOu3duxepqalq7f7+MWDmITIteq/qys7Oro86arRv3z6cPXsWZ8+exQMPPKByrHrHDblcjr1792LixIno3r073NzcEB0dzaXsRFSvOLRFZF703qtr7ty5NR6Pjo6uU0HGxr26iEhX2iYwE1HD0/X3t949Ptu3b1d5X1ZWhuzsbDRq1Aht27Y1++BDRHQ/mzZtwl9//aXWztBDZPr0Dj5paWlqbQqFAhEREfjf//5nkKKIiEwVh7aIzJveQ13anDhxAoMHD0ZOTo4hLmc0HOoiIm00hR5//xiEhRmhGCJSUW9DXdpUPwCQiMjSxMfH48aNG2rtc+bEIDAQDD5EZkTv4LNy5UqV90II5OXl4csvv8SAAQMMVhgRkSnQNrTl718VeiIjG7ggIqoTvYe67n06s42NDdzd3dGvXz9ERUWhSZMmBi2woXGoi4iqaQo9yckxSEkxQjFEVKN6G+oyxnN8iIgakrZenuTkGPbwEJm5Ws3xuX79Os6ePQsAaNeuHVxcXAxZExGR0dS0aosLt4jMn167s+fk5GDgwIFwc3NDQEAAAgIC4ObmhkGDBpn9ai4iIm2rtpKTY3DXPs1EZMZ0nuNz8eJFPProo7Czs8OECRPQoUMHAMCpU6ewevVqlJeX4/fff1fbUsLccI4PkfWpqZcnKAhITQUCA8G5PUQmTNff3zoHn1GjRuHs2bNITk6Gvb29yrF///0XoaGhePDBB/H555/XrXIjY/AhsmxJSUBcXNVqrLAwzaHH3d0dEyZM0Hg+EZkmgwefli1bYsuWLXjiiSc0Hj906BBefvll5Obm1q5iE8HgQ2TZ7u7BCQnhXltElsLgq7r++ecftG7dWuvxNm3a4Nq1a3oVSUTUUKp7bvr21Rx4gKpVW/7+7NkhsmQ6T25u3rw5Tp06pfV4RkYGvLy8DFIUEZGhxcVV9fRIpeqhp0uXLkhOjkFqatV5RGS5dO7xGTp0KN555x3s378f7u7uKseuXLmCmTNnYujQoYauj4jIICIjgbQ0zau2qnuCqs8jIsul8xyfoqIiBAQEID8/H8OGDUP79u0hhMDp06fx9ddfw8vLC4cPH0bTpk3ru+Z6xTk+RJaHq7aILJ/B5/i4urrit99+w7vvvovNmzfj+vXrAAAXFxe8+uqrWLhwodmHHiKyPJpCT3BwMB5//HEAVT081au2iMjy6b1XF1C1MWlhYSGAqmWfEonE4IUZC3t8iCyDEAJz585Va+eqLSLLVG97dQGARCKBh4dHrYsjIqpPNQ1tEZF102vLCiIiU6cp9Lz00kuIianadiIoCNx+gsiKMfgQkVmrDjM7dlRoDD0xMTFo3749gP+WtHPJOpH1YvAhIrMWF1f1QML09Plqx+4d2oqMrFq9xYnMRNarVnN8iIhMhaanMKemjsaePS3U2sPC+FRmImunU/BZuXKlzhecPHlyrYshItLVnTt38P7776u1JyfHsEeHiLTSaTm7r6+vbheTSPD333/XuShj4nJ2ItPHVVtEdC+DLmfPzs42WGFERHWhKfRMmTIFcrncCNUQkbmp9eTm0tJSZGVloby83JD1EBGpqF619c03xVpXbTH0EJGu9A4+t2/fxqhRo+Do6IhOnTrhwoULAIBJkyYhjmtEicjAqldtnTy5Qu0Yh7aISF96B5+oqCgcO3YMBw8ehL29vbI9ODgYW7ZsMWhxRESaVm1FRkYy9BBRrei9nD0xMRFbtmzBY489prJHV6dOnXDu3DmDFkdE1is/Px+ffPKJWjsDDxHVhd49PoWFhRr36bp161a9blYaFhaGVq1awd7eHs2bN8fw4cORm5urcs7x48fx5JNPwt7eHt7e3li8eHG91UNE9Sc2NlZj6ElOZughorrRO/j06NED33//vfJ9ddj5/PPPERgYaLjK7tG3b19s3boVWVlZ+Pbbb3Hu3Dk8//zzyuMKhQL9+/eHj48Pjh49iiVLlmDOnDn49NNP660mIjI8TROYu3WbzefzEJFB6PQcn7v98ssvGDBgAIYNG4b169dj7NixOHXqFFJSUvDTTz+he/fu9VWriqSkJAwdOhQlJSWws7PD6tWrMWvWLOTn50MqlQKomgeQmJiIzMxMna/L5/gQGceZM2fw9ddfq7VzaIuIdKHr72+9e3yeeOIJpKeno7y8HF26dMHevXvh4eGB1NTUBgs9165dw8aNGxEUFAQ7OzsAQGpqKnr16qUMPQAQEhKCrKwsFBUVNUhdRFQ7sbGxDD1E1CBqtVdX27Zt8dlnnxm6lvuaOXMmPvzwQ9y+fRuPPfYYdu7cqTyWn5+v9oRpT09P5TFXV1eN1ywpKUFJSYnyvUKhqIfKiUgbTUNb0dHR9TpnkIisl049PgqFQueXPiIjIyGRSGp83T1MNX36dKSlpWHv3r2wtbVFeHg49BypU7No0SLI5XLly9vbu07XIyLdpKWlaX0gIUMPEdUXneb42NjY6PwXUUVFhc5fXlhYiKtXr9Z4Tps2bVSGr6pdunQJ3t7eSElJQWBgIMLDw6FQKJCYmKg858CBA+jXrx+uXbumV4+Pt7c35/gQ1SPutUVEhmbQvboOHDig/OecnBxERkYiIiJCuYorNTUVGzZswKJFi/Qq0t3dHe7u7np9plplZSUAKENLYGAgZs2ahbKyMuW8n3379sHPz09r6AEAmUwGmUxWqxqISH/aenmIiBqC3qu6nnrqKbzxxht45ZVXVNq//vprfPrppzh48KAh6wMA/Pbbb/j999/xxBNPwNXVFefOncN7772HgoICnDx5EjKZDMXFxfDz80P//v0xc+ZMZGRkYOTIkVi+fDnGjBmj83dxVRdR/Thw4AAOHTqk1s7QQ0SGUG+rulJTU9GjRw+19h49euDIkSP6Xk4njo6O+O677/DUU0/Bz88Po0aNwsMPP4yffvpJ2Vsjl8uxd+9eZGdno3v37pg2bRqio6P1Cj1EVD9iY2MZeojIJOjd4+Pn54chQ4aoPRV5xowZ2LFjB7KysgxaYENjjw+RYXFoi4gagkHn+Nxt+fLleO6557B7924EBAQAAI4cOYIzZ87g22+/rX3FRGRRduzYgfT0dLV2hh4iMia9h7qeeeYZnDlzBoMHD8a1a9dw7do1DB48GH/99ReeeeaZ+qiRiMxMbGysWugRAvD3Z+ghIuPSe6jL0nGoi6hu9BnaSkoC4uKAyEggLKy+KyMiS1ZvQ10AcP36daxduxanT58GAHTq1AkjR46EXC6vXbVEZPbWrl2LS5cuqbXXNLQVFwekplb9yeBDRA1B76GuP/74A23btsXy5cuVQ13x8fFo27Yt/vzzz/qokYhMXGxsrFro8fLyuu98nshIIDAQ3HWdiBqM3kNdTz75JNq1a4fPPvsMjRpVdRiVl5fjjTfewN9//61xyao54VAXkX64aouITIGuv7/1Dj4ODg5IS0tD+/btVdpPnTqFHj164Pbt27Wr2EQw+BDp5sMPP9S45QxDDxEZQ73N8XF2dsaFCxfUgs/FixfRpEkT/SslIrOjqZfn0iV/fPYZJ+oQkWnTe47PSy+9hFGjRmHLli24ePEiLl68iM2bN2vcxoKILI+m0JOcHIPBgxl6iMj06d3js3TpUkgkEoSHh6O8vBwAYGdnh/HjxyMuLs7gBRKRaahpR3WObhGRuaj1c3xu376Nc+fOAQDatm0LR0dHgxZmLJzjQ6ROU+h5+umnERQUpHzPZ/IQkTHV2+RmS8fgQ6RK11VbQUFVz+QJDARSUhqiMiKi/xh8cvPIkSN1Om/dunW6XpKITFhNQ1uaREb+1+NDRGSqdA4+69evh4+PD/z9/cFOIiLLpin0PPfcc+jcubPWz4SFcYiLiEyfzsFn/Pjx2LRpE7Kzs/H6669j2LBhaNq0aX3WRkQNTAiBuXPnqrXr8mwezvEhInOg1xyfkpISfPfdd1i3bh1SUlIwcOBAjBo1Cv3794dEIqnPOhsM5/iQtdJ3aOtenONDRMZU75Obz58/j/Xr1+OLL75AeXk5Tp48icaNG9e6YFPB4EPWSFPoiYiIgI+Pj87XYI8PERlTve7ODgA2NjaQSCQQQqCioqK2lyEiI6qsrMS8efPU2muz7QTn+BCROdAr+Nw91PXLL79g0KBB+PDDDxEaGgobG70fAk1ERqRtaMvfn08jJCLLpXPwmTBhAjZv3gxvb2+MHDkSmzZtgpubW33WRkT1RFPo+fnnidi/3w2Bgey5ISLLpXPwWbNmDVq1aoU2bdrgp59+wk8//aTxvO+++85gxRGRYZWVlWHhwoVq7TExMUhKAm7f5nN4iMiy6Rx8wsPDLWblFpE1ut+qLc7RISJroNcDDInIPGkKPdOmTbOIlZhERPqo9aouIjJ9//77LxYvXqzWXptVW0REloDBh8hC1fWBhERElojBh8gCaQo9UVFRkEqlRqiGiMh0MPgQWRCFQoHly5ertbOXh4ioCoMPkYXg0BYR0f3xcctEFkBT6Nmy5T34+1c9nycoqGovLSIia8ceHyIzVlhYiI8//litfc6cql6euLiq96mpVf/M5/QQkbVj8CEyUzXtteXnB0gk/z2FuXrXdCIia2d2waekpAQBAQE4duwY0tLS0K1bN+Wx48ePY+LEifj999/h7u6OSZMmYcaMGcYrlqieaAo90dHRyqer39uzw54eIqIqZjfHZ8aMGWjRooVau0KhQP/+/eHj44OjR49iyZIlmDNnDj799FMjVElUPy5evKgx9MTExHBLGSIiHZhVj8/u3buxd+9efPvtt9i9e7fKsY0bN6K0tBTr1q2DVCpFp06dkJ6ejvj4eIwZM8ZIFRMZjqbA06hRI8yaNcsI1RARmSezCT4FBQUYPXo0EhMT4ejoqHY8NTUVvXr1UnlAW0hICN5//30UFRXB1dVV43VLSkpQUlKifK9QKAxfPFEdaevlISIi/ZjFUJcQAhERERg3bhx69Oih8Zz8/Hx4enqqtFW/z8/P13rtRYsWQS6XK1/e3t6GK5yojrKyshh6iIgMyKjBJzIyEhKJpMZXZmYmVq1ahRs3biAqKsrgNURFRaG4uFj5unjxosG/g6g2YmNjsXnzZpU2T09PZejh83mIiPRn1KGuadOmISIiosZz2rRpgx9//BGpqamQyWQqx3r06IHXXnsNGzZsgJeXFwoKClSOV7/38vLSen2ZTKZ2XSJj06WXJy6Oz+chItKXUYOPu7s73N3d73veypUrMX/+fOX73NxchISEYMuWLQgICAAABAYGYtasWSgrK4OdnR0AYN++ffDz89M6v4fI1Bw+fBjJyclq7ZqGtiIj+XweIiJ9SYQQwthF6CsnJwe+vr4qz/EpLi6Gn58f+vfvj5kzZyIjIwMjR47E8uXL9VrVpVAoIJfLUVxcDGdn53q6AyJ1mnp5fH19ER4eboRqiIjMi66/v81mVdf9yOVy7N27FxMnTkT37t3h5uaG6OhoLmUns8AJzEREDcMse3zqE3t8qCHt27cPKSkpau13T2CuHs7iPB4iIu2srseHyNxo6uXx9/dH2F0JhxOYiYgMi8GHyAh0HdriBGYiIsNi8CFqQDt27EB6erpau7b5PGFh7OkhIjIkBh+iBqKpl6dFi6eRkBAEf38GHCKihmAWW1YQmTttQ1sJCUHKOTxERFT/2ONDVI/Wr1+P8+fPq7VXD21xDg8RUcNi8CGqJ5p6eZ599ll06dJF+Z5zeIiIGhaHuojqgbahrbtDz9244SgRUcNgjw+RAS1fvhwKhUKt/X5PYebzeoiIGgaDD5GBaOrlGT58ONq0aXPfz3KuDxFRw2DwITKAuu61xbk+REQNg8GHqA4WLVqE0tJStXZuMEpEZJoYfIhqSVMvz7hx4+Dp6WmEaoiISBcMPkR6EkJg7ty5au3s5SEiMn1czk6kh2XLltUYergsnYjItLHHh0hHmoa2OnWagueflyvfc1k6EZFpY48P0X1UVFRoXbUllcpVengiI4HAQC5LJyIyVRIhhDB2EaZEoVBALpejuLgYzs7Oxi6HjExT4AH+G9oKCqrq4QkMBFJSGrIyIiK6m66/vznURaSFptAzc+ZM2NvbK9/zwYNEROaFwYfoHqWlpVi0aJFau6ZVW3zwIBGReeEcHyvCFUf3Fxsbq3PoISIi88MeHyvCFUc10zS0NWvWLDRqxP9MiIgsBXt8rAhXHGl2+/Ztrau2GHqIiCwL/1a3IpyPok5T4JFIJIiOjjZCNUREVN8YfMhqaQo97733Hmxs2BFKRGSpGHzI6ty4cQPx8fFq7ZzATERk+Rh8yKpo6uVxdXXF5MmTjVANERE1NAYfshqaQk90dDQkEokRqiEiImPgZAayeFevXtUYevz9Y/D44xI+14iIyIqwx4csmuYd1Tvh+eefV+6zxecaERFZD7Pp8WndujUkEonKKy4uTuWc48eP48knn4S9vT28vb2xePFiI1VLpkDbs3mef/55AHyuERGRNTKrHp+5c+di9OjRyvdNmjRR/rNCoUD//v0RHByMNWvW4MSJExg5ciRcXFwwZswYY5RLRpKbm4vPPvtMrf3eVVt8rhERkfUxq+DTpEkTeHl5aTy2ceNGlJaWYt26dZBKpejUqRPS09MRHx/P4GNFNPXyBAQEIDQ01AjVEBGRqTGboS4AiIuLQ7NmzeDv748lS5agvLxceSw1NRW9evWCVCpVtoWEhCArKwtFRUVar1lSUgKFQqHyIvOkbWiLoYeIiKqZTY/P5MmT8cgjj6Bp06ZISUlBVFQU8vLylA+iy8/Ph6+vr8pnPD09lcdcXV01XnfRokUaf2GS+cjOzsYXX3yh1s4HEhIR0b2MGnwiIyPx/vvv13jO6dOn0b59e0ydOlXZ9vDDD0MqlWLs2LFYtGgRZDJZrWuIiopSubZCoYC3t3etr0cNS1Nofeqpp/DEE08YoRoiIjJ1Rg0+06ZNQ0RERI3ntGnTRmN7QEAAysvLkZOTAz8/P3h5eaGgoEDlnOr32uYFAYBMJqtTcCLj0Ta0RUREpI1Rg4+7uzvc3d1r9dn09HTY2NjAw8MDABAYGIhZs2ahrKwMdnZ2AIB9+/bBz89P6zAXmadTp05h27Ztau0MPUREdD9mMccnNTUVv/32G/r27YsmTZogNTUVb7/9NoYNG6YMNa+++ipiY2MxatQozJw5ExkZGfjggw+wfPlyI1dPhqSpl2fw4MF45JFHjFANERGZG7NY1SWTybB582b07t0bnTp1woIFC/D222/j008/VZ4jl8uxd+9eZGdno3v37pg2bRqio6O5lN0EJSUBQUHQe6sIbUNbDD1ERKQriRBCGLsIU6JQKCCXy1FcXAxnZ2djl2ORqreKCAwEUlLuf/4ff/yB77//Xq2dQ1tERFRN19/fZjHURZYlMrJqfyxdtorQ1Mvz0ksvoX379vVQGRERWToGH2pwum4VwVVbRERkaAw+ZHIOHz6M5ORktXaGHiIiqisGHzIpmnp5RowYgdatWzd8MUREZHEYfMhkaAo9/v4xYOYhIiJDYfAhoztw4AAOHTqk1j5nTgwCA3WbD0RERKQLBh8yKk29PBMmTEBqqjsCA3Vb+UVERKQrBh8ymppWbem68ouIiEgfZvHkZrIsu3btqvVS9do+9ZmIiAhgjw81ME2B56233oKLi4tOn4+Lq3rqc1wce4SIiEh/7PGhBiGE0NrLo2voAarm/HDuDxER1RZ7fKje7dy5E0ePHlVps7W1xezZs/W+Fuf+EBFRXTD4UL3S1MszY8YMODg4GKEaIiKydgw+VC8qKysxb948tXZuO0FERMbE4EMG98033+DkyZMqbS4uLnjrrbeMVBEREVEVBh8yKE1DW1FRUZBKpUaohoiISBWDDxlERUUF5s+fr9bOoS0iIjIlDD5UZ9999x1OnDih0pab2wUDBz5rpIqIiIg0Y/ChOtE0tLV372ykpNjixAkuPSciItPC4EO1UlZWhoULF6q1x8TEwN+/6snKfMggERGZGgYf0tuXX36Jv//+W6UtICAAoaGhAPiQQSIiMl0MPqQXTUNb0dHRkEgkRqiGiIhIPww+pJM7d+7g/fffV2vnqi0iIjInDD50X2vWrEFBQYFKW58+fdC7d28jVURERFQ7DD5UIw5tERGRJWHwIY1u3ryJZcuWqbVzaIuIiMwZgw+pWbp0KW7duqXSFhoaioCAACNVREREZBgMPqRC09AWe3mIiMhSMPgQAKC4uBgrVqxQa2foISIiS8LgQxp7ef73v//h4YcfNkI1RERE9cfG2AXo4/vvv0dAQAAcHBzg6uqKoUOHqhy/cOECBg4cCEdHR3h4eGD69OkoLy83TrFmQtvQFkMPERFZIrPp8fn2228xevRoLFy4EP369UN5eTkyMjKUxysqKjBw4EB4eXkhJSUFeXl5CA8Ph52dncY9pazdP//8g48++kitnUNbRERkySRCCGHsIu6nvLwcrVu3RmxsLEaNGqXxnN27d2PQoEHIzc2Fp6cngKoH782cOROFhYWQSqU6fZdCoYBcLkdxcTGcnZ0Ndg+mRFMvz8svvww/Pz8jVENERFR3uv7+Nouhrj///BOXL1+GjY0N/P390bx5cwwYMEClxyc1NRVdunRRhh4ACAkJgUKhwMmTJ41RtknSNrTF0ENERNbALIJP9U7gc+bMwezZs7Fz5064urqiT58+uHbtGgAgPz9fJfQAUL7Pz8/Xeu2SkhIoFAqVlyUqLCzkUnUiIrJ6Rg0+kZGRkEgkNb4yMzNRWVkJAJg1axaee+45dO/eHQkJCZBIJNi2bVudali0aBHkcrny5e3tbYhbMynz58/Hxx9/rNI2YsQIhh4iIrI6Rp3cPG3aNERERNR4Tps2bZCXlwcA6Nixo7JdJpOhTZs2uHDhAgDAy8sLR44cUfls9caaXl5eWq8fFRWFqVOnKt8rFAqLCj/s5SEiIvqPUYOPu7s73N3d73te9+7dIZPJkJWVhSeeeAIAUFZWhpycHPj4+AAAAgMDsWDBAly5cgUeHh4AgH379sHZ2VklMN1LJpNBJpMZ4G5MS15eHj799FOVNolEgujoaCNVREREZHxmsZzd2dkZ48aNQ0xMDLy9veHj44MlS5YAAF544QUAQP/+/dGxY0cMHz4cixcvRn5+PmbPno2JEydaZLCpiaZengkTJugUMomIiCyZWUxuBoAlS5bg5ZdfxvDhw/Hoo4/i/Pnz+PHHH+Hq6goAsLW1xc6dO2Fra4vAwEAMGzYM4eHhmDt3rpEr119SEhAUVPWnvrQNbTH0EBERmclzfBqSKTzHJygISE0FAgOBlBTdPlNQUIA1a9aotDVp0kRl/hIREZGl0vX3t1kMdVmbyEggLq7qT1188MEHuH79ukrb5MmTlb1hREREVIXBxwSFhVW9dKFpaMvfPwbMPEREROoYfMzU1atX8eGHH6q0Xbrkj88/D0NgoO7BiYiIyJow+JihxMREHDt2TKVt5syZ2LvXHidP6j5ERkREZG0YfMxMTQ8k1GeIjIiIyBox+JiJK1euYPXq1SptQ4YMQbdu3YxTEBERkRli8DEDW7ZsQWZmpkrbu+++Czs7OyNVREREZJ4YfEyYEELtAYzcdoKIiKj2GHxMlKa9tp5//nl06tTJSBURERGZPwYfE/TFF18gOztbpW3WrFlo1Ig/LiIiorrgb1ITomloy8HBATNmzDBSRURERJaFwcdEFBcXY8WKFSptr7zyCh566CHjFERERGSBGHxMwNGjR7Fz506Vtvfeew82NjZGqoiIiMgyMfg0kKSk/zYerX7IoBACH374Ia5du6Y8LyQkBI899piRqiQiIrJsDD4NJC4OSE2t+jMsDCgqKsLKlStVzuGO6kRERPWLYykNJDISCAys+vO3335TCT1NmzZFdHR0rUJPUhIQFFT1JxEREdVMIoQQxi7ClCgUCsjlchQXF8PZ2dmg1xZCYMWKFVAoFMq2gQMHokePHrW+ZlBQVU9SYCCQkmKIKomIiMyPrr+/OdTVQK5evYoPP/xQpW3KlCmQy+V1um5k5H9zh4iIiKhmDD4N5O7Q4+npibFjx0IikdT5utyRnYiISHcMPg2ka9euOHbsGHdUJyIiMiLO8blHfc7xISIiovqh6+9vruoiIiIiq8HgQ0RERFaDwYeIiIisBoMPERERWQ0GHyIiIrIaDD5ERERkNRh8iIiIyGow+BAREZHVYPAhIiIiq8HgQ0RERFbDLILPwYMHIZFINL5+//135XnHjx/Hk08+CXt7e3h7e2Px4sVGrJqIiIhMjVlsUhoUFIS8vDyVtvfeew/79+9Hjx49AFTt0dG/f38EBwdjzZo1OHHiBEaOHAkXFxeMGTPGGGUTERGRiTGL4COVSuHl5aV8X1ZWhh07dmDSpEmQSCQAgI0bN6K0tBTr1q2DVCpFp06dkJ6ejvj4eAYfIiIiAmAmQ133SkpKwtWrV/H6668r21JTU9GrVy9IpVJlW0hICLKyslBUVKT1WiUlJVAoFCovIiIiskxm0eNzr7Vr1yIkJAQPPPCAsi0/Px++vr4q53l6eiqPubq6arzWokWLEBsbq9bOAERERGQ+qn9vCyFqPM+owScyMhLvv/9+jeecPn0a7du3V76/dOkSkpOTsXXrVoPUEBUVhalTpyrfZ2dno1u3bvD29jbI9YmIiKjh3LhxA3K5XOtxowafadOmISIiosZz2rRpo/I+ISEBzZo1Q1hYmEq7l5cXCgoKVNqq3989P+heMpkMMplM+d7HxwcAcOHChRr/xZkrhUIBb29vXLx4Ec7OzsYux6As+d4Ay74/S743wLLvz5LvDbDs+7O0exNC4MaNG2jRokWN5xk1+Li7u8Pd3V3n84UQSEhIQHh4OOzs7FSOBQYGYtasWSgrK1Me27dvH/z8/LQOc2liY1M17Ukul1vE/xC0cXZ2ttj7s+R7Ayz7/iz53gDLvj9LvjfAsu/Pku5Nlw4Ls5rc/OOPPyI7OxtvvPGG2rFXX30VUqkUo0aNwsmTJ7FlyxZ88MEHKsNYREREZN3ManLz2rVrERQUpDLnp5pcLsfevXsxceJEdO/eHW5uboiOjuZSdiIiIlIyq+Dz9ddf13j84Ycfxs8//1yn75DJZIiJiVGZ92NJLPn+LPneAMu+P0u+N8Cy78+S7w2w7Puz5HuriUTcb90XERERkYUwqzk+RERERHXB4ENERERWg8GHiIiIrAaDDxEREVkNBp//7+DBg5BIJBpfv//+u/K848eP48knn4S9vT28vb2xePFiI1atv++//x4BAQFwcHCAq6srhg4dqnL8woULGDhwIBwdHeHh4YHp06ejvLzcOMXqoXXr1mo/t7i4OJVzzP1nB1RtqtutWzdIJBKkp6erHDPX+wsLC0OrVq1gb2+P5s2bY/jw4cjNzVU5x1zvLScnB6NGjYKvry8cHBzQtm1bxMTEoLS0VOU8c72/BQsWICgoCI6OjnBxcdF4jrn+nQIAH330EVq3bg17e3sEBATgyJEjxi6pVg4dOoTBgwejRYsWkEgkSExMVDkuhEB0dDSaN28OBwcHBAcH48yZM8YptiEIEkIIUVJSIvLy8lReb7zxhvD19RWVlZVCCCGKi4uFp6eneO2110RGRobYtGmTcHBwEJ988omRq9fNN998I1xdXcXq1atFVlaWOHnypNiyZYvyeHl5uejcubMIDg4WaWlpYteuXcLNzU1ERUUZsWrd+Pj4iLlz56r8/G7evKk8bu4/u2qTJ08WAwYMEABEWlqast2c7y8+Pl6kpqaKnJwc8euvv4rAwEARGBioPG7O97Z7924REREhkpOTxblz58SOHTuEh4eHmDZtmvIcc76/6OhoER8fL6ZOnSrkcrnacXP+O2Xz5s1CKpWKdevWiZMnT4rRo0cLFxcXUVBQYOzS9LZr1y4xa9Ys8d133wkAYvv27SrH4+LihFwuF4mJieLYsWMiLCxM+Pr6in///dc4BdczBh8tSktLhbu7u5g7d66y7eOPPxaurq6ipKRE2TZz5kzh5+dnjBL1UlZWJlq2bCk+//xzrefs2rVL2NjYiPz8fGXb6tWrhbOzs8o9myIfHx+xfPlyrcfN+WdXbdeuXaJ9+/bi5MmTasHHEu6v2o4dO4REIhGlpaVCCMu6NyGEWLx4sfD19VW+t4T7S0hI0Bh8zPnvlJ49e4qJEycq31dUVIgWLVqIRYsWGbGqurs3+FRWVgovLy+xZMkSZdv169eFTCYTmzZtMkKF9Y9DXVokJSXh6tWreP3115Vtqamp6NWrF6RSqbItJCQEWVlZKCoqMkaZOvvzzz9x+fJl2NjYwN/fH82bN8eAAQOQkZGhPCc1NRVdunSBp6ensi0kJAQKhQInT540Rtl6iYuLQ7NmzeDv748lS5aodKeb888OqNpwd/To0fjyyy/h6Oiodtzc76/atWvXsHHjRgQFBSn33LOUe6tWXFyMpk2bKt9b2v3dzVz/TiktLcXRo0cRHBysbLOxsUFwcDBSU1ONWJnhZWdnIz8/X+Ve5XI5AgICLO5eqzH4aLF27VqEhITggQceULbl5+er/AcMQPk+Pz+/QevT199//w0AmDNnDmbPno2dO3fC1dUVffr0wbVr1wCY9/1NnjwZmzdvxoEDBzB27FgsXLgQM2bMUB4353sTQiAiIgLjxo1Djx49NJ5jzvcHADNnzoSTkxOaNWuGCxcuYMeOHcpj5n5vdzt79ixWrVqFsWPHKtss6f7uZa739s8//6CiokJj7aZcd21U34813Gs1iw8+kZGRWictV78yMzNVPnPp0iUkJydj1KhRRqpad7reX2VlJQBg1qxZeO6559C9e3ckJCRAIpFg27ZtRr4LzfT52U2dOhV9+vTBww8/jHHjxmHZsmVYtWoVSkpKjHwX2ul6f6tWrcKNGzcQFRVl7JJ1pu9/d9OnT0daWhr27t0LW1tbhIeHQ5jwQ+Vr8/fK5cuXERoaihdeeAGjR482UuX3V5t7IzInZrVXV21MmzYNERERNZ7Tpk0blfcJCQlo1qwZwsLCVNq9vLxQUFCg0lb93svLq+7F1oKu95eXlwcA6Nixo7JdJpOhTZs2uHDhAoCqe7h31YIx7682P7tqAQEBKC8vR05ODvz8/Mz6Z/fjjz8iNTVVbT+dHj164LXXXsOGDRtM7v70/dm5ubnBzc0NDz30EDp06ABvb28cPnwYgYGBJndvgP73l5ubi759+yIoKAiffvqpynmmdn91+e/uXqb2d4qu3NzcYGtrq/HnYsp110b1/RQUFKB58+bK9oKCAnTr1s1IVdUzY08yMjWVlZXC19dXZdVFtepJiNWTLoUQIioqyiwmIRYXFwuZTKYyubm0tFR4eHgoV49UT0S8e9XCJ598IpydncWdO3cavOa6+Oqrr4SNjY24du2aEMK8f3bnz58XJ06cUL6Sk5MFAPHNN9+IixcvCiHM+/7udf78eQFAHDhwQAhh/vd26dIl8eCDD4qXX35ZlJeXqx039/sT4v6Tm83x75SePXuKN998U/m+oqJCtGzZ0mInNy9dulTZVv37wlInNzP43OOHH34QAMTp06fVjl2/fl14enqK4cOHi4yMDLF582bh6OhoFstOhRDirbfeEi1bthTJyckiMzNTjBo1Snh4eCjDQfXS0/79+4v09HSxZ88e4e7ubvJLT1NSUsTy5ctFenq6OHfunPjqq6+Eu7u7CA8PV55j7j+7u2VnZ6ut6jLX+zt8+LBYtWqVSEtLEzk5OWL//v0iKChItG3bVvmL0VzvTYiq0NOuXTvx1FNPiUuXLqk8bqGaOd/f+fPnRVpamoiNjRWNGzcWaWlpIi0tTdy4cUMIYb5/pwhRtZxdJpOJ9evXi1OnTokxY8YIFxcXlRVq5uLGjRvKnw0AER8fL9LS0sT58+eFEFXL2V1cXMSOHTvE8ePHxZAhQ7ic3Zq88sorIigoSOvxY8eOiSeeeELIZDLRsmVLERcX14DV1U1paamYNm2a8PDwEE2aNBHBwcEiIyND5ZycnBwxYMAA4eDgINzc3MS0adNEWVmZkSrWzdGjR0VAQICQy+XC3t5edOjQQSxcuFDt/1Ga88/ubpqCjxDmeX/Hjx8Xffv2FU2bNhUymUy0bt1ajBs3Tly6dEnlPHO8NyGqekIAaHzdzVzvb8SIERrvrbq3Tgjz/Dul2qpVq0SrVq2EVCoVPXv2FIcPHzZ2SbVy4MABjT+nESNGCCGqen3ee+894enpKWQymXjqqadEVlaWcYuuRxIhTHgGIREREZEBWfyqLiIiIqJqDD5ERERkNRh8iIiIyGow+BAREZHVYPAhIiIiq8HgQ0RERFaDwYeIiIisBoMPERERWQ0GHyILk5+fj0mTJqFNmzaQyWTw9vbG4MGDsX//fuU5KSkpeOaZZ+Dq6gp7e3t06dIF8fHxqKioUJ6Tk5ODUaNGwdfXFw4ODmjbti1iYmJQWlqq8n2fffYZunbtisaNG8PFxQX+/v5YtGiR8vicOXMgkUgQGhqqVuuSJUsgkUjQp08fne9PoVBg1qxZaN++Pezt7eHl5YXg4GB89913Kju6nzx5Ei+++CLc3d0hk8nw0EMPITo6Grdv31aec+3aNUyaNAl+fn5wcHBAq1atMHnyZBQXF+tUS05OjtYdzA8fPqzzPfXp0wdTpkzR+Xwiqj2L352dyJrk5OTg8ccfh4uLC5YsWYIuXbqgrKwMycnJmDhxIjIzM7F9+3a8+OKLeP3113HgwAG4uLjghx9+wIwZM5CamoqtW7dCIpEgMzMTlZWV+OSTT9CuXTtkZGRg9OjRuHXrFpYuXQoAWLduHaZMmYKVK1eid+/eKCkpwfHjx5GRkaFSV/PmzXHgwAFcunQJDzzwgLJ93bp1aNWqlc73d/36dTzxxBMoLi7G/Pnz8eijj6JRo0b46aefMGPGDPTr1w8uLi44fPgwgoODERwcjO+//x6enp44cuQIpk2bhv379+PAgQOQSqXIzc1Fbm4uli5dio4dO+L8+fMYN24ccnNz8c033+hc1w8//IBOnTqptDVr1kznz+tCCIGKigo0asS/tonqxLg7ZhCRIQ0YMEC0bNlS3Lx5U+1YUVGRuHnzpmjWrJl49tln1Y4nJSUJAGLz5s1ar7948WLh6+urfD9kyBARERFRY00xMTGia9euYtCgQWL+/PnK9l9//VW4ubmJ8ePHi969e+twd0KMHz9eODk5icuXL6sdu3HjhigrKxOVlZWiY8eOokePHqKiokLlnPT0dCGRSGrcC2vr1q1CKpXqtJ+Utn3T7lZ9/1988YXw8fERzs7O4qWXXhIKhUIIoXm/q+zsbOX+Srt27RKPPPKIsLOzEwcOHBB37twRkyZNEu7u7kImk4nHH39cHDlyRPl91Z/buXOn6NKli5DJZCIgIECcOHFCCCHEzZs3RZMmTcS2bdtU6ty+fbtwdHRU1kVkqTjURWQhrl27hj179mDixIlwcnJSO+7i4oK9e/fi6tWreOedd9SODx48GA899BA2bdqk9TuKi4vRtGlT5XsvLy8cPnwY58+fv299I0eOxPr165Xv161bh9deew1SqfS+nwWAyspKbN68Ga+99hpatGihdrxx48Zo1KgR0tPTcerUKUydOhU2Nqp/xXXt2hXBwcH3vUdnZ2eD9qycO3cOiYmJ2LlzJ3bu3ImffvoJcXFxAIAPPvgAgYGBGD16NPLy8pCXlwdvb2/lZyMjIxEXF4fTp0/j4YcfxowZM/Dtt99iw4YN+PPPP9GuXTuEhITg2rVrKt85ffp0LFu2DL///jvc3d0xePBglJWVwcnJCS+//DISEhJUzk9ISMDzzz+PJk2aGOy+iUwRgw+RhTh79iyEEGjfvr3Wc/766y8AQIcOHTQeb9++vfIcTddftWoVxo4dq2yLiYmBi4sLWrduDT8/P0RERGDr1q2orKxU+/ygQYOgUChw6NAh3Lp1C1u3bsXIkSN1vr9//vkHRUVFNd4fcP977NChg9Z7/OeffzBv3jyMGTNG57oAICgoCI0bN1Z53a2yshLr169H586d8eSTT2L48OHKOVdyuRxSqRSOjo7w8vKCl5cXbG1tlZ+dO3cunn76abRt2xYymQyrV6/GkiVLMGDAAHTs2BGfffYZHBwcsHbtWpXvjImJwdNPP40uXbpgw4YNKCgowPbt2wEAb7zxBpKTk5GXlwcAuHLlCnbt2qXXz4PIXDH4EFkIcdfEXkOeCwCXL19GaGgoXnjhBYwePVrZ3rx5c6SmpuLEiRN46623UF5ejhEjRiA0NFQt/NjZ2WHYsGFISEjAtm3b8NBDD+Hhhx+ut5r1PV+hUGDgwIHo2LEj5syZo9dnt2zZgvT0dJXX3Vq3bq3Sk9K8eXNcuXJFp2v36NFD+c/nzp1DWVkZHn/8cWWbnZ0devbsidOnT6t8LjAwUPnPTZs2hZ+fn/Kcnj17olOnTtiwYQMA4KuvvoKPjw969eql2w0TmTEGHyIL8eCDDyonJWvz0EMPAYDaL8lqp0+fVp5TLTc3F3379kVQUBA+/fRTjZ/r3LkzJkyYgK+++gr79u3Dvn378NNPP6mdN3LkSGzbtg0fffSR3r0L7u7ucHFxqfH+gNrd440bNxAaGoomTZpg+/btsLOz06s2b29vtGvXTuV1t3uvJ5FINPaKaaJp2NIQ3njjDeXQY0JCAl5//XVIJJJ6+S4iU8LgQ2QhmjZtipCQEHz00Ue4deuW2vHr16+jf//+aNq0KZYtW6Z2PCkpCWfOnMErr7yibLt8+TL69OmD7t27IyEhQW3OjCYdO3YEAI01dOrUCZ06dUJGRgZeffVVfW4PNjY2ePnll7Fx40bk5uaqHb958ybKy8vRrVs3tG/fHsuXL1cLF8eOHcMPP/ygco8KhQL9+/eHVCpFUlIS7O3t9arLEKRSqcqjBLRp27YtpFIpfv31V2VbWVkZfv/9d+W/92p3L6cvKirCX3/9pTL8N2zYMJw/fx4rV67EqVOnMGLECAPcCZHpY/AhsiAfffQRKioq0LNnT3z77bc4c+YMTp8+jZUrVyIwMBBOTk745JNPsGPHDowZMwbHjx9HTk4O1q5di4iICDz//PN48cUXAfwXelq1aoWlS5eisLAQ+fn5yM/PV37f+PHjMW/ePPz66684f/48Dh8+jPDwcLi7u6sMtdztxx9/RF5eHlxcXPS+vwULFsDb2xsBAQH44osvcOrUKZw5cwbr1q2Dv78/bt68CYlEgrVr1+LUqVN47rnncOTIEVy4cAHbtm3D4MGDERgYqHxmTnXouXXrFtauXQuFQqG8R12CSLWrV68qP1f9unPnjs6fb926NX777Tfk5OTgn3/+0dob5OTkhPHjx2P69OnYs2cPTp06hdGjR+P27dsYNWqUyrlz587F/v37kZGRgYiICLi5uWHo0KHK466urnj22Wcxffp09O/fX+UxA0QWzahryojI4HJzc8XEiROFj4+PkEqlomXLliIsLEwcOHBAec6hQ4dESEiIcHZ2FlKpVHTq1EksXbpUlJeXK89JSEhQW2Zd/ar2zTffiGeeeUY0b95cSKVS0aJFC/Hcc8+J48ePK8+pXs6tzVtvvaXzcnYhhLh+/bqIjIwUDz74oJBKpcLT01MEBweL7du3i8rKSuV5x48fF88995xo2rSpsLOzE23bthWzZ88Wt27dUp5TvfRb0ys7O/u+tVQvZ9f02rRpk9b7X758ufDx8VG+z8rKEo899phwcHBQW85eVFSk8tl///1XTJo0Sbi5udW4nP3//u//RKdOnYRUKhU9e/YUx44dU6t///79AoDYunXrfe+VyFJIhNBzBiAREZmsgwcPom/fvigqKrpvr9qXX36Jt99+G7m5uTo/VoDI3PERoEREVub27dvIy8tDXFwcxo4dy9BDVoVzfIjIZNz7LJy7Xz///HOD1zNu3Dit9YwbN67B6zGUxYsXo3379vDy8kJUVJSxyyFqUBzqIiKTcfbsWa3HWrZsCQcHhwaspurBfgqFQuMxZ2dneHh4NGg9RFR3DD5ERERkNTjURURERFaDwYeIiIisBoMPERERWQ0GHyIiIrIaDD5ERERkNRh8iIiIyGow+BAREZHVYPAhIiIiq/H/AByAXbngZb0WAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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BJGWlibOnj0r5s2bJ2Qymdi7d68QQoipU6cKPz8/cfDgQXHq1CkRGhoqQkNDpdc/fPhQBAcHi4iICJGcnCx2794t3N3dxfz586U6f/31l7CzsxOzZ88WFy9eFKtWrRKWlpZi9+7dGsXKhIiI9MWU5yEiqg4AsX379mrrpaWlCQsLC5GUlFRtXW0kRAYdVH379m2MHTsWmZmZcHZ2Rtu2bbFnzx784x//AACsXLkSFhYWGDp0KIqKihAZGYnPP/9cer2lpSV27tyJadOmSU2x48aNw9tvvy3VCQgIwK5duzBjxgx8/PHHaNy4Mb766itERkbqfX+JiIioaiUlJbh79y7efPNNdOvWDR06dNDLdmX/zdaoGgqFAs7OztKEWUREuvLgwQOkpaUhICDAIANszZmDg0OlZb/99ht69Oihx2iAqVOnYsOGDSrLxowZgzVr1ug1Hm2QyWTYvn07Bg8erLL80KFD6N27NwIDA7F161aEhIRUu86qPjPqnr8Nftk9ERGRsXhy/p7HNWrUSH+B/Nfbb7+tclZvACb747y6dpiwsDCN53DSBiZERERE/1XVXD6G4OHhAQ8PD0OHYRYMftk9ERERkaExISIiMlLqzgVDZO608VlhlxkRkZGxtraGhYUFMjIy4O7uDmtra+mWCUT0P0IIFBcXIycnBxYWFrC2tq7xupgQEREZGQsLCwQEBCAzM1PlLSKISJmdnR38/PzUurVLZZgQEREZIWtra/j5+eHhw4c1uscUkbmwtLREvXr1at2KyoSIiMhIyWQyWFlZaXzncyLSHAdVExERkdljQkRERERmjwkRERERmT0mRERERGT2mBARERGR2WNCRERERGaPCRERERGZPSZEREREZPaYEBEREZHZY0JEREREZo8JEREREZk9JkRERERk9pgQERERkdljQkRERERmjwkRERERmT0mRERERGT2mBARERGR2WNCRERERGaPCRERERGZPSZEREREZPaYEBEREZHZY0JEREREZo8JEREREZk9JkRERERk9pgQERERkdljQkRERERmjwkRERERmT0mRERERGT2mBARERGR2WNCRERERGaPCRERERGZPSZEREREZPaYEBEREZHZY0JEREREZo8JEREREZk9JkRERERk9gyaEMXFxaFz585wdHSEh4cHBg8ejMuXLyvVCQsLg0wmU3pMnTpV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dCh69uwJLy8vbNu2TSq3tLTEzp07YWlpidDQUIwZMwZjx47F22+/LdUJCAjArl27sG/fPrRr1w4ffvghvvrqK85BRERERABqeC+zwYMHY8CAAZgyZQpmzZqFn3/+GePHj8e2bdvQoEED7N+/XxexGhTnISIiIjI9Or2X2YoVK5CXlwcAWLx4MfLy8rBp0ya0aNGiRleYERERERlSjVqIzBFbiIiIiEyPTluIyhUXF+P27dsoKytTWu7n51eb1RIRERHpVY0Soj///BOTJk3C0aNHlZYLISCTyVBaWqqV4IiIiIj0oUYJ0YQJE1CvXj3s3LkT3t7ekMlk2o6LiIiISG9qlBAlJycjKSkJrVq10nY8RERERHpXo3mIgoKCNJpviIiIiMiYqZ0QKRQK6fH+++9jzpw5OHToEO7evatUplAodBkvERERkdap3WXm4uKiNFZICIG+ffsq1eGgaiIiIjJFaidE8fHxuoyDiIiIyGDUToh69eol/Z2eng5fX98KV5cJIXDjxg3tRUdERESkBzUaVB0QEICcnJwKy+/du4eAgIBaB0VERESkTzVKiMrHCj0pLy8P9evXr3VQRERERPqk0TxEM2fOBADIZDIsWLAAdnZ2UllpaSmOHz+O9u3bazVAIiIiIl3TKCH6448/ADxqITp37hysra2lMmtra7Rr1w6zZs3SboREREREOqZRQlR+pdmECRPw8ccf867vREREVCfU6NYd69ev13YcRERERAZTo4QoPz8fS5cuxYEDB3D79m2UlZUplf/1119aCY6IiIhIH2qUEE2ePBkJCQl48cUXebd7IiIiMnk1Soh+++037Nq1C927d9d2PERERER6V6N5iBo0aABXV1dtx0JERERkEDVKiN555x289dZbKCgo0HY8RERERHpXoy6zDz/8EKmpqfD09ESTJk1gZWWlVH769GmtBEdERESkDzVKiAYPHqzlMIiIiIgMRyaEEIYOwhQoFAo4OztDLpdzQkoiIiIToe75W6MxRCdOnEBpaWml5UVFRdi8ebMmqyQiIiIyOI0SotDQUNy9e1d67uTkpDQJY25uLkaOHKm96IiIiIj0QKOE6MneNVW9beyBIyIiIlNTo8vuq8JZq4mIiMjUaD0hIiIiIjI1Gl92f+HCBWRlZQF41D126dIl5OXlAQDu3Lmj3eiIiIiI9ECjy+4tLCwgk8lUjhMqXy6Tyaq8Es1U8bJ7IiIi06Pu+VujFqK0tLRaB0ZERERkbDRKiPz9/TVa+csvv4y3334bbm5uGr2OiIiISJ90Oqh6w4YNUCgUutwEERERUa3pNCHinERERERkCnjZPREREZk9JkRERERk9pgQERERkdljQkRERERmT6cJ0ZgxYziJIRERERm9GiVEZWVllS5PT0+Xnq9evZpzEBEREZHR0yghUigUeOGFF2Bvbw9PT0+89dZbSrfpyMnJQUBAgNaDJCIiItIljWaqXrBgAc6cOYNvv/0Wubm5WLJkCU6fPo1t27bB2toaAOceIiIiItOjUQvRTz/9hLVr12LYsGGYPHkyTp06hZycHAwaNAhFRUUAHt3kVV2HDx/GoEGD4OPjA5lMhp9++kmpfPz48ZDJZEqPqKgopTr37t3D6NGj4eTkBBcXF0yaNAl5eXlKdc6ePYsePXqgfv368PX1xQcffKDJbhMREVEdp1FClJOTo3Q/Mzc3N+zfvx/3799H//79UVBQoNHG8/Pz0a5dO6xatarSOlFRUcjMzJQe33//vVL56NGjcf78eezbtw87d+7E4cOH8dJLL0nlCoUCERER8Pf3R1JSEpYtW4ZFixbhiy++0ChWIiIiqrs06jLz8/PDxYsXlcYJOTo6Yu/evYiIiMCQIUM02ni/fv3Qr1+/KuvY2NjAy8tLZdnFixexe/dunDx5Ep06dQIAfPrpp+jfvz+WL18OHx8ffPfddyguLsa6detgbW2NNm3aIDk5GStWrFBKnIiIiMh8adRCFBERgfXr11dY7uDggD179qB+/fpaC6zcoUOH4OHhgZYtW2LatGm4e/euVJaYmAgXFxcpGQKA8PBwWFhY4Pjx41Kdnj17SmOcACAyMhKXL1/G33//rfV4iYiIyPRo1EK0ePFiZGRkqCxzdHTEvn37cPr0aa0EBjzqLouOjkZAQABSU1Px+uuvo1+/fkhMTISlpSWysrLg4eGh9Jp69erB1dUVWVlZAICsrKwKV755enpKZQ0aNFC57aKiImlcFPCo642IiIjqJo0SogYNGlSaQACPkqJevXrVOqhyI0aMkP4OCQlB27Zt0axZMxw6dAh9+/bV2nZUiYuLw+LFi3W6DSIiIjIOGk/M+PDhQyxbtgwdOnSAg4MDHBwc0KFDByxfvhwlJSW6iFHStGlTuLm54erVqwAALy8v3L59u0J89+7dk8YdeXl5ITs7W6lO+fPKxiYBwPz58yGXy6XHjRs3tLkrREREZEQ0SogKCwsRFhaGefPmwd3dHZMnT8bkyZPh7u6OuXPnom/fvnjw4IGuYsXNmzdx9+5deHt7AwBCQ0ORm5uLpKQkqc7BgwdRVlaGrl27SnUOHz6slKzt27cPLVu2rLK1y8bGBk5OTkoPIiIiqps06jJbunQpbty4gT/++ANt27ZVKjtz5gyeffZZLF26FIsWLVJrfXl5eVJrDwCkpaUhOTkZrq6ucHV1xeLFizF06FB4eXkhNTUVc+bMQfPmzREZGQkAaN26NaKiojBlyhSsWbMGJSUliI2NxYgRI+Dj4wMAGDVqFBYvXoxJkyZh7ty5SElJwccff4yVK1dqsutERERUlwkNBAYGiq1bt1ZavnnzZtGiRQu11xcfHy8AVHiMGzdOFBQUiIiICOHu7i6srKyEv7+/mDJlisjKylJax927d8XIkSOFg4ODcHJyEhMmTBD3799XqnPmzBnxzDPPCBsbG9GoUSOxdOlSTXZbCCGEXC4XAIRcLtf4tURERGQY6p6/ZUKof6+N+vXr48qVK/D19VVZfuPGDbRo0UKn3WaGolAo4OzsDLlczu4zIiIiE6Hu+VujMUROTk4VBjE/LisrC46OjpqskoiIiMjgNEqIevfujffee6/S8qVLl6J37961DoqIiIhInzQaVL1w4UJ07doV3bp1w8yZM9GqVSsIIXDx4kWsXLkSFy5cwLFjx3QVKxEREZFOaJQQBQUFYd++fZg0aRJGjBgh3dleCIFWrVph7969aNOmjU4CJSIiItIVjRIiAOjWrRvOnz+P5ORk/PnnnwCAwMBAtG/fXtuxEREREemFxgmRQqGAg4MD2rdvr5QElZWVIS8vj1dgERERkcnRaFD19u3b0alTJ5WX1RcWFqJz58745ZdftBYcERERkT5olBCtXr0ac+bMgZ2dXYUye3t7zJ07F5999pnWgiMiIiLSB40SopSUFISFhVVa3rNnT5w7d662MRERERHplUYJ0d9//42HDx9WWl5SUoK///671kERERER6ZNGCVGTJk1w6tSpSstPnToFf3//WgdFREREpE8aJUTR0dF44403kJ2dXaEsKysLb775JoYOHaq14IiIiIj0QaObu96/fx+hoaFIT0/HmDFj0LJlSwDApUuX8N1338HX1xfHjh2rk/cz481diYiITI+652+N5iFydHTEkSNHMH/+fGzatEkaL+Ti4oIxY8bg3XffrZPJEBEREdVtGrUQPU4IgTt37kAIAXd3d+k2Ho87cuQIOnXqBBsbm1oHamhsISIiIjI96p6/NRpD9DiZTAZ3d3d4eHioTIYAoF+/frh161ZNN0FERERmIFNeiKOpd5ApLzRYDBrfukMTNWx8IiIiIjOx6WQ65m87hzIBWMiAuOgQDO/sp/c4atxCRERERFQbmfJCKRkCgDIBvL4txSAtRUyIiIiIyCDS7uRLyVC5UiFw7U6B3mNhQkREREQGEeBmD4snhiFbymRo4lbxnqm6ptOEqLLB1kRERETezraIiw6B5X/zBUuZDO9FB8Pb2VbvsXBQNRERERnM8M5+6Bnojmt3CtDEzc4gyRCg44To/v37ulw9ERER1QHezrYGS4TKaZQQ9enTR616Bw8erFEwRERERIagUUJ06NAh+Pv7Y8CAAbCystJVTERERER6pVFC9P7772P9+vXYsmULRo8ejYkTJyI4OFhXsRERERHphUZXmc2ePRsXLlzATz/9hPv376N79+7o0qUL1qxZA4VCoasYiYiIiHSqxjd3BYCCggJs2bIFq1atwoULF5CRkVFnb3zKm7sSERGZHp3f3BUATp8+jYSEBFy8eBHBwcEcV0REREQmSeOEKCMjA++99x4CAwMxbNgwuLq64vjx4zh27BhsbQ17yRwRERFRTWg0qLp///6Ij49HREQEli1bhgEDBqBePZ1OZURERESkcxqNIbKwsIC3tzc8PDyqvC3H6dOntRKcMeEYIiIiItOj7vlbo+adhQsX1jowIiIiImNTq6vMzAlbiIgMJ1NeiLQ7+Qhwszf49P5EZFp00kJUmYSEBOTn5yM0NBQNGjTQxiqJiAAAm06mY/62cygTgIUMiIsOwfDOfoYOi4jqGI2uMnv//fexYMEC6bkQAlFRUejduzcGDhyI1q1b4/z581oPkojMU6a8UEqGAKBMAK9vS0GmvNCwgRFRnaNRQrRp0yalW3Vs3boVhw8fxn/+8x/cuXMHnTp1wuLFi7UeJFFdlikvxNHUOzzJq5B2J19KhsqVCoFrdwoMExAR1VkadZmlpaWhbdu20vNff/0Vw4YNQ/fu3QEAb775Jp5//nntRkhUh7E7qGoBbvawkEEpKbKUydDEzc5wQRFRnaRRC9HDhw9hY2MjPU9MTMTTTz8tPffx8cGdO3e0Fx1RHcbuoOp5O9siLjoElv+d5sNSJsN70cEcWE1EWqdRC1GzZs1w+PBhNG3aFOnp6fjzzz/Rs2dPqfzmzZto2LCh1oMkqouq6g7iCf9/hnf2Q89Ad1y7U4AmbnY8NkSkExolRDExMYiNjcV//vMfHDt2DKGhoQgKCpLKDx48iKeeekrrQRLVRewOUp+3sy0TISLSKY26zKZMmYJPPvkE9+7dQ8+ePfHjjz8qlWdkZGDixIlaDZCormJ3EBGR8eDEjGrixIykK5nyQnYHERHpiF4nZiSimmN3EBGR4WnUZVZSUoI5c+agefPm6NKlC9atW6dUnp2dDUtLS60GSERERKRrGiVE7777Lv79739j6tSpiIiIwMyZM/HPf/5TqY4mPXCHDx/GoEGD4OPjA5lMhp9++qnCut566y14e3vD1tYW4eHhuHLlilKde/fuYfTo0XBycoKLiwsmTZqEvLw8pTpnz55Fjx49UL9+ffj6+uKDDz7QZLeJiIiojtMoIfruu+/w1VdfYdasWViyZAlOnTqFgwcPYsKECVIiJPvvAFF15Ofno127dli1apXK8g8++ACffPIJ1qxZg+PHj8Pe3h6RkZF48OCBVGf06NE4f/489u3bh507d+Lw4cN46aWXpHKFQoGIiAj4+/sjKSkJy5Ytw6JFi/DFF19osutERERUlwkN2NrairS0NKVlN2/eFIGBgWL06NHi1q1bwsLCQpNVSgCI7du3S8/LysqEl5eXWLZsmbQsNzdX2NjYiO+//14IIcSFCxcEAHHy5Empzm+//SZkMpm4deuWEEKIzz//XDRo0EAUFRVJdebOnStatmypUXxyuVwAEHK5vCa7R0RERAag7vlboxYiLy8vpKamKi1r1KgR4uPjcfLkSYwfP15beRrS0tKQlZWF8PBwaZmzszO6du2KxMREAI9mynZxcUGnTp2kOuHh4bCwsMDx48elOj179oS1tbVUJzIyEpcvX8bff/9d6faLioqgUCiUHkRERFQ3aZQQ9enTBxs3bqyw3MfHBwcPHkRaWprWAsvKygIAeHp6Ki339PSUyrKysuDh4aFUXq9ePbi6uirVUbWOx7ehSlxcHJydnaWHr69v7XaIiIiIjJZGCdGCBQvwwgsvqCxr1KgREhISKlx5Zqrmz58PuVwuPW7cuGHokIiIiEhHNJqHyN/fH/7+/pWW+/j4YNy4cbUOCnjUPQc8upTf29tbWp6dnY327dtLdW7fvq30uocPH+LevXvS6728vJCdna1Up/x5eR1VbGxslG5kS0RERHWXRi1E5bZs2YLo6GgEBwcjODgY0dHR2Lp1q1YDCwgIgJeXFw4cOCAtUygUOH78OEJDQwEAoaGhyM3NRVJSklTn4MGDKCsrQ9euXaU6hw8fRklJiVRn3759aNmyJRo0aKDVmImIiMg0aZQQlZWVYfjw4Rg+fDguXLiA5s2bo3nz5jh//jyGDx+OESNGaDQPUV5eHpKTk5GcnAzg0UDq5ORkpKenQyaTYfr06ViyZAl27NiBc+fOYezYsfDx8cHgwYMBAK1bt0ZUVBSmTJmCEydO4MiRI4iNjcWIESPg4+MDABg1ahSsra0xadIknD9/Hps2bcLHH3+MmTNnarLrepUpL8TR1DvIlBcaOhS9Mtf9JiIiI6DJpWsrVqwQrq6u4pdffqlQ9vPPPwtXV1excuVKtdcXHx8vAFR4jBs3Tgjx6NL7BQsWCE9PT2FjYyP69u0rLl++rLSOu3fvipEjRwoHBwfh5OQkJkyYIO7fv69U58yZM+KZZ54RNjY2olGjRmLp0qWa7LYQQn+X3f9w4roImLdT+M/dKQLm7RQ/nLiu0+0ZC3PdbyIi0i11z98a3dy1bdu2mD59eqV3tP/666/x8ccf4+zZs7XP1IyMPm7umikvRPelB1H22H/EUibD7/N61+l7XZnrfhMRke6pe/7WqMvsypUrSvMCPUnVrTVIfWl38pWSAgAoFQLX7hQYJiA9Mdf9JiIi46FRQmRra4vc3NxKyxUKBerXr1/bmMxWgJs9LJ6484mlTIYmbnaGCUhPzHW/iYjIeGiUEIWGhmL16tWVlq9atUq6Aow05+1si7joEFj+935wljIZ3osOrvPdRua630REZDw0mofojTfeQFhYGO7evYtZs2ahVatWEELg4sWL+PDDD/Hzzz8jPj5eV7GaheGd/dAz0B3X7hSgiZud2SQF5rrfRERkHDQaVA0A27dvx0svvYR79+4pLW/QoAHWrl2LoUOHajVAY6GPQdVERESkXeqevzVOiACgoKAAe/bskQZQBwYGIiIiAnZ2dXfMBxMiIiIi06Pu+VujLrODBw8iNjYWx44dw5AhQ5TK5HI52rRpgzVr1qBHjx41i5qIiIjIADQaVP3RRx9hypQpKjMsZ2dn/POf/8SKFSu0FhwRERGRPmiUEJ05cwZRUVGVlkdERCjdV4yIiIjIFGiUEGVnZ8PKyqrS8nr16iEnJ6fWQRERERHpk0YJUaNGjZCSklJp+dmzZ+Ht7V3roIiIiIj0SaOEqH///liwYAEePHhQoaywsBALFy7EwIEDtRYcERERkT5odNl9dnY2OnToAEtLS8TGxqJly5YAgEuXLmHVqlUoLS3F6dOn4enpqbOADYWX3RMREZkenVx27+npiaNHj2LatGmYP38+ynMpmUyGyMhIrFq1qk4mQ0RERFS3aZQQAYC/vz9+/fVX/P3337h69SqEEGjRogUaNGigi/iIiIiIdE7jhKhcgwYN0LlzZ23GQkRERGQQGg2qJiIiIqqLmBARERGR2WNCRERERGaPCRERERGZPSZEREREZPaYEBEREZHZY0JEREREZo8JEREREZk9JkRERERk9pgQERERkdljQkRERERmjwkRERERmT0mRERERGT2mBARERGR2WNCRERERGaPCREREREZVKa8EEdT7yBTXmiwGOoZbMtUpUx5IdLu5CPAzR7ezraGDoeIiEgnNp1Mx/xt51AmAAsZEBcdguGd/fQeBxMiI2Qsbw4iIiJdypQXSuc7ACgTwOvbUtAz0F3vjQHsMjMylb05DNmMSEREpAtpd/Kl8125UiFw7U6B3mNhQmRkdP3mMIZ+WiIiIgAIcLOHhUx5maVMhiZudnqPhQmRkdHlm2PTyXR0X3oQo748ju5LD2LTyfRar5OIiKimvJ1tERcdAkvZoxOfpUyG96KDDTJ2ViaEENVXI4VCAWdnZ8jlcjg5Oel0W5tOpuP1bSkoFUJ6c9R2DFGmvBDdlx5Uan2ylMnw+7zeHLRNREQGlSkvxLU7BWjiZqf1c5K6528OqjZCwzv7oWegu1bfHFV1xTEhIiIiQ/J2tjX4uYgJkZHS9pujvCvuyRYiQ/TTEhERGRuOITITxtRPS0REZGzYQmRGdNEVR0REVBcwITJiupit2hj6aYmIiIwNEyIj9eRs1ZOeCcDEZwKYzBAREemA0Y8hWrRoEWQymdKjVatWUvmDBw8QExODhg0bwsHBAUOHDkV2drbSOtLT0zFgwADY2dnBw8MDs2fPxsOHD/W9K2pTNVv1l/9Jw9Nxhps7iBM6EhFRXWYSLURt2rTB/v37pef16v0v7BkzZmDXrl3YsmULnJ2dERsbi+joaBw5cgQAUFpaigEDBsDLywtHjx5FZmYmxo4dCysrK7z33nt63xd1qLpEHgAEDHOPF95bjYiI6jqjbyECHiVAXl5e0sPNzQ0AIJfL8fXXX2PFihXo06cPOnbsiPXr1+Po0aM4duwYAGDv3r24cOECNmzYgPbt26Nfv3545513sGrVKhQXFxtytyqlarbqcvq+xwvvrUZERObAJBKiK1euwMfHB02bNsXo0aORnv6o2ygpKQklJSUIDw+X6rZq1Qp+fn5ITEwEACQmJiIkJASenp5SncjISCgUCpw/f16/O6Km8kvkVSVF+p47yJhuvGeM2JVIRFQ3GH2XWdeuXfHNN9+gZcuWyMzMxOLFi9GjRw+kpKQgKysL1tbWcHFxUXqNp6cnsrKyAABZWVlKyVB5eXlZZYqKilBUVCQ9VygUWtoj9ZRfIr/+SBq+OpyGMhhm7iBO6Fg5diUSEdUdRp8Q9evXT/q7bdu26Nq1K/z9/bF582bY2uouMYiLi8PixYt1tn51eDvb4vX+QZjQPcBgcweVt1Y9eW81c7/arbKuRH2P7yIiIu0w+oToSS4uLggMDMTVq1fxj3/8A8XFxcjNzVVqJcrOzoaXlxcAwMvLCydOnFBaR/lVaOV1VJk/fz5mzpwpPVcoFPD19dXinqjP0HMHcULHinhvOCKiusUkxhA9Li8vD6mpqfD29kbHjh1hZWWFAwcOSOWXL19Geno6QkNDAQChoaE4d+4cbt++LdXZt28fnJycEBQUVOl2bGxs4OTkpPQwZ97Otght1rBWJ/u6NN5G1cB3diUSEZkuo28hmjVrFgYNGgR/f39kZGRg4cKFsLS0xMiRI+Hs7IxJkyZh5syZcHV1hZOTE1555RWEhoaiW7duAICIiAgEBQXhxRdfxAcffICsrCy8+eabiImJgY2NjYH3znzUtfE27EokIqpbjD4hunnzJkaOHIm7d+/C3d0dzzzzDI4dOwZ3d3cAwMqVK2FhYYGhQ4eiqKgIkZGR+Pzzz6XXW1paYufOnZg2bRpCQ0Nhb2+PcePG4e233zbULpmdujrehl2JRER1h0wIoWIKQHqSQqGAs7Mz5HK52Xefaepo6h2M+vJ4heXfT+mG0GYNDRAREZkjXdwfkoyfuudvo28hItPHS/eJyNDqWrc9aZ/JDaom01M+3sZS9mgUMsfbEJE+1bUZ9+vSBSrGhC1EpBccb0NEhlKXpslgS5fusIWI9EYbl+6X4y8kIlJXXZkmo661dBkbJkRkcjadTEf3pQcx6svj6L70IDadTDd0SERkxOpKtz3vLalb7DIjk1JXL+EnIt2qC932vEBFt9hCRCaFv5CIqKa02W1vCHWlpctYsYWITEL5/CH21pb8hURq4ZwzVBfVhZYuY8WEiIzek1dVDHmqEX76I4O3zKBK6ftKHCZfpE+GvuF3XcWEiIyaqjFDP/2RgW0vh6KguIy/kKgCfY8z42XQpCtMtPWLCREZtcrGDBUUl/G2H6SSPuecqQuD/HnSNU5MtPWPCRHpnSZfwLyqonrmfEJTte/6eM+Ub/duXpHK5Cvp2t9wdTD+/4m2Trrm/B7UhbqQaJsiJkSkV5p+AZdfVfH6thSOGVLBnH9FVrbvun7PPLldGYDHcyIZgFd/+MPo/yfaOulW9x40hWTJ2GKsSzNrmxImRKQ3Nf0C5lUVqpnzr8jq9l1X7xlV25XJAAsBlOHRPCYCMIn/iTZOutX9H7SdsOsicTHGHxVsGTcMzkNEelObOYRMff4QXTDnOZnU2XddvGdUbVcI4NNRT+H7Kd3wyain8ESx0f5PtHE7i6r+D9q+zYQuZqhXFeP8becMfisMY5xvyBxul8QWItIb/urRLnM+noba98q228G/AbydbZEpL9R6XNpuFXl8fbXtWqzq/6DNbh9dtYaqirFMAOuPpOH1/kE1Xq82GFPLuDG2oukCW4hIb4zxV48pM+fjaah9r2672o5L260iT64PAH6f1xvfT+mG3+f11vgkV9X+avOGqrpqDVUVIwB8dTjNKFpCjKFl3JxuKCsTQjzZwksqKBQKODs7Qy6Xw8nJydDhmLRMeaFR/OqpK8z5eBpq36vbrjbiypQXovvSgxVaX36f17vSdVbVmlST9am7/sf3F4BU5/CfORVaoGp6FduTsVsA+GTUU+j439a5mnp31wV8+Z+0Csu/n9KNU3sAOJp6B6O+PF5huSkdH3XP3+wyI73jLKvaZc7H01D7Xt12axNXdZf0V9blVF23Rm27sKpaf/n+qqrz+7zetU4On7xysPzKvtiNf9S6C2fiMwH46j9pSmO/zKXrWR3m1DXPLjMiIiPxeJfWaz8k48nenMpOROp0a6jThVXZwFl11l9ZHQBa6fYZ3tkPv8/rjc9GPgWZ7H9THdS2C8fb2RZLh5pn17M6zKlrni1ERCbG2OZMIe2o7pL+qk5E6rT+VDc/U1UtQOqsXx9z53g728LVQfvbMaYBzMZI1fGpi99DTIiITIi5XO1hjiq7pP+zUU/B1d6myhO1ut0alZ34q7uKS53166trRVfbMXTXs7EnGI8fn7r6PcQuMzI55jAfhirmdLWHOaqsS6uDf4Nqu5w06dZQdeVSdVdxqbN+fXWt1MUuHF3MsaQrdfl7iC1EZFLq6i8TdehrOn9j/6VaV9X2liO16fZRp9VFnfXrq+tJn11cuv48mNqM83X5tiJMiMhkmNoXh7bpo0vCnBNOY1DbE31Nu33UTcbUWb++up70sR1NPg81TZxMLcGoy1edMSEik2FqXxzaVtsWhOqYe8JpLAw1loUDi5Vp8nmozQ8JU0swNPkeMrXWZiZEZDJM7YtDF3R50jL3hJMMP7DYmKj7eajtDwld/9DRBXW+h0yxtZkJEZkMU/zi0AVdnbSMPeE0tV+bZNrU/Txo44eEsbTOafIZq+p7yFRbm5kQkUkxli8OU6BpAmHMCWdNfm0ygdINQx9XfW1f3c+Dtn5IPD6f0+PP9UWbLTqm2trMe5mpifcyI1NS2ZebOicTY7s3Wk3uwaXOl7uuTqyGThh0qTYnTW0cF0N0w6jzedh0Mr3W92wzZBeTNu5zp8v11RbvZUZkpiprrs4tKMH7uy9V+4VrbONIKvu1efr63xjQVvVAzuqa63V18jHFcRPqqk03iDaOi6G6YdT5PNS25drQXUzabtEx5tbmqnBiRjNgrhMZmqvKvtyW/nbJJCdTUzVhIfDoxp6qJrCrbpJBXU0sp8l6a/qZNORnubrjWhltHe+abl9fVE14qS519k2X/3t17nOnqfJ7z30/pRt+n9fbJH4YsIWojqvLv1hJNVVjGp58DphGnz7wv1+bj59UgUc391T1K7q6MR26Gt+g7npr+pk09Ge5pmNltHW8jX3Qf21Ut2+6/t/rqkXH2Fqbq8MWojqsLk+xXhVzbxFTdWuDuf1aVfoL0BSO1/DOfvh4RPsKyytrIZj8TID05fbkl7sufg2ru96afiYN9Vl+/L2h6n01p19LpN3JrzIObR3vunjLjnJV7Zu+/vePt+hsezkUvq52Rv2doAtsIarDTHWkf20Y+le0sVA1psHF1qrCL8DDf+aYzPHq1MS12haCJ///Lz3TFBOeaaLynlu6+DVc3Xpr+pk0xGe5ss9S+fvq7M1cvP+bemPStHW86/JVppXtmz7/997Otib1naBtTIjqsLrcxKyKoQcmGpsnm6uf/MIFoHQliLEfr+pOrKr+/1//noYJzzSpsC5dnVirW29NP5P6/iyr81ka/dUxtd872jzeptYNowlV+1aT/31Nr+gz9+9QdpnVYXW5iVkVXQ+6NIWupeo8PvDT2AepqlLVQE1N96c2g2CrUtV6a/qZ1PdnubpjWZNBwLo63sautt8bmv7vN51MR/elBzHqy+N4eulBrD2cqva2TPE7QZvYQlTH1eUm5ifp8ld0XeyKM5UWxCd/7VbWQmAq+1PTz2RNXlfTloLqjqWhBwGbCm0dB3X/90+28AgBxP16CRDAP3s1q3Y7pvIZ0hW2EBmYPlod1PllVldaP3TxK7quDk43hRbEx3/tdl96UOVl9uV0vT/a/IzUtLVEk9dpcuxUbaeqY2kMg4D1oTb/c3WOgybrV+d/r6qFBwDe/+2S2tsw9u8EXWILkQEZy68oY4lDG3TRIlaXB6cbcwtiTcYz6Gp/TO0zoo2xINUdS2MYBKxLtf2fV3ccdPGeCnCzh0z2qGXocWWA2sffmL8TdI0tRAZiLL+ijCUObdL2WAVdXaZtLIx1bEdNxzNoe39M8TOirbEg1R1LVeV14fOijf95VcdBV+8pb2dbzOvXqsJyTY+/sX4n6BoTIgMxlsFr2oyjLnS7qWLuzciGYiwnVmP5rGrCkMeuLnxetPE/r+o46PI99c+ezTC/X6tK5+GiyrHLzEAC3Owhw6PZdsvJAL1/2WtrEJ2pdSloypybkVXRxw1MdTVfkKZMcaCpOsdOl/9DU/+8aOt/Xtlx0PV76p+9muHZ9j4me/wNhXe7V5O273afKS/E03EHlRMiGXB0Xh+9v3lre6dmbd7ZuC7fKbyu0Hfyq87dxnVNG3czN4TKjp2hfsDo4/OtrW3o+n9uqu8pU8S73Ru5tDv5eDITFUL9gW/aVNtfc9oaRFnXW5nqAkNM3FbdRHz6OMlW9hkx9gRe1bEz1OR7+vh8a3Mbum7lMvVWtLrIrMYQrVq1Ck2aNEH9+vXRtWtXnDhxwmCxGMv4iHK1GUSnjX0xxYGr5sjYxpzV5tJyTT35Ganptg091s4QY6L08fnWZBvq/g+0ObhY1TbNdfCysTKbhGjTpk2YOXMmFi5ciNOnT6Ndu3aIjIzE7du3DRJPXRh4WE4b+2KKA1crY+gTni5pK5Ffm5CKp+Nql8gYMomu6bb1mcBVxhA/xvTx+VZ3G7WZyVldT34HGMP/napnNl1mK1aswJQpUzBhwgQAwJo1a7Br1y6sW7cO8+bNM0hMdanJtLb7YooDV1Wp691+2hjovPZwKuJ+uyQ9r2mXjSHnu6nJto3lPlGGGKyuj8+3Otuo7UzO6njyO2Buv1bSTXAB87s/mCkxi4SouLgYSUlJmD9/vrTMwsIC4eHhSExMVPmaoqIiFBUVSc8VCoVOYqtufIQpqc2+GMsVRbVhLCc8XatN8pspL8TSx5KhcjVJZAyZRNdk28Y0YaG+f4zp4/Otzjaqmsn52fY+OpnV/vFkqJwpTlRpDswiIbpz5w5KS0vh6emptNzT0xOXLlX8cgaAuLg4LF68WB/h0X+ZeouZMZ3wdK2myW/anfwKs+gCj/ruNU1kDJlE12TbxtYKqu8fY/r4fFe3DW3M5FwVVd8BZQIVplgxxdZvc2AWCVFNzJ8/HzNnzpSeKxQK+Pr6GjAi82DKLWbGdsIzRqqOEfCoW6Em/3dDJtGabrsutILWlj4+31Vto3wm57hflX8Ia+tzWtl3wJyolvhg92Wz/b+bCrNIiNzc3GBpaYns7Gyl5dnZ2fDy8lL5GhsbG9jY2OgjPKojeMKr3pPHqHyMxT971nz8hiGTaE23beqtoHXBP3s2A8q7sqDdC1oq+w4Y3tmPEyWaALOZmLFr167o0qULPv30UwBAWVkZ/Pz8EBsbq9agam1PzEh1lzFMJGjseIzI0HT5HuT727hwYsYnzJw5E+PGjUOnTp3QpUsXfPTRR8jPz5euOiPSFlPu9tMXHiMyNF2+B/n+Nk1mkxANHz4cOTk5eOutt5CVlYX27dtj9+7dFQZaExERkfkxmy6z2mKXGRERkelR9/xtNjNVExEREVWGCRERERGZPSZEREREZPaYEBEREZHZY0JEREREZo8JEREREZk9JkRERERk9pgQERERkdljQkRERERmz2xu3VFb5RN6KxQKA0dCRERE6io/b1d3Yw4mRGq6f/8+AMDX19fAkRAREZGm7t+/D2dn50rLeS8zNZWVlSEjIwOOjo6QyWSGDkdvFAoFfH19cePGDd7DrZZ4LLWDx1F7eCy1g8dRe3RxLIUQuH//Pnx8fGBhUflIIbYQqcnCwgKNGzc2dBgG4+TkxA+6lvBYagePo/bwWGoHj6P2aPtYVtUyVI6DqomIiMjsMSEiIiIis8eEiKpkY2ODhQsXwsbGxtChmDweS+3gcdQeHkvt4HHUHkMeSw6qJiIiIrPHFiIiIiIye0yIiIiIyOwxISIiIiKzx4SIiIiIzB4TIgIAHD58GIMGDYKPjw9kMhl++uknpXIhBN566y14e3vD1tYW4eHhuHLlimGCNXLVHcvx48dDJpMpPaKiogwTrBGLi4tD586d4ejoCA8PDwwePBiXL19WqvPgwQPExMSgYcOGcHBwwNChQ5GdnW2giI2TOscxLCyswnty6tSpBorYeK1evRpt27aVJg0MDQ3Fb7/9JpXz/aie6o6jod6PTIgIAJCfn4927dph1apVKss/+OADfPLJJ1izZg2OHz8Oe3t7REZG4sGDB3qO1PhVdywBICoqCpmZmdLj+++/12OEpiEhIQExMTE4duwY9u3bh5KSEkRERCA/P1+qM2PGDPzyyy/YsmULEhISkJGRgejoaANGbXzUOY4AMGXKFKX35AcffGCgiI1X48aNsXTpUiQlJeHUqVPo06cPnnvuOZw/fx4A34/qqu44AgZ6PwqiJwAQ27dvl56XlZUJLy8vsWzZMmlZbm6usLGxEd9//70BIjQdTx5LIYQYN26ceO655wwSjym7ffu2ACASEhKEEI/eg1ZWVmLLli1SnYsXLwoAIjEx0VBhGr0nj6MQQvTq1Uu89tprhgvKhDVo0EB89dVXfD/WUvlxFMJw70e2EFG10tLSkJWVhfDwcGmZs7MzunbtisTERANGZroOHToEDw8PtGzZEtOmTcPdu3cNHZLRk8vlAABXV1cAQFJSEkpKSpTel61atYKfnx/fl1V48jiW++677+Dm5obg4GDMnz8fBQUFhgjPZJSWluKHH35Afn4+QkND+X6soSePYzlDvB95c1eqVlZWFgDA09NTabmnp6dURuqLiopCdHQ0AgICkJqaitdffx39+vVDYmIiLC0tDR2eUSorK8P06dPRvXt3BAcHA3j0vrS2toaLi4tSXb4vK6fqOALAqFGj4O/vDx8fH5w9exZz587F5cuXsW3bNgNGa5zOnTuH0NBQPHjwAA4ODti+fTuCgoKQnJzM96MGKjuOgOHej0yIiPRsxIgR0t8hISFo27YtmjVrhkOHDqFv374GjMx4xcTEICUlBb///ruhQzFplR3Hl156Sfo7JCQE3t7e6Nu3L1JTU9GsWTN9h2nUWrZsieTkZMjlcmzduhXjxo1DQkKCocMyOZUdx6CgIIO9H9llRtXy8vICgApXS2RnZ0tlVHNNmzaFm5sbrl69auhQjFJsbCx27tyJ+Ph4NG7cWFru5eWF4uJi5ObmKtXn+1K1yo6jKl27dgUAvidVsLa2RvPmzdGxY0fExcWhXbt2+Pjjj/l+1FBlx1EVfb0fmRBRtQICAuDl5YUDBw5IyxQKBY4fP67U50s1c/PmTdy9exfe3t6GDsWoCCEQGxuL7du34+DBgwgICFAq79ixI6ysrJTel5cvX0Z6ejrfl4+p7jiqkpycDAB8T6qhrKwMRUVFfD/WUvlxVEVf70d2mREAIC8vTyn7TktLQ3JyMlxdXeHn54fp06djyZIlaNGiBQICArBgwQL4+Phg8ODBhgvaSFV1LF1dXbF48WIMHToUXl5eSE1NxZw5c9C8eXNERkYaMGrjExMTg40bN+Lnn3+Go6OjNA7D2dkZtra2cHZ2xqRJkzBz5ky4urrCyckJr7zyCkJDQ9GtWzcDR288qjuOqamp2LhxI/r374+GDRvi7NmzmDFjBnr27Im2bdsaOHrjMn/+fPTr1w9+fn64f/8+Nm7ciEOHDmHPnj18P2qgquNo0Pej3q9rI6MUHx8vAFR4jBs3Tgjx6NL7BQsWCE9PT2FjYyP69u0rLl++bNigjVRVx7KgoEBEREQId3d3YWVlJfz9/cWUKVNEVlaWocM2OqqOIQCxfv16qU5hYaF4+eWXRYMGDYSdnZ0YMmSIyMzMNFzQRqi645ieni569uwpXF1dhY2NjWjevLmYPXu2kMvlhg3cCE2cOFH4+/sLa2tr4e7uLvr27Sv27t0rlfP9qJ6qjqMh348yIYTQbcpFREREZNw4hoiIiIjMHhMiIiIiMntMiIiIiMjsMSEiIiIis8eEiIiIiMweEyIiIiIye0yIiIiIyOwxISIiIiKzx4SIiNSSlZWFV155BU2bNoWNjQ18fX0xaNAgpXs3HT16FP3790eDBg1Qv359hISEYMWKFSgtLZXqXLt2DZMmTUJAQABsbW3RrFkzLFy4EMXFxUrb+/LLL9GuXTs4ODjAxcUFTz31FOLi4qTyRYsWQSaTISoqqkKsy5Ytg0wmQ1hYmFr7Vr4umUyGevXqoUmTJpgxYwby8vI0PEpEZKp4LzMiqta1a9fQvXt3uLi4YNmyZQgJCUFJSQn27NmDmJgYXLp0Cdu3b8cLL7yACRMmID4+Hi4uLti/fz/mzJmDxMREbN68GTKZDJcuXUJZWRnWrl2L5s2bIyUlBVOmTEF+fj6WL18OAFi3bh2mT5+OTz75BL169UJRURHOnj2LlJQUpbi8vb0RHx+PmzdvKt3Bfd26dfDz89NoH9u0aYP9+/fj4cOHOHLkCCZOnIiCggKsXbu2Qt3i4mJYW1vX4EjqjjHGRGRSdH5zECIyef369RONGjUSeXl5Fcr+/vtvkZeXJxo2bCiio6MrlO/YsUMAED/88EOl6//ggw9EQECA9Py5554T48ePrzKmhQsXinbt2omBAweKJUuWSMuPHDki3NzcxLRp00SvXr3U2Lv/retxU6ZMEV5eXkrlX375pWjSpImQyWRCiEf7PmnSJOHm5iYcHR1F7969RXJysrSO5ORkERYWJhwcHISjo6Po0KGDOHnypBBCiGvXromBAwcKFxcXYWdnJ4KCgsSuXbuEEEKsX79eODs7K8Wzfft28fhXdk1jIiLV2GVGRFW6d+8edu/ejZiYGNjb21cod3Fxwd69e3H37l3MmjWrQvmgQYMQGBiI77//vtJtyOVyuLq6Ss+9vLxw7NgxXL9+vdr4Jk6ciG+++UZ6vm7dOowePbrWrSW2trZK3XhXr17Fjz/+iG3btiE5ORkA8Pzzz+P27dv47bffkJSUhA4dOqBv3764d+8eAGD06NFo3LgxTp48iaSkJMybNw9WVlYAHt2FvqioCIcPH8a5c+fw/vvvw8HBQaMYaxITEanGLjMiqtLVq1chhECrVq0qrfPnn38CAFq3bq2yvFWrVlIdVev/9NNPpe4yAFi4cCGio6PRpEkTBAYGIjQ0FP3798ewYcNgYaH8O27gwIGYOnUqDh8+jI4dO2Lz5s34/fffsW7dOk13VZKUlISNGzeiT58+0rLi4mL8+9//hru7OwDg999/x4kTJ3D79m3Y2NgAAJYvX46ffvoJW7duxUsvvYT09HTMnj1bOnYtWrSQ1peeno6hQ4ciJCQEANC0aVON46xJTESkGhMiIqqSEEIndQHg1q1biIqKwvPPP48pU6ZIy729vZGYmIiUlBQcPnwYR48exbhx4/DVV19h9+7dSkmRlZUVxowZg/Xr1+Ovv/5CYGAg2rZtq1EcAHDu3Dk4ODigtLQUxcXFGDBgAD777DOp3N/fX0o8AODMmTPIy8tDw4YNldZTWFiI1NRUAMDMmTMxefJkfPvttwgPD8fzzz+PZs2aAQBeffVVTJs2DXv37kV4eDiGDh2qcdw1iYmIVGNCRERVatGihTQYujKBgYEAgIsXL+Lpp5+uUH7x4kUEBQUpLcvIyEDv3r3x9NNP44svvlC53uDgYAQHB+Pll1/G1KlT0aNHDyQkJKB3795K9SZOnIiuXbsiJSUFEydO1HQXAQAtW7bEjh07UK9ePfj4+FTocnuyuzAvLw/e3t44dOhQhXW5uLgAeHT12qhRo7Br1y789ttvWLhwIX744QcMGTIEkydPRmRkJHbt2oW9e/ciLi4OH374IV555RVYWFhUSC5LSkoqbKcmMRGRahxDRERVcnV1RWRkJFatWoX8/PwK5bm5uYiIiICrqys+/PDDCuU7duzAlStXMHLkSGnZrVu3EBYWho4dO2L9+vUVusFUKU+oVMXQpk0btGnTBikpKRg1apQmuyextrZG8+bN0aRJE7XGH3Xo0AFZWVmoV68emjdvrvRwc3OT6gUGBmLGjBnYu3cvoqOjsX79eqnM19cXU6dOxbZt2/B///d/+PLLLwEA7u7uuH//vtK+lo8R0kZMRFQREyIiqtaqVatQWlqKLl264Mcff8SVK1dw8eJFfPLJJwgNDYW9vT3Wrl2Ln3/+GS+99BLOnj2La9eu4euvv8b48eMxbNgwvPDCCwD+lwz5+flh+fLlyMnJQVZWFrKysqTtTZs2De+88w6OHDmC69ev49ixYxg7dizc3d0RGhqqMsaDBw8iMzNTby0h4eHhCA0NxeDBg7F3715cu3YNR48exRtvvIFTp06hsLAQsbGxOHToEK5fv44jR47g5MmT0jir6dOnY8+ePUhLS8Pp06cRHx8vlXXt2hV2dnZ4/fXXkZqaio0bNyoNHK9pTERUOXaZEVG1mjZtitOnT+Pdd9/F//3f/yEzMxPu7u7o2LEjVq9eDQAYNmwY4uPj8e6776JHjx548OABWrRogTfeeAPTp0+HTCYDAOzbtw9Xr17F1atXleYOAv43Bik8PBzr1q3D6tWrcffuXbi5uSE0NBQHDhyoMD6mnKor4HRJJpPh119/xRtvvIEJEyYgJycHXl5e6NmzJzw9PWFpaYm7d+9i7NixyM7OhpubG6Kjo7F48WIAQGlpKWJiYnDz5k04OTkhKioKK1euBPCoVW7Dhg2YPXs2vvzyS/Tt2xeLFi2qdlB0dTERUeVkQtNRkERERER1DLvMiIiIyOwxISKiOs/BwaHSx3/+8x9Dh0dERoBdZkRU5129erXSskaNGsHW1laP0RCRMWJCRERERGaPXWZERERk9pgQERERkdljQkRERERmjwkRERERmT0mRERERGT2mBARERGR2WNCRERERGaPCRERERGZvf8HoD+tO7SHDZIAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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dLz44ovVZmaJiYlwc3NTfwICAuowSiIiIqpLskhkSktLMXDgQAghsHz58mqXnTlzJpRKpfqTlZVVR1ESERFRXbP4R0sVSczFixexe/fuGtu52Nvbw97evo6iIyIiInOy6ESmIok5d+4cUlJS0LBhQ3OHRERERBbErIlMQUEBzp8/r/6emZmJtLQ0eHp6ws/PDwMGDEBqaip+/PFHlJWVITc3FwDg6ekJOzs7c4VNREREFsKs3a/37NmDTp06VZk+bNgwzJkzByEhIVp/l5KSgo4dO+q1DXa/JiIikh9ZdL/u2LEjqsujLGSIGyIiIrJQsui1RERERKQNExkiIiKSLSYyREREJFtMZIiIiEi2mMgQERGRbDGRISIiItliIkNERESyxUSGiIiIZIuJDBEREckWExkiIiKSLSYyREREJFtMZIiIiEi2mMgQERGRbDGRISIiItliIkNERESyxUSGiIiIZIuJDBEREckWExkiIiKSLSYyREREJFtMZIiIiEi2mMgQERGRbDGRISIiItliIkNERESyxUSGiIiIZIuJDBEREckWExkiIiKSLSYyREREJFtMZIiIiEi2mMgQERGRbDGRISIiItliIkNERESyxUSGiIiIZIuJDBEREckWExkiIiKSLSYyREREJFtMZIiIiEi2mMgQERGRbDGRISIiItliIkNERESyZdZEZt++fejduzf8/f2hUCiwdetWjflCCLz77rvw8/ODg4MD4uPjce7cOfMES0RERBbHrIlMYWEhWrRogWXLlmmd/+GHH+LTTz/FihUrcPjwYTg5OaFr1664c+dOHUdKRERElqi+OTfevXt3dO/eXes8IQSWLl2Kd955B88//zwA4Ouvv0ajRo2wdetWDB48uC5DJSIiIgtksW1kMjMzkZubi/j4ePU0Nzc3tG3bFgcPHjRjZERERGQpzFojU53c3FwAQKNGjTSmN2rUSD1Pm5KSEpSUlKi/q1Qq0wRIREREZmexNTLGSkxMhJubm/oTEBBg7pCIiIjIRCw2kfH19QUAXL16VWP61atX1fO0mTlzJpRKpfqTlZVl0jiJiIjIfCw2kQkJCYGvry927dqlnqZSqXD48GHExsbq/J29vT1cXV01PkRERGSdzNpGpqCgAOfPn1d/z8zMRFpaGjw9PREYGIjJkydj3rx5aNKkCUJCQjBr1iz4+/ujT58+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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkcAAAHHCAYAAAC1G/yyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABm2klEQVR4nO3deXxMV/8H8M9k32STPZKIEEEi9hhqqzwJUm0ttVesLaWoR4u2ilZLq7W0j6ILnl+1aimt2mOLInZBbCVCkMWaGSGynt8fntzOSMLMZJKZST7v12tezD1n7v3em5m53znn3HNlQggBIiIiIgIAmBk6ACIiIiJjwuSIiIiISAWTIyIiIiIVTI6IiIiIVDA5IiIiIlLB5IiIiIhIBZMjIiIiIhVMjoiIiIhUMDkiIiIiUsHkiIhMxowZMyCTyTSqK5PJMGPGjAqNp2PHjujYsaPRro+IdMPkiIi0tmLFCshkMulhYWEBX19fDBkyBDdv3jR0eEandu3aasfLw8MD7dq1w4YNG/Sy/kePHmHGjBnYu3evXtZHVN0xOSIinX388cf46aefsGTJEnTt2hUrV65Ehw4d8Pjx4wrZ3ocffoicnJwKWXdFa9KkCX766Sf89NNPmDRpEtLS0tCzZ08sWbKk3Ot+9OgRZs6cyeSISE8sDB0AEZmurl27okWLFgCAESNGwM3NDZ9//jk2btyIPn366H17FhYWsLAwza8tX19fDBo0SHo+ePBg1K1bF/Pnz8eoUaMMGBkRPY0tR0SkN+3atQMAJCcnqy2/cOECevfuDVdXV9jY2KBFixbYuHGjWp38/HzMnDkT9erVg42NDWrWrIkXXngBcXFxUp3Sxhzl5ubinXfegbu7O2rUqIGXX34ZN27cKBHbkCFDULt27RLLS1vn8uXL8eKLL8LDwwPW1tZo2LAhFi9erNWxeB4vLy80aNAAKSkpz6x369YtDB8+HJ6enrCxsUF4eDj++9//SuVXr16Fu7s7AGDmzJlS111Fj7ciqspM8ycYERmlq1evAgBcXFykZWfPnkXbtm3h6+uLKVOmwN7eHmvWrMGrr76K3377DT169ADwJEmZPXs2RowYgVatWkGpVOLYsWM4ceIE/vWvf5W5zREjRmDlypUYMGAA2rRpg927dyMmJqZc+7F48WI0atQIL7/8MiwsLPDnn3/irbfeQlFREcaMGVOudRfLz8/H9evXUbNmzTLr5OTkoGPHjrh8+TLGjh2LwMBArF27FkOGDEFWVhbGjx8Pd3d3LF68GKNHj0aPHj3Qs2dPAEDjxo31EidRtSSIiLS0fPlyAUDs3LlT3L59W1y/fl2sW7dOuLu7C2tra3H9+nWpbufOnUVYWJh4/PixtKyoqEi0adNG1KtXT1oWHh4uYmJinrnd6dOnC9WvrcTERAFAvPXWW2r1BgwYIACI6dOnS8tiY2NFQEDAc9cphBCPHj0qUS86OlrUqVNHbVmHDh1Ehw4dnhmzEEIEBASIqKgocfv2bXH79m1x6tQp0a9fPwFAvP3222Wub8GCBQKAWLlypbQsLy9PyOVy4eDgIJRKpRBCiNu3b5fYXyLSHbvViEhnkZGRcHd3h5+fH3r37g17e3ts3LgRtWrVAgDcu3cPu3fvRp8+ffDgwQPcuXMHd+7cwd27dxEdHY1Lly5JV7c5Ozvj7NmzuHTpksbb37JlCwBg3LhxassnTJhQrv2ytbWV/q9QKHDnzh106NABV65cgUKh0GmdO3bsgLu7O9zd3REeHo61a9fi9ddfx+eff17ma7Zs2QIvLy/0799fWmZpaYlx48YhOzsb8fHxOsVCRM/GbjUi0tmiRYsQHBwMhUKBZcuWYd++fbC2tpbKL1++DCEEpk2bhmnTppW6jlu3bsHX1xcff/wxXnnlFQQHByM0NBRdunTB66+//szuoWvXrsHMzAxBQUFqy+vXr1+u/Tpw4ACmT5+OhIQEPHr0SK1MoVDAyclJ63VGRERg1qxZkMlksLOzQ4MGDeDs7PzM11y7dg316tWDmZn679gGDRpI5USkf0yOiEhnrVq1kq5We/XVV/HCCy9gwIABuHjxIhwcHFBUVAQAmDRpEqKjo0tdR926dQEA7du3R3JyMv744w/s2LEDP/zwA+bPn48lS5ZgxIgR5Y61rMkjCwsL1Z4nJyejc+fOCAkJwbx58+Dn5wcrKyts2bIF8+fPl/ZJW25uboiMjNTptURUuZgcEZFemJubY/bs2ejUqRP+85//YMqUKahTpw6AJ11BmiQGrq6uGDp0KIYOHYrs7Gy0b98eM2bMKDM5CggIQFFREZKTk9Vaiy5evFiirouLC7Kyskosf7r15c8//0Rubi42btwIf39/afmePXueG7++BQQE4PTp0ygqKlJrPbpw4YJUDpSd+BGRbjjmiIj0pmPHjmjVqhUWLFiAx48fw8PDAx07dsTSpUuRnp5eov7t27el/9+9e1etzMHBAXXr1kVubm6Z2+vatSsA4Ouvv1ZbvmDBghJ1g4KCoFAocPr0aWlZenp6iVmqzc3NAQBCCGmZQqHA8uXLy4yjonTr1g0ZGRlYvXq1tKygoADffPMNHBwc0KFDBwCAnZ0dAJSa/BGR9thyRER69e677+K1117DihUrMGrUKCxatAgvvPACwsLCMHLkSNSpUweZmZlISEjAjRs3cOrUKQBAw4YN0bFjRzRv3hyurq44duwY1q1bh7Fjx5a5rSZNmqB///749ttvoVAo0KZNG+zatQuXL18uUbdfv36YPHkyevTogXHjxuHRo0dYvHgxgoODceLECaleVFQUrKys0L17d7z55pvIzs7G999/Dw8Pj1ITvIr0xhtvYOnSpRgyZAiOHz+O2rVrY926dThw4AAWLFiAGjVqAHgygLxhw4ZYvXo1goOD4erqitDQUISGhlZqvERVhqEvlyMi01N8Kf/Ro0dLlBUWFoqgoCARFBQkCgoKhBBCJCcni8GDBwsvLy9haWkpfH19xUsvvSTWrVsnvW7WrFmiVatWwtnZWdja2oqQkBDx6aefiry8PKlOaZfd5+TkiHHjxomaNWsKe3t70b17d3H9+vVSL23fsWOHCA0NFVZWVqJ+/fpi5cqVpa5z48aNonHjxsLGxkbUrl1bfP7552LZsmUCgEhJSZHqaXMp//OmKShrfZmZmWLo0KHCzc1NWFlZibCwMLF8+fISrz148KBo3ry5sLKy4mX9ROUkE0Kl7ZiIiIiomuOYIyIiIiIVTI6IiIiIVDA5IiIiIlLB5IiIiIhIBZMjIiIiIhVMjoiIiIhUcBJIDRUVFSEtLQ01atTgVP1EREQmQgiBBw8ewMfHp8RNnMvC5EhDaWlp8PPzM3QYREREpIPr16+jVq1aGtVlcqSh4mn6r1+/DkdHRwNHQ0RERJpQKpXw8/OTzuOaYHKkoeKuNEdHRyZHREREJkabITEckE1ERESkgskRERERkQomR0REREQqOOaIiMiIFRYWIj8/39BhEBktS0tLmJub63WdTI6IiIyQEAIZGRnIysoydChERs/Z2RleXl56m4eQyRERkREqTow8PDxgZ2fHyWeJSiGEwKNHj3Dr1i0AgLe3t17Wy+SIiMjIFBYWSolRzZo1DR0OkVGztbUFANy6dQseHh566WLjgGwiIiNTPMbIzs7OwJEQmYbiz4q+xucxOSIiMlLsSiPSjL4/K0yOiIiIiFQwOSIiIqIS9u7dC5lMVu4rJmvXro0FCxboJabKwuTIwNIVOTiYfAfpihxDh0JEpBcZGRl4++23UadOHVhbW8PPzw/du3fHrl27pDoHDx5Et27d4OLiAhsbG4SFhWHevHkoLCyU6ly9ehXDhw9HYGAgbG1tERQUhOnTpyMvL09te99//z3Cw8Ph4OAAZ2dnNG3aFLNnz5bKZ8yYAZlMhi5dupSIde7cuZDJZOjYsaPG+6dUKvHBBx8gJCQENjY28PLyQmRkJNavXw8hhFTv7Nmz6NOnD9zd3WFtbY3g4GB89NFHePTokVTn3r17ePvtt1G/fn3Y2trC398f48aNg0Kh0CiWq1evQiaTlfo4dOiQxvvUsWNHTJgwQeP6VR2vVjOg1UdTMXX9GRQJwEwGzO4Zhr4t/Q0dFhGRzq5evYq2bdvC2dkZc+fORVhYGPLz87F9+3aMGTMGFy5cwIYNG9CnTx8MHToUe/bsgbOzM3bu3In33nsPCQkJWLNmDWQyGS5cuICioiIsXboUdevWRVJSEkaOHImHDx/iyy+/BAAsW7YMEyZMwNdff40OHTogNzcXp0+fRlJSklpc3t7e2LNnD27cuIFatWpJy5ctWwZ/f82/d7OysvDCCy9AoVBg1qxZaNmyJSwsLBAfH4/33nsPL774IpydnXHo0CFERkYiMjISmzdvhqenJ44cOYJ///vf2LVrF/bs2QMrKyukpaUhLS0NX375JRo2bIhr165h1KhRSEtLw7p16zSOa+fOnWjUqJHaMl7pWA7CgL799lsRFhYmatSoIWrUqCFat24ttmzZIpXn5OSIt956S7i6ugp7e3vRs2dPkZGRobaOa9euiW7duglbW1vh7u4uJk2aJPLz89Xq7NmzRzRt2lRYWVmJoKAgsXz5cq1jVSgUAoBQKBQ67evT0rIeicApm0TA5H8edaZsFmlZj/SyfiIyXTk5OeLcuXMiJyfH0KForWvXrsLX11dkZ2eXKLt//77Izs4WNWvWFD179ixRvnHjRgFA/Prrr2Wu/4svvhCBgYHS81deeUUMGTLkmTFNnz5dhIeHi5deeknMmjVLWn7gwAHh5uYmRo8eLTp06KDB3gkxevRoYW9vL27evFmi7MGDByI/P18UFRWJhg0bihYtWojCwkK1OomJiUImk4k5c+aUuY01a9YIKyurEuey0qSkpAgA4uTJk2XWKd7///u//xMBAQHC0dFR9O3bVyiVSiGEELGxsQKA2iMlJUXs2bNHABA7d+4UzZs3F7a2tkIul4sLFy5I6758+bJ4+eWXhYeHh7C3txctWrQQcXFxatsPCAgQ8+fPl54DEN9++63o0qWLsLGxEYGBgWLt2rVSeadOncSYMWPU1nHr1i1haWkpdu7cWeo+Puszo8v526DdarVq1cKcOXNw/PhxHDt2DC+++CJeeeUVnD17FgDwzjvv4M8//8TatWsRHx+PtLQ09OzZU3p9YWEhYmJikJeXh4MHD+K///0vVqxYgY8++kiqk5KSgpiYGHTq1AmJiYmYMGECRowYge3bt1f6/qpKufMQRUJ9WaEQuHrnUekvICLSQWV23d+7dw/btm3DmDFjYG9vX6Lc2dkZO3bswN27dzFp0qQS5d27d0dwcDBWrVpV5jYUCgVcXV2l515eXjh06BCuXbv23PiGDRuGFStWSM+XLVuGgQMHwsrK6rmvBYCioiL8+uuvGDhwIHx8fEqUOzg4wMLCAomJiTh37hwmTpwIMzP102x4eDgiIyOfu4+Ojo6wsNBf505ycjJ+//13bNq0CZs2bUJ8fDzmzJkDAFi4cCHkcjlGjhyJ9PR0pKenw8/PT3rtBx98gK+++grHjh2DhYUFhg0bJpVlZ2ejW7du2LVrF06ePIkuXbqge/fuSE1NfWY806ZNQ69evXDq1CkMHDgQ/fr1w/nz5wEAI0aMwC+//ILc3Fyp/sqVK+Hr64sXX3xRb8fkmTROoyqJi4uL+OGHH0RWVpawtLRUyybPnz8vAIiEhAQhhBBbtmwRZmZmaq1JixcvFo6OjiI3N1cIIcR7770nGjVqpLaNvn37iujoaK3iYssREVUWfbUc/XrkmvQ9Ezhlk/j1yDU9RVi6w4cPCwBi/fr1ZdaZM2eOACDu379favnLL78sGjRoUGrZpUuXhKOjo/juu++kZWlpaaJ169YCgAgODhaxsbFi9erVai02xS0neXl5wsPDQ8THx4vs7GxRo0YNcerUKTF+/HiNWo4yMzMFADFv3rxn1vv111+f2Zozbtw4YWtrW2rZ7du3hb+/v3j//fefG48Q/7Qc2draCnt7e7VHsenTpws7OzuppUgIId59910REREhPe/QoYMYP3682rpVW46Kbd68WQB45nuzUaNG4ptvvpGel9ZyNGrUKLXXREREiNGjRwshnrz/XVxcxOrVq6Xyxo0bixkzZpS5zSrVcqSqsLAQv/76Kx4+fAi5XI7jx48jPz8fkZGRUp2QkBD4+/sjISEBAJCQkICwsDB4enpKdaKjo6FUKqXWp4SEBLV1FNcpXkdZcnNzoVQq1R765O1ki9k9w2D+v7kZzGUyfNYzFN5OtnrdDhFVT+mKHGlMIwAUCeD99UkV2oIkhHh+JR3qAsDNmzfRpUsXvPbaaxg5cqS03NvbGwkJCThz5gzGjx+PgoICxMbGokuXLigqKlJbh6WlJQYNGoTly5dj7dq1CA4ORuPGjSssZm3rK5VKxMTEoGHDhpgxY4ZWr129ejUSExPVHqpq166NGjVqSM+9vb2lW248j+oxKr49R/Frs7OzMWnSJDRo0ADOzs5wcHDA+fPnn9tyJJfLSzwvbjmysbHB66+/jmXLlgEATpw4gaSkJAwZMkSjePXB4AOyz5w5A7lcjsePH8PBwQEbNmxAw4YNkZiYCCsrKzg7O6vV9/T0REZGBoAnV0SoJkbF5cVlz6qjVCqRk5MjTTv+tNmzZ2PmzJn62MUy9W3pj/bB7rh65xFqu9kxMSIivXlW131FfdfUq1dPGkhdluDgYADA+fPn0aZNmxLl58+fR8OGDdWWpaWloVOnTmjTpg2+++67UtcbGhqK0NBQvPXWWxg1ahTatWuH+Ph4dOrUSa3esGHDEBERgaSkJLXuIU24u7vD2dn5mfsHqO9j06ZNS5SfP39eqlPswYMH6NKlC2rUqIENGzbA0tJSq9j8/PxQt27dMsufXp9MJiuRPGry2uLJFotfO2nSJMTFxeHLL79E3bp1YWtri969e5e4olBbI0aMQJMmTXDjxg0sX74cL774IgICAsq1Tm0YvOWofv36SExMxOHDhzF69GjExsbi3Llzhg4LU6dOhUKhkB7Xr1+vkO14O9lCHlSTiRER6VWgmz3Mnpo02FwmQ223irsliaurK6Kjo7Fo0SI8fPiwRHlWVhaioqLg6uqKr776qkT5xo0bcenSJfTv319advPmTXTs2BHNmzfH8uXLS4zhKU1xclVaDI0aNUKjRo2QlJSEAQMGaLN7MDMzQ79+/fDzzz8jLS2tRHl2djYKCgrQpEkThISEYP78+SUSkFOnTmHnzp1q+6hUKhEVFQUrKyts3LgRNjY2WsWlD1ZWVmrTKGjqwIEDGDJkCHr06IGwsDB4eXnh6tWrz33d09MMHDp0CA0aNJCeh4WFoUWLFvj+++/xyy+/aJ3IlpfBkyMrKyvUrVsXzZs3x+zZsxEeHo6FCxfCy8sLeXl5JSafyszMhJeXF4AnA/EyMzNLlBeXPauOo6Njma1GAGBtbQ1HR0e1BxGRqTBU1/2iRYtQWFiIVq1a4bfffsOlS5dw/vx5fP3115DL5bC3t8fSpUvxxx9/4I033sDp06dx9epV/PjjjxgyZAh69+6NPn36APgnMfL398eXX36J27dvIyMjQ+oZAIDRo0fjk08+wYEDB3Dt2jUcOnQIgwcPhru7e4mum2K7d+9Genp6iZ4JTXz66afw8/NDREQE/u///g/nzp3DpUuXsGzZMjRt2hTZ2dmQyWT48ccfce7cOfTq1QtHjhxBamoq1q5di+7du0Mul0tzChUnRg8fPsSPP/4IpVIp7aM2ycrdu3el1xU/Hj9+rPHra9eujcOHD+Pq1au4c+eOxq1K9erVw/r165GYmIhTp05hwIABGr127dq1WLZsGf7++29Mnz4dR44cwdixY9XqjBgxAnPmzIEQAj169NB4X/RC49FJlaRTp04iNjZWGpC9bt06qezChQulDsjOzMyU6ixdulQ4OjqKx48fCyGeDMgODQ1V20b//v0NPiCbiKgs+ryUPy3rkTh4+U6lXuyRlpYmxowZIwICAoSVlZXw9fUVL7/8stizZ49UZ9++fSI6Olo4OjoKKysr0ahRI/Hll1+KgoICqc7y5ctLXGJe/Ci2bt060a1bN+Ht7S2srKyEj4+P6NWrlzh9+rRUp3hAdlk0HZBdLCsrS0yZMkXUq1dPWFlZCU9PTxEZGSk2bNggioqKpHqnT58WvXr1Eq6ursLS0lIEBQWJDz/8UDx8+FCqUzzoubRHSkrKc2MpHpBd2mPVqlVl7v/8+fNFQECA9PzixYuidevWwtbWtsSl/KqD50+ePKkWW0pKiujUqZOwtbUVfn5+4j//+U+Jwd2lDchetGiR+Ne//iWsra1F7dq11QZfF3vw4IGws7MTb7311nOPg74HZBs0OZoyZYqIj48XKSkp4vTp02LKlClCJpOJHTt2CCGEGDVqlPD39xe7d+8Wx44dE3K5XMjlcun1BQUFIjQ0VERFRYnExESxbds24e7uLqZOnSrVuXLlirCzsxPvvvuuOH/+vFi0aJEwNzcX27Zt0ypWJkdEVFlMeZ4joucBIDZs2PDceikpKcLMzEwcP378uXX1nRwZdED2rVu3MHjwYKSnp8PJyQmNGzfG9u3b8a9//QsAMH/+fJiZmaFXr17Izc1FdHQ0vv32W+n15ubm2LRpE0aPHi0118bGxuLjjz+W6gQGBmLz5s145513sHDhQtSqVQs//PADoqOjK31/iYiI6Nny8/Nx9+5dfPjhh2jdujWaNWtW6THI/pfF0XMolUo4OTlJk3MREVWUx48fIyUlBYGBgQYZnFudOTg4lFm2detWtGvXrhKjAUaNGoWVK1eWWjZo0CAsWbKkUuPRB5lMhg0bNuDVV18ttXzv3r3o1KkTgoODsW7dOoSFhT13nc/6zOhy/jb4pfxERETG4un5gVT5+vpWXiD/8/HHH5c6mzgAk/2h/rw2mY4dO2o9R5S+MTkiIiL6n2fNFWQIHh4e8PDwMHQY1Y7BL+UnIiIiMiZMjoiIjJSmc80QVXf6/qywW42IyMhYWVnBzMwMaWlpcHd3h5WVlXTbBiL6hxACeXl5uH37NszMzGBlZaWX9TI5IiIyMmZmZggMDER6enqpt6kgInV2dnbw9/fX6PYymmByRERkhKysrODv74+CggKd7nlFVF2Ym5vDwsJCr62rTI6IiIyUTCaDpaWl1ndoJ6Ly4YBsIiIiIhVMjoiIiIhUMDkiIiIiUsHkiIiIiEgFkyMiIiIiFUyOiIiIiFQwOSIiIiJSweSIiIiISAWTIyIiIiIVTI6IiIiIVDA5IiIiIlLB5IiIiIhIBZMjIiIiIhVMjoiIiIhUMDkiIiIiUsHkiIiIiEgFkyMiIiIiFUyOiIiIiFQwOSIiIiJSweSIiIiISAWTIyIiIiIVTI6IiIiIVDA5IiIiIlLB5IiIiIhIBZMjIiIiIhVMjoiIiIhUMDkiIiIiUsHkiIiIiEgFkyMiIiIiFUyOiIiIiFQwOSIiIiJSweSIiIiISAWTIyIiIiIVTI6IiIiIVDA5IiIiIlLB5IiIiIhIhUGTo9mzZ6Nly5aoUaMGPDw88Oqrr+LixYtqdTp27AiZTKb2GDVqlFqd1NRUxMTEwM7ODh4eHnj33XdRUFCgVmfv3r1o1qwZrK2tUbduXaxYsaKid4+IiIhMkEGTo/j4eIwZMwaHDh1CXFwc8vPzERUVhYcPH6rVGzlyJNLT06XHF198IZUVFhYiJiYGeXl5OHjwIP773/9ixYoV+Oijj6Q6KSkpiImJQadOnZCYmIgJEyZgxIgR2L59e6XtKxEREZkGmRBCGDqIYrdv34aHhwfi4+PRvn17AE9ajpo0aYIFCxaU+pqtW7fipZdeQlpaGjw9PQEAS5YsweTJk3H79m1YWVlh8uTJ2Lx5M5KSkqTX9evXD1lZWdi2bZtGsSmVSjg5OUGhUMDR0bF8O0pERESVQpfzt1GNOVIoFAAAV1dXteU///wz3NzcEBoaiqlTp+LRo0dSWUJCAsLCwqTECACio6OhVCpx9uxZqU5kZKTaOqOjo5GQkFBRu0JEREQmysLQARQrKirChAkT0LZtW4SGhkrLBwwYgICAAPj4+OD06dOYPHkyLl68iPXr1wMAMjIy1BIjANLzjIyMZ9ZRKpXIycmBra1tiXhyc3ORm5srPVcqlfrZUSIiIjJqRpMcjRkzBklJSdi/f7/a8jfeeEP6f1hYGLy9vdG5c2ckJycjKCiowuKZPXs2Zs6cWWHrJyIiIuNkFN1qY8eOxaZNm7Bnzx7UqlXrmXUjIiIAAJcvXwYAeHl5ITMzU61O8XMvL69n1nF0dCy11QgApk6dCoVCIT2uX7+u/Y4RERGRyTFociSEwNixY7Fhwwbs3r0bgYGBz31NYmIiAMDb2xsAIJfLcebMGdy6dUuqExcXB0dHRzRs2FCqs2vXLrX1xMXFQS6Xl7kda2trODo6qj2IiIio6jNocjRmzBisXLkSv/zyC2rUqIGMjAxkZGQgJycHAJCcnIxPPvkEx48fx9WrV7Fx40YMHjwY7du3R+PGjQEAUVFRaNiwIV5//XWcOnUK27dvx4cffogxY8bA2toaADBq1ChcuXIF7733Hi5cuIBvv/0Wa9aswTvvvGOwfSciIiLjZNBL+WUyWanLly9fjiFDhuD69esYNGgQkpKS8PDhQ/j5+aFHjx748MMP1Vpyrl27htGjR2Pv3r2wt7dHbGws5syZAwuLf4ZU7d27F++88w7OnTuHWrVqYdq0aRgyZIjGsfJSfiIiItOjy/nbqOY5MmZMjoiIiEyPyc9zRERERGRoTI6IiIiIVDA5IiIiIlLB5IiIiIhIBZMjIiIiIhVMjoiIiIhUMDkiIiIiUsHkiIiIiEgFkyMiIiIiFUyOiIiIiFQwOSIiIiJSweSIiIiISAWTIyIiIiIVTI6IiIiIVDA5IiIiIlLB5IiIiIhIBZMjIiIiIhVMjoiIiIhUMDkiIiIiUsHkiIiIiEgFkyMiIiIiFUyOiIiIiFQwOSIiIiJSweSIiIiISAWTIyIiIiIVTI6IiIiIVDA5IiIiIlLB5IiIiIhIhU7J0Z49e/QdBxEREZFR0Ck56tKlC4KCgjBr1ixcv35d3zERERERGYxOydHNmzcxduxYrFu3DnXq1EF0dDTWrFmDvLw8fcdHREREVKl0So7c3NzwzjvvIDExEYcPH0ZwcDDeeust+Pj4YNy4cTh16pS+4yQiIiKqFOUekN2sWTNMnToVY8eORXZ2NpYtW4bmzZujXbt2OHv2rD5iJCIiIqo0OidH+fn5WLduHbp164aAgABs374d//nPf5CZmYnLly8jICAAr732mj5jJSIiIqpwMiGE0PZFb7/9NlatWgUhBF5//XWMGDECoaGhanUyMjLg4+ODoqIivQVrSEqlEk5OTlAoFHB0dDR0OERERKQBXc7fFrps6Ny5c/jmm2/Qs2dPWFtbl1rHzc2Nl/wTERGRydGp5ag6YssRERGR6am0liMAuHjxIr755hucP38eANCgQQO8/fbbqF+/vq6rJCIiIjI4nQZk//bbbwgNDcXx48cRHh6O8PBwnDhxAqGhofjtt9/0HSMRERFRpdGpWy0oKAgDBw7Exx9/rLZ8+vTpWLlyJZKTk/UWoLFgtxoREZHp0eX8rVPLUXp6OgYPHlxi+aBBg5Cenq7LKomIiIiMgk7JUceOHfHXX3+VWL5//360a9eu3EERERERGYpOA7JffvllTJ48GcePH0fr1q0BAIcOHcLatWsxc+ZMbNy4Ua0uERERkanQacyRmZlmDU4ymQyFhYVaB2WMOOaIiIjI9FTapfxVZdZrIiIioqeV+8az5TF79my0bNkSNWrUgIeHB1599VVcvHhRrc7jx48xZswY1KxZEw4ODujVqxcyMzPV6qSmpiImJgZ2dnbw8PDAu+++i4KCArU6e/fuRbNmzWBtbY26detixYoVFb17REREZII0bjn6+uuvNV7puHHjNKoXHx+PMWPGoGXLligoKMD777+PqKgonDt3Dvb29gCAd955B5s3b8batWvh5OSEsWPHomfPnjhw4AAAoLCwEDExMfDy8sLBgwelK+ksLS3x2WefAQBSUlIQExODUaNG4eeff8auXbswYsQIeHt7Izo6WuP9IiIioqpP4zFHgYGBmq1QJsOVK1d0Cub27dvw8PBAfHw82rdvD4VCAXd3d/zyyy/o3bs3AODChQto0KABEhIS0Lp1a2zduhUvvfQS0tLS4OnpCQBYsmQJJk+ejNu3b8PKygqTJ0/G5s2bkZSUJG2rX79+yMrKwrZt2zSKjWOOiIiITE+FjjlKSUnROTBNKRQKAICrqysA4Pjx48jPz0dkZKRUJyQkBP7+/lJylJCQgLCwMCkxAoDo6GiMHj0aZ8+eRdOmTZGQkKC2juI6EyZMKDOW3Nxc5ObmSs+VSqU+dpGIiIiMnEHHHKkqKirChAkT0LZtW4SGhgIAMjIyYGVlBWdnZ7W6np6eyMjIkOqoJkbF5cVlz6qjVCqRk5NTajyzZ8+Gk5OT9PDz8yv3PhIREZHx0/nGszdu3MDGjRuRmpqKvLw8tbJ58+Zpvb4xY8YgKSkJ+/fv1zUkvZo6dSomTpwoPVcqlUyQiIiIqgGdkqNdu3bh5ZdfRp06dXDhwgWEhobi6tWrEEKgWbNmWq9v7Nix2LRpE/bt24datWpJy728vJCXl4esrCy11qPMzEx4eXlJdY4cOaK2vuKr2VTrPH2FW2ZmJhwdHWFra1tqTNbW1rC2ttZ6X4iIiMi06dStNnXqVEyaNAlnzpyBjY0NfvvtN1y/fh0dOnTAa6+9pvF6hBAYO3YsNmzYgN27d5cY9N28eXNYWlpi165d0rKLFy8iNTUVcrkcACCXy3HmzBncunVLqhMXFwdHR0c0bNhQqqO6juI6xesgIiIikggdODg4iMuXLwshhHB2dhZJSUlCCCESExNFQECAxusZPXq0cHJyEnv37hXp6enS49GjR1KdUaNGCX9/f7F7925x7NgxIZfLhVwul8oLCgpEaGioiIqKEomJiWLbtm3C3d1dTJ06Vapz5coVYWdnJ959911x/vx5sWjRImFubi62bdumcawKhUIAEAqFQuPXEBERkWHpcv7WqeXI3t5eGmfk7e2N5ORkqezOnTsar2fx4sVQKBTo2LEjvL29pcfq1aulOvPnz8dLL72EXr16oX379vDy8sL69eulcnNzc2zatAnm5uaQy+UYNGgQBg8ejI8//liqExgYiM2bNyMuLg7h4eH46quv8MMPP3COIyIiIipBp3urvfrqq4iJicHIkSMxadIk/PHHHxgyZAjWr18PFxcX7Ny5syJiNSjOc0RERGR6Ku3eavPmzUN2djYAYObMmcjOzsbq1atRr149na5UIyIiIjIWOrUcVUdsOSIiIjI9ldZyVCwvLw+3bt1CUVGR2nJ/f//yrJaIiIjIYHRKjv7++28MHz4cBw8eVFsuhIBMJkNhYaFegiMiIiKqbDolR0OHDoWFhQU2bdoEb29vyGQyfcdFREREZBA6JUeJiYk4fvw4QkJC9B0PERERkUHpNM9Rw4YNtZrPiIiIiMhUaJwcKZVK6fH555/jvffew969e3H37l21MqVSWZHxEhEREVUojbvVnJ2d1cYWCSHQuXNntTockE1ERESmTuPkaM+ePRUZBxEREZFR0Dg56tChg/T/1NRU+Pn5lbhKTQiB69ev6y86IiIiokqm04DswMBA3L59u8Tye/fuITAwsNxBERERERmKTslR8diip2VnZ8PGxqbcQREREREZilbzHE2cOBEAIJPJMG3aNNjZ2UllhYWFOHz4MJo0aaLXAImIiIgqk1bJ0cmTJwE8aTk6c+YMrKyspDIrKyuEh4dj0qRJ+o2QiIiIqBJplRwVX7E2dOhQLFy4kHenJyIioipHp9uHLF++XN9xEBERERkFnZKjhw8fYs6cOdi1axdu3bqFoqIitfIrV67oJTgiIiKiyqZTcjRixAjEx8fj9ddfh7e3d6lXrhERERGZIp2So61bt2Lz5s1o27atvuMhIiIiMiid5jlycXGBq6urvmMhIiIiMjidkqNPPvkEH330ER49eqTveIiIiIgMSqduta+++grJycnw9PRE7dq1YWlpqVZ+4sQJvQRHREREVNl0So5effVVPYdBREREZBxkQghh6CBMgVKphJOTExQKBSe/JCIiMhG6nL+1GnN05MgRFBYWllmem5uLNWvWaLNKIiIiIqOiVXIkl8tx9+5d6bmjo6PahI9ZWVno37+//qIjIiIiqmRaJUdP98CV1iPHXjoiIiIyZTpdyv8snC2biIiITJnekyMiIiIiU6b1pfznzp1DRkYGgCddaBcuXEB2djYA4M6dO/qNjoiIiKiS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f2vVrbZ7926MHTsWhw4dQo8ePdTKFAoFGjVqhCVLlqBdu3barJaIiIjIaGg1IHvBggUYOXJkqZmXk5MT3nzzTcybN09vwRERERFVNq2So1OnTqFLly5llkdFRand54yIiIjI1GiVHGVmZsLS0rLMcgsLC9y+fbvcQREREREZilbJka+vL5KSksosP336NLy9vcsdFBEREZGhaJUcdevWDdOmTcPjx49LlOXk5GD69Ol46aWX9BYcERERUWXT6lL+zMxMNGvWDObm5hg7dizq168PALhw4QIWLVqEwsJCnDhxAp6enhUWsKHwUn4iIiLTU+GX8nt6euLgwYMYPXo0pk6diuK8SiaTITo6GosWLaqSiRERERFVH1olRwAQEBCALVu24P79+7h8+TKEEKhXrx5cXFwqIj4iIiKiSqV1clTMxcUFLVu21GcsRERERAan1YBsIiIioqqOyRERERGRCiZHRERERCqYHBERERGpYHJEREREpILJEREREZEKJkdEREREKpgcEREREalgckRERESkgskRERERkQomR0REREQqmBwRERERqWByRERERKSCyRERERGRCiZHRERERCqYHJFepCtycDD5DtIVOYYOhYiIqFwsDB0Amb7VR1Mxdf0ZFAnATAbM7hmGvi39DR0WEdIVOUi58xCBbvbwdrI1dDhEZCKYHFG5pCtypMQIAIoE8P76JLQPdufJiAyKSTsR6YrdalQuKXceSolRsUIhcPXOI8MERISyk3Z2+xKRJpgcUbkEutnDTKa+zFwmQ203uwrdLsc40bMwaSei8mByROXi7WSL2T3DYC57kiGZy2T4rGdohXaprT6airZzdmPA94fRds5urD6aWmHbItNkqKSdiKoGmRBCPL8aKZVKODk5QaFQwNHR0dDhGJ10RQ6u3nmE2m52FZoYpSty0HbObrVWAXOZDPundOIYJ1Kz+mgq3l+fhEIhpKSdY46Iqh9dzt8ckE164e1kWynJybO6S5gckaq+Lf3RPti9UpJ2IqpamByRSSnuLnm65YjdJVSaykraiahq4ZgjMimGGONERETVC1uOyOSwu4SIiCoSkyMySewuIWPD2biJqg4mR2TyeFIiQ+Ns3ERVi9GPOZoxYwZkMpnaIyQkRCp//PgxxowZg5o1a8LBwQG9evVCZmam2jpSU1MRExMDOzs7eHh44N1330VB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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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eGrsLt3du3fX5mVERERE1UarmhpDwpoaIiIiw6PN9VujG1qeOHEChYWFKsvz8vKwYcMGTTZJREREJAmNkpro6Gj8888/iueOjo5KE+1lZGSgX79+0kVHREREpCaNkprSLVXltVwZeWsWERER6SmNkhp1VNfswkREREQVkTypISIiItIFjYd0X7x4EWlpaQCeNTVdvnwZWVlZAID09HRpoyMiIiJSk0ZDus3MzCCTycrtN1O8XCaTVThCqqZxSDcREZHhqfbJ95KSkrQKjIiIiKi6aZTUBAQEaLTxUaNG4ZNPPoGbm5tGryMiIiLSVLV2FF69ejXkcnl1vgURERERgGpOajhnDREREdUUDukmIiIio8CkhoiIiIwCkxoiIiIyCkxqiIiIyChUa1IzYMAATnhHRERENUKrpKaoqEjl8tu3byueL126lHPUEBERUY3QKKmRy+Xo3bs37Ozs4OnpiY8//ljplggPHjxAUFCQ5EESERERVUajGYWnTZuGc+fO4fvvv0dGRgZmz56N06dPY/PmzbC0tATAuWmIiIhINzSqqdm6dSuWL1+Onj17YujQoTh16hQePHiAbt26IS8vD8CzG1sSERER1TSNkpoHDx4o3f/Jzc0Nv/32Gx4/foxXX30VOTk5kgdIREREpA6Nkhp/f39cunRJaZmDgwN2796N3NxcvPHGG5IGR0RERKQujZKaDh06ICEhocxye3t77Nq1C9bW1pIFRkRERKQJjToKz5w5EykpKeWWOTg4YM+ePTh9+rQkgRERERFpQqOkxsXFBS4uLirLHRwc0LZt2yoHRURERKQpjSffKygowPz589GkSRPY29vD3t4eTZo0wYIFC5Cfn18dMRIRERFVSqOamtzcXLzyyis4evQoYmJi0KZNGwDApUuXMHnyZGzbtg27d+9m3xoiIiKqcRolNfHx8UhOTsaZM2fQqFEjpbJz587htddeQ3x8PGbMmCFljERERESV0qj5ad26dVi4cGGZhAYAoqKisGDBAqxZs0ay4IiIiIjUpVFSc+vWLTRv3lxl+QsvvKB0Q0siIiKimqJRUuPo6Ij79++rLE9LS4ODg0OVgyIiIiLSlEZJTfv27fHpp5+qLI+Pj0f79u2rHBQRERGRpjTqKDx9+nS0aNECL7zwAiZMmICwsDAIIXDp0iUsWrQIFy9exLFjx6orViIiIiKVNEpqwsPDsWfPHgwZMgR9+/ZV3JFbCIGwsDDs3r0bDRs2rJZAiYiIiCqiUVIDPOsM/Ndff+Hs2bO4evUqACA0NBTPPfec1LERERERqU3jpEYul8Pe3h7PPfecUiJTVFSErKwsODo6ShkfERERkVo06ii8ZcsWNG3aFE+ePClTlpubi2bNmuHnn3+WLDgiIiIidWmU1CxduhSTJk2Cra1tmTI7OztMnjwZ//nPfyQLjoiIiEhdGiU1iYmJaNeuncryNm3a4MKFC1WNScndu3cxYMAA1K5dGzY2NoiMjMSpU6ckfQ8iIiIyfBr1qXn06BEKCgpUlufn5+PRo0dVDqrk+7Vq1Qrt27fHr7/+Cnd3d1y7dg0uLi6SvQcREREZB42SmsDAQJw6dQphYWHllp86dQoBAQGSBAYA8+bNg5+fHxISEhTLgoKCJNs+ERERGQ+Nmp969OiBqVOn4t69e2XK0tLS8NFHH+HNN9+ULLht27ahadOm6NWrFzw8PNC4cWOsWLGiwtfk5eVBLpcrPYiIiMj4yYQQQt2VHz9+jOjoaNy+fRsDBgxA/fr1AQCXL1/GDz/8AD8/Pxw7dkyy+z9ZW1sDACZMmIBevXrh5MmTGDduHJYtW4bY2NhyXzNjxgzMnDmzzPLMzEwONyciIjIQcrkcTk5OGl2/NUpqgGfJwZQpU7B+/XpF/xlnZ2f07dsXc+bMkbS/i6WlJZo2bYojR44olo0dOxYnT57E0aNHy31NXl4e8vLyFM/lcjn8/PyY1BARERkQbZIajSffc3JywldffYUlS5YgPT0dQgi4u7srbplQ0uHDh9G0aVNYWVlp+jYAAG9vb4SHhysta9CgAX788UeVr7GystL6/YiIiMhwadSnpiSZTAZ3d3d4eHiUm9AAQOfOnXH37l2tg2vVqhWuXLmitOzq1auSdkYmIiIi46B1UqMODVu2yvjXv/6FY8eO4dNPP8X169exZs0afP311xg9erREERIREZGxqNakpqqaNWuGLVu2YO3atYiIiMCsWbOwePFi9O/fX9ehERERkZ7RuE9NTevatSu6du2q6zCIiIhIz+l1TQ0RERGRuqo1qVHVgZiIiIhIanrdUZiIiIhIXdXap+bx48fVuXkiIiIiBY2Smpdeekmt9fbt26dVMERERETa0iip+f333xEQEIAuXbrAwsKiumIiIiIi0phGSc28efOQkJCAjRs3on///hg8eDAiIiKqKzYiIiIitWnUUXjixIm4ePEitm7disePH6NVq1Zo3rw5li1bBrlcXl0xEhEREVVK47t0l5STk4ONGzdiyZIluHjxIlJSUvTuTtja3OWTiIiIdEub63eVhnSfPn0aBw4cwKVLlxAREcF+NkRERKQzGic1KSkp+PTTTxEaGoqePXvC1dUVx48fx7Fjx2BjY1MdMRIRERFVSqOOwq+++ir279+PDh06YP78+ejSpQtq1dL720cRERGRCdCoT42ZmRm8vb3h4eFR4S0QTp8+LUlwUmCfGiIiIsOjzfVbo2qW6dOnaxUYERERUXWr0ugnQ8CaGiIiIsNT7TU1qhw4cADZ2dmIjo6Gi4uLFJskIiIi0ojGMwpnZWVh1qxZAJ7dhbtz587YvXs3AMDDwwN79+5Fw4YNpY+UiIiIqAIaDelev3690m0RNm3ahIMHD+LQoUNIT09H06ZNMXPmTMmDJCIiIqqMRklNUlISGjVqpHi+Y8cO9OzZE61atYKrqys++ugjHD16VPIgiYiIiCqjUVJTUFAAKysrxfOjR4+iZcuWiuc+Pj5IT0+XLjoiIiIiNWmU1AQHB+PgwYMAgNu3b+Pq1ato06aNovzOnTuoXbu2tBESERERqUGjjsKjR4/GmDFjcOjQIRw7dgzR0dEIDw9XlO/btw+NGzeWPEgiIiKiymiU1AwbNgzm5ub4+eef0aZNmzKT8aWkpGDw4MGSBkhERESkDk6+R0RERHpHm+u3xnfpJiIiItJHGiU1+fn5mDRpEkJCQtC8eXOsXLlSqfzevXswNzeXNEAiIiIidWiU1MyZMwf//e9/MWLECHTo0AETJkzAu+++q7SOkbdmERERkZ7SqKPwDz/8gG+++QZdu3YFAAwcOBCdO3fGoEGDFLU2MplM+iiJiIiIKqFRTc3du3eVbpMQEhKC33//HUeOHMHbb7+NwsJCyQMkIiIiUodGSY2Xlxdu3LihtMzX1xf79+/HyZMnMXDgQCljIyIiIlKbRknNSy+9hDVr1pRZ7uPjg3379iEpKUmywIiIiIg0oVGfmmnTpuHy5cvllvn6+uLAgQPYs2ePJIERERERaYKT7xEREZHeqbHJ9zZu3IgePXogIiICERER6NGjBzZt2qTNpoiIiIgkoVFSU1RUhD59+qBPnz64ePEiQkJCEBISgr/++gt9+vRB3759OU8NERER6YRGfWo+//xz/Pbbb9i2bZtirppi27Ztw6BBg/D5559j/PjxUsZIREREVCmNamoSEhIwf/78MgkNALz22mv47LPPytw6gYiIiKgmaJTUXLt2DTExMSrLY2JicO3atSoHRURERKQpjZIaGxsbZGRkqCyXy+WwtrauakxEREREGtMoqYmOjsbSpUtVli9ZsgTR0dFVDoqIiIhIUxolNVOnTsW3336L3r1748SJE5DL5cjMzMSxY8fQq1cvrFy5ElOnTq2uWBEfHw+ZTMaOyERERFSGRqOfWrZsifXr12P48OH48ccflcpcXFywdu1atGrVStIAi508eRLLly9Ho0aNqmX7REREZNg0SmoA4I033kDHjh2xa9cuRafg0NBQdOjQAba2tpIHCABZWVno378/VqxYgdmzZ1fLexAREZFh06j5ad++fQgPD0dBQQHeeOMNTJo0CZMmTUL37t2Rn5+Phg0b4tChQ5IHOXr0aHTp0qXCkVfF8vLyIJfLlR5ERERk/DRKahYvXoxhw4aVew8GJycnvPvuu1i4cKFkwQHAunXrcPr0acydO1et9efOnQsnJyfFw8/PT9J4iIiISD9plNScO3cOnTp1UlneoUMH/Pnnn1UOqlhycjLGjRuHH374Qe2h4lOmTEFmZqbikZycLFk8REREpL806lNz7949WFhYqN5YrVp48OBBlYMq9ueff+L+/fto0qSJYllhYSEOHjyI//znP8jLy4O5ubnSa6ysrGBlZSVZDERERGQYNEpqfH19kZiYiJCQkHLLz58/D29vb0kCA4CXX34ZFy5cUFo2aNAghIWFYfLkyWUSGiIiIjJdGiU1r776KqZNm4ZOnTqVaQ7Kzc3F9OnTy70vlLYcHBwQERGhtMzOzg61a9cus5yIiIhMm0ZJzUcffYTNmzcjNDQUY8aMQf369QEAly9fxpIlS1BYWFitk+8RERERqSITQghNXnDr1i2MHDkSu3btQvFLZTIZOnbsiCVLliAoKKhaAtWWXC6Hk5MTMjMzyx21RURERPpHm+u3xpPvBQQEYMeOHXj06BGuX78OIQTq1asHFxcXjQMmIiIikorGSU0xFxcXNGvWTMpYiIiIiLSm0Tw1RERERPqKSQ0REREZBSY1eiQ1MxdHbqQjNTNX16EQEREZHK371JC01p+8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TJigcrv16tXDpk2bcOTIEbi4uGDhwoW4d++eUlITGBiI48eP4+bNm7C3t4erqytatGgBW1tbfPjhhxg7diyOHz+u1AFblZiYGERHR6N79+747LPPEBoaipSUFPzyyy944403yjSPERkzjn4iMgB169bF6dOn0b59e7z//vuIiIjAK6+8gr1792Lp0qUAgJ49e2L//v24ffs2XnzxRdSvXx+LFi3C1KlTsW7dOkUTzJ49e3D9+nXs3bsXderUgbe3t+JRLCYmBseOHUOvXr0QGhqKN998E9bW1ti7d2+ZvhvF7OzsJG/u6NixI7Zv347du3ejWbNmeOGFF7Bo0SIEBARUedshISHo0aMHXn31VXTo0AGNGjXCV199pSgfOnQovvnmGyQkJCAyMhJt27bFqlWrEBQUVOF2P/roIzRp0gQdO3ZEu3bt4OXlhe7duyut88EHH8Dc3Bzh4eFwd3fH7du34erqitWrV2PHjh2IjIzE2rVrMWPGjEr3QyaTYceOHWjTpg0GDRqE0NBQ9O3bF7du3VL0LyIyFTKhac9CIiIDN2PGDGzdulWt5h0iMhysqSEiIiKjwKSGiKqdvb29ysehQ4d0HR4RGQk2PxFRtbt+/brKMl9fX4O6vxMR6S8mNURERGQU2PxERERERoFJDRERERkFJjVERERkFJjUEBERkVFgUkNERERGgUkNERERGQUmNURERGQUmNQQERGRUfg/m8X4cdn2MvMAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# visualize with IDAES surrogate plotting tools\n", "surrogate_scatter2D(alm_surr, data_validation)\n", @@ -586,8 +288,7 @@ "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.6" - }, - "orig_nbformat": 4 + } }, "nbformat": 4, "nbformat_minor": 2 diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/alamo_training_doc.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/alamo_training_doc.ipynb index 72d78965..9205ba3d 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/alamo_training_doc.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/alamo_training_doc.ipynb @@ -1,5 +1,31 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "code", "execution_count": null, @@ -55,19 +81,7 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "from IPython.display import Image\n", "from pathlib import Path\n", @@ -165,118 +179,7 @@ "cell_type": "code", "execution_count": 4, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " ***************************************************************************\n", - " ALAMO version 2023.2.13. Built: WIN-64 Mon Feb 13 21:30:56 EST 2023\n", - "\n", - " If you use this software, please cite:\n", - " Cozad, A., N. V. Sahinidis and D. C. Miller,\n", - " Automatic Learning of Algebraic Models for Optimization,\n", - " AIChE Journal, 60, 2211-2227, 2014.\n", - "\n", - " ALAMO is powered by the BARON software from http://www.minlp.com/\n", - " ***************************************************************************\n", - " Licensee: Javal Vyas at Carnegie Mellon University, jvyas@andrew.cmu.edu.\n", - " ***************************************************************************\n", - " Reading input data\n", - " Checking input consistency and initializing data structures\n", - " \n", - " Step 0: Initializing data set\n", - " User provided an initial data set of 400 data points\n", - " We will sample no more data points at this stage\n", - " ***************************************************************************\n", - " Iteration 1 (Approx. elapsed time 0.62E-01 s)\n", - " \n", - " Step 1: Model building using BIC\n", - " \n", - " Model building for variable CO2SM_CO2_Enthalpy\n", - " ----\n", - " BIC = 0.750E+04 with CO2SM_CO2_Enthalpy = - 0.38E+06\n", - " ----\n", - " BIC = 0.569E+04 with CO2SM_CO2_Enthalpy = 58. * CO2SM_Temperature - 0.42E+06\n", - " ----\n", - " BIC = 0.542E+04 with CO2SM_CO2_Enthalpy = 55. * CO2SM_Temperature - 0.61E+05 * CO2SM_Pressure/CO2SM_Temperature - 0.41E+06\n", - " ----\n", - " BIC = 0.516E+04 with CO2SM_CO2_Enthalpy = 49. * CO2SM_Temperature + 4.0 * CO2SM_Pressure^2 - 0.15E+06 * CO2SM_Pressure/CO2SM_Temperature - 0.41E+06\n", - " ----\n", - " BIC = 0.502E+04 with CO2SM_CO2_Enthalpy = 0.16E+03 * CO2SM_Temperature - 0.16 * CO2SM_Temperature^2 + 0.76E-04 * CO2SM_Temperature^3 - 0.56E+05 * CO2SM_Pressure/CO2SM_Temperature - 0.44E+06\n", - " ----\n", - " BIC = 0.484E+04 with CO2SM_CO2_Enthalpy = 0.14E+03 * CO2SM_Temperature + 2.5 * CO2SM_Pressure^2 - 0.14 * CO2SM_Temperature^2 + 0.66E-04 * CO2SM_Temperature^3 - 0.11E+06 * CO2SM_Pressure/CO2SM_Temperature - 0.43E+06\n", - " \n", - " Model building for variable CO2SM_CO2_Entropy\n", - " ----\n", - " BIC = 0.219E+04 with CO2SM_CO2_Entropy = - 0.48E+03 * CO2SM_Pressure/CO2SM_Temperature\n", - " ----\n", - " BIC = 0.147E+04 with CO2SM_CO2_Entropy = 1.9 * CO2SM_Pressure - 0.15E+04 * CO2SM_Pressure/CO2SM_Temperature\n", - " ----\n", - " BIC = 0.115E+04 with CO2SM_CO2_Entropy = 0.77E-01 * CO2SM_Temperature - 0.38E+03 * CO2SM_Pressure/CO2SM_Temperature - 50.\n", - " ----\n", - " BIC = 713. with CO2SM_CO2_Entropy = 0.20 * CO2SM_Temperature - 0.94E-04 * CO2SM_Temperature^2 - 0.34E+03 * CO2SM_Pressure/CO2SM_Temperature - 89.\n", - " ----\n", - " BIC = 443. with CO2SM_CO2_Entropy = 0.52 * CO2SM_Temperature - 0.60E-03 * CO2SM_Temperature^2 + 0.26E-06 * CO2SM_Temperature^3 - 0.34E+03 * CO2SM_Pressure/CO2SM_Temperature - 0.15E+03\n", - " ----\n", - " BIC = 317. with CO2SM_CO2_Entropy = 0.54 * CO2SM_Temperature - 0.63E-03 * CO2SM_Temperature^2 + 0.27E-06 * CO2SM_Temperature^3 - 0.26E+03 * CO2SM_Pressure/CO2SM_Temperature + 0.79E-01 * CO2SM_Temperature/CO2SM_Pressure - 0.16E+03\n", - " ----\n", - " BIC = 259. with CO2SM_CO2_Entropy = 0.47 * CO2SM_Temperature + 0.15E-01 * CO2SM_Pressure^2 - 0.53E-03 * CO2SM_Temperature^2 + 0.23E-06 * CO2SM_Temperature^3 - 0.70E-03 * CO2SM_Pressure*CO2SM_Temperature - 0.46E+03 * CO2SM_Pressure/CO2SM_Temperature - 0.13E+03\n", - " ----\n", - " BIC = 240. with CO2SM_CO2_Entropy = - 2.1 * CO2SM_Pressure + 0.55 * CO2SM_Temperature + 0.76E-01 * CO2SM_Pressure^2 - 0.63E-03 * CO2SM_Temperature^2 - 0.94E-03 * CO2SM_Pressure^3 + 0.27E-06 * CO2SM_Temperature^3 - 0.23E+03 * CO2SM_Pressure/CO2SM_Temperature - 0.15E+03\n", - " ----\n", - " BIC = 224. with CO2SM_CO2_Entropy = - 1.9 * CO2SM_Pressure + 0.49 * CO2SM_Temperature + 0.83E-01 * CO2SM_Pressure^2 - 0.57E-03 * CO2SM_Temperature^2 - 0.10E-02 * CO2SM_Pressure^3 + 0.25E-06 * CO2SM_Temperature^3 - 0.73E-08 * (CO2SM_Pressure*CO2SM_Temperature)^2 - 0.36E+03 * CO2SM_Pressure/CO2SM_Temperature - 0.13E+03\n", - " ----\n", - " BIC = 193. with CO2SM_CO2_Entropy = - 3.9 * CO2SM_Pressure + 0.52 * CO2SM_Temperature + 0.17 * CO2SM_Pressure^2 - 0.56E-03 * CO2SM_Temperature^2 - 0.21E-02 * CO2SM_Pressure^3 + 0.24E-06 * CO2SM_Temperature^3 - 0.10E-02 * CO2SM_Pressure*CO2SM_Temperature - 0.36E+03 * CO2SM_Pressure/CO2SM_Temperature - 0.20 * CO2SM_Temperature/CO2SM_Pressure - 0.12E+03\n", - " \n", - " Calculating quality metrics on observed data set.\n", - " \n", - " Quality metrics for output CO2SM_CO2_Enthalpy\n", - " ---------------------------------------------\n", - " SSE OLR: 0.515E+08\n", - " SSE: 0.659E+08\n", - " RMSE: 406.\n", - " R2: 0.999\n", - " R2 adjusted: 0.999\n", - " Model size: 6\n", - " BIC: 0.484E+04\n", - " Cp: 0.659E+08\n", - " AICc: 0.482E+04\n", - " HQC: 0.483E+04\n", - " MSE: 0.168E+06\n", - " SSEp: 0.659E+08\n", - " RIC: 0.659E+08\n", - " MADp: 0.594\n", - " \n", - " Quality metrics for output CO2SM_CO2_Entropy\n", - " --------------------------------------------\n", - " SSE OLR: 541.\n", - " SSE: 558.\n", - " RMSE: 1.18\n", - " R2: 0.997\n", - " R2 adjusted: 0.997\n", - " Model size: 10\n", - " BIC: 193.\n", - " Cp: 178.\n", - " AICc: 154.\n", - " HQC: 169.\n", - " MSE: 1.43\n", - " SSEp: 558.\n", - " RIC: 606.\n", - " MADp: 0.130E+04\n", - " \n", - " Total execution time 0.52 s\n", - " Times breakdown\n", - " OLR time: 0.30 s in 3863 ordinary linear regression problem(s)\n", - " MINLP time: 0.0 s in 0 optimization problem(s)\n", - " Simulation time: 0.0 s to simulate 0 point(s)\n", - " All other time: 0.22 s in 1 iteration(s)\n", - " \n", - " Normal termination\n", - " ***************************************************************************\n" - ] - } - ], + "outputs": [], "source": [ "# Create ALAMO trainer object\n", "has_alamo = alamo.available()\n", @@ -332,108 +235,7 @@ "cell_type": "code", "execution_count": 5, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmEAAAHHCAYAAAD3WI8lAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAACoz0lEQVR4nO2deVxU1fvHP8OqIAyyKJAouK8tauFomRqJ5ZJhiZnlbppY7mbuVl/T3NP0W7llWmpSmZaJS31Lka9pZn5TS364haigDCoqCPf3B811Zpjl3pm7nDvzvF8vX8Lcy51zzz33nM95nuc8R8dxHAeCIAiCIAhCUXzULgBBEARBEIQ3QiKMIAiCIAhCBUiEEQRBEARBqACJMIIgCIIgCBUgEUYQBEEQBKECJMIIgiAIgiBUgEQYQRAEQRCECpAIIwiCIAiCUAESYQRBEARBECpAIowgCIJwyNq1a6HT6XDmzBm1i0IQHgWJMIIgVOfQoUNIS0tDs2bNEBwcjNq1a6N37974888/K53boUMH6HQ66HQ6+Pj4IDQ0FI0aNcJLL72EjIwMUd/7zTff4PHHH0eNGjUQFBSEunXronfv3ti5c6dUt1aJf/3rX/jqq68qfX7gwAHMnDkThYWFsn23NTNnzuTrUqfTISgoCE2bNsXUqVNRVFQkyXds3LgRixcvluRaBOFpkAgjCEJ15s6di61bt+KJJ57AkiVLMGzYMPznP/9By5Ytcfz48Urn16pVC+vXr8cnn3yC9957Dz169MCBAwfQuXNnpKamorS01Ol3zp8/Hz169IBOp8PkyZOxaNEi9OrVC3/99Rc+//xzOW4TgGMRNmvWLEVFmIkVK1Zg/fr1WLhwIRo3box33nkHXbp0gRRbC5MIIwj7+KldAIIgiLFjx2Ljxo0ICAjgP0tNTUWLFi3w7rvv4tNPP7U4X6/Xo1+/fhafvfvuu3jttdfwwQcfID4+HnPnzrX7fXfv3sVbb72FJ598Ert27ap0/PLly27eETsUFxcjKCjI4TnPPfccIiMjAQDDhw9Hr169kJ6ejoMHD8JgMChRTILwSsgSRhCE6rRt29ZCgAFAgwYN0KxZM5w4cULQNXx9fbF06VI0bdoUy5Ytg9FotHtufn4+ioqK0K5dO5vHa9SoYfH77du3MXPmTDRs2BBVqlRBTEwMUlJSkJ2dzZ8zf/58tG3bFhEREahatSpatWqFL774wuI6Op0ON2/exLp163gX4IABAzBz5kxMmDABAJCQkMAfM4/B+vTTT9GqVStUrVoV4eHh6NOnD86fP29x/Q4dOqB58+Y4fPgw2rdvj6CgILz55puC6s+cTp06AQBycnIcnvfBBx+gWbNmCAwMRGxsLEaOHGlhyevQoQN27NiBs2fP8vcUHx8vujwE4amQJYwgCCbhOA6XLl1Cs2bNBP+Nr68vXnjhBUybNg0///wzunbtavO8GjVqoGrVqvjmm28watQohIeH271mWVkZunXrhj179qBPnz54/fXXcf36dWRkZOD48eOoV68eAGDJkiXo0aMHXnzxRZSUlODzzz/H888/j+3bt/PlWL9+PYYMGYJHHnkEw4YNAwDUq1cPwcHB+PPPP/HZZ59h0aJFvFUqKioKAPDOO+9g2rRp6N27N4YMGYIrV67g/fffR/v27fHrr78iLCyML29BQQGeeuop9OnTB/369UPNmjUF158Jk7iMiIiwe87MmTMxa9YsJCUlYcSIETh16hRWrFiBQ4cOYf/+/fD398eUKVNgNBpx4cIFLFq0CABQrVo10eUhCI+FIwiCYJD169dzALhVq1ZZfP74449zzZo1s/t3X375JQeAW7JkicPrT58+nQPABQcHc0899RT3zjvvcIcPH6503urVqzkA3MKFCysdKy8v538uLi62OFZSUsI1b96c69Spk8XnwcHBXP/+/Std67333uMAcDk5ORafnzlzhvP19eXeeecdi89///13zs/Pz+Lzxx9/nAPArVy50u59mzNjxgwOAHfq1CnuypUrXE5ODvfvf/+bCwwM5GrWrMndvHmT4ziOW7NmjUXZLl++zAUEBHCdO3fmysrK+OstW7aMA8CtXr2a/6xr165cnTp1BJWHILwNckcSBMEcJ0+exMiRI2EwGNC/f39Rf2uytFy/ft3hebNmzcLGjRvx0EMP4fvvv8eUKVPQqlUrtGzZ0sIFunXrVkRGRmLUqFGVrqHT6fifq1atyv987do1GI1GPPbYYzhy5Iio8luTnp6O8vJy9O7dG/n5+fy/6OhoNGjQAPv27bM4PzAwEAMHDhT1HY0aNUJUVBQSEhLwyiuvoH79+tixY4fdWLLdu3ejpKQEo0ePho/PvWFk6NChCA0NxY4dO8TfKEF4IeSOJAiCKfLy8tC1a1fo9Xp88cUX8PX1FfX3N27cAACEhIQ4PfeFF17ACy+8gKKiImRlZWHt2rXYuHEjunfvjuPHj6NKlSrIzs5Go0aN4OfnuLvcvn073n77bRw9ehR37tzhPzcXaq7w119/geM4NGjQwOZxf39/i9/vu+++SvF1zti6dStCQ0Ph7++PWrVq8S5We5w9exZAhXgzJyAgAHXr1uWPEwThGBJhBEEwg9FoxFNPPYXCwkL89NNPiI2NFX0NU0qL+vXrC/6b0NBQPPnkk3jyySfh7++PdevWISsrC48//rigv//pp5/Qo0cPtG/fHh988AFiYmLg7++PNWvWYOPGjaLvwZzy8nLodDp89913NgWpdYyVuUVOKO3bt+fj0AiCUA4SYQRBMMHt27fRvXt3/Pnnn9i9ezeaNm0q+hplZWXYuHEjgoKC8Oijj7pUjtatW2PdunW4ePEigIrA+aysLJSWllayOpnYunUrqlSpgu+//x6BgYH852vWrKl0rj3LmL3P69WrB47jkJCQgIYNG4q9HVmoU6cOAODUqVOoW7cu/3lJSQlycnKQlJTEf+auJZAgPBmKCSMIQnXKysqQmpqKzMxMbNmyxaXcVGVlZXjttddw4sQJvPbaawgNDbV7bnFxMTIzM20e++677wDcc7X16tUL+fn5WLZsWaVzuX+Smfr6+kKn06GsrIw/dubMGZtJWYODg20mZA0ODgaASsdSUlLg6+uLWbNmVUqeynEcCgoKbN+kjCQlJSEgIABLly61KNOqVatgNBotVqUGBwc7TBdCEN4MWcIIglCdcePGYdu2bejevTuuXr1aKTmrdWJWo9HIn1NcXIzTp08jPT0d2dnZ6NOnD9566y2H31dcXIy2bduiTZs26NKlC+Li4lBYWIivvvoKP/30E3r27ImHHnoIAPDyyy/jk08+wdixY/Hf//4Xjz32GG7evIndu3fj1VdfxTPPPIOuXbti4cKF6NKlC/r27YvLly9j+fLlqF+/Po4dO2bx3a1atcLu3buxcOFCxMbGIiEhAYmJiWjVqhUAYMqUKejTpw/8/f3RvXt31KtXD2+//TYmT56MM2fOoGfPnggJCUFOTg6+/PJLDBs2DOPHj3er/sUSFRWFyZMnY9asWejSpQt69OiBU6dO4YMPPsDDDz9s8bxatWqFTZs2YezYsXj44YdRrVo1dO/eXdHyEgSzqLk0kyAIguPupVaw98/RudWqVeMaNGjA9evXj9u1a5eg7ystLeU++ugjrmfPnlydOnW4wMBALigoiHvooYe49957j7tz547F+cXFxdyUKVO4hIQEzt/fn4uOjuaee+45Ljs7mz9n1apVXIMGDbjAwECucePG3Jo1a/gUEOacPHmSa9++PVe1alUOgEW6irfeeou77777OB8fn0rpKrZu3co9+uijXHBwMBccHMw1btyYGzlyJHfq1CmLunGUvsMaU/muXLni8DzrFBUmli1bxjVu3Jjz9/fnatasyY0YMYK7du2axTk3btzg+vbty4WFhXEAKF0FQZih4zgJNgcjCIIgCIIgREExYQRBEARBECpAIowgCIIgCEIFSIQRBEEQBEGoAIkwgiAIgiAIFSARRhAEQRAEoQIkwgiCIAiCIFSAkrUyTHl5OXJzcxESEkJbfxAEQRCERuA4DtevX0dsbCx8fOzbu0iEMUxubi7i4uLULgZBEARBEC5w/vx51KpVy+5xEmEMExISAqDiITraB48gCIIgCHYoKipCXFwcP47bg0QYw5hckKGhoSTCCIIgCEJjOAslosB8giAIgiAIFSARRhAEQRAEoQIkwgiCIAiCIFSARBhBEARBEIQKkAgjCIIgCIJQARJhBEEQBEEQKkAijCAIgiAIQgVIhBEEQRAEQagAiTCCIAiCIAgVIBFGEARBEAShAiTCCIIgCIIgVEAzIqxHjx6oXbs2qlSpgpiYGLz00kvIzc21OIfjOMyfPx8NGzZEYGAg7rvvPrzzzjsW5/zwww9o2bIlAgMDUb9+faxdu7bSdy1fvhzx8fGoUqUKEhMT8d///tfi+O3btzFy5EhERESgWrVq6NWrFy5dumRxzrlz59C1a1cEBQWhRo0amDBhAu7evStNZRCycOECsG9fxf8EQRAEITeaEWEdO3bE5s2bcerUKWzduhXZ2dl47rnnLM55/fXX8fHHH2P+/Pk4efIktm3bhkceeYQ/npOTg65du6Jjx444evQoRo8ejSFDhuD777/nz9m0aRPGjh2LGTNm4MiRI3jggQeQnJyMy5cv8+eMGTMG33zzDbZs2YIff/wRubm5SElJ4Y+XlZWha9euKCkpwYEDB7Bu3TqsXbsW06dPl7GGlMcTREtBQQEuXryIBQsKUacOh06dgDp1OCxYUIiLFy+ioKBA7SISBOEG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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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4uKQmpqKwYMH4+DBgz7b/Pnnn5gwYQKSkpLQuHFjDB06FMePHzdpxGwi5zz27t273jV51113mTRiNnnppZfQuXNnT4G93NxcbNy40fM5XYvSSJ1Ds69DEj5hyNmzZ3HZZZfhhRdeEPx83rx5ePbZZ/Hyyy9j586daNSoEfr164c///zT4JGyjdR5BID+/fujrKzM89/bb79t4AitwZdffokJEyZgx44d2Lx5M2pqatC3b1+cPXvWs83999+PDz/8EO+++y6+/PJLlJaWYsiQISaOmj3knEcAGDt2rM81OW/ePJNGzCYZGRl46qmnsGvXLnz33Xfo06cP/v73v+Onn34CQNeiHKTOIWDydcgRYQ0A7v333/e8drlcXLNmzbj58+d73isvL+diYmK4t99+24QRWgP/88hxHDdy5Eju73//uynjsTInTpzgAHBffvklx3Hu6y8qKop79913Pdvs37+fA8Bt377drGEyj/955DiOu+aaa7j77rvPvEFZlCZNmnCvv/46XYtBwJ9DjjP/OiSLD+FDUVERjh07hry8PM97drsd3bp1w/bt200cmTX54osvkJqainbt2uHuu++Gw+Ewe0jM43Q6AQCJiYkAgF27dqGmpsbnmmzfvj1atmxJ12QA/M8jz1tvvYXk5GR06tQJ06dPR1VVlRnDswR1dXV45513cPbsWeTm5tK1qAL/c8hj5nVITUoJH44dOwYAaNq0qc/7TZs29XxGyKN///4YMmQIsrKycPjwYfzf//0fbrjhBmzfvh2RkZFmD49JXC4XJk2ahJ49e6JTp04A3NdkdHQ0EhISfLala1IcofMIAMOHD0erVq2Qnp6OvXv3Ytq0aTh48CDWrVtn4mjZ48cff0Rubi7+/PNPNG7cGO+//z46dOiAPXv20LUoE7FzCJh/HZLwIQiduPXWWz3/vvTSS9G5c2dkZ2fjiy++wHXXXWfiyNhlwoQJ2LdvH7755huzh2JpxM7juHHjPP++9NJLkZaWhuuuuw6HDx9Gdna20cNklnbt2mHPnj1wOp147733MHLkSHz55ZdmD8tSiJ3DDh06mH4dkquL8KFZs2YAUC9L4fjx457PCHW0bt0aycnJOHTokNlDYZKJEydiw4YN2LJlCzIyMjzvN2vWDNXV1SgvL/fZnq5JYcTOoxDdunUDALom/YiOjkabNm2Qk5ODOXPm4LLLLsMzzzxD16ICxM6hEEZfhyR8CB+ysrLQrFkzfPbZZ573KioqsHPnTh//LKGckpISOBwOpKWlmT0UpuA4DhMnTsT777+Pzz//HFlZWT6f5+TkICoqyueaPHjwIH777Te6Jr2QOo9C7NmzBwDompTA5XLh/PnzdC0GAX8OhTD6OiRXVxhy5swZH2VdVFSEPXv2IDExES1btsSkSZPwxBNPoG3btsjKysIjjzyC9PR0DB482LxBM0ig85iYmIjZs2dj6NChaNasGQ4fPoypU6eiTZs26Nevn4mjZo8JEyZg1apV+M9//oO4uDhPrITdbkdsbCzsdjsKCgowefJkJCYmIj4+Hvfccw9yc3PRvXt3k0fPDlLn8fDhw1i1ahVuvPFGJCUlYe/evbj//vvRq1cvdO7c2eTRs8P06dNxww03oGXLlqisrMSqVavwxRdf4NNPP6VrUSaBziET16Fp+WSEaWzZsoUDUO+/kSNHchznTml/5JFHuKZNm3IxMTHcddddxx08eNDcQTNIoPNYVVXF9e3bl0tJSeGioqK4Vq1acWPHjuWOHTtm9rCZQ+gcAuCWLVvm2ebcuXPcv/71L65JkyZcw4YNuX/84x9cWVmZeYNmEKnz+Ntvv3G9evXiEhMTuZiYGK5NmzbclClTOKfTae7AGWP06NFcq1atuOjoaC4lJYW77rrruE2bNnk+p2tRmkDnkIXr0MZxHGeMxCIIgiAIgjAXivEhCIIgCCJsIOFDEARBEETYQMKHIAiCIIiwgYQPQRAEQRBhAwkfgiAIgiDCBhI+BEEQBEGEDSR8CIIgCIIIG0j4EARBEAQRNpDwIQjCh2PHjuGee+5B69atERMTgxYtWmDQoEE+/Ym2bduGG2+8EU2aNMFFF12ESy+9FAsXLkRdXZ1nm+LiYhQUFCArKwuxsbHIzs7GrFmzUF1d7fN9r732Gi677DI0btwYCQkJuOKKKzBnzhzP548++ihsNhv69+9fb6zz58+HzWZD7969ZR0bvy+bzYYGDRogMzMT999/P86cOaPwLBEEYVWoVxdBEB6Ki4vRs2dPJCQkYP78+bj00ktRU1ODTz/9FBMmTMCBAwfw/vvvY9iwYbjzzjuxZcsWJCQkoLCwEFOnTsX27duxZs0a2Gw2HDhwAC6XC6+88gratGmDffv2YezYsTh79iwWLFgAAFi6dCkmTZqEZ599Ftdccw3Onz+PvXv3Yt++fT7jSktLw5YtW1BSUuLTcXzp0qVo2bKlomPs2LEjCgsLUVtbi61bt2L06NGoqqrCK6+8Um/b6upqREdHqziT+sHimAjCUhjWHIMgCOa54YYbuObNm3Nnzpyp99kff/zBnTlzhktKSuKGDBlS7/P169dzALh33nlHdP/z5s3jsrKyPK///ve/c6NGjQo4plmzZnGXXXYZN3DgQO6JJ57wvL9161YuOTmZu/vuu7lrrrlGxtFd2Jc3Y8eO5Zo1a+bz+WuvvcZlZmZyNpuN4zj3sRcUFHDJyclcXFwcd+2113J79uzx7GPPnj1c7969ucaNG3NxcXFcly5duG+//ZbjOI4rLi7mBg4cyCUkJHANGzbkOnTowH300Uccx3HcsmXLOLvd7jOe999/n/OemtWOiSAIYcjVRRAEAOD06dP45JNPMGHCBDRq1Kje5wkJCdi0aRMcDgcefPDBep8PGjQIF198Md5++23R73A6nUhMTPS8btasGXbs2IEjR45Ijm/06NFYvny55/XSpUtx++23B239iI2N9XG/HTp0CGvXrsW6deuwZ88eAMAtt9yCEydOYOPGjdi1axe6dOmC6667DqdPnwYA3H777cjIyMC3336LXbt24aGHHkJUVBQAd9f08+fP46uvvsKPP/6IuXPnonHjxorGqGZMBEEIQ64ugiAAuBdXjuPQvn170W1+/vlnAMAll1wi+Hn79u092wjt/7nnnvO4uQBg1qxZGDJkCDIzM3HxxRcjNzcXN954I26++WZERPg+lw0cOBB33XUXvvrqK+Tk5GDNmjX45ptvsHTpUqWH6mHXrl1YtWoV+vTp43mvuroab7zxBlJSUgAA33zzDf773//ixIkTiImJAQAsWLAAH3zwAd577z2MGzcOv/32G6ZMmeI5d23btvXs77fffsPQoUNx6aWXAgBat26teJxqxkQQhDAkfAiCAABwHKfLtgDw+++/o3///rjlllswduxYz/tpaWnYvn079u3bh6+++grbtm3DyJEj8frrr+OTTz7xET9RUVEYMWIEli1bhl9//RUXX3wxOnfurGgcAPDjjz+icePGqKurQ3V1NQYMGIDnn3/e83mrVq08AgMAfvjhB5w5cwZJSUk++zl37hwOHz4MAJg8eTLGjBmDlStXIi8vD7fccguys7MBAPfeey/uvvtubNq0CXl5eRg6dKjicasZE0EQwpDwIQgCgNtKwQcli3HxxRcDAPbv348ePXrU+3z//v3o0KGDz3ulpaW49tpr0aNHD7z66quC++3UqRM6deqEf/3rX7jrrrtw9dVX48svv8S1117rs93o0aPRrVs37Nu3D6NHj1Z6iACAdu3aYf369WjQoAHS09Prucr83XxnzpxBWloavvjii3r7SkhIAODOFhs+fDg++ugjbNy4EbNmzcI777yDf/zjHxgzZgz69euHjz76CJs2bcKcOXPw9NNP45577kFEREQ9EVlTU1Pve9SMiSAIYSjGhyAIAEBiYiL69euHF154AWfPnq33eXl5Ofr27YvExEQ8/fTT9T5fv349fvnlF9x2222e937//Xf07t0bOTk5WLZsWT33lRC8cBIaQ8eOHdGxY0fs27cPw4cPV3J4HqKjo9GmTRtkZmbKig/q0qULjh07hgYNGqBNmzY+/yUnJ3u2u/jii3H//fdj06ZNGDJkCJYtW+b5rEWLFrjrrruwbt06PPDAA3jttdcAACkpKaisrPQ5Vj6GR4sxEQRRHxI+BEF4eOGFF1BXV4errroKa9euxS+//IL9+/fj2WefRW5uLho1aoRXXnkF//nPfzBu3Djs3bsXxcXFWLJkCUaNGoWbb74Zw4YNA3BB9LRs2RILFizAyZMncezYMRw7dszzfXfffTcef/xxbN26FUeOHMGOHTtwxx13ICUlBbm5uYJj/Pzzz1FWVmaYZSMvLw+5ubkYPHgwNm3ahOLiYmzbtg0zZszAd999h3PnzmHixIn44osvcOTIEWzduhXffvutJw5q0qRJ+PTTT1FUVITdu3djy5Ytns+6deuGhg0b4v/+7/9w+PBhrFq1yieAW+2YCIIQh1xdBEF4aN26NXbv3o0nn3wSDzzwAMrKypCSkoKcnBy89NJLAICbb74ZW7ZswZNPPomrr74af/75J9q2bYsZM2Zg0qRJsNlsAIDNmzfj0KFDOHTokE/tHeBCjFBeXh6WLl2Kl156CQ6HA8nJycjNzcVnn31WL36FRyjjTE9sNhs+/vhjzJgxA3feeSdOnjyJZs2aoVevXmjatCkiIyPhcDhwxx134Pjx40hOTsaQIUMwe/ZsAEBdXR0mTJiAkpISxMfHo3///li0aBEAt5XtzTffxJQpU/Daa6/huuuuw6OPPioZnCw1JoIgxLFxSqMUCYIgCIIgLAq5ugiCIAiCCBtI+BAEETI0btxY9L+vv/7a7OERBMEA5OoiCCJkOHTokOhnzZs3R2xsrIGjIQiCRUj4EARBEAQRNpCriyAIgiCIsIGED0EQBEEQYQMJH4IgCIIgwgYSPgRBEARBhA0kfAiCIAiCCBtI+BAEQRAEETaQ8CEIgiAIImwg4UMQBEEQRNjw/4yQWz4vK+05AAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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FKNGjRL10Dlw4ADuvfdetGrVCi1atMDtt9+OlStXoqqqij8mJycHycnJCA8Ph7u7OyIiIrBgwQKUl5eLvu/dd99Fjx490LJlS/j4+KBnz558s0oAWLhwITQaDYYNG2Yx1uXLl0Oj0WDAgAFWryssLAwajUb216RJk2y/WY3cgAEDkJqa2tDDIKRZcG7oARBC7C8nJwf9+vWDj48Pli9fjttvvx0VFRX49ttvMW3aNPz555/4/PPPkZiYiEceeQR79+6Fj48P0tPTMXv2bGRkZGDLli3QaDT4888/YTQa8c4776Bjx47IysrCo48+imvXrmHFihUAgPfffx+pqal49dVXcffdd+PmzZs4fvw4srKyROMKCgrC3r17kZeXh5CQEP71999/H+3atVN1bb/++isfmB04cABjxozBqVOn4O3tDQBwd3e3xy2sFxUVFXBxcam37ysvL4erq2u9fR8hjZJdGl8QQhqV4cOHs7Zt27KrV69avHflyhV29epV5ufnxxISEize37FjBwPAPv30U9nzv/zyyyw8PJz/+d///jebNGmS4pgWLFjAevTowUaOHMleeOEF/vX9+/czf39/9sQTT7C7775bxdVV43oGXblyhX/tiy++YD179mRubm4sPDycLVy4UNT/CgB7++232YgRI5i7uzvr0qULO3DgADt9+jS7++67mYeHB4uLixP1X+PG/vbbb7OQkBDm7u7O7r//flE/JsYYe/fdd1mXLl2Ym5sb69y5M3vjjTf497Kzs/n72r9/f+bm5sbWr1/PLl++zB544AEWHBzM3N3dWVRUFNu0aRP/uYkTJ1r0RMrOzmbr169nOp1O9P2ff/45E/7fOjfud999l4WFhTGNRsMYM/0dSE5OZv7+/szLy4sNHDiQHT161KZ7T0hTRUtdhDQzRUVF+OabbzBt2jR4enpavO/j44M9e/ZAr9fj6aeftnh/1KhR6NSpEz755BPZ7zAYDPD19eV/btOmDQ4ePIhz585ZHd/kyZOxYcMG/uf3338f48ePt8tMxE8//YSHH34Y06dPxx9//IF33nkHGzZswIsvvig6bvHixXj44Ydx9OhRdOnSBePGjcNjjz2GuXPn4rfffgNjDCkpKaLPnDlzBlu2bMHOnTvxzTff4MiRI/jvf//Lv//xxx9j/vz5ePHFF3Hy5Em89NJLeO655/DBBx+I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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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COnn86s0VcSVK1eE1NRUITo6WvDy8hIaNGggPPLII8KOHTu06+zevVtITk4WAgICBC8vL6Fly5bCe++9J9y/f1+7zooVK4yGg2v+NNatWycMGDBACA8PF7y8vISIiAhh6NChwrFjx7TraIadS3nuuedkD7sXBEEoKCgQZs+eLTRp0kTw8vIS6tevLyQlJQkbNmwQKioqtOsdO3ZMGDp0qBAcHCzUrFlTiIuLE1599VWhuLhYu45maLvYX1ZWltmyaIbdi/2tXr1acvs/+OADITo6Wvvvs2fPCp07dxZ8fHyMht3funVLu97hw4f1ypaVlSX07t1b8PHxESIjI4V//etfQs+ePYXnnntO+x6xYfeLFy8W/u///k/w9vYWYmJihDVr1hht2+3btwVfX19hypQpZveDLYbdq/4qHJlRWFiIwMBA7XBIIiJ7uXv3LrKyshAbG+uQ5hMie1KpVNiwYQMGDx5scr3s7GzExcXhwIEDePDBB02ua+qckXv/ZqdqIiIichplZWW4ceMGXn31VXTu3NlsMGQr7ENERET0F8NcPrp/v/32W5WXZ9KkSZLlmTRpUpWXpyrs3bsX4eHhOHDgAJYuXVpl38saIiIior8Y5u/R1aBBg6oryF9ef/110azeAFy2+4a5njq9evVSnMPJFhgQERER/cVULh9HqFevHurVq+foYrgFNpkRERGR22NARETkpOTmgiFyd7Y4V9hkRkTkZLy8vODh4YErV64gNDQUXl5edp3UkshVCYKAe/fu4fr16/Dw8ICXl5fFn8WAiIjIyXh4eCA2Nha5ubmiU0QQkT5fX19ERUXJmtpFCgMiIiIn5OXlhaioKNy/f9+iOaaI3IWnpydq1KhhdS0qAyIiIielUqlQs2ZNxTOfE5Fy7FRNREREbo8BEREREbk9BkRERETk9hgQERERkdtjQERERERujwERERERuT0GREREROT2GBARERGR22NARERERG6PARERERG5PQZERERE5PYYEBEREZHbY0BEREREbo8BEREREbk9BkRERETk9hgQERERkdtjQERERERujwERERERuT0GREREROT2GBARERGR22NARORgueoSpGfmI1dd4uiiEBG5rRqOLgCRO1tzIAdz1h9HhQB4qIC0lAQM7xDl6GIREbkd1hAROUiuukQbDAFAhQC8vP4Ea4qIiByAARGRg2TlF2uDIY1yQUB2/h3HFIiIyI0xICJykNgQP3io9F/zVKkQE+LrmAIREbkxBkREDhIe6IO0lAR4qiqjIk+VCm+ntEJ4oI+DS0ZE5H7YqZrIgYZ3iEKP+FBk599BTIgvgyEiIgdhQETkYOGBPgyEiIgcjE1mRERE5PYYEBEREZHbY0BEREREbo8BEREREbk9BkRERETk9hwaEKWlpaFDhw6oXbs26tWrh8GDB+Ps2bN669y9exepqamoW7cu/P39MXToUFy9elVvnZycHAwcOBC+vr6oV68eXnrpJdy/f19vnZ07d+LBBx+Et7c3GjdujJUrV9p784iIiMhFODQg2rVrF1JTU7Fv3z5s2bIFZWVl6Nu3L4qLi7XrPP/88/jhhx+wdu1a7Nq1C1euXEFKSop2eXl5OQYOHIh79+4hPT0d/+///T+sXLkSr732mnadrKwsDBw4EL1798aRI0cwffp0jB8/Hr/++muVbi8RERE5J5UgCIL51arG9evXUa9ePezatQs9evSAWq1GaGgoVq1ahWHDhgEAzpw5g+bNmyMjIwOdO3fGzz//jIcffhhXrlxB/fr1AQBLly7FrFmzcP36dXh5eWHWrFnYtGkTTpw4of2uESNGoKCgAL/88ousshUWFiIwMBBqtRoBAQG233giIiKyObn3b6fqQ6RWqwEAwcHBAICDBw+irKwMSUlJ2nWaNWuGqKgoZGRkAAAyMjKQkJCgDYYAIDk5GYWFhTh58qR2Hd3P0Kyj+QwxpaWlKCws1PsjIiKi6slpAqKKigpMnz4dXbt2RatWrQAAeXl58PLyQlBQkN669evXR15ennYd3WBIs1yzzNQ6hYWFKCkpES1PWloaAgMDtX+RkZFWbyMRERE5J6cJiFJTU3HixAl8/fXXji4KAGDOnDlQq9Xav4sXLzq6SERERGQnTjGX2dSpU/Hjjz9i9+7daNiwofb1sLAw3Lt3DwUFBXq1RFevXkVYWJh2nd9//13v8zSj0HTXMRyZdvXqVQQEBMDHR3wOKW9vb3h7e1u9bUREROT8HFpDJAgCpk6dig0bNmD79u2IjY3VW96uXTvUrFkT27Zt07529uxZ5OTkIDExEQCQmJiI48eP49q1a9p1tmzZgoCAALRo0UK7ju5naNbRfAYRERG5N4eOMpsyZQpWrVqF77//Hk2bNtW+HhgYqK25mTx5Mn766SesXLkSAQEBmDZtGgAgPT0dQOWw+7Zt2yIiIgKLFi1CXl4ennzySYwfPx5vv/02gMph961atUJqairGjRuH7du349lnn8WmTZuQnJwsq6wcZUZEROR65N6/HRoQqVQq0ddXrFiBMWPGAKhMzPjCCy9g9erVKC0tRXJyMj799FNtcxgAXLhwAZMnT8bOnTvh5+eH0aNHY+HChahR4+8WwZ07d+L555/HqVOn0LBhQ8ydO1f7HXIwICIiInI9LhEQuRIGRERERK7HJfMQERERETkCAyIiIiJyewyIiIiIyO0xICK3k6suQXpmPnLV4lnKiYjI/ThFYkaiqrLmQA7mrD+OCgHwUAFpKQkY3iHK0cUiIiIHYw0RuY1cdYk2GAKACgF4ef0J1hQREREDInIfWfnF2mBIo1wQkJ1/xzEFIiIip8GAiNxGbIgfPAxygXqqVIgJ8XVMgYiIyGkwICK3ER7og7SUBHj+lSHdU6XC2ymtEB4oPsEvERG5D3aqJrcyvEMUesSHIjv/DmJCfBkMERERAAZE5IbCA30YCBERkR42mREREZHbY0BEREREbo8BEREREbk9BkRERETk9hgQERERkdtjQERERERujwERERERuT0GREREROT2GBARERGR22NARERERG6PARERERG5PQZERERE5PYYEBEREZHbY0BEREREbo8BEREREbk9BkRERETk9hgQERERkdtjQERERERujwERERERuT0GREREROT2LAqIduzYYetyEBERETmMRQFRv379EBcXhzfffBMXL160dZmIiIiIqpRFAdHly5cxdepUrFu3Do0aNUJycjK++eYb3Lt3z9blIyIiIrI7iwKikJAQPP/88zhy5Aj279+P+Ph4TJkyBREREXj22Wdx9OhRW5eTiIiIyG6s7lT94IMPYs6cOZg6dSqKioqwfPlytGvXDt27d8fJkydtUUYiIiIiu7I4ICorK8O6deswYMAAREdH49dff8W//vUvXL16FefPn0d0dDQeffRRW5aViIiIyC5UgiAISt80bdo0rF69GoIg4Mknn8T48ePRqlUrvXXy8vIQERGBiooKmxXWkQoLCxEYGAi1Wo2AgABHF4eIiIhkkHv/rmHJh586dQqffPIJUlJS4O3tLbpOSEgIh+cTERGRS7CohsgdsYaIiIjI9di1hggAzp49i08++QSn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U7qITvWidFtNrQfIv1ibqwW1pJbU0puts6asqOrvqqo8Nra45li776QC+pEdI7Hq94t6r8sJquVm5jd1XEkdv2Id/x1931DCw9EFqAr5+fkoLy9H/fr19V6vX78+8vLyRN+TlpaGwMBA7V9kZGRVFFURzUEp9iN6qlR4vFOU9mRMS0monCn+r2ULUxKwd85DWD2hMzakdoGHSv/9Hqq/O8rpfqajm47CA32QGFfXrlX2uvvJcBoRZye2DeamWNGdFsSS75P6Pcz9VqL7e2iCrGBI6v1iQYX2PDE8oGHdtltreIco7JndG6sndMae2b1l1W5obma6nOG8rGq2Po5Nsec1Rw6p33xanyaYM6CZdpmSiXB1zxuR00L7eaaOK7HjVzNaUcnnOBO3GGV25coVNGjQAOnp6UhMTNS+PnPmTOzatQv79xuPBBCrIYqMjHTaUWa6HSGlRnyZ6tEvltYfgFWjyFxVVY18sCepbaiq0XpKWLu/5b7/6MVbRqMwHb3tljA3DY07cMbj2J5M/eaWnj+Go+3k3EOsLaujyB1l5hYB0b179+Dr64t169Zh8ODB2tdHjx6NgoICfP/992Y/w5mH3WvY48ZSHYID0ueMF6yqUl22nedl9fkt5aqK39xW3+FsxycDIgOdOnVCx44d8cknnwAAKioqEBUVhalTp8rqVO0KARGRXM52wapK7rzt1Q1/S5KDeYgMzJgxA6NHj0b79u3RsWNHfPjhhyguLtaOOiNyJ86W/6MqufO2Vzf8LcmW3CYgGj58OK5fv47XXnsNeXl5aNu2LX755RejjtZERETkftymycxabDIjIiJyPXLv324x7J6IiIjIFAZERERE5PYYEBEREZHbY0BEREREbo8BEREREbk9BkRERETk9hgQERERkdtjQERERERujwERERERuT23mbrDWpqE3oWFhQ4uCREREcmluW+bm5iDAZFMt2/fBgBERkY6uCRERESk1O3btxEYGCi5nHOZyVRRUYErV66gdu3aUKlUji5OlSssLERkZCQuXrzIudyswP1oPe5D2+B+tA3uR9uw534UBAG3b99GREQEPDykewqxhkgmDw8PNGzY0NHFcLiAgACe9DbA/Wg97kPb4H60De5H27DXfjRVM6TBTtVERETk9hgQERERkdtjQESyeHt7Y968efD29nZ0UVwa96P1uA9tg/vR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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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eXk5gBuLE7oiKysLBoMBkyZNcunzpI0CYxk25xSiwFimdVKIiKgKUhSonDt3zmq9n6ioKKxevRqXL19Gnz59UFpa6lIitm3bhjlz5qB169YufZ60sWjbcXTOWoMhc39F56w1WLTtuPMPERERKaAoUGncuDEOHjxo9VpoaChWrVqFsrIy3HvvvYoTUFxcjIceeghz585FRESE4s+TNgqMZZi6ZB8q/2rpqxSA55fs99maFdYMERHpk6JApWfPnsjOzrZ7vXbt2li5ciVq1aqlOAHjx49H37590aNHD8WfJe3kFpaYgxSTCkFAXqFrtWpaYs0QEZF+KepM+/LLL+PUqVOi74WGhuKnn37Czp07ZX/fwoULsXPnTmzbtk3W9uXl5ea+MAC4MrOGEqJC4GeAVbDibzAgPipYu0S5QKpmqEtSNGLCgrRNHBERKatRiYiIQKtWrSTfDw0NRdeuXWV9V35+Pp588kl88cUXsmtiMjMzERYWZv6LjY2V9TlSX0xYEDIHpML/r87T/gYDXh+Q4nM396pUM0REVBUZBIXjia9fv4533nkHCxYswB9//AEASEpKwpAhQ/Dkk0+iZs2asr5n2bJluPfee+Hv729+raKiAgaDAX5+figvL7d6DxCvUYmNjYXRaOQMuBopMJYhr7AU8VHBPhekADfS3zlrjV3N0MYp3X3yeIiIfEFRURHCwsJk3b8VBSplZWW48847sWXLFvTo0QMtWrQAABw8eBCrV69G586dsWrVKlk1JJcvX8axY8esXhs+fDiSk5Px3HPPISUlxel3KDlQIimLth3H80v2o0IQzDVDg9o31jpZRERVlpL7t6I+KllZWcjPz8euXbvshhLv2bMHd999N7KysjB9+nSn3xUaGmoXjISEhKBu3bqyghQitQxq3xhdkqJ9umaIiKiqUtRHZeHChXj77bdF5ztJS0vDm2++ifnz56uWOCJviQkLQnpiXQYpREQ6o6hG5dixY+jQoYPk+//4xz+sFiVUat26dS5/loiIiKoeRTUqderUwdmzZyXfP336NEJDQ91OFBERERGgMFDp3r07Xn/9dcn3s7Ky0L17d7cTRURERAQobPqZNm0aOnbsiH/84x94+umnkZycDEEQcPDgQbzzzjs4cOAAtm7d6qm0EhERUTWjKFBp2bIlfvrpJ4wcORKDBw82r5QsCAKSk5Ox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MBiwbNkyq/cFQcBLL72EmJgYBAUFoUePHjhy5Ig2idUxZ+dx2LBhMBgMVn+9e/fWJrE6lZmZifbt2yM0NBT16tVD//79cfjwYattrly5gvHjx6Nu3bqoXbs2Bg4ciDNnzmiUYn2Scx67detmlx/HjBmjUYr1afbs2WjdurV5MrL09HT88MMP5veZF+Vxdh61zosMVHxASUkJ0tLSMGvWLNH333jjDbz//vv48MMP8euvvyIkJAS9evXClStXvJxSfXN2HgGgd+/eKCgoMP8tWLDAiynUv/Xr12P8+PHYunUrfvrpJ1y7dg09e/ZESUmJeZunnnoK3377Lb766iusX78ep06dwoABAzRMtf7IOY8AMHr0aKv8+MYbb2iUYn266aabkJWVhR07dmD79u24/fbbcc899+D3338HwLwol7PzCGicFwXyKQCEpUuXmv9fWVkpNGjQQJg5c6b5tUuXLgmBgYHCggULNEihb7A9j4IgCEOHDhXuueceTdLjq86ePSsAENavXy8Iwo28V7NmTeGrr74yb3Pw4EEBgLBlyxatkql7tudREASha9euwpNPPqldonxURESE8NFHHzEvusl0HgVB+7zIGhUfl5ubi9OnT6NHjx7m18LCwtCxY0ds2bJFw5T5pnXr1qFevXpo3rw5xo4di/Pnz2udJF0zGo0AgMjISADAjh07cO3aNav8mJycjMaNGzM/OmB7Hk2++OILREVFISUlBVOnTkVpaakWyfMJFRUVWLhwIUpKSpCens686CLb82iiZV706UUJCTh9+jQAoH79+lav169f3/weydO7d28MGDAACQkJyMnJwfPPP4+MjAxs2bIF/v7+WidPdyorKzFp0iR07twZKSkpAG7kx4CAAISHh1tty/woTew8AsCQIUMQFxeHhg0bYu/evXjuuedw+PBhLFmyRMPU6s++ffuQnp6OK1euoHbt2li6dClatmyJ3bt3My8qIHUeAe3zIgMVor8MHjzY/O/U1FS0bt0aiYmJWLduHe644w4NU6ZP48ePx/79+7Fx40atk+LTpM7jY489Zv53amoqYmJicMcddyAnJweJiYneTqZuNW/eHLt374bRaMTixYsxdOhQrF+/Xutk+Ryp89iyZUvN8yKbfnxcgwYNAMCuJ/uZM2fM75FrmjRpgqioKBw9elTrpOjOhAkT8N1332Ht2rW4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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAHHCAYAAABeLEexAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAACE10lEQVR4nO3deVxU5f4H8M+AgoACIruyiSIqSG4p7qZXXFpMK00z98ols82lMrVFabmt17RN/d1bmllallqaawqau5JLSiAuoKIyyKIgPL8/cKZZzpmNGWaG+bxfL0rmHM4858yZc77nWb6PQgghQEREROTC3OxdACIiIiJ7Y0BERERELo8BEREREbk8BkRERETk8hgQERERkctjQEREREQujwERERERuTwGREREROTyGBARERGRy2NAREROY968eVAoFCatq1AoMG/ePJuWp1evXujVq5fDbo+ITMeAiIjMtnz5cigUCvVPnTp10LhxY4wZMwYXLlywd/EcTnR0tNbxCg4ORvfu3bF27VqrbL+kpATz5s3D9u3brbI9IlfEgIiILPbaa6/hf//7H5YsWYIBAwbgq6++Qs+ePXHz5k2bvN8rr7yC0tJSm2zb1u666y7873//w//+9z+88MILuHjxIoYMGYIlS5ZUe9slJSWYP38+AyKiaqhj7wIQkfMaMGAAOnToAACYMGECAgMD8dZbb2HdunV45JFHrP5+derUQZ06znnZaty4MR577DH1748//jiaNWuG999/H0899ZQdS0ZEAGuIiMiKunfvDgDIzMzUev3kyZN46KGHEBAQgHr16qFDhw5Yt26d1jrl5eWYP38+mjdvjnr16qFRo0bo1q0bNm/erF5Hqg/RrVu38OyzzyIoKAgNGjTA/fffj/Pnz+uVbcyYMYiOjtZ7XWqby5Ytwz333IPg4GB4enqiVatWWLx4sVnHwpjQ0FC0bNkSWVlZBte7fPkyxo8fj5CQENSrVw9JSUn4v//7P/Xy7OxsBAUFAQDmz5+vbpazdf8potrGOR+1iMghZWdnAwAaNmyofu3PP/9E165d0bhxY8yaNQs+Pj749ttvMXjwYHz//fd48MEHAVQFJgsXLsSECRNw9913o7CwEPv378fBgwfxr3/9S/Y9J0yYgK+++gojRoxAly5dsHXrVgwaNKha+7F48WK0bt0a999/P+rUqYOffvoJ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OlV///33SEhIwIEDB5CUlISkpCQcPHgQCQkJ+P77761dRiIiIiKbsqjJLDY2FiNHjsRrr72m9frcuXPx1VdfITMz02oFdBRsMiMiInI+pt6/Laohys3NxeOPP673+mOPPYbc3FxLNklERERkNxYFRL169cLvv/+u9/quXbvQvXv3ahfKleQqS5GWmY9cZam9i0JEROSyLOpUff/992PmzJk4cOAAOnfuDADYs2cPVq9ejfnz52PdunVa65K0VftyMHvNMVQKwE0BLBySiGEdI+1dLCIiIpdjUR8iNzfTKpYUCgUqKirMLpQjsnYfolxlKbqmbkWlxtF3Vyiwa1ZvhPl5VXv7REREZONh97Ul+7Q9ZeUXawVDAFAhBLLzSxgQERER1bBqT+5KlokJ9IGbQvs1d4UC0YHe9ikQERGRCzO5huijjz4yeaPTpk2zqDCuJMzPCwuHJOKlNRmoEALuCgUWDElg7RAREZEdmNyHKCYmxrQNKhT4+++/q1UoR2SrPES5ylJk55cgOtCbwRAREZGVWb0PUVZWllUKRtrC/LwYCBEREdkZ+xARERGRy7N4ctfz589j3bp1yMnJQVlZmday9957r9oFIyIiIqopFgVEW7Zswf3334+mTZvi5MmTSEhIQHZ2NoQQaNeunbXLSERERGRTFjWZzZ49Gy+88AKOHTuGevXq4fvvv8e5c+fQs2dPPPzww9YuIxEREZFNWRQQnThxQj25a506dVBaWor69evjtddew1tvvWXVAhIRERHZmkUBkY+Pj7rfUFhYGDIzM9XL8vPzrVMyIiIiohpiUR+izp07Y9euXWjZsiUGDhyI559/HseOHcOaNWvUk70SEREROQuLaojee+89dOrUCQAwf/589OnTB6tWrUJ0dDS+/PJLk7ezc+dO3HfffQgPD4dCocAPP/ygtXzMmDFQKBRaP/3799da59q1axg5ciR8fX3h7++P8ePHo6ioSGudo0ePonv37qhXrx4iIiLw9ttvW7LbtUaushRpmfnIVZbauyhEREQOwaIaoqZNm6r/7ePjgyVLllj05sXFxUhKSsK4ceMwZMgQyXX69++PZcuWqX/39PTUWj5y5Ejk5uZi8+bNKC8vx9ixY/HEE09gxYoVAKoyVPbr1w99+/bFkiVLcOzYMYwbNw7+/v544oknLCq3M1u1Lwez1xxDpQDcFMDC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kmJRQFRZWSn7ek5Ojvr3xYsXMwcREREROTyzAqLCwkI88sgj8PHxQUhICF599VVUVFSol1+5cgUxMTFWLyRZJldZirTMfOQqS+1dFCIiIodmVh6iOXPm4MiRI/jf//6HgoICvPHGGzh48CDWrFkDDw8PAMw95ChW7ctRT/7qpgAWDknEsI6R9i4WERGRQzKrhuiHH37Ap59+ioceeggTJkzA/v37ceXKFdx33324desWAHByVweQqyxVB0NA1XxnL63JYE0RERGRDLMCoitXrmjNZxYYGIjffvsNN27cwMCBA1FSUmL1ApL5svKLtSZ9BYAKIZCdb9vPh010RETkrMwKiCIjI3HixAmt1xo0aIBNmzahtLQUDz74oFULR5aJCfSBm05FnbtCgehAb5u956p9OeiauhUjPt+LrqlbsWpfjvE/IiIichBmBUT9+vXDsmXL9F6vX78+fv31V9SrV89qBSPLhfl5YeGQRLjfab50VyiwYEiCzeY8O3LuOmZ9zyY6IiJyXmZ1qp4/fz4uXrwouaxBgwbYvHkzDh48aJWCUfUM6xiJHnFByM4vQXSgt82CoU93ZGLhxpN6r6ua6DjxLBEROQOzAqKGDRuiYcOGsssbNGiAnj17VrtQZB1hfl42DUg+3SkdDAG2b6IjIiKyJrMTM96+fRvvvPMO2rVrh/r166N+/fpo164d3n33XZSXl9uijOSAcpWlSJUJhtwAmzbRERERWZtZNUSlpaX417/+hfT0dPTt2xc9evQAAJw4cQIzZ87EunXrsGnTJvYlcgFZ+cWQSjmlALB2ShckRcjXJBIRETkaswKi1NRUnDt3DocOHUKbNm20lh05cgT3338/UlNTMW/ePGuWkRyQaiSb7vD+WQPiGQwREZHTMavJ7JtvvsF7772nFwwBQFJSEt59912sWLHCaoUjx6U7ks1NAcweGI8ne8bauWRERETmM6uG6OzZs7j77rtll3fu3Flrcleq3WpqJBsREZGtmRUQ+fr64vLly4iIiJBcnpeXhwYNGlilYOQcbD2SjYiIqCaY1WTWu3dvLFiwQHZ5amoqevfuXe1CEREREdUks2qI5s6di06dOqFz58547rnnEB8fDyEETpw4gffffx/Hjx/Hnj17bFVWIiIiIpswKyBq1aoVNm/ejPHjx2P48OHqme2FEIiPj8emTZvQunVrmxSU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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAHHCAYAAACRAnNyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB75klEQVR4nO3dd3gU1foH8O8mkJAE0kiABNMIhAAJSDd0FIGIBUEFRaVbAJHrVQw2UNQE8VovIhcl+FNpIiAqVUB670jHQCihRFJIIYHk/P6Iu26Z2d3Zkp1Nvp/n4dHszM6emZ2deeec95yjEUIIEBEREamQh6sLQERERCSHgQoRERGpFgMVIiIiUi0GKkRERKRaDFSIiIhItRioEBERkWoxUCEiIiLVYqBCREREqsVAhYiIiFSLgQoR2W3KlCnQaDRWravRaDBlyhSnlqdHjx7o0aOHardHRNZjoEJUhcydOxcajUb3r0aNGmjYsCGGDRuGixcvurp4qhMdHW1wvOrVq4euXbti6dKlDtl+UVERpkyZgt9//90h2yOqjhioEFVB77zzDr799lt8+eWXSE5OxnfffYfu3bvj5s2bTvm8N954A8XFxU7ZtrPdeeed+Pbbb/Htt9/i5ZdfxqVLlzBgwAB8+eWXdm+7qKgIb7/9NgMVIjvUcHUBiMjxkpOT0a5dOwDAqFGjEBISgmnTpmH58uV47LHHHP55NWrUQI0a7nk5adiwIZ588knd308//TQaN26Mjz/+GM8995wLS0ZEAGtUiKqFrl27AgDOnDlj8Prx48fxyCOPIDg4GLVq1UK7du2wfPlyg3Vu3bqFt99+G02aNEGtWrVQt25ddOnSBWvXrtWtI5WjUlJSgn/9618IDQ1FnTp18OCDD+LChQsmZRs2bBiio6NNXpfaZnp6Ou6++27Uq1cP3t7eaN68OWbOnKnoWFjSoEEDNGvWDBkZGWbXu3r1KkaOHIn69eujVq1aaNWqFb755hvd8rNnzyI0NBQA8Pbbb+ual5ydn0NU1bjnIxARKXL27FkAQFBQkO61P/74A507d0bDhg2RkpICPz8/LFq0CP3798ePP/6Ihx9+GEBFwJCamopRo0ahQ4cOyM/Px549e7Bv3z7ce++9sp85atQofPfdd3jiiSfQqVMnrF+/Hv369bNrP2bOnIkWLVrgwQcfRI0aNfDzzz9jzJgxKC8vx9ixY+3attatW7dw/vx51K1bV3ad4uJi9OjRA6dPn8a4ceMQExODH374AcOGDUNubi5efPFFhIaGYubMmXj++efx8MMPY8CAAQCAli1bOqScRNWGIKIqIz09XQAQv/32m7h27Zo4f/68WLx4sQgNDRXe3t7i/PnzunXvuecekZiYKG7evKl7rby8XHTq1Ek0adJE91qrVq1Ev379zH7u5MmThf7l5MCBAwKAGDNmjMF6TzzxhAAgJk+erHtt6NChIioqyuI2hRCiqKjIZL0+ffqIRo0aGbzWvXt30b17d7NlFkKIqKgo0bt3b3Ht2jVx7do1cfDgQTF48GABQLzwwguy2/vkk08EAPHdd9/pXistLRVJSUmidu3aIj8/XwghxLVr10z2l4iUYdMPURXUq1cvhIaGIiIiAo888gj8/PywfPly3HHHHQCA69evY/369Xjsscdw48YNZGdnIzs7G3/99Rf69OmDU6dO6XoJBQYG4o8//sCpU6es/vwVK1YAAMaPH2/w+oQJE+zaLx8fH93/5+XlITs7G927d8eff/6JvLw8m7a5Zs0ahIaGIjQ0FK1atcIPP/yAp556CtOmTZN9z4oVK9CgQQM8/vjjutdq1qyJ8ePHo6CgABs3brSpLERkik0/RFXQjBkzEBcXh7y8PMyZMwebNm2Ct7e3bvnp06chhMCbb76JN998U3IbV69eRcOGDfHOO+/goYceQlxcHBISEtC3b1889dRTZpswzp07Bw8PD8TGxhq83rRpU7v2a+vWrZg8eTK2b9+OoqIig2V5eXkICAhQvM2OHTvi3XffhUajga+vL5o1a4bAwECz7zl37hyaNGkCDw/DZ71mzZrplhORYzBQIaqCOnTooOv1079/f3Tp0gVPPPEETpw4gdq1a6O8vBwA8PLLL6NPnz6S22jcuDEAoFu3bjhz5gx++uknrFmzBl999RU+/vhjfPnllxg1apTdZZUbKK6srMzg7zNnzuCee+5BfHw8PvroI0RERMDLywsrVqzAxx9/rNsnpUJCQtCrVy+b3ktEzsdAhaiK8/T0RGpqKnr27In//ve/SElJQaNGjQBUNFdYc5MODg7G8OHDMXz4cBQUFKBbt26YMmWKbKASFRWF8vJynDlzxqAW5cSJEybrBgUFITc31+R141qJn3/+GSUlJVi+fDkiIyN1r2/YsMFi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2TSOyqhRo5CQkIALFy5g37592LdvH86fP4+WLVvimWeecXQZiYiIqJqyqUblwIED2LNnD4KCgnSvBQUF4b333pNNriUiIiJSyqYalbi4OFy5csXk9atXr6Jx48Z2F4qIiIgIsDFQSU1Nxfjx47F48WJcuHABFy5cwOLFizFhwgRMmzYN+fn5un9EREREtrKpe7KHxz/xjUajAQBoN6P/t0ajQVlZmSPKKYndk4mIiNyP07snb9iwwaaCERERESlhU6DSvXt3R5eDiIiIyITNo7Pl5ubi66+/1g341qJFC4wYMQIBAQEOKxwRERFVbzYl0+7ZswexsbH4+OOPcf36dVy/fh0fffQRYmNjsW/fPkeXkYiIiKopm5Jpu3btisaNG2P27Nm6IfNv376NUaNG4c8//8SmTZscXlApTKYlIiJyP0ru3zYFKj4+Pti/fz/i4+MNXj969CjatWuHoqIipZu0CQMVIiIi96Pk/m1T04+/vz8yMzNNXj9//jzq1KljyyaJiIiITNgUqAwaNAgjR47EwoULcf78eZw/fx4LFizAqFGj8Pjjj1u9nSlTpkCj0Rj8M66lISIiourLpl4/H374ITQaDZ5++mncvn0bAFCzZk08//zzSEtLU7StFi1a4LfffvunQDVs7ohEREREVYziqKCsrAw7duzAlClTkJqaijNnzgAAYmNj4evrq7wANWqgQYMGit9HREREVZ/iph9PT0/07t0bubm58PX1RWJiIhITE20KUgDg1KlTCA8PR6NGjTBkyBDJ3BetkpISg3mEOJcQERFR1WZTjkpCQgL+/PNPuz+8Y8eOmDt3LlatWoWZM2ciIyMDXbt2xY0bNyTXT01NRUBAgO5fRESE3WUgIiIi9bKpe/KqVaswadIkTJ06FW3btoWfn5/Bclu7Cufm5iIqKgofffQRRo4cabK8pKQEJSUlur/z8/MRERHB7slERERuxOmTEt53330AgAcffFA3WzJg/4zJgYGBiIuLw+nTpyWXe3t7w9vb26ZtExERkftR1ezJBQUFOHPmDJ566imnbJ+IiIjci02BSkxMDCIiIgxqU4CKGpXz589bvZ2XX34ZDzzwAKKionDp0iVMnjwZnp6eisZiISIioqrL5kAlKysL9erVM3j9+vXriImJsbrp58KFC3j88cfx119/ITQ0FF26dMGOHTsQGhpqS7GI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3z6HFM6S/Px8BAQEIC8vD/7+/pXymURERGQfJfdvRdUhkydPtqtgxmbOnImZM2fi7NmzAIAWLVrgrbfeQnJyskM/h4iIiNyTohoVR/v555/h6emJJk2aQAiBb775BtOnT8f+/fvRokULi+9njQoREZH7UXL/dkigsnHjRhQWFiIpKQlBQUF2bSs4OBjTp0/HyJEjLa7LQIWIiMj9OK3pZ9q0aSgoKMDUqVMBVMyOnJycjDVr1gAA6tWrh3Xr1llVG2KsrKwMP/zwgy7gkVJSUoKSkhLd3xy3hYiIqGpTNODbwoULDYbMX7x4MTZt2oTNmzcjOzsb7dq1w9tvv62oAIcPH0bt2rXh7e2N5557DkuXLpXt6pyamoqAgADdv4iICEWfRURERO5FUdNPUFAQtm3bhmbNmgEAhg8fjrKyMvzf//0fAGDHjh149NFHcf78easLUFpaiszMTOTl5WHx4sX46quvsHHjRslgRapGJSIigk0/REREbsRpTT+3b9+Gt7e37u/t27djwoQJur/Dw8ORnZ2tqLBeXl5o3LgxAKBt27bYvXs3Pv30U8yaNctkXW9vb4PPJyIioqpNUdNPbGwsNm3aBADIzMzEyZMn0a1bN93yCxcuoG7dunYVqLy83KDWhIiIiKovRTUqY8eOxbhx47B582bs2LEDSUlJBk0069evR+vWra3e3qRJk5CcnIzIyEjcuHED8+bNw++//47Vq1crKRYRERFVUYoCldGjR8PT0xM///wzunXrZjIA3KVLlzBixAirt3f16lU8/fTTyMrKQkBAAFq2bInVq1fj3nvvVVIsIiIiqqJcOuCbvTiOChERkftRcv9WlKNCREREVJkUBSq3bt3CxIkT0bhxY3To0AFz5swxWH7lyhV4eno6tIBERERUfSkKVN577z383//9H5577jn07t0bL730Ep599lmDddy4JYmIiIhURlEy7ffff4+vvvoK999/PwBg2LBhSE5OxvDhw3W1KxqNxvGlJCIiompJUY3KxYsXDYbQb9y4MX7//Xds27YNTz31FMrKyhxeQCIiIqq+FAUqDRo0wJkzZwxea9iwITZs2IDdu3dj2LBhjiwbERERVXOKApW7774b8+bNM3k9PDwc69evR0ZGhsMKRo6XlVeMbWeykZVXbNc6RERElUVRjsqbb76J48ePSy5r2LAhNm7ciLVr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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# visualize with IDAES surrogate plotting tools\n", "surrogate_scatter2D(alm_surr, data_training)\n", @@ -452,108 +254,7 @@ "cell_type": "code", "execution_count": 6, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkEAAAHHCAYAAAC4BYz1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB0gUlEQVR4nO3dd3iTVfsH8G86aaFN96KlLWXJpkWhKFOkIENelCGgBYpFBAFBlmwRWcpwgSjrRVBQqj/AwRYRCiLTKiBgCxRaRkpThnTl/P7Im9C0zWqTZn0/19ULkufJk5PHam7Puc99S4QQAkREREQOxsnSAyAiIiKyBAZBRERE5JAYBBEREZFDYhBEREREDolBEBERETkkBkFERETkkBgEERERkUNiEEREREQOiUEQEREROSQGQUREVmjdunWQSCTIyMiw9FCI7BaDICIHdezYMYwePRqNGjVC9erVUatWLfTr1w9///13mXM7dOgAiUQCiUQCJycneHt7o379+njppZewe/duo953+/btaN++PYKCguDp6YnatWujX79++Omnn0z10cp499138d1335V5/vDhw5g9ezZyc3PN9t6lzZ49W30vJRIJPD090bBhQ0yfPh15eXkmeY9NmzZh2bJlJrkWkT1jEETkoBYuXIitW7fi6aefxvLly5GcnIxffvkFsbGxSEtLK3N+eHg4NmzYgP/+979YvHgxevXqhcOHD6NLly7o378/CgsL9b7ne++9h169ekEikWDq1KlYunQpnn/+eVy4cAFfffWVOT4mAN1B0Jw5c6o0CFJZsWIFNmzYgCVLlqBBgwaYN28eunbtClO0c2QQRGQYF0sPgIgsY/z48di0aRPc3NzUz/Xv3x9NmjTBggUL8MUXX2icL5VKMXjwYI3nFixYgDFjxuCTTz5BVFQUFi5cqPX9ioqKMHfuXDzzzDPYtWtXmeM3b96s5CeyHg8ePICnp6fOc1544QUEBAQAAF599VU8//zzSElJwZEjRxAfH18VwyRyeJwJInJQbdq00QiAAKBu3bpo1KgRzp49a9A1nJ2d8cEHH6Bhw4b46KOPIJfLtZ57+/Zt5OXl4cknnyz3eFBQkMbjhw8fYvbs2ahXrx6qVauG0NBQ9OnTB5cuXVKf895776FNmzbw9/eHh4cH4uLi8M0332hcRyKR4P79+1i/fr16CWrIkCGY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27hxYzRu3BivvfYaXn31VbRt2xYHDhxAx44dNc4bNmwYWrVqhbS0NAwbNszYj6jVvXv3MGfOHPTp06fMsWrVqqn/XjIZWSKRaH1OoVAY/L6Acodcq1atNI45OztrPC69RLl48WIsX74cy5YtQ5MmTVC9enWMGzeuzO670pycnMoEsYWFhWXOK/1+9+7dQ2hoKH7++ecy5/r4+Oh8TyJ7wyCIyM74+fkhISEBH3/8McaMGVPmSzA3NxddunSBn58f3n///TJB0LZt23DhwgXMnTtX/dy1a9fQsWNHxMXFYe3atRozO9qogqj79++XOdaoUSM0atQIZ86cwcCBAyvyMcsVGxuL8+fPo06dOia7psqVK1dw/fp1hIWFAQCOHDkCJycn1K9fH8HBwQgLC8M///yDQYMGGXXdQ4cO4bnnnsPgwYMBKAOvv//+WyMIdXNz0yhbAACBgYG4e/cu7t+/r/5nrMr50SU2NhbZ2dlwcXFBVFSUUWMlsjcMgojs0Mcff4wnn3wSTzzxBN5++200bdoURUVF2L17N1asWIGzZ8/i008/xYABA5CcnIzRo0fD29sbe/fuxcSJE/HCCy+gX79+AJQBUIcOHRAZGYn33nsPt27dUr9PSEgIAGDkyJEICwtDp06dEB4ejqysLLzzzjsIDAxEfHx8uWPct28fCgsLTTr7MHPmTPTo0QO1atXCCy+8ACcnJ5w+fRppaWl45513KnXtatWqITExEe+99x7y8vIwZswY9OvXT30P5syZgzFjxkAqlaJr167Iz8/H77//jjt37mD8+PFar1u3bl188803OHz4MHx9fbFkyRLcuHFDIwiKiorC0aNHkZGRgRo1asDPzw+tWrWCp6cn3nrrLYwZMwZHjx7VSDjXpnPnzoiPj0fv3r2xaNEi1KtXD9evX8f333+P//znP2WW64jsGXeHEdmh2rVr48SJE+jYsSMmTJiAxo0b45lnnsHevXuxYsUKAMALL7yA/fv348qVK2jbti3q16+PpUuXYtq0afjqq6/US0K7d+/GxYsXsXfvXoSHhyM0NFT9o9K5c2ccOXIEffv2Rb169fD888+jWrVq2Lt3b5ncE5Xq1aubfPklISEBO3bswK5du/D444+jdevWWLp0KSIjIyt97Tp16qBPnz549tln0aVLFzRt2hSffPKJ+vjw4cPx+eefY+3atWjSpAnat2+PdevWITo6Wud1p0+fjtjYWCQkJKBDhw4ICQlB7969Nc5588034ezsjIYNGyIwMBBXrlyBn58fvvjiC/zwww9o0qQJvvzyS8yePVvv55BIJPjhhx/Qrl07DB06FPXq1cOAAQNw+fJldX4UkaOQCGMzI4mIHMzs2bPx3XffGbTcRES2gzNBRERE5JAYBBGR1alRo4bWn4MHD1p6eERkJ7gcRkRW5+LFi1qP1axZ06b6gxGR9WIQRERERA6Jy2FERETkkBgEERERkUNiEEREREQOiUEQEREROSQGQUREROSQGAQRERGRQ2IQRERERA6JQRARERE5pP8HSi3/nfWVEUYAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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BJGWlibOnj0r5s2bJ2Qymdi7d68QQoipU6cKPz8/cfDgQXHq1CkRGhoqQkNDpdc/fPhQBAcHi4iICJGcnCx2794t3N3dxfz586U6f/31l7CzsxOzZ88WFy9eFKtWrRKWlpZi9+7dGsXKhIiI9MWU5yEiqg4AsX379mrrpaWlCQsLC5GUlFRtXW0kRAYdVH379m2MHTsWmZmZcHZ2Rtu2bbFnzx784x//AACsXLkSFhYWGDp0KIqKihAZGYnPP/9cer2lpSV27tyJadOmSU2x48aNw9tvvy3VCQgIwK5duzBjxgx8/PHHaNy4Mb766itERkbqfX+JiIioaiUlJbh79y7efPNNdOvWDR06dNDLdmX/zdaoGgqFAs7OztKEWUREuvLgwQOkpaUhICDAIANszZmDg0OlZb/99ht69Oihx2iAqVOnYsOGDSrLxowZgzVr1ug1Hm2QyWTYvn07Bg8erLL80KFD6N27NwIDA7F161aEhIRUu86qPjPqnr8Nftk9ERGRsXhy/p7HNWrUSH+B/Nfbb7+tclZvACb747y6dpiwsDCN53DSBiZERERE/1XVXD6G4OHhAQ8PD0OHYRYMftk9ERERkaExISIiMlLqzgVDZO608VlhlxkRkZGxtraGhYUFMjIy4O7uDmtra+mWCUT0P0IIFBcXIycnBxYWFrC2tq7xupgQEREZGQsLCwQEBCAzM1PlLSKISJmdnR38/PzUurVLZZgQEREZIWtra/j5+eHhw4c1uscUkbmwtLREvXr1at2KyoSIiMhIyWQyWFlZaXzncyLSHAdVExERkdljQkRERERmjwkRERERmT0mRERERGT2mBARERGR2WNCRERERGaPCRERERGZPSZEREREZPaYEBEREZHZY0JEREREZo8JEREREZk9JkRERERk9pgQERERkdljQkRERERmjwkRERERmT0mRERERGT2mBARERGR2WNCRERERGaPCRERERGZPSZEREREZPaYEBEREZHZY0JEREREZo8JEREREZk9JkRERERk9pgQERERkdljQkRERERmjwkRERERmT0mRERERGT2mBARERGR2WNCRERERGaPCRERERGZPSZEREREZPaYEBEREZHZY0JEREREZo8JEREREZk9JkRERERk9gyaEMXFxaFz585wdHSEh4cHBg8ejMuXLyvVCQsLg0wmU3pMnTpV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dCh69uwJLy8vbNu2TSq3tLTEzp07YWlpidDQUIwZMwZjx47F22+/LdUJCAjArl27sG/fPrRr1w4ffvghvvrqK85BRERERABqeC+zwYMHY8CAAZgyZQpmzZqFn3/+GePHj8e2bdvQoEED7N+/XxexGhTnISIiIjI9Or2X2YoVK5CXlwcAWLx4MfLy8rBp0ya0aNGiRleYERERERlSjVqIzBFbiIiIiEyPTluIyhUXF+P27dsoKytTWu7n51eb1RIRERHpVY0Soj///BOTJk3C0aNHlZYLISCTyVBaWqqV4IiIiIj0oUYJ0YQJE1CvXj3s3LkT3t7ekMlk2o6LiIiISG9qlBAlJycjKSkJrVq10nY8RERERHpXo3mIgoKCNJpviIiIiMiYqZ0QKRQK6fH+++9jzpw5OHToEO7evatUplAodBkvERERkdap3WXm4uKiNFZICIG+ffsq1eGgaiIiIjJFaidE8fHxuoyDiIiIyGDUToh69eol/Z2eng5fX98KV5cJIXDjxg3tRUdERESkBzUaVB0QEICcnJwKy+/du4eAgIBaB0VERESkTzVKiMrHCj0pLy8P9evXr3VQRERERPqk0TxEM2fOBADIZDIsWLAAdnZ2UllpaSmOHz+O9u3bazVAIiIiIl3TKCH6448/ADxqITp37hysra2lMmtra7Rr1w6zZs3SboREREREOqZRQlR+pdmECRPw8ccf867vREREVCfU6NYd69ev13YcRERERAZTo4QoPz8fS5cuxYEDB3D79m2UlZUplf/1119aCY6IiIhIH2qUEE2ePBkJCQl48cUXebd7IiIiMnk1Soh+++037Nq1C927d9d2PERERER6V6N5iBo0aABXV1dtx0JERERkEDVKiN555x289dZbKCgo0HY8RERERHpXoy6zDz/8EKmpqfD09ESTJk1gZWWlVH769GmtBEdERESkDzVKiAYPHqzlMIiIiIgMRyaEEIYOwhQoFAo4OztDLpdzQkoiIiIToe75W6MxRCdOnEBpaWml5UVFRdi8ebMmqyQiIiIyOI0SotDQUNy9e1d67uTkpDQJY25uLkaOHKm96IiIiIj0QKOE6MneNVW9beyBIyIiIlNTo8vuq8JZq4mIiMjUaD0hIiIiIjI1Gl92f+HCBWRlZQF41D126dIl5OXlAQDu3Lmj3eiIiIiI9ECjy+4tLCwg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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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dLz44ovVZmaJiYlwc3NTfwICAuowSiIiIqpLskhkSktLMXDgQAghsHz58mqXnTlzJpRKpfqTlZVVR1ESERFRXbP4R0sVSczFixexe/fuGtu52Nvbw97evo6iIyIiInOy6ESmIok5d+4cUlJS0LBhQ3OHRERERBbErIlMQUEBzp8/r/6emZmJtLQ0eHp6ws/PDwMGDEBqaip+/PFHlJWVITc3FwDg6ekJOzs7c4VNREREFsKs3a/37NmDTp06VZk+bNgwzJkzByEhIVp/l5KSgo4dO+q1DXa/JiIikh9ZdL/u2LEjqsujLGSIGyIiIrJQsui1RERERKQNExkiIiKSLSYyREREJFtMZIiIiEi2mMgQERGRbDGRISIiItliIkNERESyxUSGiIiIZIuJDBEREckWExkiIiKSLSYyREREJFtMZIiIiEi2mMgQERGRbDGRISIiItliIkNERESyxUSGiIiIZIuJDBEREckWExkiIiKSLSYyREREJFtMZIiIiEi2mMgQERGRbDGRISIiItliIkNERESyxUSGiIiIZIuJDBEREckWExkiIiKSLSYyREREJFtMZIiIiEi2mMgQERGRbDGRISIiItliIkNERESyxUSGiIiIZIuJDBEREckWExkiIiKSLSYyREREJFtMZIiIiEi2mMgQERGRbDGRISIiItliIkNERESyZdZEZt++fejduzf8/f2hUCiwdetWjflCCLz77rvw8/ODg4MD4uPjce7cOfMES0RERBbHrIlMYWEhWrRogWXLlmmd/+GHH+LTTz/FihUrcPjwYTg5OaFr1664c+dOHUdKRERElqi+OTfevXt3dO/eXes8IQSWLl2Kd955B88//zwA4Ouvv0ajRo2wdetWDB48uC5DJSIiIgtksW1kMjMzkZubi/j4ePU0Nzc3tG3bFgcPHjRjZERERGQpzFojU53c3FwAQKNGjTSmN2rUSD1Pm5KSEpSUlKi/q1Qq0wRIREREZmexNTLGSkxMhJubm/oTEBBg7pCIiIjIRCw2kfH19QUAXL16VWP61atX1fO0mTlzJpRKpfqTlZVl0jiJiIjIfCw2kQkJCYGvry927dqlnqZSqXD48GHExsbq/J29vT1cXV01PkRERGSdzNpGpqCgAOfPn1d/z8zMRFpaGjw9PREYGIjJkydj3rx5aNKkCUJCQjBr1iz4+/ujT58+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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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L72EXr16oX379vDy8sL69eulcnNzc2zatAnm5uaQy+UYNGgQBg8ejI8//liqExgYiM2bNyMuLg7h4eH46quv8MMPP3COIyIiIipBp3urvfrqq4iJicHIkSMxadIk/PHHHxgyZAjWr18PFxcX7Ny5syJiNSjOc0RERGR6Ku3eavPmzUN2djYAYObMmcjOzsbq1atRr149na5UIyIiIjIWOrUcVUdsOSIiIjI9ldZyVCwvLw+3bt1CUVGR2nJ/f//yrJaIiIjIYHRKjv7++28MHz4cBw8eVFsuhIBMJkNhYaFegiMiIiKqbDolR0OHDoWFhQU2bdoEb29vyGQyfcdFREREZBA6JUeJiYk4fvw4QkJC9B0PERERkUHpNM9Rw4YNtZrPiIiIiMhUaJwcKZVK6fH555/jvffew969e3H37l21MqVSWZHxEhEREVUojbvVnJ2d1cYWCSHQuXNntTockE1ERESmTuPkaM+ePRUZBxEREZFR0Dg56tChg/T/1NRU+Pn5lbhKTQiB69ev6y86IiIiokqm04DswMBA3L59u8Tye/fuITAwsNxBERERERmKTslR8diip2VnZ8PGxqbcQREREREZilbzHE2cOBEAIJPJMG3aNNjZ2UllhYWFOHz4MJo0aaLXAImIiIgqk1bJ0cmTJwE8aTk6c+YMrKyspDIrKyuEh4dj0qRJ+o2QiIiIqBJplRwVX7E2dOhQLFy4kHenJyIioipHp9uHLF++XN9xEBERERkFnZKjhw8fYs6cOdi1axdu3bqFoqIitfIrV67oJTgiIiKiyqZTcjRixAjEx8fj9ddfh7e3d6lXrhERERGZIp2So61bt2Lz5s1o27atvuMhIiIiMiid5jlycXGBq6urvmMhIiIiMjidkqNPPvkEH330ER49eqTveIiIiIgMSqduta+++grJycnw9PRE7dq1YWlpqVZ+4sQJvQRHREREVNl0So5effVVPYdBREREZBxkQghh6CBMgVKphJOTExQKBSe/JCIiMhG6nL+1GnN05MgRFBYWllmem5uLNWvWaLNKIiIiIqOiVXIkl8tx9+5d6bmjo6PahI9ZWVno37+//qIjIiIiqmRaJUdP98CV1iPHXjoiIiIyZTpdyv8snC2biIiITJnekyMiIiIiU6b1pfznzp1DRkYGgCddaBcuXEB2djYA4M6dO/qNjoiIiKiSaXUpv5mZGWQyWanjioqXy2SyZ17RZqp4KT8REZHp0eX8rVXLUUpKik6BEREREZkKrZKjgIAArVb+1ltv4eOPP4abm5tWryMiIiIylAodkL1y5UoolcqK3AQRERGRXlVocsQ5j4iIiMjU8FJ+IiIiIhVMjoiIiIhUMDkiIiIiUsHkiIiIiEhFhSZHgwYN4oSJREREZFJ0So6KiorKXJ6amio9X7x4Mec4IiIiIpOiVXKkVCrRp08f2Nvbw9PTEx999JHarUJu376NwMBAvQdJREREVFm0miF72rRpOHXqFH766SdkZWVh1qxZOHHiBNavXw8rKysAnNuIiIiITJtWLUe///47li5dit69e2PEiBE4duwYbt++je7duyM3NxfAkxvQamrfvn3o3r07fHx8IJPJ8Pvvv6uVDxkyBDKZTO3RpUsXtTr37t3DwIED4ejoCGdnZwwfPhzZ2dlqdU6fPo127drBxsYGfn5++OKLL7TZbSIiIqpGtEqObt++rXZ/NTc3N+zcuRMPHjxAt27d8OjRI602/vDhQ4SHh2PRokVl1unSpQvS09Olx6pVq9TKBw4ciLNnzyIuLg6bNm3Cvn378MYbb0jlSqUSUVFRCAgIwPHjxzF37lzMmDED3333nVaxEhERUfWgVbeav78/zp8/rzauqEaNGtixYweioqLQo0cPrTbetWtXdO3a9Zl1rK2t4eXlVWrZ+fPnsW3bNhw9ehQtWrQAAHzzzTfo1q0bvvzyS/j4+ODnn39GXl4eli1bBisrKzRq1AiJiYmYN2+eWhJFREREBGjZchQVFYXly5eXWO7g4IDt27fDxsZGb4EV27t3Lzw8PFC/fn2MHj0ad+/elcoSEhLg7OwsJUYAEBkZCTMzMxw+fFiq0759e2lMFABER0fj4sWLuH//vt7jJSIiItOmVcvRzJkzkZaWVmpZjRo1EBcXhxMnTuglMOBJl1rPnj0RGBiI5ORkvP/+++jatSsSEhJgbm6OjIwMeHh4qL3GwsICrq6uyMjIAABkZGSUuILO09NTKnNxcSl127m5udI4KuBJ9xwRERFVfVolRy4uLmUmE8CTBKlDhw7lDqpYv379pP+HhYWhcePGCAoKwt69e9G5c2e9bac0s2fPxsyZMyt0G0RERGR8tJ4EsqCgAHPnzkWzZs3g4OAABwcHNGvWDF9++SXy8/MrIkZJnTp14ObmhsuXLwMAvLy8cOvWrRLx3bt3Txqn5OXlhczMTLU6xc/LGssEAFOnToVCoZAe169f1+euEBERkZHSKjnKyclBx44dMWXKFLi7u2PEiBEYMWIE3N3dMXnyZHTu3BmPHz+uqFhx48YN3L17F97e3gAAuVyOrKwsHD9+XKqze/duFBUVISIiQqqzb98+tcQtLi4O9evXf2YrmLW1NRwdHdUeREREVPVp1a02Z84cXL9+HSdPnkTjxo3Vyk6dOoWXX34Zc+bMwYwZMzRaX3Z2ttQKBAApKSlITEyEq6srXF1dMXPmTPTq1QteXl5ITk7Ge++9h7p16yI6OhoA0KBBA3Tp0gUjR47EkiVLkJ+fj7Fjx6Jfv37w8fEBAAwYMAAzZ87E8OHDMXnyZCQlJWHhwoWYP3++NrtORERE1YXQQnBwsFi3bl2Z5WvWrBH16tXTeH179uwRAEo8YmNjxaNHj0RUVJRwd3cXlpaWIiAgQIwcOVJkZGSorePu3buif//+wsHBQTg6OoqhQ4eKBw8eqNU5deqUeOGFF4S1tbXw9fUVc+bM0Wa3hRBCKBQKAUAoFAqtX0tERESGocv5WyaE5vf7sLGxwaVLl+Dn51dq+fXr11GvXr0K7VozFKVSCScnJygUCnaxERERmQhdzt9ajTlydHQsMQBaVUZGBmrUqKHNKomIiIiMilbJUadOnfDZZ5+VWT5nzhx06tSp3EERERERGYpWA7KnT5+OiIgItG7dGhMnTkRISAiEEDh//jzmz5+Pc+fO4dChQxUVKxEREVGF0yo5atiwIeLi4jB8+HD069cPMpkMACCEQEhICHbs2IFGjRpVSKBERERElUGr5AgAWrdujbNnzyIxMRF///03ACA4OBhNmjTRd2xERERElU7r5EipVMLBwQFNmjRRS4iKioqQnZ3NK7mIiIjIpGk1IHvDhg1o0aJFqZfq5+TkoGXLlvjzzz/1FhwRERFRZdMqOVq8eDHee+892NnZlSizt7fH5MmT8Z///EdvwRERERFVNq2So6SkJHTs2LHM8vbt2+PMmTPljYmIiIjIYLRKju7fv4+CgoIyy/Pz83H//v1yB0VERERkKFolR7Vr18axY8fKLD927BgCAgLKHRQRERGRoWiVHPXs2RMffPABMjMzS5RlZGTgww8/RK9evfQWHBEREVFl0+rGsw8ePIBcLkdqaioGDRqE+vXrAwAuXLiAn3/+GX5+fjh06FCVvL8abzxLRERkenQ5f2s1z1GNGjVw4MABTJ06FatXr5bGFzk7O2PQoEH49NNPq2RiRERERNWHVi1HqoQQuHPnDoQQcHd3l24lourAgQNo0aIFrK2tyx2oobHliIiIyPTocv7WasyRKplMBnd3d3h4eJSaGAFA165dcfPmTV03QTpKV+TgYPIdpCtyDB0KERGRydH69iHa0LFRisph9dFUTF1/BkUCMJMBs3uGoW9Lf0OHRUREZDJ0bjki45OuyJESIwAoEsD765PYgkRERKQFJkdVSMqdh1JiVKxQCFy988gwAREREZkgJkdVSKCbPcyeGv5lLpOhtlvJe+ERERFR6So0OSproDZVDG8nW8zuGQbz/x13c5kMn/UMhbeTrYEjIyIiMh0ckF3F9G3pj/bB7rh65xFqu9kxMSIiItJShSZHDx48qMjVUxm8nWyZFBEREelIq+ToxRdf1Kje7t27dQqGiIiIyNC0So727t2LgIAAxMTEwNLSsqJiIiIiIjIYrZKjzz//HMuXL8fatWsxcOBADBs2DKGhoRUVGxEREVGl0+pqtXfffRfnzp3D77//jgcPHqBt27Zo1aoVlixZAqVSWVExEhEREVUanW88CwCPHj3C2rVrsWjRIpw7dw5paWlV9qasvPEsERGR6anUG88CwIkTJxAfH4/z588jNDSU45CIiIjI5GmdHKWlpeGzzz5DcHAwevfuDVdXVxw+fBiHDh2CrS0vHyciIiLTptWA7G7dumHPnj2IiorC3LlzERMTAwuLCp0qiYiIiKhSaTXmyMzMDN7e3vDw8HjmrUFOnDihl+CMCcccERERmR5dzt9aNftMnz5dp8CIiIiITEW5rlarTiq75ShdkYOUOw8R6GbPW4EQERHpqMJbjsoSHx+Phw8fQi6Xw8XFRR+rrNZWH03F1PVnUCQAMxkwu2cY+rb0N3RYRERE1YJWV6t9/vnnmDZtmvRcCIEuXbqgU6dOeOmll9CgQQOcPXtW70FWJ+mKHCkxAoAiAby/PgnpihzDBkZERFRNaJUcrV69Wu12IevWrcO+ffvw119/4c6dO2jRogVmzpyp9yCrk5Q7D6XEqFihELh659FzX5uuyMHB5DtMpIiIiMpBq261lJQUNG7cWHq+ZcsW9O7dG23btgUAfPjhh3jttdf0G2E1E+hmDzMZ1BIkc5kMtd3snvk6dsURERHph1YtRwUFBbC2tpaeJyQkoE2bNtJzHx8f3LlzR3/RVUPeTraY3TMM5v+bKsFcJsNnPUOfOSibXXFERET6o1XLUVBQEPbt24c6deogNTUVf//9N9q3by+V37hxAzVr1tR7kNVN35b+aB/sjqt3HqG2m91zr1Z7Vlccr3QjIiLSjlbJ0ZgxYzB27Fj89ddfOHToEORyORo2bCiV7969G02bNtV7kNWRt5OtxomNrl1xREREVJJW3WojR47E119/jXv37qF9+/b47bff1MrT0tIwbNgwvQZIz6dLVxwRERGVjpNAasgUbh+SrsjRuCuOiIioOjDYJJBkHLTpiiMiIqLSadWtlp+fj/feew9169ZFq1atsGzZMrXyzMxMmJub6zVAIiIiosqkVXL06aef4v/+7/8watQoREVFYeLEiXjzzTfV6mjTS7dv3z50794dPj4+kMlk+P3330us66OPPoK3tzdsbW0RGRmJS5cuqdW5d+8eBg4cCEdHRzg7O2P48OHIzs5Wq3P69Gm0a9cONjY28PPzwxdffKHNbhMREVE1olVy9PPPP+OHH37ApEmTMGvWLBw7dgy7d+/G0KFDpaRI9r9BwZp4+PAhwsPDsWjRolLLv/jiC3z99ddYsmQJDh8+DHt7e0RHR+Px48dSnYEDB+Ls2bOIi4vDpk2bsG/fPrzxxhtSuVKpRFRUFAICAnD8+HHMnTsXM2bMwHfffafNrhMREVF1IbRga2srUlJS1JbduHFDBAcHi4EDB4qbN28KMzMzbVYpASA2bNggPS8qKhJeXl5i7ty50rKsrCxhbW0tVq1aJYQQ4ty5cwKAOHr0qFRn69atQiaTiZs3bwohhPj222+Fi4uLyM3NlepMnjxZ1K9fX6v4FAqFACAUCoUuu0dEREQGoMv5W6uWIy8vLyQnJ6st8/X1xZ49e3D06FEMGTJEXzkbUlJSkJGRgcjISGmZk5MTIiIikJCQAODJDN3Ozs5o0aKFVCcyMhJmZmY4fPiwVKd9+/awsrKS6kRHR+PixYu4f/9+mdvPzc2FUqlUexAREVHVp1Vy9OKLL+KXX34psdzHxwe7d+9GSkqK3gLLyMgAAHh6eqot9/T0lMoyMjLg4eGhVm5hYQFXV1e1OqWtQ3UbpZk9ezacnJykh5+fX/l2iIiIiEyCVsnRtGnT0KdPn1LLfH19ER8fX+IKNlM1depUKBQK6XH9+nVDh0RERESVQKt5jgICAhAQEFBmuY+PD2JjY8sdFPCkCw94Mj2At7e3tDwzMxNNmjSR6ty6dUvtdQUFBbh37570ei8vL2RmZqrVKX5eXKc01tbWajfZJSIioupBq5ajYmvXrkXPnj0RGhqK0NBQ9OzZE+vWrdNrYIGBgfDy8sKuXbukZUqlEocPH4ZcLgcAyOVyZGVl4fjx41Kd3bt3o6ioCBEREVKdffv2IT8/X6oTFxeH+vXrw8XFRa8xExERkenTKjkqKipC37590bdvX5w7dw5169ZF3bp1cfbsWfTt2xf9+vXTap6j7OxsJCYmIjExEcCTQdiJiYlITU2FTCbDhAkTMGvWLGzcuBFnzpzB4MGD4ePjg1dffRUA0KBBA3Tp0gUjR47EkSNHcODAAYwdOxb9+vWDj48PAGDAgAGwsrLC8OHDcfbsWaxevRoLFy7ExIkTtdl10kK6IgcHk+8gXZFTrjpEREQGoc3lcPPmzROurq7izz//LFH2xx9/CFdXVzF//nyN17dnzx4BoMQjNjZWCPHkcv5p06YJT09PYW1tLTp37iwuXryoto67d++K/v37CwcHB+Ho6CiGDh0qHjx4oFbn1KlT4oUXXhDW1tbC19dXzJkzR5vdFkLwUn5N/XrkmgicskkETN4kAqdsEr8euaZTHSIiIn3Q5fyt1Y1nGzdujAkTJmDYsGGllv/4449YuHAhTp8+Xf6szciYwo1nDS1dkYO2c3ajSOUdZS6TYf+UTtI93zSpQ0REpC+6nL+16la7dOmS2rxDTyvt9h5UfaTceaiW9ABAoRC4eueRVnWIiIgMSavkyNbWFllZWWWWK5VK2NjYlDcmMlGBbvYwe+ruMeYyGWq72WlVh4iIyJC0So7kcjkWL15cZvmiRYukK8mo+vF2ssXsnmEw/9/99cxlMnzWM1Stu0yTOkRERIak1TxHH3zwATp27Ii7d+9i0qRJCAkJgRAC58+fx1dffYU//vgDe/bsqahYyQT0bemP9sHuuHrnEWq72ZWa9GhSh4iIyFC0GpANABs2bMAbb7yBe/fuqS13cXHB0qVL0atXL70GaCw4IJuIiMj06HL+1jo5AoBHjx5h+/bt0uDr4OBgREVFwc6u6o4bYXJERERkenQ5f2vVrbZ7926MHTsWhw4dQo8ePdTKFAoFGjVqhCVLlqBdu3barJaIiIjIaGg1IHvBggUYOXJkqZmXk5MT3nzzTcybN09vwRERERFVNq2So1OnTqFLly5llkdFRand54yIiIjI1GiVHGVmZsLS0rLMcgsLC9y+fbvcQREREREZilbJka+vL5KSksosP336NLy9vcsdFBEREZGhaJUcdevWDdOmTcPjx49LlOXk5GD69Ol46aWX9BYcERERUWXT6lL+zMxMNGvWDObm5hg7dizq168PALhw4QIWLVqEwsJCnDhxAp6enhUWsKHwUn4iIiLTU+GX8nt6euLgwYMYPXo0pk6diuK8SiaTITo6GosWLaqSiRERERFVH1olRwAQEBCALVu24P79+7h8+TKEEKhXrx5cXFwqIj4iIiKiSqV1clTMxcUFLVu21GcsRERERAan1YBsIiIioqqOyRERERGRCiZHRERERCqYHBERERGpYHJEREREpILJEREREZEKJkdEREREKpgcEREREalgckRERESkgskRERERkQomR0REREQqmBwRERERqWByRERERKSCyRERERGRCiZHRERERCqYHJFepCtycDD5DtIVOYYOhYiIqFwsDB0Amb7VR1Mxdf0ZFAnATAbM7hmGvi39DR0WEdIVOUi58xCBbvbwdrI1dDhEZCKYHFG5pCtypMQIAIoE8P76JLQPdufJiAyKSTsR6YrdalQuKXceSolRsUIhcPXOI8MERISyk3Z2+xKRJpgcUbkEutnDTKa+zFwmQ203uwrdLsc40bMwaSei8mByROXi7WSL2T3DYC57kiGZy2T4rGdohXaprT6airZzdmPA94fRds5urD6aWmHbItNkqKSdiKoGmRBCPL8aKZVKODk5QaFQwNHR0dDhGJ10RQ6u3nmE2m52FZoYpSty0HbObrVWAXOZDPundOIYJ1Kz+mgq3l+fhEIhpKSdY46Iqh9dzt8ckE164e1kWynJybO6S5gckaq+Lf3RPti9UpJ2IqpamByRSSnuLnm65YjdJVSaykraiahq4ZgjMimGGONERETVC1uOyOSwu4SIiCoSkyMySewuIWPD2biJqg4mR2TyeFIiQ+Ns3ERVi9GPOZoxYwZkMpnaIyQkRCp//PgxxowZg5o1a8LBwQG9evVCZmam2jpSU1MRExMDOzs7eHh44N1330VB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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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eGrsLt3du3fX5mVERERE1UarmhpDwpoaIiIiw6PN9VujG1qeOHEChYWFKsvz8vKwYcMGTTZJREREJAmNkpro6Gj8888/iueOjo5KE+1lZGSgX79+0kVHREREpCaNkprSLVXltVwZeWsWERER6SmNkhp1VNfswkREREQVkTypISIiItIFjYd0X7x4EWlpaQCeNTVdvnwZWVlZAID09HRpoyMiIiJSk0ZDus3MzCCTycrtN1O8XCaTVThCqqZxSDcREZHhqfbJ95KSkrQKjIiIiKi6aZTUBAQEaLTxUaNG4ZNPPoGbm5tGryMiIiLSVLV2FF69ejXkcnl1vgURERERgGpOajhnDREREdUUDukmIiIio8CkhoiIiIwCkxoiIiIyCkxqiIiIyChUa1IzYMAATnhHRERENUKrpKaoqEjl8tu3byueL126lHPUEBERUY3QKKmRy+Xo3bs37Ozs4OnpiY8//ljplggPHjxAUFCQ5EESERERVUajGYWnTZuGc+fO4fvvv0dGRgZmz56N06dPY/PmzbC0tATAuWmIiIhINzSqqdm6dSuWL1+Onj17YujQoTh16hQePHiAbt26IS8vD8CzG1sSERER1TSNkpoHDx4o3f/Jzc0Nv/32Gx4/foxXX30VOTk5kgdIREREpA6Nkhp/f39cunRJaZmDgwN2796N3NxcvPHGG5IGR0RERKQujZKaDh06ICEhocxye3t77Nq1C9bW1pIFRkRERKQJjToKz5w5EykpKeWWOTg4YM+ePTh9+rQkgRERERFpQqOkxsXFBS4uLirLHRwc0LZt2yoHRURERKQpjSffKygowPz589GkSRPY29vD3t4eTZo0wYIFC5Cfn18dMRIRERFVSqOamtzcXLzyyis4evQoYmJi0KZNGwDApUuXMHnyZGzbtg27d+9m3xoiIiKqcRolNfHx8UhOTsaZM2fQqFEjpbJz587htddeQ3x8PGbMmCFljERERESV0qj5ad26dVi4cGGZhAYAoqKisGDBAqxZs0ay4IiIiIjUpVFSc+vWLTRv3lxl+QsvvKB0Q0siIiKimqJRUuPo6Ij79++rLE9LS4ODg0OVgyIiIiLSlEZJTfv27fHpp5+qLI+Pj0f79u2rHBQRERGRpjTqKDx9+nS0aNECL7zwAiZMmICwsDAIIXDp0iUsWrQIFy9exLFjx6orViIiIiKV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EBISgr/++gt9+vRB3759OU8NERER6YRGfWo+//xz/Pbbb9i2bZtirppi27Ztw6BBg/D5559j/PjxUsZIREREVCmNamoSEhIwf/78MgkNALz22mv47LPPytw6gYiIiKgmaJTUXLt2DTExMSrLY2JicO3atSoHRURERKQpjZIaGxsbZGRkqCyXy+WwtrauakxEREREGtMoqYmOjsbSpUtVli9ZsgTR0dFVDoqIiIhIUxolNVOnTsW3336L3r1748SJE5DL5cjMzMSxY8fQq1cvrFy5ElOnTq2uWBEfHw+ZTMaOyERERFSGRqOfWrZsifXr12P48OH48ccflcpcXFywdu1atGrVStIAi508eRLLly9Ho0aNqmX7REREZNg0SmoA4I033kDHjh2xa9cuRafg0NBQdOjQAba2tpIHCABZWVno378/VqxYgdmzZ1fLexAREZFh06j5ad++fQgPD0dBQQHeeOMNTJo0CZMmTUL37t2Rn5+Phg0b4tChQ5IHOXr0aHTp0qXCkVfF8vLyIJfLlR5ERERk/DRKahYvXoxhw4aVew8GJycnvPvuu1i4cKFkwQHAunXrcPr0acydO1et9efOnQsnJyfFw8/PT9J4iIiISD9plNScO3cOnTp1UlneoUMH/Pnnn1UOqlhycjLGjRuHH374Qe2h4lOmTEFmZqbikZycLFk8REREpL806lNz7949WFhYqN5YrVp48OBBlYMq9ueff+L+/fto0qSJYllhYSEOHjyI//znP8jLy4O5ubnSa6ysrGBlZSVZDERERGQYNEpqfH19kZiYiJCQkHLLz58/D29vb0kCA4CXX34ZFy5cUFo2aNAghIWFYfLkyWUSGiIiIjJdGiU1r776KqZNm4ZOnTqVaQ7Kzc3F9OnTy70vlLYcHBwQERGhtMzOzg61a9cus5yIiIhMm0ZJzUcffYTNmzcjNDQUY8aMQf369QEAly9fxpIlS1BYWFitk+8RERERqSITQghNXnDr1i2MHDkSu3btQvFLZTIZOnbsiCVLliAoKKhaAtWWXC6Hk5MTMjMzyx21RURERPpHm+u3xpPvBQQEYMeOHXj06BGuX78OIQTq1asHFxcXjQMmIiIikorGSU0xFxcXNGvWTMpYiIiIiLSm0Tw1RERERPqKSQ0REREZBSY1eiQ1MxdHbqQjNTNX16EQEREZHK371JC01p+8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TJigcrv16tXDpk2bcOTIEbi4uGDhwoW4d++eUlITGBiI48eP4+bNm7C3t4erqytatGgBW1tbfPjhhxg7diyOHz+u1AFblZiYGERHR6N79+747LPPEBoaipSUFPzyyy944403yjSPERkzjn4iMgB169bF6dOn0b59e7z//vuIiIjAK6+8gr1792Lp0qUAgJ49e2L//v24ffs2XnzxRdSvXx+LFi3C1KlTsW7dOkUTzJ49e3D9+nXs3bsXderUgbe3t+JRLCYmBseOHUOvXr0QGhqKN998E9bW1ti7d2+ZvhvF7OzsJG/u6NixI7Zv347du3ejWbNmeOGFF7Bo0SIEBARUedshISHo0aMHXn31VXTo0AGNGjXCV199pSgfOnQovvnmGyQkJCAyMhJt27bFqlWrEBQUVOF2P/roIzRp0gQdO3ZEu3bt4OXlhe7duyut88EHH8Dc3Bzh4eFwd3fH7du34erqitWrV2PHjh2IjIzE2rVrMWPGjEr3QyaTYceOHWjTpg0GDRqE0NBQ9O3bF7du3VL0LyIyFTKhac9CIiIDN2PGDGzdulWt5h0iMhysqSEiIiKjwKSGiKqdvb29ysehQ4d0HR4RGQk2PxFRtbt+/brKMl9fX4O6vxMR6S8mNURERGQU2PxERERERoFJDRERERkFJjVERERkFJjUEBERkVFgUkNERERGgUkNERERGQUmNURERGQUmNQQERGRUfg/m8X4cdn2MvMAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# visualize with IDAES surrogate plotting tools\n", "surrogate_scatter2D(alm_surr, data_validation)\n", @@ -565,7 +266,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Now, the surrogate is trained and validated, we shall embed it in the property package, which is demonstrated in the [surrogate_embedding](./surrogate_embedding_doc.ipynb) file." + "Now, the surrogate is trained and validated, we shall embed it in the property package, which is demonstrated in the [surrogate_embedding](./surrogate_embedding_doc.md) file." ] } ], @@ -586,9 +287,8 @@ "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.6" - }, - "orig_nbformat": 4 + } }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/alamo_training_test.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/alamo_training_test.ipynb index ed7713b4..119faf29 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/alamo_training_test.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/alamo_training_test.ipynb @@ -1,594 +1,294 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Supercritical CO2 Property Surrogate with ALAMO Surrogate Object - Training Surrogate (Part 1)\n", - "\n", - "Maintainer: Javal Vyas\n", - "\n", - "Author: Javal Vyas\n", - "\n", - "Updated: 2024-01-24\n", - "\n", - "## 1. Introduction\n", - "This notebook demonstrates leveraging of the ALAMO surrogate trainer and IDAES Python wrapper to produce an surrogate based on supercritical CO2 data from simulation using REFPROP package.\n", - "\n", - "There are several reasons to build surrogate models for complex processes, even when higher fidelity models already exist (e.g., reduce model size, improve convergence reliability, replace models with externally compiled code and make them fully-equation oriented).\n", - "\n", - "In this example, we intend to make a surrogate for the physical properties of S-CO2 to be embedded in the property package. This property package will be used to get the physical properties of S-CO2 in the flowsheet simulation. To learn more about property package, see the [IDAES-PSE](https://github.com/IDAES/idaes-pse) Github Page or IDAES [Read-the-docs](https://idaes-pse.readthedocs.io/en/latest/). \n", - "\n", - "### 1.1 Need for ML Surrogate\n", - "\n", - "The properties predicted by the surrogate are enthalpy and entropy of the S-CO2 based on the \n", - "pressure and temperature of the system. The analytical equation of getting the enthalpy and entropy from pressure and temperature are in the differential form and would make the problem a DAE system. To counter this problem and keep the problem algebraic, we will use the surrogates and relate enthalpy and entropy with the pressure and temperature as an algebraic equation.\n", - "\n", - "### 1.2 Supercritical CO2 cycle process\n", - "\n", - "The following flowsheet will be used to optimize the design for the cooling of the fusion reactor using supercritical CO2 cycle. We shall focus on training the surrogate for this notebook and move to constructing the flowsheet and the properties package in the subsequent notebooks. The take away from this flowsheet is that, 3 variables can be measured in any given unit which are flow, pressure and temperature and other properties can be calculated using them. Thus, surrogate should have pressure and temperature as the inputs.\n", - "\n", - "In this example, we will train a model using AlamoTrainer for our data and then demonstrate that we can solve an optimization problem with that surrogate model. " - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABVYAAAKWCAYAAACidsIoAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAP+lSURBVHhe7N0HfFRV2sfxJxB6CAmgVCVIEQQlCIi8qETsdYPKrl0QK6DC6tqVYK8LNlBXBXVd+5K1YAcsqAhKUBAQkCAdAgkhNAnkzXPmHDIMKdMSbpLf9/OZvXfOvXNngjtz5v7nuefE/LF6XcGKpYulT58+AgAAAAAAAAAoWw27BAAAAAAAAAAEiWAVAFDl/Llkuqy8roG9BwAAAABA9BGsAgCqlF0bl8nGiZfZewAAAAAAlA+CVQBAlVGwO182vnSp1O98km0BAAAAAKB8EKwCAKqM7JcultjE1tIg+SzbAgAAAABA+SBYBQBUCTlv3yi7t2RLfJ+LbAsAAAAAAOWHYBUAUOltmfKk7Fw0TRKOv8a2AAAAAABQvghWAQCV2raMdMn99BGJT7lWYmLr2FYAAAAAAMoXwSoAoNL6c9ksyX55sDTqP1xiE1raVgAAAAAAyh/BKgCgUtqdu0ayJ1wq8f2ukTqtj7CtAAAAAABUDIJVAECltOHFC6Vex36Ft2NtCwAAAAAAFYdgFQBQ6WyccKnENmgqDZLPsi0AAAAAAFQsglUAQKWSm36H7M5eIfHHDLItAAAAAABUPIJVAEClseXLZ2X7L+9JwvHX2hYAAAAAAPYPglUAQKWwfe5Hkvv+3dLo+KESU6eBbQUAAAAAYP8gWAUAeN7Olb9I9sTLpNGJN0hs4za2FQAAAACA/YdgFQDgaQVbs2XjixdL3P8NkjoHd7etAAAAAADsXwSrAABP2/DiRVK3bS+p3ynFtgAAAAAAsP8RrAIAPCvn31dJjVp1JK7HObYFAAAAAABvIFgFAHhS7of3yM7V86XRcVfaFgAAAAAAvINgFQDgOVu+fVm2/fC6JBx/rW0BAAAAAMBbCFYBAJ6yY8EU2fT2SGl0/LVSo36CbQUAAAAAwFsIVgEAnpG/9jfJnnCpNDrpBql1YHvbCgAAAACA99SIsSsAAOxPu3fkycaXLpYGvQZK3aRethUAAAAAAG+iYhUA4AnZL10stVseJvUPO8m2AAAAAADgXQSrAID9btOb14ns3iUNe/3VtgAAAAAA4G0EqwCA/WrzJw/LzswfJSHlGtsCAAAAAID3EawCAPabLT+8LnlfPS/xKVeLxDDqNwAAAACg8iBYBQDsF38u/kZy/n2lJPQfKjUbHmBbAQAAAACoHAhWAQAVbteGTNk44TJpdNJIqd2is20FAAAAAKDyIFgFAFSogl07ZcOLF0v9I86Qeu362FYAAAAAACqXmOWr1xUsX7pY+vTh5BYAUP42/utvEhNbS+J7X2hbysea8QOl1VNb7L2qb8YH70vGJ5/I77Nny+ZNOaatYaMEOaTbEZJ82unS+8yzTBsAAAAAIDoIVgEAFWbTu/+QnSt+kcSTrrct5ae6BKuZc3+R1++6S3ZtWC/NatSQZvXrS/1atcy2rTt3ytqtW2Xt7t1Ss8kBcsG990pS18PNNgAAAABAZBgKAABQIfK+GCN/LpwqCcdfY1sQqffGjpGH/jpQmm/fKsc2aSIdExOlUZ06UqtGDXPTdW3Tbc22bTH7vj/mn/bRAAAAAIBIEKwCAMrdtoxJsvmzMRKfco3ExNa2rYjE5GfHy2cvvSBntk2SQ+rWta0la1evntn308LHfDjuGdsKAAAAAAgXwSoAoFz9mTlTsicOloT+wyU2oaVtRST08v/3nnxCTjnoIGlYO/igWvc95eCD5f2nnzLHAAAAAACEr4YU2DUAAKJsV84q2fjSJdLo+GFSu3VX24qSbM/MtGul+89tt0nvNgeHFKo6+pijDmotr916q20BAAAAAISDilUEbeScNeaWs3OXbUF5GvDtcol5e569B1ROG1+6WOp37i91O/SVOQt+l3ueeU3Ovf4+GXLHGHk5/XO7F5ys9HT5sXt3WTNxom3Zl87+v3tTdlCX/5ekXf36UpCbY44FAAAAAAgPwSqCNva3DeYGAMHYOOESiW14gDTodqY88cr/5IRBt8o94/4j//viOxOqarja49zr7N5w8jIyZOHgwSUGrD+9/540j/XN+h8JPcZP7xOsAgAAAEC4CFYBAFGX+7/bZXfOKonve5lkrlwr9457TXI2b5F+vQ6Xx2+5Su4eeqHZT6tYb3z4ebOOvZUUsGbO+1UOrFvH3gufHiNzHlXxAAAAABCumOWr1hUsz1wsffr0sU1A8dxl6dmpnSShVk2zjvKjQwGkr8yVgoFdbAtQOWz56lnJmzZOGp99t9SoXd9Uq2p4mtSqmcx69ylJaNjA7Ofay8MHF50lh6z5RDq8s1ZiExIkZ9o0E1TGJSdLQkqK5OfkyIqxY82+rUeMMPtoeLllzhxp8pe/mH10/7Uvvyw1GzWSpLQ0s++SkSPNY1vdcIM5ll66r/s06NZtzz7zBgww+3SZNMkcN7OwfdOXX0qzyy6T5oMGmdeix1E9Zs82yznHH2/GV62blGS2F0e3tRk1Su55/FE555C2UqtGZL+N7ty9W96dv0DOX7TEtgAAUDloH9s0NdXeAwBg/6FiFQAQNdvnTpbc99Mk4fihJlRVf6xea5bdOh2yJ1RVSa0OtGvRF/fa+7Luiz9NOKo2/O9/Jsxc+cQT5r4Gn8tGjzY3RwNSDVtdsKlBp953j1EapGoA6yaZ0uNrmwanSo+r9/UYbp8dy5aZ+xraKg1b9XHutSl9nO7vHlMc3UdvtXfvlhjbBgBAdeTfhwIAsD/FLF+9rmD5UipWUTYqVisWFauobHau+Fmyxp4ojU4cIXUOTratYsZU1Qmr1Iv3j5TLUk80wwKce9298uXMX+QvJ/SRd5+802yPlqUPPy+bZ34oHf4zc09lqYafWlmqVaMaULqKVVdpqvtosOmqWnVd2zQI1ce4ffSxul0rSHUfPbnTfVwlrIaoel+Po0sXmLo25U4I3X0Xmmpo6x/2Kn2cVsi6ytpbj+krfRvFSXztyIYD2LRjh0zPzZOHv5luWwAA8Da9CkT7Sb2Cw/XfAADsTwSrCBrBasUiWEVlsjtvg6x7PEXijjhN6h2aYluL6MRVGqIG0grWd5+6y4y9Gm1rxg+UVk9tsfcqBw1WdVxV5QJVDXU1xHXGX3Wl1F68SNo3irct4Vm8KVf+bN9ern3+BdsCAIC3EawCALyGoQAAABHb+NLFUq/d0cWGquqLiQ/JDZf+xd7z0TBV28sjVK3MNFDV6lQdf1VPGv1DVXXk2WfL6vyd9l749BhHnr33fxMAAAAAQPAIVgEAEcl59UqpUbuexB05wLYU7/FbrpL8eR/K4k9fkqzv3zKhqo67iiI6nIAGqu3GjNknUHV6n3mWxMQnyJJt22xL6Bbn5Zlj6LEAAAAAAOEhWAUAhG3T+2myc91CaXTcFbalbEmtmu01iRWKaJhaUqDq76KHHpIf/lgum//807YETx8zc+UqcwwAAAAAQPgIVgEAYdny7QTZPutNSUi51ragoiR1PVzOGn6dfPLHHyGFq7rvp4WPOWvYcHMMAAAAAED4akiBXQMAIEg7Fnwhm965SRr1Hyo16jWyrahIZwwdJicNulw+WJopS7Zuta0lW7xli9n3xMsGyxnDhttWAAAAAEC4akiMXQMAIAj5axdK9sTLJOGkEVLrgHa2FfvD2TfeJLe+9basrR8nX2/YIL9lZ8umHTtk5+7d5qbr2qbb1jVoaPY9+6Z/2EcDAAAAACLBUAAAgKDt3r5ZNr50kcT1/KvUadPDtmJ/0kv6b5uULifdfKvsPvwImZ6bJ1//MldmZPxs1nd3Odxs0324/B8AAAAAoodgFQAQtOyXLpbaLbtKvcNOtC3wCp3h/+qnnpGHv5ku57RpK6c2bmLWr35mHLP/AwAAAEA5IFgFAARl0+vDCv+3QBr2+quvAZ6UM22aueVlZEhWerptBQAAAABEG8EqAKBMmz9+SHYuny0JKVfbFnjVstGj7dre6wAAAACA6CJYBQCUauvM12XLNy9IfMo1hfeY8dDLXLWqQ9UqAAAAAJQfglUAQIn+XPy1ZL96lTTqP1RqxjW1rfCq4ipUqVoFAAAAgPJBsAoAKFZ+1u+yYcKlknDK36V28062FV4VWK3qULUKAAAAAOWDYBUAsI+C/D8le8IlEtftLKnbtrdthZeVVplK1SoAAAAARB/BKgBgH9kTLpZaTQ+R+l1PtS3wMq1K3Z6ZKXWTkszNcffzc3KKrWYFAAAAAISPYBUAsJdNb98osj1PGva+wLbA6+KSk6X30qV7bo5/W0JKim0FAAAAAERDzPLV6wqWL10sffr0sU2oTuLj4+1a2Ta/+J1Zxl13ksRszTPrKD/bhj8s+d2Pk4ZDyn5v5ubm2jUgMnmfj5GtP7wmjc+8U2Jia9vWymnN+IHS6qkt9l718mVMjFn2KygwSwAAqoLMtDQzvE2bUaMkqXAdAID9jWC1mtNgddasWfZe6Q6ds9MsZ3aNlfiavpN2lJ9hmbvk8027ZWG3WraleD179iRYRVRsm/1fyXlrhDQ+e5TENmphWysvglWCVQBA1UKwCgDwGoYCAADIn5k/SPbLl0tC/+FVIlQFAAAAAKC8EawCQDW3K2elbHzpUonvP0xqt+pqWwEAAAAAQGkIVgGgmsuecInU69xf6rXva1sAAAAAAEBZCFYBoBrLnnCx1Iw7QOK6nWlbAAAAAABAMAhWAaCa2jTpNtm1aY3E973MtgAAAAAAgGDFLF+1rmB55mLp06ePbUJ1Eh8fL7NmzbL3SnfonJ1mObNrrMTX9M04jfIzLHOXfL5ptyzsVsu2FK9nz56Sm5tr7wHB2fLlOMn76llpfObdUqNOfdtatawZP1BaPbXF3qtevozxfUb3KygwS5Rt5Jw1ZjnqsAMkoVZNs47yM+Db5ZK+MlcKBnaxLQBQtsy0NFk2erS0GTVKkgrXAfjoeT0qP87rKyeC1WqOYNW7CFZRXrb/8qFkvzJEGv9ltMQ2Psi2Vj0EqwSroYh5e55ZZqd2IlitAASrAMJBsAoUT8/r51+2y95DZdT55Zqc11dSDAUAANXIzhVzZOOEyyThpBuqdKgKAAAAAEB5I1gFgGpid16WbHzpYok/bojUbt3NtgIAAAAAgHAQrMKzVv4ZnUtYc3cVmJvXROvvA4KloWrddn2kXsd+tgUAAAAAAISLYBVRp+OCRsPLWdE5zso/RRZss3ci9N+N0Rm3Zv62gsJ/J4JVVBwdU7VG7foS1z3VtgAAAAAAgEgQrCKqtDJ0UnZ0AkMNaKNRaTp/224TZEbDK1nROY6+Ji9W0aJqyn0/TfLXL5ZGx11hWwAAAAAAQKQIVhFVWh0arcBw864Yc7xILdhe+Lp2Rv6a9O/SgDYaf5/+bfq6gPK2ZfpLsnXWm5KQco1tAQAAAAAA0UCwiqjSSsxoXHbvAswf8iIPMTWcjUZA644RjWP9sCU6fxtQmh3zP5dN794sCccPkxr1GtlWVEVbN22Sb955W54ZNlTuPOVk+bZtkrnpurZ98847Zh8AAAAAQPQQrCKqNHTUQDTSiZnc46NRHaphbzRCTD2Oitax9G+Lxt8HFGfn6vmy4aVLJOGkG6TWgYfYVlRF37/3P7nz1JNl4u23yezPPpU1S3+XJbE1zU3XtW3i7beafXRfAAAAAEB0EKwiqtzl7ZFWdbrHR3q5vAa00Qp79/xtEQ4r4HstvvVI/52A4uzevlmyX7pY4o++UOq06WFbUdVoBepLt9wsL9x0o+Ru2GBbS6b76L76GKpXAQAAACByBKuIKlfVGelkUXqpvFlGWB3qH1xGGmJGKwz1fzzDAaA8ZL94kdQ+6Aip1/kE24KqRoPRu888Xb6d9F/bItKyQwf52213yIgXXpSnf8owN13/2223m22OPkYfS7gKAAAAr9u2s0C+zMy39wDvIVhF1PhXYrpgNFwuoI30cnn/gDfSsDdaQwH4Pz6Svw0oTvZr10pMjEjDngNtC6qiNx64X3LWrrX3RE4cNFju+fAjOWnwYOl6XD+pGxdnbrp+0uDLfdsK93H0sXoMAAAAwMt+WLlL0n/9UzZu5dwZ3kSwiqjxn7QqkvDRP6BVkUyGtWB70euIJOx1Qwoo3+sL/1j+rynSoQ5QdW3PzLRrwcv96AHZtfJnaZRyjW1BZZOfk1Pmf3sdJ9W/UvUv198g599+h71Xsr8V7qP7OnoMxlwFAACAV2m16leZO836J4t9S8BrCFYRNf4VoZFUYgZeah9JpekKvwDUVZyGI/A1Bd4PRe4uu1KIoQBQkhlt28qSkSODDli3/vC6bJ0+QeJTrrYtkcvZvMWuRc+L73wig257XM68ZpTc/eQrsnlLBL+cVEEarJb2314v33/rwQfsPTFVqGcNv87eK5vuq9Wtjh6LIQEAAAAqv8Ubdslj31Styh0dAsBVqv6womi9KliZu1te/zmCYAGeQbCKqPGvxFThBqKBAWiklabO5l0xdi10gX9LJGGv/9+nATTDAaAkK8aODSpg/XPR15L92tXSqP9QqRnX1LaG78uZv0iPc6+Tpkf/VWK7nCHnXn+fZK4suuw8XJfc/KhcPepJ+fd7U+Tjr2fJA8+9KcmpQ2XB0hV2Dzgl/bf/6bPP9kxUZcZUDaJSNZBWt7oxV/VYP332qVkHAABA5XR4w+3yzIwdJqz7eFHVqOz0VavuPbZq+vyqE0Tq36Zh8e2fbZNf1vpVX6HSIVhF1PhXYqpwqzHd5fGtavuW4QaPGn66ytL4mjHmOOFewh8YGocb9voPKeD+vkiGOkD1UFrAmr9+iWx46RJJOHmk1G5+qG0N3/+++E5OGHSrzFnwu23xtfU8N/iqyOJoperrH04z6yf3PVLGp10nyZ3bybJV6+Smh/9l2rGvwP/2c6ZOsVtEjj0v/HF0jz3vr3ZNCo851a4BAACgMsovKCoi0sCuKlR2arWqhqv+NICsCn+bVhdrqKr0b9wYQeEW9j+CVUSNq8Q8sZHv/1bhBqIueLysaU2zDDd4dCFq53oxe0LMzzeF95rckALnNPb9beEOK+D+Nn1Nneu5Y/Ehuj/NGzBAvoyJ8dytOIEhW0H+Dql1YHtp+dAyiTvzHlNdGulNq1PVmSlHSdb3b8niT1+Sbp0OMcMC3PPMa2ZbOL6a9YtZaqg6+fl75cqBp8r4UcNNm1avFvdaIrlpGLz46a3m3zJnmi/Q1X83vb9wsO9SeP03dP/eegm+mnP88eZ+ZlqauZ+Vnm7u67+7o+vaptuU7qv39bFKj6X39eaCcH1Ova+vQelrcvs4P3bvvtfz+HP/7eM//FDidvq+hLVo184sw9Gi3SF2TWT14sV2DQAAAJXRoi32hLeQBnWVfTzS4qpVnapQtfrJoqK/rXH9GDmqlS/7QOVEsIqo8K/E7FTXtwx3YiYXWjas6Qscw6009Q8xj4rzhRfhh72+x13a1PeWCXdYAReitqods+ffKZKhDhA5F45VJnkZGSa8y37pYtsSfX897ThJaNhAklo1k7uHXmja5ixcapbh2JCz2SzPObmvWaojD2tv1xCM2IQEqVn4373Wbt/lAe2P7GGW4fB/bM66yId5AAAAwP6jFaundKhl71X+yk7/atV6tfb923TIg8pKq1UXbyy63PeU9rXM34jKK2b5qnUFyzMXS58+fWwTqpP4+HiZNWuWvVe6Q+f4fvWa2TXWXFrv7/NNu2VY5i4TYg5vVsOs6z66byg0wOw/3/frzZTOsXLJknwTkL7aLnZPOBosfQ36uvT1qKfX7jbVtM8khfZrkIahqb/5XtPCbrWk19x8E9Dq69OANBS3Ld8l/924Wy47oIYc1SBmz79Zesd9/53c69fnLE3Pnj0lNzfX3kOoXMVgvwJvffHwr2R0ElJSpN2YMRKXnGzub3juPKlRq47EH32RuR8prUrVcVWVVqpqqKq0UvWecf+Rv5zQR9598k7TFiqdqMqMqdq5nTxz11Dp2bWjnHHN3fL5t7OlxQGNZfm0V+2e0bNm/EBp9VT0J+AqT1rhGli1qoGq/rdvM2qU3Dr4Mtm+xfc3jfv5F6ldt55ZD9X2vDwZfqTv/0d1GzSQp2fPMevVWczb88wyO7WTJNSiaqC8Dfh2uaSvzJWCgV1sCwCUTa8SWTZ6tOkTk+zVJQB85/U/XZgvj03fvidQPap1rFxwRFEla2Whgeq907bvCVY1VD218HbvtG17/rb2jWvKsKPrmPXK5pnvd+wJVlvF15CbjvFVXHV+uSbn9ZUUFauIipKqQ0OtEPU/joaWbliBcC6Xd5Wveiy9qXDGffUfUkC5YQVm5IX+K5n7OzRUdf9O7m8GSqKhWo/Zs6Xb1Kl7QlXVeMhrsnPd77J17ke2JTJaoarhqdIhAZ545X8mVH3y1f+ZtuN6Hm6W4fjHkIHSpuWBkjF/ifS98Eapl3y2CVXVfSMuM0vsTQPVpqmp5r97l0mTzH/7hAN9YbdaNHOmXQvd4p9+tGuF/939jgkAAIDKSasee7UqKtiprLPoB1ar9kvy/U2pnYtCYg0mK2PVqlbb7lWt6leJi8qLYBVR4S5nb1jTN1FUuBMz+V8qrxra/4eGc7l8eYS9KpJA1P9YrupXX084Qx2g6ispUHViYutI4yH/lryM92X7km9ta2RevH+kqVTVyatufPh5U6mqlayXpZ4oN1z6F7tX6Bo2qCcfPn+vnHpsT3N/9+4CU6mqz6fHRpHiAlWnRfui4RNWLV5i10K3eknRY/2PCQAAgMpLQ0gds9OpbGOtahDsP7bqcYV/j7tM/vBmNU2Fp/P6z5WvQumrpUV/m1bd6t+Eyo9gFVHhqkO1ElO5YDTUSlM3+74LZsOtNHXP6wt5fSGmCzJDDURdqNvS/pjkwt5Qx5DV16QhqntNyv19of47oeorLVD1F3tAO2ky+FXJ+ewJ+XPNQtsaPq1a1WEAdFzVfr0ONxWsj99ylQlAI9WpbWv54NnRsmnWu7Lkswnm8n9C1b1pqFpcoOp0sxNkqa/fecuuhe7rd962a3rM/nYNAAAAlZkZj7R9URVkZata/SpzZ7HVqo5/hadWrGoFaGWxb7XqvsMBonIiWEVUBFZ1uuVK+6EYrFz7OeMCWv9K01C4oLeT3/CDbj30kLZoSAH/ZajHcVWpLjRW7u8jWEWgsgJVf7U7HCuJF46TTVOekV15WbY1MncPu0i+mPiQGVM1kkrV4jSoV9cMC4B9abBa2n/7I086WeKbNDHrqxYtkjceuN+sh+LNwsfoY5Ue68iTTjLrVZWOORbMzTnooIOK3c4turcPPvjA/HsXt62kGwAAKJuOrepftVpZZtHXAPiHlUXBo3+1qhNYtVpZ/jblX62qf0f7JlSrVhVMXlXN6YlKpJNXaSiokztpm5usyk1mFepkUf3n7zQhrf/EUG6yKJ3gyYWaZXlqzS4zWZVOEnV7S9/zP7Bql7y83jeZ1XXNg3tN+rz6/Mq9Jv+24ibyKok+t76GcxrXkAcP8j2/e53F/TsxeVXF8OrkVeHY/NH9sv3nD6TxWXfZluqtMk5eFYzv3/ufvHDTjfaeyF+uv0HOGn6dvVe6959+Sv735BP2nsgVjz0uR58d3eDca4Lt50qboBHRF2wf59DXAVBMXgUUT7/vzL+sKJTUSlX/S+XvSqm3V9jqRfp69XUrfa039a27T7CqtFL1sW+KLh+9vEcdz19Sr9WqL/24w94r/B7Uu84+wSqTV1VeVKwiYq6i078SM5yqTg1oXeWrC1WVO24ox3KX6XfyTbBnuCrYUC7hd6/H//J9XXcn3aEMK+CGFOhUt+hvC7f6FShOw9PukNjW3WTTtPG2BVWRBqH/N+Ace09MUKpVqGXR6lb/UFWPUdVDVQAAgOqoslWtarWq/2X9OglXcaGq0opV/yC1MlStfrKoaKxbqlWrHoJVRGzzLt8Hnn81qU5ipbS6M9iJmQJn33fCGQ7Ahb3+VUcuGA0t7N13SAEVzrACxQXQkUyqBRQn8aJnRYtvN89807agKjr/9jskoVnRbP6fTZwgd59xmnw24SWZ+9WXsj0vz9x0/bMJvm2fF+7j6GP1GAAAAKia/Mda1dDSy7Po6yRbbmxVDYQDx1YN5D/WqhlCwFa6epG+Nv9/ex3iAFULwSoi5ioxezUwC8NX4elbD7aq0+0XGKy2sr9UBVtp6gtzfev+x3KvJ5QQs6TX5O4He5ySXlO41a9AaRKH/Ed2rPhFts771LagqqnfqJHc88HkvSpXddzUNx98QMZeMUSGH5lsbrr+5oNFY6oqfYw+Vo8BAACAqmmfqtVfi6omvWTxhl17BaPHJdUqsVrV2bdq1Zt/m4bFX2UW/W1Uq1ZNBKuIWHHVoap3nO//XsFOzBQ4+74T6lAAC7b5lvo4/yEF/MNet09ZihtSQIU6rIALTX2vYe9/p3An1QJKUqNuQ2l8+Wuy+Yc3ZUfmTNuKqkaD0csffsSMk+omtHIuWbTE3PzpPrqvPoZQFQAAoOpL7WxPgAvpjPRerFr1Dx41CD6qVXDBo//fpgGmF6tWdTIuqlWrPoJVRKSkSkzlAlIXmJbFBbSBxwn1cnkX5AYGmKpzvdDC3pJC41CHFShpSAEVavUrEIxaLTpLk8tfkezPn5Sd6363raiKdJzU+z7+VAY98JB0P+lkad72ELtFzLq2DXrgQbMPY6oCAABUH1oh6T+Lvv+EVl6g1ar+Y6vq8AVlVas6JoRtXRRUeq1q1Vetytiq1QHBahWWl5Fh18qPC1UDq0OVCwxdqFiWkgJaDTVdsBlMpemC7b6AMvA4ak/1axBhb2mhsTtOsGGvq2wt7jWFM6kWEIw6nU+ShHMelk1Tn5Hd2zbZVlRFWoF6zHnnybBnxsl9nxQNAaHr2nbMeQOpUgUAAKiG/Mcj1epJ/yBzf/tkUVGVqQbA/kFpMPzHkfVa1eqXmflm/FelYbH/fwdULQSrVdjCwYNlzvHHS1Z6um2JPlexWVx1qKs0dZNblcZVkBZ3qbxylZ7BVJrm2n7CBZb+XFswE2qVNKSA8r1O33owYa8LaAOHFFAuNGYoAJSHBsdcIfV6DpScqeNtCwAAAIDqIrBq1Suz6GvAq8MTOOFcJu/VqtXixlb1/2+AqoX/slVczrRpMm/AgHILWEurDnWVpr7Kz9JDw9IulVfu+CsLP6DKUtKQAsqFvS7oLI0Lcd3wAYFc2BpM2FvSkALK/c3BVr8CoYo/6x6pdWB7yf3qX7YFAAAAQHVxwRG2KqiQVlF6oWr1q6VFwWP7xjVDrlZ1UjvvXbWqlaL7m74GfS3KVKv6Vdai6iFYrSbKK2B11aHFVWIqV9X5+abSA8OSLrl3iipNzaJEGuC6fRoWM3yJCzaDCXtdaOz+hkDutZY1rID/ayopgA6l+hUIR8KlL8muHVtl84/v2hYAAAAA1cG+s+gHUWlUjgKrVU/pEF6oqjS49A9lP1m0f6tWA6tVdTIuraxF1UWw6lEagn4ZEyOZaWnmvoahen96YqK5r2a0bWvaXFC6YuxYc1/D05JEO2B1lZitaxf/fyX/iadKU9Ls+86eELOMy+WLqkyLxmUN5I5VVqVpaUMKqGCHFfAPVYsb5kCFUv0a6P3Nm81/93Bu+v+h7ZmZ9kio6hoPeU22/z5Dti2YYlsA7C9V/QoFrsAAAMBb/Mf41KrV/TkeaWC1aqSTOgVWrX68H8PVwGrV45KoVq3qCFYRNv9KzJIu4W9o/x9W1sRMpV0qr1z1aVmVpqVVhjou7C0rxCxtSAEV7LAC7nlKClWVe45gJtWKJg1VCVarjxpxTaXJkNckd/rL8ufy8p/cDqiKyvoxLViTNkbnONrHhPOjXHE+3+Tr9yKl/0ZcgQEAgLfsW7W6f8LHaFarOoFVq1ox6iaOqkiB1ao6bizVqlUfwarHaBXpkpEjpdUNN0i/ggJJshWrTVNTzf2+2dnmvuq9dKlp022q9YgR5n63qVPN/eIkpKRIl0mTzD7uceHyDzHLqg4trdLUF5b61ksKMf0vly8tyHTBZHHDADjBhL3+oXFJx3J/c1lhb1lDCihX/RpOhc9ZDRua/+6h3vT/C6h+arXuJo0HTZCcz5+U/I3LbSuAYM3Ii0746PqGSGn/E63JD7/IjdZrKvvHSwAAEJx1OdvNLRpSOxedlGoIuD+qVv0v1degN9JqVSewavWHlRX/twVWq/YLY0IuVD4Eqx6Tl5FhLunXS/ajKZqBqhNMJab/UAAlhYalzb7vz00iVdrJmqsyLenyfRVM2Oueo7TQWLljlfaayhpSQLl/Jyp8UBHqHn6mxJ9xp2ya+ozs3rHVtgIoi37Wf5Fr70RIA9poVL9qiBnOj3LFiVZorP9OFX0FBgAAVdWW7Tvlqie/lRc/XRRxwLq/Z9HXatWVuUXfN7SiM1rMJFF+wx1UdNWqPldgtaq+JlR9BKseE5ecbILPuklJtiUy5RGoOsFUYmoo6YLJkipNXShZWqiq3PirpZ2suecoqfJVBRP2BnMcFcxwAGUNKeBPX080TrSBsjRIGS51upwmudPG2xYAZYlWdageR/uN0vqOYGmfWNZwO8HQvtj3miL/+/T7gev7AABAdLz//fKoBKz+M9RXZNWqPld5Vas6/hWi5vkWV1xw/FXmTqpVqymCVY/R8FOD0OaDBtmW8B06YUK5BKqOq2wprRJTufFXSzoZdQFtWcFjUXVo8SdrLqD1DRtQ8rGCCXuDGVJAuWEFSgp73YmqKus1ub8vGifaQDAanfOw1GjUXHK/mWhbAJRGP59L+1EuWO5z3vVbkdA+MVphr4pG1ar+XZt3ldznAQCA8EUasO6vqtUfVpZftaoTWLWqoXFFVK2aycAK/z6HatXqhWDVY/JzcsxkQrqMlFa/lid30hRsIFrSiWgwl8orVx1a0smaC1xLq6B1ygp73bHKek3ubyvpOO5Etax/I+X+vmicaAPBSrz8Ndm1eb3kzf6fbQFQEvcjWqTDtrjP+dKuwAhWtMPeaPy4515TNKpfAQDYXx586xdJvWfKfr+NfH6mfUV78w9YQxU4HqmODVqe9Dm0otMpj2pVRytF/SeMqoiqVX0OqlWrL4JVj9HxVWe0bWuWXqYnhXrSVFZ1qHLhZEmXKroQs6zw0VWalnSyFmzQq8oKe92JZVnH8h9WoDjBHkeVVf0KlJfEIf+WbQunybbfvrYtAIrj+qtIfwBzV2pEWmnq/zoiDUT3hMYRDivgvh+4dQAAKqsZC9bbNe9qUDc2rKpVDf/8q1b9L9EvD1rN6V856l9VGm2matVvuIPyrlrVY+vYsU4k1apfxsR49qYTraN4BKsIiws2g6kOdcFrcSeQehx3MljWZffKPd/nm/Y9ljsp7NXALErlxmst7gTSnQgGExq7sFcVdwLpXlPLIPoNF75G45JOIBQ1E1pJ48tfldyp4+TPlXNtK4BArr9aaSsSwuWu1IiUC3pV5CGt71iRHsf/h0+CVQBAVZB+d//9ehtzVS/7SopooNq70wFy36Xd5ba/Hm5bQxNYtfpxOYWrgdWqGui2ii/fKEorYiuqatW/WlWfs6pWq274H1c4loRg1WOS0tKkb3a2tB4xwrZ4UyiVmC4M1QqWwMpOd9Klx3EBZWlKqxB1J4XBHKd1bd//9Ys7gXTHCSY0VqUNK+COFcy/U1nVr0B5qp10lCRe9qLkTHla8jettq0AHP+QMNLqUNc36Od9JOGj/+uItO9wx9LjRHIs/9cUjUm1AABAkcBAtW3zhnZL6AKrVstrFn0dZsAdV5+zPMZWDVRRVauLN+zaa/Kv45JqhV2tqvoVFHjupnP3oHQEqx4Um5Bgbl7mKjE71S37Q8NX+elbDxyXLpSAVrnL5QNP1vQkMJRjuTC0uBNIN6SACzrL4p6vuBPRUF5TWdWvQHmrd+R50rD/DbJp6jgpyPdLRwDsCUNVJFWd+vnuHz5Gciz/vjCSEDOwz/F/faHyH84m0upXAADgE81A1V9g1eoPK6M71qqvWrXomEe1qlnu1aqOhsb+Vavp86N/fuP/t5lJwQr/PlQ/BKseo+NWzBswQNZM9PYs3aFWdbpL6gNP3twJWDDDACgXUAaerLmTQH09ZV2+r0oLe4tCY7MoUyv7i1TgSa37W33PVfZrUu41cTKK/SXupBulTvvjZNO0Z20LAOU/cWJxP8oFK3CM8HCPo6IX9hYdR0XrWJH8bQAAwOfAhHpRD1QdU9npN95ptKtWtVrVXSbvq1YNYoy8KPKvWtVxUFfm7v2dJxJareo/tqo+VyTVqqi8CFY9Ji8jw4Sr2zMzbYv3bC787AilElPtCUT9KlmUOwEra/Z9x/9yef8TNncSGGyAqUoKe91rctWjZSkp7HXHcdWxwWA4AHhBo7+OEakbJ7nf/du2wOu0z9Af5NzN8W/zcr9SGQT2X4E/ygUrsBo03EpT7Sf8jxXYL4Yi8DWFe5zA16QC+1gAABAarVaNdqDqz39MUA1BozUeaWC1qg4B4F9BWhECq1ajOUnXJ4uK/jatwtVxXVE9Eax6TEJKirQZNcosvcqdNAVbHapccBpYqeOOFWxA63+5vP/Jm5thOdjjqOLCXv+TwmCPVdKwAqEeR5VU/QpUtMaX/0d2ZmXK1p8n2xZ4mQ4fs2z0aFk4eLC5Oe7+kpEjPT/EjNcF/ugWbmDo+pxIr1Bwwa6vL/athxv2uj7H/bgXbh/k+j39N3LHiqT6FQAAlL/AqtVojUcaWK26vyZ1Su1svygVilbVqh5n8caialUNjalWrb4IVj1GA1WdwMrLwao7mQylOtSdYPmHoeFcKq+KmyzKzbAc7OX7yoW9xYWhoYTGvtfvW/c/qXUnpqG8pkhPtIFoiYmtLY2H/Fvyfv5Ati/51rbCqzQ0bXbZZfbevlrdcAPBagT8f3Q7sZGvbwisYA2WC2iHN/N9BQv8US5Y/n2x66/CDXvda9rzg2OYfZD/lRruWOH8bQAAoGJp6LlXZWeEVasazAZWq+6v4FErSf3/ttd/9gslwvTV0qK/rX3jmntNAobqh2DVYyrDUADhVIe6Ch/fyanv8e4EzIWJwSruZM0dy832H4w9lTl+Yag7mQwl6FXFndS61+T+9mD4DwXAySj2t9imh0iTy1+VnM+ekD/XLLCt8KrWI0ZI3aQke6+IBqq6DeHz/9HthHjf53TgFRjBcsfqHVdjT//g/6NjsPz74j2BaBhhr69f9q0PSIws7HXH0dfDFRgAAFQepmo1irPo6yRYXqhWdfyrVrVi1X9s1FAFVque0oFQtbojWPWYyjB51Qp7MhlKJaZyJ34ufHQTgbj2YLlKU3eypie3/ie9ofKdVPpeUzihsXL7u8f7n6iGcqySql+B/aV2+2Ml8aJnZdOUZ2RXXpZthReVVLVKtWrkin4ILLrEPZwwNPBKjeKuwAiW/5UaxV2BESz//lP7q0j6IP8rNdxxuAIDAIDKIbCyM9yqVS9Vqzr6t+k4qE4kY60GVqu2b8LYqtUdwarH6Mmv10+A3clWKJWYyp2MuhNLV1nTq4FZBM1Vh7qTtb0qZEKoNNXX70JPd4xwhhRQ7qTWhc7u30hPLEN5TcrtH84JMlAe6ve+SBr0vUI2TR1feI//X3pZYNUq1arR4QJD7TNc3+f/o1ywAq/UcH1QOJ/3/ldquOOEE4YGXqnhluEMK+B/pQZXYAAAULlEq2r1q8ydnqpWdVI7F/1t4VatUq2K4hCseoyeAPfNzjbjrHqVO0FyJ3LBamj/3+ZOUMO5VF65E1J3suZO/kINMFVg2Ot/ohqKwJPaSF5TqP+uQEVoeNptUvugZMkx4Sq8KrBqlWrV6HA/vrkf3dzndKjhY+CVGoFXYAQr8EqNhrZQQvvEUMPewCs19vRntj1Yvuf2resxtG93/Xs4gS8AAKh4gbPop8+3nXuQNIj9YWVR8OilSZ20stS/ajXUv035V6tqFSzVqlAEqwiLnjSFGhq6kzWtjgk8AQuFnqi5cFVP1tzJn2sLhQt7tXrW/0TVXZ4ZrMCT2nCHFFDuRBvwmkYXaqhaQzb/8IavAZ7kqlapVo2ewB8CA3+UC5a7UqNTXd/j3fFCvVzev//Uvti/X3TbghV4pUbgFRjBKu5KDdeXhvrvBAAA9h//qlWt0AxlFn0dPsBVq2pA65VqVeeCI4pCAxMCrygKSssSWK2qoTGgCFY9ZsXYsTKjbVuz9LJIqkP9Q1X/E7BQuMfoydqMPN8HfTiBpH/Y63+i6k52gxV4UhvukAIqnDAWqCiJQ16TP1fNk23zPrUt8BpXtUq1anT4/+jmPp8Dr8AIlgtoXX/hgkftF/UWrOKuijixke9FhRpiBl6p4f7GUKtMi3tN7lgr7QkWAADwvsCq1WDHI9UA1j+oPC6plmeqVR2tWNVKUyfYcWQ1LPb/d6BaFf4IVj0mPydHtmdmmqWXuZPCUGj46ALLV7LcyWV4H7TuZE2rf8KdBEv5h73FnRSGwv+k1p2o6qzPoXLVr4AX1ajbUBoP+Y/k/fiO7Fj6g22FF8z44H157rrhcssxfWXs22+am64/N+xasw3hKe6HwD19UAiVpv4/KrrH+/8oF0qQWdyVGv5XYAQrcEgBFe6wAsVdqeF+8HTPAQAAKgf/WfSDrVr1n7BKg9mjWnnzxNb/bwu2ajXw34BqVfgjWPWYpqmp0mXSJGk+aJBt8aZwL1d31Tn/3ej7UAonDFXu+T/ftNuc/PlOTkM/ln/YOynbhb1mETJ3UqvHcSeR4YSk/ifagBfFNjtUEi+bKDmfPyU71y+xrdhfMuf+Ig8OSJXPHnlIavwyR/rGx8mZ7duZm67XmDfXbNN9dF+Exv3o1rle0Vcm/x/lglVcQKvceiiVpu4yff++2PWn7oe9YPgHve51+PdBoQSixV2p4Y4Z6lAHAABg/9KKTP+q1dd/Lv1LweINu/YKKHU4Aa9Vqzr6d/lXrabPL71q1VSr+lW2Uq2KQASrHhOXnGzCVf9Znb0o3EA08HHhXCqv3EmtE0kQ6R7rTmrDDY2LTmp9x9H7LrQNVTiVrkBFqtP5RGl07sOyaco42b1tk21FRXtv7Bh56K8Dpfn2rXJskybSMTFRGtWpI7Vq1DA3Xdc23dZs2xaz7/tj/mkfjWAUVx3q/6NcsIFo0TAAe/cLru8ItdJU+feprl90V3EEw732fV+Trw8KJewNHFJAuX8zDaBDCaEBAMD+51/ZWdYs+p8s2rta1T+49CL/v02D09KqVnUyLq1sdU7pUDQGLaBIbzwmZ9o0M75qXkaGbfGmwJOwYLUK+NUq1Nn3ncDAMjCwDUVgSBvusfYNe8N/TS35rEYl0OCYK6Rej4GSM3WcbUFFmvzsePnspRfkzLZJckjdsn+lalevntn308LHfDjuGduKsrhKzMAf3VxoGGw1phuPNbCPcccNNnjUsLOo+rXoWC7s1eMEewl/SZM/uh89gw17/YcU8J/8UV+PO3aoY7YCAID9S8NR/1n0SxprVatV/Sd18nK1qmOGKmhddDl/SVWrGrp+lVm0TR/j/28CKP4f4TEarC4ZOVKy0tNti/dEEmIGPjbwZC4U/sdyMyyHwz/s9Z0Ehncsd1LrROtvA7ws/ux7pNaBHSX3q3/ZFlQEvaT/vSefkFMOOkga1g7+w0b3PeXgg+X9p59iWIAguUrMfQLREIcD2BM8BmTg7rjBBo/FVas6rt/5fFNwr6m4IQWUO3awwwr4Dyng3w+qcKpfAQCAN6R2Lqr4Kalq1b9atX3jmnsFll7m/7eVVLX6ZWb+nmpVDYsZWxXFIVj1GB0CICElxdNDARR3Mhcs/0oWPU4kVZ3+FaKRhJj+j43kOMr/8eEOKaACq18BL0u49EXZtWOr5M1617aU7MV3PpFBtz0uZ14zSu5+8hXZvIUyNn86eWEw/nPbbdK7zcEhhaqOPuaog1rLa7fealsqr/K+usO/EjNwzGz3o5yrRC2LCykDg8dQJ4vyDzEDhR72+vYLPJY7TrDDCpQ0pIAKtfoVAAB4h44l6l+hmT7ffhGxNGj1r1Y9rm3lCR41KC2tatVXrVoUtupkXFSrojj8v8JjdNKqblOnenryqkguU/dVhPrWIwlVlZssSkUS9vqHmJEcR0XrWIHVr4DXNR7yH9m+9AfZOn+KbdnXJTc/KlePelL+/d4U+fjrWfLAc29KcupQWbB0hd0DerXC9MREWTNxom3Zl87wv3tTdlCX/5ekXf36UpCbY45VmekVHnOOP77crvJwgaF+ngd+Jru+LJihAPwD2sC+wb9fdPuUxgWUxfXFrl8MJuwtaUgB5fqgYMPekoYUUO7vDeY4AADAey44oqiDD5xF/6ule1eren1s1UCBVasf+w13oNWq2qZ81aoRBCGo0ghWPSY/J8fcvCzS8NGdwBV3AhYK9zp8J6XhvyZ3AqkiGVJAuZPaSF+T0n8f97oAr6sR10QaD3lN8r57VXYs+8m2FtFK1dc/nGbWT+57pIxPu06SO7eTZavWyU0PM4yAP+0DFg4eXGLA+tP770nz2Mi/2Okxfnq/cgerSofQmTdgQLkErMFWh5ZVIVoUYBb1gf5ObOTrPIK5XL6koQmUaws27FUl9emujw7mNZU0pIBy/07BhMYAAMB7tErTPzB1M+QHVque0qHyXSYfWLXqKlQDq1V1CAAdlxUoDsGqx+jEVXoynZmWZlu8Y3izGuYEqaSTsGC5x0dyqbxyJ2v+wwuEyx0jWmFvpMdRr7SrKTO7MoYLKo9arY+QxMtelE1Tnpb8DX/YVp+vZvnG89RQdfLz98qVA0+V8aOGmzatXi0oKDu8qW5KClgz5/0qB9atY++FT4+ROW+evVf5lUfA6qpDA4cBUP4/ypUVGhZVvhb/tcv9KBfM5fLRDntL6tPdsYIJVt34sMUdy/0bBVv9CgAAvMd/Fn1XtepfrarBqw4bUBkVV7UaWK16VCvOy1EyglUE7brmNeXVdrHFVtuEwgWqJZ3MBcud1EZ6HOWOEemx3IloNF6TOxkFKpO6h58pDc+4SzZNGye7/9xqW0U25Gw2y3NO7muW6sjD2ts1kVpdz5TYLmdE7fZN4W3x01tN2Kb0kvEvY2JMUKl0LFO9rzd3lYAGcnrf/bCl4Zzen9G2rbmvdF3bXHCn++p9fazSY+l9vbnxUvU59b6+BqWvye3j/Ni9u7m/9uWXbUuRwIB186YcqV8r8opVPcbp07/d81oq48399/UXzYDVVYeW9EOg+1GurArR0i6VV67PKOs4LuTU/qG4vtj1i6qssLe00FgFO6yAviYX4pb0/cD9fcGEtKVJvWdKhdyuevJbWZcT5OC5AABUA1qt6V+1+vrPf+49tmolntRJg9N+fq9fK1WpVkUoCFY9pvWIEdJj9mxPj7EaKQ0fSzopDJWe1AbOsBwOPWku6RLNULiT2kiHFAAqs7iUYVK36xmSM+UZ26IhajuzfPaNyTJjzgLZtWu3nHHN3aYNwdOQtfbu3cInTHCCnQysJG7yppJ+LHPtK21FQ0ly7XlHSQGt+1GuLC7oLe2qiGDD3rJC42DD3rKGFFDu76sswwFoqLp0je/HIAAA4ONfteqvMlerOqd02Ltq1b9a1T90BYoTs3zVuoLlmYulT58+tgnVSXx8vMyaNcveqxha2XLpkl2S3jHyD6gHVu0yJ4VufLpw6Ynhrct3mYrcSF2yJF8ua1oj4tcUrJ49e0pubq69Fzyt5tLKLp0sLSElxbZWP1r1pvpxKXrUZb90sUj+Dok/ZrCZ/V8nqtIxVVWNGjGye7fv3/zF+0fKZaknmvVoWjN+oLR6aou9VznocDCustWJTUiQNqNGmR/cdP3WY/pK30ZxEl87suEANu3YIdNz8+Thb6bblsrHfY7508+zJn/5y55/r2D7uUPn+MYL0yFY9Acyra5M/S3frJc0LMvnm3bLsMxd5vP+maSSTyj6z99pQsUpnUu+6qPX3HzTP5a2z1NrdsnTa3fLZQfUkNtbFv982i++vH63Gb5HrzQpift7S3o+fS36mpT7NymOPpc+5zmNa8iDBxX/fO51+/876b+b/vst7BZc9XW4fV2oHnzrF5mxYL3c9tfDpXenA2wrAK/QK0WWjR5t+sUkDw6dhqpFr2JQ6Xf3N0sv0+878y8rqiAtL6///Odek1epYb3rVPpgVekQAJ/4TV6lNHA91S90LU+dX65ZId91QqVXzOnVc/rd+tAJE2wr/FGx6jF62aL+nzZa48N5kZ6cnRBf/AlaqFrVis5QAHopZDSOo/Q40ToWUJklXv5v2ZW3QbZk/E8aNqgnHz5/r5x6bE+zTUPVFgc0LrdQtSrQULDdmDHSe+lSczWD3ldtDjtM1m3bYdYjsX77Dkk6rLO9V/lpoKr/Xl0mTdrr3ytcwVSHukCytKpO/eHOVWqWdNm9cs/z+aaSj+Uuyy/tSg23rbRL+MsaUkDpNhemllZp6oYUaFnKOYfrE8uqfgUAAN7mPx6pqgrVqo5Wpvpf8k+1KoJFsOoxeRkZ5hcBXVZlWtkSDQMaR2dIAT15PDE+Sq8psUZUXhNQFWi4unX+NNm28Evp1La1fPDsaNk0611Z8tkEWT7tVULVYpQUqDpHnn22rM7f+9f0cOgxjjz7L/Ze5RXtQNUpaxgA5cJQre5044wGciGmHscFlcVxl8uXdBzlwt7SjtO6tq8vKy3EDCY0VsEMK+COVdq/UzB/GwAA8L7AWfQr89iqgfRv6+U3SZX+bdoGlIVg1WP0BFFPDOOSk21L1RSt4LG0k8tQBTvGXVmoVgWK1ExoKY2H/Ftyv3pO/lzxi2lrUK+utGl5oFnH3vQSm5ICVaf3mWdJTHyCLNlmp2IPw+K8PHMMPVZlppeCRjtQdVwlZmljZmsf5MJJNzN+IFftWVbfUNZkURpKBnMsF4aWFva60Lisfs89T2mBaDCvSf+dXH8d6QRWAABg/3JVq1WpWtVxVat6o1oVwSJY9RhXedM0NdW2AEDlVjuplyRe8oJkf/G05Oessq0ojoaDwQSEFz30kPzwx3LZ/Gcp12iXQB8zc+Uqc4zKTvvMaAeqTrBVne6HwpICw7Jm33dcMFlSdagLMPX1lPbjZDBhb1FobBYl0uF2VElhbzBDCjjuNTEcAAAAlZu7RN5/wqeqQv+2U9rXMpWrVKsiWASrHqMzGOswADrzMwBUFfWOPE8anjRCNk0dLwX5oYeB2FtS18PlrOHXySd//BFSuKr7flr4mLOGDTfHQPGCrQ5VewJRG1YGcgFtSbPvO/6XyxdXIeoCyWCu+Cgr7A1mSAFVVhgabPisGA4AAICqI/Ww2tIqSkPpeY0OdVBRE1ahaiBY9RgdX/XH7t3NzNAAUJU0PPFGqdOxnwlXEbkzhg6TEwcNlg+WZppL+8uyKHez2feESwfJGcOG21YUx4WqwVRiusBUJ6kqTjBjtSp9Lhd0uuf3t2C77/hlHUe5fdxj/IUSGpcV9rrjBDOUTlnVrwAAAEBlRLAKAKgwjQb+U2LqNZLc7/5tWxCJv9z4D7n1rbdlbYOG8tW6dfJbdrZs2rFDdu7ebW66rm1frVsv6xrGm33/8o+b7aNREleJ6cYrLY0LFYsLQ7ViVAPJYAJaVdpkUbm7fMuyLt9XLuxdUUzY615nWUMKKN/r9q0XN6yAC0mDeU0MBQAAAICqiGDVY5LS0qRfQYFZAkBVlDjkNcnPWiZbfv7QtiASekn/7en/k5Nvu0N2deos3+bmyX+X/G5uur6r02GF2243+3D5f3BcYBhMdairMvVVgu4dGoZyqbxyz1dcdag7lpv1vzR7KlaLCUNDGVJAlTasQLBDCqiyql8BAACAyohgFQBQoWJq1pLGV7wmW3/5SLb99o1tRaR0hv9rnn1eHvpmuoyb+6u56fo1zz5X6Wf/r2iuqjOYSkzlgszAqtVghwFwXKVp4OXyGtj6V5qWxU2UVVzYG8qQAmrP37Zz7+P4ju1bD+ZYGr66ADbw3wkAAACorAhWPUbHVtUxVnWsVQCoqmo2SZLGg1+RTV88IX+unm9bAW8IpRJTuWrMwKrOotn3gzuOe77Ay+X9A8xgKk31OC6ADQwxQxlSQBWNIWsWe7j7+jzBVr+WNtQBAAAAUBnFrFi1ruCPzMXSp08f24T9KTMtTZaNHi1tRo2qkOEA4uPj7Roqs9zcXLsWvDnHHy8506ZJt6lTJSElxbZWP1/G+AIBHYIDFW/rjNck9727pfHZd0vNhgfY1uhYM36gtHpqi72H6kr7uVmzZtl7JTt0zk6znNI5VvrPz9+zHkxo+NSaXfL02t1yYqMa8kySLRct1H/+ThNAaptuK4tWgfaa63vumV1j9wStL6/fLQ+s2rXP8Utz2/Jd8t+Nu+X2ljXlsgOKntu9plfbxQY16ZRWvOq/h74WfU2Oe016DD1WMHR/fZy+Hn0Nn2/aLQu7BTfrbs+ePcPq60L14Fu/yIwF6+W2vx4uvTtF9zMJQOQq+lwJ1VvqPVPMMv3u/mbpZfp9Z/5l9tdTVEqdX65ZId91QqVFfwsHD5bmgwbJoRMm2Fb4o2LVY5qmpkq7MWMqLOjSNy63yn8DKqv6vS+S+scMkU1Tx4sQbsMDXNVpKJWY7lJ4/0rMUC+VV/6Vpv7jo7rL94MZBsBpafNKVzWrQh1SQJU0rECoQwqokqpfAQAAgMqKYNVj4pKTpfWIEdW6ghBA9RJ/2u1Sq00PydFwFdjPioLVEAJDv4mZHBce+sLS4I/l9vUfVsDN7u+CyWC4wNMNa6D8g95gX1NJwwqEOqSAcs/JUAAAAACoKghWPSYvI8OUWusSAKqLhAueKeyRakrujNdtC7B/uImjQqnE1PBRb8oFoi7QdOOKBss9b2ClqQqpOtSGvW4CLRVOaKw61/N9XfQPe93f17p28F8lXUCrAbR/CA0AAABUVoXfhvli6yVZ6elm/ApdAkB1kjjkNdm5eoFsm/eJbQEqngv8QqkOVS40dNWY4QS0yj2vex0aZhZdvh/8sVzYq8dxwWw4QwooV5Xqwt5whhRQ/tWv/kMdAAAAAJUVFaseUzcpyQwHEJuQYFsAoHqoUSdOGg95TfJmvSvbl86wrUDFcoFfyIFowHAALngM5VJ55Z7XvY5wqlUdF2LOyPNVl4YzpIByz+2qVMMZUsBx+1OxCgAAgKqAYNVjdKa1HrNnm3FWq7oNGzbIc889J7169ZKYmBhza9++vQwdOlQmT55s9tFt5cU9p7sB2P9im3WUxEEvy6YvnpKd6xbbVqDiuMDPTdoUrIb2G5WrVHUhpBsiIFiBk0X5h5ihcmGvO0a4IW3gsALhDimgwvk7AAAAAK+KWbFqbcEfmUukT58+tgkof2+88YYJULOzs6Vnz54yevRoOf300802DVVHjRols2bNMvcLymmm8Dlz5khycrK9V37P41Vzjj9ecqZNk25Tp1brydK+tKF6P2ak95Qt01+SvE8elcZn3yU16odXwb9m/EBp9dQWew/VVXx8/J7+pDSHztlp13zhX3rHWHsvOJ9v2i3DMneZIPWLzjWl19x80z6lc2zIAWT/+TtNGPpqu1h5OWu3OfZlB9SQ21uGlvY+tWaXPL12t5zYqIYMb1ZDUn/zvaaF3WqZZSjcv4/+PXrM/24M7zW5fycn2Nei3xVyc3PtvfLz4Fu/yIwF6+W2vx4uvTsdYFsBeEVmWposKzxvaFN4rpBUuA6Up9R7pphl+t39zdLL9PsOKr+K+K4TKp0DSIer1CLAQydMsK3wR8Wqx+iXhemJibJi7FjbUvVoqHrBBReYUPWUU06RmTNn7glVla5//PHH5iSqPHXr1s2uAfCaBn0vl/pHnS85U8bZFqDihFOJ6T8UgBtnVS/FD+dYveN8X8+0MtRVvoZ6+b5y1aH6eiIZUkC5x+lrCndIAeX+nQAAQPRoIMet8t9QORGselB+To65VUW///67CVWdceOKD02aNGkib775pr0HoDpqeOYoqdWik2z68nnbAlSMUCd3Um6yKPVFrgsxw/ua1dIWcepkUdEYCkDDXnf5frjBqjuWbzKt8I8V6tAIAAAAgJcRrHqMllfrpdm6rIoee+wxuyamWvWQQw6x9/al2wKrVvXy/fPPP3/PuKinnnqqfPPNN3ZrER2/VYcaaNy4sdlPx27VStlg6ePvuOOOPY/X59Q2R5/XvQa96WvQ16bPo4/RABlA5BIueUF279whebPesS1A+QunElN1qudb6mXyKpyAVrnAUi+bVxpGhlP56h/2Tsr2HSvUsWMdN4asHseFveG8JhVuuAsAAAB4DcGqx9RNSjLjXeqyKho/frxdE+nfv+yxanSYAEfDyuOPP95UsmZkZEhWVpYsXrxYjj322H1CUw0+9bkefPBBM3aqBrRaKathazD08Q888IB5/JIlS8xzapsTOFTBvHnzpGHDhmZdhzh45x1CICBamlzxH9meOUu2zveNcwWUt3CDv8DHhRvQBl4uH25Aq1zY68LQcF+T+9siqaB1GA4AAAAAVQXBqsdkpafLkpEjzaRCVU1xlaWhuP322/dMdqXjo+pwAVdddZXZpoGpqyh97rnn9kxUct5555nl8OHDzVLD1rJexyOPPLLn8VdffbWpnNXqWm3zD3D1+Z1NmzaZ/Z588klJTEzc87wAIhdTP1EaD3lN8r57RXYs+8m2AuUj3OpQFRhahhs++leaqkhCzMDHhnuswDA0ktfkql8BAACAyo6vth6Tl5FhJq6qisFqJDQ0dWOu+geajgauM2bMMOsvvPCCWari9v3oo4/sWvHefvttu7av9PR0u7a3rl27mqVOvLVx48ZShzgAELparQ6XhEsnSM4XT0r+xmW2FYi+SKpDAwPZcC+7V/6vo1Pd8EPMVrWKHhtJaBwY9kbyt0USygIAgP3Lf0i8wJsWMRXX7m5axFReNDPQIiugohGsekxccrI0TU2tkkMBtGzZ0q6Fbv78+XatZHPnzjVLV21akh9//NGuFc//8a4D+OSTT8z9nBImFYuPj7drAMpLvSPOkEZnjZacKc9IwY4tthWIrkhCP/8wVI/jH0SGyr9CNJKw1//vieQ4yg0roMIdUkAxFAAAAJWXDrX34Ycf2ns+r7/+umk/5phjzFKH0/N37bXXmvabb77ZtkTfsGHDzJWkQEUjWPUYDVW7TJpUJSev0irOdu3a2XsiU6Z4f7xE/fD3v+nYqgD2nwb9rpV6h58l2VOesS1AdEVSHeqrCPWth1sZ6vhfLh9J2OsfhkZaKer/+EiOFVj9CgAAKpfAwqLWrVvbNZ/AKziTyrlwTCtV3RWuQEUjWPWY/Jwc2Z6ZaZZV0X333WfXxFSB+s+0Xxy3vXPnzmZZGnc5vv+kUsXp0aOHXSuef/jL7P6A98QPeFBiGx8kuV+/ZFuA6Im0qtMFqpEexwWXepxIQlr/sDeS0Fi5YQV8x4zwWIWvKdKgFwAAQOdBueaaa+w9oOIRrHqMjq86o21bs6yKzj//fDMRlHPXXXfZtX3pB+SLL75o1nWsVPc4/zDWlfrrhFG9e/c26wMHDjRL5fbNzc01S3XaaafZteKdfPLJdk32mt2fMVsA70gc/Krs2rpR8n4qftxjIFTDm9Uwl6hHq6ozkkvllbtcPtIAU0Ur7HWPj/Q4Kr1jrLkBAIDqScdj7dWrlxl6r3379ntNFO1o26mnnrpniD7df/LkyXarb+LpCy64wN4TueWWW8x++hhHi6U0h9D2xo0byx133GG3+Lhju5vS59V99fmAshCsosK99tprZowVpbP064fcnDlzzH2lH7Da9tVXX8mQIUNsq8jDDz9sAlQdA1X316DTlfuPGzduz0RV+hhXteqC0VdeecUs9Xl13Bfl/5zKhbA33XSTeR710EMPmdej9Fj+s/37B7z+wS2AitF4yH9k++JvZOtCJvtD5K5rXlNebRcbcZDpAtVIA1p3uXw0qjrdMSI9lgt7o/GaAABA9aXh6LHHHmsmoc7KyjLFTRqQ+oemGoBq26BBg8ywfH/7299MFnDGGWfsubJUx2zVnMDRdf8h/HQ/zQY0N8jIyDC5wQMPPLBXuKrP70/P//WKWX1t+nwuDwBKQrDqMUlpadK38A3cesQI21L1aACqH2hff/21CTr1wyo5OXnPL0hPP/20DB8+fK+wVHXr1k2mTp1qPlB1/6ZNm5oAVAfO1iDW0cfoB6ke+7bbbjPH1efQD1k9pqPH8HfRRReZpY4H455HP0z1A1+Pr6Gqez36C5ge09EP9/Kc4RDAvmrEN5fEwa/I5i//JX+u+MW2AvuXho/RuFRe6fioneraOxHQsFerTCN9TS7s7dXANgAAABTSc2b/qk+9lUQLlC6++GKzftVVV5lz7AsvvNDcv/76681SaQCq0tN9V6gdeeSRZqn8rywtzdChQ805vV79qnmCyw302C6c9c8cHN339ttvN6GsK8wCSkKw6kGxCQnmVtXpB5QGnYsXL94zOdTGjRtN2X1JH176Aafb3f4zZ86U008/3W4toh+Oemw9nu6nzxE4A6E7hrv5T0wV+Dy67v+Bq/v6P1Zv5TnDIYDi1W7TUxIve1Fypjwl+TmrbCuwf0XjUnmllaEaZEZKjxONoFdp2BuN1wQAAKoOLZoKPD8uyYwZM0zYWZwlS5bsubLUXeXqPwdKKDTA1XldSvLZZ5/Ztb25+V3uv/9+kzcAZSFY9Zis9HSZN2CArJk40bYAAEpTr/s50vDEGyV36jgpyN9hW4H9Q0PHAYnR+Xql1arRuOy+Yc3oXb6vx4nWsQAAQPUzd+5cu1Y0JqpWvDqbN282Sy2U0oBWh/rTylMdpi8U8+fPt2u+ibMDK2ndfC2BiqtgBUpDsOoxeRkZJlzdnplpWwAAZYk7caTU7pgim6aMty3A/jOgcXSCxxMb1YhKpamGvSfGR+crn4bG0ap+BQAA1ZsbE9X/5n/1qg635ypWb731VrMMhw4FEPg8XHGKaCFY9ZiElBRpM2qUWQIAgtdo4D8lpkGibP7u37YF2D+idal8NC+5dxNPRYpqVQAAEImDDz7YrolkllJQplWqWtGq86rce++9tnVfXbt2tWt7a9mypV0TMzQgUF4IVj1GA1WdwIpgFQBClzjkNdmZvUK2ZLxnWwAAAAB4xVFHHWXXxMxlomOhOnpfJ5XScVbHj/ddiab76+X5JYWw8fHxdm1vOim1q3bVsVv9Z/fX40+ePNneAyJDsOoxDAUAAOGLqRErjS9/Vbb+Wvxg9AAAAAAik5uba9d8VqxYYdd83Iz7jn8oqoGnzrivdBKru+66y4SrGnZqSKrb/Wm1qW5LSkqyLXuPj9qwYUO7JvLTTz+ZfZ977jlz/8knnzRLNXLkSPO69Lm+//77PZNg+we7KvA+UBaCVY9h8ioAiEzNxm2k8eBX7D0AAAAA0aITQJ1xxhn2ns8FF1xg2rUqVJeBM/lr9am265ipSmfc1/FVdT/d1rt3bzPZlAs7u3XrJtdee61Zb9++vVnqJFY6Vqr69NNPTYCqdN/XX3/dDBnw5ptvyltvvSVXX3212abH+/DDD6Vnz54ya9Yss/znP/+5Z7tq2rSpXfPR+/7VrUBZCFY9JjYhwdwAAOGr3a6vtHpqi70HAAAAIBoCJ4Hyv+nEU8W1u5v/hFG6rtWo2q7L888/327xGTdunNn28ccfm/BUhwPQdW2bOXOmaXP0sRs3bjTbNLT1p+Gq7q/bdJ/A7doeePOfQAsoC8Gqx7QeMUL6ZmebcVYBAAAAAAAAeBPBKgAAAAAAAACEKGbFqrUFf2QukT59+tgm7E8rxo6VlU88Ia1uuMFUrwLlZc7xx0vOtGnSbepUSUhJsa3Vz5cxMWbZr6DALAFULSXNFIvKJ3CijPLw4Fu/yIwF6+W2vx4uvTsdYFsBeEVmWposGz1a2owaxRV+KHep90wxy/S7+5slUB3p/D8LBw+W5oMGyaETJthW+KshQpjgJfk5ObI9M9MsAQBAZDSM41Y1bgAAAIDXMBSAxzRNTZUukyaZXwMAAAAAAAAAeBPBqsfEJSebcLVuUpJtAQAAAAAAAOA1BKseo2Ne6jireRkZtgUAAAAAAACA19RgiFVv0WB1yciRkpWeblsAAAAAAAAAeE0N33zY8AodAkBnaGcoAAAAAAAAAMC7GArAY3TSqm5TpzJ5FQAAldSGDRvkueeek169eklMTIy5tW/fXoYOHSqTJ082++i28nLqqafueV69ffPNN3YLAAAAgGgiWPWY/JwccwMAAJXPG2+8IR06dJBrrrnG3P/www+loKBAFi9eLGeeeaaMGjXKhJ2zZs0y28vDa6+9Ju3atbP3AAAAAJQXglWP0YmrpicmSmZamm0BAACVgYaqF1xwgWRnZ8spp5wiM2fOlNNPP91uFbP+8ccfS8+ePW1L+WjSpImpkAUAAABQvghWAQAAIvT777+bUNUZN26cXdubhp5vvvmmvQcAAACgMiNY9ZjWI0ZIj9mzGWMVAIBK5LHHHrNrYqpVDznkEHtvX7otsGp1zpw5cv755+8ZF1XHSS1ubFQdv1XHam3cuLHZTytTtVI2WPr4O+64Y8/j9Tm1zSlufFZ9bfo8+hgNkAEAAAD4EKx6TGxCgsQlJ0vdpCTbAgAAvG78+PF2TaR///52rWQ6TICjYeXxxx9vKlkzMjIkKyvLjMl67LHH7hOaavCpz/Xggw+asVs1oNVKWQ1bg6GPf+CBB8zjlyxZYp5T25zAoQrmzZsnDRs2NOs6xME777xj1gEAAAAQrHpOVnq6LBw82CwBAID3RTrr/u23325CSw00u3XrZoYLuOqqq8w2DUxdRelzzz23Z9Kr8847zyyHDx9ulhq2lvU6HnnkkT2Pv/rqq03lrFbXapt/gKvP72zatMns9+STT0piYuKe5wUAAABAsOo5eRkZsmbiRLMEAABVm4ambsxV/0DT0cB1xowZZv2FF14wS1Xcvh999JFdK97bb79t1/aVXsIPul27djVLnXhr48aNpQ5xAAAAAFQ3BKsek5CSYsZZ1eEAAACA97Vs2dKuhW7+/Pl2rWRz5841S1dtWpIff/zRrhXP//FuDNVPPvnE3M/JyTHLQPHx8XYNAAAAQCCCVY/RYLXdmDHSNDXVtgAAAC/TKs527drZeyJTpkyxa96l47P633RsVQAAAAChIVj1mO2ZmWYYgPwSKkcAAID33HfffXZNTBWo/0z7xXHbO3fubJalcZfj+08qVZwePXrYteL5h7/M7g8AAABEjmDVY3R81R+7d5cVY8faFgAA4HXnn3++mQjKueuuu+zavnSiqBdffNGs61ip7nH+YaxOGqV0wqjevXub9YEDB5qlcvvm5uaapTrttNPsWvFOPvlkuyZ7ze6vx9KJsQAAAACEhmAVAAAgCl577TW59tprzbrO0q9h65w5c8x9pbP2a9tXX30lQ4YMsa0iDz/8sAlQdQxU3V+DTjeh1bhx4/ZMVKWPcVWrLhh95ZVXzFKf95hjjjHr+vjFixebdeXC15tuusk8j3rooYfM61F6LP/Z/v0DXv/gFgAAAMDeCFY9JiktTfoVFJglAACoPDQA1SD066+/NkGnBqXJyclmkqjGjRvL008/LcOHD98rLFXdunWTqVOnyt/+9jezf9OmTU0A+uGHH5og1tHH6FioeuzbbrvNHFefQ4NZPaZz0UUXyZIlS+w9kTPOOMMsdSxY9zzZ2dly7LHHmuNrqOpez6mnnrrXJFf62EceecTeAwAAAOCPYBUAACCKtHJUg06tGnWTQ23cuNEMAeCqSgNpuKrb3f4zZ86U008/3W4t4sJbPZ7up89x8803260+Gr6647ibE/g8uu4f8hb32MDjAwAAAPAhWPUYHVtVx1jVsVYBAAAAAAAAeBPBqsfk5+RIXkaGbM/MtC0AAAAAAAAAvIZg1WOapqZKuzFjJCElxbYAAAAAAAAA8BqCVY+JS06W1iNGEKwCAAAAAAAAHkaw6jE6DICOr6pLAAAAAAAAAN5EsOoxWenpsnDwYLMEAAAAAAAA4E0Eqx5TNynJDAcQm5BgWwAAAAAAAAB4DcGqxzQfNEh6zJ5txlkFAAAAAAAA4E0EqwAAAAAAAAAQIoJVj8lMS5PpiYmyYuxY2wIAAAAAAADAawhWPSg/J8fcAAAAAAAAAHhTDZECuwov0DFWu02dapYAAAAAAAAAvImKVY+pm5QkCSkpZgkAAAAAAADAmwhWPSYrPV2WjBwpOdOm2RYAAAAAAAAAXkOw6jF5GRlm4iqCVQAAAAAAAMC7CFY9Ji45WZqmpjIUAAAAAAAAAOBhBKseo6Fql0mTmLwKAAAAAAAA8DCCVY/Jz8mR7ZmZZgkAAAAAAADAmwhWPUbHV53Rtq1ZAgAAAAAAAPAmglUAAAAAAAAACBHBqsckpaVJ3+xsaT1ihG0BAAAAAAAA4DUEqx4Um5BgbgAAAAAAAAC8qUaMXYE3ZKWny7wBA2TNxIm2BQAAAAAAAIDXULHqMXkZGSZc3Z6ZaVsAAAAAAAAAeA3BqsckpKRIm1GjzBIAAAAAAACANxGseowGqjqBFcEqAAAAAAAA4F0Eqx7DUAAAAAAAAACA9xGsegyTVwEAAAAAAADeR7DqMbEJCeYGAAAAAAAAwLsIVj2m9YgR0jc724yzCgAAAAAAAMCbCFYBAAAAAAAAIEQEqx6zYuxYmdG2rVkCAAAAAAAA8CaCVY/Jz8mR7ZmZZgkAAAAAAADAmwhWPaZpaqp0mTRJmg8aZFsAAAAAAAAAeA3BqsfEJSebcLVuUpJtAQAAAAAAAOA1BKsekzNtmhlfNS8jw7YAAAAAAAAA8BqCVY/RYHXJyJGSlZ5uWwAAAAAAAAB4DcGqx+gQAAkpKQwFAAAAAAAAAHgYwarH6KRV3aZOZfIqAAAAAAAAwMNqiBTYVXhBfk6OuQEAAAAAAADwLipWPUYnrpqemCiZaWm2BQAAAAAAAIDXEKwCAAAAAAAAQIgIVj2m9YgR0mP2bMZYBQAAAAAAADyMYNVjYhMSJC45WeomJdkWAAAAAAAAAF5TQyTGrsILstLTZeHgwWYJAAAAAAAAwJtqiBTYVXhBXkaGrJk40SwBAAAAAAAAeBNDAXhMQkqKGWdVhwMAAAAAAAAA4E0Eqx6jwWq7MWOkaWqqbQEAAAAAAADgNQSrHrM9M9MMA5Cfk2NbAAAAAAAAAHgNwarH6PiqP3bvLivGjrUtAAAAAAAAALyGYBUAAAAAAAAAQkSw6jFJaWnSr6DALAEAAAAAAAB4E8EqAAAAAAAAAISIYNVjdGxVHWNVx1oFAAAAAAAA4E0Eqx6Tn5MjeRkZsj0z07YAAAAAAAAA8BqCVY9pmpoq7caMkYSUFNsCAAAAAAAAwGsIVj0mLjlZWo8YQbAKAAAAAAAAeBjBqsfoMAA6vqouAQAAAAAAAHgTwarHZKWny8LBg80SAAAAAAAAgDcRrHpM3aQkMxxAbEKCbQEAAAAAAADgNQSrHtN80CDpMXu2GWcVAAAAAAAAgDcRrAIAAAAAAABAiAhWPSYzLU2mJybKirFjbQsAAAAAAAAAryFY9aD8nBxzAwAAAAAAAOBNBKseo2Osdps61SwBAAAAAAAAeBPBqsfUTUqShJQUswQAAAAAAADgTQSrHpOVni5LRo6UnGnTbAsAAAAAAAAAryFY9Zi8jAwzcRXBKgAAAAAAAOBdBKseE5ecLE1TUxkKAAAAAAAAAPAwglWP0VC1y6RJTF4FAAAAAAAAeBjBqsfk5+TI9sxMswQAAAAAAADgTQSrHqPjq85o29YsUfnExMTIdUOHytKlS20LAADVm/aNw6+5hr4R8DDepwCAqkD7saHDrzP9WkWpIQV2DUBULJ78oRzasaNcOXiwLFiwwLYCAFB90TcC3sf7FABQWWm/NfiKK6XjoYfK+79W7I+EVKx6TFJamvTNzpbWI0bYFlQ2ZzVvJvd3O1yyZnwvPbp3lwvOGSBz5syxWwEAqH7ObtnC9I3rv50uPbVvHEDfCHgN71MAQGWj/dSA8y+U5B495dtV2dL55kflgBMH2K0Vg2DVg2ITEswNlVeD2Fg5Kb6h3Ne1i+ycP19Sjukr55xxuvzwww92DwAAqhftG09OTJB7C/vGP3+dV9g3HiMDTjuNvhHwEN6nAIDKQPul0wecK337pci8Lbuk0z8ekQbHnCax9ePsHhWHYNVjstLTZd6AAbJm4kTbgsqsTs0a0r9RvNxzWGep/fvvcuYpJ8sZJ54gX3/9td0DAIDqRfvGExITCvvGTlLr9yVy5smFfeMJ9I2Al/A+BQB4kfZDJ5x+ppx8xlmyeHdd6XDjwxLX52SpUbuO3aPiEax6TF5GhglXt2dm2hZUBTVjYuS4RvGSdmhHabRypZw/IFVOOu5Y+fzzz+0eAABUL9o3piQmSFqnjhK/4g85PzVVTjymL30j4CG8TwEAXqD9zrEnniypfztfltdtLIeMfEDieveXmJo17R77D8GqxySkpEibUaPMElXTMY3i5Y727aT5unVyxYUXynFHHSWTJ0+2WwEAqH6OTUyUOzpo37hWhlx4gekbP/zwQ7sVgBfwPgUAVDTNSnof108uvPwKWZ3QStoMv0fievazW72BYNVjNFDVCawIVqu+PgmN5OZDkqRd7ia5fsjlcnRyskyaNMluBQCg+vm/xo3llkPaStvsDYV94xDp3a2bTPrvf+1WAF7A+xQAUN40G0k+6mgZct0I2dCio7S+5i6JP/IYu9VbCFY9hqEAqp9eCY3k720Olq7btsrt110n3Q87TN54/XW7FQCA6qd3kyZyY9LB0mXrFtM3JnfuLK+/9prdCsALeJ8CAKLt9dffkC7dj5Tht94hm9slS4sht0h8t6PtVm+qIVJgV+EFTF5VfR2ZmCDXtW4pvfJ3ygO33CJdOnSQiS+9ZLcCAFD99GzSWK47qJUctStfHrj1VunSvr289K9/2a0AvID3KQAgUi9NmCjtD+sqN9/3oGw7rI80u+xGaXR4L7vV26hY9ZjYhARzQ/WV3DhRrmnZXPrVjJEn77lH2h98sIx/+mm7FQCA6kf7xmtbtZB+sTXkqfvulQ6FfeMzTz5ptwLwAt6nAIBQPT1+vLRp31FGj31KpNcJcsBF10tClyPt1sqhRoxdgTe0HjFC+mZnm3FWUb11TUiQK5ofKKc3qC8T/vm4HNyihYx59FG7FQCA6kf7xitbNJfTCvvGl8eMMX3jPx952G4F4AW8TwEAZXlszFhpcdDB8vgLL0vtfmdJk78NlfhDj7BbK5caIkSrgJd1ahQvgw48QM5rnCDvPPecNG/aRB689x7ZuXOn3SM4+Tk5e92c4toAAPAy0zc28+8bm8oDo0eH3DeqpWs277k5v/u1rcvZblsBhCJa79OcadP23HYsW2badOnadI4KAED06Jw/7uZyAl36t4dDP//vffAhadq8hYx/4x1peNqFknjuldKw3WF2j8opZvWKVQVL/8iUPn362CbsTyvGjpWVTzwhrW64wVSvonKJiYmRZ3qX7zggmXlbZMaff8ova9fJdcOGyT9uv13i4uLs1tLNaNu21A/BdmPGVLv/331Z+N9M9StgvGkAKA8V1Td+v327zFufJcOGXis333Fn0H3jyOdn7hWqBvrbcUlyQcoh9h5QNXn5fbpk5EhzjlSSNqNGcbUfykXqPVPMMv3u/mYJVBeZhZ+py0aPtvf21TQ1VbpMmmTvlS0vL08efPQxefqpp+SATkdIbHJfqd+6rd1aPmbfcYUUVNA5PpNXeYz7FYDqQZQkKa6B/E3HsGpzkHzz7rvS4sAD5ZbCL5wbNmywe5RMv3iWpG5SkjQfNMjeAwCg8tC+8fymTeQa2zc2P+AAuXnEiKD6xuvP7mTX9nVgQl05++iD7T0AkQj3fVra91edm4JiFACILv1c1XygJFoIGAz9fL/x1tvkwOYt5K2p06XlRddJ/JkXl3uoWtGYvMpjXPJPwIWytKpfX85NbCR/79BeMj6aLC1btJCRw4bJ6tWr7R770v9flfQBqR+OTJwGAKjMtG88r3Gi3Nixg8ye7Osbb7jmGlm1apXdY19tmzc0t+Icf0RzaVA31t4DEA2hvk9LC0/5/goA0aefq80uu8ze25tmVgkpKfZe8TSTGDpipLRo2VLenzFbkq68RRqeer7Ua3GQ3aNqIVj1mLjkZPN/1NJ+HQD8NatXV/6S0Eju6NJZFk75Qlq1aiVDhwyRzBIu+S/uV3+qVQEAVYn2jQMaJ5i+8bepU0zfeE1hP1dS31hc1SrVqkD5CuV9Wtz3V6pVAaD8lFS1Wlq1qn5+D7lmqLRs2VK+mLdYOlw3WuJOGih1D2hh96iaajAQgLfoAOw6hhCDsCNUTevUkTMbxct9yUfI8m+nS8cOHeTyiy6ShQsX2j18iqta5dd+AEBVpH3jWYkJcn/3brLi++9M3zjo/PP36RuLq1qlWhWoGMG8T4sLUfn+CgDlp7iq1ZKqVfXz+qLBQ6RDx44yPXO1dL3lUWlwfKrUaXyA3aNqq+GbtgVeocGqDtCelZ5uW4DQJNSuLadpwNrtcMme/ZMc2a2bXHTuufLzzz/bPfb+1Z9qVQBAVad94+kJjUzfmJMxW45M7iYXnnPOXn2jf9Uq1apAxSvrfer//ZVqVQAof4FVq4HVqvr5fO4FF0m3I4+UWWs3SeebH5X6x50pteIT7R7VA0MBeIz+n1Z/ASiu5BoIRVxsrJwU31DuPbyL7Jj/qxz3f/8n5515psycOXOvqlV+7QcAVBfaN56c0Eju7VrYN/46T/oV9o3nnnGG6Rv9q1apVgX2n5Lep7MXLdoTpvL9FQDKn3/Vqn+1qn5vOvOc8+T/jusn87bskk43PSINjjlNYuvHme3VDcGqx2jg1W3qVCoIETV1a9aU/vEN5Z4unSX29yVyxkknyVmFtz8vvJBqVQBAtaR94wkJjWS09o1LFsvpJ54oZxbejj1oG9WqgEcU9z69efZskbg4qlUBoIK4qlX9Qeubb76Rk848S046/QxZvLuOdLjxIal/9ElSo05du3f1RLDqMfk5OeYGRFtsTIwcF99Q0jp1lPgVK+T8Z5+VV+vXly9//NHuAQBA9aJ9Yz8NbjofWtg3LpfhF6XKiulvyPfTv7R7ANjf/N+nddaslutr1pTTzz5bvvjiC7sHAKC8aNXqluuuk7Pve0D+MvBvsrxOYzlk5INS/6j+ElOTq3sUwarH6MRV0xMTJTMtzbYA0de3UUO5o0M7yS3YLUMuuED69e4tkydPtlsBAKh+jkloJHd2bC9NMj6Wy88/X4476ij6RsBj9H16daeO0mztGt6nAFDO9PP16ONS5PyxT8raxq2lzXX3SP0ex9mtcAhWgWrs6PiGcvMhSXJI7ia54YohcnT37jJp0iS7FQCA6qdPYoLc0q6ttM3JluuHXC5HJyfTNwIew/sUAMqPfp527320DBl+g2xs2UFaX3OXNEjua7ciEMGqx+j4FT1mz2bcS1SoXo3iZeTBB0mXbVvl9uuGS4+uXeXNN9+0WwEAqH56N06Uv7c5WA7bskVuGz5Muh92mLz++ut2KwAv4H0KANGjGUCX5CNl+C23S94hydLiilsl7oij7VaUhGDVY3T8irjk5D0ztgMVqUdCI7mudSvpsfNPue8fN0nXjh1l4sSJdisAANVPzyaJcv1BraVX/k65/+abpUuHDjLhxRftVgBewPsUAML38ssvS/vDusg/7nlAdnTtI80G3SQND+9lt6IsBKsek5WeLgsHDzZLYH9JTkyQa1u2kOMKPyGeSEuTDm3ayHPjx9utAABUP8mNE2VoqxbSr2aMPHnPPdL+4INl/NNP260AvID3KQAEb/yzz0mb9h1k1D+fkoKeJ0rTi66X+MOOtFsRLIJVj8nLyJA1EyeaJbC/dU1IkCubHyin1a8nLz76qLRp2VKe+Oc/7VYAAKof0ze2aCanN6gvE/75uBzcooWMfewxuxWAF/A+BYCS/fOJJ6XlwW3kkedfktrHnS2N/3atNOp0hN2KUBGsekxCSooZZ1WHAwC8olOjeBl0YFM5N7GRvDlunLQ4oKk8fP/9kp+fb/cAAKB68fWNB8h5jRPkrfHjC/vGA+TBe++lbwQ8hPcpAPjo5979Dz0sB7RoKc/85y2JO/V8STzvKmnY/jC7B8JFsOoxGqy2GzNGmqam2hbAO9o3bCgXN20slzRrJh9OnCjNmjaVtDvvlC1bttg9AACoXkzfeECTwr7xQPnolZelWZMmMur22+kbAQ/hfQqgutLPuTvTRkvTZs1l4vsfSePUwdLoL4MlLqmj3QORIlj1mO2ZmWYYgPycHNsCeE9SXAM5v0miXH1wa/nq7bek+QEHyG033SQbN260ewAAUL34+sbGcnWbg+Trd942feOtf/87fSPgIbxPAVQX+rl24623yQHNmstbU76RFhcOl4ZnXCINDjrE7oFoIVj1GB1f9cfu3WXF2LG2BfCu1vXry3mJCTKyQzv58YMPpEXz5jJy2DBZvXq13QMAgOrF9I2NE03f+NPkD03fOGLoUPpGwEN4nwKoqvRzbPjIv0vzFi3kgx8yJOnKW8xl//VaHGT3QLQRrAKIWPN69SQ1IV7u6NJZFk6ZIq1atZJrhwyRzMxMuwcAANWLr29sZPrG31zfePnl9I2Ah/A+BVBV6OfWkGuHms+xz+cukg7XjZYGJ54ndQ9oYfdAeSFY9ZiktDTpV1BglkBl07ROHTmzUUO5L/kIWfHdt9K+fXsZcvHFsnDhQrsHAADVi+kbE+Jt3/iddCjsGy+/8EL6RsBDeJ8CqKx+++03uWjwEGnfoaNMX7pKutz8iNQ/PlXqND7A7oHyRrAKIOoSateW0+IbygOFX043zv5JjuzWTS4eOFB++eUXuwcAANWL6RsbNZT7C/vG7IzZpm+86Nxz6RsBD+F9CqCy0M+l8y66WI5I7i4/rdskh93yqNQ/7iypFZ9o90BFIVj1GB1bVcdY1bFWgcouLjZWTmoYJ/ce3kW2/zpPju3TRwaedZbMmjXL7gEAQPVi+sb4hqZv3DH/Vznm6KPl3DPOoG8EPIT3KQCv0s+hs849T/occ6zMzd0pnf7xiNTre5rE1o+ze6CiEax6TH5OjuRlZMh2xvVBFVK3Zk3p3zBO7unSWWouXSKnnXCCnH3yyTJ9+nS7BwAA1YvpGzW46XqYxP7+u+kbzzzpRPpGwEN4nwLwCv3cOeWsv8iJp54ui3fXlQ43PSz1+5wsNerUtXtgfyFY9ZimqanSbswYSUhJsS1A1REbEyPHxcXJ6M6HSsOVK2Tg2WfLKf36yZQpU+weAABUL9o39mvU0PSN8StXynlnnSUnHXcsfSPgIbxPAewv+jmTcvKpcvZ5f5U/6iTIIX9/UOr1Ol5iasbaPbC/Eax6TFxysrQeMYJgFVVe34ZxcmeHdtJs/ToZfP75ktKnj3z00Ud2KwAA1c8x8Q3lro7tpfn69b6+8eij6RsBj+F9CqAi6OdKn34pcv5lg2VNo5bS5rp7pN6Rx9mt8BKCVY/RYQB0fFVdAtXB0YVfTm85JEmScrLlussvlz5HHinp6el2KwAA1U+fRvGmb2y7KUeGDx4sR3fvTt8IeAzvUwDlQT9HevT5P7l82PWS3aKDtL72bqnfva/dCi8iWPWYrMI30cLCjlmXQHVyVOGX07+3OUgO27pFbh02THp07Spvvvmm3QoAQPXTq7BvvDHpYOmybavcNnyYHNmlC30j4DG8TwFEg35udD2ypwy/5XbZ3PYIaXHFrVL/iKPtVngZwarH1E1KMsMBxCYk2BageumR0EiuP6iV9Nj5p9x38z+ka8eO8srLL9utAABUP9o3Xte6lfTK3yn3/cPXN748caLdCsALeJ8CCMcrr7wiHbscLv+4537Z0eVoOfCyGyWuay+7FZUBwarHNB80SHrMnm3GWQWqs+TEBLm2RXM5rvBTamxamnRMSpLnnn3WbgUAoPrppn1jy6K+sUObNvLcuHF2KwAv4H0KIBjPP/8vSerQUe5+/AnZ3bO/NL3oBmnYubvdisqEYBWAp3VNSJArmh0gp9arK8/fd5+0S0qyWwAAqJ60b7yy+YFyWv16cs2wYbYVgJfwPgVQmquvvkpqHXuWNP7bUIk/9AjbisqIYNVjMtPSZHpioqwYO9a2AFCdGsXLkNYt5fdly2wLAADVm/aNALyN9ymAkjRsf5hdQ2VGsOpB+Tk55gYAAAAAAADAmwhWPUbHWO02dapZAgAAAAAAAPAmglWPqZuUJAkpKWYJAAAAAAAAwJsIVj0mKz1dlowcKTnTptkWAAAAAAAAAF5DsOoxeRkZZuIqglUAAAAAAADAuwhWPSYuOVmapqYyFAAAAAAAAADgYQSrHqOhapdJk5i8CgAAAAAAAPAwglWPyc/Jke2ZmWYJAAAAAAAAwJsIVj1Gx1ed0batWQIAAAAAAADwJoJVAAAAAAAAAAgRwarHJKWlSd/sbGk9YoRtAQAAAAAAAOA1BKseFJuQYG4AAAAAAAAAvIlg1WOy0tNl3oABsmbiRNsCAAAAAAAAwGsIVj0mLyPDhKvbMzNtCwAAAAAAAACvIVj1mISUFGkzapRZAgAAAAAAAPAmglWP0UBVJ7AiWAUAAAAAAAC8q4ZIgV2FFzAUAAAAAAAAAOB9VKx6DJNXAQAAAAAAAN5HsOoxsQkJ5gYAAAAAAADAuwhWPab1iBHSNzvbjLMKAAAAAAAAwJtqiMTYVQAAAAAAAABAMKhY9ZgVY8fKjLZtzRIAAAAAAACAN9UQKbCr8IL8nBzZnplplgAAAAAAAAC8iYpVj2mamipdJk2S5oMG2RYAAAAAAAAAXkOw6jFxyckmXK2blGRbAAAAAAAAAHgNwarH5EybZsZXzcvIsC0AAAAAAAAAvIZg1WM0WF0ycqRkpafbFgAAAAAAAABeQ7DqMToEQEJKCkMBAAAARNkRf/2bnPvCS3LVtK9k6Pc/mNtFb78rJ6aNlhbJyXLUVVfL6Y8+ZvcWadi8xV77X/reB2YfAAAAQMWsXrGiYOkff0ifPn1sE4BwxcTEyDO9e9l7+5eeDPa+5hppeWQPiTvwQNO2fdMm2bR8uSz/YYb88Pxz5gTxlbPPNNv86Ulj2+P6yebVq2TyP26yrd4wbMZMKSgosPci92XhfzPVL4rHBAAU8ULfqH3i2U89LY0OOsjcz/z6K5n92r9ldUaGCVS7X3SxJB173J5t2vfpYy54402JrVvXtPub9dKLph/1gmj3i6ievPQdVumPIB1OPkWatG+/5z2o32HXzpsr89InyUFH9ZamHTrs+Z6q7+P/G379nv31O+/cd9/hfYqIpN4zxSzT7+5vlkA06edu9/tfsPeKl7dskSx6/mF7LzgdrrpF4tp0sPciN/uOK+yaT1mvWS0cd5/s2LhOkgZeKfGHHm5bK5a+7or63KVi1WPyc3LMDYjEsTfeZE4GO556mrmvJ4Djjj5KXjrlJBOqdjrzLFN54wJXpV9ItUrn8k8+k56XDzFfTAEAqOw0IB3w/L/2hKrf/PNxE8ZoqKp0qfd/efstc985+b775fdpU03/OemaqyRv3Tq7RaTruefZNQDRpO9XrSI/5u83SrOuXWXFzB/M+0/fh1Puv1dqN2ggA5593nxXddqfeJKcNfZJs78LYes2amT2ocIcQGVXs159aXfpDSbQ1Ft8hy52i5h11570t6vMvtF2+B1j7VpwNAzeujJTdm3bKuu/+9y2Vm0Eqx6jE1dNT0yUzLQ02wKERkPVwwf+1Xyx1F/2tSLV/9d6XZ901ZV7nSAqrdZJTGorsXXq2BYAACo/DUjdD4lr586Vn99606wH+vrxx8x2Z938X+XztFFmXcPXz+6+06wrDW0ARFe4P4L0GDRYvh/3TLE/gnQ46WS7BgCV00FnXxxU1WfiEUdJs+NOt/eiJ7Z+nF0LjlbL1m+VZELeA/qcaFurNoJVoArRqlMNVR39Zb84m9es3usEUekX1dcGnmsqAwAAqAq0X9QqNmfRp5/YteLpVR2OBq3+XLijAn+cBBC5cH8EmXzTjXv21fdpxr9fNesqf8cOuwYAlY+GlBqYBqvZcadGdRiAcB069E454s4n99swABWNYNVjWo8YIT1mz5bmgwbZFiB4OraUo9Wq/ieBgXQbJ4YAgKpMr8bwV1JQ4+hVHfpDY1myFi6wawCiIZIfQbRgwJ+reM3fvl1+nDjBrANAdaCX4evYou62ZOIY0+7fpjdHt/u36+O3rV4uvz5+m/x83/WyY+N6u2cR3a5jqOr+ul/uwl/slpKfP/B51n71sWS+8ZxZ1+fJ/nnf4q78rXmy6rNJZrvup/trmxcRrHpMbEKCxBV+saiblGRbgOD5fyHNzlxq10pW3MRVAABUFTrETbS4sRp1UpyvH3/crAOIjmj8CKJDCeiQWJ3POtvcn//+e7L488/MOgBUB1qtqmOtBippnNR2g0aay/ad7WtXSY06vrGqdYzUnLk/mnV/W5b/bipSD/rLJSZ4XfLKE3vCVX1+bQ8U+Dx/5mRJ67MvksTDe5nnyXzz+X1C3CUTx8raaR9Ky5PPlcNufFCyf5lp2ryIYNVjstLTZeHgwWYJhEJnTwUAAOVDx2rUCrivHn1knwo5AJGJxo8gZz/19J55BpSua9AKANVJrUaJdq1IaeOkxtZvYNdEdm3fJnUaHyCtz7zQjJGa0LWH3VKk6VH99izdZFkrPviPWaq6zVratb35P09it97mNdVr2ca2iGxdUVQYphWtOgGW0ufR16QTdWlbcdWt+xvBqsfkZWTImokTzRIAAADh0+rSaNAfL/Xy4oz/vEYFHOBR71033ExspT+AOBqu6jADAICy1WvWyix1bFQdI1UDzdI0aO37UUyrTSO9TP/PnI12TSRn7iy7tq9Nv862a95BsOoxCSkpZpxVHQ4ACMX63xbaNQAAoHRmf3/hXN2hlxcfPXSYCWz08mMA0ReNH0G0klwntnr9/L/tNY9Al9QBdg0AUJoatuI/HNvXR+9qHletqty4rLmL5pn7u7ZvNUsvIVj1GA1W240ZI01TU20LEBydjMr/S2k0x5UDAKAy0pDFv29MOvY4u1Y8DVEDnf7Y42asRj2W0/7Ek+T0R4vuA4hMNH4EcTRgzfj3q/YeAKAi1GqYYNeiq/v9L+x10/FavYZg1WO2Z2aaYQDyc3JsCxA8/xlU9ZLF4k4Q/ZW1HQCAym7Wiy/YNZHmhx9uQtHiaJ844Pl/2Xs+J6aNlibt25vLiYd+/8Oe28n33S+b16yxewGIVDR+BPHnP/lV5jff2DUAQHnQsVbLGjYgFP7HCpzUyosIVj1Gx1f9sXt3WTHWm7Odwdv0S+mm5cvtPTEnfiXRwfyPvfFGew8AgKpJA5Zv/vm4GXdRJ7Xpf+ddpg90wYyOv6j3B778yl5Vblox1/HU0+y9fa2eM8euAYiGcH4EOeqqq82PHWc/9Yy5H0i/FzMuMoDqLtLxT0viLs9vdtzpZhktDTt0sWs63uqPds33d2T98KW95x0Eq0AVowP3r50716w369pV/vbv/+z1xVRPFLXtwM6HydePP25bffSLasMWRbP4NT+iW5kVAQAAeJ2Gqzru4m8ffyRb1q83FaiXpP/PBDIn3XNfYV/XXN6+7NI9VW4atuq4qqUhrAGiK5wfQZp26GCWrXv1kovefnfPRFXnvvCSGWdVvxcDQFWhwWL+1i32nt4vWnfqHtBiz2z9bvu66Xt/Z/EPWv2Psdtv8r+S6Iz9ygWc9VslSZOex5h1tX3tKru297GLe54/c7LMUu3asc2uiRx4zCl7/oa1X02WvGWLzLqGrAlde5h1L4lZvWJFwdI//pA+ffrYJgDhiomJkWd697L39i8NUDucfIoZEqBuo0amTb+oblqxQua/97+9LpFS+mVU9y2O/tr/2sBz7b39a9iMmVJQUGDvRe7Lwv9mql8UjwkAKOKlvrEqina/iOrJS+9TDVJ7X3ONNOvSda/vphqUZi1cYAoDdBxVpfvqFVo6ZIeGsUq/t/7x/Xd7jYu8v/E+rZxS75lilul39zdLIJr0c1fHDA3Wkolj9lSIBmp5ynnS7LhT7T2R3IW/yIoP/mMuo9fgs9UZf5NFzz9st/rocxd3zMBjqZ/vu16SBl5p1t1xNfhs2vt4ObDvSRJbP85s0wA08Hn0eHm/z9/neeI7dCn1ubetXi5rv5ws2b/MNPcTD+8lrc++aM9zlUUnvKqoz12CVSCKOHksfwSrAFC50DeWLwIbRAPv0/LF+7RyIlhFeQo1WEVoKjJYZSgAj9GxVXWMVR1rFQAAAAAAAIA3Eax6TH5OjuRlZMj2zEzbAgAAAAAAAMBrCFY9pmlqqrQbM0YSUlJsCwAAAAAAAACvIVj1mLjkZGk9YgTBKgAAAAAAAOBhBKseo8MA6PiqugQAAAAAAADgTQSrHpOVni4LBw82SwAAAAAAAADeRLDqMXWTksxwALEJCbYFAAAAAAAAgNcQrHpM80GDpMfs2WacVQAAAAAAAADeRLAKAAAAAAAAACEiWPWYzLQ0mZ6YKCvGjrUtAAAAAAAAALyGYNWD8nNyzA0AAAAAAACANxGseoyOsdpt6lSzBAAAAAAAAOBNBKseUzcpSRJSUswSAAAAAAAAgDcRrHpMVnq6LBk5UnKmTbMtAAAAAAAAALyGYNVj8jIyzMRVBKsAAAAAAACAdxGsekxccrI0TU1lKAAAAAAAAADAwwhWPUZD1S6TJjF5FQAAAAAAAOBhBKsek5+TI9szM80SAAAAAAAAgDcRrHqMjq86o21bswQAAAAAAADgTQSrAAAAAAAAABAiglWPSUpLk77Z2dJ6xAjbAgAAAAAAAMBrCFY9KDYhwdwAAAAAAAAAeBPBqsdkpafLvAEDZM3EibYFAAAAAAAAgNcQrHpMXkaGCVe3Z2baFgAAAAAAAABeQ7DqMQkpKdJm1CizBAAAAAAAAOBNBKseo4GqTmBFsAoAAAAAAAB4F8GqxzAUAAAAAAAAAOB9BKsew+RVAAAAAAAAgPcRrHpMbEKCuQEAAAAAAADwLoJVj2k9YoT0zc4246wCKLJgU6688McKaXvwwbYFAIDqTftGAN7G+xRASTYv/tWuoTIjWAXgaXNzcuRfq9fIx9u2yxW33iq/L1tmtwAAUD1p3/j8qtXy0dZt8szYsbYVgJe49+nkLVt5nwLYx9Pjx8ufX78vWW+Mk00LfratqIwIVj1mRWGnO6NtW7MEqrOMjdkybsUq+TJ/t1x3193yW2amDL3+ersVAIDqx79vvKGwb1y0bJkMveEGuxWAF+j79JnlK/e8Txf/8QfvUwD7GHbNNbJs0W+S9vfrpcaPX8i6fz8hOfN+tFtRmRCsekx+To5sz8w0S6A6mrlhgzz5xwqZFVtL7nj4YZm3eLFcfsUVdisAANWP6xtn1oyV2x980PSNg6+80m4F4AX+79M7HnqI9ymAoFw+6DJZNG+uPHrX7VJ33veyZuJjkvPzD3YrKgOCVY9pmpoqXSZNkuaDBtkWoHr4fn2WPJ65TOY3aCgPjRsnP/36q1xw0UV2KwAA1c/3WRvksaW+vvHBp5+W2fPny4WXXGK3AvCC7wq/w/I+BRCpCy44X37N+EnGPfKgxC/9WVb+60HZlPGt3QovI1j1mLjkZBOu1k1Ksi1A1fbtho3y0OLfJbNJU3l6wkT5PiNDUgvfAwAAVFfTtW9cUtg3Nm4iz0z09Y0DzjnHbgXgBd9kbTDv0z8Kv8PyPgUQLXounDHjO5k47ilpumaJLB9/j+T++LXdCi8iWPWYnGnTzPiqeYUdM1CVfVV40njvwkWytnkLmfjWW/LVDz/IaaedZrcCAFD9fKl942+LZF2z5jLxTfpGwIvMd9jC9+l6/Q5b+D79kvcpgHKgnyszvpomb748QVrkrpLMJ++SzTOn2a3wkhpSYNfgCRqsLhk5UrLS020LUHXkFxTItI3ZcvevCyTv4DbyzgcfyGdffy39+/e3ewAAUL1o3zh1g69v3KJ94/uFfeM339A3Ah6i79MpGzaa9+nmgw7mfQqgwujnzNeffSrvv/u2tNm5SZb881bZPOMLKdiVb/fA/kbFqsfoEAAJKSkMBYAqZfuuXfL5xmy5a+6vsqt9B/l4yhT54IsvpG/fvnYPAACqF+0bP9OgxvSN7ekbAQ/a633azvc+/bDwxvsUQEXTz53PP3hPvvj4I+kYu1N+e+wWyfv2E9m9Y7vdA/sLwarH6KRV3aZOZfIqVAl5+fnyaXaO3PnzXKnX9XD55vvv5d3Jk6Vnz552DwAAqhftGz/emL2nb/y6sG/870cf0TcCHmLepxs2yp2/zJU6h3Ux79NJH3/M+xTAfqefQx+++7Z8/83X0rVhLZn/yD8k7+vJkr81z+6Bikaw6jH5OTnmBlRmOX/+KZMLTxrvyPhZEo/sIbN//lle++9/5fDDD7d7AABQvWjf+KHtG5sU9o0Zv/wi/5k0ib4R8BDzPt2w0bxPG+v79Odf5I3//Y/3KQDP0c+l/77+mvwyJ0N6Nk+QXx+6STZPe0925mbbPVBRCFY9Rieump6YKJlpabYFqDyyduyQ9/TL6Ow50vr//k8WLV4sE15/XQ499FC7BwAA1Yt/33jQ//X19Y1vvCEdO3a0ewDY38z7NMt+h+3j+w478c03eZ8C8Dz9nPrPhBdl8eJFcmy7VjLv0Vskb8ok2bFxvd0D5Y1gFUDE1mzbJv8tPGm8f958OfSEE2TVqlXy7MSXJYmxggEA1ZR/39hpT984kb4R8BDzPs3aYN6nHfv3N+/T5155hfcpgEpHP7deGj9OVq5YISd06SCLnholuZ++JdvXr7Z7oLwQrHpM6xEjpMfs2Yyxikphxdat8nbhl9Exi3+XI08/Q1avWSNPPPuctGjRwu4BAED14t839rB941j6RsBT9H361nrf+7T7aaeb9+mTzz/P+xRApaefY+OfGCNrVq+Ws3ofKZkvPCy5H/1Htq1ebvdAtBGsekxsQoLEJSdLXX4lhYdl5m2R/6zLkueWLZfjzhsoa9atk0eeeEIaN25s9wAAoHoprm98mL4R8BTzPl27Xp7N/EOOO/dc8z599KmneJ8CqHL0c23Mww/K+jVrZODxx8iq156STR+8KluW/273QLQQrHpMVnq6LBw82CwBr1m8ebO8um69vLpmrZxx6aWydsMGGf3QQ9KgQQO7BwAA1Yt/33g6fSPgSeZ9utb3Pj3tkktk3caNcs8jj/A+BVDl6efcg/eMlg3r1splZ54iGyZNkJz0CZKX+ZvdA5EiWPWYvIwMWTNxolkCXrFgU65MWLNO3t2YI3+9+hpZnZUlt6WlSWxsrN0DAIDqxb9vHGj7xtvpGwFPMe/T1WvlnQ3Zct6VV5r36R333MP7FEC1o597d99+m2StWSXXXnCebP74Ddn4zvOyefGvdg+Ei2DVYxJSUsw4qzocALC/zc3JkedXrZaPtm6TwSNHyrLVq2XkLbfYrQAAVD+ub5y8ZYtc/ve/m77x7/SNgKeY9+nK1fJh3hYZVPgd9o81a+TG22+3WwGgevvHyBGy+o9l8o8rB8ufX78vWW+Mk9yFP9utCBXBqsdosNpuzBhpmppqW4CKl7ExW55ZvlK+zN8tN9x1tyxatkyG3nCD3QoAQPWjfeO4Fatk2s5dcn1h37j4j+Vy7fXX260AvMD3Pl0pU//Ml+vuvFOWLF8uw0aMsFsBAP6GXXuNLFv0m4waOVxiZn4h6/79hOTM+8luRbAIVj1me2amGQYgPyfHtgAVZ9aGjfLkHytkZs1YueOhh2Te4sUy+Mor7VYAAKqfmRs27Okbby/sG39dskQup28EPEXfp08sW174Pq0ptz3woMz//XcZcvXVdisAoDRDBg+WRb/OlUfvuk3q/fq9rJn4mOT8/IPdirIQrHqMjq/6Y/fusmLsWNsClL/v12fJY0uXybz69eWBp56S2fPny4WXXGK3AgBQ/XyftUEez1wm8xvEyf2ub7z4YrsVgBfod9jH9TtsvQZy/xNPFL5PF8hFl15qtwIAQnHBBRfIvNk/yjMPPyDxS3+WVS88JJtmf2e3oiQEq0A1Nr3wpPHhJUtlaeMm8vSECTJjzs9yzrnn2q0AAFQ/0zdslIeW/C5LExvLUy9NkO8z5si59I2Ap3yzPsv3HbbwffrEiy/KDz//LOf99a92KwAgEgMGDJCMGd/JS08/IU3WLJLl4++V3J++sVsRKGb18hUFS5f/IX369LFNAMIVExMjz/TuZe9511eFJ43XLl5i1vM//1xOOOEEs14dfVn430z1KygwSwBAdFWWvvHrjRtl28XPm/Xr+hZU674R1U9leZ9+mbVBBv2+VOoXfm/LT0+XE/7yF7sFiL7Ue6aYZfrd/c0SqI50mMrpiYmyvVYtuaDJAdKkT39p2DPFbvWu2XdcIQUVdI5PxSpQTeQXfqhM3bBRRs1fIJsPOti2CieOAIBqy/SNG7Mlbf7Cwr6xjW2lbwS8RN+nU9ZvMN9h8w4+WOo3aGDa+/XrZ5YAgPIXV/jZ+97bb8rB27NlyT9vk83ffyEFu/Lt1uqNYNVjdGxVHWNVx1oFomH7rl3y2YaNcve8X2VX+w4y+fMv5MMpvl9fAQCojrRv/CI7x9c3tmsvH37+uXzwxRd2KwAvMN9hs/Q77PzC77Dt7XfYqRIbG2v3AABUpGOOOUa+mPyBfP7Rh9Kh5g5Z9PitkvftJ7J7x3a7R/VEsOoxWmadl5Eh2zMzbQsQnrz8fPl4w0a5a+6vUrdLV/nq2+/kvx99JL16ef8yLwAAyoP2jZ9m55i+sfZhXegbAQ8y32GzNsqdv8yTOocdVvg+/VYmffIJ71MA8Aj9PJ486V359qsvpWvDWrLgsZsl7+vJkr81z+5RvRCsekzT1FRpN2aMJKR4f8wKeFPOn3/Khxuy5c45v0jjI3vITxkZ8np6uhxxxBF2DwAAqhftGydv9PWNCd2P9PWNkybRNwIeou/TD9ZvMO/TxO7dZfacOfLGe+/xPgUAj9LP5/++/prM+ekn6dGskcx/5B+yedp7sjM32+5RPRCsekxccrK0HjGCYBUhy9qxQ97bkC13zJ4jB/3f/8lvixbJxDfflEMPPdTuAQBA9eLrGzeavrG16xvfeIO+EfAQ8z7N2rDX+/Tlt9/mfQoAlYR+Xr8+8SVZ9NtvckzbljL34X9I3pRJsmPjertH1Uaw6jE6DICOr6pLIBhrtm2T/xaeNN4/b74c2r+/rFq1Sp59+WVJSkqyewAAUL1o3zhpY7bcN/dXOfSEE3x940T6RsBLzHfY9VnmfdrxeN932OdffZX3KQBUUvr5PeG58ebz/IQu7WXRU6Nk82dvy/b1a+weVRPBqsdkpafLwsGDzRIozcqtW+Wtwi+jYxb/Lt1PPU1WrV4tTzz3nLRo0cLuAQBA9bJC+8asDfLP3xZL99NOl9Vr1sgTz9I3Al5i3qfrsuSfiwrfp6efYd6nT/7rX7xPAaCK0M/z8U+MldWrVsmZRyVL5gsPyeaP35Btq5fbPaoWglWPqZuUZIYDiE1IsC3A3jLztsjr67NkfOYfcuy558nqtWvl0aeekiZNmtg9AACoXnx94wZ51vaNa9avl0eeeIK+EfAQ8z5dt968T/uec46sKVznOywAVF36+T7m4Ydk3erVcl7K/8mq156STR+8KltXLLV7VA0Eqx7TfNAg6TF7thlnFfC3ePNmeXXtOnl59Ro59eJLZO2GDXLvI49IXFyc3QMAgOrF9I3r1ssra9YW9o0X+/rGhx+mbwQ8xLxP16yTVwq/w55y4UXmfXr/Y4/xPgWAakI/7x+8Z7RkrV0jl515iqx/9wXJSZ8geZmL7B6VG8Eq4HELNuXKhMITxnc2ZMt5V11tvozeMXq01KpVy+4BAED14usb1+3pG9dkZdE3Ah5j3qer18jbWRvl3CuvlDWF32HvvO8+3qcAUE3p5//dt98mG9aukWvOP0c2f/S6ZL/7L9m85Fe7R+VEsOoxmWlpMj0xUVaMHWtbUF3NzcmRf61aI5O3bJVBI0bKH2vWyI233Wa3IhKzP/9MXhhxg9zW7xj55uCDzE3XtU23AQC8yfSNq7Vv3CKDR9q+8dZb7VYAXmDepytXy+S8LXLZDSNk+dq1ctMdd9itAACI3Pz3v8vq5cvkxiGXyY5p70nWG+Mkd+HPdmvlQrDqQfmFX0b0huopY2O2jFuxUqbt3CXDCr+ELv7jDxnG0BBRsX75chlz2aXy/r33yO45s+XoBg2kd7fDzU3Xd83+Ud4bnSaPX3Sh2RcA4A3aN45fscr0jdfdeVdh37hcht5wg90KwAvMd9jlK2Tan/ky9LbbZHHhd6nhhSfOAACUZPjQa+WPJYtk1MjhIjO/kHX/fkJy5v1kt1YOBKseo2Osdps61SxRvczasFGeWLZcfqhZU2574EH5dckSueLqq+1WROq7Sf+VtDNOk7iNG6Rf40Q5NCFBEurUkVqF/9560/VOjRtLStMmErchS9JOP1Wmv/WmfTQAYH/QvvHJP1bIzJqxcttDD5m+8fIrr7RbAXiB731a+B22Rk259f4H5Nfff5crhw61WwEAKNuQwYNl8a9z5dG7bpO6876TtS8/Ljk//2C3ehvBqsfUTUqShJQUs0T18P36LHl86TKZV7+BPPDkk5Ixf4FcdOmldiuiYfq778h7jz4iKS2aS8fYmra1ZJ3q1ZWUli3k/ccfk+nvvG1bAQAV5fusDfLPzD9kXoPCvvHpp2X2/Ply4cUX260AvMB8h/09U+bVqy/3jRkjGQsWyMUUhwAAInDBBRfIrxk/ydMP3S/xv8+RVS88JLkZ39mt3kSw6jFZ6emyZORIyZk2zbagqppe+GX04SVLJbNxE3nqpZdkxpw5cu7AgXYroiUvO1vevO9e6dEoXg6sX9+2lk337ZHQSN68/z5zDABA+ft240Z5+Hdf3/ik9o0Zc+Scc86xWwF4wTfr1stDi3+XpQmJ8sQLL8iMn3+W8/52vt0KAEDkBgwYIBk/fC8vPf2ENF69SJaPv1c2//SN3eotBKsek5eRYSauIlitur7K2iD3/bZY1jZvIS++/rp8NXOmnH7GGXYrou31u++STi1byQF169qW4Gm42qFpU/nPHUwaBgDl6auNG+W+RYtlzYHN5cX/FPaNP/wgp59+ut0KwAu+XLfe9x22WXN5qfA77Nc//ihnnn223QoAQPTp98Efvv5SXp/wgjTPWSnLnh4lm2d5Ky8jWPWYuORkaZqaylAAVcyuggKZmrVB0hb8JrkHHSxv/u9/8vn06XLiiSfaPRCqhYMHy/bMTHuveAu+/14WFZ6cH1Y71raE7vC4BuYYeiwAQPRo3zgtO8fXN7Yu7BvTC/vGb76hbwQ8RN+nX6xbL6PmL5Tcg9uY77BffPednHjSSXYPAADKn34//PrzTyX9zdfl4O3Z8vuY22XLD1OkYNcuu8f+Q7DqMRqqdpk0icmrqogdu3bLZ1kb5K5582Vnu/bywaefyuSpU+XYY4+1eyBcWtU9o21bmTdgQIkB689ffC5JjRMkxt4Phz724Lg4mf3hB74GAEBEtG/8IjtH7v51gew8pJ2vb5wyhb4R8BDzHXZ9ltxd+B12d4eO8uFnn8lHhd+9eJ8CAPYn7Ye+mPyBfPrh+9IuZrssevwW2fLdZ7L7zx12j4pHsOox+Tk5JiTSJSqvLfn58vGGjXLX3HlS+7Au8uX06ZL+ySdy1FFH2T0QLToucUkB69yvvpQDdxfYe+FrUaeOzPt2ur0HAAiH9o2fZueYvrFW58Nk2jffyKSPPqJvBDzEfIddn7XnO+y0wu+wk/gOCwDwGO2XJk96V6Z/OU0Oa1BDFjx6s2z55iPJ35pn96g4MauXryhYuvwP6dOnj23C/pSZlibLRo+WNqNGSVLhOiqXmJgYOeWg1jJl9Rq55Pzz5R933CGdOnWyW73ly8LXqvT/a5XRyieeKPYHCK36bjdmjBlOY0SvHnJq8wOlXmwtuzU8W/N3yieF/03HzpptWwAAwfLvGy+7+GK58ZZbPNs3pt4zxSzT7+5vlkB1oe/Tk1u1lGlr18nFHv8OOz0x0XwH7JudLbEJCbYViD76BMBX/Kefu/p5q5+7XrVgwQJ5+LHH5d+vvCzNjzlZVkz9UAoKIi+yCgbBqscQrFZu+qV02NVXm5PGtm3b2lZvcl9KqyoNV9PGPS0XdzksoqEA1O7C22vzfpUXflvsawAABK0y9Y2cRKO60vfpNZdfLjffeWel+Q5LsIryRp8AVJ5g1Vm6dKk8+vg/ZfwzTxOsVmcu7OKLAspTXkaGuYy+siqpYjUhJcWEqjoRnFasnta8mdSNDX/yKrUtf6d8TMUqAFR5nEQD3kewiopCnwBUvmB1fyBYBVAp6biq/mOq+geqzt2nnCRHFC4PqF/P1xCm9Vu3SUZ+vtz3xVTbAgCoijiJBryPYBUVhT4BIFgNBpNXeYxWEOokPGsmTrQtAEqjgWqP2bOl29Spe4Wqqsuxx8m6mEgHAhBZvWO7dOnzf/YeAAAAAAAAwarnuMuzA2c3B7C30gJVp9uJJ0lmdrZEMrKKPvaPzVuk+5ln+RoAAAAAAAAK1fDFBvAKDYt04ipdAijZoRMmlBioOp2OPlo6HtVb5m7fYVtC90vuZmnfs6c5FgAAAAAAgEPFqsdooJqUlkawCkTJ+ffcK4vWrpV1W7faluDpY37bsEEueuhh2wIAAAAAAOBDsOoxDAUARFdcYqL89Y475afcvJDCVd33p+xNcv6dd5ljAAAAAAAA+KshEvnELogeJq8Coq/vuefJWTfeKFNXrZYF27fb1pLNz8uTqStXyek33CB9zxtoWwEAAAAAAIpQseoxsQkJ5gYguv7vvIEyevLHsqXJATJtfZYs2LhRcnbskJ27dpmbri8sbJu6Zq1sOeBAGf3RJ3LsRRfbRwMAAAAAAOyNYNVjWo8YIX2zs804qwCi64CDDpK///s1OTtttNTo1l2+25wnX/8yV2Zk/GzWYw4/Qv5y731y43/eMPsCAAAAAACUhGAVQLXT/cST5Monn5KHvp4u5yQdIqc2aWrWr3x6nNkGAAAAAABQFoJVj1kxdqzMaNvWLAGUr5xp08zNTRoHAAAAAAAQLIJVj8nPyZHtmZlmCaB8LRs92q7tvQ4AAAAAAFAWglWPaZqaKl0mTZLmgwbZFgDlwVWrOlStAgAAAACAUNQQKbCr8IK45GQTrtZNSrItAMpDcRWqVK0CAAAAAIBgUbHqMVpBp+OravUcgPIRWK3qULUKAAAAAACCRbDqMRr2LBk5knAHKEelVaZStQoAAAAAAIJBsOoxOgRAQkoKQwEA5USrUnWCOH2PFXfTieOKq2YFAAAAAADwR7DqMTppVbepU5m8CignOo5x76VL99zajRljbv5t+uMGAAAAAABAaQhWPUar5fQGoGLMGzDA3AAAAAAAAEJBsOoxOnHV9MREyUxLsy0AylNsQoK5AQAAAAAAhIJgFUC11jc729wAAAAAAABCQbDqMa1HjJAes2czxioAAAAAAADgYQSrHqOXJOvkOjo7OYDyN6NtW3MDAAAAAAAIBcGqx2Slp8vCwYPNEkD5256ZaW4AAAAAAAChIFj1mLyMDFkzcaJZAih/XSZNMjcAAAAAAIBQEKx6TEJKihlnVYcDAFD+mqammhsAAAAAAEAoCFY9RoPVdmPGEPQAFWTF2LHmBgAAAAAAEAqCVY/RsR51GID8nBzbAqA8LRk50twAAAAAAABCQbDqMTq+6o/du1NBB1QQrRLXGwAAAAAAQCgIVgFUa92mTjU3AAAAAACAUBCsekxSWpr0KygwSwDlT4fdYOgNAAAAAAAQKoJVANXa9MREcwMAAAAAAAgFwarH6NiqOsaqjrUKAAAAAAAAwJsIVj1GL0nOy8iQ7ZmZtgVAeeoxe7a5AQAAAAAAhIJg1WOapqZKuzFjmKUcqCBxycnmBgAAAAAAEAqCVY/RgKf1iBEEq0AFWTh4sLkBAAAAAACEgmDVY3QYAB1fVZcAyp++3xjTGAAAAAAAhIpg1WOy0tNN9ZwuAZQ/rRDXGwAAAAAAQCgIVj2mblKSGQ4gNiHBtgAoTzqmsd4AAAAAAABCQbDqMc0HDTIzlFNBB1QMHXaDoTcAAAAAAECoCFYBVGs/du9ubgAAAAAAAKEgWPWYzLQ0mZ6YKCvGjrUtAAAAAAAAALyGYNWD8nNyzA1A+etXUGBuAAAAAAAAoSBY9RgdY7Xb1KlmCQAAAAAo4ib5pRAFAOAFBKseUzcpSRJSUswSQPljjFX8P3vvASBZVab9P7dy7K4OkzMzwOAwzICkIQtIRkBRZEGFVTEtK6j/NbAK+n2gu58Kyuq6uizoigooQaJIlCxpCMPk2JM7d+V4/+c5996ZmpoKPT2pe+b9Dafr3nNPrjqHuk+99z2CIAiCIAiCIAiCMBREWB1mdN1/P5Zfey36nnnGjhEEYXeSmD9fB0EQBEEQBEEQBEEQhB1BhNVhBgUeblwlwqog7Bmm33yzDoIgCIIgCIIgCIIgCDuCCKvDjMjcuWi/8EJxBSAIe4iJ11yjgyAIgiAIgiAIgiAIwo4gwuowg6LqrPvuk82rBGEPsfGOO3QQBEEQBEEQBEEQBEHYEURYHWZwd8vMqlWyy6Ug7CEWX3mlDoIgCIIgCIIgCIIgCDuCCKvDDPpXfWXaNP0qCMLuh+43GARBEARBEARBEARBEHYEEVYFQdivef+bb+ogCIIgCIIgCIIgCIKwI4iwOsyYesMNOL63VzbTEQRBEARBEARBEARBEIRhjAirwxBPLKaDIAi7nxdaWnQQBEEQBEEQBEEQBEHYEURYHWZ03X8/Flx0kexSLgh7CG4UJ5vFCYIgCIIgCIIgCIKwo4iwOsxIzJ+vxdXMqlV2jCAIu5M5Tz+tgyAIgiAIgiAIgiAIwo4gwuowI3bKKZhy/fX6VRCE3Q/nmsw3QRAEYSRjGIaEfSQIwkii2md4XwoPXH+aDtWu7UtBEISdw9jQ0WGu7OjAvHnz7ChBEIT9h+XXXqtfp998s34VBEEQ9l8u/N5T+vX+75yqX0cKvDHeGBd/4SOdsdFemKZpnwm1eGXaNP103zErVyIwdaodK+wNZO0Z+ci6IzSCbvO4Jwn3AeJG68L2iMXqMENcAQjCnmXtLbfoIAiCIAiCIAiCIAiCsCOIsDrMkM2rBGHP0n7hhToIgiAIgiAIww9aS731gQ9sCc6mo7xncuL6nnlGxwmCIAjCnkaE1WEGzasZBEHYM8y67z4dBEEQBEEQhOGHc39E8ZTBEVb5pB/P+aRfZO5cHScIgiAIexoRVocZE6+5RvutmHrDDXaMIAi7E34ZF9cbgiAIgiAIw5d6vvAnfPnLYpgiCIIg7DVEWBUEYb+GGyAwCIIgCIIgCMMTblJVzXUT48decYV9JgiCIAh7HhFWhxncRIcij2ymIwiCIAiCIAiCYFHNalWsVQVBEIS9jQirwwz6DOJjyY7vIEEQdi90vcEgCIIgCIIgDF8qrVbFWlUQBEEYDoiwOszglwVupCNfEgRhz+BsiCAIgiAIgiAMb8qtVsVaVRAEQRgOiLA6zOCOlhRX+QusIAi7nwUXXaSDIAiCIAiCMLxxrFbFWlUQBEEYLoiwOszoe+YZ7V81MX++HSMIwu6k6/77dRAEQRAEQRCGP7RaFWtVQRAEYbggwuowg8Lq8muvFaFHEPYQU66/XgdBEARBEARhePL7Nzbjkl+/hyk3vIS2n3XgiOUH6eNLfr1AXxMEQRCEvYUIq8MMPtYSO+UUcQUgCHuIqTfcoIMgCIIg7Ku8+FzBPqpNozS//FnWPqpOf7+Jd98u2mfVefShvH1UnUZtGEwdjcq4686cfVSdXVHHruiHYPFaRxzH/Ph1fPfBZViydBMONNP4QKSAo9uD+njJ0k59jWmYVhheDGa+dawp2WfV2RPrRqM27OyawPJ3to5GY8n8jepo1E5BEIaGCKvDDPoKmvP00+IzSBD2EOIKQBAEQdjX+dXPM3XFCV5jmno89nCu7k07b9jrlUFx40ffT9tn1WEd9W78B1PHlz+ftM+q89hDO9cP8p1vpOyj6tx1Z7auCDKYOgTge4+twnE/eRO+VBozjQym+ExE3IDHMHXg8RRfSV/zqjRMe/0jK+3cwnCg0Xy767e5hnP6O1+vP9+Yf2fmG+s4/bgB+6w6V16aqNuPRm149ME8fnhT7fWPbfjIOfV/GGg0lrzOemoxmHVeEIShIcLqMKPQ16eDIAh7Btm8ShAEQdgXqHfDTUsm3nTXYsHbhbqCJvMvUKHeTfvdd2ZVHbWvs3yWU68elk9RshaDqYPjUGssKF5QXLjrt0Ovg31gqCeiLHiH/axdxkvP5+vWIQA3/XUN/t9THTg5UkBbqfZYO7SrNEz7o2fW6rzCnqPefOOcrCco8scUiqu14LUBVU6t+cY6WH+9+cY5XW/dceqv1Q/Od7ah1vrHNlh9rd0G9rPenG/UBsZz7ao/lvWFU647HAe2VRCEXYsIq8MMblz1QksLVsmjyYKwR+DGB7L5gSAIgjDSqSUW8mb87PO9dYUF3pCfdZ63pnjBvJdc7qt50+4ICyyjljBAYfeSy3w1hVO287gTPTXbOZg6KKDoOmqMBcWLq77kV/2ofp3ls+xG/fjaNwM1RRSnHxRXa8E+1uvrvkoyM7j+8pH+Gx5bhWNDeYR34G6VaeepPDf8ZZW4BdhJBvtekVpiH+fbZ7/or/k55xxrbjbqzjeKgbf8IlxzvrHss8711pxvzrrBNZBzsxoUPb/6zWDNdYNz/nv/FtLpqsE2HHqYu2YbKMw6/aw1Fk4baq2xFHWtdad6ftYxabJLt6PaWHIMmJfruPyoIwi7HhFWBUHYrzm+t1cHQRAEQRiOvLuqF0/N32Cf1aaWWEhhYt4J3ppCnnND/tkv1hYLedPP65OmuKretDvCwlnn1RY1KTpQnKglDNBqlvnZzqHU4YiirKPeWLAftYQc1sH6WUctgYMi9Ge/FKgporAfznhXE3IYx/H+2GX+uta5+yIU6y783lO47fGldkx1rvr9Ihzd4tohUdWBeY5sMlQZi+0YYSis3BjHZf/+Nzz4cocdU5tac4Hz7ZLL/TXXHoqFs2Zbc7qaOLtFFFXztVYd/DHFWTeq/TBEcfe4E9ScPpeC4vbXuQ5Q9LR+OKo+H50fnjpWV7eG121Q5ddqA/vONUGvXVXmfHkbalnFcg12xrJaG9g3rimso1oZztpG8bbaOAiCsHOIsDrMmHjNNXj/m2+Kj1VBEIR9gHVXh5F+8177TBAEYcehGPXTPy/UIkc9gXUwYmG1m3rnhryWxRWFDT4GSzHwEpWu2k17ubBQTZxwrDgpHtQUBh620rCd1UTNRnU4/axlAeeINOzHcSd6q/ajXIR2Hs0txxGhnX5UE1GcfrCcagIGhVeON9NUE5v2ByjW1RJYucN/IpnTj/YPldHIqzKyuixh6HDt4XvUSAyv9lnm/HPmW821xxYLawmnjihKqs03Z05z7eIPJtXmW7m4W60OR9yttW6Ur11f+1Zwu3XDaQPT1BIt2QZazNbqZ3kbWE5lGxyLV2csq4nQW9dPb1Vf1s76yXJYHtssCMKuQ4TVYQYfSY7MnYvA1Kl2jCAIu5NXpk3TQRB2F31/uBrJ535lnwmCIAyNRgJrNbGQYke5EFhNyHNuyAlfK8ULiht81Jbwpv3u320rkPAGnUIA87KeauKEY8VJqgkD2wmWFaLmYOqgcODUUWssHJGmlvig09SpwxGhCUWKSgvf8n5QRKk33k5fK+vYn6gmsP7h9Y2IlrYXvXeUJjOvytpknwk7Sz0xnHOhUjjl/HPmWzVBsVwsJJwLlfPFEV5JNYv68jnNcirnkiN6ltdRub6V11HtRx3nxxZSbf0rbwP7U9kG9pOUt6HSkr2yDZXrI+tw2lBrLJ11h6Fy7SpfPwndpYg7AEHYtRgbOjrMlR0dmDdvnh0l7E24O3n3Aw+g7YIL0H7hhXasIAi7i2cNQ7+ebMovt8Kuhxar7R/7Ifqe+ClCR1+K6Lnfsa8IgjAcoXBAPn3Ggfp1OLByc6KqkBoOeHQ7T507Dob6f9nitTEcPatfvzrwBn3WYR59M064Yz6trpybfN6QU2C8/fcRfc4bfoqHP/lFWJ8T7obNx+udPEepOu59NLrlnHkoPnzvByF9TuGiv88EfZk6nH78AP70SFTf9PMmf0fbOdg6nnihSR9Xq4P9oDjjiAuV/WIdFGedsWjUD+fcqZNU6wetfJ06q413eb8+9+M/6te9CT9Xu5N6vjvPP3YSbnihEwcjo3f83xkSRXVfZXjx4wtn2DEW9ep3SGQai06p3PaWh9UYTH17Mg1JDqJ/LKteeXyvuP5w7dkYb9luLnz4nLheR5z59Z1vpLQ46MwNzpWmZteW+VW59lAI/M7XU1vmCqmso3IOs45Zsz1aOCS//FkWA/0lvZYQlsl6nToq5yPXjdOPG8CrC5r1OWlUZ+W6UtmGyjWBIilF6FptIFxjy9swmLEsr6Ny7apcZ9jPa9Ta5NQ5NtoLU+6DhDpwc3XuA0QjQHGhVx0RVocZ3LRq9Xe/iynXX4+psoGVIOx2+GMGkR8yhN0BhdWxX7gHxWQv+p68Ff5px6D5kp/YVwVBGG44wupIYnQsgDu+fiY6Or3b3YBXCoG8wab1qCM0VN6Qk3IhgTfgFA7uVWU4UKwgzk175U1+pahZTTioFE4r20lhoGN1cUs7G9VRKRyQ8rGo1o9K8aFyLAbTD7bLcU9Aqo13uVjUqI7hIKzuTQ6d2oL/XjCAI0MleIydE3oKprHTZQjVofjOH3TOP3oSxrQEtbBaLihWmyuVgmKlQEnK155KUZSU11FtTjOuXDBsVAfnY7m4S8rXpmrrSvm6MZg2cB3isbMmkMG0wflBZjBjWbnuVK4rbGO5+EvKfyATYVVohAirjRFhdZjR98wz2mK1+eSTRegRBEEY4TjCqqZUQN+T/wEjMgqtn77TihMEYVjBDVueenujfTY82NyXwSuLOu2zrVDcOO/oiTht7vgt4kb5TX+1G/LKG+5KIZaUi4WVAiepFA4qb+pJuaBRTbwtL3cw7RxqHc5YVBNIWEe5dVq1OspFlmp1lAuntfqxI3UMB4FjsFaPQ2FzXxrX/vJV+2wrFFQ/fcYMTBsbRej/+xtOixbhxs4Lq5uLBi4/cowdYzEYi9yQr7G5bCSw9XNQj8HUtyfTkPAg2s618Pt3v2OfWbB8R1DlDzrEsVjl55+P0XMuVP744sDPPwXFanOFlP+AUm1tKl97qgmvxJlj9AvNuVUuepJycbaa8Fo+p6sJkuVzmmnLf6hyoGj5xItNerOrWv0cbBuqrTvEGctqaxtx1pUmtdawjspxKH+PRFgVGiHCamNEWBUEYb9m7S236FduHCcIu5pthFWb/r/9N0r5NNquugeGf9sv24IgCJVQVC0XOChuOIJqpbjBm/6PnBPXN9y1bsidG26KjtVu+iuFBW7Iws1hynGEA1pOlT8+71AualYTE9lORzht1E6KMOVWnw6DqcMZi2oCCXGstmqNRXkd1YQe4jy2O9TxLheZ93WBgz8SXPXTF+2zbQVVh0nXv4SDkd4lrgAWI4CO7x5nxwg7wrurevGvv3lTH1cTVB2ctYc4Yl+tueIIivy8V5srjjjLuVptrhBnrlNgrRQkiVMH51s14dURZ7muNaqjmiBJnDlNVwXV1keuBZOmuHe6n4MZywXvWP5XK+tw1hXWX0385Tg4/RNhVWiECKuN2XaGCnudzKpVSMyfrz+8giDsfpZfe60OgrCnaD7pM/A0jUbXzaeh2L3KjhUEQagPxY1LTpqKm686GpeecsB2AgehsEhBgb4EyzelKsfZ2IliJW/IK+ENOgVT3ngzVIoGhDtcc/MTZ4f7Srh5CoUDCggUBMoFT8JzZ4OVF58vVK3DaSfr4IYulQymDo4Fr5dv3FIOxQZnLBr1g+VVihuE5dYbb7b9rt9mG9Sx7YY4+zoUVG++6ij8308evo2oSg6fEEF3cdv3cih0F126LGHocM05ZuYo/T7Rn2q1Naccfv4p+NWaKx/7B79aW/J6zlebK1wHuDFTrbWJMB83t+Ocq1aHszN/+YZQ5bBter7WmI+EdVDwrLYuEa5NnNO11sfPfilgt6H6mlDez3ptoEDbcCzVWl0pqhJnXeEPX2xvJXocVpf0WAiCsPOIsDrM2HjHHXj98MO3WNEJgrB7iZ1yig6CsCeJHnUJ/FOPROctZyC3+nU7VhAEYXsGI6iWQysobTFVRWwkvOGmaEBxgwJpNRzxwtntupKt4kV14UCLAVNcWpSsLRx46woHTjt3pg6OBYWeavkJ66AA06gO7gReS+ihcEoLtlrjzXIpcNQSkJmH7dgfBA5+lmsJqg6XHjkG/Ub1sd4R+g2PKmusfSbsKKNjQf0+ffNjs2u+V5VwvnHdqDUf+fmnEMjPfLW5QjhfaG1Za23i2sM5fda51a+z3Ho/hBCnjprrwrk+/ag8X6vB+frD72dqro9OG2qtCWQwbeC60Wgsa+VnvWwnxd9aaZwflgRB2HlEWBUEYb9mztNP6yAIe5rwYecicsRF6L71HGTe+4sdKwiCsC207huMoOpwyeU+fcNe64acN9y80a4nPFAstATJ+uJFPeGAm6/QqrWmcKBu+tnOataohOXOOsy9U3VwLCg+1BJFWS6tthrVQZGlngjNOuqNN/vK11rj7Vjn7utQWG0k0l16xGhEI35sKFV/TwfDuqIbTaoMliUMDa43gxVUHfj55g8R1X5AcOA8qjVXCMVZ5q81V5x5VM0a1YFl1JrzxHl8v9ac55ymFWitdYX56B+1URsG0896beBY1moD4VjWEn8J19Za4i/R61Ksev2CIOwYIqwOM6becANONk39KgjC7oduN8T1hrC3CB58MppP/RJ6fvlxJF/+rR0rCIIwdHijzhv2euIGb7hnza59nTfzzN/opr6ecMCbduavJRwwvp54QShq7mwd7Ee1R2UdKJA0qoP56wk9LKPeeFM4rSUgExE4tuW2f5iJN+NAcghGvMzzVsLAf6syhD0PN1GqNVcIBcV6c555KXzWgz5J69XBH1Rq/RBCOGcb1UH/rfVgPxq1YWf7ybGstbaRRmPJa/XEX2ftEgRh55HNqwRB2K951rC+sPAHDUHY1VTbvKoa+U2L0ffETxH5wNWInP4VO1YQBGFwlG8gQ2hNWk/o4+Oh3DW7njDQqAw+us4dp+vd+A+mjHptYDvJztTBMurlH8xY0LK2ngAxmH40qoPIJjJb+b+Pr8b3VTguUkC4/rBtgaLqi0kPvnH6FHz7zCl2rLA7qVx7hJGHrDtCI2TzqsYM8n9Twp6CvlXpY5W+VgVBEIT9A++YgxE75zqkXvo1Bu7/lh0rCIIwNOoJjYRCYyORr1EZzF9PsCSDKaMeLH9n62iUfzBj0ciqazD9aJRG2JZ/PWMKvnzyBDwb9+hH+xuxNu/Saf/5pAkiqgqCIAh7FPk//DCDvwYk5s9HZpXsFC0Ie4L3v/mmDoKwt/G2jEfLudcht/Rv6Lvz83asIAiCIOyf3HT+dLx4zeEwo2G8lfNiVdaFRFHdL5mGDjxelTX0NTRHdNrvqzyCIAiCsCcRYXWY0X7hhZh+882yS7kg7CEic+fqIAjDAVcggpZzv4Vibwe6/+tiQB7NEgRBEPZjjpwUxWtfOxI3ffhgTJ3WisUI4Mm4WwceT53Wrq8xDdMKgiAIwp5GfKwKgrBfs/jKK/Xrwbffrl8FYVcyWB+r1Yi/+Bvk45vR+tm74Y6027GCIAjbI34O9w3E16Ew0pC1Z+Qj647QCPGx2hixWB1m0A0A/avyVRCE3Q/nm/g0FoYj0eM+CW/7NHTf8kEUNi2xYwVBEARBEARBEIThggirw4yu++/XFnR8FQRh9zPxmmt0EIThSPT9H0Hw4JPQ9ZMzkFv+oh0rCIKwY7z4XME+qk2jNL/8WdY+qg53vucO/fV49KG8fVSdRm0YTB2NyuAO//XYFXXsin4Iwr7AYOZCx5qSfVadPbFuNGrDzq4Jg+lno+uN1i62sVEZjdopCMLQEGF1mBGYOlX7e6SZtSAIux/6NGYQhOFKaNaZiB5zGTp/ejbS8+VHN0EQdpxf/TxTV5zgNaapx2MP5+retPOGvV4ZFBZ+9P20fVYd1lHvxn8wdXz580n7rDqPPbRz/SDf+UbKPqrOXXdm64ogg6lDEPYF+DmvN9/u+m1Ohdo/2nBOf+fr9ecb69jZdePDZ8fts+pceWlCp6sF1656a+xg+tmoDY3WLl5/9MHabaDwyrVJEIRdjwirw4yxV1yhdygXCzpB2DPQ7Ya43hCGO4EDj0fLOd9A72+vQuqF2+xYQRCErdS74eYNNW+6a7Hg7UJdYYL5F6hQ76b9bnXD/lgdYYHls5x69bD8ejf+g6mD41BrLCheUPyoJ3A0qoN9sASKOuP5DvtZu4yXns/XrUMQRhL15hvnZL35xrnwq5/Xvs78A6oczrlaWPNx59YN1lGrHyyf1+qVwbWr3ho72H42Gst6azDXHdZTC7ZP1h1B2D2IsCoIwn7N64cfroMgDHf8k+ag7fzvIP6Xf8PAo9+3YwVBECxqiRcUEs8+36tvymvx2MN5nHWet6ZYyLyXXO6rafXFm34GllFLGOBN/SWX+WoKIGzncSd6arZzMHVQQNF11BgLWo1d9SV/TYGD5bPsRv342jcDqp3VBQqnHxQ5asE+1uurIIwkaol9W9eN2vNtUHO6ztrTaH3bkTpq9YNz/ie/COvXalB4PfQw925tgzOWtaz+HeGZr6yrGs46zzETBGHXIsLqMGPVDTfoHdfW3nKLHSMIgiAIFp5RB6Dl3OuQefNP6P/jV+1YQRAEPg5bXbygBdO8E7w1hTzeiE+a7MJnv1hbLORjrrw+aYqrqjDAciksnHVebVGTQuP3/i1UU3yg1Szzs51DqYNiAvOxjnpjwX7UEjhYB+tnHbWEHIoTn/1SoKZwyn44411NwGAcx/tjl/nrWtkJwkihlthHsfCsc33159sJHjVXvFUFRUeQ/Oo3gzXXjfL1bajrhlPH3b+rvXbVKp9QcOV8rteGwfaz1rrDsfzYP/jrjiXHgT8sVbNKddZ5jkMtgVgQhKEjwuowpNDXp4MgCLufk01TB0EYjvTFk3j21Xfw6/ufwKp1m3ScOzoKLed+E7k1b6Dv11fqOEEQhMGIhdWEPEcUoPhQTSzkDT8fUeVN+SUqXTVhwBFQWE81UdOx4mxuNmqKDxQsnXZWExca1eH0k3VUGwtHvGA/agkc5SINrVsrccQJpx/VLHydfrCcagIGhVdHhGGbBWGkw89yrfnGa7XmG+c0r3G+VpvznB9cl+qtG+XrW7UyOAedOV1r3XDq6O/b/lF8xxLUWjfqz/m6a5e6xn5WE6HL21DtxytnLJmm1ljyxy9a7vJHn2rrjrPOn63aUM+aXhCEoSHC6jCDPlbnPP20fhUEQRD2bz593c047Ypv6NcZZ/yjFlmJyxtE61n/H8xUD7p/9iGY+eoWDoIg7D9Uu+HmDXu5EMjzShxRgFQTDigwnnWuVx9TGKi06uINP4UA5mU91URNx4qTUGD44U3bigvbCZYVouZg6qB44dRRayxoNUbqCRz16nDECUKRt9LCt7wfFDDqjbfT18o6BGGkwTldbb5RCCScS5WCoyMWOnOhmqBYPqdZR6XFaaN1g1BE5FysNaedH2wIrdmr9cNpAy1G6815tqEyv9PPegJxeRuq/XjVaCxZnvPjF+vgOess58XnrbWN8LXa2iQIwtARYXWYEZg6FbFTTtGvgiDsfip9rG684w4dHKvxxPz5+pyvhPFOGoeu++/fJk1m1Sp9zngHJ09luX3PPKPPiZPGgdd4XllueRqnbl4j9cqVPu35Pk38jxQ8s84dcnjgyZfw5U9egD/99F8Ri4bxm/uf0HU4NJ38ObiDzei65XQU+9bZsYIg7I9UEwspAjhCYLWb+nJRgFBAqBQOaMV5yeVby6i06uINunPDTqqJmpXibeWjquWCJeuoFEAGUwfTU0Ah1caC4gXzkWpj4Tyi74zFYPpRaflV3g/CNOUCRuV417JwE4SRBOdb5Q8u5aIoP++Vwmm5WEiqCYrlc5pzqdLitNG64VjKO1TO6XJxl9CHKde7chxLUML21pvz1daVyn5WitCVbWAfWGc55cJrtbFkec6PX4Rlla+xXHeYj4HwfdmX3ZCsuzqM9Jv32meCsGcQYXWYwRv85ddeu81NvCAIu4/E/PlbRDSy+MordWA82fTrX+vzdT/5iT5nWieNk4/XeO4IdMzLc85lh9Xf/a6Oc+Y20/Kc8aS8XEdQdOrmK2G8k8ahstxqdTt5pE97r087w7e/eBkuOG0ePnXR6VpopXuAcqLHXgrf+Fno+skZyK+zLFoFQdj/4E3zLHUDX37DXS4Ekkqrr0ohsPIxUeemn2KgQ6VVl/P4vEOlqFkpJvK1UgCpbCcFkPJ2NqqjUkCpHItK8YJUChzOI/oOjfpBWF65cFp1vMsEjGrCazUrO0EYSXBONKlQPqd57IiipFI4LRcLSaWgWG1OD2bdqJzT9daNStGTdXCec60grMuxBHVgfWybQ7klKKlcY6v1s1yErtaGjtWlumtX5ViW//hFuEZzrXHgMdvlwLLK1619kb4/XI3kc7+yzwRh9yPC6jAjoW70uXGVc1MvCMLu5eDbb0f7hRfaZ5Y7DgZPLKbPw3Pm6HO+EsY7aRzaLrhAn0fmztXntDjneXm5Yz71KR3nlMu0PG8++WR9TnjO4MBrPHfqdsotT+PU7Vi5O+XS8t3BySN92vN9WvtPIRQWPDykcNuNluDbN5DQr6vWbcaUCWO05WolkcMvQOjQs9B1yxnILpb/fwjC/kr5DXctIbDc6ouiQPlNPSm/6abVk/P4vEOlVRfTlt/0sz6eO8JApZhIyoXTau2k+LBNOxvUUSmgkPKxqBQviFXHVmvRSpGGdZQLOdX6UW75NRThtbIOQRiplM+3SlGU8HNeLpzyM185F8oFxWpzulw4rbVulAun1eZb+Q8ulT/YkPLNn1hXuSUoYXpHtGQbWGZ5G1ifs3ZREK3Wz3Kr/1ptaLR2OWuwI7yWi788dsonleIv28Dz8jT7Gq3n/SsST/wY8Ye/Z8cIwu7F2NDRYa7s6MC8efPsKGFvQusoWj05AoAgCIIwcuHjSGO/cI99tmPQMrX92I/p4zkzD8Bbi1bgO1/8B3znS5fpuGpkVryMvsdvRusnf4XgkR+3YwVB2NcxDAMb4y36Bvsj58TxxAtN2o/prMM821iNkS9/PomvfSuob+4pQtz++4h9xYKiCIWDn/wijCsvTeidqitv7I+a1Y8nXmzSN/20yKosg35aWf5VX/Lj9OMH8KdHotuID2zn0aqMxWtjDdtJ8cJpTzmDqcMZC/aDVlzl4gJhP+59NFpzLMrr+LAqi20oFzAIy3h1QfOQx5t1dKwu6jRjo70wZUNNYQRRvvZcoz7r/HzXmgvOfOOcpjD4vR+E7CsWzNfU7Nol68Zg5jTr4PpQTnk/uG58799C2815J98vf5ZFc8zQQmg55WtXtX4yHxlMG77zjZQWXuuNJUVo1lcO882a7VHBXXOdd/Lta+uO8927mOxF35O3wj/tGDRfYj3RJgwNPrH3QkuLNjw5vrfXjhXKEYvVYQYtp2bdd5+IqoIgCPs5tEx98o4faFF19bpN2h3AP39yq3VtNQIHHIvWD30Hffd8DYln/sOOFQRhf6HcGqrSWsvBsfqiWFlpKUV4A0/BlDf3DJWiKqHPQVp18ca80oqT0KKK1qC86a+0KiM8dyw1q1nNEqedrKP8MVaHwdTBseB11lNtLCgqOGPRqB8sr1JgIY7lV63xdh4Nrl/HVutcQRiJcH44c63WXHAsMatZaRLuaM9r9ea0Y3FaaYXpUL6+1ZpvtJytZlVLWAfLd9a/anOeYiXXSJbTqA3V+ulY/Q+mDayn3lhqVwPV1sdzrc31mJ/trYRl7uvrjjvcgrbzvoXCxoXoua22UYIg7ApEWB1m8NcA+udzfAIKgiAI+y8nHzUbr//pVnS9fPeWDawaQX+rred/G8ln/xPxhyzfsIIg7D/QMpPWXNWECUJhgRZMFCacTVkq4U03fX9WugFwoBUrRYNaAgrr5QYrFCWriRuE4gPbqdNWES+cdu5MHRwLWm5Vy08ckaVRHfSJWE0gIRQ1aKFWa7xZLgWMWgIy87AdFFIEYSRDsa/e2uMIp7XEQuahqMr5VmtO0+WAs25Uq4NziWtCvTlNlwO1RE/CfLQYrbX+cc5zXWFZtdYutoH+qistTYnTz1oCM2EbvvN1Wp26q/aTY8m1q9aPX8zP+llHuf9VB5a5X6w7Lg9iH7wGyKfRdevZMLOWey1B2NWIsDrMoH/VV6ZN06+CIAiCMBQ8rZPQeu51yCx4DL1/uNqOFQRhf4DWUHzctZYwwRtq3nTXEgWIIxxQ/KyGIwzUElAIBRDto7WKuEF4U892VrO2IiyX1mk7UwfHgiJOLfGC5VJkaVQHH92tJ0Kzjnrjzb7ytdZ4OxZugjCSodjXaO1ptG5wnukfdXZi3eCPIfXqsDZ3qr1u8DqtSWvVwXxcN6pZghKnDbXKJxSh6/WTP1416ifbUEv8Jbqda6z1rRr707rTfNJn4Gkaja6bT0Ox29p8VhB2JSKsCoIgCMI+iCsUQ8u530Rp8xL0/PeldqwgCPs6vOGmBVM1KyYH3qzXEgUIb8iZv54wQAGkloBCKIAwfy1xg/G05qpXB0XNna2D/ahmNeZAgaNRHcxfS5xgHSyj3nhTwKglkBAtvMaq90EQRgrOfNuZdYOCYqM5zbm4M+sGf3CpVwfL55yvNaeZj3O2miWoA9tQ6wcdQhF6MGtXo7Gs9eMXYf2Vm2+Vs7+tO9GjLoF/6pHovOUM5Fa/bscKwq5BNq8ahjhuAJxdqQVBEISRyc5sXrUr6X/uNpTSCbR97h4YwW03SRAEYeTjbCDjQKuwekIfHx8dqOE/0KFRGbSEalI3/7WEATKYMuq1ge0kO1MHy6iXfzBjQcsxiqe1GEw/GtVBZPMqYaRRufbUeszfYVfM6T21vtXLvyfWrkZjORjYjnptIPvq5lW1SC9+FvEX7kDLP/4GgfedaccK9ZDNqxojwqogCIIg7CaGi7BK4q/ehey699B21V3wtB9gxwqCsC9QKW4IIxMRVoWRhqw9I5/9TVgl2VWvoe/xm9H88VsRPvZyO1aohQirjan/s6mwx+m6/34suOgibLzjDjtGEARBEHYePgIVmn4sum45E7lVr9qxgiAIgiAIgrD/QJcArRd8B/EHv43EEz+2YwVh6IiwOsxIzJ+vxdXMKnGqLAiCIOxaQrPPRuT9H0bXrecg8+5jdqwgCIIgCIIg7D94xxyM2DnXIfXSrzFw/7fsWEEYGiKsDjNip5yCKddfr18FQRAEYVcTPPhkxE7/Z/TcdhlSL//GjhUEQRAEQRCE/Qdvy3i0nHsdckv/hr47P2/HCsKOI8LqMIOC6tQbbhBhVRAEQdht+Ke8H60f+jb6H7wBib/+yI4VBEEQBEEQhP0HVyCClnO/hWJvB7r/62JA/FwLQ0CE1WGGuAIQBEEQ9gTeMQeh9bzrkHzlf+URKEEQBEEQBGG/JXbql+B2e9B5y2koJrrsWEEYHCKsDjNk8ypBEARhT+FpHofWc69Ddtnz6PvtVXasIAiCIAw/Fr38Mu7+/k34zhmn4dqj3o/PHDRDv/Kc8bwuCIIwVKLHfRLe9mnovuWDKGxaYscKQmNEWB1meGIxHQRBEARhT+Dyh9F6zjdQ6l+Prl98GGapaF8RBEEQhL1PorcX//O1r+J//vmfsOnRR3CY4cIZY0fjslnvw5nqleeM/5+r/wn/fe01Or0wPHjxuYJ9VJ3+fhMda0r2WXUefShvH1VnMHW8+3b97zaN2tAo/67oZ6Prd92Zs4+qwzY2KqNROwUg+v6PIHjwSej6yRnILX/RjhWE+oiwOsyYeM01OF59GaCfVUEQBEHYUzR/4Itwe3z6V/pSotOOFQRhX2AwN9ON0vzyZ1n7qDoUDhqVsScEkkZ1NBInBlNHo3YOph+N0ggWz9/1B1x32geQXvAuzpkwHoe1tWJUKIiQx6tvZIPqleeMP2fieGTeW4BvnXoKnlP5hL3Pr36eqSv23fXbnAq11xbOle98PWWfVYd11JtPvMY0tWAdHz47bp9V58pLEzpdLR57OFd37RlMPxu14bGHcnXHktcffbB2G7iu3XVn/XVcsAjNOhPRYy5D50/PRnr+/XasINRGhFVBEARBEDRNfARq9HR03nwaChsX2bGCIIx0KCrUExQpCNQTHsjdv8vWvamneFHvpn2wAkm9dg5GIGlUB9vYqB8N6/hGqq7IMph+iMDRmJfuvw8P33IzThjVjkMDfhh2fC14fXYoiBNHj8Kjt9yi8wu7n1rziXNEf9brCIovPc+1p/Z15h9Q5dT7saORYHi3uvZYHdHTqaNWP1g+r9Urg4Imhc1aDLafjcaynnC64J2irqcWbF+9PgjbEjjweLSc8w30/vYqpF64zY4VhOqIsDrMWKu+BLwybZp+FQRBEIQ9TeSIixCaeSo6bzlD+17dUbgJoyAIe55awgNvyHmz/uJztW+oKTxQXK0lFmphYXWprkDCMnjjXwtHOKglOA62nYOpo9ZYMH6BCj+8KW3HbM9g6mA5tQQKpx/1RJZGdQhAZ0cH/vfb/4ojmqIYHQrZsYOD6Q9viuj8LEfYvdQS+/gZv+RyX01BkXOF4azzvDUFRc4Vq4zqP3Zw3Tr7fG/N+bQjddTqB+fyT34RrjmnuR4ceph7t7bBGcsffb/62uWseXxlXdV47OG8bkMjq/5K9ufvdf5Jc9B2/ncQ/8u/YeDR79uxgrA9IqwOMwp9fcisWqVfBUEQBGFvEJp1BqLzLkf3recg89bgHoHqe+YZvfkigyAIe55awgNvyM8616utmarBm3De7H/tmwH9uGo1KCh8799CDQUSChy1hFMKByyjlnDKdh53oqduOwdTx1e/Gaw5FuwHrzcSQBrVcfvvIzVFFme8OaYsq5LB1FGL/Ung+PXXvoq5kybtsKjqwHxzJkzAr7/6FTumOhxT2TR456gl9nGunHWur6agqOf8CR41771VBUVnrtSbs7TQnHeCV68dteqg6HnWeb6qPwyV10Gr/GpwTapVPuFa8LHL/HXbMNh+1lq7OJYf+wd/3bHkOFxymU+1Z/s6KLhOmuzS41Br7aqE3+ve+sAH9vvvdZ5RB6Dl3OuQefNP6P/jV+1YQdgWEVaHGe0XXohZ992HsVdcYccIgiAIwtD46f8+gFnnfQ6tx3wU533+eixauda+0pjggSeg5Zxvofe3n0fyuV/asdvjCKr88t11v/ihEoS9RS1BkjfkvKHnTX81IU/f9Ktrn/1SQPsJrIZj6VTrpp6CLIUD3vhXE04d4YA3/fXaSRGmVjsHW8dVX/LXrIPxFDQZqlltOQJIvTrY/7PVOFCoqDYW5eNdTeBw6vjsF9V474DAsT/9cPXmE39Fcv06HOz32TFDY2YwgOS6tbq8ShLz52P5tdfq/3et+8lP7FhhKFQTFJ35yGu1BEVnrnBdqSYocq5QFG1uNqrWQZz1i4JhtTI4xxzhtdoPQ+V19PdZ87scxxKUoiTLqLY2cX2s1wa9tqlr7Gc1Ebq8DZOmuGqOJdPUGkuu3VzX9DpeZV1xxF+uXbXWRwdHUGXg8f7GM39/Gz/8nz/hzgefRi5vCfru6Ci0nPtN5Na8gb5fX6njBKEcEVaHGZG5c7W4Gpg61Y4RBEEQhB2HoupXfvBLLF+zAbNmTMFjz72Gi7703S1fEgeDb9JhaD3/24j/9UeIP3KTHWshgqogDC94Y18pFpaLG7SGqnbD7QiavKnn4/7VhAWKCrxOcaDaY/S0Grvkcr++8a920+6IiaSaOFHezlqCY6M6HOGVVBuLcoGE/a01Fg37ocombGelwDHY8aY4wnZwrJm+FvvrOvv3e+/FeL/fPts5xvt9eFWV58AnAx1Bla7X+JSgPCm4c3BdqJwLjlhIqgmn5XOllqDIuUJRlLCOSovT8rWJ5VSzuNc/pqj6rfVr+x+GnPWPVJvT7IfThmo/uFS2odaawLFw0tRrwyWX+Xd4LFkeXaA47ai2rrz4/Na1i68ss5L9XVAlX/23X+L0K7+Jb/zof/Cpb/wQcy74whajBJc3iNaz/j+YqR50/+xDMPPbi+jC/ouxoaPDXNnRgXnz5tlRwt6Ei1hi/nzETjlFi6yCIAjCyGXd1WGM/cI99tmehZaqFFVXPnkHxo1q1b++84vizvDFc4/AjV/7kbbuqXeT74nF7KO9w96uf2cZqe0fyeM+0j8zx6r5+JtHouAGLvQF6EBxccHbBXztW0F9fvrxA/iTSsebb8Kbb+52fa+KIxQ8abVFq08HCqmzDvNocYLpTz9uAK8uaLavWjf1LOOJF5r0OTd2mjXbo61THXidbgB4488yrvl8Uj9O79ConYOp48PnxHXfWQdFg8qxKO8HYR1OeaRyLGr1g+ILhYnK9KSyH0fN6se9j0Z1m0ijOsZGe2Gapr4fqLbO0vDimJUr7bN9l2+efAKODYcR2wXial82i5eTSVz/69/qMeVj/5VCqjOuzjXnPoz3ZHwveJ2GL2TVDTfoVz5dyHhed9IwjvlXf/e7Os2U66/XawsF3Ozq1Wi74AJdNst1rGQPvv12/Uqxl3knfPnLum6+95t+/WuE58zBVLtOx2J5+s036/rYlv5nn8WYT31K181yWQ6Z8/TT+pV5KCazLewD+8i6WYdT9+uHH67r5lOTjGe5rJvpWRfzMw3hOLFPLJf9vkXlu3FtDB9R8698PvFz7lhIkvL5SThX+GPJ935guXqotvaUz1HOnaPVfFqs6nKonNNfVusK595g66icjzyvXJsq2125buyONlSuKzx31h1S2aZf/iyLgf7SlnWncl2h+EtLWadfbBN/9HHWx7PUunOH+lzy/ayGMz/42eJn2XnClp8L7g1Dju/t3fK54GeXnzd+bnnMOF5jGsI8zMsyWBbLZNmcG/zc8rP4QkuLTvv+N9/Un8nFV16pP7sTr7lGfyb5WXc+kyerNZPwnPHtJ/ow8xc7vnEdLVUpqrY0RXDnD7+Otxev1N+bzzrxSDz0C2tOO8Rf/j3y3SvR+tm74I5NsGP3XZz3pPx9FLZFhNVhBv9Hxv8ZO4uRIAiCMHLZm8IqH/+npepzd/5Qnz/+whs456pv6+Oh8vmTJ+Hrh03HpgdX6S/FgiAMD85TYVm8Zbubft6QO4ImqbzhrhQCeVNfKZBUipwUDmhV5dzkV97UUwTlzvzOTXw1oYCC4xMvNm0pk9dp4elYZVW2s1odFDQcYaBSeCWVY1HZj8HUMZh+lAunlePNMokjolQb73IhhwLHby+8cFj/cFXO7mrLHQEfPnLgDHjd1udhZ8gXi3j3tTdwVDqjxYFqOMKRI8xQuKGAQyGHgg6FHQo8hOICy6EARCFopIhNu6tP9E77A7X2NBIgKwVFzpVysbByflUKkqRStKyc05V1VIqerKNcnK1WR/naVG1d4bpBC9ZywZjz12lD5Ryv1s/yNbZWG5x1pdq6U20sy9edyrWL4zBpinvLWscyy38gu1itOz9Uc6DW97qRJqz+hzr+o44ZGheePg9//Mm/6uMTL/saFixbjZ5Xtv8un3jzAWSWPY/Wz/wB3gmz7dh9E+c9KX8fhW0RYXWYwQWDvxA6vzwKgiAII5e9KazSpyof///BV/8Rhx08DZd97d/QO6BuEG7/Pk45+jA71eAxC1n0P/kfcLVMRMsVv9ZflvlFuPKLOL+AOzdrewt+ARzJjNT2j+RxH+mfmVHqxnVjvGUbsbDaDTnjyoW8ypt+QrGC13mTzpt+PqbqpCeMK7d2qhRUSLngUSlYkh1tZ606HHGiUR2VFluEcXyk1ulHpThByvtRKZiQcoGjVj/K46rVUS7kNBI49hf+cPCBuHjmQfAYW8dpqFBYvXflKnzr05/VlprVxtYRjijwVFqW8r7M3dy8xeCl0mKV/y9kOoo/FIm4lvB+jlAEIrQEdNKwXLaBcRQpmIewHObldZbLNMzDNIzjNceikOeMZxoGHrNsUp6G8DrzMg3LJSyXOHmYhjANA9MzECePc87rDoxraWnRP+qUz4VqYmHlXCifvw7lgmKlKErK66g2p1lHuXBaPn8dyteSSpGUlIuQ1daV8vWvURt4XPlDFSnvZ602NDW76o6lsz5WjqtD+fhWWz/LRWrHUr7e9zrOj5GCYWx9v4fCCe+fhWd+8+/Y0NmDaaddgemTx2HBQ/9lX92W1MInkXj5d2j9zO/hP9iac/sinOsirNZHhFVBEARB2E3sTWGVPqHoU3Xp6vV2jPoi/ckL8KOvX2WfDZ5Cogt9T9yKwIEnovmjP7ZjLSq/iI+0L+CCsC/AG0kKq+WWnNVEAeLc1Dc1G1VvyMvFi2riBnFu2qsJC6Rc1KwmJpYLA/XaScGRfl8b1VFNOCgfi0b9qGaZRir7UW5VS9gPx/JrqONdLqIMRuDY2z9cleOIbbua6y+7FMc3N6N5JzevIo4rgO8/+7w+p3haKbDK/7eGjrP2lM/pWvPNmQtcNyrFQlI+F6qJoqzDES1r1eEIhlzDqq0b5etbufjoUN6PamsXcfJxzjfHDL0+lOO0oVY/mY8Mpg3VhFdSPpaVP/gQZ+2aNdtddRzKfyhy1h2Hkf69bqjfvbkHAX2q8nvzvLmH4NV3lqBQLOLH37gK//yJC+xU25NZ8TL6Hr8ZrZ/8FYJHftyO3bcQYbUxO/8zoLBL4Yd2d31JEQRBEPYfZk6biLce+E/8+gdf01artFQdkqjatRK9D92I4NyLthNVCa1t+IWbj3Txy7cgCHsPCgDOpkvcJZobMVVCC1VujkI/pM5mT+WUb47i7HZdCeMcyy1nY5dynI2bKFgyVAoTFEsoCPAahYdq7aRYwV31G9XBclheZR3bjkXtflBo4XicdW7tOih0MJSLqoT1Mq5ePyhcsPzyzbXK0bt4q/eqnHrrqmNVOBwC27Y7wgGHzcGm3PY7uA+FTek0pr5vln1mWZFybOlflHUJu4byOV1rvnFOcy5wrlSb05wLvMZyOH/LRVXC81n2fCvfjKkcZ9d8zlv6eK2E6xvnG9evavlZB8t35nzlukIoVnL9ZDmN2lCtn5dc7tP9HEwb9DpdZyz1xlfnbf8DBDfD4kZbzM/2VsIyf/Xz6nNsf/1e5/N6cN/Prtc+Vfn4Py1VG4mqJHDAsWj90HfQd8/XkHiGjgiE/RERVocZ/BWVvwY4j5kIgiAIwlDhl8TLzv8AvvaPHxnS4/+5jrfR8+D/QfSDX0XTOd+yY6vjfBF3NsMQBGHvwBtmWnM5u0RXwpt6CgK8Ia8mBPKmnmIhrapYVqW4QZxd9fWO2+dvLxwwD8UR7uJdTbAkFHh5nQJCtXZqwXEQddz9u607h1fC9tNyq5pIQ9gG1lFLhHbq+NXPMlVFUUJRg0J0rX5QyGEbawmvrINWucxfyf4qcBz9kY9gfXb7Hd6HwoZcXpV3sX22FT7KLwLrroViH9eemvPNFk5riYXlc7qaKEro35l1MG21OpwfhmqJu858qyV6EuajxWi9Oc91hWXVmvNsg1671HElTj9rCcxEr11fT2lRtFo/nR9kqv3gQ5if9ddbd9jOauuOw/74vY5GCdyoij5V+fh/I1HVwTd+FlrP/zaSz/4n4g9tu9GVsH8gwqogCIIgCNuRXvo8eh+5CS2X/yfCJw7e0tXx6yYIwt6BVpY//H6mpqDpCAu1rLGIIxzUu+mnOEJqlUGRhRZR1W7qCQXeRu2k+EDq1UGrrWrCK+FYUCCuJdKwXNbBuobaD4oTrKNeP+gGoJbwShyr1lrsbwLH4ad/EKFx47EoY1lOD5VFqTRC4yfo8mpBgZUb5gg7D8U+WoDXmm/OnOY84HE1OJe1dXcVUZRwvrGOalaaRM/lKa66dVg/qFQXXom26lfXa9XBfFxDq1mCEqcNtconXFfq9ZNrV6N+sg21xF+i21ln3XEsaxsh3+sGh6d1ElrPvQ6ZBY+h9w9X27HC/kL1WSbsNfh4Cn0nycZVgiAIwt4iteBxxF/6LdqufgSBORfZsYIgjAT0Tb26ka4lBBIKefVuyClesIxq1lYOFEBqCSiEIgtv7Gvd1A+2nY3qoLVWvTp4vZ7AwX7UEpAJ63CEmmqwDook9fpBK7tawivheNNXYyP2J4Hjih/9GG+tXYfNqZQds2Mw39vr1+OKH99sxwi7m8HOt3pzmoIi87OsajjrRr06ON/q1cEfderVwfK59lWzBCXMxznbaM43Wlca9XMwY0lxtBasf1esO8LgcYViaDn3myhtXoKe/77UjhX2B2TzKkEQBEHYTezNzauGSuKN+5BZ+QraPns3PGNn2rGCIAxnnA1kHGo9autAa9VargIcaFlWS1ggtISiJWYtYYDQ6queOFvPmoqwnaReHYNpZ6M6Go0FLccontZiV9RBKjeR2d956f778MD3b8L7Y80YHdp2A6B6UFR9va8fF3zzW5h3ofw4uDsZytpDdmZON7q+q9a3evn3xNrVaCwHA9tRrw1kX1t3hst37/7nbkMpnUDb5+6BEdx2g7KRhmxe1RgRVocZ3IWv+4EH0HbBBfqxH0EQBGHkMtKE1YEXf4PiwGa0XnUXXJFRdqwgCMOdSnFDGJmIsLo9f/vdnfjj//t3HDh6FGaHQqgnEXHk3k2msKSzExd/7f/DSZddbl0Qdhuy9ox8RFjdfcRfvQvZde+hTX2v9rQfYMeOPERYbUz9n02FPU5i/nxsvOMO/SoIgiAIe4r+p3+OYiGHtmv+KqKqIAiCMCw46R8uw01PPYPg+w7FI+vW4+3uHnSm0kgX8uC2Oyn1ynPGP7J2PYKHztbpRVQVBGFvEz3qEoSmH4uuW85EbtWrdqywLyLC6jCDvpPoZzUyd64dIwiCIAi7j1I2iZ5HfgBX83i0f/5eGK7aj6UJgiAIwp4m0tKCz9x8C/7xp/+BMWefg7fNEl5fuhx/e+VVPL5xsz5n/D/e+h/49I9v1ukFQRCGA6HZZyPy/g+j69ZzkHn3MTtW2NcQVwCCIAiCsJsY7q4ACv0b0PfkrQgeeg6aLrzJjhUEYaQhj+PuG4grgMHz1gc+oB9P5aa/wt5D1p6Rj7gC2DNkV7+OvsdvQeySmxE69pN27MhAXAE0RixWhxmZVau0GwB+eAVBEARhd5HftAQ9D92I8DGfEFFVEARBGDH0PfOMDrxn4v4UgiAIwx3/lPej9UPfRv+DNyDx1x/ZscK+ggirwwz6V3398MOx9pZb7BhBEARB2LXwV/OeP/8fNJ9/AyIf/KodKwiCIAjDn9Xf/a59tO2xIAjCcMY75iC0nncdkq/8Lwbu/5YdK+wLiLAqCIIgCPsR6cXPou+Jn6L103eOuEeRBEEQhP0bx1rVQaxWBUEYSXiax6H13OuQXfY8+n57lR0rjHREWB1mTL3hBpxsmvpVEARBEHYlqXceReL1P6H96kcQOPQsO1YQBEEQRgbVLFTFalUQhJGEyx9G6znfQKl/Pbp+8WGYpaJ9RRipiLAqCIIgCPsB8VfvQnrFK2i/5nH4ph5lxwqCIAjCyKDSWtVBrFYFQRiJNH/gi3B7fOi+5YMoJTrtWGEkIsLqMIO+Veljlb5WBUEQBGFX0P/cbSj2bcKoa56Ap/0AO1YQBEEQRg71LFPFalUQhJFI03GfhHf0dHTefBoKGxfZscJIQ4TVYUahr0//6ppZtcqOEQRBEIShYZYK6HviJ4Dbh7YvPwYj2GRfEQRBEISRg3N/FJg6VQcH55z3UNWsWQVBEIY7kSMuQmjmqei85Qzte1UYeRgbOjrMlR0dmDdvnh0l7E34pYFfCiJz5yJ2yil2rCAIgjASWXd1GGO/cI99NjT64km8tWgFVq3bhJOPmo2pE8bYV+pTSqmbzCdvhWfKkWj5+K12rCAI+yKGYdhHwkjHNE37SKjHs/ZnnntTCHsPWXv2DfaldWdXfPfeW6SXPo+Bp/4Drf/4GwTmXGjHNoYaEvWj3QV/uHqhpQWeWAzH9/basUI5IqwKgiAIwm5iV3y5+8g//1888ORL9hnw5B0/0AJrPQo9Heh78qcIHfExRM+/3o4VBEEQhH0D5+m+cutVQRCE4SCspjM5BAM++2zHyHW8jb4nbkHTh76H8IlX2bHVoUHeup/8RAurx6xcacfuekRYbYwIq8MMTgrnFwcGfoidLw7OrxC8TpxzXmc6ftCdLxe10vA609UrtzLNYMqtl6ZWuaQyzY6U66QZTLmVaQZTbr00tcollWl2pFwnzWDKrUwzmHLrpalVLqlMsyPlOmkGU25lmsGUWy9NrXJJZZodKddJM5hyK9MMptx6aWqVSyrT7Ei5TprBlFuZZjDl1ktTq1xSmWZHynXSDKbcyjSDKbdeGue8/7bjMfE/Uvp4Z/jyJy/ASUfOxqevuxkXnDYPt914rX1le3LrF6Dvrz9B9OxvIHLKP9mxgiAIgiAIgrBvszeF1Y1dvbj+1v/FHff9FYdMn4wrLzpDf4ffUQpdK9H7xE8RPvZTiJ7zLTt2K46g6mzax/sREVb3MhRWX3zxRVMYHqy8/nrzGcBcds01+rz36af1+fOxmD4nr82dq+M23H67Pu+4+WZ9zngHnjPE33xTn7M8ni+64gp9zngnTb63V8fNP+UUfc7ySOd99+nzl6dO1eeE7WAcrxGnve9eeKE+Z1k8Z0ivXKnjeI3n0ifpE5E+SZ94zrCv94n51v5TiM9W7XToevlus7DgYVN9OTNj0fCW88qQePDb5tqrI2bq1d/rdgiCIAjCvgj/3+78/10QBMGB372rfUfeE+HTF59pGoZhXn35h8xTj52rv8MvevRXVdM2CplXfm1uvPFIs+/ua+2eWfdIzn1TeSi/b9kdOPc65fdmwrbI5lXDjLFXXKF9q7qbm/U5fxWgBZRjBUUqz/kLBc8dyylSmcY/ZYo+Z3mkXrmVaeqVO5i6w3Pm6HPpk/SJSJ+kT5Vp9tU+OdfVl6MhB8cytW8goV9XrduMKRPGIBYN6/NyUgufxMCzv0L7lx5E8MiP27GCIAiCsO+x8Y47dBAE8vzzz4P+XmuFnb1eLfz7v/+7DtWulYcZM2bg4x//uK5D2Hfh4/+0VP2ny87Hzd/8HB6/7UYE/D7MPPuz8Mw6d4dD4JhPYex1r+EbP/sjOn98PhZcdBHe+sAHtliplsOn6WhRurvCK9Om2TUJtRBXAIIgCIKwm9jZx5G4cVX7sR/Tx3NmHqA3sfrOF/8B3/nSZTrOIfHmA8gsfR6tn/0DvBPq+18VBEHYE5x11ln4y1/+Yp9ty7/927/hX/7lX+wzCwoUX//61+2zwWGaphYuGnHmmWfi1FNPxac//Wm0tbXZscJIZvm11g+P02++Wb8KArnuuutw00032Wfqc7J8OQ444AD7DPjDH/6ASy+91D4Dfv/732vRk3At+cUvfoGLL75YrxOVaxLXG0KB9Fr1+fvoRz+6ZR076qij8Nprr+ljrjePPfaYPmZ9X/ziF9FrPz5dXp+we9ibrgDmXvQljG6N4U8//Vfc/ejf8Lnrf2pfGTqfP3kSvnvOLKz8z0VbXJrtLWgEePDtt9tnQjlisSoIgiAIwxRapnKzKoqqq9dt0v5V//mT2+4SGn/5d9qvavs1j4uoKgjCsIHCQldXl31m8YUvfEGLE5WiqsORRx6J+fPn6zSOiOFAMZZxLJPHDox7+OGH7TOL5557TsdTVLnkkku0wEuBhGJvd3e3nUoYyVBQFVFVqKTZfvrJoVxUJRMnTrSPLMrPuT597nOfa/jjywknnICbKz57tfJQRP35z39un0GLrLIG7bvQp+pTL8/HmOM/rkXVpkgIiTfuq/pUWqOQeeXX2HjjkfjBly7G6H95VPtQnXXffds8MefAOPo+3d1BRNXaiLAqCIIgCMOYk4+ajdf/dCu6Xr5b/wJe7gag/9n/QjE9gPZrnoA7NsGOFQRBGB5Uig1Tq9wQlnPXXXdhzpw59ll1WCaFWVqFOTQ1NdlH20JRhRZj06dP1+e0KLvtttv0sTCy4eYtDIKwqygXQBtBcbXWD0SVlIu3tFxduHChfSbsa3Cjqr/f/RN8+uIzceu/fhHr/3andgewo+jNqx66EcG5F6H5oz+2Y4H2Cy+sKbDSndnuDkJtRFgVBEEQhBFGKZ9Gz2P/D65QK9q+9GcY3oB9RRAEYWRCkaLSuqwezqO2g4E+Dh2eeuop+0gYydDXIIMgjDSi0ah9JOyLHDFrhhZVv3DpuUMSVXMdb6Pnwf+D6Ae/iqZzvmXHbks9gVXYO4iwKgiCIAgjiGK8E70PfR++yUcg9il5JEcQBGFHiInVjSAIe5C1a9faR5b/1UZW+cL+S3rp8+h95Ca0XP6fCJ94lR1bG0dglUf09z4irAqCIAjCCKHQuQK9D9+IwBEfQfPFP7JjBUEQhHosW7bMPgL+6Z/+yT4SRjInm6YOglCP8t35GU488UT7yu6HvlSdzasIfbjeeeed+lgQKkkteBzxl36LtqsfQWDORXbs4Iidcop9JOwthp2wyv89amf1KvBfSZ87F6wTJ15fs18ZrBPL2b2d1PlTESx4VFJ/Syjqv4IgCIIwXMl2vIXuB7+H6Jn/gqazv2nHCoIgCLV466239OYx3MSKfla5yRV9IwqCsH+gdYGywI3tdjfcLI8ibnt7Oy699FLtV5Wb8tGHa6ONsYT9E25wlVr0FEZd8zj8M+T/USOR4Wuxapa4EvIAMKwoLYOq+FKJMqiJggrd+SIW9aexNJFBf0ldM5w0TGELplxIVW7+dRZVnqlU+p8+t6sSBEEQhOFGZukL6H3kB2i5/JcIHf8ZO1YQBEGoBq3SKGzMnTtXb4h1ySWXaKvVc845x04hjHReP/xwHQRhuMHH/fljTktLix0DfOYz8t1NqM7Ai79BfvNyjLr2SXjGzrRjhZHGsBNWDVsMLRpsmgGXaemqpvpjqiNqnyV1KaEOFicLeGxVL+55Zz3ue289/rahD6tzJWTh1umLFFkNlZCZdAFWmYxgHSzNreLc8MBgoYIgCIIwzEgt+Avir9yJUf/8KIJzL7RjBUEQhFrQKu1b39q66QfF1UceecQ+E/YFEvPn6yAIwxFuxPfb3/7WPgNee+01XHfddfaZIFj0P/1zFAs5tF3zV7gio+xYYSQy7NREiqclw7AEUfucUqu2VjXUDabhwuqsicfXZ3D7u914byCHww8ah5lj2vDumj488N56vNQTx6YCpVOPyqfKozrLkhyBVXXbUP9cJXVVW7OaKKo0JbtOQRAEQRgOxF//E9KL/4b2Lz8O3/Tj7FhBEIR9D8cP4a7ixhtvxJFHHmmfAZdffjlWrFhhnwkjHW7WIhu2CMMZWsiX/8Bz0003yQ88gqaUTaLnkR/A1Twe7Z+/F4bLbV8RRirDTlilHalRMuApqSMzD9MsqLgSMjCxoVDCC105/G5BAvcsyWJhxg9/LIqZLT6cP6UZH507GS0BL15YvBaPLdmE9/py6C+6kDfduoySUUDRKKKgQlHVZRoUWS0R1zRUXTpWEARBEPY+cT4a1LVS/4rtGXOQHSsIgrDv4WzysquhparzOC79HNIlgLBvMPaKK3QQhOGM/MAjVFLo34Ceh2/UvlRjl//SjhVGOsNMWDVVgwrqtaT+8nF+ugQoordg4p3ePO5ZMoD/XRjHC3EXeoIR5D1RvLcujzc2JJFWuWaEPPjYIeNxwSHTUMyU8MiCDfjLij6sTOSQNFWphirfLMAoFVAyi6oOAwVax9J6Vf+j0CoIgiAIe5e+p36GYrGAUdc8CXek3Y4VBEHYN7nttttw9NFH22e7Dnkcd99l4x136CAI5fT399tHFpUi5tq1a+0ji8rzclatWmUfWfAHoFqUX6tMV+0HHm6sJ+x/5DctQc9DNyJ8zCfQdOFNdqywLzDMhFXrMX1CdwADph8LUy48vroPjy7ajPldeXR6QsiF/IC7BJfLhXTRh66UgWTRRMk04S+ZmN0awIePmIgjD2jDqr5u/HnRajy/fgDrMgZyhg9uww2PSucyi9palfW6Sh4YpphgC4IgCHuPUiaB3odvgrtlEto+90f1vyf5wU8QhJFLpcDwxhtv2EcWFD3+/d//HV//+tftmK1UCiKVgkk5AwMD9pFF+Xm1x3FZpzCyWXzllToIAnn++ef1hnWc3+VMnz5dxzvXuUt/OTx3rjtwfWDcf/7nf9oxFtzl/6yzzrLPLJy0/NHGgceMc9aZaj/wcGO98jqFfZ/s6tfR8+f/g+bzb0Dkg1+1Y4V9BWNDR4e5sqMD8+bNs6P2LJasuRXu9J9RkZ2ZAhZsTuG9DQPwevM4eFI7liXdeGpdEQkjBI9Le0ZFKJ/G+RO8+Mi0MJpdJRRNywKV//F1Y76I1zu6sHBjH4KhIGZPaMXBLSGMdpfgM0souSw/rC7TbolaBC0qWyYIgiAIO8a6q8MY+4V77LP65HvXY+CpWxGYfa78ii0IwoiHAsRf/vIX+6wxX/jCF/Dzn/9cH1OUqAU3pjrhhBPss/ppTf393uKoo47aRvzgzt2PPfaYfSaMNF4//HD9+v4339SvgiAIZEe+e+8p0oufxcDz/4PWK/8XgUO3FeeFfYNdL6za31/0JvzWEQzQXyq/9NhffIySTlCCS6dx8br6l1Ghs1jE0t4k3l3bh2yqgEPGNWPW+AhChqni8/jL2hzeS3qQd/tVMRkcEMziogOiOLYtCF9JlavQm/+z3pKqz+XS5a5J5vDK6o1Y2Z/G2JZmHK7KnR7xolldt2xki6qNqiWGW31BU8f0t6otWN2qJNVKVT/buKUPgiAIgtCAwX65y29ajL4nforIB65G5PSv2LGCIAiCIAiCIAyW4Saspt55FEkVWj/ze/imHmXHCvsau94VgH60niIlxUnTElQtpVNB4bMI/njMI74yeVGd9ZTyeHsgg4eXdOP5pZvREvLhQ3Mm4IRxfjSl4gjkizhiTATnT/PhpNYk5oT7cHwsgzNHGZjuyQO5jK7BNOgpVQUtkqqyVSVuFaaHfbjofZNx1sxJyKezeHzBejy6Jo6F2SIGVBuLWkC1G8W8pkfFUfJlrAosjME+FQRBEIRdQXbVa+h54HuInv9/RFQVBEEQBEEQhH2A+Kt3Ib3iFbRf87iIqvs4u9xiVVt30gJVC5C07mTgi4mSUYKp4rhFFY+p6xaKwJpMAa9u7MWKTQMYFQrjqKltmB5WBSTiupxIJAyvz4uCOu5PpZE1XMipvB51MVQqopRIwOfxIRRpgtvv1YIuoc9VQltTvd+/bpQLcVX1K+sG8GTHAAy/C8dNjOKIWBBjvS742VzTpdMbKr1Lt1P1ynSrnHZfSNmhIAiCIFSj0a/mfDQo/sIdaPnH3yDwvjPtWEEQBEEQ6vGs7QLiZPt+TxAEgQwXi9X+526DmUmi9aq7YQSb7FhhX2WXW6xaIqYbJRW0+KgCDVZN/T8/SpMGr6BolrAhk8Wz6+O4d8EmLO5KY+bkMTj7fWNxkCcNd38PwoEQYq3t8Hh8qgATmXwBpYKJVpcHowsFtKm4ADei8oVQNHwYSGVQKNLG1KqYOiotZtlJj4p1qXO2rFVFjIkFYQajeLvfh98vTuC3S3rxSm8OnUUDeZVdN9coqdSqTgrFFFi1MMt464UwxgmCIAiCMFiSbz+MxBv3oe3qR0RUFQRBEARBEIQRjlkqoO+JnwBuH9q+/JiIqvsJu1xYtSRNS2qkdWpJHXJDqaJ6NUzas5rYXCzh1e4cHlrYhTfWdGF0SwinHTIJs2IRIJFSeV1oam2DPxhQxbAsNtMFM5uF3zDg8XmRR1FbpPp9QXXNrT63LhjuEhKJBIqqMmajM3urPSq3+uNWR3QLkEQBCzozWDVQRDHYjE7vWPytx4tfL+zFfSv78HYii17TdgJgutXkcNP81WpLmahKnNOKaEEQBEGoCR8NoguAUXw0aMr77VhBEARBEAbDnKef1kEQBGG4UEr1offh78M1+iDtU1XYf9gNwio9k+bADaD0dk+mCXcpj5JZQm/Jhbf783hg6Wb8Zfl6BENufPjwyfjglBaMLRXgTWcRcBvwB4MwXT6VhxtcqQ+oy0CeYmmhAJ+7BI8q26XKo9Dp9qg6VCgVsgj7PSqugGQyri5RwqVTAhOlUglFlTefy6CQyyKVyiCRzqFouqCqg9ul0vhj2IBmvLQxgYcXd+Dpjl6sTJnImlqOVeXS1tVxMrAtIqoKgiAIg6X/b/+NwsBmtF/7JNxtU+1YQRAEQRAGS+yUU3QQBEHY1Tz76jv43s/uxK/vf8KOaUyhpwM9D9+IwPvOQsvHb7Vjhf0F99e+8pUb+gYGMGnSJDtq56HQSFEUhgumYSJl0o9qES9t6MeLa/rQVzQwc9IoHD2xBeO8Kl0ug2Ihh4DLQNTngc/n1u5ZuXUU5UyXKieTyaBUKiIQDMLlciNHtwBuN9xeH7zqNZfN65qDgSCSyRSyuaxOl83mkMmmVfosMuk88gUTBZVycyaHNakS0iU3PKYJV7GIFncBp04L4eCWIJati2NJZxpp1Y6g342AV9WlLWAtadWyhbVx1NayKEEQBEGIP3oTIkd9zDrRjwb9FEawGW2fvxcG3dwIgiAIgrDDLL/2WvT+5S9oPessfb7xjjvQ98wzcAUC8I0di8yqVTpu4OWX0XTssduk4XVPLKaPu+6/H7mNGxGaOVOnWXvLLToPz1mWk6ak7kUDU6fWLbey7tSiRYjMnavT1Cq3Wt2NypU+SZ+kT7X7VFx579bv3kPgI//8f/Gtm+/AW4tW4O5H/4bv/fx3mDPzAMw8oLZellu/AL2P/jsip1+L6Jn/YscK+xXcvOrFF180d5SSDvxbtM8siuqQoVQqmslSwVyaLZgPrOs3f/DaKvNf/77avHFJn3nj0pR53dtJ87tv95v/s6zffHZT3OxI58yMylgoFlReK5ilnCoxp0ovmn39fWb/wICuSV01e+Nxs3cgbuZyeTOXzZudnV3mmjVrzN6ebrNz82Zz2bLlZkfHOp0nlUmZ2XzWLBWLZjqTMzv7+81FPf3mrxYPmJ99rtv8xLNd5j8+t8H80bubzaWJrJlXdazIlMzfLVxv3vDce+bP3lprvtiZMjfnS6o17DF7bvVe/3GCIAiCIJSx9p9CZmHBw2b27781N33/GLPvD/9sXxEEQRAEYag8A+iQXrlSn7974YX6fNk11+jz3qef1ufPx2L6nLw2d66O23D77fq84+ab9TnjHXjOEH/zTX3O8ni+6Ior9DnjnTT53l4dN/+UU/Q5yyOd992nz1+eOlWfE7aDcbxGVl5/vT5nuwnL4jmD9En6RKRPQ+sTv3tDHe9MOPyQ6WbXy3ebr//pVnPqhDFmLBrW3+erhcSD3zbXXh0xU6/+XrdF2D8ZksUqXY1yQye9y7/6Z5RKepMoZ/f9ggH0F0t4pz+FZ1duxqquBMaOaUGwJYZFXXkVSujI+LEy7cbSngx6MlmMiXoxLuSFlyWo8ujbtGC4kVchkckhncvB7fbq/aMK+SwS8Tgy6RRMlbZQyMFwqbqLJlxuN1pamhEKR2CqvKbXj4zHj4TpQrZQQDqVRMDlxoRYBJNjAUwMG5gSKuLYcSEc2eJFq6rA7fEg4gHGhj0Y1RxGdzKHt9b2ojNThMvnRtALeFQfOQ5sq9V36A2vrI2zLDcF2q6VpzwkPBYEQRD2G2ixGjjgGPQ9+u8IHXUJmi680b4iCIIgCMJQoRsAb0uLtnKjtRyt1vzjxiE8Z84Wqzbut9F88slbXAbQSi58yCE6D63lmMcdDOo8Tppif7++znOWyzwsN3rMMbpc5uG+H04anpPgtGn6nOUyD8tlnvK6o4cfrstgGsL2s32M43WnXOmT9En6NPQ+mRsewY//zqeZh86Rsw/EFRd9EGPbW7RbgNXrNuFfPvNR++pWUgufRPyFX6Pt839C4LDz7Fhhf8SgxerKjg7MmzfPjhoEWjQs6Mf1TZN+TRlpoOgyMVAysTKRx1vre7CxdwCjAkHMmTgaaZXsoZVxLBjwo+iPwHS5UNJCZAmeTC+OjxVw6YwWTA+6UcwVUDDd6FPlrkwWsLanF1FXCQfHmtDiMeFR9eRyebhUGU1NTfB4VOGKdDql4tUED4dVnB+dmTxe25TC/L4ccqqm2U0eHDcmhLFBF8xSUftxhaHqU3nZhWwuh3gyg5LLq7tomEWEIgEkC0Us7VJt70wiqdp28JgYDh3TjHEBN0JqgaH/WCq+brgopepjXaJ2hyBqqiAIwv7KuqvDcIViaDrvBoRP/KwdKwiCIAiCIAjCrobfvcd+4R77bMfoiyfRfuzHMHXCGHzygtOwev1m7Wf1UxeejttuvNZOZZF48wFklj6P1s/+Ad4Js+1YYX9laBartlZomC6YcKHgMpBECR3pIv6+oR+vru5CNpvH0ZNH4fSDxmBUwINX1w7glR4g640ALpXPxZxE5Te8yOfzGO0pod1tIpdKI10q4O+b4rh3eQIv9QIbMiWMaw5gxqgmhP1+vSEVxU+fz6derQ2qXIaBdDqNoior4Pdgjcrz4NoUXugpYU3KQLGQx4xYAKODPuQp6pY88JhFuI08skWgP6Py593IFF3IlrgFlxvpTE5b0R6o6j1wbIvqr4GFG+JY1p1GTpXh87vh9RjwajGVPaKVarmYqo7LTwVBEIT9BlqstnziVwgdc7kdIwiCIAiCIAjC7mCb/Q12kIDfhwtOm4dNXb346f8+oOM+97Gz8Z0vXaavOcRf/h3ym5ei7Ut/hmf0DDtW2J8ZgsWqdgKAkukC/3EjqE35IhZ2JfDeul7kzSIOm9SGGWE/2j1AcyiInmIRdy8fwEMbPMh5w4DbhOky4CmoEkygYJqIlAZw/rgSzhrtR6yUw4DbjXs6Mnh0kxtZXwyBXBxnjcnhokkBxAygP57QYmwkEtFCJq1GXapNyWQauWwO0aYIFmeAe9bnsLAQUc124UBvHJcfFMYx7U263UaJj/QXkYeJ3pSBnrQBU5XlUnF0clAy3KpcEz7VyLagGzG/qkflW6vK/3tHN1ZuHkB7OIrZE1sxPeZDzO2Cl8arHCZ2zLFaFXFVEARBEARBEARBEARht7EzFquDof/Z/4JZMtF61d0wvJbrAkGwjEZ3CAM0FeWO/S51uCqZxUNLNuG1lZvRFvTi7EMm4sQxUYwppeEr5S0B0+XSPksDBh+6pwsAPn7vQlHVbhq0AS3Ab5QQdBvwqEINlxt+txttIS9ingIC+QG0efMYF/EhFgohFA5rQTUajerQ3NyMWHMMTbEmjBk3GrG2dphuP8aFAzgs6sZEVxpjjBQObfFicjSgO+2BCS+FT1V7RjUrUSih4Cqh5FYtduXgduVV/wpQTQLUNbongJpAPtXy6X4vLpwxDmcfOkWP4GOL1+KZNV3oLxRV21V6BX3P8p91xL+CIAiCIAiCIAiCIAjCSKKUT6Pnsf8HV6hVW6qKqCqUMwRhFdpC1MXH79Xx0u4BdKbyOPF9k3H++8ZinJlDumcA9Djq9/vhUemaVfpJYRdafFmYxQyNXnXevGEiR7G1mMVYfwnjte/TPFIlE/SaeniLBx8YBRwVjeOsScC8MSGE3G4qtXCrVwb6WWWwzl3wetV1Vw4D8W7EfCWcM7MNnzwoiEunenDmxAjG++k6gLXTmpQbT1EvNbTVKuPYL9N0oajaz1RsKa8WiwyqrbRAVRcCKhzWFMAls8fj0LERdPT0oTOR1jlUEdRgLViN/U8YOdC9BIMgCIIgCIIgCIIgCPsnxXgneh/6PnyTj0DsU7fbsYKwlSEJq7TypPRp2Z+aGB3yYnLAi5jLjaDHh0Qig2yhBMPrQ6mQR36gHxO9Jby/zY1xrgQC+SR8+Sy8xQwChRQmepI4epQLU0MGAoYBvyrDKBoIJxM4PmriUwe34INjQmhV9dFylIKX3iSqArNoIplIal+q0ZAPftW70R4XThoVwUltPoxGXiXiQ/4u0JVByaUSuAzdB4+pDimkMd7woWj4UaJdK3VU1a+MupZIZZBJZ7QLgmK+oPqWQ7Mqc0rIj5A3iLztfJZ/KclZwqzD9u0Vhj+irQqCIAiCIAiCIAjC/kehcwV6H74RgSM+guaLf2THCsK2DMHHKqEAaehd/f+6uhMr+ws4c/poTAu7kckV0N3VqWVEPpqfzWVhFExEmpvQa7jx7No+vLE5i96iV7sBoJXqYa0+HB5zY4zPQC6bh5kvIeDzIZNPw+Nxw+fz602k8kVTux8I+Lwo5IsomkWEwyH41fVCsYhUIqlfo81RLehmkmkEwhH4Az4kU2nkc/TJGoLH7dF+MaiDFs08EukMBjJAGj4U3G4VT72ZVrkluFR5HtXOoBcI07q2VEQun4fH5QZUWq/Pg7e6MninJ4Pjp8RwWCyoFdWSy4Sh/b5afltZl6uGuEqhmNawjoWkY4FbDq+VivRtu61c2xirTtUEy9JYtZvHW2Gd1ds1WLhxmLbmtTG0RbHq7bYVNaSynF2BY9VcD9aZU5+NbDarRfNcLodMJqviS/D7fQgGA3qTNJ/63NEKu/K9EQRBEARBEARBEARh77IrfaxmO95C319vRuyimxA6/jN2rCBszxCEVQpxlhhXUOGJNZuxoj+PM6aPwYyQB4lEUotTmUwaqVQKrW1tiDU3WyKbaaIrmUJXvoSU26MtOkeHfNqqNBcfQC5fRCQa1ZajnZ2d6jyHUe3tCIcjlvanqqU4ms0XkEqkkM2lEQoG4fUGkM5k4FHlxJqb4PGqsksm4qpM1tvU1KTFslQqjUDAj4DfjwKF12wW6WwO0CKpF/GCAVWKqoiuAOjMoAR3MY+w14WWSABhVT7hhlalUhFZisAuF17ZlMDC3gxOntqG2bGAymnCoOqs8psqC21iqwmYFBIp+vX29mLpshVIxJN6jCZMGI/pMw7QorIDhb7ly1dg0+bNtmipytRvhSqT/gzKUWUwxqX6rsdd/ceyQqEgmumLVo0HxUKKhlZ6FVQ6S9g1VZvYzlpipPOIvNUXlr9u3VqsWLFKjznF31hLDAceOF37waXbBd3WGvA6y6Pg29GxDqtWrkZRjQv98tIuWrdtCOgy3QamTZuGiRPHq3Mdq+PZdkP1sVgooKenB2vWWO1ft24d0hTgbXGVwirFVAr7waAfEyaOw4wZMzBlyhS0trboNlvl8X1k+fxjjYsgCIIgCIIgCIIgCHuOXSWsZpa+gL6n/gOtV/4awbkX2rGCUJ1dIqyuGsjjg9PHYnrAwObOLmSzOTQ1RbUlIIVDCmwej0cLrflsSluNur0hXVpJ/ytQCUMqzsfsCzpvOp3R6b1enxYFA4GALsNwW+JVvpBX6Sni5pDMpLW+2BSOwq/S06KQghjFMVohhkIhbXHY3z+gLVV9Xo8WfllWKByBz+9XZWQxkM7rx/kLWqx0aUtVVymPoNeF5nAAXgqwrJ1iZRkvbOzHW5sTOHFyK2bHgpTvGgqrliBnlbV48WL8/vd3Y8WqNTBU/KmnnoKPfvQjWgh16O3tw91334OXXn5ZW02yLBqvaj2voj120VvgZbfH0AJhOBxGW1sLZsyYjlmzZmHc+AlaaLbao9qt0lr927bMrVCctI6YjuN7//3344knnlTvtWVJPGbsaFxyyUcxZ85sK2EdLOHVqu+vf30S9/7pAf3eutV7rSuq7MwgKRYL+jNw8Ucv1uNJKGQTfibj8QTmvzUfL7/0Mlav6UAuk9cDpVvCDdTsY6sJliBLr8IU5inWnnDCcTj00EMRDKr3W/eBJVv9EARBEARBEARBEARhz7IrhNXUgr8g+eYDaP307+CbfpwdKwi10brcjmOJcA604KSVYW9/HxLJhBZS9U79sZgWpBKJhBZZaQloer0oen06vckn600DRdWMEtyIhqMI+Pzo7u5BJpNBS0uLCjFdRzwe10JrIZ+DoTK6Vb5sno/lmxjXPgYHTJyIpgjF2pIWTfv7++1HujMYGBjQFp+0WO0fiCNfKCLa1IyWWKt2OZDLZpFNpxH2uhE0ivDkk2jxuzA6GkR7JAhPMY+8uk7xzJLNKLJtK/rVMcosG6nq0KLTq8YlaFvTetyVj+szjQGvh4+iB+HzMfi1xSlFYYrGFKCdYFlZMqhjVS5FStNwI5PNoau7G4sWL8GDDz2K/77tDjzxxFPo7umx+qYrpeVqReXbYIuOdgNXrlyJJYuXwu3yqrYHtWuGvp5eLFZ1ZDM5nWawUDj3+dlH9svqg1cHnrNf7J8TpwKPy4L1uL4VPDqdJbITiqpsM0XV/r4B/OWxx3H33X/CkmXLdX99auz9QT+C6jMUaYpqcZ+WvZFIWIunFPb9voD63AILFy1Wef+I5557Xn++LItchnrjJgiCIAiCIAiCIAjCcCX++p+QXvw3tH/5cRFVhUHj/tpXvnJD38AAJk2aZEcNBkqFFEMNrOhPojOZx1i/F8F8SltEtrZymylbDPR6tVUjhVG3y4VgKAS32wNXiT5MaRVIRc+lSuM/QwtoyVRSi6iOpaljrZrNZLVYSvkqp4774wmEI2E0RSNa3HV7fNqak+lZL0mn09qtQDKZ0gIar0ebouq6R5dDwZfCr9/nhV/F5VR6n9uNSMiHoNcNr8cNs1jQlrEejxd8/JviLR+/t9puYG08g03JHCY3hTCGzlgVhhYn1TjxxfpjpbdxhEm+9vT04r2Fi7RFLWOnTp2CQw6ZuaUPJJ3OYtHCJVi/YT2rRDAYwvjx4zF69Gi0tMb0o+kUovna1taq3wMet6rjpuZmhNT7QjHW8jdqaMGRfmeXLV2GuKp37LhxWkx0cNpXSbmlLa2LX3zxJbzz7ntwqfeU0P0ALU75mP2ECRPQ1s7PAvNUL8/Qbgx4zcCqVau0SFssqfdStS+m+jN6zBjEYs1otgPdDFCwZ6Do7hxbgWI+QxOam5v0uBx88EEYp/pm1UUL2xyeePIJPPXUU+q9N9WYWJ+tUaPaVdqDcdjsQ3WgNe/MQw7GAdOnY9z4cepzG9S+dfn54+eXIv2GDRt0vZMmTdTlC4IgCIIgCIIgCIKwd4g/ehMiR33MPtsx4i/+Bvm+dWj70oPwtO6IPibs7wzNFQCfQYeBguHCE6s3Y2lPGqdOG43JnjxchluLq+VQWKUIxceox4wZrXLSryZlRhfVLhalSqW4ZupH9Sl00hKQ4hrFVQqlFMWo6ZuTmTQAAExdSURBVA3Ek+jq3azOS/AEoohGo4gF/XpTJ4P+UVUi+j+1/LxmtBBIMc2y5LTcAdBHKS0rKQJmVRqXx60tbFPJFLiJUcDerIjiKykVixgY6NfiIa0Y2X9rEymXFiqfX9+Lt7qSOGkyfazy8X3V0DJXAEyn/YXqPm6FbWO/li5dhnv++CesXt2h23/SSSfiwx++QFtKOvT19uPee+/H3197DfT9ecghh+AjF12ICRPGIV+obxlKK8tMOoPevj50qPf6vfcWahGT40O/qKbq31FHHYXzP3QuRo1qs3NVp1xYXbJkGf74x3uxavVqy6LTr96HUkmL2RyXM888E2effQY8arydvm6P9VlieObpZ/HAAw9q6+JAKIhzzz0XJ554nBa1We12uasVZzXPuqYyWe+jV9fPNi1Y8J52qbBx4yb9mfCrdh9++FyceNIJmDRxot4crRpZ9blYsmSpauMzWLJ0qa6H4v7sObPx0Y9+WH2ux9gpBUEQBEEQBEEQBEHY0wzVFUDfUz8DvEG0XaXyVtUtBKE2WvYbCvbD8BoKVxQO6R/US9+YFVDUokDKR6bTqSxKFEANN0wXc7EUyqpFFUrI5ij2lbQlIIXFZDKp/a3SjyXFUm6O1NzUinyoFe/EC5jfn8OmAlAy3SgWijrtwIDlNoCiGi0329raQD+tfMS8paVZC79+fwAJVfZAIq6tVukuIJlOo6DqtjaV2jqZXG7u/u/X9XOTLLoSoNCWzmSRUCGdK9jCX/UJuEumJQuxC+J4Uhz2B/nIu1uPU70QCQfR3t6CA2dMw6kfOAlXXPEJnH76qXqjL/2+qfflzTfn45VX/q6tUBtBgbSgxmDRwsXYsGGjKsPQAvdRRx2JyZMn6/GjZeeSJYuxft36LXkaovtopeMLN4yiJXFEvV/RSFg/lr9NUPHbhfJrkYj+DDiiKlm9eg26u3rgcXthqnbOnXMYLrjgPEyZZImqemMyHdQ4qz/sC/OzHbMPfR8+9KFzMXXKJPWZKWihvWNNBzo61uqyBUEQBEEQBEEQBEEYGZQyCfQ+fBPcLZPQ9rk/btEjBGFHGLKwSjHN+chRfMpkcjDVh5C+LcuhKEXLSAqrseZmLXymUxn7Iv9Q2mMzrJDPWsIeH89mHoqg6XRKW5omEgNg8Ua0CW+k3fjTeuA3S5J4aEUP1vQOYCA+gGzO2qyKYirzsn6Kqpwf2SwFWlWLFtlMLTqOHTcebe1tWiikGEghl4/mJxNJ1c6Utr5MqNciSkhns9i8ebN2a0ArWAqtdG/g83ng0n42dyeWAL01qL/sjMIS/7YNKpYpdDBN1fpS0bqm0kbCIZzxwdNxyiknqbEKaBGZfZ//5ltYsWIli6yJI5BSUFy0aLHKl2UNmDJ1Ck479QOYefBB+r3jGFNwXErrThu212lzNcov8Zj9ss+GFNhfWuQ6babgvmnTJv1es+ympghmzToE0UhEp2VgSloya8mf7h7svE5bpkyZgtmzZ+s+koT6nHRu7tLHgiAIgiAIgiAIgiAMf/K969H78I3wHXgSYpf9wo4VhB1nSGogZStLWqUIZT1m3t+fQCZbQK5YQl4FLUSZlqjK9B6vXz92HQz5kcqmkM6mVf4i5SsUVQLarBZo+Vkq2kKlyqTyBwN8HN5AZ2cXn8BHJBLFplQOL2/KYLkZxSpXDK90ZrG0s1+nD4eC2rqQJoe0PFR/QR01EAyqNvGxeNW+Qh6JgQF43R7dJvr09LgNxKJR7QOWj9on4wls3LgRGzZtQE93NzKpjHZlELA3jNKbczU3waPqGigZSJVcug/EGp/dixYo7YrYP1qdlgfrrWV71PtUfk0lZl6KqUcfdRRmzXqfGhc15qpfGzZuwOIlS/QYEUcI5b9yKFa+t3Ax1q5bp8o00KTG7X0zZ6KtrQUHHDAV48aO0e8FhWlulLVp82Y7J9tpjVEtrNqc+ramrSfI1oJ1lVen3UOoz6olRJv6feR7Sqw6rTpYFfNSLHfay1enDRMnTtA+ibVfV26upq4VCuWWvlvLEgRBEARBEARBEARh+JDftBh9j9yI0LxPoenCm+xYQRgaQxJWy9UqCnSFPB+LdsPj9iART2JgIKktWPlYeTaThtttwOP3omiWtDVp0B9EOplGLldQZXETLMu+ktamLNrv82tdihsgxeMDur72UaNB/60U60pFE0HDg3CpgGAhh9ZACBPGjtUWqAPxuLZspXjqSFv0h6p3x3e5VR059PX1I5vPaZExlU6jp6cP/b2WFSr3UuJj5KNGj8akyZMxfsJEtLa1IeALwqvaUVL54n10NZDR/VmWzOLVzhR68gYMNQa7X1Dj2NuCn974iWx9P6pDgXHbNBQJm5qbcOihs9DU0oyCGsu8Gm/6eaWIbaey69g279qOddoNQDqb0Y/MTz9gGg46aLq+xo2cDjxwhrbk5b9VK1di2fIV+hrZXiB1BGAbXV1ley1x2Eq3Y4HlOGXRZ69laUpXCh69odnmzk5dJT9blvjMtKYWVx0qx27K1Kn46EcvxhVXfgKfuuITeP/7j9AWultx6hcEQRAEQRAEQRAEYbiQXfUaeh74HqLn/x9ETv+KHSsIQ2cIwioFI5d+7J9iKDehoqDq9boRDnjQ3hxBwO9BKptBZ3cnUqkEPEYJrhJ9q5ZQVOkprtIvazyZRiZX0JsrZfMmMgUTpscHw+NFoVBCPJ7QO7FHomE0N0fhcruwYXMnPJl+HD/KjaPCBRzmSePYVgMToh69c3usqRkFVWBfPx/nH0A+V0QuW1R1JZEr5bC5tw8ru1NYXQxiUa6EDarOvNuLSNsoxNpaEY2G0ByLwuPzaBEuoNoTUe1tagoh2hRFU3OrtZlVTze6Eim8uSmBhT15FFz0M8sHyEmleLir2bnyy4XCiRMnYcK48do/Ld/b7u5u9Pb0WhfLKK9x0eLFWLN2jbbo5NjMnDkTo0eP1te4idUhh9B6tY3ypH78fvGiRer96LfrrRQcq/fFshq1T3YSR8yl79X2Ue2WT2BVdiKZwt///jreevsdLbA7LgLYzmp1sxxeD6s+T506GQcffCAOOnCG6nu7/oFBEARBEARBEARBEIThSXrxs+h/6mdoveoPCB97uR0rCDvHkCxWjZIKpvXgOzf44WP2wUgAmQI3dsogHPKjrTkKn5v+Vj3IZotI9A+gyMewtYBnIhiOoOjyoiueRncih854BvECkFXpk/kC+pIJmKqCaDSi8qjz3l79yHosFkXM78JR7V5ceWirCi04ssUDd44WsFn9SLbLo+p1G+jq7MS6teuRUHUUVJv7VHdXGhH83RyF+zt9+N2qHP64JoNXBoCkz6eF34IqgxsT0UkBH3nXfgrUK6U50+VCULUn1h7TIh39yQ7kTKRKPrgMrx6TcrY9G1444iofZ6d1rlv7RTWQVOPe39+vr+k0uhNbe7Ju3Xq899572vcs4ydPsQRG4giYU6dOxfQZ022B0sDy5SuwcuUqfW17wZJ5ykZKXXeETbpkIHyEfyiBm5I5QimhUD5t2lTEWmMo0v2B16fatRq/v/MPuPvuP+Lll/+ud/7fvLkTiURCu7Hg58kpg1apjmUq+2r5cKXvWn6mBUEQBEEQBEEQBEEYjiTffhiJN+5D29WPIPC+M+1YQdh53F/7yldu6BsY0D4jdwRKYQXDwIq+FOL5Eg4aE0MAJSRyJkxvAKlsHm4YaGlugS8Y1o/jU6ji4/bcIijPx/pLLqTyQLZoIgcXCipHrlhUabLwutzwe73IpFNaMKUlZDgcQYg+MU03MokMgvkUWnwuZNMZDPT1wWOa2oqSomgwFEBrSww+T1D7Zs16PZjfX8TjG4p4KxtCR8GLTaqtq5IlrOlPw+MxMSrshq+QV8duuGjVqP65VDBdKlDw4x9VmKlamkpmVR+L2JA3sSyRR3PAg7ltfoz20x2AndZQY8EX9c/Ced0KBbuenh68995CvUEX4QZJtPqkZaUDx27hwkVYt36DFnzHjBm9ZeMli+3LHgwUGzds3Ihly1ZoAZGWq5MmTdCP81tlWuKmI06+/sYbePXVV0E3D3xPTjh+HubOnaOvOWn8fp9+zyimZjJZpDNpRNV7N336dNUna9OnrfCTxHwGVq1ajcWLl+p2uNT7zx39E8mkdk/QsXat3gyrY439Wi2oNHRTwJ3/16tx8vv9aGqK6locotEmLZquVWkp3Hrc6rOkxpabcb3z7rt4990FWLhoIZYsXYrNmzajT32uEomULaRaYavAagnC7LbVd6v/giAIgiAIgiAIgiDsWeKP3oTIUR+zz7YSf/Uu5Na+jfYv/Rnece+zYwVh1zA0YVULhiUUaQHal0J/toRpbREYbi/e6MriVRU25kw0h7xoCdF3pWFtFBT0w6BVZLaAgXQB6ZJbW62WXG5VngrqGkVXa/f6Ik0WEfB5EQoFtS9PinS5TA65nGX1msskUSgWEI40wa/qptAXaYogqOqiP1VaYHJzKopn73X24y9r0liSjyIfCMPwuOBy+1D0BZEwXehPZtHmMzAp7EPA49HXWYdRMlBQ7aH1Y0G1O5NJIZOnC4MiSgV1XaXrzOagWo/D2kPbCKvaMQBFty2C2/bC294WVsm6dRv0Dv+01KUAPmP6dBx88EH6mqWVqn4aLmzcuAnPPPOstlqlsfMB06bhpJNORHNzk06jU7LLKpPfH9DiJkVbWjXzfZo4YTza29u1OMk0VlrmYyWWsMp2WNeBtWs78NZbb2HBggV49933VHh3i/i5fXhXp2OYr/IsXboMk/QmUxN1uwjLpVg7duw4bYna092lLVtZt8tNi12Xdj3R29uHDRs2YPmy5XjnnXe1he6CBQuxbNkydHf3aJcBbo9bvz/022pBK9uhvweCIAiCIAiCIAiCIAydasJq/9/+G8V0P9r/6SG4opYLQ0HYlQzJFQAVMe6BT0mJWhJFs/5cHm/3pvDI2jj+uCaN+1an8FZ/HimKdfks8pksCpk83IYbQX9AP65fNFwosQAGtkSdmy6Piveoc68Wu3KqXG4URb+mFLECoTDaYk0Y296MCWNHIxr0wY88/D4PsoWiFsaowlLiokhL68d8MYd4yY1+dxgljweqBrhVH0xVH8UwlzeAzQUflg8UkTbdemOjUjGPfC6rfW/GEwm9KVYql4HhcSMUjqCttQWeUhFjkMXclgBa3YYWEPnPERlHCvRdS1FRC4Oq6Rwzip4OjmC4ZOkSrFrFR/oNBIIBzJo1S4uXFlYaOyna29vwvvfNRCQSUWW7sXHDJu2blYLmVlHVSluOJUJbF5jPoz4nbjeDRwePx6fjtg++inRe9XFyRM+tUCBvbY3hggs+hI9+7GIcNudQjBrVrjc+c6s8zOv1+uDzBdSrX7chnkhiTUcH3nzzLTz40MO47X/uwG9+cydeevFlvRGabnW1zgiCIAiCIAiCIAiCsOcpFdD311sAbxDtVz8Kw+8YpQnCrmWHhVUtG5ZrSKoEw2UiVyhiXV8GG3IeZEMx9Jb8WN2TRWdfEslkEvF4CgPxNPr7E0imkqBvSlp0sigt0ppaBrXKd3lQKJooqkDLx2AgAJ/Pr60NoeqyNsFSKb0qLtSEdC6PfDGv49OZjCpAlasb6UYynUY+n0PB40XScCPncqNgqPLVMd2nuvjYuao7p5J3pjLoTeaRyeQxMDCg/Y0W1WRkG2LNMbQ2NyHkD6KYLSKTSsHn98Cv2hN1FRDxubUlaTWqxw4fKFprK2GOm2H5Et1WJ3Tp3fMXvPceEomkFkXHjxuHAw+cri2QKZbSipMbjlmvBZ1r2rRp2mKUZRfUe0D/pXwEn7B81rc9fNzecj/Q3NyM8ePHY5yqa9y4sXYYUyfw+jidZ8yYMfpzU85WS1l+rnx6N/9PfeoT+MdPX4kLL7xAW9/OmTMHkydPRmtrqxbQvbbAyuDx+uBxe7Xl9ML3FuHue/6I++//s7bk3Rb2a7i/64IgCIIgCIIgCIKw71FM9qL7oZvgGXsIWj99px0rCLsHY0NHh7myowPz5s2zoxpDq0wDRdCL6l87urGyK41jJrVjY6aAP3dksSlrYLQnh3Mmh/GBiVFEjJJ+pN4wXaAxaipfQFcqi0TRgGn44GI8ZVHDVMEFd7GEEAoIuUvwq0C/psUCNwoytbDKR/v5aDp1OVoUUojLZtLIqnJNjx/haBj+gF/7cy2kMmiO+PFaErh9WQ4r80EYXo+WvVRRKrA3BYQLSRzljeO8cSEc2BqF21eEV2/oRJ+glH6BQjaLZDKlex8KqfIzWQwUing9UcLqRBGnTIxhdsyvR8goUXG2hGJthVnFotER+vjY+j1//JP2JcpOUeD78Icv0FaUDvT1ee+99+Pvr76mxcvZsw/Fxz52McaNHaOuWrUMFkfQdKwsH3/8CTz40COq3LwWVc879xycfbblzJlJmeyll17B/fc9gHg8zkHHzJmH4Kgj3w+/36s3gtqK1Ra+L8VCAa+9/gYWLHhP1+nzeXH+eefgtNNO1ems/jMP/xh4+uln8MCfH9bvGy1iz/jg6Zh37NHIq3btCGyzSxUcDofVGG4rrjYiny8ioTfwGkB3V5cWlHt7etDT06sD+5/NZnTaQrGo+l7CB045Beeffw7CodB2YysIgiAIgiAIgiAIwu5n3dVhtH/sh+j7608QOu5TiJ71TfuKIOw+huRj1ZKMaDnqwvL+NAZyJRw2pgnTYwH4TROjPHkcM96PI0eH0Gr7KqV0SrGL1qOpVAq5Eu1L6ZmU1ylcUmQ1tOWql4/ql/LqmK4DTHi8HgQCIQR18MPr88Ljtnax11avqkFsEzfMWt6XwZt9OSweyKA3nkHE7UbU70JelbkxmUG3CqAwa7rgof9UlTGn6prkzuOEUW7MUW1uivi1eEu/ryXT0P5ds+m0tmDlZk/Rpmakcxlk8nkYoWasThbRl8nhgFgQYwLW5ky0mNVGszxm62oIbRTgdszH6notMFs+Vt+3Uz5WWTfLfXP+W1i5coUWBcOhIA4/fO6WzwObTVH3b88+hxXLV6mx92vXAYyz/Jm+jbfffndLeEuFd95+B2/Nfxvvquv0Scp6nLoo3E6ZPAmRSFTFWZapVtvpY3UVFi1agkK+oEXYI46Yq61iKVjuUAiHEFKv3CjLEm8tK1WOm2OZ6wigzivTELfqGy1dYzFay47DgTOmaxH7sMNmY+bMg9HW1qY/vwPxAZXHpa1zU6k0JkwYj9GjR6k4XcyW8gRBEARBEARBEARB2P3Qx2pm5d8RPftbiJz2ZTtWEHYvO+wKYCuUCw0ticKgeFVELJ/ESTHgEzPbccb4GMZ7DbiLBUtkVCmz+SwSiT54VPr2SBgRj1v7KaX1KzcxcpdK6ryAkMoX9ntUOgO0Vs1m04jH+5FIxvVmQ5SsKHBSAKNVYliVFWtpQdv4cVjrDuCRDQX8cVUWz27OocugR1UTY9wlHNfuwSGRHAKFpKonD6+ZR8DMYIzZj7nNRRzY5IYrn0E+m0MmV0IubyKbKyLeH0c6mdCbaEWbmlR7ssjkC8h7vEiVaO9qjQSHohy2c7jLaxR1N27YqN0umOp9ampq1o/Bl7N06QosW75SC6p8S0pFNTZ0v6DeC4qghZwKfFWhqI6LauwK+aIaRyuOG2IR+shdvXo1li9foc+3//hRgOUwWsInfb1W4oiitYKDc+wInCxr7dp1mD//bR244RX77viWrZa/PI4bo1E8PeWUk3DxxR/B1KnTtKhK8bu/vw+bNm3W6Yb/Oy4IgiAIgiAIgiAI+yaxj9+K8Imftc8EYfczJGGVUpNlgwp4SurIdCNbdCOdKyBomGh2A/5SgU/CqzQe9ceFTDaDRHxAWxFGmyIIqdfWoB/NATd8RgE+M4tAKYeo10BLyIu2aAjRcEhX5lL5g6GQtmLUj9/3x5EYiCOTTqOQz28R4FJFExsKHnR6m9EXGouOQhDdBROBYBgt4QiOGteCc6a24OjmIg7x9OMgbxzHRnL46AQ3jo+VEKAVaq6EZLaIZCKFns2dWL9uPQYScbj9HrCWgb4BHegRtuD2IENRzkW3BBRXa7BVrxsmUMC0WtvRsQ4bN22G22NZd1Kgbo4162tkQI3ze+++h96eXv14P62FW9tatXUmd/hn4OZPo/hqn7e1t22Jb29vRay5Sb/v3Ek/EU9oq1TuvG+JkGWjpg+3tq3auPFaveBQfkz4GXn99ddx++2343/+53/wm9/8r3ZRUE61/NbLtiLrlCmTtbUwxX3GcUOshPqM0EUDqaxbEARBEARBEARBEITdy4Rbkwge/mH7TBD2DEO0WKUFKu1MiQmXYSKVzaLg8sITCmvRsWTyUXqPfhw+m0whnUggEAgiEmkGH6E2TBNBL9DsB6LuIsLIIWimEXYVEeAu9apkbjDEDYy4U3sqmYRZKuld5puiUS1q8RFsPj6fTCT1Dv5eo4R2VWaLmUWkmEC7r4AWPwVgE9lsHvmBJGb4DJwzJYyPHhjBp2c147Pvi+H8qaPQptq9puDGQgSwwetH3udSdRTR3hbB6DGj4PUHkM3lVX39qsuq9y43svT7yk2wthhWbiuoWQK0Yi/rbI4oWC4OEoqbFBf5WL9b9YfC9bSpUzB61Gg7BbB8+XIsXbFMvY90/WBi5iGH4LJLL8UVn7wcn/zEP+CTn7wMnygLn/zU1sDzT33qk7j8sssw65CZVDf1WCxbvgwrVjhWq2Xopm1t49aW7jy0LI2qz42L7h3UBzcRT2Lzpk5teUvKhmULlkDqhK3jSGgt7fV4t7Z1VzZWEARBEARBEARBEARBGPbsuLBqgk/+642f9KkqIV/IoJjLwO8G6FKVYpOhXwtIJQeQTcURCYcQpj9Qww392LzLEquMUhF+PpIP9ari6FPVpPLFy6zL5UYkGkVzc1SLp3zsmpsG0YcmH1lvaorqcvrjcZSSSRwe8+OUVuCEUApnTwpgRpNXi2i0lPSqRuddHqzsziOVKWJiyMBYtwl6Ml2WAe5bV8R/vduP3767GcsSJTS3j0KsOYag14eQL6D9rtKac/TYUdqPp1eVpa1yVVuHu5GiIwBSLGRbc7kCXv3763hvwUItqnLjKu6kf+BBB2o/oySpxpPCa1dXtz6PxZrw/iPm4uCZMzB12hRMn36ACtPqhmkq3cyZB+HwIw633ivTQE9vHxYuWqw3ArM+glsHj83cavFpf8h2EfSbGggGrfJVWL1mNdatW6ev0V+vM0ZWvU7YFual9Wtff/+WTbXoTiASCcPjURNAEARBEARBEARBEARB2C+wFLQdgaqqfije2naKCmo8lUE6m4ZZzCGXzsAsFFHM5zEQjyOTyyHa3IRAKIAShStbqzJt4YrCKnfmd7tc8Pi8KBQLyOWyVhqDtqbqVV33eb1oiTXrXd65idRA3BK2PCq+qakJrS2tiASDmBgATmgBzh7nw/sCBZT6e8BNiygK0tp17UAazy7djHfW9mMgU1ClGxgoFbCwN4MlmTA2esZhadyDTWkTRbeP3l+11S2tY+lTNBC0Nm/iRlw+uOEtAm7dLas/e47yR9+3CpPVYDqKf4SPrdPK929/ew7PPPMsUhQ3VXZadM6dOwfTDzhApyPLl6/EkiXL9PixjAMPmoFpB0y1rzqwz/w8VA/cLIoccMA0HDBdlU1NU/1j2atWr9HXtowbr/E9d0639G+oWG1z2jBu3FiMHTtaf8ZobUp/ry+//Ire7Z9Y9ZW/h1vrLx/DpUuXYuHChdrHKj+bFIzp+oBsFWcFQRAEQRAEQRAEQRCEfZkdFlYpG/GxcAqsOnPJhVC4GbHWNsDjRzJXQG/fANZv2IxEKodAuAkGBUruyG7lZi4Nj7KmgSw8KLo9MPlotYs78VtpuKEVxS3tdoDimAFVVwSRlhbkVO098QRS6bQqm5tfGQj4/Ii6XWguJBHK9MOTy6uSvXCpuvP5AjL5HJo8JRw+JohD28KIebiDvypXtcHrMuB35+D2pOAPFLSbAm7MRWktk8nrEPAH4fP7YRZLMHM5lPJZuFS7nEHc2rNqVLm6RTgsu1a/ENUeCqrWbvSJhOp/KoV4PF430E9qT28v1qzpwN///ir+8Ie78dCDD1suADxu7WJh9uxZOOboo7QvVMId/BctXISuzi4tIjc3N+GQmTMRa6b/VTbSaSj7wBGoFSxL0FgspvIfgqao+jyo8jZv7sTSpcuQ135J7XGwi3SsR+l2obu7R28MtWnTJmzcWB42lx1vrAhW/IYNG7WITGGYjB8/ATNVG7gRFWMY/9JLL+P++/+MZcuWq/FMatcAhUIJRfUeU4QuqvZxrLPZnC7rjTfeUmP3CFavWq034zLNorbKnTRpoq6DaHFVBFZBEARBEARBEARBEIR9GmNDR4e5sqMD8+bNs6MaQ2+b3Om/aBj46+pOrIjnccb0sZgRdCGXz6N/YEBvKkUhEhRUTRNev1dbRXo8BrgZFQXUzkIR73WnkMmbmBIxMDHsA/JFGKUSmiIhbbFK0ZO6GMVcSlX9JWBNMoe+dAF+dT7KXUSrt4SA24NiAXpDK8MoobklBr8/oHenp1iWzmQQ7x+AmxanoQi31EJL0AufakeqCLy0eQAvbUqjp2hiesyDcye2YGrYi0yxiIGBFPxuN6JNIapxyCdVWemkKicEdziC59cOYFlvCqdMbsFhMdUH1VKjpPqohWGKs5bVqz7WBxSL9YuWFGkBec8992LN6rV6rE466UR8+MMXIBgKMJWmt68P9933AP7+99e0oEe3CmNGj1Jj7FPjY70fDpYcrMrmuKny6Bs1XyhoNwq0zqTIzDIYaIU58+ADcf5552DS5Ek6PYXP995biHvuvhfr168H3TYcccRcfOTDF2rLTN32waKHQJWpyqBAyn6+8+4CXQ+tWD/20Y+oV8sK9qmnn8EDf35QvWdsnwdR1cdQOGyVsbV7W1Hx1khWtojCLF1U5HHkUUfgtNNO1T5RyaZNnbj/gQfx1vy3tAsEPT7qPW5uacbUqVMxZcoUtLS06Mf6KShTfGV7urq6sHzFcqxevUZb+brVZ9lU+caOacOHLjwfc+YerltB21gX54ducLVGC4IgCIIgCIIgCIIgCPsCQxBWLYHTElaBx9dsxoqBHM44YCymeYropy9Tn0+LYhToSoUScvkcsrksigU+el9S193ocwfw5Losnl2X09aBx45y4UMzWtFsZrWQFYs2AW5VARUyCmWqrL6Sib9t6Mdf1yTQmTXQHvDgpLEhzPFn4Uv26jr9wbAWvUKhgCVtqewsgpabuWwOfn8QGdWWgWQ/ItEgmkJhZFMFxHMF5ClS+v1wFYsY41Nl+DzoTcS1+NYcDWsRMplIa5E2EvKpOsKqBjee29iLtzcncOKkdsxuoYBnVhFWLZFNR9kHtMylyLxkyVLcc/cftUUp0594MoXVixAKBvU5+09h9U9/uh+vvvoqfD4/6OeTflFL9Eera9C9VcH5a8G2O9CFAcVU57F2bgI2Z+4cnHLySRg1ul1brhoqnuP05wcewlNPPa3riURDuODCC3DiiSeo8igaqjJ1f7bWWR1LVCe0siVPPPEkHnr4YaTSGXg8Xpx37tk4++wzVSkGnnjqKVXvg9pilO2j4FnizmD22PGN3NobhYov05O3gfXms1mc+oGTcPHFH9E+eWldahhuPc4PPfQoFi1aZJWpCi2oz2ZR9ZViKut20V+qyxJWdTvUNdbuiNGUT8e0j8GZZ56OI48+Ah7byrak2sPx4ZZp9cdGEARBEARBEARBEARBGMlYatdOYGmHBjLZHBLJJAJ+P6KRqL5GMcpwG/AH/Fv8oDZFYvB4QljXn8Mb3TmsNaLY4I7gnVQJa9I5ld4S1NLqOJ8vIpPPIKsCha/VfUm8sCGFRbkIugOjsSgfwrPqvN/wYfLkCQgFA+jv7dOWqWZRNUy1i3JYItGPYjGL5tYoos1hjGqJIdYcRU6VuWFzJwYSAwiaRYxCAdNDPrQZQC6bRV8qBRRMNAeCcKuSEgP9up8h1ZcAhTrWodAPvG/R0KqLaVtlNubZ6veTaKGTflvVWHG8eO5g1UBswc9FYc/QFpV8pJ3iLkXDYCioLVytwOOg3qgpFA4h0hRBc3Ozfoyf1piTJ0/GccfNwz9c9g+46MMXaFHVEg4t6Pt0ydKlWnCk0Dpt2jQceOAM+yoj7deGQaHSsuSSGl9y0EEH6sfm3aqPxUIey5Yv1Y/vE4qrVv8oALu0QO9X76lf9ZPWx/pVB3/Fq3PshIAeG/rDpZW0A4VRtmPy5Em45JKP4PTTT0X7qFHaty/ropsHt8er+2wJ1xRUVT9UW91et7rOND71GYpi7uGzcMmlH8KRxxyuPwBF9dkxDO2RV/1znEgIgiAIgiAIgiAIgiAI+yrG+o4Oc9VQLFbVP0plf+3oxKLONE4Y34zDWv3wefmAvqGS0XqPaS2JiekpwlKLLBkG3u1N4q6Vcbyb8MNdMnFgNI+LDohgVqCEZM8AvN4QfEEfcmYKrgItKQN4oz+HP64HVqAZLo8L+byJiUYK/zjdg5PHRrSW193Zpf2Ocvd+iorZbFZbLoYjYXj9Pp2G1pOJVAb9ff3w+1Sbw0HE40k+O46IykODxHhyQFuUtre1w+/1oTcxgGIxj1ikCR51ToFO2yWqvry0sR9vdSZwwsQ2HNbC/m9vsUpxjnVTZuQBLS15xaX+dW7uwltvvat9nnK8Dph2AGYfNgs+n0dn4filVHvfeftdrF27VltN6qIULNt5Ryzs+nik2k/Bln0MBkOIRi2BtbWtBS0tTToNYT+dPGzmkiXL8S4f12dT1flBB8/ArFmHaGtOllku/A4WJx/dELz99jtYsXyljg+psT/88DkYP348lixdgQW2mwBuZrZ1szOnvm37ufW4OvSResD0qTh09vv05mdWeVY7GNi/9es3YfHixVizZg26uruRTCT15lZM6vzqQDcGHMOWlhjGT5iAgw6cgenTp8AXoHVyyRo/9V5bMj4leLfOu+OjJAiCIAiCIAiCIAiCIIwUdl5YXbMZS3uz+OD0cZgZ8ehHt3mNT34znanFJvW3aCKfK2i3APlCFvES8HbSjbd7SvAWi5jb6sX7xzehLehGOp6Cy+VFIOxXufNwqbyFogtv92Vw/8o03k57UfC64M6XcGjEhUsPDGBWs09bGOYyGT7Brd0OJPrj4KPfLW2tCIT8KPJRcNUml4rr74ujv6cXbe0t8DdFEI+n4TMMeD0mksk4NqzfAL8viDETxiOl2m0YHu0OwOdRHStRVDVAxwYUAF/c2I/5nUmcOKkVc2J+3d+awioVO3VI0ZnQn6y+7nLr8y2YLL0C1W6deadRg69VU4Zy7PdW12NtYmXB9JbLAQur7YNri5NWQTWZWbbpB6+rvtIy1MU6HTlzV6HK1W1nPWVtsRqi/rP6WSqqzyQ3Q0ul9MZdFGXZJgqwfr/6LIaC2hKbriasNnJMnPJYljWefLfpHsJxfSAIgiAIgiAIgiAIgiDsmwxdWDUtH6sUVpf35/DBA8bioDB3mGcaWlGWwMfduYlVNqcC/asabni5C30hj6ILKIabkIYbAdOEP5eGV+UJhyOID8RVOSYiTWHkCjlkUxkUVGX5YAjvxgt4fl0cXekCWtwGjp/cjHnjQ4ipvJlsEfFEBqGQX+/y39vVpeUufyQCXzAIn9cNj2Egm8lr8ZbuAYJNQf0YeLIvqTc4CkYC6E8MIJMuIpfMIJlJwB8KojXaAj9dAngM7U+T5remy0RKtf/Jjn4s60ngg1PaMTtGv6gldZmPg1tiniWs6kMrqGM9TOovUxXSCWR7NsLMpqDNZdV4aMmOeTTqjFaR6oj67Jay9CvT28fEOdZCri7Fto7lgfPHCU4m50gnUKgW2xXpWnU5qk0sqBzn1MlWjfI0LEed66K3KYuCJL2S8p+VxsEeiRo4hZHyfHrEVXVsszVu25XijI96I9hXuldwaf+zajy3lEOYk61Qn+hSSYWi/mzqcVcJ9RX1ufbH2lUYpeIo1LItVn8EQRAEQRAEQRAEQRCEfZMhCKvEkqkKMPDEms1Y3JXGB6ePxfua/dpilZsA5fM57ae0VCzA7fHBGwqh6HJhcyKLzqy67nYDPhfafG5M8HtgpBMwKKaGo0gmE8hmMtqvJcvz+vza16bH7UFa1btZ5e/PqNoLOYwJqDLCfmRNA13pPOKZHKIqX7BURFSVHfT7EE8kkc4XEPKH4FFtoFga8ge1xW28WNSP9hfTWRXnB3d0z+Vy8KnrA919gLuAllEtKGYLyKp4w3TD51b9CRooqvJf7crjviX9iKi+XDqzFbOi9OlpamHVGicGQ/1HCY6ndB/AWPVPtZE6as/aFVj14l+Q27RG+/is1C91RgqAPNCPnBMnEV8rM1Sia7OPnbR2u3RgmdZ1CpGMKk9FKDjqVNqK047UOCmqY/VlawYeGVrwZF0sV8Uw0i5mm7LV8dZ216I8QyXMy/aqtuv6nLEj1hH/6hrUH123CnoMVMSW94Gn+iLzO4k4HkxbRN7lw6T3n4QpKsBFlwN0XcFU/AwIgiAIgiAIgiAIgiAI+yJDFFYpSQJ5uPFURzfmb0jhmPExHN7qhVHMaWGSvkP9fp/eQMil0iULRSzrS+K1zgIWJYDufEE/Dj824MGx48OYHSmizWUi6AsiGY8jEeeu/VG0tLSCmwlpUUurYwb0s/6KVDaNXCYNVyiCd/pL+FtHDxL5PA5uCeH4CU2YFlJ1a+tCE6VCAQMDSfSqsoPNITQ3NWMgXUJvDqodblVkEV7Vr4BZQMBtiWdukxalBfgCftWPMErqeiFTRCaTV33PYVMJuL8jj2c3AYeO8uOKGUHMjvp0W3U7bYGOopzlFoCnWnGzj0vqUgmF5ACy3etgZhPq3LlYhl0MRVWNFgjL01nHlgipjvV/Zde3tKNS6FNpdJGW/ayFnVbHq3brLE59tYRCO48tPjp5iW6T05SyQwdaqloHzGRd3ZqcGXRhNuqKTmbH8bJ1VB19UWdQf3li/dVo1VQFZ7x1/UzBV5XO7osVy96rI36W2F59jXnVPKCvXcMLT+t4+FrGqWOPTmsVa5ctCIIgCIIgCIIgCIIg7HMMyRUAxSRKcQXDg6fX9eHR5UlMCntwSruJyTEvosEg/G6fFkQLpRLSqRTWZYp4YnMRf+sy0OcKwXR5Ve2qrEIO44wsTmotYl6rC2P8LnjchraMDKpyuLu7Fr22CGCWrEtdzK3KTqbiWJ0u4c9r83i2B8ireg/yZvGJgyI4dpS1cz+zcmOh/ngSqXQWbq8XedX2lOlF1qAQCrhUn+g11meWEFBpmyM+RAI+JAf6QHebkeYmuG2RkfIcW7OwP4PfLMvg1V5gbruBT80IYXbEr9tOQdJli6t0GUCqWTBqK0qnb/sEVl/Z212FUyIZriNF1xeWOGttaCYIgiAIgiAIgiAIgiDs22yv9DXEsK3yPDpzyWWg0yyhx+2CNxBEyBOCzx1QaVza52lfbwpplXZ1ycD8uIkeVxQFfxAFr4GSx0BRHa9HCK92F7A+byDa0oxYczO8Xi8KBe7Obqoqy4QqderWgYKkC0FvGLk8MFDIweVzw+XxIquuZQt5LcIZLkrAJhLxFMxCCaNGtcEfiSJTcqOoeuAyTB1oBWu63MiqMgteNwyPtZmU10+Zle4BMvqcW0oVqZ+pOsaG/Jja5EXYyMIwWR8vKLY01zrX7dgauQ2OCJdIJjEwEEdJW0Vui9brKuC4cId9btjFcWLedJqbLpV0nG6iHbhrPdOzHB5b+ayx1Qa9LNBOTb+4Oqg+8zWdSWNz52b09/epcy1p69Rb0249d+L4KDxfWQc3gcpmc+jrG0Amk7VSqqRWUOm3lGeVUA7z9vR0Y/26tXozsQ0bNqK3r09vgKZ9nW6p26LynDAunkjoUPX6Ni2wYDIrKf+UBwern7TM7urqVG3qATdn46ZfIqoKgiAIgiAIgiAIgiDsH+ywsEp5qUBhSf3jNj1GyYC3ZGJU0I0xzWGU8kUkk2mkcnn0JxPwBTwIhoPoTBTQk3Xp3f49RVbs1sFtulBy+zHgDiDn9sCtH1c3UCpaguF26MslmAzqn9vrwahIGAeGfZhmpDChNICZTT6MC/pglpjGg1QqjWw+g1DUB7fbhUy+hLzhRsnlVjXR/lSVZKg61XnR40ZG5ctk8yioPnBTIwqraVVGQeWjz9eCWdRWrM0eF44eF8AhbWoMTIqr24pv7IfltqCx2LZxw0asXbsW+XxeC4oU7bg7vTMGFEuz2eyWOKZh+vXr16s4Cnxd2jft5s2bsHr1KmQz9G9rtZeiLjde4nhk0hmsWbMGnZ1dWgSkn1f6s02ns7oOq60qmCqXei82bdyMBe++p8rv1X2mSJpOp7U4y3QsN8fNyVS81VZDddml0pq6no0bNyIeH1DHq9DT06P7R/+7jlBZUOWwPPaN7SuHdaxYsQrvvbdI9XUd1nasxaKFi7BmdYctQBtb2sPxsgRRU7eH48RrjIv3D6C/r0+XyTZSgGZ9bIs1RkV9zDgGiraWPuq8d4bqjxo7PU7qc6DGiWPDMXznnXexYf0mXe9WeFx+LgiCIAiCIAiCIAiCIOxruL/6la/c0DcwgEmTJtlRg8EEn26nMLcplca6eArRoA/jWgLwukro7+9HIZtBS7Mf4ZAfhWIJ724u4L2kF0WPT2uNJW0QasBNLc0w4SlmcEgUODDmh+Wl0rKudLtccHOjKxtLvyqhxDJUOgqfnlIB4WJe5Q3imMnNOGZsEG3FlPa/WiyUkM+mEQwF9a7/qilI5V3IqNeSar8lrCooMqoj/qVbAHc+i3wyiVQqoQW1lOpjMZ8HN7fSwqdqSE+ugM2FAjqTOTSpfLNaw2j1edQRhVpqwLpkdtNmy8F29PX1q7+8bmD9+o1atKOYSCvPcDiMzZs7sXLlKv2qBcGSieXLV+jzUCikxkjL3Fi3bj3WrOlAIBDUAiJFxnA4pMvvV+8zX5cvX66vRaMRLXYuW7YCGzdu0HGsi9bCfG+Tqv/Lli3T8WPHjlVjkVJ5V2oxl8ehUBi9vf1a/Ozs7FTvhUuV2aTb0d3dg4ULF+v6fD6/LiMep/DbqfL06TZRrFy5ciVWrVqjhWHmj0Qium7CfvKzNGHCRMyadYh6Ha/bxvHxeDw6/9Kly/U4JRJJPQ4crxUrVupx6OvrU3Xbrh5cbp2HYu+qVat1uyj4UhBlHevWrVNt26yFYNbBdjhQSOV1jvf69Rv0mHK8Oc4DakzHjh2DWCym278ttd9vQRAEQRAEQRAEQRAEYWQzRGEVWljlhkzBkA8BvxfruuNY3tmPJEraSrPJ70MsGKJMiZzpwqpkCYsTJWRcHphul964iiKllqKKRcSQw6yIC+O8JRiFvBa8KGhSVKXQZVkEbhWqLNHS0AJrIZ9GMZNGS9SPWDRoPe7u8yGZyyPV3Y1IwItIU4tqsFu1B8gWisgUaM1Kq0y7VL6qfIZZQkC1rSUUQEtTRIuHUfpX9XjgUiEYjaDg9mNNysTza3vw+qpNaFXxJ0wZhSlNAXh1eaoPqiL6VLU2f7LrsP9Wo6enV79StKWI19bWipaWGHp7e7WQRwGUwl17e5seFwqGtL6kH9q2tjZ0q35yszAKzRQmx40bp4VFCrCxWLMWOilsRiJhna+1tUXVVdCiZEtLC5qamrFp0yadl+eEYmR//4Cug/XxOts0YcIELULSypVWsr29PRg/fpxuB8VLRxil6BiJRFVdrVp4ZTkTJ07Q7aI1KgVWCpwTJ05S59Zj9RR2mY5Q0GQa9ot9IBQ0E4m4tizlmPGR/IkTJ2phltakFIPj8TjGjBmj+86mWBa2dEfQp9s0ZcpkXQ7b5PX6dDytmqdNm6byp7RIy36yL2Tdug3o6FinBdTRo0frcWDb/D4/XOrzOW7cWC3qOv223ufa77UgCIIgCIIgCIIgCIIw8qk0sRsUfGCcWz3RfLTN5cIpY6K4eNZETIlGsHBtHK91F7EwaWDVQAG9yTzSqSQmN5Uwo6kIbyGjN3ei61ODj3MXs4iU4pgRKWJKzA2/G/qx7kQioa0iKZRRSKQYqP1q8nFxipamAT7Iz0fR4+p1oy+Ip7qK+K93unHrO124fUkCL/X7EA+2IGt4kOSj/EXrsfVSLgs/8vCaBccEVouqtFT1qeBV9aiCtdWp2+OG2+WBLxxGxuPFykwJz3dn8JdlXehOFnHCgZNx8ZzJmN0SgJYDKc5qXc0S1lg6LVgHCwVkCpETJozD6NGjtNDoUW2gRWShkNeWrHzEnZt6UfRtbm7SlqeE6Rjf3NyMpqYmLYw6Wh/HibA85mlujuq4nBoLS7QuIRj06zTWuVVeMMjyoqALhUDAj/Hjx6K9vVULs9lsRr8nFHEpVlIQdfJSaGRdTU0RXS7bOm7cGC0MUyTle8r3mLAdHjW2Pl9AHW87VrzmtJ2wTsePLC1aCV/9fr8W4B1htqurW4u+FJopSFPIpdUsx3bMmNFaCG5vb9fXWO+YMWO1MMxxpihaKGytM6U+v6FQAJMmTcTYsaMRU+NXVO+Fz+fRY8Px3yqqCoIgCIIgCIIgCIIgCPsDQxJWXdrWk2KkCy7ThL9UwvQAcO6B7Tj3sCkIe114Zc1GPLhsA94ayFBlw6HtUXxwXACzfGk0F/oRLGQQUCFWSmB2NI+TR7swNWAiHPBrYXDUqFEIqnwUzWhxSCtEbkCUTGeQz+VRKOZVK0rI5opYEy/i6Y0FPLy2hJf7Q3g7HcYL3Sb+vCaNFxJu9HgjGEglsXHTBgwMJBHx+9AaDsDvtqxmKQbSUpXbWYV8bu3WIJNLoy+ZQMEE6BF0wHDjvXgejyxch/mrNmJyewgXzpmIE8ZGMUrl9aqEHAtVmJZRy2W2baXC2jiipOX6wPLraYmCfPS/pK0waTHJsaAlK0VDPvrubAplYcVZvkJLWywwafFKwZq+QSky0kKTQmQoFNHCIIMlhlqWl05b9GZUqhyKqpZVaZcWRGk1Ggh4bStZ9Ymw028VGHlOq+OsrpfCrDMqFE99Kh9F0FAwhOamGCLhqH78nkJuOSyXAjsf16dVLh+/Z3v4+aCYagnFzbrtfn9Ajxnjpk6drPM6rhPYforOtMDlRl+04KU1LPvndluWy1Z9/Mtzqz+EY8K+08KVFq8J9bnwB1S/1ftEYblc+BUEQRAEQRAEQRAEQRD2D3bYFQD1J0siU0c80c+8qwOKi0YRo3weTB1FkSyEDYkcVvZnkSy5EPJ70O4zMDGqXgNAqyuPaYESjhntxwljwpiEHEKlEuiPEy63LpN72/t8XsSiTTqeG0wVCwVksymkcznk8iV0ZXJ4fmMKL/d40euJweTj2S4DpteNpGppVyKPZlcJE4MmzGIOfr8XTYGALtft52ZaJvyq3JDHQDjgQpNqZ1il8Xq8SGby6CuUsCZTxItrOrF4Qx9GR8P4wIHjcOyYCNrctNvlY/90TGA9gs+hsMRFfaBfiB6vOlD8Y5soAFJYpdBJwZKP64dCQW2xS2Evk0lrIZEWlyyegilfmYaCIoVOCpBsA4XKvr5eLSDy0Xdaa9JalWIrhcq2tnb9KPyGDfRH2qPFSQq3FFwJy6UIyzQUMsnGjZuxadNmbRU6adIU/bi816vGTNVdDuundSnrp+UsXRBY7aNAm0dI5Wd7aJG8YcMG3a+W1hbthmCrOEuR2PLNSjGXfeXYTJkyRbWzXaVzqbhu7UKAedhGtp3jZPlX9erH9NlWCrYUVim00pqV/ae1LttA4dQRadk2j4e+YqO6b4TxdNHAdrJsXps8eYquk4Ixx7ncD7AgCIIgCIIgCIIgCIKw72Os7+gwV3V0YN68eXbUTmDyv6L2n1qEB91F4K31fXhnQ48WRWeOasJhY6NoDvjAh7gpRVGOo6Xn+o2b4XaZGDe6TT/izwf903nu1J5ByOcHfXxysyltUmgW9CZU8YEk3u4ewJ97PFiQi8H0BnTOkotyZ1E/3m9kMjg5lsMnD4piQtCL1EAPipkcAtEYPEFubMTyaINL61Va4jKvC7QBXZ3I4M113Vij6mgOh3HE5FE4pDUIvT1TiRtoqUYYFFVVoIGjowcOAVpXllt9OsdsHwVES6i0rFApAlJ05TGFQF5zxFDmowhLGEf3ATSodDZxYrG00mQaioF83J8WpU65Vho1FrYVqtMM1sHhz+XU2BeLWsClgM2y2UYrWOkcmJ+Wnmy/075ymJb1WhatlkBbjtVWq1ynHbQuJTxnVfl8Ufdxq+Ws5T7AKtOt+u1RcVbb6UZh9eoO3WemoYA6depU7TaB507bWafV363vA485/jznOFltZ7pt0wuCIAiCIAiCIAiCIAj7B7tWWCVmSQXamtK/p4GcCquyBby2thcdmwfQHvLj0IktmBoLotVtwqtSZktubB7IIl0ooLXJi2avoeI9yOYKiKfTCAb82kVAqVTQG2ZRyiwVTWSyebyt8v1uvYEFqRACtjCXM9zaPyof70c2i2ObsvjU9CAOjPq1IpdIJZHK5FSZAYRUoA1uyVBtVnkKpgud+QLe60ni3Y092mJ0zrhROGJMDG2egiqTga1WdVFUs+vRkpoxJM8KW6BAR/GOUAgtF+qcY+txfktIdQS9Wmx/3VRjqHrr2hqnkqg09sl2UFS0LtJylWNBK1BaoFJUzOUyqr1We1gXhU1ah9LSs7Luam1t1H5S2T7mcWDddDXAx/E5HrRItTbPshMoyutgVrpFoLUq20pfr7T0rdZWsjXftueVNLouCIIgCIIgCIIgCIIg7HvssCuARtAylRafNGSkhakBE60eYEZrBK2xCNb1p/HO+l5szhTg9vsQ8HqRyZtI5lwoFF3IF62NjPwuNzwqf7GYBy1PfV66CGBptHA1kEomtauAjDeIBf0FrFf5+fh/idqWysc0tIQ1SnlMDpRwWLMbrW4KgIYWB91uE6lMGqVCER5adqr6aGG7qDeJF1dsxPLOfkwc3YJTD5yIObEgmgzatJagWo2iSktB1apHvahDHttHQ4aWoIsWLcLatWv1I/G0jKRm5/g55WPxvEYrVT6O7sBrFPf4Wihwk69trS9ZLgPho+u8zjIY54isTMe8TjonP32WEj5uv3HjRgQCQd0upl26dClWrlypH9PnI/J8rJ/uBChwMh/LckRHUlm+1TYrHXHawFcGtlPFbmmLdU5h2KX97q5YsUKNRwd6enr1Tv2M52ZZzvvg5OeLVS436Apo61aOJceCfWE6XuerZfW6tX6rbVZ5TtustvOc42pZBzOf005BEARBEATh/2/vzH4bubI7/GNVcWlSOyVKYsvuRUonSJxBMvEYM0AeggxmnvOeP3Ke8pDHIC9OAjiBHRh2DzojtZqSWiu1keJWlfudIt20ppexp+NG2ueTuNStuufeW9LTh1PnOo7jOI7jvP+89YxV9GP+gwQtiEfkYyxUOBpFkdrh25fHHX22faLuYKRHd+f14eKMyuHaeDRSPEy1UI60VC2qGEsXF6FHGml2bkGjgrlVZb0bXV5fKrlT1U25pt88OdU/HQx1XlxQIUoUUfM0DBkNe1rILvXL9Vi/apS0EI7tsfRSpFKxoKGiEKenm0JRx4VEXxycqnVyoeb8jD6+t6rNmZLusJY0De8RNtCEMauhbAAvU8eIttCGVvtj1Br1P588eWLScHNz03baJysTaYm85HF5Nq5C4iHC8535e1ZPNN/Iinqk4b4kie1yTxvHZLkSk3qi7ITP9YhIJCF1SZeW6nYd4/NYPVK30VgJ/QZ2HRmhjI9o3NraskfnGQsJjER9+PChCUjmRwYpgpV5sZs+9WCp20obtVmJubS0YLvvkz16cXEe+hVUq82M+3QsW5c1MB79mc/l5YVdTz+yYvf29vT06VO7D2zq9exZy8ZDOHMNn9RkZZ4hjM2ff8Pl5bqN8fjx17ZG5s5mVmdnpzbm+vp6+EsUbJMqRCrrmZubtYxYNgzLr1mzDF7qzQ4G+XnmMCml4DiO4ziO4ziO4ziO47z/vPWM1fyx+Cx84YH9cdYothEvqZEqStWslvWwMW8Zfl/tn+p3Z9casMHRnZKWKAPQ74bLByqWirYrfzYKbXGiOIkIo+51xzJGKzM13YkiVRLprHOj9s3AJGyUFpSkqeaGV/rZ4ki/vDenD2fuaJgU9TzNdD0cajQY6mqQ6Eglffb8Qp9tH4X5SZ88XNff3l/Rh6VYRcbG0IZ55ht25TI1tpzcsK5winNvQ6ySucmO92yUhExkwyY+9/cPTCIi7xCLCEIkJps9scHVRJJ2wvqRp9VqTcfHpyZTyUolJvITOcq1SEUEKoIQWUi8bvcmjPPcsi+Rg2Sm0sbO+dfXVzYOm0SRoTkRiMwhz1LtmLhst89tHcxxe/t3yuu3JrZxFsKUmMwJKYpgpe3w8LkJTUQtbfRdXFywzbeOj4+/WStCuNXas8xUxOikDAI7/NPGXMmUXVxcsvtFbGQs4pVxWTPzQTQjXxG2CFfkK8KXa9iAiu9IVsZF1LJOxtre3gn9uiZs2fiKNbfbF3Zv2PgKCYsMvr2Bl+M4juM4juM4juM4jvP+8vZLAZhajCyzFLHKj+V4FjgTXmlqj8/PxAXdn6+ouTKn9s1Ijw/aOu8iu0qqlhMNB30lyFQV1e8NxGPbSZG6qz11en2VS5XwKoVYqRYqJdVrJZWzvkqDjuZ0o/XijX6+WtSv789rq0oc6Yujjv55+0S9pKS5uXl9ddbTv24f6LLf11/fW9ffba7q0UxJMynTzdjTKswYQRwIb9RhDQvIRbG95Vmsdjh+fV+QiUhQZCiZktQBJSJSEEm4ufnA5B/ylJ39OUc2K1IRqbdcXzahiHBEECJTySBFZG5tbY775rIUkfno0Z9YJuns7Lxt6nR+3rZ2ZCJxJnVIHzy4Z1mcUZRYtilysVJBrKbWj/GQvsCYkxqw9+/f08pK3eaCgCXDE/nJC6mJMCV7mKzcepg7sZrNZvg/3AjryePPzuabSrHmfN3zlnGLyKWdsgSIZGK3Ws9sfsTnHnI9cyGrl5qwzIM/GWvkXhAfiYsk7Xa6JmWpG0tc1o903dx8aPcaIY3QZU3MnfvOPcizYZlHZXxfqNfrOI7jOI7jOI7jOI7j/Bh4+xmrY8VYYMd8ZVZnFQFpOZ/hO5mmJl+zWEmWWobqg3pN9fkZHbav9d+tY7XTSElcsozRarmoESbNxGqsi86V0ijWbLVm2bEUHYjDdSuVRI/qVf3Z0h19tFTSzzeq+lmjrLViGDZl3Ei/Pe3o0/2OWn1p+7St/bNzba3O6VePmlZHdSHMmQxb5si0EcFUi83zUclZpY5mbGux3FVbW7gu9LFv4+PvCtmkT58+M0nJY+YIRcQjO+oj7hCVCD6yPxGjPL6P2EPEMuTa6qqJSbIt19ebGg2Zcz4Xsn7r9SWThZeX1yYU6YOMRUCSgYmEJLsUgUvWJXKVTMx+v2eZnkjGgwOyYrth7GU7j/zlUXtEJcJxZqZmfRCVnENaAnPON70qmxglFlmgEwHK5lHIX9bFHNhQijkhdrkX4ZZoZ2fHrr97txniFG3+rda+Dg8PtbbWCO3rti7kKfcGobq7+8zWzZj8+zBPxCuSF7ivcVxUlvK3LWi1sRr+54phHbN276jHSn/+DqyTtSFPJ+UFWAeClvns7++bhK7X6xbbcRzHcRzHcRzHcRzHef9562IVn5f7Rd5QVEjW8aEd5YIVNQkIrFL4XK0k2mrMqVYq6cnzth6f3Kg9GCquxOpEiU6HmXppatKwVi6rXIxVyEZikyrbsCrEu5NlWilFWg99lpKCKqENv8uD+1dhuKNw7eEg1fVNV/cXy/r1n67rF415rSBtEWxMKcrnaxsRTb04ttfYuoZ3wz7H13wXkKhATIQoNUQRh83mumWAsskSmZHlclE89r+zs2vlARCdZE8iCqn5iQjd+GBD152Orq4u1ev3TWSm6TAsJ9Pc7JzFGwwHJgTr9QWThTs72zo6OlSSUK/1Q2vjkXjEIWKULFVEJ4/EU2qA+SFBEauIUSDLFaF7cnJmj+AzP9aDtEU6IhuRnYuL82EdpRB/P8SnpMDA5s8tQ9IidMk6ZSzi8UJ8Nptrdg3jLy8vaW1t1e4bYxSLicnX3d2WiU1qxFKmYGOjGdov1G6fWfYrGa2t1q5lnXJPuF8rKw1dhGuurq+0OK5Te3B4ENraqtaqNlfGRfJOMoDpNykdwDnkLeUKkM/cD7J/WbPjOI7jOI7jOI7jOI7z4+Ctb171h4NYzGUm2Z8Yylw1SnujTJ/unenr1r4Ul3QTzavbT1UvDfWLu7P6ZHVW1QLykE6JhjG74qcqjfK6rrhPXmkUqZdl2r8Z6PPDc311eKFqMdHHG8v6qF7TfLgm/CpF1o2FnVmzH4BpsYqkQySS/YiM5BTnyehEbiI6Ly6uTELyuDm1QhGsk8fu6UfGJrVBqYOKAORu8h0ByYv4xCEesRGNfJKFmY+RmpxkzPn5WRuLeSBL2aAJ0ZskRRs3nyPz65v85TqOOYdk5DwxgXiUcaANEcqcySKdZMzymD7zQ5BSS5b19Xo3YjMrSgMcHuY1UtnMCxnLOoB4yGDuC8IYqTk7W7P5PnnyPzYPSiAgSRGn1EEFYrA2sm/zfrM2d0QsWbVz82GMEJcsYmKwNtY5WRtzBsYnJrGJSUat4ziO4ziO4ziO4ziO8+Ph3YnV3CuOP3n8nh33OaCOqdRTolZ3oE932/q35yPtDYsaDHv66Uqsf3y0oEfVWIOUR/PJfu2FnuEzLYVQIU4s9UOMs/5QX51d6b9aJ+r1R/qLjYZ+2lzQ3ShcPaJMAf1HoWcYuUAVVsTsDwMyb4IJ3QBtk3baJu3TcJ7m/DLO/36cvO1F3zwm8SbfX1w7GXN6vLyNa6Zjvug7YfrcNJN4Eyb9ptsQpNPHSE4yU5GvloW7cddqwpJFy+P9PGY/HXfy/fY4ZM4iPJGyZOoyDhJ0mum223ObPp4eDyZznm5zHMdxHMdxHMdxHMdxfpz84GJ17K2Mb/RUaCTDNP+aSz00J4/l9woFfXkx1L+0rvSfx10VleofHs7q7+/OqBQ62ab9Go5lV6JhOD7LUj25uNbnz451fN7VZmNRn9xr6INyrGKaKs2GGkXI1ERJFtlmWhk1A5Bm+cg/CNPibiL03kR+OW/5fbKjb+5d/vmH8G1pSMfp78TMj6dj3haN+fcX8/i+TOJOx77Nq+/PpD2fCxti5TAvzr06JjDmdOzpNU7PZ/qaSfvtOb1u/o7jOI7jOI7jOI7jOM77xbsTqwX7xX/lYEg5yNgqihfwbWiZpSdZrM+Puvps91Sj4UA/aS7oo8aMGsVYxdCXbNdO6PS0M9DnByfaOTxXo1bTJ/fXtDVfVpVYGXVHCxpZhddUkW1WhUiNTawyH6sB+46Ylnq/z/j+vJRJn1f1fRNviv26uK/rC2/q/8fwsrFvj/Xdxn7938BxHMdxHMdxHMdxHMdxct5JKQDk6rfcFW5sIlbzA3uNwvso/NCSKBbqk/qr/7F7rsd7Z5qpxPrJxqI2F6vqptIXR+f6eu9YlSjWxx+s6i8bM5oLoZCuhI+szEBoyNj4iq/U62QUxovzc47jOI7jOI7jOI7jOI7jOG/gHYhVNCnclpg8up1vTDQ5h/xEwlJ/FelJHusofPbCuaedof5950h7Z5eaq1XVH2W66Q/0581F/U1zQasJZQLSsTbNlGTkoo7raka5rOWxf/O5ogwAn7zdnpfjOI7jOI7jOI7jOI7jOM63eQelAHKxyuPW469TiaJZ+EGuRipQdJXz4aIMHxoOLYc1pT3SKC6Ifd5/277WlzsnqpSK+qv7y3pwp6hylpqkJQQ61WKFXxsoxMxswyqCxyEiJxiRIgGQvzuO4ziO4ziO4ziO4ziO47yKd1IK4PtjpvVFFqvYz18a2DfKBUhRlloWaiGaCNLwSbdX+NLXnHIcx3Ecx3Ecx3Ecx3Ecx3kp726npu8FWa55+mr+CD9Zppkq4VvJWnkL72PpOm755uNlvOaU4ziO4ziO4ziO4ziO4zjOS/l/JlbHznSMZaaGTwoI8M7j/FFo8V3dHcdxHMdxHMdxHMdxHMf5v0P6X8UIufTATV4kAAAAAElFTkSuQmCC", - "text/plain": [ - "" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from IPython.display import Image\n", - "from pathlib import Path\n", - "\n", - "\n", - "def datafile_path(name):\n", - " return Path(\"..\") / name\n", - "\n", - "\n", - "Image(datafile_path(\"CO2_flowsheet.png\"))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2. Training and Validating Surrogate\n", - "\n", - "First, let's import the required Python and IDAES modules:" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "# Import statements\n", - "import os\n", - "import numpy as np\n", - "import pandas as pd\n", - "\n", - "# Import IDAES libraries\n", - "from idaes.core.surrogate.sampling.data_utils import split_training_validation\n", - "from idaes.core.surrogate.alamopy import AlamoTrainer, AlamoSurrogate, alamo\n", - "from idaes.core.surrogate.plotting.sm_plotter import (\n", - " surrogate_scatter2D,\n", - " surrogate_parity,\n", - " surrogate_residual,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.1 Importing Training and Validation Datasets\n", - "\n", - "In this section, we read the dataset from the CSV file located in this directory. 500 data points were simulated for S-CO2 physical properties using REFPROP package. This example is trained on the entire dataset to have cover different ranges of pressure and temperature. The data is separated using an 80/20 split into training and validation data using the IDAES split_training_validation() method.\n", - "\n", - "We rename the column headers because they contained \".\", we change \".\" to \"_\" as ALAMO accepts alphanumerical characters or underscores as the labels for input/output. Further, the input variables are **pressure**, **temperature** , while the output variables are **enth_mol**, **entr_mol**, hence we create two new dataframes for the input and output variables." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "# Import training data\n", - "np.set_printoptions(precision=7, suppress=True)\n", - "\n", - "csv_data = pd.read_csv(datafile_path(\"500_Points_DataSet.csv\"))\n", - "\n", - "### ALAMO only accepts alphanumerical characters (A-Z, a-z, 0-9) or underscores as input/output labels\n", - "cols = csv_data.columns\n", - "cols = [item.replace(\".\", \"_\") for item in cols]\n", - "csv_data.columns = cols\n", - "\n", - "data = csv_data.sample(n=500, random_state=0)\n", - "\n", - "input_data = data.iloc[:, :2]\n", - "output_data = data.iloc[:, 2:4]\n", - "\n", - "# Define labels, and split training and validation data\n", - "input_labels = input_data.columns\n", - "output_labels = output_data.columns\n", - "\n", - "n_data = data[input_labels[0]].size\n", - "data_training, data_validation = split_training_validation(data, 0.8, seed=n_data)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.2 Training Surrogate with ALAMO\n", - "\n", - "IDAES provides a Python wrapper for the ALAMO machine learning tool via an imported AlamoTrainer class. Regression settings can be directly set as config attributes, as shown below. In this example, allowed basis terms include constant and linear functions, monomial power order 2 and 3, variable product power order 1 and 2, and variable ratio power order 1 and 2. ALAMO seeks to minimize the number of basis terms; here, we restrict each surrogate expression to a maximum of 10 basis terms.\n", - "\n", - "Finally, after training the model we save the results and model expressions to a JSON file. Serializing the model in this fashion enables importing a previously trained set of surrogate models into external flowsheets. This feature will be used later." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " ***************************************************************************\n", - " ALAMO version 2023.2.13. Built: WIN-64 Mon Feb 13 21:30:56 EST 2023\n", - "\n", - " If you use this software, please cite:\n", - " Cozad, A., N. V. Sahinidis and D. C. Miller,\n", - " Automatic Learning of Algebraic Models for Optimization,\n", - " AIChE Journal, 60, 2211-2227, 2014.\n", - "\n", - " ALAMO is powered by the BARON software from http://www.minlp.com/\n", - " ***************************************************************************\n", - " Licensee: Javal Vyas at Carnegie Mellon University, jvyas@andrew.cmu.edu.\n", - " ***************************************************************************\n", - " Reading input data\n", - " Checking input consistency and initializing data structures\n", - " \n", - " Step 0: Initializing data set\n", - " User provided an initial data set of 400 data points\n", - " We will sample no more data points at this stage\n", - " ***************************************************************************\n", - " Iteration 1 (Approx. elapsed time 0.62E-01 s)\n", - " \n", - " Step 1: Model building using BIC\n", - " \n", - " Model building for variable CO2SM_CO2_Enthalpy\n", - " ----\n", - " BIC = 0.750E+04 with CO2SM_CO2_Enthalpy = - 0.38E+06\n", - " ----\n", - " BIC = 0.569E+04 with CO2SM_CO2_Enthalpy = 58. * CO2SM_Temperature - 0.42E+06\n", - " ----\n", - " BIC = 0.542E+04 with CO2SM_CO2_Enthalpy = 55. * CO2SM_Temperature - 0.61E+05 * CO2SM_Pressure/CO2SM_Temperature - 0.41E+06\n", - " ----\n", - " BIC = 0.516E+04 with CO2SM_CO2_Enthalpy = 49. * CO2SM_Temperature + 4.0 * CO2SM_Pressure^2 - 0.15E+06 * CO2SM_Pressure/CO2SM_Temperature - 0.41E+06\n", - " ----\n", - " BIC = 0.502E+04 with CO2SM_CO2_Enthalpy = 0.16E+03 * CO2SM_Temperature - 0.16 * CO2SM_Temperature^2 + 0.76E-04 * CO2SM_Temperature^3 - 0.56E+05 * CO2SM_Pressure/CO2SM_Temperature - 0.44E+06\n", - " ----\n", - " BIC = 0.484E+04 with CO2SM_CO2_Enthalpy = 0.14E+03 * CO2SM_Temperature + 2.5 * CO2SM_Pressure^2 - 0.14 * CO2SM_Temperature^2 + 0.66E-04 * CO2SM_Temperature^3 - 0.11E+06 * CO2SM_Pressure/CO2SM_Temperature - 0.43E+06\n", - " \n", - " Model building for variable CO2SM_CO2_Entropy\n", - " ----\n", - " BIC = 0.219E+04 with CO2SM_CO2_Entropy = - 0.48E+03 * CO2SM_Pressure/CO2SM_Temperature\n", - " ----\n", - " BIC = 0.147E+04 with CO2SM_CO2_Entropy = 1.9 * CO2SM_Pressure - 0.15E+04 * CO2SM_Pressure/CO2SM_Temperature\n", - " ----\n", - " BIC = 0.115E+04 with CO2SM_CO2_Entropy = 0.77E-01 * CO2SM_Temperature - 0.38E+03 * CO2SM_Pressure/CO2SM_Temperature - 50.\n", - " ----\n", - " BIC = 713. with CO2SM_CO2_Entropy = 0.20 * CO2SM_Temperature - 0.94E-04 * CO2SM_Temperature^2 - 0.34E+03 * CO2SM_Pressure/CO2SM_Temperature - 89.\n", - " ----\n", - " BIC = 443. with CO2SM_CO2_Entropy = 0.52 * CO2SM_Temperature - 0.60E-03 * CO2SM_Temperature^2 + 0.26E-06 * CO2SM_Temperature^3 - 0.34E+03 * CO2SM_Pressure/CO2SM_Temperature - 0.15E+03\n", - " ----\n", - " BIC = 317. with CO2SM_CO2_Entropy = 0.54 * CO2SM_Temperature - 0.63E-03 * CO2SM_Temperature^2 + 0.27E-06 * CO2SM_Temperature^3 - 0.26E+03 * CO2SM_Pressure/CO2SM_Temperature + 0.79E-01 * CO2SM_Temperature/CO2SM_Pressure - 0.16E+03\n", - " ----\n", - " BIC = 259. with CO2SM_CO2_Entropy = 0.47 * CO2SM_Temperature + 0.15E-01 * CO2SM_Pressure^2 - 0.53E-03 * CO2SM_Temperature^2 + 0.23E-06 * CO2SM_Temperature^3 - 0.70E-03 * CO2SM_Pressure*CO2SM_Temperature - 0.46E+03 * CO2SM_Pressure/CO2SM_Temperature - 0.13E+03\n", - " ----\n", - " BIC = 240. with CO2SM_CO2_Entropy = - 2.1 * CO2SM_Pressure + 0.55 * CO2SM_Temperature + 0.76E-01 * CO2SM_Pressure^2 - 0.63E-03 * CO2SM_Temperature^2 - 0.94E-03 * CO2SM_Pressure^3 + 0.27E-06 * CO2SM_Temperature^3 - 0.23E+03 * CO2SM_Pressure/CO2SM_Temperature - 0.15E+03\n", - " ----\n", - " BIC = 224. with CO2SM_CO2_Entropy = - 1.9 * CO2SM_Pressure + 0.49 * CO2SM_Temperature + 0.83E-01 * CO2SM_Pressure^2 - 0.57E-03 * CO2SM_Temperature^2 - 0.10E-02 * CO2SM_Pressure^3 + 0.25E-06 * CO2SM_Temperature^3 - 0.73E-08 * (CO2SM_Pressure*CO2SM_Temperature)^2 - 0.36E+03 * CO2SM_Pressure/CO2SM_Temperature - 0.13E+03\n", - " ----\n", - " BIC = 193. with CO2SM_CO2_Entropy = - 3.9 * CO2SM_Pressure + 0.52 * CO2SM_Temperature + 0.17 * CO2SM_Pressure^2 - 0.56E-03 * CO2SM_Temperature^2 - 0.21E-02 * CO2SM_Pressure^3 + 0.24E-06 * CO2SM_Temperature^3 - 0.10E-02 * CO2SM_Pressure*CO2SM_Temperature - 0.36E+03 * CO2SM_Pressure/CO2SM_Temperature - 0.20 * CO2SM_Temperature/CO2SM_Pressure - 0.12E+03\n", - " \n", - " Calculating quality metrics on observed data set.\n", - " \n", - " Quality metrics for output CO2SM_CO2_Enthalpy\n", - " ---------------------------------------------\n", - " SSE OLR: 0.515E+08\n", - " SSE: 0.659E+08\n", - " RMSE: 406.\n", - " R2: 0.999\n", - " R2 adjusted: 0.999\n", - " Model size: 6\n", - " BIC: 0.484E+04\n", - " Cp: 0.659E+08\n", - " AICc: 0.482E+04\n", - " HQC: 0.483E+04\n", - " MSE: 0.168E+06\n", - " SSEp: 0.659E+08\n", - " RIC: 0.659E+08\n", - " MADp: 0.594\n", - " \n", - " Quality metrics for output CO2SM_CO2_Entropy\n", - " --------------------------------------------\n", - " SSE OLR: 541.\n", - " SSE: 558.\n", - " RMSE: 1.18\n", - " R2: 0.997\n", - " R2 adjusted: 0.997\n", - " Model size: 10\n", - " BIC: 193.\n", - " Cp: 178.\n", - " AICc: 154.\n", - " HQC: 169.\n", - " MSE: 1.43\n", - " SSEp: 558.\n", - " RIC: 606.\n", - " MADp: 0.130E+04\n", - " \n", - " Total execution time 0.52 s\n", - " Times breakdown\n", - " OLR time: 0.30 s in 3863 ordinary linear regression problem(s)\n", - " MINLP time: 0.0 s in 0 optimization problem(s)\n", - " Simulation time: 0.0 s to simulate 0 point(s)\n", - " All other time: 0.22 s in 1 iteration(s)\n", - " \n", - " Normal termination\n", - " ***************************************************************************\n" - ] - } - ], - "source": [ - "# Create ALAMO trainer object\n", - "has_alamo = alamo.available()\n", - "if has_alamo:\n", - " trainer = AlamoTrainer(\n", - " input_labels=input_labels,\n", - " output_labels=output_labels,\n", - " training_dataframe=data_training,\n", - " )\n", - "\n", - " # Set ALAMO options\n", - " trainer.config.constant = True\n", - " trainer.config.linfcns = True\n", - " trainer.config.multi2power = [1, 2]\n", - " trainer.config.monomialpower = [2, 3]\n", - " trainer.config.ratiopower = [1]\n", - " trainer.config.maxterms = [10] * len(output_labels) # max terms for each surrogate\n", - " trainer.config.filename = os.path.join(os.getcwd(), \"alamo_run.alm\")\n", - " trainer.config.overwrite_files = True\n", - "\n", - " # Train surrogate (calls ALAMO through IDAES ALAMOPy wrapper)\n", - " success, alm_surr, msg = trainer.train_surrogate()\n", - "\n", - " # save model to JSON\n", - " model = alm_surr.save_to_file(\"alamo_surrogate.json\", overwrite=True)\n", - "\n", - " # create callable surrogate object\n", - " surrogate_expressions = trainer._results[\"Model\"]\n", - " input_labels = trainer._input_labels\n", - " output_labels = trainer._output_labels\n", - " xmin, xmax = [7, 306], [40, 1000]\n", - " input_bounds = {\n", - " input_labels[i]: (xmin[i], xmax[i]) for i in range(len(input_labels))\n", - " }\n", - "\n", - " alm_surr = AlamoSurrogate(\n", - " surrogate_expressions, input_labels, output_labels, input_bounds\n", - " )\n", - "else:\n", - " print(\"Alamo not found.\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.3 Visualizing Surrogates\n", - "\n", - "Now that the surrogate models have been trained, the models can be visualized through scatter, parity and residual plots to confirm their validity in the chosen domain. The training data will be visualized first to confirm the surrogates are fit the data, and then the validation data will be visualized to confirm the surrogates accurately predict new output values." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmEAAAHHCAYAAAD3WI8lAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAACoz0lEQVR4nO2deVxU1fvHP8OqIAyyKJAouK8tauFomRqJ5ZJhiZnlbppY7mbuVl/T3NP0W7llWmpSmZaJS31Lka9pZn5TS364haigDCoqCPf3B811Zpjl3pm7nDvzvF8vX8Lcy51zzz33nM95nuc8R8dxHAeCIAiCIAhCUXzULgBBEARBEIQ3QiKMIAiCIAhCBUiEEQRBEARBqACJMIIgCIIgCBUgEUYQBEEQBKECJMIIgiAIgiBUgEQYQRAEQRCECpAIIwiCIAiCUAESYQRBEARBECpAIowgCIJwyNq1a6HT6XDmzBm1i0IQHgWJMIIgVOfQoUNIS0tDs2bNEBwcjNq1a6N37974888/K53boUMH6HQ66HQ6+Pj4IDQ0FI0aNcJLL72EjIwMUd/7zTff4PHHH0eNGjUQFBSEunXronfv3ti5c6dUt1aJf/3rX/jqq68qfX7gwAHMnDkThYWFsn23NTNnzuTrUqfTISgoCE2bNsXUqVNRVFQkyXds3LgRixcvluRaBOFpkAgjCEJ15s6di61bt+KJJ57AkiVLMGzYMPznP/9By5Ytcfz48Urn16pVC+vXr8cnn3yC9957Dz169MCBAwfQuXNnpKamorS01Ol3zp8/Hz169IBOp8PkyZOxaNEi9OrVC3/99Rc+//xzOW4TgGMRNmvWLEVFmIkVK1Zg/fr1WLhwIRo3box33nkHXbp0gRRbC5MIIwj7+KldAIIgiLFjx2Ljxo0ICAjgP0tNTUWLFi3w7rvv4tNPP7U4X6/Xo1+/fhafvfvuu3jttdfwwQcfID4+HnPnzrX7fXfv3sVbb72FJ598Ert27ap0/PLly27eETsUFxcjKCjI4TnPPfccIiMjAQDDhw9Hr169kJ6ejoMHD8JgMChRTILwSsgSRhCE6rRt29ZCgAFAgwYN0KxZM5w4cULQNXx9fbF06VI0bdoUy5Ytg9FotHtufn4+ioqK0K5dO5vHa9SoYfH77du3MXPmTDRs2BBVqlRBTEwMUlJSkJ2dzZ8zf/58tG3bFhEREahatSpatWqFL774wuI6Op0ON2/exLp163gX4IABAzBz5kxMmDABAJCQkMAfM4/B+vTTT9GqVStUrVoV4eHh6NOnD86fP29x/Q4dOqB58+Y4fPgw2rdvj6CgILz55puC6s+cTp06AQBycnIcnvfBBx+gWbNmCAwMRGxsLEaOHGlhyevQoQN27NiBs2fP8vcUHx8vujwE4amQJYwgCCbhOA6XLl1Cs2bNBP+Nr68vXnjhBUybNg0///wzunbtavO8GjVqoGrVqvjmm28watQohIeH271mWVkZunXrhj179qBPnz54/fXXcf36dWRkZOD48eOoV68eAGDJkiXo0aMHXnzxRZSUlODzzz/H888/j+3bt/PlWL9+PYYMGYJHHnkEw4YNAwDUq1cPwcHB+PPPP/HZZ59h0aJFvFUqKioKAPDOO+9g2rRp6N27N4YMGYIrV67g/fffR/v27fHrr78iLCyML29BQQGeeuop9OnTB/369UPNmjUF158Jk7iMiIiwe87MmTMxa9YsJCUlYcSIETh16hRWrFiBQ4cOYf/+/fD398eUKVNgNBpx4cIFLFq0CABQrVo10eUhCI+FIwiCYJD169dzALhVq1ZZfP74449zzZo1s/t3X375JQeAW7JkicPrT58+nQPABQcHc0899RT3zjvvcIcPH6503urVqzkA3MKFCysdKy8v538uLi62OFZSUsI1b96c69Spk8XnwcHBXP/+/Std67333uMAcDk5ORafnzlzhvP19eXeeecdi89///13zs/Pz+Lzxx9/nAPArVy50u59mzNjxgwOAHfq1CnuypUrXE5ODvfvf/+bCwwM5GrWrMndvHmT4ziOW7NmjUXZLl++zAUEBHCdO3fmysrK+OstW7aMA8CtXr2a/6xr165cnTp1BJWHILwNckcSBMEcJ0+exMiRI2EwGNC/f39Rf2uytFy/ft3hebNmzcLGjRvx0EMP4fvvv8eUKVPQqlUrtGzZ0sIFunXrVkRGRmLUqFGVrqHT6fifq1atyv987do1GI1GPPbYYzhy5Iio8luTnp6O8vJy9O7dG/n5+fy/6OhoNGjQAPv27bM4PzAwEAMHDhT1HY0aNUJUVBQSEhLwyiuvoH79+tixY4fdWLLdu3ejpKQEo0ePho/PvWFk6NChCA0NxY4dO8TfKEF4IeSOJAiCKfLy8tC1a1fo9Xp88cUX8PX1FfX3N27cAACEhIQ4PfeFF17ACy+8gKKiImRlZWHt2rXYuHEjunfvjuPHj6NKlSrIzs5Go0aN4OfnuLvcvn073n77bRw9ehR37tzhPzcXaq7w119/geM4NGjQwOZxf39/i9/vu+++SvF1zti6dStCQ0Ph7++PWrVq8S5We5w9exZAhXgzJyAgAHXr1uWPEwThGBJhBEEwg9FoxFNPPYXCwkL89NNPiI2NFX0NU0qL+vXrC/6b0NBQPPnkk3jyySfh7++PdevWISsrC48//rigv//pp5/Qo0cPtG/fHh988AFiYmLg7++PNWvWYOPGjaLvwZzy8nLodDp89913NgWpdYyVuUVOKO3bt+fj0AiCUA4SYQRBMMHt27fRvXt3/Pnnn9i9ezeaNm0q+hplZWXYuHEjgoKC8Oijj7pUjtatW2PdunW4ePEigIrA+aysLJSWllayOpnYunUrqlSpgu+//x6BgYH852vWrKl0rj3LmL3P69WrB47jkJCQgIYNG4q9HVmoU6cOAODUqVOoW7cu/3lJSQlycnKQlJTEf+auJZAgPBmKCSMIQnXKysqQmpqKzMxMbNmyxaXcVGVlZXjttddw4sQJvPbaawgNDbV7bnFxMTIzM20e++677wDcc7X16tUL+fn5WLZsWaVzuX+Smfr6+kKn06GsrIw/dubMGZtJWYODg20mZA0ODgaASsdSUlLg6+uLWbNmVUqeynEcCgoKbN+kjCQlJSEgIABLly61KNOqVatgNBotVqUGBwc7TBdCEN4MWcIIglCdcePGYdu2bejevTuuXr1aKTmrdWJWo9HIn1NcXIzTp08jPT0d2dnZ6NOnD9566y2H31dcXIy2bduiTZs26NKlC+Li4lBYWIivvvoKP/30E3r27ImHHnoIAPDyyy/jk08+wdixY/Hf//4Xjz32GG7evIndu3fj1VdfxTPPPIOuXbti4cKF6NKlC/r27YvLly9j+fLlqF+/Po4dO2bx3a1atcLu3buxcOFCxMbGIiEhAYmJiWjVqhUAYMqUKejTpw/8/f3RvXt31KtXD2+//TYmT56MM2fOoGfPnggJCUFOTg6+/PJLDBs2DOPHj3er/sUSFRWFyZMnY9asWejSpQt69OiBU6dO4YMPPsDDDz9s8bxatWqFTZs2YezYsXj44YdRrVo1dO/eXdHyEgSzqLk0kyAIguPupVaw98/RudWqVeMaNGjA9evXj9u1a5eg7ystLeU++ugjrmfPnlydOnW4wMBALigoiHvooYe49957j7tz547F+cXFxdyUKVO4hIQEzt/fn4uOjuaee+45Ljs7mz9n1apVXIMGDbjAwECucePG3Jo1a/gUEOacPHmSa9++PVe1alUOgEW6irfeeou77777OB8fn0rpKrZu3co9+uijXHBwMBccHMw1btyYGzlyJHfq1CmLunGUvsMaU/muXLni8DzrFBUmli1bxjVu3Jjz9/fnatasyY0YMYK7du2axTk3btzg+vbty4WFhXEAKF0FQZih4zgJNgcjCIIgCIIgREExYQRBEARBECpAIowgCIIgCEIFSIQRBEEQBEGoAIkwgiAIgiAIFSARRhAEQRAEoQIkwgiCIAiCIFSAkrUyTHl5OXJzcxESEkJbfxAEQRCERuA4DtevX0dsbCx8fOzbu0iEMUxubi7i4uLULgZBEARBEC5w/vx51KpVy+5xEmEMExISAqDiITraB48gCIIgCHYoKipCXFwcP47bg0QYw5hckKGhoSTCCIIgCEJjOAslosB8giAIgiAIFSARRhAEQRAEoQIkwgiCIAiCIFSARBhBEARBEIQKkAgjCIIgCIJQARJhBEEQBEEQKkAijCAIgiAIQgVIhBEEQRAEQagAiTCCIAiCIAgVIBFGEARBEAShAiTCCIIgCIIgVEAzIqxHjx6oXbs2qlSpgpiYGLz00kvIzc21OIfjOMyfPx8NGzZEYGAg7rvvPrzzzjsW5/zwww9o2bIlAgMDUb9+faxdu7bSdy1fvhzx8fGoUqUKEhMT8d///tfi+O3btzFy5EhERESgWrVq6NWrFy5dumRxzrlz59C1a1cEBQWhRo0amDBhAu7evStNZRCycOECsG9fxf8EQRAEITeaEWEdO3bE5s2bcerUKWzduhXZ2dl47rnnLM55/fXX8fHHH2P+/Pk4efIktm3bhkceeYQ/npOTg65du6Jjx444evQoRo8ejSFDhuD777/nz9m0aRPGjh2LGTNm4MiRI3jggQeQnJyMy5cv8+eMGTMG33zzDbZs2YIff/wRubm5SElJ4Y+XlZWha9euKCkpwYEDB7Bu3TqsXbsW06dPl7GGlMcTREtBQQEuXryIBQsKUacOh06dgDp1OCxYUIiLFy+ioKBA7SISBOEG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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, + "cells": [ { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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4uKQmpqKwYMH4+DBgz7b/Pnnn5gwYQKSkpLQuHFjDB06FMePHzdpxGwi5zz27t273jV51113mTRiNnnppZfQuXNnT4G93NxcbNy40fM5XYvSSJ1Ds69DEj5hyNmzZ3HZZZfhhRdeEPx83rx5ePbZZ/Hyyy9j586daNSoEfr164c///zT4JGyjdR5BID+/fujrKzM89/bb79t4AitwZdffokJEyZgx44d2Lx5M2pqatC3b1+cPXvWs83999+PDz/8EO+++y6+/PJLlJaWYsiQISaOmj3knEcAGDt2rM81OW/ePJNGzCYZGRl46qmnsGvXLnz33Xfo06cP/v73v+Onn34CQNeiHKTOIWDydcgRYQ0A7v333/e8drlcXLNmzbj58+d73isvL+diYmK4t99+24QRWgP/88hxHDdy5Eju73//uynjsTInTpzgAHBffvklx3Hu6y8qKop79913Pdvs37+fA8Bt377drGEyj/955DiOu+aaa7j77rvPvEFZlCZNmnCvv/46XYtBwJ9DjjP/OiSLD+FDUVERjh07hry8PM97drsd3bp1w/bt200cmTX54osvkJqainbt2uHuu++Gw+Ewe0jM43Q6AQCJiYkAgF27dqGmpsbnmmzfvj1atmxJ12QA/M8jz1tvvYXk5GR06tQJ06dPR1VVlRnDswR1dXV45513cPbsWeTm5tK1qAL/c8hj5nVITUoJH44dOwYAaNq0qc/7TZs29XxGyKN///4YMmQIsrKycPjwYfzf//0fbrjhBmzfvh2RkZFmD49JXC4XJk2ahJ49e6JTp04A3NdkdHQ0EhISfLala1IcofMIAMOHD0erVq2Qnp6OvXv3Ytq0aTh48CDWrVtn4mjZ48cff0Rubi7+/PNPNG7cGO+//z46dOiAPXv20LUoE7FzCJh/HZLwIQiduPXWWz3/vvTSS9G5c2dkZ2fjiy++wHXXXWfiyNhlwoQJ2LdvH7755huzh2JpxM7juHHjPP++9NJLkZaWhuuuuw6HDx9Gdna20cNklnbt2mHPnj1wOp147733MHLkSHz55ZdmD8tSiJ3DDh06mH4dkquL8KFZs2YAUC9L4fjx457PCHW0bt0aycnJOHTokNlDYZKJEydiw4YN2LJlCzIyMjzvN2vWDNXV1SgvL/fZnq5JYcTOoxDdunUDALom/YiOjkabNm2Qk5ODOXPm4LLLLsMzzzxD16ICxM6hEEZfhyR8CB+ysrLQrFkzfPbZZ573KioqsHPnTh//LKGckpISOBwOpKWlmT0UpuA4DhMnTsT777+Pzz//HFlZWT6f5+TkICoqyueaPHjwIH777Te6Jr2QOo9C7NmzBwDompTA5XLh/PnzdC0GAX8OhTD6OiRXVxhy5swZH2VdVFSEPXv2IDExES1btsSkSZPwxBNPoG3btsjKysIjjzyC9PR0DB482LxBM0ig85iYmIjZs2dj6NChaNasGQ4fPoypU6eiTZs26Nevn4mjZo8JEyZg1apV+M9//oO4uDhPrITdbkdsbCzsdjsKCgowefJkJCYmIj4+Hvfccw9yc3PRvXt3k0fPDlLn8fDhw1i1ahVuvPFGJCUlYe/evbj//vvRq1cvdO7c2eTRs8P06dNxww03oGXLlqisrMSqVavwxRdf4NNPP6VrUSaBziET16Fp+WSEaWzZsoUDUO+/kSNHchznTml/5JFHuKZNm3IxMTHcddddxx08eNDcQTNIoPNYVVXF9e3bl0tJSeGioqK4Vq1acWPHjuWOHTtm9rCZQ+gcAuCWLVvm2ebcuXPcv/71L65JkyZcw4YNuX/84x9cWVmZeYNmEKnz+Ntvv3G9evXiEhMTuZiYGK5NmzbclClTOKfTae7AGWP06NFcq1atuOjoaC4lJYW77rrruE2bNnk+p2tRmkDnkIXr0MZxHGeMxCIIgiAIgjAXivEhCIIgCCJsIOFDEARBEETYQMKHIAiCIIiwgYQPQRAEQRBhAwkfgiAIgiDCBhI+BEEQBEGEDSR8CIIgCIIIG0j4EARBEAQRNpDwIQjCh2PHjuGee+5B69atERMTgxYtWmDQoEE+/Ym2bduGG2+8EU2aNMFFF12ESy+9FAsXLkRdXZ1nm+LiYhQUFCArKwuxsbHIzs7GrFmzUF1d7fN9r732Gi677DI0btwYCQkJuOKKKzBnzhzP548++ihsNhv69+9fb6zz58+HzWZD7969ZR0bvy+bzYYGDRogMzMT999/P86cOaPwLBEEYVWoVxdBEB6Ki4vRs2dPJCQkYP78+bj00ktRU1ODTz/9FBMmTMCBAwfw/vvvY9iwYbjzzjuxZcsWJCQkoLCwEFOnTsX27duxZs0a2Gw2HDhwAC6XC6+88gratGmDffv2YezYsTh79iwWLFgAAFi6dCkmTZqEZ599Ftdccw3Onz+PvXv3Yt++fT7jSktLw5YtW1BSUuLTcXzp0qVo2bKlomPs2LEjCgsLUVtbi61bt2L06NGoqqrCK6+8Um/b6upqREdHqziT+sHimAjCUhjWHIMgCOa54YYbuObNm3Nnzpyp99kff/zBnTlzhktKSuKGDBlS7/P169dzALh33nlHdP/z5s3jsrKyPK///ve/c6NGjQo4plmzZnGXXXYZN3DgQO6JJ57wvL9161YuOTmZu/vuu7lrrrlGxtFd2Jc3Y8eO5Zo1a+bz+WuvvcZlZmZyNpuN4zj3sRcUFHDJyclcXFwcd+2113J79uzx7GPPnj1c7969ucaNG3NxcXFcly5duG+//ZbjOI4rLi7mBg4cyCUkJHANGzbkOnTowH300Uccx3HcsmXLOLvd7jOe999/n/OemtWOiSAIYcjVRRAEAOD06dP45JNPMGHCBDRq1Kje5wkJCdi0aRMcDgcefPDBep8PGjQIF198Md5++23R73A6nUhMTPS8btasGXbs2IEjR45Ijm/06NFYvny55/XSpUtx++23B239iI2N9XG/HTp0CGvXrsW6deuwZ88eAMAtt9yCEydOYOPGjdi1axe6dOmC6667DqdPnwYA3H777cjIyMC3336LXbt24aGHHkJUVBQAd9f08+fP46uvvsKPP/6IuXPnonHjxorGqGZMBEEIQ64ugiAAuBdXjuPQvn170W1+/vlnAMAll1wi+Hn79u092wjt/7nnnvO4uQBg1qxZGDJkCDIzM3HxxRcjNzcXN954I26++WZERPg+lw0cOBB33XUXvvrqK+Tk5GDNmjX45ptvsHTpUqWH6mHXrl1YtWoV+vTp43mvuroab7zxBlJSUgAA33zzDf773//ixIkTiImJAQAsWLAAH3zwAd577z2MGzcOv/32G6ZMmeI5d23btvXs77fffsPQoUNx6aWXAgBat26teJxqxkQQhDAkfAiCAABwHKfLtgDw+++/o3///rjlllswduxYz/tpaWnYvn079u3bh6+++grbtm3DyJEj8frrr+OTTz7xET9RUVEYMWIEli1bhl9//RUXX3wxOnfurGgcAPDjjz+icePGqKurQ3V1NQYMGIDnn3/e83mrVq08AgMAfvjhB5w5cwZJSUk++zl37hwOHz4MAJg8eTLGjBmDlStXIi8vD7fccguys7MBAPfeey/uvvtubNq0CXl5eRg6dKjicasZE0EQwpDwIQgCgNtKwQcli3HxxRcDAPbv348ePXrU+3z//v3o0KGDz3ulpaW49tpr0aNHD7z66quC++3UqRM6deqEf/3rX7jrrrtw9dVX48svv8S1117rs93o0aPRrVs37Nu3D6NHj1Z6iACAdu3aYf369WjQoAHS09Prucr83XxnzpxBWloavvjii3r7SkhIAODOFhs+fDg++ugjbNy4EbNmzcI777yDf/zjHxgzZgz69euHjz76CJs2bcKcOXPw9NNP45577kFEREQ9EVlTU1Pve9SMiSAIYSjGhyAIAEBiYiL69euHF154AWfPnq33eXl5Ofr27YvExEQ8/fTT9T5fv349fvnlF9x2222e937//Xf07t0bOTk5WLZsWT33lRC8cBIaQ8eOHdGxY0fs27cPw4cPV3J4HqKjo9GmTRtkZmbKig/q0qULjh07hgYNGqBNmzY+/yUnJ3u2u/jii3H//fdj06ZNGDJkCJYtW+b5rEWLFrjrrruwbt06PPDAA3jttdcAACkpKaisrPQ5Vj6GR4sxEQRRHxI+BEF4eOGFF1BXV4errroKa9euxS+//IL9+/fj2WefRW5uLho1aoRXXnkF//nPfzBu3Djs3bsXxcXFWLJkCUaNGoWbb74Zw4YNA3BB9LRs2RILFizAyZMncezYMRw7dszzfXfffTcef/xxbN26FUeOHMGOHTtwxx13ICUlBbm5uYJj/Pzzz1FWVmaYZSMvLw+5ubkYPHgwNm3ahOLiYmzbtg0zZszAd999h3PnzmHixIn44osvcOTIEWzduhXffvutJw5q0qRJ+PTTT1FUVITdu3djy5Ytns+6deuGhg0b4v/+7/9w+PBhrFq1yieAW+2YCIIQh1xdBEF4aN26NXbv3o0nn3wSDzzwAMrKypCSkoKcnBy89NJLAICbb74ZW7ZswZNPPomrr74af/75J9q2bYsZM2Zg0qRJsNlsAIDNmzfj0KFDOHTokE/tHeBCjFBeXh6WLl2Kl156CQ6HA8nJycjNzcVnn31WL36FRyjjTE9sNhs+/vhjzJgxA3feeSdOnjyJZs2aoVevXmjatCkiIyPhcDhwxx134Pjx40hOTsaQIUMwe/ZsAEBdXR0mTJiAkpISxMfHo3///li0aBEAt5XtzTffxJQpU/Daa6/huuuuw6OPPioZnCw1JoIgxLFxSqMUCYIgCIIgLAq5ugiCIAiCCBtI+BAEETI0btxY9L+vv/7a7OERBMEA5OoiCCJkOHTokOhnzZs3R2xsrIGjIQiCRUj4EARBEAQRNpCriyAIgiCIsIGED0EQBEEQYQMJH4IgCIIgwgYSPgRBEARBhA0kfAiCIAiCCBtI+BAEQRAEETaQ8CEIgiAIImwg4UMQBEEQRNjw/4yQWz4vK+05AAAAAElFTkSuQmCC", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "###############################################################################" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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FKNGjRL10Dlw4ADuvfdetGrVCi1atMDtt9+OlStXoqqqij8mJycHycnJCA8Ph7u7OyIiIrBgwQKUl5eLvu/dd99Fjx490LJlS/j4+KBnz558s0oAWLhwITQaDYYNG2Yx1uXLl0Oj0WDAgAFWryssLAwajUb216RJk2y/WY3cgAEDkJqa2tDDIKRZcG7oARBC7C8nJwf9+vWDj48Pli9fjttvvx0VFRX49ttvMW3aNPz555/4/PPPkZiYiEceeQR79+6Fj48P0tPTMXv2bGRkZGDLli3QaDT4888/YTQa8c4776Bjx47IysrCo48+imvXrmHFihUAgPfffx+pqal49dVXcffdd+PmzZs4fvw4srKyROMKCgrC3r17kZeXh5CQEP71999/H+3atVN1bb/++isfmB04cABjxozBqVOn4O3tDQBwd3e3xy2sFxUVFXBxcam37ysvL4erq2u9fR8hjZJdGl8QQhqV4cOHs7Zt27KrV69avHflyhV29epV5ufnxxISEize37FjBwPAPv30U9nzv/zyyyw8PJz/+d///jebNGmS4pgWLFjAevTowUaOHMleeOEF/vX9+/czf39/9sQTT7C7775bxdVV43oGXblyhX/tiy++YD179mRubm4sPDycLVy4UNT/CgB7++232YgRI5i7uzvr0qULO3DgADt9+jS7++67mYeHB4uLixP1X+PG/vbbb7OQkBDm7u7O7r//flE/JsYYe/fdd1mXLl2Ym5sb69y5M3vjjTf497Kzs/n72r9/f+bm5sbWr1/PLl++zB544AEWHBzM3N3dWVRUFNu0aRP/uYkTJ1r0RMrOzmbr169nOp1O9P2ff/45E/7fOjfud999l4WFhTGNRsMYM/0dSE5OZv7+/szLy4sNHDiQHT161KZ7T0hTRUtdhDQzRUVF+OabbzBt2jR4enpavO/j44M9e/ZAr9fj6aeftnh/1KhR6NSpEz755BPZ7zAYDPD19eV/btOmDQ4ePIhz585ZHd/kyZOxYcMG/uf3338f48ePt8tMxE8//YSHH34Y06dPxx9//IF33nkHGzZswIsvvig6bvHixXj44Ydx9OhRdOnSBePGjcNjjz2GuXPn4rfffgNjDCkpKaLPnDlzBlu2bMHOnTvxzTff4MiRI/jvf//Lv//xxx9j/vz5ePHFF3Hy5Em89NJLeO655/DBBx+I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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Supercritical CO2 Property Surrogate with ALAMO Surrogate Object - Training Surrogate (Part 1)\n", + "\n", + "Maintainer: Javal Vyas\n", + "\n", + "Author: Javal Vyas\n", + "\n", + "Updated: 2024-01-24\n", + "\n", + "## 1. Introduction\n", + "This notebook demonstrates leveraging of the ALAMO surrogate trainer and IDAES Python wrapper to produce an surrogate based on supercritical CO2 data from simulation using REFPROP package.\n", + "\n", + "There are several reasons to build surrogate models for complex processes, even when higher fidelity models already exist (e.g., reduce model size, improve convergence reliability, replace models with externally compiled code and make them fully-equation oriented).\n", + "\n", + "In this example, we intend to make a surrogate for the physical properties of S-CO2 to be embedded in the property package. This property package will be used to get the physical properties of S-CO2 in the flowsheet simulation. To learn more about property package, see the [IDAES-PSE](https://github.com/IDAES/idaes-pse) Github Page or IDAES [Read-the-docs](https://idaes-pse.readthedocs.io/en/latest/). \n", + "\n", + "### 1.1 Need for ML Surrogate\n", + "\n", + "The properties predicted by the surrogate are enthalpy and entropy of the S-CO2 based on the \n", + "pressure and temperature of the system. The analytical equation of getting the enthalpy and entropy from pressure and temperature are in the differential form and would make the problem a DAE system. To counter this problem and keep the problem algebraic, we will use the surrogates and relate enthalpy and entropy with the pressure and temperature as an algebraic equation.\n", + "\n", + "### 1.2 Supercritical CO2 cycle process\n", + "\n", + "The following flowsheet will be used to optimize the design for the cooling of the fusion reactor using supercritical CO2 cycle. We shall focus on training the surrogate for this notebook and move to constructing the flowsheet and the properties package in the subsequent notebooks. The take away from this flowsheet is that, 3 variables can be measured in any given unit which are flow, pressure and temperature and other properties can be calculated using them. Thus, surrogate should have pressure and temperature as the inputs.\n", + "\n", + "In this example, we will train a model using AlamoTrainer for our data and then demonstrate that we can solve an optimization problem with that surrogate model. " ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import Image\n", + "from pathlib import Path\n", + "\n", + "\n", + "def datafile_path(name):\n", + " return Path(\"..\") / name\n", + "\n", + "\n", + "Image(datafile_path(\"CO2_flowsheet.png\"))" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj4AAAHHCAYAAAC/R1LgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABjNElEQVR4nO3dd1QU198G8GdBekdBFBGsYIsxtoCJij8jGms00dixYMPeADUiVuxRY9QkisQYeyNoxIYliokNFQWs2AAbTVD6vH/sy8hQFHRhWfb5nLNH587s8l03cR/vvXOvTBAEAURERERqQEPZBRARERGVFgYfIiIiUhsMPkRERKQ2GHyIiIhIbTD4EBERkdpg8CEiIiK1weBDREREaoPBh4iIiNQGgw8RERGpDQYfIlJJMpkMc+bMUXYZIldXV9jZ2Sm7DCJ6DwYfIlKYzZs3QyaTiQ9dXV3UrVsXY8eOxdOnT0v0Z587dw5z5sxBQkKCQl+3bdu2kvdkbm6O5s2bY9OmTcjOzlbIz1i4cCH279+vkNcioneroOwCiKj8mTt3LmrUqIHU1FT8888/WLduHQ4dOoSwsDDo6+sr5Ge8efMGFSq8/Svs3Llz8PHxgaurK0xNTRXyM3JUq1YNixYtAgA8f/4cv//+O4YNG4Zbt27B19f3o19/4cKF+Pbbb9GjR4+Pfi0iejcGHyJSuE6dOqFZs2YAgOHDh6NixYpYsWIFDhw4gL59+37w62ZnZyM9PR26urrQ1dVVVLnvZWJiggEDBojHI0eOhL29PX766SfMmzcPWlpapVYLEX0cDnURUYlr164dAOD+/fsAgGXLlsHJyQkVK1aEnp4emjZtit27d+d7nkwmw9ixY7F161Y0aNAAOjo6OHz4sHguZ47PnDlzMG3aNABAjRo1xGGpqKgotGnTBo0bNy6wLnt7e7i4uBT7/ejr6+Pzzz9HSkoKnj9/Xuh1KSkpmDJlCmxsbKCjowN7e3ssW7YMgiBI3mNKSgr8/f3Ful1dXYtdExEVDXt8iKjE3b17FwBQsWJFAMCqVavQrVs39O/fH+np6di+fTu+++47BAYGonPnzpLnnjhxAjt37sTYsWNRqVKlAicQ9+zZE7du3cK2bduwcuVKVKpUCQBgYWGBgQMHws3NDWFhYWjYsKH4nAsXLuDWrVuYNWvWB72ne/fuQVNTs9BhNUEQ0K1bNwQHB2PYsGH49NNPERQUhGnTpuHJkydYuXIlAGDLli0YPnw4WrRogREjRgAAatWq9UE1EVERCERECuLn5ycAEI4dOyY8f/5cePTokbB9+3ahYsWKgp6envD48WNBEATh9evXkuelp6cLDRs2FNq1aydpByBoaGgIN27cyPezAAje3t7i8dKlSwUAwv379yXXJSQkCLq6uoKHh4ekffz48YKBgYGQnJz8zvfUpk0bwcHBQXj+/Lnw/PlzITw8XBg/frwAQOjatat43eDBgwVbW1vxeP/+/QIAYf78+ZLX+/bbbwWZTCbcuXNHbDMwMBAGDx78zjqISDE41EVECte+fXtYWFjAxsYG33//PQwNDbFv3z5YW1sDAPT09MRr4+PjkZiYiC+//BKXL1/O91pt2rRB/fr1P7gWExMTdO/eHdu2bROHmLKysrBjxw706NEDBgYG732NiIgIWFhYwMLCAvXq1cOaNWvQuXNnbNq0qdDnHDp0CJqamhg/frykfcqUKRAEAX///fcHvyci+nAc6iIihVu7di3q1q2LChUqoHLlyrC3t4eGxtt/ZwUGBmL+/PkIDQ1FWlqa2C6TyfK9Vo0aNT66nkGDBmHHjh04c+YMWrdujWPHjuHp06cYOHBgkZ5vZ2eHX3/9VbxFv06dOrC0tHzncx48eICqVavCyMhI0l6vXj3xPBGVPgYfIlK4Fi1aiHd15XXmzBl069YNrVu3xs8//4wqVapAS0sLfn5++PPPP/Ndn7t36EO5uLigcuXK+OOPP9C6dWv88ccfsLKyQvv27Yv0fAMDgyJfS0RlG4e6iKhU7dmzB7q6uggKCsLQoUPRqVMnhYSKgnqLcmhqaqJfv37YvXs34uPjsX//fvTt2xeampof/XMLY2tri+joaLx69UrSHhERIZ7P8a7aiUixGHyIqFRpampCJpMhKytLbIuKivrolYtz5uoUtnLzwIEDER8fj5EjRyI5OVmyLk9J+Prrr5GVlYWffvpJ0r5y5UrIZDJ06tRJbDMwMFD4itNEVDAOdRFRqercuTNWrFiBjh07ol+/fnj27BnWrl2L2rVr49q1ax/8uk2bNgUAzJw5E99//z20tLTQtWtXMRA1adIEDRs2xK5du1CvXj189tlnCnk/henatSucnZ0xc+ZMREVFoXHjxjhy5AgOHDiAiRMnSm5Zb9q0KY4dO4YVK1agatWqqFGjBlq2bFmi9RGpK/b4EFGpateuHTZu3IjY2FhMnDgR27Ztw+LFi/HNN9981Os2b94c8+bNw9WrV+Hq6oq+ffvmW1xw0KBBAFDkSc0fQ0NDAwEBAZg4cSICAwMxceJE3Lx5E0uXLsWKFSsk165YsQJNmzbFrFmz0LdvX6xbt67E6yNSVzJByLWEKBFRObZq1SpMmjQJUVFRqF69urLLISIlYPAhIrUgCAIaN26MihUrIjg4WNnlEJGScI4PEZVrKSkpCAgIQHBwMK5fv44DBw4ouyQiUiL2+BBRuRYVFYUaNWrA1NQUY8aMwYIFC5RdEhEpEYMPERERqQ3e1UVERERqg8GHiIiI1AYnN+eRnZ2N6OhoGBkZcRl5IiIiFSEIAl69eoWqVatKNkXOi8Enj+joaNjY2Ci7DCIiIvoAjx49QrVq1Qo9z+CTh5GREQD5H5yxsbGSqyEiIqKiSEpKgo2Njfg9XhgGnzxyhreMjY0ZfIiIiFTM+6apcHIzERERqQ0GHyIiIlIbDD5ERESkNjjH5wNkZWUhIyND2WVQKdDS0oKmpqayyyAiIgVh8CkGQRAQGxuLhIQEZZdCpcjU1BRWVlZc14mIqBxg8CmGnNBjaWkJfX19fhGWc4Ig4PXr13j27BkAoEqVKkquiIiIPhaDTxFlZWWJoadixYrKLodKiZ6eHgDg2bNnsLS05LAXEZGK4+TmIsqZ06Ovr6/kSqi05XzmnNdFRKT6GHyKicNb6oefORFR+cHgQ0RERGqDwYeIiIjUBoOPGnB1dYVMJoNMJoOWlhYqV66Mr776Cps2bUJ2dnaRX2fz5s0wNTUtuUKJiIhKGIOPmujYsSNiYmIQFRWFv//+G87OzpgwYQK6dOmCzMxMZZdHRERUKhh81ISOjg6srKxgbW2Nzz77DDNmzMCBAwfw999/Y/PmzQCAFStWoFGjRjAwMICNjQ3GjBmD5ORkAMDJkycxZMgQJCYmir1Hc+bMAQBs2bIFzZo1g5GREaysrNCvXz9x7RsiIqIcAQGAk5P8V2VRmeCzaNEiNG/eHEZGRrC0tESPHj0QGRkpuSY1NRXu7u6oWLEiDA0N0atXLzx9+rTEahIEAenp6Up5CILw0fW3a9cOjRs3xt69ewEAGhoaWL16NW7cuAF/f3+cOHEC06dPBwA4OTnhxx9/hLGxMWJiYhATE4OpU6cCkN/mPW/ePFy9ehX79+9HVFQUXF1dP7o+IiIqPx4/fowrV3zg4uIDX1/l1aEyCxieOnUK7u7uaN68OTIzMzFjxgx06NABN2/ehIGBAQBg0qRJOHjwIHbt2gUTExOMHTsWPXv2xNmzZ0ukpoyMDCxatKhEXvt9vLy8oK2t/dGv4+DggGvXrgEAJk6cKLbb2dlh/vz5GDVqFH7++Wdoa2vDxMQEMpkMVlZWktcYOnSo+PuaNWti9erVaN68OZKTk2FoaPjRNRIRkWo7cOAAQkNDxWMPDwGAcpYKUZngc/jwYcnx5s2bYWlpiUuXLqF169ZITEzExo0b8eeff6Jdu3YAAD8/P9SrVw/nz5/H559/royyyzxBEMR1ao4dO4ZFixYhIiICSUlJyMzMRGpqKl6/fv3OhRsvXbqEOXPm4OrVq4iPjxcnTD98+BD169cvlfdBRERlT2pqKhYvXixp69evH+rUUd76aCoTfPJKTEwEAJibmwOQf/lmZGSgffv24jUODg6oXr06QkJCCg0+aWlpSEtLE4+TkpKKXIOWlha8vLw+pPyPpqWlpZDXCQ8PR40aNRAVFYUuXbpg9OjRWLBgAczNzfHPP/9g2LBhSE9PLzT4pKSkwMXFBS4uLti6dSssLCzw8OFDuLi4ID09XSE1EhFR2RMQAPj6Ap6eQLdu+c+Hh4dj586dkjZFjVZ8DJUMPtnZ2Zg4cSJatWqFhg0bApBvIKqtrZ3vduvKlSsjNja20NdatGgRfHx8PqgOmUym9A/wY5w4cQLXr1/HpEmTcOnSJWRnZ2P58uXQ0JBP/cr7H6y2tjaysrIkbREREXj58iV8fX1hY2MDALh48WLpvAEiIlIaX18gJASYPl0agARBgJ+fHx49eiRe26JFC3Tq1EmJ1b6lMpObc3N3d0dYWBi2b9/+0a/l5eWFxMRE8ZH7gypP0tLSEBsbiydPnuDy5ctYuHAhunfvji5dumDQoEGoXbs2MjIysGbNGty7dw9btmzB+vXrJa9hZ2eH5ORkHD9+HC9evMDr169RvXp1aGtri88LCAjAvHnzlPQuiYiotHh6Avb2wMOH8gDk6ysfjZk7d67ku3TEiBFlJvQAKhh8xo4di8DAQAQHB6NatWpiu5WVFdLT05GQkCC5/unTp/km4+amo6MDY2NjyaM8Onz4MKpUqQI7Ozt07NgRwcHBWL16NQ4cOABNTU00btwYK1aswOLFi9GwYUNs3bo138RtJycnjBo1Cn369IGFhQWWLFkCCwsLbN68Gbt27UL9+vXh6+uLZcuWKeldEhFRaenWDTA3B968AQwNgaFD/8WPP/4ontfV1cUPP/yAKlWqKK/IAsgERdwXXQoEQcC4ceOwb98+nDx5EnXq1JGcT0xMhIWFBbZt24ZevXoBACIjI+Hg4PDOOT55JSUlwcTEBImJiZIQlJqaivv376NGjRrQ1dVV3BujMo+fPRFRwQICgMWLs9Gp01JkZaWK7S4uLqV+U1Fh3995qcwcH3d3d/z55584cOAAjIyMxHk7JiYm0NPTg4mJCYYNG4bJkyfD3NwcxsbGGDduHBwdHXlHFxERUQlo0SIWHTpsQO7pnxMmTCjT2xupTPBZt24dAKBt27aSdj8/P3GxvJUrV0JDQwO9evVCWloaXFxc8PPPP5dypUREROXf4cOH8e+//4rHNjY2GDJkiLhESlmlMsGnKCNyurq6WLt2LdauXVsKFREREamf9PT0fHNAe/fujXr16impouJRmeBDREREynXnzh1s3bpV0ubh4aFS8x8ZfIiIiOi9tm7dijt37ojHT558il9+6a7Eij6Myt3OTkRERIqVs2v6zJn5d09PTk6Gj4+PJPScPz8UXbqoXugB2ONDRESk9nJWYf73XyA7W37crRtw+fJl/PXXX+J1MpkMM2fOhKamphKr/TgMPkRERGrO0xPo3x9ITpYvRujhIeDHH1eJ+2ICgLOzM1q3bq3EKhWDQ11ERERqrls3YPx4eegZP/45QkPnSkLPmTNjkZCg+qEHYPAhBXJ1dUWPHj3E47Zt22LixIkf9ZqKeA0iInq/4GCgRYsT0NZ+u/6dhYUFgoJm4/jxivD1VWJxCsShLjXg6uoKf39/AICWlhaqV6+OQYMGYcaMGahQoeT+E9i7dy+0tLSKdO3Jkyfh7OyM+Ph4yYqfxXkNIiL6MBkZGXBxWShp++abb/DJJ5+gWrW3u6+XBww+aqJjx47w8/NDWloaDh06BHd3d2hpacHLy0tyXXp6OrS1tRXyM83NzcvEaxARkVRAAODhAQgC8MMPUbhzx19yfurUqTAwMAAgHwbr1k0ZVZYMDnWpCR0dHVhZWcHW1hajR49G+/btERAQIA5PLViwAFWrVoW9vT0A4NGjR+jduzdMTU1hbm6O7t27IyoqSny9rKwsTJ48GaampqhYsSKmT5+eb3XtvMNUaWlp8PDwgI2NDXR0dFC7dm1s3LgRUVFRcHZ2BgCYmZlBJpOJ25DkfY34+HgMGjQIZmZm0NfXR6dOnXD79m3x/ObNm2FqaoqgoCDUq1cPhoaG6NixI2JiYsRrTp48iRYtWsDAwACmpqZo1aoVHjx4oKA/aSKiss/XF4iIABo12i0JPfXq1YO3t7cYesojBh81paenh/T0dADA8ePHERkZiaNHjyIwMPD/uzxdYGRkhDNnzuDs2bNigMh5zvLly7F582Zs2rQJ//zzD+Li4rBv3753/sxBgwZh27ZtWL16NcLDw7FhwwYYGhrCxsYGe/bsAQBERkYiJiYGq1atKvA1XF1dcfHiRQQEBCAkJASCIODrr79GRkaGeM3r16+xbNkybNmyBadPn8bDhw8xdepUAEBmZiZ69OiBNm3a4Nq1awgJCcGIESPK/N4yREQfImd9ntzr8gDA1KmvMWeODxo2vCG21a49CL179y7lCksfh7rUjCAIOH78OIKCgjBu3Dg8f/4cBgYG+O2338Qhrj/++APZ2dn47bffxEDg5+cHU1NTnDx5Eh06dMCPP/4ILy8v9OzZEwCwfv16BAUFFfpzb926hZ07d+Lo0aNo3749AKBmzZri+ZwhLUtLy0J39b19+zYCAgJw9uxZODk5AZCvJGpjY4P9+/fju+++AyAfq16/fj1q1aoFABg7dizmzp0LAEhKSkJiYiK6dOkinleV/WWIiIorZ32enHV5AOD69eu4fn2v5Lr582egeXMt9O+vhCJLGXt8lKSwFF5SAgMDYWhoCF1dXXTq1Al9+vTBnDlzAACNGjWSzOu5evUq7ty5AyMjIxgaGsLQ0BDm5uZITU3F3bt3kZiYiJiYGLRs2VJ8ToUKFdCsWbNCf35oaCg0NTXRpk2bD34P4eHhqFChguTnVqxYEfb29ggPDxfb9PX1xVADAFWqVMGzZ88AyAOWq6srXFxc0LVrV6xatUoyDEZEVJ54egKOjvJfBUHA+vXrsXfv29DTqlUrNGnijebNtcrN5OX3YfBRktwpvDQ4OzsjNDQUt2/fxps3b+Dv7y+O4eYdy01OTkbTpk0RGhoqedy6dQv9+vX7oJ+vp6f30e+hqPLeBSaTySTzj/z8/BASEgInJyfs2LEDdevWxfnz50utPiKikpbzj2sAOHcO+OKLOMydOxdPnz4Vr8mZ76luGHyUJHcKLw0GBgaoXbs2qlev/t5b2D/77DPcvn0blpaWqF27tuRhYmICExMTVKlSBf/++6/4nMzMTFy6dKnQ12zUqBGys7Nx6tSpAs/n9DhlZWUV+hr16tVDZmam5Oe+fPkSkZGRqF+//jvfU15NmjSBl5cXzp07h4YNG+LPP/8s1vOJiMqy3P+4/ueff7BmzRrxnLGxMX744QdYWlrmu1YdMPgoSbdu8hReFm8R7N+/PypVqoTu3bvjzJkzuH//Pk6ePInx48fj8ePHAIAJEybA19cX+/fvR0REBMaMGYOEhIRCX9POzg6DBw/G0KFDsX//fvE1d+7cCQCwtbWFTCZDYGAgnj9/juTk5HyvUadOHXTv3h1ubm74559/cPXqVQwYMADW1tbo3r1om+Xdv38fXl5eCAkJwYMHD3DkyBHcvn2b83yIqFzx9ATq1cvCV1/Nw/Hjx8X2Ll26YNKkSdDQ0JBcW5r/EFc2Bh/KR19fH6dPn0b16tXRs2dP1KtXD8OGDUNqaiqMjY0BAFOmTMHAgQMxePBgODo6wsjICN988807X3fdunX49ttvMWbMGDg4OMDNzQ0pKSkAAGtra/j4+MDT0xOVK1fG2LFjC3wNPz8/NG3aFF26dIGjoyMEQcChQ4eKvMihvr4+IiIi0KtXL9StWxcjRoyAu7s7Ro4cWYw/ISKisi0l5TH69JkPDY1ssW3y5Mlo2rRpvjmmZfkf4iVBJuRdfEXNJSUlwcTEBImJieKXPACkpqbi/v37qFGjBnR1dZVYIZU2fvZEVNYFBOReXTkAV65cEc8ZGdXE5MkDxWMnJ/nQlqOjPPCUF4V9f+fF29mJiIhUnK8vcPlyKq5cWSxpr1mzHwYOrCNp8/QsX1tQFBeDDxERURmXu0enoCGpUaMicP/+Dkmbp6cndHR08l1b3ragKC4GHyIiojKuoIUIAeDAAQHBwZthZvZQbGvevDm+/vprJVSpGji5mYiIqIwr6M6rxMREhIbOlYQeNzc3ZGZ+DQcHoF690lskV5Uw+BQT54KrH37mRKQseRciBOTHGzf+hx9//FG8LjVVB0eOzELVqlXh6wtERso3IVWXtXmKg8GniHJul379+rWSK6HSlvOZF/WWeSIiRcm7uODixdn48sslePz4b/Eaa+sOOHXKEx4emgDkvUL29oCDg/pOYH4XzvEpIk1NTZiamop7Punr63NH73JOEAS8fv0az549g6mpKTQ1NZVdEhGpmdx3YMXGxqJDhw2S8xMmTICpqSmGD3/bpu6Tl9+H6/jk8a51AARBQGxs7DtXKKbyx9TUFFZWVgy6RFTiCrt7KygoSLKnYEKCNVasGMa/l3Ip6jo+DD55FOUPLisrCxkZGaVcGSmDlpYWe3qIqNTkLC7o4ACYmQHTpqXj2rVFkmtCQ7/DkCH12auTBxcwLEGampr8MiQiIoXz9AQ8PICoKCAj4y6uXftDct7ffzp+/FGPoecjMPgQEREpUc7wlrMzEBwMCALwzTfbYG9/S7wmNLQx9u/vASD/Wj5UPAw+RERESjR9uvz284sXAW3tZEybtlxyfuPGIXj0qDoAwNqad2p9LAYfIiIiJcqZn9y48RV06SJdcXDevJnIypJ/Vc+YASxYUNrVlT8MPkRERErk6yvg3Lk10NePF9tu326L3r3boGVL+cKFTk4MPYrC4ENERKQkL168QGjoWujrv23bsGEsYmIq4tIlIDxcebWVVww+REREShAcHIzTp0+Lx4JQCcuXj0Fysuz/j5VVWfnG4ENERFSKMjMzsSDPuNW+fT1w925jJCcDurqAnR2weLFy6ivvGHyIiIhKyZ9/PsDt25slbUuWTMXr1waYMUN+O3veVZtJsRh8iIiISlhAAHDw4F5UrXpdbAsPd8COHX0AABUqcPJyaWHwISIiKiEBAcDy5W/Qrt0SVK36tn3LloG4e7emeFy5shKKU1MMPkRERCVk8+YwtGu3R9J29OgM3L2rBUC+IGH16lyUsDQx+BARESnYgQMCgoN/QePGsWLb/ftO6NnzK2zfLg88RkbyCcycz1O6GHyIiIgUKD4+HqGhq2Fm9rZt48ZRyM6ujH//BSIiAEdH+cKEVPoYfIiIiBTk7NmzOHbsmHiclGSElSsnQhA0AAD29vLQw6Et5WHwISIi+khZWVnw9fVFZmam2BYY2BkXLzaDhoZ8MUJdXWDJEg5tKRuDDxER0Ud48uQJfvvtN0nb8uWT8OqVMQCgSpW3E5gZepSPwYeIiOgDBQYG4tKlS+LxvXs1EBg4ECkpMjg5yXt6GHjKFgYfIiKiYkpLS4Ovr6+k7c8/++L27bqoWhWIi5OHHk5gLnsYfIiIiIphy5ZI3Lu3XdK2e7cnoqN1IAiAoSEnMJdlDD5ERERFIAgC/P398eDBA7EtK6sZVq7sjPHjgZYtAV9fDm2VdQw+RERE75GUlISVK1dK2oKC3BAXVxXJyfLNRRcsYOBRBQw+RERE73DhwgUcOnRIPNbS0sK6dR54/FgT5uYc1lI1DD5EREQFyM7OxooVK5CSkiK2ffXVV3jxwglPnsiP37zhBGZVw+BDRESUx9OnT7F+/XpJ2y+/TECTJqbw9ZXfsaWhAUyapKQC6YMx+BAREf2/gABg794jqFEjRGx7+bIqfvttON68kcHDQ76xKCcxqy4GHyIiIgDp6em4cmURatR42/bXX99CR6cBUlPlx4IgDzsMPKqLwYeIiNRaQADwyy/30Lz5Fkn7hg3TEROjJx5raMj32iLVxuBDRERqKSBAPmTVoMF2NG8eKbZHR3+CX375BjLZ22s1NDi0VV5oKLsAIiIiZVixIgUuLj6oVu1t6BkyZAgqVfpGXH1ZVxewtgb27ZOv00Oqjz0+RESkVgICgN9/D4Wz8wFJ+8yZM1GhQgUEBwPJycDLl0CTJuzpKW/Y40NERGpDEAT8888aNGr0NvRYWbXBr796w8ioAmbOlAcdR0dAJgNCQuTDYVR+MPgQEVG5FRAAODnJf33x4gXmzp0LA4M48Xy9eu5YubItnjwBUlOB1avlvTvnzslvW+eqzOUPh7qIiKjc8vWV99rs2nUSV66cEttTUsyxbNlYGBjIYGIib5PJgPHj3z6Xt62XTww+RERULgUEAAkJmZgzRzoruXv37nj48FOsWyefy2Nt/bZnh0Gn/ONQFxERlQu5h7UAYP36h+jTRxp6Gjacik8//RTdugFbt8oDz5Il8qEthh71wB4fIiJSeQEBQP/+8h4cX18gK2sfWra8Jp6/c6cu/vijr7gez4IFHMpSV+Wyx2ft2rWws7ODrq4uWrZsif/++0/ZJRERkYLl7uHx9ZWHnkqV3sDFxQfXrr0NPTt2DMCePX0BANnZwIoVyqqYyoJyF3x27NiByZMnw9vbG5cvX0bjxo3h4uKCZ8+eKbs0IiJSoJyJyzkbhvbocQNjx0r3lFi1ygvh4bXw5s3btooVS7lQKlPKXfBZsWIF3NzcMGTIENSvXx/r16+Hvr4+Nm3apOzSiIhIQQICgLg4wMEB8PAQEBv7Cz79dLd43tLSEcuWeSM+Xluy9YS1NfDzz0oomMqMcjXHJz09HZcuXYKXl5fYpqGhgfbt2yMkJKTA56SlpSEtLU08TkpKKvE6iYjo4/j6ApGRgLNzAkJDV0nOjRo1Cm3aVEZysnzLicmTgeBg3rVFcuUq+Lx48QJZWVmoXLmypL1y5cqIiIgo8DmLFi2Cj49PaZRHREQfKWc+j7MzYGt7Dg4OR8VzBgYGmDx5MjQ0NMReHjs77rFFUuVuqKu4vLy8kJiYKD4ePXqk7JKIiKgQvr7Av/9mQUNjoST0XLz4NX77bSoCA+VfazmrLi9erKxKqawqVz0+lSpVgqamJp4+fSppf/r0KaysrAp8jo6ODnR0dEqjPCIi+kjjx0cjMvJXSdvJk5Nw8qQxAHkwyrlNncNaVJBy1eOjra2Npk2b4vjx42JbdnY2jh8/DkdHRyVWRkREHyL3LesHDx6UhB5DQzsEBc2Gk5MxHBzkE5fj498uYEhUkHIVfABg8uTJ+PXXX+Hv74/w8HCMHj0aKSkpGDJkiLJLIyKid8i78jIg78G5dCkNV6744OLFi2J7Rsb3mDVrMEJCZNizBwgPB6pXByIiuJs6vVu5GuoCgD59+uD58+eYPXs2YmNj8emnn+Lw4cP5JjwTEVHZkntdnpxhqtGjb+HevW2S6xYt8oSWlg5SU+XHOROZPT3frulDVBiZIAiCsosoS5KSkmBiYoLExEQYGxsruxwiIrWRc8eWpyfQtauALVu24P79++L5ixebIjCwCwwN5buo79kjDz2LF3M+DxX9+5vBJw8GHyIi5Xr16hVW5NlXYvPm4YiKsoaGBrBvH4MO5VfU7+9yN9RFRESq6+LFizh48KB4nJFRAYsWeaJKFU2xp4ehhz4Ggw8REZWq3ENaOSEmOzsbK1euRHJysnjd8ePtceZMK8hkwODBXIiQFINDXXlwqIuIqGQ5OcknMTs4AGZmwIQJzxARsU5yzY8/jkdCghk0NOQ7qjs6AufOKalgUgkc6iIiojIp5+6ruDjAwOAYIiLOiudiYqywadMIaGrKYG0t7+nJ2WeLSBEYfIiIqEQUNKQFyH/fqVMGFi5cKLl+165eiIhoCA8PDmtRyeFQVx4c6iIiUgwHB/kO6vb28oUFc9y/fx+///675NrFi6fhzRt9DmnRB+NQFxERKVXOwoI5vwLAjh07EJErBd282RBnz/aCuTlgaMghLSp5DD5ERKRwAQGAIMh7fRYvBlJSUrBs2TLJNVu3umLZMlvs2KGkIkktMfgQEZHC+frKh7kMDYELF67iypX9kvPz589E7doVuCYPlToGHyIiUpicCc3OzsD16wIGD/4ZFSq8EM+fPNkaZ886o0IFoGdPJRZKaovBh4iIFCZno1F9/ZeYOvUnybmffnJHYmIlZGQAGRnA3r1vb1Vnzw+VFgYfIiJSGE9PwN//ND75JFhs09Y2w19/jcPGjfJZzh4e8vk/gpB/N3aiksbgQ0RECrF/fyauXl2ATz5523b9ejfs3t0EXl5v23JCTu51fohKC4MPERF9tFmzHkFLa5OkbfXqKfDzMyz0Od26saeHSh+DDxERfZQ1a/ZDS+uqePzwYR2Eh/eDnx+DDZU9DD5ERPRB9u59g+vXl0jaDh0agJkza2HjRiUVRfQeDD5ERFRkOfNy2rW7CS2tXZJzO3d64cYNbSVVRlQ0DD5ERFSggABg+nT5lhOLF8uHrXx9Bbi4zJVcFxLyOU6ccMHu3UoqlKgYGHyIiKhAOasv5/y+RYtYuLhskFyTkTESSUlW2L2b83lINTD4EBFRgTw93/b49OmzGxs23JCc/+GHH6ChoaGk6og+DIMPERHlkzOXx9c3C1evzkdCwttzn3zyCb755hul1Ub0MRh8iIgoH19f4MWLW7h6dZukffTo0bC0tFRSVUQfj8GHiIhEOT09HTqshkwWLzk3e/ZsyGQyJVVGpBgMPkREJAaelJTX6NlzqeRc1ar/g5vbF0qqjEixGHyIiAi+vkB29r/o2fOwpH3q1KkwMDBQUlVEisfgQ0SkxnJ6elxcfCTtBgYGmDp1qpKqIio5DD5ERGps3ryX6NLlJ0nblSu9sX9/PSVVRFSyuAADEZGamDkTMDICvvsOqFYN+Oabv/KFnqNHZ2DoUIYeKr9kgiAIyi6iLElKSoKJiQkSExNhbGys7HKIiBQiIADo0QMQBEBDIxuzZ8+TnDc2rotJk/oqpzgiBSjq9zeHuoiIyrmAAKB/f3nosbOLgqurv+S8m5sbqlatqqTqiEoXgw8RUTmVM3E5Ph5ITgZGjPgNVas+kVwTFDQb3t5cm4fUB+f4EBGVAwEBgJOT/Nccvr5ASAjw6FEa5szxkYSeypW/QFCQNzw9GXpIvXCOTx6c40NEqsjJSR5yHBwAMzPA2RnYuxcwMrqCzp0DJNdOnDgRJiYmSqqUqGRwjg8RkRrx9JT38MTFyQPQ9evA1Kk+ea6Swdt7tlLqIyorGHyIiMqRRo2A+PhEjBnzo6S9R48eaNy4sXKKIipDij3HR1NTE8+ePcvX/vLlS2hqaiqkKCIiKp6c+TyJicfyhZ5PPvFk6CH6f8Xu8SlsSlBaWhq0tbU/uiAiIio+Dw8BoaFzJW0GBjaYOnWokioiKpuKHHxWr14NAJDJZPjtt99gaGgonsvKysLp06fh4OCg+AqJiOidnjx5gtDQ3yRtrq6usLW1VVJFRGVXkYPPypUrAch7fNavXy8Z1tLW1oadnR3Wr1+v+AqJiEiUszaPp6f8+MiRrbCwuCO55ocffoCGBlcrISpIkYPP/fv3AQDOzs7Yu3cvzMzMSqwoIiJ6K3fYmT4diIwE+vfPwNSpC2Fh8fa6Zs2aoXPnzsorlEgFcB2fPLiODxGVJQEBQJ8+QGoqoKsLVKwImJjcQO/euyXXjR07FhUrVlRSlUTKV2Lr+Awd+u6Jcps2bSruSxIRUQFy9thKTZUfp6YCgwYtgY7OG8l13t7eSqiOSDUVO/jEx8dLjjMyMhAWFoaEhAS0a9dOYYUREak7X1/5Hlu6ukC1askYMGC55HynTp3QokULJVVHpJqKHXz27duXry07OxujR49GrVq1FFIUEZG6yj2fx9lZvgLzxIlnUKHCCcl106dPh56enpKqJFJdCpvjExkZibZt2yImJkYRL6c0nONDRMqQE3ji4uSTl3V1gawsATNnStfmqVixIsaOHaukKonKrlLfq+vu3bvIzMxU1MsREamNnLk8ycmAnh6gqQkYGz/FmDHSJUL69euHOnXqKKlKovKh2MFn8uTJkmNBEBATE4ODBw9i8ODBCiuMiEhd5MzlkcmAN2+Anj334pNPrkuumTVrFrcFIlKAYgefK1euSI41NDRgYWGB5cuXv/eOLyIiyi9nLo+ubhbGjp0vOdewYUP06tVLSZURlT/FDj7BwcElUQcRkdoKDgasrG5jwIA/Je2jRo1C5cqVlVQVUfn0wXN8nj17hsjISACAvb09LC0tFVYUEVF5lvvOrW7dgA4dfoJM9lJyzezZsyGTyZRUIVH5Vezgk5SUBHd3d2zbtg3Z2dkAAE1NTfTp0wdr166FiYmJwoskIiovck9kXr78Da5cWYLc+ebWrXbo0+dLMPMQlYxi72Ln5uaGf//9FwcPHkRCQgISEhIQGBiIixcvYuTIkSVRIxGRygoIAJyc5L8Cbycyf/nlf2jXbonk2oYNp2Dr1i/RrZsSCiVSE8Vex8fAwABBQUH44osvJO1nzpxBx44dkZKSotACSxvX8SEiRXJyAkJCAENDYOtWeduVKz6Sa9LT9dCy5XQGHqKPUGLr+FSsWLHA4SwTExPu2E5ElEtAgHxBQj09eS+Pp+dL9Onzk+Sa7777DvXr11dShUTqp9hDXbNmzcLkyZMRGxsrtsXGxmLatGn44YcfFFocEZGqyT205esrX4W5enVg6NCD+ULPjBkzGHqISlmxh7qaNGmCO3fuIC0tDdWrVwcAPHz4EDo6OvlWFL18+bLiKi0lHOoioo+RM7Tl6Ci/a8vXNxsuLvMk12Rn14aPT38lVUhUPpXYUFf37t15iyURUSE8PYHp04H4eCA5+QFcXDZLzg8fPhzW1tbKKY6IFLdJaXnBHh8iKq686/LUqwe0arURNjaPJddxbR6iklPU7+9iz/GpWbMmXr58ma89ISEBNWvWLO7LERGpPF9f+fCWry+QlpaG77/3kYSee/daoUkTb4YeojKg2ENdUVFRyMrKyteelpaGx48fF/AMIqLyTT6XB3Bzuwpf3/2Sc6dOTcCJE6ZKqYuI8ity8AnIWX0LQFBQkOSW9qysLBw/fhw1atRQbHVERGVYQADg4QEIAvD99z54+FB6PijIG56eyqmNiApW5Dk+GhryUTGZTIa8T9HS0oKdnR2WL1+OLl26KL7KUsQ5PkT0Lrnn8/j6AjduJGLy5B8l11y/3g27dzdRToFEakrhc3yys7ORnZ2N6tWr49mzZ+JxdnY20tLSEBkZWWKhJyoqCsOGDUONGjWgp6eHWrVqwdvbG+np6ZLrrl27hi+//BK6urqwsbHBkiVLCnlFIqLiyVmfx8Pj7XyeQYOO5ws9u3Z5YtAghh6isqrYc3zu379fEnW8U0REBLKzs7FhwwbUrl0bYWFhcHNzQ0pKCpYtWwZAnvQ6dOiA9u3bY/369bh+/TqGDh0KU1NTjBgxotRrJqLyJWcCs7094OgowMVlLp4+fXv+8WNr3LgxHGFhyquRiN6v2MFn7ty57zw/e/bsDy6mMB07dkTHjh3F45o1ayIyMhLr1q0Tg8/WrVuRnp6OTZs2QVtbGw0aNEBoaChWrFjB4ENEH83ZGbh+Hfj222hoaf0qOVe79mAEBdlxPg+RCih28Nm3b5/kOCMjA/fv30eFChVQq1atEgk+BUlMTIS5ubl4HBISgtatW0NbW1tsc3FxweLFixEfH899xIioWPKuzRMcDHTr9ie0tG5Lrjty5Ad4e2ugPxdiJlIJxQ4+V65cydeWlJQEV1dXfPPNNwop6n3u3LmDNWvWiL09gHy/sLx3lVWuXFk8V1jwSUtLQ1pamniclJRUAhUTkarJvTZPp04ZcHFZKDmfldUUx451YS8PkYop9gKGBTE2NoaPj0+xNyn19PSETCZ75yMiIkLynCdPnqBjx4747rvv4Obm9tG1L1q0CCYmJuLDxsbmo1+TiFRPzuTlmTPlvzo7y/fbGjUqHAsXSkPPmjVjcexYF5w7J+8NIiLVUewen8IkJiYiMTGxWM+ZMmUKXF1d33lN7tWgo6Oj4ezsDCcnJ/zyyy+S66ysrPA090xDQDy2srIq9PW9vLwwefJk8TgpKYnhh0gN5fTwXL8OJCfLf/X0XIb791Mk123b5g0LC7Cnh0hFFTv4rF69WnIsCAJiYmKwZcsWdOrUqVivZWFhAQsLiyJd++TJEzg7O6Np06bw8/MT1xXK4ejoiJkzZyIjIwNaWloAgKNHj8Le3v6d83t0dHSgo6NTrLqJqPxxdgZCQwFtbaBixRSMG7cMmZlvzx8/3hFTp7aEt7fSSiQiBSj2JqV559FoaGjAwsIC7dq1g5eXF4yMjBRaICAPPW3btoWtrS38/f2hqakpnsvpzUlMTIS9vT06dOgADw8PhIWFYejQoVi5cmWx7uriAoZE6iPvYoQhIUCrVv/gq6+OS647cWIapkzR57AWURlW1O9vldidffPmzRgyZEiB53KXf+3aNbi7u+PChQuoVKkSxo0bBw8Pj2L9LAYfIvXh5CQPO46OgIeHgNBQ6XIdZmZmGD9+vJKqI6LiKNHgk5CQgDt37gAAateuDVNT0w8utKxh8CFSHzk9PhMmPENExDrJuZo1+2LgwLpKqoyIiquo39/FmuMTFRUFd3d3BAUFiT0tMpkMHTt2xE8//QQ7O7uPKpqIqDR16wZkZe3DtWvXJO3z5s1CixaaGDhQSYURUYkpcvB59OgRPv/8c2hpaWHevHmoV68eAODmzZtYt24dHB0dceHCBVSrVq3EiiUi+lABAcD06YBMBixeDHTunIX58+dLrrl7twG2b/8WVla8a4uovCryUNewYcNw584dBAUFQVdXV3LuzZs36NixI+rUqYPffvutRAotLRzqIiqfcubzAECXLnfQrNlWyfm//x6Ff/+VL3rq6AicO1faFRLRx1D47uyHDx/GggUL8oUeANDT08O8efNw6NChD6uWiKgE5CxKGBAg78GxtwcmTfo5X+iZM2c2EhMrw8FBfg17e4jKryIPdb148eKdc3hq1qyJuLg4RdRERKQQ06cDkZHyX69ceYO+fZdIzt++7Qxb29ZwdHy7JxcRlW9FDj5VqlTBzZs3C53DExYW9s4VkomISltysvxXG5sLWLJE2iMdHDwFp04ZcliLSM0UOfj06NEDU6dOxfHjx/Ottvzs2TN4eHigR48eiq6PiOiDGRoCc+b4SNp0dXXh4eGBJk2A9HQOaxGpmyJPbo6Pj0fLli0RGxuLAQMGwMHBAYIgIDw8HH/++SesrKxw/vx5mJubl3TNJYqTm4nKh7i4OKxZs0bS9u2336JBgwZKqoiISpLC1/ExMzPDv//+ixkzZmD79u1ISEgAAJiamqJfv35YuHChyoceIlJtOQsSDhjwN54//09ybsaMGeI+fkSkvj5o5WZBEPD8+XMA8o1GZTKZwgtTFvb4EKkuJ6dsuLjMk7TVrFkTA7kSIVG5p/Db2XOTyWSwtLSEpaVluQo9RKQ6ct+qDgAPHz7MF3rOnx/G0ENEEsXasoKIqKzI2U3d1xd4+dIPDx8+lJwPCpoNT0/+w4yIpD6ox4eISNk8PYEvvkiHi4uPJPRYWjoiKMgbnp4yrstDRPkw+BCRSrKzu4b27RdJ2iZMmIAtWzqIPUFERHlxqIuIVM78+fORlZUlafP29kZAABAfz20niKhwRQo+q1evLvILjh8//oOLISJ6l6SkJKxcuVLS1rVrV3z22WcA5L08ERHyTUY5zEVEBSnS7ew1atQo2ovJZLh3795HF6VMvJ2dqGw6ceIEzpw5I2nz9PSEjo6OeJyzjg/33SJSPwpdwPD+/fsKK4yIqDgEQcDcuXMlbbGxVdCp0wjkyjwA5GGHgYeI3uWDJzenp6cjMjISmZmZiqyHiEgUExOTL/RcuDAInTqNYMAhog9S7MnNr1+/xrhx4+Dv7w8AuHXrFmrWrIlx48bB2toanpxRSEQKsH37dkRGRkrafvjhB2ho8GZUIvpwxf4bxMvLC1evXsXJkyehq6srtrdv3x47duxQaHFEpH4yMzPh4+MjCT1NmjSBt7e3GHryrtpMRFRUxe7x2b9/P3bs2IHPP/9csl1FgwYNcPfuXYUWR0TqJSIiIt8/oP75xx1NmlQSjwMCgP79geRk+URmDnkRUXEUO/g8f/4clpaW+dpTUlK4bxcRfbAVK1bg1atXkragIG+EhACPHslDjrMzsHq1PPQYGnKtHiIqvmIHn2bNmuHgwYMYN24cAIhh57fffoOjo6NiqyOici8lJQXLli2TtHXo0AGOjo5o0kQeeB4+BCIjgStXgNRUeejZupW9PURUfMUOPgsXLkSnTp1w8+ZNZGZmYtWqVbh58ybOnTuHU6dOlUSNRFRO/frrOURHH5W0TZs2Dfr6+gDe3p7u4CA/V7EiUL061+khog9X7MnNX3zxBUJDQ5GZmYlGjRrhyJEjsLS0REhICJo2bVoSNRJROXPggAAfHx9J6DExMYG3t7cYenJbskS+GvPPPwPnzjH0ENGH+6C9umrVqoVff/1V0bUQkRp4/vw5QkN/lrTVrPk9Bg60z3dt7pWYz50rrQqJqDwrUvBJSkoq8gtymwciKkhAABAYuB/W1lcl7TNnzkSFCgX/VeTrC3GndfbyEJEiFCn4mJqaFvmOrbw7JhMRZWVl4cqV+bC2fttWv359fPfdd+98nqfn2x4fIiJFKFLwCQ4OFn8fFRUFT09PuLq6indxhYSEwN/fH4sWLSqZKolIZT19+hTr16+XtI0cORJWVlaStoI2GOXeW0SkaEXanT23//3vfxg+fDj69u0raf/zzz/xyy+/4OTJk4qsr9Rxd3YixTly5AhCQkIkbbNnz87Xg5x7UUJHR87nIaLiU+ju7LmFhITk+9cbIF/fZ/jw4cV9OSIqh/btS8e1a9Ie4Jy1eQri68tFCYmodBT7dnYbG5sC7+j67bffYGNjo5CiiEh1/fHHvXyhZ/r06e9c4NTTU97Tw0UJiaikFbvHZ+XKlejVqxf+/vtvtGzZEgDw33//4fbt29izZ4/CCyQi1RAQAAQFbYOl5S2xzczsE4wf/817n8u5PERUWord4/P111/j9u3b6Nq1K+Li4hAXF4euXbvi1q1b+Prrr0uiRiIq45KTk3Hlio8k9NSpM6TQ0MPd1YlIWYo9ubm84+RmouIJDQ3FgQMHJG3vWpsHkIeekBBOZCYixSmxyc0AkJCQgI0bNyI8PBwA0KBBAwwdOhQmJiYfVi0RqRxBEPDTTz8hLi5ObGvbti3atGmT79q8t6pzfR4iUpZi9/hcvHgRLi4u0NPTQ4sWLQAAFy5cwJs3b3DkyBF89tlnJVJoaWGPD9H77dz5AuHhayVt7u7uqFSpUoHX16sHRETINxv9/38vEREpVFG/v4sdfL788kvUrl0bv/76q9iVnZmZieHDh+PevXs4ffr0x1WuZAw+RO+2YcNJxMaeEo9fvKiIS5fcce7c27V5cnp4nJ2B4GDg4UPgyRPA3l4egIiIFK3EhrouXrwoCT0AUKFCBUyfPh3NmjX7sGqJqMzLzMzEggULJG2PH3fHjRuf5huyytljKzQUePMGsLaWz+fh0BYRKVuxg4+xsTEePnwIBwcHSfujR49gZGSksMKIqOx4+PAh/Pz8JG1Ll07FJ58YFDg52dkZuH4d0NaWBx9DQ05iJqKyodjBp0+fPhg2bBiWLVsGJycnAMDZs2cxbdq0fNtYEJHq27t3L65fvy4e29vbQ1//e3zyScE9ODNnynt8srPlc3rs7dnTQ0RlR7GDz7JlyyCTyTBo0CBkZmYCALS0tDB69Gj4+voqvEAiUo43b95gyZIlkraBAweiZs2a71x/Z/VqeejR0AAWL+bChERUtnzwOj6vX7/G3bt3AQC1atWCvr6+QgtTFk5uJgJu3LiB3bt3S9qOHp2Bf/7RAvDudXhmzpSHn/HjgTxTgoiISkyJ3dVV3jH4kDoTBAG//vorYmJixDZLS0esWtUBMtnbHpy8d23lrM9DRKQsCg8+Q4cOLdIP3rRpU9EqLKMYfEhdxcfHY/Xq1ZK2UaNGoXLlyoX28HAFZiIqKxR+O/vmzZtha2uLJk2agJ1EROXLuXPncPToUfG4QgVDeHlNgoaGfDu/wlZa5grMRKRqitzj4+7ujm3btsHW1hZDhgzBgAEDYG5uXtL1lTr2+JA6ycrKgq+vr3ijAgAEBn4NLa3m7MEhIpVS1O/vIu/OvnbtWsTExGD69On466+/YGNjg969eyMoKIg9QEQqKDo6GvPnz5eEnuXLJyEiojl7cIio3Prgyc0PHjzA5s2b8fvvvyMzMxM3btyAoaGhousrdezxIXUQGBiIS5cuicd2dnYwNR2ExYtlnKhMRCqpRHdnBwANDQ3IZDIIgoCsrKwPfRkiKkVpaWn51tuqWfN7rFtnD09PTlAmovKvyENdgPwvzW3btuGrr75C3bp1cf36dfz00094+PBhuejtISrPbt26lS/0eHp6Yt06e4SEyCcpExGVd0Xu8RkzZgy2b98OGxsbDB06FNu2bUOlSpVKsjYiUgBBELBlyxbcv39fbGvatCm6dOkCQHpnVs76PBzuIqLyqshzfDQ0NFC9enU0adIEMpms0Ov27t2rsOKUgXN8qDxJSkrCypUrJW3Dhw+HtbV1gddzXR4iUlUKn+MzaNCgdwYeIipbLly4gEOHDonHWlpa8PDwgKamZqHP4bo8RFTeccuKPNjjQ6ouOzsbK1euRHJystj21VdfwcnJSYlVERGVLIWv40NEZd/Tp08xb948SegJCBiPYcOcMHOmfCjrXTurExGVdww+ROXE0aNHsX79evG4SpUq2L59Ni5fNkNEhHzH9Lx3bwUEAA4OQL16DEREpB4+eB0fIiobMjIysHDhQknbt99+i7t3GyAqSn6sqwuMH/92J/Ucvr5AZOTb3/NOLiIq7xh8iFTYvXv3sGXLFknb9OnToaenBzc3IDUVMDQEtm4tONR4egLTpwMyGSc0E5F6YPAhUlE7duxARESEeNyoUSP07NlTPM59h1bu0JN3rR728hCROuFdXXnwri4q61JSUrBs2TJJm6urK2xtbYv0fK7VQ0TlUYnv1UVEpS80NBQHDhyQtM2cORMVKrz/f+Wcnh5nZ/kxh7aISB0x+BCpAEEQsHbtWrx8+VJss7JqA3//tmjSpPDhqtzDWr6+8p4egD09RKS+VO529rS0NHz66aeQyWQIDQ2VnLt27Rq+/PJL6OrqwsbGBkuWLFFOkUQK9PLlS8ydO1cSetzd3eHv3/a9m4vmhJ2c8OPoyJ4eIlJvKhd8pk+fjqpVq+ZrT0pKQocOHWBra4tLly5h6dKlmDNnDn755RclVEmkGKdOncJPP/0kHpubm2P27NmoVKlSkYJM7mu6dZP39HAyMxGpM5Ua6vr7779x5MgR7NmzB3///bfk3NatW5Geno5NmzZBW1sbDRo0QGhoKFasWIERI0YoqWKiD5OZmYkFCxZI2rp164YmTZrkOn5/iOFdW0REUioTfJ4+fQo3Nzfs378f+vr6+c6HhISgdevW0NbWFttcXFywePFixMfHw8zMrMDXTUtLQ1pamniclJSk+OKJiuHRo0fYtGmTpG3KlCkwNDRUUkVEROWHSgx1CYIAV1dXjBo1Cs2aNSvwmtjYWFSuXFnSlnMcGxtb6GsvWrQIJiYm4sPGxkZxhRMV0/79+yWhp27duvD29mboISJSEKUGH09PT8hksnc+IiIisGbNGrx69QpeXl4Kr8HLywuJiYni49GjRwr/GUTv8+bNG/j4+ODq1ati24ABA9C3b1/JdQEB3GiUiOhjKHWoa8qUKXB1dX3nNTVr1sSJEycQEhICHR0dyblmzZqhf//+8Pf3h5WVFZ4+fSo5n3NsZWVV6Ovr6Ojke12i0nTz5k3s2rVL0ubl5SUZts2R+y4tzt0hIio+pQYfCwsLWFhYvPe61atXY/78+eJxdHQ0XFxcsGPHDrRs2RIA4OjoiJkzZyIjIwNaWloA5LtV29vbFzq/h0iZBEHAxo0b8eTJE7Ht888/h4uLS75rufggEZFiqMTk5urVq0uOc+Y71KpVC9WqVQMA9OvXDz4+Phg2bBg8PDwQFhaGVatWYeXKlaVeL9H7JCQkYNWqVZK2kSNHFto7ycUHiYgUQyWCT1GYmJjgyJEjcHd3R9OmTVGpUiXMnj2bt7JTmRMSEoIjR46Ix/r6+pgyZQo0NPJPuWNPDxGRYqlk8LGzs0NBe6t+8sknOHPmjBIqInq/rKwsLFmyBOnp6WJbtWqdsHFjC9jbFzxnhz09RESKpRK3sxOpuujoaMyfP18SeiZNmoSNG1uIk5UDAgAHB6Bevbd3bXGbCSIixZIJBXWdqLGibmtPVFSHDh3ChQsXxGNbW1sMHjwYMpms0E1EHR3Zw0NEVBxF/f5WyaEuIlWQlpYG3zw7iPbp0wcODg7icd4tJaZPB2Qy9vAQEZUUDnURlYBbt27lCz0eHh64dcsh33AW8HYS85IlQHg41+ghIiopHOrKg0Nd9LG2bNmCe/fuicefffYZunbtCkC+6nLOcJaDA2BmJh3m4hAXEdGH4VAXUSl79eoVVqxYIWkbPnw4rK2txWNPz7fDWYLwdhXmnPDDIS4iopLF4EOkAJcuXUJgYKB4rKmpCS8vL2hqakquyz2nZ+ZMYPVq+Ro9eef6EBFRyWDwIfoI2dnZ+PHHH/Hq1SuxrX379mjVqpV4nPvOrdzhJjgYSE6W/0pERKWDk5uJPtCzZ88wb948SegZP368JPQAb+fv9O8vndDMNXqIiEofJzfnwcnNVBTHjh3D2bNnxWMrKyuMGDECMpks37UBAfLQk5zMyctERCWlqN/f7PEhKoaMjAz4+PhIQk+vXr1QpcpItGolk/To5OjWDdi6lb07RERlAXt88mCPDxXm/v37+P333yVt06ZNg76+vnibek6PTmHzeoiIqGTwdnYiBdq5cyfCw8PF44YNG6JXr17icd7b0XPm9fj6MvgQEZUlDD5E75CSkoJly5ZJ2lxdXWFraytpy3s7OtflISIqmzjHh6gQ165dyxd6Zs6ciatXbeHkhALn8+To1k0+5MXeHiKisoVzfPLgHB8SBAE///wzXrx4IbZ9+eWXaNeuHYC3207Y2wPm5pzHQ0RUFvCuLqIPEBcXh7lz50pCz5gxY8TQA7xdf0cmezuPh4iIVAPn+BD9v9OnTyM41zLKpqamGD9+PP76S5Zv4nJBvyciorKPQ115cKhL/WRmZmLBggWStq5du+Kzzz4DAMmt6gB3USciKot4OztRETx69AibNm2StE2ZMgWGhobicUG3qrOXh4hINbHHJw/2+KiPAwcOIDQ0VDyuU6cO+vXrp7yCiIjog7HHh6gQqampWLx4saStf//+qF27tpIqIiKi0sLgQ2olPDwcO3fulLR5eXlBW1tbSRUREVFp4u3sVGYFBOC9CwUWlSAI2LhxoyT0tGzZEk2aeKNtW22F/AwiIir7OMcnD87xKTvybvz5oRITE/Hjjz9K2kaOHAkrKyuF/QwiIlIuLmBIKi9nocCPuYPq/PnzktCjp6eHH374AVZWVgr7GUREpDrY45MHe3xUV0DA21vNBSEbFy4sgZZWmng+PLwj+vVrKV7DbSaIiMqPon5/M/jkweCjunKGrTp0iIGT0y+ScwcOTMSbNyYAgIgIDm0REZU3HOoitePpCQwZ8rck9BgYVMfs2bOhq2uCiAhAEDi0RUSkzng7O5UL6enpuHJlEWxt37b16dMHDg4OAKSrL3OIi4hIfTH4kErKPZ+nXr3b+PPPPyXnPTw8oKurKx5368bAQ0REDD6konx95fN5jh79A1eu3BXbHz9ugq5duyFX5iEiIhIx+JBKmjLlFcLCVkjazp8fhsOHq+HGDfbuEBFRwRh8SOVcunQJYWGB4rGGhgZmzJiBgwc1kZjIictERFQ4Bh9SGYIgYNWqVUhMTBTb2rVrhy+//BKAdB5P7jlA7P0hIqIcvJ2dikyRe2cV1/PnzzF37lxJ6Bk3bpwYevLKmQPk61taFRIRkSpg8KEiU1aYOHHiBH7++WfxuHLlypg9ezbMzc0LfQ63oiAiooJwqIuKLPdaOKUhIyMDCxculLT17NkTjRo1eu9zefs6EREVhMGHiqw0w0RUVBT8/f0lbdOmTYO+vn7pFEBEROUSh7pIIRQ5/2f37t2S0NOgQQN4e3sz9BAR0Udjjw8pRO75Px/aK/T69WssXbpU0jZ48GDY2dl9fIFERERg8CEF+dj5P9evX8fevXslbTNmzICWlpYCqiMiIpJj8KGP9jFr5giCgPXr1+PZs2di2xdffIH//e9/Cq6SiIiIwYcU4EOHueLi4rBmzRpJ25gxY2BhYaHgComIiOQYfOijfcgw15kzZ3DixAnx2MTEBBMmTIBMJiuBComIiOQYfOijFec296ysLCxYsACCIIhtXbt2xWeffVZC1REREb3F29mp1Dx+/Bjz58+XhJ7JkyeLoUeZW2IQEZF6YPChUhEQEICNGzeKx3fu1EJQkDeMjIzENu6vRUREJY1DXVSiUlNTsXjxYknb33/3R0JCbSxZIr22tLfEICIi9cPgQwqV+9b2unUjsGPHDsn5hQu90LSpNiIi8j+X+2sREVFJY/AhhZIPVwk4ccIPV648EttbtGiBjIxOaNqUPTpERKQ8DD4k8TGLEQLA5MmJuHHjR0nbiBEjUKVKFQDs0SEiIuXi5GYVU9J3Pn3MBON///1XEnp0dXXxww8/iKGHiIhI2Rh8VExJ3/nk6Qk4Or5/OCp3AMvOzsaSJUtw+PBh8byLiws8PDygocH/xIiIqOyQCbkXVSEkJSXBxMQEiYmJMDY2VnY5+XzsUJSiODnJA1iHDrFwctogOTdhwgSYmpoqpzAiIlJLRf3+5hwfFVMW7nwKCADi4oC+fQ/D3v5fsd3GxgZDhgzhthNERFRmMfhQsS1dmo6+fRdJ2nr37o169eopqSIiIqKiYfChYrlz5w7at98qafPw8ICurq6SKiIiIio6zjylItu6dSu2bn0bej799FN4e3u/M/Rw/y0iIipLGHxUgLLDQ3JyMnx8fHDnzh2xbejQoejevft7n8v9t4iIqCxh8FEBygwPV65cwfLly8VjmUyGWbNmwcbGpkjPL+rt8URERKWBc3xUgDI27xQEAatXr0ZCQoLY5uzsjNatWxfrdcrCXWhEREQ52OOjArp1A86d+7gAUZzhsufPn2Pu3LmS0DN27Nhihx4iIqKyhj0+aiL3cNm7AlRwcDBOnz4tHltYWGD06NFcm4eIiMoFlerxOXjwIFq2bAk9PT2YmZmhR48ekvMPHz5E586doa+vD0tLS0ybNg2ZmZnKKbaMed9cm8zMTPj4+EhCzzfffIMxY8Yw9BARUbmhMj0+e/bsgZubGxYuXIh27dohMzMTYWFh4vmsrCx07twZVlZWOHfuHGJiYjBo0CBoaWlh4cKFSqy8bHjXXJuoqCj4+/tL2qZOnQoDA4NSqIyIiKj0qMReXZmZmbCzs4OPjw+GDRtW4DV///03unTpgujoaFSuXBkAsH79enh4eOD58+fQ1tYu0s8q63t1Kdru3btx48YN8bhevXro3bu3EisiIiIqvqJ+f6vEUNfly5fx5MkTaGhooEmTJqhSpQo6deok6fEJCQlBo0aNxNADyHcIT0pKknyx55WWloakpCTJQx28fv0aPj4+kj+bQYMGMfQQEVG5phLB5969ewCAOXPmYNasWQgMDISZmRnatm2LuLg4AEBsbKwk9AAQj2NjYwt97UWLFsHExER8FHV9GlUWFhaGpUuXStpmzJiBGjVqKKkiIiKi0qHU4OPp6QmZTPbOR0REBLKzswEAM2fORK9evdC0aVP4+flBJpNh165dH1WDl5cXEhMTxcejR48U8dbKpAMHBEyZsh579uwR21q1agVvb29oaWkpsTIiIqLSodTJzVOmTIGrq+s7r6lZsyZiYmIAAPXr1xfbdXR0ULNmTTx8+BAAYGVlhf/++0/y3KdPn4rnCqOjowMdHZ0PKV+lxMXFITR0DXIPe44ePRqWlpbKK4qIiKiUKTX4WFhYwMLC4r3XNW3aFDo6OoiMjMQXX3wBAMjIyEBUVBRsbW0BAI6OjliwYAGePXsmfpkfPXoUxsbGksCkjv755x8cP35cPNbSMoan5wRoaKjESCcREZHCqMTt7MbGxhg1ahS8vb1hY2MDW1tbcY7Kd999BwDo0KED6tevj4EDB2LJkiWIjY3FrFmz4O7urhY9OgEBb7e1yLltPSsrC4sWLUJWVpZ4XZcuXdC0aVMlVUlERKRcKvNP/qVLl+L777/HwIED0bx5czx48AAnTpyAmZkZAEBTUxOBgYHQ1NSEo6MjBgwYgEGDBmHu3LlKrrxwitx1Pe9Gpk+ePMH8+fMloWfy5MkMPUREpNZUYh2f0lSa6/g4OcnDiqOjfC+udymoR6ew80AArly5Ip6rWbMmBg4cqNDaiYiIypKifn8z+ORRmsHnfWEmt6KEpNTUVCxevFjS1q9fP9SpU0dBFRMREZVNRf3+Vok5PuXVu7aRyMvTM3ePTn6RkZHYvn17nud4qsX8JiIioqJi8FERhYUkQRDg7++PBw8eiG3NmzfH119/XYrVERERqQYGHxUVEACsXJmEtm1XStrd3NxQtWpVJVVFRERUtjH4qKitW/9D27Z/i8c6OjqYNm0aNDU1lVgVERFR2aYyt7Ors9y3vWdnZ2Pp0qWoX/9t6OnQoQM8PT0ZeoiIiN6DPT4qIGeNnrVrY3HlygbJuQkTJsDU1FQ5hREREakYBh8V4OkJ7N17BDVqhIht1tbWGDZsGGQymRIrIyIiUi0MPmVceno6rlxZhBo13rZ99913ar//GBER0Ydg8CnD7t69iz/++EPSNn36dOjp6SmpIiIiItXG4FNGbdu2Dbdu3RKPGzdujB49eiivICIionKAwaeMSU5OxvLlyyVtQ4YMQfXq1ZVUERERUfnB4FOGhIaG4sCBA5K2mTNnokIFfkxERESKwG/UMkAQBKxZswbx8fFiW9u2bdGmTRslVkVERFT+MPgo2YsXL7B27VpJ29ixY1GxYkUlVURERFR+Mfgo0cmTJ3Hq1CnxuFKlShgzZgzX5iEiIiohDD5KkJmZiQULFkjaevTogcaNGyupIiIiIvXA4FPKHjx4gM2bN0vapk6dCgMDA+UUREREpEYYfErR3r17cf36dfHYwcEBffr0UWJFRERE6oW7s5eSX375RRJ6Bg4cKIae3LuvExERUclh8CklL1++EX8/Y8YM1KxZUzzO2X3d11cZlREREakPDnWVkiNHhuDmzVTUqmUJb2/pOU9Peejx9FRObUREROqCPT6lZNIkY9SqZVlguOnWDTh3Tv4rERERlRz2+JSSbt0YbIiIiJSNPT5ERESkNhh8Sgnv3CIiIlI+Bp9Swju3iIiIlI/Bp5R4egKOjrxzi4iISJk4ubmUcHIzERGR8rHHh4iIiNQGgw8RERGpDQYfIiIiUhsMPkRERKQ2GHyIiIhIbTD4EBERkdpg8CEiIiK1weBDREREaoPBh4iIiNQGgw8RERGpDQYfIiIiUhsMPkRERKQ2GHyIiIhIbXB39jwEQQAAJCUlKbkSIiIiKqqc7+2c7/HCMPjk8erVKwCAjY2NkishIiKi4nr16hVMTEwKPS8T3heN1Ex2djaio6NhZGQEmUym7HJKVFJSEmxsbPDo0SMYGxsruxzKhZ9N2cTPpWzi51J2leZnIwgCXr16hapVq0JDo/CZPOzxyUNDQwPVqlVTdhmlytjYmH9ZlFH8bMomfi5lEz+Xsqu0Ppt39fTk4ORmIiIiUhsMPkRERKQ2GHzUmI6ODry9vaGjo6PsUigPfjZlEz+XsomfS9lVFj8bTm4mIiIitcEeHyIiIlIbDD5ERESkNhh8iIiISG0w+BAREZHaYPBRYwcPHkTLli2hp6cHMzMz9OjRQ3L+4cOH6Ny5M/T19WFpaYlp06YhMzNTOcWqobS0NHz66aeQyWQIDQ2VnLt27Rq+/PJL6OrqwsbGBkuWLFFOkWoiKioKw4YNQ40aNaCnp4datWrB29sb6enpkuv4uSjH2rVrYWdnB11dXbRs2RL//fefsktSK4sWLULz5s1hZGQES0tL9OjRA5GRkZJrUlNT4e7ujooVK8LQ0BC9evXC06dPlVIvg4+a2rNnDwYOHIghQ4bg6tWrOHv2LPr16yeez8rKQufOnZGeno5z587B398fmzdvxuzZs5VYtXqZPn06qlatmq89KSkJHTp0gK2tLS5duoSlS5dizpw5+OWXX5RQpXqIiIhAdnY2NmzYgBs3bmDlypVYv349ZsyYIV7Dz0U5duzYgcmTJ8Pb2xuXL19G48aN4eLigmfPnim7NLVx6tQpuLu74/z58zh69CgyMjLQoUMHpKSkiNdMmjQJf/31F3bt2oVTp04hOjoaPXv2VE7BAqmdjIwMwdraWvjtt98KvebQoUOChoaGEBsbK7atW7dOMDY2FtLS0kqjTLV26NAhwcHBQbhx44YAQLhy5Yp47ueffxbMzMwkn4OHh4dgb2+vhErV15IlS4QaNWqIx/xclKNFixaCu7u7eJyVlSVUrVpVWLRokRKrUm/Pnj0TAAinTp0SBEEQEhISBC0tLWHXrl3iNeHh4QIAISQkpNTrY4+PGrp8+TKePHkCDQ0NNGnSBFWqVEGnTp0QFhYmXhMSEoJGjRqhcuXKYpuLiwuSkpJw48YNZZStNp4+fQo3Nzds2bIF+vr6+c6HhISgdevW0NbWFttcXFwQGRmJ+Pj40ixVrSUmJsLc3Fw85udS+tLT03Hp0iW0b99ebNPQ0ED79u0REhKixMrUW2JiIgCI/39cunQJGRkZks/JwcEB1atXV8rnxOCjhu7duwcAmDNnDmbNmoXAwECYmZmhbdu2iIuLAwDExsZKQg8A8Tg2NrZ0C1YjgiDA1dUVo0aNQrNmzQq8hp+N8t25cwdr1qzByJEjxTZ+LqXvxYsXyMrKKvDPnX/mypGdnY2JEyeiVatWaNiwIQD5f//a2towNTWVXKusz4nBpxzx9PSETCZ75yNnrgIAzJw5E7169ULTpk3h5+cHmUyGXbt2KfldlE9F/WzWrFmDV69ewcvLS9klq4Wifi65PXnyBB07dsR3330HNzc3JVVOVDa5u7sjLCwM27dvV3Yphaqg7AJIcaZMmQJXV9d3XlOzZk3ExMQAAOrXry+26+jooGbNmnj48CEAwMrKKt+dETkz8K2srBRYtXoo6mdz4sQJhISE5NvXplmzZujfvz/8/f1hZWWV724IfjYfpqifS47o6Gg4OzvDyckp36Rlfi6lr1KlStDU1Czwz51/5qVv7NixCAwMxOnTp1GtWjWx3crKCunp6UhISJD0+ijtcyr1WUWkdImJiYKOjo5kcnN6erpgaWkpbNiwQRCEt5Obnz59Kl6zYcMGwdjYWEhNTS31mtXFgwcPhOvXr4uPoKAgAYCwe/du4dGjR4IgvJ1Em56eLj7Py8uLk2hL2OPHj4U6deoI33//vZCZmZnvPD8X5WjRooUwduxY8TgrK0uwtrbm5OZSlJ2dLbi7uwtVq1YVbt26le98zuTm3bt3i20RERFKm9zM4KOmJkyYIFhbWwtBQUFCRESEMGzYMMHS0lKIi4sTBEEQMjMzhYYNGwodOnQQQkNDhcOHDwsWFhaCl5eXkitXL/fv3893V1dCQoJQuXJlYeDAgUJYWJiwfft2QV9fXwytpHiPHz8WateuLfzvf/8THj9+LMTExIiPHPxclGP79u2Cjo6OsHnzZuHmzZvCiBEjBFNTU8kdqVSyRo8eLZiYmAgnT56U/L/x+vVr8ZpRo0YJ1atXF06cOCFcvHhRcHR0FBwdHZVSL4OPmkpPTxemTJkiWFpaCkZGRkL79u2FsLAwyTVRUVFCp06dBD09PaFSpUrClClThIyMDCVVrJ4KCj6CIAhXr14VvvjiC0FHR0ewtrYWfH19lVOgmvDz8xMAFPjIjZ+LcqxZs0aoXr26oK2tLbRo0UI4f/68sktSK4X9v+Hn5yde8+bNG2HMmDGCmZmZoK+vL3zzzTeSfziUJtn/F01ERERU7vGuLiIiIlIbDD5ERESkNhh8iIiISG0w+BAREZHaYPAhIiIitcHgQ0RERGqDwYeIiIjUBoMPERERqQ0GH6JyJjY2FuPGjUPNmjWho6MDGxsbdO3aFcePHxevOXfuHL7++muYmZlBV1cXjRo1wooVK5CVlSVeExUVhWHDhqFGjRrQ09NDrVq14O3tjfT0dMnP+/XXX9G4cWMYGhrC1NQUTZo0waJFi8Tzc+bMgUwmQ8eOHfPVunTpUshkMrRt27bI7y8pKQkzZ86Eg4MDdHV1YWVlhfbt22Pv3r3IvR7rjRs30Lt3b1hYWEBHRwd169bF7Nmz8fr1a/GauLg4jBs3Dvb29tDT00P16tUxfvx4JCYmFqmWqKioQnd1P3/+fJHfU9u2bTFx4sQiX09EH467sxOVI1FRUWjVqhVMTU2xdOlSNGrUCBkZGQgKCoK7uzsiIiKwb98+9O7dG0OGDEFwcDBMTU1x7NgxTJ8+HSEhIdi5cydkMhkiIiKQnZ2NDRs2oHbt2ggLC4ObmxtSUlKwbNkyAMCmTZswceJErF69Gm3atEFaWhquXbuGsLAwSV1VqlRBcHAwHj9+LNm1edOmTahevXqR319CQgK++OILJCYmYv78+WjevDkqVKiAU6dOYfr06WjXrh1MTU1x/vx5tG/fHu3bt8fBgwdRuXJl/Pfff5gyZQqOHz+O4OBgaGtrIzo6GtHR0Vi2bBnq16+PBw8eYNSoUYiOjsbu3buLXNexY8fQoEEDSVvFihWL/PyiEAQBWVlZqFCBf20TfRSlbJRBRCWiU6dOgrW1tZCcnJzvXHx8vJCcnCxUrFhR6NmzZ77zAQEBAgBh+/bthb7+kiVLhBo1aojH3bt3F1xdXd9Zk7e3t9C4cWOhS5cuwvz588X2s2fPCpUqVRJGjx4ttGnTpgjvTr4ZooGBgfDkyZN85169eiVkZGQI2dnZQv369YVmzZoJWVlZkmtCQ0MFmUz2zj20du7cKWhraxdpX7rC9lLLLef9//7774Ktra1gbGws9OnTR0hKShIEQRAGDx6cb4+j+/fvC8HBwQIA4dChQ8Jnn30maGlpCcHBwUJqaqowbtw4wcLCQtDR0RFatWol/Pfff+LPy3leYGCg0KhRI0FHR0do2bKlcP36dUEQBCE5OVkwMjISdu3aJalz3759gr6+vlgXUXnFoS6iciIuLg6HDx+Gu7s7DAwM8p03NTXFkSNH8PLlS0ydOjXf+a5du6Ju3brYtm1boT8jMTER5ubm4rGVlRXOnz+PBw8evLe+oUOHYvPmzeLxpk2b0L9/f2hra7/3uQCQnZ2N7du3o3///qhatWq+84aGhqhQoQJCQ0Nx8+ZNTJ48GRoa0r/iGjdujPbt27/3PRobGyu0Z+Xu3bvYv38/AgMDERgYiFOnTsHX1xcAsGrVKjg6OsLNzQ0xMTGIiYmBjY2N+FxPT0/4+voiPDwcn3zyCaZPn449e/bA398fly9fRu3ateHi4oK4uDjJz5w2bRqWL1+OCxcuwMLCAl27dkVGRgYMDAzw/fffw8/PT3K9n58fvv32WxgZGSnsfROVRQw+ROXEnTt3IAgCHBwcCr3m1q1bAIB69eoVeN7BwUG8pqDXX7NmDUaOHCm2eXt7w9TUFHZ2drC3t4erqyt27tyJ7OzsfM/v0qULkpKScPr0aaSkpGDnzp0YOnRokd/fixcvEB8f/873B7z/PdarV6/Q9/jixQvMmzcPI0aMKHJdAODk5ARDQ0PJI7fs7Gxs3rwZDRs2xJdffomBAweKc65MTEygra0NfX19WFlZwcrKCpqamuJz586di6+++gq1atWCjo4O1q1bh6VLl6JTp06oX78+fv31V+jp6WHjxo2Sn+nt7Y2vvvoKjRo1gr+/P54+fYp9+/YBAIYPH46goCDExMQAAJ49e4ZDhw4V6/MgUlUMPkTlhJBrYq8irwWAJ0+eoGPHjvjuu+/g5uYmtlepUgUhISG4fv06JkyYgMzMTAwePBgdO3bMF360tLQwYMAA+Pn5YdeuXahbty4++eSTEqu5uNcnJSWhc+fOqF+/PubMmVOs5+7YsQOhoaGSR252dnaSnpQqVarg2bNnRXrtZs2aib+/e/cuMjIy0KpVK7FNS0sLLVq0QHh4uOR5jo6O4u/Nzc1hb28vXtOiRQs0aNAA/v7+AIA//vgDtra2aN26ddHeMJEKY/AhKifq1KkjTkouTN26dQEg35dkjvDwcPGaHNHR0XB2doaTkxN++eWXAp/XsGFDjBkzBn/88QeOHj2Ko0eP4tSpU/muGzp0KHbt2oW1a9cWu3fBwsICpqam73x/wIe9x1evXqFjx44wMjLCvn37oKWlVazabGxsULt2bckjt7yvJ5PJCuwVK0hBw5aKMHz4cHHo0c/PD0OGDIFMJiuRn0VUljD4EJUT5ubmcHFxwdq1a5GSkpLvfEJCAjp06ABzc3MsX7483/mAgADcvn0bffv2FduePHmCtm3bomnTpvDz88s3Z6Yg9evXB4ACa2jQoAEaNGiAsLAw9OvXrzhvDxoaGvj++++xdetWREdH5zufnJyMzMxMfPrpp3BwcMDKlSvzhYurV6/i2LFjkveYlJSEDh06QFtbGwEBAdDV1S1WXYqgra0tWUqgMLVq1YK2tjbOnj0rtmVkZODChQvin3uO3LfTx8fH49atW5LhvwEDBuDBgwdYvXo1bt68icGDByvgnRCVfQw+ROXI2rVrkZWVhRYtWmDPnj24ffs2wsPDsXr1ajg6OsLAwAAbNmzAgQMHMGLECFy7dg1RUVHYuHEjXF1d8e2336J3794A3oae6tWrY9myZXj+/DliY2MRGxsr/rzRo0dj3rx5OHv2LB48eIDz589j0KBBsLCwkAy15HbixAnExMTA1NS02O9vwYIFsLGxQcuWLfH777/j5s2buH37NjZt2oQmTZogOTkZMpkMGzduxM2bN9GrVy/8999/ePjwIXbt2oWuXbvC0dFRXDMnJ/SkpKRg48aNSEpKEt9jUYJIjpcvX4rPy3mkpqYW+fl2dnb4999/ERUVhRcvXhTaG2RgYIDRo0dj2rRpOHz4MG7evAk3Nze8fv0aw4YNk1w7d+5cHD9+HGFhYXB1dUWlSpXQo0cP8byZmRl69uyJadOmoUOHDpJlBojKNaXeU0ZEChcdHS24u7sLtra2gra2tmBtbS1069ZNCA4OFq85ffq04OLiIhgbGwva2tpCgwYNhGXLlgmZmZniNX5+fvlus8555Ni9e7fw9ddfC1WqVBG0tbWFqlWrCr169RKuXbsmXpNzO3dhJkyYUOTb2QVBEBISEgRPT0+hTp06gra2tlC5cmWhffv2wr59+4Ts7GzxumvXrgm9evUSzM3NBS0tLaFWrVrCrFmzhJSUFPGanFu/C3rcv3//vbXk3M5e0GPbtm2Fvv+VK1cKtra24nFkZKTw+eefC3p6evluZ4+Pj5c8982bN8K4ceOESpUqvfN29r/++kto0KCBoK2tLbRo0UK4evVqvvqPHz8uABB27tz53vdKVF7IBKGYMwCJiKjMOnnyJJydnREfH//eXrUtW7Zg0qRJiI6OLvKyAkSqjkuAEhGpmdevXyMmJga+vr4YOXIkQw+pFc7xIaIyI+9aOLkfZ86cKfV6Ro0aVWg9o0aNKvV6FGXJkiVwcHCAlZUVvLy8lF0OUaniUBcRlRl37twp9Jy1tTX09PRKsRr5wn5JSUkFnjM2NoalpWWp1kNEH4/Bh4iIiNQGh7qIiIhIbTD4EBERkdpg8CEiIiK1weBDREREaoPBh4iIiNQGgw8RERGpDQYfIiIiUhsMPkRERKQ2/g/cF/AoD44LLwAAAABJRU5ErkJggg==", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Training and Validating Surrogate\n", + "\n", + "First, let's import the required Python and IDAES modules:" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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COnn86s0VcSVK1eE1NRUITo6WvDy8hIaNGggPPLII8KOHTu06+zevVtITk4WAgICBC8vL6Fly5bCe++9J9y/f1+7zooVK4yGg2v+NNatWycMGDBACA8PF7y8vISIiAhh6NChwrFjx7TraIadS3nuuedkD7sXBEEoKCgQZs+eLTRp0kTw8vIS6tevLyQlJQkbNmwQKioqtOsdO3ZMGDp0qBAcHCzUrFlTiIuLE1599VWhuLhYu45maLvYX1ZWltmyaIbdi/2tXr1acvs/+OADITo6Wvvvs2fPCp07dxZ8fHyMht3funVLu97hw4f1ypaVlSX07t1b8PHxESIjI4V//etfQs+ePYXnnntO+x6xYfeLFy8W/u///k/w9vYWYmJihDVr1hht2+3btwVfX19hypQpZveDLYbdq/4qHJlRWFiIwMBA7XBIIiJ7uXv3LrKyshAbG+uQ5hMie1KpVNiwYQMGDx5scr3s7GzExcXhwIEDePDBB02ua+qckXv/ZqdqIiIichplZWW4ceMGXn31VXTu3NlsMGQr7ENERET0F8NcPrp/v/32W5WXZ9KkSZLlmTRpUpWXpyrs3bsX4eHhOHDgAJYuXVpl38saIiIior8Y5u/R1aBBg6oryF9ef/110azeAFy2+4a5njq9evVSnMPJFhgQERER/cVULh9HqFevHurVq+foYrgFNpkRERGR22NARETkpOTmgiFyd7Y4V9hkRkTkZLy8vODh4YErV64gNDQUXl5edp3UkshVCYKAe/fu4fr16/Dw8ICXl5fFn8WAiIjIyXh4eCA2Nha5ubmiU0QQkT5fX19ERUXJmtpFCgMiIiIn5OXlhaioKNy/f9+iOaaI3IWnpydq1KhhdS0qAyIiIielUqlQs2ZNxTOfE5Fy7FRNREREbo8BEREREbk9BkRERETk9hgQERERkdtjQERERERujwERERERuT0GREREROT2GBARERGR22NARERERG6PARERERG5PQZERERE5PYYEBEREZHbY0BEREREbo8BEREREbk9BkRERETk9hgQERERkdtjQERERERujwERERERuT0GREREROT2GBARERGR22NARORgueoSpGfmI1dd4uiiEBG5rRqOLgCRO1tzIAdz1h9HhQB4qIC0lAQM7xDl6GIREbkd1hAROUiuukQbDAFAhQC8vP4Ea4qIiByAARGRg2TlF2uDIY1yQUB2/h3HFIiIyI0xICJykNgQP3io9F/zVKkQE+LrmAIREbkxBkREDhIe6IO0lAR4qiqjIk+VCm+ntEJ4oI+DS0ZE5H7YqZrIgYZ3iEKP+FBk599BTIgvgyEiIgdhQETkYOGBPgyEiIgcjE1mRERE5PYYEBEREZHbY0BEREREbo8BEREREbk9BkRERETk9hwaEKWlpaFDhw6oXbs26tWrh8GDB+Ps2bN669y9exepqamoW7cu/P39MXToUFy9elVvnZycHAwcOBC+vr6oV68eXnrpJdy/f19vnZ07d+LBBx+Et7c3GjdujJUrV9p784iIiMhFODQg2rVrF1JTU7Fv3z5s2bIFZWVl6Nu3L4qLi7XrPP/88/jhhx+wdu1a7Nq1C1euXEFKSop2eXl5OQYOHIh79+4hPT0d/+///T+sXLkSr732mnadrKwsDBw4EL1798aRI0cwffp0jB8/Hr/++muVbi8RERE5J5UgCIL51arG9evXUa9ePezatQs9evSAWq1GaGgoVq1ahWHDhgEAzpw5g+bNmyMjIwOdO3fGzz//jIcffhhXrlxB/fr1AQBLly7FrFmzcP36dXh5eWHWrFnYtGkTTpw4of2uESNGoKCgAL/88ousshUWFiIwMBBqtRoBAQG233giIiKyObn3b6fqQ6RWqwEAwcHBAICDBw+irKwMSUlJ2nWaNWuGqKgoZGRkAAAyMjKQkJCgDYYAIDk5GYWFhTh58qR2Hd3P0Kyj+QwxpaWlKCws1PsjIiKi6slpAqKKigpMnz4dXbt2RatWrQAAeXl58PLyQlBQkN669evXR15ennYd3WBIs1yzzNQ6hYWFKCkpES1PWloaAgMDtX+RkZFWbyMRERE5J6cJiFJTU3HixAl8/fXXji4KAGDOnDlQq9Xav4sXLzq6SERERGQnTjGX2dSpU/Hjjz9i9+7daNiwofb1sLAw3Lt3DwUFBXq1RFevXkVYWJh2nd9//13v8zSj0HTXMRyZdvXqVQQEBMDHR3wOKW9vb3h7e1u9bUREROT8HFpDJAgCpk6dig0bNmD79u2IjY3VW96uXTvUrFkT27Zt07529uxZ5OTkIDExEQCQmJiI48eP49q1a9p1tmzZgoCAALRo0UK7ju5naNbRfAYRERG5N4eOMpsyZQpWrVqF77//Hk2bNtW+HhgYqK25mTx5Mn766SesXLkSAQEBmDZtGgAgPT0dQOWw+7Zt2yIiIgKLFi1CXl4ennzySYwfPx5vv/02gMph961atUJqairGjRuH7du349lnn8WmTZuQnJwsq6wcZUZEROR65N6/HRoQqVQq0ddXrFiBMWPGAKhMzPjCCy9g9erVKC0tRXJyMj799FNtcxgAXLhwAZMnT8bOnTvh5+eH0aNHY+HChahR4+8WwZ07d+L555/HqVOn0LBhQ8ydO1f7HXIwICIiInI9LhEQuRIGRERERK7HJfMQERERETkCAyIiIiJyewyIiIiIyO0xICK3k6suQXpmPnLV4lnKiYjI/ThFYkaiqrLmQA7mrD+OCgHwUAFpKQkY3iHK0cUiIiIHYw0RuY1cdYk2GAKACgF4ef0J1hQREREDInIfWfnF2mBIo1wQkJ1/xzEFIiIip8GAiNxGbIgfPAxygXqqVIgJ8XVMgYiIyGkwICK3ER7og7SUBHj+lSHdU6XC2ymtEB4oPsEvERG5D3aqJrcyvEMUesSHIjv/DmJCfBkMERERAAZE5IbCA30YCBERkR42mREREZHbY0BEREREbo8BEREREbk9BkRERETk9hgQERERkdtjQERERERujwERERERuT0GREREROT2GBARERGR22NARERERG6PARERERG5PQZERERE5PYYEBEREZHbY0BEREREbo8BEREREbk9BkRERETk9hgQERERkdtjQERERERujwERERERuT0GREREROT2LAqIduzYYetyEBERETmMRQFRv379EBcXhzfffBMXL160dZmIiIiIqpRFAdHly5cxdepUrFu3Do0aNUJycjK++eYb3Lt3z9blIyIiIrI7iwKikJAQPP/88zhy5Aj279+P+Ph4TJkyBREREXj22Wdx9OhRW5eTiIiIyG6s7lT94IMPYs6cOZg6dSqKioqwfPlytGvXDt27d8fJkydtUUYiIiIiu7I4ICorK8O6deswYMAAREdH49dff8W//vUvXL16FefPn0d0dDQeffRRW5aViIiIyC5UgiAISt80bdo0rF69GoIg4Mknn8T48ePRqlUrvXXy8vIQERGBiooKmxXWkQoLCxEYGAi1Wo2AgABHF4eIiIhkkHv/rmHJh586dQqffPIJUlJS4O3tLbpOSEgIh+cTERGRS7CohsgdsYaIiIjI9di1hggAzp49i08++QSn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U7qITvWidFtNrQfIv1ibqwW1pJbU0puts6asqOrvqqo8Nra45li776QC+pEdI7Hq94t6r8sJquVm5jd1XEkdv2Id/x1931DCw9EFqAr5+fkoLy9H/fr19V6vX78+8vLyRN+TlpaGwMBA7V9kZGRVFFURzUEp9iN6qlR4vFOU9mRMS0monCn+r2ULUxKwd85DWD2hMzakdoGHSv/9Hqq/O8rpfqajm47CA32QGFfXrlX2uvvJcBoRZye2DeamWNGdFsSS75P6Pcz9VqL7e2iCrGBI6v1iQYX2PDE8oGHdtltreIco7JndG6sndMae2b1l1W5obma6nOG8rGq2Po5Nsec1Rw6p33xanyaYM6CZdpmSiXB1zxuR00L7eaaOK7HjVzNaUcnnOBO3GGV25coVNGjQAOnp6UhMTNS+PnPmTOzatQv79xuPBBCrIYqMjHTaUWa6HSGlRnyZ6tEvltYfgFWjyFxVVY18sCepbaiq0XpKWLu/5b7/6MVbRqMwHb3tljA3DY07cMbj2J5M/eaWnj+Go+3k3EOsLaujyB1l5hYB0b179+Dr64t169Zh8ODB2tdHjx6NgoICfP/992Y/w5mH3WvY48ZSHYID0ueMF6yqUl22nedl9fkt5aqK39xW3+FsxycDIgOdOnVCx44d8cknnwAAKioqEBUVhalTp8rqVO0KARGRXM52wapK7rzt1Q1/S5KDeYgMzJgxA6NHj0b79u3RsWNHfPjhhyguLtaOOiNyJ86W/6MqufO2Vzf8LcmW3CYgGj58OK5fv47XXnsNeXl5aNu2LX755RejjtZERETkftymycxabDIjIiJyPXLv324x7J6IiIjIFAZERERE5PYYEBEREZHbY0BEREREbo8BEREREbk9BkRERETk9hgQERERkdtjQERERERujwERERERuT23mbrDWpqE3oWFhQ4uCREREcmluW+bm5iDAZFMt2/fBgBERkY6uCRERESk1O3btxEYGCi5nHOZyVRRUYErV66gdu3aUKlUji5OlSssLERkZCQuXrzIudyswP1oPe5D2+B+tA3uR9uw534UBAG3b99GREQEPDykewqxhkgmDw8PNGzY0NHFcLiAgACe9DbA/Wg97kPb4H60De5H27DXfjRVM6TBTtVERETk9hgQERERkdtjQESyeHt7Y968efD29nZ0UVwa96P1uA9tg/vR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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# Import statements\n", + "import os\n", + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "# Import IDAES libraries\n", + "from idaes.core.surrogate.sampling.data_utils import split_training_validation\n", + "from idaes.core.surrogate.alamopy import AlamoTrainer, AlamoSurrogate, alamo\n", + "from idaes.core.surrogate.plotting.sm_plotter import (\n", + " surrogate_scatter2D,\n", + " surrogate_parity,\n", + " surrogate_residual,\n", + ")" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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eXk5gBuLE7oiKysLBoMBkyZNcunzpI0CYxk25xSiwFimdVKIiKgKUhSonDt3zmq9n6ioKKxevRqXL19Gnz59UFpa6lIitm3bhjlz5qB169YufZ60sWjbcXTOWoMhc39F56w1WLTtuPMPERERKaAoUGncuDEOHjxo9VpoaChWrVqFsrIy3HvvvYoTUFxcjIceeghz585FRESE4s+TNgqMZZi6ZB8q/2rpqxSA55fs99maFdYMERHpk6JApWfPnsjOzrZ7vXbt2li5ciVq1aqlOAHjx49H37590aNHD8WfJe3kFpaYgxSTCkFAXqFrtWpaYs0QEZF+KepM+/LLL+PUqVOi74WGhuKnn37Czp07ZX/fwoULsXPnTmzbtk3W9uXl5ea+MAC4MrOGEqJC4GeAVbDibzAgPipYu0S5QKpmqEtSNGLCgrRNHBERKatRiYiIQKtWrSTfDw0NRdeuXWV9V35+Pp588kl88cUXsmtiMjMzERYWZv6LjY2V9TlSX0xYEDIHpML/r87T/gYDXh+Q4nM396pUM0REVBUZBIXjia9fv4533nkHCxYswB9//AEASEpKwpAhQ/Dkk0+iZs2asr5n2bJluPfee+Hv729+raKiAgaDAX5+figvL7d6DxCvUYmNjYXRaOQMuBopMJYhr7AU8VHBPhekADfS3zlrjV3N0MYp3X3yeIiIfEFRURHCwsJk3b8VBSplZWW48847sWXLFvTo0QMtWrQAABw8eBCrV69G586dsWrVKlk1JJcvX8axY8esXhs+fDiSk5Px3HPPISUlxel3KDlQIimLth3H80v2o0IQzDVDg9o31jpZRERVlpL7t6I+KllZWcjPz8euXbvshhLv2bMHd999N7KysjB9+nSn3xUaGmoXjISEhKBu3bqyghQitQxq3xhdkqJ9umaIiKiqUtRHZeHChXj77bdF5ztJS0vDm2++ifnz56uWOCJviQkLQnpiXQYpREQ6o6hG5dixY+jQoYPk+//4xz+sFiVUat26dS5/loiIiKoeRTUqderUwdmzZyXfP336NEJDQ91OFBERERGgMFDp3r07Xn/9dcn3s7Ky0L17d7cTRURERAQobPqZNm0aOnbsiH/84x94+umnkZycDEEQcPDgQbzzzjs4cOAAtm7d6qm0EhERUTWjKFBp2bIlfvrpJ4wcORKDBw82r5QsCAKSk5Ox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MBiwbNkyq/cFQcBLL72EmJgYBAUFoUePHjhy5Ig2idUxZ+dx2LBhMBgMVn+9e/fWJrE6lZmZifbt2yM0NBT16tVD//79cfjwYattrly5gvHjx6Nu3bqoXbs2Bg4ciDNnzmiUYn2Scx67detmlx/HjBmjUYr1afbs2WjdurV5MrL09HT88MMP5veZF+Vxdh61zosMVHxASUkJ0tLSMGvWLNH333jjDbz//vv48MMP8euvvyIkJAS9evXClStXvJxSfXN2HgGgd+/eKCgoMP8tWLDAiynUv/Xr12P8+PHYunUrfvrpJ1y7dg09e/ZESUmJeZunnnoK3377Lb766iusX78ep06dwoABAzRMtf7IOY8AMHr0aKv8+MYbb2iUYn266aabkJWVhR07dmD79u24/fbbcc899+D3338HwLwol7PzCGicFwXyKQCEpUuXmv9fWVkpNGjQQJg5c6b5tUuXLgmBgYHCggULNEihb7A9j4IgCEOHDhXuueceTdLjq86ePSsAENavXy8Iwo28V7NmTeGrr74yb3Pw4EEBgLBlyxatkql7tudREASha9euwpNPPqldonxURESE8NFHHzEvusl0HgVB+7zIGhUfl5ubi9OnT6NHjx7m18LCwtCxY0ds2bJFw5T5pnXr1qFevXpo3rw5xo4di/Pnz2udJF0zGo0AgMjISADAjh07cO3aNav8mJycjMaNGzM/OmB7Hk2++OILREVFISUlBVOnTkVpaakWyfMJFRUVWLhwIUpKSpCens686CLb82iiZV706UUJCTh9+jQAoH79+lav169f3/weydO7d28MGDAACQkJyMnJwfPPP4+MjAxs2bIF/v7+WidPdyorKzFp0iR07twZKSkpAG7kx4CAAISHh1tty/woTew8AsCQIUMQFxeHhg0bYu/evXjuuedw+PBhLFmyRMPU6s++ffuQnp6OK1euoHbt2li6dClatmyJ3bt3My8qIHUeAe3zIgMVor8MHjzY/O/U1FS0bt0aiYmJWLduHe644w4NU6ZP48ePx/79+7Fx40atk+LTpM7jY489Zv53amoqYmJicMcddyAnJweJiYneTqZuNW/eHLt374bRaMTixYsxdOhQrF+/Xutk+Ryp89iyZUvN8yKbfnxcgwYNAMCuJ/uZM2fM75FrmjRpgqioKBw9elTrpOjOhAkT8N1332Ht2rW4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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.1 Importing Training and Validation Datasets\n", + "\n", + "In this section, we read the dataset from the CSV file located in this directory. 500 data points were simulated for S-CO2 physical properties using REFPROP package. This example is trained on the entire dataset to have cover different ranges of pressure and temperature. The data is separated using an 80/20 split into training and validation data using the IDAES split_training_validation() method.\n", + "\n", + "We rename the column headers because they contained \".\", we change \".\" to \"_\" as ALAMO accepts alphanumerical characters or underscores as the labels for input/output. Further, the input variables are **pressure**, **temperature** , while the output variables are **enth_mol**, **entr_mol**, hence we create two new dataframes for the input and output variables." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAHHCAYAAABeLEexAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAACE10lEQVR4nO3deVxU5f4H8M+AgoACIruyiSIqSG4p7qZXXFpMK00z98ols82lMrVFabmt17RN/d1bmllallqaawqau5JLSiAuoKIyyKIgPL8/cKZZzpmNGWaG+bxfL0rmHM4858yZc77nWb6PQgghQEREROTC3OxdACIiIiJ7Y0BERERELo8BEREREbk8BkRERETk8hgQERERkctjQEREREQujwERERERuTwGREREROTyGBARERGRy2NAREROY968eVAoFCatq1AoMG/ePJuWp1evXujVq5fDbo+ITMeAiIjMtnz5cigUCvVPnTp10LhxY4wZMwYXLlywd/EcTnR0tNbxCg4ORvfu3bF27VqrbL+kpATz5s3D9u3brbI9IlfEgIiILPbaa6/hf//7H5YsWYIBAwbgq6++Qs+ePXHz5k2bvN8rr7yC0tJSm2zb1u666y7873//w//+9z+88MILuHjxIoYMGYIlS5ZUe9slJSWYP38+AyKiaqhj7wIQkfMaMGAAOnToAACYMGECAgMD8dZbb2HdunV45JFHrP5+derUQZ06znnZaty4MR577DH1748//jiaNWuG999/H0899ZQdS0ZEAGuIiMiKunfvDgDIzMzUev3kyZN46KGHEBAQgHr16qFDhw5Yt26d1jrl5eWYP38+mjdvjnr16qFRo0bo1q0bNm/erF5Hqg/RrVu38OyzzyIoKAgNGjTA/fffj/Pnz+uVbcyYMYiOjtZ7XWqby5Ytwz333IPg4GB4enqiVatWWLx4sVnHwpjQ0FC0bNkSWVlZBte7fPkyxo8fj5CQENSrVw9JSUn4v//7P/Xy7OxsBAUFAQDmz5+vbpazdf8potrGOR+1iMghZWdnAwAaNmyofu3PP/9E165d0bhxY8yaNQs+Pj749ttvMXjwYHz//fd48MEHAVQFJgsXLsSECRNw9913o7CwEPv378fBgwfxr3/9S/Y9J0yYgK+++gojRoxAly5dsHXrVgwaNKha+7F48WK0bt0a999/P+rUqYOffvoJ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OlV///33SEhIwIEDB5CUlISkpCQcPHgQCQkJ+P77761dRiIiIiKbsqjJLDY2FiNHjsRrr72m9frcuXPx1VdfITMz02oFdBRsMiMiInI+pt6/Laohys3NxeOPP673+mOPPYbc3FxLNklERERkNxYFRL169cLvv/+u9/quXbvQvXv3ahfKleQqS5GWmY9cZam9i0JEROSyLOpUff/992PmzJk4cOAAOnfuDADYs2cPVq9ejfnz52PdunVa65K0VftyMHvNMVQKwE0BLBySiGEdI+1dLCIiIpdjUR8iNzfTKpYUCgUqKirMLpQjsnYfolxlKbqmbkWlxtF3Vyiwa1ZvhPl5VXv7REREZONh97Ul+7Q9ZeUXawVDAFAhBLLzSxgQERER1bBqT+5KlokJ9IGbQvs1d4UC0YHe9ikQERGRCzO5huijjz4yeaPTpk2zqDCuJMzPCwuHJOKlNRmoEALuCgUWDElg7RAREZEdmNyHKCYmxrQNKhT4+++/q1UoR2SrPES5ylJk55cgOtCbwRAREZGVWb0PUVZWllUKRtrC/LwYCBEREdkZ+xARERGRy7N4ctfz589j3bp1yMnJQVlZmday9957r9oFIyIiIqopFgVEW7Zswf3334+mTZvi5MmTSEhIQHZ2NoQQaNeunbXLSERERGRTFjWZzZ49Gy+88AKOHTuGevXq4fvvv8e5c+fQs2dPPPzww9YuIxEREZFNWRQQnThxQj25a506dVBaWor69evjtddew1tvvWXVAhIRERHZmkUBkY+Pj7rfUFhYGDIzM9XL8vPzrVMyIiIiohpiUR+izp07Y9euXWjZsiUGDhyI559/HseOHcOaNWvUk70SEREROQuLaojee+89dOrUCQAwf/589OnTB6tWrUJ0dDS+/PJLk7ezc+dO3HfffQgPD4dCocAPP/ygtXzMmDFQKBRaP/3799da59q1axg5ciR8fX3h7++P8ePHo6ioSGudo0ePonv37qhXrx4iIiLw9ttvW7LbtUaushRpmfnIVZbauyhEREQOwaIaoqZNm6r/7ePjgyVLllj05sXFxUhKSsK4ceMwZMgQyXX69++PZcuWqX/39PTUWj5y5Ejk5uZi8+bNKC8vx9ixY/HEE09gxYoVAKoyVPbr1w99+/bFkiVLcOzYMYwbNw7+/v544oknLCq3M1u1Lwez1xxDpQDcFMDC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kmJRQFRZWSn7ek5Ojvr3xYsXMwcREREROTyzAqLCwkI88sgj8PHxQUhICF599VVUVFSol1+5cgUxMTFWLyRZJldZirTMfOQqS+1dFCIiIodmVh6iOXPm4MiRI/jf//6HgoICvPHGGzh48CDWrFkDDw8PAMw95ChW7ctRT/7qpgAWDknEsI6R9i4WERGRQzKrhuiHH37Ap59+ioceeggTJkzA/v37ceXKFdx33324desWAHByVweQqyxVB0NA1XxnL63JYE0RERGRDLMCoitXrmjNZxYYGIjffvsNN27cwMCBA1FSUmL1ApL5svKLtSZ9BYAKIZCdb9vPh010RETkrMwKiCIjI3HixAmt1xo0aIBNmzahtLQUDz74oFULR5aJCfSBm05FnbtCgehAb5u956p9OeiauhUjPt+LrqlbsWpfjvE/IiIichBmBUT9+vXDsmXL9F6vX78+fv31V9SrV89qBSPLhfl5YeGQRLjfab50VyiwYEiCzeY8O3LuOmZ9zyY6IiJyXmZ1qp4/fz4uXrwouaxBgwbYvHkzDh48aJWCUfUM6xiJHnFByM4vQXSgt82CoU93ZGLhxpN6r6ua6DjxLBEROQOzAqKGDRuiYcOGsssbNGiAnj17VrtQZB1hfl42DUg+3SkdDAG2b6IjIiKyJrMTM96+fRvvvPMO2rVrh/r166N+/fpo164d3n33XZSXl9uijOSAcpWlSJUJhtwAmzbRERERWZtZNUSlpaX417/+hfT0dPTt2xc9evQAAJw4cQIzZ87EunXrsGnTJvYlcgFZ+cWQSjmlALB2ShckRcjXJBIRETkaswKi1NRUnDt3DocOHUKbNm20lh05cgT3338/UlNTMW/ePGuWkRyQaiSb7vD+WQPiGQwREZHTMavJ7JtvvsF7772nFwwBQFJSEt59912sWLHCaoUjx6U7ks1NAcweGI8ne8bauWRERETmM6uG6OzZs7j77rtll3fu3Flrcleq3WpqJBsREZGtmRUQ+fr64vLly4iIiJBcnpeXhwYNGlilYOQcbD2SjYiIqCaY1WTWu3dvLFiwQHZ5amoqevfuXe1CEREREdUks2qI5s6di06dOqFz58547rnnEB8fDyEETpw4gffffx/Hjx/Hnj17bFVWIiIiIpswKyBq1aoVNm/ejPHjx2P48OHqme2FEIiPj8emTZvQunVrmxSU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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAHHCAYAAACRAnNyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB75klEQVR4nO3dd3gU1foH8O8mkJAE0kiABNMIhAAJSDd0FIGIBUEFRaVbAJHrVQw2UNQE8VovIhcl+FNpIiAqVUB670jHQCihRFJIIYHk/P6Iu26Z2d3Zkp1Nvp/n4dHszM6emZ2deeec95yjEUIIEBEREamQh6sLQERERCSHgQoRERGpFgMVIiIiUi0GKkRERKRaDFSIiIhItRioEBERkWoxUCEiIiLVYqBCREREqsVAhYiIiFSLgQoR2W3KlCnQaDRWravRaDBlyhSnlqdHjx7o0aOHardHRNZjoEJUhcydOxcajUb3r0aNGmjYsCGGDRuGixcvurp4qhMdHW1wvOrVq4euXbti6dKlDtl+UVERpkyZgt9//90h2yOqjhioEFVB77zzDr799lt8+eWXSE5OxnfffYfu3bvj5s2bTvm8N954A8XFxU7ZtrPdeeed+Pbbb/Htt9/i5ZdfxqVLlzBgwAB8+eWXdm+7qKgIb7/9NgMVIjvUcHUBiMjxkpOT0a5dOwDAqFGjEBISgmnTpmH58uV47LHHHP55NWrUQI0a7nk5adiwIZ588knd308//TQaN26Mjz/+GM8995wLS0ZEAGtUiKqFrl27AgDOnDlj8Prx48fxyCOPIDg4GLVq1UK7du2wfPlyg3Vu3bqFt99+G02aNEGtWrVQt25ddOnSBWvXrtWtI5WjUlJSgn/9618IDQ1FnTp18OCDD+LChQsmZRs2bBiio6NNXpfaZnp6Ou6++27Uq1cP3t7eaN68OWbOnKnoWFjSoEEDNGvWDBkZGWbXu3r1KkaOHIn69eujVq1aaNWqFb755hvd8rNnzyI0NBQA8Pbbb+ual5ydn0NU1bjnIxARKXL27FkAQFBQkO61P/74A507d0bDhg2RkpICPz8/LFq0CP3798ePP/6Ihx9+GEBFwJCamopRo0ahQ4cOyM/Px549e7Bv3z7ce++9sp85atQofPfdd3jiiSfQqVMnrF+/Hv369bNrP2bOnIkWLVrgwQcfRI0aNfDzzz9jzJgxKC8vx9ixY+3attatW7dw/vx51K1bV3ad4uJi9OjRA6dPn8a4ceMQExODH374AcOGDUNubi5efPFFhIaGYubMmXj++efx8MMPY8CAAQCAli1bOqScRNWGIKIqIz09XQAQv/32m7h27Zo4f/68WLx4sQgNDRXe3t7i/PnzunXvuecekZiYKG7evKl7rby8XHTq1Ek0adJE91qrVq1Ev379zH7u5MmThf7l5MCBAwKAGDNmjMF6TzzxhAAgJk+erHtt6NChIioqyuI2hRCiqKjIZL0+ffqIRo0aGbzWvXt30b17d7NlFkKIqKgo0bt3b3Ht2jVx7do1cfDgQTF48GABQLzwwguy2/vkk08EAPHdd9/pXistLRVJSUmidu3aIj8/XwghxLVr10z2l4iUYdMPURXUq1cvhIaGIiIiAo888gj8/PywfPly3HHHHQCA69evY/369Xjsscdw48YNZGdnIzs7G3/99Rf69OmDU6dO6XoJBQYG4o8//sCpU6es/vwVK1YAAMaPH2/w+oQJE+zaLx8fH93/5+XlITs7G927d8eff/6JvLw8m7a5Zs0ahIaGIjQ0FK1atcIPP/yAp556CtOmTZN9z4oVK9CgQQM8/vjjutdq1qyJ8ePHo6CgABs3brSpLERkik0/RFXQjBkzEBcXh7y8PMyZMwebNm2Ct7e3bvnp06chhMCbb76JN998U3IbV69eRcOGDfHOO+/goYceQlxcHBISEtC3b1889dRTZpswzp07Bw8PD8TGxhq83rRpU7v2a+vWrZg8eTK2b9+OoqIig2V5eXkICAhQvM2OHTvi3XffhUajga+vL5o1a4bAwECz7zl37hyaNGkCDw/DZ71mzZrplhORYzBQIaqCOnTooOv1079/f3Tp0gVPPPEETpw4gdq1a6O8vBwA8PLLL6NPnz6S22jcuDEAoFu3bjhz5gx++uknrFmzBl999RU+/vhjfPnllxg1apTdZZUbKK6srMzg7zNnzuCee+5BfHw8PvroI0RERMDLywsrVqzAxx9/rNsnpUJCQtCrVy+b3ktEzsdAhaiK8/T0RGpqKnr27In//ve/SElJQaNGjQBUNFdYc5MODg7G8OHDMXz4cBQUFKBbt26YMmWKbKASFRWF8vJynDlzxqAW5cSJEybrBgUFITc31+R141qJn3/+GSUlJVi+fDkiIyN1r2/YsMFi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2TSOyqhRo5CQkIALFy5g37592LdvH86fP4+WLVvimWeecXQZiYiIqJqyqUblwIED2LNnD4KCgnSvBQUF4b333pNNriUiIiJSyqYalbi4OFy5csXk9atXr6Jx48Z2F4qIiIgIsDFQSU1Nxfjx47F48WJcuHABFy5cwOLFizFhwgRMmzYN+fn5un9EREREtrKpe7KHxz/xjUajAQBoN6P/t0ajQVlZmSPKKYndk4mIiNyP07snb9iwwaaCERERESlhU6DSvXt3R5eDiIiIyITNo7Pl5ubi66+/1g341qJFC4wYMQIBAQEOKxwRERFVbzYl0+7ZswexsbH4+OOPcf36dVy/fh0fffQRYmNjsW/fPkeXkYiIiKopm5Jpu3btisaNG2P27Nm6IfNv376NUaNG4c8//8SmTZscXlApTKYlIiJyP0ru3zYFKj4+Pti/fz/i4+MNXj969CjatWuHoqIipZu0CQMVIiIi96Pk/m1T04+/vz8yMzNNXj9//jzq1KljyyaJiIiITNgUqAwaNAgjR47EwoULcf78eZw/fx4LFizAqFGj8Pjjj1u9nSlTpkCj0Rj8M66lISIiourLpl4/H374ITQaDZ5++mncvn0bAFCzZk08//zzSEtLU7StFi1a4LfffvunQDVs7ohEREREVYziqKCsrAw7duzAlClTkJqaijNnzgAAYmNj4evrq7wANWqgQYMGit9HREREVZ/iph9PT0/07t0bubm58PX1RWJiIhITE20KUgDg1KlTCA8PR6NGjTBkyBDJ3BetkpISg3mEOJcQERFR1WZTjkpCQgL+/PNPuz+8Y8eOmDt3LlatWoWZM2ciIyMDXbt2xY0bNyTXT01NRUBAgO5fRESE3WUgIiIi9bKpe/KqVaswadIkTJ06FW3btoWfn5/Bclu7Cufm5iIqKgofffQRRo4cabK8pKQEJSUlur/z8/MRERHB7slERERuxOmTEt53330AgAcffFA3WzJg/4zJgYGBiIuLw+nTpyWXe3t7w9vb26ZtExERkftR1ezJBQUFOHPmDJ566imnbJ+IiIjci02BSkxMDCIiIgxqU4CKGpXz589bvZ2XX34ZDzzwAKKionDp0iVMnjwZnp6eisZiISIioqrL5kAlKysL9erVM3j9+vXriImJsbrp58KFC3j88cfx119/ITQ0FF26dMGOHTsQGhpqS7GI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3z6HFM6S/Px8BAQEIC8vD/7+/pXymURERGQfJfdvRdUhkydPtqtgxmbOnImZM2fi7NmzAIAWLVrgrbfeQnJyskM/h4iIiNyTohoVR/v555/h6emJJk2aQAiBb775BtOnT8f+/fvRokULi+9njQoREZH7UXL/dkigsnHjRhQWFiIpKQlBQUF2bSs4OBjTp0/HyJEjLa7LQIWIiMj9OK3pZ9q0aSgoKMDUqVMBVMyOnJycjDVr1gAA6tWrh3Xr1llVG2KsrKwMP/zwgy7gkVJSUoKSkhLd3xy3hYiIqGpTNODbwoULDYbMX7x4MTZt2oTNmzcjOzsb7dq1w9tvv62oAIcPH0bt2rXh7e2N5557DkuXLpXt6pyamoqAgADdv4iICEWfRURERO5FUdNPUFAQtm3bhmbNmgEAhg8fjrKyMvzf//0fAGDHjh149NFHcf78easLUFpaiszMTOTl5WHx4sX46quvsHHjRslgRapGJSIigk0/REREbsRpTT+3b9+Gt7e37u/t27djwoQJur/Dw8ORnZ2tqLBeXl5o3LgxAKBt27bYvXs3Pv30U8yaNctkXW9vb4PPJyIioqpNUdNPbGwsNm3aBADIzMzEyZMn0a1bN93yCxcuoG7dunYVqLy83KDWhIiIiKovRTUqY8eOxbhx47B582bs2LEDSUlJBk0069evR+vWra3e3qRJk5CcnIzIyEjcuHED8+bNw++//47Vq1crKRYRERFVUYoCldGjR8PT0xM///wzunXrZjIA3KVLlzBixAirt3f16lU8/fTTyMrKQkBAAFq2bInVq1fj3nvvVVIsIiIiqqJcOuCbvTiOChERkftRcv9WlKNCREREVJkUBSq3bt3CxIkT0bhxY3To0AFz5swxWH7lyhV4eno6tIBERERUfSkKVN577z383//9H5577jn07t0bL730Ep599lmDddy4JYmIiIhURlEy7ffff4+vvvoK999/PwBg2LBhSE5OxvDhw3W1KxqNxvGlJCIiompJUY3KxYsXDYbQb9y4MX7//Xds27YNTz31FMrKyhxeQCIiIqq+FAUqDRo0wJkzZwxea9iwITZs2IDdu3dj2LBhjiwbERERVXOKApW7774b8+bNM3k9PDwc69evR0ZGhsMKRo6XlVeMbWeykZVXbNc6RERElUVRjsqbb76J48ePSy5r2LAhNm7ciLVr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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# visualize with IDAES surrogate plotting tools\n", - "surrogate_scatter2D(alm_surr, data_training)\n", - "surrogate_parity(alm_surr, data_training)\n", - "surrogate_residual(alm_surr, data_training)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.4 Model Validation" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# Import training data\n", + "np.set_printoptions(precision=7, suppress=True)\n", + "\n", + "csv_data = pd.read_csv(datafile_path(\"500_Points_DataSet.csv\"))\n", + "\n", + "### ALAMO only accepts alphanumerical characters (A-Z, a-z, 0-9) or underscores as input/output labels\n", + "cols = csv_data.columns\n", + "cols = [item.replace(\".\", \"_\") for item in cols]\n", + "csv_data.columns = cols\n", + "\n", + "data = csv_data.sample(n=500, random_state=0)\n", + "\n", + "input_data = data.iloc[:, :2]\n", + "output_data = data.iloc[:, 2:4]\n", + "\n", + "# Define labels, and split training and validation data\n", + "input_labels = input_data.columns\n", + "output_labels = output_data.columns\n", + "\n", + "n_data = data[input_labels[0]].size\n", + "data_training, data_validation = split_training_validation(data, 0.8, seed=n_data)" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmQAAAHHCAYAAAARcURhAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB74ElEQVR4nO3deViUVfsH8O+wL8IgOwgK4i6moqajuRWK5pIvmktqqBhlkppmau6ZpVZuueWb21uaK5V7IpqVIplrFpoabgkuIANugMz5/cFvHhmYgRkYGGC+n+uaC+d5zjxz5mmM23Pucx+ZEEKAiIiIiEzGwtQdICIiIjJ3DMiIiIiITIwBGREREZGJMSAjIiIiMjEGZEREREQmxoCMiIiIyMQYkBERERGZGAMyIiIiIhNjQEZERERkYgzIiIioSOvXr4dMJsPVq1dN3RWiKosBGRGZ3IkTJxAdHY3GjRvD0dERNWvWRP/+/fH3338XatupUyfIZDLIZDJYWFjA2dkZ9evXx9ChQxEbG2vQ++7atQsdO3aEp6cnHBwcULt2bfTv3x/79+831kcr5OOPP8b3339f6PixY8cwa9YspKenl9l7FzRr1izpXspkMjg4OKBRo0aYNm0aMjIyjPIemzZtwuLFi41yLaKqjAEZEZnc/PnzsWPHDrz00ktYsmQJoqKi8PPPPyMkJATnz58v1N7Pzw9ff/01/ve//+HTTz9F7969cezYMXTt2hUDBgxATk5Ose/52WefoXfv3pDJZJgyZQoWLVqEvn374tKlS9i8eXNZfEwARQdks2fPLteATG3lypX4+uuvsXDhQjRo0ABz585Ft27dYIytjhmQEenHytQdICIaP348Nm3aBBsbG+nYgAED0KRJE8ybNw/ffPONRnu5XI4hQ4ZoHJs3bx7GjBmDFStWICAgAPPnz9f5fk+fPsWcOXPQpUsXHDhwoND5O3fulPITVRyPHj2Cg4NDkW369esHd3d3AMBbb72Fvn37IiYmBsePH4dCoSiPbhKZPY6QEZHJtW3bViMYA4C6deuicePGSExM1OsalpaWWLp0KRo1aoRly5ZBqVTqbHvv3j1kZGSgXbt2Ws97enpqPH/y5AlmzZqFevXqwc7ODj4+PggPD8eVK1ekNp999hnatm0LNzc32Nvbo0WLFti+fbvGdWQyGR4+fIgNGzZI04TDhg3DrFmzMHHiRABAYGCgdC5/ztY333yDFi1awN7eHq6urhg4cCBu3Lihcf1OnTohODgYJ0+eRIcOHeDg4IAPPvhAr/uX34svvggASEpKKrLdihUr0LhxY9ja2sLX1xejR4/WGOHr1KkT9uzZg2vXrkmfKSAgwOD+EJkDjpARUYUkhMDt27fRuHFjvV9jaWmJQYMGYfr06fj111/Ro0cPre08PT1hb2+PXbt24Z133oGrq6vOa+bm5qJnz56Ii4vDwIEDMXbsWGRmZiI2Nhbnz59HUFAQAGDJkiXo3bs3Bg8ejOzsbGzevBmvvvoqdu/eLfXj66+/xsiRI/H8888jKioKABAUFARHR0f8/fff+Pbbb7Fo0SJptMrDwwMAMHfuXEyfPh39+/fHyJEjcffuXXzxxRfo0KEDTp8+DRcXF6m/qamp6N69OwYOHIghQ4bAy8tL7/unpg403dzcdLaZNWsWZs+ejdDQUIwaNQoXL17EypUrceLECRw9ehTW1taYOnUqlEolbt68iUWLFgEAqlWrZnB/iMyCICKqgL7++msBQKxZs0bjeMeOHUXjxo11vu67774TAMSSJUuKvP6MGTMEAOHo6Ci6d+8u5s6dK06ePFmo3dq1awUAsXDhwkLnVCqV9OdHjx5pnMvOzhbBwcHixRdf1Dju6OgoIiIiCl3r008/FQBEUlKSxvGrV68KS0tLMXfuXI3jf/zxh7CystI43rFjRwFArFq1Sufnzm/mzJkCgLh48aK4e/euSEpKEl9++aWwtbUVXl5e4uHDh0IIIdatW6fRtzt37ggbGxvRtWtXkZubK11v2bJlAoBYu3atdKxHjx6iVq1aevWHyJxxypKIKpwLFy5g9OjRUCgUiIiIMOi16hGYzMzMItvNnj0bmzZtQvPmzfHjjz9i6tSpaNGiBUJCQjSmSXfs2AF3d3e88847ha4hk8mkP9vb20t/vn//PpRKJdq3b49Tp04Z1P+CYmJioFKp0L9/f9y7d096eHt7o27dujh8+LBGe1tbWwwfPtyg96hfvz48PDwQGBiIN998E3Xq1MGePXt05p4dPHgQ2dnZGDduHCwsnv0aeeONN+Ds7Iw9e/YY/kGJzBynLImoQklJSUGPHj0gl8uxfft2WFpaGvT6Bw8eAACcnJyKbTto0CAMGjQIGRkZSEhIwPr167Fp0yb06tUL58+fh52dHa5cuYL69evDyqro/13u3r0bH330Ec6cOYOsrCzpeP6grSQuXboEIQTq1q2r9by1tbXG8xo1ahTKxyvOjh074OzsDGtra/j5+UnTsLpcu3YNQF4gl5+NjQ1q164tnSci/TEgI6IKQ6lUonv37khPT8cvv/wCX19fg6+hLpNRp04dvV/j7OyMLl26oEuXLrC2tsaGDRuQkJCAjh076vX6X375Bb1790aHDh2wYsUK+Pj4wNraGuvWrcOmTZsM/gz5qVQqyGQy7Nu3T2twWjAnK/9Inb46dOgg5a0RkWkwICOiCuHJkyfo1asX/v77bxw8eBCNGjUy+Bq5ubnYtGkTHBwc8MILL5SoHy1btsSGDRuQnJwMIC/pPiEhATk5OYVGo9R27NgBOzs7/Pjjj7C1tZWOr1u3rlBbXSNmuo4HBQVBCIHAwEDUq1fP0I9TJmrVqgUAuHjxImrXri0dz87ORlJSEkJDQ6VjpR0hJDIXzCEjIpPLzc3FgAEDEB8fj23btpWo9lVubi7GjBmDxMREjBkzBs7OzjrbPnr0CPHx8VrP7du3D8Cz6bi+ffvi3r17WLZsWaG24v8Lp1paWkImkyE3N1c6d/XqVa0FYB0dHbUWf3V0dASAQufCw8NhaWmJ2bNnFyrUKoRAamqq9g9ZhkJDQ2FjY4OlS5dq9GnNmjVQKpUaq1sdHR2LLEFCRHk4QkZEJjdhwgTs3LkTvXr1QlpaWqFCsAWLwCqVSqnNo0ePcPnyZcTExODKlSsYOHAg5syZU+T7PXr0CG3btkWbNm3QrVs3+Pv7Iz09Hd9//z1++eUX9OnTB82bNwcAvP766/jf//6H8ePH47fffkP79u3x8OFDHDx4EG+//TZeeeUV9OjRAwsXLkS3bt3w2muv4c6dO1i+fDnq1KmDc+fOabx3ixYtcPDgQSxcuBC+vr4IDAxE69at0aJFCwDA1KlTMXDgQFhbW6NXr14ICgrCRx99hClTpuDq1avo06cPnJyckJSUhO+++w5RUVF47733SnX/DeXh4YEpU6Zg9uzZ6NatG3r37o2LFy9ixYoVaNWqlcZ/rxYtWmDLli0YP348WrVqhWrVqqFXr17l2l+iSsGUSzyJiIR4Vq5B16OottWqVRN169YVQ4YMEQcOHNDr/XJycsR///tf0adPH1GrVi1ha2srHBwcRPPmzcWnn34qsrKyNNo/evRITJ06VQQGBgpra2vh7e0t+vXrJ65cuSK1WbNmjahbt66wtbUVDRo0EOvWrZPKSuR34cIF0aFDB2Fvby8AaJTAmDNnjqhRo4awsLAoVAJjx44d4oUXXhCOjo7C0dFRNGjQQIwePVpcvHhR494UVRKkIHX/7t69W2S7gmUv1JYtWyYaNGggrK2thZeXlxg1apS4f/++RpsHDx6I1157Tbi4uAgALIFBpINMCCNsVkZEREREJcYcMiIiIiITY0BGREREZGIMyIiIiIhMjAEZERERkYkxICMiIiIyMQZkRERERCbGwrAVmEqlwq1bt+Dk5MTtR4iIiCoJIQQyMzPh6+sLCwv9xr4YkFVgt27dgr+/v6m7QURERCVw48YN+Pn56dWWAVkF5uTkBCDvP2hR+/IRERFRxZGRkQF/f3/p97g+GJBVYOppSmdnZwZkRERElYwh6UZM6iciIiIyMQZkRERERCbGgIyIiIjIxJhDVsmpVCpkZ2ebuhtVmo2Njd7LlomIiEqi0gRkvXv3xpkzZ3Dnzh1Ur14doaGhmD9/Pnx9faU2Qgh8/vnnWL16Na5duwZ3d3e8/fbbmDp1qtTmp59+wvjx4/Hnn3/C398f06ZNw7BhwzTea/ny5fj000+RkpKCpk2b4osvvsDzzz8vnX/y5AkmTJiAzZs3IysrC2FhYVixYgW8vLykNtevX8eoUaNw+PBhVKtWDREREfjkk09gZWW8W56dnY2kpCSoVCqjXZMKs7CwQGBgIGxsbEzdFSIiqqIqTUDWuXNnfPDBB/Dx8cG///6L9957D/369cOxY8ekNmPHjsWBAwfw2WefoUmTJkhLS0NaWpp0PikpCT169MBbb72FjRs3Ii4uDiNHjoSPjw/CwsIAAFu2bMH48eOxatUqtG7dGosXL0ZYWBguXrwIT09PAMC7776LPXv2YNu2bZDL5YiOjkZ4eDiOHj0KAMjNzUWPHj3g7e2NY8eOITk5Ga+//jqsra3x8ccfG+V+CCGQnJwMS0tL+Pv7cwSnjKiL8yYnJ6NmzZos0EtERGVDVFI//PCDkMlkIjs7WwghxF9//SWsrKzEhQsXdL7m/fffF40bN9Y4NmDAABEWFiY9f/7558Xo0aOl57m5ucLX11d88sknQggh0tPThbW1tdi2bZvUJjExUQAQ8fHxQggh9u7dKywsLERKSorUZuXKlcLZ2VlkZWXp/RmVSqUAIJRKZaFz2dnZ4q+//hLp6el6X49KJj09Xfz111/Sd42IiKgoRf3+1qVSDqukpaVh48aNaNu2LaytrQEAu3btQu3atbF7924EBgYiICAAI0eO1Bghi4+PR2hoqMa1wsLCEB8fDyBvCvDkyZMabSwsLBAaGiq1OXnyJHJycjTaNGjQADVr1pTaxMfHo0mTJhpTmGFhYcjIyMCff/6p83NlZWUhIyND46FLbm4uAHAarRyo77H6nhMRERlbpQrIJk2aBEdHR7i5ueH69ev44YcfpHP//PMPrl27hm3btuF///sf1q9fj5MnT6Jfv35Sm5SUFI0gCQC8vLyQkZGBx48f4969e8jNzdXaJiUlRbqGjY0NXFxcimyj7Rrqc7p88sknkMvl0kOfbZM4hVb2eI+JiKismTQgmzx5MmQyWZGPCxcuSO0nTpyI06dP48CBA7C0tMTrr78OIQSAvFyfrKws/O9//0P79u3RqVMnrFmzBocPH8bFixdN9RENMmXKFCiVSulx48YNU3eJiIiIyoFJk/onTJhQaIVjQbVr15b+7O7uDnd3d9SrVw8NGzaEv78/jh8/DoVCAR8fH1hZWaFevXpS+4YNGwLIW/FYv359eHt74/bt2xrXv337NpydnWFvbw9LS0tYWlpqbePt7Q0A8Pb2RnZ2NtLT0zVGyQq2+e233wpdQ31OF1tbW9ja2hZ5P4iIiKjqMekImYeHBxo0aFDkQ1eOlLrUQ1ZWFgCgXbt2ePr0Ka5cuSK1+fvvvwEAtWrVAgAoFArExcVpXCc2NhYKhQJAXq5QixYtNNqoVCrExcVJbVq0aAFra2uNNhcvXsT169elNgqFAn/88Qfu3Lmj8T7Ozs5o1KhRCe5U1TFs2DBp9NPa2hpeXl7o0qUL1q5da1D5jvXr1xeaNiYiIipKamoqkpOTkZycjJMnb2P79lScPHlbOpaammqyvlWKshcJCQk4ceIEXnjhBVSvXh1XrlzB9OnTERQUJAVBoaGhCAkJwYgRI7B48WKoVCqMHj0aXbp0kUbN3nrrLSxbtgzvv/8+RowYgUOHDmHr1q3Ys2eP9F7jx49HREQEWrZsieeffx6LFy/Gw4cPMXz4cACAXC5HZGQkxo8fD1dXVzg7O+Odd96BQqFAmzZtAABdu3ZFo0aNMHToUCxYsAApKSmYNm0aRo8eXWFGwFJTU4ssKGtjYwM3N7cyee9u3bph3bp1yM3Nxe3bt7F//36MHTsW27dvx86dO41aq42IiAjI+723bNkyAMCpU82xa1dPCGEBmUyFXr12IyTkNAAgOjq6zH7/FaVS/OZzcHBATEwMZs6ciYcPH8LHxwfdunXDtGnTpADHwsICu3btwjvvvIMOHTrA0dER3bt3x+effy5dJzAwEHv27MG7776LJUuWwM/PD1999ZVUgwwABgwYgLt372LGjBlISUlBs2bNsH//fo0k/UWLFsHCwgJ9+/bVKAyrZmlpid27d2PUqFFQKBRwdHREREQEPvzww3K4W8XL/6UsSll9KW1tbaWp2xo1aiAkJARt2rTBSy+9hPXr12PkyJFYuHAh1q1bh3/++Qeurq7o1asXFixYgGrVquGnn36SAmR1wv3MmTMxa9YsfP3111iyZAkuXrwIR0dHvPjii1i8eLFUQ46IiMyTehBCqXSSgjEAEMICu3b1RFDQZcjlmSbb/aZSBGRNmjTBoUOHim3n6+uLHTt2FNmmU6dOOH36dJFtoqOjER0drfO8nZ0dli9fjuXLl+tsU6tWLezdu7foDpuIvl+28vxSvvjii2jatCliYmIwcuRIWFhYYOnSpQgMDMQ///yDt99+G++//z5WrFiBtm3bYvHixZgxY4a0YKNatWoAgJycHMyZMwf169fHnTt3MH78eAwbNqzC/rcgIqLylZbmhoJVv4SwQFqaK+TyTBP1qpIEZGQeGjRogHPnzgEAxo0bJx0PCAjARx99hLfeegsrVqyAjY0N5HI5ZDJZoUUSI0aMkP5cu3ZtLF26FK1atcKDBw+koI2IiMyXq2sqZDKVRlAmk6ng6ppWxKvKXqWqQ0ZVmxBCmoI8ePAgXnrpJdSoUQNOTk4YOnQoUlNT8ejRoyKvcfLkSfTq1Qs1a9aEk5MTOnbsCCBvpS0REZFcnolevXZDJstbSKbOITPl6BjAETKqQBITExEYGIirV6+iZ8+eGDVqFObOnQtXV1f8+uuviIyMRHZ2NhwcHLS+/uHDhwgLC0NYWBg2btwIDw8PXL9+HWFhYSbLCSAiooonJOQ0goIuIy3NFa6uaSYPxgAGZFRBHDp0CH/88QfeffddnDx5EiqVCp9//rm0afrWrVs12tvY2BTayujChQtITU3FvHnzpF0Ofv/99/L5AEREVKnI5ZkVIhBT45QllbusrCykpKTg33//xalTp/Dxxx/jlVdeQc+ePfH666+jTp06yMnJwRdffIF//vkHX3/9NVatWqVxjYCAADx48ABxcXG4d+8eHj16hJo1a8LGxkZ63c6dOzFnzhwTfUoiIiL9MSCjcrd//374+PggICAA3bp1w+HDh7F06VL88MMPsLS0RNOmTbFw4ULMnz8fwcHB2LhxIz755BONa7Rt2xZvvfUWBgwYAA8PDyxYsAAeHh5Yv349tm3bhkaNGmHevHn47LPPTPQpiYioLOQv7qrtoau4q65C8yVtZ2wyod4MkiqcjIwMyOVyKJVKODs7a5x78uQJkpKSEBgYCDs7O4Oua+o6ZJVNae41EREZT2l/f5VXUfSifn/rwhwyM+Tm5obo6GiTVeonIiIyhDqQunfvnsZxpdIJaWlucHVN1cgH0/X7rSL/XmNAZqYq8peSiIhIHYSlp6cXWtgFFL39UWXEgIyIiIgqlKKmJpVKJ9y44V/k9keVEQMyIiIiqlAKTjmqpyZv3fLBwYOhhbY+AirG9kelwYCMiIiIKqz8U5OAACDT2q4ibH9UGix7QURERBWSUumkMTVZVDBWEbY/Kg2OkBEREZFJ5C9DoVQqkZOTAwC4f/8+ACAtzU3r9OQzKvTrtx3+/jcrdTAGMCAjIiIiE9CnppiraypkMpWOoEyF3r13Izg4sdAZUxV3LQ0GZERERFTuiqqFmb++WGjoQcTGdkH+6UqZTIXIyK/g55csHQsPD4e7u3ulraPJHDKqUn766SfIZDKkp6fr/ZqAgAAsXry4zPpERESaUlNTtRZ5TUoKwNGjCixePA4bNkRg8eJxsLd/gi5dYgGoADzLF8sfjAGAr68vfHx8KmUwBnCEjMrZsGHDsGHDBrz55puFNgwfPXo0VqxYgYiICKxfv940HSQiojJ15coVfPPNNxrHdK2kVNcXGzduMYKDzyMtzRWurmka+WLh4eHw9fWttIGYGkfIqNz5+/tj8+bNePz4sXTsyZMn2LRpE2rWrGnCnhERUVlKTU0tFIzdvOmDnTt1r6TMX18sMPBaoeT9qhCMAQzIyARCQkLg7++PmJgY6VhMTAxq1qyJ5s2bS8eysrIwZswYeHp6ws7ODi+88AJOnDihca29e/eiXr16sLe3R+fOnXH16tVC7/frr7+iffv2sLe3h7+/P8aMGYOHDx+W2ecjIiLtCuaNHT2qwFdfjURR4Uj++mLh4eGIioqSHro2Ea+MGJARbt4EDh/O+1leRowYgXXr1knP165di+HDh2u0ef/997Fjxw5s2LABp06dQp06dRAWFoa0tLy/mDdu3EB4eDh69eqFM2fOYOTIkZg8ebLGNa5cuYJu3bqhb9++OHfuHLZs2YJff/0V0dHRZf8hiYjMVGpqKpKTkws98ueNHT2q+P9kfW2hiABQuL6Yu7s7fHx8pEdVCcYA5pCZvTVrgKgoQKUCLCyA1auByMiyf98hQ4ZgypQpuHbtGgDg6NGj2Lx5M3766ScAwMOHD7Fy5UqsX78e3bt3BwD897//RWxsLNasWYOJEydi5cqVCAoKwueffw4AqF+/Pv744w/Mnz9fep9PPvkEgwcPxrhx4wAAdevWxdKlS9GxY0esXLkSdnZ2Zf9hiYjMiD7lLJRKJxw8GArthV5V6NLlIHx9bxXKF6vKGJCZsZs3nwVjQN7PN98EwsIAP7+yfW8PDw/06NED69evhxACPXr0gLu7u3T+ypUryMnJQbt27aRj1tbWeP7555GYmFdzJjExEa1bt9a4rkKh0Hh+9uxZnDt3Dhs3bpSOCSGgUqmQlJSEhg0blsXHIyIyW0WVs1DTXfBVhZEjvyq0glKtMtYX0xcDMjN26dKzYEwtNxe4fLnsAzIgb9pSPXW4fPnyMnmPBw8e4M0338SYMWMKneMCAiKi0slfaV8tKSmp2NdpL/gq0KXLQSkY69y5Mzw8PODi4gIAlba+mL4YkJmxunXzpinzB2WWlkCdOuXz/t26dUN2djZkMhnCwsI0zgUFBcHGxgZHjx5FrVq1AAA5OTk4ceKENP3YsGFD7Ny5U+N1x48f13geEhKCv/76C3XK60MREZmB1NRU3L17F1u2bCmynVLphBs3/AEA/v43pOlHuTwTvXrtlkpdyGQqhIYeRLt28dJr69atCx8fn7L7EBUMAzIz5ueXlzP25pt5I2OWlsCXX5bP6BgAWFpaStOPlpaWGuccHR0xatQoTJw4Ea6urqhZsyYWLFiAR48eIfL/k9zeeustfP7555g4cSJGjhyJkydPFqpfNmnSJLRp0wbR0dEYOXIkHB0d8ddffyE2NrbYHAciIipMnxwxIK+22M6dPfEsaV+gd+9dCAk5DQAICTmNoKDLWmuLAVV7elIbBmRmLjIyL2fs8uW8kbHyCsbUnJ2ddZ6bN28eVCoVhg4diszMTLRs2RI//vgjqlevDiBvynHHjh1499138cUXX+D555/Hxx9/jBEjRkjXeO6553DkyBFMnToV7du3hxACQUFBGDBgQJl/NiKiqqjgFKV6myNr6yzk5NjC1TUVAAoEYwAgw65dPREUdFljpExb0v6QIUOq9PSkNjIhhDB1J0i7jIwMyOVyKJXKQoHLkydPkJSUhMDAQK4ULGO810REzyQnJ2P16tUAtFfYl8lUUCjicexYO62vj4hYj8DAa9LekwVVhVyxon5/68IRMiIiIjKYUumULxgD8m93FB+vQN7ek5orKfMXeVXXFKM8LAxLREREBtNduiIvKGvbNh7qDcGBwkVezS1HrDgcISMiIiKDaS9dkUcmU6F16wS0bp2AGzfykpP9/W9KwdiAAQMq/bSksTEgIyIiIoPJ5ZkIDT34/9sf5a+4LxAaejBf4n6iltfKy6eTlQinLCs5rskoe7zHRETa+fomo/D2RzL4+t4q8nWcriyMI2SVlLpuV3Z2Nuzt7U3cm6pNvcS7YK00IiJzlD+Y0jZtmT9xv0uXLggMDCz0ek5XFsaArJKysrKCg4MD7t69C2tra1hYcLCzLKhUKty9excODg6wsuJfFyIiNzc39O/fH1u3btVacT9/4n5gYCBXUuqJv2EqKZlMBh8fHyQlJeHatWum7k6VZmFhgZo1a0ImKzgsT0Rknjw9PaU/F1Vxn1OT+mNh2ApMn8JyKpWqUNVkMi4bGxuOQBIRFaBtY/H8zHlqkoVhzZCFhQWrxxMRUbkz12CrrDAgIyIiMgMc0arYGJARERFVcampqVi2bFmx7aKjoxmUmQgDMiIioiqgqBGwe/fu6XUN5iSbDgMyIiKiSk7fETCquLh0jIiIqJIrOLKlVDohKSkASqWTiXpEhuIIGRERURVy6lTzQoVaQ0JOa7RRKp2QluYGV9dUjbphZDoMyIiIiCqh/Dlj6hwxpdJJCsYAQAgL7NrVE0FBl6XAS5+AjcofAzIiIqJKRlfOWFqam8a+kkBeUJaW5gq5PFOvgI1MgzlkRERElYyunDFr6yzIZCqNc/k3+y4qYCPT4ggZERFRJVZwCvK5587h3LnntG727eqaCplMpRGU5Q/YuPek6TAgIyIiqgT0zRk7d+45REZ+hfR0FwAy+PvfkK4hl2di5sxbmDOnBnJzZbC0FJg/PwOvvTaIlfpNjAEZERFRBWdozthffzVGfLxCa+J+VJQlIiNluHwZqFNHBj8/FwAuZf8hqEgMyIiIiCo4XRX0dU1BHjumgDpNXFvivp9f3oMqDib1ExERVVJyeSZ69dotJfLLZCooFPEo+OudifsVH0fIiIiIKpn8hV1DQk4jKOgy0tJcpeR89XSlWv7EfaqYGJARERFVIroKu+avI9ar1+5CbdTnuZKyYmJARkREVEkUV9i1S5cucHJyQng48O67/yA1tToCAp7C17cVgFZcSVmBMSAjIiKqIPKXtshPXeaiuEr8gYGB8PHxKZe+knExICMiIqoAdJW2yK+4wq5UeXGVJRERUQWgq7RFftpWVTI/rGrgCBkREVEFlH8lZf6E/Y8+CsSMGXdx9aoV88OqEAZkREREFYyulZQA4O7uDh8fL7RoYeJOklExICMiIipHxSXuF7eSkqomBmRERETlRJ/E/eJWUlLVxKR+IiKicqJP4r56JWV+XElZ9TEgIyIiMhGl0glJSQFQKp2kY8WtpKSqiVOWREREJlBU4n7B/SnzB2MsbVE1MSAjIiIyIl1J+4D+ifvh4eFwd3cv9HqWtqi6GJARERGVUMHgKz09HVu3bi32dcUl7ueVtuAWSOak0uSQ9e7dGzVr1oSdnR18fHwwdOhQ3Lp1Szo/a9YsyGSyQg9HR0eN62zbtg0NGjSAnZ0dmjRpgr1792qcF0JgxowZ8PHxgb29PUJDQ3Hp0iWNNmlpaRg8eDCcnZ3h4uKCyMhIPHjwQKPNuXPn0L59e9jZ2cHf3x8LFiww8h0hIiJTUq+YXL16tfTQJxgDmLhPhVWagKxz587YunUrLl68iB07duDKlSvo16+fdP69995DcnKyxqNRo0Z49dVXpTbHjh3DoEGDEBkZidOnT6NPnz7o06cPzp8/L7VZsGABli5dilWrViEhIQGOjo4ICwvDkydPpDaDBw/Gn3/+idjYWOzevRs///wzoqKipPMZGRno2rUratWqhZMnT+LTTz/FrFmzsHr16jK+S0REVF70WTGpLWkfYOI+FSYTQghTd6Ikdu7ciT59+iArKwvW1taFzp89exbNmjXDzz//jPbt2wMABgwYgIcPH2L37t1SuzZt2qBZs2ZYtWoVhBDw9fXFhAkT8N577wEAlEolvLy8sH79egwcOBCJiYlo1KgRTpw4gZYtWwIA9u/fj5dffhk3b96Er68vVq5cialTpyIlJUVKvpw8eTK+//57XLhwQe/PmJGRAblcDqVSCWdn5xLfKyIiMr7k5OQi/6FdVNK+Wt72SIUT96Ojo5krVomV5Pd3pcwhS0tLw8aNG9G2bVutwRgAfPXVV6hXr54UjAFAfHw8xo8fr9EuLCwM33//PQAgKSkJKSkpCA0Nlc7L5XK0bt0a8fHxGDhwIOLj4+Hi4iIFYwAQGhoKCwsLJCQk4D//+Q/i4+PRoUMHjZUwYWFhmD9/Pu7fv4/q1asb4zYQEVEFVdKkfYCJ++aqUgVkkyZNwrJly/Do0SO0adNGY6QrvydPnmDjxo2YPHmyxvGUlBR4eXlpHPPy8kJKSop0Xn2sqDaenp4a562srODq6qrRJjAwsNA11Od0BWRZWVnIysqSnmdkZGhtR0REFU/+zcCZtE+GMmkO2eTJk7Um4ud/5J/imzhxIk6fPo0DBw7A0tISr7/+OrTNuH733XfIzMxEREREeX6cUvvkk08gl8ulh7+/v6m7REREejh1qjkWLx6HDRsisHjxONy65cOkfTKISUfIJkyYgGHDhhXZpnbt2tKf3d3d4e7ujnr16qFhw4bw9/fH8ePHoVAoNF7z1VdfoWfPnoVGury9vXH79m2NY7dv34a3t7d0Xn0s/79cbt++jWbNmklt7ty5o3GNp0+fIi0tTeM62t4n/3toM2XKFI0p1YyMDAZlREQmUFQtMUCzOKu26cmDB0MRGnoQBw+GauSQMWmfdDFpQObh4QEPD48SvValyvuXR/4pPiAvD+zw4cPYuXNnodcoFArExcVh3Lhx0rHY2FgpoAsMDIS3tzfi4uKkACwjIwMJCQkYNWqUdI309HScPHkSLVq0AAAcOnQIKpUKrVu3ltpMnToVOTk5Uo5bbGws6tevX2T+mK2tLWxtbUtwN4iIyFj02QAcyFsoBuiuKebrewvjxi1mtX3SS6XIIUtISMCJEyfwwgsvoHr16rhy5QqmT5+OoKCgQqNja9euhY+PD7p3717oOmPHjkXHjh3x+eefo0ePHti8eTN+//13aZWMTCbDuHHj8NFHH6Fu3boIDAzE9OnT4evriz59+gAAGjZsiG7duuGNN97AqlWrkJOTg+joaAwcOBC+vr4AgNdeew2zZ89GZGQkJk2ahPPnz2PJkiVYtGhR2d4oIiIqNX3KWQCQUmbUNcXyB2Xq6Um5PBNRUS9DLpdL55i0T9pUioDMwcEBMTExmDlzJh4+fAgfHx9069YN06ZN0xhRUqlUWL9+PYYNGwZLS8tC12nbti02bdqEadOm4YMPPkDdunXx/fffIzg4WGrz/vvv4+HDh4iKikJ6ejpeeOEF7N+/H3Z2dlKbjRs3Ijo6Gi+99BIsLCzQt29fLF26VDovl8tx4MABjB49Gi1atIC7uztmzJihUauMiIgqNxcXF0RHRyM7Oxs1amRg0iQ5cnNlsLQUmD8/A6+9NojBF+mt0tYhMwesQ0ZEVLa05Yrdu3cPMTExxb42KipKI9/45k3g8mWgTh3Az8/oXaVKxGzqkBEREZWWvrli+ctZFJWU7+fHQIxKjgEZERGZJX1yxfSptk9kDJVmL0siIqLypKvafsF9KYmMgQEZERGRFkVV2ycyNk5ZEhFRlacreT+/grliRZWzAFhLjIyLARkREVVp+iTv68oV69VrN3bv7gWViuUsqGwxICMioiqtuOR9XbliQUGXERJyGjNmtEZmphfq1JHBz88FgEuZ95nMDwMyIiIya0XlisnlmfD1VSFfuTGiMsGAjIiIKiV9NgDXNq3IXDGqiBiQERFRpZA/AFMqldiyZUuxr4mOjtZ4zlwxqqgYkBERUYWnb1X9gvKPoDFXjCoyBmRERFThFZyaLDjtqM/2RswVo4qMARkREVUqBacdn3vuHM6de67Y7Y2KyxUjMiVW6iciokpD27Tj2bNNdW5vpFQqpaR8uTwTvXrthkymAgApeFOPqDF5n0ypRCNkhw8fRufOnY3dFyIioiJpm3YEZBrP8k9D5uTkwM3NDdHR0dK054wZd3H1qhUCAp7C17cVgFZM3ieTK1FA1q1bN/j5+WH48OGIiIiAv7+/sftFRERUiLZpR0Agf1CmbRoyf7Dl4wO0aFHGHSUyUImmLP/9919ER0dj+/btqF27NsLCwrB169ZiqyETERGVhrZpRz+/G8gLygBA4LnnzulM7CeqqEoUkLm7u+Pdd9/FmTNnkJCQgHr16uHtt9+Gr68vxowZg7Nnzxq7n0RERACAkJDTGDduMSIi1iMy8iv8+68fno2QyXDu3HNSDpmVFdeuUeVQ6m9qSEgIvL294ebmhnnz5mHt2rVYsWIFFAoFVq1ahcaNGxujn0REZAZ0Vd9XKpUaz+XyTMjlmUhKCiiylIWLi0tZdpfIaEockOXk5OCHH37A2rVrERsbi5YtW2LZsmUYNGgQ7t69i2nTpuHVV1/FX3/9Zcz+EhFRFaVv8df+/fvj6dOniImJYSkLqjJKFJC98847+PbbbyGEwNChQ7FgwQIEBwdL5x0dHfHZZ5/B19fXaB0lIqKqTd885PyjXuqcsoLbITGHjCqbEgVkf/31F7744guEh4fD1tZWaxt3d3ccPny4VJ0jIqKqSdvU5L179/R+ff6aYSEhpxEUdBlpaa5wdU3TCMZYW4wqixIFZHFxccVf2MoKHTt2LMnliYioCtN3arKo7ZAK1hbThrXFqDIpcQ7ZxYsX8cUXXyAxMREA0LBhQ7zzzjuoX7++0TpHRERVjz5TkwW3R9K2HRKDLapKSlT2YseOHQgODsbJkyfRtGlTNG3aFKdOnUJwcDB27Nhh7D4SEVEVplQ6ISkpIN92R4W3R8q/HRJRVVSiEbL3338fU6ZMwYcffqhxfObMmXj//ffRt29fo3SOiIgqL10lLPLnimkbCate/X6RpSyIqqISBWTJycl4/fXXCx0fMmQIPv3001J3ioiIKjd98sR0jYRFRn7FUhZkdko0ZdmpUyf88ssvhY7/+uuvaN++fak7RURElZs+eWLaNgoXwgI5OTaFtkfKX8qCKyepKirRCFnv3r0xadIknDx5Em3atAEAHD9+HNu2bcPs2bOxc+dOjbZERGQ+UlNTC5Ww0LZisqiiroGB1xAdXRcZGZ4ICHgKX99WAFpx5SRVWTIhhCi+mSYLC/0G1mQyGXJzcw3uFOXJyMiAXC6HUqmEs7OzqbtDRFQsbVOVRa2YLOpcVFQUfHx8yv0zEJVWSX5/l2iETKVSleRlRERUxd29e1fjua48saCgy5DLM1nUlej/lXpzcSIiIgC4cuUKtmzZonHsxg3/IldMhoeHw93dvdC1ODVJ5kbvgGzp0qV6X3TMmDEl6gwREVVOqamp+Oabb6TnSqUTfv65PU6ebFGobf4Vk+7u7pyWJIIBAdmiRYv0aieTyRiQERGZmfyrKk+dao6dO3tC20J+bv5NpJ3eAVlSUlJZ9oOIiKoApdJJZzAGAH37bkdwcKL0nHliRHmYQ0ZEREaTluYG3SUuVfD3vwkACA8Ph6+vL/PEiP5fiQOymzdvYufOnbh+/XqhAoALFy4sdceIiKjs5d/e6NYtCyQlWSEw8Cl8ffNW0xuaXO/qmgpAhcJBmUCXLgelqUp3d3cGY0T5lCggi4uLQ+/evVG7dm1cuHABwcHBuHr1KoQQCAkJMXYfiYioDOSvGVZUPbD+/fvDxcVFr+BMLs9E7967C0xbCnTpEot27eKldpyqJNJUooBsypQpeO+99zB79mw4OTlhx44d8PT0xODBg9GtWzdj95GIiMqAemSsuFphW7dulV4THR1dbFCmri1244YfAMDf/6ZGEn///v05OkZUQIn2skxMTJQ2F7eyssLjx49RrVo1fPjhh5g/f75RO0hERGVL156Sf/7ZCEqlk8ZxffaoBPJGyoKDExEcnFhoRaWnp2fpOkxUBZUoIHN0dJT+Uvr4+ODKlSvSuYL7lxERUcWm3lNSk8CBA92wePE4nDrVvNhr6DsFOWTIEI6OEWlRoinLNm3a4Ndff0XDhg3x8ssvY8KECfjjjz8QExMjbTZORESVg1yeiV69duebthQAZAAKT1/q4ubmhujo6CJH0Fh9n0i3EgVkCxcuxIMHDwAAs2fPxoMHD7BlyxbUrVuXKyyJiCohdd7Xn382woEDmrnA+bc6KgqDLaKSK1FAVrt2benPjo6OWLVqldE6REREpiGXZ6Jx478QG9tVI6cs/1ZHRFQ2SlUYNjs7G3fu3IFKpZl7ULNmzVJ1ioiIinfzJnDpElC3LuDnZ9hrU1NTteb8Fpy+5FZHROWjRAHZ33//jcjISBw7dkzjuBACMpkMubm5RukcERFpt2YNEBUFqFSAhQWwejUQGam9bf7irwCgVCqxZcsWnddWT1+mpbnC1TWNwRhROShRQDZ8+HBYWVlh9+7d8PHxgUwmM3a/iIhIi9TUVFy9+hRRUZ5QqfL+36tSAW++KdCs2R0EBFhp5HLlL/6qi1LphLQ0N7i6pkrBl1yeqTUQY0FXorJRooDszJkzOHnyJBo0aGDs/hARkQ7q4CopKQAqVYTGudxcGb74Yh8CA69pFG8tuOqxYPBVVIX+8PBwuLu7S6/lKkmislOigKxRo0asN0ZEVM7UwZW6bpiuxHtdpScKBl+hoQdx8GCozgr97u7u8PHxKeNPRUSAAYVhMzIypMf8+fPx/vvv46effkJqaqrGuYyMjLLsLxGR2VMn3quLueqTeK9te6TY2FCtFfrT0lzLrvNEpJXeI2QuLi4auWJCCLz00ksabZjUT0RUPvRJvM+/kvLGDf9CwRdgUeRIGxGVH70DssOHD5dlP4iIyEC6Eu8BzWR+9VRlQQWnLVnigsh09A7IOnbsKP35+vXr8Pf3L7S6UgiBGzduGK93RERUIuo8soJTlc88S+APDj7PEhdEJlaipP7AwEAkJyfD09NT43haWhoCAwM5ZUlEVEGkpblpCcaAfv22Izg4EQBLXBBVBCUKyNS5YgU9ePAAdnZ2pe4UEREVLuhaktXtulZk+vvf1GjXv39/uLi4SM9Z4oKofBkUkI0fPx4AIJPJMH36dDg4OEjncnNzkZCQgGbNmhm1g0RE5qhgQddn9cOcip1WtLGxkQK54rZCCg8Ph6+vL4MvIhMzKCA7fTqvWKAQAn/88YfGcLaNjQ2aNm2K9957z7g9JCIyQ/lHxkpSvDU5OVk6VtSKTHd3dwZjRBWAQQGZeqXl8OHDsWTJEjg7O5dJp4iIKI+2+mElKd5a1IpMIjI9vQvD5rdu3ToGY0RE5UBbUj6LtxJVPSVK6n/48CHmzZuHuLg43LlzByqVSuP8P//8Y5TOERGZu+K2SdJF3xWSXElJVDGUKCAbOXIkjhw5gqFDh8LHx0friksiInN08yZw6RJQty7g51f66xWXlK+Lm5sboqOjde5rCXAlJVFFUqKAbN++fdizZw/atWtn7P4QEVVaa9YAUVGASgVYWACrVwORkaW/rj7bJGnDYIuo8ihRDln16tXh6sr8BSIitZs3nwVjQN7PN9/MO24McnkmAgOvMTGfqIoqUUA2Z84czJgxA48ePTJ2f4iIKp3U1FQcP56KAum0yM0FEhJSkZqaavA1mQNGZF5KNGX5+eef48qVK/Dy8kJAQACsra01zp86dcoonSMiqujUBVyVSifIZOMKrIhU4ejRDTh/PhPR0dEGTSEyB4zIvJQoIOvTp4+Ru0FEVDkVrIi/c2dPPJt8kOH8+WD4+ibj11+v4vnn89rqG0gx2CIyHyUKyGbOnGnsfhARVXpBQZchkwFCqI/IEBvbBYAM//ufZoX9/v37w9PTk0EXEQEwMIfst99+Q25urs7zWVlZ2Lp1a6k7RURUGWkr4grklQUSwgI7d/bEzZt5VfW3bt2KZcuWlSi/jIiqHoMCMoVCofE/D2dnZ40isOnp6Rg0aJDxepdP7969UbNmTdjZ2cHHxwdDhw7FrVu3NNr8+OOPaNOmDZycnODh4YG+ffvi6tWrGm1++uknhISEwNbWFnXq1MH69esLvdfy5csREBAAOzs7tG7dGr/99pvG+SdPnmD06NFwc3NDtWrV0LdvX9y+fVujzfXr19GjRw84ODjA09MTEydOxNOnT41yL4ioYlIXcdXNAmvWjMSpU82lI0XliBGR+TAoIBPPxuG1Ptd1zBg6d+6MrVu34uLFi9ixYweuXLmCfv36SeeTkpLwyiuv4MUXX8SZM2fw448/4t69ewgPD9do06NHD3Tu3BlnzpzBuHHjMHLkSPz4449Smy1btmD8+PGYOXMmTp06haZNmyIsLAx37tyR2rz77rvYtWsXtm3bhiNHjuDWrVsa75Obm4sePXogOzsbx44dw4YNG7B+/XrMmDGjTO4NEVUM6jyyZ0GZtv9H5u1FqVQ6lW/niKhCkwkDIigLCwukpKTA09MTAODk5ISzZ8+idu3aAIDbt2/D19e3yGlNY9m5cyf69OmDrKwsWFtbY/v27Rg0aBCysrJgYZEXZ+7atQuvvPKK1GbSpEnYs2cPzp8/L11n4MCBSE9Px/79+wEArVu3RqtWrbBs2TIAgEqlgr+/P9555x1MnjwZSqUSHh4e2LRpkxQQXrhwAQ0bNkR8fDzatGmDffv2oWfPnrh16xa8vLwAAKtWrcKkSZNw9+5dvZepZ2RkQC6XQ6lUcu9QonKmb8X95ORkrF69WuOYUumEtDRX3Lrli9jYUGj7t29ExHoEBl5DVFSUXpuDE1HlUZLf3yWqQ2ZqaWlp2LhxI9q2bSuV3GjRogUsLCywbt065ObmQqlU4uuvv0ZoaKjUJj4+HqGhoRrXCgsLQ3x8PIC8qYOTJ09qtLGwsEBoaKjU5uTJk8jJydFo06BBA9SsWVNqEx8fjyZNmkjBmPp9MjIy8Oeff+r8XFlZWcjIyNB4EFH5W7MGqFULePHFvJ9r1hj2enUR13bt4jFy5FeFpjH12YuSiMyLwQHZX3/9hXPnzuHcuXMQQuDChQvS86KCDWOYNGkSHB0d4ebmhuvXr+OHH36QzgUGBuLAgQP44IMPYGtrCxcXF9y8eVNjkUFKSopGkAQAXl5eyMjIwOPHj3Hv3j3k5uZqbZOSkiJdw8bGBi4uLkW20XYN9TldPvnkE8jlcunh7++v550hImNITU3FyZO3ERUlClTcFzh58rbWBPziRrz9/JI1pjH13YuSiMyLwQHZSy+9hGbNmqFZs2Z49OgRevbsiWbNmqF58+aFRp+KM3nyZMhksiIfFy5ckNpPnDgRp0+fxoEDB2BpaYnXX39dyllLSUnBG2+8gYiICJw4cQJHjhyBjY0N+vXrV2Z5bcY2ZcoUKJVK6XHjxg1Td4nIbKgLvH7xxX6oVDKNc7m5Mnzxxb5CqyJTU1ORnZ2NLl26FHntkJDTGDduMSIi1mPcuMVS6QsiIjWD6pAlJSUZ9c0nTJiAYcOGFdlGnZ8GAO7u7nB3d0e9evXQsGFD+Pv74/jx41AoFFi+fDnkcjkWLFggtf/mm2/g7++PhIQEtGnTBt7e3oVWQ96+fRvOzs6wt7eHpaUlLC0ttbbx9vYGAHh7eyM7Oxvp6ekao2QF2xRcmam+prqNNra2trC1tS3yfhBR2VCvdlSvlMxfviL/FKO6nTqAU8vLG3ODq2uq1tEvuTyTo2JEpJNBAVmtWrUMuvjbb7+NDz/8EO7u7lrPe3h4wMPDw6Brqqn+fz4hKysLAPDo0SMpmV/N0tJSo61CocDevXs12sTGxkKhUADIm3po0aIF4uLipN0IVCoV4uLiEB0dDSAvV83a2hpxcXHo27cvAODixYu4fv26dB2FQoG5c+fizp070gKI2NhYODs7o1GjRiX6vERUPtQrJXft6gkhLApNMZ4/n46jR20glz9beX3qVPNC7fUdBeNelEQEGLjK0lDOzs44c+aMxihXSSQkJODEiRN44YUXUL16dVy5cgXTp0/H7du38eeff8LW1haHDh1CaGgoZs2ahUGDBiEzMxMffPABLly4gMTERNjb2yMpKQnBwcEYPXo0RowYgUOHDmHMmDHYs2cPwsLCAOSVvYiIiMCXX36J559/HosXL8bWrVtx4cIFKQ9s1KhR2Lt3L9avXw9nZ2e88847AIBjx44ByCt70axZM/j6+mLBggVISUnB0KFDMXLkSHz88cd6f26usiQqPwVXS6pXSrq6pknBmLbAKyjoMhYvHldoRG3cuMWQyzMRHh6u8x+l3IuSqGoqye/vEm2dpC9jxXoODg6IiYnBzJkz8fDhQ/j4+KBbt26YNm2aNMX34osvYtOmTViwYAEWLFgABwcHKBQK7N+/H/b29gDyEv/37NmDd999F0uWLIGfnx+++uorKRgDgAEDBuDu3buYMWMGUlJS0KxZM+zfv18jSX/RokWwsLBA3759kZWVhbCwMKxYsUI6b2lpid27d2PUqFFQKBRwdHREREQEPvzwQ6PcDyIqewWnGJVKJykYA57VE+vbd0eh6vxCWCAtzRVyeSbc3d1Z1oKIilWmI2QF65SRYThCRlR+tNUTyy8pKQAbNkQUOt6v31bs2NFP5wgZ64wRmR+zqUNGRGSomzeBw4fzfpaEtm2RZDIV/P1vsqwFEZVamU5ZEhFVBGvWAFFReTXFLCyA1auByEjDrlFUsn9IyGkEBV0ulHNGRKQvBmREVGWlpqbi6tWniIrylGqLqQu9Nmt2BwEBVlJSvT6rHYsKvFjWgohKo0wDsiFDhjD3iYhMQl0nLCkpACqVZu6XutBrYOA1REdHw83NDW5uboiOjpbqjKndu3cPMTEx0nNDAy+WtSAifZQoIFOpVIVqfqmP37x5EzVr1gQArFy5snS9IyIqIUMLvQIoVQkKbeUtWNaCiPRlUFJ/RkYG+vfvD0dHR3h5eWHGjBnIzc2Vzt+9exeBgYFG7yQRUUmpc79KmnSv7wiXr68vfHx8NB4MxohIXwaNkE2fPh1nz57F119/jfT0dHz00Uc4deoUYmJipP9pVZZ9I4nIfJQm6V7XVGZ+HAkjotIyKCD7/vvvsWHDBnTq1AkA0KdPH/To0QO9evXCzp07AQAymayIKxARmYau3K979+7h1i0LJCVZITDwKXx980bS8gdZDLaIqKwZNGV59+5djf0s3d3dcfDgQWRmZuLll1/Go0ePjN5BIqKyNG1aElq18sCrr7qhVSsPvPXWCaxevRrLli1DamqqqbtHRGbCoICsZs2aSExM1Djm5OSEAwcO4PHjx/jPf/5j1M4REZUlXdshKZVOAFDkNCURkTEZFJB17doV69atK3S8WrVq+PHHH2FnZ2e0jhERlbW0NDed+1ASEZUng3LIZs+ejVu3bmk95+TkhNjYWJw6dcooHSMiMkRqaqrGiJZSqSz2NcWVxCAiKi8GBWTVq1dH9erVdZ53cnJCx44dS90pIiJ9paam4s6dO9i6dat0TKl0QlqaG1xdnTQS+Zs27YHUVFfI5Xfw558/FrkdEhFReTK4MOzTp0+xaNEifPvtt/j7778BAPXq1cNrr72GsWPHwtra2uidJCLSRl2NX02pdEJCQmscO6YA8CzACgk5jVOnmmPWrBDkZWoEoHfvOwgJOc19KImoQjAoIHv8+DG6dOmC+Ph4hIaGokOHDgCAxMRETJo0CTt37sSBAweYS0ZE5SL/FOWpU801EvSBZ0n6np4p2LmzJ56lzVpg586eCAq6LJXDYCBGRKZkUEA2b9483LhxA6dPn8Zzzz2nce7s2bPo3bs35s2bh1mzZhmzj0RkJm7eBC5dAurWBfz8im6bmpqKe/fuASi8WjI/ISzw9991UXgNkwVu3PCDXJ5Y6DVEROXNoFWWmzdvxsKFCwsFYwDQtGlTfPbZZ9i0aZPROkdEVV9qaiqSk5Px+efpqFVL4MUXgVq1BD7/PB3Jyclaa4GppyrVm37fuOGvNRgD8pL0q1V7UKK+cWNwIiovBo2QXbt2Dc8//7zO823atMH169dL3SkiMg/qwEqpdMLixeMgRN5OHyqVDBMnOuPff9dCLs9EdHS0RrV8bVOV2uXlkAUFXcbevQLAs51EZDIV/P1vAgA6d+6MunXraryS2yERUXkyKCBzdnbGnTt34O/vr/V8SkoKnJycjNIxIqr61IFVUfXA5PJMnQVadU9VqtC2bTxat06QcsN6996lczVl9erV4ePjY9wPR0RkAIMCss6dO+Pjjz/Gjh07tJ6fN28eOnfubJSOEZH5KGk9MG2BHAD067cdwcGauWFcTUlEFZlBAdnMmTPRunVrtGnTBuPHj0eDBg0ghEBiYiIWLVqEv/76C8ePHy+rvhJRFVXSemC6Ajn1VKS292EgRkQVkUEBWaNGjRAbG4vIyEgMHDgQMllePoYQAg0aNMCBAwfQuHHjMukoEVVtRY1gqVdTFnxurMKuVlYGl2QkIjIqg/8v1KZNG/z55584c+aMRmHYZs2aGbtvRGRmdI1grVsX+/+V91MLnS8qkOvcuTMOHz5c7Pu6uLiUuu9ERKVhcECWkZGBatWqoVmzZhpBmEqlwoMHD+Ds7GzM/hGRmctf8DV/5f38dAVyHh4eer0Hy1sQkakZFJB99913mDRpEs6cOQMHBweNc48fP0arVq3w2WefoVevXkbtJBGZp4KrKNWV99UV9ovj6emJ6Ohonas0AZa3IKKKwaCAbOXKlXj//fcLBWMA4OjoiEmTJmHZsmUMyIgIQF6dsaKCoUePHhX5+uLKYYSHh8Pd3V3raxloEVFlYlBAdv78eaxYsULn+Q4dOmDatGml7hQRVX7aNv7Wlgc2ZMiQQv/Iu3fvHmJiYooth+Hu7s76YURUJRgUkN2/fx9Pnz7VeT4nJwf3798vdaeIqPLTtfF3wTwwBwcHnUGVsVZREhFVdAYFZAEBAfj999/RoEEDred///131KpVyygdI6KqobR5YCzoSkTmwKDNxcPDwzF16lTcvn270LmUlBRMmzYNffv2NVrniKjyKyoPTF9yeSYCA68xGCOiKsugEbLJkyfjhx9+QN26dTFkyBDUr18fAHDhwgVs3LgR/v7+mDx5cpl0lIgqp5Jsi6RvGQqWqyCiqsKggMzJyQlHjx7FlClTsGXLFilfzMXFBUOGDMHcuXO5uTiRmVOvrCxNNX03NzeWqyAisyITQoiSvFAIgXv37kEIAQ8PD2kbpfyOHj2Kli1bwtbWttQdNUcZGRmQy+VQKpUsuEuVQlErKwFozQOLioriSkkiqlJK8vu7xBu4yWSyYqtgd+/eHWfOnEHt2rVL+jZEVInou7KSiIg0GZTUb6gSDr4RUSWna2WlUlk4pYF5YEREpRghIyLSRd8K+8wDIyLKw4CMiIyOFfaJiAxTplOWRGSe1CsrZTIVABRaWXnv3j2kpqaasotERBVKmY6QaVt5SUSVU3EbhRfMBctfYd/aOhs5ObZQKp0gl2ciJiYGABAdHc0pSyIilHFAxqR+oqqhYDkLXfr376/xXC7PxJUrdXSutiwqwCMiMidlGpBlZnKbE6Lyps9IlqGjUgWvl7++WP6aYupi0fnblWYfSyIic2FQQPbiiy/q1e7QoUMl6gwRlU5RhVnzB0ClmSosqr5YbGysRtviVlsSEVEegwKyn376CbVq1UKPHj1gbW1dVn0iohLStzBrSacKixrxAlAo+CvJPpZERObIoIBs/vz5WLduHbZt24bBgwdjxIgRCA4OLqu+EVEJGTpVWNw0p1KpBKB7xCshoTXi4xWFgr+S7GNJRGSODArIJk6ciIkTJyI+Ph5r165Fu3btUL9+fYwYMQKvvfYa91skKmOlDZy0TRXqm7APaB/xAlRSMKZ+n/zBX/7VlgX3sSQiojwlSupXKBRQKBRYsmQJtm3bhuXLl+O9997DrVu3GJQRlRF988MAw6YK9U3YB6B1xEuhiMexY+002hUM/uTyTAZiRERFKNUqy1OnTuHIkSNITExEcHAw88qIypAhG3eXdKpQnw3BC454AdAYIQP0zxPjPpZERHkMDshu3bqF9evXY/369cjIyMCQIUOQkJCARo0alUX/iKgAffPDDJ0q1Pe62kbQigr+1PtWFsR9LImInjEoIHv55Zdx+PBhdO3aFZ9++il69OgBKytuh0lUngzJDzNkqlCf6+oaQSsq+OO+lURExTMomtq/fz98fHxw/fp1zJ49G7Nnz9ba7tSpU0bpHBEVZoxSEunp6QA0pwyLu25xI2i6gj9OSxIRFc+ggGzmzJll1Q8i0lNx+WH9+/eHi4sLlEoltmzZovUaW7dulf48YMAAva5b3AiatqlJTksSEemHARlRJVTUFKGLi4tBU4Q5OTl6Xbe4ETROTRIRlZxF8U2Kd+TIEezdu7fQPnZEVHbk8kwEBl7TO0dMqXRCUlIAlEonjeMF95zVdV31CJpMpgIAFnklIjIigyv1P3jwAHPmzAEACCHQvXt3HDhwAADg6emJuLg4NG7c2Pg9JTJz+uZiaWunz/6TXbt2RbVq1aTXWFlZwcXFBffu3UNMTAwAw1duEhGRfgwKyLZs2YJJkyZJz7dv346ff/4Zv/zyCxo2bIjXX38ds2fP1shPISLjcHNzQ3R0dJGV+rXlbOlbzkL9D6v8oqOjC+WFscgrEZHxGRSQJSUl4bnnnpOe7927F/369UO7dnlVuqdNm4ZXX33VuD0kIklJEuR1JePfuOEHuTyxyNdmZ2eXamSOiIj0Y1BA9vTpU9ja2krP4+PjMW7cOOm5r68v7t27Z7TOEVHpad9/Eti+vR+ys/OmLovaLqmkI3NERKQ/gwKyoKAg/Pzzz6hduzauX7+Ov//+Gx06dJDO37x5k/9TJqpgCpazeCZv6vLxYzscPBha5HZJ/HtNRFS2DArIRo8ejejoaPzyyy84fvw4FAqFxpZJhw4dQvPmzY3eSSLST2pqqjSSpVQqpeMhIadhY5OF7ds1UwqEsEBsbCjUC6515ZcREVHZMigge+ONN2BpaYldu3ahQ4cOheqS3bp1CyNGjDBqB4lIP6mpqVi2bJnO8/7+N7TWEdN3GyYiIio7Bm9EOWLECJ1B14oVK0rdISIqmaJyvADtlfhDQw9K05Vqhm7DREREpcedwYmqKG2J+trqiNnbP9G5XRIREZUPgwKynJwcTJ06FTExMXB1dcVbb72lMVp2+/Zt+Pr6Ijc31+gdJSL9FVUIdvjwLrCyspLqBRZV7JWlLIiIyodBAdncuXPxv//9D++99x7S09Mxfvx4JCQk4Msvv5TaCCGM3kki0l9xhWDVe06ylAURUcVhUEC2ceNGfPXVV+jZsycAYNiwYejevTuGDx+OtWvXAgBkMpnxe0lUAeRfwahNRQlgdBWCLZioXxH6SkREeQwKyP79918EBwdLz+vUqYOffvoJL774IoYOHYoFCxYYvYNEFUFxKxjVoqOjTR7oaCsEy0R9IqKKzaL4Js94e3vjypUrGsdq1KiBw4cP48SJExg2bJgx+0ZUYRS3gtHQdmVJvZpSJlMBABP1iYgqAYMCshdffBGbNm0qdNzX1xeHDh1CUlKS0TpWUO/evVGzZk3Y2dnBx8cHQ4cOxa1btzTabN26Fc2aNYODgwNq1aqFTz/9tNB1fvrpJ4SEhMDW1hZ16tTB+vXrC7VZvnw5AgICYGdnh9atW+O3337TOP/kyROMHj0abm5uqFatGvr27Yvbt29rtLl+/Tp69OgBBwcHeHp6YuLEiXj69GnpbwSZpdTUVCQnJ+t8pKamaiTgh4ScxrhxixERsR7jxi3WqLzPRH0ioorHoCnL6dOn48KFC1rP1ahRA0eOHEFsbKxROlZQ586d8cEHH8DHxwf//vsv3nvvPfTr1w/Hjh0DAOzbtw+DBw/GF198ga5duyIxMRFvvPEG7O3tER0dDSBvc/QePXrgrbfewsaNGxEXF4eRI0fCx8cHYWFhAIAtW7Zg/PjxWLVqFVq3bo3FixcjLCwMFy9ehKenJwDg3XffxZ49e7Bt2zbI5XJER0cjPDwcR48eBQDk5uaiR48e8Pb2xrFjx5CcnIzXX38d1tbW+Pjjj8vk/lDZUOeNmXKPVkOmS5moT0RUOclEJV0WuXPnTvTp0wdZWVmwtrbGa6+9hpycHGzbtk1q88UXX2DBggW4fv06ZDIZJk2ahD179uD8+fNSm4EDByI9PR379+8HALRu3RqtWrWSfgGqVCr4+/vjnXfeweTJk6FUKuHh4YFNmzahX79+AIALFy6gYcOGiI+PR5s2bbBv3z707NkTt27dgpeXFwBg1apVmDRpEu7evav3CEVGRgbkcjmUSiWcnZ2Nct9If/oGQvlFRUXBx8fHqP1ITk7G6tWri20XHh4OX19fBlxERCZWkt/fBk1Zqm3btg3h4eEIDg5GcHAwwsPDsX379pJcqkTS0tKwceNGtG3bFtbW1gCArKws2NnZabSzt7fHzZs3ce3aNQBAfHw8QkNDNdqEhYUhPj4eQF7+z8mTJzXaWFhYIDQ0VGpz8uRJ5OTkaLRp0KABatasKbWJj49HkyZNpGBM/T4ZGRn4888/jXUbqIwVNdKkVDohKSkASqVTOfao6PeOiYnBsmXLkJqaWu59IiKi0jFoylKlUmHQoEHYtm0b6tWrhwYNGgAA/vzzTwwYMACvvvoqvv322zIrfTFp0iQsW7YMjx49Qps2bbB7927pXFhYGN59910MGzYMnTt3xuXLl/H5558DyBthCAgIQEpKikaQBABeXl7IyMjA48ePcf/+feTm5mpto56qTUlJgY2NDVxcXAq1SUlJkdpou4b6nC5ZWVnIysqSnmdkZOhzW6icFVV0tSjGKJuhz3tXhIUFRERkGIMCsiVLluDgwYPYuXOnVItMbefOnRg+fDiWLFmCcePG6XW9yZMnY/78+UW2SUxMlAK/iRMnIjIyEteuXcPs2bPx+uuvY/fu3ZDJZHjjjTdw5coV9OzZEzk5OXB2dsbYsWMxa9YsWFiUaCCw3H3yySeYPXu2qbtBRSiu6Kouxiiboe29d+7sCU/PFPj5JZfg0xARUUVhUKSybt06fPrpp4WCMSBvFeSCBQukArH6mDBhAhITE4t81K5dW2rv7u6OevXqoUuXLti8eTP27t2L48ePA8grSDt//nw8ePAA165dQ0pKCp5//nkAkK7h7e1daDXk7du34ezsDHt7e7i7u8PS0lJrG29vb+ka2dnZSE9PL7KNtmuoz+kyZcoUKJVK6XHjxg297iOVn6KKrgK6VzAao2yGtvcGLLBmzUicOtVcr+sTEVHFZNAI2aVLlwrlYOUXGhoqrWjUh4eHBzw8PAzpgkSlyquxlH+KDwAsLS1Ro0YNAMC3334LhUIhvYdCocDevXs12sfGxkKhUADI+2XaokULxMXFoU+fPtL7xMXFSZ+rRYsWsLa2RlxcHPr27QsAuHjxIq5fvy5dR6FQYO7cubhz5460MjM2NhbOzs5o1KiRzs9ka2sLW1vbEt0PKntKpRMePnQoVHTVwkLgnXe6IyDAqkwT6rUVfAX0H6UjIqKKy6CAzN7eHunp6ahZs6bW8xkZGYUS640hISEBJ06cwAsvvIDq1avjypUrmD59OoKCgqQg6N69e9i+fTs6deqEJ0+eYN26ddi2bRuOHDkiXeett97CsmXL8P7772PEiBE4dOgQtm7dij179khtxo8fj4iICLRs2RLPP/88Fi9ejIcPH2L48OEAALlcjsjISIwfPx6urq5wdnbGO++8A4VCgTZt2gAAunbtikaNGkm7F6SkpGDatGkYPXo0A65yZqztjvLnbgEqKTCSyVRYsCADLVp4FXuN/JRKJ6SlucHVNVXvIEpd8HXnzp4oOLitbWskIiKqPAwKyBQKBVauXImVK1dqPb98+XIpQDImBwcHxMTEYObMmXj48CF8fHzQrVs3TJs2TSPA2bBhA9577z0IIaBQKPDTTz9J05YAEBgYiD179uDdd9/FkiVL4Ofnh6+++kqqQQYAAwYMwN27dzFjxgykpKSgWbNm2L9/v0aS/qJFi2BhYYG+ffsiKysLYWFhWLFihXTe0tISu3fvxqhRo6BQKODo6IiIiAh8+OGHRr83pJuxtjsqmLsFWEAIFfr12wp//5t47bVBAFy0vr86GMxfx8zQRQEFC756eqZgzZqR3BqJiKgKMSggmzp1Kjp16oTU1FS89957aNCgAYQQSExMxOeff44ffvgBhw8fNnonmzRpgkOHDhXZxt3dXSo7UZROnTrh9OmiV8SpC2zqYmdnh+XLl2P58uU629SqVavQ9CiVr9LmbakDIV25W46OjyCXZ2rNG9MVDJZkUYCbmxuio6Nx69YtxMTEwM8vGb167S4U1HF0jIio8jIoIGvbti22bNmCqKgo7NixQ+Nc9erV8e2336Jdu3ZG7SCRqagDoatXn+LrrwVUqmflXCwti84b0xXkFbUooKiAquB7hIScRlDQZaSlucLVNU3jtdwaiYio8jEoIAOA//znPwgLC8OPP/6IS5cuAQDq1auHrl27wsHBwegdJDIlNzc3uLkBq1cDb74J5OYClpbAl1/KDM4bA7Qn5us73agOELk1EhFR1WNQQHbo0CFER0fj+PHj+M9//qNxTqlUonHjxli1ahXat29v1E4SmVpkJBAWBly+DNSpA/j5lew66sR8XdONxY1uMdgiIqqaDArIFi9ejDfeeEPrvkxyuRxvvvkmFi5cyICMqiQ/v5IHYvlXVeafbhw8uDWCg1sBaMXRLSIiM2ZQQHb27NkiK+t37doVn332Wak7RVSV6FpVKZdnwt+/jdE3IyciosrHoEr9t2/fljbz1sbKygp3794tdaeIqgpdqyrVG4Nv2bKFm4ETEZFhAVmNGjVw/vx5nefPnTvHf+1ThaHvasOyXJVY3FZLADcDJyIiA6csX375ZUyfPh3dunUrVJH/8ePHmDlzptZ9LolMoeCqxFu3LJCUZIXAwKfw9c3bequs8rbUQV5pVlUSEZH5kAkhhL6Nb9++jZCQEFhaWiI6Ohr169cHAFy4cAHLly9Hbm4uTp06pVHVnkouIyMDcrkcSqVS60IK0t+aNUBUFKBSARYWeWUsIiPL9j0TExOxdevWQtsudelyEO3aPStiHBUVxZFlIqIqpCS/vw0aIfPy8sKxY8cwatQoTJkyBepYTiaTISwsDMuXL2cwRhXOzZvPgjEg7+ebb+aVsSjpqkl9uLi4AMgr4vr4sR0OHgyFEBY4eDAU9vZPitwuiYiIzIvBhWHVWwLdv38fly9fhhACdevWRfXq1cuif0SldunSs2BMLTc3r6ZYWQZkakqlkxSMAfptl0RERObF4IBMrXr16mjVqpUx+0JUJurWzZumzB+UWVrmFXgtqdTUVNy9exc5OTnIzMzE06dPNc5bWT37q1XS7ZKIiMh8lDggIzK11NRUvbYR8vPTtvVRyUfHdG0crgsT+4mIqDgMyKhS0jcoio6Ohpubm9G2PgIML1NR2u2SiIio6mNARpWSvkFR/nal2fqotD76KBAzZtzF1atWCAh4Cl9fbpdERETPMCAjMqL8e1bmzw9zd3eHj48XWrQwYeeIiKjCYkBGVEpKpRNu3PBHUlIATp5sAUBzz0oiIqLiMCAjKoVTp5pj586eKLgLGUtbEBGRIRiQERVQ3OpNpVL5/z+dtAZjaixtQURE+mJARpSPISUt0tLcoCsYA1jagoiI9Kf7twmRGTKkpIWrayoAlY6zLG1BRET64wgZVUr6BjhlFQj1798fMpkMcvktzJ5dA0LIAAAymcCAATcxYMBtNGhQD3I5S1sQEVHxGJBRpeTm5obo6GhpROvWLQskJVkhMPApfH3zRq0MCYTUeWP37t3TOK6rjMXTp0/h6+uLmTPzis7Gx+cdVyhk8PPzB+Bf+g9JRERmQyaEEKbuBGmXkZEBuVwOpVIJZ2dnU3enwlqzBoiKytur0sIib5ukyEj9X68rb+zUqeaFqusXLGOh3gmAiIhIrSS/v5lDRpXazZvPgjEg7+ebb+Yd15e2vDGl0kkKxoBnZSyUSqdiX0tERGQoBmRUqV269CwYU8vNzduzsjTS0tw0NgMHnpWxICIiMjYGZFSp1a2bN02Zn6Vl3gbiJaVUOuHhQwfIZJqRHstYEBFRWWFSP1Vqfn55OWNvvpk3MmZpCXz5Zck3Ec+fNwaoIJOppBwyhSLeqH0nIiJS4wgZVXqRkcDVq8Dhw3k/DUnoz69g3hhgASGAFi1OQAjg2LF2WLx4HE6dam6knhMREeXhCBlVCX5+JR8VU9OWNwZY4NSpvA3DAe5RSUREZYMjZET/z9U1tVDeGKBicj8REZU5BmRk9tTV/OXyTPTqtVsKymQyFbp0OVhkcj+3RCIiImNgYdgKjIVhy4+6Uj+QV/X/6lUruLndh5vbY8TEVMeHH9aASiWDpaXA/PlKvPbaY26JREREWpXk9zcDsgqMAVnJ5Q+wtDE0mLp5M6+2WZ06pc9VIyKiqq0kv7+Z1E9Vjq6tkAoyZNsjYywaICIi0oUBGZmUsUeyAODOnTt6teO2R0REVFEwICOTKYuRrNTUVGzdurW0XSMiIipXXGVJJqPvCJUhI1m6NgpPSgootDE4ERFRRcERMqrS8m+FJJOp0KvXboSEnDZ1t4iIiDRwhIyqrIJbIamr7HOkjIiIKhoGZFRhGHtqMSGhNavsExFRpcApS6oQjDW1mJ6eDiAvuDt2TFHofP4q+0RERBUFR8jI5Iw1tZh/hWVamhu0fb0VinhpU3Bue0RERBUFAzIyubQ0N6NMLeZfYalro/DWrRMAAAMGDOC2R0REVGEwICOTUY9QaQueSruBt7aNwnv33i2Njnl4eJSm60REREbFHDIyGTc3N0RHRyM7Oxs1amRg0iQ5cnPVG3hn4LXXBpVqA++QkNMICrqMtDRXuLqmScEYR8eIiKiiYUBGJqUOjCZMAAYMUG/gLYOfnwsAl1JdW6l0QlqaG1xdU6VgDADkcnmprktERGRsDMiowjDmBt4sCEtERJUJAzIyWFlsCG5MulZtBgVd1hgpIyIiqigYkJFBymJDcGMratUmAzIiIqqIGJCRQcpiQ3BDFDU6py4Kq161mT8oK+2qTSIiorLEgIwqDX1H56KiXi6TVZtERERlhQEZlYqulYxlQd9RN7lcjgkTXIy+apOIiKisMCCjEqvoKxmNuWqTiIioLLFSP5WIsfafJCIiIgZkVELG2n+SiIiIGJBRCRW3/yQRERHpjwEZGURdMkLb5t29ej3bvLs8SksolU5ISgrgNCkREVV6TOong+TfEBwAZsy4i6tXrRAQ8BS+vq0AtNKrtERpq/1X9AUFREREhmBARgbLHyj5+AAtWhj2+pJW+1ePuhW3NRILvxIRUWXDgIzKXcGRMV21zAq2U4/OHT4MLFpUeEFBu3YR6NQJLPxKRESVDgMyKpWbN4FLl4C6dUtW88vQqUc3Nze0aQNYWACqfGsKLC2B1q3dwFiMiIgqIyb1U4mtWQPUqgW8+GLezzVrDHt9SWuZ+fkBq1fnBWFA3s8vv2QRWCIiqrwYkFGJ3LwJREU9G6VSqYA338w7rq/S1DKLjASuXgUOH877GRmp//sSERFVNJyypBK5dElzyhAAcnPz9o7Ud6RKXcssf1BmSC0zbo1ERERVBUfIzNDNm3kjS4aMZhVUt25eHld+lpZAnTpFvy41NRX37t0DUHwtMyIiInPBETIzs2bNs6lGC4u8XKySTPep87jefDNvZEyfPC5t5S5CQk4jKOgy0tJc4eqaxmCMiIjMEgMyM6Ir7yssrGRTf5GRea+9fDlvZKy4a+gqBCuXZ2oNxFhPjIiIzEWlm7LMyspCs2bNIJPJcObMGY1z586dQ/v27WFnZwd/f38sWLCg0Ou3bduGBg0awM7ODk2aNMHevXs1zgshMGPGDPj4+MDe3h6hoaG4dOmSRpu0tDQMHjwYzs7OcHFxQWRkJB48eGBwX8pbUXlfhkhNTUVycjKSk5NhaZmM+vXzfqqPpaamlqqf4eHhhYrCEhERVWWVboTs/fffh6+vL86ePatxPCMjA127dkVoaChWrVqFP/74AyNGjICLiwuioqIAAMeOHcOgQYPwySefoGfPnti0aRP69OmDU6dOITg4GACwYMECLF26FBs2bEBgYCCmT5+OsLAw/PXXX7CzswMADB48GMnJyYiNjUVOTg6GDx+OqKgobNq0Se++mII676tg/a7i8r7yK2mVfW10FYR1d3dnMEZERGalUgVk+/btw4EDB7Bjxw7s27dP49zGjRuRnZ2NtWvXwsbGBo0bN8aZM2ewcOFCKQhasmQJunXrhokTJwIA5syZg9jYWCxbtgyrVq2CEAKLFy/GtGnT8MorrwAA/ve//8HLywvff/89Bg4ciMTEROzfvx8nTpxAy5YtAQBffPEFXn75ZXz22Wfw9fXVqy+mUJK8r4KK2n/SkHbci5KIiOiZSjNlefv2bbzxxhv4+uuv4eDgUOh8fHw8OnTooJF3FBYWhosXL+L+/ftSm9DQUI3XhYWFIT4+HgCQlJSElJQUjTZyuRytW7eW2sTHx8PFxUUKxgAgNDQUFhYWSEhI0Lsv2mRlZSEjI0PjYWwVoX5XSQvCEhERVVWVIiATQmDYsGF46623NAKh/FJSUuDl5aVxTP08JSWlyDb5z+d/na42np6eGuetrKzg6upa7Pvkfw9tPvnkE8jlcunh7++vs21p+PkBnTqZroZXaQrCEhERVUUmDcgmT54MmUxW5OPChQv44osvkJmZiSlTppiyu2VuypQpUCqV0uPGjRum7lKZUBeEzc+QgrBERERVjUlzyCZMmIBhw4YV2aZ27do4dOgQ4uPjYWtrq3GuZcuWGDx4MDZs2ABvb2/cvn1b47z6ube3t/RTW5v859XHfHx8NNo0a9ZManPnzh2Nazx9+hRpaWnFvk/+99DG1ta20GesStRTuOqCsAVzyNSJ/Sx3QURE5sakAZmHhwc8PDyKbbd06VJ89NFH0vNbt24hLCwMW7ZsQevWrQEACoUCU6dORU5ODqytrQEAsbGxqF+/PqpXry61iYuLw7hx46RrxcbGQqFQAAACAwPh7e2NuLg4KQDLyMhAQkICRo0aJV0jPT0dJ0+eRIsWLQAAhw4dgkqlMqgv5sjNzQ3R0dFSwv+MGXdx9aoVAgKewte3FYBWsLGx4QpLIiIyO5VilWXNmjU1nlerVg0AEBQUBL//T4R67bXXMHv2bERGRmLSpEk4f/48lixZgkWLFkmvGzt2LDp27IjPP/8cPXr0wObNm/H7779j9erVAACZTIZx48bho48+Qt26daWyF76+vujTpw8AoGHDhujWrRveeOMNrFq1Cjk5OYiOjsbAgQPh6+urd1/MVf5gy8cH+P+YloiIyKxVioBMH3K5HAcOHMDo0aPRokULuLu7Y8aMGRplJtq2bYtNmzZh2rRp+OCDD1C3bl18//33Ug0yIK/O2cOHDxEVFYX09HS88MIL2L9/v1SDDMgrsREdHY2XXnoJFhYW6Nu3L5YuXWpQXyorfacTOe1IRESkP5kQQpi6E6RdRkYG5HI5lEolnJ2dTd0dSWpqapF1xjjtSERE5qwkv7+rzAgZlR8GW0RERMbFgIxKjCNlRERExsGAjAyiDsKUSiW2bNlSbHtuEk5ERFQ8BmSkN303Fs9P370viYiIzFml2DqJKgYGV0RERGWDARkRERGRiTEgI8nNm8Dhw3k/iYiIqPwwICMAwJo1QK1awIsv5v1cs8bUPSIiIjIfTOo3E0WVqLh1ywJRUZ5QqWQAAJUKePNNICwM+P+dqbRSKp2QluYGV9dUaWNwIiIiMhwDMjNQ3OrIpKQAqFQRGsdyc4HLl3UHZKdONceuXT0hhAVkMhV69dqNkJDTxuw2ERGR2eCUpRkobnWkq2sqZDKVxjFLS6BOHe3tlUonKRgDACEssGtXTyiVToXack9LIiKi4nGEjCCXZ6JXr93Ys6cXcnNlsLQEvvyy8OiYOrhKS3OTgjE1ISyQluYKuTwT/fv3h4uLCyv1ExER6Ymbi1dgxtpcPDk5GatXry62Xc+ebyEz0wt16uieqkxNTcXVq0/x/PPPcs4AwNJSICHhDgICrBiEERGRWePm4lQqNjZ3UL9+3tRlcrL6mOYol5ubG9zcgNWr8xL/c3Pzpjc/+USGjAwvPH5sip4TERFVbgzISBITE6P1uLb9KCMj81ZhXr4M/P47MGlS3upMC4u8YC0ysjx6TEREVDUwIKNi6VoUoJ7WfOmlvGAM0L9kBhERET3DVZYEpdIJSUkBWldJFufSpWfBmJq6ZAYRERHphyNkZqCo0hOlrSdWt27eNGX+oKyokhlERERUGAMyM+Dm5obo6Ghp6vHevXuIiYnRWU8sKOiy3pX3/fwKJ/hrK5lBREREujEgMxPaSlEUV09MX/kT/IsqmUFERETaMSAzY+oK/fmDMplMBVfXNIOv5efHQIyIiKikmNRvxtQV+tXbJqlzyLhROBERUfniCJmZCwk5jaCgy0hLc4Wra5rWYIz7URIREZUtBmQEuTxTayAWHh4OX19fboVERERUxjhlSTq5u7szGCMiIioHDMjMkL5TkJyqJCIiKh+csjRDBeuSaVNwU3EiIiIqOwzIzBSDLSIiooqDU5ZEREREJsaAjIiIiMjEGJARERERmRgDMiIiIiITY0BGREREZGIMyIiIiIhMjAEZERERkYkxICMiIiIyMQZkRERERCbGSv0VmBACAJCRkWHinhAREZG+1L+31b/H9cGArALLzMwEAPj7+5u4J0RERGSozMxMyOVyvdrKhCHhG5UrlUqFW7duwcnJCTKZrMTXycjIgL+/P27cuAFnZ2cj9rBy4X3Iw/uQh/chD+/DM7wXeXgf8pTmPgghkJmZCV9fX1hY6JcdxhGyCszCwgJ+fn5Gu56zs7NZ/+VS433Iw/uQh/chD+/DM7wXeXgf8pT0Pug7MqbGpH4iIiIiE2NARkRERGRiDMjMgK2tLWbOnAlbW1tTd8WkeB/y8D7k4X3Iw/vwDO9FHt6HPOV9H5jUT0RERGRiHCEjIiIiMjEGZEREREQmxoCMiIiIyMQYkBERERGZGAOySmrlypV47rnnpIJ1CoUC+/btk84/efIEo0ePhpubG6pVq4a+ffvi9u3bGte4fv06evToAQcHB3h6emLixIl4+vRpeX8Uo5o3bx5kMhnGjRsnHTOHezFr1izIZDKNR4MGDaTz5nAP1P79918MGTIEbm5usLe3R5MmTfD7779L54UQmDFjBnx8fGBvb4/Q0FBcunRJ4xppaWkYPHgwnJ2d4eLigsjISDx48KC8P0qJBQQEFPo+yGQyjB49GoD5fB9yc3Mxffp0BAYGwt7eHkFBQZgzZ47G/oLm8H0A8rbwGTduHGrVqgV7e3u0bdsWJ06ckM5X1fvw888/o1evXvD19YVMJsP333+vcd5Yn/vcuXNo37497Ozs4O/vjwULFhjeWUGV0s6dO8WePXvE33//LS5evCg++OADYW1tLc6fPy+EEOKtt94S/v7+Ii4uTvz++++iTZs2om3bttLrnz59KoKDg0VoaKg4ffq02Lt3r3B3dxdTpkwx1Ucqtd9++00EBASI5557TowdO1Y6bg73YubMmaJx48YiOTlZety9e1c6bw73QAgh0tLSRK1atcSwYcNEQkKC+Oeff8SPP/4oLl++LLWZN2+ekMvl4vvvvxdnz54VvXv3FoGBgeLx48dSm27duommTZuK48ePi19++UXUqVNHDBo0yBQfqUTu3Lmj8V2IjY0VAMThw4eFEObzfZg7d65wc3MTu3fvFklJSWLbtm2iWrVqYsmSJVIbc/g+CCFE//79RaNGjcSRI0fEpUuXxMyZM4Wzs7O4efOmEKLq3oe9e/eKqVOnipiYGAFAfPfddxrnjfG5lUql8PLyEoMHDxbnz58X3377rbC3txdffvmlQX1lQFaFVK9eXXz11VciPT1dWFtbi23btknnEhMTBQARHx8vhMj7klpYWIiUlBSpzcqVK4Wzs7PIysoq976XVmZmpqhbt66IjY0VHTt2lAIyc7kXM2fOFE2bNtV6zlzugRBCTJo0Sbzwwgs6z6tUKuHt7S0+/fRT6Vh6erqwtbUV3377rRBCiL/++ksAECdOnJDa7Nu3T8hkMvHvv/+WXefL0NixY0VQUJBQqVRm9X3o0aOHGDFihMax8PBwMXjwYCGE+XwfHj16JCwtLcXu3bs1joeEhIipU6eazX0oGJAZ63OvWLFCVK9eXePvxqRJk0T9+vUN6h+nLKuA3NxcbN68GQ8fPoRCocDJkyeRk5OD0NBQqU2DBg1Qs2ZNxMfHAwDi4+PRpEkTeHl5SW3CwsKQkZGBP//8s9w/Q2mNHj0aPXr00PjMAMzqXly6dAm+vr6oXbs2Bg8ejOvXrwMwr3uwc+dOtGzZEq+++io8PT3RvHlz/Pe//5XOJyUlISUlReNeyOVytG7dWuNeuLi4oGXLllKb0NBQWFhYICEhofw+jJFkZ2fjm2++wYgRIyCTyczq+9C2bVvExcXh77//BgCcPXsWv/76K7p37w7AfL4PT58+RW5uLuzs7DSO29vb49dffzWb+1CQsT53fHw8OnToABsbG6lNWFgYLl68iPv37+vdH24uXon98ccfUCgUePLkCapVq4bvvvsOjRo1wpkzZ2BjYwMXFxeN9l5eXkhJSQEApKSkaPzPVn1efa4y2bx5M06dOqWRD6GWkpJiFveidevWWL9+PerXr4/k5GTMnj0b7du3x/nz583mHgDAP//8g5UrV2L8+PH44IMPcOLECYwZMwY2NjaIiIiQPou2z5r/Xnh6emqct7Kygqura6W6F2rff/890tPTMWzYMADm83cCACZPnoyMjAw0aNAAlpaWyM3Nxdy5czF48GAAMJvvg5OTExQKBebMmYOGDRvCy8sL3377LeLj41GnTh2zuQ8FGetzp6SkIDAwsNA11OeqV6+uV38YkFVi9evXx5kzZ6BUKrF9+3ZERETgyJEjpu5Wubpx4wbGjh2L2NjYQv/6Myfqf/EDwHPPPYfWrVujVq1a2Lp1K+zt7U3Ys/KlUqnQsmVLfPzxxwCA5s2b4/z581i1ahUiIiJM3DvTWLNmDbp37w5fX19Td6Xcbd26FRs3bsSmTZvQuHFjnDlzBuPGjYOvr6/ZfR++/vprjBgxAjVq1IClpSVCQkIwaNAgnDx50tRdo//HKctKzMbGBnXq1EGLFi3wySefoGnTpliyZAm8vb2RnZ2N9PR0jfa3b9+Gt7c3AMDb27vQqir1c3WbyuDkyZO4c+cOQkJCYGVlBSsrKxw5cgRLly6FlZUVvLy8zOZe5Ofi4oJ69erh8uXLZvV98PHxQaNGjTSONWzYUJq+VX8WbZ81/724c+eOxvmnT58iLS2tUt0LALh27RoOHjyIkSNHSsfM6fswceJETJ48GQMHDkSTJk0wdOhQvPvuu/jkk08AmNf3ISgoCEeOHMGDBw9w48YN/Pbbb8jJyUHt2rXN6j7kZ6zPbay/LwzIqhCVSoWsrCy0aNEC1tbWiIuLk85dvHgR169fh0KhAAAoFAr88ccfGl+02NhYODs7F/qFVpG99NJL+OOPP3DmzBnp0bJlSwwePFj6s7nci/wePHiAK1euwMfHx6y+D+3atcPFixc1jv3999+oVasWACAwMBDe3t4a9yIjIwMJCQka9yI9PV1j5ODQoUNQqVRo3bp1OXwK41m3bh08PT3Ro0cP6Zg5fR8ePXoECwvNX3OWlpZQqVQAzO/7AACOjo7w8fHB/fv38eOPP+KVV14xy/sAGO+/v0KhwM8//4ycnBypTWxsLOrXr6/3dCUAlr2orCZPniyOHDkikpKSxLlz58TkyZOFTCYTBw4cEELkLWuvWbOmOHTokPj999+FQqEQCoVCer16WXvXrl3FmTNnxP79+4WHh0elW9auTf5VlkKYx72YMGGC+Omnn0RSUpI4evSoCA0NFe7u7uLOnTtCCPO4B0LklT6xsrISc+fOFZcuXRIbN24UDg4O4ptvvpHazJs3T7i4uIgffvhBnDt3Trzyyital7k3b95cJCQkiF9//VXUrVu3wi/vLyg3N1fUrFlTTJo0qdA5c/k+REREiBo1akhlL2JiYoS7u7t4//33pTbm8n3Yv3+/2Ldvn/jnn3/EgQMHRNOmTUXr1q1Fdna2EKLq3ofMzExx+vRpcfr0aQFALFy4UJw+fVpcu3ZNCGGcz52eni68vLzE0KFDxfnz58XmzZuFg4MDy16YixEjRohatWoJGxsb4eHhIV566SUpGBNCiMePH4u3335bVK9eXTg4OIj//Oc/Ijk5WeMaV69eFd27dxf29vbC3d1dTJgwQeTk5JT3RzG6ggGZOdyLAQMGCB8fH2FjYyNq1KghBgwYoFF7yxzugdquXbtEcHCwsLW1FQ0aNBCrV6/WOK9SqcT06dOFl5eXsLW1FS+99JK4ePGiRpvU1FQxaNAgUa1aNeHs7CyGDx8uMjMzy/NjlNqPP/4oABT6bEKYz/chIyNDjB07VtSsWVPY2dmJ2rVri6lTp2qUJzCX78OWLVtE7dq1hY2NjfD29hajR48W6enp0vmqeh8OHz4sABR6RERECCGM97nPnj0rXnjhBWFraytq1Kgh5s2bZ3BfZULkK1lMREREROWOOWREREREJsaAjIiIiMjEGJARERERmRgDMiIiIiITY0BGREREZGIMyIiIiIhMjAEZERERkYkxICMiIiIyMQZkRFTmUlJS8M4776B27dqwtbWFv78/evXqpbGH3LFjx/Dyyy+jevXqsLOzQ5MmTbBw4ULk5uZKba5evYrIyEgEBgbC3t4eQUFBmDlzJrKzszXe77///S+aNm2KatWqwcXFBc2bN5c2lAaAWbNmQSaToVu3boX6+umnn0Imk6FTp07Ffq6AgADIZDKdj2HDhhl+syq4Tp06Ydy4cabuBlGVY2XqDhBR1Xb16lW0a9cOLi4u+PTTT9GkSRPk5OTgxx9/xOjRo3HhwgV899136N+/P4YPH47Dhw/DxcUFBw8exPvvv4/4+Hhs3boVMpkMFy5cgEqlwpdffok6derg/PnzeOONN/Dw4UN89tlnAIC1a9di3LhxWLp0KTp27IisrCycO3cO58+f1+iXj48PDh8+jJs3b8LPz086vnbtWtSsWVOvz3bixAkpYDx27Bj69u2LixcvwtnZGQBgb29vjFtYLnJycmBtbV1u75ednQ0bG5tyez+iCq+E20MREemle/fuokaNGuLBgweFzt2/f188ePBAuLm5ifDw8ELnd+7cKQCIzZs367z+ggULRGBgoPT8lVdeEcOGDSuyTzNnzhRNmzYVPXv2FB999JF0/OjRo8Ld3V2MGjVKdOzYUY9P94x6z7z79+9Lx77//nvRvHlzYWtrKwIDA8WsWbM09oMEIFatWiV69Ogh7O3tRYMGDcSxY8fEpUuXRMeOHYWDg4NQKBQa+5Kq+75q1Srh5+cn7O3txauvvqqxL6EQQvz3v/8VDRo0ELa2tqJ+/fpi+fLl0rmkpCTpvnbo0EHY2tqKdevWiXv37omBAwcKX19fYW9vL4KDg8WmTZuk10VERBTaEzApKUmsW7dOyOVyjff/7rvvRP5fMep+//e//xUBAQFCJpMJIfK+A5GRkcLd3V04OTmJzp07izNnzhh074mqAk5ZElGZSUtLw/79+zF69Gg4OjoWOu/i4oIDBw4gNTUV7733XqHzvXr1Qr169fDtt9/qfA+lUglXV1fpube3N44fP45r164V278RI0Zg/fr10vO1a9di8ODBRhm5+eWXX/D6669j7Nix+Ouvv/Dll19i/fr1mDt3rka7OXPm4PXXX8eZM2fQoEEDvPbaa3jzzTcxZcoU/P777xBCIDo6WuM1ly9fxtatW7Fr1y7s378fp0+fxttvvy2d37hxI2bMmIG5c+ciMTERH3/8MaZPn44NGzZoXGfy5MkYO3YsEhMTERYWhidPnqBFixbYs2cPzp8/j6ioKAwdOhS//fYbAGDJkiVQKBR44403kJycjOTkZPj7++t9Ty5fvowdO3YgJiYGZ86cAQC8+uqruHPnDvbt24eTJ08iJCQEL730EtLS0gy53USVn6kjQiKquhISEgQAERMTo7PNvHnzCo0s5de7d2/RsGFDrecuXboknJ2dxerVq6Vjt27dEm3atBEARL169URERITYsmWLyM3NldqoR2uys7OFp6enOHLkiHjw4IFwcnISZ8+eFWPHji31CNlLL70kPv74Y402X3/9tfDx8ZGeAxDTpk2TnsfHxwsAYs2aNdKxb7/9VtjZ2Wn03dLSUty8eVM6tm/fPmFhYSGSk5OFEEIEBQVpjGwJIcScOXOEQqEQQjwbIVu8eHGxn6tHjx5iwoQJ0vOOHTuKsWPHarTRd4TM2tpa3LlzRzr2yy+/CGdnZ/HkyRON1wYFBYkvv/yy2L4RVSXMISOiMiOEKJO2APDvv/+iW7duePXVV/HGG29Ix318fBAfH4/z58/j559/xrFjxxAREYGvvvoK+/fvh4XFs4kBa2trDBkyBOvWrcM///yDevXq4bnnnjOoH7qcPXsWR48e1RgRy83NxZMnT/Do0SM4ODgAgMb7eXl5AQCaNGmicezJkyfIyMiQctNq1qyJGjVqSG0UCgVUKhUuXrwIJycnXLlyBZGRkRr35enTp5DL5Rp9bNmypcbz3NxcfPzxx9i6dSv+/fdfZGdnIysrS+pradWqVQseHh7S87Nnz+LBgwdwc3PTaPf48WNcuXLFKO9JVFkwICOiMlO3bl0pGV+XevXqAQASExPRtm3bQucTExPRqFEjjWO3bt1C586d0bZtW6xevVrrdYODgxEcHIy3334bb731Ftq3b48jR46gc+fOGu1GjBiB1q1b4/z58xgxYoShH1GnBw8eYPbs2QgPDy90zs7OTvpz/kR6mUym85hKpdL7fYG8laatW7fWOGdpaanxvOA08qeffoolS5Zg8eLFaNKkCRwdHTFu3LhCq1gLsrCwKBRQ5+TkFGpX8P0ePHgAHx8f/PTTT4Xauri4FPmeRFUNAzIiKjOurq4ICwvD8uXLMWbMmEK/kNPT09G1a1e4urri888/LxSQ7dy5E5cuXcKcOXOkY//++y86d+6MFi1aYN26dRojXrqoA7qHDx8WOte4cWM0btwY586dw2uvvVaSj6lVSEgILl68iDp16hjtmmrXr1/HrVu34OvrCwA4fvw4LCwsUL9+fXh5ecHX1xf//PMPBg8ebNB1jx49ildeeQVDhgwBkBcE/v333xoBsY2NjUYpEgDw8PBAZmYmHj58KP03VueIFSUkJAQpKSmwsrJCQECAQX0lqmoYkBFRmVq+fDnatWuH559/Hh9++CGee+45PH36FLGxsVi5ciUSExPx5ZdfYuDAgYiKikJ0dDScnZ0RFxeHiRMnol+/fujfvz+AvGCsU6dOqFWrFj777DPcvXtXeh9vb28AwKhRo+Dr64sXX3wRfn5+SE5OxkcffQQPDw8oFAqtfTx06BBycnKMOiozY8YM9OzZEzVr1kS/fv1gYWGBs2fP4vz58/joo49KdW07OztERETgs88+Q0ZGBsaMGYP+/ftL92D27NkYM2YM5HI5unXrhqysLPz++++4f/8+xo8fr/O6devWxfbt23Hs2DFUr14dCxcuxO3btzUCsoCAACQkJODq1auoVq0aXF1d0bp1azg4OOCDDz7AmDFjkJCQoLFYQpfQ0FAoFAr06dMHCxYsQL169XDr1i3s2bMH//nPfwpNqRJVZVxlSURlqnbt2jh16hQ6d+6MCRMmIDg4GF26dEFcXBxWrlwJAOjXrx8OHz6M69evo3379qhfvz4WLVqEqVOnYvPmzdK0XWxsLC5fvoy4uDj4+fnBx8dHeqiFhobi+PHjePXVV1GvXj307dsXdnZ2iIuLK5SrpObo6Gj0KbKwsDDs3r0bBw4cQKtWrdCmTRssWrQItWrVKvW169Spg/DwcLz88svo2rUrnnvuOaxYsUI6P3LkSHz11VdYt24dmjRpgo4dO2L9+vUIDAws8rrTpk1DSEgIwsLC0KlTJ3h7e6NPnz4abd577z1YWlqiUaNG8PDwwPXr1+Hq6opvvvkGe/fuRZMmTfDtt99i1qxZxX4OmUyGvXv3okOHDhg+fDjq1auHgQMH4tq1a1I+HZG5kAlDM2mJiMhkZs2ahe+//16vKUEiqjw4QkZERERkYgzIiIiKUK1aNZ2PX375xdTdI6IqglOWRERFuHz5ss5zNWrUqFT7VRJRxcWAjIiIiMjEOGVJREREZGIMyIiIiIhMjAEZERERkYkxICMiIiIyMQZkRERERCbGgIyIiIjIxBiQEREREZkYAzIiIiIiE/s/cQ2omzjrMrQAAAAASUVORK5CYII=", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.2 Training Surrogate with ALAMO\n", + "\n", + "IDAES provides a Python wrapper for the ALAMO machine learning tool via an imported AlamoTrainer class. Regression settings can be directly set as config attributes, as shown below. In this example, allowed basis terms include constant and linear functions, monomial power order 2 and 3, variable product power order 1 and 2, and variable ratio power order 1 and 2. ALAMO seeks to minimize the number of basis terms; here, we restrict each surrogate expression to a maximum of 10 basis terms.\n", + "\n", + "Finally, after training the model we save the results and model expressions to a JSON file. Serializing the model in this fashion enables importing a previously trained set of surrogate models into external flowsheets. This feature will be used later." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# Create ALAMO trainer object\n", + "has_alamo = alamo.available()\n", + "if has_alamo:\n", + " trainer = AlamoTrainer(\n", + " input_labels=input_labels,\n", + " output_labels=output_labels,\n", + " training_dataframe=data_training,\n", + " )\n", + "\n", + " # Set ALAMO options\n", + " trainer.config.constant = True\n", + " trainer.config.linfcns = True\n", + " trainer.config.multi2power = [1, 2]\n", + " trainer.config.monomialpower = [2, 3]\n", + " trainer.config.ratiopower = [1]\n", + " trainer.config.maxterms = [10] * len(output_labels) # max terms for each surrogate\n", + " trainer.config.filename = os.path.join(os.getcwd(), \"alamo_run.alm\")\n", + " trainer.config.overwrite_files = True\n", + "\n", + " # Train surrogate (calls ALAMO through IDAES ALAMOPy wrapper)\n", + " success, alm_surr, msg = trainer.train_surrogate()\n", + "\n", + " # save model to JSON\n", + " model = alm_surr.save_to_file(\"alamo_surrogate.json\", overwrite=True)\n", + "\n", + " # create callable surrogate object\n", + " surrogate_expressions = trainer._results[\"Model\"]\n", + " input_labels = trainer._input_labels\n", + " output_labels = trainer._output_labels\n", + " xmin, xmax = [7, 306], [40, 1000]\n", + " input_bounds = {\n", + " input_labels[i]: (xmin[i], xmax[i]) for i in range(len(input_labels))\n", + " }\n", + "\n", + " alm_surr = AlamoSurrogate(\n", + " surrogate_expressions, input_labels, output_labels, input_bounds\n", + " )\n", + "else:\n", + " print(\"Alamo not found.\")" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkEAAAHHCAYAAAC4BYz1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB0gUlEQVR4nO3dd3iTVfsH8G86aaFN96KlLWXJpkWhKFOkIENelCGgBYpFBAFBlmwRWcpwgSjrRVBQqj/AwRYRCiLTKiBgCxRaRkpThnTl/P7Im9C0zWqTZn0/19ULkufJk5PHam7Puc99S4QQAkREREQOxsnSAyAiIiKyBAZBRERE5JAYBBEREZFDYhBEREREDolBEBERETkkBkFERETkkBgEERERkUNiEEREREQOiUEQEREROSQGQUREVmjdunWQSCTIyMiw9FCI7BaDICIHdezYMYwePRqNGjVC9erVUatWLfTr1w9///13mXM7dOgAiUQCiUQCJycneHt7o379+njppZewe/duo953+/btaN++PYKCguDp6YnatWujX79++Omnn0z10cp499138d1335V5/vDhw5g9ezZyc3PN9t6lzZ49W30vJRIJPD090bBhQ0yfPh15eXkmeY9NmzZh2bJlJrkWkT1jEETkoBYuXIitW7fi6aefxvLly5GcnIxffvkFsbGxSEtLK3N+eHg4NmzYgP/+979YvHgxevXqhcOHD6NLly7o378/CgsL9b7ne++9h169ekEikWDq1KlYunQpnn/+eVy4cAFfffWVOT4mAN1B0Jw5c6o0CFJZsWIFNmzYgCVLlqBBgwaYN28eunbtClO0c2QQRGQYF0sPgIgsY/z48di0aRPc3NzUz/Xv3x9NmjTBggUL8MUXX2icL5VKMXjwYI3nFixYgDFjxuCTTz5BVFQUFi5cqPX9ioqKMHfuXDzzzDPYtWtXmeM3b96s5CeyHg8ePICnp6fOc1544QUEBAQAAF599VU8//zzSElJwZEjRxAfH18VwyRyeJwJInJQbdq00QiAAKBu3bpo1KgRzp49a9A1nJ2d8cEHH6Bhw4b46KOPIJfLtZ57+/Zt5OXl4cknnyz3eFBQkMbjhw8fYvbs2ahXrx6qVauG0NBQ9OnTB5cuXVKf895776FNmzbw9/eHh4cH4uLi8M0332hcRyKR4P79+1i/fr16CWrIkCGYPXs2Jk6cCACIjo5WHyuZg/PFF18gLi4OHh4e8PPzw4ABA3D16lWN63fo0AGNGzfG8ePH0a5dO3h6euKtt94y6P6V1KlTJwBAenq6zvM++eQTNGrUCO7u7ggLC8OoUaM0ZrI6dOiA77//HpcvX1Z/pqioKKPHQ+QIOBNERGpCCNy4cQONGjUy+DXOzs548cUXMWPGDPz666/o3r17uecFBQXBw8MD27dvx+uvvw4/Pz+t1ywuLkaPHj2wd+9eDBgwAGPHjsXdu3exe/dupKWlISYmBgCwfPly9OrVC4MGDUJBQQG++uor9O3bFzt27FCPY8OGDRg+fDieeOIJJCcnAwBiYmJQvXp1/P333/jyyy+xdOlS9axMYGAgAGDevHmYMWMG+vXrh+HDh+PWrVv48MMP0a5dO5w8eRI+Pj7q8cpkMnTr1g0DBgzA4MGDERwcbPD9U1EFd/7+/lrPmT17NubMmYPOnTtj5MiROH/+PFasWIFjx47h0KFDcHV1xbRp0yCXy5GZmYmlS5cCAGrUqGH0eIgcgiAi+p8NGzYIAGL16tUaz7dv3140atRI6+u+/fZbAUAsX75c5/VnzpwpAIjq1auLbt26iXnz5onjx4+XOW/NmjUCgFiyZEmZYwqFQv33Bw8eaBwrKCgQjRs3Fp06ddJ4vnr16iIxMbHMtRYvXiwAiPT0dI3nMzIyhLOzs5g3b57G83/88YdwcXHReL59+/YCgFi5cqXWz13SrFmzBABx/vx5cevWLZGeni4+/fRT4e7uLoKDg8X9+/eFEEKsXbtWY2w3b94Ubm5uokuXLqK4uFh9vY8++kgAEGvWrFE/1717dxEZGWnQeIgcGZfDiAgAcO7cOYwaNQrx8fFITEw06rWqmYa7d+/qPG/OnDnYtGkTWrRogZ07d2LatGmIi4tDbGysxhLc1q1bERAQgNdff73MNSQSifrvHh4e6r/fuXMHcrkcbdu2xYkTJ4waf2kpKSlQKBTo168fbt++rf4JCQlB3bp1sX//fo3z3d3dMXToUKPeo379+ggMDER0dDRGjBiBOnXq4Pvvv9eaS7Rnzx4UFBRg3LhxcHJ69J/uV155Bd7e3vj++++N/6BEDo7LYUSE7OxsdO/eHVKpFN988w2cnZ2Nev29e/cAAF5eXnrPffHFF/Hiiy8iLy8PR48exbp167Bp0yb07NkTaWlpqFatGi5duoT69evDxUX3f6J27NiBd955B6dOnUJ+fr76+ZKBUkVcuHABQgjUrVu33OOurq4aj2vWrFkmv0qfrVu3wtvbG66urggPD1cv8Wlz+fJlAMrgqSQ3NzfUrl1bfZyIDMcgiMjByeVydOvWDbm5uTh48CDCwsKMvoZqS32dOnUMfo23tzeeeeYZPPPMM3B1dcX69etx9OhRtG/f3qDXHzx4EL169UK7du3wySefIDQ0FK6urli7di02bdpk9GcoSaFQQCKR4Mcffyw3ICydY1NyRspQ7dq1U+chEZFlMAgicmAPHz5Ez5498ffff2PPnj1o2LCh0dcoLi7Gpk2b4OnpiaeeeqpC42jZsiXWr1+PrKwsAMrE5aNHj6KwsLDMrIvK1q1bUa1aNezcuRPu7u7q59euXVvmXG0zQ9qej4mJgRAC0dHRqFevnrEfxywiIyMBAOfPn0ft2rXVzxcUFCA9PR2dO3dWP1fZmTAiR8GcICIHVVxcjP79+yM1NRVff/11hWrTFBcXY8yYMTh79izGjBkDb29vrec+ePAAqamp5R778ccfATxa6nn++edx+/ZtfPTRR2XOFf8rJujs7AyJRILi4mL1sYyMjHKLIlavXr3cgojVq1cHgDLH+vTpA2dnZ8yZM6dM8UIhBGQyWfkf0ow6d+4MNzc3fPDBBxpjWr16NeRyucauvOrVq+ssV0BESpwJInJQEyZMwLZt29CzZ0/k5OSUKY5YujCiXC5Xn/PgwQNcvHgRKSkpuHTpEgYMGIC5c+fqfL8HDx6gTZs2aN26Nbp27YqIiAjk5ubiu+++w8GDB9G7d2+0aNECAPDyyy/jv//9L8aPH4/ffvsNbdu2xf3797Fnzx689tpreO6559C9e3csWbIEXbt2xcCBA3Hz5k18/PHHqFOnDs6cOaPx3nFxcdizZw+WLFmCsLAwREdHo1WrVoiLiwMATJs2DQMGDICrqyt69uyJmJgYvPPOO5g6dSoyMjLQu3dveHl5IT09Hd9++y2Sk5Px5ptvVur+GyswMBBTp07FnDlz0LVrV/Tq1Qvnz5/HJ598gscff1zjn1dcXBw2b96M8ePH4/HHH0eNGjXQs2fPKh0vkU2w5NY0IrIc1dZubT+6zq1Ro4aoW7euGDx4sNi1a5dB71dYWCg+++wz0bt3bxEZGSnc3d2Fp6enaNGihVi8eLHIz8/XOP/Bgwdi2rRpIjo6Wri6uoqQkBDxwgsviEuXLqnPWb16tahbt65wd3cXDRo0EGvXrlVvQS/p3Llzol27dsLDw0MA0NguP3fuXFGzZk3h5ORUZrv81q1bxVNPPSWqV68uqlevLho0aCBGjRolzp8/r3FvdJUPKE01vlu3buk8r/QWeZWPPvpINGjQQLi6uorg4GAxcuRIcefOHY1z7t27JwYOHCh8fHwEAG6XJ9JCIoQJGtUQERER2RjmBBEREZFDYhBEREREDolBEBERETkkBkFERETkkBgEERERkUNiEEREREQOicUSS1EoFLh+/Tq8vLxYep6IiMhGCCFw9+5dhIWFwcnJsDkeBkGlXL9+HREREZYeBhEREVXA1atXER4ebtC5DIJK8fLyAqC8ibr6IBEREZH1yMvLQ0REhPp73BAMgkpRLYF5e3szCCIiIrIxxqSyMDGaiIiIHBKDICIiInJIDIKIiIjIITEnqAKKi4tRWFho6WHYLVdXVzg7O1t6GEREZOcYBBlBCIHs7Gzk5uZaeih2z8fHByEhIazVREREZsMgyAiqACgoKAienp78gjYDIQQePHiAmzdvAgBCQ0MtPCIiIrJXDIIMVFxcrA6A/P39LT0cu+bh4QEAuHnzJoKCgrg0RkREZsHEaAOpcoA8PT0tPBLHoLrPzL0iIiJzYRBkJC6BVQ3eZyIiMjcuhxEREVWQTCZDQUGB1uNubm5MobBiDIKIiIgqQCaT4aOPPtJ73ujRoxkIWSkuhzmAIUOGQCKRQCKRwNXVFcHBwXjmmWewZs0aKBQKg6+zbt06+Pj4mG+gREQ2RNcMUEXO00cmkyErK0vrj0wmM8n7OBLOBFUhS06bdu3aFWvXrkVxcTFu3LiBn376CWPHjsU333yDbdu2wcWFvwpERNaKs07mwW++KmLpX2B3d3eEhIQAAGrWrInY2Fi0bt0aTz/9NNatW4fhw4djyZIlWLt2Lf755x/4+fmhZ8+eWLRoEWrUqIGff/4ZQ4cOBfAoaXnWrFmYPXs2NmzYgOXLl+P8+fOoXr06OnXqhGXLliEoKMjkn4OIyBFV9ayTo+ByWBWxxl/gTp06oVmzZkhJSQEAODk54YMPPsCff/6J9evXY9++fZg0aRIAoE2bNli2bBm8vb3VU69vvvkmAOU29rlz5+L06dP47rvvkJGRgSFDhlTZ5yAicjRyuRfS06Mgl3uZ9Loll9yOH7+Bb76R4fjxG3a75MaZIAfXoEEDnDlzBgAwbtw49fNRUVF455138Oqrr+KTTz6Bm5sbpFIpJBKJekZJZdiwYeq/165dGx988AEef/xx3Lt3DzVq1KiSz0FE5ChOnGiB7dt7QAgnSCQK9Oy5A7GxJyt93ZIrFrrew56W3DgT5OCEEOrlrT179uDpp59GzZo14eXlhZdeegkymQwPHjzQeY3jx4+jZ8+eqFWrFry8vNC+fXsAwJUrV8w+fiIiRyKXe6mDEwAQwgnbt/cwyYyQaiVC33vY05IbgyAHd/bsWURHRyMjIwM9evRA06ZNsXXrVhw/fhwff/wxAN2/8Pfv30dCQgK8vb2xceNGHDt2DN9++63e1xERkfFycvzVwYmKEE7IyfEDANy+fbvSS1b63sOecDnMge3btw9//PEH3njjDRw/fhwKhQLvv/8+nJyUv/xbtmzRON/NzQ3FxcUaz507dw4ymQwLFixAREQEAOD333+vmg9ARGRBbm5uJj3PEH5+MkgkCo0gRSJRwM8vBwDUOZ6VWbLS9x72hEGQg8jPz0d2drbGFvn58+ejR48eePnll5GWlobCwkJ8+OGH6NmzJw4dOoSVK1dqXCMqKgr37t3D3r170axZM3h6eqJWrVpwc3PDhx9+iFdffRVpaWmYO3euhT4lEZF5lS510r9/f40ehy4uLhr11Exd+kQqvYuePXeUWK5SID4+tcx5lZmJL/0eqpwgqfRuJUZunRgEOYiffvoJoaGhcHFxga+vL5o1a4YPPvgAiYmJcHJyQrNmzbBkyRIsXLgQU6dORbt27TB//ny8/PLL6mu0adMGr776Kvr37w+ZTKbeIr9u3Tq89dZb+OCDDxAbG4v33nsPvXr1suCnJSIyPX2lTuRyL+Tk+GPChF5o0sTXpO9dcjYpNvYkYmIu4ujRVkhNjcfhw08iNTXeZAnSJd8jJ8cPfn45GgHQ7du31WOy9QRpiRBCWHoQ1iQvLw9SqRRyuRze3t7q5x8+fIj09HRER0ejWrVqRl/X0nWCbE1l7zcRkallZWVh1apV5R4ruZvKyUlg1SoJkpJM+/4ymQzXr19HSkoK5HIvLFs2rsyS1bhxyyCV3kVycjJCQ0ONur6uz6cK8Pz8lPlGqr+/8ko3+Pj4WEVApO37WxfOBFURf39/jB49mo32iIjsTOndVAqFBCNGAAkJQHi46d7H399f/R2iK3lZ37KVtu4Fqhme0koGeIACgASABBKJApcu2fbWeQZBVcjWfjmIiEi/8gKS4mLg4kXTBkElVTR52dBVCZXSAV7JTeWqrfMxMRchld41KA8pMxO4cAGoW9d898YY3CJPRERUAaqqza6u+ZBINJtROzsDdeqY771Vycuq9zU0ebl0oKKt8nTHjh0BlB/glWTM1vnVq4HISKBTJ+Wfq1cb9DKz4kwQERGRkUpXVG7a9AzOnGkKIZzg7Czw6acSs8906EpeNoSuqtC+vsrE7vJmnEoydOt8ZiaQnAwo/hcrKhQwy5KhsTgTREREZITyKiqfOdMUSUmfIzFxHY4evWnypGiV0jWHpNK7iI6+XCYA0lebyNDK06VnnACF0bNPMpkMR47I1AGQSnExcPSozKL9yDgTREREZARtScmFhW6Ijr6MsDCFlldWnq5NNnK5HIWFhXBxcUFBQQGysrI0jpcMjIxJrC4946R8vWGzT6ocJLncCxJJ2d1shw6tR1raXYslVTMIIiIiMoAqiNCXlGzKCtHlKS9YkMlk2Lx5s97X9u/fH4DxidVS6V2NgMfQpTdVsKavAKOl2iwxCCIiIjJAyVmYmjXzMHmyFMXFEjg7CyxcmIeBA1+0WKkTQ4MIVXVrfUGJi4vpw4PK5jCZA4MgIiIiA6kCnAkTgP79ldvg69SRIDzcB4CPJYemoWRxQ23Bhq6gxMfHRx3wyeVyg2aZDJkBKz2jZGk2FQT98ssvWLx4MY4fP46srCx8++236N27t/q4EAKzZs3CZ599htzcXDz55JNYsWIF6tata7lBO4Cff/4ZHTt2xJ07dzR65ugSFRWFcePGYdy4cWYdGxGRuYSHW0etm9J07foqPcOjLSgpOaMVGhpqt8V+bSoIun//Ppo1a4Zhw4ahT58+ZY4vWrQIH3zwAdavX4/o6GjMmDEDCQkJ+Ouvvxy69cKQIUOwfv16jBgxokxT1FGjRuGTTz5BYmIi1q1bZ5kBEhGRSWjb9aUqaFhyhkeb8gIaWwxwDGFTQVC3bt3QrVu3co8JIbBs2TJMnz4dzz33HADgv//9L4KDg/Hdd99hwIABVTlUqxMREYGvvvoKS5cuhYeHBwBlf65NmzahVq1aFh4dERGZgiG7vuw1oKkIu6kTlJ6ejuzsbHTu3Fn9nFQqRatWrZCamqr1dfn5+cjLy9P4sUexsbGIiIhASkqK+rmUlBTUqlULLVq0UD+Xn5+PMWPGICgoCNWqVcNTTz2FY8eOaVzrhx9+QL169eDh4YGOHTsiIyOjzPv9+uuvaNu2LTw8PBAREYExY8bg/v37Zvt8RET0aNdXSYYWNHREdhMEZWdnAwCCg4M1ng8ODlYfK8/8+fMhlUrVPxEREWYdp0pmJrB/v/LPqjJs2DCsXbtW/XjNmjUYOnSoxjmTJk3C1q1bsX79epw4cQJ16tRBQkICcnKU/wJdvXoVffr0Qc+ePXHq1CkMHz4cU6ZM0bjGpUuX0LVrVzz//PM4c+YMNm/ejF9//RWjR482/4ckInJgFW2nYS6Glgswd1kBbWxqOcwcpk6divHjx6sf5+XlmT0QWr36UflwJydg1SqYrbpoSYMHD8bUqVNx+fJlAMChQ4fw1Vdf4eeffwagzLlasWIF1q1bp152/Oyzz7B7926sXr0aEydOxIoVKxATE4P3338fAFC/fn388ccfWLhwofp95s+fj0GDBqmTnuvWrYsPPvgA7du3x4oVKxw6P4uIyBxKBhG6dn0ZEmyU7DJ//boT0tNdEB1dpC4CaUwStK7ijiXHZKklOrsJgkJCQgAAN27cQGhoqPr5GzduoHnz5lpf5+7uDnd3d3MPT82S/VMCAwPRvXt3rFu3DkIIdO/eHQEBAerjly5dQmFhIZ588kn1c66urnjiiSdw9uxZAMDZs2fRqlUrjevGx8drPD59+jTOnDmDjRs3qp8TQkChUCA9PR2PPfaYOT4eEZHDMlWwUbLLvK5dZsZUeLbmHCS7CYKio6MREhKCvXv3qoOevLw8HD16FCNHjrTs4Eq4cAHl9k+5eLFqtloOGzZMvSz18ccfm+U97t27hxEjRmDMmDFljjEJm4jIPEwRbKiCKH27zCxV4dnUbCoIunfvHi5evKh+nJ6ejlOnTsHPzw+1atXCuHHj8M4776Bu3brqLfJhYWEatYQsrW5d5RJYyUDI2RmoU6dq3r9r164oKCiARCJBQkKCxrGYmBi4ubnh0KFDiIyMBKCsLnrs2DH10tZjjz2Gbdu2abzuyJEjGo9jY2Px119/oU5VfSgiIjIpY3qL2TKbCoJ+//13dOzYUf1YlcujqnEzadIk3L9/H8nJycjNzcVTTz2Fn376yapyUMLDlTlAI0YoZ4CcnYFPP626glvOzs7qpS1nZ2eNY9WrV8fIkSMxceJEdWC5aNEiPHjwAEn/S1p69dVX8f7772PixIkYPnw4jh8/Xqa+0OTJk9G6dWuMHj0aw4cPR/Xq1fHXX39h9+7d6mlWIiJbUDI/pjxVnc9i6vGUzv85depfyOVeRvcWs1U2FQR16NABQgitxyUSCd5++228/fbbVTgq4yUlKXOAlOXWq77iqLe3t9ZjCxYsgEKhwEsvvYS7d++iZcuW2LlzJ3x9fQEol7O2bt2KN954Ax9++CGeeOIJvPvuuxg2bJj6Gk2bNsWBAwcwbdo0tG3bFkIIxMTEqBv3ERHZgpL5MbpUVQd0U4+n/PyfYEgk49Cz5w6dvcXshUToiiocUF5eHqRSKeRyuUaw8PDhQ6SnpyM6OtqqZpbsFe83EVlaVlYWVq1apfe85ORkjQ051jqe0rNIt2/fRkpKCuRyLyxbNq7MrM+4ccsAoNxdZlX1mY2h7ftbF5uaCSIiIrIl5lxOM6RJqsqlS5fwxRdflHtMV/5PdPRlu5v9KYlBEBERkRmYczlN1/b18sZRMgCSy71w9aqyHl5ExFWHyf8pD4MgIiIiMzB0G7mx2831bV/Xdf0TJ1pg27aeACT/e0aBXr2Mz/+xVIVnU2MQREREZABjlp/MqaLb11XB06MACACcsG1bD7zxxjKMG7es3PyfPn36aBTWtWSFZ1NjEGQk5pFXDd5nIrImxiw/mVtFl6/KC56UdOf/BAQEWF0StKnYTQNVc3N1dQUAPHjwwMIjcQyq+6y670RElqJt+Uku9zL6OunpUUa/rrSKNkktr8O8kmPk/5SHM0EGcnZ2ho+PD27evAkA8PT0hEQi0fMqMpYQAg8ePMDNmzfh4+NTpqAjEVFVUeW96Ft+MiQ/xhQzSZVtkqoKnkoGdKqcIEfI/ykPgyAjqJq0qgIhMh8fHx/1/SYisgRVU9KMjCJs2CCgUDz6H19nZ4HXX++GqCgXvfkxxiYy6xtPZbbcq4Knq1eVVXojIjIdJv+nPAyCjCCRSBAaGoqgoCAUFhZaejh2y9XVlTNARGQV/P394e9fXrsjCeLigg26hin7cJkiIJFK70IqPVvusbCwMLsOekpjEFQBzs7O/JImInIgFWl3pFpG0pfIbO7lJkOvP3jwYIcKgAC2zSijImW3iYiIyqOqGL1pkwcmT5aiuFgCZ2eBhQvlGDjwX5MsNxlSlRrQXY/IHpa9KvL9zSCoFAZBRESPWFsXdVuWmWn6xtnW1uTVktg7jIiITIZfsKYVHm664EfFXFWpHQXrBBERUblKf3Fqq3PDL1iyVZwJIiIivaypYjKRqXAmiIiIdDJVxWQia8OZICIi0smUdW7sEZPHbReDICIi0klfnZvbt28DcMwve2tLHreWTve2gkEQERHpVLrnVOmGnSkpKepzHW2nmDXtzmLelvEYBBERkV66GnaWxJ1iVUtVCFFffzJ7boJaGQyCiIioXKW/OJU9p5TBjyWXXaw5B6eq74uqqer+/cDSpWXztp58MhEdOpim55g9YhBERETlKtm1/Pbt2+plL0suu1hbDk5Jlrov/v7+aN0acHICFIpHzzs7A61aKRvAUvm4RZ6IiLTy9/dHaGgoAgICAFh+u7w15eCUZOn7Eh6u7HSv6u2t7HRv+grV9oYzQURERsjMBC5cAOrWdcwvGHvcLm+K5TVruC8V6XTv6BgEEREZaPVqIDlZueTg5KT8P++kJEuPqmrp2y5fGYZ2QzclUy2vmfO+GMMc/cnsGYMgIiI9ZDIZMjKKkJwcBIVCAkAZCI0YIdC8+U1ERbk4TOKpvu3yFWVoMNK/f3+Nx5VNRK7s8poqMNN3X7g7yzoxCCIi0kH15ZyeHgWFIlHjWHGxBB9++COioy/bfX2ckl/iurbLV/TL3tBgpLCwUP13a6iLUzJ5HABmzryFjAwXREUVISzscQCPO2QRSVvBIIiISAfVl5u+5Q57r49T+su+PFX5Za+vLk5lrmvszFLJzxwaCsTFVfjtqYoxCCIiMoC5loFsiTXNZhibiKwt30jV8gOwjpklqlp2GQR9/PHHWLx4MbKzs9GsWTN8+OGHeOKJJyw9LCKycYZWTabK0zYj4+Ki/NrSNzNXclnOkHwjc80skXWzuyBo8+bNGD9+PFauXIlWrVph2bJlSEhIwPnz5xEUFGTp4RGRjStZNZnMQ9eMjI+Pj3pZrmbNPEyeLEVxsQTOzgILF+Zh4MAXyyzLGbJUaQ1b3Knq2V0QtGTJErzyyisYOnQoAGDlypX4/vvvsWbNGkyZMsXCoyMi0uSIdYfKW5pSLUsZMiOjCnAmTAD691fVxZEgPNwHgE+FxmQtW9ypatlVEFRQUIDjx49j6tSp6uecnJzQuXNnpKamWnBkRESPqIKATZs8MGmSFAqFBE5OAosWyTFw4L92vZtI39KUsTMyqro4MpkMWVnlz/iUzPsByl9q4xZ3x2RXQdDt27dRXFyM4OBgjeeDg4Nx7ty5cl+Tn5+P/Px89eO8vDyzjpGIHJsqCJDLvbBs2TgIoao7JMHEid64dm0NpNK7Nr/l3pBE5PIYk+tT8r0MqTEE6F5qe+edaG5xdzB2FQRVxPz58zFnzhxLD4OIKsGcS0qGzgAYep4qMNA342HLW+6NCUpKU83I7NjREwqF7lwfFUPvlb6ltoCAAISGBnOLuwOxqyAoICAAzs7OuHHjhsbzN27cQEhISLmvmTp1KsaPH69+nJeXh4iICLOOk4hMx9ytLMxVH8eec1CMCeDKW5qKjT2JmTNb4e7d4Ern+pTE5Gcqza6CIDc3N8TFxWHv3r3o3bs3AEChUGDv3r0YPXp0ua9xd3eHu7t7FY6SiEwlM/NRAASoWlkom0iackbIHEshrDuke2kqLEyB0NCKXVfb9np7DjypYuwqCAKA8ePHIzExES1btsQTTzyBZcuW4f79++rdYkRkPy5ceBQAqRQXK3cL2cJOK0epO1ReUGKuujy6AismP1NpdhcE9e/fH7du3cLMmTORnZ2N5s2b46effiqTLE1Etk0mk8HbuwhOTo+amgKAs7OAl9dNyGS20dTU3usOaQtKzLE0pS+w6tOnD5KTA5j8TGp2FwQBwOjRo7UufxGR7SuZeNujh+aXbPfuO7Bjh/L//G19h5Wt0xWUmGNpSl9gpUx8DmV/L1KzyyCIiOxbycRbXUtKtrzDyh7oCkqioy+bfGmKOT9kLAZBRGTzbGlJydRb7q2ZvqDEVHV5VPeKOT9kLAZBRERVyFxb7lW0FSkEgNzcXEgkEkilUpO/b+nrAPqDkrCwMPj7+1d6aar0PWXODxmKQRARURUz15dxZYoUqpgij8oSQUnJazHnhwzFIIiIyE6YIgfKVHlUDErIFjAIIiKyU9qKBuo6Vl5vLy4lkb1iEEREZId0FQ3UdSwlJaXc67HcANkjBkFEZHMcaYdVReiqzwNAZ0FBbTNEqmUyXYnXAGeNyLYwCCIim2PuHVZVyRxBha76PIBE67FLl+ponSFSjdWQxGvOGpGtYBBERFYjM1PZD6xuXf29v+zhS9ZcQYW++jzlHXN1LdDby6t0sKZv1ojI2jnpP4WIyPxWrwYiI4FOnZR/rl5t6RGZX3lBRXp6FORyL53n6aOqzyORKLvLlqzPo+1YYaG7jtmjsk6caIFly8Zh/fpELFs2DidOtDBqjETWgDNBRGRxmZlAcvKjjvAKBTBiBJCQYBvd4E1BV7KyoUrmQOlqJ1LeMbncy+CWE+bqAE9U1RgEEZHFXbjwKABSKS4GLl40PAgyZinN2pgqqNCXK1Vexejbt28jJSVFb3XnkszRAZ7IEhgEEZHF1a0LODlpBkLOzkCdOoa9fvXqRzNJTk7AqlVAUpJ5xmoOpggqDEmwfuyxx3ReQ9fsUUlsVEr2gkEQEVmUTCaDs3MBFi3ywOTJUhQXS+DsLLBwoRzOzv9CJtO+O0omkyEjowjJyUFQKCQAVEtpAs2b30RUlItNJFBXNqgonWCtLWG5vATr0mUEtDWjdXNzUwdZxswaEVkzBkFEZDGlv7zHjPFSz0Lcu3cXq1Ypny/vy1v12vT0KCgUiRrHiosl+PDDHxEdfdkmtmtXNqgoOQOkK7eovJkiY8oNZGVlqZ8zdNaIyJoxCCIiiyn9xattFqK8L2jVc/pmUWxlu7YpgoqK5hYZGiQaM2tEZAsYBBGRTTPl0kxVV0M2dVBh7oRleypSSQQwCCIiO2CKWZTK5NVUlKmDiqpIWGaAQ/aEQRAR2QVtsyiGqkxeTWWYIqiQy+UAlPegc+c92L27MwAmLBPpwyCIiKgEU9XsqaqlNZlMhs2bNwNQBm979jwKgDp33mN0wUUiR8IgiIjMwlaLF5qqZk9VLa2pAq3ygrc9ezqjceM0zgQRacEgiIhMzpaLF5oir8YSS2uGBG/ctUWkiQ1UiciktPUBy8wse66hX8rlnVeZ1+qiq/mosbQtrZVukFoZubm5AB4FbyWVDN769evHpGaiUjgTREQmZUwfsMrsjir52tzcXBQVFQEAsrNdcOWKO2rVykdEhAQFBQWQyWRGBQCmKgRo7i3rMpkMW7ZsAaC/VICPj0+l34/I3jAIIiKTkclk8PYugpPTozYWAODsLODldRMyWdk2FpWZnfD399cIBHQtPRmbf1PZ3WaA+beslw4eY2Iu4vnntwIQiIjIZC4QkR4MgojIJEomA/fooRmMdO++Azt2VCwY0UdXYnDJXV368m/MsbxWlT22dAWARFS+CgVB9+/fR/Xq1U09FiKyYSWDDF3LSeZqY1HZpSdzVUOuih5bptrWT+RoKhQEBQcHo1+/fhg2bBieeuopU4+JiOyAKZaTjGGKpSdzJQ6Xdy/kci8cOuSG1q0rX0KAO8OIKqZCu8O++OIL5OTkoFOnTqhXrx4WLFiA69evm3psREQGM+WursrSF3CcONECy5aNQ9++/oiMVJYUqAx9O8P69+/PnWFE5ajQTFDv3r3Ru3dv3Lp1Cxs2bMC6deswY8YMJCQkYNiwYejVqxdcXJhuRERVqyqWngyhbWlNLpfj6lWBt99uACGUiePKEgICzZvfRFRU2cRxQ+jLPZJKpZX/UER2qFJ1ggIDAzF+/HicOXMGS5YswZ49e/DCCy8gLCwMM2fOxIMHD0w1TsybNw9t2rSBp6en1q2eV65cQffu3eHp6YmgoCBMnDhRvW2WiByDVHoX0dGXLZ4L4+/vj9DQUPWPm5sbNm/ejI0bf9PYOQcAxcUSfPjhj/joo48gk8kq9H6xsScxbtwyJCauw7hxy5gUTWSASk3X3LhxA+vXr8e6detw+fJlvPDCC0hKSkJmZiYWLlyII0eOYNeuXSYZaEFBAfr27Yv4+HisLmfuuLi4GN27d0dISAgOHz6MrKwsvPzyy3B1dcW7775rkjEQke26ffs2ANP17DKWalZIX+6SMYnjpZfdtOVhMR+IqHwVCoJSUlKwdu1a7Ny5Ew0bNsRrr72GwYMHa8zQtGnTBo899pipxok5c+YAANatW1fu8V27duGvv/7Cnj17EBwcjObNm2Pu3LmYPHkyZs+ezf8IENkpXf9ul+zZlZKSon7e1Nv0jWHKbfPm2tFG5CgqFAQNHToUAwYMwKFDh/D444+Xe05YWBimTZtWqcEZIzU1FU2aNEFwcLD6uYSEBIwcORJ//vknWrRoUe7r8vPzkZ+fr36cl5dn9rES2SNztbHQp2QgcPv2bXWwU1U9uyrClLlLDHCIKq5CQVBWVhY8PT11nuPh4YFZs2ZVaFAVkZ2drREAAVA/zs7O1vq6+fPnq2eZiKjiLDkrUfqatlA3p6pLCBBRWRUKgjw9PVFcXIxvv/0WZ8+eBQA89thj6N27t1G7wqZMmYKFCxfqPOfs2bNo0KBBRYZpkKlTp2L8+PHqx3l5eYiIiDDb+xHZM2uZlTB3zy4isg8VCoL+/PNP9OzZEzdu3ED9+vUBAAsXLkRgYCC2b9+Oxo0bG3SdCRMmYMiQITrPqV27tkHXCgkJwW+//abx3I0bN9THtHF3d4e7u7tB70FEtsHcPbuIyD5UKAgaPnw4GjdujOPHj8PX1xcAcOfOHQwZMgTJyck4fPiwQdcJDAxEYGBgRYZQRnx8PObNm4ebN28iKCgIALB79254e3ujYcOGJnkPInuUmans/F63buUrF1uLquzZVZpMJlMvCV6/7oT0dBdERxfBze222d+biIxToSDo1KlT+P3339UBEAD4+vpi3rx5WhOlK+vKlSvIycnBlStXUFxcjFOnTgEA6tSpgxo1aqBLly5o2LAhXnrpJSxatAjZ2dmYPn06Ro0axZkeIi1WrwaSk5UF+5ycgFWrgKQkS49KqWQwUR59+UWWKJxYsols2cTso4iN1X8N7mQlqjoVCoLq1auHGzduoFGjRhrP37x5E3Xq1DHJwEqbOXMm1q9fr36s2u21f/9+dOjQAc7OztixYwdGjhyJ+Ph4VK9eHYmJiXj77bfNMh4iW5eZ+SgAAlSVi4GEBMvPCJUMJgDNre4lgxl9W92rOvnY0I72ffr0QUBAQJnXczs7UdWqUBA0f/58jBkzBrNnz0br1q0BAEeOHMHbb7+NhQsXamwz9/b2NslA161bp7VGkEpkZCR++OEHk7wfkT2TyWQ4cgRQKDS/cIuLgaNHZfDwsGySc8kZIGO2ultqm35p+hKzAwICEBoaatYxEJF+FQqCevToAQDo168fJBJl+XchBACgZ8+e6scSiQTFxcWmGCcRmYhqlkUu94JEMq5M8vChQ+uRlnbXogUFVYzd6m4txQOZmE1kGyoUBO3fv9/U4yCiKqIKEPQlD1u6oCCgf0bl+nUnnDunmdRt6cANsGxiNhEZrkJBUPv27U09DiKyAGvpuq6NrhmVEyda4O23g/6X1C2waJEcAwf+azV5NdZ+b4moEg1Uc3NzsXr1anWxxEaNGmHYsGGQSqUmGxwRmZ81Vy7WNqMC4H/PKZfjFQoJJk70xrVrayCVWsdSHmDd95aIKhgE/f7770hISICHhweeeOIJAMCSJUswb9487Nq1C7GG7AMlIjJAeTMq6elROpfJrGEpj4isX4WCoDfeeAO9evXCZ599pm6TUVRUhOHDh2PcuHH45ZdfTDpIInJspWdUrDXx2Fp2pxGRYSo8E1QyAAIAFxcXTJo0CS1btjTZ4IjIMekLEqw18dhadqcRkWEqFAR5e3vjypUrZRqbXr16FV5eXiYZGBE5Lm3BxO3bt5GSkgLAehOPGeAQ2Y4KBUH9+/dHUlIS3nvvPbRp0wYAcOjQIUycOBEvvviiSQdIRKZlK0s2hgQTTDwmosqoUBD03nvvQSKR4OWXX0ZRUREAwNXVFSNHjsSCBQtMOkAiMi0u2RARKRkdBBUXF+PIkSOYPXs25s+fj0uXLgEAYmJi4OnpafIBElkTe+m4zgCHiAhw0n+KJmdnZ3Tp0gW5ubnw9PREkyZN0KRJEwZAZPdWrwYiI4FOnZR/rl5d/nmZmcD+/co/ybRsZSmPiGxDhZbDGjdujH/++QfR0dGmHg+R1ZHJZMjIKEJychAUClVxPmDECIHmzW8iKspFPbOyevWjzuxOTsCqVUBSkiVHbz4ymazKl9S4lEdEpiQRqs6nRvjpp58wdepUzJ07F3FxcahevbrGcVN1jreEvLw8SKVSyOVym/4cZBqqZqPp6VFYvz6xzPHExHWIjr6M0aNH499//REZqQyAVJydgYwM2146K4/qvqjI5V7IyfGHn59MI1HZWio3E5H9q8j3d4Vmgp599lkAQK9evdRd5AF2jif7o5px0Fec7+bNm/jzT0Ch0PzCLy4Gjh6VwcPDvvJwbt26pf77iRMtytTriY09CUB7E1Z7ya0iItvGLvJEBtBXnG/Lli2Qy70gkYwrEygdOrQeaWnW08+qsmQyGTZv3gxAOQO0bVsPqNILhXDC9u09EBNzUevWdUdaMiQi61ahICg6OhoREREas0CAcibo6tWrJhkYkbXRV5xPX6BkL/2sSn6Oo0dbofT+ipI9vErLzHwUAAGq3CogIYEzQkRU9SocBGVlZSEoKEjj+ZycHERHR3M5jOyWvuJ81lrF2Bzkci+kpsaXc6T8Hl4ymQxHjjjOkiERWb8KBUGq3J/S7t27h2rVqlV6UES2zNJVjKtq11ZOjn+ZTu4A0KZNapnPr0qkdpQlQyKyDUYFQePHjwcASCQSzJgxQ6M2UHFxMY4ePYrmzZubdIBEZLjSu7a0qWiwIZPJcPv2bQCAq2s+AAVKLodJJAq0anW0zOtUQZmjLBkSkW0wKgg6eVK540MIgT/++EOjIJmbmxuaNWuGN99807QjJCKDlQ4itG1dr0iwUTLAUu0IUwZAAoDE4E7ujrRkSETWzaggSLUrbOjQoVi+fDnr6JDds+XKw7q2rleEKnCSy73U11VSBkBJSZ8jPDxL4zXa7p+llwyJiIAK5gStXbvW1OMgskqGVCiWy+XqLePWonSgYsjWdUOVlwskhBMKCzUDnn79+jG/h4isWoWCoPv372PBggXYu3cvbt68CUXJErkA/vnnH5MMjsga6Psit8Z+VtoCFW1b142hr3Ckimr3aGYmcOSIG+RyL87+EJFVqVAQNHz4cBw4cAAvvfQSQkNDy90pRuQorLGflaGBSkXoS27u06cPwsLC4O/vX6Iwoj8kknGVXpIjIjKlCgVBP/74I77//ns8+eSTph4PkU2ytmUffYFKZelKbg4ICIC/v3+ZwoimXJIjIjKFCgVBvr6+8PPzM/VYiMiEzL0LS19y84ULms1kAf1LcraciE5EtqdCQdDcuXMxc+ZMrF+/XqNWEBFZVukgQlugYkiwUZkmpzKZDN7eRXByCoJC8Wi53MlJYNCgVggPbwUfH58yY7K2GTUism8VCoLef/99XLp0CcHBwYiKioKrq6vG8RMnTphkcERknMrmJ6mqTW/a5IFJk6RQKCRwchJYtEiO7t3lBo3hwYMHWLVqFQCgRw/Nbfo9euzA4cPKnCBWhyYiS6tQENS7d28TD4OITKWigUXJ1hbLlo2DEMoZHIVCgokTvXHt2hpIpcqt76VncVTc3Nw0ArDY2JMICsrGlSu1UKvWFY06QqwOTUSWVqEgaNasWaYeh04ZGRmYO3cu9u3bh+zsbISFhWHw4MGYNm2axrT+mTNnMGrUKBw7dgyBgYF4/fXXMWnSpCodK5GtUgUl+rbX+/j4IDQ0VOt1srIeBTqmLthIRGRKZbsf6vDbb7/p7BCfn5+PLVu2VHpQpZ07dw4KhQKffvop/vzzTyxduhQrV67EW2+9pT4nLy8PXbp0QWRkJI4fP47Fixdj9uzZ6ml5IjKMant9SRXZXq+tYKNc7mWysRIRVYZRQVB8fDxkMpn6sbe3t0ZhxNzcXLz44oumG93/dO3aFWvXrkWXLl1Qu3Zt9OrVC2+++SZSUlLU52zcuBEFBQVYs2YNGjVqhAEDBmDMmDFYsmSJycdDZM9U2+tVgZCx2+vlcmXukK4ZpZLnERFZilHLYUIInY+1PWcOcrlcY5t+amoq2rVrp7E8lpCQgIULF+LOnTvw9fUt9zr5+fnIz89XP87LyzPfoInMRJXQrI2xO68qs72+sLAQgP6CjarziIgspUI5QbpURfXoixcv4sMPP8R7772nfi47OxvR0dEa5wUHB6uPaQuC5s+fjzlz5phvsERmVrK7O6C9c7yxu7Eq2+TU3AUbiYgqy+RBkDGmTJmChQsX6jzn7NmzaNCggfrxtWvX0LVrV/Tt2xevvPJKpccwdepUjB8/Xv04Ly8PERERlb4uUVUpOQOkKxHZEruxzF2wkYioMowOgv766y9kZ2cDUC59nTt3Dvfu3QMA3L5926hrTZgwAUOGDNF5Tu3atdV/v379Ojp27Ig2bdqUSXgOCQnBjRs3NJ5TPQ4JCdF6fXd3d7i7uxs1biJrZM7O8cZwcdH8z4q2GaXS5xERVTWj/yv09NNPa+T99OjRA4ByGUwIYdRyWGBgIAIDAw0699q1a+jYsSPi4uKwdu1aODlpJlzGx8dj2rRpKCwsVBdv3L17N+rXr691KYzInlS2c7yhLSv0naethlBFzyMiMhejgqD09HRzjUOna9euoUOHDoiMjMR7772HW7duqY+pZnkGDhyIOXPmICkpCZMnT0ZaWhqWL1+OpUuXWmTMZBqmTvi1Z5XtHF/ZatNERLbGqCAoMjLSqIu/9tprePvttxEQEGDU60rbvXs3Ll68iIsXLyK8VBMj1ayUVCrFrl27MGrUKMTFxSEgIAAzZ85EcnJypd6bLKd0wq82bL+gZIpEZN5HInIkZl2U/+KLL/Dmm29WOggaMmSI3twhAGjatCkOHjxYqfci62FoIq89t18wZCasJGtIRDbVshoRkbmZNQiqqppB5Bi0bf22V4bOhPXr10/jcWW3tlcWl9WIyFZwewbZBHvsQaVvlsfQisqGbkaoypkXBjhEZAsYBJHVs5at36Zk6CxPSdpmwqRSKWdeiIgqgEEQWb3Kbv22RsbmMembCWOAQ0RkPKMaqBJZgqm6mtsqdmMnIjIPswZBgwcPhre3tznfguyQTCZDVlaWugJ5Zbua2zp93diJiKhiKrQcplAoylRsVj2fmZmJWrVqAQBWrFhRudGRw9GWK6Nr67c9bLXWtfOtskUQiYiofEYFQXl5eRg+fDi2b98Ob29vjBgxArNmzYKzszMA4NatW4iOjkZxcbFZBkv2T1euTMmt33369EFAQIBVJvwaW9tHX74Pu7ETEZmHUUHQjBkzcPr0aWzYsAG5ubl45513cOLECaSkpKj/w87aQFQVAgICEBoaaulhlGHorq/+/fsDMHznm7aZMLncC0ePeqJlS6BUMXUiItLDqCDou+++w/r169GhQwcAQO/evdG9e3f07NkT27ZtA2B4zRIie2Torq/CwkIA+ne+9evXT2uj0U2bPPD221IsXSqBkxOwahWQlFSp4RMRORSjgqBbt25p9A8LCAjAnj17kJCQgGeffRaff/65yQdItseUTU/ttUq0i4vyXz19+T5BQUFl7pVMJkNGRhEmTZJCoVD+T4dCAYwYIdC8+U1ERbnA398fmZnAhQtA3bqcJSIiKo9RQVCtWrVw9uxZREdHq5/z8vLCrl270KVLF/znP/8x+QDJtpiy6ak9VolW8fHxURc4rFkzD5MnS1FcLIGzs8DChXkYOPDFcoNF1f1NT4+CQpGocay4WIIPP/wR0dGX4eycjFmzQqBQSODkJLBokRwDB/5rlTlURESWYtQW+S5dumDt2rVlnq9RowZ27tyJatWqmWxgZJtM1fTUXmrjyOVeSE+PKnfc/v7+CA0NxYQJPsjIkGD/fiAjQ4IJE3wQGhpabrCium+6aifJ5V6YOTO4xCyRBBMnemPx4i/x0UcfQSaTmeGTEhHZHqNmgubMmYPr16+Xe8zLywu7d+/GiRMnTDIwcmz2UCXamJms8HDjlqx07RhLT4/See+MrVZNRGSvjAqCfH194evrq/W4l5cX2rdvX+lBkeNS7TLUlytj7bWBqqLfmbYdY6wrRERkGKOLJRYVFWHp0qX48ssv8ffffwMA6tWrh4EDB2Ls2LFwdXU1+SDJcfj7+1coV8baVNVMVsnaSSWfY10hIiL9jAqC/v33XzzzzDNITU1F586d0a5dOwDA2bNnMXnyZGzbtg27du1ibhBViirAmTAB6N8fuHgRqFNHgvBwHwA+lhyaXtYyk6WrwjYRESkZFQQtWLAAV69excmTJ9G0aVONY6dPn0avXr2wYMECzJ4925RjJBtW2S3uxubKWFrJmSw/v2zMmhWq3qE1c+Z19OnzDFxdXVFQUACZTGbWGa3yZomIiOgRo4Kgr776CkuWLCkTAAFAs2bN8N5772HatGkMggiAfW9x18Xf3x8ymQzFxR9h7Fgv9WwMcBcpKZrnGlIqAIC65o+3t1l7HhMRORSj/ot6+fJlPPHEE1qPt27dGleuXKn0oMh2qZZ59G1xt/bE5spS7cCSSu8iOvoyAJS7VV7XTi2ZTIasrCy8/34uIiMFOnUCnngiCCdOtDDfwImIHIhRM0He3t64efMmIiIiyj2enZ0NLy/bquNCpqVaDtq/H1i6tGxi8JNPJqJDB1h9YrMpVWRGTFUUUS73wrJl4yDEo5o/JXeZlWyrkZubiy1btugdj70HoEREhjIqCOrYsSPeffddbN26tdzjCxYsQMeOHU0yMLJd/v7+aN0acHJStnNQcXYGWrXyhwPFPxXeKq+aIdK3y8zHx0fdSDY0NFSdj6SNLeysIyKqKkYFQbNmzUKrVq3QunVrjB8/Hg0aNIAQAmfPnsXSpUvx119/4ciRI+YaK9mQ8HBlQ88RI4DiYmUA9OmntpXkbAqV3SpvbM0fBjhERIYzKghq2LAhdu/ejaSkJAwYMEDdMV4IgQYNGmDXrl1o1KiRWQZKticpCUhIUG1xd7wACKh84ULW/CEiMh+jiyW2bt0af/75J06dOqVRLLF58+amHhvZAVvb4l4RMpmszBLU7du3AWgPYgBlovT1607432qWVqz5Q0RkHkYHQXl5eahRowaaN2+uEfgoFArcu3cP3t7ephwfkVVTJTDrUjqIuXSpzv+SnZ2wYYPAokW5eju8s+YPEZHpGbVF/ttvv0XLli3x8OHDMsf+/fdfPP7449i+fbvJBkdk7QxtRlpyq3zJRGl2eCcishyjgqAVK1Zg0qRJ8PT0LHOsevXqmDx5st7/KyayZ3K5V7n1gFS7JnUlSgOGB1VERFR5Ri2HpaWl4ZNPPtF6vF27dpg+fXqlB0Vki3TVA/L19QVgeKK0obV8WPOHiKjijAqC7ty5g6KiIq3HCwsLcefOnUoPisjWGFoPyNDdXiV7kGnDmj9ERJVjVBAUFRWF33//HQ0aNCj3+O+//47IyEiTDKy0Xr164dSpU7h58yZ8fX3RuXNnLFy4EGFhYepzzpw5g1GjRuHYsWMIDAzE66+/jkmTJpllPEQlGVMPyNDdXgxwiIjMy6icoD59+mDatGm4ceNGmWPZ2dmYPn06nn/+eZMNrqSOHTtiy5YtOH/+PLZu3YpLly7hhRdeUB/Py8tDly5dEBkZiePHj2Px4sWYPXs2Vq1aZZbxEJWkWuYqSVc9IFWiNHd8ERFZjlEzQVOmTMH//d//oW7duhg8eDDq168PADh37hw2btyIiIgITJkyxSwDfeONN9R/j4yMxJQpU9C7d28UFhbC1dUVGzduREFBAdasWQM3Nzc0atQIp06dwpIlS5CcnGyWMZH1K6+GT0mmWlJiUUMiIttjVBDk5eWFQ4cOYerUqdi8ebM6/8fHxweDBw/GvHnzqqSBak5ODjZu3Ig2bdrA1dUVAJCamop27dppJIomJCRg4cKFuHPnjjoxlRyHITV8AGD06NEVDoRK/r7pWuZycTG6JBcREZmZ0f9llkql+OSTT/Dxxx/j9u3bEEIgMDBQ3UKjpEOHDqFly5Zwd3c3yWBVW/AfPHiA1q1bY8eOHepj2dnZiI6O1jg/ODhYfUxbEJSfn4/8/Hz147y8PJOMlSzP0O3mldmWbmgCs6G424uIqOpU+H9PJRIJAgMDdZ7TrVs3nDp1CrVr1y73+JQpU7Bw4UKd1zh79qw6EXvixIlISkrC5cuXMWfOHLz88svYsWNHuQGYoebPn485c+ZU+PVEhs4icbcXEZF1MescvRBC5/EJEyZgyJAhOs8pGUAFBAQgICAA9erVw2OPPYaIiAgcOXIE8fHxCAkJKZOwrXocEhKi9fpTp07F+PHj1Y/z8vIQERGhc0zkGEydT8QAh4jIulg0USEwMFDvbJI2CoVyJ45qKSs+Ph7Tpk1TJ0oDwO7du1G/fn2d+UDu7u4mW64j+1EV+URERGRZRm2Rt5SjR4/io48+wqlTp3D58mXs27cPL774ImJiYhAfHw8AGDhwINzc3JCUlIQ///wTmzdvxvLlyzVmeYgMVXoGSFs7DLa5ICKyXTaxZcXT0xMpKSmYNWsW7t+/j9DQUHTt2hXTp09Xz+JIpVLs2rULo0aNQlxcHAICAjBz5kxuj6dK09UOg4iIbJdZg6DKJCyX1KRJE+zbt0/veU2bNsXBgwdN8p5EgOHtMIiIyPZYNDGabE9VFR+sqJLjy83N1Tgml3shJ8cffn4yjQBG17Z0Y9phEBGRbTFrEHT3Lr8k7Im1JwvrGl/JJS0nJ4FFi+QYOPBfvUGboV3fiYjI9hgVBHXq1Mmg8wxZuiLbUxXFBytD2/uWXtJSKCSYPNkH/fv7QF+spq8dxu3bty0++0VERBVjVBD0888/IzIyEt27d1dvQyeyduUtaRUXAxcvAuHh+l+vqx1GSkoKAG6VJyKyRUYFQQsXLsTatWvx9ddfY9CgQRg2bBgaN25srrERmUR5S1rOzkCdOtpfUzpPSCq9C6n0rnqrfOm8Im6VJyKyPUbVCZo4cSL++usvfPfdd7h79y6efPJJPPHEE1i5ciV7bpHVUi1pSSTKApvOzgKffqp7FkjVE6xPnz7q506caIFly8Zh/fpELFs2DidOtDD30ImIyIwqVCwxPj4en332GbKysjBq1CisWbMGYWFhDITIasXGnsS4ccuQmLgOR4/eRFKS/tf4+/sjICAAgPat8qWLJxIRke2o1O6wEydO4MCBAzh79iwaN27MPCGyaqolrbAwhdGv5VZ5IiL7Y/RM0PXr1/Huu++iXr16eOGFF+Dn54ejR4/iyJEj8PDwMMcYiSpEW6uLilDlFZXErfJERLbNqJmgZ599Fvv370eXLl2wePFidO/eHS4uNtF5g0xAV1HBipxnaiXfV1eri4qMT99WeSIisj0SYURZZycnJ4SGhiIoKEhnS4wTJ06YZHCWkJeXB6lUCrlcDm9vb0sPx+rYQsXojIwiPPFEEBSKR7+jzs4CR4/eRFSUi1Hjy8rKwqpVq9SPlVWny26VT05ORmhoqGk+BBERGa0i399GTePMmjWrQgMj+2HttXD8/f1x5gygKJX2U1wswd27wXqLI5ambau8vvOIiMj6GTUT5Ag4E2S4zEzgwgWgbl3Dig5WlT/+uIPmzX3KnQkKC1MYPVtl7bNfRERUBTNB2hw4cAD3799HfHw8fH19TXFJsnKrVwPJycoZFycnYNUqGLTt3NxkMhlSUj5Cjx6aOUHdu+/Ajh0n1ecZU+GZAQ4RkX0yumL0vXv3MHfuXADKLvHdunXDrl27AABBQUHYu3cvGjVqZPqRktXIzHwUAAHKP0eMABISLD8jpJqx0dXqouR5RETkuIzaIr9582aNNhnffPMNfvnlFxw8eBC3b99Gy5YtMWfOHJMPkqzLhQvl5dwoe3FZE6n0LqKjL3MHFxERlcuoICg9PR1NmzZVP/7hhx/wwgsv4Mknn4Sfnx+mT5+O1NRUkw+SrEvdusolsJL09eKyFFPWCiIiIvti1HJYUVER3N3d1Y9TU1Mxbtw49eOwsDDcvn3bZIMj6xQerswBGjFCOQPk7Ay9vbgsQVetICIiIqNmgmJiYvDLL78AAK5cuYK///4b7dq1Ux/PzMxkEqmDSEoCMjKA/fuVf1pDUnRJ7PVFRET6GDUTNGrUKIwePRoHDx7EkSNHEB8fj4YNG6qP79u3Dy1asLO2owgPt77ZHxX2+iIiIn2MCoJeeeUVODs7Y/v27WjXrl2Z4onXr1/HsGHDTDpAIhVD6vWoqHp9lQyE2OuLiIhKMrpO0LBhw7QGOp988kmlB0RUHplMho8++kjveb169QKgv9cXKzwTERErRpfCitHWqXQPL12effZZ1KhRAz4+Prh+3QkZGS6IiipCWJhyXz8rPBMR2Z+KfH8blRhdWFiISZMmoU6dOnjiiSewZs0ajeM3btyAs7OzMZckMrkffvgBW7ZsgZubG+LigvH88/6IiwtGaGgoQkNDGQAREREAI4OgefPm4b///S9effVVdOnSBePHj8eIESM0zuHEElkLVoUmIiJdjMoJ2rhxIz7//HP06NEDADBkyBB069YNQ4cOVc8KSSQSXZcgIiIisgpGzQRdu3ZNo21GnTp18PPPP+Pw4cN46aWXUFxcbPIBEpVHLvdCWlpDpKU1RGZmKKtCExGR0YyaCQoJCcGlS5cQFRWlfq5mzZrYv38/OnbsiCFDhph4eOQIjNn6DigrQW/b1gOPYngBQMKq0EREZBSjgqBOnTph06ZNePrppzWeDwsLw759+9ChQwdTjo0cgKFb3/v37w9AOQOkGQABgHIJVlUVOibmIgsiEhGRXkYFQTNmzMC5c+fKPVazZk0cOHAAu3fvNsnAyDEYmrysSrjPyfGHrlVcVoUmIiJDGZUTFBkZiYSEBK3Hw8LCkJiYWOlBEZXm4+ODwYMHw89PBkCh9TxWhSYiIkMZFQSpfP311+jTpw8aN26Mxo0bo0+fPvjmm29MPbZy5efno3nz5pBIJDh16pTGsTNnzqBt27aoVq0aIiIisGjRoioZE1WNmJgYTJuWiLlzs6EZCClniVgVmoiIjGHUcphCocCLL76Ir7/+GvXq1UODBg0AAH/++Sf69++Pvn374ssvvzTrNvlJkyYhLCwMp0+f1ng+Ly8PXbp0QefOnbFy5Ur88ccfGDZsGHx8fJCcnGy28VDFyWQy3L5926jX+Pv7Y/p04Lnn7iA1VblMFhFRjH//dfpfVejHATzOqtBERKSXUUHQ8uXLsWfPHmzbtk1dK0hl27ZtGDp0KJYvX45x48aZcoxqP/74I3bt2oWtW7fixx9/1Di2ceNGFBQUYM2aNXBzc0OjRo1w6tQpLFmyhEGQFTI0IVqbJk180aSJCQdEREQOx6jlsLVr12Lx4sVlAiBA2bhy0aJFZVppmMqNGzfwyiuvYMOGDfD09CxzPDU1Fe3atdNYAklISMD58+dx584drdfNz89HXl6exg+Zn7aEaLncizV/iIioShgVBF24cAGdO3fWerxz5864cOFCpQdVmhACQ4YMwauvvoqWLVuWe052djaCg4M1nlM9zs7O1nrt+fPnQyqVqn8iIiJMN3AyyokTLbBs2TisX5+IZcvG4cSJFpYeEhER2TGjgiAPDw/k5uZqPZ6Xl4dq1aoZfL0pU6ZAIpHo/Dl37hw+/PBD3L17F1OnTjVmuAaZOnUq5HK5+ufq1asmfw/STy73wvbtPSCE8ldSVfNHNSPEJGciIjI1o3KC4uPjsWLFCqxYsaLc4x9//DHi4+MNvt6ECRP0VpmuXbs29u3bh9TUVLi7u2sca9myJQYNGoT169cjJCQEN27c0DiuehwSEqL1+u7u7mWua+8MqdBc1UnFOTn+6gBIRQgnNG7cG889J2WSMxERmZxRQdC0adPQoUMHyGQyvPnmm2jQoAGEEDh79izef/99/N///R/2799v8PUCAwMRGBio97wPPvgA77zzjvrx9evXkZCQgM2bN6NVq1YAlAHatGnTUFhYCFdXVwDA7t27Ub9+ffj6+hrzMe2aoQnJo0ePrtLAw89PBolEoREISSQKRETko6CgAFlZWdzxRUREJmVUENSmTRts3rwZycnJ2Lp1q8YxX19ffPnll3jyySdNOkAAqFWrlsbjGjVqAFDWjQkPDwcADBw4EHPmzEFSUhImT56MtLQ0LF++HEuXLjX5eGyZoRWaDT3PlOLjU5GaGg8hnNQ1fw4fPonDhx+dU9XBGRER2S+jgiAA+M9//oOEhATs3LlTnQRdr149dOnSpdxdW1VFKpVi165dGDVqFOLi4hAQEICZM2dye7wNOHGiRYl8IAXatDmEVq2Oltv6whLBGRER2SejgqB9+/Zh9OjROHLkCP7zn/9oHJPL5WjUqBFWrlyJtm3bmnSQpUVFRal7SZXUtGlTHDx40KzvTaahSnQunRANOCE1NR6tWh213OCIiMghGLU7bNmyZXjllVfg7e1d5phUKsWIESOwZMkSkw2O7Je/vz9Gjx6NNm0Sy02Izsnxs9DIiIjIURgVBJ0+fRpdu3bVerxLly44fvx4pQdFjsHf3x+tW/vDqdRvoUSigKtrAYsmEhGRWRm1HHbjxg31zqtyL+biglu3blV6UOQ4wsOBVauAESMEioslkEgUaNr0DFavHq6RIB0be9LSQyUiIjtj1ExQzZo1kZaWpvX4mTNnEBoaWulBkWNJSgKOHr2JxMR1SEr6HGfONNVaNJGIiMhUjAqCnn32WcyYMQMPHz4sc+zff//FrFmzyu0rRtbD0MrLVV2hOSxMgejoyygsdGeOEBERVQmjlsOmT5+OlJQU1KtXD6NHj0b9+vUBAOfOncPHH3+M4uJiTJs2zSwDJdNQJSSrtppfv+6E9HQXREcXISxMAaBiFaMrW4VaFXRpK5ro55ejcR4REVFlSUR5e811uHz5MkaOHImdO3eqt6lLJBIkJCTg448/RnR0tFkGWlXy8vIglUohl8vL3QVnT1avBpKTAYUCcHJS5uYkJRl/HVNVoVYFUps2eWDyZCmKiyVwdhZYuFCOgQP/ZcVoIiLSqiLf30YHQSp37tzBxYsXIYRA3bp17aY1haMEQZmZQGSkMgBScXYGMjKUycrGyMrKwqpVq/Sel5ycbHDOWGYmcPEiUKeO8eMhIiLHU5Hvb6MrRqv4+vri8ccfr+jLycIuXNAMgACguFgZeFhD0BEebh3jICIi+1XhIIiqlqk7v9etq1wCKz0TVKeO8WPLzc01+DzuHiQiImvBIMgGmKPz+6P6PMoZIGdn4NNPKzb7UlRUZNLziIiIqgKDIBtQegZILvdCTo4//PxkGk1GjW0umpQEJCQw94aIiBwTgyAbU7LjuimqKZsj90ZbkEZERGRNGATZkNId11XVlGNiLlpNsGHqII2IiMhcjKoYTZaVk+NvldWUVf3ktAVpqpYXuvrOERERVTUGQTZEVU25pJLVlC1FKpUC0B+kqc4jIiKyBgyCbIhUehc9e+5QB0Kq5SZrWQpzdc0HULr2poCrq3EJ20RERFWBOUE2Jjb2JGJiLiInxw9+fjlWEQCp+nkVFroDkJQ6KkFhoZvGeURERNaAQVAVycxUVmmuW9f43Vilgwep9G65wY+lggxVU9aMjCJs2CCgUDwKhJydBV5/vRuiolzY94uIiKxKhXuH2Stz9A4zRaNSU1eMNpfVq8sWYKxIU1YiIiJjVGkDVXtl6iDIlI1KrVF5wdn1607IyHBBVFQRZ4CIiKhKVGkDVTKMtTcqrQx97TzS0pR/GtPOg4iIqKpwd5iZqRqVllTRRqXWxtA2Hca28yAiIqoKDILMTNWo1NlZ+bgyjUqJiIjIdLgcVgXYqJSIiMj6MAiqIuZoVEpEREQVx+UwMhm53Avp6VHqXmFERETWjDNBZBLsHk9ERLaGM0FUafq6xxMREVkjBkFUYao2Hfq6x7NnGBERWSObCYKioqIgkUg0fhYsWKBxzpkzZ9C2bVtUq1YNERERWLRokYVG6xhUPcNef70rnJw0C4+reoaxUCIREVkrm8oJevvtt/HKK6+oH3t5PVpuycvLQ5cuXdC5c2esXLkSf/zxB4YNGwYfHx8kJydbYrgOwd/fH/7+ylpImj3DJIiLC7b08IiIiLSyqSDIy8sLISEh5R7buHEjCgoKsGbNGri5uaFRo0Y4deoUlixZwiCoCrAWEhER2RqbWQ4DgAULFsDf3x8tWrTA4sWLUVRUpD6WmpqKdu3aaeSfJCQk4Pz587hz547Wa+bn5yMvL0/jhyomPBzo0IEBEBER2QabmQkaM2YMYmNj4efnh8OHD2Pq1KnIysrCkiVLAADZ2dmIjo7WeE1wcLD6mK+vb7nXnT9/PubMmWPewRMREZHVsWgQNGXKFCxcuFDnOWfPnkWDBg0wfvx49XNNmzaFm5sbRowYgfnz58Pd3b3CY5g6darGtfPy8hAREVHh69kjmUymswmqm5sbk5+JiMjmWDQImjBhAoYMGaLznNq1a5f7fKtWrVBUVISMjAzUr18fISEhuHHjhsY5qsfa8ogAwN3dvVJBlL2TyWT46KOP9J7HXWBERGRrLBoEBQYGIjAwsEKvPXXqFJycnBAUFAQAiI+Px7Rp01BYWAhXV1cAwO7du1G/fn2tS2G2KjMTuHABqFvX/Pk3umaAKnIeERGRtbCJxOjU1FQsW7YMp0+fxj///IONGzfijTfewODBg9UBzsCBA+Hm5oakpCT8+eef2Lx5M5YvX66x1GUPVq8GIiOBTp2Uf65ebekRERER2SabSIx2d3fHV199hdmzZyM/Px/R0dF44403NAIcqVSKXbt2YdSoUYiLi0NAQABmzpxpV9vjMzOB5GRAoVA+ViiUtXkSErgji4iIyFg2EQTFxsbiyJEjes9r2rQpDh48WAUjsowLFx4FQCrFxcraPIYEQUxwJiIiesQmgiBSqlsXcHLSDIScnZXFCfVhgjMREZEmm8gJIqXwcGV7Cmdn5WNlewrDZoGY4ExERKSJM0E2xlTtKeRyL+Tk+MPPTwap9K5pB0lERGQDGATZoPDwyiVCnzjRAtu394AQTpBIFOjZcwdiY0+We27JNiS6GHoeERGRtWAQ5GDkci91AAQAQjhh+/YeiIm5WO6MkL+/P0aPHs2EaiIisjsMgmyEqXZ25eT4qwMgFSGckJPjp3VZjAEOERHZIwZBNsCUO7v8/GSQSBQagZBEooCfX45BY6nKatVERETmxN1hNsCUO7uk0rvo2XMHJBLlPntVTpAhydGsVk1ERPaEM0EOomTicmzsScTEXEROjh/8/HI0AiBtCc6sVk1ERPaGQZCDqGyCc2WrVRMREVkbBkEOpDIJzpWpVk1ERGSNGATZOVPtKlNVqx4xQjkDZEy1aiIiImvEIMiOmbpfmKmqVRMREVkDBkF2zBz9wipbrZqIiMhacIu8DWDrCiIiItPjTJANMFXrCjZNJSIieoRBkI2obOsKY5qmEhEROQIuhzkAbU1T5XIvC4+MiIjIchgEOQBdTVOJiIgcFYMgB6BqmlqSMU1TiYiI7BGDIDum2i2mr2kqd5UREZEjkgghhKUHYU3y8vIglUohl8vh7e1t6eFUWsmK0devOyEjwwVRUUUIC1MGRIZWjCYiIrJmFfn+5u4wO1cywAkNBeLiLDgYIiIiK8LlMCIiInJIDIKIiIjIITEIIiIiIofEIIiIiIgcEoMgIiIickgMgoiIiMghMQgiIiIih2RTQdD333+PVq1awcPDA76+vujdu7fG8StXrqB79+7w9PREUFAQJk6ciKKiIssMFspChVlZWVp/ZDKZxcZGRETk6GymWOLWrVvxyiuv4N1330WnTp1QVFSEtLQ09fHi4mJ0794dISEhOHz4MLKysvDyyy/D1dUV7777bpWPVyaT4aOPPtJ73ujRo1mxmYiIyAJsIggqKirC2LFjsXjxYiQlJamfb9iwofrvu3btwl9//YU9e/YgODgYzZs3x9y5czF58mTMnj27yvtjqVpVmOo8IiIiMi2bWA47ceIErl27BicnJ7Ro0QKhoaHo1q2bxkxQamoqmjRpguDgYPVzCQkJyMvLw59//mmJYRMREZEVs4kg6J9//gEAzJ49G9OnT8eOHTvg6+uLDh06ICcnBwCQnZ2tEQABUD/Ozs7Weu38/Hzk5eVp/BAREZH9s2gQNGXKFEgkEp0/586dg0Kh7Hg+bdo0PP/884iLi8PatWshkUjw9ddfV2oM8+fPh1QqVf9ERESY4qMRERGRlbNoTtCECRMwZMgQnefUrl0bWVlZADRzgNzd3VG7dm1cuXIFABASEoLffvtN47U3btxQH9Nm6tSpGD9+vPpxXl6e1QVCMplMZ+6Qm5sbk6uJiIiMZNEgKDAwEIGBgXrPi4uLg7u7O86fP4+nnnoKAFBYWIiMjAxERkYCAOLj4zFv3jzcvHkTQUFBAIDdu3fD29tbI3gqzd3dHe7u7ib4NMaTy71w6JAbWrcGwsPLP4e7zIiIiMzDJnKCvL298eqrr2LWrFnYtWsXzp8/j5EjRwIA+vbtCwDo0qULGjZsiJdeegmnT5/Gzp07MX36dIwaNcpiQY4uJ060wLJl49C3rz8iI4HVq8s/z9DdY9evX2ftISIiIiPYxBZ5AFi8eDFcXFzw0ksv4d9//0WrVq2wb98++Pr6AgCcnZ2xY8cOjBw5EvHx8ahevToSExPx9ttvW2S8urbky+Ve2L69B4RQxqAKBTBiBJCQoH1GSJ+UlBT13zkrREREpJ9ECCEsPQhrkpeXB6lUCrlcDm9v70pdS1suz6FDbujbt2yQsn8/0KGD5nNZWVlYtWqV+rFc7oWcHH/4+ckgld4t932Tk5MRGhpaqbETERHZkop8f9vMTJAt0jYb07o14OSknAFScXYG6tTRfb0TJ1qoZ5AkEgV69tyB2NiTJhwxERGR47CJnCB7Ex4OrFqlDHwA5Z+ffqp7Kaz0EpoQTti+vQfkcq8qGDEREZH94UyQhSQlKXOALl5UzgDpywXKyfFXB0AqQjghJ8dP67IYERERaccgyILCww1PhPbzk0EiUWgEQhKJAn5+OWYaHRERkX3jcpiVU+0yk0rvomfPHZBIlIlEqpwgzgIRERFVDGeCrJy/vz9Gjx6NgoIC3L59GzExy5CT4wc/vxwGQERERJXAIKiKVaQFhuqxm5sbpNK7eoMfXTWKiIiISIlBUBWqbAuMkrNC2rCPGBERkWEYBFUhQ1tg6DqPAQ4REZFpMDGaiIiIHBKDICIiInJIDIIsRC73Qnp6FCs+ExERWQhzgiyAPcCIiIgsjzNBVcyUPcAyM5Wd5zMzTT1KIiIi+8cgqArl5ubq7AFmjNWrgchIoFMn5Z+rV5typERERPaPQVAVkclk2LJli7oHWEmle4DpK3aYmQkkJwOK/11GoQBGjOCMEBERkTEYBFURVe0ffT3A+vfvr7cW0IULjwIgleJiZUd6IiIiMgwToy0gNvYkYmIultsDTCqV6n193bqAk5NmIOTsDNSpY47REhER2SfOBFmIVHoX0dGXK9QENTwcWLVKGfgAyj8//VT5PBERERmGM0E2KikJSEhQLoHVqcMAiIiIyFgMgmxYeDiDHyIioorichgRERE5JAZBRERE5JAYBFURfbV/jD2PiIiIKoc5QVXE398fo0ePVtcLKo+bm5veGkFERERkGgyCqhADHCIiIuvB5TAiIiJySAyCiIiIyCExCCIiIiKHxCCIiIiIHBKDICIiInJINhEE/fzzz5BIJOX+HDt2TH3emTNn0LZtW1SrVg0RERFYtGiRBUdNRERE1swmtsi3adMGWVlZGs/NmDEDe/fuRcuWLQEAeXl56NKlCzp37oyVK1fijz/+wLBhw+Dj44Pk5GRLDJuIiIismE0EQW5ubggJCVE/LiwsxP/93//h9ddfh0QiAQBs3LgRBQUFWLNmDdzc3NCoUSOcOnUKS5YsYRBEREREZdjEclhp27Ztg0wmw9ChQ9XPpaamol27dhptJxISEnD+/HncuXNH67Xy8/ORl5en8UNERET2zyZmgkpbvXo1EhISEB4ern4uOzsb0dHRGucFBwerj/n6+pZ7rfnz52POnDllnmcwREREZDtU39tCCINfY9EgaMqUKVi4cKHOc86ePYsGDRqoH2dmZmLnzp3YsmWLScYwdepUjB8/Xv342rVraNiwISIiIkxyfSIiIqo6d+/ehVQqNehciwZBEyZMwJAhQ3SeU7t2bY3Ha9euhb+/P3r16qXxfEhICG7cuKHxnOpxyXyi0tzd3eHu7q5+XKNGDVy9ehVeXl7qfKOKyMvLQ0REBK5evQpvb+8KX8fW8T4o8T4o8T4o8T4o8T48wnuhVJn7IITA3bt3ERYWZvBrLBoEBQYGIjAw0ODzhRBYu3YtXn75Zbi6umoci4+Px7Rp01BYWKg+tnv3btSvX1/rUlh5nJycNJbZKsvb29uhf6FVeB+UeB+UeB+UeB+UeB8e4b1Qquh9MHQGSMWmEqP37duH9PR0DB8+vMyxgQMHws3NDUlJSfjzzz+xefNmLF++XGOpi4iIiEjFphKjV69ejTZt2mjkCKlIpVLs2rULo0aNQlxcHAICAjBz5kxujyciIqJy2VQQtGnTJp3HmzZtioMHD1bRaHRzd3fHrFmzNPKNHBHvgxLvgxLvgxLvgxLvwyO8F0pVfR8kwpi9ZERERER2wqZygoiIiIhMhUEQEREROSQGQUREROSQGAQRERGRQ2IQZIQVK1agadOm6iJO8fHx+PHHH9XHHz58iFGjRsHf3x81atTA888/X6aK9ZUrV9C9e3d4enoiKCgIEydORFFRUVV/FJNZsGABJBIJxo0bp37OUe7D7NmzIZFINH5Klm9wlPsAKNvNDB48GP7+/vDw8ECTJk3w+++/q48LITBz5kyEhobCw8MDnTt3xoULFzSukZOTg0GDBsHb2xs+Pj5ISkrCvXv3qvqjVFhUVFSZ3weJRIJRo0YBcJzfh+LiYsyYMQPR0dHw8PBATEwM5s6dq9HPyRF+HwBl+4Zx48YhMjISHh4eaNOmDY4dO6Y+bq/34ZdffkHPnj0RFhYGiUSC7777TuO4qT73mTNn0LZtW1SrVg0RERFYtGiR8YMVZLBt27aJ77//Xvz999/i/Pnz4q233hKurq4iLS1NCCHEq6++KiIiIsTevXvF77//Llq3bi3atGmjfn1RUZFo3Lix6Ny5szh58qT44YcfREBAgJg6daqlPlKl/PbbbyIqKko0bdpUjB07Vv28o9yHWbNmiUaNGomsrCz1z61bt9THHeU+5OTkiMjISDFkyBBx9OhR8c8//4idO3eKixcvqs9ZsGCBkEql4rvvvhOnT58WvXr1EtHR0eLff/9Vn9O1a1fRrFkzceTIEXHw4EFRp04d8eKLL1riI1XIzZs3NX4Xdu/eLQCI/fv3CyEc5/dh3rx5wt/fX+zYsUOkp6eLr7/+WtSoUUMsX75cfY4j/D4IIUS/fv1Ew4YNxYEDB8SFCxfErFmzhLe3t8jMzBRC2O99+OGHH8S0adNESkqKACC+/fZbjeOm+NxyuVwEBweLQYMGibS0NPHll18KDw8P8emnnxo1VgZBleTr6ys+//xzkZubK1xdXcXXX3+tPnb27FkBQKSmpgohlL8YTk5OIjs7W33OihUrhLe3t8jPz6/ysVfG3bt3Rd26dcXu3btF+/bt1UGQI92HWbNmiWbNmpV7zJHuw+TJk8VTTz2l9bhCoRAhISFi8eLF6udyc3OFu7u7+PLLL4UQQvz1118CgDh27Jj6nB9//FFIJBJx7do18w3ejMaOHStiYmKEQqFwqN+H7t27i2HDhmk816dPHzFo0CAhhOP8Pjx48EA4OzuLHTt2aDwfGxsrpk2b5jD3oXQQZKrP/cknnwhfX1+NfzcmT54s6tevb9T4uBxWQcXFxfjqq69w//59xMfH4/jx4ygsLETnzp3V5zRo0AC1atVCamoqACA1NRVNmjRBcHCw+pyEhATk5eXhzz//rPLPUBmjRo1C9+7dNT4vAIe7DxcuXEBYWBhq166NQYMG4cqVKwAc6z5s27YNLVu2RN++fREUFIQWLVrgs88+Ux9PT09Hdna2xr2QSqVo1aqVxr3w8fFBy5Yt1ed07twZTk5OOHr0aNV9GBMpKCjAF198gWHDhkEikTjU70ObNm2wd+9e/P333wCA06dP49dff0W3bt0AOM7vQ1FREYqLi1GtWjWN5z08PPDrr786zH0ozVSfOzU1Fe3atYObm5v6nISEBJw/fx537twxeDw2VTHaGvzxxx+Ij4/Hw4cPUaNGDXz77bdo2LAhTp06BTc3N/j4+GicHxwcjOzsbABAdna2xn/gVMdVx2zFV199hRMnTmisbatkZ2c7zH1o1aoV1q1bh/r16yMrKwtz5sxB27ZtkZaW5lD34Z9//sGKFSswfvx4vPXWWzh27BjGjBkDNzc3JCYmqj9LeZ+15L0ICgrSOO7i4gI/Pz+buhcq3333HXJzczFkyBAAjvXvxZQpU5CXl4cGDRrA2dkZxcXFmDdvHgYNGgQADvP74OXlhfj4eMydOxePPfYYgoOD8eWXXyI1NRV16tRxmPtQmqk+d3Z2NqKjo8tcQ3XM0MbpDIKMVL9+fZw6dQpyuRzffPMNEhMTceDAAUsPq8pcvXoVY8eOxe7du8v8H46jUf2fLaBs2dKqVStERkZiy5Yt8PDwsODIqpZCoUDLli3x7rvvAgBatGiBtLQ0rFy5EomJiRYenWWsXr0a3bp1Q1hYmKWHUuW2bNmCjRs3YtOmTWjUqBFOnTqFcePGISwszOF+HzZs2IBhw4ahZs2acHZ2RmxsLF588UUcP37c0kOj/+FymJHc3NxQp04dxMXFYf78+WjWrBmWL1+OkJAQFBQUIDc3V+P8GzduICQkBAAQEhJSZjeI6rHqHGt3/Phx3Lx5E7GxsXBxcYGLiwsOHDiADz74AC4uLggODnaI+1AeHx8f1KtXDxcvXnSY3wcACA0NRcOGDTWee+yxx9RLg6rPUt5nLXkvbt68qXG8qKgIOTk5NnUvAODy5cvYs2cPhg8frn7OkX4fJk6ciClTpmDAgAFo0qQJXnrpJbzxxhuYP38+AMf6fYiJicGBAwdw7949XL16Fb/99hsKCwtRu3Zth7oPJZnqc5vq3xcGQZWkUCiQn5+PuLg4uLq6Yu/evepj58+fx5UrVxAfHw8AiI+Pxx9//KHxD3f37t3w9vYu8yVirZ5++mn88ccfOHXqlPqnZcuWGDRokPrvjnAfynPv3j1cunQJoaGhDvP7AABPPvkkzp8/r/Hc33//jcjISABAdHQ0QkJCNO5FXl4ejh49qnEvcnNzNf4Ped++fVAoFGjVqlUVfArTWbt2LYKCgtC9e3f1c470+/DgwQM4OWl+tTg7O0OhUABwvN8HAKhevTpCQ0Nx584d7Ny5E88995xD3gfAdP/84+Pj8csvv6CwsFB9zu7du1G/fn2Dl8IAcIu8MaZMmSIOHDgg0tPTxZkzZ8SUKVOERCIRu3btEkIot8DWqlVL7Nu3T/z+++8iPj5exMfHq1+v2gLbpUsXcerUKfHTTz+JwMBAm9sCW1rJ3WFCOM59mDBhgvj5559Fenq6OHTokOjcubMICAgQN2/eFEI4zn347bffhIuLi5g3b564cOGC2Lhxo/D09BRffPGF+pwFCxYIHx8f8X//93/izJkz4rnnnit3S2yLFi3E0aNHxa+//irq1q1r9VuBSysuLha1atUSkydPLnPMUX4fEhMTRc2aNdVb5FNSUkRAQICYNGmS+hxH+X346aefxI8//ij++ecfsWvXLtGsWTPRqlUrUVBQIISw3/tw9+5dcfLkSXHy5EkBQCxZskScPHlSXL58WQhhms+dm5srgoODxUsvvSTS0tLEV199JTw9PblF3pyGDRsmIiMjhZubmwgMDBRPP/20OgASQoh///1XvPbaa8LX11d4enqK//znPyIrK0vjGhkZGaJbt27Cw8NDBAQEiAkTJojCwsKq/igmVToIcpT70L9/fxEaGirc3NxEzZo1Rf/+/TVq4zjKfRBCiO3bt4vGjRsLd3d30aBBA7Fq1SqN4wqFQsyYMUMEBwcLd3d38fTTT4vz589rnCOTycSLL74oatSoIby9vcXQoUPF3bt3q/JjVNrOnTsFgDKfTQjH+X3Iy8sTY8eOFbVq1RLVqlUTtWvXFtOmTdPYyuwovw+bN28WtWvXFm5ubiIkJESMGjVK5Obmqo/b633Yv3+/AFDmJzExUQhhus99+vRp8dRTTwl3d3dRs2ZNsWDBAqPHKhGiRBlPIiIiIgfBnCAiIiJySAyCiIiIyCExCCIiIiKHxCCIiIiIHBKDICIiInJIDIKIiIjIITEIIiIiIofEIIiIiIgcEoMgIjuVnZ2N119/HbVr14a7uzsiIiLQs2dPjZ49hw8fxrPPPgtfX19Uq1YNTZo0wZIlS1BcXKw+JyMjA0lJSYiOjoaHhwdiYmIwa9YsFBQUaLzfZ599hmbNmqFGjRrw8fFBixYt1E0zAWD27NmQSCTo2rVrmbEuXrwYEokEHTp00Pu5oqKiIJFItP4MGTLE+Jtl5Tp06IBx48ZZehhEdsfF0gMgItPLyMjAk08+CR8fHyxevBhNmjRBYWEhdu7ciVGjRuHcuXP49ttv0a9fPwwdOhT79++Hj48P9uzZg0mTJiE1NRVbtmyBRCLBuXPnoFAo8Omnn6JOnTpIS0vDK6+8gvv37+O9994DAKxZswbjxo3DBx98gPbt2yM/Px9nzpxBWlqaxrhCQ0Oxf/9+ZGZmIjw8XP38mjVrUKtWLYM+27Fjx9RB2uHDh/H888/j/Pnz8Pb2BgB4eHiY4hZWicLCQri6ulbZ+xUUFMDNza3K3o/I6lWwNQgRWbFu3bqJmjVrinv37pU5dufOHXHv3j3h7+8v+vTpU+b4tm3bBADx1Vdfab3+okWLRHR0tPrxc889J4YMGaJzTLNmzRLNmjUTPXr0EO+88476+UOHDomAgAAxcuRI0b59ewM+3SOqHkV37txRP/fdd9+JFi1aCHd3dxEdHS1mz56t0X8LgFi5cqXo3r278PDwEA0aNBCHDx8WFy5cEO3btxeenp4iPj5eow+cauwrV64U4eHhwsPDQ/Tt21ejD5QQQnz22WeiQYMGwt3dXdSvX198/PHH6mPp6enq+9quXTvh7u4u1q5dK27fvi0GDBggwsLChIeHh2jcuLHYtGmT+nWJiYllejClp6eLtWvXCqlUqvH+3377rSj5n3XVuD/77DMRFRUlJBKJEEL5O5CUlCQCAgKEl5eX6Nixozh16pRR957IHnA5jMjO5OTk4KeffsKoUaNQvXr1Msd9fHywa9cuyGQyvPnmm2WO9+zZE/Xq1cOXX36p9T3kcjn8/PzUj0NCQnDkyBFcvnxZ7/iGDRuGdevWqR+vWbMGgwYNMskMxcGDB/Hyyy9j7Nix+Ouvv/Dpp59i3bp1mDdvnsZ5c+fOxcsvv4xTp06hQYMGGDhwIEaMGIGpU6fi999/hxACo0eP1njNxYsXsWXLFmzfvh0//fQTTp48iddee019fOPGjZg5cybmzZuHs2fP4t1338WMGTOwfv16jetMmTIFY8eOxdmzZ5GQkICHDx8iLi4O33//PdLS0pCcnIyXXnoJv/32GwBg+fLliI+PxyuvvIKsrCxkZWUhIiLC4Hty8eJFbN26FSkpKTh16hQAoG/fvrh58yZ+/PFHHD9+HLGxsXj66aeRk5NjzO0msn2WjsKIyLSOHj0qAIiUlBSt5yxYsKDMDEpJvXr1Eo899li5xy5cuCC8vb01OsVfv35dtG7dWgAQ9erVE4mJiWLz5s2iuLhYfY5qVqKgoEAEBQWJAwcOiHv37gkvLy9x+vRpMXbs2ErPBD399NPi3Xff1Thnw4YNIjQ0VP0YgJg+fbr6cWpqqgAgVq9erX7uyy+/FNWqVdMYu7Ozs8jMzFQ/9+OPPwonJyd1J/iYmBiNGRwhhJg7d66Ij48XQjyaCVq2bJnez9W9e3cxYcIE9eP27duLsWPHapxj6EyQq6uruHnzpvq5gwcPCm9vb/Hw4UON18bExIhPP/1U79iI7AlzgojsjBDCLOcCwLVr19C1a1f07dsXr7zyivr50NBQpKamIi0tDb/88gsOHz6MxMREfP755/jpp5/g5PRo0tnV1RWDBw/G2rVr8c8//6BevXpo2rSpUePQ5vTp0zh06JDGzE9xcTEePnyIBw8ewNPTEwA03i84OBgA0KRJE43nHj58iLy8PHWuUa1atVCzZk31OfHx8VAoFDh//jy8vLxw6dIlJCUladyXoqIiSKVSjTG2bNlS43FxcTHeffddbNmyBdeuXUNBQQHy8/PVY62syMhIBAYGqh+fPn0a9+7dg7+/v8Z5//77Ly5dumSS9ySyFQyCiOxM3bp11QnN2tSrVw8AcPbsWbRp06bM8bNnz6Jhw4Yaz12/fh0dO3ZEmzZtsGrVqnKv27hxYzRu3BivvfYaXn31VbRt2xYHDhxAx44dNc4bNmwYWrVqhbS0NAwbNszYj6jVvXv3MGfOHPTp06fMsWrVqqn/XjIZWSKRaH1OoVAY/L6Acodcq1atNI45OztrPC69RLl48WIsX74cy5YtQ5MmTVC9enWMGzeuzO670pycnMoEsYWFhWXOK/1+9+7dQ2hoKH7++ecy5/r4+Oh8TyJ7wyCIyM74+fkhISEBH3/8McaMGVPmSzA3NxddunSBn58f3n///TJB0LZt23DhwgXMnTtX/dy1a9fQsWNHxMXFYe3atRozO9qogqj79++XOdaoUSM0atQIZ86cwcCBAyvyMcsVGxuL8+fPo06dOia7psqVK1dw/fp1hIWFAQCOHDkCJycn1K9fH8HBwQgLC8M///yDQYMGGXXdQ4cO4bnnnsPgwYMBKAOvv//+WyMIdXNz0yhbAACBgYG4e/cu7t+/r/5nrMr50SU2NhbZ2dlwcXFBVFSUUWMlsjcMgojs0Mcff4wnn3wSTzzxBN5++200bdoURUVF2L17N1asWIGzZ8/i008/xYABA5CcnIzRo0fD29sbe/fuxcSJE/HCCy+gX79+AJQBUIcOHRAZGYn33nsPt27dUr9PSEgIAGDkyJEICwtDp06dEB4ejqysLLzzzjsIDAxEfHx8uWPct28fCgsLTTr7MHPmTPTo0QO1atXCCy+8ACcnJ5w+fRppaWl45513KnXtatWqITExEe+99x7y8vIwZswY9OvXT30P5syZgzFjxkAqlaJr167Iz8/H77//jjt37mD8+PFar1u3bl188803OHz4MHx9fbFkyRLcuHFDIwiKiorC0aNHkZGRgRo1asDPzw+tWrWCp6cn3nrrLYwZMwZHjx7VSDjXpnPnzoiPj0fv3r2xaNEi1KtXD9evX8f333+P//znP2WW64jsGXeHEdmh2rVr48SJE+jYsSMmTJiAxo0b45lnnsHevXuxYsUKAMALL7yA/fv348qVK2jbti3q16+PpUuXYtq0afjqq6/US0K7d+/GxYsXsXfvXoSHhyM0NFT9o9K5c2ccOXIEffv2Rb169fD888+jWrVq2Lt3b5ncE5Xq1aubfPklISEBO3bswK5du/D444+jdevWWLp0KSIjIyt97Tp16qBPnz549tln0aVLFzRt2hSffPKJ+vjw4cPx+eefY+3atWjSpAnat2+PdevWITo6Wud1p0+fjtjYWCQkJKBDhw4ICQlB7969Nc5588034ezsjIYNGyIwMBBXrlyBn58fvvjiC/zwww9o0qQJvvzyS8yePVvv55BIJPjhhx/Qrl07DB06FPXq1cOAAQNw+fJldX4UkaOQCGMzI4mIHMzs2bPx3XffGbTcRES2gzNBRERE5JAYBBGR1alRo4bWn4MHD1p6eERkJ7gcRkRW5+LFi1qP1axZ06b6gxGR9WIQRERERA6Jy2FERETkkBgEERERkUNiEEREREQOiUEQEREROSQGQUREROSQGAQRERGRQ2IQRERERA6JQRARERE5pP8HSi3/nfWVEUYAAAAASUVORK5CYII=", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.3 Visualizing Surrogates\n", + "\n", + "Now that the surrogate models have been trained, the models can be visualized through scatter, parity and residual plots to confirm their validity in the chosen domain. The training data will be visualized first to confirm the surrogates are fit the data, and then the validation data will be visualized to confirm the surrogates accurately predict new output values." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# visualize with IDAES surrogate plotting tools\n", + "surrogate_scatter2D(alm_surr, data_training)\n", + "surrogate_parity(alm_surr, data_training)\n", + "surrogate_residual(alm_surr, data_training)" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.4 Model Validation" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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BJGWlibOnj0r5s2bJ2Qymdi7d68QQoipU6cKPz8/cfDgQXHq1CkRGhoqQkNDpdc/fPhQBAcHi4iICJGcnCx2794t3N3dxfz586U6f/31l7CzsxOzZ88WFy9eFKtWrRKWlpZi9+7dGsXKhIiI9MWU5yEiqg4AsX379mrrpaWlCQsLC5GUlFRtXW0kRAYdVH379m2MHTsWmZmZcHZ2Rtu2bbFnzx784x//AACsXLkSFhYWGDp0KIqKihAZGYnPP/9cer2lpSV27tyJadOmSU2x48aNw9tvvy3VCQgIwK5duzBjxgx8/PHHaNy4Mb766itERkbqfX+JiIioaiUlJbh79y7efPNNdOvWDR06dNDLdmX/zdaoGgqFAs7OztKEWUREuvLgwQOkpaUhICDAIANszZmDg0OlZb/99ht69Oihx2iAqVOnYsOGDSrLxowZgzVr1ug1Hm2QyWTYvn07Bg8erLL80KFD6N27NwIDA7F161aEhIRUu86qPjPqnr8Nftk9ERGRsXhy/p7HNWrUSH+B/Nfbb7+tclZvACb747y6dpiwsDCN53DSBiZERERE/1XVXD6G4OHhAQ8PD0OHYRYMftk9ERERkaExISIiMlLqzgVDZO608VlhlxkRkZGxtraGhYUFMjIy4O7uDmtra+mWCUT0P0IIFBcXIycnBxYWFrC2tq7xupgQEREZGQsLCwQEBCAzM1PlLSKISJmdnR38/PzUurVLZZgQEREZIWtra/j5+eHhw4c1uscUkbmwtLREvXr1at2KyoSIiMhIyWQyWFlZaXzncyLSHAdVExERkdljQkRERERmjwkRERERmT0mRERERGT2mBARERGR2WNCRERERGaPCRERERGZPSZEREREZPaYEBEREZHZY0JEREREZo8JEREREZk9JkRERERk9pgQERERkdljQkRERERmjwkRERERmT0mRERERGT2mBARERGR2WNCRERERGaPCRERERGZPSZEREREZPaYEBEREZHZY0JEREREZo8JEREREZk9JkRERERk9pgQERERkdljQkRERERmjwkRERERmT0mRERERGT2mBARERGR2WNCRERERGaPCRERERGZPSZEREREZPaYEBEREZHZY0JEREREZo8JEREREZk9JkRERERk9gyaEMXFxaFz585wdHSEh4cHBg8ejMuXLyvVCQsLg0wmU3pMnTpV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dCh69uwJLy8vbNu2TSq3tLTEzp07YWlpidDQUIwZMwZjx47F22+/LdUJCAjArl27sG/fPrRr1w4ffvghvvrqK85BRERERABqeC+zwYMHY8CAAZgyZQpmzZqFn3/+GePHj8e2bdvQoEED7N+/XxexGhTnISIiIjI9Or2X2YoVK5CXlwcAWLx4MfLy8rBp0ya0aNGiRleYERERERlSjVqIzBFbiIiIiEyPTluIyhUXF+P27dsoKytTWu7n51eb1RIRERHpVY0Soj///BOTJk3C0aNHlZYLISCTyVBaWqqV4IiIiIj0oUYJ0YQJE1CvXj3s3LkT3t7ekMlk2o6LiIiISG9qlBAlJycjKSkJrVq10nY8RERERHpXo3mIgoKCNJpviIiIiMiYqZ0QKRQK6fH+++9jzpw5OHToEO7evatUplAodBkvERERkdap3WXm4uKiNFZICIG+ffsq1eGgaiIiIjJFaidE8fHxuoyDiIiIyGDUToh69eol/Z2eng5fX98KV5cJIXDjxg3tRUdERESkBzUaVB0QEICcnJwKy+/du4eAgIBaB0VERESkTzVKiMrHCj0pLy8P9evXr3VQRERERPqk0TxEM2fOBADIZDIsWLAAdnZ2UllpaSmOHz+O9u3bazVAIiIiIl3TKCH6448/ADxqITp37hysra2lMmtra7Rr1w6zZs3SboREREREOqZRQlR+pdmECRPw8ccf867vREREVCfU6NYd69ev13YcRERERAZTo4QoPz8fS5cuxYEDB3D79m2UlZUplf/1119aCY6IiIhIH2qUEE2ePBkJCQl48cUXebd7IiIiMnk1Soh+++037Nq1C927d9d2PERERER6V6N5iBo0aABXV1dtx0JERERkEDVKiN555x289dZbKCgo0HY8RERERHpXoy6zDz/8EKmpqfD09ESTJk1gZWWlVH769GmtBEdERESkDzVKiAYPHqzlMIiIiIgMRyaEEIYOwhQoFAo4OztDLpdzQkoiIiIToe75W6MxRCdOnEBpaWml5UVFRdi8ebMmqyQiIiIyOI0SotDQUNy9e1d67uTkpDQJY25uLkaOHKm96IiIiIj0QKOE6MneNVW9beyBIyIiIlNTo8vuq8JZq4mIiMjUaD0hIiIiIjI1Gl92f+HCBWRlZQF41D126dIl5OXlAQDu3Lmj3eiIiIiI9ECjy+4tLCwg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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "# visualize with IDAES surrogate plotting tools\n", + "surrogate_scatter2D(alm_surr, data_validation)\n", + "surrogate_parity(alm_surr, data_validation)\n", + "surrogate_residual(alm_surr, data_validation)" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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dLz44ovVZmaJiYlwc3NTfwICAuowSiIiIqpLskhkSktLMXDgQAghsHz58mqXnTlzJpRKpfqTlZVVR1ESERFRXbP4R0sVSczFixexe/fuGtu52Nvbw97evo6iIyIiInOy6ESmIok5d+4cUlJS0LBhQ3OHRERERBbErIlMQUEBzp8/r/6emZmJtLQ0eHp6ws/PDwMGDEBqaip+/PFHlJWVITc3FwDg6ekJOzs7c4VNREREFsKs3a/37NmDTp06VZk+bNgwzJkzByEhIVp/l5KSgo4dO+q1DXa/JiIikh9ZdL/u2LEjqsujLGSIGyIiIrJQsui1RERERKQNExkiIiKSLSYyREREJFtMZIiIiEi2mMgQERGRbDGRISIiItliIkNERESyxUSGiIiIZIuJDBEREckWExkiIiKSLSYyREREJFtMZIiIiEi2mMgQERGRbDGRISIiItliIkNERESyxUSGiIiIZIuJDBEREckWExkiIiKSLSYyREREJFtMZIiIiEi2mMgQERGRbDGRISIiItliIkNERESyxUSGiIiIZIuJDBEREckWExkiIiKSLSYyREREJFtMZIiIiEi2mMgQERGRbDGRISIiItliIkNERESyxUSGiIiIZIuJDBEREckWExkiIiKSLSYyREREJFtMZIiIiEi2mMgQERGRbDGRISIiItliIkNERESyZdZEZt++fejduzf8/f2hUCiwdetWjflCCLz77rvw8/ODg4MD4uPjce7cOfMES0RERBbHrIlMYWEhWrRogWXLlmmd/+GHH+LTTz/FihUrcPjwYTg5OaFr1664c+dOHUdKRERElqi+OTfevXt3dO/eXes8IQSWLl2Kd955B88//zwA4Ouvv0ajRo2wdetWDB48uC5DJSIiIgtksW1kMjMzkZubi/j4ePU0Nzc3tG3bFgcPHjRjZERERGQpzFojU53c3FwAQKNGjTSmN2rUSD1Pm5KSEpSUlKi/q1Qq0wRIREREZmexNTLGSkxMhJubm/oTEBBg7pCIiIjIRCw2kfH19QUAXL16VWP61atX1fO0mTlzJpRKpfqTlZVl0jiJiIjIfCw2kQkJCYGvry927dqlnqZSqXD48GHExsbq/J29vT1cXV01PkRERGSdzNpGpqCgAOfPn1d/z8zMRFpaGjw9PREYGIjJkydj3rx5aNKkCUJCQjBr1iz4+/ujT58+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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, the surrogate is trained and validated, we shall embed it in the property package, which is demonstrated in the [surrogate_embedding](./surrogate_embedding_test.ipynb) file." ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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L72EXr16oX379vDy8sL69eulcnNzc2zatAnm5uaQy+UYNGgQBg8ejI8//liqExgYiM2bNyMuLg7h4eH46quv8MMPP3COIyIiIipBp3urvfrqq4iJicHIkSMxadIk/PHHHxgyZAjWr18PFxcX7Ny5syJiNSjOc0RERGR6Ku3eavPmzUN2djYAYObMmcjOzsbq1atRr149na5UIyIiIjIWOrUcVUdsOSIiIjI9ldZyVCwvLw+3bt1CUVGR2nJ/f//yrJaIiIjIYHRKjv7++28MHz4cBw8eVFsuhIBMJkNhYaFegiMiIiKqbDolR0OHDoWFhQU2bdoEb29vyGQyfcdFREREZBA6JUeJiYk4fvw4QkJC9B0PERERkUHpNM9Rw4YNtZrPiIiIiMhUaJwcKZVK6fH555/jvffew969e3H37l21MqVSWZHxEhEREVUojbvVnJ2d1cYWCSHQuXNntTockE1ERESmTuPkaM+ePRUZBxEREZFR0Dg56tChg/T/1NRU+Pn5lbhKTQiB69ev6y86IiIiokqm04DswMBA3L59u8Tye/fuITAwsNxBERERERmKTslR8diip2VnZ8PGxqbcQREREREZilbzHE2cOBEAIJPJMG3aNNjZ2UllhYWFOHz4MJo0aaLXAImIiIgqk1bJ0cmTJwE8aTk6c+YMrKyspDIrKyuEh4dj0qRJ+o2QiIiIqBJplRwVX7E2dOhQLFy4kHenJyIioipHp9uHLF++XN9xEBERERkFnZKjhw8fYs6cOdi1axdu3bqFoqIitfIrV67oJTgiIiKiyqZTcjRixAjEx8fj9ddfh7e3d6lXrhERERGZIp2So61bt2Lz5s1o27atvuMhIiIiMiid5jlycXGBq6urvmMhIiIiMjidkqNPPvkEH330ER49eqTveIiIiIgMSqduta+++grJycnw9PRE7dq1YWlpqVZ+4sQJvQRHREREVNl0So5effVVPYdBREREZBxkQghh6CBMgVKphJOTExQKBSe/JCIiMhG6nL+1GnN05MgRFBYWllmem5uLNWvWaLNKIiIiIqOiVXIkl8tx9+5d6bmjo6PahI9ZWVno37+//qIjIiIiqmRaJUdP98CV1iPHXjoiIiIyZTpdyv8snC2biIiITJnekyMiIiIiU6b1pfznzp1DRkYGgCddaBcuXEB2djYA4M6dO/qNjoiIiKiS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f2vVrbZ7926MHTsWhw4dQo8ePdTKFAoFGjVqhCVLlqBdu3barJaIiIjIaGg1IHvBggUYOXJkqZmXk5MT3nzzTcybN09vwRERERFVNq2So1OnTqFLly5llkdFRand54yIiIjI1GiVHGVmZsLS0rLMcgsLC9y+fbvcQREREREZilbJka+vL5KSksosP336NLy9vcsdFBEREZGhaJUcdevWDdOmTcPjx49LlOXk5GD69Ol46aWX9BYcERERUWXT6lL+zMxMNGvWDObm5hg7dizq168PALhw4QIWLVqEwsJCnDhxAp6enhUWsKHwUn4iIiLTU+GX8nt6euLgwYMYPXo0pk6diuK8SiaTITo6GosWLaqSiRERERFVH1olRwAQEBCALVu24P79+7h8+TKEEKhXrx5cXFwqIj4iIiKiSqV1clTMxcUFLVu21GcsRERERAan1YBsIiIioqqOyRERERGRCiZHRERERCqYHBERERGpYHJEREREpILJEREREZEKJkdEREREKpgcEREREalgckRERESkgskRERERkQomR0REREQqmBwRERERqWByRERERKSCyRERERGRCiZHRERERCqYHJFepCtycDD5DtIVOYYOhYiIqFwsDB0Amb7VR1Mxdf0ZFAnATAbM7hmGvi39DR0WEdIVOUi58xCBbvbwdrI1dDhEZCKYHFG5pCtypMQIAIoE8P76JLQPdufJiAyKSTsR6YrdalQuKXceSolRsUIhcPXOI8MERISyk3Z2+xKRJpgcUbkEutnDTKa+zFwmQ203uwrdLsc40bMwaSei8mByROXi7WSL2T3DYC57kiGZy2T4rGdohXaprT6airZzdmPA94fRds5urD6aWmHbItNkqKSdiKoGmRBCPL8aKZVKODk5QaFQwNHR0dDhGJ10RQ6u3nmE2m52FZoYpSty0HbObrVWAXOZDPundOIYJ1Kz+mgq3l+fhEIhpKSdY46Iqh9dzt8ckE164e1kWynJybO6S5gckaq+Lf3RPti9UpJ2IqpamByRSSnuLnm65YjdJVSaykraiahq4ZgjMimGGONERETVC1uOyOSwu4SIiCoSkyMySewuIWPD2biJqg4mR2TyeFIiQ+Ns3ERVi9GPOZoxYwZkMpnaIyQkRCp//PgxxowZg5o1a8LBwQG9evVCZmam2jpSU1MRExMDOzs7eHh44N1330VB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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" }, - { - "data": { - "image/png": "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eGrsLt3du3fX5mVERERE1UarmhpDwpoaIiIiw6PN9VujG1qeOHEChYWFKsvz8vKwYcMGTTZJREREJAmNkpro6Gj8888/iueOjo5KE+1lZGSgX79+0kVHREREpCaNkprSLVXltVwZeWsWERER6SmNkhp1VNfswkREREQVkTypISIiItIFjYd0X7x4EWlpaQCeNTVdvnwZWVlZAID09HRpoyMiIiJSk0ZDus3MzCCTycrtN1O8XCaTVThCqqZxSDcREZHhqfbJ95KSkrQKjIiIiKi6aZTUBAQEaLTxUaNG4ZNPPoGbm5tGryMiIiLSVLV2FF69ejXkcnl1vgURERERgGpOajhnDREREdUUDukmIiIio8CkhoiIiIwCkxoiIiIyCkxqiIiIyChUa1IzYMAATnhHRERENUKrpKaoqEjl8tu3byueL126lHPUEBERUY3QKKmRy+Xo3bs37Ozs4OnpiY8//ljplggPHjxAUFCQ5EESERERVUajGYWnTZuGc+fO4fvvv0dGRgZmz56N06dPY/PmzbC0tATAuWmIiIhINzSqqdm6dSuWL1+Onj17YujQoTh16hQePHiAbt26IS8vD8CzG1sSERER1TSNkpoHDx4o3f/Jzc0Nv/32Gx4/foxXX30VOTk5kgdIREREpA6Nkhp/f39cunRJaZmDgwN2796N3NxcvPHGG5IGR0RERKQujZKaDh06ICEhocxye3t77Nq1C9bW1pIFRkRERKQJjToKz5w5EykpKeWWOTg4YM+ePTh9+rQkgRERERFpQqOkxsXFBS4uLirLHRwc0LZt2yoHRURERKQpjSffKygowPz589GkSRPY29vD3t4eTZo0wYIFC5Cfn18dMRIRERFVSqOamtzcXLzyyis4evQoYmJi0KZNGwDApUuXMHnyZGzbtg27d+9m3xoiIiKqcRolNfHx8UhOTsaZM2fQqFEjpbJz587htddeQ3x8PGbMmCFljERERESV0qj5ad26dVi4cGGZhAYAoqKisGDBAqxZs0ay4IiIiIjUpVFSc+vWLTRv3lxl+QsvvKB0Q0siIiKimqJRUuPo6Ij79++rLE9LS4ODg0OVgyIiIiLSlEZJTfv27fHpp5+qLI+Pj0f79u2rHBQRERGRpjTqKDx9+nS0aNECL7zwAiZMmICwsDAIIXDp0iUsWrQIFy9exLFjx6orViIiIiKV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EBISgr/++gt9+vRB3759OU8NERER6YRGfWo+//xz/Pbbb9i2bZtirppi27Ztw6BBg/D5559j/PjxUsZIREREVCmNamoSEhIwf/78MgkNALz22mv47LPPytw6gYiIiKgmaJTUXLt2DTExMSrLY2JicO3atSoHRURERKQpjZIaGxsbZGRkqCyXy+WwtrauakxEREREGtMoqYmOjsbSpUtVli9ZsgTR0dFVDoqIiIhIUxolNVOnTsW3336L3r1748SJE5DL5cjMzMSxY8fQq1cvrFy5ElOnTq2uWBEfHw+ZTMaOyERERFSGRqOfWrZsifXr12P48OH48ccflcpcXFywdu1atGrVStIAi508eRLLly9Ho0aNqmX7REREZNg0SmoA4I033kDHjh2xa9cuRafg0NBQdOjQAba2tpIHCABZWVno378/VqxYgdmzZ1fLexAREZFh06j5ad++fQgPD0dBQQHeeOMNTJo0CZMmTUL37t2Rn5+Phg0b4tChQ5IHOXr0aHTp0qXCkVfF8vLyIJfLlR5ERERk/DRKahYvXoxhw4aVew8GJycnvPvuu1i4cKFkwQHAunXrcPr0acydO1et9efOnQsnJyfFw8/PT9J4iIiISD9plNScO3cOnTp1UlneoUMH/Pnnn1UOqlhycjLGjRuHH374Qe2h4lOmTEFmZqbikZycLFk8REREpL806lNz7949WFhYqN5YrVp48OBBlYMq9ueff+L+/fto0qSJYllhYSEOHjyI//znP8jLy4O5ubnSa6ysrGBlZSVZDERERGQYNEpqfH19kZiYiJCQkHLLz58/D29vb0kCA4CXX34ZFy5cUFo2aNAghIWFYfLkyWUSGiIiIjJdGiU1r776KqZNm4ZOnTqVaQ7Kzc3F9OnTy70vlLYcHBwQERGhtMzOzg61a9cus5yIiIhMm0ZJzUcffYTNmzcjNDQUY8aMQf369QEAly9fxpIlS1BYWFitk+8RERERqSITQghNXnDr1i2MHDkSu3btQvFLZTIZOnbsiCVLliAoKKhaAtWWXC6Hk5MTMjMzyx21RURERPpHm+u3xpPvBQQEYMeOHXj06BGuX78OIQTq1asHFxcXjQMmIiIikorGSU0xFxcXNGvWTMpYiIiIiLSm0Tw1RERERPqKSQ0REREZBSY1eiQ1MxdHbqQjNTNX16EQEREZHK371JC01p+8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TJigcrv16tXDpk2bcOTIEbi4uGDhwoW4d++eUlITGBiI48eP4+bNm7C3t4erqytatGgBW1tbfPjhhxg7diyOHz+u1AFblZiYGERHR6N79+747LPPEBoaipSUFPzyyy944403yjSPERkzjn4iMgB169bF6dOn0b59e7z//vuIiIjAK6+8gr1792Lp0qUAgJ49e2L//v24ffs2XnzxRdSvXx+LFi3C1KlTsW7dOkUTzJ49e3D9+nXs3bsXderUgbe3t+JRLCYmBseOHUOvXr0QGhqKN998E9bW1ti7d2+ZvhvF7OzsJG/u6NixI7Zv347du3ejWbNmeOGFF7Bo0SIEBARUedshISHo0aMHXn31VXTo0AGNGjXCV199pSgfOnQovvnmGyQkJCAyMhJt27bFqlWrEBQUVOF2P/roIzRp0gQdO3ZEu3bt4OXlhe7duyut88EHH8Dc3Bzh4eFwd3fH7du34erqitWrV2PHjh2IjIzE2rVrMWPGjEr3QyaTYceOHWjTpg0GDRqE0NBQ9O3bF7du3VL0LyIyFTKhac9CIiIDN2PGDGzdulWt5h0iMhysqSEiIiKjwKSGiKqdvb29ysehQ4d0HR4RGQk2PxFRtbt+/brKMl9fX4O6vxMR6S8mNURERGQU2PxERERERoFJDRERERkFJjVERERkFJjUEBERkVFgUkNERERGgUkNERERGQUmNURERGQUmNQQERGRUfg/m8X4cdn2MvMAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.6" } - ], - "source": [ - "# visualize with IDAES surrogate plotting tools\n", - "surrogate_scatter2D(alm_surr, data_validation)\n", - "surrogate_parity(alm_surr, data_validation)\n", - "surrogate_residual(alm_surr, data_validation)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, the surrogate is trained and validated, we shall embed it in the property package, which is demonstrated in the [surrogate_embedding](./surrogate_embedding_test.ipynb) file." - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.6" }, - "orig_nbformat": 4 - }, - "nbformat": 4, - "nbformat_minor": 3 -} + "nbformat": 4, + "nbformat_minor": 3 +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/alamo_training_usr.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/alamo_training_usr.ipynb index 03f3dc97..cd936937 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/alamo_training_usr.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/alamo_training_usr.ipynb @@ -1,594 +1,294 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Supercritical CO2 Property Surrogate with ALAMO Surrogate Object - Training Surrogate (Part 1)\n", - "\n", - "Maintainer: Javal Vyas\n", - "\n", - "Author: Javal Vyas\n", - "\n", - "Updated: 2024-01-24\n", - "\n", - "## 1. Introduction\n", - "This notebook demonstrates leveraging of the ALAMO surrogate trainer and IDAES Python wrapper to produce an surrogate based on supercritical CO2 data from simulation using REFPROP package.\n", - "\n", - "There are several reasons to build surrogate models for complex processes, even when higher fidelity models already exist (e.g., reduce model size, improve convergence reliability, replace models with externally compiled code and make them fully-equation oriented).\n", - "\n", - "In this example, we intend to make a surrogate for the physical properties of S-CO2 to be embedded in the property package. This property package will be used to get the physical properties of S-CO2 in the flowsheet simulation. To learn more about property package, see the [IDAES-PSE](https://github.com/IDAES/idaes-pse) Github Page or IDAES [Read-the-docs](https://idaes-pse.readthedocs.io/en/latest/). \n", - "\n", - "### 1.1 Need for ML Surrogate\n", - "\n", - "The properties predicted by the surrogate are enthalpy and entropy of the S-CO2 based on the \n", - "pressure and temperature of the system. The analytical equation of getting the enthalpy and entropy from pressure and temperature are in the differential form and would make the problem a DAE system. To counter this problem and keep the problem algebraic, we will use the surrogates and relate enthalpy and entropy with the pressure and temperature as an algebraic equation.\n", - "\n", - "### 1.2 Supercritical CO2 cycle process\n", - "\n", - "The following flowsheet will be used to optimize the design for the cooling of the fusion reactor using supercritical CO2 cycle. We shall focus on training the surrogate for this notebook and move to constructing the flowsheet and the properties package in the subsequent notebooks. The take away from this flowsheet is that, 3 variables can be measured in any given unit which are flow, pressure and temperature and other properties can be calculated using them. Thus, surrogate should have pressure and temperature as the inputs.\n", - "\n", - "In this example, we will train a model using AlamoTrainer for our data and then demonstrate that we can solve an optimization problem with that surrogate model. " - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from IPython.display import Image\n", - "from pathlib import Path\n", - "\n", - "\n", - "def datafile_path(name):\n", - " return Path(\"..\") / name\n", - "\n", - "\n", - "Image(datafile_path(\"CO2_flowsheet.png\"))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2. Training and Validating Surrogate\n", - "\n", - "First, let's import the required Python and IDAES modules:" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "# Import statements\n", - "import os\n", - "import numpy as np\n", - "import pandas as pd\n", - "\n", - "# Import IDAES libraries\n", - "from idaes.core.surrogate.sampling.data_utils import split_training_validation\n", - "from idaes.core.surrogate.alamopy import AlamoTrainer, AlamoSurrogate, alamo\n", - "from idaes.core.surrogate.plotting.sm_plotter import (\n", - " surrogate_scatter2D,\n", - " surrogate_parity,\n", - " surrogate_residual,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.1 Importing Training and Validation Datasets\n", - "\n", - "In this section, we read the dataset from the CSV file located in this directory. 500 data points were simulated for S-CO2 physical properties using REFPROP package. This example is trained on the entire dataset to have cover different ranges of pressure and temperature. The data is separated using an 80/20 split into training and validation data using the IDAES split_training_validation() method.\n", - "\n", - "We rename the column headers because they contained \".\", we change \".\" to \"_\" as ALAMO accepts alphanumerical characters or underscores as the labels for input/output. Further, the input variables are **pressure**, **temperature** , while the output variables are **enth_mol**, **entr_mol**, hence we create two new dataframes for the input and output variables." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "# Import training data\n", - "np.set_printoptions(precision=7, suppress=True)\n", - "\n", - "csv_data = pd.read_csv(datafile_path(\"500_Points_DataSet.csv\"))\n", - "\n", - "### ALAMO only accepts alphanumerical characters (A-Z, a-z, 0-9) or underscores as input/output labels\n", - "cols = csv_data.columns\n", - "cols = [item.replace(\".\", \"_\") for item in cols]\n", - "csv_data.columns = cols\n", - "\n", - "data = csv_data.sample(n=500, random_state=0)\n", - "\n", - "input_data = data.iloc[:, :2]\n", - "output_data = data.iloc[:, 2:4]\n", - "\n", - "# Define labels, and split training and validation data\n", - "input_labels = input_data.columns\n", - "output_labels = output_data.columns\n", - "\n", - "n_data = data[input_labels[0]].size\n", - "data_training, data_validation = split_training_validation(data, 0.8, seed=n_data)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.2 Training Surrogate with ALAMO\n", - "\n", - "IDAES provides a Python wrapper for the ALAMO machine learning tool via an imported AlamoTrainer class. Regression settings can be directly set as config attributes, as shown below. In this example, allowed basis terms include constant and linear functions, monomial power order 2 and 3, variable product power order 1 and 2, and variable ratio power order 1 and 2. ALAMO seeks to minimize the number of basis terms; here, we restrict each surrogate expression to a maximum of 10 basis terms.\n", - "\n", - "Finally, after training the model we save the results and model expressions to a JSON file. Serializing the model in this fashion enables importing a previously trained set of surrogate models into external flowsheets. This feature will be used later." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " ***************************************************************************\n", - " ALAMO version 2023.2.13. Built: WIN-64 Mon Feb 13 21:30:56 EST 2023\n", - "\n", - " If you use this software, please cite:\n", - " Cozad, A., N. V. Sahinidis and D. C. Miller,\n", - " Automatic Learning of Algebraic Models for Optimization,\n", - " AIChE Journal, 60, 2211-2227, 2014.\n", - "\n", - " ALAMO is powered by the BARON software from http://www.minlp.com/\n", - " ***************************************************************************\n", - " Licensee: Javal Vyas at Carnegie Mellon University, jvyas@andrew.cmu.edu.\n", - " ***************************************************************************\n", - " Reading input data\n", - " Checking input consistency and initializing data structures\n", - " \n", - " Step 0: Initializing data set\n", - " User provided an initial data set of 400 data points\n", - " We will sample no more data points at this stage\n", - " ***************************************************************************\n", - " Iteration 1 (Approx. elapsed time 0.62E-01 s)\n", - " \n", - " Step 1: Model building using BIC\n", - " \n", - " Model building for variable CO2SM_CO2_Enthalpy\n", - " ----\n", - " BIC = 0.750E+04 with CO2SM_CO2_Enthalpy = - 0.38E+06\n", - " ----\n", - " BIC = 0.569E+04 with CO2SM_CO2_Enthalpy = 58. * CO2SM_Temperature - 0.42E+06\n", - " ----\n", - " BIC = 0.542E+04 with CO2SM_CO2_Enthalpy = 55. * CO2SM_Temperature - 0.61E+05 * CO2SM_Pressure/CO2SM_Temperature - 0.41E+06\n", - " ----\n", - " BIC = 0.516E+04 with CO2SM_CO2_Enthalpy = 49. * CO2SM_Temperature + 4.0 * CO2SM_Pressure^2 - 0.15E+06 * CO2SM_Pressure/CO2SM_Temperature - 0.41E+06\n", - " ----\n", - " BIC = 0.502E+04 with CO2SM_CO2_Enthalpy = 0.16E+03 * CO2SM_Temperature - 0.16 * CO2SM_Temperature^2 + 0.76E-04 * CO2SM_Temperature^3 - 0.56E+05 * CO2SM_Pressure/CO2SM_Temperature - 0.44E+06\n", - " ----\n", - " BIC = 0.484E+04 with CO2SM_CO2_Enthalpy = 0.14E+03 * CO2SM_Temperature + 2.5 * CO2SM_Pressure^2 - 0.14 * CO2SM_Temperature^2 + 0.66E-04 * CO2SM_Temperature^3 - 0.11E+06 * CO2SM_Pressure/CO2SM_Temperature - 0.43E+06\n", - " \n", - " Model building for variable CO2SM_CO2_Entropy\n", - " ----\n", - " BIC = 0.219E+04 with CO2SM_CO2_Entropy = - 0.48E+03 * CO2SM_Pressure/CO2SM_Temperature\n", - " ----\n", - " BIC = 0.147E+04 with CO2SM_CO2_Entropy = 1.9 * CO2SM_Pressure - 0.15E+04 * CO2SM_Pressure/CO2SM_Temperature\n", - " ----\n", - " BIC = 0.115E+04 with CO2SM_CO2_Entropy = 0.77E-01 * CO2SM_Temperature - 0.38E+03 * CO2SM_Pressure/CO2SM_Temperature - 50.\n", - " ----\n", - " BIC = 713. with CO2SM_CO2_Entropy = 0.20 * CO2SM_Temperature - 0.94E-04 * CO2SM_Temperature^2 - 0.34E+03 * CO2SM_Pressure/CO2SM_Temperature - 89.\n", - " ----\n", - " BIC = 443. with CO2SM_CO2_Entropy = 0.52 * CO2SM_Temperature - 0.60E-03 * CO2SM_Temperature^2 + 0.26E-06 * CO2SM_Temperature^3 - 0.34E+03 * CO2SM_Pressure/CO2SM_Temperature - 0.15E+03\n", - " ----\n", - " BIC = 317. with CO2SM_CO2_Entropy = 0.54 * CO2SM_Temperature - 0.63E-03 * CO2SM_Temperature^2 + 0.27E-06 * CO2SM_Temperature^3 - 0.26E+03 * CO2SM_Pressure/CO2SM_Temperature + 0.79E-01 * CO2SM_Temperature/CO2SM_Pressure - 0.16E+03\n", - " ----\n", - " BIC = 259. with CO2SM_CO2_Entropy = 0.47 * CO2SM_Temperature + 0.15E-01 * CO2SM_Pressure^2 - 0.53E-03 * CO2SM_Temperature^2 + 0.23E-06 * CO2SM_Temperature^3 - 0.70E-03 * CO2SM_Pressure*CO2SM_Temperature - 0.46E+03 * CO2SM_Pressure/CO2SM_Temperature - 0.13E+03\n", - " ----\n", - " BIC = 240. with CO2SM_CO2_Entropy = - 2.1 * CO2SM_Pressure + 0.55 * CO2SM_Temperature + 0.76E-01 * CO2SM_Pressure^2 - 0.63E-03 * CO2SM_Temperature^2 - 0.94E-03 * CO2SM_Pressure^3 + 0.27E-06 * CO2SM_Temperature^3 - 0.23E+03 * CO2SM_Pressure/CO2SM_Temperature - 0.15E+03\n", - " ----\n", - " BIC = 224. with CO2SM_CO2_Entropy = - 1.9 * CO2SM_Pressure + 0.49 * CO2SM_Temperature + 0.83E-01 * CO2SM_Pressure^2 - 0.57E-03 * CO2SM_Temperature^2 - 0.10E-02 * CO2SM_Pressure^3 + 0.25E-06 * CO2SM_Temperature^3 - 0.73E-08 * (CO2SM_Pressure*CO2SM_Temperature)^2 - 0.36E+03 * CO2SM_Pressure/CO2SM_Temperature - 0.13E+03\n", - " ----\n", - " BIC = 193. with CO2SM_CO2_Entropy = - 3.9 * CO2SM_Pressure + 0.52 * CO2SM_Temperature + 0.17 * CO2SM_Pressure^2 - 0.56E-03 * CO2SM_Temperature^2 - 0.21E-02 * CO2SM_Pressure^3 + 0.24E-06 * CO2SM_Temperature^3 - 0.10E-02 * CO2SM_Pressure*CO2SM_Temperature - 0.36E+03 * CO2SM_Pressure/CO2SM_Temperature - 0.20 * CO2SM_Temperature/CO2SM_Pressure - 0.12E+03\n", - " \n", - " Calculating quality metrics on observed data set.\n", - " \n", - " Quality metrics for output CO2SM_CO2_Enthalpy\n", - " ---------------------------------------------\n", - " SSE OLR: 0.515E+08\n", - " SSE: 0.659E+08\n", - " RMSE: 406.\n", - " R2: 0.999\n", - " R2 adjusted: 0.999\n", - " Model size: 6\n", - " BIC: 0.484E+04\n", - " Cp: 0.659E+08\n", - " AICc: 0.482E+04\n", - " HQC: 0.483E+04\n", - " MSE: 0.168E+06\n", - " SSEp: 0.659E+08\n", - " RIC: 0.659E+08\n", - " MADp: 0.594\n", - " \n", - " Quality metrics for output CO2SM_CO2_Entropy\n", - " --------------------------------------------\n", - " SSE OLR: 541.\n", - " SSE: 558.\n", - " RMSE: 1.18\n", - " R2: 0.997\n", - " R2 adjusted: 0.997\n", - " Model size: 10\n", - " BIC: 193.\n", - " Cp: 178.\n", - " AICc: 154.\n", - " HQC: 169.\n", - " MSE: 1.43\n", - " SSEp: 558.\n", - " RIC: 606.\n", - " MADp: 0.130E+04\n", - " \n", - " Total execution time 0.52 s\n", - " Times breakdown\n", - " OLR time: 0.30 s in 3863 ordinary linear regression problem(s)\n", - " MINLP time: 0.0 s in 0 optimization problem(s)\n", - " Simulation time: 0.0 s to simulate 0 point(s)\n", - " All other time: 0.22 s in 1 iteration(s)\n", - " \n", - " Normal termination\n", - " ***************************************************************************\n" - ] - } - ], - "source": [ - "# Create ALAMO trainer object\n", - "has_alamo = alamo.available()\n", - "if has_alamo:\n", - " trainer = AlamoTrainer(\n", - " input_labels=input_labels,\n", - " output_labels=output_labels,\n", - " training_dataframe=data_training,\n", - " )\n", - "\n", - " # Set ALAMO options\n", - " trainer.config.constant = True\n", - " trainer.config.linfcns = True\n", - " trainer.config.multi2power = [1, 2]\n", - " trainer.config.monomialpower = [2, 3]\n", - " trainer.config.ratiopower = [1]\n", - " trainer.config.maxterms = [10] * len(output_labels) # max terms for each surrogate\n", - " trainer.config.filename = os.path.join(os.getcwd(), \"alamo_run.alm\")\n", - " trainer.config.overwrite_files = True\n", - "\n", - " # Train surrogate (calls ALAMO through IDAES ALAMOPy wrapper)\n", - " success, alm_surr, msg = trainer.train_surrogate()\n", - "\n", - " # save model to JSON\n", - " model = alm_surr.save_to_file(\"alamo_surrogate.json\", overwrite=True)\n", - "\n", - " # create callable surrogate object\n", - " surrogate_expressions = trainer._results[\"Model\"]\n", - " input_labels = trainer._input_labels\n", - " output_labels = trainer._output_labels\n", - " xmin, xmax = [7, 306], [40, 1000]\n", - " input_bounds = {\n", - " input_labels[i]: (xmin[i], xmax[i]) for i in range(len(input_labels))\n", - " }\n", - "\n", - " alm_surr = AlamoSurrogate(\n", - " surrogate_expressions, input_labels, output_labels, input_bounds\n", - " )\n", - "else:\n", - " print(\"Alamo not found.\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.3 Visualizing Surrogates\n", - "\n", - "Now that the surrogate models have been trained, the models can be visualized through scatter, parity and residual plots to confirm their validity in the chosen domain. The training data will be visualized first to confirm the surrogates are fit the data, and then the validation data will be visualized to confirm the surrogates accurately predict new output values." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmEAAAHHCAYAAAD3WI8lAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAACoz0lEQVR4nO2deVxU1fvHP8OqIAyyKJAouK8tauFomRqJ5ZJhiZnlbppY7mbuVl/T3NP0W7llWmpSmZaJS31Lka9pZn5TS364haigDCoqCPf3B811Zpjl3pm7nDvzvF8vX8Lcy51zzz33nM95nuc8R8dxHAeCIAiCIAhCUXzULgBBEARBEIQ3QiKMIAiCIAhCBUiEEQRBEARBqACJMIIgCIIgCBUgEUYQBEEQBKECJMIIgiAIgiBUgEQYQRAEQRCECpAIIwiCIAiCUAESYQRBEARBECpAIowgCIJwyNq1a6HT6XDmzBm1i0IQHgWJMIIgVOfQoUNIS0tDs2bNEBwcjNq1a6N37974888/K53boUMH6HQ66HQ6+Pj4IDQ0FI0aNcJLL72EjIwMUd/7zTff4PHHH0eNGjUQFBSEunXronfv3ti5c6dUt1aJf/3rX/jqq68qfX7gwAHMnDkThYWFsn23NTNnzuTrUqfTISgoCE2bNsXUqVNRVFQkyXds3LgRixcvluRaBOFpkAgjCEJ15s6di61bt+KJJ57AkiVLMGzYMPznP/9By5Ytcfz48Urn16pVC+vXr8cnn3yC9957Dz169MCBAwfQuXNnpKamorS01Ol3zp8/Hz169IBOp8PkyZOxaNEi9OrVC3/99Rc+//xzOW4TgGMRNmvWLEVFmIkVK1Zg/fr1WLhwIRo3box33nkHXbp0gRRbC5MIIwj7+KldAIIgiLFjx2Ljxo0ICAjgP0tNTUWLFi3w7rvv4tNPP7U4X6/Xo1+/fhafvfvuu3jttdfwwQcfID4+HnPnzrX7fXfv3sVbb72FJ598Ert27ap0/PLly27eETsUFxcjKCjI4TnPPfccIiMjAQDDhw9Hr169kJ6ejoMHD8JgMChRTILwSsgSRhCE6rRt29ZCgAFAgwYN0KxZM5w4cULQNXx9fbF06VI0bdoUy5Ytg9FotHtufn4+ioqK0K5dO5vHa9SoYfH77du3MXPmTDRs2BBVqlRBTEwMUlJSkJ2dzZ8zf/58tG3bFhEREahatSpatWqFL774wuI6Op0ON2/exLp163gX4IABAzBz5kxMmDABAJCQkMAfM4/B+vTTT9GqVStUrVoV4eHh6NOnD86fP29x/Q4dOqB58+Y4fPgw2rdvj6CgILz55puC6s+cTp06AQBycnIcnvfBBx+gWbNmCAwMRGxsLEaOHGlhyevQoQN27NiBs2fP8vcUHx8vujwE4amQJYwgCCbhOA6XLl1Cs2bNBP+Nr68vXnjhBUybNg0///wzunbtavO8GjVqoGrVqvjmm28watQohIeH271mWVkZunXrhj179qBPnz54/fXXcf36dWRkZOD48eOoV68eAGDJkiXo0aMHXnzxRZSUlODzzz/H888/j+3bt/PlWL9+PYYMGYJHHnkEw4YNAwDUq1cPwcHB+PPPP/HZZ59h0aJFvFUqKioKAPDOO+9g2rRp6N27N4YMGYIrV67g/fffR/v27fHrr78iLCyML29BQQGeeuop9OnTB/369UPNmjUF158Jk7iMiIiwe87MmTMxa9YsJCUlYcSIETh16hRWrFiBQ4cOYf/+/fD398eUKVNgNBpx4cIFLFq0CABQrVo10eUhCI+FIwiCYJD169dzALhVq1ZZfP74449zzZo1s/t3X375JQeAW7JkicPrT58+nQPABQcHc0899RT3zjvvcIcPH6503urVqzkA3MKFCysdKy8v538uLi62OFZSUsI1b96c69Spk8XnwcHBXP/+/Std67333uMAcDk5ORafnzlzhvP19eXeeecdi89///13zs/Pz+Lzxx9/nAPArVy50u59mzNjxgwOAHfq1CnuypUrXE5ODvfvf/+bCwwM5GrWrMndvHmT4ziOW7NmjUXZLl++zAUEBHCdO3fmysrK+OstW7aMA8CtXr2a/6xr165cnTp1BJWHILwNckcSBMEcJ0+exMiRI2EwGNC/f39Rf2uytFy/ft3hebNmzcLGjRvx0EMP4fvvv8eUKVPQqlUrtGzZ0sIFunXrVkRGRmLUqFGVrqHT6fifq1atyv987do1GI1GPPbYYzhy5Iio8luTnp6O8vJy9O7dG/n5+fy/6OhoNGjQAPv27bM4PzAwEAMHDhT1HY0aNUJUVBQSEhLwyiuvoH79+tixY4fdWLLdu3ejpKQEo0ePho/PvWFk6NChCA0NxY4dO8TfKEF4IeSOJAiCKfLy8tC1a1fo9Xp88cUX8PX1FfX3N27cAACEhIQ4PfeFF17ACy+8gKKiImRlZWHt2rXYuHEjunfvjuPHj6NKlSrIzs5Go0aN4OfnuLvcvn073n77bRw9ehR37tzhPzcXaq7w119/geM4NGjQwOZxf39/i9/vu+++SvF1zti6dStCQ0Ph7++PWrVq8S5We5w9exZAhXgzJyAgAHXr1uWPEwThGBJhBEEwg9FoxFNPPYXCwkL89NNPiI2NFX0NU0qL+vXrC/6b0NBQPPnkk3jyySfh7++PdevWISsrC48//rigv//pp5/Qo0cPtG/fHh988AFiYmLg7++PNWvWYOPGjaLvwZzy8nLodDp89913NgWpdYyVuUVOKO3bt+fj0AiCUA4SYQRBMMHt27fRvXt3/Pnnn9i9ezeaNm0q+hplZWXYuHEjgoKC8Oijj7pUjtatW2PdunW4ePEigIrA+aysLJSWllayOpnYunUrqlSpgu+//x6BgYH852vWrKl0rj3LmL3P69WrB47jkJCQgIYNG4q9HVmoU6cOAODUqVOoW7cu/3lJSQlycnKQlJTEf+auJZAgPBmKCSMIQnXKysqQmpqKzMxMbNmyxaXcVGVlZXjttddw4sQJvPbaawgNDbV7bnFxMTIzM20e++677wDcc7X16tUL+fn5WLZsWaVzuX+Smfr6+kKn06GsrIw/dubMGZtJWYODg20mZA0ODgaASsdSUlLg6+uLWbNmVUqeynEcCgoKbN+kjCQlJSEgIABLly61KNOqVatgNBotVqUGBwc7TBdCEN4MWcIIglCdcePGYdu2bejevTuuXr1aKTmrdWJWo9HIn1NcXIzTp08jPT0d2dnZ6NOnD9566y2H31dcXIy2bduiTZs26NKlC+Li4lBYWIivvvoKP/30E3r27ImHHnoIAPDyyy/jk08+wdixY/Hf//4Xjz32GG7evIndu3fj1VdfxTPPPIOuXbti4cKF6NKlC/r27YvLly9j+fLlqF+/Po4dO2bx3a1atcLu3buxcOFCxMbGIiEhAYmJiWjVqhUAYMqUKejTpw/8/f3RvXt31KtXD2+//TYmT56MM2fOoGfPnggJCUFOTg6+/PJLDBs2DOPHj3er/sUSFRWFyZMnY9asWejSpQt69OiBU6dO4YMPPsDDDz9s8bxatWqFTZs2YezYsXj44YdRrVo1dO/eXdHyEgSzqLk0kyAIguPupVaw98/RudWqVeMaNGjA9evXj9u1a5eg7ystLeU++ugjrmfPnlydOnW4wMBALigoiHvooYe49957j7tz547F+cXFxdyUKVO4hIQEzt/fn4uOjuaee+45Ljs7mz9n1apVXIMGDbjAwECucePG3Jo1a/gUEOacPHmSa9++PVe1alUOgEW6irfeeou77777OB8fn0rpKrZu3co9+uijXHBwMBccHMw1btyYGzlyJHfq1CmLunGUvsMaU/muXLni8DzrFBUmli1bxjVu3Jjz9/fnatasyY0YMYK7du2axTk3btzg+vbty4WFhXEAKF0FQZih4zgJNgcjCIIgCIIgREExYQRBEARBECpAIowgCIIgCEIFSIQRBEEQBEGoAIkwgiAIgiAIFSARRhAEQRAEoQIkwgiCIAiCIFSAkrUyTHl5OXJzcxESEkJbfxAEQRCERuA4DtevX0dsbCx8fOzbu0iEMUxubi7i4uLULgZBEARBEC5w/vx51KpVy+5xEmEMExISAqDiITraB48gCIIgCHYoKipCXFwcP47bg0QYw5hckKGhoSTCCIIgCEJjOAslosB8giAIgiAIFSARRhAEQRAEoQIkwgiCIAiCIFSARBhBEARBEIQKkAgjCIIgCIJQARJhBEEQBEEQKkAijCAIgiAIQgVIhBEEQRAEQagAiTCCIAiCIAgVIBFGEARBEAShAiTCCIIgCIIgVEAzIqxHjx6oXbs2qlSpgpiYGLz00kvIzc21OIfjOMyfPx8NGzZEYGAg7rvvPrzzzjsW5/zwww9o2bIlAgMDUb9+faxdu7bSdy1fvhzx8fGoUqUKEhMT8d///tfi+O3btzFy5EhERESgWrVq6NWrFy5dumRxzrlz59C1a1cEBQWhRo0amDBhAu7evStNZRCycOECsG9fxf8EQRAEITeaEWEdO3bE5s2bcerUKWzduhXZ2dl47rnnLM55/fXX8fHHH2P+/Pk4efIktm3bhkceeYQ/npOTg65du6Jjx444evQoRo8ejSFDhuD777/nz9m0aRPGjh2LGTNm4MiRI3jggQeQnJyMy5cv8+eMGTMG33zzDbZs2YIff/wRubm5SElJ4Y+XlZWha9euKCkpwYEDB7Bu3TqsXbsW06dPl7GGlMcTREtBQQEuXryIBQsKUacOh06dgDp1OCxYUIiLFy+ioKBA7SISBOEG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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, + "cells": [ { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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4uKQmpqKwYMH4+DBgz7b/Pnnn5gwYQKSkpLQuHFjDB06FMePHzdpxGwi5zz27t273jV51113mTRiNnnppZfQuXNnT4G93NxcbNy40fM5XYvSSJ1Ds69DEj5hyNmzZ3HZZZfhhRdeEPx83rx5ePbZZ/Hyyy9j586daNSoEfr164c///zT4JGyjdR5BID+/fujrKzM89/bb79t4AitwZdffokJEyZgx44d2Lx5M2pqatC3b1+cPXvWs83999+PDz/8EO+++y6+/PJLlJaWYsiQISaOmj3knEcAGDt2rM81OW/ePJNGzCYZGRl46qmnsGvXLnz33Xfo06cP/v73v+Onn34CQNeiHKTOIWDydcgRYQ0A7v333/e8drlcXLNmzbj58+d73isvL+diYmK4t99+24QRWgP/88hxHDdy5Eju73//uynjsTInTpzgAHBffvklx3Hu6y8qKop79913Pdvs37+fA8Bt377drGEyj/955DiOu+aaa7j77rvPvEFZlCZNmnCvv/46XYtBwJ9DjjP/OiSLD+FDUVERjh07hry8PM97drsd3bp1w/bt200cmTX54osvkJqainbt2uHuu++Gw+Ewe0jM43Q6AQCJiYkAgF27dqGmpsbnmmzfvj1atmxJ12QA/M8jz1tvvYXk5GR06tQJ06dPR1VVlRnDswR1dXV45513cPbsWeTm5tK1qAL/c8hj5nVITUoJH44dOwYAaNq0qc/7TZs29XxGyKN///4YMmQIsrKycPjwYfzf//0fbrjhBmzfvh2RkZFmD49JXC4XJk2ahJ49e6JTp04A3NdkdHQ0EhISfLala1IcofMIAMOHD0erVq2Qnp6OvXv3Ytq0aTh48CDWrVtn4mjZ48cff0Rubi7+/PNPNG7cGO+//z46dOiAPXv20LUoE7FzCJh/HZLwIQiduPXWWz3/vvTSS9G5c2dkZ2fjiy++wHXXXWfiyNhlwoQJ2LdvH7755huzh2JpxM7juHHjPP++9NJLkZaWhuuuuw6HDx9Gdna20cNklnbt2mHPnj1wOp147733MHLkSHz55ZdmD8tSiJ3DDh06mH4dkquL8KFZs2YAUC9L4fjx457PCHW0bt0aycnJOHTokNlDYZKJEydiw4YN2LJlCzIyMjzvN2vWDNXV1SgvL/fZnq5JYcTOoxDdunUDALom/YiOjkabNm2Qk5ODOXPm4LLLLsMzzzxD16ICxM6hEEZfhyR8CB+ysrLQrFkzfPbZZ573KioqsHPnTh//LKGckpISOBwOpKWlmT0UpuA4DhMnTsT777+Pzz//HFlZWT6f5+TkICoqyueaPHjwIH777Te6Jr2QOo9C7NmzBwDompTA5XLh/PnzdC0GAX8OhTD6OiRXVxhy5swZH2VdVFSEPXv2IDExES1btsSkSZPwxBNPoG3btsjKysIjjzyC9PR0DB482LxBM0ig85iYmIjZs2dj6NChaNasGQ4fPoypU6eiTZs26Nevn4mjZo8JEyZg1apV+M9//oO4uDhPrITdbkdsbCzsdjsKCgowefJkJCYmIj4+Hvfccw9yc3PRvXt3k0fPDlLn8fDhw1i1ahVuvPFGJCUlYe/evbj//vvRq1cvdO7c2eTRs8P06dNxww03oGXLlqisrMSqVavwxRdf4NNPP6VrUSaBziET16Fp+WSEaWzZsoUDUO+/kSNHchznTml/5JFHuKZNm3IxMTHcddddxx08eNDcQTNIoPNYVVXF9e3bl0tJSeGioqK4Vq1acWPHjuWOHTtm9rCZQ+gcAuCWLVvm2ebcuXPcv/71L65JkyZcw4YNuX/84x9cWVmZeYNmEKnz+Ntvv3G9evXiEhMTuZiYGK5NmzbclClTOKfTae7AGWP06NFcq1atuOjoaC4lJYW77rrruE2bNnk+p2tRmkDnkIXr0MZxHGeMxCIIgiAIgjAXivEhCIIgCCJsIOFDEARBEETYQMKHIAiCIIiwgYQPQRAEQRBhAwkfgiAIgiDCBhI+BEEQBEGEDSR8CIIgCIIIG0j4EARBEAQRNpDwIQjCh2PHjuGee+5B69atERMTgxYtWmDQoEE+/Ym2bduGG2+8EU2aNMFFF12ESy+9FAsXLkRdXZ1nm+LiYhQUFCArKwuxsbHIzs7GrFmzUF1d7fN9r732Gi677DI0btwYCQkJuOKKKzBnzhzP548++ihsNhv69+9fb6zz58+HzWZD7969ZR0bvy+bzYYGDRogMzMT999/P86cOaPwLBEEYVWoVxdBEB6Ki4vRs2dPJCQkYP78+bj00ktRU1ODTz/9FBMmTMCBAwfw/vvvY9iwYbjzzjuxZcsWJCQkoLCwEFOnTsX27duxZs0a2Gw2HDhwAC6XC6+88gratGmDffv2YezYsTh79iwWLFgAAFi6dCkmTZqEZ599Ftdccw3Onz+PvXv3Yt++fT7jSktLw5YtW1BSUuLTcXzp0qVo2bKlomPs2LEjCgsLUVtbi61bt2L06NGoqqrCK6+8Um/b6upqREdHqziT+sHimAjCUhjWHIMgCOa54YYbuObNm3Nnzpyp99kff/zBnTlzhktKSuKGDBlS7/P169dzALh33nlHdP/z5s3jsrKyPK///ve/c6NGjQo4plmzZnGXXXYZN3DgQO6JJ57wvL9161YuOTmZu/vuu7lrrrlGxtFd2Jc3Y8eO5Zo1a+bz+WuvvcZlZmZyNpuN4zj3sRcUFHDJyclcXFwcd+2113J79uzx7GPPnj1c7969ucaNG3NxcXFcly5duG+//ZbjOI4rLi7mBg4cyCUkJHANGzbkOnTowH300Uccx3HcsmXLOLvd7jOe999/n/OemtWOiSAIYcjVRRAEAOD06dP45JNPMGHCBDRq1Kje5wkJCdi0aRMcDgcefPDBep8PGjQIF198Md5++23R73A6nUhMTPS8btasGXbs2IEjR45Ijm/06NFYvny55/XSpUtx++23B239iI2N9XG/HTp0CGvXrsW6deuwZ88eAMAtt9yCEydOYOPGjdi1axe6dOmC6667DqdPnwYA3H777cjIyMC3336LXbt24aGHHkJUVBQAd9f08+fP46uvvsKPP/6IuXPnonHjxorGqGZMBEEIQ64ugiAAuBdXjuPQvn170W1+/vlnAMAll1wi+Hn79u092wjt/7nnnvO4uQBg1qxZGDJkCDIzM3HxxRcjNzcXN954I26++WZERPg+lw0cOBB33XUXvvrqK+Tk5GDNmjX45ptvsHTpUqWH6mHXrl1YtWoV+vTp43mvuroab7zxBlJSUgAA33zzDf773//ixIkTiImJAQAsWLAAH3zwAd577z2MGzcOv/32G6ZMmeI5d23btvXs77fffsPQoUNx6aWXAgBat26teJxqxkQQhDAkfAiCAABwHKfLtgDw+++/o3///rjlllswduxYz/tpaWnYvn079u3bh6+++grbtm3DyJEj8frrr+OTTz7xET9RUVEYMWIEli1bhl9//RUXX3wxOnfurGgcAPDjjz+icePGqKurQ3V1NQYMGIDnn3/e83mrVq08AgMAfvjhB5w5cwZJSUk++zl37hwOHz4MAJg8eTLGjBmDlStXIi8vD7fccguys7MBAPfeey/uvvtubNq0CXl5eRg6dKjicasZE0EQwpDwIQgCgNtKwQcli3HxxRcDAPbv348ePXrU+3z//v3o0KGDz3ulpaW49tpr0aNHD7z66quC++3UqRM6deqEf/3rX7jrrrtw9dVX48svv8S1117rs93o0aPRrVs37Nu3D6NHj1Z6iACAdu3aYf369WjQoAHS09Prucr83XxnzpxBWloavvjii3r7SkhIAODOFhs+fDg++ugjbNy4EbNmzcI777yDf/zjHxgzZgz69euHjz76CJs2bcKcOXPw9NNP45577kFEREQ9EVlTU1Pve9SMiSAIYSjGhyAIAEBiYiL69euHF154AWfPnq33eXl5Ofr27YvExEQ8/fTT9T5fv349fvnlF9x2222e937//Xf07t0bOTk5WLZsWT33lRC8cBIaQ8eOHdGxY0fs27cPw4cPV3J4HqKjo9GmTRtkZmbKig/q0qULjh07hgYNGqBNmzY+/yUnJ3u2u/jii3H//fdj06ZNGDJkCJYtW+b5rEWLFrjrrruwbt06PPDAA3jttdcAACkpKaisrPQ5Vj6GR4sxEQRRHxI+BEF4eOGFF1BXV4errroKa9euxS+//IL9+/fj2WefRW5uLho1aoRXXnkF//nPfzBu3Djs3bsXxcXFWLJkCUaNGoWbb74Zw4YNA3BB9LRs2RILFizAyZMncezYMRw7dszzfXfffTcef/xxbN26FUeOHMGOHTtwxx13ICUlBbm5uYJj/Pzzz1FWVmaYZSMvLw+5ubkYPHgwNm3ahOLiYmzbtg0zZszAd999h3PnzmHixIn44osvcOTIEWzduhXffvutJw5q0qRJ+PTTT1FUVITdu3djy5Ytns+6deuGhg0b4v/+7/9w+PBhrFq1yieAW+2YCIIQh1xdBEF4aN26NXbv3o0nn3wSDzzwAMrKypCSkoKcnBy89NJLAICbb74ZW7ZswZNPPomrr74af/75J9q2bYsZM2Zg0qRJsNlsAIDNmzfj0KFDOHTokE/tHeBCjFBeXh6WLl2Kl156CQ6HA8nJycjNzcVnn31WL36FRyjjTE9sNhs+/vhjzJgxA3feeSdOnjyJZs2aoVevXmjatCkiIyPhcDhwxx134Pjx40hOTsaQIUMwe/ZsAEBdXR0mTJiAkpISxMfHo3///li0aBEAt5XtzTffxJQpU/Daa6/huuuuw6OPPioZnCw1JoIgxLFxSqMUCYIgCIIgLAq5ugiCIAiCCBtI+BAEETI0btxY9L+vv/7a7OERBMEA5OoiCCJkOHTokOhnzZs3R2xsrIGjIQiCRUj4EARBEAQRNpCriyAIgiCIsIGED0EQBEEQYQMJH4IgCIIgwgYSPgRBEARBhA0kfAiCIAiCCBtI+BAEQRAEETaQ8CEIgiAIImwg4UMQBEEQRNjw/4yQWz4vK+05AAAAAElFTkSuQmCC", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "###############################################################################" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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FKNGjRL10Dlw4ADuvfdetGrVCi1atMDtt9+OlStXoqqqij8mJycHycnJCA8Ph7u7OyIiIrBgwQKUl5eLvu/dd99Fjx490LJlS/j4+KBnz558s0oAWLhwITQaDYYNG2Yx1uXLl0Oj0WDAgAFWryssLAwajUb216RJk2y/WY3cgAEDkJqa2tDDIKRZcG7oARBC7C8nJwf9+vWDj48Pli9fjttvvx0VFRX49ttvMW3aNPz555/4/PPPkZiYiEceeQR79+6Fj48P0tPTMXv2bGRkZGDLli3QaDT4888/YTQa8c4776Bjx47IysrCo48+imvXrmHFihUAgPfffx+pqal49dVXcffdd+PmzZs4fvw4srKyROMKCgrC3r17kZeXh5CQEP71999/H+3atVN1bb/++isfmB04cABjxozBqVOn4O3tDQBwd3e3xy2sFxUVFXBxcam37ysvL4erq2u9fR8hjZJdGl8QQhqV4cOHs7Zt27KrV69avHflyhV29epV5ufnxxISEize37FjBwPAPv30U9nzv/zyyyw8PJz/+d///jebNGmS4pgWLFjAevTowUaOHMleeOEF/vX9+/czf39/9sQTT7C7775bxdVV43oGXblyhX/tiy++YD179mRubm4sPDycLVy4UNT/CgB7++232YgRI5i7uzvr0qULO3DgADt9+jS7++67mYeHB4uLixP1X+PG/vbbb7OQkBDm7u7O7r//flE/JsYYe/fdd1mXLl2Ym5sb69y5M3vjjTf497Kzs/n72r9/f+bm5sbWr1/PLl++zB544AEWHBzM3N3dWVRUFNu0aRP/uYkTJ1r0RMrOzmbr169nOp1O9P2ff/45E/7fOjfud999l4WFhTGNRsMYM/0dSE5OZv7+/szLy4sNHDiQHT161KZ7T0hTRUtdhDQzRUVF+OabbzBt2jR4enpavO/j44M9e/ZAr9fj6aeftnh/1KhR6NSpEz755BPZ7zAYDPD19eV/btOmDQ4ePIhz585ZHd/kyZOxYcMG/uf3338f48ePt8tMxE8//YSHH34Y06dPxx9//IF33nkHGzZswIsvvig6bvHixXj44Ydx9OhRdOnSBePGjcNjjz2GuXPn4rfffgNjDCkpKaLPnDlzBlu2bMHOnTvxzTff4MiRI/jvf//Lv//xxx9j/vz5ePHFF3Hy5Em89NJLeO655/DBBx+I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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Supercritical CO2 Property Surrogate with ALAMO Surrogate Object - Training Surrogate (Part 1)\n", + "\n", + "Maintainer: Javal Vyas\n", + "\n", + "Author: Javal Vyas\n", + "\n", + "Updated: 2024-01-24\n", + "\n", + "## 1. Introduction\n", + "This notebook demonstrates leveraging of the ALAMO surrogate trainer and IDAES Python wrapper to produce an surrogate based on supercritical CO2 data from simulation using REFPROP package.\n", + "\n", + "There are several reasons to build surrogate models for complex processes, even when higher fidelity models already exist (e.g., reduce model size, improve convergence reliability, replace models with externally compiled code and make them fully-equation oriented).\n", + "\n", + "In this example, we intend to make a surrogate for the physical properties of S-CO2 to be embedded in the property package. This property package will be used to get the physical properties of S-CO2 in the flowsheet simulation. To learn more about property package, see the [IDAES-PSE](https://github.com/IDAES/idaes-pse) Github Page or IDAES [Read-the-docs](https://idaes-pse.readthedocs.io/en/latest/). \n", + "\n", + "### 1.1 Need for ML Surrogate\n", + "\n", + "The properties predicted by the surrogate are enthalpy and entropy of the S-CO2 based on the \n", + "pressure and temperature of the system. The analytical equation of getting the enthalpy and entropy from pressure and temperature are in the differential form and would make the problem a DAE system. To counter this problem and keep the problem algebraic, we will use the surrogates and relate enthalpy and entropy with the pressure and temperature as an algebraic equation.\n", + "\n", + "### 1.2 Supercritical CO2 cycle process\n", + "\n", + "The following flowsheet will be used to optimize the design for the cooling of the fusion reactor using supercritical CO2 cycle. We shall focus on training the surrogate for this notebook and move to constructing the flowsheet and the properties package in the subsequent notebooks. The take away from this flowsheet is that, 3 variables can be measured in any given unit which are flow, pressure and temperature and other properties can be calculated using them. Thus, surrogate should have pressure and temperature as the inputs.\n", + "\n", + "In this example, we will train a model using AlamoTrainer for our data and then demonstrate that we can solve an optimization problem with that surrogate model. " ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import Image\n", + "from pathlib import Path\n", + "\n", + "\n", + "def datafile_path(name):\n", + " return Path(\"..\") / name\n", + "\n", + "\n", + "Image(datafile_path(\"CO2_flowsheet.png\"))" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Training and Validating Surrogate\n", + "\n", + "First, let's import the required Python and IDAES modules:" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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COnn86s0VcSVK1eE1NRUITo6WvDy8hIaNGggPPLII8KOHTu06+zevVtITk4WAgICBC8vL6Fly5bCe++9J9y/f1+7zooVK4yGg2v+NNatWycMGDBACA8PF7y8vISIiAhh6NChwrFjx7TraIadS3nuuedkD7sXBEEoKCgQZs+eLTRp0kTw8vIS6tevLyQlJQkbNmwQKioqtOsdO3ZMGDp0qBAcHCzUrFlTiIuLE1599VWhuLhYu45maLvYX1ZWltmyaIbdi/2tXr1acvs/+OADITo6Wvvvs2fPCp07dxZ8fHyMht3funVLu97hw4f1ypaVlSX07t1b8PHxESIjI4V//etfQs+ePYXnnntO+x6xYfeLFy8W/u///k/w9vYWYmJihDVr1hht2+3btwVfX19hypQpZveDLYbdq/4qHJlRWFiIwMBA7XBIIiJ7uXv3LrKyshAbG+uQ5hMie1KpVNiwYQMGDx5scr3s7GzExcXhwIEDePDBB02ua+qckXv/ZqdqIiIichplZWW4ceMGXn31VXTu3NlsMGQr7ENERET0F8NcPrp/v/32W5WXZ9KkSZLlmTRpUpWXpyrs3bsX4eHhOHDgAJYuXVpl38saIiIior8Y5u/R1aBBg6oryF9ef/110azeAFy2+4a5njq9evVSnMPJFhgQERER/cVULh9HqFevHurVq+foYrgFNpkRERGR22NARETkpOTmgiFyd7Y4V9hkRkTkZLy8vODh4YErV64gNDQUXl5edp3UkshVCYKAe/fu4fr16/Dw8ICXl5fFn8WAiIjIyXh4eCA2Nha5ubmiU0QQkT5fX19ERUXJmtpFCgMiIiIn5OXlhaioKNy/f9+iOaaI3IWnpydq1KhhdS0qAyIiIielUqlQs2ZNxTOfE5Fy7FRNREREbo8BEREREbk9BkRERETk9hgQERERkdtjQERERERujwERERERuT0GREREROT2GBARERGR22NARERERG6PARERERG5PQZERERE5PYYEBEREZHbY0BEREREbo8BEREREbk9BkRERETk9hgQERERkdtjQERERERujwERERERuT0GREREROT2GBARERGR22NARORgueoSpGfmI1dd4uiiEBG5rRqOLgCRO1tzIAdz1h9HhQB4qIC0lAQM7xDl6GIREbkd1hAROUiuukQbDAFAhQC8vP4Ea4qIiByAARGRg2TlF2uDIY1yQUB2/h3HFIiIyI0xICJykNgQP3io9F/zVKkQE+LrmAIREbkxBkREDhIe6IO0lAR4qiqjIk+VCm+ntEJ4oI+DS0ZE5H7YqZrIgYZ3iEKP+FBk599BTIgvgyEiIgdhQETkYOGBPgyEiIgcjE1mRERE5PYYEBEREZHbY0BEREREbo8BEREREbk9BkRERETk9hwaEKWlpaFDhw6oXbs26tWrh8GDB+Ps2bN669y9exepqamoW7cu/P39MXToUFy9elVvnZycHAwcOBC+vr6oV68eXnrpJdy/f19vnZ07d+LBBx+Et7c3GjdujJUrV9p784iIiMhFODQg2rVrF1JTU7Fv3z5s2bIFZWVl6Nu3L4qLi7XrPP/88/jhhx+wdu1a7Nq1C1euXEFKSop2eXl5OQYOHIh79+4hPT0d/+///T+sXLkSr732mnadrKwsDBw4EL1798aRI0cwffp0jB8/Hr/++muVbi8RERE5J5UgCIL51arG9evXUa9ePezatQs9evSAWq1GaGgoVq1ahWHDhgEAzpw5g+bNmyMjIwOdO3fGzz//jIcffhhXrlxB/fr1AQBLly7FrFmzcP36dXh5eWHWrFnYtGkTTpw4of2uESNGoKCgAL/88ousshUWFiIwMBBqtRoBAQG233giIiKyObn3b6fqQ6RWqwEAwcHBAICDBw+irKwMSUlJ2nWaNWuGqKgoZGRkAAAyMjKQkJCgDYYAIDk5GYWFhTh58qR2Hd3P0Kyj+QwxpaWlKCws1PsjIiKi6slpAqKKigpMnz4dXbt2RatWrQAAeXl58PLyQlBQkN669evXR15ennYd3WBIs1yzzNQ6hYWFKCkpES1PWloaAgMDtX+RkZFWbyMRERE5J6cJiFJTU3HixAl8/fXXji4KAGDOnDlQq9Xav4sXLzq6SERERGQnTjGX2dSpU/Hjjz9i9+7daNiwofb1sLAw3Lt3DwUFBXq1RFevXkVYWJh2nd9//13v8zSj0HTXMRyZdvXqVQQEBMDHR3wOKW9vb3h7e1u9bUREROT8HFpDJAgCpk6dig0bNmD79u2IjY3VW96uXTvUrFkT27Zt07529uxZ5OTkIDExEQCQmJiI48eP49q1a9p1tmzZgoCAALRo0UK7ju5naNbRfAYRERG5N4eOMpsyZQpWrVqF77//Hk2bNtW+HhgYqK25mTx5Mn766SesXLkSAQEBmDZtGgAgPT0dQOWw+7Zt2yIiIgKLFi1CXl4ennzySYwfPx5vv/02gMph961atUJqairGjRuH7du349lnn8WmTZuQnJwsq6wcZUZEROR65N6/HRoQqVQq0ddXrFiBMWPGAKhMzPjCCy9g9erVKC0tRXJyMj799FNtcxgAXLhwAZMnT8bOnTvh5+eH0aNHY+HChahR4+8WwZ07d+L555/HqVOn0LBhQ8ydO1f7HXIwICIiInI9LhEQuRIGRERERK7HJfMQERERETkCAyIiIiJyewyIiIiIyO0xICK3k6suQXpmPnLV4lnKiYjI/ThFYkaiqrLmQA7mrD+OCgHwUAFpKQkY3iHK0cUiIiIHYw0RuY1cdYk2GAKACgF4ef0J1hQREREDInIfWfnF2mBIo1wQkJ1/xzEFIiIip8GAiNxGbIgfPAxygXqqVIgJ8XVMgYiIyGkwICK3ER7og7SUBHj+lSHdU6XC2ymtEB4oPsEvERG5D3aqJrcyvEMUesSHIjv/DmJCfBkMERERAAZE5IbCA30YCBERkR42mREREZHbY0BEREREbo8BEREREbk9BkRERETk9hgQERERkdtjQERERERujwERERERuT0GREREROT2GBARERGR22NARERERG6PARERERG5PQZERERE5PYYEBEREZHbY0BEREREbo8BEREREbk9BkRERETk9hgQERERkdtjQERERERujwERERERuT0GREREROT2LAqIduzYYetyEBERETmMRQFRv379EBcXhzfffBMXL160dZmIiIiIqpRFAdHly5cxdepUrFu3Do0aNUJycjK++eYb3Lt3z9blIyIiIrI7iwKikJAQPP/88zhy5Aj279+P+Ph4TJkyBREREXj22Wdx9OhRW5eTiIiIyG6s7lT94IMPYs6cOZg6dSqKioqwfPlytGvXDt27d8fJkydtUUYiIiIiu7I4ICorK8O6deswYMAAREdH49dff8W//vUvXL16FefPn0d0dDQeffRRW5aViIiIyC5UgiAISt80bdo0rF69GoIg4Mknn8T48ePRqlUrvXXy8vIQERGBiooKmxXWkQoLCxEYGAi1Wo2AgABHF4eIiIhkkHv/rmHJh586dQqffPIJUlJS4O3tLbpOSEgIh+cTERGRS7CohsgdsYaIiIjI9di1hggAzp49i08++QSn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U7qITvWidFtNrQfIv1ibqwW1pJbU0puts6asqOrvqqo8Nra45li776QC+pEdI7Hq94t6r8sJquVm5jd1XEkdv2Id/x1931DCw9EFqAr5+fkoLy9H/fr19V6vX78+8vLyRN+TlpaGwMBA7V9kZGRVFFURzUEp9iN6qlR4vFOU9mRMS0monCn+r2ULUxKwd85DWD2hMzakdoGHSv/9Hqq/O8rpfqajm47CA32QGFfXrlX2uvvJcBoRZye2DeamWNGdFsSS75P6Pcz9VqL7e2iCrGBI6v1iQYX2PDE8oGHdtltreIco7JndG6sndMae2b1l1W5obma6nOG8rGq2Po5Nsec1Rw6p33xanyaYM6CZdpmSiXB1zxuR00L7eaaOK7HjVzNaUcnnOBO3GGV25coVNGjQAOnp6UhMTNS+PnPmTOzatQv79xuPBBCrIYqMjHTaUWa6HSGlRnyZ6tEvltYfgFWjyFxVVY18sCepbaiq0XpKWLu/5b7/6MVbRqMwHb3tljA3DY07cMbj2J5M/eaWnj+Go+3k3EOsLaujyB1l5hYB0b179+Dr64t169Zh8ODB2tdHjx6NgoICfP/992Y/w5mH3WvY48ZSHYID0ueMF6yqUl22nedl9fkt5aqK39xW3+FsxycDIgOdOnVCx44d8cknnwAAKioqEBUVhalTp8rqVO0KARGRXM52wapK7rzt1Q1/S5KDeYgMzJgxA6NHj0b79u3RsWNHfPjhhyguLtaOOiNyJ86W/6MqufO2Vzf8LcmW3CYgGj58OK5fv47XXnsNeXl5aNu2LX755RejjtZERETkftymycxabDIjIiJyPXLv324x7J6IiIjIFAZERERE5PYYEBEREZHbY0BEREREbo8BEREREbk9BkRERETk9hgQERERkdtjQERERERujwERERERuT23mbrDWpqE3oWFhQ4uCREREcmluW+bm5iDAZFMt2/fBgBERkY6uCRERESk1O3btxEYGCi5nHOZyVRRUYErV66gdu3aUKlUji5OlSssLERkZCQuXrzIudyswP1oPe5D2+B+tA3uR9uw534UBAG3b99GREQEPDykewqxhkgmDw8PNGzY0NHFcLiAgACe9DbA/Wg97kPb4H60De5H27DXfjRVM6TBTtVERETk9hgQERERkdtjQESyeHt7Y968efD29nZ0UVwa96P1uA9tg/vR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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# Import statements\n", + "import os\n", + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "# Import IDAES libraries\n", + "from idaes.core.surrogate.sampling.data_utils import split_training_validation\n", + "from idaes.core.surrogate.alamopy import AlamoTrainer, AlamoSurrogate, alamo\n", + "from idaes.core.surrogate.plotting.sm_plotter import (\n", + " surrogate_scatter2D,\n", + " surrogate_parity,\n", + " surrogate_residual,\n", + ")" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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eXk5gBuLE7oiKysLBoMBkyZNcunzpI0CYxk25xSiwFimdVKIiKgKUhSonDt3zmq9n6ioKKxevRqXL19Gnz59UFpa6lIitm3bhjlz5qB169YufZ60sWjbcXTOWoMhc39F56w1WLTtuPMPERERKaAoUGncuDEOHjxo9VpoaChWrVqFsrIy3HvvvYoTUFxcjIceeghz585FRESE4s+TNgqMZZi6ZB8q/2rpqxSA55fs99maFdYMERHpk6JApWfPnsjOzrZ7vXbt2li5ciVq1aqlOAHjx49H37590aNHD8WfJe3kFpaYgxSTCkFAXqFrtWpaYs0QEZF+KepM+/LLL+PUqVOi74WGhuKnn37Czp07ZX/fwoULsXPnTmzbtk3W9uXl5ea+MAC4MrOGEqJC4GeAVbDibzAgPipYu0S5QKpmqEtSNGLCgrRNHBERKatRiYiIQKtWrSTfDw0NRdeuXWV9V35+Pp588kl88cUXsmtiMjMzERYWZv6LjY2V9TlSX0xYEDIHpML/r87T/gYDXh+Q4nM396pUM0REVBUZBIXjia9fv4533nkHCxYswB9//AEASEpKwpAhQ/Dkk0+iZs2asr5n2bJluPfee+Hv729+raKiAgaDAX5+figvL7d6DxCvUYmNjYXRaOQMuBopMJYhr7AU8VHBPhekADfS3zlrjV3N0MYp3X3yeIiIfEFRURHCwsJk3b8VBSplZWW48847sWXLFvTo0QMtWrQAABw8eBCrV69G586dsWrVKlk1JJcvX8axY8esXhs+fDiSk5Px3HPPISUlxel3KDlQIimLth3H80v2o0IQzDVDg9o31jpZRERVlpL7t6I+KllZWcjPz8euXbvshhLv2bMHd999N7KysjB9+nSn3xUaGmoXjISEhKBu3bqyghQitQxq3xhdkqJ9umaIiKiqUtRHZeHChXj77bdF5ztJS0vDm2++ifnz56uWOCJviQkLQnpiXQYpREQ6o6hG5dixY+jQoYPk+//4xz+sFiVUat26dS5/loiIiKoeRTUqderUwdmzZyXfP336NEJDQ91OFBERERGgMFDp3r07Xn/9dcn3s7Ky0L17d7cTRURERAQobPqZNm0aOnbsiH/84x94+umnkZycDEEQcPDgQbzzzjs4cOAAtm7d6qm0EhERUTWjKFBp2bIlfvrpJ4wcORKDBw82r5QsCAKSk5Ox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MBiwbNkyq/cFQcBLL72EmJgYBAUFoUePHjhy5Ig2idUxZ+dx2LBhMBgMVn+9e/fWJrE6lZmZifbt2yM0NBT16tVD//79cfjwYattrly5gvHjx6Nu3bqoXbs2Bg4ciDNnzmiUYn2Scx67detmlx/HjBmjUYr1afbs2WjdurV5MrL09HT88MMP5veZF+Vxdh61zosMVHxASUkJ0tLSMGvWLNH333jjDbz//vv48MMP8euvvyIkJAS9evXClStXvJxSfXN2HgGgd+/eKCgoMP8tWLDAiynUv/Xr12P8+PHYunUrfvrpJ1y7dg09e/ZESUmJeZunnnoK3377Lb766iusX78ep06dwoABAzRMtf7IOY8AMHr0aKv8+MYbb2iUYn266aabkJWVhR07dmD79u24/fbbcc899+D3338HwLwol7PzCGicFwXyKQCEpUuXmv9fWVkpNGjQQJg5c6b5tUuXLgmBgYHCggULNEihb7A9j4IgCEOHDhXuueceTdLjq86ePSsAENavXy8Iwo28V7NmTeGrr74yb3Pw4EEBgLBlyxatkql7tudREASha9euwpNPPqldonxURESE8NFHHzEvusl0HgVB+7zIGhUfl5ubi9OnT6NHjx7m18LCwtCxY0ds2bJFw5T5pnXr1qFevXpo3rw5xo4di/Pnz2udJF0zGo0AgMjISADAjh07cO3aNav8mJycjMaNGzM/OmB7Hk2++OILREVFISUlBVOnTkVpaakWyfMJFRUVWLhwIUpKSpCens686CLb82iiZV706UUJCTh9+jQAoH79+lav169f3/weydO7d28MGDAACQkJyMnJwfPPP4+MjAxs2bIF/v7+WidPdyorKzFp0iR07twZKSkpAG7kx4CAAISHh1tty/woTew8AsCQIUMQFxeHhg0bYu/evXjuuedw+PBhLFmyRMPU6s++ffuQnp6OK1euoHbt2li6dClatmyJ3bt3My8qIHUeAe3zIgMVor8MHjzY/O/U1FS0bt0aiYmJWLduHe644w4NU6ZP48ePx/79+7Fx40atk+LTpM7jY489Zv53amoqYmJicMcddyAnJweJiYneTqZuNW/eHLt374bRaMTixYsxdOhQrF+/Xutk+Ryp89iyZUvN8yKbfnxcgwYNAMCuJ/uZM2fM75FrmjRpgqioKBw9elTrpOjOhAkT8N1332Ht2rW4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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.1 Importing Training and Validation Datasets\n", + "\n", + "In this section, we read the dataset from the CSV file located in this directory. 500 data points were simulated for S-CO2 physical properties using REFPROP package. This example is trained on the entire dataset to have cover different ranges of pressure and temperature. The data is separated using an 80/20 split into training and validation data using the IDAES split_training_validation() method.\n", + "\n", + "We rename the column headers because they contained \".\", we change \".\" to \"_\" as ALAMO accepts alphanumerical characters or underscores as the labels for input/output. Further, the input variables are **pressure**, **temperature** , while the output variables are **enth_mol**, **entr_mol**, hence we create two new dataframes for the input and output variables." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAHHCAYAAABeLEexAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAACE10lEQVR4nO3deVxU5f4H8M+AgoACIruyiSIqSG4p7qZXXFpMK00z98ols82lMrVFabmt17RN/d1bmllallqaawqau5JLSiAuoKIyyKIgPL8/cKZZzpmNGWaG+bxfL0rmHM4858yZc77nWb6PQgghQEREROTC3OxdACIiIiJ7Y0BERERELo8BEREREbk8BkRERETk8hgQERERkctjQEREREQujwERERERuTwGREREROTyGBARERGRy2NAREROY968eVAoFCatq1AoMG/ePJuWp1evXujVq5fDbo+ITMeAiIjMtnz5cigUCvVPnTp10LhxY4wZMwYXLlywd/EcTnR0tNbxCg4ORvfu3bF27VqrbL+kpATz5s3D9u3brbI9IlfEgIiILPbaa6/hf//7H5YsWYIBAwbgq6++Qs+ePXHz5k2bvN8rr7yC0tJSm2zb1u666y7873//w//+9z+88MILuHjxIoYMGYIlS5ZUe9slJSWYP38+AyKiaqhj7wIQkfMaMGAAOnToAACYMGECAgMD8dZbb2HdunV45JFHrP5+derUQZ06znnZaty4MR577DH1748//jiaNWuG999/H0899ZQdS0ZEAGuIiMiKunfvDgDIzMzUev3kyZN46KGHEBAQgHr16qFDhw5Yt26d1jrl5eWYP38+mjdvjnr16qFRo0bo1q0bNm/erF5Hqg/RrVu38OyzzyIoKAgNGjTA/fffj/Pnz+uVbcyYMYiOjtZ7XWqby5Ytwz333IPg4GB4enqiVatWWLx4sVnHwpjQ0FC0bNkSWVlZBte7fPkyxo8fj5CQENSrVw9JSUn4v//7P/Xy7OxsBAUFAQDmz5+vbpazdf8potrGOR+1iMghZWdnAwAaNmyofu3PP/9E165d0bhxY8yaNQs+Pj749ttvMXjwYHz//fd48MEHAVQFJgsXLsSECRNw9913o7CwEPv378fBgwfxr3/9S/Y9J0yYgK+++gojRoxAly5dsHXrVgwaNKha+7F48WK0bt0a999/P+rUqYOffvoJ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OlV///33SEhIwIEDB5CUlISkpCQcPHgQCQkJ+P77761dRiIiIiKbsqjJLDY2FiNHjsRrr72m9frcuXPx1VdfITMz02oFdBRsMiMiInI+pt6/Laohys3NxeOPP673+mOPPYbc3FxLNklERERkNxYFRL169cLvv/+u9/quXbvQvXv3ahfKleQqS5GWmY9cZam9i0JEROSyLOpUff/992PmzJk4cOAAOnfuDADYs2cPVq9ejfnz52PdunVa65K0VftyMHvNMVQKwE0BLBySiGEdI+1dLCIiIpdjUR8iNzfTKpYUCgUqKirMLpQjsnYfolxlKbqmbkWlxtF3Vyiwa1ZvhPl5VXv7REREZONh97Ul+7Q9ZeUXawVDAFAhBLLzSxgQERER1bBqT+5KlokJ9IGbQvs1d4UC0YHe9ikQERGRCzO5huijjz4yeaPTpk2zqDCuJMzPCwuHJOKlNRmoEALuCgUWDElg7RAREZEdmNyHKCYmxrQNKhT4+++/q1UoR2SrPES5ylJk55cgOtCbwRAREZGVWb0PUVZWllUKRtrC/LwYCBEREdkZ+xARERGRy7N4ctfz589j3bp1yMnJQVlZmday9957r9oFIyIiIqopFgVEW7Zswf3334+mTZvi5MmTSEhIQHZ2NoQQaNeunbXLSERERGRTFjWZzZ49Gy+88AKOHTuGevXq4fvvv8e5c+fQs2dPPPzww9YuIxEREZFNWRQQnThxQj25a506dVBaWor69evjtddew1tvvWXVAhIRERHZmkUBkY+Pj7rfUFhYGDIzM9XL8vPzrVMyIiIiohpiUR+izp07Y9euXWjZsiUGDhyI559/HseOHcOaNWvUk70SEREROQuLaojee+89dOrUCQAwf/589OnTB6tWrUJ0dDS+/PJLk7ezc+dO3HfffQgPD4dCocAPP/ygtXzMmDFQKBRaP/3799da59q1axg5ciR8fX3h7++P8ePHo6ioSGudo0ePonv37qhXrx4iIiLw9ttvW7LbtUaushRpmfnIVZbauyhEREQOwaIaoqZNm6r/7ePjgyVLllj05sXFxUhKSsK4ceMwZMgQyXX69++PZcuWqX/39PTUWj5y5Ejk5uZi8+bNKC8vx9ixY/HEE09gxYoVAKoyVPbr1w99+/bFkiVLcOzYMYwbNw7+/v544oknLCq3M1u1Lwez1xxDpQDcFMDC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kmJRQFRZWSn7ek5Ojvr3xYsXMwcREREROTyzAqLCwkI88sgj8PHxQUhICF599VVUVFSol1+5cgUxMTFWLyRZJldZirTMfOQqS+1dFCIiIodmVh6iOXPm4MiRI/jf//6HgoICvPHGGzh48CDWrFkDDw8PAMw95ChW7ctRT/7qpgAWDknEsI6R9i4WERGRQzKrhuiHH37Ap59+ioceeggTJkzA/v37ceXKFdx33324desWAHByVweQqyxVB0NA1XxnL63JYE0RERGRDLMCoitXrmjNZxYYGIjffvsNN27cwMCBA1FSUmL1ApL5svKLtSZ9BYAKIZCdb9vPh010RETkrMwKiCIjI3HixAmt1xo0aIBNmzahtLQUDz74oFULR5aJCfSBm05FnbtCgehAb5u956p9OeiauhUjPt+LrqlbsWpfjvE/IiIichBmBUT9+vXDsmXL9F6vX78+fv31V9SrV89qBSPLhfl5YeGQRLjfab50VyiwYEiCzeY8O3LuOmZ9zyY6IiJyXmZ1qp4/fz4uXrwouaxBgwbYvHkzDh48aJWCUfUM6xiJHnFByM4vQXSgt82CoU93ZGLhxpN6r6ua6DjxLBEROQOzAqKGDRuiYcOGsssbNGiAnj17VrtQZB1hfl42DUg+3SkdDAG2b6IjIiKyJrMTM96+fRvvvPMO2rVrh/r166N+/fpo164d3n33XZSXl9uijOSAcpWlSJUJhtwAmzbRERERWZtZNUSlpaX417/+hfT0dPTt2xc9evQAAJw4cQIzZ87EunXrsGnTJvYlcgFZ+cWQSjmlALB2ShckRcjXJBIRETkaswKi1NRUnDt3DocOHUKbNm20lh05cgT3338/UlNTMW/ePGuWkRyQaiSb7vD+WQPiGQwREZHTMavJ7JtvvsF7772nFwwBQFJSEt59912sWLHCaoUjx6U7ks1NAcweGI8ne8bauWRERETmM6uG6OzZs7j77rtll3fu3Flrcleq3WpqJBsREZGtmRUQ+fr64vLly4iIiJBcnpeXhwYNGlilYOQcbD2SjYiIqCaY1WTWu3dvLFiwQHZ5amoqevfuXe1CEREREdUks2qI5s6di06dOqFz58547rnnEB8fDyEETpw4gffffx/Hjx/Hnj17bFVWIiIiIpswKyBq1aoVNm/ejPHjx2P48OHqme2FEIiPj8emTZvQunVrmxSU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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAHHCAYAAACRAnNyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB75klEQVR4nO3dd3gU1foH8O8mkJAE0kiABNMIhAAJSDd0FIGIBUEFRaVbAJHrVQw2UNQE8VovIhcl+FNpIiAqVUB670jHQCihRFJIIYHk/P6Iu26Z2d3Zkp1Nvp/n4dHszM6emZ2deeec95yjEUIIEBEREamQh6sLQERERCSHgQoRERGpFgMVIiIiUi0GKkRERKRaDFSIiIhItRioEBERkWoxUCEiIiLVYqBCREREqsVAhYiIiFSLgQoR2W3KlCnQaDRWravRaDBlyhSnlqdHjx7o0aOHardHRNZjoEJUhcydOxcajUb3r0aNGmjYsCGGDRuGixcvurp4qhMdHW1wvOrVq4euXbti6dKlDtl+UVERpkyZgt9//90h2yOqjhioEFVB77zzDr799lt8+eWXSE5OxnfffYfu3bvj5s2bTvm8N954A8XFxU7ZtrPdeeed+Pbbb/Htt9/i5ZdfxqVLlzBgwAB8+eWXdm+7qKgIb7/9NgMVIjvUcHUBiMjxkpOT0a5dOwDAqFGjEBISgmnTpmH58uV47LHHHP55NWrUQI0a7nk5adiwIZ588knd308//TQaN26Mjz/+GM8995wLS0ZEAGtUiKqFrl27AgDOnDlj8Prx48fxyCOPIDg4GLVq1UK7du2wfPlyg3Vu3bqFt99+G02aNEGtWrVQt25ddOnSBWvXrtWtI5WjUlJSgn/9618IDQ1FnTp18OCDD+LChQsmZRs2bBiio6NNXpfaZnp6Ou6++27Uq1cP3t7eaN68OWbOnKnoWFjSoEEDNGvWDBkZGWbXu3r1KkaOHIn69eujVq1aaNWqFb755hvd8rNnzyI0NBQA8Pbbb+ual5ydn0NU1bjnIxARKXL27FkAQFBQkO61P/74A507d0bDhg2RkpICPz8/LFq0CP3798ePP/6Ihx9+GEBFwJCamopRo0ahQ4cOyM/Px549e7Bv3z7ce++9sp85atQofPfdd3jiiSfQqVMnrF+/Hv369bNrP2bOnIkWLVrgwQcfRI0aNfDzzz9jzJgxKC8vx9ixY+3attatW7dw/vx51K1bV3ad4uJi9OjRA6dPn8a4ceMQExODH374AcOGDUNubi5efPFFhIaGYubMmXj++efx8MMPY8CAAQCAli1bOqScRNWGIKIqIz09XQAQv/32m7h27Zo4f/68WLx4sQgNDRXe3t7i/PnzunXvuecekZiYKG7evKl7rby8XHTq1Ek0adJE91qrVq1Ev379zH7u5MmThf7l5MCBAwKAGDNmjMF6TzzxhAAgJk+erHtt6NChIioqyuI2hRCiqKjIZL0+ffqIRo0aGbzWvXt30b17d7NlFkKIqKgo0bt3b3Ht2jVx7do1cfDgQTF48GABQLzwwguy2/vkk08EAPHdd9/pXistLRVJSUmidu3aIj8/XwghxLVr10z2l4iUYdMPURXUq1cvhIaGIiIiAo888gj8/PywfPly3HHHHQCA69evY/369Xjsscdw48YNZGdnIzs7G3/99Rf69OmDU6dO6XoJBQYG4o8//sCpU6es/vwVK1YAAMaPH2/w+oQJE+zaLx8fH93/5+XlITs7G927d8eff/6JvLw8m7a5Zs0ahIaGIjQ0FK1atcIPP/yAp556CtOmTZN9z4oVK9CgQQM8/vjjutdq1qyJ8ePHo6CgABs3brSpLERkik0/RFXQjBkzEBcXh7y8PMyZMwebNm2Ct7e3bvnp06chhMCbb76JN998U3IbV69eRcOGDfHOO+/goYceQlxcHBISEtC3b1889dRTZpswzp07Bw8PD8TGxhq83rRpU7v2a+vWrZg8eTK2b9+OoqIig2V5eXkICAhQvM2OHTvi3XffhUajga+vL5o1a4bAwECz7zl37hyaNGkCDw/DZ71mzZrplhORYzBQIaqCOnTooOv1079/f3Tp0gVPPPEETpw4gdq1a6O8vBwA8PLLL6NPnz6S22jcuDEAoFu3bjhz5gx++uknrFmzBl999RU+/vhjfPnllxg1apTdZZUbKK6srMzg7zNnzuCee+5BfHw8PvroI0RERMDLywsrVqzAxx9/rNsnpUJCQtCrVy+b3ktEzsdAhaiK8/T0RGpqKnr27In//ve/SElJQaNGjQBUNFdYc5MODg7G8OHDMXz4cBQUFKBbt26YMmWKbKASFRWF8vJynDlzxqAW5cSJEybrBgUFITc31+R141qJn3/+GSUlJVi+fDkiIyN1r2/YsMFi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2TSOyqhRo5CQkIALFy5g37592LdvH86fP4+WLVvimWeecXQZiYiIqJqyqUblwIED2LNnD4KCgnSvBQUF4b333pNNriUiIiJSyqYalbi4OFy5csXk9atXr6Jx48Z2F4qIiIgIsDFQSU1Nxfjx47F48WJcuHABFy5cwOLFizFhwgRMmzYN+fn5un9EREREtrKpe7KHxz/xjUajAQBoN6P/t0ajQVlZmSPKKYndk4mIiNyP07snb9iwwaaCERERESlhU6DSvXt3R5eDiIiIyITNo7Pl5ubi66+/1g341qJFC4wYMQIBAQEOKxwRERFVbzYl0+7ZswexsbH4+OOPcf36dVy/fh0fffQRYmNjsW/fPkeXkYiIiKopm5Jpu3btisaNG2P27Nm6IfNv376NUaNG4c8//8SmTZscXlApTKYlIiJyP0ru3zYFKj4+Pti/fz/i4+MNXj969CjatWuHoqIipZu0CQMVIiIi96Pk/m1T04+/vz8yMzNNXj9//jzq1KljyyaJiIiITNgUqAwaNAgjR47EwoULcf78eZw/fx4LFizAqFGj8Pjjj1u9nSlTpkCj0Rj8M66lISIiourLpl4/H374ITQaDZ5++mncvn0bAFCzZk08//zzSEtLU7StFi1a4LfffvunQDVs7ohEREREVYziqKCsrAw7duzAlClTkJqaijNnzgAAYmNj4evrq7wANWqgQYMGit9HREREVZ/iph9PT0/07t0bubm58PX1RWJiIhITE20KUgDg1KlTCA8PR6NGjTBkyBDJ3BetkpISg3mEOJcQERFR1WZTjkpCQgL+/PNPuz+8Y8eOmDt3LlatWoWZM2ciIyMDXbt2xY0bNyTXT01NRUBAgO5fRESE3WUgIiIi9bKpe/KqVaswadIkTJ06FW3btoWfn5/Bclu7Cufm5iIqKgofffQRRo4cabK8pKQEJSUlur/z8/MRERHB7slERERuxOmTEt53330AgAcffFA3WzJg/4zJgYGBiIuLw+nTpyWXe3t7w9vb26ZtExERkftR1ezJBQUFOHPmDJ566imnbJ+IiIjci02BSkxMDCIiIgxqU4CKGpXz589bvZ2XX34ZDzzwAKKionDp0iVMnjwZnp6eisZiISIioqrL5kAlKysL9erVM3j9+vXriImJsbrp58KFC3j88cfx119/ITQ0FF26dMGOHTsQGhpqS7GI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3z6HFM6S/Px8BAQEIC8vD/7+/pXymURERGQfJfdvRdUhkydPtqtgxmbOnImZM2fi7NmzAIAWLVrgrbfeQnJyskM/h4iIiNyTohoVR/v555/h6emJJk2aQAiBb775BtOnT8f+/fvRokULi+9njQoREZH7UXL/dkigsnHjRhQWFiIpKQlBQUF2bSs4OBjTp0/HyJEjLa7LQIWIiMj9OK3pZ9q0aSgoKMDUqVMBVMyOnJycjDVr1gAA6tWrh3Xr1llVG2KsrKwMP/zwgy7gkVJSUoKSkhLd3xy3hYiIqGpTNODbwoULDYbMX7x4MTZt2oTNmzcjOzsb7dq1w9tvv62oAIcPH0bt2rXh7e2N5557DkuXLpXt6pyamoqAgADdv4iICEWfRURERO5FUdNPUFAQtm3bhmbNmgEAhg8fjrKyMvzf//0fAGDHjh149NFHcf78easLUFpaiszMTOTl5WHx4sX46quvsHHjRslgRapGJSIigk0/REREbsRpTT+3b9+Gt7e37u/t27djwoQJur/Dw8ORnZ2tqLBeXl5o3LgxAKBt27bYvXs3Pv30U8yaNctkXW9vb4PPJyIioqpNUdNPbGwsNm3aBADIzMzEyZMn0a1bN93yCxcuoG7dunYVqLy83KDWhIiIiKovRTUqY8eOxbhx47B582bs2LEDSUlJBk0069evR+vWra3e3qRJk5CcnIzIyEjcuHED8+bNw++//47Vq1crKRYRERFVUYoCldGjR8PT0xM///wzunXrZjIA3KVLlzBixAirt3f16lU8/fTTyMrKQkBAAFq2bInVq1fj3nvvVVIsIiIiqqJcOuCbvTiOChERkftRcv9WlKNCREREVJkUBSq3bt3CxIkT0bhxY3To0AFz5swxWH7lyhV4eno6tIBERERUfSkKVN577z383//9H5577jn07t0bL730Ep599lmDddy4JYmIiIhURlEy7ffff4+vvvoK999/PwBg2LBhSE5OxvDhw3W1KxqNxvGlJCIiompJUY3KxYsXDYbQb9y4MX7//Xds27YNTz31FMrKyhxeQCIiIqq+FAUqDRo0wJkzZwxea9iwITZs2IDdu3dj2LBhjiwbERERVXOKApW7774b8+bNM3k9PDwc69evR0ZGhsMKRo6XlVeMbWeykZVXbNc6RERElUVRjsqbb76J48ePSy5r2LAhNm7ciLVr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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# visualize with IDAES surrogate plotting tools\n", - "surrogate_scatter2D(alm_surr, data_training)\n", - "surrogate_parity(alm_surr, data_training)\n", - "surrogate_residual(alm_surr, data_training)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.4 Model Validation" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# Import training data\n", + "np.set_printoptions(precision=7, suppress=True)\n", + "\n", + "csv_data = pd.read_csv(datafile_path(\"500_Points_DataSet.csv\"))\n", + "\n", + "### ALAMO only accepts alphanumerical characters (A-Z, a-z, 0-9) or underscores as input/output labels\n", + "cols = csv_data.columns\n", + "cols = [item.replace(\".\", \"_\") for item in cols]\n", + "csv_data.columns = cols\n", + "\n", + "data = csv_data.sample(n=500, random_state=0)\n", + "\n", + "input_data = data.iloc[:, :2]\n", + "output_data = data.iloc[:, 2:4]\n", + "\n", + "# Define labels, and split training and validation data\n", + "input_labels = input_data.columns\n", + "output_labels = output_data.columns\n", + "\n", + "n_data = data[input_labels[0]].size\n", + "data_training, data_validation = split_training_validation(data, 0.8, seed=n_data)" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.2 Training Surrogate with ALAMO\n", + "\n", + "IDAES provides a Python wrapper for the ALAMO machine learning tool via an imported AlamoTrainer class. Regression settings can be directly set as config attributes, as shown below. In this example, allowed basis terms include constant and linear functions, monomial power order 2 and 3, variable product power order 1 and 2, and variable ratio power order 1 and 2. ALAMO seeks to minimize the number of basis terms; here, we restrict each surrogate expression to a maximum of 10 basis terms.\n", + "\n", + "Finally, after training the model we save the results and model expressions to a JSON file. Serializing the model in this fashion enables importing a previously trained set of surrogate models into external flowsheets. This feature will be used later." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# Create ALAMO trainer object\n", + "has_alamo = alamo.available()\n", + "if has_alamo:\n", + " trainer = AlamoTrainer(\n", + " input_labels=input_labels,\n", + " output_labels=output_labels,\n", + " training_dataframe=data_training,\n", + " )\n", + "\n", + " # Set ALAMO options\n", + " trainer.config.constant = True\n", + " trainer.config.linfcns = True\n", + " trainer.config.multi2power = [1, 2]\n", + " trainer.config.monomialpower = [2, 3]\n", + " trainer.config.ratiopower = [1]\n", + " trainer.config.maxterms = [10] * len(output_labels) # max terms for each surrogate\n", + " trainer.config.filename = os.path.join(os.getcwd(), \"alamo_run.alm\")\n", + " trainer.config.overwrite_files = True\n", + "\n", + " # Train surrogate (calls ALAMO through IDAES ALAMOPy wrapper)\n", + " success, alm_surr, msg = trainer.train_surrogate()\n", + "\n", + " # save model to JSON\n", + " model = alm_surr.save_to_file(\"alamo_surrogate.json\", overwrite=True)\n", + "\n", + " # create callable surrogate object\n", + " surrogate_expressions = trainer._results[\"Model\"]\n", + " input_labels = trainer._input_labels\n", + " output_labels = trainer._output_labels\n", + " xmin, xmax = [7, 306], [40, 1000]\n", + " input_bounds = {\n", + " input_labels[i]: (xmin[i], xmax[i]) for i in range(len(input_labels))\n", + " }\n", + "\n", + " alm_surr = AlamoSurrogate(\n", + " surrogate_expressions, input_labels, output_labels, input_bounds\n", + " )\n", + "else:\n", + " print(\"Alamo not found.\")" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkEAAAHHCAYAAAC4BYz1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB0gUlEQVR4nO3dd3iTVfsH8G86aaFN96KlLWXJpkWhKFOkIENelCGgBYpFBAFBlmwRWcpwgSjrRVBQqj/AwRYRCiLTKiBgCxRaRkpThnTl/P7Im9C0zWqTZn0/19ULkufJk5PHam7Puc99S4QQAkREREQOxsnSAyAiIiKyBAZBRERE5JAYBBEREZFDYhBEREREDolBEBERETkkBkFERETkkBgEERERkUNiEEREREQOiUEQEREROSQGQUREVmjdunWQSCTIyMiw9FCI7BaDICIHdezYMYwePRqNGjVC9erVUatWLfTr1w9///13mXM7dOgAiUQCiUQCJycneHt7o379+njppZewe/duo953+/btaN++PYKCguDp6YnatWujX79++Omnn0z10cp499138d1335V5/vDhw5g9ezZyc3PN9t6lzZ49W30vJRIJPD090bBhQ0yfPh15eXkmeY9NmzZh2bJlJrkWkT1jEETkoBYuXIitW7fi6aefxvLly5GcnIxffvkFsbGxSEtLK3N+eHg4NmzYgP/+979YvHgxevXqhcOHD6NLly7o378/CgsL9b7ne++9h169ekEikWDq1KlYunQpnn/+eVy4cAFfffWVOT4mAN1B0Jw5c6o0CFJZsWIFNmzYgCVLlqBBgwaYN28eunbtClO0c2QQRGQYF0sPgIgsY/z48di0aRPc3NzUz/Xv3x9NmjTBggUL8MUXX2icL5VKMXjwYI3nFixYgDFjxuCTTz5BVFQUFi5cqPX9ioqKMHfuXDzzzDPYtWtXmeM3b96s5CeyHg8ePICnp6fOc1544QUEBAQAAF599VU8//zzSElJwZEjRxAfH18VwyRyeJwJInJQbdq00QiAAKBu3bpo1KgRzp49a9A1nJ2d8cEHH6Bhw4b46KOPIJfLtZ57+/Zt5OXl4cknnyz3eFBQkMbjhw8fYvbs2ahXrx6qVauG0NBQ9OnTB5cuXVKf895776FNmzbw9/eHh4cH4uLi8M0332hcRyKR4P79+1i/fr16CWrIkCGY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27hxYzRu3BivvfYaXn31VbRt2xYHDhxAx44dNc4bNmwYWrVqhbS0NAwbNszYj6jVvXv3MGfOHPTp06fMsWrVqqn/XjIZWSKRaH1OoVAY/L6Acodcq1atNI45OztrPC69RLl48WIsX74cy5YtQ5MmTVC9enWMGzeuzO670pycnMoEsYWFhWXOK/1+9+7dQ2hoKH7++ecy5/r4+Oh8TyJ7wyCIyM74+fkhISEBH3/8McaMGVPmSzA3NxddunSBn58f3n///TJB0LZt23DhwgXMnTtX/dy1a9fQsWNHxMXFYe3atRozO9qogqj79++XOdaoUSM0atQIZ86cwcCBAyvyMcsVGxuL8+fPo06dOia7psqVK1dw/fp1hIWFAQCOHDkCJycn1K9fH8HBwQgLC8M///yDQYMGGXXdQ4cO4bnnnsPgwYMBKAOvv//+WyMIdXNz0yhbAACBgYG4e/cu7t+/r/5nrMr50SU2NhbZ2dlwcXFBVFSUUWMlsjcMgojs0Mcff4wnn3wSTzzxBN5++200bdoURUVF2L17N1asWIGzZ8/i008/xYABA5CcnIzRo0fD29sbe/fuxcSJE/HCCy+gX79+AJQBUIcOHRAZGYn33nsPt27dUr9PSEgIAGDkyJEICwtDp06dEB4ejqysLLzzzjsIDAxEfHx8uWPct28fCgsLTTr7MHPmTPTo0QO1atXCCy+8ACcnJ5w+fRppaWl45513KnXtatWqITExEe+99x7y8vIwZswY9OvXT30P5syZgzFjxkAqlaJr167Iz8/H77//jjt37mD8+PFar1u3bl188803OHz4MHx9fbFkyRLcuHFDIwiKiorC0aNHkZGRgRo1asDPzw+tWrWCp6cn3nrrLYwZMwZHjx7VSDjXpnPnzoiPj0fv3r2xaNEi1KtXD9evX8f333+P//znP2WW64jsGXeHEdmh2rVr48SJE+jYsSMmTJiAxo0b45lnnsHevXuxYsUKAMALL7yA/fv348qVK2jbti3q16+PpUuXYtq0afjqq6/US0K7d+/GxYsXsXfvXoSHhyM0NFT9o9K5c2ccOXIEffv2Rb169fD888+jWrVq2Lt3b5ncE5Xq1aubfPklISEBO3bswK5du/D444+jdevWWLp0KSIjIyt97Tp16qBPnz549tln0aVLFzRt2hSffPKJ+vjw4cPx+eefY+3atWjSpAnat2+PdevWITo6Wud1p0+fjtjYWCQkJKBDhw4ICQlB7969Nc5588034ezsjIYNGyIwMBBXrlyBn58fvvjiC/zwww9o0qQJvvzyS8yePVvv55BIJPjhhx/Qrl07DB06FPXq1cOAAQNw+fJldX4UkaOQCGMzI4mIHMzs2bPx3XffGbTcRES2gzNBRERE5JAYBBGR1alRo4bWn4MHD1p6eERkJ7gcRkRW5+LFi1qP1axZ06b6gxGR9WIQRERERA6Jy2FERETkkBgEERERkUNiEEREREQOiUEQEREROSQGQUREROSQGAQRERGRQ2IQRERERA6JQRARERE5pP8HSi3/nfWVEUYAAAAASUVORK5CYII=", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.3 Visualizing Surrogates\n", + "\n", + "Now that the surrogate models have been trained, the models can be visualized through scatter, parity and residual plots to confirm their validity in the chosen domain. The training data will be visualized first to confirm the surrogates are fit the data, and then the validation data will be visualized to confirm the surrogates accurately predict new output values." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# visualize with IDAES surrogate plotting tools\n", + "surrogate_scatter2D(alm_surr, data_training)\n", + "surrogate_parity(alm_surr, data_training)\n", + "surrogate_residual(alm_surr, data_training)" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.4 Model Validation" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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BJGWlibOnj0r5s2bJ2Qymdi7d68QQoipU6cKPz8/cfDgQXHq1CkRGhoqQkNDpdc/fPhQBAcHi4iICJGcnCx2794t3N3dxfz586U6f/31l7CzsxOzZ88WFy9eFKtWrRKWlpZi9+7dGsXKhIiI9MWU5yEiqg4AsX379mrrpaWlCQsLC5GUlFRtXW0kRAYdVH379m2MHTsWmZmZcHZ2Rtu2bbFnzx784x//AACsXLkSFhYWGDp0KIqKihAZGYnPP/9cer2lpSV27tyJadOmSU2x48aNw9tvvy3VCQgIwK5duzBjxgx8/PHHaNy4Mb766itERkbqfX+JiIioaiUlJbh79y7efPNNdOvWDR06dNDLdmX/zdaoGgqFAs7OztKEWUREuvLgwQOkpaUhICDAIANszZmDg0OlZb/99ht69Oihx2iAqVOnYsOGDSrLxowZgzVr1ug1Hm2QyWTYvn07Bg8erLL80KFD6N27NwIDA7F161aEhIRUu86qPjPqnr8Nftk9ERGRsXhy/p7HNWrUSH+B/Nfbb7+tclZvACb747y6dpiwsDCN53DSBiZERERE/1XVXD6G4OHhAQ8PD0OHYRYMftk9ERERkaExISIiMlLqzgVDZO608VlhlxkRkZGxtraGhYUFMjIy4O7uDmtra+mWCUT0P0IIFBcXIycnBxYWFrC2tq7xupgQEREZGQsLCwQEBCAzM1PlLSKISJmdnR38/PzUurVLZZgQEREZIWtra/j5+eHhw4c1uscUkbmwtLREvXr1at2KyoSIiMhIyWQyWFlZaXzncyLSHAdVExERkdljQkRERERmjwkRERERmT0mRERERGT2mBARERGR2WNCRERERGaPCRERERGZPSZEREREZPaYEBEREZHZY0JEREREZo8JEREREZk9JkRERERk9pgQERERkdljQkRERERmjwkRERERmT0mRERERGT2mBARERGR2WNCRERERGaPCRERERGZPSZEREREZPaYEBEREZHZY0JEREREZo8JEREREZk9JkRERERk9pgQERERkdljQkRERERmjwkRERERmT0mRERERGT2mBARERGR2WNCRERERGaPCRERERGZPSZEREREZPaYEBEREZHZY0JEREREZo8JEREREZk9JkRERERk9gyaEMXFxaFz585wdHSEh4cHBg8ejMuXLyvVCQsLg0wmU3pMnTpV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dCh69uwJLy8vbNu2TSq3tLTEzp07YWlpidDQUIwZMwZjx47F22+/LdUJCAjArl27sG/fPrRr1w4ffvghvvrqK85BRERERABqeC+zwYMHY8CAAZgyZQpmzZqFn3/+GePHj8e2bdvQoEED7N+/XxexGhTnISIiIjI9Or2X2YoVK5CXlwcAWLx4MfLy8rBp0ya0aNGiRleYERERERlSjVqIzBFbiIiIiEyPTluIyhUXF+P27dsoKytTWu7n51eb1RIRERHpVY0Soj///BOTJk3C0aNHlZYLISCTyVBaWqqV4IiIiIj0oUYJ0YQJE1CvXj3s3LkT3t7ekMlk2o6LiIiISG9qlBAlJycjKSkJrVq10nY8RERERHpXo3mIgoKCNJpviIiIiMiYqZ0QKRQK6fH+++9jzpw5OHToEO7evatUplAodBkvERERkdap3WXm4uKiNFZICIG+ffsq1eGgaiIiIjJFaidE8fHxuoyDiIiIyGDUToh69eol/Z2eng5fX98KV5cJIXDjxg3tRUdERESkBzUaVB0QEICcnJwKy+/du4eAgIBaB0VERESkTzVKiMrHCj0pLy8P9evXr3VQRERERPqk0TxEM2fOBADIZDIsWLAAdnZ2UllpaSmOHz+O9u3bazVAIiIiIl3TKCH6448/ADxqITp37hysra2lMmtra7Rr1w6zZs3SboREREREOqZRQlR+pdmECRPw8ccf867vREREVCfU6NYd69ev13YcRERERAZTo4QoPz8fS5cuxYEDB3D79m2UlZUplf/1119aCY6IiIhIH2qUEE2ePBkJCQl48cUXebd7IiIiMnk1Soh+++037Nq1C927d9d2PERERER6V6N5iBo0aABXV1dtx0JERERkEDVKiN555x289dZbKCgo0HY8RERERHpXoy6zDz/8EKmpqfD09ESTJk1gZWWlVH769GmtBEdERESkDzVKiAYPHqzlMIiIiIgMRyaEEIYOwhQoFAo4OztDLpdzQkoiIiIToe75W6MxRCdOnEBpaWml5UVFRdi8ebMmqyQiIiIyOI0SotDQUNy9e1d67uTkpDQJY25uLkaOHKm96IiIiIj0QKOE6MneNVW9beyBIyIiIlNTo8vuq8JZq4mIiMjUaD0hIiIiIjI1Gl92f+HCBWRlZQF41D126dIl5OXlAQDu3Lmj3eiIiIiI9ECjy+4tLCwg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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "# visualize with IDAES surrogate plotting tools\n", + "surrogate_scatter2D(alm_surr, data_validation)\n", + "surrogate_parity(alm_surr, data_validation)\n", + "surrogate_residual(alm_surr, data_validation)" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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dLz44ovVZmaJiYlwc3NTfwICAuowSiIiIqpLskhkSktLMXDgQAghsHz58mqXnTlzJpRKpfqTlZVVR1ESERFRXbP4R0sVSczFixexe/fuGtu52Nvbw97evo6iIyIiInOy6ESmIok5d+4cUlJS0LBhQ3OHRERERBbErIlMQUEBzp8/r/6emZmJtLQ0eHp6ws/PDwMGDEBqaip+/PFHlJWVITc3FwDg6ekJOzs7c4VNREREFsKs3a/37NmDTp06VZk+bNgwzJkzByEhIVp/l5KSgo4dO+q1DXa/JiIikh9ZdL/u2LEjqsujLGSIGyIiIrJQsui1RERERKQNExkiIiKSLSYyREREJFtMZIiIiEi2mMgQERGRbDGRISIiItliIkNERESyxUSGiIiIZIuJDBEREckWExkiIiKSLSYyREREJFtMZIiIiEi2mMgQERGRbDGRISIiItliIkNERESyxUSGiIiIZIuJDBEREckWExkiIiKSLSYyREREJFtMZIiIiEi2mMgQERGRbDGRISIiItliIkNERESyxUSGiIiIZIuJDBEREckWExkiIiKSLSYyREREJFtMZIiIiEi2mMgQERGRbDGRISIiItliIkNERESyxUSGiIiIZIuJDBEREckWExkiIiKSLSYyREREJFtMZIiIiEi2mMgQERGRbDGRISIiItliIkNERESyZdZEZt++fejduzf8/f2hUCiwdetWjflCCLz77rvw8/ODg4MD4uPjce7cOfMES0RERBbHrIlMYWEhWrRogWXLlmmd/+GHH+LTTz/FihUrcPjwYTg5OaFr1664c+dOHUdKRERElqi+OTfevXt3dO/eXes8IQSWLl2Kd955B88//zwA4Ouvv0ajRo2wdetWDB48uC5DJSIiIgtksW1kMjMzkZubi/j4ePU0Nzc3tG3bFgcPHjRjZERERGQpzFojU53c3FwAQKNGjTSmN2rUSD1Pm5KSEpSUlKi/q1Qq0wRIREREZmexNTLGSkxMhJubm/oTEBBg7pCIiIjIRCw2kfH19QUAXL16VWP61atX1fO0mTlzJpRKpfqTlZVl0jiJiIjIfCw2kQkJCYGvry927dqlnqZSqXD48GHExsbq/J29vT1cXV01PkRERGSdzNpGpqCgAOfPn1d/z8zMRFpaGjw9PREYGIjJkydj3rx5aNKkCUJCQjBr1iz4+/ujT58+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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, the surrogate is trained and validated, we shall embed it in the property package, which is demonstrated in the [surrogate_embedding](./surrogate_embedding_usr.ipynb) file." ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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L72EXr16oX379vDy8sL69eulcnNzc2zatAnm5uaQy+UYNGgQBg8ejI8//liqExgYiM2bNyMuLg7h4eH46quv8MMPP3COIyIiIipBp3urvfrqq4iJicHIkSMxadIk/PHHHxgyZAjWr18PFxcX7Ny5syJiNSjOc0RERGR6Ku3eavPmzUN2djYAYObMmcjOzsbq1atRr149na5UIyIiIjIWOrUcVUdsOSIiIjI9ldZyVCwvLw+3bt1CUVGR2nJ/f//yrJaIiIjIYHRKjv7++28MHz4cBw8eVFsuhIBMJkNhYaFegiMiIiKqbDolR0OHDoWFhQU2bdoEb29vyGQyfcdFREREZBA6JUeJiYk4fvw4QkJC9B0PERERkUHpNM9Rw4YNtZrPiIiIiMhUaJwcKZVK6fH555/jvffew969e3H37l21MqVSWZHxEhEREVUojbvVnJ2d1cYWCSHQuXNntTockE1ERESmTuPkaM+ePRUZBxEREZFR0Dg56tChg/T/1NRU+Pn5lbhKTQiB69ev6y86IiIiokqm04DswMBA3L59u8Tye/fuITAwsNxBERERERmKTslR8diip2VnZ8PGxqbcQREREREZilbzHE2cOBEAIJPJMG3aNNjZ2UllhYWFOHz4MJo0aaLXAImIiIgqk1bJ0cmTJwE8aTk6c+YMrKyspDIrKyuEh4dj0qRJ+o2QiIiIqBJplRwVX7E2dOhQLFy4kHenJyIioipHp9uHLF++XN9xEBERERkFnZKjhw8fYs6cOdi1axdu3bqFoqIitfIrV67oJTgiIiKiyqZTcjRixAjEx8fj9ddfh7e3d6lXrhERERGZIp2So61bt2Lz5s1o27atvuMhIiIiMiid5jlycXGBq6urvmMhIiIiMjidkqNPPvkEH330ER49eqTveIiIiIgMSqduta+++grJycnw9PRE7dq1YWlpqVZ+4sQJvQRHREREVNl0So5effVVPYdBREREZBxkQghh6CBMgVKphJOTExQKBSe/JCIiMhG6nL+1GnN05MgRFBYWllmem5uLNWvWaLNKIiIiIqOiVXIkl8tx9+5d6bmjo6PahI9ZWVno37+//qIjIiIiqmRaJUdP98CV1iPHXjoiIiIyZTpdyv8snC2biIiITJnekyMiIiIiU6b1pfznzp1DRkYGgCddaBcuXEB2djYA4M6dO/qNjoiIiKiS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f2vVrbZ7926MHTsWhw4dQo8ePdTKFAoFGjVqhCVLlqBdu3barJaIiIjIaGg1IHvBggUYOXJkqZmXk5MT3nzzTcybN09vwRERERFVNq2So1OnTqFLly5llkdFRand54yIiIjI1GiVHGVmZsLS0rLMcgsLC9y+fbvcQREREREZilbJka+vL5KSksosP336NLy9vcsdFBEREZGhaJUcdevWDdOmTcPjx49LlOXk5GD69Ol46aWX9BYcERERUWXT6lL+zMxMNGvWDObm5hg7dizq168PALhw4QIWLVqEwsJCnDhxAp6enhUWsKHwUn4iIiLTU+GX8nt6euLgwYMYPXo0pk6diuK8SiaTITo6GosWLaqSiRERERFVH1olRwAQEBCALVu24P79+7h8+TKEEKhXrx5cXFwqIj4iIiKiSqV1clTMxcUFLVu21GcsRERERAan1YBsIiIioqqOyRERERGRCiZHRERERCqYHBERERGpYHJEREREpILJEREREZEKJkdEREREKpgcEREREalgckRERESkgskRERERkQomR0REREQqmBwRERERqWByRERERKSCyRERERGRCiZHRERERCqYHJFepCtycDD5DtIVOYYOhYiIqFwsDB0Amb7VR1Mxdf0ZFAnATAbM7hmGvi39DR0WEdIVOUi58xCBbvbwdrI1dDhEZCKYHFG5pCtypMQIAIoE8P76JLQPdufJiAyKSTsR6YrdalQuKXceSolRsUIhcPXOI8MERISyk3Z2+xKRJpgcUbkEutnDTKa+zFwmQ203uwrdLsc40bMwaSei8mByROXi7WSL2T3DYC57kiGZy2T4rGdohXaprT6airZzdmPA94fRds5urD6aWmHbItNkqKSdiKoGmRBCPL8aKZVKODk5QaFQwNHR0dDhGJ10RQ6u3nmE2m52FZoYpSty0HbObrVWAXOZDPundOIYJ1Kz+mgq3l+fhEIhpKSdY46Iqh9dzt8ckE164e1kWynJybO6S5gckaq+Lf3RPti9UpJ2IqpamByRSSnuLnm65YjdJVSaykraiahq4ZgjMimGGONERETVC1uOyOSwu4SIiCoSkyMySewuIWPD2biJqg4mR2TyeFIiQ+Ns3ERVi9GPOZoxYwZkMpnaIyQkRCp//PgxxowZg5o1a8LBwQG9evVCZmam2jpSU1MRExMDOzs7eHh44N1330VB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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" }, - { - "data": { - "image/png": "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eGrsLt3du3fX5mVERERE1UarmhpDwpoaIiIiw6PN9VujG1qeOHEChYWFKsvz8vKwYcMGTTZJREREJAmNkpro6Gj8888/iueOjo5KE+1lZGSgX79+0kVHREREpCaNkprSLVXltVwZeWsWERER6SmNkhp1VNfswkREREQVkTypISIiItIFjYd0X7x4EWlpaQCeNTVdvnwZWVlZAID09HRpoyMiIiJSk0ZDus3MzCCTycrtN1O8XCaTVThCqqZxSDcREZHhqfbJ95KSkrQKjIiIiKi6aZTUBAQEaLTxUaNG4ZNPPoGbm5tGryMiIiLSVLV2FF69ejXkcnl1vgURERERgGpOajhnDREREdUUDukmIiIio8CkhoiIiIwCkxoiIiIyCkxqiIiIyChUa1IzYMAATnhHRERENUKrpKaoqEjl8tu3byueL126lHPUEBERUY3QKKmRy+Xo3bs37Ozs4OnpiY8//ljplggPHjxAUFCQ5EESERERVUajGYWnTZuGc+fO4fvvv0dGRgZmz56N06dPY/PmzbC0tATAuWmIiIhINzSqqdm6dSuWL1+Onj17YujQoTh16hQePHiAbt26IS8vD8CzG1sSERER1TSNkpoHDx4o3f/Jzc0Nv/32Gx4/foxXX30VOTk5kgdIREREpA6Nkhp/f39cunRJaZmDgwN2796N3NxcvPHGG5IGR0RERKQujZKaDh06ICEhocxye3t77Nq1C9bW1pIFRkRERKQJjToKz5w5EykpKeWWOTg4YM+ePTh9+rQkgRERERFpQqOkxsXFBS4uLirLHRwc0LZt2yoHRURERKQpjSffKygowPz589GkSRPY29vD3t4eTZo0wYIFC5Cfn18dMRIRERFVSqOamtzcXLzyyis4evQoYmJi0KZNGwDApUuXMHnyZGzbtg27d+9m3xoiIiKqcRolNfHx8UhOTsaZM2fQqFEjpbJz587htddeQ3x8PGbMmCFljERERESV0qj5ad26dVi4cGGZhAYAoqKisGDBAqxZs0ay4IiIiIjUpVFSc+vWLTRv3lxl+QsvvKB0Q0siIiKimqJRUuPo6Ij79++rLE9LS4ODg0OVgyIiIiLSlEZJTfv27fHpp5+qLI+Pj0f79u2rHBQRERGRpjTqKDx9+nS0aNECL7zwAiZMmICwsDAIIXDp0iUsWrQIFy9exLFjx6orViIiIiKV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EBISgr/++gt9+vRB3759OU8NERER6YRGfWo+//xz/Pbbb9i2bZtirppi27Ztw6BBg/D5559j/PjxUsZIREREVCmNamoSEhIwf/78MgkNALz22mv47LPPytw6gYiIiKgmaJTUXLt2DTExMSrLY2JicO3atSoHRURERKQpjZIaGxsbZGRkqCyXy+WwtrauakxEREREGtMoqYmOjsbSpUtVli9ZsgTR0dFVDoqIiIhIUxolNVOnTsW3336L3r1748SJE5DL5cjMzMSxY8fQq1cvrFy5ElOnTq2uWBEfHw+ZTMaOyERERFSGRqOfWrZsifXr12P48OH48ccflcpcXFywdu1atGrVStIAi508eRLLly9Ho0aNqmX7REREZNg0SmoA4I033kDHjh2xa9cuRafg0NBQdOjQAba2tpIHCABZWVno378/VqxYgdmzZ1fLexAREZFh06j5ad++fQgPD0dBQQHeeOMNTJo0CZMmTUL37t2Rn5+Phg0b4tChQ5IHOXr0aHTp0qXCkVfF8vLyIJfLlR5ERERk/DRKahYvXoxhw4aVew8GJycnvPvuu1i4cKFkwQHAunXrcPr0acydO1et9efOnQsnJyfFw8/PT9J4iIiISD9plNScO3cOnTp1UlneoUMH/Pnnn1UOqlhycjLGjRuHH374Qe2h4lOmTEFmZqbikZycLFk8REREpL806lNz7949WFhYqN5YrVp48OBBlYMq9ueff+L+/fto0qSJYllhYSEOHjyI//znP8jLy4O5ubnSa6ysrGBlZSVZDERERGQYNEpqfH19kZiYiJCQkHLLz58/D29vb0kCA4CXX34ZFy5cUFo2aNAghIWFYfLkyWUSGiIiIjJdGiU1r776KqZNm4ZOnTqVaQ7Kzc3F9OnTy70vlLYcHBwQERGhtMzOzg61a9cus5yIiIhMm0ZJzUcffYTNmzcjNDQUY8aMQf369QEAly9fxpIlS1BYWFitk+8RERERqSITQghNXnDr1i2MHDkSu3btQvFLZTIZOnbsiCVLliAoKKhaAtWWXC6Hk5MTMjMzyx21RURERPpHm+u3xpPvBQQEYMeOHXj06BGuX78OIQTq1asHFxcXjQMmIiIikorGSU0xFxcXNGvWTMpYiIiIiLSm0Tw1RERERPqKSQ0REREZBSY1eiQ1MxdHbqQjNTNX16EQEREZHK371JC01p+8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TJigcrv16tXDpk2bcOTIEbi4uGDhwoW4d++eUlITGBiI48eP4+bNm7C3t4erqytatGgBW1tbfPjhhxg7diyOHz+u1AFblZiYGERHR6N79+747LPPEBoaipSUFPzyyy944403yjSPERkzjn4iMgB169bF6dOn0b59e7z//vuIiIjAK6+8gr1792Lp0qUAgJ49e2L//v24ffs2XnzxRdSvXx+LFi3C1KlTsW7dOkUTzJ49e3D9+nXs3bsXderUgbe3t+JRLCYmBseOHUOvXr0QGhqKN998E9bW1ti7d2+ZvhvF7OzsJG/u6NixI7Zv347du3ejWbNmeOGFF7Bo0SIEBARUedshISHo0aMHXn31VXTo0AGNGjXCV199pSgfOnQovvnmGyQkJCAyMhJt27bFqlWrEBQUVOF2P/roIzRp0gQdO3ZEu3bt4OXlhe7duyut88EHH8Dc3Bzh4eFwd3fH7du34erqitWrV2PHjh2IjIzE2rVrMWPGjEr3QyaTYceOHWjTpg0GDRqE0NBQ9O3bF7du3VL0LyIyFTKhac9CIiIDN2PGDGzdulWt5h0iMhysqSEiIiKjwKSGiKqdvb29ysehQ4d0HR4RGQk2PxFRtbt+/brKMl9fX4O6vxMR6S8mNURERGQU2PxERERERoFJDRERERkFJjVERERkFJjUEBERkVFgUkNERERGgUkNERERGQUmNURERGQUmNQQERGRUfg/m8X4cdn2MvMAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.6" } - ], - "source": [ - "# visualize with IDAES surrogate plotting tools\n", - "surrogate_scatter2D(alm_surr, data_validation)\n", - "surrogate_parity(alm_surr, data_validation)\n", - "surrogate_residual(alm_surr, data_validation)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, the surrogate is trained and validated, we shall embed it in the property package, which is demonstrated in the [surrogate_embedding](./surrogate_embedding_usr.ipynb) file." - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.6" }, - "orig_nbformat": 4 - }, - "nbformat": 4, - "nbformat_minor": 3 -} + "nbformat": 4, + "nbformat_minor": 3 +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/flowsheet_optimization.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/flowsheet_optimization.ipynb index 2783470f..f8f92721 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/flowsheet_optimization.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/flowsheet_optimization.ipynb @@ -1,5 +1,32 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "eaf7073a", + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "code", "execution_count": null, @@ -39,19 +66,7 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "from IPython.display import Image\n", "from pathlib import Path\n", @@ -130,338 +145,7 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-08-19 23:43:01 [INFO] idaes.init.fs.boiler.control_volume: Initialization Complete\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.boiler: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.turbine: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.HTR_pseudo_shell.control_volume: Initialization Complete\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.HTR_pseudo_shell: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.LTR_pseudo_shell.control_volume: Initialization Complete\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.LTR_pseudo_shell: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.splitter_1: Initialization Step 2 Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.co2_cooler.control_volume: Initialization Complete\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.co2_cooler: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.bypass_compressor: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.main_compressor: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.splitter_2: Initialization Step 2 Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.FG_cooler.control_volume: Initialization Complete\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.FG_cooler: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.LTR_pseudo_tube.control_volume: Initialization Complete\n", - "2023-08-19 23:43:03 [INFO] idaes.init.fs.LTR_pseudo_tube: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:03 [INFO] idaes.init.fs.mixer: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:03 [INFO] idaes.init.fs.HTR_pseudo_tube.control_volume: Initialization Complete\n", - "2023-08-19 23:43:03 [INFO] idaes.init.fs.HTR_pseudo_tube: Initialization Complete: optimal - Optimal Solution Found\n", - "--------------------------------------------------------------------\n", - "The degrees of freedom for the flowsheet is 0\n", - "--------------------------------------------------------------------\n", - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 452\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 118\n", - "\n", - "Total number of variables............................: 178\n", - " variables with only lower bounds: 32\n", - " variables with lower and upper bounds: 59\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 178\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 9.79e+01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 1.43e-01 1.25e-02 -1.0 2.50e+01 - 9.88e-01 1.00e+00h 1\n", - " 2 0.0000000e+00 8.54e-06 1.06e-06 -1.0 2.50e+01 - 1.00e+00 1.00e+00h 1\n", - " 3 0.0000000e+00 7.45e-09 2.83e-08 -2.5 1.79e-04 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 5.8207660913467407e-11 7.4505805969238281e-09\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 5.8207660913467407e-11 7.4505805969238281e-09\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.003\n", - "Total CPU secs in NLP function evaluations = 0.001\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\n", - "====================================================================================\n", - "Unit : fs.boiler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.3897e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 685.15 893.15\n", - " pressure pascal 3.4510e+07 3.4300e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.turbine Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.92700 : dimensionless : True : (None, None)\n", - " Mechanical Work : -1.1759e+06 : watt : False : (None, None)\n", - " Pressure Change : -24.979 : pascal : False : (None, None)\n", - " Pressure Ratio : 0.27174 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 893.15 692.18\n", - " pressure pascal 3.4300e+07 9.3207e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.HTR_pseudo_shell Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -1.2825e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 692.18 489.15\n", - " pressure pascal 9.3207e+06 9.2507e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.HTR_pseudo_tube Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.2825e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 560.75 747.89\n", - " pressure pascal 3.4560e+07 3.4490e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.LTR_pseudo_shell Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -1.1004e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 489.15 354.15\n", - " pressure pascal 9.2507e+06 9.1807e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.LTR_pseudo_tube Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.1004e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 86647. 86647.\n", - " temperature kelvin 416.53 598.89\n", - " pressure pascal 3.4620e+07 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.splitter_1 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Split Fraction [('bypass',)] : 0.25000 : dimensionless : True : (None, None)\n", - " Split Fraction [('to_cooler',)] : 0.75000 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet bypass to_cooler\n", - " flow_mol mole / second 1.2110e+05 30275. 90825.\n", - " temperature kelvin 354.15 354.15 354.15\n", - " pressure pascal 9.1807e+06 9.1807e+06 9.1807e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.co2_cooler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -3.4109e+05 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 90825. 90825.\n", - " temperature kelvin 354.15 308.15\n", - " pressure pascal 9.1807e+06 9.1107e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.main_compressor Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.85000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 3.7116e+05 : watt : False : (None, None)\n", - " Pressure Change : 25.510 : pascal : False : (None, None)\n", - " Pressure Ratio : 3.8000 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 90825. 90825.\n", - " temperature kelvin 308.15 416.53\n", - " pressure pascal 9.1107e+06 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.bypass_compressor Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.85000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 1.4569e+05 : watt : False : (None, None)\n", - " Pressure Change : 25.706 : pascal : False : (None, None)\n", - " Pressure Ratio : 3.8000 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 30275. 30275.\n", - " temperature kelvin 354.15 473.64\n", - " pressure pascal 9.1807e+06 3.4886e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.splitter_2 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Split Fraction [('to_FG_cooler',)] : 0.046000 : dimensionless : True : (None, None)\n", - " Split Fraction [('to_LTR',)] : 0.95400 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet to_FG_cooler to_LTR \n", - " flow_mol mole / second 90825. 4177.9 86647.\n", - " temperature kelvin 416.53 416.53 416.53\n", - " pressure pascal 3.4620e+07 3.4620e+07 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.FG_cooler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 21707. : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 4177.9 4177.9\n", - " temperature kelvin 416.53 483.15\n", - " pressure pascal 3.4620e+07 3.4560e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.mixer Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units FG_out LTR_out bypass Outlet \n", - " flow_mol mole / second 4177.9 86647. 30275. 1.2110e+05\n", - " temperature kelvin 483.15 598.89 473.64 560.75\n", - " pressure pascal 3.4560e+07 3.4620e+07 3.4886e+07 3.4560e+07\n", - "====================================================================================\n", - "659.042605510511 kW\n" - ] - } - ], + "outputs": [], "source": [ "def main():\n", " # Setup solver and options\n", @@ -710,8 +394,7 @@ "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.6" - }, - "orig_nbformat": 4 + } }, "nbformat": 4, "nbformat_minor": 2 diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/flowsheet_optimization.py b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/flowsheet_optimization.py index df312dc4..5936a332 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/flowsheet_optimization.py +++ b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/flowsheet_optimization.py @@ -1,15 +1,16 @@ -############################################################################### +################################################################################# # The Institute for the Design of Advanced Energy Systems Integrated Platform # Framework (IDAES IP) was produced under the DOE Institute for the # Design of Advanced Energy Systems (IDAES). # -# Copyright (c) 2018-2023 by the software owners: The Regents of the +# Copyright (c) 2018-2025 by the software owners: The Regents of the # University of California, through Lawrence Berkeley National Laboratory, # National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon # University, West Virginia University Research Corporation, et al. # All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md # for full copyright and license information. -############################################################################### +# +################################################################################# """ Maintainer: Javal Vyas diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/flowsheet_optimization_doc.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/flowsheet_optimization_doc.ipynb index b4786423..07dc26d3 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/flowsheet_optimization_doc.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/flowsheet_optimization_doc.ipynb @@ -1,5 +1,31 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "code", "execution_count": null, @@ -39,19 +65,7 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "from IPython.display import Image\n", "from pathlib import Path\n", @@ -130,338 +144,7 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-08-19 23:43:01 [INFO] idaes.init.fs.boiler.control_volume: Initialization Complete\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.boiler: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.turbine: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.HTR_pseudo_shell.control_volume: Initialization Complete\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.HTR_pseudo_shell: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.LTR_pseudo_shell.control_volume: Initialization Complete\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.LTR_pseudo_shell: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.splitter_1: Initialization Step 2 Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.co2_cooler.control_volume: Initialization Complete\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.co2_cooler: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.bypass_compressor: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.main_compressor: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.splitter_2: Initialization Step 2 Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.FG_cooler.control_volume: Initialization Complete\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.FG_cooler: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.LTR_pseudo_tube.control_volume: Initialization Complete\n", - "2023-08-19 23:43:03 [INFO] idaes.init.fs.LTR_pseudo_tube: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:03 [INFO] idaes.init.fs.mixer: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:03 [INFO] idaes.init.fs.HTR_pseudo_tube.control_volume: Initialization Complete\n", - "2023-08-19 23:43:03 [INFO] idaes.init.fs.HTR_pseudo_tube: Initialization Complete: optimal - Optimal Solution Found\n", - "--------------------------------------------------------------------\n", - "The degrees of freedom for the flowsheet is 0\n", - "--------------------------------------------------------------------\n", - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 452\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 118\n", - "\n", - "Total number of variables............................: 178\n", - " variables with only lower bounds: 32\n", - " variables with lower and upper bounds: 59\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 178\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 9.79e+01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 1.43e-01 1.25e-02 -1.0 2.50e+01 - 9.88e-01 1.00e+00h 1\n", - " 2 0.0000000e+00 8.54e-06 1.06e-06 -1.0 2.50e+01 - 1.00e+00 1.00e+00h 1\n", - " 3 0.0000000e+00 7.45e-09 2.83e-08 -2.5 1.79e-04 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 5.8207660913467407e-11 7.4505805969238281e-09\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 5.8207660913467407e-11 7.4505805969238281e-09\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.003\n", - "Total CPU secs in NLP function evaluations = 0.001\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\n", - "====================================================================================\n", - "Unit : fs.boiler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.3897e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 685.15 893.15\n", - " pressure pascal 3.4510e+07 3.4300e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.turbine Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.92700 : dimensionless : True : (None, None)\n", - " Mechanical Work : -1.1759e+06 : watt : False : (None, None)\n", - " Pressure Change : -24.979 : pascal : False : (None, None)\n", - " Pressure Ratio : 0.27174 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 893.15 692.18\n", - " pressure pascal 3.4300e+07 9.3207e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.HTR_pseudo_shell Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -1.2825e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 692.18 489.15\n", - " pressure pascal 9.3207e+06 9.2507e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.HTR_pseudo_tube Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.2825e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 560.75 747.89\n", - " pressure pascal 3.4560e+07 3.4490e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.LTR_pseudo_shell Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -1.1004e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 489.15 354.15\n", - " pressure pascal 9.2507e+06 9.1807e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.LTR_pseudo_tube Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.1004e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 86647. 86647.\n", - " temperature kelvin 416.53 598.89\n", - " pressure pascal 3.4620e+07 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.splitter_1 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Split Fraction [('bypass',)] : 0.25000 : dimensionless : True : (None, None)\n", - " Split Fraction [('to_cooler',)] : 0.75000 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet bypass to_cooler\n", - " flow_mol mole / second 1.2110e+05 30275. 90825.\n", - " temperature kelvin 354.15 354.15 354.15\n", - " pressure pascal 9.1807e+06 9.1807e+06 9.1807e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.co2_cooler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -3.4109e+05 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 90825. 90825.\n", - " temperature kelvin 354.15 308.15\n", - " pressure pascal 9.1807e+06 9.1107e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.main_compressor Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.85000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 3.7116e+05 : watt : False : (None, None)\n", - " Pressure Change : 25.510 : pascal : False : (None, None)\n", - " Pressure Ratio : 3.8000 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 90825. 90825.\n", - " temperature kelvin 308.15 416.53\n", - " pressure pascal 9.1107e+06 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.bypass_compressor Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.85000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 1.4569e+05 : watt : False : (None, None)\n", - " Pressure Change : 25.706 : pascal : False : (None, None)\n", - " Pressure Ratio : 3.8000 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 30275. 30275.\n", - " temperature kelvin 354.15 473.64\n", - " pressure pascal 9.1807e+06 3.4886e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.splitter_2 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Split Fraction [('to_FG_cooler',)] : 0.046000 : dimensionless : True : (None, None)\n", - " Split Fraction [('to_LTR',)] : 0.95400 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet to_FG_cooler to_LTR \n", - " flow_mol mole / second 90825. 4177.9 86647.\n", - " temperature kelvin 416.53 416.53 416.53\n", - " pressure pascal 3.4620e+07 3.4620e+07 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.FG_cooler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 21707. : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 4177.9 4177.9\n", - " temperature kelvin 416.53 483.15\n", - " pressure pascal 3.4620e+07 3.4560e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.mixer Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units FG_out LTR_out bypass Outlet \n", - " flow_mol mole / second 4177.9 86647. 30275. 1.2110e+05\n", - " temperature kelvin 483.15 598.89 473.64 560.75\n", - " pressure pascal 3.4560e+07 3.4620e+07 3.4886e+07 3.4560e+07\n", - "====================================================================================\n", - "659.042605510511 kW\n" - ] - } - ], + "outputs": [], "source": [ "def main():\n", " # Setup solver and options\n", @@ -710,9 +393,8 @@ "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.6" - }, - "orig_nbformat": 4 + } }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/flowsheet_optimization_test.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/flowsheet_optimization_test.ipynb index b4786423..6dd62356 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/flowsheet_optimization_test.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/flowsheet_optimization_test.ipynb @@ -1,718 +1,400 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Supercritical CO2 Property Surrogate with ALAMO Surrogate Object - flowsheet_optimization (Part 3)\n", - "\n", - "Maintainer: Javal Vyas\n", - "\n", - "Author: Javal Vyas\n", - "\n", - "Updated: 2024-01-24\n", - "\n", - "With the surrogate model being embedded in the property package, it is ready to be used in the flowsheet. We start by creating the following flowsheet using the IDAES package. " - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ + "cells": [ { - "data": { - "image/png": "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", - "text/plain": [ - "" + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from IPython.display import Image\n", - "from pathlib import Path\n", - "\n", - "\n", - "def datafile_path(name):\n", - " return Path(\"..\") / name\n", - "\n", - "\n", - "Image(datafile_path(\"CO2_flowsheet.png\"))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 1. Importing libraries\n", - "\n", - "We will be using the unit models from the `IDAES` package along with components from `pyomo.environ` and `pyomo.network`. " - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.environ import (\n", - " ConcreteModel,\n", - " Block,\n", - " Var,\n", - " Param,\n", - " Constraint,\n", - " SolverFactory,\n", - " TransformationFactory,\n", - " TerminationCondition,\n", - " value,\n", - " Expression,\n", - " minimize,\n", - " units,\n", - ")\n", - "from pyomo.network import Arc, SequentialDecomposition\n", - "\n", - "# Import IDAES libraries\n", - "from idaes.core import FlowsheetBlock, UnitModelBlockData\n", - "from idaes.models.unit_models import (\n", - " Mixer,\n", - " MomentumMixingType,\n", - " PressureChanger,\n", - " Heater,\n", - " Separator,\n", - " HeatExchanger,\n", - ")\n", - "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.util.initialization import propagate_state\n", - "from properties import SCO2ParameterBlock\n", - "\n", - "import idaes.logger as idaeslog\n", - "\n", - "_log = idaeslog.getModelLogger(\"my_model\", level=idaeslog.DEBUG, tag=\"model\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 2. Constructing the flowsheet\n", - "\n", - "To construct the flowsheet we need to define a ConcreteModel using pyomo and then add a FlowsheetBlock to the ConcreteModel. Here since we are focusing on the steady state process, we shall have the dynamic flag as False in the FlowsheetBlock. Next, we define the properties in the FlowsheetBlock that we imported from the properties.py file. Then start adding the unit models to the FlowsheetBlock with the suitable arguments, after which we connect them using Arcs as in the flowsheet above. \n", - "\n", - "Once we have the connected flowsheet, we initialize individual unit models. Before initializing, we fix desired variables for the desired behavior of the unit model and then use `propagate_state` to pass on the state variables to next unit model in the flowsheet. After completely initializing the flowsheet, we convert the network to a mathematical form by using `network.expand_arcs` from the TransformationFactory and apply it on the flowsheet block. Then we call the solver and solve the flowsheet to calculate the total work in the process. " - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Supercritical CO2 Property Surrogate with ALAMO Surrogate Object - flowsheet_optimization (Part 3)\n", + "\n", + "Maintainer: Javal Vyas\n", + "\n", + "Author: Javal Vyas\n", + "\n", + "Updated: 2024-01-24\n", + "\n", + "With the surrogate model being embedded in the property package, it is ready to be used in the flowsheet. We start by creating the following flowsheet using the IDAES package. " + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-08-19 23:43:01 [INFO] idaes.init.fs.boiler.control_volume: Initialization Complete\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.boiler: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.turbine: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.HTR_pseudo_shell.control_volume: Initialization Complete\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.HTR_pseudo_shell: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.LTR_pseudo_shell.control_volume: Initialization Complete\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.LTR_pseudo_shell: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.splitter_1: Initialization Step 2 Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.co2_cooler.control_volume: Initialization Complete\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.co2_cooler: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.bypass_compressor: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.main_compressor: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.splitter_2: Initialization Step 2 Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.FG_cooler.control_volume: Initialization Complete\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.FG_cooler: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.LTR_pseudo_tube.control_volume: Initialization Complete\n", - "2023-08-19 23:43:03 [INFO] idaes.init.fs.LTR_pseudo_tube: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:03 [INFO] idaes.init.fs.mixer: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:03 [INFO] idaes.init.fs.HTR_pseudo_tube.control_volume: Initialization Complete\n", - "2023-08-19 23:43:03 [INFO] idaes.init.fs.HTR_pseudo_tube: Initialization Complete: optimal - Optimal Solution Found\n", - "--------------------------------------------------------------------\n", - "The degrees of freedom for the flowsheet is 0\n", - "--------------------------------------------------------------------\n", - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 452\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 118\n", - "\n", - "Total number of variables............................: 178\n", - " variables with only lower bounds: 32\n", - " variables with lower and upper bounds: 59\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 178\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 9.79e+01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 1.43e-01 1.25e-02 -1.0 2.50e+01 - 9.88e-01 1.00e+00h 1\n", - " 2 0.0000000e+00 8.54e-06 1.06e-06 -1.0 2.50e+01 - 1.00e+00 1.00e+00h 1\n", - " 3 0.0000000e+00 7.45e-09 2.83e-08 -2.5 1.79e-04 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 5.8207660913467407e-11 7.4505805969238281e-09\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 5.8207660913467407e-11 7.4505805969238281e-09\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.003\n", - "Total CPU secs in NLP function evaluations = 0.001\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\n", - "====================================================================================\n", - "Unit : fs.boiler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.3897e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 685.15 893.15\n", - " pressure pascal 3.4510e+07 3.4300e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.turbine Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.92700 : dimensionless : True : (None, None)\n", - " Mechanical Work : -1.1759e+06 : watt : False : (None, None)\n", - " Pressure Change : -24.979 : pascal : False : (None, None)\n", - " Pressure Ratio : 0.27174 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 893.15 692.18\n", - " pressure pascal 3.4300e+07 9.3207e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.HTR_pseudo_shell Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -1.2825e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 692.18 489.15\n", - " pressure pascal 9.3207e+06 9.2507e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.HTR_pseudo_tube Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.2825e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 560.75 747.89\n", - " pressure pascal 3.4560e+07 3.4490e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.LTR_pseudo_shell Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -1.1004e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 489.15 354.15\n", - " pressure pascal 9.2507e+06 9.1807e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.LTR_pseudo_tube Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.1004e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 86647. 86647.\n", - " temperature kelvin 416.53 598.89\n", - " pressure pascal 3.4620e+07 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.splitter_1 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Split Fraction [('bypass',)] : 0.25000 : dimensionless : True : (None, None)\n", - " Split Fraction [('to_cooler',)] : 0.75000 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet bypass to_cooler\n", - " flow_mol mole / second 1.2110e+05 30275. 90825.\n", - " temperature kelvin 354.15 354.15 354.15\n", - " pressure pascal 9.1807e+06 9.1807e+06 9.1807e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.co2_cooler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -3.4109e+05 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 90825. 90825.\n", - " temperature kelvin 354.15 308.15\n", - " pressure pascal 9.1807e+06 9.1107e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.main_compressor Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.85000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 3.7116e+05 : watt : False : (None, None)\n", - " Pressure Change : 25.510 : pascal : False : (None, None)\n", - " Pressure Ratio : 3.8000 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 90825. 90825.\n", - " temperature kelvin 308.15 416.53\n", - " pressure pascal 9.1107e+06 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.bypass_compressor Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.85000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 1.4569e+05 : watt : False : (None, None)\n", - " Pressure Change : 25.706 : pascal : False : (None, None)\n", - " Pressure Ratio : 3.8000 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 30275. 30275.\n", - " temperature kelvin 354.15 473.64\n", - " pressure pascal 9.1807e+06 3.4886e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.splitter_2 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Split Fraction [('to_FG_cooler',)] : 0.046000 : dimensionless : True : (None, None)\n", - " Split Fraction [('to_LTR',)] : 0.95400 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet to_FG_cooler to_LTR \n", - " flow_mol mole / second 90825. 4177.9 86647.\n", - " temperature kelvin 416.53 416.53 416.53\n", - " pressure pascal 3.4620e+07 3.4620e+07 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.FG_cooler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 21707. : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 4177.9 4177.9\n", - " temperature kelvin 416.53 483.15\n", - " pressure pascal 3.4620e+07 3.4560e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.mixer Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units FG_out LTR_out bypass Outlet \n", - " flow_mol mole / second 4177.9 86647. 30275. 1.2110e+05\n", - " temperature kelvin 483.15 598.89 473.64 560.75\n", - " pressure pascal 3.4560e+07 3.4620e+07 3.4886e+07 3.4560e+07\n", - "====================================================================================\n", - "659.042605510511 kW\n" - ] + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import Image\n", + "from pathlib import Path\n", + "\n", + "\n", + "def datafile_path(name):\n", + " return Path(\"..\") / name\n", + "\n", + "\n", + "Image(datafile_path(\"CO2_flowsheet.png\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1. Importing libraries\n", + "\n", + "We will be using the unit models from the `IDAES` package along with components from `pyomo.environ` and `pyomo.network`. " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import (\n", + " ConcreteModel,\n", + " Block,\n", + " Var,\n", + " Param,\n", + " Constraint,\n", + " SolverFactory,\n", + " TransformationFactory,\n", + " TerminationCondition,\n", + " value,\n", + " Expression,\n", + " minimize,\n", + " units,\n", + ")\n", + "from pyomo.network import Arc, SequentialDecomposition\n", + "\n", + "# Import IDAES libraries\n", + "from idaes.core import FlowsheetBlock, UnitModelBlockData\n", + "from idaes.models.unit_models import (\n", + " Mixer,\n", + " MomentumMixingType,\n", + " PressureChanger,\n", + " Heater,\n", + " Separator,\n", + " HeatExchanger,\n", + ")\n", + "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.core.util.initialization import propagate_state\n", + "from properties import SCO2ParameterBlock\n", + "\n", + "import idaes.logger as idaeslog\n", + "\n", + "_log = idaeslog.getModelLogger(\"my_model\", level=idaeslog.DEBUG, tag=\"model\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2. Constructing the flowsheet\n", + "\n", + "To construct the flowsheet we need to define a ConcreteModel using pyomo and then add a FlowsheetBlock to the ConcreteModel. Here since we are focusing on the steady state process, we shall have the dynamic flag as False in the FlowsheetBlock. Next, we define the properties in the FlowsheetBlock that we imported from the properties.py file. Then start adding the unit models to the FlowsheetBlock with the suitable arguments, after which we connect them using Arcs as in the flowsheet above. \n", + "\n", + "Once we have the connected flowsheet, we initialize individual unit models. Before initializing, we fix desired variables for the desired behavior of the unit model and then use `propagate_state` to pass on the state variables to next unit model in the flowsheet. After completely initializing the flowsheet, we convert the network to a mathematical form by using `network.expand_arcs` from the TransformationFactory and apply it on the flowsheet block. Then we call the solver and solve the flowsheet to calculate the total work in the process. " + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "def main():\n", + " # Setup solver and options\n", + " solver = SolverFactory(\"ipopt\")\n", + " outlvl = 0\n", + " tee = True\n", + "\n", + " # Set up concrete model\n", + " m = ConcreteModel()\n", + "\n", + " # Create a flowsheet block\n", + " m.fs = FlowsheetBlock(dynamic=False)\n", + "\n", + " # Create the properties param block\n", + " m.fs.properties = SCO2ParameterBlock()\n", + "\n", + " # Add unit models to the flowsheet\n", + " m.fs.boiler = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.turbine = PressureChanger(\n", + " dynamic=False,\n", + " property_package=m.fs.properties,\n", + " compressor=False,\n", + " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", + " )\n", + "\n", + " m.fs.HTR_pseudo_shell = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.HTR_pseudo_tube = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.LTR_pseudo_shell = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.LTR_pseudo_tube = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.splitter_1 = Separator(\n", + " property_package=m.fs.properties, outlet_list=[\"bypass\", \"to_cooler\"]\n", + " )\n", + "\n", + " m.fs.co2_cooler = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.main_compressor = PressureChanger(\n", + " dynamic=False,\n", + " property_package=m.fs.properties,\n", + " compressor=True,\n", + " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", + " )\n", + "\n", + " m.fs.bypass_compressor = PressureChanger(\n", + " dynamic=False,\n", + " property_package=m.fs.properties,\n", + " compressor=True,\n", + " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", + " )\n", + "\n", + " m.fs.splitter_2 = Separator(\n", + " property_package=m.fs.properties,\n", + " ideal_separation=False,\n", + " outlet_list=[\"to_FG_cooler\", \"to_LTR\"],\n", + " )\n", + "\n", + " m.fs.FG_cooler = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.mixer = Mixer(\n", + " property_package=m.fs.properties, inlet_list=[\"FG_out\", \"LTR_out\", \"bypass\"]\n", + " )\n", + "\n", + " # # Connect the flowsheet\n", + " m.fs.s01 = Arc(source=m.fs.boiler.outlet, destination=m.fs.turbine.inlet)\n", + " m.fs.s02 = Arc(source=m.fs.turbine.outlet, destination=m.fs.HTR_pseudo_shell.inlet)\n", + " m.fs.s03 = Arc(\n", + " source=m.fs.HTR_pseudo_shell.outlet, destination=m.fs.LTR_pseudo_shell.inlet\n", + " )\n", + " m.fs.s04 = Arc(\n", + " source=m.fs.LTR_pseudo_shell.outlet, destination=m.fs.splitter_1.inlet\n", + " )\n", + " m.fs.s05 = Arc(source=m.fs.splitter_1.to_cooler, destination=m.fs.co2_cooler.inlet)\n", + " m.fs.s06 = Arc(\n", + " source=m.fs.splitter_1.bypass, destination=m.fs.bypass_compressor.inlet\n", + " )\n", + " m.fs.s07 = Arc(\n", + " source=m.fs.co2_cooler.outlet, destination=m.fs.main_compressor.inlet\n", + " )\n", + " m.fs.s08 = Arc(source=m.fs.bypass_compressor.outlet, destination=m.fs.mixer.bypass)\n", + " m.fs.s09 = Arc(\n", + " source=m.fs.main_compressor.outlet, destination=m.fs.splitter_2.inlet\n", + " )\n", + " m.fs.s10 = Arc(\n", + " source=m.fs.splitter_2.to_FG_cooler, destination=m.fs.FG_cooler.inlet\n", + " )\n", + " m.fs.s11 = Arc(\n", + " source=m.fs.splitter_2.to_LTR, destination=m.fs.LTR_pseudo_tube.inlet\n", + " )\n", + " m.fs.s12 = Arc(source=m.fs.LTR_pseudo_tube.outlet, destination=m.fs.mixer.LTR_out)\n", + " m.fs.s13 = Arc(source=m.fs.FG_cooler.outlet, destination=m.fs.mixer.FG_out)\n", + " m.fs.s14 = Arc(source=m.fs.mixer.outlet, destination=m.fs.HTR_pseudo_tube.inlet)\n", + "\n", + " # NETL Baseline\n", + " m.fs.boiler.inlet.flow_mol.fix(121.1)\n", + " m.fs.boiler.inlet.temperature.fix(685.15)\n", + " m.fs.boiler.inlet.pressure.fix(34.51)\n", + "\n", + " m.fs.boiler.outlet.temperature.fix(893.15) # Turbine inlet T = 620 C\n", + " m.fs.boiler.deltaP.fix(-0.21)\n", + "\n", + " m.fs.boiler.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s01)\n", + "\n", + " m.fs.turbine.ratioP.fix(1 / 3.68)\n", + " m.fs.turbine.efficiency_isentropic.fix(0.927)\n", + " m.fs.turbine.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s02)\n", + " m.fs.HTR_pseudo_shell.outlet.temperature.fix(489.15)\n", + " m.fs.HTR_pseudo_shell.deltaP.fix(-0.07)\n", + "\n", + " m.fs.HTR_pseudo_shell.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s03)\n", + "\n", + " m.fs.LTR_pseudo_shell.outlet.temperature.fix(354.15)\n", + " m.fs.LTR_pseudo_shell.deltaP.fix(-0.07)\n", + " m.fs.LTR_pseudo_shell.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s04)\n", + " m.fs.splitter_1.split_fraction[0, \"bypass\"].fix(0.25)\n", + "\n", + " m.fs.splitter_1.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s05)\n", + " m.fs.co2_cooler.outlet.temperature.fix(308.15)\n", + " m.fs.co2_cooler.deltaP.fix(-0.07)\n", + " m.fs.co2_cooler.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s06)\n", + " m.fs.bypass_compressor.efficiency_isentropic.fix(0.85)\n", + " m.fs.bypass_compressor.ratioP.fix(3.8)\n", + " m.fs.bypass_compressor.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s07)\n", + " m.fs.main_compressor.efficiency_isentropic.fix(0.85)\n", + " m.fs.main_compressor.ratioP.fix(3.8)\n", + " m.fs.main_compressor.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s09)\n", + "\n", + " m.fs.splitter_2.split_fraction[0, \"to_FG_cooler\"].fix(0.046)\n", + " m.fs.splitter_2.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s10)\n", + " m.fs.FG_cooler.outlet.temperature.fix(483.15)\n", + " m.fs.FG_cooler.deltaP.fix(-0.06)\n", + " m.fs.FG_cooler.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s11)\n", + "\n", + " m.fs.LTR_pseudo_tube.deltaP.fix(0)\n", + " m.fs.LTR_pseudo_tube.heat_duty[0].fix(-value(m.fs.LTR_pseudo_shell.heat_duty[0]))\n", + " m.fs.LTR_pseudo_tube.initialize(outlvl=outlvl)\n", + "\n", + " # Add constraint heats of the LTR_pseudo shell and tube\n", + " m.fs.LTR_pseudo_tube.heat_duty[0].unfix()\n", + " m.fs.c1 = Constraint(\n", + " expr=m.fs.LTR_pseudo_shell.heat_duty[0] == -m.fs.LTR_pseudo_tube.heat_duty[0]\n", + " )\n", + "\n", + " propagate_state(m.fs.s08)\n", + " propagate_state(m.fs.s12)\n", + " propagate_state(m.fs.s13)\n", + "\n", + " m.fs.mixer.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s14)\n", + "\n", + " m.fs.HTR_pseudo_tube.heat_duty[0].fix(-value(m.fs.HTR_pseudo_shell.heat_duty[0]))\n", + " m.fs.HTR_pseudo_tube.deltaP.fix(-0.07)\n", + " m.fs.HTR_pseudo_tube.initialize(outlvl=outlvl)\n", + "\n", + " m.fs.HTR_pseudo_tube.heat_duty[0].unfix()\n", + " m.fs.c2 = Constraint(\n", + " expr=m.fs.HTR_pseudo_shell.heat_duty[0] == -m.fs.HTR_pseudo_tube.heat_duty[0]\n", + " )\n", + "\n", + " TransformationFactory(\"network.expand_arcs\").apply_to(m.fs)\n", + "\n", + " print(\"--------------------------------------------------------------------\")\n", + " print(\"The degrees of freedom for the flowsheet is \", degrees_of_freedom(m))\n", + " print(\"--------------------------------------------------------------------\")\n", + "\n", + " solver.solve(m, tee=tee)\n", + "\n", + " #\n", + " from idaes.core.util.units_of_measurement import (\n", + " convert_quantity_to_reporting_units,\n", + " report_quantity,\n", + " )\n", + "\n", + " # Print reports\n", + " for i in m.fs.component_objects(Block):\n", + " if isinstance(i, UnitModelBlockData):\n", + " i.report()\n", + "\n", + " # Converting units for readability\n", + " print(\n", + " -1 * value(units.convert(m.fs.turbine.work_mechanical[0], units.kW))\n", + " - 1 * value(units.convert(m.fs.main_compressor.work_mechanical[0], units.kW))\n", + " - 1 * value(units.convert(m.fs.bypass_compressor.work_mechanical[0], units.kW)),\n", + " units.kW,\n", + " )\n", + " return m\n", + "\n", + "\n", + "if __name__ == \"__main__\":\n", + " m = main()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.6" } - ], - "source": [ - "def main():\n", - " # Setup solver and options\n", - " solver = SolverFactory(\"ipopt\")\n", - " outlvl = 0\n", - " tee = True\n", - "\n", - " # Set up concrete model\n", - " m = ConcreteModel()\n", - "\n", - " # Create a flowsheet block\n", - " m.fs = FlowsheetBlock(dynamic=False)\n", - "\n", - " # Create the properties param block\n", - " m.fs.properties = SCO2ParameterBlock()\n", - "\n", - " # Add unit models to the flowsheet\n", - " m.fs.boiler = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.turbine = PressureChanger(\n", - " dynamic=False,\n", - " property_package=m.fs.properties,\n", - " compressor=False,\n", - " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", - " )\n", - "\n", - " m.fs.HTR_pseudo_shell = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.HTR_pseudo_tube = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.LTR_pseudo_shell = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.LTR_pseudo_tube = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.splitter_1 = Separator(\n", - " property_package=m.fs.properties, outlet_list=[\"bypass\", \"to_cooler\"]\n", - " )\n", - "\n", - " m.fs.co2_cooler = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.main_compressor = PressureChanger(\n", - " dynamic=False,\n", - " property_package=m.fs.properties,\n", - " compressor=True,\n", - " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", - " )\n", - "\n", - " m.fs.bypass_compressor = PressureChanger(\n", - " dynamic=False,\n", - " property_package=m.fs.properties,\n", - " compressor=True,\n", - " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", - " )\n", - "\n", - " m.fs.splitter_2 = Separator(\n", - " property_package=m.fs.properties,\n", - " ideal_separation=False,\n", - " outlet_list=[\"to_FG_cooler\", \"to_LTR\"],\n", - " )\n", - "\n", - " m.fs.FG_cooler = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.mixer = Mixer(\n", - " property_package=m.fs.properties, inlet_list=[\"FG_out\", \"LTR_out\", \"bypass\"]\n", - " )\n", - "\n", - " # # Connect the flowsheet\n", - " m.fs.s01 = Arc(source=m.fs.boiler.outlet, destination=m.fs.turbine.inlet)\n", - " m.fs.s02 = Arc(source=m.fs.turbine.outlet, destination=m.fs.HTR_pseudo_shell.inlet)\n", - " m.fs.s03 = Arc(\n", - " source=m.fs.HTR_pseudo_shell.outlet, destination=m.fs.LTR_pseudo_shell.inlet\n", - " )\n", - " m.fs.s04 = Arc(\n", - " source=m.fs.LTR_pseudo_shell.outlet, destination=m.fs.splitter_1.inlet\n", - " )\n", - " m.fs.s05 = Arc(source=m.fs.splitter_1.to_cooler, destination=m.fs.co2_cooler.inlet)\n", - " m.fs.s06 = Arc(\n", - " source=m.fs.splitter_1.bypass, destination=m.fs.bypass_compressor.inlet\n", - " )\n", - " m.fs.s07 = Arc(\n", - " source=m.fs.co2_cooler.outlet, destination=m.fs.main_compressor.inlet\n", - " )\n", - " m.fs.s08 = Arc(source=m.fs.bypass_compressor.outlet, destination=m.fs.mixer.bypass)\n", - " m.fs.s09 = Arc(\n", - " source=m.fs.main_compressor.outlet, destination=m.fs.splitter_2.inlet\n", - " )\n", - " m.fs.s10 = Arc(\n", - " source=m.fs.splitter_2.to_FG_cooler, destination=m.fs.FG_cooler.inlet\n", - " )\n", - " m.fs.s11 = Arc(\n", - " source=m.fs.splitter_2.to_LTR, destination=m.fs.LTR_pseudo_tube.inlet\n", - " )\n", - " m.fs.s12 = Arc(source=m.fs.LTR_pseudo_tube.outlet, destination=m.fs.mixer.LTR_out)\n", - " m.fs.s13 = Arc(source=m.fs.FG_cooler.outlet, destination=m.fs.mixer.FG_out)\n", - " m.fs.s14 = Arc(source=m.fs.mixer.outlet, destination=m.fs.HTR_pseudo_tube.inlet)\n", - "\n", - " # NETL Baseline\n", - " m.fs.boiler.inlet.flow_mol.fix(121.1)\n", - " m.fs.boiler.inlet.temperature.fix(685.15)\n", - " m.fs.boiler.inlet.pressure.fix(34.51)\n", - "\n", - " m.fs.boiler.outlet.temperature.fix(893.15) # Turbine inlet T = 620 C\n", - " m.fs.boiler.deltaP.fix(-0.21)\n", - "\n", - " m.fs.boiler.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s01)\n", - "\n", - " m.fs.turbine.ratioP.fix(1 / 3.68)\n", - " m.fs.turbine.efficiency_isentropic.fix(0.927)\n", - " m.fs.turbine.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s02)\n", - " m.fs.HTR_pseudo_shell.outlet.temperature.fix(489.15)\n", - " m.fs.HTR_pseudo_shell.deltaP.fix(-0.07)\n", - "\n", - " m.fs.HTR_pseudo_shell.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s03)\n", - "\n", - " m.fs.LTR_pseudo_shell.outlet.temperature.fix(354.15)\n", - " m.fs.LTR_pseudo_shell.deltaP.fix(-0.07)\n", - " m.fs.LTR_pseudo_shell.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s04)\n", - " m.fs.splitter_1.split_fraction[0, \"bypass\"].fix(0.25)\n", - "\n", - " m.fs.splitter_1.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s05)\n", - " m.fs.co2_cooler.outlet.temperature.fix(308.15)\n", - " m.fs.co2_cooler.deltaP.fix(-0.07)\n", - " m.fs.co2_cooler.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s06)\n", - " m.fs.bypass_compressor.efficiency_isentropic.fix(0.85)\n", - " m.fs.bypass_compressor.ratioP.fix(3.8)\n", - " m.fs.bypass_compressor.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s07)\n", - " m.fs.main_compressor.efficiency_isentropic.fix(0.85)\n", - " m.fs.main_compressor.ratioP.fix(3.8)\n", - " m.fs.main_compressor.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s09)\n", - "\n", - " m.fs.splitter_2.split_fraction[0, \"to_FG_cooler\"].fix(0.046)\n", - " m.fs.splitter_2.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s10)\n", - " m.fs.FG_cooler.outlet.temperature.fix(483.15)\n", - " m.fs.FG_cooler.deltaP.fix(-0.06)\n", - " m.fs.FG_cooler.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s11)\n", - "\n", - " m.fs.LTR_pseudo_tube.deltaP.fix(0)\n", - " m.fs.LTR_pseudo_tube.heat_duty[0].fix(-value(m.fs.LTR_pseudo_shell.heat_duty[0]))\n", - " m.fs.LTR_pseudo_tube.initialize(outlvl=outlvl)\n", - "\n", - " # Add constraint heats of the LTR_pseudo shell and tube\n", - " m.fs.LTR_pseudo_tube.heat_duty[0].unfix()\n", - " m.fs.c1 = Constraint(\n", - " expr=m.fs.LTR_pseudo_shell.heat_duty[0] == -m.fs.LTR_pseudo_tube.heat_duty[0]\n", - " )\n", - "\n", - " propagate_state(m.fs.s08)\n", - " propagate_state(m.fs.s12)\n", - " propagate_state(m.fs.s13)\n", - "\n", - " m.fs.mixer.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s14)\n", - "\n", - " m.fs.HTR_pseudo_tube.heat_duty[0].fix(-value(m.fs.HTR_pseudo_shell.heat_duty[0]))\n", - " m.fs.HTR_pseudo_tube.deltaP.fix(-0.07)\n", - " m.fs.HTR_pseudo_tube.initialize(outlvl=outlvl)\n", - "\n", - " m.fs.HTR_pseudo_tube.heat_duty[0].unfix()\n", - " m.fs.c2 = Constraint(\n", - " expr=m.fs.HTR_pseudo_shell.heat_duty[0] == -m.fs.HTR_pseudo_tube.heat_duty[0]\n", - " )\n", - "\n", - " TransformationFactory(\"network.expand_arcs\").apply_to(m.fs)\n", - "\n", - " print(\"--------------------------------------------------------------------\")\n", - " print(\"The degrees of freedom for the flowsheet is \", degrees_of_freedom(m))\n", - " print(\"--------------------------------------------------------------------\")\n", - "\n", - " solver.solve(m, tee=tee)\n", - "\n", - " #\n", - " from idaes.core.util.units_of_measurement import (\n", - " convert_quantity_to_reporting_units,\n", - " report_quantity,\n", - " )\n", - "\n", - " # Print reports\n", - " for i in m.fs.component_objects(Block):\n", - " if isinstance(i, UnitModelBlockData):\n", - " i.report()\n", - "\n", - " # Converting units for readability\n", - " print(\n", - " -1 * value(units.convert(m.fs.turbine.work_mechanical[0], units.kW))\n", - " - 1 * value(units.convert(m.fs.main_compressor.work_mechanical[0], units.kW))\n", - " - 1 * value(units.convert(m.fs.bypass_compressor.work_mechanical[0], units.kW)),\n", - " units.kW,\n", - " )\n", - " return m\n", - "\n", - "\n", - "if __name__ == \"__main__\":\n", - " m = main()" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.6" }, - "orig_nbformat": 4 - }, - "nbformat": 4, - "nbformat_minor": 3 -} + "nbformat": 4, + "nbformat_minor": 3 +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/flowsheet_optimization_usr.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/flowsheet_optimization_usr.ipynb index b4786423..6dd62356 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/flowsheet_optimization_usr.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/flowsheet_optimization_usr.ipynb @@ -1,718 +1,400 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Supercritical CO2 Property Surrogate with ALAMO Surrogate Object - flowsheet_optimization (Part 3)\n", - "\n", - "Maintainer: Javal Vyas\n", - "\n", - "Author: Javal Vyas\n", - "\n", - "Updated: 2024-01-24\n", - "\n", - "With the surrogate model being embedded in the property package, it is ready to be used in the flowsheet. We start by creating the following flowsheet using the IDAES package. " - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ + "cells": [ { - "data": { - "image/png": "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", - "text/plain": [ - "" + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from IPython.display import Image\n", - "from pathlib import Path\n", - "\n", - "\n", - "def datafile_path(name):\n", - " return Path(\"..\") / name\n", - "\n", - "\n", - "Image(datafile_path(\"CO2_flowsheet.png\"))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 1. Importing libraries\n", - "\n", - "We will be using the unit models from the `IDAES` package along with components from `pyomo.environ` and `pyomo.network`. " - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.environ import (\n", - " ConcreteModel,\n", - " Block,\n", - " Var,\n", - " Param,\n", - " Constraint,\n", - " SolverFactory,\n", - " TransformationFactory,\n", - " TerminationCondition,\n", - " value,\n", - " Expression,\n", - " minimize,\n", - " units,\n", - ")\n", - "from pyomo.network import Arc, SequentialDecomposition\n", - "\n", - "# Import IDAES libraries\n", - "from idaes.core import FlowsheetBlock, UnitModelBlockData\n", - "from idaes.models.unit_models import (\n", - " Mixer,\n", - " MomentumMixingType,\n", - " PressureChanger,\n", - " Heater,\n", - " Separator,\n", - " HeatExchanger,\n", - ")\n", - "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.util.initialization import propagate_state\n", - "from properties import SCO2ParameterBlock\n", - "\n", - "import idaes.logger as idaeslog\n", - "\n", - "_log = idaeslog.getModelLogger(\"my_model\", level=idaeslog.DEBUG, tag=\"model\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 2. Constructing the flowsheet\n", - "\n", - "To construct the flowsheet we need to define a ConcreteModel using pyomo and then add a FlowsheetBlock to the ConcreteModel. Here since we are focusing on the steady state process, we shall have the dynamic flag as False in the FlowsheetBlock. Next, we define the properties in the FlowsheetBlock that we imported from the properties.py file. Then start adding the unit models to the FlowsheetBlock with the suitable arguments, after which we connect them using Arcs as in the flowsheet above. \n", - "\n", - "Once we have the connected flowsheet, we initialize individual unit models. Before initializing, we fix desired variables for the desired behavior of the unit model and then use `propagate_state` to pass on the state variables to next unit model in the flowsheet. After completely initializing the flowsheet, we convert the network to a mathematical form by using `network.expand_arcs` from the TransformationFactory and apply it on the flowsheet block. Then we call the solver and solve the flowsheet to calculate the total work in the process. " - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Supercritical CO2 Property Surrogate with ALAMO Surrogate Object - flowsheet_optimization (Part 3)\n", + "\n", + "Maintainer: Javal Vyas\n", + "\n", + "Author: Javal Vyas\n", + "\n", + "Updated: 2024-01-24\n", + "\n", + "With the surrogate model being embedded in the property package, it is ready to be used in the flowsheet. We start by creating the following flowsheet using the IDAES package. " + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-08-19 23:43:01 [INFO] idaes.init.fs.boiler.control_volume: Initialization Complete\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.boiler: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.turbine: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.HTR_pseudo_shell.control_volume: Initialization Complete\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.HTR_pseudo_shell: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.LTR_pseudo_shell.control_volume: Initialization Complete\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.LTR_pseudo_shell: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.splitter_1: Initialization Step 2 Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:01 [INFO] idaes.init.fs.co2_cooler.control_volume: Initialization Complete\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.co2_cooler: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.bypass_compressor: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.main_compressor: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.splitter_2: Initialization Step 2 Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.FG_cooler.control_volume: Initialization Complete\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.FG_cooler: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:02 [INFO] idaes.init.fs.LTR_pseudo_tube.control_volume: Initialization Complete\n", - "2023-08-19 23:43:03 [INFO] idaes.init.fs.LTR_pseudo_tube: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:03 [INFO] idaes.init.fs.mixer: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:43:03 [INFO] idaes.init.fs.HTR_pseudo_tube.control_volume: Initialization Complete\n", - "2023-08-19 23:43:03 [INFO] idaes.init.fs.HTR_pseudo_tube: Initialization Complete: optimal - Optimal Solution Found\n", - "--------------------------------------------------------------------\n", - "The degrees of freedom for the flowsheet is 0\n", - "--------------------------------------------------------------------\n", - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 452\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 118\n", - "\n", - "Total number of variables............................: 178\n", - " variables with only lower bounds: 32\n", - " variables with lower and upper bounds: 59\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 178\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 9.79e+01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 1.43e-01 1.25e-02 -1.0 2.50e+01 - 9.88e-01 1.00e+00h 1\n", - " 2 0.0000000e+00 8.54e-06 1.06e-06 -1.0 2.50e+01 - 1.00e+00 1.00e+00h 1\n", - " 3 0.0000000e+00 7.45e-09 2.83e-08 -2.5 1.79e-04 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 5.8207660913467407e-11 7.4505805969238281e-09\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 5.8207660913467407e-11 7.4505805969238281e-09\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.003\n", - "Total CPU secs in NLP function evaluations = 0.001\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\n", - "====================================================================================\n", - "Unit : fs.boiler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.3897e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 685.15 893.15\n", - " pressure pascal 3.4510e+07 3.4300e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.turbine Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.92700 : dimensionless : True : (None, None)\n", - " Mechanical Work : -1.1759e+06 : watt : False : (None, None)\n", - " Pressure Change : -24.979 : pascal : False : (None, None)\n", - " Pressure Ratio : 0.27174 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 893.15 692.18\n", - " pressure pascal 3.4300e+07 9.3207e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.HTR_pseudo_shell Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -1.2825e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 692.18 489.15\n", - " pressure pascal 9.3207e+06 9.2507e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.HTR_pseudo_tube Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.2825e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 560.75 747.89\n", - " pressure pascal 3.4560e+07 3.4490e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.LTR_pseudo_shell Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -1.1004e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 489.15 354.15\n", - " pressure pascal 9.2507e+06 9.1807e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.LTR_pseudo_tube Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.1004e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 86647. 86647.\n", - " temperature kelvin 416.53 598.89\n", - " pressure pascal 3.4620e+07 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.splitter_1 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Split Fraction [('bypass',)] : 0.25000 : dimensionless : True : (None, None)\n", - " Split Fraction [('to_cooler',)] : 0.75000 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet bypass to_cooler\n", - " flow_mol mole / second 1.2110e+05 30275. 90825.\n", - " temperature kelvin 354.15 354.15 354.15\n", - " pressure pascal 9.1807e+06 9.1807e+06 9.1807e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.co2_cooler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -3.4109e+05 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 90825. 90825.\n", - " temperature kelvin 354.15 308.15\n", - " pressure pascal 9.1807e+06 9.1107e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.main_compressor Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.85000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 3.7116e+05 : watt : False : (None, None)\n", - " Pressure Change : 25.510 : pascal : False : (None, None)\n", - " Pressure Ratio : 3.8000 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 90825. 90825.\n", - " temperature kelvin 308.15 416.53\n", - " pressure pascal 9.1107e+06 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.bypass_compressor Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.85000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 1.4569e+05 : watt : False : (None, None)\n", - " Pressure Change : 25.706 : pascal : False : (None, None)\n", - " Pressure Ratio : 3.8000 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 30275. 30275.\n", - " temperature kelvin 354.15 473.64\n", - " pressure pascal 9.1807e+06 3.4886e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.splitter_2 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Split Fraction [('to_FG_cooler',)] : 0.046000 : dimensionless : True : (None, None)\n", - " Split Fraction [('to_LTR',)] : 0.95400 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet to_FG_cooler to_LTR \n", - " flow_mol mole / second 90825. 4177.9 86647.\n", - " temperature kelvin 416.53 416.53 416.53\n", - " pressure pascal 3.4620e+07 3.4620e+07 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.FG_cooler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 21707. : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 4177.9 4177.9\n", - " temperature kelvin 416.53 483.15\n", - " pressure pascal 3.4620e+07 3.4560e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.mixer Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units FG_out LTR_out bypass Outlet \n", - " flow_mol mole / second 4177.9 86647. 30275. 1.2110e+05\n", - " temperature kelvin 483.15 598.89 473.64 560.75\n", - " pressure pascal 3.4560e+07 3.4620e+07 3.4886e+07 3.4560e+07\n", - "====================================================================================\n", - "659.042605510511 kW\n" - ] + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import Image\n", + "from pathlib import Path\n", + "\n", + "\n", + "def datafile_path(name):\n", + " return Path(\"..\") / name\n", + "\n", + "\n", + "Image(datafile_path(\"CO2_flowsheet.png\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1. Importing libraries\n", + "\n", + "We will be using the unit models from the `IDAES` package along with components from `pyomo.environ` and `pyomo.network`. " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import (\n", + " ConcreteModel,\n", + " Block,\n", + " Var,\n", + " Param,\n", + " Constraint,\n", + " SolverFactory,\n", + " TransformationFactory,\n", + " TerminationCondition,\n", + " value,\n", + " Expression,\n", + " minimize,\n", + " units,\n", + ")\n", + "from pyomo.network import Arc, SequentialDecomposition\n", + "\n", + "# Import IDAES libraries\n", + "from idaes.core import FlowsheetBlock, UnitModelBlockData\n", + "from idaes.models.unit_models import (\n", + " Mixer,\n", + " MomentumMixingType,\n", + " PressureChanger,\n", + " Heater,\n", + " Separator,\n", + " HeatExchanger,\n", + ")\n", + "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.core.util.initialization import propagate_state\n", + "from properties import SCO2ParameterBlock\n", + "\n", + "import idaes.logger as idaeslog\n", + "\n", + "_log = idaeslog.getModelLogger(\"my_model\", level=idaeslog.DEBUG, tag=\"model\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2. Constructing the flowsheet\n", + "\n", + "To construct the flowsheet we need to define a ConcreteModel using pyomo and then add a FlowsheetBlock to the ConcreteModel. Here since we are focusing on the steady state process, we shall have the dynamic flag as False in the FlowsheetBlock. Next, we define the properties in the FlowsheetBlock that we imported from the properties.py file. Then start adding the unit models to the FlowsheetBlock with the suitable arguments, after which we connect them using Arcs as in the flowsheet above. \n", + "\n", + "Once we have the connected flowsheet, we initialize individual unit models. Before initializing, we fix desired variables for the desired behavior of the unit model and then use `propagate_state` to pass on the state variables to next unit model in the flowsheet. After completely initializing the flowsheet, we convert the network to a mathematical form by using `network.expand_arcs` from the TransformationFactory and apply it on the flowsheet block. Then we call the solver and solve the flowsheet to calculate the total work in the process. " + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "def main():\n", + " # Setup solver and options\n", + " solver = SolverFactory(\"ipopt\")\n", + " outlvl = 0\n", + " tee = True\n", + "\n", + " # Set up concrete model\n", + " m = ConcreteModel()\n", + "\n", + " # Create a flowsheet block\n", + " m.fs = FlowsheetBlock(dynamic=False)\n", + "\n", + " # Create the properties param block\n", + " m.fs.properties = SCO2ParameterBlock()\n", + "\n", + " # Add unit models to the flowsheet\n", + " m.fs.boiler = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.turbine = PressureChanger(\n", + " dynamic=False,\n", + " property_package=m.fs.properties,\n", + " compressor=False,\n", + " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", + " )\n", + "\n", + " m.fs.HTR_pseudo_shell = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.HTR_pseudo_tube = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.LTR_pseudo_shell = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.LTR_pseudo_tube = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.splitter_1 = Separator(\n", + " property_package=m.fs.properties, outlet_list=[\"bypass\", \"to_cooler\"]\n", + " )\n", + "\n", + " m.fs.co2_cooler = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.main_compressor = PressureChanger(\n", + " dynamic=False,\n", + " property_package=m.fs.properties,\n", + " compressor=True,\n", + " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", + " )\n", + "\n", + " m.fs.bypass_compressor = PressureChanger(\n", + " dynamic=False,\n", + " property_package=m.fs.properties,\n", + " compressor=True,\n", + " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", + " )\n", + "\n", + " m.fs.splitter_2 = Separator(\n", + " property_package=m.fs.properties,\n", + " ideal_separation=False,\n", + " outlet_list=[\"to_FG_cooler\", \"to_LTR\"],\n", + " )\n", + "\n", + " m.fs.FG_cooler = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.mixer = Mixer(\n", + " property_package=m.fs.properties, inlet_list=[\"FG_out\", \"LTR_out\", \"bypass\"]\n", + " )\n", + "\n", + " # # Connect the flowsheet\n", + " m.fs.s01 = Arc(source=m.fs.boiler.outlet, destination=m.fs.turbine.inlet)\n", + " m.fs.s02 = Arc(source=m.fs.turbine.outlet, destination=m.fs.HTR_pseudo_shell.inlet)\n", + " m.fs.s03 = Arc(\n", + " source=m.fs.HTR_pseudo_shell.outlet, destination=m.fs.LTR_pseudo_shell.inlet\n", + " )\n", + " m.fs.s04 = Arc(\n", + " source=m.fs.LTR_pseudo_shell.outlet, destination=m.fs.splitter_1.inlet\n", + " )\n", + " m.fs.s05 = Arc(source=m.fs.splitter_1.to_cooler, destination=m.fs.co2_cooler.inlet)\n", + " m.fs.s06 = Arc(\n", + " source=m.fs.splitter_1.bypass, destination=m.fs.bypass_compressor.inlet\n", + " )\n", + " m.fs.s07 = Arc(\n", + " source=m.fs.co2_cooler.outlet, destination=m.fs.main_compressor.inlet\n", + " )\n", + " m.fs.s08 = Arc(source=m.fs.bypass_compressor.outlet, destination=m.fs.mixer.bypass)\n", + " m.fs.s09 = Arc(\n", + " source=m.fs.main_compressor.outlet, destination=m.fs.splitter_2.inlet\n", + " )\n", + " m.fs.s10 = Arc(\n", + " source=m.fs.splitter_2.to_FG_cooler, destination=m.fs.FG_cooler.inlet\n", + " )\n", + " m.fs.s11 = Arc(\n", + " source=m.fs.splitter_2.to_LTR, destination=m.fs.LTR_pseudo_tube.inlet\n", + " )\n", + " m.fs.s12 = Arc(source=m.fs.LTR_pseudo_tube.outlet, destination=m.fs.mixer.LTR_out)\n", + " m.fs.s13 = Arc(source=m.fs.FG_cooler.outlet, destination=m.fs.mixer.FG_out)\n", + " m.fs.s14 = Arc(source=m.fs.mixer.outlet, destination=m.fs.HTR_pseudo_tube.inlet)\n", + "\n", + " # NETL Baseline\n", + " m.fs.boiler.inlet.flow_mol.fix(121.1)\n", + " m.fs.boiler.inlet.temperature.fix(685.15)\n", + " m.fs.boiler.inlet.pressure.fix(34.51)\n", + "\n", + " m.fs.boiler.outlet.temperature.fix(893.15) # Turbine inlet T = 620 C\n", + " m.fs.boiler.deltaP.fix(-0.21)\n", + "\n", + " m.fs.boiler.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s01)\n", + "\n", + " m.fs.turbine.ratioP.fix(1 / 3.68)\n", + " m.fs.turbine.efficiency_isentropic.fix(0.927)\n", + " m.fs.turbine.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s02)\n", + " m.fs.HTR_pseudo_shell.outlet.temperature.fix(489.15)\n", + " m.fs.HTR_pseudo_shell.deltaP.fix(-0.07)\n", + "\n", + " m.fs.HTR_pseudo_shell.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s03)\n", + "\n", + " m.fs.LTR_pseudo_shell.outlet.temperature.fix(354.15)\n", + " m.fs.LTR_pseudo_shell.deltaP.fix(-0.07)\n", + " m.fs.LTR_pseudo_shell.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s04)\n", + " m.fs.splitter_1.split_fraction[0, \"bypass\"].fix(0.25)\n", + "\n", + " m.fs.splitter_1.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s05)\n", + " m.fs.co2_cooler.outlet.temperature.fix(308.15)\n", + " m.fs.co2_cooler.deltaP.fix(-0.07)\n", + " m.fs.co2_cooler.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s06)\n", + " m.fs.bypass_compressor.efficiency_isentropic.fix(0.85)\n", + " m.fs.bypass_compressor.ratioP.fix(3.8)\n", + " m.fs.bypass_compressor.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s07)\n", + " m.fs.main_compressor.efficiency_isentropic.fix(0.85)\n", + " m.fs.main_compressor.ratioP.fix(3.8)\n", + " m.fs.main_compressor.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s09)\n", + "\n", + " m.fs.splitter_2.split_fraction[0, \"to_FG_cooler\"].fix(0.046)\n", + " m.fs.splitter_2.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s10)\n", + " m.fs.FG_cooler.outlet.temperature.fix(483.15)\n", + " m.fs.FG_cooler.deltaP.fix(-0.06)\n", + " m.fs.FG_cooler.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s11)\n", + "\n", + " m.fs.LTR_pseudo_tube.deltaP.fix(0)\n", + " m.fs.LTR_pseudo_tube.heat_duty[0].fix(-value(m.fs.LTR_pseudo_shell.heat_duty[0]))\n", + " m.fs.LTR_pseudo_tube.initialize(outlvl=outlvl)\n", + "\n", + " # Add constraint heats of the LTR_pseudo shell and tube\n", + " m.fs.LTR_pseudo_tube.heat_duty[0].unfix()\n", + " m.fs.c1 = Constraint(\n", + " expr=m.fs.LTR_pseudo_shell.heat_duty[0] == -m.fs.LTR_pseudo_tube.heat_duty[0]\n", + " )\n", + "\n", + " propagate_state(m.fs.s08)\n", + " propagate_state(m.fs.s12)\n", + " propagate_state(m.fs.s13)\n", + "\n", + " m.fs.mixer.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s14)\n", + "\n", + " m.fs.HTR_pseudo_tube.heat_duty[0].fix(-value(m.fs.HTR_pseudo_shell.heat_duty[0]))\n", + " m.fs.HTR_pseudo_tube.deltaP.fix(-0.07)\n", + " m.fs.HTR_pseudo_tube.initialize(outlvl=outlvl)\n", + "\n", + " m.fs.HTR_pseudo_tube.heat_duty[0].unfix()\n", + " m.fs.c2 = Constraint(\n", + " expr=m.fs.HTR_pseudo_shell.heat_duty[0] == -m.fs.HTR_pseudo_tube.heat_duty[0]\n", + " )\n", + "\n", + " TransformationFactory(\"network.expand_arcs\").apply_to(m.fs)\n", + "\n", + " print(\"--------------------------------------------------------------------\")\n", + " print(\"The degrees of freedom for the flowsheet is \", degrees_of_freedom(m))\n", + " print(\"--------------------------------------------------------------------\")\n", + "\n", + " solver.solve(m, tee=tee)\n", + "\n", + " #\n", + " from idaes.core.util.units_of_measurement import (\n", + " convert_quantity_to_reporting_units,\n", + " report_quantity,\n", + " )\n", + "\n", + " # Print reports\n", + " for i in m.fs.component_objects(Block):\n", + " if isinstance(i, UnitModelBlockData):\n", + " i.report()\n", + "\n", + " # Converting units for readability\n", + " print(\n", + " -1 * value(units.convert(m.fs.turbine.work_mechanical[0], units.kW))\n", + " - 1 * value(units.convert(m.fs.main_compressor.work_mechanical[0], units.kW))\n", + " - 1 * value(units.convert(m.fs.bypass_compressor.work_mechanical[0], units.kW)),\n", + " units.kW,\n", + " )\n", + " return m\n", + "\n", + "\n", + "if __name__ == \"__main__\":\n", + " m = main()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.6" } - ], - "source": [ - "def main():\n", - " # Setup solver and options\n", - " solver = SolverFactory(\"ipopt\")\n", - " outlvl = 0\n", - " tee = True\n", - "\n", - " # Set up concrete model\n", - " m = ConcreteModel()\n", - "\n", - " # Create a flowsheet block\n", - " m.fs = FlowsheetBlock(dynamic=False)\n", - "\n", - " # Create the properties param block\n", - " m.fs.properties = SCO2ParameterBlock()\n", - "\n", - " # Add unit models to the flowsheet\n", - " m.fs.boiler = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.turbine = PressureChanger(\n", - " dynamic=False,\n", - " property_package=m.fs.properties,\n", - " compressor=False,\n", - " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", - " )\n", - "\n", - " m.fs.HTR_pseudo_shell = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.HTR_pseudo_tube = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.LTR_pseudo_shell = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.LTR_pseudo_tube = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.splitter_1 = Separator(\n", - " property_package=m.fs.properties, outlet_list=[\"bypass\", \"to_cooler\"]\n", - " )\n", - "\n", - " m.fs.co2_cooler = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.main_compressor = PressureChanger(\n", - " dynamic=False,\n", - " property_package=m.fs.properties,\n", - " compressor=True,\n", - " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", - " )\n", - "\n", - " m.fs.bypass_compressor = PressureChanger(\n", - " dynamic=False,\n", - " property_package=m.fs.properties,\n", - " compressor=True,\n", - " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", - " )\n", - "\n", - " m.fs.splitter_2 = Separator(\n", - " property_package=m.fs.properties,\n", - " ideal_separation=False,\n", - " outlet_list=[\"to_FG_cooler\", \"to_LTR\"],\n", - " )\n", - "\n", - " m.fs.FG_cooler = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.mixer = Mixer(\n", - " property_package=m.fs.properties, inlet_list=[\"FG_out\", \"LTR_out\", \"bypass\"]\n", - " )\n", - "\n", - " # # Connect the flowsheet\n", - " m.fs.s01 = Arc(source=m.fs.boiler.outlet, destination=m.fs.turbine.inlet)\n", - " m.fs.s02 = Arc(source=m.fs.turbine.outlet, destination=m.fs.HTR_pseudo_shell.inlet)\n", - " m.fs.s03 = Arc(\n", - " source=m.fs.HTR_pseudo_shell.outlet, destination=m.fs.LTR_pseudo_shell.inlet\n", - " )\n", - " m.fs.s04 = Arc(\n", - " source=m.fs.LTR_pseudo_shell.outlet, destination=m.fs.splitter_1.inlet\n", - " )\n", - " m.fs.s05 = Arc(source=m.fs.splitter_1.to_cooler, destination=m.fs.co2_cooler.inlet)\n", - " m.fs.s06 = Arc(\n", - " source=m.fs.splitter_1.bypass, destination=m.fs.bypass_compressor.inlet\n", - " )\n", - " m.fs.s07 = Arc(\n", - " source=m.fs.co2_cooler.outlet, destination=m.fs.main_compressor.inlet\n", - " )\n", - " m.fs.s08 = Arc(source=m.fs.bypass_compressor.outlet, destination=m.fs.mixer.bypass)\n", - " m.fs.s09 = Arc(\n", - " source=m.fs.main_compressor.outlet, destination=m.fs.splitter_2.inlet\n", - " )\n", - " m.fs.s10 = Arc(\n", - " source=m.fs.splitter_2.to_FG_cooler, destination=m.fs.FG_cooler.inlet\n", - " )\n", - " m.fs.s11 = Arc(\n", - " source=m.fs.splitter_2.to_LTR, destination=m.fs.LTR_pseudo_tube.inlet\n", - " )\n", - " m.fs.s12 = Arc(source=m.fs.LTR_pseudo_tube.outlet, destination=m.fs.mixer.LTR_out)\n", - " m.fs.s13 = Arc(source=m.fs.FG_cooler.outlet, destination=m.fs.mixer.FG_out)\n", - " m.fs.s14 = Arc(source=m.fs.mixer.outlet, destination=m.fs.HTR_pseudo_tube.inlet)\n", - "\n", - " # NETL Baseline\n", - " m.fs.boiler.inlet.flow_mol.fix(121.1)\n", - " m.fs.boiler.inlet.temperature.fix(685.15)\n", - " m.fs.boiler.inlet.pressure.fix(34.51)\n", - "\n", - " m.fs.boiler.outlet.temperature.fix(893.15) # Turbine inlet T = 620 C\n", - " m.fs.boiler.deltaP.fix(-0.21)\n", - "\n", - " m.fs.boiler.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s01)\n", - "\n", - " m.fs.turbine.ratioP.fix(1 / 3.68)\n", - " m.fs.turbine.efficiency_isentropic.fix(0.927)\n", - " m.fs.turbine.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s02)\n", - " m.fs.HTR_pseudo_shell.outlet.temperature.fix(489.15)\n", - " m.fs.HTR_pseudo_shell.deltaP.fix(-0.07)\n", - "\n", - " m.fs.HTR_pseudo_shell.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s03)\n", - "\n", - " m.fs.LTR_pseudo_shell.outlet.temperature.fix(354.15)\n", - " m.fs.LTR_pseudo_shell.deltaP.fix(-0.07)\n", - " m.fs.LTR_pseudo_shell.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s04)\n", - " m.fs.splitter_1.split_fraction[0, \"bypass\"].fix(0.25)\n", - "\n", - " m.fs.splitter_1.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s05)\n", - " m.fs.co2_cooler.outlet.temperature.fix(308.15)\n", - " m.fs.co2_cooler.deltaP.fix(-0.07)\n", - " m.fs.co2_cooler.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s06)\n", - " m.fs.bypass_compressor.efficiency_isentropic.fix(0.85)\n", - " m.fs.bypass_compressor.ratioP.fix(3.8)\n", - " m.fs.bypass_compressor.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s07)\n", - " m.fs.main_compressor.efficiency_isentropic.fix(0.85)\n", - " m.fs.main_compressor.ratioP.fix(3.8)\n", - " m.fs.main_compressor.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s09)\n", - "\n", - " m.fs.splitter_2.split_fraction[0, \"to_FG_cooler\"].fix(0.046)\n", - " m.fs.splitter_2.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s10)\n", - " m.fs.FG_cooler.outlet.temperature.fix(483.15)\n", - " m.fs.FG_cooler.deltaP.fix(-0.06)\n", - " m.fs.FG_cooler.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s11)\n", - "\n", - " m.fs.LTR_pseudo_tube.deltaP.fix(0)\n", - " m.fs.LTR_pseudo_tube.heat_duty[0].fix(-value(m.fs.LTR_pseudo_shell.heat_duty[0]))\n", - " m.fs.LTR_pseudo_tube.initialize(outlvl=outlvl)\n", - "\n", - " # Add constraint heats of the LTR_pseudo shell and tube\n", - " m.fs.LTR_pseudo_tube.heat_duty[0].unfix()\n", - " m.fs.c1 = Constraint(\n", - " expr=m.fs.LTR_pseudo_shell.heat_duty[0] == -m.fs.LTR_pseudo_tube.heat_duty[0]\n", - " )\n", - "\n", - " propagate_state(m.fs.s08)\n", - " propagate_state(m.fs.s12)\n", - " propagate_state(m.fs.s13)\n", - "\n", - " m.fs.mixer.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s14)\n", - "\n", - " m.fs.HTR_pseudo_tube.heat_duty[0].fix(-value(m.fs.HTR_pseudo_shell.heat_duty[0]))\n", - " m.fs.HTR_pseudo_tube.deltaP.fix(-0.07)\n", - " m.fs.HTR_pseudo_tube.initialize(outlvl=outlvl)\n", - "\n", - " m.fs.HTR_pseudo_tube.heat_duty[0].unfix()\n", - " m.fs.c2 = Constraint(\n", - " expr=m.fs.HTR_pseudo_shell.heat_duty[0] == -m.fs.HTR_pseudo_tube.heat_duty[0]\n", - " )\n", - "\n", - " TransformationFactory(\"network.expand_arcs\").apply_to(m.fs)\n", - "\n", - " print(\"--------------------------------------------------------------------\")\n", - " print(\"The degrees of freedom for the flowsheet is \", degrees_of_freedom(m))\n", - " print(\"--------------------------------------------------------------------\")\n", - "\n", - " solver.solve(m, tee=tee)\n", - "\n", - " #\n", - " from idaes.core.util.units_of_measurement import (\n", - " convert_quantity_to_reporting_units,\n", - " report_quantity,\n", - " )\n", - "\n", - " # Print reports\n", - " for i in m.fs.component_objects(Block):\n", - " if isinstance(i, UnitModelBlockData):\n", - " i.report()\n", - "\n", - " # Converting units for readability\n", - " print(\n", - " -1 * value(units.convert(m.fs.turbine.work_mechanical[0], units.kW))\n", - " - 1 * value(units.convert(m.fs.main_compressor.work_mechanical[0], units.kW))\n", - " - 1 * value(units.convert(m.fs.bypass_compressor.work_mechanical[0], units.kW)),\n", - " units.kW,\n", - " )\n", - " return m\n", - "\n", - "\n", - "if __name__ == \"__main__\":\n", - " m = main()" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.6" }, - "orig_nbformat": 4 - }, - "nbformat": 4, - "nbformat_minor": 3 -} + "nbformat": 4, + "nbformat_minor": 3 +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/properties.py b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/properties.py index 74e18ab0..ce6248dc 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/properties.py +++ b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/properties.py @@ -1,15 +1,16 @@ -############################################################################## -# Institute for the Design of Advanced Energy Systems Process Systems -# Engineering Framework (IDAES PSE Framework) Copyright (c) 2018-2019, by the -# software owners: The Regents of the University of California, through -# Lawrence Berkeley National Laboratory, National Technology & Engineering -# Solutions of Sandia, LLC, Carnegie Mellon University, West Virginia -# University Research Corporation, et al. All rights reserved. +################################################################################# +# The Institute for the Design of Advanced Energy Systems Integrated Platform +# Framework (IDAES IP) was produced under the DOE Institute for the +# Design of Advanced Energy Systems (IDAES). # -# Please see the files COPYRIGHT.txt and LICENSE.txt for full copyright and -# license information, respectively. Both files are also available online -# at the URL "https://github.com/IDAES/idaes-pse". -############################################################################## +# Copyright (c) 2018-2025 by the software owners: The Regents of the +# University of California, through Lawrence Berkeley National Laboratory, +# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon +# University, West Virginia University Research Corporation, et al. +# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md +# for full copyright and license information. +# +################################################################################# """ Surrogate property package for SCO2 cycle. diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/surrogate_embedding.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/surrogate_embedding.ipynb index 5eab16fe..d164d4ff 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/surrogate_embedding.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/surrogate_embedding.ipynb @@ -1,5 +1,32 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "6f6d2175", + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "code", "execution_count": null, @@ -490,8 +517,7 @@ "metadata": { "language_info": { "name": "python" - }, - "orig_nbformat": 4 + } }, "nbformat": 4, "nbformat_minor": 2 diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/surrogate_embedding_doc.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/surrogate_embedding_doc.ipynb index 40a5d434..d6812865 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/surrogate_embedding_doc.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/surrogate_embedding_doc.ipynb @@ -1,5 +1,31 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "code", "execution_count": null, @@ -483,16 +509,15 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Now we have our property package ready for being used in the flowsheet for optimization. We shall see that in the next part of this tutorial, [flowsheet_optimization](./flowsheet_optimization_doc.ipynb). To learn in detail about making a custom property package, one should go through [Property Package Example](../../../properties/custom/custom_physical_property_packages_doc.ipynb). " + "Now we have our property package ready for being used in the flowsheet for optimization. We shall see that in the next part of this tutorial, [flowsheet_optimization](./flowsheet_optimization_doc.md). To learn in detail about making a custom property package, one should go through [Property Package Example](../../../properties/custom/custom_physical_property_packages_doc.md). " ] } ], "metadata": { "language_info": { "name": "python" - }, - "orig_nbformat": 4 + } }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/surrogate_embedding_test.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/surrogate_embedding_test.ipynb index fb1cfe4b..1c925335 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/surrogate_embedding_test.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/surrogate_embedding_test.ipynb @@ -1,498 +1,523 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "##############################################################################\n", - "# Institute for the Design of Advanced Energy Systems Process Systems\n", - "# Engineering Framework (IDAES PSE Framework) Copyright (c) 2018-2019, by the\n", - "# software owners: The Regents of the University of California, through\n", - "# Lawrence Berkeley National Laboratory, National Technology & Engineering\n", - "# Solutions of Sandia, LLC, Carnegie Mellon University, West Virginia\n", - "# University Research Corporation, et al. All rights reserved.\n", - "#\n", - "# Please see the files COPYRIGHT.txt and LICENSE.txt for full copyright and\n", - "# license information, respectively. Both files are also available online\n", - "# at the URL \"https://github.com/IDAES/idaes-pse\".\n", - "##############################################################################" - ] + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "##############################################################################\n", + "# Institute for the Design of Advanced Energy Systems Process Systems\n", + "# Engineering Framework (IDAES PSE Framework) Copyright (c) 2018-2019, by the\n", + "# software owners: The Regents of the University of California, through\n", + "# Lawrence Berkeley National Laboratory, National Technology & Engineering\n", + "# Solutions of Sandia, LLC, Carnegie Mellon University, West Virginia\n", + "# University Research Corporation, et al. All rights reserved.\n", + "#\n", + "# Please see the files COPYRIGHT.txt and LICENSE.txt for full copyright and\n", + "# license information, respectively. Both files are also available online\n", + "# at the URL \"https://github.com/IDAES/idaes-pse\".\n", + "##############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Supercritical CO2 Property Surrogate with ALAMO Surrogate Object - Embedding Surrogate (Part 2)\n", + "\n", + "Maintainer: Javal Vyas\n", + "\n", + "Author: Javal Vyas\n", + "\n", + "Updated: 2024-01-24\n", + "\n", + "## 1. Integration of Surrogate into Custom Property Package\n", + "\n", + "Here we shall see how to integrate the trained surrogate in the custom property package. One can read more about making a properties package from read the docs. To integrate the surrogate we first define the physical parameter block which will return the properties based on the state variables. State variables would be called from the State Block as Pyomo variables. We will define the surrogate input and output as pyomo variables as well. Once we have defined the variables in the state block then we define our surrogate block.\n", + "\n", + "*NOTE:* For ease of explanation the property package is written in \".ipynb\" format, ideally it should be in a python script. Each class of this package is separated in different cell for the same reason, in practice all the classes in this notebook should be part of the same python script. This folder includes \"properties.py\" file which is how embedding file should look like. \n", + "\n", + "### 1.1 Steps in Creating a Property Package\n", + "Creating a new property package can be broken down into the following steps, which will be demonstrated in the next part of this tutorial.\n", + "\n", + "1. Defining the **units of measurement** for the property package.\n", + "2. Defining the **properties supported** by the property package and the associated metadata.\n", + "3. Defining the **phases and components** of interest.\n", + "4. Defining the necessary **parameters** required to calculate the properties of interest.\n", + "5. Declaring the **state variables** to be used for the property package.\n", + "6. Creating **variables and constraints** to describe the properties of interest.\n", + "7. Creating an **initialization routine** for the property package.\n", + "8. Defining **interface methods** used to couple the property package with unit models." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2. Importing libraries for making Property Package\n", + "\n", + "To begin with, we are going to need a number of components from the Pyomo modeling environment to construct the variables, constraints and parameters that will make up the property package, and we will also make use of the Pyomo units of measurement tools to define the units of our properties. We will also make use of a number of components and supporting methods from the IDAES modeling framework and libraries. We shall also use the Surrogate API in the IDAES framework to embed the trained surrogate in the property package." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Import Python libraries\n", + "import logging\n", + "\n", + "# Import Pyomo libraries\n", + "from pyomo.environ import (\n", + " Constraint,\n", + " Param,\n", + " Reals,\n", + " Set,\n", + " value,\n", + " Var,\n", + " NonNegativeReals,\n", + " units,\n", + ")\n", + "from pyomo.opt import SolverFactory, TerminationCondition\n", + "\n", + "# Import IDAES cores\n", + "from idaes.core import (\n", + " declare_process_block_class,\n", + " PhysicalParameterBlock,\n", + " StateBlockData,\n", + " StateBlock,\n", + " MaterialBalanceType,\n", + " EnergyBalanceType,\n", + " LiquidPhase,\n", + " Component,\n", + ")\n", + "from idaes.core.util.initialization import solve_indexed_blocks\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.core.util.misc import extract_data\n", + "from idaes.core.solvers import get_solver\n", + "from pyomo.util.check_units import assert_units_consistent\n", + "from idaes.core.surrogate.surrogate_block import SurrogateBlock\n", + "from idaes.core.surrogate.alamopy import AlamoSurrogate\n", + "\n", + "from pyomo.util.model_size import build_model_size_report\n", + "\n", + "# Some more information about this module\n", + "__author__ = \"Javal Vyas\"\n", + "\n", + "\n", + "# Set up logger\n", + "_log = logging.getLogger(__name__)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 3 Defining Classes\n", + "\n", + "We shall be going through each class of the property package in detail. Since there are not reactions occurring in the flowsheet we shall only write the Physical Parameter Block.\n", + "\n", + "## 3.1 Physical Parameter Block\n", + "\n", + "The Physical Parameter Block serves as the central point of reference for all aspects of the property package, and needs to define a number of things about the package. These are summarized below:\n", + "\n", + "* Units of measurement\n", + "* What properties are supported and how they are implemented\n", + "* What components and phases are included in the packages\n", + "* All the global parameters necessary for calculating properties\n", + "* A reference to the associated State Block class, so that construction of the State Block components can be automated from the Physical Parameter Block\n", + "\n", + "To assemble the above mentioned things in a class we need to follow the following steps:\n", + "\n", + "* Declaring the new class and inheriting from the PhysicalParameterBlock base class\n", + "* Declaring any necessary configuration arguments\n", + "* Writing the build method for our class\n", + "* Creating a define_metadata method for the class.\n", + "\n", + "The code below follows the above mentioned steps. \n", + "\n", + "*NOTE*: The SCO2StateBlock will be discussed in the next section." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "@declare_process_block_class(\"SCO2ParameterBlock\")\n", + "class PhysicalParameterData(PhysicalParameterBlock):\n", + " \"\"\"\n", + " Property Parameter Block Class\n", + "\n", + " Contains parameters and indexing sets associated with properties for\n", + " supercritical CO2.\n", + "\n", + " \"\"\"\n", + "\n", + " def build(self):\n", + " \"\"\"\n", + " Callable method for Block construction.\n", + " \"\"\"\n", + " super(PhysicalParameterData, self).build()\n", + "\n", + " self._state_block_class = SCO2StateBlock\n", + "\n", + " # List of valid phases in property package\n", + " self.Liq = LiquidPhase()\n", + "\n", + " # Component list - a list of component identifiers\n", + " self.CO2 = Component()\n", + "\n", + " @classmethod\n", + " def define_metadata(cls, obj):\n", + " obj.add_properties(\n", + " {\n", + " \"flow_mol\": {\"method\": None, \"units\": \"kmol/s\"},\n", + " \"pressure\": {\"method\": None, \"units\": \"MPa\"},\n", + " \"temperature\": {\"method\": None, \"units\": \"K\"},\n", + " \"enth_mol\": {\"method\": None, \"units\": \"kJ/kmol\"},\n", + " \"entr_mol\": {\"method\": None, \"units\": \"kJ/kmol/K\"},\n", + " }\n", + " )\n", + "\n", + " obj.add_default_units(\n", + " {\n", + " \"time\": units.s,\n", + " \"length\": units.m,\n", + " \"mass\": units.kg,\n", + " \"amount\": units.mol,\n", + " \"temperature\": units.K,\n", + " }\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.2 State Block\n", + "\n", + "After the Physical Parameter Block class has been created, the next step is to write the code necessary to create the State Blocks that will be used through out the flowsheet.\n", + "\n", + "For this example, we will begin by describing the content of the StateBlockData objects, as this is where we create the variables and constraints that describe how to calculate the thermophysical properties of the material. \n", + "\n", + "We start by defining the 5 state variables: flow_mol, pressure, temperature, enth_mol and entr_mol as the Pyomo Var, each of this variable has a unit for unit consistency. This is done in _make_state_vars function. We get the enth_mol and entr_mol variables from trained surrogate which we define in this function as well. To get the output variables from the surrogate:\n", + "\n", + "1. Define the input and output variables to the trained surrogate\n", + "2. Load the surrogate from the folder it is saved in, here it is saved in the folder called alamo_surrogate (look at the alamo_training_test.ipynb file) using the Alamopy Surrogate API of IDAES package\n", + "3. Define a `SurrogateBlock` and call the build_model method on the block with the input variables, output variables, model formulation and the loaded surrogate as the arguments. \n", + "4. Define the constraints necessary for ensuring physical feasibility of the system like the mass balance and energy balance. Check for the state variables to be within the bounds. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "@declare_process_block_class(\"SCO2StateBlock\", block_class=StateBlock)\n", + "class SCO2StateBlockData(StateBlockData):\n", + " \"\"\"\n", + " An example property package for ideal gas properties with Gibbs energy\n", + " \"\"\"\n", + "\n", + " def build(self):\n", + " \"\"\"\n", + " Callable method for Block construction\n", + " \"\"\"\n", + " super(SCO2StateBlockData, self).build()\n", + " self._make_state_vars()\n", + "\n", + " def _make_state_vars(self):\n", + " # Create state variables\n", + "\n", + " self.flow_mol = Var(\n", + " domain=NonNegativeReals,\n", + " initialize=1.0,\n", + " units=units.kmol / units.s,\n", + " doc=\"Total molar flowrate [kmol/s]\",\n", + " )\n", + "\n", + " self.pressure = Var(\n", + " domain=NonNegativeReals,\n", + " initialize=8,\n", + " bounds=(7.38, 40),\n", + " units=units.MPa,\n", + " doc=\"State pressure [MPa]\",\n", + " )\n", + "\n", + " self.temperature = Var(\n", + " domain=NonNegativeReals,\n", + " initialize=350,\n", + " bounds=(304.2, 760 + 273.15),\n", + " units=units.K,\n", + " doc=\"State temperature [K]\",\n", + " )\n", + "\n", + " self.entr_mol = Var(\n", + " domain=Reals,\n", + " initialize=10,\n", + " units=units.kJ / units.kmol / units.K,\n", + " doc=\"Entropy [kJ/ kmol / K]\",\n", + " )\n", + "\n", + " self.enth_mol = Var(\n", + " domain=Reals,\n", + " initialize=1,\n", + " units=units.kJ / units.kmol,\n", + " doc=\"Enthalpy [kJ/ kmol]\",\n", + " )\n", + "\n", + " inputs = [self.pressure, self.temperature]\n", + " outputs = [self.enth_mol, self.entr_mol]\n", + " self.alamo_surrogate = AlamoSurrogate.load_from_file(\"alamo_surrogate.json\")\n", + " self.surrogate_enth = SurrogateBlock()\n", + " self.surrogate_enth.build_model(\n", + " self.alamo_surrogate,\n", + " input_vars=inputs,\n", + " output_vars=outputs,\n", + " )\n", + "\n", + " def get_material_flow_terms(self, p, j):\n", + " return self.flow_mol\n", + "\n", + " def get_enthalpy_flow_terms(self, p):\n", + " return self.flow_mol * self.enth_mol\n", + "\n", + " def default_material_balance_type(self):\n", + " return MaterialBalanceType.componentTotal\n", + "\n", + " def default_energy_balance_type(self):\n", + " return EnergyBalanceType.enthalpyTotal\n", + "\n", + " def define_state_vars(self):\n", + " return {\n", + " \"flow_mol\": self.flow_mol,\n", + " \"temperature\": self.temperature,\n", + " \"pressure\": self.pressure,\n", + " }\n", + "\n", + " def model_check(blk):\n", + " \"\"\"\n", + " Model checks for property block\n", + " \"\"\"\n", + " # Check temperature bounds\n", + " if value(blk.temperature) < blk.temperature.lb:\n", + " _log.error(\"{} Temperature set below lower bound.\".format(blk.name))\n", + " if value(blk.temperature) > blk.temperature.ub:\n", + " _log.error(\"{} Temperature set above upper bound.\".format(blk.name))\n", + "\n", + " # Check pressure bounds\n", + " if value(blk.pressure) < blk.pressure.lb:\n", + " _log.error(\"{} Pressure set below lower bound.\".format(blk.name))\n", + " if value(blk.pressure) > blk.pressure.ub:\n", + " _log.error(\"{} Pressure set above upper bound.\".format(blk.name))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.3 Define Initialization Routine\n", + "\n", + "After defining the variables and constraints required to describe the properties of interest for S-CO2, we need to provide them with a good initial guess. It is often the case that the default values provided to the variables while creating the model are not likely the actual conditions the user would simulate. Given the highly non-linear nature of the physical property calculations, it is more often than not impossible to solve a State Block without providing a set of good initial values for all the variables we have declared.\n", + "\n", + "Any initialization routine can be written by following a 3 step process:\n", + "1. `Fix the state` of the model such that there are no degrees of freedom. For State Blocks, it should only be necessary to fix the state variables to a set of initial guesses provided by the user or unit model, as well as deactivating any constraints like the sum of mole fractions.\n", + "\n", + "2. `Iteratively build up a solution` for the full model. This often involves multiple steps and can involve deactivating constraints and fixing some variables to reduce complexity, as well as analytically calculating values for variables based on the known state (and any previously calculated variables). Solvers can be called as part of any step to efficiently initialize large numbers of variables simultaneously.\n", + "\n", + "3. `Return the state of the model` to where it originally started (with the exception of variable values). Any variable that was fixed or constraint that was deactivated during initialization should be unfixed or reactivated, so that the degrees of freedom are restored to what they were before the initialization began.\n", + "\n", + "\n", + "Thus, we start with fixing the state variables. Here since enth_mol and entr_mol are a function of pressure and temperature, we do not fix them as fixing pressure and temperature would in turn fix them. So, we check if a state variable if fixed or not, if it is fixed then we do not change them, if they are not fixed then we check for an initial guess from the `state_args`, if we get a value then we fix the variable with state_args, else we fix it with the value provided by the user. This should bring the degrees of freedom to 0. Here since we do not have any variable/constrained that we have unfixed/deactivated we can skip step 2 and move to step 3. We unfix the variables that were fixed in step 1 using the `release_state` function. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "class _StateBlock(StateBlock):\n", + " \"\"\"\n", + " This Class contains methods which should be applied to Property Blocks as a\n", + " whole, rather than individual elements of indexed Property Blocks.\n", + " \"\"\"\n", + "\n", + " def initialize(\n", + " blk,\n", + " state_args=None,\n", + " hold_state=False,\n", + " outlvl=1,\n", + " state_vars_fixed=False,\n", + " solver=\"ipopt\",\n", + " optarg={\"tol\": 1e-8},\n", + " ):\n", + " \"\"\"\n", + " Initialisation routine for property package.\n", + "\n", + " Keyword Arguments:\n", + " flow_mol : value at which to initialize component flows\n", + " (default=None)\n", + " pressure : value at which to initialize pressure (default=None)\n", + " temperature : value at which to initialize temperature\n", + " (default=None)\n", + " outlvl : sets output level of initialisation routine\n", + "\n", + " * 0 = no output (default)\n", + " * 1 = return solver state for each step in routine\n", + " * 2 = include solver output information (tee=True)\n", + " state_vars_fixed: Flag to denote if state vars have already been\n", + " fixed.\n", + " - True - states have already been fixed by the\n", + " control volume 1D. Control volume 0D\n", + " does not fix the state vars, so will\n", + " be False if this state block is used\n", + " with 0D blocks.\n", + " - False - states have not been fixed. The state\n", + " block will deal with fixing/unfixing.\n", + " optarg : solver options dictionary object (default=None)\n", + " solver : str indicating which solver to use during\n", + " initialization (default = 'ipopt')\n", + " hold_state : flag indicating whether the initialization routine\n", + " should unfix any state variables fixed during\n", + " initialization (default=False).\n", + " - True - states variables are not unfixed, and\n", + " a dict of returned containing flags for\n", + " which states were fixed during\n", + " initialization.\n", + " - False - state variables are unfixed after\n", + " initialization by calling the\n", + " release_state method\n", + "\n", + " Returns:\n", + " If hold_states is True, returns a dict containing flags for\n", + " which states were fixed during initialization.\n", + " \"\"\"\n", + " if state_vars_fixed is False:\n", + " # Fix state variables if not already fixed\n", + " Fcflag = {}\n", + " Pflag = {}\n", + " Tflag = {}\n", + "\n", + " for k in blk.keys():\n", + " if blk[k].flow_mol.fixed is True:\n", + " Fcflag[k] = True\n", + " else:\n", + " Fcflag[k] = False\n", + " if state_args is None:\n", + " blk[k].flow_mol.fix()\n", + " else:\n", + " blk[k].flow_mol.fix(state_args[\"flow_mol\"])\n", + "\n", + " if blk[k].pressure.fixed is True:\n", + " Pflag[k] = True\n", + " else:\n", + " Pflag[k] = False\n", + " if state_args is None:\n", + " blk[k].pressure.fix()\n", + " else:\n", + " blk[k].pressure.fix(state_args[\"pressure\"])\n", + "\n", + " if blk[k].temperature.fixed is True:\n", + " Tflag[k] = True\n", + " else:\n", + " Tflag[k] = False\n", + " if state_args is None:\n", + " blk[k].temperature.fix()\n", + " else:\n", + " blk[k].temperature.fix(state_args[\"temperature\"])\n", + "\n", + " # If input block, return flags, else release state\n", + " flags = {\"Fcflag\": Fcflag, \"Pflag\": Pflag, \"Tflag\": Tflag}\n", + "\n", + " else:\n", + " # Check when the state vars are fixed already result in dof 0\n", + " for k in blk.keys():\n", + " if degrees_of_freedom(blk[k]) != 0:\n", + " raise Exception(\n", + " \"State vars fixed but degrees of freedom \"\n", + " \"for state block is not zero during \"\n", + " \"initialization.\"\n", + " )\n", + "\n", + " if state_vars_fixed is False:\n", + " if hold_state is True:\n", + " return flags\n", + " else:\n", + " blk.release_state(flags)\n", + "\n", + " def release_state(blk, flags, outlvl=0):\n", + " \"\"\"\n", + " Method to release state variables fixed during initialisation.\n", + "\n", + " Keyword Arguments:\n", + " flags : dict containing information of which state variables\n", + " were fixed during initialization, and should now be\n", + " unfixed. This dict is returned by initialize if\n", + " hold_state=True.\n", + " outlvl : sets output level of of logging\n", + " \"\"\"\n", + " if flags is None:\n", + " return\n", + "\n", + " # Unfix state variables\n", + " for k in blk.keys():\n", + " if flags[\"Fcflag\"][k] is False:\n", + " blk[k].flow_mol.unfix()\n", + " if flags[\"Pflag\"][k] is False:\n", + " blk[k].pressure.unfix()\n", + " if flags[\"Tflag\"][k] is False:\n", + " blk[k].temperature.unfix()\n", + "\n", + " if outlvl > 0:\n", + " if outlvl > 0:\n", + " _log.info(\"{} State Released.\".format(blk.name))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we have our property package ready for being used in the flowsheet for optimization. We shall see that in the next part of this tutorial, [flowsheet_optimization](./flowsheet_optimization_test.ipynb). To learn in detail about making a custom property package, one should go through [Property Package Example](../../../properties/custom/custom_physical_property_packages_test.ipynb). " + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Supercritical CO2 Property Surrogate with ALAMO Surrogate Object - Embedding Surrogate (Part 2)\n", - "\n", - "Maintainer: Javal Vyas\n", - "\n", - "Author: Javal Vyas\n", - "\n", - "Updated: 2024-01-24\n", - "\n", - "## 1. Integration of Surrogate into Custom Property Package\n", - "\n", - "Here we shall see how to integrate the trained surrogate in the custom property package. One can read more about making a properties package from read the docs. To integrate the surrogate we first define the physical parameter block which will return the properties based on the state variables. State variables would be called from the State Block as Pyomo variables. We will define the surrogate input and output as pyomo variables as well. Once we have defined the variables in the state block then we define our surrogate block.\n", - "\n", - "*NOTE:* For ease of explanation the property package is written in \".ipynb\" format, ideally it should be in a python script. Each class of this package is separated in different cell for the same reason, in practice all the classes in this notebook should be part of the same python script. This folder includes \"properties.py\" file which is how embedding file should look like. \n", - "\n", - "### 1.1 Steps in Creating a Property Package\n", - "Creating a new property package can be broken down into the following steps, which will be demonstrated in the next part of this tutorial.\n", - "\n", - "1. Defining the **units of measurement** for the property package.\n", - "2. Defining the **properties supported** by the property package and the associated metadata.\n", - "3. Defining the **phases and components** of interest.\n", - "4. Defining the necessary **parameters** required to calculate the properties of interest.\n", - "5. Declaring the **state variables** to be used for the property package.\n", - "6. Creating **variables and constraints** to describe the properties of interest.\n", - "7. Creating an **initialization routine** for the property package.\n", - "8. Defining **interface methods** used to couple the property package with unit models." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 2. Importing libraries for making Property Package\n", - "\n", - "To begin with, we are going to need a number of components from the Pyomo modeling environment to construct the variables, constraints and parameters that will make up the property package, and we will also make use of the Pyomo units of measurement tools to define the units of our properties. We will also make use of a number of components and supporting methods from the IDAES modeling framework and libraries. We shall also use the Surrogate API in the IDAES framework to embed the trained surrogate in the property package." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Import Python libraries\n", - "import logging\n", - "\n", - "# Import Pyomo libraries\n", - "from pyomo.environ import (\n", - " Constraint,\n", - " Param,\n", - " Reals,\n", - " Set,\n", - " value,\n", - " Var,\n", - " NonNegativeReals,\n", - " units,\n", - ")\n", - "from pyomo.opt import SolverFactory, TerminationCondition\n", - "\n", - "# Import IDAES cores\n", - "from idaes.core import (\n", - " declare_process_block_class,\n", - " PhysicalParameterBlock,\n", - " StateBlockData,\n", - " StateBlock,\n", - " MaterialBalanceType,\n", - " EnergyBalanceType,\n", - " LiquidPhase,\n", - " Component,\n", - ")\n", - "from idaes.core.util.initialization import solve_indexed_blocks\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.util.misc import extract_data\n", - "from idaes.core.solvers import get_solver\n", - "from pyomo.util.check_units import assert_units_consistent\n", - "from idaes.core.surrogate.surrogate_block import SurrogateBlock\n", - "from idaes.core.surrogate.alamopy import AlamoSurrogate\n", - "\n", - "from pyomo.util.model_size import build_model_size_report\n", - "\n", - "# Some more information about this module\n", - "__author__ = \"Javal Vyas\"\n", - "\n", - "\n", - "# Set up logger\n", - "_log = logging.getLogger(__name__)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 3 Defining Classes\n", - "\n", - "We shall be going through each class of the property package in detail. Since there are not reactions occurring in the flowsheet we shall only write the Physical Parameter Block.\n", - "\n", - "## 3.1 Physical Parameter Block\n", - "\n", - "The Physical Parameter Block serves as the central point of reference for all aspects of the property package, and needs to define a number of things about the package. These are summarized below:\n", - "\n", - "* Units of measurement\n", - "* What properties are supported and how they are implemented\n", - "* What components and phases are included in the packages\n", - "* All the global parameters necessary for calculating properties\n", - "* A reference to the associated State Block class, so that construction of the State Block components can be automated from the Physical Parameter Block\n", - "\n", - "To assemble the above mentioned things in a class we need to follow the following steps:\n", - "\n", - "* Declaring the new class and inheriting from the PhysicalParameterBlock base class\n", - "* Declaring any necessary configuration arguments\n", - "* Writing the build method for our class\n", - "* Creating a define_metadata method for the class.\n", - "\n", - "The code below follows the above mentioned steps. \n", - "\n", - "*NOTE*: The SCO2StateBlock will be discussed in the next section." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "@declare_process_block_class(\"SCO2ParameterBlock\")\n", - "class PhysicalParameterData(PhysicalParameterBlock):\n", - " \"\"\"\n", - " Property Parameter Block Class\n", - "\n", - " Contains parameters and indexing sets associated with properties for\n", - " supercritical CO2.\n", - "\n", - " \"\"\"\n", - "\n", - " def build(self):\n", - " \"\"\"\n", - " Callable method for Block construction.\n", - " \"\"\"\n", - " super(PhysicalParameterData, self).build()\n", - "\n", - " self._state_block_class = SCO2StateBlock\n", - "\n", - " # List of valid phases in property package\n", - " self.Liq = LiquidPhase()\n", - "\n", - " # Component list - a list of component identifiers\n", - " self.CO2 = Component()\n", - "\n", - " @classmethod\n", - " def define_metadata(cls, obj):\n", - " obj.add_properties(\n", - " {\n", - " \"flow_mol\": {\"method\": None, \"units\": \"kmol/s\"},\n", - " \"pressure\": {\"method\": None, \"units\": \"MPa\"},\n", - " \"temperature\": {\"method\": None, \"units\": \"K\"},\n", - " \"enth_mol\": {\"method\": None, \"units\": \"kJ/kmol\"},\n", - " \"entr_mol\": {\"method\": None, \"units\": \"kJ/kmol/K\"},\n", - " }\n", - " )\n", - "\n", - " obj.add_default_units(\n", - " {\n", - " \"time\": units.s,\n", - " \"length\": units.m,\n", - " \"mass\": units.kg,\n", - " \"amount\": units.mol,\n", - " \"temperature\": units.K,\n", - " }\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.2 State Block\n", - "\n", - "After the Physical Parameter Block class has been created, the next step is to write the code necessary to create the State Blocks that will be used through out the flowsheet.\n", - "\n", - "For this example, we will begin by describing the content of the StateBlockData objects, as this is where we create the variables and constraints that describe how to calculate the thermophysical properties of the material. \n", - "\n", - "We start by defining the 5 state variables: flow_mol, pressure, temperature, enth_mol and entr_mol as the Pyomo Var, each of this variable has a unit for unit consistency. This is done in _make_state_vars function. We get the enth_mol and entr_mol variables from trained surrogate which we define in this function as well. To get the output variables from the surrogate:\n", - "\n", - "1. Define the input and output variables to the trained surrogate\n", - "2. Load the surrogate from the folder it is saved in, here it is saved in the folder called alamo_surrogate (look at the alamo_training_test.ipynb file) using the Alamopy Surrogate API of IDAES package\n", - "3. Define a `SurrogateBlock` and call the build_model method on the block with the input variables, output variables, model formulation and the loaded surrogate as the arguments. \n", - "4. Define the constraints necessary for ensuring physical feasibility of the system like the mass balance and energy balance. Check for the state variables to be within the bounds. \n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "@declare_process_block_class(\"SCO2StateBlock\", block_class=StateBlock)\n", - "class SCO2StateBlockData(StateBlockData):\n", - " \"\"\"\n", - " An example property package for ideal gas properties with Gibbs energy\n", - " \"\"\"\n", - "\n", - " def build(self):\n", - " \"\"\"\n", - " Callable method for Block construction\n", - " \"\"\"\n", - " super(SCO2StateBlockData, self).build()\n", - " self._make_state_vars()\n", - "\n", - " def _make_state_vars(self):\n", - " # Create state variables\n", - "\n", - " self.flow_mol = Var(\n", - " domain=NonNegativeReals,\n", - " initialize=1.0,\n", - " units=units.kmol / units.s,\n", - " doc=\"Total molar flowrate [kmol/s]\",\n", - " )\n", - "\n", - " self.pressure = Var(\n", - " domain=NonNegativeReals,\n", - " initialize=8,\n", - " bounds=(7.38, 40),\n", - " units=units.MPa,\n", - " doc=\"State pressure [MPa]\",\n", - " )\n", - "\n", - " self.temperature = Var(\n", - " domain=NonNegativeReals,\n", - " initialize=350,\n", - " bounds=(304.2, 760 + 273.15),\n", - " units=units.K,\n", - " doc=\"State temperature [K]\",\n", - " )\n", - "\n", - " self.entr_mol = Var(\n", - " domain=Reals,\n", - " initialize=10,\n", - " units=units.kJ / units.kmol / units.K,\n", - " doc=\"Entropy [kJ/ kmol / K]\",\n", - " )\n", - "\n", - " self.enth_mol = Var(\n", - " domain=Reals,\n", - " initialize=1,\n", - " units=units.kJ / units.kmol,\n", - " doc=\"Enthalpy [kJ/ kmol]\",\n", - " )\n", - "\n", - " inputs = [self.pressure, self.temperature]\n", - " outputs = [self.enth_mol, self.entr_mol]\n", - " self.alamo_surrogate = AlamoSurrogate.load_from_file(\"alamo_surrogate.json\")\n", - " self.surrogate_enth = SurrogateBlock()\n", - " self.surrogate_enth.build_model(\n", - " self.alamo_surrogate,\n", - " input_vars=inputs,\n", - " output_vars=outputs,\n", - " )\n", - "\n", - " def get_material_flow_terms(self, p, j):\n", - " return self.flow_mol\n", - "\n", - " def get_enthalpy_flow_terms(self, p):\n", - " return self.flow_mol * self.enth_mol\n", - "\n", - " def default_material_balance_type(self):\n", - " return MaterialBalanceType.componentTotal\n", - "\n", - " def default_energy_balance_type(self):\n", - " return EnergyBalanceType.enthalpyTotal\n", - "\n", - " def define_state_vars(self):\n", - " return {\n", - " \"flow_mol\": self.flow_mol,\n", - " \"temperature\": self.temperature,\n", - " \"pressure\": self.pressure,\n", - " }\n", - "\n", - " def model_check(blk):\n", - " \"\"\"\n", - " Model checks for property block\n", - " \"\"\"\n", - " # Check temperature bounds\n", - " if value(blk.temperature) < blk.temperature.lb:\n", - " _log.error(\"{} Temperature set below lower bound.\".format(blk.name))\n", - " if value(blk.temperature) > blk.temperature.ub:\n", - " _log.error(\"{} Temperature set above upper bound.\".format(blk.name))\n", - "\n", - " # Check pressure bounds\n", - " if value(blk.pressure) < blk.pressure.lb:\n", - " _log.error(\"{} Pressure set below lower bound.\".format(blk.name))\n", - " if value(blk.pressure) > blk.pressure.ub:\n", - " _log.error(\"{} Pressure set above upper bound.\".format(blk.name))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.3 Define Initialization Routine\n", - "\n", - "After defining the variables and constraints required to describe the properties of interest for S-CO2, we need to provide them with a good initial guess. It is often the case that the default values provided to the variables while creating the model are not likely the actual conditions the user would simulate. Given the highly non-linear nature of the physical property calculations, it is more often than not impossible to solve a State Block without providing a set of good initial values for all the variables we have declared.\n", - "\n", - "Any initialization routine can be written by following a 3 step process:\n", - "1. `Fix the state` of the model such that there are no degrees of freedom. For State Blocks, it should only be necessary to fix the state variables to a set of initial guesses provided by the user or unit model, as well as deactivating any constraints like the sum of mole fractions.\n", - "\n", - "2. `Iteratively build up a solution` for the full model. This often involves multiple steps and can involve deactivating constraints and fixing some variables to reduce complexity, as well as analytically calculating values for variables based on the known state (and any previously calculated variables). Solvers can be called as part of any step to efficiently initialize large numbers of variables simultaneously.\n", - "\n", - "3. `Return the state of the model` to where it originally started (with the exception of variable values). Any variable that was fixed or constraint that was deactivated during initialization should be unfixed or reactivated, so that the degrees of freedom are restored to what they were before the initialization began.\n", - "\n", - "\n", - "Thus, we start with fixing the state variables. Here since enth_mol and entr_mol are a function of pressure and temperature, we do not fix them as fixing pressure and temperature would in turn fix them. So, we check if a state variable if fixed or not, if it is fixed then we do not change them, if they are not fixed then we check for an initial guess from the `state_args`, if we get a value then we fix the variable with state_args, else we fix it with the value provided by the user. This should bring the degrees of freedom to 0. Here since we do not have any variable/constrained that we have unfixed/deactivated we can skip step 2 and move to step 3. We unfix the variables that were fixed in step 1 using the `release_state` function. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "class _StateBlock(StateBlock):\n", - " \"\"\"\n", - " This Class contains methods which should be applied to Property Blocks as a\n", - " whole, rather than individual elements of indexed Property Blocks.\n", - " \"\"\"\n", - "\n", - " def initialize(\n", - " blk,\n", - " state_args=None,\n", - " hold_state=False,\n", - " outlvl=1,\n", - " state_vars_fixed=False,\n", - " solver=\"ipopt\",\n", - " optarg={\"tol\": 1e-8},\n", - " ):\n", - " \"\"\"\n", - " Initialisation routine for property package.\n", - "\n", - " Keyword Arguments:\n", - " flow_mol : value at which to initialize component flows\n", - " (default=None)\n", - " pressure : value at which to initialize pressure (default=None)\n", - " temperature : value at which to initialize temperature\n", - " (default=None)\n", - " outlvl : sets output level of initialisation routine\n", - "\n", - " * 0 = no output (default)\n", - " * 1 = return solver state for each step in routine\n", - " * 2 = include solver output information (tee=True)\n", - " state_vars_fixed: Flag to denote if state vars have already been\n", - " fixed.\n", - " - True - states have already been fixed by the\n", - " control volume 1D. Control volume 0D\n", - " does not fix the state vars, so will\n", - " be False if this state block is used\n", - " with 0D blocks.\n", - " - False - states have not been fixed. The state\n", - " block will deal with fixing/unfixing.\n", - " optarg : solver options dictionary object (default=None)\n", - " solver : str indicating which solver to use during\n", - " initialization (default = 'ipopt')\n", - " hold_state : flag indicating whether the initialization routine\n", - " should unfix any state variables fixed during\n", - " initialization (default=False).\n", - " - True - states variables are not unfixed, and\n", - " a dict of returned containing flags for\n", - " which states were fixed during\n", - " initialization.\n", - " - False - state variables are unfixed after\n", - " initialization by calling the\n", - " release_state method\n", - "\n", - " Returns:\n", - " If hold_states is True, returns a dict containing flags for\n", - " which states were fixed during initialization.\n", - " \"\"\"\n", - " if state_vars_fixed is False:\n", - " # Fix state variables if not already fixed\n", - " Fcflag = {}\n", - " Pflag = {}\n", - " Tflag = {}\n", - "\n", - " for k in blk.keys():\n", - " if blk[k].flow_mol.fixed is True:\n", - " Fcflag[k] = True\n", - " else:\n", - " Fcflag[k] = False\n", - " if state_args is None:\n", - " blk[k].flow_mol.fix()\n", - " else:\n", - " blk[k].flow_mol.fix(state_args[\"flow_mol\"])\n", - "\n", - " if blk[k].pressure.fixed is True:\n", - " Pflag[k] = True\n", - " else:\n", - " Pflag[k] = False\n", - " if state_args is None:\n", - " blk[k].pressure.fix()\n", - " else:\n", - " blk[k].pressure.fix(state_args[\"pressure\"])\n", - "\n", - " if blk[k].temperature.fixed is True:\n", - " Tflag[k] = True\n", - " else:\n", - " Tflag[k] = False\n", - " if state_args is None:\n", - " blk[k].temperature.fix()\n", - " else:\n", - " blk[k].temperature.fix(state_args[\"temperature\"])\n", - "\n", - " # If input block, return flags, else release state\n", - " flags = {\"Fcflag\": Fcflag, \"Pflag\": Pflag, \"Tflag\": Tflag}\n", - "\n", - " else:\n", - " # Check when the state vars are fixed already result in dof 0\n", - " for k in blk.keys():\n", - " if degrees_of_freedom(blk[k]) != 0:\n", - " raise Exception(\n", - " \"State vars fixed but degrees of freedom \"\n", - " \"for state block is not zero during \"\n", - " \"initialization.\"\n", - " )\n", - "\n", - " if state_vars_fixed is False:\n", - " if hold_state is True:\n", - " return flags\n", - " else:\n", - " blk.release_state(flags)\n", - "\n", - " def release_state(blk, flags, outlvl=0):\n", - " \"\"\"\n", - " Method to release state variables fixed during initialisation.\n", - "\n", - " Keyword Arguments:\n", - " flags : dict containing information of which state variables\n", - " were fixed during initialization, and should now be\n", - " unfixed. This dict is returned by initialize if\n", - " hold_state=True.\n", - " outlvl : sets output level of of logging\n", - " \"\"\"\n", - " if flags is None:\n", - " return\n", - "\n", - " # Unfix state variables\n", - " for k in blk.keys():\n", - " if flags[\"Fcflag\"][k] is False:\n", - " blk[k].flow_mol.unfix()\n", - " if flags[\"Pflag\"][k] is False:\n", - " blk[k].pressure.unfix()\n", - " if flags[\"Tflag\"][k] is False:\n", - " blk[k].temperature.unfix()\n", - "\n", - " if outlvl > 0:\n", - " if outlvl > 0:\n", - " _log.info(\"{} State Released.\".format(blk.name))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we have our property package ready for being used in the flowsheet for optimization. We shall see that in the next part of this tutorial, [flowsheet_optimization](./flowsheet_optimization_test.ipynb). To learn in detail about making a custom property package, one should go through [Property Package Example](../../../properties/custom/custom_physical_property_packages_test.ipynb). " - ] - } - ], - "metadata": { - "language_info": { - "name": "python" - }, - "orig_nbformat": 4 - }, - "nbformat": 4, - "nbformat_minor": 3 -} + "nbformat": 4, + "nbformat_minor": 3 +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/surrogate_embedding_usr.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/surrogate_embedding_usr.ipynb index efd3caff..edd5a83d 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/alamo/surrogate_embedding_usr.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/alamo/surrogate_embedding_usr.ipynb @@ -1,501 +1,523 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "##############################################################################\n", - "# Institute for the Design of Advanced Energy Systems Process Systems\n", - "# Engineering Framework (IDAES PSE Framework) Copyright (c) 2018-2019, by the\n", - "# software owners: The Regents of the University of California, through\n", - "# Lawrence Berkeley National Laboratory, National Technology & Engineering\n", - "# Solutions of Sandia, LLC, Carnegie Mellon University, West Virginia\n", - "# University Research Corporation, et al. All rights reserved.\n", - "#\n", - "# Please see the files COPYRIGHT.txt and LICENSE.txt for full copyright and\n", - "# license information, respectively. Both files are also available online\n", - "# at the URL \"https://github.com/IDAES/idaes-pse\".\n", - "##############################################################################" - ] + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "##############################################################################\n", + "# Institute for the Design of Advanced Energy Systems Process Systems\n", + "# Engineering Framework (IDAES PSE Framework) Copyright (c) 2018-2019, by the\n", + "# software owners: The Regents of the University of California, through\n", + "# Lawrence Berkeley National Laboratory, National Technology & Engineering\n", + "# Solutions of Sandia, LLC, Carnegie Mellon University, West Virginia\n", + "# University Research Corporation, et al. All rights reserved.\n", + "#\n", + "# Please see the files COPYRIGHT.txt and LICENSE.txt for full copyright and\n", + "# license information, respectively. Both files are also available online\n", + "# at the URL \"https://github.com/IDAES/idaes-pse\".\n", + "##############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Supercritical CO2 Property Surrogate with ALAMO Surrogate Object - Embedding Surrogate (Part 2)\n", + "\n", + "Maintainer: Javal Vyas\n", + "\n", + "Author: Javal Vyas\n", + "\n", + "Updated: 2024-01-24\n", + "\n", + "## 1. Integration of Surrogate into Custom Property Package\n", + "\n", + "Here we shall see how to integrate the trained surrogate in the custom property package. One can read more about making a properties package from read the docs. To integrate the surrogate we first define the physical parameter block which will return the properties based on the state variables. State variables would be called from the State Block as Pyomo variables. We will define the surrogate input and output as pyomo variables as well. Once we have defined the variables in the state block then we define our surrogate block.\n", + "\n", + "*NOTE:* For ease of explanation the property package is written in \".ipynb\" format, ideally it should be in a python script. Each class of this package is separated in different cell for the same reason, in practice all the classes in this notebook should be part of the same python script. This folder includes \"properties.py\" file which is how embedding file should look like. \n", + "\n", + "### 1.1 Steps in Creating a Property Package\n", + "Creating a new property package can be broken down into the following steps, which will be demonstrated in the next part of this tutorial.\n", + "\n", + "1. Defining the **units of measurement** for the property package.\n", + "2. Defining the **properties supported** by the property package and the associated metadata.\n", + "3. Defining the **phases and components** of interest.\n", + "4. Defining the necessary **parameters** required to calculate the properties of interest.\n", + "5. Declaring the **state variables** to be used for the property package.\n", + "6. Creating **variables and constraints** to describe the properties of interest.\n", + "7. Creating an **initialization routine** for the property package.\n", + "8. Defining **interface methods** used to couple the property package with unit models." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2. Importing libraries for making Property Package\n", + "\n", + "To begin with, we are going to need a number of components from the Pyomo modeling environment to construct the variables, constraints and parameters that will make up the property package, and we will also make use of the Pyomo units of measurement tools to define the units of our properties. We will also make use of a number of components and supporting methods from the IDAES modeling framework and libraries. We shall also use the Surrogate API in the IDAES framework to embed the trained surrogate in the property package." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Import Python libraries\n", + "import logging\n", + "\n", + "# Import Pyomo libraries\n", + "from pyomo.environ import (\n", + " Constraint,\n", + " Param,\n", + " Reals,\n", + " Set,\n", + " value,\n", + " Var,\n", + " NonNegativeReals,\n", + " units,\n", + ")\n", + "from pyomo.opt import SolverFactory, TerminationCondition\n", + "\n", + "# Import IDAES cores\n", + "from idaes.core import (\n", + " declare_process_block_class,\n", + " PhysicalParameterBlock,\n", + " StateBlockData,\n", + " StateBlock,\n", + " MaterialBalanceType,\n", + " EnergyBalanceType,\n", + " LiquidPhase,\n", + " Component,\n", + ")\n", + "from idaes.core.util.initialization import solve_indexed_blocks\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.core.util.misc import extract_data\n", + "from idaes.core.solvers import get_solver\n", + "from pyomo.util.check_units import assert_units_consistent\n", + "from idaes.core.surrogate.surrogate_block import SurrogateBlock\n", + "from idaes.core.surrogate.alamopy import AlamoSurrogate\n", + "\n", + "from pyomo.util.model_size import build_model_size_report\n", + "\n", + "# Some more information about this module\n", + "__author__ = \"Javal Vyas\"\n", + "\n", + "\n", + "# Set up logger\n", + "_log = logging.getLogger(__name__)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 3 Defining Classes\n", + "\n", + "We shall be going through each class of the property package in detail. Since there are not reactions occurring in the flowsheet we shall only write the Physical Parameter Block.\n", + "\n", + "## 3.1 Physical Parameter Block\n", + "\n", + "The Physical Parameter Block serves as the central point of reference for all aspects of the property package, and needs to define a number of things about the package. These are summarized below:\n", + "\n", + "* Units of measurement\n", + "* What properties are supported and how they are implemented\n", + "* What components and phases are included in the packages\n", + "* All the global parameters necessary for calculating properties\n", + "* A reference to the associated State Block class, so that construction of the State Block components can be automated from the Physical Parameter Block\n", + "\n", + "To assemble the above mentioned things in a class we need to follow the following steps:\n", + "\n", + "* Declaring the new class and inheriting from the PhysicalParameterBlock base class\n", + "* Declaring any necessary configuration arguments\n", + "* Writing the build method for our class\n", + "* Creating a define_metadata method for the class.\n", + "\n", + "The code below follows the above mentioned steps. \n", + "\n", + "*NOTE*: The SCO2StateBlock will be discussed in the next section." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "@declare_process_block_class(\"SCO2ParameterBlock\")\n", + "class PhysicalParameterData(PhysicalParameterBlock):\n", + " \"\"\"\n", + " Property Parameter Block Class\n", + "\n", + " Contains parameters and indexing sets associated with properties for\n", + " supercritical CO2.\n", + "\n", + " \"\"\"\n", + "\n", + " def build(self):\n", + " \"\"\"\n", + " Callable method for Block construction.\n", + " \"\"\"\n", + " super(PhysicalParameterData, self).build()\n", + "\n", + " self._state_block_class = SCO2StateBlock\n", + "\n", + " # List of valid phases in property package\n", + " self.Liq = LiquidPhase()\n", + "\n", + " # Component list - a list of component identifiers\n", + " self.CO2 = Component()\n", + "\n", + " @classmethod\n", + " def define_metadata(cls, obj):\n", + " obj.add_properties(\n", + " {\n", + " \"flow_mol\": {\"method\": None, \"units\": \"kmol/s\"},\n", + " \"pressure\": {\"method\": None, \"units\": \"MPa\"},\n", + " \"temperature\": {\"method\": None, \"units\": \"K\"},\n", + " \"enth_mol\": {\"method\": None, \"units\": \"kJ/kmol\"},\n", + " \"entr_mol\": {\"method\": None, \"units\": \"kJ/kmol/K\"},\n", + " }\n", + " )\n", + "\n", + " obj.add_default_units(\n", + " {\n", + " \"time\": units.s,\n", + " \"length\": units.m,\n", + " \"mass\": units.kg,\n", + " \"amount\": units.mol,\n", + " \"temperature\": units.K,\n", + " }\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.2 State Block\n", + "\n", + "After the Physical Parameter Block class has been created, the next step is to write the code necessary to create the State Blocks that will be used through out the flowsheet.\n", + "\n", + "For this example, we will begin by describing the content of the StateBlockData objects, as this is where we create the variables and constraints that describe how to calculate the thermophysical properties of the material. \n", + "\n", + "We start by defining the 5 state variables: flow_mol, pressure, temperature, enth_mol and entr_mol as the Pyomo Var, each of this variable has a unit for unit consistency. This is done in _make_state_vars function. We get the enth_mol and entr_mol variables from trained surrogate which we define in this function as well. To get the output variables from the surrogate:\n", + "\n", + "1. Define the input and output variables to the trained surrogate\n", + "2. Load the surrogate from the folder it is saved in, here it is saved in the folder called alamo_surrogate (look at the alamo_training_usr.ipynb file) using the Alamopy Surrogate API of IDAES package\n", + "3. Define a `SurrogateBlock` and call the build_model method on the block with the input variables, output variables, model formulation and the loaded surrogate as the arguments. \n", + "4. Define the constraints necessary for ensuring physical feasibility of the system like the mass balance and energy balance. Check for the state variables to be within the bounds. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "@declare_process_block_class(\"SCO2StateBlock\", block_class=StateBlock)\n", + "class SCO2StateBlockData(StateBlockData):\n", + " \"\"\"\n", + " An example property package for ideal gas properties with Gibbs energy\n", + " \"\"\"\n", + "\n", + " def build(self):\n", + " \"\"\"\n", + " Callable method for Block construction\n", + " \"\"\"\n", + " super(SCO2StateBlockData, self).build()\n", + " self._make_state_vars()\n", + "\n", + " def _make_state_vars(self):\n", + " # Create state variables\n", + "\n", + " self.flow_mol = Var(\n", + " domain=NonNegativeReals,\n", + " initialize=1.0,\n", + " units=units.kmol / units.s,\n", + " doc=\"Total molar flowrate [kmol/s]\",\n", + " )\n", + "\n", + " self.pressure = Var(\n", + " domain=NonNegativeReals,\n", + " initialize=8,\n", + " bounds=(7.38, 40),\n", + " units=units.MPa,\n", + " doc=\"State pressure [MPa]\",\n", + " )\n", + "\n", + " self.temperature = Var(\n", + " domain=NonNegativeReals,\n", + " initialize=350,\n", + " bounds=(304.2, 760 + 273.15),\n", + " units=units.K,\n", + " doc=\"State temperature [K]\",\n", + " )\n", + "\n", + " self.entr_mol = Var(\n", + " domain=Reals,\n", + " initialize=10,\n", + " units=units.kJ / units.kmol / units.K,\n", + " doc=\"Entropy [kJ/ kmol / K]\",\n", + " )\n", + "\n", + " self.enth_mol = Var(\n", + " domain=Reals,\n", + " initialize=1,\n", + " units=units.kJ / units.kmol,\n", + " doc=\"Enthalpy [kJ/ kmol]\",\n", + " )\n", + "\n", + " inputs = [self.pressure, self.temperature]\n", + " outputs = [self.enth_mol, self.entr_mol]\n", + " self.alamo_surrogate = AlamoSurrogate.load_from_file(\"alamo_surrogate.json\")\n", + " self.surrogate_enth = SurrogateBlock()\n", + " self.surrogate_enth.build_model(\n", + " self.alamo_surrogate,\n", + " input_vars=inputs,\n", + " output_vars=outputs,\n", + " )\n", + "\n", + " def get_material_flow_terms(self, p, j):\n", + " return self.flow_mol\n", + "\n", + " def get_enthalpy_flow_terms(self, p):\n", + " return self.flow_mol * self.enth_mol\n", + "\n", + " def default_material_balance_type(self):\n", + " return MaterialBalanceType.componentTotal\n", + "\n", + " def default_energy_balance_type(self):\n", + " return EnergyBalanceType.enthalpyTotal\n", + "\n", + " def define_state_vars(self):\n", + " return {\n", + " \"flow_mol\": self.flow_mol,\n", + " \"temperature\": self.temperature,\n", + " \"pressure\": self.pressure,\n", + " }\n", + "\n", + " def model_check(blk):\n", + " \"\"\"\n", + " Model checks for property block\n", + " \"\"\"\n", + " # Check temperature bounds\n", + " if value(blk.temperature) < blk.temperature.lb:\n", + " _log.error(\"{} Temperature set below lower bound.\".format(blk.name))\n", + " if value(blk.temperature) > blk.temperature.ub:\n", + " _log.error(\"{} Temperature set above upper bound.\".format(blk.name))\n", + "\n", + " # Check pressure bounds\n", + " if value(blk.pressure) < blk.pressure.lb:\n", + " _log.error(\"{} Pressure set below lower bound.\".format(blk.name))\n", + " if value(blk.pressure) > blk.pressure.ub:\n", + " _log.error(\"{} Pressure set above upper bound.\".format(blk.name))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.3 Define Initialization Routine\n", + "\n", + "After defining the variables and constraints required to describe the properties of interest for S-CO2, we need to provide them with a good initial guess. It is often the case that the default values provided to the variables while creating the model are not likely the actual conditions the user would simulate. Given the highly non-linear nature of the physical property calculations, it is more often than not impossible to solve a State Block without providing a set of good initial values for all the variables we have declared.\n", + "\n", + "Any initialization routine can be written by following a 3 step process:\n", + "1. `Fix the state` of the model such that there are no degrees of freedom. For State Blocks, it should only be necessary to fix the state variables to a set of initial guesses provided by the user or unit model, as well as deactivating any constraints like the sum of mole fractions.\n", + "\n", + "2. `Iteratively build up a solution` for the full model. This often involves multiple steps and can involve deactivating constraints and fixing some variables to reduce complexity, as well as analytically calculating values for variables based on the known state (and any previously calculated variables). Solvers can be called as part of any step to efficiently initialize large numbers of variables simultaneously.\n", + "\n", + "3. `Return the state of the model` to where it originally started (with the exception of variable values). Any variable that was fixed or constraint that was deactivated during initialization should be unfixed or reactivated, so that the degrees of freedom are restored to what they were before the initialization began.\n", + "\n", + "\n", + "Thus, we start with fixing the state variables. Here since enth_mol and entr_mol are a function of pressure and temperature, we do not fix them as fixing pressure and temperature would in turn fix them. So, we check if a state variable if fixed or not, if it is fixed then we do not change them, if they are not fixed then we check for an initial guess from the `state_args`, if we get a value then we fix the variable with state_args, else we fix it with the value provided by the user. This should bring the degrees of freedom to 0. Here since we do not have any variable/constrained that we have unfixed/deactivated we can skip step 2 and move to step 3. We unfix the variables that were fixed in step 1 using the `release_state` function. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "class _StateBlock(StateBlock):\n", + " \"\"\"\n", + " This Class contains methods which should be applied to Property Blocks as a\n", + " whole, rather than individual elements of indexed Property Blocks.\n", + " \"\"\"\n", + "\n", + " def initialize(\n", + " blk,\n", + " state_args=None,\n", + " hold_state=False,\n", + " outlvl=1,\n", + " state_vars_fixed=False,\n", + " solver=\"ipopt\",\n", + " optarg={\"tol\": 1e-8},\n", + " ):\n", + " \"\"\"\n", + " Initialisation routine for property package.\n", + "\n", + " Keyword Arguments:\n", + " flow_mol : value at which to initialize component flows\n", + " (default=None)\n", + " pressure : value at which to initialize pressure (default=None)\n", + " temperature : value at which to initialize temperature\n", + " (default=None)\n", + " outlvl : sets output level of initialisation routine\n", + "\n", + " * 0 = no output (default)\n", + " * 1 = return solver state for each step in routine\n", + " * 2 = include solver output information (tee=True)\n", + " state_vars_fixed: Flag to denote if state vars have already been\n", + " fixed.\n", + " - True - states have already been fixed by the\n", + " control volume 1D. Control volume 0D\n", + " does not fix the state vars, so will\n", + " be False if this state block is used\n", + " with 0D blocks.\n", + " - False - states have not been fixed. The state\n", + " block will deal with fixing/unfixing.\n", + " optarg : solver options dictionary object (default=None)\n", + " solver : str indicating which solver to use during\n", + " initialization (default = 'ipopt')\n", + " hold_state : flag indicating whether the initialization routine\n", + " should unfix any state variables fixed during\n", + " initialization (default=False).\n", + " - True - states variables are not unfixed, and\n", + " a dict of returned containing flags for\n", + " which states were fixed during\n", + " initialization.\n", + " - False - state variables are unfixed after\n", + " initialization by calling the\n", + " release_state method\n", + "\n", + " Returns:\n", + " If hold_states is True, returns a dict containing flags for\n", + " which states were fixed during initialization.\n", + " \"\"\"\n", + " if state_vars_fixed is False:\n", + " # Fix state variables if not already fixed\n", + " Fcflag = {}\n", + " Pflag = {}\n", + " Tflag = {}\n", + "\n", + " for k in blk.keys():\n", + " if blk[k].flow_mol.fixed is True:\n", + " Fcflag[k] = True\n", + " else:\n", + " Fcflag[k] = False\n", + " if state_args is None:\n", + " blk[k].flow_mol.fix()\n", + " else:\n", + " blk[k].flow_mol.fix(state_args[\"flow_mol\"])\n", + "\n", + " if blk[k].pressure.fixed is True:\n", + " Pflag[k] = True\n", + " else:\n", + " Pflag[k] = False\n", + " if state_args is None:\n", + " blk[k].pressure.fix()\n", + " else:\n", + " blk[k].pressure.fix(state_args[\"pressure\"])\n", + "\n", + " if blk[k].temperature.fixed is True:\n", + " Tflag[k] = True\n", + " else:\n", + " Tflag[k] = False\n", + " if state_args is None:\n", + " blk[k].temperature.fix()\n", + " else:\n", + " blk[k].temperature.fix(state_args[\"temperature\"])\n", + "\n", + " # If input block, return flags, else release state\n", + " flags = {\"Fcflag\": Fcflag, \"Pflag\": Pflag, \"Tflag\": Tflag}\n", + "\n", + " else:\n", + " # Check when the state vars are fixed already result in dof 0\n", + " for k in blk.keys():\n", + " if degrees_of_freedom(blk[k]) != 0:\n", + " raise Exception(\n", + " \"State vars fixed but degrees of freedom \"\n", + " \"for state block is not zero during \"\n", + " \"initialization.\"\n", + " )\n", + "\n", + " if state_vars_fixed is False:\n", + " if hold_state is True:\n", + " return flags\n", + " else:\n", + " blk.release_state(flags)\n", + "\n", + " def release_state(blk, flags, outlvl=0):\n", + " \"\"\"\n", + " Method to release state variables fixed during initialisation.\n", + "\n", + " Keyword Arguments:\n", + " flags : dict containing information of which state variables\n", + " were fixed during initialization, and should now be\n", + " unfixed. This dict is returned by initialize if\n", + " hold_state=True.\n", + " outlvl : sets output level of of logging\n", + " \"\"\"\n", + " if flags is None:\n", + " return\n", + "\n", + " # Unfix state variables\n", + " for k in blk.keys():\n", + " if flags[\"Fcflag\"][k] is False:\n", + " blk[k].flow_mol.unfix()\n", + " if flags[\"Pflag\"][k] is False:\n", + " blk[k].pressure.unfix()\n", + " if flags[\"Tflag\"][k] is False:\n", + " blk[k].temperature.unfix()\n", + "\n", + " if outlvl > 0:\n", + " if outlvl > 0:\n", + " _log.info(\"{} State Released.\".format(blk.name))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we have our property package ready for being used in the flowsheet for optimization. We shall see that in the next part of this tutorial, [flowsheet_optimization](./flowsheet_optimization_usr.ipynb). To learn in detail about making a custom property package, one should go through [Property Package Example](../../../properties/custom/custom_physical_property_packages_usr.ipynb). " + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Supercritical CO2 Property Surrogate with ALAMO Surrogate Object - Embedding Surrogate (Part 2)\n", - "\n", - "Maintainer: Javal Vyas\n", - "\n", - "Author: Javal Vyas\n", - "\n", - "Updated: 2024-01-24\n", - "\n", - "## 1. Integration of Surrogate into Custom Property Package\n", - "\n", - "Here we shall see how to integrate the trained surrogate in the custom property package. One can read more about making a properties package from read the docs. To integrate the surrogate we first define the physical parameter block which will return the properties based on the state variables. State variables would be called from the State Block as Pyomo variables. We will define the surrogate input and output as pyomo variables as well. Once we have defined the variables in the state block then we define our surrogate block.\n", - "\n", - "*NOTE:* For ease of explanation the property package is written in \".ipynb\" format, ideally it should be in a python script. Each class of this package is separated in different cell for the same reason, in practice all the classes in this notebook should be part of the same python script. This folder includes \"properties.py\" file which is how embedding file should look like. \n", - "\n", - "### 1.1 Steps in Creating a Property Package\n", - "Creating a new property package can be broken down into the following steps, which will be demonstrated in the next part of this tutorial.\n", - "\n", - "1. Defining the **units of measurement** for the property package.\n", - "2. Defining the **properties supported** by the property package and the associated metadata.\n", - "3. Defining the **phases and components** of interest.\n", - "4. Defining the necessary **parameters** required to calculate the properties of interest.\n", - "5. Declaring the **state variables** to be used for the property package.\n", - "6. Creating **variables and constraints** to describe the properties of interest.\n", - "7. Creating an **initialization routine** for the property package.\n", - "8. Defining **interface methods** used to couple the property package with unit models." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 2. Importing libraries for making Property Package\n", - "\n", - "To begin with, we are going to need a number of components from the Pyomo modeling environment to construct the variables, constraints and parameters that will make up the property package, and we will also make use of the Pyomo units of measurement tools to define the units of our properties. We will also make use of a number of components and supporting methods from the IDAES modeling framework and libraries. We shall also use the Surrogate API in the IDAES framework to embed the trained surrogate in the property package." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Changes the divide behavior to not do integer division\n", - "from __future__ import division\n", - "\n", - "# Import Python libraries\n", - "import logging\n", - "\n", - "# Import Pyomo libraries\n", - "from pyomo.environ import (\n", - " Constraint,\n", - " Param,\n", - " Reals,\n", - " Set,\n", - " value,\n", - " Var,\n", - " NonNegativeReals,\n", - " units,\n", - ")\n", - "from pyomo.opt import SolverFactory, TerminationCondition\n", - "\n", - "# Import IDAES cores\n", - "from idaes.core import (\n", - " declare_process_block_class,\n", - " PhysicalParameterBlock,\n", - " StateBlockData,\n", - " StateBlock,\n", - " MaterialBalanceType,\n", - " EnergyBalanceType,\n", - " LiquidPhase,\n", - " Component,\n", - ")\n", - "from idaes.core.util.initialization import solve_indexed_blocks\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.util.misc import extract_data\n", - "from idaes.core.solvers import get_solver\n", - "from pyomo.util.check_units import assert_units_consistent\n", - "from idaes.core.surrogate.surrogate_block import SurrogateBlock\n", - "from idaes.core.surrogate.alamopy import AlamoSurrogate\n", - "\n", - "from pyomo.util.model_size import build_model_size_report\n", - "\n", - "# Some more information about this module\n", - "__author__ = \"Javal Vyas\"\n", - "\n", - "\n", - "# Set up logger\n", - "_log = logging.getLogger(__name__)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 3 Defining Classes\n", - "\n", - "We shall be going through each class of the property package in detail. Since there are not reactions occurring in the flowsheet we shall only write the Physical Parameter Block.\n", - "\n", - "## 3.1 Physical Parameter Block\n", - "\n", - "The Physical Parameter Block serves as the central point of reference for all aspects of the property package, and needs to define a number of things about the package. These are summarized below:\n", - "\n", - "* Units of measurement\n", - "* What properties are supported and how they are implemented\n", - "* What components and phases are included in the packages\n", - "* All the global parameters necessary for calculating properties\n", - "* A reference to the associated State Block class, so that construction of the State Block components can be automated from the Physical Parameter Block\n", - "\n", - "To assemble the above mentioned things in a class we need to follow the following steps:\n", - "\n", - "* Declaring the new class and inheriting from the PhysicalParameterBlock base class\n", - "* Declaring any necessary configuration arguments\n", - "* Writing the build method for our class\n", - "* Creating a define_metadata method for the class.\n", - "\n", - "The code below follows the above mentioned steps. \n", - "\n", - "*NOTE*: The SCO2StateBlock will be discussed in the next section." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "@declare_process_block_class(\"SCO2ParameterBlock\")\n", - "class PhysicalParameterData(PhysicalParameterBlock):\n", - " \"\"\"\n", - " Property Parameter Block Class\n", - "\n", - " Contains parameters and indexing sets associated with properties for\n", - " supercritical CO2.\n", - "\n", - " \"\"\"\n", - "\n", - " def build(self):\n", - " \"\"\"\n", - " Callable method for Block construction.\n", - " \"\"\"\n", - " super(PhysicalParameterData, self).build()\n", - "\n", - " self._state_block_class = SCO2StateBlock\n", - "\n", - " # List of valid phases in property package\n", - " self.Liq = LiquidPhase()\n", - "\n", - " # Component list - a list of component identifiers\n", - " self.CO2 = Component()\n", - "\n", - " @classmethod\n", - " def define_metadata(cls, obj):\n", - " obj.add_properties(\n", - " {\n", - " \"flow_mol\": {\"method\": None, \"units\": \"kmol/s\"},\n", - " \"pressure\": {\"method\": None, \"units\": \"MPa\"},\n", - " \"temperature\": {\"method\": None, \"units\": \"K\"},\n", - " \"enth_mol\": {\"method\": None, \"units\": \"kJ/kmol\"},\n", - " \"entr_mol\": {\"method\": None, \"units\": \"kJ/kmol/K\"},\n", - " }\n", - " )\n", - "\n", - " obj.add_default_units(\n", - " {\n", - " \"time\": units.s,\n", - " \"length\": units.m,\n", - " \"mass\": units.kg,\n", - " \"amount\": units.mol,\n", - " \"temperature\": units.K,\n", - " }\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.2 State Block\n", - "\n", - "After the Physical Parameter Block class has been created, the next step is to write the code necessary to create the State Blocks that will be used through out the flowsheet.\n", - "\n", - "For this example, we will begin by describing the content of the StateBlockData objects, as this is where we create the variables and constraints that describe how to calculate the thermophysical properties of the material. \n", - "\n", - "We start by defining the 5 state variables: flow_mol, pressure, temperature, enth_mol and entr_mol as the Pyomo Var, each of this variable has a unit for unit consistency. This is done in _make_state_vars function. We get the enth_mol and entr_mol variables from trained surrogate which we define in this function as well. To get the output variables from the surrogate:\n", - "\n", - "1. Define the input and output variables to the trained surrogate\n", - "2. Load the surrogate from the folder it is saved in, here it is saved in the folder called alamo_surrogate (look at the alamo_training_usr.ipynb file) using the Alamopy Surrogate API of IDAES package\n", - "3. Define a `SurrogateBlock` and call the build_model method on the block with the input variables, output variables, model formulation and the loaded surrogate as the arguments. \n", - "4. Define the constraints necessary for ensuring physical feasibility of the system like the mass balance and energy balance. Check for the state variables to be within the bounds. \n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "@declare_process_block_class(\"SCO2StateBlock\", block_class=StateBlock)\n", - "class SCO2StateBlockData(StateBlockData):\n", - " \"\"\"\n", - " An example property package for ideal gas properties with Gibbs energy\n", - " \"\"\"\n", - "\n", - " def build(self):\n", - " \"\"\"\n", - " Callable method for Block construction\n", - " \"\"\"\n", - " super(SCO2StateBlockData, self).build()\n", - " self._make_state_vars()\n", - "\n", - " def _make_state_vars(self):\n", - " # Create state variables\n", - "\n", - " self.flow_mol = Var(\n", - " domain=NonNegativeReals,\n", - " initialize=1.0,\n", - " units=units.kmol / units.s,\n", - " doc=\"Total molar flowrate [kmol/s]\",\n", - " )\n", - "\n", - " self.pressure = Var(\n", - " domain=NonNegativeReals,\n", - " initialize=8,\n", - " bounds=(7.38, 40),\n", - " units=units.MPa,\n", - " doc=\"State pressure [MPa]\",\n", - " )\n", - "\n", - " self.temperature = Var(\n", - " domain=NonNegativeReals,\n", - " initialize=350,\n", - " bounds=(304.2, 760 + 273.15),\n", - " units=units.K,\n", - " doc=\"State temperature [K]\",\n", - " )\n", - "\n", - " self.entr_mol = Var(\n", - " domain=Reals,\n", - " initialize=10,\n", - " units=units.kJ / units.kmol / units.K,\n", - " doc=\"Entropy [kJ/ kmol / K]\",\n", - " )\n", - "\n", - " self.enth_mol = Var(\n", - " domain=Reals,\n", - " initialize=1,\n", - " units=units.kJ / units.kmol,\n", - " doc=\"Enthalpy [kJ/ kmol]\",\n", - " )\n", - "\n", - " inputs = [self.pressure, self.temperature]\n", - " outputs = [self.enth_mol, self.entr_mol]\n", - " self.alamo_surrogate = AlamoSurrogate.load_from_file(\"alamo_surrogate.json\")\n", - " self.surrogate_enth = SurrogateBlock()\n", - " self.surrogate_enth.build_model(\n", - " self.alamo_surrogate,\n", - " input_vars=inputs,\n", - " output_vars=outputs,\n", - " )\n", - "\n", - " def get_material_flow_terms(self, p, j):\n", - " return self.flow_mol\n", - "\n", - " def get_enthalpy_flow_terms(self, p):\n", - " return self.flow_mol * self.enth_mol\n", - "\n", - " def default_material_balance_type(self):\n", - " return MaterialBalanceType.componentTotal\n", - "\n", - " def default_energy_balance_type(self):\n", - " return EnergyBalanceType.enthalpyTotal\n", - "\n", - " def define_state_vars(self):\n", - " return {\n", - " \"flow_mol\": self.flow_mol,\n", - " \"temperature\": self.temperature,\n", - " \"pressure\": self.pressure,\n", - " }\n", - "\n", - " def model_check(blk):\n", - " \"\"\"\n", - " Model checks for property block\n", - " \"\"\"\n", - " # Check temperature bounds\n", - " if value(blk.temperature) < blk.temperature.lb:\n", - " _log.error(\"{} Temperature set below lower bound.\".format(blk.name))\n", - " if value(blk.temperature) > blk.temperature.ub:\n", - " _log.error(\"{} Temperature set above upper bound.\".format(blk.name))\n", - "\n", - " # Check pressure bounds\n", - " if value(blk.pressure) < blk.pressure.lb:\n", - " _log.error(\"{} Pressure set below lower bound.\".format(blk.name))\n", - " if value(blk.pressure) > blk.pressure.ub:\n", - " _log.error(\"{} Pressure set above upper bound.\".format(blk.name))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.3 Define Initialization Routine\n", - "\n", - "After defining the variables and constraints required to describe the properties of interest for S-CO2, we need to provide them with a good initial guess. It is often the case that the default values provided to the variables while creating the model are not likely the actual conditions the user would simulate. Given the highly non-linear nature of the physical property calculations, it is more often than not impossible to solve a State Block without providing a set of good initial values for all the variables we have declared.\n", - "\n", - "Any initialization routine can be written by following a 3 step process:\n", - "1. `Fix the state` of the model such that there are no degrees of freedom. For State Blocks, it should only be necessary to fix the state variables to a set of initial guesses provided by the user or unit model, as well as deactivating any constraints like the sum of mole fractions.\n", - "\n", - "2. `Iteratively build up a solution` for the full model. This often involves multiple steps and can involve deactivating constraints and fixing some variables to reduce complexity, as well as analytically calculating values for variables based on the known state (and any previously calculated variables). Solvers can be called as part of any step to efficiently initialize large numbers of variables simultaneously.\n", - "\n", - "3. `Return the state of the model` to where it originally started (with the exception of variable values). Any variable that was fixed or constraint that was deactivated during initialization should be unfixed or reactivated, so that the degrees of freedom are restored to what they were before the initialization began.\n", - "\n", - "\n", - "Thus, we start with fixing the state variables. Here since enth_mol and entr_mol are a function of pressure and temperature, we do not fix them as fixing pressure and temperature would in turn fix them. So, we check if a state variable if fixed or not, if it is fixed then we do not change them, if they are not fixed then we check for an initial guess from the `state_args`, if we get a value then we fix the variable with state_args, else we fix it with the value provided by the user. This should bring the degrees of freedom to 0. Here since we do not have any variable/constrained that we have unfixed/deactivated we can skip step 2 and move to step 3. We unfix the variables that were fixed in step 1 using the `release_state` function. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "class _StateBlock(StateBlock):\n", - " \"\"\"\n", - " This Class contains methods which should be applied to Property Blocks as a\n", - " whole, rather than individual elements of indexed Property Blocks.\n", - " \"\"\"\n", - "\n", - " def initialize(\n", - " blk,\n", - " state_args=None,\n", - " hold_state=False,\n", - " outlvl=1,\n", - " state_vars_fixed=False,\n", - " solver=\"ipopt\",\n", - " optarg={\"tol\": 1e-8},\n", - " ):\n", - " \"\"\"\n", - " Initialisation routine for property package.\n", - "\n", - " Keyword Arguments:\n", - " flow_mol : value at which to initialize component flows\n", - " (default=None)\n", - " pressure : value at which to initialize pressure (default=None)\n", - " temperature : value at which to initialize temperature\n", - " (default=None)\n", - " outlvl : sets output level of initialisation routine\n", - "\n", - " * 0 = no output (default)\n", - " * 1 = return solver state for each step in routine\n", - " * 2 = include solver output information (tee=True)\n", - " state_vars_fixed: Flag to denote if state vars have already been\n", - " fixed.\n", - " - True - states have already been fixed by the\n", - " control volume 1D. Control volume 0D\n", - " does not fix the state vars, so will\n", - " be False if this state block is used\n", - " with 0D blocks.\n", - " - False - states have not been fixed. The state\n", - " block will deal with fixing/unfixing.\n", - " optarg : solver options dictionary object (default=None)\n", - " solver : str indicating which solver to use during\n", - " initialization (default = 'ipopt')\n", - " hold_state : flag indicating whether the initialization routine\n", - " should unfix any state variables fixed during\n", - " initialization (default=False).\n", - " - True - states variables are not unfixed, and\n", - " a dict of returned containing flags for\n", - " which states were fixed during\n", - " initialization.\n", - " - False - state variables are unfixed after\n", - " initialization by calling the\n", - " release_state method\n", - "\n", - " Returns:\n", - " If hold_states is True, returns a dict containing flags for\n", - " which states were fixed during initialization.\n", - " \"\"\"\n", - " if state_vars_fixed is False:\n", - " # Fix state variables if not already fixed\n", - " Fcflag = {}\n", - " Pflag = {}\n", - " Tflag = {}\n", - "\n", - " for k in blk.keys():\n", - " if blk[k].flow_mol.fixed is True:\n", - " Fcflag[k] = True\n", - " else:\n", - " Fcflag[k] = False\n", - " if state_args is None:\n", - " blk[k].flow_mol.fix()\n", - " else:\n", - " blk[k].flow_mol.fix(state_args[\"flow_mol\"])\n", - "\n", - " if blk[k].pressure.fixed is True:\n", - " Pflag[k] = True\n", - " else:\n", - " Pflag[k] = False\n", - " if state_args is None:\n", - " blk[k].pressure.fix()\n", - " else:\n", - " blk[k].pressure.fix(state_args[\"pressure\"])\n", - "\n", - " if blk[k].temperature.fixed is True:\n", - " Tflag[k] = True\n", - " else:\n", - " Tflag[k] = False\n", - " if state_args is None:\n", - " blk[k].temperature.fix()\n", - " else:\n", - " blk[k].temperature.fix(state_args[\"temperature\"])\n", - "\n", - " # If input block, return flags, else release state\n", - " flags = {\"Fcflag\": Fcflag, \"Pflag\": Pflag, \"Tflag\": Tflag}\n", - "\n", - " else:\n", - " # Check when the state vars are fixed already result in dof 0\n", - " for k in blk.keys():\n", - " if degrees_of_freedom(blk[k]) != 0:\n", - " raise Exception(\n", - " \"State vars fixed but degrees of freedom \"\n", - " \"for state block is not zero during \"\n", - " \"initialization.\"\n", - " )\n", - "\n", - " if state_vars_fixed is False:\n", - " if hold_state is True:\n", - " return flags\n", - " else:\n", - " blk.release_state(flags)\n", - "\n", - " def release_state(blk, flags, outlvl=0):\n", - " \"\"\"\n", - " Method to release state variables fixed during initialisation.\n", - "\n", - " Keyword Arguments:\n", - " flags : dict containing information of which state variables\n", - " were fixed during initialization, and should now be\n", - " unfixed. This dict is returned by initialize if\n", - " hold_state=True.\n", - " outlvl : sets output level of of logging\n", - " \"\"\"\n", - " if flags is None:\n", - " return\n", - "\n", - " # Unfix state variables\n", - " for k in blk.keys():\n", - " if flags[\"Fcflag\"][k] is False:\n", - " blk[k].flow_mol.unfix()\n", - " if flags[\"Pflag\"][k] is False:\n", - " blk[k].pressure.unfix()\n", - " if flags[\"Tflag\"][k] is False:\n", - " blk[k].temperature.unfix()\n", - "\n", - " if outlvl > 0:\n", - " if outlvl > 0:\n", - " _log.info(\"{} State Released.\".format(blk.name))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we have our property package ready for being used in the flowsheet for optimization. We shall see that in the next part of this tutorial, [flowsheet_optimization](./flowsheet_optimization_usr.ipynb). To learn in detail about making a custom property package, one should go through [Property Package Example](../../../properties/custom/custom_physical_property_packages_usr.ipynb). " - ] - } - ], - "metadata": { - "language_info": { - "name": "python" - }, - "orig_nbformat": 4 - }, - "nbformat": 4, - "nbformat_minor": 3 -} + "nbformat": 4, + "nbformat_minor": 3 +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/flowsheet_optimization.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/flowsheet_optimization.ipynb index 44ad9dba..9a839072 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/flowsheet_optimization.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/flowsheet_optimization.ipynb @@ -1,5 +1,32 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "e1edb2cd", + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "code", "execution_count": 1, @@ -39,19 +66,7 @@ "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "from IPython.display import Image\n", "from pathlib import Path\n", @@ -77,17 +92,7 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: DEPRECATED: pyomo.core.expr.current is deprecated. Please import\n", - "expression symbols from pyomo.core.expr (deprecated in 6.6.2) (called from\n", - ":241)\n" - ] - } - ], + "outputs": [], "source": [ "from pyomo.environ import (\n", " ConcreteModel,\n", @@ -140,336 +145,7 @@ "cell_type": "code", "execution_count": 4, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-01-24 21:41:57 [INFO] idaes.init.fs.boiler.control_volume: Initialization Complete\n", - "2024-01-24 21:42:01 [INFO] idaes.init.fs.boiler: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:02 [INFO] idaes.init.fs.turbine: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:03 [INFO] idaes.init.fs.HTR_pseudo_shell.control_volume: Initialization Complete\n", - "2024-01-24 21:42:03 [INFO] idaes.init.fs.HTR_pseudo_shell: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:03 [INFO] idaes.init.fs.LTR_pseudo_shell.control_volume: Initialization Complete\n", - "2024-01-24 21:42:03 [INFO] idaes.init.fs.LTR_pseudo_shell: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:04 [INFO] idaes.init.fs.splitter_1: Initialization Step 2 Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:04 [INFO] idaes.init.fs.co2_cooler.control_volume: Initialization Complete\n", - "2024-01-24 21:42:04 [INFO] idaes.init.fs.co2_cooler: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:05 [INFO] idaes.init.fs.bypass_compressor: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:07 [INFO] idaes.init.fs.main_compressor: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:07 [INFO] idaes.init.fs.splitter_2: Initialization Step 2 Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:07 [INFO] idaes.init.fs.FG_cooler.control_volume: Initialization Complete\n", - "2024-01-24 21:42:08 [INFO] idaes.init.fs.FG_cooler: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:08 [INFO] idaes.init.fs.LTR_pseudo_tube.control_volume: Initialization Complete\n", - "2024-01-24 21:42:08 [INFO] idaes.init.fs.LTR_pseudo_tube: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:09 [INFO] idaes.init.fs.mixer: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:09 [INFO] idaes.init.fs.HTR_pseudo_tube.control_volume: Initialization Complete\n", - "2024-01-24 21:42:09 [INFO] idaes.init.fs.HTR_pseudo_tube: Initialization Complete: optimal - Optimal Solution Found\n", - "--------------------------------------------------------------------\n", - "The degrees of freedom for the flowsheet is 0\n", - "--------------------------------------------------------------------\n", - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 51411\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 2674\n", - "\n", - "Total number of variables............................: 5920\n", - " variables with only lower bounds: 32\n", - " variables with lower and upper bounds: 5669\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 5920\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 9.10e-01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 7.86e-09 7.53e-01 -1.0 9.10e-01 - 9.89e-01 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 1\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 1.1641532182693481e-10 7.8580342233181000e-09\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 1.1641532182693481e-10 7.8580342233181000e-09\n", - "\n", - "\n", - "Number of objective function evaluations = 2\n", - "Number of objective gradient evaluations = 2\n", - "Number of equality constraint evaluations = 2\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 2\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 1\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.362\n", - "Total CPU secs in NLP function evaluations = 0.008\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\n", - "====================================================================================\n", - "Unit : fs.boiler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.3854e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 685.15 893.15\n", - " pressure pascal 3.4510e+07 3.4300e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.turbine Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.92700 : dimensionless : True : (None, None)\n", - " Mechanical Work : -1.0221e+06 : watt : False : (None, None)\n", - " Pressure Change : -24.979 : pascal : False : (None, None)\n", - " Pressure Ratio : 0.27174 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 893.15 719.28\n", - " pressure pascal 3.4300e+07 9.3207e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.HTR_pseudo_shell Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -1.5254e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 719.28 489.15\n", - " pressure pascal 9.3207e+06 9.2507e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.HTR_pseudo_tube Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.5254e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 543.23 750.68\n", - " pressure pascal 3.4560e+07 3.4490e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.LTR_pseudo_shell Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -1.0875e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 489.15 354.15\n", - " pressure pascal 9.2507e+06 9.1807e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.LTR_pseudo_tube Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.0875e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 86647. 86647.\n", - " temperature kelvin 396.40 579.39\n", - " pressure pascal 3.4620e+07 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.splitter_1 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Split Fraction [('bypass',)] : 0.25000 : dimensionless : True : (None, None)\n", - " Split Fraction [('to_cooler',)] : 0.75000 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet bypass to_cooler\n", - " flow_mol mole / second 1.2110e+05 30275. 90825.\n", - " temperature kelvin 354.15 354.15 354.15\n", - " pressure pascal 9.1807e+06 9.1807e+06 9.1807e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.co2_cooler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -3.1174e+05 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 90825. 90825.\n", - " temperature kelvin 354.15 308.15\n", - " pressure pascal 9.1807e+06 9.1107e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.main_compressor Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.85000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 2.7059e+05 : watt : False : (None, None)\n", - " Pressure Change : 25.510 : pascal : False : (None, None)\n", - " Pressure Ratio : 3.8000 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 90825. 90825.\n", - " temperature kelvin 308.15 396.40\n", - " pressure pascal 9.1107e+06 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.bypass_compressor Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.85000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 1.0998e+05 : watt : False : (None, None)\n", - " Pressure Change : 25.706 : pascal : False : (None, None)\n", - " Pressure Ratio : 3.8000 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 30275. 30275.\n", - " temperature kelvin 354.15 452.96\n", - " pressure pascal 9.1807e+06 3.4886e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.splitter_2 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Split Fraction [('to_FG_cooler',)] : 0.046000 : dimensionless : True : (None, None)\n", - " Split Fraction [('to_LTR',)] : 0.95400 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet to_FG_cooler to_LTR \n", - " flow_mol mole / second 90825. 4177.9 86647.\n", - " temperature kelvin 396.40 396.40 396.40\n", - " pressure pascal 3.4620e+07 3.4620e+07 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.FG_cooler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 25836. : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 4177.9 4177.9\n", - " temperature kelvin 396.40 483.15\n", - " pressure pascal 3.4620e+07 3.4560e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.mixer Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units FG_out LTR_out bypass Outlet \n", - " flow_mol mole / second 4177.9 86647. 30275. 1.2110e+05\n", - " temperature kelvin 483.15 579.39 452.96 543.23\n", - " pressure pascal 3.4560e+07 3.4620e+07 3.4886e+07 3.4560e+07\n", - "====================================================================================\n", - "641.5293430698576 kW\n" - ] - } - ], + "outputs": [], "source": [ "def main():\n", " # Setup solver and options\n", diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/flowsheet_optimization.py b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/flowsheet_optimization.py index 286827cc..2c25c88d 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/flowsheet_optimization.py +++ b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/flowsheet_optimization.py @@ -1,15 +1,16 @@ -############################################################################### +################################################################################# # The Institute for the Design of Advanced Energy Systems Integrated Platform # Framework (IDAES IP) was produced under the DOE Institute for the # Design of Advanced Energy Systems (IDAES). # -# Copyright (c) 2018-2023 by the software owners: The Regents of the +# Copyright (c) 2018-2025 by the software owners: The Regents of the # University of California, through Lawrence Berkeley National Laboratory, # National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon # University, West Virginia University Research Corporation, et al. # All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md # for full copyright and license information. -############################################################################### +# +################################################################################# """ Maintainer: Javal Vyas diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/flowsheet_optimization_doc.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/flowsheet_optimization_doc.ipynb index fa30ded7..c3230613 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/flowsheet_optimization_doc.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/flowsheet_optimization_doc.ipynb @@ -1,5 +1,31 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "code", "execution_count": 1, @@ -39,19 +65,7 @@ "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "from IPython.display import Image\n", "from pathlib import Path\n", @@ -77,17 +91,7 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: DEPRECATED: pyomo.core.expr.current is deprecated. Please import\n", - "expression symbols from pyomo.core.expr (deprecated in 6.6.2) (called from\n", - ":241)\n" - ] - } - ], + "outputs": [], "source": [ "from pyomo.environ import (\n", " ConcreteModel,\n", @@ -140,336 +144,7 @@ "cell_type": "code", "execution_count": 4, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-01-24 21:41:57 [INFO] idaes.init.fs.boiler.control_volume: Initialization Complete\n", - "2024-01-24 21:42:01 [INFO] idaes.init.fs.boiler: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:02 [INFO] idaes.init.fs.turbine: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:03 [INFO] idaes.init.fs.HTR_pseudo_shell.control_volume: Initialization Complete\n", - "2024-01-24 21:42:03 [INFO] idaes.init.fs.HTR_pseudo_shell: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:03 [INFO] idaes.init.fs.LTR_pseudo_shell.control_volume: Initialization Complete\n", - "2024-01-24 21:42:03 [INFO] idaes.init.fs.LTR_pseudo_shell: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:04 [INFO] idaes.init.fs.splitter_1: Initialization Step 2 Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:04 [INFO] idaes.init.fs.co2_cooler.control_volume: Initialization Complete\n", - "2024-01-24 21:42:04 [INFO] idaes.init.fs.co2_cooler: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:05 [INFO] idaes.init.fs.bypass_compressor: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:07 [INFO] idaes.init.fs.main_compressor: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:07 [INFO] idaes.init.fs.splitter_2: Initialization Step 2 Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:07 [INFO] idaes.init.fs.FG_cooler.control_volume: Initialization Complete\n", - "2024-01-24 21:42:08 [INFO] idaes.init.fs.FG_cooler: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:08 [INFO] idaes.init.fs.LTR_pseudo_tube.control_volume: Initialization Complete\n", - "2024-01-24 21:42:08 [INFO] idaes.init.fs.LTR_pseudo_tube: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:09 [INFO] idaes.init.fs.mixer: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:09 [INFO] idaes.init.fs.HTR_pseudo_tube.control_volume: Initialization Complete\n", - "2024-01-24 21:42:09 [INFO] idaes.init.fs.HTR_pseudo_tube: Initialization Complete: optimal - Optimal Solution Found\n", - "--------------------------------------------------------------------\n", - "The degrees of freedom for the flowsheet is 0\n", - "--------------------------------------------------------------------\n", - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 51411\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 2674\n", - "\n", - "Total number of variables............................: 5920\n", - " variables with only lower bounds: 32\n", - " variables with lower and upper bounds: 5669\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 5920\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 9.10e-01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 7.86e-09 7.53e-01 -1.0 9.10e-01 - 9.89e-01 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 1\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 1.1641532182693481e-10 7.8580342233181000e-09\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 1.1641532182693481e-10 7.8580342233181000e-09\n", - "\n", - "\n", - "Number of objective function evaluations = 2\n", - "Number of objective gradient evaluations = 2\n", - "Number of equality constraint evaluations = 2\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 2\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 1\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.362\n", - "Total CPU secs in NLP function evaluations = 0.008\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\n", - "====================================================================================\n", - "Unit : fs.boiler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.3854e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 685.15 893.15\n", - " pressure pascal 3.4510e+07 3.4300e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.turbine Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.92700 : dimensionless : True : (None, None)\n", - " Mechanical Work : -1.0221e+06 : watt : False : (None, None)\n", - " Pressure Change : -24.979 : pascal : False : (None, None)\n", - " Pressure Ratio : 0.27174 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 893.15 719.28\n", - " pressure pascal 3.4300e+07 9.3207e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.HTR_pseudo_shell Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -1.5254e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 719.28 489.15\n", - " pressure pascal 9.3207e+06 9.2507e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.HTR_pseudo_tube Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.5254e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 543.23 750.68\n", - " pressure pascal 3.4560e+07 3.4490e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.LTR_pseudo_shell Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -1.0875e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 489.15 354.15\n", - " pressure pascal 9.2507e+06 9.1807e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.LTR_pseudo_tube Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.0875e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 86647. 86647.\n", - " temperature kelvin 396.40 579.39\n", - " pressure pascal 3.4620e+07 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.splitter_1 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Split Fraction [('bypass',)] : 0.25000 : dimensionless : True : (None, None)\n", - " Split Fraction [('to_cooler',)] : 0.75000 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet bypass to_cooler\n", - " flow_mol mole / second 1.2110e+05 30275. 90825.\n", - " temperature kelvin 354.15 354.15 354.15\n", - " pressure pascal 9.1807e+06 9.1807e+06 9.1807e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.co2_cooler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -3.1174e+05 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 90825. 90825.\n", - " temperature kelvin 354.15 308.15\n", - " pressure pascal 9.1807e+06 9.1107e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.main_compressor Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.85000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 2.7059e+05 : watt : False : (None, None)\n", - " Pressure Change : 25.510 : pascal : False : (None, None)\n", - " Pressure Ratio : 3.8000 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 90825. 90825.\n", - " temperature kelvin 308.15 396.40\n", - " pressure pascal 9.1107e+06 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.bypass_compressor Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.85000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 1.0998e+05 : watt : False : (None, None)\n", - " Pressure Change : 25.706 : pascal : False : (None, None)\n", - " Pressure Ratio : 3.8000 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 30275. 30275.\n", - " temperature kelvin 354.15 452.96\n", - " pressure pascal 9.1807e+06 3.4886e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.splitter_2 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Split Fraction [('to_FG_cooler',)] : 0.046000 : dimensionless : True : (None, None)\n", - " Split Fraction [('to_LTR',)] : 0.95400 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet to_FG_cooler to_LTR \n", - " flow_mol mole / second 90825. 4177.9 86647.\n", - " temperature kelvin 396.40 396.40 396.40\n", - " pressure pascal 3.4620e+07 3.4620e+07 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.FG_cooler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 25836. : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 4177.9 4177.9\n", - " temperature kelvin 396.40 483.15\n", - " pressure pascal 3.4620e+07 3.4560e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.mixer Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units FG_out LTR_out bypass Outlet \n", - " flow_mol mole / second 4177.9 86647. 30275. 1.2110e+05\n", - " temperature kelvin 483.15 579.39 452.96 543.23\n", - " pressure pascal 3.4560e+07 3.4620e+07 3.4886e+07 3.4560e+07\n", - "====================================================================================\n", - "641.5293430698576 kW\n" - ] - } - ], + "outputs": [], "source": [ "def main():\n", " # Setup solver and options\n", diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/flowsheet_optimization_test.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/flowsheet_optimization_test.ipynb index fa30ded7..a7e51e2d 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/flowsheet_optimization_test.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/flowsheet_optimization_test.ipynb @@ -1,732 +1,407 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Supercritical CO2 Property Surrogate with OMLT Surrogate Object - flowsheet_optimization (Part 3)\n", - "\n", - "Maintainer: Javal Vyas\n", - "\n", - "Author: Javal Vyas\n", - "\n", - "Updated: 2024-01-24\n", - "\n", - "With the surrogate model being embedded in the property package, it is ready to be used in the flowsheet. We start by creating the following flowsheet using the IDAES package. " - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ + "cells": [ { - "data": { - "image/png": "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", - "text/plain": [ - "" + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from IPython.display import Image\n", - "from pathlib import Path\n", - "\n", - "\n", - "def datafile_path(name):\n", - " return Path(\"..\") / name\n", - "\n", - "\n", - "Image(datafile_path(\"CO2_flowsheet.png\"))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 1. Importing libraries\n", - "\n", - "We will be using the unit models from the `IDAES` package along with components from `pyomo.environ` and `pyomo.network`. " - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: DEPRECATED: pyomo.core.expr.current is deprecated. Please import\n", - "expression symbols from pyomo.core.expr (deprecated in 6.6.2) (called from\n", - ":241)\n" - ] - } - ], - "source": [ - "from pyomo.environ import (\n", - " ConcreteModel,\n", - " Block,\n", - " Var,\n", - " Param,\n", - " Constraint,\n", - " SolverFactory,\n", - " TransformationFactory,\n", - " TerminationCondition,\n", - " value,\n", - " Expression,\n", - " minimize,\n", - " units,\n", - ")\n", - "from pyomo.network import Arc, SequentialDecomposition\n", - "\n", - "# Import IDAES libraries\n", - "from idaes.core import FlowsheetBlock, UnitModelBlockData\n", - "from idaes.models.unit_models import (\n", - " Mixer,\n", - " MomentumMixingType,\n", - " PressureChanger,\n", - " Heater,\n", - " Separator,\n", - " HeatExchanger,\n", - ")\n", - "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.util.initialization import propagate_state\n", - "from properties import SCO2ParameterBlock\n", - "\n", - "import idaes.logger as idaeslog\n", - "\n", - "_log = idaeslog.getModelLogger(\"my_model\", level=idaeslog.DEBUG, tag=\"model\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 2. Constructing the flowsheet\n", - "\n", - "To construct the flowsheet we need to define a ConcreteModel using pyomo and then add a FlowsheetBlock to the ConcreteModel. Here since we are focusing on the steady state process, we shall have the dynamic flag as False in the FlowsheetBlock. Next, we define the properties in the FlowsheetBlock that we imported from the properties.py file. Then start adding the unit models to the FlowsheetBlock with the suitable arguments, after which we connect them using Arcs as in the flowsheet above. \n", - "\n", - "Once we have the connected flowsheet, we initialize individual unit models. Before initializing, we fix desired variables for the desired behavior of the unit model and then use `propagate_state` to pass on the state variables to next unit model in the flowsheet. After completely initializing the flowsheet, we convert the network to a mathematical form by using `network.expand_arcs` from the TransformationFactory and apply it on the flowsheet block. Then we call the solver and solve the flowsheet to calculate the total work in the process. " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Supercritical CO2 Property Surrogate with OMLT Surrogate Object - flowsheet_optimization (Part 3)\n", + "\n", + "Maintainer: Javal Vyas\n", + "\n", + "Author: Javal Vyas\n", + "\n", + "Updated: 2024-01-24\n", + "\n", + "With the surrogate model being embedded in the property package, it is ready to be used in the flowsheet. We start by creating the following flowsheet using the IDAES package. " + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-01-24 21:41:57 [INFO] idaes.init.fs.boiler.control_volume: Initialization Complete\n", - "2024-01-24 21:42:01 [INFO] idaes.init.fs.boiler: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:02 [INFO] idaes.init.fs.turbine: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:03 [INFO] idaes.init.fs.HTR_pseudo_shell.control_volume: Initialization Complete\n", - "2024-01-24 21:42:03 [INFO] idaes.init.fs.HTR_pseudo_shell: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:03 [INFO] idaes.init.fs.LTR_pseudo_shell.control_volume: Initialization Complete\n", - "2024-01-24 21:42:03 [INFO] idaes.init.fs.LTR_pseudo_shell: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:04 [INFO] idaes.init.fs.splitter_1: Initialization Step 2 Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:04 [INFO] idaes.init.fs.co2_cooler.control_volume: Initialization Complete\n", - "2024-01-24 21:42:04 [INFO] idaes.init.fs.co2_cooler: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:05 [INFO] idaes.init.fs.bypass_compressor: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:07 [INFO] idaes.init.fs.main_compressor: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:07 [INFO] idaes.init.fs.splitter_2: Initialization Step 2 Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:07 [INFO] idaes.init.fs.FG_cooler.control_volume: Initialization Complete\n", - "2024-01-24 21:42:08 [INFO] idaes.init.fs.FG_cooler: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:08 [INFO] idaes.init.fs.LTR_pseudo_tube.control_volume: Initialization Complete\n", - "2024-01-24 21:42:08 [INFO] idaes.init.fs.LTR_pseudo_tube: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:09 [INFO] idaes.init.fs.mixer: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:09 [INFO] idaes.init.fs.HTR_pseudo_tube.control_volume: Initialization Complete\n", - "2024-01-24 21:42:09 [INFO] idaes.init.fs.HTR_pseudo_tube: Initialization Complete: optimal - Optimal Solution Found\n", - "--------------------------------------------------------------------\n", - "The degrees of freedom for the flowsheet is 0\n", - "--------------------------------------------------------------------\n", - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 51411\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 2674\n", - "\n", - "Total number of variables............................: 5920\n", - " variables with only lower bounds: 32\n", - " variables with lower and upper bounds: 5669\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 5920\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 9.10e-01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 7.86e-09 7.53e-01 -1.0 9.10e-01 - 9.89e-01 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 1\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 1.1641532182693481e-10 7.8580342233181000e-09\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 1.1641532182693481e-10 7.8580342233181000e-09\n", - "\n", - "\n", - "Number of objective function evaluations = 2\n", - "Number of objective gradient evaluations = 2\n", - "Number of equality constraint evaluations = 2\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 2\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 1\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.362\n", - "Total CPU secs in NLP function evaluations = 0.008\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\n", - "====================================================================================\n", - "Unit : fs.boiler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.3854e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 685.15 893.15\n", - " pressure pascal 3.4510e+07 3.4300e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.turbine Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.92700 : dimensionless : True : (None, None)\n", - " Mechanical Work : -1.0221e+06 : watt : False : (None, None)\n", - " Pressure Change : -24.979 : pascal : False : (None, None)\n", - " Pressure Ratio : 0.27174 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 893.15 719.28\n", - " pressure pascal 3.4300e+07 9.3207e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.HTR_pseudo_shell Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -1.5254e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 719.28 489.15\n", - " pressure pascal 9.3207e+06 9.2507e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.HTR_pseudo_tube Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.5254e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 543.23 750.68\n", - " pressure pascal 3.4560e+07 3.4490e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.LTR_pseudo_shell Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -1.0875e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 489.15 354.15\n", - " pressure pascal 9.2507e+06 9.1807e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.LTR_pseudo_tube Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.0875e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 86647. 86647.\n", - " temperature kelvin 396.40 579.39\n", - " pressure pascal 3.4620e+07 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.splitter_1 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Split Fraction [('bypass',)] : 0.25000 : dimensionless : True : (None, None)\n", - " Split Fraction [('to_cooler',)] : 0.75000 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet bypass to_cooler\n", - " flow_mol mole / second 1.2110e+05 30275. 90825.\n", - " temperature kelvin 354.15 354.15 354.15\n", - " pressure pascal 9.1807e+06 9.1807e+06 9.1807e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.co2_cooler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -3.1174e+05 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 90825. 90825.\n", - " temperature kelvin 354.15 308.15\n", - " pressure pascal 9.1807e+06 9.1107e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.main_compressor Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.85000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 2.7059e+05 : watt : False : (None, None)\n", - " Pressure Change : 25.510 : pascal : False : (None, None)\n", - " Pressure Ratio : 3.8000 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 90825. 90825.\n", - " temperature kelvin 308.15 396.40\n", - " pressure pascal 9.1107e+06 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.bypass_compressor Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.85000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 1.0998e+05 : watt : False : (None, None)\n", - " Pressure Change : 25.706 : pascal : False : (None, None)\n", - " Pressure Ratio : 3.8000 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 30275. 30275.\n", - " temperature kelvin 354.15 452.96\n", - " pressure pascal 9.1807e+06 3.4886e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.splitter_2 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Split Fraction [('to_FG_cooler',)] : 0.046000 : dimensionless : True : (None, None)\n", - " Split Fraction [('to_LTR',)] : 0.95400 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet to_FG_cooler to_LTR \n", - " flow_mol mole / second 90825. 4177.9 86647.\n", - " temperature kelvin 396.40 396.40 396.40\n", - " pressure pascal 3.4620e+07 3.4620e+07 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.FG_cooler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 25836. : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 4177.9 4177.9\n", - " temperature kelvin 396.40 483.15\n", - " pressure pascal 3.4620e+07 3.4560e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.mixer Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units FG_out LTR_out bypass Outlet \n", - " flow_mol mole / second 4177.9 86647. 30275. 1.2110e+05\n", - " temperature kelvin 483.15 579.39 452.96 543.23\n", - " pressure pascal 3.4560e+07 3.4620e+07 3.4886e+07 3.4560e+07\n", - "====================================================================================\n", - "641.5293430698576 kW\n" - ] + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import Image\n", + "from pathlib import Path\n", + "\n", + "\n", + "def datafile_path(name):\n", + " return Path(\"..\") / name\n", + "\n", + "\n", + "Image(datafile_path(\"CO2_flowsheet.png\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1. Importing libraries\n", + "\n", + "We will be using the unit models from the `IDAES` package along with components from `pyomo.environ` and `pyomo.network`. " + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import (\n", + " ConcreteModel,\n", + " Block,\n", + " Var,\n", + " Param,\n", + " Constraint,\n", + " SolverFactory,\n", + " TransformationFactory,\n", + " TerminationCondition,\n", + " value,\n", + " Expression,\n", + " minimize,\n", + " units,\n", + ")\n", + "from pyomo.network import Arc, SequentialDecomposition\n", + "\n", + "# Import IDAES libraries\n", + "from idaes.core import FlowsheetBlock, UnitModelBlockData\n", + "from idaes.models.unit_models import (\n", + " Mixer,\n", + " MomentumMixingType,\n", + " PressureChanger,\n", + " Heater,\n", + " Separator,\n", + " HeatExchanger,\n", + ")\n", + "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.core.util.initialization import propagate_state\n", + "from properties import SCO2ParameterBlock\n", + "\n", + "import idaes.logger as idaeslog\n", + "\n", + "_log = idaeslog.getModelLogger(\"my_model\", level=idaeslog.DEBUG, tag=\"model\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2. Constructing the flowsheet\n", + "\n", + "To construct the flowsheet we need to define a ConcreteModel using pyomo and then add a FlowsheetBlock to the ConcreteModel. Here since we are focusing on the steady state process, we shall have the dynamic flag as False in the FlowsheetBlock. Next, we define the properties in the FlowsheetBlock that we imported from the properties.py file. Then start adding the unit models to the FlowsheetBlock with the suitable arguments, after which we connect them using Arcs as in the flowsheet above. \n", + "\n", + "Once we have the connected flowsheet, we initialize individual unit models. Before initializing, we fix desired variables for the desired behavior of the unit model and then use `propagate_state` to pass on the state variables to next unit model in the flowsheet. After completely initializing the flowsheet, we convert the network to a mathematical form by using `network.expand_arcs` from the TransformationFactory and apply it on the flowsheet block. Then we call the solver and solve the flowsheet to calculate the total work in the process. " + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "def main():\n", + " # Setup solver and options\n", + " solver = SolverFactory(\"ipopt\")\n", + " outlvl = 0\n", + " tee = True\n", + "\n", + " # Set up concrete model\n", + " m = ConcreteModel()\n", + "\n", + " # Create a flowsheet block\n", + " m.fs = FlowsheetBlock(dynamic=False)\n", + "\n", + " # Create the properties param block\n", + " m.fs.properties = SCO2ParameterBlock()\n", + "\n", + " # Add unit models to the flowsheet\n", + " m.fs.boiler = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.turbine = PressureChanger(\n", + " dynamic=False,\n", + " property_package=m.fs.properties,\n", + " compressor=False,\n", + " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", + " )\n", + "\n", + " m.fs.HTR_pseudo_shell = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.HTR_pseudo_tube = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.LTR_pseudo_shell = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.LTR_pseudo_tube = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.splitter_1 = Separator(\n", + " property_package=m.fs.properties, outlet_list=[\"bypass\", \"to_cooler\"]\n", + " )\n", + "\n", + " m.fs.co2_cooler = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.main_compressor = PressureChanger(\n", + " dynamic=False,\n", + " property_package=m.fs.properties,\n", + " compressor=True,\n", + " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", + " )\n", + "\n", + " m.fs.bypass_compressor = PressureChanger(\n", + " dynamic=False,\n", + " property_package=m.fs.properties,\n", + " compressor=True,\n", + " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", + " )\n", + "\n", + " m.fs.splitter_2 = Separator(\n", + " property_package=m.fs.properties,\n", + " ideal_separation=False,\n", + " outlet_list=[\"to_FG_cooler\", \"to_LTR\"],\n", + " )\n", + "\n", + " m.fs.FG_cooler = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.mixer = Mixer(\n", + " property_package=m.fs.properties, inlet_list=[\"FG_out\", \"LTR_out\", \"bypass\"]\n", + " )\n", + "\n", + " # # Connect the flowsheet\n", + " m.fs.s01 = Arc(source=m.fs.boiler.outlet, destination=m.fs.turbine.inlet)\n", + " m.fs.s02 = Arc(source=m.fs.turbine.outlet, destination=m.fs.HTR_pseudo_shell.inlet)\n", + " m.fs.s03 = Arc(\n", + " source=m.fs.HTR_pseudo_shell.outlet, destination=m.fs.LTR_pseudo_shell.inlet\n", + " )\n", + " m.fs.s04 = Arc(\n", + " source=m.fs.LTR_pseudo_shell.outlet, destination=m.fs.splitter_1.inlet\n", + " )\n", + " m.fs.s05 = Arc(source=m.fs.splitter_1.to_cooler, destination=m.fs.co2_cooler.inlet)\n", + " m.fs.s06 = Arc(\n", + " source=m.fs.splitter_1.bypass, destination=m.fs.bypass_compressor.inlet\n", + " )\n", + " m.fs.s07 = Arc(\n", + " source=m.fs.co2_cooler.outlet, destination=m.fs.main_compressor.inlet\n", + " )\n", + " m.fs.s08 = Arc(source=m.fs.bypass_compressor.outlet, destination=m.fs.mixer.bypass)\n", + " m.fs.s09 = Arc(\n", + " source=m.fs.main_compressor.outlet, destination=m.fs.splitter_2.inlet\n", + " )\n", + " m.fs.s10 = Arc(\n", + " source=m.fs.splitter_2.to_FG_cooler, destination=m.fs.FG_cooler.inlet\n", + " )\n", + " m.fs.s11 = Arc(\n", + " source=m.fs.splitter_2.to_LTR, destination=m.fs.LTR_pseudo_tube.inlet\n", + " )\n", + " m.fs.s12 = Arc(source=m.fs.LTR_pseudo_tube.outlet, destination=m.fs.mixer.LTR_out)\n", + " m.fs.s13 = Arc(source=m.fs.FG_cooler.outlet, destination=m.fs.mixer.FG_out)\n", + " m.fs.s14 = Arc(source=m.fs.mixer.outlet, destination=m.fs.HTR_pseudo_tube.inlet)\n", + "\n", + " # initialize twice if needed\n", + " def init_once_or_twice(blk, outlvl=0):\n", + " try:\n", + " blk.initialize(outlvl=outlvl)\n", + " except:\n", + " blk.initialize(outlvl=outlvl)\n", + "\n", + " # NETL Baseline\n", + " m.fs.boiler.inlet.flow_mol.fix(121.1)\n", + " m.fs.boiler.inlet.temperature.fix(685.15)\n", + " m.fs.boiler.inlet.pressure.fix(34.51)\n", + "\n", + " m.fs.boiler.outlet.temperature.fix(893.15) # Turbine inlet T = 620 C\n", + " m.fs.boiler.deltaP.fix(-0.21)\n", + "\n", + " init_once_or_twice(m.fs.boiler)\n", + "\n", + " propagate_state(m.fs.s01)\n", + "\n", + " m.fs.turbine.ratioP.fix(1 / 3.68)\n", + " m.fs.turbine.efficiency_isentropic.fix(0.927)\n", + " m.fs.turbine.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s02)\n", + " m.fs.HTR_pseudo_shell.outlet.temperature.fix(489.15)\n", + " m.fs.HTR_pseudo_shell.deltaP.fix(-0.07)\n", + "\n", + " init_once_or_twice(m.fs.HTR_pseudo_shell)\n", + "\n", + " propagate_state(m.fs.s03)\n", + "\n", + " m.fs.LTR_pseudo_shell.outlet.temperature.fix(354.15)\n", + " m.fs.LTR_pseudo_shell.deltaP.fix(-0.07)\n", + " m.fs.LTR_pseudo_shell.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s04)\n", + " m.fs.splitter_1.split_fraction[0, \"bypass\"].fix(0.25)\n", + "\n", + " m.fs.splitter_1.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s05)\n", + " m.fs.co2_cooler.outlet.temperature.fix(308.15)\n", + " m.fs.co2_cooler.deltaP.fix(-0.07)\n", + " m.fs.co2_cooler.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s06)\n", + " m.fs.bypass_compressor.efficiency_isentropic.fix(0.85)\n", + " m.fs.bypass_compressor.ratioP.fix(3.8)\n", + " m.fs.bypass_compressor.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s07)\n", + " m.fs.main_compressor.efficiency_isentropic.fix(0.85)\n", + " m.fs.main_compressor.ratioP.fix(3.8)\n", + " m.fs.main_compressor.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s09)\n", + "\n", + " m.fs.splitter_2.split_fraction[0, \"to_FG_cooler\"].fix(0.046)\n", + " m.fs.splitter_2.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s10)\n", + " m.fs.FG_cooler.outlet.temperature.fix(483.15)\n", + " m.fs.FG_cooler.deltaP.fix(-0.06)\n", + " m.fs.FG_cooler.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s11)\n", + "\n", + " m.fs.LTR_pseudo_tube.deltaP.fix(0)\n", + " m.fs.LTR_pseudo_tube.heat_duty[0].fix(-value(m.fs.LTR_pseudo_shell.heat_duty[0]))\n", + " m.fs.LTR_pseudo_tube.initialize(outlvl=outlvl)\n", + "\n", + " # Add constraint heats of the LTR_pseudo shell and tube\n", + " m.fs.LTR_pseudo_tube.heat_duty[0].unfix()\n", + " m.fs.c1 = Constraint(\n", + " expr=m.fs.LTR_pseudo_shell.heat_duty[0] == -m.fs.LTR_pseudo_tube.heat_duty[0]\n", + " )\n", + "\n", + " propagate_state(m.fs.s08)\n", + " propagate_state(m.fs.s12)\n", + " propagate_state(m.fs.s13)\n", + "\n", + " m.fs.mixer.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s14)\n", + "\n", + " m.fs.HTR_pseudo_tube.heat_duty[0].fix(-value(m.fs.HTR_pseudo_shell.heat_duty[0]))\n", + " m.fs.HTR_pseudo_tube.deltaP.fix(-0.07)\n", + " m.fs.HTR_pseudo_tube.initialize(outlvl=outlvl)\n", + "\n", + " m.fs.HTR_pseudo_tube.heat_duty[0].unfix()\n", + " m.fs.c2 = Constraint(\n", + " expr=m.fs.HTR_pseudo_shell.heat_duty[0] == -m.fs.HTR_pseudo_tube.heat_duty[0]\n", + " )\n", + "\n", + " TransformationFactory(\"network.expand_arcs\").apply_to(m.fs)\n", + "\n", + " print(\"--------------------------------------------------------------------\")\n", + " print(\"The degrees of freedom for the flowsheet is \", degrees_of_freedom(m))\n", + " print(\"--------------------------------------------------------------------\")\n", + "\n", + " solver.solve(m, tee=tee)\n", + "\n", + " #\n", + " from idaes.core.util.units_of_measurement import (\n", + " convert_quantity_to_reporting_units,\n", + " report_quantity,\n", + " )\n", + "\n", + " # Print reports\n", + " for i in m.fs.component_objects(Block):\n", + " if isinstance(i, UnitModelBlockData):\n", + " i.report()\n", + "\n", + " # Converting units for readability\n", + " print(\n", + " -1 * value(units.convert(m.fs.turbine.work_mechanical[0], units.kW))\n", + " - 1 * value(units.convert(m.fs.main_compressor.work_mechanical[0], units.kW))\n", + " - 1 * value(units.convert(m.fs.bypass_compressor.work_mechanical[0], units.kW)),\n", + " units.kW,\n", + " )\n", + " return m\n", + "\n", + "\n", + "if __name__ == \"__main__\":\n", + " m = main()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.6" } - ], - "source": [ - "def main():\n", - " # Setup solver and options\n", - " solver = SolverFactory(\"ipopt\")\n", - " outlvl = 0\n", - " tee = True\n", - "\n", - " # Set up concrete model\n", - " m = ConcreteModel()\n", - "\n", - " # Create a flowsheet block\n", - " m.fs = FlowsheetBlock(dynamic=False)\n", - "\n", - " # Create the properties param block\n", - " m.fs.properties = SCO2ParameterBlock()\n", - "\n", - " # Add unit models to the flowsheet\n", - " m.fs.boiler = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.turbine = PressureChanger(\n", - " dynamic=False,\n", - " property_package=m.fs.properties,\n", - " compressor=False,\n", - " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", - " )\n", - "\n", - " m.fs.HTR_pseudo_shell = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.HTR_pseudo_tube = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.LTR_pseudo_shell = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.LTR_pseudo_tube = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.splitter_1 = Separator(\n", - " property_package=m.fs.properties, outlet_list=[\"bypass\", \"to_cooler\"]\n", - " )\n", - "\n", - " m.fs.co2_cooler = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.main_compressor = PressureChanger(\n", - " dynamic=False,\n", - " property_package=m.fs.properties,\n", - " compressor=True,\n", - " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", - " )\n", - "\n", - " m.fs.bypass_compressor = PressureChanger(\n", - " dynamic=False,\n", - " property_package=m.fs.properties,\n", - " compressor=True,\n", - " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", - " )\n", - "\n", - " m.fs.splitter_2 = Separator(\n", - " property_package=m.fs.properties,\n", - " ideal_separation=False,\n", - " outlet_list=[\"to_FG_cooler\", \"to_LTR\"],\n", - " )\n", - "\n", - " m.fs.FG_cooler = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.mixer = Mixer(\n", - " property_package=m.fs.properties, inlet_list=[\"FG_out\", \"LTR_out\", \"bypass\"]\n", - " )\n", - "\n", - " # # Connect the flowsheet\n", - " m.fs.s01 = Arc(source=m.fs.boiler.outlet, destination=m.fs.turbine.inlet)\n", - " m.fs.s02 = Arc(source=m.fs.turbine.outlet, destination=m.fs.HTR_pseudo_shell.inlet)\n", - " m.fs.s03 = Arc(\n", - " source=m.fs.HTR_pseudo_shell.outlet, destination=m.fs.LTR_pseudo_shell.inlet\n", - " )\n", - " m.fs.s04 = Arc(\n", - " source=m.fs.LTR_pseudo_shell.outlet, destination=m.fs.splitter_1.inlet\n", - " )\n", - " m.fs.s05 = Arc(source=m.fs.splitter_1.to_cooler, destination=m.fs.co2_cooler.inlet)\n", - " m.fs.s06 = Arc(\n", - " source=m.fs.splitter_1.bypass, destination=m.fs.bypass_compressor.inlet\n", - " )\n", - " m.fs.s07 = Arc(\n", - " source=m.fs.co2_cooler.outlet, destination=m.fs.main_compressor.inlet\n", - " )\n", - " m.fs.s08 = Arc(source=m.fs.bypass_compressor.outlet, destination=m.fs.mixer.bypass)\n", - " m.fs.s09 = Arc(\n", - " source=m.fs.main_compressor.outlet, destination=m.fs.splitter_2.inlet\n", - " )\n", - " m.fs.s10 = Arc(\n", - " source=m.fs.splitter_2.to_FG_cooler, destination=m.fs.FG_cooler.inlet\n", - " )\n", - " m.fs.s11 = Arc(\n", - " source=m.fs.splitter_2.to_LTR, destination=m.fs.LTR_pseudo_tube.inlet\n", - " )\n", - " m.fs.s12 = Arc(source=m.fs.LTR_pseudo_tube.outlet, destination=m.fs.mixer.LTR_out)\n", - " m.fs.s13 = Arc(source=m.fs.FG_cooler.outlet, destination=m.fs.mixer.FG_out)\n", - " m.fs.s14 = Arc(source=m.fs.mixer.outlet, destination=m.fs.HTR_pseudo_tube.inlet)\n", - "\n", - " # initialize twice if needed\n", - " def init_once_or_twice(blk, outlvl=0):\n", - " try:\n", - " blk.initialize(outlvl=outlvl)\n", - " except:\n", - " blk.initialize(outlvl=outlvl)\n", - "\n", - " # NETL Baseline\n", - " m.fs.boiler.inlet.flow_mol.fix(121.1)\n", - " m.fs.boiler.inlet.temperature.fix(685.15)\n", - " m.fs.boiler.inlet.pressure.fix(34.51)\n", - "\n", - " m.fs.boiler.outlet.temperature.fix(893.15) # Turbine inlet T = 620 C\n", - " m.fs.boiler.deltaP.fix(-0.21)\n", - "\n", - " init_once_or_twice(m.fs.boiler)\n", - "\n", - " propagate_state(m.fs.s01)\n", - "\n", - " m.fs.turbine.ratioP.fix(1 / 3.68)\n", - " m.fs.turbine.efficiency_isentropic.fix(0.927)\n", - " m.fs.turbine.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s02)\n", - " m.fs.HTR_pseudo_shell.outlet.temperature.fix(489.15)\n", - " m.fs.HTR_pseudo_shell.deltaP.fix(-0.07)\n", - "\n", - " init_once_or_twice(m.fs.HTR_pseudo_shell)\n", - "\n", - " propagate_state(m.fs.s03)\n", - "\n", - " m.fs.LTR_pseudo_shell.outlet.temperature.fix(354.15)\n", - " m.fs.LTR_pseudo_shell.deltaP.fix(-0.07)\n", - " m.fs.LTR_pseudo_shell.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s04)\n", - " m.fs.splitter_1.split_fraction[0, \"bypass\"].fix(0.25)\n", - "\n", - " m.fs.splitter_1.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s05)\n", - " m.fs.co2_cooler.outlet.temperature.fix(308.15)\n", - " m.fs.co2_cooler.deltaP.fix(-0.07)\n", - " m.fs.co2_cooler.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s06)\n", - " m.fs.bypass_compressor.efficiency_isentropic.fix(0.85)\n", - " m.fs.bypass_compressor.ratioP.fix(3.8)\n", - " m.fs.bypass_compressor.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s07)\n", - " m.fs.main_compressor.efficiency_isentropic.fix(0.85)\n", - " m.fs.main_compressor.ratioP.fix(3.8)\n", - " m.fs.main_compressor.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s09)\n", - "\n", - " m.fs.splitter_2.split_fraction[0, \"to_FG_cooler\"].fix(0.046)\n", - " m.fs.splitter_2.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s10)\n", - " m.fs.FG_cooler.outlet.temperature.fix(483.15)\n", - " m.fs.FG_cooler.deltaP.fix(-0.06)\n", - " m.fs.FG_cooler.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s11)\n", - "\n", - " m.fs.LTR_pseudo_tube.deltaP.fix(0)\n", - " m.fs.LTR_pseudo_tube.heat_duty[0].fix(-value(m.fs.LTR_pseudo_shell.heat_duty[0]))\n", - " m.fs.LTR_pseudo_tube.initialize(outlvl=outlvl)\n", - "\n", - " # Add constraint heats of the LTR_pseudo shell and tube\n", - " m.fs.LTR_pseudo_tube.heat_duty[0].unfix()\n", - " m.fs.c1 = Constraint(\n", - " expr=m.fs.LTR_pseudo_shell.heat_duty[0] == -m.fs.LTR_pseudo_tube.heat_duty[0]\n", - " )\n", - "\n", - " propagate_state(m.fs.s08)\n", - " propagate_state(m.fs.s12)\n", - " propagate_state(m.fs.s13)\n", - "\n", - " m.fs.mixer.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s14)\n", - "\n", - " m.fs.HTR_pseudo_tube.heat_duty[0].fix(-value(m.fs.HTR_pseudo_shell.heat_duty[0]))\n", - " m.fs.HTR_pseudo_tube.deltaP.fix(-0.07)\n", - " m.fs.HTR_pseudo_tube.initialize(outlvl=outlvl)\n", - "\n", - " m.fs.HTR_pseudo_tube.heat_duty[0].unfix()\n", - " m.fs.c2 = Constraint(\n", - " expr=m.fs.HTR_pseudo_shell.heat_duty[0] == -m.fs.HTR_pseudo_tube.heat_duty[0]\n", - " )\n", - "\n", - " TransformationFactory(\"network.expand_arcs\").apply_to(m.fs)\n", - "\n", - " print(\"--------------------------------------------------------------------\")\n", - " print(\"The degrees of freedom for the flowsheet is \", degrees_of_freedom(m))\n", - " print(\"--------------------------------------------------------------------\")\n", - "\n", - " solver.solve(m, tee=tee)\n", - "\n", - " #\n", - " from idaes.core.util.units_of_measurement import (\n", - " convert_quantity_to_reporting_units,\n", - " report_quantity,\n", - " )\n", - "\n", - " # Print reports\n", - " for i in m.fs.component_objects(Block):\n", - " if isinstance(i, UnitModelBlockData):\n", - " i.report()\n", - "\n", - " # Converting units for readability\n", - " print(\n", - " -1 * value(units.convert(m.fs.turbine.work_mechanical[0], units.kW))\n", - " - 1 * value(units.convert(m.fs.main_compressor.work_mechanical[0], units.kW))\n", - " - 1 * value(units.convert(m.fs.bypass_compressor.work_mechanical[0], units.kW)),\n", - " units.kW,\n", - " )\n", - " return m\n", - "\n", - "\n", - "if __name__ == \"__main__\":\n", - " m = main()" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.6" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/flowsheet_optimization_usr.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/flowsheet_optimization_usr.ipynb index fa30ded7..a7e51e2d 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/flowsheet_optimization_usr.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/flowsheet_optimization_usr.ipynb @@ -1,732 +1,407 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Supercritical CO2 Property Surrogate with OMLT Surrogate Object - flowsheet_optimization (Part 3)\n", - "\n", - "Maintainer: Javal Vyas\n", - "\n", - "Author: Javal Vyas\n", - "\n", - "Updated: 2024-01-24\n", - "\n", - "With the surrogate model being embedded in the property package, it is ready to be used in the flowsheet. We start by creating the following flowsheet using the IDAES package. " - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ + "cells": [ { - "data": { - "image/png": "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", - "text/plain": [ - "" + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from IPython.display import Image\n", - "from pathlib import Path\n", - "\n", - "\n", - "def datafile_path(name):\n", - " return Path(\"..\") / name\n", - "\n", - "\n", - "Image(datafile_path(\"CO2_flowsheet.png\"))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 1. Importing libraries\n", - "\n", - "We will be using the unit models from the `IDAES` package along with components from `pyomo.environ` and `pyomo.network`. " - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: DEPRECATED: pyomo.core.expr.current is deprecated. Please import\n", - "expression symbols from pyomo.core.expr (deprecated in 6.6.2) (called from\n", - ":241)\n" - ] - } - ], - "source": [ - "from pyomo.environ import (\n", - " ConcreteModel,\n", - " Block,\n", - " Var,\n", - " Param,\n", - " Constraint,\n", - " SolverFactory,\n", - " TransformationFactory,\n", - " TerminationCondition,\n", - " value,\n", - " Expression,\n", - " minimize,\n", - " units,\n", - ")\n", - "from pyomo.network import Arc, SequentialDecomposition\n", - "\n", - "# Import IDAES libraries\n", - "from idaes.core import FlowsheetBlock, UnitModelBlockData\n", - "from idaes.models.unit_models import (\n", - " Mixer,\n", - " MomentumMixingType,\n", - " PressureChanger,\n", - " Heater,\n", - " Separator,\n", - " HeatExchanger,\n", - ")\n", - "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.util.initialization import propagate_state\n", - "from properties import SCO2ParameterBlock\n", - "\n", - "import idaes.logger as idaeslog\n", - "\n", - "_log = idaeslog.getModelLogger(\"my_model\", level=idaeslog.DEBUG, tag=\"model\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 2. Constructing the flowsheet\n", - "\n", - "To construct the flowsheet we need to define a ConcreteModel using pyomo and then add a FlowsheetBlock to the ConcreteModel. Here since we are focusing on the steady state process, we shall have the dynamic flag as False in the FlowsheetBlock. Next, we define the properties in the FlowsheetBlock that we imported from the properties.py file. Then start adding the unit models to the FlowsheetBlock with the suitable arguments, after which we connect them using Arcs as in the flowsheet above. \n", - "\n", - "Once we have the connected flowsheet, we initialize individual unit models. Before initializing, we fix desired variables for the desired behavior of the unit model and then use `propagate_state` to pass on the state variables to next unit model in the flowsheet. After completely initializing the flowsheet, we convert the network to a mathematical form by using `network.expand_arcs` from the TransformationFactory and apply it on the flowsheet block. Then we call the solver and solve the flowsheet to calculate the total work in the process. " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Supercritical CO2 Property Surrogate with OMLT Surrogate Object - flowsheet_optimization (Part 3)\n", + "\n", + "Maintainer: Javal Vyas\n", + "\n", + "Author: Javal Vyas\n", + "\n", + "Updated: 2024-01-24\n", + "\n", + "With the surrogate model being embedded in the property package, it is ready to be used in the flowsheet. We start by creating the following flowsheet using the IDAES package. " + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-01-24 21:41:57 [INFO] idaes.init.fs.boiler.control_volume: Initialization Complete\n", - "2024-01-24 21:42:01 [INFO] idaes.init.fs.boiler: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:02 [INFO] idaes.init.fs.turbine: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:03 [INFO] idaes.init.fs.HTR_pseudo_shell.control_volume: Initialization Complete\n", - "2024-01-24 21:42:03 [INFO] idaes.init.fs.HTR_pseudo_shell: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:03 [INFO] idaes.init.fs.LTR_pseudo_shell.control_volume: Initialization Complete\n", - "2024-01-24 21:42:03 [INFO] idaes.init.fs.LTR_pseudo_shell: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:04 [INFO] idaes.init.fs.splitter_1: Initialization Step 2 Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:04 [INFO] idaes.init.fs.co2_cooler.control_volume: Initialization Complete\n", - "2024-01-24 21:42:04 [INFO] idaes.init.fs.co2_cooler: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:05 [INFO] idaes.init.fs.bypass_compressor: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:07 [INFO] idaes.init.fs.main_compressor: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:07 [INFO] idaes.init.fs.splitter_2: Initialization Step 2 Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:07 [INFO] idaes.init.fs.FG_cooler.control_volume: Initialization Complete\n", - "2024-01-24 21:42:08 [INFO] idaes.init.fs.FG_cooler: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:08 [INFO] idaes.init.fs.LTR_pseudo_tube.control_volume: Initialization Complete\n", - "2024-01-24 21:42:08 [INFO] idaes.init.fs.LTR_pseudo_tube: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:09 [INFO] idaes.init.fs.mixer: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-01-24 21:42:09 [INFO] idaes.init.fs.HTR_pseudo_tube.control_volume: Initialization Complete\n", - "2024-01-24 21:42:09 [INFO] idaes.init.fs.HTR_pseudo_tube: Initialization Complete: optimal - Optimal Solution Found\n", - "--------------------------------------------------------------------\n", - "The degrees of freedom for the flowsheet is 0\n", - "--------------------------------------------------------------------\n", - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 51411\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 2674\n", - "\n", - "Total number of variables............................: 5920\n", - " variables with only lower bounds: 32\n", - " variables with lower and upper bounds: 5669\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 5920\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 9.10e-01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 7.86e-09 7.53e-01 -1.0 9.10e-01 - 9.89e-01 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 1\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 1.1641532182693481e-10 7.8580342233181000e-09\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 1.1641532182693481e-10 7.8580342233181000e-09\n", - "\n", - "\n", - "Number of objective function evaluations = 2\n", - "Number of objective gradient evaluations = 2\n", - "Number of equality constraint evaluations = 2\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 2\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 1\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.362\n", - "Total CPU secs in NLP function evaluations = 0.008\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\n", - "====================================================================================\n", - "Unit : fs.boiler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.3854e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 685.15 893.15\n", - " pressure pascal 3.4510e+07 3.4300e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.turbine Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.92700 : dimensionless : True : (None, None)\n", - " Mechanical Work : -1.0221e+06 : watt : False : (None, None)\n", - " Pressure Change : -24.979 : pascal : False : (None, None)\n", - " Pressure Ratio : 0.27174 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 893.15 719.28\n", - " pressure pascal 3.4300e+07 9.3207e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.HTR_pseudo_shell Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -1.5254e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 719.28 489.15\n", - " pressure pascal 9.3207e+06 9.2507e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.HTR_pseudo_tube Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.5254e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 543.23 750.68\n", - " pressure pascal 3.4560e+07 3.4490e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.LTR_pseudo_shell Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -1.0875e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 489.15 354.15\n", - " pressure pascal 9.2507e+06 9.1807e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.LTR_pseudo_tube Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.0875e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 86647. 86647.\n", - " temperature kelvin 396.40 579.39\n", - " pressure pascal 3.4620e+07 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.splitter_1 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Split Fraction [('bypass',)] : 0.25000 : dimensionless : True : (None, None)\n", - " Split Fraction [('to_cooler',)] : 0.75000 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet bypass to_cooler\n", - " flow_mol mole / second 1.2110e+05 30275. 90825.\n", - " temperature kelvin 354.15 354.15 354.15\n", - " pressure pascal 9.1807e+06 9.1807e+06 9.1807e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.co2_cooler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -3.1174e+05 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 90825. 90825.\n", - " temperature kelvin 354.15 308.15\n", - " pressure pascal 9.1807e+06 9.1107e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.main_compressor Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.85000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 2.7059e+05 : watt : False : (None, None)\n", - " Pressure Change : 25.510 : pascal : False : (None, None)\n", - " Pressure Ratio : 3.8000 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 90825. 90825.\n", - " temperature kelvin 308.15 396.40\n", - " pressure pascal 9.1107e+06 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.bypass_compressor Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.85000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 1.0998e+05 : watt : False : (None, None)\n", - " Pressure Change : 25.706 : pascal : False : (None, None)\n", - " Pressure Ratio : 3.8000 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 30275. 30275.\n", - " temperature kelvin 354.15 452.96\n", - " pressure pascal 9.1807e+06 3.4886e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.splitter_2 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Split Fraction [('to_FG_cooler',)] : 0.046000 : dimensionless : True : (None, None)\n", - " Split Fraction [('to_LTR',)] : 0.95400 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet to_FG_cooler to_LTR \n", - " flow_mol mole / second 90825. 4177.9 86647.\n", - " temperature kelvin 396.40 396.40 396.40\n", - " pressure pascal 3.4620e+07 3.4620e+07 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.FG_cooler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 25836. : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 4177.9 4177.9\n", - " temperature kelvin 396.40 483.15\n", - " pressure pascal 3.4620e+07 3.4560e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.mixer Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units FG_out LTR_out bypass Outlet \n", - " flow_mol mole / second 4177.9 86647. 30275. 1.2110e+05\n", - " temperature kelvin 483.15 579.39 452.96 543.23\n", - " pressure pascal 3.4560e+07 3.4620e+07 3.4886e+07 3.4560e+07\n", - "====================================================================================\n", - "641.5293430698576 kW\n" - ] + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import Image\n", + "from pathlib import Path\n", + "\n", + "\n", + "def datafile_path(name):\n", + " return Path(\"..\") / name\n", + "\n", + "\n", + "Image(datafile_path(\"CO2_flowsheet.png\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1. Importing libraries\n", + "\n", + "We will be using the unit models from the `IDAES` package along with components from `pyomo.environ` and `pyomo.network`. " + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import (\n", + " ConcreteModel,\n", + " Block,\n", + " Var,\n", + " Param,\n", + " Constraint,\n", + " SolverFactory,\n", + " TransformationFactory,\n", + " TerminationCondition,\n", + " value,\n", + " Expression,\n", + " minimize,\n", + " units,\n", + ")\n", + "from pyomo.network import Arc, SequentialDecomposition\n", + "\n", + "# Import IDAES libraries\n", + "from idaes.core import FlowsheetBlock, UnitModelBlockData\n", + "from idaes.models.unit_models import (\n", + " Mixer,\n", + " MomentumMixingType,\n", + " PressureChanger,\n", + " Heater,\n", + " Separator,\n", + " HeatExchanger,\n", + ")\n", + "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.core.util.initialization import propagate_state\n", + "from properties import SCO2ParameterBlock\n", + "\n", + "import idaes.logger as idaeslog\n", + "\n", + "_log = idaeslog.getModelLogger(\"my_model\", level=idaeslog.DEBUG, tag=\"model\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2. Constructing the flowsheet\n", + "\n", + "To construct the flowsheet we need to define a ConcreteModel using pyomo and then add a FlowsheetBlock to the ConcreteModel. Here since we are focusing on the steady state process, we shall have the dynamic flag as False in the FlowsheetBlock. Next, we define the properties in the FlowsheetBlock that we imported from the properties.py file. Then start adding the unit models to the FlowsheetBlock with the suitable arguments, after which we connect them using Arcs as in the flowsheet above. \n", + "\n", + "Once we have the connected flowsheet, we initialize individual unit models. Before initializing, we fix desired variables for the desired behavior of the unit model and then use `propagate_state` to pass on the state variables to next unit model in the flowsheet. After completely initializing the flowsheet, we convert the network to a mathematical form by using `network.expand_arcs` from the TransformationFactory and apply it on the flowsheet block. Then we call the solver and solve the flowsheet to calculate the total work in the process. " + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "def main():\n", + " # Setup solver and options\n", + " solver = SolverFactory(\"ipopt\")\n", + " outlvl = 0\n", + " tee = True\n", + "\n", + " # Set up concrete model\n", + " m = ConcreteModel()\n", + "\n", + " # Create a flowsheet block\n", + " m.fs = FlowsheetBlock(dynamic=False)\n", + "\n", + " # Create the properties param block\n", + " m.fs.properties = SCO2ParameterBlock()\n", + "\n", + " # Add unit models to the flowsheet\n", + " m.fs.boiler = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.turbine = PressureChanger(\n", + " dynamic=False,\n", + " property_package=m.fs.properties,\n", + " compressor=False,\n", + " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", + " )\n", + "\n", + " m.fs.HTR_pseudo_shell = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.HTR_pseudo_tube = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.LTR_pseudo_shell = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.LTR_pseudo_tube = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.splitter_1 = Separator(\n", + " property_package=m.fs.properties, outlet_list=[\"bypass\", \"to_cooler\"]\n", + " )\n", + "\n", + " m.fs.co2_cooler = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.main_compressor = PressureChanger(\n", + " dynamic=False,\n", + " property_package=m.fs.properties,\n", + " compressor=True,\n", + " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", + " )\n", + "\n", + " m.fs.bypass_compressor = PressureChanger(\n", + " dynamic=False,\n", + " property_package=m.fs.properties,\n", + " compressor=True,\n", + " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", + " )\n", + "\n", + " m.fs.splitter_2 = Separator(\n", + " property_package=m.fs.properties,\n", + " ideal_separation=False,\n", + " outlet_list=[\"to_FG_cooler\", \"to_LTR\"],\n", + " )\n", + "\n", + " m.fs.FG_cooler = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.mixer = Mixer(\n", + " property_package=m.fs.properties, inlet_list=[\"FG_out\", \"LTR_out\", \"bypass\"]\n", + " )\n", + "\n", + " # # Connect the flowsheet\n", + " m.fs.s01 = Arc(source=m.fs.boiler.outlet, destination=m.fs.turbine.inlet)\n", + " m.fs.s02 = Arc(source=m.fs.turbine.outlet, destination=m.fs.HTR_pseudo_shell.inlet)\n", + " m.fs.s03 = Arc(\n", + " source=m.fs.HTR_pseudo_shell.outlet, destination=m.fs.LTR_pseudo_shell.inlet\n", + " )\n", + " m.fs.s04 = Arc(\n", + " source=m.fs.LTR_pseudo_shell.outlet, destination=m.fs.splitter_1.inlet\n", + " )\n", + " m.fs.s05 = Arc(source=m.fs.splitter_1.to_cooler, destination=m.fs.co2_cooler.inlet)\n", + " m.fs.s06 = Arc(\n", + " source=m.fs.splitter_1.bypass, destination=m.fs.bypass_compressor.inlet\n", + " )\n", + " m.fs.s07 = Arc(\n", + " source=m.fs.co2_cooler.outlet, destination=m.fs.main_compressor.inlet\n", + " )\n", + " m.fs.s08 = Arc(source=m.fs.bypass_compressor.outlet, destination=m.fs.mixer.bypass)\n", + " m.fs.s09 = Arc(\n", + " source=m.fs.main_compressor.outlet, destination=m.fs.splitter_2.inlet\n", + " )\n", + " m.fs.s10 = Arc(\n", + " source=m.fs.splitter_2.to_FG_cooler, destination=m.fs.FG_cooler.inlet\n", + " )\n", + " m.fs.s11 = Arc(\n", + " source=m.fs.splitter_2.to_LTR, destination=m.fs.LTR_pseudo_tube.inlet\n", + " )\n", + " m.fs.s12 = Arc(source=m.fs.LTR_pseudo_tube.outlet, destination=m.fs.mixer.LTR_out)\n", + " m.fs.s13 = Arc(source=m.fs.FG_cooler.outlet, destination=m.fs.mixer.FG_out)\n", + " m.fs.s14 = Arc(source=m.fs.mixer.outlet, destination=m.fs.HTR_pseudo_tube.inlet)\n", + "\n", + " # initialize twice if needed\n", + " def init_once_or_twice(blk, outlvl=0):\n", + " try:\n", + " blk.initialize(outlvl=outlvl)\n", + " except:\n", + " blk.initialize(outlvl=outlvl)\n", + "\n", + " # NETL Baseline\n", + " m.fs.boiler.inlet.flow_mol.fix(121.1)\n", + " m.fs.boiler.inlet.temperature.fix(685.15)\n", + " m.fs.boiler.inlet.pressure.fix(34.51)\n", + "\n", + " m.fs.boiler.outlet.temperature.fix(893.15) # Turbine inlet T = 620 C\n", + " m.fs.boiler.deltaP.fix(-0.21)\n", + "\n", + " init_once_or_twice(m.fs.boiler)\n", + "\n", + " propagate_state(m.fs.s01)\n", + "\n", + " m.fs.turbine.ratioP.fix(1 / 3.68)\n", + " m.fs.turbine.efficiency_isentropic.fix(0.927)\n", + " m.fs.turbine.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s02)\n", + " m.fs.HTR_pseudo_shell.outlet.temperature.fix(489.15)\n", + " m.fs.HTR_pseudo_shell.deltaP.fix(-0.07)\n", + "\n", + " init_once_or_twice(m.fs.HTR_pseudo_shell)\n", + "\n", + " propagate_state(m.fs.s03)\n", + "\n", + " m.fs.LTR_pseudo_shell.outlet.temperature.fix(354.15)\n", + " m.fs.LTR_pseudo_shell.deltaP.fix(-0.07)\n", + " m.fs.LTR_pseudo_shell.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s04)\n", + " m.fs.splitter_1.split_fraction[0, \"bypass\"].fix(0.25)\n", + "\n", + " m.fs.splitter_1.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s05)\n", + " m.fs.co2_cooler.outlet.temperature.fix(308.15)\n", + " m.fs.co2_cooler.deltaP.fix(-0.07)\n", + " m.fs.co2_cooler.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s06)\n", + " m.fs.bypass_compressor.efficiency_isentropic.fix(0.85)\n", + " m.fs.bypass_compressor.ratioP.fix(3.8)\n", + " m.fs.bypass_compressor.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s07)\n", + " m.fs.main_compressor.efficiency_isentropic.fix(0.85)\n", + " m.fs.main_compressor.ratioP.fix(3.8)\n", + " m.fs.main_compressor.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s09)\n", + "\n", + " m.fs.splitter_2.split_fraction[0, \"to_FG_cooler\"].fix(0.046)\n", + " m.fs.splitter_2.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s10)\n", + " m.fs.FG_cooler.outlet.temperature.fix(483.15)\n", + " m.fs.FG_cooler.deltaP.fix(-0.06)\n", + " m.fs.FG_cooler.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s11)\n", + "\n", + " m.fs.LTR_pseudo_tube.deltaP.fix(0)\n", + " m.fs.LTR_pseudo_tube.heat_duty[0].fix(-value(m.fs.LTR_pseudo_shell.heat_duty[0]))\n", + " m.fs.LTR_pseudo_tube.initialize(outlvl=outlvl)\n", + "\n", + " # Add constraint heats of the LTR_pseudo shell and tube\n", + " m.fs.LTR_pseudo_tube.heat_duty[0].unfix()\n", + " m.fs.c1 = Constraint(\n", + " expr=m.fs.LTR_pseudo_shell.heat_duty[0] == -m.fs.LTR_pseudo_tube.heat_duty[0]\n", + " )\n", + "\n", + " propagate_state(m.fs.s08)\n", + " propagate_state(m.fs.s12)\n", + " propagate_state(m.fs.s13)\n", + "\n", + " m.fs.mixer.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s14)\n", + "\n", + " m.fs.HTR_pseudo_tube.heat_duty[0].fix(-value(m.fs.HTR_pseudo_shell.heat_duty[0]))\n", + " m.fs.HTR_pseudo_tube.deltaP.fix(-0.07)\n", + " m.fs.HTR_pseudo_tube.initialize(outlvl=outlvl)\n", + "\n", + " m.fs.HTR_pseudo_tube.heat_duty[0].unfix()\n", + " m.fs.c2 = Constraint(\n", + " expr=m.fs.HTR_pseudo_shell.heat_duty[0] == -m.fs.HTR_pseudo_tube.heat_duty[0]\n", + " )\n", + "\n", + " TransformationFactory(\"network.expand_arcs\").apply_to(m.fs)\n", + "\n", + " print(\"--------------------------------------------------------------------\")\n", + " print(\"The degrees of freedom for the flowsheet is \", degrees_of_freedom(m))\n", + " print(\"--------------------------------------------------------------------\")\n", + "\n", + " solver.solve(m, tee=tee)\n", + "\n", + " #\n", + " from idaes.core.util.units_of_measurement import (\n", + " convert_quantity_to_reporting_units,\n", + " report_quantity,\n", + " )\n", + "\n", + " # Print reports\n", + " for i in m.fs.component_objects(Block):\n", + " if isinstance(i, UnitModelBlockData):\n", + " i.report()\n", + "\n", + " # Converting units for readability\n", + " print(\n", + " -1 * value(units.convert(m.fs.turbine.work_mechanical[0], units.kW))\n", + " - 1 * value(units.convert(m.fs.main_compressor.work_mechanical[0], units.kW))\n", + " - 1 * value(units.convert(m.fs.bypass_compressor.work_mechanical[0], units.kW)),\n", + " units.kW,\n", + " )\n", + " return m\n", + "\n", + "\n", + "if __name__ == \"__main__\":\n", + " m = main()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.6" } - ], - "source": [ - "def main():\n", - " # Setup solver and options\n", - " solver = SolverFactory(\"ipopt\")\n", - " outlvl = 0\n", - " tee = True\n", - "\n", - " # Set up concrete model\n", - " m = ConcreteModel()\n", - "\n", - " # Create a flowsheet block\n", - " m.fs = FlowsheetBlock(dynamic=False)\n", - "\n", - " # Create the properties param block\n", - " m.fs.properties = SCO2ParameterBlock()\n", - "\n", - " # Add unit models to the flowsheet\n", - " m.fs.boiler = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.turbine = PressureChanger(\n", - " dynamic=False,\n", - " property_package=m.fs.properties,\n", - " compressor=False,\n", - " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", - " )\n", - "\n", - " m.fs.HTR_pseudo_shell = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.HTR_pseudo_tube = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.LTR_pseudo_shell = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.LTR_pseudo_tube = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.splitter_1 = Separator(\n", - " property_package=m.fs.properties, outlet_list=[\"bypass\", \"to_cooler\"]\n", - " )\n", - "\n", - " m.fs.co2_cooler = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.main_compressor = PressureChanger(\n", - " dynamic=False,\n", - " property_package=m.fs.properties,\n", - " compressor=True,\n", - " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", - " )\n", - "\n", - " m.fs.bypass_compressor = PressureChanger(\n", - " dynamic=False,\n", - " property_package=m.fs.properties,\n", - " compressor=True,\n", - " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", - " )\n", - "\n", - " m.fs.splitter_2 = Separator(\n", - " property_package=m.fs.properties,\n", - " ideal_separation=False,\n", - " outlet_list=[\"to_FG_cooler\", \"to_LTR\"],\n", - " )\n", - "\n", - " m.fs.FG_cooler = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.mixer = Mixer(\n", - " property_package=m.fs.properties, inlet_list=[\"FG_out\", \"LTR_out\", \"bypass\"]\n", - " )\n", - "\n", - " # # Connect the flowsheet\n", - " m.fs.s01 = Arc(source=m.fs.boiler.outlet, destination=m.fs.turbine.inlet)\n", - " m.fs.s02 = Arc(source=m.fs.turbine.outlet, destination=m.fs.HTR_pseudo_shell.inlet)\n", - " m.fs.s03 = Arc(\n", - " source=m.fs.HTR_pseudo_shell.outlet, destination=m.fs.LTR_pseudo_shell.inlet\n", - " )\n", - " m.fs.s04 = Arc(\n", - " source=m.fs.LTR_pseudo_shell.outlet, destination=m.fs.splitter_1.inlet\n", - " )\n", - " m.fs.s05 = Arc(source=m.fs.splitter_1.to_cooler, destination=m.fs.co2_cooler.inlet)\n", - " m.fs.s06 = Arc(\n", - " source=m.fs.splitter_1.bypass, destination=m.fs.bypass_compressor.inlet\n", - " )\n", - " m.fs.s07 = Arc(\n", - " source=m.fs.co2_cooler.outlet, destination=m.fs.main_compressor.inlet\n", - " )\n", - " m.fs.s08 = Arc(source=m.fs.bypass_compressor.outlet, destination=m.fs.mixer.bypass)\n", - " m.fs.s09 = Arc(\n", - " source=m.fs.main_compressor.outlet, destination=m.fs.splitter_2.inlet\n", - " )\n", - " m.fs.s10 = Arc(\n", - " source=m.fs.splitter_2.to_FG_cooler, destination=m.fs.FG_cooler.inlet\n", - " )\n", - " m.fs.s11 = Arc(\n", - " source=m.fs.splitter_2.to_LTR, destination=m.fs.LTR_pseudo_tube.inlet\n", - " )\n", - " m.fs.s12 = Arc(source=m.fs.LTR_pseudo_tube.outlet, destination=m.fs.mixer.LTR_out)\n", - " m.fs.s13 = Arc(source=m.fs.FG_cooler.outlet, destination=m.fs.mixer.FG_out)\n", - " m.fs.s14 = Arc(source=m.fs.mixer.outlet, destination=m.fs.HTR_pseudo_tube.inlet)\n", - "\n", - " # initialize twice if needed\n", - " def init_once_or_twice(blk, outlvl=0):\n", - " try:\n", - " blk.initialize(outlvl=outlvl)\n", - " except:\n", - " blk.initialize(outlvl=outlvl)\n", - "\n", - " # NETL Baseline\n", - " m.fs.boiler.inlet.flow_mol.fix(121.1)\n", - " m.fs.boiler.inlet.temperature.fix(685.15)\n", - " m.fs.boiler.inlet.pressure.fix(34.51)\n", - "\n", - " m.fs.boiler.outlet.temperature.fix(893.15) # Turbine inlet T = 620 C\n", - " m.fs.boiler.deltaP.fix(-0.21)\n", - "\n", - " init_once_or_twice(m.fs.boiler)\n", - "\n", - " propagate_state(m.fs.s01)\n", - "\n", - " m.fs.turbine.ratioP.fix(1 / 3.68)\n", - " m.fs.turbine.efficiency_isentropic.fix(0.927)\n", - " m.fs.turbine.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s02)\n", - " m.fs.HTR_pseudo_shell.outlet.temperature.fix(489.15)\n", - " m.fs.HTR_pseudo_shell.deltaP.fix(-0.07)\n", - "\n", - " init_once_or_twice(m.fs.HTR_pseudo_shell)\n", - "\n", - " propagate_state(m.fs.s03)\n", - "\n", - " m.fs.LTR_pseudo_shell.outlet.temperature.fix(354.15)\n", - " m.fs.LTR_pseudo_shell.deltaP.fix(-0.07)\n", - " m.fs.LTR_pseudo_shell.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s04)\n", - " m.fs.splitter_1.split_fraction[0, \"bypass\"].fix(0.25)\n", - "\n", - " m.fs.splitter_1.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s05)\n", - " m.fs.co2_cooler.outlet.temperature.fix(308.15)\n", - " m.fs.co2_cooler.deltaP.fix(-0.07)\n", - " m.fs.co2_cooler.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s06)\n", - " m.fs.bypass_compressor.efficiency_isentropic.fix(0.85)\n", - " m.fs.bypass_compressor.ratioP.fix(3.8)\n", - " m.fs.bypass_compressor.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s07)\n", - " m.fs.main_compressor.efficiency_isentropic.fix(0.85)\n", - " m.fs.main_compressor.ratioP.fix(3.8)\n", - " m.fs.main_compressor.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s09)\n", - "\n", - " m.fs.splitter_2.split_fraction[0, \"to_FG_cooler\"].fix(0.046)\n", - " m.fs.splitter_2.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s10)\n", - " m.fs.FG_cooler.outlet.temperature.fix(483.15)\n", - " m.fs.FG_cooler.deltaP.fix(-0.06)\n", - " m.fs.FG_cooler.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s11)\n", - "\n", - " m.fs.LTR_pseudo_tube.deltaP.fix(0)\n", - " m.fs.LTR_pseudo_tube.heat_duty[0].fix(-value(m.fs.LTR_pseudo_shell.heat_duty[0]))\n", - " m.fs.LTR_pseudo_tube.initialize(outlvl=outlvl)\n", - "\n", - " # Add constraint heats of the LTR_pseudo shell and tube\n", - " m.fs.LTR_pseudo_tube.heat_duty[0].unfix()\n", - " m.fs.c1 = Constraint(\n", - " expr=m.fs.LTR_pseudo_shell.heat_duty[0] == -m.fs.LTR_pseudo_tube.heat_duty[0]\n", - " )\n", - "\n", - " propagate_state(m.fs.s08)\n", - " propagate_state(m.fs.s12)\n", - " propagate_state(m.fs.s13)\n", - "\n", - " m.fs.mixer.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s14)\n", - "\n", - " m.fs.HTR_pseudo_tube.heat_duty[0].fix(-value(m.fs.HTR_pseudo_shell.heat_duty[0]))\n", - " m.fs.HTR_pseudo_tube.deltaP.fix(-0.07)\n", - " m.fs.HTR_pseudo_tube.initialize(outlvl=outlvl)\n", - "\n", - " m.fs.HTR_pseudo_tube.heat_duty[0].unfix()\n", - " m.fs.c2 = Constraint(\n", - " expr=m.fs.HTR_pseudo_shell.heat_duty[0] == -m.fs.HTR_pseudo_tube.heat_duty[0]\n", - " )\n", - "\n", - " TransformationFactory(\"network.expand_arcs\").apply_to(m.fs)\n", - "\n", - " print(\"--------------------------------------------------------------------\")\n", - " print(\"The degrees of freedom for the flowsheet is \", degrees_of_freedom(m))\n", - " print(\"--------------------------------------------------------------------\")\n", - "\n", - " solver.solve(m, tee=tee)\n", - "\n", - " #\n", - " from idaes.core.util.units_of_measurement import (\n", - " convert_quantity_to_reporting_units,\n", - " report_quantity,\n", - " )\n", - "\n", - " # Print reports\n", - " for i in m.fs.component_objects(Block):\n", - " if isinstance(i, UnitModelBlockData):\n", - " i.report()\n", - "\n", - " # Converting units for readability\n", - " print(\n", - " -1 * value(units.convert(m.fs.turbine.work_mechanical[0], units.kW))\n", - " - 1 * value(units.convert(m.fs.main_compressor.work_mechanical[0], units.kW))\n", - " - 1 * value(units.convert(m.fs.bypass_compressor.work_mechanical[0], units.kW)),\n", - " units.kW,\n", - " )\n", - " return m\n", - "\n", - "\n", - "if __name__ == \"__main__\":\n", - " m = main()" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.6" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/keras_training.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/keras_training.ipynb index d958de18..35ecabce 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/keras_training.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/keras_training.ipynb @@ -1,5 +1,32 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "44135622", + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "code", "execution_count": 1, @@ -55,19 +82,7 @@ "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "from IPython.display import Image\n", "from pathlib import Path\n", @@ -93,17 +108,7 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: DEPRECATED: pyomo.core.expr.current is deprecated. Please import\n", - "expression symbols from pyomo.core.expr (deprecated in 6.6.2) (called from\n", - ":241)\n" - ] - } - ], + "outputs": [], "source": [ "# Import statements\n", "import os\n", @@ -199,524 +204,7 @@ "cell_type": "code", "execution_count": 5, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 1/250\n", - "13/13 - 3s - loss: 0.4963 - mae: 0.5592 - mse: 0.4963 - val_loss: 0.1685 - val_mae: 0.3349 - val_mse: 0.1685 - 3s/epoch - 249ms/step\n", - "Epoch 2/250\n", - "13/13 - 0s - loss: 0.1216 - mae: 0.2839 - mse: 0.1216 - val_loss: 0.0809 - val_mae: 0.2245 - val_mse: 0.0809 - 237ms/epoch - 18ms/step\n", - "Epoch 3/250\n", - "13/13 - 0s - loss: 0.0665 - mae: 0.2043 - mse: 0.0665 - val_loss: 0.0359 - val_mae: 0.1503 - val_mse: 0.0359 - 262ms/epoch - 20ms/step\n", - "Epoch 4/250\n", - "13/13 - 0s - loss: 0.0294 - mae: 0.1329 - mse: 0.0294 - val_loss: 0.0221 - val_mae: 0.1119 - val_mse: 0.0221 - 283ms/epoch - 22ms/step\n", - "Epoch 5/250\n", - "13/13 - 0s - loss: 0.0170 - mae: 0.0964 - mse: 0.0170 - val_loss: 0.0115 - val_mae: 0.0792 - val_mse: 0.0115 - 351ms/epoch - 27ms/step\n", - "Epoch 6/250\n", - "13/13 - 0s - loss: 0.0097 - mae: 0.0734 - mse: 0.0097 - val_loss: 0.0067 - val_mae: 0.0636 - val_mse: 0.0067 - 364ms/epoch - 28ms/step\n", - "Epoch 7/250\n", - "13/13 - 0s - loss: 0.0061 - mae: 0.0610 - mse: 0.0061 - val_loss: 0.0048 - val_mae: 0.0550 - val_mse: 0.0048 - 245ms/epoch - 19ms/step\n", - "Epoch 8/250\n", - "13/13 - 0s - loss: 0.0042 - mae: 0.0521 - mse: 0.0042 - val_loss: 0.0034 - val_mae: 0.0464 - val_mse: 0.0034 - 203ms/epoch - 16ms/step\n", - "Epoch 9/250\n", - "13/13 - 0s - loss: 0.0032 - mae: 0.0458 - mse: 0.0032 - val_loss: 0.0027 - val_mae: 0.0418 - val_mse: 0.0027 - 300ms/epoch - 23ms/step\n", - "Epoch 10/250\n", - "13/13 - 0s - loss: 0.0028 - mae: 0.0420 - mse: 0.0028 - val_loss: 0.0024 - val_mae: 0.0379 - val_mse: 0.0024 - 255ms/epoch - 20ms/step\n", - "Epoch 11/250\n", - "13/13 - 0s - loss: 0.0024 - mae: 0.0384 - mse: 0.0024 - val_loss: 0.0021 - val_mae: 0.0358 - val_mse: 0.0021 - 247ms/epoch - 19ms/step\n", - "Epoch 12/250\n", - "13/13 - 0s - loss: 0.0022 - mae: 0.0358 - mse: 0.0022 - val_loss: 0.0018 - val_mae: 0.0330 - val_mse: 0.0018 - 321ms/epoch - 25ms/step\n", - "Epoch 13/250\n", - "13/13 - 0s - loss: 0.0020 - mae: 0.0338 - mse: 0.0020 - val_loss: 0.0017 - val_mae: 0.0315 - val_mse: 0.0017 - 219ms/epoch - 17ms/step\n", - "Epoch 14/250\n", - "13/13 - 0s - loss: 0.0018 - mae: 0.0323 - mse: 0.0018 - val_loss: 0.0015 - val_mae: 0.0302 - val_mse: 0.0015 - 272ms/epoch - 21ms/step\n", - "Epoch 15/250\n", - "13/13 - 0s - loss: 0.0017 - mae: 0.0311 - mse: 0.0017 - val_loss: 0.0015 - val_mae: 0.0296 - val_mse: 0.0015 - 299ms/epoch - 23ms/step\n", - "Epoch 16/250\n", - "13/13 - 0s - loss: 0.0016 - mae: 0.0303 - mse: 0.0016 - val_loss: 0.0014 - val_mae: 0.0289 - val_mse: 0.0014 - 271ms/epoch - 21ms/step\n", - "Epoch 17/250\n", - "13/13 - 0s - loss: 0.0016 - mae: 0.0293 - mse: 0.0016 - val_loss: 0.0014 - val_mae: 0.0281 - val_mse: 0.0014 - 248ms/epoch - 19ms/step\n", - "Epoch 18/250\n", - "13/13 - 0s - loss: 0.0015 - mae: 0.0287 - mse: 0.0015 - val_loss: 0.0013 - val_mae: 0.0275 - val_mse: 0.0013 - 256ms/epoch - 20ms/step\n", - "Epoch 19/250\n", - "13/13 - 0s - loss: 0.0015 - mae: 0.0285 - mse: 0.0015 - val_loss: 0.0014 - val_mae: 0.0285 - val_mse: 0.0014 - 153ms/epoch - 12ms/step\n", - "Epoch 20/250\n", - "13/13 - 0s - loss: 0.0015 - mae: 0.0282 - mse: 0.0015 - val_loss: 0.0012 - val_mae: 0.0269 - val_mse: 0.0012 - 239ms/epoch - 18ms/step\n", - "Epoch 21/250\n", - "13/13 - 0s - loss: 0.0015 - mae: 0.0278 - mse: 0.0015 - val_loss: 0.0012 - val_mae: 0.0266 - val_mse: 0.0012 - 263ms/epoch - 20ms/step\n", - "Epoch 22/250\n", - "13/13 - 0s - loss: 0.0015 - mae: 0.0279 - mse: 0.0015 - val_loss: 0.0012 - val_mae: 0.0266 - val_mse: 0.0012 - 243ms/epoch - 19ms/step\n", - "Epoch 23/250\n", - "13/13 - 0s - loss: 0.0014 - mae: 0.0274 - mse: 0.0014 - val_loss: 0.0012 - val_mae: 0.0265 - val_mse: 0.0012 - 138ms/epoch - 11ms/step\n", - "Epoch 24/250\n", - "13/13 - 0s - loss: 0.0014 - mae: 0.0264 - mse: 0.0014 - val_loss: 0.0012 - val_mae: 0.0259 - val_mse: 0.0012 - 189ms/epoch - 15ms/step\n", - "Epoch 25/250\n", - "13/13 - 0s - loss: 0.0014 - mae: 0.0268 - mse: 0.0014 - val_loss: 0.0012 - val_mae: 0.0258 - val_mse: 0.0012 - 280ms/epoch - 22ms/step\n", - "Epoch 26/250\n", - "13/13 - 0s - loss: 0.0013 - mae: 0.0268 - mse: 0.0013 - val_loss: 0.0011 - val_mae: 0.0258 - val_mse: 0.0011 - 222ms/epoch - 17ms/step\n", - "Epoch 27/250\n", - "13/13 - 0s - loss: 0.0013 - mae: 0.0265 - mse: 0.0013 - val_loss: 0.0011 - val_mae: 0.0247 - val_mse: 0.0011 - 286ms/epoch - 22ms/step\n", - "Epoch 28/250\n", - "13/13 - 0s - loss: 0.0013 - mae: 0.0259 - mse: 0.0013 - val_loss: 0.0012 - val_mae: 0.0259 - val_mse: 0.0012 - 116ms/epoch - 9ms/step\n", - "Epoch 29/250\n", - "13/13 - 0s - loss: 0.0013 - mae: 0.0259 - mse: 0.0013 - val_loss: 0.0011 - val_mae: 0.0252 - val_mse: 0.0011 - 157ms/epoch - 12ms/step\n", - "Epoch 30/250\n", - "13/13 - 0s - loss: 0.0013 - mae: 0.0256 - mse: 0.0013 - val_loss: 0.0011 - val_mae: 0.0248 - val_mse: 0.0011 - 267ms/epoch - 21ms/step\n", - "Epoch 31/250\n", - "13/13 - 0s - loss: 0.0013 - mae: 0.0254 - mse: 0.0013 - val_loss: 0.0011 - val_mae: 0.0245 - val_mse: 0.0011 - 264ms/epoch - 20ms/step\n", - "Epoch 32/250\n", - "13/13 - 0s - loss: 0.0012 - mae: 0.0254 - mse: 0.0012 - val_loss: 0.0010 - val_mae: 0.0243 - val_mse: 0.0010 - 269ms/epoch - 21ms/step\n", - "Epoch 33/250\n", - "13/13 - 0s - loss: 0.0012 - mae: 0.0248 - mse: 0.0012 - val_loss: 0.0012 - val_mae: 0.0251 - val_mse: 0.0012 - 353ms/epoch - 27ms/step\n", - "Epoch 34/250\n", - "13/13 - 1s - loss: 0.0012 - mae: 0.0256 - mse: 0.0012 - val_loss: 0.0010 - val_mae: 0.0248 - val_mse: 0.0010 - 537ms/epoch - 41ms/step\n", - "Epoch 35/250\n", - "13/13 - 0s - loss: 0.0012 - mae: 0.0254 - mse: 0.0012 - val_loss: 0.0010 - val_mae: 0.0243 - val_mse: 0.0010 - 330ms/epoch - 25ms/step\n", - "Epoch 36/250\n", - "13/13 - 0s - loss: 0.0012 - mae: 0.0245 - mse: 0.0012 - val_loss: 0.0010 - val_mae: 0.0234 - val_mse: 0.0010 - 289ms/epoch - 22ms/step\n", - "Epoch 37/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0244 - mse: 0.0011 - val_loss: 0.0010 - val_mae: 0.0239 - val_mse: 0.0010 - 155ms/epoch - 12ms/step\n", - "Epoch 38/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0243 - mse: 0.0011 - val_loss: 9.9094e-04 - val_mae: 0.0235 - val_mse: 9.9094e-04 - 289ms/epoch - 22ms/step\n", - "Epoch 39/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0243 - mse: 0.0011 - val_loss: 0.0010 - val_mae: 0.0238 - val_mse: 0.0010 - 118ms/epoch - 9ms/step\n", - "Epoch 40/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0241 - mse: 0.0011 - val_loss: 9.7491e-04 - val_mae: 0.0239 - val_mse: 9.7491e-04 - 299ms/epoch - 23ms/step\n", - "Epoch 41/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0241 - mse: 0.0011 - val_loss: 9.9821e-04 - val_mae: 0.0227 - val_mse: 9.9821e-04 - 151ms/epoch - 12ms/step\n", - "Epoch 42/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0240 - mse: 0.0011 - val_loss: 0.0010 - val_mae: 0.0235 - val_mse: 0.0010 - 192ms/epoch - 15ms/step\n", - "Epoch 43/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0238 - mse: 0.0011 - val_loss: 9.4863e-04 - val_mae: 0.0232 - val_mse: 9.4863e-04 - 237ms/epoch - 18ms/step\n", - "Epoch 44/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0236 - mse: 0.0011 - val_loss: 9.8018e-04 - val_mae: 0.0230 - val_mse: 9.8018e-04 - 154ms/epoch - 12ms/step\n", - "Epoch 45/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0239 - mse: 0.0011 - val_loss: 9.5093e-04 - val_mae: 0.0233 - val_mse: 9.5093e-04 - 158ms/epoch - 12ms/step\n", - "Epoch 46/250\n", - "13/13 - 0s - loss: 0.0010 - mae: 0.0230 - mse: 0.0010 - val_loss: 9.4785e-04 - val_mae: 0.0223 - val_mse: 9.4785e-04 - 218ms/epoch - 17ms/step\n", - "Epoch 47/250\n", - "13/13 - 0s - loss: 0.0010 - mae: 0.0231 - mse: 0.0010 - val_loss: 9.7827e-04 - val_mae: 0.0230 - val_mse: 9.7827e-04 - 116ms/epoch - 9ms/step\n", - "Epoch 48/250\n", - "13/13 - 0s - loss: 0.0010 - mae: 0.0232 - mse: 0.0010 - val_loss: 9.0671e-04 - val_mae: 0.0225 - val_mse: 9.0671e-04 - 288ms/epoch - 22ms/step\n", - "Epoch 49/250\n", - "13/13 - 0s - loss: 0.0010 - mae: 0.0230 - mse: 0.0010 - val_loss: 9.2521e-04 - val_mae: 0.0218 - val_mse: 9.2521e-04 - 140ms/epoch - 11ms/step\n", - "Epoch 50/250\n", - "13/13 - 0s - loss: 0.0010 - mae: 0.0231 - mse: 0.0010 - val_loss: 9.7818e-04 - val_mae: 0.0231 - val_mse: 9.7818e-04 - 149ms/epoch - 11ms/step\n", - "Epoch 51/250\n", - "13/13 - 0s - loss: 9.9977e-04 - mae: 0.0232 - mse: 9.9977e-04 - val_loss: 9.4350e-04 - val_mae: 0.0221 - val_mse: 9.4350e-04 - 146ms/epoch - 11ms/step\n", - "Epoch 52/250\n", - "13/13 - 0s - loss: 9.8599e-04 - mae: 0.0229 - mse: 9.8599e-04 - val_loss: 9.0638e-04 - val_mae: 0.0230 - val_mse: 9.0638e-04 - 265ms/epoch - 20ms/step\n", - "Epoch 53/250\n", - "13/13 - 0s - loss: 9.8295e-04 - mae: 0.0228 - mse: 9.8295e-04 - val_loss: 9.0667e-04 - val_mae: 0.0215 - val_mse: 9.0667e-04 - 179ms/epoch - 14ms/step\n", - "Epoch 54/250\n", - "13/13 - 0s - loss: 9.7266e-04 - mae: 0.0225 - mse: 9.7266e-04 - val_loss: 9.0391e-04 - val_mae: 0.0224 - val_mse: 9.0391e-04 - 287ms/epoch - 22ms/step\n", - "Epoch 55/250\n", - "13/13 - 0s - loss: 9.5234e-04 - mae: 0.0225 - mse: 9.5234e-04 - val_loss: 8.7426e-04 - val_mae: 0.0219 - val_mse: 8.7426e-04 - 284ms/epoch - 22ms/step\n", - "Epoch 56/250\n", - "13/13 - 0s - loss: 9.4315e-04 - mae: 0.0221 - mse: 9.4315e-04 - val_loss: 8.6742e-04 - val_mae: 0.0224 - val_mse: 8.6742e-04 - 297ms/epoch - 23ms/step\n", - "Epoch 57/250\n", - "13/13 - 0s - loss: 9.9226e-04 - mae: 0.0230 - mse: 9.9226e-04 - val_loss: 8.7793e-04 - val_mae: 0.0225 - val_mse: 8.7793e-04 - 206ms/epoch - 16ms/step\n", - "Epoch 58/250\n", - "13/13 - 0s - loss: 9.4137e-04 - mae: 0.0226 - mse: 9.4137e-04 - val_loss: 8.7477e-04 - val_mae: 0.0225 - val_mse: 8.7477e-04 - 160ms/epoch - 12ms/step\n", - "Epoch 59/250\n", - "13/13 - 0s - loss: 9.2474e-04 - mae: 0.0219 - mse: 9.2474e-04 - val_loss: 8.5320e-04 - val_mae: 0.0212 - val_mse: 8.5320e-04 - 274ms/epoch - 21ms/step\n", - "Epoch 60/250\n", - "13/13 - 0s - loss: 9.1133e-04 - mae: 0.0217 - mse: 9.1133e-04 - val_loss: 8.6082e-04 - val_mae: 0.0217 - val_mse: 8.6082e-04 - 160ms/epoch - 12ms/step\n", - "Epoch 61/250\n", - "13/13 - 0s - loss: 9.1801e-04 - mae: 0.0217 - mse: 9.1801e-04 - val_loss: 8.5403e-04 - val_mae: 0.0223 - val_mse: 8.5403e-04 - 143ms/epoch - 11ms/step\n", - "Epoch 62/250\n", - "13/13 - 0s - loss: 9.1987e-04 - mae: 0.0221 - mse: 9.1987e-04 - val_loss: 8.5714e-04 - val_mae: 0.0219 - val_mse: 8.5714e-04 - 128ms/epoch - 10ms/step\n", - "Epoch 63/250\n", - "13/13 - 0s - loss: 9.0862e-04 - mae: 0.0222 - mse: 9.0862e-04 - val_loss: 8.6160e-04 - val_mae: 0.0225 - val_mse: 8.6160e-04 - 154ms/epoch - 12ms/step\n", - "Epoch 64/250\n", - "13/13 - 0s - loss: 8.9349e-04 - mae: 0.0220 - mse: 8.9349e-04 - val_loss: 8.2851e-04 - val_mae: 0.0214 - val_mse: 8.2851e-04 - 284ms/epoch - 22ms/step\n", - "Epoch 65/250\n", - "13/13 - 0s - loss: 8.7848e-04 - mae: 0.0216 - mse: 8.7848e-04 - val_loss: 8.5189e-04 - val_mae: 0.0218 - val_mse: 8.5189e-04 - 168ms/epoch - 13ms/step\n", - "Epoch 66/250\n", - "13/13 - 0s - loss: 8.9773e-04 - mae: 0.0219 - mse: 8.9773e-04 - val_loss: 8.5650e-04 - val_mae: 0.0211 - val_mse: 8.5650e-04 - 113ms/epoch - 9ms/step\n", - "Epoch 67/250\n", - "13/13 - 0s - loss: 8.7443e-04 - mae: 0.0217 - mse: 8.7443e-04 - val_loss: 8.2545e-04 - val_mae: 0.0214 - val_mse: 8.2545e-04 - 264ms/epoch - 20ms/step\n", - "Epoch 68/250\n", - "13/13 - 0s - loss: 8.9141e-04 - mae: 0.0217 - mse: 8.9141e-04 - val_loss: 8.4471e-04 - val_mae: 0.0219 - val_mse: 8.4471e-04 - 189ms/epoch - 15ms/step\n", - "Epoch 69/250\n", - "13/13 - 0s - loss: 8.9507e-04 - mae: 0.0224 - mse: 8.9507e-04 - val_loss: 8.7916e-04 - val_mae: 0.0217 - val_mse: 8.7916e-04 - 175ms/epoch - 13ms/step\n", - "Epoch 70/250\n", - "13/13 - 0s - loss: 8.5737e-04 - mae: 0.0216 - mse: 8.5737e-04 - val_loss: 8.8807e-04 - val_mae: 0.0215 - val_mse: 8.8807e-04 - 322ms/epoch - 25ms/step\n", - "Epoch 71/250\n", - "13/13 - 0s - loss: 8.5560e-04 - mae: 0.0214 - mse: 8.5560e-04 - val_loss: 8.3750e-04 - val_mae: 0.0213 - val_mse: 8.3750e-04 - 207ms/epoch - 16ms/step\n", - "Epoch 72/250\n", - "13/13 - 0s - loss: 8.5576e-04 - mae: 0.0218 - mse: 8.5576e-04 - val_loss: 8.1156e-04 - val_mae: 0.0210 - val_mse: 8.1156e-04 - 257ms/epoch - 20ms/step\n", - "Epoch 73/250\n", - "13/13 - 0s - loss: 8.4688e-04 - mae: 0.0216 - mse: 8.4688e-04 - val_loss: 8.0221e-04 - val_mae: 0.0210 - val_mse: 8.0221e-04 - 233ms/epoch - 18ms/step\n", - "Epoch 74/250\n", - "13/13 - 0s - loss: 8.3636e-04 - mae: 0.0211 - mse: 8.3636e-04 - val_loss: 7.9384e-04 - val_mae: 0.0208 - val_mse: 7.9384e-04 - 250ms/epoch - 19ms/step\n", - "Epoch 75/250\n", - "13/13 - 0s - loss: 8.4758e-04 - mae: 0.0222 - mse: 8.4758e-04 - val_loss: 8.2932e-04 - val_mae: 0.0212 - val_mse: 8.2932e-04 - 119ms/epoch - 9ms/step\n", - "Epoch 76/250\n", - "13/13 - 0s - loss: 8.4142e-04 - mae: 0.0213 - mse: 8.4142e-04 - val_loss: 8.0552e-04 - val_mae: 0.0209 - val_mse: 8.0552e-04 - 150ms/epoch - 12ms/step\n", - "Epoch 77/250\n", - "13/13 - 0s - loss: 8.5035e-04 - mae: 0.0215 - mse: 8.5035e-04 - val_loss: 8.6014e-04 - val_mae: 0.0215 - val_mse: 8.6014e-04 - 126ms/epoch - 10ms/step\n", - "Epoch 78/250\n", - "13/13 - 0s - loss: 8.9015e-04 - mae: 0.0228 - mse: 8.9015e-04 - val_loss: 9.2548e-04 - val_mae: 0.0225 - val_mse: 9.2548e-04 - 242ms/epoch - 19ms/step\n", - "Epoch 79/250\n", - "13/13 - 0s - loss: 8.1577e-04 - mae: 0.0212 - mse: 8.1577e-04 - val_loss: 8.4703e-04 - val_mae: 0.0211 - val_mse: 8.4703e-04 - 165ms/epoch - 13ms/step\n", - "Epoch 80/250\n", - "13/13 - 0s - loss: 8.0555e-04 - mae: 0.0211 - mse: 8.0555e-04 - val_loss: 8.5652e-04 - val_mae: 0.0214 - val_mse: 8.5652e-04 - 131ms/epoch - 10ms/step\n", - "Epoch 81/250\n", - "13/13 - 0s - loss: 8.3478e-04 - mae: 0.0219 - mse: 8.3478e-04 - val_loss: 9.1057e-04 - val_mae: 0.0222 - val_mse: 9.1057e-04 - 166ms/epoch - 13ms/step\n", - "Epoch 82/250\n", - "13/13 - 0s - loss: 8.2593e-04 - mae: 0.0217 - mse: 8.2593e-04 - val_loss: 8.1172e-04 - val_mae: 0.0209 - val_mse: 8.1172e-04 - 143ms/epoch - 11ms/step\n", - "Epoch 83/250\n", - "13/13 - 0s - loss: 8.2887e-04 - mae: 0.0213 - mse: 8.2887e-04 - val_loss: 8.2033e-04 - val_mae: 0.0211 - val_mse: 8.2033e-04 - 115ms/epoch - 9ms/step\n", - "Epoch 84/250\n", - "13/13 - 0s - loss: 8.1454e-04 - mae: 0.0219 - mse: 8.1454e-04 - val_loss: 8.1589e-04 - val_mae: 0.0211 - val_mse: 8.1589e-04 - 148ms/epoch - 11ms/step\n", - "Epoch 85/250\n", - "13/13 - 0s - loss: 8.0777e-04 - mae: 0.0212 - mse: 8.0777e-04 - val_loss: 7.8637e-04 - val_mae: 0.0208 - val_mse: 7.8637e-04 - 282ms/epoch - 22ms/step\n", - "Epoch 86/250\n", - "13/13 - 0s - loss: 7.8107e-04 - mae: 0.0213 - mse: 7.8107e-04 - val_loss: 7.8138e-04 - val_mae: 0.0212 - val_mse: 7.8138e-04 - 246ms/epoch - 19ms/step\n", - "Epoch 87/250\n", - "13/13 - 0s - loss: 7.9729e-04 - mae: 0.0210 - mse: 7.9729e-04 - val_loss: 7.3667e-04 - val_mae: 0.0204 - val_mse: 7.3667e-04 - 237ms/epoch - 18ms/step\n", - "Epoch 88/250\n", - "13/13 - 0s - loss: 7.5931e-04 - mae: 0.0205 - mse: 7.5931e-04 - val_loss: 7.5522e-04 - val_mae: 0.0210 - val_mse: 7.5522e-04 - 208ms/epoch - 16ms/step\n", - "Epoch 89/250\n", - "13/13 - 0s - loss: 7.6036e-04 - mae: 0.0211 - mse: 7.6036e-04 - val_loss: 7.5503e-04 - val_mae: 0.0207 - val_mse: 7.5503e-04 - 193ms/epoch - 15ms/step\n", - "Epoch 90/250\n", - "13/13 - 0s - loss: 7.6322e-04 - mae: 0.0204 - mse: 7.6322e-04 - val_loss: 7.7629e-04 - val_mae: 0.0203 - val_mse: 7.7629e-04 - 168ms/epoch - 13ms/step\n", - "Epoch 91/250\n", - "13/13 - 0s - loss: 7.5436e-04 - mae: 0.0208 - mse: 7.5436e-04 - val_loss: 7.4549e-04 - val_mae: 0.0210 - val_mse: 7.4549e-04 - 156ms/epoch - 12ms/step\n", - "Epoch 92/250\n", - "13/13 - 0s - loss: 7.8479e-04 - mae: 0.0208 - mse: 7.8479e-04 - val_loss: 8.0607e-04 - val_mae: 0.0208 - val_mse: 8.0607e-04 - 137ms/epoch - 11ms/step\n", - "Epoch 93/250\n", - "13/13 - 0s - loss: 7.7194e-04 - mae: 0.0211 - mse: 7.7194e-04 - val_loss: 7.7994e-04 - val_mae: 0.0206 - val_mse: 7.7994e-04 - 174ms/epoch - 13ms/step\n", - "Epoch 94/250\n", - "13/13 - 0s - loss: 7.4802e-04 - mae: 0.0205 - mse: 7.4802e-04 - val_loss: 7.2386e-04 - val_mae: 0.0201 - val_mse: 7.2386e-04 - 303ms/epoch - 23ms/step\n", - "Epoch 95/250\n", - "13/13 - 0s - loss: 7.2616e-04 - mae: 0.0203 - mse: 7.2616e-04 - val_loss: 7.2728e-04 - val_mae: 0.0204 - val_mse: 7.2728e-04 - 129ms/epoch - 10ms/step\n", - "Epoch 96/250\n", - "13/13 - 0s - loss: 7.2310e-04 - mae: 0.0204 - mse: 7.2310e-04 - val_loss: 7.1349e-04 - val_mae: 0.0206 - val_mse: 7.1349e-04 - 218ms/epoch - 17ms/step\n", - "Epoch 97/250\n", - "13/13 - 0s - loss: 7.0905e-04 - mae: 0.0201 - mse: 7.0905e-04 - val_loss: 7.6242e-04 - val_mae: 0.0205 - val_mse: 7.6242e-04 - 128ms/epoch - 10ms/step\n", - "Epoch 98/250\n", - "13/13 - 0s - loss: 7.1839e-04 - mae: 0.0200 - mse: 7.1839e-04 - val_loss: 7.7098e-04 - val_mae: 0.0202 - val_mse: 7.7098e-04 - 147ms/epoch - 11ms/step\n", - "Epoch 99/250\n", - "13/13 - 0s - loss: 7.3924e-04 - mae: 0.0208 - mse: 7.3924e-04 - val_loss: 7.8554e-04 - val_mae: 0.0206 - val_mse: 7.8554e-04 - 130ms/epoch - 10ms/step\n", - "Epoch 100/250\n", - "13/13 - 0s - loss: 7.5556e-04 - mae: 0.0209 - mse: 7.5556e-04 - val_loss: 8.6021e-04 - val_mae: 0.0215 - val_mse: 8.6021e-04 - 174ms/epoch - 13ms/step\n", - "Epoch 101/250\n", - "13/13 - 0s - loss: 7.9288e-04 - mae: 0.0213 - mse: 7.9288e-04 - val_loss: 7.2968e-04 - val_mae: 0.0203 - val_mse: 7.2968e-04 - 125ms/epoch - 10ms/step\n", - "Epoch 102/250\n", - "13/13 - 0s - loss: 7.1861e-04 - mae: 0.0204 - mse: 7.1861e-04 - val_loss: 7.0941e-04 - val_mae: 0.0207 - val_mse: 7.0941e-04 - 260ms/epoch - 20ms/step\n", - "Epoch 103/250\n", - "13/13 - 0s - loss: 7.5092e-04 - mae: 0.0208 - mse: 7.5092e-04 - val_loss: 6.8788e-04 - val_mae: 0.0198 - val_mse: 6.8788e-04 - 275ms/epoch - 21ms/step\n", - "Epoch 104/250\n", - "13/13 - 0s - loss: 7.0460e-04 - mae: 0.0200 - mse: 7.0460e-04 - val_loss: 7.2570e-04 - val_mae: 0.0200 - val_mse: 7.2570e-04 - 125ms/epoch - 10ms/step\n", - "Epoch 105/250\n", - "13/13 - 0s - loss: 6.9255e-04 - mae: 0.0202 - mse: 6.9255e-04 - val_loss: 6.7411e-04 - val_mae: 0.0199 - val_mse: 6.7411e-04 - 275ms/epoch - 21ms/step\n", - "Epoch 106/250\n", - "13/13 - 0s - loss: 6.8175e-04 - mae: 0.0196 - mse: 6.8175e-04 - val_loss: 6.7593e-04 - val_mae: 0.0196 - val_mse: 6.7593e-04 - 157ms/epoch - 12ms/step\n", - "Epoch 107/250\n", - "13/13 - 0s - loss: 6.7018e-04 - mae: 0.0196 - mse: 6.7018e-04 - val_loss: 6.8702e-04 - val_mae: 0.0196 - val_mse: 6.8702e-04 - 183ms/epoch - 14ms/step\n", - "Epoch 108/250\n", - "13/13 - 0s - loss: 6.7955e-04 - mae: 0.0198 - mse: 6.7955e-04 - val_loss: 7.6778e-04 - val_mae: 0.0204 - val_mse: 7.6778e-04 - 192ms/epoch - 15ms/step\n", - "Epoch 109/250\n", - "13/13 - 1s - loss: 6.8953e-04 - mae: 0.0198 - mse: 6.8953e-04 - val_loss: 6.7251e-04 - val_mae: 0.0195 - val_mse: 6.7251e-04 - 516ms/epoch - 40ms/step\n", - "Epoch 110/250\n", - "13/13 - 0s - loss: 6.6819e-04 - mae: 0.0197 - mse: 6.6819e-04 - val_loss: 6.8310e-04 - val_mae: 0.0197 - val_mse: 6.8310e-04 - 146ms/epoch - 11ms/step\n", - "Epoch 111/250\n", - "13/13 - 0s - loss: 6.7136e-04 - mae: 0.0197 - mse: 6.7136e-04 - val_loss: 6.5858e-04 - val_mae: 0.0199 - val_mse: 6.5858e-04 - 208ms/epoch - 16ms/step\n", - "Epoch 112/250\n", - "13/13 - 0s - loss: 6.5784e-04 - mae: 0.0195 - mse: 6.5784e-04 - val_loss: 6.5838e-04 - val_mae: 0.0196 - val_mse: 6.5838e-04 - 215ms/epoch - 17ms/step\n", - "Epoch 113/250\n", - "13/13 - 0s - loss: 6.6861e-04 - mae: 0.0198 - mse: 6.6861e-04 - val_loss: 6.9871e-04 - val_mae: 0.0196 - val_mse: 6.9871e-04 - 149ms/epoch - 11ms/step\n", - "Epoch 114/250\n", - "13/13 - 0s - loss: 6.6345e-04 - mae: 0.0196 - mse: 6.6345e-04 - val_loss: 6.8190e-04 - val_mae: 0.0196 - val_mse: 6.8190e-04 - 141ms/epoch - 11ms/step\n", - "Epoch 115/250\n", - "13/13 - 0s - loss: 6.4121e-04 - mae: 0.0193 - mse: 6.4121e-04 - val_loss: 6.6493e-04 - val_mae: 0.0196 - val_mse: 6.6493e-04 - 166ms/epoch - 13ms/step\n", - "Epoch 116/250\n", - "13/13 - 0s - loss: 6.5036e-04 - mae: 0.0194 - mse: 6.5036e-04 - val_loss: 6.5858e-04 - val_mae: 0.0191 - val_mse: 6.5858e-04 - 107ms/epoch - 8ms/step\n", - "Epoch 117/250\n", - "13/13 - 0s - loss: 6.4983e-04 - mae: 0.0194 - mse: 6.4983e-04 - val_loss: 7.0443e-04 - val_mae: 0.0198 - val_mse: 7.0443e-04 - 109ms/epoch - 8ms/step\n", - "Epoch 118/250\n", - "13/13 - 0s - loss: 6.4994e-04 - mae: 0.0195 - mse: 6.4994e-04 - val_loss: 6.3181e-04 - val_mae: 0.0193 - val_mse: 6.3181e-04 - 296ms/epoch - 23ms/step\n", - "Epoch 119/250\n", - "13/13 - 0s - loss: 6.6252e-04 - mae: 0.0199 - mse: 6.6252e-04 - val_loss: 6.3527e-04 - val_mae: 0.0191 - val_mse: 6.3527e-04 - 165ms/epoch - 13ms/step\n", - "Epoch 120/250\n", - "13/13 - 0s - loss: 6.4578e-04 - mae: 0.0193 - mse: 6.4578e-04 - val_loss: 6.3127e-04 - val_mae: 0.0189 - val_mse: 6.3127e-04 - 190ms/epoch - 15ms/step\n", - "Epoch 121/250\n", - "13/13 - 0s - loss: 6.1375e-04 - mae: 0.0191 - mse: 6.1375e-04 - val_loss: 6.5351e-04 - val_mae: 0.0192 - val_mse: 6.5351e-04 - 125ms/epoch - 10ms/step\n", - "Epoch 122/250\n", - "13/13 - 0s - loss: 6.4650e-04 - mae: 0.0196 - mse: 6.4650e-04 - val_loss: 8.0733e-04 - val_mae: 0.0210 - val_mse: 8.0733e-04 - 142ms/epoch - 11ms/step\n", - "Epoch 123/250\n", - "13/13 - 0s - loss: 6.5887e-04 - mae: 0.0198 - mse: 6.5887e-04 - val_loss: 6.2666e-04 - val_mae: 0.0191 - val_mse: 6.2666e-04 - 278ms/epoch - 21ms/step\n", - "Epoch 124/250\n", - "13/13 - 0s - loss: 6.1387e-04 - mae: 0.0189 - mse: 6.1387e-04 - val_loss: 6.1020e-04 - val_mae: 0.0188 - val_mse: 6.1020e-04 - 246ms/epoch - 19ms/step\n", - "Epoch 125/250\n", - "13/13 - 0s - loss: 6.1348e-04 - mae: 0.0191 - mse: 6.1348e-04 - val_loss: 6.1093e-04 - val_mae: 0.0193 - val_mse: 6.1093e-04 - 135ms/epoch - 10ms/step\n", - "Epoch 126/250\n", - "13/13 - 0s - loss: 6.1374e-04 - mae: 0.0189 - mse: 6.1374e-04 - val_loss: 6.1062e-04 - val_mae: 0.0188 - val_mse: 6.1062e-04 - 174ms/epoch - 13ms/step\n", - "Epoch 127/250\n", - "13/13 - 0s - loss: 6.1279e-04 - mae: 0.0190 - mse: 6.1279e-04 - val_loss: 6.4391e-04 - val_mae: 0.0190 - val_mse: 6.4391e-04 - 142ms/epoch - 11ms/step\n", - "Epoch 128/250\n", - "13/13 - 0s - loss: 6.0951e-04 - mae: 0.0189 - mse: 6.0951e-04 - val_loss: 5.9592e-04 - val_mae: 0.0188 - val_mse: 5.9592e-04 - 249ms/epoch - 19ms/step\n", - "Epoch 129/250\n", - "13/13 - 0s - loss: 6.2194e-04 - mae: 0.0192 - mse: 6.2194e-04 - val_loss: 5.9344e-04 - val_mae: 0.0188 - val_mse: 5.9344e-04 - 279ms/epoch - 21ms/step\n", - "Epoch 130/250\n", - "13/13 - 0s - loss: 6.1795e-04 - mae: 0.0191 - mse: 6.1795e-04 - val_loss: 5.8880e-04 - val_mae: 0.0188 - val_mse: 5.8880e-04 - 356ms/epoch - 27ms/step\n", - "Epoch 131/250\n", - "13/13 - 0s - loss: 6.6297e-04 - mae: 0.0199 - mse: 6.6297e-04 - val_loss: 7.2306e-04 - val_mae: 0.0197 - val_mse: 7.2306e-04 - 151ms/epoch - 12ms/step\n", - "Epoch 132/250\n", - "13/13 - 0s - loss: 5.8788e-04 - mae: 0.0189 - mse: 5.8788e-04 - val_loss: 6.0686e-04 - val_mae: 0.0189 - val_mse: 6.0686e-04 - 102ms/epoch - 8ms/step\n", - "Epoch 133/250\n", - "13/13 - 0s - loss: 5.7425e-04 - mae: 0.0184 - mse: 5.7425e-04 - val_loss: 5.7895e-04 - val_mae: 0.0183 - val_mse: 5.7895e-04 - 239ms/epoch - 18ms/step\n", - "Epoch 134/250\n", - "13/13 - 0s - loss: 5.8783e-04 - mae: 0.0186 - mse: 5.8783e-04 - val_loss: 5.7846e-04 - val_mae: 0.0188 - val_mse: 5.7846e-04 - 285ms/epoch - 22ms/step\n", - "Epoch 135/250\n", - "13/13 - 0s - loss: 5.8541e-04 - mae: 0.0188 - mse: 5.8541e-04 - val_loss: 6.7887e-04 - val_mae: 0.0191 - val_mse: 6.7887e-04 - 178ms/epoch - 14ms/step\n", - "Epoch 136/250\n", - "13/13 - 0s - loss: 5.9158e-04 - mae: 0.0185 - mse: 5.9158e-04 - val_loss: 5.9231e-04 - val_mae: 0.0188 - val_mse: 5.9231e-04 - 113ms/epoch - 9ms/step\n", - "Epoch 137/250\n", - "13/13 - 0s - loss: 5.9616e-04 - mae: 0.0192 - mse: 5.9616e-04 - val_loss: 7.0218e-04 - val_mae: 0.0212 - val_mse: 7.0218e-04 - 138ms/epoch - 11ms/step\n", - "Epoch 138/250\n", - "13/13 - 0s - loss: 6.2132e-04 - mae: 0.0190 - mse: 6.2132e-04 - val_loss: 6.3436e-04 - val_mae: 0.0186 - val_mse: 6.3436e-04 - 144ms/epoch - 11ms/step\n", - "Epoch 139/250\n", - "13/13 - 0s - loss: 5.8416e-04 - mae: 0.0189 - mse: 5.8416e-04 - val_loss: 5.7793e-04 - val_mae: 0.0184 - val_mse: 5.7793e-04 - 279ms/epoch - 21ms/step\n", - "Epoch 140/250\n", - "13/13 - 0s - loss: 6.5695e-04 - mae: 0.0195 - mse: 6.5695e-04 - val_loss: 5.8062e-04 - val_mae: 0.0189 - val_mse: 5.8062e-04 - 174ms/epoch - 13ms/step\n", - "Epoch 141/250\n", - "13/13 - 0s - loss: 6.4168e-04 - mae: 0.0200 - mse: 6.4168e-04 - val_loss: 6.9879e-04 - val_mae: 0.0196 - val_mse: 6.9879e-04 - 118ms/epoch - 9ms/step\n", - "Epoch 142/250\n", - "13/13 - 0s - loss: 6.5517e-04 - mae: 0.0198 - mse: 6.5517e-04 - val_loss: 6.3928e-04 - val_mae: 0.0193 - val_mse: 6.3928e-04 - 120ms/epoch - 9ms/step\n", - "Epoch 143/250\n", - "13/13 - 0s - loss: 5.8456e-04 - mae: 0.0190 - mse: 5.8456e-04 - val_loss: 5.4596e-04 - val_mae: 0.0181 - val_mse: 5.4596e-04 - 304ms/epoch - 23ms/step\n", - "Epoch 144/250\n", - "13/13 - 0s - loss: 5.9458e-04 - mae: 0.0186 - mse: 5.9458e-04 - val_loss: 5.8598e-04 - val_mae: 0.0181 - val_mse: 5.8598e-04 - 178ms/epoch - 14ms/step\n", - "Epoch 145/250\n", - "13/13 - 0s - loss: 5.6787e-04 - mae: 0.0186 - mse: 5.6787e-04 - val_loss: 5.6263e-04 - val_mae: 0.0186 - val_mse: 5.6263e-04 - 131ms/epoch - 10ms/step\n", - "Epoch 146/250\n", - "13/13 - 0s - loss: 5.3545e-04 - mae: 0.0178 - mse: 5.3545e-04 - val_loss: 5.3802e-04 - val_mae: 0.0179 - val_mse: 5.3802e-04 - 396ms/epoch - 30ms/step\n", - "Epoch 147/250\n", - "13/13 - 0s - loss: 5.2310e-04 - mae: 0.0177 - mse: 5.2310e-04 - val_loss: 5.4103e-04 - val_mae: 0.0179 - val_mse: 5.4103e-04 - 151ms/epoch - 12ms/step\n", - "Epoch 148/250\n", - "13/13 - 0s - loss: 5.2826e-04 - mae: 0.0176 - mse: 5.2826e-04 - val_loss: 5.9310e-04 - val_mae: 0.0181 - val_mse: 5.9310e-04 - 155ms/epoch - 12ms/step\n", - "Epoch 149/250\n", - "13/13 - 0s - loss: 5.3295e-04 - mae: 0.0179 - mse: 5.3295e-04 - val_loss: 5.4002e-04 - val_mae: 0.0176 - val_mse: 5.4002e-04 - 120ms/epoch - 9ms/step\n", - "Epoch 150/250\n", - "13/13 - 0s - loss: 5.1491e-04 - mae: 0.0174 - mse: 5.1491e-04 - val_loss: 5.9602e-04 - val_mae: 0.0179 - val_mse: 5.9602e-04 - 137ms/epoch - 11ms/step\n", - "Epoch 151/250\n", - "13/13 - 0s - loss: 5.2334e-04 - mae: 0.0179 - mse: 5.2334e-04 - val_loss: 5.2811e-04 - val_mae: 0.0178 - val_mse: 5.2811e-04 - 315ms/epoch - 24ms/step\n", - "Epoch 152/250\n", - "13/13 - 0s - loss: 5.2768e-04 - mae: 0.0178 - mse: 5.2768e-04 - val_loss: 5.5139e-04 - val_mae: 0.0184 - val_mse: 5.5139e-04 - 198ms/epoch - 15ms/step\n", - "Epoch 153/250\n", - "13/13 - 0s - loss: 5.2962e-04 - mae: 0.0179 - mse: 5.2962e-04 - val_loss: 5.7462e-04 - val_mae: 0.0178 - val_mse: 5.7462e-04 - 129ms/epoch - 10ms/step\n", - "Epoch 154/250\n", - "13/13 - 0s - loss: 5.0260e-04 - mae: 0.0173 - mse: 5.0260e-04 - val_loss: 5.3387e-04 - val_mae: 0.0181 - val_mse: 5.3387e-04 - 131ms/epoch - 10ms/step\n", - "Epoch 155/250\n", - "13/13 - 0s - loss: 5.0501e-04 - mae: 0.0175 - mse: 5.0501e-04 - val_loss: 5.0751e-04 - val_mae: 0.0172 - val_mse: 5.0751e-04 - 267ms/epoch - 21ms/step\n", - "Epoch 156/250\n", - "13/13 - 0s - loss: 5.0518e-04 - mae: 0.0173 - mse: 5.0518e-04 - val_loss: 5.5553e-04 - val_mae: 0.0174 - val_mse: 5.5553e-04 - 182ms/epoch - 14ms/step\n", - "Epoch 157/250\n", - "13/13 - 0s - loss: 5.0064e-04 - mae: 0.0172 - mse: 5.0064e-04 - val_loss: 5.1205e-04 - val_mae: 0.0172 - val_mse: 5.1205e-04 - 160ms/epoch - 12ms/step\n", - "Epoch 158/250\n", - "13/13 - 0s - loss: 4.9541e-04 - mae: 0.0172 - mse: 4.9541e-04 - val_loss: 5.0799e-04 - val_mae: 0.0172 - val_mse: 5.0799e-04 - 131ms/epoch - 10ms/step\n", - "Epoch 159/250\n", - "13/13 - 0s - loss: 5.4153e-04 - mae: 0.0182 - mse: 5.4153e-04 - val_loss: 5.2077e-04 - val_mae: 0.0171 - val_mse: 5.2077e-04 - 172ms/epoch - 13ms/step\n", - "Epoch 160/250\n", - "13/13 - 0s - loss: 4.8280e-04 - mae: 0.0170 - mse: 4.8280e-04 - val_loss: 5.1410e-04 - val_mae: 0.0168 - val_mse: 5.1410e-04 - 164ms/epoch - 13ms/step\n", - "Epoch 161/250\n", - "13/13 - 0s - loss: 4.8993e-04 - mae: 0.0171 - mse: 4.8993e-04 - val_loss: 5.1744e-04 - val_mae: 0.0171 - val_mse: 5.1744e-04 - 169ms/epoch - 13ms/step\n", - "Epoch 162/250\n", - "13/13 - 0s - loss: 4.8044e-04 - mae: 0.0169 - mse: 4.8044e-04 - val_loss: 5.1099e-04 - val_mae: 0.0168 - val_mse: 5.1099e-04 - 188ms/epoch - 14ms/step\n", - "Epoch 163/250\n", - "13/13 - 0s - loss: 4.9657e-04 - mae: 0.0171 - mse: 4.9657e-04 - val_loss: 4.9877e-04 - val_mae: 0.0171 - val_mse: 4.9877e-04 - 258ms/epoch - 20ms/step\n", - "Epoch 164/250\n", - "13/13 - 0s - loss: 4.8858e-04 - mae: 0.0170 - mse: 4.8858e-04 - val_loss: 5.0099e-04 - val_mae: 0.0169 - val_mse: 5.0099e-04 - 150ms/epoch - 12ms/step\n", - "Epoch 165/250\n", - "13/13 - 0s - loss: 4.7747e-04 - mae: 0.0170 - mse: 4.7747e-04 - val_loss: 5.8449e-04 - val_mae: 0.0174 - val_mse: 5.8449e-04 - 158ms/epoch - 12ms/step\n", - "Epoch 166/250\n", - "13/13 - 0s - loss: 4.9897e-04 - mae: 0.0171 - mse: 4.9897e-04 - val_loss: 4.9512e-04 - val_mae: 0.0173 - val_mse: 4.9512e-04 - 265ms/epoch - 20ms/step\n", - "Epoch 167/250\n", - "13/13 - 0s - loss: 4.8695e-04 - mae: 0.0173 - mse: 4.8695e-04 - val_loss: 5.0306e-04 - val_mae: 0.0165 - val_mse: 5.0306e-04 - 151ms/epoch - 12ms/step\n", - "Epoch 168/250\n", - "13/13 - 0s - loss: 4.7948e-04 - mae: 0.0171 - mse: 4.7948e-04 - val_loss: 6.8895e-04 - val_mae: 0.0193 - val_mse: 6.8895e-04 - 128ms/epoch - 10ms/step\n", - "Epoch 169/250\n", - "13/13 - 0s - loss: 4.8055e-04 - mae: 0.0168 - mse: 4.8055e-04 - val_loss: 4.9053e-04 - val_mae: 0.0171 - val_mse: 4.9053e-04 - 234ms/epoch - 18ms/step\n", - "Epoch 170/250\n", - "13/13 - 0s - loss: 4.5980e-04 - mae: 0.0168 - mse: 4.5980e-04 - val_loss: 5.2267e-04 - val_mae: 0.0170 - val_mse: 5.2267e-04 - 167ms/epoch - 13ms/step\n", - "Epoch 171/250\n", - "13/13 - 0s - loss: 4.6495e-04 - mae: 0.0168 - mse: 4.6495e-04 - val_loss: 4.6718e-04 - val_mae: 0.0165 - val_mse: 4.6718e-04 - 243ms/epoch - 19ms/step\n", - "Epoch 172/250\n", - "13/13 - 0s - loss: 4.6046e-04 - mae: 0.0168 - mse: 4.6046e-04 - val_loss: 4.6731e-04 - val_mae: 0.0166 - val_mse: 4.6731e-04 - 148ms/epoch - 11ms/step\n", - "Epoch 173/250\n", - "13/13 - 0s - loss: 4.6993e-04 - mae: 0.0168 - mse: 4.6993e-04 - val_loss: 4.8190e-04 - val_mae: 0.0167 - val_mse: 4.8190e-04 - 143ms/epoch - 11ms/step\n", - "Epoch 174/250\n", - "13/13 - 0s - loss: 4.8411e-04 - mae: 0.0172 - mse: 4.8411e-04 - val_loss: 5.0800e-04 - val_mae: 0.0164 - val_mse: 5.0800e-04 - 131ms/epoch - 10ms/step\n", - "Epoch 175/250\n", - "13/13 - 0s - loss: 4.5295e-04 - mae: 0.0164 - mse: 4.5295e-04 - val_loss: 6.2583e-04 - val_mae: 0.0182 - val_mse: 6.2583e-04 - 136ms/epoch - 10ms/step\n", - "Epoch 176/250\n", - "13/13 - 0s - loss: 5.3742e-04 - mae: 0.0183 - mse: 5.3742e-04 - val_loss: 5.6727e-04 - val_mae: 0.0187 - val_mse: 5.6727e-04 - 141ms/epoch - 11ms/step\n", - "Epoch 177/250\n", - "13/13 - 0s - loss: 5.3634e-04 - mae: 0.0182 - mse: 5.3634e-04 - val_loss: 4.6197e-04 - val_mae: 0.0157 - val_mse: 4.6197e-04 - 316ms/epoch - 24ms/step\n", - "Epoch 178/250\n", - "13/13 - 0s - loss: 4.8847e-04 - mae: 0.0169 - mse: 4.8847e-04 - val_loss: 4.6646e-04 - val_mae: 0.0160 - val_mse: 4.6646e-04 - 214ms/epoch - 16ms/step\n", - "Epoch 179/250\n", - "13/13 - 0s - loss: 4.3622e-04 - mae: 0.0160 - mse: 4.3622e-04 - val_loss: 5.3203e-04 - val_mae: 0.0164 - val_mse: 5.3203e-04 - 181ms/epoch - 14ms/step\n", - "Epoch 180/250\n", - "13/13 - 0s - loss: 4.7108e-04 - mae: 0.0165 - mse: 4.7108e-04 - val_loss: 4.6548e-04 - val_mae: 0.0161 - val_mse: 4.6548e-04 - 144ms/epoch - 11ms/step\n", - "Epoch 181/250\n", - "13/13 - 0s - loss: 4.3932e-04 - mae: 0.0164 - mse: 4.3932e-04 - val_loss: 4.4195e-04 - val_mae: 0.0157 - val_mse: 4.4195e-04 - 302ms/epoch - 23ms/step\n", - "Epoch 182/250\n", - "13/13 - 0s - loss: 4.3340e-04 - mae: 0.0159 - mse: 4.3340e-04 - val_loss: 4.5463e-04 - val_mae: 0.0158 - val_mse: 4.5463e-04 - 216ms/epoch - 17ms/step\n", - "Epoch 183/250\n", - "13/13 - 0s - loss: 4.2639e-04 - mae: 0.0162 - mse: 4.2639e-04 - val_loss: 4.3874e-04 - val_mae: 0.0156 - val_mse: 4.3874e-04 - 296ms/epoch - 23ms/step\n", - "Epoch 184/250\n", - "13/13 - 0s - loss: 4.4119e-04 - mae: 0.0159 - mse: 4.4119e-04 - val_loss: 4.7791e-04 - val_mae: 0.0169 - val_mse: 4.7791e-04 - 195ms/epoch - 15ms/step\n", - "Epoch 185/250\n", - "13/13 - 0s - loss: 4.4805e-04 - mae: 0.0164 - mse: 4.4805e-04 - val_loss: 4.6275e-04 - val_mae: 0.0163 - val_mse: 4.6275e-04 - 119ms/epoch - 9ms/step\n", - "Epoch 186/250\n", - "13/13 - 0s - loss: 4.4495e-04 - mae: 0.0163 - mse: 4.4495e-04 - val_loss: 4.4746e-04 - val_mae: 0.0155 - val_mse: 4.4746e-04 - 115ms/epoch - 9ms/step\n", - "Epoch 187/250\n", - "13/13 - 0s - loss: 4.7030e-04 - mae: 0.0167 - mse: 4.7030e-04 - val_loss: 5.6234e-04 - val_mae: 0.0169 - val_mse: 5.6234e-04 - 147ms/epoch - 11ms/step\n", - "Epoch 188/250\n", - "13/13 - 0s - loss: 4.4920e-04 - mae: 0.0160 - mse: 4.4920e-04 - val_loss: 4.2347e-04 - val_mae: 0.0154 - val_mse: 4.2347e-04 - 451ms/epoch - 35ms/step\n", - "Epoch 189/250\n", - "13/13 - 0s - loss: 4.1850e-04 - mae: 0.0159 - mse: 4.1850e-04 - val_loss: 4.5828e-04 - val_mae: 0.0156 - val_mse: 4.5828e-04 - 110ms/epoch - 8ms/step\n", - "Epoch 190/250\n", - "13/13 - 0s - loss: 4.2816e-04 - mae: 0.0159 - mse: 4.2816e-04 - val_loss: 4.2983e-04 - val_mae: 0.0155 - val_mse: 4.2983e-04 - 121ms/epoch - 9ms/step\n", - "Epoch 191/250\n", - "13/13 - 0s - loss: 4.1442e-04 - mae: 0.0156 - mse: 4.1442e-04 - val_loss: 4.5135e-04 - val_mae: 0.0154 - val_mse: 4.5135e-04 - 173ms/epoch - 13ms/step\n", - "Epoch 192/250\n", - "13/13 - 0s - loss: 4.1126e-04 - mae: 0.0159 - mse: 4.1126e-04 - val_loss: 4.2590e-04 - val_mae: 0.0151 - val_mse: 4.2590e-04 - 149ms/epoch - 11ms/step\n", - "Epoch 193/250\n", - "13/13 - 0s - loss: 4.1197e-04 - mae: 0.0155 - mse: 4.1197e-04 - val_loss: 4.2111e-04 - val_mae: 0.0151 - val_mse: 4.2111e-04 - 243ms/epoch - 19ms/step\n", - "Epoch 194/250\n", - "13/13 - 0s - loss: 4.0958e-04 - mae: 0.0157 - mse: 4.0958e-04 - val_loss: 4.1117e-04 - val_mae: 0.0149 - val_mse: 4.1117e-04 - 272ms/epoch - 21ms/step\n", - "Epoch 195/250\n", - "13/13 - 0s - loss: 3.9243e-04 - mae: 0.0153 - mse: 3.9243e-04 - val_loss: 4.1405e-04 - val_mae: 0.0150 - val_mse: 4.1405e-04 - 136ms/epoch - 10ms/step\n", - "Epoch 196/250\n", - "13/13 - 0s - loss: 4.0300e-04 - mae: 0.0153 - mse: 4.0300e-04 - val_loss: 4.3989e-04 - val_mae: 0.0150 - val_mse: 4.3989e-04 - 151ms/epoch - 12ms/step\n", - "Epoch 197/250\n", - "13/13 - 0s - loss: 4.0142e-04 - mae: 0.0154 - mse: 4.0142e-04 - val_loss: 4.3665e-04 - val_mae: 0.0151 - val_mse: 4.3665e-04 - 160ms/epoch - 12ms/step\n", - "Epoch 198/250\n", - "13/13 - 0s - loss: 3.9936e-04 - mae: 0.0153 - mse: 3.9936e-04 - val_loss: 4.2897e-04 - val_mae: 0.0149 - val_mse: 4.2897e-04 - 114ms/epoch - 9ms/step\n", - "Epoch 199/250\n", - "13/13 - 0s - loss: 4.0143e-04 - mae: 0.0153 - mse: 4.0143e-04 - val_loss: 4.0877e-04 - val_mae: 0.0148 - val_mse: 4.0877e-04 - 209ms/epoch - 16ms/step\n", - "Epoch 200/250\n", - "13/13 - 0s - loss: 3.9668e-04 - mae: 0.0152 - mse: 3.9668e-04 - val_loss: 4.3571e-04 - val_mae: 0.0150 - val_mse: 4.3571e-04 - 198ms/epoch - 15ms/step\n", - "Epoch 201/250\n", - "13/13 - 0s - loss: 3.9516e-04 - mae: 0.0154 - mse: 3.9516e-04 - val_loss: 5.1984e-04 - val_mae: 0.0161 - val_mse: 5.1984e-04 - 147ms/epoch - 11ms/step\n", - "Epoch 202/250\n", - "13/13 - 0s - loss: 4.5166e-04 - mae: 0.0161 - mse: 4.5166e-04 - val_loss: 5.4696e-04 - val_mae: 0.0182 - val_mse: 5.4696e-04 - 128ms/epoch - 10ms/step\n", - "Epoch 203/250\n", - "13/13 - 0s - loss: 4.5904e-04 - mae: 0.0166 - mse: 4.5904e-04 - val_loss: 4.1240e-04 - val_mae: 0.0150 - val_mse: 4.1240e-04 - 137ms/epoch - 11ms/step\n", - "Epoch 204/250\n", - "13/13 - 0s - loss: 3.9851e-04 - mae: 0.0150 - mse: 3.9851e-04 - val_loss: 4.5210e-04 - val_mae: 0.0154 - val_mse: 4.5210e-04 - 141ms/epoch - 11ms/step\n", - "Epoch 205/250\n", - "13/13 - 0s - loss: 3.8760e-04 - mae: 0.0151 - mse: 3.8760e-04 - val_loss: 4.0982e-04 - val_mae: 0.0149 - val_mse: 4.0982e-04 - 121ms/epoch - 9ms/step\n", - "Epoch 206/250\n", - "13/13 - 0s - loss: 4.1937e-04 - mae: 0.0156 - mse: 4.1937e-04 - val_loss: 3.8857e-04 - val_mae: 0.0145 - val_mse: 3.8857e-04 - 294ms/epoch - 23ms/step\n", - "Epoch 207/250\n", - "13/13 - 0s - loss: 3.7173e-04 - mae: 0.0146 - mse: 3.7173e-04 - val_loss: 3.9353e-04 - val_mae: 0.0147 - val_mse: 3.9353e-04 - 146ms/epoch - 11ms/step\n", - "Epoch 208/250\n", - "13/13 - 0s - loss: 3.9673e-04 - mae: 0.0153 - mse: 3.9673e-04 - val_loss: 3.9003e-04 - val_mae: 0.0145 - val_mse: 3.9003e-04 - 115ms/epoch - 9ms/step\n", - "Epoch 209/250\n", - "13/13 - 0s - loss: 4.2359e-04 - mae: 0.0155 - mse: 4.2359e-04 - val_loss: 3.9027e-04 - val_mae: 0.0146 - val_mse: 3.9027e-04 - 150ms/epoch - 12ms/step\n", - "Epoch 210/250\n", - "13/13 - 0s - loss: 3.9302e-04 - mae: 0.0154 - mse: 3.9302e-04 - val_loss: 4.1320e-04 - val_mae: 0.0152 - val_mse: 4.1320e-04 - 167ms/epoch - 13ms/step\n", - "Epoch 211/250\n", - "13/13 - 0s - loss: 3.6641e-04 - mae: 0.0147 - mse: 3.6641e-04 - val_loss: 3.9564e-04 - val_mae: 0.0141 - val_mse: 3.9564e-04 - 167ms/epoch - 13ms/step\n", - "Epoch 212/250\n", - "13/13 - 0s - loss: 3.6259e-04 - mae: 0.0143 - mse: 3.6259e-04 - val_loss: 3.8787e-04 - val_mae: 0.0146 - val_mse: 3.8787e-04 - 309ms/epoch - 24ms/step\n", - "Epoch 213/250\n", - "13/13 - 0s - loss: 4.0665e-04 - mae: 0.0156 - mse: 4.0665e-04 - val_loss: 5.0910e-04 - val_mae: 0.0160 - val_mse: 5.0910e-04 - 158ms/epoch - 12ms/step\n", - "Epoch 214/250\n", - "13/13 - 0s - loss: 4.5758e-04 - mae: 0.0169 - mse: 4.5758e-04 - val_loss: 4.1241e-04 - val_mae: 0.0141 - val_mse: 4.1241e-04 - 125ms/epoch - 10ms/step\n", - "Epoch 215/250\n", - "13/13 - 0s - loss: 4.0666e-04 - mae: 0.0155 - mse: 4.0666e-04 - val_loss: 4.6639e-04 - val_mae: 0.0151 - val_mse: 4.6639e-04 - 177ms/epoch - 14ms/step\n", - "Epoch 216/250\n", - "13/13 - 0s - loss: 3.6615e-04 - mae: 0.0145 - mse: 3.6615e-04 - val_loss: 3.8294e-04 - val_mae: 0.0138 - val_mse: 3.8294e-04 - 253ms/epoch - 19ms/step\n", - "Epoch 217/250\n", - "13/13 - 0s - loss: 3.8135e-04 - mae: 0.0149 - mse: 3.8135e-04 - val_loss: 5.1259e-04 - val_mae: 0.0162 - val_mse: 5.1259e-04 - 136ms/epoch - 10ms/step\n", - "Epoch 218/250\n", - "13/13 - 0s - loss: 3.5877e-04 - mae: 0.0144 - mse: 3.5877e-04 - val_loss: 3.7918e-04 - val_mae: 0.0142 - val_mse: 3.7918e-04 - 254ms/epoch - 20ms/step\n", - "Epoch 219/250\n", - "13/13 - 0s - loss: 4.1097e-04 - mae: 0.0155 - mse: 4.1097e-04 - val_loss: 3.7973e-04 - val_mae: 0.0144 - val_mse: 3.7973e-04 - 167ms/epoch - 13ms/step\n", - "Epoch 220/250\n", - "13/13 - 0s - loss: 3.7840e-04 - mae: 0.0149 - mse: 3.7840e-04 - val_loss: 4.7988e-04 - val_mae: 0.0153 - val_mse: 4.7988e-04 - 157ms/epoch - 12ms/step\n", - "Epoch 221/250\n", - "13/13 - 0s - loss: 3.5545e-04 - mae: 0.0143 - mse: 3.5545e-04 - val_loss: 3.7230e-04 - val_mae: 0.0136 - val_mse: 3.7230e-04 - 218ms/epoch - 17ms/step\n", - "Epoch 222/250\n", - "13/13 - 0s - loss: 3.4610e-04 - mae: 0.0141 - mse: 3.4610e-04 - val_loss: 4.1371e-04 - val_mae: 0.0142 - val_mse: 4.1371e-04 - 141ms/epoch - 11ms/step\n", - "Epoch 223/250\n", - "13/13 - 0s - loss: 3.7775e-04 - mae: 0.0149 - mse: 3.7775e-04 - val_loss: 3.8045e-04 - val_mae: 0.0142 - val_mse: 3.8045e-04 - 176ms/epoch - 14ms/step\n", - "Epoch 224/250\n", - "13/13 - 0s - loss: 3.5911e-04 - mae: 0.0145 - mse: 3.5911e-04 - val_loss: 3.5609e-04 - val_mae: 0.0134 - val_mse: 3.5609e-04 - 421ms/epoch - 32ms/step\n", - "Epoch 225/250\n", - "13/13 - 0s - loss: 3.5933e-04 - mae: 0.0144 - mse: 3.5933e-04 - val_loss: 3.5900e-04 - val_mae: 0.0134 - val_mse: 3.5900e-04 - 159ms/epoch - 12ms/step\n", - "Epoch 226/250\n", - "13/13 - 0s - loss: 3.6466e-04 - mae: 0.0144 - mse: 3.6466e-04 - val_loss: 3.5378e-04 - val_mae: 0.0135 - val_mse: 3.5378e-04 - 307ms/epoch - 24ms/step\n", - "Epoch 227/250\n", - "13/13 - 0s - loss: 3.5876e-04 - mae: 0.0144 - mse: 3.5876e-04 - val_loss: 3.6523e-04 - val_mae: 0.0133 - val_mse: 3.6523e-04 - 193ms/epoch - 15ms/step\n", - "Epoch 228/250\n", - "13/13 - 0s - loss: 3.4559e-04 - mae: 0.0142 - mse: 3.4559e-04 - val_loss: 3.5907e-04 - val_mae: 0.0139 - val_mse: 3.5907e-04 - 133ms/epoch - 10ms/step\n", - "Epoch 229/250\n", - "13/13 - 0s - loss: 3.4162e-04 - mae: 0.0142 - mse: 3.4162e-04 - val_loss: 4.2194e-04 - val_mae: 0.0141 - val_mse: 4.2194e-04 - 107ms/epoch - 8ms/step\n", - "Epoch 230/250\n", - "13/13 - 0s - loss: 3.6967e-04 - mae: 0.0146 - mse: 3.6967e-04 - val_loss: 3.7720e-04 - val_mae: 0.0138 - val_mse: 3.7720e-04 - 165ms/epoch - 13ms/step\n", - "Epoch 231/250\n", - "13/13 - 0s - loss: 3.3735e-04 - mae: 0.0136 - mse: 3.3735e-04 - val_loss: 3.3976e-04 - val_mae: 0.0129 - val_mse: 3.3976e-04 - 276ms/epoch - 21ms/step\n", - "Epoch 232/250\n", - "13/13 - 0s - loss: 3.3844e-04 - mae: 0.0141 - mse: 3.3844e-04 - val_loss: 3.8716e-04 - val_mae: 0.0135 - val_mse: 3.8716e-04 - 134ms/epoch - 10ms/step\n", - "Epoch 233/250\n", - "13/13 - 0s - loss: 3.6741e-04 - mae: 0.0145 - mse: 3.6741e-04 - val_loss: 3.8668e-04 - val_mae: 0.0136 - val_mse: 3.8668e-04 - 146ms/epoch - 11ms/step\n", - "Epoch 234/250\n", - "13/13 - 0s - loss: 3.4129e-04 - mae: 0.0139 - mse: 3.4129e-04 - val_loss: 3.4933e-04 - val_mae: 0.0133 - val_mse: 3.4933e-04 - 165ms/epoch - 13ms/step\n", - "Epoch 235/250\n", - "13/13 - 0s - loss: 3.2338e-04 - mae: 0.0137 - mse: 3.2338e-04 - val_loss: 3.4566e-04 - val_mae: 0.0133 - val_mse: 3.4566e-04 - 153ms/epoch - 12ms/step\n", - "Epoch 236/250\n", - "13/13 - 0s - loss: 3.1652e-04 - mae: 0.0134 - mse: 3.1652e-04 - val_loss: 3.9728e-04 - val_mae: 0.0136 - val_mse: 3.9728e-04 - 187ms/epoch - 14ms/step\n", - "Epoch 237/250\n", - "13/13 - 0s - loss: 3.2047e-04 - mae: 0.0136 - mse: 3.2047e-04 - val_loss: 3.3756e-04 - val_mae: 0.0130 - val_mse: 3.3756e-04 - 209ms/epoch - 16ms/step\n", - "Epoch 238/250\n", - "13/13 - 0s - loss: 3.3167e-04 - mae: 0.0138 - mse: 3.3167e-04 - val_loss: 3.3191e-04 - val_mae: 0.0126 - val_mse: 3.3191e-04 - 175ms/epoch - 13ms/step\n", - "Epoch 239/250\n", - "13/13 - 0s - loss: 3.2033e-04 - mae: 0.0134 - mse: 3.2033e-04 - val_loss: 3.2969e-04 - val_mae: 0.0128 - val_mse: 3.2969e-04 - 234ms/epoch - 18ms/step\n", - "Epoch 240/250\n", - "13/13 - 0s - loss: 3.5224e-04 - mae: 0.0141 - mse: 3.5224e-04 - val_loss: 3.9061e-04 - val_mae: 0.0148 - val_mse: 3.9061e-04 - 130ms/epoch - 10ms/step\n", - "Epoch 241/250\n", - "13/13 - 0s - loss: 3.9777e-04 - mae: 0.0153 - mse: 3.9777e-04 - val_loss: 3.7065e-04 - val_mae: 0.0137 - val_mse: 3.7065e-04 - 122ms/epoch - 9ms/step\n", - "Epoch 242/250\n", - "13/13 - 0s - loss: 3.2502e-04 - mae: 0.0138 - mse: 3.2502e-04 - val_loss: 3.3236e-04 - val_mae: 0.0124 - val_mse: 3.3236e-04 - 128ms/epoch - 10ms/step\n", - "Epoch 243/250\n", - "13/13 - 0s - loss: 3.0734e-04 - mae: 0.0133 - mse: 3.0734e-04 - val_loss: 3.2635e-04 - val_mae: 0.0126 - val_mse: 3.2635e-04 - 321ms/epoch - 25ms/step\n", - "Epoch 244/250\n", - "13/13 - 0s - loss: 3.2928e-04 - mae: 0.0137 - mse: 3.2928e-04 - val_loss: 3.2871e-04 - val_mae: 0.0125 - val_mse: 3.2871e-04 - 167ms/epoch - 13ms/step\n", - "Epoch 245/250\n", - "13/13 - 0s - loss: 2.9711e-04 - mae: 0.0131 - mse: 2.9711e-04 - val_loss: 3.2920e-04 - val_mae: 0.0121 - val_mse: 3.2920e-04 - 129ms/epoch - 10ms/step\n", - "Epoch 246/250\n", - "13/13 - 0s - loss: 3.2661e-04 - mae: 0.0134 - mse: 3.2661e-04 - val_loss: 3.6936e-04 - val_mae: 0.0134 - val_mse: 3.6936e-04 - 191ms/epoch - 15ms/step\n", - "Epoch 247/250\n", - "13/13 - 0s - loss: 2.9618e-04 - mae: 0.0128 - mse: 2.9618e-04 - val_loss: 3.3549e-04 - val_mae: 0.0123 - val_mse: 3.3549e-04 - 119ms/epoch - 9ms/step\n", - "Epoch 248/250\n", - "13/13 - 0s - loss: 2.9979e-04 - mae: 0.0130 - mse: 2.9979e-04 - val_loss: 3.8099e-04 - val_mae: 0.0135 - val_mse: 3.8099e-04 - 122ms/epoch - 9ms/step\n", - "Epoch 249/250\n", - "13/13 - 0s - loss: 3.0599e-04 - mae: 0.0131 - mse: 3.0599e-04 - val_loss: 3.2729e-04 - val_mae: 0.0122 - val_mse: 3.2729e-04 - 150ms/epoch - 12ms/step\n", - "Epoch 250/250\n", - "13/13 - 0s - loss: 3.1256e-04 - mae: 0.0134 - mse: 3.1256e-04 - val_loss: 3.3855e-04 - val_mae: 0.0134 - val_mse: 3.3855e-04 - 127ms/epoch - 10ms/step\n" - ] - }, - { - "data": { - "image/png": "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7xbBwcHCxcVFZGVlCSGEeP7550WLFi3Ezz//LP744w8RGBgoAgMDFW517ZeXlycOHTokDh06JACI9957Txw6dEj89ddfQggh3n77beHo6Cg2bdokjh49KoYNGyZatmwpbt++Le0jNDRUPPLII+L3338Xv/32m2jbtq0YNWqUUm+p1nrQuc7LyxOzZ88WqampIi0tTezYsUM8+uijom3btuLOnTvSPniuKzd58mTh4OAgUlJSRHp6urTcunVLqlPZ74vi4mLRpUsXMXDgQHH48GGxdetW4erqKubMmaPEW6q1KjvXZ8+eFfPnzxd//PGHSEtLE5s2bRKtWrUSffr0kfZhznPNcCODDz74QLRo0UJYWlqKnj17ir179yrdpDotIiJCeHh4CEtLS9G8eXMREREhzp49K62/ffu2mDJlinBychI2NjbiqaeeEunp6Qq2uG7YuXOnAGC0REVFCSH008Fff/114ebmJrRarRgwYIA4ffq0wT6uXbsmRo0aJezs7IS9vb2Ijo4WeXl5Cryb2u1B5/rWrVti4MCBwtXVVTRq1Eh4e3uLZ5991ugPIp7rypV3jgGIlStXSnVM+X1x/vx5MWjQIGFtbS1cXFzErFmzxN27d838bmq3ys71hQsXRJ8+fYSzs7PQarWiTZs24sUXXxQ5OTkG+zHXuVbdazQRERFRvcAxN0RERFSvMNwQERFRvcJwQ0RERPUKww0RERHVKww3REREVK8w3BAREVG9wnBDRERE9QrDDRE1SCqVChs3blS6GURUAxhuiMjsxo8fD5VKZbSEhoYq3TQiqgcslG4AETVMoaGhWLlypUGZVqtVqDVEVJ+w54aIFKHVauHu7m6wODk5AdBfMvroo48waNAgWFtbo1WrVvjmm28Mtj927Bgef/xxWFtbo0mTJpg0aRLy8/MN6qxYsQKdO3eGVquFh4cHpk2bZrA+OzsbTz31FGxsbNC2bVt899130robN24gMjISrq6usLa2Rtu2bY3CGBHVTgw3RFQrvf766xg+fDiOHDmCyMhIjBw5EqdOnQIAFBQUICQkBE5OTti/fz/Wr1+PHTt2GISXjz76CFOnTsWkSZNw7NgxfPfdd2jTpo3BMebNm4dnnnkGR48exeDBgxEZGYnr169Lxz958iS2bNmCU6dO4aOPPoKLi4v5TgARPTzZH8VJRFSJqKgoodFohK2trcHy1ltvCSH0TyB+/vnnDbYJCAgQkydPFkII8cknnwgnJyeRn58vrf/xxx+FWq2Wnq7drFkz8eqrr1bYBgDitddek17n5+cLAGLLli1CCCGGDh0qoqOj5XnDRGRWHHNDRIro378/PvroI4MyZ2dn6efAwECDdYGBgTh8+DAA4NSpU/D19YWtra20vnfv3igpKcHp06ehUqlw5coVDBgw4IFt6Natm/Szra0t7O3tkZWVBQCYPHkyhg8fjoMHD2LgwIEICwtDr169Huq9EpF5MdwQkSJsbW2NLhPJxdra2qR6jRo1MnitUqlQUlICABg0aBD++usvbN68Gdu3b8eAAQMwdepULFy4UPb2EpG8OOaGiGqlvXv3Gr3u2LEjAKBjx444cuQICgoKpPW7d++GWq1G+/bt0bhxY/j4+CA5OblabXB1dUVUVBS++uorJCQk4JNPPqnW/ojIPNhzQ0SKKCwsREZGhkGZhYWFNGh3/fr18Pf3xz/+8Q98/fXX2LdvHz777DMAQGRkJOLi4hAVFYW5c+fi6tWrmD59OsaOHQs3NzcAwNy5c/H888+jadOmGDRoEPLy8rB7925Mnz7dpPbFxsbCz88PnTt3RmFhIX744QcpXBFR7cZwQ0SK2Lp1Kzw8PAzK2rdvjz///BOAfibTmjVrMGXKFHh4eGD16tXo1KkTAMDGxgbbtm3DjBkz0KNHD9jY2GD48OF47733pH1FRUXhzp07WLRoEWbPng0XFxeMGDHC5PZZWlpizpw5OH/+PKytrREUFIQ1a9bI8M6JqKaphBBC6UYQEZWlUqmwYcMGhIWFKd0UIqqDOOaGiIiI6hWGGyIiIqpXOOaGiGodXi0noupgzw0RERHVKww3REREVK8w3BAREVG9wnBDRERE9QrDDREREdUrDDdERERUrzDcEBERUb3CcENERET1CsMNERER1Sv/H/3nbZyJcUQcAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "\n", @@ -778,15 +266,7 @@ "cell_type": "code", "execution_count": 6, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "INFO:tensorflow:Assets written to: keras_surrogate\\assets\n" - ] - } - ], + "outputs": [], "source": [ "# Adding input bounds and variables along with scalers and output variable to kerasSurrogate\n", "xmin, xmax = [7, 306], [40, 1000]\n", @@ -818,129 +298,7 @@ "cell_type": "code", "execution_count": 7, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "13/13 [==============================] - 1s 3ms/step\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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YmJ8/jmIiIgaotUsdX3xxReYNWsWvvnmG+Tk5KCmpgZjx47F6dOn5WPuu+8+bNq0Cf/+97/xxRdfoKSkBFOmTGnGq67XElN/V1xxBQYPHowNGzYAsHdLfvHFF/HTTz9h1apV+OyzzzBv3jwAwLBhw7B06VJERESgtLQUpaWleOCBBwAANTU1ePzxx/HDDz/ggw8+QFFREWbMmNFkn4OIiMioVpPx+fjjj1U/r1y5EjExMdixYwdGjBgBq9WKFStWYPXq1bjiiisAAG+//TYuvPBCfPPNN7j00kub47JbvL59+2LPnj0AgOzsbPnxxMRE/P3vf8ddd92FV155BcHBwTCbzRAEQc4cSW677Tb59z179sSLL76Iiy++GKdOnUKHDh2a5HMQEREZ0WoyPo6sVisAoFOnTgCAHTt2oKamBhkZGfIxffv2Rffu3ZGXl6d7nnPnzqGyslL1y5+IoigvXW3duhVXXnklunXrhvDwcNx8882wWCw4c+aMy3Ps2LEDkyZNQvfu3REeHo6RI0cCAI4cOdLo109EROSJVhn42Gw2ZGdnY/jw4RgwYAAA4NixYwgODnbaddSlSxccO3ZM91yLFy+G2WyWfyUkJDTmpbc4+/btQ1JSEoqKijBx4kQMGjQI69evx44dO/CPf/wDgOvlt9OnT2PcuHGIiIjAe++9h++++w7/+c9/3L6OiIioObSapS6lWbNmoaCgAF9//XWDz/XQQw/h/vvvl3+urKz0m+Dns88+w48//oj77rsPO3bsgM1mw/PPPy8PX127dq3q+ODgYKcREj///DMsFgueeuop+b59//33TfMBiIioWbjapSytyNT/HI7y8ih06mSB2VwlP95c459aXeAze/ZsbN68GV9++SXi4+Plx7t27Yrq6mpUVFSosj6///67U02KUkhICEJCQhrzkluEc+fO4dixY6rt7IsXL8bEiRNxyy23oKCgADU1NXjppZcwadIkbN++Ha+99prqHImJiTh16hQ+/fRTDB48GGFhYejevTuCg4Px0ksv4a677kJBQQEef/zxZvqURETU2IzuUp42bRr+979YPPaYGTabAJNJxMKFv2HKlJMICgpCdXU1SktLm7yLc6sJfERRxN13343//Oc/+Pzzz5GUlKR6PjU1FUFBQfj0008xdepUAMD+/ftx5MgRpKenN8cltygff/wxYmNj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tcwFgNvZPfHggw+KX3zxhVhYWCju2bNHfPDBB0VBEMQtW7aIomjfutq9e3fxs88+E7///nsxPT1dTE9Pl18vbV0dO3asuHv3bvHjjz8WO3fu3Kq2rmpR7uoSRf+4D3PmzBE///xzsbCwUNy+fbuYkZEhRkdHi8ePHxdF0T/uwbfffisGBgaKTzzxhHjgwAHxvffeE8PCwsR3331XPuapp54SIyMjxf/+97/inj17xD/96U+a21mHDBki5ufni19//bXYu3fvFr2F11FdXZ3YvXt3cf78+U7P+cOfg+nTp4vdunWTt7Nv2LBBjI6OFufNmycf4w9/Dj7++GPxo48+En/99Vdxy5Yt4uDBg8W0tDSxurpaFMW2eQ+qqqrEXbt2ibt27RIBiEuWLBF37dolHj58WBRF33zmiooKsUuXLuLNN98sFhQUiO+//74YFhbG7exN5bbbbhN79OghBgcHi507dxavvPJKOegRRVE8e/as+Ne//lXs2LGjGBYWJv6///f/xNLSUtU5ioqKxKuuukoMDQ0Vo6OjxTlz5og1NTVN/VF8yjHw8Yf7kJmZKcbGxorBwcFit27dxMzMTFX/Gn+4B6Ioips2bRIHDBgghoSEiH379hWXL1+uet5ms4kPP/yw2KVLFzEkJES88sorxf3796uOsVgs4vXXXy926NBBjIiIEG+99VaxqqqqKT9Gg3zyySciAKfPJYr+8eegsrJSvPfee8Xu3buL7dq1E3v27CkuWLBAtf3YH/4crFmzRuzZs6cYHBwsdu3aVZw1a5ZYUVEhP98W78G2bdtEAE6/pk+fLoqi7z7zDz/8IF522WViSEiI2K1bN/Gpp55q0HULoqhor0lERETUhrHGh4iIiPwGAx8iIiLyGwx8iIiIyG8w8CEiIiK/wcCHiIiI/AYDHyIiIvIbDHyIiIjIbzDwISIiIr/BwIeIGmzUqFHIzs5u7stodI8++iguuuii5r4MImoABj5E5Peqq6ub9P1EUURtbW2TvicR2THwIaIGmTFjBr744gssW7YMgiBAEAQUFRWhoKAAV111FTp06IAuXbrg5ptvRllZmfy6UaNG4e6770Z2djY6duyILl264I033sDp06dx6623Ijw8HL169cJHH30kv+bzzz+HIAj48MMPMWjQILRr1w6XXnopCgoKVNf09ddf4/LLL0doaCgSEhJw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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "13/13 [==============================] - 0s 3ms/step\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAm0AAAHHCAYAAADtZG+rAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABzzUlEQVR4nO3deVxU1fsH8M+wbwKKKKiguAEuP9dESCuMRFPR1FIzlVzKPVcWN0RTkdxyr6+5VOZWppMbGi6VorngLmiK4oZoCIjKOuf3xzQXrqCCAjMDn/frNS+55z5z5xkmnadz7jlHIYQQICIiIiKdZqDtBIiIiIjo5Vi0EREREekBFm1EREREeoBFGxEREZEeYNFGREREpAdYtBERERHpARZtRERERHqARRsRERGRHmDRRkRERKQHWLQREb0mhUKB6dOnazsNib+/P2rVqqXtNIiomLFoI6Iyae3atVAoFNLDzMwM9evXx8iRI3Hv3r0Sfe0jR45g+vTpSE5OLtbrvvPOO7L3VKlSJbzxxhtYvXo1VCpVsbzG7NmzsW3btmK5FhEVLyNtJ0BEVJJmzJgBFxcXpKen46+//sKKFSuwa9cunD9/HhYWFsXyGk+fPoWRUe4/p0eOHEFoaCj8/f1ha2tbLK+hUaNGDcyZMwcAcP/+fXz//fcYNGgQLl++jLCwsNe+/uzZs9GzZ09069btta9FRMWLRRsRlWkdO3ZEy5YtAQCDBw+GnZ0dFixYgO3bt6NPnz6vfF2VSoXMzEyYmZnBzMysuNJ9KRsbG3zyySfS8eeffw5XV1csXboUM2fOhLGxcanlQkSli8OjRFSutGvXDgAQFxcHAJg3bx68vLxgZ2cHc3NztGjRAj///HO+5ykUCowcORLr169Hw4YNYWpqij179kjnNPe0TZ8+HRMnTgQAuLi4SEOZ169fx9tvv40mTZoUmJerqyt8fX2L/H4sLCzQunVrPH78GPfv339u3OPHjzF+/Hg4OTnB1NQUrq6umDdvHoQQsvf4+PFjrFu3Tsrb39+/yDkRUclgTxsRlStXr14FANjZ2QEAvv76a/j5+aFv377IzMzExo0b8eGHH2LHjh3o1KmT7Ln79+/H5s2bMXLkSFSuXLnAm/27d++Oy5cvY8OGDVi4cCEqV64MALC3t0e/fv0wZMgQnD9/Ho0aNZKec/z4cVy+fBlTpkx5pfd07do1GBoaPncoVggBPz8/HDhwAIMGDULTpk0RERGBiRMn4vbt21i4cCEA4IcffsDgwYPRqlUrfPbZZwCAOnXqvFJORFQCBBFRGbRmzRoBQPz+++/i/v374ubNm2Ljxo3Czs5OmJubi1u3bgkhhHjy5InseZmZmaJRo0aiXbt2snYAwsDAQFy4cCHfawEQISEh0vFXX30lAIi4uDhZXHJysjAzMxOBgYGy9tGjRwtLS0uRlpb2wvf09ttvCzc3N3H//n1x//59cenSJTF69GgBQHTp0kWKGzBggKhZs6Z0vG3bNgFAfPnll7Lr9ezZUygUCvHPP/9IbZaWlmLAgAEvzIOItIPDo0RUpvn4+MDe3h5OTk7o3bs3rKys8Ouvv6J69eoAAHNzcyn24cOHSElJQdu2bXHq1Kl813r77bfRoEGDV87FxsYGXbt2xYYNG6RhyZycHGzatAndunWDpaXlS68RExMDe3t72Nvbw93dHUuWLEGnTp2wevXq5z5n165dMDQ0xOjRo2Xt48ePhxACu3fvfuX3RESlh8OjRFSmLVu2DPXr14eRkRGqVq0KV1dXGBjk/v/qjh078OWXX+L06dPIyMiQ2hUKRb5rubi4vHY+/fv3x6ZNm/Dnn3/irbfewu+//4579+6hX79+hXp+rVq18L///U9axqRevXqoUqXKC59z48YNVKtWDRUqVJC1u7u7S+eJSPexaCOiMq1Vq1bS7NFn/fnnn/Dz88Nbb72F5cuXw9HREcbGxlizZg1++umnfPF5e+Vela+vL6pWrYoff/wRb731Fn788Uc4ODjAx8enUM+3tLQsdCwRlS0cHiWicuuXX36BmZkZIiIiMHDgQHTs2LFYCqKCeuk0DA0N8fHHH+Pnn3/Gw4cPsW3bNvTp0weGhoav/brPU7NmTdy5cwePHj2StcfExEjnNV6UOxFpF4s2Iiq3DA0NoVAokJOTI7Vdv379tXcE0Nyb9rwdEfr164eHDx/i888/R1pammzdtZLw/vvvIycnB0uXLpW1L1y4EAqFAh07dpTaLC0ti30nByIqHhweJaJyq1OnTliwYAE6dOiAjz/+GImJiVi2bBnq1q2Ls2fPvvJ1W7RoAQCYPHkyevfuDWNjY3Tp0kUq5po1a4ZGjRphy5YtcHd3R/PmzYvl/TxPly5d4O3tjcmTJ+P69eto0qQJ9u7di+3bt2PMmDGyZT1atGiB33//HQsWLEC1atXg4uICDw+PEs2PiAqHPW1EVG61a9cO3333HRISEjBmzBhs2LABc+fOxQcffPBa133jjTcwc+ZMnDlzBv7+/ujTp0++hW/79+8PAIWegPA6DAwMoFQqMWbMGOzYsQNjxozBxYsX8dVXX2HBggWy2AULFqBFixaYMmUK+vTpgxUrVpR4fkRUOAoh8iyHTUREpeLrr7/G2LFjcf36dTg7O2s7HSLSAyzaiIhKmRACTZo0gZ2dHQ4cOKDtdIhIT/CeNiKiUvL48WMolUocOHAA586dw/bt27WdEhHpEfa0ERGVkuvXr8PFxQW2trYYPnw4Zs2ape2UiEiPsGgjIiIi0gOcPUpERESkB1i0EREREekBTkTQYSqVCnfu3EGFChW4tQwREZGeEELg0aNHqFatGgwMiq9/jEWbDrtz5w6cnJy0nQYRERG9gps3b6JGjRrFdj0WbTqsQoUKANQfurW1tZazISIiosJITU2Fk5OT9D1eXFi06TDNkKi1tTWLNiIiIj1T3Lc2cSICERERkR5g0UZERESkB1i0EREREekB3tOm53JycpCVlaXtNKgUGBsbw9DQUNtpEBGRlrBo01NCCCQkJCA5OVnbqVApsrW1hYODA9ftIyIqh1i06SlNwValShVYWFjwS7yME0LgyZMnSExMBAA4OjpqOSMiIiptLNr0UE5OjlSw2dnZaTsdKiXm5uYAgMTERFSpUoVDpURE5QwnIughzT1sFhYWWs6ESpvmM+d9jERE5Y/eFG1+fn5wdnaGmZkZHB0d0a9fP9y5c0cWI4TAvHnzUL9+fZiamqJ69eqYNWuWLObgwYNo3rw5TE1NUbduXaxduzbfay1btgy1atWCmZkZPDw88Pfff8vOp6enY8SIEbCzs4OVlRV69OiBe/fuyWLi4+PRqVMnWFhYoEqVKpg4cSKys7OL55fxHw6Jlj/8zImIyi+9Kdq8vb2xefNmxMbG4pdffsHVq1fRs2dPWcwXX3yBVatWYd68eYiJiYFSqUSrVq2k83FxcejUqRO8vb1x+vRpjBkzBoMHD0ZERIQUs2nTJowbNw4hISE4deoUmjRpAl9fX+leIgAYO3YsfvvtN2zZsgWHDh3CnTt30L17d+l8Tk4OOnXqhMzMTBw5cgTr1q3D2rVrMW3atBL8DREREVGZJvTU9u3bhUKhEJmZmUIIIS5evCiMjIxETEzMc58TEBAgGjZsKGvr1auX8PX1lY5btWolRowYIR3n5OSIatWqiTlz5gghhEhOThbGxsZiy5YtUsylS5cEABEVFSWEEGLXrl3CwMBAJCQkSDErVqwQ1tbWIiMjo9DvMSUlRQAQKSkpsvanT5+KixcviqdPnxb6WlQ28LMnItJ9z/v+fl1609OWV1JSEtavXw8vLy8YGxsDAH777TfUrl0bO3bsgIuLC2rVqoXBgwcjKSlJel5UVBR8fHxk1/L19UVUVBQAIDMzEydPnpTFGBgYwMfHR4o5efIksrKyZDFubm5wdnaWYqKiotC4cWNUrVpV9jqpqam4cOHCc99XRkYGUlNTZY+yxt/fHwqFAgqFAsbGxqhatSree+89rF69GiqVqtDXWbt2LWxtbUsuUSIiIh2jV0VbYGAgLC0tYWdnh/j4eGzfvl06d+3aNdy4cQNbtmzB999/j7Vr1+LkyZOyIdSEhARZIQUAVatWRWpqKp4+fYoHDx4gJyenwJiEhATpGiYmJvkKhmdjCrqG5tzzzJkzBzY2NtLDycmpkL8Z/dKhQwfcvXsX169fx+7du+Ht7Y0vvvgCnTt3Lvb7/oiIiAqSlpaGx48fazuNItFq0RYUFCT1ujzvERMTI8VPnDgR0dHR2Lt3LwwNDdG/f38IIQAAKpUKGRkZ+P7779G2bVu88847+O6773DgwAHExsZq6y0WSXBwMFJSUqTHzZs3tZ1SiTA1NYWDgwOqV6+O5s2bY9KkSdi+fTt2794tTQxZsGABGjduDEtLSzg5OWH48OFIS0sDoJ5M8umnnyIlJUX672T69OkAgB9++AEtW7ZEhQoV4ODggI8//lh2PyIREZVvQggsW7YM8+fPx8qVK6U6Qh9odZ228ePHw9/f/4UxtWvXln6uXLkyKleujPr168Pd3R1OTk44evQoPD094ejoCCMjI9SvX1+Kd3d3B6Ceyenq6goHB4d8szzv3bsHa2trmJubw9DQEIaGhgXGODg4AAAcHByQmZmJ5ORkWW/bszHPzjjVXFMTUxBTU1OYmpq+8PfxPEIIrS0DYWxs/NqzGtu1a4cmTZpg69atGDx4MAwMDLB48WK4uLjg2rVrGD58OAICArB8+XJ4eXlh0aJFmDZtmlSQW1lZAVAvhTFz5ky4uroiMTER48aNg7+/P3bt2vXa75OIiPRbcnIyvv76a+n48ePHejUrX6tFm729Pezt7V/puZr7nzIyMgAAb775JrKzs3H16lXUqVMHAHD58mUAQM2aNQEAnp6e+b689+3bB09PTwCAiYkJWrRogcjISHTr1k16ncjISIwcORIA0KJFCxgbGyMyMhI9evQAAMTGxiI+Pl66jqenJ2bNmiUtgqp5HWtrazRo0OCV3u/LZGVlYc6cOSVy7ZcJDg6GiYnJa1/Hzc0NZ8+eBQCMGTNGaq9Vqxa+/PJLDB06FMuXL4eJiQlsbGygUCjyFcEDBw6Ufq5duzYWL16MN954A2lpaVJhR0RE5c/x48dlNYCNjQ2++OILLWZUdHqxI8KxY8dw/PhxtGnTBhUrVsTVq1cxdepU1KlTRyqUfHx80Lx5cwwcOBCLFi2CSqXCiBEj8N5770m9b0OHDsXSpUsREBCAgQMHYv/+/di8eTN27twpvda4ceMwYMAAtGzZEq1atcKiRYvw+PFjfPrppwDUH/KgQYMwbtw4VKpUCdbW1hg1ahQ8PT3RunVrAED79u3RoEED9OvXD+Hh4UhISMCUKVMwYsSIV+5JKw+EENL/8fz++++YM2cOYmJikJqaiuzsbKSnp+PJkycvXFT45MmTmD59Os6cOYOHDx9KxX18fHyJFcxERKS7hBBYvHixbK/u999/H2+88Yb2knpFelG0WVhYYOvWrQgJCcHjx4/h6OiIDh06YMqUKVIRZGBggN9++w2jRo3CW2+9BUtLS3Ts2BHz58+XruPi4oKdO3di7Nix+Prrr1GjRg2sWrUKvr6+UkyvXr1w//59TJs2DQkJCWjatCn27Nkjm1iwcOFCGBgYoEePHsjIyICvry+WL18unTc0NMSOHTswbNgweHp6wtLSEgMGDMCMGTNK7HdkbGyM4ODgErv+y167OFy6dAkuLi64fv06OnfujGHDhmHWrFmoVKkS/vrrLwwaNAiZmZnPLdoeP34MX19f+Pr6Yv369bC3t0d8fDx8fX2RmZlZLDkSEZH+SEpKwpIlS2RtDRp8gTfesNVOQq9JL4q2xo0bY//+/S+Nq1atGn755ZcXxrzzzjuIjo5+YczIkSOl4dCCmJmZYdmyZVi2bNlzY2rWrFmq91EpFIpiGaLUlv379+PcuXMYO3YsTp48CZVKhfnz58PAQD1XZvPmzbJ4ExMT5OTkyNpiYmLw77//IiwsTJp5e+LEidJ5A0REpFOioqKwd+9e6TgtrTLmzRsOT08FPvxQi4m9Br1a8oPKhoyMDCQkJOD27ds4deoUZs+eja5du6Jz587o378/6tati6ysLCxZsgTXrl3DDz/8gJUrV8quUatWLaSlpSEyMhIPHjzAkydP4OzsDBMTE+l5SqUSM2fO1NK7JCIibVCpVJg3b56sYOvSpQvath0BT08FvL0BLy9AqdRikq+IRRuVuj179sDR0RG1atVChw4dcODAASxevBjbt2+HoaEhmjRpggULFmDu3Llo1KgR1q9fn2+ShZeXF4YOHYpevXrB3t4e4eHhsLe3x9q1a7FlyxY0aNAAYWFhmDdvnpbeJRERlbYHDx5g5syZsvXXDh4ci+bNm8PPDzhyBDhwAIiKAsLCtJjoK1IIfVqgpJxJTU2FjY0NUlJSYG1tLbWnp6cjLi4OLi4uMDMz02KGVNr42RMRFezPP/+U3UqlUjliwYIhGD1agVmzcuOUSnXB5u2tLuCCggA/v+LN5Xnf36+LPW1ERESkt1QqFWbPni0r2D744APs2/cZ0tIUOHBA3aZUqodFAf3tcWPRRkRERHopMTERM2fOlC0u36jRePzf//0fvL0BKyt1jxqgLs7yFmlBQYCnp/pPfcGijYiIiPTOgQMHsGLFCuk4KckZ06dPw/z5Vv+dB9LSIPW0aYo0zUQEQN3jVtxDoyWJRRsRERHpjZycHISGzsAff/whtZ0+3RPvvvspPD0VUs/Zsz1tZWEigl6s00ZERER09+5dfPvtt7K2X3+dgPR0SwDqokzj2Z42jaAgdcGmT8OiGizaiIiISOft27cPR/JUZQ8e1MZ77/VDRARw5kxuz5lmZujDh4Cra/7izM9Pv4ZE82LRRkRERDorOzsbs/Ku2QEgK6sXTp50w3vvqQu0c+fUf2omG5w7p+5l8/TU3wKtICzaiIiISCfdunUL3333naxt7twAGBqaIy0tt3dNMwyqGfrMuwZbWcKijYiIiHTO7t278ffff0vH9+654v793jA0BDp0AG7fzi3KNPeo6fPQZ2GwaKMyyd/fH8nJydi2bRsA4J133kHTpk2xaNGiV75mcVyDiIheLCsrC7Nnz5a1HTz4MQ4erAczMyA9HdizB1i/PrdAK8uFWl5c8oNKlb+/PxQKBRQKBUxMTFC3bl3MmDED2dnZJfq6W7duLfTm8QcPHoRCoUBycvIrX4OIiIouPj4+X8H2f/8XiKNH6wEA7OzUy3jkHRotT9jTRqWuQ4cOWLNmDTIyMrBr1y6MGDECxsbGCA4OlsVlZmbCxMSkWF6zUqVKOnENIiLKT6kEfvtNiRo1oqW2u3cb4f33eyAsTN27Zm6uLtgGDCib96sVBnvaqNSZmprCwcEBNWvWxLBhw+Dj4wOlUgl/f39069YNs2bNQrVq1eDq6goAuHnzJj766CPY2tqiUqVK6Nq1K65fvy5dLycnB+PGjYOtrS3s7OwQEBAAIYTsNd955x2MGTNGOs7IyEBgYCCcnJxgamqKunXr4rvvvsP169fh/d9KjBUrVoRCoYC/v3+B13j48CH69++PihUrwsLCAh07dsSVK1ek82vXroWtrS0iIiLg7u4OKysrdOjQAXfv3pViDh48iFatWsHS0hK2trZ48803cePGjWL6TRMR6TalEmjUKBPR0aGygu348X6ws+shTSrw9AScnYHYWHXBpm87GRQXFm2kdebm5sjMzAQAREZGIjY2Fvv27cOOHTuQlZUFX19fVKhQAX/++ScOHz4sFT+a58yfPx9r167F6tWr8ddffyEpKQm//vrrC1+zf//+2LBhAxYvXoxLly7hm2++gZWVFZycnPDLL78AAGJjY3H37l18/fXXBV7D398fJ06cgFKpRFRUFIQQeP/992V74D158gTz5s3DDz/8gD/++APx8fGYMGECAPU09m7duuHtt9/G2bNnERUVhc8++wwKheK1f6dERPpg/vw4fPjhHFnb778HY+fO2li8WL18h6ZICw/Xv71CixuHR0lrhBCIjIxEREQERo0ahfv378PS0hKrVq2ShkV//PFHqFQqrFq1Sipm1qxZA1tbWxw8eBDt27fHokWLEBwcjO7duwMAVq5ciYiIiOe+7uXLl7F582bs27cPPj4+AIDatWtL5zXDoFWqVIGtrW2B17hy5QqUSiUOHz4Mr/82sVu/fj2cnJywbds2fPjhhwDUN9SuXLkSderUAQCMHDkSM2bMAACkpqYiJSUFnTt3ls67u7sX/RdJRKSHtm7dinbtzknHlSo1xahRXdGsGZCTA1Svrp5wkHcbqvLYu5YXe9oISqV681ylsnReb8eOHbCysoKZmRk6duyIXr16Yfr06QCAxo0b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iIgAsGij/2RkZCAsLEzWNmDAANSqVUs7CREREZEMizbC1atX8eOPP8ragoODYWJioqWMiIiI6Fks2sq5LVu24OLFi9JxixYt0LlzZy1mRERERAVh0VZOpaenY+7cubK2gQMHwsnJSUsZERER0YuwaCuHLl++jA0bNsjaJk2aBGNjYy1lRERERC/Doq0cyluwtW7dGr6+vlrMhoiIiAqDRVs5NmTIEFSrVk3baRAREVEhKIQQQttJUMFSU1NhY2ODlJQUWFtbazsdIiIiKoSS+v42KLYrEREREVGJYdFGREREpAdYtBERERHpARZtRERERHqARRsRERGRHmDRRkRERKQHWLQRERER6QEWbURERER6gEUbERERkR5g0UZERESkB1i0EREREekBFm1EREREeoBFGxEREZEeYNFGREREpAeMtJ0APZ8QAgCQmpqq5UyIiIiosDTf25rv8eLCok2HPXr0CADg5OSk5UyIiIioqB49egQbG5tiu55CFHcZSMVGpVLhzp07qFChAhQKhbbTKVWpqalwcnLCzZs3YW1tre10KA9+NrqLn43u4mej24r78xFC4NGjR6hWrRoMDIrvTjT2tOkwAwMD1KhRQ9tpaJW1tTX/gdNR/Gx0Fz8b3cXPRrcV5+dTnD1sGpyIQERERKQHWLQRERER6QEWbaSTTE1NERISAlNTU22nQs/gZ6O7+NnoLn42uk1fPh9ORCAiIiLSA+xpIyIiItIDLNqIiIiI9ACLNiIiIiI9wKKNiIiISA+waKNil5GRgaZNm0KhUOD06dOyc2fPnkXbtm1hZmYGJycnhIeH53v+li1b4ObmBjMzMzRu3Bi7du2SnRdCYNq0aXB0dIS5uTl8fHxw5coVWUxSUhL69u0La2tr2NraYtCgQUhLSytyLmWFn58fnJ2dYWZmBkdHR/Tr1w937tyRxWzevBlNmzaFhYUFatasia+++irfdQ4ePIjmzZvD1NQUdevWxdq1a/PFLFu2DLVq1YKZmRk8PDzw999/y86np6djxIgRsLOzg5WVFXr06IF79+7JYuLj49GpUydYWFigSpUqmDhxIrKzs1//F6GDCvPZREREoHXr1qhQoQLs7e3Ro0cPXL9+XRbDz6ZkvOzzmT59OhQKRb6HpaWl7Dr8d634FebvjhAC8+bNQ/369WFqaorq1atj1qxZshi9+rsjiIrZ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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "13/13 [==============================] - 0s 4ms/step\n" - ] - }, - { - "data": { - "image/png": "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WpZPPvkE1dXV+Pjjj5GUlCS+/vnnnztNv9ratm2Lw4cPw2w229QSHT9+XHwfkA/2iEg59iEiItX069cPN910E5YuXYqrV68iJiYG/fr1w+uvv46SkpJ621+4cEH8759//tnmvWbNmqF9+/aorq6W/b4hQ4YAAF5++WWb15cuXVpv29TUVJhMJhw+fFh8raSkpN5s0cHBwQAAQRDE10wmE1atWiWbDm+58847UVpairVr14qvXb9+Ha+88gqaNWuGvn37AgDCw8MBQDLgIyJlWENERKqaNWsW/ud//gerV6/G5MmT8eqrr6JPnz5IT0/HpEmT0K5dO5w7dw75+fn48ccf8c033wAA0tLS0K9fP/To0QORkZHYv38/PvjgA0ybNk32u7p164YHHngAr732GkwmE2699VZs27YNJ0+erLftyJEjMWfOHNx33314/PHHUVlZiWXLlqFjx444ePCguN2gQYMQEhKCu+++G4888giuXLmCFStWICYmRjKo86aHH34Yr7/+OsaOHYsDBw4gOTkZH3zwAb788kssXboUzZs3B1DXCTwtLQ1r165Fx44dERkZia5du6Jr164+TS+RX9N6mBsR+R/LsPt9+/bVe6+2tlZITU0VUlNThevXrwuCIAiFhYXC6NGjhbi4OKFx48ZC69athbvuukv44IMPxM8999xzwk033SS0aNFCCAsLEzp37iz87//+r1BTUyNuIzVEvqqqSnj88ceFVq1aCU2bNhXuvvtu4cyZM5LD0D/77DOha9euQkhIiNCpUyfhnXfekdznxx9/LGRkZAhNmjQRkpOTheeff1548803BQBCUVGRuJ0rw+6dTSkgt79z584J48aNE6KiooSQkBAhPT1dWLVqVb3P7tmzR+jRo4cQEhLCIfhEbjAIglW9MBEREVEAYh8iIiIiCngMiIiIiCjgMSAiIiKigKdpQLRs2TJkZGQgIiICERERyMrKwqZNm8T3+/XrJ67cbPk3efJkm30UFxcjNzcX4eHhiImJwaxZs3D9+nWbbXbs2IEbb7wRoaGhaN++PVavXu2LwyMiIiI/oemw+zZt2mDx4sXo0KEDBEHAW2+9hXvvvReHDh3CDTfcAACYNGkSFi5cKH7GMt8GUDfDbG5uLuLi4rBnzx6UlJRg9OjRaNy4MRYtWgQAKCoqQm5uLiZPnox3330X27Ztw8SJExEfHy87cy4REREFFt2NMouMjMQLL7yACRMmoF+/fujWrZvkJGsAsGnTJtx11104e/YsYmNjAQDLly/HnDlzcOHCBYSEhGDOnDnYuHEjjh49Kn5u5MiRKCsrw+bNm31xSERERKRzupmYsba2Fu+//z4qKiqQlZUlvv7uu+/inXfeQVxcHO6++27Mnz9frCXKz89Henq6GAwBQE5ODqZMmYJjx46he/fuyM/Pr7dkQE5OjsurYZvNZpw9exbNmzfnNPlERER+QhAE/PLLL0hISKi3ULI1zQOiI0eOICsrC1evXkWzZs2wfv16pKWlAQBGjRqFtm3bIiEhAYcPH8acOXNw4sQJrFu3DgBQWlpqEwwBEP8uLS11uE15eTmqqqoQFhYmma7q6mqbJQN++uknMV1ERETkX86cOYM2bdrIvq95QNSpUycUFBTAZDLhgw8+wJgxY7Bz506kpaXh4YcfFrdLT09HfHw8BgwYgMLCQqSmpno1XXl5eViwYEG918+cOYOIiAivfjcRERGpo7y8HImJieJSN3I0D4hCQkLQvn17AECPHj2wb98+vPTSS3j99dfrbXvzzTcDAE6ePInU1FTExcXh66+/ttnm3LlzAIC4uDjx/y2vWW8TEREhWzsEAPPmzcPMmTPFvy0n1DIijoiIiPyHs+4uupuHyGw2y65uXVBQAACIj48HAGRlZeHIkSM4f/68uM3WrVsREREhNm9lZWVh27ZtNvvZunWrTT8lKaGhoWLwwyCIiIioYdO0hmjevHkYMmQIkpKS8Msvv2DNmjXYsWMHtmzZgsLCQqxZswZ33nknWrVqhcOHD2PGjBnIzs5GRkYGgLpVqdPS0vDQQw9hyZIlKC0txVNPPYWpU6ciNDQUADB58mT8/e9/x+zZszF+/Hhs374d//rXv7Bx40YtD52IiIh0RNOA6Pz58xg9ejRKSkpgNBqRkZGBLVu24I477sCZM2fwn//8B0uXLkVFRQUSExMxfPhwPPXUU+Lng4ODsWHDBkyZMgVZWVlo2rQpxowZYzNvUUpKCjZu3IgZM2bgpZdeQps2bbBy5UrOQUREREQi3c1DpFfl5eUwGo0wmUxsPiMiamBqa2tx7do1rZNBbmjcuDGCg4Nl31dafmveqZqIiEgrgiCgtLQUZWVlWieFPNCiRQvExcV5NE8gAyIiIgpYlmAoJiYG4eHhnHjXzwiCgMrKSnFwlWXQlTsYEBERUUCqra0Vg6FWrVppnRxyk2UKnfPnzyMmJsZh85kjuht2T0RE5AuWPkPWi4aTf7L8hp70A2NAREREAY3NZP5Pjd+QAREREREFPAZEREREBKCupuWjjz7SOhk2duzYAYPB4PWRgAyIGpASUxX2FF5EialK66QQEZGOPfvss+jWrZvWydAVjjJrINbuK8a8dUdgFoAgA5A3LB0jeiVpnSwiIiK/wBqiBqDEVCUGQwBgFoAn1x1lTRERUQNlNpuRl5eHlJQUhIWFITMzEx988AGA35qYtm3bhp49eyI8PBy33norTpw4AQBYvXo1FixYgG+++QYGgwEGgwGrV68W933x4kXcd999CA8PR4cOHfDxxx8rSpPle7ds2YLu3bsjLCwMt99+O86fP49NmzahS5cuiIiIwKhRo1BZWSl+rrq6Go8//jhiYmLQpEkT9OnTB/v27VPvZCnEgKgBKLpYIQZDFrWCgFMXK6U/QEREqvNlt4W8vDy8/fbbWL58OY4dO4YZM2bg97//PXbu3Clu86c//Ql//etfsX//fjRq1Ajjx48HAIwYMQJ//OMfccMNN6CkpAQlJSUYMWKE+LkFCxbgd7/7HQ4fPow777wTDz74IC5duqQ4bc8++yz+/ve/Y8+ePThz5gx+97vfYenSpVizZg02btyIzz77DK+88oq4/ezZs/Hhhx/irbfewsGDB9G+fXvk5OS49J1qYEDUAKRENUWQ3YjDYIMByVGcW4OIyBfW7itG78XbMWrFXvRevB1r9xV77buqq6uxaNEivPnmm8jJyUG7du0wduxY/P73v8frr78ubve///u/6Nu3L9LS0jB37lzs2bMHV69eRVhYGJo1a4ZGjRohLi4OcXFx4uSGADB27Fg88MADaN++PRYtWoQrV67g66+/Vpy+5557Dr1790b37t0xYcIE7Ny5E8uWLUP37t1x22234f7778fnn38OAKioqMCyZcvwwgsvYMiQIUhLS8OKFSsQFhaGN954Q72TpgADogYg3hiGvGHpCP51HoZggwGLhnVFvDHMySeJiMhTvu62cPLkSVRWVuKOO+5As2bNxH9vv/02CgsLxe0yMjLE/7YsaWFZ4sIR6881bdoUERERij4n9fnY2FiEh4ejXbt2Nq9Z9ldYWIhr166hd+/e4vuNGzfGTTfdhO+++07xd6qBnaobiBG9kpDdMRqnLlYiOSqcwRARkY846rbgjXvxlStXAAAbN25E69atbd4LDQ0Vg6LGjRuLr1smLjSbzU73b/05y2eVfE7q8waDweP9+QoDogYk3hjGQIiIyMcs3RasgyJvdltIS0tDaGgoiouL0bdv33rvW9cSyQkJCUFtba03kueS1NRUhISE4Msvv0Tbtm0B1C2/sW/fPkyfPt2naWFARERE5AFLt4Un1x1FrSB4vdtC8+bN8cQTT2DGjBkwm83o06cPTCYTvvzyS0RERIiBhSPJyckoKipCQUEB2rRpg+bNmyM0NNQr6XWkadOmmDJlCmbNmoXIyEgkJSVhyZIlqKysxIQJE3yaFgZEREREHvJ1t4U///nPiI6ORl5eHn744Qe0aNECN954I5588klFzVHDhw/HunXr0L9/f5SVlWHVqlUYO3asV9MsZ/HixTCbzXjooYfwyy+/oGfPntiyZQtatmzp03QYBEEQnG9G5eXlMBqNMJlMiIiI0Do5RETkoatXr6KoqAgpKSlo0qSJ1skhDzj6LZWW3xxlRkRERAGPARERERE5NXnyZJth/tb/Jk+erHXyPMY+REREROTUwoUL8cQTT0i+1xC6kjAgIiIiIqdiYmIQExOjdTK8hk1mREREFPAYEBERUUDT46zJ5Bo1fkM2mRERUUAKCQlBUFAQzp49i+joaISEhIhLXJB/EAQBNTU1uHDhAoKCghASEuL2vhgQERFRQAoKCkJKSgpKSkpw9uxZrZNDHggPD0dSUhKCgtxv+GJAREREASskJARJSUm4fv26Ltb2ItcFBwejUaNGHtfuMSAiIqKAZlmR3X5Vdgos7FRNREREAY8BEREREQU8BkREREQU8BgQERERUcBjQEREREQBjwERERERBTwGRERERBTwGBARERFRwGNARERERAGPAREREREFPAZEREREFPAYEBEREVHA0zQgWrZsGTIyMhAREYGIiAhkZWVh06ZN4vtXr17F1KlT0apVKzRr1gzDhw/HuXPnbPZRXFyM3NxchIeHIyYmBrNmzcL169dtttmxYwduvPFGhIaGon379li9erUvDo+IiIj8hKYBUZs2bbB48WIcOHAA+/fvx+233457770Xx44dAwDMmDEDn3zyCd5//33s3LkTZ8+exbBhw8TP19bWIjc3FzU1NdizZw/eeustrF69Gk8//bS4TVFREXJzc9G/f38UFBRg+vTpmDhxIrZs2eLz4yUiIiJ9MgiCIGidCGuRkZF44YUXcP/99yM6Ohpr1qzB/fffDwA4fvw4unTpgvz8fNxyyy3YtGkT7rrrLpw9exaxsbEAgOXLl2POnDm4cOECQkJCMGfOHGzcuBFHjx4Vv2PkyJEoKyvD5s2bFaervLwcRqMRJpMJERER6h40EREReYXS8ls3fYhqa2vxz3/+ExUVFcjKysKBAwdw7do1DBw4UNymc+fOSEpKQn5+PgAgPz8f6enpYjAEADk5OSgvLxdrmfLz8232YdnGsg851dXVKC8vt/lHREREDZPmAdGRI0fQrFkzhIaGYvLkyVi/fj3S0tJQWlqKkJAQtGjRwmb72NhYlJaWAgBKS0ttgiHL+5b3HG1TXl6Oqqoq2XTl5eXBaDSK/xITEz09VCIiItIpzQOiTp06oaCgAHv37sWUKVMwZswYfPvtt1onC/PmzYPJZBL/nTlzRuskERERkZc00joBISEhaN++PQCgR48e2LdvH1566SWMGDECNTU1KCsrs6klOnfuHOLi4gAAcXFx+Prrr232ZxmFZr2N/ci0c+fOISIiAmFhYbLpCg0NRWhoqMfHR0RERPqneQ2RPbPZjOrqavTo0QONGzfGtm3bxPdOnDiB4uJiZGVlAQCysrJw5MgRnD9/Xtxm69atiIiIQFpamriN9T4s21j2QURERKRpDdG8efMwZMgQJCUl4ZdffsGaNWuwY8cObNmyBUajERMmTMDMmTMRGRmJiIgIPPbYY8jKysItt9wCABg0aBDS0tLw0EMPYcmSJSgtLcVTTz2FqVOnirU7kydPxt///nfMnj0b48ePx/bt2/Gvf/0LGzdu1PLQiYiISEc0DYjOnz+P0aNHo6SkBEajERkZGdiyZQvuuOMOAMCLL76IoKAgDB8+HNXV1cjJycFrr70mfj44OBgbNmzAlClTkJWVhaZNm2LMmDFYuHChuE1KSgo2btyIGTNm4KWXXkKbNm2wcuVK5OTk+Px4iYiISJ90Nw+RXnEeIiIiIv/jd/MQEREREWmFAREREREFPAZEREREFPAYEBEpUGKqwp7Ciygxyc9uTkRE/kvziRmJ9G7tvmLMW3cEZgEIMgB5w9IxoleS1skiIiIVsYaIyIESU5UYDAGAWQCeXHeUNUVERA0MAyIiB4ouVojBkEWtIODUxUptEkRERF7BgIjIgZSopggy2L4WbDAgOSpcmwQREZFXMCAiciDeGIa8YekINtRFRcEGAxYN64p4o/zCwERE5H/YqZrIiRG9kpDdMRqnLlYiOSqcwRARUQPEgIhIgXhjGAMhIqIGjE1mREREFPAYEBEREVHAY0BEREREAY8BEREREQU8BkREREQU8BgQERERUcBjQEREREQBjwERERERBTwGRERERBTwGBARERFRwGNARERERAGPAREREREFPAZEREREFPAYEBEREVHAY0BEREREAY8BEZHGSkxV2FN4ESWmKq2TQkQUsBppnQCiQLZ2XzHmrTsCswAEGYC8YekY0StJ62QREQUc1hARaaTEVCUGQwBgFoAn1x1lTRERkQYYEBFppOhihRgMWdQKAk5drNQmQUREAYwBEZFGUqKaIshg+1qwwYDkqHBtEkREFMAYEBFpJN4Yhrxh6Qg21EVFwQYDFg3rinhjmMYpIyIKPOxUTaShEb2SkN0xGqcuViI5KpzBEBGRRhgQEWks3hjGQIiISGNsMiMiIqKAx4CIiIiIAh4DIiIiIgp4DIiIiIgo4DEgIiIiooCnaUCUl5eHXr16oXnz5oiJicHQoUNx4sQJm2369esHg8Fg82/y5Mk22xQXFyM3Nxfh4eGIiYnBrFmzcP36dZttduzYgRtvvBGhoaFo3749Vq9e7e3DIyIiIj+haUC0c+dOTJ06FV999RW2bt2Ka9euYdCgQaioqLDZbtKkSSgpKRH/LVmyRHyvtrYWubm5qKmpwZ49e/DWW29h9erVePrpp8VtioqKkJubi/79+6OgoADTp0/HxIkTsWXLFp8dKxEREemXQRAEwflmvnHhwgXExMRg586dyM7OBlBXQ9StWzcsXbpU8jObNm3CXXfdhbNnzyI2NhYAsHz5csyZMwcXLlxASEgI5syZg40bN+Lo0aPi50aOHImysjJs3rxZUdrKy8thNBphMpkQERHh2YESERGRTygtv3XVh8hkMgEAIiMjbV5/9913ERUVha5du2LevHmorPxt8cv8/Hykp6eLwRAA5OTkoLy8HMeOHRO3GThwoM0+c3JykJ+fL5uW6upqlJeX2/wjIiKihkk3M1WbzWZMnz4dvXv3RteuXcXXR40ahbZt2yIhIQGHDx/GnDlzcOLECaxbtw4A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7OxsAEBJSQkeeOABjB8/Ht999x127NiBYcOGwdWlHl1NExHpBxd3JSLd6devH86fP49jx47BYDAAAObOnYuPP/4Y3377LZKTk9G9e3esX79e/MzEiRMRHByM119/XXxt9+7d6Nu3LyoqKvDpp59i3Lhx+PHHH9G8eXOb7zt48CB69OiBU6dOoW3btpLp6datG5YuXSq+NnToULRo0QKrV68GALfS1KRJE4/OExGphzVERKRLt9xyixgMAUBWVha+//571NbWAgB69uxps/0333yD1atXo1mzZuK/nJwcmM1mFBUV4Y477kDbtm3Rrl07PPTQQ3j33XdRWVkJAMjMzMSAAQOQnp6O//mf/8GKFStw+fJll9PsapqISD8YEBGRX2ratKnN31euXMEjjzyCgoIC8d8333yD77//HqmpqWjevDkOHjyI9957D/Hx8Xj66aeRmZmJsrIyBAcHY+vWrdi0aRPS0tLwyiuvoFOnTmLQEhQUVK/57Nq1ax6niYj0gwEREenS3r17bf7+6quv0KFDBwQHB0tuf+ONN+Lbb79F+/bt6/0LCQkBADRq1AgDBw7EkiVLcPjwYZw6dQrbt28HABgMBvTu3RsLFizAoUOHEBISIjZ/RUdHo6SkRPyu2tpaHD161OkxKEkTEekDAyIi0qXi4mLMnDkTJ06cwHvvvYdXXnkFf/jDH2S3nzNnDvbs2YNp06ahoKAA33//Pf7973+LHZg3bNiAl19+GQUFBTh9+jTefvttmM1mdOrUCXv37sWiRYuwf/9+FBcXY926dbhw4QK6dOkCALj99tuxceNGbNy4EcePH8eUKVNQVlbm9BicpYmI9KOR1gkgIpIyevRoVFVV4aabbkJwcDD+8Ic/iEPZpWRkZGDnzp3405/+hNtuuw2CICA1NRUjRowAALRo0QLr1q3Ds88+i6tXr6JDhw547733cMMNN+C7777Drl27sHTpUpSXl6Nt27b461//iiFDhgAAxo8fj2+++QajR49Go0aNMGPGDPTv39/pMThLExHpB0eZEZHuSI3qIiLyJjaZERERUcBjQEREREQBj01mREREFPBYQ0REREQBjwERERERBTwGRERERBTwGBARERFRwGNARERERAGPAREREREFPAZEREREFPAYEBEREVHAY0BEREREAe//AZgQYx7jt1AvAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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dWucPXs24HH/1o1///vfqK2txTvvvIP09HTP45s2bQpafqN17twZ+/fvh9vt9mmdOXjwoOd5QD5QIyL1mDNDRAAapuMfOHAgli1bhgsXLqBdu3YYNmwYXnjhBZSXlwe8/vTp055/f//99z7PNW/eHF27dkVtba3s5+Xl5QEAnn76aZ/Hly1bFvDarKwsuFwu7N+/3/NYeXl5wCy8sbGxAABBEDyPuVwurFq1SrYc4fKrX/0KJ0+exNq1az2P/fjjj3jmmWfQvHlzDB06FACQmJgIAJLBGhGpw5YZIvL43e9+h1//+tdYvXo17r77bjz33HMYPHgwsrOzMWPGDHTp0gXfffcdtm/fjuPHj2Pfvn0AgF69emHYsGHo168fkpOTsXPnTrzxxhuYPXu27GddfvnlmDRpEp5//nm4XC5cddVV+OSTT3DkyJGA195yyy2YN28exo0bhzlz5qC6uhrLly9H9+7dsXv3bs/rrr32WsTFxeH666/HXXfdhfPnz2PlypVo166dZEAWTnfeeSdeeOEFTJ06Fbt27UJGRgbeeOMNfPbZZ1i2bBlatGgBoCFhuVevXli7di26d++O5ORk9O7dG717945oeYlszezhVEQUWeLQ7KKiooDn6uvrhaysLCErK0v48ccfBUEQhOLiYuG2224TOnToIDRt2lTo1KmTcN111wlvvPGG532LFy8WBg4cKLRq1UpISEgQevbsKTz++ONCXV2d5zVSw6hramqEOXPmCG3atBGSkpKE66+/XigrK5McqvzRRx8JvXv3FuLi4oQePXoIr776quQ233nnHaFPnz5Cs2bNhIyMDGHp0qXC3/72NwGAUFJS4nmdlqHZwYady23vu+++E6ZNmya0bdtWiIuLE7Kzs4VVq1YFvHfbtm1Cv379hLi4OA7TJtLBIQhe7bFERERENsOcGSIiIrI1BjNERERkawxmiIiIyNYYzBAREZGtMZghIiIiW2MwQ0RERLYW9ZPmud1unDhxAi1atOC04URERDYhCALOnTuHjh07BizYKvVi02zZskW47rrrhNTUVAGAsH79es9zdXV1wty5c4XevXsLiYmJQmpqqnDrrbcK3377rabPECfg4h//+Mc//vGPf/b7KysrC3qtN7VlpqqqCjk5OZg+fTrGjx/v81x1dTV2796NBQsWICcnB2fOnMF9992HG264ATt37lT9GeKU4WVlZWjZsqWh5SciIqLwqKysRFpamuc6rsQyMwA7HA6sX78eY8eOlX1NUVERBg4ciGPHjvmsiKuksrISTqcTLpeLwQwREZFNaLl+2ypnxuVyweFwoFWrVrKvqa2t9Vmpt7KyMgIlIyIiIrPYZjTThQsXMG/ePEyaNEkxQisoKIDT6fT8paWlRbCUREREFGm2CGYuXryIm2++GYIgYPny5YqvnT9/Plwul+evrKwsQqUkIiIiM1i+m0kMZI4dO4aNGzcG7TeLj49HfHx8hEpHRERWUl9fj4sXL5pdDFKhadOmiI2NNWRblg5mxEDm8OHD2LRpE9q0aWN2kYiIyIIEQcDJkydx9uxZs4tCGrRq1QodOnQIeR44U4OZ8+fP48iRI57/l5SUYO/evUhOTkZqaipuuukm7N69G++++y7q6+tx8uRJAEBycjLi4uLMKjYREVmMGMi0a9cOiYmJnCTV4gRBQHV1NU6dOgUASE1NDWl7pg7N3rx5M4YPHx7w+JQpU7Bw4UJkZmZKvm/Tpk0YNmyYqs/g0GwiouhWX1+Pr7/+Gu3atWMLvs18//33OHXqFLp37x7Q5WSbodnDhg2DUixlkSlwiIjIwsQcmcTERJNLQlqJv9nFixdDyp+xxWgmIiKiYNi1ZD9G/WYMZoiIiMjWGMwQERFRWGzevBkOhyPso8wYzFhEuasG24orUO6qMbsoRERkEwsXLsTll19udjFMZ+l5ZhqLtUWlmL/uANwCEOMACsZnY+IAdQtpEhERBXPx4kU0bdrU7GKEDVtmTFbuqvEEMgDgFoCH133BFhoiokbA7XajoKAAmZmZSEhIQE5ODt544w0AP3fRfPLJJ+jfvz8SExNx1VVX4dChQwCA1atXY9GiRdi3bx8cDgccDgdWr14NoCGxdvny5bjhhhuQlJSExx9/XLEc4md9+OGH6Nu3LxISEnDNNdfg1KlT2LBhAy699FK0bNkSkydPRnV1ted9tbW1mDNnDtq1a4dmzZph8ODBKCoqCs/OUsBgxmQlFVWeQEZULwg4WlEt/QYiIgqbSHf5FxQU4JVXXsGKFSvw5Zdf4oEHHsBvf/tbbNmyxfOa//mf/8Gf/vQn7Ny5E02aNMH06dMBABMnTsT/+3//D5dddhnKy8tRXl6OiRMnet63cOFCjBs3DgcOHPC8J5iFCxfi2WefxbZt21BWVoabb74Zy5Ytw2uvvYb33nsPH330EZ555hnP6+fOnYs333wTL7/8Mnbv3o2uXbti1KhR+OGHHwzaQ+qwm8lkmW2TEOOAT0AT63Agoy3nSyAiiqRId/nX1tbiiSeewP/93/8hNzcXANClSxcUFhbihRdewJ133gkAePzxxzF06FAAQH5+PsaMGYMLFy4gISEBzZs3R5MmTdChQ4eA7U+ePBnTpk3TVKbFixdj0KBBAIDbb78d8+fPR3FxMbp06QIAuOmmm7Bp0ybMmzcPVVVVWL58OVavXo28vDwAwMqVK/Hxxx/jpZdewu9+9zt9O0YHtsyYLNWZgILx2Yj9aax9rMOBJ8b3RqozweSSERE1HmZ0+R85cgTV1dX45S9/iebNm3v+XnnlFRQXF3te16dPH8+/xWn/xWUAlPTv319zmbw/q3379khMTPQEMuJj4mcXFxfj4sWLnuAHaFg8cuDAgfjqq680f3Yo2DJjARMHpGNI9xQcrahGRttEBjJERBGm1OUfrjr5/PnzAID33nsPnTp18nkuPj7eE9B4J+6Kk8y53e6g209KStJcJv/P8k8adjgcqj470hjMWESqM4FBDBGRSczo8u/Vqxfi4+NRWlrq6Uby5t06IycuLg719fXhKF5QWVlZiIuLw2effYbOnTsDaBg1VVRUhPvvvz+iZWEwQ0REjZ7Y5f/wui9QLwgR6fJv0aIFHnroITzwwANwu90YPHgwXC4XPvvsM7Rs2dITICjJyMhASUkJ9u7di0suuQQtWrRAfHx82MrsLSkpCffccw9+97vfITk5Genp6XjyySdRXV2N22+/PSJlEDGYISIigjld/r///e+RkpKCgoICfPPNN2jVqhWuuOIKPPzww6q6cyZMmIB169Zh+PDhOHv2LFatWoWpU6eGvdyiJUuWwO1249Zbb8W5c+fQv39/fPjhh2jdunXEygAADiHKl6bWsoQ4ERHZz4ULF1BSUoLMzEw0a9bM7OKQBkq/nZbrN0czERERka0xmCEiIopyd999t8/wb++/u+++2+zihYw5M0RERFHusccew0MPPST5XDSkYDCYISIiinLt2rVDu3btzC5G2LCbiYiIiGyNwQwREUUFK85MS8qM+s3YzURERLYWFxeHmJgYnDhxAikpKYiLi/NM+0/WJAgC6urqcPr0acTExCAuLi6k7TGYISIi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awxmiIiIyNYYzBAREZGtMZghIiIiW2MwQ0RERLbGYIaIiIhsjcEMERER2RqDGSIiIrI1BjNERERkawxmiIiIyNYYzBAREZGtMZghIiIiW2MwQ0RERLbGYIYoypS7arCtuALlrhqzi0JEFBFNzC4AERlnbVEp5q87ALcAxDiAgvHZmDgg3exiERGFFVtmiKJEuavGE8gAgFsAHl73BVtoiCjqMZghihIlFVWeQEZULwg4WlFtToGIiCKEwQzZCvNB5GW2TUKMw/exWIcDGW0TzSkQEVGEMJgh21hbVIpBSzZi8sodGLRkI9YWlZpdJEtJdSagYHw2Yh0NEU2sw4EnxvdGqjPB5JIREYWXQxAEIfjL7KuyshJOpxMulwstW7Y0uzikU7mrBoOWbPTpRol1OFCYP5wXaz/lrhocrahGRttE7hsisi0t12+OZiJbUMoH4QXbV6ozgfuEiBoVdjORLTAfhIiI5DCYIVtgPggREclhNxPZxsQB6RjSPYX5IERE5IPBDNkK80GIiMif6mCmsrJS9UY5aoiIiIgiRXUw06pVKzgcDsXXCIIAh8OB+vr6kAtGREREpIbqYGbTpk3hLAcRERGRLqqDmaFDh4azHERERES66E4APnv2LF566SV89dVXAIDLLrsM06dPh9PpNKxwRERERMHommdm586dyMrKwp///Gf88MMP+OGHH/DUU08hKysLu3fvNrqMRERERLJ0rc109dVXo2vXrli5ciWaNGlo3Pnxxx9xxx134JtvvsHWrVsNL6heXJuJiIjIfrRcv3UFMwkJCdizZw969uzp8/h///tf9O/fH9XV1Vo3GTYMZoiIiOxHy/VbVzdTy5YtUVpaGvB4WVkZWrRooWeTRERERLroCmYmTpyI22+/HWvXrkVZWRnKysrw+uuv44477sCkSZOMLiMRERGRLF2jmf74xz/C4XDgtttuw48//ggAaNq0Ke655x4sWbLE0AISERERKdGVMyOqrq5GcXExACArKwuJiYmGFcwozJkhIiKyHy3X75AWmkxMTER2dnYomyAiIiIKia5g5sKFC3jmmWewadMmnDp1Cm632+d5zjVDREREkaIrmLn99tvx0Ucf4aabbsLAgQODLkBJREREFC66gpl3330X77//PgYNGmR0eYiIiIg00TU0u1OnTpxPhoiIiCxBVzDzpz/9CfPmzcOx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HnfddRf27t3r+du3bx8OHz6MrKwstGjRArt378aaNWuQmpqKRx55BDk5OTh79ixiY2Px8ccfY8OGDejVqxeeeeYZ9OjRwxNwxMTEBHQ5Xbx4MeQyEZG1MJghIkPt2LHD5///+c9/0K1bN8TGxkq+/oorrsB///tfdO3aNeAvLi4OANCkSROMHDkSTz75JPbv34+jR49i48aNAACHw4FBgwZh0aJF2LNnD+Li4jxdRikpKSgvL/d8Vn19Pb744oug30FNmYjIOhjMEJGhSktL8eCDD+LQoUNYs2YNnnnmGdx3332yr583bx62bduG2bNnY+/evTh8+DDefvttT7Ltu+++i6effhp79+7FsWPH8Morr8DtdqNHjx7YsWMHnnjiCezcuROlpaVYt24dTp8+jUsvvRQAcM011+C9997De++9h4MHD+Kee+7B2bNng36HYGUiImtpYnYBiCi63HbbbaipqcHAgQMRGxuL++67zzPcWUqfPn2wZcsW/M///A+uvvpqCIKArKwsTJw4EQDQqlUrrFu3DgsXLsSFCxfQrVs3rFmzBpdddhm++uorbN26FcuWLUNlZSU6d+6MP/3pT8jLywMATJ8+Hfv27cNtt92GJk2a4IEHHsDw4cODfodgZSIia+FoJiIyjNToISKicGM3ExEREdkagxkiIiKyNXYzERERka2xZYaIiIhsjcEMERER2RqDGSIiIrI1BjNERERkawxmiIiIyNYYzBAREZGtMZghIiIiW2MwQ0RERLbGYIaIiIhs7f8D+wfn2xM8vM8AAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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06dPx+DBg9G9e3fZQdYAYPPmzbjttttw7tw5REREAABWrlyJrKwsXLx4EX5+fsjKysKmTZtw/Phx6XNjx45FeXk5tmzZ0hCHRERERG7ObQZmrKurw0cffYTKykqkpqZKy9977z28++67iIyMxO23347FixdLpUR5eXlISkqSgiEASE9Px6xZs3DixAn06NEDeXl5RlMGpKenWz0btkajwblz59CyZUsOk09EROQhhBD4/fffER0dbTRRsi6XB0THjh1Damoqrl69ihYtWuDTTz9FYmIiAGD8+PFo3749oqOjcfToUWRlZeHUqVPYsGEDAKC0tFQvGAIg/bu0tNTkNhUVFaiurkZAQIBsumpqavSmDPj111+ldBEREZFnOXv2LNq1a6e43uUBUZcuXVBQUAC1Wo2PP/4YkydPxu7du5GYmIj7779f2i4pKQlRUVEYOnQoCgsL0bFjR6emKzs7G0uWLDFafvbsWQQFBTn1u4mIiMgxKioqEBMTI011o8TlAZGfnx86deoEAOjVqxfy8/OxfPlyvPnmm0bb9u3bFwBw+vRpdOzYEZGRkfjmm2/0tjl//jwAIDIyUvp/7TLdbYKCghRLhwBg0aJFePjhh6V/a0+otkccEREReQ5zzV3cbhwijUajOLt1QUEBACAqKgoAkJqaimPHjuHChQvSNtu2bUNQUJBUvZWamort27fr7Wfbtm167ZTk+Pv7S8EPgyAiIqLGzaUlRIsWLUJGRgZiY2Px+++/Y926ddi1axe2bt2KwsJCrFu3DrfeeivatGmDo0ePYv78+UhLS0NycjKA+lmpExMTMXHiRCxbtgylpaV48sknMXv2bPj7+wMAZs6ciX/+85947LHHMG3aNOzYsQMffvghNm3a5MpDJyIiIjfi0oDowoULmDRpEkpKShAcHIzk5GRs3boVf/nLX3D27Fn873//wyuvvILKykrExMRg9OjRePLJJ6XP+/r6YuPGjZg1axZSU1PRvHlzTJ48WW/covj4eGzatAnz58/H8uXL0a5dO6xevZpjEBEREZHE7cYhclcVFRUIDg6GWq1m9RkRUSNTV1eHa9euuToZZIOmTZvC19dXcb2lz2+XN6omIiJyFSEESktLUV5e7uqkkB1CQkIQGRlp1ziBDIiIiMhraYOh8PBwBAYGcuBdDyOEQFVVldS5StvpyhYMiIiIyCvV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fGhz+Kj0l/mqVIgLDXRNgoiIiLwQAyIXiwoOQPaoJPiq6qMiX5UKS0d1Q1Sw8sSzRERE5FhsVO0GxvSJRVrnMJwpq0JcaCCDISIiogbGgMhNRAUHMBAiIiJyEVaZERERkddjQERERERejwEREREReT0GREREROT1GBARERGR12NARERERF6PARERERF5PQZERERE5PUYEBEREZHXY0BEREREXo8BEREREXk9BkRERETk9RgQERERkddjQERERERejwEREREReT0GRG6iRF2N3MIylKirXZ0UIiIir9PE1QkgYH1+MRZtOAaNAHxUQPaoJIzpE+vqZBEREXkNlhC5WIm6WgqGAEAjgMc3HGdJERERUQNiQORiRWWVUjCkVScEzpRVuSZBREREXogBkYvFhzaHj0p/ma9KhbjQQNckiIiIyAsxIHKxqOAAZI9Kgq+qPiryVamwdFQ3RAUHuDhlRERE3oONqt3AmD6xSOschjNlVYgLDWQwRERE1MAYELmJqOAABkJEREQuwiozIiIi8noMiIiIiMjrMSAiIiIir8eAiIiIiLweAyIiIiLyei4NiLKzs9GnTx+0bNkS4eHhGDlyJE6dOqW3zeDBg6FSqfT+Zs6cqbdNcXExMjMzERgYiPDwcCxYsADXr1/X22bXrl3o2bMn/P390alTJ6xdu9bZh0dEREQewqUB0e7duzF79mx8/fXX2LZtG65du4bhw4ejsrJSb7v77rsPJSUl0t+yZcukdXV1dcjMzERtbS1yc3PxzjvvYO3atXjqqaekbYqKipCZmYkhQ4agoKAA8+bNw4wZM7B169YGO1YiIiJyXyohhDC/WcO4ePEiwsPDsXv3bqSlpQGoLyHq3r07XnnlFdnPbN68GbfddhvOnTuHiIgIAMDKlSuRlZWFixcvws/PD1lZWdi0aROOHz8ufW7s2LEoLy/Hli1bLEpbRUUFgoODoVarERQUZN+BEhERUYOw9PntVm2I1Go1AKB169Z6y9977z2EhoaiW7duWLRoEaqq/pz4NC8vD0lJSVIwBADp6emoqKjAiRMnpG2GDRumt8/09HTk5eUppqWmpgYVFRV6f0RERNQ4uc1I1RqNBvPmzUP//v3RrVs3afn48ePRvn17REdH4+jRo8jKysKpU6ewYcMGAEBpaaleMARA+ndpaanJbSoqKlBdXY2AAOMRorOz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z4EWz4NrzwEbVRMREZHXYwkREREReT0GREREROT1GBARERGR12NARERERF6PAZEDrFixAsnJydJAUqmpqdi8ebO0/urVq5g9ezbatGmDFi1aYPTo0Th//rzePoqLi5GZmYnAwECEh4djwYIFuH79ekMfisPk5ORApVJh3rx50rLGfh6eeeYZqFQqvb+EhARpfWM/fl2//vor7r33XrRp0wYBAQFISkrCwYMHpfVCCDz11FOIiopCQEAAhg0bhh9//FFvH5cuXcKECRMQFBSEkJAQTJ8+HVeuXGnoQ7FJXFyc0bWgUqkwe/ZsAN5xLdTV1WHx4sWIj49HQEAAOnbsiOeee05vPqnGfh0A9dNFzJs3D+3bt0dAQAD69euH/Px8aX1jPAd79uzB7bffjujoaKhUKnz22Wd66x11zEePHsXAgQPRrFkzxMTEYNmyZfYlXJDdPv/8c7Fp0ybxww8/iFOnTonHH39cNG3aVBw/flwIIcTMmTNFTEyM2L59uzh48KC4+eabRb9+/aTPX79+XXTr1k0MGzZMHD58WHz55ZciNDRULFq0yFWHZJdvvvlGxMXFieTkZPHQQw9Jyxv7eXj66afFjTfeKEpKSqS/ixcvSusb+/FrXbp0SbRv315MmTJFHDhwQPz0009i69at4vTp09I2OTk5Ijg4WHz22WfiyJEj4o477hDx8fGiurpa2mbEiBEiJSVFfP3112Lv3r2iU6dOYty4ca44JKtduHBB7zrYtm2bACB27twphPCOa+GFF14Qbdq0ERs3bhRFRUXio48+Ei1atBDLly+Xtmns14EQQtxzzz0iMTFR7N69W/z444/i6aefFkFBQeKXX34RQjTOc/Dll1+KJ554QmzYsEEAEJ9++qneekccs1qtFhEREWLChAni+PHj4v333xcBAQHizTfftDndDIicpFWrVmL16tWivLxcNG3aVHz00UfSuu+//14AEHl5eUKI+ovHx8dHlJaWStusWLFCBAUFiZqamgZPuz1+//13ccMNN4ht27aJQYMGSQGRN5yHp59+WqSkpMiu84bj18rKyhIDBgxQXK/RaERkZKR46aWXpGXl5eXC399fvP/++0IIIb777jsBQOTn50vbbN68WahUKvHrr786L/FO8tBDD4mOHTsKjUbjNddCZmammDZtmt6yUaNGiQkTJgghvOM6qKqqEr6+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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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37Bhg9P0+1qbNm2wd+9emEwmq9KZAwcOmD8H1AM1InId28wQEYDa4fh79uyJV199FZcuXUJ8fDz69++PRYsWoaSkxG79M2fOmP/7119/tfqscePGaNeuHaqqqlT3l52dDQB4/fXXrZa/+uqrduumpqbCaDRi79695mUlJSV2o/CGhYUBAIQQ5mVGoxFLly5VTYe//P73v8epU6ewcuVK87IrV67gjTfeQOPGjdGvXz8AQGRkJAAoBmtE5BqWzBCR2VNPPYU//OEPWLZsGf70pz/hzTffRN++fZGeno4HHngAbdu2xS+//IItW7bg559/xp49ewAAnTp1Qv/+/dGtWzc0a9YM27dvx0cffYRHHnlEdV/XX389Ro8ejbfeegtGoxG9e/fGN998gyNHjtite/fdd2P69Om44447MGXKFFRUVGDBggVo3749du7caV7vlltuQXh4OG677TY89NBDuHDhAhYvXoz4+HjFgMyfHnzwQSxatAhjx47Fjh07kJycjI8++gjfffcdXn31VURHRwOobbDcqVMnrFy5Eu3bt0ezZs3QuXNndO7cOaDpJdK0YHenIqLAkrtmFxQU2H1WU1MjUlNTRWpqqrhy5YoQQojCwkLxxz/+UbRs2VI0bNhQtG7dWtx6663io48+Mn/vhRdeED179hRNmjQRer1epKWliblz54rq6mrzOkrdqCsrK8WUKVNE8+bNRVRUlLjttttEcXGxYlflr776SnTu3FmEh4eLDh06iA8++EBxm5999pno0qWLaNSokUhOThbz588X7777rgAgioqKzOu50zXbWbdzte398ssvYty4cSI2NlaEh4eL9PR0sXTpUrvv5ufni27duonw8HB20ybygCSERXksERERkcawzQwRERFpGoMZIiIi0jQGM0RERKRpDGaIiIhI0xjMEBERkaYxmCEiIiJNq/OD5plMJpw8eRLR0dEcNpyIiEgjhBA4f/48WrVqZTdhq9LKQbNp0yZx6623ioSEBAFArF692vxZdXW1mDZtmujcubOIjIwUCQkJ4v777xcnTpxwax/yAFz84x//+Mc//vFPe3/FxcVOn/VBLZm5ePEiMjIyMH78eIwYMcLqs4qKCuzcuRMzZ85ERkYGzp07h8ceewzDhg3D9u3bXd6HPGR4cXExYmJifJp+IiIi8o/y8nIkJiaan+OOhMwIwJIk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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "surrogate_scatter2D(keras_surrogate, data_training)\n", "surrogate_parity(keras_surrogate, data_training)\n", @@ -960,129 +318,7 @@ "cell_type": "code", "execution_count": 8, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "4/4 [==============================] - 0s 5ms/step\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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ljB06FAhMTFRCA4OFpo3by507txZWLRokVBdXW2zf1VVlTBr1iwhOTlZCAwMFGJjY4X7779fOHHihHWf3NxcIS0tTQgODhbatWsnrF271jpcvLYjR44IvXr1EkJCQgQANkPbX3jhBeHGG28U1Gp1vaHtmzZtEv70pz8JoaGhQmhoqNCuXTth4sSJwtGjR22OjaOh/nVZynfhwgWH+9Udzm7x6quvCu3atRMCAwOFmJgY4YknnhB+++03m30uXbokjBw5UoiIiBAAcGg7US0qQfDAwjBEREREMsA+PkRERKQYDD5ERESkGAw+REREpBgMPkRERKQYDD5ERESkGAw+REREpBicwLAOk8mEM2fOICwsjNO+ExERyYQgCKisrER8fDzUavv1Ogw+dZw5cwatWrUSuxhERETkhl9//RUJCQl272fwqSMsLAyA+cA5WneIiIiIpKOiogKtWrWyXsftYfCpw9K8FR4ezuBDREQkM411U2HnZiIiIlIMBh8iIiJSDAYfIiIiUgz28SEiIvIAo9GIq1evil0MvxUYGAiNRtPk55FN8Jk3bx7y8vJw5MgRhISEoEePHliwYAHatm1r3efKlSt45pln8N5776G6uhoZGRl4/fXXERMTI2LJiYjInwmCgLNnz6K8vFzsovi9iIgIxMbGNmmePdkEn127dmHixIno2rUrrl27hr///e8YMGAAfv75Z4SGhgIAnn76aWzduhUffvghtFotcnJyMGzYMOzZs0fk0hMRkb+yhJ7o6Gg0b96ck996gSAIqKqqwvnz5wEAcXFxbj+XShAEwVMF86ULFy4gOjoau3btQq9evWAwGBAVFYWNGzfi/vvvBwAcOXIEN998M/Lz83HnnXc69bwVFRXQarUwGAwczk5ERA4ZjUb88ssviI6Ohk6nE7s4fk+v1+P8+fO46aab6jV7OXv9lm3nZoPBAACIjIwEAOzfvx9Xr15F//79rfu0a9cOrVu3Rn5+vihlJCIi/2bp09O8eXORS6IMluPclL5Usmnqqs1kMmHy5Mno2bMnbrnlFgDmqsagoCBERETY7BsTE4OzZ8/afa7q6mpUV1dbb1dUVHilzERE5L/YvOUbnjjOsgw+EydORGFhIXbv3t3k55o3bx7mzp3rgVLJn16vR01Njd37g4KCWJVLRESyJrvgk5OTgy1btuDrr7+2WYQsNjYW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wYeIiIgUg8GHiIiIFIPBh4iIiBSDwYeIiIgUg8GHiIiIFIPBh4iIiBSDwYeIZKOmpkbsItQjxTIRkX0MPkQkmj59+iAnJwc5OTnQarVo2bIlnn32WVhW0klKSsILL7yARx99FOHh4cjOzgYA7N69G3fddRdCQkLQqlUrTJo0CZcvX7Y+7+uvv460tDQ0a9YMMTExuP/++633ffTRR+jYsSNCQkKg0+nQv39/62P79OmDyZMn25Rx6NChGDNmjPW2u2UiImlg8CEiUa1fvx4BAQH47rvvsHz5cixZsgT/+Mc/rPe/8sor6NSpEw4cOIBnn30WJ06cwMCBAzF8+HAcOnQI77//Pnbv3o2cnBwAwA8//IBJkybh+eefx9GjR/HZZ5+hV69eAIDS0lI89NBDGDt2LA4fPoyvvvoKw4YNg6tLFrpaJiKSDi5SSkSi6dOnD86fP4///ve/UKlUAIAZM2bg008/xc8//4ykpCR07twZH3/8sfUx48aNg0ajwapVq6zbdu/ejd69e+Py5cv497//jcceewwlJSUICwuz+X0FBQVIT09HcXExEhMTGyzPbbfdhmXLllm3DR06FBEREVi3bh0AuFWmZs2aNek4EZHnsMaHiER15513WkMPAHTv3h3Hjh2D0WgEANx+++02+//4449Yt24dWrRoYf2XkZEBk8mEoqIi3HPPPUhMTESbNm3wyCOP4J133kFVVRUAoFOnTujXrx86duyIv/zlL3jrrbfw22+/uVxmV8tERNLB4ENEkhYaGmpz+9KlSxg/fjwOHjxo/ffjjz/i2LFjSElJQVhYGAoKCvDuu+8iLi4Os2fPRqdOnVBeXg6NRoMdO3Zg27ZtaN++PVauXIm2bdtaw4lara7X7HX16tUml4mIpIPBh4hEtW/fPpvb3377LdLS0qDRaBrcv0uXLvj555+Rmppa719QUBAAICAgAP3798fChQtx6NAhFBcX48svvwQAqFQq9OzZE3PnzsWBAwcQFBRkbbaKiopCaWmp9XcZjUYUFhY2+hqcKRMRSQODDxGJ6tSpU5gyZQqOHj2Kd999FytXrsRTTz1ld//p06dj7969yMnJwcGDB3Hs2DH861//snYk3rJlC1asWIGDBw/i5MmTePvtt2EymdC2bVvs27cPL7/8Mn744QecOnUKeXl5uHDhAm6++WYAQN++fbF161Zs3boVR44cwRNPPIHy8vJGX0NjZSIi6QgQuwBEpGyPPvoofv/9d9xxxx3QaDR46qmnrEPEG3Lrrbdi165dmDVrFu666y4IgoCUlBSMGDECABAREYG8vDzMmTMHV65cQVpaGt5991106NABhw8fxtdff41ly5ahoqICiYmJWLx4MQYNGgQAGDt2LH788Uc8+uijCAgIwNNPP42777670dfQWJmISDo4qouIRNPQKCoiIm9iUxcREREpBoMPERERKQabuoiIiEgxWONDREREisHgQ0RERIrB4ENERESKweBDREREisHgQ0RERIrB4ENERESKweBDREREisHgQ0RERIrB4ENERESK8f8BKTkfuivYzxoAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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KKBSqRAWFuawz2DOjh3anh5zx9PStMNbaWkMPURERHWx9fvbK4a6Dhw4gD///BMymQydO3dGfHw8+vbta9Tjk5eXhw4dOuhDDwD07t0bFRUV+N///mfxta9du4aKigqjH1dp3drcsJZAaOhZyOUlaNOmBHJ5CUpKtD9KpdJlbSMiImqMvGKo648//gAAzJgxAwsWLEBycjLmz5+Pu+66C7///jsiIiJQWlpqFHoA6B+XlpZafO3Zs2dj5syZzmu8FYmJwJw52mEtjQaQJA369duMzZsPWnxOTk4OIiMjXdhKIiKixsOtPT5TpkyBJElWf3777Tdo/i6CmTZtGgYNGoSMjAysXLkSkiTh448/blAbpk6dCpVKpf85ffq0Iz6aTVasMAw9Ar16fY30dMuhBwCqqqpc1DoiIqLGx609PhMmTMCIESOsXtOqVSuUlJQAANq1a6c/HhgYiFatWuHUqVMAgLi4OPz0009Gzz179qz+nCWBgYEIDAy0p/kNYlrYLISEr7/uhZtuyodCUeny9hAREfkCtwaf6OhoREdH13ldRkYGAgMDcezYMdxxxx0AgOrqahQVFSEpKQkAkJmZiZdffhnnzp1DTEwMAGD79u0ICwszCkyewtx6PULIUFYWweBDRETkJF5R4xMWFoannnoKL7zwAlq0aIGkpCTMmzcPAPDQQw8BAO677z60a9cOw4YNw6uvvorS0lL85z//wZgxY9zSo1MXXWGzYfiRJA0iIsrc1ygiIqJGziuCDwDMmzcPfn5+GDZsGP766y907doV3377LZo1awYAkMvl2Lx5M55++mlkZmYiJCQEw4cPx4svvujmlpuXmAgsX67djkK7Xo9Av36b2dtDRETkRF6xjo8ruWodH6VSiaqqKpw5I0NRkR/Cws5hz56P6nzeqFGjEB8f77R2EREReSNbv7+9psenMVEqlViyZIm7m0FERORzvGIBw8amIVPSbV2BmoiIiGpjj48bqFQqm64bOHAgoqKi9I8DAgK4eCEREVEDMPi4mFKpxPr16226NioqivU8REREDsShLherqqqCShWKwsJkqFSh7m4OERGRT2GPj4utXRuEhQtzIYQMkqTBgAGb69ymgoiIiByDPT4uVFwMTJqkgBDa2y6EDJs29WfPDxERkYsw+LiQdpsKyeiYbpsKIiIicj4GHxcpLgbOn9fuwm7I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s3LlSsTExKBfv376Y77yuwAAV65cgUxm/BUil8uh0WgA+N7vQ0hICOLj43Hx4kV89dVX+Oc//+lz9wBw3D/3zMxMfP/996iurtZfs337drRp06ZBw1wAOJ3dkilTpoidO3eKwsJCceTIETFlyhQhSZLYtm2bEEI7ZbVly5bi22+/FT///LPIzMwUmZmZ+ufrpqzed9994tChQ+LLL78U0dHRXjdl1ZThrC4hfOc+TJgwQXz33XeisLBQ7N69W/Tq1UtERUWJc+fOCSF84z789NNPws/PT7z88svi+PHj4oMPPhDBwcHi/fff118zZ84cER4eLv773/+KI0eOiH/+859mp7F27txZ7N27V+zatUu0bt3ao6fumqNWq0XLli3F5MmTa53zhd8FIYQYPny4aN68uX46+8aNG0VUVJSYNGmS/hpf+H348ssvxdatW8Uff/whtm3bJjp16iS6du0qqqqqhBCN8x5UVlaKgwcPioMHDwoAYsGCBeLgwYPi5MmTQgjHfOby8nIRGxsrhg0bJvLz88W6detEcHAwp7M708iRI0VSUpIICAgQ0dHR4p577tGHHiGE+Ouvv8S//vUv0axZMxEcHCz+3//7f6KkpMToNYqKikTfvn1FUFCQiIqKEhMmTBDV1dWu/igOZRp8fOU+ZGVlifj4eBEQECCaN28usrKyjNav8ZX7sGnTJnHTTTeJwMBA0bZtW7F8+XKj8xqNRjz//PMiNjZWBAYGinvuuUccO3bM6BqlUimGDBkimjZtKsLCwsTjjz8uKisrXfkxGuyrr74SAGp9NiF853ehoqJCPPPMM6Jly5aiSZMmolWrVmLatGlG04994fdh/fr1olWrViIgIEDExcWJMWPGiPLycv35xngPduzYIQDU+hk+fLgQwnGf+fDhw+KOO+4QgYGBonnz5mLOnDkOab8khMEym0RERESNGGt8iIiIyGcw+BAREZHPYPAhIiIin8HgQ0RERD6DwYeIiIh8BoMPERER+QwGHyIiIvIZDD5ERETkMxh8iKjB7rrrLuTm5rq7GU43Y8YM3Hzzze5uBhE1AIMPEfm8qqoql76fEAI1NTUufU8i0mLwIaIGGTFiBHbu3IlFixZBkiRIkoSioiLk5+ejb9++aNq0KWJjYzFs2DBcuHBB/7y77roLY8eORW5uLpo1a4bY2Fi88847uHz5Mh5/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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "4/4 [==============================] - 0s 4ms/step\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAm4AAAHHCAYAAAAGU9SoAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABf+ElEQVR4nO3dfVzN5+M/8Nfp/oYKpUKR23IzoqnTsJnmsCw2PsMM0WyMmftiSLYRwzY34/v52MTmfjZyG8vNbspdwtyUjRIjMSpF99fvj369dZwTxTmdczqv5+NxHpzrfZ33uU7v6bx2Xe/rumRCCAEiIiIi0nsmum4AEREREVUOgxsRERGRgWBwIyIiIjIQDG5EREREBoLBjYiIiMhAMLgRERERGQgGNyIiIiIDweBGREREZCAY3IiIiIgMBIMbEdFzkslkmDNnjq6bIQkODkaTJk103Qwi0gIGNyKqkaKioiCTyaSHlZUVWrZsiXHjxuHWrVtafe+4uDjMmTMHmZmZGj3vK6+8ovSZ6tatixdffBHfffcdSkpKNPIe8+bNw/bt2zVyLiLSPDNdN4CISJvmzp0LDw8P5OXl4ffff8fKlSuxZ88enDt3DjY2Nhp5j4cPH8LM7NGv07i4OERERCA4OBgODg4aeY8yjRo1wvz58wEAt2/fxrp16xASEoJLly4hMjLyuc8/b948DBgwAP369XvucxGR5jG4EVGN1rt3b/j4+AAA3nvvPdSrVw9LlizBjh07MHjw4Gc+b0lJCQoKCmBlZQUrKytNNfep7O3t8e6770rPP/jgA7Rq1QrLly/Hp59+CnNz82prCxFVPw6VEpFRefXVVwEAKSkpAIBFixbB398f9erVg7W1NTp16oQff/xR5XUymQzjxo3D+vXr0aZNG1haWmLfvn3SsbJ73ObMmYOpU6cCADw8PKRhzdTUVLz88sto37692na1atUKCoWiyp/HxsYGfn5+yM3Nxe3btyusl5ubi8mTJ8PNzQ2WlpZo1aoVFi1aBCGE0mfMzc3F2rVrpXYHBwdXuU1EpD3scSMio3L58mUAQL169QAAX3/9NYKCgjBkyBAUFBRg06ZN+M9//oNdu3YhMDBQ6bUHDx7Eli1bMG7cODg6OqqdAPDWW2/h0qVL2LhxI7788ks4OjoCAJycnDB06FCMGjUK586dQ9u2baXXnDhxApcuXcLMmTOf6TNduXIFpqamFQ7LCiEQFBSEQ4cOISQkBB06dEBMTAymTp2Kf/75B19++SUA4Pvvv8d7772Hzp074/333wcANGvW7JnaRERaIoiIaqA1a9YIAOKXX34Rt2/fFteuXRObNm0S9erVE9bW1uL69etCCCEePHig9LqCggLRtm1b8eqrryqVAxAmJibi/PnzKu8FQISHh0vPv/jiCwFApKSkKNXLzMwUVlZWIjQ0VKl8/PjxwtbWVuTk5DzxM7388svC09NT3L59W9y+fVtcvHhRjB8/XgAQb7zxhlRv+PDhonHjxtLz7du3CwDis88+UzrfgAEDhEwmE3///bdUZmtrK4YPH/7EdhCR7nColIhqtICAADg5OcHNzQ2DBg1CrVq18PPPP6Nhw4YAAGtra6nuvXv3kJWVha5du+LUqVMq53r55ZfRunXrZ26Lvb09+vbti40bN0pDlMXFxdi8eTP69esHW1vbp54jKSkJTk5OcHJygpeXF5YtW4bAwEB89913Fb5mz549MDU1xfjx45XKJ0+eDCEE9u7d+8yfiYiqF4dKiahGW7FiBVq2bAkzMzM4OzujVatWMDF59P+su3btwmeffYbTp08jPz9fKpfJZCrn8vDweO72DBs2DJs3b8Zvv/2Gbt264ZdffsGtW7cwdOjQSr2+SZMm+N///ictcdKiRQvUr1//ia+5evUqGjRogNq1ayuVe3l5SceJyDAwuBFRjda5c2dpVunjfvvtNwQFBaFbt2745ptv4OrqCnNzc6xZswYbNmxQqV++d+5ZKRQKODs744cffkC3bt3www8/wMXFBQEBAZV6va2tbaXrElHNw6FSIjJa27Ztg5WVFWJiYjBy5Ej07t1bI6FIXW9dGVNTU7zzzjv48ccfce/ePWzfvh2DBw+Gqanpc79vRRo3bowbN27g/v37SuVJSUnS8TJPajsR6R6DGxEZLVNTU8hkMhQXF0tlqampz71zQNm9ahXtnDB06FDcu3cPH3zwAXJycpTWZdOG119/HcXFxVi+fLlS+ZdffgmZTIbevXtLZba2thrf8YGINIdDpURktAIDA7FkyRL06tUL77zzDjIyMrBixQo0b94cZ8+efebzdurUCQDwySefYNCgQTA3N8cbb7whBTpvb2+0bdsWW7duhZeXFzp27KiRz1ORN954A927d8cnn3yC1NRUtG/f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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj4AAAHHCAYAAAC/R1LgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABLyUlEQVR4nO3deVzU1f7H8feALKIsLiBq4Fou2TXSNLgt6s9EK8m2X6tKmWVqZtoCZiJZiWZ202vavaV2y9QsM35qmZXaIvdmapYLmqZpJWqp4Mr6/f3BZXScQQcY+M7yej4e88A53+9854Nzu/P2nPM9x2IYhiEAAAAf4Gd2AQAAADWF4AMAAHwGwQcAAPgMgg8AAPAZBB8AAOAzCD4AAMBnEHwAAIDPIPgAAACfQfABAAA+g+ADwCNZLBaNHz/e7DKskpOT1bx5c7PLAHABBB8ALjN37lxZLBbrIzg4WJdccomGDx+uAwcOVOt7r127VuPHj9fRo0ddet1u3brZ/E7169fXlVdeqdmzZ6ukpMQl7/Hiiy9qyZIlLrkWgPOrZXYBALzPc889pxYtWuj06dP6+uuvNXPmTC1fvlybN29WSEiIS97j1KlTqlXrzP+FrV27Vunp6UpOTlZERIRL3qPMRRddpIkTJ0qSDh06pH/9618aNGiQduzYoYyMjCpf/8UXX9Ttt9+ufv36VflaAM6P4APA5fr06aPOnTtLkh588EE1aNBAU6dO1UcffaS777670tctKSlRQUGBgoODFRwc7KpyLyg8PFz33Xef9fnDDz+sNm3a6O9//7smTJiggICAGqsFQNUw1AWg2vXo0UOStHv3bknSlClTlJCQoAYNGqh27drq1KmT3n//fbvXWSwWDR8+XPPmzdOll16qoKAgffLJJ9ZjZXN8xo8fryeffFKS1KJFC+uw1J49e3TdddepY8eODutq06aNEhMTK/z7hISE6KqrrtKJEyd06NChcs87ceKERo8erZiYGAUFBalNmzaaMmWKDMOw+R1PnDiht956y1p3cnJyhWsC4Bx6fABUu127dkmSGjRoIEl69dVXlZSUpHvvvVcFBQVasGCB7rjjDi1dulQ33nijzWu/+OILvffeexo+fLgaNmzocALxrbfeqh07dmj+/Pl65ZVX1LBhQ0lSZGSk+vfvr8GDB2vz5s3q0KGD9TXr1q3Tjh07NHbs2Er9Tj///LP8/f3LHVYzDENJSUlatWqVBg0apMsvv1wrVqzQk08+qd9++02vvPKKJOntt9/Wgw8+qC5duuihhx6SJLVq1apSNQFwggEALjJnzhxDkvHZZ58Zhw4dMvbt22csWLDAaNCggVG7dm3j119/NQzDME6ePGnzuoKCAqNDhw5Gjx49bNolGX5+fsaWLVvs3kuSkZaWZn3+0ksvGZKM3bt325x39OhRIzg42Hj66adt2keMGGHUqVPHOH78+Hl/p+uuu85o27atcejQIePQoUPGtm3bjBEjRhiSjL59+1rPGzhwoNGsWTPr8yVLlhiSjOeff97merfffrthsViMnTt3Wtvq1KljDBw48Lx1AHANhroAuFzPnj0VGRmpmJgY3XXXXapbt64+/PBDNW3aVJJUu3Zt67lHjhxRbm6urrnmGm3YsMHuWtddd53at29f6VrCw8N18803a/78+dYhpuLiYi1cuFD9+vVTnTp1LniN7OxsRUZGKjIyUu3atdP06dN14403avbs2eW+Zvny5fL399eIESNs2kePHi3DMPTxxx9X+ncCUHkMdQFwuRkzZuiSSy5RrVq11KhRI7Vp00Z+fmf+nbV06VI9//zz+v7775Wfn29tt1gsdtdq0aJFlesZMGCAFi5cqK+++krXXnutPvvsMx04cED9+/d36vXNmzfXP//5T+st+hdffLGioqLO+5pffvlFTZo0UWhoqE17u3btrMcB1DyCDwCX69Kli/WurnN99dVXSkpK0rXXXqvXXntNjRs3VkBAgObMmaN3333X7vyze4cqKzExUY0aNdI777yja6+9Vu+8846io6PVs2dPp15fp04dp88F4N4Y6gJQoz744AMFBwdrxYoVeuCBB9SnTx+XhApHvUVl/P39dc899+j999/XkSNHtGTJEt19993y9/ev8vuWp1mzZvr999917Ngxm/bs7Gzr8TLnqx2AaxF8ANQof39/WSwWFRcXW9v27NlT5ZWLy+bqlLdyc//+/XXkyBE9/PDDOn78uM26PNXhhhtuUHFxsf7+97/btL/yyiuyWCzq06ePta1OnTouX3EagGMMdQGoUTfeeKOmTp2q3r1765577tHBgwc1Y8YMtW7dWj/88EOlr9upUydJ0jPPPKO77rpLAQEB6tu3rzUQxcXFqUOHDlq0aJHatWunK664wiW/T3n69u2r7t2765lnntGePXvUsWNHffrpp/roo480cuRIm1vWO3XqpM8++0xTp05VkyZN1KJFC3Xt2rVa6wN8FT0+AGpUjx499OabbyonJ0cjR47U/PnzNWnSJN1yyy1Vuu6VV16pCRMmaNOmTUpOTtbdd99tt7jggAEDJMnpSc1V4efnp8zMTI0cOVJLly7VyJEjtXXrVr300kuaOnWqzblTp05Vp06dNHbsWN19992aOXNmtdcH+CqLYZy1hCgAeLFXX31Vjz/+uPbs2aPY2FizywFgAoIPAJ9gGIY6duyoBg0aaNWqVWaXA8AkzPEB4NVOnDihzMxMrVq1Sj/++KM++ugjs0sCYCJ6fAB4tT179qhFixaKiIjQ0KFD9cILL5hdEgATEXwAAIDP4K4uAADgMwg+AADAZzC5+RwlJSX6/fffFRoayjLyAAB4CMMwdOzYMTVp0sRmU+RzEXzO8fvvvysmJsbsMgAAQCXs27dPF110UbnHCT7nCA0NlVT6FxcWFmZyNQAAwBl5eXmKiYmxfo+Xh+BzjrLhrbCwMIIPAAAe5kLTVJjcDAAAfAbBBwAA+AyCDwAA8BnM8amE4uJiFRYWml0GakBAQID8/f3NLgMA4CIeE3wmTpyoxYsXKzs7W7Vr11ZCQoImTZqkNm3aWM85ffq0Ro8erQULFig/P1+JiYl67bXX1KhRI5fUYBiGcnJydPToUZdcD54hIiJC0dHRrOsEAF7AY4LPmjVrNGzYMF155ZUqKirSmDFj1KtXL23dulV16tSRJD3++ONatmyZFi1apPDwcA0fPly33nqrvvnmG5fUUBZ6oqKiFBISwhehlzMMQydPntTBgwclSY0bNza5IgBAVXnsJqWHDh1SVFSU1qxZo2uvvVa5ubmKjIzUu+++q9tvv12SlJ2drXbt2ikrK0tXXXWVU9fNy8tTeHi4cnNzbW5nLy4u1o4dOxQVFaUGDRpUy+8E9/Tnn3/q4MGDuuSSSxj2AgA3Vd7397k8dnJzbm6uJKl+/fqSpPXr16uwsFA9e/a0ntO2bVvFxsYqKyuryu9XNqcnJCSkyteCZyn7zJnXBQCez2OGus5WUlKikSNH6q9//as6dOggqXQYKjAwUBERETbnNmrUSDk5OeVeKz8/X/n5+dbneXl5531vhrd8D585AHgPj+zxGTZsmDZv3qwFCxZU+VoTJ05UeHi49cE+XQAAeC+PCz7Dhw/X0qVLtWrVKptNyKKjo1VQUGB3x9WBAwcUHR1d7vVSU1OVm5trfezbt6+6SgcAACbzmOBjGIaGDx+uDz/8UF988YVatGhhc7xTp04KCAjQ559/bm3bvn279u7dq/j4+HKvGxQUZN2Xy1v350pOTpbFYpHFYlFAQIAaNWqk66+/XrNnz1ZJSYnT15k7d67dUCIAAJ7EY+b4DBs2TO+++64++ugjhYaGWufthIeHq3bt2goPD9egQYM0atQo1a9fX2FhYXr00UcVHx/v9B1d3qx3796aM2eOiouLdeDAAX3yySd67LHH9P777yszM1O1annM/xQAAB7q+PHjslgs1mVozOAxPT4zZ85Ubm6uunXrpsaNG1sfCxcutJ7zyiuv6KabbtJtt92ma6+9VtHR0Vq8eLGJVbuPoKAgRUdHq2nTprriiis0ZswYffTRR/r44481d+5cSdLUqVN12WWXqU6dOoqJidHQoUN1/PhxSdLq1at1//33Kzc319p7NH78eEnS22+/rc6dOys0NFTR0dG65557rGvfAABgGIZmzJihl19+WbNmzZKZK+l4zD/znflLCg4O1owZMzRjxowaqKi0JrNucQ4ICKjy3UY9evRQx44dtXjxYj344IPy8/PTtGnT1KJFC/38888aOnSonnrqKb322mtKSEjQ3/72N40bN07bt2+XJNWtW1dS6W3eEyZMUJs2bXTw4EGNGjVKycnJWr58eZV/TwCAZzt69KheffVV6/MTJ06YeresxwQfd1RYWKiJEyea8t6pqakKDAys8nXatm2rH374QZI0cuRIa3vz5s31/PPPa8iQIXrttdcUGBio8PBwWSwWu8niDzzwgPXPLVu21LRp03TllVfq+PHj1nAEAPA969ats/lHcHh4uB577DETKyL4+DzDMKzJ+7PPPtPEiROVnZ2tvLw8FRUV6fTp0zp58uR5F25cv369xo8fr02bNunIkSPWCdN79+5V+/bta+T3AAC4D8MwNG3aNJs7rW+44QZdeeWV5hX1XwSfKggICFBqaqpp7+0K27ZtU4sWLbRnzx7ddNNNeuSRR/TCCy+ofv36+vrrrzVo0CAVFBSUG3xOnDihxMREJSYmat68eYqMjNTevXuVmJiogoICl9QIAPAchw8f1vTp023aHnvsMbe5K5jgUwUWi8Ulw01m+eKLL/Tjjz/q8ccf1/r161VSUqKXX35Zfn6lc97fe+89m/MDAwNVXFxs05adna0///xTGRkZ1sUfv/vuu5r5BQAAbiUrK0uffvqp9XnDhg01dOhQ68hCZqaUkSGlpEhJSebUSPDxEfn5+crJybG5nX3ixIm66aabNGDAAG3evFmFhYWaPn26+vbtq2+++UazZs2yuUbz5s11/Phxff755+rYsaNCQkIUGxurwMBATZ8+XUOGDNHmzZs1YcIEk35LAIAZSkpKNHXqVJ04ccLa1rdvX11xxRU252VkSFlZpT/NCj4eczs7quaTTz5R48aN1bx5c/Xu3VurVq3StGnT9NFHH8nf318dO3bU1KlTNWnSJHXo0EHz5s2zm7idkJCgIUOG6M4771RkZKQmT56syMhIzZ07V4sWLVL79u2VkZGhKVOmmPRbAgBq2h9//KEJEybYhJ7HH3/cLvRIpT098fGlP81iMcy8md4Nlbet/enTp7V79261aNFCwcHBJlaImsZnDwCOffXVV/riiy+szxs3bqzBgwebcrt6ed/f52KoCwAAVEhJSYkyMjJs1rK75ZZb9Je//MXEqpxD8AEAAE47ePCgZs6cadM2evRoj1m3jeADAACcsnTpUq1fv976PDY21roRtqcg+AAAgPMqLCzUiy++aNN2++2369JLLzWposoj+AAAgHJt3LhRmZmZNm0dOjyhSy81b4f1qiD4AAAAh9LT0+3axo9PU3y8dNttJhTkAgQfAABgIz8/XxkZGTZtl19+uSyWm01fh6eqCD4AAMDq22+/1ccff2zT9uijj6p+/fqSzFtx2VUIPgAAQJLjoa20tDQTKqk+bFkBl0lOTla/fv2sz7t166aRI0dW6ZquuAYA4PxOnTplF3q6dOnidaFHosfHJyQnJ+utt96SJAUEBCg2NlYDBgzQmDFjVKtW9f1PYPHixQoICHDq3NWrV6t79+46cuSIIiIiKnUNAEDFLV68WD/++KNN28iRIxUeHm5SRdWL4OMjevfurTlz5ig/P1/Lly/XsGHDFBAQoNTUVJvzCgoKFBgY6JL3LBsPNvsaAADHfGFo61wMdfmIoKAgRUdHq1mzZnrkkUfUs2dPZWZmWoenXnjhBTVp0kRt2rSRJO3bt0//+7//q4iICNWvX18333yz9uzZY71ecXGxRo0apYiICDVo0EBPPfWUzt3v9txhqvz8fD399NOKiYlRUFCQWrdurTfffFN79uxR9+7dJUn16tWTxWJRcnKyw2scOXJEAwYMUL169RQSEqI+ffrop59+sh6fO3euIiIitGLFCrVr105169ZV7969tX//fus5q1evVpcuXVSnTh1FRETor3/9q3755RcX/U0DgPv79ddf7UJPp06dvD70SAQfn1W7dm0VFBRIkj7//HNt375dK1eu1NKlS1VYWKjExESFhobqq6++0jfffGMNEGWvefnllzV37lzNnj1bX3/9tQ4fPqwPP/zwvO85YMAAzZ8/X9OmTdO2bdv0+uuvq27duoqJidEHH3wgSdq+fbv279+vV1991eE1kpOT9d133ykzM1NZWVkyDEM33HCDzUZ5J0+e1JQpU/T222/ryy+/1N69e/XEE09IkoqKitSvXz9dd911+uGHH5SVlaWHHnrIo5ZbB4CqSE9P15tvvmnTNnv2w8rKusmkimoWQ10+xjAMff7551qxYoUeffRRHTp0SHXq1NEbb7xhHeJ65513VFJSojfeeMMaCObMmaOIiAitXr1avXr10t/+9jelpqbq1ltvlSTNmjVLK1asKPd9d+zYoffee08rV65Uz549JUktW7a0Hi8b0oqKirKZ43O2n376SZmZmfrmm2+UkJAgSZo3b55iYmK0ZMkS3XHHHZJKl1afNWuWWrVqJUkaPny4nnvuOUlSXl6ecnNzddNNN1mPt2vXruJ/kQDggRwNbU2Zkqbjx6Vp06QXXjChqBpGj49JMjOlhITSnzVh6dKlqlu3roKDg9WnTx/deeedGj9+vCTpsssus5nXs2nTJu3cuVOhoaGqW7eu6tatq/r16+v06dPatWuXcnNztX//fnXt2tX6mlq1aqlz587lvv/3338vf39/XXfddZX+HbZt26ZatWrZvG+DBg3Upk0bbdu2zdoWEhJiDTWS1LhxYx08eFBSacBKTk5WYmKi+vbtq1dffdVmGAwAvNHPP/9c7nyeESOkunWlESNMKMwE9PiYJCNDysoq/VkTi0F1795dM2fOVGBgoJo0aWJzN1edOrb7rRw/flydOnXSvHnz7K4TGRlZqfevXbt2pV5XGefeBWaxWGzmH82ZM0cjRozQJ598ooULF2rs2LFauXKlrrrqqhqrEQBqiqPA8/DDDys6OlpSaS+PL/T0lKHHxyQp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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "4/4 [==============================] - 0s 5ms/step\n" - ] - }, - { - "data": { - "image/png": "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iIgIuLq6Ijc3F7179662/95Wotq4uLigsrLSEtVrkPDwcLi4uODIkSNo0aIFgLvLb6Snp2PWrFlWrQsDIiIiokao6hp9dccZVAqCxbtGmzZtipdffhmzZ8+GXq9Hr169oNVqceTIEXh5eYmBRV1atmwpTnXzwAMPoGnTpnB1dbVIfevi4eGB6dOnY+7cueKUOytXrkRJSQmmTJli1bowICIiImoka3eNvvHGG/D390dSUhL+97//wdvbGw899BBeffVVo7qjhg8fjh07dqBv374oKirCxo0bMXHiRIvWuTbJycniYu43b95EVFQUvv/+e6tPnqwSGjLuXcF0Oh3UajW0Wi2X8SAisgO3b99GTk4OwsLC0KRJE6mrQ41Q19/S2O9vjjIjIiIixWNARERERPV6/vnnDYb53/t4/vnnpa5eozGHiIiIiOq1dOlSvPzyyzXus4dUEgZEREREVK+AgAAEBARIXQ2LYZcZERERKR4DIiIiUjQ5zppMDWOOvyG7zIiISJFcXFzg4OCAq1evwt/fHy4uLuISF2QbBEFAeXk5rl27BgcHB7i4uJj8WgyIiIhIkRwcHBAWFoa8vDxcvXpV6upQI7i7uyM0NBQODqZ3fDEgIiIixXJxcUFoaCju3Lkji7W9qOEcHR3h5OTU6NY9BkRERKRoVSuy378qOykLk6qJiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBRP0oDo0KFDePzxxxEcHAyVSoUvv/xS3FdRUYF58+YhMjISHh4eCA4Oxvjx43H16lWD17hx4wbGjh0LLy8veHt7Y8qUKSguLjYoc+rUKTz66KNo0qQJQkJCsHLlSmt8PCIim5GnLcXR7OvI05ZKXRUiSUgaEN26dQtdunTB+++/X21fSUkJTpw4gYULF+LEiRPYsWMHsrKy8MQTTxiUGzt2LM6ePYu9e/di9+7dOHToEKZNmybu1+l06N+/P1q0aIGMjAy89dZbWLx4MT766COLfz4iIluwPT0XMckpGLMhDTHJKdienit1lYisTiUI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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABELElEQVR4nO3deXRU9f3/8dckkBCWDFs2IRB2RCAgi4QoBEED9adGtEX4VnYsCApSF7AugNag1harFixWqAtKsaBWcaFsHgQpi1GhypEUSJSExZYJhBAgub8/aKaErDOZmXvnzvNxzpwDd+7MvOfmztz3vD+bwzAMQwAAADYRZnYAAAAAvkRyAwAAbIXkBgAA2ArJDQAAsBWSGwAAYCskNwAAwFZIbgAAgK2Q3AAAAFshuQEAALZCcgPAFPPmzZPD4ajVvg6HQ/PmzfNrPGlpaUpLS7Ps8wGoPZIbIMQtX75cDofDfatXr55atWql8ePH64cffjA7PMtJSkoqd7xiY2N1zTXXaM2aNT55/tOnT2vevHnatGmTT54PCEUkNwAkSQsWLNBrr72mJUuWaMSIEXr99dc1ePBgnTlzxi+v9/DDD6uoqMgvz+1vvXr10muvvabXXntN9913nw4fPqyRI0dqyZIldX7u06dPa/78+SQ3QB3UMzsAANYwYsQI9e3bV5I0efJktWzZUk899ZTee+89/exnP/P569WrV0/16gXnV1CrVq3085//3P3/sWPHqmPHjvrd736nqVOnmhgZAInKDYAqXHPNNZKk7Ozsctu//fZb3XbbbWrevLkaNGigvn376r333iu3z7lz5zR//nx16tRJDRo0UIsWLXT11Vdr3bp17n0q63NTXFyse++9VzExMWrSpIluuukmff/99xViGz9+vJKSkipsr+w5ly1bpmuvvVaxsbGKjIxUt27dtHjxYo+ORU3i4+N1+eWX68CBA9Xud/ToUU2aNElxcXFq0KCBkpOT9ec//9l9/8GDBxUTEyNJmj9/vrvpy9/9jQC7Cc6fTQD87uDBg5KkZs2aubft3btXqampatWqlebMmaNGjRrpL3/5izIyMvTXv/5Vt9xyi6QLSUZmZqYmT56s/v37q6CgQDt37tTu3bt13XXXVfmakydP1uuvv64xY8Zo4MCB2rBhg2644YY6vY/Fixfriiuu0E033aR69erpb3/7m+666y6VlpZq+vTpdXruMufOnVNubq5atGhR5T5FRUVKS0vT/v37NWPGDLVr106rVq3S+PHjdeLECc2cOVMxMTFavHixpk2bpltuuUUjR46UJPXs2dMncQIhwwAQ0pYtW2ZIMv7+978bx44dM3Jzc423337biImJMSIjI43c3Fz3vkOHDjV69OhhnDlzxr2ttLTUGDhwoNGpUyf3tuTkZOOGG26o9nUfe+wx4+KvoKysLEOScdddd5Xbb8yYMYYk47HHHnNvGzdunNG2bdsan9MwDOP06dMV9ktPTzfat29fbtvgwYONwYMHVxuzYRhG27Ztjeuvv944duyYcezYMePLL780br/9dkOScffdd1f5fIsWLTIkGa+//rp729mzZ42UlBSjcePGRkFBgWEYhnHs2LEK7xeAZ2iWAiBJGjZsmGJiYpSYmKjbbrtNjRo10nvvvafWrVtLkv79739rw4YN+tnPfqaTJ0/q+PHjOn78uH788Uelp6fru+++c4+uatq0qfbu3avvvvuu1q+/du1aSdI999xTbvusWbPq9L6ioqLc/3a5XDp+/LgGDx6sf/3rX3K5XF495yeffKKYmBjFxMQoOTlZq1at0h133KGnnnqqysesXbtW8fHxGj16tHtb/fr1dc899+jUqVPavHmzV7EAqIhmKQCSpBdffFGdO3eWy+XSK6+8ok8//VSRkZHu+/fv3y/DMPTII4/okUceqfQ5jh49qlatWmnBggW6+eab1blzZ3Xv3l3Dhw/XHXfcUW3zyqFDhxQWFqYOHTqU296lS5c6va/PPvtMjz32mLZt26bTp0+Xu8/lcsnpdHr8nFdddZWeeOIJORwONWzYUJdffrmaNm1a7WMOHTqkTp06KSys/G/Kyy+/3H0/AN8guQEgSerfv797tFRGRoauvvpqjRkzRvv27VPjxo1VWloqSbrvvvuUnp5e6XN07NhRkjRo0CBlZ2fr3Xff1SeffKKXX35Zv/vd77RkyRJNnjy5zrFWNflfSUlJuf9nZ2dr6NCh6tq1q377298qMTFRERERWrt2rX73u9+535OnWrZsqWHDhnn1WAD+R3IDoILw8HBlZmZqyJAheuGFFzRnzhy1b99e0oWmlNpc2Js3b64JEyZowoQJOnXqlAYNGqR58+ZVmdy0bdtWpaWlys7OLlet2bdvX4V9mzVrphMnTlTYfmn1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WhrVr40GdY7RweOnldSyIYmNzVXXFOmPv/2pU6ckSR988IFatWpV7r7IyEh3gnNxR+CySe9KS0trfP5GjRp5HNOlr3VpJ2SHw1Gr1w40khsA8ECCM4qkJkQEuimyW7duioyMVE5OjrvZ6WIXV2+qEhERUeelC7zVoUMHRURE6LPPPlPbtm0lXRiVtWPHDs2aNSugsZDcAABQibKmyIdW71GJYfi9KbJJkya67777dO+996q0tFRXX321XC6XPvvsM0VHR7sThuokJSXpwIEDysrKUuvWrdWkSRNFRkb6Jd5LNWrUSNOmTdP999+v5s2bq02bNnr66ad1+vRpTZo0KSAxlCG5AQCgCoFuinz88ccVExOjzMxM/etf/1LTpk115ZVX6qGHHqpV88+tt96q1atXa8iQITpx4oSWLVum8ePH+zXmiy1cuFClpaW64447dPLkSfXt21cff/yxmjVrFrAYJMlhGIZR8272UVBQIKfTKZfLpejoaLPDAQD42JkzZ3TgwAG1a9dODRo0MDsceKC6v50n129GSwEAAFshuQEAIMRMnTq13HDzi29Tp041O7w6o88NAAAhZsGCBbrvvvsqvc8OXTZIbgAACDGxsbGKjY01Owy/oVkKAADYCskNAMCWrDhzLqrnqwHcNEsBAGwlIiJCYWFhOnz4sGJiYhQREeFepgDWZRiGjh07VukyD54iuQEA2EpYWJjatWunvLw8HT582Oxw4AGHw6HWrVsrPDy8Ts9DcgMAsJ2IiAi1adNG58+fN22tJXiufv36dU5sJJIbAIBNlTVv1LWJA8GHDsUAAMBWSG4AAICtkNwAAABbIbkBAAC2QnIDAABsheQGAADYCskNAACwFZIbAABgKyQ3AADAVkxNbhYvXqyePXsqOjpa0dHRSklJ0YcffljtY1atWqWuXbuqQYMG6tGjh9auXRugaAEAQDAwNblp3bq1Fi5cqF27dmnnzp269tprdfPNN2vv3r2V7r9161aNHj1akyZN0hdffKGMjAxlZGRoz549AY4cAABYlcMwDMPsIC7WvHlzPfPMM5o0aVKF+0aNGqXCwkK9//777m0DBgxQr169tGTJklo9f0FBgZxOp1wul6Kjo30WNwAA8B9Prt+W6XNTUlKit956S4WFhUpJSal0n23btmnYsGHltqWnp2vbtm1VPm9xcbEKCgrK3QAAgH2Zntx8/fXXaty4sSIjIzV16lStWbNG3bp1q3Tf/Px8xcXFldsWFxen/Pz8Kp8/MzNTTqfTfUtMTPRp/AAAwFpMT266dOmirKwsbd++XdOmTdO4ceP0z3/+02fPP3fuXLlcLvctNzfXZ88NAACsp57ZAURERKhjx46SpD59+mjHjh167rnn9NJLL1XYNz4+XkeOHCm37ciRI4qPj6/y+SMjIxUZGenboAEAgGWZXrm5VGlpqYqLiyu9LyUlRevXry+3bd26dVX20QEAAKHH1MrN3LlzNWLECLVp00YnT57UihUrtGnTJn388ceSpLFjx6pVq1bKzMyUJM2cOVODBw/Ws88+qxtuuEFvvfWWdu7cqT/+8Y9mvg0AAGAhpiY3R48e1dixY5WXlyen06mePXvq448/1nXXXSdJysnJUVjY/4pLAwcO1IoVK/Twww/roYceUqdOnfTOO++oe/fuZr0FAABgMZab58bfmOcGAIDgE5Tz3AAAAPgCyQ0AALAVkhsAAGArJDcAAMBWSG4AAICtkNwAAABbIbkBAAC2QnIDAABsheQGAADYCskNAACVyHMVaWv2ceW5iswOBR4ydW0pAACsaOWOHM1d/bVKDSnMIWWO7KFR/dqYHRZqicoNAAAXyXMVuRMbSSo1pIdW76GCE0RIbgAAuMiB44XuxKZMiWHo4PHT5gQEj5HcAABwkXYtGynMUX5buMOhpJYNzQkIHiO5AQDgIgnOKGWO7KFwx4UMJ9zh0JMjuyvBGWVyZNZi5Q7XdCgGAJvJcxXpwPFCtWvZiAuyl0b1a6NBnWN08PhpJbVsyHG8hNU7XJPcAICNWP2iE0wSnFEkNZWoqsP1oM4xljleNEsBgE0wygeBEAwdrkluAMAmguGig+AXDB2uSW4AwCaC4aKD4BcMHa7pcwMANlF20Xlo9R6VGIYlLzqwB6t3uCa5AQAbsfpFB/Zh5Q7XJDcAYDNWvugAgUCfGwAAYCskNwAAwFZIbgAAgK2Q3AAAAFshuQEAALZCcgMAAGyF5AYAANgKyQ0AIGTluYq0Nfs4i4vaDJP4AQBC0sodOe5V1MMcUubIHhrVr43ZYcEHqNwAAEJOnqvIndhIUqkhPbR6DxUcmyC5AQCEnAPHC92JTZkSw9DB46fNCQg+RXIDAAg57Vo2Upij/LZwh0NJLRuaExB8iuQGABByEpxRyhzZQ+GOCxlOuMOhJ0d2Z8FRm6BDMQAgJI3q10aDOsfo4PHTSmrZkMTGRkhuAAAhK8EZRVJjQzRLAQAAWyG5AQAAtmJqcpOZmal+/fqpSZMmio2NVUZGhvbt21ftY5YvXy6Hw1Hu1qBBgwBFDAAArM7U5Gbz5s2aPn26Pv/8c61bt07nzp3T9ddfr8LCwmofFx0drby8PPft0KFDAYoYAABYnakdij/66KNy/1++fLliY2O1a9cuDRo0qMrHORwOxcfH+zs8AAAQhCzV58blckmSmjdvXu1+p06dUtu2bZWYmKibb75Ze/furXLf4uJiFRQUlLsBAAD7skxyU1paqlmzZik1NVXdu3evcr8uXbrolVde0bvvvqvXX39dpaWlGjhwoL7//vtK98/MzJTT6XTfEhMT/fUWAACABTgMwzBq3s3/pk2bpg8//FBbtmxR69ata/24c+fO6fLLL9fo0aP1+OOPV7i/uLhYxcXF7v8XFBQoMTFRLpdL0dHRPokdAAD4V0FBgZxOZ62u35aYxG/GjBl6//339emnn3qU2EhS/fr11bt3b+3fv7/S+yMjIxUZGemLMAEAQBAwtVnKMAzNmDFDa9as0YYNG9SuXTuPn6OkpERff/21EhIS/BAhAAAINqZWbqZPn64VK1bo3XffVZMmTZSfny9Jcjqdioq6MB322LFj1apVK2VmZkqSFixYoAEDBqhjx446ceKEnnnmGR06dEiTJ0827X0AAADrMDW5Wbx4sSQpLS2t3PZly5Zp/PjxkqScnByFhf2vwPSf//xHU6ZMUX5+vpo1a6Y+ffpo69at6tatW6DCBgAAFmaZDsWB4kmHJAAAYA2eXL8tMxQcAADAF0huAACArZDcAAAAWyG5AQAAtkJyAwAAbIXkBgAA2ArJDQAAsBWSGwAAYCskNwAAwFZIboD/ynMVaWv2ceW5iswOBQBQB6auLQVYxcodOZq7+muVGlKYQ8oc2UOj+rUxOywAgBeo3CDk5bmK3ImNJJUa0kOr91DBAYAgRXKDkHfgeKE7sSlTYhg6ePy0OQEBAOqE5AYhr13LRgpzlN8W7nAoqWVDcwICANQJyQ1CXoIzSpkjeyjccSHDCXc49OTI7kpwRpkcGQDAG3QoBiSN6tdGgzrH6ODx00pq2ZDEBgCCGMkN8F8JziiSGgCwAZqlAAAIUszPVTkqNwAABCHm56oalRsAsAl+xYcO5ueqHpUbALABfsWHlurm56LvIJUbAAh6/IoPPczPVT2SmwCjbAwEj2D5vDLLduhhfq7q0SwVQJSNgeARTJ/Xsl/xFyc4/Iq3P+bnqhqVmwChbAwEj2D7vPIrPnQlOKOU0qEFf+tLULkJEDp/AbWX5yrSgeOFateykSmfj2D8vPIrHvgfkpsAoWwM1I4VmoOC9fPKLNvABTRLBQhlY6BmVmkO4vMKBDcqNwFE2RionpWag/i8AsGL5CbAKBsDVbNacxCfVyA40SwFwDJoDgLgC1RuAFgKzUEA6orkBoDl0BwEoC5olgIAALZCcgMAAGyF5AYAANSZlRaapc8NAACoEyvMLH4xKjcAAMBrVplZ/GIkN/A5K5UmgWDH5wlWV93M4mahWQo+ZbXSJIKH2SuBWxGfJwQDq80sLplcucnMzFS/fv3UpEkTxcbGKiMjQ/v27avxcatWrVLXrl3VoEED9ejRQ2vXrg1AtKiJFUuTCA4rd+QodeEGjVm6XakLN2jljhyzQzIdnycECyvOLG5qcrN582ZNnz5dn3/+udatW6dz587p+uuvV2FhYZWP2bp1q0aPHq1Jkybpiy++UEZGhjIyMrRnz54ARo7KWLE0CevjIl45Pk8IJqP6tdGWOUP05pQB2jJniOkVRlObpT766KNy/1++fLliY2O1a9cuDRo0qNLHPPfccxo+fLjuv/9+SdLjjz+udevW6YUXXtCSJUv8HjOqZsXSJKzPSiuBWwmfJ/uzW1OslWYWt1SHYpfLJUlq3rx5lfts27ZNw4YNK7ctPT1d27Zt82tsduHPzolWLE3C+sou4hfjIs7nye5oivUvy3QoLi0t1axZs5Samqru3btXuV9+fr7i4uLKbYuLi1N+fn6l+xcXF6u4uNj9/4KCAt8EHIQC0TmRRQ/hqbKL+EOr96jEMLiIX4TPkz1V1RQ7qHOMV39ju1WAfMEyyc306dO1Z88ebdmyxafPm5mZqfnz5/v0OYORrz9M1bFSaRLBgYt41fg82Y8vm2IZUVc5SzRLzZgxQ++//742btyo1q1bV7tvfHy8jhw5Um7bkSNHFB8fX+n+c+fOlcvlct9yc3N9FncwoXMirC7BGaWUDi24kMP2fNUUS2f8qpma3BiGoRkzZmjNmjXasGGD2rVrV+NjUlJStH79+nLb1q1bp5SUlEr3j4yMVHR0dLlbKKJfAwBYg6/6U/GjtWqmNktNnz5dK1as0LvvvqsmTZq4+804nU5FRV34I48dO1atWrVSZmamJGnmzJkaPHiwnn32Wd1www166623tHPnTv3xj3807X1cyortn/RrAIC689X3uy+aYhlRVzWHYRhGzbv56cUdjkq3L1u2TOPHj5ckpaWlKSkpScuXL3ffv2rVKj388MM6ePCgOnXqpKefflo/+clPavWaBQUFcjqdcrlcfqniWL39M89VRL8GAPCCFb/fV+7IqfCj1eyY/MWT67epyY0Z/Jnc5LmKlLpwQ4UsesucISQSABDErPz9Hio/Wj25fte6WcqTIdSh2q+FycgAwJ6s/P3OiLqKap3cNG3atMpmpDKGYcjhcKikpKTOgQUj2j8BwJ74fg8utU5uNm7c6M84bIFOuwBgT3y/Bxf63PhBqLR/AkCo4fvdPH7pc3OpEydO6E9/+pO++eYbSdIVV1yhiRMnyul0evuUtmHH9k8rDm8HgECz4/e7HXlVudm5c6fS09MVFRWl/v37S5J27NihoqIiffLJJ7ryyit9HqivBKJyYzdWHP4IAAgtfh8Kfs0116hjx45aunSp6tW7UPw5f/68Jk+erH/961/69NNPvYs8AEhuPGPl4Y8AgNDh92apnTt3lktsJKlevXp64IEH1LdvX2+eEhZl5eGPAABUxqu1paKjo5WTk1Nhe25urpo0aVLnoGCePFeRtmYfdy+8xppUAIBg41VyM2rUKE2aNEkrV65Ubm6ucnNz9dZbb2ny5MkaPXq0r2NEgKzckaPUhRs0Zul2pS7coJU7cny2wBsAAIHiVbPUb37zGzkcDo0dO1bnz5+XJNWvX1/Tpk3TwoULfRogAiPPVeTuNCxdmKjqodV7NKhzjE8WeIPnGKEGAN7xKrmJiIjQc889p8zMTGVnZ0uSOnTooIYNaaoIVjX1rWH4Y2AxQg0AvOf1PDeS1LBhQ/Xo0cNXscBETC1uHdVV0UgwAaBmXiU3Z86c0fPPP6+NGzfq6NGjKi0tLXf/7t27fRIcAoepxa2DEWrwFE2YQHleJTeTJk3SJ598ottuu039+/evcUFNBAf61lhDIKtoXBSDH02YNeM8Dz1eTeLndDq1du1apaam+iMmv2ISPwSDlTtyKlTRfH3B4qIY/Jhks2ac5/bh90n8WrVqxXw2gB/5u4pGvx57oAmzepznocureW6effZZPfjggzp06JCv4wHwXwnOKKV0aOGXL+HqLooIHoGeZPPSST6tzu7nebD9PQLJq8pN3759debMGbVv314NGzZU/fr1y93/73//2yfBAfAPRsfZQyAHAgRj846dz/Ng/HsEklfJzejRo/XDDz/oySefVFxcHB2KgSDD6Dj78HUTZmWdb4O1eccu5/mlf5Ng/XsEklfJzdatW7Vt2zYlJyf7Oh4AAcLoOPvw1SSbVVUDgrlvT7Cf55X9TRKbNwzav0egeNXnpmvXrioqoo0PCHb+7NeD4FJVNSDPVRT0C+hWdp4HQ3+Vqv4mjSLCg/rvEQheJTcLFy7UL3/5S23atEk//vijCgoKyt0AAMGlpuqMnRbQrWyRYCuq6m9y+myprf4e/uBVs9Tw4cMlSUOHDi233TAMORwOlZSU1D0yAEDA1NT5Ntibd8oEU3+V6v4mKR1a2OLv4S9eJTcbN270dRwAABPVpvOtHRbQDab+QzX9Tezw9/AXr5KbwYMH12q/u+66SwsWLFDLli29eRkAQADZpTpTnWAbHh4KfxN/8KrPTW29/vrr9MEBgCBi907mwdh/yO5/E3/wqnJTW14sWwUAgF9RDbE/vyY3AABYkZn9VVil3P9IbgAACBCWTQgMv/a5AQAAF1Q3USJ8i+QGMEEwzI4KwLfsvkq5lXic3Jw/f14LFizQ999/X+O+P//5zxUdHe1VYIBdBcvsqAB8K9iXsQgmHic39erV0zPPPKPz58/XuO/ixYuZ4wa4CGVpIHQF4zD0YOVVh+Jrr71WmzdvVlJSko/DAeytprI0IygAe2MYemB4ldyMGDFCc+bM0ddff60+ffqoUaNG5e6/6aabfBIcYDdVzY761fcn9H8vf84ICiAEsGyC/zkML2baCwurujXL6gtnFhQUyOl0yuVy0R8Ipli5I6fcWjEPjOiipz78tkLCs2XOEL4AAeC/PLl+e1W5KS0t9SowABXL0sG0kB8ABAOvhoK/+uqrKi4urrD97NmzevXVV+scFGB3F68VwwgKAPAtr5KbCRMmyOVyVdh+8uRJTZgwoc5BAaGEERQA4FteNUsZhiGHw1Fh+/fffy+n01nnoIBQwwgKAPAdj5Kb3r17y+FwyOFwaOjQoapX738PLykp0YEDBzR8+PBaP9+nn36qZ555Rrt27VJeXp7WrFmjjIyMKvfftGmThgwZUmF7Xl6e4uPjPXkrgOXUZgQFC+4BQM08Sm7KEo+srCylp6ercePG7vsiIiKUlJSkW2+9tdbPV1hYqOTkZE2cOFEjR46s9eP27dtXrqd0bGxsrR8LBCsW3AOA2vEouXnsscckSUlJSRo1apQaNGhQpxcfMWKERowY4fHjYmNj1bRp0zq9NhBMqprZeFDnGCo4AHAJr/rcjBs3TtKF0VFHjx6tMDS8TRv//prs1auXiouL1b17d82bN0+pqalV7ltcXFxuZFdBQYFfYwP8oarh4rsP/UfNGtFMBQAX8yq5+e677zRx4kRt3bq13Payjsb+msQvISFBS5YsUd++fVVcXKyXX35ZaWlp2r59u6688spKH5OZman58+f7JR6grmrbh6aymY0dDmnGii9kiGYqALiYVzMUp6amql69epozZ44SEhIqjJxKTk72PBCHo8YOxZUZPHiw2rRpo9dee63S+yur3CQmJjJDMXyiLh18Pe1Dc/HMxmEOyTCkiz+8zGoMwM78PkNxVlaWdu3apa5du3oVoC/1799fW7ZsqfL+yMhIRUZGBjAimMGMUUR16eDrTR+aQZ1jtOj2ZIU5HCo1DN39Zla5+y+e1ZhRVQBCmVfJTbdu3XT8+HFfx+KVrKwsJSQkmB0GTGTGKKK6dvD1dMmFS9/jg8O7VroAZ1LLhoyqAhDyvJqh+KmnntIDDzygTZs26ccff1RBQUG5W22dOnVKWVlZysrKkiQdOHBAWVlZysnJkSTNnTtXY8eOde+/aNEivfvuu9q/f7/27NmjWbNmacOGDZo+fbo3bwM2UFWSkecq8uvrVpec1IYnSy5U9h6f/mifHhzRtcKsxpJMOR4AYCVeVW6GDRsmSbr22mvL9bfxtEPxzp07y03KN3v2bEkXRmMtX75ceXl57kRHujA665e//KV++OEHNWzYUD179tTf//73Sif2Q2jw9aKTdeng68l6UGVLLly8OnhVSy5U9R57tmqqLXOGlJvVeGv2cRbhBBDyvEpuNm7c6JMXT0tLU3X9mZcvX17u/w888IAeeOABn7w27KGuScbFPGnO8SQ5qUptl1yo7j1eOquxL48HAAQrr5qlBg8erLCwMC1dulRz5sxRx44dNXjwYOXk5Cg8PNzXMQJV8tWik940b43q10Zb5gzRm1MGaMucIV71a7l4dfDq9qnte2QRTgDwsnLz17/+VXfccYf+7//+T1988YV7qLXL5dKTTz6ptWvX+jRIoDq+WHTS2+at2qwH5QuevEcW4QQQ6ryq3DzxxBNasmSJli5dqvr167u3p6amavfu3T4LDqit2lRAquNJB1+zePIe63o8ACCYeZXc7Nu3T4MGDaqw3el06sSJE3WNCQg4mnMAc+S5irQ1+zgj+uBTXjVLxcfHa//+/UpKSiq3fcuWLWrfvr0v4gICjuYcILCYkwn+4lXlZsqUKZo5c6a2b98uh8Ohw4cP64033tB9992nadOm+TpG+Am/mCqiOQcIDLPmqEJo8KpyM2fOHJWWlmro0KE6ffq0Bg0apMjISN133326++67fR0j/IBfTADMXKbD13NUWQnLn5jPq4Uzy5w9e1b79+/XqVOn1K1bNzVu3NiXsfmFJwtv2VWeq0ipCzdUmAuFRRfhK3y5W5/ZP3Ds+j1k9nG1M0+u3141S5WJiIhQt27d1L9//6BIbHBBXZcOAKqzckeOUhdu0Jil25W6cINW7sip+UEIKCs0CdmxE78Vjisu8KpZCsGNWWzhL1/m/kdzVn8t45Iv99ouKIrAsEqTkN068VvluKKOlRsEJzv+YoL5Vu7IUcaLW3VpQzdVQeux0rxOdurEb6XjGuqo3IQou/1igrnKyvGVdeDjy916fLE2GiriuFoHyU0IC9TSAbC/ysrx0oUOlXy5WxM/cPyD42oNJDcA6qyyflxhktbcNVDJic1MiwvV4weOf3BczUefGwB1Vlk/rsxbe5DYADAFlRsAPkE5HpVhziOYgeQGgM9QjsfFmNAOZqFZCkDAsa6Z/TGhHee5majcAAgofs2HhlCf0I7z3FxUbgAEDL/mQ0coT2jHeW4+khsAAcO6ZqEjlGdC5zw3H81SAAKGdc1CS6iOoOM8Nx+VGwABE8q/5kOVndaOqi3Oc/M5DOPSZe7sraCgQE6nUy6XS9HR0WaHA4SkPFdRyP2aR+jhPPctT67fNEsBCDi7zIfDBHWojl3O82BEcgMAXmCoL2Bd9LkBAA8x1BewNpIbAPAQQ30vYAZeWBXNUgDgIYb60iwHa6NyAwAeCvWhvjTLweqo3ACAF0J1gjqJdaNgfSQ3AOClUB3qS7McrI5mKQCwIX929g31ZjlYH5UbAF5hAjvrCkRnX6s1y3E+4mIkNwA8ZoeRMna9GFbV2XdQ5xifv0+rNMvZ4XyEb9EsBcAjdhgps3JHjlIXbtCYpduVunCDVu7IMTsknwm1OXjscD7ajRXmP6JyA8AjwT5SJpCVDTOEWmffYD8f7cYqVTQqNwA8UnbxvFgwXTztVNmo7BdyqHX2Dfbz0U6sVEWjcgPAI2UXz4dW71GJYQTdxdMulY3qfiFbrbOvPwX7+WgnVqqikdwA8FgwXzztcDGsTdOaVTr7BkIwn492YqUfDqY2S3366ae68cYbddlll8nhcOidd96p8TGbNm3SlVdeqcjISHXs2FHLly/3e5wAKkpwRimlQ4ugvJCM6tdGW+YM0ZtTBmjLnCFBN7LGTk1rvhLM56NdWKlJ1NTKTWFhoZKTkzVx4kSNHDmyxv0PHDigG264QVOnTtUbb7yh9evXa/LkyUpISFB6enoAIgZgF8Fc2bDSL2TgYlapojkMwzBq3s3/HA6H1qxZo4yMjCr3efDBB/XBBx9oz5497m233367Tpw4oY8++qhWr1NQUCCn0ymXy6Xo6Oi6hg0AAXHpvDwrd+RUaFoLtgoU4AlPrt9B1edm27ZtGjZsWLlt6enpmjVrVpWPKS4uVnFxsfv/BQUF/goPAPyiqs7DVviFDFhRUA0Fz8/PV1xcXLltcXFxKigoUFFR5UPNMjMz5XQ63bfExMRAhGobVpiMCQhl1Q2vpZ8JULmgSm68MXfuXLlcLvctNzfX7JCChp1ncQWCBZ2HAc8FVXITHx+vI0eOlNt25MgRRUdHKyqq8l8ukZGRio6OLndDzaw0GRPshWqgZ5ikznycs8EnqPrcpKSkaO3ateW2rVu3TikpKSZFZF9WmowJ9mGVqdmDiR3m5bGq2iyeyjkbnExNbk6dOqX9+/e7/3/gwAFlZWWpefPmatOmjebOnasffvhBr776qiRp6tSpeuGFF/TAAw9o4sSJ2rBhg/7yl7/ogw8+MOst2BZDTeFrdl/TyZ/oPOx7tUlaOGeDl6nNUjt37lTv3r3Vu3dvSdLs2bPVu3dvPfroo5KkvLw85eT8r59Hu3bt9MEHH2jdunVKTk7Ws88+q5dffpk5bvzASpMxwR7oO1I3dB72ndo2u3POBi9TKzdpaWmqbpqdymYfTktL0xdffOHHqFCGX4vwJaqBsIraNrtzzgavoOpQjMDj1yJ8hWogrKK2nbQ5Z4OXZWYoDhRmKAbMlecqohpYhdp0cIVveDLDM+esNXhy/Sa5AQALYFRO4JG0BBdPrt80SwGAycycVyqU53Ch2d2+gmqeGwCwI7PmlaJaBLuicgMAJjNjFmJmIYedkdwAgMnMGJXDHC7WE8pNhL5GsxQAWECg55ViDhdroYnQt6jcAIBFBLKDK3O4WAdNhL5H5QYAQhSzkFsDCxX7HskNAISwBGcUF1CT0UToezRLAQBgIpoIfY/KDQAAJqOJ0LdIbhAyWLcHgJXRROg7JDcICQyzBIDQQZ8b2B7DLIHQxKR4oYvKDWyPYZZA6KFaG9qo3MD2zFi3B4B5qNaC5Aa2xzBLWBXNJv7BulmgWQohgWGWsBqaTfyHSfFA5QYhI5Dr9gDVodnEv6jWgsoNAAQYndz9j2ptaCO5ga0wUR+CAc0mgcGkeKGLZinYxsodOUpduEFjlm5X6sINWrkjx+yQvEZHU3uj2QTwL4dhGEbNu9lHQUGBnE6nXC6XoqOjzQ4HPpLnKlLqwg0VfglvmTMk6C4YdDQNHXmuIppNgFry5PpN5Qa2YJehn3Q0DS10cgf8g+QGtmCXifrskqQBgJlIbmALdunDYJckDUB59KMLLEZLwTbsMPSzLEl7aPUelRhG0CZpgcYoOVgZ/egCjw7FqBEXjsCjo2ntceGAldlpsIPZPLl+U7lBtbhwmIP5OWqnqg7YgzrHcPxgCUzYaA763KBKoTxyh/bx4EAHbFgd/ejMQXKDKoXqhcNOkwHaHRcOWJ1dBjsEG5qlUKVQnCKeZo7gQgdsBAM7DHYItr6XJDeoUiheOGgfr8jqX2p2uHDAXIE4x4O5H10w9r0kuUG1Qu3CEYrVquoEy5daMF84YK5gOcfNEqzVbPrcoEahNEU87eP/E8odyhEaOMdrFqx9L6ncAJcItWpVVWiig91xjtcsWKvZVG58iOHD9hFK1aqqzltGIsHuOMdrFqzVbCo3PkK7LcxQ146Q1Z23odihHKGFc7x2grGabYnlF1588UU988wzys/PV3Jysp5//nn179+/0n2XL1+uCRMmlNsWGRmpM2fO1Oq1/LH8AtNrwwx1Tahre96yFATsjnM8OHhy/Ta9WWrlypWaPXu2HnvsMe3evVvJyclKT0/X0aNHq3xMdHS08vLy3LdDhw4FMOKKgrXDFYKXLzpC1va8NbuJjuZe+JvZ5zh8z/Tk5re//a2mTJmiCRMmqFu3blqyZIkaNmyoV155pcrHOBwOxcfHu29xcXEBjLgi2m2tzY4XR18k1MFw3jJbNABvmJrcnD17Vrt27dKwYcPc28LCwjRs2DBt27atysedOnVKbdu2VWJiom6++Wbt3bs3EOFWKVg7XIUCu14cfZGYWP28ZZguAG+Z2qH4+PHjKikpqVB5iYuL07ffflvpY7p06aJXXnlFPXv2lMvl0m9+8xsNHDhQe/fuVevWrSvsX1xcrOLiYvf/CwoKfPsm/isYO1zZXbBOPlUbvuoIaeXzlmG6ALwVdKOlUlJSlJKS4v7/wIEDdfnll+ull17S448/XmH/zMxMzZ8/PyCxMUuqtdj94uirxMSq522wzq8B37L68h+wJlObpVq2bKnw8HAdOXKk3PYjR44oPj6+Vs9Rv3599e7dW/v376/0/rlz58rlcrlvubm5dY4bwSEY+pTUlZ07Qlq92Qz+Z9dmZfifqclNRESE+vTpo/Xr17u3lZaWav369eWqM9UpKSnR119/rYSEhErvj4yMVHR0dLkbQgMXx+A3ql8bbZkzRG9OGaAtc4Ywd1QIoc8V6sL0ZqnZs2dr3Lhx6tu3r/r3769FixapsLDQPZfN2LFj1apVK2VmZkqSFixYoAEDBqhjx446ceKEnnnmGR06dEiTJ082823AoqzcpyQQ7FDSt2qzGfzL7s3K8C/Tk5tRo0bp2LFjevTRR5Wfn69evXrpo48+cncyzsnJUVjY/wpM//nPfzRlyhTl5+erWbNm6tOnj7Zu3apu3bqZ9RZgcaF6cWTWbAQz+lyhLiwxQ3Eg+WOGYsBqmDUbdrByR06FEYEk6KHLk+u36ZUb+J8dmibgGUr6sINQb1aG90hubI6midBESR92EarNyqgb05dfgP8w2iB0MVIMQCijcmNjNE2ENkr6AEIVyY2N0TQBSvoAQhHNUjZG0wQAIBRRubE5miYAAKGG5CYE0DQBAAglNEshKOW5irQ1+zgjvwAAFVC5QdBh7h4AQHWo3KBOAl1BYe4eAEBNqNzAa2ZUUJi7BwBQEyo3FmblfiVmVVDK5u65GHP3AAAuRnJjUSt35Ch14QaNWbpdqQs3aOWOHLNDKqe6Coo/MXcPAKAmNEtZUFVVkUGdYyxzETdz9mPm7gEAVIfKjQWZVRXxhNkVlARnlFI6tCCxAQBUQOXGgoJlTSgqKAAAK6JyY0H+ror4sqMyFRQAgNVQubEof1VFmAAPAGB3VG4szNdVESbAAwCEApKbEBIMHZUBAKgrkpsQwgR4AIBQQHITQswevg0AQCDQoTjEMHwbAGB3JDchKMEZRVIDALAtmqUAAICtkNwAAABbIbkBAAC2QnIDAABsheQGgGX5ch00AKGD0VIALIl10AB4i8oNJPELGdbCOmi1x2e3djhOoYXKDfiFbGF5riIdOF6odi0bhdTcRNWtgxZKx6EmfHZrh+MUeqjchDh+IVvXyh05Sl24QWOWblfqwg1auSPH7JD8orJf1KyDVjM+u7XDcQpNJDchjpXCrcnTL+RgLblXlcCxDlrN+OzWDscpNNEsFeLKfiFf/OHnF7L5PGmWCWTJ3ZfNZFUlcIM6xyjBGcU6aDXgs1s7HKfQROUmxPEL2Zpq2ywTyJK7r5vJavOLOsEZpZQOLTgfK8Fnt3Y4TqGJyg34hWxBZV/ID63eoxLDqPILOVAdb2uqsniDX9R1x2e3djhOoYfkBpJYKdyKavOFHKgEwR9JVG0TOFSPz27tcJxCC8kNEECe9lmp6Qs5UAmCv5IoflED8AeSGyBA/NXxNxAJgj+TKH5RA/A1S3QofvHFF5WUlKQGDRroqquu0j/+8Y9q91+1apW6du2qBg0aqEePHlq7dm2AIgW84++Ov4HoeDuqXxttmTNEb04ZoC1zhjAJGgDLMj25WblypWbPnq3HHntMu3fvVnJystLT03X06NFK99+6datGjx6tSZMm6YsvvlBGRoYyMjK0Z8+eAEcO1J5d5tpg9BKAYOAwDMOoeTf/ueqqq9SvXz+98MILkqTS0lIlJibq7rvv1pw5cyrsP2rUKBUWFur99993bxswYIB69eqlJUuW1Ph6BQUFcjqdcrlcio6O9t0bAaqR5ypS6sINFfqsbJkzhEQBAGrBk+u3qZWbs2fPateuXRo2bJh7W1hYmIYNG6Zt27ZV+pht27aV21+S0tPTq9y/uLhYBQUF5W5AoDHXBgAEjqkdio8fP66SkhLFxcWV2x4XF6dvv/220sfk5+dXun9+fn6l+2dmZmr+/Pm+CRioA0YGAUBgmN7nxt/mzp0rl8vlvuXm5podEkIYfVYAwP9Mrdy0bNlS4eHhOnLkSLntR44cUXx8fKWPiY+P92j/yMhIRUZG+iZgAABgeaZWbiIiItSnTx+tX7/eva20tFTr169XSkpKpY9JSUkpt78krVu3rsr9AQBAaDF9Er/Zs2dr3Lhx6tu3r/r3769FixapsLBQEyZMkCSNHTtWrVq1UmZmpiRp5syZGjx4sJ599lndcMMNeuutt7Rz50798Y9/NPNtAAAAizA9uRk1apSOHTumRx99VPn5+erVq5c++ugjd6fhnJwchYX9r8A0cOBArVixQg8//LAeeughderUSe+88466d+9u1lsAAAAWYvo8N4HGPDcAAASfoJnnBgAAwNdIbgAAgK2Q3AAAAFshuQEAALZCcgMAAGyF5AYAANiK6fPcBFrZyHdWBwcAIHiUXbdrM4NNyCU3J0+elCQlJiaaHAkAAPDUyZMn5XQ6q90n5CbxKy0t1eHDh9WkSRM5HA6zwwmogoICJSYmKjc3lwkM64hj6RscR9/hWPoGx9F3fH0sDcPQyZMnddlll5VbuaAyIVe5CQsLU+vWrc0Ow1TR0dF8aH2EY+kbHEff4Vj6BsfRd3x5LGuq2JShQzEAALAVkhsAAGArJDchJDIyUo899pgiIyPNDiXocSx9g+PoOxxL3+A4+o6ZxzLkOhQDAAB7o3IDAABsheQGAADYCskNAACwFZIbAABgKyQ3NvTpp5/qxhtv1GWXXSaHw6F33nmn3P2GYejRRx9VQkKCoqKiNGzYMH333XfmBGthNR3H8ePHy+FwlLsNHz7cnGAtLDMzU/369VOTJk0UGxurjIwM7du3r9w+Z86c0fTp09WiRQs1btxYt956q44cOWJSxNZVm2OZlpZW4bycOnWqSRFb1+LFi9WzZ0/3BHMpKSn68MMP3fdzTtZOTcfRrPOR5MaGCgsLlZycrBdffLHS+59++mn9/ve/15IlS7R9+3Y1atRI6enpOnPmTIAjtbaajqMkDR8+XHl5ee7bm2++GcAIg8PmzZs1ffp0ff7551q3bp3OnTun66+/XoWFhe597r33Xv3tb3/TqlWrtHnzZh0+fFgjR440MWprqs2xlKQpU6aUOy+ffvppkyK2rtatW2vhwoXatWuXdu7cqWuvvVY333yz9u7dK4lzsrZqOo6SSeejAVuTZKxZs8b9/9LSUiM+Pt545pln3NtOnDhhREZGGm+++aYJEQaHS4+jYRjGuHHjjJtvvtmUeILZ0aNHDUnG5s2bDcO4cP7Vr1/fWLVqlXufb775xpBkbNu2zawwg8Klx9IwDGPw4MHGzJkzzQsqiDVr1sx4+eWXOSfrqOw4GoZ55yOVmxBz4MAB5efna9iwYe5tTqdTV111lbZt22ZiZMFp06ZNio2NVZcuXTRt2jT9+OOPZodkeS6XS5LUvHlzSdKuXbt07ty5cudk165d1aZNG87JGlx6LMu88cYbatmypbp37665c+fq9OnTZoQXNEpKSvTWW2+psLBQKSkpnJNeuvQ4ljHjfAy5hTNDXX5+viQpLi6u3Pa4uDj3faid4cOHa+TIkWrXrp2ys7P10EMPacSIEdq2bZvCw8PNDs+SSktLNWvWLKWmpqp79+6SLpyTERERatq0abl9OSerV9mxlKQxY8aobdu2uuyyy/TVV1/pwQcf1L59+7R69WoTo7Wmr7/+WikpKTpz5owaN26sNWvWqFu3bsrKyuKc9EBVx1Ey73wkuQG8dPvtt7v/3aNHD/Xs2VMdOnTQpk2bNHToUBMjs67p06drz5492rJli9mhBL2qjuWdd97p/nePHj2UkJCgoUOHKjs7Wx06dAh0mJbWpUsXZWVlyeVy6e2339a4ceO0efNms8MKOlUdx27dupl2PtIsFWLi4+MlqUKv/yNHjrjvg3fat2+vli1bav/+/WaHYkkzZszQ+++/r40bN6p169bu7fHx8Tp79qxOnDhRbn/OyapVdSwrc9VVV0kS52UlIiIi1LFjR/Xp00eZmZlKTk7Wc889xznpoaqOY2UCdT6S3ISYdu3aKT4+XuvXr3dvKygo0Pbt28u1kcJz33//vX788UclJCSYHYqlGIahGTNmaM2aNdqwYYPatWtX7v4+ffqofv365c7Jffv2KScnh3PyEjUdy8pkZWVJEudlLZSWlqq4uJhzso7KjmNlAnU+0ixlQ6dOnSqXFR84cEBZWVlq3ry52rRpo1mzZumJJ55Qp06d1K5dOz3yyCO67LLLlJGRYV7QFlTdcWzevLnmz5+vW2+9VfHx8crOztYDDzygjh07Kj093cSorWf69OlasWKF3n33XTVp0sTdZ8HpdCoqKkpOp1OTJk3S7Nmz1bx5c0VHR+vuu+9WSkqKBgwYYHL01lLTsczOztaKFSv0k5/8RC1atNBXX32le++9V4MGDVLPnj1Njt5a5s6dqxEjRqhNmzY6efKkVqxYoU2bNunjjz/mnPRAdcfR1PMx4OOz4HcbN240JFW4jRs3zjCMC8PBH3nkESMuLs6IjIw0hg4dauzbt8/coC2ouuN4+vRp4/rrrzdiYmKM+vXrG23btjWmTJli5Ofnmx225VR2DCUZy5Ytc+9TVFRk3HXXXUazZs2Mhg0bGrfccouRl5dnXtAWVdOxzMnJMQYNGmQ0b97ciIyMNDp27Gjcf//9hsvlMjdwC5o4caLRtm1bIyIiwoiJiTGGDh1qfPLJJ+77OSdrp7rjaOb56DAMw/Bv+gQAABA49LkBAAC2QnIDAABsheQGAADYCskNAACwFZIbAABgKyQ3AADAVkhuAACArZDcAAAAWyG5AQAAtkJyA8BSzp49a3YIFVgxJgBVI7kB4FdpaWmaMWOGZsyYIafTqZYtW+qRRx5R2covSUlJevzxxzV27FhFR0frzjvvlCRt2bJF11xzjaKiopSYmKh77rlHhYWF7uf9wx/+oE6dOqlBgwaKi4vTbbfd5r7v7bffVo8ePRQVFaUWLVpo2LBh7sempaVp1qxZ5WLMyMjQ+PHj3f/3NiYA1kByA8Dv/vznP6tevXr6xz/+oeeee06//e1v9fLLL7vv/81vfqPk5GR98cUXeuSRR5Sdna3hw4fr1ltv1VdffaWVK1dqy5YtmjFjhiRp586duueee7RgwQLt27dPH330kQYNGiRJysvL0+jRozVx4kR988032rRpk0aOHClPl9HzNCYA1sHCmQD8Ki0tTUePHtXevXvlcDgkSXPmzNF7772nf/7zn0pKSlLv3r21Zs0a92MmT56s8PBwvfTSS+5tW7Zs0eDBg1VYWKi1a9dqwoQJ+v7779WkSZNyr7d792716dNHBw8eVNu2bSuNp1evXlq0aJF7W0ZGhpo2barly5dLklcxNWjQoE7HCYDvULkB4HcDBgxwJzaSlJKSou+++04lJSWSpL59+5bb/8svv9Ty5cvVuHFj9y09PV2lpaU6cOCArrvuOrVt21bt27fXHXfcoTfeeEOnT5+WJCUnJ2vo0KHq0aOHfvrTn2rp0qX6z3/+43HMnsYEwDpIbgCYrlGjRuX+f+rUKf3iF79QVlaW+/bll1/qu+++U4cOHdSkSRPt3r1bb775phISEvToo48qOTlZJ06cUHh4uNatW6cPP/xQ3bp10/PPP68uXbq4E5CwsLAKTVTnzp2rc0wArIPkBoDfbd++vdz/P//8c3Xq1Enh4eGV7n/llVfqn//8pzp27FjhFhERIUmqV6+ehg0bpqefflpfffWVDh48qA0bNkiSHA6HUlNTNX/+fH3xxReKiIhwNzHFxMQoLy/P/VolJSXas2dPje+hNjEBsAaSGwB+l5OTo9mzZ2vfvn1688039fzzz2vmzJlV7v/ggw9q69atmjFjhrKysvTdd9/p3XffdXfeff/99/X73/9eWVlZOnTokF599VWVlpaqS5cu2r59u5588knt3LlTOTk5Wr16tY4dO6bLL79cknTttdfqgw8+0AcffKBvv/1W06ZN04kTJ2p8DzXFBMA66pkdAAD7Gzt2rIqKitS/f3+Fh4dr5syZ7uHVlenZs6c2b96sX/3qV7rmmmtkGIY6dOigUaNGSZKaNm2q1atXa968eTpz5ow6deqkN998U1dccYW++eYbffrpp1q0aJEKCgrUtm1bPfvssxoxYoQkaeLEifryyy81duxY1atXT/fee6+GDBlS43uoKSYA1sFoKQB+VdnoJADwJ5qlAACArZDcAAAAW6FZCgAA2AqVGwAAYCskNwAAwFZIbgAAgK2Q3AAAAFshuQEAALZCcgMAAGyF5AYAANgKyQ0AALAVkhsAAGAr/x+FoOgGs8heLQAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAHHCAYAAABeLEexAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABVMUlEQVR4nO3deVhU5eIH8O+wDILIILKJgeAuiqaSirgmVzRbTLu5kLmlt3K3TKxcS0HrlsstLe8t7abFrateW9S84nJVLiKKW0ZKKJYskjIjgmzz/v7wx7mOgAzDDHNmzvfzPPM8cs47M+85Dsz3vNtRCSEEiIiIiBTMwdoVICIiIrI2BiIiIiJSPAYiIiIiUjwGIiIiIlI8BiIiIiJSPAYiIiIiUjwGIiIiIlI8BiIiIiJSPAYiIiIiUjwGIiKyGUuXLoVKpTKqrEqlwtKlSy1an4EDB2LgwIGyfT0iMh4DERHV2ebNm6FSqaSHk5MTWrRogYkTJ+K3336zdvVkJzg42OB8+fr6ol+/ftixY4dZXr+oqAhLly7FwYMHzfJ6RErEQEREJlu+fDn+/ve/Y+PGjRg2bBg+//xzDBgwAHfu3LHI+7355psoLi62yGtb2sMPP4y///3v+Pvf/45XX30V165dw8iRI7Fx48Z6v3ZRURGWLVvGQERUD07WrgAR2a5hw4YhPDwcAPDCCy/A29sbq1atwq5du/Dss8+a/f2cnJzg5GSbf7ZatGiB5557Tvr5+eefR5s2bfD+++/jxRdftGLNiAhgCxERmVG/fv0AABkZGQbbf/rpJzzzzDPw8vJCo0aNEB4ejl27dhmUKSsrw7Jly9C2bVs0atQIzZo1Q9++fbFv3z6pTHVjiEpKSjB37lz4+PigSZMmePLJJ/Hrr79WqdvEiRMRHBxcZXt1r/npp5/i0Ucfha+vL1xcXBAaGooNGzbU6VzUxt/fHx07dkRmZuYDy+Xl5WHKlCnw8/NDo0aN0LVrV2zZskXaf/nyZfj4+AAAli1bJnXLWXr8FJG9sc1LLSKSpcuXLwMAmjZtKm07f/48IiMj0aJFC8TGxqJx48b4xz/+gREjRuCf//wnnn76aQB3g0lcXBxeeOEF9OzZEzqdDidOnMDJkyfxhz/8ocb3fOGFF/D5559j3Lhx6NOnDxITEzF8+PB6HceGDRvQqVMnPPnkk3BycsI333yDl19+GXq9HtOnT6/Xa1cqKyvD1atX0axZsxrLFBcXY+DAgbh06RJmzJiBkJAQfPXVV5g4cSIKCgowe/Zs+Pj4YMOGDXjppZfw9NNPY+TIkQCALl26mKWeRIohiIjq6NNPPxUAxL///W9x/fp1cfXqVfH1118LHx8f4eLiIq5evSqVHTx4sAgLCxN37tyRtun1etGnTx/Rtm1baVvXrl3F8OHDH/i+S5YsEff+2UpLSxMAxMsvv2xQbty4cQKAWLJkibRtwoQJomXLlrW+phBCFBUVVSkXHR0tWrVqZbBtwIABYsCAAQ+ssxBCtGzZUgwZMkRcv35dXL9+XZw+fVqMGTNGABAzZ86s8fXWrFkjAIjPP/9c2lZaWioiIiKEu7u70Ol0Qgghrl+/XuV4iahu2GVGRCaLioqCj48PAgMD8cwzz6Bx48bYtWsXHnroIQDAjRs3kJiYiGeffRa3bt1Cfn4+8vPz8fvvvyM6OhoXL16UZqV5enri/PnzuHjxotHv//333wMAZs2aZbB9zpw59TouV1dX6d9arRb5+fkYMGAAfvnlF2i1WpNe84cffoCPjw98fHzQtWtXfPXVVxg/fjxWrVpV43O+//57+Pv7Y+zYsdI2Z2dnzJo1C4WFhTh06JBJdSGiqthlRkQm++CDD9CuXTtotVp88sknOHz4MFxcXKT9ly5dghACixYtwqJFi6p9jby8PLRo0QLLly/HU089hXbt2qFz584YOnQoxo8f/8CunytXrsDBwQGtW7c22N6+fft6HdfRo0exZMkSJCUloaioyGCfVquFRqOp82v26tULb7/9NlQqFdzc3NCxY0d4eno+8DlXrlxB27Zt4eBgeO3asWNHaT8RmQcDERGZrGfPntIssxEjRqBv374YN24c0tPT4e7uDr1eDwB49dVXER0dXe1rtGnTBgDQv39/ZGRk4F//+hd++OEH/PWvf8X777+PjRs34oUXXqh3XWta0LGiosLg54yMDAwePBgdOnTAe++9h8DAQKjVanz//fd4//33pWOqK29vb0RFRZn0XCKyPAYiIjILR0dHxMXFYdCgQfjLX/6C2NhYtGrVCsDdbh5jwoCXlxcmTZqESZMmobCwEP3798fSpUtrDEQtW7aEXq9HRkaGQatQenp6lbJNmzZFQUFBle33t7J88803KCkpwa5duxAUFCRtP3DgQK31N7eWLVvizJkz0Ov1Bq1EP/30k7QfqDnsEZHxOIaIiMxm4MCB6NmzJ9asWYM7d+7A19cXAwcOxEcffYTs7Owq5a9fvy79+/fffzfY5+7ujjZt2qCkpKTG9xs2bBgAYN26dQbb16xZU6Vs69atodVqcebMGWlbdnZ2ldWiHR0dAQBCCGmbVqvFp59+WmM9LOWxxx5DTk4OEhISpG3l5eVYv3493N3dMWDAAACAm5sbAFQb+IjIOGwhIiKzmj9/Pv74xz9i8+bNePHFF/HBBx+gb9++CAsLw9SpU9GqVSvk5uYiKSkJv/76K06fPg0ACA0NxcCBA9GjRw94eXnhxIkT+PrrrzFjxowa3+vhhx/G2LFj8eGHH0Kr1aJPnz7Yv38/Ll26VKXsmDFjsGDBAjz99NOYNWsWioqKsGHDBrRr1w4nT56Uyg0ZMgRqtRpPPPEE/vSnP6GwsBCbNm2Cr69vtaHOkqZNm4aPPvoIEydORGpqKoKDg/H111/j6NGjWLNmDZo0aQLg7iDw0NBQJCQkoF27dvDy8kLnzp3RuXPnBq0vkU2z9jQ3IrI9ldPuU1JSquyrqKgQrVu3Fq1btxbl5eVCCCEyMjLE888/L/z9/YWzs7No0aKFePzxx8XXX38tPe/tt98WPXv2FJ6ensLV1VV06NBBrFixQpSWlkplqpsiX1xcLGbNmiWaNWsmGjduLJ544glx9erVaqeh//DDD6Jz585CrVaL9u3bi88//7za19y1a5fo0qWLaNSokQgODharVq0Sn3zyiQAgMjMzpXJ1mXZf25ICNb1ebm6umDRpkvD29hZqtVqEhYWJTz/9tMpzjx07Jnr06CHUajWn4BOZQCXEPe3CRERERArEMURERESkeAxEREREpHgMRERERKR4DERERESkeAxEREREpHgMRERERKR4XJjRSHq9HteuXUOTJk24TD4REZGNEELg1q1bCAgIqHKj5HsxEBnp2rVrCAwMtHY1iIiIyARXr17FQw89VON+BiIjVS6Rf/XqVXh4eFi5NkRERGQMnU6HwMBA6Xu8JgxERqrsJvPw8GAgIiIisjG1DXfhoGoiIiJSPAYiIiIiUjwGIiIiIlI8jiEiIiLFq6ioQFlZmbWrQSZwdnaGo6NjvV/HqoHo8OHDeOedd5Camors7Gzs2LEDI0aMqLbsiy++iI8++gjvv/8+5syZI22/ceMGZs6ciW+++QYODg4YNWoU1q5dC3d3d6nMmTNnMH36dKSkpMDHxwczZ87Ea6+9ZuGjIyIiuRNCICcnBwUFBdauCtWDp6cn/P3967VOoFUD0e3bt9G1a1dMnjwZI0eOrLHcjh078N///hcBAQFV9sXExCA7Oxv79u1DWVkZJk2ahGnTpmHbtm0A7k63GzJkCKKiorBx40acPXsWkydPhqenJ6ZNm2axYyMiIvmrDEO+vr5wc3Pjwrs2RgiBoqIi5OXlAQCaN29u8mtZNRANGzYMw4YNe2CZ3377DTNnzsTevXsxfPhwg30XLlzAnj17kJKSgvDwcADA+vXr8dhjj+Hdd99FQEAAtm7ditLSUnzyySdQq9Xo1KkT0tLS8N577zEQEREpWEVFhRSGmjVrZu3qkIlcXV0BAHl5efD19TW5+0zWg6r1ej3Gjx+P+fPno1OnTlX2JyUlwdPTUwpDABAVFQUHBwckJydLZfr37w+1Wi2ViY6ORnp6Om7evFnje5eUlECn0xk8iIjIflSOGXJzc7NyTai+Kv8P6zMOTNaBaNWqVXBycsKsWbOq3Z+TkwNfX1+DbU5OTvDy8kJOTo5Uxs/Pz6BM5c+VZaoTFxcHjUYjPXjbDiIi+8RuMttnjv9D2Qai1NRUrF27Fps3b7bKh3XhwoXQarXS4+rVqw1eByIiImoYsg1E//nPf5CXl4egoCA4OTnByckJV65cwSuvvILg4GAAgL+/vzSQqlJ5eTlu3LgBf39/qUxubq5BmcqfK8tUx8XFRbpNB2/XQURESqBSqbBz505rV8PAwYMHoVKpLD4TULaBaPz48Thz5gzS0tKkR0BAAObPn4+9e/cCACIiIlBQUIDU1FTpeYmJidDr9ejVq5dU5vDhwwb9ivv27UP79u3RtGnThj2oOsjWFuNYRj6ytcXWrgoREdmZpUuX4uGHH7Z2NWTFqrPMCgsLcenSJennzMxMpKWlwcvLC0FBQVVG/Ts7O8Pf3x/t27cHAHTs2BFDhw7F1KlTsXHjRpSVlWHGjBkYM2aMNEV/3LhxWLZsGaZMmYIFCxbg3LlzWLt2Ld5///2GO9A6SkjJwsLtZ6EXgIMKiBsZhtGPBFm7WkRERHbLqi1EJ06cQLdu3dCtWzcAwLx589CtWzcsXrzY6NfYunUrOnTogMGDB+Oxxx5D37598fHHH0v7NRoNfvjhB2RmZqJHjx545ZVXsHjxYtlOuc/WFkthCAD0Anh9+zm2FBERkUSv1yMuLg4hISFwdXVF165d8fXXXwP4XxfT/v37ER4eDjc3N/Tp0wfp6ekAgM2bN2PZsmU4ffo0VCoVVCoVNm/eLL12fn4+nn76abi5uaFt27bYtWuXUXWqfN+9e/eiW7ducHV1xaOPPoq8vDzs3r0bHTt2hIeHB8aNG4eioiLpeSUlJZg1axZ8fX3RqFEj9O3bFykpKeY7WUayagvRwIEDIYQwuvzly5erbPPy8pIWYaxJly5d8J///Keu1bOKzPzbUhiqVCEELucXobnG1TqVIiKiWmVri5GZfxsh3o0t/vc6Li4On3/+OTZu3Ii2bdvi8OHDeO655+Dj4yOVeeONN/DnP/8ZPj4+ePHFFzF58mQcPXoUo0ePxrlz57Bnzx78+9//BnC38aDSsmXLsHr1arzzzjtYv349YmJicOXKFXh5eRlVt6VLl+Ivf/kL3Nzc8Oyzz+LZZ5+Fi4sLtm3bhsLCQjz99NNYv349FixYAAB47bXX8M9//hNbtmxBy5YtsXr1akRHR+PSpUtGv6c5yHYMkVKFeDeGw32T6hxVKgR7c50MIiK5SkjJQmR8IsZtSkZkfCISUrIs9l4lJSVYuXIlPvnkE0RHR6NVq1aYOHEinnvuOXz00UdSuRUrVmDAgAEIDQ1FbGwsjh07hjt37sDV1RXu7u5wcnKCv78//P39pcUNAWDixIkYO3Ys2rRpg5UrV6KwsBDHjx83un5vv/02IiMj0a1bN0yZMgWHDh3Chg0b0K1bN/Tr1w/PPPMMDhw4AODuHSs2bNiAd955B8OGDUNoaCg2bdoEV1dX/O1vfzPfSTMCA5HMNNe4Im5kGBz/f6kBR5UKK0d2ZusQEZFMNfRQh0uXLqGoqAh/+MMf4O7uLj0+++wzZGRkSOW6dOki/bvylhb3z8yuzr3Pa9y4MTw8PIx6XnXP9/Pzg5ubG1q1amWwrfL1MjIyUFZWhsjISGm/s7MzevbsiQsXLhj9nubAu93L0OhHgtC/nQ8u5xch2NuNYYiISMYaeqhDYWEhAOC7775DixYtDPa5uLhIocjZ2VnaXrmen16vr/X1731e5XONeV51z1epVPV+vYbCQCRTzTWuDEJERDagcqjDvaHIkkMdQkND4eLigqysLAwYMKDK/ntbiWqiVqtRUVFhierVSevWraFWq3H06FG0bNkSwN3bb6SkpGDOnDkNWhcGIiIionqoHOrw+vZzqBDC4kMdmjRpgldffRVz586FXq9H3759odVqcfToUXh4eEjB4kGCg4OlpW4eeughNGnSBC4uLhap74M0btwYL730EubPny8tubN69WoUFRVhypQpDVoXBiIiIqJ6auihDm+99RZ8fHwQFxeHX375BZ6enujevTtef/11o7qjRo0ahe3bt2PQoEEoKCjAp59+iokTJ1q0zjWJj4+XbuZ+69YthIeHY+/evQ2+eLJK1GXeu4LpdDpoNBpotVrexoOIyA7cuXMHmZmZCAkJQaNGjaxdHaqHB/1fGvv9zVlmREREpHgMRERERFSrF1980WCa/72PF1980drVqzeOISIiIqJaLV++HK+++mq1++xhKAkDEREREdXK19cXvr6+1q6GxbDLjIiIiBSPgYiIiBRNjqsmU92Y4/+QXWZERKRIarUaDg4OuHbtGnx8fKBWq6VbXJBtEEKgtLQU169fh4ODA9RqtcmvxUBERESK5ODggJCQEGRnZ+PatWvWrg7Vg5ubG4KCguDgYHrHFwMREREpllqtRlBQEMrLy2Vxby+qO0dHRzg5OdW7dY+BiIiIFK3yjuz335WdlIWDqomIiEjxGIiIiIhI8RiIiIiISPEYiIiIiEjxGIiIiIhI8RiIiIiISPEYiIiIiEjxGIiIiIhI8RiIiIiISPEYiIiIiEjxGIiIiIhI8RiIiIiISPEYiIiIiEjxGIiIiIhI8RiIiIiISPEYiIiIiEjxGIiIiIhI8RiIiIiISPEYiIiIiEjxGIiIiIhI8RiIiIiISPGsGogOHz6MJ554AgEBAVCpVNi5c6e0r6ysDAsWLEBYWBgaN26MgIAAPP/887h27ZrBa9y4cQMxMTHw8PCAp6cnpkyZgsLCQoMyZ86cQb9+/dCoUSMEBgZi9erVDXF49ZKtLcaxjHxka4utXRUiIiK7Z9VAdPv2bXTt2hUffPBBlX1FRUU4efIkFi1ahJMnT2L79u1IT0/Hk08+aVAuJiYG58+fx759+/Dtt9/i8OHDmDZtmrRfp9NhyJAhaNmyJVJTU/HOO+9g6dKl+Pjjjy1+fKZKSMlCZHwixm1KRmR8IhJSsqxdJSIiIrumEkIIa1cCAFQqFXbs2IERI0bUWCYlJQU9e/bElStXEBQUhAsXLiA0NBQpKSkIDw8HAOzZswePPfYYfv31VwQEBGDDhg144403kJOTA7VaDQCIjY3Fzp078dNPPxldP51OB41GA61WCw8Pj3od64Nka4sRGZ8I/T3/K44qFY7EDkJzjavF3peIiMgeGfv9bVNjiLRaLVQqFTw9PQEASUlJ8PT0lMIQAERFRcHBwQHJyclSmf79+0thCACio6ORnp6Omzdv1vheJSUl0Ol0Bo+GkJl/2yAMAUCFELicX9Qg709ERKRENhOI7ty5gwULFmDs2LFSwsvJyYGvr69BOScnJ3h5eSEnJ0cq4+fnZ1Cm8ufKMtWJi4uDRqORHoGBgeY8nBqFeDeGg8pwm6NKhWBvtwZ5fyIiIiWyiUBUVlaGZ599FkIIbNiwoUHec+HChdBqtdLj6tWrDfK+zTWuiBsZBkfV3VTkqFJh5cjO7C4jIiKyICdrV6A2lWHoypUrSExMNOj/8/f3R15enkH58vJy3LhxA/7+/lKZ3NxcgzKVP1eWqY6LiwtcXFzMdRh1MvqRIPRv54PL+UUI9nZjGCIiIrIwWbcQVYahixcv4t///jeaNWtmsD8iIgIFBQVITU2VtiUmJkKv16NXr15SmcOHD6OsrEwqs2/fPrRv3x5NmzZtmAMxQXONKyJaN2MYIiIiagBWDUSFhYVIS0tDWloaACAzMxNpaWnIyspCWVkZnnnmGZw4cQJbt25FRUUFcnJykJOTg9LSUgBAx44dMXToUEydOhXHjx/H0aNHMWPGDIwZMwYBAQEAgHHjxkGtVmPKlCk4f/48EhISsHbtWsybN89ah01EREQyY9Vp9wcPHsSgQYOqbJ8wYQKWLl2KkJCQap934MABDBw4EMDdhRlnzJiBb775Bg4ODhg1ahTWrVsHd3d3qfyZM2cwffp0pKSkwNvbGzNnzsSCBQvqVNeGmnZPRERE5mPs97ds1iGSOwYiIiIi22OX6xARERERWQIDERERESkeAxEREREpHgMRERERKR4DERERESkeAxEREREpHgMRERERKR4DERERESkeAxEREREpHgMRERERKR4DERERESkeAxEREREpHgMRERERKR4DkZVla4txLCMf2dpia1eFiIhIsZysXQElS0jJwsLtZ6EXgIMKiBsZhtGPBFm7WkRERIrDFiIrydYWS2EIAPQCeH37ObYUERERWQEDkZVk5t+WwlClCiFwOb/IOhUiIiJSMAYiKwnxbgwHleE2R5UKwd5u1qkQERGRgjEQWUlzjSviRobBUXU3FTmqVFg5sjOaa1ytXDMiIiLl4aBqKxr9SBD6t/PB5fwiBHu7MQwRERFZCQORlTXXuEpBKFtbjMz82wjxbsxwRERE1IAYiGSCU/CJiIish2OIZIBT8ImIiKyLgUgG6jIFnytbExERmR+7zGSgcgr+vaGouin47FYjIiKyDLYQyYAxU/DZrUZERGQ5bCGSidqm4D+oW40z0oiIiOqHgUhG7p2Cfz9ju9WIiIio7thlZiO4sjUREZHlsIXIhnBlayIiIstgILIxD+pWIyIiItOwy4yIiIgUj4GIiIiIFI+BiIiIiBSPgYiIiIgUj4GIiIiIFI+BiIiIiMzKFm9Ezmn3REREZDa2eiNyq7YQHT58GE888QQCAgKgUqmwc+dOg/1CCCxevBjNmzeHq6sroqKicPHiRYMyN27cQExMDDw8PODp6YkpU6agsLDQoMyZM2fQr18/NGrUCIGBgVi9erWlD42IiEhxbPlG5FYNRLdv30bXrl3xwQcfVLt/9erVWLduHTZu3Ijk5GQ0btwY0dHRuHPnjlQmJiYG58+fx759+/Dtt9/i8OHDmDZtmrRfp9NhyJAhaNmyJVJTU/HOO+9g6dKl+Pjjjy1+fERkn2yxO4CoITzoRuRyZ9Uus2HDhmHYsGHV7hNCYM2aNXjzzTfx1FNPAQA+++wz+Pn5YefOnRgzZgwuXLiAPXv2ICUlBeHh4QCA9evX47HHHsO7776LgIAAbN26FaWlpfjkk0+gVqvRqVMnpKWl4b333jMITkRExmjo7oBsbTEy828jxLsxV6kn2bPlG5HLdlB1ZmYmcnJyEBUVJW3TaDTo1asXkpKSAABJSUnw9PSUwhAAREVFwcHBAcnJyVKZ/v37Q61WS2Wio6ORnp6OmzdvNtDREJE9aOjugISULETGJ2LcpmRExiciISXLIu9DZC62fCNy2Q6qzsnJAQD4+fkZbPfz85P25eTkwNfX12C/k5MTvLy8DMqEhIRUeY3KfU2bNq32/UtKSlBSUiL9rNPp6nE0RGQPHtQdYO4/+DWFr/7tfGziy4WUy1ZvRC7bFiJri4uLg0ajkR6BgYHWrhIRWVlld8C9LNUdYMtjMYiaa1wR0bqZzYQhQMaByN/fHwCQm5trsD03N1fa5+/vj7y8PIP95eXluHHjhkGZ6l7j3veozsKFC6HVaqXH1atX63dARGTzGrI7oCHDFxHJOBCFhITA398f+/fvl7bpdDokJycjIiICABAREYGCggKkpqZKZRITE6HX69GrVy+pzOHDh1FWViaV2bdvH9q3b19jdxkAuLi4wMPDw+BBRDT6kSAciR2EL6b2xpHYQRYbUG3LYzGIbJFKCCFqL2YZhYWFuHTpEgCgW7dueO+99zBo0CB4eXkhKCgIq1atQnx8PLZs2YKQkBAsWrQIZ86cwY8//ohGjRoBuDtTLTc3Fxs3bkRZWRkmTZqE8PBwbNu2DQCg1WrRvn17DBkyBAsWLMC5c+cwefJkvP/++3WaZabT6aDRaKDVahmOiKjBZGuLbW4sBpGcGP39LazowIEDAkCVx4QJE4QQQuj1erFo0SLh5+cnXFxcxODBg0V6errBa/z+++9i7Nixwt3dXXh4eIhJkyaJW7duGZQ5ffq06Nu3r3BxcREtWrQQ8fHxda6rVqsVAIRWqzX5eImIiKhhGfv9bdUWIlvCFiIiIiLbY+z3t2zHEBERERE1FAYiIiIiUjwGIiIiIlI8BiIiIiJSPAYiIiIiUjwGIiIiIlI8BiIiIiJSPAYiIiIiUjwGIiIiIlI8BiIiIiJSPAYiIiIiUjwGIiIiIlI8BiIiIiJSPAYiIiIiUjwGIiIiIlI8BiIiIiJSPAYiIiIiUjwGIiIiIlI8BiIiIiJSPAYiIiIyq2xtMY5l5CNbW2ztqhAZzcnaFSAiIvuRkJKFhdvPQi8ABxUQNzIMox8Jsna1iGrFFiKSLV5lEtmWbG2xFIYAQC+A17ef4+8w2QS2EJEs8SqTyPZk5t+WwlClCiFwOb8IzTWu1qkUkZHYQkSyw6tMItsU4t0YDirDbY4qFYK93axTIaI6YCAi2XnQVSYRyVdzjSviRobBUXU3FTmqVFg5sjNbh8gmsMuMZKfyKvPeUMSrTCLbMPqRIPRv54PL+UUI9nZjGCKbwRYikh1eZRLZtuYaV0S0bsbfWbIpbCEiWeJVJhERNSQGIpKt5hpXBiEiImoQ7DIjIiIixWMgIiJSMC6ASnQXu8yIiBSKC6AS/Q9biIiIFIgLoBIZYiAiIlIgLoBKZIiBiIiogclh3A5vs0FkiGOIiIgakFzG7VQugPr69nOoEMIuF0DN1hYjM/82Gqsdcbu0AiHeje3q+Mi8VEIIUXsx0ul00Gg00Gq18PDwsHZ1iMgGZWuLERmfWOW2NEdiB1ntizpbW2yXC6DeGzwrceC4Mhn7/c0uMyKiBiLHcTv2eJuN+weMV+LAcXoQBiIiogZir+N25DAm6l7VBc9K1g6gJF9GByKdTmf0w1wqKiqwaNEihISEwNXVFa1bt8Zbb72Fe3v5hBBYvHgxmjdvDldXV0RFReHixYsGr3Pjxg3ExMTAw8MDnp6emDJlCgoLC81WTyIiY9jjjYsTUrIQGZ+IcZuSERmfiISULGtXqdrgWckeAihZhtGDqj09PaFS1fAJ+39CCKhUKlRUVNS7YgCwatUqbNiwAVu2bEGnTp1w4sQJTJo0CRqNBrNmzQIArF69GuvWrcOWLVsQEhKCRYsWITo6Gj/++CMaNWoEAIiJiUF2djb27duHsrIyTJo0CdOmTcO2bdvMUk8iImM11I2LKwcUW3IgcU1rGfVv52PVMVGZ+bexYFgHrN6djop7LqDtIYCS5RgdiA4cOGDJelTr2LFjeOqppzB8+HAAQHBwML744gscP34cwN0AtmbNGrz55pt46qmnAACfffYZ/Pz8sHPnTowZMwYXLlzAnj17kJKSgvDwcADA+vXr8dhjj+Hdd99FQEBAgx8XESmbpW9cXNNMNnOHpAeNibJG6Lj/uBcM7YAuD3nCTe2AolK93Q0cJ/MyOhANGDDAkvWoVp8+ffDxxx/j559/Rrt27XD69GkcOXIE7733HgAgMzMTOTk5iIqKkp6j0WjQq1cvJCUlYcyYMUhKSoKnp6cUhgAgKioKDg4OSE5OxtNPP13te5eUlKCkpET62ZxdgUREllJTq01BcRlW7f7JrNP9K7um7p81Z40uqeqOe/WedKvO4CPbYvI6RAUFBfjb3/6GCxcuAAA6deqEyZMnQ6PRmK1ysbGx0Ol06NChAxwdHVFRUYEVK1YgJiYGAJCTkwMA8PPzM3ien5+ftC8nJwe+vr4G+52cnODl5SWVqU5cXByWLVtmtmMhImoINbXaxO/+CcLMXVtyWstIbq1VZHtMCkQnTpxAdHQ0XF1d0bNnTwDAe++9hxUrVuCHH35A9+7dzVK5f/zjH9i6dSu2bduGTp06IS0tDXPmzEFAQAAmTJhglveoycKFCzFv3jzpZ51Oh8DAQIu+JxFRfVXXauMAWCwsNNSYqNrIqbWKbJNJ0+7nzp2LJ598EpcvX8b27duxfft2ZGZm4vHHH8ecOXPMVrn58+cjNjYWY8aMQVhYGMaPH4+5c+ciLi4OAODv7w8AyM3NNXhebm6utM/f3x95eXkG+8vLy3Hjxg2pTHVcXFzg4eFh8CAikrvqZrItGNbBotP95bCWkT3O4KOGZXIL0aZNm+Dk9L+nOzk54bXXXjMYq1NfRUVFcHAwzGyOjo7Q6/UAgJCQEPj7+2P//v14+OGHAdxtyUlOTsZLL70EAIiIiEBBQQFSU1PRo0cPAEBiYiL0ej169epltroSEclFda02nm7OsujasiS5tFaRbTIpEHl4eCArKwsdOnQw2H716lU0adLELBUDgCeeeAIrVqxAUFAQOnXqhFOnTuG9997D5MmTAQAqlQpz5szB22+/jbZt20rT7gMCAjBixAgAQMeOHTF06FBMnToVGzduRFlZGWbMmIExY8ZwhhkR2a37Z7IpJSxYegYf2S+TAtHo0aMxZcoUvPvuu+jTpw8A4OjRo5g/fz7Gjh1rtsqtX78eixYtwssvv4y8vDwEBATgT3/6ExYvXiyVee2113D79m1MmzYNBQUF6Nu3L/bs2SOtQQQAW7duxYwZMzB48GA4ODhg1KhRWLdundnqSURkCxgWiGpm0s1dS0tLMX/+fGzcuBHl5eUAAGdnZ7z00kuIj4+Hi4uL2Stqbby5K5HlNcRigkSkLMZ+f9frbvdFRUXIyMgAALRu3RpubvY7mp+BiMiyalpMkIioPoz9/jZ5HSIAcHNzQ1hYWH1egohIVreAYCsVkTKZFIju3LmD9evX48CBA8jLy5NmfVU6efKkWSpHRMogl0X12EpFpFwmBaIpU6bghx9+wDPPPIOePXvWetNXIqIHkcOienJqpSKihmdSIPr222/x/fffIzIy0tz1ISIFksMtIOTSSkVE1mFSIGrRooVZ1xsiIrL2OjlyaKWydxyfRXJm0q07/vznP2PBggW4cuWKuetDRApmzVtA8NYPlpWQkoXI+ESM25SMyPhEJKRkWbtKRAZMaiEKDw/HnTt30KpVK7i5ucHZ2dlg/40bN8xSOSJT8UqUTGHtVip7xfFZZAtMCkRjx47Fb7/9hpUrV8LPz4+DqklWOFOI6oOrOZsfx2eRLTApEB07dgxJSUno2rWruetDVC+8EiWSH47PIltg0hiiDh06oLi42Nx1Iaq3B12JEpF1cHwW2QKTWoji4+PxyiuvYMWKFQgLC6syhoi3tiBr4ZUokTxxfBbJnUn3MnNwuNuwdP/YISEEVCoVKioqzFM7GeG9zGxHQkpWlfVsOIaISL44CYIsyaL3Mjtw4IDJFSOytJquRPlHl0h+OAmC5KJed7uvzcsvv4zly5fD29vbUm/RYNhCZNv4R5dIfrK1xYiMT6zSxX0kdhAvWshsjP3+NmlQtbE+//xz6HQ6S74FUa1qmnmWreXEAKJ7ZWuLcSwjv8F+NzgJguTEpC4zY1mw8YnIaFwDhah21mhF5SQIkhOLthARyUHlH9178Y8u0f9YqxWV0/FJTizaQkQkB3K4kzopi60N4LdmKyqn45NcMBCRIvCPLjWU+nY9WSNMWbvrirdLITlglxkphjXvpE7KUN+uJ2vdEZ5dV0QWbiF67rnnOEWdzMrcV8+21rVB8lafridr34ePraikdCYHooKCAhw/fhx5eXnQ6/UG+55//nkAwIYNG+pXO6J7mHsWDNcmInOrT9eTHGZDsuuKlMykQPTNN98gJiYGhYWF8PDwMLiFh0qlkgIRkbmY++rZ2lfjZJ/qM4Df2uN4iJTOpED0yiuvYPLkyVi5ciXc3PjLSpZn7qtnOVyNk30yteuptjDF7l0iyzIpEP3222+YNWsWwxA1GHNfPfNqnCzJ1K6nmsIUu3ctgyGT7mXSLLPo6GicOHHC3HUhqpG5Z8FwVg3J1f2zIe351jMNfauQe1lrRh/Jl9EtRLt27ZL+PXz4cMyfPx8//vgjwsLC4OzsbFD2ySefNF8Nif6fuWfBcFYN2QJ77d61ZqsXxxBSdYwORCNGjKiybfny5VW2qVQqVFRU1KtSRDUx9ywYzqohubPH7l1rBxJ7DZlUP0Z3men1eqMeDENEROZj7u5da3ZTVbL2Xe55f0OqjkljiD777DOUlJRU2V5aWorPPvus3pUiIqL/Gf1IEI7EDsIXU3vjSOygKl1LxoYcuYybqSmQuKkdGiSscQwhVUclhBC1FzPk6OiI7Oxs+Pr6Gmz//fff4evra5etRDqdDhqNBlqtlqtvE5FsGDsWJ1tbjMj4xCpdb0diB1klCCSkZBksMTCiWwB2nPqtQccUZWuLOYZQAYz9/jZp2r0QwmAxxkq//vorNBqNKS9JRER1VJexOHIbN3PvpAY3tQOe/vBYg48p4hhCuledAlG3bt2gUqmgUqkwePBgODn97+kVFRXIzMzE0KFDzV5JIiKqqi4hR46DsysDybGMfFmFNVKmOgWiyplmaWlpiI6Ohru7u7RPrVYjODgYo0aNMmsFiYiUyJhFA+sScupzWxFLk2NYI+UxaQzRli1bMHr0aDRq1MgSdZIljiEiooZSlzV67h+Ls3Jk5weOvZHruJm6HgeRsYz9/jYpEFUqLS2t9m73QUH29yFmICKihmDK4Gc5hZz63A5DTsdB9sOig6ovXryIyZMn49ixYwbbKwdb2+MsMyKyPiXce8qUwc9yGRxc39Wn5XIcpEwmrUM0ceJEODg44Ntvv0VqaipOnjyJkydP4tSpUzh58qRZK/jbb7/hueeeQ7NmzeDq6oqwsDCD+6gJIbB48WI0b94crq6uiIqKwsWLFw1e48aNG4iJiYGHhwc8PT0xZcoUFBYWmrWeRGRZcllDx9JsddFAe77nGimDSS1EaWlpSE1NRYcOHcxdHwM3b95EZGQkBg0ahN27d8PHxwcXL15E06ZNpTKrV6/GunXrsGXLFoSEhGDRokWIjo7Gjz/+KI1xiomJQXZ2Nvbt24eysjJMmjQJ06ZNw7Zt2yxafyIyD2vf6qEhyXnw84PIbVo/UV2ZFIhCQ0ORn59v7rpUsWrVKgQGBuLTTz+VtoWEhEj/FkJgzZo1ePPNN/HUU08BuLuKtp+fH3bu3IkxY8bgwoUL2LNnD1JSUhAeHg4AWL9+PR577DG8++67CAgIsPhxkG1RQreMrVHal60t3niYM8XI1pnUZbZq1Sq89tprOHjwIH7//XfodDqDh7ns2rUL4eHh+OMf/whfX19069YNmzZtkvZnZmYiJycHUVFR0jaNRoNevXohKSkJAJCUlARPT08pDAFAVFQUHBwckJycXON7l5SUWOy4yHzMfV8mpXTL2BprdiNZ695fzTWuiGjdzCbCEMDbYZDtM6mFqDKAPProowYrVpt7UPUvv/yCDRs2YN68eXj99deRkpKCWbNmQa1WY8KECcjJyQEA+Pn5GTzPz89P2peTk1PlFiNOTk7w8vKSylQnLi4Oy5YtM8tx0IOZ2iJT3wGc1dVDKd0ytsZa3Ujm/ozZO1ts2SKqZFIgOnDggLnrUS29Xo/w8HCsXLkSwN2Vss+dO4eNGzdiwoQJFn3vhQsXYt68edLPOp0OgYGBFn1PJTL1C8cS4UVp3TKWYqkux4b+smVANg1nipGtMqnLbMCAAXBwcMCmTZsQGxuLNm3aYMCAAcjKyoKjo6PZKte8eXOEhoYabOvYsSOysu52Y/j7+wMAcnNzDcrk5uZK+/z9/ZGXl2ewv7y8HDdu3JDKVMfFxQUeHh4GD7rLXF0I9ZmV8qDwYipbnd0jJ5bucmzIbqSaPmOpl29a/L2JqOGZFIj++c9/Ijo6Gq6urjh16hRKSkoAAFqtVmrNMYfIyEikp6cbbPv555/RsmVLAHcHWPv7+2P//v3Sfp1Oh+TkZERERAAAIiIiUFBQgNTUVKlMYmIi9Ho9evXqZba6KoU5v/DqE2osEV44BqJ+7G3adXWfMQCY9eUpji0jskMmBaK3334bGzduxKZNm+Ds7Cxtj4yMNOs6RHPnzsV///tfrFy5EpcuXcK2bdvw8ccfY/r06QAAlUqFOXPm4O2338auXbtw9uxZPP/88wgICJDuu9axY0cMHToUU6dOxfHjx3H06FHMmDEDY8aM4QyzOjL3F159Qo2lwsvoR4JwJHYQvpjaG0diB3G8SB1YotXOmio/Y/f/kbT1oEdE1TNpDFF6ejr69+9fZbtGo0FBQUF96yR55JFHsGPHDixcuBDLly9HSEgI1qxZg5iYGKnMa6+9htu3b2PatGkoKChA3759sWfPHoP7rG3duhUzZszA4MGD4eDggFGjRmHdunVmq6dSmHuMTX0HylpqTAnHQJjGHqddj34kCI1dnDBj2ymD7RxbRmR/TApE/v7+uHTpEoKDgw22HzlyBK1atTJHvSSPP/44Hn/88Rr3q1QqLF++HMuXL6+xjJeXFxdhNANLfOHVN9SYGl641pD52eqCgrXp0bKp3QU9IqrKpEA0depUzJ49G5988glUKhWuXbuGpKQkvPrqq1i0aJG560gyYakvvIZukeFUasuxx2nX9hr0iMiQSXe7F0Jg5cqViIuLQ1HR3fEBLi4uePXVV/HWW2+ZvZJywLvd/48t35HalDuJEwG2/bknUjJjv79NCkSVSktLcenSJRQWFiI0NBTu7u6mvpTsMRDZh2MZ+Ri3qeoK5V9M7Y2I1s2sUCMiIrIkY7+/Teoyq6RWq6usE0QkZ/Y48JeIiOrPpGn3RLaKaw0REVF16tVCRGSL7HHgLxER1Q8DESkS1xoiIqJ7scuMiIiIFI+BiGplrpu5EhERyRW7zOiBuIgh2RquQk5EpmAgohrVdDPX/u18+EVDssQAT0SmYpcZ1cje7l5O9q2mAM+uXiIyBgMR1ahyEcN7cRFDkisGeCKqDwYiqhEXMSRbwgBPRPXBMUT0QFzEkGwF70pPRPXBQES14iKGZCsY4InIVAxERGRXGOCJyBQcQ0REssaFQUmp+NlvWGwhIiLZ4rpCpFT87Dc8thARkSxZe10hXp2TtVj7s69UbCEiIll60LpClh4jxKtzsiZrfvaVjC1ERCRL1lpXiFfnZG1cU8s6GIiISJastTAoV7wma+OiuNbBLjMiki1rrCtUeXV+byji1Tk1NK6p1fDYQkREstZc44qI1s0a7AuBV+ckFw392Vc6thCRzcrWFiMz/zZCvBvzDwaZFa/OiZSHgYhsEmcByZs9hFWueE2kLAxEZHNqmgXUv50Pv8BkoLawag9hiYjsDwMR2Ryu0SFftYVVtuwRkVxxUDVVS86r9HKNDvl6UFjl+j5EJGcMRFRFQkoWIuMTMW5TMiLjE5GQkmXtKhngLCD5elBY5fo+RCRn7DIjA7YyPoezgOSpMqy+vv0cKoSoEla5vg8RyRUDERmwpfE5nAUkTzWF1drCEhGRNTEQkQGu0kvmUFNYZcseEckVxxCRAY7PIUvj6rtEJEdsIaIqeBVP9ojrH9k//h9TfTAQUbU4PofsCdc/sn/8P6b6YpcZEdk1rn9k//h/TObAQEREdo3rH9k/U/+P5bwALTU8mwpE8fHxUKlUmDNnjrTtzp07mD59Opo1awZ3d3eMGjUKubm5Bs/LysrC8OHD4ebmBl9fX8yfPx/l5eUNXHsisgaubG7/TPk/lvsCtNTwbCYQpaSk4KOPPkKXLl0Mts+dOxfffPMNvvrqKxw6dAjXrl3DyJEjpf0VFRUYPnw4SktLcezYMWzZsgWbN2/G4sWLG/oQiMgKOHPS/tX1/5hdbFQdlRBC1F7MugoLC9G9e3d8+OGHePvtt/Hwww9jzZo10Gq18PHxwbZt2/DMM88AAH766Sd07NgRSUlJ6N27N3bv3o3HH38c165dg5+fHwBg48aNWLBgAa5fvw61Wm1UHXQ6HTQaDbRaLTw8PCx2rERkGdnaYs6ctHPG/h8fy8jHuE3JVbZ/MbU3Ilo3s2QVyQqM/f62iRai6dOnY/jw4YiKijLYnpqairKyMoPtHTp0QFBQEJKSkgAASUlJCAsLk8IQAERHR0On0+H8+fM1vmdJSQl0Op3Bg4hsF9c/sn/G/h+zG5WqI/tA9OWXX+LkyZOIi4ursi8nJwdqtRqenp4G2/38/JCTkyOVuTcMVe6v3FeTuLg4aDQa6REYGFjPI6HacIAjETUEdqNSdWS9DtHVq1cxe/Zs7Nu3D40aNWrQ9164cCHmzZsn/azT6RiKLIhriNgvLpZHcsQFaOl+sg5EqampyMvLQ/fu3aVtFRUVOHz4MP7yl79g7969KC0tRUFBgUErUW5uLvz9/QEA/v7+OH78uMHrVs5CqyxTHRcXF7i4uJjxaKgmNQ1w7N/Oh3+kbByDLsnN/QGdf2Ookqy7zAYPHoyzZ88iLS1NeoSHhyMmJkb6t7OzM/bv3y89Jz09HVlZWYiIiAAARERE4OzZs8jLy5PK7Nu3Dx4eHggNDW3wY6KquE6MfeJMHpIbTrWXLzkMmZB1C1GTJk3QuXNng22NGzdGs2bNpO1TpkzBvHnz4OXlBQ8PD8ycORMRERHo3bs3AGDIkCEIDQ3F+PHjsXr1auTk5ODNN9/E9OnT2QIkE5UDHO8NRRzgaPseFHR5VU4NjS3R8iWXlmRZtxAZ4/3338fjjz+OUaNGoX///vD398f27dul/Y6Ojvj222/h6OiIiIgIPPfcc3j++eexfPlyK9a6YckheT8IBzjaJ87kITlhS7Q8yakl2SbWIZIDW12HSC7J2xhcJ8b+JKRk4fXt51AhhBR05fr5I/uWrS1GZHxilZboI7GDbPrvja1PWmiINaGM/f6WdZcZ1Y+tNRFzgKP94UwekovKluj7A7otfybrc8ErlyAlpyETDER2jGM4SA4YdEku7Cmg1+eCV049B3IKqgxEdkxOyZuISA7sJaCbesErx54DuQRVmx9UTTXjYGUiIvtk6qQFuQ4ul8OtddhCZOfkkrzJ/sllTAKREpja1cSeg5oxECmAvTQRk3zJaUwCkVKYcsErpzE7csNp90ay1Wn3RJbWENOZ2fpEVD/3/w4paZkTTrsnogZh6dmMbH0iqp+afofsPQjVFQdVE1G9WHJFajmtYktki/g7ZDwGIiKqF0vOZpTrjBiyP3K/xZGp+DtkPHaZEVG9WWo2I2fEUEOw525ZufwO2cI4QLYQEZFZWGIdEa6lRZZm711KcvgdSkjJQmR8IsZtSkZkfCISUrIa7L3rgi1ERCRrXEuLLEkJtziy5u+QHFfGrgkDERHJHtfSIkuRS5eSpVnrd8iWAie7zIiISLHk0KVkzyw5C9Xc2EJERESKxm5Zy7GllbEZiIiISPHYLWs5thI4GYiIiIjIomwhcHIMERHsd1E2IiIyDluISPHseVE2IiIyDluISNHsfVE2IiIyDgMRKRrv80NERAADESmcLa2RQURElsNARIrGRdmIiAjgoGoim1kjg4iILIeBiAi2sUYGEdmebG0xMvNvI8S7Mf/GyBwDERERkQVwSQ/bwjFEREREZsYlPWwPAxER1QlX9SaqHZf0sD3sMiMio7ELgMg4lUt63BuKuKSHvLGFiIiMwi4AUgpztIJySQ/bwxYiIjLKg7oA+Eee7IU5W0G5pIdtYQsRERmFq3qTvbNEK2hzjSsiWjdjGLIBDEREZBR2AZC940DohiHXiRnsMiMyEyUswMYuALJnHAhteXKemMEWIiIzSEjJQmR8IsZtSkZkfCISUrKsXSWLYRcA2Su2glqW3CdmsIWIqJ5q+iXv386Hf0iJbAxbQS1H7hMzGIiI6knuv+REVDe8t6FlyL1LUvZdZnFxcXjkkUfQpEkT+Pr6YsSIEUhPTzcoc+fOHUyfPh3NmjWDu7s7Ro0ahdzcXIMyWVlZGD58ONzc3ODr64v58+ejvLy8IQ/F7OQ6ME1pOPuKiKh2cu+SlH0L0aFDhzB9+nQ88sgjKC8vx+uvv44hQ4bgxx9/ROPGjQEAc+fOxXfffYevvvoKGo0GM2bMwMiRI3H06FEAQEVFBYYPHw5/f38cO3YM2dnZeP755+Hs7IyVK1da8/BMJueBaUpT+Uv++vZzqBBCdr/kRERyIecuSZUQQtReTD6uX78OX19fHDp0CP3794dWq4WPjw+2bduGZ555BgDw008/oWPHjkhKSkLv3r2xe/duPP7447h27Rr8/PwAABs3bsSCBQtw/fp1qNXqWt9Xp9NBo9FAq9XCw8PDosdYm2xtMSLjE6s0Ox6JHSSrD5fSZGuLZflLTkRkbrY0q9bY72/Zd5ndT6vVAgC8vLwAAKmpqSgrK0NUVJRUpkOHDggKCkJSUhIAICkpCWFhYVIYAoDo6GjodDqcP3++2vcpKSmBTqczeMgF18qQJ86+IiIlsNdZtTYViPR6PebMmYPIyEh07twZAJCTkwO1Wg1PT0+Dsn5+fsjJyZHK3BuGKvdX7qtOXFwcNBqN9AgMDDTz0ZiOY1bI1nC8G5F9kPvU+fqwqUA0ffp0nDt3Dl9++aXF32vhwoXQarXS4+rVqxZ/T2PJfWAa0b3s9WqSSInsuYdC9oOqK82YMQPffvstDh8+jIceekja7u/vj9LSUhQUFBi0EuXm5sLf318qc/z4cYPXq5yFVlnmfi4uLnBxcTHzUZiPnAemEVXiGk1E9kXuU+frQ/YtREIIzJgxAzt27EBiYiJCQkIM9vfo0QPOzs7Yv3+/tC09PR1ZWVmIiIgAAERERODs2bPIy8uTyuzbtw8eHh4IDQ1tmAOxAI5ZIbmz56tJIiWy5x4K2bcQTZ8+Hdu2bcO//vUvNGnSRBrzo9Fo4OrqCo1GgylTpmDevHnw8vKCh4cHZs6ciYiICPTu3RsAMGTIEISGhmL8+PFYvXo1cnJy8Oabb2L69OmybgUisnX2fDVJpFT22kMh+2n3KpWq2u2ffvopJk6cCODuwoyvvPIKvvjiC5SUlCA6OhoffvihQXfYlStX8NJLL+HgwYNo3LgxJkyYgPj4eDg5GZcJ5TTtnsiWJKRkVVmjiWtmEVVlS1PZbYmx39+yD0RywUBEZDqu0UT04MDDxXYtx9jvb9l3mRGR7eO9oUjpHhR4OPlAHmQ/qJqIiMiW1bZ2DycfyAMDERERkQXVFni42K48MBARERFZUG2Bx56nstsSjiEiIiKyoMrAc/9sy3sDj71OZbclDEREFmLPU2jt+diILMGYwMPJB9bFQERkAfY8hdaej43Ikhh45I1jiIjMzJ7vBv2gY+Md7YnIlrGFiMjMHjSjxNavDms6tk+PXMZfj/zCViMisllsISIyM3ueQlvdsTkAUhgC7KtFjMgUbC21TQxERGZmz1Noqzu2F/qFcFE5ov+XkJKFyPhEjNuUjMj4RCSkZFm7SmQkdpkRWYA9T6G9/9gA4K9HMnlHe7J7tc2u5C04bBsDEZGF2POMkvuPrbY1VohsnTGzK+15/KASMBARmYmS1+ax5xYxImNbfirH2LG11DYxEBGZAdfmse8WMVI2Y1t+jFmR2tLMdWGmxAs8BiKierKncQNK/CNIVJu6tPxYs7XUXBdmSr3A4ywzonqq7U7WtoKzY4iqV9eZo801roho3azBW4bMsSCsPS8sWxu2EBHVkz2MG7CnVi4iS5D7ODlzDehW8sBwthAR1ZM9rDtkL61cRJZkjZYfY5lrQVh7Xli2NmwhIjIDuV891qa6Vi4AOPNrASJaN7NOpYjIaOYa0C2HgeHWohJCiNqLkU6ng0ajgVarhYeHh7WrQ2R2Hx3OQNz3Pxlsc1SpcCR2kCL+GBLZg2xtsVkuzMz1OnJg7Pc3W4iICAAQ1kJTZZtSxg4Q2QtzLX+hxGU0OIaIiAAoe+wAEREDEREBsI/B4UREpmKXGZECGLvgoq0PDiciMhUDEZGdq+uqs0ocO0BExC4zIjum5FVniYjqgoGIZCtbW4xjGfn88q4HLrhIRGQcdpmRLCn15oLmZg+3FSFSAt5Y2foYiEh2eF8t49X2R1TJq84S2Yr7LwAXDO2AsIc0DEcNjIGIZEfJNxesC2Nb0ThzjEi+qrsAjNt9d8V4to43LI4hItmx1wUCzTkmqq6DpeV8U0oiJavuArASJ0E0LAYikh17XCAwISULkfGJGLcpGZHxiUhIyarX63GwNJF9qO4C8F78vW447DIjWbKnbh5LjIniYGki+3D/OL/78fe64TAQkWzZywKBlhgTZYnB0pzlQmQd914AnvmtAKt3p3MShBUwEJFJ+OVpPEu15pizFY3LHBBZV+UFYETrZniya4BdtI7bGgYiqjMlf3maEgQtOfXdHK1oXOaASF7spXXc1jAQUZ0o+cuzPkFQzmOiuMwBEZHCZpl98MEHCA4ORqNGjdCrVy8cP37c2lWyOUqd3WSOe4LJdeq7vS5zQERUF4oJRAkJCZg3bx6WLFmCkydPomvXroiOjkZeXp61q2ZTlPrlac9B0B6XOSAiqiuVENXM87NDvXr1wiOPPIK//OUvAAC9Xo/AwEDMnDkTsbGxtT5fp9NBo9FAq9XCw8PD0tWVtYSUrCrjYex9DFG2thiR8YlVBkYfiR1kN8EhW1ssyy49IqL6MPb7WxFjiEpLS5GamoqFCxdK2xwcHBAVFYWkpCQr1sw2yXk8jKUo4Z5gHMhJREqmiECUn5+PiooK+Pn5GWz38/PDTz/9VO1zSkpKUFJSIv2s0+ksWkdbo8QvTyUGQSIipVDMGKK6iouLg0ajkR6BgYHWrhLJgFwHRhMRUf0oIhB5e3vD0dERubm5Bttzc3Ph7+9f7XMWLlwIrVYrPa5evdoQVSUiIiIrUEQgUqvV6NGjB/bv3y9t0+v12L9/PyIiIqp9jouLCzw8PAweREREZJ8UMYYIAObNm4cJEyYgPDwcPXv2xJo1a3D79m1MmjTJ2lUjIiIiK1NMIBo9ejSuX7+OxYsXIycnBw8//DD27NlTZaA1ERERKY9i1iGqL65DREREZHuM/f5WxBgiIiIiogdhICIiIiLFYyAiIiIixWMgIiIiIsVjICIiIiLFYyAiIiIixVPMOkT1Vbk6AW/ySkREZDsqv7drW2WIgchIt27dAgDe5JWIiMgG3bp1CxqNpsb9XJjRSHq9HteuXUOTJk2gUqmMeo5Op0NgYCCuXr2q6MUceR54DirxPNzF83AXzwPPQSVLngchBG7duoWAgAA4ONQ8UogtREZycHDAQw89ZNJzeXPYu3geeA4q8TzcxfNwF88Dz0ElS52HB7UMVeKgaiIiIlI8BiIiIiJSPAYiC3JxccGSJUvg4uJi7apYFc8Dz0Elnoe7eB7u4nngOagkh/PAQdVERESkeGwhIiIiIsVjICIiIiLFYyAiIiIixWMgIiIiIsVjIKqjDRs2oEuXLtLiUREREdi9e7e0/86dO5g+fTqaNWsGd3d3jBo1Crm5uQavkZWVheHDh8PNzQ2+vr6YP38+ysvLG/pQzCY+Ph4qlQpz5syRtinhPCxduhQqlcrg0aFDB2m/Es5Bpd9++w3PPfccmjVrBldXV4SFheHEiRPSfiEEFi9ejObNm8PV1RVRUVG4ePGiwWvcuHEDMTEx8PDwgKenJ6ZMmYLCwsKGPhSTBQcHV/k8qFQqTJ8+HYAyPg8VFRVYtGgRQkJC4OrqitatW+Ott94yuIeUEj4LwN3bRMyZMwctW7aEq6sr+vTpg5SUFGm/PZ6Hw4cP44knnkBAQABUKhV27txpsN9cx3zmzBn069cPjRo1QmBgIFavXm2eAxBUJ7t27RLfffed+Pnnn0V6erp4/fXXhbOzszh37pwQQogXX3xRBAYGiv3794sTJ06I3r17iz59+kjPLy8vF507dxZRUVHi1KlT4vvvvxfe3t5i4cKF1jqkejl+/LgIDg4WXbp0EbNnz5a2K+E8LFmyRHTq1ElkZ2dLj+vXr0v7lXAOhBDixo0bomXLlmLixIkiOTlZ/PLLL2Lv3r3i0qVLUpn4+Hih0WjEzp07xenTp8WTTz4pQkJCRHFxsVRm6NChomvXruK///2v+M9//iPatGkjxo4da41DMkleXp7BZ2Hfvn0CgDhw4IAQQhmfhxUrVohmzZqJb7/9VmRmZoqvvvpKuLu7i7Vr10pllPBZEEKIZ599VoSGhopDhw6JixcviiVLlggPDw/x66+/CiHs8zx8//334o033hDbt28XAMSOHTsM9pvjmLVarfDz8xMxMTHi3Llz4osvvhCurq7io48+qnf9GYjMoGnTpuKvf/2rKCgoEM7OzuKrr76S9l24cEEAEElJSUKIux8YBwcHkZOTI5XZsGGD8PDwECUlJQ1e9/q4deuWaNu2rdi3b58YMGCAFIiUch6WLFkiunbtWu0+pZwDIYRYsGCB6Nu3b4379Xq98Pf3F++88460raCgQLi4uIgvvvhCCCHEjz/+KACIlJQUqczu3buFSqUSv/32m+Uqb0GzZ88WrVu3Fnq9XjGfh+HDh4vJkycbbBs5cqSIiYkRQijns1BUVCQcHR3Ft99+a7C9e/fu4o033lDEebg/EJnrmD/88EPRtGlTg9+JBQsWiPbt29e7zuwyq4eKigp8+eWXuH37NiIiIpCamoqysjJERUVJZTp06ICgoCAkJSUBAJKSkhAWFgY/Pz+pTHR0NHQ6Hc6fP9/gx1Af06dPx/Dhww2OF4CizsPFixcREBCAVq1aISYmBllZWQCUdQ527dqF8PBw/PGPf4Svry+6deuGTZs2SfszMzORk5NjcC40Gg169eplcC48PT0RHh4ulYmKioKDgwOSk5Mb7mDMpLS0FJ9//jkmT54MlUqlmM9Dnz59sH//fvz8888AgNOnT+PIkSMYNmwYAOV8FsrLy1FRUYFGjRoZbHd1dcWRI0cUcx7uZa5jTkpKQv/+/aFWq6Uy0dHRSE9Px82bN+tVR97c1QRnz55FREQE7ty5A3d3d+zYsQOhoaFIS0uDWq2Gp6enQXk/Pz/k5OQAAHJycgz+4FXur9xnK7788kucPHnSoE+8Uk5OjiLOQ69evbB582a0b98e2dnZWLZsGfr164dz584p5hwAwC+//IINGzZg3rx5eP3115GSkoJZs2ZBrVZjwoQJ0rFUd6z3ngtfX1+D/U5OTvDy8rKpc1Fp586dKCgowMSJEwEo53ciNjYWOp0OHTp0gKOjIyoqKrBixQrExMQAgGI+C02aNEFERATeeustdOzYEX5+fvjiiy+QlJSENm3aKOY83Mtcx5yTk4OQkJAqr1G5r2nTpibXkYHIBO3bt0daWhq0Wi2+/vprTJgwAYcOHbJ2tRrM1atXMXv2bOzbt6/KFZCSVF71AkCXLl3Qq1cvtGzZEv/4xz/g6upqxZo1LL1ej/DwcKxcuRIA0K1bN5w7dw4bN27EhAkTrFw76/jb3/6GYcOGISAgwNpVaVD/+Mc/sHXrVmzbtg2dOnVCWloa5syZg4CAAMV9Fv7+979j8uTJaNGiBRwdHdG9e3eMHTsWqamp1q4a1YBdZiZQq9Vo06YNevTogbi4OHTt2hVr166Fv78/SktLUVBQYFA+NzcX/v7+AAB/f/8qM0sqf64sI3epqanIy8tD9+7d4eTkBCcnJxw6dAjr1q2Dk5MT/Pz8FHEe7ufp6Yl27drh0qVLivksAEDz5s0RGhpqsK1jx45S92HlsVR3rPeei7y8PIP95eXluHHjhk2dCwC4cuUK/v3vf+OFF16Qtinl8zB//nzExsZizJgxCAsLw/jx4zF37lzExcUBUNZnoXXr1jh06BAKCwtx9epVHD9+HGVlZWjVqpWizkMlcx2zJX9PGIjMQK/Xo6SkBD169ICzszP2798v7UtPT0dWVhYiIiIAABERETh79qzBf/q+ffvg4eFR5UtFrgYPHoyzZ88iLS1NeoSHhyMmJkb6txLOw/0KCwuRkZGB5s2bK+azAACRkZFIT0832Pbzzz+jZcuWAICQkBD4+/sbnAudTofk5GSDc1FQUGBw9ZyYmAi9Xo9evXo1wFGYz6effgpfX18MHz5c2qaUz0NRUREcHAy/VhwdHaHX6wEo77MAAI0bN0bz5s1x8+ZN7N27F0899ZQiz4O5jjkiIgKHDx9GWVmZVGbfvn1o3759vbrLAHDafV3FxsaKQ4cOiczMTHHmzBkRGxsrVCqV+OGHH4QQd6fWBgUFicTERHHixAkREREhIiIipOdXTq0dMmSISEtLE3v27BE+Pj42NbW2OvfOMhNCGefhlVdeEQcPHhSZmZni6NGjIioqSnh7e4u8vDwhhDLOgRB3l15wcnISK1asEBcvXhRbt24Vbm5u4vPPP5fKxMfHC09PT/Gvf/1LnDlzRjz11FPVTrft1q2bSE5OFkeOHBFt27aV9RTj6lRUVIigoCCxYMGCKvuU8HmYMGGCaNGihTTtfvv27cLb21u89tprUhmlfBb27Nkjdu/eLX755Rfxww8/iK5du4pevXqJ0tJSIYR9nodbt26JU6dOiVOnTgkA4r333hOnTp0SV65cEUKY55gLCgqEn5+fGD9+vDh37pz48ssvhZubG6fdW8PkyZNFy5YthVqtFj4+PmLw4MFSGBJCiOLiYvHyyy+Lpk2bCjc3N/H000+L7Oxsg9e4fPmyGDZsmHB1dRXe3t7ilVdeEWVlZQ19KGZ1fyBSwnkYPXq0aN68uVCr1aJFixZi9OjRBmvvKOEcVPrmm29E586dhYuLi+jQoYP4+OOPDfbr9XqxaNEi4efnJ1xcXMTgwYNFenq6QZnff/9djB07Vri7uwsPDw8xadIkcevWrYY8jHrbu3evAFDl2IRQxudBp9OJ2bNni6CgINGoUSPRqlUr8cYbbxhMkVbKZyEhIUG0atVKqNVq4e/vL6ZPny4KCgqk/fZ4Hg4cOCAAVHlMmDBBCGG+Yz59+rTo27evcHFxES1atBDx8fFmqb9KiHuWECUiIiJSII4hIiIiIsVjICIiIiLFYyAiIiIixWMgIiIiIsVjICIiIiLFYyAiIiIixWMgIiIiIsVjICIiIiLFYyAiIosZOHAg5syZY+1qWNzSpUvx8MMPW7saRFQPDERERDUoLS1t0PcTQqC8vLxB35OI7mIgIiKLmDhxIg4dOoS1a9dCpVJBpVLh8uXLOHfuHIYNGwZ3d3f4+flh/PjxyM/Pl543cOBAzJw5E3PmzEHTpk3h5+eHTZs24fbt25g0aRKaNGmCNm3aYPfu3dJzDh48CJVKhe+++w5dunRBo0aN0Lt3b5w7d86gTkeOHEG/fv3g6uqKwMBAzJo1C7dv35b2BwcH46233sLzzz8PDw8PTJs2DQCwYMECtGvXDm5ubmjVqhUWLVok3W178+bNWLZsGU6fPi0d5+bNm3H58mWoVCqkpaVJr19QUACVSoWDBw8a1Hv37t3o0aMHXFxccOTIEej1esTFxSEkJASurq7o2rUrvv76a3P/FxHRPRiIiMgi1q5di4iICEydOhXZ2dnIzs5GkyZN8Oijj6Jbt244ceIE9uzZg9zcXDz77LMGz92yZQu8vb1x/PhxzJw5Ey+99BL++Mc/ok+fPjh58iSGDBmC8ePHo6ioyOB58+fPx5///GekpKTAx8cHTzzxhBRcMjIyMHToUIwaNQpnzpxBQkICjhw5ghkzZhi8xrvvvouuXbvi1KlTWLRoEQCgSZMm2Lx5M3788UesXbsWmzZtwvvvvw8AGD16NF555RV06tRJOs7Ro0fX6VzFxsYiPj4eFy5cQJcuXRAXF4fPPvsMGzduxPnz5zF37lw899xzOHToUJ1el4jqwCy3iCUiqsaAAQPE7NmzpZ/feustMWTIEIMyV69eNbhD/IABA0Tfvn2l/eXl5aJx48Zi/Pjx0rbs7GwBQCQlJQkh/neX7S+//FIq8/vvvwtXV1eRkJAghBBiypQpYtq0aQbv/Z///Ec4ODiI4uJiIYQQLVu2FCNGjKj1uN555x3Ro0cP6eclS5aIrl27GpTJzMwUAMSpU6ekbTdv3hQAxIEDBwzqvXPnTqnMnTt3hJubmzh27JjB602ZMkWMHTu21roRkWmcrBnGiEhZTp8+jQMHDsDd3b3KvoyMDLRr1w4A0KVLF2m7o6MjmjVrhrCwMGmbn58fACAvL8/gNSIiIqR/e3l5oX379rhw4YL03mfOnMHWrVulMkII6PV6ZGZmomPHjgCA8PDwKnVLSEjAunXrkJGRgcLCQpSXl8PDw6POx1+Te9/z0qVLKCoqwh/+8AeDMqWlpejWrZvZ3pOIDDEQEVGDKSwsxBNPPIFVq1ZV2de8eXPp387Ozgb7VCqVwTaVSgUA0Ov1dXrvP/3pT5g1a1aVfUFBQdK/GzdubLAvKSkJMTExWLZsGaKjo6HRaPDll1/iz3/+8wPfz8Hh7ogEIYS0rbL77n73vmdhYSEA4LvvvkOLFi0Myrm4uDzwPYnIdAxERGQxarUaFRUV0s/du3fHP//5TwQHB8PJyfx/fv773/9K4ebmzZv4+eefpZaf7t2748cff0SbNm3q9JrHjh1Dy5Yt8cYbb0jbrly5YlDm/uMEAB8fHwBAdna21LJz7wDrmoSGhsLFxQVZWVkYMGBAnepKRKbjoGoispjg4GAkJyfj8uXLyM/Px/Tp03Hjxg2MHTsWKSkpyMjIwN69ezFp0qQqgcIUy5cvx/79+3Hu3DlMnDgR3t7eGDFiBIC7M8WOHTuGGTNmIC0tDRcvXsS//vWvKoOq79e2bVtkZWXhyy+/REZGBtatW4cdO3ZUOc7MzEykpaUhPz8fJSUlcHV1Re/evaXB0ocOHcKbb75Z6zE0adIEr776KubOnYstW7YgIyMDJ0+exPr167FlyxaTzw0RPRgDERFZzKuvvgpHR0eEhobCx8cHpaWlOHr0KCoqKjBkyBCEhYVhzpw58PT0lLqY6iM+Ph6zZ89Gjx49kJOTg2+++QZqtRrA3XFJhw4dws8//4x+/fqhW7duWLx4MQICAh74mk8++STmzp2LGTNm4OGHH8axY8ek2WeVRo0ahaFDh2LQoEHw8fHBF198AQD45JNPUF5ejh49emDOnDl4++23jTqOt956C4sWLUJcXBw6duyIoUOH4rvvvkNISIgJZ4WIjKES93ZwExHZoIMHD2LQoEG4efMmPD09rV0dIrJBbCEiIiIixWMgIiIiIsVjlxkREREpHluIiIiISPEYiIiIiEjxGIiIiIhI8RiIiIiISPEYiIiIiEjxGIiIiIhI8RiIiIiISPEYiIiIiEjxGIiIiIhI8f4PaXCA11XIDegAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# visualize with IDAES surrogate plotting tools\n", "surrogate_scatter2D(keras_surrogate, data_validation)\n", @@ -1115,8 +351,7 @@ "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.6" - }, - "orig_nbformat": 4 + } }, "nbformat": 4, "nbformat_minor": 2 diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/keras_training_doc.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/keras_training_doc.ipynb index c873f19b..3f76e62c 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/keras_training_doc.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/keras_training_doc.ipynb @@ -1,5 +1,31 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "code", "execution_count": 1, @@ -55,19 +81,7 @@ "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "from IPython.display import Image\n", "from pathlib import Path\n", @@ -93,17 +107,7 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: DEPRECATED: pyomo.core.expr.current is deprecated. Please import\n", - "expression symbols from pyomo.core.expr (deprecated in 6.6.2) (called from\n", - ":241)\n" - ] - } - ], + "outputs": [], "source": [ "# Import statements\n", "import os\n", @@ -199,524 +203,7 @@ "cell_type": "code", "execution_count": 5, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 1/250\n", - "13/13 - 3s - loss: 0.4963 - mae: 0.5592 - mse: 0.4963 - val_loss: 0.1685 - val_mae: 0.3349 - val_mse: 0.1685 - 3s/epoch - 249ms/step\n", - "Epoch 2/250\n", - "13/13 - 0s - loss: 0.1216 - mae: 0.2839 - mse: 0.1216 - val_loss: 0.0809 - val_mae: 0.2245 - val_mse: 0.0809 - 237ms/epoch - 18ms/step\n", - "Epoch 3/250\n", - "13/13 - 0s - loss: 0.0665 - mae: 0.2043 - mse: 0.0665 - val_loss: 0.0359 - val_mae: 0.1503 - val_mse: 0.0359 - 262ms/epoch - 20ms/step\n", - "Epoch 4/250\n", - "13/13 - 0s - loss: 0.0294 - mae: 0.1329 - mse: 0.0294 - val_loss: 0.0221 - val_mae: 0.1119 - val_mse: 0.0221 - 283ms/epoch - 22ms/step\n", - "Epoch 5/250\n", - "13/13 - 0s - loss: 0.0170 - mae: 0.0964 - mse: 0.0170 - val_loss: 0.0115 - val_mae: 0.0792 - val_mse: 0.0115 - 351ms/epoch - 27ms/step\n", - "Epoch 6/250\n", - "13/13 - 0s - loss: 0.0097 - mae: 0.0734 - mse: 0.0097 - val_loss: 0.0067 - val_mae: 0.0636 - val_mse: 0.0067 - 364ms/epoch - 28ms/step\n", - "Epoch 7/250\n", - "13/13 - 0s - loss: 0.0061 - mae: 0.0610 - mse: 0.0061 - val_loss: 0.0048 - val_mae: 0.0550 - val_mse: 0.0048 - 245ms/epoch - 19ms/step\n", - "Epoch 8/250\n", - "13/13 - 0s - loss: 0.0042 - mae: 0.0521 - mse: 0.0042 - val_loss: 0.0034 - val_mae: 0.0464 - val_mse: 0.0034 - 203ms/epoch - 16ms/step\n", - "Epoch 9/250\n", - "13/13 - 0s - loss: 0.0032 - mae: 0.0458 - mse: 0.0032 - val_loss: 0.0027 - val_mae: 0.0418 - val_mse: 0.0027 - 300ms/epoch - 23ms/step\n", - "Epoch 10/250\n", - "13/13 - 0s - loss: 0.0028 - mae: 0.0420 - mse: 0.0028 - val_loss: 0.0024 - val_mae: 0.0379 - val_mse: 0.0024 - 255ms/epoch - 20ms/step\n", - "Epoch 11/250\n", - "13/13 - 0s - loss: 0.0024 - mae: 0.0384 - mse: 0.0024 - val_loss: 0.0021 - val_mae: 0.0358 - val_mse: 0.0021 - 247ms/epoch - 19ms/step\n", - "Epoch 12/250\n", - "13/13 - 0s - loss: 0.0022 - mae: 0.0358 - mse: 0.0022 - val_loss: 0.0018 - val_mae: 0.0330 - val_mse: 0.0018 - 321ms/epoch - 25ms/step\n", - "Epoch 13/250\n", - "13/13 - 0s - loss: 0.0020 - mae: 0.0338 - mse: 0.0020 - val_loss: 0.0017 - val_mae: 0.0315 - val_mse: 0.0017 - 219ms/epoch - 17ms/step\n", - "Epoch 14/250\n", - "13/13 - 0s - loss: 0.0018 - mae: 0.0323 - mse: 0.0018 - val_loss: 0.0015 - val_mae: 0.0302 - val_mse: 0.0015 - 272ms/epoch - 21ms/step\n", - "Epoch 15/250\n", - "13/13 - 0s - loss: 0.0017 - mae: 0.0311 - mse: 0.0017 - val_loss: 0.0015 - val_mae: 0.0296 - val_mse: 0.0015 - 299ms/epoch - 23ms/step\n", - "Epoch 16/250\n", - "13/13 - 0s - loss: 0.0016 - mae: 0.0303 - mse: 0.0016 - val_loss: 0.0014 - val_mae: 0.0289 - val_mse: 0.0014 - 271ms/epoch - 21ms/step\n", - "Epoch 17/250\n", - "13/13 - 0s - loss: 0.0016 - mae: 0.0293 - mse: 0.0016 - val_loss: 0.0014 - val_mae: 0.0281 - val_mse: 0.0014 - 248ms/epoch - 19ms/step\n", - "Epoch 18/250\n", - "13/13 - 0s - loss: 0.0015 - mae: 0.0287 - mse: 0.0015 - val_loss: 0.0013 - val_mae: 0.0275 - val_mse: 0.0013 - 256ms/epoch - 20ms/step\n", - "Epoch 19/250\n", - "13/13 - 0s - loss: 0.0015 - mae: 0.0285 - mse: 0.0015 - val_loss: 0.0014 - val_mae: 0.0285 - val_mse: 0.0014 - 153ms/epoch - 12ms/step\n", - "Epoch 20/250\n", - "13/13 - 0s - loss: 0.0015 - mae: 0.0282 - mse: 0.0015 - val_loss: 0.0012 - val_mae: 0.0269 - val_mse: 0.0012 - 239ms/epoch - 18ms/step\n", - "Epoch 21/250\n", - "13/13 - 0s - loss: 0.0015 - mae: 0.0278 - mse: 0.0015 - val_loss: 0.0012 - val_mae: 0.0266 - val_mse: 0.0012 - 263ms/epoch - 20ms/step\n", - "Epoch 22/250\n", - "13/13 - 0s - loss: 0.0015 - mae: 0.0279 - mse: 0.0015 - val_loss: 0.0012 - val_mae: 0.0266 - val_mse: 0.0012 - 243ms/epoch - 19ms/step\n", - "Epoch 23/250\n", - "13/13 - 0s - loss: 0.0014 - mae: 0.0274 - mse: 0.0014 - val_loss: 0.0012 - val_mae: 0.0265 - val_mse: 0.0012 - 138ms/epoch - 11ms/step\n", - "Epoch 24/250\n", - "13/13 - 0s - loss: 0.0014 - mae: 0.0264 - mse: 0.0014 - val_loss: 0.0012 - val_mae: 0.0259 - val_mse: 0.0012 - 189ms/epoch - 15ms/step\n", - "Epoch 25/250\n", - "13/13 - 0s - loss: 0.0014 - mae: 0.0268 - mse: 0.0014 - val_loss: 0.0012 - val_mae: 0.0258 - val_mse: 0.0012 - 280ms/epoch - 22ms/step\n", - "Epoch 26/250\n", - "13/13 - 0s - loss: 0.0013 - mae: 0.0268 - mse: 0.0013 - val_loss: 0.0011 - val_mae: 0.0258 - val_mse: 0.0011 - 222ms/epoch - 17ms/step\n", - "Epoch 27/250\n", - "13/13 - 0s - loss: 0.0013 - mae: 0.0265 - mse: 0.0013 - val_loss: 0.0011 - val_mae: 0.0247 - val_mse: 0.0011 - 286ms/epoch - 22ms/step\n", - "Epoch 28/250\n", - "13/13 - 0s - loss: 0.0013 - mae: 0.0259 - mse: 0.0013 - val_loss: 0.0012 - val_mae: 0.0259 - val_mse: 0.0012 - 116ms/epoch - 9ms/step\n", - "Epoch 29/250\n", - "13/13 - 0s - loss: 0.0013 - mae: 0.0259 - mse: 0.0013 - val_loss: 0.0011 - val_mae: 0.0252 - val_mse: 0.0011 - 157ms/epoch - 12ms/step\n", - "Epoch 30/250\n", - "13/13 - 0s - loss: 0.0013 - mae: 0.0256 - mse: 0.0013 - val_loss: 0.0011 - val_mae: 0.0248 - val_mse: 0.0011 - 267ms/epoch - 21ms/step\n", - "Epoch 31/250\n", - "13/13 - 0s - loss: 0.0013 - mae: 0.0254 - mse: 0.0013 - val_loss: 0.0011 - val_mae: 0.0245 - val_mse: 0.0011 - 264ms/epoch - 20ms/step\n", - "Epoch 32/250\n", - "13/13 - 0s - loss: 0.0012 - mae: 0.0254 - mse: 0.0012 - val_loss: 0.0010 - val_mae: 0.0243 - val_mse: 0.0010 - 269ms/epoch - 21ms/step\n", - "Epoch 33/250\n", - "13/13 - 0s - loss: 0.0012 - mae: 0.0248 - mse: 0.0012 - val_loss: 0.0012 - val_mae: 0.0251 - val_mse: 0.0012 - 353ms/epoch - 27ms/step\n", - "Epoch 34/250\n", - "13/13 - 1s - loss: 0.0012 - mae: 0.0256 - mse: 0.0012 - val_loss: 0.0010 - val_mae: 0.0248 - val_mse: 0.0010 - 537ms/epoch - 41ms/step\n", - "Epoch 35/250\n", - "13/13 - 0s - loss: 0.0012 - mae: 0.0254 - mse: 0.0012 - val_loss: 0.0010 - val_mae: 0.0243 - val_mse: 0.0010 - 330ms/epoch - 25ms/step\n", - "Epoch 36/250\n", - "13/13 - 0s - loss: 0.0012 - mae: 0.0245 - mse: 0.0012 - val_loss: 0.0010 - val_mae: 0.0234 - val_mse: 0.0010 - 289ms/epoch - 22ms/step\n", - "Epoch 37/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0244 - mse: 0.0011 - val_loss: 0.0010 - val_mae: 0.0239 - val_mse: 0.0010 - 155ms/epoch - 12ms/step\n", - "Epoch 38/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0243 - mse: 0.0011 - val_loss: 9.9094e-04 - val_mae: 0.0235 - val_mse: 9.9094e-04 - 289ms/epoch - 22ms/step\n", - "Epoch 39/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0243 - mse: 0.0011 - val_loss: 0.0010 - val_mae: 0.0238 - val_mse: 0.0010 - 118ms/epoch - 9ms/step\n", - "Epoch 40/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0241 - mse: 0.0011 - val_loss: 9.7491e-04 - val_mae: 0.0239 - val_mse: 9.7491e-04 - 299ms/epoch - 23ms/step\n", - "Epoch 41/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0241 - mse: 0.0011 - val_loss: 9.9821e-04 - val_mae: 0.0227 - val_mse: 9.9821e-04 - 151ms/epoch - 12ms/step\n", - "Epoch 42/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0240 - mse: 0.0011 - val_loss: 0.0010 - val_mae: 0.0235 - val_mse: 0.0010 - 192ms/epoch - 15ms/step\n", - "Epoch 43/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0238 - mse: 0.0011 - val_loss: 9.4863e-04 - val_mae: 0.0232 - val_mse: 9.4863e-04 - 237ms/epoch - 18ms/step\n", - "Epoch 44/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0236 - mse: 0.0011 - val_loss: 9.8018e-04 - val_mae: 0.0230 - val_mse: 9.8018e-04 - 154ms/epoch - 12ms/step\n", - "Epoch 45/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0239 - mse: 0.0011 - val_loss: 9.5093e-04 - val_mae: 0.0233 - val_mse: 9.5093e-04 - 158ms/epoch - 12ms/step\n", - "Epoch 46/250\n", - "13/13 - 0s - loss: 0.0010 - mae: 0.0230 - mse: 0.0010 - val_loss: 9.4785e-04 - val_mae: 0.0223 - val_mse: 9.4785e-04 - 218ms/epoch - 17ms/step\n", - "Epoch 47/250\n", - "13/13 - 0s - loss: 0.0010 - mae: 0.0231 - mse: 0.0010 - val_loss: 9.7827e-04 - val_mae: 0.0230 - val_mse: 9.7827e-04 - 116ms/epoch - 9ms/step\n", - "Epoch 48/250\n", - "13/13 - 0s - loss: 0.0010 - mae: 0.0232 - mse: 0.0010 - val_loss: 9.0671e-04 - val_mae: 0.0225 - val_mse: 9.0671e-04 - 288ms/epoch - 22ms/step\n", - "Epoch 49/250\n", - "13/13 - 0s - loss: 0.0010 - mae: 0.0230 - mse: 0.0010 - val_loss: 9.2521e-04 - val_mae: 0.0218 - val_mse: 9.2521e-04 - 140ms/epoch - 11ms/step\n", - "Epoch 50/250\n", - "13/13 - 0s - loss: 0.0010 - mae: 0.0231 - mse: 0.0010 - val_loss: 9.7818e-04 - val_mae: 0.0231 - val_mse: 9.7818e-04 - 149ms/epoch - 11ms/step\n", - "Epoch 51/250\n", - "13/13 - 0s - loss: 9.9977e-04 - mae: 0.0232 - mse: 9.9977e-04 - val_loss: 9.4350e-04 - val_mae: 0.0221 - val_mse: 9.4350e-04 - 146ms/epoch - 11ms/step\n", - "Epoch 52/250\n", - "13/13 - 0s - loss: 9.8599e-04 - mae: 0.0229 - mse: 9.8599e-04 - val_loss: 9.0638e-04 - val_mae: 0.0230 - val_mse: 9.0638e-04 - 265ms/epoch - 20ms/step\n", - "Epoch 53/250\n", - "13/13 - 0s - loss: 9.8295e-04 - mae: 0.0228 - mse: 9.8295e-04 - val_loss: 9.0667e-04 - val_mae: 0.0215 - val_mse: 9.0667e-04 - 179ms/epoch - 14ms/step\n", - "Epoch 54/250\n", - "13/13 - 0s - loss: 9.7266e-04 - mae: 0.0225 - mse: 9.7266e-04 - val_loss: 9.0391e-04 - val_mae: 0.0224 - val_mse: 9.0391e-04 - 287ms/epoch - 22ms/step\n", - "Epoch 55/250\n", - "13/13 - 0s - loss: 9.5234e-04 - mae: 0.0225 - mse: 9.5234e-04 - val_loss: 8.7426e-04 - val_mae: 0.0219 - val_mse: 8.7426e-04 - 284ms/epoch - 22ms/step\n", - "Epoch 56/250\n", - "13/13 - 0s - loss: 9.4315e-04 - mae: 0.0221 - mse: 9.4315e-04 - val_loss: 8.6742e-04 - val_mae: 0.0224 - val_mse: 8.6742e-04 - 297ms/epoch - 23ms/step\n", - "Epoch 57/250\n", - "13/13 - 0s - loss: 9.9226e-04 - mae: 0.0230 - mse: 9.9226e-04 - val_loss: 8.7793e-04 - val_mae: 0.0225 - val_mse: 8.7793e-04 - 206ms/epoch - 16ms/step\n", - "Epoch 58/250\n", - "13/13 - 0s - loss: 9.4137e-04 - mae: 0.0226 - mse: 9.4137e-04 - val_loss: 8.7477e-04 - val_mae: 0.0225 - val_mse: 8.7477e-04 - 160ms/epoch - 12ms/step\n", - "Epoch 59/250\n", - "13/13 - 0s - loss: 9.2474e-04 - mae: 0.0219 - mse: 9.2474e-04 - val_loss: 8.5320e-04 - val_mae: 0.0212 - val_mse: 8.5320e-04 - 274ms/epoch - 21ms/step\n", - "Epoch 60/250\n", - "13/13 - 0s - loss: 9.1133e-04 - mae: 0.0217 - mse: 9.1133e-04 - val_loss: 8.6082e-04 - val_mae: 0.0217 - val_mse: 8.6082e-04 - 160ms/epoch - 12ms/step\n", - "Epoch 61/250\n", - "13/13 - 0s - loss: 9.1801e-04 - mae: 0.0217 - mse: 9.1801e-04 - val_loss: 8.5403e-04 - val_mae: 0.0223 - val_mse: 8.5403e-04 - 143ms/epoch - 11ms/step\n", - "Epoch 62/250\n", - "13/13 - 0s - loss: 9.1987e-04 - mae: 0.0221 - mse: 9.1987e-04 - val_loss: 8.5714e-04 - val_mae: 0.0219 - val_mse: 8.5714e-04 - 128ms/epoch - 10ms/step\n", - "Epoch 63/250\n", - "13/13 - 0s - loss: 9.0862e-04 - mae: 0.0222 - mse: 9.0862e-04 - val_loss: 8.6160e-04 - val_mae: 0.0225 - val_mse: 8.6160e-04 - 154ms/epoch - 12ms/step\n", - "Epoch 64/250\n", - "13/13 - 0s - loss: 8.9349e-04 - mae: 0.0220 - mse: 8.9349e-04 - val_loss: 8.2851e-04 - val_mae: 0.0214 - val_mse: 8.2851e-04 - 284ms/epoch - 22ms/step\n", - "Epoch 65/250\n", - "13/13 - 0s - loss: 8.7848e-04 - mae: 0.0216 - mse: 8.7848e-04 - val_loss: 8.5189e-04 - val_mae: 0.0218 - val_mse: 8.5189e-04 - 168ms/epoch - 13ms/step\n", - "Epoch 66/250\n", - "13/13 - 0s - loss: 8.9773e-04 - mae: 0.0219 - mse: 8.9773e-04 - val_loss: 8.5650e-04 - val_mae: 0.0211 - val_mse: 8.5650e-04 - 113ms/epoch - 9ms/step\n", - "Epoch 67/250\n", - "13/13 - 0s - loss: 8.7443e-04 - mae: 0.0217 - mse: 8.7443e-04 - val_loss: 8.2545e-04 - val_mae: 0.0214 - val_mse: 8.2545e-04 - 264ms/epoch - 20ms/step\n", - "Epoch 68/250\n", - "13/13 - 0s - loss: 8.9141e-04 - mae: 0.0217 - mse: 8.9141e-04 - val_loss: 8.4471e-04 - val_mae: 0.0219 - val_mse: 8.4471e-04 - 189ms/epoch - 15ms/step\n", - "Epoch 69/250\n", - "13/13 - 0s - loss: 8.9507e-04 - mae: 0.0224 - mse: 8.9507e-04 - val_loss: 8.7916e-04 - val_mae: 0.0217 - val_mse: 8.7916e-04 - 175ms/epoch - 13ms/step\n", - "Epoch 70/250\n", - "13/13 - 0s - loss: 8.5737e-04 - mae: 0.0216 - mse: 8.5737e-04 - val_loss: 8.8807e-04 - val_mae: 0.0215 - val_mse: 8.8807e-04 - 322ms/epoch - 25ms/step\n", - "Epoch 71/250\n", - "13/13 - 0s - loss: 8.5560e-04 - mae: 0.0214 - mse: 8.5560e-04 - val_loss: 8.3750e-04 - val_mae: 0.0213 - val_mse: 8.3750e-04 - 207ms/epoch - 16ms/step\n", - "Epoch 72/250\n", - "13/13 - 0s - loss: 8.5576e-04 - mae: 0.0218 - mse: 8.5576e-04 - val_loss: 8.1156e-04 - val_mae: 0.0210 - val_mse: 8.1156e-04 - 257ms/epoch - 20ms/step\n", - "Epoch 73/250\n", - "13/13 - 0s - loss: 8.4688e-04 - mae: 0.0216 - mse: 8.4688e-04 - val_loss: 8.0221e-04 - val_mae: 0.0210 - val_mse: 8.0221e-04 - 233ms/epoch - 18ms/step\n", - "Epoch 74/250\n", - "13/13 - 0s - loss: 8.3636e-04 - mae: 0.0211 - mse: 8.3636e-04 - val_loss: 7.9384e-04 - val_mae: 0.0208 - val_mse: 7.9384e-04 - 250ms/epoch - 19ms/step\n", - "Epoch 75/250\n", - "13/13 - 0s - loss: 8.4758e-04 - mae: 0.0222 - mse: 8.4758e-04 - val_loss: 8.2932e-04 - val_mae: 0.0212 - val_mse: 8.2932e-04 - 119ms/epoch - 9ms/step\n", - "Epoch 76/250\n", - "13/13 - 0s - loss: 8.4142e-04 - mae: 0.0213 - mse: 8.4142e-04 - val_loss: 8.0552e-04 - val_mae: 0.0209 - val_mse: 8.0552e-04 - 150ms/epoch - 12ms/step\n", - "Epoch 77/250\n", - "13/13 - 0s - loss: 8.5035e-04 - mae: 0.0215 - mse: 8.5035e-04 - val_loss: 8.6014e-04 - val_mae: 0.0215 - val_mse: 8.6014e-04 - 126ms/epoch - 10ms/step\n", - "Epoch 78/250\n", - "13/13 - 0s - loss: 8.9015e-04 - mae: 0.0228 - mse: 8.9015e-04 - val_loss: 9.2548e-04 - val_mae: 0.0225 - val_mse: 9.2548e-04 - 242ms/epoch - 19ms/step\n", - "Epoch 79/250\n", - "13/13 - 0s - loss: 8.1577e-04 - mae: 0.0212 - mse: 8.1577e-04 - val_loss: 8.4703e-04 - val_mae: 0.0211 - val_mse: 8.4703e-04 - 165ms/epoch - 13ms/step\n", - "Epoch 80/250\n", - "13/13 - 0s - loss: 8.0555e-04 - mae: 0.0211 - mse: 8.0555e-04 - val_loss: 8.5652e-04 - val_mae: 0.0214 - val_mse: 8.5652e-04 - 131ms/epoch - 10ms/step\n", - "Epoch 81/250\n", - "13/13 - 0s - loss: 8.3478e-04 - mae: 0.0219 - mse: 8.3478e-04 - val_loss: 9.1057e-04 - val_mae: 0.0222 - val_mse: 9.1057e-04 - 166ms/epoch - 13ms/step\n", - "Epoch 82/250\n", - "13/13 - 0s - loss: 8.2593e-04 - mae: 0.0217 - mse: 8.2593e-04 - val_loss: 8.1172e-04 - val_mae: 0.0209 - val_mse: 8.1172e-04 - 143ms/epoch - 11ms/step\n", - "Epoch 83/250\n", - "13/13 - 0s - loss: 8.2887e-04 - mae: 0.0213 - mse: 8.2887e-04 - val_loss: 8.2033e-04 - val_mae: 0.0211 - val_mse: 8.2033e-04 - 115ms/epoch - 9ms/step\n", - "Epoch 84/250\n", - "13/13 - 0s - loss: 8.1454e-04 - mae: 0.0219 - mse: 8.1454e-04 - val_loss: 8.1589e-04 - val_mae: 0.0211 - val_mse: 8.1589e-04 - 148ms/epoch - 11ms/step\n", - "Epoch 85/250\n", - "13/13 - 0s - loss: 8.0777e-04 - mae: 0.0212 - mse: 8.0777e-04 - val_loss: 7.8637e-04 - val_mae: 0.0208 - val_mse: 7.8637e-04 - 282ms/epoch - 22ms/step\n", - "Epoch 86/250\n", - "13/13 - 0s - loss: 7.8107e-04 - mae: 0.0213 - mse: 7.8107e-04 - val_loss: 7.8138e-04 - val_mae: 0.0212 - val_mse: 7.8138e-04 - 246ms/epoch - 19ms/step\n", - "Epoch 87/250\n", - "13/13 - 0s - loss: 7.9729e-04 - mae: 0.0210 - mse: 7.9729e-04 - val_loss: 7.3667e-04 - val_mae: 0.0204 - val_mse: 7.3667e-04 - 237ms/epoch - 18ms/step\n", - "Epoch 88/250\n", - "13/13 - 0s - loss: 7.5931e-04 - mae: 0.0205 - mse: 7.5931e-04 - val_loss: 7.5522e-04 - val_mae: 0.0210 - val_mse: 7.5522e-04 - 208ms/epoch - 16ms/step\n", - "Epoch 89/250\n", - "13/13 - 0s - loss: 7.6036e-04 - mae: 0.0211 - mse: 7.6036e-04 - val_loss: 7.5503e-04 - val_mae: 0.0207 - val_mse: 7.5503e-04 - 193ms/epoch - 15ms/step\n", - "Epoch 90/250\n", - "13/13 - 0s - loss: 7.6322e-04 - mae: 0.0204 - mse: 7.6322e-04 - val_loss: 7.7629e-04 - val_mae: 0.0203 - val_mse: 7.7629e-04 - 168ms/epoch - 13ms/step\n", - "Epoch 91/250\n", - "13/13 - 0s - loss: 7.5436e-04 - mae: 0.0208 - mse: 7.5436e-04 - val_loss: 7.4549e-04 - val_mae: 0.0210 - val_mse: 7.4549e-04 - 156ms/epoch - 12ms/step\n", - "Epoch 92/250\n", - "13/13 - 0s - loss: 7.8479e-04 - mae: 0.0208 - mse: 7.8479e-04 - val_loss: 8.0607e-04 - val_mae: 0.0208 - val_mse: 8.0607e-04 - 137ms/epoch - 11ms/step\n", - "Epoch 93/250\n", - "13/13 - 0s - loss: 7.7194e-04 - mae: 0.0211 - mse: 7.7194e-04 - val_loss: 7.7994e-04 - val_mae: 0.0206 - val_mse: 7.7994e-04 - 174ms/epoch - 13ms/step\n", - "Epoch 94/250\n", - "13/13 - 0s - loss: 7.4802e-04 - mae: 0.0205 - mse: 7.4802e-04 - val_loss: 7.2386e-04 - val_mae: 0.0201 - val_mse: 7.2386e-04 - 303ms/epoch - 23ms/step\n", - "Epoch 95/250\n", - "13/13 - 0s - loss: 7.2616e-04 - mae: 0.0203 - mse: 7.2616e-04 - val_loss: 7.2728e-04 - val_mae: 0.0204 - val_mse: 7.2728e-04 - 129ms/epoch - 10ms/step\n", - "Epoch 96/250\n", - "13/13 - 0s - loss: 7.2310e-04 - mae: 0.0204 - mse: 7.2310e-04 - val_loss: 7.1349e-04 - val_mae: 0.0206 - val_mse: 7.1349e-04 - 218ms/epoch - 17ms/step\n", - "Epoch 97/250\n", - "13/13 - 0s - loss: 7.0905e-04 - mae: 0.0201 - mse: 7.0905e-04 - val_loss: 7.6242e-04 - val_mae: 0.0205 - val_mse: 7.6242e-04 - 128ms/epoch - 10ms/step\n", - "Epoch 98/250\n", - "13/13 - 0s - loss: 7.1839e-04 - mae: 0.0200 - mse: 7.1839e-04 - val_loss: 7.7098e-04 - val_mae: 0.0202 - val_mse: 7.7098e-04 - 147ms/epoch - 11ms/step\n", - "Epoch 99/250\n", - "13/13 - 0s - loss: 7.3924e-04 - mae: 0.0208 - mse: 7.3924e-04 - val_loss: 7.8554e-04 - val_mae: 0.0206 - val_mse: 7.8554e-04 - 130ms/epoch - 10ms/step\n", - "Epoch 100/250\n", - "13/13 - 0s - loss: 7.5556e-04 - mae: 0.0209 - mse: 7.5556e-04 - val_loss: 8.6021e-04 - val_mae: 0.0215 - val_mse: 8.6021e-04 - 174ms/epoch - 13ms/step\n", - "Epoch 101/250\n", - "13/13 - 0s - loss: 7.9288e-04 - mae: 0.0213 - mse: 7.9288e-04 - val_loss: 7.2968e-04 - val_mae: 0.0203 - val_mse: 7.2968e-04 - 125ms/epoch - 10ms/step\n", - "Epoch 102/250\n", - "13/13 - 0s - loss: 7.1861e-04 - mae: 0.0204 - mse: 7.1861e-04 - val_loss: 7.0941e-04 - val_mae: 0.0207 - val_mse: 7.0941e-04 - 260ms/epoch - 20ms/step\n", - "Epoch 103/250\n", - "13/13 - 0s - loss: 7.5092e-04 - mae: 0.0208 - mse: 7.5092e-04 - val_loss: 6.8788e-04 - val_mae: 0.0198 - val_mse: 6.8788e-04 - 275ms/epoch - 21ms/step\n", - "Epoch 104/250\n", - "13/13 - 0s - loss: 7.0460e-04 - mae: 0.0200 - mse: 7.0460e-04 - val_loss: 7.2570e-04 - val_mae: 0.0200 - val_mse: 7.2570e-04 - 125ms/epoch - 10ms/step\n", - "Epoch 105/250\n", - "13/13 - 0s - loss: 6.9255e-04 - mae: 0.0202 - mse: 6.9255e-04 - val_loss: 6.7411e-04 - val_mae: 0.0199 - val_mse: 6.7411e-04 - 275ms/epoch - 21ms/step\n", - "Epoch 106/250\n", - "13/13 - 0s - loss: 6.8175e-04 - mae: 0.0196 - mse: 6.8175e-04 - val_loss: 6.7593e-04 - val_mae: 0.0196 - val_mse: 6.7593e-04 - 157ms/epoch - 12ms/step\n", - "Epoch 107/250\n", - "13/13 - 0s - loss: 6.7018e-04 - mae: 0.0196 - mse: 6.7018e-04 - val_loss: 6.8702e-04 - val_mae: 0.0196 - val_mse: 6.8702e-04 - 183ms/epoch - 14ms/step\n", - "Epoch 108/250\n", - "13/13 - 0s - loss: 6.7955e-04 - mae: 0.0198 - mse: 6.7955e-04 - val_loss: 7.6778e-04 - val_mae: 0.0204 - val_mse: 7.6778e-04 - 192ms/epoch - 15ms/step\n", - "Epoch 109/250\n", - "13/13 - 1s - loss: 6.8953e-04 - mae: 0.0198 - mse: 6.8953e-04 - val_loss: 6.7251e-04 - val_mae: 0.0195 - val_mse: 6.7251e-04 - 516ms/epoch - 40ms/step\n", - "Epoch 110/250\n", - "13/13 - 0s - loss: 6.6819e-04 - mae: 0.0197 - mse: 6.6819e-04 - val_loss: 6.8310e-04 - val_mae: 0.0197 - val_mse: 6.8310e-04 - 146ms/epoch - 11ms/step\n", - "Epoch 111/250\n", - "13/13 - 0s - loss: 6.7136e-04 - mae: 0.0197 - mse: 6.7136e-04 - val_loss: 6.5858e-04 - val_mae: 0.0199 - val_mse: 6.5858e-04 - 208ms/epoch - 16ms/step\n", - "Epoch 112/250\n", - "13/13 - 0s - loss: 6.5784e-04 - mae: 0.0195 - mse: 6.5784e-04 - val_loss: 6.5838e-04 - val_mae: 0.0196 - val_mse: 6.5838e-04 - 215ms/epoch - 17ms/step\n", - "Epoch 113/250\n", - "13/13 - 0s - loss: 6.6861e-04 - mae: 0.0198 - mse: 6.6861e-04 - val_loss: 6.9871e-04 - val_mae: 0.0196 - val_mse: 6.9871e-04 - 149ms/epoch - 11ms/step\n", - "Epoch 114/250\n", - "13/13 - 0s - loss: 6.6345e-04 - mae: 0.0196 - mse: 6.6345e-04 - val_loss: 6.8190e-04 - val_mae: 0.0196 - val_mse: 6.8190e-04 - 141ms/epoch - 11ms/step\n", - "Epoch 115/250\n", - "13/13 - 0s - loss: 6.4121e-04 - mae: 0.0193 - mse: 6.4121e-04 - val_loss: 6.6493e-04 - val_mae: 0.0196 - val_mse: 6.6493e-04 - 166ms/epoch - 13ms/step\n", - "Epoch 116/250\n", - "13/13 - 0s - loss: 6.5036e-04 - mae: 0.0194 - mse: 6.5036e-04 - val_loss: 6.5858e-04 - val_mae: 0.0191 - val_mse: 6.5858e-04 - 107ms/epoch - 8ms/step\n", - "Epoch 117/250\n", - "13/13 - 0s - loss: 6.4983e-04 - mae: 0.0194 - mse: 6.4983e-04 - val_loss: 7.0443e-04 - val_mae: 0.0198 - val_mse: 7.0443e-04 - 109ms/epoch - 8ms/step\n", - "Epoch 118/250\n", - "13/13 - 0s - loss: 6.4994e-04 - mae: 0.0195 - mse: 6.4994e-04 - val_loss: 6.3181e-04 - val_mae: 0.0193 - val_mse: 6.3181e-04 - 296ms/epoch - 23ms/step\n", - "Epoch 119/250\n", - "13/13 - 0s - loss: 6.6252e-04 - mae: 0.0199 - mse: 6.6252e-04 - val_loss: 6.3527e-04 - val_mae: 0.0191 - val_mse: 6.3527e-04 - 165ms/epoch - 13ms/step\n", - "Epoch 120/250\n", - "13/13 - 0s - loss: 6.4578e-04 - mae: 0.0193 - mse: 6.4578e-04 - val_loss: 6.3127e-04 - val_mae: 0.0189 - val_mse: 6.3127e-04 - 190ms/epoch - 15ms/step\n", - "Epoch 121/250\n", - "13/13 - 0s - loss: 6.1375e-04 - mae: 0.0191 - mse: 6.1375e-04 - val_loss: 6.5351e-04 - val_mae: 0.0192 - val_mse: 6.5351e-04 - 125ms/epoch - 10ms/step\n", - "Epoch 122/250\n", - "13/13 - 0s - loss: 6.4650e-04 - mae: 0.0196 - mse: 6.4650e-04 - val_loss: 8.0733e-04 - val_mae: 0.0210 - val_mse: 8.0733e-04 - 142ms/epoch - 11ms/step\n", - "Epoch 123/250\n", - "13/13 - 0s - loss: 6.5887e-04 - mae: 0.0198 - mse: 6.5887e-04 - val_loss: 6.2666e-04 - val_mae: 0.0191 - val_mse: 6.2666e-04 - 278ms/epoch - 21ms/step\n", - "Epoch 124/250\n", - "13/13 - 0s - loss: 6.1387e-04 - mae: 0.0189 - mse: 6.1387e-04 - val_loss: 6.1020e-04 - val_mae: 0.0188 - val_mse: 6.1020e-04 - 246ms/epoch - 19ms/step\n", - "Epoch 125/250\n", - "13/13 - 0s - loss: 6.1348e-04 - mae: 0.0191 - mse: 6.1348e-04 - val_loss: 6.1093e-04 - val_mae: 0.0193 - val_mse: 6.1093e-04 - 135ms/epoch - 10ms/step\n", - "Epoch 126/250\n", - "13/13 - 0s - loss: 6.1374e-04 - mae: 0.0189 - mse: 6.1374e-04 - val_loss: 6.1062e-04 - val_mae: 0.0188 - val_mse: 6.1062e-04 - 174ms/epoch - 13ms/step\n", - "Epoch 127/250\n", - "13/13 - 0s - loss: 6.1279e-04 - mae: 0.0190 - mse: 6.1279e-04 - val_loss: 6.4391e-04 - val_mae: 0.0190 - val_mse: 6.4391e-04 - 142ms/epoch - 11ms/step\n", - "Epoch 128/250\n", - "13/13 - 0s - loss: 6.0951e-04 - mae: 0.0189 - mse: 6.0951e-04 - val_loss: 5.9592e-04 - val_mae: 0.0188 - val_mse: 5.9592e-04 - 249ms/epoch - 19ms/step\n", - "Epoch 129/250\n", - "13/13 - 0s - loss: 6.2194e-04 - mae: 0.0192 - mse: 6.2194e-04 - val_loss: 5.9344e-04 - val_mae: 0.0188 - val_mse: 5.9344e-04 - 279ms/epoch - 21ms/step\n", - "Epoch 130/250\n", - "13/13 - 0s - loss: 6.1795e-04 - mae: 0.0191 - mse: 6.1795e-04 - val_loss: 5.8880e-04 - val_mae: 0.0188 - val_mse: 5.8880e-04 - 356ms/epoch - 27ms/step\n", - "Epoch 131/250\n", - "13/13 - 0s - loss: 6.6297e-04 - mae: 0.0199 - mse: 6.6297e-04 - val_loss: 7.2306e-04 - val_mae: 0.0197 - val_mse: 7.2306e-04 - 151ms/epoch - 12ms/step\n", - "Epoch 132/250\n", - "13/13 - 0s - loss: 5.8788e-04 - mae: 0.0189 - mse: 5.8788e-04 - val_loss: 6.0686e-04 - val_mae: 0.0189 - val_mse: 6.0686e-04 - 102ms/epoch - 8ms/step\n", - "Epoch 133/250\n", - "13/13 - 0s - loss: 5.7425e-04 - mae: 0.0184 - mse: 5.7425e-04 - val_loss: 5.7895e-04 - val_mae: 0.0183 - val_mse: 5.7895e-04 - 239ms/epoch - 18ms/step\n", - "Epoch 134/250\n", - "13/13 - 0s - loss: 5.8783e-04 - mae: 0.0186 - mse: 5.8783e-04 - val_loss: 5.7846e-04 - val_mae: 0.0188 - val_mse: 5.7846e-04 - 285ms/epoch - 22ms/step\n", - "Epoch 135/250\n", - "13/13 - 0s - loss: 5.8541e-04 - mae: 0.0188 - mse: 5.8541e-04 - val_loss: 6.7887e-04 - val_mae: 0.0191 - val_mse: 6.7887e-04 - 178ms/epoch - 14ms/step\n", - "Epoch 136/250\n", - "13/13 - 0s - loss: 5.9158e-04 - mae: 0.0185 - mse: 5.9158e-04 - val_loss: 5.9231e-04 - val_mae: 0.0188 - val_mse: 5.9231e-04 - 113ms/epoch - 9ms/step\n", - "Epoch 137/250\n", - "13/13 - 0s - loss: 5.9616e-04 - mae: 0.0192 - mse: 5.9616e-04 - val_loss: 7.0218e-04 - val_mae: 0.0212 - val_mse: 7.0218e-04 - 138ms/epoch - 11ms/step\n", - "Epoch 138/250\n", - "13/13 - 0s - loss: 6.2132e-04 - mae: 0.0190 - mse: 6.2132e-04 - val_loss: 6.3436e-04 - val_mae: 0.0186 - val_mse: 6.3436e-04 - 144ms/epoch - 11ms/step\n", - "Epoch 139/250\n", - "13/13 - 0s - loss: 5.8416e-04 - mae: 0.0189 - mse: 5.8416e-04 - val_loss: 5.7793e-04 - val_mae: 0.0184 - val_mse: 5.7793e-04 - 279ms/epoch - 21ms/step\n", - "Epoch 140/250\n", - "13/13 - 0s - loss: 6.5695e-04 - mae: 0.0195 - mse: 6.5695e-04 - val_loss: 5.8062e-04 - val_mae: 0.0189 - val_mse: 5.8062e-04 - 174ms/epoch - 13ms/step\n", - "Epoch 141/250\n", - "13/13 - 0s - loss: 6.4168e-04 - mae: 0.0200 - mse: 6.4168e-04 - val_loss: 6.9879e-04 - val_mae: 0.0196 - val_mse: 6.9879e-04 - 118ms/epoch - 9ms/step\n", - "Epoch 142/250\n", - "13/13 - 0s - loss: 6.5517e-04 - mae: 0.0198 - mse: 6.5517e-04 - val_loss: 6.3928e-04 - val_mae: 0.0193 - val_mse: 6.3928e-04 - 120ms/epoch - 9ms/step\n", - "Epoch 143/250\n", - "13/13 - 0s - loss: 5.8456e-04 - mae: 0.0190 - mse: 5.8456e-04 - val_loss: 5.4596e-04 - val_mae: 0.0181 - val_mse: 5.4596e-04 - 304ms/epoch - 23ms/step\n", - "Epoch 144/250\n", - "13/13 - 0s - loss: 5.9458e-04 - mae: 0.0186 - mse: 5.9458e-04 - val_loss: 5.8598e-04 - val_mae: 0.0181 - val_mse: 5.8598e-04 - 178ms/epoch - 14ms/step\n", - "Epoch 145/250\n", - "13/13 - 0s - loss: 5.6787e-04 - mae: 0.0186 - mse: 5.6787e-04 - val_loss: 5.6263e-04 - val_mae: 0.0186 - val_mse: 5.6263e-04 - 131ms/epoch - 10ms/step\n", - "Epoch 146/250\n", - "13/13 - 0s - loss: 5.3545e-04 - mae: 0.0178 - mse: 5.3545e-04 - val_loss: 5.3802e-04 - val_mae: 0.0179 - val_mse: 5.3802e-04 - 396ms/epoch - 30ms/step\n", - "Epoch 147/250\n", - "13/13 - 0s - loss: 5.2310e-04 - mae: 0.0177 - mse: 5.2310e-04 - val_loss: 5.4103e-04 - val_mae: 0.0179 - val_mse: 5.4103e-04 - 151ms/epoch - 12ms/step\n", - "Epoch 148/250\n", - "13/13 - 0s - loss: 5.2826e-04 - mae: 0.0176 - mse: 5.2826e-04 - val_loss: 5.9310e-04 - val_mae: 0.0181 - val_mse: 5.9310e-04 - 155ms/epoch - 12ms/step\n", - "Epoch 149/250\n", - "13/13 - 0s - loss: 5.3295e-04 - mae: 0.0179 - mse: 5.3295e-04 - val_loss: 5.4002e-04 - val_mae: 0.0176 - val_mse: 5.4002e-04 - 120ms/epoch - 9ms/step\n", - "Epoch 150/250\n", - "13/13 - 0s - loss: 5.1491e-04 - mae: 0.0174 - mse: 5.1491e-04 - val_loss: 5.9602e-04 - val_mae: 0.0179 - val_mse: 5.9602e-04 - 137ms/epoch - 11ms/step\n", - "Epoch 151/250\n", - "13/13 - 0s - loss: 5.2334e-04 - mae: 0.0179 - mse: 5.2334e-04 - val_loss: 5.2811e-04 - val_mae: 0.0178 - val_mse: 5.2811e-04 - 315ms/epoch - 24ms/step\n", - "Epoch 152/250\n", - "13/13 - 0s - loss: 5.2768e-04 - mae: 0.0178 - mse: 5.2768e-04 - val_loss: 5.5139e-04 - val_mae: 0.0184 - val_mse: 5.5139e-04 - 198ms/epoch - 15ms/step\n", - "Epoch 153/250\n", - "13/13 - 0s - loss: 5.2962e-04 - mae: 0.0179 - mse: 5.2962e-04 - val_loss: 5.7462e-04 - val_mae: 0.0178 - val_mse: 5.7462e-04 - 129ms/epoch - 10ms/step\n", - "Epoch 154/250\n", - "13/13 - 0s - loss: 5.0260e-04 - mae: 0.0173 - mse: 5.0260e-04 - val_loss: 5.3387e-04 - val_mae: 0.0181 - val_mse: 5.3387e-04 - 131ms/epoch - 10ms/step\n", - "Epoch 155/250\n", - "13/13 - 0s - loss: 5.0501e-04 - mae: 0.0175 - mse: 5.0501e-04 - val_loss: 5.0751e-04 - val_mae: 0.0172 - val_mse: 5.0751e-04 - 267ms/epoch - 21ms/step\n", - "Epoch 156/250\n", - "13/13 - 0s - loss: 5.0518e-04 - mae: 0.0173 - mse: 5.0518e-04 - val_loss: 5.5553e-04 - val_mae: 0.0174 - val_mse: 5.5553e-04 - 182ms/epoch - 14ms/step\n", - "Epoch 157/250\n", - "13/13 - 0s - loss: 5.0064e-04 - mae: 0.0172 - mse: 5.0064e-04 - val_loss: 5.1205e-04 - val_mae: 0.0172 - val_mse: 5.1205e-04 - 160ms/epoch - 12ms/step\n", - "Epoch 158/250\n", - "13/13 - 0s - loss: 4.9541e-04 - mae: 0.0172 - mse: 4.9541e-04 - val_loss: 5.0799e-04 - val_mae: 0.0172 - val_mse: 5.0799e-04 - 131ms/epoch - 10ms/step\n", - "Epoch 159/250\n", - "13/13 - 0s - loss: 5.4153e-04 - mae: 0.0182 - mse: 5.4153e-04 - val_loss: 5.2077e-04 - val_mae: 0.0171 - val_mse: 5.2077e-04 - 172ms/epoch - 13ms/step\n", - "Epoch 160/250\n", - "13/13 - 0s - loss: 4.8280e-04 - mae: 0.0170 - mse: 4.8280e-04 - val_loss: 5.1410e-04 - val_mae: 0.0168 - val_mse: 5.1410e-04 - 164ms/epoch - 13ms/step\n", - "Epoch 161/250\n", - "13/13 - 0s - loss: 4.8993e-04 - mae: 0.0171 - mse: 4.8993e-04 - val_loss: 5.1744e-04 - val_mae: 0.0171 - val_mse: 5.1744e-04 - 169ms/epoch - 13ms/step\n", - "Epoch 162/250\n", - "13/13 - 0s - loss: 4.8044e-04 - mae: 0.0169 - mse: 4.8044e-04 - val_loss: 5.1099e-04 - val_mae: 0.0168 - val_mse: 5.1099e-04 - 188ms/epoch - 14ms/step\n", - "Epoch 163/250\n", - "13/13 - 0s - loss: 4.9657e-04 - mae: 0.0171 - mse: 4.9657e-04 - val_loss: 4.9877e-04 - val_mae: 0.0171 - val_mse: 4.9877e-04 - 258ms/epoch - 20ms/step\n", - "Epoch 164/250\n", - "13/13 - 0s - loss: 4.8858e-04 - mae: 0.0170 - mse: 4.8858e-04 - val_loss: 5.0099e-04 - val_mae: 0.0169 - val_mse: 5.0099e-04 - 150ms/epoch - 12ms/step\n", - "Epoch 165/250\n", - "13/13 - 0s - loss: 4.7747e-04 - mae: 0.0170 - mse: 4.7747e-04 - val_loss: 5.8449e-04 - val_mae: 0.0174 - val_mse: 5.8449e-04 - 158ms/epoch - 12ms/step\n", - "Epoch 166/250\n", - "13/13 - 0s - loss: 4.9897e-04 - mae: 0.0171 - mse: 4.9897e-04 - val_loss: 4.9512e-04 - val_mae: 0.0173 - val_mse: 4.9512e-04 - 265ms/epoch - 20ms/step\n", - "Epoch 167/250\n", - "13/13 - 0s - loss: 4.8695e-04 - mae: 0.0173 - mse: 4.8695e-04 - val_loss: 5.0306e-04 - val_mae: 0.0165 - val_mse: 5.0306e-04 - 151ms/epoch - 12ms/step\n", - "Epoch 168/250\n", - "13/13 - 0s - loss: 4.7948e-04 - mae: 0.0171 - mse: 4.7948e-04 - val_loss: 6.8895e-04 - val_mae: 0.0193 - val_mse: 6.8895e-04 - 128ms/epoch - 10ms/step\n", - "Epoch 169/250\n", - "13/13 - 0s - loss: 4.8055e-04 - mae: 0.0168 - mse: 4.8055e-04 - val_loss: 4.9053e-04 - val_mae: 0.0171 - val_mse: 4.9053e-04 - 234ms/epoch - 18ms/step\n", - "Epoch 170/250\n", - "13/13 - 0s - loss: 4.5980e-04 - mae: 0.0168 - mse: 4.5980e-04 - val_loss: 5.2267e-04 - val_mae: 0.0170 - val_mse: 5.2267e-04 - 167ms/epoch - 13ms/step\n", - "Epoch 171/250\n", - "13/13 - 0s - loss: 4.6495e-04 - mae: 0.0168 - mse: 4.6495e-04 - val_loss: 4.6718e-04 - val_mae: 0.0165 - val_mse: 4.6718e-04 - 243ms/epoch - 19ms/step\n", - "Epoch 172/250\n", - "13/13 - 0s - loss: 4.6046e-04 - mae: 0.0168 - mse: 4.6046e-04 - val_loss: 4.6731e-04 - val_mae: 0.0166 - val_mse: 4.6731e-04 - 148ms/epoch - 11ms/step\n", - "Epoch 173/250\n", - "13/13 - 0s - loss: 4.6993e-04 - mae: 0.0168 - mse: 4.6993e-04 - val_loss: 4.8190e-04 - val_mae: 0.0167 - val_mse: 4.8190e-04 - 143ms/epoch - 11ms/step\n", - "Epoch 174/250\n", - "13/13 - 0s - loss: 4.8411e-04 - mae: 0.0172 - mse: 4.8411e-04 - val_loss: 5.0800e-04 - val_mae: 0.0164 - val_mse: 5.0800e-04 - 131ms/epoch - 10ms/step\n", - "Epoch 175/250\n", - "13/13 - 0s - loss: 4.5295e-04 - mae: 0.0164 - mse: 4.5295e-04 - val_loss: 6.2583e-04 - val_mae: 0.0182 - val_mse: 6.2583e-04 - 136ms/epoch - 10ms/step\n", - "Epoch 176/250\n", - "13/13 - 0s - loss: 5.3742e-04 - mae: 0.0183 - mse: 5.3742e-04 - val_loss: 5.6727e-04 - val_mae: 0.0187 - val_mse: 5.6727e-04 - 141ms/epoch - 11ms/step\n", - "Epoch 177/250\n", - "13/13 - 0s - loss: 5.3634e-04 - mae: 0.0182 - mse: 5.3634e-04 - val_loss: 4.6197e-04 - val_mae: 0.0157 - val_mse: 4.6197e-04 - 316ms/epoch - 24ms/step\n", - "Epoch 178/250\n", - "13/13 - 0s - loss: 4.8847e-04 - mae: 0.0169 - mse: 4.8847e-04 - val_loss: 4.6646e-04 - val_mae: 0.0160 - val_mse: 4.6646e-04 - 214ms/epoch - 16ms/step\n", - "Epoch 179/250\n", - "13/13 - 0s - loss: 4.3622e-04 - mae: 0.0160 - mse: 4.3622e-04 - val_loss: 5.3203e-04 - val_mae: 0.0164 - val_mse: 5.3203e-04 - 181ms/epoch - 14ms/step\n", - "Epoch 180/250\n", - "13/13 - 0s - loss: 4.7108e-04 - mae: 0.0165 - mse: 4.7108e-04 - val_loss: 4.6548e-04 - val_mae: 0.0161 - val_mse: 4.6548e-04 - 144ms/epoch - 11ms/step\n", - "Epoch 181/250\n", - "13/13 - 0s - loss: 4.3932e-04 - mae: 0.0164 - mse: 4.3932e-04 - val_loss: 4.4195e-04 - val_mae: 0.0157 - val_mse: 4.4195e-04 - 302ms/epoch - 23ms/step\n", - "Epoch 182/250\n", - "13/13 - 0s - loss: 4.3340e-04 - mae: 0.0159 - mse: 4.3340e-04 - val_loss: 4.5463e-04 - val_mae: 0.0158 - val_mse: 4.5463e-04 - 216ms/epoch - 17ms/step\n", - "Epoch 183/250\n", - "13/13 - 0s - loss: 4.2639e-04 - mae: 0.0162 - mse: 4.2639e-04 - val_loss: 4.3874e-04 - val_mae: 0.0156 - val_mse: 4.3874e-04 - 296ms/epoch - 23ms/step\n", - "Epoch 184/250\n", - "13/13 - 0s - loss: 4.4119e-04 - mae: 0.0159 - mse: 4.4119e-04 - val_loss: 4.7791e-04 - val_mae: 0.0169 - val_mse: 4.7791e-04 - 195ms/epoch - 15ms/step\n", - "Epoch 185/250\n", - "13/13 - 0s - loss: 4.4805e-04 - mae: 0.0164 - mse: 4.4805e-04 - val_loss: 4.6275e-04 - val_mae: 0.0163 - val_mse: 4.6275e-04 - 119ms/epoch - 9ms/step\n", - "Epoch 186/250\n", - "13/13 - 0s - loss: 4.4495e-04 - mae: 0.0163 - mse: 4.4495e-04 - val_loss: 4.4746e-04 - val_mae: 0.0155 - val_mse: 4.4746e-04 - 115ms/epoch - 9ms/step\n", - "Epoch 187/250\n", - "13/13 - 0s - loss: 4.7030e-04 - mae: 0.0167 - mse: 4.7030e-04 - val_loss: 5.6234e-04 - val_mae: 0.0169 - val_mse: 5.6234e-04 - 147ms/epoch - 11ms/step\n", - "Epoch 188/250\n", - "13/13 - 0s - loss: 4.4920e-04 - mae: 0.0160 - mse: 4.4920e-04 - val_loss: 4.2347e-04 - val_mae: 0.0154 - val_mse: 4.2347e-04 - 451ms/epoch - 35ms/step\n", - "Epoch 189/250\n", - "13/13 - 0s - loss: 4.1850e-04 - mae: 0.0159 - mse: 4.1850e-04 - val_loss: 4.5828e-04 - val_mae: 0.0156 - val_mse: 4.5828e-04 - 110ms/epoch - 8ms/step\n", - "Epoch 190/250\n", - "13/13 - 0s - loss: 4.2816e-04 - mae: 0.0159 - mse: 4.2816e-04 - val_loss: 4.2983e-04 - val_mae: 0.0155 - val_mse: 4.2983e-04 - 121ms/epoch - 9ms/step\n", - "Epoch 191/250\n", - "13/13 - 0s - loss: 4.1442e-04 - mae: 0.0156 - mse: 4.1442e-04 - val_loss: 4.5135e-04 - val_mae: 0.0154 - val_mse: 4.5135e-04 - 173ms/epoch - 13ms/step\n", - "Epoch 192/250\n", - "13/13 - 0s - loss: 4.1126e-04 - mae: 0.0159 - mse: 4.1126e-04 - val_loss: 4.2590e-04 - val_mae: 0.0151 - val_mse: 4.2590e-04 - 149ms/epoch - 11ms/step\n", - "Epoch 193/250\n", - "13/13 - 0s - loss: 4.1197e-04 - mae: 0.0155 - mse: 4.1197e-04 - val_loss: 4.2111e-04 - val_mae: 0.0151 - val_mse: 4.2111e-04 - 243ms/epoch - 19ms/step\n", - "Epoch 194/250\n", - "13/13 - 0s - loss: 4.0958e-04 - mae: 0.0157 - mse: 4.0958e-04 - val_loss: 4.1117e-04 - val_mae: 0.0149 - val_mse: 4.1117e-04 - 272ms/epoch - 21ms/step\n", - "Epoch 195/250\n", - "13/13 - 0s - loss: 3.9243e-04 - mae: 0.0153 - mse: 3.9243e-04 - val_loss: 4.1405e-04 - val_mae: 0.0150 - val_mse: 4.1405e-04 - 136ms/epoch - 10ms/step\n", - "Epoch 196/250\n", - "13/13 - 0s - loss: 4.0300e-04 - mae: 0.0153 - mse: 4.0300e-04 - val_loss: 4.3989e-04 - val_mae: 0.0150 - val_mse: 4.3989e-04 - 151ms/epoch - 12ms/step\n", - "Epoch 197/250\n", - "13/13 - 0s - loss: 4.0142e-04 - mae: 0.0154 - mse: 4.0142e-04 - val_loss: 4.3665e-04 - val_mae: 0.0151 - val_mse: 4.3665e-04 - 160ms/epoch - 12ms/step\n", - "Epoch 198/250\n", - "13/13 - 0s - loss: 3.9936e-04 - mae: 0.0153 - mse: 3.9936e-04 - val_loss: 4.2897e-04 - val_mae: 0.0149 - val_mse: 4.2897e-04 - 114ms/epoch - 9ms/step\n", - "Epoch 199/250\n", - "13/13 - 0s - loss: 4.0143e-04 - mae: 0.0153 - mse: 4.0143e-04 - val_loss: 4.0877e-04 - val_mae: 0.0148 - val_mse: 4.0877e-04 - 209ms/epoch - 16ms/step\n", - "Epoch 200/250\n", - "13/13 - 0s - loss: 3.9668e-04 - mae: 0.0152 - mse: 3.9668e-04 - val_loss: 4.3571e-04 - val_mae: 0.0150 - val_mse: 4.3571e-04 - 198ms/epoch - 15ms/step\n", - "Epoch 201/250\n", - "13/13 - 0s - loss: 3.9516e-04 - mae: 0.0154 - mse: 3.9516e-04 - val_loss: 5.1984e-04 - val_mae: 0.0161 - val_mse: 5.1984e-04 - 147ms/epoch - 11ms/step\n", - "Epoch 202/250\n", - "13/13 - 0s - loss: 4.5166e-04 - mae: 0.0161 - mse: 4.5166e-04 - val_loss: 5.4696e-04 - val_mae: 0.0182 - val_mse: 5.4696e-04 - 128ms/epoch - 10ms/step\n", - "Epoch 203/250\n", - "13/13 - 0s - loss: 4.5904e-04 - mae: 0.0166 - mse: 4.5904e-04 - val_loss: 4.1240e-04 - val_mae: 0.0150 - val_mse: 4.1240e-04 - 137ms/epoch - 11ms/step\n", - "Epoch 204/250\n", - "13/13 - 0s - loss: 3.9851e-04 - mae: 0.0150 - mse: 3.9851e-04 - val_loss: 4.5210e-04 - val_mae: 0.0154 - val_mse: 4.5210e-04 - 141ms/epoch - 11ms/step\n", - "Epoch 205/250\n", - "13/13 - 0s - loss: 3.8760e-04 - mae: 0.0151 - mse: 3.8760e-04 - val_loss: 4.0982e-04 - val_mae: 0.0149 - val_mse: 4.0982e-04 - 121ms/epoch - 9ms/step\n", - "Epoch 206/250\n", - "13/13 - 0s - loss: 4.1937e-04 - mae: 0.0156 - mse: 4.1937e-04 - val_loss: 3.8857e-04 - val_mae: 0.0145 - val_mse: 3.8857e-04 - 294ms/epoch - 23ms/step\n", - "Epoch 207/250\n", - "13/13 - 0s - loss: 3.7173e-04 - mae: 0.0146 - mse: 3.7173e-04 - val_loss: 3.9353e-04 - val_mae: 0.0147 - val_mse: 3.9353e-04 - 146ms/epoch - 11ms/step\n", - "Epoch 208/250\n", - "13/13 - 0s - loss: 3.9673e-04 - mae: 0.0153 - mse: 3.9673e-04 - val_loss: 3.9003e-04 - val_mae: 0.0145 - val_mse: 3.9003e-04 - 115ms/epoch - 9ms/step\n", - "Epoch 209/250\n", - "13/13 - 0s - loss: 4.2359e-04 - mae: 0.0155 - mse: 4.2359e-04 - val_loss: 3.9027e-04 - val_mae: 0.0146 - val_mse: 3.9027e-04 - 150ms/epoch - 12ms/step\n", - "Epoch 210/250\n", - "13/13 - 0s - loss: 3.9302e-04 - mae: 0.0154 - mse: 3.9302e-04 - val_loss: 4.1320e-04 - val_mae: 0.0152 - val_mse: 4.1320e-04 - 167ms/epoch - 13ms/step\n", - "Epoch 211/250\n", - "13/13 - 0s - loss: 3.6641e-04 - mae: 0.0147 - mse: 3.6641e-04 - val_loss: 3.9564e-04 - val_mae: 0.0141 - val_mse: 3.9564e-04 - 167ms/epoch - 13ms/step\n", - "Epoch 212/250\n", - "13/13 - 0s - loss: 3.6259e-04 - mae: 0.0143 - mse: 3.6259e-04 - val_loss: 3.8787e-04 - val_mae: 0.0146 - val_mse: 3.8787e-04 - 309ms/epoch - 24ms/step\n", - "Epoch 213/250\n", - "13/13 - 0s - loss: 4.0665e-04 - mae: 0.0156 - mse: 4.0665e-04 - val_loss: 5.0910e-04 - val_mae: 0.0160 - val_mse: 5.0910e-04 - 158ms/epoch - 12ms/step\n", - "Epoch 214/250\n", - "13/13 - 0s - loss: 4.5758e-04 - mae: 0.0169 - mse: 4.5758e-04 - val_loss: 4.1241e-04 - val_mae: 0.0141 - val_mse: 4.1241e-04 - 125ms/epoch - 10ms/step\n", - "Epoch 215/250\n", - "13/13 - 0s - loss: 4.0666e-04 - mae: 0.0155 - mse: 4.0666e-04 - val_loss: 4.6639e-04 - val_mae: 0.0151 - val_mse: 4.6639e-04 - 177ms/epoch - 14ms/step\n", - "Epoch 216/250\n", - "13/13 - 0s - loss: 3.6615e-04 - mae: 0.0145 - mse: 3.6615e-04 - val_loss: 3.8294e-04 - val_mae: 0.0138 - val_mse: 3.8294e-04 - 253ms/epoch - 19ms/step\n", - "Epoch 217/250\n", - "13/13 - 0s - loss: 3.8135e-04 - mae: 0.0149 - mse: 3.8135e-04 - val_loss: 5.1259e-04 - val_mae: 0.0162 - val_mse: 5.1259e-04 - 136ms/epoch - 10ms/step\n", - "Epoch 218/250\n", - "13/13 - 0s - loss: 3.5877e-04 - mae: 0.0144 - mse: 3.5877e-04 - val_loss: 3.7918e-04 - val_mae: 0.0142 - val_mse: 3.7918e-04 - 254ms/epoch - 20ms/step\n", - "Epoch 219/250\n", - "13/13 - 0s - loss: 4.1097e-04 - mae: 0.0155 - mse: 4.1097e-04 - val_loss: 3.7973e-04 - val_mae: 0.0144 - val_mse: 3.7973e-04 - 167ms/epoch - 13ms/step\n", - "Epoch 220/250\n", - "13/13 - 0s - loss: 3.7840e-04 - mae: 0.0149 - mse: 3.7840e-04 - val_loss: 4.7988e-04 - val_mae: 0.0153 - val_mse: 4.7988e-04 - 157ms/epoch - 12ms/step\n", - "Epoch 221/250\n", - "13/13 - 0s - loss: 3.5545e-04 - mae: 0.0143 - mse: 3.5545e-04 - val_loss: 3.7230e-04 - val_mae: 0.0136 - val_mse: 3.7230e-04 - 218ms/epoch - 17ms/step\n", - "Epoch 222/250\n", - "13/13 - 0s - loss: 3.4610e-04 - mae: 0.0141 - mse: 3.4610e-04 - val_loss: 4.1371e-04 - val_mae: 0.0142 - val_mse: 4.1371e-04 - 141ms/epoch - 11ms/step\n", - "Epoch 223/250\n", - "13/13 - 0s - loss: 3.7775e-04 - mae: 0.0149 - mse: 3.7775e-04 - val_loss: 3.8045e-04 - val_mae: 0.0142 - val_mse: 3.8045e-04 - 176ms/epoch - 14ms/step\n", - "Epoch 224/250\n", - "13/13 - 0s - loss: 3.5911e-04 - mae: 0.0145 - mse: 3.5911e-04 - val_loss: 3.5609e-04 - val_mae: 0.0134 - val_mse: 3.5609e-04 - 421ms/epoch - 32ms/step\n", - "Epoch 225/250\n", - "13/13 - 0s - loss: 3.5933e-04 - mae: 0.0144 - mse: 3.5933e-04 - val_loss: 3.5900e-04 - val_mae: 0.0134 - val_mse: 3.5900e-04 - 159ms/epoch - 12ms/step\n", - "Epoch 226/250\n", - "13/13 - 0s - loss: 3.6466e-04 - mae: 0.0144 - mse: 3.6466e-04 - val_loss: 3.5378e-04 - val_mae: 0.0135 - val_mse: 3.5378e-04 - 307ms/epoch - 24ms/step\n", - "Epoch 227/250\n", - "13/13 - 0s - loss: 3.5876e-04 - mae: 0.0144 - mse: 3.5876e-04 - val_loss: 3.6523e-04 - val_mae: 0.0133 - val_mse: 3.6523e-04 - 193ms/epoch - 15ms/step\n", - "Epoch 228/250\n", - "13/13 - 0s - loss: 3.4559e-04 - mae: 0.0142 - mse: 3.4559e-04 - val_loss: 3.5907e-04 - val_mae: 0.0139 - val_mse: 3.5907e-04 - 133ms/epoch - 10ms/step\n", - "Epoch 229/250\n", - "13/13 - 0s - loss: 3.4162e-04 - mae: 0.0142 - mse: 3.4162e-04 - val_loss: 4.2194e-04 - val_mae: 0.0141 - val_mse: 4.2194e-04 - 107ms/epoch - 8ms/step\n", - "Epoch 230/250\n", - "13/13 - 0s - loss: 3.6967e-04 - mae: 0.0146 - mse: 3.6967e-04 - val_loss: 3.7720e-04 - val_mae: 0.0138 - val_mse: 3.7720e-04 - 165ms/epoch - 13ms/step\n", - "Epoch 231/250\n", - "13/13 - 0s - loss: 3.3735e-04 - mae: 0.0136 - mse: 3.3735e-04 - val_loss: 3.3976e-04 - val_mae: 0.0129 - val_mse: 3.3976e-04 - 276ms/epoch - 21ms/step\n", - "Epoch 232/250\n", - "13/13 - 0s - loss: 3.3844e-04 - mae: 0.0141 - mse: 3.3844e-04 - val_loss: 3.8716e-04 - val_mae: 0.0135 - val_mse: 3.8716e-04 - 134ms/epoch - 10ms/step\n", - "Epoch 233/250\n", - "13/13 - 0s - loss: 3.6741e-04 - mae: 0.0145 - mse: 3.6741e-04 - val_loss: 3.8668e-04 - val_mae: 0.0136 - val_mse: 3.8668e-04 - 146ms/epoch - 11ms/step\n", - "Epoch 234/250\n", - "13/13 - 0s - loss: 3.4129e-04 - mae: 0.0139 - mse: 3.4129e-04 - val_loss: 3.4933e-04 - val_mae: 0.0133 - val_mse: 3.4933e-04 - 165ms/epoch - 13ms/step\n", - "Epoch 235/250\n", - "13/13 - 0s - loss: 3.2338e-04 - mae: 0.0137 - mse: 3.2338e-04 - val_loss: 3.4566e-04 - val_mae: 0.0133 - val_mse: 3.4566e-04 - 153ms/epoch - 12ms/step\n", - "Epoch 236/250\n", - "13/13 - 0s - loss: 3.1652e-04 - mae: 0.0134 - mse: 3.1652e-04 - val_loss: 3.9728e-04 - val_mae: 0.0136 - val_mse: 3.9728e-04 - 187ms/epoch - 14ms/step\n", - "Epoch 237/250\n", - "13/13 - 0s - loss: 3.2047e-04 - mae: 0.0136 - mse: 3.2047e-04 - val_loss: 3.3756e-04 - val_mae: 0.0130 - val_mse: 3.3756e-04 - 209ms/epoch - 16ms/step\n", - "Epoch 238/250\n", - "13/13 - 0s - loss: 3.3167e-04 - mae: 0.0138 - mse: 3.3167e-04 - val_loss: 3.3191e-04 - val_mae: 0.0126 - val_mse: 3.3191e-04 - 175ms/epoch - 13ms/step\n", - "Epoch 239/250\n", - "13/13 - 0s - loss: 3.2033e-04 - mae: 0.0134 - mse: 3.2033e-04 - val_loss: 3.2969e-04 - val_mae: 0.0128 - val_mse: 3.2969e-04 - 234ms/epoch - 18ms/step\n", - "Epoch 240/250\n", - "13/13 - 0s - loss: 3.5224e-04 - mae: 0.0141 - mse: 3.5224e-04 - val_loss: 3.9061e-04 - val_mae: 0.0148 - val_mse: 3.9061e-04 - 130ms/epoch - 10ms/step\n", - "Epoch 241/250\n", - "13/13 - 0s - loss: 3.9777e-04 - mae: 0.0153 - mse: 3.9777e-04 - val_loss: 3.7065e-04 - val_mae: 0.0137 - val_mse: 3.7065e-04 - 122ms/epoch - 9ms/step\n", - "Epoch 242/250\n", - "13/13 - 0s - loss: 3.2502e-04 - mae: 0.0138 - mse: 3.2502e-04 - val_loss: 3.3236e-04 - val_mae: 0.0124 - val_mse: 3.3236e-04 - 128ms/epoch - 10ms/step\n", - "Epoch 243/250\n", - "13/13 - 0s - loss: 3.0734e-04 - mae: 0.0133 - mse: 3.0734e-04 - val_loss: 3.2635e-04 - val_mae: 0.0126 - val_mse: 3.2635e-04 - 321ms/epoch - 25ms/step\n", - "Epoch 244/250\n", - "13/13 - 0s - loss: 3.2928e-04 - mae: 0.0137 - mse: 3.2928e-04 - val_loss: 3.2871e-04 - val_mae: 0.0125 - val_mse: 3.2871e-04 - 167ms/epoch - 13ms/step\n", - "Epoch 245/250\n", - "13/13 - 0s - loss: 2.9711e-04 - mae: 0.0131 - mse: 2.9711e-04 - val_loss: 3.2920e-04 - val_mae: 0.0121 - val_mse: 3.2920e-04 - 129ms/epoch - 10ms/step\n", - "Epoch 246/250\n", - "13/13 - 0s - loss: 3.2661e-04 - mae: 0.0134 - mse: 3.2661e-04 - val_loss: 3.6936e-04 - val_mae: 0.0134 - val_mse: 3.6936e-04 - 191ms/epoch - 15ms/step\n", - "Epoch 247/250\n", - "13/13 - 0s - loss: 2.9618e-04 - mae: 0.0128 - mse: 2.9618e-04 - val_loss: 3.3549e-04 - val_mae: 0.0123 - val_mse: 3.3549e-04 - 119ms/epoch - 9ms/step\n", - "Epoch 248/250\n", - "13/13 - 0s - loss: 2.9979e-04 - mae: 0.0130 - mse: 2.9979e-04 - val_loss: 3.8099e-04 - val_mae: 0.0135 - val_mse: 3.8099e-04 - 122ms/epoch - 9ms/step\n", - "Epoch 249/250\n", - "13/13 - 0s - loss: 3.0599e-04 - mae: 0.0131 - mse: 3.0599e-04 - val_loss: 3.2729e-04 - val_mae: 0.0122 - val_mse: 3.2729e-04 - 150ms/epoch - 12ms/step\n", - "Epoch 250/250\n", - "13/13 - 0s - loss: 3.1256e-04 - mae: 0.0134 - mse: 3.1256e-04 - val_loss: 3.3855e-04 - val_mae: 0.0134 - val_mse: 3.3855e-04 - 127ms/epoch - 10ms/step\n" - ] - }, - { - "data": { - "image/png": "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7xbBwcHCxcVFZGVlCSGEeP7550WLFi3Ezz//LP744w8RGBgoAgMDFW517ZeXlycOHTokDh06JACI9957Txw6dEj89ddfQggh3n77beHo6Cg2bdokjh49KoYNGyZatmwpbt++Le0jNDRUPPLII+L3338Xv/32m2jbtq0YNWqUUm+p1nrQuc7LyxOzZ88WqampIi0tTezYsUM8+uijom3btuLOnTvSPniuKzd58mTh4OAgUlJSRHp6urTcunVLqlPZ74vi4mLRpUsXMXDgQHH48GGxdetW4erqKubMmaPEW6q1KjvXZ8+eFfPnzxd//PGHSEtLE5s2bRKtWrUSffr0kfZhznPNcCODDz74QLRo0UJYWlqKnj17ir179yrdpDotIiJCeHh4CEtLS9G8eXMREREhzp49K62/ffu2mDJlinBychI2NjbiqaeeEunp6Qq2uG7YuXOnAGC0REVFCSH008Fff/114ebmJrRarRgwYIA4ffq0wT6uXbsmRo0aJezs7IS9vb2Ijo4WeXl5Cryb2u1B5/rWrVti4MCBwtXVVTRq1Eh4e3uLZ5991ugPIp7rypV3jgGIlStXSnVM+X1x/vx5MWjQIGFtbS1cXFzErFmzxN27d838bmq3ys71hQsXRJ8+fYSzs7PQarWiTZs24sUXXxQ5OTkG+zHXuVbdazQRERFRvcAxN0RERFSvMNwQERFRvcJwQ0RERPUKww0RERHVKww3REREVK8w3BAREVG9wnBDRERE9QrDDRE1SCqVChs3blS6GURUAxhuiMjsxo8fD5VKZbSEhoYq3TQiqgcslG4AETVMoaGhWLlypUGZVqtVqDVEVJ+w54aIFKHVauHu7m6wODk5AdBfMvroo48waNAgWFtbo1WrVvjmm28Mtj927Bgef/xxWFtbo0mTJpg0aRLy8/MN6qxYsQKdO3eGVquFh4cHpk2bZrA+OzsbTz31FGxsbNC2bVt899130robN24gMjISrq6usLa2Rtu2bY3CGBHVTgw3RFQrvf766xg+fDiOHDmCyMhIjBw5EqdOnQIAFBQUICQkBE5OTti/fz/Wr1+PHTt2GISXjz76CFOnTsWkSZNw7NgxfPfdd2jTpo3BMebNm4dnnnkGR48exeDBgxEZGYnr169Lxz958iS2bNmCU6dO4aOPPoKLi4v5TgARPTzZH8VJRFSJqKgoodFohK2trcHy1ltvCSH0TyB+/vnnDbYJCAgQkydPFkII8cknnwgnJyeRn58vrf/xxx+FWq2Wnq7drFkz8eqrr1bYBgDitddek17n5+cLAGLLli1CCCGGDh0qoqOj5XnDRGRWHHNDRIro378/PvroI4MyZ2dn6efAwECDdYGBgTh8+DAA4NSpU/D19YWtra20vnfv3igpKcHp06ehUqlw5coVDBgw4IFt6Natm/Szra0t7O3tkZWVBQCYPHkyhg8fjoMHD2LgwIEICwtDr169Huq9EpF5MdwQkSJsbW2NLhPJxdra2qR6jRo1MnitUqlQUlICABg0aBD++usvbN68Gdu3b8eAAQMwdepULFy4UPb2EpG8OOaGiGqlvXv3Gr3u2LEjAKBjx444cuQICgoKpPW7d++GWq1G+/bt0bhxY/j4+CA5OblabXB1dUVUVBS++uorJCQk4JNPPqnW/ojIPNhzQ0SKKCwsREZGhkGZhYWFNGh3/fr18Pf3xz/+8Q98/fXX2LdvHz777DMAQGRkJOLi4hAVFYW5c+fi6tWrmD59OsaOHQs3NzcAwNy5c/H888+jadOmGDRoEPLy8rB7925Mnz7dpPbFxsbCz88PnTt3RmFhIX744QcpXBFR7cZwQ0SK2Lp1Kzw8PAzK2rdvjz///BOAfibTmjVrMGXKFHh4eGD16tXo1KkTAMDGxgbbtm3DjBkz0KNHD9jY2GD48OF47733pH1FRUXhzp07WLRoEWbPng0XFxeMGDHC5PZZWlpizpw5OH/+PKytrREUFIQ1a9bI8M6JqKaphBBC6UYQEZWlUqmwYcMGhIWFKd0UIqqDOOaGiIiI6hWGGyIiIqpXOOaGiGodXi0noupgzw0RERHVKww3REREVK8w3BAREVG9wnBDRERE9QrDDREREdUrDDdERERUrzDcEBERUb3CcENERET1CsMNERER1Sv/H/3nbZyJcUQcAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "\n", @@ -778,15 +265,7 @@ "cell_type": "code", "execution_count": 6, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "INFO:tensorflow:Assets written to: keras_surrogate\\assets\n" - ] - } - ], + "outputs": [], "source": [ "# Adding input bounds and variables along with scalers and output variable to kerasSurrogate\n", "xmin, xmax = [7, 306], [40, 1000]\n", @@ -818,129 +297,7 @@ "cell_type": "code", "execution_count": 7, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "13/13 [==============================] - 1s 3ms/step\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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YmJ8/jmIiIgaotUsdX3xxReYNWsWvvnmG+Tk5KCmpgZjx47F6dOn5WPuu+8+bNq0Cf/+97/xxRdfoKSkBFOmTGnGq67XElN/V1xxBQYPHowNGzYAsHdLfvHFF/HTTz9h1apV+OyzzzBv3jwAwLBhw7B06VJERESgtLQUpaWleOCBBwAANTU1ePzxx/HDDz/ggw8+QFFREWbMmNFkn4OIiMioVpPx+fjjj1U/r1y5EjExMdixYwdGjBgBq9WKFStWYPXq1bjiiisAAG+//TYuvPBCfPPNN7j00kub47JbvL59+2LPnj0AgOzsbPnxxMRE/P3vf8ddd92FV155BcHBwTCbzRAEQc4cSW677Tb59z179sSLL76Iiy++GKdOnUKHDh2a5HMQEREZ0WoyPo6sVisAoFOnTgCAHTt2oKamBhkZGfIxffv2Rffu3ZGXl6d7nnPnzqGyslL1y5+IoigvXW3duhVXXnklunXrhvDwcNx8882wWCw4c+aMy3Ps2LEDkyZNQvfu3REeHo6RI0cCAI4cOdLo109EROSJVhn42Gw2ZGdnY/jw4RgwYAAA4NixYwgODnbaddSlSxccO3ZM91yLFy+G2WyWfyUkJDTmpbc4+/btQ1JSEoqKijBx4kQMGjQI69evx44dO/CPf/wDgOvlt9OnT2PcuHGIiIjAe++9h++++w7/+c9/3L6OiIioObSapS6lWbNmoaCgAF9//XWDz/XQQw/h/vvvl3+urKz0m+Dns88+w48//oj77rsPO3bsgM1mw/PPPy8PX127dq3q+ODgYKcREj///DMsFgueeuop+b59//33TfMBiIioWbjapSytyNT/HI7y8ih06mSB2VwlP95c459aXeAze/ZsbN68GV9++SXi4+Plx7t27Yrq6mpUVFSosj6///67U02KUkhICEJCQhrzkluEc+fO4dixY6rt7IsXL8bEiRNxyy23oKCgADU1NXjppZcwadIkbN++Ha+99prqHImJiTh16hQ+/fRTDB48GGFhYejevTuCg4Px0ksv4a677kJBQQEef/zxZvqURETU2IzuUp42bRr+979YPPaYGTabAJNJxMKFv2HKlJMICgpCdXU1SktLm7yLc6sJfERRxN13343//Oc/+Pzzz5GUlKR6PjU1FUFBQfj0008xdepUAMD+/ftx5MgRpKenN8cltygff/wxYmNj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tcwFgNvZPfHggw+KX3zxhVhYWCju2bNHfPDBB0VBEMQtW7aIomjfutq9e3fxs88+E7///nsxPT1dTE9Pl18vbV0dO3asuHv3bvHjjz8WO3fu3Kq2rmpR7uoSRf+4D3PmzBE///xzsbCwUNy+fbuYkZEhRkdHi8ePHxdF0T/uwbfffisGBgaKTzzxhHjgwAHxvffeE8PCwsR3331XPuapp54SIyMjxf/+97/inj17xD/96U+a21mHDBki5ufni19//bXYu3fvFr2F11FdXZ3YvXt3cf78+U7P+cOfg+nTp4vdunWTt7Nv2LBBjI6OFufNmycf4w9/Dj7++GPxo48+En/99Vdxy5Yt4uDBg8W0tDSxurpaFMW2eQ+qqqrEXbt2ibt27RIBiEuWLBF37dolHj58WBRF33zmiooKsUuXLuLNN98sFhQUiO+//74YFhbG7exN5bbbbhN79OghBgcHi507dxavvPJKOegRRVE8e/as+Ne//lXs2LGjGBYWJv6///f/xNLSUtU5ioqKxKuuukoMDQ0Vo6OjxTlz5og1NTVN/VF8yjHw8Yf7kJmZKcbGxorBwcFit27dxMzMTFX/Gn+4B6Ioips2bRIHDBgghoSEiH379hWXL1+uet5ms4kPP/yw2KVLFzEkJES88sorxf3796uOsVgs4vXXXy926NBBjIiIEG+99VaxqqqqKT9Gg3zyySciAKfPJYr+8eegsrJSvPfee8Xu3buL7dq1E3v27CkuWLBAtf3YH/4crFmzRuzZs6cYHBwsdu3aVZw1a5ZYUVEhP98W78G2bdtEAE6/pk+fLoqi7z7zDz/8IF522WViSEiI2K1bN/Gpp55q0HULoqhor0lERETUhrHGh4iIiPwGAx8iIiLyGwx8iIiIyG8w8CEiIiK/wcCHiIiI/AYDHyIiIvIbDHyIiIjIbzDwISIiIr/BwIeIGmzUqFHIzs5u7stodI8++iguuuii5r4MImoABj5E5Peqq6ub9P1EUURtbW2TvicR2THwIaIGmTFjBr744gssW7YMgiBAEAQUFRWhoKAAV111FTp06IAuXbrg5ptvRllZmfy6UaNG4e6770Z2djY6duyILl264I033sDp06dx6623Ijw8HL169cJHH30kv+bzzz+HIAj48MMPMWjQILRr1w6XXnopCgoKVNf09ddf4/LLL0doaCgSEhJw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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "13/13 [==============================] - 0s 3ms/step\n" - ] - }, - { - "data": { - "image/png": "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TFC3bl3MmDED2dnZJfq6W7duLfTm8QcPHoRCoUBycvIrX4OIiIouPj4+X8H2f/8XiKNH6wEA7OzUy3jkHRotT9jTRqWuQ4cOWLNmDTIyMrBr1y6MGDECxsbGCA4OlsVlZmbCxMSkWF6zUqVKOnENIiLKT6kEfvtNiRo1oqW2u3cb4f33eyAsTN27Zm6uLtgGDCib96sVBnvaqNSZmprCwcEBNWvWxLBhw+Dj4wOlUgl/f39069YNs2bNQrVq1eDq6goAuHnzJj766CPY2tqiUqVK6Nq1K65fvy5dLycnB+PGjYOtrS3s7OwQEBAAIYTsNd955x2MGTNGOs7IyEBgYCCcnJxgamqKunXr4rvvvsP169fh/d9KjBUrVoRCoYC/v3+B13j48CH69++PihUrwsLCAh07dsSVK1ek82vXroWtrS0iIiLg7u4OKysrdOjQAXfv3pViDh48iFatWsHS0hK2trZ48803cePGjWL6TRMR6TalEmjUKBPR0aGygu348X6ws+shTSrw9AScnYHYWHXBpm87GRQXFm2kdebm5sjMzAQAREZGIjY2Fvv27cOOHTuQlZUFX19fVKhQAX/++ScOHz4sFT+a58yfPx9r167F6tWr8ddffyEpKQm//vrrC1+zf//+2LBhAxYvXoxLly7hm2++gZWVFZycnPDLL78AAGJjY3H37l18/fXXBV7D398fJ06cgFKpRFRUFIQQeP/992V74D158gTz5s3DDz/8gD/++APx8fGYMGECAPU09m7duuHtt9/G2bNnERUVhc8++wwKheK1f6dERPpg/vw4fPjhHFnb778HY+fO2li8WL18h6ZICw/Xv71CixuHR0lrhBCIjIxEREQERo0ahfv378PS0hKrVq2ShkV//PFHqFQqrFq1Sipm1qxZA1tbWxw8eBDt27fHokWLEBwcjO7duwMAVq5ciYiIiOe+7uXLl7F582bs27cPPj4+AIDatWtL5zXDoFWqVIGtrW2B17hy5QqUSiUOHz4Mr/82sVu/fj2cnJywbds2fPjhhwDUN9SuXLkSderUAQCMHDkSM2bMAACkpqYiJSUFnTt3ls67u7sX/RdJRKSHtm7dinbtzknHlSo1xahRXdGsGZCTA1Svrp5wkHcbqvLYu5YXe9oISqV681ylsnReb8eOHbCysoKZmRk6duyIXr16Yfr06QCAxo0b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iIgAsGij/2RkZCAsLEzWNmDAANSqVUs7CREREZEMizbC1atX8eOPP8ragoODYWJioqWMiIiI6Fks2sq5LVu24OLFi9JxixYt0LlzZy1mRERERAVh0VZOpaenY+7cubK2gQMHwsnJSUsZERER0YuwaCuHLl++jA0bNsjaJk2aBGNjYy1lRERERC/Doq0cyluwtW7dGr6+vlrMhoiIiAqDRVs5NmTIEFSrVk3baRAREVEhKIQQQttJUMFSU1NhY2ODlJQUWFtbazsdIiIiKoSS+v42KLYrEREREVGJYdFGREREpAdYtBERERHpARZtRERERHqARRsRERGRHmDRRkRERKQHWLQRERER6QEWbURERER6gEUbERERkR5g0UZERESkB1i0EREREekBFm1EREREeoBFGxEREZEeYNFGREREpAeMtJ0APZ8QAgCQmpqq5UyIiIiosDTf25rv8eLCok2HPXr0CADg5OSk5UyIiIioqB49egQbG5tiu55CFHcZSMVGpVLhzp07qFChAhQKhbbTKVWpqalwcnLCzZs3YW1tre10KA9+NrqLn43u4mej24r78xFC4NGjR6hWrRoMDIrvTjT2tOkwAwMD1KhRQ9tpaJW1tTX/gdNR/Gx0Fz8b3cXPRrcV5+dTnD1sGpyIQERERKQHWLQRERER6QEWbaSTTE1NERISAlNTU22nQs/gZ6O7+NnoLn42uk1fPh9ORCAiIiLSA+xpIyIiItIDLNqIiIiI9ACLNiIiIiI9wKKNiIiISA+waKNil5GRgaZNm0KhUOD06dOyc2fPnkXbtm1hZmYGJycnhIeH53v+li1b4ObmBjMzMzRu3Bi7du2SnRdCYNq0aXB0dIS5uTl8fHxw5coVWUxSUhL69u0La2tr2NraYtCgQUhLSytyLmWFn58fnJ2dYWZmBkdHR/Tr1w937tyRxWzevBlNmzaFhYUFatasia+++irfdQ4ePIjmzZvD1NQUdevWxdq1a/PFLFu2DLVq1YKZmRk8PDzw999/y86np6djxIgRsLOzg5WVFXr06IF79+7JYuLj49GpUydYWFigSpUqmDhxIrKzs1//F6GDCvPZREREoHXr1qhQoQLs7e3Ro0cPXL9+XRbDz6ZkvOzzmT59OhQKRb6HpaWl7Dr8d634FebvjhAC8+bNQ/369WFqaorq1atj1qxZshi9+rsjiIrZ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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "13/13 [==============================] - 0s 4ms/step\n" - ] - }, - { - "data": { - "image/png": "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WpZPPvkE1dXV+Pjjj5GUlCS+/vnnnztNv9ratm2Lw4cPw2w229QSHT9+XHwfkA/2iEg59iEiItX069cPN910E5YuXYqrV68iJiYG/fr1w+uvv46SkpJ621+4cEH8759//tnmvWbNmqF9+/aorq6W/b4hQ4YAAF5++WWb15cuXVpv29TUVJhMJhw+fFh8raSkpN5s0cHBwQAAQRDE10wmE1atWiWbDm+58847UVpairVr14qvXb9+Ha+88gqaNWuGvn37AgDCw8MBQDLgIyJlWENERKqaNWsW/ud//gerV6/G5MmT8eqrr6JPnz5IT0/HpEmT0K5dO5w7dw75+fn48ccf8c033wAA0tLS0K9fP/To0QORkZHYv38/PvjgA0ybNk32u7p164YHHngAr732GkwmE2699VZs27YNJ0+erLftyJEjMWfOHNx33314/PHHUVlZiWXLlqFjx444ePCguN2gQYMQEhKCu+++G4888giuXLmCFStWICYmRjKo86aHH34Yr7/+OsaOHYsDBw4gOTkZH3zwAb788kssXboUzZs3B1DXCTwtLQ1r165Fx44dERkZia5du6Jr164+TS+RX9N6mBsR+R/LsPt9+/bVe6+2tlZITU0VUlNThevXrwuCIAiFhYXC6NGjhbi4OKFx48ZC69athbvuukv44IMPxM8999xzwk033SS0aNFCCAsLEzp37iz87//+r1BTUyNuIzVEvqqqSnj88ceFVq1aCU2bNhXuvvtu4cyZM5LD0D/77DOha9euQkhIiNCpUyfhnXfekdznxx9/LGRkZAhNmjQRkpOTheeff1548803BQBCUVGRuJ0rw+6dTSkgt79z584J48aNE6KiooSQkBAhPT1dWLVqVb3P7tmzR+jRo4cQEhLCIfhEbjAIglW9MBEREVEAYh8iIiIiCngMiIiIiCjgMSAiIiKigKdpQLRs2TJkZGQgIiICERERyMrKwqZNm8T3+/XrJ67cbPk3efJkm30UFxcjNzcX4eHhiImJwaxZs3D9+nWbbXbs2IEbb7wRoaGhaN++PVavXu2LwyMiIiI/oemw+zZt2mDx4sXo0KEDBEHAW2+9hXvvvReHDh3CDTfcAACYNGkSFi5cKH7GMt8GUDfDbG5uLuLi4rBnzx6UlJRg9OjRaNy4MRYtWgQAKCoqQm5uLiZPnox3330X27Ztw8SJExEfHy87cy4REREFFt2NMouMjMQLL7yACRMmoF+/fujWrZvkJGsAsGnTJtx11104e/YsYmNjAQDLly/HnDlzcOHCBYSEhGDOnDnYuHEjjh49Kn5u5MiRKCsrw+bNm31xSERERKRzupmYsba2Fu+//z4qKiqQlZUlvv7uu+/inXfeQVxcHO6++27Mnz9frCXKz89Henq6GAwBQE5ODqZMmYJjx46he/fuyM/Pr7dkQE5OjsurYZvNZpw9exbNmzfnNPlERER+QhAE/PLLL0hISKi3ULI1zQOiI0eOICsrC1evXkWzZs2wfv16pKWlAQBGjRqFtm3bIiEhAYcPH8acOXNw4sQJrFu3DgBQWlpqEwwBEP8uLS11uE15eTmqqqoQFhYmma7q6mqbJQN++uknMV1ERETkX86cOYM2bdrIvq95QNSpUycUFBTAZDLhgw8+wJgxY7Bz506kpaXh4YcfFrdLT09HfHw8BgwYgMLCQqSmpno1XXl5eViwYEG918+cOYOIiAivfjcRERGpo7y8HImJieJSN3I0D4hCQkLQvn17AECPHj2wb98+vPTSS3j99dfrbXvzzTcDAE6ePInU1FTExcXh66+/ttnm3LlzAIC4uDjx/y2vWW8TEREhWzsEAPPmzcPMmTPFvy0n1DIijoiIiPyHs+4uupuHyGw2y65uXVBQAACIj48HAGRlZeHIkSM4f/68uM3WrVsREREhNm9lZWVh27ZtNvvZunWrTT8lKaGhoWLwwyCIiIioYdO0hmjevHkYMmQIkpKS8Msvv2DNmjXYsWMHtmzZgsLCQqxZswZ33nknWrVqhcOHD2PGjBnIzs5GRkYGgLpVqdPS0vDQQw9hyZIlKC0txVNPPYWpU6ciNDQUADB58mT8/e9/x+zZszF+/Hhs374d//rXv7Bx40YtD52IiIh0RNOA6Pz58xg9ejRKSkpgNBqRkZGBLVu24I477sCZM2fwn//8B0uXLkVFRQUSExMxfPhwPPXUU+Lng4ODsWHDBkyZMgVZWVlo2rQpxowZYzNvUUpKCjZu3IgZM2bgpZdeQps2bbBy5UrOQUREREQi3c1DpFfl5eUwGo0wmUxsPiMiamBqa2tx7do1rZNBbmjcuDGCg4Nl31dafmveqZqIiEgrgiCgtLQUZWVlWieFPNCiRQvExcV5NE8gAyIiIgpYlmAoJiYG4eHhnHjXzwiCgMrKSnFwlWXQlTsYEBERUUCqra0Vg6FWrVppnRxyk2UKnfPnzyMmJsZh85kjuht2T0RE5AuWPkPWi4aTf7L8hp70A2NAREREAY3NZP5Pjd+QAREREREFPAZEREREBKCupuWjjz7SOhk2duzYAYPB4PWRgAyIGpASUxX2FF5EialK66QQEZGOPfvss+jWrZvWydAVjjJrINbuK8a8dUdgFoAgA5A3LB0jeiVpnSwiIiK/wBqiBqDEVCUGQwBgFoAn1x1lTRERUQNlNpuRl5eHlJQUhIWFITMzEx988AGA35qYtm3bhp49eyI8PBy33norTpw4AQBYvXo1FixYgG+++QYGgwEGgwGrV68W933x4kXcd999CA8PR4cOHfDxxx8rSpPle7ds2YLu3bsjLCwMt99+O86fP49NmzahS5cuiIiIwKhRo1BZWSl+rrq6Go8//jhiYmLQpEkT9OnTB/v27VPvZCnEgKgBKLpYIQZDFrWCgFMXK6U/QEREqvNlt4W8vDy8/fbbWL58OY4dO4YZM2bg97//PXbu3Clu86c//Ql//etfsX//fjRq1Ajjx48HAIwYMQJ//OMfccMNN6CkpAQlJSUYMWKE+LkFCxbgd7/7HQ4fPow777wTDz74IC5duqQ4bc8++yz+/ve/Y8+ePThz5gx+97vfYenSpVizZg02btyIzz77DK+88oq4/ezZs/Hhhx/irbfewsGDB9G+fXvk5OS49J1qYEDUAKRENUWQ3YjDYIMByVGcW4OIyBfW7itG78XbMWrFXvRevB1r9xV77buqq6uxaNEivPnmm8jJyUG7du0wduxY/P73v8frr78ubve///u/6Nu3L9LS0jB37lzs2bMHV69eRVhYGJo1a4ZGjRohLi4OcXFx4uSGADB27Fg88MADaN++PRYtWoQrV67g66+/Vpy+5557Dr1790b37t0xYcIE7Ny5E8uWLUP37t1x22234f7778fnn38OAKioqMCyZcvwwgsvYMiQIUhLS8OKFSsQFhaGN954Q72TpgADogYg3hiGvGHpCP51HoZggwGLhnVFvDHMySeJiMhTvu62cPLkSVRWVuKOO+5As2bNxH9vv/02CgsLxe0yMjLE/7YsaWFZ4sIR6881bdoUERERij4n9fnY2FiEh4ejXbt2Nq9Z9ldYWIhr166hd+/e4vuNGzfGTTfdhO+++07xd6qBnaobiBG9kpDdMRqnLlYiOSqcwRARkY846rbgjXvxlStXAAAbN25E69atbd4LDQ0Vg6LGjRuLr1smLjSbzU73b/05y2eVfE7q8waDweP9+QoDogYk3hjGQIiIyMcs3RasgyJvdltIS0tDaGgoiouL0bdv33rvW9cSyQkJCUFtba03kueS1NRUhISE4Msvv0Tbtm0B1C2/sW/fPkyfPt2naWFARERE5AFLt4Un1x1FrSB4vdtC8+bN8cQTT2DGjBkwm83o06cPTCYTvvzyS0RERIiBhSPJyckoKipCQUEB2rRpg+bNmyM0NNQr6XWkadOmmDJlCmbNmoXIyEgkJSVhyZIlqKysxIQJE3yaFgZEREREHvJ1t4U///nPiI6ORl5eHn744Qe0aNECN954I5588klFzVHDhw/HunXr0L9/f5SVlWHVqlUYO3asV9MsZ/HixTCbzXjooYfwyy+/oGfPntiyZQtatmzp03QYBEEQnG9G5eXlMBqNMJlMiIiI0Do5RETkoatXr6KoqAgpKSlo0qSJ1skhDzj6LZWW3xxlRkRERAGPARERERE5NXnyZJth/tb/Jk+erHXyPMY+REREROTUwoUL8cQTT0i+1xC6kjAgIiIiIqdiYmIQExOjdTK8hk1mREREFPAYEBERUUDT46zJ5Bo1fkM2mRERUUAKCQlBUFAQzp49i+joaISEhIhLXJB/EAQBNTU1uHDhAoKCghASEuL2vhgQERFRQAoKCkJKSgpKSkpw9uxZrZNDHggPD0dSUhKCgtxv+GJAREREASskJARJSUm4fv26Ltb2ItcFBwejUaNGHtfuMSAiIqKAZlmR3X5Vdgos7FRNREREAY8BEREREQU8BkREREQU8BgQERERUcBjQEREREQBjwERERERBTwGRERERBTwGBARERFRwGNARERERAGPAREREREFPAZEREREFPAYEBEREVHA0zQgWrZsGTIyMhAREYGIiAhkZWVh06ZN4vtXr17F1KlT0apVKzRr1gzDhw/HuXPnbPZRXFyM3NxchIeHIyYmBrNmzcL169dtttmxYwduvPFGhIaGon379li9erUvDo+IiIj8hKYBUZs2bbB48WIcOHAA+/fvx+233457770Xx44dAwDMmDEDn3zyCd5//33s3LkTZ8+exbBhw8TP19bWIjc3FzU1NdizZw/eeustrF69Gk8//bS4TVFREXJzc9G/f38UFBRg+vTpmDhxIrZs2eLz4yUiIiJ9MgiCIGidCGuRkZF44YUXcP/99yM6Ohpr1qzB/fffDwA4fvw4unTpgvz8fNxyyy3YtGkT7rrrLpw9exaxsbEAgOXLl2POnDm4cOECQkJCMGfOHGzcuBFHjx4Vv2PkyJEoKyvD5s2bFaervLwcRqMRJpMJERER6h40EREReYXS8ls3fYhqa2vxz3/+ExUVFcjKysKBAwdw7do1DBw4UNymc+fOSEpKQn5+PgAgPz8f6enpYjAEADk5OSgvLxdrmfLz8232YdnGsg851dXVKC8vt/lHREREDZPmAdGRI0fQrFkzhIaGYvLkyVi/fj3S0tJQWlqKkJAQtGjRwmb72NhYlJaWAgBKS0ttgiHL+5b3HG1TXl6Oqqoq2XTl5eXBaDSK/xITEz09VCIiItIpzQOiTp06oaCgAHv37sWUKVMwZswYfPvtt1onC/PmzYPJZBL/nTlzRuskERERkZc00joBISEhaN++PQCgR48e2LdvH1566SWMGDECNTU1KCsrs6klOnfuHOLi4gAAcXFx+Prrr232ZxmFZr2N/ci0c+fOISIiAmFhYbLpCg0NRWhoqMfHR0RERPqneQ2RPbPZjOrqavTo0QONGzfGtm3bxPdOnDiB4uJiZGVlAQCysrJw5MgRnD9/Xtxm69atiIiIQFpamriN9T4s21j2QURERKRpDdG8efMwZMgQJCUl4ZdffsGaNWuwY8cObNmyBUajERMmTMDMmTMRGRmJiIgIPPbYY8jKysItt9wCABg0aBDS0tLw0EMPYcmSJSgtLcVTTz2FqVOnirU7kydPxt///nfMnj0b48ePx/bt2/Gvf/0LGzdu1PLQiYiISEc0DYjOnz+P0aNHo6SkBEajERkZGdiyZQvuuOMOAMCLL76IoKAgDB8+HNXV1cjJycFrr70mfj44OBgbNmzAlClTkJWVhaZNm2LMmDFYuHChuE1KSgo2btyIGTNm4KWXXkKbNm2wcuVK5OTk+Px4iYiISJ90Nw+RXnEeIiIiIv/jd/MQEREREWmFAREREREFPAZEREREFPAYEBEpUGKqwp7Ciygxyc9uTkRE/kvziRmJ9G7tvmLMW3cEZgEIMgB5w9IxoleS1skiIiIVsYaIyIESU5UYDAGAWQCeXHeUNUVERA0MAyIiB4ouVojBkEWtIODUxUptEkRERF7BgIjIgZSopggy2L4WbDAgOSpcmwQREZFXMCAiciDeGIa8YekINtRFRcEGAxYN64p4o/zCwERE5H/YqZrIiRG9kpDdMRqnLlYiOSqcwRARUQPEgIhIgXhjGAMhIqIGjE1mREREFPAYEBEREVHAY0BEREREAY8BEREREQU8BkREREQU8BgQERERUcBjQEREREQBjwERERERBTwGRERERBTwGBARERFRwGNARERERAGPAREREREFPAZEREREFPAYEBEREVHAY0BEREREAY8BEZHGSkxV2FN4ESWmKq2TQkQUsBppnQCiQLZ2XzHmrTsCswAEGYC8YekY0StJ62QREQUc1hARaaTEVCUGQwBgFoAn1x1lTRERkQYYEBFppOhihRgMWdQKAk5drNQmQUREAYwBEZFGUqKaIshg+1qwwYDkqHBtEkREFMAYEBFpJN4Yhrxh6Qg21EVFwQYDFg3rinhjmMYpIyIKPOxUTaShEb2SkN0xGqcuViI5KpzBEBGRRhgQEWks3hjGQIiISGNsMiMiIqKAx4CIiIiIAh4DIiIiIgp4DIiIiIgo4DEgIiIiooCnaUCUl5eHXr16oXnz5oiJicHQoUNx4sQJm2369esHg8Fg82/y5Mk22xQXFyM3Nxfh4eGIiYnBrFmzcP36dZttduzYgRtvvBGhoaFo3749Vq9e7e3DIyIiIj+haUC0c+dOTJ06FV999RW2bt2Ka9euYdCgQaioqLDZbtKkSSgpKRH/LVmyRHyvtrYWubm5qKmpwZ49e/DWW29h9erVePrpp8VtioqKkJubi/79+6OgoADTp0/HxIkTsWXLFp8dKxEREemXQRAEwflmvnHhwgXExMRg586dyM7OBlBXQ9StWzcsXbpU8jObNm3CXXfdhbNnzyI2NhYAsHz5csyZMwcXLlxASEgI5syZg40bN+Lo0aPi50aOHImysjJs3rxZUdrKy8thNBphMpkQERHh2YESERGRTygtv3XVh8hkMgEAIiMjbV5/9913ERUVha5du2LevHmorPxt8cv8/Hykp6eLwRAA5OTkoLy8HMeOHRO3GThwoM0+c3JykJ+fL5uW6upqlJeX2/wjIiKihkk3M1WbzWZMnz4dvXv3RteuXcXXR40ahbZt2yIhIQGHDx/GnDlzcOLECaxbtw4AUFpaahMMARD/Li0tdbhNeXk5qqqqEBZWf5bgvLw8LFiwQNVjJCIiIn3STUA0depUHD16FLt377Z5/eGHHxb/Oz09HfHx8RgwYAAKCwuRmprqtfTMmzcPM2fOFP8uLy9HYmKi176PiIiItKOLJrNp06Zhw4YN+Pzzz9GmTRuH2958880AgJMnTwIA4uLicO7cOZttLH/HxcU53CYiIkKydggAQkNDERERYfOPiIiIGiZNAyJBEDBt2jSsX78e27dvR0pKitPPFBQUAADi4+MBAFlZWThy5AjOnz8vbrN161ZEREQgLS1N3Gbbtm02+9m6dSuysrJUOhIiIiLyZ5oGRFOnTsU777yDNWvWoHnz5igtLUVpaSmqqqoAAIWFhfjzn/+MAwcO4NSpU/j4448xevRoZGdnIyMjAwAwaNAgpKWl4aGHHsI333yDLVu24KmnnsLUqVMRGhoKAJg8eTJ++OEHzJ49G8ePH8drr72Gf/3rX5gxY4Zmx05ERET6oemwe4PBIPn6qlWrMHbsWJw5cwa///3vcfToUVRUVCAxMRH33XcfnnrqKZsmrNOnT2PKlCnYsWMHmjZtijFjxmDx4sVo1Oi3LlI7duzAjBkz8O2336JNmzaYP38+xo4dqzitHHZPRETkf5SW37qah0jPGBARERH5H7+ch4iIiIhICwyIiIiIKOAxICIiIqKAx4CIiIiIAh4DIiIiIgp4DIiIqJ4SUxX2FF5EialK66QQEfmEbtYyIyJ9WLuvGPPWHYFZAIIMQN6wdIzolaR1soiIvIo1REQkKjFVicEQAJgF4Ml1R1lTREQNHgMiIhIVXawQgyGLWkHAqYuV2iSIiMhHGBARkSglqimC7FbUCTYYkBwVrk2CiIh8hAEREYnijWHIG5aO4F/XGQw2GLBoWFfEG8M0ThkRkXexUzUR2RjRKwnZHaNx6mIlkqPCGQwRUUBgQERE9cQbwxgIEVFAYZMZERERBTwGRERERBTwGBARERFRwGNARERERAGPAREREREFPAZEREREFPAYEBEREVHAY0BEREREAY8BEQWcElMV9hRe5AruREQk4kzVFFDW7ivGvHVHYBaAIAOQNywdI3olaZ0sIiLSGGuIKGCUmKrEYAgAzALw5LqjrCkiIiIGRBQ4ii5WiMGQRa0g4NTFSm0SREREusGAiAJGSlRTBBlsXws2GJAcFa5NgoiISDcYEFHAiDeGIW9YOoINdVFRsMGARcO6clV3IiJip2oKLCN6JSG7YzROXaxEclQ4gyEiIgLAgIgCULwxjIEQERHZYJMZERERBTwGRERERBTwGBARERFRwGNARERERAGPAREREREFPAZEREREFPAYEBEREVHAY0BEREREAY8BEREREQU8BkREREQU8DQNiPLy8tCrVy80b94cMTExGDp0KE6cOGGzzdWrVzF16lS0atUKzZo1w/Dhw3Hu3DmbbYqLi5Gbm4vw8HDExMRg1qxZuH79us02O3bswI033ojQ0FC0b98eq1ev9vbhERERkZ/QNCDauXMnpk6diq+++gpbt27FtWvXMGjQIFRUVIjbzJgxA5988gnef/997Ny5E2fPnsWwYcPE92tra5Gbm4uamhrs2bMHb731FlavXo2nn35a3KaoqAi5ubno378/CgoKMH36dEycOBFbtmzx6fESERGRPhkEQRC0ToTFhQsXEBMTg507dyI7OxsmkwnR0dFYs2YN7r//fgDA8ePH0aVLF+Tn5+OWW27Bpk2bcNddd+Hs2bOIjY0FACxfvhxz5szBhQsXEBISgjlz5mDjxo04evSo+F0jR45EWVkZNm/erCht5eXlMBqNMJlMiIiIUP/giYiISHVKy29d9SEymUwAgMjISADAgQMHcO3aNQwcOFDcpnPnzkhKSkJ+fj4AID8/H+np6WIwBAA5OTkoLy/HsWPHxG2s92HZxrIPIiIiCmyNtE6AhdlsxvTp09G7d2907doVAFBaWoqQkBC0aNHCZtvY2FiUlpaK21gHQ5b3Le852qa8vBxVVVUICwurl57q6mpUV1eLf5eXl3t2gERERKRbuqkhmjp1Ko4ePYp//vOfWicFQF2Hb6PRKP5LTEzUOklERETkJboIiKZNm4YNGzbg888/R5s2bcTX4+LiUFNTg7KyMpvtz507h7i4OHEb+1Fnlr+dbRMRESFZOwQA8+bNg8lkEv+dOXPGo2MkIiIi/dI0IBIEAdOmTcP69euxfft2pKSk2Lzfo0cPNG7cGNu2bRNfO3HiBIqLi5GVlQUAyMrKwpEjR3D+/Hlxm61btyIiIgJpaWniNtb7sGxj2YeU0NBQRERE2PwjIiKihknxKDNX+tAoDR4effRRrFmzBv/+97/RqVMn8XWj0SjW3EyZMgWffvopVq9ejYiICDz22GMAgD179gCoG3bfrVs3JCQkYMmSJSgtLcVDDz2EiRMnYtGiRQDqht137doVU6dOxfjx47F9+3Y8/vjj2LhxI3JychSllaPMiIiI/I/S8ltxQBQUFASDweBwG0EQYDAYUFtbqyiRcvtbtWoVxo4dC6BuYsY//vGPeO+991BdXY2cnBy89tprYnMYAJw+fRpTpkzBjh070LRpU4wZMwaLFy9Go0a/9RnfsWMHZsyYgW+//RZt2rTB/Pnzxe9QggERERGR/1E9INq5c6fiL+/bt6/ibf0FAyIiIiL/o7T8VjzsviEGOURERESAB/MQlZWV4Y033sB3330HALjhhhswfvx4GI1G1RJHRERE5AtujTLbv38/UlNT8eKLL+LSpUu4dOkS/va3vyE1NRUHDx5UO41EREREXuXWWma33XYb2rdvjxUrVogdl69fv46JEyfihx9+wK5du1RPqNbYh4iIiMj/qN6p2lpYWBgOHTqEzp0727z+7bffomfPnqisrHQ9xTrHgIiIiMj/eHVx14iICBQXF9d7/cyZM2jevLk7uyQiklViqsKewosoMVVpnRQiaqDc6lQ9YsQITJgwAX/5y19w6623AgC+/PJLzJo1Cw888ICqCSSiwLZ2XzHmrTsCswAEGYC8YekY0StJ62QRUQPjVkD0l7/8BQaDAaNHj8b169cBAI0bN8aUKVOwePFiVRNIRIGrxFQlBkMAYBaAJ9cdRXbHaMQbpdchJCJyh1sBUUhICF566SXk5eWhsLAQAJCamorw8HBVE0dEga3oYoUYDFnUCgJOXaxkQEREqnJ7HiIACA8PR3p6ulppISKykRLVFEEG2ARFwQYDkqP48EVE6nIrILp69SpeeeUVfP755zh//jzMZrPN+5yLiIjUEG8MQ96wdDy57ihqBQHBBgMWDevK2iEiUp1bAdGECRPw2Wef4f7778dNN93kdNFXIiJ3jeiVhOyO0Th1sRLJUeEMhojIK9wKiDZs2IBPP/0UvXv3Vjs9RET1xBvDGAgRkVe5NQ9R69atOd8QERERNRhuBUR//etfMWfOHJw+fVrt9BCRBjjxIREFOreazHr27ImrV6+iXbt2CA8PR+PGjW3ev3TpkiqJIyLv48SHRERuBkQPPPAAfvrpJyxatAixsbHsVE3kpzjxIRFRHbcCoj179iA/Px+ZmZlqp4eIfIgTHxIR1XGrD1Hnzp1RVcW+BkT+zjLxoTVOfEhEgcitgGjx4sX44x//iB07duDnn39GeXm5zT8ikqa3zsuWiQ+Df2325sSHRBSoDIIgCM43sxUUVBdH2fcdEgQBBoMBtbW16qROR8rLy2E0GmEymRAREaF1csgP6bnzcompihMfElGDpLT8dqsP0eeff+52wogCkd47LwfKxIclpioUXaxASlTTgDheIlLOrYCob9++irZ79NFHsXDhQkRFRbnzNUQNBjsva0/PNXREpD23+hAp9c4777BPERHYeVlrcjV0eunLRUTa82pA5Eb3JKIGiZ2XteWoho6ICHCzyYyIXMdV27VjqaGzDopYQ0dE1rxaQ0REtuKNYchKbcVgyMdYQ0dEzrCGiIgCAmvoiMgRBkREpEveGCIfKNMLEJHrvBoQ/f73v+ckhkTkMg6RJyJfc2umagAoKyvD119/jfPnz8NsNtu8N3r0aFUSpyecqZrIN0pMVei9eHu9DtC75/Zn7Q4RucyrM1V/8sknePDBB3HlyhVERETYLOFhMBgaZEBERL7BSSyJSAtujTL74x//iPHjx+PKlSsoKyvD5cuXxX+XLl1SO41EFEA4iSURacGtgOinn37C448/jvBw3qCItFBiqsKewosNcqZlDpEnIi241WSWk5OD/fv3o127dmqnh4icCIQOxxwiT0S+pjgg+vjjj8X/zs3NxaxZs/Dtt98iPT0djRs3ttn2nnvuUS+FRCSSW5Mru2N0gwsaOESeiHxJcUA0dOjQeq8tXLiw3msGgwG1tbUeJYqIpLHDMRGRdygOiOyH1hOR73FNLiIi73CrU/Xbb7+N6urqeq/X1NTg7bff9jhRRCSNHY6JiLzDrYkZg4ODUVJSgpiYGJvXf/75Z8TExDTIJjNOzEh6UmKqYodjIiIFlJbfbtUQCYJgMxmjxY8//gij0ah4P7t27cLdd9+NhIQEGAwGfPTRRzbvjx07FgaDwebf4MGDbba5dOkSHnzwQURERKBFixaYMGECrly5YrPN4cOHcdttt6FJkyZITEzEkiVLlB+sH2rIQ7KpTrwxDFmprRgMERGpxKVh9927dxcDkwEDBqBRo98+Xltbi6KionoBiyMVFRXIzMzE+PHjMWzYMMltBg8ejFWrVol/h4aG2rz/4IMPoqSkBFu3bsW1a9cwbtw4PPzww1izZg2Aushw0KBBGDhwIJYvX44jR45g/PjxaNGiBR5++GFXDt8vBMKQbCIiIrW5FBBZRpoVFBQgJycHzZo1E98LCQlBcnIyhg8frnh/Q4YMwZAhQxxuExoairi4OMn3vvvuO2zevBn79u1Dz549AQCvvPIK7rzzTvzlL39BQkIC3n33XdTU1ODNN99ESEgIbrjhBhQUFOBvf/tbgwuIAmlINhERkZpcCoieeeYZAEBycjJGjBiBJk2aeCVR1nbs2IGYmBi0bNkSt99+O5577jm0atUKAJCfn48WLVqIwRAADBw4EEFBQdi7dy/uu+8+5OfnIzs7GyEhIeI2OTk5eP7553H58mW0bNlS8nurq6ttOo6Xl5d76QjVwyHZRERE7nFrpuoxY8YAqBtVJrXafVKSOk00gwcPxrBhw5CSkoLCwkI8+eSTGDJkCPLz8xEcHIzS0tJ6HbsbNWqEyMhIlJaWAgBKS0uRkpJis01sbKz4nlxAlJeXhwULFqhyHL7CIdlEDU+JqQpFFyuQEtWUDzZEXuRWQPT9999j/Pjx2LNnj83rls7Wao0yGzlypPjf6enpyMjIQGpqKnbs2IEBAwao8h1y5s2bh5kzZ4p/l5eXIzEx0avf6SnLkOwn1x1FrSBwSDaRn2OfQCLfcSsgGjt2LBo1aoQNGzYgPj5ecsSZN7Rr1w5RUVE4efIkBgwYgLi4OJw/f95mm+vXr+PSpUtiv6O4uDicO3fOZhvL33J9k4C6vkv2Hbj9AdeAImoY2CeQyLfcCogKCgpw4MABdO7cWe30OPTjjz/i559/Rnx8PAAgKysLZWVlOHDgAHr06AEA2L59O8xmM26++WZxmz/96U+4du2auOba1q1b0alTJ9nmMn/HNaCI/B/7BBL5llvzEKWlpeHixYsef/mVK1dQUFCAgoICAEBRUREKCgpQXFyMK1euYNasWfjqq69w6tQpbNu2Dffeey/at2+PnJwcAECXLl0wePBgTJo0CV9//TW+/PJLTJs2DSNHjkRCQgIAYNSoUQgJCcGECRNw7NgxrF27Fi+99JJNc1hDx3mJiPyPpU+gNfYJJPIet2aq3r59O5566iksWrRIcrV7pTM579ixA/3796/3+pgxY7Bs2TIMHToUhw4dQllZGRISEjBo0CD8+c9/FjtFA3UTM06bNg2ffPIJgoKCMHz4cLz88ss2UwIcPnwYU6dOxb59+xAVFYXHHnsMc+bMcemY/XWmavZBIPJfa/cV1+sTyOuXyDVKy2+3AqKgoN8qlqz7D6ndqVpP/DEgKjFVoffi7fVGne2e259V7kR+gsu0EHlGafntVh+izz//3O2Eke+wDwKR/2OfQCLfcKsPUd++fREUFIQVK1Zg7ty5aN++Pfr27Yvi4mIEBwernUZyE/sgEBERKeNWQPThhx8iJycHYWFhOHTokDijs8lkwqJFi1RNILnPMi9R8K/NmpyXiIiISJpbfYi6d++OGTNmYPTo0WjevDm++eYbtGvXDocOHcKQIUPEWaIbEn/sQ2TBPghERBSovNqH6MSJE8jOzq73utFoRFlZmTu7JC9iHwQiIiLH3Goyi4uLw8mTJ+u9vnv3brRr187jRBERERH5klsB0aRJk/CHP/wBe/fuhcFgwNmzZ/Huu+/iiSeewJQpU9ROIxEREZFXudVkNnfuXJjNZgwYMACVlZXIzs5GaGgonnjiCTz22GNqp5GIiIjIq9zqVG1RU1ODkydP4sqVK0hLS7OZHbqh8edO1URERIHKq52qLUJCQpCWlubJLoiIyAtKTFUouliBlKimHFRBpIBHAREREekP1zAkcp1bnarJO9xdlZ6r2RORRYmpSgyGAMAsAE+uO8r7A5ETrCHSCXef6JR8zlHVOavV9YG/A6mFaxgSuYcBkQ7IPdFld4x2eANT8jlHAROr1fWBvwOpybKGoXVQxDUMiZxjk5kOOHqi8+RzjqrOWa2uD/wdSG1cw5DIPawh0gF3n+icfc5RwCRAYLW6DrB5g7xhRK8kZHeM1uUahmweJr1iDZEOuPtE5+xzloDJmiVgcvQe+Q5/B/KWeGMYslJb6SroWLuvGL0Xb8eoFXvRe/F2rN1XrHWSiEQeTcwYSHwxMaO7q9I7+tzafcV4ct1R1AqCGDBZ9yGSe09vGvJTpT/9DkTuKjFVoffi7fVqtHfP7d/grmnSF6XlNwMihfx5pmpHAZO7QZgvBUKnY3/4HYg8safwIkat2Fvv9fcm3YKs1FYapIgChU9mqib/EG8Mky1kHb2nB+6OwPM3ev8diDzF0W+kd+xDRLrm7gg8ItIXjn4jvWMNEekanyqJGg49j34jYg0R6RqfKokaFj2OfiMCWENEDuhlZBefKomIyNsYEJEkvY3sYqdjIiLyJjaZUT3fnLmMuR9yOQkiIgocDIjIxtp9xRj62h7YT07FkV1ERNSQMSAikWXOH6mpOjmyi4iIGjIGRCSSmvMHqMskHNlFREQNGTtVk0hqzp8gA7D+0VuRmdjSJ2nQy8g2IiIKLKwhIpHUnD95w9J9FgxxJWwiItIKa4jIhlZz/kitWTZv3RF0jmvus4CMAhNrJYkIYEBEErSY80eq/5JZAIa+ugeLhze81e1JH/Q23xYRaYdNZjpWYqrCnsKLDWb+H0fHY+m/ZE8A50Ai75CqlWReIwpcrCHSqYb25OrseCz9l6wLKAvLHEhsziA1SdVKMq8RBS7WEOlQQ3tyVXo8I3olYf2jt8K+oohzIJE3SNVKMq8RBS4GRDrk6MnVH7lyPJmJLbF4OFe3J++TGlXJvEYUuNhkpkNS8wH585Orq8fD1e3JV5jXiMiCNUQ61NCeXN05nnhjGLJSW/ntMZP/YF4jIkDjgGjXrl24++67kZCQAIPBgI8++sjmfUEQ8PTTTyM+Ph5hYWEYOHAgvv/+e5ttLl26hAcffBARERFo0aIFJkyYgCtXrthsc/jwYdx2221o0qQJEhMTsWTJEm8fmsdG9ErC7rn98d6kW7B7bn+/7lANNLzjISKihkXTgKiiogKZmZl49dVXJd9fsmQJXn75ZSxfvhx79+5F06ZNkZOTg6tXr4rbPPjggzh27Bi2bt2KDRs2YNeuXXj44YfF98vLyzFo0CC0bdsWBw4cwAsvvIBnn30W//d//+f141PC0VD0hvbk2tCOh4iI3FdiqsKGw2fxyTc/6WLQkEEQpNY29z2DwYD169dj6NChAOpqhxISEvDHP/4RTzzxBADAZDIhNjYWq1evxsiRI/Hdd98hLS0N+/btQ8+ePQEAmzdvxp133okff/wRCQkJWLZsGf70pz+htLQUISEhAIC5c+fio48+wvHjxxWnr7y8HEajESaTCREREaocs5Kh9ZxFl4iIGpq1+4ox98MjsAQgBsBrk/AqLb9124eoqKgIpaWlGDhwoPia0WjEzTffjPz8fABAfn4+WrRoIQZDADBw4EAEBQVh79694jbZ2dliMAQAOTk5OHHiBC5fviz7/dXV1SgvL7f5pyYlQ9H1vrZXQ5s4koiI3Ke0TLCUf9a1MQKAeR8e0bQ80e0os9LSUgBAbGyszeuxsbHie6WlpYiJibF5v1GjRoiMjLTZJiUlpd4+LO+1bCm9TlZeXh4WLFjg+YHIcDYpnFzAlN0xWvx805BgVNTUalJ71NAmjiQiIve5UiZIlX8AYAY0nRhVtwGR1ubNm4eZM2eKf5eXlyMxMVG1/Tsbii4XMK36sggrvyiyec/XAYmjYI3NekREgcXVMkGq/APqmqy0nF5Gt01mcXFxAIBz587ZvH7u3Dnxvbi4OJw/f97m/evXr+PSpUs220jtw/o7pISGhiIiIsLmn5qcDUWXmkU3yACs2FVULxP5eiZrTyeOZFMbEZF/cXTfdrVMsJR/BqsyzgAgb3i6pg/Vuq0hSklJQVxcHLZt24Zu3boBqKul2bt3L6ZMmQIAyMrKQllZGQ4cOIAePXoAALZv3w6z2Yybb75Z3OZPf/oTrl27hsaNGwMAtm7dik6dOsk2l/mKo0nh4o1huK97a3x48Cfxtd7to/DF9xcl9+XLNZg8mTiSTW1EtjhwgrRgne8ASP63JT86u2+7UyZYyr+Dpy9DEIAeyS01z/+aBkRXrlzByZMnxb+LiopQUFCAyMhIJCUlYfr06XjuuefQoUMHpKSkYP78+UhISBBHonXp0gWDBw/GpEmTsHz5cly7dg3Tpk3DyJEjkZCQAAAYNWoUFixYgAkTJmDOnDk4evQoXnrpJbz44otaHHI98cYwyUxQYqrC+kM/2by2WyYYAuoyqa+qGi3R/ZPrjqJWEBRPHMmmNiJbfEDwHQaev7HOd5ZKGgG2/23Jj9kdo53et90tE+KNYcjN0M9voWlAtH//fvTv31/829JnZ8yYMVi9ejVmz56NiooKPPzwwygrK0OfPn2wefNmNGnSRPzMu+++i2nTpmHAgAEICgrC8OHD8fLLL4vvG41GfPbZZ5g6dSp69OiBqKgoPP300zZzFemRVBWko/kRBAHY9d8LPruZurPkQUNbXZw3WPIEHxB8h4Hnb+zznf1ILwtLflw6MlPRfbshLIOjaUDUr18/OJoGyWAwYOHChVi4cKHsNpGRkVizZo3D78nIyMAXX3zhdjq1INfpTI4A399M5Wq35DSkNdp4gyVPNbQHBL1i4GlLboSXlFpBQJDBoPi+7WqZoDe67VQd6Ow7XQcZfqvOlONKx2YtNJQ12pTMIUUNmxoDA6QGTvjrA4KeeToIRO9czYtS+U5OsMGAG9u2dPu+7W8DaHTbqZrqV0Hu+u8FsY02yFDXTGZ9nfvDzdTfq1UtU83zyT5wqVU76G6/C3JNQ6qZtudOXrTPdwYDgF/LEuv/ts6P1vft8JAgVNTUosRU5TCv+mMtum6W7tA7byzd4Y4SU5VkgGTJvHrPcP7M+gK3F2wwYPfc/izMGrgSUxV6L95er3D15Le3vqaZf7xj7b7iBnev9DQvWuc7AJL/bb8fpUGON64TTygtv1lD5Ges22j1UtsSCJ2L7ZvJrPHJPnB4o9+Pv/e78Ad6uVcqofR+6kpelNqnfb6T+2/rfSjti+Wv/eMYEPk5rW+m/lgt6g65jojzc7vgzox4XV/kpJ6G3PzS0Gl9r1TClfup0ryo1j3alSDHX68Tdqomt1j60sz9MDA6F8t1gNUyGPK3DosNQUMZGEDas79+XR2soSQvqjkAxJVBAP56nbCGiFzmqC+NVtWi3m6281UHWKXHESg1c3rkT80vpE9S129iZLjLzUzO8qKaTVeu3gP98TphQNSAeSNIcNSXBtCmWtRXwYG3L3BXOixyXhVt+UPzC+mT3PW77tEsl5qZrO/vWamtJLdRu+nK1Xugv10nbDJroNbuK0bvxdsxasVe9F68HWv3FauyX0eTemlRLerrOYHijWHISm3llZohpcfR0OdVIWrI5K7fyhqz4mYmpfd3bzRduXoP9KemfdYQNUDerEGQeuIIMgAvj+wuuzifJzVVzj7rr6MZ7AVCh0WihsSVxVGtObp+s1JbOa2BcfX+7s2abWf3Z39r2mdA1AB5M0iQa0e+KzNBcntPLghHn7VciE1Dgv0mOHB083AlyOGEfkTacmVxVPv7nbPr11kzkzv3d280Xdnfnyf0ScH4Pini9/hj0z4DIj/hSi2Lt2sQlD5xeHJBSH123odHkN0xGrv+e8HmQryve2t8dOis14IDNfpiOQsMG3KHxUCYp4oaDmf51dXFUaXud55cv3qoIZa6P6/4oggrvyjC4uF19zZ/rL1nQOQHXK1l8UUNgtQTh/2NxJMLQuqzZgCvbDuJf+4rtrkQPzp0FusezcKZS1WAAejRtqWHR/cbNap8lQaGDbHDor9VmVNgU5JfXV0cVe5+5+71q4caYrlzYL3IuB4CN1cxINI5d2tZnBWucu3fataAZHeMdvuCSIlqil+X1bFhHQxZ1AoCNh4uxcrdP6ha8KpV5etKYOgPQY5S/lhlTg2fo74/SvKrVEEvx1sBgNY1xI7OgeXelpXaSvPAzVUMiHTOk1oWucJVrv1b7RqQ3XP7u31BxBvDMOm2FPzfF0U2r1vSbH1KggAxGLL+fk8LXrWqfL35pKTn5ih/rDKnhs3RvW9CnxTJ/Hrw9GW0bPrbNWZfQ2PN8Ov/CELdNT57SCcUXawAIL0chie0fHiynAOpKVis721aB26uYkCkc2oXpo7av71RA+LJBTGuTwpW7i6qd+yzB3fCks0nxCBrQp/keoGTGgWvWufeW1Xcem+O8scqc2q4nN373thdVO9hy2AApq05VO+BcUSvJJRVXcPiTcch/Hr9TezTDuP6JAOoWxz18I9leH7Tca9dn1o/DFnu7au+LMLKXUUwQ3pYvz/VejMg0jm1C1Nn7d/eqAFRu618RK8k3NMtwWZ1ZqnAyVnBK3dDsX5drXOv9pOSPzRH6aGvA5GFs3ufWQAezk7BG1+cQq0gIOjXmh7B6n3LNQYAz/8aDFnee2N3Ecb1SRbz94Mrv3Lp+nQlwNHLw1C8MQxP3pmGcb1TcODUZdX7cPoaAyI/oGZhKtc3x0JPNSCA/LHbB1mufr/cDUXq9d1z+6ty7tV8UvKX5ii9VJlr/TRN2nPW9yfYYMC43ikY1zsFpy5W4uKVq3jsvQKbbSzXmADB4fXn6vXpSoCjx4ch+5G/equtVooBkZ9QqzD9y5YT9YIhS4AUBPi0BkRpIaXk2Ef0SkLnuObYd+oyeiW3RGai/FOK3A2lc1xz2b5QclPja8WfmqO0rjLXy9M0acv+wc2+v4/9XEAlpiqH15ij91y5Pl0NcPT2MKQ0/f7wUMKAyE+5k7m+OXMZHx78qd7r4rVlqPeWS1wp+NQupFzZn9wNZd+py7q60TjC5ihl9Pg0Tdqxf3ADIPsQ5+wacza5otLr09UAR28PQ0rS7y8PJQyI/JC7mevrU5ccvu+rwsJZIaU02LOerVquxqeiprbefo78ZKq3r2CDASkyN5TwEH0u+aeX5ig909vTdENlf816c7keT9k/uLk7fYmz608q+NpTeLHecbka4OjtYchZ+v3poYQBkZ/xJHPdlBzpdP++KCwcFVJK26Lth8/aNwPWCgKGvrqn3uiQElMVnt90vN7+Zg/uhMqaWsn0VtaY3TtQH9C6OUrv9PY07a8cBSn2D2j3dW+N9Yd+Eq/NuUM645G+qYq+R481CY6uMWfXn+V9R8flToCjp4chZ+n3p4cSBkR+xpPMlZnYEsNvbC3ZbGbhi8JCrpAKDwlS3BYtN3zWmtToELmRJj9XVOP5zfUDJS0LT39oc9c7vT1N+yNnawraX7PW9xcBQN6m44ABeCTbcVDkTzUJFkquUSXH5U6A487DkLfuKY7S708PJQyI/Iynmeuvv+uG0Vltsf/UZfRMbonjpb/4vLCQK6QqamoVBXtyQY3lvEiNJLHsR+r8BRmAFbuK6gVWnnQy95SnT8rWzYlSzYaBRElho2ZB0ZACWWeFudJlLJ7fdBz3ZCY4PB/+VJMAOF/c1ELpcalR2+tKTZ7atW9y6fenhxIGRH5GjcyVmfjbKKzMxJaaVL1KFVLORnUAdRf8pYqaes1kwQYD1j2ahcoaM8JDgnDfa3sk9yN1/sb3ScYKu4kdAeCVUd2Rm5Fg85ovCjtPn5Stb3wWeml+0IqjwkbNgkKPTT6Aa/nWeltnhbnSZSzMApwGNv5Uk6BkcVMLXx2XqzV5vqx901MTnyMMiPyQ2plLq34oUp0bHQV79v2GLEGRZTtLkFdiqsKEPil449fJGu33I9XZ8Q2JiR1vtJtgzFeFnSdPyvY3Pgu1boANqfYDULeg0LrQsaTB/vdxJd/abztncGenk67aX7ODbojFpqOlNvtVEgD4oiZBrfyrZHFTd0acucudmjxf1r75y32DAZGfaqidaeWCPal+Q0EG4JWR3dEjuaVs0PRwdt1Ea1JDaq1fc3bD8rSwc+WG4MkTpaMmDE9vgHIL+PrDjU6OmgWFs325Wktz4PRlCIKAnsmRipr55H4fpflWKo8v2XwCc4Z0xpJNJ2SvDalr9vVdheKyFa4EAK487LlayKr5QKNkcVNXRqR5yp2aPF/Vvum11lQKAyKdUnMYq17JHZNUsCd1wZsFoLT8qs3+7IOmN744hXG9U5ymxdkNy5OC01lVtv058OSJ0tGNWs018MwCMPfDIzBY9dvy1Y3O2bUgt5q51LZqFhRy0zkkR4W7XEsz98MjYpOwAcDcOzsjvbVRNviZM6SzGIAAvwU+S0dmKs63cnk8o3ULp7O121+zj2Sn4p7MBLcCACUPe64WsmrX3lmuUWeLm7p6XO5SsnySFv149FBr6goGRDrkaBir3iNspVy9ockV9M9t/A6LPv0OecPSkRgZ7tHTvqMblrsFZ4mpyqZws74hOJpiwN0nSvsbn3Va1V4DTwBs1nJSu8bMneYfR6uZS+UxRwWFqzU6ctM5AFA0T1aJqQr7T13C3HVHbPrHCQDyPq3btwHAo/1SsWxnoc3+rIMhi7r1uAyK862jPO5OYe6tAMDVQrbEVIUNh8+q3mSkdHFTX1AS8GjRj0frpjpXMSDSGWfDWPUeYTtjaQqQCxLkjkmuoLf+/LpHs7xWLezuE9abu+uPXqsVBBw4ddnpTd3dAsX6xhceEoTKGrMqa+A56zyrRo2Zo22cNf84W81cLo9JFRSuBuxyTZUZbVrIFgpDX9sjrpRu/dDjiADg1R2F9V63BIDWH7f0g1Oab7WqRXCVK4Ws1AADCzXuDfHG3xY31brDsJKAx9ddLfypozzAgEh3lAxj1XOE7Yijm5OSY7Jc8BsPl+C5jd/V+3xljdnmhh4EYEKfZNXSn90xGktHZiLo14JGSa3BG7uL6r0eBAAOpgYAHDfzKOGNG9/EPilY+UXdk3AQfq0hsno/yABFNWbOAkG5bZw1/zi7dqTymHUtkGW9Oneq+Z3d+KWCSevaNUdzgykRbDBg9uBOWLK5fl8fV2oG/GE0kNJCVm6AgWV7NYM9R9ebL2ft1lvfUn8Jsi0YEOmMkidxPUfYchzdnADlxxRvDENuRjwWffqd5A0xK7VVXTX27lNYufsH/N8XRVi5u8ina6VZyBXQE7NT0KNtS8mb+uGfyvDgyq901Txqf+wP92mHcX2Sseu/F+qadyw1MgLwccFZpLcxyt7AlTzdy23jrPlHyWrm1nlM7jd1p5rf2Y3fPlBXY+5zy7FavmtEryTc0026344rBaXeClV7SgtZuetvfm4X3JkRbxOAe6t/picdirXojOyNc+EPQbYFAyKdkbrYh3ZPwEeHzvpFhC3H0dO7q8ek5Ia4cvcPqnXkc7djoNwkkJZRb/bHMHtwJ8mOsVo2j0od+xu7izCuTzKyO0bbVBEJ+HVWYsjfwCXPCWxrluRqAOybf4IMwHirGkD7c2r4tQ1JgG0ec9Zsq6QGQqrgULruldQ8WfaCACwcegNahIXgu5Lyes1k1vNuWX+XN/vt6GlQh5JCVu53tA6GvBl0eNKhWIvOyN48F3oPsi0YEOmQ1MX+RE4nv4iw5cgFBy/bDZtXytENUe2OfO7uz1ngZn8MvuqA6ErhduD0Zdk0CRBkl02Ru4Fbzol1MCIA2PXfC4rWdrLuyLpiVxFWfFGEN6xqAB2tZg4A/7vx23pzTtkfV1Zqq3qB1+whnZwWos7Oq3WhoOShx3I+7spMQER443rD2C3zbnmbXodNOytknV1/3g46HF07zvbv687I/jYazFsYEOmU/cXuLxG2HLmb012ZCc4/7GCfrjwZutvM6Mn+nD3J2h+DtzsgujP8256zvjEWcjfw7I7RMBh+60MjwPW1nVZ+USTbKV/q2rEfyi7F+rhG9EpCWeU1LP41CHl+03G0CGss27G7rPIant983Ol5tQRN2R2j6w1ll3rosWx/T2aC28PY3WG99IsvC0q1a6I8fXByNz1Krh1HfN0Z2d9Gg3kLAyLyGV+1JavdkU/Jk6bSmgFfptueK0+Blm3tA4ggA2T7xtiTu4F7uraTqzdvuWOxT6v9b/r85uP1gq6XHugm+d2LN9Xf1v68OgtG7Y9Xq5oZm6kLrAJXC28VlN46XncfnNxNj9Jrx1mafdkZ2d9Gg3kLA6IApkW/AF/VdKkdfMntT+2buDeDRlcCCbk+X9P6t6/rOySR3sM/lTmc0di61sGTm6+rN29H/dfkmm3lzhWE+rVi9sPdLdva1zS4OneOFk0Y9aYukBmhpXZBqXT0oZr3K0dBhyfnXy6/vTyyu0s14r56gLScV2czkgcCBkQNnNxNpCEuw2BP7eDLfn/eKrS8FTS6EkjIjdh6eftJ/P3zkzaBnyW9WamtZJt1pCYbdXeggKtPz3LHYsn3UoWU3LnqkVy/Y7dU4Wc/BYGrtVpaNWHIFeaWkXHeKiidHa+3ao/kgg5Pzr+jvOMqbz9ASq1dl9GmhZh39xRebDDlgRIMiBowR50/6y3DsO6IOCJHi46TehvFooS/tbu7EkjYb2vNUeAndQOXym8fHTorOUpKKVeenu2PJQh1Ux9IrXEn9xm5eX0+/uYnvPf1mXqfn9innc2+Xa3V0qoJQ+57PfmtPPne5Khwr9eWSeVZT86/r5u73CW3dt3uuf1tZtEHgFE3JeKxAR10dwxqC9I6Ac48++yzMBgMNv86d+4svn/16lVMnToVrVq1QrNmzTB8+HCcO3fOZh/FxcXIzc1FeHg4YmJiMGvWLFy/ft3Xh+JTcjcRS+BhX5D/2hpQb1tfWLuvGL0Xb8eoFXvRe/F2rN1X7JPv9ZTlpmlNrUKrxFSFPYUXVf8NRvRKwu65/fHepFuwe25/h0GvZduncrvUe896Ekln5ALHyhozslJbedS3S+nnrY/7y3m348k705x+ztG5ijeGITkqHP+UCIYMAMbZTQhqKSSDDXUZxlkh6er2apH73szElh79Vvbs87ej43X04OEtnp5/V64zrcid14OnbWfRB4A1X5/BrXn+c292l1/UEN1www34z3/+I/7dqNFvyZ4xYwY2btyI999/H0ajEdOmTcOwYcPw5ZdfAgBqa2uRm5uLuLg47NmzByUlJRg9ejQaN26MRYsW+fxYfMXRTUTNZRg85c/DPb31JOjtzrSuVMPHGx1PhKmEXjpsKj1u+9pKuc/sP3VJsqP2AzcnSvZ7cbVPiFYT2nn7e+Xyt9z3apV/PD0Pvuov6S6582oWBMmyQQAw78Mjqtyb9doi4BcBUaNGjRAXF1fvdZPJhDfeeANr1qzB7bffDgBYtWoVunTpgq+++gq33HILPvvsM3z77bf4z3/+g9jYWHTr1g1//vOfMWfOHDz77LMICQnx9eH4hNwEeD9XVCM5KrxePwjrGiLAdwWWvzU72VO78HAWIKp5I1G6L08DP39pQgBcC0YNBoPk671To8R9WYb6GwAsHl63L1eOW+1C1ZXf3Bu/j7P8LfW9WuYfvQc1npA7rz2TIyUHCgB1/cg8vTfrdV4rwE8Cou+//x4JCQlo0qQJsrKykJeXh6SkJBw4cADXrl3DwIEDxW07d+6MpKQk5Ofn45ZbbkF+fj7S09MRGxsrbpOTk4MpU6bg2LFj6N69uxaH5HX2md2SwaetOSRmQut5UHb990K9CwPwfqc6vdQeeMKdm6ZcweQoQLRu1/f0RuLqTcnTwM8fpu93tbayR9uW9QoOgwG4sW1LlJiq6k0+OVfi6dqXT8ruTiipJlcegDypXSNl5M7r3CGdxVnnrdnPKu8qvbcI6D4guvnmm7F69Wp06tQJJSUlWLBgAW677TYcPXoUpaWlCAkJQYsWLWw+Exsbi9LSUgBAaWmpTTBked/ynpzq6mpUV1eLf5eXl6t0RL5jyewHTl3G4/88VC8T7p7bX1zQ0v7C2PXfC+i9eLvXo3h/qj1Qi6NgRC5ADA8JUu1G4u5NSUng56hw1fvTtqu1lfHGMCwenl7vt4w3huGTb36q94QtADhw6jLuyvTOlA2OyP3mZVXXxBmwvZkGV6dckDs3Ur+DXptf/IXUdflI31TAACz+9Lf5tQwA8oane3SO9d4ioPuAaMiQIeJ/Z2Rk4Oabb0bbtm3xr3/9C2Fh3juBeXl5WLBggdf27yvxxjBENnNtIjypm+e8dUcQHhKMnsmRDjOuOzcnf3v683T1amdNBlIBYkVNrWo3Em/dlPRcFa6EO7WVcnlXrjnN8rIn15g75H7zxZuOi3MNeetp3dGUC0EAJth1QHclYNdDrVdD9Uh2Ku7JTMDB05chCBCnDVDaaiD1G+i9RUD3AZG9Fi1aoGPHjjh58iTuuOMO1NTUoKyszKaW6Ny5c2Kfo7i4OHz99dc2+7CMQpPql2Qxb948zJw5U/y7vLwciYmJKh6J76gxkZ1ZAB57r8BhQedJgaj32gMLpcfoTpOYZTupQrbEVKXajcQbNyW9V4Ur4W5tpVTeddScBrh/jblLrk+ht5/WHU25sPFwKVbu/gH/90URVuwuwtwhnfFIdqrigF3rWq9AUDeowvUaTUc1fHpuEdD9sHt7V65cQWFhIeLj49GjRw80btwY27ZtE98/ceIEiouLkZWVBQDIysrCkSNHcP78eXGbrVu3IiIiAmlpabLfExoaioiICJt//srVIaRSw8kt5IbkOxrm31AoPUZH0wgoHapvP6RcyW+odKi+N4Z0e3NotLemIJCi1nBpS3Oa5bcOMgCLh6XXe1KW4uq1o+T8SP3mc4Z09tq0ERZy+eLMpSqs3P2D+J4gAHmfHsfrOwsVXyOOar0a8n1IC67c351tq+cpCXRfQ/TEE0/g7rvvRtu2bXH27Fk888wzCA4OxgMPPACj0YgJEyZg5syZiIyMREREBB577DFkZWXhlltuAQAMGjQIaWlpeOihh7BkyRKUlpbiqaeewtSpUxEaGqrx0fmOJxPZ2ZN6WtN727AalC4G6U6TmJJz5Og39GYnaSXND96qCteiGU6t2kpH59ida0yK3Eg2Z+kJDwlCRU2t15drkMsXkJn2Y/Gm47inW4Kia0SrWi+taNkM6OmyP/bb6rVFQPcB0Y8//ogHHngAP//8M6Kjo9GnTx989dVXiI6uW0/pxRdfRFBQEIYPH47q6mrk5OTgtddeEz8fHByMDRs2YMqUKcjKykLTpk0xZswYLFy4UKtD0owrmdBy8zx4+jKmrTnkdEi+3tuG1aDkGN1tElNK6jf0ZidppQGJWlXh1jd9AJLH1TmuOSpqanXfP8RZAebqNSa1fyUj2azFG8PqjVa0Xq5B7fMply96tG0puXCsAGDV7lN4MreL02tEat+zB3fC85uP6/4+5Gpwo3X/PGcziVsfiz+XBQZBkFq+j+yVl5fDaDTCZDL5dfOZO9buK653Q5PrQ6RkO3/m7BhLTFXi6DyLYIMBu+f291rhvafwIkat2Fvv9fcm3SKOInSHO8dSYqpyu3O8/U1/Qp8UrPiiqN52loJUz/1DXC3A3Ll2PvnmJzz2XkG91//+gPwiolrkT8v32ueL13cVIu9TiaHdBuDLubcrTo/9vq3PpSUfje8jv0yLr7maN7T6zexJ5VEAkscil5+1quVSWn7rvoaItKe0RsPfRou5w9kxatFp0FtPZO40g7pbFS5Vy/XG7iLJCeK8MSpK7QkvXa2xc+facTaSzZIW6+NSs2nblXMmObQ7OxWnL1Zgjd3yJ2ZB2eR/1t9vHfhbzuWqL4uwYlcRVnxRhDd2F+kieHYnb+ilO4J9HgVgE6hZH4tUfta6lksJBkSkiNKCTq9tw2pydozeCAydze/jjSDMl1XfcqOuHs5OwRtfnBKHaJvtPqfH6QLcLcBcvXacjWSTOq7sjtGq/KZqnbPHBnTAP/edUZQe62tAySSlK78oqrc+o9ajHt3JG3pqgrLOo3sKLzo8FuttlQSCepgqgQEROaWHjOpv1AwMlRQ+3gjCfFnbJXfTH9e7blV6S0fg+17bo6gfg1LemC7AVwWYZSSb1MSQcse1e25/j39TNc+Z0jxmfw1ILUZt/f16qVWx507e0OtQdVeOxdnvoZfaIwZE5JBeMqo/UiOQdKXw8UbtnK+aQZ3d9C3/L7WNJ0uaeKPg9GUBJvf7ODouT39Ttc+Zs/RIXQP2rKd4cGVGbF9zN2/osTuCK8firFO2XuYwY0BEsvSUUf2NWoGkHp50fdUMKjUsvMRUZfPdrvRjUJJmpU+5rga3vizApH4fZ8flyW/qjRowR+mRugbsBRsMOPxjGR5c+ZV4zVnPiK2XWhXA/bzh6+4ISvK80mNxFDw5a3rzJQZEJEsPhbE1bzfdqbV/NQNJPfUfcEStcxdvrD8s3D6YdKUfg5Lvc/aU625w640CzJXV6r1RS2X5/jmDO2PJZu/NX2RN6hqwFmwwYPaQTuLs1IDtjNiVNWbZAFsreu9r6UqeV3oscsGTnu5xDIjIhvUNV08Z1dtNd2ruX81AUq/9B5R0cLUvvJ39bdmvK8HkkZ9M9V5zNY86esrVUy2pNyffdOf75wzpjIzW3pm/yFq8MUx2Cob5uV1wZ0a87DVXWWNG8aUKNvu7wJt5Xip40tM9jgERiaRuuHrIqN4ulNTev9qBpN76D1jnE8sIb/sOrmWV18QJ8izNF+sP/ST7t6WQciWYLDFV4flN9eexmT24k1uBp9RnvF1LqrTGx34SRrMAzF3neBJGwPWaCLn0SF0jSzad8NlcOOP7pNiMGgPqrqk7M+IRbwzD+fKr9UbcBRsMCA8J0k1A62vu1tpq0TKgl3scAyICIB8U7J7bH7vn9tc0o3r7AlV7/9544tFLFbt9PpFqxRBXUf/1b7MAfHjwJ/F9qb8thZSnI1cAIKNNC9cPTIY3a0ldqfE5cPqy5HxMB09fFhff9GZ6tG4+t4yok7qmLOm2D4YWDeuKippaXTX7+4onNd5atQzo4R7HgIgAOL7hWS8y6i5P+ph4+wL1xv718sSjNiUdXB3195BjndfUGLmiFm/2xXGl5kJuQQG11hlwlh49NJ9LXVP26Qbq8t+6R7MQE9EEB05flqw50lsfPDV5WuOtpyYsX2NARAC0fRJ2Fix5+wL11v718MSjNql8YkDdhIBmQbqDqxLWeU2NkSuesM+P3ghuXa1x6ZkcWX8SRgA9kls6Tb8a6dFLIWl/TclN6LnxSAlWflEkNutazl1DLtwtv/ulihqXa8V8kef9AQMiAqC8cHH1ZuvsaUVp1a63L1B/vgH4cuJMuXxif+5ahDW22WZo9wSxz5C9IAPq5TVPR664S252Z7XPr6sPIJYmo3kfHoEZdau65w1Pr5ced5tKlKTHnXPt7bwpueK9AVixq8hm0dsgA/DKyO7okdxSMh2O+k75w6S09v36XKkVk8szDfGBzhku7qpQoCzu6mhxTiU3W/sbiKOFR5OjwnWxaKE/02riTCWLuNpv882Zyxj66h6bG3UQgBVjeiAspJHbhY6a0yXY50fr2i+1z687C7o6Ou+eLgKq9oKcvsqb9uke3ydZckSa3GLHcun0l0lpneVbR3lLLwvHehsXdyW3yD0VKGmXdnXtJG901PSXJzqlHB2PlkPClTw92m+TmdiyXsfYod0TMOntA24XOt6eLkGAdxaTBdyrcXF03j29ntRckNOXeVNqss43dhcpqn2TS2fnuOZ+MzpNLt++MrI7WjULdZi3tO4srzcMiEgRZxeOu2snqdlvyV+e6JRydjyuDlHXQ6BoPxu19dpkrhY6vpguwZ59nvf0nKrZLNE0JBgGg21Ha1evJ+v0eHJ+fV3Q2p9Hpf2d5NK579RlvwkU5Jo75ZoHlXy2IXc6d4QBESni7MJxZ+0kNTtq6mkCPTUoOR6lNzO9BYqWwsvTWaaVBOmuBCz2+TEIv9YQWW1jOb/eOqeeNk/ZB0OedCD2JKiR69tz8cpVn8wWrbT2Te4a6pXc0m8CBU/uo3rpLK8XDIhIEWcXjrtrJ6nVKbahVf0qOR4lNzMlgZVWtUeePp06+ry7AYt9ftz13wv1zi8ArwTfajVPAXV9s9Y9moXMxPqj0JTy5Pexz5uWmqvH3ivwWVCutFlX6hrKTGzpV4GC3H1UzfXIAgEDIlLM0YXj6VOKKyM/pDS0ql+lx+PsZuYssNKy9kiqRmZCn2S3P69WwGKdH6XOrzcWo1S7ecoMoLLG7FZaLDytPbCcu4OnL2PamkP1ZjNXs/bWk6Be7hryRqDgzYcP+/uoq+uRAXV5yfrvQMOAiFzi6KlLzRuIqwV1Q6v6deV4HP0mjgIrPTQzWvLMqt2nsHL3D/i/L4qwcneR2zU63ghY7M+vN4JvtZun1HoY8PSajjeGoWXTinqzbKtZe6tGUC93DanZx0uNdLqy1Isr17bemtW1EqR1AqhhiTeGiUNb9xReRImpyulnSkxVNtvKXczO9jWiVxJ2z+2P9ybdgnWPZiExMlzR9ytJkxasj2f33P5u3aAsgVWwoW7VMevAylEh7Gsrd//g8u9tYclz9s231tSsLXR0Tt3lSZqVpsfdPG1/fl3lzd/D3XuFr6mRzrX7itF78XaMWrEXvRdvx9p9xbLbunJt+8s59AXWEJHqXHnakNo2MTLc7afleGOY7Orr3ki/t6nxhCr3lC/X8TU8xLfPSf6wlpy1ElMVEiPDse7RLFTWmFVpTlGrecqTOcSccbe5x5u/h7/0HfQ0na7W+Hi6JqAez6EvMCBqAPQypNqSFqUXrty26x7NcrsJwNNmID00I3mDVGBlX1ABdcd732t7fBoE+tNaclKBhdRkf+5Qo3lKri+ep3na04DK02OTu8f5S99BT9PpatDiShDqadr0VP54ik1mfs6ValRfcKWqVm7byhqz200SnjYDeaMZSWlThdR23m66G9ErCesezYJ1i4avq8y90QRl2a8aCxNbeNK0oPR3VDvNgOd5Wq0mFVeOzfp8ObrHeSvvqM3TdLrT7Ki0yd2TtOmt/PEUa4j8mB5rM1x52nC0bVZqK7eeKL05lNsZqSclpU/WUtsB8EnTXUVNrVc7vSrhD0N/3W1a0LoJ1pu1E5b31awdsD5fgO26XFL3OFfzjlY1Gp7kcXebHZU2ubu7Tp3eyh9PMSDyY3ps+3V1dJSjbd3pP+NpfwV3Py+3bImSG4bUjWXeh0cAq0LMmzcbtZodPC1o1BzR4w3uzASth0LD02tCLn8c/rEMD678StVAT2pOJSXButK8Y78I6twhnfFI31SP0uwK+3QquWYs22R3jMbuuf299tDg6vWnx/LHUwyI/Jhe289dedrwRs2Ap/t054lTqtB76YFuim4YcvPI2JcE3rrZqNHpVetaEG9zdyZobxUargafatdOzB7SCc9vOq56oCd1vuy5e4+zv04FAHmbjgMG4JFs3wVFFjbBmeHX4MwuHXq+rvRa/niCAZEf8/ZoGk/T5kqtjCtpti8MpAoHT2sbXPm8XKEHQdlabZKjvQCbGiK5z6rFkwJTD7Ug3uTJTNDuFBrOgh13C0lPrgn7/CGX5w+cuozIZsoCNanjdLaeXJABbt/j5IKt5zcdxz2ZCarkVXfnCRIEIO/T44AAscZK79eVnssfdzEg8nP+0PdCTfaFwX3dW2P9oZ80fYJytLiikhuG3I0FgE9vNpYC09KhVWntQ0OsOrfmyUzQrhYazoIdXxaS9oW7fUBln+cNAB7/5yG3p9sY0StJPF/zPjwC+7MbBGD9o7e6vRxJSlRTm/5IFmYBquRVVwJVh8FZtwQAwIbDZ3V/XTW08ocBUQOg974XapEqDD48+JP4vlZPUI4KPaU3DLntfH2zcaf2oSFWnVvz9PiU5gElwY6vgk9n+cA+z1sWwvVkug3Ltvazl5uF35onPVmbLd4YhrlDOtc1k1lRI6+6Ot3IpYoayf2YAaz6sggrvyiSDJisZ5n3ZsdwJbXwFp7W8OsJAyLyG0r6F8gVDiWmKhw4fRmCIKBncqTqF6J9oQfAppZFyfdJbefLYNfd2oeGWHVuTY3jU/I7Kgl2fBF8Ks0H1nn+54pqTFtzyGHanR3nxsMlyM2IF8/Vk7ldMK5PsqoPBI/0TQUMEPs/Wf+WnhTUSgNV+07d9rezIAOwYldRvdeB39Lq6cSzznizFl7PfaIABkRkR8/Ru7P+BYB04bB2XzHmfnhEvMkYACwerv6FaLmR6/2il+OoX8hdmY7zgnXhGB4ShIqaWpSYqnSXh4Df8njTkGBU1NRK5nX768AXTQNKgh1fBJ+u1EJZN7N6Mt0GADy38Tss+vQ7m+vFWSDpzv3qkexU3JOZYPNbenrNKvntpDp1W6YWEn7dfnyfZKz4oqje/ufndsGdGfEAgN6Lt3utydSbtfB67xMFMCAiK3ovyKUKg6HdE/DRobOyhYPlIrS+9wqoG9burX4Xer7oHRUgcgXV4/88hIqa607zQrzR82VTvM1+jhugfjod9W/xdh8uJcGOt4MzpYW7dT7a9d8LNiPwDA46P9sfpzWp60Uuz8pNdaEkQLL+LdW4Zp39diWmKsk+QQKAV0d1R2TTUPH8vrG7qN65v/PXmjOlCxe7+2CrtBb+4OnLaNnUtf37Q19DBkQNlKsXhN4LcgupwuCJnE6yhYPcBW6GOh0p7en5olfaL8S+Q6uz/hCWfAZA13lIarQYYJtOQNtjUBrseDM4c1a42+ejOUM64/lNx20eOgwCxPMpxXKcGw+X4LmN39m8Z329yOVZqfvV3HVHAKEuyHAlGFfrmpX77aSCcItggwE3tm1p8z2Ozr2SYNWTB1sltfAGAzBtzSHZ8+zPy6wwIGpALBnxyE8msY1c6QWh54Lcnn1h4KhwOPKTSfL1IMArF6K7F70vOkkq7RfSNLSRov4g9jfeCX1SdJ2HHD39WtIpQND8GPQwSEKucJfKR9bzEVkoeeCIN4YhNyMeiz79TvJ6cZRnpX5L68omVwJZNQtq+99OLgi3fIerNYBKaqI8Ceid1cIH/ToxqeVw7PfvKBjzh76GDIh0yJ3CUe4pROkFoefo3d1gocRUheftRpRY5A1P98qF6M5F74umSlcC3h5tW7rcH8Is1FX123cU1WLGa7n9NQ0Jln36tU6nL64DPffVs5AKzCSnIJDoIKz0nDm6Xhw1DympyVAayCq5ZtVugrL0CXKnBtBRwHTg9GWPA3pHtfAXr1zFY+8VSO4fcF67qvdh+gyIdMadwtHRUwig7ILQa/TuSbAgdzN6dVR35GYkqJzS37hy0fuqqdKVgFdJXpArGB/OTsEbX5zSzYzXUiNmLE+7Fvbp9PZ1oPe+eo7I5aPZgzthyeYTbp0zuevFUZ61z6P2NRfW23qSBkD9JijrPkFSlARfUgGTZfCIPXcCerlaeEed55U+dOmhBlQOAyIdcbdwdNYRTukFobfo3dNgQe5mdGNb9+cyUcrRRW99w/NVU6WrAa+zvCB3bsf1TsG43im6mPFaan8fHTqLdY9mobLGjPCQIFTWmOul05vXgb/01ZMjl49G9ErCPd0S3D5nUteLszxr/zvt+u8F1adG8EYTlCcTc8qRGjwCeDaztxRnx6PXVgalGBDpiLuFo6PqY3cWN9XLjdnTYEHpzciXzRf1OqQO7uyzm4irBb2jvODs3LpzHtUODuX2V1ljRlZqK4ef9dZ1oEVfPbXzt1w+sq5FcGWmc3e+y8L6d/JGIKvG76XmxJyupBMAXh7ZHXdlqlsbbjmeA6cuA4a6JnZAv60MrmBApCPu9uORyoizB3dCRpsWuqjpcZca/Zqc3Yx82XwhdcNbsvkE5gzpjCWb3GtucJWaBb3aBZDa/dj02C/O12nyJH+7MzuxN64nV/Ks2oGsWr+XknR5Enw1DQmW7MfVI7mlVx745KbX0Fsrg6sMgiBIxJVkr7y8HEajESaTCREREarvXxwh9qOpXlu8KzcwuYzoD504pazdVyxZPe8OqenorSc5A+puIrvn9vfoHMmd6z2FFzFqxd5627836RYkR4X77U1ETWr+3t7Ynxp8lSZP8re7fRkdfR/vQY65+3tJDaixXg9R7nf0ZLCKN+6b3qS0/A6oGqJXX30VL7zwAkpLS5GZmYlXXnkFN910k9bJkpzXI6O167U7vnxq8xW1njikzkFiZLjqzReOzrWzTqJ6vZn4ktpPmK7uzxeFtq+eot2tcVCzL6Pl+/Q+Yacjvvq93GlykhpQE2QA1j2ahZiIJrKzWnvye/jTFC2uCtI6Ab6ydu1azJw5E8888wwOHjyIzMxM5OTk4Pz585qmS7IZZdMJ1S48uZtbianK4337SrwxDFmprdw+H3LnwDIM25rS6nBLPwnr8+jsXFtueMEGg/hd3mwek0qjP/D093Z3f2v3FaP34u0YtWIvei/ejrX7ilX5fk/S5AlLAG5NSf52VOC5833hIUEBfw9SakSvJOye2x/vTboFu+f2d2v+OLMAVNaYZX/Hg6cve/R7uJuv/EHABER/+9vfMGnSJIwbNw5paWlYvnw5wsPD8eabb2qaLndvPnrZvz9w1LnWnQBFruBUcq5dveG5y5eFe0PQEB4c7LkbgLtb4Ml9X0VNbcDfg1zhSvDl6LeSe88syE8+qjR9vnyw86WAaDKrqanBgQMHMG/ePPG1oKAgDBw4EPn5+ZKfqa6uRnV1tfh3eXm5V9Lm7U6WeuxY6muOzkFWaiuXm1TkmhOUnmtvN4/5+9BuLTTUZgB3mns8GS0k9X2uLPxKrnH2W0m91zM50uuDVfxVQAREFy9eRG1tLWJjY21ej42NxfHjMjMZ5+VhwYIFXk+bt4cqNoShkJ5SMkRc6flwVHBmpbbSxbluqIW7NzXkBwd3AnBPCjz77+M9yLsc/VZy76nxezTEfo8BMcrs7NmzaN26Nfbs2YOsrCzx9dmzZ2Pnzp3Yu7f+yB+pGqLExESvjjLzZrTt7f37AzXOgZIRFlqfa38cBaIHehyR1pBofV2QrUD6PTjKzEpUVBSCg4Nx7tw5m9fPnTuHuLg4yc+EhoYiNDTUF8kD4P1ouyFG865S4xwoedrV+lzzidw9DbUZQC+0vi7IFn+P+gIiIAoJCUGPHj2wbds2DB06FABgNpuxbds2TJs2TdvEkd/xh4LTH9KoRywkiAJXQAREADBz5kyMGTMGPXv2xE033YSlS5eioqIC48aN0zpp5If8oeD0hzQSEelFwAREI0aMwIULF/D000+jtLQU3bp1w+bNm+t1tCYiIqLAExCdqtXg7aU7iIiISH1Ky++AmZiRiIiISA4DIiIiIgp4DIiIiIgo4DEgIiIiooDHgIiIiIgCHgMiIiIiCngMiIiIiCjgMSAiIiKigMeAiIiIiAJewCzd4SnLhN7l5eUap4SIiIiUspTbzhbmYECk0C+//AIASExM1DglRERE5KpffvkFRqNR9n2uZaaQ2WzG2bNn0bx5cxgMBq2T43Pl5eVITEzEmTNnuJabB3gePcdzqA6eR3XwPKrDm+dREAT88ssvSEhIQFCQfE8h1hApFBQUhDZt2midDM1FRETwolcBz6PneA7VwfOoDp5HdXjrPDqqGbJgp2oiIiIKeAyIiIiIKOAxICJFQkND8cwzzyA0NFTrpPg1nkfP8Ryqg+dRHTyP6tDDeWSnaiIiIgp4rCEiIiKigMeAiIiIiAIeAyIiIiIKeAyIiIiIKOAxICLRrl27cPfddyMhIQEGgwEfffSRzfuCIODpp59GfHw8wsLCMHDgQHz//ffaJFbHnJ3HsWPHwmAw2PwbPHiwNonVsby8PPTq1QvNmzdHTEwMhg4dihMnTthsc/XqVUydOhWtWrVCs2bNMHz4cJw7d06jFOuTkvPYr1+/enly8uTJGqVYn5YtW4aMjAxx4sCsrCxs2rRJfJ950Tln51DrfMiAiEQVFRXIzMzEq6++Kvn+kiVL8PLLL2P58uXYu3cvmjZtipycHFy9etXHKdU3Z+cRAAYPHoySkhLx33vvvefDFPqHnTt3YurUqfjqq6+wdetWXLt2DYMGDUJFRYW4zYwZM/DJJ5/g/fffx86dO3H27FkMGzZMw1Trj5LzCACTJk2yyZNLlizRKMX61KZNGyxevBgHDhzA/v37cfvtt+Pee+/FsWPHADAvKuHsHAIa50OBSAIAYf369eLfZrNZiIuLE1544QXxtbKyMiE0NFR47733NEihf7A/j4IgCGPGjBHuvfdeTdLjz86fPy8AEHbu3CkIQl3+a9y4sfD++++L23z33XcCACE/P1+rZOqe/XkUBEHo27ev8Ic//EG7RPmpli1bCitXrmRe9IDlHAqC9vmQNUSkSFFREUpLSzFw4EDxNaPRiJtvvhn5+fkapsw/7dixAzExMejUqROmTJmCn3/+Wesk6Z7JZAIAREZGAgAOHDiAa9eu2eTJzp07IykpiXnSAfvzaPHuu+8iKioKXbt2xbx581BZWalF8vxCbW0t/vnPf6KiogJZWVnMi26wP4cWWuZDLu5KipSWlgIAYmNjbV6PjY0V3yNlBg8ejGHDhiElJQWFhYV48sknMWTIEOTn5yM4OFjr5OmS2WzG9OnT0bt3b3Tt2hVAXZ4MCQlBixYtbLZlnpQndR4BYNSoUWjbti0SEhJw+PBhzJkzBydOnMC6des0TK3+HDlyBFlZWbh69SqaNWuG9evXIy0tDQUFBcyLCsmdQ0D7fMiAiMjHRo4cKf53eno6MjIykJqaih07dmDAgAEapky/pk6diqNHj2L37t1aJ8WvyZ3Hhx9+WPzv9PR0xMfHY8CAASgsLERqaqqvk6lbnTp1QkFBAUwmEz744AOMGTMGO3fu1DpZfkXuHKalpWmeD9lkRorExcUBQL1RE+fOnRPfI/e0a9cOUVFROHnypNZJ0aVp06Zhw4YN+Pzzz9GmTRvx9bi4ONTU1KCsrMxme+ZJaXLnUcrNN98MAMyTdkJCQtC+fXv06NEDeXl5yMzMxEsvvcS86AK5cyjF1/mQAREpkpKSgri4OGzbtk18rby8HHv37rVp/yXX/fjjj/j5558RHx+vdVJ0RRAETJs2DevXr8f27duRkpJi836PHj3QuHFjmzx54sQJFBcXM09acXYepRQUFAAA86QTZrMZ1dXVzIsesJxDKb7Oh2wyI9GVK1dsIvGioiIUFBQgMjISSUlJmD59Op577jl06NABKSkpmD9/PhISEjB06FDtEq1Djs5jZGQkFixYgOHDhyMuLg6FhYWYPXs22rdvj5ycHA1TrT9Tp07FmjVr8O9//xvNmzcX+2IYjUaEhYXBaDRiwoQJmDlzJiIjIxEREYHHHnsMWVlZuOWWWzROvX44O4+FhYVYs2YN7rzzTrRq1QqHDx/GjBkzkJ2djYyMDI1Trx/z5s3DkCFDkJSUhF9++QVr1qzBjh07sGXLFuZFhRydQ13kQ83Gt5HufP755wKAev/GjBkjCELd0Pv58+cLsbGxQmhoqDBgwADhxIkT2iZahxydx8rKSmHQoEFCdHS00LhxY6Ft27bCpEmThNLSUq2TrTtS5xCAsGrVKnGbqqoq4dFHHxVatmwphIeHC/fdd59QUlKiXaJ1yNl5LC4uFrKzs4XIyEghNDRUaN++vTBr1izBZDJpm3CdGT9+vNC2bVshJCREiI6OFgYMGCB89tln4vvMi845Ood6yIcGQRAE34ReRERERPrEPkREREQU8BgQERERUcBjQEREREQBjwERERERBTwGRERERBTwGBARERFRwGNARERERAGPAREREREFPAZEREREFPAYEBGR36upqdE6CfXoMU1EJI8BERHpTr9+/TBt2jRMmzYNRqMRUVFRmD9/PiwrDSUnJ+PPf/4zRo8ejYiICDz88MMAgN27d+O2225DWFgYEhMT8fjjj6OiokLc72uvvYYOHTqgSZMmiI2Nxf333y++98EHHyA9PR1hYWFo1aoVBg4cKH62X79+mD59uk0ahw4dirFjx4p/u5smItIHBkREpEtvvfUWGjVqhK+//hovvfQS/va3v2HlypXi+3/5y1+QmZmJQ4cOYf78+SgsLMTgwYMxfPhwHD58GGvXrsXu3bsxbdo0AMD+/fvx+OOPY+HChThx4gQ2b96M7OxsAEBJSQkeeOABjB8/Ht999x127NiBYcOGwdWlHl1NExHpBxd3JSLd6devH86fP49jx47BYDAAAObOnYuPP/4Y3377LZKTk9G9e3esX79e/MzEiRMRHByM119/XXxt9+7d6Nu3LyoqKvDpp59i3Lhx+PHHH9G8eXOb7zt48CB69OiBU6dOoW3btpLp6datG5YuXSq+NnToULRo0QKrV68GALfS1KRJE4/OExGphzVERKRLt9xyixgMAUBWVha+//571NbWAgB69uxps/0333yD1atXo1mzZuK/nJwcmM1mFBUV4Y477kDbtm3Rrl07PPTQQ3j33XdRWVkJAMjMzMSAAQOQnp6O//mf/8GKFStw+fJll9PsapqISD8YEBGRX2ratKnN31euXMEjjzyCgoIC8d8333yD77//HqmpqWjevDkOHjyI9957D/Hx8Xj66aeRmZmJsrIyBAcHY+vWrdi0aRPS0tLwyiuvoFOnTmLQEhQUVK/57Nq1ax6niYj0gwEREenS3r17bf7+6quv0KFDBwQHB0tuf+ONN+Lbb79F+/bt6/0LCQkBADRq1AgDBw7EkiVLcPjwYZw6dQrbt28HABgMBvTu3RsLFizAoUOHEBISIjZ/RUdHo6SkRPyu2tpaHD161OkxKEkTEekDAyIi0qXi4mLMnDkTJ06cwHvvvYdXXnkFf/jDH2S3nzNnDvbs2YNp06ahoKAA33//Pf7973+LHZg3bNiAl19+GQUFBTh9+jTefvttmM1mdOrUCXv37sWiRYuwf/9+FBcXY926dbhw4QK6dOkCALj99tuxceNGbNy4EcePH8eUKVNQVlbm9BicpYmI9KOR1gkgIpIyevRoVFVV4aabbkJwcDD+8Ic/iEPZpWRkZGDnzp3405/+hNtuuw2CICA1NRUjRowAALRo0QLr1q3Ds88+i6tXr6JDhw547733cMMNN+C7777Drl27sHTpUpSXl6Nt27b461//iiFDhgAAxo8fj2+++QajR49Go0aNMGPGDPTv39/pMThLExHpB0eZEZHuSI3qIiLyJjaZERERUcBjQEREREQBj01mREREFPBYQ0REREQBjwERERERBTwGRERERBTwGBARERFRwGNARERERAGPAREREREFPAZEREREFPAYEBEREVHAY0BEREREAe//AZgQYx7jt1AvAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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dWucPXs24HH/1o1///vfqK2txTvvvIP09HTP45s2bQpafqN17twZ+/fvh9vt9mmdOXjwoOd5QD5QIyL1mDNDRAAapuMfOHAgli1bhgsXLqBdu3YYNmwYXnjhBZSXlwe8/vTp055/f//99z7PNW/eHF27dkVtba3s5+Xl5QEAnn76aZ/Hly1bFvDarKwsuFwu7N+/3/NYeXl5wCy8sbGxAABBEDyPuVwurFq1SrYc4fKrX/0KJ0+exNq1az2P/fjjj3jmmWfQvHlzDB06FACQmJgIAJLBGhGpw5YZIvL43e9+h1//+tdYvXo17r77bjz33HMYPHgwsrOzMWPGDHTp0gXfffcdtm/fjuPHj2Pfvn0AgF69emHYsGHo168fkpOTsXPnTrzxxhuYPXu27GddfvnlmDRpEp5//nm4XC5cddVV+OSTT3DkyJGA195yyy2YN28exo0bhzlz5qC6uhrLly9H9+7dsXv3bs/rrr32WsTFxeH666/HXXfdhfPnz2PlypVo166dZEAWTnfeeSdeeOEFTJ06Fbt27UJGRgbeeOMNfPbZZ1i2bBlatGgBoCFhuVevXli7di26d++O5ORk9O7dG717945oeYlszezhVEQUWeLQ7KKiooDn6uvrhaysLCErK0v48ccfBUEQhOLiYuG2224TOnToIDRt2lTo1KmTcN111wlvvPGG532LFy8WBg4cKLRq1UpISEgQevbsKTz++ONCXV2d5zVSw6hramqEOXPmCG3atBGSkpKE66+/XigrK5McqvzRRx8JvXv3FuLi4oQePXoIr776quQ233nnHaFPnz5Cs2bNhIyMDGHp0qXC3/72NwGAUFJS4nmdlqHZwYady23vu+++E6ZNmya0bdtWiIuLE7Kzs4VVq1YFvHfbtm1Cv379hLi4OA7TJtLBIQhe7bFERERENsOcGSIiIrI1BjNERERkawxmiIiIyNYYzBAREZGtMZghIiIiW2MwQ0RERLYW9ZPmud1unDhxAi1atOC04URERDYhCALOnTuHjh07BizYKvVi02zZskW47rrrhNTUVAGAsH79es9zdXV1wty5c4XevXsLiYmJQmpqqnDrrbcK3377rabPECfg4h//+Mc//vGPf/b7KysrC3qtN7VlpqqqCjk5OZg+fTrGjx/v81x1dTV2796NBQsWICcnB2fOnMF9992HG264ATt37lT9GeKU4WVlZWjZsqWh5SciIqLwqKysRFpamuc6rsQyMwA7HA6sX78eY8eOlX1NUVERBg4ciGPHjvmsiKuksrISTqcTLpeLwQwREZFNaLl+2ypnxuVyweFwoFWrVrKvqa2t9Vmpt7KyMgIlIyIiIrPYZjTThQsXMG/ePEyaNEkxQisoKIDT6fT8paWlRbCUREREFGm2CGYuXryIm2++GYIgYPny5YqvnT9/Plwul+evrKwsQqUkIiIiM1i+m0kMZI4dO4aNGzcG7TeLj49HfHx8hEpHRERWUl9fj4sXL5pdDFKhadOmiI2NNWRblg5mxEDm8OHD2LRpE9q0aWN2kYiIyIIEQcDJkydx9uxZs4tCGrRq1QodOnQIeR44U4OZ8+fP48iRI57/l5SUYO/evUhOTkZqaipuuukm7N69G++++y7q6+tx8uRJAEBycjLi4uLMKjYREVmMGMi0a9cOiYmJnCTV4gRBQHV1NU6dOgUASE1NDWl7pg7N3rx5M4YPHx7w+JQpU7Bw4UJkZmZKvm/Tpk0YNmyYqs/g0GwiouhWX1+Pr7/+Gu3atWMLvs18//33OHXqFLp37x7Q5WSbodnDhg2DUixlkSlwiIjIwsQcmcTERJNLQlqJv9nFixdDyp+xxWgmIiKiYNi1ZD9G/WYMZoiIiMjWGMwQERFRWGzevBkOhyPso8wYzFhEuasG24orUO6qMbsoRERkEwsXLsTll19udjFMZ+l5ZhqLtUWlmL/uANwCEOMACsZnY+IAdQtpEhERBXPx4kU0bdrU7GKEDVtmTFbuqvEEMgDgFoCH133BFhoiokbA7XajoKAAmZmZSEhIQE5ODt544w0AP3fRfPLJJ+jfvz8SExNx1VVX4dChQwCA1atXY9GiRdi3bx8cDgccDgdWr14NoCGxdvny5bjhhhuQlJSExx9/XLEc4md9+OGH6Nu3LxISEnDNNdfg1KlT2LBhAy699FK0bNkSkydPRnV1ted9tbW1mDNnDtq1a4dmzZph8ODBKCoqCs/OUsBgxmQlFVWeQEZULwg4WlEt/QYiIgqbSHf5FxQU4JVXXsGKFSvw5Zdf4oEHHsBvf/tbbNmyxfOa//mf/8Gf/vQn7Ny5E02aNMH06dMBABMnTsT/+3//D5dddhnKy8tRXl6OiRMnet63cOFCjBs3DgcOHPC8J5iFCxfi2WefxbZt21BWVoabb74Zy5Ytw2uvvYb33nsPH330EZ555hnP6+fOnYs333wTL7/8Mnbv3o2uXbti1KhR+OGHHwzaQ+qwm8lkmW2TEOOAT0AT63Agoy3nSyAiiqRId/nX1tbiiSeewP/93/8hNzcXANClSxcUFhbihRdewJ133gkAePzxxzF06FAAQH5+PsaMGYMLFy4gISEBzZs3R5MmTdChQ4eA7U+ePBnTpk3TVKbFixdj0KBBAIDbb78d8+fPR3FxMbp06QIAuOmmm7Bp0ybMmzcPVVVVWL58OVavXo28vDwAwMqVK/Hxxx/jpZdewu9+9zt9O0YHtsyYLNWZgILx2Yj9aax9rMOBJ8b3RqozweSSERE1HmZ0+R85cgTV1dX45S9/iebNm3v+XnnlFRQXF3te16dPH8+/xWn/xWUAlPTv319zmbw/q3379khMTPQEMuJj4mcXFxfj4sWLnuAHaFg8cuDAgfjqq680f3Yo2DJjARMHpGNI9xQcrahGRttEBjJERBGm1OUfrjr5/PnzAID33nsPnTp18nkuPj7eE9B4J+6Kk8y53e6g209KStJcJv/P8k8adjgcqj470hjMWESqM4FBDBGRSczo8u/Vqxfi4+NRWlrq6Uby5t06IycuLg719fXhKF5QWVlZiIuLw2effYbOnTsDaBg1VVRUhPvvvz+iZWEwQ0REjZ7Y5f/wui9QLwgR6fJv0aIFHnroITzwwANwu90YPHgwXC4XPvvsM7Rs2dITICjJyMhASUkJ9u7di0suuQQtWrRAfHx82MrsLSkpCffccw9+97vfITk5Genp6XjyySdRXV2N22+/PSJlEDGYISIigjld/r///e+RkpKCgoICfPPNN2jVqhWuuOIKPPzww6q6cyZMmIB169Zh+PDhOHv2LFatWoWpU6eGvdyiJUuWwO1249Zbb8W5c+fQv39/fPjhh2jdunXEygAADiHKl6bWsoQ4ERHZz4ULF1BSUoLMzEw0a9bM7OKQBkq/nZbrN0czERERka0xmCEiIopyd999t8/wb++/u+++2+zihYw5M0RERFHusccew0MPPST5XDSkYDCYISIiinLt2rVDu3btzC5G2LCbiYiIiGyNwQwREUUFK85MS8qM+s3YzURERLYWFxeHmJgYnDhxAikpKYiLi/NM+0/WJAgC6urqcPr0acTExCAuLi6k7TGYISIi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awxmiIiIyNYYzBAREZGtMZghIiIiW2MwQ0RERLbGYIaIiIhsjcEMERER2RqDGSIiIrI1BjNERERkawxmiIiIyNYYzBAREZGtMZghIiIiW2MwQ0RERLbGYIYoypS7arCtuALlrhqzi0JEFBFNzC4AERlnbVEp5q87ALcAxDiAgvHZmDgg3exiERGFFVtmiKJEuavGE8gAgFsAHl73BVtoiCjqMZghihIlFVWeQEZULwg4WlFtToGIiCKEwQzZCvNB5GW2TUKMw/exWIcDGW0TzSkQEVGEMJgh21hbVIpBSzZi8sodGLRkI9YWlZpdJEtJdSagYHw2Yh0NEU2sw4EnxvdGqjPB5JIREYWXQxAEIfjL7KuyshJOpxMulwstW7Y0uzikU7mrBoOWbPTpRol1OFCYP5wXaz/lrhocrahGRttE7hsisi0t12+OZiJbUMoH4QXbV6ozgfuEiBoVdjORLTAfhIiI5DCYIVtgPggREclhNxPZxsQB6RjSPYX5IERE5IPBDNkK80GIiMif6mCmsrJS9UY5aoiIiIgiRXUw06pVKzgcDsXXCIIAh8OB+vr6kAtGREREpIbqYGbTpk3hLAcRERGRLqqDmaFDh4azHERERES66E4APnv2LF566SV89dVXAIDLLrsM06dPh9PpNKxwRERERMHommdm586dyMrKwp///Gf88MMP+OGHH/DUU08hKysLu3fvNrqMRERERLJ0rc109dVXo2vXrli5ciWaNGlo3Pnxxx9xxx134JtvvsHWrVsNL6heXJuJiIjIfrRcv3UFMwkJCdizZw969uzp8/h///tf9O/fH9XV1Vo3GTYMZoiIiOxHy/VbVzdTy5YtUVpaGvB4WVkZWrRooWeTRERERLroCmYmTpyI22+/HWvXrkVZWRnKysrw+uuv44477sCkSZOMLiMRERGRLF2jmf74xz/C4XDgtttuw48//ggAaNq0Ke655x4sWbLE0AISERERKdGVMyOqrq5GcXExACArKwuJiYmGFcwozJkhIiKyHy3X75AWmkxMTER2dnYomyAiIiIKia5g5sKFC3jmmWewadMmnDp1Cm632+d5zjVDREREkaIrmLn99tvx0Ucf4aabbsLAgQODLkBJREREFC66gpl3330X77//PgYNGmR0eYiIiIg00TU0u1OnTpxPhoiIiCxBVzDzpz/9CfPmzcOx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HnfddRf27t3r+du3bx8OHz6MrKwstGjRArt378aaNWuQmpqKRx55BDk5OTh79ixiY2Px8ccfY8OGDejVqxeeeeYZ9OjRwxNwxMTEBHQ5Xbx4MeQyEZG1MJghIkPt2LHD5///+c9/0K1bN8TGxkq+/oorrsB///tfdO3aNeAvLi4OANCkSROMHDkSTz75JPbv34+jR49i48aNAACHw4FBgwZh0aJF2LNnD+Li4jxdRikpKSgvL/d8Vn19Pb744oug30FNmYjIOhjMEJGhSktL8eCDD+LQoUNYs2YNnnnmGdx3332yr583bx62bduG2bNnY+/evTh8+DDefvttT7Ltu+++i6effhp79+7FsWPH8Morr8DtdqNHjx7YsWMHnnjiCezcuROlpaVYt24dTp8+jUsvvRQAcM011+C9997De++9h4MHD+Kee+7B2bNng36HYGUiImtpYnYBiCi63HbbbaipqcHAgQMRGxuL++67zzPcWUqfPn2wZcsW/M///A+uvvpqCIKArKwsTJw4EQDQqlUrrFu3DgsXLsSFCxfQrVs3rFmzBpdddhm++uorbN26FcuWLUNlZSU6d+6MP/3pT8jLywMATJ8+Hfv27cNtt92GJk2a4IEHHsDw4cODfodgZSIia+FoJiIyjNToISKicGM3ExEREdkagxkiIiKyNXYzERERka2xZYaIiIhsjcEMERER2RqDGSIiIrI1BjNERERkawxmiIiIyNYYzBAREZGtMZghIiIiW2MwQ0RERLbGYIaIiIhs7f8D+wfn2xM8vM8AAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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06dPx+DBg9G9e3fZQdYAYPPmzbjttttw7tw5REREAABWrlyJrKwsXLx4EX5+fsjKysKmTZtw/Phx6XNjx45FeXk5tmzZ0hCHRERERG7ObQZmrKurw0cffYTKykqkpqZKy9977z28++67iIyMxO23347FixdLpUR5eXlISkqSgiEASE9Px6xZs3DixAn06NEDeXl5RlMGpKenWz0btkajwblz59CyZUsOk09EROQhhBD4/fffER0dbTRRsi6XB0THjh1Damoqrl69ihYtWuDTTz9FYmIiAGD8+PFo3749oqOjcfToUWRlZeHUqVPYsGEDAKC0tFQvGAIg/bu0tNTkNhUVFaiurkZAQIBsumpqavSmDPj111+ldBEREZFnOXv2LNq1a6e43uUBUZcuXVBQUAC1Wo2PP/4YkydPxu7du5GYmIj7779f2i4pKQlRUVEYOnQoCgsL0bFjR6emKzs7G0uWLDFafvbsWQQFBTn1u4mIiMgxKioqEBMTI011o8TlAZGfnx86deoEAOjVqxfy8/OxfPlyvPnmm0bb9u3bFwBw+vRpdOzYEZGRkfjmm2/0tjl//jwAIDIyUvp/7TLdbYKCghRLhwBg0aJFePjhh6V/a0+otkccEREReQ5zzV3cbhwijUajOLt1QUEBACAqKgoAkJqaimPHjuHChQvSNtu2bUNQUJBUvZWamort27fr7Wfbtm167ZTk+Pv7S8EPgyAiIqLGzaUlRIsWLUJGRgZiY2Px+++/Y926ddi1axe2bt2KwsJCrFu3DrfeeivatGmDo0ePYv78+UhLS0NycjKA+lmpExMTMXHiRCxbtgylpaV48sknMXv2bPj7+wMAZs6ciX/+85947LHHMG3aNOzYsQMffvghNm3a5MpDJyIiIjfi0oDowoULmDRpEkpKShAcHIzk5GRs3boVf/nLX3D27Fn873//wyuvvILKykrExMRg9OjRePLJJ6XP+/r6YuPGjZg1axZSU1PRvHlzTJ48WW/covj4eGzatAnz58/H8uXL0a5dO6xevZpjEBEREZHE7cYhclcVFRUIDg6GWq1m9RkRUSNTV1eHa9euuToZZIOmTZvC19dXcb2lz2+XN6omIiJyFSEESktLUV5e7uqkkB1CQkIQGRlp1ziBDIiIiMhraYOh8PBwBAYGcuBdDyOEQFVVldS5StvpyhYMiIiIyCvV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fGhz+Kj0l/mqVIgLDXRNgoiIiLwQAyIXiwoOQPaoJPiq6qMiX5UKS0d1Q1Sw8sSzRERE5FhsVO0GxvSJRVrnMJwpq0JcaCCDISIiogbGgMhNRAUHMBAiIiJyEVaZERERkddjQERERERejwEREREReT0GREREROT1GBARERGR12NARERERF6PARERERF5PQZERERE5PUYEBEREZHXY0BEREREXo8BEREREXk9BkRERETk9RgQERERkddjQERERERejwEREREReT0GRG6iRF2N3MIylKirXZ0UIiIir9PE1QkgYH1+MRZtOAaNAHxUQPaoJIzpE+vqZBEREXkNlhC5WIm6WgqGAEAjgMc3HGdJERERUQNiQORiRWWVUjCkVScEzpRVuSZBREREXogBkYvFhzaHj0p/ma9KhbjQQNckiIiIyAsxIHKxqOAAZI9Kgq+qPiryVamwdFQ3RAUHuDhlRERE3oONqt3AmD6xSOschjNlVYgLDWQwRERE1MAYELmJqOAABkJEREQuwiozIiIi8noMiIiIiMjrMSAiIiIir8eAiIiIiLweAyIiIiLyei4NiLKzs9GnTx+0bNkS4eHhGDlyJE6dOqW3zeDBg6FSqfT+Zs6cqbdNcXExMjMzERgYiPDwcCxYsADXr1/X22bXrl3o2bMn/P390alTJ6xdu9bZh0dEREQewqUB0e7duzF79mx8/fXX2LZtG65du4bhw4ejsrJSb7v77rsPJSUl0t+yZcukdXV1dcjMzERtbS1yc3PxzjvvYO3atXjqqaekbYqKipCZmYkhQ4agoKAA8+bNw4wZM7B169YGO1YiIiJyXyohhDC/WcO4ePEiwsPDsXv3bqSlpQGoLyHq3r07XnnlFdnPbN68GbfddhvOnTuHiIgIAMDKlSuRlZWFixcvws/PD1lZWdi0aROOHz8ufW7s2LEoLy/Hli1bLEpbRUUFgoODoVarERQUZN+BEhERUYOw9PntVm2I1Go1AKB169Z6y9977z2EhoaiW7duWLRoEaqq/pz4NC8vD0lJSVIwBADp6emoqKjAiRMnpG2GDRumt8/09HTk5eUppqWmpgYVFRV6f0RERNQ4uc1I1RqNBvPmzUP//v3RrVs3afn48ePRvn17REdH4+jRo8jKysKpU6ewYcMGAEBpaaleMARA+ndpaanJbSoqKlBdXY2AAOMRorOz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z4EWz4NrzwEbVRMREZHXYwkREREReT0GREREROT1GBARERGR12NARERERF6PAZEDrFixAsnJydJAUqmpqdi8ebO0/urVq5g9ezbatGmDFi1aYPTo0Th//rzePoqLi5GZmYnAwECEh4djwYIFuH79ekMfisPk5ORApVJh3rx50rLGfh6eeeYZqFQqvb+EhARpfWM/fl2//vor7r33XrRp0wYBAQFISkrCwYMHpfVCCDz11FOIiopCQEAAhg0bhh9//FFvH5cuXcKECRMQFBSEkJAQTJ8+HVeuXGnoQ7FJXFyc0bWgUqkwe/ZsAN5xLdTV1WHx4sWIj49HQEAAOnbsiOeee05vPqnGfh0A9dNFzJs3D+3bt0dAQAD69euH/Px8aX1jPAd79uzB7bffjujoaKhUKnz22Wd66x11zEePHsXAgQPRrFkzxMTEYNmyZfYlXJDdPv/8c7Fp0ybxww8/iFOnTonHH39cNG3aVBw/flwIIcTMmTNFTEyM2L59uzh48KC4+eabRb9+/aTPX79+XXTr1k0MGzZMHD58WHz55ZciNDRULFq0yFWHZJdvvvlGxMXFieTkZPHQQw9Jyxv7eXj66afFjTfeKEpKSqS/ixcvSusb+/FrXbp0SbRv315MmTJFHDhwQPz0009i69at4vTp09I2OTk5Ijg4WHz22WfiyJEj4o477hDx8fGiurpa2mbEiBEiJSVFfP3112Lv3r2iU6dOYty4ca44JKtduHBB7zrYtm2bACB27twphPCOa+GFF14Qbdq0ERs3bhRFRUXio48+Ei1atBDLly+Xtmns14EQQtxzzz0iMTFR7N69W/z444/i6aefFkFBQeKXX34RQjTOc/Dll1+KJ554QmzYsEEAEJ9++qneekccs1qtFhEREWLChAni+PHj4v333xcBAQHizTfftDndDIicpFWrVmL16tWivLxcNG3aVHz00UfSuu+//14AEHl5eUKI+ovHx8dHlJaWStusWLFCBAUFiZqamgZPuz1+//13ccMNN4ht27aJQYMGSQGRN5yHp59+WqSkpMiu84bj18rKyhIDBgxQXK/RaERkZKR46aWXpGXl5eXC399fvP/++0IIIb777jsBQOTn50vbbN68WahUKvHrr786L/FO8tBDD4mOHTsKjUbjNddCZmammDZtmt6yUaNGiQkTJgghvOM6qKqqEr6+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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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37Bhg9P0+1qbNm2wd+9emEwmq9KZAwcOmD8H1AM1InId28wQEYDa4fh79uyJV199FZcuXUJ8fDz69++PRYsWoaSkxG79M2fOmP/7119/tfqscePGaNeuHaqqqlT3l52dDQB4/fXXrZa/+uqrduumpqbCaDRi79695mUlJSV2o/CGhYUBAIQQ5mVGoxFLly5VTYe//P73v8epU6ewcuVK87IrV67gjTfeQOPGjdGvXz8AQGRkJAAoBmtE5BqWzBCR2VNPPYU//OEPWLZsGf70pz/hzTffRN++fZGeno4HHngAbdu2xS+//IItW7bg559/xp49ewAAnTp1Qv/+/dGtWzc0a9YM27dvx0cffYRHHnlEdV/XX389Ro8ejbfeegtGoxG9e/fGN998gyNHjtite/fdd2P69Om44447MGXKFFRUVGDBggVo3749du7caV7vlltuQXh4OG677TY89NBDuHDhAhYvXoz4+HjFgMyfHnzwQSxatAhjx47Fjh07kJycjI8++gjfffcdXn31VURHRwOobbDcqVMnrFy5Eu3bt0ezZs3QuXNndO7cOaDpJdK0YHenIqLAkrtmFxQU2H1WU1MjUlNTRWpqqrhy5YoQQojCwkLxxz/+UbRs2VI0bNhQtG7dWtx6663io48+Mn/vhRdeED179hRNmjQRer1epKWliblz54rq6mrzOkrdqCsrK8WUKVNE8+bNRVRUlLjttttEcXGxYlflr776SnTu3FmEh4eLDh06iA8++EBxm5999pno0qWLaNSokUhOThbz588X7777rgAgioqKzOu50zXbWbdzte398ssvYty4cSI2NlaEh4eL9PR0sXTpUrvv5ufni27duonw8HB20ybygCSERXksERERkcawzQwRERFpGoMZIiIi0jQGM0RERKRpDGaIiIhI0xjMEBERkaYxmCEiIiJNq/OD5plMJpw8eRLR0dEcNpyIiEgjhBA4f/48WrVqZTdhq9LKQbNp0yZx6623ioSEBAFArF692vxZdXW1mDZtmujcubOIjIwUCQkJ4v777xcnTpxwax/yAFz84x//+Mc//vFPe3/FxcVOn/VBLZm5ePEiMjIyMH78eIwYMcLqs4qKCuzcuRMzZ85ERkYGzp07h8ceewzDhg3D9u3bXd6HPGR4cXExYmJifJp+IiIi8o/y8nIkJiaan+OOhMwIwJIk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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "surrogate_scatter2D(keras_surrogate, data_training)\n", "surrogate_parity(keras_surrogate, data_training)\n", @@ -960,129 +317,7 @@ "cell_type": "code", "execution_count": 8, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "4/4 [==============================] - 0s 5ms/step\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmEAAAHHCAYAAAD3WI8lAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABt7klEQVR4nO3deVxU1f8/8NcddhAGWWQRFMR9SUUTsaw0Evso5k/9aGamSVl9RUXNLXOpPubSpmZmloWV5t4ibpFbqUTmGqakhAsBKoMMuIEw5/fHNNcZZoABgQHm9Xw85gHce+bOufdD8v6c8z7vIwkhBIiIiIioRiks3QEiIiIia8QgjIiIiMgCGIQRERERWQCDMCIiIiILYBBGREREZAEMwoiIiIgsgEEYERERkQUwCCMiIiKyAAZhRERERBbAIIyIiMoUFxcHSZJw4cIFS3eFqF5hEEZEFnfkyBHExMSgXbt2cHFxQZMmTTB06FD89ddfRm0fe+wxSJIESZKgUCjg5uaGVq1aYeTIkUhISKjQ527btg2PPvooGjVqBGdnZzRr1gxDhw7Frl27qurWjLz99tv47rvvjI4fPnwY8+bNQ25ubrV9dknz5s2Tn6UkSXB2dkbbtm3x+uuvIy8vr0o+Y926dViyZEmVXIuovmEQRkQWt2jRImzZsgWPP/44li5dirFjx+Lnn39GaGgokpOTjdoHBATgq6++wpdffol33nkHAwYMwOHDh9GnTx8MGzYMd+/eLfcz3333XQwYMACSJGHmzJn44IMPMHjwYJw7dw7r16+vjtsEUHYQ9sYbb9RoEKbz8ccf46uvvsL777+P1q1bY/78+ejbty+qYmthBmFEpbO1dAeIiCZPnox169bB3t5ePjZs2DB06NABCxcuxNdff23QXqlU4tlnnzU4tnDhQkyYMAErVqxAUFAQFi1aVOrnFRUV4a233sITTzyBH3/80ej81atX7/OOao9bt27B2dm5zDZDhgyBl5cXAODll1/G4MGDsXXrVvz6668IDw+viW4SWSWOhBGRxfXo0cMgAAOAFi1aoF27djhz5oxZ17CxscGyZcvQtm1bLF++HGq1utS22dnZyMvLw0MPPWTyfKNGjQx+vnPnDubNm4eWLVvC0dERfn5+GDRoEFJTU+U27777Lnr06AFPT084OTmhS5cu2Lx5s8F1JEnCzZs3sWbNGnkKcPTo0Zg3bx6mTp0KAAgODpbP6edgff311+jSpQucnJzg4eGBp59+GpcvXza4/mOPPYb27dvj6NGjeOSRR+Ds7IzXXnvNrOenr3fv3gCAtLS0MtutWLEC7dq1g4ODA/z9/TFu3DiDkbzHHnsM27dvx8WLF+V7CgoKqnB/iOorjoQRUa0khMCVK1fQrl07s99jY2OD4cOHY/bs2Th48CD69etnsl2jRo3g5OSEbdu2Yfz48fDw8Cj1msXFxejfvz/27NmDp59+GhMnTkR+fj4SEhKQnJyMkJAQAMDSpUsxYMAAjBgxAoWFhVi/fj3++9//Ij4+Xu7HV199hRdeeAHdunXD2LFjAQAhISFwcXHBX3/9hW+++QYffPCBPCrl7e0NAJg/fz5mz56NoUOH4oUXXsC1a9fw4Ycf4pFHHsHx48fh7u4u91elUuHJJ5/E008/jWeffRY+Pj5mPz8dXXDp6elZapt58+bhjTfeQEREBF555RWkpKTg448/xpEjR3Do0CHY2dlh1qxZUKvVSE9PxwcffAAAaNCgQYX7Q1RvCSKiWuirr74SAMTq1asNjj/66KOiXbt2pb7v22+/FQDE0qVLy7z+nDlzBADh4uIinnzySTF//nxx9OhRo3aff/65ACDef/99o3MajUb+/tatWwbnCgsLRfv27UXv3r0Njru4uIhRo0YZXeudd94RAERaWprB8QsXLggbGxsxf/58g+N//PGHsLW1NTj+6KOPCgBi5cqVpd63vrlz5woAIiUlRVy7dk2kpaWJTz75RDg4OAgfHx9x8+ZNIYQQX3zxhUHfrl69Kuzt7UWfPn1EcXGxfL3ly5cLAOLzzz+Xj/Xr1080bdrUrP4QWRtORxJRrXP27FmMGzcO4eHhGDVqVIXeqxtpyc/PL7PdG2+8gXXr1qFz587YvXs3Zs2ahS5duiA0NNRgCnTLli3w8vLC+PHjja4hSZL8vZOTk/z99evXoVar0bNnTxw7dqxC/S9p69at0Gg0GDp0KLKzs+WXr68vWrRogX379hm0d3BwwPPPP1+hz2jVqhW8vb0RHByMl156Cc2bN8f27dtLzSX76aefUFhYiNjYWCgU9/6MvPjii3Bzc8P27dsrfqNEVojTkURUq2RlZaFfv35QKpXYvHkzbGxsKvT+GzduAABcXV3LbTt8+HAMHz4ceXl5SEpKQlxcHNatW4eoqCgkJyfD0dERqampaNWqFWxty/7nMj4+Hv/73/9w4sQJFBQUyMf1A7XKOHfuHIQQaNGihcnzdnZ2Bj83btzYKL+uPFu2bIGbmxvs7OwQEBAgT7GW5uLFiwC0wZs+e3t7NGvWTD5PRGVjEEZEtYZarcaTTz6J3Nxc/PLLL/D396/wNXQlLZo3b272e9zc3PDEE0/giSeegJ2dHdasWYOkpCQ8+uijZr3/l19+wYABA/DII49gxYoV8PPzg52dHb744gusW7euwvegT6PRQJIk7Ny502RAWjLHSn9EzlyPPPKInIdGRDWHQRgR1Qp37txBVFQU/vrrL/z0009o27Ztha9RXFyMdevWwdnZGQ8//HCl+tG1a1esWbMGmZmZALSJ80lJSbh7967RqJPOli1b4OjoiN27d8PBwUE+/sUXXxi1LW1krLTjISEhEEIgODgYLVu2rOjtVIumTZsCAFJSUtCsWTP5eGFhIdLS0hARESEfu9+RQKL6jDlhRGRxxcXFGDZsGBITE7Fp06ZK1aYqLi7GhAkTcObMGUyYMAFubm6ltr116xYSExNNntu5cyeAe1NtgwcPRnZ2NpYvX27UVvxbzNTGxgaSJKG4uFg+d+HCBZNFWV1cXEwWZHVxcQEAo3ODBg2CjY0N3njjDaPiqUIIqFQq0zdZjSIiImBvb49ly5YZ9Gn16tVQq9UGq1JdXFzKLBdCZM04EkZEFjdlyhT88MMPiIqKQk5OjlFx1pKFWdVqtdzm1q1bOH/+PLZu3YrU1FQ8/fTTeOutt8r8vFu3bqFHjx7o3r07+vbti8DAQOTm5uK7777DL7/8goEDB6Jz584AgOeeew5ffvklJk+ejN9++w09e/bEzZs38dNPP+H//u//8NRTT6Ffv354//330bdvXzzzzDO4evUqPvroIzRv3hynTp0y+OwuXbrgp59+wvvvvw9/f38EBwcjLCwMXbp0AQDMmjULTz/9NOzs7BAVFYWQkBD873//w8yZM3HhwgUMHDgQrq6uSEtLw7fffouxY8fi1Vdfva/nX1He3t6YOXMm3njjDfTt2xcDBgxASkoKVqxYgQcffNDgf68uXbpgw4YNmDx5Mh588EE0aNAAUVFRNdpfolrLkksziYiEuFdaobRXWW0bNGggWrRoIZ599lnx448/mvV5d+/eFZ9++qkYOHCgaNq0qXBwcBDOzs6ic+fO4p133hEFBQUG7W/duiVmzZolgoODhZ2dnfD19RVDhgwRqampcpvVq1eLFi1aCAcHB9G6dWvxxRdfyCUg9J09e1Y88sgjwsnJSQAwKFfx1ltvicaNGwuFQmFUrmLLli3i4YcfFi4uLsLFxUW0bt1ajBs3TqSkpBg8m7LKd5Sk69+1a9fKbFeyRIXO8uXLRevWrYWdnZ3w8fERr7zyirh+/bpBmxs3bohnnnlGuLu7CwAsV0GkRxKiCjYHIyIiIqIKYU4YERERkQUwCCMiIiKyAAZhRERERBbAIIyIiIjIAhiEEREREVkAgzAiIiIiC2Cx1lpMo9EgIyMDrq6u3PqDiIiojhBCID8/H/7+/lAoSh/vYhBWi2VkZCAwMNDS3SAiIqJKuHz5MgICAko9zyCsFnN1dQWg/R+xrH3wiIiIqPbIy8tDYGCg/He8NAzCajHdFKSbmxuDMCIiojqmvFQiJuYTERERWQCDMCIiIiILYBBGREREZAHMCavjNBoNCgsLLd2Nes3e3r7MJcZERESVwSCsDissLERaWho0Go2lu1KvKRQKBAcHw97e3tJdISKieoRBWB0lhEBmZiZsbGwQGBjIkZpqoiuYm5mZiSZNmrBoLhERVRkGYXVUUVERbt26BX9/fzg7O1u6O/Wat7c3MjIyUFRUBDs7O0t3h4iI6ok6M3wyYMAANGnSBI6OjvDz88PIkSORkZFh0EYIgXfffRctW7aEg4MDGjdujPnz5xu02b9/P0JDQ+Hg4IDmzZsjLi7O6LM++ugjBAUFwdHREWFhYfjtt98Mzt+5cwfjxo2Dp6cnGjRogMGDB+PKlSsGbS5duoR+/frB2dkZjRo1wtSpU1FUVFQ1DwNAcXExAHCKrAbonrHumRMREVWFOhOE9erVCxs3bkRKSgq2bNmC1NRUDBkyxKDNxIkT8dlnn+Hdd9/F2bNn8cMPP6Bbt27y+bS0NPTr1w+9evXCiRMnEBsbixdeeAG7d++W22zYsAGTJ0/G3LlzcezYMXTs2BGRkZG4evWq3GbSpEnYtm0bNm3ahAMHDiAjIwODBg2SzxcXF6Nfv34oLCzE4cOHsWbNGsTFxWHOnDlV/lw4PVb9+IyJiKhaiDrq+++/F5IkicLCQiGEEH/++aewtbUVZ8+eLfU906ZNE+3atTM4NmzYMBEZGSn/3K1bNzFu3Dj55+LiYuHv7y8WLFgghBAiNzdX2NnZiU2bNsltzpw5IwCIxMREIYQQO3bsEAqFQmRlZcltPv74Y+Hm5iYKCgrMvke1Wi0ACLVabXTu9u3b4s8//xS3b982+3pUOXzWRET1Q3Z2tsjIyCj1lZ2dXSWfU9bfb311MicsJycHa9euRY8ePeQcnW3btqFZs2aIj49H3759IYRAREQEFi9eDA8PDwBAYmIiIiIiDK4VGRmJ2NhYANrVhkePHsXMmTPl8wqFAhEREUhMTAQAHD16FHfv3jW4TuvWrdGkSRMkJiaie/fuSExMRIcOHeDj42PwOa+88gpOnz6Nzp07m7yvgoICFBQUyD/n5eXdx1MiIiIiHZVKheXLl5fbLiYmBp6enjXQozo0HQkA06dPh4uLCzw9PXHp0iV8//338rm///4bFy9exKZNm/Dll18iLi4OR48eNZiyzMrKMgiMAMDHxwd5eXm4ffs2srOzUVxcbLJNVlaWfA17e3u4u7uX2cbUNXTnSrNgwQIolUr5FRgYaOaTqTtGjx4NSZIgSRLs7Ozg4+ODJ554Ap9//nmFSm3ExcUZ/W9ARERUGnNratZk7U2LBmEzZsyQ/yCX9jp79qzcfurUqTh+/Dh+/PFH2NjY4LnnnoMQAoC2lEBBQQG+/PJL9OzZE4899hhWr16Nffv2ISUlxVK3WCEzZ86EWq2WX5cvX662z1KpVMjMzCz1pVKpqu2z+/bti8zMTFy4cAE7d+5Er169MHHiRPTv379KFy8QEZF10/9bl52dbenuGLHodOSUKVMwevToMts0a9ZM/t7LywteXl5o2bIl2rRpg8DAQPz6668IDw+Hn58fbG1t0bJlS7l9mzZtAGhXKrZq1Qq+vr5GqxivXLkCNzc3ODk5wcbGBjY2Nibb+Pr6AgB8fX1RWFiI3Nxcg5GYkm1KrqjUXVPXxhQHBwc4ODiU+TyqgqWHZB0cHOTn0LhxY4SGhqJ79+54/PHHERcXhxdeeAHvv/8+vvjiC/z999/w8PBAVFQUFi9ejAYNGmD//v14/vnnAdxLmp87dy7mzZuHr776CkuXLkVKSgpcXFzQu3dvLFmyBI0aNary+yAiotrL3L91lmTRkTBvb2+0bt26zFdpJRh0U1e6HKqHHnoIRUVFSE1Nldv89ddfAICmTZsCAMLDw7Fnzx6D6yQkJCA8PByAthRBly5dDNpoNBrs2bNHbtOlSxfY2dkZtElJScGlS5fkNuHh4fjjjz8MVlQmJCTAzc0Nbdu2rcSTqlq1cUi2d+/e6NixI7Zu3QpAm4u3bNkynD59GmvWrMHevXsxbdo0AECPHj2wZMkSuLm5yf8P59VXXwUA3L17F2+99RZOnjyJ7777DhcuXCg30CciovpBf+SrZBmrktRqV6SlBUGtdq2h3hmrE4n5SUlJOHLkCB5++GE0bNgQqampmD17NkJCQuTAJyIiAqGhoRgzZgyWLFkCjUaDcePG4YknnpBHx15++WUsX74c06ZNw5gxY7B3715s3LgR27dvlz9r8uTJGDVqFLp27Ypu3bphyZIluHnzpjzyolQqER0djcmTJ8PDwwNubm4YP348wsPD0b17dwBAnz590LZtW4wcORKLFy9GVlYWXn/9dYwbN65GRrrqqtatW+PUqVMAIC+WAICgoCD873//w8svv4wVK1bA3t4eSqUSkiQZjSyOGTNG/r5Zs2ZYtmwZHnzwQdy4cQMNGjSokfsgIqKao1KpUFhYCLVajQ0bNpj1nmPHOmPbtv4QQgFJ0iAqKh6hoceruafG6kQQ5uzsjK1bt2Lu3Lm4efMm/Pz80LdvX7z++utyUKNQKLBt2zaMHz8ejzzyCFxcXPDkk0/ivffek68THByM7du3Y9KkSVi6dCkCAgLw2WefITIyUm4zbNgwXLt2DXPmzEFWVhY6deqEXbt2GSTaf/DBB1AoFBg8eDAKCgoQGRmJFStWyOdtbGwQHx+PV155BeHh4XBxccGoUaPw5ptv1sDTqruEEPL04k8//YQFCxbg7NmzyMvLQ1FREe7cuYNbt26VuUPA0aNHMW/ePJw8eRLXr1+XR0wvXbpUK0YhiYio6lRkylGtdkVOjifs7ArkAAwAhFBg27b+CAk5D6Uyvzq7a6ROBGEdOnTA3r17y23n7++PLVu2lNnmsccew/HjZUe7MTExiImJKfW8o6MjPvroI3z00UeltmnatCl27NhRdofJwJkzZxAcHIwLFy6gf//+eOWVVzB//nx4eHjg4MGDiI6ORmFhYalB2M2bNxEZGYnIyEisXbsW3t7euHTpEiIjI2t0apWIiGqGuf+26498ARqUzMYSQoGcHA8GYWSd9u7diz/++AOTJk3C0aNHodFo8N5778kbk2/cuNGgvb29vdE2QmfPnoVKpcLChQvl8h6///57zdwAERHVKqWNfGkDMAHg3m4okqSBh0cOgJrdDpBBGNW4goICZGVlobi4GFeuXMGuXbuwYMEC9O/fH8899xySk5Nx9+5dfPjhh4iKisKhQ4ewcuVKg2sEBQXhxo0b2LNnDzp27AhnZ2c0adIE9vb2+PDDD/Hyyy8jOTkZb731loXukoiILKVkzte9AExHko8rFAKLF+fhmWeGw97evsYKtQJ1rFgr1Q+7du2Cn58fgoKC0LdvX+zbtw/Lli3D999/DxsbG3Ts2BHvv/8+Fi1ahPbt22Pt2rVYsGCBwTV69OiBl19+GcOGDYO3tzcWL14Mb29vxMXFYdOmTWjbti0WLlyId99910J3SURElqBWuxrlfGlHvu6RJA2ioz/DqFFx+O23q5gyxR1+fn41GoABgCR01U6p1snLy4NSqYRarYabm5vBuTt37iAtLQ3BwcFwdHSs0HUtXSesrrmfZ01ERNUnMzMTq1atMjiWlhaENWtGmWitzQUruRqyOv7WlfX3Wx+nI62Qp6cnYmJiykxorOkhWSIiopJ05SdKo1arjY55eKiMpiB1I19379pjxIgwtG//IIAHLf63jkGYlWKARUREtVllK94rlfmIioo3qgMWEJAJAAgNjao1fwMZhBEREVGtU5nSQroVkSEh5xEbuwQ5OR7w8MjBiy8+CXd3y498lcQgjIiIiGo9XYDl4aEyqOc1dOhQuLu7Y906J7z5phIajfTvikc1pk69XesCL30MwoiIiKhWK2ubIXd3dxQX+2HaNODfTVKg0UiYPt0dw4a5o5bGXwAYhBEREZGFlJV4n52dDcB0yYmS2wydO3cvANMpLgbOnwcCAqqv//eLQRgRERHVOHMT73NyPI2KrZbcZqhFC0ChMAzEbGyA5s2rtMtVjsVaiYiIqMaZm3ivKzmhT3+bIUA72rVqlTbwArRfP/mkdo+CAQzCiIiIqBZQq12RlhYEtdrV4Liu5IQuENPlhJXcbDs6GrhwAdi3T/s1OrqGOn4fOB1J9cr+/fvRq1cvXL9+He7u7ma9JygoCLGxsYiNja3WvhERWRtzcr6AshPvASA09DhCQs7LJSf0AzD9DbcDAmr/6Jc+BmFUo0aPHo01a9bgpZdeMtqUe9y4cVixYgVGjRqFuLg4y3SQiIiqhLk5X+Ul3g8aNAheXl4m31uby0+Yg0EY1bjAwECsX78eH3zwAZycnABo92dct24dmjRpYuHeERFRZemPfOmPdJWlvMR7Ly8v+Pn5VXlfawPmhFGNCw0NRWBgILZu3Sof27p1K5o0aYLOnTvLxwoKCjBhwgQ0atQIjo6OePjhh3HkyBGDa+3YsQMtW7aEk5MTevXqhQsXLhh93sGDB9GzZ084OTkhMDAQEyZMwM2bN6vt/oiIrJFu5GvVqlVYtWqVwb/xZTEn8b6+YhBGSE/XJjKmp9fcZ44ZMwZffPGF/PPnn3+O559/3qDNtGnTsGXLFqxZswbHjh1D8+bNERkZiZwc7X+Yly9fxqBBgxAVFYUTJ07ghRdewIwZMwyukZqair59+2Lw4ME4deoUNmzYgIMHDyImJqb6b5KIyIpUZpshwPzE+/qI05FWbvVqYOxYbW0VhUK7xLcmVpQ8++yzmDlzJi5evAgAOHToENavX4/9+/cDAG7evImPP/4YcXFxePLJJwEAn376KRISErB69WpMnToVH3/8MUJCQvDee+8BAFq1aoU//vgDixYtkj9nwYIFGDFihJx036JFCyxbtgyPPvooPv74Yzg6Olb/zRIRUanbDgHmJ97XNwzCrFh6+r0ADNB+feklIDKy+leXeHt7o1+/foiLi4MQAv369TNIvExNTcXdu3fx0EMPycfs7OzQrVs3nDlzBgBw5swZhIWFGVw3PDzc4OeTJ0/i1KlTWLt2rXxMCAGNRoO0tDS0adOmOm6PiIj0lLX6sT4n3peHQZgVs/Q2D2PGjJGnBT/66KNq+YwbN27gpZdewoQJE4zOcREAEVHlmCo9UTIRXzfyZWdXUObqx/qceF8eBmFWzNLbPPTt2xeFhYWQJAmRkZEG50JCQmBvb49Dhw6hadOmAIC7d+/iyJEj8tRimzZt8MMPPxi879dffzX4OTQ0FH/++Sea1/a9K4iI6ghzSk+UHPkqb9sha8XEfCtm6W0ebGxscObMGfz555+w0XXiXy4uLnjllVcwdepU7Nq1C3/++SdefPFF3Lp1C9H/Jq29/PLLOHfuHKZOnYqUlBSsW7fOqL7Y9OnTcfjwYcTExODEiRM4d+4cvv/+eybmExFVgEqlQmZmJjIzM5GRkVFmW1N1vwBh0EZ/9WN9zvkqD0fCrFx0tDYH7Px57QhYTVcadnNzK/XcwoULodFoMHLkSOTn56Nr167YvXs3GjZsCEA7nbhlyxZMmjQJH374Ibp164a3334bY8aMka/xwAMP4MCBA5g1axZ69uwJIQRCQkIwbNiwar83IqL6oLyRr5IJ96bqfgESAA0ABRQKgcWL8/DMM8Prfc5XeSQhhCi/GVlCXl4elEol1Gq1UbBy584dpKWlITg4mCv8qhmfNRFZs8zMTKxatcrkOVMJ9yEh57FkSaxBICZJGkRHf4a7d+0xZcpT6NChYU113yLK+vutj9ORREREVGGlbTcEAFFR8VAotGM8NjYC77yThzffjMJ770XV+wCsIjgdSURERGbTTT/evOlcasJ9aOhxzJkThvx8HzRvLiEgwB2AuyW6W6sxCCMiIiKzlJx+1OV56egn3Pv7a2CllSfMxulIIiIiKpep6UdJArSBmHVtN1RVOBJWx3FdRfXjMyYia5Geri3k3aKF8Wp5U6sehVBgyJCNcHG5ZVXbDVUVBmF1lK6uVmFhIZycnCzcm/pNVxW6ZC0zIqK6rGTV+3XrnDBtmhIajQSFQuD9929i4sQG8nkPD5VR4VVJ0iAwMB1KZb7B9kPWXnrCXAzC6ihbW1s4Ozvj2rVrsLOzg0LBmeXqoNFocO3aNTg7O8PWlv+5EFHdp1KpcO3aNWzYsEE+pla7/ltWQgIAaDQSJk1yRseO5xEYqD2mVOYjKireqCSFbvTL39+fgVcF8a9KHSVJEvz8/JCWloaLFy9aujv1mkKhQJMmTSBpkx+IiOqskoVXdSsdr10zPdUYF3cQwcEX8eyzz8LZ2RkAMGfONVy4YIugoCL4+z8I4EGOfFUSg7A6zN7eHi1atDDaRJWqlr29PUcaiaheuHr1qvz9sWOd8cMP/aFdo2ec+6q/0tHZ2VneZNvPD+jSpSZ6W/8xCKvjFAoFq7gTEZFZioqKAGhHwO4FYIB2WyF9XOlYExiEERERWZnLlwNRVpWqIUM2o337MzXXISvFORYiIiKS6VY8UvXjSBgREVE9ol96IiNDgbQ0WwQHF8HfX4Pr168DAAIDL0ObB2Y4DcmCqzWLQRgREVE9ob/6seQWQ1FR8QgNPQ5AW25iwIBtehXwNejRIxFhYUkMwGoQgzAiIqI6Tjf6lZ2dDbXaFZcvBxok3guhwLZt/REScl4OskJDjyMk5DxycjyMqt1TzWAQRkREVAfpAi+1Wi0XXtWOfsUa1fwCtIFYTo6HQbClVOabFXxxC6LqwSCMiIiojjFVdPXy5UCDDbZL0q/7VZ6hQ4fC3d0dALcgqk4MwoiIiOoY/SLd+rlfpSmZcK+/z2NJDLpqDoMwIiKiOkqtdi139Gvw4M3yJts6Xl5ecgV8shwGYURERHVUTo7xno86utEvFl2tvRiEERER1SL6db5M0U+S9/BQQZI0JQIxDYYMMR79otqHQRgREVEtYSrhPifHEx4eKoOAaujQoQC0qxujouKN6oGVN/rF1Y61A4MwIiKiWqK0hPuSxVZ1G3ED5tf70iXjM/G+9mAQRkREVMuUTLg3VWxVnzn1vvz9/Rl81TIMwoiIiCzA1B6PSmUuANMJ9/rFVu3s7Mz6DF29L45+1U4MwoiIiGpY6Xs8NkRUVGeEhJw3SrjXL7aqVCoRExNTbgI/A6/ajUEYERFRDdNuN2Rc5V437Rgbu8Rkwr3+lCMDrLqPQRgREVEN0U1BrlpVjCVLyt7jkRts138MwoiIiGqAbgoyPd0Pq1e/YNYej+ZusE11E4MwIiKiaqZSqZCRkYFDh8KRkBABoOwq9+UFXqzzVT8wCCMiIqpGf/xxHe+9F4+//w7CL788AUAy0cp0lXtTG20z4b7+YBBGRERUxXS5X+vWOWHaNHdoNKMACJgKwMqqcs+Ntus3BmFERERVSKVSYf78Nbh8ORCbNw/GvcDL9AhYdPRnCAjIrMEeUm3BIIyIiKgKxcXZlLry0ZDAE0/8VGYAxtyv+o1BGBERUSWlpwPnzgEtWgABAcCRI8DUqUoIYWrUC9BNSUqSBhERP+GhhxKNWnCPR+vBIIyIiKgCDPO9lNBoJEiSwH/+cxs7djiVGoDpAi9//4wy634xD8x6MAgjIiIyk67Wl1rt+u+UozbgEkLC9u1OKC3xfvBg45WPpeEUpPVgEEZERGQm3V6NpjbYrujKx5IGDRoEf39/TkFaEQZhREREFeThoTLaYNtYxVY+MgCzPuUt3SAiIqISlMp8RET8BG2ivT7tz5KkwYAB8WYHYEOHDmUAZoU4EkZERFQJupWNum2IzE28N8Xd3b16Okm1GoMwIiKiSnrooUS0b5+MnByPCgde+piMb53qzHTkgAED0KRJEzg6OsLPzw8jR45ERkaGfH7evHmQJMno5eLiYnCdTZs2oXXr1nB0dESHDh2wY8cOg/NCCMyZMwd+fn5wcnJCREQEzp07Z9AmJycHI0aMgJubG9zd3REdHY0bN24YtDl16hR69uwJR0dHBAYGYvHixVX8RIiIqDZQKvMRHHzRrABs0KBBGDt2rMErJiaGU5FWqs4EYb169cLGjRuRkpKCLVu2IDU1FUOGDJHPv/rqq8jMzDR4tW3bFv/973/lNocPH8bw4cMRHR2N48ePY+DAgRg4cCCSk5PlNosXL8ayZcuwcuVKJCUlwcXFBZGRkbhz547cZsSIETh9+jQSEhIQHx+Pn3/+GWPHjpXP5+XloU+fPmjatCmOHj2Kd955B/PmzcOqVauq+SkREVFtpqsBpv9iAGa9JCFEyazCOuGHH37AwIEDUVBQADs7O6PzJ0+eRKdOnfDzzz+jZ8+eAIBhw4bh5s2biI+Pl9t1794dnTp1wsqVKyGEgL+/P6ZMmYJXX30VAKBWq+Hj44O4uDg8/fTTOHPmDNq2bYsjR46ga9euAIBdu3bhP//5D9LT0+Hv74+PP/4Ys2bNQlZWljzEPGPGDHz33Xc4e/as2feYl5cHpVIJtVoNNze3Sj8rIiKqGro6YZU1duxYFmK1Aub+/a4zI2H6cnJysHbtWvTo0cNkAAYAn332GVq2bCkHYACQmJiIiIgIg3aRkZFITNQmV6alpSErK8ugjVKpRFhYmNwmMTER7u7ucgAGABEREVAoFEhKSpLbPPLIIwZz/JGRkUhJScH169dLva+CggLk5eUZvIiIqPbw9PTEsGHDKv1+5n6RvjoVhE2fPh0uLi7w9PTEpUuX8P3335tsd+fOHaxduxbR0dEGx7OysuDj42NwzMfHB1lZWfJ53bGy2jRq1MjgvK2tLTw8PAzamLqG/meYsmDBAiiVSvkVGBhYalsiIrp/6enAvn3ar+ZSKpUV/pxBgwYx94uMWDQImzFjhslkev2X/vTd1KlTcfz4cfz444+wsbHBc889B1Ozqd9++y3y8/MxatSomryd+zZz5kyo1Wr5dfnyZUt3iYioXkpPB6ZOBZo0AXr3Bpo2BVavrr7PYyFWMsWiJSqmTJmC0aNHl9mmWbNm8vdeXl7w8vJCy5Yt0aZNGwQGBuLXX39FeHi4wXs+++wz9O/f32g0ytfXF1euXDE4duXKFfj6+srndcf05+yvXLmCTp06yW2uXr1qcI2ioiLk5OQYXMfU5+h/hikODg5wcHAo9TwREd2/1auBsWMBjebeMY0GeOklIDISCAioms8ZNGgQvLy8YG9vzwCMTLJoEObt7Q1vb+9KvVfz7389BQUFBsfT0tKwb98+/PDDD0bvCQ8Px549exAbGysfS0hIkIO44OBg+Pr6Ys+ePXLQlZeXh6SkJLzyyivyNXJzc3H06FF06dIFALB3715oNBqEhYXJbWbNmoW7d+/KOWsJCQlo1aoVGjZsWKn7JSKi+5eeDrz4opA33tZXXAwkJang5IQygyZz87o4+kXlEnXAr7/+Kj788ENx/PhxceHCBbFnzx7Ro0cPERISIu7cuWPQ9vXXXxf+/v6iqKjI6DqHDh0Stra24t133xVnzpwRc+fOFXZ2duKPP/6Q2yxcuFC4u7uL77//Xpw6dUo89dRTIjg4WNy+fVtu07dvX9G5c2eRlJQkDh48KFq0aCGGDx8un8/NzRU+Pj5i5MiRIjk5Waxfv144OzuLTz75pEL3rVarBQChVqsr9D4iIjJt3LibAhAmX5JULCZNek/MmzdPZGdnl3md7OxskZGRUeqrvPdT/Wbu3+86EYSdOnVK9OrVS3h4eAgHBwcRFBQkXn75ZZGenm7Qrri4WAQEBIjXXnut1Gtt3LhRtGzZUtjb24t27dqJ7du3G5zXaDRi9uzZwsfHRzg4OIjHH39cpKSkGLRRqVRi+PDhokGDBsLNzU08//zzIj8/36DNyZMnxcMPPywcHBxE48aNxcKFCyt83wzCiIjuz+XLQuzdq/166lSOUCg0pQRhxWLAgO/FvHnzxLx580RGRoalu051mLl/v+tsnTBrwDphRESVp5/7pVAIdO9+GIcPP2TUrl27P9CnT4JBxXvW86L7Ua/rhBEREZUlPd0w+V6jkZCYGA5AY9BOkjRGARhRTWEQRkRE9c65c4arHwFACAV69EiEJGlPSJIGUVHxDMDIYiy6OpKIiOh+pacDhw9rv+/RA3ByUsHNrQgKRSNoNPdWQUqSBmFhSQgLS0JOjgc8PHIYgJFFMQgjIqI6a/Vq4MUXtan1ACBJAlFRhxAaehz9+3fGtm39IYTCaNSLwRfVBgzCiIiozlGpVLhwoQgvvtjIoOaXEBK2beuPkJDzCA09jpCQ8xz1olqLQRgREdUpKpUK8+evwenT7SBEpNF5IRTIyfGAUpkvvyqKG21TTWAQRkREdUpcnA2WLImFEAoAAoBh9XtJ0sDDI6dS1x40aBAr3VON4epIIiKqM9LTgWnTlP8GYIA2ALtX7vJ+VzwyAKOaxJEwIiKqM7SlJ0ru+yjhkUf2oVGjawgMTK90APbss88yAKMaxSCMiIjqBJWq9NITXbocr1DwNWjQIHh5eck/29vbMwCjGscgjIiIaj2VSoXly5cDQJmlJ8zl5eXFbYnI4hiEERFRrVdYWCh/XxWlJ7j6kWoDBmFERFTnmFt6ouS0I8CpR6o9GIQREVG1SU/XJtO3aAEEBNT853PakWozlqggIqJqsXo10LQp0Lu39uvq1cZt0tOBffu0X4msDYMwIiKqcunpwNixgEaj/VmjAV56yTDYMidII6rPOB1JRERVQn/qUVvPy/B8cTFw/rz2+8OHTQdpkZFVO23JBHyqzRiEERHRfVu9+l5QpVAACxdqv+oHYjY2wJEjwOOPCxMFV7VBWlKSCk5OqHTivH4iPhPwqbbjdCQREd0XU1OPM2cKvPaaGpJ0b0uh4mKB6dNNB2CAtujqoUNrsHz5cqhUKoNz5o5o+fv7w8/PD35+fgzAqNbjSBgREd0X01OPEs6e3Q0hhuDeBtsShCj57n/PlCi6ql8XDNCOjMXExBgd18eRL6prGIQREdF9adHCeOpRkjTQBl/lTbhoMGTIZrP2fGSARfUNpyOJiKjSVCoVbGwysXhxLmxstMNculGtwMDL/wZj+jTyMUnSYMCAeLRvf6bSm24T1WUcCSMiokrR388RACZMcDXaSigqKt5on8f73XKIqL5gEEZERJVSMj/L1FZCpe3zyOCLiEEYERFVQno68Ouv9lCrXcsNqMzd55HI2jAIIyKiCrlXE8wTkhSLqKh4hIYet3S3iOocJuYTEZHZStYEE0KBbdv6Q612rdLPYaV7sgYcCSMiIrOoVCr8+qt2BEyfEArk5Hjc95Sjrto9632RtWAQRkREJunvBenkpF0JqVa7QpJiIcS9iRRJ0sDDI+e+P8/Lywt+fn73fR2iuoLTkUREZGT1aqBpU6B3b+3XuDgbANok+6ioeINaX/qV7onIfBwJIyIiA6b2gpw+XYkJE7QrIUsrO1Ga//znP9ixY0e5n8s8MLI2DMKIiKycbtqxQQPgn3/UOHNGQKNxN2hTXCwZ5H2VVnZCl9elo8vvatasGfd9JCqBQRgRkRXQz+8KCLh3/F65CQAQAJT/fjVkbt5XaXldDLCIjDEnjIioniuZ37V6tfZ4yWlH7Ybb+l///Yl5X0TVgiNhRET1mKn8rpdeArp1u46UFI1RuQlTBg/ejPbtz1RzT4msD4MwIqJ67Nw5/ZEureJi4L33voeHR45RuYmSJEmDwMD0au4lkXXidCQRUT2lUqng5nYFCoVhjpdCIeRVjfrlJu7lgmm/VmYakisciczHkTAionpIpdIWVwWA/v07Y9u2/hBCAUnSoH//e4GVfrkJO7tC3L1rL38trfxEyRWQOlzhSFQxDMKIiOoh/XIQ5dX1Kq3cRGlY2Z6oajAIIyKqA0orMWGuigZaRFT9mBNGRFTLlVZiwlKY90VUNTgSRkRUi5VWYiIysnIjYvdj0KBB8Pf3Z94XURXhSBgRUS1WWomJ8+drvi9eXl4MwIiqEIMwIqJarEULQFHiX2obG6B5c8v0h4iqDoMwIqJaSqVSwcYmE4sX58LGRlu7y8ZGYNGiXNjYZEKlUt33ZzzxxBPo1avXfV+HiCqOOWFERLWQfp0vAJgwwVUuMXHjRj5WrdIej4mJgaenp9HqSXOT51u1aoXCwkLs27evOm6DiMrAIIyIqBbSr/MFlF5iorCwEKtX30veVyiAVauA6GhPxMTEGF1Hn664qrkjalwVSVS1GIQREdVhGRmKMlZPmpdE7+lpfsBGRFWHQRgRUS2lVrsiJ8cTHh6qUgutnjhx0+TqyaQkFZycYHbgxACLqOYxCCMiqmXS04H5813xySex8n6PUVHxCA09btT29OnvIEnadjqSpMGhQ2uQnJwv54wRUe3D1ZFERLXI6tVAkybAypUN5MBKCAW2besPtdrVqL1SmY+oqHhIknY4TBew6UbOyppiJCLL4kgYEVEtoa2OLyCEZHROCAVycjxMTkuWt0E3EdVODMKIiGoBlUqFPXtuQqNpYvK8JGng4ZFT6vu5QTdR3cMgjIjIwnQ1wdRqV6P8LsB4ipGI6gcGYUREFqaftxUenojExPB/AzENevRIRFhYkkEANmjQIADA1q1ba7qrRFSFGIQREdUCx451xrZt/fWCr0NGwZeOl5dXzXeQiKqc2UFYXl6e2Rd1c3OrVGeIiKyNSqVCcnKuXgAGAAokJoYjLCzJon0joupldhDm7u4OSTJesaNPCAFJklBcXHzfHSMiqu90uWDJyW0hRBuDc2WthgTM30KIWw0R1V5mB2Hc3JWIqGoVFhbK05AllbcaklsNEdV9Zgdhjz76aHX2g4jI6mRkKEpMQ+qYtxqSARZR3VbpxPzc3FysXr0aZ86cAQC0a9cOY8aMgVKprLLOERHVZ2lptiYCMGDIkM1o3/5Mqe/jFCNR/VCpbYt+//13hISE4IMPPkBOTg5ycnLw/vvvIyQkBMeOHavqPhIR1TsqlQpK5VV5uyEdSdIgMDDd5HuGDh3KvSCJ6hFJCCEq+qaePXuiefPm+PTTT2Frqx1MKyoqwgsvvIC///4bP//8c5V31Brl5eVBqVRCrVZzxSlRLZaeDpw7B7RoAQQElH9cl5APGJamKG2j7kGDBsHf35/BF1EdYe7f70pNR/7+++8GARgA2NraYtq0aejatWtlLklEVCetXg2MHQtoNIBCAbz//g0MHZqPdeucMG2aEhqNBIVCYPFiNZ555jbs7e0NkunN2ffRy8uLARhRPVSpIMzNzQ2XLl1C69atDY5fvnwZrq6uVdIxIqLaTKVS4cKFIowd2wgajbZ8j0YDTJrkjOTkdVi9+gV5I26NRsLUqW7455/PoVTmY+jQoQbX4r6PRNapUkHYsGHDEB0djXfffRc9evQAABw6dAhTp07F8OHDq7SDRES1jW46MS0tCBrNKINzQihw6VITo4R7/bpfRUVFFfo8JuIT1U+VSsx/9913MWjQIDz33HMICgpCUFAQRo8ejSFDhmDRokVV3UcAwIABA9CkSRM4OjrCz88PI0eOREZGhkGb3bt3o3v37nB1dYW3tzcGDx6MCxcuGLTZv38/QkND4eDggObNmyMuLs7osz766CMEBQXB0dERYWFh+O233wzO37lzB+PGjYOnpycaNGiAwYMH48qVKwZtLl26hH79+sHZ2RmNGjXC1KlTK/wPLxHVTrrpRA8PlcnE+iZNLpk8XlbdL1MGDRrERHyieqxSQZi9vT2WLl2K69ev48SJEzhx4gRycnLwwQcfwMHBoar7CADo1asXNm7ciJSUFGzZsgWpqakYMmSIfD4tLQ1PPfUUevfujRMnTmD37t3Izs6WN7rVtenXrx969eqFEydOIDY2Fi+88AJ2794tt9mwYQMmT56MuXPn4tixY+jYsSMiIyNx9epVuc2kSZOwbds2bNq0CQcOHEBGRobB5xQXF6Nfv34oLCzE4cOHsWbNGsTFxWHOnDnV8myIqPLS04F9+7RfK0qpzEdUVLwccOkS6wMCMk0er+iUI3PBiOq3Sq2OrA1++OEHDBw4EAUFBbCzs8PmzZsxfPhwFBQUQKHQxpbbtm3DU089JbeZPn06tm/fjuTkZPk6Tz/9NHJzc7Fr1y4AQFhYGB588EF55ZJGo0FgYCDGjx+PGTNmQK1Ww9vbG+vWrZODwLNnz6JNmzZITExE9+7dsXPnTvTv3x8ZGRnw8fEBAKxcuRLTp0/HtWvXzJ5a4OpIoupVMql+1SogOrr892VmZmLVqlXyz2q1q8nE+tKODxo0CFu3bi33c8aOHQs/P7+K3RQRWZy5f78rNRJ2584dvPPOO/jPf/6Drl27IjQ01OBV3XJycrB27Vr06NEDdnZ2AIAuXbpAoVDgiy++QHFxMdRqNb766itERETIbRITExEREWFwrcjISCQmJgLQTjEcPXrUoI1CoUBERITc5ujRo7h7965Bm9atW6NJkyZym8TERHTo0EEOwHSfk5eXh9OnT1fDEyGiikpPvxeAAdqvL72kPV7R0TGlMh/BwReNRrpKO05EBFQyMT86Oho//vgjhgwZgm7dupW7sXdVmT59OpYvX45bt26he/fuiI+Pl88FBwfjxx9/xNChQ/HSSy+huLgY4eHh2LFjh9wmKyvLIDACAB8fH+Tl5eH27du4fv06iouLTbY5e/asfA17e3u4u7sbtcnKyirzc3TnSlNQUICCggL557y8vPIeCRFV0rlz9wIwneJiYOlS4P33Kz46VhG6/2NYHibkE9VvlQrC4uPjsWPHDjz00EP39eEzZswoN5H/zJkzcimMqVOnIjo6GhcvXsQbb7yB5557DvHx8ZAkCVlZWXjxxRcxatQoDB8+HPn5+ZgzZw6GDBmChISEGgsU78eCBQvwxhtvWLobRPWeSqWCm1sRFIp75SUAQKEQeO896JWWAF56SaBTp6sICrKtsvwspVLJzbeJqHJBWOPGjaukHtiUKVMwevToMts0a9ZM/t7LywteXl5o2bIl2rRpg8DAQPz6668IDw/HRx99BKVSicWLF8vtv/76awQGBiIpKQndu3eHr6+v0SrGK1euwM3NDU5OTrCxsYGNjY3JNr6+vgAAX19fFBYWIjc312A0rGSbkisqddfUtTFl5syZmDx5svxzXl4eAgMDy3w+RFQx+tXq+/c3rFbfvXsiDh82/D+XxcUSPvxwJ4KDL1bZSkUGWEQEVDIIe++99zB9+nSsXLkSTZs2rfSHe3t7w9vbu1Lv1fw7j6Cbvrt165ackK9jY2Nj0Lbk9CQAJCQkIDw8HID2H8YuXbpgz549GDhwoPzePXv2ICYmBoA298zOzg579uzB4MGDAQApKSm4dOmSfJ3w8HDMnz8fV69eRaNGjeTPcXNzQ9u2bUu9JwcHh2pbXUpEWmVVqweAxMTwEjW+BDIy/BEcfBHXrl2Dp6en2dOEQ4cONUpdYABGRDqVWh157do1DB06FD///DOcnZ2N8htycipWC6c8SUlJOHLkCB5++GE0bNgQqampmD17Nq5cuYLTp0/DwcEBe/fuRUREBObNmydPR7722ms4e/Yszpw5AycnJ6SlpaF9+/YYN24cxowZg71792LChAnYvn07IiMjAWhLVIwaNQqffPIJunXrhiVLlmDjxo04e/asnNf1yiuvYMeOHYiLi4ObmxvGjx8PADh8+DAAbYmKTp06wd/fH4sXL0ZWVhZGjhyJF154AW+//bbZ983VkURVr+TKxpIOHQpHQsITAO5NU0qSBrGxS6BU5sujYSqVitOJRGRSte4dOXz4cPzzzz94++234ePjU+35Vs7Ozti6dSvmzp2Lmzdvws/PD3379sXrr78ujxz17t0b69atw+LFi7F48WI4OzsjPDwcu3btgpOTEwBt8v727dsxadIkLF26FAEBAfjss8/kAAzQ7gZw7do1zJkzB1lZWejUqRN27dplkGj/wQcfQKFQYPDgwSgoKEBkZCRWrFghn7exsUF8fDxeeeUVhIeHw8XFBaNGjcKbb75Zrc+JiO6fv38m9AMwQFvt/vLlACiVZ+TAiwEWEd2vSo2EOTs7IzExER07dqyOPtG/OBJGVHXS07UrIt3criA+fmWp7dRqVyxZEmu07ZCu4OrKlQ+ydhcRlala64S1bt0at2/frnTniIhq0urVQNOmQO/eQLdujXDsWOdS2+qq4AOG9SuEUGDbtv7IyKjUP5tEREYq9a/JwoULMWXKFOzfvx8qlQp5eXkGLyKi2kClUuHo0SsYO1boFWWVsG1bf6jVpa/wDg09jiFDthgdF0KBkydvQqVSVVeXiciKVConrG/fvgCAxx9/3OC4EAKSJKG4uPj+e0ZEdB90pSjS0oKg0YwyOCeEAjk5HmVWsg8MvAxJ0hhMS0qSBsnJ3+Hy5XxurE1E961SQdi+ffuquh9ERPdFl/PVogUQEHCvFIWHh8pkMKUrSVEa3bSkfh0x/U24y1oZSURkjkoFYY8++qhZ7f7v//4Pb775Jry8vCrzMUREZjG1Efd//qM9V14wNWjQIHh5eSEtLQ0JCQkG1y1ZR4x7QBJRVapUEGaur7/+Gq+++iqDMCKqFiqVChcuFGHs2HvbD+m2Gtq5M1duV1Yw5eXlBT8/P9jb2xsFYYA2iGPwRUTVoVqDsEpUvyAiMktZOV/FxRLWrk1CcPC9Y+UFU56enoiJiUFGRga2bt1aXd0mIpJVaxBGRFRdzMn5UqtdkZPjCQ8PlVmjWZ6ensz1IqIawyCMiOq00nK+UlObGx0LDT1u6e4SEckYhBFRnWdqI279qve6QqshIeeZ30VEtQaDMCKqF/RzvtLSgoy2HSqtNpi9vX2ZP5fG3HZERKWp1iDs2Wef5Z6HRFSlVCoVCgsLkZ2dXWobDw8VtNsOma4NpitLYW9vb1RwVZegX1ZumKn3ERFVVKWDsNzcXPz222+4evUqNBrDPdaee+45AMDHH398f70jItKjWxGpU1rifWpqcwCS3jsNa4PpylKUhgEWEdWESgVh27Ztw4gRI3Djxg24ublBku79YydJkhyEERHdD92ol47+6NexY51NJt6r1a7Ytq0/9IMwSQJCQs7XZNeJiMpVqSBsypQpGDNmDN5++204OztXdZ+IiMoY9dJuvK0LwIB7iff29gXyz/rM2SuSiKimVSoI++effzBhwgQGYERUbfRHwEqOeoWHJ5oMtDZv/i8kSYOy8sGIiGoLRflNjEVGRuL333+v6r4QERnRTS/qj3odPhz+b7BlTBuoAdpADEZ7RQJc2UhEtYPZI2E//PCD/H2/fv0wdepU/Pnnn+jQoQPs7OwM2g4YMKDqekhEVi0nx9No1AtQoFmzcyYS8LWEUGDIkI1wcblltFfk0KFDmXhPRLWC2UHYwIEDjY69+eabRsckSUJxcfF9dYqI6reSCfcl6Y9UlbYtUWpqCEwFYLrzgYHpJnPA3N3dK91vIqKqZHYQVrIMBRFRZZRMuC/NsGHDAJjelig8PBGHDz9k8n2mph+JiGqjSiXmf/nllxg2bBgcHBwMjhcWFmL9+vUsUUFEpSo5AlZara+7d+/K35valigxMbzENKUGQ4ZsLnUEjIiotqlUYv7zzz8PtVptdDw/Px/PP//8fXeKiKzDsWOdsWRJLNasGYUlS2Jx7Fhn+Vx+/r1A6l6gliNvTxQVFS8n50uSBgMGxKN9+zPlBmBMyiei2qJSI2FCCIMCrTrp6elQKpX33Skiqv9MrXrU32Q7ISEBQOlFWUuOjpUWfOm2KAK43RAR1S4VCsI6d+4MSZIgSRIef/xx2Nree3txcTHS0tLQt2/fKu8kEdU/plY9liyqWl6gpr9pd2nK26KIiMhSKhSE6VZInjhxApGRkWjQoIF8zt7eHkFBQRg8eHCVdpCI6pfc3FwApa961C+qak6gRkRUV1UoCJs7dy4AICgoCMOGDYOjo2O1dIqI6ieVSoWNGzcCML3qseSqRnMCNSKiuqpSOWGjRo0CoF3ldPXqVaPyFU2aNLn/nhFRnVNe/S/dKJiOLq/r8uUAABICAy8bnDcnUCsPE/GJqLaqVBB27tw5jBkzBocPHzY4rkvYZ7FWIutjbv0vfWq1K5KSwnD4cDgAw8R7nbIS8Pv06WOQFgEAtra2ckFWJuITUW1WqSBs9OjRsLW1RXx8PPz8/EyulCQi62Ju/S8d/VWPOiUT73VKS8APCgpi0j0R1VmVCsJOnDiBo0ePonXr1lXdHyKqB0orK6FTctWjPibeE5G1qFSx1rZt2yI7O7uq+0JE9UBpZSXUale5jelNubUqknjPfC8iqssqNRK2aNEiTJs2DW+//TY6dOgAOzs7g/Nubm5V0jkiqnvMKSthatWjlmHivX6h1ZKY70VEdV2lgrCIiAgAQO/evQ3ywZiYT0TmlJUobVPusLAkg2lIFlolovqsUkHYvn37qrofRFRPmFtWwtxth4iI6qtKBWGPPvoofvnlF3zyySdITU3F5s2b0bhxY3z11VcIDg6u6j4SUR1TVoA1bNgwCCGwcePGcrcdYs4XEdVnlQrCtmzZgpEjR2LEiBE4fvw4CgoKAABqtRpvv/02duzYUaWdJKLar2TAVFqA5e3tDU9PT8TExJRZ2JU5X0RU30lCCFHRN3Xu3BmTJk3Cc889B1dXV5w8eRLNmjXD8ePH8eSTTyIrK6s6+mp18vLyoFQqoVarudiB6oTyKuYzsCIia2Du3+9KjYSlpKTgkUceMTquVCqNtiUhIuvBAIuIyHyVCsJ8fX1x/vx5BAUFGRw/ePAgmjVrVhX9IqJK4mgUEVHdUKkg7MUXX8TEiRPx+eefQ5IkZGRkIDExEa+++ipmz55d1X0kIjOV3L+xtK2DYmJiGIgREVlYpYKwGTNmQKPR4PHHH8etW7fwyCOPwMHBAa+++irGjx9f1X0kIjPpj4CVtXVQWSNlpnB0jYio6lUqCJMkCbNmzcLUqVNx/vx53LhxA23btkWDBg2qun9EVAmlbR1UcmNsc5QcXSsNR9eIiCqmUkGYjr29Pdq2bVtVfSGiKmLO1kHmKjkCVtoUZ0VH14iIrN19BWFEVPPKmhrMzs4GYN7WQZVR1hQnERFVDIMwolqotEBLrVZjw4YN5b7f3K2DKqIqpziJiIhBGFGtY24OVnmqem/GqpziJCIiBmFEtY65OVjlnQNK3zqoMqpripOIyFoxCCOqxcrKwbqf/KzKbIxdHVOcRETWjEEYUS1VVg4WgDLzswYNGgQvLy+T172fml5VPcVJRGTNGIQR1VJl5WABUpn5WV5eXvDz86uSfpQcNSttirMyo2tERNaMQRhRLVVeDlZN5Wd5enoiJiaGFfOJiKoYgzCiWqq8HKyazM9igEVEVPUYhBHVYmXlYJV1jlODRES1H4MwolrG3BysoUOHwt3d3eT7OXJFRFT7MQgjqmWYg0VEZB0YhBHVQgywiIjqP0X5TYiIiIioqjEIIyIiIrIABmFEREREFsCcMCILUqlUTMAnIrJSDMKILESlUmH58uXltouJiWEgRkRUD3E6kshCyhoBq0w7IiKqWzgSRlTHlJzCzM3NRVFREQAgK8sWGRkuaN/eAf7+GgCc0iQiqq0YhBHVIWVNYR471tloL8nQ0OMAOKVJRFQbMQgjMqG2JsyX1ie12lUOwABACAW2beuPkJDzUCrzOaVJRFQLMQgjKqE6EuZNBXXZ2dmV6p8+tdoVOTmeuHnTWQ7AdIRQICfHw+S+k0REZHkMwohKqOqEeXODOl1A5eGhMitwKjn9CGigv9ZGkjTw8Mgxq49ERFTz6szqyAEDBqBJkyZwdHSEn58fRo4ciYyMDIM2GzduRKdOneDs7IymTZvinXfeMbrO/v37ERoaCgcHBzRv3hxxcXFGbT766CMEBQXB0dERYWFh+O233wzO37lzB+PGjYOnpycaNGiAwYMH48qVKwZtLl26hH79+sHZ2RmNGjXC1KlT5eRpsi7mBGvHjnXGkiWxWLNmFJYsicWxY53LbG9q+lGSAG0gBjknjKNgRES1V50Jwnr16oWNGzciJSUFW7ZsQWpqKoYMGSKf37lzJ0aMGIGXX34ZycnJWLFiBT744AODEYi0tDT069cPvXr1wokTJxAbG4sXXngBu3fvltts2LABkydPxty5c3Hs2DF07NgRkZGRuHr1qtxm0qRJ2LZtGzZt2oQDBw4gIyMDgwYNks8XFxejX79+KCwsxOHDh7FmzRrExcVhzpw51fyUqC4qLZ9LrXYFoM0/Kyknx9Pk9OOQIZsxalQcYmOXyEn5RERUO0lCCGHpTlTGDz/8gIEDB6KgoAB2dnZ45plncPfuXWzatElu8+GHH2Lx4sW4dOkSJEnC9OnTsX37diQnJ8ttnn76aeTm5mLXrl0AgLCwMDz44INy8KbRaBAYGIjx48djxowZUKvV8Pb2xrp16+Qg8OzZs2jTpg0SExPRvXt37Ny5E/3790dGRgZ8fHwAACtXrsT06dNx7do1k39UTcnLy4NSqYRarYabm1uVPDcqX2ZmJlatWlVuu7Fjx8LPz+++r5eWFoQ1a0YZHd+8WYXHHoNB3pnuWmq1K5YsiTUIxCRJg9jYJSZHv8ztKxER3T9z/37XmZEwfTk5OVi7di169OgBOzs7AEBBQQEcHR0N2jk5OSE9PR0XL14EACQmJiIiIsKgTWRkJBITEwFop42OHj1q0EahUCAiIkJuc/ToUdy9e9egTevWrdGkSRO5TWJiIjp06CAHYLrPycvLw+nTp0u9r4KCAuTl5Rm8qP7z8FD9m9N1j40NEBbmWWriv1KZj6ioePl9nH4kIqp76lQQNn36dLi4uMDT0xOXLl3C999/L5+LjIzE1q1bsWfPHmg0Gvz111947733AGhHDwAgKyvLIDACAB8fH+Tl5eH27dvIzs5GcXGxyTZZWVnyNezt7eHu7l5mG1PX0J0rzYIFC6BUKuVXYGCguY+GqpFa7Yq0tCB5erA8KpUKmZmZ8qu8VZC6gMrGRjsobWMDfPIJEBBg3FZ/FDU09DhiY5eYNf1o7ugrERHVHIuujpwxYwYWLVpUZpszZ86gdevWAICpU6ciOjoaFy9exBtvvIHnnnsO8fHxkCQJL774IlJTU9G/f3/cvXsXbm5umDhxIubNmweFom7EmjNnzsTkyZPln/Py8hiIWVhZBVBNMWclpKlVkKGhxzFnThjy833QvLnpAAzQTk3GxMSUWjEfAOzs7KBUKuWfWTGfiKh2smgQNmXKFIwePbrMNs2aNZO/9/LygpeXF1q2bIk2bdogMDAQv/76K8LDwyFJEhYtWoS3334bWVlZ8Pb2xp49ewyu4evra7SK8cqVK3Bzc4OTkxNsbGxgY2Njso2vr698jcLCQuTm5hqMhpVsU3JFpe6aujamODg4wMHBocznQdVPN2pUXgFUU6NL5a2ELCuo8/fXwJy0rZIBFXO9iIjqJosOEXl7e6N169ZlvkqbRtFotLkwBQUFBsdtbGzQuHFj2Nvb45tvvkF4eDi8vb0BAOHh4XJgppOQkIDw8HAA2j++Xbp0MWij0WiwZ88euU2XLl1gZ2dn0CYlJQWXLl2S24SHh+OPP/4wWFGZkJAANzc3tG3btlLPimqObrSpR49RJlcgPvTQqEptA1SZVZBERFR/1YlirUlJSThy5AgefvhhNGzYEKmpqZg9ezZCQkLkwCc7OxubN2/GY489hjt37uCLL76QS0jovPzyy1i+fDmmTZuGMWPGYO/evdi4cSO2b98ut5k8eTJGjRqFrl27olu3bliyZAlu3ryJ559/HgCgVCoRHR2NyZMnw8PDA25ubhg/fjzCw8PRvXt3AECfPn3Qtm1bjBw5EosXL0ZWVhZef/11jBs3jiNddYSnpye6dwcUCkCjlzN/L2Fe+3PJSvhl5X+VVlaiWbM+iIiwRWFhITIzMzl9SERkJepEEObs7IytW7di7ty5uHnzJvz8/NC3b1+8/vrrBkHNmjVr8Oqrr0IIgfDwcOzfvx/dunWTzwcHB2P79u2YNGkSli5dioCAAHz22WeIjIyU2wwbNgzXrl3DnDlzkJWVhU6dOmHXrl0GifYffPABFAoFBg8ejIKCAkRGRmLFihXyeRsbG8THx+OVV15BeHg4XFxcMGrUKLz55pvV/KSoKgUEAKtWAS+9BBQXGyfMm1sJX0e3CrJkWYm///4RGzYYrmrkhttERPVfna0TZg1YJ6x2SE8Hzp+HUcK8ufXE9Jmb6M+6XkREdZe5f7/rxEgYUXUytbm2Picnezz2WOVGpUquhAwNPY6QkPPIyfGAh0cO63oREVkxBmFk1cydUqzM9GBpo15KZb4cfFV0024iIqo/GISRVTNnc+2KtNMpr7wFUPEaZEREVL/UjSqmRHVMaSsh//yzLdRq13LLVRARUf3HkTCiamBqJSQgsHt3X/z4Yx+EhyeaDNJycjw4LUlEZCU4EkZURfT3mCy5wTYgAEja74QCiYnhAAw37ZYkDTw8cmq0z0REZDkcCSMyU8lVlLm5ufL3peV3hYSch739M1i0yHC7KiEU6NHjEBITww3eoxsFY/V8IqL6j0EYkRlyc3OxceNGk+dM5Xdt3x6FOXPCEBRki9u3PfHOOyUr7wssW9YcwDVcuGCLoKAi+Ps/COBBVswnIrISDMKI9JRWMqKoqKjU95hKwi8ulpCf7yNvb2RceV9Cly7aXRi6dKn6+yAiotqPQRhZNf1pv7JKRtjZ2ZV6DVNJ+DY22gr7OtHRQGSk6cr7RERknbhtUS3GbYtqhkqlwoULRejWrRE0Gkk+bmMjkJR0FUFB2s21y9qiSD+A0+0xGR1dE70nIqLahtsWEZnJ09MTp04Z5mwB96YUARWys7PLvIYuCf+hh0YhLMyTI11ERFQuBmFEAFq0ABSKksnzgKfndbO2NQIApTIfPXoUgvtuExGROVgnjAjaHK1Vq7SBFwB5StHL647J9vo1wYiIiCqDI2FE/zKVPJ+ZadyOez4SEVFVYBBGpCcgoOyVi+VtzM0iq0REZC4GYUQVcPlyoMk9H9u3H4innlKyyCoREZmNQRiRmXTTkCVJkgYdO7owACMiogphEEZWo+TejyWVtV1QyWnIe7Q5Ydoth4iIiMzHIIysgkqlMqvURExMjMlAzNTWRAAwZMhmtG9/BgCDMCIiqhiWqCCrUNYIWFntdIn2uq2J9EmSBoGB6QbtiIiIzMWRMCI92dnZBtOSnp6eiImJQWFhIRo3zsP06UoUF0uwsRFYtCgPzzwzvMxpTCIiotIwCCPSs3XrVgDA0KFD4e7uDkA7yuXn54cpU4Bhw3R1xCQEBLgDcLdUV4mIqI5jEEZkwsaNGw1+1uWKlVdHjIiIyFzMCSOrVNq2Q6UdNzenjIiIyFwcCSOrU9q2Q9yOiIiIahJHwsiqmNp26Icf+iMlpbnJ7Yi4QTcREVUXBmFkFXQlJEzX+1Lgm2+Gm9yOKCfHo4Z6SERE1oZBGFkFXamJESO6GdX70lIAEAZHJEkDD4+cGukfERFZHwZhZDU8PT3Rvr07oqLiAZgKxCQ5QNPlhCmV+TXaRyIish5MzCerYm9vj9DQ42jUKAurV79gMAUpSRpER3+Gu3ft4eGRwwCMiIiqFYMwqjXuZ4Ntc+lXwG/dOg/Tpimh0UjyyFdAQGapn01ERFSVJCGEKL8ZWUJeXh6USiXUajXc3Nws3Z1qdb8bbFdWejpw9KgaAQF34O9vaoqyaoI/IiKyHub+/eZIGNUKld1g+35pK+ArASir9LpERETlYRBGFqWbgszOzrZ0V4iIiGoUgzCyGHOnIImIiOojlqggi+F+jEREZM0YhFGtVNpG2kRERPUFpyOp1uFG2kREZA04Eka1iqkNtrmRNhER1UcMwqjWUKtdcfp0uzI30mbRVCIiqi84HUm1gv4UpHYjbUk+p1AIjB//JIKCbFk0lYiI6g0GYWRxJacgtQGYNhCTJA3mzMmAv78NCgsLkZlpuK0Qq9kTEVFdxSCMLEY3tZiT42k0BQlIiIzchbZt/wSQj1WrSr9OVW9lREREVBOYE0YWo9tMe/z4vlAoDLcwtbERmDKlKZTKfPlYaWUrWG+MiIjqIo6EkUV5enrC0xNYtQp46SWguBiwsQE++URC+/buOHxY245lK4iIqL7hSBjVCtHRwIULwL592q/R0ffOsWwFERHVRxwJo3LpNtkuTVUlxwcEaF8lmcoZ05Wt0J+uJCIiqksYhFGZzN1kuzqT4zMy/FCybIUkaeDhkVMtn0dERFQTOB1JZTI36b06kuPVajXUalf89FME9AMwQCAi4ieOghERUZ3GIIwqpKY21lapVNiwYUOp5Sv8/TOq9fOJiIiqG6cjyWwVWaGYng6cOwe0aGE6z6s8upE1Dw8VJEljEIiVnIrkVkZERFQXcSSMzGLOCkWVSoXMzEy8914umjYV6N0baNpU4L33cpGZmQmVSlXhz1Uq8xEVFQ9J0gCAHPzppiKHDh3KQq1ERFQncSSMzFLeCsXc3Fxs3LgRarUrliyJhRDaHC6NRsLUqW7455/PoVTmVyqBPzT0OEJCziMnxwMeHjkGuWDu7u73fW9ERESWwCCMzFLetGBRURGA8oO1yibwK5X5TMQnIqJ6hdORZJbypgV1dMGaPpaTICIiMsaRMCqTftJ7WdOCdnZ2AO4FayUT+DmKRUREZIhBGJVJt8l2eRXz9c+XFawRERGRFoMwKpc5ifSZmZkGP99vDpe5ZSdYnoKIiOoqBmFUK5k7AsfyFEREVFcxCKNaiwEWERHVZ1wdSVWC04dEREQVw5EwqhKcPiQiIqoYBmFUZRhgERERmY/TkUREREQWwCCMiIiIyAIYhBERERFZQJ0LwgoKCtCpUydIkoQTJ04YnDt16hR69uwJR0dHBAYGYvHixUbv37RpE1q3bg1HR0d06NABO3bsMDgvhMCcOXPg5+cHJycnRERE4Ny5cwZtcnJyMGLECLi5ucHd3R3R0dG4ceNGhftCRERE1qvOBWHTpk2Dv7+/0fG8vDz06dMHTZs2xdGjR/HOO+9g3rx5WLVqldzm8OHDGD58OKKjo3H8+HEMHDgQAwcORHJystxm8eLFWLZsGVauXImkpCS4uLggMjISd+7ckduMGDECp0+fRkJCAuLj4/Hzzz9j7NixFeoLERERWTlRh+zYsUO0bt1anD59WgAQx48fl8+tWLFCNGzYUBQUFMjHpk+fLlq1aiX/PHToUNGvXz+Da4aFhYmXXnpJCCGERqMRvr6+4p133pHP5+bmCgcHB/HNN98IIYT4888/BQBx5MgRuc3OnTuFJEnin3/+Mbsv5lCr1QKAUKvVFXofERERWY65f7/rzEjYlStX8OKLL+Krr76Cs7Oz0fnExEQ88sgjBsVAIyMjkZKSguvXr8ttIiIiDN4XGRmJxMREAEBaWhqysrIM2iiVSoSFhcltEhMT4e7ujq5du8ptIiIioFAokJSUZHZfTCkoKEBeXp7Bi4iIiOqnOhGECSEwevRovPzyywbBj76srCz4+PgYHNP9nJWVVWYb/fP67yutTaNGjQzO29rawsPDo9zP0f8MUxYsWAClUim/AgMDS21LREREdZtFg7AZM2ZAkqQyX2fPnsWHH36I/Px8zJw505LdrXYzZ86EWq2WX5cvX7Z0l4iIiKiaWLRi/pQpUzB69Ogy2zRr1gx79+5FYmIiHBwcDM517doVI0aMwJo1a+Dr64srV64YnNf97OvrK3811Ub/vO6Yn5+fQZtOnTrJba5evWpwjaKiIuTk5JT7OfqfYYqDg4PRPRIREVH9ZNGRMG9vb7Ru3brMl729PZYtW4aTJ0/ixIkTOHHihFxWYsOGDZg/fz4AIDw8HD///DPu3r0rXz8hIQGtWrVCw4YN5TZ79uwx6ENCQgLCw8MBAMHBwfD19TVok5eXh6SkJLlNeHg4cnNzcfToUbnN3r17odFoEBYWZnZf6pL0dGDfPu1XIiIiqiI1s06gaqWlpRmtjszNzRU+Pj5i5MiRIjk5Waxfv144OzuLTz75RG5z6NAhYWtrK959911x5swZMXfuXGFnZyf++OMPuc3ChQuFu7u7+P7778WpU6fEU089JYKDg8Xt27flNn379hWdO3cWSUlJ4uDBg6JFixZi+PDhFeqLOWrD6sjPPhNCoRAC0H797DOLdYWIiKhOMPfvd70JwoQQ4uTJk+Lhhx8WDg4OonHjxmLhwoVG7924caNo2bKlsLe3F+3atRPbt283OK/RaMTs2bOFj4+PcHBwEI8//rhISUkxaKNSqcTw4cNFgwYNhJubm3j++edFfn5+hftSHksHYZcv3wvAdC8bG+1xIiIiMs3cv9+SEEJYciSOSpeXlwelUgm1Wg03N7ca+cz0dODcOaBFC+3X3r2N2+zbBzz2WI10h4iIqM4x9+93nShRQTVj9WqgaVNt4NW0KfD774CixG+IjQ3QvLll+kdERFSfMAgjANoRsBdfBDQa7c8aDTBzJrBokTbwArRfP/kECAiwXD+JiIjqC4uWqKDaY+lSbdaXvuJiIDhYhaSkIly4YIugoCL4+2uQmQnY29vD09PTMp0lIiKqBxiEEdLTgfffN3VGg0OH1iA5OR8AoLfPOQAgJiaGgRgREVElcTqScO7cvWlIfT16JEKpzC/1fYWFhdXYKyIiovqNQRihRQvjBHxJ0iAsLMkyHSIiIrICDMIIAQHAqlX6CfgCUVHxZY6CERER0f1hTpiVS08Hfv9djU6d7iApCbhwwRZubldx+PBxS3eNiIioXmMQZsVWrwbGjhXQaJSQJFdERcUjNJTBFxERUU3gdKQVSk8HNm4EXnxRQKORAABCKLBtW3+o1a4W7h0REZF1YBBmZXRV8YcNA4SQDM4JoUBOjoeFekZERGRdGIRZkfR0YOxY0+UoAO2KSA+PHLOvZ29vX0U9IyIisj7MCbMipdUDA7QBWFkrIgcNGgQvLy/5Z1bMJyIiuj8MwqyIrh6YfiAmSRoMHrwZgYHpZZak8PLygp+fXw30koiIyDpwOtKKBAQA779/A5KkjcJ0o1/t259hTTAiIqIaxpEwKzN0aD4uXlyFnBwPeHjkMPgiIiKyEAZhVkKlUqGwsBDZ2dlQKvMrHHwxCZ+IiKhqMQizAiqVCsuXL6/0+5999lkm4RMREVUxBmFWoLCwsMLv0a2G5CpIIiKi6sEgjEziakgiIqLqxdWRRERERBbAIIyIiIjIAhiEkUlcDUlERFS9mBNGMibjExER1RwGYSRjMj4REVHN4XSkFTB3apFTkERERDWHI2FWwNPTEzExMWXWC+MUJBERUc1iEGYlGGARERHVLpyOJCIiIrIABmFEREREFsAgjIiIiMgCGIQRERERWQCDMCIiIiILYBBGREREZAEMwoiIiIgsgEEYERERkQUwCCMiIiKyAFbMr8WEEACAvLw8C/eEiIiIzKX7u637O14aBmG1WH5+PgAgMDDQwj0hIiKiisrPz4dSqSz1vCTKC9PIYjQaDTIyMuDq6gpJksx6T15eHgIDA3H58mW4ublVcw9rLz4HLT4HPgMdPgctPgc+A53qfA5CCOTn58Pf3x8KRemZXxwJq8UUCgUCAgIq9V43Nzer/o9Lh89Bi8+Bz0CHz0GLz4HPQKe6nkNZI2A6TMwnIiIisgAGYUREREQWwCCsnnFwcMDcuXPh4OBg6a5YFJ+DFp8Dn4EOn4MWnwOfgU5teA5MzCciIiKyAI6EEREREVkAgzAiIiIiC2AQRkRERGQBDMKIiIiILIBBWB3w8ccf44EHHpALyoWHh2Pnzp3y+Tt37mDcuHHw9PREgwYNMHjwYFy5csXgGpcuXUK/fv3g7OyMRo0aYerUqSgqKqrpW6kyCxcuhCRJiI2NlY9Zy3OYN28eJEkyeLVu3Vo+by3P4Z9//sGzzz4LT09PODk5oUOHDvj999/l80IIzJkzB35+fnByckJERATOnTtncI2cnByMGDECbm5ucHd3R3R0NG7cuFHTt1JpQUFBRr8LkiRh3LhxAKznd6G4uBizZ89GcHAwnJycEBISgrfeestg3z5r+H3Iz89HbGwsmjZtCicnJ/To0QNHjhyRz9fHZ/Dzzz8jKioK/v7+kCQJ3333ncH5qrrnU6dOoWfPnnB0dERgYCAWL15cNTcgqNb74YcfxPbt28Vff/0lUlJSxGuvvSbs7OxEcnKyEEKIl19+WQQGBoo9e/aI33//XXTv3l306NFDfn9RUZFo3769iIiIEMePHxc7duwQXl5eYubMmZa6pfvy22+/iaCgIPHAAw+IiRMnyset5TnMnTtXtGvXTmRmZsqva9euyeet4Tnk5OSIpk2bitGjR4ukpCTx999/i927d4vz58/LbRYuXCiUSqX47rvvxMmTJ8WAAQNEcHCwuH37ttymb9++omPHjuLXX38Vv/zyi2jevLkYPny4JW6pUq5evWrwe5CQkCAAiH379gkhrON3QQgh5s+fLzw9PUV8fLxIS0sTmzZtEg0aNBBLly6V21jD78PQoUNF27ZtxYEDB8S5c+fE3LlzhZubm0hPTxdC1M9nsGPHDjFr1iyxdetWAUB8++23Buer4p7VarXw8fERI0aMEMnJyeKbb74RTk5O4pNPPrnv/jMIq6MaNmwoPvvsM5Gbmyvs7OzEpk2b5HNnzpwRAERiYqIQQvtLqlAoRFZWltzm448/Fm5ubqKgoKDG+34/8vPzRYsWLURCQoJ49NFH5SDMmp7D3LlzRceOHU2es5bnMH36dPHwww+Xel6j0QhfX1/xzjvvyMdyc3OFg4OD+Oabb4QQQvz5558CgDhy5IjcZufOnUKSJPHPP/9UX+er0cSJE0VISIjQaDRW87sghBD9+vUTY8aMMTg2aNAgMWLECCGEdfw+3Lp1S9jY2Ij4+HiD46GhoWLWrFlW8QxKBmFVdc8rVqwQDRs2NPhvYvr06aJVq1b33WdOR9YxxcXFWL9+PW7evInw8HAcPXoUd+/eRUREhNymdevWaNKkCRITEwEAiYmJ6NChA3x8fOQ2kZGRyMvLw+nTp2v8Hu7HuHHj0K9fP4P7BWB1z+HcuXPw9/dHs2bNMGLECFy6dAmA9TyHH374AV27dsV///tfNGrUCJ07d8ann34qn09LS0NWVpbBc1AqlQgLCzN4Du7u7ujatavcJiIiAgqFAklJSTV3M1WksLAQX3/9NcaMGQNJkqzmdwEAevTogT179uCvv/4CAJw8eRIHDx7Ek08+CcA6fh+KiopQXFwMR0dHg+NOTk44ePCgVTyDkqrqnhMTE/HII4/A3t5ebhMZGYmUlBRcv379vvrIDbzriD/++APh4eG4c+cOGjRogG+//RZt27bFiRMnYG9vD3d3d4P2Pj4+yMrKAgBkZWUZ/COrO687V1esX78ex44dM8hx0MnKyrKa5xAWFoa4uDi0atUKmZmZeOONN9CzZ08kJydbzXP4+++/8fHHH2Py5Ml47bXXcOTIEUyYMAH29vYYNWqUfB+m7lP/OTRq1MjgvK2tLTw8POrMc9D33XffITc3F6NHjwZgXf9NzJgxA3l5eWjdujVsbGxQXFyM+fPnY8SIEQBgFb8Prq6uCA8Px1tvvYU2bdrAx8cH33zzDRITE9G8eXOreAYlVdU9Z2VlITg42OgaunMNGzasdB8ZhNURrVq1wokTJ6BWq7F582aMGjUKBw4csHS3aszly5cxceJEJCQkGP0/PWuj+3/3APDAAw8gLCwMTZs2xcaNG+Hk5GTBntUcjUaDrl274u233wYAdO7cGcnJyVi5ciVGjRpl4d5ZxurVq/Hkk0/C39/f0l2pcRs3bsTatWuxbt06tGvXDidOnEBsbCz8/f2t6vfhq6++wpgxY9C4cWPY2NggNDQUw4cPx9GjRy3dNSoFpyPrCHt7ezRv3hxdunTBggUL0LFjRyxduhS+vr4oLCxEbm6uQfsrV67A19cXAODr62u0Ikr3s65NbXf06FFcvXoVoaGhsLW1ha2tLQ4cOIBly5bB1tYWPj4+VvEcTHF3d0fLli1x/vx5q/l98PPzQ9u2bQ2OtWnTRp6W1d2HqfvUfw5Xr141OF9UVIScnJw68xx0Ll68iJ9++gkvvPCCfMxafhcAYOrUqZgxYwaefvppdOjQASNHjsSkSZOwYMECANbz+xASEoIDBw7gxo0buHz5Mn777TfcvXsXzZo1s5pnoK+q7rk6/zthEFZHaTQaFBQUoEuXLrCzs8OePXvkcykpKbh06RLCw8MBAOHh4fjjjz8MftESEhLg5uZm9Iestnr88cfxxx9/4MSJE/Kra9euGDFihPy9NTwHU27cuIHU1FT4+flZze/DQw89hJSUFINjf/31F5o2bQoACA4Ohq+vr8FzyMvLQ1JSksFzyM3NNRgl2Lt3LzQaDcLCwmrgLqrOF198gUaNGqFfv37yMWv5XQCAW7duQaEw/HNmY2MDjUYDwPp+H1xcXODn54fr169j9+7deOqpp6zuGQBV9797eHg4fv75Z9y9e1duk5CQgFatWt3XVCQAlqioC2bMmCEOHDgg0tLSxKlTp8SMGTOEJEnixx9/FEJol6E3adJE7N27V/z+++8iPDxchIeHy+/XLUPv06ePOHHihNi1a5fw9vauc8vQS9JfHSmE9TyHKVOmiP3794u0tDRx6NAhERERIby8vMTVq1eFENbxHH777Tdha2sr5s+fL86dOyfWrl0rnJ2dxddffy23WbhwoXB3dxfff/+9OHXqlHjqqadMLk3v3LmzSEpKEgcPHhQtWrSo1cvxTSkuLhZNmjQR06dPNzpnDb8LQggxatQo0bhxY7lExdatW4WXl5eYNm2a3MYafh927doldu7cKf7++2/x448/io4dO4qwsDBRWFgohKifzyA/P18cP35cHD9+XAAQ77//vjh+/Li4ePGiEKJq7jk3N1f4+PiIkSNHiuTkZLF+/Xrh7OzMEhXWYsyYMaJp06bC3t5eeHt7i8cff1wOwIQQ4vbt2+L//u//RMOGDYWzs7P4f//v/4nMzEyDa1y4cEE8+eSTwsnJSXh5eYkpU6aIu3fv1vStVKmSQZi1PIdhw4YJPz8/YW9vLxo3biyGDRtmUB/LWp7Dtm3bRPv27YWDg4No3bq1WLVqlcF5jUYjZs+eLXx8fISDg4N4/PHHRUpKikEblUolhg8fLho0aCDc3NzE888/L/Lz82vyNu7b7t27BQCjexPCen4X8vLyxMSJE0WTJk2Eo6OjaNasmZg1a5ZBSQFr+H3YsGGDaNasmbC3txe+vr5i3LhxIjc3Vz5fH5/Bvn37BACj16hRo4QQVXfPJ0+eFA8//LBwcHAQjRs3FgsXLqyS/ktC6JUUJiIiIqIawZwwIiIiIgtgEEZERERkAQzCiIiIiCyAQRgRERGRBTAIIyIiIrIABmFEREREFsAgjIiIiMgCGIQRERERWQCDMCKqVx577DHExsZauhvVbt68eejUqZOlu0FE94FBGBFRLVJYWFijnyeEQFFRUY1+JhFpMQgjonpj9OjROHDgAJYuXQpJkiBJEi5cuIDk5GQ8+eSTaNCgAXx8fDBy5EhkZ2fL73vssccwfvx4xMbGomHDhvDx8cGnn36Kmzdv4vnnn4erqyuaN2+OnTt3yu/Zv38/JEnC9u3b8cADD8DR0RHdu3dHcnKyQZ8OHjyInj17wsnJCYGBgZgwYQJu3rwpnw8KCsJbb72F5557Dm5ubhg7diwAYPr06WjZsiWcnZ3RrFkzzJ49G3fv3gUAxMXF4Y033sDJkyfl+4yLi8OFCxcgSRJOnDghXz83NxeSJGH//v0G/d65cye6dOkCBwcHHDx4EBqNBgsWLEBwcDCcnJzQsWNHbN68uar/JyIiPQzCiKjeWLp0KcLDw/Hiiy8iMzMTmZmZcHV1Re/evdG5c2f8/vvv2LVrF65cuYKhQ4cavHfNmjXw8vLCb7/9hvHjx+OVV17Bf//7X/To0QPHjh1Dnz59MHLkSNy6dcvgfVOnTsV7772HI0eOwNvbG1FRUXKwlJqair59+2Lw4ME4deoUNmzYgIMHDyImJsbgGu+++y46duyI48ePY/bs2QAAV1dXxMXF4c8//8TSpUvx6aef4oMPPgAADBs2DFOmTEG7du3k+xw2bFiFntWMGTOwcOFCnDlzBg888AAWLFiAL7/8EitXrsTp06cxadIkPPvsszhw4ECFrktEFVAl24ATEdUSjz76qJg4caL881tvvSX69Olj0Oby5csCgEhJSZHf8/DDD8vni4qKhIuLixg5cqR8LDMzUwAQiYmJQggh9u3bJwCI9evXy21UKpVwcnISGzZsEEIIER0dLcaOHWvw2b/88otQKBTi9u3bQgghmjZtKgYOHFjufb3zzjuiS5cu8s9z584VHTt2NGiTlpYmAIjjx4/Lx65fvy4AiH379hn0+7vvvpPb3LlzRzg7O4vDhw8bXC86OloMHz683L4RUeXYWjIAJCKqbidPnsS+ffvQoEEDo3Opqalo2bIlAOCBBx6Qj9vY2MDT0xMdOnSQj/n4+AAArl69anCN8PBw+XsPDw+0atUKZ86ckT/71KlTWLt2rdxGCAGNRoO0tDS0adMGANC1a1ejvm3YsAHLli1Damoqbty4gaKiIri5uVX4/kuj/5nnz5/HrVu38MQTTxi0KSwsROfOnavsM4nIEIMwIqrXbty4gaioKCxatMjonJ+fn/y9nZ2dwTlJkgyOSZIEANBoNBX67JdeegkTJkwwOtekSRP5excXF4NziYmJGDFiBN544w1ERkZCqVRi/fr1eO+998r8PIVCm2EihJCP6aZGS9L/zBs3bgAAtm/fjsaNGxu0c3BwKPMziajyGIQRUb1ib2+P4uJi+efQ0FBs2bIFQUFBsLWt+n/yfv31Vzmgun79Ov766y95hCs0NBR//vknmjdvXqFrHj58GE2bNsWsWbPkYxcvXjRoU/I+AcDb2xsAkJmZKY9g6Sfpl6Zt27ZwcHDApUuX8Oijj1aor0RUeUzMJ6J6JSgoCElJSbhw4QKys7Mxbtw45OTkYPjw4Thy5AhSU1Oxe/duPP/880ZBTGW8+eab2LNnD5KTkzF69Gh4eXlh4MCBALQrHA8fPoyYmBicOHEC586dw/fff2+UmF9SixYtcOnSJaxfvx6pqalYtmwZvv32W6P7TEtLw4kTJ5CdnY2CggI4OTmhe/fucsL9gQMH8Prrr5d7D66urnj11VcxadIkrFmzBqmpqTh27Bg+/PBDrFmzptLPhojKxiCMiOqVV199FTY2Nmjbti28vb1RWFiIQ4cOobi4GH369EGHDh0QGxsLd3d3efrufixcuBATJ05Ely5dkJWVhW3btsHe3h6ANs/swIED+Ouvv9CzZ0907twZc+bMgb+/f5nXHDBgACZNmoSYmBh06tQJhw8flldN6gwePBh9+/ZFr1694O3tjW+++QYA8Pnnn6OoqAhdunRBbGws/ve//5l1H2+99RZmz56NBQsWoE2bNujbty+2b9+O4ODgSjwVIjKHJPSTB4iIyCz79+9Hr169cP36dbi7u1u6O0RUB3EkjIiIiMgCGIQRERERWQCnI4mIiIgsgCNhRERERBbAIIyIiIjIAhiEEREREVkAgzAiIiIiC2AQRkRERGQBDMKIiIiILIBBGBEREZEFMAgjIiIisgAGYUREREQW8P8B6JPQbxtY+lcAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj4AAAHHCAYAAAC/R1LgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABYbUlEQVR4nO3deXgTdeI/8HeSHpTSpjb0tNCWtoIgIlREYAUEpCDU5QeuKKIgxYJLRcTlWr4ieHHJ7QVuOWTFk+oKLC6oiAIVlYLYFRDYFiyUK7VpodJCMr8/YkLTNmmSJpmZzPv1PDwlk0n6yTSZeedzqgRBEEBERESkAGqxC0BERETkKww+REREpBgMPkRERKQYDD5ERESkGAw+REREpBgMPkRERKQYDD5ERESkGAw+REREpBgMPkRERKQYDD5ERBK0bt06qFQqFBcXi10UIr/C4EOkUN9//z1ycnLQoUMHhIaGonXr1njggQfwyy+/1Nu3T58+UKlUUKlUUKvVCA8PR9u2bfHII49gx44dLv3ezZs3o3fv3oiOjkbz5s3Rpk0bPPDAA/jss8889dLqefnll/HJJ5/U2753717MmTMH5eXlXvvddc2ZM8d6LFUqFZo3b4727dvj//7v/1BRUeGR37Fx40YsW7bMI89F5G8YfIgUasGCBdi0aRP69euH5cuXIzs7G19//TW6dOmCwsLCevsnJCRgw4YNePvtt7Fo0SLcd9992Lt3LwYMGIARI0bg6tWrjf7OV155Bffddx9UKhVmzpyJpUuXYvjw4Th27Bjee+89b7xMAI6Dz9y5c30afCzeeOMNbNiwAUuWLEG7du3w0ksvYeDAgfDE8okMPkT2BYhdACISx5QpU7Bx40YEBQVZt40YMQIdO3bE/Pnz8c9//tNmf61Wi1GjRtlsmz9/PiZNmoTXX38dSUlJWLBggd3fd+3aNbzwwgu45557sH379nr3nz9/vomvSDqqqqrQvHlzh/vcf//9aNmyJQBgwoQJGD58OPLy8vDtt9+ie/fuvigmkSKxxodIoXr06GETegAgLS0NHTp0wOHDh516Do1GgxUrVqB9+/Z49dVXYTAY7O578eJFVFRUoGfPng3eHx0dbXP7ypUrmDNnDm666SY0a9YMcXFxGDZsGE6cOGHd55VXXkGPHj2g0+kQEhKC9PR0fPTRRzbPo1KpcPnyZaxfv97avDRmzBjMmTMHU6dOBQAkJydb76vdp+af//wn0tPTERISgsjISDz44IP49ddfbZ6/T58+uOWWW7B//3706tULzZs3x9///nenjl9tffv2BQAUFRU53O/1119Hhw4dEBwcjPj4eEycONGmxqpPnz7YunUrTp48aX1NSUlJLpeHyF+xxoeIrARBwLlz59ChQwenH6PRaPDQQw/h2Wefxe7duzF48OAG94uOjkZISAg2b96MJ598EpGRkXaf02g0YsiQIfjiiy/w4IMP4qmnnkJlZSV27NiBwsJCpKSkAACWL1+O++67Dw8//DBqamrw3nvv4S9/+Qu2bNliLceGDRswbtw43HHHHcjOzgYApKSkIDQ0FL/88gveffddLF261Fr7EhUVBQB46aWX8Oyzz+KBBx7AuHHjcOHCBaxcuRK9evXCgQMHEBERYS2vXq/HoEGD8OCDD2LUqFGIiYlx+vhZWAKdTqezu8+cOXMwd+5c9O/fH0888QSOHj2KN954A99//z327NmDwMBAzJo1CwaDASUlJVi6dCkAoEWLFi6Xh8hvCUREf9iwYYMAQMjNzbXZ3rt3b6FDhw52H/fxxx8LAITly5c7fP7Zs2cLAITQ0FBh0KBBwksvvSTs37+/3n5r1qwRAAhLliypd5/JZLL+v6qqyua+mpoa4ZZbbhH69u1rsz00NFQYPXp0vedatGiRAEAoKiqy2V5cXCxoNBrhpZdestn+008/CQEBATbbe/fuLQAQ3nzzTbuvu7bnnntOACAcPXpUuHDhglBUVCSsWrVKCA4OFmJiYoTLly8LgiAIa9eutSnb+fPnhaCgIGHAgAGC0Wi0Pt+rr74qABDWrFlj3TZ48GAhMTHRqfIQKQ2buogIAHDkyBFMnDgR3bt3x+jRo116rKVGobKy0uF+c+fOxcaNG9G5c2f85z//waxZs5Ceno4uXbrYNK9t2rQJLVu2xJNPPlnvOVQqlfX/ISEh1v//9ttvMBgMuOuuu1BQUOBS+evKy8uDyWTCAw88gIsXL1r/xcbGIi0tDTt37rTZPzg4GI899phLv6Nt27aIiopCcnIyxo8fj9TUVGzdutVu36DPP/8cNTU1mDx5MtTq66fuxx9/HOHh4di6davrL5RIgdjURUQ4e/YsBg8eDK1Wi48++ggajcalx1+6dAkAEBYW1ui+Dz30EB566CFUVFRg3759WLduHTZu3IjMzEwUFhaiWbNmOHHiBNq2bYuAAMenqC1btuDFF1/EwYMHUV1dbd1eOxy549ixYxAEAWlpaQ3eHxgYaHP7xhtvrNdfqjGbNm1CeHg4AgMDkZCQYG2+s+fkyZMAzIGptqCgILRp08Z6PxE5xuBDpHAGgwGDBg1CeXk5vvnmG8THx7v8HJbh76mpqU4/Jjw8HPfccw/uueceBAYGYv369di3bx969+7t1OO/+eYb3HfffejVqxdef/11xMXFITAwEGvXrsXGjRtdfg21mUwmqFQqbNu2rcEQWLfPTO2aJ2f16tXL2q+IiHyHwYdIwa5cuYLMzEz88ssv+Pzzz9G+fXuXn8NoNGLjxo1o3rw5/vSnP7lVjttvvx3r169HaWkpAHPn43379uHq1av1alcsNm3ahGbNmuE///kPgoODrdvXrl1bb197NUD2tqekpEAQBCQnJ+Omm25y9eV4RWJiIgDg6NGjaNOmjXV7TU0NioqK0L9/f+u2ptZ4Efkz9vEhUiij0YgRI0YgPz8fH374oVtzxxiNRkyaNAmHDx/GpEmTEB4ebnffqqoq5OfnN3jftm3bAFxvxhk+fDguXryIV199td6+wh8T/Gk0GqhUKhiNRut9xcXFDU5UGBoa2uAkhaGhoQBQ775hw4ZBo9Fg7ty59SYUFAQBer2+4RfpRf3790dQUBBWrFhhU6bc3FwYDAab0XShoaEOpxYgUjLW+BAp1DPPPINPP/0UmZmZKCsrqzdhYd3JCg0Gg3WfqqoqHD9+HHl5eThx4gQefPBBvPDCCw5/X1VVFXr06IE777wTAwcORKtWrVBeXo5PPvkE33zzDYYOHYrOnTsDAB599FG8/fbbmDJlCr777jvcdddduHz5Mj7//HP89a9/xZ///GcMHjwYS5YswcCBAzFy5EicP38er732GlJTU3Ho0CGb352eno7PP/8cS5YsQXx8PJKTk9GtWzekp6cDAGbNmoUHH3wQgYGByMzMREpKCl588UXMnDkTxcXFGDp0KMLCwlBUVISPP/4Y2dnZ+Nvf/tak4++qqKgozJw5E3PnzsXAgQNx33334ejRo3j99dfRtWtXm79Xeno63n//fUyZMgVdu3ZFixYtkJmZ6dPyEkmWmEPKiEg8lmHY9v452rdFixZCWlqaMGrUKGH79u1O/b6rV68Kb731ljB06FAhMTFRCA4OFpo3by507txZWLRokVBdXW2zf1VVlTBr1iwhOTlZCAwMFGJjY4X7779fOHHihHWf3NxcIS0tTQgODhbatWsnrF271jpcvLYjR44IvXr1EkJCQgQANkPbX3jhBeHGG28U1Gp1vaHtmzZtEv70pz8JoaGhQmhoqNCuXTth4sSJwtGjR22OjaOh/nVZynfhwgWH+9Udzm7x6quvCu3atRMCAwOFmJgY4YknnhB+++03m30uXbokjBw5UoiIiBAAcGg7US0qQfDAwjBEREREMsA+PkRERKQYDD5ERESkGAw+REREpBgMPkRERKQYDD5ERESkGAw+REREpBicwLAOk8mEM2fOICwsjNO+ExERyYQgCKisrER8fDzUavv1Ogw+dZw5cwatWrUSuxhERETkhl9//RUJCQl272fwqSMsLAyA+cA5WneIiIiIpKOiogKtWrWyXsftYfCpw9K8FR4ezuBDREQkM411U2HnZiIiIlIMBh8iIiJSDAYfIiIiUgz28SEiIvIAo9GIq1evil0MvxUYGAiNRtPk55FN8Jk3bx7y8vJw5MgRhISEoEePHliwYAHatm1r3efKlSt45pln8N5776G6uhoZGRl4/fXXERMTI2LJiYjInwmCgLNnz6K8vFzsovi9iIgIxMbGNmmePdkEn127dmHixIno2rUrrl27hr///e8YMGAAfv75Z4SGhgIAnn76aWzduhUffvghtFotcnJyMGzYMOzZs0fk0hMRkb+yhJ7o6Gg0b96ck996gSAIqKqqwvnz5wEAcXFxbj+XShAEwVMF86ULFy4gOjoau3btQq9evWAwGBAVFYWNGzfi/vvvBwAcOXIEN998M/Lz83HnnXc69bwVFRXQarUwGAwczk5ERA4ZjUb88ssviI6Ohk6nE7s4fk+v1+P8+fO46aab6jV7OXv9lm3nZoPBAACIjIwEAOzfvx9Xr15F//79rfu0a9cOrVu3Rn5+vihlJCIi/2bp09O8eXORS6IMluPclL5Usmnqqs1kMmHy5Mno2bMnbrnlFgDmqsagoCBERETY7BsTE4OzZ8/afa7q6mpUV1dbb1dUVHilzERE5L/YvOUbnjjOsgw+EydORGFhIXbv3t3k55o3bx7mzp3rgVLJn16vR01Njd37g4KCWJVLRESyJrvgk5OTgy1btuDrr7+2WYQsNjYW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wYeIiIgUg8GHiIiIFIPBh4iIiBSDwYeIiIgUg8GHiIiIFIPBh4iIiBSDwYeIZKOmpkbsItQjxTIRkX0MPkQkmj59+iAnJwc5OTnQarVo2bIlnn32WVhW0klKSsILL7yARx99FOHh4cjOzgYA7N69G3fddRdCQkLQqlUrTJo0CZcvX7Y+7+uvv460tDQ0a9YMMTExuP/++633ffTRR+jYsSNCQkKg0+nQv39/62P79OmDyZMn25Rx6NChGDNmjPW2u2UiImlg8CEiUa1fvx4BAQH47rvvsHz5cixZsgT/+Mc/rPe/8sor6NSpEw4cOIBnn30WJ06cwMCBAzF8+HAcOnQI77//Pnbv3o2cnBwAwA8//IBJkybh+eefx9GjR/HZZ5+hV69eAIDS0lI89NBDGDt2LA4fPoyvvvoKw4YNg6tLFrpaJiKSDi5SSkSi6dOnD86fP4///ve/UKlUAIAZM2bg008/xc8//4ykpCR07twZH3/8sfUx48aNg0ajwapVq6zbdu/ejd69e+Py5cv497//jcceewwlJSUICwuz+X0FBQVIT09HcXExEhMTGyzPbbfdhmXLllm3DR06FBEREVi3bh0AuFWmZs2aNek4EZHnsMaHiER15513WkMPAHTv3h3Hjh2D0WgEANx+++02+//4449Yt24dWrRoYf2XkZEBk8mEoqIi3HPPPUhMTESbNm3wyCOP4J133kFVVRUAoFOnTujXrx86duyIv/zlL3jrrbfw22+/uVxmV8tERNLB4ENEkhYaGmpz+9KlSxg/fjwOHjxo/ffjjz/i2LFjSElJQVhYGAoKCvDuu+8iLi4Os2fPRqdOnVBeXg6NRoMdO3Zg27ZtaN++PVauXIm2bdtaw4lara7X7HX16tUml4mIpIPBh4hEtW/fPpvb3377LdLS0qDRaBrcv0uXLvj555+Rmppa719QUBAAICAgAP3798fChQtx6NAhFBcX48svvwQAqFQq9OzZE3PnzsWBAwcQFBRkbbaKiopCaWmp9XcZjUYUFhY2+hqcKRMRSQODDxGJ6tSpU5gyZQqOHj2Kd999FytXrsRTTz1ld//p06dj7969yMnJwcGDB3Hs2DH861//snYk3rJlC1asWIGDBw/i5MmTePvtt2EymdC2bVvs27cPL7/8Mn744QecOnUKeXl5uHDhAm6++WYAQN++fbF161Zs3boVR44cwRNPPIHy8vJGX0NjZSIi6QgQuwBEpGyPPvoofv/9d9xxxx3QaDR46qmnrEPEG3Lrrbdi165dmDVrFu666y4IgoCUlBSMGDECABAREYG8vDzMmTMHV65cQVpaGt5991106NABhw8fxtdff41ly5ahoqICiYmJWLx4MQYNGgQAGDt2LH788Uc8+uijCAgIwNNPP42777670dfQWJmISDo4qouIRNPQKCoiIm9iUxcREREpBoMPERERKQabuoiIiEgxWONDREREisHgQ0RERIrB4ENERESKweBDREREisHgQ0RERIrB4ENERESKweBDREREisHgQ0RERIrB4ENERESK8f8BKTkfuivYzxoAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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KKBSqRAWFuawz2DOjh3anh5zx9PStMNbaWkMPURERHWx9fvbK4a6Dhw4gD///BMymQydO3dGfHw8+vbta9Tjk5eXhw4dOuhDDwD07t0bFRUV+N///mfxta9du4aKigqjH1dp3drcsJZAaOhZyOUlaNOmBHJ5CUpKtD9KpdJlbSMiImqMvGKo648//gAAzJgxAwsWLEBycjLmz5+Pu+66C7///jsiIiJQWlpqFHoA6B+XlpZafO3Zs2dj5syZzmu8FYmJwJw52mEtjQaQJA369duMzZsPWnxOTk4OIiMjXdhKIiKixsOtPT5TpkyBJElWf3777Tdo/i6CmTZtGgYNGoSMjAysXLkSkiTh448/blAbpk6dCpVKpf85ffq0Iz6aTVasMAw9Ar16fY30dMuhBwCqqqpc1DoiIqLGx609PhMmTMCIESOsXtOqVSuUlJQAANq1a6c/HhgYiFatWuHUqVMAgLi4OPz0009Gzz179qz+nCWBgYEIDAy0p/kNYlrYLISEr7/uhZtuyodCUeny9hAREfkCtwaf6OhoREdH13ldRkYGAgMDcezYMdxxxx0AgOrqahQVFSEpKQkAkJmZiZdffhnnzp1DTEwMAGD79u0ICwszCkyewtx6PULIUFYWweBDRETkJF5R4xMWFoannnoKL7zwAlq0aIGkpCTMmzcPAPDQQw8BAO677z60a9cOw4YNw6uvvorS0lL85z//wZgxY9zSo1MXXWGzYfiRJA0iIsrc1ygiIqJGziuCDwDMmzcPfn5+GDZsGP766y907doV3377LZo1awYAkMvl2Lx5M55++mlkZmYiJCQEw4cPx4svvujmlpuXmAgsX67djkK7Xo9Av36b2dtDRETkRF6xjo8ruWodH6VSiaqqKpw5I0NRkR/Cws5hz56P6nzeqFGjEB8f77R2EREReSNbv7+9psenMVEqlViyZIm7m0FERORzvGIBw8amIVPSbV2BmoiIiGpjj48bqFQqm64bOHAgoqKi9I8DAgK4eCEREVEDMPi4mFKpxPr16226NioqivU8REREDsShLherqqqCShWKwsJkqFSh7m4OERGRT2GPj4utXRuEhQtzIYQMkqTBgAGb69ymgoiIiByDPT4uVFwMTJqkgBDa2y6EDJs29WfPDxERkYsw+LiQdpsKyeiYbpsKIiIicj4GHxcpLgbOn9fuwm7I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s3LlSsTExKBfv376Y77yuwAAV65cgUxm/BUil8uh0WgA+N7vQ0hICOLj43Hx4kV89dVX+Oc//+lz9wBw3D/3zMxMfP/996iurtZfs337drRp06ZBw1wAOJ3dkilTpoidO3eKwsJCceTIETFlyhQhSZLYtm2bEEI7ZbVly5bi22+/FT///LPIzMwUmZmZ+ufrpqzed9994tChQ+LLL78U0dHRXjdl1ZThrC4hfOc+TJgwQXz33XeisLBQ7N69W/Tq1UtERUWJc+fOCSF84z789NNPws/PT7z88svi+PHj4oMPPhDBwcHi/fff118zZ84cER4eLv773/+KI0eOiH/+859mp7F27txZ7N27V+zatUu0bt3ao6fumqNWq0XLli3F5MmTa53zhd8FIYQYPny4aN68uX46+8aNG0VUVJSYNGmS/hpf+H348ssvxdatW8Uff/whtm3bJjp16iS6du0qqqqqhBCN8x5UVlaKgwcPioMHDwoAYsGCBeLgwYPi5MmTQgjHfOby8nIRGxsrhg0bJvLz88W6detEcHAwp7M708iRI0VSUpIICAgQ0dHR4p577tGHHiGE+Ouvv8S//vUv0axZMxEcHCz+3//7f6KkpMToNYqKikTfvn1FUFCQiIqKEhMmTBDV1dWu/igOZRp8fOU+ZGVlifj4eBEQECCaN28usrKyjNav8ZX7sGnTJnHTTTeJwMBA0bZtW7F8+XKj8xqNRjz//PMiNjZWBAYGinvuuUccO3bM6BqlUimGDBkimjZtKsLCwsTjjz8uKisrXfkxGuyrr74SAGp9NiF853ehoqJCPPPMM6Jly5aiSZMmolWrVmLatGlG04994fdh/fr1olWrViIgIEDExcWJMWPGiPLycv35xngPduzYIQDU+hk+fLgQwnGf+fDhw+KOO+4QgYGBonnz5mLOnDkOab8khMEym0RERESNGGt8iIiIyGcw+BAREZHPYPAhIiIin8HgQ0RERD6DwYeIiIh8BoMPERER+QwGHyIiIvIZDD5ERETkMxh8iKjB7rrrLuTm5rq7GU43Y8YM3Hzzze5uBhE1AIMPEfm8qqoql76fEAI1NTUufU8i0mLwIaIGGTFiBHbu3IlFixZBkiRIkoSioiLk5+ejb9++aNq0KWJjYzFs2DBcuHBB/7y77roLY8eORW5uLpo1a4bY2Fi88847uHz5Mh5//HGEhoYiLS0NW7du1T/nu+++gyRJ2LJlCzp27IgmTZrgtttuQ35+vlGbdu3ahTvvvBNBQUFo0aIFxo0bh8uXL+vPJycnY9asWXjssccQFhaGUaNGAQAmT56MG264AcHBwWjVqhWef/55/e7Qq1atwsyZM3H48GH951y1ahWKioogSRIOHTqkf/3y8nJIkoTvvvvOqN1bt25FRkYGAgMDsWvXLmg0GsyePRspKSkICgpCp06d8Mknnzj6HxERGWDwIaIGWbRoETIzM/Hkk0+ipKQEJSUlCA0NRc+ePdG5c2f8/PPP+PLLL3H27FkMHjzY6LmrV69GVFQUfvrpJ4wdOxZPP/00HnroIXTr1g0HDhzAfffdh2HDhuHKlStGz5s4cSLmz5+Pffv2ITo6GgMGDNAHlBMnTqBPnz4YNGgQjhw5gvXr12PXrl3Iyckxeo3XXnsNnTp1wsGDB/H8888DAEJDQ7Fq1Sr8+uuvWLRoEd555x28/vrrAICsrCxMmDAB7du313/OrKyset2rKVOmYM6cOTh69Cg6duyI2bNn47333sPbb7+N//3vf3j22Wfx6KOPYufOnfV6XSKqB4dsdUpEPq1Hjx7imWee0T+eNWuWuO+++4yuOX36tNGO5j169BB33HGH/nxNTY0ICQkRw4YN0x8rKSkRAEReXp4Q4vqu0OvWrdNfo1QqRVBQkFi/fr0QQojs7GwxatQoo/f+4YcfhEwmE3/99ZcQQoikpCTxwAMP1Pm55s2bJzIyMvSPX3jhBdGpUyejawoLCwUAcfDgQf2xixcvCgBix44dRu3+7LPP9NdcvXpVBAcHiz179hi9XnZ2thgyZEidbSMi+/i5M3QRUeN0+PBh7NixA02bNq117sSJE7jhhhsAAB07dtQfl8vliIyMRIcOHfTHYmNjAQDnzp0zeo3MzEz93yMiItCmTRscPXpU/95HjhzBBx98oL9GCAGNRoPCwkLceOONAIAuXbrUatv69euxePFinDhxApcuXUJNTQ3CwsLq/fktMXzPgoICXLlyBffee6/RNVVVVejcubPD3pOIjDH4EJHDXbp0CQMGDMDcuXNrnYuPj9f/3d/f3+icJElGxyRJAgBoNJp6vffo0aMxbty4Wudatmyp/3tISIjRuby8PAwdOhQzZ85E7969oVAosG7dOsyfP9/q+8lk2ooBIYT+mG7YzZThe166dAkAsGXLFjRv3tzousDAQKvvSUT2Y/AhogYLCAiAWq3WP05PT8eGDRuQnJwMPz/H/2fmxx9/1IeYixcv4vfff9f35KSnp+PXX39FWlpavV5zz549SEpKwrRp0/THTp48aXSN6ecEgOjoaABASUmJvqfGsNDZknbt2iEwMBCnTp1Cjx496tVWIrIfi5uJqMGSk5Oxd+9eFBUV4cKFCxgzZgzKysowZMgQ7Nu3DydOnMBXX32Fxx9/vFZwsMeLL76Ib775Bvn5+RgxYgSioqLwwAMPANDOzNqzZw9ycnJw6NAhHD9+HP/9739rFTebat26NU6dOoV169bhxIkTWLx4MT799NNan7OwsBCHDh3ChQsXcO3aNQQFBeG2227TFy3v3LkT//nPf+r8DKGhoXjuuefw7LPPYvXq1Thx4gQOHDiAN954A6tXr7b73hCRdQw+RNRgzz33HORyOdq1a4fo6GhUVVVh9+7dUKvVuO+++9ChQwfk5uYiPDxcPzTUEHPmzMEzzzyDjIwMlJaWYtOmTQgICACgrRvauXMnfv/9d9x5553o3Lkzpk+fjoSEBKuvef/99+PZZ59FTk4Obr75ZuzZs0c/20tn0KBB6NOnD+6++25ER0fjww8/BAC8++67qKmpQUZGBnJzc/HSSy/Z9DlmzZqF559/HrNnz8aNN96IPn36YMuWLUhJSbHjrhCRLSRhODBNROTBvvvuO9x99924ePEiwsPD3d0cIvJC7PEhIiIin8HgQ0RERD6DQ11ERETkM9jjQ0RERD6DwYeIiIh8BoMPERER+QwGHyIiIvIZDD5ERETkMxh8iIiIyGcw+BAREZHPYPAhIiIin8HgQ0RERD7j/wNMvoG13BwBoAAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "4/4 [==============================] - 0s 4ms/step\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAm4AAAHHCAYAAAAGU9SoAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABf+ElEQVR4nO3dfVzN5+M/8Nfp/oYKpUKR23IzoqnTsJnmsCw2PsMM0WyMmftiSLYRwzY34/v52MTmfjZyG8vNbspdwtyUjRIjMSpF99fvj369dZwTxTmdczqv5+NxHpzrfZ33uU7v6bx2Xe/rumRCCAEiIiIi0nsmum4AEREREVUOgxsRERGRgWBwIyIiIjIQDG5EREREBoLBjYiIiMhAMLgRERERGQgGNyIiIiIDweBGREREZCAY3IiIiIgMBIMbEdFzkslkmDNnjq6bIQkODkaTJk103Qwi0gIGNyKqkaKioiCTyaSHlZUVWrZsiXHjxuHWrVtafe+4uDjMmTMHmZmZGj3vK6+8ovSZ6tatixdffBHfffcdSkpKNPIe8+bNw/bt2zVyLiLSPDNdN4CISJvmzp0LDw8P5OXl4ffff8fKlSuxZ88enDt3DjY2Nhp5j4cPH8LM7NGv07i4OERERCA4OBgODg4aeY8yjRo1wvz58wEAt2/fxrp16xASEoJLly4hMjLyuc8/b948DBgwAP369XvucxGR5jG4EVGN1rt3b/j4+AAA3nvvPdSrVw9LlizBjh07MHjw4Gc+b0lJCQoKCmBlZQUrKytNNfep7O3t8e6770rPP/jgA7Rq1QrLly/Hp59+CnNz82prCxFVPw6VEpFRefXVVwEAKSkpAIBFixbB398f9erVg7W1NTp16oQff/xR5XUymQzjxo3D+vXr0aZNG1haWmLfvn3SsbJ73ObMmYOpU6cCADw8PKRhzdTUVLz88sto37692na1atUKCoWiyp/HxsYGfn5+yM3Nxe3btyusl5ubi8mTJ8PNzQ2WlpZo1aoVFi1aBCGE0mfMzc3F2rVrpXYHBwdXuU1EpD3scSMio3L58mUAQL169QAAX3/9NYKCgjBkyBAUFBRg06ZN+M9//oNdu3YhMDBQ6bUHDx7Eli1bMG7cODg6OqqdAPDWW2/h0qVL2LhxI7788ks4OjoCAJycnDB06FCMGjUK586dQ9u2baXXnDhxApcuXcLMmTOf6TNduXIFpqamFQ7LCiEQFBSEQ4cOISQkBB06dEBMTAymTp2Kf/75B19++SUA4Pvvv8d7772Hzp074/333wcANGvW7JnaRERaIoiIaqA1a9YIAOKXX34Rt2/fFteuXRObNm0S9erVE9bW1uL69etCCCEePHig9LqCggLRtm1b8eqrryqVAxAmJibi/PnzKu8FQISHh0vPv/jiCwFApKSkKNXLzMwUVlZWIjQ0VKl8/PjxwtbWVuTk5DzxM7388svC09NT3L59W9y+fVtcvHhRjB8/XgAQb7zxhlRv+PDhonHjxtLz7du3CwDis88+UzrfgAEDhEwmE3///bdUZmtrK4YPH/7EdhCR7nColIhqtICAADg5OcHNzQ2DBg1CrVq18PPPP6Nhw4YAAGtra6nuvXv3kJWVha5du+LUqVMq53r55ZfRunXrZ26Lvb09+vbti40bN0pDlMXFxdi8eTP69esHW1vbp54jKSkJTk5OcHJygpeXF5YtW4bAwEB89913Fb5mz549MDU1xfjx45XKJ0+eDCEE9u7d+8yfiYiqF4dKiahGW7FiBVq2bAkzMzM4OzujVatWMDF59P+su3btwmeffYbTp08jPz9fKpfJZCrn8vDweO72DBs2DJs3b8Zvv/2Gbt264ZdffsGtW7cwdOjQSr2+SZMm+N///ictcdKiRQvUr1//ia+5evUqGjRogNq1ayuVe3l5SceJyDAwuBFRjda5c2dpVunjfvvtNwQFBaFbt2745ptv4OrqCnNzc6xZswYbNmxQqV++d+5ZKRQKODs744cffkC3bt3www8/wMXFBQEBAZV6va2tbaXrElHNw6FSIjJa27Ztg5WVFWJiYjBy5Ej07t1bI6FIXW9dGVNTU7zzzjv48ccfce/ePWzfvh2DBw+Gqanpc79vRRo3bowbN27g/v37SuVJSUnS8TJPajsR6R6DGxEZLVNTU8hkMhQXF0tlqampz71zQNm9ahXtnDB06FDcu3cPH3zwAXJycpTWZdOG119/HcXFxVi+fLlS+ZdffgmZTIbevXtLZba2thrf8YGINIdDpURktAIDA7FkyRL06tUL77zzDjIyMrBixQo0b94cZ8+efebzdurUCQDwySefYNCgQTA3N8cbb7whBTpvb2+0bdsWW7duhZeXFzp27KiRz1ORN954A927d8cnn3yC1NRUtG/f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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj4AAAHHCAYAAAC/R1LgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABLyUlEQVR4nO3deVzU1f7H8feALKIsLiBq4Fou2TXSNLgt6s9EK8m2X6tKmWVqZtoCZiJZiWZ202vavaV2y9QsM35qmZXaIvdmapYLmqZpJWqp4Mr6/f3BZXScQQcY+M7yej4e88A53+9854Nzu/P2nPM9x2IYhiEAAAAf4Gd2AQAAADWF4AMAAHwGwQcAAPgMgg8AAPAZBB8AAOAzCD4AAMBnEHwAAIDPIPgAAACfQfABAAA+g+ADwCNZLBaNHz/e7DKskpOT1bx5c7PLAHABBB8ALjN37lxZLBbrIzg4WJdccomGDx+uAwcOVOt7r127VuPHj9fRo0ddet1u3brZ/E7169fXlVdeqdmzZ6ukpMQl7/Hiiy9qyZIlLrkWgPOrZXYBALzPc889pxYtWuj06dP6+uuvNXPmTC1fvlybN29WSEiIS97j1KlTqlXrzP+FrV27Vunp6UpOTlZERIRL3qPMRRddpIkTJ0qSDh06pH/9618aNGiQduzYoYyMjCpf/8UXX9Ttt9+ufv36VflaAM6P4APA5fr06aPOnTtLkh588EE1aNBAU6dO1UcffaS777670tctKSlRQUGBgoODFRwc7KpyLyg8PFz33Xef9fnDDz+sNm3a6O9//7smTJiggICAGqsFQNUw1AWg2vXo0UOStHv3bknSlClTlJCQoAYNGqh27drq1KmT3n//fbvXWSwWDR8+XPPmzdOll16qoKAgffLJJ9ZjZXN8xo8fryeffFKS1KJFC+uw1J49e3TdddepY8eODutq06aNEhMTK/z7hISE6KqrrtKJEyd06NChcs87ceKERo8erZiYGAUFBalNmzaaMmWKDMOw+R1PnDiht956y1p3cnJyhWsC4Bx6fABUu127dkmSGjRoIEl69dVXlZSUpHvvvVcFBQVasGCB7rjjDi1dulQ33nijzWu/+OILvffeexo+fLgaNmzocALxrbfeqh07dmj+/Pl65ZVX1LBhQ0lSZGSk+vfvr8GDB2vz5s3q0KGD9TXr1q3Tjh07NHbs2Er9Tj///LP8/f3LHVYzDENJSUlatWqVBg0apMsvv1wrVqzQk08+qd9++02vvPKKJOntt9/Wgw8+qC5duuihhx6SJLVq1apSNQFwggEALjJnzhxDkvHZZ58Zhw4dMvbt22csWLDAaNCggVG7dm3j119/NQzDME6ePGnzuoKCAqNDhw5Gjx49bNolGX5+fsaWLVvs3kuSkZaWZn3+0ksvGZKM3bt325x39OhRIzg42Hj66adt2keMGGHUqVPHOH78+Hl/p+uuu85o27atcejQIePQoUPGtm3bjBEjRhiSjL59+1rPGzhwoNGsWTPr8yVLlhiSjOeff97merfffrthsViMnTt3Wtvq1KljDBw48Lx1AHANhroAuFzPnj0VGRmpmJgY3XXXXapbt64+/PBDNW3aVJJUu3Zt67lHjhxRbm6urrnmGm3YsMHuWtddd53at29f6VrCw8N18803a/78+dYhpuLiYi1cuFD9+vVTnTp1LniN7OxsRUZGKjIyUu3atdP06dN14403avbs2eW+Zvny5fL399eIESNs2kePHi3DMPTxxx9X+ncCUHkMdQFwuRkzZuiSSy5RrVq11KhRI7Vp00Z+fmf+nbV06VI9//zz+v7775Wfn29tt1gsdtdq0aJFlesZMGCAFi5cqK+++krXXnutPvvsMx04cED9+/d36vXNmzfXP//5T+st+hdffLGioqLO+5pffvlFTZo0UWhoqE17u3btrMcB1DyCDwCX69Kli/WurnN99dVXSkpK0rXXXqvXXntNjRs3VkBAgObMmaN3333X7vyze4cqKzExUY0aNdI777yja6+9Vu+8846io6PVs2dPp15fp04dp88F4N4Y6gJQoz744AMFBwdrxYoVeuCBB9SnTx+XhApHvUVl/P39dc899+j999/XkSNHtGTJEt19993y9/ev8vuWp1mzZvr999917Ngxm/bs7Gzr8TLnqx2AaxF8ANQof39/WSwWFRcXW9v27NlT5ZWLy+bqlLdyc//+/XXkyBE9/PDDOn78uM26PNXhhhtuUHFxsf7+97/btL/yyiuyWCzq06ePta1OnTouX3EagGMMdQGoUTfeeKOmTp2q3r1765577tHBgwc1Y8YMtW7dWj/88EOlr9upUydJ0jPPPKO77rpLAQEB6tu3rzUQxcXFqUOHDlq0aJHatWunK664wiW/T3n69u2r7t2765lnntGePXvUsWNHffrpp/roo480cuRIm1vWO3XqpM8++0xTp05VkyZN1KJFC3Xt2rVa6wN8FT0+AGpUjx499OabbyonJ0cjR47U/PnzNWnSJN1yyy1Vuu6VV16pCRMmaNOmTUpOTtbdd99tt7jggAEDJMnpSc1V4efnp8zMTI0cOVJLly7VyJEjtXXrVr300kuaOnWqzblTp05Vp06dNHbsWN19992aOXNmtdcH+CqLYZy1hCgAeLFXX31Vjz/+uPbs2aPY2FizywFgAoIPAJ9gGIY6duyoBg0aaNWqVWaXA8AkzPEB4NVOnDihzMxMrVq1Sj/++KM++ugjs0sCYCJ6fAB4tT179qhFixaKiIjQ0KFD9cILL5hdEgATEXwAAIDP4K4uAADgMwg+AADAZzC5+RwlJSX6/fffFRoayjLyAAB4CMMwdOzYMTVp0sRmU+RzEXzO8fvvvysmJsbsMgAAQCXs27dPF110UbnHCT7nCA0NlVT6FxcWFmZyNQAAwBl5eXmKiYmxfo+Xh+BzjrLhrbCwMIIPAAAe5kLTVJjcDAAAfAbBBwAA+AyCDwAA8BnM8amE4uJiFRYWml0GakBAQID8/f3NLgMA4CIeE3wmTpyoxYsXKzs7W7Vr11ZCQoImTZqkNm3aWM85ffq0Ro8erQULFig/P1+JiYl67bXX1KhRI5fUYBiGcnJydPToUZdcD54hIiJC0dHRrOsEAF7AY4LPmjVrNGzYMF155ZUqKirSmDFj1KtXL23dulV16tSRJD3++ONatmyZFi1apPDwcA0fPly33nqrvvnmG5fUUBZ6oqKiFBISwhehlzMMQydPntTBgwclSY0bNza5IgBAVXnsJqWHDh1SVFSU1qxZo2uvvVa5ubmKjIzUu+++q9tvv12SlJ2drXbt2ikrK0tXXXWVU9fNy8tTeHi4cnNzbW5nLy4u1o4dOxQVFaUGDRpUy+8E9/Tnn3/q4MGDuuSSSxj2AgA3Vd7397k8dnJzbm6uJKl+/fqSpPXr16uwsFA9e/a0ntO2bVvFxsYqKyuryu9XNqcnJCSkyteCZyn7zJnXBQCez2OGus5WUlKikSNH6q9//as6dOggqXQYKjAwUBERETbnNmrUSDk5OeVeKz8/X/n5+dbneXl5531vhrd8D585AHgPj+zxGTZsmDZv3qwFCxZU+VoTJ05UeHi49cE+XQAAeC+PCz7Dhw/X0qVLtWrVKptNyKKjo1VQUGB3x9WBAwcUHR1d7vVSU1OVm5trfezbt6+6SgcAACbzmOBjGIaGDx+uDz/8UF988YVatGhhc7xTp04KCAjQ559/bm3bvn279u7dq/j4+HKvGxQUZN2Xy1v350pOTpbFYpHFYlFAQIAaNWqk66+/XrNnz1ZJSYnT15k7d67dUCIAAJ7EY+b4DBs2TO+++64++ugjhYaGWufthIeHq3bt2goPD9egQYM0atQo1a9fX2FhYXr00UcVHx/v9B1d3qx3796aM2eOiouLdeDAAX3yySd67LHH9P777yszM1O1annM/xQAAB7q+PHjslgs1mVozOAxPT4zZ85Ubm6uunXrpsaNG1sfCxcutJ7zyiuv6KabbtJtt92ma6+9VtHR0Vq8eLGJVbuPoKAgRUdHq2nTprriiis0ZswYffTRR/r44481d+5cSdLUqVN12WWXqU6dOoqJidHQoUN1/PhxSdLq1at1//33Kzc319p7NH78eEnS22+/rc6dOys0NFTR0dG65557rGvfAABgGIZmzJihl19+WbNmzZKZK+l4zD/znflLCg4O1owZMzRjxowaqKi0JrNucQ4ICKjy3UY9evRQx44dtXjxYj344IPy8/PTtGnT1KJFC/38888aOnSonnrqKb322mtKSEjQ3/72N40bN07bt2+XJNWtW1dS6W3eEyZMUJs2bXTw4EGNGjVKycnJWr58eZV/TwCAZzt69KheffVV6/MTJ06YeresxwQfd1RYWKiJEyea8t6pqakKDAys8nXatm2rH374QZI0cuRIa3vz5s31/PPPa8iQIXrttdcUGBio8PBwWSwWu8niDzzwgPXPLVu21LRp03TllVfq+PHj1nAEAPA969ats/lHcHh4uB577DETKyL4+DzDMKzJ+7PPPtPEiROVnZ2tvLw8FRUV6fTp0zp58uR5F25cv369xo8fr02bNunIkSPWCdN79+5V+/bta+T3AAC4D8MwNG3aNJs7rW+44QZdeeWV5hX1XwSfKggICFBqaqpp7+0K27ZtU4sWLbRnzx7ddNNNeuSRR/TCCy+ofv36+vrrrzVo0CAVFBSUG3xOnDihxMREJSYmat68eYqMjNTevXuVmJiogoICl9QIAPAchw8f1vTp023aHnvsMbe5K5jgUwUWi8Ulw01m+eKLL/Tjjz/q8ccf1/r161VSUqKXX35Zfn6lc97fe+89m/MDAwNVXFxs05adna0///xTGRkZ1sUfv/vuu5r5BQAAbiUrK0uffvqp9XnDhg01dOhQ68hCZqaUkSGlpEhJSebUSPDxEfn5+crJybG5nX3ixIm66aabNGDAAG3evFmFhYWaPn26+vbtq2+++UazZs2yuUbz5s11/Phxff755+rYsaNCQkIUGxurwMBATZ8+XUOGDNHmzZs1YcIEk35LAIAZSkpKNHXqVJ04ccLa1rdvX11xxRU252VkSFlZpT/NCj4eczs7quaTTz5R48aN1bx5c/Xu3VurVq3StGnT9NFHH8nf318dO3bU1KlTNWnSJHXo0EHz5s2zm7idkJCgIUOG6M4771RkZKQmT56syMhIzZ07V4sWLVL79u2VkZGhKVOmmPRbAgBq2h9//KEJEybYhJ7HH3/cLvRIpT098fGlP81iMcy8md4Nlbet/enTp7V79261aNFCwcHBJlaImsZnDwCOffXVV/riiy+szxs3bqzBgwebcrt6ed/f52KoCwAAVEhJSYkyMjJs1rK75ZZb9Je//MXEqpxD8AEAAE47ePCgZs6cadM2evRoj1m3jeADAACcsnTpUq1fv976PDY21roRtqcg+AAAgPMqLCzUiy++aNN2++2369JLLzWposoj+AAAgHJt3LhRmZmZNm0dOjyhSy81b4f1qiD4AAAAh9LT0+3axo9PU3y8dNttJhTkAgQfAABgIz8/XxkZGTZtl19+uSyWm01fh6eqCD4AAMDq22+/1ccff2zT9uijj6p+/fqSzFtx2VUIPgAAQJLjoa20tDQTKqk+bFkBl0lOTla/fv2sz7t166aRI0dW6ZquuAYA4PxOnTplF3q6dOnidaFHosfHJyQnJ+utt96SJAUEBCg2NlYDBgzQmDFjVKtW9f1PYPHixQoICHDq3NWrV6t79+46cuSIIiIiKnUNAEDFLV68WD/++KNN28iRIxUeHm5SRdWL4OMjevfurTlz5ig/P1/Lly/XsGHDFBAQoNTUVJvzCgoKFBgY6JL3LBsPNvsaAADHfGFo61wMdfmIoKAgRUdHq1mzZnrkkUfUs2dPZWZmWoenXnjhBTVp0kRt2rSRJO3bt0//+7//q4iICNWvX18333yz9uzZY71ecXGxRo0apYiICDVo0EBPPfWUzt3v9txhqvz8fD399NOKiYlRUFCQWrdurTfffFN79uxR9+7dJUn16tWTxWJRcnKyw2scOXJEAwYMUL169RQSEqI+ffrop59+sh6fO3euIiIitGLFCrVr105169ZV7969tX//fus5q1evVpcuXVSnTh1FRETor3/9q3755RcX/U0DgPv79ddf7UJPp06dvD70SAQfn1W7dm0VFBRIkj7//HNt375dK1eu1NKlS1VYWKjExESFhobqq6++0jfffGMNEGWvefnllzV37lzNnj1bX3/9tQ4fPqwPP/zwvO85YMAAzZ8/X9OmTdO2bdv0+uuvq27duoqJidEHH3wgSdq+fbv279+vV1991eE1kpOT9d133ykzM1NZWVkyDEM33HCDzUZ5J0+e1JQpU/T222/ryy+/1N69e/XEE09IkoqKitSvXz9dd911+uGHH5SVlaWHHnrIo5ZbB4CqSE9P15tvvmnTNnv2w8rKusmkimoWQ10+xjAMff7551qxYoUeffRRHTp0SHXq1NEbb7xhHeJ65513VFJSojfeeMMaCObMmaOIiAitXr1avXr10t/+9jelpqbq1ltvlSTNmjVLK1asKPd9d+zYoffee08rV65Uz549JUktW7a0Hi8b0oqKirKZ43O2n376SZmZmfrmm2+UkJAgSZo3b55iYmK0ZMkS3XHHHZJKl1afNWuWWrVqJUkaPny4nnvuOUlSXl6ecnNzddNNN1mPt2vXruJ/kQDggRwNbU2Zkqbjx6Vp06QXXjChqBpGj49JMjOlhITSnzVh6dKlqlu3roKDg9WnTx/deeedGj9+vCTpsssus5nXs2nTJu3cuVOhoaGqW7eu6tatq/r16+v06dPatWuXcnNztX//fnXt2tX6mlq1aqlz587lvv/3338vf39/XXfddZX+HbZt26ZatWrZvG+DBg3Upk0bbdu2zdoWEhJiDTWS1LhxYx08eFBSacBKTk5WYmKi+vbtq1dffdVmGAwAvNHPP/9c7nyeESOkunWlESNMKMwE9PiYJCNDysoq/VkTi0F1795dM2fOVGBgoJo0aWJzN1edOrb7rRw/flydOnXSvHnz7K4TGRlZqfevXbt2pV5XGefeBWaxWGzmH82ZM0cjRozQJ598ooULF2rs2LFauXKlrrrqqhqrEQBqiqPA8/DDDys6OlpSaS+PL/T0lKHHxyQp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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "4/4 [==============================] - 0s 5ms/step\n" - ] - }, - { - "data": { - "image/png": "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iIgIuLq6Ijc3F7179662/95Wotq4uLigsrLSEtVrkPDwcLi4uODIkSNo0aIFgLvLb6Snp2PWrFlWrQsDIiIiokao6hp9dccZVAqCxbtGmzZtipdffhmzZ8+GXq9Hr169oNVqceTIEXh5eYmBRV1atmwpTnXzwAMPoGnTpnB1dbVIfevi4eGB6dOnY+7cueKUOytXrkRJSQmmTJli1bowICIiImoka3eNvvHGG/D390dSUhL+97//wdvbGw899BBeffVVo7qjhg8fjh07dqBv374oKirCxo0bMXHiRIvWuTbJycniYu43b95EVFQUvv/+e6tPnqwSGjLuXcF0Oh3UajW0Wi2X8SAisgO3b99GTk4OwsLC0KRJE6mrQ41Q19/S2O9vjjIjIiIixWNARERERPV6/vnnDYb53/t4/vnnpa5eozGHiIiIiOq1dOlSvPzyyzXus4dUEgZEREREVK+AgAAEBARIXQ2LYZcZERERKR4DIiIiUjQ5zppMDWOOvyG7zIiISJFcXFzg4OCAq1evwt/fHy4uLuISF2QbBEFAeXk5rl27BgcHB7i4uJj8WgyIiIhIkRwcHBAWFoa8vDxcvXpV6upQI7i7uyM0NBQODqZ3fDEgIiIixXJxcUFoaCju3Lkji7W9qOEcHR3h5OTU6NY9BkRERKRoVSuy378qOykLk6qJiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBRP0oDo0KFDePzxxxEcHAyVSoUvv/xS3FdRUYF58+YhMjISHh4eCA4Oxvjx43H16lWD17hx4wbGjh0LLy8veHt7Y8qUKSguLjYoc+rUKTz66KNo0qQJQkJCsHLlSmt8PCIim5GnLcXR7OvI05ZKXRUiSUgaEN26dQtdunTB+++/X21fSUkJTpw4gYULF+LEiRPYsWMHsrKy8MQTTxiUGzt2LM6ePYu9e/di9+7dOHToEKZNmybu1+l06N+/P1q0aIGMjAy89dZbWLx4MT766COLfz4iIluwPT0XMckpGLMhDTHJKdienit1lYisTiUI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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABELElEQVR4nO3deXRU9f3/8dckkBCWDFs2IRB2RCAgi4QoBEED9adGtEX4VnYsCApSF7AugNag1harFixWqAtKsaBWcaFsHgQpi1GhypEUSJSExZYJhBAgub8/aKaErDOZmXvnzvNxzpwDd+7MvOfmztz3vD+bwzAMQwAAADYRZnYAAAAAvkRyAwAAbIXkBgAA2ArJDQAAsBWSGwAAYCskNwAAwFZIbgAAgK2Q3AAAAFshuQEAALZCcgPAFPPmzZPD4ajVvg6HQ/PmzfNrPGlpaUpLS7Ps8wGoPZIbIMQtX75cDofDfatXr55atWql8ePH64cffjA7PMtJSkoqd7xiY2N1zTXXaM2aNT55/tOnT2vevHnatGmTT54PCEUkNwAkSQsWLNBrr72mJUuWaMSIEXr99dc1ePBgnTlzxi+v9/DDD6uoqMgvz+1vvXr10muvvabXXntN9913nw4fPqyRI0dqyZIldX7u06dPa/78+SQ3QB3UMzsAANYwYsQI9e3bV5I0efJktWzZUk899ZTee+89/exnP/P569WrV0/16gXnV1CrVq3085//3P3/sWPHqmPHjvrd736nqVOnmhgZAInKDYAqXHPNNZKk7Ozsctu//fZb3XbbbWrevLkaNGigvn376r333iu3z7lz5zR//nx16tRJDRo0UIsWLXT11Vdr3bp17n0q63NTXFyse++9VzExMWrSpIluuukmff/99xViGz9+vJKSkipsr+w5ly1bpmuvvVaxsbGKjIxUt27dtHjxYo+ORU3i4+N1+eWX68CBA9Xud/ToUU2aNElxcXFq0KCBkpOT9ec//9l9/8GDBxUTEyNJmj9/vrvpy9/9jQC7Cc6fTQD87uDBg5KkZs2aubft3btXqampatWqlebMmaNGjRrpL3/5izIyMvTXv/5Vt9xyi6QLSUZmZqYmT56s/v37q6CgQDt37tTu3bt13XXXVfmakydP1uuvv64xY8Zo4MCB2rBhg2644YY6vY/Fixfriiuu0E033aR69erpb3/7m+666y6VlpZq+vTpdXruMufOnVNubq5atGhR5T5FRUVKS0vT/v37NWPGDLVr106rVq3S+PHjdeLECc2cOVMxMTFavHixpk2bpltuuUUjR46UJPXs2dMncQIhwwAQ0pYtW2ZIMv7+978bx44dM3Jzc423337biImJMSIjI43c3Fz3vkOHDjV69OhhnDlzxr2ttLTUGDhwoNGpUyf3tuTkZOOGG26o9nUfe+wx4+KvoKysLEOScdddd5Xbb8yYMYYk47HHHnNvGzdunNG2bdsan9MwDOP06dMV9ktPTzfat29fbtvgwYONwYMHVxuzYRhG27Ztjeuvv944duyYcezYMePLL780br/9dkOScffdd1f5fIsWLTIkGa+//rp729mzZ42UlBSjcePGRkFBgWEYhnHs2LEK7xeAZ2iWAiBJGjZsmGJiYpSYmKjbbrtNjRo10nvvvafWrVtLkv79739rw4YN+tnPfqaTJ0/q+PHjOn78uH788Uelp6fru+++c4+uatq0qfbu3avvvvuu1q+/du1aSdI999xTbvusWbPq9L6ioqLc/3a5XDp+/LgGDx6sf/3rX3K5XF495yeffKKYmBjFxMQoOTlZq1at0h133KGnnnqqysesXbtW8fHxGj16tHtb/fr1dc899+jUqVPavHmzV7EAqIhmKQCSpBdffFGdO3eWy+XSK6+8ok8//VSRkZHu+/fv3y/DMPTII4/okUceqfQ5jh49qlatWmnBggW6+eab1blzZ3Xv3l3Dhw/XHXfcUW3zyqFDhxQWFqYOHTqU296lS5c6va/PPvtMjz32mLZt26bTp0+Xu8/lcsnpdHr8nFdddZWeeOIJORwONWzYUJdffrmaNm1a7WMOHTqkTp06KSys/G/Kyy+/3H0/AN8guQEgSerfv797tFRGRoauvvpqjRkzRvv27VPjxo1VWloqSbrvvvuUnp5e6XN07NhRkjRo0CBlZ2fr3Xff1SeffKKXX35Zv/vd77RkyRJNnjy5zrFWNflfSUlJuf9nZ2dr6NCh6tq1q377298qMTFRERERWrt2rX73u9+535OnWrZsqWHDhnn1WAD+R3IDoILw8HBlZmZqyJAheuGFFzRnzhy1b99e0oWmlNpc2Js3b64JEyZowoQJOnXqlAYNGqR58+ZVmdy0bdtWpaWlys7OLlet2bdvX4V9mzVrphMnTlTYfmn1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WhrVr40GdY7RweOnldSyIYmNzVXXFOmPv/2pU6ckSR988IFatWpV7r7IyEh3gnNxR+CySe9KS0trfP5GjRp5HNOlr3VpJ2SHw1Gr1w40khsA8ECCM4qkJkQEuimyW7duioyMVE5OjrvZ6WIXV2+qEhERUeelC7zVoUMHRURE6LPPPlPbtm0lXRiVtWPHDs2aNSugsZDcAABQibKmyIdW71GJYfi9KbJJkya67777dO+996q0tFRXX321XC6XPvvsM0VHR7sThuokJSXpwIEDysrKUuvWrdWkSRNFRkb6Jd5LNWrUSNOmTdP999+v5s2bq02bNnr66ad1+vRpTZo0KSAxlCG5AQCgCoFuinz88ccVExOjzMxM/etf/1LTpk115ZVX6qGHHqpV88+tt96q1atXa8iQITpx4oSWLVum8ePH+zXmiy1cuFClpaW64447dPLkSfXt21cff/yxmjVrFrAYJMlhGIZR8272UVBQIKfTKZfLpejoaLPDAQD42JkzZ3TgwAG1a9dODRo0MDsceKC6v50n129GSwEAAFshuQEAIMRMnTq13HDzi29Tp041O7w6o88NAAAhZsGCBbrvvvsqvc8OXTZIbgAACDGxsbGKjY01Owy/oVkKAADYCskNAMCWrDhzLqrnqwHcNEsBAGwlIiJCYWFhOnz4sGJiYhQREeFepgDWZRiGjh07VukyD54iuQEA2EpYWJjatWunvLw8HT582Oxw4AGHw6HWrVsrPDy8Ts9DcgMAsJ2IiAi1adNG58+fN22tJXiufv36dU5sJJIbAIBNlTVv1LWJA8GHDsUAAMBWSG4AAICtkNwAAABbIbkBAAC2QnIDAABsheQGAADYCskNAACwFZIbAABgKyQ3AADAVkxNbhYvXqyePXsqOjpa0dHRSklJ0YcffljtY1atWqWuXbuqQYMG6tGjh9auXRugaAEAQDAwNblp3bq1Fi5cqF27dmnnzp269tprdfPNN2vv3r2V7r9161aNHj1akyZN0hdffKGMjAxlZGRoz549AY4cAABYlcMwDMPsIC7WvHlzPfPMM5o0aVKF+0aNGqXCwkK9//777m0DBgxQr169tGTJklo9f0FBgZxOp1wul6Kjo30WNwAA8B9Prt+W6XNTUlKit956S4WFhUpJSal0n23btmnYsGHltqWnp2vbtm1VPm9xcbEKCgrK3QAA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bd++vdz/P//8c3Xq1Enh4eGV7n/llVfqn//8pzp27FjhFhERIUmqV6+ehg0bpqefflpfffWVDh48qA0bNkiSHA6HUlNTNX/+fH3xxReKiIhwNzHFxMQoLy/P/VolJSXas2dPje+hNjEBsAaSGwB+l5OTo9mzZ2vfvn1688039fzzz2vmzJlV7v/ggw9q69atmjFjhrKysvTdd9/p3XffdXfeff/99/X73/9eWVlZOnTokF599VWVlpaqS5cu2r59u5588knt3LlTOTk5Wr16tY4dO6bLL79cknTttdfqgw8+0AcffKBvv/1W06ZN04kTJ2p8DzXFBMA66pkdAAD7Gzt2rIqKitS/f3+Fh4dr5syZ7uHVlenZs6c2b96sX/3qV7rmmmtkGIY6dOigUaNGSZKaNm2q1atXa968eTpz5ow6deqkN998U1dccYW++eYbffrpp1q0aJEKCgrUtm1bPfvssxoxYoQkaeLEifryyy81duxY1atXT/fee6+GDBlS43uoKSYA1sFoKQB+VdnoJADwJ5qlAACArZDcAAAAW6FZCgAA2AqVGwAAYCskNwAAwFZIbgAAgK2Q3AAAAFshuQEAALZCcgMAAGyF5AYAANgKyQ0AALAVkhsAAGAr/x+FoOgGs8heLQAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# visualize with IDAES surrogate plotting tools\n", "surrogate_scatter2D(keras_surrogate, data_validation)\n", @@ -1115,8 +350,7 @@ "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.6" - }, - "orig_nbformat": 4 + } }, "nbformat": 4, "nbformat_minor": 3 diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/keras_training_test.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/keras_training_test.ipynb index c7a365e5..d579ef1e 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/keras_training_test.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/keras_training_test.ipynb @@ -1,1123 +1,357 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Supercritical CO2 Property Surrogate with OMLT Surrogate Object - Training Surrogate (Part 1)\n", - "\n", - "Maintainer: Javal Vyas\n", - "\n", - "Author: Javal Vyas\n", - "\n", - "Updated: 2024-01-24\n", - "\n", - "## 1. Introduction\n", - "This notebook illustrates the use of KerasSurrogate API leveraging TensorFlow Keras and OMLT package to produce an ML surrogate based on supercritical CO2 data from simulation using REFPROP package.\n", - "\n", - "There are several reasons to build surrogate models for complex processes, even when higher fidelity models already exist (e.g., reduce model size, improve convergence reliability, replace models with externally compiled code and make them fully-equation oriented).\n", - "\n", - "In this example, we intend to make a surrogate for the physical properties of S-CO2 to be embedded in the property package. This property package will be used to get the physical properties of S-CO2 in the flowsheet simulation. To learn more about property package, see the [IDAES-PSE](https://github.com/IDAES/idaes-pse) Github Page or IDAES [Read-the-docs](https://idaes-pse.readthedocs.io/en/latest/). \n", - "\n", - "### 1.1 Need for ML Surrogates\n", - "\n", - "The properties predicted by the surrogate are enthalpy and entropy of the S-CO2 based on the \n", - "pressure and temperature of the system. The analytical equation of getting the enthalpy and entropy from pressure and temperature are in the differential form and would make the problem a DAE system. To counter this problem and keep the problem algebraic, we will use the ML surrogates and relate enthalpy and entropy with the pressure and temperature as an algebraic equation.\n", - "\n", - "### 1.2 Supercritical CO2 cycle process\n", - "\n", - "The following flowsheet will be used to optimize the design for the cooling of the fusion reactor using supercritical CO2 cycle. We shall focus on training the surrogate for this notebook and move to constructing the flowsheet and the properties package in the subsequent notebooks. The take away from this flowsheet is that, 3 variables can be measured in any given unit which are flow, pressure and temperature and other properties can be calculated using them. Thus, surrogate should have pressure and temperature as the inputs.\n", - "\n", - "In this example, we will train a tanh model from our data and then demonstrate that we can solve an optimization problem with that surrogate model. " - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ + "cells": [ { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABVYAAAKWCAYAAACidsIoAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAP+lSURBVHhe7N0HfFRV2sfxJxB6CAmgVCVIEQQlCIi8qETsdYPKrl0QK6DC6tqVYK8LNlBXBXVd+5K1YAcsqAhKUBAQkCAdAgkhNAnkzXPmHDIMKdMSbpLf9/OZvXfOvXNngjtz5v7nuefE/LF6XcGKpYulT58+AgAAAAAAAAAoWw27BAAAAAAAAAAEiWAVAFDl/Llkuqy8roG9BwAAAABA9BGsAgCqlF0bl8nGiZfZewAAAAAAlA+CVQBAlVGwO182vnSp1O98km0BAAAAAKB8EKwCAKqM7JcultjE1tIg+SzbAgAAAABA+SBYBQBUCTlv3yi7t2RLfJ+LbAsAAAAAAOWHYBUAUOltmfKk7Fw0TRKOv8a2AAAAAABQvghWAQCV2raMdMn99BGJT7lWYmLr2FYAAAAAAMoXwSoAoNL6c9ksyX55sDTqP1xiE1raVgAAAAAAyh/BKgCgUtqdu0ayJ1wq8f2ukTqtj7CtAAAAAABUDIJVAECltOHFC6Vex36Ft2NtCwAAAAAAFYdgFQBQ6WyccKnENmgqDZLPsi0AAAAAAFQsglUAQKWSm36H7M5eIfHHDLItAAAAAABUPIJVAEClseXLZ2X7L+9JwvHX2hYAAAAAAPYPglUAQKWwfe5Hkvv+3dLo+KESU6eBbQUAAAAAYP8gWAUAeN7Olb9I9sTLpNGJN0hs4za2FQAAAACA/YdgFQDgaQVbs2XjixdL3P8NkjoHd7etAAAAAADsXwSrAABP2/DiRVK3bS+p3ynFtgAAAAAAsP8RrAIAPCvn31dJjVp1JK7HObYFAAAAAABvIFgFAHhS7of3yM7V86XRcVfaFgAAAAAAvINgFQDgOVu+fVm2/fC6JBx/rW0BAAAAAMBbCFYBAJ6yY8EU2fT2SGl0/LVSo36CbQUAAAAAwFsIVgEAnpG/9jfJnnCpNDrpBql1YHvbCgAAAACA99SIsSsAAOxPu3fkycaXLpYGvQZK3aRethUAAAAAAG+iYhUA4AnZL10stVseJvUPO8m2AAAAAADgXQSrAID9btOb14ns3iUNe/3VtgAAAAAA4G0EqwCA/WrzJw/LzswfJSHlGtsCAAAAAID3EawCAPabLT+8LnlfPS/xKVeLxDDqNwAAAACg8iBYBQDsF38u/kZy/n2lJPQfKjUbHmBbAQAAAACoHAhWAQAVbteGTNk44TJpdNJIqd2is20FAAAAAKDyIFgFAFSogl07ZcOLF0v9I86Qeu362FYAAAAAACqXmOWr1xUsX7pY+vTh5BYAUP42/utvEhNbS+J7X2hbysea8QOl1VNb7L2qb8YH70vGJ5/I77Nny+ZNOaatYaMEOaTbEZJ82unS+8yzTBsAAAAAIDoIVgEAFWbTu/+QnSt+kcSTrrct5ae6BKuZc3+R1++6S3ZtWC/NatSQZvXrS/1atcy2rTt3ytqtW2Xt7t1Ss8kBcsG990pS18PNNgAAAABAZBgKAABQIfK+GCN/LpwqCcdfY1sQqffGjpGH/jpQmm/fKsc2aSIdExOlUZ06UqtGDXPTdW3Tbc22bTH7vj/mn/bRAAAAAIBIEKwCAMrdtoxJsvmzMRKfco3ExNa2rYjE5GfHy2cvvSBntk2SQ+rWta0la1evntn308LHfDjuGdsKAAAAAAgXwSoAoFz9mTlTsicOloT+wyU2oaVtRST08v/3nnxCTjnoIGlYO/igWvc95eCD5f2nnzLHAAAAAACEr4YU2DUAAKJsV84q2fjSJdLo+GFSu3VX24qSbM/MtGul+89tt0nvNgeHFKo6+pijDmotr916q20BAAAAAISDilUEbeScNeaWs3OXbUF5GvDtcol5e569B1ROG1+6WOp37i91O/SVOQt+l3ueeU3Ovf4+GXLHGHk5/XO7F5ys9HT5sXt3WTNxom3Zl87+v3tTdlCX/5ekXf36UpCbY44FAAAAAAgPwSqCNva3DeYGAMHYOOESiW14gDTodqY88cr/5IRBt8o94/4j//viOxOqarja49zr7N5w8jIyZOHgwSUGrD+9/540j/XN+h8JPcZP7xOsAgAAAEC4CFYBAFGX+7/bZXfOKonve5lkrlwr9457TXI2b5F+vQ6Xx2+5Su4eeqHZT6tYb3z4ebOOvZUUsGbO+1UOrFvH3gufHiNzHlXxAAAAABCumOWr1hUsz1wsffr0sU1A8dxl6dmpnSShVk2zjvKjQwGkr8yVgoFdbAtQOWz56lnJmzZOGp99t9SoXd9Uq2p4mtSqmcx69ylJaNjA7Ofay8MHF50lh6z5RDq8s1ZiExIkZ9o0E1TGJSdLQkqK5OfkyIqxY82+rUeMMPtoeLllzhxp8pe/mH10/7Uvvyw1GzWSpLQ0s++SkSPNY1vdcIM5ll66r/s06NZtzz7zBgww+3SZNMkcN7OwfdOXX0qzyy6T5oMGmdeix1E9Zs82yznHH2/GV62blGS2F0e3tRk1Su55/FE555C2UqtGZL+N7ty9W96dv0DOX7TEtgAAUDloH9s0NdXeAwBg/6FiFQAQNdvnTpbc99Mk4fihJlRVf6xea5bdOh2yJ1RVSa0OtGvRF/fa+7Luiz9NOKo2/O9/Jsxc+cQT5r4Gn8tGjzY3RwNSDVtdsKlBp953j1EapGoA6yaZ0uNrmwanSo+r9/UYbp8dy5aZ+xraKg1b9XHutSl9nO7vHlMc3UdvtXfvlhjbBgBAdeTfhwIAsD/FLF+9rmD5UipWUTYqVisWFauobHau+Fmyxp4ojU4cIXUOTratYsZU1Qmr1Iv3j5TLUk80wwKce9298uXMX+QvJ/SRd5+802yPlqUPPy+bZ34oHf4zc09lqYafWlmqVaMaULqKVVdpqvtosOmqWnVd2zQI1ce4ffSxul0rSHUfPbnTfVwlrIaoel+Po0sXmLo25U4I3X0Xmmpo6x/2Kn2cVsi6ytpbj+krfRvFSXztyIYD2LRjh0zPzZOHv5luWwAA8Da9CkT7Sb2Cw/XfAADsTwSrCBrBasUiWEVlsjtvg6x7PEXijjhN6h2aYluL6MRVGqIG0grWd5+6y4y9Gm1rxg+UVk9tsfcqBw1WdVxV5QJVDXU1xHXGX3Wl1F68SNo3irct4Vm8KVf+bN9ern3+BdsCAIC3EawCALyGoQAAABHb+NLFUq/d0cWGquqLiQ/JDZf+xd7z0TBV28sjVK3MNFDV6lQdf1VPGv1DVXXk2WfL6vyd9l749BhHnr33fxMAAAAAQPAIVgEAEcl59UqpUbuexB05wLYU7/FbrpL8eR/K4k9fkqzv3zKhqo67iiI6nIAGqu3GjNknUHV6n3mWxMQnyJJt22xL6Bbn5Zlj6LEAAAAAAOEhWAUAhG3T+2myc91CaXTcFbalbEmtmu01iRWKaJhaUqDq76KHHpIf/lgum//807YETx8zc+UqcwwAAAAAQPgIVgEAYdny7QTZPutNSUi51ragoiR1PVzOGn6dfPLHHyGFq7rvp4WPOWvYcHMMAAAAAED4akiBXQMAIEg7Fnwhm965SRr1Hyo16jWyrahIZwwdJicNulw+WJopS7Zuta0lW7xli9n3xMsGyxnDhttWAAAAAEC4akiMXQMAIAj5axdK9sTLJOGkEVLrgHa2FfvD2TfeJLe+9basrR8nX2/YIL9lZ8umHTtk5+7d5qbr2qbb1jVoaPY9+6Z/2EcDAAAAACLBUAAAgKDt3r5ZNr50kcT1/KvUadPDtmJ/0kv6b5uULifdfKvsPvwImZ6bJ1//MldmZPxs1nd3Odxs0324/B8AAAAAoodgFQAQtOyXLpbaLbtKvcNOtC3wCp3h/+qnnpGHv5ku57RpK6c2bmLWr35mHLP/AwAAAEA5IFgFAARl0+vDCv+3QBr2+quvAZ6UM22aueVlZEhWerptBQAAAABEG8EqAKBMmz9+SHYuny0JKVfbFnjVstGj7dre6wAAAACA6CJYBQCUauvM12XLNy9IfMo1hfeY8dDLXLWqQ9UqAAAAAJQfglUAQIn+XPy1ZL96lTTqP1RqxjW1rfCq4ipUqVoFAAAAgPJBsAoAKFZ+1u+yYcKlknDK36V28062FV4VWK3qULUKAAAAAOWDYBUAsI+C/D8le8IlEtftLKnbtrdthZeVVplK1SoAAAAARB/BKgBgH9kTLpZaTQ+R+l1PtS3wMq1K3Z6ZKXWTkszNcffzc3KKrWYFAAAAAISPYBUAsJdNb98osj1PGva+wLbA6+KSk6X30qV7bo5/W0JKim0FAAAAAERDzPLV6wqWL10sffr0sU2oTuLj4+1a2Ta/+J1Zxl13ksRszTPrKD/bhj8s+d2Pk4ZDyn5v5ubm2jUgMnmfj5GtP7wmjc+8U2Jia9vWymnN+IHS6qkt9l718mVMjFn2KygwSwAAqoLMtDQzvE2bUaMkqXAdAID9jWC1mtNgddasWfZe6Q6ds9MsZ3aNlfiavpN2lJ9hmbvk8027ZWG3WraleD179iRYRVRsm/1fyXlrhDQ+e5TENmphWysvglWCVQBA1UKwCgDwGoYCAADIn5k/SPbLl0tC/+FVIlQFAAAAAKC8EawCQDW3K2elbHzpUonvP0xqt+pqWwEAAAAAQGkIVgGgmsuecInU69xf6rXva1sAAAAAAEBZCFYBoBrLnnCx1Iw7QOK6nWlbAAAAAABAMAhWAaCa2jTpNtm1aY3E973MtgAAAAAAgGDFLF+1rmB55mLp06ePbUJ1Eh8fL7NmzbL3SnfonJ1mObNrrMTX9M04jfIzLHOXfL5ptyzsVsu2FK9nz56Sm5tr7wHB2fLlOMn76llpfObdUqNOfdtatawZP1BaPbXF3qtevozxfUb3KygwS5Rt5Jw1ZjnqsAMkoVZNs47yM+Db5ZK+MlcKBnaxLQBQtsy0NFk2erS0GTVKkgrXAfjoeT0qP87rKyeC1WqOYNW7CFZRXrb/8qFkvzJEGv9ltMQ2Psi2Vj0EqwSroYh5e55ZZqd2IlitAASrAMJBsAoUT8/r51+2y95DZdT55Zqc11dSDAUAANXIzhVzZOOEyyThpBuqdKgKAAAAAEB5I1gFgGpid16WbHzpYok/bojUbt3NtgIAAAAAgHAQrMKzVv4ZnUtYc3cVmJvXROvvA4KloWrddn2kXsd+tgUAAAAAAISLYBVRp+OCRsPLWdE5zso/RRZss3ci9N+N0Rm3Zv62gsJ/J4JVVBwdU7VG7foS1z3VtgAAAAAAgEgQrCKqtDJ0UnZ0AkMNaKNRaTp/224TZEbDK1nROY6+Ji9W0aJqyn0/TfLXL5ZGx11hWwAAAAAAQKQIVhFVWh0arcBw864Yc7xILdhe+Lp2Rv6a9O/SgDYaf5/+bfq6gPK2ZfpLsnXWm5KQco1tAQAAAAAA0UCwiqjSSsxoXHbvAswf8iIPMTWcjUZA644RjWP9sCU6fxtQmh3zP5dN794sCccPkxr1GtlWVEVbN22Sb955W54ZNlTuPOVk+bZtkrnpurZ98847Zh8AAAAAQPQQrCKqNHTUQDTSiZnc46NRHaphbzRCTD2Oitax9G+Lxt8HFGfn6vmy4aVLJOGkG6TWgYfYVlRF37/3P7nz1JNl4u23yezPPpU1S3+XJbE1zU3XtW3i7beafXRfAAAAAEB0EKwiqtzl7ZFWdbrHR3q5vAa00Qp79/xtEQ4r4HstvvVI/52A4uzevlmyX7pY4o++UOq06WFbUdVoBepLt9wsL9x0o+Ru2GBbS6b76L76GKpXAQAAACByBKuIKlfVGelkUXqpvFlGWB3qH1xGGmJGKwz1fzzDAaA8ZL94kdQ+6Aip1/kE24KqRoPRu888Xb6d9F/bItKyQwf52213yIgXXpSnf8owN13/2223m22OPkYfS7gKAAAAr9u2s0C+zMy39wDvIVhF1PhXYrpgNFwuoI30cnn/gDfSsDdaQwH4Pz6Svw0oTvZr10pMjEjDngNtC6qiNx64X3LWrrX3RE4cNFju+fAjOWnwYOl6XD+pGxdnbrp+0uDLfdsK93H0sXoMAAAAwMt+WLlL0n/9UzZu5dwZ3kSwiqjxn7QqkvDRP6BVkUyGtWB70euIJOx1Qwoo3+sL/1j+rynSoQ5QdW3PzLRrwcv96AHZtfJnaZRyjW1BZZOfk1Pmf3sdJ9W/UvUv198g599+h71Xsr8V7qP7OnoMxlwFAACAV2m16leZO836J4t9S8BrCFYRNf4VoZFUYgZeah9JpekKvwDUVZyGI/A1Bd4PRe4uu1KIoQBQkhlt28qSkSODDli3/vC6bJ0+QeJTrrYtkcvZvMWuRc+L73wig257XM68ZpTc/eQrsnlLBL+cVEEarJb2314v33/rwQfsPTFVqGcNv87eK5vuq9Wtjh6LIQEAAAAqv8Ubdslj31Styh0dAsBVqv6womi9KliZu1te/zmCYAGeQbCKqPGvxFThBqKBAWiklabO5l0xdi10gX9LJGGv/9+nATTDAaAkK8aODSpg/XPR15L92tXSqP9QqRnX1LaG78uZv0iPc6+Tpkf/VWK7nCHnXn+fZK4suuw8XJfc/KhcPepJ+fd7U+Tjr2fJA8+9KcmpQ2XB0hV2Dzgl/bf/6bPP9kxUZcZUDaJSNZBWt7oxV/VYP332qVkHAABA5XR4w+3yzIwdJqz7eFHVqOz0VavuPbZq+vyqE0Tq36Zh8e2fbZNf1vpVX6HSIVhF1PhXYqpwqzHd5fGtavuW4QaPGn66ytL4mjHmOOFewh8YGocb9voPKeD+vkiGOkD1UFrAmr9+iWx46RJJOHmk1G5+qG0N3/+++E5OGHSrzFnwu23xtfU8N/iqyOJoperrH04z6yf3PVLGp10nyZ3bybJV6+Smh/9l2rGvwP/2c6ZOsVtEjj0v/HF0jz3vr3ZNCo851a4BAACgMsovKCoi0sCuKlR2arWqhqv+NICsCn+bVhdrqKr0b9wYQeEW9j+CVUSNq8Q8sZHv/1bhBqIueLysaU2zDDd4dCFq53oxe0LMzzeF95rckALnNPb9beEOK+D+Nn1Nneu5Y/Ehuj/NGzBAvoyJ8dytOIEhW0H+Dql1YHtp+dAyiTvzHlNdGulNq1PVmSlHSdb3b8niT1+Sbp0OMcMC3PPMa2ZbOL6a9YtZaqg6+fl75cqBp8r4UcNNm1avFvdaIrlpGLz46a3m3zJnmi/Q1X83vb9wsO9SeP03dP/eegm+mnP88eZ+ZlqauZ+Vnm7u67+7o+vaptuU7qv39bFKj6X39eaCcH1Ova+vQelrcvs4P3bvvtfz+HP/7eM//FDidvq+hLVo184sw9Gi3SF2TWT14sV2DQAAAJXRoi32hLeQBnWVfTzS4qpVnapQtfrJoqK/rXH9GDmqlS/7QOVEsIqo8K/E7FTXtwx3YiYXWjas6Qscw6009Q8xj4rzhRfhh72+x13a1PeWCXdYAReitqods+ffKZKhDhA5F45VJnkZGSa8y37pYtsSfX897ThJaNhAklo1k7uHXmja5ixcapbh2JCz2SzPObmvWaojD2tv1xCM2IQEqVn4373Wbt/lAe2P7GGW4fB/bM66yId5AAAAwP6jFaundKhl71X+yk7/atV6tfb923TIg8pKq1UXbyy63PeU9rXM34jKK2b5qnUFyzMXS58+fWwTqpP4+HiZNWuWvVe6Q+f4fvWa2TXWXFrv7/NNu2VY5i4TYg5vVsOs6z66byg0wOw/3/frzZTOsXLJknwTkL7aLnZPOBosfQ36uvT1qKfX7jbVtM8khfZrkIahqb/5XtPCbrWk19x8E9Dq69OANBS3Ld8l/924Wy47oIYc1SBmz79Zesd9/53c69fnLE3Pnj0lNzfX3kOoXMVgvwJvffHwr2R0ElJSpN2YMRKXnGzub3juPKlRq47EH32RuR8prUrVcVWVVqpqqKq0UvWecf+Rv5zQR9598k7TFiqdqMqMqdq5nTxz11Dp2bWjnHHN3fL5t7OlxQGNZfm0V+2e0bNm/EBp9VT0J+AqT1rhGli1qoGq/rdvM2qU3Dr4Mtm+xfc3jfv5F6ldt55ZD9X2vDwZfqTv/0d1GzSQp2fPMevVWczb88wyO7WTJNSiaqC8Dfh2uaSvzJWCgV1sCwCUTa8SWTZ6tOkTk+zVJQB85/U/XZgvj03fvidQPap1rFxwRFEla2Whgeq907bvCVY1VD218HbvtG17/rb2jWvKsKPrmPXK5pnvd+wJVlvF15CbjvFVXHV+uSbn9ZUUFauIipKqQ0OtEPU/joaWbliBcC6Xd5Wveiy9qXDGffUfUkC5YQVm5IX+K5n7OzRUdf9O7m8GSqKhWo/Zs6Xb1Kl7QlXVeMhrsnPd77J17ke2JTJaoarhqdIhAZ545X8mVH3y1f+ZtuN6Hm6W4fjHkIHSpuWBkjF/ifS98Eapl3y2CVXVfSMuM0vsTQPVpqmp5r97l0mTzH/7hAN9YbdaNHOmXQvd4p9+tGuF/939jgkAAIDKSasee7UqKtiprLPoB1ar9kvy/U2pnYtCYg0mK2PVqlbb7lWt6leJi8qLYBVR4S5nb1jTN1FUuBMz+V8qrxra/4eGc7l8eYS9KpJA1P9YrupXX084Qx2g6ispUHViYutI4yH/lryM92X7km9ta2RevH+kqVTVyatufPh5U6mqlayXpZ4oN1z6F7tX6Bo2qCcfPn+vnHpsT3N/9+4CU6mqz6fHRpHiAlWnRfui4RNWLV5i10K3eknRY/2PCQAAgMpLQ0gds9OpbGOtahDsP7bqcYV/j7tM/vBmNU2Fp/P6z5WvQumrpUV/m1bd6t+Eyo9gFVHhqkO1ElO5YDTUSlM3+74LZsOtNHXP6wt5fSGmCzJDDURdqNvS/pjkwt5Qx5DV16QhqntNyv19of47oeorLVD1F3tAO2ky+FXJ+ewJ+XPNQtsaPq1a1WEAdFzVfr0ONxWsj99ylQlAI9WpbWv54NnRsmnWu7Lkswnm8n9C1b1pqFpcoOp0sxNkqa/fecuuhe7rd962a3rM/nYNAAAAlZkZj7R9URVkZata/SpzZ7HVqo5/hadWrGoFaGWxb7XqvsMBonIiWEVUBFZ1uuVK+6EYrFz7OeMCWv9K01C4oLeT3/CDbj30kLZoSAH/ZajHcVWpLjRW7u8jWEWgsgJVf7U7HCuJF46TTVOekV15WbY1MncPu0i+mPiQGVM1kkrV4jSoV9cMC4B9abBa2n/7I086WeKbNDHrqxYtkjceuN+sh+LNwsfoY5Ue68iTTjLrVZWOORbMzTnooIOK3c4turcPPvjA/HsXt62kGwAAKJuOrepftVpZZtHXAPiHlUXBo3+1qhNYtVpZ/jblX62qf0f7JlSrVhVMXlXN6YlKpJNXaSiokztpm5usyk1mFepkUf3n7zQhrf/EUG6yKJ3gyYWaZXlqzS4zWZVOEnV7S9/zP7Bql7y83jeZ1XXNg3tN+rz6/Mq9Jv+24ibyKok+t76GcxrXkAcP8j2/e53F/TsxeVXF8OrkVeHY/NH9sv3nD6TxWXfZluqtMk5eFYzv3/ufvHDTjfaeyF+uv0HOGn6dvVe6959+Sv735BP2nsgVjz0uR58d3eDca4Lt50qboBHRF2wf59DXAVBMXgUUT7/vzL+sKJTUSlX/S+XvSqm3V9jqRfp69XUrfa039a27T7CqtFL1sW+KLh+9vEcdz19Sr9WqL/24w94r/B7Uu84+wSqTV1VeVKwiYq6i078SM5yqTg1oXeWrC1WVO24ox3KX6XfyTbBnuCrYUC7hd6/H//J9XXcn3aEMK+CGFOhUt+hvC7f6FShOw9PukNjW3WTTtPG2BVWRBqH/N+Ace09MUKpVqGXR6lb/UFWPUdVDVQAAgOqoslWtarWq/2X9OglXcaGq0opV/yC1MlStfrKoaKxbqlWrHoJVRGzzLt8Hnn81qU5ipbS6M9iJmQJn33fCGQ7Ahb3+VUcuGA0t7N13SAEVzrACxQXQkUyqBRQn8aJnRYtvN89807agKjr/9jskoVnRbP6fTZwgd59xmnw24SWZ+9WXsj0vz9x0/bMJvm2fF+7j6GP1GAAAAKia/Mda1dDSy7Po6yRbbmxVDYQDx1YN5D/WqhlCwFa6epG+Nv9/ex3iAFULwSoi5ioxezUwC8NX4elbD7aq0+0XGKy2sr9UBVtp6gtzfev+x3KvJ5QQs6TX5O4He5ySXlO41a9AaRKH/Ed2rPhFts771LagqqnfqJHc88HkvSpXddzUNx98QMZeMUSGH5lsbrr+5oNFY6oqfYw+Vo8BAACAqmmfqtVfi6omvWTxhl17BaPHJdUqsVrV2bdq1Zt/m4bFX2UW/W1Uq1ZNBKuIWHHVoap3nO//XsFOzBQ4+74T6lAAC7b5lvo4/yEF/MNet09ZihtSQIU6rIALTX2vYe9/p3An1QJKUqNuQ2l8+Wuy+Yc3ZUfmTNuKqkaD0csffsSMk+omtHIuWbTE3PzpPrqvPoZQFQAAoOpL7WxPgAvpjPRerFr1Dx41CD6qVXDBo//fpgGmF6tWdTIuqlWrPoJVRKSkSkzlAlIXmJbFBbSBxwn1cnkX5AYGmKpzvdDC3pJC41CHFShpSAEVavUrEIxaLTpLk8tfkezPn5Sd6363raiKdJzU+z7+VAY98JB0P+lkad72ELtFzLq2DXrgQbMPY6oCAABUH1oh6T+Lvv+EVl6g1ar+Y6vq8AVlVas6JoRtXRRUeq1q1Vetytiq1QHBahWWl5Fh18qPC1UDq0OVCwxdqFiWkgJaDTVdsBlMpemC7b6AMvA4ak/1axBhb2mhsTtOsGGvq2wt7jWFM6kWEIw6nU+ShHMelk1Tn5Hd2zbZVlRFWoF6zHnnybBnxsl9nxQNAaHr2nbMeQOpUgUAAKiG/Mcj1epJ/yBzf/tkUVGVqQbA/kFpMPzHkfVa1eqXmflm/FelYbH/fwdULQSrVdjCwYNlzvHHS1Z6um2JPlexWVx1qKs0dZNblcZVkBZ3qbxylZ7BVJrm2n7CBZb+XFswE2qVNKSA8r1O33owYa8LaAOHFFAuNGYoAJSHBsdcIfV6DpScqeNtCwAAAIDqIrBq1Suz6GvAq8MTOOFcJu/VqtXixlb1/2+AqoX/slVczrRpMm/AgHILWEurDnWVpr7Kz9JDw9IulVfu+CsLP6DKUtKQAsqFvS7oLI0Lcd3wAYFc2BpM2FvSkALK/c3BVr8CoYo/6x6pdWB7yf3qX7YFAAAAQHVxwRG2KqiQVlF6oWr1q6VFwWP7xjVDrlZ1UjvvXbWqlaL7m74GfS3KVKv6Vdai6iFYrSbKK2B11aHFVWIqV9X5+abSA8OSLrl3iipNzaJEGuC6fRoWM3yJCzaDCXtdaOz+hkDutZY1rID/ayopgA6l+hUIR8KlL8muHVtl84/v2hYAAAAA1cG+s+gHUWlUjgKrVU/pEF6oqjS49A9lP1m0f6tWA6tVdTIuraxF1UWw6lEagn4ZEyOZaWnmvoahen96YqK5r2a0bWvaXFC6YuxYc1/D05JEO2B1lZitaxf/fyX/iadKU9Ls+86eELOMy+WLqkyLxmUN5I5VVqVpaUMKqGCHFfAPVYsb5kCFUv0a6P3Nm81/93Bu+v+h7ZmZ9kio6hoPeU22/z5Dti2YYlsA7C9V/QoFrsAAAMBb/Mf41KrV/TkeaWC1aqSTOgVWrX68H8PVwGrV45KoVq3qCFYRNv9KzJIu4W9o/x9W1sRMpV0qr1z1aVmVpqVVhjou7C0rxCxtSAEV7LAC7nlKClWVe45gJtWKJg1VCVarjxpxTaXJkNckd/rL8ufy8p/cDqiKyvoxLViTNkbnONrHhPOjXHE+3+Tr9yKl/0ZcgQEAgLfsW7W6f8LHaFarOoFVq1ox6iaOqkiB1ao6bizVqlUfwarHaBXpkpEjpdUNN0i/ggJJshWrTVNTzf2+2dnmvuq9dKlp022q9YgR5n63qVPN/eIkpKRIl0mTzD7uceHyDzHLqg4trdLUF5b61ksKMf0vly8tyHTBZHHDADjBhL3+oXFJx3J/c1lhb1lDCihX/RpOhc9ZDRua/+6h3vT/C6h+arXuJo0HTZCcz5+U/I3LbSuAYM3Ii0746PqGSGn/E63JD7/IjdZrKvvHSwAAEJx1OdvNLRpSOxedlGoIuD+qVv0v1degN9JqVSewavWHlRX/twVWq/YLY0IuVD4Eqx6Tl5FhLunXS/ajKZqBqhNMJab/UAAlhYalzb7vz00iVdrJmqsyLenyfRVM2Oueo7TQWLljlfaayhpSQLl/Jyp8UBHqHn6mxJ9xp2ya+ozs3rHVtgIoi37Wf5Fr70RIA9poVL9qiBnOj3LFiVZorP9OFX0FBgAAVdWW7Tvlqie/lRc/XRRxwLq/Z9HXatWVuUXfN7SiM1rMJFF+wx1UdNWqPldgtaq+JlR9BKseE5ecbILPuklJtiUy5RGoOsFUYmoo6YLJkipNXShZWqiq3PirpZ2suecoqfJVBRP2BnMcFcxwAGUNKeBPX080TrSBsjRIGS51upwmudPG2xYAZYlWdageR/uN0vqOYGmfWNZwO8HQvtj3miL/+/T7gev7AABAdLz//fKoBKz+M9RXZNWqPld5Vas6/hWi5vkWV1xw/FXmTqpVqymCVY/R8FOD0OaDBtmW8B06YUK5BKqOq2wprRJTufFXSzoZdQFtWcFjUXVo8SdrLqD1DRtQ8rGCCXuDGVJAuWEFSgp73YmqKus1ub8vGifaQDAanfOw1GjUXHK/mWhbAJRGP59L+1EuWO5z3vVbkdA+MVphr4pG1ar+XZt3ldznAQCA8EUasO6vqtUfVpZftaoTWLWqoXFFVK2aycAK/z6HatXqhWDVY/JzcsxkQrqMlFa/lid30hRsIFrSiWgwl8orVx1a0smaC1xLq6B1ygp73bHKek3ubyvpOO5Etax/I+X+vmicaAPBSrz8Ndm1eb3kzf6fbQFQEvcjWqTDtrjP+dKuwAhWtMPeaPy4515TNKpfAQDYXx586xdJvWfKfr+NfH6mfUV78w9YQxU4HqmODVqe9Dm0otMpj2pVRytF/SeMqoiqVX0OqlWrL4JVj9HxVWe0bWuWXqYnhXrSVFZ1qHLhZEmXKroQs6zw0VWalnSyFmzQq8oKe92JZVnH8h9WoDjBHkeVVf0KlJfEIf+WbQunybbfvrYtAIrj+qtIfwBzV2pEWmnq/zoiDUT3hMYRDivgvh+4dQAAKqsZC9bbNe9qUDc2rKpVDf/8q1b9L9EvD1rN6V856l9VGm2matVvuIPyrlrVY+vYsU4k1apfxsR49qYTraN4BKsIiws2g6kOdcFrcSeQehx3MljWZffKPd/nm/Y9ljsp7NXALErlxmst7gTSnQgGExq7sFcVdwLpXlPLIPoNF75G45JOIBQ1E1pJ48tfldyp4+TPlXNtK4BArr9aaSsSwuWu1IiUC3pV5CGt71iRHsf/h0+CVQBAVZB+d//9ehtzVS/7SopooNq70wFy36Xd5ba/Hm5bQxNYtfpxOYWrgdWqGui2ii/fKEorYiuqatW/WlWfs6pWq274H1c4loRg1WOS0tKkb3a2tB4xwrZ4UyiVmC4M1QqWwMpOd9Klx3EBZWlKqxB1J4XBHKd1bd//9Ys7gXTHCSY0VqUNK+COFcy/U1nVr0B5qp10lCRe9qLkTHla8jettq0AHP+QMNLqUNc36Od9JOGj/+uItO9wx9LjRHIs/9cUjUm1AABAkcBAtW3zhnZL6AKrVstrFn0dZsAdV5+zPMZWDVRRVauLN+zaa/Kv45JqhV2tqvoVFHjupnP3oHQEqx4Um5Bgbl7mKjE71S37Q8NX+elbDxyXLpSAVrnL5QNP1vQkMJRjuTC0uBNIN6SACzrL4p6vuBPRUF5TWdWvQHmrd+R50rD/DbJp6jgpyPdLRwDsCUNVJFWd+vnuHz5Gciz/vjCSEDOwz/F/faHyH84m0upXAADgE81A1V9g1eoPK6M71qqvWrXomEe1qlnu1aqOhsb+Vavp86N/fuP/t5lJwQr/PlQ/BKseo+NWzBswQNZM9PYs3aFWdbpL6gNP3twJWDDDACgXUAaerLmTQH09ZV2+r0oLe4tCY7MoUyv7i1TgSa37W33PVfZrUu41cTKK/SXupBulTvvjZNO0Z20LAOU/cWJxP8oFK3CM8HCPo6IX9hYdR0XrWJH8bQAAwOfAhHpRD1QdU9npN95ptKtWtVrVXSbvq1YNYoy8KPKvWtVxUFfm7v2dJxJareo/tqo+VyTVqqi8CFY9Ji8jw4Sr2zMzbYv3bC787AilElPtCUT9KlmUOwEra/Z9x/9yef8TNncSGGyAqUoKe91rctWjZSkp7HXHcdWxwWA4AHhBo7+OEakbJ7nf/du2wOu0z9Af5NzN8W/zcr9SGQT2X4E/ygUrsBo03EpT7Sf8jxXYL4Yi8DWFe5zA16QC+1gAABAarVaNdqDqz39MUA1BozUeaWC1qg4B4F9BWhECq1ajOUnXJ4uK/jatwtVxXVE9Eax6TEJKirQZNcosvcqdNAVbHapccBpYqeOOFWxA63+5vP/Jm5thOdjjqOLCXv+TwmCPVdKwAqEeR5VU/QpUtMaX/0d2ZmXK1p8n2xZ4mQ4fs2z0aFk4eLC5Oe7+kpEjPT/EjNcF/ugWbmDo+pxIr1Bwwa6vL/athxv2uj7H/bgXbh/k+j39N3LHiqT6FQAAlL/AqtVojUcaWK26vyZ1Su1svygVilbVqh5n8caialUNjalWrb4IVj1GA1WdwMrLwao7mQylOtSdYPmHoeFcKq+KmyzKzbAc7OX7yoW9xYWhoYTGvtfvW/c/qXUnpqG8pkhPtIFoiYmtLY2H/Fvyfv5Ati/51rbCqzQ0bXbZZfbevlrdcAPBagT8f3Q7sZGvbwisYA2WC2iHN/N9BQv8US5Y/n2x66/CDXvda9rzg2OYfZD/lRruWOH8bQAAoGJp6LlXZWeEVasazAZWq+6v4FErSf3/ttd/9gslwvTV0qK/rX3jmntNAobqh2DVYyrDUADhVIe6Ch/fyanv8e4EzIWJwSruZM0dy832H4w9lTl+Yag7mQwl6FXFndS61+T+9mD4DwXAySj2t9imh0iTy1+VnM+ekD/XLLCt8KrWI0ZI3aQke6+IBqq6DeHz/9HthHjf53TgFRjBcsfqHVdjT//g/6NjsPz74j2BaBhhr69f9q0PSIws7HXH0dfDFRgAAFQepmo1irPo6yRYXqhWdfyrVrVi1X9s1FAFVque0oFQtbojWPWYyjB51Qp7MhlKJaZyJ34ufHQTgbj2YLlKU3eypie3/ie9ofKdVPpeUzihsXL7u8f7n6iGcqySql+B/aV2+2Ml8aJnZdOUZ2RXXpZthReVVLVKtWrkin4ILLrEPZwwNPBKjeKuwAiW/5UaxV2BESz//lP7q0j6IP8rNdxxuAIDAIDKIbCyM9yqVS9Vqzr6t+k4qE4kY60GVqu2b8LYqtUdwarH6Mmv10+A3clWKJWYyp2MuhNLV1nTq4FZBM1Vh7qTtb0qZEKoNNXX70JPd4xwhhRQ7qTWhc7u30hPLEN5TcrtH84JMlAe6ve+SBr0vUI2TR1feI//X3pZYNUq1arR4QJD7TNc3+f/o1ywAq/UcH1QOJ/3/ldquOOEE4YGXqnhluEMK+B/pQZXYAAAULlEq2r1q8ydnqpWdVI7F/1t4VatUq2K4hCseoyeAPfNzjbjrHqVO0FyJ3LBamj/3+ZOUMO5VF65E1J3suZO/kINMFVg2Ot/ohqKwJPaSF5TqP+uQEVoeNptUvugZMkx4Sq8KrBqlWrV6HA/vrkf3dzndKjhY+CVGoFXYAQr8EqNhrZQQvvEUMPewCs19vRntj1Yvuf2resxtG93/Xs4gS8AAKh4gbPop8+3nXuQNIj9YWVR8OilSZ20stS/ajXUv035V6tqFSzVqlAEqwiLnjSFGhq6kzWtjgk8AQuFnqi5cFVP1tzJn2sLhQt7tXrW/0TVXZ4ZrMCT2nCHFFDuRBvwmkYXaqhaQzb/8IavAZ7kqlapVo2ewB8CA3+UC5a7UqNTXd/j3fFCvVzev//Uvti/X3TbghV4pUbgFRjBKu5KDdeXhvrvBAAA9h//qlWt0AxlFn0dPsBVq2pA65VqVeeCI4pCAxMCrygKSssSWK2qoTGgCFY9ZsXYsTKjbVuz9LJIqkP9Q1X/E7BQuMfoydqMPN8HfTiBpH/Y63+i6k52gxV4UhvukAIqnDAWqCiJQ16TP1fNk23zPrUt8BpXtUq1anT4/+jmPp8Dr8AIlgtoXX/hgkftF/UWrOKuijixke9FhRpiBl6p4f7GUKtMi3tN7lgr7QkWAADwvsCq1WDHI9UA1j+oPC6plmeqVR2tWNVKUyfYcWQ1LPb/d6BaFf4IVj0mPydHtmdmmqWXuZPCUGj46ALLV7LcyWV4H7TuZE2rf8KdBEv5h73FnRSGwv+k1p2o6qzPoXLVr4AX1ajbUBoP+Y/k/fiO7Fj6g22FF8z44H157rrhcssxfWXs22+am64/N+xasw3hKe6HwD19UAiVpv4/KrrH+/8oF0qQWdyVGv5XYAQrcEgBFe6wAsVdqeF+8HTPAQAAKgf/WfSDrVr1n7BKg9mjWnnzxNb/bwu2ajXw34BqVfgjWPWYpqmp0mXSJGk+aJBt8aZwL1d31Tn/3ej7UAonDFXu+T/ftNuc/PlOTkM/ln/YOynbhb1mETJ3UqvHcSeR4YSk/ifagBfFNjtUEi+bKDmfPyU71y+xrdhfMuf+Ig8OSJXPHnlIavwyR/rGx8mZ7duZm67XmDfXbNN9dF+Exv3o1rle0Vcm/x/lglVcQKvceiiVpu4yff++2PWn7oe9YPgHve51+PdBoQSixV2p4Y4Z6lAHAABg/9KKTP+q1dd/Lv1LweINu/YKKHU4Aa9Vqzr6d/lXrabPL71q1VSr+lW2Uq2KQASrHhOXnGzCVf9Znb0o3EA08HHhXCqv3EmtE0kQ6R7rTmrDDY2LTmp9x9H7LrQNVTiVrkBFqtP5RGl07sOyaco42b1tk21FRXtv7Bh56K8Dpfn2rXJskybSMTFRGtWpI7Vq1DA3Xdc23dZs2xaz7/tj/mkfjWAUVx3q/6NcsIFo0TAAe/cLru8ItdJU+feprl90V3EEw732fV+Trw8KJewNHFJAuX8zDaBDCaEBAMD+51/ZWdYs+p8s2rta1T+49CL/v02D09KqVnUyLq1sdU7pUDQGLaBIbzwmZ9o0M75qXkaGbfGmwJOwYLUK+NUq1Nn3ncDAMjCwDUVgSBvusfYNe8N/TS35rEYl0OCYK6Rej4GSM3WcbUFFmvzsePnspRfkzLZJckjdsn+lalevntn308LHfDjuGduKsrhKzMAf3VxoGGw1phuPNbCPcccNNnjUsLOo+rXoWC7s1eMEewl/SZM/uh89gw17/YcU8J/8UV+PO3aoY7YCAID9S8NR/1n0SxprVatV/Sd18nK1qmOGKmhddDl/SVWrGrp+lVm0TR/j/28CKP4f4TEarC4ZOVKy0tNti/dEEmIGPjbwZC4U/sdyMyyHwz/s9Z0Ehncsd1LrROtvA7ws/ux7pNaBHSX3q3/ZFlQEvaT/vSefkFMOOkga1g7+w0b3PeXgg+X9p59iWIAguUrMfQLREIcD2BM8BmTg7rjBBo/FVas6rt/5fFNwr6m4IQWUO3awwwr4Dyng3w+qcKpfAQCAN6R2Lqr4Kalq1b9atX3jmnsFll7m/7eVVLX6ZWb+nmpVDYsZWxXFIVj1GB0CICElxdNDARR3Mhcs/0oWPU4kVZ3+FaKRhJj+j43kOMr/8eEOKaACq18BL0u49EXZtWOr5M1617aU7MV3PpFBtz0uZ14zSu5+8hXZvIUyNn86eWEw/nPbbdK7zcEhhaqOPuaog1rLa7fealsqr/K+usO/EjNwzGz3o5yrRC2LCykDg8dQJ4vyDzEDhR72+vYLPJY7TrDDCpQ0pIAKtfoVAAB4h44l6l+hmT7ffhGxNGj1r1Y9rm3lCR41KC2tatVXrVoUtupkXFSrojj8v8JjdNKqblOnenryqkguU/dVhPrWIwlVlZssSkUS9vqHmJEcR0XrWIHVr4DXNR7yH9m+9AfZOn+KbdnXJTc/KlePelL+/d4U+fjrWfLAc29KcupQWbB0hd0DerXC9MREWTNxom3Zl87wv3tTdlCX/5ekXf36UpCbY45VmekVHnOOP77crvJwgaF+ngd+Jru+LJihAPwD2sC+wb9fdPuUxgWUxfXFrl8MJuwtaUgB5fqgYMPekoYUUO7vDeY4AADAey44oqiDD5xF/6ule1eren1s1UCBVasf+w13oNWq2qZ81aoRBCGo0ghWPSY/J8fcvCzS8NGdwBV3AhYK9zp8J6XhvyZ3AqkiGVJAuZPaSF+T0n8f97oAr6sR10QaD3lN8r57VXYs+8m2FtFK1dc/nGbWT+57pIxPu06SO7eTZavWyU0PM4yAP+0DFg4eXGLA+tP770nz2Mi/2Okxfnq/cgerSofQmTdgQLkErMFWh5ZVIVoUYBb1gf5ObOTrPIK5XL6koQmUaws27FUl9emujw7mNZU0pIBy/07BhMYAAMB7tErTPzB1M+QHVque0qHyXSYfWLXqKlQDq1V1CAAdlxUoDsGqx+jEVXoynZmWZlu8Y3izGuYEqaSTsGC5x0dyqbxyJ2v+wwuEyx0jWmFvpMdRr7SrKTO7MoYLKo9arY+QxMtelE1Tnpb8DX/YVp+vZvnG89RQdfLz98qVA0+V8aOGmzatXi0oKDu8qW5KClgz5/0qB9atY++FT4+ROW+evVf5lUfA6qpDA4cBUP4/ypUVGhZVvhb/tcv9KBfM5fLRDntL6tPdsYIJVt34sMUdy/0bBVv9CgAAvMd/Fn1XtepfrarBqw4bUBkVV7UaWK16VCvOy1EyglUE7brmNeXVdrHFVtuEwgWqJZ3MBcud1EZ6HOWOEemx3IloNF6TOxkFKpO6h58pDc+4SzZNGye7/9xqW0U25Gw2y3NO7muW6sjD2ts1kVpdz5TYLmdE7fZN4W3x01tN2Kb0kvEvY2JMUKl0LFO9rzd3lYAGcnrf/bCl4Zzen9G2rbmvdF3bXHCn++p9fazSY+l9vbnxUvU59b6+BqWvye3j/Ni9u7m/9uWXbUuRwIB186YcqV8r8opVPcbp07/d81oq48399/UXzYDVVYeW9EOg+1GurArR0i6VV67PKOs4LuTU/qG4vtj1i6qssLe00FgFO6yAviYX4pb0/cD9fcGEtKVJvWdKhdyuevJbWZcT5OC5AABUA1qt6V+1+vrPf+49tmolntRJg9N+fq9fK1WpVkUoCFY9pvWIEdJj9mxPj7EaKQ0fSzopDJWe1AbOsBwOPWku6RLNULiT2kiHFAAqs7iUYVK36xmSM+UZ26IhajuzfPaNyTJjzgLZtWu3nHHN3aYNwdOQtfbu3cInTHCCnQysJG7yppJ+LHPtK21FQ0ly7XlHSQGt+1GuLC7oLe2qiGDD3rJC42DD3rKGFFDu76sswwFoqLp0je/HIAAA4ONfteqvMlerOqd02Ltq1b9a1T90BYoTs3zVuoLlmYulT58+tgnVSXx8vMyaNcveqxha2XLpkl2S3jHyD6gHVu0yJ4VufLpw6Ynhrct3mYrcSF2yJF8ua1oj4tcUrJ49e0pubq69Fzyt5tLKLp0sLSElxbZWP1r1pvpxKXrUZb90sUj+Dok/ZrCZ/V8nqtIxVVWNGjGye7fv3/zF+0fKZaknmvVoWjN+oLR6aou9VznocDCustWJTUiQNqNGmR/cdP3WY/pK30ZxEl87suEANu3YIdNz8+Thb6bblsrHfY7508+zJn/5y55/r2D7uUPn+MYL0yFY9Acyra5M/S3frJc0LMvnm3bLsMxd5vP+maSSTyj6z99pQsUpnUu+6qPX3HzTP5a2z1NrdsnTa3fLZQfUkNtbFv982i++vH63Gb5HrzQpift7S3o+fS36mpT7NymOPpc+5zmNa8iDBxX/fO51+/876b+b/vst7BZc9XW4fV2oHnzrF5mxYL3c9tfDpXenA2wrAK/QK0WWjR5t+sUkDw6dhqpFr2JQ6Xf3N0sv0+878y8rqiAtL6///Odek1epYb3rVPpgVekQAJ/4TV6lNHA91S90LU+dX65ZId91QqVXzOnVc/rd+tAJE2wr/FGx6jF62aL+nzZa48N5kZ6cnRBf/AlaqFrVis5QAHopZDSOo/Q40ToWUJklXv5v2ZW3QbZk/E8aNqgnHz5/r5x6bE+zTUPVFgc0LrdQtSrQULDdmDHSe+lSczWD3ldtDjtM1m3bYdYjsX77Dkk6rLO9V/lpoKr/Xl0mTdrr3ytcwVSHukCytKpO/eHOVWqWdNm9cs/z+aaSj+Uuyy/tSg23rbRL+MsaUkDpNhemllZp6oYUaFnKOYfrE8uqfgUAAN7mPx6pqgrVqo5Wpvpf8k+1KoJFsOoxeRkZ5hcBXVZlWtkSDQMaR2dIAT15PDE+Sq8psUZUXhNQFWi4unX+NNm28Evp1La1fPDsaNk0611Z8tkEWT7tVULVYpQUqDpHnn22rM7f+9f0cOgxjjz7L/Ze5RXtQNUpaxgA5cJQre5044wGciGmHscFlcVxl8uXdBzlwt7SjtO6tq8vKy3EDCY0VsEMK+COVdq/UzB/GwAA8L7AWfQr89iqgfRv6+U3SZX+bdoGlIVg1WP0BFFPDOOSk21L1RSt4LG0k8tQBTvGXVmoVgWK1ExoKY2H/Ftyv3pO/lzxi2lrUK+utGl5oFnH3vQSm5ICVaf3mWdJTHyCLNlmp2IPw+K8PHMMPVZlppeCRjtQdVwlZmljZmsf5MJJNzN+IFftWVbfUNZkURpKBnMsF4aWFva60Lisfs89T2mBaDCvSf+dXH8d6QRWAABg/3JVq1WpWtVxVat6o1oVwSJY9RhXedM0NdW2AEDlVjuplyRe8oJkf/G05Oessq0ojoaDwQSEFz30kPzwx3LZ/Gcp12iXQB8zc+Uqc4zKTvvMaAeqTrBVne6HwpICw7Jm33dcMFlSdagLMPX1lPbjZDBhb1FobBYl0uF2VElhbzBDCjjuNTEcAAAAlZu7RN5/wqeqQv+2U9rXMpWrVKsiWASrHqMzGOswADrzMwBUFfWOPE8anjRCNk0dLwX5oYeB2FtS18PlrOHXySd//BFSuKr7flr4mLOGDTfHQPGCrQ5VewJRG1YGcgFtSbPvO/6XyxdXIeoCyWCu+Cgr7A1mSAFVVhgabPisGA4AAICqI/Ww2tIqSkPpeY0OdVBRE1ahaiBY9RgdX/XH7t3NzNAAUJU0PPFGqdOxnwlXEbkzhg6TEwcNlg+WZppL+8uyKHez2feESwfJGcOG21YUx4WqwVRiusBUJ6kqTjBjtSp9Lhd0uuf3t2C77/hlHUe5fdxj/IUSGpcV9rrjBDOUTlnVrwAAAEBlRLAKAKgwjQb+U2LqNZLc7/5tWxCJv9z4D7n1rbdlbYOG8tW6dfJbdrZs2rFDdu7ebW66rm1frVsv6xrGm33/8o+b7aNREleJ6cYrLY0LFYsLQ7ViVAPJYAJaVdpkUbm7fMuyLt9XLuxdUUzY615nWUMKKN/r9q0XN6yAC0mDeU0MBQAAAICqiGDVY5LS0qRfQYFZAkBVlDjkNcnPWiZbfv7QtiASekn/7en/k5Nvu0N2deos3+bmyX+X/G5uur6r02GF2243+3D5f3BcYBhMdairMvVVgu4dGoZyqbxyz1dcdag7lpv1vzR7KlaLCUNDGVJAlTasQLBDCqiyql8BAACAyohgFQBQoWJq1pLGV7wmW3/5SLb99o1tRaR0hv9rnn1eHvpmuoyb+6u56fo1zz5X6Wf/r2iuqjOYSkzlgszAqtVghwFwXKVp4OXyGtj6V5qWxU2UVVzYG8qQAmrP37Zz7+P4ju1bD+ZYGr66ADbw3wkAAACorAhWPUbHVtUxVnWsVQCoqmo2SZLGg1+RTV88IX+unm9bAW8IpRJTuWrMwKrOotn3gzuOe77Ay+X9A8xgKk31OC6ADQwxQxlSQBWNIWsWe7j7+jzBVr+WNtQBAAAAUBnFrFi1ruCPzMXSp08f24T9KTMtTZaNHi1tRo2qkOEA4uPj7Roqs9zcXLsWvDnHHy8506ZJt6lTJSElxbZWP1/G+AIBHYIDFW/rjNck9727pfHZd0vNhgfY1uhYM36gtHpqi72H6kr7uVmzZtl7JTt0zk6znNI5VvrPz9+zHkxo+NSaXfL02t1yYqMa8kySLRct1H/+ThNAaptuK4tWgfaa63vumV1j9wStL6/fLQ+s2rXP8Utz2/Jd8t+Nu+X2ljXlsgOKntu9plfbxQY16ZRWvOq/h74WfU2Oe016DD1WMHR/fZy+Hn0Nn2/aLQu7BTfrbs+ePcPq60L14Fu/yIwF6+W2vx4uvTtF9zMJQOQq+lwJ1VvqPVPMMv3u/mbpZfp9Z/5l9tdTVEqdX65ZId91QqVFfwsHD5bmgwbJoRMm2Fb4o2LVY5qmpkq7MWMqLOjSNy63yn8DKqv6vS+S+scMkU1Tx4sQbsMDXNVpKJWY7lJ4/0rMUC+VV/6Vpv7jo7rL94MZBsBpafNKVzWrQh1SQJU0rECoQwqokqpfAQAAgMqKYNVj4pKTpfWIEdW6ghBA9RJ/2u1Sq00PydFwFdjPioLVEAJDv4mZHBce+sLS4I/l9vUfVsDN7u+CyWC4wNMNa6D8g95gX1NJwwqEOqSAcs/JUAAAAACoKghWPSYvI8OUWusSAKqLhAueKeyRakrujNdtC7B/uImjQqnE1PBRb8oFoi7QdOOKBss9b2ClqQqpOtSGvW4CLRVOaKw61/N9XfQPe93f17p28F8lXUCrAbR/CA0AAABUVoXfhvli6yVZ6elm/ApdAkB1kjjkNdm5eoFsm/eJbQEqngv8QqkOVS40dNWY4QS0yj2vex0aZhZdvh/8sVzYq8dxwWw4QwooV5Xqwt5whhRQ/tWv/kMdAAAAAJUVFaseUzcpyQwHEJuQYFsAoHqoUSdOGg95TfJmvSvbl86wrUDFcoFfyIFowHAALngM5VJ55Z7XvY5wqlUdF2LOyPNVl4YzpIByz+2qVMMZUsBx+1OxCgAAgKqAYNVjdKa1HrNnm3FWq7oNGzbIc889J7169ZKYmBhza9++vQwdOlQmT55s9tFt5cU9p7sB2P9im3WUxEEvy6YvnpKd6xbbVqDiuMDPTdoUrIb2G5WrVHUhpBsiIFiBk0X5h5ihcmGvO0a4IW3gsALhDimgwvk7AAAAAK+KWbFqbcEfmUukT58+tgkof2+88YYJULOzs6Vnz54yevRoOf300802DVVHjRols2bNMvcLymmm8Dlz5khycrK9V37P41Vzjj9ecqZNk25Tp1brydK+tKF6P2ak95Qt01+SvE8elcZn3yU16odXwb9m/EBp9dQWew/VVXx8/J7+pDSHztlp13zhX3rHWHsvOJ9v2i3DMneZIPWLzjWl19x80z6lc2zIAWT/+TtNGPpqu1h5OWu3OfZlB9SQ21uGlvY+tWaXPL12t5zYqIYMb1ZDUn/zvaaF3WqZZSjcv4/+PXrM/24M7zW5fycn2Nei3xVyc3PtvfLz4Fu/yIwF6+W2vx4uvTsdYFsBeEVmWposKzxvaFN4rpBUuA6Up9R7pphl+t39zdLL9PsOKr+K+K4TKp0DSIer1CLAQydMsK3wR8Wqx+iXhemJibJi7FjbUvVoqHrBBReYUPWUU06RmTNn7glVla5//PHH5iSqPHXr1s2uAfCaBn0vl/pHnS85U8bZFqDihFOJ6T8UgBtnVS/FD+dYveN8X8+0MtRVvoZ6+b5y1aH6eiIZUkC5x+lrCndIAeX+nQAAQPRoIMet8t9QORGselB+To65VUW///67CVWdceOKD02aNGkib775pr0HoDpqeOYoqdWik2z68nnbAlSMUCd3Um6yKPVFrgsxw/ua1dIWcepkUdEYCkDDXnf5frjBqjuWbzKt8I8V6tAIAAAAgJcRrHqMllfrpdm6rIoee+wxuyamWvWQQw6x9/al2wKrVvXy/fPPP3/PuKinnnqqfPPNN3ZrER2/VYcaaNy4sdlPx27VStlg6ePvuOOOPY/X59Q2R5/XvQa96WvQ16bPo4/RABlA5BIueUF279whebPesS1A+QunElN1qudb6mXyKpyAVrnAUi+bVxpGhlP56h/2Tsr2HSvUsWMdN4asHseFveG8JhVuuAsAAAB4DcGqx9RNSjLjXeqyKho/frxdE+nfv+yxanSYAEfDyuOPP95UsmZkZEhWVpYsXrxYjj322H1CUw0+9bkefPBBM3aqBrRaKathazD08Q888IB5/JIlS8xzapsTOFTBvHnzpGHDhmZdhzh45x1CICBamlzxH9meOUu2zveNcwWUt3CDv8DHhRvQBl4uH25Aq1zY68LQcF+T+9siqaB1GA4AAAAAVQXBqsdkpafLkpEjzaRCVU1xlaWhuP322/dMdqXjo+pwAVdddZXZpoGpqyh97rnn9kxUct5555nl8OHDzVLD1rJexyOPPLLn8VdffbWpnNXqWm3zD3D1+Z1NmzaZ/Z588klJTEzc87wAIhdTP1EaD3lN8r57RXYs+8m2AuUj3OpQFRhahhs++leaqkhCzMDHhnuswDA0ktfkql8BAACAyo6vth6Tl5FhJq6qisFqJDQ0dWOu+geajgauM2bMMOsvvPCCWari9v3oo4/sWvHefvttu7av9PR0u7a3rl27mqVOvLVx48ZShzgAELparQ6XhEsnSM4XT0r+xmW2FYi+SKpDAwPZcC+7V/6vo1Pd8EPMVrWKHhtJaBwY9kbyt0USygIAgP3Lf0i8wJsWMRXX7m5axFReNDPQIiugohGsekxccrI0TU2tkkMBtGzZ0q6Fbv78+XatZHPnzjVLV21akh9//NGuFc//8a4D+OSTT8z9nBImFYuPj7drAMpLvSPOkEZnjZacKc9IwY4tthWIrkhCP/8wVI/jH0SGyr9CNJKw1//vieQ4yg0roMIdUkAxFAAAAJWXDrX34Ycf2ns+r7/+umk/5phjzFKH0/N37bXXmvabb77ZtkTfsGHDzJWkQEUjWPUYDVW7TJpUJSev0irOdu3a2XsiU6Z4f7xE/fD3v+nYqgD2nwb9rpV6h58l2VOesS1AdEVSHeqrCPWth1sZ6vhfLh9J2OsfhkZaKer/+EiOFVj9CgAAKpfAwqLWrVvbNZ/AKziTyrlwTCtV3RWuQEUjWPWY/Jwc2Z6ZaZZV0X333WfXxFSB+s+0Xxy3vXPnzmZZGnc5vv+kUsXp0aOHXSuef/jL7P6A98QPeFBiGx8kuV+/ZFuA6Im0qtMFqpEexwWXepxIQlr/sDeS0Fi5YQV8x4zwWIWvKdKgFwAAQOdBueaaa+w9oOIRrHqMjq86o21bs6yKzj//fDMRlHPXXXfZtX3pB+SLL75o1nWsVPc4/zDWlfrrhFG9e/c26wMHDjRL5fbNzc01S3XaaafZteKdfPLJdk32mt2fMVsA70gc/Krs2rpR8n4qftxjIFTDm9Uwl6hHq6ozkkvllbtcPtIAU0Ur7HWPj/Q4Kr1jrLkBAIDqScdj7dWrlxl6r3379ntNFO1o26mnnrpniD7df/LkyXarb+LpCy64wN4TueWWW8x++hhHi6U0h9D2xo0byx133GG3+Lhju5vS59V99fmAshCsosK99tprZowVpbP064fcnDlzzH2lH7Da9tVXX8mQIUNsq8jDDz9sAlQdA1X316DTlfuPGzduz0RV+hhXteqC0VdeecUs9Xl13Bfl/5zKhbA33XSTeR710EMPmdej9Fj+s/37B7z+wS2AitF4yH9k++JvZOtCJvtD5K5rXlNebRcbcZDpAtVIA1p3uXw0qjrdMSI9lgt7o/GaAABA9aXh6LHHHmsmoc7KyjLFTRqQ+oemGoBq26BBg8ywfH/7299MFnDGGWfsubJUx2zVnMDRdf8h/HQ/zQY0N8jIyDC5wQMPPLBXuKrP70/P//WKWX1t+nwuDwBKQrDqMUlpadK38A3cesQI21L1aACqH2hff/21CTr1wyo5OXnPL0hPP/20DB8+fK+wVHXr1k2mTp1qPlB1/6ZNm5oAVAfO1iDW0cfoB6ke+7bbbjPH1efQD1k9pqPH8HfRRReZpY4H455HP0z1A1+Pr6Gqez36C5ge09EP9/Kc4RDAvmrEN5fEwa/I5i//JX+u+MW2AvuXho/RuFRe6fioneraOxHQsFerTCN9TS7s7dXANgAAABTSc2b/qk+9lUQLlC6++GKzftVVV5lz7AsvvNDcv/76681SaQCq0tN9V6gdeeSRZqn8rywtzdChQ805vV79qnmCyw302C6c9c8cHN339ttvN6GsK8wCSkKw6kGxCQnmVtXpB5QGnYsXL94zOdTGjRtN2X1JH176Aafb3f4zZ86U008/3W4toh+Oemw9nu6nzxE4A6E7hrv5T0wV+Dy67v+Bq/v6P1Zv5TnDIYDi1W7TUxIve1Fypjwl+TmrbCuwf0XjUnmllaEaZEZKjxONoFdp2BuN1wQAAKoOLZoKPD8uyYwZM0zYWZwlS5bsubLUXeXqPwdKKDTA1XldSvLZZ5/Ztb25+V3uv/9+kzcAZSFY9Zis9HSZN2CArJk40bYAAEpTr/s50vDEGyV36jgpyN9hW4H9Q0PHAYnR+Xql1arRuOy+Yc3oXb6vx4nWsQAAQPUzd+5cu1Y0JqpWvDqbN282Sy2U0oBWh/rTylMdpi8U8+fPt2u+ibMDK2ndfC2BiqtgBUpDsOoxeRkZJlzdnplpWwAAZYk7caTU7pgim6aMty3A/jOgcXSCxxMb1YhKpamGvSfGR+crn4bG0ap+BQAA1ZsbE9X/5n/1qg635ypWb731VrMMhw4FEPg8XHGKaCFY9ZiElBRpM2qUWQIAgtdo4D8lpkGibP7u37YF2D+idal8NC+5dxNPRYpqVQAAEImDDz7YrolkllJQplWqWtGq86rce++9tnVfXbt2tWt7a9mypV0TMzQgUF4IVj1GA1WdwIpgFQBClzjkNdmZvUK2ZLxnWwAAAAB4xVFHHWXXxMxlomOhOnpfJ5XScVbHj/ddiab76+X5JYWw8fHxdm1vOim1q3bVsVv9Z/fX40+ePNneAyJDsOoxDAUAAOGLqRErjS9/Vbb+Wvxg9AAAAAAik5uba9d8VqxYYdd83Iz7jn8oqoGnzrivdBKru+66y4SrGnZqSKrb/Wm1qW5LSkqyLXuPj9qwYUO7JvLTTz+ZfZ977jlz/8knnzRLNXLkSPO69Lm+//77PZNg+we7KvA+UBaCVY9h8ioAiEzNxm2k8eBX7D0AAAAA0aITQJ1xxhn2ns8FF1xg2rUqVJeBM/lr9am265ipSmfc1/FVdT/d1rt3bzPZlAs7u3XrJtdee61Zb9++vVnqJFY6Vqr69NNPTYCqdN/XX3/dDBnw5ptvyltvvSVXX3212abH+/DDD6Vnz54ya9Yss/znP/+5Z7tq2rSpXfPR+/7VrUBZCFY9JjYhwdwAAOGr3a6vtHpqi70HAAAAIBoCJ4Hyv+nEU8W1u5v/hFG6rtWo2q7L888/327xGTdunNn28ccfm/BUhwPQdW2bOXOmaXP0sRs3bjTbNLT1p+Gq7q/bdJ/A7doeePOfQAsoC8Gqx7QeMUL6ZmebcVYBAAAAAAAAeBPBKgAAAAAAAACEKGbFqrUFf2QukT59+tgm7E8rxo6VlU88Ia1uuMFUrwLlZc7xx0vOtGnSbepUSUhJsa3Vz5cxMWbZr6DALAFULSXNFIvKJ3CijPLw4Fu/yIwF6+W2vx4uvTsdYFsBeEVmWposGz1a2owaxRV+KHep90wxy/S7+5slUB3p/D8LBw+W5oMGyaETJthW+KshQpjgJfk5ObI9M9MsAQBAZDSM41Y1bgAAAIDXMBSAxzRNTZUukyaZXwMAAAAAAAAAeBPBqsfEJSebcLVuUpJtAQAAAAAAAOA1BKseo2Ne6jireRkZtgUAAAAAAACA19RgiFVv0WB1yciRkpWeblsAAAAAAAAAeE0N33zY8AodAkBnaGcoAAAAAAAAAMC7GArAY3TSqm5TpzJ5FQAAldSGDRvkueeek169eklMTIy5tW/fXoYOHSqTJ082++i28nLqqafueV69ffPNN3YLAAAAgGgiWPWY/JwccwMAAJXPG2+8IR06dJBrrrnG3P/www+loKBAFi9eLGeeeaaMGjXKhJ2zZs0y28vDa6+9Ju3atbP3AAAAAJQXglWP0YmrpicmSmZamm0BAACVgYaqF1xwgWRnZ8spp5wiM2fOlNNPP91uFbP+8ccfS8+ePW1L+WjSpImpkAUAAABQvghWAQAAIvT777+bUNUZN26cXdubhp5vvvmmvQcAAACgMiNY9ZjWI0ZIj9mzGWMVAIBK5LHHHrNrYqpVDznkEHtvX7otsGp1zpw5cv755+8ZF1XHSS1ubFQdv1XHam3cuLHZTytTtVI2WPr4O+64Y8/j9Tm1zSlufFZ9bfo8+hgNkAEAAAD4EKx6TGxCgsQlJ0vdpCTbAgAAvG78+PF2TaR///52rWQ6TICjYeXxxx9vKlkzMjIkKyvLjMl67LHH7hOaavCpz/Xggw+asVs1oNVKWQ1bg6GPf+CBB8zjlyxZYp5T25zAoQrmzZsnDRs2NOs6xME777xj1gEAAAAQrHpOVnq6LBw82CwBAID3RTrr/u23325CSw00u3XrZoYLuOqqq8w2DUxdRelzzz23Z9Kr8847zyyHDx9ulhq2lvU6HnnkkT2Pv/rqq03lrFbXapt/gKvP72zatMns9+STT0piYuKe5wUAAABAsOo5eRkZsmbiRLMEAABVm4ambsxV/0DT0cB1xowZZv2FF14wS1Xcvh999JFdK97bb79t1/aVXsIPul27djVLnXhr48aNpQ5xAAAAAFQ3BKsek5CSYsZZ1eEAAACA97Vs2dKuhW7+/Pl2rWRz5841S1dtWpIff/zRrhXP//FuDNVPPvnE3M/JyTHLQPHx8XYNAAAAQCCCVY/RYLXdmDHSNDXVtgAAAC/TKs527drZeyJTpkyxa96l47P633RsVQAAAAChIVj1mO2ZmWYYgPwSKkcAAID33HfffXZNTBWo/0z7xXHbO3fubJalcZfj+08qVZwePXrYteL5h7/M7g8AAABEjmDVY3R81R+7d5cVY8faFgAA4HXnn3++mQjKueuuu+zavnSiqBdffNGs61ip7nH+YaxOGqV0wqjevXub9YEDB5qlcvvm5uaapTrttNPsWvFOPvlkuyZ7ze6vx9KJsQAAAACEhmAVAAAgCl577TW59tprzbrO0q9h65w5c8x9pbP2a9tXX30lQ4YMsa0iDz/8sAlQdQxU3V+DTjeh1bhx4/ZMVKWPcVWrLhh95ZVXzFKf95hjjjHr+vjFixebdeXC15tuusk8j3rooYfM61F6LP/Z/v0DXv/gFgAAAMDeCFY9JiktTfoVFJglAACoPDQA1SD066+/NkGnBqXJyclmkqjGjRvL008/LcOHD98rLFXdunWTqVOnyt/+9jezf9OmTU0A+uGHH5og1tHH6FioeuzbbrvNHFefQ4NZPaZz0UUXyZIlS+w9kTPOOMMsdSxY9zzZ2dly7LHHmuNrqOpez6mnnrrXJFf62EceecTeAwAAAOCPYBUAACCKtHJUg06tGnWTQ23cuNEMAeCqSgNpuKrb3f4zZ86U008/3W4t4sJbPZ7up89x8803260+Gr6647ibE/g8uu4f8hb32MDjAwAAAPAhWPUYHVtVx1jVsVYBAAAAAAAAeBPBqsfk5+RIXkaGbM/MtC0AAAAAAAAAvIZg1WOapqZKuzFjJCElxbYAAAAAAAAA8BqCVY+JS06W1iNGEKwCAAAAAAAAHkaw6jE6DICOr6pLAAAAAAAAAN5EsOoxWenpsnDwYLMEAAAAAAAA4E0Eqx5TNynJDAcQm5BgWwAAAAAAAAB4DcGqxzQfNEh6zJ5txlkFAAAAAAAA4E0EqwAAAAAAAAAQIoJVj8lMS5PpiYmyYuxY2wIAAAAAAADAawhWPSg/J8fcAAAAAAAAAHhTDZECuwov0DFWu02dapYAAAAAAAAAvImKVY+pm5QkCSkpZgkAAAAAAADAmwhWPSYrPV2WjBwpOdOm2RYAAAAAAAAAXkOw6jF5GRlm4iqCVQAAAAAAAMC7CFY9Ji45WZqmpjIUAAAAAAAAAOBhBKseo6Fql0mTmLwKAAAAAAAA8DCCVY/Jz8mR7ZmZZgkAAAAAAADAmwhWPUbHV53Rtq1ZAgAAAAAAAPAmglUAAAAAAAAACBHBqsckpaVJ3+xsaT1ihG0BAAAAAAAA4DUEqx4Um5BgbgAAAAAAAAC8qUaMXYE3ZKWny7wBA2TNxIm2BQAAAAAAAIDXULHqMXkZGSZc3Z6ZaVsAAAAAAAAAeA3BqsckpKRIm1GjzBIAAAAAAACANxGseowGqjqBFcEqAAAAAAAA4F0Eqx7DUAAAAAAAAACA9xGsegyTVwEAAAAAAADeR7DqMbEJCeYGAAAAAAAAwLsIVj2m9YgR0jc724yzCgAAAAAAAMCbCFYBAAAAAAAAIEQEqx6zYuxYmdG2rVkCAAAAAAAA8CaCVY/Jz8mR7ZmZZgkAAAAAAADAmwhWPaZpaqp0mTRJmg8aZFsAAAAAAAAAeA3BqsfEJSebcLVuUpJtAQAAAAAAAOA1BKsekzNtmhlfNS8jw7YAAAAAAAAA8BqCVY/RYHXJyJGSlZ5uWwAAAAAAAAB4DcGqx+gQAAkpKQwFAAAAAAAAAHgYwarH6KRV3aZOZfIqAAAAAAAAwMNqiBTYVXhBfk6OuQEAAAAAAADwLipWPUYnrpqemCiZaWm2BQAAAAAAAIDXEKwCAAAAAAAAQIgIVj2m9YgR0mP2bMZYBQAAAAAAADyMYNVjYhMSJC45WeomJdkWAAAAAAAAAF5TQyTGrsILstLTZeHgwWYJAAAAAAAAwJtqiBTYVXhBXkaGrJk40SwBAAAAAAAAeBNDAXhMQkqKGWdVhwMAAAAAAAAA4E0Eqx6jwWq7MWOkaWqqbQEAAAAAAADgNQSrHrM9M9MMA5Cfk2NbAAAAAAAAAHgNwarH6PiqP3bvLivGjrUtAAAAAAAAALyGYBUAAAAAAAAAQkSw6jFJaWnSr6DALAEAAAAAAAB4E8EqAAAAAAAAAISIYNVjdGxVHWNVx1oFAAAAAAAA4E0Eqx6Tn5MjeRkZsj0z07YAAAAAAAAA8BqCVY9pmpoq7caMkYSUFNsCAAAAAAAAwGsIVj0mLjlZWo8YQbAKAAAAAAAAeBjBqsfoMAA6vqouAQAAAAAAAHgTwarHZKWny8LBg80SAAAAAAAAgDcRrHpM3aQkMxxAbEKCbQEAAAAAAADgNQSrHtN80CDpMXu2GWcVAAAAAAAAgDcRrAIAAAAAAABAiAhWPSYzLU2mJybKirFjbQsAAAAAAAAAryFY9aD8nBxzAwAAAAAAAOBNBKseo2Osdps61SwBAAAAAAAAeBPBqsfUTUqShJQUswQAAAAAAADgTQSrHpOVni5LRo6UnGnTbAsAAAAAAAAAryFY9Zi8jAwzcRXBKgAAAAAAAOBdBKseE5ecLE1TUxkKAAAAAAAAAPAwglWP0VC1y6RJTF4FAAAAAAAAeBjBqsfk5+TI9sxMswQAAAAAAADgTQSrHqPjq85o29YsUfnExMTIdUOHytKlS20LAADVm/aNw6+5hr4R8DDepwCAqkD7saHDrzP9WkWpIQV2DUBULJ78oRzasaNcOXiwLFiwwLYCAFB90TcC3sf7FABQWWm/NfiKK6XjoYfK+79W7I+EVKx6TFJamvTNzpbWI0bYFlQ2ZzVvJvd3O1yyZnwvPbp3lwvOGSBz5syxWwEAqH7ObtnC9I3rv50uPbVvHEDfCHgN71MAQGWj/dSA8y+U5B495dtV2dL55kflgBMH2K0Vg2DVg2ITEswNlVeD2Fg5Kb6h3Ne1i+ycP19Sjukr55xxuvzwww92DwAAqhftG09OTJB7C/vGP3+dV9g3HiMDTjuNvhHwEN6nAIDKQPul0wecK337pci8Lbuk0z8ekQbHnCax9ePsHhWHYNVjstLTZd6AAbJm4kTbgsqsTs0a0r9RvNxzWGep/fvvcuYpJ8sZJ54gX3/9td0DAIDqRfvGExITCvvGTlLr9yVy5smFfeMJ9I2Al/A+BQB4kfZDJ5x+ppx8xlmyeHdd6XDjwxLX52SpUbuO3aPiEax6TF5GhglXt2dm2hZUBTVjYuS4RvGSdmhHabRypZw/IFVOOu5Y+fzzz+0eAABUL9o3piQmSFqnjhK/4g85PzVVTjymL30j4CG8TwEAXqD9zrEnniypfztfltdtLIeMfEDieveXmJo17R77D8GqxySkpEibUaPMElXTMY3i5Y727aT5unVyxYUXynFHHSWTJ0+2WwEAqH6OTUyUOzpo37hWhlx4gekbP/zwQ7sVgBfwPgUAVDTNSnof108uvPwKWZ3QStoMv0fievazW72BYNVjNFDVCawIVqu+PgmN5OZDkqRd7ia5fsjlcnRyskyaNMluBQCg+vm/xo3llkPaStvsDYV94xDp3a2bTPrvf+1WAF7A+xQAUN40G0k+6mgZct0I2dCio7S+5i6JP/IYu9VbCFY9hqEAqp9eCY3k720Olq7btsrt110n3Q87TN54/XW7FQCA6qd3kyZyY9LB0mXrFtM3JnfuLK+/9prdCsALeJ8CAKLt9dffkC7dj5Tht94hm9slS4sht0h8t6PtVm+qIVJgV+EFTF5VfR2ZmCDXtW4pvfJ3ygO33CJdOnSQiS+9ZLcCAFD99GzSWK47qJUctStfHrj1VunSvr289K9/2a0AvID3KQAgUi9NmCjtD+sqN9/3oGw7rI80u+xGaXR4L7vV26hY9ZjYhARzQ/WV3DhRrmnZXPrVjJEn77lH2h98sIx/+mm7FQCA6kf7xmtbtZB+sTXkqfvulQ6FfeMzTz5ptwLwAt6nAIBQPT1+vLRp31FGj31KpNcJcsBF10tClyPt1sqhRoxdgTe0HjFC+mZnm3FWUb11TUiQK5ofKKc3qC8T/vm4HNyihYx59FG7FQCA6kf7xitbNJfTCvvGl8eMMX3jPx952G4F4AW8TwEAZXlszFhpcdDB8vgLL0vtfmdJk78NlfhDj7BbK5caIkSrgJd1ahQvgw48QM5rnCDvPPecNG/aRB689x7ZuXOn3SM4+Tk5e92c4toAAPAy0zc28+8bm8oDo0eH3DeqpWs277k5v/u1rcvZblsBhCJa79OcadP23HYsW2badOnadI4KAED06Jw/7uZyAl36t4dDP//vffAhadq8hYx/4x1peNqFknjuldKw3WF2j8opZvWKVQVL/8iUPn362CbsTyvGjpWVTzwhrW64wVSvonKJiYmRZ3qX7zggmXlbZMaff8ova9fJdcOGyT9uv13i4uLs1tLNaNu21A/BdmPGVLv/331Z+N9M9StgvGkAKA8V1Td+v327zFufJcOGXis333Fn0H3jyOdn7hWqBvrbcUlyQcoh9h5QNXn5fbpk5EhzjlSSNqNGcbUfykXqPVPMMv3u/mYJVBeZhZ+py0aPtvf21TQ1VbpMmmTvlS0vL08efPQxefqpp+SATkdIbHJfqd+6rd1aPmbfcYUUVNA5PpNXeYz7FYDqQZQkKa6B/E3HsGpzkHzz7rvS4sAD5ZbCL5wbNmywe5RMv3iWpG5SkjQfNMjeAwCg8tC+8fymTeQa2zc2P+AAuXnEiKD6xuvP7mTX9nVgQl05++iD7T0AkQj3fVra91edm4JiFACILv1c1XygJFoIGAz9fL/x1tvkwOYt5K2p06XlRddJ/JkXl3uoWtGYvMpjXPJPwIWytKpfX85NbCR/79BeMj6aLC1btJCRw4bJ6tWr7R770v9flfQBqR+OTJwGAKjMtG88r3Gi3Nixg8ye7Osbb7jmGlm1apXdY19tmzc0t+Icf0RzaVA31t4DEA2hvk9LC0/5/goA0aefq80uu8ze25tmVgkpKfZe8TSTGDpipLRo2VLenzFbkq68RRqeer7Ua3GQ3aNqIVj1mLjkZPN/1NJ+HQD8NatXV/6S0Eju6NJZFk75Qlq1aiVDhwyRzBIu+S/uV3+qVQEAVYn2jQMaJ5i+8bepU0zfeE1hP1dS31hc1SrVqkD5CuV9Wtz3V6pVAaD8lFS1Wlq1qn5+D7lmqLRs2VK+mLdYOlw3WuJOGih1D2hh96iaajAQgLfoAOw6hhCDsCNUTevUkTMbxct9yUfI8m+nS8cOHeTyiy6ShQsX2j18iqta5dd+AEBVpH3jWYkJcn/3brLi++9M3zjo/PP36RuLq1qlWhWoGMG8T4sLUfn+CgDlp7iq1ZKqVfXz+qLBQ6RDx44yPXO1dL3lUWlwfKrUaXyA3aNqq+GbtgVeocGqDtCelZ5uW4DQJNSuLadpwNrtcMme/ZMc2a2bXHTuufLzzz/bPfb+1Z9qVQBAVad94+kJjUzfmJMxW45M7iYXnnPOXn2jf9Uq1apAxSvrfer//ZVqVQAof4FVq4HVqvr5fO4FF0m3I4+UWWs3SeebH5X6x50pteIT7R7VA0MBeIz+n1Z/ASiu5BoIRVxsrJwU31DuPbyL7Jj/qxz3f/8n5515psycOXOvqlV+7QcAVBfaN56c0Eju7VrYN/46T/oV9o3nnnGG6Rv9q1apVgX2n5Lep7MXLdoTpvL9FQDKn3/Vqn+1qn5vOvOc8+T/jusn87bskk43PSINjjlNYuvHme3VDcGqx2jg1W3qVCoIETV1a9aU/vEN5Z4unSX29yVyxkknyVmFtz8vvJBqVQBAtaR94wkJjWS09o1LFsvpJ54oZxbejj1oG9WqgEcU9z69efZskbg4qlUBoIK4qlX9Qeubb76Rk848S046/QxZvLuOdLjxIal/9ElSo05du3f1RLDqMfk5OeYGRFtsTIwcF99Q0jp1lPgVK+T8Z5+VV+vXly9//NHuAQBA9aJ9Yz8NbjofWtg3LpfhF6XKiulvyPfTv7R7ANjf/N+nddaslutr1pTTzz5bvvjiC7sHAKC8aNXqluuuk7Pve0D+MvBvsrxOYzlk5INS/6j+ElOTq3sUwarH6MRV0xMTJTMtzbYA0de3UUO5o0M7yS3YLUMuuED69e4tkydPtlsBAKh+jkloJHd2bC9NMj6Wy88/X4476ij6RsBj9H16daeO0mztGt6nAFDO9PP16ONS5PyxT8raxq2lzXX3SP0ex9mtcAhWgWrs6PiGcvMhSXJI7ia54YohcnT37jJp0iS7FQCA6qdPYoLc0q6ttM3JluuHXC5HJyfTNwIew/sUAMqPfp527320DBl+g2xs2UFaX3OXNEjua7ciEMGqx+j4FT1mz2bcS1SoXo3iZeTBB0mXbVvl9uuGS4+uXeXNN9+0WwEAqH56N06Uv7c5WA7bskVuGz5Muh92mLz++ut2KwAv4H0KANGjGUCX5CNl+C23S94hydLiilsl7oij7VaUhGDVY3T8irjk5D0ztgMVqUdCI7mudSvpsfNPue8fN0nXjh1l4sSJdisAANVPzyaJcv1BraVX/k65/+abpUuHDjLhxRftVgBewPsUAML38ssvS/vDusg/7nlAdnTtI80G3SQND+9lt6IsBKsek5WeLgsHDzZLYH9JTkyQa1u2kOMKPyGeSEuTDm3ayHPjx9utAABUP8mNE2VoqxbSr2aMPHnPPdL+4INl/NNP260AvID3KQAEb/yzz0mb9h1k1D+fkoKeJ0rTi66X+MOOtFsRLIJVj8nLyJA1EyeaJbC/dU1IkCubHyin1a8nLz76qLRp2VKe+Oc/7VYAAKof0ze2aCanN6gvE/75uBzcooWMfewxuxWAF/A+BYCS/fOJJ6XlwW3kkedfktrHnS2N/3atNOp0hN2KUBGsekxCSooZZ1WHAwC8olOjeBl0YFM5N7GRvDlunLQ4oKk8fP/9kp+fb/cAAKB68fWNB8h5jRPkrfHjC/vGA+TBe++lbwQ8hPcpAPjo5979Dz0sB7RoKc/85y2JO/V8STzvKmnY/jC7B8JFsOoxGqy2GzNGmqam2hbAO9o3bCgXN20slzRrJh9OnCjNmjaVtDvvlC1bttg9AACoXkzfeECTwr7xQPnolZelWZMmMur22+kbAQ/hfQqgutLPuTvTRkvTZs1l4vsfSePUwdLoL4MlLqmj3QORIlj1mO2ZmWYYgPycHNsCeE9SXAM5v0miXH1wa/nq7bek+QEHyG033SQbN260ewAAUL34+sbGcnWbg+Trd942feOtf/87fSPgIbxPAVQX+rl24623yQHNmstbU76RFhcOl4ZnXCINDjrE7oFoIVj1GB1f9cfu3WXF2LG2BfCu1vXry3mJCTKyQzv58YMPpEXz5jJy2DBZvXq13QMAgOrF9I2NE03f+NPkD03fOGLoUPpGwEN4nwKoqvRzbPjIv0vzFi3kgx8yJOnKW8xl//VaHGT3QLQRrAKIWPN69SQ1IV7u6NJZFk6ZIq1atZJrhwyRzMxMuwcAANWLr29sZPrG31zfePnl9I2Ah/A+BVBV6OfWkGuHms+xz+cukg7XjZYGJ54ndQ9oYfdAeSFY9ZiktDTpV1BglkBl07ROHTmzUUO5L/kIWfHdt9K+fXsZcvHFsnDhQrsHAADVi+kbE+Jt3/iddCjsGy+/8EL6RsBDeJ8CqKx+++03uWjwEGnfoaNMX7pKutz8iNQ/PlXqND7A7oHyRrAKIOoSateW0+IbygOFX043zv5JjuzWTS4eOFB++eUXuwcAANWL6RsbNZT7C/vG7IzZpm+86Nxz6RsBD+F9CqCy0M+l8y66WI5I7i4/rdskh93yqNQ/7iypFZ9o90BFIVj1GB1bVcdY1bFWgcouLjZWTmoYJ/ce3kW2/zpPju3TRwaedZbMmjXL7gEAQPVi+sb4hqZv3DH/Vznm6KPl3DPOoG8EPIT3KQCv0s+hs849T/occ6zMzd0pnf7xiNTre5rE1o+ze6CiEax6TH5OjuRlZMh2xvVBFVK3Zk3p3zBO7unSWWouXSKnnXCCnH3yyTJ9+nS7BwAA1YvpGzW46XqYxP7+u+kbzzzpRPpGwEN4nwLwCv3cOeWsv8iJp54ui3fXlQ43PSz1+5wsNerUtXtgfyFY9ZimqanSbswYSUhJsS1A1REbEyPHxcXJ6M6HSsOVK2Tg2WfLKf36yZQpU+weAABUL9o39mvU0PSN8StXynlnnSUnHXcsfSPgIbxPAewv+jmTcvKpcvZ5f5U/6iTIIX9/UOr1Ol5iasbaPbC/Eax6TFxysrQeMYJgFVVe34ZxcmeHdtJs/ToZfP75ktKnj3z00Ud2KwAA1c8x8Q3lro7tpfn69b6+8eij6RsBj+F9CqAi6OdKn34pcv5lg2VNo5bS5rp7pN6Rx9mt8BKCVY/RYQB0fFVdAtXB0YVfTm85JEmScrLlussvlz5HHinp6el2KwAA1U+fRvGmb2y7KUeGDx4sR3fvTt8IeAzvUwDlQT9HevT5P7l82PWS3aKDtL72bqnfva/dCi8iWPWYrMI30cLCjlmXQHVyVOGX07+3OUgO27pFbh02THp07Spvvvmm3QoAQPXTq7BvvDHpYOmybavcNnyYHNmlC30j4DG8TwFEg35udD2ypwy/5XbZ3PYIaXHFrVL/iKPtVngZwarH1E1KMsMBxCYk2BageumR0EiuP6iV9Nj5p9x38z+ka8eO8srLL9utAABUP9o3Xte6lfTK3yn3/cPXN748caLdCsALeJ8CCMcrr7wiHbscLv+4537Z0eVoOfCyGyWuay+7FZUBwarHNB80SHrMnm3GWQWqs+TEBLm2RXM5rvBTamxamnRMSpLnnn3WbgUAoPrppn1jy6K+sUObNvLcuHF2KwAv4H0KIBjPP/8vSerQUe5+/AnZ3bO/NL3oBmnYubvdisqEYBWAp3VNSJArmh0gp9arK8/fd5+0S0qyWwAAqJ60b7yy+YFyWv16cs2wYbYVgJfwPgVQmquvvkpqHXuWNP7bUIk/9AjbisqIYNVjMtPSZHpioqwYO9a2AFCdGsXLkNYt5fdly2wLAADVm/aNALyN9ymAkjRsf5hdQ2VGsOpB+Tk55gYAAAAAAADAmwhWPUbHWO02dapZAgAAAAAAAPAmglWPqZuUJAkpKWYJAAAAAAAAwJsIVj0mKz1dlowcKTnTptkWAAAAAAAAAF5DsOoxeRkZZuIqglUAAAAAAADAuwhWPSYuOVmapqYyFAAAAAAAAADgYQSrHqOhapdJk5i8CgAAAAAAAPAwglWPyc/Jke2ZmWYJAAAAAAAAwJsIVj1Gx1ed0batWQIAAAAAAADwJoJVAAAAAAAAAAgRwarHJKWlSd/sbGk9YoRtAQAAAAAAAOA1BKseFJuQYG4AAAAAAAAAvIlg1WOy0tNl3oABsmbiRNsCAAAAAAAAwGsIVj0mLyPDhKvbMzNtCwAAAAAAAACvIVj1mISUFGkzapRZAgAAAAAAAPAmglWP0UBVJ7AiWAUAAAAAAAC8q4ZIgV2FFzAUAAAAAAAAAOB9VKx6DJNXAQAAAAAAAN5HsOoxsQkJ5gYAAAAAAADAuwhWPab1iBHSNzvbjLMKAAAAAAAAwJtqiMTYVQAAAAAAAABAMKhY9ZgVY8fKjLZtzRIAAAAAAACAN9UQKbCr8IL8nBzZnplplgAAAAAAAAC8iYpVj2mamipdJk2S5oMG2RYAAAAAAAAAXkOw6jFxyckmXK2blGRbAAAAAAAAAHgNwarH5EybZsZXzcvIsC0AAAAAAAAAvIZg1WM0WF0ycqRkpafbFgAAAAAAAABeQ7DqMToEQEJKCkMBAAAARNkRf/2bnPvCS3LVtK9k6Pc/mNtFb78rJ6aNlhbJyXLUVVfL6Y8+ZvcWadi8xV77X/reB2YfAAAAQMWsXrGiYOkff0ifPn1sE4BwxcTEyDO9e9l7+5eeDPa+5hppeWQPiTvwQNO2fdMm2bR8uSz/YYb88Pxz5gTxlbPPNNv86Ulj2+P6yebVq2TyP26yrd4wbMZMKSgosPci92XhfzPVL4rHBAAU8ULfqH3i2U89LY0OOsjcz/z6K5n92r9ldUaGCVS7X3SxJB173J5t2vfpYy54402JrVvXtPub9dKLph/1gmj3i6ievPQdVumPIB1OPkWatG+/5z2o32HXzpsr89InyUFH9ZamHTrs+Z6q7+P/G379nv31O+/cd9/hfYqIpN4zxSzT7+5vlkA06edu9/tfsPeKl7dskSx6/mF7LzgdrrpF4tp0sPciN/uOK+yaT1mvWS0cd5/s2LhOkgZeKfGHHm5bK5a+7or63KVi1WPyc3LMDYjEsTfeZE4GO556mrmvJ4Djjj5KXjrlJBOqdjrzLFN54wJXpV9ItUrn8k8+k56XDzFfTAEAqOw0IB3w/L/2hKrf/PNxE8ZoqKp0qfd/efstc985+b775fdpU03/OemaqyRv3Tq7RaTruefZNQDRpO9XrSI/5u83SrOuXWXFzB/M+0/fh1Puv1dqN2ggA5593nxXddqfeJKcNfZJs78LYes2amT2ocIcQGVXs159aXfpDSbQ1Ft8hy52i5h11570t6vMvtF2+B1j7VpwNAzeujJTdm3bKuu/+9y2Vm0Eqx6jE1dNT0yUzLQ02wKERkPVwwf+1Xyx1F/2tSLV/9d6XZ901ZV7nSAqrdZJTGorsXXq2BYAACo/DUjdD4lr586Vn99606wH+vrxx8x2Z938X+XztFFmXcPXz+6+06wrDW0ARFe4P4L0GDRYvh/3TLE/gnQ46WS7BgCV00FnXxxU1WfiEUdJs+NOt/eiJ7Z+nF0LjlbL1m+VZELeA/qcaFurNoJVoArRqlMNVR39Zb84m9es3usEUekX1dcGnmsqAwAAqAq0X9QqNmfRp5/YteLpVR2OBq3+XLijAn+cBBC5cH8EmXzTjXv21fdpxr9fNesqf8cOuwYAlY+GlBqYBqvZcadGdRiAcB069E454s4n99swABWNYNVjWo8YIT1mz5bmgwbZFiB4OraUo9Wq/ieBgXQbJ4YAgKpMr8bwV1JQ4+hVHfpDY1myFi6wawCiIZIfQbRgwJ+reM3fvl1+nDjBrANAdaCX4evYou62ZOIY0+7fpjdHt/u36+O3rV4uvz5+m/x83/WyY+N6u2cR3a5jqOr+ul/uwl/slpKfP/B51n71sWS+8ZxZ1+fJ/nnf4q78rXmy6rNJZrvup/trmxcRrHpMbEKCxBV+saiblGRbgOD5fyHNzlxq10pW3MRVAABUFTrETbS4sRp1UpyvH3/crAOIjmj8CKJDCeiQWJ3POtvcn//+e7L488/MOgBUB1qtqmOtBippnNR2g0aay/ad7WtXSY06vrGqdYzUnLk/mnV/W5b/bipSD/rLJSZ4XfLKE3vCVX1+bQ8U+Dx/5mRJ67MvksTDe5nnyXzz+X1C3CUTx8raaR9Ky5PPlcNufFCyf5lp2ryIYNVjstLTZeHgwWYJhEJnTwUAAOVDx2rUCrivHn1knwo5AJGJxo8gZz/19J55BpSua9AKANVJrUaJdq1IaeOkxtZvYNdEdm3fJnUaHyCtz7zQjJGa0LWH3VKk6VH99izdZFkrPviPWaq6zVratb35P09it97mNdVr2ca2iGxdUVQYphWtOgGW0ufR16QTdWlbcdWt+xvBqsfkZWTImokTzRIAAADh0+rSaNAfL/Xy4oz/vEYFHOBR71033ExspT+AOBqu6jADAICy1WvWyix1bFQdI1UDzdI0aO37UUyrTSO9TP/PnI12TSRn7iy7tq9Nv862a95BsOoxCSkpZpxVHQ4ACMX63xbaNQAAoHRmf3/hXN2hlxcfPXSYCWz08mMA0ReNH0G0klwntnr9/L/tNY9Al9QBdg0AUJoatuI/HNvXR+9qHletqty4rLmL5pn7u7ZvNUsvIVj1GA1W240ZI01TU20LEBydjMr/S2k0x5UDAKAy0pDFv29MOvY4u1Y8DVEDnf7Y42asRj2W0/7Ek+T0R4vuA4hMNH4EcTRgzfj3q/YeAKAi1GqYYNeiq/v9L+x10/FavYZg1WO2Z2aaYQDyc3JsCxA8/xlU9ZLF4k4Q/ZW1HQCAym7Wiy/YNZHmhx9uQtHiaJ844Pl/2Xs+J6aNlibt25vLiYd+/8Oe28n33S+b16yxewGIVDR+BPHnP/lV5jff2DUAQHnQsVbLGjYgFP7HCpzUyosIVj1Gx1f9sXt3WTHWm7Odwdv0S+mm5cvtPTEnfiXRwfyPvfFGew8AgKpJA5Zv/vm4GXdRJ7Xpf+ddpg90wYyOv6j3B778yl5Vblox1/HU0+y9fa2eM8euAYiGcH4EOeqqq82PHWc/9Yy5H0i/FzMuMoDqLtLxT0viLs9vdtzpZhktDTt0sWs63uqPds33d2T98KW95x0Eq0AVowP3r50716w369pV/vbv/+z1xVRPFLXtwM6HydePP25bffSLasMWRbP4NT+iW5kVAQAAeJ2Gqzru4m8ffyRb1q83FaiXpP/PBDIn3XNfYV/XXN6+7NI9VW4atuq4qqUhrAGiK5wfQZp26GCWrXv1kovefnfPRFXnvvCSGWdVvxcDQFWhwWL+1i32nt4vWnfqHtBiz2z9bvu66Xt/Z/EPWv2Psdtv8r+S6Iz9ygWc9VslSZOex5h1tX3tKru297GLe54/c7LMUu3asc2uiRx4zCl7/oa1X02WvGWLzLqGrAlde5h1L4lZvWJFwdI//pA+ffrYJgDhiomJkWd697L39i8NUDucfIoZEqBuo0amTb+oblqxQua/97+9LpFS+mVU9y2O/tr/2sBz7b39a9iMmVJQUGDvRe7Lwv9mql8UjwkAKOKlvrEqina/iOrJS+9TDVJ7X3ONNOvSda/vphqUZi1cYAoDdBxVpfvqFVo6ZIeGsUq/t/7x/Xd7jYu8v/E+rZxS75lilul39zdLIJr0c1fHDA3Wkolj9lSIBmp5ynnS7LhT7T2R3IW/yIoP/mMuo9fgs9UZf5NFzz9st/rocxd3zMBjqZ/vu16SBl5p1t1xNfhs2vt4ObDvSRJbP85s0wA08Hn0eHm/z9/neeI7dCn1ubetXi5rv5ws2b/MNPcTD+8lrc++aM9zlUUnvKqoz12CVSCKOHksfwSrAFC50DeWLwIbRAPv0/LF+7RyIlhFeQo1WEVoKjJYZSgAj9GxVXWMVR1rFQAAAAAAAIA3Eax6TH5OjuRlZMj2zEzbAgAAAAAAAMBrCFY9pmlqqrQbM0YSUlJsCwAAAAAAAACvIVj1mLjkZGk9YgTBKgAAAAAAAOBhBKseo8MA6PiqugQAAAAAAADgTQSrHpOVni4LBw82SwAAAAAAAADeRLDqMXWTksxwALEJCbYFAAAAAAAAgNcQrHpM80GDpMfs2WacVQAAAAAAAADeRLAKAAAAAAAAACEiWPWYzLQ0mZ6YKCvGjrUtAAAAAAAAALyGYNWD8nNyzA0AAAAAAACANxGseoyOsdpt6lSzBAAAAAAAAOBNBKseUzcpSRJSUswSAAAAAAAAgDcRrHpMVnq6LBk5UnKmTbMtAAAAAAAAALyGYNVj8jIyzMRVBKsAAAAAAACAdxGsekxccrI0TU1lKAAAAAAAAADAwwhWPUZD1S6TJjF5FQAAAAAAAOBhBKsek5+TI9szM80SAAAAAAAAgDcRrHqMjq86o21bswQAAAAAAADgTQSrAAAAAAAAABAiglWPSUpLk77Z2dJ6xAjbAgAAAAAAAMBrCFY9KDYhwdwAAAAAAAAAeBPBqsdkpafLvAEDZM3EibYFAAAAAAAAgNcQrHpMXkaGCVe3Z2baFgAAAAAAAABeQ7DqMQkpKdJm1CizBAAAAAAAAOBNBKseo4GqTmBFsAoAAAAAAAB4F8GqxzAUAAAAAAAAAOB9BKsew+RVAAAAAAAAgPcRrHpMbEKCuQEAAAAAAADwLoJVj2k9YoT0zc4246wCKLJgU6688McKaXvwwbYFAIDqTftGAN7G+xRASTYv/tWuoTIjWAXgaXNzcuRfq9fIx9u2yxW33iq/L1tmtwAAUD1p3/j8qtXy0dZt8szYsbYVgJe49+nkLVt5nwLYx9Pjx8ufX78vWW+Mk00LfratqIwIVj1mRWGnO6NtW7MEqrOMjdkybsUq+TJ/t1x3193yW2amDL3+ersVAIDqx79vvKGwb1y0bJkMveEGuxWAF+j79JnlK/e8Txf/8QfvUwD7GHbNNbJs0W+S9vfrpcaPX8i6fz8hOfN+tFtRmRCsekx+To5sz8w0S6A6mrlhgzz5xwqZFVtL7nj4YZm3eLFcfsUVdisAANWP6xtn1oyV2x980PSNg6+80m4F4AX+79M7HnqI9ymAoFw+6DJZNG+uPHrX7VJ33veyZuJjkvPzD3YrKgOCVY9pmpoqXSZNkuaDBtkWoHr4fn2WPJ65TOY3aCgPjRsnP/36q1xw0UV2KwAA1c/3WRvksaW+vvHBp5+W2fPny4WXXGK3AvCC7wq/w/I+BRCpCy44X37N+EnGPfKgxC/9WVb+60HZlPGt3QovI1j1mLjkZBOu1k1Ksi1A1fbtho3y0OLfJbNJU3l6wkT5PiNDUgvfAwAAVFfTtW9cUtg3Nm4iz0z09Y0DzjnHbgXgBd9kbTDv0z8Kv8PyPgUQLXounDHjO5k47ilpumaJLB9/j+T++LXdCi8iWPWYnGnTzPiqeYUdM1CVfVV40njvwkWytnkLmfjWW/LVDz/IaaedZrcCAFD9fKl942+LZF2z5jLxTfpGwIvMd9jC9+l6/Q5b+D79kvcpgHKgnyszvpomb748QVrkrpLMJ++SzTOn2a3wkhpSYNfgCRqsLhk5UrLS020LUHXkFxTItI3ZcvevCyTv4DbyzgcfyGdffy39+/e3ewAAUL1o3zh1g69v3KJ94/uFfeM339A3Ah6i79MpGzaa9+nmgw7mfQqgwujnzNeffSrvv/u2tNm5SZb881bZPOMLKdiVb/fA/kbFqsfoEAAJKSkMBYAqZfuuXfL5xmy5a+6vsqt9B/l4yhT54IsvpG/fvnYPAACqF+0bP9OgxvSN7ekbAQ/a633azvc+/bDwxvsUQEXTz53PP3hPvvj4I+kYu1N+e+wWyfv2E9m9Y7vdA/sLwarH6KRV3aZOZfIqVAl5+fnyaXaO3PnzXKnX9XD55vvv5d3Jk6Vnz552DwAAqhftGz/emL2nb/y6sG/870cf0TcCHmLepxs2yp2/zJU6h3Ux79NJH3/M+xTAfqefQx+++7Z8/83X0rVhLZn/yD8k7+vJkr81z+6Bikaw6jH5OTnmBlRmOX/+KZMLTxrvyPhZEo/sIbN//lle++9/5fDDD7d7AABQvWjf+KHtG5sU9o0Zv/wi/5k0ib4R8BDzPt2w0bxPG+v79Odf5I3//Y/3KQDP0c+l/77+mvwyJ0N6Nk+QXx+6STZPe0925mbbPVBRCFY9Rieump6YKJlpabYFqDyyduyQ9/TL6Ow50vr//k8WLV4sE15/XQ499FC7BwAA1Yt/33jQ//X19Y1vvCEdO3a0ewDY38z7NMt+h+3j+w478c03eZ8C8Dz9nPrPhBdl8eJFcmy7VjLv0Vskb8ok2bFxvd0D5Y1gFUDE1mzbJv8tPGm8f958OfSEE2TVqlXy7MSXJYmxggEA1ZR/39hpT984kb4R8BDzPs3aYN6nHfv3N+/T5155hfcpgEpHP7deGj9OVq5YISd06SCLnholuZ++JdvXr7Z7oLwQrHpM6xEjpMfs2Yyxikphxdat8nbhl9Exi3+XI08/Q1avWSNPPPuctGjRwu4BAED14t839rB941j6RsBT9H361nrf+7T7aaeb9+mTzz/P+xRApaefY+OfGCNrVq+Ws3ofKZkvPCy5H/1Htq1ebvdAtBGsekxsQoLEJSdLXX4lhYdl5m2R/6zLkueWLZfjzhsoa9atk0eeeEIaN25s9wAAoHoprm98mL4R8BTzPl27Xp7N/EOOO/dc8z599KmneJ8CqHL0c23Mww/K+jVrZODxx8iq156STR+8KluW/273QLQQrHpMVnq6LBw82CwBr1m8ebO8um69vLpmrZxx6aWydsMGGf3QQ9KgQQO7BwAA1Yt/33g6fSPgSeZ9utb3Pj3tkktk3caNcs8jj/A+BVDl6efcg/eMlg3r1splZ54iGyZNkJz0CZKX+ZvdA5EiWPWYvIwMWTNxolkCXrFgU65MWLNO3t2YI3+9+hpZnZUlt6WlSWxsrN0DAIDqxb9vHGj7xtvpGwFPMe/T1WvlnQ3Zct6VV5r36R333MP7FEC1o597d99+m2StWSXXXnCebP74Ddn4zvOyefGvdg+Ei2DVYxJSUsw4qzocALC/zc3JkedXrZaPtm6TwSNHyrLVq2XkLbfYrQAAVD+ub5y8ZYtc/ve/m77x7/SNgKeY9+nK1fJh3hYZVPgd9o81a+TG22+3WwGgevvHyBGy+o9l8o8rB8ufX78vWW+Mk9yFP9utCBXBqsdosNpuzBhpmppqW4CKl7ExW55ZvlK+zN8tN9x1tyxatkyG3nCD3QoAQPWjfeO4Fatk2s5dcn1h37j4j+Vy7fXX260AvMD3Pl0pU//Ml+vuvFOWLF8uw0aMsFsBAP6GXXuNLFv0m4waOVxiZn4h6/79hOTM+8luRbAIVj1me2amGQYgPyfHtgAVZ9aGjfLkHytkZs1YueOhh2Te4sUy+Mor7VYAAKqfmRs27Okbby/sG39dskQup28EPEXfp08sW174Pq0ptz3woMz//XcZcvXVdisAoDRDBg+WRb/OlUfvuk3q/fq9rJn4mOT8/IPdirIQrHqMjq/6Y/fusmLsWNsClL/v12fJY0uXybz69eWBp56S2fPny4WXXGK3AgBQ/XyftUEez1wm8xvEyf2ub7z4YrsVgBfod9jH9TtsvQZy/xNPFL5PF8hFl15qtwIAQnHBBRfIvNk/yjMPPyDxS3+WVS88JJtmf2e3oiQEq0A1Nr3wpPHhJUtlaeMm8vSECTJjzs9yzrnn2q0AAFQ/0zdslIeW/C5LExvLUy9NkO8z5si59I2Ap3yzPsv3HbbwffrEiy/KDz//LOf99a92KwAgEgMGDJCMGd/JS08/IU3WLJLl4++V3J++sVsRKGb18hUFS5f/IX369LFNAMIVExMjz/TuZe9511eFJ43XLl5i1vM//1xOOOEEs14dfVn430z1KygwSwBAdFWWvvHrjRtl28XPm/Xr+hZU674R1U9leZ9+mbVBBv2+VOoXfm/LT0+XE/7yF7sFiL7Ue6aYZfrd/c0SqI50mMrpiYmyvVYtuaDJAdKkT39p2DPFbvWu2XdcIQUVdI5PxSpQTeQXfqhM3bBRRs1fIJsPOti2CieOAIBqy/SNG7Mlbf7Cwr6xjW2lbwS8RN+nU9ZvMN9h8w4+WOo3aGDa+/XrZ5YAgPIXV/jZ+97bb8rB27NlyT9vk83ffyEFu/Lt1uqNYNVjdGxVHWNVx1oFomH7rl3y2YaNcve8X2VX+w4y+fMv5MMpvl9fAQCojrRv/CI7x9c3tmsvH37+uXzwxRd2KwAvMN9hs/Q77PzC77Dt7XfYqRIbG2v3AABUpGOOOUa+mPyBfP7Rh9Kh5g5Z9PitkvftJ7J7x3a7R/VEsOoxWmadl5Eh2zMzbQsQnrz8fPl4w0a5a+6vUrdLV/nq2+/kvx99JL16ef8yLwAAyoP2jZ9m55i+sfZhXegbAQ8y32GzNsqdv8yTOocdVvg+/VYmffIJ71MA8Aj9PJ486V359qsvpWvDWrLgsZsl7+vJkr81z+5RvRCsekzT1FRpN2aMJKR4f8wKeFPOn3/Khxuy5c45v0jjI3vITxkZ8np6uhxxxBF2DwAAqhftGydv9PWNCd2P9PWNkybRNwIeou/TD9ZvMO/TxO7dZfacOfLGe+/xPgUAj9LP5/++/prM+ekn6dGskcx/5B+yedp7sjM32+5RPRCsekxccrK0HjGCYBUhy9qxQ97bkC13zJ4jB/3f/8lvixbJxDfflEMPPdTuAQBA9eLrGzeavrG16xvfeIO+EfAQ8z7N2rDX+/Tlt9/mfQoAlYR+Xr8+8SVZ9NtvckzbljL34X9I3pRJsmPjertH1Uaw6jE6DICOr6pLIBhrtm2T/xaeNN4/b74c2r+/rFq1Sp59+WVJSkqyewAAUL1o3zhpY7bcN/dXOfSEE3x940T6RsBLzHfY9VnmfdrxeN932OdffZX3KQBUUvr5PeG58ebz/IQu7WXRU6Nk82dvy/b1a+weVRPBqsdkpafLwsGDzRIozcqtW+Wtwi+jYxb/Lt1PPU1WrV4tTzz3nLRo0cLuAQBA9bJC+8asDfLP3xZL99NOl9Vr1sgTz9I3Al5i3qfrsuSfiwrfp6efYd6nT/7rX7xPAaCK0M/z8U+MldWrVsmZRyVL5gsPyeaP35Btq5fbPaoWglWPqZuUZIYDiE1IsC3A3jLztsjr67NkfOYfcuy558nqtWvl0aeekiZNmtg9AACoXnx94wZ51vaNa9avl0eeeIK+EfAQ8z5dt968T/uec46sKVznOywAVF36+T7m4Ydk3erVcl7K/8mq156STR+8KltXLLV7VA0Eqx7TfNAg6TF7thlnFfC3ePNmeXXtOnl59Ro59eJLZO2GDXLvI49IXFyc3QMAgOrF9I3r1ssra9YW9o0X+/rGhx+mbwQ8xLxP16yTVwq/w55y4UXmfXr/Y4/xPgWAakI/7x+8Z7RkrV0jl515iqx/9wXJSZ8geZmL7B6VG8Eq4HELNuXKhMITxnc2ZMt5V11tvozeMXq01KpVy+4BAED14usb1+3pG9dkZdE3Ah5j3qer18jbWRvl3CuvlDWF32HvvO8+3qcAUE3p5//dt98mG9aukWvOP0c2f/S6ZL/7L9m85Fe7R+VEsOoxmWlpMj0xUVaMHWtbUF3NzcmRf61aI5O3bJVBI0bKH2vWyI233Wa3IhKzP/9MXhhxg9zW7xj55uCDzE3XtU23AQC8yfSNq7Vv3CKDR9q+8dZb7VYAXmDepytXy+S8LXLZDSNk+dq1ctMdd9itAACI3Pz3v8vq5cvkxiGXyY5p70nWG+Mkd+HPdmvlQrDqQfmFX0b0huopY2O2jFuxUqbt3CXDCr+ELv7jDxnG0BBRsX75chlz2aXy/r33yO45s+XoBg2kd7fDzU3Xd83+Ud4bnSaPX3Sh2RcA4A3aN45fscr0jdfdeVdh37hcht5wg90KwAvMd9jlK2Tan/ky9LbbZHHhd6nhhSfOAACUZPjQa+WPJYtk1MjhIjO/kHX/fkJy5v1kt1YOBKseo2Osdps61SxRvczasFGeWLZcfqhZU2574EH5dckSueLqq+1WROq7Sf+VtDNOk7iNG6Rf40Q5NCFBEurUkVqF/9560/VOjRtLStMmErchS9JOP1Wmv/WmfTQAYH/QvvHJP1bIzJqxcttDD5m+8fIrr7RbAXiB731a+B22Rk259f4H5Nfff5crhw61WwEAKNuQwYNl8a9z5dG7bpO6876TtS8/Ljk//2C3ehvBqsfUTUqShJQUs0T18P36LHl86TKZV7+BPPDkk5Ixf4FcdOmldiuiYfq778h7jz4iKS2aS8fYmra1ZJ3q1ZWUli3k/ccfk+nvvG1bAQAV5fusDfLPzD9kXoPCvvHpp2X2/Ply4cUX260AvMB8h/09U+bVqy/3jRkjGQsWyMUUhwAAInDBBRfIrxk/ydMP3S/xv8+RVS88JLkZ39mt3kSw6jFZ6emyZORIyZk2zbagqppe+GX04SVLJbNxE3nqpZdkxpw5cu7AgXYroiUvO1vevO9e6dEoXg6sX9+2lk337ZHQSN68/z5zDABA+ft240Z5+Hdf3/ik9o0Zc+Scc86xWwF4wTfr1stDi3+XpQmJ8sQLL8iMn3+W8/52vt0KAEDkBgwYIBk/fC8vPf2ENF69SJaPv1c2//SN3eotBKsek5eRYSauIlitur7K2iD3/bZY1jZvIS++/rp8NXOmnH7GGXYrou31u++STi1byQF169qW4Gm42qFpU/nPHUwaBgDl6auNG+W+RYtlzYHN5cX/FPaNP/wgp59+ut0KwAu+XLfe9x22WXN5qfA77Nc//ihnnn223QoAQPTp98Efvv5SXp/wgjTPWSnLnh4lm2d5Ky8jWPWYuORkaZqaylAAVcyuggKZmrVB0hb8JrkHHSxv/u9/8vn06XLiiSfaPRCqhYMHy/bMTHuveAu+/14WFZ6cH1Y71raE7vC4BuYYeiwAQPRo3zgtO8fXN7Yu7BvTC/vGb76hbwQ8RN+nX6xbL6PmL5Tcg9uY77BffPednHjSSXYPAADKn34//PrzTyX9zdfl4O3Z8vuY22XLD1OkYNcuu8f+Q7DqMRqqdpk0icmrqogdu3bLZ1kb5K5582Vnu/bywaefyuSpU+XYY4+1eyBcWtU9o21bmTdgQIkB689ffC5JjRMkxt4Phz724Lg4mf3hB74GAEBEtG/8IjtH7v51gew8pJ2vb5wyhb4R8BDzHXZ9ltxd+B12d4eO8uFnn8lHhd+9eJ8CAPYn7Ye+mPyBfPrh+9IuZrssevwW2fLdZ7L7zx12j4pHsOox+Tk5JiTSJSqvLfn58vGGjXLX3HlS+7Au8uX06ZL+ySdy1FFH2T0QLToucUkB69yvvpQDdxfYe+FrUaeOzPt2ur0HAAiH9o2fZueYvrFW58Nk2jffyKSPPqJvBDzEfIddn7XnO+y0wu+wk/gOCwDwGO2XJk96V6Z/OU0Oa1BDFjx6s2z55iPJ35pn96g4MauXryhYuvwP6dOnj23C/pSZlibLRo+WNqNGSVLhOiqXmJgYOeWg1jJl9Rq55Pzz5R933CGdOnWyW73ly8LXqvT/a5XRyieeKPYHCK36bjdmjBlOY0SvHnJq8wOlXmwtuzU8W/N3yieF/03HzpptWwAAwfLvGy+7+GK58ZZbPNs3pt4zxSzT7+5vlkB1oe/Tk1u1lGlr18nFHv8OOz0x0XwH7JudLbEJCbYViD76BMBX/Kefu/p5q5+7XrVgwQJ5+LHH5d+vvCzNjzlZVkz9UAoKIi+yCgbBqscQrFZu+qV02NVXm5PGtm3b2lZvcl9KqyoNV9PGPS0XdzksoqEA1O7C22vzfpUXflvsawAABK0y9Y2cRKO60vfpNZdfLjffeWel+Q5LsIryRp8AVJ5g1Vm6dKk8+vg/ZfwzTxOsVmcu7OKLAspTXkaGuYy+siqpYjUhJcWEqjoRnFasnta8mdSNDX/yKrUtf6d8TMUqAFR5nEQD3kewiopCnwBUvmB1fyBYBVAp6biq/mOq+geqzt2nnCRHFC4PqF/P1xCm9Vu3SUZ+vtz3xVTbAgCoijiJBryPYBUVhT4BIFgNBpNXeYxWEOokPGsmTrQtAEqjgWqP2bOl29Spe4Wqqsuxx8m6mEgHAhBZvWO7dOnzf/YeAAAAAAAAwarnuMuzA2c3B7C30gJVp9uJJ0lmdrZEMrKKPvaPzVuk+5ln+RoAAAAAAAAK1fDFBvAKDYt04ipdAijZoRMmlBioOp2OPlo6HtVb5m7fYVtC90vuZmnfs6c5FgAAAAAAgEPFqsdooJqUlkawCkTJ+ffcK4vWrpV1W7faluDpY37bsEEueuhh2wIAAAAAAOBDsOoxDAUARFdcYqL89Y475afcvJDCVd33p+xNcv6dd5ljAAAAAAAA+KshEvnELogeJq8Coq/vuefJWTfeKFNXrZYF27fb1pLNz8uTqStXyek33CB9zxtoWwEAAAAAAIpQseoxsQkJ5gYguv7vvIEyevLHsqXJATJtfZYs2LhRcnbskJ27dpmbri8sbJu6Zq1sOeBAGf3RJ3LsRRfbRwMAAAAAAOyNYNVjWo8YIX2zs804qwCi64CDDpK///s1OTtttNTo1l2+25wnX/8yV2Zk/GzWYw4/Qv5y731y43/eMPsCAAAAAACUhGAVQLXT/cST5Monn5KHvp4u5yQdIqc2aWrWr3x6nNkGAAAAAABQFoJVj1kxdqzMaNvWLAGUr5xp08zNTRoHAAAAAAAQLIJVj8nPyZHtmZlmCaB8LRs92q7tvQ4AAAAAAFAWglWPaZqaKl0mTZLmgwbZFgDlwVWrOlStAgAAAACAUNQQKbCr8IK45GQTrtZNSrItAMpDcRWqVK0CAAAAAIBgUbHqMVpBp+OravUcgPIRWK3qULUKAAAAAACCRbDqMRr2LBk5knAHKEelVaZStQoAAAAAAIJBsOoxOgRAQkoKQwEA5USrUnWCOH2PFXfTieOKq2YFAAAAAADwR7DqMTppVbepU5m8CignOo5x76VL99zajRljbv5t+uMGAAAAAABAaQhWPUar5fQGoGLMGzDA3AAAAAAAAEJBsOoxOnHV9MREyUxLsy0AylNsQoK5AQAAAAAAhIJgFUC11jc729wAAAAAAABCQbDqMa1HjJAes2czxioAAAAAAADgYQSrHqOXJOvkOjo7OYDyN6NtW3MDAAAAAAAIBcGqx2Slp8vCwYPNEkD5256ZaW4AAAAAAAChIFj1mLyMDFkzcaJZAih/XSZNMjcAAAAAAIBQEKx6TEJKihlnVYcDAFD+mqammhsAAAAAAEAoCFY9RoPVdmPGEPQAFWTF2LHmBgAAAAAAEAqCVY/RsR51GID8nBzbAqA8LRk50twAAAAAAABCQbDqMTq+6o/du1NBB1QQrRLXGwAAAAAAQCgIVgFUa92mTjU3AAAAAACAUBCsekxSWpr0KygwSwDlT4fdYOgNAAAAAAAQKoJVANXa9MREcwMAAAAAAAgFwarH6NiqOsaqjrUKAAAAAAAAwJsIVj1GL0nOy8iQ7ZmZtgVAeeoxe7a5AQAAAAAAhIJg1WOapqZKuzFjmKUcqCBxycnmBgAAAAAAEAqCVY/RgKf1iBEEq0AFWTh4sLkBAAAAAACEgmDVY3QYAB1fVZcAyp++3xjTGAAAAAAAhIpg1WOy0tNN9ZwuAZQ/rRDXGwAAAAAAQCgIVj2mblKSGQ4gNiHBtgAoTzqmsd4AAAAAAABCQbDqMc0HDTIzlFNBB1QMHXaDoTcAAAAAAECoCFYBVGs/du9ubgAAAAAAAKEgWPWYzLQ0mZ6YKCvGjrUtAAAAAAAAALyGYNWD8nNyzA1A+etXUGBuAAAAAAAAoSBY9RgdY7Xb1KlmCQAAAAAo4ib5pRAFAOAFBKseUzcpSRJSUswSQPljjFX8P3vvASBZVab9P7dy7K4OkzMzwOAwzICkIQtIRkBRZEGFVTEtK6j/NbAK+n2gu58Kyuq6uizoigooQaJIlCxpCMPk2JM7d+V4/+c5996ZmpoKPT2pe+b9Dafr3nNPrjqHuk+99z2CIAiCIAiCIAiCMBREWB1mdN1/P5Zfey36nnnGjhEEYXeSmD9fB0EQBEEQBEEQBEEQhB1BhNVhBgUeblwlwqog7Bmm33yzDoIgCIIgCIIgCIIgCDuCCKvDjMjcuWi/8EJxBSAIe4iJ11yjgyAIgiAIgiAIgiAIwo4gwuowg6LqrPvuk82rBGEPsfGOO3QQBEEQBEEQBEEQBEHYEURYHWZwd8vMqlWyy6Ug7CEWX3mlDoIgCIIgCIIgCIIgCDuCCKvDDPpXfWXaNP0qCMLuh+43GARBEARBEARBEARBEHYEEVYFQdivef+bb+ogCIIgCIIgCIIgCIKwI4iwOsyYesMNOL63VzbTEQRBEARBEARBEARBEIRhjAirwxBPLKaDIAi7nxdaWnQQBEEQBEEQBEEQBEHYEURYHWZ03X8/Flx0kexSLgh7CG4UJ5vFCYIgCIIgCIIgCIKwo4iwOsxIzJ+vxdXMqlV2jCAIu5M5Tz+tgyAIgiAIgiAIgiAIwo4gwuowI3bKKZhy/fX6VRCE3Q/nmsw3QRAEYSRjGIaEfSQIwkii2md4XwoPXH+aDtWu7UtBEISdw9jQ0WGu7OjAvHnz7ChBEIT9h+XXXqtfp998s34VBEEQ9l8u/N5T+vX+75yqX0cKvDHeGBd/4SOdsdFemKZpnwm1eGXaNP103zErVyIwdaodK+wNZO0Z+ci6IzSCbvO4Jwn3AeJG68L2iMXqMENcAQjCnmXtLbfoIAiCIAiCIAiCIAiCsCOIsDrMkM2rBGHP0n7hhToIgiAIgiAIww9aS731gQ9sCc6mo7xncuL6nnlGxwmCIAjCnkaE1WEGzasZBEHYM8y67z4dBEEQBEEQhOGHc39E8ZTBEVb5pB/P+aRfZO5cHScIgiAIexoRVocZE6+5RvutmHrDDXaMIAi7E34ZF9cbgiAIgiAIw5d6vvAnfPnLYpgiCIIg7DVEWBUEYb+GGyAwCIIgCIIgCMMTblJVzXUT48decYV9JgiCIAh7HhFWhxncRIcij2ymIwiCIAiCIAiCYFHNalWsVQVBEIS9jQirwwz6DOJjyY7vIEEQdi90vcEgCIIgCIIgDF8qrVbFWlUQBEEYDoiwOszglwVupCNfEgRhz+BsiCAIgiAIgiAMb8qtVsVaVRAEQRgOiLA6zOCOlhRX+QusIAi7nwUXXaSDIAiCIAiCMLxxrFbFWlUQBEEYLoiwOszoe+YZ7V81MX++HSMIwu6k6/77dRAEQRAEQRCGP7RaFWtVQRAEYbggwuowg8Lq8muvFaFHEPYQU66/XgdBEARBEARhePL7Nzbjkl+/hyk3vIS2n3XgiOUH6eNLfr1AXxMEQRCEvYUIq8MMPtYSO+UUcQUgCHuIqTfcoIMgCIIg7Ku8+FzBPqpNozS//FnWPqpOf7+Jd98u2mfVefShvH1UnUZtGEwdjcq4686cfVSdXVHHruiHYPFaRxzH/Ph1fPfBZViydBMONNP4QKSAo9uD+njJ0k59jWmYVhheDGa+dawp2WfV2RPrRqM27OyawPJ3to5GY8n8jepo1E5BEIaGCKvDDPoKmvP00+IzSBD2EOIKQBAEQdjX+dXPM3XFCV5jmno89nCu7k07b9jrlUFx40ffT9tn1WEd9W78B1PHlz+ftM+q89hDO9cP8p1vpOyj6tx1Z7auCDKYOgTge4+twnE/eRO+VBozjQym+ExE3IDHMHXg8RRfSV/zqjRMe/0jK+3cwnCg0Xy767e5hnP6O1+vP9+Yf2fmG+s4/bgB+6w6V16aqNuPRm149ME8fnhT7fWPbfjIOfV/GGg0lrzOemoxmHVeEIShIcLqMKPQ16eDIAh7Btm8ShAEQdgXqHfDTUsm3nTXYsHbhbqCJvMvUKHeTfvdd2ZVHbWvs3yWU68elk9RshaDqYPjUGssKF5QXLjrt0Ovg31gqCeiLHiH/axdxkvP5+vWIQA3/XUN/t9THTg5UkBbqfZYO7SrNEz7o2fW6rzCnqPefOOcrCco8scUiqu14LUBVU6t+cY6WH+9+cY5XW/dceqv1Q/Od7ah1vrHNlh9rd0G9rPenG/UBsZz7ao/lvWFU647HAe2VRCEXYsIq8MMblz1QksLVsmjyYKwR+DGB7L5gSAIgjDSqSUW8mb87PO9dYUF3pCfdZ63pnjBvJdc7qt50+4ICyyjljBAYfeSy3w1hVO287gTPTXbOZg6KKDoOmqMBcWLq77kV/2ofp3ls+xG/fjaNwM1RRSnHxRXa8E+1uvrvkoyM7j+8pH+Gx5bhWNDeYR34G6VaeepPDf8ZZW4BdhJBvtekVpiH+fbZ7/or/k55xxrbjbqzjeKgbf8IlxzvrHss8711pxvzrrBNZBzsxoUPb/6zWDNdYNz/nv/FtLpqsE2HHqYu2YbKMw6/aw1Fk4baq2xFHWtdad6ftYxabJLt6PaWHIMmJfruPyoIwi7HhFWBUHYrzm+t1cHQRAEQRiOvLuqF0/N32Cf1aaWWEhhYt4J3ppCnnND/tkv1hYLedPP65OmuKretDvCwlnn1RY1KTpQnKglDNBqlvnZzqHU4YiirKPeWLAftYQc1sH6WUctgYMi9Ge/FKgporAfznhXE3IYx/H+2GX+uta5+yIU6y783lO47fGldkx1rvr9Ihzd4tohUdWBeY5sMlQZi+0YYSis3BjHZf/+Nzz4cocdU5tac4Hz7ZLL/TXXHoqFs2Zbc7qaOLtFFFXztVYd/DHFWTeq/TBEcfe4E9ScPpeC4vbXuQ5Q9LR+OKo+H50fnjpWV7eG121Q5ddqA/vONUGvXVXmfHkbalnFcg12xrJaG9g3rimso1oZztpG8bbaOAiCsHOIsDrMmHjNNXj/m2+Kj1VBEIR9gHVXh5F+8177TBAEYcehGPXTPy/UIkc9gXUwYmG1m3rnhryWxRWFDT4GSzHwEpWu2k17ubBQTZxwrDgpHtQUBh620rCd1UTNRnU4/axlAeeINOzHcSd6q/ajXIR2Hs0txxGhnX5UE1GcfrCcagIGhVeON9NUE5v2ByjW1RJYucN/IpnTj/YPldHIqzKyuixh6HDt4XvUSAyv9lnm/HPmW821xxYLawmnjihKqs03Z05z7eIPJtXmW7m4W60OR9yttW6Ur11f+1Zwu3XDaQPT1BIt2QZazNbqZ3kbWE5lGxyLV2csq4nQW9dPb1Vf1s76yXJYHtssCMKuQ4TVYQYfSY7MnYvA1Kl2jCAIu5NXpk3TQRB2F31/uBrJ535lnwmCIAyNRgJrNbGQYke5EFhNyHNuyAlfK8ULiht81Jbwpv3u320rkPAGnUIA87KeauKEY8VJqgkD2wmWFaLmYOqgcODUUWssHJGmlvig09SpwxGhCUWKSgvf8n5QRKk33k5fK+vYn6gmsP7h9Y2IlrYXvXeUJjOvytpknwk7Sz0xnHOhUjjl/HPmWzVBsVwsJJwLlfPFEV5JNYv68jnNcirnkiN6ltdRub6V11HtRx3nxxZSbf0rbwP7U9kG9pOUt6HSkr2yDZXrI+tw2lBrLJ11h6Fy7SpfPwndpYg7AEHYtRgbOjrMlR0dmDdvnh0l7E24O3n3Aw+g7YIL0H7hhXasIAi7i2cNQ7+ebMovt8Kuhxar7R/7Ifqe+ClCR1+K6Lnfsa8IgjAcoXBAPn3Ggfp1OLByc6KqkBoOeHQ7T507Dob6f9nitTEcPatfvzrwBn3WYR59M064Yz6trpybfN6QU2C8/fcRfc4bfoqHP/lFWJ8T7obNx+udPEepOu59NLrlnHkoPnzvByF9TuGiv88EfZk6nH78AP70SFTf9PMmf0fbOdg6nnihSR9Xq4P9oDjjiAuV/WIdFGedsWjUD+fcqZNU6wetfJ06q413eb8+9+M/6te9CT9Xu5N6vjvPP3YSbnihEwcjo3f83xkSRXVfZXjx4wtn2DEW9ep3SGQai06p3PaWh9UYTH17Mg1JDqJ/LKteeXyvuP5w7dkYb9luLnz4nLheR5z59Z1vpLQ46MwNzpWmZteW+VW59lAI/M7XU1vmCqmso3IOs45Zsz1aOCS//FkWA/0lvZYQlsl6nToq5yPXjdOPG8CrC5r1OWlUZ+W6UtmGyjWBIilF6FptIFxjy9swmLEsr6Ny7apcZ9jPa9Ta5NQ5NtoLU+6DhDpwc3XuA0QjQHGhVx0RVocZ3LRq9Xe/iynXX4+psoGVIOx2+GMGkR8yhN0BhdWxX7gHxWQv+p68Ff5px6D5kp/YVwVBGG44wupIYnQsgDu+fiY6Or3b3YBXCoG8wab1qCM0VN6Qk3IhgTfgFA7uVWU4UKwgzk175U1+pahZTTioFE4r20lhoGN1cUs7G9VRKRyQ8rGo1o9K8aFyLAbTD7bLcU9Aqo13uVjUqI7hIKzuTQ6d2oL/XjCAI0MleIydE3oKprHTZQjVofjOH3TOP3oSxrQEtbBaLihWmyuVgmKlQEnK155KUZSU11FtTjOuXDBsVAfnY7m4S8rXpmrrSvm6MZg2cB3isbMmkMG0wflBZjBjWbnuVK4rbGO5+EvKfyATYVVohAirjRFhdZjR98wz2mK1+eSTRegRBEEY4TjCqqZUQN+T/wEjMgqtn77TihMEYVjBDVueenujfTY82NyXwSuLOu2zrVDcOO/oiTht7vgt4kb5TX+1G/LKG+5KIZaUi4WVAiepFA4qb+pJuaBRTbwtL3cw7RxqHc5YVBNIWEe5dVq1OspFlmp1lAuntfqxI3UMB4FjsFaPQ2FzXxrX/vJV+2wrFFQ/fcYMTBsbRej/+xtOixbhxs4Lq5uLBi4/cowdYzEYi9yQr7G5bCSw9XNQj8HUtyfTkPAg2s618Pt3v2OfWbB8R1DlDzrEsVjl55+P0XMuVP744sDPPwXFanOFlP+AUm1tKl97qgmvxJlj9AvNuVUuepJycbaa8Fo+p6sJkuVzmmnLf6hyoGj5xItNerOrWv0cbBuqrTvEGctqaxtx1pUmtdawjspxKH+PRFgVGiHCamNEWBUEYb9m7S236FduHCcIu5pthFWb/r/9N0r5NNquugeGf9sv24IgCJVQVC0XOChuOIJqpbjBm/6PnBPXN9y1bsidG26KjtVu+iuFBW7Iws1hynGEA1pOlT8+71AualYTE9lORzht1E6KMOVWnw6DqcMZi2oCCXGstmqNRXkd1YQe4jy2O9TxLheZ93WBgz8SXPXTF+2zbQVVh0nXv4SDkd4lrgAWI4CO7x5nxwg7wrurevGvv3lTH1cTVB2ctYc4Yl+tueIIivy8V5srjjjLuVptrhBnrlNgrRQkiVMH51s14dURZ7muNaqjmiBJnDlNVwXV1keuBZOmuHe6n4MZywXvWP5XK+tw1hXWX0385Tg4/RNhVWiECKuN2XaGCnudzKpVSMyfrz+8giDsfpZfe60OgrCnaD7pM/A0jUbXzaeh2L3KjhUEQagPxY1LTpqKm686GpeecsB2AgehsEhBgb4EyzelKsfZ2IliJW/IK+ENOgVT3ngzVIoGhDtcc/MTZ4f7Srh5CoUDCggUBMoFT8JzZ4OVF58vVK3DaSfr4IYulQymDo4Fr5dv3FIOxQZnLBr1g+VVihuE5dYbb7b9rt9mG9Sx7YY4+zoUVG++6ij8308evo2oSg6fEEF3cdv3cih0F126LGHocM05ZuYo/T7Rn2q1Naccfv4p+NWaKx/7B79aW/J6zlebK1wHuDFTrbWJMB83t+Ocq1aHszN/+YZQ5bBter7WmI+EdVDwrLYuEa5NnNO11sfPfilgt6H6mlDez3ptoEDbcCzVWl0pqhJnXeEPX2xvJXocVpf0WAiCsPOIsDrM2HjHHXj98MO3WNEJgrB7iZ1yig6CsCeJHnUJ/FOPROctZyC3+nU7VhAEYXsGI6iWQysobTFVRWwkvOGmaEBxgwJpNRzxwtntupKt4kV14UCLAVNcWpSsLRx46woHTjt3pg6OBYWeavkJ66AA06gO7gReS+ihcEoLtlrjzXIpcNQSkJmH7dgfBA5+lmsJqg6XHjkG/Ub1sd4R+g2PKmusfSbsKKNjQf0+ffNjs2u+V5VwvnHdqDUf+fmnEMjPfLW5QjhfaG1Za23i2sM5fda51a+z3Ho/hBCnjprrwrk+/ag8X6vB+frD72dqro9OG2qtCWQwbeC60Wgsa+VnvWwnxd9aaZwflgRB2HlEWBUEYb9mztNP6yAIe5rwYecicsRF6L71HGTe+4sdKwiCsC207huMoOpwyeU+fcNe64acN9y80a4nPFAstATJ+uJFPeGAm6/QqrWmcKBu+tnOataohOXOOsy9U3VwLCg+1BJFWS6tthrVQZGlngjNOuqNN/vK11rj7Vjn7utQWG0k0l16xGhEI35sKFV/TwfDuqIbTaoMliUMDa43gxVUHfj55g8R1X5AcOA8qjVXCMVZ5q81V5x5VM0a1YFl1JrzxHl8v9ac55ymFWitdYX56B+1URsG0896beBY1moD4VjWEn8J19Za4i/R61Ksev2CIOwYIqwOM6becANONk39KgjC7oduN8T1hrC3CB58MppP/RJ6fvlxJF/+rR0rCIIwdHijzhv2euIGb7hnza59nTfzzN/opr6ecMCbduavJRwwvp54QShq7mwd7Ee1R2UdKJA0qoP56wk9LKPeeFM4rSUgExE4tuW2f5iJN+NAcghGvMzzVsLAf6syhD0PN1GqNVcIBcV6c555KXzWgz5J69XBH1Rq/RBCOGcb1UH/rfVgPxq1YWf7ybGstbaRRmPJa/XEX2ftEgRh55HNqwRB2K951rC+sPAHDUHY1VTbvKoa+U2L0ffETxH5wNWInP4VO1YQBGFwlG8gQ2hNWk/o4+Oh3DW7njDQqAw+us4dp+vd+A+mjHptYDvJztTBMurlH8xY0LK2ngAxmH40qoPIJjJb+b+Pr8b3VTguUkC4/rBtgaLqi0kPvnH6FHz7zCl2rLA7qVx7hJGHrDtCI2TzqsYM8n9Twp6CvlXpY5W+VgVBEIT9A++YgxE75zqkXvo1Bu7/lh0rCIIwNOoJjYRCYyORr1EZzF9PsCSDKaMeLH9n62iUfzBj0ciqazD9aJRG2JZ/PWMKvnzyBDwb9+hH+xuxNu/Saf/5pAkiqgqCIAh7FPk//DCDvwYk5s9HZpXsFC0Ie4L3v/mmDoKwt/G2jEfLudcht/Rv6Lvz83asIAiCIOyf3HT+dLx4zeEwo2G8lfNiVdaFRFHdL5mGDjxelTX0NTRHdNrvqzyCIAiCsCcRYXWY0X7hhZh+882yS7kg7CEic+fqIAjDAVcggpZzv4Vibwe6/+tiQB7NEgRBEPZjjpwUxWtfOxI3ffhgTJ3WisUI4Mm4WwceT53Wrq8xDdMKgiAIwp5GfKwKgrBfs/jKK/Xrwbffrl8FYVcyWB+r1Yi/+Bvk45vR+tm74Y6027GCIAjbI34O9w3E16Ew0pC1Z+Qj647QCPGx2hixWB1m0A0A/avyVRCE3Q/nm/g0FoYj0eM+CW/7NHTf8kEUNi2xYwVBEARBEARBEIThggirw4yu++/XFnR8FQRh9zPxmmt0EIThSPT9H0Hw4JPQ9ZMzkFv+oh0rCIKwY7z4XME+qk2jNL/8WdY+qg53vucO/fV49KG8fVSdRm0YTB2NyuAO//XYFXXsin4Iwr7AYOZCx5qSfVadPbFuNGrDzq4Jg+lno+uN1i62sVEZjdopCMLQEGF1mBGYOlX7e6SZtSAIux/6NGYQhOFKaNaZiB5zGTp/ejbS8+VHN0EQdpxf/TxTV5zgNaapx2MP5+retPOGvV4ZFBZ+9P20fVYd1lHvxn8wdXz580n7rDqPPbRz/SDf+UbKPqrOXXdm64ogg6lDEPYF+DmvN9/u+m1Ohdo/2nBOf+fr9ecb69jZdePDZ8fts+pceWlCp6sF1656a+xg+tmoDY3WLl5/9MHabaDwyrVJEIRdjwirw4yxV1yhdygXCzpB2DPQ7Ya43hCGO4EDj0fLOd9A72+vQuqF2+xYQRCErdS74eYNNW+6a7Hg7UJdYYL5F6hQ76b9bnXD/lgdYYHls5x69bD8ejf+g6mD41BrLCheUPyoJ3A0qoN9sASKOuP5DvtZu4yXns/XrUMQRhL15hvnZL35xrnwq5/Xvs78A6oczrlaWPNx59YN1lGrHyyf1+qVwbWr3ho72H42Gst6azDXHdZTC7ZP1h1B2D2IsCoIwn7N64cfroMgDHf8k+ag7fzvIP6Xf8PAo9+3YwVBECxqiRcUEs8+36tvymvx2MN5nHWet6ZYyLyXXO6rafXFm34GllFLGOBN/SWX+WoKIGzncSd6arZzMHVQQNF11BgLWo1d9SV/TYGD5bPsRv342jcDqp3VBQqnHxQ5asE+1uurIIwkaol9W9eN2vNtUHO6ztrTaH3bkTpq9YNz/ie/COvXalB4PfQw925tgzOWtaz+HeGZr6yrGs46zzETBGHXIsLqMGPVDTfoHdfW3nKLHSMIgiAIFp5RB6Dl3OuQefNP6P/jV+1YQRAEPg5bXbygBdO8E7w1hTzeiE+a7MJnv1hbLORjrrw+aYqrqjDAciksnHVebVGTQuP3/i1UU3yg1Szzs51DqYNiAvOxjnpjwX7UEjhYB+tnHbWEHIoTn/1SoKZwyn44411NwGAcx/tjl/nrWtkJwkihlthHsfCsc33159sJHjVXvFUFRUeQ/Oo3gzXXjfL1bajrhlPH3b+rvXbVKp9QcOV8rteGwfaz1rrDsfzYP/jrjiXHgT8sVbNKddZ5jkMtgVgQhKEjwuowpNDXp4MgCLufk01TB0EYjvTFk3j21Xfw6/ufwKp1m3ScOzoKLed+E7k1b6Dv11fqOEEQhMGIhdWEPEcUoPhQTSzkDT8fUeVN+SUqXTVhwBFQWE81UdOx4mxuNmqKDxQsnXZWExca1eH0k3VUGwtHvGA/agkc5SINrVsrccQJpx/VLHydfrCcagIGhVdHhGGbBWGkw89yrfnGa7XmG+c0r3G+VpvznB9cl+qtG+XrW7UyOAedOV1r3XDq6O/b/lF8xxLUWjfqz/m6a5e6xn5WE6HL21DtxytnLJmm1ljyxy9a7vJHn2rrjrPOn63aUM+aXhCEoSHC6jCDPlbnPP20fhUEQRD2bz593c047Ypv6NcZZ/yjFlmJyxtE61n/H8xUD7p/9iGY+eoWDoIg7D9Uu+HmDXu5EMjzShxRgFQTDigwnnWuVx9TGKi06uINP4UA5mU91URNx4qTUGD44U3bigvbCZYVouZg6qB44dRRayxoNUbqCRz16nDECUKRt9LCt7wfFDDqjbfT18o6BGGkwTldbb5RCCScS5WCoyMWOnOhmqBYPqdZR6XFaaN1g1BE5FysNaedH2wIrdmr9cNpAy1G6815tqEyv9PPegJxeRuq/XjVaCxZnvPjF+vgOess58XnrbWN8LXa2iQIwtARYXWYEZg6FbFTTtGvgiDsfip9rG684w4dHKvxxPz5+pyvhPFOGoeu++/fJk1m1Sp9zngHJ09luX3PPKPPiZPGgdd4XllueRqnbl4j9cqVPu35Pk38jxQ8s84dcnjgyZfw5U9egD/99F8Ri4bxm/uf0HU4NJ38ObiDzei65XQU+9bZsYIg7I9UEwspAjhCYLWb+nJRgFBAqBQOaMV5yeVby6i06uINunPDTqqJmpXibeWjquWCJeuoFEAGUwfTU0Ah1caC4gXzkWpj4Tyi74zFYPpRaflV3g/CNOUCRuV417JwE4SRBOdb5Q8u5aIoP++Vwmm5WEiqCYrlc5pzqdLitNG64VjKO1TO6XJxl9CHKde7chxLUML21pvz1daVyn5WitCVbWAfWGc55cJrtbFkec6PX4Rlla+xXHeYj4HwfdmX3ZCsuzqM9Jv32meCsGcQYXWYwRv85ddeu81NvCAIu4/E/PlbRDSy+MordWA82fTrX+vzdT/5iT5nWieNk4/XeO4IdMzLc85lh9Xf/a6Oc+Y20/Kc8aS8XEdQdOrmK2G8k8ahstxqdTt5pE97r087w7e/eBkuOG0ePnXR6VpopXuAcqLHXgrf+Fno+skZyK+zLFoFQdj/4E3zLHUDX37DXS4Ekkqrr0ohsPIxUeemn2KgQ6VVl/P4vEOlqFkpJvK1UgCpbCcFkPJ2NqqjUkCpHItK8YJUChzOI/oOjfpBWF65cFp1vMsEjGrCazUrO0EYSXBONKlQPqd57IiipFI4LRcLSaWgWG1OD2bdqJzT9daNStGTdXCec60grMuxBHVgfWybQ7klKKlcY6v1s1yErtaGjtWlumtX5ViW//hFuEZzrXHgMdvlwLLK1619kb4/XI3kc7+yzwRh9yPC6jAjoW70uXGVc1MvCMLu5eDbb0f7hRfaZ5Y7DgZPLKbPw3Pm6HO+EsY7aRzaLrhAn0fmztXntDjneXm5Yz71KR3nlMu0PG8++WR9TnjO4MBrPHfqdsotT+PU7Vi5O+XS8t3BySN92vN9WvtPIRQWPDykcNuNluDbN5DQr6vWbcaUCWO05WolkcMvQOjQs9B1yxnILpb/fwjC/kr5DXctIbDc6ouiQPlNPSm/6abVk/P4vEOlVRfTlt/0sz6eO8JApZhIyoXTau2k+LBNOxvUUSmgkPKxqBQviFXHVmvRSpGGdZQLOdX6UW75NRThtbIOQRiplM+3SlGU8HNeLpzyM185F8oFxWpzulw4rbVulAun1eZb+Q8ulT/YkPLNn1hXuSUoYXpHtGQbWGZ5G1ifs3ZREK3Wz3Kr/1ptaLR2OWuwI7yWi788dsonleIv28Dz8jT7Gq3n/SsST/wY8Ye/Z8cIwu7F2NDRYa7s6MC8efPsKGFvQusoWj05AoAgCIIwcuHjSGO/cI99tmPQMrX92I/p4zkzD8Bbi1bgO1/8B3znS5fpuGpkVryMvsdvRusnf4XgkR+3YwVB2NcxDAMb4y36Bvsj58TxxAtN2o/prMM821iNkS9/PomvfSuob+4pQtz++4h9xYKiCIWDn/wijCsvTeidqitv7I+a1Y8nXmzSN/20yKosg35aWf5VX/Lj9OMH8KdHotuID2zn0aqMxWtjDdtJ8cJpTzmDqcMZC/aDVlzl4gJhP+59NFpzLMrr+LAqi20oFzAIy3h1QfOQx5t1dKwu6jRjo70wZUNNYQRRvvZcoz7r/HzXmgvOfOOcpjD4vR+E7CsWzNfU7Nol68Zg5jTr4PpQTnk/uG58799C2815J98vf5ZFc8zQQmg55WtXtX4yHxlMG77zjZQWXuuNJUVo1lcO882a7VHBXXOdd/Lta+uO8927mOxF35O3wj/tGDRfYj3RJgwNPrH3QkuLNjw5vrfXjhXKEYvVYQYtp2bdd5+IqoIgCPs5tEx98o4faFF19bpN2h3AP39yq3VtNQIHHIvWD30Hffd8DYln/sOOFQRhf6HcGqrSWsvBsfqiWFlpKUV4A0/BlDf3DJWiKqHPQVp18ca80oqT0KKK1qC86a+0KiM8dyw1q1nNEqedrKP8MVaHwdTBseB11lNtLCgqOGPRqB8sr1JgIY7lV63xdh4Nrl/HVutcQRiJcH44c63WXHAsMatZaRLuaM9r9ea0Y3FaaYXpUL6+1ZpvtJytZlVLWAfLd9a/anOeYiXXSJbTqA3V+ulY/Q+mDayn3lhqVwPV1sdzrc31mJ/trYRl7uvrjjvcgrbzvoXCxoXoua22UYIg7ApEWB1m8NcA+udzfAIKgiAI+y8nHzUbr//pVnS9fPeWDawaQX+rred/G8ln/xPxhyzfsIIg7D/QMpPWXNWECUJhgRZMFCacTVkq4U03fX9WugFwoBUrRYNaAgrr5QYrFCWriRuE4gPbqdNWES+cdu5MHRwLWm5Vy08ckaVRHfSJWE0gIRQ1aKFWa7xZLgWMWgIy87AdFFIEYSRDsa/e2uMIp7XEQuahqMr5VmtO0+WAs25Uq4NziWtCvTlNlwO1RE/CfLQYrbX+cc5zXWFZtdYutoH+qistTYnTz1oCM2EbvvN1Wp26q/aTY8m1q9aPX8zP+llHuf9VB5a5X6w7Lg9iH7wGyKfRdevZMLOWey1B2NWIsDrMoH/VV6ZN06+CIAiCMBQ8rZPQeu51yCx4DL1/uNqOFQRhf4DWUHzctZYwwRtq3nTXEgWIIxxQ/KyGIwzUElAIBRDto7WKuEF4U892VrO2IiyX1mk7UwfHgiJOLfGC5VJkaVQHH92tJ0Kzjnrjzb7ytdZ4OxZugjCSodjXaO1ptG5wnukfdXZi3eCPIfXqsDZ3qr1u8DqtSWvVwXxcN6pZghKnDbXKJxSh6/WTP1416ifbUEv8Jbqda6z1rRr707rTfNJn4Gkaja6bT0Ox29p8VhB2JSKsCoIgCMI+iCsUQ8u530Rp8xL0/PeldqwgCPs6vOGmBVM1KyYH3qzXEgUIb8iZv54wQAGkloBCKIAwfy1xg/G05qpXB0XNna2D/ahmNeZAgaNRHcxfS5xgHSyj3nhTwKglkBAtvMaq90EQRgrOfNuZdYOCYqM5zbm4M+sGf3CpVwfL55yvNaeZj3O2miWoA9tQ6wcdQhF6MGtXo7Gs9eMXYf2Vm2+Vs7+tO9GjLoF/6pHovOUM5Fa/bscKwq5BNq8ahjhuAJxdqQVBEISRyc5sXrUr6X/uNpTSCbR97h4YwW03SRAEYeTjbCDjQKuwekIfHx8dqOE/0KFRGbSEalI3/7WEATKYMuq1ge0kO1MHy6iXfzBjQcsxiqe1GEw/GtVBZPMqYaRRufbUeszfYVfM6T21vtXLvyfWrkZjORjYjnptIPvq5lW1SC9+FvEX7kDLP/4GgfedaccK9ZDNqxojwqogCIIg7CaGi7BK4q/ehey699B21V3wtB9gxwqCsC9QKW4IIxMRVoWRhqw9I5/9TVgl2VWvoe/xm9H88VsRPvZyO1aohQirjan/s6mwx+m6/34suOgibLzjDjtGEARBEHYePgIVmn4sum45E7lVr9qxgiAIgiAIgrD/QJcArRd8B/EHv43EEz+2YwVh6IiwOsxIzJ+vxdXMKnGqLAiCIOxaQrPPRuT9H0bXrecg8+5jdqwgCIIgCIIg7D94xxyM2DnXIfXSrzFw/7fsWEEYGiKsDjNip5yCKddfr18FQRAEYVcTPPhkxE7/Z/TcdhlSL//GjhUEQRAEQRCE/Qdvy3i0nHsdckv/hr47P2/HCsKOI8LqMIOC6tQbbhBhVRAEQdht+Ke8H60f+jb6H7wBib/+yI4VBEEQBEEQhP0HVyCClnO/hWJvB7r/62JA/FwLQ0CE1WGGuAIQBEEQ9gTeMQeh9bzrkHzlf+URKEEQBEEQBGG/JXbql+B2e9B5y2koJrrsWEEYHCKsDjNk8ypBEARhT+FpHofWc69Ddtnz6PvtVXasIAiCIAw/Fr38Mu7+/k34zhmn4dqj3o/PHDRDv/Kc8bwuCIIwVKLHfRLe9mnovuWDKGxaYscKQmNEWB1meGIxHQRBEARhT+Dyh9F6zjdQ6l+Prl98GGapaF8RBEEQhL1PorcX//O1r+J//vmfsOnRR3CY4cIZY0fjslnvw5nqleeM/5+r/wn/fe01Or0wPHjxuYJ9VJ3+fhMda0r2WXUefShvH1VnMHW8+3b97zaN2tAo/67oZ6Prd92Zs4+qwzY2KqNROwUg+v6PIHjwSej6yRnILX/RjhWE+oiwOsyYeM01OF59GaCfVUEQBEHYUzR/4Itwe3z6V/pSotOOFQRhX2AwN9ON0vzyZ1n7qDoUDhqVsScEkkZ1NBInBlNHo3YOph+N0ggWz9/1B1x32geQXvAuzpkwHoe1tWJUKIiQx6tvZIPqleeMP2fieGTeW4BvnXoKnlP5hL3Pr36eqSv23fXbnAq11xbOle98PWWfVYd11JtPvMY0tWAdHz47bp9V58pLEzpdLR57OFd37RlMPxu14bGHcnXHktcffbB2G7iu3XVn/XVcsAjNOhPRYy5D50/PRnr+/XasINRGhFVBEARBEDRNfARq9HR03nwaChsX2bGCIIx0KCrUExQpCNQTHsjdv8vWvamneFHvpn2wAkm9dg5GIGlUB9vYqB8N6/hGqq7IMph+iMDRmJfuvw8P33IzThjVjkMDfhh2fC14fXYoiBNHj8Kjt9yi8wu7n1rziXNEf9brCIovPc+1p/Z15h9Q5dT7saORYHi3uvZYHdHTqaNWP1g+r9Urg4Imhc1aDLafjcaynnC64J2irqcWbF+9PgjbEjjweLSc8w30/vYqpF64zY4VhOqIsDrMWKu+BLwybZp+FQRBEIQ9TeSIixCaeSo6bzlD+17dUbgJoyAIe55awgNvyHmz/uJztW+oKTxQXK0lFmphYXWprkDCMnjjXwtHOKglOA62nYOpo9ZYMH6BCj+8KW3HbM9g6mA5tQQKpx/1RJZGdQhAZ0cH/vfb/4ojmqIYHQrZsYOD6Q9viuj8LEfYvdQS+/gZv+RyX01BkXOF4azzvDUFRc4Vq4zqP3Zw3Tr7fG/N+bQjddTqB+fyT34RrjmnuR4ceph7t7bBGcsffb/62uWseXxlXdV47OG8bkMjq/5K9ufvdf5Jc9B2/ncQ/8u/YeDR79uxgrA9IqwOMwp9fcisWqVfBUEQBGFvEJp1BqLzLkf3recg89bgHoHqe+YZvfkigyAIe55awgNvyM8616utmarBm3De7H/tmwH9uGo1KCh8799CDQUSChy1hFMKByyjlnDKdh53oqduOwdTx1e/Gaw5FuwHrzcSQBrVcfvvIzVFFme8OaYsq5LB1FGL/Ung+PXXvoq5kybtsKjqwHxzJkzAr7/6FTumOhxT2TR456gl9nGunHWur6agqOf8CR41771VBUVnrtSbs7TQnHeCV68dteqg6HnWeb6qPwyV10Gr/GpwTapVPuFa8LHL/HXbMNh+1lq7OJYf+wd/3bHkOFxymU+1Z/s6KLhOmuzS41Br7aqE3+ve+sAH9vvvdZ5RB6Dl3OuQefNP6P/jV+1YQdgWEVaHGe0XXohZ992HsVdcYccIgiAIwtD46f8+gFnnfQ6tx3wU533+eixauda+0pjggSeg5Zxvofe3n0fyuV/asdvjCKr88t11v/ihEoS9RS1BkjfkvKHnTX81IU/f9Ktrn/1SQPsJrIZj6VTrpp6CLIUD3vhXE04d4YA3/fXaSRGmVjsHW8dVX/LXrIPxFDQZqlltOQJIvTrY/7PVOFCoqDYW5eNdTeBw6vjsF9V474DAsT/9cPXmE39Fcv06HOz32TFDY2YwgOS6tbq8ShLz52P5tdfq/3et+8lP7FhhKFQTFJ35yGu1BEVnrnBdqSYocq5QFG1uNqrWQZz1i4JhtTI4xxzhtdoPQ+V19PdZ87scxxKUoiTLqLY2cX2s1wa9tqlr7Gc1Ebq8DZOmuGqOJdPUGkuu3VzX9DpeZV1xxF+uXbXWRwdHUGXg8f7GM39/Gz/8nz/hzgefRi5vCfru6Ci0nPtN5Na8gb5fX6njBKEcEVaHGZG5c7W4Gpg61Y4RBEEQhB2HoupXfvBLLF+zAbNmTMFjz72Gi7703S1fEgeDb9JhaD3/24j/9UeIP3KTHWshgqogDC94Y18pFpaLG7SGqnbD7QiavKnn4/7VhAWKCrxOcaDaY/S0Grvkcr++8a920+6IiaSaOFHezlqCY6M6HOGVVBuLcoGE/a01Fg37ocombGelwDHY8aY4wnZwrJm+FvvrOvv3e+/FeL/fPts5xvt9eFWV58AnAx1Bla7X+JSgPCm4c3BdqJwLjlhIqgmn5XOllqDIuUJRlLCOSovT8rWJ5VSzuNc/pqj6rfVr+x+GnPWPVJvT7IfThmo/uFS2odaawLFw0tRrwyWX+Xd4LFkeXaA47ai2rrz4/Na1i68ss5L9XVAlX/23X+L0K7+Jb/zof/Cpb/wQcy74whajBJc3iNaz/j+YqR50/+xDMPPbi+jC/ouxoaPDXNnRgXnz5tlRwt6Ei1hi/nzETjlFi6yCIAjCyGXd1WGM/cI99tmehZaqFFVXPnkHxo1q1b++84vizvDFc4/AjV/7kbbuqXeT74nF7KO9w96uf2cZqe0fyeM+0j8zx6r5+JtHouAGLvQF6EBxccHbBXztW0F9fvrxA/iTSsebb8Kbb+52fa+KIxQ8abVFq08HCqmzDvNocYLpTz9uAK8uaLavWjf1LOOJF5r0OTd2mjXbo61THXidbgB4488yrvl8Uj9O79ConYOp48PnxHXfWQdFg8qxKO8HYR1OeaRyLGr1g+ILhYnK9KSyH0fN6se9j0Z1m0ijOsZGe2Gapr4fqLbO0vDimJUr7bN9l2+efAKODYcR2wXial82i5eTSVz/69/qMeVj/5VCqjOuzjXnPoz3ZHwveJ2GL2TVDTfoVz5dyHhed9IwjvlXf/e7Os2U66/XawsF3Ozq1Wi74AJdNst1rGQPvv12/Uqxl3knfPnLum6+95t+/WuE58zBVLtOx2J5+s036/rYlv5nn8WYT31K181yWQ6Z8/TT+pV5KCazLewD+8i6WYdT9+uHH67r5lOTjGe5rJvpWRfzMw3hOLFPLJf9vkXlu3FtDB9R8698PvFz7lhIkvL5SThX+GPJ935guXqotvaUz1HOnaPVfFqs6nKonNNfVusK595g66icjzyvXJsq2125buyONlSuKzx31h1S2aZf/iyLgf7SlnWncl2h+EtLWadfbBN/9HHWx7PUunOH+lzy/ayGMz/42eJn2XnClp8L7g1Dju/t3fK54GeXnzd+bnnMOF5jGsI8zMsyWBbLZNmcG/zc8rP4QkuLTvv+N9/Un8nFV16pP7sTr7lGfyb5WXc+kyerNZPwnPHtJ/ow8xc7vnEdLVUpqrY0RXDnD7+Otxev1N+bzzrxSDz0C2tOO8Rf/j3y3SvR+tm74I5NsGP3XZz3pPx9FLZFhNVhBv9Hxv8ZO4uRIAiCMHLZm8IqH/+npepzd/5Qnz/+whs456pv6+Oh8vmTJ+Hrh03HpgdX6S/FgiAMD85TYVm8Zbubft6QO4ImqbzhrhQCeVNfKZBUipwUDmhV5dzkV97UUwTlzvzOTXw1oYCC4xMvNm0pk9dp4elYZVW2s1odFDQcYaBSeCWVY1HZj8HUMZh+lAunlePNMokjolQb73IhhwLHby+8cFj/cFXO7mrLHQEfPnLgDHjd1udhZ8gXi3j3tTdwVDqjxYFqOMKRI8xQuKGAQyGHgg6FHQo8hOICy6EARCFopIhNu6tP9E77A7X2NBIgKwVFzpVysbByflUKkqRStKyc05V1VIqerKNcnK1WR/naVG1d4bpBC9ZywZjz12lD5Ryv1s/yNbZWG5x1pdq6U20sy9edyrWL4zBpinvLWscyy38gu1itOz9Uc6DW97qRJqz+hzr+o44ZGheePg9//Mm/6uMTL/saFixbjZ5Xtv8un3jzAWSWPY/Wz/wB3gmz7dh9E+c9KX8fhW0RYXWYwQWDvxA6vzwKgiAII5e9KazSpyof///BV/8Rhx08DZd97d/QO6BuEG7/Pk45+jA71eAxC1n0P/kfcLVMRMsVv9ZflvlFuPKLOL+AOzdrewt+ARzJjNT2j+RxH+mfmVHqxnVjvGUbsbDaDTnjyoW8ypt+QrGC13mTzpt+PqbqpCeMK7d2qhRUSLngUSlYkh1tZ606HHGiUR2VFluEcXyk1ulHpThByvtRKZiQcoGjVj/K46rVUS7kNBI49hf+cPCBuHjmQfAYW8dpqFBYvXflKnzr05/VlprVxtYRjijwVFqW8r7M3dy8xeCl0mKV/y9kOoo/FIm4lvB+jlAEIrQEdNKwXLaBcRQpmIewHObldZbLNMzDNIzjNceikOeMZxoGHrNsUp6G8DrzMg3LJSyXOHmYhjANA9MzECePc87rDoxraWnRP+qUz4VqYmHlXCifvw7lgmKlKErK66g2p1lHuXBaPn8dyteSSpGUlIuQ1daV8vWvURt4XPlDFSnvZ602NDW76o6lsz5WjqtD+fhWWz/LRWrHUr7e9zrOj5GCYWx9v4fCCe+fhWd+8+/Y0NmDaaddgemTx2HBQ/9lX92W1MInkXj5d2j9zO/hP9iac/sinOsirNZHhFVBEARB2E3sTWGVPqHoU3Xp6vV2jPoi/ckL8KOvX2WfDZ5Cogt9T9yKwIEnovmjP7ZjLSq/iI+0L+CCsC/AG0kKq+WWnNVEAeLc1Dc1G1VvyMvFi2riBnFu2qsJC6Rc1KwmJpYLA/XaScGRfl8b1VFNOCgfi0b9qGaZRir7UW5VS9gPx/JrqONdLqIMRuDY2z9cleOIbbua6y+7FMc3N6N5JzevIo4rgO8/+7w+p3haKbDK/7eGjrP2lM/pWvPNmQtcNyrFQlI+F6qJoqzDES1r1eEIhlzDqq0b5etbufjoUN6PamsXcfJxzjfHDL0+lOO0oVY/mY8Mpg3VhFdSPpaVP/gQZ+2aNdtddRzKfyhy1h2Hkf69bqjfvbkHAX2q8nvzvLmH4NV3lqBQLOLH37gK//yJC+xU25NZ8TL6Hr8ZrZ/8FYJHftyO3bcQYbUxO/8zoLBL4Yd2d31JEQRBEPYfZk6biLce+E/8+gdf01artFQdkqjatRK9D92I4NyLthNVCa1t+IWbj3Txy7cgCHsPCgDOpkvcJZobMVVCC1VujkI/pM5mT+WUb47i7HZdCeMcyy1nY5dynI2bKFgyVAoTFEsoCPAahYdq7aRYwV31G9XBclheZR3bjkXtflBo4XicdW7tOih0MJSLqoT1Mq5ePyhcsPzyzbXK0bt4q/eqnHrrqmNVOBwC27Y7wgGHzcGm3PY7uA+FTek0pr5vln1mWZFybOlflHUJu4byOV1rvnFOcy5wrlSb05wLvMZyOH/LRVXC81n2fCvfjKkcZ9d8zlv6eK2E6xvnG9evavlZB8t35nzlukIoVnL9ZDmN2lCtn5dc7tP9HEwb9DpdZyz1xlfnbf8DBDfD4kZbzM/2VsIyf/Xz6nNsf/1e5/N6cN/Prtc+Vfn4Py1VG4mqJHDAsWj90HfQd8/XkHiGjgiE/RERVocZ/BWVvwY4j5kIgiAIwlDhl8TLzv8AvvaPHxnS4/+5jrfR8+D/QfSDX0XTOd+yY6vjfBF3NsMQBGHvwBtmWnM5u0RXwpt6CgK8Ia8mBPKmnmIhrapYVqW4QZxd9fWO2+dvLxwwD8UR7uJdTbAkFHh5nQJCtXZqwXEQddz9u607h1fC9tNyq5pIQ9gG1lFLhHbq+NXPMlVFUUJRg0J0rX5QyGEbawmvrINWucxfyf4qcBz9kY9gfXb7Hd6HwoZcXpV3sX22FT7KLwLrroViH9eemvPNFk5riYXlc7qaKEro35l1MG21OpwfhmqJu858qyV6EuajxWi9Oc91hWXVmvNsg1671HElTj9rCcxEr11fT2lRtFo/nR9kqv3gQ5if9ddbd9jOauuOw/74vY5GCdyoij5V+fh/I1HVwTd+FlrP/zaSz/4n4g9tu9GVsH8gwqogCIIgCNuRXvo8eh+5CS2X/yfCJw7e0tXx6yYIwt6BVpY//H6mpqDpCAu1rLGIIxzUu+mnOEJqlUGRhRZR1W7qCQXeRu2k+EDq1UGrrWrCK+FYUCCuJdKwXNbBuobaD4oTrKNeP+gGoJbwShyr1lrsbwLH4ad/EKFx47EoY1lOD5VFqTRC4yfo8mpBgZUb5gg7D8U+WoDXmm/OnOY84HE1OJe1dXcVUZRwvrGOalaaRM/lKa66dVg/qFQXXom26lfXa9XBfFxDq1mCEqcNtconXFfq9ZNrV6N+sg21xF+i21ln3XEsaxsh3+sGh6d1ElrPvQ6ZBY+h9w9X27HC/kL1WSbsNfh4Cn0nycZVgiAIwt4iteBxxF/6LdqufgSBORfZsYIgjAT0Tb26ka4lBBIKefVuyClesIxq1lYOFEBqCSiEIgtv7Gvd1A+2nY3qoLVWvTp4vZ7AwX7UEpAJ63CEmmqwDook9fpBK7tawivheNNXYyP2J4Hjih/9GG+tXYfNqZQds2Mw39vr1+OKH99sxwi7m8HOt3pzmoIi87OsajjrRr06ON/q1cEfderVwfK59lWzBCXMxznbaM43Wlca9XMwY0lxtBasf1esO8LgcYViaDn3myhtXoKe/77UjhX2B2TzKkEQBEHYTezNzauGSuKN+5BZ+QraPns3PGNn2rGCIAxnnA1kHGo9autAa9VargIcaFlWS1ggtISiJWYtYYDQ6queOFvPmoqwnaReHYNpZ6M6Go0FLccontZiV9RBKjeR2d956f778MD3b8L7Y80YHdp2A6B6UFR9va8fF3zzW5h3ofw4uDsZytpDdmZON7q+q9a3evn3xNrVaCwHA9tRrw1kX1t3hst37/7nbkMpnUDb5+6BEdx2g7KRhmxe1RgRVocZ3IWv+4EH0HbBBfqxH0EQBGHkMtKE1YEXf4PiwGa0XnUXXJFRdqwgCMOdSnFDGJmIsLo9f/vdnfjj//t3HDh6FGaHQqgnEXHk3k2msKSzExd/7f/DSZddbl0Qdhuy9ox8RFjdfcRfvQvZde+hTX2v9rQfYMeOPERYbUz9n02FPU5i/nxsvOMO/SoIgiAIe4r+p3+OYiGHtmv+KqKqIAiCMCw46R8uw01PPYPg+w7FI+vW4+3uHnSm0kgX8uC2Oyn1ynPGP7J2PYKHztbpRVQVBGFvEz3qEoSmH4uuW85EbtWrdqywLyLC6jCDvpPoZzUyd64dIwiCIAi7j1I2iZ5HfgBX83i0f/5eGK7aj6UJgiAIwp4m0tKCz9x8C/7xp/+BMWefg7fNEl5fuhx/e+VVPL5xsz5n/D/e+h/49I9v1ukFQRCGA6HZZyPy/g+j69ZzkHn3MTtW2NcQVwCCIAiCsJsY7q4ACv0b0PfkrQgeeg6aLrzJjhUEYaQhj+PuG4grgMHz1gc+oB9P5aa/wt5D1p6Rj7gC2DNkV7+OvsdvQeySmxE69pN27MhAXAE0RixWhxmZVau0GwB+eAVBEARhd5HftAQ9D92I8DGfEFFVEARBGDH0PfOMDrxn4v4UgiAIwx3/lPej9UPfRv+DNyDx1x/ZscK+ggirwwz6V3398MOx9pZb7BhBEARB2LXwV/OeP/8fNJ9/AyIf/KodKwiCIAjDn9Xf/a59tO2xIAjCcMY75iC0nncdkq/8Lwbu/5YdK+wLiLAqCIIgCPsR6cXPou+Jn6L103eOuEeRBEEQhP0bx1rVQaxWBUEYSXiax6H13OuQXfY8+n57lR0rjHREWB1mTL3hBpxsmvpVEARBEHYlqXceReL1P6H96kcQOPQsO1YQBEEQRgbVLFTFalUQhJGEyx9G6znfQKl/Pbp+8WGYpaJ9RRipiLAqCIIgCPsB8VfvQnrFK2i/5nH4ph5lxwqCIAjCyKDSWtVBrFYFQRiJNH/gi3B7fOi+5YMoJTrtWGEkIsLqMIO+Veljlb5WBUEQBGFX0P/cbSj2bcKoa56Ap/0AO1YQBEEQRg71LFPFalUQhJFI03GfhHf0dHTefBoKGxfZscJIQ4TVYUahr0//6ppZtcqOEQRBEIShYZYK6HviJ4Dbh7YvPwYj2GRfEQRBEISRg3N/FJg6VQcH55z3UNWsWQVBEIY7kSMuQmjmqei85Qzte1UYeRgbOjrMlR0dmDdvnh0l7E34pYFfCiJz5yJ2yil2rCAIgjASWXd1GGO/cI99NjT64km8tWgFVq3bhJOPmo2pE8bYV+pTSqmbzCdvhWfKkWj5+K12rCAI+yKGYdhHwkjHNE37SKjHs/ZnnntTCHsPWXv2DfaldWdXfPfeW6SXPo+Bp/4Drf/4GwTmXGjHNoYaEvWj3QV/uHqhpQWeWAzH9/basUI5IqwKgiAIwm5iV3y5+8g//1888ORL9hnw5B0/0AJrPQo9Heh78qcIHfExRM+/3o4VBEEQhH0D5+m+cutVQRCE4SCspjM5BAM++2zHyHW8jb4nbkHTh76H8IlX2bHVoUHeup/8RAurx6xcacfuekRYbYwIq8MMTgrnFwcGfoidLw7OrxC8TpxzXmc6ftCdLxe10vA609UrtzLNYMqtl6ZWuaQyzY6U66QZTLmVaQZTbr00tcollWl2pFwnzWDKrUwzmHLrpalVLqlMsyPlOmkGU25lmsGUWy9NrXJJZZodKddJM5hyK9MMptx6aWqVSyrT7Ei5TprBlFuZZjDl1ktTq1xSmWZHynXSDKbcyjSDKbdeGue8/7bjMfE/Uvp4Z/jyJy/ASUfOxqevuxkXnDYPt914rX1le3LrF6Dvrz9B9OxvIHLKP9mxgiAIgiAIgrBvszeF1Y1dvbj+1v/FHff9FYdMn4wrLzpDf4ffUQpdK9H7xE8RPvZTiJ7zLTt2K46g6mzax/sREVb3MhRWX3zxRVMYHqy8/nrzGcBcds01+rz36af1+fOxmD4nr82dq+M23H67Pu+4+WZ9zngHnjPE33xTn7M8ni+64gp9zngnTb63V8fNP+UUfc7ySOd99+nzl6dO1eeE7WAcrxGnve9eeKE+Z1k8Z0ivXKnjeI3n0ifpE5E+SZ94zrCv94n51v5TiM9W7XToevlus7DgYVN9OTNj0fCW88qQePDb5tqrI2bq1d/rdgiCIAjCvgj/3+78/10QBMGB372rfUfeE+HTF59pGoZhXn35h8xTj52rv8MvevRXVdM2CplXfm1uvPFIs+/ua+2eWfdIzn1TeSi/b9kdOPc65fdmwrbI5lXDjLFXXKF9q7qbm/U5fxWgBZRjBUUqz/kLBc8dyylSmcY/ZYo+Z3mkXrmVaeqVO5i6w3Pm6HPpk/SJSJ+kT5Vp9tU+OdfVl6MhB8cytW8goV9XrduMKRPGIBYN6/NyUgufxMCzv0L7lx5E8MiP27GCIAiCsO+x8Y47dBAE8vzzz4P+XmuFnb1eLfz7v/+7DtWulYcZM2bg4x//uK5D2Hfh4/+0VP2ny87Hzd/8HB6/7UYE/D7MPPuz8Mw6d4dD4JhPYex1r+EbP/sjOn98PhZcdBHe+sAHtliplsOn6WhRurvCK9Om2TUJtRBXAIIgCIKwm9jZx5G4cVX7sR/Tx3NmHqA3sfrOF/8B3/nSZTrOIfHmA8gsfR6tn/0DvBPq+18VBEHYE5x11ln4y1/+Yp9ty7/927/hX/7lX+wzCwoUX//61+2zwWGaphYuGnHmmWfi1FNPxac//Wm0tbXZscJIZvm11g+P02++Wb8KArnuuutw00032Wfqc7J8OQ444AD7DPjDH/6ASy+91D4Dfv/732vRk3At+cUvfoGLL75YrxOVaxLXG0KB9Fr1+fvoRz+6ZR076qij8Nprr+ljrjePPfaYPmZ9X/ziF9FrPz5dXp+we9ibrgDmXvQljG6N4U8//Vfc/ejf8Lnrf2pfGTqfP3kSvnvOLKz8z0VbXJrtLWgEePDtt9tnQjlisSoIgiAIwxRapnKzKoqqq9dt0v5V//mT2+4SGn/5d9qvavs1j4uoKgjCsIHCQldXl31m8YUvfEGLE5WiqsORRx6J+fPn6zSOiOFAMZZxLJPHDox7+OGH7TOL5557TsdTVLnkkku0wEuBhGJvd3e3nUoYyVBQFVFVqKTZfvrJoVxUJRMnTrSPLMrPuT597nOfa/jjywknnICbKz57tfJQRP35z39un0GLrLIG7bvQp+pTL8/HmOM/rkXVpkgIiTfuq/pUWqOQeeXX2HjjkfjBly7G6H95VPtQnXXffds8MefAOPo+3d1BRNXaiLAqCIIgCMOYk4+ajdf/dCu6Xr5b/wJe7gag/9n/QjE9gPZrnoA7NsGOFQRBGB5Uig1Tq9wQlnPXXXdhzpw59ll1WCaFWVqFOTQ1NdlH20JRhRZj06dP1+e0KLvtttv0sTCy4eYtDIKwqygXQBtBcbXWD0SVlIu3tFxduHChfSbsa3Cjqr/f/RN8+uIzceu/fhHr/3andgewo+jNqx66EcG5F6H5oz+2Y4H2Cy+sKbDSndnuDkJtRFgVBEEQhBFGKZ9Gz2P/D65QK9q+9GcY3oB9RRAEYWRCkaLSuqwezqO2g4E+Dh2eeuop+0gYydDXIIMgjDSi0ah9JOyLHDFrhhZVv3DpuUMSVXMdb6Pnwf+D6Ae/iqZzvmXHbks9gVXYO4iwKgiCIAgjiGK8E70PfR++yUcg9il5JEcQBGFHiInVjSAIe5C1a9faR5b/1UZW+cL+S3rp8+h95Ca0XP6fCJ94lR1bG0dglUf09z4irAqCIAjCCKHQuQK9D9+IwBEfQfPFP7JjBUEQhHosW7bMPgL+6Z/+yT4SRjInm6YOglCP8t35GU488UT7yu6HvlSdzasIfbjeeeed+lgQKkkteBzxl36LtqsfQWDORXbs4Iidcop9JOwthp2wyv89amf1KvBfSZ87F6wTJ15fs18ZrBPL2b2d1PlTESx4VFJ/Syjqv4IgCIIwXMl2vIXuB7+H6Jn/gqazv2nHCoIgCLV466239OYx3MSKfla5yRV9IwqCsH+gdYGywI3tdjfcLI8ibnt7Oy699FLtV5Wb8tGHa6ONsYT9E25wlVr0FEZd8zj8M+T/USOR4Wuxapa4EvIAMKwoLYOq+FKJMqiJggrd+SIW9aexNJFBf0ldM5w0TGELplxIVW7+dRZVnqlU+p8+t6sSBEEQhOFGZukL6H3kB2i5/JcIHf8ZO1YQBEGoBq3SKGzMnTtXb4h1ySWXaKvVc845x04hjHReP/xwHQRhuMHH/fljTktLix0DfOYz8t1NqM7Ai79BfvNyjLr2SXjGzrRjhZHGsBNWDVsMLRpsmgGXaemqpvpjqiNqnyV1KaEOFicLeGxVL+55Zz3ue289/rahD6tzJWTh1umLFFkNlZCZdAFWmYxgHSzNreLc8MBgoYIgCIIwzEgt+Avir9yJUf/8KIJzL7RjBUEQhFrQKu1b39q66QfF1UceecQ+E/YFEvPn6yAIwxFuxPfb3/7WPgNee+01XHfddfaZIFj0P/1zFAs5tF3zV7gio+xYYSQy7NREiqclw7AEUfucUqu2VjXUDabhwuqsicfXZ3D7u914byCHww8ah5lj2vDumj488N56vNQTx6YCpVOPyqfKozrLkhyBVXXbUP9cJXVVW7OaKKo0JbtOQRAEQRgOxF//E9KL/4b2Lz8O3/Tj7FhBEIR9D8cP4a7ixhtvxJFHHmmfAZdffjlWrFhhnwkjHW7WIhu2CMMZWsiX/8Bz0003yQ88gqaUTaLnkR/A1Twe7Z+/F4bLbV8RRirDTlilHalRMuApqSMzD9MsqLgSMjCxoVDCC105/G5BAvcsyWJhxg9/LIqZLT6cP6UZH507GS0BL15YvBaPLdmE9/py6C+6kDfduoySUUDRKKKgQlHVZRoUWS0R1zRUXTpWEARBEPY+cT4a1LVS/4rtGXOQHSsIgrDv4WzysquhparzOC79HNIlgLBvMPaKK3QQhOGM/MAjVFLo34Ceh2/UvlRjl//SjhVGOsNMWDVVgwrqtaT+8nF+ugQoordg4p3ePO5ZMoD/XRjHC3EXeoIR5D1RvLcujzc2JJFWuWaEPPjYIeNxwSHTUMyU8MiCDfjLij6sTOSQNFWphirfLMAoFVAyi6oOAwVax9J6Vf+j0CoIgiAIe5e+p36GYrGAUdc8CXek3Y4VBEHYN7nttttw9NFH22e7Dnkcd99l4x136CAI5fT399tHFpUi5tq1a+0ji8rzclatWmUfWfAHoFqUX6tMV+0HHm6sJ+x/5DctQc9DNyJ8zCfQdOFNdqywLzDMhFXrMX1CdwADph8LUy48vroPjy7ajPldeXR6QsiF/IC7BJfLhXTRh66UgWTRRMk04S+ZmN0awIePmIgjD2jDqr5u/HnRajy/fgDrMgZyhg9uww2PSucyi9palfW6Sh4YpphgC4IgCHuPUiaB3odvgrtlEto+90f1vyf5wU8QhJFLpcDwxhtv2EcWFD3+/d//HV//+tftmK1UCiKVgkk5AwMD9pFF+Xm1x3FZpzCyWXzllToIAnn++ef1hnWc3+VMnz5dxzvXuUt/OTx3rjtwfWDcf/7nf9oxFtzl/6yzzrLPLJy0/NHGgceMc9aZaj/wcGO98jqFfZ/s6tfR8+f/g+bzb0Dkg1+1Y4V9BWNDR4e5sqMD8+bNs6P2LJasuRXu9J9RkZ2ZAhZsTuG9DQPwevM4eFI7liXdeGpdEQkjBI9Le0ZFKJ/G+RO8+Mi0MJpdJRRNywKV//F1Y76I1zu6sHBjH4KhIGZPaMXBLSGMdpfgM0souSw/rC7TbolaBC0qWyYIgiAIO8a6q8MY+4V77LP65HvXY+CpWxGYfa78ii0IwoiHAsRf/vIX+6wxX/jCF/Dzn/9cH1OUqAU3pjrhhBPss/ppTf393uKoo47aRvzgzt2PPfaYfSaMNF4//HD9+v4339SvgiAIZEe+e+8p0oufxcDz/4PWK/8XgUO3FeeFfYNdL6za31/0JvzWEQzQXyq/9NhffIySTlCCS6dx8br6l1Ghs1jE0t4k3l3bh2yqgEPGNWPW+AhChqni8/jL2hzeS3qQd/tVMRkcEMziogOiOLYtCF9JlavQm/+z3pKqz+XS5a5J5vDK6o1Y2Z/G2JZmHK7KnR7xolldt2xki6qNqiWGW31BU8f0t6otWN2qJNVKVT/buKUPgiAIgtCAwX65y29ajL4nforIB65G5PSv2LGCIAiCIAiCIAyW4Saspt55FEkVWj/ze/imHmXHCvsau94VgH60niIlxUnTElQtpVNB4bMI/njMI74yeVGd9ZTyeHsgg4eXdOP5pZvREvLhQ3Mm4IRxfjSl4gjkizhiTATnT/PhpNYk5oT7cHwsgzNHGZjuyQO5jK7BNOgpVQUtkqqyVSVuFaaHfbjofZNx1sxJyKezeHzBejy6Jo6F2SIGVBuLWkC1G8W8pkfFUfJlrAosjME+FQRBEIRdQXbVa+h54HuInv9/RFQVBEEQBEEQhH2A+Kt3Ib3iFbRf87iIqvs4u9xiVVt30gJVC5C07mTgi4mSUYKp4rhFFY+p6xaKwJpMAa9u7MWKTQMYFQrjqKltmB5WBSTiupxIJAyvz4uCOu5PpZE1XMipvB51MVQqopRIwOfxIRRpgtvv1YIuoc9VQltTvd+/bpQLcVX1K+sG8GTHAAy/C8dNjOKIWBBjvS742VzTpdMbKr1Lt1P1ynSrnHZfSNmhIAiCIFSj0a/mfDQo/sIdaPnH3yDwvjPtWEEQBEEQ6vGs7QLiZPt+TxAEgQwXi9X+526DmUmi9aq7YQSb7FhhX2WXW6xaIqYbJRW0+KgCDVZN/T8/SpMGr6BolrAhk8Wz6+O4d8EmLO5KY+bkMTj7fWNxkCcNd38PwoEQYq3t8Hh8qgATmXwBpYKJVpcHowsFtKm4ADei8oVQNHwYSGVQKNLG1KqYOiotZtlJj4p1qXO2rFVFjIkFYQajeLvfh98vTuC3S3rxSm8OnUUDeZVdN9coqdSqTgrFFFi1MMt464UwxgmCIAiCMFiSbz+MxBv3oe3qR0RUFQRBEARBEIQRjlkqoO+JnwBuH9q+/JiIqvsJu1xYtSRNS2qkdWpJHXJDqaJ6NUzas5rYXCzh1e4cHlrYhTfWdGF0SwinHTIJs2IRIJFSeV1oam2DPxhQxbAsNtMFM5uF3zDg8XmRR1FbpPp9QXXNrT63LhjuEhKJBIqqMmajM3urPSq3+uNWR3QLkEQBCzozWDVQRDHYjE7vWPytx4tfL+zFfSv78HYii17TdgJgutXkcNP81WpLmahKnNOKaEEQBEGoCR8NoguAUXw0aMr77VhBEARBEAbDnKef1kEQBGG4UEr1offh78M1+iDtU1XYf9gNwio9k+bADaD0dk+mCXcpj5JZQm/Jhbf783hg6Wb8Zfl6BENufPjwyfjglBaMLRXgTWcRcBvwB4MwXT6VhxtcqQ+oy0CeYmmhAJ+7BI8q26XKo9Dp9qg6VCgVsgj7PSqugGQyri5RwqVTAhOlUglFlTefy6CQyyKVyiCRzqFouqCqg9ul0vhj2IBmvLQxgYcXd+Dpjl6sTJnImlqOVeXS1tVxMrAtIqoKgiAIg6X/b/+NwsBmtF/7JNxtU+1YQRAEQRAGS+yUU3QQBEHY1Tz76jv43s/uxK/vf8KOaUyhpwM9D9+IwPvOQsvHb7Vjhf0F99e+8pUb+gYGMGnSJDtq56HQSFEUhgumYSJl0o9qES9t6MeLa/rQVzQwc9IoHD2xBeO8Kl0ug2Ihh4DLQNTngc/n1u5ZuXUU5UyXKieTyaBUKiIQDMLlciNHtwBuN9xeH7zqNZfN65qDgSCSyRSyuaxOl83mkMmmVfosMuk88gUTBZVycyaHNakS0iU3PKYJV7GIFncBp04L4eCWIJati2NJZxpp1Y6g342AV9WlLWAtadWyhbVx1NayKEEQBEGIP3oTIkd9zDrRjwb9FEawGW2fvxcG3dwIgiAIgrDDLL/2WvT+5S9oPessfb7xjjvQ98wzcAUC8I0di8yqVTpu4OWX0XTssduk4XVPLKaPu+6/H7mNGxGaOVOnWXvLLToPz1mWk6ak7kUDU6fWLbey7tSiRYjMnavT1Cq3Wt2NypU+SZ+kT7X7VFx579bv3kPgI//8f/Gtm+/AW4tW4O5H/4bv/fx3mDPzAMw8oLZellu/AL2P/jsip1+L6Jn/YscK+xXcvOrFF180d5SSDvxbtM8siuqQoVQqmslSwVyaLZgPrOs3f/DaKvNf/77avHFJn3nj0pR53dtJ87tv95v/s6zffHZT3OxI58yMylgoFlReK5ilnCoxp0ovmn39fWb/wICuSV01e+Nxs3cgbuZyeTOXzZudnV3mmjVrzN6ebrNz82Zz2bLlZkfHOp0nlUmZ2XzWLBWLZjqTMzv7+81FPf3mrxYPmJ99rtv8xLNd5j8+t8H80bubzaWJrJlXdazIlMzfLVxv3vDce+bP3lprvtiZMjfnS6o17DF7bvVe/3GCIAiCIJSx9p9CZmHBw2b27781N33/GLPvD/9sXxEEQRAEYag8A+iQXrlSn7974YX6fNk11+jz3qef1ufPx2L6nLw2d66O23D77fq84+ab9TnjHXjOEH/zTX3O8ni+6Ior9DnjnTT53l4dN/+UU/Q5yyOd992nz1+eOlWfE7aDcbxGVl5/vT5nuwnL4jmD9En6RKRPQ+sTv3tDHe9MOPyQ6WbXy3ebr//pVnPqhDFmLBrW3+erhcSD3zbXXh0xU6/+XrdF2D8ZksUqXY1yQye9y7/6Z5RKepMoZ/f9ggH0F0t4pz+FZ1duxqquBMaOaUGwJYZFXXkVSujI+LEy7cbSngx6MlmMiXoxLuSFlyWo8ujbtGC4kVchkckhncvB7fbq/aMK+SwS8Tgy6RRMlbZQyMFwqbqLJlxuN1pamhEKR2CqvKbXj4zHj4TpQrZQQDqVRMDlxoRYBJNjAUwMG5gSKuLYcSEc2eJFq6rA7fEg4gHGhj0Y1RxGdzKHt9b2ojNThMvnRtALeFQfOQ5sq9V36A2vrI2zLDcF2q6VpzwkPBYEQRD2G2ixGjjgGPQ9+u8IHXUJmi680b4iCIIgCMJQoRsAb0uLtnKjtRyt1vzjxiE8Z84Wqzbut9F88slbXAbQSi58yCE6D63lmMcdDOo8Tppif7++znOWyzwsN3rMMbpc5uG+H04anpPgtGn6nOUyD8tlnvK6o4cfrstgGsL2s32M43WnXOmT9En6NPQ+mRsewY//zqeZh86Rsw/EFRd9EGPbW7RbgNXrNuFfPvNR++pWUgufRPyFX6Pt839C4LDz7Fhhf8SgxerKjg7MmzfPjhoEWjQs6Mf1TZN+TRlpoOgyMVAysTKRx1vre7CxdwCjAkHMmTgaaZXsoZVxLBjwo+iPwHS5UNJCZAmeTC+OjxVw6YwWTA+6UcwVUDDd6FPlrkwWsLanF1FXCQfHmtDiMeFR9eRyebhUGU1NTfB4VOGKdDql4tUED4dVnB+dmTxe25TC/L4ccqqm2U0eHDcmhLFBF8xSUftxhaHqU3nZhWwuh3gyg5LLq7tomEWEIgEkC0Us7VJt70wiqdp28JgYDh3TjHEBN0JqgaH/WCq+brgopepjXaJ2hyBqqiAIwv7KuqvDcIViaDrvBoRP/KwdKwiCIAiCIAjCrobfvcd+4R77bMfoiyfRfuzHMHXCGHzygtOwev1m7Wf1UxeejttuvNZOZZF48wFklj6P1s/+Ad4Js+1YYX9laBartlZomC6YcKHgMpBECR3pIv6+oR+vru5CNpvH0ZNH4fSDxmBUwINX1w7glR4g640ALpXPxZxE5Te8yOfzGO0pod1tIpdKI10q4O+b4rh3eQIv9QIbMiWMaw5gxqgmhP1+vSEVxU+fz6derQ2qXIaBdDqNoior4Pdgjcrz4NoUXugpYU3KQLGQx4xYAKODPuQp6pY88JhFuI08skWgP6Py593IFF3IlrgFlxvpTE5b0R6o6j1wbIvqr4GFG+JY1p1GTpXh87vh9RjwajGVPaKVarmYqo7LTwVBEIT9BlqstnziVwgdc7kdIwiCIAiCIAjC7mCb/Q12kIDfhwtOm4dNXb346f8+oOM+97Gz8Z0vXaavOcRf/h3ym5ei7Ut/hmf0DDtW2J8ZgsWqdgKAkukC/3EjqE35IhZ2JfDeul7kzSIOm9SGGWE/2j1AcyiInmIRdy8fwEMbPMh5w4DbhOky4CmoEkygYJqIlAZw/rgSzhrtR6yUw4DbjXs6Mnh0kxtZXwyBXBxnjcnhokkBxAygP57QYmwkEtFCJq1GXapNyWQauWwO0aYIFmeAe9bnsLAQUc124UBvHJcfFMYx7U263UaJj/QXkYeJ3pSBnrQBU5XlUnF0clAy3KpcEz7VyLagGzG/qkflW6vK/3tHN1ZuHkB7OIrZE1sxPeZDzO2Cl8arHCZ2zLFaFXFVEARBEARBEARBEARht7EzFquDof/Z/4JZMtF61d0wvJbrAkGwjEZ3CAM0FeWO/S51uCqZxUNLNuG1lZvRFvTi7EMm4sQxUYwppeEr5S0B0+XSPksDBh+6pwsAPn7vQlHVbhq0AS3Ab5QQdBvwqEINlxt+txttIS9ingIC+QG0efMYF/EhFgohFA5rQTUajerQ3NyMWHMMTbEmjBk3GrG2dphuP8aFAzgs6sZEVxpjjBQObfFicjSgO+2BCS+FT1V7RjUrUSih4Cqh5FYtduXgduVV/wpQTQLUNbongJpAPtXy6X4vLpwxDmcfOkWP4GOL1+KZNV3oLxRV21V6BX3P8p91xL+CIAiCIAiCIAiCIAjCSKKUT6Pnsf8HV6hVW6qKqCqUMwRhFdpC1MXH79Xx0u4BdKbyOPF9k3H++8ZinJlDumcA9Djq9/vhUemaVfpJYRdafFmYxQyNXnXevGEiR7G1mMVYfwnjte/TPFIlE/SaeniLBx8YBRwVjeOsScC8MSGE3G4qtXCrVwb6WWWwzl3wetV1Vw4D8W7EfCWcM7MNnzwoiEunenDmxAjG++k6gLXTmpQbT1EvNbTVKuPYL9N0oajaz1RsKa8WiwyqrbRAVRcCKhzWFMAls8fj0LERdPT0oTOR1jlUEdRgLViN/U8YOdC9BIMgCIIgCIIgCIIgCPsnxXgneh/6PnyTj0DsU7fbsYKwlSEJq7TypPRp2Z+aGB3yYnLAi5jLjaDHh0Qig2yhBMPrQ6mQR36gHxO9Jby/zY1xrgQC+SR8+Sy8xQwChRQmepI4epQLU0MGAoYBvyrDKBoIJxM4PmriUwe34INjQmhV9dFylIKX3iSqArNoIplIal+q0ZAPftW70R4XThoVwUltPoxGXiXiQ/4u0JVByaUSuAzdB4+pDimkMd7woWj4UaJdK3VU1a+MupZIZZBJZ7QLgmK+oPqWQ7Mqc0rIj5A3iLztfJZ/KclZwqzD9u0Vhj+irQqCIAiCIAiCIAjC/kehcwV6H74RgSM+guaLf2THCsK2DMHHKqEAaehd/f+6uhMr+ws4c/poTAu7kckV0N3VqWVEPpqfzWVhFExEmpvQa7jx7No+vLE5i96iV7sBoJXqYa0+HB5zY4zPQC6bh5kvIeDzIZNPw+Nxw+fz602k8kVTux8I+Lwo5IsomkWEwyH41fVCsYhUIqlfo81RLehmkmkEwhH4Az4kU2nkc/TJGoLH7dF+MaiDFs08EukMBjJAGj4U3G4VT72ZVrkluFR5HtXOoBcI07q2VEQun4fH5QZUWq/Pg7e6MninJ4Pjp8RwWCyoFdWSy4Sh/b5afltZl6uGuEqhmNawjoWkY4FbDq+VivRtu61c2xirTtUEy9JYtZvHW2Gd1ds1WLhxmLbmtTG0RbHq7bYVNaSynF2BY9VcD9aZU5+NbDarRfNcLodMJqviS/D7fQgGA3qTNJ/63NEKu/K9EQRBEARBEARBEARh77IrfaxmO95C319vRuyimxA6/jN2rCBszxCEVQpxlhhXUOGJNZuxoj+PM6aPwYyQB4lEUotTmUwaqVQKrW1tiDU3WyKbaaIrmUJXvoSU26MtOkeHfNqqNBcfQC5fRCQa1ZajnZ2d6jyHUe3tCIcjlvanqqU4ms0XkEqkkM2lEQoG4fUGkM5k4FHlxJqb4PGqsksm4qpM1tvU1KTFslQqjUDAj4DfjwKF12wW6WwO0CKpF/GCAVWKqoiuAOjMoAR3MY+w14WWSABhVT7hhlalUhFZisAuF17ZlMDC3gxOntqG2bGAymnCoOqs8psqC21iqwmYFBIp+vX29mLpshVIxJN6jCZMGI/pMw7QorIDhb7ly1dg0+bNtmipytRvhSqT/gzKUWUwxqX6rsdd/ceyQqEgmumLVo0HxUKKhlZ6FVQ6S9g1VZvYzlpipPOIvNUXlr9u3VqsWLFKjznF31hLDAceOF37waXbBd3WGvA6y6Pg29GxDqtWrkZRjQv98tIuWrdtCOgy3QamTZuGiRPHq3Mdq+PZdkP1sVgooKenB2vWWO1ft24d0hTgbXGVwirFVAr7waAfEyaOw4wZMzBlyhS0trboNlvl8X1k+fxjjYsgCIIgCIIgCIIgCHuOXSWsZpa+gL6n/gOtV/4awbkX2rGCUJ1dIqyuGsjjg9PHYnrAwObOLmSzOTQ1RbUlIIVDCmwej0cLrflsSluNur0hXVpJ/ytQCUMqzsfsCzpvOp3R6b1enxYFA4GALsNwW+JVvpBX6Sni5pDMpLW+2BSOwq/S06KQghjFMVohhkIhbXHY3z+gLVV9Xo8WfllWKByBz+9XZWQxkM7rx/kLWqx0aUtVVymPoNeF5nAAXgqwrJ1iZRkvbOzHW5sTOHFyK2bHgpTvGgqrliBnlbV48WL8/vd3Y8WqNTBU/KmnnoKPfvQjWgh16O3tw91334OXXn5ZW02yLBqvaj2voj120VvgZbfH0AJhOBxGW1sLZsyYjlmzZmHc+AlaaLbao9qt0lr927bMrVCctI6YjuN7//3344knnlTvtWVJPGbsaFxyyUcxZ85sK2EdLOHVqu+vf30S9/7pAf3eutV7rSuq7MwgKRYL+jNw8Ucv1uNJKGQTfibj8QTmvzUfL7/0Mlav6UAuk9cDpVvCDdTsY6sJliBLr8IU5inWnnDCcTj00EMRDKr3W/eBJVv9EARBEARBEARBEARhz7IrhNXUgr8g+eYDaP307+CbfpwdKwi10brcjmOJcA604KSVYW9/HxLJhBZS9U79sZgWpBKJhBZZaQloer0oen06vckn600DRdWMEtyIhqMI+Pzo7u5BJpNBS0uLCjFdRzwe10JrIZ+DoTK6Vb5sno/lmxjXPgYHTJyIpgjF2pIWTfv7++1HujMYGBjQFp+0WO0fiCNfKCLa1IyWWKt2OZDLZpFNpxH2uhE0ivDkk2jxuzA6GkR7JAhPMY+8uk7xzJLNKLJtK/rVMcosG6nq0KLTq8YlaFvTetyVj+szjQGvh4+iB+HzMfi1xSlFYYrGFKCdYFlZMqhjVS5FStNwI5PNoau7G4sWL8GDDz2K/77tDjzxxFPo7umx+qYrpeVqReXbYIuOdgNXrlyJJYuXwu3yqrYHtWuGvp5eLFZ1ZDM5nWawUDj3+dlH9svqg1cHnrNf7J8TpwKPy4L1uL4VPDqdJbITiqpsM0XV/r4B/OWxx3H33X/CkmXLdX99auz9QT+C6jMUaYpqcZ+WvZFIWIunFPb9voD63AILFy1Wef+I5557Xn++LItchnrjJgiCIAiCIAiCIAjCcCX++p+QXvw3tH/5cRFVhUHj/tpXvnJD38AAJk2aZEcNBkqFFEMNrOhPojOZx1i/F8F8SltEtrZymylbDPR6tVUjhVG3y4VgKAS32wNXiT5MaRVIRc+lSuM/QwtoyVRSi6iOpaljrZrNZLVYSvkqp4774wmEI2E0RSNa3HV7fNqak+lZL0mn09qtQDKZ0gIar0ebouq6R5dDwZfCr9/nhV/F5VR6n9uNSMiHoNcNr8cNs1jQlrEejxd8/JviLR+/t9puYG08g03JHCY3hTCGzlgVhhYn1TjxxfpjpbdxhEm+9vT04r2Fi7RFLWOnTp2CQw6ZuaUPJJ3OYtHCJVi/YT2rRDAYwvjx4zF69Gi0tMb0o+kUovna1taq3wMet6rjpuZmhNT7QjHW8jdqaMGRfmeXLV2GuKp37LhxWkx0cNpXSbmlLa2LX3zxJbzz7ntwqfeU0P0ALU75mP2ECRPQ1s7PAvNUL8/Qbgx4zcCqVau0SFssqfdStS+m+jN6zBjEYs1otgPdDFCwZ6Do7hxbgWI+QxOam5v0uBx88EEYp/pm1UUL2xyeePIJPPXUU+q9N9WYWJ+tUaPaVdqDcdjsQ3WgNe/MQw7GAdOnY9z4cepzG9S+dfn54+eXIv2GDRt0vZMmTdTlC4IgCIIgCIIgCIKwd4g/ehMiR33MPtsx4i/+Bvm+dWj70oPwtO6IPibs7wzNFQCfQYeBguHCE6s3Y2lPGqdOG43JnjxchluLq+VQWKUIxceox4wZrXLSryZlRhfVLhalSqW4ZupH9Sl00hKQ4hrFVQqlFMWo6ZuTmTQAAExdSURBVA3Ek+jq3azOS/AEoohGo4gF/XpTJ4P+UVUi+j+1/LxmtBBIMc2y5LTcAdBHKS0rKQJmVRqXx60tbFPJFLiJUcDerIjiKykVixgY6NfiIa0Y2X9rEymXFiqfX9+Lt7qSOGkyfazy8X3V0DJXAEyn/YXqPm6FbWO/li5dhnv++CesXt2h23/SSSfiwx++QFtKOvT19uPee+/H3197DfT9ecghh+AjF12ICRPGIV+obxlKK8tMOoPevj50qPf6vfcWahGT40O/qKbq31FHHYXzP3QuRo1qs3NVp1xYXbJkGf74x3uxavVqy6LTr96HUkmL2RyXM888E2effQY8arydvm6P9VlieObpZ/HAAw9q6+JAKIhzzz0XJ554nBa1We12uasVZzXPuqYyWe+jV9fPNi1Y8J52qbBx4yb9mfCrdh9++FyceNIJmDRxot4crRpZ9blYsmSpauMzWLJ0qa6H4v7sObPx0Y9+WH2ux9gpBUEQBEEQBEEQBEHY0wzVFUDfUz8DvEG0XaXyVtUtBKE2WvYbCvbD8BoKVxQO6R/US9+YFVDUokDKR6bTqSxKFEANN0wXc7EUyqpFFUrI5ij2lbQlIIXFZDKp/a3SjyXFUm6O1NzUinyoFe/EC5jfn8OmAlAy3SgWijrtwIDlNoCiGi0329raQD+tfMS8paVZC79+fwAJVfZAIq6tVukuIJlOo6DqtjaV2jqZXG7u/u/X9XOTLLoSoNCWzmSRUCGdK9jCX/UJuEumJQuxC+J4Uhz2B/nIu1uPU70QCQfR3t6CA2dMw6kfOAlXXPEJnH76qXqjL/2+qfflzTfn45VX/q6tUBtBgbSgxmDRwsXYsGGjKsPQAvdRRx2JyZMn6/GjZeeSJYuxft36LXkaovtopeMLN4yiJXFEvV/RSFg/lr9NUPHbhfJrkYj+DDiiKlm9eg26u3rgcXthqnbOnXMYLrjgPEyZZImqemMyHdQ4qz/sC/OzHbMPfR8+9KFzMXXKJPWZKWihvWNNBzo61uqyBUEQBEEQBEEQBEEYGZQyCfQ+fBPcLZPQ9rk/btEjBGFHGLKwSjHN+chRfMpkcjDVh5C+LcuhKEXLSAqrseZmLXymUxn7Iv9Q2mMzrJDPWsIeH89mHoqg6XRKW5omEgNg8Ua0CW+k3fjTeuA3S5J4aEUP1vQOYCA+gGzO2qyKYirzsn6Kqpwf2SwFWlWLFtlMLTqOHTcebe1tWiikGEghl4/mJxNJ1c6Utr5MqNciSkhns9i8ebN2a0ArWAqtdG/g83ng0n42dyeWAL01qL/sjMIS/7YNKpYpdDBN1fpS0bqm0kbCIZzxwdNxyiknqbEKaBGZfZ//5ltYsWIli6yJI5BSUFy0aLHKl2UNmDJ1Ck479QOYefBB+r3jGFNwXErrThu212lzNcov8Zj9ss+GFNhfWuQ6babgvmnTJv1es+ympghmzToE0UhEp2VgSloya8mf7h7svE5bpkyZgtmzZ+s+koT6nHRu7tLHgiAIgiAIgiAIgiAMf/K969H78I3wHXgSYpf9wo4VhB1nSGogZStLWqUIZT1m3t+fQCZbQK5YQl4FLUSZlqjK9B6vXz92HQz5kcqmkM6mVf4i5SsUVQLarBZo+Vkq2kKlyqTyBwN8HN5AZ2cXn8BHJBLFplQOL2/KYLkZxSpXDK90ZrG0s1+nD4eC2rqQJoe0PFR/QR01EAyqNvGxeNW+Qh6JgQF43R7dJvr09LgNxKJR7QOWj9on4wls3LgRGzZtQE93NzKpjHZlELA3jNKbczU3waPqGigZSJVcug/EGp/dixYo7YrYP1qdlgfrrWV71PtUfk0lZl6KqUcfdRRmzXqfGhc15qpfGzZuwOIlS/QYEUcI5b9yKFa+t3Ax1q5bp8o00KTG7X0zZ6KtrQUHHDAV48aO0e8FhWlulLVp82Y7J9tpjVEtrNqc+ramrSfI1oJ1lVen3UOoz6olRJv6feR7Sqw6rTpYFfNSLHfay1enDRMnTtA+ibVfV26upq4VCuWWvlvLEgRBEARBEARBEARh+JDftBh9j9yI0LxPoenCm+xYQRgaQxJWy9UqCnSFPB+LdsPj9iART2JgIKktWPlYeTaThtttwOP3omiWtDVp0B9EOplGLldQZXETLMu+ktamLNrv82tdihsgxeMDur72UaNB/60U60pFE0HDg3CpgGAhh9ZACBPGjtUWqAPxuLZspXjqSFv0h6p3x3e5VR059PX1I5vPaZExlU6jp6cP/b2WFSr3UuJj5KNGj8akyZMxfsJEtLa1IeALwqvaUVL54n10NZDR/VmWzOLVzhR68gYMNQa7X1Dj2NuCn974iWx9P6pDgXHbNBQJm5qbcOihs9DU0oyCGsu8Gm/6eaWIbaey69g279qOddoNQDqb0Y/MTz9gGg46aLq+xo2cDjxwhrbk5b9VK1di2fIV+hrZXiB1BGAbXV1ley1x2Eq3Y4HlOGXRZ69laUpXCh69odnmzk5dJT9blvjMtKYWVx0qx27K1Kn46EcvxhVXfgKfuuITeP/7j9AWultx6hcEQRAEQRAEQRAEYbiQXfUaeh74HqLn/x9ETv+KHSsIQ2cIwioFI5d+7J9iKDehoqDq9boRDnjQ3hxBwO9BKptBZ3cnUqkEPEYJrhJ9q5ZQVOkprtIvazyZRiZX0JsrZfMmMgUTpscHw+NFoVBCPJ7QO7FHomE0N0fhcruwYXMnPJl+HD/KjaPCBRzmSePYVgMToh69c3usqRkFVWBfPx/nH0A+V0QuW1R1JZEr5bC5tw8ru1NYXQxiUa6EDarOvNuLSNsoxNpaEY2G0ByLwuPzaBEuoNoTUe1tagoh2hRFU3OrtZlVTze6Eim8uSmBhT15FFz0M8sHyEmleLir2bnyy4XCiRMnYcK48do/Ld/b7u5u9Pb0WhfLKK9x0eLFWLN2jbbo5NjMnDkTo0eP1te4idUhh9B6tY3ypH78fvGiRer96LfrrRQcq/fFshq1T3YSR8yl79X2Ue2WT2BVdiKZwt///jreevsdLbA7LgLYzmp1sxxeD6s+T506GQcffCAOOnCG6nu7/oFBEARBEARBEARBEIThSXrxs+h/6mdoveoPCB97uR0rCDvHkCxWjZIKpvXgOzf44WP2wUgAmQI3dsogHPKjrTkKn5v+Vj3IZotI9A+gyMewtYBnIhiOoOjyoiueRncih854BvECkFXpk/kC+pIJmKqCaDSi8qjz3l79yHosFkXM78JR7V5ceWirCi04ssUDd44WsFn9SLbLo+p1G+jq7MS6teuRUHUUVJv7VHdXGhH83RyF+zt9+N2qHP64JoNXBoCkz6eF34IqgxsT0UkBH3nXfgrUK6U50+VCULUn1h7TIh39yQ7kTKRKPrgMrx6TcrY9G1444iofZ6d1rlv7RTWQVOPe39+vr+k0uhNbe7Ju3Xq899572vcs4ydPsQRG4giYU6dOxfQZ022B0sDy5SuwcuUqfW17wZJ5ykZKXXeETbpkIHyEfyiBm5I5QimhUD5t2lTEWmMo0v2B16fatRq/v/MPuPvuP+Lll/+ud/7fvLkTiURCu7Hg58kpg1apjmUq+2r5cKXvWn6mBUEQBEEQBEEQBEEYjiTffhiJN+5D29WPIPC+M+1YQdh53F/7yldu6BsY0D4jdwRKYQXDwIq+FOL5Eg4aE0MAJSRyJkxvAKlsHm4YaGlugS8Y1o/jU6ji4/bcIijPx/pLLqTyQLZoIgcXCipHrlhUabLwutzwe73IpFNaMKUlZDgcQYg+MU03MokMgvkUWnwuZNMZDPT1wWOa2oqSomgwFEBrSww+T1D7Zs16PZjfX8TjG4p4KxtCR8GLTaqtq5IlrOlPw+MxMSrshq+QV8duuGjVqP65VDBdKlDw4x9VmKlamkpmVR+L2JA3sSyRR3PAg7ltfoz20x2AndZQY8EX9c/Ced0KBbuenh68995CvUEX4QZJtPqkZaUDx27hwkVYt36DFnzHjBm9ZeMli+3LHgwUGzds3Ihly1ZoAZGWq5MmTdCP81tlWuKmI06+/sYbePXVV0E3D3xPTjh+HubOnaOvOWn8fp9+zyimZjJZpDNpRNV7N336dNUna9OnrfCTxHwGVq1ajcWLl+p2uNT7zx39E8mkdk/QsXat3gyrY439Wi2oNHRTwJ3/16tx8vv9aGqK6locotEmLZquVWkp3Hrc6rOkxpabcb3z7rt4990FWLhoIZYsXYrNmzajT32uEomULaRaYavAagnC7LbVd6v/giAIgiAIgiAIgiDsWeKP3oTIUR+zz7YSf/Uu5Na+jfYv/Rnece+zYwVh1zA0YVULhiUUaQHal0J/toRpbREYbi/e6MriVRU25kw0h7xoCdF3pWFtFBT0w6BVZLaAgXQB6ZJbW62WXG5VngrqGkVXa/f6Ik0WEfB5EQoFtS9PinS5TA65nGX1msskUSgWEI40wa/qptAXaYogqOqiP1VaYHJzKopn73X24y9r0liSjyIfCMPwuOBy+1D0BZEwXehPZtHmMzAp7EPA49HXWYdRMlBQ7aH1Y0G1O5NJIZOnC4MiSgV1XaXrzOagWo/D2kPbCKvaMQBFty2C2/bC294WVsm6dRv0Dv+01KUAPmP6dBx88EH6mqWVqn4aLmzcuAnPPPOstlqlsfMB06bhpJNORHNzk06jU7LLKpPfH9DiJkVbWjXzfZo4YTza29u1OMk0VlrmYyWWsMp2WNeBtWs78NZbb2HBggV49933VHh3i/i5fXhXp2OYr/IsXboMk/QmUxN1uwjLpVg7duw4bYna092lLVtZt8tNi12Xdj3R29uHDRs2YPmy5XjnnXe1he6CBQuxbNkydHf3aJcBbo9bvz/022pBK9uhvweCIAiCIAiCIAiCIAydasJq/9/+G8V0P9r/6SG4opYLQ0HYlQzJFQAVMe6BT0mJWhJFs/5cHm/3pvDI2jj+uCaN+1an8FZ/HimKdfks8pksCpk83IYbQX9AP65fNFwosQAGtkSdmy6Piveoc68Wu3KqXG4URb+mFLECoTDaYk0Y296MCWNHIxr0wY88/D4PsoWiFsaowlLiokhL68d8MYd4yY1+dxgljweqBrhVH0xVH8UwlzeAzQUflg8UkTbdemOjUjGPfC6rfW/GEwm9KVYql4HhcSMUjqCttQWeUhFjkMXclgBa3YYWEPnPERlHCvRdS1FRC4Oq6Rwzip4OjmC4ZOkSrFrFR/oNBIIBzJo1S4uXFlYaOyna29vwvvfNRCQSUWW7sXHDJu2blYLmVlHVSluOJUJbF5jPoz4nbjeDRwePx6fjtg++inRe9XFyRM+tUCBvbY3hggs+hI9+7GIcNudQjBrVrjc+c6s8zOv1+uDzBdSrX7chnkhiTUcH3nzzLTz40MO47X/uwG9+cydeevFlvRGabnW1zgiCIAiCIAiCIAiCsOcpFdD311sAbxDtVz8Kw+8YpQnCrmWHhVUtG5ZrSKoEw2UiVyhiXV8GG3IeZEMx9Jb8WN2TRWdfEslkEvF4CgPxNPr7E0imkqBvSlp0sigt0ppaBrXKd3lQKJooqkDLx2AgAJ/Pr60NoeqyNsFSKb0qLtSEdC6PfDGv49OZjCpAlasb6UYynUY+n0PB40XScCPncqNgqPLVMd2nuvjYuao7p5J3pjLoTeaRyeQxMDCg/Y0W1WRkG2LNMbQ2NyHkD6KYLSKTSsHn98Cv2hN1FRDxubUlaTWqxw4fKFprK2GOm2H5Et1WJ3Tp3fMXvPceEomkFkXHjxuHAw+cri2QKZbSipMbjlmvBZ1r2rRp2mKUZRfUe0D/pXwEn7B81rc9fNzecj/Q3NyM8ePHY5yqa9y4sXYYUyfw+jidZ8yYMfpzU85WS1l+rnx6N/9PfeoT+MdPX4kLL7xAW9/OmTMHkydPRmtrqxbQvbbAyuDx+uBxe7Xl9ML3FuHue/6I++//s7bk3Rb2a7i/64IgCIIgCIIgCIKw71FM9qL7oZvgGXsIWj99px0rCLsHY0NHh7myowPz5s2zoxpDq0wDRdCL6l87urGyK41jJrVjY6aAP3dksSlrYLQnh3Mmh/GBiVFEjJJ+pN4wXaAxaipfQFcqi0TRgGn44GI8ZVHDVMEFd7GEEAoIuUvwq0C/psUCNwoytbDKR/v5aDp1OVoUUojLZtLIqnJNjx/haBj+gF/7cy2kMmiO+PFaErh9WQ4r80EYXo+WvVRRKrA3BYQLSRzljeO8cSEc2BqF21eEV2/oRJ+glH6BQjaLZDKlex8KqfIzWQwUing9UcLqRBGnTIxhdsyvR8goUXG2hGJthVnFotER+vjY+j1//JP2JcpOUeD78Icv0FaUDvT1ee+99+Pvr76mxcvZsw/Fxz52McaNHaOuWrUMFkfQdKwsH3/8CTz40COq3LwWVc879xycfbblzJlJmeyll17B/fc9gHg8zkHHzJmH4Kgj3w+/36s3gtqK1Ra+L8VCAa+9/gYWLHhP1+nzeXH+eefgtNNO1ems/jMP/xh4+uln8MCfH9bvGy1iz/jg6Zh37NHIq3btCGyzSxUcDofVGG4rrjYiny8ioTfwGkB3V5cWlHt7etDT06sD+5/NZnTaQrGo+l7CB045Beeffw7CodB2YysIgiAIgiAIgiAIwu5n3dVhtH/sh+j7608QOu5TiJ71TfuKIOw+huRj1ZKMaDnqwvL+NAZyJRw2pgnTYwH4TROjPHkcM96PI0eH0Gr7KqV0SrGL1qOpVAq5Eu1L6ZmU1ylcUmQ1tOWql4/ql/LqmK4DTHi8HgQCIQR18MPr88Ljtnax11avqkFsEzfMWt6XwZt9OSweyKA3nkHE7UbU70JelbkxmUG3CqAwa7rgof9UlTGn6prkzuOEUW7MUW1uivi1eEu/ryXT0P5ds+m0tmDlZk/Rpmakcxlk8nkYoWasThbRl8nhgFgQYwLW5ky0mNVGszxm62oIbRTgdszH6notMFs+Vt+3Uz5WWTfLfXP+W1i5coUWBcOhIA4/fO6WzwObTVH3b88+hxXLV6mx92vXAYyz/Jm+jbfffndLeEuFd95+B2/Nfxvvquv0Scp6nLoo3E6ZPAmRSFTFWZapVtvpY3UVFi1agkK+oEXYI46Yq61iKVjuUAiHEFKv3CjLEm8tK1WOm2OZ6wigzivTELfqGy1dYzFay47DgTOmaxH7sMNmY+bMg9HW1qY/vwPxAZXHpa1zU6k0JkwYj9GjR6k4XcyW8gRBEARBEARBEARB2P3Qx2pm5d8RPftbiJz2ZTtWEHYvO+wKYCuUCw0ticKgeFVELJ/ESTHgEzPbccb4GMZ7DbiLBUtkVCmz+SwSiT54VPr2SBgRj1v7KaX1KzcxcpdK6ryAkMoX9ntUOgO0Vs1m04jH+5FIxvVmQ5SsKHBSAKNVYliVFWtpQdv4cVjrDuCRDQX8cVUWz27OocugR1UTY9wlHNfuwSGRHAKFpKonD6+ZR8DMYIzZj7nNRRzY5IYrn0E+m0MmV0IubyKbKyLeH0c6mdCbaEWbmlR7ssjkC8h7vEiVaO9qjQSHohy2c7jLaxR1N27YqN0umOp9ampq1o/Bl7N06QosW75SC6p8S0pFNTZ0v6DeC4qghZwKfFWhqI6LauwK+aIaRyuOG2IR+shdvXo1li9foc+3//hRgOUwWsInfb1W4oiitYKDc+wInCxr7dp1mD//bR244RX77viWrZa/PI4bo1E8PeWUk3DxxR/B1KnTtKhK8bu/vw+bNm3W6Yb/Oy4IgiAIgiAIgiAI+yaxj9+K8Imftc8EYfczJGGVUpNlgwp4SurIdCNbdCOdKyBomGh2A/5SgU/CqzQe9ceFTDaDRHxAWxFGmyIIqdfWoB/NATd8RgE+M4tAKYeo10BLyIu2aAjRcEhX5lL5g6GQtmLUj9/3x5EYiCOTTqOQz28R4FJFExsKHnR6m9EXGouOQhDdBROBYBgt4QiOGteCc6a24OjmIg7x9OMgbxzHRnL46AQ3jo+VEKAVaq6EZLaIZCKFns2dWL9uPQYScbj9HrCWgb4BHegRtuD2IENRzkW3BBRXa7BVrxsmUMC0WtvRsQ4bN22G22NZd1Kgbo4162tkQI3ze+++h96eXv14P62FW9tatXUmd/hn4OZPo/hqn7e1t22Jb29vRay5Sb/v3Ek/EU9oq1TuvG+JkGWjpg+3tq3auPFaveBQfkz4GXn99ddx++2343/+53/wm9/8r3ZRUE61/NbLtiLrlCmTtbUwxX3GcUOshPqM0EUDqaxbEARBEARBEARBEITdy4Rbkwge/mH7TBD2DEO0WKUFKu1MiQmXYSKVzaLg8sITCmvRsWTyUXqPfhw+m0whnUggEAgiEmkGH6E2TBNBL9DsB6LuIsLIIWimEXYVEeAu9apkbjDEDYy4U3sqmYRZKuld5puiUS1q8RFsPj6fTCT1Dv5eo4R2VWaLmUWkmEC7r4AWPwVgE9lsHvmBJGb4DJwzJYyPHhjBp2c147Pvi+H8qaPQptq9puDGQgSwwetH3udSdRTR3hbB6DGj4PUHkM3lVX39qsuq9y43svT7yk2wthhWbiuoWQK0Yi/rbI4oWC4OEoqbFBf5WL9b9YfC9bSpUzB61Gg7BbB8+XIsXbFMvY90/WBi5iGH4LJLL8UVn7wcn/zEP+CTn7wMnygLn/zU1sDzT33qk7j8sssw65CZVDf1WCxbvgwrVjhWq2Xopm1t49aW7jy0LI2qz42L7h3UBzcRT2Lzpk5teUvKhmULlkDqhK3jSGgt7fV4t7Z1VzZWEARBEARBEARBEARBGPbsuLBqgk/+642f9KkqIV/IoJjLwO8G6FKVYpOhXwtIJQeQTcURCYcQpj9Qww392LzLEquMUhF+PpIP9ari6FPVpPLFy6zL5UYkGkVzc1SLp3zsmpsG0YcmH1lvaorqcvrjcZSSSRwe8+OUVuCEUApnTwpgRpNXi2i0lPSqRuddHqzsziOVKWJiyMBYtwl6Ml2WAe5bV8R/vduP3767GcsSJTS3j0KsOYag14eQL6D9rtKac/TYUdqPp1eVpa1yVVuHu5GiIwBSLGRbc7kCXv3763hvwUItqnLjKu6kf+BBB2o/oySpxpPCa1dXtz6PxZrw/iPm4uCZMzB12hRMn36ACtPqhmkq3cyZB+HwIw633ivTQE9vHxYuWqw3ArM+glsHj83cavFpf8h2EfSbGggGrfJVWL1mNdatW6ev0V+vM0ZWvU7YFual9Wtff/+WTbXoTiASCcPjURNAEARBEARBEARBEARB2C+wFLQdgaqqfije2naKCmo8lUE6m4ZZzCGXzsAsFFHM5zEQjyOTyyHa3IRAKIAShStbqzJt4YrCKnfmd7tc8Pi8KBQLyOWyVhqDtqbqVV33eb1oiTXrXd65idRA3BK2PCq+qakJrS2tiASDmBgATmgBzh7nw/sCBZT6e8BNiygK0tp17UAazy7djHfW9mMgU1ClGxgoFbCwN4MlmTA2esZhadyDTWkTRbeP3l+11S2tY+lTNBC0Nm/iRlw+uOEtAm7dLas/e47yR9+3CpPVYDqKf4SPrdPK929/ew7PPPMsUhQ3VXZadM6dOwfTDzhApyPLl6/EkiXL9PixjAMPmoFpB0y1rzqwz/w8VA/cLIoccMA0HDBdlU1NU/1j2atWr9HXtowbr/E9d0639G+oWG1z2jBu3FiMHTtaf8ZobUp/ry+//Ire7Z9Y9ZW/h1vrLx/DpUuXYuHChdrHKj+bFIzp+oBsFWcFQRAEQRAEQRAEQRCEfZkdFlYpG/GxcAqsOnPJhVC4GbHWNsDjRzJXQG/fANZv2IxEKodAuAkGBUruyG7lZi4Nj7KmgSw8KLo9MPlotYs78VtpuKEVxS3tdoDimAFVVwSRlhbkVO098QRS6bQqm5tfGQj4/Ii6XWguJBHK9MOTy6uSvXCpuvP5AjL5HJo8JRw+JohD28KIebiDvypXtcHrMuB35+D2pOAPFLSbAm7MRWktk8nrEPAH4fP7YRZLMHM5lPJZuFS7nEHc2rNqVLm6RTgsu1a/ENUeCqrWbvSJhOp/KoV4PF430E9qT28v1qzpwN///ir+8Ie78dCDD1suADxu7WJh9uxZOOboo7QvVMId/BctXISuzi4tIjc3N+GQmTMRa6b/VTbSaSj7wBGoFSxL0FgspvIfgqao+jyo8jZv7sTSpcuQ135J7XGwi3SsR+l2obu7R28MtWnTJmzcWB42lx1vrAhW/IYNG7WITGGYjB8/ATNVG7gRFWMY/9JLL+P++/+MZcuWq/FMatcAhUIJRfUeU4QuqvZxrLPZnC7rjTfeUmP3CFavWq034zLNorbKnTRpoq6DaHFVBFZBEARBEARBEARBEIR9GmNDR4e5sqMD8+bNs6MaQ2+b3Om/aBj46+pOrIjnccb0sZgRdCGXz6N/YEBvKkUhEhRUTRNev1dbRXo8BrgZFQXUzkIR73WnkMmbmBIxMDHsA/JFGKUSmiIhbbFK0ZO6GMVcSlX9JWBNMoe+dAF+dT7KXUSrt4SA24NiAXpDK8MoobklBr8/oHenp1iWzmQQ7x+AmxanoQi31EJL0AufakeqCLy0eQAvbUqjp2hiesyDcye2YGrYi0yxiIGBFPxuN6JNIapxyCdVWemkKicEdziC59cOYFlvCqdMbsFhMdUH1VKjpPqohWGKs5bVqz7WBxSL9YuWFGkBec8992LN6rV6rE466UR8+MMXIBgKMJWmt68P9933AP7+99e0oEe3CmNGj1Jj7FPjY70fDpYcrMrmuKny6Bs1XyhoNwq0zqTIzDIYaIU58+ADcf5552DS5Ek6PYXP995biHvuvhfr168H3TYcccRcfOTDF2rLTN32waKHQJWpyqBAyn6+8+4CXQ+tWD/20Y+oV8sK9qmnn8EDf35QvWdsnwdR1cdQOGyVsbV7W1Hx1khWtojCLF1U5HHkUUfgtNNO1T5RyaZNnbj/gQfx1vy3tAsEPT7qPW5uacbUqVMxZcoUtLS06Mf6KShTfGV7urq6sHzFcqxevUZb+brVZ9lU+caOacOHLjwfc+YerltB21gX54ducLVGC4IgCIIgCIIgCIIgCPsCQxBWLYHTElaBx9dsxoqBHM44YCymeYropy9Tn0+LYhToSoUScvkcsrksigU+el9S193ocwfw5Losnl2X09aBx45y4UMzWtFsZrWQFYs2AW5VARUyCmWqrL6Sib9t6Mdf1yTQmTXQHvDgpLEhzPFn4Uv26jr9wbAWvUKhgCVtqewsgpabuWwOfn8QGdWWgWQ/ItEgmkJhZFMFxHMF5ClS+v1wFYsY41Nl+DzoTcS1+NYcDWsRMplIa5E2EvKpOsKqBjee29iLtzcncOKkdsxuoYBnVhFWLZFNR9kHtMylyLxkyVLcc/cftUUp0594MoXVixAKBvU5+09h9U9/uh+vvvoqfD4/6OeTflFL9Eera9C9VcH5a8G2O9CFAcVU57F2bgI2Z+4cnHLySRg1ul1brhoqnuP05wcewlNPPa3riURDuODCC3DiiSeo8igaqjJ1f7bWWR1LVCe0siVPPPEkHnr4YaTSGXg8Xpx37tk4++wzVSkGnnjqKVXvg9pilO2j4FnizmD22PGN3NobhYov05O3gfXms1mc+oGTcPHFH9E+eWldahhuPc4PPfQoFi1aZJWpCi2oz2ZR9ZViKut20V+qyxJWdTvUNdbuiNGUT8e0j8GZZ56OI48+Ah7byrak2sPx4ZZp9cdGEARBEARBEARBEARBGMlYatdOYGmHBjLZHBLJJAJ+P6KRqL5GMcpwG/AH/Fv8oDZFYvB4QljXn8Mb3TmsNaLY4I7gnVQJa9I5ld4S1NLqOJ8vIpPPIKsCha/VfUm8sCGFRbkIugOjsSgfwrPqvN/wYfLkCQgFA+jv7dOWqWZRNUy1i3JYItGPYjGL5tYoos1hjGqJIdYcRU6VuWFzJwYSAwiaRYxCAdNDPrQZQC6bRV8qBRRMNAeCcKuSEgP9up8h1ZcAhTrWodAPvG/R0KqLaVtlNubZ6veTaKGTflvVWHG8eO5g1UBswc9FYc/QFpV8pJ3iLkXDYCioLVytwOOg3qgpFA4h0hRBc3Ozfoyf1piTJ0/GccfNwz9c9g+46MMXaFHVEg4t6Pt0ydKlWnCk0Dpt2jQceOAM+yoj7deGQaHSsuSSGl9y0EEH6sfm3aqPxUIey5Yv1Y/vE4qrVv8oALu0QO9X76lf9ZPWx/pVB3/Fq3PshIAeG/rDpZW0A4VRtmPy5Em45JKP4PTTT0X7qFHaty/ropsHt8er+2wJ1xRUVT9UW91et7rOND71GYpi7uGzcMmlH8KRxxyuPwBF9dkxDO2RV/1znEgIgiAIgiAIgiAIgiAI+yrG+o4Oc9VQLFbVP0plf+3oxKLONE4Y34zDWv3wefmAvqGS0XqPaS2JiekpwlKLLBkG3u1N4q6Vcbyb8MNdMnFgNI+LDohgVqCEZM8AvN4QfEEfcmYKrgItKQN4oz+HP64HVqAZLo8L+byJiUYK/zjdg5PHRrSW193Zpf2Ocvd+iorZbFZbLoYjYXj9Pp2G1pOJVAb9ff3w+1Sbw0HE40k+O46IykODxHhyQFuUtre1w+/1oTcxgGIxj1ikCR51ToFO2yWqvry0sR9vdSZwwsQ2HNbC/m9vsUpxjnVTZuQBLS15xaX+dW7uwltvvat9nnK8Dph2AGYfNgs+n0dn4filVHvfeftdrF27VltN6qIULNt5Ryzs+nik2k/Bln0MBkOIRi2BtbWtBS0tTToNYT+dPGzmkiXL8S4f12dT1flBB8/ArFmHaGtOllku/A4WJx/dELz99jtYsXyljg+psT/88DkYP348lixdgQW2mwBuZrZ1szOnvm37ufW4OvSResD0qTh09vv05mdWeVY7GNi/9es3YfHixVizZg26uruRTCT15lZM6vzqQDcGHMOWlhjGT5iAgw6cgenTp8AXoHVyyRo/9V5bMj4leLfOu+OjJAiCIAiCIAiCIAiCIIwUdl5YXbMZS3uz+OD0cZgZ8ehHt3mNT34znanFJvW3aCKfK2i3APlCFvES8HbSjbd7SvAWi5jb6sX7xzehLehGOp6Cy+VFIOxXufNwqbyFogtv92Vw/8o03k57UfC64M6XcGjEhUsPDGBWs09bGOYyGT7Brd0OJPrj4KPfLW2tCIT8KPJRcNUml4rr74ujv6cXbe0t8DdFEI+n4TMMeD0mksk4NqzfAL8viDETxiOl2m0YHu0OwOdRHStRVDVAxwYUAF/c2I/5nUmcOKkVc2J+3d+awioVO3VI0ZnQn6y+7nLr8y2YLL0C1W6deadRg69VU4Zy7PdW12NtYmXB9JbLAQur7YNri5NWQTWZWbbpB6+rvtIy1MU6HTlzV6HK1W1nPWVtsRqi/rP6WSqqzyQ3Q0ul9MZdFGXZJgqwfr/6LIaC2hKbriasNnJMnPJYljWefLfpHsJxfSAIgiAIgiAIgiAIgiDsmwxdWDUtH6sUVpf35/DBA8bioDB3mGcaWlGWwMfduYlVNqcC/asabni5C30hj6ILKIabkIYbAdOEP5eGV+UJhyOID8RVOSYiTWHkCjlkUxkUVGX5YAjvxgt4fl0cXekCWtwGjp/cjHnjQ4ipvJlsEfFEBqGQX+/y39vVpeUufyQCXzAIn9cNj2Egm8lr8ZbuAYJNQf0YeLIvqTc4CkYC6E8MIJMuIpfMIJlJwB8KojXaAj9dAngM7U+T5remy0RKtf/Jjn4s60ngg1PaMTtGv6gldZmPg1tiniWs6kMrqGM9TOovUxXSCWR7NsLMpqDNZdV4aMmOeTTqjFaR6oj67Jay9CvT28fEOdZCri7Fto7lgfPHCU4m50gnUKgW2xXpWnU5qk0sqBzn1MlWjfI0LEed66K3KYuCJL2S8p+VxsEeiRo4hZHyfHrEVXVsszVu25XijI96I9hXuldwaf+zajy3lEOYk61Qn+hSSYWi/mzqcVcJ9RX1ufbH2lUYpeIo1LItVn8EQRAEQRAEQRAEQRCEfZMhCKvEkqkKMPDEms1Y3JXGB6ePxfua/dpilZsA5fM57ae0VCzA7fHBGwqh6HJhcyKLzqy67nYDPhfafG5M8HtgpBMwKKaGo0gmE8hmMtqvJcvz+vza16bH7UFa1btZ5e/PqNoLOYwJqDLCfmRNA13pPOKZHKIqX7BURFSVHfT7EE8kkc4XEPKH4FFtoFga8ge1xW28WNSP9hfTWRXnB3d0z+Vy8KnrA919gLuAllEtKGYLyKp4w3TD51b9CRooqvJf7crjviX9iKi+XDqzFbOi9OlpamHVGicGQ/1HCY6ndB/AWPVPtZE6as/aFVj14l+Q27RG+/is1C91RgqAPNCPnBMnEV8rM1Sia7OPnbR2u3RgmdZ1CpGMKk9FKDjqVNqK047UOCmqY/VlawYeGVrwZF0sV8Uw0i5mm7LV8dZ216I8QyXMy/aqtuv6nLEj1hH/6hrUH123CnoMVMSW94Gn+iLzO4k4HkxbRN7lw6T3n4QpKsBFlwN0XcFU/AwIgiAIgiAIgiAIgiAI+yJDFFYpSQJ5uPFURzfmb0jhmPExHN7qhVHMaWGSvkP9fp/eQMil0iULRSzrS+K1zgIWJYDufEE/Dj824MGx48OYHSmizWUi6AsiGY8jEeeu/VG0tLSCmwlpUUurYwb0s/6KVDaNXCYNVyiCd/pL+FtHDxL5PA5uCeH4CU2YFlJ1a+tCE6VCAQMDSfSqsoPNITQ3NWMgXUJvDqodblVkEV7Vr4BZQMBtiWdukxalBfgCftWPMErqeiFTRCaTV33PYVMJuL8jj2c3AYeO8uOKGUHMjvp0W3U7bYGOopzlFoCnWnGzj0vqUgmF5ACy3etgZhPq3LlYhl0MRVWNFgjL01nHlgipjvV/Zde3tKNS6FNpdJGW/ayFnVbHq3brLE59tYRCO48tPjp5iW6T05SyQwdaqloHzGRd3ZqcGXRhNuqKTmbH8bJ1VB19UWdQf3li/dVo1VQFZ7x1/UzBV5XO7osVy96rI36W2F59jXnVPKCvXcMLT+t4+FrGqWOPTmsVa5ctCIIgCIIgCIIgCIIg7HMMyRUAxSRKcQXDg6fX9eHR5UlMCntwSruJyTEvosEg/G6fFkQLpRLSqRTWZYp4YnMRf+sy0OcKwXR5Ve2qrEIO44wsTmotYl6rC2P8LnjchraMDKpyuLu7Fr22CGCWrEtdzK3KTqbiWJ0u4c9r83i2B8ireg/yZvGJgyI4dpS1cz+zcmOh/ngSqXQWbq8XedX2lOlF1qAQCrhUn+g11meWEFBpmyM+RAI+JAf6QHebkeYmuG2RkfIcW7OwP4PfLMvg1V5gbruBT80IYXbEr9tOQdJli6t0GUCqWTBqK0qnb/sEVl/Z212FUyIZriNF1xeWOGttaCYIgiAIgiAIgiAIgiDs22yv9DXEsK3yPDpzyWWg0yyhx+2CNxBEyBOCzx1QaVza52lfbwpplXZ1ycD8uIkeVxQFfxAFr4GSx0BRHa9HCK92F7A+byDa0oxYczO8Xi8KBe7Obqoqy4QqderWgYKkC0FvGLk8MFDIweVzw+XxIquuZQt5LcIZLkrAJhLxFMxCCaNGtcEfiSJTcqOoeuAyTB1oBWu63MiqMgteNwyPtZmU10+Zle4BMvqcW0oVqZ+pOsaG/Jja5EXYyMIwWR8vKLY01zrX7dgauQ2OCJdIJjEwEEdJW0Vui9brKuC4cId9btjFcWLedJqbLpV0nG6iHbhrPdOzHB5b+ayx1Qa9LNBOTb+4Oqg+8zWdSWNz52b09/epcy1p69Rb0249d+L4KDxfWQc3gcpmc+jrG0Amk7VSqqRWUOm3lGeVUA7z9vR0Y/26tXozsQ0bNqK3r09vgKZ9nW6p26LynDAunkjoUPX6Ni2wYDIrKf+UBwern7TM7urqVG3qATdn46ZfIqoKgiAIgiAIgiAIgiDsH+ywsEp5qUBhSf3jNj1GyYC3ZGJU0I0xzWGU8kUkk2mkcnn0JxPwBTwIhoPoTBTQk3Xp3f49RVbs1sFtulBy+zHgDiDn9sCtH1c3UCpaguF26MslmAzqn9vrwahIGAeGfZhmpDChNICZTT6MC/pglpjGg1QqjWw+g1DUB7fbhUy+hLzhRsnlVjXR/lSVZKg61XnR40ZG5ctk8yioPnBTIwqraVVGQeWjz9eCWdRWrM0eF44eF8AhbWoMTIqr24pv7IfltqCx2LZxw0asXbsW+XxeC4oU7bg7vTMGFEuz2eyWOKZh+vXr16s4Cnxd2jft5s2bsHr1KmQz9G9rtZeiLjde4nhk0hmsWbMGnZ1dWgSkn1f6s02ns7oOq60qmCqXei82bdyMBe++p8rv1X2mSJpOp7U4y3QsN8fNyVS81VZDddml0pq6no0bNyIeH1DHq9DT06P7R/+7jlBZUOWwPPaN7SuHdaxYsQrvvbdI9XUd1nasxaKFi7BmdYctQBtb2sPxsgRRU7eH48RrjIv3D6C/r0+XyTZSgGZ9bIs1RkV9zDgGiraWPuq8d4bqjxo7PU7qc6DGiWPDMXznnXexYf0mXe9WeFx+LgiCIAiCIAiCIAiCIOxruL/6la/c0DcwgEmTJtlRg8EEn26nMLcplca6eArRoA/jWgLwukro7+9HIZtBS7Mf4ZAfhWIJ724u4L2kF0WPT2uNJW0QasBNLc0w4SlmcEgUODDmh+Wl0rKudLtccHOjKxtLvyqhxDJUOgqfnlIB4WJe5Q3imMnNOGZsEG3FlPa/WiyUkM+mEQwF9a7/qilI5V3IqNeSar8lrCooMqoj/qVbAHc+i3wyiVQqoQW1lOpjMZ8HN7fSwqdqSE+ugM2FAjqTOTSpfLNaw2j1edQRhVpqwLpkdtNmy8F29PX1q7+8bmD9+o1atKOYSCvPcDiMzZs7sXLlKv2qBcGSieXLV+jzUCikxkjL3Fi3bj3WrOlAIBDUAiJFxnA4pMvvV+8zX5cvX66vRaMRLXYuW7YCGzdu0HGsi9bCfG+Tqv/Lli3T8WPHjlVjkVJ5V2oxl8ehUBi9vf1a/Ozs7FTvhUuV2aTb0d3dg4ULF+v6fD6/LiMep/DbqfL06TZRrFy5ciVWrVqjhWHmj0Qium7CfvKzNGHCRMyadYh6Ha/bxvHxeDw6/9Kly/U4JRJJPQ4crxUrVupx6OvrU3Xbrh5cbp2HYu+qVat1uyj4UhBlHevWrVNt26yFYNbBdjhQSOV1jvf69Rv0mHK8Oc4DakzHjh2DWCym278ttd9vQRAEQRAEQRAEQRAEYWQzRGEVWljlhkzBkA8BvxfruuNY3tmPJEraSrPJ70MsGKJMiZzpwqpkCYsTJWRcHphul964iiKllqKKRcSQw6yIC+O8JRiFvBa8KGhSVKXQZVkEbhWqLNHS0AJrIZ9GMZNGS9SPWDRoPe7u8yGZyyPV3Y1IwItIU4tqsFu1B8gWisgUaM1Kq0y7VL6qfIZZQkC1rSUUQEtTRIuHUfpX9XjgUiEYjaDg9mNNysTza3vw+qpNaFXxJ0wZhSlNAXh1eaoPqiL6VLU2f7LrsP9Wo6enV79StKWI19bWipaWGHp7e7WQRwGUwl17e5seFwqGtL6kH9q2tjZ0q35yszAKzRQmx40bp4VFCrCxWLMWOilsRiJhna+1tUXVVdCiZEtLC5qamrFp0yadl+eEYmR//4Cug/XxOts0YcIELULSypVWsr29PRg/fpxuB8VLRxil6BiJRFVdrVp4ZTkTJ07Q7aI1KgVWCpwTJ05S59Zj9RR2mY5Q0GQa9ot9IBQ0E4m4tizlmPGR/IkTJ2phltakFIPj8TjGjBmj+86mWBa2dEfQp9s0ZcpkXQ7b5PX6dDytmqdNm6byp7RIy36yL2Tdug3o6FinBdTRo0frcWDb/D4/XOrzOW7cWC3qOv223ufa77UgCIIgCIIgCIIgCIIw8qk0sRsUfGCcWz3RfLTN5cIpY6K4eNZETIlGsHBtHK91F7EwaWDVQAG9yTzSqSQmN5Uwo6kIbyGjN3ei61ODj3MXs4iU4pgRKWJKzA2/G/qx7kQioa0iKZRRSKQYqP1q8nFxipamAT7Iz0fR4+p1oy+Ip7qK+K93unHrO124fUkCL/X7EA+2IGt4kOSj/EXrsfVSLgs/8vCaBccEVouqtFT1qeBV9aiCtdWp2+OG2+WBLxxGxuPFykwJz3dn8JdlXehOFnHCgZNx8ZzJmN0SgJYDKc5qXc0S1lg6LVgHCwVkCpETJozD6NGjtNDoUW2gRWShkNeWrHzEnZt6UfRtbm7SlqeE6Rjf3NyMpqYmLYw6Wh/HibA85mlujuq4nBoLS7QuIRj06zTWuVVeMMjyoqALhUDAj/Hjx6K9vVULs9lsRr8nFHEpVlIQdfJSaGRdTU0RXS7bOm7cGC0MUyTle8r3mLAdHjW2Pl9AHW87VrzmtJ2wTsePLC1aCV/9fr8W4B1htqurW4u+FJopSFPIpdUsx3bMmNFaCG5vb9fXWO+YMWO1MMxxpihaKGytM6U+v6FQAJMmTcTYsaMRU+NXVO+Fz+fRY8Px3yqqCoIgCIIgCIIgCIIgCPsDQxJWXdrWk2KkCy7ThL9UwvQAcO6B7Tj3sCkIe114Zc1GPLhsA94ayFBlw6HtUXxwXACzfGk0F/oRLGQQUCFWSmB2NI+TR7swNWAiHPBrYXDUqFEIqnwUzWhxSCtEbkCUTGeQz+VRKOZVK0rI5opYEy/i6Y0FPLy2hJf7Q3g7HcYL3Sb+vCaNFxJu9HgjGEglsXHTBgwMJBHx+9AaDsDvtqxmKQbSUpXbWYV8bu3WIJNLoy+ZQMEE6BF0wHDjvXgejyxch/mrNmJyewgXzpmIE8ZGMUrl9aqEHAtVmJZRy2W2baXC2jiipOX6wPLraYmCfPS/pK0waTHJsaAlK0VDPvrubAplYcVZvkJLWywwafFKwZq+QSky0kKTQmQoFNHCIIMlhlqWl05b9GZUqhyKqpZVaZcWRGk1Ggh4bStZ9Ymw028VGHlOq+OsrpfCrDMqFE99Kh9F0FAwhOamGCLhqH78nkJuOSyXAjsf16dVLh+/Z3v4+aCYagnFzbrtfn9Ajxnjpk6drPM6rhPYforOtMDlRl+04KU1LPvndluWy1Z9/Mtzqz+EY8K+08KVFq8J9bnwB1S/1ftEYblc+BUEQRAEQRAEQRAEQRD2D3bYFQD1J0siU0c80c+8qwOKi0YRo3weTB1FkSyEDYkcVvZnkSy5EPJ70O4zMDGqXgNAqyuPaYESjhntxwljwpiEHEKlEuiPEy63LpN72/t8XsSiTTqeG0wVCwVksymkcznk8iV0ZXJ4fmMKL/d40euJweTj2S4DpteNpGppVyKPZlcJE4MmzGIOfr8XTYGALtft52ZaJvyq3JDHQDjgQpNqZ1il8Xq8SGby6CuUsCZTxItrOrF4Qx9GR8P4wIHjcOyYCNrctNvlY/90TGA9gs+hsMRFfaBfiB6vOlD8Y5soAFJYpdBJwZKP64dCQW2xS2Evk0lrIZEWlyyegilfmYaCIoVOCpBsA4XKvr5eLSDy0Xdaa9JalWIrhcq2tnb9KPyGDfRH2qPFSQq3FFwJy6UIyzQUMsnGjZuxadNmbRU6adIU/bi816vGTNVdDuundSnrp+UsXRBY7aNAm0dI5Wd7aJG8YcMG3a+W1hbthmCrOEuR2PLNSjGXfeXYTJkyRbWzXaVzqbhu7UKAedhGtp3jZPlX9erH9NlWCrYUVim00pqV/ae1LttA4dQRadk2j4e+YqO6b4TxdNHAdrJsXps8eYquk4Ixx7ncD7AgCIIgCIIgCIIgCIKw72Os7+gwV3V0YN68eXbUTmDyv6L2n1qEB91F4K31fXhnQ48WRWeOasJhY6NoDvjAh7gpRVGOo6Xn+o2b4XaZGDe6TT/izwf903nu1J5ByOcHfXxysyltUmgW9CZU8YEk3u4ewJ97PFiQi8H0BnTOkotyZ1E/3m9kMjg5lsMnD4piQtCL1EAPipkcAtEYPEFubMTyaINL61Va4jKvC7QBXZ3I4M113Vij6mgOh3HE5FE4pDUIvT1TiRtoqUYYFFVVoIGjowcOAVpXllt9OsdsHwVES6i0rFApAlJ05TGFQF5zxFDmowhLGEf3ATSodDZxYrG00mQaioF83J8WpU65Vho1FrYVqtMM1sHhz+XU2BeLWsClgM2y2UYrWOkcmJ+Wnmy/075ymJb1WhatlkBbjtVWq1ynHbQuJTxnVfl8Ufdxq+Ws5T7AKtOt+u1RcVbb6UZh9eoO3WemoYA6depU7TaB507bWafV363vA485/jznOFltZ7pt0wuCIAiCIAiCIAiCIAj7B7tWWCVmSQXamtK/p4GcCquyBby2thcdmwfQHvLj0IktmBoLotVtwqtSZktubB7IIl0ooLXJi2avoeI9yOYKiKfTCAb82kVAqVTQG2ZRyiwVTWSyebyt8v1uvYEFqRACtjCXM9zaPyof70c2i2ObsvjU9CAOjPq1IpdIJZHK5FSZAYRUoA1uyVBtVnkKpgud+QLe60ni3Y092mJ0zrhROGJMDG2egiqTga1WdVFUs+vRkpoxJM8KW6BAR/GOUAgtF+qcY+txfktIdQS9Wmx/3VRjqHrr2hqnkqg09sl2UFS0LtJylWNBK1BaoFJUzOUyqr1We1gXhU1ah9LSs7Luam1t1H5S2T7mcWDddDXAx/E5HrRItTbPshMoyutgVrpFoLUq20pfr7T0rdZWsjXftueVNLouCIIgCIIgCIIgCIIg7HvssCuARtAylRafNGSkhakBE60eYEZrBK2xCNb1p/HO+l5szhTg9vsQ8HqRyZtI5lwoFF3IF62NjPwuNzwqf7GYBy1PfV66CGBptHA1kEomtauAjDeIBf0FrFf5+fh/idqWysc0tIQ1SnlMDpRwWLMbrW4KgIYWB91uE6lMGqVCER5adqr6aGG7qDeJF1dsxPLOfkwc3YJTD5yIObEgmgzatJagWo2iSktB1apHvahDHttHQ4aWoIsWLcLatWv1I/G0jKRm5/g55WPxvEYrVT6O7sBrFPf4Wihwk69trS9ZLgPho+u8zjIY54isTMe8TjonP32WEj5uv3HjRgQCQd0upl26dClWrlypH9PnI/J8rJ/uBChwMh/LckRHUlm+1TYrHXHawFcGtlPFbmmLdU5h2KX97q5YsUKNRwd6enr1Tv2M52ZZzvvg5OeLVS436Apo61aOJceCfWE6XuerZfW6tX6rbVZ5TtustvOc42pZBzOf005BEARBEATh/2/vzH4bubI7/GNVcWlSOyVKYsvuRUonSJxBMvEYM0AeggxmnvOeP3Ke8pDHIC9OAjiBHRh2DzojtZqSWiu1keJWlfudIt20ppexp+NG2ueTuNStuufeW9LTh1PnOo7jOI7jvP+89YxV9GP+gwQtiEfkYyxUOBpFkdrh25fHHX22faLuYKRHd+f14eKMyuHaeDRSPEy1UI60VC2qGEsXF6FHGml2bkGjgrlVZb0bXV5fKrlT1U25pt88OdU/HQx1XlxQIUoUUfM0DBkNe1rILvXL9Vi/apS0EI7tsfRSpFKxoKGiEKenm0JRx4VEXxycqnVyoeb8jD6+t6rNmZLusJY0De8RNtCEMauhbAAvU8eIttCGVvtj1Br1P588eWLScHNz03baJysTaYm85HF5Nq5C4iHC8535e1ZPNN/Iinqk4b4kie1yTxvHZLkSk3qi7ITP9YhIJCF1SZeW6nYd4/NYPVK30VgJ/QZ2HRmhjI9o3NraskfnGQsJjER9+PChCUjmRwYpgpV5sZs+9WCp20obtVmJubS0YLvvkz16cXEe+hVUq82M+3QsW5c1MB79mc/l5YVdTz+yYvf29vT06VO7D2zq9exZy8ZDOHMNn9RkZZ4hjM2ff8Pl5bqN8fjx17ZG5s5mVmdnpzbm+vp6+EsUbJMqRCrrmZubtYxYNgzLr1mzDF7qzQ4G+XnmMCml4DiO4ziO4ziO4ziO47z/vPWM1fyx+Cx84YH9cdYothEvqZEqStWslvWwMW8Zfl/tn+p3Z9casMHRnZKWKAPQ74bLByqWirYrfzYKbXGiOIkIo+51xzJGKzM13YkiVRLprHOj9s3AJGyUFpSkqeaGV/rZ4ki/vDenD2fuaJgU9TzNdD0cajQY6mqQ6Eglffb8Qp9tH4X5SZ88XNff3l/Rh6VYRcbG0IZ55ht25TI1tpzcsK5winNvQ6ySucmO92yUhExkwyY+9/cPTCIi7xCLCEIkJps9scHVRJJ2wvqRp9VqTcfHpyZTyUolJvITOcq1SEUEKoIQWUi8bvcmjPPcsi+Rg2Sm0sbO+dfXVzYOm0SRoTkRiMwhz1LtmLhst89tHcxxe/t3yuu3JrZxFsKUmMwJKYpgpe3w8LkJTUQtbfRdXFywzbeOj4+/WStCuNXas8xUxOikDAI7/NPGXMmUXVxcsvtFbGQs4pVxWTPzQTQjXxG2CFfkK8KXa9iAiu9IVsZF1LJOxtre3gn9uiZs2fiKNbfbF3Zv2PgKCYsMvr2Bl+M4juM4juM4juM4jvP+8vZLAZhajCyzFLHKj+V4FjgTXmlqj8/PxAXdn6+ouTKn9s1Ijw/aOu8iu0qqlhMNB30lyFQV1e8NxGPbSZG6qz11en2VS5XwKoVYqRYqJdVrJZWzvkqDjuZ0o/XijX6+WtSv789rq0oc6Yujjv55+0S9pKS5uXl9ddbTv24f6LLf11/fW9ffba7q0UxJMynTzdjTKswYQRwIb9RhDQvIRbG95Vmsdjh+fV+QiUhQZCiZktQBJSJSEEm4ufnA5B/ylJ39OUc2K1IRqbdcXzahiHBEECJTySBFZG5tbY775rIUkfno0Z9YJuns7Lxt6nR+3rZ2ZCJxJnVIHzy4Z1mcUZRYtilysVJBrKbWj/GQvsCYkxqw9+/f08pK3eaCgCXDE/nJC6mJMCV7mKzcepg7sZrNZvg/3AjryePPzuabSrHmfN3zlnGLyKWdsgSIZGK3Ws9sfsTnHnI9cyGrl5qwzIM/GWvkXhAfiYsk7Xa6JmWpG0tc1o903dx8aPcaIY3QZU3MnfvOPcizYZlHZXxfqNfrOI7jOI7jOI7jOI7j/Bh4+xmrY8VYYMd8ZVZnFQFpOZ/hO5mmJl+zWEmWWobqg3pN9fkZHbav9d+tY7XTSElcsozRarmoESbNxGqsi86V0ijWbLVm2bEUHYjDdSuVRI/qVf3Z0h19tFTSzzeq+lmjrLViGDZl3Ei/Pe3o0/2OWn1p+7St/bNzba3O6VePmlZHdSHMmQxb5si0EcFUi83zUclZpY5mbGux3FVbW7gu9LFv4+PvCtmkT58+M0nJY+YIRcQjO+oj7hCVCD6yPxGjPL6P2EPEMuTa6qqJSbIt19ebGg2Zcz4Xsn7r9SWThZeX1yYU6YOMRUCSgYmEJLsUgUvWJXKVTMx+v2eZnkjGgwOyYrth7GU7j/zlUXtEJcJxZqZmfRCVnENaAnPON70qmxglFlmgEwHK5lHIX9bFHNhQijkhdrkX4ZZoZ2fHrr97txniFG3+rda+Dg8PtbbWCO3rti7kKfcGobq7+8zWzZj8+zBPxCuSF7ivcVxUlvK3LWi1sRr+54phHbN276jHSn/+DqyTtSFPJ+UFWAeClvns7++bhK7X6xbbcRzHcRzHcRzHcRzHef9562IVn5f7Rd5QVEjW8aEd5YIVNQkIrFL4XK0k2mrMqVYq6cnzth6f3Kg9GCquxOpEiU6HmXppatKwVi6rXIxVyEZikyrbsCrEu5NlWilFWg99lpKCKqENv8uD+1dhuKNw7eEg1fVNV/cXy/r1n67rF415rSBtEWxMKcrnaxsRTb04ttfYuoZ3wz7H13wXkKhATIQoNUQRh83mumWAsskSmZHlclE89r+zs2vlARCdZE8iCqn5iQjd+GBD152Orq4u1ev3TWSm6TAsJ9Pc7JzFGwwHJgTr9QWThTs72zo6OlSSUK/1Q2vjkXjEIWKULFVEJ4/EU2qA+SFBEauIUSDLFaF7cnJmj+AzP9aDtEU6IhuRnYuL82EdpRB/P8SnpMDA5s8tQ9IidMk6ZSzi8UJ8Nptrdg3jLy8vaW1t1e4bYxSLicnX3d2WiU1qxFKmYGOjGdov1G6fWfYrGa2t1q5lnXJPuF8rKw1dhGuurq+0OK5Te3B4ENraqtaqNlfGRfJOMoDpNykdwDnkLeUKkM/cD7J/WbPjOI7jOI7jOI7jOI7z4+Ctb171h4NYzGUm2Z8Yylw1SnujTJ/unenr1r4Ul3QTzavbT1UvDfWLu7P6ZHVW1QLykE6JhjG74qcqjfK6rrhPXmkUqZdl2r8Z6PPDc311eKFqMdHHG8v6qF7TfLgm/CpF1o2FnVmzH4BpsYqkQySS/YiM5BTnyehEbiI6Ly6uTELyuDm1QhGsk8fu6UfGJrVBqYOKAORu8h0ByYv4xCEesRGNfJKFmY+RmpxkzPn5WRuLeSBL2aAJ0ZskRRs3nyPz65v85TqOOYdk5DwxgXiUcaANEcqcySKdZMzymD7zQ5BSS5b19Xo3YjMrSgMcHuY1UtnMCxnLOoB4yGDuC8IYqTk7W7P5PnnyPzYPSiAgSRGn1EEFYrA2sm/zfrM2d0QsWbVz82GMEJcsYmKwNtY5WRtzBsYnJrGJSUat4ziO4ziO4ziO4ziO8+Ph3YnV3CuOP3n8nh33OaCOqdRTolZ3oE932/q35yPtDYsaDHv66Uqsf3y0oEfVWIOUR/PJfu2FnuEzLYVQIU4s9UOMs/5QX51d6b9aJ+r1R/qLjYZ+2lzQ3ShcPaJMAf1HoWcYuUAVVsTsDwMyb4IJ3QBtk3baJu3TcJ7m/DLO/36cvO1F3zwm8SbfX1w7GXN6vLyNa6Zjvug7YfrcNJN4Eyb9ptsQpNPHSE4yU5GvloW7cddqwpJFy+P9PGY/HXfy/fY4ZM4iPJGyZOoyDhJ0mum223ObPp4eDyZznm5zHMdxHMdxHMdxHMdxfpz84GJ17K2Mb/RUaCTDNP+aSz00J4/l9woFfXkx1L+0rvSfx10VleofHs7q7+/OqBQ62ab9Go5lV6JhOD7LUj25uNbnz451fN7VZmNRn9xr6INyrGKaKs2GGkXI1ERJFtlmWhk1A5Bm+cg/CNPibiL03kR+OW/5fbKjb+5d/vmH8G1pSMfp78TMj6dj3haN+fcX8/i+TOJOx77Nq+/PpD2fCxti5TAvzr06JjDmdOzpNU7PZ/qaSfvtOb1u/o7jOI7jOI7jOI7jOM77xbsTqwX7xX/lYEg5yNgqihfwbWiZpSdZrM+Puvps91Sj4UA/aS7oo8aMGsVYxdCXbNdO6PS0M9DnByfaOTxXo1bTJ/fXtDVfVpVYGXVHCxpZhddUkW1WhUiNTawyH6sB+46Ylnq/z/j+vJRJn1f1fRNviv26uK/rC2/q/8fwsrFvj/Xdxn7938BxHMdxHMdxHMdxHMdxct5JKQDk6rfcFW5sIlbzA3uNwvso/NCSKBbqk/qr/7F7rsd7Z5qpxPrJxqI2F6vqptIXR+f6eu9YlSjWxx+s6i8bM5oLoZCuhI+szEBoyNj4iq/U62QUxovzc47jOI7jOI7jOI7jOI7jOG/gHYhVNCnclpg8up1vTDQ5h/xEwlJ/FelJHusofPbCuaedof5950h7Z5eaq1XVH2W66Q/0581F/U1zQasJZQLSsTbNlGTkoo7raka5rOWxf/O5ogwAn7zdnpfjOI7jOI7jOI7jOI7jOM63eQelAHKxyuPW469TiaJZ+EGuRipQdJXz4aIMHxoOLYc1pT3SKC6Ifd5/277WlzsnqpSK+qv7y3pwp6hylpqkJQQ61WKFXxsoxMxswyqCxyEiJxiRIgGQvzuO4ziO4ziO4ziO4ziO47yKd1IK4PtjpvVFFqvYz18a2DfKBUhRlloWaiGaCNLwSbdX+NLXnHIcx3Ecx3Ecx3Ecx3Ecx3kp726npu8FWa55+mr+CD9Zppkq4VvJWnkL72PpOm755uNlvOaU4ziO4ziO4ziO4ziO4zjOS/l/JlbHznSMZaaGTwoI8M7j/FFo8V3dHcdxHMdxHMdxHMdxHMf5v0P6X8UIufTATV4kAAAAAElFTkSuQmCC", - "text/plain": [ - "" + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from IPython.display import Image\n", - "from pathlib import Path\n", - "\n", - "\n", - "def datafile_path(name):\n", - " return Path(\"..\") / name\n", - "\n", - "\n", - "Image(datafile_path(\"CO2_flowsheet.png\"))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2. Training and Validating Surrogate\n", - "\n", - "First, let's import the required Python and IDAES modules:" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: DEPRECATED: pyomo.core.expr.current is deprecated. Please import\n", - "expression symbols from pyomo.core.expr (deprecated in 6.6.2) (called from\n", - ":241)\n" - ] - } - ], - "source": [ - "# Import statements\n", - "import os\n", - "import numpy as np\n", - "import pandas as pd\n", - "import random as rn\n", - "import tensorflow as tf\n", - "import tensorflow.keras as keras\n", - "\n", - "# Import IDAES libraries\n", - "from idaes.core.surrogate.sampling.data_utils import split_training_validation\n", - "from idaes.core.surrogate.sampling.scaling import OffsetScaler\n", - "from idaes.core.surrogate.keras_surrogate import KerasSurrogate\n", - "from idaes.core.surrogate.plotting.sm_plotter import (\n", - " surrogate_scatter2D,\n", - " surrogate_parity,\n", - " surrogate_residual,\n", - ")\n", - "\n", - "# fix environment variables to ensure consist neural network training\n", - "os.environ[\"PYTHONHASHSEED\"] = \"0\"\n", - "os.environ[\"CUDA_VISIBLE_DEVICES\"] = \"\"\n", - "np.random.seed(46)\n", - "rn.seed(1342)\n", - "tf.random.set_seed(62)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.1 Importing Training and Validation Datasets\n", - "\n", - "In this section, we read the dataset from the CSV file located in this directory. 500 data points were simulated for S-CO2 physical properties using REFPROP package. This example is trained on the entire dataset because neural network can overfit on smaller dataset. The data is separated using an 80/20 split into training and validation data using the IDAES split_training_validation() method.\n", - "\n", - "We rename the column headers because they contained \".\", which may cause errors while reading the column names in subsequent code, thus as a good practice we change them to the variable names to be used in the property package. Further, the input variables are **pressure**, **temperature** , while the output variables are **enth_mol**, **entr_mol**, hence we create two new dataframes for the input and output variables. " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "# Import training data\n", - "np.set_printoptions(precision=6, suppress=True)\n", - "\n", - "csv_data = pd.read_csv(datafile_path(\"500_Points_DataSet.csv\"))\n", - "csv_data.columns.values[0:6] = [\n", - " \"pressure\",\n", - " \"temperature\",\n", - " \"enth_mol\",\n", - " \"entr_mol\",\n", - " \"CO2_enthalpy\",\n", - " \"CO2_entropy\",\n", - "]\n", - "data = csv_data.sample(n=500)\n", - "\n", - "# Creating input_data and output_data from data\n", - "input_data = data.iloc[:, :2]\n", - "output_data = data.iloc[:, 2:4]\n", - "\n", - "# Define labels, and split training and validation data\n", - "input_labels = input_data.columns\n", - "output_labels = output_data.columns\n", - "\n", - "n_data = data[input_labels[0]].size\n", - "data_training, data_validation = split_training_validation(data, 0.8, seed=n_data)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.2 Training Surrogate with TensorFlow Keras\n", - "TensorFlow Keras provides an interface to pass regression settings, build neural networks and train surrogate models. Keras enables the usage of two API formats: Sequential and Functional. While the Functional API offers more versatility, including multiple input and output layers in a single neural network, the Sequential API is more stable and user-friendly. Further, the Sequential API integrates cleanly with existing IDAES surrogate tools and will be utilized in this example.\n", - "\n", - "In the code below, we build the neural network structure based on our training data structure and desired regression settings. Offline, neural network models were trained for the list of settings below, and the options bolded and italicized were determined to have the minimum mean squared error for the dataset:\n", - "\n", - "* Activation function: sigmoid, **tanh**\n", - "* Optimizer: **Adam**\n", - "* Number of hidden layers: 3, **4**, 5, 6\n", - "* Number of neurons per layer: **20**, 40, 60\n", - "\n", - "Important thing to note here is that we do not use ReLU activation function for the training as the flowsheet we intend to solve with this surrogate model is a NLP problem and using ReLU activation function will make it an MINLP. Another thing to note here is the network is smaller (4,20) in order to avoid overfitting. \n", - "\n", - "Typically, Sequential Keras models are built vertically; the dataset is scaled and normalized. The network is defined for the input layer, hidden layers, and output layer for the passed activation functions and network/layer sizes. Then, the model is compiled using the passed optimizer and trained using a desired number of epochs. Keras internally validates while training and updates each epoch's model weight (coefficient) values.\n", - "\n", - "Finally, after training the model, we save the results and model expressions to a folder that contains a serialized JSON file. Serializing the model in this fashion enables importing a previously trained set of surrogate models into external flowsheets. This feature will be used later." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 1/250\n", - "13/13 - 3s - loss: 0.4963 - mae: 0.5592 - mse: 0.4963 - val_loss: 0.1685 - val_mae: 0.3349 - val_mse: 0.1685 - 3s/epoch - 249ms/step\n", - "Epoch 2/250\n", - "13/13 - 0s - loss: 0.1216 - mae: 0.2839 - mse: 0.1216 - val_loss: 0.0809 - val_mae: 0.2245 - val_mse: 0.0809 - 237ms/epoch - 18ms/step\n", - "Epoch 3/250\n", - "13/13 - 0s - loss: 0.0665 - mae: 0.2043 - mse: 0.0665 - val_loss: 0.0359 - val_mae: 0.1503 - val_mse: 0.0359 - 262ms/epoch - 20ms/step\n", - "Epoch 4/250\n", - "13/13 - 0s - loss: 0.0294 - mae: 0.1329 - mse: 0.0294 - val_loss: 0.0221 - val_mae: 0.1119 - val_mse: 0.0221 - 283ms/epoch - 22ms/step\n", - "Epoch 5/250\n", - "13/13 - 0s - loss: 0.0170 - mae: 0.0964 - mse: 0.0170 - val_loss: 0.0115 - val_mae: 0.0792 - val_mse: 0.0115 - 351ms/epoch - 27ms/step\n", - "Epoch 6/250\n", - "13/13 - 0s - loss: 0.0097 - mae: 0.0734 - mse: 0.0097 - val_loss: 0.0067 - val_mae: 0.0636 - val_mse: 0.0067 - 364ms/epoch - 28ms/step\n", - "Epoch 7/250\n", - "13/13 - 0s - loss: 0.0061 - mae: 0.0610 - mse: 0.0061 - val_loss: 0.0048 - val_mae: 0.0550 - val_mse: 0.0048 - 245ms/epoch - 19ms/step\n", - "Epoch 8/250\n", - "13/13 - 0s - loss: 0.0042 - mae: 0.0521 - mse: 0.0042 - val_loss: 0.0034 - val_mae: 0.0464 - val_mse: 0.0034 - 203ms/epoch - 16ms/step\n", - "Epoch 9/250\n", - "13/13 - 0s - loss: 0.0032 - mae: 0.0458 - mse: 0.0032 - val_loss: 0.0027 - val_mae: 0.0418 - val_mse: 0.0027 - 300ms/epoch - 23ms/step\n", - "Epoch 10/250\n", - "13/13 - 0s - loss: 0.0028 - mae: 0.0420 - mse: 0.0028 - val_loss: 0.0024 - val_mae: 0.0379 - val_mse: 0.0024 - 255ms/epoch - 20ms/step\n", - "Epoch 11/250\n", - "13/13 - 0s - loss: 0.0024 - mae: 0.0384 - mse: 0.0024 - val_loss: 0.0021 - val_mae: 0.0358 - val_mse: 0.0021 - 247ms/epoch - 19ms/step\n", - "Epoch 12/250\n", - "13/13 - 0s - loss: 0.0022 - mae: 0.0358 - mse: 0.0022 - val_loss: 0.0018 - val_mae: 0.0330 - val_mse: 0.0018 - 321ms/epoch - 25ms/step\n", - "Epoch 13/250\n", - "13/13 - 0s - loss: 0.0020 - mae: 0.0338 - mse: 0.0020 - val_loss: 0.0017 - val_mae: 0.0315 - val_mse: 0.0017 - 219ms/epoch - 17ms/step\n", - "Epoch 14/250\n", - "13/13 - 0s - loss: 0.0018 - mae: 0.0323 - mse: 0.0018 - val_loss: 0.0015 - val_mae: 0.0302 - val_mse: 0.0015 - 272ms/epoch - 21ms/step\n", - "Epoch 15/250\n", - "13/13 - 0s - loss: 0.0017 - mae: 0.0311 - mse: 0.0017 - val_loss: 0.0015 - val_mae: 0.0296 - val_mse: 0.0015 - 299ms/epoch - 23ms/step\n", - "Epoch 16/250\n", - "13/13 - 0s - loss: 0.0016 - mae: 0.0303 - mse: 0.0016 - val_loss: 0.0014 - val_mae: 0.0289 - val_mse: 0.0014 - 271ms/epoch - 21ms/step\n", - "Epoch 17/250\n", - "13/13 - 0s - loss: 0.0016 - mae: 0.0293 - mse: 0.0016 - val_loss: 0.0014 - val_mae: 0.0281 - val_mse: 0.0014 - 248ms/epoch - 19ms/step\n", - "Epoch 18/250\n", - "13/13 - 0s - loss: 0.0015 - mae: 0.0287 - mse: 0.0015 - val_loss: 0.0013 - val_mae: 0.0275 - val_mse: 0.0013 - 256ms/epoch - 20ms/step\n", - "Epoch 19/250\n", - "13/13 - 0s - loss: 0.0015 - mae: 0.0285 - mse: 0.0015 - val_loss: 0.0014 - val_mae: 0.0285 - val_mse: 0.0014 - 153ms/epoch - 12ms/step\n", - "Epoch 20/250\n", - "13/13 - 0s - loss: 0.0015 - mae: 0.0282 - mse: 0.0015 - val_loss: 0.0012 - val_mae: 0.0269 - val_mse: 0.0012 - 239ms/epoch - 18ms/step\n", - "Epoch 21/250\n", - "13/13 - 0s - loss: 0.0015 - mae: 0.0278 - mse: 0.0015 - val_loss: 0.0012 - val_mae: 0.0266 - val_mse: 0.0012 - 263ms/epoch - 20ms/step\n", - "Epoch 22/250\n", - "13/13 - 0s - loss: 0.0015 - mae: 0.0279 - mse: 0.0015 - val_loss: 0.0012 - val_mae: 0.0266 - val_mse: 0.0012 - 243ms/epoch - 19ms/step\n", - "Epoch 23/250\n", - "13/13 - 0s - loss: 0.0014 - mae: 0.0274 - mse: 0.0014 - val_loss: 0.0012 - val_mae: 0.0265 - val_mse: 0.0012 - 138ms/epoch - 11ms/step\n", - "Epoch 24/250\n", - "13/13 - 0s - loss: 0.0014 - mae: 0.0264 - mse: 0.0014 - val_loss: 0.0012 - val_mae: 0.0259 - val_mse: 0.0012 - 189ms/epoch - 15ms/step\n", - "Epoch 25/250\n", - "13/13 - 0s - loss: 0.0014 - mae: 0.0268 - mse: 0.0014 - val_loss: 0.0012 - val_mae: 0.0258 - val_mse: 0.0012 - 280ms/epoch - 22ms/step\n", - "Epoch 26/250\n", - "13/13 - 0s - loss: 0.0013 - mae: 0.0268 - mse: 0.0013 - val_loss: 0.0011 - val_mae: 0.0258 - val_mse: 0.0011 - 222ms/epoch - 17ms/step\n", - "Epoch 27/250\n", - "13/13 - 0s - loss: 0.0013 - mae: 0.0265 - mse: 0.0013 - val_loss: 0.0011 - val_mae: 0.0247 - val_mse: 0.0011 - 286ms/epoch - 22ms/step\n", - "Epoch 28/250\n", - "13/13 - 0s - loss: 0.0013 - mae: 0.0259 - mse: 0.0013 - val_loss: 0.0012 - val_mae: 0.0259 - val_mse: 0.0012 - 116ms/epoch - 9ms/step\n", - "Epoch 29/250\n", - "13/13 - 0s - loss: 0.0013 - mae: 0.0259 - mse: 0.0013 - val_loss: 0.0011 - val_mae: 0.0252 - val_mse: 0.0011 - 157ms/epoch - 12ms/step\n", - "Epoch 30/250\n", - "13/13 - 0s - loss: 0.0013 - mae: 0.0256 - mse: 0.0013 - val_loss: 0.0011 - val_mae: 0.0248 - val_mse: 0.0011 - 267ms/epoch - 21ms/step\n", - "Epoch 31/250\n", - "13/13 - 0s - loss: 0.0013 - mae: 0.0254 - mse: 0.0013 - val_loss: 0.0011 - val_mae: 0.0245 - val_mse: 0.0011 - 264ms/epoch - 20ms/step\n", - "Epoch 32/250\n", - "13/13 - 0s - loss: 0.0012 - mae: 0.0254 - mse: 0.0012 - val_loss: 0.0010 - val_mae: 0.0243 - val_mse: 0.0010 - 269ms/epoch - 21ms/step\n", - "Epoch 33/250\n", - "13/13 - 0s - loss: 0.0012 - mae: 0.0248 - mse: 0.0012 - val_loss: 0.0012 - val_mae: 0.0251 - val_mse: 0.0012 - 353ms/epoch - 27ms/step\n", - "Epoch 34/250\n", - "13/13 - 1s - loss: 0.0012 - mae: 0.0256 - mse: 0.0012 - val_loss: 0.0010 - val_mae: 0.0248 - val_mse: 0.0010 - 537ms/epoch - 41ms/step\n", - "Epoch 35/250\n", - "13/13 - 0s - loss: 0.0012 - mae: 0.0254 - mse: 0.0012 - val_loss: 0.0010 - val_mae: 0.0243 - val_mse: 0.0010 - 330ms/epoch - 25ms/step\n", - "Epoch 36/250\n", - "13/13 - 0s - loss: 0.0012 - mae: 0.0245 - mse: 0.0012 - val_loss: 0.0010 - val_mae: 0.0234 - val_mse: 0.0010 - 289ms/epoch - 22ms/step\n", - "Epoch 37/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0244 - mse: 0.0011 - val_loss: 0.0010 - val_mae: 0.0239 - val_mse: 0.0010 - 155ms/epoch - 12ms/step\n", - "Epoch 38/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0243 - mse: 0.0011 - val_loss: 9.9094e-04 - val_mae: 0.0235 - val_mse: 9.9094e-04 - 289ms/epoch - 22ms/step\n", - "Epoch 39/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0243 - mse: 0.0011 - val_loss: 0.0010 - val_mae: 0.0238 - val_mse: 0.0010 - 118ms/epoch - 9ms/step\n", - "Epoch 40/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0241 - mse: 0.0011 - val_loss: 9.7491e-04 - val_mae: 0.0239 - val_mse: 9.7491e-04 - 299ms/epoch - 23ms/step\n", - "Epoch 41/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0241 - mse: 0.0011 - val_loss: 9.9821e-04 - val_mae: 0.0227 - val_mse: 9.9821e-04 - 151ms/epoch - 12ms/step\n", - "Epoch 42/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0240 - mse: 0.0011 - val_loss: 0.0010 - val_mae: 0.0235 - val_mse: 0.0010 - 192ms/epoch - 15ms/step\n", - "Epoch 43/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0238 - mse: 0.0011 - val_loss: 9.4863e-04 - val_mae: 0.0232 - val_mse: 9.4863e-04 - 237ms/epoch - 18ms/step\n", - "Epoch 44/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0236 - mse: 0.0011 - val_loss: 9.8018e-04 - val_mae: 0.0230 - val_mse: 9.8018e-04 - 154ms/epoch - 12ms/step\n", - "Epoch 45/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0239 - mse: 0.0011 - val_loss: 9.5093e-04 - val_mae: 0.0233 - val_mse: 9.5093e-04 - 158ms/epoch - 12ms/step\n", - "Epoch 46/250\n", - "13/13 - 0s - loss: 0.0010 - mae: 0.0230 - mse: 0.0010 - val_loss: 9.4785e-04 - val_mae: 0.0223 - val_mse: 9.4785e-04 - 218ms/epoch - 17ms/step\n", - "Epoch 47/250\n", - "13/13 - 0s - loss: 0.0010 - mae: 0.0231 - mse: 0.0010 - val_loss: 9.7827e-04 - val_mae: 0.0230 - val_mse: 9.7827e-04 - 116ms/epoch - 9ms/step\n", - "Epoch 48/250\n", - "13/13 - 0s - loss: 0.0010 - mae: 0.0232 - mse: 0.0010 - val_loss: 9.0671e-04 - val_mae: 0.0225 - val_mse: 9.0671e-04 - 288ms/epoch - 22ms/step\n", - "Epoch 49/250\n", - "13/13 - 0s - loss: 0.0010 - mae: 0.0230 - mse: 0.0010 - val_loss: 9.2521e-04 - val_mae: 0.0218 - val_mse: 9.2521e-04 - 140ms/epoch - 11ms/step\n", - "Epoch 50/250\n", - "13/13 - 0s - loss: 0.0010 - mae: 0.0231 - mse: 0.0010 - val_loss: 9.7818e-04 - val_mae: 0.0231 - val_mse: 9.7818e-04 - 149ms/epoch - 11ms/step\n", - "Epoch 51/250\n", - "13/13 - 0s - loss: 9.9977e-04 - mae: 0.0232 - mse: 9.9977e-04 - val_loss: 9.4350e-04 - val_mae: 0.0221 - val_mse: 9.4350e-04 - 146ms/epoch - 11ms/step\n", - "Epoch 52/250\n", - "13/13 - 0s - loss: 9.8599e-04 - mae: 0.0229 - mse: 9.8599e-04 - val_loss: 9.0638e-04 - val_mae: 0.0230 - val_mse: 9.0638e-04 - 265ms/epoch - 20ms/step\n", - "Epoch 53/250\n", - "13/13 - 0s - loss: 9.8295e-04 - mae: 0.0228 - mse: 9.8295e-04 - val_loss: 9.0667e-04 - val_mae: 0.0215 - val_mse: 9.0667e-04 - 179ms/epoch - 14ms/step\n", - "Epoch 54/250\n", - "13/13 - 0s - loss: 9.7266e-04 - mae: 0.0225 - mse: 9.7266e-04 - val_loss: 9.0391e-04 - val_mae: 0.0224 - val_mse: 9.0391e-04 - 287ms/epoch - 22ms/step\n", - "Epoch 55/250\n", - "13/13 - 0s - loss: 9.5234e-04 - mae: 0.0225 - mse: 9.5234e-04 - val_loss: 8.7426e-04 - val_mae: 0.0219 - val_mse: 8.7426e-04 - 284ms/epoch - 22ms/step\n", - "Epoch 56/250\n", - "13/13 - 0s - loss: 9.4315e-04 - mae: 0.0221 - mse: 9.4315e-04 - val_loss: 8.6742e-04 - val_mae: 0.0224 - val_mse: 8.6742e-04 - 297ms/epoch - 23ms/step\n", - "Epoch 57/250\n", - "13/13 - 0s - loss: 9.9226e-04 - mae: 0.0230 - mse: 9.9226e-04 - val_loss: 8.7793e-04 - val_mae: 0.0225 - val_mse: 8.7793e-04 - 206ms/epoch - 16ms/step\n", - "Epoch 58/250\n", - "13/13 - 0s - loss: 9.4137e-04 - mae: 0.0226 - mse: 9.4137e-04 - val_loss: 8.7477e-04 - val_mae: 0.0225 - val_mse: 8.7477e-04 - 160ms/epoch - 12ms/step\n", - "Epoch 59/250\n", - "13/13 - 0s - loss: 9.2474e-04 - mae: 0.0219 - mse: 9.2474e-04 - val_loss: 8.5320e-04 - val_mae: 0.0212 - val_mse: 8.5320e-04 - 274ms/epoch - 21ms/step\n", - "Epoch 60/250\n", - "13/13 - 0s - loss: 9.1133e-04 - mae: 0.0217 - mse: 9.1133e-04 - val_loss: 8.6082e-04 - val_mae: 0.0217 - val_mse: 8.6082e-04 - 160ms/epoch - 12ms/step\n", - "Epoch 61/250\n", - "13/13 - 0s - loss: 9.1801e-04 - mae: 0.0217 - mse: 9.1801e-04 - val_loss: 8.5403e-04 - val_mae: 0.0223 - val_mse: 8.5403e-04 - 143ms/epoch - 11ms/step\n", - "Epoch 62/250\n", - "13/13 - 0s - loss: 9.1987e-04 - mae: 0.0221 - mse: 9.1987e-04 - val_loss: 8.5714e-04 - val_mae: 0.0219 - val_mse: 8.5714e-04 - 128ms/epoch - 10ms/step\n", - "Epoch 63/250\n", - "13/13 - 0s - loss: 9.0862e-04 - mae: 0.0222 - mse: 9.0862e-04 - val_loss: 8.6160e-04 - val_mae: 0.0225 - val_mse: 8.6160e-04 - 154ms/epoch - 12ms/step\n", - "Epoch 64/250\n", - "13/13 - 0s - loss: 8.9349e-04 - mae: 0.0220 - mse: 8.9349e-04 - val_loss: 8.2851e-04 - val_mae: 0.0214 - val_mse: 8.2851e-04 - 284ms/epoch - 22ms/step\n", - "Epoch 65/250\n", - "13/13 - 0s - loss: 8.7848e-04 - mae: 0.0216 - mse: 8.7848e-04 - val_loss: 8.5189e-04 - val_mae: 0.0218 - val_mse: 8.5189e-04 - 168ms/epoch - 13ms/step\n", - "Epoch 66/250\n", - "13/13 - 0s - loss: 8.9773e-04 - mae: 0.0219 - mse: 8.9773e-04 - val_loss: 8.5650e-04 - val_mae: 0.0211 - val_mse: 8.5650e-04 - 113ms/epoch - 9ms/step\n", - "Epoch 67/250\n", - "13/13 - 0s - loss: 8.7443e-04 - mae: 0.0217 - mse: 8.7443e-04 - val_loss: 8.2545e-04 - val_mae: 0.0214 - val_mse: 8.2545e-04 - 264ms/epoch - 20ms/step\n", - "Epoch 68/250\n", - "13/13 - 0s - loss: 8.9141e-04 - mae: 0.0217 - mse: 8.9141e-04 - val_loss: 8.4471e-04 - val_mae: 0.0219 - val_mse: 8.4471e-04 - 189ms/epoch - 15ms/step\n", - "Epoch 69/250\n", - "13/13 - 0s - loss: 8.9507e-04 - mae: 0.0224 - mse: 8.9507e-04 - val_loss: 8.7916e-04 - val_mae: 0.0217 - val_mse: 8.7916e-04 - 175ms/epoch - 13ms/step\n", - "Epoch 70/250\n", - "13/13 - 0s - loss: 8.5737e-04 - mae: 0.0216 - mse: 8.5737e-04 - val_loss: 8.8807e-04 - val_mae: 0.0215 - val_mse: 8.8807e-04 - 322ms/epoch - 25ms/step\n", - "Epoch 71/250\n", - "13/13 - 0s - loss: 8.5560e-04 - mae: 0.0214 - mse: 8.5560e-04 - val_loss: 8.3750e-04 - val_mae: 0.0213 - val_mse: 8.3750e-04 - 207ms/epoch - 16ms/step\n", - "Epoch 72/250\n", - "13/13 - 0s - loss: 8.5576e-04 - mae: 0.0218 - mse: 8.5576e-04 - val_loss: 8.1156e-04 - val_mae: 0.0210 - val_mse: 8.1156e-04 - 257ms/epoch - 20ms/step\n", - "Epoch 73/250\n", - "13/13 - 0s - loss: 8.4688e-04 - mae: 0.0216 - mse: 8.4688e-04 - val_loss: 8.0221e-04 - val_mae: 0.0210 - val_mse: 8.0221e-04 - 233ms/epoch - 18ms/step\n", - "Epoch 74/250\n", - "13/13 - 0s - loss: 8.3636e-04 - mae: 0.0211 - mse: 8.3636e-04 - val_loss: 7.9384e-04 - val_mae: 0.0208 - val_mse: 7.9384e-04 - 250ms/epoch - 19ms/step\n", - "Epoch 75/250\n", - "13/13 - 0s - loss: 8.4758e-04 - mae: 0.0222 - mse: 8.4758e-04 - val_loss: 8.2932e-04 - val_mae: 0.0212 - val_mse: 8.2932e-04 - 119ms/epoch - 9ms/step\n", - "Epoch 76/250\n", - "13/13 - 0s - loss: 8.4142e-04 - mae: 0.0213 - mse: 8.4142e-04 - val_loss: 8.0552e-04 - val_mae: 0.0209 - val_mse: 8.0552e-04 - 150ms/epoch - 12ms/step\n", - "Epoch 77/250\n", - "13/13 - 0s - loss: 8.5035e-04 - mae: 0.0215 - mse: 8.5035e-04 - val_loss: 8.6014e-04 - val_mae: 0.0215 - val_mse: 8.6014e-04 - 126ms/epoch - 10ms/step\n", - "Epoch 78/250\n", - "13/13 - 0s - loss: 8.9015e-04 - mae: 0.0228 - mse: 8.9015e-04 - val_loss: 9.2548e-04 - val_mae: 0.0225 - val_mse: 9.2548e-04 - 242ms/epoch - 19ms/step\n", - "Epoch 79/250\n", - "13/13 - 0s - loss: 8.1577e-04 - mae: 0.0212 - mse: 8.1577e-04 - val_loss: 8.4703e-04 - val_mae: 0.0211 - val_mse: 8.4703e-04 - 165ms/epoch - 13ms/step\n", - "Epoch 80/250\n", - "13/13 - 0s - loss: 8.0555e-04 - mae: 0.0211 - mse: 8.0555e-04 - val_loss: 8.5652e-04 - val_mae: 0.0214 - val_mse: 8.5652e-04 - 131ms/epoch - 10ms/step\n", - "Epoch 81/250\n", - "13/13 - 0s - loss: 8.3478e-04 - mae: 0.0219 - mse: 8.3478e-04 - val_loss: 9.1057e-04 - val_mae: 0.0222 - val_mse: 9.1057e-04 - 166ms/epoch - 13ms/step\n", - "Epoch 82/250\n", - "13/13 - 0s - loss: 8.2593e-04 - mae: 0.0217 - mse: 8.2593e-04 - val_loss: 8.1172e-04 - val_mae: 0.0209 - val_mse: 8.1172e-04 - 143ms/epoch - 11ms/step\n", - "Epoch 83/250\n", - "13/13 - 0s - loss: 8.2887e-04 - mae: 0.0213 - mse: 8.2887e-04 - val_loss: 8.2033e-04 - val_mae: 0.0211 - val_mse: 8.2033e-04 - 115ms/epoch - 9ms/step\n", - "Epoch 84/250\n", - "13/13 - 0s - loss: 8.1454e-04 - mae: 0.0219 - mse: 8.1454e-04 - val_loss: 8.1589e-04 - val_mae: 0.0211 - val_mse: 8.1589e-04 - 148ms/epoch - 11ms/step\n", - "Epoch 85/250\n", - "13/13 - 0s - loss: 8.0777e-04 - mae: 0.0212 - mse: 8.0777e-04 - val_loss: 7.8637e-04 - val_mae: 0.0208 - val_mse: 7.8637e-04 - 282ms/epoch - 22ms/step\n", - "Epoch 86/250\n", - "13/13 - 0s - loss: 7.8107e-04 - mae: 0.0213 - mse: 7.8107e-04 - val_loss: 7.8138e-04 - val_mae: 0.0212 - val_mse: 7.8138e-04 - 246ms/epoch - 19ms/step\n", - "Epoch 87/250\n", - "13/13 - 0s - loss: 7.9729e-04 - mae: 0.0210 - mse: 7.9729e-04 - val_loss: 7.3667e-04 - val_mae: 0.0204 - val_mse: 7.3667e-04 - 237ms/epoch - 18ms/step\n", - "Epoch 88/250\n", - "13/13 - 0s - loss: 7.5931e-04 - mae: 0.0205 - mse: 7.5931e-04 - val_loss: 7.5522e-04 - val_mae: 0.0210 - val_mse: 7.5522e-04 - 208ms/epoch - 16ms/step\n", - "Epoch 89/250\n", - "13/13 - 0s - loss: 7.6036e-04 - mae: 0.0211 - mse: 7.6036e-04 - val_loss: 7.5503e-04 - val_mae: 0.0207 - val_mse: 7.5503e-04 - 193ms/epoch - 15ms/step\n", - "Epoch 90/250\n", - "13/13 - 0s - loss: 7.6322e-04 - mae: 0.0204 - mse: 7.6322e-04 - val_loss: 7.7629e-04 - val_mae: 0.0203 - val_mse: 7.7629e-04 - 168ms/epoch - 13ms/step\n", - "Epoch 91/250\n", - "13/13 - 0s - loss: 7.5436e-04 - mae: 0.0208 - mse: 7.5436e-04 - val_loss: 7.4549e-04 - val_mae: 0.0210 - val_mse: 7.4549e-04 - 156ms/epoch - 12ms/step\n", - "Epoch 92/250\n", - "13/13 - 0s - loss: 7.8479e-04 - mae: 0.0208 - mse: 7.8479e-04 - val_loss: 8.0607e-04 - val_mae: 0.0208 - val_mse: 8.0607e-04 - 137ms/epoch - 11ms/step\n", - "Epoch 93/250\n", - "13/13 - 0s - loss: 7.7194e-04 - mae: 0.0211 - mse: 7.7194e-04 - val_loss: 7.7994e-04 - val_mae: 0.0206 - val_mse: 7.7994e-04 - 174ms/epoch - 13ms/step\n", - "Epoch 94/250\n", - "13/13 - 0s - loss: 7.4802e-04 - mae: 0.0205 - mse: 7.4802e-04 - val_loss: 7.2386e-04 - val_mae: 0.0201 - val_mse: 7.2386e-04 - 303ms/epoch - 23ms/step\n", - "Epoch 95/250\n", - "13/13 - 0s - loss: 7.2616e-04 - mae: 0.0203 - mse: 7.2616e-04 - val_loss: 7.2728e-04 - val_mae: 0.0204 - val_mse: 7.2728e-04 - 129ms/epoch - 10ms/step\n", - "Epoch 96/250\n", - "13/13 - 0s - loss: 7.2310e-04 - mae: 0.0204 - mse: 7.2310e-04 - val_loss: 7.1349e-04 - val_mae: 0.0206 - val_mse: 7.1349e-04 - 218ms/epoch - 17ms/step\n", - "Epoch 97/250\n", - "13/13 - 0s - loss: 7.0905e-04 - mae: 0.0201 - mse: 7.0905e-04 - val_loss: 7.6242e-04 - val_mae: 0.0205 - val_mse: 7.6242e-04 - 128ms/epoch - 10ms/step\n", - "Epoch 98/250\n", - "13/13 - 0s - loss: 7.1839e-04 - mae: 0.0200 - mse: 7.1839e-04 - val_loss: 7.7098e-04 - val_mae: 0.0202 - val_mse: 7.7098e-04 - 147ms/epoch - 11ms/step\n", - "Epoch 99/250\n", - "13/13 - 0s - loss: 7.3924e-04 - mae: 0.0208 - mse: 7.3924e-04 - val_loss: 7.8554e-04 - val_mae: 0.0206 - val_mse: 7.8554e-04 - 130ms/epoch - 10ms/step\n", - "Epoch 100/250\n", - "13/13 - 0s - loss: 7.5556e-04 - mae: 0.0209 - mse: 7.5556e-04 - val_loss: 8.6021e-04 - val_mae: 0.0215 - val_mse: 8.6021e-04 - 174ms/epoch - 13ms/step\n", - "Epoch 101/250\n", - "13/13 - 0s - loss: 7.9288e-04 - mae: 0.0213 - mse: 7.9288e-04 - val_loss: 7.2968e-04 - val_mae: 0.0203 - val_mse: 7.2968e-04 - 125ms/epoch - 10ms/step\n", - "Epoch 102/250\n", - "13/13 - 0s - loss: 7.1861e-04 - mae: 0.0204 - mse: 7.1861e-04 - val_loss: 7.0941e-04 - val_mae: 0.0207 - val_mse: 7.0941e-04 - 260ms/epoch - 20ms/step\n", - "Epoch 103/250\n", - "13/13 - 0s - loss: 7.5092e-04 - mae: 0.0208 - mse: 7.5092e-04 - val_loss: 6.8788e-04 - val_mae: 0.0198 - val_mse: 6.8788e-04 - 275ms/epoch - 21ms/step\n", - "Epoch 104/250\n", - "13/13 - 0s - loss: 7.0460e-04 - mae: 0.0200 - mse: 7.0460e-04 - val_loss: 7.2570e-04 - val_mae: 0.0200 - val_mse: 7.2570e-04 - 125ms/epoch - 10ms/step\n", - "Epoch 105/250\n", - "13/13 - 0s - loss: 6.9255e-04 - mae: 0.0202 - mse: 6.9255e-04 - val_loss: 6.7411e-04 - val_mae: 0.0199 - val_mse: 6.7411e-04 - 275ms/epoch - 21ms/step\n", - "Epoch 106/250\n", - "13/13 - 0s - loss: 6.8175e-04 - mae: 0.0196 - mse: 6.8175e-04 - val_loss: 6.7593e-04 - val_mae: 0.0196 - val_mse: 6.7593e-04 - 157ms/epoch - 12ms/step\n", - "Epoch 107/250\n", - "13/13 - 0s - loss: 6.7018e-04 - mae: 0.0196 - mse: 6.7018e-04 - val_loss: 6.8702e-04 - val_mae: 0.0196 - val_mse: 6.8702e-04 - 183ms/epoch - 14ms/step\n", - "Epoch 108/250\n", - "13/13 - 0s - loss: 6.7955e-04 - mae: 0.0198 - mse: 6.7955e-04 - val_loss: 7.6778e-04 - val_mae: 0.0204 - val_mse: 7.6778e-04 - 192ms/epoch - 15ms/step\n", - "Epoch 109/250\n", - "13/13 - 1s - loss: 6.8953e-04 - mae: 0.0198 - mse: 6.8953e-04 - val_loss: 6.7251e-04 - val_mae: 0.0195 - val_mse: 6.7251e-04 - 516ms/epoch - 40ms/step\n", - "Epoch 110/250\n", - "13/13 - 0s - loss: 6.6819e-04 - mae: 0.0197 - mse: 6.6819e-04 - val_loss: 6.8310e-04 - val_mae: 0.0197 - val_mse: 6.8310e-04 - 146ms/epoch - 11ms/step\n", - "Epoch 111/250\n", - "13/13 - 0s - loss: 6.7136e-04 - mae: 0.0197 - mse: 6.7136e-04 - val_loss: 6.5858e-04 - val_mae: 0.0199 - val_mse: 6.5858e-04 - 208ms/epoch - 16ms/step\n", - "Epoch 112/250\n", - "13/13 - 0s - loss: 6.5784e-04 - mae: 0.0195 - mse: 6.5784e-04 - val_loss: 6.5838e-04 - val_mae: 0.0196 - val_mse: 6.5838e-04 - 215ms/epoch - 17ms/step\n", - "Epoch 113/250\n", - "13/13 - 0s - loss: 6.6861e-04 - mae: 0.0198 - mse: 6.6861e-04 - val_loss: 6.9871e-04 - val_mae: 0.0196 - val_mse: 6.9871e-04 - 149ms/epoch - 11ms/step\n", - "Epoch 114/250\n", - "13/13 - 0s - loss: 6.6345e-04 - mae: 0.0196 - mse: 6.6345e-04 - val_loss: 6.8190e-04 - val_mae: 0.0196 - val_mse: 6.8190e-04 - 141ms/epoch - 11ms/step\n", - "Epoch 115/250\n", - "13/13 - 0s - loss: 6.4121e-04 - mae: 0.0193 - mse: 6.4121e-04 - val_loss: 6.6493e-04 - val_mae: 0.0196 - val_mse: 6.6493e-04 - 166ms/epoch - 13ms/step\n", - "Epoch 116/250\n", - "13/13 - 0s - loss: 6.5036e-04 - mae: 0.0194 - mse: 6.5036e-04 - val_loss: 6.5858e-04 - val_mae: 0.0191 - val_mse: 6.5858e-04 - 107ms/epoch - 8ms/step\n", - "Epoch 117/250\n", - "13/13 - 0s - loss: 6.4983e-04 - mae: 0.0194 - mse: 6.4983e-04 - val_loss: 7.0443e-04 - val_mae: 0.0198 - val_mse: 7.0443e-04 - 109ms/epoch - 8ms/step\n", - "Epoch 118/250\n", - "13/13 - 0s - loss: 6.4994e-04 - mae: 0.0195 - mse: 6.4994e-04 - val_loss: 6.3181e-04 - val_mae: 0.0193 - val_mse: 6.3181e-04 - 296ms/epoch - 23ms/step\n", - "Epoch 119/250\n", - "13/13 - 0s - loss: 6.6252e-04 - mae: 0.0199 - mse: 6.6252e-04 - val_loss: 6.3527e-04 - val_mae: 0.0191 - val_mse: 6.3527e-04 - 165ms/epoch - 13ms/step\n", - "Epoch 120/250\n", - "13/13 - 0s - loss: 6.4578e-04 - mae: 0.0193 - mse: 6.4578e-04 - val_loss: 6.3127e-04 - val_mae: 0.0189 - val_mse: 6.3127e-04 - 190ms/epoch - 15ms/step\n", - "Epoch 121/250\n", - "13/13 - 0s - loss: 6.1375e-04 - mae: 0.0191 - mse: 6.1375e-04 - val_loss: 6.5351e-04 - val_mae: 0.0192 - val_mse: 6.5351e-04 - 125ms/epoch - 10ms/step\n", - "Epoch 122/250\n", - "13/13 - 0s - loss: 6.4650e-04 - mae: 0.0196 - mse: 6.4650e-04 - val_loss: 8.0733e-04 - val_mae: 0.0210 - val_mse: 8.0733e-04 - 142ms/epoch - 11ms/step\n", - "Epoch 123/250\n", - "13/13 - 0s - loss: 6.5887e-04 - mae: 0.0198 - mse: 6.5887e-04 - val_loss: 6.2666e-04 - val_mae: 0.0191 - val_mse: 6.2666e-04 - 278ms/epoch - 21ms/step\n", - "Epoch 124/250\n", - "13/13 - 0s - loss: 6.1387e-04 - mae: 0.0189 - mse: 6.1387e-04 - val_loss: 6.1020e-04 - val_mae: 0.0188 - val_mse: 6.1020e-04 - 246ms/epoch - 19ms/step\n", - "Epoch 125/250\n", - "13/13 - 0s - loss: 6.1348e-04 - mae: 0.0191 - mse: 6.1348e-04 - val_loss: 6.1093e-04 - val_mae: 0.0193 - val_mse: 6.1093e-04 - 135ms/epoch - 10ms/step\n", - "Epoch 126/250\n", - "13/13 - 0s - loss: 6.1374e-04 - mae: 0.0189 - mse: 6.1374e-04 - val_loss: 6.1062e-04 - val_mae: 0.0188 - val_mse: 6.1062e-04 - 174ms/epoch - 13ms/step\n", - "Epoch 127/250\n", - "13/13 - 0s - loss: 6.1279e-04 - mae: 0.0190 - mse: 6.1279e-04 - val_loss: 6.4391e-04 - val_mae: 0.0190 - val_mse: 6.4391e-04 - 142ms/epoch - 11ms/step\n", - "Epoch 128/250\n", - "13/13 - 0s - loss: 6.0951e-04 - mae: 0.0189 - mse: 6.0951e-04 - val_loss: 5.9592e-04 - val_mae: 0.0188 - val_mse: 5.9592e-04 - 249ms/epoch - 19ms/step\n", - "Epoch 129/250\n", - "13/13 - 0s - loss: 6.2194e-04 - mae: 0.0192 - mse: 6.2194e-04 - val_loss: 5.9344e-04 - val_mae: 0.0188 - val_mse: 5.9344e-04 - 279ms/epoch - 21ms/step\n", - "Epoch 130/250\n", - "13/13 - 0s - loss: 6.1795e-04 - mae: 0.0191 - mse: 6.1795e-04 - val_loss: 5.8880e-04 - val_mae: 0.0188 - val_mse: 5.8880e-04 - 356ms/epoch - 27ms/step\n", - "Epoch 131/250\n", - "13/13 - 0s - loss: 6.6297e-04 - mae: 0.0199 - mse: 6.6297e-04 - val_loss: 7.2306e-04 - val_mae: 0.0197 - val_mse: 7.2306e-04 - 151ms/epoch - 12ms/step\n", - "Epoch 132/250\n", - "13/13 - 0s - loss: 5.8788e-04 - mae: 0.0189 - mse: 5.8788e-04 - val_loss: 6.0686e-04 - val_mae: 0.0189 - val_mse: 6.0686e-04 - 102ms/epoch - 8ms/step\n", - "Epoch 133/250\n", - "13/13 - 0s - loss: 5.7425e-04 - mae: 0.0184 - mse: 5.7425e-04 - val_loss: 5.7895e-04 - val_mae: 0.0183 - val_mse: 5.7895e-04 - 239ms/epoch - 18ms/step\n", - "Epoch 134/250\n", - "13/13 - 0s - loss: 5.8783e-04 - mae: 0.0186 - mse: 5.8783e-04 - val_loss: 5.7846e-04 - val_mae: 0.0188 - val_mse: 5.7846e-04 - 285ms/epoch - 22ms/step\n", - "Epoch 135/250\n", - "13/13 - 0s - loss: 5.8541e-04 - mae: 0.0188 - mse: 5.8541e-04 - val_loss: 6.7887e-04 - val_mae: 0.0191 - val_mse: 6.7887e-04 - 178ms/epoch - 14ms/step\n", - "Epoch 136/250\n", - "13/13 - 0s - loss: 5.9158e-04 - mae: 0.0185 - mse: 5.9158e-04 - val_loss: 5.9231e-04 - val_mae: 0.0188 - val_mse: 5.9231e-04 - 113ms/epoch - 9ms/step\n", - "Epoch 137/250\n", - "13/13 - 0s - loss: 5.9616e-04 - mae: 0.0192 - mse: 5.9616e-04 - val_loss: 7.0218e-04 - val_mae: 0.0212 - val_mse: 7.0218e-04 - 138ms/epoch - 11ms/step\n", - "Epoch 138/250\n", - "13/13 - 0s - loss: 6.2132e-04 - mae: 0.0190 - mse: 6.2132e-04 - val_loss: 6.3436e-04 - val_mae: 0.0186 - val_mse: 6.3436e-04 - 144ms/epoch - 11ms/step\n", - "Epoch 139/250\n", - "13/13 - 0s - loss: 5.8416e-04 - mae: 0.0189 - mse: 5.8416e-04 - val_loss: 5.7793e-04 - val_mae: 0.0184 - val_mse: 5.7793e-04 - 279ms/epoch - 21ms/step\n", - "Epoch 140/250\n", - "13/13 - 0s - loss: 6.5695e-04 - mae: 0.0195 - mse: 6.5695e-04 - val_loss: 5.8062e-04 - val_mae: 0.0189 - val_mse: 5.8062e-04 - 174ms/epoch - 13ms/step\n", - "Epoch 141/250\n", - "13/13 - 0s - loss: 6.4168e-04 - mae: 0.0200 - mse: 6.4168e-04 - val_loss: 6.9879e-04 - val_mae: 0.0196 - val_mse: 6.9879e-04 - 118ms/epoch - 9ms/step\n", - "Epoch 142/250\n", - "13/13 - 0s - loss: 6.5517e-04 - mae: 0.0198 - mse: 6.5517e-04 - val_loss: 6.3928e-04 - val_mae: 0.0193 - val_mse: 6.3928e-04 - 120ms/epoch - 9ms/step\n", - "Epoch 143/250\n", - "13/13 - 0s - loss: 5.8456e-04 - mae: 0.0190 - mse: 5.8456e-04 - val_loss: 5.4596e-04 - val_mae: 0.0181 - val_mse: 5.4596e-04 - 304ms/epoch - 23ms/step\n", - "Epoch 144/250\n", - "13/13 - 0s - loss: 5.9458e-04 - mae: 0.0186 - mse: 5.9458e-04 - val_loss: 5.8598e-04 - val_mae: 0.0181 - val_mse: 5.8598e-04 - 178ms/epoch - 14ms/step\n", - "Epoch 145/250\n", - "13/13 - 0s - loss: 5.6787e-04 - mae: 0.0186 - mse: 5.6787e-04 - val_loss: 5.6263e-04 - val_mae: 0.0186 - val_mse: 5.6263e-04 - 131ms/epoch - 10ms/step\n", - "Epoch 146/250\n", - "13/13 - 0s - loss: 5.3545e-04 - mae: 0.0178 - mse: 5.3545e-04 - val_loss: 5.3802e-04 - val_mae: 0.0179 - val_mse: 5.3802e-04 - 396ms/epoch - 30ms/step\n", - "Epoch 147/250\n", - "13/13 - 0s - loss: 5.2310e-04 - mae: 0.0177 - mse: 5.2310e-04 - val_loss: 5.4103e-04 - val_mae: 0.0179 - val_mse: 5.4103e-04 - 151ms/epoch - 12ms/step\n", - "Epoch 148/250\n", - "13/13 - 0s - loss: 5.2826e-04 - mae: 0.0176 - mse: 5.2826e-04 - val_loss: 5.9310e-04 - val_mae: 0.0181 - val_mse: 5.9310e-04 - 155ms/epoch - 12ms/step\n", - "Epoch 149/250\n", - "13/13 - 0s - loss: 5.3295e-04 - mae: 0.0179 - mse: 5.3295e-04 - val_loss: 5.4002e-04 - val_mae: 0.0176 - val_mse: 5.4002e-04 - 120ms/epoch - 9ms/step\n", - "Epoch 150/250\n", - "13/13 - 0s - loss: 5.1491e-04 - mae: 0.0174 - mse: 5.1491e-04 - val_loss: 5.9602e-04 - val_mae: 0.0179 - val_mse: 5.9602e-04 - 137ms/epoch - 11ms/step\n", - "Epoch 151/250\n", - "13/13 - 0s - loss: 5.2334e-04 - mae: 0.0179 - mse: 5.2334e-04 - val_loss: 5.2811e-04 - val_mae: 0.0178 - val_mse: 5.2811e-04 - 315ms/epoch - 24ms/step\n", - "Epoch 152/250\n", - "13/13 - 0s - loss: 5.2768e-04 - mae: 0.0178 - mse: 5.2768e-04 - val_loss: 5.5139e-04 - val_mae: 0.0184 - val_mse: 5.5139e-04 - 198ms/epoch - 15ms/step\n", - "Epoch 153/250\n", - "13/13 - 0s - loss: 5.2962e-04 - mae: 0.0179 - mse: 5.2962e-04 - val_loss: 5.7462e-04 - val_mae: 0.0178 - val_mse: 5.7462e-04 - 129ms/epoch - 10ms/step\n", - "Epoch 154/250\n", - "13/13 - 0s - loss: 5.0260e-04 - mae: 0.0173 - mse: 5.0260e-04 - val_loss: 5.3387e-04 - val_mae: 0.0181 - val_mse: 5.3387e-04 - 131ms/epoch - 10ms/step\n", - "Epoch 155/250\n", - "13/13 - 0s - loss: 5.0501e-04 - mae: 0.0175 - mse: 5.0501e-04 - val_loss: 5.0751e-04 - val_mae: 0.0172 - val_mse: 5.0751e-04 - 267ms/epoch - 21ms/step\n", - "Epoch 156/250\n", - "13/13 - 0s - loss: 5.0518e-04 - mae: 0.0173 - mse: 5.0518e-04 - val_loss: 5.5553e-04 - val_mae: 0.0174 - val_mse: 5.5553e-04 - 182ms/epoch - 14ms/step\n", - "Epoch 157/250\n", - "13/13 - 0s - loss: 5.0064e-04 - mae: 0.0172 - mse: 5.0064e-04 - val_loss: 5.1205e-04 - val_mae: 0.0172 - val_mse: 5.1205e-04 - 160ms/epoch - 12ms/step\n", - "Epoch 158/250\n", - "13/13 - 0s - loss: 4.9541e-04 - mae: 0.0172 - mse: 4.9541e-04 - val_loss: 5.0799e-04 - val_mae: 0.0172 - val_mse: 5.0799e-04 - 131ms/epoch - 10ms/step\n", - "Epoch 159/250\n", - "13/13 - 0s - loss: 5.4153e-04 - mae: 0.0182 - mse: 5.4153e-04 - val_loss: 5.2077e-04 - val_mae: 0.0171 - val_mse: 5.2077e-04 - 172ms/epoch - 13ms/step\n", - "Epoch 160/250\n", - "13/13 - 0s - loss: 4.8280e-04 - mae: 0.0170 - mse: 4.8280e-04 - val_loss: 5.1410e-04 - val_mae: 0.0168 - val_mse: 5.1410e-04 - 164ms/epoch - 13ms/step\n", - "Epoch 161/250\n", - "13/13 - 0s - loss: 4.8993e-04 - mae: 0.0171 - mse: 4.8993e-04 - val_loss: 5.1744e-04 - val_mae: 0.0171 - val_mse: 5.1744e-04 - 169ms/epoch - 13ms/step\n", - "Epoch 162/250\n", - "13/13 - 0s - loss: 4.8044e-04 - mae: 0.0169 - mse: 4.8044e-04 - val_loss: 5.1099e-04 - val_mae: 0.0168 - val_mse: 5.1099e-04 - 188ms/epoch - 14ms/step\n", - "Epoch 163/250\n", - "13/13 - 0s - loss: 4.9657e-04 - mae: 0.0171 - mse: 4.9657e-04 - val_loss: 4.9877e-04 - val_mae: 0.0171 - val_mse: 4.9877e-04 - 258ms/epoch - 20ms/step\n", - "Epoch 164/250\n", - "13/13 - 0s - loss: 4.8858e-04 - mae: 0.0170 - mse: 4.8858e-04 - val_loss: 5.0099e-04 - val_mae: 0.0169 - val_mse: 5.0099e-04 - 150ms/epoch - 12ms/step\n", - "Epoch 165/250\n", - "13/13 - 0s - loss: 4.7747e-04 - mae: 0.0170 - mse: 4.7747e-04 - val_loss: 5.8449e-04 - val_mae: 0.0174 - val_mse: 5.8449e-04 - 158ms/epoch - 12ms/step\n", - "Epoch 166/250\n", - "13/13 - 0s - loss: 4.9897e-04 - mae: 0.0171 - mse: 4.9897e-04 - val_loss: 4.9512e-04 - val_mae: 0.0173 - val_mse: 4.9512e-04 - 265ms/epoch - 20ms/step\n", - "Epoch 167/250\n", - "13/13 - 0s - loss: 4.8695e-04 - mae: 0.0173 - mse: 4.8695e-04 - val_loss: 5.0306e-04 - val_mae: 0.0165 - val_mse: 5.0306e-04 - 151ms/epoch - 12ms/step\n", - "Epoch 168/250\n", - "13/13 - 0s - loss: 4.7948e-04 - mae: 0.0171 - mse: 4.7948e-04 - val_loss: 6.8895e-04 - val_mae: 0.0193 - val_mse: 6.8895e-04 - 128ms/epoch - 10ms/step\n", - "Epoch 169/250\n", - "13/13 - 0s - loss: 4.8055e-04 - mae: 0.0168 - mse: 4.8055e-04 - val_loss: 4.9053e-04 - val_mae: 0.0171 - val_mse: 4.9053e-04 - 234ms/epoch - 18ms/step\n", - "Epoch 170/250\n", - "13/13 - 0s - loss: 4.5980e-04 - mae: 0.0168 - mse: 4.5980e-04 - val_loss: 5.2267e-04 - val_mae: 0.0170 - val_mse: 5.2267e-04 - 167ms/epoch - 13ms/step\n", - "Epoch 171/250\n", - "13/13 - 0s - loss: 4.6495e-04 - mae: 0.0168 - mse: 4.6495e-04 - val_loss: 4.6718e-04 - val_mae: 0.0165 - val_mse: 4.6718e-04 - 243ms/epoch - 19ms/step\n", - "Epoch 172/250\n", - "13/13 - 0s - loss: 4.6046e-04 - mae: 0.0168 - mse: 4.6046e-04 - val_loss: 4.6731e-04 - val_mae: 0.0166 - val_mse: 4.6731e-04 - 148ms/epoch - 11ms/step\n", - "Epoch 173/250\n", - "13/13 - 0s - loss: 4.6993e-04 - mae: 0.0168 - mse: 4.6993e-04 - val_loss: 4.8190e-04 - val_mae: 0.0167 - val_mse: 4.8190e-04 - 143ms/epoch - 11ms/step\n", - "Epoch 174/250\n", - "13/13 - 0s - loss: 4.8411e-04 - mae: 0.0172 - mse: 4.8411e-04 - val_loss: 5.0800e-04 - val_mae: 0.0164 - val_mse: 5.0800e-04 - 131ms/epoch - 10ms/step\n", - "Epoch 175/250\n", - "13/13 - 0s - loss: 4.5295e-04 - mae: 0.0164 - mse: 4.5295e-04 - val_loss: 6.2583e-04 - val_mae: 0.0182 - val_mse: 6.2583e-04 - 136ms/epoch - 10ms/step\n", - "Epoch 176/250\n", - "13/13 - 0s - loss: 5.3742e-04 - mae: 0.0183 - mse: 5.3742e-04 - val_loss: 5.6727e-04 - val_mae: 0.0187 - val_mse: 5.6727e-04 - 141ms/epoch - 11ms/step\n", - "Epoch 177/250\n", - "13/13 - 0s - loss: 5.3634e-04 - mae: 0.0182 - mse: 5.3634e-04 - val_loss: 4.6197e-04 - val_mae: 0.0157 - val_mse: 4.6197e-04 - 316ms/epoch - 24ms/step\n", - "Epoch 178/250\n", - "13/13 - 0s - loss: 4.8847e-04 - mae: 0.0169 - mse: 4.8847e-04 - val_loss: 4.6646e-04 - val_mae: 0.0160 - val_mse: 4.6646e-04 - 214ms/epoch - 16ms/step\n", - "Epoch 179/250\n", - "13/13 - 0s - loss: 4.3622e-04 - mae: 0.0160 - mse: 4.3622e-04 - val_loss: 5.3203e-04 - val_mae: 0.0164 - val_mse: 5.3203e-04 - 181ms/epoch - 14ms/step\n", - "Epoch 180/250\n", - "13/13 - 0s - loss: 4.7108e-04 - mae: 0.0165 - mse: 4.7108e-04 - val_loss: 4.6548e-04 - val_mae: 0.0161 - val_mse: 4.6548e-04 - 144ms/epoch - 11ms/step\n", - "Epoch 181/250\n", - "13/13 - 0s - loss: 4.3932e-04 - mae: 0.0164 - mse: 4.3932e-04 - val_loss: 4.4195e-04 - val_mae: 0.0157 - val_mse: 4.4195e-04 - 302ms/epoch - 23ms/step\n", - "Epoch 182/250\n", - "13/13 - 0s - loss: 4.3340e-04 - mae: 0.0159 - mse: 4.3340e-04 - val_loss: 4.5463e-04 - val_mae: 0.0158 - val_mse: 4.5463e-04 - 216ms/epoch - 17ms/step\n", - "Epoch 183/250\n", - "13/13 - 0s - loss: 4.2639e-04 - mae: 0.0162 - mse: 4.2639e-04 - val_loss: 4.3874e-04 - val_mae: 0.0156 - val_mse: 4.3874e-04 - 296ms/epoch - 23ms/step\n", - "Epoch 184/250\n", - "13/13 - 0s - loss: 4.4119e-04 - mae: 0.0159 - mse: 4.4119e-04 - val_loss: 4.7791e-04 - val_mae: 0.0169 - val_mse: 4.7791e-04 - 195ms/epoch - 15ms/step\n", - "Epoch 185/250\n", - "13/13 - 0s - loss: 4.4805e-04 - mae: 0.0164 - mse: 4.4805e-04 - val_loss: 4.6275e-04 - val_mae: 0.0163 - val_mse: 4.6275e-04 - 119ms/epoch - 9ms/step\n", - "Epoch 186/250\n", - "13/13 - 0s - loss: 4.4495e-04 - mae: 0.0163 - mse: 4.4495e-04 - val_loss: 4.4746e-04 - val_mae: 0.0155 - val_mse: 4.4746e-04 - 115ms/epoch - 9ms/step\n", - "Epoch 187/250\n", - "13/13 - 0s - loss: 4.7030e-04 - mae: 0.0167 - mse: 4.7030e-04 - val_loss: 5.6234e-04 - val_mae: 0.0169 - val_mse: 5.6234e-04 - 147ms/epoch - 11ms/step\n", - "Epoch 188/250\n", - "13/13 - 0s - loss: 4.4920e-04 - mae: 0.0160 - mse: 4.4920e-04 - val_loss: 4.2347e-04 - val_mae: 0.0154 - val_mse: 4.2347e-04 - 451ms/epoch - 35ms/step\n", - "Epoch 189/250\n", - "13/13 - 0s - loss: 4.1850e-04 - mae: 0.0159 - mse: 4.1850e-04 - val_loss: 4.5828e-04 - val_mae: 0.0156 - val_mse: 4.5828e-04 - 110ms/epoch - 8ms/step\n", - "Epoch 190/250\n", - "13/13 - 0s - loss: 4.2816e-04 - mae: 0.0159 - mse: 4.2816e-04 - val_loss: 4.2983e-04 - val_mae: 0.0155 - val_mse: 4.2983e-04 - 121ms/epoch - 9ms/step\n", - "Epoch 191/250\n", - "13/13 - 0s - loss: 4.1442e-04 - mae: 0.0156 - mse: 4.1442e-04 - val_loss: 4.5135e-04 - val_mae: 0.0154 - val_mse: 4.5135e-04 - 173ms/epoch - 13ms/step\n", - "Epoch 192/250\n", - "13/13 - 0s - loss: 4.1126e-04 - mae: 0.0159 - mse: 4.1126e-04 - val_loss: 4.2590e-04 - val_mae: 0.0151 - val_mse: 4.2590e-04 - 149ms/epoch - 11ms/step\n", - "Epoch 193/250\n", - "13/13 - 0s - loss: 4.1197e-04 - mae: 0.0155 - mse: 4.1197e-04 - val_loss: 4.2111e-04 - val_mae: 0.0151 - val_mse: 4.2111e-04 - 243ms/epoch - 19ms/step\n", - "Epoch 194/250\n", - "13/13 - 0s - loss: 4.0958e-04 - mae: 0.0157 - mse: 4.0958e-04 - val_loss: 4.1117e-04 - val_mae: 0.0149 - val_mse: 4.1117e-04 - 272ms/epoch - 21ms/step\n", - "Epoch 195/250\n", - "13/13 - 0s - loss: 3.9243e-04 - mae: 0.0153 - mse: 3.9243e-04 - val_loss: 4.1405e-04 - val_mae: 0.0150 - val_mse: 4.1405e-04 - 136ms/epoch - 10ms/step\n", - "Epoch 196/250\n", - "13/13 - 0s - loss: 4.0300e-04 - mae: 0.0153 - mse: 4.0300e-04 - val_loss: 4.3989e-04 - val_mae: 0.0150 - val_mse: 4.3989e-04 - 151ms/epoch - 12ms/step\n", - "Epoch 197/250\n", - "13/13 - 0s - loss: 4.0142e-04 - mae: 0.0154 - mse: 4.0142e-04 - val_loss: 4.3665e-04 - val_mae: 0.0151 - val_mse: 4.3665e-04 - 160ms/epoch - 12ms/step\n", - "Epoch 198/250\n", - "13/13 - 0s - loss: 3.9936e-04 - mae: 0.0153 - mse: 3.9936e-04 - val_loss: 4.2897e-04 - val_mae: 0.0149 - val_mse: 4.2897e-04 - 114ms/epoch - 9ms/step\n", - "Epoch 199/250\n", - "13/13 - 0s - loss: 4.0143e-04 - mae: 0.0153 - mse: 4.0143e-04 - val_loss: 4.0877e-04 - val_mae: 0.0148 - val_mse: 4.0877e-04 - 209ms/epoch - 16ms/step\n", - "Epoch 200/250\n", - "13/13 - 0s - loss: 3.9668e-04 - mae: 0.0152 - mse: 3.9668e-04 - val_loss: 4.3571e-04 - val_mae: 0.0150 - val_mse: 4.3571e-04 - 198ms/epoch - 15ms/step\n", - "Epoch 201/250\n", - "13/13 - 0s - loss: 3.9516e-04 - mae: 0.0154 - mse: 3.9516e-04 - val_loss: 5.1984e-04 - val_mae: 0.0161 - val_mse: 5.1984e-04 - 147ms/epoch - 11ms/step\n", - "Epoch 202/250\n", - "13/13 - 0s - loss: 4.5166e-04 - mae: 0.0161 - mse: 4.5166e-04 - val_loss: 5.4696e-04 - val_mae: 0.0182 - val_mse: 5.4696e-04 - 128ms/epoch - 10ms/step\n", - "Epoch 203/250\n", - "13/13 - 0s - loss: 4.5904e-04 - mae: 0.0166 - mse: 4.5904e-04 - val_loss: 4.1240e-04 - val_mae: 0.0150 - val_mse: 4.1240e-04 - 137ms/epoch - 11ms/step\n", - "Epoch 204/250\n", - "13/13 - 0s - loss: 3.9851e-04 - mae: 0.0150 - mse: 3.9851e-04 - val_loss: 4.5210e-04 - val_mae: 0.0154 - val_mse: 4.5210e-04 - 141ms/epoch - 11ms/step\n", - "Epoch 205/250\n", - "13/13 - 0s - loss: 3.8760e-04 - mae: 0.0151 - mse: 3.8760e-04 - val_loss: 4.0982e-04 - val_mae: 0.0149 - val_mse: 4.0982e-04 - 121ms/epoch - 9ms/step\n", - "Epoch 206/250\n", - "13/13 - 0s - loss: 4.1937e-04 - mae: 0.0156 - mse: 4.1937e-04 - val_loss: 3.8857e-04 - val_mae: 0.0145 - val_mse: 3.8857e-04 - 294ms/epoch - 23ms/step\n", - "Epoch 207/250\n", - "13/13 - 0s - loss: 3.7173e-04 - mae: 0.0146 - mse: 3.7173e-04 - val_loss: 3.9353e-04 - val_mae: 0.0147 - val_mse: 3.9353e-04 - 146ms/epoch - 11ms/step\n", - "Epoch 208/250\n", - "13/13 - 0s - loss: 3.9673e-04 - mae: 0.0153 - mse: 3.9673e-04 - val_loss: 3.9003e-04 - val_mae: 0.0145 - val_mse: 3.9003e-04 - 115ms/epoch - 9ms/step\n", - "Epoch 209/250\n", - "13/13 - 0s - loss: 4.2359e-04 - mae: 0.0155 - mse: 4.2359e-04 - val_loss: 3.9027e-04 - val_mae: 0.0146 - val_mse: 3.9027e-04 - 150ms/epoch - 12ms/step\n", - "Epoch 210/250\n", - "13/13 - 0s - loss: 3.9302e-04 - mae: 0.0154 - mse: 3.9302e-04 - val_loss: 4.1320e-04 - val_mae: 0.0152 - val_mse: 4.1320e-04 - 167ms/epoch - 13ms/step\n", - "Epoch 211/250\n", - "13/13 - 0s - loss: 3.6641e-04 - mae: 0.0147 - mse: 3.6641e-04 - val_loss: 3.9564e-04 - val_mae: 0.0141 - val_mse: 3.9564e-04 - 167ms/epoch - 13ms/step\n", - "Epoch 212/250\n", - "13/13 - 0s - loss: 3.6259e-04 - mae: 0.0143 - mse: 3.6259e-04 - val_loss: 3.8787e-04 - val_mae: 0.0146 - val_mse: 3.8787e-04 - 309ms/epoch - 24ms/step\n", - "Epoch 213/250\n", - "13/13 - 0s - loss: 4.0665e-04 - mae: 0.0156 - mse: 4.0665e-04 - val_loss: 5.0910e-04 - val_mae: 0.0160 - val_mse: 5.0910e-04 - 158ms/epoch - 12ms/step\n", - "Epoch 214/250\n", - "13/13 - 0s - loss: 4.5758e-04 - mae: 0.0169 - mse: 4.5758e-04 - val_loss: 4.1241e-04 - val_mae: 0.0141 - val_mse: 4.1241e-04 - 125ms/epoch - 10ms/step\n", - "Epoch 215/250\n", - "13/13 - 0s - loss: 4.0666e-04 - mae: 0.0155 - mse: 4.0666e-04 - val_loss: 4.6639e-04 - val_mae: 0.0151 - val_mse: 4.6639e-04 - 177ms/epoch - 14ms/step\n", - "Epoch 216/250\n", - "13/13 - 0s - loss: 3.6615e-04 - mae: 0.0145 - mse: 3.6615e-04 - val_loss: 3.8294e-04 - val_mae: 0.0138 - val_mse: 3.8294e-04 - 253ms/epoch - 19ms/step\n", - "Epoch 217/250\n", - "13/13 - 0s - loss: 3.8135e-04 - mae: 0.0149 - mse: 3.8135e-04 - val_loss: 5.1259e-04 - val_mae: 0.0162 - val_mse: 5.1259e-04 - 136ms/epoch - 10ms/step\n", - "Epoch 218/250\n", - "13/13 - 0s - loss: 3.5877e-04 - mae: 0.0144 - mse: 3.5877e-04 - val_loss: 3.7918e-04 - val_mae: 0.0142 - val_mse: 3.7918e-04 - 254ms/epoch - 20ms/step\n", - "Epoch 219/250\n", - "13/13 - 0s - loss: 4.1097e-04 - mae: 0.0155 - mse: 4.1097e-04 - val_loss: 3.7973e-04 - val_mae: 0.0144 - val_mse: 3.7973e-04 - 167ms/epoch - 13ms/step\n", - "Epoch 220/250\n", - "13/13 - 0s - loss: 3.7840e-04 - mae: 0.0149 - mse: 3.7840e-04 - val_loss: 4.7988e-04 - val_mae: 0.0153 - val_mse: 4.7988e-04 - 157ms/epoch - 12ms/step\n", - "Epoch 221/250\n", - "13/13 - 0s - loss: 3.5545e-04 - mae: 0.0143 - mse: 3.5545e-04 - val_loss: 3.7230e-04 - val_mae: 0.0136 - val_mse: 3.7230e-04 - 218ms/epoch - 17ms/step\n", - "Epoch 222/250\n", - "13/13 - 0s - loss: 3.4610e-04 - mae: 0.0141 - mse: 3.4610e-04 - val_loss: 4.1371e-04 - val_mae: 0.0142 - val_mse: 4.1371e-04 - 141ms/epoch - 11ms/step\n", - "Epoch 223/250\n", - "13/13 - 0s - loss: 3.7775e-04 - mae: 0.0149 - mse: 3.7775e-04 - val_loss: 3.8045e-04 - val_mae: 0.0142 - val_mse: 3.8045e-04 - 176ms/epoch - 14ms/step\n", - "Epoch 224/250\n", - "13/13 - 0s - loss: 3.5911e-04 - mae: 0.0145 - mse: 3.5911e-04 - val_loss: 3.5609e-04 - val_mae: 0.0134 - val_mse: 3.5609e-04 - 421ms/epoch - 32ms/step\n", - "Epoch 225/250\n", - "13/13 - 0s - loss: 3.5933e-04 - mae: 0.0144 - mse: 3.5933e-04 - val_loss: 3.5900e-04 - val_mae: 0.0134 - val_mse: 3.5900e-04 - 159ms/epoch - 12ms/step\n", - "Epoch 226/250\n", - "13/13 - 0s - loss: 3.6466e-04 - mae: 0.0144 - mse: 3.6466e-04 - val_loss: 3.5378e-04 - val_mae: 0.0135 - val_mse: 3.5378e-04 - 307ms/epoch - 24ms/step\n", - "Epoch 227/250\n", - "13/13 - 0s - loss: 3.5876e-04 - mae: 0.0144 - mse: 3.5876e-04 - val_loss: 3.6523e-04 - val_mae: 0.0133 - val_mse: 3.6523e-04 - 193ms/epoch - 15ms/step\n", - "Epoch 228/250\n", - "13/13 - 0s - loss: 3.4559e-04 - mae: 0.0142 - mse: 3.4559e-04 - val_loss: 3.5907e-04 - val_mae: 0.0139 - val_mse: 3.5907e-04 - 133ms/epoch - 10ms/step\n", - "Epoch 229/250\n", - "13/13 - 0s - loss: 3.4162e-04 - mae: 0.0142 - mse: 3.4162e-04 - val_loss: 4.2194e-04 - val_mae: 0.0141 - val_mse: 4.2194e-04 - 107ms/epoch - 8ms/step\n", - "Epoch 230/250\n", - "13/13 - 0s - loss: 3.6967e-04 - mae: 0.0146 - mse: 3.6967e-04 - val_loss: 3.7720e-04 - val_mae: 0.0138 - val_mse: 3.7720e-04 - 165ms/epoch - 13ms/step\n", - "Epoch 231/250\n", - "13/13 - 0s - loss: 3.3735e-04 - mae: 0.0136 - mse: 3.3735e-04 - val_loss: 3.3976e-04 - val_mae: 0.0129 - val_mse: 3.3976e-04 - 276ms/epoch - 21ms/step\n", - "Epoch 232/250\n", - "13/13 - 0s - loss: 3.3844e-04 - mae: 0.0141 - mse: 3.3844e-04 - val_loss: 3.8716e-04 - val_mae: 0.0135 - val_mse: 3.8716e-04 - 134ms/epoch - 10ms/step\n", - "Epoch 233/250\n", - "13/13 - 0s - loss: 3.6741e-04 - mae: 0.0145 - mse: 3.6741e-04 - val_loss: 3.8668e-04 - val_mae: 0.0136 - val_mse: 3.8668e-04 - 146ms/epoch - 11ms/step\n", - "Epoch 234/250\n", - "13/13 - 0s - loss: 3.4129e-04 - mae: 0.0139 - mse: 3.4129e-04 - val_loss: 3.4933e-04 - val_mae: 0.0133 - val_mse: 3.4933e-04 - 165ms/epoch - 13ms/step\n", - "Epoch 235/250\n", - "13/13 - 0s - loss: 3.2338e-04 - mae: 0.0137 - mse: 3.2338e-04 - val_loss: 3.4566e-04 - val_mae: 0.0133 - val_mse: 3.4566e-04 - 153ms/epoch - 12ms/step\n", - "Epoch 236/250\n", - "13/13 - 0s - loss: 3.1652e-04 - mae: 0.0134 - mse: 3.1652e-04 - val_loss: 3.9728e-04 - val_mae: 0.0136 - val_mse: 3.9728e-04 - 187ms/epoch - 14ms/step\n", - "Epoch 237/250\n", - "13/13 - 0s - loss: 3.2047e-04 - mae: 0.0136 - mse: 3.2047e-04 - val_loss: 3.3756e-04 - val_mae: 0.0130 - val_mse: 3.3756e-04 - 209ms/epoch - 16ms/step\n", - "Epoch 238/250\n", - "13/13 - 0s - loss: 3.3167e-04 - mae: 0.0138 - mse: 3.3167e-04 - val_loss: 3.3191e-04 - val_mae: 0.0126 - val_mse: 3.3191e-04 - 175ms/epoch - 13ms/step\n", - "Epoch 239/250\n", - "13/13 - 0s - loss: 3.2033e-04 - mae: 0.0134 - mse: 3.2033e-04 - val_loss: 3.2969e-04 - val_mae: 0.0128 - val_mse: 3.2969e-04 - 234ms/epoch - 18ms/step\n", - "Epoch 240/250\n", - "13/13 - 0s - loss: 3.5224e-04 - mae: 0.0141 - mse: 3.5224e-04 - val_loss: 3.9061e-04 - val_mae: 0.0148 - val_mse: 3.9061e-04 - 130ms/epoch - 10ms/step\n", - "Epoch 241/250\n", - "13/13 - 0s - loss: 3.9777e-04 - mae: 0.0153 - mse: 3.9777e-04 - val_loss: 3.7065e-04 - val_mae: 0.0137 - val_mse: 3.7065e-04 - 122ms/epoch - 9ms/step\n", - "Epoch 242/250\n", - "13/13 - 0s - loss: 3.2502e-04 - mae: 0.0138 - mse: 3.2502e-04 - val_loss: 3.3236e-04 - val_mae: 0.0124 - val_mse: 3.3236e-04 - 128ms/epoch - 10ms/step\n", - "Epoch 243/250\n", - "13/13 - 0s - loss: 3.0734e-04 - mae: 0.0133 - mse: 3.0734e-04 - val_loss: 3.2635e-04 - val_mae: 0.0126 - val_mse: 3.2635e-04 - 321ms/epoch - 25ms/step\n", - "Epoch 244/250\n", - "13/13 - 0s - loss: 3.2928e-04 - mae: 0.0137 - mse: 3.2928e-04 - val_loss: 3.2871e-04 - val_mae: 0.0125 - val_mse: 3.2871e-04 - 167ms/epoch - 13ms/step\n", - "Epoch 245/250\n", - "13/13 - 0s - loss: 2.9711e-04 - mae: 0.0131 - mse: 2.9711e-04 - val_loss: 3.2920e-04 - val_mae: 0.0121 - val_mse: 3.2920e-04 - 129ms/epoch - 10ms/step\n", - "Epoch 246/250\n", - "13/13 - 0s - loss: 3.2661e-04 - mae: 0.0134 - mse: 3.2661e-04 - val_loss: 3.6936e-04 - val_mae: 0.0134 - val_mse: 3.6936e-04 - 191ms/epoch - 15ms/step\n", - "Epoch 247/250\n", - "13/13 - 0s - loss: 2.9618e-04 - mae: 0.0128 - mse: 2.9618e-04 - val_loss: 3.3549e-04 - val_mae: 0.0123 - val_mse: 3.3549e-04 - 119ms/epoch - 9ms/step\n", - "Epoch 248/250\n", - "13/13 - 0s - loss: 2.9979e-04 - mae: 0.0130 - mse: 2.9979e-04 - val_loss: 3.8099e-04 - val_mae: 0.0135 - val_mse: 3.8099e-04 - 122ms/epoch - 9ms/step\n", - "Epoch 249/250\n", - "13/13 - 0s - loss: 3.0599e-04 - mae: 0.0131 - mse: 3.0599e-04 - val_loss: 3.2729e-04 - val_mae: 0.0122 - val_mse: 3.2729e-04 - 150ms/epoch - 12ms/step\n", - "Epoch 250/250\n", - "13/13 - 0s - loss: 3.1256e-04 - mae: 0.0134 - mse: 3.1256e-04 - val_loss: 3.3855e-04 - val_mae: 0.0134 - val_mse: 3.3855e-04 - 127ms/epoch - 10ms/step\n" - ] }, { - "data": { - "image/png": "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7xbBwcHCxcVFZGVlCSGEeP7550WLFi3Ezz//LP744w8RGBgoAgMDFW517ZeXlycOHTokDh06JACI9957Txw6dEj89ddfQggh3n77beHo6Cg2bdokjh49KoYNGyZatmwpbt++Le0jNDRUPPLII+L3338Xv/32m2jbtq0YNWqUUm+p1nrQuc7LyxOzZ88WqampIi0tTezYsUM8+uijom3btuLOnTvSPniuKzd58mTh4OAgUlJSRHp6urTcunVLqlPZ74vi4mLRpUsXMXDgQHH48GGxdetW4erqKubMmaPEW6q1KjvXZ8+eFfPnzxd//PGHSEtLE5s2bRKtWrUSffr0kfZhznPNcCODDz74QLRo0UJYWlqKnj17ir179yrdpDotIiJCeHh4CEtLS9G8eXMREREhzp49K62/ffu2mDJlinBychI2NjbiqaeeEunp6Qq2uG7YuXOnAGC0REVFCSH008Fff/114ebmJrRarRgwYIA4ffq0wT6uXbsmRo0aJezs7IS9vb2Ijo4WeXl5Cryb2u1B5/rWrVti4MCBwtXVVTRq1Eh4e3uLZ5991ugPIp7rypV3jgGIlStXSnVM+X1x/vx5MWjQIGFtbS1cXFzErFmzxN27d838bmq3ys71hQsXRJ8+fYSzs7PQarWiTZs24sUXXxQ5OTkG+zHXuVbdazQRERFRvcAxN0RERFSvMNwQERFRvcJwQ0RERPUKww0RERHVKww3REREVK8w3BAREVG9wnBDRERE9QrDDRE1SCqVChs3blS6GURUAxhuiMjsxo8fD5VKZbSEhoYq3TQiqgcslG4AETVMoaGhWLlypUGZVqtVqDVEVJ+w54aIFKHVauHu7m6wODk5AdBfMvroo48waNAgWFtbo1WrVvjmm28Mtj927Bgef/xxWFtbo0mTJpg0aRLy8/MN6qxYsQKdO3eGVquFh4cHpk2bZrA+OzsbTz31FGxsbNC2bVt899130robN24gMjISrq6usLa2Rtu2bY3CGBHVTgw3RFQrvf766xg+fDiOHDmCyMhIjBw5EqdOnQIAFBQUICQkBE5OTti/fz/Wr1+PHTt2GISXjz76CFOnTsWkSZNw7NgxfPfdd2jTpo3BMebNm4dnnnkGR48exeDBgxEZGYnr169Lxz958iS2bNmCU6dO4aOPPoKLi4v5TgARPTzZH8VJRFSJqKgoodFohK2trcHy1ltvCSH0TyB+/vnnDbYJCAgQkydPFkII8cknnwgnJyeRn58vrf/xxx+FWq2Wnq7drFkz8eqrr1bYBgDitddek17n5+cLAGLLli1CCCGGDh0qoqOj5XnDRGRWHHNDRIro378/PvroI4MyZ2dn6efAwECDdYGBgTh8+DAA4NSpU/D19YWtra20vnfv3igpKcHp06ehUqlw5coVDBgw4IFt6Natm/Szra0t7O3tkZWVBQCYPHkyhg8fjoMHD2LgwIEICwtDr169Huq9EpF5MdwQkSJsbW2NLhPJxdra2qR6jRo1MnitUqlQUlICABg0aBD++usvbN68Gdu3b8eAAQMwdepULFy4UPb2EpG8OOaGiGqlvXv3Gr3u2LEjAKBjx444cuQICgoKpPW7d++GWq1G+/bt0bhxY/j4+CA5OblabXB1dUVUVBS++uorJCQk4JNPPqnW/ojIPNhzQ0SKKCwsREZGhkGZhYWFNGh3/fr18Pf3xz/+8Q98/fXX2LdvHz777DMAQGRkJOLi4hAVFYW5c+fi6tWrmD59OsaOHQs3NzcAwNy5c/H888+jadOmGDRoEPLy8rB7925Mnz7dpPbFxsbCz88PnTt3RmFhIX744QcpXBFR7cZwQ0SK2Lp1Kzw8PAzK2rdvjz///BOAfibTmjVrMGXKFHh4eGD16tXo1KkTAMDGxgbbtm3DjBkz0KNHD9jY2GD48OF47733pH1FRUXhzp07WLRoEWbPng0XFxeMGDHC5PZZWlpizpw5OH/+PKytrREUFIQ1a9bI8M6JqKaphBBC6UYQEZWlUqmwYcMGhIWFKd0UIqqDOOaGiIiI6hWGGyIiIqpXOOaGiGodXi0noupgzw0RERHVKww3REREVK8w3BAREVG9wnBDRERE9QrDDREREdUrDDdERERUrzDcEBERUb3CcENERET1CsMNERER1Sv/H/3nbZyJcUQcAAAAAElFTkSuQmCC", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "###############################################################################" ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import matplotlib.pyplot as plt\n", - "\n", - "# selected settings for regression (best fit from options above)\n", - "activation, optimizer, n_hidden_layers, n_nodes_per_layer = \"tanh\", \"Adam\", 4, 20\n", - "loss, metrics = \"mse\", [\"mae\", \"mse\"]\n", - "\n", - "# Create data objects for training using scalar normalization\n", - "n_inputs = len(input_labels)\n", - "n_outputs = len(output_labels)\n", - "x = input_data\n", - "y = output_data\n", - "\n", - "input_scaler = None\n", - "output_scaler = None\n", - "input_scaler = OffsetScaler.create_normalizing_scaler(x)\n", - "output_scaler = OffsetScaler.create_normalizing_scaler(y)\n", - "x = input_scaler.scale(x)\n", - "y = output_scaler.scale(y)\n", - "x = x.to_numpy()\n", - "y = y.to_numpy()\n", - "\n", - "# Create Keras Sequential object and build neural network\n", - "model = tf.keras.Sequential()\n", - "model.add(\n", - " tf.keras.layers.Dense(\n", - " units=n_nodes_per_layer, input_dim=n_inputs, activation=activation\n", - " )\n", - ")\n", - "for i in range(1, n_hidden_layers):\n", - " model.add(tf.keras.layers.Dense(units=n_nodes_per_layer, activation=activation))\n", - "model.add(tf.keras.layers.Dense(units=n_outputs, activation=keras.activations.linear))\n", - "\n", - "# Train surrogate (calls optimizer on neural network and solves for weights)\n", - "model.compile(loss=loss, optimizer=optimizer, metrics=metrics)\n", - "mcp_save = tf.keras.callbacks.ModelCheckpoint(\n", - " \".mdl_co2.keras\", save_best_only=True, monitor=\"val_loss\", mode=\"min\"\n", - ")\n", - "history = model.fit(\n", - " x=x, y=y, validation_split=0.2, verbose=2, epochs=250, callbacks=[mcp_save]\n", - ")\n", - "\n", - "# Get the training and validation MSE from the history\n", - "train_mse = history.history[\"mse\"]\n", - "val_mse = history.history[\"val_mse\"]\n", - "\n", - "# Generate a plot of training MSE vs validation MSE\n", - "epochs = range(1, len(train_mse) + 1)\n", - "plt.plot(epochs, train_mse, \"bo-\", label=\"Training MSE\")\n", - "plt.plot(epochs, val_mse, \"ro-\", label=\"Validation MSE\")\n", - "plt.title(\"Training MSE vs Validation MSE\")\n", - "plt.xlabel(\"Epochs\")\n", - "plt.ylabel(\"MSE\")\n", - "plt.legend()\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "INFO:tensorflow:Assets written to: keras_surrogate\\assets\n" - ] - } - ], - "source": [ - "# Adding input bounds and variables along with scalers and output variable to kerasSurrogate\n", - "xmin, xmax = [7, 306], [40, 1000]\n", - "input_bounds = {input_labels[i]: (xmin[i], xmax[i]) for i in range(len(input_labels))}\n", - "\n", - "keras_surrogate = KerasSurrogate(\n", - " model,\n", - " input_labels=list(input_labels),\n", - " output_labels=list(output_labels),\n", - " input_bounds=input_bounds,\n", - " input_scaler=input_scaler,\n", - " output_scaler=output_scaler,\n", - ")\n", - "keras_surrogate.save_to_folder(\n", - " keras_folder_name=\"sco2_keras_surr\", keras_model_name=\"sco2_keras_model\"\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.3 Visualizing Surrogates\n", - "\n", - "Now that the surrogate models have been trained, the models can be visualized through scatter, parity and residual plots to confirm their validity in the chosen domain. The training data will be visualized first to confirm the surrogates are fit the data, and then the validation data will be visualized to confirm the surrogates accurately predict new output values." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "13/13 [==============================] - 1s 3ms/step\n" - ] }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Supercritical CO2 Property Surrogate with OMLT Surrogate Object - Training Surrogate (Part 1)\n", + "\n", + "Maintainer: Javal Vyas\n", + "\n", + "Author: Javal Vyas\n", + "\n", + "Updated: 2024-01-24\n", + "\n", + "## 1. Introduction\n", + "This notebook illustrates the use of KerasSurrogate API leveraging TensorFlow Keras and OMLT package to produce an ML surrogate based on supercritical CO2 data from simulation using REFPROP package.\n", + "\n", + "There are several reasons to build surrogate models for complex processes, even when higher fidelity models already exist (e.g., reduce model size, improve convergence reliability, replace models with externally compiled code and make them fully-equation oriented).\n", + "\n", + "In this example, we intend to make a surrogate for the physical properties of S-CO2 to be embedded in the property package. This property package will be used to get the physical properties of S-CO2 in the flowsheet simulation. To learn more about property package, see the [IDAES-PSE](https://github.com/IDAES/idaes-pse) Github Page or IDAES [Read-the-docs](https://idaes-pse.readthedocs.io/en/latest/). \n", + "\n", + "### 1.1 Need for ML Surrogates\n", + "\n", + "The properties predicted by the surrogate are enthalpy and entropy of the S-CO2 based on the \n", + "pressure and temperature of the system. The analytical equation of getting the enthalpy and entropy from pressure and temperature are in the differential form and would make the problem a DAE system. To counter this problem and keep the problem algebraic, we will use the ML surrogates and relate enthalpy and entropy with the pressure and temperature as an algebraic equation.\n", + "\n", + "### 1.2 Supercritical CO2 cycle process\n", + "\n", + "The following flowsheet will be used to optimize the design for the cooling of the fusion reactor using supercritical CO2 cycle. We shall focus on training the surrogate for this notebook and move to constructing the flowsheet and the properties package in the subsequent notebooks. The take away from this flowsheet is that, 3 variables can be measured in any given unit which are flow, pressure and temperature and other properties can be calculated using them. Thus, surrogate should have pressure and temperature as the inputs.\n", + "\n", + "In this example, we will train a tanh model from our data and then demonstrate that we can solve an optimization problem with that surrogate model. " ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import Image\n", + "from pathlib import Path\n", + "\n", + "\n", + "def datafile_path(name):\n", + " return Path(\"..\") / name\n", + "\n", + "\n", + "Image(datafile_path(\"CO2_flowsheet.png\"))" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Training and Validating Surrogate\n", + "\n", + "First, let's import the required Python and IDAES modules:" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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YmJ8/jmIiIgaotUsdX3xxReYNWsWvvnmG+Tk5KCmpgZjx47F6dOn5WPuu+8+bNq0Cf/+97/xxRdfoKSkBFOmTGnGq67XElN/V1xxBQYPHowNGzYAsHdLfvHFF/HTTz9h1apV+OyzzzBv3jwAwLBhw7B06VJERESgtLQUpaWleOCBBwAANTU1ePzxx/HDDz/ggw8+QFFREWbMmNFkn4OIiMioVpPx+fjjj1U/r1y5EjExMdixYwdGjBgBq9WKFStWYPXq1bjiiisAAG+//TYuvPBCfPPNN7j00kub47JbvL59+2LPnj0AgOzsbPnxxMRE/P3vf8ddd92FV155BcHBwTCbzRAEQc4cSW677Tb59z179sSLL76Iiy++GKdOnUKHDh2a5HMQEREZ0WoyPo6sVisAoFOnTgCAHTt2oKamBhkZGfIxffv2Rffu3ZGXl6d7nnPnzqGyslL1y5+IoigvXW3duhVXXnklunXrhvDwcNx8882wWCw4c+aMy3Ps2LEDkyZNQvfu3REeHo6RI0cCAI4cOdLo109EROSJVhn42Gw2ZGdnY/jw4RgwYAAA4NixYwgODnbaddSlSxccO3ZM91yLFy+G2WyWfyUkJDTmpbc4+/btQ1JSEoqKijBx4kQMGjQI69evx44dO/CPf/wDgOvlt9OnT2PcuHGIiIjAe++9h++++w7/+c9/3L6OiIioObSapS6lWbNmoaCgAF9//XWDz/XQQw/h/vvvl3+urKz0m+Dns88+w48//oj77rsPO3bsgM1mw/PPPy8PX127dq3q+ODgYKcREj///DMsFgueeuop+b59//33TfMBiIioWbjapSytyNT/HI7y8ih06mSB2VwlP95c459aXeAze/ZsbN68GV9++SXi4+Plx7t27Yrq6mpUVFSosj6///67U02KUkhICEJCQhrzkluEc+fO4dixY6rt7IsXL8bEiRNxyy23oKCgADU1NXjppZcwadIkbN++Ha+99prqHImJiTh16hQ+/fRTDB48GGFhYejevTuCg4Px0ksv4a677kJBQQEef/zxZvqURETU2IzuUp42bRr+979YPPaYGTabAJNJxMKFv2HKlJMICgpCdXU1SktLm7yLc6sJfERRxN13343//Oc/+Pzzz5GUlKR6PjU1FUFBQfj0008xdepUAMD+/ftx5MgRpKenN8cltygff/wxYmNj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tcwFgNvZPfHggw+KX3zxhVhYWCju2bNHfPDBB0VBEMQtW7aIomjfutq9e3fxs88+E7///nsxPT1dTE9Pl18vbV0dO3asuHv3bvHjjz8WO3fu3Kq2rmpR7uoSRf+4D3PmzBE///xzsbCwUNy+fbuYkZEhRkdHi8ePHxdF0T/uwbfffisGBgaKTzzxhHjgwAHxvffeE8PCwsR3331XPuapp54SIyMjxf/+97/inj17xD/96U+a21mHDBki5ufni19//bXYu3fvFr2F11FdXZ3YvXt3cf78+U7P+cOfg+nTp4vdunWTt7Nv2LBBjI6OFufNmycf4w9/Dj7++GPxo48+En/99Vdxy5Yt4uDBg8W0tDSxurpaFMW2eQ+qqqrEXbt2ibt27RIBiEuWLBF37dolHj58WBRF33zmiooKsUuXLuLNN98sFhQUiO+//74YFhbG7exN5bbbbhN79OghBgcHi507dxavvPJKOegRRVE8e/as+Ne//lXs2LGjGBYWJv6///f/xNLSUtU5ioqKxKuuukoMDQ0Vo6OjxTlz5og1NTVN/VF8yjHw8Yf7kJmZKcbGxorBwcFit27dxMzMTFX/Gn+4B6Ioips2bRIHDBgghoSEiH379hWXL1+uet5ms4kPP/yw2KVLFzEkJES88sorxf3796uOsVgs4vXXXy926NBBjIiIEG+99VaxqqqqKT9Gg3zyySciAKfPJYr+8eegsrJSvPfee8Xu3buL7dq1E3v27CkuWLBAtf3YH/4crFmzRuzZs6cYHBwsdu3aVZw1a5ZYUVEhP98W78G2bdtEAE6/pk+fLoqi7z7zDz/8IF522WViSEiI2K1bN/Gpp55q0HULoqhor0lERETUhrHGh4iIiPwGAx8iIiLyGwx8iIiIyG8w8CEiIiK/wcCHiIiI/AYDHyIiIvIbDHyIiIjIbzDwISIiIr/BwIeIGmzUqFHIzs5u7stodI8++iguuuii5r4MImoABj5E5Peqq6ub9P1EUURtbW2TvicR2THwIaIGmTFjBr744gssW7YMgiBAEAQUFRWhoKAAV111FTp06IAuXbrg5ptvRllZmfy6UaNG4e6770Z2djY6duyILl264I033sDp06dx6623Ijw8HL169cJHH30kv+bzzz+HIAj48MMPMWjQILRr1w6XXnopCgoKVNf09ddf4/LLL0doaCgSEhJw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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# Import statements\n", + "import os\n", + "import numpy as np\n", + "import pandas as pd\n", + "import random as rn\n", + "import tensorflow as tf\n", + "import tensorflow.keras as keras\n", + "\n", + "# Import IDAES libraries\n", + "from idaes.core.surrogate.sampling.data_utils import split_training_validation\n", + "from idaes.core.surrogate.sampling.scaling import OffsetScaler\n", + "from idaes.core.surrogate.keras_surrogate import KerasSurrogate\n", + "from idaes.core.surrogate.plotting.sm_plotter import (\n", + " surrogate_scatter2D,\n", + " surrogate_parity,\n", + " surrogate_residual,\n", + ")\n", + "\n", + "# fix environment variables to ensure consist neural network training\n", + "os.environ[\"PYTHONHASHSEED\"] = \"0\"\n", + "os.environ[\"CUDA_VISIBLE_DEVICES\"] = \"\"\n", + "np.random.seed(46)\n", + "rn.seed(1342)\n", + "tf.random.set_seed(62)" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "13/13 [==============================] - 0s 3ms/step\n" - ] - }, - { - "data": { - "image/png": "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TFC3bl3MmDED2dnZJfq6W7duLfTm8QcPHoRCoUBycvIrX4OIiIouPj4+X8H2f/8XiKNH6wEA7OzUy3jkHRotT9jTRqWuQ4cOWLNmDTIyMrBr1y6MGDECxsbGCA4OlsVlZmbCxMSkWF6zUqVKOnENIiLKT6kEfvtNiRo1oqW2u3cb4f33eyAsTN27Zm6uLtgGDCib96sVBnvaqNSZmprCwcEBNWvWxLBhw+Dj4wOlUgl/f39069YNs2bNQrVq1eDq6goAuHnzJj766CPY2tqiUqVK6Nq1K65fvy5dLycnB+PGjYOtrS3s7OwQEBAAIYTsNd955x2MGTNGOs7IyEBgYCCcnJxgamqKunXr4rvvvsP169fh/d9KjBUrVoRCoYC/v3+B13j48CH69++PihUrwsLCAh07dsSVK1ek82vXroWtrS0iIiLg7u4OKysrdOjQAXfv3pViDh48iFatWsHS0hK2trZ48803cePGjWL6TRMR6TalEmjUKBPR0aGygu348X6ws+shTSrw9AScnYHYWHXBpm87GRQXFm2kdebm5sjMzAQAREZGIjY2Fvv27cOOHTuQlZUFX19fVKhQAX/++ScOHz4sFT+a58yfPx9r167F6tWr8ddffyEpKQm//vrrC1+zf//+2LBhAxYvXoxLly7hm2++gZWVFZycnPDLL78AAGJjY3H37l18/fXXBV7D398fJ06cgFKpRFRUFIQQeP/992V74D158gTz5s3DDz/8gD/++APx8fGYMGECAPU09m7duuHtt9/G2bNnERUVhc8++wwKheK1f6dERPpg/vw4fPjhHFnb778HY+fO2li8WL18h6ZICw/Xv71CixuHR0lrhBCIjIxEREQERo0ahfv378PS0hKrVq2ShkV//PFHqFQqrFq1Sipm1qxZA1tbWxw8eBDt27fHokWLEBwcjO7duwMAVq5ciYiIiOe+7uXLl7F582bs27cPPj4+AIDatWtL5zXDoFWqVIGtrW2B17hy5QqUSiUOHz4Mr/82sVu/fj2cnJywbds2fPjhhwDUN9SuXLkSderUAQCMHDkSM2bMAACkpqYiJSUFnTt3ls67u7sX/RdJRKSHtm7dinbtzknHlSo1xahRXdGsGZCTA1Svrp5wkHcbqvLYu5YXe9oISqV681ylsnReb8eOHbCysoKZmRk6duyIXr16Yfr06QCAxo0b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iIgAsGij/2RkZCAsLEzWNmDAANSqVUs7CREREZEMizbC1atX8eOPP8ragoODYWJioqWMiIiI6Fks2sq5LVu24OLFi9JxixYt0LlzZy1mRERERAVh0VZOpaenY+7cubK2gQMHwsnJSUsZERER0YuwaCuHLl++jA0bNsjaJk2aBGNjYy1lRERERC/Doq0cyluwtW7dGr6+vlrMhoiIiAqDRVs5NmTIEFSrVk3baRAREVEhKIQQQttJUMFSU1NhY2ODlJQUWFtbazsdIiIiKoSS+v42KLYrEREREVGJYdFGREREpAdYtBERERHpARZtRERERHqARRsRERGRHmDRRkRERKQHWLQRERER6QEWbURERER6gEUbERERkR5g0UZERESkB1i0EREREekBFm1EREREeoBFGxEREZEeYNFGREREpAeMtJ0APZ8QAgCQmpqq5UyIiIiosDTf25rv8eLCok2HPXr0CADg5OSk5UyIiIioqB49egQbG5tiu55CFHcZSMVGpVLhzp07qFChAhQKhbbTKVWpqalwcnLCzZs3YW1tre10KA9+NrqLn43u4mej24r78xFC4NGjR6hWrRoMDIrvTjT2tOkwAwMD1KhRQ9tpaJW1tTX/gdNR/Gx0Fz8b3cXPRrcV5+dTnD1sGpyIQERERKQHWLQRERER6QEWbaSTTE1NERISAlNTU22nQs/gZ6O7+NnoLn42uk1fPh9ORCAiIiLSA+xpIyIiItIDLNqIiIiI9ACLNiIiIiI9wKKNiIiISA+waKNil5GRgaZNm0KhUOD06dOyc2fPnkXbtm1hZmYGJycnhIeH53v+li1b4ObmBjMzMzRu3Bi7du2SnRdCYNq0aXB0dIS5uTl8fHxw5coVWUxSUhL69u0La2tr2NraYtCgQUhLSytyLmWFn58fnJ2dYWZmBkdHR/Tr1w937tyRxWzevBlNmzaFhYUFatasia+++irfdQ4ePIjmzZvD1NQUdevWxdq1a/PFLFu2DLVq1YKZmRk8PDzw999/y86np6djxIgRsLOzg5WVFXr06IF79+7JYuLj49GpUydYWFigSpUqmDhxIrKzs1//F6GDCvPZREREoHXr1qhQoQLs7e3Ro0cPXL9+XRbDz6ZkvOzzmT59OhQKRb6HpaWl7Dr8d634FebvjhAC8+bNQ/369WFqaorq1atj1qxZshi9+rsjiIrZ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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.1 Importing Training and Validation Datasets\n", + "\n", + "In this section, we read the dataset from the CSV file located in this directory. 500 data points were simulated for S-CO2 physical properties using REFPROP package. This example is trained on the entire dataset because neural network can overfit on smaller dataset. The data is separated using an 80/20 split into training and validation data using the IDAES split_training_validation() method.\n", + "\n", + "We rename the column headers because they contained \".\", which may cause errors while reading the column names in subsequent code, thus as a good practice we change them to the variable names to be used in the property package. Further, the input variables are **pressure**, **temperature** , while the output variables are **enth_mol**, **entr_mol**, hence we create two new dataframes for the input and output variables. " ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# Import training data\n", + "np.set_printoptions(precision=6, suppress=True)\n", + "\n", + "csv_data = pd.read_csv(datafile_path(\"500_Points_DataSet.csv\"))\n", + "csv_data.columns.values[0:6] = [\n", + " \"pressure\",\n", + " \"temperature\",\n", + " \"enth_mol\",\n", + " \"entr_mol\",\n", + " \"CO2_enthalpy\",\n", + " \"CO2_entropy\",\n", + "]\n", + "data = csv_data.sample(n=500)\n", + "\n", + "# Creating input_data and output_data from data\n", + "input_data = data.iloc[:, :2]\n", + "output_data = data.iloc[:, 2:4]\n", + "\n", + "# Define labels, and split training and validation data\n", + "input_labels = input_data.columns\n", + "output_labels = output_data.columns\n", + "\n", + "n_data = data[input_labels[0]].size\n", + "data_training, data_validation = split_training_validation(data, 0.8, seed=n_data)" ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "13/13 [==============================] - 0s 4ms/step\n" - ] }, { - "data": { - "image/png": "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WpZPPvkE1dXV+Pjjj5GUlCS+/vnnnztNv9ratm2Lw4cPw2w229QSHT9+XHwfkA/2iEg59iEiItX069cPN910E5YuXYqrV68iJiYG/fr1w+uvv46SkpJ621+4cEH8759//tnmvWbNmqF9+/aorq6W/b4hQ4YAAF5++WWb15cuXVpv29TUVJhMJhw+fFh8raSkpN5s0cHBwQAAQRDE10wmE1atWiWbDm+58847UVpairVr14qvXb9+Ha+88gqaNWuGvn37AgDCw8MBQDLgIyJlWENERKqaNWsW/ud//gerV6/G5MmT8eqrr6JPnz5IT0/HpEmT0K5dO5w7dw75+fn48ccf8c033wAA0tLS0K9fP/To0QORkZHYv38/PvjgA0ybNk32u7p164YHHngAr732GkwmE2699VZs27YNJ0+erLftyJEjMWfOHNx33314/PHHUVlZiWXLlqFjx444ePCguN2gQYMQEhKCu+++G4888giuXLmCFStWICYmRjKo86aHH34Yr7/+OsaOHYsDBw4gOTkZH3zwAb788kssXboUzZs3B1DXCTwtLQ1r165Fx44dERkZia5du6Jr164+TS+RX9N6mBsR+R/LsPt9+/bVe6+2tlZITU0VUlNThevXrwuCIAiFhYXC6NGjhbi4OKFx48ZC69athbvuukv44IMPxM8999xzwk033SS0aNFCCAsLEzp37iz87//+r1BTUyNuIzVEvqqqSnj88ceFVq1aCU2bNhXuvvtu4cyZM5LD0D/77DOha9euQkhIiNCpUyfhnXfekdznxx9/LGRkZAhNmjQRkpOTheeff1548803BQBCUVGRuJ0rw+6dTSkgt79z584J48aNE6KiooSQkBAhPT1dWLVqVb3P7tmzR+jRo4cQEhLCIfhEbjAIglW9MBEREVEAYh8iIiIiCngMiIiIiCjgMSAiIiKigKdpQLRs2TJkZGQgIiICERERyMrKwqZNm8T3+/XrJ67cbPk3efJkm30UFxcjNzcX4eHhiImJwaxZs3D9+nWbbXbs2IEbb7wRoaGhaN++PVavXu2LwyMiIiI/oemw+zZt2mDx4sXo0KEDBEHAW2+9hXvvvReHDh3CDTfcAACYNGkSFi5cKH7GMt8GUDfDbG5uLuLi4rBnzx6UlJRg9OjRaNy4MRYtWgQAKCoqQm5uLiZPnox3330X27Ztw8SJExEfHy87cy4REREFFt2NMouMjMQLL7yACRMmoF+/fujWrZvkJGsAsGnTJtx11104e/YsYmNjAQDLly/HnDlzcOHCBYSEhGDOnDnYuHEjjh49Kn5u5MiRKCsrw+bNm31xSERERKRzupmYsba2Fu+//z4qKiqQlZUlvv7uu+/inXfeQVxcHO6++27Mnz9frCXKz89Henq6GAwBQE5ODqZMmYJjx46he/fuyM/Pr7dkQE5OjsurYZvNZpw9exbNmzfnNPlERER+QhAE/PLLL0hISKi3ULI1zQOiI0eOICsrC1evXkWzZs2wfv16pKWlAQBGjRqFtm3bIiEhAYcPH8acOXNw4sQJrFu3DgBQWlpqEwwBEP8uLS11uE15eTmqqqoQFhYmma7q6mqbJQN++uknMV1ERETkX86cOYM2bdrIvq95QNSpUycUFBTAZDLhgw8+wJgxY7Bz506kpaXh4YcfFrdLT09HfHw8BgwYgMLCQqSmpno1XXl5eViwYEG918+cOYOIiAivfjcRERGpo7y8HImJieJSN3I0D4hCQkLQvn17AECPHj2wb98+vPTSS3j99dfrbXvzzTcDAE6ePInU1FTExcXh66+/ttnm3LlzAIC4uDjx/y2vWW8TEREhWzsEAPPmzcPMmTPFvy0n1DIijoiIiPyHs+4uupuHyGw2y65uXVBQAACIj48HAGRlZeHIkSM4f/68uM3WrVsREREhNm9lZWVh27ZtNvvZunWrTT8lKaGhoWLwwyCIiIioYdO0hmjevHkYMmQIkpKS8Msvv2DNmjXYsWMHtmzZgsLCQqxZswZ33nknWrVqhcOHD2PGjBnIzs5GRkYGgLpVqdPS0vDQQw9hyZIlKC0txVNPPYWpU6ciNDQUADB58mT8/e9/x+zZszF+/Hhs374d//rXv7Bx40YtD52IiIh0RNOA6Pz58xg9ejRKSkpgNBqRkZGBLVu24I477sCZM2fwn//8B0uXLkVFRQUSExMxfPhwPPXUU+Lng4ODsWHDBkyZMgVZWVlo2rQpxowZYzNvUUpKCjZu3IgZM2bgpZdeQps2bbBy5UrOQUREREQi3c1DpFfl5eUwGo0wmUxsPiMiamBqa2tx7do1rZNBbmjcuDGCg4Nl31dafmveqZqIiEgrgiCgtLQUZWVlWieFPNCiRQvExcV5NE8gAyIiIgpYlmAoJiYG4eHhnHjXzwiCgMrKSnFwlWXQlTsYEBERUUCqra0Vg6FWrVppnRxyk2UKnfPnzyMmJsZh85kjuht2T0RE5AuWPkPWi4aTf7L8hp70A2NAREREAY3NZP5Pjd+QAREREREFPAZEREREBKCupuWjjz7SOhk2duzYAYPB4PWRgAyIGpASUxX2FF5EialK66QQEZGOPfvss+jWrZvWydAVjjJrINbuK8a8dUdgFoAgA5A3LB0jeiVpnSwiIiK/wBqiBqDEVCUGQwBgFoAn1x1lTRERUQNlNpuRl5eHlJQUhIWFITMzEx988AGA35qYtm3bhp49eyI8PBy33norTpw4AQBYvXo1FixYgG+++QYGgwEGgwGrV68W933x4kXcd999CA8PR4cOHfDxxx8rSpPle7ds2YLu3bsjLCwMt99+O86fP49NmzahS5cuiIiIwKhRo1BZWSl+rrq6Go8//jhiYmLQpEkT9OnTB/v27VPvZCnEgKgBKLpYIQZDFrWCgFMXK6U/QEREqvNlt4W8vDy8/fbbWL58OY4dO4YZM2bg97//PXbu3Clu86c//Ql//etfsX//fjRq1Ajjx48HAIwYMQJ//OMfccMNN6CkpAQlJSUYMWKE+LkFCxbgd7/7HQ4fPow777wTDz74IC5duqQ4bc8++yz+/ve/Y8+ePThz5gx+97vfYenSpVizZg02btyIzz77DK+88oq4/ezZs/Hhhx/irbfewsGDB9G+fXvk5OS49J1qYEDUAKRENUWQ3YjDYIMByVGcW4OIyBfW7itG78XbMWrFXvRevB1r9xV77buqq6uxaNEivPnmm8jJyUG7du0wduxY/P73v8frr78ubve///u/6Nu3L9LS0jB37lzs2bMHV69eRVhYGJo1a4ZGjRohLi4OcXFx4uSGADB27Fg88MADaN++PRYtWoQrV67g66+/Vpy+5557Dr1790b37t0xYcIE7Ny5E8uWLUP37t1x22234f7778fnn38OAKioqMCyZcvwwgsvYMiQIUhLS8OKFSsQFhaGN954Q72TpgADogYg3hiGvGHpCP51HoZggwGLhnVFvDHMySeJiMhTvu62cPLkSVRWVuKOO+5As2bNxH9vv/02CgsLxe0yMjLE/7YsaWFZ4sIR6881bdoUERERij4n9fnY2FiEh4ejXbt2Nq9Z9ldYWIhr166hd+/e4vuNGzfGTTfdhO+++07xd6qBnaobiBG9kpDdMRqnLlYiOSqcwRARkY846rbgjXvxlStXAAAbN25E69atbd4LDQ0Vg6LGjRuLr1smLjSbzU73b/05y2eVfE7q8waDweP9+QoDogYk3hjGQIiIyMcs3RasgyJvdltIS0tDaGgoiouL0bdv33rvW9cSyQkJCUFtba03kueS1NRUhISE4Msvv0Tbtm0B1C2/sW/fPkyfPt2naWFARERE5AFLt4Un1x1FrSB4vdtC8+bN8cQTT2DGjBkwm83o06cPTCYTvvzyS0RERIiBhSPJyckoKipCQUEB2rRpg+bNmyM0NNQr6XWkadOmmDJlCmbNmoXIyEgkJSVhyZIlqKysxIQJE3yaFgZEREREHvJ1t4U///nPiI6ORl5eHn744Qe0aNECN954I5588klFzVHDhw/HunXr0L9/f5SVlWHVqlUYO3asV9MsZ/HixTCbzXjooYfwyy+/oGfPntiyZQtatmzp03QYBEEQnG9G5eXlMBqNMJlMiIiI0Do5RETkoatXr6KoqAgpKSlo0qSJ1skhDzj6LZWW3xxlRkRERAGPARERERE5NXnyZJth/tb/Jk+erHXyPMY+REREROTUwoUL8cQTT0i+1xC6kjAgIiIiIqdiYmIQExOjdTK8hk1mREREFPAYEBERUUDT46zJ5Bo1fkM2mRERUUAKCQlBUFAQzp49i+joaISEhIhLXJB/EAQBNTU1uHDhAoKCghASEuL2vhgQERFRQAoKCkJKSgpKSkpw9uxZrZNDHggPD0dSUhKCgtxv+GJAREREASskJARJSUm4fv26Ltb2ItcFBwejUaNGHtfuMSAiIqKAZlmR3X5Vdgos7FRNREREAY8BEREREQU8BkREREQU8BgQERERUcBjQEREREQBjwERERERBTwGRERERBTwGBARERFRwGNARERERAGPAREREREFPAZEREREFPAYEBEREVHA0zQgWrZsGTIyMhAREYGIiAhkZWVh06ZN4vtXr17F1KlT0apVKzRr1gzDhw/HuXPnbPZRXFyM3NxchIeHIyYmBrNmzcL169dtttmxYwduvPFGhIaGon379li9erUvDo+IiIj8hKYBUZs2bbB48WIcOHAA+/fvx+233457770Xx44dAwDMmDEDn3zyCd5//33s3LkTZ8+exbBhw8TP19bWIjc3FzU1NdizZw/eeustrF69Gk8//bS4TVFREXJzc9G/f38UFBRg+vTpmDhxIrZs2eLz4yUiIiJ9MgiCIGidCGuRkZF44YUXcP/99yM6Ohpr1qzB/fffDwA4fvw4unTpgvz8fNxyyy3YtGkT7rrrLpw9exaxsbEAgOXLl2POnDm4cOECQkJCMGfOHGzcuBFHjx4Vv2PkyJEoKyvD5s2bFaervLwcRqMRJpMJERER6h40EREReYXS8ls3fYhqa2vxz3/+ExUVFcjKysKBAwdw7do1DBw4UNymc+fOSEpKQn5+PgAgPz8f6enpYjAEADk5OSgvLxdrmfLz8232YdnGsg851dXVKC8vt/lHREREDZPmAdGRI0fQrFkzhIaGYvLkyVi/fj3S0tJQWlqKkJAQtGjRwmb72NhYlJaWAgBKS0ttgiHL+5b3HG1TXl6Oqqoq2XTl5eXBaDSK/xITEz09VCIiItIpzQOiTp06oaCgAHv37sWUKVMwZswYfPvtt1onC/PmzYPJZBL/nTlzRuskERERkZc00joBISEhaN++PQCgR48e2LdvH1566SWMGDECNTU1KCsrs6klOnfuHOLi4gAAcXFx+Prrr232ZxmFZr2N/ci0c+fOISIiAmFhYbLpCg0NRWhoqMfHR0RERPqneQ2RPbPZjOrqavTo0QONGzfGtm3bxPdOnDiB4uJiZGVlAQCysrJw5MgRnD9/Xtxm69atiIiIQFpamriN9T4s21j2QURERKRpDdG8efMwZMgQJCUl4ZdffsGaNWuwY8cObNmyBUajERMmTMDMmTMRGRmJiIgIPPbYY8jKysItt9wCABg0aBDS0tLw0EMPYcmSJSgtLcVTTz2FqVOnirU7kydPxt///nfMnj0b48ePx/bt2/Gvf/0LGzdu1PLQiYiISEc0DYjOnz+P0aNHo6SkBEajERkZGdiyZQvuuOMOAMCLL76IoKAgDB8+HNXV1cjJycFrr70mfj44OBgbNmzAlClTkJWVhaZNm2LMmDFYuHChuE1KSgo2btyIGTNm4KWXXkKbNm2wcuVK5OTk+Px4iYiISJ90Nw+RXnEeIiIiIv/jd/MQEREREWmFAREREREFPAZEREREFPAYEBEpUGKqwp7Ciygxyc9uTkRE/kvziRmJ9G7tvmLMW3cEZgEIMgB5w9IxoleS1skiIiIVsYaIyIESU5UYDAGAWQCeXHeUNUVERA0MAyIiB4ouVojBkEWtIODUxUptEkRERF7BgIjIgZSopggy2L4WbDAgOSpcmwQREZFXMCAiciDeGIa8YekINtRFRcEGAxYN64p4o/zCwERE5H/YqZrIiRG9kpDdMRqnLlYiOSqcwRARUQPEgIhIgXhjGAMhIqIGjE1mREREFPAYEBEREVHAY0BEREREAY8BEREREQU8BkREREQU8BgQERERUcBjQEREREQBjwERERERBTwGRERERBTwGBARERFRwGNARERERAGPAREREREFPAZEREREFPAYEBEREVHAY0BEREREAY8BEZHGSkxV2FN4ESWmKq2TQkQUsBppnQCiQLZ2XzHmrTsCswAEGYC8YekY0StJ62QREQUc1hARaaTEVCUGQwBgFoAn1x1lTRERkQYYEBFppOhihRgMWdQKAk5drNQmQUREAYwBEZFGUqKaIshg+1qwwYDkqHBtEkREFMAYEBFpJN4Yhrxh6Qg21EVFwQYDFg3rinhjmMYpIyIKPOxUTaShEb2SkN0xGqcuViI5KpzBEBGRRhgQEWks3hjGQIiISGNsMiMiIqKAx4CIiIiIAh4DIiIiIgp4DIiIiIgo4DEgIiIiooCnaUCUl5eHXr16oXnz5oiJicHQoUNx4sQJm2369esHg8Fg82/y5Mk22xQXFyM3Nxfh4eGIiYnBrFmzcP36dZttduzYgRtvvBGhoaFo3749Vq9e7e3DIyIiIj+haUC0c+dOTJ06FV999RW2bt2Ka9euYdCgQaioqLDZbtKkSSgpKRH/LVmyRHyvtrYWubm5qKmpwZ49e/DWW29h9erVePrpp8VtioqKkJubi/79+6OgoADTp0/HxIkTsWXLFp8dKxEREemXQRAEwflmvnHhwgXExMRg586dyM7OBlBXQ9StWzcsXbpU8jObNm3CXXfdhbNnzyI2NhYAsHz5csyZMwcXLlxASEgI5syZg40bN+Lo0aPi50aOHImysjJs3rxZUdrKy8thNBphMpkQERHh2YESERGRTygtv3XVh8hkMgEAIiMjbV5/9913ERUVha5du2LevHmorPxt8cv8/Hykp6eLwRAA5OTkoLy8HMeOHRO3GThwoM0+c3JykJ+fL5uW6upqlJeX2/wjIiKihkk3M1WbzWZMnz4dvXv3RteuXcXXR40ahbZt2yIhIQGHDx/GnDlzcOLECaxbtw4A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7OxsAEBJSQkeeOABjB8/Ht999x127NiBYcOGwdWlHl1NExHpBxd3JSLd6devH86fP49jx47BYDAAAObOnYuPP/4Y3377LZKTk9G9e3esX79e/MzEiRMRHByM119/XXxt9+7d6Nu3LyoqKvDpp59i3Lhx+PHHH9G8eXOb7zt48CB69OiBU6dOoW3btpLp6datG5YuXSq+NnToULRo0QKrV68GALfS1KRJE4/OExGphzVERKRLt9xyixgMAUBWVha+//571NbWAgB69uxps/0333yD1atXo1mzZuK/nJwcmM1mFBUV4Y477kDbtm3Rrl07PPTQQ3j33XdRWVkJAMjMzMSAAQOQnp6O//mf/8GKFStw+fJll9PsapqISD8YEBGRX2ratKnN31euXMEjjzyCgoIC8d8333yD77//HqmpqWjevDkOHjyI9957D/Hx8Xj66aeRmZmJsrIyBAcHY+vWrdi0aRPS0tLwyiuvoFOnTmLQEhQUVK/57Nq1ax6niYj0gwEREenS3r17bf7+6quv0KFDBwQHB0tuf+ONN+Lbb79F+/bt6/0LCQkBADRq1AgDBw7EkiVLcPjwYZw6dQrbt28HABgMBvTu3RsLFizAoUOHEBISIjZ/RUdHo6SkRPyu2tpaHD161OkxKEkTEekDAyIi0qXi4mLMnDkTJ06cwHvvvYdXXnkFf/jDH2S3nzNnDvbs2YNp06ahoKAA33//Pf7973+LHZg3bNiAl19+GQUFBTh9+jTefvttmM1mdOrUCXv37sWiRYuwf/9+FBcXY926dbhw4QK6dOkCALj99tuxceNGbNy4EcePH8eUKVNQVlbm9BicpYmI9KOR1gkgIpIyevRoVFVV4aabbkJwcDD+8Ic/iEPZpWRkZGDnzp3405/+hNtuuw2CICA1NRUjRowAALRo0QLr1q3Ds88+i6tXr6JDhw547733cMMNN+C7777Drl27sHTpUpSXl6Nt27b461//iiFDhgAAxo8fj2+++QajR49Go0aNMGPGDPTv39/pMThLExHpB0eZEZHuSI3qIiLyJjaZERERUcBjQEREREQBj01mREREFPBYQ0REREQBjwERERERBTwGRERERBTwGBARERFRwGNARERERAGPAREREREFPAZEREREFPAYEBEREVHAY0BEREREAe//AZgQYx7jt1AvAAAAAElFTkSuQmCC", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.2 Training Surrogate with TensorFlow Keras\n", + "TensorFlow Keras provides an interface to pass regression settings, build neural networks and train surrogate models. Keras enables the usage of two API formats: Sequential and Functional. While the Functional API offers more versatility, including multiple input and output layers in a single neural network, the Sequential API is more stable and user-friendly. Further, the Sequential API integrates cleanly with existing IDAES surrogate tools and will be utilized in this example.\n", + "\n", + "In the code below, we build the neural network structure based on our training data structure and desired regression settings. Offline, neural network models were trained for the list of settings below, and the options bolded and italicized were determined to have the minimum mean squared error for the dataset:\n", + "\n", + "* Activation function: sigmoid, **tanh**\n", + "* Optimizer: **Adam**\n", + "* Number of hidden layers: 3, **4**, 5, 6\n", + "* Number of neurons per layer: **20**, 40, 60\n", + "\n", + "Important thing to note here is that we do not use ReLU activation function for the training as the flowsheet we intend to solve with this surrogate model is a NLP problem and using ReLU activation function will make it an MINLP. Another thing to note here is the network is smaller (4,20) in order to avoid overfitting. \n", + "\n", + "Typically, Sequential Keras models are built vertically; the dataset is scaled and normalized. The network is defined for the input layer, hidden layers, and output layer for the passed activation functions and network/layer sizes. Then, the model is compiled using the passed optimizer and trained using a desired number of epochs. Keras internally validates while training and updates each epoch's model weight (coefficient) values.\n", + "\n", + "Finally, after training the model, we save the results and model expressions to a folder that contains a serialized JSON file. Serializing the model in this fashion enables importing a previously trained set of surrogate models into external flowsheets. This feature will be used later." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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dWucPXs24HH/1o1///vfqK2txTvvvIP09HTP45s2bQpafqN17twZ+/fvh9vt9mmdOXjwoOd5QD5QIyL1mDNDRAAapuMfOHAgli1bhgsXLqBdu3YYNmwYXnjhBZSXlwe8/vTp055/f//99z7PNW/eHF27dkVtba3s5+Xl5QEAnn76aZ/Hly1bFvDarKwsuFwu7N+/3/NYeXl5wCy8sbGxAABBEDyPuVwurFq1SrYc4fKrX/0KJ0+exNq1az2P/fjjj3jmmWfQvHlzDB06FACQmJgIAJLBGhGpw5YZIvL43e9+h1//+tdYvXo17r77bjz33HMYPHgwsrOzMWPGDHTp0gXfffcdtm/fjuPHj2Pfvn0AgF69emHYsGHo168fkpOTsXPnTrzxxhuYPXu27GddfvnlmDRpEp5//nm4XC5cddVV+OSTT3DkyJGA195yyy2YN28exo0bhzlz5qC6uhrLly9H9+7dsXv3bs/rrr32WsTFxeH666/HXXfdhfPnz2PlypVo166dZEAWTnfeeSdeeOEFTJ06Fbt27UJGRgbeeOMNfPbZZ1i2bBlatGgBoCFhuVevXli7di26d++O5ORk9O7dG717945oeYlszezhVEQUWeLQ7KKiooDn6uvrhaysLCErK0v48ccfBUEQhOLiYuG2224TOnToIDRt2lTo1KmTcN111wlvvPGG532LFy8WBg4cKLRq1UpISEgQevbsKTz++ONCXV2d5zVSw6hramqEOXPmCG3atBGSkpKE66+/XigrK5McqvzRRx8JvXv3FuLi4oQePXoIr776quQ233nnHaFPnz5Cs2bNhIyMDGHp0qXC3/72NwGAUFJS4nmdlqHZwYady23vu+++E6ZNmya0bdtWiIuLE7Kzs4VVq1YFvHfbtm1Cv379hLi4OA7TJtLBIQhe7bFERERENsOcGSIiIrI1BjNERERkawxmiIiIyNYYzBAREZGtMZghIiIiW2MwQ0RERLYW9ZPmud1unDhxAi1atOC04URERDYhCALOnTuHjh07BizYKvVi02zZskW47rrrhNTUVAGAsH79es9zdXV1wty5c4XevXsLiYmJQmpqqnDrrbcK3377rabPECfg4h//+Mc//vGPf/b7KysrC3qtN7VlpqqqCjk5OZg+fTrGjx/v81x1dTV2796NBQsWICcnB2fOnMF9992HG264ATt37lT9GeKU4WVlZWjZsqWh5SciIqLwqKysRFpamuc6rsQyMwA7HA6sX78eY8eOlX1NUVERBg4ciGPHjvmsiKuksrISTqcTLpeLwQwREZFNaLl+2ypnxuVyweFwoFWrVrKvqa2t9Vmpt7KyMgIlIyIiIrPYZjTThQsXMG/ePEyaNEkxQisoKIDT6fT8paWlRbCUREREFGm2CGYuXryIm2++GYIgYPny5YqvnT9/Plwul+evrKwsQqUkIiIiM1i+m0kMZI4dO4aNGzcG7TeLj49HfHx8hEpHRERWUl9fj4sXL5pdDFKhadOmiI2NNWRblg5mxEDm8OHD2LRpE9q0aWN2kYiIyIIEQcDJkydx9uxZs4tCGrRq1QodOnQIeR44U4OZ8+fP48iRI57/l5SUYO/evUhOTkZqaipuuukm7N69G++++y7q6+tx8uRJAEBycjLi4uLMKjYREVmMGMi0a9cOiYmJnCTV4gRBQHV1NU6dOgUASE1NDWl7pg7N3rx5M4YPHx7w+JQpU7Bw4UJkZmZKvm/Tpk0YNmyYqs/g0GwiouhWX1+Pr7/+Gu3atWMLvs18//33OHXqFLp37x7Q5WSbodnDhg2DUixlkSlwiIjIwsQcmcTERJNLQlqJv9nFixdDyp+xxWgmIiKiYNi1ZD9G/WYMZoiIiMjWGMwQERFRWGzevBkOhyPso8wYzFhEuasG24orUO6qMbsoRERkEwsXLsTll19udjFMZ+l5ZhqLtUWlmL/uANwCEOMACsZnY+IAdQtpEhERBXPx4kU0bdrU7GKEDVtmTFbuqvEEMgDgFoCH133BFhoiokbA7XajoKAAmZmZSEhIQE5ODt544w0AP3fRfPLJJ+jfvz8SExNx1VVX4dChQwCA1atXY9GiRdi3bx8cDgccDgdWr14NoCGxdvny5bjhhhuQlJSExx9/XLEc4md9+OGH6Nu3LxISEnDNNdfg1KlT2LBhAy699FK0bNkSkydPRnV1ted9tbW1mDNnDtq1a4dmzZph8ODBKCoqCs/OUsBgxmQlFVWeQEZULwg4WlEt/QYiIgqbSHf5FxQU4JVXXsGKFSvw5Zdf4oEHHsBvf/tbbNmyxfOa//mf/8Gf/vQn7Ny5E02aNMH06dMBABMnTsT/+3//D5dddhnKy8tRXl6OiRMnet63cOFCjBs3DgcOHPC8J5iFCxfi2WefxbZt21BWVoabb74Zy5Ytw2uvvYb33nsPH330EZ555hnP6+fOnYs333wTL7/8Mnbv3o2uXbti1KhR+OGHHwzaQ+qwm8lkmW2TEOOAT0AT63Agoy3nSyAiiqRId/nX1tbiiSeewP/93/8hNzcXANClSxcUFhbihRdewJ133gkAePzxxzF06FAAQH5+PsaMGYMLFy4gISEBzZs3R5MmTdChQ4eA7U+ePBnTpk3TVKbFixdj0KBBAIDbb78d8+fPR3FxMbp06QIAuOmmm7Bp0ybMmzcPVVVVWL58OVavXo28vDwAwMqVK/Hxxx/jpZdewu9+9zt9O0YHtsyYLNWZgILx2Yj9aax9rMOBJ8b3RqozweSSERE1HmZ0+R85cgTV1dX45S9/iebNm3v+XnnlFRQXF3te16dPH8+/xWn/xWUAlPTv319zmbw/q3379khMTPQEMuJj4mcXFxfj4sWLnuAHaFg8cuDAgfjqq680f3Yo2DJjARMHpGNI9xQcrahGRttEBjJERBGm1OUfrjr5/PnzAID33nsPnTp18nkuPj7eE9B4J+6Kk8y53e6g209KStJcJv/P8k8adjgcqj470hjMWESqM4FBDBGRSczo8u/Vqxfi4+NRWlrq6Uby5t06IycuLg719fXhKF5QWVlZiIuLw2effYbOnTsDaBg1VVRUhPvvvz+iZWEwQ0REjZ7Y5f/wui9QLwgR6fJv0aIFHnroITzwwANwu90YPHgwXC4XPvvsM7Rs2dITICjJyMhASUkJ9u7di0suuQQtWrRAfHx82MrsLSkpCffccw9+97vfITk5Genp6XjyySdRXV2N22+/PSJlEDGYISIigjld/r///e+RkpKCgoICfPPNN2jVqhWuuOIKPPzww6q6cyZMmIB169Zh+PDhOHv2LFatWoWpU6eGvdyiJUuWwO1249Zbb8W5c+fQv39/fPjhh2jdunXEygAADiHKl6bWsoQ4ERHZz4ULF1BSUoLMzEw0a9bM7OKQBkq/nZbrN0czERERka0xmCEiIopyd999t8/wb++/u+++2+zihYw5M0RERFHusccew0MPPST5XDSkYDCYISIiinLt2rVDu3btzC5G2LCbiYiIiGyNwQwREUUFK85MS8qM+s3YzURERLYWFxeHmJgYnDhxAikpKYiLi/NM+0/WJAgC6urqcPr0acTExCAuLi6k7TGYISIi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awxmiIiIyNYYzBAREZGtMZghIiIiW2MwQ0RERLbGYIaIiIhsjcEMERER2RqDGSIiIrI1BjNERERkawxmiIiIyNYYzBAREZGtMZghIiIiW2MwQ0RERLbGYIYoypS7arCtuALlrhqzi0JEFBFNzC4AERlnbVEp5q87ALcAxDiAgvHZmDgg3exiERGFFVtmiKJEuavGE8gAgFsAHl73BVtoiCjqMZghihIlFVWeQEZULwg4WlFtToGIiCKEwQzZCvNB5GW2TUKMw/exWIcDGW0TzSkQEVGEMJgh21hbVIpBSzZi8sodGLRkI9YWlZpdJEtJdSagYHw2Yh0NEU2sw4EnxvdGqjPB5JIREYWXQxAEIfjL7KuyshJOpxMulwstW7Y0uzikU7mrBoOWbPTpRol1OFCYP5wXaz/lrhocrahGRttE7hsisi0t12+OZiJbUMoH4QXbV6ozgfuEiBoVdjORLTAfhIiI5DCYIVtgPggREclhNxPZxsQB6RjSPYX5IERE5IPBDNkK80GIiMif6mCmsrJS9UY5aoiIiIgiRXUw06pVKzgcDsXXCIIAh8OB+vr6kAtGREREpIbqYGbTpk3hLAcRERGRLqqDmaFDh4azHERERES66E4APnv2LF566SV89dVXAIDLLrsM06dPh9PpNKxwRERERMHommdm586dyMrKwp///Gf88MMP+OGHH/DUU08hKysLu3fvNrqMRERERLJ0rc109dVXo2vXrli5ciWaNGlo3Pnxxx9xxx134JtvvsHWrVsNL6heXJuJiIjIfrRcv3UFMwkJCdizZw969uzp8/h///tf9O/fH9XV1Vo3GTYMZoiIiOxHy/VbVzdTy5YtUVpaGvB4WVkZWrRooWeTRERERLroCmYmTpyI22+/HWvXrkVZWRnKysrw+uuv44477sCkSZOMLiMRERGRLF2jmf74xz/C4XDgtttuw48//ggAaNq0Ke655x4sWbLE0AISERERKdGVMyOqrq5GcXExACArKwuJiYmGFcwozJkhIiKyHy3X75AWmkxMTER2dnYomyAiIiIKia5g5sKFC3jmmWewadMmnDp1Cm632+d5zjVDREREkaIrmLn99tvx0Ucf4aabbsLAgQODLkBJREREFC66gpl3330X77//PgYNGmR0eYiIiIg00TU0u1OnTpxPhoiIiCxBVzDzpz/9CfPmzcOx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HnfddRf27t3r+du3bx8OHz6MrKwstGjRArt378aaNWuQmpqKRx55BDk5OTh79ixiY2Px8ccfY8OGDejVqxeeeeYZ9OjRwxNwxMTEBHQ5Xbx4MeQyEZG1MJghIkPt2LHD5///+c9/0K1bN8TGxkq+/oorrsB///tfdO3aNeAvLi4OANCkSROMHDkSTz75JPbv34+jR49i48aNAACHw4FBgwZh0aJF2LNnD+Li4jxdRikpKSgvL/d8Vn19Pb744oug30FNmYjIOhjMEJGhSktL8eCDD+LQoUNYs2YNnnnmGdx3332yr583bx62bduG2bNnY+/evTh8+DDefvttT7Ltu+++i6effhp79+7FsWPH8Morr8DtdqNHjx7YsWMHnnjiCezcuROlpaVYt24dTp8+jUsvvRQAcM011+C9997De++9h4MHD+Kee+7B2bNng36HYGUiImtpYnYBiCi63HbbbaipqcHAgQMRGxuL++67zzPcWUqfPn2wZcsW/M///A+uvvpqCIKArKwsTJw4EQDQqlUrrFu3DgsXLsSFCxfQrVs3rFmzBpdddhm++uorbN26FcuWLUNlZSU6d+6MP/3pT8jLywMATJ8+Hfv27cNtt92GJk2a4IEHHsDw4cODfodgZSIia+FoJiIyjNToISKicGM3ExEREdkagxkiIiKyNXYzERERka2xZYaIiIhsjcEMERER2RqDGSIiIrI1BjNERERkawxmiIiIyNYYzBAREZGtMZghIiIiW2MwQ0RERLbGYIaIiIhs7f8D+wfn2xM8vM8AAAAASUVORK5CYII=", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "# selected settings for regression (best fit from options above)\n", + "activation, optimizer, n_hidden_layers, n_nodes_per_layer = \"tanh\", \"Adam\", 4, 20\n", + "loss, metrics = \"mse\", [\"mae\", \"mse\"]\n", + "\n", + "# Create data objects for training using scalar normalization\n", + "n_inputs = len(input_labels)\n", + "n_outputs = len(output_labels)\n", + "x = input_data\n", + "y = output_data\n", + "\n", + "input_scaler = None\n", + "output_scaler = None\n", + "input_scaler = OffsetScaler.create_normalizing_scaler(x)\n", + "output_scaler = OffsetScaler.create_normalizing_scaler(y)\n", + "x = input_scaler.scale(x)\n", + "y = output_scaler.scale(y)\n", + "x = x.to_numpy()\n", + "y = y.to_numpy()\n", + "\n", + "# Create Keras Sequential object and build neural network\n", + "model = tf.keras.Sequential()\n", + "model.add(\n", + " tf.keras.layers.Dense(\n", + " units=n_nodes_per_layer, input_dim=n_inputs, activation=activation\n", + " )\n", + ")\n", + "for i in range(1, n_hidden_layers):\n", + " model.add(tf.keras.layers.Dense(units=n_nodes_per_layer, activation=activation))\n", + "model.add(tf.keras.layers.Dense(units=n_outputs, activation=keras.activations.linear))\n", + "\n", + "# Train surrogate (calls optimizer on neural network and solves for weights)\n", + "model.compile(loss=loss, optimizer=optimizer, metrics=metrics)\n", + "mcp_save = tf.keras.callbacks.ModelCheckpoint(\n", + " \".mdl_co2.keras\", save_best_only=True, monitor=\"val_loss\", mode=\"min\"\n", + ")\n", + "history = model.fit(\n", + " x=x, y=y, validation_split=0.2, verbose=2, epochs=250, callbacks=[mcp_save]\n", + ")\n", + "\n", + "# Get the training and validation MSE from the history\n", + "train_mse = history.history[\"mse\"]\n", + "val_mse = history.history[\"val_mse\"]\n", + "\n", + "# Generate a plot of training MSE vs validation MSE\n", + "epochs = range(1, len(train_mse) + 1)\n", + "plt.plot(epochs, train_mse, \"bo-\", label=\"Training MSE\")\n", + "plt.plot(epochs, val_mse, \"ro-\", label=\"Validation MSE\")\n", + "plt.title(\"Training MSE vs Validation MSE\")\n", + "plt.xlabel(\"Epochs\")\n", + "plt.ylabel(\"MSE\")\n", + "plt.legend()\n", + "plt.show()" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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06dPx+DBg9G9e3fZQdYAYPPmzbjttttw7tw5REREAABWrlyJrKwsXLx4EX5+fsjKysKmTZtw/Phx6XNjx45FeXk5tmzZ0hCHRERERG7ObQZmrKurw0cffYTKykqkpqZKy9977z28++67iIyMxO23347FixdLpUR5eXlISkqSgiEASE9Px6xZs3DixAn06NEDeXl5RlMGpKenWz0btkajwblz59CyZUsOk09EROQhhBD4/fffER0dbTRRsi6XB0THjh1Damoqrl69ihYtWuDTTz9FYmIiAGD8+PFo3749oqOjcfToUWRlZeHUqVPYsGEDAKC0tFQvGAIg/bu0tNTkNhUVFaiurkZAQIBsumpqavSmDPj111+ldBEREZFnOXv2LNq1a6e43uUBUZcuXVBQUAC1Wo2PP/4YkydPxu7du5GYmIj7779f2i4pKQlRUVEYOnQoCgsL0bFjR6emKzs7G0uWLDFafvbsWQQFBTn1u4mIiMgxKioqEBMTI011o8TlAZGfnx86deoEAOjVqxfy8/OxfPlyvPnmm0bb9u3bFwBw+vRpdOzYEZGRkfjmm2/0tjl//jwAIDIyUvp/7TLdbYKCghRLhwBg0aJFePjhh6V/a0+otkccEREReQ5zzV3cbhwijUajOLt1QUEBACAqKgoAkJqaimPHjuHChQvSNtu2bUNQUJBUvZWamort27fr7Wfbtm167ZTk+Pv7S8EPgyAiIqLGzaUlRIsWLUJGRgZiY2Px+++/Y926ddi1axe2bt2KwsJCrFu3DrfeeivatGmDo0ePYv78+UhLS0NycjKA+lmpExMTMXHiRCxbtgylpaV48sknMXv2bPj7+wMAZs6ciX/+85947LHHMG3aNOzYsQMffvghNm3a5MpDJyIiIjfi0oDowoULmDRpEkpKShAcHIzk5GRs3boVf/nLX3D27Fn873//wyuvvILKykrExMRg9OjRePLJJ6XP+/r6YuPGjZg1axZSU1PRvHlzTJ48WW/covj4eGzatAnz58/H8uXL0a5dO6xevZpjEBEREZHE7cYhclcVFRUIDg6GWq1m9RkRUSNTV1eHa9euuToZZIOmTZvC19dXcb2lz2+XN6omIiJyFSEESktLUV5e7uqkkB1CQkIQGRlp1ziBDIiIiMhraYOh8PBwBAYGcuBdDyOEQFVVldS5StvpyhYMiIiIyCvV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fGhz+Kj0l/mqVIgLDXRNgoiIiLwQAyIXiwoOQPaoJPiq6qMiX5UKS0d1Q1Sw8sSzRERE5FhsVO0GxvSJRVrnMJwpq0JcaCCDISIiogbGgMhNRAUHMBAiIiJyEVaZERERkddjQERERERejwEREREReT0GREREROT1GBARERGR12NARERERF6PARERERF5PQZERERE5PUYEBEREZHXY0BEREREXo8BEREREXk9BkRERETk9RgQERERkddjQERERERejwEREREReT0GRG6iRF2N3MIylKirXZ0UIiIir9PE1QkgYH1+MRZtOAaNAHxUQPaoJIzpE+vqZBEREXkNlhC5WIm6WgqGAEAjgMc3HGdJERERUQNiQORiRWWVUjCkVScEzpRVuSZBREREXogBkYvFhzaHj0p/ma9KhbjQQNckiIiIyAsxIHKxqOAAZI9Kgq+qPiryVamwdFQ3RAUHuDhlRERE3oONqt3AmD6xSOschjNlVYgLDWQwRERE1MAYELmJqOAABkJEREQuwiozIiIi8noMiIiIiMjrMSAiIiIir8eAiIiIiLweAyIiIiLyei4NiLKzs9GnTx+0bNkS4eHhGDlyJE6dOqW3zeDBg6FSqfT+Zs6cqbdNcXExMjMzERgYiPDwcCxYsADXr1/X22bXrl3o2bMn/P390alTJ6xdu9bZh0dEREQewqUB0e7duzF79mx8/fXX2LZtG65du4bhw4ejsrJSb7v77rsPJSUl0t+yZcukdXV1dcjMzERtbS1yc3PxzjvvYO3atXjqqaekbYqKipCZmYkhQ4agoKAA8+bNw4wZM7B169YGO1YiIiJyXyohhDC/WcO4ePEiwsPDsXv3bqSlpQGoLyHq3r07XnnlFdnPbN68GbfddhvOnTuHiIgIAMDKlSuRlZWFixcvws/PD1lZWdi0aROOHz8ufW7s2LEoLy/Hli1bLEpbRUUFgoODoVarERQUZN+BEhERUYOw9PntVm2I1Go1AKB169Z6y9977z2EhoaiW7duWLRoEaqq/pz4NC8vD0lJSVIwBADp6emoqKjAiRMnpG2GDRumt8/09HTk5eUppqWmpgYVFRV6f0RERNQ4uc1I1RqNBvPmzUP//v3RrVs3afn48ePRvn17REdH4+jRo8jKysKpU6ewYcMGAEBpaaleMARA+ndpaanJbSoqKlBdXY2AAOMRorOz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z4EWz4NrzwEbVRMREZHXYwkREREReT0GREREROT1GBARERGR12NARERERF6PAZEDrFixAsnJydJAUqmpqdi8ebO0/urVq5g9ezbatGmDFi1aYPTo0Th//rzePoqLi5GZmYnAwECEh4djwYIFuH79ekMfisPk5ORApVJh3rx50rLGfh6eeeYZqFQqvb+EhARpfWM/fl2//vor7r33XrRp0wYBAQFISkrCwYMHpfVCCDz11FOIiopCQEAAhg0bhh9//FFvH5cuXcKECRMQFBSEkJAQTJ8+HVeuXGnoQ7FJXFyc0bWgUqkwe/ZsAN5xLdTV1WHx4sWIj49HQEAAOnbsiOeee05vPqnGfh0A9dNFzJs3D+3bt0dAQAD69euH/Px8aX1jPAd79uzB7bffjujoaKhUKnz22Wd66x11zEePHsXAgQPRrFkzxMTEYNmyZfYlXJDdPv/8c7Fp0ybxww8/iFOnTonHH39cNG3aVBw/flwIIcTMmTNFTEyM2L59uzh48KC4+eabRb9+/aTPX79+XXTr1k0MGzZMHD58WHz55ZciNDRULFq0yFWHZJdvvvlGxMXFieTkZPHQQw9Jyxv7eXj66afFjTfeKEpKSqS/ixcvSusb+/FrXbp0SbRv315MmTJFHDhwQPz0009i69at4vTp09I2OTk5Ijg4WHz22WfiyJEj4o477hDx8fGiurpa2mbEiBEiJSVFfP3112Lv3r2iU6dOYty4ca44JKtduHBB7zrYtm2bACB27twphPCOa+GFF14Qbdq0ERs3bhRFRUXio48+Ei1atBDLly+Xtmns14EQQtxzzz0iMTFR7N69W/z444/i6aefFkFBQeKXX34RQjTOc/Dll1+KJ554QmzYsEEAEJ9++qneekccs1qtFhEREWLChAni+PHj4v333xcBAQHizTfftDndDIicpFWrVmL16tWivLxcNG3aVHz00UfSuu+//14AEHl5eUKI+ovHx8dHlJaWStusWLFCBAUFiZqamgZPuz1+//13ccMNN4ht27aJQYMGSQGRN5yHp59+WqSkpMiu84bj18rKyhIDBgxQXK/RaERkZKR46aWXpGXl5eXC399fvP/++0IIIb777jsBQOTn50vbbN68WahUKvHrr786L/FO8tBDD4mOHTsKjUbjNddCZmammDZtmt6yUaNGiQkTJgghvOM6qKqqEr6+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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "# Adding input bounds and variables along with scalers and output variable to kerasSurrogate\n", + "xmin, xmax = [7, 306], [40, 1000]\n", + "input_bounds = {input_labels[i]: (xmin[i], xmax[i]) for i in range(len(input_labels))}\n", + "\n", + "keras_surrogate = KerasSurrogate(\n", + " model,\n", + " input_labels=list(input_labels),\n", + " output_labels=list(output_labels),\n", + " input_bounds=input_bounds,\n", + " input_scaler=input_scaler,\n", + " output_scaler=output_scaler,\n", + ")\n", + "keras_surrogate.save_to_folder(\n", + " keras_folder_name=\"sco2_keras_surr\", keras_model_name=\"sco2_keras_model\"\n", + ")" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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37Bhg9P0+1qbNm2wd+9emEwmq9KZAwcOmD8H1AM1InId28wQEYDa4fh79uyJV199FZcuXUJ8fDz69++PRYsWoaSkxG79M2fOmP/7119/tfqscePGaNeuHaqqqlT3l52dDQB4/fXXrZa/+uqrduumpqbCaDRi79695mUlJSV2o/CGhYUBAIQQ5mVGoxFLly5VTYe//P73v8epU6ewcuVK87IrV67gjTfeQOPGjdGvXz8AQGRkJAAoBmtE5BqWzBCR2VNPPYU//OEPWLZsGf70pz/hzTffRN++fZGeno4HHngAbdu2xS+//IItW7bg559/xp49ewAAnTp1Qv/+/dGtWzc0a9YM27dvx0cffYRHHnlEdV/XX389Ro8ejbfeegtGoxG9e/fGN998gyNHjtite/fdd2P69Om44447MGXKFFRUVGDBggVo3749du7caV7vlltuQXh4OG677TY89NBDuHDhAhYvXoz4+HjFgMyfHnzwQSxatAhjx47Fjh07kJycjI8++gjfffcdXn31VURHRwOobbDcqVMnrFy5Eu3bt0ezZs3QuXNndO7cOaDpJdK0YHenIqLAkrtmFxQU2H1WU1MjUlNTRWpqqrhy5YoQQojCwkLxxz/+UbRs2VI0bNhQtG7dWtx6663io48+Mn/vhRdeED179hRNmjQRer1epKWliblz54rq6mrzOkrdqCsrK8WUKVNE8+bNRVRUlLjttttEcXGxYlflr776SnTu3FmEh4eLDh06iA8++EBxm5999pno0qWLaNSokUhOThbz588X7777rgAgioqKzOu50zXbWbdzte398ssvYty4cSI2NlaEh4eL9PR0sXTpUrvv5ufni27duonw8HB20ybygCSERXksERERkcawzQwRERFpGoMZIiIi0jQGM0RERKRpDGaIiIhI0xjMEBERkaYxmCEiIiJNq/OD5plMJpw8eRLR0dEcNpyIiEgjhBA4f/48WrVqZTdhq9LKQbNp0yZx6623ioSEBAFArF692vxZdXW1mDZtmujcubOIjIwUCQkJ4v777xcnTpxwax/yAFz84x//+Mc//vFPe3/FxcVOn/VBLZm5ePEiMjIyMH78eIwYMcLqs4qKCuzcuRMzZ85ERkYGzp07h8ceewzDhg3D9u3bXd6HPGR4cXExYmJifJp+IiIi8o/y8nIkJiaan+OOhMwIwJIk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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.3 Visualizing Surrogates\n", + "\n", + "Now that the surrogate models have been trained, the models can be visualized through scatter, parity and residual plots to confirm their validity in the chosen domain. The training data will be visualized first to confirm the surrogates are fit the data, and then the validation data will be visualized to confirm the surrogates accurately predict new output values." ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "surrogate_scatter2D(keras_surrogate, data_training)\n", - "surrogate_parity(keras_surrogate, data_training)\n", - "surrogate_residual(keras_surrogate, data_training)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.4 Model Validation\n", - "\n", - "We check the fit on the validation set to see if the surrogate is fitting well. This step can be used to check for overfitting on the training set." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "4/4 [==============================] - 0s 5ms/step\n" - ] }, { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmEAAAHHCAYAAAD3WI8lAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABosUlEQVR4nO3deVzU1f4/8NfMCAgIQyyyuADill4zl1SszIWCQs2r3tTKvUy/YrnkdsutrrlUrrjUzdK6WmnaIpZlLnVNpFLRTOUqP3AJkRhkwA105vz+oPnIsA4w8Pl8Zl7Px2MeOvM5M3Pm4zjznvc55300QggBIiIiIqpTWrk7QEREROSMGIQRERERyYBBGBEREZEMGIQRERERyYBBGBEREZEMGIQRERERyYBBGBEREZEMGIQRERERyYBBGBEREZEMGIQREVGFNm7cCI1Gg/T0dLm7QuRQGIQRkex++eUXxMXFoW3btvD09ETTpk3x1FNP4X//+1+ptj179oRGo4FGo4FWq4W3tzdatWqF4cOHY8+ePVV63p07d+KRRx5Bw4YN4eHhgWbNmuGpp57C7t277fXSSnnjjTfwxRdflLr90KFDmD9/PnJzc2vtuUuaP3++dC41Gg08PDzQpk0bvPrqq8jLy7PLc2zZsgUrVqywy2MRORoGYUQkuyVLlmD79u3o06cPVq5ciXHjxuHHH39Ex44dcfLkyVLtGzdujI8++ggffvgh3nzzTfTv3x+HDh3CY489hiFDhuD27duVPudbb72F/v37Q6PRYPbs2Vi+fDkGDRqEs2fP4pNPPqmNlwmg4iBswYIFdRqEWaxbtw4fffQRli1bhtatW2PhwoWIiYmBPbYWZhBGVL56cneAiGjq1KnYsmULXF1dpduGDBmCdu3aYfHixfjPf/5j1V6v1+PZZ5+1um3x4sV48cUXsXbtWoSFhWHJkiXlPt+dO3fw+uuv49FHH8V3331X6nhWVlYNX5Fy3LhxAx4eHhW2GTx4MPz9/QEA48ePx6BBg7Bjxw4cPnwYkZGRddFNIqfETBgRya579+5WARgAtGjRAm3btsXp06dtegydTodVq1ahTZs2iI+Ph9FoLLdtdnY28vLy8OCDD5Z5vGHDhlbXb926hfnz56Nly5aoX78+goODMXDgQKSmpkpt3nrrLXTv3h1+fn5wd3dHp06d8Nlnn1k9jkajwfXr17Fp0yZpCHDUqFGYP38+pk+fDgAIDw+XjhWfg/Wf//wHnTp1gru7O3x9fTF06FBcvHjR6vF79uyJv/3tbzhy5Ah69OgBDw8P/POf/7Tp/BXXu3dvAEBaWlqF7dauXYu2bdvCzc0NISEhmDhxolUmr2fPnti1axfOnz8vvaawsLAq94fIUTETRkSKJITAlStX0LZtW5vvo9PpMGzYMMyZMwcHDx5EbGxsme0aNmwId3d37Ny5E5MmTYKvr2+5j2kymdC3b1/s3bsXQ4cOxUsvvYT8/Hzs2bMHJ0+eREREBABg5cqV6N+/P5555hkUFhbik08+wT/+8Q8kJCRI/fjoo4/w3HPPoUuXLhg3bhwAICIiAp6envjf//6Hjz/+GMuXL5eyUgEBAQCAhQsXYs6cOXjqqafw3HPP4c8//8Tq1avRo0cPHDt2DD4+PlJ/DQYDHn/8cQwdOhTPPvssAgMDbT5/Fpbg0s/Pr9w28+fPx4IFCxAVFYUJEyYgJSUF69atwy+//IKffvoJLi4ueOWVV2A0GnHp0iUsX74cANCgQYMq94fIYQkiIgX66KOPBACxYcMGq9sfeeQR0bZt23Lv9/nnnwsAYuXKlRU+/ty5cwUA4enpKR5//HGxcOFCceTIkVLt3n//fQFALFu2rNQxs9ks/f3GjRtWxwoLC8Xf/vY30bt3b6vbPT09xciRI0s91ptvvikAiLS0NKvb09PThU6nEwsXLrS6/bfffhP16tWzuv2RRx4RAMT69evLfd3FzZs3TwAQKSkp4s8//xRpaWninXfeEW5ubiIwMFBcv35dCCHEBx98YNW3rKws4erqKh577DFhMpmkx4uPjxcAxPvvvy/dFhsbK0JDQ23qD5Gz4XAkESnOmTNnMHHiRERGRmLkyJFVuq8l05Kfn19huwULFmDLli3o0KEDvv32W7zyyivo1KkTOnbsaDUEun37dvj7+2PSpEmlHkOj0Uh/d3d3l/5+9epVGI1GPPzwwzh69GiV+l/Sjh07YDab8dRTTyE7O1u6BAUFoUWLFti/f79Vezc3N4wePbpKz9GqVSsEBAQgPDwcL7zwApo3b45du3aVO5fs+++/R2FhISZPngyt9u7XyPPPPw9vb2/s2rWr6i+UyAlxOJKIFCUzMxOxsbHQ6/X47LPPoNPpqnT/a9euAQC8vLwqbTts2DAMGzYMeXl5SEpKwsaNG7Flyxb069cPJ0+eRP369ZGamopWrVqhXr2KPy4TEhLwr3/9C8nJySgoKJBuLx6oVcfZs2chhECLFi3KPO7i4mJ1vVGjRqXm11Vm+/bt8Pb2houLCxo3biwNsZbn/PnzAIqCt+JcXV3RrFkz6TgRVYxBGBEphtFoxOOPP47c3Fz897//RUhISJUfw1LSonnz5jbfx9vbG48++igeffRRuLi4YNOmTUhKSsIjjzxi0/3/+9//on///ujRowfWrl2L4OBguLi44IMPPsCWLVuq/BqKM5vN0Gg0+Oabb8oMSEvOsSqekbNVjx49pHloRFR3GIQRkSLcunUL/fr1w//+9z98//33aNOmTZUfw2QyYcuWLfDw8MBDDz1UrX507twZmzZtwuXLlwEUTZxPSkrC7du3S2WdLLZv34769evj22+/hZubm3T7Bx98UKpteZmx8m6PiIiAEALh4eFo2bJlVV9OrQgNDQUApKSkoFmzZtLthYWFSEtLQ1RUlHRbTTOBRI6Mc8KISHYmkwlDhgxBYmIitm3bVq3aVCaTCS+++CJOnz6NF198Ed7e3uW2vXHjBhITE8s89s033wC4O9Q2aNAgZGdnIz4+vlRb8VcxU51OB41GA5PJJB1LT08vsyirp6dnmQVZPT09AaDUsYEDB0Kn02HBggWliqcKIWAwGMp+kbUoKioKrq6uWLVqlVWfNmzYAKPRaLUq1dPTs8JyIUTOjJkwIpLdtGnT8NVXX6Ffv37IyckpVZy1ZGFWo9Eotblx4wbOnTuHHTt2IDU1FUOHDsXrr79e4fPduHED3bt3R7du3RATE4MmTZogNzcXX3zxBf773/9iwIAB6NChAwBgxIgR+PDDDzF16lT8/PPPePjhh3H9+nV8//33+L//+z88+eSTiI2NxbJlyxATE4Onn34aWVlZWLNmDZo3b44TJ05YPXenTp3w/fffY9myZQgJCUF4eDi6du2KTp06AQBeeeUVDB06FC4uLujXrx8iIiLwr3/9C7Nnz0Z6ejoGDBgALy8vpKWl4fPPP8e4cePw8ssv1+j8V1VAQABmz56NBQsWICYmBv3790dKSgrWrl2LBx54wOrfq1OnTvj0008xdepUPPDAA2jQoAH69etXp/0lUiw5l2YSEQlxt7RCeZeK2jZo0EC0aNFCPPvss+K7776z6flu374t/v3vf4sBAwaI0NBQ4ebmJjw8PESHDh3Em2++KQoKCqza37hxQ7zyyisiPDxcuLi4iKCgIDF48GCRmpoqtdmwYYNo0aKFcHNzE61btxYffPCBVAKiuDNnzogePXoId3d3AcCqXMXrr78uGjVqJLRabalyFdu3bxcPPfSQ8PT0FJ6enqJ169Zi4sSJIiUlxercVFS+oyRL//78888K25UsUWERHx8vWrduLVxcXERgYKCYMGGCuHr1qlWba9euiaefflr4+PgIACxXQVSMRgg7bA5GRERERFXCOWFEREREMmAQRkRERCQDBmFEREREMmAQRkRERCQDBmFEREREMmAQRkRERCQDFmtVMLPZjIyMDHh5eXHrDyIiIpUQQiA/Px8hISHQasvPdzEIU7CMjAw0adJE7m4QERFRNVy8eBGNGzcu9ziDMAXz8vICUPSPWNE+eERERKQceXl5aNKkifQ9Xh4GYQpmGYL09vZmEEZERKQylU0l4sR8IiIiIhkwCCMiIiKSAYMwIiIiIhlwThgREZGDMZlMuH37ttzdcFguLi7Q6XQ1fhwGYURERA5CCIHMzEzk5ubK3RWH5+Pjg6CgoBrV8WQQRkRE5CAsAVjDhg3h4eHBQt+1QAiBGzduICsrCwAQHBxc7cdiEEZEROQATCaTFID5+fnJ3R2H5u7uDgDIyspCw4YNqz00qZqJ+f3790fTpk1Rv359BAcHY/jw4cjIyLBqI4TAW2+9hZYtW8LNzQ2NGjXCwoULrdocOHAAHTt2hJubG5o3b46NGzeWeq41a9YgLCwM9evXR9euXfHzzz9bHb916xYmTpwIPz8/NGjQAIMGDcKVK1es2ly4cAGxsbHw8PBAw4YNMX36dNy5c8c+J4OIiKgEyxwwDw8PmXviHCznuSZz71QThPXq1Qtbt25FSkoKtm/fjtTUVAwePNiqzUsvvYT33nsPb731Fs6cOYOvvvoKXbp0kY6npaUhNjYWvXr1QnJyMiZPnoznnnsO3377rdTm008/xdSpUzFv3jwcPXoU7du3R3R0tJR2BIApU6Zg586d2LZtG3744QdkZGRg4MCB0nGTyYTY2FgUFhbi0KFD2LRpEzZu3Ii5c+fW4hkiIiKqvEAo2YddzrNQqS+//FJoNBpRWFgohBDi1KlTol69euLMmTPl3mfGjBmibdu2VrcNGTJEREdHS9e7dOkiJk6cKF03mUwiJCRELFq0SAghRG5urnBxcRHbtm2T2pw+fVoAEImJiUIIIb7++muh1WpFZmam1GbdunXC29tbFBQU2PwajUajACCMRqPN9yEiIiGys7NFRkZGuZfs7Gy5u2h3N2/eFKdOnRI3b96UuytOoaLzbev3tyrnhOXk5GDz5s3o3r07XFxcAAA7d+5Es2bNkJCQgJiYGAghEBUVhaVLl8LX1xcAkJiYiKioKKvHio6OxuTJkwEAhYWFOHLkCGbPni0d12q1iIqKQmJiIgDgyJEjuH37ttXjtG7dGk2bNkViYiK6deuGxMREtGvXDoGBgVbPM2HCBPz+++/o0KFDma+roKAABQUF0vW8vLwanCUiIudkMBgQHx9fabu4uDjOnSJZqWY4EgBmzpwJT09P+Pn54cKFC/jyyy+lY//v//0/nD9/Htu2bcOHH36IjRs34siRI1ZDlpmZmVaBEQAEBgYiLy8PN2/eRHZ2NkwmU5ltMjMzpcdwdXWFj49PhW3KegzLsfIsWrQIer1eujRp0sTGM0NERBaFhYV2bUe1b9SoUdBoNNBoNHBxcUFgYCAeffRRvP/++zCbzTY/zsaNG0t9PyuZrEHYrFmzpJNe3uXMmTNS++nTp+PYsWP47rvvoNPpMGLECAghAABmsxkFBQX48MMP8fDDD6Nnz57YsGED9u/fj5SUFLleYpXMnj0bRqNRuly8eFHuLhERUS0xGAy4fPlyuReDweBU/YmJicHly5eRnp6Ob775Br169cJLL72Evn37OuzCNlmHI6dNm4ZRo0ZV2KZZs2bS3/39/eHv74+WLVvi3nvvRZMmTXD48GFERkYiODgY9erVQ8uWLaX29957L4CilYqtWrVCUFBQqVWMV65cgbe3N9zd3aHT6aDT6cpsExQUBAAICgpCYWEhcnNzraLtkm1Krqi0PKalTVnc3Nzg5uZW4fkgIiL1U9qQqRL64+bmJn1HNmrUCB07dkS3bt3Qp08fbNy4Ec899xyWLVuGDz74AP/v//0/+Pr6ol+/fli6dCkaNGiAAwcOYPTo0QDuTpqfN28e5s+fj48++ggrV65ESkoKPD090bt3b6xYsQINGzaslddiK1kzYQEBAWjdunWFF1dX1zLva0lPWuZQPfjgg7hz5w5SU1OlNv/73/8AAKGhoQCAyMhI7N271+px9uzZg8jISACAq6srOnXqZNXGbDZj7969UptOnTrBxcXFqk1KSgouXLggtYmMjMRvv/1mtaJyz5498Pb2Rps2bapxpoiIHEddZ1yMRi+kpYXBaPSy6+PWhNKGTJXWH4vevXujffv22LFjB4CiedqrVq3C77//jk2bNmHfvn2YMWMGAKB79+5YsWIFvL29pffSyy+/DKCojMTrr7+O48eP44svvkB6enqlSaC6oIqJ+UlJSfjll1/w0EMP4Z577kFqairmzJmDiIgIKfCJiopCx44dMWbMGKxYsQJmsxkTJ07Eo48+KmXHxo8fj/j4eMyYMQNjxozBvn37sHXrVuzatUt6rqlTp2LkyJHo3LkzunTpghUrVuD69etSdK3X6zF27FhMnToVvr6+8Pb2xqRJkxAZGYlu3boBAB577DG0adMGw4cPx9KlS5GZmYlXX30VEydOZKbLRgaDocL/7K6urpxQS6RCdZ1xOXq0A3bu7AshtNBozOjXLwEdOx6r8eNS3WndujVOnDgBANJCOgAICwvDv/71L4wfPx5r166Fq6sr9Ho9NBpNqVGnMWPGSH9v1qwZVq1ahQceeADXrl1DgwYN6uR1lEUVQZiHhwd27NiBefPm4fr16wgODkZMTAxeffVVKajRarXYuXMnJk2ahB49esDT0xOPP/443n77belxwsPDsWvXLkyZMgUrV65E48aN8d577yE6OlpqM2TIEPz555+YO3cuMjMzcf/992P37t1WE+2XL18OrVaLQYMGoaCgANHR0Vi7dq10XKfTISEhARMmTEBkZCQ8PT0xcuRIvPbaa3VwttRPCWlxIqoddZlxMRq9pAAMAITQYufOvoiIOAe9Pr/Gj29PRqMXcnL84OtrUFzf5CaEkIYXv//+eyxatAhnzpxBXl4e7ty5g1u3buHGjRsVFqk9cuQI5s+fj+PHj+Pq1avSaNqFCxdkHaFSRRDWrl077Nu3r9J2ISEh2L59e4VtevbsiWPHKv4VFBcXh7i4uHKP169fH2vWrMGaNWvKbRMaGoqvv/664g5TmZSaFicidcnJ8ZMCMAshtMjJ8VVUoMNsXcVOnz6N8PBwpKeno2/fvpgwYQIWLlwIX19fHDx4EGPHjkVhYWG5Qdj169cRHR2N6OhobN68GQEBAbhw4QKio6Nl/x5RRRBGRESOqTYyQJa5xL6+Bmg0ZqtATKMxw9c3x6qdnNSUrZPDvn378Ntvv2HKlCk4cuQIzGYz3n77bWi1Redr69atVu1dXV1hMpmsbjtz5gwMBgMWL14slX769ddf6+YFVIJBGBERyaK2MkB+fn6Ii4tDYWEhGjXKw8yZephMGuh0AkuW5OHpp4cpZl6pWrJ1daGgoACZmZkwmUy4cuUKdu/ejUWLFqFv374YMWIETp48idu3b2P16tXo168ffvrpJ6xfv97qMcLCwnDt2jXs3bsX7du3h4eHB5o2bQpXV1esXr0a48ePx8mTJ/H666/L9CqtqapYKxEROYbyMkD2WsHo5+eH4OBgTJvmg/R0DfbvB9LTNZg2zQfBwcGKCMCAu9m64opn65zJ7t27ERwcjLCwMMTExGD//v1YtWoVvvzyS+h0OrRv3x7Lli3DkiVL8Le//Q2bN2/GokWLrB6je/fuGD9+PIYMGYKAgAAsXboUAQEB2LhxI7Zt24Y2bdpg8eLFeOutt2R6ldaYCSMiojpXlxmgxo2LLkpiGQrV6/PRr19CqYyg5RzU1ZCprc9TW/3ZuHEjNm7cWGm7KVOmYMqUKVa3DR8+3Or6unXrsG7dOqvbhg0bhmHDhlndZin2LicGYUREVCl7l42pbL6Woys+ZAoAc+f+ifT0eggLu4OQkAcAPFCnQ6Yl+1MWpQzhOhIGYUREVCF7lo1RWgZITsXPVXAw0KmTjJ0BGGDJgEEYKU7JD9/yVk85w4c0kRLYs2yM0jJARHJiEEaKU/xDessWd7z2mh5mswZarcDSpUY8/fRNfkgTyaimZSWUlgEikguDMFIkPz8/XLoEzJgB/FXYGGazBjNn+mDIEB8w/iKSBwuLEtkPS1SQYp09ezcAszCZgHPn5OkPkbOxbLSdnZ0NoPbLShA5G2bCSLFatAC0WutATKcDmjeXr09EzqKsyfgsLEpkX8yEkWI1bgy8+25R4AUU/fnOO8qr90PkiMqaZM/CokT2xSCMFG3sWCA9HX9Vuy66TkR1zzIZPyrqeykQK1lWgoiqhsORpHhKrHYtJ3sXzSSqTMnJ+FFR3yMkJAO+vjksG0OqcODAAfTq1QtXr16Fj4+PTfcJCwvD5MmTMXny5FrrF4MwIhWxZ9FMIluUNRn/+++jMHnyCuj1+Rg4cCD8/f0Z/FONjBo1Cps2bcILL7xQalPuiRMnYu3atRg5cqRNWxupCYMwIhlVNatlz6KZRLaobDK+v78/goODZeodOZImTZrgk08+wfLly+Hu7g4AuHXrFrZs2YKmTZvK3LvawSCMSCbMapEaOPsej1R3OnbsiNTUVOzYsQPPPPMMAGDHjh1o2rQpwsPDpXYFBQWYPn06PvnkE+Tl5aFz585Yvnw5HnjgAanN119/jcmTJ+PixYvo1q0bRo4cWer5Dh48iNmzZ+PXX3+Fv78//v73v2PRokXw9PSs/Rf7F07MJ5IJs1qkBpY9HjkZ37lculS0IOrSpbp93jFjxuCDDz6Qrr///vsYPXq0VZsZM2Zg+/bt2LRpE44ePYrmzZsjOjoaOTlFPwwuXryIgQMHol+/fkhOTsZzzz2HWbNmWT1GamoqYmJiMGjQIJw4cQKffvopDh48iLi4uNp/kcUwE0akYjXdPoaoPMUn2XfseAwREeeQk+PLyfhOYMMGYNy4ohqNWm1RqaC6Wpn+7LPPYvbs2Th//jwA4KeffsInn3yCAwcOAACuX7+OdevWYePGjXj88ccBAP/+97+xZ88ebNiwAdOnT8e6desQERGBt99+GwDQqlUr/Pbbb1iyZIn0PIsWLcIzzzwjTbpv0aIFVq1ahUceeQTr1q1D/fr16+T1MggjUiluH0O1qeRG22XhZHzHc+nS3QAMKPrzhReA6Oi6WaUeEBCA2NhYbNy4EUIIxMbGwt/fXzqempqK27dv48EHH5Ruc3FxQZcuXXD69GkAwOnTp9G1a1erx42MjLS6fvz4cZw4cQKbN2+WbhNCwGw2Iy0tDffee29tvLxSGIQRKURVslrlbR8TEXFONRkxltpQPp5/51PRdnF1VSpozJgx0rDgmjVrauU5rl27hhdeeAEvvvhiqWN1uQiAQRiRAlQ1q6X27WO4KIFImZSwXVxMTAwKCwuh0WgQHR1tdSwiIgKurq746aefEBoaCgC4ffs2fvnlF2lo8d5778VXX31ldb/Dhw9bXe/YsSNOnTqF5jLvg8eJ+SQrywbB5V0MBoPcXax1VdkU2TL/prLtY5Q+T4eLEoiUSQnbxel0Opw+fRqnTp2CztKRv3h6emLChAmYPn06du/ejVOnTuH555/HjRs3MPaviWvjx4/H2bNnMX36dKSkpGDLli2l6ovNnDkThw4dQlxcHJKTk3H27Fl8+eWXnJhPzoPZkCJVyWoVn6fTqFEeZs7Uw2TSQKcTWLIkD08/PUyVw3hcYECkHGPHFs0BO3euKAMmx44l3t7e5R5bvHgxzGYzhg8fjvz8fHTu3Bnffvst7rnnHgBFw4nbt2/HlClTsHr1anTp0gVvvPEGxowZIz3Gfffdhx9++AGvvPIKHn74YQghEBERgSFDhtT6ayuOQRjJxtmzISWzWuXVYSqZ1bIEWNOmAUOGWD4oNWjc2AeAT1103a64wIBIeep6u7jKKuF/8cUX0t/r16+PVatWYdWqVeW279u3L/r27Wt1W8lSFw888AC+++67ch8jPT29wj7ZA4MwIpnYI6ul9n01HWGBARFRdTEII8VwxiEpR8tqVZXaFxgQEdUEgzBSBA5JqT+rVR3cEoeInBlXR5LsqrI6kBwLt8QhImfGTBjJjkNSzodb4hDVHiFErT5+YSFw6xZQvz7gzP9F7XGeGYSR7DgkpU41qXjPLXGI7M/FxQUAcOPGDbi7u9fKc/z5J/DXto4AgNBQICCgVp5K8W7cuAHg7nmvDgZhJBtLlsMyJFVyTpglI8JsSN2oSlBljxpvDLCI7Eun08HHxwdZWVkAAA8PD2g0Grs89p07d1BYKHD+fD0Adx/z/HkBne4OXF01qFfPOUIKIQRu3LiBrKws+Pj4lCooWxXOccZIkUpmQ+bO/RPp6fUQFnYHISEPAHiA2ZA6UtWgqmSwVt7KVket8WZRPHDNyNAiLa0ewsPvICSkaI4b379U14KCggBACsTswWQyIT8/H3fu1MP16w1KHb958xrq1bsDLy+vGgUkauPj4yOd7+piEEayKv4FFRwMdOokY2ecWE2CKmdd2Vo8cK3oHDj6jg+kLBqNBsHBwWjYsCFu375tl8fMysrC7t27ce2aJzZtGllq6sjIkZvQoMF1PPXUU2jYsKFdnlPpXFxc7BJwMggjIitVCaqcudiqJSCt7Bw4ejaQlEmn09ktK+Xi4oLr169Do7mO++77vtTng0aThevXi9rVr1/fLs/pLBiEEZGkqkEVV7byHJBzqWg1M1UdgzAiklQ1oODKVp4Dcj56fT6DLzthsVYiklgCiuIqCihsLbZqMBhw+fJlXL58GUeOXMFnnxlw5MgV6TaDwVA7L6gOsOAsEVUXM2FEJKmsXEhZKhuecIYJ7ByiIaLqYBBGRFZsCShK1m4rb3jC1dVV1RPYKypBkZ2dbdWWQzREVFUMwojsrCaV5OVSlaAKqFrF+8uXLwNQ3wR2WzN4RI7O1oLZLKxddQzCiOyoZNHT8uptKW3orTrbCFW1/2qbwG5rBq8y/GIiteM2Y7WHQRiRHRX/kKooe6LEobfa/gCtznwzJagsgzdw4ED4+/uXeV9+MZGj4Pu4djAII6oFzlzEtCJqnMBeWQbP398fwcHBcnWPiFSMJSqIakFF2RNnp9fnIzz8vCoCMIAlKIio9jATRtWixsnndUlt85+oYmrM4BGR8jEIoypT6+TzuqTW+U+1wVFWVrEEBRHZG4MwqjI1Tz6vS8yeFOHKKiKisjEIo2rj5PPKMXtSRI0BlqNk8IhIuRiEUbUpofhmRRXNgbrPsPCL23Ewg0dEtY1BGFWb3JPPlbgnIb+4HQv/nYioNjEIo2qTe/K5UvcktOWL+9Il4OxZoEULoHHjOugUEREpDoMwqhElTD5XwrCoLSxDp1u2uGPGDD3MZg20WoGlS414+umbzJARETkZBmFUY3JPPpd7WNQWlqFTo9ELK1ZMhhAaAIDZrMH06d7444/3odfnO3VZj8owe0hEjoYV86nKlDb5XA0VzS1DopVV0nf2sh4lGQwGXL58GW+/nYvQUIHevYHQUIG3387F5cuXYTAY5O4iUZVcugTs31/0JxEzYVRlSpx8roRhUVvYkrVjxqcIs4fkaDZsAMaNA8xmQKsF3n0XGDtW7l6RnBiEUbUo8UtP7mFRW1S2mOHdd0147TXB+WKwLXsox8ILouq4dOluAAYU/fnCC0B0tHP/2HJ2DMKI6lh5WbuijE8IMz4lqGHOH1FFDAYDDh8GzGbr/78mE5CUZIC7uzJ/2NoLs/vl45wwUi2lzU2rCr0+H+Hh560yd5wvVjY1zPkjKo9lWP3QoU3Se9hCozHjp582IT4+3mHnN27YAISG4q/5nEXX6S5mwki1is9NK6taPqCuwqjM+JRPLXP+iEqy/HiqbCqCo/zIKp71AjgEWxkGYaRajlZ3S+7it0qnhjl/RBVR44+Jqgwlllx4MHXq3QDMwmQCzp1jEGbBIIxUSW0r52wdElXjhzQR2U5NPyaqspqzrIUHy5YJaLVFn8sWOp2Al1cWDIZ6ivhslhuDMFIlta2cq6isR3Z2Nnbs2CFdV9OHNBE5pqqu5jx7tnTWy2zWoHv3n5CYGCll92NjE5CQUPf7+ioVgzBSNTXNo3L2D5uqUvPCCyK1KyuoKm8o0WAwwNv7DrTahlZZL43GjK5dk9C1a1KZ2X2l/EiWE4MwUjXOo3JcSiwKTOQsWrTAX0OJd2/T6YDmza3bWaaGAEDfvh3K/SzmZ3LZGISR6ql9HhUzPuVjgEVU9wwGA3S6Qixd6o6ZM/UwmTTQ6QSWLDFCp7sJg+Huj5/iP5LU/lksBwZh5BDUPI+KGR8ix6W2H1nFM1sA8OKLXlJQde1aPt59t+j28uZzqfmzWA6qCcL69++P5ORkZGVl4Z577kFUVBSWLFmCkJAQAMD8+fOxYMGCUvfz8PDA9evXpevbtm3DnDlzkJ6ejhYtWmDJkiV44oknpONCCMybNw///ve/kZubiwcffBDr1q1DC0vREwA5OTmYNGkSdu7cCa1Wi0GDBmHlypVo0KCB1ObEiROYOHEifvnlFwQEBGDSpEmYMWNGbZwacgAMsIgck9p+ZJXsZ3lBFedz2YdqKub36tULW7duRUpKCrZv347U1FQMHjxYOv7yyy/j8uXLVpc2bdrgH//4h9Tm0KFDGDZsGMaOHYtjx45hwIABGDBgAE6ePCm1Wbp0KVatWoX169cjKSkJnp6eiI6Oxq1bt6Q2zzzzDH7//Xfs2bMHCQkJ+PHHHzFu3DjpeF5eHh577DGEhobiyJEjePPNNzF//ny8a/kJQURETsPPzw/BwcHlXpQSgFHdU00mbMqUKdLfQ0NDMWvWLAwYMAC3b9+Gi4sLGjRoYJWJOn78OE6dOoX169dLt61cuRIxMTGYPn06AOD111/Hnj17EB8fj/Xr10MIgRUrVuDVV1/Fk08+CQD48MMPERgYiC+++AJDhw7F6dOnsXv3bvzyyy/o3LkzAGD16tV44okn8NZbbyEkJASbN29GYWEh3n//fbi6uqJt27ZITk7GsmXLrII1qj61pfiJiIhKUk0QVlxOTg42b96M7t27w8XFpcw27733Hlq2bImHH35Yui0xMRFTp061ahcdHY0vvvgCAJCWlobMzExERUVJx/V6Pbp27YrExEQMHToUiYmJ8PHxkQIwAIiKioJWq0VSUhL+/ve/IzExET169LAKAKKjo7FkyRJcvXoV99xzT5l9LigoQEFBgXQ9Ly/P9pPiZNSW4iciImv8kayyIGzmzJmIj4/HjRs30K1bNyQkJJTZ7tatW9i8eTNmzZpldXtmZiYCAwOtbgsMDERmZqZ03HJbRW0aNmxodbxevXrw9fW1ahMeHl7qMSzHygvCFi1aVOa8NiobAywi5anKNjfkPAYOHAh/f3/pOn8kF5F1TtisWbOg0WgqvJw5c0ZqP336dBw7dgzfffcddDodRowYASFEqcf9/PPPkZ+fj5EjR9bly6mx2bNnw2g0SpeLFy/K3SUiIptt2ACEhgK9exf9uWGD3D2y3aVLwP79RX+S7WzNZoWEhHAeXBlkzYRNmzYNo0aNqrBNs2bNpL/7+/vD398fLVu2xL333osmTZrg8OHDiIyMtLrPe++9h759+5bKaAUFBeHKlStWt125cgVBQUHSccttwcHBVm3uv/9+qU1WVpbVY9y5cwc5OTlWj1PW8xR/jrK4ubnBzc2t3ONEREpV1W1ulKQqeySSNU4NqRlZg7CAgAAEBARU677mv/6nF59DBRTN69q/fz+++uqrUveJjIzE3r17MXnyZOm2PXv2SEFceHg4goKCsHfvXinoysvLQ1JSEiZMmCA9Rm5uLo4cOYJOnToBAPbt2wez2YyuXbtKbV555RVp0YDleVq1alXuUCQRkVoZDAYcPgyYzdZftCYTkJRkwNWrWmRn36PIIUo1B4+1oTqLnhhg1YBQgcOHD4vVq1eLY8eOifT0dLF3717RvXt3ERERIW7dumXV9tVXXxUhISHizp07pR7np59+EvXq1RNvvfWWOH36tJg3b55wcXERv/32m9Rm8eLFwsfHR3z55ZfixIkT4sknnxTh4eHi5s2bUpuYmBjRoUMHkZSUJA4ePChatGghhg0bJh3Pzc0VgYGBYvjw4eLkyZPik08+ER4eHuKdd96p0us2Go0CgDAajVW6HxFRXcnOzhbz588XU6a8LTQakwCEdNFoTOLRR7+VbtdqhXjvPbl7bG3fPmHVZ8tl/365eyaf7OxskZGRUe4lOztb7i4qnq3f36oIwk6cOCF69eolfH19hZubmwgLCxPjx48Xly5dsmpnMplE48aNxT//+c9yH2vr1q2iZcuWwtXVVbRt21bs2rXL6rjZbBZz5swRgYGBws3NTfTp00ekpKRYtTEYDGLYsGGiQYMGwtvbW4wePVrk5+dbtTl+/Lh46KGHhJubm2jUqJFYvHhxlV83gzAiUrqMjAwxf/58MX/+fNG//5dSwFUyALNcdDohLl6Uu9dFsrOzxa+/Zgqt1lyij2bx66+ZpYKNixeLgjal9J+Uy9bvb40QZcxsJ0XIy8uDXq+H0WiEt7e33N0hIirl8uXLVoWojca729zk5Phh06bSC6Q++8yAnj3lHcYqvj3P0aOlN57u2PEYgLvb83DeGFWFrd/fqipRQUREylZymxuNxgwhtFbXf/ppE06ezC93/8G6YOvG04WFhZw3RrVGNdsWERGRuuj1+ejXLwEaTVH0YskyWYIcJe0/qNfnIzz8fJn7JJ49ezcAszCZgHPn6qhz5LCYCSMih8biofKqKMukBkXDSVpotQ1hNmuk23U6AS+vLBgM9Rx+dSD/D9UeZsKIyGGpuXioI6koy6R0n376KRIS1qNv351WGb3Y2J1ISFiP+Ph4GAwGmXtZe/h/qHYxE0ZEDsdgMCA9/Q7GjbubvSiaxyNw//1ZCAtz/OwF2Vdl88YcEefC1T4GYUTkUCyr3tLSwmA2W6/MM5k0WL36G4SHn5d1UrgjcaZNmEsuOqgLcg4FVjQXjkGYfTAIIyKHYslK+PoaylyZ5+ubY9WOaqasbWuys7OxY8cOGXvlGOQui9GiRdHzFg/EdDqgefO664Oj45wwInJIla3MI/vx8/Oz2pzZ399f7i5VSukZvPKGAutqg3GDwQCd7jKWLs2FTldUTlSnE1iyJBc63WWHngdXl5gJIyKHpfaVeWpVnf0H65otG0/n5uZi69atddiru+QcCixeyBYAXnzxbgHea9fyYanNyyH9mmMQRkQOTY55PM7OlgDH1dVV9i9wuZ+/PAaDAd7ed2Qri1Hy3628/0Mc0q85BmFERGR3Sg1wlK54FqpvX+vtlGJjE5CQYL2dEqkbgzAiIqIyyDGsWpXtlEj9GIQRERGVQQnDqhxOd2wMwkiVuI0GlUcNk8JJPTjkR7WJQRipjty1c0jZlJC9IPvjDy9yRAzCSFW4jQbZggGWY+EPL3JULNZKqlJR7RyLS5eA/fvrrqghEdUeuYuWqlVNPgc5pF93mAkjValsGw3+YiZ74hCYvAwGAw4fBsxm68ymyQQkJRng7s6sZ1lq+jnIIf26w0wYqUZl22j89ttV/mImu9mwAQgNBXr3Lvpzwwa5e+RcLPWyDh3aJG09ZaHRmPHTT5sQHx/vcNvn1DQLZa/MYcmtqEpeGIDZBzNhpAq2bKORlhYGs3mk1f3qapsPciyceyg/SxbGsgdo8aKlxfcAdbR6WTXNQsm53RFVHYMwUgVbttHw9TVAqxUltvm4O1RJZAsOgSmPs+0BWpP3V2VTNkhZOBxJDkOvz8fcuX+UOVTpaEMWVDucdQhMDfT6fISHn3f4AKwmKpuywfet8jATRg5mQ5lDlQD3WqPKOesQGKmfLVM2AH4OKg2DMHI45W3zwS9OqgpnGwIjdbNlykZZ7UheDMKIyOnYWnqC+/YRUW3inDAiciosPUFESsEgjIicBquvqwertpMz4HAkqQI/aKmmbCk9QcrBqu3kDBiEkSpU9IGcnZ2NHTt2yNArspXc2/9YVo4ZjV7QaCZDiLuDAJbSEydP5mPIkCF13zkqFwMscnQMwkg1+IGsTkrYz9PW0hNCCJsej5lZIrIHBmGkepw7olxK3P6notITPj4+HAIjVeLnoDoxCCPV49yR2lOTYUQlb/9jKT1hNHohLS0Mvr4GKRjj+4TUiJ+DFZN7SkR5GISRQ6jOB4tS/1MqRU2GEW2dgyVn9e6jRzuUGpYkUjNnDbAqo4QpEeVhiQpySqwVVbGalnIoOQfLsg+jUrb/MRq9pAAMAITQYufOvsjI4EcikSNRelkaZsLI6ShxnpKS2HsYUYnb/+Tk+Fll54CiQOz48esICzMwo0DkIM6evftZb2EyAefOKePznj/7yOlU9J/S2VmGEQ8d2iRlrywsw4jx8fEwGAxVely9Ph/h4ecVEYABgK+voczXd/LkF9V6fUSkTC1aFA1BFqfTAc2by9OfkhiEkVMxGAzw9r4Crda6FIFOJ+DldcXpv3yVPoxYXSVXhDna6yOisjVuXDQHTKcruq7TAe+8o4wsGMDhSHIiliwPAPTtaz0pOzY2AQkJxwBA1sniSqLEYcTqsqwcy8jIkAr7OtLrI6LSDAYDCgsL8cQTQFKSFunp9RAWdgchIWZcvqyM1aIMwshpFM9uVPQFzCzIXZZSDo7Az8+v1L+tI70+Irqr+I/u4k6etL4u949uBmFOzNlLNPALmIjIMdn6Y1ruH92cE+akWKKBahOrdxMRVY6ZMCfEEg1U21i9m4iocgzCnJDS66aQY2CARURUMQ5HOiGl100h+Tj6MKKjvz4iUhdmwpyMwWCATleIpUvdMXOmHiaTBjqdwJIlRuh0N2EwcIjImTn6MKKjvz4iUhcGYU6k5JLdF1/0kko0XLuWj3ffLbpd7iW7tYVZENs44r99cY7++ki9nH3FujNiEOZEbK2RJPeS3drCLAgRKdWGDXcXTGm1RVXex46Vu1fqpZYf3QzCyKkwwCIipeGKdftTy49uBmFEJBsOv5CzMxgMOHwYMJutgwGTCUhKMsDdnT8eq0sN542rI4nI7i5dAvbvL/qzPCwYTM7OMk/30KFN0mbyFhqNGT/9tAnx8fEwGAwy9ZBqG4MwIrIrW4Kr8oZfKgraiByNZahMr89Hv34JUiCm0ZjRr1+CNGfXUefpEocjiciObJnbwuEXotI6djyGiIhz0op17mvrHBiEEZFd2BJcAUB8fDyMRi9oNJMhxN1kvGX45eTJfIctk0JUkfJWrJPj4nCkE1HLkl1SH1vntmRlZQHg8AsREcBMmFNRy5JdUp+Sc1t27uwLIbSlgqs7d+5I9+HwS93hKlQiZWIQ5mQYYFFtq0pwxeGX2scioETKZXMQlpeXZ/ODent7V6szROQYGFzJz2AwID39DsaNawizWQPAslBC4P77sxAWVo8/yohkZnMQ5uPjA41GU2EbIQQ0Gg1MJlONO0ZERNVjmaOXlhYGs3mk1TGTSYPVq79BePh5LoCQmTPN0+WQeNlsDsL2799fm/0gIiI7sczR8/U1QKMxl1qF6uubY9WO5OEs83Q5JF4+m4OwRx55pDb7QUREdlbZQgmSn9oDrMpwX8yKVXtifm5uLjZs2IDTp08DANq2bYsxY8ZAr9fbrXNE5FhcXFxsaucIwy9KwVWoJKezZ+8GYBYmE3DuHIMwoJpB2K+//oro6Gi4u7ujS5cuAIBly5Zh4cKF+O6779CxY0e7dpKIlM3WoCkgIMAphl+UhgslSA4GgwHe3neg1d5dHAIAOp2Al1cWDAYuDqlWEDZlyhT0798f//73v1GvXtFD3LlzB8899xwmT56MH3/80a6dJCJ5VTap1lnmtsiBE5pJjSyLQwCgb98OVkPisbEJSEg4BgBOvzik2pmw4gEYANSrVw8zZsxA586d7dY5IpKfrZNqnfmD1N4MBgMKCwuxZYs7ZszQw2zWQKsVWLrUiKefvsmAlhSv+A+yiobEnX1xSLWCMG9vb1y4cAGtW7e2uv3ixYvw8vKyS8eISF6sMyUPSwbBaPTCihWTIYTl3Gswfbo3/vjjfej13F+T1IVD4mWr1t6RQ4YMwdixY/Hpp5/i4sWLuHjxIj755BM899xzGDZsmL37SER1zBIIrF6922ouB3C3zlR8fDwMBoNMPXRclsxATo6fVWkJABBCi5wcX6t2ZXGm+lNEalatIOytt97CwIEDMWLECISFhSEsLAyjRo3C4MGDsWTJEnv3EQDQv39/NG3aFPXr10dwcDCGDx+OjIwMqzbffvstunXrBi8vLwQEBGDQoEFIT0+3anPgwAF07NgRbm5uaN68OTZu3FjqudasWYOwsDDUr18fXbt2xc8//2x1/NatW5g4cSL8/PzQoEEDDBo0CFeuXLFqc+HCBcTGxsLDwwMNGzbE9OnTrfbNI1KyknWmimOdqbpR2bmviGWO3rhx48q9MJNGJL9qBWGurq5YuXIlrl69iuTkZCQnJyMnJwfLly+Hm5ubvfsIAOjVqxe2bt2KlJQUbN++HampqRg8eLB0PC0tDU8++SR69+6N5ORkfPvtt8jOzsbAgQOt2sTGxqJXr15ITk7G5MmT8dxzz+Hbb7+V2nz66aeYOnUq5s2bh6NHj6J9+/aIjo5GVlaW1GbKlCnYuXMntm3bhh9++AEZGRlWz2MymRAbG4vCwkIcOnQImzZtwsaNGzF37txaOTeO6NIlYP/+oj9JPpY6U5ZggHWm6k5Nz72fnx+Cg4PLvTAAI5KfRggh5O5EdXz11VcYMGAACgoK4OLigs8++wzDhg1DQUEBtNqi2HLnzp148sknpTYzZ87Erl27cPLkSelxhg4ditzcXOzevRsA0LVrVzzwwAPSqg6z2YwmTZpg0qRJmDVrFoxGIwICArBlyxYpCDxz5gzuvfdeJCYmolu3bvjmm2/Qt29fZGRkIDAwEACwfv16zJw5E3/++afNQwB5eXnQ6/UwGo1OtR8nqyvL7/Lly3j33Xel60ajV5mTaseNG4fg4GA5uuiweO7JEZR8H5fHUd/Htn5/VysTduvWLbz55pt44okn0LlzZ3Ts2NHqUttycnKwefNmdO/eXSr+2KlTJ2i1WnzwwQcwmUwwGo346KOPEBUVJbVJTExEVFSU1WNFR0cjMTERQNHQypEjR6zaaLVaREVFSW2OHDmC27dvW7Vp3bo1mjZtKrVJTExEu3btpADM8jx5eXn4/fffa+GMOI7yqiszI1YzNc0s6vX5CA8/zwyYDHjuiRxXtVZHjh07Ft999x0GDx6MLl26VLqxt73MnDkT8fHxuHHjBrp164aEhATpWHh4OL777js89dRTeOGFF2AymRAZGYmvv/5aapOZmWkVGAFAYGAg8vLycPPmTVy9ehUmk6nMNmfOnJEew9XVFT4+PqXaZGZmVvg8lmPlKSgoQEFBgXQ9Ly+vslPicFhd2f6YWSSiusbFIbapVhCWkJCAr7/+Gg8++GCNnnzWrFmVTuQ/ffq0VApj+vTpGDt2LM6fP48FCxZgxIgRSEhIgEajQWZmJp5//nmMHDkSw4YNQ35+PubOnYvBgwdjz549dRYo1sSiRYuwYMECubshG1ZXti+WmCAiubCAs22qFYQ1atTILvXApk2bhlGjRlXYplmzZtLf/f394e/vj5YtW+Lee+9FkyZNcPjwYURGRmLNmjXQ6/VYunSp1P4///kPmjRpgqSkJHTr1g1BQUGlVjFeuXIF3t7ecHd3h06ng06nK7NNUFAQACAoKAiFhYXIzc21yoaVbFNyRaXlMS1tyjJ79mxMnTpVup6Xl4cmTZpUeH4cBasr25flfKalhcFsHml1zFJiIjz8PM9nJeSoVs8MAjkKfrZUrlpB2Ntvv42ZM2di/fr1CA0NrfaTBwQEICAgoFr3Nf81ZmUZvrtx44Y0Id9Cp9NZtS05PAkAe/bsQWRkJICiD7VOnTph7969GDBggHTfvXv3Ii4uDkDR3DMXFxfs3bsXgwYNAgCkpKTgwoUL0uNERkZi4cKFyMrKQsOGDaXn8fb2Rps2bcp9TW5ubrW2ulTpWF3ZvkqWmCheb8qWEhPOHAjIXa2eGQQi51GtIKxz5864desWmjVrBg8PD2niu0VOTuV1bKoiKSkJv/zyCx566CHcc889SE1NxZw5cxARESEFPrGxsVi+fDlee+01aTjyn//8J0JDQ9GhQwcAwPjx4xEfH48ZM2ZgzJgx2LdvH7Zu3Ypdu3ZJzzV16lSMHDkSnTt3RpcuXbBixQpcv34do0ePBgDo9XqMHTsWU6dOha+vL7y9vTFp0iRERkaiW7duAIDHHnsMbdq0wfDhw7F06VJkZmbi1VdfxcSJE502yKoqVle2D0uZg+KZRVvKHDhrIKCUavWOdl6JqGzVCsKGDRuGP/74A2+88QYCAwNrfb6Vh4cHduzYgXnz5uH69esIDg5GTEwMXn31VSmo6d27N7Zs2YKlS5di6dKl8PDwQGRkJHbv3g13d3cARZP3d+3ahSlTpmDlypVo3Lgx3nvvPURHR0vPNWTIEPz555+YO3cuMjMzcf/992P37t1WE+2XL18OrVaLQYMGoaCgANHR0Vi7dq10XKfTISEhARMmTEBkZCQ8PT0xcuRIvPbaa7V6nojKUlFmsSLOGAjYUq1er89nRpaomrghvbVqBWGHDh1CYmIi2rdvb+/+lKldu3bYt29fpe2GDh2KoUOHVtimZ8+eOHbsWIVt4uLipOHHstSvXx9r1qzBmjVrym0TGhpaauiTyF6q+kHGzGLVVDaMS0RVx5XapVWrTljr1q1x8+ZNe/eFiGywYQMQGgr07l3054YNcvfI8XCnACL7Yg3IslUrE7Z48WJMmzYNCxcuRLt27UrNCXOm6u5EdYUlJ+pWdYdxiciawWDA4cOA2Wz9+WQyAUlJBri7O+f0B6CaQVhMTAwAoE+fPla3CyGg0WhgMplq3jMikrDkhDw4jEtUM8UXu2g0k0sN8f/00yacPFn7i12UqlpB2P79++3dD3JyzlISobqTUqtacsJZzicRKZvlM6myldrOutilWkHYI488YlO7//u//8Nrr70Gf3//6jwNORFnKIlgj0mptpaccIbzSUTqwiH+0qoVhNnqP//5D15++WUGYWQTRw0I7D2Xy9YPMkc9n7WJGUSi2sUhfmu1GoQJIWrz4YkUr7bmcvGDrHYwg0hEdalWgzAiZ1fT7YOo7tk7wLJsgwQAGRlapKXVQ3j4HYSEFK3VZ1BH5LwYhBHVgepuH0TqVnxj+qNHO5T69+/YkRvTEzkzBmFEdYSTUp2PJQNmNHpJARhQtAXSzp19ERFxjtsgETkxBmFEdai6c7k4YVzdKtuLkshR8bOrYrUahD377LOsnk9kB5wwrlzF53yVlJ2dDYB7UZIy1cVm2vzsqli1g7Dc3Fz8/PPPyMrKgtmyGdRfRowYAQBYt25dzXpHRBJn/ZBSsuJzvoCiYcecHD/4+hqsMlycE0hKYfnRsGWLO2bM0MNs1kCrFVi61Iinn75ZKwERP7vKV60gbOfOnXjmmWdw7do1eHt7Q6PRSMc0Go0UhBER1aaKslBA7f/CLv7cFU28BzgnkORXfAuhFSsmQwhL3UINpk/3xh9/vA+93nm3EJJDtYKwadOmYcyYMXjjjTfg4eFh7z4ROQzOh6g9tmah6uILpbKJ9xas70ZysvxoqGyOoqMvFKmLYVhbVSsI++OPP/Diiy8yACOqBOdD1B5bs1B18YXCifekJs48R9Ee28fZk7byJqVFR0fj119/tXdfiBySn58fgoODy70wAKuZ8rJQRqNXnfXB8qVWXFW+1JgJpbpkmaNoec9qNGZERibK3Kvad+nS3QAMsGwfV3S7XGzOhH311VfS32NjYzF9+nScOnUK7dq1g4uLi1Xb/v3726+HREQVUEIWqrKJ9wMHDix3D11mQkkOljmKSUldcehQJA4dehCJiZHo1y8B2dnZDve+NBgMOHwYMJutX5PJBCQlGeDuLs8CApuDsAEDBpS67bXXXit1m0ajgclkqlGniEj96mrSvFKGViqaeO/v74/g4OA67Q+RLRITI2EZFLs7l3GFQ03QL74gQaOZXOqz4qefNuHkSXler81BWMkyFERE5Sk5ab489vjQU1L5B068JzVxlgn6ltdR2WeFHK+3WhPzP/zwQwwZMgRubm5WtxcWFuKTTz5hiQoiJ1fyw6y8lYv2+tCTq/wDV7+Smikli1yXlFYqplpB2OjRoxETE4OGDRta3Z6fn4/Ro0czCCMiSWX1s+xFjiwUV7+SEhQf+s/I0CItrR7Cw+8gJKRoBMvyHiz5Y0BJWeS6pKSMdbWCMCGEVYFWi0uXLkGv19e4U0TkGGytn1UdSslCMcAiORUf+q/oB49l6D8uLg4ZGRnYsWMHAOVlhpxNlYKwDh06QKPRQKPRoE+fPqhX7+7dTSYT0tLSEBMTY/dOEpE61ebKRWahiO4O6Vf2g8fSzs/Pr9T/GSVlhpxNlYIwywrJ5ORkREdHo0GDBtIxV1dXhIWFYdCgQXbtIBGpV23POWGApWxybyvlTJRQqoWqrkpB2Lx58wAAYWFhGDJkCOrXr18rnSIix+Csc06oblfIykkpgaYzTrJ3BNWaEzZy5EgARWnQrKysUuUrmjZtWvOeEZFDqKs5J0r5MqQitq58VXMZBCXtX1qVHzxKmU9ZV5T8eqsVhJ09exZjxozBoUOHrG63TNhnsVYi51bWKqyafBlUxlmyLmpWXoCiZkravxSw/QePs82nVPLrrVYQNmrUKNSrVw8JCQkIDg4uc6UkETmvuv7Qq+u6ZFQ1dVWmRC61uQq4qmydZO8oAZatlPp6qxWEJScn48iRI2jdurW9+0NEDkKuDz1H/8JXGyUFKLWFk+KpurSVNymtTZs2yM7OtndfiIhqpLwvfKPRS+aeOa+KAhRHYZkUX1xdTYpX8nwnqly1MmFLlizBjBkz8MYbb6Bdu3ZwcXGxOu7t7W2XzhERVQUzEsrjDKv25FwFrOT5TlS5agVhUVFRAIDevXtbzQfjxHwikpMzfOGrjbOUKZGz8jwDLPWqVhC2f/9+e/eDiKjGnOULXw2KD39VFKA40jAZK89TVVUrCHvkkUfw3//+F++88w5SU1Px2WefoVGjRvjoo48QHh5u7z4SEdmMe+EpgzMMk3E+FtVUtYKw7du3Y/jw4XjmmWdw7NgxFBQUAACMRiPeeOMNfP3113btJBFRReq6LhnZRs0Bli2cIdCk2qURQoiq3qlDhw6YMmUKRowYAS8vLxw/fhzNmjXDsWPH8PjjjyMzM7M2+up08vLyoNfrYTQaudiBqBKsmE9ESmHr93e1MmEpKSno0aNHqdv1ej1yc3Or85BERDXCAIuI1KZaQVhQUBDOnTuHsLAwq9sPHjyIZs2a2aNf5KSYzSAiImdRrSDs+eefx0svvYT3338fGo0GGRkZSExMxMsvv4w5c+bYu4/kJJS0GS4REVFtq1YQNmvWLJjNZvTp0wc3btxAjx494ObmhpdffhmTJk2ydx/JSShtM1wiorrAEQDnVa0gTKPR4JVXXsH06dNx7tw5XLt2DW3atEGDBg3s3T9yQs6w1xwREVB6BKA8HAFwTNUKwixcXV3Rpk0be/WFCAC3niEi51EyA1beNAyOADimGgVhRLWhsq1nSm4ez1Q9ETmCiqZhkGNiEOYk1DTnoLKtZ3bs2FHqPkzVE5GacRqGc2IQ5gTUOOegqlvPMFVPRGrGaRjOiUGYE1DrnIOytp4pr+9ERGpW2TQMckwMwpyMkuccVLavn5L7TkRUE5VNwyDHxCDMiSh9zkFZm+FmZ2djx44diu87EVFNVXUaBqkfgzAnooY5B+XNSVND34mIqqrkCEBZ0zDKakeOgUGYE1HznAM1952IqDxljQCUpKTV62RfDMKciJrnHKi570REFWGA5bwYhDkZtc05KJ6Cr6jvTNUTEZHaMAhzAmqec8BUPREROSqNEELI3QkqW15eHvR6PYxGI7y9vWv0WGqqmE9ERKRmtn5/MxPmJBhgERERKYu28iZEREREZG8MwoiIiIhkwCCMiIiISAacE0ZENcaFH0REVccgjIhqxGAwID4+vtJ2cXFxDMSIiIrhcCQR1UhFGbDqtCMichbMhBERESkUh/orV/wcZWRokZZWD+HhdxASYgag7HPEIIyIiEiBONRfueLn6OjRDqX2F+7Y8RgA5Z4jBmEk4S8uIiLl4FB/5Syv3Wj0kgIwABBCi507+yIi4hz0+nzFniMGYQSAv7hIefijgMia0eiFnBw/+Poaytz/15nl5PhJAZiFEFrk5Pgq+lwxCCMA/MVF9mOPLwr+KCCyVtFQGwG+vgZoNGarQEyjMcPXN0fGXlVONasj+/fvj6ZNm6J+/foIDg7G8OHDkZGRYdVm69atuP/+++Hh4YHQ0FC8+eabpR7nwIED6NixI9zc3NC8eXNs3LixVJs1a9YgLCwM9evXR9euXfHzzz9bHb916xYmTpwIPz8/NGjQAIMGDcKVK1es2ly4cAGxsbHw8PBAw4YNMX36dNy5c6fmJ4JIwY4e7YAVKyZj06aRWLFiMo4e7VCtx+GPAqK7yhtqMxq9ZO6Zcuj1+ejXLwEaTdFkfEugquQsGKCiIKxXr17YunUrUlJSsH37dqSmpmLw4MHS8W+++QbPPPMMxo8fj5MnT2Lt2rVYvny51a/ptLQ0xMbGolevXkhOTsbkyZPx3HPP4dtvv5XafPrpp5g6dSrmzZuHo0ePon379oiOjkZWVpbUZsqUKdi5cye2bduGH374ARkZGRg4cKB03GQyITY2FoWFhTh06BA2bdqEjRs3Yu7cubV8lojqnqurK4DKvygs7YioaioaaqO7OnY8hsmTV2DkyI2YPHmFKjKFqgnCpkyZgm7duiE0NBTdu3fHrFmzcPjwYdy+fRsA8NFHH2HAgAEYP348mjVrhtjYWMyePRtLliyBEAIAsH79eoSHh+Ptt9/Gvffei7i4OAwePBjLly+XnmfZsmV4/vnnMXr0aLRp0wbr16+Hh4cH3n//fQCA0WjEhg0bsGzZMvTu3RudOnXCBx98gEOHDuHw4cMAgO+++w6nTp3Cf/7zH9x///14/PHH8frrr2PNmjX85U4Ox8/PD3FxcejefWSZXxQPPjiSw4ZENWAZaitODUNtctDr8xEefl7xGTAL1QRhxeXk5GDz5s3o3r07XFxcAAAFBQWoX7++VTt3d3dcunQJ58+fBwAkJiYiKirKqk10dDQSExMBFA1tHDlyxKqNVqtFVFSU1ObIkSO4ffu2VZvWrVujadOmUpvExES0a9cOgYGBVs+Tl5eH33//vdzXVVBQgLy8PKsLkRr4+fmhWzc/aEt8ouh0QNeufgzAiGpArUNtVDlVTcyfOXMm4uPjcePGDXTr1g0JCQnSsejoaEyZMgWjRo1Cr169cO7cObz99tsAgMuXLyMsLAyZmZlWgREABAYGIi8vDzdv3sTVq1dhMpnKbHPmzBkAQGZmJlxdXeHj41OqTWZmptSmrMewHCvPokWLsGDBgiqckdrDVThUVY0bA+++C7zwAmAyFQVg77xTdLvacaUmyaH4EH7HjscQEXEOOTm+8PXNsfpcduahfltfu1LPkaxB2KxZs7BkyZIK25w+fRqtW7cGAEyfPh1jx47F+fPnsWDBAowYMQIJCQnQaDR4/vnnkZqair59++L27dvw9vbGSy+9hPnz50Nb8ue5Qs2ePRtTp06Vrufl5aFJkyZ13g+uwqHqGjsWiI4Gzp0Dmje3XwAm548CrtQkuViG+vkDoHxqP0eyBmHTpk3DqFGjKmzTrFkz6e/+/v7w9/dHy5Ytce+996JJkyY4fPgwIiMjodFosGTJErzxxhvIzMxEQEAA9u7da/UYQUFBpVYxXrlyBd7e3nB3d4dOp4NOpyuzTVBQkPQYhYWFyM3NtcqGlWxTckWl5TEtbcri5uYGNze3Cs9HbalscrWl4J1Sf02QcjRubN/sl9w/CrhSk+Sk1OBBSdR8jmQNwgICAhAQEFCt+5rNRWPjBQUFVrfrdDo0atQIAPDxxx8jMjJSeo7IyEh8/fXXVu337NmDyMhIAEWBSKdOnbB3714MGDBAep69e/ciLi4OANCpUye4uLhg7969GDRoEAAgJSUFFy5ckB4nMjISCxcuRFZWFho2bCg9j7e3N9q0aVOt11vbLL8m9u8Hli8ve3J1z57qfrOTevBHgWPhcC5R2VQxJywpKQm//PILHnroIdxzzz1ITU3FnDlzEBERIQU+2dnZ+Oyzz9CzZ0/cunULH3zwgVRCwmL8+PGIj4/HjBkzMGbMGOzbtw9bt27Frl27pDZTp07FyJEj0blzZ3Tp0gUrVqzA9evXMXr0aACAXq/H2LFjMXXqVPj6+sLb2xuTJk1CZGQkunXrBgB47LHH0KZNGwwfPhxLly5FZmYmXn31VUycOFG2TJctiiZXA1otYC62EOfu5Gr5+kbORY0/CrKzs6W/M6i4i8O51cPA1TmoIgjz8PDAjh07MG/ePFy/fh3BwcGIiYnBq6++ahXUbNq0CS+//DKEEIiMjMSBAwfQpUsX6Xh4eDh27dqFKVOmYOXKlWjcuDHee+89REdHS22GDBmCP//8E3PnzkVmZibuv/9+7N6922qi/fLly6HVajFo0CAUFBQgOjoaa9eulY7rdDokJCRgwoQJiIyMhKenJ0aOHInXXnutls9UzTny5GpSF7X9KNixY4fVdQYVRTicW3UMXJ2HRliKaJHi5OXlQa/Xw2g0wtvbu06f+9Il+0+uJqqODRtK/ygYO7bunv/y5ct49913q3y/cePGITg4uBZ6pC62nj+er7t4ztTP1u9vVWTCqO7Ze3I11YwzD03U1orL6mL5FiKyFwZhRArHoQnl/CiQe6UmOScG/o6LQRiRwnFOjbxsXalJVBsY+Ds2dVQxJSKSSWV7Y3IT5aoxGr2QlhYmbexO5Ssv8Oe5cxzMhBERVaK8lZrcRLlqmNWpmpwcv3IDf2ZfHQMzYURENrCUb9HpihaUW4IIAMzsVKCy4VzLeWPh3dJ8fQ3Spt0WDPwdCzNhREQ2GjsW6NIlF2+//SV8fXOQmtocK1ZMLjOz4wxBha2rdtVWeFdulveOXp+Pfv0SSmUPLVkwZ3iPOTrWCVMwOeuEkXKwZpDyGAwGpKffQZcuDWE2a6TbdTqBpKQshIXVc/igoqqrdi9dAkJDSxfeTU9XxspXpSke4GZkaJGeXg9hYXcQElJ0Ah25LI0jYJ0wIgfF5ery8/Pzw4kT1gEFAJhMGuTnByqumn9tqOqqXe7GUTXFA6zgYKBTJxk7Q7WGQRiRwhUfcqhoYjOHJupWixZlb6nUvLl8fVI6pRXeJZIbgzAihbPMqUlPv4PXXmsIIYqGv4TQYteufpg7t6tTDH8pDTM71aOUwrtESsAgjEgFOPylTMzsKIszb+9F6sQgjEglOPylTMzsKAO39yI1Yp0wIpW4W6eq6DqHv0hJ5K6Ez+29SI2YCSNSEQ5/kRKxEj5R9TAII1IZDn+REti6sTlX7RKVj0EYERFVmdIr4bOeHqkBgzAiIqqW8jY21+mArl39ZFu1y+FRUgsGYUREKqSUcgxKq5dW2fAokZIwCCMiUhmllWNQ0oKRnBw/KQCzEEKLnBxfBmGkOAzCiIhURonlGOReMGJZAODra4BGY7YKxDQaM3x9c6zaESkBgzAiIlKFyoZgn332WXh4eKBRozzMnKmHyaSBTiewZEkenn56GCvmk+IwCCMiIsWryhDstGk+GDLEMjyqQePGPgB8aruLqqWU+YXOiEEYEREpXlWHYOUeHlULpc0vdDbctoiISOXk3jKI1KtkcFvee4nbPdUOZsKIiFSMNbHIXvheqnvMhBERqVR5NbGcISPG7J99OfN7SU7MhBERqYylzEJlNbEctRwDMzb2x/pq8mAQRkSkMpZ9G9PT7+CjjwTMZo10TKcTmDTpcYSF1XPIidSsiF87KquvRrWDw5FERCrk5+eHTp0C8e67Guh0RbcVbRmkQadOgQ4ZgAEVZ2yo+vT6fPTrlwCNpmgTUEuGkYFt7WImjIhIxZS0ZVBtYkX82tex4zFERJxDTo4vfH1zGIDVAQZhRFRlLO6oLM5QE8syBFtYWMiK+HZUMmjV6/PLDL4Y3NYOjRBCyN0JKlteXh70ej2MRiO8vb3l7g4RABZ3JGW4dMnxs391hT+q7M/W729mwoioSpS4eTQ5H2fI/tUVBljyYRBGRJUq/ks5Oztb5t4QETkGBmFEVCFbhx+JiKhqWKKCiCrEYUUiotrBIIyIaoTbxxARVQ+HI4mo2rh9DBFR9TETRkTVwg1/iYhqhpkwIqoSo9ELOTl+uH7dwyk3jyYishcGYURks+LDj4AZgADgPJtHExHZE4MwIrJJyeHHotkMZmg0AkJoodMJafNoInthNXdyZAzCiKhClmHFnBy/UsOPgBaDBm2Fp+cNTJv2JNq1u6fuO0gOi1tkkaNjEEZEFbJsnJyefgcffSRgNlsPP86a9chfw48MwMi+SmbALPMRfX0NVptMs5YdqRWDMCKqlJ+fH/z8gHffBV54ATCZAJ0OHH6kOsNyKOSIGIQRkc3GjgWio4Fz54DmzbmBMtWN8sqhREScs8qIEakNgzByWJzQWzsaN2bwRXWrrPmIxcuhEFXHpUvA2bNAixbyfaYxCCOHxAm9RI7D19cAjcZsFYhpNGb4+ubI2CtSsw0bgHHjALMZ0GqLplqMHVv3/WDFfHJItk7U5YReIuXT6/PRr18CNBozAEhzwpgFo6oyGAw4cuQKxo0TMBe9nWA2Ay+8IHDkyBUYDIY67Q8zYeQUyltVRUTq0LHjMUREnENOji98fXP4/5iqzDJCkpYWBrN5pNUxk0mD1au/QXj4+TodIWEQRg6Pq6pqjxLmVJDjKrn1lV6fX2bwxS2yyBaWkY/KhrfrcoSEQRg5NK6qsj/LgoctW9wxY4YeZrMGWq3A0qVGPP30TS54ILux1KjjAhuyJ8vwdskf53J8JzAII4fGVVX2ZUnnG41eWLFiMoQoKtxqNmswfbo3/vjjfej1+VzwQHbD9xHVBqUMbzMII4fGVVX2ZclIVBbccsEDESldecPbdYmrI8mhcVVV7bAEt8UxuCUiqhpmwsghFZ+oW1HamRN6q0dJcyqIiNSKQRg5JE7orX1KmVNBRKRWDMLIYTHAqn1KmFNBRGQLW0c+6nKEhEEYEREROTwljpAwCCMiIiKnoLQREq6OJCKbKTGdT0SkVsyEEZHNlJjOJyJSKwZhRFQlDLCIiOyDw5FEREREMmAQRkRERCQDBmFEREREMlBdEFZQUID7778fGo0GycnJVsdOnDiBhx9+GPXr10eTJk2wdOnSUvfftm0bWrdujfr166Ndu3b4+uuvrY4LITB37lwEBwfD3d0dUVFROHv2rFWbnJwcPPPMM/D29oaPjw/Gjh2La9euVbkvRERE5LxUF4TNmDEDISEhpW7Py8vDY489htDQUBw5cgRvvvkm5s+fj3fffVdqc+jQIQwbNgxjx47FsWPHMGDAAAwYMAAnT56U2ixduhSrVq3C+vXrkZSUBE9PT0RHR+PWrVtSm2eeeQa///479uzZg4SEBPz4448YN25clfpCRERETk6oyNdffy1at24tfv/9dwFAHDt2TDq2du1acc8994iCggLptpkzZ4pWrVpJ15966ikRGxtr9Zhdu3YVL7zwghBCCLPZLIKCgsSbb74pHc/NzRVubm7i448/FkIIcerUKQFA/PLLL1Kbb775Rmg0GvHHH3/Y3BdbGI1GAUAYjcYq3Y+IiIjkY+v3t2oyYVeuXMHzzz+Pjz76CB4eHqWOJyYmokePHlZFIqOjo5GSkoKrV69KbaKioqzuFx0djcTERABAWloaMjMzrdro9Xp07dpVapOYmAgfHx907txZahMVFQWtVoukpCSb+1KWgoIC5OXlWV2IiIjIMakiCBNCYNSoURg/frxV8FNcZmYmAgMDrW6zXM/MzKywTfHjxe9XXpuGDRtaHa9Xrx58fX0rfZ7iz1GWRYsWQa/XS5cmTZqU25aIiIjUTdYgbNasWdBoNBVezpw5g9WrVyM/Px+zZ8+Ws7u1bvbs2TAajdLl4sWLcneJiIiIaomsFfOnTZuGUaNGVdimWbNm2LdvHxITE+Hm5mZ1rHPnznjmmWewadMmBAUF4cqVK1bHLdeDgoKkP8tqU/y45bbg4GCrNvfff7/UJisry+ox7ty5g5ycnEqfp/hzlMXNza3UayQiIiLHJGsmLCAgAK1bt67w4urqilWrVuH48eNITk5GcnKyVFbi008/xcKFCwEAkZGR+PHHH3H79m3p8ffs2YNWrVrhnnvukdrs3bvXqg979uxBZGQkACA8PBxBQUFWbfLy8pCUlCS1iYyMRG5uLo4cOSK12bdvH8xmM7p27WpzX4iInNWlS8D+/UV/Ejm1ulknYF9paWmlVkfm5uaKwMBAMXz4cHHy5EnxySefCA8PD/HOO+9IbX766SdRr1498dZbb4nTp0+LefPmCRcXF/Hbb79JbRYvXix8fHzEl19+KU6cOCGefPJJER4eLm7evCm1iYmJER06dBBJSUni4MGDokWLFmLYsGFV6ostuDqSiBzNe+8JodUKART9+d57cveIyP5s/f52mCBMCCGOHz8uHnroIeHm5iYaNWokFi9eXOq+W7duFS1bthSurq6ibdu2YteuXVbHzWazmDNnjggMDBRubm6iT58+IiUlxaqNwWAQw4YNEw0aNBDe3t5i9OjRIj8/v8p9qQyDMCJyJBcv3g3ALBedruh2Ikdi6/e3Rggh5MzEUfny8vKg1+thNBrh7e0td3eISEUuXQLOngVatAAaN5a7N0X27wd69y779p4967w7RLXG1u9vVZSoICIi223YAISGFgU8oaFF15WgRQtAW+JbR6cDmjeXpz9EcmMQRkTkQC5dAsaNA8zmoutmM/DCC8qYBN+4MfDuu0WBF1D055Qp8vaJSE4MwoiIHMjZs3cDMAuTCTh3Tp7+WBgMBly+fBlPPHEZSUlXMH78NZjNAm+9BYSGCqxceU3eDhLJQNY6YUREZF+WIb/igZjcQ34GgwHx8fHSdaPRC++8MxlCaAAAZrMGU6Z4oHfvq2jXjmV8yHkwE0ZE5EDKGvJ75x15J+cXFhZaXc/J8UPJrYuF0OJ//yuRwiNycMyEERE5mLFjgejooiHI5s2VszrSwtfXAI3GbBWIaTRmhIXdkbFXRHWPmTAiIgfUuHFR2QelBWAAoNfno1+/BGg0RZkvjcaMfv0SEBLCTBg5F2bCiIgchMFgKDX0V5yrqyv8/PzqsEfl69jxGCIiziEnxxe+vjnQ6/MBPCB3txRNibXfqGYYhBEROYCSk9/LExcXp5hATK/P/yv4KpKdna2oQFFJNmy4W3pEqy2a9zd2rNy9opricCQRkQOoKANWnXZy2LFjB+Lj42EwGOTuiqJUVvuNG6KrF4MwIiJSFCUHinKoqPabUndHINswCCMiolrl6uoqdxdUrbztnjw9lbs7AtmGQRgREdUqPz8/xMXFYeDAgXJ3RZXKq/127Zoyd0cg23FiPhER1To/Pz8OM1aDZcXrE08ASUlapKfXQ1jYHYSEmJGRoYVW2xBms0ZqL/fuCFQ1DMKIiIgUqLwVrydP3v17374dsGtXP5hMGkXsjkBVwyCMiIhIgWzJHHbseAxz53ZFfn6gIndHoIoxCCMicgC2Tn7nJHnH4+qahVatiiaHXb5suY311tSAQRgRkQOwTH5XcsV8Boq1Y8eOHWXerqTCvFQ2BmFERA5C6V+4aggUHQkXQigfgzAiIqozDLCI7mKdMCIiIiIZMAgjIiIikgGDMCIiIgXiAgXHxzlhREREClTeQobs7OxyV0SSujAIIyIiUiguZHBsHI4kIiJSEdZbcxzMhBEREakI6605DgZhREREKsMAyzFwOJKIiIhIBgzCiIiIiGTAIIyIiIhIBgzCiIiIiGTAIIyIiIhIBgzCiIiIiGTAIIyIiIhIBgzCiIiIiGTAIIyIiIhIBqyYr2BCCABAXl6ezD0hIiIiW1m+ty3f4+VhEKZg+fn5AIAmTZrI3BMiIiKqqvz8fOj1+nKPa0RlYRrJxmw2IyMjA15eXtBoNHJ3p87k5eWhSZMmuHjxIry9veXujqrxXNoHz6P98FzaD8+lfdTGeRRCID8/HyEhIdBqy5/5xUyYgmm1WjRu3FjubsjG29ubHyx2wnNpHzyP9sNzaT88l/Zh7/NYUQbMghPziYiIiGTAIIyIiIhIBgzCSHHc3Nwwb948uLm5yd0V1eO5tA+eR/vhubQfnkv7kPM8cmI+ERERkQyYCSMiIiKSAYMwIiIiIhkwCCMiIiKSAYMwIiIiIhkwCCPZ/Pjjj+jXrx9CQkKg0WjwxRdfWB0XQmDu3LkIDg6Gu7s7oqKicPbsWXk6q3CVnctRo0ZBo9FYXWJiYuTprIItWrQIDzzwALy8vNCwYUMMGDAAKSkpVm1u3bqFiRMnws/PDw0aNMCgQYNw5coVmXqsTLacx549e5Z6T44fP16mHivXunXrcN9990mFRCMjI/HNN99Ix/l+tF1l51KO9ySDMJLN9evX0b59e6xZs6bM40uXLsWqVauwfv16JCUlwdPTE9HR0bh161Yd91T5KjuXABATE4PLly9Ll48//rgOe6gOP/zwAyZOnIjDhw9jz549uH37Nh577DFcv35dajNlyhTs3LkT27Ztww8//ICMjAwMHDhQxl4rjy3nEQCef/55q/fk0qVLZeqxcjVu3BiLFy/GkSNH8Ouvv6J379548skn8fvvvwPg+7EqKjuXgAzvSUGkAADE559/Ll03m80iKChIvPnmm9Jtubm5ws3NTXz88ccy9FA9Sp5LIYQYOXKkePLJJ2Xpj5plZWUJAOKHH34QQhS9B11cXMS2bdukNqdPnxYARGJiolzdVLyS51EIIR555BHx0ksvydcpFbvnnnvEe++9x/ejHVjOpRDyvCeZCSNFSktLQ2ZmJqKioqTb9Ho9unbtisTERBl7pl4HDhxAw4YN0apVK0yYMAEGg0HuLime0WgEAPj6+gIAjhw5gtu3b1u9L1u3bo2mTZvyfVmBkufRYvPmzfD398ff/vY3zJ49Gzdu3JCje6phMpnwySef4Pr164iMjOT7sQZKnkuLun5PcgNvUqTMzEwAQGBgoNXtgYGB0jGyXUxMDAYOHIjw8HCkpqbin//8Jx5//HEkJiZCp9PJ3T1FMpvNmDx5Mh588EH87W9/A1D0vnR1dYWPj49VW74vy1fWeQSAp59+GqGhoQgJCcGJEycwc+ZMpKSkYMeOHTL2Vpl+++03REZG4tatW2jQoAE+//xztGnTBsnJyXw/VlF55xKQ5z3JIIzICQwdOlT6e7t27XDfffchIiICBw4cQJ8+fWTsmXJNnDgRJ0+exMGDB+XuiqqVdx7HjRsn/b1du3YIDg5Gnz59kJqaioiIiLrupqK1atUKycnJMBqN+OyzzzBy5Ej88MMPcndLlco7l23atJHlPcnhSFKkoKAgACi1yufKlSvSMaq+Zs2awd/fH+fOnZO7K4oUFxeHhIQE7N+/H40bN5ZuDwoKQmFhIXJzc63a831ZtvLOY1m6du0KAHxPlsHV1RXNmzdHp06dsGjRIrRv3x4rV67k+7EayjuXZamL9ySDMFKk8PBwBAUFYe/evdJteXl5SEpKshq/p+q5dOkSDAYDgoOD5e6KogghEBcXh88//xz79u1DeHi41fFOnTrBxcXF6n2ZkpKCCxcu8H1ZTGXnsSzJyckAwPekDcxmMwoKCvh+tAPLuSxLXbwnORxJsrl27ZrVL4y0tDQkJyfD19cXTZs2xeTJk/Gvf/0LLVq0QHh4OObMmYOQkBAMGDBAvk4rVEXn0tfXFwsWLMCgQYMQFBSE1NRUzJgxA82bN0d0dLSMvVaeiRMnYsuWLfjyyy/h5eUlzavR6/Vwd3eHXq/H2LFjMXXqVPj6+sLb2xuTJk1CZGQkunXrJnPvlaOy85iamootW7bgiSeegJ+fH06cOIEpU6agR48euO+++2TuvbLMnj0bjz/+OJo2bYr8/Hxs2bIFBw4cwLfffsv3YxVVdC5le0/W6VpMomL2798vAJS6jBw5UghRVKZizpw5IjAwULi5uYk+ffqIlJQUeTutUBWdyxs3bojHHntMBAQECBcXFxEaGiqef/55kZmZKXe3FaescwhAfPDBB1Kbmzdviv/7v/8T99xzj/Dw8BB///vfxeXLl+XrtAJVdh4vXLggevToIXx9fYWbm5to3ry5mD59ujAajfJ2XIHGjBkjQkNDhaurqwgICBB9+vQR3333nXSc70fbVXQu5XpPaoQQovZCPCIiIiIqC+eEEREREcmAQRgRERGRDBiEEREREcmAQRgRERGRDBiEEREREcmAQRgRERGRDBiEEREREcmAQRgRERGRDBiEEREREcmAQRgRUTUUFhbK3YVSlNgnIiofgzAiIgA9e/ZEXFwc4uLioNfr4e/vjzlz5sCys1tYWBhef/11jBgxAt7e3hg3bhwA4ODBg3j44Yfh7u6OJk2a4MUXX8T169elx127di1atGiB+vXrIzAwEIMHD5aOffbZZ2jXrh3c3d3h5+eHqKgo6b49e/bE5MmTrfo4YMAAjBo1Srpe3T4RkTIwCCMi+sumTZtQr149/Pzzz1i5ciWWLVuG9957Tzr+1ltvoX379jh27BjmzJmD1NRUxMTEYNCgQThx4gQ+/fRTHDx4EHFxcQCAX3/9FS+++CJee+01pKSkYPfu3ejRowcA4PLlyxg2bBjGjBmD06dP48CBAxg4cCCqup1vVftERMrBDbyJiFCUecrKysLvv/8OjUYDAJg1axa++uornDp1CmFhYejQoQM+//xz6T7PPfccdDod3nnnHem2gwcP4pFHHsH169fx9ddfY/To0bh06RK8vLysnu/o0aPo1KkT0tPTERoaWmZ/7r//fqxYsUK6bcCAAfDx8cHGjRsBoFp9ql+/fo3OExHZDzNhRER/6datmxSAAUBkZCTOnj0Lk8kEAOjcubNV++PHj2Pjxo1o0KCBdImOjobZbEZaWhoeffRRhIaGolmzZhg+fDg2b96MGzduAADat2+PPn36oF27dvjHP/6Bf//737h69WqV+1zVPhGRcjAIIyKykaenp9X1a9eu4YUXXkBycrJ0OX78OM6ePYuIiAh4eXnh6NGj+PjjjxEcHIy5c+eiffv2yM3NhU6nw549e/DNN9+gTZs2WL16NVq1aiUFSlqtttTQ5O3bt2vcJyJSDgZhRER/SUpKsrp++PBhtGjRAjqdrsz2HTt2xKlTp9C8efNSF1dXVwBAvXr1EBUVhaVLl+LEiRNIT0/Hvn37AAAajQYPPvggFixYgGPHjsHV1VUaWgwICMDly5el5zKZTDh58mSlr8GWPhGRMjAIIyL6y4ULFzB16lSkpKTg448/xurVq/HSSy+V237mzJk4dOgQ4uLikJycjLNnz+LLL7+UJsEnJCRg1apVSE5Oxvnz5/Hhhx/CbDajVatWSEpKwhtvvIFff/0VFy5cwI4dO/Dnn3/i3nvvBQD07t0bu3btwq5du3DmzBlMmDABubm5lb6GyvpERMpRT+4OEBEpxYgRI3Dz5k106dIFOp0OL730klT2oSz33XcffvjhB7zyyit4+OGHIYRAREQEhgwZAgDw8fHBjh07MH/+fNy6dQstWrTAxx9/jLZt2+L06dP48ccfsWLFCuTl5SE0NBRvv/02Hn/8cQDAmDFjcPz4cYwYMQL16tXDlClT0KtXr0pfQ2V9IiLl4OpIIiKUvRqRiKg2cTiSiIiISAYMwoiIiIhkwOFIIiIiIhkwE0ZEREQkAwZhRERERDJgEEZEREQkAwZhRERERDJgEEZEREQkAwZhRERERDJgEEZEREQkAwZhRERERDJgEEZEREQkg/8PWOYDR7Ixe24AAAAASUVORK5CYII=", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "surrogate_scatter2D(keras_surrogate, data_training)\n", + "surrogate_parity(keras_surrogate, data_training)\n", + "surrogate_residual(keras_surrogate, data_training)" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.4 Model Validation\n", + "\n", + "We check the fit on the validation set to see if the surrogate is fitting well. This step can be used to check for overfitting on the training set." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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ljB06FAhMTFRCA4OFpo3by507txZWLRokVBdXW2zf1VVlTBr1iwhOTlZCAwMFGJjY4X7779fOHHihHWf3NxcIS0tTQgODhbatWsnrF271jpcvLYjR44IvXr1EkJCQgQANkPbX3jhBeHGG28U1Gp1vaHtmzZtEv70pz8JoaGhQmhoqNCuXTth4sSJwtGjR22OjaOh/nVZynfhwgWH+9Udzm7x6quvCu3atRMCAwOFmJgY4YknnhB+++03m30uXbokjBw5UoiIiBAAcGg7US0qQfDAwjBEREREMsA+PkRERKQYDD5ERESkGAw+REREpBgMPkRERKQYDD5ERESkGAw+REREpBicwLAOk8mEM2fOICwsjNO+ExERyYQgCKisrER8fDzUavv1Ogw+dZw5cwatWrUSuxhERETkhl9//RUJCQl272fwqSMsLAyA+cA5WneIiIiIpKOiogKtWrWyXsftYfCpw9K8FR4ezuBDREQkM411U2HnZiIiIlIMBh8iIiJSDAYfIiIiUgz28SEiIvIAo9GIq1evil0MvxUYGAiNRtPk55FN8Jk3bx7y8vJw5MgRhISEoEePHliwYAHatm1r3efKlSt45pln8N5776G6uhoZGRl4/fXXERMTI2LJiYjInwmCgLNnz6K8vFzsovi9iIgIxMbGNmmePdkEn127dmHixIno2rUrrl27hr///e8YMGAAfv75Z4SGhgIAnn76aWzduhUffvghtFotcnJyMGzYMOzZs0fk0hMRkb+yhJ7o6Gg0b96ck996gSAIqKqqwvnz5wEAcXFxbj+XShAEwVMF86ULFy4gOjoau3btQq9evWAwGBAVFYWNGzfi/vvvBwAcOXIEN998M/Lz83HnnXc69bwVFRXQarUwGAwczk5ERA4ZjUb88ssviI6Ohk6nE7s4fk+v1+P8+fO46aab6jV7OXv9lm3nZoPBAACIjIwEAOzfvx9Xr15F//79rfu0a9cOrVu3Rn5+vihlJCIi/2bp09O8eXORS6IMluPclL5Usmnqqs1kMmHy5Mno2bMnbrnlFgDmqsagoCBERETY7BsTE4OzZ8/afa7q6mpUV1dbb1dUVHilzERE5L/YvOUbnjjOsgw+EydORGFhIXbv3t3k55o3bx7mzp3rgVLJn16vR01Njd37g4KCWJVLRESyJrvgk5OTgy1btuDrr7+2WYQsNjYW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wYeIiIgUg8GHiIiIFIPBh4iIiBSDwYeIiIgUg8GHiIiIFIPBh4iIiBSDwYeIZKOmpkbsItQjxTIRkX0MPkQkmj59+iAnJwc5OTnQarVo2bIlnn32WVhW0klKSsILL7yARx99FOHh4cjOzgYA7N69G3fddRdCQkLQqlUrTJo0CZcvX7Y+7+uvv460tDQ0a9YMMTExuP/++633ffTRR+jYsSNCQkKg0+nQv39/62P79OmDyZMn25Rx6NChGDNmjPW2u2UiImlg8CEiUa1fvx4BAQH47rvvsHz5cixZsgT/+Mc/rPe/8sor6NSpEw4cOIBnn30WJ06cwMCBAzF8+HAcOnQI77//Pnbv3o2cnBwAwA8//IBJkybh+eefx9GjR/HZZ5+hV69eAIDS0lI89NBDGDt2LA4fPoyvvvoKw4YNg6tLFrpaJiKSDi5SSkSi6dOnD86fP4///ve/UKlUAIAZM2bg008/xc8//4ykpCR07twZH3/8sfUx48aNg0ajwapVq6zbdu/ejd69e+Py5cv497//jcceewwlJSUICwuz+X0FBQVIT09HcXExEhMTGyzPbbfdhmXLllm3DR06FBEREVi3bh0AuFWmZs2aNek4EZHnsMaHiER15513WkMPAHTv3h3Hjh2D0WgEANx+++02+//4449Yt24dWrRoYf2XkZEBk8mEoqIi3HPPPUhMTESbNm3wyCOP4J133kFVVRUAoFOnTujXrx86duyIv/zlL3jrrbfw22+/uVxmV8tERNLB4ENEkhYaGmpz+9KlSxg/fjwOHjxo/ffjjz/i2LFjSElJQVhYGAoKCvDuu+8iLi4Os2fPRqdOnVBeXg6NRoMdO3Zg27ZtaN++PVauXIm2bdtaw4lara7X7HX16tUml4mIpIPBh4hEtW/fPpvb3377LdLS0qDRaBrcv0uXLvj555+Rmppa719QUBAAICAgAP3798fChQtx6NAhFBcX48svvwQAqFQq9OzZE3PnzsWBAwcQFBRkbbaKiopCaWmp9XcZjUYUFhY2+hqcKRMRSQODDxGJ6tSpU5gyZQqOHj2Kd999FytXrsRTTz1ld//p06dj7969yMnJwcGDB3Hs2DH861//snYk3rJlC1asWIGDBw/i5MmTePvtt2EymdC2bVvs27cPL7/8Mn744QecOnUKeXl5uHDhAm6++WYAQN++fbF161Zs3boVR44cwRNPPIHy8vJGX0NjZSIi6QgQuwBEpGyPPvoofv/9d9xxxx3QaDR46qmnrEPEG3Lrrbdi165dmDVrFu666y4IgoCUlBSMGDECABAREYG8vDzMmTMHV65cQVpaGt5991106NABhw8fxtdff41ly5ahoqICiYmJWLx4MQYNGgQAGDt2LH788Uc8+uijCAgIwNNPP42777670dfQWJmISDo4qouIRNPQKCoiIm9iUxcREREpBoMPERERKQabuoiIiEgxWONDREREisHgQ0RERIrB4ENERESKweBDREREisHgQ0RERIrB4ENERESKweBDREREisHgQ0RERIrB4ENERESK8f8BKTkfuivYzxoAAAAASUVORK5CYII=", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# visualize with IDAES surrogate plotting tools\n", + "surrogate_scatter2D(keras_surrogate, data_validation)\n", + "surrogate_parity(keras_surrogate, data_validation)\n", + "surrogate_residual(keras_surrogate, data_validation)" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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KKBSqRAWFuawz2DOjh3anh5zx9PStMNbaWkMPURERHWx9fvbK4a6Dhw4gD///BMymQydO3dGfHw8+vbta9Tjk5eXhw4dOuhDDwD07t0bFRUV+N///mfxta9du4aKigqjH1dp3drcsJZAaOhZyOUlaNOmBHJ5CUpKtD9KpdJlbSMiImqMvGKo648//gAAzJgxAwsWLEBycjLmz5+Pu+66C7///jsiIiJQWlpqFHoA6B+XlpZafO3Zs2dj5syZzmu8FYmJwJw52mEtjQaQJA369duMzZsPWnxOTk4OIiMjXdhKIiKixsOtPT5TpkyBJElWf3777Tdo/i6CmTZtGgYNGoSMjAysXLkSkiTh448/blAbpk6dCpVKpf85ffq0Iz6aTVasMAw9Ar16fY30dMuhBwCqqqpc1DoiIqLGx609PhMmTMCIESOsXtOqVSuUlJQAANq1a6c/HhgYiFatWuHUqVMAgLi4OPz0009Gzz179qz+nCWBgYEIDAy0p/kNYlrYLISEr7/uhZtuyodCUeny9hAREfkCtwaf6OhoREdH13ldRkYGAgMDcezYMdxxxx0AgOrqahQVFSEpKQkAkJmZiZdffhnnzp1DTEwMAGD79u0ICwszCkyewtx6PULIUFYWweBDRETkJF5R4xMWFoannnoKL7zwAlq0aIGkpCTMmzcPAPDQQw8BAO677z60a9cOw4YNw6uvvorS0lL85z//wZgxY9zSo1MXXWGzYfiRJA0iIsrc1ygiIqJGziuCDwDMmzcPfn5+GDZsGP766y907doV3377LZo1awYAkMvl2Lx5M55++mlkZmYiJCQEw4cPx4svvujmlpuXmAgsX67djkK7Xo9Av36b2dtDRETkRF6xjo8ruWodH6VSiaqqKpw5I0NRkR/Cws5hz56P6nzeqFGjEB8f77R2EREReSNbv7+9psenMVEqlViyZIm7m0FERORzvGIBw8amIVPSbV2BmoiIiGpjj48bqFQqm64bOHAgoqKi9I8DAgK4eCEREVEDMPi4mFKpxPr16226NioqivU8REREDsShLherqqqCShWKwsJkqFSh7m4OERGRT2GPj4utXRuEhQtzIYQMkqTBgAGb69ymgoiIiByDPT4uVFwMTJqkgBDa2y6EDJs29WfPDxERkYsw+LiQdpsKyeiYbpsKIiIicj4GHxcpLgbOn9fuwm7I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s3LlSsTExKBfv376Y77yuwAAV65cgUxm/BUil8uh0WgA+N7vQ0hICOLj43Hx4kV89dVX+Oc//+lz9wBw3D/3zMxMfP/996iurtZfs337drRp06ZBw1wAOJ3dkilTpoidO3eKwsJCceTIETFlyhQhSZLYtm2bEEI7ZbVly5bi22+/FT///LPIzMwUmZmZ+ufrpqzed9994tChQ+LLL78U0dHRXjdl1ZThrC4hfOc+TJgwQXz33XeisLBQ7N69W/Tq1UtERUWJc+fOCSF84z789NNPws/PT7z88svi+PHj4oMPPhDBwcHi/fff118zZ84cER4eLv773/+KI0eOiH/+859mp7F27txZ7N27V+zatUu0bt3ao6fumqNWq0XLli3F5MmTa53zhd8FIYQYPny4aN68uX46+8aNG0VUVJSYNGmS/hpf+H348ssvxdatW8Uff/whtm3bJjp16iS6du0qqqqqhBCN8x5UVlaKgwcPioMHDwoAYsGCBeLgwYPi5MmTQgjHfOby8nIRGxsrhg0bJvLz88W6detEcHAwp7M708iRI0VSUpIICAgQ0dHR4p577tGHHiGE+Ouvv8S//vUv0axZMxEcHCz+3//7f6KkpMToNYqKikTfvn1FUFCQiIqKEhMmTBDV1dWu/igOZRp8fOU+ZGVlifj4eBEQECCaN28usrKyjNav8ZX7sGnTJnHTTTeJwMBA0bZtW7F8+XKj8xqNRjz//PMiNjZWBAYGinvuuUccO3bM6BqlUimGDBkimjZtKsLCwsTjjz8uKisrXfkxGuyrr74SAGp9NiF853ehoqJCPPPMM6Jly5aiSZMmolWrVmLatGlG04994fdh/fr1olWrViIgIEDExcWJMWPGiPLycv35xngPduzYIQDU+hk+fLgQwnGf+fDhw+KOO+4QgYGBonnz5mLOnDkOab8khMEym0RERESNGGt8iIiIyGcw+BAREZHPYPAhIiIin8HgQ0RERD6DwYeIiIh8BoMPERER+QwGHyIiIvIZDD5ERETkMxh8iKjB7rrrLuTm5rq7GU43Y8YM3Hzzze5uBhE1AIMPEfm8qqoql76fEAI1NTUufU8i0mLwIaIGGTFiBHbu3IlFixZBkiRIkoSioiLk5+ejb9++aNq0KWJjYzFs2DBcuHBB/7y77roLY8eORW5uLpo1a4bY2Fi88847uHz5Mh5/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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, the surrogate is trained and validated, we shall embed it in the property package, which is demonstrated in the [surrogate_embedding_test.ipynb](./surrogate_embedding_test.ipynb) file." ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "4/4 [==============================] - 0s 4ms/step\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAm4AAAHHCAYAAAAGU9SoAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABf+ElEQVR4nO3dfVzN5+M/8Nfp/oYKpUKR23IzoqnTsJnmsCw2PsMM0WyMmftiSLYRwzY34/v52MTmfjZyG8vNbspdwtyUjRIjMSpF99fvj369dZwTxTmdczqv5+NxHpzrfZ33uU7v6bx2Xe/rumRCCAEiIiIi0nsmum4AEREREVUOgxsRERGRgWBwIyIiIjIQDG5EREREBoLBjYiIiMhAMLgRERERGQgGNyIiIiIDweBGREREZCAY3IiIiIgMBIMbEdFzkslkmDNnjq6bIQkODkaTJk103Qwi0gIGNyKqkaKioiCTyaSHlZUVWrZsiXHjxuHWrVtafe+4uDjMmTMHmZmZGj3vK6+8ovSZ6tatixdffBHfffcdSkpKNPIe8+bNw/bt2zVyLiLSPDNdN4CISJvmzp0LDw8P5OXl4ffff8fKlSuxZ88enDt3DjY2Nhp5j4cPH8LM7NGv07i4OERERCA4OBgODg4aeY8yjRo1wvz58wEAt2/fxrp16xASEoJLly4hMjLyuc8/b948DBgwAP369XvucxGR5jG4EVGN1rt3b/j4+AAA3nvvPdSrVw9LlizBjh07MHjw4Gc+b0lJCQoKCmBlZQUrKytNNfep7O3t8e6770rPP/jgA7Rq1QrLly/Hp59+CnNz82prCxFVPw6VEpFRefXVVwEAKSkpAIBFixbB398f9erVg7W1NTp16oQff/xR5XUymQzjxo3D+vXr0aZNG1haWmLfvn3SsbJ73ObMmYOpU6cCADw8PKRhzdTUVLz88sto37692na1atUKCoWiyp/HxsYGfn5+yM3Nxe3btyusl5ubi8mTJ8PNzQ2WlpZo1aoVFi1aBCGE0mfMzc3F2rVrpXYHBwdXuU1EpD3scSMio3L58mUAQL169QAAX3/9NYKCgjBkyBAUFBRg06ZN+M9//oNdu3YhMDBQ6bUHDx7Eli1bMG7cODg6OqqdAPDWW2/h0qVL2LhxI7788ks4OjoCAJycnDB06FCMGjUK586dQ9u2baXXnDhxApcuXcLMmTOf6TNduXIFpqamFQ7LCiEQFBSEQ4cOISQkBB06dEBMTAymTp2Kf/75B19++SUA4Pvvv8d7772Hzp074/333wcANGvW7JnaRERaIoiIaqA1a9YIAOKXX34Rt2/fFteuXRObNm0S9erVE9bW1uL69etCCCEePHig9LqCggLRtm1b8eqrryqVAxAmJibi/PnzKu8FQISHh0vPv/jiCwFApKSkKNXLzMwUVlZWIjQ0VKl8/PjxwtbWVuTk5DzxM7388svC09NT3L59W9y+fVtcvHhRjB8/XgAQb7zxhlRv+PDhonHjxtLz7du3CwDis88+UzrfgAEDhEwmE3///bdUZmtrK4YPH/7EdhCR7nColIhqtICAADg5OcHNzQ2DBg1CrVq18PPPP6Nhw4YAAGtra6nuvXv3kJWVha5du+LUqVMq53r55ZfRunXrZ26Lvb09+vbti40bN0pDlMXFxdi8eTP69esHW1vbp54jKSkJTk5OcHJygpeXF5YtW4bAwEB89913Fb5mz549MDU1xfjx45XKJ0+eDCEE9u7d+8yfiYiqF4dKiahGW7FiBVq2bAkzMzM4OzujVatWMDF59P+su3btwmeffYbTp08jPz9fKpfJZCrn8vDweO72DBs2DJs3b8Zvv/2Gbt264ZdffsGtW7cwdOjQSr2+SZMm+N///ictcdKiRQvUr1//ia+5evUqGjRogNq1ayuVe3l5SceJyDAwuBFRjda5c2dpVunjfvvtNwQFBaFbt2745ptv4OrqCnNzc6xZswYbNmxQqV++d+5ZKRQKODs744cffkC3bt3www8/wMXFBQEBAZV6va2tbaXrElHNw6FSIjJa27Ztg5WVFWJiYjBy5Ej07t1bI6FIXW9dGVNTU7zzzjv48ccfce/ePWzfvh2DBw+Gqanpc79vRRo3bowbN27g/v37SuVJSUnS8TJPajsR6R6DGxEZLVNTU8hkMhQXF0tlqampz71zQNm9ahXtnDB06FDcu3cPH3zwAXJycpTWZdOG119/HcXFxVi+fLlS+ZdffgmZTIbevXtLZba2thrf8YGINIdDpURktAIDA7FkyRL06tUL77zzDjIyMrBixQo0b94cZ8+efebzdurUCQDwySefYNCgQTA3N8cbb7whBTpvb2+0bdsWW7duhZeXFzp27KiRz1ORN954A927d8cnn3yC1NRUtG/f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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj4AAAHHCAYAAAC/R1LgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABLyUlEQVR4nO3deVzU1f7H8feALKIsLiBq4Fou2TXSNLgt6s9EK8m2X6tKmWVqZtoCZiJZiWZ202vavaV2y9QsM35qmZXaIvdmapYLmqZpJWqp4Mr6/f3BZXScQQcY+M7yej4e88A53+9854Nzu/P2nPM9x2IYhiEAAAAf4Gd2AQAAADWF4AMAAHwGwQcAAPgMgg8AAPAZBB8AAOAzCD4AAMBnEHwAAIDPIPgAAACfQfABAAA+g+ADwCNZLBaNHz/e7DKskpOT1bx5c7PLAHABBB8ALjN37lxZLBbrIzg4WJdccomGDx+uAwcOVOt7r127VuPHj9fRo0ddet1u3brZ/E7169fXlVdeqdmzZ6ukpMQl7/Hiiy9qyZIlLrkWgPOrZXYBALzPc889pxYtWuj06dP6+uuvNXPmTC1fvlybN29WSEiIS97j1KlTqlXrzP+FrV27Vunp6UpOTlZERIRL3qPMRRddpIkTJ0qSDh06pH/9618aNGiQduzYoYyMjCpf/8UXX9Ttt9+ufv36VflaAM6P4APA5fr06aPOnTtLkh588EE1aNBAU6dO1UcffaS777670tctKSlRQUGBgoODFRwc7KpyLyg8PFz33Xef9fnDDz+sNm3a6O9//7smTJiggICAGqsFQNUw1AWg2vXo0UOStHv3bknSlClTlJCQoAYNGqh27drq1KmT3n//fbvXWSwWDR8+XPPmzdOll16qoKAgffLJJ9ZjZXN8xo8fryeffFKS1KJFC+uw1J49e3TdddepY8eODutq06aNEhMTK/z7hISE6KqrrtKJEyd06NChcs87ceKERo8erZiYGAUFBalNmzaaMmWKDMOw+R1PnDiht956y1p3cnJyhWsC4Bx6fABUu127dkmSGjRoIEl69dVXlZSUpHvvvVcFBQVasGCB7rjjDi1dulQ33nijzWu/+OILvffeexo+fLgaNmzocALxrbfeqh07dmj+/Pl65ZVX1LBhQ0lSZGSk+vfvr8GDB2vz5s3q0KGD9TXr1q3Tjh07NHbs2Er9Tj///LP8/f3LHVYzDENJSUlatWqVBg0apMsvv1wrVqzQk08+qd9++02vvPKKJOntt9/Wgw8+qC5duuihhx6SJLVq1apSNQFwggEALjJnzhxDkvHZZ58Zhw4dMvbt22csWLDAaNCggVG7dm3j119/NQzDME6ePGnzuoKCAqNDhw5Gjx49bNolGX5+fsaWLVvs3kuSkZaWZn3+0ksvGZKM3bt325x39OhRIzg42Hj66adt2keMGGHUqVPHOH78+Hl/p+uuu85o27atcejQIePQoUPGtm3bjBEjRhiSjL59+1rPGzhwoNGsWTPr8yVLlhiSjOeff97merfffrthsViMnTt3Wtvq1KljDBw48Lx1AHANhroAuFzPnj0VGRmpmJgY3XXXXapbt64+/PBDNW3aVJJUu3Zt67lHjhxRbm6urrnmGm3YsMHuWtddd53at29f6VrCw8N18803a/78+dYhpuLiYi1cuFD9+vVTnTp1LniN7OxsRUZGKjIyUu3atdP06dN14403avbs2eW+Zvny5fL399eIESNs2kePHi3DMPTxxx9X+ncCUHkMdQFwuRkzZuiSSy5RrVq11KhRI7Vp00Z+fmf+nbV06VI9//zz+v7775Wfn29tt1gsdtdq0aJFlesZMGCAFi5cqK+++krXXnutPvvsMx04cED9+/d36vXNmzfXP//5T+st+hdffLGioqLO+5pffvlFTZo0UWhoqE17u3btrMcB1DyCDwCX69Kli/WurnN99dVXSkpK0rXXXqvXXntNjRs3VkBAgObMmaN3333X7vyze4cqKzExUY0aNdI777yja6+9Vu+8846io6PVs2dPp15fp04dp88F4N4Y6gJQoz744AMFBwdrxYoVeuCBB9SnTx+XhApHvUVl/P39dc899+j999/XkSNHtGTJEt19993y9/ev8vuWp1mzZvr999917Ngxm/bs7Gzr8TLnqx2AaxF8ANQof39/WSwWFRcXW9v27NlT5ZWLy+bqlLdyc//+/XXkyBE9/PDDOn78uM26PNXhhhtuUHFxsf7+97/btL/yyiuyWCzq06ePta1OnTouX3EagGMMdQGoUTfeeKOmTp2q3r1765577tHBgwc1Y8YMtW7dWj/88EOlr9upUydJ0jPPPKO77rpLAQEB6tu3rzUQxcXFqUOHDlq0aJHatWunK664wiW/T3n69u2r7t2765lnntGePXvUsWNHffrpp/roo480cuRIm1vWO3XqpM8++0xTp05VkyZN1KJFC3Xt2rVa6wN8FT0+AGpUjx499OabbyonJ0cjR47U/PnzNWnSJN1yyy1Vuu6VV16pCRMmaNOmTUpOTtbdd99tt7jggAEDJMnpSc1V4efnp8zMTI0cOVJLly7VyJEjtXXrVr300kuaOnWqzblTp05Vp06dNHbsWN19992aOXNmtdcH+CqLYZy1hCgAeLFXX31Vjz/+uPbs2aPY2FizywFgAoIPAJ9gGIY6duyoBg0aaNWqVWaXA8AkzPEB4NVOnDihzMxMrVq1Sj/++KM++ugjs0sCYCJ6fAB4tT179qhFixaKiIjQ0KFD9cILL5hdEgATEXwAAIDP4K4uAADgMwg+AADAZzC5+RwlJSX6/fffFRoayjLyAAB4CMMwdOzYMTVp0sRmU+RzEXzO8fvvvysmJsbsMgAAQCXs27dPF110UbnHCT7nCA0NlVT6FxcWFmZyNQAAwBl5eXmKiYmxfo+Xh+BzjrLhrbCwMIIPAAAe5kLTVJjcDAAAfAbBBwAA+AyCDwAA8BnM8amE4uJiFRYWml0GakBAQID8/f3NLgMA4CIeE3wmTpyoxYsXKzs7W7Vr11ZCQoImTZqkNm3aWM85ffq0Ro8erQULFig/P1+JiYl67bXX1KhRI5fUYBiGcnJydPToUZdcD54hIiJC0dHRrOsEAF7AY4LPmjVrNGzYMF155ZUqKirSmDFj1KtXL23dulV16tSRJD3++ONatmyZFi1apPDwcA0fPly33nqrvvnmG5fUUBZ6oqKiFBISwhehlzMMQydPntTBgwclSY0bNza5IgBAVXnsJqWHDh1SVFSU1qxZo2uvvVa5ubmKjIzUu+++q9tvv12SlJ2drXbt2ikrK0tXXXWVU9fNy8tTeHi4cnNzbW5nLy4u1o4dOxQVFaUGDRpUy+8E9/Tnn3/q4MGDuuSSSxj2AgA3Vd7397k8dnJzbm6uJKl+/fqSpPXr16uwsFA9e/a0ntO2bVvFxsYqKyuryu9XNqcnJCSkyteCZyn7zJnXBQCez2OGus5WUlKikSNH6q9//as6dOggqXQYKjAwUBERETbnNmrUSDk5OeVeKz8/X/n5+dbneXl5531vhrd8D585AHgPj+zxGTZsmDZv3qwFCxZU+VoTJ05UeHi49cE+XQAAeC+PCz7Dhw/X0qVLtWrVKptNyKKjo1VQUGB3x9WBAwcUHR1d7vVSU1OVm5trfezbt6+6SgcAACbzmOBjGIaGDx+uDz/8UF988YVatGhhc7xTp04KCAjQ559/bm3bvn279u7dq/j4+HKvGxQUZN2Xy1v350pOTpbFYpHFYlFAQIAaNWqk66+/XrNnz1ZJSYnT15k7d67dUCIAAJ7EY+b4DBs2TO+++64++ugjhYaGWufthIeHq3bt2goPD9egQYM0atQo1a9fX2FhYXr00UcVHx/v9B1d3qx3796aM2eOiouLdeDAAX3yySd67LHH9P777yszM1O1annM/xQAAB7q+PHjslgs1mVozOAxPT4zZ85Ubm6uunXrpsaNG1sfCxcutJ7zyiuv6KabbtJtt92ma6+9VtHR0Vq8eLGJVbuPoKAgRUdHq2nTprriiis0ZswYffTRR/r44481d+5cSdLUqVN12WWXqU6dOoqJidHQoUN1/PhxSdLq1at1//33Kzc319p7NH78eEnS22+/rc6dOys0NFTR0dG65557rGvfAABgGIZmzJihl19+WbNmzZKZK+l4zD/znflLCg4O1owZMzRjxowaqKi0JrNucQ4ICKjy3UY9evRQx44dtXjxYj344IPy8/PTtGnT1KJFC/38888aOnSonnrqKb322mtKSEjQ3/72N40bN07bt2+XJNWtW1dS6W3eEyZMUJs2bXTw4EGNGjVKycnJWr58eZV/TwCAZzt69KheffVV6/MTJ06YeresxwQfd1RYWKiJEyea8t6pqakKDAys8nXatm2rH374QZI0cuRIa3vz5s31/PPPa8iQIXrttdcUGBio8PBwWSwWu8niDzzwgPXPLVu21LRp03TllVfq+PHj1nAEAPA969ats/lHcHh4uB577DETKyL4+DzDMKzJ+7PPPtPEiROVnZ2tvLw8FRUV6fTp0zp58uR5F25cv369xo8fr02bNunIkSPWCdN79+5V+/bta+T3AAC4D8MwNG3aNJs7rW+44QZdeeWV5hX1XwSfKggICFBqaqpp7+0K27ZtU4sWLbRnzx7ddNNNeuSRR/TCCy+ofv36+vrrrzVo0CAVFBSUG3xOnDihxMREJSYmat68eYqMjNTevXuVmJiogoICl9QIAPAchw8f1vTp023aHnvsMbe5K5jgUwUWi8Ulw01m+eKLL/Tjjz/q8ccf1/r161VSUqKXX35Zfn6lc97fe+89m/MDAwNVXFxs05adna0///xTGRkZ1sUfv/vuu5r5BQAAbiUrK0uffvqp9XnDhg01dOhQ68hCZqaUkSGlpEhJSebUSPDxEfn5+crJybG5nX3ixIm66aabNGDAAG3evFmFhYWaPn26+vbtq2+++UazZs2yuUbz5s11/Phxff755+rYsaNCQkIUGxurwMBATZ8+XUOGDNHmzZs1YcIEk35LAIAZSkpKNHXqVJ04ccLa1rdvX11xxRU252VkSFlZpT/NCj4eczs7quaTTz5R48aN1bx5c/Xu3VurVq3StGnT9NFHH8nf318dO3bU1KlTNWnSJHXo0EHz5s2zm7idkJCgIUOG6M4771RkZKQmT56syMhIzZ07V4sWLVL79u2VkZGhKVOmmPRbAgBq2h9//KEJEybYhJ7HH3/cLvRIpT098fGlP81iMcy8md4Nlbet/enTp7V79261aNFCwcHBJlaImsZnDwCOffXVV/riiy+szxs3bqzBgwebcrt6ed/f52KoCwAAVEhJSYkyMjJs1rK75ZZb9Je//MXEqpxD8AEAAE47ePCgZs6cadM2evRoj1m3jeADAACcsnTpUq1fv976PDY21roRtqcg+AAAgPMqLCzUiy++aNN2++2369JLLzWposoj+AAAgHJt3LhRmZmZNm0dOjyhSy81b4f1qiD4AAAAh9LT0+3axo9PU3y8dNttJhTkAgQfAABgIz8/XxkZGTZtl19+uSyWm01fh6eqCD4AAMDq22+/1ccff2zT9uijj6p+/fqSzFtx2VUIPgAAQJLjoa20tDQTKqk+bFkBl0lOTla/fv2sz7t166aRI0dW6ZquuAYA4PxOnTplF3q6dOnidaFHosfHJyQnJ+utt96SJAUEBCg2NlYDBgzQmDFjVKtW9f1PYPHixQoICHDq3NWrV6t79+46cuSIIiIiKnUNAEDFLV68WD/++KNN28iRIxUeHm5SRdWL4OMjevfurTlz5ig/P1/Lly/XsGHDFBAQoNTUVJvzCgoKFBgY6JL3LBsPNvsaAADHfGFo61wMdfmIoKAgRUdHq1mzZnrkkUfUs2dPZWZmWoenXnjhBTVp0kRt2rSRJO3bt0//+7//q4iICNWvX18333yz9uzZY71ecXGxRo0apYiICDVo0EBPPfWUzt3v9txhqvz8fD399NOKiYlRUFCQWrdurTfffFN79uxR9+7dJUn16tWTxWJRcnKyw2scOXJEAwYMUL169RQSEqI+ffrop59+sh6fO3euIiIitGLFCrVr105169ZV7969tX//fus5q1evVpcuXVSnTh1FRETor3/9q3755RcX/U0DgPv79ddf7UJPp06dvD70SAQfn1W7dm0VFBRIkj7//HNt375dK1eu1NKlS1VYWKjExESFhobqq6++0jfffGMNEGWvefnllzV37lzNnj1bX3/9tQ4fPqwPP/zwvO85YMAAzZ8/X9OmTdO2bdv0+uuvq27duoqJidEHH3wgSdq+fbv279+vV1991eE1kpOT9d133ykzM1NZWVkyDEM33HCDzUZ5J0+e1JQpU/T222/ryy+/1N69e/XEE09IkoqKitSvXz9dd911+uGHH5SVlaWHHnrIo5ZbB4CqSE9P15tvvmnTNnv2w8rKusmkimoWQ10+xjAMff7551qxYoUeffRRHTp0SHXq1NEbb7xhHeJ65513VFJSojfeeMMaCObMmaOIiAitXr1avXr10t/+9jelpqbq1ltvlSTNmjVLK1asKPd9d+zYoffee08rV65Uz549JUktW7a0Hi8b0oqKirKZ43O2n376SZmZmfrmm2+UkJAgSZo3b55iYmK0ZMkS3XHHHZJKl1afNWuWWrVqJUkaPny4nnvuOUlSXl6ecnNzddNNN1mPt2vXruJ/kQDggRwNbU2Zkqbjx6Vp06QXXjChqBpGj49JMjOlhITSnzVh6dKlqlu3roKDg9WnTx/deeedGj9+vCTpsssus5nXs2nTJu3cuVOhoaGqW7eu6tatq/r16+v06dPatWuXcnNztX//fnXt2tX6mlq1aqlz587lvv/3338vf39/XXfddZX+HbZt26ZatWrZvG+DBg3Upk0bbdu2zdoWEhJiDTWS1LhxYx08eFBSacBKTk5WYmKi+vbtq1dffdVmGAwAvNHPP/9c7nyeESOkunWlESNMKMwE9PiYJCNDysoq/VkTi0F1795dM2fOVGBgoJo0aWJzN1edOrb7rRw/flydOnXSvHnz7K4TGRlZqfevXbt2pV5XGefeBWaxWGzmH82ZM0cjRozQJ598ooULF2rs2LFauXKlrrrqqhqrEQBqiqPA8/DDDys6OlpSaS+PL/T0lKHHxyQp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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "4/4 [==============================] - 0s 5ms/step\n" - ] - }, - { - "data": { - "image/png": "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iIgIuLq6Ijc3F7179662/95Wotq4uLigsrLSEtVrkPDwcLi4uODIkSNo0aIFgLvLb6Snp2PWrFlWrQsDIiIiokao6hp9dccZVAqCxbtGmzZtipdffhmzZ8+GXq9Hr169oNVqceTIEXh5eYmBRV1atmwpTnXzwAMPoGnTpnB1dbVIfevi4eGB6dOnY+7cueKUOytXrkRJSQmmTJli1bowICIiImoka3eNvvHGG/D390dSUhL+97//wdvbGw899BBeffVVo7qjhg8fjh07dqBv374oKirCxo0bMXHiRIvWuTbJycniYu43b95EVFQUvv/+e6tPnqwSGjLuXcF0Oh3UajW0Wi2X8SAisgO3b99GTk4OwsLC0KRJE6mrQ41Q19/S2O9vjjIjIiIixWNARERERPV6/vnnDYb53/t4/vnnpa5eozGHiIiIiOq1dOlSvPzyyzXus4dUEgZEREREVK+AgAAEBARIXQ2LYZcZERERKR4DIiIiUjQ5zppMDWOOvyG7zIiISJFcXFzg4OCAq1evwt/fHy4uLuISF2QbBEFAeXk5rl27BgcHB7i4uJj8WgyIiIhIkRwcHBAWFoa8vDxcvXpV6upQI7i7uyM0NBQODqZ3fDEgIiIixXJxcUFoaCju3Lkji7W9qOEcHR3h5OTU6NY9BkRERKRoVSuy378qOykLk6qJiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBRP0oDo0KFDePzxxxEcHAyVSoUvv/xS3FdRUYF58+YhMjISHh4eCA4Oxvjx43H16lWD17hx4wbGjh0LLy8veHt7Y8qUKSguLjYoc+rUKTz66KNo0qQJQkJCsHLlSmt8PCIim5GnLcXR7OvI05ZKXRUiSUgaEN26dQtdunTB+++/X21fSUkJTpw4gYULF+LEiRPYsWMHsrKy8MQTTxiUGzt2LM6ePYu9e/di9+7dOHToEKZNmybu1+l06N+/P1q0aIGMjAy89dZbWLx4MT766COLfz4iIluwPT0XMckpGLMhDTHJKdienit1lYisTiUI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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABELElEQVR4nO3deXRU9f3/8dckkBCWDFs2IRB2RCAgi4QoBEED9adGtEX4VnYsCApSF7AugNag1harFixWqAtKsaBWcaFsHgQpi1GhypEUSJSExZYJhBAgub8/aKaErDOZmXvnzvNxzpwDd+7MvOfmztz3vD+bwzAMQwAAADYRZnYAAAAAvkRyAwAAbIXkBgAA2ArJDQAAsBWSGwAAYCskNwAAwFZIbgAAgK2Q3AAAAFshuQEAALZCcgPAFPPmzZPD4ajVvg6HQ/PmzfNrPGlpaUpLS7Ps8wGoPZIbIMQtX75cDofDfatXr55atWql8ePH64cffjA7PMtJSkoqd7xiY2N1zTXXaM2aNT55/tOnT2vevHnatGmTT54PCEUkNwAkSQsWLNBrr72mJUuWaMSIEXr99dc1ePBgnTlzxi+v9/DDD6uoqMgvz+1vvXr10muvvabXXntN9913nw4fPqyRI0dqyZIldX7u06dPa/78+SQ3QB3UMzsAANYwYsQI9e3bV5I0efJktWzZUk899ZTee+89/exnP/P569WrV0/16gXnV1CrVq3085//3P3/sWPHqmPHjvrd736nqVOnmhgZAInKDYAqXHPNNZKk7Ozsctu//fZb3XbbbWrevLkaNGigvn376r333iu3z7lz5zR//nx16tRJDRo0UIsWLXT11Vdr3bp17n0q63NTXFyse++9VzExMWrSpIluuukmff/99xViGz9+vJKSkipsr+w5ly1bpmuvvVaxsbGKjIxUt27dtHjxYo+ORU3i4+N1+eWX68CBA9Xud/ToUU2aNElxcXFq0KCBkpOT9ec//9l9/8GDBxUTEyNJmj9/vrvpy9/9jQC7Cc6fTQD87uDBg5KkZs2aubft3btXqampatWqlebMmaNGjRrpL3/5izIyMvTXv/5Vt9xyi6QLSUZmZqYmT56s/v37q6CgQDt37tTu3bt13XXXVfmakydP1uuvv64xY8Zo4MCB2rBhg2644YY6vY/Fixfriiuu0E033aR69erpb3/7m+666y6VlpZq+vTpdXruMufOnVNubq5atGhR5T5FRUVKS0vT/v37NWPGDLVr106rVq3S+PHjdeLECc2cOVMxMTFavHixpk2bpltuuUUjR46UJPXs2dMncQIhwwAQ0pYtW2ZIMv7+978bx44dM3Jzc423337biImJMSIjI43c3Fz3vkOHDjV69OhhnDlzxr2ttLTUGDhwoNGpUyf3tuTkZOOGG26o9nUfe+wx4+KvoKysLEOScdddd5Xbb8yYMYYk47HHHnNvGzdunNG2bdsan9MwDOP06dMV9ktPTzfat29fbtvgwYONwYMHVxuzYRhG27Ztjeuvv944duyYcezYMePLL780br/9dkOScffdd1f5fIsWLTIkGa+//rp729mzZ42UlBSjcePGRkFBgWEYhnHs2LEK7xeAZ2iWAiBJGjZsmGJiYpSYmKjbbrtNjRo10nvvvafWrVtLkv79739rw4YN+tnPfqaTJ0/q+PHjOn78uH788Uelp6fru+++c4+uatq0qfbu3avvvvuu1q+/du1aSdI999xTbvusWbPq9L6ioqLc/3a5XDp+/LgGDx6sf/3rX3K5XF495yeffKKYmBjFxMQoOTlZq1at0h133KGnnnqqysesXbtW8fHxGj16tHtb/fr1dc899+jUqVPavHmzV7EAqIhmKQCSpBdffFGdO3eWy+XSK6+8ok8//VSRkZHu+/fv3y/DMPTII4/okUceqfQ5jh49qlatWmnBggW6+eab1blzZ3Xv3l3Dhw/XHXfcUW3zyqFDhxQWFqYOHTqU296lS5c6va/PPvtMjz32mLZt26bTp0+Xu8/lcsnpdHr8nFdddZWeeOIJORwONWzYUJdffrmaNm1a7WMOHTqkTp06KSys/G/Kyy+/3H0/AN8guQEgSerfv797tFRGRoauvvpqjRkzRvv27VPjxo1VWloqSbrvvvuUnp5e6XN07NhRkjRo0CBlZ2fr3Xff1SeffKKXX35Zv/vd77RkyRJNnjy5zrFWNflfSUlJuf9nZ2dr6NCh6tq1q377298qMTFRERERWrt2rX73u9+535OnWrZsqWHDhnn1WAD+R3IDoILw8HBlZmZqyJAheuGFFzRnzhy1b99e0oWmlNpc2Js3b64JEyZowoQJOnXqlAYNGqR58+ZVmdy0bdtWpaWlys7OLlet2bdvX4V9mzVrphMnTlTYfmn1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WhrVr40GdY7RweOnldSyIYmNzVXXFOmPv/2pU6ckSR988IFatWpV7r7IyEh3gnNxR+CySe9KS0trfP5GjRp5HNOlr3VpJ2SHw1Gr1w40khsA8ECCM4qkJkQEuimyW7duioyMVE5OjrvZ6WIXV2+qEhERUeelC7zVoUMHRURE6LPPPlPbtm0lXRiVtWPHDs2aNSugsZDcAABQibKmyIdW71GJYfi9KbJJkya67777dO+996q0tFRXX321XC6XPvvsM0VHR7sThuokJSXpwIEDysrKUuvWrdWkSRNFRkb6Jd5LNWrUSNOmTdP999+v5s2bq02bNnr66ad1+vRpTZo0KSAxlCG5AQCgCoFuinz88ccVExOjzMxM/etf/1LTpk115ZVX6qGHHqpV88+tt96q1atXa8iQITpx4oSWLVum8ePH+zXmiy1cuFClpaW64447dPLkSfXt21cff/yxmjVrFrAYJMlhGIZR8272UVBQIKfTKZfLpejoaLPDAQD42JkzZ3TgwAG1a9dODRo0MDsceKC6v50n129GSwEAAFshuQEAIMRMnTq13HDzi29Tp041O7w6o88NAAAhZsGCBbrvvvsqvc8OXTZIbgAACDGxsbGKjY01Owy/oVkKAADYCskNAMCWrDhzLqrnqwHcNEsBAGwlIiJCYWFhOnz4sGJiYhQREeFepgDWZRiGjh07VukyD54iuQEA2EpYWJjatWunvLw8HT582Oxw4AGHw6HWrVsrPDy8Ts9DcgMAsJ2IiAi1adNG58+fN22tJXiufv36dU5sJJIbAIBNlTVv1LWJA8GHDsUAAMBWSG4AAICtkNwAAABbIbkBAAC2QnIDAABsheQGAADYCskNAACwFZIbAABgKyQ3AADAVkxNbhYvXqyePXsqOjpa0dHRSklJ0YcffljtY1atWqWuXbuqQYMG6tGjh9auXRugaAEAQDAwNblp3bq1Fi5cqF27dmnnzp269tprdfPNN2vv3r2V7r9161aNHj1akyZN0hdffKGMjAxlZGRoz549AY4cAABYlcMwDMPsIC7WvHlzPfPMM5o0aVKF+0aNGqXCwkK9//777m0DBgxQr169tGTJklo9f0FBgZxOp1wul6Kjo30WNwAA8B9Prt+W6XNTUlKit956S4WFhUpJSal0n23btmnYsGHltqWnp2vbtm1VPm9xcbEKCgrK3QAA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bd++vdz/P//8c3Xq1Enh4eGV7n/llVfqn//8pzp27FjhFhERIUmqV6+ehg0bpqefflpfffWVDh48qA0bNkiSHA6HUlNTNX/+fH3xxReKiIhwNzHFxMQoLy/P/VolJSXas2dPje+hNjEBsAaSGwB+l5OTo9mzZ2vfvn1688039fzzz2vmzJlV7v/ggw9q69atmjFjhrKysvTdd9/p3XffdXfeff/99/X73/9eWVlZOnTokF599VWVlpaqS5cu2r59u5588knt3LlTOTk5Wr16tY4dO6bLL79cknTttdfqgw8+0AcffKBvv/1W06ZN04kTJ2p8DzXFBMA66pkdAAD7Gzt2rIqKitS/f3+Fh4dr5syZ7uHVlenZs6c2b96sX/3qV7rmmmtkGIY6dOigUaNGSZKaNm2q1atXa968eTpz5ow6deqkN998U1dccYW++eYbffrpp1q0aJEKCgrUtm1bPfvssxoxYoQkaeLEifryyy81duxY1atXT/fee6+GDBlS43uoKSYA1sFoKQB+VdnoJADwJ5qlAACArZDcAAAAW6FZCgAA2AqVGwAAYCskNwAAwFZIbgAAgK2Q3AAAAFshuQEAALZCcgMAAGyF5AYAANgKyQ0AALAVkhsAAGAr/x+FoOgGs8heLQAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.6" } - ], - "source": [ - "# visualize with IDAES surrogate plotting tools\n", - "surrogate_scatter2D(keras_surrogate, data_validation)\n", - "surrogate_parity(keras_surrogate, data_validation)\n", - "surrogate_residual(keras_surrogate, data_validation)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, the surrogate is trained and validated, we shall embed it in the property package, which is demonstrated in the [surrogate_embedding_test.ipynb](./surrogate_embedding_test.ipynb) file." - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.6" }, - "orig_nbformat": 4 - }, - "nbformat": 4, - "nbformat_minor": 3 + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/keras_training_usr.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/keras_training_usr.ipynb index ed23d255..8f84dee0 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/keras_training_usr.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/keras_training_usr.ipynb @@ -1,1123 +1,357 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Supercritical CO2 Property Surrogate with OMLT Surrogate Object - Training Surrogate (Part 1)\n", - "\n", - "Maintainer: Javal Vyas\n", - "\n", - "Author: Javal Vyas\n", - "\n", - "Updated: 2024-01-24\n", - "\n", - "## 1. Introduction\n", - "This notebook illustrates the use of KerasSurrogate API leveraging TensorFlow Keras and OMLT package to produce an ML surrogate based on supercritical CO2 data from simulation using REFPROP package.\n", - "\n", - "There are several reasons to build surrogate models for complex processes, even when higher fidelity models already exist (e.g., reduce model size, improve convergence reliability, replace models with externally compiled code and make them fully-equation oriented).\n", - "\n", - "In this example, we intend to make a surrogate for the physical properties of S-CO2 to be embedded in the property package. This property package will be used to get the physical properties of S-CO2 in the flowsheet simulation. To learn more about property package, see the [IDAES-PSE](https://github.com/IDAES/idaes-pse) Github Page or IDAES [Read-the-docs](https://idaes-pse.readthedocs.io/en/latest/). \n", - "\n", - "### 1.1 Need for ML Surrogates\n", - "\n", - "The properties predicted by the surrogate are enthalpy and entropy of the S-CO2 based on the \n", - "pressure and temperature of the system. The analytical equation of getting the enthalpy and entropy from pressure and temperature are in the differential form and would make the problem a DAE system. To counter this problem and keep the problem algebraic, we will use the ML surrogates and relate enthalpy and entropy with the pressure and temperature as an algebraic equation.\n", - "\n", - "### 1.2 Supercritical CO2 cycle process\n", - "\n", - "The following flowsheet will be used to optimize the design for the cooling of the fusion reactor using supercritical CO2 cycle. We shall focus on training the surrogate for this notebook and move to constructing the flowsheet and the properties package in the subsequent notebooks. The take away from this flowsheet is that, 3 variables can be measured in any given unit which are flow, pressure and temperature and other properties can be calculated using them. Thus, surrogate should have pressure and temperature as the inputs.\n", - "\n", - "In this example, we will train a tanh model from our data and then demonstrate that we can solve an optimization problem with that surrogate model. " - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ + "cells": [ { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABVYAAAKWCAYAAACidsIoAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAP+lSURBVHhe7N0HfFRV2sfxJxB6CAmgVCVIEQQlCIi8qETsdYPKrl0QK6DC6tqVYK8LNlBXBXVd+5K1YAcsqAhKUBAQkCAdAgkhNAnkzXPmHDIMKdMSbpLf9/OZvXfOvXNngjtz5v7nuefE/LF6XcGKpYulT58+AgAAAAAAAAAoWw27BAAAAAAAAAAEiWAVAFDl/Llkuqy8roG9BwAAAABA9BGsAgCqlF0bl8nGiZfZewAAAAAAlA+CVQBAlVGwO182vnSp1O98km0BAAAAAKB8EKwCAKqM7JcultjE1tIg+SzbAgAAAABA+SBYBQBUCTlv3yi7t2RLfJ+LbAsAAAAAAOWHYBUAUOltmfKk7Fw0TRKOv8a2AAAAAABQvghWAQCV2raMdMn99BGJT7lWYmLr2FYAAAAAAMoXwSoAoNL6c9ksyX55sDTqP1xiE1raVgAAAAAAyh/BKgCgUtqdu0ayJ1wq8f2ukTqtj7CtAAAAAABUDIJVAECltOHFC6Vex36Ft2NtCwAAAAAAFYdgFQBQ6WyccKnENmgqDZLPsi0AAAAAAFQsglUAQKWSm36H7M5eIfHHDLItAAAAAABUPIJVAEClseXLZ2X7L+9JwvHX2hYAAAAAAPYPglUAQKWwfe5Hkvv+3dLo+KESU6eBbQUAAAAAYP8gWAUAeN7Olb9I9sTLpNGJN0hs4za2FQAAAACA/YdgFQDgaQVbs2XjixdL3P8NkjoHd7etAAAAAADsXwSrAABP2/DiRVK3bS+p3ynFtgAAAAAAsP8RrAIAPCvn31dJjVp1JK7HObYFAAAAAABvIFgFAHhS7of3yM7V86XRcVfaFgAAAAAAvINgFQDgOVu+fVm2/fC6JBx/rW0BAAAAAMBbCFYBAJ6yY8EU2fT2SGl0/LVSo36CbQUAAAAAwFsIVgEAnpG/9jfJnnCpNDrpBql1YHvbCgAAAACA99SIsSsAAOxPu3fkycaXLpYGvQZK3aRethUAAAAAAG+iYhUA4AnZL10stVseJvUPO8m2AAAAAADgXQSrAID9btOb14ns3iUNe/3VtgAAAAAA4G0EqwCA/WrzJw/LzswfJSHlGtsCAAAAAID3EawCAPabLT+8LnlfPS/xKVeLxDDqNwAAAACg8iBYBQDsF38u/kZy/n2lJPQfKjUbHmBbAQAAAACoHAhWAQAVbteGTNk44TJpdNJIqd2is20FAAAAAKDyIFgFAFSogl07ZcOLF0v9I86Qeu362FYAAAAAACqXmOWr1xUsX7pY+vTh5BYAUP42/utvEhNbS+J7X2hbysea8QOl1VNb7L2qb8YH70vGJ5/I77Nny+ZNOaatYaMEOaTbEZJ82unS+8yzTBsAAAAAIDoIVgEAFWbTu/+QnSt+kcSTrrct5ae6BKuZc3+R1++6S3ZtWC/NatSQZvXrS/1atcy2rTt3ytqtW2Xt7t1Ss8kBcsG990pS18PNNgAAAABAZBgKAABQIfK+GCN/LpwqCcdfY1sQqffGjpGH/jpQmm/fKsc2aSIdExOlUZ06UqtGDXPTdW3Tbc22bTH7vj/mn/bRAAAAAIBIEKwCAMrdtoxJsvmzMRKfco3ExNa2rYjE5GfHy2cvvSBntk2SQ+rWta0la1evntn308LHfDjuGdsKAAAAAAgXwSoAoFz9mTlTsicOloT+wyU2oaVtRST08v/3nnxCTjnoIGlYO/igWvc95eCD5f2nnzLHAAAAAACEr4YU2DUAAKJsV84q2fjSJdLo+GFSu3VX24qSbM/MtGul+89tt0nvNgeHFKo6+pijDmotr916q20BAAAAAISDilUEbeScNeaWs3OXbUF5GvDtcol5e569B1ROG1+6WOp37i91O/SVOQt+l3ueeU3Ovf4+GXLHGHk5/XO7F5ys9HT5sXt3WTNxom3Zl87+v3tTdlCX/5ekXf36UpCbY44FAAAAAAgPwSqCNva3DeYGAMHYOOESiW14gDTodqY88cr/5IRBt8o94/4j//viOxOqarja49zr7N5w8jIyZOHgwSUGrD+9/540j/XN+h8JPcZP7xOsAgAAAEC4CFYBAFGX+7/bZXfOKonve5lkrlwr9457TXI2b5F+vQ6Xx2+5Su4eeqHZT6tYb3z4ebOOvZUUsGbO+1UOrFvH3gufHiNzHlXxAAAAABCumOWr1hUsz1wsffr0sU1A8dxl6dmpnSShVk2zjvKjQwGkr8yVgoFdbAtQOWz56lnJmzZOGp99t9SoXd9Uq2p4mtSqmcx69ylJaNjA7Ofay8MHF50lh6z5RDq8s1ZiExIkZ9o0E1TGJSdLQkqK5OfkyIqxY82+rUeMMPtoeLllzhxp8pe/mH10/7Uvvyw1GzWSpLQ0s++SkSPNY1vdcIM5ll66r/s06NZtzz7zBgww+3SZNMkcN7OwfdOXX0qzyy6T5oMGmdeix1E9Zs82yznHH2/GV62blGS2F0e3tRk1Su55/FE555C2UqtGZL+N7ty9W96dv0DOX7TEtgAAUDloH9s0NdXeAwBg/6FiFQAQNdvnTpbc99Mk4fihJlRVf6xea5bdOh2yJ1RVSa0OtGvRF/fa+7Luiz9NOKo2/O9/Jsxc+cQT5r4Gn8tGjzY3RwNSDVtdsKlBp953j1EapGoA6yaZ0uNrmwanSo+r9/UYbp8dy5aZ+xraKg1b9XHutSl9nO7vHlMc3UdvtXfvlhjbBgBAdeTfhwIAsD/FLF+9rmD5UipWUTYqVisWFauobHau+Fmyxp4ojU4cIXUOTratYsZU1Qmr1Iv3j5TLUk80wwKce9298uXMX+QvJ/SRd5+802yPlqUPPy+bZ34oHf4zc09lqYafWlmqVaMaULqKVVdpqvtosOmqWnVd2zQI1ce4ffSxul0rSHUfPbnTfVwlrIaoel+Po0sXmLo25U4I3X0Xmmpo6x/2Kn2cVsi6ytpbj+krfRvFSXztyIYD2LRjh0zPzZOHv5luWwAA8Da9CkT7Sb2Cw/XfAADsTwSrCBrBasUiWEVlsjtvg6x7PEXijjhN6h2aYluL6MRVGqIG0grWd5+6y4y9Gm1rxg+UVk9tsfcqBw1WdVxV5QJVDXU1xHXGX3Wl1F68SNo3irct4Vm8KVf+bN9ern3+BdsCAIC3EawCALyGoQAAABHb+NLFUq/d0cWGquqLiQ/JDZf+xd7z0TBV28sjVK3MNFDV6lQdf1VPGv1DVXXk2WfL6vyd9l749BhHnr33fxMAAAAAQPAIVgEAEcl59UqpUbuexB05wLYU7/FbrpL8eR/K4k9fkqzv3zKhqo67iiI6nIAGqu3GjNknUHV6n3mWxMQnyJJt22xL6Bbn5Zlj6LEAAAAAAOEhWAUAhG3T+2myc91CaXTcFbalbEmtmu01iRWKaJhaUqDq76KHHpIf/lgum//807YETx8zc+UqcwwAAAAAQPgIVgEAYdny7QTZPutNSUi51ragoiR1PVzOGn6dfPLHHyGFq7rvp4WPOWvYcHMMAAAAAED4akiBXQMAIEg7Fnwhm965SRr1Hyo16jWyrahIZwwdJicNulw+WJopS7Zuta0lW7xli9n3xMsGyxnDhttWAAAAAEC4akiMXQMAIAj5axdK9sTLJOGkEVLrgHa2FfvD2TfeJLe+9basrR8nX2/YIL9lZ8umHTtk5+7d5qbr2qbb1jVoaPY9+6Z/2EcDAAAAACLBUAAAgKDt3r5ZNr50kcT1/KvUadPDtmJ/0kv6b5uULifdfKvsPvwImZ6bJ1//MldmZPxs1nd3Odxs0324/B8AAAAAoodgFQAQtOyXLpbaLbtKvcNOtC3wCp3h/+qnnpGHv5ku57RpK6c2bmLWr35mHLP/AwAAAEA5IFgFAARl0+vDCv+3QBr2+quvAZ6UM22aueVlZEhWerptBQAAAABEG8EqAKBMmz9+SHYuny0JKVfbFnjVstGj7dre6wAAAACA6CJYBQCUauvM12XLNy9IfMo1hfeY8dDLXLWqQ9UqAAAAAJQfglUAQIn+XPy1ZL96lTTqP1RqxjW1rfCq4ipUqVoFAAAAgPJBsAoAKFZ+1u+yYcKlknDK36V28062FV4VWK3qULUKAAAAAOWDYBUAsI+C/D8le8IlEtftLKnbtrdthZeVVplK1SoAAAAARB/BKgBgH9kTLpZaTQ+R+l1PtS3wMq1K3Z6ZKXWTkszNcffzc3KKrWYFAAAAAISPYBUAsJdNb98osj1PGva+wLbA6+KSk6X30qV7bo5/W0JKim0FAAAAAERDzPLV6wqWL10sffr0sU2oTuLj4+1a2Ta/+J1Zxl13ksRszTPrKD/bhj8s+d2Pk4ZDyn5v5ubm2jUgMnmfj5GtP7wmjc+8U2Jia9vWymnN+IHS6qkt9l718mVMjFn2KygwSwAAqoLMtDQzvE2bUaMkqXAdAID9jWC1mtNgddasWfZe6Q6ds9MsZ3aNlfiavpN2lJ9hmbvk8027ZWG3WraleD179iRYRVRsm/1fyXlrhDQ+e5TENmphWysvglWCVQBA1UKwCgDwGoYCAADIn5k/SPbLl0tC/+FVIlQFAAAAAKC8EawCQDW3K2elbHzpUonvP0xqt+pqWwEAAAAAQGkIVgGgmsuecInU69xf6rXva1sAAAAAAEBZCFYBoBrLnnCx1Iw7QOK6nWlbAAAAAABAMAhWAaCa2jTpNtm1aY3E973MtgAAAAAAgGDFLF+1rmB55mLp06ePbUJ1Eh8fL7NmzbL3SnfonJ1mObNrrMTX9M04jfIzLHOXfL5ptyzsVsu2FK9nz56Sm5tr7wHB2fLlOMn76llpfObdUqNOfdtatawZP1BaPbXF3qtevozxfUb3KygwS5Rt5Jw1ZjnqsAMkoVZNs47yM+Db5ZK+MlcKBnaxLQBQtsy0NFk2erS0GTVKkgrXAfjoeT0qP87rKyeC1WqOYNW7CFZRXrb/8qFkvzJEGv9ltMQ2Psi2Vj0EqwSroYh5e55ZZqd2IlitAASrAMJBsAoUT8/r51+2y95DZdT55Zqc11dSDAUAANXIzhVzZOOEyyThpBuqdKgKAAAAAEB5I1gFgGpid16WbHzpYok/bojUbt3NtgIAAAAAgHAQrMKzVv4ZnUtYc3cVmJvXROvvA4KloWrddn2kXsd+tgUAAAAAAISLYBVRp+OCRsPLWdE5zso/RRZss3ci9N+N0Rm3Zv62gsJ/J4JVVBwdU7VG7foS1z3VtgAAAAAAgEgQrCKqtDJ0UnZ0AkMNaKNRaTp/224TZEbDK1nROY6+Ji9W0aJqyn0/TfLXL5ZGx11hWwAAAAAAQKQIVhFVWh0arcBw864Yc7xILdhe+Lp2Rv6a9O/SgDYaf5/+bfq6gPK2ZfpLsnXWm5KQco1tAQAAAAAA0UCwiqjSSsxoXHbvAswf8iIPMTWcjUZA644RjWP9sCU6fxtQmh3zP5dN794sCccPkxr1GtlWVEVbN22Sb955W54ZNlTuPOVk+bZtkrnpurZ98847Zh8AAAAAQPQQrCKqNHTUQDTSiZnc46NRHaphbzRCTD2Oitax9G+Lxt8HFGfn6vmy4aVLJOGkG6TWgYfYVlRF37/3P7nz1JNl4u23yezPPpU1S3+XJbE1zU3XtW3i7beafXRfAAAAAEB0EKwiqtzl7ZFWdbrHR3q5vAa00Qp79/xtEQ4r4HstvvVI/52A4uzevlmyX7pY4o++UOq06WFbUdVoBepLt9wsL9x0o+Ru2GBbS6b76L76GKpXAQAAACByBKuIKlfVGelkUXqpvFlGWB3qH1xGGmJGKwz1fzzDAaA8ZL94kdQ+6Aip1/kE24KqRoPRu888Xb6d9F/bItKyQwf52213yIgXXpSnf8owN13/2223m22OPkYfS7gKAAAAr9u2s0C+zMy39wDvIVhF1PhXYrpgNFwuoI30cnn/gDfSsDdaQwH4Pz6Svw0oTvZr10pMjEjDngNtC6qiNx64X3LWrrX3RE4cNFju+fAjOWnwYOl6XD+pGxdnbrp+0uDLfdsK93H0sXoMAAAAwMt+WLlL0n/9UzZu5dwZ3kSwiqjxn7QqkvDRP6BVkUyGtWB70euIJOx1Qwoo3+sL/1j+rynSoQ5QdW3PzLRrwcv96AHZtfJnaZRyjW1BZZOfk1Pmf3sdJ9W/UvUv198g599+h71Xsr8V7qP7OnoMxlwFAACAV2m16leZO836J4t9S8BrCFYRNf4VoZFUYgZeah9JpekKvwDUVZyGI/A1Bd4PRe4uu1KIoQBQkhlt28qSkSODDli3/vC6bJ0+QeJTrrYtkcvZvMWuRc+L73wig257XM68ZpTc/eQrsnlLBL+cVEEarJb2314v33/rwQfsPTFVqGcNv87eK5vuq9Wtjh6LIQEAAAAqv8Ubdslj31Styh0dAsBVqv6womi9KliZu1te/zmCYAGeQbCKqPGvxFThBqKBAWiklabO5l0xdi10gX9LJGGv/9+nATTDAaAkK8aODSpg/XPR15L92tXSqP9QqRnX1LaG78uZv0iPc6+Tpkf/VWK7nCHnXn+fZK4suuw8XJfc/KhcPepJ+fd7U+Tjr2fJA8+9KcmpQ2XB0hV2Dzgl/bf/6bPP9kxUZcZUDaJSNZBWt7oxV/VYP332qVkHAABA5XR4w+3yzIwdJqz7eFHVqOz0VavuPbZq+vyqE0Tq36Zh8e2fbZNf1vpVX6HSIVhF1PhXYqpwqzHd5fGtavuW4QaPGn66ytL4mjHmOOFewh8YGocb9voPKeD+vkiGOkD1UFrAmr9+iWx46RJJOHmk1G5+qG0N3/+++E5OGHSrzFnwu23xtfU8N/iqyOJoperrH04z6yf3PVLGp10nyZ3bybJV6+Smh/9l2rGvwP/2c6ZOsVtEjj0v/HF0jz3vr3ZNCo851a4BAACgMsovKCoi0sCuKlR2arWqhqv+NICsCn+bVhdrqKr0b9wYQeEW9j+CVUSNq8Q8sZHv/1bhBqIueLysaU2zDDd4dCFq53oxe0LMzzeF95rckALnNPb9beEOK+D+Nn1Nneu5Y/Ehuj/NGzBAvoyJ8dytOIEhW0H+Dql1YHtp+dAyiTvzHlNdGulNq1PVmSlHSdb3b8niT1+Sbp0OMcMC3PPMa2ZbOL6a9YtZaqg6+fl75cqBp8r4UcNNm1avFvdaIrlpGLz46a3m3zJnmi/Q1X83vb9wsO9SeP03dP/eegm+mnP88eZ+ZlqauZ+Vnm7u67+7o+vaptuU7qv39bFKj6X39eaCcH1Ova+vQelrcvs4P3bvvtfz+HP/7eM//FDidvq+hLVo184sw9Gi3SF2TWT14sV2DQAAAJXRoi32hLeQBnWVfTzS4qpVnapQtfrJoqK/rXH9GDmqlS/7QOVEsIqo8K/E7FTXtwx3YiYXWjas6Qscw6009Q8xj4rzhRfhh72+x13a1PeWCXdYAReitqods+ffKZKhDhA5F45VJnkZGSa8y37pYtsSfX897ThJaNhAklo1k7uHXmja5ixcapbh2JCz2SzPObmvWaojD2tv1xCM2IQEqVn4373Wbt/lAe2P7GGW4fB/bM66yId5AAAAwP6jFaundKhl71X+yk7/atV6tfb923TIg8pKq1UXbyy63PeU9rXM34jKK2b5qnUFyzMXS58+fWwTqpP4+HiZNWuWvVe6Q+f4fvWa2TXWXFrv7/NNu2VY5i4TYg5vVsOs6z66byg0wOw/3/frzZTOsXLJknwTkL7aLnZPOBosfQ36uvT1qKfX7jbVtM8khfZrkIahqb/5XtPCbrWk19x8E9Dq69OANBS3Ld8l/924Wy47oIYc1SBmz79Zesd9/53c69fnLE3Pnj0lNzfX3kOoXMVgvwJvffHwr2R0ElJSpN2YMRKXnGzub3juPKlRq47EH32RuR8prUrVcVWVVqpqqKq0UvWecf+Rv5zQR9598k7TFiqdqMqMqdq5nTxz11Dp2bWjnHHN3fL5t7OlxQGNZfm0V+2e0bNm/EBp9VT0J+AqT1rhGli1qoGq/rdvM2qU3Dr4Mtm+xfc3jfv5F6ldt55ZD9X2vDwZfqTv/0d1GzSQp2fPMevVWczb88wyO7WTJNSiaqC8Dfh2uaSvzJWCgV1sCwCUTa8SWTZ6tOkTk+zVJQB85/U/XZgvj03fvidQPap1rFxwRFEla2Whgeq907bvCVY1VD218HbvtG17/rb2jWvKsKPrmPXK5pnvd+wJVlvF15CbjvFVXHV+uSbn9ZUUFauIipKqQ0OtEPU/joaWbliBcC6Xd5Wveiy9qXDGffUfUkC5YQVm5IX+K5n7OzRUdf9O7m8GSqKhWo/Zs6Xb1Kl7QlXVeMhrsnPd77J17ke2JTJaoarhqdIhAZ545X8mVH3y1f+ZtuN6Hm6W4fjHkIHSpuWBkjF/ifS98Eapl3y2CVXVfSMuM0vsTQPVpqmp5r97l0mTzH/7hAN9YbdaNHOmXQvd4p9+tGuF/939jgkAAIDKSasee7UqKtiprLPoB1ar9kvy/U2pnYtCYg0mK2PVqlbb7lWt6leJi8qLYBVR4S5nb1jTN1FUuBMz+V8qrxra/4eGc7l8eYS9KpJA1P9YrupXX084Qx2g6ispUHViYutI4yH/lryM92X7km9ta2RevH+kqVTVyatufPh5U6mqlayXpZ4oN1z6F7tX6Bo2qCcfPn+vnHpsT3N/9+4CU6mqz6fHRpHiAlWnRfui4RNWLV5i10K3eknRY/2PCQAAgMpLQ0gds9OpbGOtahDsP7bqcYV/j7tM/vBmNU2Fp/P6z5WvQumrpUV/m1bd6t+Eyo9gFVHhqkO1ElO5YDTUSlM3+74LZsOtNHXP6wt5fSGmCzJDDURdqNvS/pjkwt5Qx5DV16QhqntNyv19of47oeorLVD1F3tAO2ky+FXJ+ewJ+XPNQtsaPq1a1WEAdFzVfr0ONxWsj99ylQlAI9WpbWv54NnRsmnWu7Lkswnm8n9C1b1pqFpcoOp0sxNkqa/fecuuhe7rd962a3rM/nYNAAAAlZkZj7R9URVkZata/SpzZ7HVqo5/hadWrGoFaGWxb7XqvsMBonIiWEVUBFZ1uuVK+6EYrFz7OeMCWv9K01C4oLeT3/CDbj30kLZoSAH/ZajHcVWpLjRW7u8jWEWgsgJVf7U7HCuJF46TTVOekV15WbY1MncPu0i+mPiQGVM1kkrV4jSoV9cMC4B9abBa2n/7I086WeKbNDHrqxYtkjceuN+sh+LNwsfoY5Ue68iTTjLrVZWOORbMzTnooIOK3c4turcPPvjA/HsXt62kGwAAKJuOrepftVpZZtHXAPiHlUXBo3+1qhNYtVpZ/jblX62qf0f7JlSrVhVMXlXN6YlKpJNXaSiokztpm5usyk1mFepkUf3n7zQhrf/EUG6yKJ3gyYWaZXlqzS4zWZVOEnV7S9/zP7Bql7y83jeZ1XXNg3tN+rz6/Mq9Jv+24ibyKok+t76GcxrXkAcP8j2/e53F/TsxeVXF8OrkVeHY/NH9sv3nD6TxWXfZluqtMk5eFYzv3/ufvHDTjfaeyF+uv0HOGn6dvVe6959+Sv735BP2nsgVjz0uR58d3eDca4Lt50qboBHRF2wf59DXAVBMXgUUT7/vzL+sKJTUSlX/S+XvSqm3V9jqRfp69XUrfa039a27T7CqtFL1sW+KLh+9vEcdz19Sr9WqL/24w94r/B7Uu84+wSqTV1VeVKwiYq6i078SM5yqTg1oXeWrC1WVO24ox3KX6XfyTbBnuCrYUC7hd6/H//J9XXcn3aEMK+CGFOhUt+hvC7f6FShOw9PukNjW3WTTtPG2BVWRBqH/N+Ace09MUKpVqGXR6lb/UFWPUdVDVQAAgOqoslWtarWq/2X9OglXcaGq0opV/yC1MlStfrKoaKxbqlWrHoJVRGzzLt8Hnn81qU5ipbS6M9iJmQJn33fCGQ7Ahb3+VUcuGA0t7N13SAEVzrACxQXQkUyqBRQn8aJnRYtvN89807agKjr/9jskoVnRbP6fTZwgd59xmnw24SWZ+9WXsj0vz9x0/bMJvm2fF+7j6GP1GAAAAKia/Mda1dDSy7Po6yRbbmxVDYQDx1YN5D/WqhlCwFa6epG+Nv9/ex3iAFULwSoi5ioxezUwC8NX4elbD7aq0+0XGKy2sr9UBVtp6gtzfev+x3KvJ5QQs6TX5O4He5ySXlO41a9AaRKH/Ed2rPhFts771LagqqnfqJHc88HkvSpXddzUNx98QMZeMUSGH5lsbrr+5oNFY6oqfYw+Vo8BAACAqmmfqtVfi6omvWTxhl17BaPHJdUqsVrV2bdq1Zt/m4bFX2UW/W1Uq1ZNBKuIWHHVoap3nO//XsFOzBQ4+74T6lAAC7b5lvo4/yEF/MNet09ZihtSQIU6rIALTX2vYe9/p3An1QJKUqNuQ2l8+Wuy+Yc3ZUfmTNuKqkaD0csffsSMk+omtHIuWbTE3PzpPrqvPoZQFQAAoOpL7WxPgAvpjPRerFr1Dx41CD6qVXDBo//fpgGmF6tWdTIuqlWrPoJVRKSkSkzlAlIXmJbFBbSBxwn1cnkX5AYGmKpzvdDC3pJC41CHFShpSAEVavUrEIxaLTpLk8tfkezPn5Sd6363raiKdJzU+z7+VAY98JB0P+lkad72ELtFzLq2DXrgQbMPY6oCAABUH1oh6T+Lvv+EVl6g1ar+Y6vq8AVlVas6JoRtXRRUeq1q1Vetytiq1QHBahWWl5Fh18qPC1UDq0OVCwxdqFiWkgJaDTVdsBlMpemC7b6AMvA4ak/1axBhb2mhsTtOsGGvq2wt7jWFM6kWEIw6nU+ShHMelk1Tn5Hd2zbZVlRFWoF6zHnnybBnxsl9nxQNAaHr2nbMeQOpUgUAAKiG/Mcj1epJ/yBzf/tkUVGVqQbA/kFpMPzHkfVa1eqXmflm/FelYbH/fwdULQSrVdjCwYNlzvHHS1Z6um2JPlexWVx1qKs0dZNblcZVkBZ3qbxylZ7BVJrm2n7CBZb+XFswE2qVNKSA8r1O33owYa8LaAOHFFAuNGYoAJSHBsdcIfV6DpScqeNtCwAAAIDqIrBq1Suz6GvAq8MTOOFcJu/VqtXixlb1/2+AqoX/slVczrRpMm/AgHILWEurDnWVpr7Kz9JDw9IulVfu+CsLP6DKUtKQAsqFvS7oLI0Lcd3wAYFc2BpM2FvSkALK/c3BVr8CoYo/6x6pdWB7yf3qX7YFAAAAQHVxwRG2KqiQVlF6oWr1q6VFwWP7xjVDrlZ1UjvvXbWqlaL7m74GfS3KVKv6Vdai6iFYrSbKK2B11aHFVWIqV9X5+abSA8OSLrl3iipNzaJEGuC6fRoWM3yJCzaDCXtdaOz+hkDutZY1rID/ayopgA6l+hUIR8KlL8muHVtl84/v2hYAAAAA1cG+s+gHUWlUjgKrVU/pEF6oqjS49A9lP1m0f6tWA6tVdTIuraxF1UWw6lEagn4ZEyOZaWnmvoahen96YqK5r2a0bWvaXFC6YuxYc1/D05JEO2B1lZitaxf/fyX/iadKU9Ls+86eELOMy+WLqkyLxmUN5I5VVqVpaUMKqGCHFfAPVYsb5kCFUv0a6P3Nm81/93Bu+v+h7ZmZ9kio6hoPeU22/z5Dti2YYlsA7C9V/QoFrsAAAMBb/Mf41KrV/TkeaWC1aqSTOgVWrX68H8PVwGrV45KoVq3qCFYRNv9KzJIu4W9o/x9W1sRMpV0qr1z1aVmVpqVVhjou7C0rxCxtSAEV7LAC7nlKClWVe45gJtWKJg1VCVarjxpxTaXJkNckd/rL8ufy8p/cDqiKyvoxLViTNkbnONrHhPOjXHE+3+Tr9yKl/0ZcgQEAgLfsW7W6f8LHaFarOoFVq1ox6iaOqkiB1ao6bizVqlUfwarHaBXpkpEjpdUNN0i/ggJJshWrTVNTzf2+2dnmvuq9dKlp022q9YgR5n63qVPN/eIkpKRIl0mTzD7uceHyDzHLqg4trdLUF5b61ksKMf0vly8tyHTBZHHDADjBhL3+oXFJx3J/c1lhb1lDCihX/RpOhc9ZDRua/+6h3vT/C6h+arXuJo0HTZCcz5+U/I3LbSuAYM3Ii0746PqGSGn/E63JD7/IjdZrKvvHSwAAEJx1OdvNLRpSOxedlGoIuD+qVv0v1degN9JqVSewavWHlRX/twVWq/YLY0IuVD4Eqx6Tl5FhLunXS/ajKZqBqhNMJab/UAAlhYalzb7vz00iVdrJmqsyLenyfRVM2Oueo7TQWLljlfaayhpSQLl/Jyp8UBHqHn6mxJ9xp2ya+ozs3rHVtgIoi37Wf5Fr70RIA9poVL9qiBnOj3LFiVZorP9OFX0FBgAAVdWW7Tvlqie/lRc/XRRxwLq/Z9HXatWVuUXfN7SiM1rMJFF+wx1UdNWqPldgtaq+JlR9BKseE5ecbILPuklJtiUy5RGoOsFUYmoo6YLJkipNXShZWqiq3PirpZ2suecoqfJVBRP2BnMcFcxwAGUNKeBPX080TrSBsjRIGS51upwmudPG2xYAZYlWdageR/uN0vqOYGmfWNZwO8HQvtj3miL/+/T7gev7AABAdLz//fKoBKz+M9RXZNWqPld5Vas6/hWi5vkWV1xw/FXmTqpVqymCVY/R8FOD0OaDBtmW8B06YUK5BKqOq2wprRJTufFXSzoZdQFtWcFjUXVo8SdrLqD1DRtQ8rGCCXuDGVJAuWEFSgp73YmqKus1ub8vGifaQDAanfOw1GjUXHK/mWhbAJRGP59L+1EuWO5z3vVbkdA+MVphr4pG1ar+XZt3ldznAQCA8EUasO6vqtUfVpZftaoTWLWqoXFFVK2aycAK/z6HatXqhWDVY/JzcsxkQrqMlFa/lid30hRsIFrSiWgwl8orVx1a0smaC1xLq6B1ygp73bHKek3ubyvpOO5Etax/I+X+vmicaAPBSrz8Ndm1eb3kzf6fbQFQEvcjWqTDtrjP+dKuwAhWtMPeaPy4515TNKpfAQDYXx586xdJvWfKfr+NfH6mfUV78w9YQxU4HqmODVqe9Dm0otMpj2pVRytF/SeMqoiqVX0OqlWrL4JVj9HxVWe0bWuWXqYnhXrSVFZ1qHLhZEmXKroQs6zw0VWalnSyFmzQq8oKe92JZVnH8h9WoDjBHkeVVf0KlJfEIf+WbQunybbfvrYtAIrj+qtIfwBzV2pEWmnq/zoiDUT3hMYRDivgvh+4dQAAKqsZC9bbNe9qUDc2rKpVDf/8q1b9L9EvD1rN6V856l9VGm2matVvuIPyrlrVY+vYsU4k1apfxsR49qYTraN4BKsIiws2g6kOdcFrcSeQehx3MljWZffKPd/nm/Y9ljsp7NXALErlxmst7gTSnQgGExq7sFcVdwLpXlPLIPoNF75G45JOIBQ1E1pJ48tfldyp4+TPlXNtK4BArr9aaSsSwuWu1IiUC3pV5CGt71iRHsf/h0+CVQBAVZB+d//9ehtzVS/7SopooNq70wFy36Xd5ba/Hm5bQxNYtfpxOYWrgdWqGui2ii/fKEorYiuqatW/WlWfs6pWq274H1c4loRg1WOS0tKkb3a2tB4xwrZ4UyiVmC4M1QqWwMpOd9Klx3EBZWlKqxB1J4XBHKd1bd//9Ys7gXTHCSY0VqUNK+COFcy/U1nVr0B5qp10lCRe9qLkTHla8jettq0AHP+QMNLqUNc36Od9JOGj/+uItO9wx9LjRHIs/9cUjUm1AABAkcBAtW3zhnZL6AKrVstrFn0dZsAdV5+zPMZWDVRRVauLN+zaa/Kv45JqhV2tqvoVFHjupnP3oHQEqx4Um5Bgbl7mKjE71S37Q8NX+elbDxyXLpSAVrnL5QNP1vQkMJRjuTC0uBNIN6SACzrL4p6vuBPRUF5TWdWvQHmrd+R50rD/DbJp6jgpyPdLRwDsCUNVJFWd+vnuHz5Gciz/vjCSEDOwz/F/faHyH84m0upXAADgE81A1V9g1eoPK6M71qqvWrXomEe1qlnu1aqOhsb+Vavp86N/fuP/t5lJwQr/PlQ/BKseo+NWzBswQNZM9PYs3aFWdbpL6gNP3twJWDDDACgXUAaerLmTQH09ZV2+r0oLe4tCY7MoUyv7i1TgSa37W33PVfZrUu41cTKK/SXupBulTvvjZNO0Z20LAOU/cWJxP8oFK3CM8HCPo6IX9hYdR0XrWJH8bQAAwOfAhHpRD1QdU9npN95ptKtWtVrVXSbvq1YNYoy8KPKvWtVxUFfm7v2dJxJareo/tqo+VyTVqqi8CFY9Ji8jw4Sr2zMzbYv3bC787AilElPtCUT9KlmUOwEra/Z9x/9yef8TNncSGGyAqUoKe91rctWjZSkp7HXHcdWxwWA4AHhBo7+OEakbJ7nf/du2wOu0z9Af5NzN8W/zcr9SGQT2X4E/ygUrsBo03EpT7Sf8jxXYL4Yi8DWFe5zA16QC+1gAABAarVaNdqDqz39MUA1BozUeaWC1qg4B4F9BWhECq1ajOUnXJ4uK/jatwtVxXVE9Eax6TEJKirQZNcosvcqdNAVbHapccBpYqeOOFWxA63+5vP/Jm5thOdjjqOLCXv+TwmCPVdKwAqEeR5VU/QpUtMaX/0d2ZmXK1p8n2xZ4mQ4fs2z0aFk4eLC5Oe7+kpEjPT/EjNcF/ugWbmDo+pxIr1Bwwa6vL/athxv2uj7H/bgXbh/k+j39N3LHiqT6FQAAlL/AqtVojUcaWK26vyZ1Su1svygVilbVqh5n8caialUNjalWrb4IVj1GA1WdwMrLwao7mQylOtSdYPmHoeFcKq+KmyzKzbAc7OX7yoW9xYWhoYTGvtfvW/c/qXUnpqG8pkhPtIFoiYmtLY2H/Fvyfv5Ati/51rbCqzQ0bXbZZfbevlrdcAPBagT8f3Q7sZGvbwisYA2WC2iHN/N9BQv8US5Y/n2x66/CDXvda9rzg2OYfZD/lRruWOH8bQAAoGJp6LlXZWeEVasazAZWq+6v4FErSf3/ttd/9gslwvTV0qK/rX3jmntNAobqh2DVYyrDUADhVIe6Ch/fyanv8e4EzIWJwSruZM0dy832H4w9lTl+Yag7mQwl6FXFndS61+T+9mD4DwXAySj2t9imh0iTy1+VnM+ekD/XLLCt8KrWI0ZI3aQke6+IBqq6DeHz/9HthHjf53TgFRjBcsfqHVdjT//g/6NjsPz74j2BaBhhr69f9q0PSIws7HXH0dfDFRgAAFQepmo1irPo6yRYXqhWdfyrVrVi1X9s1FAFVque0oFQtbojWPWYyjB51Qp7MhlKJaZyJ34ufHQTgbj2YLlKU3eypie3/ie9ofKdVPpeUzihsXL7u8f7n6iGcqySql+B/aV2+2Ml8aJnZdOUZ2RXXpZthReVVLVKtWrkin4ILLrEPZwwNPBKjeKuwAiW/5UaxV2BESz//lP7q0j6IP8rNdxxuAIDAIDKIbCyM9yqVS9Vqzr6t+k4qE4kY60GVqu2b8LYqtUdwarH6Mmv10+A3clWKJWYyp2MuhNLV1nTq4FZBM1Vh7qTtb0qZEKoNNXX70JPd4xwhhRQ7qTWhc7u30hPLEN5TcrtH84JMlAe6ve+SBr0vUI2TR1feI//X3pZYNUq1arR4QJD7TNc3+f/o1ywAq/UcH1QOJ/3/ldquOOEE4YGXqnhluEMK+B/pQZXYAAAULlEq2r1q8ydnqpWdVI7F/1t4VatUq2K4hCseoyeAPfNzjbjrHqVO0FyJ3LBamj/3+ZOUMO5VF65E1J3suZO/kINMFVg2Ot/ohqKwJPaSF5TqP+uQEVoeNptUvugZMkx4Sq8KrBqlWrV6HA/vrkf3dzndKjhY+CVGoFXYAQr8EqNhrZQQvvEUMPewCs19vRntj1Yvuf2resxtG93/Xs4gS8AAKh4gbPop8+3nXuQNIj9YWVR8OilSZ20stS/ajXUv035V6tqFSzVqlAEqwiLnjSFGhq6kzWtjgk8AQuFnqi5cFVP1tzJn2sLhQt7tXrW/0TVXZ4ZrMCT2nCHFFDuRBvwmkYXaqhaQzb/8IavAZ7kqlapVo2ewB8CA3+UC5a7UqNTXd/j3fFCvVzev//Uvti/X3TbghV4pUbgFRjBKu5KDdeXhvrvBAAA9h//qlWt0AxlFn0dPsBVq2pA65VqVeeCI4pCAxMCrygKSssSWK2qoTGgCFY9ZsXYsTKjbVuz9LJIqkP9Q1X/E7BQuMfoydqMPN8HfTiBpH/Y63+i6k52gxV4UhvukAIqnDAWqCiJQ16TP1fNk23zPrUt8BpXtUq1anT4/+jmPp8Dr8AIlgtoXX/hgkftF/UWrOKuijixke9FhRpiBl6p4f7GUKtMi3tN7lgr7QkWAADwvsCq1WDHI9UA1j+oPC6plmeqVR2tWNVKUyfYcWQ1LPb/d6BaFf4IVj0mPydHtmdmmqWXuZPCUGj46ALLV7LcyWV4H7TuZE2rf8KdBEv5h73FnRSGwv+k1p2o6qzPoXLVr4AX1ajbUBoP+Y/k/fiO7Fj6g22FF8z44H157rrhcssxfWXs22+am64/N+xasw3hKe6HwD19UAiVpv4/KrrH+/8oF0qQWdyVGv5XYAQrcEgBFe6wAsVdqeF+8HTPAQAAKgf/WfSDrVr1n7BKg9mjWnnzxNb/bwu2ajXw34BqVfgjWPWYpqmp0mXSJGk+aJBt8aZwL1d31Tn/3ej7UAonDFXu+T/ftNuc/PlOTkM/ln/YOynbhb1mETJ3UqvHcSeR4YSk/ifagBfFNjtUEi+bKDmfPyU71y+xrdhfMuf+Ig8OSJXPHnlIavwyR/rGx8mZ7duZm67XmDfXbNN9dF+Exv3o1rle0Vcm/x/lglVcQKvceiiVpu4yff++2PWn7oe9YPgHve51+PdBoQSixV2p4Y4Z6lAHAABg/9KKTP+q1dd/Lv1LweINu/YKKHU4Aa9Vqzr6d/lXrabPL71q1VSr+lW2Uq2KQASrHhOXnGzCVf9Znb0o3EA08HHhXCqv3EmtE0kQ6R7rTmrDDY2LTmp9x9H7LrQNVTiVrkBFqtP5RGl07sOyaco42b1tk21FRXtv7Bh56K8Dpfn2rXJskybSMTFRGtWpI7Vq1DA3Xdc23dZs2xaz7/tj/mkfjWAUVx3q/6NcsIFo0TAAe/cLru8ItdJU+feprl90V3EEw732fV+Trw8KJewNHFJAuX8zDaBDCaEBAMD+51/ZWdYs+p8s2rta1T+49CL/v02D09KqVnUyLq1sdU7pUDQGLaBIbzwmZ9o0M75qXkaGbfGmwJOwYLUK+NUq1Nn3ncDAMjCwDUVgSBvusfYNe8N/TS35rEYl0OCYK6Rej4GSM3WcbUFFmvzsePnspRfkzLZJckjdsn+lalevntn308LHfDjuGduKsrhKzMAf3VxoGGw1phuPNbCPcccNNnjUsLOo+rXoWC7s1eMEewl/SZM/uh89gw17/YcU8J/8UV+PO3aoY7YCAID9S8NR/1n0SxprVatV/Sd18nK1qmOGKmhddDl/SVWrGrp+lVm0TR/j/28CKP4f4TEarC4ZOVKy0tNti/dEEmIGPjbwZC4U/sdyMyyHwz/s9Z0Ehncsd1LrROtvA7ws/ux7pNaBHSX3q3/ZFlQEvaT/vSefkFMOOkga1g7+w0b3PeXgg+X9p59iWIAguUrMfQLREIcD2BM8BmTg7rjBBo/FVas6rt/5fFNwr6m4IQWUO3awwwr4Dyng3w+qcKpfAQCAN6R2Lqr4Kalq1b9atX3jmnsFll7m/7eVVLX6ZWb+nmpVDYsZWxXFIVj1GB0CICElxdNDARR3Mhcs/0oWPU4kVZ3+FaKRhJj+j43kOMr/8eEOKaACq18BL0u49EXZtWOr5M1617aU7MV3PpFBtz0uZ14zSu5+8hXZvIUyNn86eWEw/nPbbdK7zcEhhaqOPuaog1rLa7fealsqr/K+usO/EjNwzGz3o5yrRC2LCykDg8dQJ4vyDzEDhR72+vYLPJY7TrDDCpQ0pIAKtfoVAAB4h44l6l+hmT7ffhGxNGj1r1Y9rm3lCR41KC2tatVXrVoUtupkXFSrojj8v8JjdNKqblOnenryqkguU/dVhPrWIwlVlZssSkUS9vqHmJEcR0XrWIHVr4DXNR7yH9m+9AfZOn+KbdnXJTc/KlePelL+/d4U+fjrWfLAc29KcupQWbB0hd0DerXC9MREWTNxom3Zl87wv3tTdlCX/5ekXf36UpCbY45VmekVHnOOP77crvJwgaF+ngd+Jru+LJihAPwD2sC+wb9fdPuUxgWUxfXFrl8MJuwtaUgB5fqgYMPekoYUUO7vDeY4AADAey44oqiDD5xF/6ule1eren1s1UCBVasf+w13oNWq2qZ81aoRBCGo0ghWPSY/J8fcvCzS8NGdwBV3AhYK9zp8J6XhvyZ3AqkiGVJAuZPaSF+T0n8f97oAr6sR10QaD3lN8r57VXYs+8m2FtFK1dc/nGbWT+57pIxPu06SO7eTZavWyU0PM4yAP+0DFg4eXGLA+tP770nz2Mi/2Okxfnq/cgerSofQmTdgQLkErMFWh5ZVIVoUYBb1gf5ObOTrPIK5XL6koQmUaws27FUl9emujw7mNZU0pIBy/07BhMYAAMB7tErTPzB1M+QHVque0qHyXSYfWLXqKlQDq1V1CAAdlxUoDsGqx+jEVXoynZmWZlu8Y3izGuYEqaSTsGC5x0dyqbxyJ2v+wwuEyx0jWmFvpMdRr7SrKTO7MoYLKo9arY+QxMtelE1Tnpb8DX/YVp+vZvnG89RQdfLz98qVA0+V8aOGmzatXi0oKDu8qW5KClgz5/0qB9atY++FT4+ROW+evVf5lUfA6qpDA4cBUP4/ypUVGhZVvhb/tcv9KBfM5fLRDntL6tPdsYIJVt34sMUdy/0bBVv9CgAAvMd/Fn1XtepfrarBqw4bUBkVV7UaWK16VCvOy1EyglUE7brmNeXVdrHFVtuEwgWqJZ3MBcud1EZ6HOWOEemx3IloNF6TOxkFKpO6h58pDc+4SzZNGye7/9xqW0U25Gw2y3NO7muW6sjD2ts1kVpdz5TYLmdE7fZN4W3x01tN2Kb0kvEvY2JMUKl0LFO9rzd3lYAGcnrf/bCl4Zzen9G2rbmvdF3bXHCn++p9fazSY+l9vbnxUvU59b6+BqWvye3j/Ni9u7m/9uWXbUuRwIB186YcqV8r8opVPcbp07/d81oq48399/UXzYDVVYeW9EOg+1GurArR0i6VV67PKOs4LuTU/qG4vtj1i6qssLe00FgFO6yAviYX4pb0/cD9fcGEtKVJvWdKhdyuevJbWZcT5OC5AABUA1qt6V+1+vrPf+49tmolntRJg9N+fq9fK1WpVkUoCFY9pvWIEdJj9mxPj7EaKQ0fSzopDJWe1AbOsBwOPWku6RLNULiT2kiHFAAqs7iUYVK36xmSM+UZ26IhajuzfPaNyTJjzgLZtWu3nHHN3aYNwdOQtfbu3cInTHCCnQysJG7yppJ+LHPtK21FQ0ly7XlHSQGt+1GuLC7oLe2qiGDD3rJC42DD3rKGFFDu76sswwFoqLp0je/HIAAA4ONfteqvMlerOqd02Ltq1b9a1T90BYoTs3zVuoLlmYulT58+tgnVSXx8vMyaNcveqxha2XLpkl2S3jHyD6gHVu0yJ4VufLpw6Ynhrct3mYrcSF2yJF8ua1oj4tcUrJ49e0pubq69Fzyt5tLKLp0sLSElxbZWP1r1pvpxKXrUZb90sUj+Dok/ZrCZ/V8nqtIxVVWNGjGye7fv3/zF+0fKZaknmvVoWjN+oLR6aou9VznocDCustWJTUiQNqNGmR/cdP3WY/pK30ZxEl87suEANu3YIdNz8+Thb6bblsrHfY7508+zJn/5y55/r2D7uUPn+MYL0yFY9Acyra5M/S3frJc0LMvnm3bLsMxd5vP+maSSTyj6z99pQsUpnUu+6qPX3HzTP5a2z1NrdsnTa3fLZQfUkNtbFv982i++vH63Gb5HrzQpift7S3o+fS36mpT7NymOPpc+5zmNa8iDBxX/fO51+/876b+b/vst7BZc9XW4fV2oHnzrF5mxYL3c9tfDpXenA2wrAK/QK0WWjR5t+sUkDw6dhqpFr2JQ6Xf3N0sv0+878y8rqiAtL6///Odek1epYb3rVPpgVekQAJ/4TV6lNHA91S90LU+dX65ZId91QqVXzOnVc/rd+tAJE2wr/FGx6jF62aL+nzZa48N5kZ6cnRBf/AlaqFrVis5QAHopZDSOo/Q40ToWUJklXv5v2ZW3QbZk/E8aNqgnHz5/r5x6bE+zTUPVFgc0LrdQtSrQULDdmDHSe+lSczWD3ldtDjtM1m3bYdYjsX77Dkk6rLO9V/lpoKr/Xl0mTdrr3ytcwVSHukCytKpO/eHOVWqWdNm9cs/z+aaSj+Uuyy/tSg23rbRL+MsaUkDpNhemllZp6oYUaFnKOYfrE8uqfgUAAN7mPx6pqgrVqo5Wpvpf8k+1KoJFsOoxeRkZ5hcBXVZlWtkSDQMaR2dIAT15PDE+Sq8psUZUXhNQFWi4unX+NNm28Evp1La1fPDsaNk0611Z8tkEWT7tVULVYpQUqDpHnn22rM7f+9f0cOgxjjz7L/Ze5RXtQNUpaxgA5cJQre5044wGciGmHscFlcVxl8uXdBzlwt7SjtO6tq8vKy3EDCY0VsEMK+COVdq/UzB/GwAA8L7AWfQr89iqgfRv6+U3SZX+bdoGlIVg1WP0BFFPDOOSk21L1RSt4LG0k8tQBTvGXVmoVgWK1ExoKY2H/Ftyv3pO/lzxi2lrUK+utGl5oFnH3vQSm5ICVaf3mWdJTHyCLNlmp2IPw+K8PHMMPVZlppeCRjtQdVwlZmljZmsf5MJJNzN+IFftWVbfUNZkURpKBnMsF4aWFva60Lisfs89T2mBaDCvSf+dXH8d6QRWAABg/3JVq1WpWtVxVat6o1oVwSJY9RhXedM0NdW2AEDlVjuplyRe8oJkf/G05Oessq0ojoaDwQSEFz30kPzwx3LZ/Gcp12iXQB8zc+Uqc4zKTvvMaAeqTrBVne6HwpICw7Jm33dcMFlSdagLMPX1lPbjZDBhb1FobBYl0uF2VElhbzBDCjjuNTEcAAAAlZu7RN5/wqeqQv+2U9rXMpWrVKsiWASrHqMzGOswADrzMwBUFfWOPE8anjRCNk0dLwX5oYeB2FtS18PlrOHXySd//BFSuKr7flr4mLOGDTfHQPGCrQ5VewJRG1YGcgFtSbPvO/6XyxdXIeoCyWCu+Cgr7A1mSAFVVhgabPisGA4AAICqI/Ww2tIqSkPpeY0OdVBRE1ahaiBY9RgdX/XH7t3NzNAAUJU0PPFGqdOxnwlXEbkzhg6TEwcNlg+WZppL+8uyKHez2feESwfJGcOG21YUx4WqwVRiusBUJ6kqTjBjtSp9Lhd0uuf3t2C77/hlHUe5fdxj/IUSGpcV9rrjBDOUTlnVrwAAAEBlRLAKAKgwjQb+U2LqNZLc7/5tWxCJv9z4D7n1rbdlbYOG8tW6dfJbdrZs2rFDdu7ebW66rm1frVsv6xrGm33/8o+b7aNREleJ6cYrLY0LFYsLQ7ViVAPJYAJaVdpkUbm7fMuyLt9XLuxdUUzY615nWUMKKN/r9q0XN6yAC0mDeU0MBQAAAICqiGDVY5LS0qRfQYFZAkBVlDjkNcnPWiZbfv7QtiASekn/7en/k5Nvu0N2deos3+bmyX+X/G5uur6r02GF2243+3D5f3BcYBhMdairMvVVgu4dGoZyqbxyz1dcdag7lpv1vzR7KlaLCUNDGVJAlTasQLBDCqiyql8BAACAyohgFQBQoWJq1pLGV7wmW3/5SLb99o1tRaR0hv9rnn1eHvpmuoyb+6u56fo1zz5X6Wf/r2iuqjOYSkzlgszAqtVghwFwXKVp4OXyGtj6V5qWxU2UVVzYG8qQAmrP37Zz7+P4ju1bD+ZYGr66ADbw3wkAAACorAhWPUbHVtUxVnWsVQCoqmo2SZLGg1+RTV88IX+unm9bAW8IpRJTuWrMwKrOotn3gzuOe77Ay+X9A8xgKk31OC6ADQwxQxlSQBWNIWsWe7j7+jzBVr+WNtQBAAAAUBnFrFi1ruCPzMXSp08f24T9KTMtTZaNHi1tRo2qkOEA4uPj7Roqs9zcXLsWvDnHHy8506ZJt6lTJSElxbZWP1/G+AIBHYIDFW/rjNck9727pfHZd0vNhgfY1uhYM36gtHpqi72H6kr7uVmzZtl7JTt0zk6znNI5VvrPz9+zHkxo+NSaXfL02t1yYqMa8kySLRct1H/+ThNAaptuK4tWgfaa63vumV1j9wStL6/fLQ+s2rXP8Utz2/Jd8t+Nu+X2ljXlsgOKntu9plfbxQY16ZRWvOq/h74WfU2Oe016DD1WMHR/fZy+Hn0Nn2/aLQu7BTfrbs+ePcPq60L14Fu/yIwF6+W2vx4uvTtF9zMJQOQq+lwJ1VvqPVPMMv3u/mbpZfp9Z/5l9tdTVEqdX65ZId91QqVFfwsHD5bmgwbJoRMm2Fb4o2LVY5qmpkq7MWMqLOjSNy63yn8DKqv6vS+S+scMkU1Tx4sQbsMDXNVpKJWY7lJ4/0rMUC+VV/6Vpv7jo7rL94MZBsBpafNKVzWrQh1SQJU0rECoQwqokqpfAQAAgMqKYNVj4pKTpfWIEdW6ghBA9RJ/2u1Sq00PydFwFdjPioLVEAJDv4mZHBce+sLS4I/l9vUfVsDN7u+CyWC4wNMNa6D8g95gX1NJwwqEOqSAcs/JUAAAAACoKghWPSYvI8OUWusSAKqLhAueKeyRakrujNdtC7B/uImjQqnE1PBRb8oFoi7QdOOKBss9b2ClqQqpOtSGvW4CLRVOaKw61/N9XfQPe93f17p28F8lXUCrAbR/CA0AAABUVoXfhvli6yVZ6elm/ApdAkB1kjjkNdm5eoFsm/eJbQEqngv8QqkOVS40dNWY4QS0yj2vex0aZhZdvh/8sVzYq8dxwWw4QwooV5Xqwt5whhRQ/tWv/kMdAAAAAJUVFaseUzcpyQwHEJuQYFsAoHqoUSdOGg95TfJmvSvbl86wrUDFcoFfyIFowHAALngM5VJ55Z7XvY5wqlUdF2LOyPNVl4YzpIByz+2qVMMZUsBx+1OxCgAAgKqAYNVjdKa1HrNnm3FWq7oNGzbIc889J7169ZKYmBhza9++vQwdOlQmT55s9tFt5cU9p7sB2P9im3WUxEEvy6YvnpKd6xbbVqDiuMDPTdoUrIb2G5WrVHUhpBsiIFiBk0X5h5ihcmGvO0a4IW3gsALhDimgwvk7AAAAAK+KWbFqbcEfmUukT58+tgkof2+88YYJULOzs6Vnz54yevRoOf300802DVVHjRols2bNMvcLymmm8Dlz5khycrK9V37P41Vzjj9ecqZNk25Tp1brydK+tKF6P2ak95Qt01+SvE8elcZn3yU16odXwb9m/EBp9dQWew/VVXx8/J7+pDSHztlp13zhX3rHWHsvOJ9v2i3DMneZIPWLzjWl19x80z6lc2zIAWT/+TtNGPpqu1h5OWu3OfZlB9SQ21uGlvY+tWaXPL12t5zYqIYMb1ZDUn/zvaaF3WqZZSjcv4/+PXrM/24M7zW5fycn2Nei3xVyc3PtvfLz4Fu/yIwF6+W2vx4uvTsdYFsBeEVmWposKzxvaFN4rpBUuA6Up9R7pphl+t39zdLL9PsOKr+K+K4TKp0DSIer1CLAQydMsK3wR8Wqx+iXhemJibJi7FjbUvVoqHrBBReYUPWUU06RmTNn7glVla5//PHH5iSqPHXr1s2uAfCaBn0vl/pHnS85U8bZFqDihFOJ6T8UgBtnVS/FD+dYveN8X8+0MtRVvoZ6+b5y1aH6eiIZUkC5x+lrCndIAeX+nQAAQPRoIMet8t9QORGselB+To65VUW///67CVWdceOKD02aNGkib775pr0HoDpqeOYoqdWik2z68nnbAlSMUCd3Um6yKPVFrgsxw/ua1dIWcepkUdEYCkDDXnf5frjBqjuWbzKt8I8V6tAIAAAAgJcRrHqMllfrpdm6rIoee+wxuyamWvWQQw6x9/al2wKrVvXy/fPPP3/PuKinnnqqfPPNN3ZrER2/VYcaaNy4sdlPx27VStlg6ePvuOOOPY/X59Q2R5/XvQa96WvQ16bPo4/RABlA5BIueUF279whebPesS1A+QunElN1qudb6mXyKpyAVrnAUi+bVxpGhlP56h/2Tsr2HSvUsWMdN4asHseFveG8JhVuuAsAAAB4DcGqx9RNSjLjXeqyKho/frxdE+nfv+yxanSYAEfDyuOPP95UsmZkZEhWVpYsXrxYjj322H1CUw0+9bkefPBBM3aqBrRaKathazD08Q888IB5/JIlS8xzapsTOFTBvHnzpGHDhmZdhzh45x1CICBamlzxH9meOUu2zveNcwWUt3CDv8DHhRvQBl4uH25Aq1zY68LQcF+T+9siqaB1GA4AAAAAVQXBqsdkpafLkpEjzaRCVU1xlaWhuP322/dMdqXjo+pwAVdddZXZpoGpqyh97rnn9kxUct5555nl8OHDzVLD1rJexyOPPLLn8VdffbWpnNXqWm3zD3D1+Z1NmzaZ/Z588klJTEzc87wAIhdTP1EaD3lN8r57RXYs+8m2AuUj3OpQFRhahhs++leaqkhCzMDHhnuswDA0ktfkql8BAACAyo6vth6Tl5FhJq6qisFqJDQ0dWOu+geajgauM2bMMOsvvPCCWari9v3oo4/sWvHefvttu7av9PR0u7a3rl27mqVOvLVx48ZShzgAELparQ6XhEsnSM4XT0r+xmW2FYi+SKpDAwPZcC+7V/6vo1Pd8EPMVrWKHhtJaBwY9kbyt0USygIAgP3Lf0i8wJsWMRXX7m5axFReNDPQIiugohGsekxccrI0TU2tkkMBtGzZ0q6Fbv78+XatZHPnzjVLV21akh9//NGuFc//8a4D+OSTT8z9nBImFYuPj7drAMpLvSPOkEZnjZacKc9IwY4tthWIrkhCP/8wVI/jH0SGyr9CNJKw1//vieQ4yg0roMIdUkAxFAAAAJWXDrX34Ycf2ns+r7/+umk/5phjzFKH0/N37bXXmvabb77ZtkTfsGHDzJWkQEUjWPUYDVW7TJpUJSev0irOdu3a2XsiU6Z4f7xE/fD3v+nYqgD2nwb9rpV6h58l2VOesS1AdEVSHeqrCPWth1sZ6vhfLh9J2OsfhkZaKer/+EiOFVj9CgAAKpfAwqLWrVvbNZ/AKziTyrlwTCtV3RWuQEUjWPWY/Jwc2Z6ZaZZV0X333WfXxFSB+s+0Xxy3vXPnzmZZGnc5vv+kUsXp0aOHXSuef/jL7P6A98QPeFBiGx8kuV+/ZFuA6Im0qtMFqpEexwWXepxIQlr/sDeS0Fi5YQV8x4zwWIWvKdKgFwAAQOdBueaaa+w9oOIRrHqMjq86o21bs6yKzj//fDMRlHPXXXfZtX3pB+SLL75o1nWsVPc4/zDWlfrrhFG9e/c26wMHDjRL5fbNzc01S3XaaafZteKdfPLJdk32mt2fMVsA70gc/Krs2rpR8n4qftxjIFTDm9Uwl6hHq6ozkkvllbtcPtIAU0Ur7HWPj/Q4Kr1jrLkBAIDqScdj7dWrlxl6r3379ntNFO1o26mnnrpniD7df/LkyXarb+LpCy64wN4TueWWW8x++hhHi6U0h9D2xo0byx133GG3+Lhju5vS59V99fmAshCsosK99tprZowVpbP064fcnDlzzH2lH7Da9tVXX8mQIUNsq8jDDz9sAlQdA1X316DTlfuPGzduz0RV+hhXteqC0VdeecUs9Xl13Bfl/5zKhbA33XSTeR710EMPmdej9Fj+s/37B7z+wS2AitF4yH9k++JvZOtCJvtD5K5rXlNebRcbcZDpAtVIA1p3uXw0qjrdMSI9lgt7o/GaAABA9aXh6LHHHmsmoc7KyjLFTRqQ+oemGoBq26BBg8ywfH/7299MFnDGGWfsubJUx2zVnMDRdf8h/HQ/zQY0N8jIyDC5wQMPPLBXuKrP70/P//WKWX1t+nwuDwBKQrDqMUlpadK38A3cesQI21L1aACqH2hff/21CTr1wyo5OXnPL0hPP/20DB8+fK+wVHXr1k2mTp1qPlB1/6ZNm5oAVAfO1iDW0cfoB6ke+7bbbjPH1efQD1k9pqPH8HfRRReZpY4H455HP0z1A1+Pr6Gqez36C5ge09EP9/Kc4RDAvmrEN5fEwa/I5i//JX+u+MW2AvuXho/RuFRe6fioneraOxHQsFerTCN9TS7s7dXANgAAABTSc2b/qk+9lUQLlC6++GKzftVVV5lz7AsvvNDcv/76681SaQCq0tN9V6gdeeSRZqn8rywtzdChQ805vV79qnmCyw302C6c9c8cHN339ttvN6GsK8wCSkKw6kGxCQnmVtXpB5QGnYsXL94zOdTGjRtN2X1JH176Aafb3f4zZ86U008/3W4toh+Oemw9nu6nzxE4A6E7hrv5T0wV+Dy67v+Bq/v6P1Zv5TnDIYDi1W7TUxIve1Fypjwl+TmrbCuwf0XjUnmllaEaZEZKjxONoFdp2BuN1wQAAKoOLZoKPD8uyYwZM0zYWZwlS5bsubLUXeXqPwdKKDTA1XldSvLZZ5/Ztb25+V3uv/9+kzcAZSFY9Zis9HSZN2CArJk40bYAAEpTr/s50vDEGyV36jgpyN9hW4H9Q0PHAYnR+Xql1arRuOy+Yc3oXb6vx4nWsQAAQPUzd+5cu1Y0JqpWvDqbN282Sy2U0oBWh/rTylMdpi8U8+fPt2u+ibMDK2ndfC2BiqtgBUpDsOoxeRkZJlzdnplpWwAAZYk7caTU7pgim6aMty3A/jOgcXSCxxMb1YhKpamGvSfGR+crn4bG0ap+BQAA1ZsbE9X/5n/1qg635ypWb731VrMMhw4FEPg8XHGKaCFY9ZiElBRpM2qUWQIAgtdo4D8lpkGibP7u37YF2D+idal8NC+5dxNPRYpqVQAAEImDDz7YrolkllJQplWqWtGq86rce++9tnVfXbt2tWt7a9mypV0TMzQgUF4IVj1GA1WdwIpgFQBClzjkNdmZvUK2ZLxnWwAAAAB4xVFHHWXXxMxlomOhOnpfJ5XScVbHj/ddiab76+X5JYWw8fHxdm1vOim1q3bVsVv9Z/fX40+ePNneAyJDsOoxDAUAAOGLqRErjS9/Vbb+Wvxg9AAAAAAik5uba9d8VqxYYdd83Iz7jn8oqoGnzrivdBKru+66y4SrGnZqSKrb/Wm1qW5LSkqyLXuPj9qwYUO7JvLTTz+ZfZ977jlz/8knnzRLNXLkSPO69Lm+//77PZNg+we7KvA+UBaCVY9h8ioAiEzNxm2k8eBX7D0AAAAA0aITQJ1xxhn2ns8FF1xg2rUqVJeBM/lr9am265ipSmfc1/FVdT/d1rt3bzPZlAs7u3XrJtdee61Zb9++vVnqJFY6Vqr69NNPTYCqdN/XX3/dDBnw5ptvyltvvSVXX3212abH+/DDD6Vnz54ya9Yss/znP/+5Z7tq2rSpXfPR+/7VrUBZCFY9JjYhwdwAAOGr3a6vtHpqi70HAAAAIBoCJ4Hyv+nEU8W1u5v/hFG6rtWo2q7L888/327xGTdunNn28ccfm/BUhwPQdW2bOXOmaXP0sRs3bjTbNLT1p+Gq7q/bdJ/A7doeePOfQAsoC8Gqx7QeMUL6ZmebcVYBAAAAAAAAeBPBKgAAAAAAAACEKGbFqrUFf2QukT59+tgm7E8rxo6VlU88Ia1uuMFUrwLlZc7xx0vOtGnSbepUSUhJsa3Vz5cxMWbZr6DALAFULSXNFIvKJ3CijPLw4Fu/yIwF6+W2vx4uvTsdYFsBeEVmWposGz1a2owaxRV+KHep90wxy/S7+5slUB3p/D8LBw+W5oMGyaETJthW+KshQpjgJfk5ObI9M9MsAQBAZDSM41Y1bgAAAIDXMBSAxzRNTZUukyaZXwMAAAAAAAAAeBPBqsfEJSebcLVuUpJtAQAAAAAAAOA1BKseo2Ne6jireRkZtgUAAAAAAACA19RgiFVv0WB1yciRkpWeblsAAAAAAAAAeE0N33zY8AodAkBnaGcoAAAAAAAAAMC7GArAY3TSqm5TpzJ5FQAAldSGDRvkueeek169eklMTIy5tW/fXoYOHSqTJ082++i28nLqqafueV69ffPNN3YLAAAAgGgiWPWY/JwccwMAAJXPG2+8IR06dJBrrrnG3P/www+loKBAFi9eLGeeeaaMGjXKhJ2zZs0y28vDa6+9Ju3atbP3AAAAAJQXglWP0YmrpicmSmZamm0BAACVgYaqF1xwgWRnZ8spp5wiM2fOlNNPP91uFbP+8ccfS8+ePW1L+WjSpImpkAUAAABQvghWAQAAIvT777+bUNUZN26cXdubhp5vvvmmvQcAAACgMiNY9ZjWI0ZIj9mzGWMVAIBK5LHHHrNrYqpVDznkEHtvX7otsGp1zpw5cv755+8ZF1XHSS1ubFQdv1XHam3cuLHZTytTtVI2WPr4O+64Y8/j9Tm1zSlufFZ9bfo8+hgNkAEAAAD4EKx6TGxCgsQlJ0vdpCTbAgAAvG78+PF2TaR///52rWQ6TICjYeXxxx9vKlkzMjIkKyvLjMl67LHH7hOaavCpz/Xggw+asVs1oNVKWQ1bg6GPf+CBB8zjlyxZYp5T25zAoQrmzZsnDRs2NOs6xME777xj1gEAAAAQrHpOVnq6LBw82CwBAID3RTrr/u23325CSw00u3XrZoYLuOqqq8w2DUxdRelzzz23Z9Kr8847zyyHDx9ulhq2lvU6HnnkkT2Pv/rqq03lrFbXapt/gKvP72zatMns9+STT0piYuKe5wUAAABAsOo5eRkZsmbiRLMEAABVm4ambsxV/0DT0cB1xowZZv2FF14wS1Xcvh999JFdK97bb79t1/aVXsIPul27djVLnXhr48aNpQ5xAAAAAFQ3BKsek5CSYsZZ1eEAAACA97Vs2dKuhW7+/Pl2rWRz5841S1dtWpIff/zRrhXP//FuDNVPPvnE3M/JyTHLQPHx8XYNAAAAQCCCVY/RYLXdmDHSNDXVtgAAAC/TKs527drZeyJTpkyxa96l47P633RsVQAAAAChIVj1mO2ZmWYYgPwSKkcAAID33HfffXZNTBWo/0z7xXHbO3fubJalcZfj+08qVZwePXrYteL5h7/M7g8AAABEjmDVY3R81R+7d5cVY8faFgAA4HXnn3++mQjKueuuu+zavnSiqBdffNGs61ip7nH+YaxOGqV0wqjevXub9YEDB5qlcvvm5uaapTrttNPsWvFOPvlkuyZ7ze6vx9KJsQAAAACEhmAVAAAgCl577TW59tprzbrO0q9h65w5c8x9pbP2a9tXX30lQ4YMsa0iDz/8sAlQdQxU3V+DTjeh1bhx4/ZMVKWPcVWrLhh95ZVXzFKf95hjjjHr+vjFixebdeXC15tuusk8j3rooYfM61F6LP/Z/v0DXv/gFgAAAMDeCFY9JiktTfoVFJglAACoPDQA1SD066+/NkGnBqXJyclmkqjGjRvL008/LcOHD98rLFXdunWTqVOnyt/+9jezf9OmTU0A+uGHH5og1tHH6FioeuzbbrvNHFefQ4NZPaZz0UUXyZIlS+w9kTPOOMMsdSxY9zzZ2dly7LHHmuNrqOpez6mnnrrXJFf62EceecTeAwAAAOCPYBUAACCKtHJUg06tGnWTQ23cuNEMAeCqSgNpuKrb3f4zZ86U008/3W4t4sJbPZ7up89x8803260+Gr6647ibE/g8uu4f8hb32MDjAwAAAPAhWPUYHVtVx1jVsVYBAAAAAAAAeBPBqsfk5+RIXkaGbM/MtC0AAAAAAAAAvIZg1WOapqZKuzFjJCElxbYAAAAAAAAA8BqCVY+JS06W1iNGEKwCAAAAAAAAHkaw6jE6DICOr6pLAAAAAAAAAN5EsOoxWenpsnDwYLMEAAAAAAAA4E0Eqx5TNynJDAcQm5BgWwAAAAAAAAB4DcGqxzQfNEh6zJ5txlkFAAAAAAAA4E0EqwAAAAAAAAAQIoJVj8lMS5PpiYmyYuxY2wIAAAAAAADAawhWPSg/J8fcAAAAAAAAAHhTDZECuwov0DFWu02dapYAAAAAAAAAvImKVY+pm5QkCSkpZgkAAAAAAADAmwhWPSYrPV2WjBwpOdOm2RYAAAAAAAAAXkOw6jF5GRlm4iqCVQAAAAAAAMC7CFY9Ji45WZqmpjIUAAAAAAAAAOBhBKseo6Fql0mTmLwKAAAAAAAA8DCCVY/Jz8mR7ZmZZgkAAAAAAADAmwhWPUbHV53Rtq1ZAgAAAAAAAPAmglUAAAAAAAAACBHBqsckpaVJ3+xsaT1ihG0BAAAAAAAA4DUEqx4Um5BgbgAAAAAAAAC8qUaMXYE3ZKWny7wBA2TNxIm2BQAAAAAAAIDXULHqMXkZGSZc3Z6ZaVsAAAAAAAAAeA3BqsckpKRIm1GjzBIAAAAAAACANxGseowGqjqBFcEqAAAAAAAA4F0Eqx7DUAAAAAAAAACA9xGsegyTVwEAAAAAAADeR7DqMbEJCeYGAAAAAAAAwLsIVj2m9YgR0jc724yzCgAAAAAAAMCbCFYBAAAAAAAAIEQEqx6zYuxYmdG2rVkCAAAAAAAA8CaCVY/Jz8mR7ZmZZgkAAAAAAADAmwhWPaZpaqp0mTRJmg8aZFsAAAAAAAAAeA3BqsfEJSebcLVuUpJtAQAAAAAAAOA1BKsekzNtmhlfNS8jw7YAAAAAAAAA8BqCVY/RYHXJyJGSlZ5uWwAAAAAAAAB4DcGqx+gQAAkpKQwFAAAAAAAAAHgYwarH6KRV3aZOZfIqAAAAAAAAwMNqiBTYVXhBfk6OuQEAAAAAAADwLipWPUYnrpqemCiZaWm2BQAAAAAAAIDXEKwCAAAAAAAAQIgIVj2m9YgR0mP2bMZYBQAAAAAAADyMYNVjYhMSJC45WeomJdkWAAAAAAAAAF5TQyTGrsILstLTZeHgwWYJAAAAAAAAwJtqiBTYVXhBXkaGrJk40SwBAAAAAAAAeBNDAXhMQkqKGWdVhwMAAAAAAAAA4E0Eqx6jwWq7MWOkaWqqbQEAAAAAAADgNQSrHrM9M9MMA5Cfk2NbAAAAAAAAAHgNwarH6PiqP3bvLivGjrUtAAAAAAAAALyGYBUAAAAAAAAAQkSw6jFJaWnSr6DALAEAAAAAAAB4E8EqAAAAAAAAAISIYNVjdGxVHWNVx1oFAAAAAAAA4E0Eqx6Tn5MjeRkZsj0z07YAAAAAAAAA8BqCVY9pmpoq7caMkYSUFNsCAAAAAAAAwGsIVj0mLjlZWo8YQbAKAAAAAAAAeBjBqsfoMAA6vqouAQAAAAAAAHgTwarHZKWny8LBg80SAAAAAAAAgDcRrHpM3aQkMxxAbEKCbQEAAAAAAADgNQSrHtN80CDpMXu2GWcVAAAAAAAAgDcRrAIAAAAAAABAiAhWPSYzLU2mJybKirFjbQsAAAAAAAAAryFY9aD8nBxzAwAAAAAAAOBNBKseo2Osdps61SwBAAAAAAAAeBPBqsfUTUqShJQUswQAAAAAAADgTQSrHpOVni5LRo6UnGnTbAsAAAAAAAAAryFY9Zi8jAwzcRXBKgAAAAAAAOBdBKseE5ecLE1TUxkKAAAAAAAAAPAwglWP0VC1y6RJTF4FAAAAAAAAeBjBqsfk5+TI9sxMswQAAAAAAADgTQSrHqPjq85o29YsUfnExMTIdUOHytKlS20LAADVm/aNw6+5hr4R8DDepwCAqkD7saHDrzP9WkWpIQV2DUBULJ78oRzasaNcOXiwLFiwwLYCAFB90TcC3sf7FABQWWm/NfiKK6XjoYfK+79W7I+EVKx6TFJamvTNzpbWI0bYFlQ2ZzVvJvd3O1yyZnwvPbp3lwvOGSBz5syxWwEAqH7ObtnC9I3rv50uPbVvHEDfCHgN71MAQGWj/dSA8y+U5B495dtV2dL55kflgBMH2K0Vg2DVg2ITEswNlVeD2Fg5Kb6h3Ne1i+ycP19Sjukr55xxuvzwww92DwAAqhftG09OTJB7C/vGP3+dV9g3HiMDTjuNvhHwEN6nAIDKQPul0wecK337pci8Lbuk0z8ekQbHnCax9ePsHhWHYNVjstLTZd6AAbJm4kTbgsqsTs0a0r9RvNxzWGep/fvvcuYpJ8sZJ54gX3/9td0DAIDqRfvGExITCvvGTlLr9yVy5smFfeMJ9I2Al/A+BQB4kfZDJ5x+ppx8xlmyeHdd6XDjwxLX52SpUbuO3aPiEax6TF5GhglXt2dm2hZUBTVjYuS4RvGSdmhHabRypZw/IFVOOu5Y+fzzz+0eAABUL9o3piQmSFqnjhK/4g85PzVVTjymL30j4CG8TwEAXqD9zrEnniypfztfltdtLIeMfEDieveXmJo17R77D8GqxySkpEibUaPMElXTMY3i5Y727aT5unVyxYUXynFHHSWTJ0+2WwEAqH6OTUyUOzpo37hWhlx4gekbP/zwQ7sVgBfwPgUAVDTNSnof108uvPwKWZ3QStoMv0fievazW72BYNVjNFDVCawIVqu+PgmN5OZDkqRd7ia5fsjlcnRyskyaNMluBQCg+vm/xo3llkPaStvsDYV94xDp3a2bTPrvf+1WAF7A+xQAUN40G0k+6mgZct0I2dCio7S+5i6JP/IYu9VbCFY9hqEAqp9eCY3k720Olq7btsrt110n3Q87TN54/XW7FQCA6qd3kyZyY9LB0mXrFtM3JnfuLK+/9prdCsALeJ8CAKLt9dffkC7dj5Tht94hm9slS4sht0h8t6PtVm+qIVJgV+EFTF5VfR2ZmCDXtW4pvfJ3ygO33CJdOnSQiS+9ZLcCAFD99GzSWK47qJUctStfHrj1VunSvr289K9/2a0AvID3KQAgUi9NmCjtD+sqN9/3oGw7rI80u+xGaXR4L7vV26hY9ZjYhARzQ/WV3DhRrmnZXPrVjJEn77lH2h98sIx/+mm7FQCA6kf7xmtbtZB+sTXkqfvulQ6FfeMzTz5ptwLwAt6nAIBQPT1+vLRp31FGj31KpNcJcsBF10tClyPt1sqhRoxdgTe0HjFC+mZnm3FWUb11TUiQK5ofKKc3qC8T/vm4HNyihYx59FG7FQCA6kf7xitbNJfTCvvGl8eMMX3jPx952G4F4AW8TwEAZXlszFhpcdDB8vgLL0vtfmdJk78NlfhDj7BbK5caIkSrgJd1ahQvgw48QM5rnCDvPPecNG/aRB689x7ZuXOn3SM4+Tk5e92c4toAAPAy0zc28+8bm8oDo0eH3DeqpWs277k5v/u1rcvZblsBhCJa79OcadP23HYsW2badOnadI4KAED06Jw/7uZyAl36t4dDP//vffAhadq8hYx/4x1peNqFknjuldKw3WF2j8opZvWKVQVL/8iUPn362CbsTyvGjpWVTzwhrW64wVSvonKJiYmRZ3qX7zggmXlbZMaff8ova9fJdcOGyT9uv13i4uLs1tLNaNu21A/BdmPGVLv/331Z+N9M9StgvGkAKA8V1Td+v327zFufJcOGXis333Fn0H3jyOdn7hWqBvrbcUlyQcoh9h5QNXn5fbpk5EhzjlSSNqNGcbUfykXqPVPMMv3u/mYJVBeZhZ+py0aPtvf21TQ1VbpMmmTvlS0vL08efPQxefqpp+SATkdIbHJfqd+6rd1aPmbfcYUUVNA5PpNXeYz7FYDqQZQkKa6B/E3HsGpzkHzz7rvS4sAD5ZbCL5wbNmywe5RMv3iWpG5SkjQfNMjeAwCg8tC+8fymTeQa2zc2P+AAuXnEiKD6xuvP7mTX9nVgQl05++iD7T0AkQj3fVra91edm4JiFACILv1c1XygJFoIGAz9fL/x1tvkwOYt5K2p06XlRddJ/JkXl3uoWtGYvMpjXPJPwIWytKpfX85NbCR/79BeMj6aLC1btJCRw4bJ6tWr7R770v9flfQBqR+OTJwGAKjMtG88r3Gi3Nixg8ye7Osbb7jmGlm1apXdY19tmzc0t+Icf0RzaVA31t4DEA2hvk9LC0/5/goA0aefq80uu8ze25tmVgkpKfZe8TSTGDpipLRo2VLenzFbkq68RRqeer7Ua3GQ3aNqIVj1mLjkZPN/1NJ+HQD8NatXV/6S0Eju6NJZFk75Qlq1aiVDhwyRzBIu+S/uV3+qVQEAVYn2jQMaJ5i+8bepU0zfeE1hP1dS31hc1SrVqkD5CuV9Wtz3V6pVAaD8lFS1Wlq1qn5+D7lmqLRs2VK+mLdYOlw3WuJOGih1D2hh96iaajAQgLfoAOw6hhCDsCNUTevUkTMbxct9yUfI8m+nS8cOHeTyiy6ShQsX2j18iqta5dd+AEBVpH3jWYkJcn/3brLi++9M3zjo/PP36RuLq1qlWhWoGMG8T4sLUfn+CgDlp7iq1ZKqVfXz+qLBQ6RDx44yPXO1dL3lUWlwfKrUaXyA3aNqq+GbtgVeocGqDtCelZ5uW4DQJNSuLadpwNrtcMme/ZMc2a2bXHTuufLzzz/bPfb+1Z9qVQBAVad94+kJjUzfmJMxW45M7iYXnnPOXn2jf9Uq1apAxSvrfer//ZVqVQAof4FVq4HVqvr5fO4FF0m3I4+UWWs3SeebH5X6x50pteIT7R7VA0MBeIz+n1Z/ASiu5BoIRVxsrJwU31DuPbyL7Jj/qxz3f/8n5515psycOXOvqlV+7QcAVBfaN56c0Eju7VrYN/46T/oV9o3nnnGG6Rv9q1apVgX2n5Lep7MXLdoTpvL9FQDKn3/Vqn+1qn5vOvOc8+T/jusn87bskk43PSINjjlNYuvHme3VDcGqx2jg1W3qVCoIETV1a9aU/vEN5Z4unSX29yVyxkknyVmFtz8vvJBqVQBAtaR94wkJjWS09o1LFsvpJ54oZxbejj1oG9WqgEcU9z69efZskbg4qlUBoIK4qlX9Qeubb76Rk848S046/QxZvLuOdLjxIal/9ElSo05du3f1RLDqMfk5OeYGRFtsTIwcF99Q0jp1lPgVK+T8Z5+VV+vXly9//NHuAQBA9aJ9Yz8NbjofWtg3LpfhF6XKiulvyPfTv7R7ANjf/N+nddaslutr1pTTzz5bvvjiC7sHAKC8aNXqluuuk7Pve0D+MvBvsrxOYzlk5INS/6j+ElOTq3sUwarH6MRV0xMTJTMtzbYA0de3UUO5o0M7yS3YLUMuuED69e4tkydPtlsBAKh+jkloJHd2bC9NMj6Wy88/X4476ij6RsBj9H16daeO0mztGt6nAFDO9PP16ONS5PyxT8raxq2lzXX3SP0ex9mtcAhWgWrs6PiGcvMhSXJI7ia54YohcnT37jJp0iS7FQCA6qdPYoLc0q6ttM3JluuHXC5HJyfTNwIew/sUAMqPfp527320DBl+g2xs2UFaX3OXNEjua7ciEMGqx+j4FT1mz2bcS1SoXo3iZeTBB0mXbVvl9uuGS4+uXeXNN9+0WwEAqH56N06Uv7c5WA7bskVuGz5Muh92mLz++ut2KwAv4H0KANGjGUCX5CNl+C23S94hydLiilsl7oij7VaUhGDVY3T8irjk5D0ztgMVqUdCI7mudSvpsfNPue8fN0nXjh1l4sSJdisAANVPzyaJcv1BraVX/k65/+abpUuHDjLhxRftVgBewPsUAML38ssvS/vDusg/7nlAdnTtI80G3SQND+9lt6IsBKsek5WeLgsHDzZLYH9JTkyQa1u2kOMKPyGeSEuTDm3ayHPjx9utAABUP8mNE2VoqxbSr2aMPHnPPdL+4INl/NNP260AvID3KQAEb/yzz0mb9h1k1D+fkoKeJ0rTi66X+MOOtFsRLIJVj8nLyJA1EyeaJbC/dU1IkCubHyin1a8nLz76qLRp2VKe+Oc/7VYAAKof0ze2aCanN6gvE/75uBzcooWMfewxuxWAF/A+BYCS/fOJJ6XlwW3kkedfktrHnS2N/3atNOp0hN2KUBGsekxCSooZZ1WHAwC8olOjeBl0YFM5N7GRvDlunLQ4oKk8fP/9kp+fb/cAAKB68fWNB8h5jRPkrfHjC/vGA+TBe++lbwQ8hPcpAPjo5979Dz0sB7RoKc/85y2JO/V8STzvKmnY/jC7B8JFsOoxGqy2GzNGmqam2hbAO9o3bCgXN20slzRrJh9OnCjNmjaVtDvvlC1bttg9AACoXkzfeECTwr7xQPnolZelWZMmMur22+kbAQ/hfQqgutLPuTvTRkvTZs1l4vsfSePUwdLoL4MlLqmj3QORIlj1mO2ZmWYYgPycHNsCeE9SXAM5v0miXH1wa/nq7bek+QEHyG033SQbN260ewAAUL34+sbGcnWbg+Trd942feOtf/87fSPgIbxPAVQX+rl24623yQHNmstbU76RFhcOl4ZnXCINDjrE7oFoIVj1GB1f9cfu3WXF2LG2BfCu1vXry3mJCTKyQzv58YMPpEXz5jJy2DBZvXq13QMAgOrF9I2NE03f+NPkD03fOGLoUPpGwEN4nwKoqvRzbPjIv0vzFi3kgx8yJOnKW8xl//VaHGT3QLQRrAKIWPN69SQ1IV7u6NJZFk6ZIq1atZJrhwyRzMxMuwcAANWLr29sZPrG31zfePnl9I2Ah/A+BVBV6OfWkGuHms+xz+cukg7XjZYGJ54ndQ9oYfdAeSFY9ZiktDTpV1BglkBl07ROHTmzUUO5L/kIWfHdt9K+fXsZcvHFsnDhQrsHAADVi+kbE+Jt3/iddCjsGy+/8EL6RsBDeJ8CqKx+++03uWjwEGnfoaNMX7pKutz8iNQ/PlXqND7A7oHyRrAKIOoSateW0+IbygOFX043zv5JjuzWTS4eOFB++eUXuwcAANWL6RsbNZT7C/vG7IzZpm+86Nxz6RsBD+F9CqCy0M+l8y66WI5I7i4/rdskh93yqNQ/7iypFZ9o90BFIVj1GB1bVcdY1bFWgcouLjZWTmoYJ/ce3kW2/zpPju3TRwaedZbMmjXL7gEAQPVi+sb4hqZv3DH/Vznm6KPl3DPOoG8EPIT3KQCv0s+hs849T/occ6zMzd0pnf7xiNTre5rE1o+ze6CiEax6TH5OjuRlZMh2xvVBFVK3Zk3p3zBO7unSWWouXSKnnXCCnH3yyTJ9+nS7BwAA1YvpGzW46XqYxP7+u+kbzzzpRPpGwEN4nwLwCv3cOeWsv8iJp54ui3fXlQ43PSz1+5wsNerUtXtgfyFY9ZimqanSbswYSUhJsS1A1REbEyPHxcXJ6M6HSsOVK2Tg2WfLKf36yZQpU+weAABUL9o39mvU0PSN8StXynlnnSUnHXcsfSPgIbxPAewv+jmTcvKpcvZ5f5U/6iTIIX9/UOr1Ol5iasbaPbC/Eax6TFxysrQeMYJgFVVe34ZxcmeHdtJs/ToZfP75ktKnj3z00Ud2KwAA1c8x8Q3lro7tpfn69b6+8eij6RsBj+F9CqAi6OdKn34pcv5lg2VNo5bS5rp7pN6Rx9mt8BKCVY/RYQB0fFVdAtXB0YVfTm85JEmScrLlussvlz5HHinp6el2KwAA1U+fRvGmb2y7KUeGDx4sR3fvTt8IeAzvUwDlQT9HevT5P7l82PWS3aKDtL72bqnfva/dCi8iWPWYrMI30cLCjlmXQHVyVOGX07+3OUgO27pFbh02THp07Spvvvmm3QoAQPXTq7BvvDHpYOmybavcNnyYHNmlC30j4DG8TwFEg35udD2ypwy/5XbZ3PYIaXHFrVL/iKPtVngZwarH1E1KMsMBxCYk2BageumR0EiuP6iV9Nj5p9x38z+ka8eO8srLL9utAABUP9o3Xte6lfTK3yn3/cPXN748caLdCsALeJ8CCMcrr7wiHbscLv+4537Z0eVoOfCyGyWuay+7FZUBwarHNB80SHrMnm3GWQWqs+TEBLm2RXM5rvBTamxamnRMSpLnnn3WbgUAoPrppn1jy6K+sUObNvLcuHF2KwAv4H0KIBjPP/8vSerQUe5+/AnZ3bO/NL3oBmnYubvdisqEYBWAp3VNSJArmh0gp9arK8/fd5+0S0qyWwAAqJ60b7yy+YFyWv16cs2wYbYVgJfwPgVQmquvvkpqHXuWNP7bUIk/9AjbisqIYNVjMtPSZHpioqwYO9a2AFCdGsXLkNYt5fdly2wLAADVm/aNALyN9ymAkjRsf5hdQ2VGsOpB+Tk55gYAAAAAAADAmwhWPUbHWO02dapZAgAAAAAAAPAmglWPqZuUJAkpKWYJAAAAAAAAwJsIVj0mKz1dlowcKTnTptkWAAAAAAAAAF5DsOoxeRkZZuIqglUAAAAAAADAuwhWPSYuOVmapqYyFAAAAAAAAADgYQSrHqOhapdJk5i8CgAAAAAAAPAwglWPyc/Jke2ZmWYJAAAAAAAAwJsIVj1Gx1ed0batWQIAAAAAAADwJoJVAAAAAAAAAAgRwarHJKWlSd/sbGk9YoRtAQAAAAAAAOA1BKseFJuQYG4AAAAAAAAAvIlg1WOy0tNl3oABsmbiRNsCAAAAAAAAwGsIVj0mLyPDhKvbMzNtCwAAAAAAAACvIVj1mISUFGkzapRZAgAAAAAAAPAmglWP0UBVJ7AiWAUAAAAAAAC8q4ZIgV2FFzAUAAAAAAAAAOB9VKx6DJNXAQAAAAAAAN5HsOoxsQkJ5gYAAAAAAADAuwhWPab1iBHSNzvbjLMKAAAAAAAAwJtqiMTYVQAAAAAAAABAMKhY9ZgVY8fKjLZtzRIAAAAAAACAN9UQKbCr8IL8nBzZnplplgAAAAAAAAC8iYpVj2mamipdJk2S5oMG2RYAAAAAAAAAXkOw6jFxyckmXK2blGRbAAAAAAAAAHgNwarH5EybZsZXzcvIsC0AAAAAAAAAvIZg1WM0WF0ycqRkpafbFgAAAAAAAABeQ7DqMToEQEJKCkMBAAAARNkRf/2bnPvCS3LVtK9k6Pc/mNtFb78rJ6aNlhbJyXLUVVfL6Y8+ZvcWadi8xV77X/reB2YfAAAAQMWsXrGiYOkff0ifPn1sE4BwxcTEyDO9e9l7+5eeDPa+5hppeWQPiTvwQNO2fdMm2bR8uSz/YYb88Pxz5gTxlbPPNNv86Ulj2+P6yebVq2TyP26yrd4wbMZMKSgosPci92XhfzPVL4rHBAAU8ULfqH3i2U89LY0OOsjcz/z6K5n92r9ldUaGCVS7X3SxJB173J5t2vfpYy54402JrVvXtPub9dKLph/1gmj3i6ievPQdVumPIB1OPkWatG+/5z2o32HXzpsr89InyUFH9ZamHTrs+Z6q7+P/G379nv31O+/cd9/hfYqIpN4zxSzT7+5vlkA06edu9/tfsPeKl7dskSx6/mF7LzgdrrpF4tp0sPciN/uOK+yaT1mvWS0cd5/s2LhOkgZeKfGHHm5bK5a+7or63KVi1WPyc3LMDYjEsTfeZE4GO556mrmvJ4Djjj5KXjrlJBOqdjrzLFN54wJXpV9ItUrn8k8+k56XDzFfTAEAqOw0IB3w/L/2hKrf/PNxE8ZoqKp0qfd/efstc985+b775fdpU03/OemaqyRv3Tq7RaTruefZNQDRpO9XrSI/5u83SrOuXWXFzB/M+0/fh1Puv1dqN2ggA5593nxXddqfeJKcNfZJs78LYes2amT2ocIcQGVXs159aXfpDSbQ1Ft8hy52i5h11570t6vMvtF2+B1j7VpwNAzeujJTdm3bKuu/+9y2Vm0Eqx6jE1dNT0yUzLQ02wKERkPVwwf+1Xyx1F/2tSLV/9d6XZ901ZV7nSAqrdZJTGorsXXq2BYAACo/DUjdD4lr586Vn99606wH+vrxx8x2Z938X+XztFFmXcPXz+6+06wrDW0ARFe4P4L0GDRYvh/3TLE/gnQ46WS7BgCV00FnXxxU1WfiEUdJs+NOt/eiJ7Z+nF0LjlbL1m+VZELeA/qcaFurNoJVoArRqlMNVR39Zb84m9es3usEUekX1dcGnmsqAwAAqAq0X9QqNmfRp5/YteLpVR2OBq3+XLijAn+cBBC5cH8EmXzTjXv21fdpxr9fNesqf8cOuwYAlY+GlBqYBqvZcadGdRiAcB069E454s4n99swABWNYNVjWo8YIT1mz5bmgwbZFiB4OraUo9Wq/ieBgXQbJ4YAgKpMr8bwV1JQ4+hVHfpDY1myFi6wawCiIZIfQbRgwJ+reM3fvl1+nDjBrANAdaCX4evYou62ZOIY0+7fpjdHt/u36+O3rV4uvz5+m/x83/WyY+N6u2cR3a5jqOr+ul/uwl/slpKfP/B51n71sWS+8ZxZ1+fJ/nnf4q78rXmy6rNJZrvup/trmxcRrHpMbEKCxBV+saiblGRbgOD5fyHNzlxq10pW3MRVAABUFTrETbS4sRp1UpyvH3/crAOIjmj8CKJDCeiQWJ3POtvcn//+e7L488/MOgBUB1qtqmOtBippnNR2g0aay/ad7WtXSY06vrGqdYzUnLk/mnV/W5b/bipSD/rLJSZ4XfLKE3vCVX1+bQ8U+Dx/5mRJ67MvksTDe5nnyXzz+X1C3CUTx8raaR9Ky5PPlcNufFCyf5lp2ryIYNVjstLTZeHgwWYJhEJnTwUAAOVDx2rUCrivHn1knwo5AJGJxo8gZz/19J55BpSua9AKANVJrUaJdq1IaeOkxtZvYNdEdm3fJnUaHyCtz7zQjJGa0LWH3VKk6VH99izdZFkrPviPWaq6zVratb35P09it97mNdVr2ca2iGxdUVQYphWtOgGW0ufR16QTdWlbcdWt+xvBqsfkZWTImokTzRIAAADh0+rSaNAfL/Xy4oz/vEYFHOBR71033ExspT+AOBqu6jADAICy1WvWyix1bFQdI1UDzdI0aO37UUyrTSO9TP/PnI12TSRn7iy7tq9Nv862a95BsOoxCSkpZpxVHQ4ACMX63xbaNQAAoHRmf3/hXN2hlxcfPXSYCWz08mMA0ReNH0G0klwntnr9/L/tNY9Al9QBdg0AUJoatuI/HNvXR+9qHletqty4rLmL5pn7u7ZvNUsvIVj1GA1W240ZI01TU20LEBydjMr/S2k0x5UDAKAy0pDFv29MOvY4u1Y8DVEDnf7Y42asRj2W0/7Ek+T0R4vuA4hMNH4EcTRgzfj3q/YeAKAi1GqYYNeiq/v9L+x10/FavYZg1WO2Z2aaYQDyc3JsCxA8/xlU9ZLF4k4Q/ZW1HQCAym7Wiy/YNZHmhx9uQtHiaJ844Pl/2Xs+J6aNlibt25vLiYd+/8Oe28n33S+b16yxewGIVDR+BPHnP/lV5jff2DUAQHnQsVbLGjYgFP7HCpzUyosIVj1Gx1f9sXt3WTHWm7Odwdv0S+mm5cvtPTEnfiXRwfyPvfFGew8AgKpJA5Zv/vm4GXdRJ7Xpf+ddpg90wYyOv6j3B778yl5Vblox1/HU0+y9fa2eM8euAYiGcH4EOeqqq82PHWc/9Yy5H0i/FzMuMoDqLtLxT0viLs9vdtzpZhktDTt0sWs63uqPds33d2T98KW95x0Eq0AVowP3r50716w369pV/vbv/+z1xVRPFLXtwM6HydePP25bffSLasMWRbP4NT+iW5kVAQAAeJ2Gqzru4m8ffyRb1q83FaiXpP/PBDIn3XNfYV/XXN6+7NI9VW4atuq4qqUhrAGiK5wfQZp26GCWrXv1kovefnfPRFXnvvCSGWdVvxcDQFWhwWL+1i32nt4vWnfqHtBiz2z9bvu66Xt/Z/EPWv2Psdtv8r+S6Iz9ygWc9VslSZOex5h1tX3tKru297GLe54/c7LMUu3asc2uiRx4zCl7/oa1X02WvGWLzLqGrAlde5h1L4lZvWJFwdI//pA+ffrYJgDhiomJkWd697L39i8NUDucfIoZEqBuo0amTb+oblqxQua/97+9LpFS+mVU9y2O/tr/2sBz7b39a9iMmVJQUGDvRe7Lwv9mql8UjwkAKOKlvrEqina/iOrJS+9TDVJ7X3ONNOvSda/vphqUZi1cYAoDdBxVpfvqFVo6ZIeGsUq/t/7x/Xd7jYu8v/E+rZxS75lilul39zdLIJr0c1fHDA3Wkolj9lSIBmp5ynnS7LhT7T2R3IW/yIoP/mMuo9fgs9UZf5NFzz9st/rocxd3zMBjqZ/vu16SBl5p1t1xNfhs2vt4ObDvSRJbP85s0wA08Hn0eHm/z9/neeI7dCn1ubetXi5rv5ws2b/MNPcTD+8lrc++aM9zlUUnvKqoz12CVSCKOHksfwSrAFC50DeWLwIbRAPv0/LF+7RyIlhFeQo1WEVoKjJYZSgAj9GxVXWMVR1rFQAAAAAAAIA3Eax6TH5OjuRlZMj2zEzbAgAAAAAAAMBrCFY9pmlqqrQbM0YSUlJsCwAAAAAAAACvIVj1mLjkZGk9YgTBKgAAAAAAAOBhBKseo8MA6PiqugQAAAAAAADgTQSrHpOVni4LBw82SwAAAAAAAADeRLDqMXWTksxwALEJCbYFAAAAAAAAgNcQrHpM80GDpMfs2WacVQAAAAAAAADeRLAKAAAAAAAAACEiWPWYzLQ0mZ6YKCvGjrUtAAAAAAAAALyGYNWD8nNyzA0AAAAAAACANxGseoyOsdpt6lSzBAAAAAAAAOBNBKseUzcpSRJSUswSAAAAAAAAgDcRrHpMVnq6LBk5UnKmTbMtAAAAAAAAALyGYNVj8jIyzMRVBKsAAAAAAACAdxGsekxccrI0TU1lKAAAAAAAAADAwwhWPUZD1S6TJjF5FQAAAAAAAOBhBKsek5+TI9szM80SAAAAAAAAgDcRrHqMjq86o21bswQAAAAAAADgTQSrAAAAAAAAABAiglWPSUpLk77Z2dJ6xAjbAgAAAAAAAMBrCFY9KDYhwdwAAAAAAAAAeBPBqsdkpafLvAEDZM3EibYFAAAAAAAAgNcQrHpMXkaGCVe3Z2baFgAAAAAAAABeQ7DqMQkpKdJm1CizBAAAAAAAAOBNBKseo4GqTmBFsAoAAAAAAAB4F8GqxzAUAAAAAAAAAOB9BKsew+RVAAAAAAAAgPcRrHpMbEKCuQEAAAAAAADwLoJVj2k9YoT0zc4246wCKLJgU6688McKaXvwwbYFAIDqTftGAN7G+xRASTYv/tWuoTIjWAXgaXNzcuRfq9fIx9u2yxW33iq/L1tmtwAAUD1p3/j8qtXy0dZt8szYsbYVgJe49+nkLVt5nwLYx9Pjx8ufX78vWW+Mk00LfratqIwIVj1mRWGnO6NtW7MEqrOMjdkybsUq+TJ/t1x3193yW2amDL3+ersVAIDqx79vvKGwb1y0bJkMveEGuxWAF+j79JnlK/e8Txf/8QfvUwD7GHbNNbJs0W+S9vfrpcaPX8i6fz8hOfN+tFtRmRCsekx+To5sz8w0S6A6mrlhgzz5xwqZFVtL7nj4YZm3eLFcfsUVdisAANWP6xtn1oyV2x980PSNg6+80m4F4AX+79M7HnqI9ymAoFw+6DJZNG+uPHrX7VJ33veyZuJjkvPzD3YrKgOCVY9pmpoqXSZNkuaDBtkWoHr4fn2WPJ65TOY3aCgPjRsnP/36q1xw0UV2KwAA1c/3WRvksaW+vvHBp5+W2fPny4WXXGK3AvCC7wq/w/I+BRCpCy44X37N+EnGPfKgxC/9WVb+60HZlPGt3QovI1j1mLjkZBOu1k1Ksi1A1fbtho3y0OLfJbNJU3l6wkT5PiNDUgvfAwAAVFfTtW9cUtg3Nm4iz0z09Y0DzjnHbgXgBd9kbTDv0z8Kv8PyPgUQLXounDHjO5k47ilpumaJLB9/j+T++LXdCi8iWPWYnGnTzPiqeYUdM1CVfVV40njvwkWytnkLmfjWW/LVDz/IaaedZrcCAFD9fKl942+LZF2z5jLxTfpGwIvMd9jC9+l6/Q5b+D79kvcpgHKgnyszvpomb748QVrkrpLMJ++SzTOn2a3wkhpSYNfgCRqsLhk5UrLS020LUHXkFxTItI3ZcvevCyTv4DbyzgcfyGdffy39+/e3ewAAUL1o3zh1g69v3KJ94/uFfeM339A3Ah6i79MpGzaa9+nmgw7mfQqgwujnzNeffSrvv/u2tNm5SZb881bZPOMLKdiVb/fA/kbFqsfoEAAJKSkMBYAqZfuuXfL5xmy5a+6vsqt9B/l4yhT54IsvpG/fvnYPAACqF+0bP9OgxvSN7ekbAQ/a633azvc+/bDwxvsUQEXTz53PP3hPvvj4I+kYu1N+e+wWyfv2E9m9Y7vdA/sLwarH6KRV3aZOZfIqVAl5+fnyaXaO3PnzXKnX9XD55vvv5d3Jk6Vnz552DwAAqhftGz/emL2nb/y6sG/870cf0TcCHmLepxs2yp2/zJU6h3Ux79NJH3/M+xTAfqefQx+++7Z8/83X0rVhLZn/yD8k7+vJkr81z+6Bikaw6jH5OTnmBlRmOX/+KZMLTxrvyPhZEo/sIbN//lle++9/5fDDD7d7AABQvWjf+KHtG5sU9o0Zv/wi/5k0ib4R8BDzPt2w0bxPG+v79Odf5I3//Y/3KQDP0c+l/77+mvwyJ0N6Nk+QXx+6STZPe0925mbbPVBRCFY9Rieump6YKJlpabYFqDyyduyQ9/TL6Ow50vr//k8WLV4sE15/XQ499FC7BwAA1Yt/33jQ//X19Y1vvCEdO3a0ewDY38z7NMt+h+3j+w478c03eZ8C8Dz9nPrPhBdl8eJFcmy7VjLv0Vskb8ok2bFxvd0D5Y1gFUDE1mzbJv8tPGm8f958OfSEE2TVqlXy7MSXJYmxggEA1ZR/39hpT984kb4R8BDzPs3aYN6nHfv3N+/T5155hfcpgEpHP7deGj9OVq5YISd06SCLnholuZ++JdvXr7Z7oLwQrHpM6xEjpMfs2Yyxikphxdat8nbhl9Exi3+XI08/Q1avWSNPPPuctGjRwu4BAED14t839rB941j6RsBT9H361nrf+7T7aaeb9+mTzz/P+xRApaefY+OfGCNrVq+Ws3ofKZkvPCy5H/1Htq1ebvdAtBGsekxsQoLEJSdLXX4lhYdl5m2R/6zLkueWLZfjzhsoa9atk0eeeEIaN25s9wAAoHoprm98mL4R8BTzPl27Xp7N/EOOO/dc8z599KmneJ8CqHL0c23Mww/K+jVrZODxx8iq156STR+8KluW/273QLQQrHpMVnq6LBw82CwBr1m8ebO8um69vLpmrZxx6aWydsMGGf3QQ9KgQQO7BwAA1Yt/33g6fSPgSeZ9utb3Pj3tkktk3caNcs8jj/A+BVDl6efcg/eMlg3r1splZ54iGyZNkJz0CZKX+ZvdA5EiWPWYvIwMWTNxolkCXrFgU65MWLNO3t2YI3+9+hpZnZUlt6WlSWxsrN0DAIDqxb9vHGj7xtvpGwFPMe/T1WvlnQ3Zct6VV5r36R333MP7FEC1o597d99+m2StWSXXXnCebP74Ddn4zvOyefGvdg+Ei2DVYxJSUsw4qzocALC/zc3JkedXrZaPtm6TwSNHyrLVq2XkLbfYrQAAVD+ub5y8ZYtc/ve/m77x7/SNgKeY9+nK1fJh3hYZVPgd9o81a+TG22+3WwGgevvHyBGy+o9l8o8rB8ufX78vWW+Mk9yFP9utCBXBqsdosNpuzBhpmppqW4CKl7ExW55ZvlK+zN8tN9x1tyxatkyG3nCD3QoAQPWjfeO4Fatk2s5dcn1h37j4j+Vy7fXX260AvMD3Pl0pU//Ml+vuvFOWLF8uw0aMsFsBAP6GXXuNLFv0m4waOVxiZn4h6/79hOTM+8luRbAIVj1me2amGQYgPyfHtgAVZ9aGjfLkHytkZs1YueOhh2Te4sUy+Mor7VYAAKqfmRs27Okbby/sG39dskQup28EPEXfp08sW174Pq0ptz3woMz//XcZcvXVdisAoDRDBg+WRb/OlUfvuk3q/fq9rJn4mOT8/IPdirIQrHqMjq/6Y/fusmLsWNsClL/v12fJY0uXybz69eWBp56S2fPny4WXXGK3AgBQ/XyftUEez1wm8xvEyf2ub7z4YrsVgBfod9jH9TtsvQZy/xNPFL5PF8hFl15qtwIAQnHBBRfIvNk/yjMPPyDxS3+WVS88JJtmf2e3oiQEq0A1Nr3wpPHhJUtlaeMm8vSECTJjzs9yzrnn2q0AAFQ/0zdslIeW/C5LExvLUy9NkO8z5si59I2Ap3yzPsv3HbbwffrEiy/KDz//LOf99a92KwAgEgMGDJCMGd/JS08/IU3WLJLl4++V3J++sVsRKGb18hUFS5f/IX369LFNAMIVExMjz/TuZe9511eFJ43XLl5i1vM//1xOOOEEs14dfVn430z1KygwSwBAdFWWvvHrjRtl28XPm/Xr+hZU674R1U9leZ9+mbVBBv2+VOoXfm/LT0+XE/7yF7sFiL7Ue6aYZfrd/c0SqI50mMrpiYmyvVYtuaDJAdKkT39p2DPFbvWu2XdcIQUVdI5PxSpQTeQXfqhM3bBRRs1fIJsPOti2CieOAIBqy/SNG7Mlbf7Cwr6xjW2lbwS8RN+nU9ZvMN9h8w4+WOo3aGDa+/XrZ5YAgPIXV/jZ+97bb8rB27NlyT9vk83ffyEFu/Lt1uqNYNVjdGxVHWNVx1oFomH7rl3y2YaNcve8X2VX+w4y+fMv5MMpvl9fAQCojrRv/CI7x9c3tmsvH37+uXzwxRd2KwAvMN9hs/Q77PzC77Dt7XfYqRIbG2v3AABUpGOOOUa+mPyBfP7Rh9Kh5g5Z9PitkvftJ7J7x3a7R/VEsOoxWmadl5Eh2zMzbQsQnrz8fPl4w0a5a+6vUrdLV/nq2+/kvx99JL16ef8yLwAAyoP2jZ9m55i+sfZhXegbAQ8y32GzNsqdv8yTOocdVvg+/VYmffIJ71MA8Aj9PJ486V359qsvpWvDWrLgsZsl7+vJkr81z+5RvRCsekzT1FRpN2aMJKR4f8wKeFPOn3/Khxuy5c45v0jjI3vITxkZ8np6uhxxxBF2DwAAqhftGydv9PWNCd2P9PWNkybRNwIeou/TD9ZvMO/TxO7dZfacOfLGe+/xPgUAj9LP5/++/prM+ekn6dGskcx/5B+yedp7sjM32+5RPRCsekxccrK0HjGCYBUhy9qxQ97bkC13zJ4jB/3f/8lvixbJxDfflEMPPdTuAQBA9eLrGzeavrG16xvfeIO+EfAQ8z7N2rDX+/Tlt9/mfQoAlYR+Xr8+8SVZ9NtvckzbljL34X9I3pRJsmPjertH1Uaw6jE6DICOr6pLIBhrtm2T/xaeNN4/b74c2r+/rFq1Sp59+WVJSkqyewAAUL1o3zhpY7bcN/dXOfSEE3x940T6RsBLzHfY9VnmfdrxeN932OdffZX3KQBUUvr5PeG58ebz/IQu7WXRU6Nk82dvy/b1a+weVRPBqsdkpafLwsGDzRIozcqtW+Wtwi+jYxb/Lt1PPU1WrV4tTzz3nLRo0cLuAQBA9bJC+8asDfLP3xZL99NOl9Vr1sgTz9I3Al5i3qfrsuSfiwrfp6efYd6nT/7rX7xPAaCK0M/z8U+MldWrVsmZRyVL5gsPyeaP35Btq5fbPaoWglWPqZuUZIYDiE1IsC3A3jLztsjr67NkfOYfcuy558nqtWvl0aeekiZNmtg9AACoXnx94wZ51vaNa9avl0eeeIK+EfAQ8z5dt968T/uec46sKVznOywAVF36+T7m4Ydk3erVcl7K/8mq156STR+8KltXLLV7VA0Eqx7TfNAg6TF7thlnFfC3ePNmeXXtOnl59Ro59eJLZO2GDXLvI49IXFyc3QMAgOrF9I3r1ssra9YW9o0X+/rGhx+mbwQ8xLxP16yTVwq/w55y4UXmfXr/Y4/xPgWAakI/7x+8Z7RkrV0jl515iqx/9wXJSZ8geZmL7B6VG8Eq4HELNuXKhMITxnc2ZMt5V11tvozeMXq01KpVy+4BAED14usb1+3pG9dkZdE3Ah5j3qer18jbWRvl3CuvlDWF32HvvO8+3qcAUE3p5//dt98mG9aukWvOP0c2f/S6ZL/7L9m85Fe7R+VEsOoxmWlpMj0xUVaMHWtbUF3NzcmRf61aI5O3bJVBI0bKH2vWyI233Wa3IhKzP/9MXhhxg9zW7xj55uCDzE3XtU23AQC8yfSNq7Vv3CKDR9q+8dZb7VYAXmDepytXy+S8LXLZDSNk+dq1ctMdd9itAACI3Pz3v8vq5cvkxiGXyY5p70nWG+Mkd+HPdmvlQrDqQfmFX0b0huopY2O2jFuxUqbt3CXDCr+ELv7jDxnG0BBRsX75chlz2aXy/r33yO45s+XoBg2kd7fDzU3Xd83+Ud4bnSaPX3Sh2RcA4A3aN45fscr0jdfdeVdh37hcht5wg90KwAvMd9jlK2Tan/ky9LbbZHHhd6nhhSfOAACUZPjQa+WPJYtk1MjhIjO/kHX/fkJy5v1kt1YOBKseo2Osdps61SxRvczasFGeWLZcfqhZU2574EH5dckSueLqq+1WROq7Sf+VtDNOk7iNG6Rf40Q5NCFBEurUkVqF/9560/VOjRtLStMmErchS9JOP1Wmv/WmfTQAYH/QvvHJP1bIzJqxcttDD5m+8fIrr7RbAXiB731a+B22Rk259f4H5Nfff5crhw61WwEAKNuQwYNl8a9z5dG7bpO6876TtS8/Ljk//2C3ehvBqsfUTUqShJQUs0T18P36LHl86TKZV7+BPPDkk5Ixf4FcdOmldiuiYfq778h7jz4iKS2aS8fYmra1ZJ3q1ZWUli3k/ccfk+nvvG1bAQAV5fusDfLPzD9kXoPCvvHpp2X2/Ply4cUX260AvMB8h/09U+bVqy/3jRkjGQsWyMUUhwAAInDBBRfIrxk/ydMP3S/xv8+RVS88JLkZ39mt3kSw6jFZ6emyZORIyZk2zbagqppe+GX04SVLJbNxE3nqpZdkxpw5cu7AgXYroiUvO1vevO9e6dEoXg6sX9+2lk337ZHQSN68/z5zDABA+ft240Z5+Hdf3/ik9o0Zc+Scc86xWwF4wTfr1stDi3+XpQmJ8sQLL8iMn3+W8/52vt0KAEDkBgwYIBk/fC8vPf2ENF69SJaPv1c2//SN3eotBKsek5eRYSauIlitur7K2iD3/bZY1jZvIS++/rp8NXOmnH7GGXYrou31u++STi1byQF169qW4Gm42qFpU/nPHUwaBgDl6auNG+W+RYtlzYHN5cX/FPaNP/wgp59+ut0KwAu+XLfe9x22WXN5qfA77Nc//ihnnn223QoAQPTp98Efvv5SXp/wgjTPWSnLnh4lm2d5Ky8jWPWYuORkaZqaylAAVcyuggKZmrVB0hb8JrkHHSxv/u9/8vn06XLiiSfaPRCqhYMHy/bMTHuveAu+/14WFZ6cH1Y71raE7vC4BuYYeiwAQPRo3zgtO8fXN7Yu7BvTC/vGb76hbwQ8RN+nX6xbL6PmL5Tcg9uY77BffPednHjSSXYPAADKn34//PrzTyX9zdfl4O3Z8vuY22XLD1OkYNcuu8f+Q7DqMRqqdpk0icmrqogdu3bLZ1kb5K5582Vnu/bywaefyuSpU+XYY4+1eyBcWtU9o21bmTdgQIkB689ffC5JjRMkxt4Phz724Lg4mf3hB74GAEBEtG/8IjtH7v51gew8pJ2vb5wyhb4R8BDzHXZ9ltxd+B12d4eO8uFnn8lHhd+9eJ8CAPYn7Ye+mPyBfPrh+9IuZrssevwW2fLdZ7L7zx12j4pHsOox+Tk5JiTSJSqvLfn58vGGjXLX3HlS+7Au8uX06ZL+ySdy1FFH2T0QLToucUkB69yvvpQDdxfYe+FrUaeOzPt2ur0HAAiH9o2fZueYvrFW58Nk2jffyKSPPqJvBDzEfIddn7XnO+y0wu+wk/gOCwDwGO2XJk96V6Z/OU0Oa1BDFjx6s2z55iPJ35pn96g4MauXryhYuvwP6dOnj23C/pSZlibLRo+WNqNGSVLhOiqXmJgYOeWg1jJl9Rq55Pzz5R933CGdOnWyW73ly8LXqvT/a5XRyieeKPYHCK36bjdmjBlOY0SvHnJq8wOlXmwtuzU8W/N3yieF/03HzpptWwAAwfLvGy+7+GK58ZZbPNs3pt4zxSzT7+5vlkB1oe/Tk1u1lGlr18nFHv8OOz0x0XwH7JudLbEJCbYViD76BMBX/Kefu/p5q5+7XrVgwQJ5+LHH5d+vvCzNjzlZVkz9UAoKIi+yCgbBqscQrFZu+qV02NVXm5PGtm3b2lZvcl9KqyoNV9PGPS0XdzksoqEA1O7C22vzfpUXflvsawAABK0y9Y2cRKO60vfpNZdfLjffeWel+Q5LsIryRp8AVJ5g1Vm6dKk8+vg/ZfwzTxOsVmcu7OKLAspTXkaGuYy+siqpYjUhJcWEqjoRnFasnta8mdSNDX/yKrUtf6d8TMUqAFR5nEQD3kewiopCnwBUvmB1fyBYBVAp6biq/mOq+geqzt2nnCRHFC4PqF/P1xCm9Vu3SUZ+vtz3xVTbAgCoijiJBryPYBUVhT4BIFgNBpNXeYxWEOokPGsmTrQtAEqjgWqP2bOl29Spe4Wqqsuxx8m6mEgHAhBZvWO7dOnzf/YeAAAAAAAAwarnuMuzA2c3B7C30gJVp9uJJ0lmdrZEMrKKPvaPzVuk+5ln+RoAAAAAAAAK1fDFBvAKDYt04ipdAijZoRMmlBioOp2OPlo6HtVb5m7fYVtC90vuZmnfs6c5FgAAAAAAgEPFqsdooJqUlkawCkTJ+ffcK4vWrpV1W7faluDpY37bsEEueuhh2wIAAAAAAOBDsOoxDAUARFdcYqL89Y475afcvJDCVd33p+xNcv6dd5ljAAAAAAAA+KshEvnELogeJq8Coq/vuefJWTfeKFNXrZYF27fb1pLNz8uTqStXyek33CB9zxtoWwEAAAAAAIpQseoxsQkJ5gYguv7vvIEyevLHsqXJATJtfZYs2LhRcnbskJ27dpmbri8sbJu6Zq1sOeBAGf3RJ3LsRRfbRwMAAAAAAOyNYNVjWo8YIX2zs804qwCi64CDDpK///s1OTtttNTo1l2+25wnX/8yV2Zk/GzWYw4/Qv5y731y43/eMPsCAAAAAACUhGAVQLXT/cST5Monn5KHvp4u5yQdIqc2aWrWr3x6nNkGAAAAAABQFoJVj1kxdqzMaNvWLAGUr5xp08zNTRoHAAAAAAAQLIJVj8nPyZHtmZlmCaB8LRs92q7tvQ4AAAAAAFAWglWPaZqaKl0mTZLmgwbZFgDlwVWrOlStAgAAAACAUNQQKbCr8IK45GQTrtZNSrItAMpDcRWqVK0CAAAAAIBgUbHqMVpBp+OravUcgPIRWK3qULUKAAAAAACCRbDqMRr2LBk5knAHKEelVaZStQoAAAAAAIJBsOoxOgRAQkoKQwEA5USrUnWCOH2PFXfTieOKq2YFAAAAAADwR7DqMTppVbepU5m8CignOo5x76VL99zajRljbv5t+uMGAAAAAABAaQhWPUar5fQGoGLMGzDA3AAAAAAAAEJBsOoxOnHV9MREyUxLsy0AylNsQoK5AQAAAAAAhIJgFUC11jc729wAAAAAAABCQbDqMa1HjJAes2czxioAAAAAAADgYQSrHqOXJOvkOjo7OYDyN6NtW3MDAAAAAAAIBcGqx2Slp8vCwYPNEkD5256ZaW4AAAAAAAChIFj1mLyMDFkzcaJZAih/XSZNMjcAAAAAAIBQEKx6TEJKihlnVYcDAFD+mqammhsAAAAAAEAoCFY9RoPVdmPGEPQAFWTF2LHmBgAAAAAAEAqCVY/RsR51GID8nBzbAqA8LRk50twAAAAAAABCQbDqMTq+6o/du1NBB1QQrRLXGwAAAAAAQCgIVgFUa92mTjU3AAAAAACAUBCsekxSWpr0KygwSwDlT4fdYOgNAAAAAAAQKoJVANXa9MREcwMAAAAAAAgFwarH6NiqOsaqjrUKAAAAAAAAwJsIVj1GL0nOy8iQ7ZmZtgVAeeoxe7a5AQAAAAAAhIJg1WOapqZKuzFjmKUcqCBxycnmBgAAAAAAEAqCVY/RgKf1iBEEq0AFWTh4sLkBAAAAAACEgmDVY3QYAB1fVZcAyp++3xjTGAAAAAAAhIpg1WOy0tNN9ZwuAZQ/rRDXGwAAAAAAQCgIVj2mblKSGQ4gNiHBtgAoTzqmsd4AAAAAAABCQbDqMc0HDTIzlFNBB1QMHXaDoTcAAAAAAECoCFYBVGs/du9ubgAAAAAAAKEgWPWYzLQ0mZ6YKCvGjrUtAAAAAAAAALyGYNWD8nNyzA1A+etXUGBuAAAAAAAAoSBY9RgdY7Xb1KlmCQAAAAAo4ib5pRAFAOAFBKseUzcpSRJSUswSQPljjFX8P3vvASBZVab9P7dy7K4OkzMzwOAwzICkIQtIRkBRZEGFVTEtK6j/NbAK+n2gu58Kyuq6uizoigooQaJIlCxpCMPk2JM7d+V4/+c5996ZmpoKPT2pe+b9Dafr3nNPrjqHuk+99z2CIAiCIAiCIAiCMBREWB1mdN1/P5Zfey36nnnGjhEEYXeSmD9fB0EQBEEQBEEQBEEQhB1BhNVhBgUeblwlwqog7Bmm33yzDoIgCIIgCIIgCIIgCDuCCKvDjMjcuWi/8EJxBSAIe4iJ11yjgyAIgiAIgiAIgiAIwo4gwuowg6LqrPvuk82rBGEPsfGOO3QQBEEQBEEQBEEQBEHYEURYHWZwd8vMqlWyy6Ug7CEWX3mlDoIgCIIgCIIgCIIgCDuCCKvDDPpXfWXaNP0qCMLuh+43GARBEARBEARBEARBEHYEEVYFQdivef+bb+ogCIIgCIIgCIIgCIKwI4iwOsyYesMNOL63VzbTEQRBEARBEARBEARBEIRhjAirwxBPLKaDIAi7nxdaWnQQBEEQBEEQBEEQBEHYEURYHWZ03X8/Flx0kexSLgh7CG4UJ5vFCYIgCIIgCIIgCIKwo4iwOsxIzJ+vxdXMqlV2jCAIu5M5Tz+tgyAIgiAIgiAIgiAIwo4gwuowI3bKKZhy/fX6VRCE3Q/nmsw3QRAEYSRjGIaEfSQIwkii2md4XwoPXH+aDtWu7UtBEISdw9jQ0WGu7OjAvHnz7ChBEIT9h+XXXqtfp998s34VBEEQ9l8u/N5T+vX+75yqX0cKvDHeGBd/4SOdsdFemKZpnwm1eGXaNP103zErVyIwdaodK+wNZO0Z+ci6IzSCbvO4Jwn3AeJG68L2iMXqMENcAQjCnmXtLbfoIAiCIAiCIAiCIAiCsCOIsDrMkM2rBGHP0n7hhToIgiAIgiAIww9aS731gQ9sCc6mo7xncuL6nnlGxwmCIAjCnkaE1WEGzasZBEHYM8y67z4dBEEQBEEQhOGHc39E8ZTBEVb5pB/P+aRfZO5cHScIgiAIexoRVocZE6+5RvutmHrDDXaMIAi7E34ZF9cbgiAIgiAIw5d6vvAnfPnLYpgiCIIg7DVEWBUEYb+GGyAwCIIgCIIgCMMTblJVzXUT48decYV9JgiCIAh7HhFWhxncRIcij2ymIwiCIAiCIAiCYFHNalWsVQVBEIS9jQirwwz6DOJjyY7vIEEQdi90vcEgCIIgCIIgDF8qrVbFWlUQBEEYDoiwOszglwVupCNfEgRhz+BsiCAIgiAIgiAMb8qtVsVaVRAEQRgOiLA6zOCOlhRX+QusIAi7nwUXXaSDIAiCIAiCMLxxrFbFWlUQBEEYLoiwOszoe+YZ7V81MX++HSMIwu6k6/77dRAEQRAEQRCGP7RaFWtVQRAEYbggwuowg8Lq8muvFaFHEPYQU66/XgdBEARBEARhePL7Nzbjkl+/hyk3vIS2n3XgiOUH6eNLfr1AXxMEQRCEvYUIq8MMPtYSO+UUcQUgCHuIqTfcoIMgCIIg7Ku8+FzBPqpNozS//FnWPqpOf7+Jd98u2mfVefShvH1UnUZtGEwdjcq4686cfVSdXVHHruiHYPFaRxzH/Ph1fPfBZViydBMONNP4QKSAo9uD+njJ0k59jWmYVhheDGa+dawp2WfV2RPrRqM27OyawPJ3to5GY8n8jepo1E5BEIaGCKvDDPoKmvP00+IzSBD2EOIKQBAEQdjX+dXPM3XFCV5jmno89nCu7k07b9jrlUFx40ffT9tn1WEd9W78B1PHlz+ftM+q89hDO9cP8p1vpOyj6tx1Z7auCDKYOgTge4+twnE/eRO+VBozjQym+ExE3IDHMHXg8RRfSV/zqjRMe/0jK+3cwnCg0Xy767e5hnP6O1+vP9+Yf2fmG+s4/bgB+6w6V16aqNuPRm149ME8fnhT7fWPbfjIOfV/GGg0lrzOemoxmHVeEIShIcLqMKPQ16eDIAh7Btm8ShAEQdgXqHfDTUsm3nTXYsHbhbqCJvMvUKHeTfvdd2ZVHbWvs3yWU68elk9RshaDqYPjUGssKF5QXLjrt0Ovg31gqCeiLHiH/axdxkvP5+vWIQA3/XUN/t9THTg5UkBbqfZYO7SrNEz7o2fW6rzCnqPefOOcrCco8scUiqu14LUBVU6t+cY6WH+9+cY5XW/dceqv1Q/Od7ah1vrHNlh9rd0G9rPenG/UBsZz7ao/lvWFU647HAe2VRCEXYsIq8MMblz1QksLVsmjyYKwR+DGB7L5gSAIgjDSqSUW8mb87PO9dYUF3pCfdZ63pnjBvJdc7qt50+4ICyyjljBAYfeSy3w1hVO287gTPTXbOZg6KKDoOmqMBcWLq77kV/2ofp3ls+xG/fjaNwM1RRSnHxRXa8E+1uvrvkoyM7j+8pH+Gx5bhWNDeYR34G6VaeepPDf8ZZW4BdhJBvtekVpiH+fbZ7/or/k55xxrbjbqzjeKgbf8IlxzvrHss8711pxvzrrBNZBzsxoUPb/6zWDNdYNz/nv/FtLpqsE2HHqYu2YbKMw6/aw1Fk4baq2xFHWtdad6ftYxabJLt6PaWHIMmJfruPyoIwi7HhFWBUHYrzm+t1cHQRAEQRiOvLuqF0/N32Cf1aaWWEhhYt4J3ppCnnND/tkv1hYLedPP65OmuKretDvCwlnn1RY1KTpQnKglDNBqlvnZzqHU4YiirKPeWLAftYQc1sH6WUctgYMi9Ge/FKgporAfznhXE3IYx/H+2GX+uta5+yIU6y783lO47fGldkx1rvr9Ihzd4tohUdWBeY5sMlQZi+0YYSis3BjHZf/+Nzz4cocdU5tac4Hz7ZLL/TXXHoqFs2Zbc7qaOLtFFFXztVYd/DHFWTeq/TBEcfe4E9ScPpeC4vbXuQ5Q9LR+OKo+H50fnjpWV7eG121Q5ddqA/vONUGvXVXmfHkbalnFcg12xrJaG9g3rimso1oZztpG8bbaOAiCsHOIsDrMmHjNNXj/m2+Kj1VBEIR9gHVXh5F+8177TBAEYcehGPXTPy/UIkc9gXUwYmG1m3rnhryWxRWFDT4GSzHwEpWu2k17ubBQTZxwrDgpHtQUBh620rCd1UTNRnU4/axlAeeINOzHcSd6q/ajXIR2Hs0txxGhnX5UE1GcfrCcagIGhVeON9NUE5v2ByjW1RJYucN/IpnTj/YPldHIqzKyuixh6HDt4XvUSAyv9lnm/HPmW821xxYLawmnjihKqs03Z05z7eIPJtXmW7m4W60OR9yttW6Ur11f+1Zwu3XDaQPT1BIt2QZazNbqZ3kbWE5lGxyLV2csq4nQW9dPb1Vf1s76yXJYHtssCMKuQ4TVYQYfSY7MnYvA1Kl2jCAIu5NXpk3TQRB2F31/uBrJ535lnwmCIAyNRgJrNbGQYke5EFhNyHNuyAlfK8ULiht81Jbwpv3u320rkPAGnUIA87KeauKEY8VJqgkD2wmWFaLmYOqgcODUUWssHJGmlvig09SpwxGhCUWKSgvf8n5QRKk33k5fK+vYn6gmsP7h9Y2IlrYXvXeUJjOvytpknwk7Sz0xnHOhUjjl/HPmWzVBsVwsJJwLlfPFEV5JNYv68jnNcirnkiN6ltdRub6V11HtRx3nxxZSbf0rbwP7U9kG9pOUt6HSkr2yDZXrI+tw2lBrLJ11h6Fy7SpfPwndpYg7AEHYtRgbOjrMlR0dmDdvnh0l7E24O3n3Aw+g7YIL0H7hhXasIAi7i2cNQ7+ebMovt8Kuhxar7R/7Ifqe+ClCR1+K6Lnfsa8IgjAcoXBAPn3Ggfp1OLByc6KqkBoOeHQ7T507Dob6f9nitTEcPatfvzrwBn3WYR59M064Yz6trpybfN6QU2C8/fcRfc4bfoqHP/lFWJ8T7obNx+udPEepOu59NLrlnHkoPnzvByF9TuGiv88EfZk6nH78AP70SFTf9PMmf0fbOdg6nnihSR9Xq4P9oDjjiAuV/WIdFGedsWjUD+fcqZNU6wetfJ06q413eb8+9+M/6te9CT9Xu5N6vjvPP3YSbnihEwcjo3f83xkSRXVfZXjx4wtn2DEW9ep3SGQai06p3PaWh9UYTH17Mg1JDqJ/LKteeXyvuP5w7dkYb9luLnz4nLheR5z59Z1vpLQ46MwNzpWmZteW+VW59lAI/M7XU1vmCqmso3IOs45Zsz1aOCS//FkWA/0lvZYQlsl6nToq5yPXjdOPG8CrC5r1OWlUZ+W6UtmGyjWBIilF6FptIFxjy9swmLEsr6Ny7apcZ9jPa9Ta5NQ5NtoLU+6DhDpwc3XuA0QjQHGhVx0RVocZ3LRq9Xe/iynXX4+psoGVIOx2+GMGkR8yhN0BhdWxX7gHxWQv+p68Ff5px6D5kp/YVwVBGG44wupIYnQsgDu+fiY6Or3b3YBXCoG8wab1qCM0VN6Qk3IhgTfgFA7uVWU4UKwgzk175U1+pahZTTioFE4r20lhoGN1cUs7G9VRKRyQ8rGo1o9K8aFyLAbTD7bLcU9Aqo13uVjUqI7hIKzuTQ6d2oL/XjCAI0MleIydE3oKprHTZQjVofjOH3TOP3oSxrQEtbBaLihWmyuVgmKlQEnK155KUZSU11FtTjOuXDBsVAfnY7m4S8rXpmrrSvm6MZg2cB3isbMmkMG0wflBZjBjWbnuVK4rbGO5+EvKfyATYVVohAirjRFhdZjR98wz2mK1+eSTRegRBEEY4TjCqqZUQN+T/wEjMgqtn77TihMEYVjBDVueenujfTY82NyXwSuLOu2zrVDcOO/oiTht7vgt4kb5TX+1G/LKG+5KIZaUi4WVAiepFA4qb+pJuaBRTbwtL3cw7RxqHc5YVBNIWEe5dVq1OspFlmp1lAuntfqxI3UMB4FjsFaPQ2FzXxrX/vJV+2wrFFQ/fcYMTBsbRej/+xtOixbhxs4Lq5uLBi4/cowdYzEYi9yQr7G5bCSw9XNQj8HUtyfTkPAg2s618Pt3v2OfWbB8R1DlDzrEsVjl55+P0XMuVP744sDPPwXFanOFlP+AUm1tKl97qgmvxJlj9AvNuVUuepJycbaa8Fo+p6sJkuVzmmnLf6hyoGj5xItNerOrWv0cbBuqrTvEGctqaxtx1pUmtdawjspxKH+PRFgVGiHCamNEWBUEYb9m7S236FduHCcIu5pthFWb/r/9N0r5NNquugeGf9sv24IgCJVQVC0XOChuOIJqpbjBm/6PnBPXN9y1bsidG26KjtVu+iuFBW7Iws1hynGEA1pOlT8+71AualYTE9lORzht1E6KMOVWnw6DqcMZi2oCCXGstmqNRXkd1YQe4jy2O9TxLheZ93WBgz8SXPXTF+2zbQVVh0nXv4SDkd4lrgAWI4CO7x5nxwg7wrurevGvv3lTH1cTVB2ctYc4Yl+tueIIivy8V5srjjjLuVptrhBnrlNgrRQkiVMH51s14dURZ7muNaqjmiBJnDlNVwXV1keuBZOmuHe6n4MZywXvWP5XK+tw1hXWX0385Tg4/RNhVWiECKuN2XaGCnudzKpVSMyfrz+8giDsfpZfe60OgrCnaD7pM/A0jUbXzaeh2L3KjhUEQagPxY1LTpqKm686GpeecsB2AgehsEhBgb4EyzelKsfZ2IliJW/IK+ENOgVT3ngzVIoGhDtcc/MTZ4f7Srh5CoUDCggUBMoFT8JzZ4OVF58vVK3DaSfr4IYulQymDo4Fr5dv3FIOxQZnLBr1g+VVihuE5dYbb7b9rt9mG9Sx7YY4+zoUVG++6ij8308evo2oSg6fEEF3cdv3cih0F126LGHocM05ZuYo/T7Rn2q1Naccfv4p+NWaKx/7B79aW/J6zlebK1wHuDFTrbWJMB83t+Ocq1aHszN/+YZQ5bBter7WmI+EdVDwrLYuEa5NnNO11sfPfilgt6H6mlDez3ptoEDbcCzVWl0pqhJnXeEPX2xvJXocVpf0WAiCsPOIsDrM2HjHHXj98MO3WNEJgrB7iZ1yig6CsCeJHnUJ/FOPROctZyC3+nU7VhAEYXsGI6iWQysobTFVRWwkvOGmaEBxgwJpNRzxwtntupKt4kV14UCLAVNcWpSsLRx46woHTjt3pg6OBYWeavkJ66AA06gO7gReS+ihcEoLtlrjzXIpcNQSkJmH7dgfBA5+lmsJqg6XHjkG/Ub1sd4R+g2PKmusfSbsKKNjQf0+ffNjs2u+V5VwvnHdqDUf+fmnEMjPfLW5QjhfaG1Za23i2sM5fda51a+z3Ho/hBCnjprrwrk+/ag8X6vB+frD72dqro9OG2qtCWQwbeC60Wgsa+VnvWwnxd9aaZwflgRB2HlEWBUEYb9mztNP6yAIe5rwYecicsRF6L71HGTe+4sdKwiCsC207huMoOpwyeU+fcNe64acN9y80a4nPFAstATJ+uJFPeGAm6/QqrWmcKBu+tnOataohOXOOsy9U3VwLCg+1BJFWS6tthrVQZGlngjNOuqNN/vK11rj7Vjn7utQWG0k0l16xGhEI35sKFV/TwfDuqIbTaoMliUMDa43gxVUHfj55g8R1X5AcOA8qjVXCMVZ5q81V5x5VM0a1YFl1JrzxHl8v9ac55ymFWitdYX56B+1URsG0896beBY1moD4VjWEn8J19Za4i/R61Ksev2CIOwYIqwOM6becANONk39KgjC7oduN8T1hrC3CB58MppP/RJ6fvlxJF/+rR0rCIIwdHijzhv2euIGb7hnza59nTfzzN/opr6ecMCbduavJRwwvp54QShq7mwd7Ee1R2UdKJA0qoP56wk9LKPeeFM4rSUgExE4tuW2f5iJN+NAcghGvMzzVsLAf6syhD0PN1GqNVcIBcV6c555KXzWgz5J69XBH1Rq/RBCOGcb1UH/rfVgPxq1YWf7ybGstbaRRmPJa/XEX2ftEgRh55HNqwRB2K951rC+sPAHDUHY1VTbvKoa+U2L0ffETxH5wNWInP4VO1YQBGFwlG8gQ2hNWk/o4+Oh3DW7njDQqAw+us4dp+vd+A+mjHptYDvJztTBMurlH8xY0LK2ngAxmH40qoPIJjJb+b+Pr8b3VTguUkC4/rBtgaLqi0kPvnH6FHz7zCl2rLA7qVx7hJGHrDtCI2TzqsYM8n9Twp6CvlXpY5W+VgVBEIT9A++YgxE75zqkXvo1Bu7/lh0rCIIwNOoJjYRCYyORr1EZzF9PsCSDKaMeLH9n62iUfzBj0ciqazD9aJRG2JZ/PWMKvnzyBDwb9+hH+xuxNu/Saf/5pAkiqgqCIAh7FPk//DCDvwYk5s9HZpXsFC0Ie4L3v/mmDoKwt/G2jEfLudcht/Rv6Lvz83asIAiCIOyf3HT+dLx4zeEwo2G8lfNiVdaFRFHdL5mGDjxelTX0NTRHdNrvqzyCIAiCsCcRYXWY0X7hhZh+882yS7kg7CEic+fqIAjDAVcggpZzv4Vibwe6/+tiQB7NEgRBEPZjjpwUxWtfOxI3ffhgTJ3WisUI4Mm4WwceT53Wrq8xDdMKgiAIwp5GfKwKgrBfs/jKK/Xrwbffrl8FYVcyWB+r1Yi/+Bvk45vR+tm74Y6027GCIAjbI34O9w3E16Ew0pC1Z+Qj647QCPGx2hixWB1m0A0A/avyVRCE3Q/nm/g0FoYj0eM+CW/7NHTf8kEUNi2xYwVBEARBEARBEIThggirw4yu++/XFnR8FQRh9zPxmmt0EIThSPT9H0Hw4JPQ9ZMzkFv+oh0rCIKwY7z4XME+qk2jNL/8WdY+qg53vucO/fV49KG8fVSdRm0YTB2NyuAO//XYFXXsin4Iwr7AYOZCx5qSfVadPbFuNGrDzq4Jg+lno+uN1i62sVEZjdopCMLQEGF1mBGYOlX7e6SZtSAIux/6NGYQhOFKaNaZiB5zGTp/ejbS8+VHN0EQdpxf/TxTV5zgNaapx2MP5+retPOGvV4ZFBZ+9P20fVYd1lHvxn8wdXz580n7rDqPPbRz/SDf+UbKPqrOXXdm64ogg6lDEPYF+DmvN9/u+m1Ohdo/2nBOf+fr9ecb69jZdePDZ8fts+pceWlCp6sF1656a+xg+tmoDY3WLl5/9MHabaDwyrVJEIRdjwirw4yxV1yhdygXCzpB2DPQ7Ya43hCGO4EDj0fLOd9A72+vQuqF2+xYQRCErdS74eYNNW+6a7Hg7UJdYYL5F6hQ76b9bnXD/lgdYYHls5x69bD8ejf+g6mD41BrLCheUPyoJ3A0qoN9sASKOuP5DvtZu4yXns/XrUMQRhL15hvnZL35xrnwq5/Xvs78A6oczrlaWPNx59YN1lGrHyyf1+qVwbWr3ho72H42Gst6azDXHdZTC7ZP1h1B2D2IsCoIwn7N64cfroMgDHf8k+ag7fzvIP6Xf8PAo9+3YwVBECxqiRcUEs8+36tvymvx2MN5nHWet6ZYyLyXXO6rafXFm34GllFLGOBN/SWX+WoKIGzncSd6arZzMHVQQNF11BgLWo1d9SV/TYGD5bPsRv342jcDqp3VBQqnHxQ5asE+1uurIIwkaol9W9eN2vNtUHO6ztrTaH3bkTpq9YNz/ie/COvXalB4PfQw925tgzOWtaz+HeGZr6yrGs46zzETBGHXIsLqMGPVDTfoHdfW3nKLHSMIgiAIFp5RB6Dl3OuQefNP6P/jV+1YQRAEPg5bXbygBdO8E7w1hTzeiE+a7MJnv1hbLORjrrw+aYqrqjDAciksnHVebVGTQuP3/i1UU3yg1Szzs51DqYNiAvOxjnpjwX7UEjhYB+tnHbWEHIoTn/1SoKZwyn44411NwGAcx/tjl/nrWtkJwkihlthHsfCsc33159sJHjVXvFUFRUeQ/Oo3gzXXjfL1bajrhlPH3b+rvXbVKp9QcOV8rteGwfaz1rrDsfzYP/jrjiXHgT8sVbNKddZ5jkMtgVgQhKEjwuowpNDXp4MgCLufk01TB0EYjvTFk3j21Xfw6/ufwKp1m3ScOzoKLed+E7k1b6Dv11fqOEEQhMGIhdWEPEcUoPhQTSzkDT8fUeVN+SUqXTVhwBFQWE81UdOx4mxuNmqKDxQsnXZWExca1eH0k3VUGwtHvGA/agkc5SINrVsrccQJpx/VLHydfrCcagIGhVdHhGGbBWGkw89yrfnGa7XmG+c0r3G+VpvznB9cl+qtG+XrW7UyOAedOV1r3XDq6O/b/lF8xxLUWjfqz/m6a5e6xn5WE6HL21DtxytnLJmm1ljyxy9a7vJHn2rrjrPOn63aUM+aXhCEoSHC6jCDPlbnPP20fhUEQRD2bz593c047Ypv6NcZZ/yjFlmJyxtE61n/H8xUD7p/9iGY+eoWDoIg7D9Uu+HmDXu5EMjzShxRgFQTDigwnnWuVx9TGKi06uINP4UA5mU91URNx4qTUGD44U3bigvbCZYVouZg6qB44dRRayxoNUbqCRz16nDECUKRt9LCt7wfFDDqjbfT18o6BGGkwTldbb5RCCScS5WCoyMWOnOhmqBYPqdZR6XFaaN1g1BE5FysNaedH2wIrdmr9cNpAy1G6815tqEyv9PPegJxeRuq/XjVaCxZnvPjF+vgOess58XnrbWN8LXa2iQIwtARYXWYEZg6FbFTTtGvgiDsfip9rG684w4dHKvxxPz5+pyvhPFOGoeu++/fJk1m1Sp9zngHJ09luX3PPKPPiZPGgdd4XllueRqnbl4j9cqVPu35Pk38jxQ8s84dcnjgyZfw5U9egD/99F8Ri4bxm/uf0HU4NJ38ObiDzei65XQU+9bZsYIg7I9UEwspAjhCYLWb+nJRgFBAqBQOaMV5yeVby6i06uINunPDTqqJmpXibeWjquWCJeuoFEAGUwfTU0Ah1caC4gXzkWpj4Tyi74zFYPpRaflV3g/CNOUCRuV417JwE4SRBOdb5Q8u5aIoP++Vwmm5WEiqCYrlc5pzqdLitNG64VjKO1TO6XJxl9CHKde7chxLUML21pvz1daVyn5WitCVbWAfWGc55cJrtbFkec6PX4Rlla+xXHeYj4HwfdmX3ZCsuzqM9Jv32meCsGcQYXWYwRv85ddeu81NvCAIu4/E/PlbRDSy+MordWA82fTrX+vzdT/5iT5nWieNk4/XeO4IdMzLc85lh9Xf/a6Oc+Y20/Kc8aS8XEdQdOrmK2G8k8ahstxqdTt5pE97r087w7e/eBkuOG0ePnXR6VpopXuAcqLHXgrf+Fno+skZyK+zLFoFQdj/4E3zLHUDX37DXS4Ekkqrr0ohsPIxUeemn2KgQ6VVl/P4vEOlqFkpJvK1UgCpbCcFkPJ2NqqjUkCpHItK8YJUChzOI/oOjfpBWF65cFp1vMsEjGrCazUrO0EYSXBONKlQPqd57IiipFI4LRcLSaWgWG1OD2bdqJzT9daNStGTdXCec60grMuxBHVgfWybQ7klKKlcY6v1s1yErtaGjtWlumtX5ViW//hFuEZzrXHgMdvlwLLK1619kb4/XI3kc7+yzwRh9yPC6jAjoW70uXGVc1MvCMLu5eDbb0f7hRfaZ5Y7DgZPLKbPw3Pm6HO+EsY7aRzaLrhAn0fmztXntDjneXm5Yz71KR3nlMu0PG8++WR9TnjO4MBrPHfqdsotT+PU7Vi5O+XS8t3BySN92vN9WvtPIRQWPDykcNuNluDbN5DQr6vWbcaUCWO05WolkcMvQOjQs9B1yxnILpb/fwjC/kr5DXctIbDc6ouiQPlNPSm/6abVk/P4vEOlVRfTlt/0sz6eO8JApZhIyoXTau2k+LBNOxvUUSmgkPKxqBQviFXHVmvRSpGGdZQLOdX6UW75NRThtbIOQRiplM+3SlGU8HNeLpzyM185F8oFxWpzulw4rbVulAun1eZb+Q8ulT/YkPLNn1hXuSUoYXpHtGQbWGZ5G1ifs3ZREK3Wz3Kr/1ptaLR2OWuwI7yWi788dsonleIv28Dz8jT7Gq3n/SsST/wY8Ye/Z8cIwu7F2NDRYa7s6MC8efPsKGFvQusoWj05AoAgCIIwcuHjSGO/cI99tmPQMrX92I/p4zkzD8Bbi1bgO1/8B3znS5fpuGpkVryMvsdvRusnf4XgkR+3YwVB2NcxDAMb4y36Bvsj58TxxAtN2o/prMM821iNkS9/PomvfSuob+4pQtz++4h9xYKiCIWDn/wijCsvTeidqitv7I+a1Y8nXmzSN/20yKosg35aWf5VX/Lj9OMH8KdHotuID2zn0aqMxWtjDdtJ8cJpTzmDqcMZC/aDVlzl4gJhP+59NFpzLMrr+LAqi20oFzAIy3h1QfOQx5t1dKwu6jRjo70wZUNNYQRRvvZcoz7r/HzXmgvOfOOcpjD4vR+E7CsWzNfU7Nol68Zg5jTr4PpQTnk/uG58799C2815J98vf5ZFc8zQQmg55WtXtX4yHxlMG77zjZQWXuuNJUVo1lcO882a7VHBXXOdd/Lta+uO8927mOxF35O3wj/tGDRfYj3RJgwNPrH3QkuLNjw5vrfXjhXKEYvVYQYtp2bdd5+IqoIgCPs5tEx98o4faFF19bpN2h3AP39yq3VtNQIHHIvWD30Hffd8DYln/sOOFQRhf6HcGqrSWsvBsfqiWFlpKUV4A0/BlDf3DJWiKqHPQVp18ca80oqT0KKK1qC86a+0KiM8dyw1q1nNEqedrKP8MVaHwdTBseB11lNtLCgqOGPRqB8sr1JgIY7lV63xdh4Nrl/HVutcQRiJcH44c63WXHAsMatZaRLuaM9r9ea0Y3FaaYXpUL6+1ZpvtJytZlVLWAfLd9a/anOeYiXXSJbTqA3V+ulY/Q+mDayn3lhqVwPV1sdzrc31mJ/trYRl7uvrjjvcgrbzvoXCxoXoua22UYIg7ApEWB1m8NcA+udzfAIKgiAI+y8nHzUbr//pVnS9fPeWDawaQX+rred/G8ln/xPxhyzfsIIg7D/QMpPWXNWECUJhgRZMFCacTVkq4U03fX9WugFwoBUrRYNaAgrr5QYrFCWriRuE4gPbqdNWES+cdu5MHRwLWm5Vy08ckaVRHfSJWE0gIRQ1aKFWa7xZLgWMWgIy87AdFFIEYSRDsa/e2uMIp7XEQuahqMr5VmtO0+WAs25Uq4NziWtCvTlNlwO1RE/CfLQYrbX+cc5zXWFZtdYutoH+qistTYnTz1oCM2EbvvN1Wp26q/aTY8m1q9aPX8zP+llHuf9VB5a5X6w7Lg9iH7wGyKfRdevZMLOWey1B2NWIsDrMoH/VV6ZN06+CIAiCMBQ8rZPQeu51yCx4DL1/uNqOFQRhf4DWUHzctZYwwRtq3nTXEgWIIxxQ/KyGIwzUElAIBRDto7WKuEF4U892VrO2IiyX1mk7UwfHgiJOLfGC5VJkaVQHH92tJ0Kzjnrjzb7ytdZ4OxZugjCSodjXaO1ptG5wnukfdXZi3eCPIfXqsDZ3qr1u8DqtSWvVwXxcN6pZghKnDbXKJxSh6/WTP1416ifbUEv8Jbqda6z1rRr707rTfNJn4Gkaja6bT0Ox29p8VhB2JSKsCoIgCMI+iCsUQ8u530Rp8xL0/PeldqwgCPs6vOGmBVM1KyYH3qzXEgUIb8iZv54wQAGkloBCKIAwfy1xg/G05qpXB0XNna2D/ahmNeZAgaNRHcxfS5xgHSyj3nhTwKglkBAtvMaq90EQRgrOfNuZdYOCYqM5zbm4M+sGf3CpVwfL55yvNaeZj3O2miWoA9tQ6wcdQhF6MGtXo7Gs9eMXYf2Vm2+Vs7+tO9GjLoF/6pHovOUM5Fa/bscKwq5BNq8ahjhuAJxdqQVBEISRyc5sXrUr6X/uNpTSCbR97h4YwW03SRAEYeTjbCDjQKuwekIfHx8dqOE/0KFRGbSEalI3/7WEATKYMuq1ge0kO1MHy6iXfzBjQcsxiqe1GEw/GtVBZPMqYaRRufbUeszfYVfM6T21vtXLvyfWrkZjORjYjnptIPvq5lW1SC9+FvEX7kDLP/4GgfedaccK9ZDNqxojwqogCIIg7CaGi7BK4q/ehey699B21V3wtB9gxwqCsC9QKW4IIxMRVoWRhqw9I5/9TVgl2VWvoe/xm9H88VsRPvZyO1aohQirjan/s6mwx+m6/34suOgibLzjDjtGEARBEHYePgIVmn4sum45E7lVr9qxgiAIgiAIgrD/QJcArRd8B/EHv43EEz+2YwVh6IiwOsxIzJ+vxdXMKnGqLAiCIOxaQrPPRuT9H0bXrecg8+5jdqwgCIIgCIIg7D94xxyM2DnXIfXSrzFw/7fsWEEYGiKsDjNip5yCKddfr18FQRAEYVcTPPhkxE7/Z/TcdhlSL//GjhUEQRAEQRCE/Qdvy3i0nHsdckv/hr47P2/HCsKOI8LqMIOC6tQbbhBhVRAEQdht+Ke8H60f+jb6H7wBib/+yI4VBEEQBEEQhP0HVyCClnO/hWJvB7r/62JA/FwLQ0CE1WGGuAIQBEEQ9gTeMQeh9bzrkHzlf+URKEEQBEEQBGG/JXbql+B2e9B5y2koJrrsWEEYHCKsDjNk8ypBEARhT+FpHofWc69Ddtnz6PvtVXasIAiCIAw/Fr38Mu7+/k34zhmn4dqj3o/PHDRDv/Kc8bwuCIIwVKLHfRLe9mnovuWDKGxaYscKQmNEWB1meGIxHQRBEARhT+Dyh9F6zjdQ6l+Prl98GGapaF8RBEEQhL1PorcX//O1r+J//vmfsOnRR3CY4cIZY0fjslnvw5nqleeM/5+r/wn/fe01Or0wPHjxuYJ9VJ3+fhMda0r2WXUefShvH1VnMHW8+3b97zaN2tAo/67oZ6Prd92Zs4+qwzY2KqNROwUg+v6PIHjwSej6yRnILX/RjhWE+oiwOsyYeM01OF59GaCfVUEQBEHYUzR/4Itwe3z6V/pSotOOFQRhX2AwN9ON0vzyZ1n7qDoUDhqVsScEkkZ1NBInBlNHo3YOph+N0ggWz9/1B1x32geQXvAuzpkwHoe1tWJUKIiQx6tvZIPqleeMP2fieGTeW4BvnXoKnlP5hL3Pr36eqSv23fXbnAq11xbOle98PWWfVYd11JtPvMY0tWAdHz47bp9V58pLEzpdLR57OFd37RlMPxu14bGHcnXHktcffbB2G7iu3XVn/XVcsAjNOhPRYy5D50/PRnr+/XasINRGhFVBEARBEDRNfARq9HR03nwaChsX2bGCIIx0KCrUExQpCNQTHsjdv8vWvamneFHvpn2wAkm9dg5GIGlUB9vYqB8N6/hGqq7IMph+iMDRmJfuvw8P33IzThjVjkMDfhh2fC14fXYoiBNHj8Kjt9yi8wu7n1rziXNEf9brCIovPc+1p/Z15h9Q5dT7saORYHi3uvZYHdHTqaNWP1g+r9Urg4Imhc1aDLafjcaynnC64J2irqcWbF+9PgjbEjjweLSc8w30/vYqpF64zY4VhOqIsDrMWKu+BLwybZp+FQRBEIQ9TeSIixCaeSo6bzlD+17dUbgJoyAIe55awgNvyHmz/uJztW+oKTxQXK0lFmphYXWprkDCMnjjXwtHOKglOA62nYOpo9ZYMH6BCj+8KW3HbM9g6mA5tQQKpx/1RJZGdQhAZ0cH/vfb/4ojmqIYHQrZsYOD6Q9viuj8LEfYvdQS+/gZv+RyX01BkXOF4azzvDUFRc4Vq4zqP3Zw3Tr7fG/N+bQjddTqB+fyT34RrjmnuR4ceph7t7bBGcsffb/62uWseXxlXdV47OG8bkMjq/5K9ufvdf5Jc9B2/ncQ/8u/YeDR79uxgrA9IqwOMwp9fcisWqVfBUEQBGFvEJp1BqLzLkf3recg89bgHoHqe+YZvfkigyAIe55awgNvyM8616utmarBm3De7H/tmwH9uGo1KCh8799CDQUSChy1hFMKByyjlnDKdh53oqduOwdTx1e/Gaw5FuwHrzcSQBrVcfvvIzVFFme8OaYsq5LB1FGL/Ung+PXXvoq5kybtsKjqwHxzJkzAr7/6FTumOhxT2TR456gl9nGunHWur6agqOf8CR41771VBUVnrtSbs7TQnHeCV68dteqg6HnWeb6qPwyV10Gr/GpwTapVPuFa8LHL/HXbMNh+1lq7OJYf+wd/3bHkOFxymU+1Z/s6KLhOmuzS41Br7aqE3+ve+sAH9vvvdZ5RB6Dl3OuQefNP6P/jV+1YQdgWEVaHGe0XXohZ992HsVdcYccIgiAIwtD46f8+gFnnfQ6tx3wU533+eixauda+0pjggSeg5Zxvofe3n0fyuV/asdvjCKr88t11v/ihEoS9RS1BkjfkvKHnTX81IU/f9Ktrn/1SQPsJrIZj6VTrpp6CLIUD3vhXE04d4YA3/fXaSRGmVjsHW8dVX/LXrIPxFDQZqlltOQJIvTrY/7PVOFCoqDYW5eNdTeBw6vjsF9V474DAsT/9cPXmE39Fcv06HOz32TFDY2YwgOS6tbq8ShLz52P5tdfq/3et+8lP7FhhKFQTFJ35yGu1BEVnrnBdqSYocq5QFG1uNqrWQZz1i4JhtTI4xxzhtdoPQ+V19PdZ87scxxKUoiTLqLY2cX2s1wa9tqlr7Gc1Ebq8DZOmuGqOJdPUGkuu3VzX9DpeZV1xxF+uXbXWRwdHUGXg8f7GM39/Gz/8nz/hzgefRi5vCfru6Ci0nPtN5Na8gb5fX6njBKEcEVaHGZG5c7W4Gpg61Y4RBEEQhB2HoupXfvBLLF+zAbNmTMFjz72Gi7703S1fEgeDb9JhaD3/24j/9UeIP3KTHWshgqogDC94Y18pFpaLG7SGqnbD7QiavKnn4/7VhAWKCrxOcaDaY/S0Grvkcr++8a920+6IiaSaOFHezlqCY6M6HOGVVBuLcoGE/a01Fg37ocombGelwDHY8aY4wnZwrJm+FvvrOvv3e+/FeL/fPts5xvt9eFWV58AnAx1Bla7X+JSgPCm4c3BdqJwLjlhIqgmn5XOllqDIuUJRlLCOSovT8rWJ5VSzuNc/pqj6rfVr+x+GnPWPVJvT7IfThmo/uFS2odaawLFw0tRrwyWX+Xd4LFkeXaA47ai2rrz4/Na1i68ss5L9XVAlX/23X+L0K7+Jb/zof/Cpb/wQcy74whajBJc3iNaz/j+YqR50/+xDMPPbi+jC/ouxoaPDXNnRgXnz5tlRwt6Ei1hi/nzETjlFi6yCIAjCyGXd1WGM/cI99tmehZaqFFVXPnkHxo1q1b++84vizvDFc4/AjV/7kbbuqXeT74nF7KO9w96uf2cZqe0fyeM+0j8zx6r5+JtHouAGLvQF6EBxccHbBXztW0F9fvrxA/iTSsebb8Kbb+52fa+KIxQ8abVFq08HCqmzDvNocYLpTz9uAK8uaLavWjf1LOOJF5r0OTd2mjXbo61THXidbgB4488yrvl8Uj9O79ConYOp48PnxHXfWQdFg8qxKO8HYR1OeaRyLGr1g+ILhYnK9KSyH0fN6se9j0Z1m0ijOsZGe2Gapr4fqLbO0vDimJUr7bN9l2+efAKODYcR2wXial82i5eTSVz/69/qMeVj/5VCqjOuzjXnPoz3ZHwveJ2GL2TVDTfoVz5dyHhed9IwjvlXf/e7Os2U66/XawsF3Ozq1Wi74AJdNst1rGQPvv12/Uqxl3knfPnLum6+95t+/WuE58zBVLtOx2J5+s036/rYlv5nn8WYT31K181yWQ6Z8/TT+pV5KCazLewD+8i6WYdT9+uHH67r5lOTjGe5rJvpWRfzMw3hOLFPLJf9vkXlu3FtDB9R8698PvFz7lhIkvL5SThX+GPJ935guXqotvaUz1HOnaPVfFqs6nKonNNfVusK595g66icjzyvXJsq2125buyONlSuKzx31h1S2aZf/iyLgf7SlnWncl2h+EtLWadfbBN/9HHWx7PUunOH+lzy/ayGMz/42eJn2XnClp8L7g1Dju/t3fK54GeXnzd+bnnMOF5jGsI8zMsyWBbLZNmcG/zc8rP4QkuLTvv+N9/Un8nFV16pP7sTr7lGfyb5WXc+kyerNZPwnPHtJ/ow8xc7vnEdLVUpqrY0RXDnD7+Otxev1N+bzzrxSDz0C2tOO8Rf/j3y3SvR+tm74I5NsGP3XZz3pPx9FLZFhNVhBv9Hxv8ZO4uRIAiCMHLZm8IqH/+npepzd/5Qnz/+whs456pv6+Oh8vmTJ+Hrh03HpgdX6S/FgiAMD85TYVm8Zbubft6QO4ImqbzhrhQCeVNfKZBUipwUDmhV5dzkV97UUwTlzvzOTXw1oYCC4xMvNm0pk9dp4elYZVW2s1odFDQcYaBSeCWVY1HZj8HUMZh+lAunlePNMokjolQb73IhhwLHby+8cFj/cFXO7mrLHQEfPnLgDHjd1udhZ8gXi3j3tTdwVDqjxYFqOMKRI8xQuKGAQyGHgg6FHQo8hOICy6EARCFopIhNu6tP9E77A7X2NBIgKwVFzpVysbByflUKkqRStKyc05V1VIqerKNcnK1WR/naVG1d4bpBC9ZywZjz12lD5Ryv1s/yNbZWG5x1pdq6U20sy9edyrWL4zBpinvLWscyy38gu1itOz9Uc6DW97qRJqz+hzr+o44ZGheePg9//Mm/6uMTL/saFixbjZ5Xtv8un3jzAWSWPY/Wz/wB3gmz7dh9E+c9KX8fhW0RYXWYwQWDvxA6vzwKgiAII5e9KazSpyof///BV/8Rhx08DZd97d/QO6BuEG7/Pk45+jA71eAxC1n0P/kfcLVMRMsVv9ZflvlFuPKLOL+AOzdrewt+ARzJjNT2j+RxH+mfmVHqxnVjvGUbsbDaDTnjyoW8ypt+QrGC13mTzpt+PqbqpCeMK7d2qhRUSLngUSlYkh1tZ606HHGiUR2VFluEcXyk1ulHpThByvtRKZiQcoGjVj/K46rVUS7kNBI49hf+cPCBuHjmQfAYW8dpqFBYvXflKnzr05/VlprVxtYRjijwVFqW8r7M3dy8xeCl0mKV/y9kOoo/FIm4lvB+jlAEIrQEdNKwXLaBcRQpmIewHObldZbLNMzDNIzjNceikOeMZxoGHrNsUp6G8DrzMg3LJSyXOHmYhjANA9MzECePc87rDoxraWnRP+qUz4VqYmHlXCifvw7lgmKlKErK66g2p1lHuXBaPn8dyteSSpGUlIuQ1daV8vWvURt4XPlDFSnvZ602NDW76o6lsz5WjqtD+fhWWz/LRWrHUr7e9zrOj5GCYWx9v4fCCe+fhWd+8+/Y0NmDaaddgemTx2HBQ/9lX92W1MInkXj5d2j9zO/hP9iac/sinOsirNZHhFVBEARB2E3sTWGVPqHoU3Xp6vV2jPoi/ckL8KOvX2WfDZ5Cogt9T9yKwIEnovmjP7ZjLSq/iI+0L+CCsC/AG0kKq+WWnNVEAeLc1Dc1G1VvyMvFi2riBnFu2qsJC6Rc1KwmJpYLA/XaScGRfl8b1VFNOCgfi0b9qGaZRir7UW5VS9gPx/JrqONdLqIMRuDY2z9cleOIbbua6y+7FMc3N6N5JzevIo4rgO8/+7w+p3haKbDK/7eGjrP2lM/pWvPNmQtcNyrFQlI+F6qJoqzDES1r1eEIhlzDqq0b5etbufjoUN6PamsXcfJxzjfHDL0+lOO0oVY/mY8Mpg3VhFdSPpaVP/gQZ+2aNdtddRzKfyhy1h2Hkf69bqjfvbkHAX2q8nvzvLmH4NV3lqBQLOLH37gK//yJC+xU25NZ8TL6Hr8ZrZ/8FYJHftyO3bcQYbUxO/8zoLBL4Yd2d31JEQRBEPYfZk6biLce+E/8+gdf01artFQdkqjatRK9D92I4NyLthNVCa1t+IWbj3Txy7cgCHsPCgDOpkvcJZobMVVCC1VujkI/pM5mT+WUb47i7HZdCeMcyy1nY5dynI2bKFgyVAoTFEsoCPAahYdq7aRYwV31G9XBclheZR3bjkXtflBo4XicdW7tOih0MJSLqoT1Mq5ePyhcsPzyzbXK0bt4q/eqnHrrqmNVOBwC27Y7wgGHzcGm3PY7uA+FTek0pr5vln1mWZFybOlflHUJu4byOV1rvnFOcy5wrlSb05wLvMZyOH/LRVXC81n2fCvfjKkcZ9d8zlv6eK2E6xvnG9evavlZB8t35nzlukIoVnL9ZDmN2lCtn5dc7tP9HEwb9DpdZyz1xlfnbf8DBDfD4kZbzM/2VsIyf/Xz6nNsf/1e5/N6cN/Prtc+Vfn4Py1VG4mqJHDAsWj90HfQd8/XkHiGjgiE/RERVocZ/BWVvwY4j5kIgiAIwlDhl8TLzv8AvvaPHxnS4/+5jrfR8+D/QfSDX0XTOd+yY6vjfBF3NsMQBGHvwBtmWnM5u0RXwpt6CgK8Ia8mBPKmnmIhrapYVqW4QZxd9fWO2+dvLxwwD8UR7uJdTbAkFHh5nQJCtXZqwXEQddz9u607h1fC9tNyq5pIQ9gG1lFLhHbq+NXPMlVFUUJRg0J0rX5QyGEbawmvrINWucxfyf4qcBz9kY9gfXb7Hd6HwoZcXpV3sX22FT7KLwLrroViH9eemvPNFk5riYXlc7qaKEro35l1MG21OpwfhmqJu858qyV6EuajxWi9Oc91hWXVmvNsg1671HElTj9rCcxEr11fT2lRtFo/nR9kqv3gQ5if9ddbd9jOauuOw/74vY5GCdyoij5V+fh/I1HVwTd+FlrP/zaSz/4n4g9tu9GVsH8gwqogCIIgCNuRXvo8eh+5CS2X/yfCJw7e0tXx6yYIwt6BVpY//H6mpqDpCAu1rLGIIxzUu+mnOEJqlUGRhRZR1W7qCQXeRu2k+EDq1UGrrWrCK+FYUCCuJdKwXNbBuobaD4oTrKNeP+gGoJbwShyr1lrsbwLH4ad/EKFx47EoY1lOD5VFqTRC4yfo8mpBgZUb5gg7D8U+WoDXmm/OnOY84HE1OJe1dXcVUZRwvrGOalaaRM/lKa66dVg/qFQXXom26lfXa9XBfFxDq1mCEqcNtconXFfq9ZNrV6N+sg21xF+i21ln3XEsaxsh3+sGh6d1ElrPvQ6ZBY+h9w9X27HC/kL1WSbsNfh4Cn0nycZVgiAIwt4iteBxxF/6LdqufgSBORfZsYIgjAT0Tb26ka4lBBIKefVuyClesIxq1lYOFEBqCSiEIgtv7Gvd1A+2nY3qoLVWvTp4vZ7AwX7UEpAJ63CEmmqwDook9fpBK7tawivheNNXYyP2J4Hjih/9GG+tXYfNqZQds2Mw39vr1+OKH99sxwi7m8HOt3pzmoIi87OsajjrRr06ON/q1cEfderVwfK59lWzBCXMxznbaM43Wlca9XMwY0lxtBasf1esO8LgcYViaDn3myhtXoKe/77UjhX2B2TzKkEQBEHYTezNzauGSuKN+5BZ+QraPns3PGNn2rGCIAxnnA1kHGo9autAa9VargIcaFlWS1ggtISiJWYtYYDQ6queOFvPmoqwnaReHYNpZ6M6Go0FLccontZiV9RBKjeR2d956f778MD3b8L7Y80YHdp2A6B6UFR9va8fF3zzW5h3ofw4uDsZytpDdmZON7q+q9a3evn3xNrVaCwHA9tRrw1kX1t3hst37/7nbkMpnUDb5+6BEdx2g7KRhmxe1RgRVocZ3IWv+4EH0HbBBfqxH0EQBGHkMtKE1YEXf4PiwGa0XnUXXJFRdqwgCMOdSnFDGJmIsLo9f/vdnfjj//t3HDh6FGaHQqgnEXHk3k2msKSzExd/7f/DSZddbl0Qdhuy9ox8RFjdfcRfvQvZde+hTX2v9rQfYMeOPERYbUz9n02FPU5i/nxsvOMO/SoIgiAIe4r+p3+OYiGHtmv+KqKqIAiCMCw46R8uw01PPYPg+w7FI+vW4+3uHnSm0kgX8uC2Oyn1ynPGP7J2PYKHztbpRVQVBGFvEz3qEoSmH4uuW85EbtWrdqywLyLC6jCDvpPoZzUyd64dIwiCIAi7j1I2iZ5HfgBX83i0f/5eGK7aj6UJgiAIwp4m0tKCz9x8C/7xp/+BMWefg7fNEl5fuhx/e+VVPL5xsz5n/D/e+h/49I9v1ukFQRCGA6HZZyPy/g+j69ZzkHn3MTtW2NcQVwCCIAiCsJsY7q4ACv0b0PfkrQgeeg6aLrzJjhUEYaQhj+PuG4grgMHz1gc+oB9P5aa/wt5D1p6Rj7gC2DNkV7+OvsdvQeySmxE69pN27MhAXAE0RixWhxmZVau0GwB+eAVBEARhd5HftAQ9D92I8DGfEFFVEARBGDH0PfOMDrxn4v4UgiAIwx3/lPej9UPfRv+DNyDx1x/ZscK+ggirwwz6V3398MOx9pZb7BhBEARB2LXwV/OeP/8fNJ9/AyIf/KodKwiCIAjDn9Xf/a59tO2xIAjCcMY75iC0nncdkq/8Lwbu/5YdK+wLiLAqCIIgCPsR6cXPou+Jn6L103eOuEeRBEEQhP0bx1rVQaxWBUEYSXiax6H13OuQXfY8+n57lR0rjHREWB1mTL3hBpxsmvpVEARBEHYlqXceReL1P6H96kcQOPQsO1YQBEEQRgbVLFTFalUQhJGEyx9G6znfQKl/Pbp+8WGYpaJ9RRipiLAqCIIgCPsB8VfvQnrFK2i/5nH4ph5lxwqCIAjCyKDSWtVBrFYFQRiJNH/gi3B7fOi+5YMoJTrtWGEkIsLqMIO+Veljlb5WBUEQBGFX0P/cbSj2bcKoa56Ap/0AO1YQBEEQRg71LFPFalUQhJFI03GfhHf0dHTefBoKGxfZscJIQ4TVYUahr0//6ppZtcqOEQRBEIShYZYK6HviJ4Dbh7YvPwYj2GRfEQRBEISRg3N/FJg6VQcH55z3UNWsWQVBEIY7kSMuQmjmqei85Qzte1UYeRgbOjrMlR0dmDdvnh0l7E34pYFfCiJz5yJ2yil2rCAIgjASWXd1GGO/cI99NjT64km8tWgFVq3bhJOPmo2pE8bYV+pTSqmbzCdvhWfKkWj5+K12rCAI+yKGYdhHwkjHNE37SKjHs/ZnnntTCHsPWXv2DfaldWdXfPfeW6SXPo+Bp/4Drf/4GwTmXGjHNoYaEvWj3QV/uHqhpQWeWAzH9/basUI5IqwKgiAIwm5iV3y5+8g//1888ORL9hnw5B0/0AJrPQo9Heh78qcIHfExRM+/3o4VBEEQhH0D5+m+cutVQRCE4SCspjM5BAM++2zHyHW8jb4nbkHTh76H8IlX2bHVoUHeup/8RAurx6xcacfuekRYbYwIq8MMTgrnFwcGfoidLw7OrxC8TpxzXmc6ftCdLxe10vA609UrtzLNYMqtl6ZWuaQyzY6U66QZTLmVaQZTbr00tcollWl2pFwnzWDKrUwzmHLrpalVLqlMsyPlOmkGU25lmsGUWy9NrXJJZZodKddJM5hyK9MMptx6aWqVSyrT7Ei5TprBlFuZZjDl1ktTq1xSmWZHynXSDKbcyjSDKbdeGue8/7bjMfE/Uvp4Z/jyJy/ASUfOxqevuxkXnDYPt914rX1le3LrF6Dvrz9B9OxvIHLKP9mxgiAIgiAIgrBvszeF1Y1dvbj+1v/FHff9FYdMn4wrLzpDf4ffUQpdK9H7xE8RPvZTiJ7zLTt2K46g6mzax/sREVb3MhRWX3zxRVMYHqy8/nrzGcBcds01+rz36af1+fOxmD4nr82dq+M23H67Pu+4+WZ9zngHnjPE33xTn7M8ni+64gp9zngnTb63V8fNP+UUfc7ySOd99+nzl6dO1eeE7WAcrxGnve9eeKE+Z1k8Z0ivXKnjeI3n0ifpE5E+SZ94zrCv94n51v5TiM9W7XToevlus7DgYVN9OTNj0fCW88qQePDb5tqrI2bq1d/rdgiCIAjCvgj/3+78/10QBMGB372rfUfeE+HTF59pGoZhXn35h8xTj52rv8MvevRXVdM2CplXfm1uvPFIs+/ua+2eWfdIzn1TeSi/b9kdOPc65fdmwrbI5lXDjLFXXKF9q7qbm/U5fxWgBZRjBUUqz/kLBc8dyylSmcY/ZYo+Z3mkXrmVaeqVO5i6w3Pm6HPpk/SJSJ+kT5Vp9tU+OdfVl6MhB8cytW8goV9XrduMKRPGIBYN6/NyUgufxMCzv0L7lx5E8MiP27GCIAiCsO+x8Y47dBAE8vzzz4P+XmuFnb1eLfz7v/+7DtWulYcZM2bg4x//uK5D2Hfh4/+0VP2ny87Hzd/8HB6/7UYE/D7MPPuz8Mw6d4dD4JhPYex1r+EbP/sjOn98PhZcdBHe+sAHtliplsOn6WhRurvCK9Om2TUJtRBXAIIgCIKwm9jZx5G4cVX7sR/Tx3NmHqA3sfrOF/8B3/nSZTrOIfHmA8gsfR6tn/0DvBPq+18VBEHYE5x11ln4y1/+Yp9ty7/927/hX/7lX+wzCwoUX//61+2zwWGaphYuGnHmmWfi1FNPxac//Wm0tbXZscJIZvm11g+P02++Wb8KArnuuutw00032Wfqc7J8OQ444AD7DPjDH/6ASy+91D4Dfv/732vRk3At+cUvfoGLL75YrxOVaxLXG0KB9Fr1+fvoRz+6ZR076qij8Nprr+ljrjePPfaYPmZ9X/ziF9FrPz5dXp+we9ibrgDmXvQljG6N4U8//Vfc/ejf8Lnrf2pfGTqfP3kSvnvOLKz8z0VbXJrtLWgEePDtt9tnQjlisSoIgiAIwxRapnKzKoqqq9dt0v5V//mT2+4SGn/5d9qvavs1j4uoKgjCsIHCQldXl31m8YUvfEGLE5WiqsORRx6J+fPn6zSOiOFAMZZxLJPHDox7+OGH7TOL5557TsdTVLnkkku0wEuBhGJvd3e3nUoYyVBQFVFVqKTZfvrJoVxUJRMnTrSPLMrPuT597nOfa/jjywknnICbKz57tfJQRP35z39un0GLrLIG7bvQp+pTL8/HmOM/rkXVpkgIiTfuq/pUWqOQeeXX2HjjkfjBly7G6H95VPtQnXXffds8MefAOPo+3d1BRNXaiLAqCIIgCMOYk4+ajdf/dCu6Xr5b/wJe7gag/9n/QjE9gPZrnoA7NsGOFQRBGB5Uig1Tq9wQlnPXXXdhzpw59ll1WCaFWVqFOTQ1NdlH20JRhRZj06dP1+e0KLvtttv0sTCy4eYtDIKwqygXQBtBcbXWD0SVlIu3tFxduHChfSbsa3Cjqr/f/RN8+uIzceu/fhHr/3andgewo+jNqx66EcG5F6H5oz+2Y4H2Cy+sKbDSndnuDkJtRFgVBEEQhBFGKZ9Gz2P/D65QK9q+9GcY3oB9RRAEYWRCkaLSuqwezqO2g4E+Dh2eeuop+0gYydDXIIMgjDSi0ah9JOyLHDFrhhZVv3DpuUMSVXMdb6Pnwf+D6Ae/iqZzvmXHbks9gVXYO4iwKgiCIAgjiGK8E70PfR++yUcg9il5JEcQBGFHiInVjSAIe5C1a9faR5b/1UZW+cL+S3rp8+h95Ca0XP6fCJ94lR1bG0dglUf09z4irAqCIAjCCKHQuQK9D9+IwBEfQfPFP7JjBUEQhHosW7bMPgL+6Z/+yT4SRjInm6YOglCP8t35GU488UT7yu6HvlSdzasIfbjeeeed+lgQKkkteBzxl36LtqsfQWDORXbs4Iidcop9JOwthp2wyv89amf1KvBfSZ87F6wTJ15fs18ZrBPL2b2d1PlTESx4VFJ/Syjqv4IgCIIwXMl2vIXuB7+H6Jn/gqazv2nHCoIgCLV466239OYx3MSKfla5yRV9IwqCsH+gdYGywI3tdjfcLI8ibnt7Oy699FLtV5Wb8tGHa6ONsYT9E25wlVr0FEZd8zj8M+T/USOR4Wuxapa4EvIAMKwoLYOq+FKJMqiJggrd+SIW9aexNJFBf0ldM5w0TGELplxIVW7+dRZVnqlU+p8+t6sSBEEQhOFGZukL6H3kB2i5/JcIHf8ZO1YQBEGoBq3SKGzMnTtXb4h1ySWXaKvVc845x04hjHReP/xwHQRhuMHH/fljTktLix0DfOYz8t1NqM7Ai79BfvNyjLr2SXjGzrRjhZHGsBNWDVsMLRpsmgGXaemqpvpjqiNqnyV1KaEOFicLeGxVL+55Zz3ue289/rahD6tzJWTh1umLFFkNlZCZdAFWmYxgHSzNreLc8MBgoYIgCIIwzEgt+Avir9yJUf/8KIJzL7RjBUEQhFrQKu1b39q66QfF1UceecQ+E/YFEvPn6yAIwxFuxPfb3/7WPgNee+01XHfddfaZIFj0P/1zFAs5tF3zV7gio+xYYSQy7NREiqclw7AEUfucUqu2VjXUDabhwuqsicfXZ3D7u914byCHww8ah5lj2vDumj488N56vNQTx6YCpVOPyqfKozrLkhyBVXXbUP9cJXVVW7OaKKo0JbtOQRAEQRgOxF//E9KL/4b2Lz8O3/Tj7FhBEIR9D8cP4a7ixhtvxJFHHmmfAZdffjlWrFhhnwkjHW7WIhu2CMMZWsiX/8Bz0003yQ88gqaUTaLnkR/A1Twe7Z+/F4bLbV8RRirDTlilHalRMuApqSMzD9MsqLgSMjCxoVDCC105/G5BAvcsyWJhxg9/LIqZLT6cP6UZH507GS0BL15YvBaPLdmE9/py6C+6kDfduoySUUDRKKKgQlHVZRoUWS0R1zRUXTpWEARBEPY+cT4a1LVS/4rtGXOQHSsIgrDv4WzysquhparzOC79HNIlgLBvMPaKK3QQhOGM/MAjVFLo34Ceh2/UvlRjl//SjhVGOsNMWDVVgwrqtaT+8nF+ugQoordg4p3ePO5ZMoD/XRjHC3EXeoIR5D1RvLcujzc2JJFWuWaEPPjYIeNxwSHTUMyU8MiCDfjLij6sTOSQNFWphirfLMAoFVAyi6oOAwVax9J6Vf+j0CoIgiAIe5e+p36GYrGAUdc8CXek3Y4VBEHYN7nttttw9NFH22e7Dnkcd99l4x136CAI5fT399tHFpUi5tq1a+0ji8rzclatWmUfWfAHoFqUX6tMV+0HHm6sJ+x/5DctQc9DNyJ8zCfQdOFNdqywLzDMhFXrMX1CdwADph8LUy48vroPjy7ajPldeXR6QsiF/IC7BJfLhXTRh66UgWTRRMk04S+ZmN0awIePmIgjD2jDqr5u/HnRajy/fgDrMgZyhg9uww2PSucyi9palfW6Sh4YpphgC4IgCHuPUiaB3odvgrtlEto+90f1vyf5wU8QhJFLpcDwxhtv2EcWFD3+/d//HV//+tftmK1UCiKVgkk5AwMD9pFF+Xm1x3FZpzCyWXzllToIAnn++ef1hnWc3+VMnz5dxzvXuUt/OTx3rjtwfWDcf/7nf9oxFtzl/6yzzrLPLJy0/NHGgceMc9aZaj/wcGO98jqFfZ/s6tfR8+f/g+bzb0Dkg1+1Y4V9BWNDR4e5sqMD8+bNs6P2LJasuRXu9J9RkZ2ZAhZsTuG9DQPwevM4eFI7liXdeGpdEQkjBI9Le0ZFKJ/G+RO8+Mi0MJpdJRRNywKV//F1Y76I1zu6sHBjH4KhIGZPaMXBLSGMdpfgM0souSw/rC7TbolaBC0qWyYIgiAIO8a6q8MY+4V77LP65HvXY+CpWxGYfa78ii0IwoiHAsRf/vIX+6wxX/jCF/Dzn/9cH1OUqAU3pjrhhBPss/ppTf393uKoo47aRvzgzt2PPfaYfSaMNF4//HD9+v4339SvgiAIZEe+e+8p0oufxcDz/4PWK/8XgUO3FeeFfYNdL6za31/0JvzWEQzQXyq/9NhffIySTlCCS6dx8br6l1Ghs1jE0t4k3l3bh2yqgEPGNWPW+AhChqni8/jL2hzeS3qQd/tVMRkcEMziogOiOLYtCF9JlavQm/+z3pKqz+XS5a5J5vDK6o1Y2Z/G2JZmHK7KnR7xolldt2xki6qNqiWGW31BU8f0t6otWN2qJNVKVT/buKUPgiAIgtCAwX65y29ajL4nforIB65G5PSv2LGCIAiCIAiCIAyW4Saspt55FEkVWj/ze/imHmXHCvsau94VgH60niIlxUnTElQtpVNB4bMI/njMI74yeVGd9ZTyeHsgg4eXdOP5pZvREvLhQ3Mm4IRxfjSl4gjkizhiTATnT/PhpNYk5oT7cHwsgzNHGZjuyQO5jK7BNOgpVQUtkqqyVSVuFaaHfbjofZNx1sxJyKezeHzBejy6Jo6F2SIGVBuLWkC1G8W8pkfFUfJlrAosjME+FQRBEIRdQXbVa+h54HuInv9/RFQVBEEQBEEQhH2A+Kt3Ib3iFbRf87iIqvs4u9xiVVt30gJVC5C07mTgi4mSUYKp4rhFFY+p6xaKwJpMAa9u7MWKTQMYFQrjqKltmB5WBSTiupxIJAyvz4uCOu5PpZE1XMipvB51MVQqopRIwOfxIRRpgtvv1YIuoc9VQltTvd+/bpQLcVX1K+sG8GTHAAy/C8dNjOKIWBBjvS742VzTpdMbKr1Lt1P1ynSrnHZfSNmhIAiCIFSj0a/mfDQo/sIdaPnH3yDwvjPtWEEQBEEQ6vGs7QLiZPt+TxAEgQwXi9X+526DmUmi9aq7YQSb7FhhX2WXW6xaIqYbJRW0+KgCDVZN/T8/SpMGr6BolrAhk8Wz6+O4d8EmLO5KY+bkMTj7fWNxkCcNd38PwoEQYq3t8Hh8qgATmXwBpYKJVpcHowsFtKm4ADei8oVQNHwYSGVQKNLG1KqYOiotZtlJj4p1qXO2rFVFjIkFYQajeLvfh98vTuC3S3rxSm8OnUUDeZVdN9coqdSqTgrFFFi1MMt464UwxgmCIAiCMFiSbz+MxBv3oe3qR0RUFQRBEARBEIQRjlkqoO+JnwBuH9q+/JiIqvsJu1xYtSRNS2qkdWpJHXJDqaJ6NUzas5rYXCzh1e4cHlrYhTfWdGF0SwinHTIJs2IRIJFSeV1oam2DPxhQxbAsNtMFM5uF3zDg8XmRR1FbpPp9QXXNrT63LhjuEhKJBIqqMmajM3urPSq3+uNWR3QLkEQBCzozWDVQRDHYjE7vWPytx4tfL+zFfSv78HYii17TdgJgutXkcNP81WpLmahKnNOKaEEQBEGoCR8NoguAUXw0aMr77VhBEARBEAbDnKef1kEQBGG4UEr1offh78M1+iDtU1XYf9gNwio9k+bADaD0dk+mCXcpj5JZQm/Jhbf783hg6Wb8Zfl6BENufPjwyfjglBaMLRXgTWcRcBvwB4MwXT6VhxtcqQ+oy0CeYmmhAJ+7BI8q26XKo9Dp9qg6VCgVsgj7PSqugGQyri5RwqVTAhOlUglFlTefy6CQyyKVyiCRzqFouqCqg9ul0vhj2IBmvLQxgYcXd+Dpjl6sTJnImlqOVeXS1tVxMrAtIqoKgiAIg6X/b/+NwsBmtF/7JNxtU+1YQRAEQRAGS+yUU3QQBEHY1Tz76jv43s/uxK/vf8KOaUyhpwM9D9+IwPvOQsvHb7Vjhf0F99e+8pUb+gYGMGnSJDtq56HQSFEUhgumYSJl0o9qES9t6MeLa/rQVzQwc9IoHD2xBeO8Kl0ug2Ihh4DLQNTngc/n1u5ZuXUU5UyXKieTyaBUKiIQDMLlciNHtwBuN9xeH7zqNZfN65qDgSCSyRSyuaxOl83mkMmmVfosMuk88gUTBZVycyaHNakS0iU3PKYJV7GIFncBp04L4eCWIJati2NJZxpp1Y6g342AV9WlLWAtadWyhbVx1NayKEEQBEGIP3oTIkd9zDrRjwb9FEawGW2fvxcG3dwIgiAIgrDDLL/2WvT+5S9oPessfb7xjjvQ98wzcAUC8I0di8yqVTpu4OWX0XTssduk4XVPLKaPu+6/H7mNGxGaOVOnWXvLLToPz1mWk6ak7kUDU6fWLbey7tSiRYjMnavT1Cq3Wt2NypU+SZ+kT7X7VFx579bv3kPgI//8f/Gtm+/AW4tW4O5H/4bv/fx3mDPzAMw8oLZellu/AL2P/jsip1+L6Jn/YscK+xXcvOrFF180d5SSDvxbtM8siuqQoVQqmslSwVyaLZgPrOs3f/DaKvNf/77avHFJn3nj0pR53dtJ87tv95v/s6zffHZT3OxI58yMylgoFlReK5ilnCoxp0ovmn39fWb/wICuSV01e+Nxs3cgbuZyeTOXzZudnV3mmjVrzN6ebrNz82Zz2bLlZkfHOp0nlUmZ2XzWLBWLZjqTMzv7+81FPf3mrxYPmJ99rtv8xLNd5j8+t8H80bubzaWJrJlXdazIlMzfLVxv3vDce+bP3lprvtiZMjfnS6o17DF7bvVe/3GCIAiCIJSx9p9CZmHBw2b27781N33/GLPvD/9sXxEEQRAEYag8A+iQXrlSn7974YX6fNk11+jz3qef1ufPx2L6nLw2d66O23D77fq84+ab9TnjHXjOEH/zTX3O8ni+6Ior9DnjnTT53l4dN/+UU/Q5yyOd992nz1+eOlWfE7aDcbxGVl5/vT5nuwnL4jmD9En6RKRPQ+sTv3tDHe9MOPyQ6WbXy3ebr//pVnPqhDFmLBrW3+erhcSD3zbXXh0xU6/+XrdF2D8ZksUqXY1yQye9y7/6Z5RKepMoZ/f9ggH0F0t4pz+FZ1duxqquBMaOaUGwJYZFXXkVSujI+LEy7cbSngx6MlmMiXoxLuSFlyWo8ujbtGC4kVchkckhncvB7fbq/aMK+SwS8Tgy6RRMlbZQyMFwqbqLJlxuN1pamhEKR2CqvKbXj4zHj4TpQrZQQDqVRMDlxoRYBJNjAUwMG5gSKuLYcSEc2eJFq6rA7fEg4gHGhj0Y1RxGdzKHt9b2ojNThMvnRtALeFQfOQ5sq9V36A2vrI2zLDcF2q6VpzwkPBYEQRD2G2ixGjjgGPQ9+u8IHXUJmi680b4iCIIgCMJQoRsAb0uLtnKjtRyt1vzjxiE8Z84Wqzbut9F88slbXAbQSi58yCE6D63lmMcdDOo8Tppif7++znOWyzwsN3rMMbpc5uG+H04anpPgtGn6nOUyD8tlnvK6o4cfrstgGsL2s32M43WnXOmT9En6NPQ+mRsewY//zqeZh86Rsw/EFRd9EGPbW7RbgNXrNuFfPvNR++pWUgufRPyFX6Pt839C4LDz7Fhhf8SgxerKjg7MmzfPjhoEWjQs6Mf1TZN+TRlpoOgyMVAysTKRx1vre7CxdwCjAkHMmTgaaZXsoZVxLBjwo+iPwHS5UNJCZAmeTC+OjxVw6YwWTA+6UcwVUDDd6FPlrkwWsLanF1FXCQfHmtDiMeFR9eRyebhUGU1NTfB4VOGKdDql4tUED4dVnB+dmTxe25TC/L4ccqqm2U0eHDcmhLFBF8xSUftxhaHqU3nZhWwuh3gyg5LLq7tomEWEIgEkC0Us7VJt70wiqdp28JgYDh3TjHEBN0JqgaH/WCq+brgopepjXaJ2hyBqqiAIwv7KuqvDcIViaDrvBoRP/KwdKwiCIAiCIAjCrobfvcd+4R77bMfoiyfRfuzHMHXCGHzygtOwev1m7Wf1UxeejttuvNZOZZF48wFklj6P1s/+Ad4Js+1YYX9laBartlZomC6YcKHgMpBECR3pIv6+oR+vru5CNpvH0ZNH4fSDxmBUwINX1w7glR4g640ALpXPxZxE5Te8yOfzGO0pod1tIpdKI10q4O+b4rh3eQIv9QIbMiWMaw5gxqgmhP1+vSEVxU+fz6derQ2qXIaBdDqNoior4Pdgjcrz4NoUXugpYU3KQLGQx4xYAKODPuQp6pY88JhFuI08skWgP6Py593IFF3IlrgFlxvpTE5b0R6o6j1wbIvqr4GFG+JY1p1GTpXh87vh9RjwajGVPaKVarmYqo7LTwVBEIT9BlqstnziVwgdc7kdIwiCIAiCIAjC7mCb/Q12kIDfhwtOm4dNXb346f8+oOM+97Gz8Z0vXaavOcRf/h3ym5ei7Ut/hmf0DDtW2J8ZgsWqdgKAkukC/3EjqE35IhZ2JfDeul7kzSIOm9SGGWE/2j1AcyiInmIRdy8fwEMbPMh5w4DbhOky4CmoEkygYJqIlAZw/rgSzhrtR6yUw4DbjXs6Mnh0kxtZXwyBXBxnjcnhokkBxAygP57QYmwkEtFCJq1GXapNyWQauWwO0aYIFmeAe9bnsLAQUc124UBvHJcfFMYx7U263UaJj/QXkYeJ3pSBnrQBU5XlUnF0clAy3KpcEz7VyLagGzG/qkflW6vK/3tHN1ZuHkB7OIrZE1sxPeZDzO2Cl8arHCZ2zLFaFXFVEARBEARBEARBEARht7EzFquDof/Z/4JZMtF61d0wvJbrAkGwjEZ3CAM0FeWO/S51uCqZxUNLNuG1lZvRFvTi7EMm4sQxUYwppeEr5S0B0+XSPksDBh+6pwsAPn7vQlHVbhq0AS3Ab5QQdBvwqEINlxt+txttIS9ingIC+QG0efMYF/EhFgohFA5rQTUajerQ3NyMWHMMTbEmjBk3GrG2dphuP8aFAzgs6sZEVxpjjBQObfFicjSgO+2BCS+FT1V7RjUrUSih4Cqh5FYtduXgduVV/wpQTQLUNbongJpAPtXy6X4vLpwxDmcfOkWP4GOL1+KZNV3oLxRV21V6BX3P8p91xL+CIAiCIAiCIAiCIAjCSKKUT6Pnsf8HV6hVW6qKqCqUMwRhFdpC1MXH79Xx0u4BdKbyOPF9k3H++8ZinJlDumcA9Djq9/vhUemaVfpJYRdafFmYxQyNXnXevGEiR7G1mMVYfwnjte/TPFIlE/SaeniLBx8YBRwVjeOsScC8MSGE3G4qtXCrVwb6WWWwzl3wetV1Vw4D8W7EfCWcM7MNnzwoiEunenDmxAjG++k6gLXTmpQbT1EvNbTVKuPYL9N0oajaz1RsKa8WiwyqrbRAVRcCKhzWFMAls8fj0LERdPT0oTOR1jlUEdRgLViN/U8YOdC9BIMgCIIgCIIgCIIgCPsnxXgneh/6PnyTj0DsU7fbsYKwlSEJq7TypPRp2Z+aGB3yYnLAi5jLjaDHh0Qig2yhBMPrQ6mQR36gHxO9Jby/zY1xrgQC+SR8+Sy8xQwChRQmepI4epQLU0MGAoYBvyrDKBoIJxM4PmriUwe34INjQmhV9dFylIKX3iSqArNoIplIal+q0ZAPftW70R4XThoVwUltPoxGXiXiQ/4u0JVByaUSuAzdB4+pDimkMd7woWj4UaJdK3VU1a+MupZIZZBJZ7QLgmK+oPqWQ7Mqc0rIj5A3iLztfJZ/KclZwqzD9u0Vhj+irQqCIAiCIAiCIAjC/kehcwV6H74RgSM+guaLf2THCsK2DMHHKqEAaehd/f+6uhMr+ws4c/poTAu7kckV0N3VqWVEPpqfzWVhFExEmpvQa7jx7No+vLE5i96iV7sBoJXqYa0+HB5zY4zPQC6bh5kvIeDzIZNPw+Nxw+fz602k8kVTux8I+Lwo5IsomkWEwyH41fVCsYhUIqlfo81RLehmkmkEwhH4Az4kU2nkc/TJGoLH7dF+MaiDFs08EukMBjJAGj4U3G4VT72ZVrkluFR5HtXOoBcI07q2VEQun4fH5QZUWq/Pg7e6MninJ4Pjp8RwWCyoFdWSy4Sh/b5afltZl6uGuEqhmNawjoWkY4FbDq+VivRtu61c2xirTtUEy9JYtZvHW2Gd1ds1WLhxmLbmtTG0RbHq7bYVNaSynF2BY9VcD9aZU5+NbDarRfNcLodMJqviS/D7fQgGA3qTNJ/63NEKu/K9EQRBEARBEARBEARh77IrfaxmO95C319vRuyimxA6/jN2rCBszxCEVQpxlhhXUOGJNZuxoj+PM6aPwYyQB4lEUotTmUwaqVQKrW1tiDU3WyKbaaIrmUJXvoSU26MtOkeHfNqqNBcfQC5fRCQa1ZajnZ2d6jyHUe3tCIcjlvanqqU4ms0XkEqkkM2lEQoG4fUGkM5k4FHlxJqb4PGqsksm4qpM1tvU1KTFslQqjUDAj4DfjwKF12wW6WwO0CKpF/GCAVWKqoiuAOjMoAR3MY+w14WWSABhVT7hhlalUhFZisAuF17ZlMDC3gxOntqG2bGAymnCoOqs8psqC21iqwmYFBIp+vX29mLpshVIxJN6jCZMGI/pMw7QorIDhb7ly1dg0+bNtmipytRvhSqT/gzKUWUwxqX6rsdd/ceyQqEgmumLVo0HxUKKhlZ6FVQ6S9g1VZvYzlpipPOIvNUXlr9u3VqsWLFKjznF31hLDAceOF37waXbBd3WGvA6y6Pg29GxDqtWrkZRjQv98tIuWrdtCOgy3QamTZuGiRPHq3Mdq+PZdkP1sVgooKenB2vWWO1ft24d0hTgbXGVwirFVAr7waAfEyaOw4wZMzBlyhS0trboNlvl8X1k+fxjjYsgCIIgCIIgCIIgCHuOXSWsZpa+gL6n/gOtV/4awbkX2rGCUJ1dIqyuGsjjg9PHYnrAwObOLmSzOTQ1RbUlIIVDCmwej0cLrflsSluNur0hXVpJ/ytQCUMqzsfsCzpvOp3R6b1enxYFA4GALsNwW+JVvpBX6Sni5pDMpLW+2BSOwq/S06KQghjFMVohhkIhbXHY3z+gLVV9Xo8WfllWKByBz+9XZWQxkM7rx/kLWqx0aUtVVymPoNeF5nAAXgqwrJ1iZRkvbOzHW5sTOHFyK2bHgpTvGgqrliBnlbV48WL8/vd3Y8WqNTBU/KmnnoKPfvQjWgh16O3tw91334OXXn5ZW02yLBqvaj2voj120VvgZbfH0AJhOBxGW1sLZsyYjlmzZmHc+AlaaLbao9qt0lr927bMrVCctI6YjuN7//3344knnlTvtWVJPGbsaFxyyUcxZ85sK2EdLOHVqu+vf30S9/7pAf3eutV7rSuq7MwgKRYL+jNw8Ucv1uNJKGQTfibj8QTmvzUfL7/0Mlav6UAuk9cDpVvCDdTsY6sJliBLr8IU5inWnnDCcTj00EMRDKr3W/eBJVv9EARBEARBEARBEARhz7IrhNXUgr8g+eYDaP307+CbfpwdKwi10brcjmOJcA604KSVYW9/HxLJhBZS9U79sZgWpBKJhBZZaQloer0oen06vckn600DRdWMEtyIhqMI+Pzo7u5BJpNBS0uLCjFdRzwe10JrIZ+DoTK6Vb5sno/lmxjXPgYHTJyIpgjF2pIWTfv7++1HujMYGBjQFp+0WO0fiCNfKCLa1IyWWKt2OZDLZpFNpxH2uhE0ivDkk2jxuzA6GkR7JAhPMY+8uk7xzJLNKLJtK/rVMcosG6nq0KLTq8YlaFvTetyVj+szjQGvh4+iB+HzMfi1xSlFYYrGFKCdYFlZMqhjVS5FStNwI5PNoau7G4sWL8GDDz2K/77tDjzxxFPo7umx+qYrpeVqReXbYIuOdgNXrlyJJYuXwu3yqrYHtWuGvp5eLFZ1ZDM5nWawUDj3+dlH9svqg1cHnrNf7J8TpwKPy4L1uL4VPDqdJbITiqpsM0XV/r4B/OWxx3H33X/CkmXLdX99auz9QT+C6jMUaYpqcZ+WvZFIWIunFPb9voD63AILFy1Wef+I5557Xn++LItchnrjJgiCIAiCIAiCIAjCcCX++p+QXvw3tH/5cRFVhUHj/tpXvnJD38AAJk2aZEcNBkqFFEMNrOhPojOZx1i/F8F8SltEtrZymylbDPR6tVUjhVG3y4VgKAS32wNXiT5MaRVIRc+lSuM/QwtoyVRSi6iOpaljrZrNZLVYSvkqp4774wmEI2E0RSNa3HV7fNqak+lZL0mn09qtQDKZ0gIar0ebouq6R5dDwZfCr9/nhV/F5VR6n9uNSMiHoNcNr8cNs1jQlrEejxd8/JviLR+/t9puYG08g03JHCY3hTCGzlgVhhYn1TjxxfpjpbdxhEm+9vT04r2Fi7RFLWOnTp2CQw6ZuaUPJJ3OYtHCJVi/YT2rRDAYwvjx4zF69Gi0tMb0o+kUovna1taq3wMet6rjpuZmhNT7QjHW8jdqaMGRfmeXLV2GuKp37LhxWkx0cNpXSbmlLa2LX3zxJbzz7ntwqfeU0P0ALU75mP2ECRPQ1s7PAvNUL8/Qbgx4zcCqVau0SFssqfdStS+m+jN6zBjEYs1otgPdDFCwZ6Do7hxbgWI+QxOam5v0uBx88EEYp/pm1UUL2xyeePIJPPXUU+q9N9WYWJ+tUaPaVdqDcdjsQ3WgNe/MQw7GAdOnY9z4cepzG9S+dfn54+eXIv2GDRt0vZMmTdTlC4IgCIIgCIIgCIKwd4g/ehMiR33MPtsx4i/+Bvm+dWj70oPwtO6IPibs7wzNFQCfQYeBguHCE6s3Y2lPGqdOG43JnjxchluLq+VQWKUIxceox4wZrXLSryZlRhfVLhalSqW4ZupH9Sl00hKQ4hrFVQqlFMWo6ZuTmTQAAExdSURBVA3Ek+jq3azOS/AEoohGo4gF/XpTJ4P+UVUi+j+1/LxmtBBIMc2y5LTcAdBHKS0rKQJmVRqXx60tbFPJFLiJUcDerIjiKykVixgY6NfiIa0Y2X9rEymXFiqfX9+Lt7qSOGkyfazy8X3V0DJXAEyn/YXqPm6FbWO/li5dhnv++CesXt2h23/SSSfiwx++QFtKOvT19uPee+/H3197DfT9ecghh+AjF12ICRPGIV+obxlKK8tMOoPevj50qPf6vfcWahGT40O/qKbq31FHHYXzP3QuRo1qs3NVp1xYXbJkGf74x3uxavVqy6LTr96HUkmL2RyXM888E2effQY8arydvm6P9VlieObpZ/HAAw9q6+JAKIhzzz0XJ554nBa1We12uasVZzXPuqYyWe+jV9fPNi1Y8J52qbBx4yb9mfCrdh9++FyceNIJmDRxot4crRpZ9blYsmSpauMzWLJ0qa6H4v7sObPx0Y9+WH2ux9gpBUEQBEEQBEEQBEHY0wzVFUDfUz8DvEG0XaXyVtUtBKE2WvYbCvbD8BoKVxQO6R/US9+YFVDUokDKR6bTqSxKFEANN0wXc7EUyqpFFUrI5ij2lbQlIIXFZDKp/a3SjyXFUm6O1NzUinyoFe/EC5jfn8OmAlAy3SgWijrtwIDlNoCiGi0329raQD+tfMS8paVZC79+fwAJVfZAIq6tVukuIJlOo6DqtjaV2jqZXG7u/u/X9XOTLLoSoNCWzmSRUCGdK9jCX/UJuEumJQuxC+J4Uhz2B/nIu1uPU70QCQfR3t6CA2dMw6kfOAlXXPEJnH76qXqjL/2+qfflzTfn45VX/q6tUBtBgbSgxmDRwsXYsGGjKsPQAvdRRx2JyZMn6/GjZeeSJYuxft36LXkaovtopeMLN4yiJXFEvV/RSFg/lr9NUPHbhfJrkYj+DDiiKlm9eg26u3rgcXthqnbOnXMYLrjgPEyZZImqemMyHdQ4qz/sC/OzHbMPfR8+9KFzMXXKJPWZKWihvWNNBzo61uqyBUEQBEEQBEEQBEEYGZQyCfQ+fBPcLZPQ9rk/btEjBGFHGLKwSjHN+chRfMpkcjDVh5C+LcuhKEXLSAqrseZmLXymUxn7Iv9Q2mMzrJDPWsIeH89mHoqg6XRKW5omEgNg8Ua0CW+k3fjTeuA3S5J4aEUP1vQOYCA+gGzO2qyKYirzsn6Kqpwf2SwFWlWLFtlMLTqOHTcebe1tWiikGEghl4/mJxNJ1c6Utr5MqNciSkhns9i8ebN2a0ArWAqtdG/g83ng0n42dyeWAL01qL/sjMIS/7YNKpYpdDBN1fpS0bqm0kbCIZzxwdNxyiknqbEKaBGZfZ//5ltYsWIli6yJI5BSUFy0aLHKl2UNmDJ1Ck479QOYefBB+r3jGFNwXErrThu212lzNcov8Zj9ss+GFNhfWuQ6babgvmnTJv1es+ympghmzToE0UhEp2VgSloya8mf7h7svE5bpkyZgtmzZ+s+koT6nHRu7tLHgiAIgiAIgiAIgiAMf/K969H78I3wHXgSYpf9wo4VhB1nSGogZStLWqUIZT1m3t+fQCZbQK5YQl4FLUSZlqjK9B6vXz92HQz5kcqmkM6mVf4i5SsUVQLarBZo+Vkq2kKlyqTyBwN8HN5AZ2cXn8BHJBLFplQOL2/KYLkZxSpXDK90ZrG0s1+nD4eC2rqQJoe0PFR/QR01EAyqNvGxeNW+Qh6JgQF43R7dJvr09LgNxKJR7QOWj9on4wls3LgRGzZtQE93NzKpjHZlELA3jNKbczU3waPqGigZSJVcug/EGp/dixYo7YrYP1qdlgfrrWV71PtUfk0lZl6KqUcfdRRmzXqfGhc15qpfGzZuwOIlS/QYEUcI5b9yKFa+t3Ax1q5bp8o00KTG7X0zZ6KtrQUHHDAV48aO0e8FhWlulLVp82Y7J9tpjVEtrNqc+ramrSfI1oJ1lVen3UOoz6olRJv6feR7Sqw6rTpYFfNSLHfay1enDRMnTtA+ibVfV26upq4VCuWWvlvLEgRBEARBEARBEARh+JDftBh9j9yI0LxPoenCm+xYQRgaQxJWy9UqCnSFPB+LdsPj9iART2JgIKktWPlYeTaThtttwOP3omiWtDVp0B9EOplGLldQZXETLMu+ktamLNrv82tdihsgxeMDur72UaNB/60U60pFE0HDg3CpgGAhh9ZACBPGjtUWqAPxuLZspXjqSFv0h6p3x3e5VR059PX1I5vPaZExlU6jp6cP/b2WFSr3UuJj5KNGj8akyZMxfsJEtLa1IeALwqvaUVL54n10NZDR/VmWzOLVzhR68gYMNQa7X1Dj2NuCn974iWx9P6pDgXHbNBQJm5qbcOihs9DU0oyCGsu8Gm/6eaWIbaey69g279qOddoNQDqb0Y/MTz9gGg46aLq+xo2cDjxwhrbk5b9VK1di2fIV+hrZXiB1BGAbXV1ley1x2Eq3Y4HlOGXRZ69laUpXCh69odnmzk5dJT9blvjMtKYWVx0qx27K1Kn46EcvxhVXfgKfuuITeP/7j9AWultx6hcEQRAEQRAEQRAEYbiQXfUaeh74HqLn/x9ETv+KHSsIQ2cIwioFI5d+7J9iKDehoqDq9boRDnjQ3hxBwO9BKptBZ3cnUqkEPEYJrhJ9q5ZQVOkprtIvazyZRiZX0JsrZfMmMgUTpscHw+NFoVBCPJ7QO7FHomE0N0fhcruwYXMnPJl+HD/KjaPCBRzmSePYVgMToh69c3usqRkFVWBfPx/nH0A+V0QuW1R1JZEr5bC5tw8ru1NYXQxiUa6EDarOvNuLSNsoxNpaEY2G0ByLwuPzaBEuoNoTUe1tagoh2hRFU3OrtZlVTze6Eim8uSmBhT15FFz0M8sHyEmleLir2bnyy4XCiRMnYcK48do/Ld/b7u5u9Pb0WhfLKK9x0eLFWLN2jbbo5NjMnDkTo0eP1te4idUhh9B6tY3ypH78fvGiRer96LfrrRQcq/fFshq1T3YSR8yl79X2Ue2WT2BVdiKZwt///jreevsdLbA7LgLYzmp1sxxeD6s+T506GQcffCAOOnCG6nu7/oFBEARBEARBEARBEIThSXrxs+h/6mdoveoPCB97uR0rCDvHkCxWjZIKpvXgOzf44WP2wUgAmQI3dsogHPKjrTkKn5v+Vj3IZotI9A+gyMewtYBnIhiOoOjyoiueRncih854BvECkFXpk/kC+pIJmKqCaDSi8qjz3l79yHosFkXM78JR7V5ceWirCi04ssUDd44WsFn9SLbLo+p1G+jq7MS6teuRUHUUVJv7VHdXGhH83RyF+zt9+N2qHP64JoNXBoCkz6eF34IqgxsT0UkBH3nXfgrUK6U50+VCULUn1h7TIh39yQ7kTKRKPrgMrx6TcrY9G1444iofZ6d1rlv7RTWQVOPe39+vr+k0uhNbe7Ju3Xq899572vcs4ydPsQRG4giYU6dOxfQZ022B0sDy5SuwcuUqfW17wZJ5ykZKXXeETbpkIHyEfyiBm5I5QimhUD5t2lTEWmMo0v2B16fatRq/v/MPuPvuP+Lll/+ud/7fvLkTiURCu7Hg58kpg1apjmUq+2r5cKXvWn6mBUEQBEEQBEEQBEEYjiTffhiJN+5D29WPIPC+M+1YQdh53F/7yldu6BsY0D4jdwRKYQXDwIq+FOL5Eg4aE0MAJSRyJkxvAKlsHm4YaGlugS8Y1o/jU6ji4/bcIijPx/pLLqTyQLZoIgcXCipHrlhUabLwutzwe73IpFNaMKUlZDgcQYg+MU03MokMgvkUWnwuZNMZDPT1wWOa2oqSomgwFEBrSww+T1D7Zs16PZjfX8TjG4p4KxtCR8GLTaqtq5IlrOlPw+MxMSrshq+QV8duuGjVqP65VDBdKlDw4x9VmKlamkpmVR+L2JA3sSyRR3PAg7ltfoz20x2AndZQY8EX9c/Ced0KBbuenh68995CvUEX4QZJtPqkZaUDx27hwkVYt36DFnzHjBm9ZeMli+3LHgwUGzds3Ihly1ZoAZGWq5MmTdCP81tlWuKmI06+/sYbePXVV0E3D3xPTjh+HubOnaOvOWn8fp9+zyimZjJZpDNpRNV7N336dNUna9OnrfCTxHwGVq1ajcWLl+p2uNT7zx39E8mkdk/QsXat3gyrY439Wi2oNHRTwJ3/16tx8vv9aGqK6locotEmLZquVWkp3Hrc6rOkxpabcb3z7rt4990FWLhoIZYsXYrNmzajT32uEomULaRaYavAagnC7LbVd6v/giAIgiAIgiAIgiDsWeKP3oTIUR+zz7YSf/Uu5Na+jfYv/Rnece+zYwVh1zA0YVULhiUUaQHal0J/toRpbREYbi/e6MriVRU25kw0h7xoCdF3pWFtFBT0w6BVZLaAgXQB6ZJbW62WXG5VngrqGkVXa/f6Ik0WEfB5EQoFtS9PinS5TA65nGX1msskUSgWEI40wa/qptAXaYogqOqiP1VaYHJzKopn73X24y9r0liSjyIfCMPwuOBy+1D0BZEwXehPZtHmMzAp7EPA49HXWYdRMlBQ7aH1Y0G1O5NJIZOnC4MiSgV1XaXrzOagWo/D2kPbCKvaMQBFty2C2/bC294WVsm6dRv0Dv+01KUAPmP6dBx88EH6mqWVqn4aLmzcuAnPPPOstlqlsfMB06bhpJNORHNzk06jU7LLKpPfH9DiJkVbWjXzfZo4YTza29u1OMk0VlrmYyWWsMp2WNeBtWs78NZbb2HBggV49933VHh3i/i5fXhXp2OYr/IsXboMk/QmUxN1uwjLpVg7duw4bYna092lLVtZt8tNi12Xdj3R29uHDRs2YPmy5XjnnXe1he6CBQuxbNkydHf3aJcBbo9bvz/022pBK9uhvweCIAiCIAiCIAiCIAydasJq/9/+G8V0P9r/6SG4opYLQ0HYlQzJFQAVMe6BT0mJWhJFs/5cHm/3pvDI2jj+uCaN+1an8FZ/HimKdfks8pksCpk83IYbQX9AP65fNFwosQAGtkSdmy6Piveoc68Wu3KqXG4URb+mFLECoTDaYk0Y296MCWNHIxr0wY88/D4PsoWiFsaowlLiokhL68d8MYd4yY1+dxgljweqBrhVH0xVH8UwlzeAzQUflg8UkTbdemOjUjGPfC6rfW/GEwm9KVYql4HhcSMUjqCttQWeUhFjkMXclgBa3YYWEPnPERlHCvRdS1FRC4Oq6Rwzip4OjmC4ZOkSrFrFR/oNBIIBzJo1S4uXFlYaOyna29vwvvfNRCQSUWW7sXHDJu2blYLmVlHVSluOJUJbF5jPoz4nbjeDRwePx6fjtg++inRe9XFyRM+tUCBvbY3hggs+hI9+7GIcNudQjBrVrjc+c6s8zOv1+uDzBdSrX7chnkhiTUcH3nzzLTz40MO47X/uwG9+cydeevFlvRGabnW1zgiCIAiCIAiCIAiCsOcpFdD311sAbxDtVz8Kw+8YpQnCrmWHhVUtG5ZrSKoEw2UiVyhiXV8GG3IeZEMx9Jb8WN2TRWdfEslkEvF4CgPxNPr7E0imkqBvSlp0sigt0ppaBrXKd3lQKJooqkDLx2AgAJ/Pr60NoeqyNsFSKb0qLtSEdC6PfDGv49OZjCpAlasb6UYynUY+n0PB40XScCPncqNgqPLVMd2nuvjYuao7p5J3pjLoTeaRyeQxMDCg/Y0W1WRkG2LNMbQ2NyHkD6KYLSKTSsHn98Cv2hN1FRDxubUlaTWqxw4fKFprK2GOm2H5Et1WJ3Tp3fMXvPceEomkFkXHjxuHAw+cri2QKZbSipMbjlmvBZ1r2rRp2mKUZRfUe0D/pXwEn7B81rc9fNzecj/Q3NyM8ePHY5yqa9y4sXYYUyfw+jidZ8yYMfpzU85WS1l+rnx6N/9PfeoT+MdPX4kLL7xAW9/OmTMHkydPRmtrqxbQvbbAyuDx+uBxe7Xl9ML3FuHue/6I++//s7bk3Rb2a7i/64IgCIIgCIIgCIKw71FM9qL7oZvgGXsIWj99px0rCLsHY0NHh7myowPz5s2zoxpDq0wDRdCL6l87urGyK41jJrVjY6aAP3dksSlrYLQnh3Mmh/GBiVFEjJJ+pN4wXaAxaipfQFcqi0TRgGn44GI8ZVHDVMEFd7GEEAoIuUvwq0C/psUCNwoytbDKR/v5aDp1OVoUUojLZtLIqnJNjx/haBj+gF/7cy2kMmiO+PFaErh9WQ4r80EYXo+WvVRRKrA3BYQLSRzljeO8cSEc2BqF21eEV2/oRJ+glH6BQjaLZDKlex8KqfIzWQwUing9UcLqRBGnTIxhdsyvR8goUXG2hGJthVnFotER+vjY+j1//JP2JcpOUeD78Icv0FaUDvT1ee+99+Pvr76mxcvZsw/Fxz52McaNHaOuWrUMFkfQdKwsH3/8CTz40COq3LwWVc879xycfbblzJlJmeyll17B/fc9gHg8zkHHzJmH4Kgj3w+/36s3gtqK1Ra+L8VCAa+9/gYWLHhP1+nzeXH+eefgtNNO1ems/jMP/xh4+uln8MCfH9bvGy1iz/jg6Zh37NHIq3btCGyzSxUcDofVGG4rrjYiny8ioTfwGkB3V5cWlHt7etDT06sD+5/NZnTaQrGo+l7CB045Beeffw7CodB2YysIgiAIgiAIgiAIwu5n3dVhtH/sh+j7608QOu5TiJ71TfuKIOw+huRj1ZKMaDnqwvL+NAZyJRw2pgnTYwH4TROjPHkcM96PI0eH0Gr7KqV0SrGL1qOpVAq5Eu1L6ZmU1ylcUmQ1tOWql4/ql/LqmK4DTHi8HgQCIQR18MPr88Ljtnax11avqkFsEzfMWt6XwZt9OSweyKA3nkHE7UbU70JelbkxmUG3CqAwa7rgof9UlTGn6prkzuOEUW7MUW1uivi1eEu/ryXT0P5ds+m0tmDlZk/Rpmakcxlk8nkYoWasThbRl8nhgFgQYwLW5ky0mNVGszxm62oIbRTgdszH6notMFs+Vt+3Uz5WWTfLfXP+W1i5coUWBcOhIA4/fO6WzwObTVH3b88+hxXLV6mx92vXAYyz/Jm+jbfffndLeEuFd95+B2/Nfxvvquv0Scp6nLoo3E6ZPAmRSFTFWZapVtvpY3UVFi1agkK+oEXYI46Yq61iKVjuUAiHEFKv3CjLEm8tK1WOm2OZ6wigzivTELfqGy1dYzFay47DgTOmaxH7sMNmY+bMg9HW1qY/vwPxAZXHpa1zU6k0JkwYj9GjR6k4XcyW8gRBEARBEARBEARB2P3Qx2pm5d8RPftbiJz2ZTtWEHYvO+wKYCuUCw0ticKgeFVELJ/ESTHgEzPbccb4GMZ7DbiLBUtkVCmz+SwSiT54VPr2SBgRj1v7KaX1KzcxcpdK6ryAkMoX9ntUOgO0Vs1m04jH+5FIxvVmQ5SsKHBSAKNVYliVFWtpQdv4cVjrDuCRDQX8cVUWz27OocugR1UTY9wlHNfuwSGRHAKFpKonD6+ZR8DMYIzZj7nNRRzY5IYrn0E+m0MmV0IubyKbKyLeH0c6mdCbaEWbmlR7ssjkC8h7vEiVaO9qjQSHohy2c7jLaxR1N27YqN0umOp9ampq1o/Bl7N06QosW75SC6p8S0pFNTZ0v6DeC4qghZwKfFWhqI6LauwK+aIaRyuOG2IR+shdvXo1li9foc+3//hRgOUwWsInfb1W4oiitYKDc+wInCxr7dp1mD//bR244RX77viWrZa/PI4bo1E8PeWUk3DxxR/B1KnTtKhK8bu/vw+bNm3W6Yb/Oy4IgiAIgiAIgiAI+yaxj9+K8Imftc8EYfczJGGVUpNlgwp4SurIdCNbdCOdKyBomGh2A/5SgU/CqzQe9ceFTDaDRHxAWxFGmyIIqdfWoB/NATd8RgE+M4tAKYeo10BLyIu2aAjRcEhX5lL5g6GQtmLUj9/3x5EYiCOTTqOQz28R4FJFExsKHnR6m9EXGouOQhDdBROBYBgt4QiOGteCc6a24OjmIg7x9OMgbxzHRnL46AQ3jo+VEKAVaq6EZLaIZCKFns2dWL9uPQYScbj9HrCWgb4BHegRtuD2IENRzkW3BBRXa7BVrxsmUMC0WtvRsQ4bN22G22NZd1Kgbo4162tkQI3ze+++h96eXv14P62FW9tatXUmd/hn4OZPo/hqn7e1t22Jb29vRay5Sb/v3Ek/EU9oq1TuvG+JkGWjpg+3tq3auPFaveBQfkz4GXn99ddx++2343/+53/wm9/8r3ZRUE61/NbLtiLrlCmTtbUwxX3GcUOshPqM0EUDqaxbEARBEARBEARBEITdy4Rbkwge/mH7TBD2DEO0WKUFKu1MiQmXYSKVzaLg8sITCmvRsWTyUXqPfhw+m0whnUggEAgiEmkGH6E2TBNBL9DsB6LuIsLIIWimEXYVEeAu9apkbjDEDYy4U3sqmYRZKuld5puiUS1q8RFsPj6fTCT1Dv5eo4R2VWaLmUWkmEC7r4AWPwVgE9lsHvmBJGb4DJwzJYyPHhjBp2c147Pvi+H8qaPQptq9puDGQgSwwetH3udSdRTR3hbB6DGj4PUHkM3lVX39qsuq9y43svT7yk2wthhWbiuoWQK0Yi/rbI4oWC4OEoqbFBf5WL9b9YfC9bSpUzB61Gg7BbB8+XIsXbFMvY90/WBi5iGH4LJLL8UVn7wcn/zEP+CTn7wMnygLn/zU1sDzT33qk7j8sssw65CZVDf1WCxbvgwrVjhWq2Xopm1t49aW7jy0LI2qz42L7h3UBzcRT2Lzpk5teUvKhmULlkDqhK3jSGgt7fV4t7Z1VzZWEARBEARBEARBEARBGPbsuLBqgk/+642f9KkqIV/IoJjLwO8G6FKVYpOhXwtIJQeQTcURCYcQpj9Qww392LzLEquMUhF+PpIP9ari6FPVpPLFy6zL5UYkGkVzc1SLp3zsmpsG0YcmH1lvaorqcvrjcZSSSRwe8+OUVuCEUApnTwpgRpNXi2i0lPSqRuddHqzsziOVKWJiyMBYtwl6Ml2WAe5bV8R/vduP3767GcsSJTS3j0KsOYag14eQL6D9rtKac/TYUdqPp1eVpa1yVVuHu5GiIwBSLGRbc7kCXv3763hvwUItqnLjKu6kf+BBB2o/oySpxpPCa1dXtz6PxZrw/iPm4uCZMzB12hRMn36ACtPqhmkq3cyZB+HwIw633ivTQE9vHxYuWqw3ArM+glsHj83cavFpf8h2EfSbGggGrfJVWL1mNdatW6ev0V+vM0ZWvU7YFual9Wtff/+WTbXoTiASCcPjURNAEARBEARBEARBEARB2C+wFLQdgaqqfije2naKCmo8lUE6m4ZZzCGXzsAsFFHM5zEQjyOTyyHa3IRAKIAShStbqzJt4YrCKnfmd7tc8Pi8KBQLyOWyVhqDtqbqVV33eb1oiTXrXd65idRA3BK2PCq+qakJrS2tiASDmBgATmgBzh7nw/sCBZT6e8BNiygK0tp17UAazy7djHfW9mMgU1ClGxgoFbCwN4MlmTA2esZhadyDTWkTRbeP3l+11S2tY+lTNBC0Nm/iRlw+uOEtAm7dLas/e47yR9+3CpPVYDqKf4SPrdPK929/ew7PPPMsUhQ3VXZadM6dOwfTDzhApyPLl6/EkiXL9PixjAMPmoFpB0y1rzqwz/w8VA/cLIoccMA0HDBdlU1NU/1j2atWr9HXtowbr/E9d0639G+oWG1z2jBu3FiMHTtaf8ZobUp/ry+//Ire7Z9Y9ZW/h1vrLx/DpUuXYuHChdrHKj+bFIzp+oBsFWcFQRAEQRAEQRAEQRCEfZkdFlYpG/GxcAqsOnPJhVC4GbHWNsDjRzJXQG/fANZv2IxEKodAuAkGBUruyG7lZi4Nj7KmgSw8KLo9MPlotYs78VtpuKEVxS3tdoDimAFVVwSRlhbkVO098QRS6bQqm5tfGQj4/Ii6XWguJBHK9MOTy6uSvXCpuvP5AjL5HJo8JRw+JohD28KIebiDvypXtcHrMuB35+D2pOAPFLSbAm7MRWktk8nrEPAH4fP7YRZLMHM5lPJZuFS7nEHc2rNqVLm6RTgsu1a/ENUeCqrWbvSJhOp/KoV4PF430E9qT28v1qzpwN///ir+8Ie78dCDD1suADxu7WJh9uxZOOboo7QvVMId/BctXISuzi4tIjc3N+GQmTMRa6b/VTbSaSj7wBGoFSxL0FgspvIfgqao+jyo8jZv7sTSpcuQ135J7XGwi3SsR+l2obu7R28MtWnTJmzcWB42lx1vrAhW/IYNG7WITGGYjB8/ATNVG7gRFWMY/9JLL+P++/+MZcuWq/FMatcAhUIJRfUeU4QuqvZxrLPZnC7rjTfeUmP3CFavWq034zLNorbKnTRpoq6DaHFVBFZBEARBEARBEARBEIR9GmNDR4e5sqMD8+bNs6MaQ2+b3Om/aBj46+pOrIjnccb0sZgRdCGXz6N/YEBvKkUhEhRUTRNev1dbRXo8BrgZFQXUzkIR73WnkMmbmBIxMDHsA/JFGKUSmiIhbbFK0ZO6GMVcSlX9JWBNMoe+dAF+dT7KXUSrt4SA24NiAXpDK8MoobklBr8/oHenp1iWzmQQ7x+AmxanoQi31EJL0AufakeqCLy0eQAvbUqjp2hiesyDcye2YGrYi0yxiIGBFPxuN6JNIapxyCdVWemkKicEdziC59cOYFlvCqdMbsFhMdUH1VKjpPqohWGKs5bVqz7WBxSL9YuWFGkBec8992LN6rV6rE466UR8+MMXIBgKMJWmt68P9933AP7+99e0oEe3CmNGj1Jj7FPjY70fDpYcrMrmuKny6Bs1XyhoNwq0zqTIzDIYaIU58+ADcf5552DS5Ek6PYXP995biHvuvhfr168H3TYcccRcfOTDF2rLTN32waKHQJWpyqBAyn6+8+4CXQ+tWD/20Y+oV8sK9qmnn8EDf35QvWdsnwdR1cdQOGyVsbV7W1Hx1khWtojCLF1U5HHkUUfgtNNO1T5RyaZNnbj/gQfx1vy3tAsEPT7qPW5uacbUqVMxZcoUtLS06Mf6KShTfGV7urq6sHzFcqxevUZb+brVZ9lU+caOacOHLjwfc+YerltB21gX54ducLVGC4IgCIIgCIIgCIIgCPsCQxBWLYHTElaBx9dsxoqBHM44YCymeYropy9Tn0+LYhToSoUScvkcsrksigU+el9S193ocwfw5Losnl2X09aBx45y4UMzWtFsZrWQFYs2AW5VARUyCmWqrL6Sib9t6Mdf1yTQmTXQHvDgpLEhzPFn4Uv26jr9wbAWvUKhgCVtqewsgpabuWwOfn8QGdWWgWQ/ItEgmkJhZFMFxHMF5ClS+v1wFYsY41Nl+DzoTcS1+NYcDWsRMplIa5E2EvKpOsKqBjee29iLtzcncOKkdsxuoYBnVhFWLZFNR9kHtMylyLxkyVLcc/cftUUp0594MoXVixAKBvU5+09h9U9/uh+vvvoqfD4/6OeTflFL9Eera9C9VcH5a8G2O9CFAcVU57F2bgI2Z+4cnHLySRg1ul1brhoqnuP05wcewlNPPa3riURDuODCC3DiiSeo8igaqjJ1f7bWWR1LVCe0siVPPPEkHnr4YaTSGXg8Xpx37tk4++wzVSkGnnjqKVXvg9pilO2j4FnizmD22PGN3NobhYov05O3gfXms1mc+oGTcPHFH9E+eWldahhuPc4PPfQoFi1aZJWpCi2oz2ZR9ZViKut20V+qyxJWdTvUNdbuiNGUT8e0j8GZZ56OI48+Ah7byrak2sPx4ZZp9cdGEARBEARBEARBEARBGMlYatdOYGmHBjLZHBLJJAJ+P6KRqL5GMcpwG/AH/Fv8oDZFYvB4QljXn8Mb3TmsNaLY4I7gnVQJa9I5ld4S1NLqOJ8vIpPPIKsCha/VfUm8sCGFRbkIugOjsSgfwrPqvN/wYfLkCQgFA+jv7dOWqWZRNUy1i3JYItGPYjGL5tYoos1hjGqJIdYcRU6VuWFzJwYSAwiaRYxCAdNDPrQZQC6bRV8qBRRMNAeCcKuSEgP9up8h1ZcAhTrWodAPvG/R0KqLaVtlNubZ6veTaKGTflvVWHG8eO5g1UBswc9FYc/QFpV8pJ3iLkXDYCioLVytwOOg3qgpFA4h0hRBc3Ozfoyf1piTJ0/GccfNwz9c9g+46MMXaFHVEg4t6Pt0ydKlWnCk0Dpt2jQceOAM+yoj7deGQaHSsuSSGl9y0EEH6sfm3aqPxUIey5Yv1Y/vE4qrVv8oALu0QO9X76lf9ZPWx/pVB3/Fq3PshIAeG/rDpZW0A4VRtmPy5Em45JKP4PTTT0X7qFHaty/ropsHt8er+2wJ1xRUVT9UW91et7rOND71GYpi7uGzcMmlH8KRxxyuPwBF9dkxDO2RV/1znEgIgiAIgiAIgiAIgiAI+yrG+o4Oc9VQLFbVP0plf+3oxKLONE4Y34zDWv3wefmAvqGS0XqPaS2JiekpwlKLLBkG3u1N4q6Vcbyb8MNdMnFgNI+LDohgVqCEZM8AvN4QfEEfcmYKrgItKQN4oz+HP64HVqAZLo8L+byJiUYK/zjdg5PHRrSW193Zpf2Ocvd+iorZbFZbLoYjYXj9Pp2G1pOJVAb9ff3w+1Sbw0HE40k+O46IykODxHhyQFuUtre1w+/1oTcxgGIxj1ikCR51ToFO2yWqvry0sR9vdSZwwsQ2HNbC/m9vsUpxjnVTZuQBLS15xaX+dW7uwltvvat9nnK8Dph2AGYfNgs+n0dn4filVHvfeftdrF27VltN6qIULNt5Ryzs+nik2k/Bln0MBkOIRi2BtbWtBS0tTToNYT+dPGzmkiXL8S4f12dT1flBB8/ArFmHaGtOllku/A4WJx/dELz99jtYsXyljg+psT/88DkYP348lixdgQW2mwBuZrZ1szOnvm37ufW4OvSResD0qTh09vv05mdWeVY7GNi/9es3YfHixVizZg26uruRTCT15lZM6vzqQDcGHMOWlhjGT5iAgw6cgenTp8AXoHVyyRo/9V5bMj4leLfOu+OjJAiCIAiCIAiCIAiCIIwUdl5YXbMZS3uz+OD0cZgZ8ehHt3mNT34znanFJvW3aCKfK2i3APlCFvES8HbSjbd7SvAWi5jb6sX7xzehLehGOp6Cy+VFIOxXufNwqbyFogtv92Vw/8o03k57UfC64M6XcGjEhUsPDGBWs09bGOYyGT7Brd0OJPrj4KPfLW2tCIT8KPJRcNUml4rr74ujv6cXbe0t8DdFEI+n4TMMeD0mksk4NqzfAL8viDETxiOl2m0YHu0OwOdRHStRVDVAxwYUAF/c2I/5nUmcOKkVc2J+3d+awioVO3VI0ZnQn6y+7nLr8y2YLL0C1W6deadRg69VU4Zy7PdW12NtYmXB9JbLAQur7YNri5NWQTWZWbbpB6+rvtIy1MU6HTlzV6HK1W1nPWVtsRqi/rP6WSqqzyQ3Q0ul9MZdFGXZJgqwfr/6LIaC2hKbriasNnJMnPJYljWefLfpHsJxfSAIgiAIgiAIgiAIgiDsmwxdWDUtH6sUVpf35/DBA8bioDB3mGcaWlGWwMfduYlVNqcC/asabni5C30hj6ILKIabkIYbAdOEP5eGV+UJhyOID8RVOSYiTWHkCjlkUxkUVGX5YAjvxgt4fl0cXekCWtwGjp/cjHnjQ4ipvJlsEfFEBqGQX+/y39vVpeUufyQCXzAIn9cNj2Egm8lr8ZbuAYJNQf0YeLIvqTc4CkYC6E8MIJMuIpfMIJlJwB8KojXaAj9dAngM7U+T5remy0RKtf/Jjn4s60ngg1PaMTtGv6gldZmPg1tiniWs6kMrqGM9TOovUxXSCWR7NsLMpqDNZdV4aMmOeTTqjFaR6oj67Jay9CvT28fEOdZCri7Fto7lgfPHCU4m50gnUKgW2xXpWnU5qk0sqBzn1MlWjfI0LEed66K3KYuCJL2S8p+VxsEeiRo4hZHyfHrEVXVsszVu25XijI96I9hXuldwaf+zajy3lEOYk61Qn+hSSYWi/mzqcVcJ9RX1ufbH2lUYpeIo1LItVn8EQRAEQRAEQRAEQRCEfZMhCKvEkqkKMPDEms1Y3JXGB6ePxfua/dpilZsA5fM57ae0VCzA7fHBGwqh6HJhcyKLzqy67nYDPhfafG5M8HtgpBMwKKaGo0gmE8hmMtqvJcvz+vza16bH7UFa1btZ5e/PqNoLOYwJqDLCfmRNA13pPOKZHKIqX7BURFSVHfT7EE8kkc4XEPKH4FFtoFga8ge1xW28WNSP9hfTWRXnB3d0z+Vy8KnrA919gLuAllEtKGYLyKp4w3TD51b9CRooqvJf7crjviX9iKi+XDqzFbOi9OlpamHVGicGQ/1HCY6ndB/AWPVPtZE6as/aFVj14l+Q27RG+/is1C91RgqAPNCPnBMnEV8rM1Sia7OPnbR2u3RgmdZ1CpGMKk9FKDjqVNqK047UOCmqY/VlawYeGVrwZF0sV8Uw0i5mm7LV8dZ216I8QyXMy/aqtuv6nLEj1hH/6hrUH123CnoMVMSW94Gn+iLzO4k4HkxbRN7lw6T3n4QpKsBFlwN0XcFU/AwIgiAIgiAIgiAIgiAI+yJDFFYpSQJ5uPFURzfmb0jhmPExHN7qhVHMaWGSvkP9fp/eQMil0iULRSzrS+K1zgIWJYDufEE/Dj824MGx48OYHSmizWUi6AsiGY8jEeeu/VG0tLSCmwlpUUurYwb0s/6KVDaNXCYNVyiCd/pL+FtHDxL5PA5uCeH4CU2YFlJ1a+tCE6VCAQMDSfSqsoPNITQ3NWMgXUJvDqodblVkEV7Vr4BZQMBtiWdukxalBfgCftWPMErqeiFTRCaTV33PYVMJuL8jj2c3AYeO8uOKGUHMjvp0W3U7bYGOopzlFoCnWnGzj0vqUgmF5ACy3etgZhPq3LlYhl0MRVWNFgjL01nHlgipjvV/Zde3tKNS6FNpdJGW/ayFnVbHq3brLE59tYRCO48tPjp5iW6T05SyQwdaqloHzGRd3ZqcGXRhNuqKTmbH8bJ1VB19UWdQf3li/dVo1VQFZ7x1/UzBV5XO7osVy96rI36W2F59jXnVPKCvXcMLT+t4+FrGqWOPTmsVa5ctCIIgCIIgCIIgCIIg7HMMyRUAxSRKcQXDg6fX9eHR5UlMCntwSruJyTEvosEg/G6fFkQLpRLSqRTWZYp4YnMRf+sy0OcKwXR5Ve2qrEIO44wsTmotYl6rC2P8LnjchraMDKpyuLu7Fr22CGCWrEtdzK3KTqbiWJ0u4c9r83i2B8ireg/yZvGJgyI4dpS1cz+zcmOh/ngSqXQWbq8XedX2lOlF1qAQCrhUn+g11meWEFBpmyM+RAI+JAf6QHebkeYmuG2RkfIcW7OwP4PfLMvg1V5gbruBT80IYXbEr9tOQdJli6t0GUCqWTBqK0qnb/sEVl/Z212FUyIZriNF1xeWOGttaCYIgiAIgiAIgiAIgiDs22yv9DXEsK3yPDpzyWWg0yyhx+2CNxBEyBOCzx1QaVza52lfbwpplXZ1ycD8uIkeVxQFfxAFr4GSx0BRHa9HCK92F7A+byDa0oxYczO8Xi8KBe7Obqoqy4QqderWgYKkC0FvGLk8MFDIweVzw+XxIquuZQt5LcIZLkrAJhLxFMxCCaNGtcEfiSJTcqOoeuAyTB1oBWu63MiqMgteNwyPtZmU10+Zle4BMvqcW0oVqZ+pOsaG/Jja5EXYyMIwWR8vKLY01zrX7dgauQ2OCJdIJjEwEEdJW0Vui9brKuC4cId9btjFcWLedJqbLpV0nG6iHbhrPdOzHB5b+ayx1Qa9LNBOTb+4Oqg+8zWdSWNz52b09/epcy1p69Rb0249d+L4KDxfWQc3gcpmc+jrG0Amk7VSqqRWUOm3lGeVUA7z9vR0Y/26tXozsQ0bNqK3r09vgKZ9nW6p26LynDAunkjoUPX6Ni2wYDIrKf+UBwern7TM7urqVG3qATdn46ZfIqoKgiAIgiAIgiAIgiDsH+ywsEp5qUBhSf3jNj1GyYC3ZGJU0I0xzWGU8kUkk2mkcnn0JxPwBTwIhoPoTBTQk3Xp3f49RVbs1sFtulBy+zHgDiDn9sCtH1c3UCpaguF26MslmAzqn9vrwahIGAeGfZhmpDChNICZTT6MC/pglpjGg1QqjWw+g1DUB7fbhUy+hLzhRsnlVjXR/lSVZKg61XnR40ZG5ctk8yioPnBTIwqraVVGQeWjz9eCWdRWrM0eF44eF8AhbWoMTIqr24pv7IfltqCx2LZxw0asXbsW+XxeC4oU7bg7vTMGFEuz2eyWOKZh+vXr16s4Cnxd2jft5s2bsHr1KmQz9G9rtZeiLjde4nhk0hmsWbMGnZ1dWgSkn1f6s02ns7oOq60qmCqXei82bdyMBe++p8rv1X2mSJpOp7U4y3QsN8fNyVS81VZDddml0pq6no0bNyIeH1DHq9DT06P7R/+7jlBZUOWwPPaN7SuHdaxYsQrvvbdI9XUd1nasxaKFi7BmdYctQBtb2sPxsgRRU7eH48RrjIv3D6C/r0+XyTZSgGZ9bIs1RkV9zDgGiraWPuq8d4bqjxo7PU7qc6DGiWPDMXznnXexYf0mXe9WeFx+LgiCIAiCIAiCIAiCIOxruL/6la/c0DcwgEmTJtlRg8EEn26nMLcplca6eArRoA/jWgLwukro7+9HIZtBS7Mf4ZAfhWIJ724u4L2kF0WPT2uNJW0QasBNLc0w4SlmcEgUODDmh+Wl0rKudLtccHOjKxtLvyqhxDJUOgqfnlIB4WJe5Q3imMnNOGZsEG3FlPa/WiyUkM+mEQwF9a7/qilI5V3IqNeSar8lrCooMqoj/qVbAHc+i3wyiVQqoQW1lOpjMZ8HN7fSwqdqSE+ugM2FAjqTOTSpfLNaw2j1edQRhVpqwLpkdtNmy8F29PX1q7+8bmD9+o1atKOYSCvPcDiMzZs7sXLlKv2qBcGSieXLV+jzUCikxkjL3Fi3bj3WrOlAIBDUAiJFxnA4pMvvV+8zX5cvX66vRaMRLXYuW7YCGzdu0HGsi9bCfG+Tqv/Lli3T8WPHjlVjkVJ5V2oxl8ehUBi9vf1a/Ozs7FTvhUuV2aTb0d3dg4ULF+v6fD6/LiMep/DbqfL06TZRrFy5ciVWrVqjhWHmj0Qium7CfvKzNGHCRMyadYh6Ha/bxvHxeDw6/9Kly/U4JRJJPQ4crxUrVupx6OvrU3Xbrh5cbp2HYu+qVat1uyj4UhBlHevWrVNt26yFYNbBdjhQSOV1jvf69Rv0mHK8Oc4DakzHjh2DWCym278ttd9vQRAEQRAEQRAEQRAEYWQzRGEVWljlhkzBkA8BvxfruuNY3tmPJEraSrPJ70MsGKJMiZzpwqpkCYsTJWRcHphul964iiKllqKKRcSQw6yIC+O8JRiFvBa8KGhSVKXQZVkEbhWqLNHS0AJrIZ9GMZNGS9SPWDRoPe7u8yGZyyPV3Y1IwItIU4tqsFu1B8gWisgUaM1Kq0y7VL6qfIZZQkC1rSUUQEtTRIuHUfpX9XjgUiEYjaDg9mNNysTza3vw+qpNaFXxJ0wZhSlNAXh1eaoPqiL6VLU2f7LrsP9Wo6enV79StKWI19bWipaWGHp7e7WQRwGUwl17e5seFwqGtL6kH9q2tjZ0q35yszAKzRQmx40bp4VFCrCxWLMWOilsRiJhna+1tUXVVdCiZEtLC5qamrFp0yadl+eEYmR//4Cug/XxOts0YcIELULSypVWsr29PRg/fpxuB8VLRxil6BiJRFVdrVp4ZTkTJ07Q7aI1KgVWCpwTJ05S59Zj9RR2mY5Q0GQa9ot9IBQ0E4m4tizlmPGR/IkTJ2phltakFIPj8TjGjBmj+86mWBa2dEfQp9s0ZcpkXQ7b5PX6dDytmqdNm6byp7RIy36yL2Tdug3o6FinBdTRo0frcWDb/D4/XOrzOW7cWC3qOv223ufa77UgCIIgCIIgCIIgCIIw8qk0sRsUfGCcWz3RfLTN5cIpY6K4eNZETIlGsHBtHK91F7EwaWDVQAG9yTzSqSQmN5Uwo6kIbyGjN3ei61ODj3MXs4iU4pgRKWJKzA2/G/qx7kQioa0iKZRRSKQYqP1q8nFxipamAT7Iz0fR4+p1oy+Ip7qK+K93unHrO124fUkCL/X7EA+2IGt4kOSj/EXrsfVSLgs/8vCaBccEVouqtFT1qeBV9aiCtdWp2+OG2+WBLxxGxuPFykwJz3dn8JdlXehOFnHCgZNx8ZzJmN0SgJYDKc5qXc0S1lg6LVgHCwVkCpETJozD6NGjtNDoUW2gRWShkNeWrHzEnZt6UfRtbm7SlqeE6Rjf3NyMpqYmLYw6Wh/HibA85mlujuq4nBoLS7QuIRj06zTWuVVeMMjyoqALhUDAj/Hjx6K9vVULs9lsRr8nFHEpVlIQdfJSaGRdTU0RXS7bOm7cGC0MUyTle8r3mLAdHjW2Pl9AHW87VrzmtJ2wTsePLC1aCV/9fr8W4B1htqurW4u+FJopSFPIpdUsx3bMmNFaCG5vb9fXWO+YMWO1MMxxpihaKGytM6U+v6FQAJMmTcTYsaMRU+NXVO+Fz+fRY8Px3yqqCoIgCIIgCIIgCIIgCPsDQxJWXdrWk2KkCy7ThL9UwvQAcO6B7Tj3sCkIe114Zc1GPLhsA94ayFBlw6HtUXxwXACzfGk0F/oRLGQQUCFWSmB2NI+TR7swNWAiHPBrYXDUqFEIqnwUzWhxSCtEbkCUTGeQz+VRKOZVK0rI5opYEy/i6Y0FPLy2hJf7Q3g7HcYL3Sb+vCaNFxJu9HgjGEglsXHTBgwMJBHx+9AaDsDvtqxmKQbSUpXbWYV8bu3WIJNLoy+ZQMEE6BF0wHDjvXgejyxch/mrNmJyewgXzpmIE8ZGMUrl9aqEHAtVmJZRy2W2baXC2jiipOX6wPLraYmCfPS/pK0waTHJsaAlK0VDPvrubAplYcVZvkJLWywwafFKwZq+QSky0kKTQmQoFNHCIIMlhlqWl05b9GZUqhyKqpZVaZcWRGk1Ggh4bStZ9Ymw028VGHlOq+OsrpfCrDMqFE99Kh9F0FAwhOamGCLhqH78nkJuOSyXAjsf16dVLh+/Z3v4+aCYagnFzbrtfn9Ajxnjpk6drPM6rhPYforOtMDlRl+04KU1LPvndluWy1Z9/Mtzqz+EY8K+08KVFq8J9bnwB1S/1ftEYblc+BUEQRAEQRAEQRAEQRD2D3bYFQD1J0siU0c80c+8qwOKi0YRo3weTB1FkSyEDYkcVvZnkSy5EPJ70O4zMDGqXgNAqyuPaYESjhntxwljwpiEHEKlEuiPEy63LpN72/t8XsSiTTqeG0wVCwVksymkcznk8iV0ZXJ4fmMKL/d40euJweTj2S4DpteNpGppVyKPZlcJE4MmzGIOfr8XTYGALtft52ZaJvyq3JDHQDjgQpNqZ1il8Xq8SGby6CuUsCZTxItrOrF4Qx9GR8P4wIHjcOyYCNrctNvlY/90TGA9gs+hsMRFfaBfiB6vOlD8Y5soAFJYpdBJwZKP64dCQW2xS2Evk0lrIZEWlyyegilfmYaCIoVOCpBsA4XKvr5eLSDy0Xdaa9JalWIrhcq2tnb9KPyGDfRH2qPFSQq3FFwJy6UIyzQUMsnGjZuxadNmbRU6adIU/bi816vGTNVdDuundSnrp+UsXRBY7aNAm0dI5Wd7aJG8YcMG3a+W1hbthmCrOEuR2PLNSjGXfeXYTJkyRbWzXaVzqbhu7UKAedhGtp3jZPlX9erH9NlWCrYUVim00pqV/ae1LttA4dQRadk2j4e+YqO6b4TxdNHAdrJsXps8eYquk4Ixx7ncD7AgCIIgCIIgCIIgCIKw72Os7+gwV3V0YN68eXbUTmDyv6L2n1qEB91F4K31fXhnQ48WRWeOasJhY6NoDvjAh7gpRVGOo6Xn+o2b4XaZGDe6TT/izwf903nu1J5ByOcHfXxysyltUmgW9CZU8YEk3u4ewJ97PFiQi8H0BnTOkotyZ1E/3m9kMjg5lsMnD4piQtCL1EAPipkcAtEYPEFubMTyaINL61Va4jKvC7QBXZ3I4M113Vij6mgOh3HE5FE4pDUIvT1TiRtoqUYYFFVVoIGjowcOAVpXllt9OsdsHwVES6i0rFApAlJ05TGFQF5zxFDmowhLGEf3ATSodDZxYrG00mQaioF83J8WpU65Vho1FrYVqtMM1sHhz+XU2BeLWsClgM2y2UYrWOkcmJ+Wnmy/075ymJb1WhatlkBbjtVWq1ynHbQuJTxnVfl8Ufdxq+Ws5T7AKtOt+u1RcVbb6UZh9eoO3WemoYA6depU7TaB507bWafV363vA485/jznOFltZ7pt0wuCIAiCIAiCIAiCIAj7B7tWWCVmSQXamtK/p4GcCquyBby2thcdmwfQHvLj0IktmBoLotVtwqtSZktubB7IIl0ooLXJi2avoeI9yOYKiKfTCAb82kVAqVTQG2ZRyiwVTWSyebyt8v1uvYEFqRACtjCXM9zaPyof70c2i2ObsvjU9CAOjPq1IpdIJZHK5FSZAYRUoA1uyVBtVnkKpgud+QLe60ni3Y092mJ0zrhROGJMDG2egiqTga1WdVFUs+vRkpoxJM8KW6BAR/GOUAgtF+qcY+txfktIdQS9Wmx/3VRjqHrr2hqnkqg09sl2UFS0LtJylWNBK1BaoFJUzOUyqr1We1gXhU1ah9LSs7Luam1t1H5S2T7mcWDddDXAx/E5HrRItTbPshMoyutgVrpFoLUq20pfr7T0rdZWsjXftueVNLouCIIgCIIgCIIgCIIg7HvssCuARtAylRafNGSkhakBE60eYEZrBK2xCNb1p/HO+l5szhTg9vsQ8HqRyZtI5lwoFF3IF62NjPwuNzwqf7GYBy1PfV66CGBptHA1kEomtauAjDeIBf0FrFf5+fh/idqWysc0tIQ1SnlMDpRwWLMbrW4KgIYWB91uE6lMGqVCER5adqr6aGG7qDeJF1dsxPLOfkwc3YJTD5yIObEgmgzatJagWo2iSktB1apHvahDHttHQ4aWoIsWLcLatWv1I/G0jKRm5/g55WPxvEYrVT6O7sBrFPf4Wihwk69trS9ZLgPho+u8zjIY54isTMe8TjonP32WEj5uv3HjRgQCQd0upl26dClWrlypH9PnI/J8rJ/uBChwMh/LckRHUlm+1TYrHXHawFcGtlPFbmmLdU5h2KX97q5YsUKNRwd6enr1Tv2M52ZZzvvg5OeLVS436Apo61aOJceCfWE6XuerZfW6tX6rbVZ5TtustvOc42pZBzOf005BEARBEATh/2/vzH4bubI7/GNVcWlSOyVKYsvuRUonSJxBMvEYM0AeggxmnvOeP3Ke8pDHIC9OAjiBHRh2DzojtZqSWiu1keJWlfudIt20ppexp+NG2ueTuNStuufeW9LTh1PnOo7jOI7jvP+89YxV9GP+gwQtiEfkYyxUOBpFkdrh25fHHX22faLuYKRHd+f14eKMyuHaeDRSPEy1UI60VC2qGEsXF6FHGml2bkGjgrlVZb0bXV5fKrlT1U25pt88OdU/HQx1XlxQIUoUUfM0DBkNe1rILvXL9Vi/apS0EI7tsfRSpFKxoKGiEKenm0JRx4VEXxycqnVyoeb8jD6+t6rNmZLusJY0De8RNtCEMauhbAAvU8eIttCGVvtj1Br1P588eWLScHNz03baJysTaYm85HF5Nq5C4iHC8535e1ZPNN/Iinqk4b4kie1yTxvHZLkSk3qi7ITP9YhIJCF1SZeW6nYd4/NYPVK30VgJ/QZ2HRmhjI9o3NraskfnGQsJjER9+PChCUjmRwYpgpV5sZs+9WCp20obtVmJubS0YLvvkz16cXEe+hVUq82M+3QsW5c1MB79mc/l5YVdTz+yYvf29vT06VO7D2zq9exZy8ZDOHMNn9RkZZ4hjM2ff8Pl5bqN8fjx17ZG5s5mVmdnpzbm+vp6+EsUbJMqRCrrmZubtYxYNgzLr1mzDF7qzQ4G+XnmMCml4DiO4ziO4ziO4ziO47z/vPWM1fyx+Cx84YH9cdYothEvqZEqStWslvWwMW8Zfl/tn+p3Z9casMHRnZKWKAPQ74bLByqWirYrfzYKbXGiOIkIo+51xzJGKzM13YkiVRLprHOj9s3AJGyUFpSkqeaGV/rZ4ki/vDenD2fuaJgU9TzNdD0cajQY6mqQ6Eglffb8Qp9tH4X5SZ88XNff3l/Rh6VYRcbG0IZ55ht25TI1tpzcsK5winNvQ6ySucmO92yUhExkwyY+9/cPTCIi7xCLCEIkJps9scHVRJJ2wvqRp9VqTcfHpyZTyUolJvITOcq1SEUEKoIQWUi8bvcmjPPcsi+Rg2Sm0sbO+dfXVzYOm0SRoTkRiMwhz1LtmLhst89tHcxxe/t3yuu3JrZxFsKUmMwJKYpgpe3w8LkJTUQtbfRdXFywzbeOj4+/WStCuNXas8xUxOikDAI7/NPGXMmUXVxcsvtFbGQs4pVxWTPzQTQjXxG2CFfkK8KXa9iAiu9IVsZF1LJOxtre3gn9uiZs2fiKNbfbF3Zv2PgKCYsMvr2Bl+M4juM4juM4juM4jvP+8vZLAZhajCyzFLHKj+V4FjgTXmlqj8/PxAXdn6+ouTKn9s1Ijw/aOu8iu0qqlhMNB30lyFQV1e8NxGPbSZG6qz11en2VS5XwKoVYqRYqJdVrJZWzvkqDjuZ0o/XijX6+WtSv789rq0oc6Yujjv55+0S9pKS5uXl9ddbTv24f6LLf11/fW9ffba7q0UxJMynTzdjTKswYQRwIb9RhDQvIRbG95Vmsdjh+fV+QiUhQZCiZktQBJSJSEEm4ufnA5B/ylJ39OUc2K1IRqbdcXzahiHBEECJTySBFZG5tbY775rIUkfno0Z9YJuns7Lxt6nR+3rZ2ZCJxJnVIHzy4Z1mcUZRYtilysVJBrKbWj/GQvsCYkxqw9+/f08pK3eaCgCXDE/nJC6mJMCV7mKzcepg7sZrNZvg/3AjryePPzuabSrHmfN3zlnGLyKWdsgSIZGK3Ws9sfsTnHnI9cyGrl5qwzIM/GWvkXhAfiYsk7Xa6JmWpG0tc1o903dx8aPcaIY3QZU3MnfvOPcizYZlHZXxfqNfrOI7jOI7jOI7jOI7j/Bh4+xmrY8VYYMd8ZVZnFQFpOZ/hO5mmJl+zWEmWWobqg3pN9fkZHbav9d+tY7XTSElcsozRarmoESbNxGqsi86V0ijWbLVm2bEUHYjDdSuVRI/qVf3Z0h19tFTSzzeq+lmjrLViGDZl3Ei/Pe3o0/2OWn1p+7St/bNzba3O6VePmlZHdSHMmQxb5si0EcFUi83zUclZpY5mbGux3FVbW7gu9LFv4+PvCtmkT58+M0nJY+YIRcQjO+oj7hCVCD6yPxGjPL6P2EPEMuTa6qqJSbIt19ebGg2Zcz4Xsn7r9SWThZeX1yYU6YOMRUCSgYmEJLsUgUvWJXKVTMx+v2eZnkjGgwOyYrth7GU7j/zlUXtEJcJxZqZmfRCVnENaAnPON70qmxglFlmgEwHK5lHIX9bFHNhQijkhdrkX4ZZoZ2fHrr97txniFG3+rda+Dg8PtbbWCO3rti7kKfcGobq7+8zWzZj8+zBPxCuSF7ivcVxUlvK3LWi1sRr+54phHbN276jHSn/+DqyTtSFPJ+UFWAeClvns7++bhK7X6xbbcRzHcRzHcRzHcRzHef9562IVn5f7Rd5QVEjW8aEd5YIVNQkIrFL4XK0k2mrMqVYq6cnzth6f3Kg9GCquxOpEiU6HmXppatKwVi6rXIxVyEZikyrbsCrEu5NlWilFWg99lpKCKqENv8uD+1dhuKNw7eEg1fVNV/cXy/r1n67rF415rSBtEWxMKcrnaxsRTb04ttfYuoZ3wz7H13wXkKhATIQoNUQRh83mumWAsskSmZHlclE89r+zs2vlARCdZE8iCqn5iQjd+GBD152Orq4u1ev3TWSm6TAsJ9Pc7JzFGwwHJgTr9QWThTs72zo6OlSSUK/1Q2vjkXjEIWKULFVEJ4/EU2qA+SFBEauIUSDLFaF7cnJmj+AzP9aDtEU6IhuRnYuL82EdpRB/P8SnpMDA5s8tQ9IidMk6ZSzi8UJ8Nptrdg3jLy8vaW1t1e4bYxSLicnX3d2WiU1qxFKmYGOjGdov1G6fWfYrGa2t1q5lnXJPuF8rKw1dhGuurq+0OK5Te3B4ENraqtaqNlfGRfJOMoDpNykdwDnkLeUKkM/cD7J/WbPjOI7jOI7jOI7jOI7z4+Ctb171h4NYzGUm2Z8Yylw1SnujTJ/unenr1r4Ul3QTzavbT1UvDfWLu7P6ZHVW1QLykE6JhjG74qcqjfK6rrhPXmkUqZdl2r8Z6PPDc311eKFqMdHHG8v6qF7TfLgm/CpF1o2FnVmzH4BpsYqkQySS/YiM5BTnyehEbiI6Ly6uTELyuDm1QhGsk8fu6UfGJrVBqYOKAORu8h0ByYv4xCEesRGNfJKFmY+RmpxkzPn5WRuLeSBL2aAJ0ZskRRs3nyPz65v85TqOOYdk5DwxgXiUcaANEcqcySKdZMzymD7zQ5BSS5b19Xo3YjMrSgMcHuY1UtnMCxnLOoB4yGDuC8IYqTk7W7P5PnnyPzYPSiAgSRGn1EEFYrA2sm/zfrM2d0QsWbVz82GMEJcsYmKwNtY5WRtzBsYnJrGJSUat4ziO4ziO4ziO4ziO8+Ph3YnV3CuOP3n8nh33OaCOqdRTolZ3oE932/q35yPtDYsaDHv66Uqsf3y0oEfVWIOUR/PJfu2FnuEzLYVQIU4s9UOMs/5QX51d6b9aJ+r1R/qLjYZ+2lzQ3ShcPaJMAf1HoWcYuUAVVsTsDwMyb4IJ3QBtk3baJu3TcJ7m/DLO/36cvO1F3zwm8SbfX1w7GXN6vLyNa6Zjvug7YfrcNJN4Eyb9ptsQpNPHSE4yU5GvloW7cddqwpJFy+P9PGY/HXfy/fY4ZM4iPJGyZOoyDhJ0mum223ObPp4eDyZznm5zHMdxHMdxHMdxHMdxfpz84GJ17K2Mb/RUaCTDNP+aSz00J4/l9woFfXkx1L+0rvSfx10VleofHs7q7+/OqBQ62ab9Go5lV6JhOD7LUj25uNbnz451fN7VZmNRn9xr6INyrGKaKs2GGkXI1ERJFtlmWhk1A5Bm+cg/CNPibiL03kR+OW/5fbKjb+5d/vmH8G1pSMfp78TMj6dj3haN+fcX8/i+TOJOx77Nq+/PpD2fCxti5TAvzr06JjDmdOzpNU7PZ/qaSfvtOb1u/o7jOI7jOI7jOI7jOM77xbsTqwX7xX/lYEg5yNgqihfwbWiZpSdZrM+Puvps91Sj4UA/aS7oo8aMGsVYxdCXbNdO6PS0M9DnByfaOTxXo1bTJ/fXtDVfVpVYGXVHCxpZhddUkW1WhUiNTawyH6sB+46Ylnq/z/j+vJRJn1f1fRNviv26uK/rC2/q/8fwsrFvj/Xdxn7938BxHMdxHMdxHMdxHMdxct5JKQDk6rfcFW5sIlbzA3uNwvso/NCSKBbqk/qr/7F7rsd7Z5qpxPrJxqI2F6vqptIXR+f6eu9YlSjWxx+s6i8bM5oLoZCuhI+szEBoyNj4iq/U62QUxovzc47jOI7jOI7jOI7jOI7jOG/gHYhVNCnclpg8up1vTDQ5h/xEwlJ/FelJHusofPbCuaedof5950h7Z5eaq1XVH2W66Q/0581F/U1zQasJZQLSsTbNlGTkoo7raka5rOWxf/O5ogwAn7zdnpfjOI7jOI7jOI7jOI7jOM63eQelAHKxyuPW469TiaJZ+EGuRipQdJXz4aIMHxoOLYc1pT3SKC6Ifd5/277WlzsnqpSK+qv7y3pwp6hylpqkJQQ61WKFXxsoxMxswyqCxyEiJxiRIgGQvzuO4ziO4ziO4ziO4ziO47yKd1IK4PtjpvVFFqvYz18a2DfKBUhRlloWaiGaCNLwSbdX+NLXnHIcx3Ecx3Ecx3Ecx3Ecx3kp726npu8FWa55+mr+CD9Zppkq4VvJWnkL72PpOm755uNlvOaU4ziO4ziO4ziO4ziO4zjOS/l/JlbHznSMZaaGTwoI8M7j/FFo8V3dHcdxHMdxHMdxHMdxHMf5v0P6X8UIufTATV4kAAAAAElFTkSuQmCC", - "text/plain": [ - "" + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from IPython.display import Image\n", - "from pathlib import Path\n", - "\n", - "\n", - "def datafile_path(name):\n", - " return Path(\"..\") / name\n", - "\n", - "\n", - "Image(datafile_path(\"CO2_flowsheet.png\"))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2. Training and Validating Surrogate\n", - "\n", - "First, let's import the required Python and IDAES modules:" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: DEPRECATED: pyomo.core.expr.current is deprecated. Please import\n", - "expression symbols from pyomo.core.expr (deprecated in 6.6.2) (called from\n", - ":241)\n" - ] - } - ], - "source": [ - "# Import statements\n", - "import os\n", - "import numpy as np\n", - "import pandas as pd\n", - "import random as rn\n", - "import tensorflow as tf\n", - "import tensorflow.keras as keras\n", - "\n", - "# Import IDAES libraries\n", - "from idaes.core.surrogate.sampling.data_utils import split_training_validation\n", - "from idaes.core.surrogate.sampling.scaling import OffsetScaler\n", - "from idaes.core.surrogate.keras_surrogate import KerasSurrogate\n", - "from idaes.core.surrogate.plotting.sm_plotter import (\n", - " surrogate_scatter2D,\n", - " surrogate_parity,\n", - " surrogate_residual,\n", - ")\n", - "\n", - "# fix environment variables to ensure consist neural network training\n", - "os.environ[\"PYTHONHASHSEED\"] = \"0\"\n", - "os.environ[\"CUDA_VISIBLE_DEVICES\"] = \"\"\n", - "np.random.seed(46)\n", - "rn.seed(1342)\n", - "tf.random.set_seed(62)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.1 Importing Training and Validation Datasets\n", - "\n", - "In this section, we read the dataset from the CSV file located in this directory. 500 data points were simulated for S-CO2 physical properties using REFPROP package. This example is trained on the entire dataset because neural network can overfit on smaller dataset. The data is separated using an 80/20 split into training and validation data using the IDAES split_training_validation() method.\n", - "\n", - "We rename the column headers because they contained \".\", which may cause errors while reading the column names in subsequent code, thus as a good practice we change them to the variable names to be used in the property package. Further, the input variables are **pressure**, **temperature** , while the output variables are **enth_mol**, **entr_mol**, hence we create two new dataframes for the input and output variables. " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "# Import training data\n", - "np.set_printoptions(precision=6, suppress=True)\n", - "\n", - "csv_data = pd.read_csv(datafile_path(\"500_Points_DataSet.csv\"))\n", - "csv_data.columns.values[0:6] = [\n", - " \"pressure\",\n", - " \"temperature\",\n", - " \"enth_mol\",\n", - " \"entr_mol\",\n", - " \"CO2_enthalpy\",\n", - " \"CO2_entropy\",\n", - "]\n", - "data = csv_data.sample(n=500)\n", - "\n", - "# Creating input_data and output_data from data\n", - "input_data = data.iloc[:, :2]\n", - "output_data = data.iloc[:, 2:4]\n", - "\n", - "# Define labels, and split training and validation data\n", - "input_labels = input_data.columns\n", - "output_labels = output_data.columns\n", - "\n", - "n_data = data[input_labels[0]].size\n", - "data_training, data_validation = split_training_validation(data, 0.8, seed=n_data)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.2 Training Surrogate with TensorFlow Keras\n", - "TensorFlow Keras provides an interface to pass regression settings, build neural networks and train surrogate models. Keras enables the usage of two API formats: Sequential and Functional. While the Functional API offers more versatility, including multiple input and output layers in a single neural network, the Sequential API is more stable and user-friendly. Further, the Sequential API integrates cleanly with existing IDAES surrogate tools and will be utilized in this example.\n", - "\n", - "In the code below, we build the neural network structure based on our training data structure and desired regression settings. Offline, neural network models were trained for the list of settings below, and the options bolded and italicized were determined to have the minimum mean squared error for the dataset:\n", - "\n", - "* Activation function: sigmoid, **tanh**\n", - "* Optimizer: **Adam**\n", - "* Number of hidden layers: 3, **4**, 5, 6\n", - "* Number of neurons per layer: **20**, 40, 60\n", - "\n", - "Important thing to note here is that we do not use ReLU activation function for the training as the flowsheet we intend to solve with this surrogate model is a NLP problem and using ReLU activation function will make it an MINLP. Another thing to note here is the network is smaller (4,20) in order to avoid overfitting. \n", - "\n", - "Typically, Sequential Keras models are built vertically; the dataset is scaled and normalized. The network is defined for the input layer, hidden layers, and output layer for the passed activation functions and network/layer sizes. Then, the model is compiled using the passed optimizer and trained using a desired number of epochs. Keras internally validates while training and updates each epoch's model weight (coefficient) values.\n", - "\n", - "Finally, after training the model, we save the results and model expressions to a folder that contains a serialized JSON file. Serializing the model in this fashion enables importing a previously trained set of surrogate models into external flowsheets. This feature will be used later." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 1/250\n", - "13/13 - 3s - loss: 0.4963 - mae: 0.5592 - mse: 0.4963 - val_loss: 0.1685 - val_mae: 0.3349 - val_mse: 0.1685 - 3s/epoch - 249ms/step\n", - "Epoch 2/250\n", - "13/13 - 0s - loss: 0.1216 - mae: 0.2839 - mse: 0.1216 - val_loss: 0.0809 - val_mae: 0.2245 - val_mse: 0.0809 - 237ms/epoch - 18ms/step\n", - "Epoch 3/250\n", - "13/13 - 0s - loss: 0.0665 - mae: 0.2043 - mse: 0.0665 - val_loss: 0.0359 - val_mae: 0.1503 - val_mse: 0.0359 - 262ms/epoch - 20ms/step\n", - "Epoch 4/250\n", - "13/13 - 0s - loss: 0.0294 - mae: 0.1329 - mse: 0.0294 - val_loss: 0.0221 - val_mae: 0.1119 - val_mse: 0.0221 - 283ms/epoch - 22ms/step\n", - "Epoch 5/250\n", - "13/13 - 0s - loss: 0.0170 - mae: 0.0964 - mse: 0.0170 - val_loss: 0.0115 - val_mae: 0.0792 - val_mse: 0.0115 - 351ms/epoch - 27ms/step\n", - "Epoch 6/250\n", - "13/13 - 0s - loss: 0.0097 - mae: 0.0734 - mse: 0.0097 - val_loss: 0.0067 - val_mae: 0.0636 - val_mse: 0.0067 - 364ms/epoch - 28ms/step\n", - "Epoch 7/250\n", - "13/13 - 0s - loss: 0.0061 - mae: 0.0610 - mse: 0.0061 - val_loss: 0.0048 - val_mae: 0.0550 - val_mse: 0.0048 - 245ms/epoch - 19ms/step\n", - "Epoch 8/250\n", - "13/13 - 0s - loss: 0.0042 - mae: 0.0521 - mse: 0.0042 - val_loss: 0.0034 - val_mae: 0.0464 - val_mse: 0.0034 - 203ms/epoch - 16ms/step\n", - "Epoch 9/250\n", - "13/13 - 0s - loss: 0.0032 - mae: 0.0458 - mse: 0.0032 - val_loss: 0.0027 - val_mae: 0.0418 - val_mse: 0.0027 - 300ms/epoch - 23ms/step\n", - "Epoch 10/250\n", - "13/13 - 0s - loss: 0.0028 - mae: 0.0420 - mse: 0.0028 - val_loss: 0.0024 - val_mae: 0.0379 - val_mse: 0.0024 - 255ms/epoch - 20ms/step\n", - "Epoch 11/250\n", - "13/13 - 0s - loss: 0.0024 - mae: 0.0384 - mse: 0.0024 - val_loss: 0.0021 - val_mae: 0.0358 - val_mse: 0.0021 - 247ms/epoch - 19ms/step\n", - "Epoch 12/250\n", - "13/13 - 0s - loss: 0.0022 - mae: 0.0358 - mse: 0.0022 - val_loss: 0.0018 - val_mae: 0.0330 - val_mse: 0.0018 - 321ms/epoch - 25ms/step\n", - "Epoch 13/250\n", - "13/13 - 0s - loss: 0.0020 - mae: 0.0338 - mse: 0.0020 - val_loss: 0.0017 - val_mae: 0.0315 - val_mse: 0.0017 - 219ms/epoch - 17ms/step\n", - "Epoch 14/250\n", - "13/13 - 0s - loss: 0.0018 - mae: 0.0323 - mse: 0.0018 - val_loss: 0.0015 - val_mae: 0.0302 - val_mse: 0.0015 - 272ms/epoch - 21ms/step\n", - "Epoch 15/250\n", - "13/13 - 0s - loss: 0.0017 - mae: 0.0311 - mse: 0.0017 - val_loss: 0.0015 - val_mae: 0.0296 - val_mse: 0.0015 - 299ms/epoch - 23ms/step\n", - "Epoch 16/250\n", - "13/13 - 0s - loss: 0.0016 - mae: 0.0303 - mse: 0.0016 - val_loss: 0.0014 - val_mae: 0.0289 - val_mse: 0.0014 - 271ms/epoch - 21ms/step\n", - "Epoch 17/250\n", - "13/13 - 0s - loss: 0.0016 - mae: 0.0293 - mse: 0.0016 - val_loss: 0.0014 - val_mae: 0.0281 - val_mse: 0.0014 - 248ms/epoch - 19ms/step\n", - "Epoch 18/250\n", - "13/13 - 0s - loss: 0.0015 - mae: 0.0287 - mse: 0.0015 - val_loss: 0.0013 - val_mae: 0.0275 - val_mse: 0.0013 - 256ms/epoch - 20ms/step\n", - "Epoch 19/250\n", - "13/13 - 0s - loss: 0.0015 - mae: 0.0285 - mse: 0.0015 - val_loss: 0.0014 - val_mae: 0.0285 - val_mse: 0.0014 - 153ms/epoch - 12ms/step\n", - "Epoch 20/250\n", - "13/13 - 0s - loss: 0.0015 - mae: 0.0282 - mse: 0.0015 - val_loss: 0.0012 - val_mae: 0.0269 - val_mse: 0.0012 - 239ms/epoch - 18ms/step\n", - "Epoch 21/250\n", - "13/13 - 0s - loss: 0.0015 - mae: 0.0278 - mse: 0.0015 - val_loss: 0.0012 - val_mae: 0.0266 - val_mse: 0.0012 - 263ms/epoch - 20ms/step\n", - "Epoch 22/250\n", - "13/13 - 0s - loss: 0.0015 - mae: 0.0279 - mse: 0.0015 - val_loss: 0.0012 - val_mae: 0.0266 - val_mse: 0.0012 - 243ms/epoch - 19ms/step\n", - "Epoch 23/250\n", - "13/13 - 0s - loss: 0.0014 - mae: 0.0274 - mse: 0.0014 - val_loss: 0.0012 - val_mae: 0.0265 - val_mse: 0.0012 - 138ms/epoch - 11ms/step\n", - "Epoch 24/250\n", - "13/13 - 0s - loss: 0.0014 - mae: 0.0264 - mse: 0.0014 - val_loss: 0.0012 - val_mae: 0.0259 - val_mse: 0.0012 - 189ms/epoch - 15ms/step\n", - "Epoch 25/250\n", - "13/13 - 0s - loss: 0.0014 - mae: 0.0268 - mse: 0.0014 - val_loss: 0.0012 - val_mae: 0.0258 - val_mse: 0.0012 - 280ms/epoch - 22ms/step\n", - "Epoch 26/250\n", - "13/13 - 0s - loss: 0.0013 - mae: 0.0268 - mse: 0.0013 - val_loss: 0.0011 - val_mae: 0.0258 - val_mse: 0.0011 - 222ms/epoch - 17ms/step\n", - "Epoch 27/250\n", - "13/13 - 0s - loss: 0.0013 - mae: 0.0265 - mse: 0.0013 - val_loss: 0.0011 - val_mae: 0.0247 - val_mse: 0.0011 - 286ms/epoch - 22ms/step\n", - "Epoch 28/250\n", - "13/13 - 0s - loss: 0.0013 - mae: 0.0259 - mse: 0.0013 - val_loss: 0.0012 - val_mae: 0.0259 - val_mse: 0.0012 - 116ms/epoch - 9ms/step\n", - "Epoch 29/250\n", - "13/13 - 0s - loss: 0.0013 - mae: 0.0259 - mse: 0.0013 - val_loss: 0.0011 - val_mae: 0.0252 - val_mse: 0.0011 - 157ms/epoch - 12ms/step\n", - "Epoch 30/250\n", - "13/13 - 0s - loss: 0.0013 - mae: 0.0256 - mse: 0.0013 - val_loss: 0.0011 - val_mae: 0.0248 - val_mse: 0.0011 - 267ms/epoch - 21ms/step\n", - "Epoch 31/250\n", - "13/13 - 0s - loss: 0.0013 - mae: 0.0254 - mse: 0.0013 - val_loss: 0.0011 - val_mae: 0.0245 - val_mse: 0.0011 - 264ms/epoch - 20ms/step\n", - "Epoch 32/250\n", - "13/13 - 0s - loss: 0.0012 - mae: 0.0254 - mse: 0.0012 - val_loss: 0.0010 - val_mae: 0.0243 - val_mse: 0.0010 - 269ms/epoch - 21ms/step\n", - "Epoch 33/250\n", - "13/13 - 0s - loss: 0.0012 - mae: 0.0248 - mse: 0.0012 - val_loss: 0.0012 - val_mae: 0.0251 - val_mse: 0.0012 - 353ms/epoch - 27ms/step\n", - "Epoch 34/250\n", - "13/13 - 1s - loss: 0.0012 - mae: 0.0256 - mse: 0.0012 - val_loss: 0.0010 - val_mae: 0.0248 - val_mse: 0.0010 - 537ms/epoch - 41ms/step\n", - "Epoch 35/250\n", - "13/13 - 0s - loss: 0.0012 - mae: 0.0254 - mse: 0.0012 - val_loss: 0.0010 - val_mae: 0.0243 - val_mse: 0.0010 - 330ms/epoch - 25ms/step\n", - "Epoch 36/250\n", - "13/13 - 0s - loss: 0.0012 - mae: 0.0245 - mse: 0.0012 - val_loss: 0.0010 - val_mae: 0.0234 - val_mse: 0.0010 - 289ms/epoch - 22ms/step\n", - "Epoch 37/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0244 - mse: 0.0011 - val_loss: 0.0010 - val_mae: 0.0239 - val_mse: 0.0010 - 155ms/epoch - 12ms/step\n", - "Epoch 38/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0243 - mse: 0.0011 - val_loss: 9.9094e-04 - val_mae: 0.0235 - val_mse: 9.9094e-04 - 289ms/epoch - 22ms/step\n", - "Epoch 39/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0243 - mse: 0.0011 - val_loss: 0.0010 - val_mae: 0.0238 - val_mse: 0.0010 - 118ms/epoch - 9ms/step\n", - "Epoch 40/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0241 - mse: 0.0011 - val_loss: 9.7491e-04 - val_mae: 0.0239 - val_mse: 9.7491e-04 - 299ms/epoch - 23ms/step\n", - "Epoch 41/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0241 - mse: 0.0011 - val_loss: 9.9821e-04 - val_mae: 0.0227 - val_mse: 9.9821e-04 - 151ms/epoch - 12ms/step\n", - "Epoch 42/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0240 - mse: 0.0011 - val_loss: 0.0010 - val_mae: 0.0235 - val_mse: 0.0010 - 192ms/epoch - 15ms/step\n", - "Epoch 43/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0238 - mse: 0.0011 - val_loss: 9.4863e-04 - val_mae: 0.0232 - val_mse: 9.4863e-04 - 237ms/epoch - 18ms/step\n", - "Epoch 44/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0236 - mse: 0.0011 - val_loss: 9.8018e-04 - val_mae: 0.0230 - val_mse: 9.8018e-04 - 154ms/epoch - 12ms/step\n", - "Epoch 45/250\n", - "13/13 - 0s - loss: 0.0011 - mae: 0.0239 - mse: 0.0011 - val_loss: 9.5093e-04 - val_mae: 0.0233 - val_mse: 9.5093e-04 - 158ms/epoch - 12ms/step\n", - "Epoch 46/250\n", - "13/13 - 0s - loss: 0.0010 - mae: 0.0230 - mse: 0.0010 - val_loss: 9.4785e-04 - val_mae: 0.0223 - val_mse: 9.4785e-04 - 218ms/epoch - 17ms/step\n", - "Epoch 47/250\n", - "13/13 - 0s - loss: 0.0010 - mae: 0.0231 - mse: 0.0010 - val_loss: 9.7827e-04 - val_mae: 0.0230 - val_mse: 9.7827e-04 - 116ms/epoch - 9ms/step\n", - "Epoch 48/250\n", - "13/13 - 0s - loss: 0.0010 - mae: 0.0232 - mse: 0.0010 - val_loss: 9.0671e-04 - val_mae: 0.0225 - val_mse: 9.0671e-04 - 288ms/epoch - 22ms/step\n", - "Epoch 49/250\n", - "13/13 - 0s - loss: 0.0010 - mae: 0.0230 - mse: 0.0010 - val_loss: 9.2521e-04 - val_mae: 0.0218 - val_mse: 9.2521e-04 - 140ms/epoch - 11ms/step\n", - "Epoch 50/250\n", - "13/13 - 0s - loss: 0.0010 - mae: 0.0231 - mse: 0.0010 - val_loss: 9.7818e-04 - val_mae: 0.0231 - val_mse: 9.7818e-04 - 149ms/epoch - 11ms/step\n", - "Epoch 51/250\n", - "13/13 - 0s - loss: 9.9977e-04 - mae: 0.0232 - mse: 9.9977e-04 - val_loss: 9.4350e-04 - val_mae: 0.0221 - val_mse: 9.4350e-04 - 146ms/epoch - 11ms/step\n", - "Epoch 52/250\n", - "13/13 - 0s - loss: 9.8599e-04 - mae: 0.0229 - mse: 9.8599e-04 - val_loss: 9.0638e-04 - val_mae: 0.0230 - val_mse: 9.0638e-04 - 265ms/epoch - 20ms/step\n", - "Epoch 53/250\n", - "13/13 - 0s - loss: 9.8295e-04 - mae: 0.0228 - mse: 9.8295e-04 - val_loss: 9.0667e-04 - val_mae: 0.0215 - val_mse: 9.0667e-04 - 179ms/epoch - 14ms/step\n", - "Epoch 54/250\n", - "13/13 - 0s - loss: 9.7266e-04 - mae: 0.0225 - mse: 9.7266e-04 - val_loss: 9.0391e-04 - val_mae: 0.0224 - val_mse: 9.0391e-04 - 287ms/epoch - 22ms/step\n", - "Epoch 55/250\n", - "13/13 - 0s - loss: 9.5234e-04 - mae: 0.0225 - mse: 9.5234e-04 - val_loss: 8.7426e-04 - val_mae: 0.0219 - val_mse: 8.7426e-04 - 284ms/epoch - 22ms/step\n", - "Epoch 56/250\n", - "13/13 - 0s - loss: 9.4315e-04 - mae: 0.0221 - mse: 9.4315e-04 - val_loss: 8.6742e-04 - val_mae: 0.0224 - val_mse: 8.6742e-04 - 297ms/epoch - 23ms/step\n", - "Epoch 57/250\n", - "13/13 - 0s - loss: 9.9226e-04 - mae: 0.0230 - mse: 9.9226e-04 - val_loss: 8.7793e-04 - val_mae: 0.0225 - val_mse: 8.7793e-04 - 206ms/epoch - 16ms/step\n", - "Epoch 58/250\n", - "13/13 - 0s - loss: 9.4137e-04 - mae: 0.0226 - mse: 9.4137e-04 - val_loss: 8.7477e-04 - val_mae: 0.0225 - val_mse: 8.7477e-04 - 160ms/epoch - 12ms/step\n", - "Epoch 59/250\n", - "13/13 - 0s - loss: 9.2474e-04 - mae: 0.0219 - mse: 9.2474e-04 - val_loss: 8.5320e-04 - val_mae: 0.0212 - val_mse: 8.5320e-04 - 274ms/epoch - 21ms/step\n", - "Epoch 60/250\n", - "13/13 - 0s - loss: 9.1133e-04 - mae: 0.0217 - mse: 9.1133e-04 - val_loss: 8.6082e-04 - val_mae: 0.0217 - val_mse: 8.6082e-04 - 160ms/epoch - 12ms/step\n", - "Epoch 61/250\n", - "13/13 - 0s - loss: 9.1801e-04 - mae: 0.0217 - mse: 9.1801e-04 - val_loss: 8.5403e-04 - val_mae: 0.0223 - val_mse: 8.5403e-04 - 143ms/epoch - 11ms/step\n", - "Epoch 62/250\n", - "13/13 - 0s - loss: 9.1987e-04 - mae: 0.0221 - mse: 9.1987e-04 - val_loss: 8.5714e-04 - val_mae: 0.0219 - val_mse: 8.5714e-04 - 128ms/epoch - 10ms/step\n", - "Epoch 63/250\n", - "13/13 - 0s - loss: 9.0862e-04 - mae: 0.0222 - mse: 9.0862e-04 - val_loss: 8.6160e-04 - val_mae: 0.0225 - val_mse: 8.6160e-04 - 154ms/epoch - 12ms/step\n", - "Epoch 64/250\n", - "13/13 - 0s - loss: 8.9349e-04 - mae: 0.0220 - mse: 8.9349e-04 - val_loss: 8.2851e-04 - val_mae: 0.0214 - val_mse: 8.2851e-04 - 284ms/epoch - 22ms/step\n", - "Epoch 65/250\n", - "13/13 - 0s - loss: 8.7848e-04 - mae: 0.0216 - mse: 8.7848e-04 - val_loss: 8.5189e-04 - val_mae: 0.0218 - val_mse: 8.5189e-04 - 168ms/epoch - 13ms/step\n", - "Epoch 66/250\n", - "13/13 - 0s - loss: 8.9773e-04 - mae: 0.0219 - mse: 8.9773e-04 - val_loss: 8.5650e-04 - val_mae: 0.0211 - val_mse: 8.5650e-04 - 113ms/epoch - 9ms/step\n", - "Epoch 67/250\n", - "13/13 - 0s - loss: 8.7443e-04 - mae: 0.0217 - mse: 8.7443e-04 - val_loss: 8.2545e-04 - val_mae: 0.0214 - val_mse: 8.2545e-04 - 264ms/epoch - 20ms/step\n", - "Epoch 68/250\n", - "13/13 - 0s - loss: 8.9141e-04 - mae: 0.0217 - mse: 8.9141e-04 - val_loss: 8.4471e-04 - val_mae: 0.0219 - val_mse: 8.4471e-04 - 189ms/epoch - 15ms/step\n", - "Epoch 69/250\n", - "13/13 - 0s - loss: 8.9507e-04 - mae: 0.0224 - mse: 8.9507e-04 - val_loss: 8.7916e-04 - val_mae: 0.0217 - val_mse: 8.7916e-04 - 175ms/epoch - 13ms/step\n", - "Epoch 70/250\n", - "13/13 - 0s - loss: 8.5737e-04 - mae: 0.0216 - mse: 8.5737e-04 - val_loss: 8.8807e-04 - val_mae: 0.0215 - val_mse: 8.8807e-04 - 322ms/epoch - 25ms/step\n", - "Epoch 71/250\n", - "13/13 - 0s - loss: 8.5560e-04 - mae: 0.0214 - mse: 8.5560e-04 - val_loss: 8.3750e-04 - val_mae: 0.0213 - val_mse: 8.3750e-04 - 207ms/epoch - 16ms/step\n", - "Epoch 72/250\n", - "13/13 - 0s - loss: 8.5576e-04 - mae: 0.0218 - mse: 8.5576e-04 - val_loss: 8.1156e-04 - val_mae: 0.0210 - val_mse: 8.1156e-04 - 257ms/epoch - 20ms/step\n", - "Epoch 73/250\n", - "13/13 - 0s - loss: 8.4688e-04 - mae: 0.0216 - mse: 8.4688e-04 - val_loss: 8.0221e-04 - val_mae: 0.0210 - val_mse: 8.0221e-04 - 233ms/epoch - 18ms/step\n", - "Epoch 74/250\n", - "13/13 - 0s - loss: 8.3636e-04 - mae: 0.0211 - mse: 8.3636e-04 - val_loss: 7.9384e-04 - val_mae: 0.0208 - val_mse: 7.9384e-04 - 250ms/epoch - 19ms/step\n", - "Epoch 75/250\n", - "13/13 - 0s - loss: 8.4758e-04 - mae: 0.0222 - mse: 8.4758e-04 - val_loss: 8.2932e-04 - val_mae: 0.0212 - val_mse: 8.2932e-04 - 119ms/epoch - 9ms/step\n", - "Epoch 76/250\n", - "13/13 - 0s - loss: 8.4142e-04 - mae: 0.0213 - mse: 8.4142e-04 - val_loss: 8.0552e-04 - val_mae: 0.0209 - val_mse: 8.0552e-04 - 150ms/epoch - 12ms/step\n", - "Epoch 77/250\n", - "13/13 - 0s - loss: 8.5035e-04 - mae: 0.0215 - mse: 8.5035e-04 - val_loss: 8.6014e-04 - val_mae: 0.0215 - val_mse: 8.6014e-04 - 126ms/epoch - 10ms/step\n", - "Epoch 78/250\n", - "13/13 - 0s - loss: 8.9015e-04 - mae: 0.0228 - mse: 8.9015e-04 - val_loss: 9.2548e-04 - val_mae: 0.0225 - val_mse: 9.2548e-04 - 242ms/epoch - 19ms/step\n", - "Epoch 79/250\n", - "13/13 - 0s - loss: 8.1577e-04 - mae: 0.0212 - mse: 8.1577e-04 - val_loss: 8.4703e-04 - val_mae: 0.0211 - val_mse: 8.4703e-04 - 165ms/epoch - 13ms/step\n", - "Epoch 80/250\n", - "13/13 - 0s - loss: 8.0555e-04 - mae: 0.0211 - mse: 8.0555e-04 - val_loss: 8.5652e-04 - val_mae: 0.0214 - val_mse: 8.5652e-04 - 131ms/epoch - 10ms/step\n", - "Epoch 81/250\n", - "13/13 - 0s - loss: 8.3478e-04 - mae: 0.0219 - mse: 8.3478e-04 - val_loss: 9.1057e-04 - val_mae: 0.0222 - val_mse: 9.1057e-04 - 166ms/epoch - 13ms/step\n", - "Epoch 82/250\n", - "13/13 - 0s - loss: 8.2593e-04 - mae: 0.0217 - mse: 8.2593e-04 - val_loss: 8.1172e-04 - val_mae: 0.0209 - val_mse: 8.1172e-04 - 143ms/epoch - 11ms/step\n", - "Epoch 83/250\n", - "13/13 - 0s - loss: 8.2887e-04 - mae: 0.0213 - mse: 8.2887e-04 - val_loss: 8.2033e-04 - val_mae: 0.0211 - val_mse: 8.2033e-04 - 115ms/epoch - 9ms/step\n", - "Epoch 84/250\n", - "13/13 - 0s - loss: 8.1454e-04 - mae: 0.0219 - mse: 8.1454e-04 - val_loss: 8.1589e-04 - val_mae: 0.0211 - val_mse: 8.1589e-04 - 148ms/epoch - 11ms/step\n", - "Epoch 85/250\n", - "13/13 - 0s - loss: 8.0777e-04 - mae: 0.0212 - mse: 8.0777e-04 - val_loss: 7.8637e-04 - val_mae: 0.0208 - val_mse: 7.8637e-04 - 282ms/epoch - 22ms/step\n", - "Epoch 86/250\n", - "13/13 - 0s - loss: 7.8107e-04 - mae: 0.0213 - mse: 7.8107e-04 - val_loss: 7.8138e-04 - val_mae: 0.0212 - val_mse: 7.8138e-04 - 246ms/epoch - 19ms/step\n", - "Epoch 87/250\n", - "13/13 - 0s - loss: 7.9729e-04 - mae: 0.0210 - mse: 7.9729e-04 - val_loss: 7.3667e-04 - val_mae: 0.0204 - val_mse: 7.3667e-04 - 237ms/epoch - 18ms/step\n", - "Epoch 88/250\n", - "13/13 - 0s - loss: 7.5931e-04 - mae: 0.0205 - mse: 7.5931e-04 - val_loss: 7.5522e-04 - val_mae: 0.0210 - val_mse: 7.5522e-04 - 208ms/epoch - 16ms/step\n", - "Epoch 89/250\n", - "13/13 - 0s - loss: 7.6036e-04 - mae: 0.0211 - mse: 7.6036e-04 - val_loss: 7.5503e-04 - val_mae: 0.0207 - val_mse: 7.5503e-04 - 193ms/epoch - 15ms/step\n", - "Epoch 90/250\n", - "13/13 - 0s - loss: 7.6322e-04 - mae: 0.0204 - mse: 7.6322e-04 - val_loss: 7.7629e-04 - val_mae: 0.0203 - val_mse: 7.7629e-04 - 168ms/epoch - 13ms/step\n", - "Epoch 91/250\n", - "13/13 - 0s - loss: 7.5436e-04 - mae: 0.0208 - mse: 7.5436e-04 - val_loss: 7.4549e-04 - val_mae: 0.0210 - val_mse: 7.4549e-04 - 156ms/epoch - 12ms/step\n", - "Epoch 92/250\n", - "13/13 - 0s - loss: 7.8479e-04 - mae: 0.0208 - mse: 7.8479e-04 - val_loss: 8.0607e-04 - val_mae: 0.0208 - val_mse: 8.0607e-04 - 137ms/epoch - 11ms/step\n", - "Epoch 93/250\n", - "13/13 - 0s - loss: 7.7194e-04 - mae: 0.0211 - mse: 7.7194e-04 - val_loss: 7.7994e-04 - val_mae: 0.0206 - val_mse: 7.7994e-04 - 174ms/epoch - 13ms/step\n", - "Epoch 94/250\n", - "13/13 - 0s - loss: 7.4802e-04 - mae: 0.0205 - mse: 7.4802e-04 - val_loss: 7.2386e-04 - val_mae: 0.0201 - val_mse: 7.2386e-04 - 303ms/epoch - 23ms/step\n", - "Epoch 95/250\n", - "13/13 - 0s - loss: 7.2616e-04 - mae: 0.0203 - mse: 7.2616e-04 - val_loss: 7.2728e-04 - val_mae: 0.0204 - val_mse: 7.2728e-04 - 129ms/epoch - 10ms/step\n", - "Epoch 96/250\n", - "13/13 - 0s - loss: 7.2310e-04 - mae: 0.0204 - mse: 7.2310e-04 - val_loss: 7.1349e-04 - val_mae: 0.0206 - val_mse: 7.1349e-04 - 218ms/epoch - 17ms/step\n", - "Epoch 97/250\n", - "13/13 - 0s - loss: 7.0905e-04 - mae: 0.0201 - mse: 7.0905e-04 - val_loss: 7.6242e-04 - val_mae: 0.0205 - val_mse: 7.6242e-04 - 128ms/epoch - 10ms/step\n", - "Epoch 98/250\n", - "13/13 - 0s - loss: 7.1839e-04 - mae: 0.0200 - mse: 7.1839e-04 - val_loss: 7.7098e-04 - val_mae: 0.0202 - val_mse: 7.7098e-04 - 147ms/epoch - 11ms/step\n", - "Epoch 99/250\n", - "13/13 - 0s - loss: 7.3924e-04 - mae: 0.0208 - mse: 7.3924e-04 - val_loss: 7.8554e-04 - val_mae: 0.0206 - val_mse: 7.8554e-04 - 130ms/epoch - 10ms/step\n", - "Epoch 100/250\n", - "13/13 - 0s - loss: 7.5556e-04 - mae: 0.0209 - mse: 7.5556e-04 - val_loss: 8.6021e-04 - val_mae: 0.0215 - val_mse: 8.6021e-04 - 174ms/epoch - 13ms/step\n", - "Epoch 101/250\n", - "13/13 - 0s - loss: 7.9288e-04 - mae: 0.0213 - mse: 7.9288e-04 - val_loss: 7.2968e-04 - val_mae: 0.0203 - val_mse: 7.2968e-04 - 125ms/epoch - 10ms/step\n", - "Epoch 102/250\n", - "13/13 - 0s - loss: 7.1861e-04 - mae: 0.0204 - mse: 7.1861e-04 - val_loss: 7.0941e-04 - val_mae: 0.0207 - val_mse: 7.0941e-04 - 260ms/epoch - 20ms/step\n", - "Epoch 103/250\n", - "13/13 - 0s - loss: 7.5092e-04 - mae: 0.0208 - mse: 7.5092e-04 - val_loss: 6.8788e-04 - val_mae: 0.0198 - val_mse: 6.8788e-04 - 275ms/epoch - 21ms/step\n", - "Epoch 104/250\n", - "13/13 - 0s - loss: 7.0460e-04 - mae: 0.0200 - mse: 7.0460e-04 - val_loss: 7.2570e-04 - val_mae: 0.0200 - val_mse: 7.2570e-04 - 125ms/epoch - 10ms/step\n", - "Epoch 105/250\n", - "13/13 - 0s - loss: 6.9255e-04 - mae: 0.0202 - mse: 6.9255e-04 - val_loss: 6.7411e-04 - val_mae: 0.0199 - val_mse: 6.7411e-04 - 275ms/epoch - 21ms/step\n", - "Epoch 106/250\n", - "13/13 - 0s - loss: 6.8175e-04 - mae: 0.0196 - mse: 6.8175e-04 - val_loss: 6.7593e-04 - val_mae: 0.0196 - val_mse: 6.7593e-04 - 157ms/epoch - 12ms/step\n", - "Epoch 107/250\n", - "13/13 - 0s - loss: 6.7018e-04 - mae: 0.0196 - mse: 6.7018e-04 - val_loss: 6.8702e-04 - val_mae: 0.0196 - val_mse: 6.8702e-04 - 183ms/epoch - 14ms/step\n", - "Epoch 108/250\n", - "13/13 - 0s - loss: 6.7955e-04 - mae: 0.0198 - mse: 6.7955e-04 - val_loss: 7.6778e-04 - val_mae: 0.0204 - val_mse: 7.6778e-04 - 192ms/epoch - 15ms/step\n", - "Epoch 109/250\n", - "13/13 - 1s - loss: 6.8953e-04 - mae: 0.0198 - mse: 6.8953e-04 - val_loss: 6.7251e-04 - val_mae: 0.0195 - val_mse: 6.7251e-04 - 516ms/epoch - 40ms/step\n", - "Epoch 110/250\n", - "13/13 - 0s - loss: 6.6819e-04 - mae: 0.0197 - mse: 6.6819e-04 - val_loss: 6.8310e-04 - val_mae: 0.0197 - val_mse: 6.8310e-04 - 146ms/epoch - 11ms/step\n", - "Epoch 111/250\n", - "13/13 - 0s - loss: 6.7136e-04 - mae: 0.0197 - mse: 6.7136e-04 - val_loss: 6.5858e-04 - val_mae: 0.0199 - val_mse: 6.5858e-04 - 208ms/epoch - 16ms/step\n", - "Epoch 112/250\n", - "13/13 - 0s - loss: 6.5784e-04 - mae: 0.0195 - mse: 6.5784e-04 - val_loss: 6.5838e-04 - val_mae: 0.0196 - val_mse: 6.5838e-04 - 215ms/epoch - 17ms/step\n", - "Epoch 113/250\n", - "13/13 - 0s - loss: 6.6861e-04 - mae: 0.0198 - mse: 6.6861e-04 - val_loss: 6.9871e-04 - val_mae: 0.0196 - val_mse: 6.9871e-04 - 149ms/epoch - 11ms/step\n", - "Epoch 114/250\n", - "13/13 - 0s - loss: 6.6345e-04 - mae: 0.0196 - mse: 6.6345e-04 - val_loss: 6.8190e-04 - val_mae: 0.0196 - val_mse: 6.8190e-04 - 141ms/epoch - 11ms/step\n", - "Epoch 115/250\n", - "13/13 - 0s - loss: 6.4121e-04 - mae: 0.0193 - mse: 6.4121e-04 - val_loss: 6.6493e-04 - val_mae: 0.0196 - val_mse: 6.6493e-04 - 166ms/epoch - 13ms/step\n", - "Epoch 116/250\n", - "13/13 - 0s - loss: 6.5036e-04 - mae: 0.0194 - mse: 6.5036e-04 - val_loss: 6.5858e-04 - val_mae: 0.0191 - val_mse: 6.5858e-04 - 107ms/epoch - 8ms/step\n", - "Epoch 117/250\n", - "13/13 - 0s - loss: 6.4983e-04 - mae: 0.0194 - mse: 6.4983e-04 - val_loss: 7.0443e-04 - val_mae: 0.0198 - val_mse: 7.0443e-04 - 109ms/epoch - 8ms/step\n", - "Epoch 118/250\n", - "13/13 - 0s - loss: 6.4994e-04 - mae: 0.0195 - mse: 6.4994e-04 - val_loss: 6.3181e-04 - val_mae: 0.0193 - val_mse: 6.3181e-04 - 296ms/epoch - 23ms/step\n", - "Epoch 119/250\n", - "13/13 - 0s - loss: 6.6252e-04 - mae: 0.0199 - mse: 6.6252e-04 - val_loss: 6.3527e-04 - val_mae: 0.0191 - val_mse: 6.3527e-04 - 165ms/epoch - 13ms/step\n", - "Epoch 120/250\n", - "13/13 - 0s - loss: 6.4578e-04 - mae: 0.0193 - mse: 6.4578e-04 - val_loss: 6.3127e-04 - val_mae: 0.0189 - val_mse: 6.3127e-04 - 190ms/epoch - 15ms/step\n", - "Epoch 121/250\n", - "13/13 - 0s - loss: 6.1375e-04 - mae: 0.0191 - mse: 6.1375e-04 - val_loss: 6.5351e-04 - val_mae: 0.0192 - val_mse: 6.5351e-04 - 125ms/epoch - 10ms/step\n", - "Epoch 122/250\n", - "13/13 - 0s - loss: 6.4650e-04 - mae: 0.0196 - mse: 6.4650e-04 - val_loss: 8.0733e-04 - val_mae: 0.0210 - val_mse: 8.0733e-04 - 142ms/epoch - 11ms/step\n", - "Epoch 123/250\n", - "13/13 - 0s - loss: 6.5887e-04 - mae: 0.0198 - mse: 6.5887e-04 - val_loss: 6.2666e-04 - val_mae: 0.0191 - val_mse: 6.2666e-04 - 278ms/epoch - 21ms/step\n", - "Epoch 124/250\n", - "13/13 - 0s - loss: 6.1387e-04 - mae: 0.0189 - mse: 6.1387e-04 - val_loss: 6.1020e-04 - val_mae: 0.0188 - val_mse: 6.1020e-04 - 246ms/epoch - 19ms/step\n", - "Epoch 125/250\n", - "13/13 - 0s - loss: 6.1348e-04 - mae: 0.0191 - mse: 6.1348e-04 - val_loss: 6.1093e-04 - val_mae: 0.0193 - val_mse: 6.1093e-04 - 135ms/epoch - 10ms/step\n", - "Epoch 126/250\n", - "13/13 - 0s - loss: 6.1374e-04 - mae: 0.0189 - mse: 6.1374e-04 - val_loss: 6.1062e-04 - val_mae: 0.0188 - val_mse: 6.1062e-04 - 174ms/epoch - 13ms/step\n", - "Epoch 127/250\n", - "13/13 - 0s - loss: 6.1279e-04 - mae: 0.0190 - mse: 6.1279e-04 - val_loss: 6.4391e-04 - val_mae: 0.0190 - val_mse: 6.4391e-04 - 142ms/epoch - 11ms/step\n", - "Epoch 128/250\n", - "13/13 - 0s - loss: 6.0951e-04 - mae: 0.0189 - mse: 6.0951e-04 - val_loss: 5.9592e-04 - val_mae: 0.0188 - val_mse: 5.9592e-04 - 249ms/epoch - 19ms/step\n", - "Epoch 129/250\n", - "13/13 - 0s - loss: 6.2194e-04 - mae: 0.0192 - mse: 6.2194e-04 - val_loss: 5.9344e-04 - val_mae: 0.0188 - val_mse: 5.9344e-04 - 279ms/epoch - 21ms/step\n", - "Epoch 130/250\n", - "13/13 - 0s - loss: 6.1795e-04 - mae: 0.0191 - mse: 6.1795e-04 - val_loss: 5.8880e-04 - val_mae: 0.0188 - val_mse: 5.8880e-04 - 356ms/epoch - 27ms/step\n", - "Epoch 131/250\n", - "13/13 - 0s - loss: 6.6297e-04 - mae: 0.0199 - mse: 6.6297e-04 - val_loss: 7.2306e-04 - val_mae: 0.0197 - val_mse: 7.2306e-04 - 151ms/epoch - 12ms/step\n", - "Epoch 132/250\n", - "13/13 - 0s - loss: 5.8788e-04 - mae: 0.0189 - mse: 5.8788e-04 - val_loss: 6.0686e-04 - val_mae: 0.0189 - val_mse: 6.0686e-04 - 102ms/epoch - 8ms/step\n", - "Epoch 133/250\n", - "13/13 - 0s - loss: 5.7425e-04 - mae: 0.0184 - mse: 5.7425e-04 - val_loss: 5.7895e-04 - val_mae: 0.0183 - val_mse: 5.7895e-04 - 239ms/epoch - 18ms/step\n", - "Epoch 134/250\n", - "13/13 - 0s - loss: 5.8783e-04 - mae: 0.0186 - mse: 5.8783e-04 - val_loss: 5.7846e-04 - val_mae: 0.0188 - val_mse: 5.7846e-04 - 285ms/epoch - 22ms/step\n", - "Epoch 135/250\n", - "13/13 - 0s - loss: 5.8541e-04 - mae: 0.0188 - mse: 5.8541e-04 - val_loss: 6.7887e-04 - val_mae: 0.0191 - val_mse: 6.7887e-04 - 178ms/epoch - 14ms/step\n", - "Epoch 136/250\n", - "13/13 - 0s - loss: 5.9158e-04 - mae: 0.0185 - mse: 5.9158e-04 - val_loss: 5.9231e-04 - val_mae: 0.0188 - val_mse: 5.9231e-04 - 113ms/epoch - 9ms/step\n", - "Epoch 137/250\n", - "13/13 - 0s - loss: 5.9616e-04 - mae: 0.0192 - mse: 5.9616e-04 - val_loss: 7.0218e-04 - val_mae: 0.0212 - val_mse: 7.0218e-04 - 138ms/epoch - 11ms/step\n", - "Epoch 138/250\n", - "13/13 - 0s - loss: 6.2132e-04 - mae: 0.0190 - mse: 6.2132e-04 - val_loss: 6.3436e-04 - val_mae: 0.0186 - val_mse: 6.3436e-04 - 144ms/epoch - 11ms/step\n", - "Epoch 139/250\n", - "13/13 - 0s - loss: 5.8416e-04 - mae: 0.0189 - mse: 5.8416e-04 - val_loss: 5.7793e-04 - val_mae: 0.0184 - val_mse: 5.7793e-04 - 279ms/epoch - 21ms/step\n", - "Epoch 140/250\n", - "13/13 - 0s - loss: 6.5695e-04 - mae: 0.0195 - mse: 6.5695e-04 - val_loss: 5.8062e-04 - val_mae: 0.0189 - val_mse: 5.8062e-04 - 174ms/epoch - 13ms/step\n", - "Epoch 141/250\n", - "13/13 - 0s - loss: 6.4168e-04 - mae: 0.0200 - mse: 6.4168e-04 - val_loss: 6.9879e-04 - val_mae: 0.0196 - val_mse: 6.9879e-04 - 118ms/epoch - 9ms/step\n", - "Epoch 142/250\n", - "13/13 - 0s - loss: 6.5517e-04 - mae: 0.0198 - mse: 6.5517e-04 - val_loss: 6.3928e-04 - val_mae: 0.0193 - val_mse: 6.3928e-04 - 120ms/epoch - 9ms/step\n", - "Epoch 143/250\n", - "13/13 - 0s - loss: 5.8456e-04 - mae: 0.0190 - mse: 5.8456e-04 - val_loss: 5.4596e-04 - val_mae: 0.0181 - val_mse: 5.4596e-04 - 304ms/epoch - 23ms/step\n", - "Epoch 144/250\n", - "13/13 - 0s - loss: 5.9458e-04 - mae: 0.0186 - mse: 5.9458e-04 - val_loss: 5.8598e-04 - val_mae: 0.0181 - val_mse: 5.8598e-04 - 178ms/epoch - 14ms/step\n", - "Epoch 145/250\n", - "13/13 - 0s - loss: 5.6787e-04 - mae: 0.0186 - mse: 5.6787e-04 - val_loss: 5.6263e-04 - val_mae: 0.0186 - val_mse: 5.6263e-04 - 131ms/epoch - 10ms/step\n", - "Epoch 146/250\n", - "13/13 - 0s - loss: 5.3545e-04 - mae: 0.0178 - mse: 5.3545e-04 - val_loss: 5.3802e-04 - val_mae: 0.0179 - val_mse: 5.3802e-04 - 396ms/epoch - 30ms/step\n", - "Epoch 147/250\n", - "13/13 - 0s - loss: 5.2310e-04 - mae: 0.0177 - mse: 5.2310e-04 - val_loss: 5.4103e-04 - val_mae: 0.0179 - val_mse: 5.4103e-04 - 151ms/epoch - 12ms/step\n", - "Epoch 148/250\n", - "13/13 - 0s - loss: 5.2826e-04 - mae: 0.0176 - mse: 5.2826e-04 - val_loss: 5.9310e-04 - val_mae: 0.0181 - val_mse: 5.9310e-04 - 155ms/epoch - 12ms/step\n", - "Epoch 149/250\n", - "13/13 - 0s - loss: 5.3295e-04 - mae: 0.0179 - mse: 5.3295e-04 - val_loss: 5.4002e-04 - val_mae: 0.0176 - val_mse: 5.4002e-04 - 120ms/epoch - 9ms/step\n", - "Epoch 150/250\n", - "13/13 - 0s - loss: 5.1491e-04 - mae: 0.0174 - mse: 5.1491e-04 - val_loss: 5.9602e-04 - val_mae: 0.0179 - val_mse: 5.9602e-04 - 137ms/epoch - 11ms/step\n", - "Epoch 151/250\n", - "13/13 - 0s - loss: 5.2334e-04 - mae: 0.0179 - mse: 5.2334e-04 - val_loss: 5.2811e-04 - val_mae: 0.0178 - val_mse: 5.2811e-04 - 315ms/epoch - 24ms/step\n", - "Epoch 152/250\n", - "13/13 - 0s - loss: 5.2768e-04 - mae: 0.0178 - mse: 5.2768e-04 - val_loss: 5.5139e-04 - val_mae: 0.0184 - val_mse: 5.5139e-04 - 198ms/epoch - 15ms/step\n", - "Epoch 153/250\n", - "13/13 - 0s - loss: 5.2962e-04 - mae: 0.0179 - mse: 5.2962e-04 - val_loss: 5.7462e-04 - val_mae: 0.0178 - val_mse: 5.7462e-04 - 129ms/epoch - 10ms/step\n", - "Epoch 154/250\n", - "13/13 - 0s - loss: 5.0260e-04 - mae: 0.0173 - mse: 5.0260e-04 - val_loss: 5.3387e-04 - val_mae: 0.0181 - val_mse: 5.3387e-04 - 131ms/epoch - 10ms/step\n", - "Epoch 155/250\n", - "13/13 - 0s - loss: 5.0501e-04 - mae: 0.0175 - mse: 5.0501e-04 - val_loss: 5.0751e-04 - val_mae: 0.0172 - val_mse: 5.0751e-04 - 267ms/epoch - 21ms/step\n", - "Epoch 156/250\n", - "13/13 - 0s - loss: 5.0518e-04 - mae: 0.0173 - mse: 5.0518e-04 - val_loss: 5.5553e-04 - val_mae: 0.0174 - val_mse: 5.5553e-04 - 182ms/epoch - 14ms/step\n", - "Epoch 157/250\n", - "13/13 - 0s - loss: 5.0064e-04 - mae: 0.0172 - mse: 5.0064e-04 - val_loss: 5.1205e-04 - val_mae: 0.0172 - val_mse: 5.1205e-04 - 160ms/epoch - 12ms/step\n", - "Epoch 158/250\n", - "13/13 - 0s - loss: 4.9541e-04 - mae: 0.0172 - mse: 4.9541e-04 - val_loss: 5.0799e-04 - val_mae: 0.0172 - val_mse: 5.0799e-04 - 131ms/epoch - 10ms/step\n", - "Epoch 159/250\n", - "13/13 - 0s - loss: 5.4153e-04 - mae: 0.0182 - mse: 5.4153e-04 - val_loss: 5.2077e-04 - val_mae: 0.0171 - val_mse: 5.2077e-04 - 172ms/epoch - 13ms/step\n", - "Epoch 160/250\n", - "13/13 - 0s - loss: 4.8280e-04 - mae: 0.0170 - mse: 4.8280e-04 - val_loss: 5.1410e-04 - val_mae: 0.0168 - val_mse: 5.1410e-04 - 164ms/epoch - 13ms/step\n", - "Epoch 161/250\n", - "13/13 - 0s - loss: 4.8993e-04 - mae: 0.0171 - mse: 4.8993e-04 - val_loss: 5.1744e-04 - val_mae: 0.0171 - val_mse: 5.1744e-04 - 169ms/epoch - 13ms/step\n", - "Epoch 162/250\n", - "13/13 - 0s - loss: 4.8044e-04 - mae: 0.0169 - mse: 4.8044e-04 - val_loss: 5.1099e-04 - val_mae: 0.0168 - val_mse: 5.1099e-04 - 188ms/epoch - 14ms/step\n", - "Epoch 163/250\n", - "13/13 - 0s - loss: 4.9657e-04 - mae: 0.0171 - mse: 4.9657e-04 - val_loss: 4.9877e-04 - val_mae: 0.0171 - val_mse: 4.9877e-04 - 258ms/epoch - 20ms/step\n", - "Epoch 164/250\n", - "13/13 - 0s - loss: 4.8858e-04 - mae: 0.0170 - mse: 4.8858e-04 - val_loss: 5.0099e-04 - val_mae: 0.0169 - val_mse: 5.0099e-04 - 150ms/epoch - 12ms/step\n", - "Epoch 165/250\n", - "13/13 - 0s - loss: 4.7747e-04 - mae: 0.0170 - mse: 4.7747e-04 - val_loss: 5.8449e-04 - val_mae: 0.0174 - val_mse: 5.8449e-04 - 158ms/epoch - 12ms/step\n", - "Epoch 166/250\n", - "13/13 - 0s - loss: 4.9897e-04 - mae: 0.0171 - mse: 4.9897e-04 - val_loss: 4.9512e-04 - val_mae: 0.0173 - val_mse: 4.9512e-04 - 265ms/epoch - 20ms/step\n", - "Epoch 167/250\n", - "13/13 - 0s - loss: 4.8695e-04 - mae: 0.0173 - mse: 4.8695e-04 - val_loss: 5.0306e-04 - val_mae: 0.0165 - val_mse: 5.0306e-04 - 151ms/epoch - 12ms/step\n", - "Epoch 168/250\n", - "13/13 - 0s - loss: 4.7948e-04 - mae: 0.0171 - mse: 4.7948e-04 - val_loss: 6.8895e-04 - val_mae: 0.0193 - val_mse: 6.8895e-04 - 128ms/epoch - 10ms/step\n", - "Epoch 169/250\n", - "13/13 - 0s - loss: 4.8055e-04 - mae: 0.0168 - mse: 4.8055e-04 - val_loss: 4.9053e-04 - val_mae: 0.0171 - val_mse: 4.9053e-04 - 234ms/epoch - 18ms/step\n", - "Epoch 170/250\n", - "13/13 - 0s - loss: 4.5980e-04 - mae: 0.0168 - mse: 4.5980e-04 - val_loss: 5.2267e-04 - val_mae: 0.0170 - val_mse: 5.2267e-04 - 167ms/epoch - 13ms/step\n", - "Epoch 171/250\n", - "13/13 - 0s - loss: 4.6495e-04 - mae: 0.0168 - mse: 4.6495e-04 - val_loss: 4.6718e-04 - val_mae: 0.0165 - val_mse: 4.6718e-04 - 243ms/epoch - 19ms/step\n", - "Epoch 172/250\n", - "13/13 - 0s - loss: 4.6046e-04 - mae: 0.0168 - mse: 4.6046e-04 - val_loss: 4.6731e-04 - val_mae: 0.0166 - val_mse: 4.6731e-04 - 148ms/epoch - 11ms/step\n", - "Epoch 173/250\n", - "13/13 - 0s - loss: 4.6993e-04 - mae: 0.0168 - mse: 4.6993e-04 - val_loss: 4.8190e-04 - val_mae: 0.0167 - val_mse: 4.8190e-04 - 143ms/epoch - 11ms/step\n", - "Epoch 174/250\n", - "13/13 - 0s - loss: 4.8411e-04 - mae: 0.0172 - mse: 4.8411e-04 - val_loss: 5.0800e-04 - val_mae: 0.0164 - val_mse: 5.0800e-04 - 131ms/epoch - 10ms/step\n", - "Epoch 175/250\n", - "13/13 - 0s - loss: 4.5295e-04 - mae: 0.0164 - mse: 4.5295e-04 - val_loss: 6.2583e-04 - val_mae: 0.0182 - val_mse: 6.2583e-04 - 136ms/epoch - 10ms/step\n", - "Epoch 176/250\n", - "13/13 - 0s - loss: 5.3742e-04 - mae: 0.0183 - mse: 5.3742e-04 - val_loss: 5.6727e-04 - val_mae: 0.0187 - val_mse: 5.6727e-04 - 141ms/epoch - 11ms/step\n", - "Epoch 177/250\n", - "13/13 - 0s - loss: 5.3634e-04 - mae: 0.0182 - mse: 5.3634e-04 - val_loss: 4.6197e-04 - val_mae: 0.0157 - val_mse: 4.6197e-04 - 316ms/epoch - 24ms/step\n", - "Epoch 178/250\n", - "13/13 - 0s - loss: 4.8847e-04 - mae: 0.0169 - mse: 4.8847e-04 - val_loss: 4.6646e-04 - val_mae: 0.0160 - val_mse: 4.6646e-04 - 214ms/epoch - 16ms/step\n", - "Epoch 179/250\n", - "13/13 - 0s - loss: 4.3622e-04 - mae: 0.0160 - mse: 4.3622e-04 - val_loss: 5.3203e-04 - val_mae: 0.0164 - val_mse: 5.3203e-04 - 181ms/epoch - 14ms/step\n", - "Epoch 180/250\n", - "13/13 - 0s - loss: 4.7108e-04 - mae: 0.0165 - mse: 4.7108e-04 - val_loss: 4.6548e-04 - val_mae: 0.0161 - val_mse: 4.6548e-04 - 144ms/epoch - 11ms/step\n", - "Epoch 181/250\n", - "13/13 - 0s - loss: 4.3932e-04 - mae: 0.0164 - mse: 4.3932e-04 - val_loss: 4.4195e-04 - val_mae: 0.0157 - val_mse: 4.4195e-04 - 302ms/epoch - 23ms/step\n", - "Epoch 182/250\n", - "13/13 - 0s - loss: 4.3340e-04 - mae: 0.0159 - mse: 4.3340e-04 - val_loss: 4.5463e-04 - val_mae: 0.0158 - val_mse: 4.5463e-04 - 216ms/epoch - 17ms/step\n", - "Epoch 183/250\n", - "13/13 - 0s - loss: 4.2639e-04 - mae: 0.0162 - mse: 4.2639e-04 - val_loss: 4.3874e-04 - val_mae: 0.0156 - val_mse: 4.3874e-04 - 296ms/epoch - 23ms/step\n", - "Epoch 184/250\n", - "13/13 - 0s - loss: 4.4119e-04 - mae: 0.0159 - mse: 4.4119e-04 - val_loss: 4.7791e-04 - val_mae: 0.0169 - val_mse: 4.7791e-04 - 195ms/epoch - 15ms/step\n", - "Epoch 185/250\n", - "13/13 - 0s - loss: 4.4805e-04 - mae: 0.0164 - mse: 4.4805e-04 - val_loss: 4.6275e-04 - val_mae: 0.0163 - val_mse: 4.6275e-04 - 119ms/epoch - 9ms/step\n", - "Epoch 186/250\n", - "13/13 - 0s - loss: 4.4495e-04 - mae: 0.0163 - mse: 4.4495e-04 - val_loss: 4.4746e-04 - val_mae: 0.0155 - val_mse: 4.4746e-04 - 115ms/epoch - 9ms/step\n", - "Epoch 187/250\n", - "13/13 - 0s - loss: 4.7030e-04 - mae: 0.0167 - mse: 4.7030e-04 - val_loss: 5.6234e-04 - val_mae: 0.0169 - val_mse: 5.6234e-04 - 147ms/epoch - 11ms/step\n", - "Epoch 188/250\n", - "13/13 - 0s - loss: 4.4920e-04 - mae: 0.0160 - mse: 4.4920e-04 - val_loss: 4.2347e-04 - val_mae: 0.0154 - val_mse: 4.2347e-04 - 451ms/epoch - 35ms/step\n", - "Epoch 189/250\n", - "13/13 - 0s - loss: 4.1850e-04 - mae: 0.0159 - mse: 4.1850e-04 - val_loss: 4.5828e-04 - val_mae: 0.0156 - val_mse: 4.5828e-04 - 110ms/epoch - 8ms/step\n", - "Epoch 190/250\n", - "13/13 - 0s - loss: 4.2816e-04 - mae: 0.0159 - mse: 4.2816e-04 - val_loss: 4.2983e-04 - val_mae: 0.0155 - val_mse: 4.2983e-04 - 121ms/epoch - 9ms/step\n", - "Epoch 191/250\n", - "13/13 - 0s - loss: 4.1442e-04 - mae: 0.0156 - mse: 4.1442e-04 - val_loss: 4.5135e-04 - val_mae: 0.0154 - val_mse: 4.5135e-04 - 173ms/epoch - 13ms/step\n", - "Epoch 192/250\n", - "13/13 - 0s - loss: 4.1126e-04 - mae: 0.0159 - mse: 4.1126e-04 - val_loss: 4.2590e-04 - val_mae: 0.0151 - val_mse: 4.2590e-04 - 149ms/epoch - 11ms/step\n", - "Epoch 193/250\n", - "13/13 - 0s - loss: 4.1197e-04 - mae: 0.0155 - mse: 4.1197e-04 - val_loss: 4.2111e-04 - val_mae: 0.0151 - val_mse: 4.2111e-04 - 243ms/epoch - 19ms/step\n", - "Epoch 194/250\n", - "13/13 - 0s - loss: 4.0958e-04 - mae: 0.0157 - mse: 4.0958e-04 - val_loss: 4.1117e-04 - val_mae: 0.0149 - val_mse: 4.1117e-04 - 272ms/epoch - 21ms/step\n", - "Epoch 195/250\n", - "13/13 - 0s - loss: 3.9243e-04 - mae: 0.0153 - mse: 3.9243e-04 - val_loss: 4.1405e-04 - val_mae: 0.0150 - val_mse: 4.1405e-04 - 136ms/epoch - 10ms/step\n", - "Epoch 196/250\n", - "13/13 - 0s - loss: 4.0300e-04 - mae: 0.0153 - mse: 4.0300e-04 - val_loss: 4.3989e-04 - val_mae: 0.0150 - val_mse: 4.3989e-04 - 151ms/epoch - 12ms/step\n", - "Epoch 197/250\n", - "13/13 - 0s - loss: 4.0142e-04 - mae: 0.0154 - mse: 4.0142e-04 - val_loss: 4.3665e-04 - val_mae: 0.0151 - val_mse: 4.3665e-04 - 160ms/epoch - 12ms/step\n", - "Epoch 198/250\n", - "13/13 - 0s - loss: 3.9936e-04 - mae: 0.0153 - mse: 3.9936e-04 - val_loss: 4.2897e-04 - val_mae: 0.0149 - val_mse: 4.2897e-04 - 114ms/epoch - 9ms/step\n", - "Epoch 199/250\n", - "13/13 - 0s - loss: 4.0143e-04 - mae: 0.0153 - mse: 4.0143e-04 - val_loss: 4.0877e-04 - val_mae: 0.0148 - val_mse: 4.0877e-04 - 209ms/epoch - 16ms/step\n", - "Epoch 200/250\n", - "13/13 - 0s - loss: 3.9668e-04 - mae: 0.0152 - mse: 3.9668e-04 - val_loss: 4.3571e-04 - val_mae: 0.0150 - val_mse: 4.3571e-04 - 198ms/epoch - 15ms/step\n", - "Epoch 201/250\n", - "13/13 - 0s - loss: 3.9516e-04 - mae: 0.0154 - mse: 3.9516e-04 - val_loss: 5.1984e-04 - val_mae: 0.0161 - val_mse: 5.1984e-04 - 147ms/epoch - 11ms/step\n", - "Epoch 202/250\n", - "13/13 - 0s - loss: 4.5166e-04 - mae: 0.0161 - mse: 4.5166e-04 - val_loss: 5.4696e-04 - val_mae: 0.0182 - val_mse: 5.4696e-04 - 128ms/epoch - 10ms/step\n", - "Epoch 203/250\n", - "13/13 - 0s - loss: 4.5904e-04 - mae: 0.0166 - mse: 4.5904e-04 - val_loss: 4.1240e-04 - val_mae: 0.0150 - val_mse: 4.1240e-04 - 137ms/epoch - 11ms/step\n", - "Epoch 204/250\n", - "13/13 - 0s - loss: 3.9851e-04 - mae: 0.0150 - mse: 3.9851e-04 - val_loss: 4.5210e-04 - val_mae: 0.0154 - val_mse: 4.5210e-04 - 141ms/epoch - 11ms/step\n", - "Epoch 205/250\n", - "13/13 - 0s - loss: 3.8760e-04 - mae: 0.0151 - mse: 3.8760e-04 - val_loss: 4.0982e-04 - val_mae: 0.0149 - val_mse: 4.0982e-04 - 121ms/epoch - 9ms/step\n", - "Epoch 206/250\n", - "13/13 - 0s - loss: 4.1937e-04 - mae: 0.0156 - mse: 4.1937e-04 - val_loss: 3.8857e-04 - val_mae: 0.0145 - val_mse: 3.8857e-04 - 294ms/epoch - 23ms/step\n", - "Epoch 207/250\n", - "13/13 - 0s - loss: 3.7173e-04 - mae: 0.0146 - mse: 3.7173e-04 - val_loss: 3.9353e-04 - val_mae: 0.0147 - val_mse: 3.9353e-04 - 146ms/epoch - 11ms/step\n", - "Epoch 208/250\n", - "13/13 - 0s - loss: 3.9673e-04 - mae: 0.0153 - mse: 3.9673e-04 - val_loss: 3.9003e-04 - val_mae: 0.0145 - val_mse: 3.9003e-04 - 115ms/epoch - 9ms/step\n", - "Epoch 209/250\n", - "13/13 - 0s - loss: 4.2359e-04 - mae: 0.0155 - mse: 4.2359e-04 - val_loss: 3.9027e-04 - val_mae: 0.0146 - val_mse: 3.9027e-04 - 150ms/epoch - 12ms/step\n", - "Epoch 210/250\n", - "13/13 - 0s - loss: 3.9302e-04 - mae: 0.0154 - mse: 3.9302e-04 - val_loss: 4.1320e-04 - val_mae: 0.0152 - val_mse: 4.1320e-04 - 167ms/epoch - 13ms/step\n", - "Epoch 211/250\n", - "13/13 - 0s - loss: 3.6641e-04 - mae: 0.0147 - mse: 3.6641e-04 - val_loss: 3.9564e-04 - val_mae: 0.0141 - val_mse: 3.9564e-04 - 167ms/epoch - 13ms/step\n", - "Epoch 212/250\n", - "13/13 - 0s - loss: 3.6259e-04 - mae: 0.0143 - mse: 3.6259e-04 - val_loss: 3.8787e-04 - val_mae: 0.0146 - val_mse: 3.8787e-04 - 309ms/epoch - 24ms/step\n", - "Epoch 213/250\n", - "13/13 - 0s - loss: 4.0665e-04 - mae: 0.0156 - mse: 4.0665e-04 - val_loss: 5.0910e-04 - val_mae: 0.0160 - val_mse: 5.0910e-04 - 158ms/epoch - 12ms/step\n", - "Epoch 214/250\n", - "13/13 - 0s - loss: 4.5758e-04 - mae: 0.0169 - mse: 4.5758e-04 - val_loss: 4.1241e-04 - val_mae: 0.0141 - val_mse: 4.1241e-04 - 125ms/epoch - 10ms/step\n", - "Epoch 215/250\n", - "13/13 - 0s - loss: 4.0666e-04 - mae: 0.0155 - mse: 4.0666e-04 - val_loss: 4.6639e-04 - val_mae: 0.0151 - val_mse: 4.6639e-04 - 177ms/epoch - 14ms/step\n", - "Epoch 216/250\n", - "13/13 - 0s - loss: 3.6615e-04 - mae: 0.0145 - mse: 3.6615e-04 - val_loss: 3.8294e-04 - val_mae: 0.0138 - val_mse: 3.8294e-04 - 253ms/epoch - 19ms/step\n", - "Epoch 217/250\n", - "13/13 - 0s - loss: 3.8135e-04 - mae: 0.0149 - mse: 3.8135e-04 - val_loss: 5.1259e-04 - val_mae: 0.0162 - val_mse: 5.1259e-04 - 136ms/epoch - 10ms/step\n", - "Epoch 218/250\n", - "13/13 - 0s - loss: 3.5877e-04 - mae: 0.0144 - mse: 3.5877e-04 - val_loss: 3.7918e-04 - val_mae: 0.0142 - val_mse: 3.7918e-04 - 254ms/epoch - 20ms/step\n", - "Epoch 219/250\n", - "13/13 - 0s - loss: 4.1097e-04 - mae: 0.0155 - mse: 4.1097e-04 - val_loss: 3.7973e-04 - val_mae: 0.0144 - val_mse: 3.7973e-04 - 167ms/epoch - 13ms/step\n", - "Epoch 220/250\n", - "13/13 - 0s - loss: 3.7840e-04 - mae: 0.0149 - mse: 3.7840e-04 - val_loss: 4.7988e-04 - val_mae: 0.0153 - val_mse: 4.7988e-04 - 157ms/epoch - 12ms/step\n", - "Epoch 221/250\n", - "13/13 - 0s - loss: 3.5545e-04 - mae: 0.0143 - mse: 3.5545e-04 - val_loss: 3.7230e-04 - val_mae: 0.0136 - val_mse: 3.7230e-04 - 218ms/epoch - 17ms/step\n", - "Epoch 222/250\n", - "13/13 - 0s - loss: 3.4610e-04 - mae: 0.0141 - mse: 3.4610e-04 - val_loss: 4.1371e-04 - val_mae: 0.0142 - val_mse: 4.1371e-04 - 141ms/epoch - 11ms/step\n", - "Epoch 223/250\n", - "13/13 - 0s - loss: 3.7775e-04 - mae: 0.0149 - mse: 3.7775e-04 - val_loss: 3.8045e-04 - val_mae: 0.0142 - val_mse: 3.8045e-04 - 176ms/epoch - 14ms/step\n", - "Epoch 224/250\n", - "13/13 - 0s - loss: 3.5911e-04 - mae: 0.0145 - mse: 3.5911e-04 - val_loss: 3.5609e-04 - val_mae: 0.0134 - val_mse: 3.5609e-04 - 421ms/epoch - 32ms/step\n", - "Epoch 225/250\n", - "13/13 - 0s - loss: 3.5933e-04 - mae: 0.0144 - mse: 3.5933e-04 - val_loss: 3.5900e-04 - val_mae: 0.0134 - val_mse: 3.5900e-04 - 159ms/epoch - 12ms/step\n", - "Epoch 226/250\n", - "13/13 - 0s - loss: 3.6466e-04 - mae: 0.0144 - mse: 3.6466e-04 - val_loss: 3.5378e-04 - val_mae: 0.0135 - val_mse: 3.5378e-04 - 307ms/epoch - 24ms/step\n", - "Epoch 227/250\n", - "13/13 - 0s - loss: 3.5876e-04 - mae: 0.0144 - mse: 3.5876e-04 - val_loss: 3.6523e-04 - val_mae: 0.0133 - val_mse: 3.6523e-04 - 193ms/epoch - 15ms/step\n", - "Epoch 228/250\n", - "13/13 - 0s - loss: 3.4559e-04 - mae: 0.0142 - mse: 3.4559e-04 - val_loss: 3.5907e-04 - val_mae: 0.0139 - val_mse: 3.5907e-04 - 133ms/epoch - 10ms/step\n", - "Epoch 229/250\n", - "13/13 - 0s - loss: 3.4162e-04 - mae: 0.0142 - mse: 3.4162e-04 - val_loss: 4.2194e-04 - val_mae: 0.0141 - val_mse: 4.2194e-04 - 107ms/epoch - 8ms/step\n", - "Epoch 230/250\n", - "13/13 - 0s - loss: 3.6967e-04 - mae: 0.0146 - mse: 3.6967e-04 - val_loss: 3.7720e-04 - val_mae: 0.0138 - val_mse: 3.7720e-04 - 165ms/epoch - 13ms/step\n", - "Epoch 231/250\n", - "13/13 - 0s - loss: 3.3735e-04 - mae: 0.0136 - mse: 3.3735e-04 - val_loss: 3.3976e-04 - val_mae: 0.0129 - val_mse: 3.3976e-04 - 276ms/epoch - 21ms/step\n", - "Epoch 232/250\n", - "13/13 - 0s - loss: 3.3844e-04 - mae: 0.0141 - mse: 3.3844e-04 - val_loss: 3.8716e-04 - val_mae: 0.0135 - val_mse: 3.8716e-04 - 134ms/epoch - 10ms/step\n", - "Epoch 233/250\n", - "13/13 - 0s - loss: 3.6741e-04 - mae: 0.0145 - mse: 3.6741e-04 - val_loss: 3.8668e-04 - val_mae: 0.0136 - val_mse: 3.8668e-04 - 146ms/epoch - 11ms/step\n", - "Epoch 234/250\n", - "13/13 - 0s - loss: 3.4129e-04 - mae: 0.0139 - mse: 3.4129e-04 - val_loss: 3.4933e-04 - val_mae: 0.0133 - val_mse: 3.4933e-04 - 165ms/epoch - 13ms/step\n", - "Epoch 235/250\n", - "13/13 - 0s - loss: 3.2338e-04 - mae: 0.0137 - mse: 3.2338e-04 - val_loss: 3.4566e-04 - val_mae: 0.0133 - val_mse: 3.4566e-04 - 153ms/epoch - 12ms/step\n", - "Epoch 236/250\n", - "13/13 - 0s - loss: 3.1652e-04 - mae: 0.0134 - mse: 3.1652e-04 - val_loss: 3.9728e-04 - val_mae: 0.0136 - val_mse: 3.9728e-04 - 187ms/epoch - 14ms/step\n", - "Epoch 237/250\n", - "13/13 - 0s - loss: 3.2047e-04 - mae: 0.0136 - mse: 3.2047e-04 - val_loss: 3.3756e-04 - val_mae: 0.0130 - val_mse: 3.3756e-04 - 209ms/epoch - 16ms/step\n", - "Epoch 238/250\n", - "13/13 - 0s - loss: 3.3167e-04 - mae: 0.0138 - mse: 3.3167e-04 - val_loss: 3.3191e-04 - val_mae: 0.0126 - val_mse: 3.3191e-04 - 175ms/epoch - 13ms/step\n", - "Epoch 239/250\n", - "13/13 - 0s - loss: 3.2033e-04 - mae: 0.0134 - mse: 3.2033e-04 - val_loss: 3.2969e-04 - val_mae: 0.0128 - val_mse: 3.2969e-04 - 234ms/epoch - 18ms/step\n", - "Epoch 240/250\n", - "13/13 - 0s - loss: 3.5224e-04 - mae: 0.0141 - mse: 3.5224e-04 - val_loss: 3.9061e-04 - val_mae: 0.0148 - val_mse: 3.9061e-04 - 130ms/epoch - 10ms/step\n", - "Epoch 241/250\n", - "13/13 - 0s - loss: 3.9777e-04 - mae: 0.0153 - mse: 3.9777e-04 - val_loss: 3.7065e-04 - val_mae: 0.0137 - val_mse: 3.7065e-04 - 122ms/epoch - 9ms/step\n", - "Epoch 242/250\n", - "13/13 - 0s - loss: 3.2502e-04 - mae: 0.0138 - mse: 3.2502e-04 - val_loss: 3.3236e-04 - val_mae: 0.0124 - val_mse: 3.3236e-04 - 128ms/epoch - 10ms/step\n", - "Epoch 243/250\n", - "13/13 - 0s - loss: 3.0734e-04 - mae: 0.0133 - mse: 3.0734e-04 - val_loss: 3.2635e-04 - val_mae: 0.0126 - val_mse: 3.2635e-04 - 321ms/epoch - 25ms/step\n", - "Epoch 244/250\n", - "13/13 - 0s - loss: 3.2928e-04 - mae: 0.0137 - mse: 3.2928e-04 - val_loss: 3.2871e-04 - val_mae: 0.0125 - val_mse: 3.2871e-04 - 167ms/epoch - 13ms/step\n", - "Epoch 245/250\n", - "13/13 - 0s - loss: 2.9711e-04 - mae: 0.0131 - mse: 2.9711e-04 - val_loss: 3.2920e-04 - val_mae: 0.0121 - val_mse: 3.2920e-04 - 129ms/epoch - 10ms/step\n", - "Epoch 246/250\n", - "13/13 - 0s - loss: 3.2661e-04 - mae: 0.0134 - mse: 3.2661e-04 - val_loss: 3.6936e-04 - val_mae: 0.0134 - val_mse: 3.6936e-04 - 191ms/epoch - 15ms/step\n", - "Epoch 247/250\n", - "13/13 - 0s - loss: 2.9618e-04 - mae: 0.0128 - mse: 2.9618e-04 - val_loss: 3.3549e-04 - val_mae: 0.0123 - val_mse: 3.3549e-04 - 119ms/epoch - 9ms/step\n", - "Epoch 248/250\n", - "13/13 - 0s - loss: 2.9979e-04 - mae: 0.0130 - mse: 2.9979e-04 - val_loss: 3.8099e-04 - val_mae: 0.0135 - val_mse: 3.8099e-04 - 122ms/epoch - 9ms/step\n", - "Epoch 249/250\n", - "13/13 - 0s - loss: 3.0599e-04 - mae: 0.0131 - mse: 3.0599e-04 - val_loss: 3.2729e-04 - val_mae: 0.0122 - val_mse: 3.2729e-04 - 150ms/epoch - 12ms/step\n", - "Epoch 250/250\n", - "13/13 - 0s - loss: 3.1256e-04 - mae: 0.0134 - mse: 3.1256e-04 - val_loss: 3.3855e-04 - val_mae: 0.0134 - val_mse: 3.3855e-04 - 127ms/epoch - 10ms/step\n" - ] }, { - "data": { - "image/png": "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7xbBwcHCxcVFZGVlCSGEeP7550WLFi3Ezz//LP744w8RGBgoAgMDFW517ZeXlycOHTokDh06JACI9957Txw6dEj89ddfQggh3n77beHo6Cg2bdokjh49KoYNGyZatmwpbt++Le0jNDRUPPLII+L3338Xv/32m2jbtq0YNWqUUm+p1nrQuc7LyxOzZ88WqampIi0tTezYsUM8+uijom3btuLOnTvSPniuKzd58mTh4OAgUlJSRHp6urTcunVLqlPZ74vi4mLRpUsXMXDgQHH48GGxdetW4erqKubMmaPEW6q1KjvXZ8+eFfPnzxd//PGHSEtLE5s2bRKtWrUSffr0kfZhznPNcCODDz74QLRo0UJYWlqKnj17ir179yrdpDotIiJCeHh4CEtLS9G8eXMREREhzp49K62/ffu2mDJlinBychI2NjbiqaeeEunp6Qq2uG7YuXOnAGC0REVFCSH008Fff/114ebmJrRarRgwYIA4ffq0wT6uXbsmRo0aJezs7IS9vb2Ijo4WeXl5Cryb2u1B5/rWrVti4MCBwtXVVTRq1Eh4e3uLZ5991ugPIp7rypV3jgGIlStXSnVM+X1x/vx5MWjQIGFtbS1cXFzErFmzxN27d838bmq3ys71hQsXRJ8+fYSzs7PQarWiTZs24sUXXxQ5OTkG+zHXuVbdazQRERFRvcAxN0RERFSvMNwQERFRvcJwQ0RERPUKww0RERHVKww3REREVK8w3BAREVG9wnBDRERE9QrDDRE1SCqVChs3blS6GURUAxhuiMjsxo8fD5VKZbSEhoYq3TQiqgcslG4AETVMoaGhWLlypUGZVqtVqDVEVJ+w54aIFKHVauHu7m6wODk5AdBfMvroo48waNAgWFtbo1WrVvjmm28Mtj927Bgef/xxWFtbo0mTJpg0aRLy8/MN6qxYsQKdO3eGVquFh4cHpk2bZrA+OzsbTz31FGxsbNC2bVt899130robN24gMjISrq6usLa2Rtu2bY3CGBHVTgw3RFQrvf766xg+fDiOHDmCyMhIjBw5EqdOnQIAFBQUICQkBE5OTti/fz/Wr1+PHTt2GISXjz76CFOnTsWkSZNw7NgxfPfdd2jTpo3BMebNm4dnnnkGR48exeDBgxEZGYnr169Lxz958iS2bNmCU6dO4aOPPoKLi4v5TgARPTzZH8VJRFSJqKgoodFohK2trcHy1ltvCSH0TyB+/vnnDbYJCAgQkydPFkII8cknnwgnJyeRn58vrf/xxx+FWq2Wnq7drFkz8eqrr1bYBgDitddek17n5+cLAGLLli1CCCGGDh0qoqOj5XnDRGRWHHNDRIro378/PvroI4MyZ2dn6efAwECDdYGBgTh8+DAA4NSpU/D19YWtra20vnfv3igpKcHp06ehUqlw5coVDBgw4IFt6Natm/Szra0t7O3tkZWVBQCYPHkyhg8fjoMHD2LgwIEICwtDr169Huq9EpF5MdwQkSJsbW2NLhPJxdra2qR6jRo1MnitUqlQUlICABg0aBD++usvbN68Gdu3b8eAAQMwdepULFy4UPb2EpG8OOaGiGqlvXv3Gr3u2LEjAKBjx444cuQICgoKpPW7d++GWq1G+/bt0bhxY/j4+CA5OblabXB1dUVUVBS++uorJCQk4JNPPqnW/ojIPNhzQ0SKKCwsREZGhkGZhYWFNGh3/fr18Pf3xz/+8Q98/fXX2LdvHz777DMAQGRkJOLi4hAVFYW5c+fi6tWrmD59OsaOHQs3NzcAwNy5c/H888+jadOmGDRoEPLy8rB7925Mnz7dpPbFxsbCz88PnTt3RmFhIX744QcpXBFR7cZwQ0SK2Lp1Kzw8PAzK2rdvjz///BOAfibTmjVrMGXKFHh4eGD16tXo1KkTAMDGxgbbtm3DjBkz0KNHD9jY2GD48OF47733pH1FRUXhzp07WLRoEWbPng0XFxeMGDHC5PZZWlpizpw5OH/+PKytrREUFIQ1a9bI8M6JqKaphBBC6UYQEZWlUqmwYcMGhIWFKd0UIqqDOOaGiIiI6hWGGyIiIqpXOOaGiGodXi0noupgzw0RERHVKww3REREVK8w3BAREVG9wnBDRERE9QrDDREREdUrDDdERERUrzDcEBERUb3CcENERET1CsMNERER1Sv/H/3nbZyJcUQcAAAAAElFTkSuQmCC", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "###############################################################################" ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import matplotlib.pyplot as plt\n", - "\n", - "# selected settings for regression (best fit from options above)\n", - "activation, optimizer, n_hidden_layers, n_nodes_per_layer = \"tanh\", \"Adam\", 4, 20\n", - "loss, metrics = \"mse\", [\"mae\", \"mse\"]\n", - "\n", - "# Create data objects for training using scalar normalization\n", - "n_inputs = len(input_labels)\n", - "n_outputs = len(output_labels)\n", - "x = input_data\n", - "y = output_data\n", - "\n", - "input_scaler = None\n", - "output_scaler = None\n", - "input_scaler = OffsetScaler.create_normalizing_scaler(x)\n", - "output_scaler = OffsetScaler.create_normalizing_scaler(y)\n", - "x = input_scaler.scale(x)\n", - "y = output_scaler.scale(y)\n", - "x = x.to_numpy()\n", - "y = y.to_numpy()\n", - "\n", - "# Create Keras Sequential object and build neural network\n", - "model = tf.keras.Sequential()\n", - "model.add(\n", - " tf.keras.layers.Dense(\n", - " units=n_nodes_per_layer, input_dim=n_inputs, activation=activation\n", - " )\n", - ")\n", - "for i in range(1, n_hidden_layers):\n", - " model.add(tf.keras.layers.Dense(units=n_nodes_per_layer, activation=activation))\n", - "model.add(tf.keras.layers.Dense(units=n_outputs, activation=keras.activations.linear))\n", - "\n", - "# Train surrogate (calls optimizer on neural network and solves for weights)\n", - "model.compile(loss=loss, optimizer=optimizer, metrics=metrics)\n", - "mcp_save = tf.keras.callbacks.ModelCheckpoint(\n", - " \".mdl_co2.keras\", save_best_only=True, monitor=\"val_loss\", mode=\"min\"\n", - ")\n", - "history = model.fit(\n", - " x=x, y=y, validation_split=0.2, verbose=2, epochs=250, callbacks=[mcp_save]\n", - ")\n", - "\n", - "# Get the training and validation MSE from the history\n", - "train_mse = history.history[\"mse\"]\n", - "val_mse = history.history[\"val_mse\"]\n", - "\n", - "# Generate a plot of training MSE vs validation MSE\n", - "epochs = range(1, len(train_mse) + 1)\n", - "plt.plot(epochs, train_mse, \"bo-\", label=\"Training MSE\")\n", - "plt.plot(epochs, val_mse, \"ro-\", label=\"Validation MSE\")\n", - "plt.title(\"Training MSE vs Validation MSE\")\n", - "plt.xlabel(\"Epochs\")\n", - "plt.ylabel(\"MSE\")\n", - "plt.legend()\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "INFO:tensorflow:Assets written to: keras_surrogate\\assets\n" - ] - } - ], - "source": [ - "# Adding input bounds and variables along with scalers and output variable to kerasSurrogate\n", - "xmin, xmax = [7, 306], [40, 1000]\n", - "input_bounds = {input_labels[i]: (xmin[i], xmax[i]) for i in range(len(input_labels))}\n", - "\n", - "keras_surrogate = KerasSurrogate(\n", - " model,\n", - " input_labels=list(input_labels),\n", - " output_labels=list(output_labels),\n", - " input_bounds=input_bounds,\n", - " input_scaler=input_scaler,\n", - " output_scaler=output_scaler,\n", - ")\n", - "keras_surrogate.save_to_folder(\n", - " keras_folder_name=\"sco2_keras_surr\", keras_model_name=\"sco2_keras_model\"\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.3 Visualizing Surrogates\n", - "\n", - "Now that the surrogate models have been trained, the models can be visualized through scatter, parity and residual plots to confirm their validity in the chosen domain. The training data will be visualized first to confirm the surrogates are fit the data, and then the validation data will be visualized to confirm the surrogates accurately predict new output values." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "13/13 [==============================] - 1s 3ms/step\n" - ] }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Supercritical CO2 Property Surrogate with OMLT Surrogate Object - Training Surrogate (Part 1)\n", + "\n", + "Maintainer: Javal Vyas\n", + "\n", + "Author: Javal Vyas\n", + "\n", + "Updated: 2024-01-24\n", + "\n", + "## 1. Introduction\n", + "This notebook illustrates the use of KerasSurrogate API leveraging TensorFlow Keras and OMLT package to produce an ML surrogate based on supercritical CO2 data from simulation using REFPROP package.\n", + "\n", + "There are several reasons to build surrogate models for complex processes, even when higher fidelity models already exist (e.g., reduce model size, improve convergence reliability, replace models with externally compiled code and make them fully-equation oriented).\n", + "\n", + "In this example, we intend to make a surrogate for the physical properties of S-CO2 to be embedded in the property package. This property package will be used to get the physical properties of S-CO2 in the flowsheet simulation. To learn more about property package, see the [IDAES-PSE](https://github.com/IDAES/idaes-pse) Github Page or IDAES [Read-the-docs](https://idaes-pse.readthedocs.io/en/latest/). \n", + "\n", + "### 1.1 Need for ML Surrogates\n", + "\n", + "The properties predicted by the surrogate are enthalpy and entropy of the S-CO2 based on the \n", + "pressure and temperature of the system. The analytical equation of getting the enthalpy and entropy from pressure and temperature are in the differential form and would make the problem a DAE system. To counter this problem and keep the problem algebraic, we will use the ML surrogates and relate enthalpy and entropy with the pressure and temperature as an algebraic equation.\n", + "\n", + "### 1.2 Supercritical CO2 cycle process\n", + "\n", + "The following flowsheet will be used to optimize the design for the cooling of the fusion reactor using supercritical CO2 cycle. We shall focus on training the surrogate for this notebook and move to constructing the flowsheet and the properties package in the subsequent notebooks. The take away from this flowsheet is that, 3 variables can be measured in any given unit which are flow, pressure and temperature and other properties can be calculated using them. Thus, surrogate should have pressure and temperature as the inputs.\n", + "\n", + "In this example, we will train a tanh model from our data and then demonstrate that we can solve an optimization problem with that surrogate model. " ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import Image\n", + "from pathlib import Path\n", + "\n", + "\n", + "def datafile_path(name):\n", + " return Path(\"..\") / name\n", + "\n", + "\n", + "Image(datafile_path(\"CO2_flowsheet.png\"))" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Training and Validating Surrogate\n", + "\n", + "First, let's import the required Python and IDAES modules:" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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YmJ8/jmIiIgaotUsdX3xxReYNWsWvvnmG+Tk5KCmpgZjx47F6dOn5WPuu+8+bNq0Cf/+97/xxRdfoKSkBFOmTGnGq67XElN/V1xxBQYPHowNGzYAsHdLfvHFF/HTTz9h1apV+OyzzzBv3jwAwLBhw7B06VJERESgtLQUpaWleOCBBwAANTU1ePzxx/HDDz/ggw8+QFFREWbMmNFkn4OIiMioVpPx+fjjj1U/r1y5EjExMdixYwdGjBgBq9WKFStWYPXq1bjiiisAAG+//TYuvPBCfPPNN7j00kub47JbvL59+2LPnj0AgOzsbPnxxMRE/P3vf8ddd92FV155BcHBwTCbzRAEQc4cSW677Tb59z179sSLL76Iiy++GKdOnUKHDh2a5HMQEREZ0WoyPo6sVisAoFOnTgCAHTt2oKamBhkZGfIxffv2Rffu3ZGXl6d7nnPnzqGyslL1y5+IoigvXW3duhVXXnklunXrhvDwcNx8882wWCw4c+aMy3Ps2LEDkyZNQvfu3REeHo6RI0cCAI4cOdLo109EROSJVhn42Gw2ZGdnY/jw4RgwYAAA4NixYwgODnbaddSlSxccO3ZM91yLFy+G2WyWfyUkJDTmpbc4+/btQ1JSEoqKijBx4kQMGjQI69evx44dO/CPf/wDgOvlt9OnT2PcuHGIiIjAe++9h++++w7/+c9/3L6OiIioObSapS6lWbNmoaCgAF9//XWDz/XQQw/h/vvvl3+urKz0m+Dns88+w48//oj77rsPO3bsgM1mw/PPPy8PX127dq3q+ODgYKcREj///DMsFgueeuop+b59//33TfMBiIioWbjapSytyNT/HI7y8ih06mSB2VwlP95c459aXeAze/ZsbN68GV9++SXi4+Plx7t27Yrq6mpUVFSosj6///67U02KUkhICEJCQhrzkluEc+fO4dixY6rt7IsXL8bEiRNxyy23oKCgADU1NXjppZcwadIkbN++Ha+99prqHImJiTh16hQ+/fRTDB48GGFhYejevTuCg4Px0ksv4a677kJBQQEef/zxZvqURETU2IzuUp42bRr+979YPPaYGTabAJNJxMKFv2HKlJMICgpCdXU1SktLm7yLc6sJfERRxN13343//Oc/+Pzzz5GUlKR6PjU1FUFBQfj0008xdepUAMD+/ftx5MgRpKenN8cltygff/wxYmNj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tcwFgNvZPfHggw+KX3zxhVhYWCju2bNHfPDBB0VBEMQtW7aIomjfutq9e3fxs88+E7///nsxPT1dTE9Pl18vbV0dO3asuHv3bvHjjz8WO3fu3Kq2rmpR7uoSRf+4D3PmzBE///xzsbCwUNy+fbuYkZEhRkdHi8ePHxdF0T/uwbfffisGBgaKTzzxhHjgwAHxvffeE8PCwsR3331XPuapp54SIyMjxf/+97/inj17xD/96U+a21mHDBki5ufni19//bXYu3fvFr2F11FdXZ3YvXt3cf78+U7P+cOfg+nTp4vdunWTt7Nv2LBBjI6OFufNmycf4w9/Dj7++GPxo48+En/99Vdxy5Yt4uDBg8W0tDSxurpaFMW2eQ+qqqrEXbt2ibt27RIBiEuWLBF37dolHj58WBRF33zmiooKsUuXLuLNN98sFhQUiO+//74YFhbG7exN5bbbbhN79OghBgcHi507dxavvPJKOegRRVE8e/as+Ne//lXs2LGjGBYWJv6///f/xNLSUtU5ioqKxKuuukoMDQ0Vo6OjxTlz5og1NTVN/VF8yjHw8Yf7kJmZKcbGxorBwcFit27dxMzMTFX/Gn+4B6Ioips2bRIHDBgghoSEiH379hWXL1+uet5ms4kPP/yw2KVLFzEkJES88sorxf3796uOsVgs4vXXXy926NBBjIiIEG+99VaxqqqqKT9Gg3zyySciAKfPJYr+8eegsrJSvPfee8Xu3buL7dq1E3v27CkuWLBAtf3YH/4crFmzRuzZs6cYHBwsdu3aVZw1a5ZYUVEhP98W78G2bdtEAE6/pk+fLoqi7z7zDz/8IF522WViSEiI2K1bN/Gpp55q0HULoqhor0lERETUhrHGh4iIiPwGAx8iIiLyGwx8iIiIyG8w8CEiIiK/wcCHiIiI/AYDHyIiIvIbDHyIiIjIbzDwISIiIr/BwIeIGmzUqFHIzs5u7stodI8++iguuuii5r4MImoABj5E5Peqq6ub9P1EUURtbW2TvicR2THwIaIGmTFjBr744gssW7YMgiBAEAQUFRWhoKAAV111FTp06IAuXbrg5ptvRllZmfy6UaNG4e6770Z2djY6duyILl264I033sDp06dx6623Ijw8HL169cJHH30kv+bzzz+HIAj48MMPMWjQILRr1w6XXnopCgoKVNf09ddf4/LLL0doaCgSEhJw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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# Import statements\n", + "import os\n", + "import numpy as np\n", + "import pandas as pd\n", + "import random as rn\n", + "import tensorflow as tf\n", + "import tensorflow.keras as keras\n", + "\n", + "# Import IDAES libraries\n", + "from idaes.core.surrogate.sampling.data_utils import split_training_validation\n", + "from idaes.core.surrogate.sampling.scaling import OffsetScaler\n", + "from idaes.core.surrogate.keras_surrogate import KerasSurrogate\n", + "from idaes.core.surrogate.plotting.sm_plotter import (\n", + " surrogate_scatter2D,\n", + " surrogate_parity,\n", + " surrogate_residual,\n", + ")\n", + "\n", + "# fix environment variables to ensure consist neural network training\n", + "os.environ[\"PYTHONHASHSEED\"] = \"0\"\n", + "os.environ[\"CUDA_VISIBLE_DEVICES\"] = \"\"\n", + "np.random.seed(46)\n", + "rn.seed(1342)\n", + "tf.random.set_seed(62)" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "13/13 [==============================] - 0s 3ms/step\n" - ] - }, - { - "data": { - "image/png": "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TFC3bl3MmDED2dnZJfq6W7duLfTm8QcPHoRCoUBycvIrX4OIiIouPj4+X8H2f/8XiKNH6wEA7OzUy3jkHRotT9jTRqWuQ4cOWLNmDTIyMrBr1y6MGDECxsbGCA4OlsVlZmbCxMSkWF6zUqVKOnENIiLKT6kEfvtNiRo1oqW2u3cb4f33eyAsTN27Zm6uLtgGDCib96sVBnvaqNSZmprCwcEBNWvWxLBhw+Dj4wOlUgl/f39069YNs2bNQrVq1eDq6goAuHnzJj766CPY2tqiUqVK6Nq1K65fvy5dLycnB+PGjYOtrS3s7OwQEBAAIYTsNd955x2MGTNGOs7IyEBgYCCcnJxgamqKunXr4rvvvsP169fh/d9KjBUrVoRCoYC/v3+B13j48CH69++PihUrwsLCAh07dsSVK1ek82vXroWtrS0iIiLg7u4OKysrdOjQAXfv3pViDh48iFatWsHS0hK2trZ48803cePGjWL6TRMR6TalEmjUKBPR0aGygu348X6ws+shTSrw9AScnYHYWHXBpm87GRQXFm2kdebm5sjMzAQAREZGIjY2Fvv27cOOHTuQlZUFX19fVKhQAX/++ScOHz4sFT+a58yfPx9r167F6tWr8ddffyEpKQm//vrrC1+zf//+2LBhAxYvXoxLly7hm2++gZWVFZycnPDLL78AAGJjY3H37l18/fXXBV7D398fJ06cgFKpRFRUFIQQeP/992V74D158gTz5s3DDz/8gD/++APx8fGYMGECAPU09m7duuHtt9/G2bNnERUVhc8++wwKheK1f6dERPpg/vw4fPjhHFnb778HY+fO2li8WL18h6ZICw/Xv71CixuHR0lrhBCIjIxEREQERo0ahfv378PS0hKrVq2ShkV//PFHqFQqrFq1Sipm1qxZA1tbWxw8eBDt27fHokWLEBwcjO7duwMAVq5ciYiIiOe+7uXLl7F582bs27cPPj4+AIDatWtL5zXDoFWqVIGtrW2B17hy5QqUSiUOHz4Mr/82sVu/fj2cnJywbds2fPjhhwDUN9SuXLkSderUAQCMHDkSM2bMAACkpqYiJSUFnTt3ls67u7sX/RdJRKSHtm7dinbtzknHlSo1xahRXdGsGZCTA1Svrp5wkHcbqvLYu5YXe9oISqV681ylsnReb8eOHbCysoKZmRk6duyIXr16Yfr06QCAxo0b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iIgAsGij/2RkZCAsLEzWNmDAANSqVUs7CREREZEMizbC1atX8eOPP8ragoODYWJioqWMiIiI6Fks2sq5LVu24OLFi9JxixYt0LlzZy1mRERERAVh0VZOpaenY+7cubK2gQMHwsnJSUsZERER0YuwaCuHLl++jA0bNsjaJk2aBGNjYy1lRERERC/Doq0cyluwtW7dGr6+vlrMhoiIiAqDRVs5NmTIEFSrVk3baRAREVEhKIQQQttJUMFSU1NhY2ODlJQUWFtbazsdIiIiKoSS+v42KLYrEREREVGJYdFGREREpAdYtBERERHpARZtRERERHqARRsRERGRHmDRRkRERKQHWLQRERER6QEWbURERER6gEUbERERkR5g0UZERESkB1i0EREREekBFm1EREREeoBFGxEREZEeYNFGREREpAeMtJ0APZ8QAgCQmpqq5UyIiIiosDTf25rv8eLCok2HPXr0CADg5OSk5UyIiIioqB49egQbG5tiu55CFHcZSMVGpVLhzp07qFChAhQKhbbTKVWpqalwcnLCzZs3YW1tre10KA9+NrqLn43u4mej24r78xFC4NGjR6hWrRoMDIrvTjT2tOkwAwMD1KhRQ9tpaJW1tTX/gdNR/Gx0Fz8b3cXPRrcV5+dTnD1sGpyIQERERKQHWLQRERER6QEWbaSTTE1NERISAlNTU22nQs/gZ6O7+NnoLn42uk1fPh9ORCAiIiLSA+xpIyIiItIDLNqIiIiI9ACLNiIiIiI9wKKNiIiISA+waKNil5GRgaZNm0KhUOD06dOyc2fPnkXbtm1hZmYGJycnhIeH53v+li1b4ObmBjMzMzRu3Bi7du2SnRdCYNq0aXB0dIS5uTl8fHxw5coVWUxSUhL69u0La2tr2NraYtCgQUhLSytyLmWFn58fnJ2dYWZmBkdHR/Tr1w937tyRxWzevBlNmzaFhYUFatasia+++irfdQ4ePIjmzZvD1NQUdevWxdq1a/PFLFu2DLVq1YKZmRk8PDzw999/y86np6djxIgRsLOzg5WVFXr06IF79+7JYuLj49GpUydYWFigSpUqmDhxIrKzs1//F6GDCvPZREREoHXr1qhQoQLs7e3Ro0cPXL9+XRbDz6ZkvOzzmT59OhQKRb6HpaWl7Dr8d634FebvjhAC8+bNQ/369WFqaorq1atj1qxZshi9+rsjiIrZ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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.1 Importing Training and Validation Datasets\n", + "\n", + "In this section, we read the dataset from the CSV file located in this directory. 500 data points were simulated for S-CO2 physical properties using REFPROP package. This example is trained on the entire dataset because neural network can overfit on smaller dataset. The data is separated using an 80/20 split into training and validation data using the IDAES split_training_validation() method.\n", + "\n", + "We rename the column headers because they contained \".\", which may cause errors while reading the column names in subsequent code, thus as a good practice we change them to the variable names to be used in the property package. Further, the input variables are **pressure**, **temperature** , while the output variables are **enth_mol**, **entr_mol**, hence we create two new dataframes for the input and output variables. " ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# Import training data\n", + "np.set_printoptions(precision=6, suppress=True)\n", + "\n", + "csv_data = pd.read_csv(datafile_path(\"500_Points_DataSet.csv\"))\n", + "csv_data.columns.values[0:6] = [\n", + " \"pressure\",\n", + " \"temperature\",\n", + " \"enth_mol\",\n", + " \"entr_mol\",\n", + " \"CO2_enthalpy\",\n", + " \"CO2_entropy\",\n", + "]\n", + "data = csv_data.sample(n=500)\n", + "\n", + "# Creating input_data and output_data from data\n", + "input_data = data.iloc[:, :2]\n", + "output_data = data.iloc[:, 2:4]\n", + "\n", + "# Define labels, and split training and validation data\n", + "input_labels = input_data.columns\n", + "output_labels = output_data.columns\n", + "\n", + "n_data = data[input_labels[0]].size\n", + "data_training, data_validation = split_training_validation(data, 0.8, seed=n_data)" ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "13/13 [==============================] - 0s 4ms/step\n" - ] }, { - "data": { - "image/png": "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WpZPPvkE1dXV+Pjjj5GUlCS+/vnnnztNv9ratm2Lw4cPw2w229QSHT9+XHwfkA/2iEg59iEiItX069cPN910E5YuXYqrV68iJiYG/fr1w+uvv46SkpJ621+4cEH8759//tnmvWbNmqF9+/aorq6W/b4hQ4YAAF5++WWb15cuXVpv29TUVJhMJhw+fFh8raSkpN5s0cHBwQAAQRDE10wmE1atWiWbDm+58847UVpairVr14qvXb9+Ha+88gqaNWuGvn37AgDCw8MBQDLgIyJlWENERKqaNWsW/ud//gerV6/G5MmT8eqrr6JPnz5IT0/HpEmT0K5dO5w7dw75+fn48ccf8c033wAA0tLS0K9fP/To0QORkZHYv38/PvjgA0ybNk32u7p164YHHngAr732GkwmE2699VZs27YNJ0+erLftyJEjMWfOHNx33314/PHHUVlZiWXLlqFjx444ePCguN2gQYMQEhKCu+++G4888giuXLmCFStWICYmRjKo86aHH34Yr7/+OsaOHYsDBw4gOTkZH3zwAb788kssXboUzZs3B1DXCTwtLQ1r165Fx44dERkZia5du6Jr164+TS+RX9N6mBsR+R/LsPt9+/bVe6+2tlZITU0VUlNThevXrwuCIAiFhYXC6NGjhbi4OKFx48ZC69athbvuukv44IMPxM8999xzwk033SS0aNFCCAsLEzp37iz87//+r1BTUyNuIzVEvqqqSnj88ceFVq1aCU2bNhXuvvtu4cyZM5LD0D/77DOha9euQkhIiNCpUyfhnXfekdznxx9/LGRkZAhNmjQRkpOTheeff1548803BQBCUVGRuJ0rw+6dTSkgt79z584J48aNE6KiooSQkBAhPT1dWLVqVb3P7tmzR+jRo4cQEhLCIfhEbjAIglW9MBEREVEAYh8iIiIiCngMiIiIiCjgMSAiIiKigKdpQLRs2TJkZGQgIiICERERyMrKwqZNm8T3+/XrJ67cbPk3efJkm30UFxcjNzcX4eHhiImJwaxZs3D9+nWbbXbs2IEbb7wRoaGhaN++PVavXu2LwyMiIiI/oemw+zZt2mDx4sXo0KEDBEHAW2+9hXvvvReHDh3CDTfcAACYNGkSFi5cKH7GMt8GUDfDbG5uLuLi4rBnzx6UlJRg9OjRaNy4MRYtWgQAKCoqQm5uLiZPnox3330X27Ztw8SJExEfHy87cy4REREFFt2NMouMjMQLL7yACRMmoF+/fujWrZvkJGsAsGnTJtx11104e/YsYmNjAQDLly/HnDlzcOHCBYSEhGDOnDnYuHEjjh49Kn5u5MiRKCsrw+bNm31xSERERKRzupmYsba2Fu+//z4qKiqQlZUlvv7uu+/inXfeQVxcHO6++27Mnz9frCXKz89Henq6GAwBQE5ODqZMmYJjx46he/fuyM/Pr7dkQE5OjsurYZvNZpw9exbNmzfnNPlERER+QhAE/PLLL0hISKi3ULI1zQOiI0eOICsrC1evXkWzZs2wfv16pKWlAQBGjRqFtm3bIiEhAYcPH8acOXNw4sQJrFu3DgBQWlpqEwwBEP8uLS11uE15eTmqqqoQFhYmma7q6mqbJQN++uknMV1ERETkX86cOYM2bdrIvq95QNSpUycUFBTAZDLhgw8+wJgxY7Bz506kpaXh4YcfFrdLT09HfHw8BgwYgMLCQqSmpno1XXl5eViwYEG918+cOYOIiAivfjcRERGpo7y8HImJieJSN3I0D4hCQkLQvn17AECPHj2wb98+vPTSS3j99dfrbXvzzTcDAE6ePInU1FTExcXh66+/ttnm3LlzAIC4uDjx/y2vWW8TEREhWzsEAPPmzcPMmTPFvy0n1DIijoiIiPyHs+4uupuHyGw2y65uXVBQAACIj48HAGRlZeHIkSM4f/68uM3WrVsREREhNm9lZWVh27ZtNvvZunWrTT8lKaGhoWLwwyCIiIioYdO0hmjevHkYMmQIkpKS8Msvv2DNmjXYsWMHtmzZgsLCQqxZswZ33nknWrVqhcOHD2PGjBnIzs5GRkYGgLpVqdPS0vDQQw9hyZIlKC0txVNPPYWpU6ciNDQUADB58mT8/e9/x+zZszF+/Hhs374d//rXv7Bx40YtD52IiIh0RNOA6Pz58xg9ejRKSkpgNBqRkZGBLVu24I477sCZM2fwn//8B0uXLkVFRQUSExMxfPhwPPXUU+Lng4ODsWHDBkyZMgVZWVlo2rQpxowZYzNvUUpKCjZu3IgZM2bgpZdeQps2bbBy5UrOQUREREQi3c1DpFfl5eUwGo0wmUxsPiMiamBqa2tx7do1rZNBbmjcuDGCg4Nl31dafmveqZqIiEgrgiCgtLQUZWVlWieFPNCiRQvExcV5NE8gAyIiIgpYlmAoJiYG4eHhnHjXzwiCgMrKSnFwlWXQlTsYEBERUUCqra0Vg6FWrVppnRxyk2UKnfPnzyMmJsZh85kjuht2T0RE5AuWPkPWi4aTf7L8hp70A2NAREREAY3NZP5Pjd+QAREREREFPAZEREREBKCupuWjjz7SOhk2duzYAYPB4PWRgAyIGpASUxX2FF5EialK66QQEZGOPfvss+jWrZvWydAVjjJrINbuK8a8dUdgFoAgA5A3LB0jeiVpnSwiIiK/wBqiBqDEVCUGQwBgFoAn1x1lTRERUQNlNpuRl5eHlJQUhIWFITMzEx988AGA35qYtm3bhp49eyI8PBy33norTpw4AQBYvXo1FixYgG+++QYGgwEGgwGrV68W933x4kXcd999CA8PR4cOHfDxxx8rSpPle7ds2YLu3bsjLCwMt99+O86fP49NmzahS5cuiIiIwKhRo1BZWSl+rrq6Go8//jhiYmLQpEkT9OnTB/v27VPvZCnEgKgBKLpYIQZDFrWCgFMXK6U/QEREqvNlt4W8vDy8/fbbWL58OY4dO4YZM2bg97//PXbu3Clu86c//Ql//etfsX//fjRq1Ajjx48HAIwYMQJ//OMfccMNN6CkpAQlJSUYMWKE+LkFCxbgd7/7HQ4fPow777wTDz74IC5duqQ4bc8++yz+/ve/Y8+ePThz5gx+97vfYenSpVizZg02btyIzz77DK+88oq4/ezZs/Hhhx/irbfewsGDB9G+fXvk5OS49J1qYEDUAKRENUWQ3YjDYIMByVGcW4OIyBfW7itG78XbMWrFXvRevB1r9xV77buqq6uxaNEivPnmm8jJyUG7du0wduxY/P73v8frr78ubve///u/6Nu3L9LS0jB37lzs2bMHV69eRVhYGJo1a4ZGjRohLi4OcXFx4uSGADB27Fg88MADaN++PRYtWoQrV67g66+/Vpy+5557Dr1790b37t0xYcIE7Ny5E8uWLUP37t1x22234f7778fnn38OAKioqMCyZcvwwgsvYMiQIUhLS8OKFSsQFhaGN954Q72TpgADogYg3hiGvGHpCP51HoZggwGLhnVFvDHMySeJiMhTvu62cPLkSVRWVuKOO+5As2bNxH9vv/02CgsLxe0yMjLE/7YsaWFZ4sIR6881bdoUERERij4n9fnY2FiEh4ejXbt2Nq9Z9ldYWIhr166hd+/e4vuNGzfGTTfdhO+++07xd6qBnaobiBG9kpDdMRqnLlYiOSqcwRARkY846rbgjXvxlStXAAAbN25E69atbd4LDQ0Vg6LGjRuLr1smLjSbzU73b/05y2eVfE7q8waDweP9+QoDogYk3hjGQIiIyMcs3RasgyJvdltIS0tDaGgoiouL0bdv33rvW9cSyQkJCUFtba03kueS1NRUhISE4Msvv0Tbtm0B1C2/sW/fPkyfPt2naWFARERE5AFLt4Un1x1FrSB4vdtC8+bN8cQTT2DGjBkwm83o06cPTCYTvvzyS0RERIiBhSPJyckoKipCQUEB2rRpg+bNmyM0NNQr6XWkadOmmDJlCmbNmoXIyEgkJSVhyZIlqKysxIQJE3yaFgZEREREHvJ1t4U///nPiI6ORl5eHn744Qe0aNECN954I5588klFzVHDhw/HunXr0L9/f5SVlWHVqlUYO3asV9MsZ/HixTCbzXjooYfwyy+/oGfPntiyZQtatmzp03QYBEEQnG9G5eXlMBqNMJlMiIiI0Do5RETkoatXr6KoqAgpKSlo0qSJ1skhDzj6LZWW3xxlRkRERAGPARERERE5NXnyZJth/tb/Jk+erHXyPMY+REREROTUwoUL8cQTT0i+1xC6kjAgIiIiIqdiYmIQExOjdTK8hk1mREREFPAYEBERUUDT46zJ5Bo1fkM2mRERUUAKCQlBUFAQzp49i+joaISEhIhLXJB/EAQBNTU1uHDhAoKCghASEuL2vhgQERFRQAoKCkJKSgpKSkpw9uxZrZNDHggPD0dSUhKCgtxv+GJAREREASskJARJSUm4fv26Ltb2ItcFBwejUaNGHtfuMSAiIqKAZlmR3X5Vdgos7FRNREREAY8BEREREQU8BkREREQU8BgQERERUcBjQEREREQBjwERERERBTwGRERERBTwGBARERFRwGNARERERAGPAREREREFPAZEREREFPAYEBEREVHA0zQgWrZsGTIyMhAREYGIiAhkZWVh06ZN4vtXr17F1KlT0apVKzRr1gzDhw/HuXPnbPZRXFyM3NxchIeHIyYmBrNmzcL169dtttmxYwduvPFGhIaGon379li9erUvDo+IiIj8hKYBUZs2bbB48WIcOHAA+/fvx+233457770Xx44dAwDMmDEDn3zyCd5//33s3LkTZ8+exbBhw8TP19bWIjc3FzU1NdizZw/eeustrF69Gk8//bS4TVFREXJzc9G/f38UFBRg+vTpmDhxIrZs2eLz4yUiIiJ9MgiCIGidCGuRkZF44YUXcP/99yM6Ohpr1qzB/fffDwA4fvw4unTpgvz8fNxyyy3YtGkT7rrrLpw9exaxsbEAgOXLl2POnDm4cOECQkJCMGfOHGzcuBFHjx4Vv2PkyJEoKyvD5s2bFaervLwcRqMRJpMJERER6h40EREReYXS8ls3fYhqa2vxz3/+ExUVFcjKysKBAwdw7do1DBw4UNymc+fOSEpKQn5+PgAgPz8f6enpYjAEADk5OSgvLxdrmfLz8232YdnGsg851dXVKC8vt/lHREREDZPmAdGRI0fQrFkzhIaGYvLkyVi/fj3S0tJQWlqKkJAQtGjRwmb72NhYlJaWAgBKS0ttgiHL+5b3HG1TXl6Oqqoq2XTl5eXBaDSK/xITEz09VCIiItIpzQOiTp06oaCgAHv37sWUKVMwZswYfPvtt1onC/PmzYPJZBL/nTlzRuskERERkZc00joBISEhaN++PQCgR48e2LdvH1566SWMGDECNTU1KCsrs6klOnfuHOLi4gAAcXFx+Prrr232ZxmFZr2N/ci0c+fOISIiAmFhYbLpCg0NRWhoqMfHR0RERPqneQ2RPbPZjOrqavTo0QONGzfGtm3bxPdOnDiB4uJiZGVlAQCysrJw5MgRnD9/Xtxm69atiIiIQFpamriN9T4s21j2QURERKRpDdG8efMwZMgQJCUl4ZdffsGaNWuwY8cObNmyBUajERMmTMDMmTMRGRmJiIgIPPbYY8jKysItt9wCABg0aBDS0tLw0EMPYcmSJSgtLcVTTz2FqVOnirU7kydPxt///nfMnj0b48ePx/bt2/Gvf/0LGzdu1PLQiYiISEc0DYjOnz+P0aNHo6SkBEajERkZGdiyZQvuuOMOAMCLL76IoKAgDB8+HNXV1cjJycFrr70mfj44OBgbNmzAlClTkJWVhaZNm2LMmDFYuHChuE1KSgo2btyIGTNm4KWXXkKbNm2wcuVK5OTk+Px4iYiISJ90Nw+RXnEeIiIiIv/jd/MQEREREWmFAREREREFPAZEREREFPAYEBEpUGKqwp7Ciygxyc9uTkRE/kvziRmJ9G7tvmLMW3cEZgEIMgB5w9IxoleS1skiIiIVsYaIyIESU5UYDAGAWQCeXHeUNUVERA0MAyIiB4ouVojBkEWtIODUxUptEkRERF7BgIjIgZSopggy2L4WbDAgOSpcmwQREZFXMCAiciDeGIa8YekINtRFRcEGAxYN64p4o/zCwERE5H/YqZrIiRG9kpDdMRqnLlYiOSqcwRARUQPEgIhIgXhjGAMhIqIGjE1mREREFPAYEBEREVHAY0BEREREAY8BEREREQU8BkREREQU8BgQERERUcBjQEREREQBjwERERERBTwGRERERBTwGBARERFRwGNARERERAGPAREREREFPAZEREREFPAYEBEREVHAY0BEREREAY8BEZHGSkxV2FN4ESWmKq2TQkQUsBppnQCiQLZ2XzHmrTsCswAEGYC8YekY0StJ62QREQUc1hARaaTEVCUGQwBgFoAn1x1lTRERkQYYEBFppOhihRgMWdQKAk5drNQmQUREAYwBEZFGUqKaIshg+1qwwYDkqHBtEkREFMAYEBFpJN4Yhrxh6Qg21EVFwQYDFg3rinhjmMYpIyIKPOxUTaShEb2SkN0xGqcuViI5KpzBEBGRRhgQEWks3hjGQIiISGNsMiMiIqKAx4CIiIiIAh4DIiIiIgp4DIiIiIgo4DEgIiIiooCnaUCUl5eHXr16oXnz5oiJicHQoUNx4sQJm2369esHg8Fg82/y5Mk22xQXFyM3Nxfh4eGIiYnBrFmzcP36dZttduzYgRtvvBGhoaFo3749Vq9e7e3DIyIiIj+haUC0c+dOTJ06FV999RW2bt2Ka9euYdCgQaioqLDZbtKkSSgpKRH/LVmyRHyvtrYWubm5qKmpwZ49e/DWW29h9erVePrpp8VtioqKkJubi/79+6OgoADTp0/HxIkTsWXLFp8dKxEREemXQRAEwflmvnHhwgXExMRg586dyM7OBlBXQ9StWzcsXbpU8jObNm3CXXfdhbNnzyI2NhYAsHz5csyZMwcXLlxASEgI5syZg40bN+Lo0aPi50aOHImysjJs3rxZUdrKy8thNBphMpkQERHh2YESERGRTygtv3XVh8hkMgEAIiMjbV5/9913ERUVha5du2LevHmorPxt8cv8/Hykp6eLwRAA5OTkoLy8HMeOHRO3GThwoM0+c3JykJ+fL5uW6upqlJeX2/wjIiKihkk3M1WbzWZMnz4dvXv3RteuXcXXR40ahbZt2yIhIQGHDx/GnDlzcOLECaxbtw4A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7OxsAEBJSQkeeOABjB8/Ht999x127NiBYcOGwdWlHl1NExHpBxd3JSLd6devH86fP49jx47BYDAAAObOnYuPP/4Y3377LZKTk9G9e3esX79e/MzEiRMRHByM119/XXxt9+7d6Nu3LyoqKvDpp59i3Lhx+PHHH9G8eXOb7zt48CB69OiBU6dOoW3btpLp6datG5YuXSq+NnToULRo0QKrV68GALfS1KRJE4/OExGphzVERKRLt9xyixgMAUBWVha+//571NbWAgB69uxps/0333yD1atXo1mzZuK/nJwcmM1mFBUV4Y477kDbtm3Rrl07PPTQQ3j33XdRWVkJAMjMzMSAAQOQnp6O//mf/8GKFStw+fJll9PsapqISD8YEBGRX2ratKnN31euXMEjjzyCgoIC8d8333yD77//HqmpqWjevDkOHjyI9957D/Hx8Xj66aeRmZmJsrIyBAcHY+vWrdi0aRPS0tLwyiuvoFOnTmLQEhQUVK/57Nq1ax6niYj0gwEREenS3r17bf7+6quv0KFDBwQHB0tuf+ONN+Lbb79F+/bt6/0LCQkBADRq1AgDBw7EkiVLcPjwYZw6dQrbt28HABgMBvTu3RsLFizAoUOHEBISIjZ/RUdHo6SkRPyu2tpaHD161OkxKEkTEekDAyIi0qXi4mLMnDkTJ06cwHvvvYdXXnkFf/jDH2S3nzNnDvbs2YNp06ahoKAA33//Pf7973+LHZg3bNiAl19+GQUFBTh9+jTefvttmM1mdOrUCXv37sWiRYuwf/9+FBcXY926dbhw4QK6dOkCALj99tuxceNGbNy4EcePH8eUKVNQVlbm9BicpYmI9KOR1gkgIpIyevRoVFVV4aabbkJwcDD+8Ic/iEPZpWRkZGDnzp3405/+hNtuuw2CICA1NRUjRowAALRo0QLr1q3Ds88+i6tXr6JDhw547733cMMNN+C7777Drl27sHTpUpSXl6Nt27b461//iiFDhgAAxo8fj2+++QajR49Go0aNMGPGDPTv39/pMThLExHpB0eZEZHuSI3qIiLyJjaZERERUcBjQEREREQBj01mREREFPBYQ0REREQBjwERERERBTwGRERERBTwGBARERFRwGNARERERAGPAREREREFPAZEREREFPAYEBEREVHAY0BEREREAe//AZgQYx7jt1AvAAAAAElFTkSuQmCC", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.2 Training Surrogate with TensorFlow Keras\n", + "TensorFlow Keras provides an interface to pass regression settings, build neural networks and train surrogate models. Keras enables the usage of two API formats: Sequential and Functional. While the Functional API offers more versatility, including multiple input and output layers in a single neural network, the Sequential API is more stable and user-friendly. Further, the Sequential API integrates cleanly with existing IDAES surrogate tools and will be utilized in this example.\n", + "\n", + "In the code below, we build the neural network structure based on our training data structure and desired regression settings. Offline, neural network models were trained for the list of settings below, and the options bolded and italicized were determined to have the minimum mean squared error for the dataset:\n", + "\n", + "* Activation function: sigmoid, **tanh**\n", + "* Optimizer: **Adam**\n", + "* Number of hidden layers: 3, **4**, 5, 6\n", + "* Number of neurons per layer: **20**, 40, 60\n", + "\n", + "Important thing to note here is that we do not use ReLU activation function for the training as the flowsheet we intend to solve with this surrogate model is a NLP problem and using ReLU activation function will make it an MINLP. Another thing to note here is the network is smaller (4,20) in order to avoid overfitting. \n", + "\n", + "Typically, Sequential Keras models are built vertically; the dataset is scaled and normalized. The network is defined for the input layer, hidden layers, and output layer for the passed activation functions and network/layer sizes. Then, the model is compiled using the passed optimizer and trained using a desired number of epochs. Keras internally validates while training and updates each epoch's model weight (coefficient) values.\n", + "\n", + "Finally, after training the model, we save the results and model expressions to a folder that contains a serialized JSON file. Serializing the model in this fashion enables importing a previously trained set of surrogate models into external flowsheets. This feature will be used later." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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dWucPXs24HH/1o1///vfqK2txTvvvIP09HTP45s2bQpafqN17twZ+/fvh9vt9mmdOXjwoOd5QD5QIyL1mDNDRAAapuMfOHAgli1bhgsXLqBdu3YYNmwYXnjhBZSXlwe8/vTp055/f//99z7PNW/eHF27dkVtba3s5+Xl5QEAnn76aZ/Hly1bFvDarKwsuFwu7N+/3/NYeXl5wCy8sbGxAABBEDyPuVwurFq1SrYc4fKrX/0KJ0+exNq1az2P/fjjj3jmmWfQvHlzDB06FACQmJgIAJLBGhGpw5YZIvL43e9+h1//+tdYvXo17r77bjz33HMYPHgwsrOzMWPGDHTp0gXfffcdtm/fjuPHj2Pfvn0AgF69emHYsGHo168fkpOTsXPnTrzxxhuYPXu27GddfvnlmDRpEp5//nm4XC5cddVV+OSTT3DkyJGA195yyy2YN28exo0bhzlz5qC6uhrLly9H9+7dsXv3bs/rrr32WsTFxeH666/HXXfdhfPnz2PlypVo166dZEAWTnfeeSdeeOEFTJ06Fbt27UJGRgbeeOMNfPbZZ1i2bBlatGgBoCFhuVevXli7di26d++O5ORk9O7dG717945oeYlszezhVEQUWeLQ7KKiooDn6uvrhaysLCErK0v48ccfBUEQhOLiYuG2224TOnToIDRt2lTo1KmTcN111wlvvPGG532LFy8WBg4cKLRq1UpISEgQevbsKTz++ONCXV2d5zVSw6hramqEOXPmCG3atBGSkpKE66+/XigrK5McqvzRRx8JvXv3FuLi4oQePXoIr776quQ233nnHaFPnz5Cs2bNhIyMDGHp0qXC3/72NwGAUFJS4nmdlqHZwYady23vu+++E6ZNmya0bdtWiIuLE7Kzs4VVq1YFvHfbtm1Cv379hLi4OA7TJtLBIQhe7bFERERENsOcGSIiIrI1BjNERERkawxmiIiIyNYYzBAREZGtMZghIiIiW2MwQ0RERLYW9ZPmud1unDhxAi1atOC04URERDYhCALOnTuHjh07BizYKvVi02zZskW47rrrhNTUVAGAsH79es9zdXV1wty5c4XevXsLiYmJQmpqqnDrrbcK3377rabPECfg4h//+Mc//vGPf/b7KysrC3qtN7VlpqqqCjk5OZg+fTrGjx/v81x1dTV2796NBQsWICcnB2fOnMF9992HG264ATt37lT9GeKU4WVlZWjZsqWh5SciIqLwqKysRFpamuc6rsQyMwA7HA6sX78eY8eOlX1NUVERBg4ciGPHjvmsiKuksrISTqcTLpeLwQwREZFNaLl+2ypnxuVyweFwoFWrVrKvqa2t9Vmpt7KyMgIlIyIiIrPYZjTThQsXMG/ePEyaNEkxQisoKIDT6fT8paWlRbCUREREFGm2CGYuXryIm2++GYIgYPny5YqvnT9/Plwul+evrKwsQqUkIiIiM1i+m0kMZI4dO4aNGzcG7TeLj49HfHx8hEpHRERWUl9fj4sXL5pdDFKhadOmiI2NNWRblg5mxEDm8OHD2LRpE9q0aWN2kYiIyIIEQcDJkydx9uxZs4tCGrRq1QodOnQIeR44U4OZ8+fP48iRI57/l5SUYO/evUhOTkZqaipuuukm7N69G++++y7q6+tx8uRJAEBycjLi4uLMKjYREVmMGMi0a9cOiYmJnCTV4gRBQHV1NU6dOgUASE1NDWl7pg7N3rx5M4YPHx7w+JQpU7Bw4UJkZmZKvm/Tpk0YNmyYqs/g0GwiouhWX1+Pr7/+Gu3atWMLvs18//33OHXqFLp37x7Q5WSbodnDhg2DUixlkSlwiIjIwsQcmcTERJNLQlqJv9nFixdDyp+xxWgmIiKiYNi1ZD9G/WYMZoiIiMjWGMwQERFRWGzevBkOhyPso8wYzFhEuasG24orUO6qMbsoRERkEwsXLsTll19udjFMZ+l5ZhqLtUWlmL/uANwCEOMACsZnY+IAdQtpEhERBXPx4kU0bdrU7GKEDVtmTFbuqvEEMgDgFoCH133BFhoiokbA7XajoKAAmZmZSEhIQE5ODt544w0AP3fRfPLJJ+jfvz8SExNx1VVX4dChQwCA1atXY9GiRdi3bx8cDgccDgdWr14NoCGxdvny5bjhhhuQlJSExx9/XLEc4md9+OGH6Nu3LxISEnDNNdfg1KlT2LBhAy699FK0bNkSkydPRnV1ted9tbW1mDNnDtq1a4dmzZph8ODBKCoqCs/OUsBgxmQlFVWeQEZULwg4WlEt/QYiIgqbSHf5FxQU4JVXXsGKFSvw5Zdf4oEHHsBvf/tbbNmyxfOa//mf/8Gf/vQn7Ny5E02aNMH06dMBABMnTsT/+3//D5dddhnKy8tRXl6OiRMnet63cOFCjBs3DgcOHPC8J5iFCxfi2WefxbZt21BWVoabb74Zy5Ytw2uvvYb33nsPH330EZ555hnP6+fOnYs333wTL7/8Mnbv3o2uXbti1KhR+OGHHwzaQ+qwm8lkmW2TEOOAT0AT63Agoy3nSyAiiqRId/nX1tbiiSeewP/93/8hNzcXANClSxcUFhbihRdewJ133gkAePzxxzF06FAAQH5+PsaMGYMLFy4gISEBzZs3R5MmTdChQ4eA7U+ePBnTpk3TVKbFixdj0KBBAIDbb78d8+fPR3FxMbp06QIAuOmmm7Bp0ybMmzcPVVVVWL58OVavXo28vDwAwMqVK/Hxxx/jpZdewu9+9zt9O0YHtsyYLNWZgILx2Yj9aax9rMOBJ8b3RqozweSSERE1HmZ0+R85cgTV1dX45S9/iebNm3v+XnnlFRQXF3te16dPH8+/xWn/xWUAlPTv319zmbw/q3379khMTPQEMuJj4mcXFxfj4sWLnuAHaFg8cuDAgfjqq680f3Yo2DJjARMHpGNI9xQcrahGRttEBjJERBGm1OUfrjr5/PnzAID33nsPnTp18nkuPj7eE9B4J+6Kk8y53e6g209KStJcJv/P8k8adjgcqj470hjMWESqM4FBDBGRSczo8u/Vqxfi4+NRWlrq6Uby5t06IycuLg719fXhKF5QWVlZiIuLw2effYbOnTsDaBg1VVRUhPvvvz+iZWEwQ0REjZ7Y5f/wui9QLwgR6fJv0aIFHnroITzwwANwu90YPHgwXC4XPvvsM7Rs2dITICjJyMhASUkJ9u7di0suuQQtWrRAfHx82MrsLSkpCffccw9+97vfITk5Genp6XjyySdRXV2N22+/PSJlEDGYISIigjld/r///e+RkpKCgoICfPPNN2jVqhWuuOIKPPzww6q6cyZMmIB169Zh+PDhOHv2LFatWoWpU6eGvdyiJUuWwO1249Zbb8W5c+fQv39/fPjhh2jdunXEygAADiHKl6bWsoQ4ERHZz4ULF1BSUoLMzEw0a9bM7OKQBkq/nZbrN0czERERka0xmCEiIopyd999t8/wb++/u+++2+zihYw5M0RERFHusccew0MPPST5XDSkYDCYISIiinLt2rVDu3btzC5G2LCbiYiIiGyNwQwREUUFK85MS8qM+s3YzURERLYWFxeHmJgYnDhxAikpKYiLi/NM+0/WJAgC6urqcPr0acTExCAuLi6k7TGYISIiW4uJiUFmZibKy8tx4sQJs4tDGiQmJiI9PR0xMaF1FDGYISIi24uLi0N6ejp+/PFH09YqIm1iY2PRpEkTQ1rRGMwQEVFUEFd59l/pmaIfE4CJiIjI1hjMEBERka0xmCEiIiJbYzBDREREtsZghoiIiGyNwQwRERHZGoMZIiIisjUGM0RERGRrDGaIiIjI1hjMEBERka0xmCEiIiJbYzBDREREtsZghoiIiGyNwQwRERHZGoMZIiIisjUGM0RERGRrDGaIiIjI1hjMEBERka0xmCEiIiJbYzBDREREtsZghoiIiGyNwQwRERHZGoMZIiIisjVTg5mtW7fi+uuvR8eOHeFwOPDWW2/5PC8IAh555BGkpqYiISEBI0eOxOHDh80pLBEREVmSqcFMVVUVcnJy8Nxzz0k+/+STT+Lpp5/GihUrsGPHDiQlJWHUqFG4cOFChEtKREREVtXEzA/Py8tDXl6e5HOCIGDZsmX43//9X9x4440AgFdeeQXt27fHW2+9hVtuuSWSRSUiIiKLsmzOTElJCU6ePImRI0d6HnM6nbjyyiuxfft22ffV1taisrLS54+IiIiil2WDmZMnTwIA2rdv7/N4+/btPc9JKSgogNPp9PylpaWFtZxERERkLssGM3rNnz8fLpfL81dWVmZ2kYiIiCiMLBvMdOjQAQDw3Xff+Tz+3XffeZ6TEh8fj5YtW/r8ERERUfSybDCTmZmJDh064JNPPvE8VllZiR07diA3N9fEkhEREZGVmDqa6fz58zhy5Ijn/yUlJdi7dy+Sk5ORnp6O+++/H4sXL0a3bt2QmZmJBQsWoGPHjhg7dqx5hSYiIiJLMTWY2blzJ4YPH+75/4MPPggAmDJlClavXo25c+eiqqoKd955J86ePYvBgwfjgw8+QLNmzcwqMhEREVmMQxAEwexChFNlZSWcTidcLhfzZ4iIiGxCy/XbsjkzRERERGowmCEiIiJbYzBDREREtsZghoiIiGyNwQwRERHZGoMZIiIisjUGM0RERGRrDGaIiIjI1hjMEBERka0xmCEiIiJbYzBDREREtsZghoiIiGyNwQwRERHZGoMZIiIisjUGM0RERGRrDGYoqpW7arCtuALlrhqzi0JERGHSxOwCEIXL2qJSzF93AG4BiHEABeOzMXFAutnFIiIig7FlhqJSuavGE8gAgFsAHl73BVtoiIiiEIMZikolFVWeQEZULwg4WlFtToGIiChsGMxQVMpsm4QYh+9jsQ4HMtommlMgIiIKGwYzFJVSnQkoGJ+NWEdDRBPrcOCJ8b2R6kwwuWRERGQ0JgBT1Jo4IB1DuqfgaEU1MtomMpAhIopSDGYoqqU6ExjEEBFFOXYzERERka0xmCEiIiJbYzBDREREtsZghoiIiGyNwQwRERHZGoMZIiIisjUGM0RERGRrDGaIiIjI1hjMEBERka0xmCEiIiJbYzBDREREtsZghoiIiGyNwQwRERHZGoMZIiIisjUGM0RERGRrDGaIiIjI1hjMEBERka0xmCEiIiJbYzBDREREtsZghoiIiGyNwQyRTuWuGmwrrkC5q8bsohARNWpNzC4AkR2tLSrF/HUH4BaAGAdQMD4bEwekm10sIqJGiS0zRBqVu2o8gQwAuAXg4XVfsIWGiMgkDGaINCqpqPIEMqJ6QcDRimpzCkRE1MhZOpipr6/HggULkJmZiYSEBGRlZeH3v/89BEEI/maiMMlsm4QYh+9jsQ4HMtommlMgIqJGztI5M0uXLsXy5cvx8ssv47LLLsPOnTsxbdo0OJ1OzJkzx+ziUSOV6kxAwfhsPLzuC9QLAmIdDjwxvjdSnQlmF42IqFGydDCzbds23HjjjRgzZgwAICMjA2vWrMHnn39ucsmosZs4IB1DuqfgaEU1MtomMpAhIjKRpbuZrrrqKnzyySf4+uuvAQD79u1DYWEh8vLyZN9TW1uLyspKnz+icEh1JiA3qw0DGSIik1m6ZSY/Px+VlZXo2bMnYmNjUV9fj8cffxy/+c1vZN9TUFCARYsWRbCUREREZCZLt8z885//xD/+8Q+89tpr2L17N15++WX88Y9/xMsvvyz7nvnz58Plcnn+ysrKIlhiIiIiijSHYOGhQWlpacjPz8esWbM8jy1evBivvvoqDh48qGoblZWVcDqdcLlcaNmyZbiKSkRERAbScv22dMtMdXU1YmJ8ixgbGwu3221SiYiIiMhqLJ0zc/311+Pxxx9Heno6LrvsMuzZswdPPfUUpk+fbnbRiIiIyCIs3c107tw5LFiwAOvXr8epU6fQsWNHTJo0CY888gji4uJUbYPdTERERPaj5fpt6WDGCAxmiIiI7CdqcmaIiIiIgmEwQ0RERLbGYIaIiIhsjcEMERER2RqDGSIiIrI1BjNERERkawxmiIiIyNYYzBAREZGtMZghIiIiW2MwQ0RERLbGYIaIiIhsjcEMERER2RqDGSIiIrI1BjNERERkawxmiIiIyNYYzBAREZGtMZghIiIiW2MwQ0RERLbGYIYoypS7arCtuALlrhqzi0JEFBFNzC4AERlnbVEp5q87ALcAxDiAgvHZmDgg3exiERGFFVtmiKJEuavGE8gAgFsAHl73BVtoiCjqMZghihIlFVWeQEZULwg4WlFtToGIiCKEwQzZCvNB5GW2TUKMw/exWIcDGW0TzSkQEVGEMJgh21hbVIpBSzZi8sodGLRkI9YWlZpdJEtJdSagYHw2Yh0NEU2sw4EnxvdGqjPB5JIREYWXQxAEIfjL7KuyshJOpxMulwstW7Y0uzikU7mrBoOWbPTpRol1OFCYP5wXaz/lrhocrahGRttE7hsisi0t12+OZiJbUMoH4QXbV6ozgfuEiBoVdjORLTAfhIiI5DCYIVtgPggREclhNxPZxsQB6RjSPYX5IERE5IPBDNkK80GIiMif6mCmsrJS9UY5aoiIiIgiRXUw06pVKzgcDsXXCIIAh8OB+vr6kAtGREREpIbqYGbTpk3hLAcRERGRLqqDmaFDh4azHERERES66E4APnv2LF566SV89dVXAIDLLrsM06dPh9PpNKxwRERERMHommdm586dyMrKwp///Gf88MMP+OGHH/DUU08hKysLu3fvNrqMRERERLJ0rc109dVXo2vXrli5ciWaNGlo3Pnxxx9xxx134JtvvsHWrVsNL6heXJuJiIjIfrRcv3UFMwkJCdizZw969uzp8/h///tf9O/fH9XV1Vo3GTYMZoiIiOxHy/VbVzdTy5YtUVpaGvB4WVkZWrRooWeTRERERLroCmYmTpyI22+/HWvXrkVZWRnKysrw+uuv44477sCkSZOMLiMRERGRLF2jmf74xz/C4XDgtttuw48//ggAaNq0Ke655x4sWbLE0AISERERKdGVMyOqrq5GcXExACArKwuJiYmGFcwozJkhIiKyHy3X75AWmkxMTER2dnYomyAiIiIKia5g5sKFC3jmmWewadMmnDp1Cm632+d5zjVDREREkaIrmLn99tvx0Ucf4aabbsLAgQODLkBJREREFC66gpl3330X77//PgYNGmR0eYiIiIg00TU0u1OnTpxPhoiIiCxBVzDzpz/9CfPmzcOx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HnfddRf27t3r+du3bx8OHz6MrKwstGjRArt378aaNWuQmpqKRx55BDk5OTh79ixiY2Px8ccfY8OGDejVqxeeeeYZ9OjRwxNwxMTEBHQ5Xbx4MeQyEZG1MJghIkPt2LHD5///+c9/0K1bN8TGxkq+/oorrsB///tfdO3aNeAvLi4OANCkSROMHDkSTz75JPbv34+jR49i48aNAACHw4FBgwZh0aJF2LNnD+Li4jxdRikpKSgvL/d8Vn19Pb744oug30FNmYjIOhjMEJGhSktL8eCDD+LQoUNYs2YNnnnmGdx3332yr583bx62bduG2bNnY+/evTh8+DDefvttT7Ltu+++i6effhp79+7FsWPH8Morr8DtdqNHjx7YsWMHnnjiCezcuROlpaVYt24dTp8+jUsvvRQAcM011+C9997De++9h4MHD+Kee+7B2bNng36HYGUiImtpYnYBiCi63HbbbaipqcHAgQMRGxuL++67zzPcWUqfPn2wZcsW/M///A+uvvpqCIKArKwsTJw4EQDQqlUrrFu3DgsXLsSFCxfQrVs3rFmzBpdddhm++uorbN26FcuWLUNlZSU6d+6MP/3pT8jLywMATJ8+Hfv27cNtt92GJk2a4IEHHsDw4cODfodgZSIia+FoJiIyjNToISKicGM3ExEREdkagxkiIiKyNXYzERERka2xZYaIiIhsjcEMERER2RqDGSIiIrI1BjNERERkawxmiIiIyNYYzBAREZGtMZghIiIiW2MwQ0RERLbGYIaIiIhs7f8D+wfn2xM8vM8AAAAASUVORK5CYII=", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "# selected settings for regression (best fit from options above)\n", + "activation, optimizer, n_hidden_layers, n_nodes_per_layer = \"tanh\", \"Adam\", 4, 20\n", + "loss, metrics = \"mse\", [\"mae\", \"mse\"]\n", + "\n", + "# Create data objects for training using scalar normalization\n", + "n_inputs = len(input_labels)\n", + "n_outputs = len(output_labels)\n", + "x = input_data\n", + "y = output_data\n", + "\n", + "input_scaler = None\n", + "output_scaler = None\n", + "input_scaler = OffsetScaler.create_normalizing_scaler(x)\n", + "output_scaler = OffsetScaler.create_normalizing_scaler(y)\n", + "x = input_scaler.scale(x)\n", + "y = output_scaler.scale(y)\n", + "x = x.to_numpy()\n", + "y = y.to_numpy()\n", + "\n", + "# Create Keras Sequential object and build neural network\n", + "model = tf.keras.Sequential()\n", + "model.add(\n", + " tf.keras.layers.Dense(\n", + " units=n_nodes_per_layer, input_dim=n_inputs, activation=activation\n", + " )\n", + ")\n", + "for i in range(1, n_hidden_layers):\n", + " model.add(tf.keras.layers.Dense(units=n_nodes_per_layer, activation=activation))\n", + "model.add(tf.keras.layers.Dense(units=n_outputs, activation=keras.activations.linear))\n", + "\n", + "# Train surrogate (calls optimizer on neural network and solves for weights)\n", + "model.compile(loss=loss, optimizer=optimizer, metrics=metrics)\n", + "mcp_save = tf.keras.callbacks.ModelCheckpoint(\n", + " \".mdl_co2.keras\", save_best_only=True, monitor=\"val_loss\", mode=\"min\"\n", + ")\n", + "history = model.fit(\n", + " x=x, y=y, validation_split=0.2, verbose=2, epochs=250, callbacks=[mcp_save]\n", + ")\n", + "\n", + "# Get the training and validation MSE from the history\n", + "train_mse = history.history[\"mse\"]\n", + "val_mse = history.history[\"val_mse\"]\n", + "\n", + "# Generate a plot of training MSE vs validation MSE\n", + "epochs = range(1, len(train_mse) + 1)\n", + "plt.plot(epochs, train_mse, \"bo-\", label=\"Training MSE\")\n", + "plt.plot(epochs, val_mse, \"ro-\", label=\"Validation MSE\")\n", + "plt.title(\"Training MSE vs Validation MSE\")\n", + "plt.xlabel(\"Epochs\")\n", + "plt.ylabel(\"MSE\")\n", + "plt.legend()\n", + "plt.show()" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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06dPx+DBg9G9e3fZQdYAYPPmzbjttttw7tw5REREAABWrlyJrKwsXLx4EX5+fsjKysKmTZtw/Phx6XNjx45FeXk5tmzZ0hCHRERERG7ObQZmrKurw0cffYTKykqkpqZKy9977z28++67iIyMxO23347FixdLpUR5eXlISkqSgiEASE9Px6xZs3DixAn06NEDeXl5RlMGpKenWz0btkajwblz59CyZUsOk09EROQhhBD4/fffER0dbTRRsi6XB0THjh1Damoqrl69ihYtWuDTTz9FYmIiAGD8+PFo3749oqOjcfToUWRlZeHUqVPYsGEDAKC0tFQvGAIg/bu0tNTkNhUVFaiurkZAQIBsumpqavSmDPj111+ldBEREZFnOXv2LNq1a6e43uUBUZcuXVBQUAC1Wo2PP/4YkydPxu7du5GYmIj7779f2i4pKQlRUVEYOnQoCgsL0bFjR6emKzs7G0uWLDFafvbsWQQFBTn1u4mIiMgxKioqEBMTI011o8TlAZGfnx86deoEAOjVqxfy8/OxfPlyvPnmm0bb9u3bFwBw+vRpdOzYEZGRkfjmm2/0tjl//jwAIDIyUvp/7TLdbYKCghRLhwBg0aJFePjhh6V/a0+otkccEREReQ5zzV3cbhwijUajOLt1QUEBACAqKgoAkJqaimPHjuHChQvSNtu2bUNQUJBUvZWamort27fr7Wfbtm167ZTk+Pv7S8EPgyAiIqLGzaUlRIsWLUJGRgZiY2Px+++/Y926ddi1axe2bt2KwsJCrFu3DrfeeivatGmDo0ePYv78+UhLS0NycjKA+lmpExMTMXHiRCxbtgylpaV48sknMXv2bPj7+wMAZs6ciX/+85947LHHMG3aNOzYsQMffvghNm3a5MpDJyIiIjfi0oDowoULmDRpEkpKShAcHIzk5GRs3boVf/nLX3D27Fn873//wyuvvILKykrExMRg9OjRePLJJ6XP+/r6YuPGjZg1axZSU1PRvHlzTJ48WW/covj4eGzatAnz58/H8uXL0a5dO6xevZpjEBEREZHE7cYhclcVFRUIDg6GWq1m9RkRUSNTV1eHa9euuToZZIOmTZvC19dXcb2lz2+XN6omIiJyFSEESktLUV5e7uqkkB1CQkIQGRlp1ziBDIiIiMhraYOh8PBwBAYGcuBdDyOEQFVVldS5StvpyhYMiIiIyCvV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fGhz+Kj0l/mqVIgLDXRNgoiIiLwQAyIXiwoOQPaoJPiq6qMiX5UKS0d1Q1Sw8sSzRERE5FhsVO0GxvSJRVrnMJwpq0JcaCCDISIiogbGgMhNRAUHMBAiIiJyEVaZERERkddjQERERERejwEREREReT0GREREROT1GBARERGR12NARERERF6PARERERF5PQZERERE5PUYEBEREZHXY0BEREREXo8BEREREXk9BkRERETk9RgQERERkddjQERERERejwEREREReT0GRG6iRF2N3MIylKirXZ0UIiIir9PE1QkgYH1+MRZtOAaNAHxUQPaoJIzpE+vqZBEREXkNlhC5WIm6WgqGAEAjgMc3HGdJERERUQNiQORiRWWVUjCkVScEzpRVuSZBREREXogBkYvFhzaHj0p/ma9KhbjQQNckiIiIyAsxIHKxqOAAZI9Kgq+qPiryVamwdFQ3RAUHuDhlRERE3oONqt3AmD6xSOschjNlVYgLDWQwRERE1MAYELmJqOAABkJEREQuwiozIiIi8noMiIiIiMjrMSAiIiIir8eAiIiIiLweAyIiIiLyei4NiLKzs9GnTx+0bNkS4eHhGDlyJE6dOqW3zeDBg6FSqfT+Zs6cqbdNcXExMjMzERgYiPDwcCxYsADXr1/X22bXrl3o2bMn/P390alTJ6xdu9bZh0dEREQewqUB0e7duzF79mx8/fXX2LZtG65du4bhw4ejsrJSb7v77rsPJSUl0t+yZcukdXV1dcjMzERtbS1yc3PxzjvvYO3atXjqqaekbYqKipCZmYkhQ4agoKAA8+bNw4wZM7B169YGO1YiIiJyXyohhDC/WcO4ePEiwsPDsXv3bqSlpQGoLyHq3r07XnnlFdnPbN68GbfddhvOnTuHiIgIAMDKlSuRlZWFixcvws/PD1lZWdi0aROOHz8ufW7s2LEoLy/Hli1bLEpbRUUFgoODoVarERQUZN+BEhERUYOw9PntVm2I1Go1AKB169Z6y9977z2EhoaiW7duWLRoEaqq/pz4NC8vD0lJSVIwBADp6emoqKjAiRMnpG2GDRumt8/09HTk5eUppqWmpgYVFRV6f0RERNQ4uc1I1RqNBvPmzUP//v3RrVs3afn48ePRvn17REdH4+jRo8jKysKpU6ewYcMGAEBpaaleMARA+ndpaanJbSoqKlBdXY2AAOMRorOz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z4EWz4NrzwEbVRMREZHXYwkREREReT0GREREROT1GBARERGR12NARERERF6PAZEDrFixAsnJydJAUqmpqdi8ebO0/urVq5g9ezbatGmDFi1aYPTo0Th//rzePoqLi5GZmYnAwECEh4djwYIFuH79ekMfisPk5ORApVJh3rx50rLGfh6eeeYZqFQqvb+EhARpfWM/fl2//vor7r33XrRp0wYBAQFISkrCwYMHpfVCCDz11FOIiopCQEAAhg0bhh9//FFvH5cuXcKECRMQFBSEkJAQTJ8+HVeuXGnoQ7FJXFyc0bWgUqkwe/ZsAN5xLdTV1WHx4sWIj49HQEAAOnbsiOeee05vPqnGfh0A9dNFzJs3D+3bt0dAQAD69euH/Px8aX1jPAd79uzB7bffjujoaKhUKnz22Wd66x11zEePHsXAgQPRrFkzxMTEYNmyZfYlXJDdPv/8c7Fp0ybxww8/iFOnTonHH39cNG3aVBw/flwIIcTMmTNFTEyM2L59uzh48KC4+eabRb9+/aTPX79+XXTr1k0MGzZMHD58WHz55ZciNDRULFq0yFWHZJdvvvlGxMXFieTkZPHQQw9Jyxv7eXj66afFjTfeKEpKSqS/ixcvSusb+/FrXbp0SbRv315MmTJFHDhwQPz0009i69at4vTp09I2OTk5Ijg4WHz22WfiyJEj4o477hDx8fGiurpa2mbEiBEiJSVFfP3112Lv3r2iU6dOYty4ca44JKtduHBB7zrYtm2bACB27twphPCOa+GFF14Qbdq0ERs3bhRFRUXio48+Ei1atBDLly+Xtmns14EQQtxzzz0iMTFR7N69W/z444/i6aefFkFBQeKXX34RQjTOc/Dll1+KJ554QmzYsEEAEJ9++qneekccs1qtFhEREWLChAni+PHj4v333xcBAQHizTfftDndDIicpFWrVmL16tWivLxcNG3aVHz00UfSuu+//14AEHl5eUKI+ovHx8dHlJaWStusWLFCBAUFiZqamgZPuz1+//13ccMNN4ht27aJQYMGSQGRN5yHp59+WqSkpMiu84bj18rKyhIDBgxQXK/RaERkZKR46aWXpGXl5eXC399fvP/++0IIIb777jsBQOTn50vbbN68WahUKvHrr786L/FO8tBDD4mOHTsKjUbjNddCZmammDZtmt6yUaNGiQkTJgghvOM6qKqqEr6+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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "# Adding input bounds and variables along with scalers and output variable to kerasSurrogate\n", + "xmin, xmax = [7, 306], [40, 1000]\n", + "input_bounds = {input_labels[i]: (xmin[i], xmax[i]) for i in range(len(input_labels))}\n", + "\n", + "keras_surrogate = KerasSurrogate(\n", + " model,\n", + " input_labels=list(input_labels),\n", + " output_labels=list(output_labels),\n", + " input_bounds=input_bounds,\n", + " input_scaler=input_scaler,\n", + " output_scaler=output_scaler,\n", + ")\n", + "keras_surrogate.save_to_folder(\n", + " keras_folder_name=\"sco2_keras_surr\", keras_model_name=\"sco2_keras_model\"\n", + ")" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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37Bhg9P0+1qbNm2wd+9emEwmq9KZAwcOmD8H1AM1InId28wQEYDa4fh79uyJV199FZcuXUJ8fDz69++PRYsWoaSkxG79M2fOmP/7119/tfqscePGaNeuHaqqqlT3l52dDQB4/fXXrZa/+uqrduumpqbCaDRi79695mUlJSV2o/CGhYUBAIQQ5mVGoxFLly5VTYe//P73v8epU6ewcuVK87IrV67gjTfeQOPGjdGvXz8AQGRkJAAoBmtE5BqWzBCR2VNPPYU//OEPWLZsGf70pz/hzTffRN++fZGeno4HHngAbdu2xS+//IItW7bg559/xp49ewAAnTp1Qv/+/dGtWzc0a9YM27dvx0cffYRHHnlEdV/XX389Ro8ejbfeegtGoxG9e/fGN998gyNHjtite/fdd2P69Om44447MGXKFFRUVGDBggVo3749du7caV7vlltuQXh4OG677TY89NBDuHDhAhYvXoz4+HjFgMyfHnzwQSxatAhjx47Fjh07kJycjI8++gjfffcdXn31VURHRwOobbDcqVMnrFy5Eu3bt0ezZs3QuXNndO7cOaDpJdK0YHenIqLAkrtmFxQU2H1WU1MjUlNTRWpqqrhy5YoQQojCwkLxxz/+UbRs2VI0bNhQtG7dWtx6663io48+Mn/vhRdeED179hRNmjQRer1epKWliblz54rq6mrzOkrdqCsrK8WUKVNE8+bNRVRUlLjttttEcXGxYlflr776SnTu3FmEh4eLDh06iA8++EBxm5999pno0qWLaNSokUhOThbz588X7777rgAgioqKzOu50zXbWbdzte398ssvYty4cSI2NlaEh4eL9PR0sXTpUrvv5ufni27duonw8HB20ybygCSERXksERERkcawzQwRERFpGoMZIiIi0jQGM0RERKRpDGaIiIhI0xjMEBERkaYxmCEiIiJNq/OD5plMJpw8eRLR0dEcNpyIiEgjhBA4f/48WrVqZTdhq9LKQbNp0yZx6623ioSEBAFArF692vxZdXW1mDZtmujcubOIjIwUCQkJ4v777xcnTpxwax/yAFz84x//+Mc//vFPe3/FxcVOn/VBLZm5ePEiMjIyMH78eIwYMcLqs4qKCuzcuRMzZ85ERkYGzp07h8ceewzDhg3D9u3bXd6HPGR4cXExYmJifJp+IiIi8o/y8nIkJiaan+OOhMwIwJIk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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.3 Visualizing Surrogates\n", + "\n", + "Now that the surrogate models have been trained, the models can be visualized through scatter, parity and residual plots to confirm their validity in the chosen domain. The training data will be visualized first to confirm the surrogates are fit the data, and then the validation data will be visualized to confirm the surrogates accurately predict new output values." ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "surrogate_scatter2D(keras_surrogate, data_training)\n", - "surrogate_parity(keras_surrogate, data_training)\n", - "surrogate_residual(keras_surrogate, data_training)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.4 Model Validation\n", - "\n", - "We check the fit on the validation set to see if the surrogate is fitting well. This step can be used to check for overfitting on the training set." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "4/4 [==============================] - 0s 5ms/step\n" - ] }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "surrogate_scatter2D(keras_surrogate, data_training)\n", + "surrogate_parity(keras_surrogate, data_training)\n", + "surrogate_residual(keras_surrogate, data_training)" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmEAAAHHCAYAAAD3WI8lAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABt7klEQVR4nO3deVxU1f8/8NcddhAGWWQRFMR9SUUTsaw0Evso5k/9aGamSVl9RUXNLXOpPubSpmZmloWV5t4ibpFbqUTmGqakhAsBKoMMuIEw5/fHNNcZZoABgQHm9Xw85gHce+bOufdD8v6c8z7vIwkhBIiIiIioRiks3QEiIiIia8QgjIiIiMgCGIQRERERWQCDMCIiIiILYBBGREREZAEMwoiIiIgsgEEYERERkQUwCCMiIiKyAAZhRERERBbAIIyIiMoUFxcHSZJw4cIFS3eFqF5hEEZEFnfkyBHExMSgXbt2cHFxQZMmTTB06FD89ddfRm0fe+wxSJIESZKgUCjg5uaGVq1aYeTIkUhISKjQ527btg2PPvooGjVqBGdnZzRr1gxDhw7Frl27qurWjLz99tv47rvvjI4fPnwY8+bNQ25ubrV9dknz5s2Tn6UkSXB2dkbbtm3x+uuvIy8vr0o+Y926dViyZEmVXIuovmEQRkQWt2jRImzZsgWPP/44li5dirFjx+Lnn39GaGgokpOTjdoHBATgq6++wpdffol33nkHAwYMwOHDh9GnTx8MGzYMd+/eLfcz3333XQwYMACSJGHmzJn44IMPMHjwYJw7dw7r16+vjtsEUHYQ9sYbb9RoEKbz8ccf46uvvsL777+P1q1bY/78+ejbty+qYmthBmFEpbO1dAeIiCZPnox169bB3t5ePjZs2DB06NABCxcuxNdff23QXqlU4tlnnzU4tnDhQkyYMAErVqxAUFAQFi1aVOrnFRUV4a233sITTzyBH3/80ej81atX7/OOao9bt27B2dm5zDZDhgyBl5cXAODll1/G4MGDsXXrVvz6668IDw+viW4SWSWOhBGRxfXo0cMgAAOAFi1aoF27djhz5oxZ17CxscGyZcvQtm1bLF++HGq1utS22dnZyMvLw0MPPWTyfKNGjQx+vnPnDubNm4eWLVvC0dERfn5+GDRoEFJTU+U27777Lnr06AFPT084OTmhS5cu2Lx5s8F1JEnCzZs3sWbNGnkKcPTo0Zg3bx6mTp0KAAgODpbP6edgff311+jSpQucnJzg4eGBp59+GpcvXza4/mOPPYb27dvj6NGjeOSRR+Ds7IzXXnvNrOenr3fv3gCAtLS0MtutWLEC7dq1g4ODA/z9/TFu3DiDkbzHHnsM27dvx8WLF+V7CgoKqnB/iOorjoQRUa0khMCVK1fQrl07s99jY2OD4cOHY/bs2Th48CD69etnsl2jRo3g5OSEbdu2Yfz48fDw8Cj1msXFxejfvz/27NmDp59+GhMnTkR+fj4SEhKQnJyMkJAQAMDSpUsxYMAAjBgxAoWFhVi/fj3++9//Ij4+Xu7HV199hRdeeAHdunXD2LFjAQAhISFwcXHBX3/9hW+++QYffPCBPCrl7e0NAJg/fz5mz56NoUOH4oUXXsC1a9fw4Ycf4pFHHsHx48fh7u4u91elUuHJJ5/E008/jWeffRY+Pj5mPz8dXXDp6elZapt58+bhjTfeQEREBF555RWkpKTg448/xpEjR3Do0CHY2dlh1qxZUKvVSE9PxwcffAAAaNCgQYX7Q1RvCSKiWuirr74SAMTq1asNjj/66KOiXbt2pb7v22+/FQDE0qVLy7z+nDlzBADh4uIinnzySTF//nxx9OhRo3aff/65ACDef/99o3MajUb+/tatWwbnCgsLRfv27UXv3r0Njru4uIhRo0YZXeudd94RAERaWprB8QsXLggbGxsxf/58g+N//PGHsLW1NTj+6KOPCgBi5cqVpd63vrlz5woAIiUlRVy7dk2kpaWJTz75RDg4OAgfHx9x8+ZNIYQQX3zxhUHfrl69Kuzt7UWfPn1EcXGxfL3ly5cLAOLzzz+Xj/Xr1080bdrUrP4QWRtORxJRrXP27FmMGzcO4eHhGDVqVIXeqxtpyc/PL7PdG2+8gXXr1qFz587YvXs3Zs2ahS5duiA0NNRgCnTLli3w8vLC+PHjja4hSZL8vZOTk/z99evXoVar0bNnTxw7dqxC/S9p69at0Gg0GDp0KLKzs+WXr68vWrRogX379hm0d3BwwPPPP1+hz2jVqhW8vb0RHByMl156Cc2bN8f27dtLzSX76aefUFhYiNjYWCgU9/6MvPjii3Bzc8P27dsrfqNEVojTkURUq2RlZaFfv35QKpXYvHkzbGxsKvT+GzduAABcXV3LbTt8+HAMHz4ceXl5SEpKQlxcHNatW4eoqCgkJyfD0dERqampaNWqFWxty/7nMj4+Hv/73/9w4sQJFBQUyMf1A7XKOHfuHIQQaNGihcnzdnZ2Bj83btzYKL+uPFu2bIGbmxvs7OwQEBAgT7GW5uLFiwC0wZs+e3t7NGvWTD5PRGVjEEZEtYZarcaTTz6J3Nxc/PLLL/D396/wNXQlLZo3b272e9zc3PDEE0/giSeegJ2dHdasWYOkpCQ8+uijZr3/l19+wYABA/DII49gxYoV8PPzg52dHb744gusW7euwvegT6PRQJIk7Ny502RAWjLHSn9EzlyPPPKInIdGRDWHQRgR1Qp37txBVFQU/vrrL/z0009o27Ztha9RXFyMdevWwdnZGQ8//HCl+tG1a1esWbMGmZmZALSJ80lJSbh7967RqJPOli1b4OjoiN27d8PBwUE+/sUXXxi1LW1krLTjISEhEEIgODgYLVu2rOjtVIumTZsCAFJSUtCsWTP5eGFhIdLS0hARESEfu9+RQKL6jDlhRGRxxcXFGDZsGBITE7Fp06ZK1aYqLi7GhAkTcObMGUyYMAFubm6ltr116xYSExNNntu5cyeAe1NtgwcPRnZ2NpYvX27UVvxbzNTGxgaSJKG4uFg+d+HCBZNFWV1cXEwWZHVxcQEAo3ODBg2CjY0N3njjDaPiqUIIqFQq0zdZjSIiImBvb49ly5YZ9Gn16tVQq9UGq1JdXFzKLBdCZM04EkZEFjdlyhT88MMPiIqKQk5OjlFx1pKFWdVqtdzm1q1bOH/+PLZu3YrU1FQ8/fTTeOutt8r8vFu3bqFHjx7o3r07+vbti8DAQOTm5uK7777DL7/8goEDB6Jz584AgOeeew5ffvklJk+ejN9++w09e/bEzZs38dNPP+H//u//8NRTT6Ffv354//330bdvXzzzzDO4evUqPvroIzRv3hynTp0y+OwuXbrgp59+wvvvvw9/f38EBwcjLCwMXbp0AQDMmjULTz/9NOzs7BAVFYWQkBD873//w8yZM3HhwgUMHDgQrq6uSEtLw7fffouxY8fi1Vdfva/nX1He3t6YOXMm3njjDfTt2xcDBgxASkoKVqxYgQcffNDgf68uXbpgw4YNmDx5Mh588EE0aNAAUVFRNdpfolrLkksziYiEuFdaobRXWW0bNGggWrRoIZ599lnx448/mvV5d+/eFZ9++qkYOHCgaNq0qXBwcBDOzs6ic+fO4p133hEFBQUG7W/duiVmzZolgoODhZ2dnfD19RVDhgwRqampcpvVq1eLFi1aCAcHB9G6dWvxxRdfyCUg9J09e1Y88sgjwsnJSQAwKFfx1ltvicaNGwuFQmFUrmLLli3i4YcfFi4uLsLFxUW0bt1ajBs3TqSkpBg8m7LKd5Sk69+1a9fKbFeyRIXO8uXLRevWrYWdnZ3w8fERr7zyirh+/bpBmxs3bohnnnlGuLu7CwAsV0GkRxKiCjYHIyIiIqIKYU4YERERkQUwCCMiIiKyAAZhRERERBbAIIyIiIjIAhiEEREREVkAgzAiIiIiC2Cx1lpMo9EgIyMDrq6u3PqDiIiojhBCID8/H/7+/lAoSh/vYhBWi2VkZCAwMNDS3SAiIqJKuHz5MgICAko9zyCsFnN1dQWg/R+xrH3wiIiIqPbIy8tDYGCg/He8NAzCajHdFKSbmxuDMCIiojqmvFQiJuYTERERWQCDMCIiIiILYBBGREREZAHMCavjNBoNCgsLLd2Nes3e3r7MJcZERESVwSCsDissLERaWho0Go2lu1KvKRQKBAcHw97e3tJdISKieoRBWB0lhEBmZiZsbGwQGBjIkZpqoiuYm5mZiSZNmrBoLhERVRkGYXVUUVERbt26BX9/fzg7O1u6O/Wat7c3MjIyUFRUBDs7O0t3h4iI6ok6M3wyYMAANGnSBI6OjvDz88PIkSORkZFh0EYIgXfffRctW7aEg4MDGjdujPnz5xu02b9/P0JDQ+Hg4IDmzZsjLi7O6LM++ugjBAUFwdHREWFhYfjtt98Mzt+5cwfjxo2Dp6cnGjRogMGDB+PKlSsGbS5duoR+/frB2dkZjRo1wtSpU1FUVFQ1DwNAcXExAHCKrAbonrHumRMREVWFOhOE9erVCxs3bkRKSgq2bNmC1NRUDBkyxKDNxIkT8dlnn+Hdd9/F2bNn8cMPP6Bbt27y+bS0NPTr1w+9evXCiRMnEBsbixdeeAG7d++W22zYsAGTJ0/G3LlzcezYMXTs2BGRkZG4evWq3GbSpEnYtm0bNm3ahAMHDiAjIwODBg2SzxcXF6Nfv34oLCzE4cOHsWbNGsTFxWHOnDlV/lw4PVb9+IyJiKhaiDrq+++/F5IkicLCQiGEEH/++aewtbUVZ8+eLfU906ZNE+3atTM4NmzYMBEZGSn/3K1bNzFu3Dj55+LiYuHv7y8WLFgghBAiNzdX2NnZiU2bNsltzpw5IwCIxMREIYQQO3bsEAqFQmRlZcltPv74Y+Hm5iYKCgrMvke1Wi0ACLVabXTu9u3b4s8//xS3b982+3pUOXzWRET1Q3Z2tsjIyCj1lZ2dXSWfU9bfb311MicsJycHa9euRY8ePeQcnW3btqFZs2aIj49H3759IYRAREQEFi9eDA8PDwBAYmIiIiIiDK4VGRmJ2NhYANrVhkePHsXMmTPl8wqFAhEREUhMTAQAHD16FHfv3jW4TuvWrdGkSRMkJiaie/fuSExMRIcOHeDj42PwOa+88gpOnz6Nzp07m7yvgoICFBQUyD/n5eXdx1MiIiIiHZVKheXLl5fbLiYmBp6enjXQozo0HQkA06dPh4uLCzw9PXHp0iV8//338rm///4bFy9exKZNm/Dll18iLi4OR48eNZiyzMrKMgiMAMDHxwd5eXm4ffs2srOzUVxcbLJNVlaWfA17e3u4u7uX2cbUNXTnSrNgwQIolUr5FRgYaOaTqTtGjx4NSZIgSRLs7Ozg4+ODJ554Ap9//nmFSm3ExcUZ/W9ARERUGnNratZk7U2LBmEzZsyQ/yCX9jp79qzcfurUqTh+/Dh+/PFH2NjY4LnnnoMQAoC2lEBBQQG+/PJL9OzZE4899hhWr16Nffv2ISUlxVK3WCEzZ86EWq2WX5cvX662z1KpVMjMzCz1pVKpqu2z+/bti8zMTFy4cAE7d+5Er169MHHiRPTv379KFy8QEZF10/9bl52dbenuGLHodOSUKVMwevToMts0a9ZM/t7LywteXl5o2bIl2rRpg8DAQPz6668IDw+Hn58fbG1t0bJlS7l9mzZtAGhXKrZq1Qq+vr5GqxivXLkCNzc3ODk5wcbGBjY2Nibb+Pr6AgB8fX1RWFiI3Nxcg5GYkm1KrqjUXVPXxhQHBwc4ODiU+TyqgqWHZB0cHOTn0LhxY4SGhqJ79+54/PHHERcXhxdeeAHvv/8+vvjiC/z999/w8PBAVFQUFi9ejAYNGmD//v14/vnnAdxLmp87dy7mzZuHr776CkuXLkVKSgpcXFzQu3dvLFmyBI0aNary+yAiotrL3L91lmTRkTBvb2+0bt26zFdpJRh0U1e6HKqHHnoIRUVFSE1Nldv89ddfAICmTZsCAMLDw7Fnzx6D6yQkJCA8PByAthRBly5dDNpoNBrs2bNHbtOlSxfY2dkZtElJScGlS5fkNuHh4fjjjz8MVlQmJCTAzc0Nbdu2rcSTqlq1cUi2d+/e6NixI7Zu3QpAm4u3bNkynD59GmvWrMHevXsxbdo0AECPHj2wZMkSuLm5yf8P59VXXwUA3L17F2+99RZOnjyJ7777DhcuXCg30CciovpBf+SrZBmrktRqV6SlBUGtdq2h3hmrE4n5SUlJOHLkCB5++GE0bNgQqampmD17NkJCQuTAJyIiAqGhoRgzZgyWLFkCjUaDcePG4YknnpBHx15++WUsX74c06ZNw5gxY7B3715s3LgR27dvlz9r8uTJGDVqFLp27Ypu3bphyZIluHnzpjzyolQqER0djcmTJ8PDwwNubm4YP348wsPD0b17dwBAnz590LZtW4wcORKLFy9GVlYWXn/9dYwbN65GRrrqqtatW+PUqVMAIC+WAICgoCD873//w8svv4wVK1bA3t4eSqUSkiQZjSyOGTNG/r5Zs2ZYtmwZHnzwQdy4cQMNGjSokfsgIqKao1KpUFhYCLVajQ0bNpj1nmPHOmPbtv4QQgFJ0iAqKh6hoceruafG6kQQ5uzsjK1bt2Lu3Lm4efMm/Pz80LdvX7z++utyUKNQKLBt2zaMHz8ejzzyCFxcXPDkk0/ivffek68THByM7du3Y9KkSVi6dCkCAgLw2WefITIyUm4zbNgwXLt2DXPmzEFWVhY6deqEXbt2GSTaf/DBB1AoFBg8eDAKCgoQGRmJFStWyOdtbGwQHx+PV155BeHh4XBxccGoUaPw5ptv1sDTqruEEPL04k8//YQFCxbg7NmzyMvLQ1FREe7cuYNbt26VuUPA0aNHMW/ePJw8eRLXr1+XR0wvXbpUK0YhiYio6lRkylGtdkVOjifs7ArkAAwAhFBg27b+CAk5D6Uyvzq7a6ROBGEdOnTA3r17y23n7++PLVu2lNnmsccew/HjZUe7MTExiImJKfW8o6MjPvroI3z00UeltmnatCl27NhRdofJwJkzZxAcHIwLFy6gf//+eOWVVzB//nx4eHjg4MGDiI6ORmFhYalB2M2bNxEZGYnIyEisXbsW3t7euHTpEiIjI2t0apWIiGqGuf+26498ARqUzMYSQoGcHA8GYWSd9u7diz/++AOTJk3C0aNHodFo8N5778kbk2/cuNGgvb29vdE2QmfPnoVKpcLChQvl8h6///57zdwAERHVKqWNfGkDMAHg3m4okqSBh0cOgJrdDpBBGNW4goICZGVlobi4GFeuXMGuXbuwYMEC9O/fH8899xySk5Nx9+5dfPjhh4iKisKhQ4ewcuVKg2sEBQXhxo0b2LNnDzp27AhnZ2c0adIE9vb2+PDDD/Hyyy8jOTkZb731loXukoiILKVkzte9AExHko8rFAKLF+fhmWeGw97evsYKtQJ1rFgr1Q+7du2Cn58fgoKC0LdvX+zbtw/Lli3D999/DxsbG3Ts2BHvv/8+Fi1ahPbt22Pt2rVYsGCBwTV69OiBl19+GcOGDYO3tzcWL14Mb29vxMXFYdOmTWjbti0WLlyId99910J3SURElqBWuxrlfGlHvu6RJA2ioz/DqFFx+O23q5gyxR1+fn41GoABgCR01U6p1snLy4NSqYRarYabm5vBuTt37iAtLQ3BwcFwdHSs0HUtXSesrrmfZ01ERNUnMzMTq1atMjiWlhaENWtGmWitzQUruRqyOv7WlfX3Wx+nI62Qp6cnYmJiykxorOkhWSIiopJ05SdKo1arjY55eKiMpiB1I19379pjxIgwtG//IIAHLf63jkGYlWKARUREtVllK94rlfmIioo3qgMWEJAJAAgNjao1fwMZhBEREVGtU5nSQroVkSEh5xEbuwQ5OR7w8MjBiy8+CXd3y498lcQgjIiIiGo9XYDl4aEyqOc1dOhQuLu7Y906J7z5phIajfTvikc1pk69XesCL30MwoiIiKhWK2ubIXd3dxQX+2HaNODfTVKg0UiYPt0dw4a5o5bGXwAYhBEREZGFlJV4n52dDcB0yYmS2wydO3cvANMpLgbOnwcCAqqv//eLQRgRERHVOHMT73NyPI2KrZbcZqhFC0ChMAzEbGyA5s2rtMtVjsVaiYiIqMaZm3ivKzmhT3+bIUA72rVqlTbwArRfP/mkdo+CAQzCiIiIqBZQq12RlhYEtdrV4Liu5IQuENPlhJXcbDs6GrhwAdi3T/s1OrqGOn4fOB1J9cr+/fvRq1cvXL9+He7u7ma9JygoCLGxsYiNja3WvhERWRtzcr6AshPvASA09DhCQs7LJSf0AzD9DbcDAmr/6Jc+BmFUo0aPHo01a9bgpZdeMtqUe9y4cVixYgVGjRqFuLg4y3SQiIiqhLk5X+Ul3g8aNAheXl4m31uby0+Yg0EY1bjAwECsX78eH3zwAZycnABo92dct24dmjRpYuHeERFRZemPfOmPdJWlvMR7Ly8v+Pn5VXlfawPmhFGNCw0NRWBgILZu3Sof27p1K5o0aYLOnTvLxwoKCjBhwgQ0atQIjo6OePjhh3HkyBGDa+3YsQMtW7aEk5MTevXqhQsXLhh93sGDB9GzZ084OTkhMDAQEyZMwM2bN6vt/oiIrJFu5GvVqlVYtWqVwb/xZTEn8b6+YhBGSE/XJjKmp9fcZ44ZMwZffPGF/PPnn3+O559/3qDNtGnTsGXLFqxZswbHjh1D8+bNERkZiZwc7X+Yly9fxqBBgxAVFYUTJ07ghRdewIwZMwyukZqair59+2Lw4ME4deoUNmzYgIMHDyImJqb6b5KIyIpUZpshwPzE+/qI05FWbvVqYOxYbW0VhUK7xLcmVpQ8++yzmDlzJi5evAgAOHToENavX4/9+/cDAG7evImPP/4YcXFxePLJJwEAn376KRISErB69WpMnToVH3/8MUJCQvDee+8BAFq1aoU//vgDixYtkj9nwYIFGDFihJx036JFCyxbtgyPPvooPv74Yzg6Olb/zRIRUanbDgHmJ97XNwzCrFh6+r0ADNB+feklIDKy+leXeHt7o1+/foiLi4MQAv369TNIvExNTcXdu3fx0EMPycfs7OzQrVs3nDlzBgBw5swZhIWFGVw3PDzc4OeTJ0/i1KlTWLt2rXxMCAGNRoO0tDS0adOmOm6PiIj0lLX6sT4n3peHQZgVs/Q2D2PGjJGnBT/66KNq+YwbN27gpZdewoQJE4zOcREAEVHlmCo9UTIRXzfyZWdXUObqx/qceF8eBmFWzNLbPPTt2xeFhYWQJAmRkZEG50JCQmBvb49Dhw6hadOmAIC7d+/iyJEj8tRimzZt8MMPPxi879dffzX4OTQ0FH/++Sea1/a9K4iI6ghzSk+UHPkqb9sha8XEfCtm6W0ebGxscObMGfz555+w0XXiXy4uLnjllVcwdepU7Nq1C3/++SdefPFF3Lp1C9H/Jq29/PLLOHfuHKZOnYqUlBSsW7fOqL7Y9OnTcfjwYcTExODEiRM4d+4cvv/+eybmExFVgEqlQmZmJjIzM5GRkVFmW1N1vwBh0EZ/9WN9zvkqD0fCrFx0tDYH7Px57QhYTVcadnNzK/XcwoULodFoMHLkSOTn56Nr167YvXs3GjZsCEA7nbhlyxZMmjQJH374Ibp164a3334bY8aMka/xwAMP4MCBA5g1axZ69uwJIQRCQkIwbNiwar83IqL6oLyRr5IJ96bqfgESAA0ABRQKgcWL8/DMM8Prfc5XeSQhhCi/GVlCXl4elEol1Gq1UbBy584dpKWlITg4mCv8qhmfNRFZs8zMTKxatcrkOVMJ9yEh57FkSaxBICZJGkRHf4a7d+0xZcpT6NChYU113yLK+vutj9ORREREVGGlbTcEAFFR8VAotGM8NjYC77yThzffjMJ770XV+wCsIjgdSURERGbTTT/evOlcasJ9aOhxzJkThvx8HzRvLiEgwB2AuyW6W6sxCCMiIiKzlJx+1OV56egn3Pv7a2CllSfMxulIIiIiKpep6UdJArSBmHVtN1RVOBJWx3FdRfXjMyYia5Geri3k3aKF8Wp5U6sehVBgyJCNcHG5ZVXbDVUVBmF1lK6uVmFhIZycnCzcm/pNVxW6ZC0zIqK6rGTV+3XrnDBtmhIajQSFQuD9929i4sQG8nkPD5VR4VVJ0iAwMB1KZb7B9kPWXnrCXAzC6ihbW1s4Ozvj2rVrsLOzg0LBmeXqoNFocO3aNTg7O8PWlv+5EFHdp1KpcO3aNWzYsEE+pla7/ltWQgIAaDQSJk1yRseO5xEYqD2mVOYjKireqCSFbvTL39+fgVcF8a9KHSVJEvz8/JCWloaLFy9aujv1mkKhQJMmTSBpkx+IiOqskoVXdSsdr10zPdUYF3cQwcEX8eyzz8LZ2RkAMGfONVy4YIugoCL4+z8I4EGOfFUSg7A6zN7eHi1atDDaRJWqlr29PUcaiaheuHr1qvz9sWOd8cMP/aFdo2ec+6q/0tHZ2VneZNvPD+jSpSZ6W/8xCKvjFAoFq7gTEZFZioqKAGhHwO4FYIB2WyF9XOlYExiEERERWZnLlwNRVpWqIUM2o337MzXXISvFORYiIiKS6VY8UvXjSBgREVE9ol96IiNDgbQ0WwQHF8HfX4Pr168DAAIDL0ObB2Y4DcmCqzWLQRgREVE9ob/6seQWQ1FR8QgNPQ5AW25iwIBtehXwNejRIxFhYUkMwGoQgzAiIqI6Tjf6lZ2dDbXaFZcvBxok3guhwLZt/REScl4OskJDjyMk5DxycjyMqt1TzWAQRkREVAfpAi+1Wi0XXtWOfsUa1fwCtIFYTo6HQbClVOabFXxxC6LqwSCMiIiojjFVdPXy5UCDDbZL0q/7VZ6hQ4fC3d0dALcgqk4MwoiIiOoY/SLd+rlfpSmZcK+/z2NJDLpqDoMwIiKiOkqtdi139Gvw4M3yJts6Xl5ecgV8shwGYURERHVUTo7xno86utEvFl2tvRiEERER1SL6db5M0U+S9/BQQZI0JQIxDYYMMR79otqHQRgREVEtYSrhPifHEx4eKoOAaujQoQC0qxujouKN6oGVN/rF1Y61A4MwIiKiWqK0hPuSxVZ1G3ED5tf70iXjM/G+9mAQRkREVMuUTLg3VWxVnzn1vvz9/Rl81TIMwoiIiCzA1B6PSmUuANMJ9/rFVu3s7Mz6DF29L45+1U4MwoiIiGpY6Xs8NkRUVGeEhJw3SrjXL7aqVCoRExNTbgI/A6/ajUEYERFRDdNuN2Rc5V437Rgbu8Rkwr3+lCMDrLqPQRgREVEN0U1BrlpVjCVLyt7jkRts138MwoiIiGqAbgoyPd0Pq1e/YNYej+ZusE11E4MwIiKiaqZSqZCRkYFDh8KRkBABoOwq9+UFXqzzVT8wCCMiIqpGf/xxHe+9F4+//w7CL788AUAy0cp0lXtTG20z4b7+YBBGRERUxXS5X+vWOWHaNHdoNKMACJgKwMqqcs+Ntus3BmFERERVSKVSYf78Nbh8ORCbNw/GvcDL9AhYdPRnCAjIrMEeUm3BIIyIiKgKxcXZlLry0ZDAE0/8VGYAxtyv+o1BGBERUSWlpwPnzgEtWgABAcCRI8DUqUoIYWrUC9BNSUqSBhERP+GhhxKNWnCPR+vBIIyIiKgCDPO9lNBoJEiSwH/+cxs7djiVGoDpAi9//4wy634xD8x6MAgjIiIyk67Wl1rt+u+UozbgEkLC9u1OKC3xfvBg45WPpeEUpPVgEEZERGQm3V6NpjbYrujKx5IGDRoEf39/TkFaEQZhREREFeThoTLaYNtYxVY+MgCzPuUt3SAiIqISlMp8RET8BG2ivT7tz5KkwYAB8WYHYEOHDmUAZoU4EkZERFQJupWNum2IzE28N8Xd3b16Okm1GoMwIiKiSnrooUS0b5+MnByPCgde+piMb53qzHTkgAED0KRJEzg6OsLPzw8jR45ERkaGfH7evHmQJMno5eLiYnCdTZs2oXXr1nB0dESHDh2wY8cOg/NCCMyZMwd+fn5wcnJCREQEzp07Z9AmJycHI0aMgJubG9zd3REdHY0bN24YtDl16hR69uwJR0dHBAYGYvHixVX8RIiIqDZQKvMRHHzRrABs0KBBGDt2rMErJiaGU5FWqs4EYb169cLGjRuRkpKCLVu2IDU1FUOGDJHPv/rqq8jMzDR4tW3bFv/973/lNocPH8bw4cMRHR2N48ePY+DAgRg4cCCSk5PlNosXL8ayZcuwcuVKJCUlwcXFBZGRkbhz547cZsSIETh9+jQSEhIQHx+Pn3/+GWPHjpXP5+XloU+fPmjatCmOHj2Kd955B/PmzcOqVauq+SkREVFtpqsBpv9iAGa9JCFEyazCOuGHH37AwIEDUVBQADs7O6PzJ0+eRKdOnfDzzz+jZ8+eAIBhw4bh5s2biI+Pl9t1794dnTp1wsqVKyGEgL+/P6ZMmYJXX30VAKBWq+Hj44O4uDg8/fTTOHPmDNq2bYsjR46ga9euAIBdu3bhP//5D9LT0+Hv74+PP/4Ys2bNQlZWljzEPGPGDHz33Xc4e/as2feYl5cHpVIJtVoNNze3Sj8rIiKqGro6YZU1duxYFmK1Aub+/a4zI2H6cnJysHbtWvTo0cNkAAYAn332GVq2bCkHYACQmJiIiIgIg3aRkZFITNQmV6alpSErK8ugjVKpRFhYmNwmMTER7u7ucgAGABEREVAoFEhKSpLbPPLIIwZz/JGRkUhJScH169dLva+CggLk5eUZvIiIqPbw9PTEsGHDKv1+5n6RvjoVhE2fPh0uLi7w9PTEpUuX8P3335tsd+fOHaxduxbR0dEGx7OysuDj42NwzMfHB1lZWfJ53bGy2jRq1MjgvK2tLTw8PAzamLqG/meYsmDBAiiVSvkVGBhYalsiIrp/6enAvn3ar+ZSKpUV/pxBgwYx94uMWDQImzFjhslkev2X/vTd1KlTcfz4cfz444+wsbHBc889B1Ozqd9++y3y8/MxatSomryd+zZz5kyo1Wr5dfnyZUt3iYioXkpPB6ZOBZo0AXr3Bpo2BVavrr7PYyFWMsWiJSqmTJmC0aNHl9mmWbNm8vdeXl7w8vJCy5Yt0aZNGwQGBuLXX39FeHi4wXs+++wz9O/f32g0ytfXF1euXDE4duXKFfj6+srndcf05+yvXLmCTp06yW2uXr1qcI2ioiLk5OQYXMfU5+h/hikODg5wcHAo9TwREd2/1auBsWMBjebeMY0GeOklIDISCAioms8ZNGgQvLy8YG9vzwCMTLJoEObt7Q1vb+9KvVfz7389BQUFBsfT0tKwb98+/PDDD0bvCQ8Px549exAbGysfS0hIkIO44OBg+Pr6Ys+ePXLQlZeXh6SkJLzyyivyNXJzc3H06FF06dIFALB3715oNBqEhYXJbWbNmoW7d+/KOWsJCQlo1aoVGjZsWKn7JSKi+5eeDrz4opA33tZXXAwkJang5IQygyZz87o4+kXlEnXAr7/+Kj788ENx/PhxceHCBbFnzx7Ro0cPERISIu7cuWPQ9vXXXxf+/v6iqKjI6DqHDh0Stra24t133xVnzpwRc+fOFXZ2duKPP/6Q2yxcuFC4u7uL77//Xpw6dUo89dRTIjg4WNy+fVtu07dvX9G5c2eRlJQkDh48KFq0aCGGDx8un8/NzRU+Pj5i5MiRIjk5Waxfv144OzuLTz75pEL3rVarBQChVqsr9D4iIjJt3LibAhAmX5JULCZNek/MmzdPZGdnl3md7OxskZGRUeqrvPdT/Wbu3+86EYSdOnVK9OrVS3h4eAgHBwcRFBQkXn75ZZGenm7Qrri4WAQEBIjXXnut1Gtt3LhRtGzZUtjb24t27dqJ7du3G5zXaDRi9uzZwsfHRzg4OIjHH39cpKSkGLRRqVRi+PDhokGDBsLNzU08//zzIj8/36DNyZMnxcMPPywcHBxE48aNxcKFCyt83wzCiIjuz+XLQuzdq/166lSOUCg0pQRhxWLAgO/FvHnzxLx580RGRoalu051mLl/v+tsnTBrwDphRESVp5/7pVAIdO9+GIcPP2TUrl27P9CnT4JBxXvW86L7Ua/rhBEREZUlPd0w+V6jkZCYGA5AY9BOkjRGARhRTWEQRkRE9c65c4arHwFACAV69EiEJGlPSJIGUVHxDMDIYiy6OpKIiOh+pacDhw9rv+/RA3ByUsHNrQgKRSNoNPdWQUqSBmFhSQgLS0JOjgc8PHIYgJFFMQgjIqI6a/Vq4MUXtan1ACBJAlFRhxAaehz9+3fGtm39IYTCaNSLwRfVBgzCiIiozlGpVLhwoQgvvtjIoOaXEBK2beuPkJDzCA09jpCQ8xz1olqLQRgREdUpKpUK8+evwenT7SBEpNF5IRTIyfGAUpkvvyqKG21TTWAQRkREdUpcnA2WLImFEAoAAoBh9XtJ0sDDI6dS1x40aBAr3VON4epIIiKqM9LTgWnTlP8GYIA2ALtX7vJ+VzwyAKOaxJEwIiKqM7SlJ0ru+yjhkUf2oVGjawgMTK90APbss88yAKMaxSCMiIjqBJWq9NITXbocr1DwNWjQIHh5eck/29vbMwCjGscgjIiIaj2VSoXly5cDQJmlJ8zl5eXFbYnI4hiEERFRrVdYWCh/XxWlJ7j6kWoDBmFERFTnmFt6ouS0I8CpR6o9GIQREVG1SU/XJtO3aAEEBNT853PakWozlqggIqJqsXo10LQp0Lu39uvq1cZt0tOBffu0X4msDYMwIiKqcunpwNixgEaj/VmjAV56yTDYMidII6rPOB1JRERVQn/qUVvPy/B8cTFw/rz2+8OHTQdpkZFVO23JBHyqzRiEERHRfVu9+l5QpVAACxdqv+oHYjY2wJEjwOOPCxMFV7VBWlKSCk5OqHTivH4iPhPwqbbjdCQREd0XU1OPM2cKvPaaGpJ0b0uh4mKB6dNNB2CAtujqoUNrsHz5cqhUKoNz5o5o+fv7w8/PD35+fgzAqNbjSBgREd0X01OPEs6e3Q0hhuDeBtsShCj57n/PlCi6ql8XDNCOjMXExBgd18eRL6prGIQREdF9adHCeOpRkjTQBl/lTbhoMGTIZrP2fGSARfUNpyOJiKjSVCoVbGwysXhxLmxstMNculGtwMDL/wZj+jTyMUnSYMCAeLRvf6bSm24T1WUcCSMiokrR388RACZMcDXaSigqKt5on8f73XKIqL5gEEZERJVSMj/L1FZCpe3zyOCLiEEYERFVQno68Ouv9lCrXcsNqMzd55HI2jAIIyKiCrlXE8wTkhSLqKh4hIYet3S3iOocJuYTEZHZStYEE0KBbdv6Q612rdLPYaV7sgYcCSMiIrOoVCr8+qt2BEyfEArk5Hjc95Sjrto9632RtWAQRkREJunvBenkpF0JqVa7QpJiIcS9iRRJ0sDDI+e+P8/Lywt+fn73fR2iuoLTkUREZGT1aqBpU6B3b+3XuDgbANok+6ioeINaX/qV7onIfBwJIyIiA6b2gpw+XYkJE7QrIUsrO1Ga//znP9ixY0e5n8s8MLI2DMKIiKycbtqxQQPgn3/UOHNGQKNxN2hTXCwZ5H2VVnZCl9elo8vvatasGfd9JCqBQRgRkRXQz+8KCLh3/F65CQAQAJT/fjVkbt5XaXldDLCIjDEnjIioniuZ37V6tfZ4yWlH7Ybb+l///Yl5X0TVgiNhRET1mKn8rpdeArp1u46UFI1RuQlTBg/ejPbtz1RzT4msD4MwIqJ67Nw5/ZEureJi4L33voeHR45RuYmSJEmDwMD0au4lkXXidCQRUT2lUqng5nYFCoVhjpdCIeRVjfrlJu7lgmm/VmYakisciczHkTAionpIpdIWVwWA/v07Y9u2/hBCAUnSoH//e4GVfrkJO7tC3L1rL38trfxEyRWQOlzhSFQxDMKIiOoh/XIQ5dX1Kq3cRGlY2Z6oajAIIyKqA0orMWGuigZaRFT9mBNGRFTLlVZiwlKY90VUNTgSRkRUi5VWYiIysnIjYvdj0KBB8Pf3Z94XURXhSBgRUS1WWomJ8+drvi9eXl4MwIiqEIMwIqJarEULQFHiX2obG6B5c8v0h4iqDoMwIqJaSqVSwcYmE4sX58LGRlu7y8ZGYNGiXNjYZEKlUt33ZzzxxBPo1avXfV+HiCqOOWFERLWQfp0vAJgwwVUuMXHjRj5WrdIej4mJgaenp9HqSXOT51u1aoXCwkLs27evOm6DiMrAIIyIqBbSr/MFlF5iorCwEKtX30veVyiAVauA6GhPxMTEGF1Hn664qrkjalwVSVS1GIQREdVhGRmKMlZPmpdE7+lpfsBGRFWHQRgRUS2lVrsiJ8cTHh6qUgutnjhx0+TqyaQkFZycYHbgxACLqOYxCCMiqmXS04H5813xySex8n6PUVHxCA09btT29OnvIEnadjqSpMGhQ2uQnJwv54wRUe3D1ZFERLXI6tVAkybAypUN5MBKCAW2besPtdrVqL1SmY+oqHhIknY4TBew6UbOyppiJCLL4kgYEVEtoa2OLyCEZHROCAVycjxMTkuWt0E3EdVODMKIiGoBlUqFPXtuQqNpYvK8JGng4ZFT6vu5QTdR3cMgjIjIwnQ1wdRqV6P8LsB4ipGI6gcGYUREFqaftxUenojExPB/AzENevRIRFhYkkEANmjQIADA1q1ba7qrRFSFGIQREdUCx451xrZt/fWCr0NGwZeOl5dXzXeQiKqc2UFYXl6e2Rd1c3OrVGeIiKyNSqVCcnKuXgAGAAokJoYjLCzJon0joupldhDm7u4OSTJesaNPCAFJklBcXHzfHSMiqu90uWDJyW0hRBuDc2WthgTM30KIWw0R1V5mB2Hc3JWIqGoVFhbK05AllbcaklsNEdV9Zgdhjz76aHX2g4jI6mRkKEpMQ+qYtxqSARZR3VbpxPzc3FysXr0aZ86cAQC0a9cOY8aMgVKprLLOERHVZ2lptiYCMGDIkM1o3/5Mqe/jFCNR/VCpbYt+//13hISE4IMPPkBOTg5ycnLw/vvvIyQkBMeOHavqPhIR1TsqlQpK5VV5uyEdSdIgMDDd5HuGDh3KvSCJ6hFJCCEq+qaePXuiefPm+PTTT2Frqx1MKyoqwgsvvIC///4bP//8c5V31Brl5eVBqVRCrVZzxSlRLZaeDpw7B7RoAQQElH9cl5APGJamKG2j7kGDBsHf35/BF1EdYe7f70pNR/7+++8GARgA2NraYtq0aejatWtlLklEVCetXg2MHQtoNIBCAbz//g0MHZqPdeucMG2aEhqNBIVCYPFiNZ555jbs7e0NkunN2ffRy8uLARhRPVSpIMzNzQ2XLl1C69atDY5fvnwZrq6uVdIxIqLaTKVS4cKFIowd2wgajbZ8j0YDTJrkjOTkdVi9+gV5I26NRsLUqW7455/PoVTmY+jQoQbX4r6PRNapUkHYsGHDEB0djXfffRc9evQAABw6dAhTp07F8OHDq7SDRES1jW46MS0tCBrNKINzQihw6VITo4R7/bpfRUVFFfo8JuIT1U+VSsx/9913MWjQIDz33HMICgpCUFAQRo8ejSFDhmDRokVV3UcAwIABA9CkSRM4OjrCz88PI0eOREZGhkGb3bt3o3v37nB1dYW3tzcGDx6MCxcuGLTZv38/QkND4eDggObNmyMuLs7osz766CMEBQXB0dERYWFh+O233wzO37lzB+PGjYOnpycaNGiAwYMH48qVKwZtLl26hH79+sHZ2RmNGjXC1KlTK/wPLxHVTrrpRA8PlcnE+iZNLpk8XlbdL1MGDRrERHyieqxSQZi9vT2WLl2K69ev48SJEzhx4gRycnLwwQcfwMHBoar7CADo1asXNm7ciJSUFGzZsgWpqakYMmSIfD4tLQ1PPfUUevfujRMnTmD37t3Izs6WN7rVtenXrx969eqFEydOIDY2Fi+88AJ2794tt9mwYQMmT56MuXPn4tixY+jYsSMiIyNx9epVuc2kSZOwbds2bNq0CQcOHEBGRobB5xQXF6Nfv34oLCzE4cOHsWbNGsTFxWHOnDnV8myIqPLS04F9+7RfK0qpzEdUVLwccOkS6wMCMk0er+iUI3PBiOq3Sq2OrA1++OEHDBw4EAUFBbCzs8PmzZsxfPhwFBQUQKHQxpbbtm3DU089JbeZPn06tm/fjuTkZPk6Tz/9NHJzc7Fr1y4AQFhYGB588EF55ZJGo0FgYCDGjx+PGTNmQK1Ww9vbG+vWrZODwLNnz6JNmzZITExE9+7dsXPnTvTv3x8ZGRnw8fEBAKxcuRLTp0/HtWvXzJ5a4OpIoupVMql+1SogOrr892VmZmLVqlXyz2q1q8nE+tKODxo0CFu3bi33c8aOHQs/P7+K3RQRWZy5f78rNRJ2584dvPPOO/jPf/6Drl27IjQ01OBV3XJycrB27Vr06NEDdnZ2AIAuXbpAoVDgiy++QHFxMdRqNb766itERETIbRITExEREWFwrcjISCQmJgLQTjEcPXrUoI1CoUBERITc5ujRo7h7965Bm9atW6NJkyZym8TERHTo0EEOwHSfk5eXh9OnT1fDEyGiikpPvxeAAdqvL72kPV7R0TGlMh/BwReNRrpKO05EBFQyMT86Oho//vgjhgwZgm7dupW7sXdVmT59OpYvX45bt26he/fuiI+Pl88FBwfjxx9/xNChQ/HSSy+huLgY4eHh2LFjh9wmKyvLIDACAB8fH+Tl5eH27du4fv06iouLTbY5e/asfA17e3u4u7sbtcnKyirzc3TnSlNQUICCggL557y8vPIeCRFV0rlz9wIwneJiYOlS4P33Kz46VhG6/2NYHibkE9VvlQrC4uPjsWPHDjz00EP39eEzZswoN5H/zJkzcimMqVOnIjo6GhcvXsQbb7yB5557DvHx8ZAkCVlZWXjxxRcxatQoDB8+HPn5+ZgzZw6GDBmChISEGgsU78eCBQvwxhtvWLobRPWeSqWCm1sRFIp75SUAQKEQeO896JWWAF56SaBTp6sICrKtsvwspVLJzbeJqHJBWOPGjaukHtiUKVMwevToMts0a9ZM/t7LywteXl5o2bIl2rRpg8DAQPz6668IDw/HRx99BKVSicWLF8vtv/76awQGBiIpKQndu3eHr6+v0SrGK1euwM3NDU5OTrCxsYGNjY3JNr6+vgAAX19fFBYWIjc312A0rGSbkisqddfUtTFl5syZmDx5svxzXl4eAgMDy3w+RFQx+tXq+/c3rFbfvXsiDh82/D+XxcUSPvxwJ4KDL1bZSkUGWEQEVDIIe++99zB9+nSsXLkSTZs2rfSHe3t7w9vbu1Lv1fw7j6Cbvrt165ackK9jY2Nj0Lbk9CQAJCQkIDw8HID2H8YuXbpgz549GDhwoPzePXv2ICYmBoA298zOzg579uzB4MGDAQApKSm4dOmSfJ3w8HDMnz8fV69eRaNGjeTPcXNzQ9u2bUu9JwcHh2pbXUpEWmVVqweAxMTwEjW+BDIy/BEcfBHXrl2Dp6en2dOEQ4cONUpdYABGRDqVWh157do1DB06FD///DOcnZ2N8htycipWC6c8SUlJOHLkCB5++GE0bNgQqampmD17Nq5cuYLTp0/DwcEBe/fuRUREBObNmydPR7722ms4e/Yszpw5AycnJ6SlpaF9+/YYN24cxowZg71792LChAnYvn07IiMjAWhLVIwaNQqffPIJunXrhiVLlmDjxo04e/asnNf1yiuvYMeOHYiLi4ObmxvGjx8PADh8+DAAbYmKTp06wd/fH4sXL0ZWVhZGjhyJF154AW+//bbZ983VkURVr+TKxpIOHQpHQsITAO5NU0qSBrGxS6BU5sujYSqVitOJRGRSte4dOXz4cPzzzz94++234ePjU+35Vs7Ozti6dSvmzp2Lmzdvws/PD3379sXrr78ujxz17t0b69atw+LFi7F48WI4OzsjPDwcu3btgpOTEwBt8v727dsxadIkLF26FAEBAfjss8/kAAzQ7gZw7do1zJkzB1lZWejUqRN27dplkGj/wQcfQKFQYPDgwSgoKEBkZCRWrFghn7exsUF8fDxeeeUVhIeHw8XFBaNGjcKbb75Zrc+JiO6fv38m9AMwQFvt/vLlACiVZ+TAiwEWEd2vSo2EOTs7IzExER07dqyOPtG/OBJGVHXS07UrIt3criA+fmWp7dRqVyxZEmu07ZCu4OrKlQ+ydhcRlala64S1bt0at2/frnTniIhq0urVQNOmQO/eQLdujXDsWOdS2+qq4AOG9SuEUGDbtv7IyKjUP5tEREYq9a/JwoULMWXKFOzfvx8qlQp5eXkGLyKi2kClUuHo0SsYO1boFWWVsG1bf6jVpa/wDg09jiFDthgdF0KBkydvQqVSVVeXiciKVConrG/fvgCAxx9/3OC4EAKSJKG4uPj+e0ZEdB90pSjS0oKg0YwyOCeEAjk5HmVWsg8MvAxJ0hhMS0qSBsnJ3+Hy5XxurE1E961SQdi+ffuquh9ERPdFl/PVogUQEHCvFIWHh8pkMKUrSVEa3bSkfh0x/U24y1oZSURkjkoFYY8++qhZ7f7v//4Pb775Jry8vCrzMUREZjG1Efd//qM9V14wNWjQIHh5eSEtLQ0JCQkG1y1ZR4x7QBJRVapUEGaur7/+Gq+++iqDMCKqFiqVChcuFGHs2HvbD+m2Gtq5M1duV1Yw5eXlBT8/P9jb2xsFYYA2iGPwRUTVoVqDsEpUvyAiMktZOV/FxRLWrk1CcPC9Y+UFU56enoiJiUFGRga2bt1aXd0mIpJVaxBGRFRdzMn5UqtdkZPjCQ8PlVmjWZ6ensz1IqIawyCMiOq00nK+UlObGx0LDT1u6e4SEckYhBFRnWdqI279qve6QqshIeeZ30VEtQaDMCKqF/RzvtLSgoy2HSqtNpi9vX2ZP5fG3HZERKWp1iDs2Wef5Z6HRFSlVCoVCgsLkZ2dXWobDw8VtNsOma4NpitLYW9vb1RwVZegX1ZumKn3ERFVVKWDsNzcXPz222+4evUqNBrDPdaee+45AMDHH398f70jItKjWxGpU1rifWpqcwCS3jsNa4PpylKUhgEWEdWESgVh27Ztw4gRI3Djxg24ublBku79YydJkhyEERHdD92ol47+6NexY51NJt6r1a7Ytq0/9IMwSQJCQs7XZNeJiMpVqSBsypQpGDNmDN5++204OztXdZ+IiMoY9dJuvK0LwIB7iff29gXyz/rM2SuSiKimVSoI++effzBhwgQGYERUbfRHwEqOeoWHJ5oMtDZv/i8kSYOy8sGIiGoLRflNjEVGRuL333+v6r4QERnRTS/qj3odPhz+b7BlTBuoAdpADEZ7RQJc2UhEtYPZI2E//PCD/H2/fv0wdepU/Pnnn+jQoQPs7OwM2g4YMKDqekhEVi0nx9No1AtQoFmzcyYS8LWEUGDIkI1wcblltFfk0KFDmXhPRLWC2UHYwIEDjY69+eabRsckSUJxcfF9dYqI6reSCfcl6Y9UlbYtUWpqCEwFYLrzgYHpJnPA3N3dK91vIqKqZHYQVrIMBRFRZZRMuC/NsGHDAJjelig8PBGHDz9k8n2mph+JiGqjSiXmf/nllxg2bBgcHBwMjhcWFmL9+vUsUUFEpSo5AlZara+7d+/K35valigxMbzENKUGQ4ZsLnUEjIiotqlUYv7zzz8PtVptdDw/Px/PP//8fXeKiKzDsWOdsWRJLNasGYUlS2Jx7Fhn+Vx+/r1A6l6gliNvTxQVFS8n50uSBgMGxKN9+zPlBmBMyiei2qJSI2FCCIMCrTrp6elQKpX33Skiqv9MrXrU32Q7ISEBQOlFWUuOjpUWfOm2KAK43RAR1S4VCsI6d+4MSZIgSRIef/xx2Nree3txcTHS0tLQt2/fKu8kEdU/plY9liyqWl6gpr9pd2nK26KIiMhSKhSE6VZInjhxApGRkWjQoIF8zt7eHkFBQRg8eHCVdpCI6pfc3FwApa961C+qak6gRkRUV1UoCJs7dy4AICgoCMOGDYOjo2O1dIqI6ieVSoWNGzcCML3qseSqRnMCNSKiuqpSOWGjRo0CoF3ldPXqVaPyFU2aNLn/nhFRnVNe/S/dKJiOLq/r8uUAABICAy8bnDcnUCsPE/GJqLaqVBB27tw5jBkzBocPHzY4rkvYZ7FWIutjbv0vfWq1K5KSwnD4cDgAw8R7nbIS8Pv06WOQFgEAtra2ckFWJuITUW1WqSBs9OjRsLW1RXx8PPz8/EyulCQi62Ju/S8d/VWPOiUT73VKS8APCgpi0j0R1VmVCsJOnDiBo0ePonXr1lXdHyKqB0orK6FTctWjPibeE5G1qFSx1rZt2yI7O7uq+0JE9UBpZSXUale5jelNubUqknjPfC8iqssqNRK2aNEiTJs2DW+//TY6dOgAOzs7g/Nubm5V0jkiqnvMKSthatWjlmHivX6h1ZKY70VEdV2lgrCIiAgAQO/evQ3ywZiYT0TmlJUobVPusLAkg2lIFlolovqsUkHYvn37qrofRFRPmFtWwtxth4iI6qtKBWGPPvoofvnlF3zyySdITU3F5s2b0bhxY3z11VcIDg6u6j4SUR1TVoA1bNgwCCGwcePGcrcdYs4XEdVnlQrCtmzZgpEjR2LEiBE4fvw4CgoKAABqtRpvv/02duzYUaWdJKLar2TAVFqA5e3tDU9PT8TExJRZ2JU5X0RU30lCCFHRN3Xu3BmTJk3Cc889B1dXV5w8eRLNmjXD8ePH8eSTTyIrK6s6+mp18vLyoFQqoVarudiB6oTyKuYzsCIia2Du3+9KjYSlpKTgkUceMTquVCqNtiUhIuvBAIuIyHyVCsJ8fX1x/vx5BAUFGRw/ePAgmjVrVhX9IqJK4mgUEVHdUKkg7MUXX8TEiRPx+eefQ5IkZGRkIDExEa+++ipmz55d1X0kIjOV3L+xtK2DYmJiGIgREVlYpYKwGTNmQKPR4PHHH8etW7fwyCOPwMHBAa+++irGjx9f1X0kIjPpj4CVtXVQWSNlpnB0jYio6lUqCJMkCbNmzcLUqVNx/vx53LhxA23btkWDBg2qun9EVAmlbR1UcmNsc5QcXSsNR9eIiCqmUkGYjr29Pdq2bVtVfSGiKmLO1kHmKjkCVtoUZ0VH14iIrN19BWFEVPPKmhrMzs4GYN7WQZVR1hQnERFVDIMwolqotEBLrVZjw4YN5b7f3K2DKqIqpziJiIhBGFGtY24OVnmqem/GqpziJCIiBmFEtY65OVjlnQNK3zqoMqpripOIyFoxCCOqxcrKwbqf/KzKbIxdHVOcRETWjEEYUS1VVg4WgDLzswYNGgQvLy+T172fml5VPcVJRGTNGIQR1VJl5WABUpn5WV5eXvDz86uSfpQcNSttirMyo2tERNaMQRhRLVVeDlZN5Wd5enoiJiaGFfOJiKoYgzCiWqq8HKyazM9igEVEVPUYhBHVYmXlYJV1jlODRES1H4MwolrG3BysoUOHwt3d3eT7OXJFRFT7MQgjqmWYg0VEZB0YhBHVQgywiIjqP0X5TYiIiIioqjEIIyIiIrIABmFEREREFsCcMCILUqlUTMAnIrJSDMKILESlUmH58uXltouJiWEgRkRUD3E6kshCyhoBq0w7IiKqWzgSRlTHlJzCzM3NRVFREQAgK8sWGRkuaN/eAf7+GgCc0iQiqq0YhBHVIWVNYR471tloL8nQ0OMAOKVJRFQbMQgjMqG2JsyX1ie12lUOwABACAW2beuPkJDzUCrzOaVJRFQLMQgjKqE6EuZNBXXZ2dmV6p8+tdoVOTmeuHnTWQ7AdIRQICfHw+S+k0REZHkMwohKqOqEeXODOl1A5eGhMitwKjn9CGigv9ZGkjTw8Mgxq49ERFTz6szqyAEDBqBJkyZwdHSEn58fRo4ciYyMDIM2GzduRKdOneDs7IymTZvinXfeMbrO/v37ERoaCgcHBzRv3hxxcXFGbT766CMEBQXB0dERYWFh+O233wzO37lzB+PGjYOnpycaNGiAwYMH48qVKwZtLl26hH79+sHZ2RmNGjXC1KlT5eRpsi7mBGvHjnXGkiWxWLNmFJYsicWxY53LbG9q+lGSAG0gBjknjKNgRES1V50Jwnr16oWNGzciJSUFW7ZsQWpqKoYMGSKf37lzJ0aMGIGXX34ZycnJWLFiBT744AODEYi0tDT069cPvXr1wokTJxAbG4sXXngBu3fvltts2LABkydPxty5c3Hs2DF07NgRkZGRuHr1qtxm0qRJ2LZtGzZt2oQDBw4gIyMDgwYNks8XFxejX79+KCwsxOHDh7FmzRrExcVhzpw51fyUqC4qLZ9LrXYFoM0/Kyknx9Pk9OOQIZsxalQcYmOXyEn5RERUO0lCCGHpTlTGDz/8gIEDB6KgoAB2dnZ45plncPfuXWzatElu8+GHH2Lx4sW4dOkSJEnC9OnTsX37diQnJ8ttnn76aeTm5mLXrl0AgLCwMDz44INy8KbRaBAYGIjx48djxowZUKvV8Pb2xrp16+Qg8OzZs2jTpg0SExPRvXt37Ny5E/3790dGRgZ8fHwAACtXrsT06dNx7do1k39UTcnLy4NSqYRarYabm1uVPDcqX2ZmJlatWlVuu7Fjx8LPz+++r5eWFoQ1a0YZHd+8WYXHHoNB3pnuWmq1K5YsiTUIxCRJg9jYJSZHv8ztKxER3T9z/37XmZEwfTk5OVi7di169OgBOzs7AEBBQQEcHR0N2jk5OSE9PR0XL14EACQmJiIiIsKgTWRkJBITEwFop42OHj1q0EahUCAiIkJuc/ToUdy9e9egTevWrdGkSRO5TWJiIjp06CAHYLrPycvLw+nTp0u9r4KCAuTl5Rm8qP7z8FD9m9N1j40NEBbmWWriv1KZj6ioePl9nH4kIqp76lQQNn36dLi4uMDT0xOXLl3C999/L5+LjIzE1q1bsWfPHmg0Gvz111947733AGhHDwAgKyvLIDACAB8fH+Tl5eH27dvIzs5GcXGxyTZZWVnyNezt7eHu7l5mG1PX0J0rzYIFC6BUKuVXYGCguY+GqpFa7Yq0tCB5erA8KpUKmZmZ8qu8VZC6gMrGRjsobWMDfPIJEBBg3FZ/FDU09DhiY5eYNf1o7ugrERHVHIuujpwxYwYWLVpUZpszZ86gdevWAICpU6ciOjoaFy9exBtvvIHnnnsO8fHxkCQJL774IlJTU9G/f3/cvXsXbm5umDhxIubNmweFom7EmjNnzsTkyZPln/Py8hiIWVhZBVBNMWclpKlVkKGhxzFnThjy833QvLnpAAzQTk3GxMSUWjEfAOzs7KBUKuWfWTGfiKh2smgQNmXKFIwePbrMNs2aNZO/9/LygpeXF1q2bIk2bdogMDAQv/76K8LDwyFJEhYtWoS3334bWVlZ8Pb2xp49ewyu4evra7SK8cqVK3Bzc4OTkxNsbGxgY2Njso2vr698jcLCQuTm5hqMhpVsU3JFpe6aujamODg4wMHBocznQdVPN2pUXgFUU6NL5a2ELCuo8/fXwJy0rZIBFXO9iIjqJosOEXl7e6N169ZlvkqbRtFotLkwBQUFBsdtbGzQuHFj2Nvb45tvvkF4eDi8vb0BAOHh4XJgppOQkIDw8HAA2j++Xbp0MWij0WiwZ88euU2XLl1gZ2dn0CYlJQWXLl2S24SHh+OPP/4wWFGZkJAANzc3tG3btlLPimqObrSpR49RJlcgPvTQqEptA1SZVZBERFR/1YlirUlJSThy5AgefvhhNGzYEKmpqZg9ezZCQkLkwCc7OxubN2/GY489hjt37uCLL76QS0jovPzyy1i+fDmmTZuGMWPGYO/evdi4cSO2b98ut5k8eTJGjRqFrl27olu3bliyZAlu3ryJ559/HgCgVCoRHR2NyZMnw8PDA25ubhg/fjzCw8PRvXt3AECfPn3Qtm1bjBw5EosXL0ZWVhZef/11jBs3jiNddYSnpye6dwcUCkCjlzN/L2Fe+3PJSvhl5X+VVlaiWbM+iIiwRWFhITIzMzl9SERkJepEEObs7IytW7di7ty5uHnzJvz8/NC3b1+8/vrrBkHNmjVr8Oqrr0IIgfDwcOzfvx/dunWTzwcHB2P79u2YNGkSli5dioCAAHz22WeIjIyU2wwbNgzXrl3DnDlzkJWVhU6dOmHXrl0GifYffPABFAoFBg8ejIKCAkRGRmLFihXyeRsbG8THx+OVV15BeHg4XFxcMGrUKLz55pvV/KSoKgUEAKtWAS+9BBQXGyfMm1sJX0e3CrJkWYm///4RGzYYrmrkhttERPVfna0TZg1YJ6x2SE8Hzp+HUcK8ufXE9Jmb6M+6XkREdZe5f7/rxEgYUXUytbm2Picnezz2WOVGpUquhAwNPY6QkPPIyfGAh0cO63oREVkxBmFk1cydUqzM9GBpo15KZb4cfFV0024iIqo/GISRVTNnc+2KtNMpr7wFUPEaZEREVL/UjSqmRHVMaSsh//yzLdRq13LLVRARUf3HkTCiamBqJSQgsHt3X/z4Yx+EhyeaDNJycjw4LUlEZCU4EkZURfT3mCy5wTYgAEja74QCiYnhAAw37ZYkDTw8cmq0z0REZDkcCSMyU8lVlLm5ufL3peV3hYSch739M1i0yHC7KiEU6NHjEBITww3eoxsFY/V8IqL6j0EYkRlyc3OxceNGk+dM5Xdt3x6FOXPCEBRki9u3PfHOOyUr7wssW9YcwDVcuGCLoKAi+Ps/COBBVswnIrISDMKI9JRWMqKoqKjU95hKwi8ulpCf7yNvb2RceV9Cly7aXRi6dKn6+yAiotqPQRhZNf1pv7JKRtjZ2ZV6DVNJ+DY22gr7OtHRQGSk6cr7RERknbhtUS3GbYtqhkqlwoULRejWrRE0Gkk+bmMjkJR0FUFB2s21y9qiSD+A0+0xGR1dE70nIqLahtsWEZnJ09MTp04Z5mwB96YUARWys7PLvIYuCf+hh0YhLMyTI11ERFQuBmFEAFq0ABSKksnzgKfndbO2NQIApTIfPXoUgvtuExGROVgnjAjaHK1Vq7SBFwB5StHL647J9vo1wYiIiCqDI2FE/zKVPJ+ZadyOez4SEVFVYBBGpCcgoOyVi+VtzM0iq0REZC4GYUQVcPlyoMk9H9u3H4innlKyyCoREZmNQRiRmXTTkCVJkgYdO7owACMiogphEEZWo+TejyWVtV1QyWnIe7Q5Ydoth4iIiMzHIIysgkqlMqvURExMjMlAzNTWRAAwZMhmtG9/BgCDMCIiqhiWqCCrUNYIWFntdIn2uq2J9EmSBoGB6QbtiIiIzMWRMCI92dnZBtOSnp6eiImJQWFhIRo3zsP06UoUF0uwsRFYtCgPzzwzvMxpTCIiotIwCCPSs3XrVgDA0KFD4e7uDkA7yuXn54cpU4Bhw3R1xCQEBLgDcLdUV4mIqI5jEEZkwsaNGw1+1uWKlVdHjIiIyFzMCSOrVNq2Q6UdNzenjIiIyFwcCSOrU9q2Q9yOiIiIahJHwsiqmNp26Icf+iMlpbnJ7Yi4QTcREVUXBmFkFXQlJEzX+1Lgm2+Gm9yOKCfHo4Z6SERE1oZBGFkFXamJESO6GdX70lIAEAZHJEkDD4+cGukfERFZHwZhZDU8PT3Rvr07oqLiAZgKxCQ5QNPlhCmV+TXaRyIish5MzCerYm9vj9DQ42jUKAurV79gMAUpSRpER3+Gu3ft4eGRwwCMiIiqFYMwqjXuZ4Ntc+lXwG/dOg/Tpimh0UjyyFdAQGapn01ERFSVJCGEKL8ZWUJeXh6USiXUajXc3Nws3Z1qdb8bbFdWejpw9KgaAQF34O9vaoqyaoI/IiKyHub+/eZIGNUKld1g+35pK+ArASir9LpERETlYRBGFqWbgszOzrZ0V4iIiGoUgzCyGHOnIImIiOojlqggi+F+jEREZM0YhFGtVNpG2kRERPUFpyOp1uFG2kREZA04Eka1iqkNtrmRNhER1UcMwqjWUKtdcfp0uzI30mbRVCIiqi84HUm1gv4UpHYjbUk+p1AIjB//JIKCbFk0lYiI6g0GYWRxJacgtQGYNhCTJA3mzMmAv78NCgsLkZlpuK0Qq9kTEVFdxSCMLEY3tZiT42k0BQlIiIzchbZt/wSQj1WrSr9OVW9lREREVBOYE0YWo9tMe/z4vlAoDLcwtbERmDKlKZTKfPlYaWUrWG+MiIjqIo6EkUV5enrC0xNYtQp46SWguBiwsQE++URC+/buOHxY245lK4iIqL7hSBjVCtHRwIULwL592q/R0ffOsWwFERHVRxwJo3LpNtkuTVUlxwcEaF8lmcoZ05Wt0J+uJCIiqksYhFGZzN1kuzqT4zMy/FCybIUkaeDhkVMtn0dERFQTOB1JZTI36b06kuPVajXUalf89FME9AMwQCAi4ieOghERUZ3GIIwqpKY21lapVNiwYUOp5Sv8/TOq9fOJiIiqG6cjyWwVWaGYng6cOwe0aGE6z6s8upE1Dw8VJEljEIiVnIrkVkZERFQXcSSMzGLOCkWVSoXMzEy8914umjYV6N0baNpU4L33cpGZmQmVSlXhz1Uq8xEVFQ9J0gCAHPzppiKHDh3KQq1ERFQncSSMzFLeCsXc3Fxs3LgRarUrliyJhRDaHC6NRsLUqW7455/PoVTmVyqBPzT0OEJCziMnxwMeHjkGuWDu7u73fW9ERESWwCCMzFLetGBRURGA8oO1yibwK5X5TMQnIqJ6hdORZJbypgV1dMGaPpaTICIiMsaRMCqTftJ7WdOCdnZ2AO4FayUT+DmKRUREZIhBGJVJt8l2eRXz9c+XFawRERGRFoMwKpc5ifSZmZkGP99vDpe5ZSdYnoKIiOoqBmFUK5k7AsfyFEREVFcxCKNaiwEWERHVZ1wdSVWC04dEREQVw5EwqhKcPiQiIqoYBmFUZRhgERERmY/TkUREREQWwCCMiIiIyAIYhBERERFZQJ0LwgoKCtCpUydIkoQTJ04YnDt16hR69uwJR0dHBAYGYvHixUbv37RpE1q3bg1HR0d06NABO3bsMDgvhMCcOXPg5+cHJycnRERE4Ny5cwZtcnJyMGLECLi5ucHd3R3R0dG4ceNGhftCRERE1qvOBWHTpk2Dv7+/0fG8vDz06dMHTZs2xdGjR/HOO+9g3rx5WLVqldzm8OHDGD58OKKjo3H8+HEMHDgQAwcORHJystxm8eLFWLZsGVauXImkpCS4uLggMjISd+7ckduMGDECp0+fRkJCAuLj4/Hzzz9j7NixFeoLERERWTlRh+zYsUO0bt1anD59WgAQx48fl8+tWLFCNGzYUBQUFMjHpk+fLlq1aiX/PHToUNGvXz+Da4aFhYmXXnpJCCGERqMRvr6+4p133pHP5+bmCgcHB/HNN98IIYT4888/BQBx5MgRuc3OnTuFJEnin3/+Mbsv5lCr1QKAUKvVFXofERERWY65f7/rzEjYlStX8OKLL+Krr76Cs7Oz0fnExEQ88sgjBsVAIyMjkZKSguvXr8ttIiIiDN4XGRmJxMREAEBaWhqysrIM2iiVSoSFhcltEhMT4e7ujq5du8ptIiIioFAokJSUZHZfTCkoKEBeXp7Bi4iIiOqnOhGECSEwevRovPzyywbBj76srCz4+PgYHNP9nJWVVWYb/fP67yutTaNGjQzO29rawsPDo9zP0f8MUxYsWAClUim/AgMDS21LREREdZtFg7AZM2ZAkqQyX2fPnsWHH36I/Px8zJw505LdrXYzZ86EWq2WX5cvX7Z0l4iIiKiaWLRi/pQpUzB69Ogy2zRr1gx79+5FYmIiHBwcDM517doVI0aMwJo1a+Dr64srV64YnNf97OvrK3811Ub/vO6Yn5+fQZtOnTrJba5evWpwjaKiIuTk5JT7OfqfYYqDg4PRPRIREVH9ZNGRMG9vb7Ru3brMl729PZYtW4aTJ0/ixIkTOHHihFxWYsOGDZg/fz4AIDw8HD///DPu3r0rXz8hIQGtWrVCw4YN5TZ79uwx6ENCQgLCw8MBAMHBwfD19TVok5eXh6SkJLlNeHg4cnNzcfToUbnN3r17odFoEBYWZnZf6pL0dGDfPu1XIiIiqiI1s06gaqWlpRmtjszNzRU+Pj5i5MiRIjk5Waxfv144OzuLTz75RG5z6NAhYWtrK959911x5swZMXfuXGFnZyf++OMPuc3ChQuFu7u7+P7778WpU6fEU089JYKDg8Xt27flNn379hWdO3cWSUlJ4uDBg6JFixZi+PDhFeqLOWrD6sjPPhNCoRAC0H797DOLdYWIiKhOMPfvd70JwoQQ4uTJk+Lhhx8WDg4OonHjxmLhwoVG7924caNo2bKlsLe3F+3atRPbt283OK/RaMTs2bOFj4+PcHBwEI8//rhISUkxaKNSqcTw4cNFgwYNhJubm3j++edFfn5+hftSHksHYZcv3wvAdC8bG+1xIiIiMs3cv9+SEEJYciSOSpeXlwelUgm1Wg03N7ca+cz0dODcOaBFC+3X3r2N2+zbBzz2WI10h4iIqM4x9+93nShRQTVj9WqgaVNt4NW0KfD774CixG+IjQ3QvLll+kdERFSfMAgjANoRsBdfBDQa7c8aDTBzJrBokTbwArRfP/kECAiwXD+JiIjqC4uWqKDaY+lSbdaXvuJiIDhYhaSkIly4YIugoCL4+2uQmQnY29vD09PTMp0lIiKqBxiEEdLTgfffN3VGg0OH1iA5OR8AoLfPOQAgJiaGgRgREVElcTqScO7cvWlIfT16JEKpzC/1fYWFhdXYKyIiovqNQRihRQvjBHxJ0iAsLMkyHSIiIrICDMIIAQHAqlX6CfgCUVHxZY6CERER0f1hTpiVS08Hfv9djU6d7iApCbhwwRZubldx+PBxS3eNiIioXmMQZsVWrwbGjhXQaJSQJFdERcUjNJTBFxERUU3gdKQVSk8HNm4EXnxRQKORAABCKLBtW3+o1a4W7h0REZF1YBBmZXRV8YcNA4SQDM4JoUBOjoeFekZERGRdGIRZkfR0YOxY0+UoAO2KSA+PHLOvZ29vX0U9IyIisj7MCbMipdUDA7QBWFkrIgcNGgQvLy/5Z1bMJyIiuj8MwqyIrh6YfiAmSRoMHrwZgYHpZZak8PLygp+fXw30koiIyDpwOtKKBAQA779/A5KkjcJ0o1/t259hTTAiIqIaxpEwKzN0aD4uXlyFnBwPeHjkMPgiIiKyEAZhVkKlUqGwsBDZ2dlQKvMrHHwxCZ+IiKhqMQizAiqVCsuXL6/0+5999lkm4RMREVUxBmFWoLCwsMLv0a2G5CpIIiKi6sEgjEziakgiIqLqxdWRRERERBbAIIyIiIjIAhiEkUlcDUlERFS9mBNGMibjExER1RwGYSRjMj4REVHN4XSkFTB3apFTkERERDWHI2FWwNPTEzExMWXWC+MUJBERUc1iEGYlGGARERHVLpyOJCIiIrIABmFEREREFsAgjIiIiMgCGIQRERERWQCDMCIiIiILYBBGREREZAEMwoiIiIgsgEEYERERkQUwCCMiIiKyAFbMr8WEEACAvLw8C/eEiIiIzKX7u637O14aBmG1WH5+PgAgMDDQwj0hIiKiisrPz4dSqSz1vCTKC9PIYjQaDTIyMuDq6gpJksx6T15eHgIDA3H58mW4ublVcw9rLz4HLT4HPgMdPgctPgc+A53qfA5CCOTn58Pf3x8KRemZXxwJq8UUCgUCAgIq9V43Nzer/o9Lh89Bi8+Bz0CHz0GLz4HPQKe6nkNZI2A6TMwnIiIisgAGYUREREQWwCCsnnFwcMDcuXPh4OBg6a5YFJ+DFp8Dn4EOn4MWnwOfgU5teA5MzCciIiKyAI6EEREREVkAgzAiIiIiC2AQRkRERGQBDMKIiIiILIBBWB3w8ccf44EHHpALyoWHh2Pnzp3y+Tt37mDcuHHw9PREgwYNMHjwYFy5csXgGpcuXUK/fv3g7OyMRo0aYerUqSgqKqrpW6kyCxcuhCRJiI2NlY9Zy3OYN28eJEkyeLVu3Vo+by3P4Z9//sGzzz4LT09PODk5oUOHDvj999/l80IIzJkzB35+fnByckJERATOnTtncI2cnByMGDECbm5ucHd3R3R0NG7cuFHTt1JpQUFBRr8LkiRh3LhxAKznd6G4uBizZ89GcHAwnJycEBISgrfeestg3z5r+H3Iz89HbGwsmjZtCicnJ/To0QNHjhyRz9fHZ/Dzzz8jKioK/v7+kCQJ3333ncH5qrrnU6dOoWfPnnB0dERgYCAWL15cNTcgqNb74YcfxPbt28Vff/0lUlJSxGuvvSbs7OxEcnKyEEKIl19+WQQGBoo9e/aI33//XXTv3l306NFDfn9RUZFo3769iIiIEMePHxc7duwQXl5eYubMmZa6pfvy22+/iaCgIPHAAw+IiRMnyset5TnMnTtXtGvXTmRmZsqva9euyeet4Tnk5OSIpk2bitGjR4ukpCTx999/i927d4vz58/LbRYuXCiUSqX47rvvxMmTJ8WAAQNEcHCwuH37ttymb9++omPHjuLXX38Vv/zyi2jevLkYPny4JW6pUq5evWrwe5CQkCAAiH379gkhrON3QQgh5s+fLzw9PUV8fLxIS0sTmzZtEg0aNBBLly6V21jD78PQoUNF27ZtxYEDB8S5c+fE3LlzhZubm0hPTxdC1M9nsGPHDjFr1iyxdetWAUB8++23Buer4p7VarXw8fERI0aMEMnJyeKbb74RTk5O4pNPPrnv/jMIq6MaNmwoPvvsM5Gbmyvs7OzEpk2b5HNnzpwRAERiYqIQQvtLqlAoRFZWltzm448/Fm5ubqKgoKDG+34/8vPzRYsWLURCQoJ49NFH5SDMmp7D3LlzRceOHU2es5bnMH36dPHwww+Xel6j0QhfX1/xzjvvyMdyc3OFg4OD+Oabb4QQQvz5558CgDhy5IjcZufOnUKSJPHPP/9UX+er0cSJE0VISIjQaDRW87sghBD9+vUTY8aMMTg2aNAgMWLECCGEdfw+3Lp1S9jY2Ij4+HiD46GhoWLWrFlW8QxKBmFVdc8rVqwQDRs2NPhvYvr06aJVq1b33WdOR9YxxcXFWL9+PW7evInw8HAcPXoUd+/eRUREhNymdevWaNKkCRITEwEAiYmJ6NChA3x8fOQ2kZGRyMvLw+nTp2v8Hu7HuHHj0K9fP4P7BWB1z+HcuXPw9/dHs2bNMGLECFy6dAmA9TyHH374AV27dsV///tfNGrUCJ07d8ann34qn09LS0NWVpbBc1AqlQgLCzN4Du7u7ujatavcJiIiAgqFAklJSTV3M1WksLAQX3/9NcaMGQNJkqzmdwEAevTogT179uCvv/4CAJw8eRIHDx7Ek08+CcA6fh+KiopQXFwMR0dHg+NOTk44ePCgVTyDkqrqnhMTE/HII4/A3t5ebhMZGYmUlBRcv379vvrIDbzriD/++APh4eG4c+cOGjRogG+//RZt27bFiRMnYG9vD3d3d4P2Pj4+yMrKAgBkZWUZ/COrO687V1esX78ex44dM8hx0MnKyrKa5xAWFoa4uDi0atUKmZmZeOONN9CzZ08kJydbzXP4+++/8fHHH2Py5Ml47bXXcOTIEUyYMAH29vYYNWqUfB+m7lP/OTRq1MjgvK2tLTw8POrMc9D33XffITc3F6NHjwZgXf9NzJgxA3l5eWjdujVsbGxQXFyM+fPnY8SIEQBgFb8Prq6uCA8Px1tvvYU2bdrAx8cH33zzDRITE9G8eXOreAYlVdU9Z2VlITg42OgaunMNGzasdB8ZhNURrVq1wokTJ6BWq7F582aMGjUKBw4csHS3aszly5cxceJEJCQkGP0/PWuj+3/3APDAAw8gLCwMTZs2xcaNG+Hk5GTBntUcjUaDrl274u233wYAdO7cGcnJyVi5ciVGjRpl4d5ZxurVq/Hkk0/C39/f0l2pcRs3bsTatWuxbt06tGvXDidOnEBsbCz8/f2t6vfhq6++wpgxY9C4cWPY2NggNDQUw4cPx9GjRy3dNSoFpyPrCHt7ezRv3hxdunTBggUL0LFjRyxduhS+vr4oLCxEbm6uQfsrV67A19cXAODr62u0Ikr3s65NbXf06FFcvXoVoaGhsLW1ha2tLQ4cOIBly5bB1tYWPj4+VvEcTHF3d0fLli1x/vx5q/l98PPzQ9u2bQ2OtWnTRp6W1d2HqfvUfw5Xr141OF9UVIScnJw68xx0Ll68iJ9++gkvvPCCfMxafhcAYOrUqZgxYwaefvppdOjQASNHjsSkSZOwYMECANbz+xASEoIDBw7gxo0buHz5Mn777TfcvXsXzZo1s5pnoK+q7rk6/zthEFZHaTQaFBQUoEuXLrCzs8OePXvkcykpKbh06RLCw8MBAOHh4fjjjz8MftESEhLg5uZm9Iestnr88cfxxx9/4MSJE/Kra9euGDFihPy9NTwHU27cuIHU1FT4+flZze/DQw89hJSUFINjf/31F5o2bQoACA4Ohq+vr8FzyMvLQ1JSksFzyM3NNRgl2Lt3LzQaDcLCwmrgLqrOF198gUaNGqFfv37yMWv5XQCAW7duQaEw/HNmY2MDjUYDwPp+H1xcXODn54fr169j9+7deOqpp6zuGQBV9797eHg4fv75Z9y9e1duk5CQgFatWt3XVCQAlqioC2bMmCEOHDgg0tLSxKlTp8SMGTOEJEnixx9/FEJol6E3adJE7N27V/z+++8iPDxchIeHy+/XLUPv06ePOHHihNi1a5fw9vauc8vQS9JfHSmE9TyHKVOmiP3794u0tDRx6NAhERERIby8vMTVq1eFENbxHH777Tdha2sr5s+fL86dOyfWrl0rnJ2dxddffy23WbhwoXB3dxfff/+9OHXqlHjqqadMLk3v3LmzSEpKEgcPHhQtWrSo1cvxTSkuLhZNmjQR06dPNzpnDb8LQggxatQo0bhxY7lExdatW4WXl5eYNm2a3MYafh927doldu7cKf7++2/x448/io4dO4qwsDBRWFgohKifzyA/P18cP35cHD9+XAAQ77//vjh+/Li4ePGiEKJq7jk3N1f4+PiIkSNHiuTkZLF+/Xrh7OzMEhXWYsyYMaJp06bC3t5eeHt7i8cff1wOwIQQ4vbt2+L//u//RMOGDYWzs7P4f//v/4nMzEyDa1y4cEE8+eSTwsnJSXh5eYkpU6aIu3fv1vStVKmSQZi1PIdhw4YJPz8/YW9vLxo3biyGDRtmUB/LWp7Dtm3bRPv27YWDg4No3bq1WLVqlcF5jUYjZs+eLXx8fISDg4N4/PHHRUpKikEblUolhg8fLho0aCDc3NzE888/L/Lz82vyNu7b7t27BQCjexPCen4X8vLyxMSJE0WTJk2Eo6OjaNasmZg1a5ZBSQFr+H3YsGGDaNasmbC3txe+vr5i3LhxIjc3Vz5fH5/Bvn37BACj16hRo4QQVXfPJ0+eFA8//LBwcHAQjRs3FgsXLqyS/ktC6JUUJiIiIqIawZwwIiIiIgtgEEZERERkAQzCiIiIiCyAQRgRERGRBTAIIyIiIrIABmFEREREFsAgjIiIiMgCGIQRERERWQCDMCKqVx577DHExsZauhvVbt68eejUqZOlu0FE94FBGBFRLVJYWFijnyeEQFFRUY1+JhFpMQgjonpj9OjROHDgAJYuXQpJkiBJEi5cuIDk5GQ8+eSTaNCgAXx8fDBy5EhkZ2fL73vssccwfvx4xMbGomHDhvDx8cGnn36Kmzdv4vnnn4erqyuaN2+OnTt3yu/Zv38/JEnC9u3b8cADD8DR0RHdu3dHcnKyQZ8OHjyInj17wsnJCYGBgZgwYQJu3rwpnw8KCsJbb72F5557Dm5ubhg7diwAYPr06WjZsiWcnZ3RrFkzzJ49G3fv3gUAxMXF4Y033sDJkyfl+4yLi8OFCxcgSRJOnDghXz83NxeSJGH//v0G/d65cye6dOkCBwcHHDx4EBqNBgsWLEBwcDCcnJzQsWNHbN68uar/JyIiPQzCiKjeWLp0KcLDw/Hiiy8iMzMTmZmZcHV1Re/evdG5c2f8/vvv2LVrF65cuYKhQ4cavHfNmjXw8vLCb7/9hvHjx+OVV17Bf//7X/To0QPHjh1Dnz59MHLkSNy6dcvgfVOnTsV7772HI0eOwNvbG1FRUXKwlJqair59+2Lw4ME4deoUNmzYgIMHDyImJsbgGu+++y46duyI48ePY/bs2QAAV1dXxMXF4c8//8TSpUvx6aef4oMPPgAADBs2DFOmTEG7du3k+xw2bFiFntWMGTOwcOFCnDlzBg888AAWLFiAL7/8EitXrsTp06cxadIkPPvsszhw4ECFrktEFVAl24ATEdUSjz76qJg4caL881tvvSX69Olj0Oby5csCgEhJSZHf8/DDD8vni4qKhIuLixg5cqR8LDMzUwAQiYmJQggh9u3bJwCI9evXy21UKpVwcnISGzZsEEIIER0dLcaOHWvw2b/88otQKBTi9u3bQgghmjZtKgYOHFjufb3zzjuiS5cu8s9z584VHTt2NGiTlpYmAIjjx4/Lx65fvy4AiH379hn0+7vvvpPb3LlzRzg7O4vDhw8bXC86OloMHz683L4RUeXYWjIAJCKqbidPnsS+ffvQoEEDo3Opqalo2bIlAOCBBx6Qj9vY2MDT0xMdOnSQj/n4+AAArl69anCN8PBw+XsPDw+0atUKZ86ckT/71KlTWLt2rdxGCAGNRoO0tDS0adMGANC1a1ejvm3YsAHLli1Damoqbty4gaKiIri5uVX4/kuj/5nnz5/HrVu38MQTTxi0KSwsROfOnavsM4nIEIMwIqrXbty4gaioKCxatMjonJ+fn/y9nZ2dwTlJkgyOSZIEANBoNBX67JdeegkTJkwwOtekSRP5excXF4NziYmJGDFiBN544w1ERkZCqVRi/fr1eO+998r8PIVCm2EihJCP6aZGS9L/zBs3bgAAtm/fjsaNGxu0c3BwKPMziajyGIQRUb1ib2+P4uJi+efQ0FBs2bIFQUFBsLWt+n/yfv31Vzmgun79Ov766y95hCs0NBR//vknmjdvXqFrHj58GE2bNsWsWbPkYxcvXjRoU/I+AcDb2xsAkJmZKY9g6Sfpl6Zt27ZwcHDApUuX8Oijj1aor0RUeUzMJ6J6JSgoCElJSbhw4QKys7Mxbtw45OTkYPjw4Thy5AhSU1Oxe/duPP/880ZBTGW8+eab2LNnD5KTkzF69Gh4eXlh4MCBALQrHA8fPoyYmBicOHEC586dw/fff2+UmF9SixYtcOnSJaxfvx6pqalYtmwZvv32W6P7TEtLw4kTJ5CdnY2CggI4OTmhe/fucsL9gQMH8Prrr5d7D66urnj11VcxadIkrFmzBqmpqTh27Bg+/PBDrFmzptLPhojKxiCMiOqVV199FTY2Nmjbti28vb1RWFiIQ4cOobi4GH369EGHDh0QGxsLd3d3efrufixcuBATJ05Ely5dkJWVhW3btsHe3h6ANs/swIED+Ouvv9CzZ0907twZc+bMgb+/f5nXHDBgACZNmoSYmBh06tQJhw8flldN6gwePBh9+/ZFr1694O3tjW+++QYA8Pnnn6OoqAhdunRBbGws/ve//5l1H2+99RZmz56NBQsWoE2bNujbty+2b9+O4ODgSjwVIjKHJPSTB4iIyCz79+9Hr169cP36dbi7u1u6O0RUB3EkjIiIiMgCGIQRERERWQCnI4mIiIgsgCNhRERERBbAIIyIiIjIAhiEEREREVkAgzAiIiIiC2AQRkRERGQBDMKIiIiILIBBGBEREZEFMAgjIiIisgAGYUREREQW8P8B6JPQbxtY+lcAAAAASUVORK5CYII=", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.4 Model Validation\n", + "\n", + "We check the fit on the validation set to see if the surrogate is fitting well. This step can be used to check for overfitting on the training set." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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ljB06FAhMTFRCA4OFpo3by507txZWLRokVBdXW2zf1VVlTBr1iwhOTlZCAwMFGJjY4X7779fOHHihHWf3NxcIS0tTQgODhbatWsnrF271jpcvLYjR44IvXr1EkJCQgQANkPbX3jhBeHGG28U1Gp1vaHtmzZtEv70pz8JoaGhQmhoqNCuXTth4sSJwtGjR22OjaOh/nVZynfhwgWH+9Udzm7x6quvCu3atRMCAwOFmJgY4YknnhB+++03m30uXbokjBw5UoiIiBAAcGg7US0qQfDAwjBEREREMsA+PkRERKQYDD5ERESkGAw+REREpBgMPkRERKQYDD5ERESkGAw+REREpBicwLAOk8mEM2fOICwsjNO+ExERyYQgCKisrER8fDzUavv1Ogw+dZw5cwatWrUSuxhERETkhl9//RUJCQl272fwqSMsLAyA+cA5WneIiIiIpKOiogKtWrWyXsftYfCpw9K8FR4ezuBDREQkM411U2HnZiIiIlIMBh8iIiJSDAYfIiIiUgz28SEiIvIAo9GIq1evil0MvxUYGAiNRtPk55FN8Jk3bx7y8vJw5MgRhISEoEePHliwYAHatm1r3efKlSt45pln8N5776G6uhoZGRl4/fXXERMTI2LJiYjInwmCgLNnz6K8vFzsovi9iIgIxMbGNmmePdkEn127dmHixIno2rUrrl27hr///e8YMGAAfv75Z4SGhgIAnn76aWzduhUffvghtFotcnJyMGzYMOzZs0fk0hMRkb+yhJ7o6Gg0b96ck996gSAIqKqqwvnz5wEAcXFxbj+XShAEwVMF86ULFy4gOjoau3btQq9evWAwGBAVFYWNGzfi/vvvBwAcOXIEN998M/Lz83HnnXc69bwVFRXQarUwGAwczk5ERA4ZjUb88ssviI6Ohk6nE7s4fk+v1+P8+fO46aab6jV7OXv9lm3nZoPBAACIjIwEAOzfvx9Xr15F//79rfu0a9cOrVu3Rn5+vihlJCIi/2bp09O8eXORS6IMluPclL5Usmnqqs1kMmHy5Mno2bMnbrnlFgDmqsagoCBERETY7BsTE4OzZ8/afa7q6mpUV1dbb1dUVHilzERE5L/YvOUbnjjOsgw+EydORGFhIXbv3t3k55o3bx7mzp3rgVLJn16vR01Njd37g4KCWJVLRESyJrvgk5OTgy1btuDrr7+2WYQsNjYW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wYeIiIgUg8GHiIiIFIPBh4iIiBSDwYeIiIgUg8GHiIiIFIPBh4iIiBSDwYeIZKOmpkbsItQjxTIRkX0MPkQkmj59+iAnJwc5OTnQarVo2bIlnn32WVhW0klKSsILL7yARx99FOHh4cjOzgYA7N69G3fddRdCQkLQqlUrTJo0CZcvX7Y+7+uvv460tDQ0a9YMMTExuP/++633ffTRR+jYsSNCQkKg0+nQv39/62P79OmDyZMn25Rx6NChGDNmjPW2u2UiImlg8CEiUa1fvx4BAQH47rvvsHz5cixZsgT/+Mc/rPe/8sor6NSpEw4cOIBnn30WJ06cwMCBAzF8+HAcOnQI77//Pnbv3o2cnBwAwA8//IBJkybh+eefx9GjR/HZZ5+hV69eAIDS0lI89NBDGDt2LA4fPoyvvvoKw4YNg6tLFrpaJiKSDi5SSkSi6dOnD86fP4///ve/UKlUAIAZM2bg008/xc8//4ykpCR07twZH3/8sfUx48aNg0ajwapVq6zbdu/ejd69e+Py5cv497//jcceewwlJSUICwuz+X0FBQVIT09HcXExEhMTGyzPbbfdhmXLllm3DR06FBEREVi3bh0AuFWmZs2aNek4EZHnsMaHiER15513WkMPAHTv3h3Hjh2D0WgEANx+++02+//4449Yt24dWrRoYf2XkZEBk8mEoqIi3HPPPUhMTESbNm3wyCOP4J133kFVVRUAoFOnTujXrx86duyIv/zlL3jrrbfw22+/uVxmV8tERNLB4ENEkhYaGmpz+9KlSxg/fjwOHjxo/ffjjz/i2LFjSElJQVhYGAoKCvDuu+8iLi4Os2fPRqdOnVBeXg6NRoMdO3Zg27ZtaN++PVauXIm2bdtaw4lara7X7HX16tUml4mIpIPBh4hEtW/fPpvb3377LdLS0qDRaBrcv0uXLvj555+Rmppa719QUBAAICAgAP3798fChQtx6NAhFBcX48svvwQAqFQq9OzZE3PnzsWBAwcQFBRkbbaKiopCaWmp9XcZjUYUFhY2+hqcKRMRSQODDxGJ6tSpU5gyZQqOHj2Kd999FytXrsRTTz1ld//p06dj7969yMnJwcGDB3Hs2DH861//snYk3rJlC1asWIGDBw/i5MmTePvtt2EymdC2bVvs27cPL7/8Mn744QecOnUKeXl5uHDhAm6++WYAQN++fbF161Zs3boVR44cwRNPPIHy8vJGX0NjZSIi6QgQuwBEpGyPPvoofv/9d9xxxx3QaDR46qmnrEPEG3Lrrbdi165dmDVrFu666y4IgoCUlBSMGDECABAREYG8vDzMmTMHV65cQVpaGt5991106NABhw8fxtdff41ly5ahoqICiYmJWLx4MQYNGgQAGDt2LH788Uc8+uijCAgIwNNPP42777670dfQWJmISDo4qouIRNPQKCoiIm9iUxcREREpBoMPERERKQabuoiIiEgxWONDREREisHgQ0RERIrB4ENERESKweBDREREisHgQ0RERIrB4ENERESKweBDREREisHgQ0RERIrB4ENERESK8f8BKTkfuivYzxoAAAAASUVORK5CYII=", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# visualize with IDAES surrogate plotting tools\n", + "surrogate_scatter2D(keras_surrogate, data_validation)\n", + "surrogate_parity(keras_surrogate, data_validation)\n", + "surrogate_residual(keras_surrogate, data_validation)" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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KKBSqRAWFuawz2DOjh3anh5zx9PStMNbaWkMPURERHWx9fvbK4a6Dhw4gD///BMymQydO3dGfHw8+vbta9Tjk5eXhw4dOuhDDwD07t0bFRUV+N///mfxta9du4aKigqjH1dp3drcsJZAaOhZyOUlaNOmBHJ5CUpKtD9KpdJlbSMiImqMvGKo648//gAAzJgxAwsWLEBycjLmz5+Pu+66C7///jsiIiJQWlpqFHoA6B+XlpZafO3Zs2dj5syZzmu8FYmJwJw52mEtjQaQJA369duMzZsPWnxOTk4OIiMjXdhKIiKixsOtPT5TpkyBJElWf3777Tdo/i6CmTZtGgYNGoSMjAysXLkSkiTh448/blAbpk6dCpVKpf85ffq0Iz6aTVasMAw9Ar16fY30dMuhBwCqqqpc1DoiIqLGx609PhMmTMCIESOsXtOqVSuUlJQAANq1a6c/HhgYiFatWuHUqVMAgLi4OPz0009Gzz179qz+nCWBgYEIDAy0p/kNYlrYLISEr7/uhZtuyodCUeny9hAREfkCtwaf6OhoREdH13ldRkYGAgMDcezYMdxxxx0AgOrqahQVFSEpKQkAkJmZiZdffhnnzp1DTEwMAGD79u0ICwszCkyewtx6PULIUFYWweBDRETkJF5R4xMWFoannnoKL7zwAlq0aIGkpCTMmzcPAPDQQw8BAO677z60a9cOw4YNw6uvvorS0lL85z//wZgxY9zSo1MXXWGzYfiRJA0iIsrc1ygiIqJGziuCDwDMmzcPfn5+GDZsGP766y907doV3377LZo1awYAkMvl2Lx5M55++mlkZmYiJCQEw4cPx4svvujmlpuXmAgsX67djkK7Xo9Av36b2dtDRETkRF6xjo8ruWodH6VSiaqqKpw5I0NRkR/Cws5hz56P6nzeqFGjEB8f77R2EREReSNbv7+9psenMVEqlViyZIm7m0FERORzvGIBw8amIVPSbV2BmoiIiGpjj48bqFQqm64bOHAgoqKi9I8DAgK4eCEREVEDMPi4mFKpxPr16226NioqivU8REREDsShLherqqqCShWKwsJkqFSh7m4OERGRT2GPj4utXRuEhQtzIYQMkqTBgAGb69ymgoiIiByDPT4uVFwMTJqkgBDa2y6EDJs29WfPDxERkYsw+LiQdpsKyeiYbpsKIiIicj4GHxcpLgbOn9fuwm7I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s3LlSsTExKBfv376Y77yuwAAV65cgUxm/BUil8uh0WgA+N7vQ0hICOLj43Hx4kV89dVX+Oc//+lz9wBw3D/3zMxMfP/996iurtZfs337drRp06ZBw1wAOJ3dkilTpoidO3eKwsJCceTIETFlyhQhSZLYtm2bEEI7ZbVly5bi22+/FT///LPIzMwUmZmZ+ufrpqzed9994tChQ+LLL78U0dHRXjdl1ZThrC4hfOc+TJgwQXz33XeisLBQ7N69W/Tq1UtERUWJc+fOCSF84z789NNPws/PT7z88svi+PHj4oMPPhDBwcHi/fff118zZ84cER4eLv773/+KI0eOiH/+859mp7F27txZ7N27V+zatUu0bt3ao6fumqNWq0XLli3F5MmTa53zhd8FIYQYPny4aN68uX46+8aNG0VUVJSYNGmS/hpf+H348ssvxdatW8Uff/whtm3bJjp16iS6du0qqqqqhBCN8x5UVlaKgwcPioMHDwoAYsGCBeLgwYPi5MmTQgjHfOby8nIRGxsrhg0bJvLz88W6detEcHAwp7M708iRI0VSUpIICAgQ0dHR4p577tGHHiGE+Ouvv8S//vUv0axZMxEcHCz+3//7f6KkpMToNYqKikTfvn1FUFCQiIqKEhMmTBDV1dWu/igOZRp8fOU+ZGVlifj4eBEQECCaN28usrKyjNav8ZX7sGnTJnHTTTeJwMBA0bZtW7F8+XKj8xqNRjz//PMiNjZWBAYGinvuuUccO3bM6BqlUimGDBkimjZtKsLCwsTjjz8uKisrXfkxGuyrr74SAGp9NiF853ehoqJCPPPMM6Jly5aiSZMmolWrVmLatGlG04994fdh/fr1olWrViIgIEDExcWJMWPGiPLycv35xngPduzYIQDU+hk+fLgQwnGf+fDhw+KOO+4QgYGBonnz5mLOnDkOab8khMEym0RERESNGGt8iIiIyGcw+BAREZHPYPAhIiIin8HgQ0RERD6DwYeIiIh8BoMPERER+QwGHyIiIvIZDD5ERETkMxh8iKjB7rrrLuTm5rq7GU43Y8YM3Hzzze5uBhE1AIMPEfm8qqoql76fEAI1NTUufU8i0mLwIaIGGTFiBHbu3IlFixZBkiRIkoSioiLk5+ejb9++aNq0KWJjYzFs2DBcuHBB/7y77roLY8eORW5uLpo1a4bY2Fi88847uHz5Mh5/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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, the surrogate is trained and validated, we shall embed it in the property package, which is demonstrated in the [surrogate_embedding_usr.ipynb](./surrogate_embedding_usr.ipynb) file." ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "4/4 [==============================] - 0s 4ms/step\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAm4AAAHHCAYAAAAGU9SoAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABf+ElEQVR4nO3dfVzN5+M/8Nfp/oYKpUKR23IzoqnTsJnmsCw2PsMM0WyMmftiSLYRwzY34/v52MTmfjZyG8vNbspdwtyUjRIjMSpF99fvj369dZwTxTmdczqv5+NxHpzrfZ33uU7v6bx2Xe/rumRCCAEiIiIi0nsmum4AEREREVUOgxsRERGRgWBwIyIiIjIQDG5EREREBoLBjYiIiMhAMLgRERERGQgGNyIiIiIDweBGREREZCAY3IiIiIgMBIMbEdFzkslkmDNnjq6bIQkODkaTJk103Qwi0gIGNyKqkaKioiCTyaSHlZUVWrZsiXHjxuHWrVtafe+4uDjMmTMHmZmZGj3vK6+8ovSZ6tatixdffBHfffcdSkpKNPIe8+bNw/bt2zVyLiLSPDNdN4CISJvmzp0LDw8P5OXl4ffff8fKlSuxZ88enDt3DjY2Nhp5j4cPH8LM7NGv07i4OERERCA4OBgODg4aeY8yjRo1wvz58wEAt2/fxrp16xASEoJLly4hMjLyuc8/b948DBgwAP369XvucxGR5jG4EVGN1rt3b/j4+AAA3nvvPdSrVw9LlizBjh07MHjw4Gc+b0lJCQoKCmBlZQUrKytNNfep7O3t8e6770rPP/jgA7Rq1QrLly/Hp59+CnNz82prCxFVPw6VEpFRefXVVwEAKSkpAIBFixbB398f9erVg7W1NTp16oQff/xR5XUymQzjxo3D+vXr0aZNG1haWmLfvn3SsbJ73ObMmYOpU6cCADw8PKRhzdTUVLz88sto37692na1atUKCoWiyp/HxsYGfn5+yM3Nxe3btyusl5ubi8mTJ8PNzQ2WlpZo1aoVFi1aBCGE0mfMzc3F2rVrpXYHBwdXuU1EpD3scSMio3L58mUAQL169QAAX3/9NYKCgjBkyBAUFBRg06ZN+M9//oNdu3YhMDBQ6bUHDx7Eli1bMG7cODg6OqqdAPDWW2/h0qVL2LhxI7788ks4OjoCAJycnDB06FCMGjUK586dQ9u2baXXnDhxApcuXcLMmTOf6TNduXIFpqamFQ7LCiEQFBSEQ4cOISQkBB06dEBMTAymTp2Kf/75B19++SUA4Pvvv8d7772Hzp074/333wcANGvW7JnaRERaIoiIaqA1a9YIAOKXX34Rt2/fFteuXRObNm0S9erVE9bW1uL69etCCCEePHig9LqCggLRtm1b8eqrryqVAxAmJibi/PnzKu8FQISHh0vPv/jiCwFApKSkKNXLzMwUVlZWIjQ0VKl8/PjxwtbWVuTk5DzxM7388svC09NT3L59W9y+fVtcvHhRjB8/XgAQb7zxhlRv+PDhonHjxtLz7du3CwDis88+UzrfgAEDhEwmE3///bdUZmtrK4YPH/7EdhCR7nColIhqtICAADg5OcHNzQ2DBg1CrVq18PPPP6Nhw4YAAGtra6nuvXv3kJWVha5du+LUqVMq53r55ZfRunXrZ26Lvb09+vbti40bN0pDlMXFxdi8eTP69esHW1vbp54jKSkJTk5OcHJygpeXF5YtW4bAwEB89913Fb5mz549MDU1xfjx45XKJ0+eDCEE9u7d+8yfiYiqF4dKiahGW7FiBVq2bAkzMzM4OzujVatWMDF59P+su3btwmeffYbTp08jPz9fKpfJZCrn8vDweO72DBs2DJs3b8Zvv/2Gbt264ZdffsGtW7cwdOjQSr2+SZMm+N///ictcdKiRQvUr1//ia+5evUqGjRogNq1ayuVe3l5SceJyDAwuBFRjda5c2dpVunjfvvtNwQFBaFbt2745ptv4OrqCnNzc6xZswYbNmxQqV++d+5ZKRQKODs744cffkC3bt3www8/wMXFBQEBAZV6va2tbaXrElHNw6FSIjJa27Ztg5WVFWJiYjBy5Ej07t1bI6FIXW9dGVNTU7zzzjv48ccfce/ePWzfvh2DBw+Gqanpc79vRRo3bowbN27g/v37SuVJSUnS8TJPajsR6R6DGxEZLVNTU8hkMhQXF0tlqampz71zQNm9ahXtnDB06FDcu3cPH3zwAXJycpTWZdOG119/HcXFxVi+fLlS+ZdffgmZTIbevXtLZba2thrf8YGINIdDpURktAIDA7FkyRL06tUL77zzDjIyMrBixQo0b94cZ8+efebzdurUCQDwySefYNCgQTA3N8cbb7whBTpvb2+0bdsWW7duhZeXFzp27KiRz1ORN954A927d8cnn3yC1NRUtG/f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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj4AAAHHCAYAAAC/R1LgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABLyUlEQVR4nO3deVzU1f7H8feALKIsLiBq4Fou2TXSNLgt6s9EK8m2X6tKmWVqZtoCZiJZiWZ202vavaV2y9QsM35qmZXaIvdmapYLmqZpJWqp4Mr6/f3BZXScQQcY+M7yej4e88A53+9854Nzu/P2nPM9x2IYhiEAAAAf4Gd2AQAAADWF4AMAAHwGwQcAAPgMgg8AAPAZBB8AAOAzCD4AAMBnEHwAAIDPIPgAAACfQfABAAA+g+ADwCNZLBaNHz/e7DKskpOT1bx5c7PLAHABBB8ALjN37lxZLBbrIzg4WJdccomGDx+uAwcOVOt7r127VuPHj9fRo0ddet1u3brZ/E7169fXlVdeqdmzZ6ukpMQl7/Hiiy9qyZIlLrkWgPOrZXYBALzPc889pxYtWuj06dP6+uuvNXPmTC1fvlybN29WSEiIS97j1KlTqlXrzP+FrV27Vunp6UpOTlZERIRL3qPMRRddpIkTJ0qSDh06pH/9618aNGiQduzYoYyMjCpf/8UXX9Ttt9+ufv36VflaAM6P4APA5fr06aPOnTtLkh588EE1aNBAU6dO1UcffaS777670tctKSlRQUGBgoODFRwc7KpyLyg8PFz33Xef9fnDDz+sNm3a6O9//7smTJiggICAGqsFQNUw1AWg2vXo0UOStHv3bknSlClTlJCQoAYNGqh27drq1KmT3n//fbvXWSwWDR8+XPPmzdOll16qoKAgffLJJ9ZjZXN8xo8fryeffFKS1KJFC+uw1J49e3TdddepY8eODutq06aNEhMTK/z7hISE6KqrrtKJEyd06NChcs87ceKERo8erZiYGAUFBalNmzaaMmWKDMOw+R1PnDiht956y1p3cnJyhWsC4Bx6fABUu127dkmSGjRoIEl69dVXlZSUpHvvvVcFBQVasGCB7rjjDi1dulQ33nijzWu/+OILvffeexo+fLgaNmzocALxrbfeqh07dmj+/Pl65ZVX1LBhQ0lSZGSk+vfvr8GDB2vz5s3q0KGD9TXr1q3Tjh07NHbs2Er9Tj///LP8/f3LHVYzDENJSUlatWqVBg0apMsvv1wrVqzQk08+qd9++02vvPKKJOntt9/Wgw8+qC5duuihhx6SJLVq1apSNQFwggEALjJnzhxDkvHZZ58Zhw4dMvbt22csWLDAaNCggVG7dm3j119/NQzDME6ePGnzuoKCAqNDhw5Gjx49bNolGX5+fsaWLVvs3kuSkZaWZn3+0ksvGZKM3bt325x39OhRIzg42Hj66adt2keMGGHUqVPHOH78+Hl/p+uuu85o27atcejQIePQoUPGtm3bjBEjRhiSjL59+1rPGzhwoNGsWTPr8yVLlhiSjOeff97merfffrthsViMnTt3Wtvq1KljDBw48Lx1AHANhroAuFzPnj0VGRmpmJgY3XXXXapbt64+/PBDNW3aVJJUu3Zt67lHjhxRbm6urrnmGm3YsMHuWtddd53at29f6VrCw8N18803a/78+dYhpuLiYi1cuFD9+vVTnTp1LniN7OxsRUZGKjIyUu3atdP06dN14403avbs2eW+Zvny5fL399eIESNs2kePHi3DMPTxxx9X+ncCUHkMdQFwuRkzZuiSSy5RrVq11KhRI7Vp00Z+fmf+nbV06VI9//zz+v7775Wfn29tt1gsdtdq0aJFlesZMGCAFi5cqK+++krXXnutPvvsMx04cED9+/d36vXNmzfXP//5T+st+hdffLGioqLO+5pffvlFTZo0UWhoqE17u3btrMcB1DyCDwCX69Kli/WurnN99dVXSkpK0rXXXqvXXntNjRs3VkBAgObMmaN3333X7vyze4cqKzExUY0aNdI777yja6+9Vu+8846io6PVs2dPp15fp04dp88F4N4Y6gJQoz744AMFBwdrxYoVeuCBB9SnTx+XhApHvUVl/P39dc899+j999/XkSNHtGTJEt19993y9/ev8vuWp1mzZvr999917Ngxm/bs7Gzr8TLnqx2AaxF8ANQof39/WSwWFRcXW9v27NlT5ZWLy+bqlLdyc//+/XXkyBE9/PDDOn78uM26PNXhhhtuUHFxsf7+97/btL/yyiuyWCzq06ePta1OnTouX3EagGMMdQGoUTfeeKOmTp2q3r1765577tHBgwc1Y8YMtW7dWj/88EOlr9upUydJ0jPPPKO77rpLAQEB6tu3rzUQxcXFqUOHDlq0aJHatWunK664wiW/T3n69u2r7t2765lnntGePXvUsWNHffrpp/roo480cuRIm1vWO3XqpM8++0xTp05VkyZN1KJFC3Xt2rVa6wN8FT0+AGpUjx499OabbyonJ0cjR47U/PnzNWnSJN1yyy1Vuu6VV16pCRMmaNOmTUpOTtbdd99tt7jggAEDJMnpSc1V4efnp8zMTI0cOVJLly7VyJEjtXXrVr300kuaOnWqzblTp05Vp06dNHbsWN19992aOXNmtdcH+CqLYZy1hCgAeLFXX31Vjz/+uPbs2aPY2FizywFgAoIPAJ9gGIY6duyoBg0aaNWqVWaXA8AkzPEB4NVOnDihzMxMrVq1Sj/++KM++ugjs0sCYCJ6fAB4tT179qhFixaKiIjQ0KFD9cILL5hdEgATEXwAAIDP4K4uAADgMwg+AADAZzC5+RwlJSX6/fffFRoayjLyAAB4CMMwdOzYMTVp0sRmU+RzEXzO8fvvvysmJsbsMgAAQCXs27dPF110UbnHCT7nCA0NlVT6FxcWFmZyNQAAwBl5eXmKiYmxfo+Xh+BzjrLhrbCwMIIPAAAe5kLTVJjcDAAAfAbBBwAA+AyCDwAA8BnM8amE4uJiFRYWml0GakBAQID8/f3NLgMA4CIeE3wmTpyoxYsXKzs7W7Vr11ZCQoImTZqkNm3aWM85ffq0Ro8erQULFig/P1+JiYl67bXX1KhRI5fUYBiGcnJydPToUZdcD54hIiJC0dHRrOsEAF7AY4LPmjVrNGzYMF155ZUqKirSmDFj1KtXL23dulV16tSRJD3++ONatmyZFi1apPDwcA0fPly33nqrvvnmG5fUUBZ6oqKiFBISwhehlzMMQydPntTBgwclSY0bNza5IgBAVXnsJqWHDh1SVFSU1qxZo2uvvVa5ubmKjIzUu+++q9tvv12SlJ2drXbt2ikrK0tXXXWVU9fNy8tTeHi4cnNzbW5nLy4u1o4dOxQVFaUGDRpUy+8E9/Tnn3/q4MGDuuSSSxj2AgA3Vd7397k8dnJzbm6uJKl+/fqSpPXr16uwsFA9e/a0ntO2bVvFxsYqKyuryu9XNqcnJCSkyteCZyn7zJnXBQCez2OGus5WUlKikSNH6q9//as6dOggqXQYKjAwUBERETbnNmrUSDk5OeVeKz8/X/n5+dbneXl5531vhrd8D585AHgPj+zxGTZsmDZv3qwFCxZU+VoTJ05UeHi49cE+XQAAeC+PCz7Dhw/X0qVLtWrVKptNyKKjo1VQUGB3x9WBAwcUHR1d7vVSU1OVm5trfezbt6+6SgcAACbzmOBjGIaGDx+uDz/8UF988YVatGhhc7xTp04KCAjQ559/bm3bvn279u7dq/j4+HKvGxQUZN2Xy1v350pOTpbFYpHFYlFAQIAaNWqk66+/XrNnz1ZJSYnT15k7d67dUCIAAJ7EY+b4DBs2TO+++64++ugjhYaGWufthIeHq3bt2goPD9egQYM0atQo1a9fX2FhYXr00UcVHx/v9B1d3qx3796aM2eOiouLdeDAAX3yySd67LHH9P777yszM1O1annM/xQAAB7q+PHjslgs1mVozOAxPT4zZ85Ubm6uunXrpsaNG1sfCxcutJ7zyiuv6KabbtJtt92ma6+9VtHR0Vq8eLGJVbuPoKAgRUdHq2nTprriiis0ZswYffTRR/r44481d+5cSdLUqVN12WWXqU6dOoqJidHQoUN1/PhxSdLq1at1//33Kzc319p7NH78eEnS22+/rc6dOys0NFTR0dG65557rGvfAABgGIZmzJihl19+WbNmzZKZK+l4zD/znflLCg4O1owZMzRjxowaqKi0JrNucQ4ICKjy3UY9evRQx44dtXjxYj344IPy8/PTtGnT1KJFC/38888aOnSonnrqKb322mtKSEjQ3/72N40bN07bt2+XJNWtW1dS6W3eEyZMUJs2bXTw4EGNGjVKycnJWr58eZV/TwCAZzt69KheffVV6/MTJ06YeresxwQfd1RYWKiJEyea8t6pqakKDAys8nXatm2rH374QZI0cuRIa3vz5s31/PPPa8iQIXrttdcUGBio8PBwWSwWu8niDzzwgPXPLVu21LRp03TllVfq+PHj1nAEAPA969ats/lHcHh4uB577DETKyL4+DzDMKzJ+7PPPtPEiROVnZ2tvLw8FRUV6fTp0zp58uR5F25cv369xo8fr02bNunIkSPWCdN79+5V+/bta+T3AAC4D8MwNG3aNJs7rW+44QZdeeWV5hX1XwSfKggICFBqaqpp7+0K27ZtU4sWLbRnzx7ddNNNeuSRR/TCCy+ofv36+vrrrzVo0CAVFBSUG3xOnDihxMREJSYmat68eYqMjNTevXuVmJiogoICl9QIAPAchw8f1vTp023aHnvsMbe5K5jgUwUWi8Ulw01m+eKLL/Tjjz/q8ccf1/r161VSUqKXX35Zfn6lc97fe+89m/MDAwNVXFxs05adna0///xTGRkZ1sUfv/vuu5r5BQAAbiUrK0uffvqp9XnDhg01dOhQ68hCZqaUkSGlpEhJSebUSPDxEfn5+crJybG5nX3ixIm66aabNGDAAG3evFmFhYWaPn26+vbtq2+++UazZs2yuUbz5s11/Phxff755+rYsaNCQkIUGxurwMBATZ8+XUOGDNHmzZs1YcIEk35LAIAZSkpKNHXqVJ04ccLa1rdvX11xxRU252VkSFlZpT/NCj4eczs7quaTTz5R48aN1bx5c/Xu3VurVq3StGnT9NFHH8nf318dO3bU1KlTNWnSJHXo0EHz5s2zm7idkJCgIUOG6M4771RkZKQmT56syMhIzZ07V4sWLVL79u2VkZGhKVOmmPRbAgBq2h9//KEJEybYhJ7HH3/cLvRIpT098fGlP81iMcy8md4Nlbet/enTp7V79261aNFCwcHBJlaImsZnDwCOffXVV/riiy+szxs3bqzBgwebcrt6ed/f52KoCwAAVEhJSYkyMjJs1rK75ZZb9Je//MXEqpxD8AEAAE47ePCgZs6cadM2evRoj1m3jeADAACcsnTpUq1fv976PDY21roRtqcg+AAAgPMqLCzUiy++aNN2++2369JLLzWposoj+AAAgHJt3LhRmZmZNm0dOjyhSy81b4f1qiD4AAAAh9LT0+3axo9PU3y8dNttJhTkAgQfAABgIz8/XxkZGTZtl19+uSyWm01fh6eqCD4AAMDq22+/1ccff2zT9uijj6p+/fqSzFtx2VUIPgAAQJLjoa20tDQTKqk+bFkBl0lOTla/fv2sz7t166aRI0dW6ZquuAYA4PxOnTplF3q6dOnidaFHosfHJyQnJ+utt96SJAUEBCg2NlYDBgzQmDFjVKtW9f1PYPHixQoICHDq3NWrV6t79+46cuSIIiIiKnUNAEDFLV68WD/++KNN28iRIxUeHm5SRdWL4OMjevfurTlz5ig/P1/Lly/XsGHDFBAQoNTUVJvzCgoKFBgY6JL3LBsPNvsaAADHfGFo61wMdfmIoKAgRUdHq1mzZnrkkUfUs2dPZWZmWoenXnjhBTVp0kRt2rSRJO3bt0//+7//q4iICNWvX18333yz9uzZY71ecXGxRo0apYiICDVo0EBPPfWUzt3v9txhqvz8fD399NOKiYlRUFCQWrdurTfffFN79uxR9+7dJUn16tWTxWJRcnKyw2scOXJEAwYMUL169RQSEqI+ffrop59+sh6fO3euIiIitGLFCrVr105169ZV7969tX//fus5q1evVpcuXVSnTh1FRETor3/9q3755RcX/U0DgPv79ddf7UJPp06dvD70SAQfn1W7dm0VFBRIkj7//HNt375dK1eu1NKlS1VYWKjExESFhobqq6++0jfffGMNEGWvefnllzV37lzNnj1bX3/9tQ4fPqwPP/zwvO85YMAAzZ8/X9OmTdO2bdv0+uuvq27duoqJidEHH3wgSdq+fbv279+vV1991eE1kpOT9d133ykzM1NZWVkyDEM33HCDzUZ5J0+e1JQpU/T222/ryy+/1N69e/XEE09IkoqKitSvXz9dd911+uGHH5SVlaWHHnrIo5ZbB4CqSE9P15tvvmnTNnv2w8rKusmkimoWQ10+xjAMff7551qxYoUeffRRHTp0SHXq1NEbb7xhHeJ65513VFJSojfeeMMaCObMmaOIiAitXr1avXr10t/+9jelpqbq1ltvlSTNmjVLK1asKPd9d+zYoffee08rV65Uz549JUktW7a0Hi8b0oqKirKZ43O2n376SZmZmfrmm2+UkJAgSZo3b55iYmK0ZMkS3XHHHZJKl1afNWuWWrVqJUkaPny4nnvuOUlSXl6ecnNzddNNN1mPt2vXruJ/kQDggRwNbU2Zkqbjx6Vp06QXXjChqBpGj49JMjOlhITSnzVh6dKlqlu3roKDg9WnTx/deeedGj9+vCTpsssus5nXs2nTJu3cuVOhoaGqW7eu6tatq/r16+v06dPatWuXcnNztX//fnXt2tX6mlq1aqlz587lvv/3338vf39/XXfddZX+HbZt26ZatWrZvG+DBg3Upk0bbdu2zdoWEhJiDTWS1LhxYx08eFBSacBKTk5WYmKi+vbtq1dffdVmGAwAvNHPP/9c7nyeESOkunWlESNMKMwE9PiYJCNDysoq/VkTi0F1795dM2fOVGBgoJo0aWJzN1edOrb7rRw/flydOnXSvHnz7K4TGRlZqfevXbt2pV5XGefeBWaxWGzmH82ZM0cjRozQJ598ooULF2rs2LFauXKlrrrqqhqrEQBqiqPA8/DDDys6OlpSaS+PL/T0lKHHxyQp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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "4/4 [==============================] - 0s 5ms/step\n" - ] - }, - { - "data": { - "image/png": "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iIgIuLq6Ijc3F7179662/95Wotq4uLigsrLSEtVrkPDwcLi4uODIkSNo0aIFgLvLb6Snp2PWrFlWrQsDIiIiokao6hp9dccZVAqCxbtGmzZtipdffhmzZ8+GXq9Hr169oNVqceTIEXh5eYmBRV1atmwpTnXzwAMPoGnTpnB1dbVIfevi4eGB6dOnY+7cueKUOytXrkRJSQmmTJli1bowICIiImoka3eNvvHGG/D390dSUhL+97//wdvbGw899BBeffVVo7qjhg8fjh07dqBv374oKirCxo0bMXHiRIvWuTbJycniYu43b95EVFQUvv/+e6tPnqwSGjLuXcF0Oh3UajW0Wi2X8SAisgO3b99GTk4OwsLC0KRJE6mrQ41Q19/S2O9vjjIjIiIixWNARERERPV6/vnnDYb53/t4/vnnpa5eozGHiIiIiOq1dOlSvPzyyzXus4dUEgZEREREVK+AgAAEBARIXQ2LYZcZERERKR4DIiIiUjQ5zppMDWOOvyG7zIiISJFcXFzg4OCAq1evwt/fHy4uLuISF2QbBEFAeXk5rl27BgcHB7i4uJj8WgyIiIhIkRwcHBAWFoa8vDxcvXpV6upQI7i7uyM0NBQODqZ3fDEgIiIixXJxcUFoaCju3Lkji7W9qOEcHR3h5OTU6NY9BkRERKRoVSuy378qOykLk6qJiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBRP0oDo0KFDePzxxxEcHAyVSoUvv/xS3FdRUYF58+YhMjISHh4eCA4Oxvjx43H16lWD17hx4wbGjh0LLy8veHt7Y8qUKSguLjYoc+rUKTz66KNo0qQJQkJCsHLlSmt8PCIim5GnLcXR7OvI05ZKXRUiSUgaEN26dQtdunTB+++/X21fSUkJTpw4gYULF+LEiRPYsWMHsrKy8MQTTxiUGzt2LM6ePYu9e/di9+7dOHToEKZNmybu1+l06N+/P1q0aIGMjAy89dZbWLx4MT766COLfz4iIluwPT0XMckpGLMhDTHJKdienit1lYisTiUI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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABELElEQVR4nO3deXRU9f3/8dckkBCWDFs2IRB2RCAgi4QoBEED9adGtEX4VnYsCApSF7AugNag1harFixWqAtKsaBWcaFsHgQpi1GhypEUSJSExZYJhBAgub8/aKaErDOZmXvnzvNxzpwDd+7MvOfmztz3vD+bwzAMQwAAADYRZnYAAAAAvkRyAwAAbIXkBgAA2ArJDQAAsBWSGwAAYCskNwAAwFZIbgAAgK2Q3AAAAFshuQEAALZCcgPAFPPmzZPD4ajVvg6HQ/PmzfNrPGlpaUpLS7Ps8wGoPZIbIMQtX75cDofDfatXr55atWql8ePH64cffjA7PMtJSkoqd7xiY2N1zTXXaM2aNT55/tOnT2vevHnatGmTT54PCEUkNwAkSQsWLNBrr72mJUuWaMSIEXr99dc1ePBgnTlzxi+v9/DDD6uoqMgvz+1vvXr10muvvabXXntN9913nw4fPqyRI0dqyZIldX7u06dPa/78+SQ3QB3UMzsAANYwYsQI9e3bV5I0efJktWzZUk899ZTee+89/exnP/P569WrV0/16gXnV1CrVq3085//3P3/sWPHqmPHjvrd736nqVOnmhgZAInKDYAqXHPNNZKk7Ozsctu//fZb3XbbbWrevLkaNGigvn376r333iu3z7lz5zR//nx16tRJDRo0UIsWLXT11Vdr3bp17n0q63NTXFyse++9VzExMWrSpIluuukmff/99xViGz9+vJKSkipsr+w5ly1bpmuvvVaxsbGKjIxUt27dtHjxYo+ORU3i4+N1+eWX68CBA9Xud/ToUU2aNElxcXFq0KCBkpOT9ec//9l9/8GDBxUTEyNJmj9/vrvpy9/9jQC7Cc6fTQD87uDBg5KkZs2aubft3btXqampatWqlebMmaNGjRrpL3/5izIyMvTXv/5Vt9xyi6QLSUZmZqYmT56s/v37q6CgQDt37tTu3bt13XXXVfmakydP1uuvv64xY8Zo4MCB2rBhg2644YY6vY/Fixfriiuu0E033aR69erpb3/7m+666y6VlpZq+vTpdXruMufOnVNubq5atGhR5T5FRUVKS0vT/v37NWPGDLVr106rVq3S+PHjdeLECc2cOVMxMTFavHixpk2bpltuuUUjR46UJPXs2dMncQIhwwAQ0pYtW2ZIMv7+978bx44dM3Jzc423337biImJMSIjI43c3Fz3vkOHDjV69OhhnDlzxr2ttLTUGDhwoNGpUyf3tuTkZOOGG26o9nUfe+wx4+KvoKysLEOScdddd5Xbb8yYMYYk47HHHnNvGzdunNG2bdsan9MwDOP06dMV9ktPTzfat29fbtvgwYONwYMHVxuzYRhG27Ztjeuvv944duyYcezYMePLL780br/9dkOScffdd1f5fIsWLTIkGa+//rp729mzZ42UlBSjcePGRkFBgWEYhnHs2LEK7xeAZ2iWAiBJGjZsmGJiYpSYmKjbbrtNjRo10nvvvafWrVtLkv79739rw4YN+tnPfqaTJ0/q+PHjOn78uH788Uelp6fru+++c4+uatq0qfbu3avvvvuu1q+/du1aSdI999xTbvusWbPq9L6ioqLc/3a5XDp+/LgGDx6sf/3rX3K5XF495yeffKKYmBjFxMQoOTlZq1at0h133KGnnnqqysesXbtW8fHxGj16tHtb/fr1dc899+jUqVPavHmzV7EAqIhmKQCSpBdffFGdO3eWy+XSK6+8ok8//VSRkZHu+/fv3y/DMPTII4/okUceqfQ5jh49qlatWmnBggW6+eab1blzZ3Xv3l3Dhw/XHXfcUW3zyqFDhxQWFqYOHTqU296lS5c6va/PPvtMjz32mLZt26bTp0+Xu8/lcsnpdHr8nFdddZWeeOIJORwONWzYUJdffrmaNm1a7WMOHTqkTp06KSys/G/Kyy+/3H0/AN8guQEgSerfv797tFRGRoauvvpqjRkzRvv27VPjxo1VWloqSbrvvvuUnp5e6XN07NhRkjRo0CBlZ2fr3Xff1SeffKKXX35Zv/vd77RkyRJNnjy5zrFWNflfSUlJuf9nZ2dr6NCh6tq1q377298qMTFRERERWrt2rX73u9+535OnWrZsqWHDhnn1WAD+R3IDoILw8HBlZmZqyJAheuGFFzRnzhy1b99e0oWmlNpc2Js3b64JEyZowoQJOnXqlAYNGqR58+ZVmdy0bdtWpaWlys7OLlet2bdvX4V9mzVrphMnTlTYfmn1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WhrVr40GdY7RweOnldSyIYmNzVXXFOmPv/2pU6ckSR988IFatWpV7r7IyEh3gnNxR+CySe9KS0trfP5GjRp5HNOlr3VpJ2SHw1Gr1w40khsA8ECCM4qkJkQEuimyW7duioyMVE5OjrvZ6WIXV2+qEhERUeelC7zVoUMHRURE6LPPPlPbtm0lXRiVtWPHDs2aNSugsZDcAABQibKmyIdW71GJYfi9KbJJkya67777dO+996q0tFRXX321XC6XPvvsM0VHR7sThuokJSXpwIEDysrKUuvWrdWkSRNFRkb6Jd5LNWrUSNOmTdP999+v5s2bq02bNnr66ad1+vRpTZo0KSAxlCG5AQCgCoFuinz88ccVExOjzMxM/etf/1LTpk115ZVX6qGHHqpV88+tt96q1atXa8iQITpx4oSWLVum8ePH+zXmiy1cuFClpaW64447dPLkSfXt21cff/yxmjVrFrAYJMlhGIZR8272UVBQIKfTKZfLpejoaLPDAQD42JkzZ3TgwAG1a9dODRo0MDsceKC6v50n129GSwEAAFshuQEAIMRMnTq13HDzi29Tp041O7w6o88NAAAhZsGCBbrvvvsqvc8OXTZIbgAACDGxsbGKjY01Owy/oVkKAADYCskNAMCWrDhzLqrnqwHcNEsBAGwlIiJCYWFhOnz4sGJiYhQREeFepgDWZRiGjh07VukyD54iuQEA2EpYWJjatWunvLw8HT582Oxw4AGHw6HWrVsrPDy8Ts9DcgMAsJ2IiAi1adNG58+fN22tJXiufv36dU5sJJIbAIBNlTVv1LWJA8GHDsUAAMBWSG4AAICtkNwAAABbIbkBAAC2QnIDAABsheQGAADYCskNAACwFZIbAABgKyQ3AADAVkxNbhYvXqyePXsqOjpa0dHRSklJ0YcffljtY1atWqWuXbuqQYMG6tGjh9auXRugaAEAQDAwNblp3bq1Fi5cqF27dmnnzp269tprdfPNN2vv3r2V7r9161aNHj1akyZN0hdffKGMjAxlZGRoz549AY4cAABYlcMwDMPsIC7WvHlzPfPMM5o0aVKF+0aNGqXCwkK9//777m0DBgxQr169tGTJklo9f0FBgZxOp1wul6Kjo30WNwAA8B9Prt+W6XNTUlKit956S4WFhUpJSal0n23btmnYsGHltqWnp2vbtm1VPm9xcbEKCgrK3QAA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bd++vdz/P//8c3Xq1Enh4eGV7n/llVfqn//8pzp27FjhFhERIUmqV6+ehg0bpqefflpfffWVDh48qA0bNkiSHA6HUlNTNX/+fH3xxReKiIhwNzHFxMQoLy/P/VolJSXas2dPje+hNjEBsAaSGwB+l5OTo9mzZ2vfvn1688039fzzz2vmzJlV7v/ggw9q69atmjFjhrKysvTdd9/p3XffdXfeff/99/X73/9eWVlZOnTokF599VWVlpaqS5cu2r59u5588knt3LlTOTk5Wr16tY4dO6bLL79cknTttdfqgw8+0AcffKBvv/1W06ZN04kTJ2p8DzXFBMA66pkdAAD7Gzt2rIqKitS/f3+Fh4dr5syZ7uHVlenZs6c2b96sX/3qV7rmmmtkGIY6dOigUaNGSZKaNm2q1atXa968eTpz5ow6deqkN998U1dccYW++eYbffrpp1q0aJEKCgrUtm1bPfvssxoxYoQkaeLEifryyy81duxY1atXT/fee6+GDBlS43uoKSYA1sFoKQB+VdnoJADwJ5qlAACArZDcAAAAW6FZCgAA2AqVGwAAYCskNwAAwFZIbgAAgK2Q3AAAAFshuQEAALZCcgMAAGyF5AYAANgKyQ0AALAVkhsAAGAr/x+FoOgGs8heLQAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.6" } - ], - "source": [ - "# visualize with IDAES surrogate plotting tools\n", - "surrogate_scatter2D(keras_surrogate, data_validation)\n", - "surrogate_parity(keras_surrogate, data_validation)\n", - "surrogate_residual(keras_surrogate, data_validation)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, the surrogate is trained and validated, we shall embed it in the property package, which is demonstrated in the [surrogate_embedding_usr.ipynb](./surrogate_embedding_usr.ipynb) file." - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.6" }, - "orig_nbformat": 4 - }, - "nbformat": 4, - "nbformat_minor": 3 + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/properties.py b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/properties.py index d5a60c09..c9fbaaf6 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/properties.py +++ b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/properties.py @@ -1,15 +1,16 @@ -############################################################################## -# Institute for the Design of Advanced Energy Systems Process Systems -# Engineering Framework (IDAES PSE Framework) Copyright (c) 2018-2019, by the -# software owners: The Regents of the University of California, through -# Lawrence Berkeley National Laboratory, National Technology & Engineering -# Solutions of Sandia, LLC, Carnegie Mellon University, West Virginia -# University Research Corporation, et al. All rights reserved. +################################################################################# +# The Institute for the Design of Advanced Energy Systems Integrated Platform +# Framework (IDAES IP) was produced under the DOE Institute for the +# Design of Advanced Energy Systems (IDAES). # -# Please see the files COPYRIGHT.txt and LICENSE.txt for full copyright and -# license information, respectively. Both files are also available online -# at the URL "https://github.com/IDAES/idaes-pse". -############################################################################## +# Copyright (c) 2018-2025 by the software owners: The Regents of the +# University of California, through Lawrence Berkeley National Laboratory, +# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon +# University, West Virginia University Research Corporation, et al. +# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md +# for full copyright and license information. +# +################################################################################# """ Maintainer: Javal Vyas diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/sco2_keras_surr/sco2_keras_model.keras b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/sco2_keras_surr/sco2_keras_model.keras index c090ddac2733dd84440d981aae69125506cd20fa..1b32359ed2a1cabf24a3ae9d2e69847debecf5ec 100644 GIT binary patch literal 51812 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 delta 18939 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 D#uPdP diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/surrogate_embedding.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/surrogate_embedding.ipynb index 10a46ccf..361e4648 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/surrogate_embedding.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/surrogate_embedding.ipynb @@ -1,5 +1,32 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "84bfa04a", + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "code", "execution_count": null, @@ -501,8 +528,7 @@ "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.16" - }, - "orig_nbformat": 4 + } }, "nbformat": 4, "nbformat_minor": 2 diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/surrogate_embedding_doc.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/surrogate_embedding_doc.ipynb index 1a39ef6f..f70c3cf8 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/surrogate_embedding_doc.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/surrogate_embedding_doc.ipynb @@ -1,5 +1,31 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "code", "execution_count": null, @@ -501,8 +527,7 @@ "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.16" - }, - "orig_nbformat": 4 + } }, "nbformat": 4, "nbformat_minor": 3 diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/surrogate_embedding_test.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/surrogate_embedding_test.ipynb index 5f09fc29..ba8aab39 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/surrogate_embedding_test.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/surrogate_embedding_test.ipynb @@ -1,509 +1,534 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "##############################################################################\n", - "# Institute for the Design of Advanced Energy Systems Process Systems\n", - "# Engineering Framework (IDAES PSE Framework) Copyright (c) 2018-2019, by the\n", - "# software owners: The Regents of the University of California, through\n", - "# Lawrence Berkeley National Laboratory, National Technology & Engineering\n", - "# Solutions of Sandia, LLC, Carnegie Mellon University, West Virginia\n", - "# University Research Corporation, et al. All rights reserved.\n", - "#\n", - "# Please see the files COPYRIGHT.txt and LICENSE.txt for full copyright and\n", - "# license information, respectively. Both files are also available online\n", - "# at the URL \"https://github.com/IDAES/idaes-pse\".\n", - "##############################################################################" - ] + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "##############################################################################\n", + "# Institute for the Design of Advanced Energy Systems Process Systems\n", + "# Engineering Framework (IDAES PSE Framework) Copyright (c) 2018-2019, by the\n", + "# software owners: The Regents of the University of California, through\n", + "# Lawrence Berkeley National Laboratory, National Technology & Engineering\n", + "# Solutions of Sandia, LLC, Carnegie Mellon University, West Virginia\n", + "# University Research Corporation, et al. All rights reserved.\n", + "#\n", + "# Please see the files COPYRIGHT.txt and LICENSE.txt for full copyright and\n", + "# license information, respectively. Both files are also available online\n", + "# at the URL \"https://github.com/IDAES/idaes-pse\".\n", + "##############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Supercritical CO2 Property Surrogate with OMLT Surrogate Object - Embedding Surrogate (Part 2)\n", + "\n", + "Maintainer: Javal Vyas\n", + "\n", + "Author: Javal Vyas\n", + "\n", + "Updated: 2024-01-24\n", + "\n", + "## 1. Integration of Surrogate into Custom Property Package\n", + "\n", + "Here we shall see how to integrate the trained surrogate in the custom property package. One can read more about making a properties package from read the docs. To integrate the surrogate we first define the physical parameter block which will return the properties based on the state variables. State variables would be called from the State Block as Pyomo variables. We will define the surrogate input and output as pyomo variables as well. Once we have defined the variables in the state block then we define our surrogate block.\n", + "\n", + "*NOTE:* For ease of explanation the property package is written in \".ipynb\" format, ideally it should be in a python script. Each class of this package is separated in different cell for the same reason, in practice all the classes in this notebook should be part of the same python script. This folder includes \"properties.py\" file which is how embedding file should look like. \n", + "\n", + "### 1.1 Steps in Creating a Property Package\n", + "Creating a new property package can be broken down into the following steps, which will be demonstrated in the next part of this tutorial.\n", + "\n", + "1. Defining the **units of measurement** for the property package.\n", + "2. Defining the **properties supported** by the property package and the associated metadata.\n", + "3. Defining the **phases and components** of interest.\n", + "4. Defining the necessary **parameters** required to calculate the properties of interest.\n", + "5. Declaring the **state variables** to be used for the property package.\n", + "6. Creating **variables and constraints** to describe the properties of interest.\n", + "7. Creating an **initialization routine** for the property package.\n", + "8. Defining **interface methods** used to couple the property package with unit models." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2. Importing libraries for making Property Package\n", + "\n", + "To begin with, we are going to need a number of components from the Pyomo modeling environment to construct the variables, constraints and parameters that will make up the property package, and we will also make use of the Pyomo units of measurement tools to define the units of our properties. We will also make use of a number of components and supporting methods from the IDAES modeling framework and libraries. We shall also use the Surrogate API in the IDAES framework to embed the trained surrogate in the property package." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Import Python libraries\n", + "import logging\n", + "\n", + "# Import Pyomo libraries\n", + "from pyomo.environ import (\n", + " Constraint,\n", + " Param,\n", + " Reals,\n", + " Set,\n", + " value,\n", + " Var,\n", + " NonNegativeReals,\n", + " units,\n", + ")\n", + "from pyomo.opt import SolverFactory, TerminationCondition\n", + "\n", + "# Import IDAES cores\n", + "from idaes.core import (\n", + " declare_process_block_class,\n", + " PhysicalParameterBlock,\n", + " StateBlockData,\n", + " StateBlock,\n", + " MaterialBalanceType,\n", + " EnergyBalanceType,\n", + " LiquidPhase,\n", + " Component,\n", + ")\n", + "from idaes.core.util.initialization import solve_indexed_blocks\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.core.util.misc import extract_data\n", + "from idaes.core.solvers import get_solver\n", + "from pyomo.util.check_units import assert_units_consistent\n", + "from idaes.core.surrogate.surrogate_block import SurrogateBlock\n", + "from idaes.core.surrogate.keras_surrogate import KerasSurrogate\n", + "\n", + "from pyomo.util.model_size import build_model_size_report\n", + "\n", + "# Some more information about this module\n", + "__author__ = \"Javal Vyas\"\n", + "\n", + "\n", + "# Set up logger\n", + "_log = logging.getLogger(__name__)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 3 Defining Classes\n", + "\n", + "We shall be going through each class of the property package in detail. Since there are not reactions occurring in the flowsheet we shall only write the Physical Parameter Block.\n", + "\n", + "## 3.1 Physical Parameter Block\n", + "\n", + "The Physical Parameter Block serves as the central point of reference for all aspects of the property package, and needs to define a number of things about the package. These are summarized below:\n", + "\n", + "* Units of measurement\n", + "* What properties are supported and how they are implemented\n", + "* What components and phases are included in the packages\n", + "* All the global parameters necessary for calculating properties\n", + "* A reference to the associated State Block class, so that construction of the State Block components can be automated from the Physical Parameter Block\n", + "\n", + "To assemble the above mentioned things in a class we need to follow the following steps:\n", + "\n", + "* Declaring the new class and inheriting from the PhysicalParameterBlock base class\n", + "* Declaring any necessary configuration arguments\n", + "* Writing the build method for our class\n", + "* Creating a define_metadata method for the class.\n", + "\n", + "The code below follows the above mentioned steps. \n", + "\n", + "*NOTE*: The SCO2StateBlock will be discussed in the next section." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "@declare_process_block_class(\"SCO2ParameterBlock\")\n", + "class PhysicalParameterData(PhysicalParameterBlock):\n", + " \"\"\"\n", + " Property Parameter Block Class\n", + "\n", + " Contains parameters and indexing sets associated with properties for\n", + " supercritical CO2.\n", + "\n", + " \"\"\"\n", + "\n", + " def build(self):\n", + " \"\"\"\n", + " Callable method for Block construction.\n", + " \"\"\"\n", + " super(PhysicalParameterData, self).build()\n", + "\n", + " self._state_block_class = SCO2StateBlock\n", + "\n", + " # List of valid phases in property package\n", + " self.Liq = LiquidPhase()\n", + "\n", + " # Component list - a list of component identifiers\n", + " self.CO2 = Component()\n", + "\n", + " @classmethod\n", + " def define_metadata(cls, obj):\n", + " obj.add_properties(\n", + " {\n", + " \"flow_mol\": {\"method\": None, \"units\": \"kmol/s\"},\n", + " \"pressure\": {\"method\": None, \"units\": \"MPa\"},\n", + " \"temperature\": {\"method\": None, \"units\": \"K\"},\n", + " \"enth_mol\": {\"method\": None, \"units\": \"kJ/kmol\"},\n", + " \"entr_mol\": {\"method\": None, \"units\": \"kJ/kmol/K\"},\n", + " }\n", + " )\n", + "\n", + " obj.add_default_units(\n", + " {\n", + " \"time\": units.s,\n", + " \"length\": units.m,\n", + " \"mass\": units.kg,\n", + " \"amount\": units.mol,\n", + " \"temperature\": units.K,\n", + " }\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.2 State Block\n", + "\n", + "After the Physical Parameter Block class has been created, the next step is to write the code necessary to create the State Blocks that will be used through out the flowsheet.\n", + "\n", + "For this example, we will begin by describing the content of the StateBlockData objects, as this is where we create the variables and constraints that describe how to calculate the thermophysical properties of the material. \n", + "\n", + "We start by defining the 5 state variables: flow_mol, pressure, temperature, enth_mol and entr_mol as the Pyomo Var, each of this variable has a unit for unit consistency. This is done in _make_state_vars function. We get the enth_mol and entr_mol variables from trained surrogate which we define in this function as well. To get the output variables from the surrogate:\n", + "\n", + "1. Define the input and output variables to the trained surrogate\n", + "2. Load the surrogate from the folder it is saved in, here it is saved in the folder called keras_surrogate (look at the keras_training_test.ipynb file) using the keras Surrogate API of IDAES package\n", + "3. Define a `SurrogateBlock` and call the build_model method on the block with the input variables, output variables, model formulation and the loaded surrogate as the arguments. \n", + "4. Define the constraints necessary for ensuring physical feasibility of the system like the mass balance and energy balance. Check for the state variables to be within the bounds. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "@declare_process_block_class(\"SCO2StateBlock\", block_class=StateBlock)\n", + "class SCO2StateBlockData(StateBlockData):\n", + " \"\"\"\n", + " An example property package for ideal gas properties with Gibbs energy\n", + " \"\"\"\n", + "\n", + " def build(self):\n", + " \"\"\"\n", + " Callable method for Block construction\n", + " \"\"\"\n", + " super(SCO2StateBlockData, self).build()\n", + " self._make_state_vars()\n", + "\n", + " def _make_state_vars(self):\n", + " self.flow_mol = Var(\n", + " domain=NonNegativeReals,\n", + " initialize=1.0,\n", + " units=units.kmol / units.s,\n", + " doc=\"Total molar flowrate [kmol/s]\",\n", + " )\n", + " self.pressure = Var(\n", + " domain=NonNegativeReals,\n", + " initialize=8,\n", + " bounds=(7.38, 40),\n", + " units=units.MPa,\n", + " doc=\"State pressure [MPa]\",\n", + " )\n", + " self.temperature = Var(\n", + " domain=NonNegativeReals,\n", + " initialize=350,\n", + " bounds=(304.2, 760 + 273.15),\n", + " units=units.K,\n", + " doc=\"State temperature [K]\",\n", + " )\n", + " self.entr_mol = Var(\n", + " domain=Reals,\n", + " initialize=10,\n", + " units=units.kJ / units.kmol / units.K,\n", + " doc=\"Entropy [kJ/kmol/K]\",\n", + " )\n", + " self.enth_mol = Var(\n", + " domain=Reals,\n", + " initialize=1,\n", + " units=units.kJ / units.kmol,\n", + " doc=\"Enthalpy [kJ/ kmol]\",\n", + " )\n", + "\n", + " inputs = [self.pressure, self.temperature]\n", + " outputs = [self.enth_mol, self.entr_mol]\n", + " self.keras_surrogate = KerasSurrogate.load_from_folder(\n", + " keras_folder_name=\"sco2_keras_surr\", keras_model_name=\"sco2_keras_model\"\n", + " )\n", + " self.surrogate_enth = SurrogateBlock()\n", + " self.surrogate_enth.build_model(\n", + " self.keras_surrogate,\n", + " formulation=KerasSurrogate.Formulation.FULL_SPACE,\n", + " input_vars=inputs,\n", + " output_vars=outputs,\n", + " )\n", + "\n", + " def get_material_flow_terms(self, p, j):\n", + " return self.flow_mol\n", + "\n", + " def get_enthalpy_flow_terms(self, p):\n", + " return self.flow_mol * self.enth_mol\n", + "\n", + " def default_material_balance_type(self):\n", + " return MaterialBalanceType.componentTotal\n", + "\n", + " def default_energy_balance_type(self):\n", + " return EnergyBalanceType.enthalpyTotal\n", + "\n", + " def define_state_vars(self):\n", + " return {\n", + " \"flow_mol\": self.flow_mol,\n", + " \"temperature\": self.temperature,\n", + " \"pressure\": self.pressure,\n", + " }\n", + "\n", + " def model_check(blk):\n", + " \"\"\"\n", + " Model checks for property block\n", + " \"\"\"\n", + " # Check temperature bounds\n", + " if value(blk.temperature) < blk.temperature.lb:\n", + " _log.error(\"{} Temperature set below lower bound.\".format(blk.name))\n", + " if value(blk.temperature) > blk.temperature.ub:\n", + " _log.error(\"{} Temperature set above upper bound.\".format(blk.name))\n", + "\n", + " # Check pressure bounds\n", + " if value(blk.pressure) < blk.pressure.lb:\n", + " _log.error(\"{} Pressure set below lower bound.\".format(blk.name))\n", + " if value(blk.pressure) > blk.pressure.ub:\n", + " _log.error(\"{} Pressure set above upper bound.\".format(blk.name))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.3 Define Initialization Routine\n", + "\n", + "After defining the variables and constraints required to describe the properties of interest for S-CO2, we need to provide them with a good initial guess. It is often the case that the default values provided to the variables while creating the model are not likely the actual conditions the user would simulate. Given the highly non-linear nature of the physical property calculations, it is more often than not impossible to solve a State Block without providing a set of good initial values for all the variables we have declared.\n", + "\n", + "Any initialization routine can be written by following a 3 step process:\n", + "1. `Fix the state` of the model such that there are no degrees of freedom. For State Blocks, it should only be necessary to fix the state variables to a set of initial guesses provided by the user or unit model, as well as deactivating any constraints like the sum of mole fractions.\n", + "\n", + "2. `Iteratively build up a solution` for the full model. This often involves multiple steps and can involve deactivating constraints and fixing some variables to reduce complexity, as well as analytically calculating values for variables based on the known state (and any previously calculated variables). Solvers can be called as part of any step to efficiently initialize large numbers of variables simultaneously.\n", + "\n", + "3. `Return the state of the model` to where it originally started (with the exception of variable values). Any variable that was fixed or constraint that was deactivated during initialization should be unfixed or reactivated, so that the degrees of freedom are restored to what they were before the initialization began.\n", + "\n", + "\n", + "Thus, we start with fixing the state variables. Here since enth_mol and entr_mol are a function of pressure and temperature, we do not fix them as fixing pressure and temperature would inturn fix them. So, we check if a state variable if fixed or not, if it is fixed then we do not change them, if they are not fixed then we check for an initial guess from the `state_args`, if we get a value then we fix the variable with state_args, else we fix it with the value provided by the user. This should bring the degrees of freedom to 0. Here since we do not have any variable/constrained that we have unfixed/deactivated we can skip step 2 and move to step 3. We unfix the variables that were fixed in step 1 using the `release_state` function. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "class _StateBlock(StateBlock):\n", + " \"\"\"\n", + " This Class contains methods which should be applied to Property Blocks as a\n", + " whole, rather than individual elements of indexed Property Blocks.\n", + " \"\"\"\n", + "\n", + " def initialize(\n", + " blk,\n", + " state_args=None,\n", + " hold_state=False,\n", + " outlvl=1,\n", + " state_vars_fixed=False,\n", + " solver=\"ipopt\",\n", + " optarg={\"tol\": 1e-8},\n", + " ):\n", + " \"\"\"\n", + " Initialisation routine for property package.\n", + "\n", + " Keyword Arguments:\n", + " flow_mol : value at which to initialize component flows\n", + " (default=None)\n", + " pressure : value at which to initialize pressure (default=None)\n", + " temperature : value at which to initialize temperature\n", + " (default=None)\n", + " outlvl : sets output level of initialisation routine\n", + "\n", + " * 0 = no output (default)\n", + " * 1 = return solver state for each step in routine\n", + " * 2 = include solver output information (tee=True)\n", + " state_vars_fixed: Flag to denote if state vars have already been\n", + " fixed.\n", + " - True - states have already been fixed by the\n", + " control volume 1D. Control volume 0D\n", + " does not fix the state vars, so will\n", + " be False if this state block is used\n", + " with 0D blocks.\n", + " - False - states have not been fixed. The state\n", + " block will deal with fixing/unfixing.\n", + " optarg : solver options dictionary object (default=None)\n", + " solver : str indicating which solver to use during\n", + " initialization (default = 'ipopt')\n", + " hold_state : flag indicating whether the initialization routine\n", + " should unfix any state variables fixed during\n", + " initialization (default=False).\n", + " - True - states variables are not unfixed, and\n", + " a dict of returned containing flags for\n", + " which states were fixed during\n", + " initialization.\n", + " - False - state variables are unfixed after\n", + " initialization by calling the\n", + " release_state method\n", + "\n", + " Returns:\n", + " If hold_states is True, returns a dict containing flags for\n", + " which states were fixed during initialization.\n", + " \"\"\"\n", + " if state_vars_fixed is False:\n", + " # Fix state variables if not already fixed\n", + " Fcflag = {}\n", + " Pflag = {}\n", + " Tflag = {}\n", + "\n", + " for k in blk.keys():\n", + " if blk[k].flow_mol.fixed is True:\n", + " Fcflag[k] = True\n", + " else:\n", + " Fcflag[k] = False\n", + " if state_args is None:\n", + " blk[k].flow_mol.fix()\n", + " else:\n", + " blk[k].flow_mol.fix(state_args[\"flow_mol\"])\n", + "\n", + " if blk[k].pressure.fixed is True:\n", + " Pflag[k] = True\n", + " else:\n", + " Pflag[k] = False\n", + " if state_args is None:\n", + " blk[k].pressure.fix()\n", + " else:\n", + " blk[k].pressure.fix(state_args[\"pressure\"])\n", + "\n", + " if blk[k].temperature.fixed is True:\n", + " Tflag[k] = True\n", + " else:\n", + " Tflag[k] = False\n", + " if state_args is None:\n", + " blk[k].temperature.fix()\n", + " else:\n", + " blk[k].temperature.fix(state_args[\"temperature\"])\n", + "\n", + " # If input block, return flags, else release state\n", + " flags = {\"Fcflag\": Fcflag, \"Pflag\": Pflag, \"Tflag\": Tflag}\n", + "\n", + " else:\n", + " # Check when the state vars are fixed already result in dof 0\n", + " for k in blk.keys():\n", + " if degrees_of_freedom(blk[k]) != 0:\n", + " raise Exception(\n", + " \"State vars fixed but degrees of freedom \"\n", + " \"for state block is not zero during \"\n", + " \"initialization.\"\n", + " )\n", + "\n", + " if state_vars_fixed is False:\n", + " if hold_state is True:\n", + " return flags\n", + " else:\n", + " blk.release_state(flags)\n", + "\n", + " def release_state(blk, flags, outlvl=0):\n", + " \"\"\"\n", + " Method to release state variables fixed during initialisation.\n", + "\n", + " Keyword Arguments:\n", + " flags : dict containing information of which state variables\n", + " were fixed during initialization, and should now be\n", + " unfixed. This dict is returned by initialize if\n", + " hold_state=True.\n", + " outlvl : sets output level of of logging\n", + " \"\"\"\n", + " if flags is None:\n", + " return\n", + "\n", + " # Unfix state variables\n", + " for k in blk.keys():\n", + " if flags[\"Fcflag\"][k] is False:\n", + " blk[k].flow_mol.unfix()\n", + " if flags[\"Pflag\"][k] is False:\n", + " blk[k].pressure.unfix()\n", + " if flags[\"Tflag\"][k] is False:\n", + " blk[k].temperature.unfix()\n", + "\n", + " if outlvl > 0:\n", + " if outlvl > 0:\n", + " _log.info(\"{} State Released.\".format(blk.name))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we have our property package ready for being used in the flowsheet for optimization. We shall see that in the next part of this tutorial, [flowsheet_optimization](./flowsheet_optimization_test.ipynb). To learn in detail about making a custom property package, one should go through [Property Package Example](..\\..\\..\\properties\\custom\\custom_physical_property_packages_test.ipynb). " + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "idaes-pse", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.16" + } }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Supercritical CO2 Property Surrogate with OMLT Surrogate Object - Embedding Surrogate (Part 2)\n", - "\n", - "Maintainer: Javal Vyas\n", - "\n", - "Author: Javal Vyas\n", - "\n", - "Updated: 2024-01-24\n", - "\n", - "## 1. Integration of Surrogate into Custom Property Package\n", - "\n", - "Here we shall see how to integrate the trained surrogate in the custom property package. One can read more about making a properties package from read the docs. To integrate the surrogate we first define the physical parameter block which will return the properties based on the state variables. State variables would be called from the State Block as Pyomo variables. We will define the surrogate input and output as pyomo variables as well. Once we have defined the variables in the state block then we define our surrogate block.\n", - "\n", - "*NOTE:* For ease of explanation the property package is written in \".ipynb\" format, ideally it should be in a python script. Each class of this package is separated in different cell for the same reason, in practice all the classes in this notebook should be part of the same python script. This folder includes \"properties.py\" file which is how embedding file should look like. \n", - "\n", - "### 1.1 Steps in Creating a Property Package\n", - "Creating a new property package can be broken down into the following steps, which will be demonstrated in the next part of this tutorial.\n", - "\n", - "1. Defining the **units of measurement** for the property package.\n", - "2. Defining the **properties supported** by the property package and the associated metadata.\n", - "3. Defining the **phases and components** of interest.\n", - "4. Defining the necessary **parameters** required to calculate the properties of interest.\n", - "5. Declaring the **state variables** to be used for the property package.\n", - "6. Creating **variables and constraints** to describe the properties of interest.\n", - "7. Creating an **initialization routine** for the property package.\n", - "8. Defining **interface methods** used to couple the property package with unit models." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 2. Importing libraries for making Property Package\n", - "\n", - "To begin with, we are going to need a number of components from the Pyomo modeling environment to construct the variables, constraints and parameters that will make up the property package, and we will also make use of the Pyomo units of measurement tools to define the units of our properties. We will also make use of a number of components and supporting methods from the IDAES modeling framework and libraries. We shall also use the Surrogate API in the IDAES framework to embed the trained surrogate in the property package." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Import Python libraries\n", - "import logging\n", - "\n", - "# Import Pyomo libraries\n", - "from pyomo.environ import (\n", - " Constraint,\n", - " Param,\n", - " Reals,\n", - " Set,\n", - " value,\n", - " Var,\n", - " NonNegativeReals,\n", - " units,\n", - ")\n", - "from pyomo.opt import SolverFactory, TerminationCondition\n", - "\n", - "# Import IDAES cores\n", - "from idaes.core import (\n", - " declare_process_block_class,\n", - " PhysicalParameterBlock,\n", - " StateBlockData,\n", - " StateBlock,\n", - " MaterialBalanceType,\n", - " EnergyBalanceType,\n", - " LiquidPhase,\n", - " Component,\n", - ")\n", - "from idaes.core.util.initialization import solve_indexed_blocks\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.util.misc import extract_data\n", - "from idaes.core.solvers import get_solver\n", - "from pyomo.util.check_units import assert_units_consistent\n", - "from idaes.core.surrogate.surrogate_block import SurrogateBlock\n", - "from idaes.core.surrogate.keras_surrogate import KerasSurrogate\n", - "\n", - "from pyomo.util.model_size import build_model_size_report\n", - "\n", - "# Some more information about this module\n", - "__author__ = \"Javal Vyas\"\n", - "\n", - "\n", - "# Set up logger\n", - "_log = logging.getLogger(__name__)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 3 Defining Classes\n", - "\n", - "We shall be going through each class of the property package in detail. Since there are not reactions occurring in the flowsheet we shall only write the Physical Parameter Block.\n", - "\n", - "## 3.1 Physical Parameter Block\n", - "\n", - "The Physical Parameter Block serves as the central point of reference for all aspects of the property package, and needs to define a number of things about the package. These are summarized below:\n", - "\n", - "* Units of measurement\n", - "* What properties are supported and how they are implemented\n", - "* What components and phases are included in the packages\n", - "* All the global parameters necessary for calculating properties\n", - "* A reference to the associated State Block class, so that construction of the State Block components can be automated from the Physical Parameter Block\n", - "\n", - "To assemble the above mentioned things in a class we need to follow the following steps:\n", - "\n", - "* Declaring the new class and inheriting from the PhysicalParameterBlock base class\n", - "* Declaring any necessary configuration arguments\n", - "* Writing the build method for our class\n", - "* Creating a define_metadata method for the class.\n", - "\n", - "The code below follows the above mentioned steps. \n", - "\n", - "*NOTE*: The SCO2StateBlock will be discussed in the next section." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "@declare_process_block_class(\"SCO2ParameterBlock\")\n", - "class PhysicalParameterData(PhysicalParameterBlock):\n", - " \"\"\"\n", - " Property Parameter Block Class\n", - "\n", - " Contains parameters and indexing sets associated with properties for\n", - " supercritical CO2.\n", - "\n", - " \"\"\"\n", - "\n", - " def build(self):\n", - " \"\"\"\n", - " Callable method for Block construction.\n", - " \"\"\"\n", - " super(PhysicalParameterData, self).build()\n", - "\n", - " self._state_block_class = SCO2StateBlock\n", - "\n", - " # List of valid phases in property package\n", - " self.Liq = LiquidPhase()\n", - "\n", - " # Component list - a list of component identifiers\n", - " self.CO2 = Component()\n", - "\n", - " @classmethod\n", - " def define_metadata(cls, obj):\n", - " obj.add_properties(\n", - " {\n", - " \"flow_mol\": {\"method\": None, \"units\": \"kmol/s\"},\n", - " \"pressure\": {\"method\": None, \"units\": \"MPa\"},\n", - " \"temperature\": {\"method\": None, \"units\": \"K\"},\n", - " \"enth_mol\": {\"method\": None, \"units\": \"kJ/kmol\"},\n", - " \"entr_mol\": {\"method\": None, \"units\": \"kJ/kmol/K\"},\n", - " }\n", - " )\n", - "\n", - " obj.add_default_units(\n", - " {\n", - " \"time\": units.s,\n", - " \"length\": units.m,\n", - " \"mass\": units.kg,\n", - " \"amount\": units.mol,\n", - " \"temperature\": units.K,\n", - " }\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.2 State Block\n", - "\n", - "After the Physical Parameter Block class has been created, the next step is to write the code necessary to create the State Blocks that will be used through out the flowsheet.\n", - "\n", - "For this example, we will begin by describing the content of the StateBlockData objects, as this is where we create the variables and constraints that describe how to calculate the thermophysical properties of the material. \n", - "\n", - "We start by defining the 5 state variables: flow_mol, pressure, temperature, enth_mol and entr_mol as the Pyomo Var, each of this variable has a unit for unit consistency. This is done in _make_state_vars function. We get the enth_mol and entr_mol variables from trained surrogate which we define in this function as well. To get the output variables from the surrogate:\n", - "\n", - "1. Define the input and output variables to the trained surrogate\n", - "2. Load the surrogate from the folder it is saved in, here it is saved in the folder called keras_surrogate (look at the keras_training_test.ipynb file) using the keras Surrogate API of IDAES package\n", - "3. Define a `SurrogateBlock` and call the build_model method on the block with the input variables, output variables, model formulation and the loaded surrogate as the arguments. \n", - "4. Define the constraints necessary for ensuring physical feasibility of the system like the mass balance and energy balance. Check for the state variables to be within the bounds. \n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "@declare_process_block_class(\"SCO2StateBlock\", block_class=StateBlock)\n", - "class SCO2StateBlockData(StateBlockData):\n", - " \"\"\"\n", - " An example property package for ideal gas properties with Gibbs energy\n", - " \"\"\"\n", - "\n", - " def build(self):\n", - " \"\"\"\n", - " Callable method for Block construction\n", - " \"\"\"\n", - " super(SCO2StateBlockData, self).build()\n", - " self._make_state_vars()\n", - "\n", - " def _make_state_vars(self):\n", - " self.flow_mol = Var(\n", - " domain=NonNegativeReals,\n", - " initialize=1.0,\n", - " units=units.kmol / units.s,\n", - " doc=\"Total molar flowrate [kmol/s]\",\n", - " )\n", - " self.pressure = Var(\n", - " domain=NonNegativeReals,\n", - " initialize=8,\n", - " bounds=(7.38, 40),\n", - " units=units.MPa,\n", - " doc=\"State pressure [MPa]\",\n", - " )\n", - " self.temperature = Var(\n", - " domain=NonNegativeReals,\n", - " initialize=350,\n", - " bounds=(304.2, 760 + 273.15),\n", - " units=units.K,\n", - " doc=\"State temperature [K]\",\n", - " )\n", - " self.entr_mol = Var(\n", - " domain=Reals,\n", - " initialize=10,\n", - " units=units.kJ / units.kmol / units.K,\n", - " doc=\"Entropy [kJ/kmol/K]\",\n", - " )\n", - " self.enth_mol = Var(\n", - " domain=Reals,\n", - " initialize=1,\n", - " units=units.kJ / units.kmol,\n", - " doc=\"Enthalpy [kJ/ kmol]\",\n", - " )\n", - "\n", - " inputs = [self.pressure, self.temperature]\n", - " outputs = [self.enth_mol, self.entr_mol]\n", - " self.keras_surrogate = KerasSurrogate.load_from_folder(\n", - " keras_folder_name=\"sco2_keras_surr\", keras_model_name=\"sco2_keras_model\"\n", - " )\n", - " self.surrogate_enth = SurrogateBlock()\n", - " self.surrogate_enth.build_model(\n", - " self.keras_surrogate,\n", - " formulation=KerasSurrogate.Formulation.FULL_SPACE,\n", - " input_vars=inputs,\n", - " output_vars=outputs,\n", - " )\n", - "\n", - " def get_material_flow_terms(self, p, j):\n", - " return self.flow_mol\n", - "\n", - " def get_enthalpy_flow_terms(self, p):\n", - " return self.flow_mol * self.enth_mol\n", - "\n", - " def default_material_balance_type(self):\n", - " return MaterialBalanceType.componentTotal\n", - "\n", - " def default_energy_balance_type(self):\n", - " return EnergyBalanceType.enthalpyTotal\n", - "\n", - " def define_state_vars(self):\n", - " return {\n", - " \"flow_mol\": self.flow_mol,\n", - " \"temperature\": self.temperature,\n", - " \"pressure\": self.pressure,\n", - " }\n", - "\n", - " def model_check(blk):\n", - " \"\"\"\n", - " Model checks for property block\n", - " \"\"\"\n", - " # Check temperature bounds\n", - " if value(blk.temperature) < blk.temperature.lb:\n", - " _log.error(\"{} Temperature set below lower bound.\".format(blk.name))\n", - " if value(blk.temperature) > blk.temperature.ub:\n", - " _log.error(\"{} Temperature set above upper bound.\".format(blk.name))\n", - "\n", - " # Check pressure bounds\n", - " if value(blk.pressure) < blk.pressure.lb:\n", - " _log.error(\"{} Pressure set below lower bound.\".format(blk.name))\n", - " if value(blk.pressure) > blk.pressure.ub:\n", - " _log.error(\"{} Pressure set above upper bound.\".format(blk.name))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.3 Define Initialization Routine\n", - "\n", - "After defining the variables and constraints required to describe the properties of interest for S-CO2, we need to provide them with a good initial guess. It is often the case that the default values provided to the variables while creating the model are not likely the actual conditions the user would simulate. Given the highly non-linear nature of the physical property calculations, it is more often than not impossible to solve a State Block without providing a set of good initial values for all the variables we have declared.\n", - "\n", - "Any initialization routine can be written by following a 3 step process:\n", - "1. `Fix the state` of the model such that there are no degrees of freedom. For State Blocks, it should only be necessary to fix the state variables to a set of initial guesses provided by the user or unit model, as well as deactivating any constraints like the sum of mole fractions.\n", - "\n", - "2. `Iteratively build up a solution` for the full model. This often involves multiple steps and can involve deactivating constraints and fixing some variables to reduce complexity, as well as analytically calculating values for variables based on the known state (and any previously calculated variables). Solvers can be called as part of any step to efficiently initialize large numbers of variables simultaneously.\n", - "\n", - "3. `Return the state of the model` to where it originally started (with the exception of variable values). Any variable that was fixed or constraint that was deactivated during initialization should be unfixed or reactivated, so that the degrees of freedom are restored to what they were before the initialization began.\n", - "\n", - "\n", - "Thus, we start with fixing the state variables. Here since enth_mol and entr_mol are a function of pressure and temperature, we do not fix them as fixing pressure and temperature would inturn fix them. So, we check if a state variable if fixed or not, if it is fixed then we do not change them, if they are not fixed then we check for an initial guess from the `state_args`, if we get a value then we fix the variable with state_args, else we fix it with the value provided by the user. This should bring the degrees of freedom to 0. Here since we do not have any variable/constrained that we have unfixed/deactivated we can skip step 2 and move to step 3. We unfix the variables that were fixed in step 1 using the `release_state` function. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "class _StateBlock(StateBlock):\n", - " \"\"\"\n", - " This Class contains methods which should be applied to Property Blocks as a\n", - " whole, rather than individual elements of indexed Property Blocks.\n", - " \"\"\"\n", - "\n", - " def initialize(\n", - " blk,\n", - " state_args=None,\n", - " hold_state=False,\n", - " outlvl=1,\n", - " state_vars_fixed=False,\n", - " solver=\"ipopt\",\n", - " optarg={\"tol\": 1e-8},\n", - " ):\n", - " \"\"\"\n", - " Initialisation routine for property package.\n", - "\n", - " Keyword Arguments:\n", - " flow_mol : value at which to initialize component flows\n", - " (default=None)\n", - " pressure : value at which to initialize pressure (default=None)\n", - " temperature : value at which to initialize temperature\n", - " (default=None)\n", - " outlvl : sets output level of initialisation routine\n", - "\n", - " * 0 = no output (default)\n", - " * 1 = return solver state for each step in routine\n", - " * 2 = include solver output information (tee=True)\n", - " state_vars_fixed: Flag to denote if state vars have already been\n", - " fixed.\n", - " - True - states have already been fixed by the\n", - " control volume 1D. Control volume 0D\n", - " does not fix the state vars, so will\n", - " be False if this state block is used\n", - " with 0D blocks.\n", - " - False - states have not been fixed. The state\n", - " block will deal with fixing/unfixing.\n", - " optarg : solver options dictionary object (default=None)\n", - " solver : str indicating which solver to use during\n", - " initialization (default = 'ipopt')\n", - " hold_state : flag indicating whether the initialization routine\n", - " should unfix any state variables fixed during\n", - " initialization (default=False).\n", - " - True - states variables are not unfixed, and\n", - " a dict of returned containing flags for\n", - " which states were fixed during\n", - " initialization.\n", - " - False - state variables are unfixed after\n", - " initialization by calling the\n", - " release_state method\n", - "\n", - " Returns:\n", - " If hold_states is True, returns a dict containing flags for\n", - " which states were fixed during initialization.\n", - " \"\"\"\n", - " if state_vars_fixed is False:\n", - " # Fix state variables if not already fixed\n", - " Fcflag = {}\n", - " Pflag = {}\n", - " Tflag = {}\n", - "\n", - " for k in blk.keys():\n", - " if blk[k].flow_mol.fixed is True:\n", - " Fcflag[k] = True\n", - " else:\n", - " Fcflag[k] = False\n", - " if state_args is None:\n", - " blk[k].flow_mol.fix()\n", - " else:\n", - " blk[k].flow_mol.fix(state_args[\"flow_mol\"])\n", - "\n", - " if blk[k].pressure.fixed is True:\n", - " Pflag[k] = True\n", - " else:\n", - " Pflag[k] = False\n", - " if state_args is None:\n", - " blk[k].pressure.fix()\n", - " else:\n", - " blk[k].pressure.fix(state_args[\"pressure\"])\n", - "\n", - " if blk[k].temperature.fixed is True:\n", - " Tflag[k] = True\n", - " else:\n", - " Tflag[k] = False\n", - " if state_args is None:\n", - " blk[k].temperature.fix()\n", - " else:\n", - " blk[k].temperature.fix(state_args[\"temperature\"])\n", - "\n", - " # If input block, return flags, else release state\n", - " flags = {\"Fcflag\": Fcflag, \"Pflag\": Pflag, \"Tflag\": Tflag}\n", - "\n", - " else:\n", - " # Check when the state vars are fixed already result in dof 0\n", - " for k in blk.keys():\n", - " if degrees_of_freedom(blk[k]) != 0:\n", - " raise Exception(\n", - " \"State vars fixed but degrees of freedom \"\n", - " \"for state block is not zero during \"\n", - " \"initialization.\"\n", - " )\n", - "\n", - " if state_vars_fixed is False:\n", - " if hold_state is True:\n", - " return flags\n", - " else:\n", - " blk.release_state(flags)\n", - "\n", - " def release_state(blk, flags, outlvl=0):\n", - " \"\"\"\n", - " Method to release state variables fixed during initialisation.\n", - "\n", - " Keyword Arguments:\n", - " flags : dict containing information of which state variables\n", - " were fixed during initialization, and should now be\n", - " unfixed. This dict is returned by initialize if\n", - " hold_state=True.\n", - " outlvl : sets output level of of logging\n", - " \"\"\"\n", - " if flags is None:\n", - " return\n", - "\n", - " # Unfix state variables\n", - " for k in blk.keys():\n", - " if flags[\"Fcflag\"][k] is False:\n", - " blk[k].flow_mol.unfix()\n", - " if flags[\"Pflag\"][k] is False:\n", - " blk[k].pressure.unfix()\n", - " if flags[\"Tflag\"][k] is False:\n", - " blk[k].temperature.unfix()\n", - "\n", - " if outlvl > 0:\n", - " if outlvl > 0:\n", - " _log.info(\"{} State Released.\".format(blk.name))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we have our property package ready for being used in the flowsheet for optimization. We shall see that in the next part of this tutorial, [flowsheet_optimization](./flowsheet_optimization_test.ipynb). To learn in detail about making a custom property package, one should go through [Property Package Example](..\\..\\..\\properties\\custom\\custom_physical_property_packages_test.ipynb). " - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "idaes-pse", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.16" - }, - "orig_nbformat": 4 - }, - "nbformat": 4, - "nbformat_minor": 3 + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/surrogate_embedding_usr.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/surrogate_embedding_usr.ipynb index 24237ee2..0242e561 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/omlt/surrogate_embedding_usr.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/omlt/surrogate_embedding_usr.ipynb @@ -1,509 +1,534 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "##############################################################################\n", - "# Institute for the Design of Advanced Energy Systems Process Systems\n", - "# Engineering Framework (IDAES PSE Framework) Copyright (c) 2018-2019, by the\n", - "# software owners: The Regents of the University of California, through\n", - "# Lawrence Berkeley National Laboratory, National Technology & Engineering\n", - "# Solutions of Sandia, LLC, Carnegie Mellon University, West Virginia\n", - "# University Research Corporation, et al. All rights reserved.\n", - "#\n", - "# Please see the files COPYRIGHT.txt and LICENSE.txt for full copyright and\n", - "# license information, respectively. Both files are also available online\n", - "# at the URL \"https://github.com/IDAES/idaes-pse\".\n", - "##############################################################################" - ] + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "##############################################################################\n", + "# Institute for the Design of Advanced Energy Systems Process Systems\n", + "# Engineering Framework (IDAES PSE Framework) Copyright (c) 2018-2019, by the\n", + "# software owners: The Regents of the University of California, through\n", + "# Lawrence Berkeley National Laboratory, National Technology & Engineering\n", + "# Solutions of Sandia, LLC, Carnegie Mellon University, West Virginia\n", + "# University Research Corporation, et al. All rights reserved.\n", + "#\n", + "# Please see the files COPYRIGHT.txt and LICENSE.txt for full copyright and\n", + "# license information, respectively. Both files are also available online\n", + "# at the URL \"https://github.com/IDAES/idaes-pse\".\n", + "##############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Supercritical CO2 Property Surrogate with OMLT Surrogate Object - Embedding Surrogate (Part 2)\n", + "\n", + "Maintainer: Javal Vyas\n", + "\n", + "Author: Javal Vyas\n", + "\n", + "Updated: 2024-01-24\n", + "\n", + "## 1. Integration of Surrogate into Custom Property Package\n", + "\n", + "Here we shall see how to integrate the trained surrogate in the custom property package. One can read more about making a properties package from read the docs. To integrate the surrogate we first define the physical parameter block which will return the properties based on the state variables. State variables would be called from the State Block as Pyomo variables. We will define the surrogate input and output as pyomo variables as well. Once we have defined the variables in the state block then we define our surrogate block.\n", + "\n", + "*NOTE:* For ease of explanation the property package is written in \".ipynb\" format, ideally it should be in a python script. Each class of this package is separated in different cell for the same reason, in practice all the classes in this notebook should be part of the same python script. This folder includes \"properties.py\" file which is how embedding file should look like. \n", + "\n", + "### 1.1 Steps in Creating a Property Package\n", + "Creating a new property package can be broken down into the following steps, which will be demonstrated in the next part of this tutorial.\n", + "\n", + "1. Defining the **units of measurement** for the property package.\n", + "2. Defining the **properties supported** by the property package and the associated metadata.\n", + "3. Defining the **phases and components** of interest.\n", + "4. Defining the necessary **parameters** required to calculate the properties of interest.\n", + "5. Declaring the **state variables** to be used for the property package.\n", + "6. Creating **variables and constraints** to describe the properties of interest.\n", + "7. Creating an **initialization routine** for the property package.\n", + "8. Defining **interface methods** used to couple the property package with unit models." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2. Importing libraries for making Property Package\n", + "\n", + "To begin with, we are going to need a number of components from the Pyomo modeling environment to construct the variables, constraints and parameters that will make up the property package, and we will also make use of the Pyomo units of measurement tools to define the units of our properties. We will also make use of a number of components and supporting methods from the IDAES modeling framework and libraries. We shall also use the Surrogate API in the IDAES framework to embed the trained surrogate in the property package." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Import Python libraries\n", + "import logging\n", + "\n", + "# Import Pyomo libraries\n", + "from pyomo.environ import (\n", + " Constraint,\n", + " Param,\n", + " Reals,\n", + " Set,\n", + " value,\n", + " Var,\n", + " NonNegativeReals,\n", + " units,\n", + ")\n", + "from pyomo.opt import SolverFactory, TerminationCondition\n", + "\n", + "# Import IDAES cores\n", + "from idaes.core import (\n", + " declare_process_block_class,\n", + " PhysicalParameterBlock,\n", + " StateBlockData,\n", + " StateBlock,\n", + " MaterialBalanceType,\n", + " EnergyBalanceType,\n", + " LiquidPhase,\n", + " Component,\n", + ")\n", + "from idaes.core.util.initialization import solve_indexed_blocks\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.core.util.misc import extract_data\n", + "from idaes.core.solvers import get_solver\n", + "from pyomo.util.check_units import assert_units_consistent\n", + "from idaes.core.surrogate.surrogate_block import SurrogateBlock\n", + "from idaes.core.surrogate.keras_surrogate import KerasSurrogate\n", + "\n", + "from pyomo.util.model_size import build_model_size_report\n", + "\n", + "# Some more information about this module\n", + "__author__ = \"Javal Vyas\"\n", + "\n", + "\n", + "# Set up logger\n", + "_log = logging.getLogger(__name__)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 3 Defining Classes\n", + "\n", + "We shall be going through each class of the property package in detail. Since there are not reactions occurring in the flowsheet we shall only write the Physical Parameter Block.\n", + "\n", + "## 3.1 Physical Parameter Block\n", + "\n", + "The Physical Parameter Block serves as the central point of reference for all aspects of the property package, and needs to define a number of things about the package. These are summarized below:\n", + "\n", + "* Units of measurement\n", + "* What properties are supported and how they are implemented\n", + "* What components and phases are included in the packages\n", + "* All the global parameters necessary for calculating properties\n", + "* A reference to the associated State Block class, so that construction of the State Block components can be automated from the Physical Parameter Block\n", + "\n", + "To assemble the above mentioned things in a class we need to follow the following steps:\n", + "\n", + "* Declaring the new class and inheriting from the PhysicalParameterBlock base class\n", + "* Declaring any necessary configuration arguments\n", + "* Writing the build method for our class\n", + "* Creating a define_metadata method for the class.\n", + "\n", + "The code below follows the above mentioned steps. \n", + "\n", + "*NOTE*: The SCO2StateBlock will be discussed in the next section." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "@declare_process_block_class(\"SCO2ParameterBlock\")\n", + "class PhysicalParameterData(PhysicalParameterBlock):\n", + " \"\"\"\n", + " Property Parameter Block Class\n", + "\n", + " Contains parameters and indexing sets associated with properties for\n", + " supercritical CO2.\n", + "\n", + " \"\"\"\n", + "\n", + " def build(self):\n", + " \"\"\"\n", + " Callable method for Block construction.\n", + " \"\"\"\n", + " super(PhysicalParameterData, self).build()\n", + "\n", + " self._state_block_class = SCO2StateBlock\n", + "\n", + " # List of valid phases in property package\n", + " self.Liq = LiquidPhase()\n", + "\n", + " # Component list - a list of component identifiers\n", + " self.CO2 = Component()\n", + "\n", + " @classmethod\n", + " def define_metadata(cls, obj):\n", + " obj.add_properties(\n", + " {\n", + " \"flow_mol\": {\"method\": None, \"units\": \"kmol/s\"},\n", + " \"pressure\": {\"method\": None, \"units\": \"MPa\"},\n", + " \"temperature\": {\"method\": None, \"units\": \"K\"},\n", + " \"enth_mol\": {\"method\": None, \"units\": \"kJ/kmol\"},\n", + " \"entr_mol\": {\"method\": None, \"units\": \"kJ/kmol/K\"},\n", + " }\n", + " )\n", + "\n", + " obj.add_default_units(\n", + " {\n", + " \"time\": units.s,\n", + " \"length\": units.m,\n", + " \"mass\": units.kg,\n", + " \"amount\": units.mol,\n", + " \"temperature\": units.K,\n", + " }\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.2 State Block\n", + "\n", + "After the Physical Parameter Block class has been created, the next step is to write the code necessary to create the State Blocks that will be used through out the flowsheet.\n", + "\n", + "For this example, we will begin by describing the content of the StateBlockData objects, as this is where we create the variables and constraints that describe how to calculate the thermophysical properties of the material. \n", + "\n", + "We start by defining the 5 state variables: flow_mol, pressure, temperature, enth_mol and entr_mol as the Pyomo Var, each of this variable has a unit for unit consistency. This is done in _make_state_vars function. We get the enth_mol and entr_mol variables from trained surrogate which we define in this function as well. To get the output variables from the surrogate:\n", + "\n", + "1. Define the input and output variables to the trained surrogate\n", + "2. Load the surrogate from the folder it is saved in, here it is saved in the folder called keras_surrogate (look at the keras_training_usr.ipynb file) using the keras Surrogate API of IDAES package\n", + "3. Define a `SurrogateBlock` and call the build_model method on the block with the input variables, output variables, model formulation and the loaded surrogate as the arguments. \n", + "4. Define the constraints necessary for ensuring physical feasibility of the system like the mass balance and energy balance. Check for the state variables to be within the bounds. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "@declare_process_block_class(\"SCO2StateBlock\", block_class=StateBlock)\n", + "class SCO2StateBlockData(StateBlockData):\n", + " \"\"\"\n", + " An example property package for ideal gas properties with Gibbs energy\n", + " \"\"\"\n", + "\n", + " def build(self):\n", + " \"\"\"\n", + " Callable method for Block construction\n", + " \"\"\"\n", + " super(SCO2StateBlockData, self).build()\n", + " self._make_state_vars()\n", + "\n", + " def _make_state_vars(self):\n", + " self.flow_mol = Var(\n", + " domain=NonNegativeReals,\n", + " initialize=1.0,\n", + " units=units.kmol / units.s,\n", + " doc=\"Total molar flowrate [kmol/s]\",\n", + " )\n", + " self.pressure = Var(\n", + " domain=NonNegativeReals,\n", + " initialize=8,\n", + " bounds=(7.38, 40),\n", + " units=units.MPa,\n", + " doc=\"State pressure [MPa]\",\n", + " )\n", + " self.temperature = Var(\n", + " domain=NonNegativeReals,\n", + " initialize=350,\n", + " bounds=(304.2, 760 + 273.15),\n", + " units=units.K,\n", + " doc=\"State temperature [K]\",\n", + " )\n", + " self.entr_mol = Var(\n", + " domain=Reals,\n", + " initialize=10,\n", + " units=units.kJ / units.kmol / units.K,\n", + " doc=\"Entropy [kJ/kmol/K]\",\n", + " )\n", + " self.enth_mol = Var(\n", + " domain=Reals,\n", + " initialize=1,\n", + " units=units.kJ / units.kmol,\n", + " doc=\"Enthalpy [kJ/ kmol]\",\n", + " )\n", + "\n", + " inputs = [self.pressure, self.temperature]\n", + " outputs = [self.enth_mol, self.entr_mol]\n", + " self.keras_surrogate = KerasSurrogate.load_from_folder(\n", + " keras_folder_name=\"sco2_keras_surr\", keras_model_name=\"sco2_keras_model\"\n", + " )\n", + " self.surrogate_enth = SurrogateBlock()\n", + " self.surrogate_enth.build_model(\n", + " self.keras_surrogate,\n", + " formulation=KerasSurrogate.Formulation.FULL_SPACE,\n", + " input_vars=inputs,\n", + " output_vars=outputs,\n", + " )\n", + "\n", + " def get_material_flow_terms(self, p, j):\n", + " return self.flow_mol\n", + "\n", + " def get_enthalpy_flow_terms(self, p):\n", + " return self.flow_mol * self.enth_mol\n", + "\n", + " def default_material_balance_type(self):\n", + " return MaterialBalanceType.componentTotal\n", + "\n", + " def default_energy_balance_type(self):\n", + " return EnergyBalanceType.enthalpyTotal\n", + "\n", + " def define_state_vars(self):\n", + " return {\n", + " \"flow_mol\": self.flow_mol,\n", + " \"temperature\": self.temperature,\n", + " \"pressure\": self.pressure,\n", + " }\n", + "\n", + " def model_check(blk):\n", + " \"\"\"\n", + " Model checks for property block\n", + " \"\"\"\n", + " # Check temperature bounds\n", + " if value(blk.temperature) < blk.temperature.lb:\n", + " _log.error(\"{} Temperature set below lower bound.\".format(blk.name))\n", + " if value(blk.temperature) > blk.temperature.ub:\n", + " _log.error(\"{} Temperature set above upper bound.\".format(blk.name))\n", + "\n", + " # Check pressure bounds\n", + " if value(blk.pressure) < blk.pressure.lb:\n", + " _log.error(\"{} Pressure set below lower bound.\".format(blk.name))\n", + " if value(blk.pressure) > blk.pressure.ub:\n", + " _log.error(\"{} Pressure set above upper bound.\".format(blk.name))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.3 Define Initialization Routine\n", + "\n", + "After defining the variables and constraints required to describe the properties of interest for S-CO2, we need to provide them with a good initial guess. It is often the case that the default values provided to the variables while creating the model are not likely the actual conditions the user would simulate. Given the highly non-linear nature of the physical property calculations, it is more often than not impossible to solve a State Block without providing a set of good initial values for all the variables we have declared.\n", + "\n", + "Any initialization routine can be written by following a 3 step process:\n", + "1. `Fix the state` of the model such that there are no degrees of freedom. For State Blocks, it should only be necessary to fix the state variables to a set of initial guesses provided by the user or unit model, as well as deactivating any constraints like the sum of mole fractions.\n", + "\n", + "2. `Iteratively build up a solution` for the full model. This often involves multiple steps and can involve deactivating constraints and fixing some variables to reduce complexity, as well as analytically calculating values for variables based on the known state (and any previously calculated variables). Solvers can be called as part of any step to efficiently initialize large numbers of variables simultaneously.\n", + "\n", + "3. `Return the state of the model` to where it originally started (with the exception of variable values). Any variable that was fixed or constraint that was deactivated during initialization should be unfixed or reactivated, so that the degrees of freedom are restored to what they were before the initialization began.\n", + "\n", + "\n", + "Thus, we start with fixing the state variables. Here since enth_mol and entr_mol are a function of pressure and temperature, we do not fix them as fixing pressure and temperature would inturn fix them. So, we check if a state variable if fixed or not, if it is fixed then we do not change them, if they are not fixed then we check for an initial guess from the `state_args`, if we get a value then we fix the variable with state_args, else we fix it with the value provided by the user. This should bring the degrees of freedom to 0. Here since we do not have any variable/constrained that we have unfixed/deactivated we can skip step 2 and move to step 3. We unfix the variables that were fixed in step 1 using the `release_state` function. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "class _StateBlock(StateBlock):\n", + " \"\"\"\n", + " This Class contains methods which should be applied to Property Blocks as a\n", + " whole, rather than individual elements of indexed Property Blocks.\n", + " \"\"\"\n", + "\n", + " def initialize(\n", + " blk,\n", + " state_args=None,\n", + " hold_state=False,\n", + " outlvl=1,\n", + " state_vars_fixed=False,\n", + " solver=\"ipopt\",\n", + " optarg={\"tol\": 1e-8},\n", + " ):\n", + " \"\"\"\n", + " Initialisation routine for property package.\n", + "\n", + " Keyword Arguments:\n", + " flow_mol : value at which to initialize component flows\n", + " (default=None)\n", + " pressure : value at which to initialize pressure (default=None)\n", + " temperature : value at which to initialize temperature\n", + " (default=None)\n", + " outlvl : sets output level of initialisation routine\n", + "\n", + " * 0 = no output (default)\n", + " * 1 = return solver state for each step in routine\n", + " * 2 = include solver output information (tee=True)\n", + " state_vars_fixed: Flag to denote if state vars have already been\n", + " fixed.\n", + " - True - states have already been fixed by the\n", + " control volume 1D. Control volume 0D\n", + " does not fix the state vars, so will\n", + " be False if this state block is used\n", + " with 0D blocks.\n", + " - False - states have not been fixed. The state\n", + " block will deal with fixing/unfixing.\n", + " optarg : solver options dictionary object (default=None)\n", + " solver : str indicating which solver to use during\n", + " initialization (default = 'ipopt')\n", + " hold_state : flag indicating whether the initialization routine\n", + " should unfix any state variables fixed during\n", + " initialization (default=False).\n", + " - True - states variables are not unfixed, and\n", + " a dict of returned containing flags for\n", + " which states were fixed during\n", + " initialization.\n", + " - False - state variables are unfixed after\n", + " initialization by calling the\n", + " release_state method\n", + "\n", + " Returns:\n", + " If hold_states is True, returns a dict containing flags for\n", + " which states were fixed during initialization.\n", + " \"\"\"\n", + " if state_vars_fixed is False:\n", + " # Fix state variables if not already fixed\n", + " Fcflag = {}\n", + " Pflag = {}\n", + " Tflag = {}\n", + "\n", + " for k in blk.keys():\n", + " if blk[k].flow_mol.fixed is True:\n", + " Fcflag[k] = True\n", + " else:\n", + " Fcflag[k] = False\n", + " if state_args is None:\n", + " blk[k].flow_mol.fix()\n", + " else:\n", + " blk[k].flow_mol.fix(state_args[\"flow_mol\"])\n", + "\n", + " if blk[k].pressure.fixed is True:\n", + " Pflag[k] = True\n", + " else:\n", + " Pflag[k] = False\n", + " if state_args is None:\n", + " blk[k].pressure.fix()\n", + " else:\n", + " blk[k].pressure.fix(state_args[\"pressure\"])\n", + "\n", + " if blk[k].temperature.fixed is True:\n", + " Tflag[k] = True\n", + " else:\n", + " Tflag[k] = False\n", + " if state_args is None:\n", + " blk[k].temperature.fix()\n", + " else:\n", + " blk[k].temperature.fix(state_args[\"temperature\"])\n", + "\n", + " # If input block, return flags, else release state\n", + " flags = {\"Fcflag\": Fcflag, \"Pflag\": Pflag, \"Tflag\": Tflag}\n", + "\n", + " else:\n", + " # Check when the state vars are fixed already result in dof 0\n", + " for k in blk.keys():\n", + " if degrees_of_freedom(blk[k]) != 0:\n", + " raise Exception(\n", + " \"State vars fixed but degrees of freedom \"\n", + " \"for state block is not zero during \"\n", + " \"initialization.\"\n", + " )\n", + "\n", + " if state_vars_fixed is False:\n", + " if hold_state is True:\n", + " return flags\n", + " else:\n", + " blk.release_state(flags)\n", + "\n", + " def release_state(blk, flags, outlvl=0):\n", + " \"\"\"\n", + " Method to release state variables fixed during initialisation.\n", + "\n", + " Keyword Arguments:\n", + " flags : dict containing information of which state variables\n", + " were fixed during initialization, and should now be\n", + " unfixed. This dict is returned by initialize if\n", + " hold_state=True.\n", + " outlvl : sets output level of of logging\n", + " \"\"\"\n", + " if flags is None:\n", + " return\n", + "\n", + " # Unfix state variables\n", + " for k in blk.keys():\n", + " if flags[\"Fcflag\"][k] is False:\n", + " blk[k].flow_mol.unfix()\n", + " if flags[\"Pflag\"][k] is False:\n", + " blk[k].pressure.unfix()\n", + " if flags[\"Tflag\"][k] is False:\n", + " blk[k].temperature.unfix()\n", + "\n", + " if outlvl > 0:\n", + " if outlvl > 0:\n", + " _log.info(\"{} State Released.\".format(blk.name))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we have our property package ready for being used in the flowsheet for optimization. We shall see that in the next part of this tutorial, [flowsheet_optimization](./flowsheet_optimization_usr.ipynb). To learn in detail about making a custom property package, one should go through [Property Package Example](..\\..\\..\\properties\\custom\\custom_physical_property_packages_usr.ipynb). " + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "idaes-pse", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.16" + } }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Supercritical CO2 Property Surrogate with OMLT Surrogate Object - Embedding Surrogate (Part 2)\n", - "\n", - "Maintainer: Javal Vyas\n", - "\n", - "Author: Javal Vyas\n", - "\n", - "Updated: 2024-01-24\n", - "\n", - "## 1. Integration of Surrogate into Custom Property Package\n", - "\n", - "Here we shall see how to integrate the trained surrogate in the custom property package. One can read more about making a properties package from read the docs. To integrate the surrogate we first define the physical parameter block which will return the properties based on the state variables. State variables would be called from the State Block as Pyomo variables. We will define the surrogate input and output as pyomo variables as well. Once we have defined the variables in the state block then we define our surrogate block.\n", - "\n", - "*NOTE:* For ease of explanation the property package is written in \".ipynb\" format, ideally it should be in a python script. Each class of this package is separated in different cell for the same reason, in practice all the classes in this notebook should be part of the same python script. This folder includes \"properties.py\" file which is how embedding file should look like. \n", - "\n", - "### 1.1 Steps in Creating a Property Package\n", - "Creating a new property package can be broken down into the following steps, which will be demonstrated in the next part of this tutorial.\n", - "\n", - "1. Defining the **units of measurement** for the property package.\n", - "2. Defining the **properties supported** by the property package and the associated metadata.\n", - "3. Defining the **phases and components** of interest.\n", - "4. Defining the necessary **parameters** required to calculate the properties of interest.\n", - "5. Declaring the **state variables** to be used for the property package.\n", - "6. Creating **variables and constraints** to describe the properties of interest.\n", - "7. Creating an **initialization routine** for the property package.\n", - "8. Defining **interface methods** used to couple the property package with unit models." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 2. Importing libraries for making Property Package\n", - "\n", - "To begin with, we are going to need a number of components from the Pyomo modeling environment to construct the variables, constraints and parameters that will make up the property package, and we will also make use of the Pyomo units of measurement tools to define the units of our properties. We will also make use of a number of components and supporting methods from the IDAES modeling framework and libraries. We shall also use the Surrogate API in the IDAES framework to embed the trained surrogate in the property package." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Import Python libraries\n", - "import logging\n", - "\n", - "# Import Pyomo libraries\n", - "from pyomo.environ import (\n", - " Constraint,\n", - " Param,\n", - " Reals,\n", - " Set,\n", - " value,\n", - " Var,\n", - " NonNegativeReals,\n", - " units,\n", - ")\n", - "from pyomo.opt import SolverFactory, TerminationCondition\n", - "\n", - "# Import IDAES cores\n", - "from idaes.core import (\n", - " declare_process_block_class,\n", - " PhysicalParameterBlock,\n", - " StateBlockData,\n", - " StateBlock,\n", - " MaterialBalanceType,\n", - " EnergyBalanceType,\n", - " LiquidPhase,\n", - " Component,\n", - ")\n", - "from idaes.core.util.initialization import solve_indexed_blocks\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.util.misc import extract_data\n", - "from idaes.core.solvers import get_solver\n", - "from pyomo.util.check_units import assert_units_consistent\n", - "from idaes.core.surrogate.surrogate_block import SurrogateBlock\n", - "from idaes.core.surrogate.keras_surrogate import KerasSurrogate\n", - "\n", - "from pyomo.util.model_size import build_model_size_report\n", - "\n", - "# Some more information about this module\n", - "__author__ = \"Javal Vyas\"\n", - "\n", - "\n", - "# Set up logger\n", - "_log = logging.getLogger(__name__)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 3 Defining Classes\n", - "\n", - "We shall be going through each class of the property package in detail. Since there are not reactions occurring in the flowsheet we shall only write the Physical Parameter Block.\n", - "\n", - "## 3.1 Physical Parameter Block\n", - "\n", - "The Physical Parameter Block serves as the central point of reference for all aspects of the property package, and needs to define a number of things about the package. These are summarized below:\n", - "\n", - "* Units of measurement\n", - "* What properties are supported and how they are implemented\n", - "* What components and phases are included in the packages\n", - "* All the global parameters necessary for calculating properties\n", - "* A reference to the associated State Block class, so that construction of the State Block components can be automated from the Physical Parameter Block\n", - "\n", - "To assemble the above mentioned things in a class we need to follow the following steps:\n", - "\n", - "* Declaring the new class and inheriting from the PhysicalParameterBlock base class\n", - "* Declaring any necessary configuration arguments\n", - "* Writing the build method for our class\n", - "* Creating a define_metadata method for the class.\n", - "\n", - "The code below follows the above mentioned steps. \n", - "\n", - "*NOTE*: The SCO2StateBlock will be discussed in the next section." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "@declare_process_block_class(\"SCO2ParameterBlock\")\n", - "class PhysicalParameterData(PhysicalParameterBlock):\n", - " \"\"\"\n", - " Property Parameter Block Class\n", - "\n", - " Contains parameters and indexing sets associated with properties for\n", - " supercritical CO2.\n", - "\n", - " \"\"\"\n", - "\n", - " def build(self):\n", - " \"\"\"\n", - " Callable method for Block construction.\n", - " \"\"\"\n", - " super(PhysicalParameterData, self).build()\n", - "\n", - " self._state_block_class = SCO2StateBlock\n", - "\n", - " # List of valid phases in property package\n", - " self.Liq = LiquidPhase()\n", - "\n", - " # Component list - a list of component identifiers\n", - " self.CO2 = Component()\n", - "\n", - " @classmethod\n", - " def define_metadata(cls, obj):\n", - " obj.add_properties(\n", - " {\n", - " \"flow_mol\": {\"method\": None, \"units\": \"kmol/s\"},\n", - " \"pressure\": {\"method\": None, \"units\": \"MPa\"},\n", - " \"temperature\": {\"method\": None, \"units\": \"K\"},\n", - " \"enth_mol\": {\"method\": None, \"units\": \"kJ/kmol\"},\n", - " \"entr_mol\": {\"method\": None, \"units\": \"kJ/kmol/K\"},\n", - " }\n", - " )\n", - "\n", - " obj.add_default_units(\n", - " {\n", - " \"time\": units.s,\n", - " \"length\": units.m,\n", - " \"mass\": units.kg,\n", - " \"amount\": units.mol,\n", - " \"temperature\": units.K,\n", - " }\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.2 State Block\n", - "\n", - "After the Physical Parameter Block class has been created, the next step is to write the code necessary to create the State Blocks that will be used through out the flowsheet.\n", - "\n", - "For this example, we will begin by describing the content of the StateBlockData objects, as this is where we create the variables and constraints that describe how to calculate the thermophysical properties of the material. \n", - "\n", - "We start by defining the 5 state variables: flow_mol, pressure, temperature, enth_mol and entr_mol as the Pyomo Var, each of this variable has a unit for unit consistency. This is done in _make_state_vars function. We get the enth_mol and entr_mol variables from trained surrogate which we define in this function as well. To get the output variables from the surrogate:\n", - "\n", - "1. Define the input and output variables to the trained surrogate\n", - "2. Load the surrogate from the folder it is saved in, here it is saved in the folder called keras_surrogate (look at the keras_training_usr.ipynb file) using the keras Surrogate API of IDAES package\n", - "3. Define a `SurrogateBlock` and call the build_model method on the block with the input variables, output variables, model formulation and the loaded surrogate as the arguments. \n", - "4. Define the constraints necessary for ensuring physical feasibility of the system like the mass balance and energy balance. Check for the state variables to be within the bounds. \n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "@declare_process_block_class(\"SCO2StateBlock\", block_class=StateBlock)\n", - "class SCO2StateBlockData(StateBlockData):\n", - " \"\"\"\n", - " An example property package for ideal gas properties with Gibbs energy\n", - " \"\"\"\n", - "\n", - " def build(self):\n", - " \"\"\"\n", - " Callable method for Block construction\n", - " \"\"\"\n", - " super(SCO2StateBlockData, self).build()\n", - " self._make_state_vars()\n", - "\n", - " def _make_state_vars(self):\n", - " self.flow_mol = Var(\n", - " domain=NonNegativeReals,\n", - " initialize=1.0,\n", - " units=units.kmol / units.s,\n", - " doc=\"Total molar flowrate [kmol/s]\",\n", - " )\n", - " self.pressure = Var(\n", - " domain=NonNegativeReals,\n", - " initialize=8,\n", - " bounds=(7.38, 40),\n", - " units=units.MPa,\n", - " doc=\"State pressure [MPa]\",\n", - " )\n", - " self.temperature = Var(\n", - " domain=NonNegativeReals,\n", - " initialize=350,\n", - " bounds=(304.2, 760 + 273.15),\n", - " units=units.K,\n", - " doc=\"State temperature [K]\",\n", - " )\n", - " self.entr_mol = Var(\n", - " domain=Reals,\n", - " initialize=10,\n", - " units=units.kJ / units.kmol / units.K,\n", - " doc=\"Entropy [kJ/kmol/K]\",\n", - " )\n", - " self.enth_mol = Var(\n", - " domain=Reals,\n", - " initialize=1,\n", - " units=units.kJ / units.kmol,\n", - " doc=\"Enthalpy [kJ/ kmol]\",\n", - " )\n", - "\n", - " inputs = [self.pressure, self.temperature]\n", - " outputs = [self.enth_mol, self.entr_mol]\n", - " self.keras_surrogate = KerasSurrogate.load_from_folder(\n", - " keras_folder_name=\"sco2_keras_surr\", keras_model_name=\"sco2_keras_model\"\n", - " )\n", - " self.surrogate_enth = SurrogateBlock()\n", - " self.surrogate_enth.build_model(\n", - " self.keras_surrogate,\n", - " formulation=KerasSurrogate.Formulation.FULL_SPACE,\n", - " input_vars=inputs,\n", - " output_vars=outputs,\n", - " )\n", - "\n", - " def get_material_flow_terms(self, p, j):\n", - " return self.flow_mol\n", - "\n", - " def get_enthalpy_flow_terms(self, p):\n", - " return self.flow_mol * self.enth_mol\n", - "\n", - " def default_material_balance_type(self):\n", - " return MaterialBalanceType.componentTotal\n", - "\n", - " def default_energy_balance_type(self):\n", - " return EnergyBalanceType.enthalpyTotal\n", - "\n", - " def define_state_vars(self):\n", - " return {\n", - " \"flow_mol\": self.flow_mol,\n", - " \"temperature\": self.temperature,\n", - " \"pressure\": self.pressure,\n", - " }\n", - "\n", - " def model_check(blk):\n", - " \"\"\"\n", - " Model checks for property block\n", - " \"\"\"\n", - " # Check temperature bounds\n", - " if value(blk.temperature) < blk.temperature.lb:\n", - " _log.error(\"{} Temperature set below lower bound.\".format(blk.name))\n", - " if value(blk.temperature) > blk.temperature.ub:\n", - " _log.error(\"{} Temperature set above upper bound.\".format(blk.name))\n", - "\n", - " # Check pressure bounds\n", - " if value(blk.pressure) < blk.pressure.lb:\n", - " _log.error(\"{} Pressure set below lower bound.\".format(blk.name))\n", - " if value(blk.pressure) > blk.pressure.ub:\n", - " _log.error(\"{} Pressure set above upper bound.\".format(blk.name))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.3 Define Initialization Routine\n", - "\n", - "After defining the variables and constraints required to describe the properties of interest for S-CO2, we need to provide them with a good initial guess. It is often the case that the default values provided to the variables while creating the model are not likely the actual conditions the user would simulate. Given the highly non-linear nature of the physical property calculations, it is more often than not impossible to solve a State Block without providing a set of good initial values for all the variables we have declared.\n", - "\n", - "Any initialization routine can be written by following a 3 step process:\n", - "1. `Fix the state` of the model such that there are no degrees of freedom. For State Blocks, it should only be necessary to fix the state variables to a set of initial guesses provided by the user or unit model, as well as deactivating any constraints like the sum of mole fractions.\n", - "\n", - "2. `Iteratively build up a solution` for the full model. This often involves multiple steps and can involve deactivating constraints and fixing some variables to reduce complexity, as well as analytically calculating values for variables based on the known state (and any previously calculated variables). Solvers can be called as part of any step to efficiently initialize large numbers of variables simultaneously.\n", - "\n", - "3. `Return the state of the model` to where it originally started (with the exception of variable values). Any variable that was fixed or constraint that was deactivated during initialization should be unfixed or reactivated, so that the degrees of freedom are restored to what they were before the initialization began.\n", - "\n", - "\n", - "Thus, we start with fixing the state variables. Here since enth_mol and entr_mol are a function of pressure and temperature, we do not fix them as fixing pressure and temperature would inturn fix them. So, we check if a state variable if fixed or not, if it is fixed then we do not change them, if they are not fixed then we check for an initial guess from the `state_args`, if we get a value then we fix the variable with state_args, else we fix it with the value provided by the user. This should bring the degrees of freedom to 0. Here since we do not have any variable/constrained that we have unfixed/deactivated we can skip step 2 and move to step 3. We unfix the variables that were fixed in step 1 using the `release_state` function. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "class _StateBlock(StateBlock):\n", - " \"\"\"\n", - " This Class contains methods which should be applied to Property Blocks as a\n", - " whole, rather than individual elements of indexed Property Blocks.\n", - " \"\"\"\n", - "\n", - " def initialize(\n", - " blk,\n", - " state_args=None,\n", - " hold_state=False,\n", - " outlvl=1,\n", - " state_vars_fixed=False,\n", - " solver=\"ipopt\",\n", - " optarg={\"tol\": 1e-8},\n", - " ):\n", - " \"\"\"\n", - " Initialisation routine for property package.\n", - "\n", - " Keyword Arguments:\n", - " flow_mol : value at which to initialize component flows\n", - " (default=None)\n", - " pressure : value at which to initialize pressure (default=None)\n", - " temperature : value at which to initialize temperature\n", - " (default=None)\n", - " outlvl : sets output level of initialisation routine\n", - "\n", - " * 0 = no output (default)\n", - " * 1 = return solver state for each step in routine\n", - " * 2 = include solver output information (tee=True)\n", - " state_vars_fixed: Flag to denote if state vars have already been\n", - " fixed.\n", - " - True - states have already been fixed by the\n", - " control volume 1D. Control volume 0D\n", - " does not fix the state vars, so will\n", - " be False if this state block is used\n", - " with 0D blocks.\n", - " - False - states have not been fixed. The state\n", - " block will deal with fixing/unfixing.\n", - " optarg : solver options dictionary object (default=None)\n", - " solver : str indicating which solver to use during\n", - " initialization (default = 'ipopt')\n", - " hold_state : flag indicating whether the initialization routine\n", - " should unfix any state variables fixed during\n", - " initialization (default=False).\n", - " - True - states variables are not unfixed, and\n", - " a dict of returned containing flags for\n", - " which states were fixed during\n", - " initialization.\n", - " - False - state variables are unfixed after\n", - " initialization by calling the\n", - " release_state method\n", - "\n", - " Returns:\n", - " If hold_states is True, returns a dict containing flags for\n", - " which states were fixed during initialization.\n", - " \"\"\"\n", - " if state_vars_fixed is False:\n", - " # Fix state variables if not already fixed\n", - " Fcflag = {}\n", - " Pflag = {}\n", - " Tflag = {}\n", - "\n", - " for k in blk.keys():\n", - " if blk[k].flow_mol.fixed is True:\n", - " Fcflag[k] = True\n", - " else:\n", - " Fcflag[k] = False\n", - " if state_args is None:\n", - " blk[k].flow_mol.fix()\n", - " else:\n", - " blk[k].flow_mol.fix(state_args[\"flow_mol\"])\n", - "\n", - " if blk[k].pressure.fixed is True:\n", - " Pflag[k] = True\n", - " else:\n", - " Pflag[k] = False\n", - " if state_args is None:\n", - " blk[k].pressure.fix()\n", - " else:\n", - " blk[k].pressure.fix(state_args[\"pressure\"])\n", - "\n", - " if blk[k].temperature.fixed is True:\n", - " Tflag[k] = True\n", - " else:\n", - " Tflag[k] = False\n", - " if state_args is None:\n", - " blk[k].temperature.fix()\n", - " else:\n", - " blk[k].temperature.fix(state_args[\"temperature\"])\n", - "\n", - " # If input block, return flags, else release state\n", - " flags = {\"Fcflag\": Fcflag, \"Pflag\": Pflag, \"Tflag\": Tflag}\n", - "\n", - " else:\n", - " # Check when the state vars are fixed already result in dof 0\n", - " for k in blk.keys():\n", - " if degrees_of_freedom(blk[k]) != 0:\n", - " raise Exception(\n", - " \"State vars fixed but degrees of freedom \"\n", - " \"for state block is not zero during \"\n", - " \"initialization.\"\n", - " )\n", - "\n", - " if state_vars_fixed is False:\n", - " if hold_state is True:\n", - " return flags\n", - " else:\n", - " blk.release_state(flags)\n", - "\n", - " def release_state(blk, flags, outlvl=0):\n", - " \"\"\"\n", - " Method to release state variables fixed during initialisation.\n", - "\n", - " Keyword Arguments:\n", - " flags : dict containing information of which state variables\n", - " were fixed during initialization, and should now be\n", - " unfixed. This dict is returned by initialize if\n", - " hold_state=True.\n", - " outlvl : sets output level of of logging\n", - " \"\"\"\n", - " if flags is None:\n", - " return\n", - "\n", - " # Unfix state variables\n", - " for k in blk.keys():\n", - " if flags[\"Fcflag\"][k] is False:\n", - " blk[k].flow_mol.unfix()\n", - " if flags[\"Pflag\"][k] is False:\n", - " blk[k].pressure.unfix()\n", - " if flags[\"Tflag\"][k] is False:\n", - " blk[k].temperature.unfix()\n", - "\n", - " if outlvl > 0:\n", - " if outlvl > 0:\n", - " _log.info(\"{} State Released.\".format(blk.name))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we have our property package ready for being used in the flowsheet for optimization. We shall see that in the next part of this tutorial, [flowsheet_optimization](./flowsheet_optimization_usr.ipynb). To learn in detail about making a custom property package, one should go through [Property Package Example](..\\..\\..\\properties\\custom\\custom_physical_property_packages_usr.ipynb). " - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "idaes-pse", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.16" - }, - "orig_nbformat": 4 - }, - "nbformat": 4, - "nbformat_minor": 3 + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/flowsheet_optimization.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/flowsheet_optimization.ipynb index f4b67424..c85ea3ce 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/flowsheet_optimization.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/flowsheet_optimization.ipynb @@ -1,5 +1,32 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "3e1f61da", + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "code", "execution_count": null, @@ -41,19 +68,7 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "from IPython.display import Image\n", "from pathlib import Path\n", @@ -132,1097 +147,7 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-08-19 23:45:27 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:27 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:27 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:27 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.init.fs.boiler.control_volume: Initialization Complete\n", - "2023-08-19 23:45:28 [INFO] idaes.init.fs.boiler: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.turbine: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.HTR_pseudo_shell.control_volume: Initialization Complete\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.HTR_pseudo_shell: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.LTR_pseudo_shell.control_volume: Initialization Complete\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.LTR_pseudo_shell: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.splitter_1: Initialization Step 2 Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.co2_cooler.control_volume: Initialization Complete\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.co2_cooler: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.bypass_compressor: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.main_compressor: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.splitter_2: Initialization Step 2 Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.FG_cooler.control_volume: Initialization Complete\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.FG_cooler: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.LTR_pseudo_tube.control_volume: Initialization Complete\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.LTR_pseudo_tube: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.mixer: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.HTR_pseudo_tube.control_volume: Initialization Complete\n", - "2023-08-19 23:45:31 [INFO] idaes.init.fs.HTR_pseudo_tube: Initialization Complete: optimal - Optimal Solution Found\n", - "--------------------------------------------------------------------\n", - "The degrees of freedom for the flowsheet is 0\n", - "--------------------------------------------------------------------\n", - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 452\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 118\n", - "\n", - "Total number of variables............................: 178\n", - " variables with only lower bounds: 32\n", - " variables with lower and upper bounds: 59\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 178\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 1.12e+02 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 3.28e-01 1.12e-02 -1.0 1.32e+01 - 9.89e-01 1.00e+00h 1\n", - " 2 0.0000000e+00 5.45e-06 1.05e-06 -1.0 1.32e+01 - 1.00e+00 1.00e+00h 1\n", - " 3 0.0000000e+00 1.37e-08 2.83e-08 -2.5 2.87e-04 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 3.4924596548080444e-10 1.3737007975578308e-08\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 3.4924596548080444e-10 1.3737007975578308e-08\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.004\n", - "Total CPU secs in NLP function evaluations = 0.002\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\n", - "====================================================================================\n", - "Unit : fs.boiler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.4382e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 685.15 893.15\n", - " pressure pascal 3.4510e+07 3.4300e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.turbine Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.92700 : dimensionless : True : (None, None)\n", - " Mechanical Work : -9.9927e+05 : watt : False : (None, None)\n", - " Pressure Change : -24.979 : pascal : False : (None, None)\n", - " Pressure Ratio : 0.27174 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 893.15 729.38\n", - " pressure pascal 3.4300e+07 9.3207e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.HTR_pseudo_shell Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -1.4056e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 729.38 489.15\n", - " pressure pascal 9.3207e+06 9.2507e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.HTR_pseudo_tube Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.4056e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 535.47 736.02\n", - " pressure pascal 3.4560e+07 3.4490e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.LTR_pseudo_shell Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -1.0929e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 489.15 354.15\n", - " pressure pascal 9.2507e+06 9.1807e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.LTR_pseudo_tube Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.0929e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 86647. 86647.\n", - " temperature kelvin 378.99 566.32\n", - " pressure pascal 3.4620e+07 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.splitter_1 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Split Fraction [('bypass',)] : 0.25000 : dimensionless : True : (None, None)\n", - " Split Fraction [('to_cooler',)] : 0.75000 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet bypass to_cooler\n", - " flow_mol mole / second 1.2110e+05 30275. 90825.\n", - " temperature kelvin 354.15 354.15 354.15\n", - " pressure pascal 9.1807e+06 9.1807e+06 9.1807e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.co2_cooler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -4.4513e+05 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 90825. 90825.\n", - " temperature kelvin 354.15 308.15\n", - " pressure pascal 9.1807e+06 9.1107e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.main_compressor Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.85000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 2.2092e+05 : watt : False : (None, None)\n", - " Pressure Change : 25.510 : pascal : False : (None, None)\n", - " Pressure Ratio : 3.8000 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 90825. 90825.\n", - " temperature kelvin 308.15 378.99\n", - " pressure pascal 9.1107e+06 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.bypass_compressor Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.85000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 1.1041e+05 : watt : False : (None, None)\n", - " Pressure Change : 25.706 : pascal : False : (None, None)\n", - " Pressure Ratio : 3.8000 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 30275. 30275.\n", - " temperature kelvin 354.15 460.04\n", - " pressure pascal 9.1807e+06 3.4886e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.splitter_2 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Split Fraction [('to_FG_cooler',)] : 0.046000 : dimensionless : True : (None, None)\n", - " Split Fraction [('to_LTR',)] : 0.95400 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet to_FG_cooler to_LTR \n", - " flow_mol mole / second 90825. 4177.9 86647.\n", - " temperature kelvin 378.99 378.99 378.99\n", - " pressure pascal 3.4620e+07 3.4620e+07 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.FG_cooler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 31903. : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 4177.9 4177.9\n", - " temperature kelvin 378.99 483.15\n", - " pressure pascal 3.4620e+07 3.4560e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.mixer Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units FG_out LTR_out bypass Outlet \n", - " flow_mol mole / second 4177.9 86647. 30275. 1.2110e+05\n", - " temperature kelvin 483.15 566.32 460.04 535.47\n", - " pressure pascal 3.4560e+07 3.4620e+07 3.4886e+07 3.4560e+07\n", - "====================================================================================\n", - "667.9424945058901 kW\n" - ] - } - ], + "outputs": [], "source": [ "def main():\n", " # Setup solver and options\n", @@ -1471,8 +396,7 @@ "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.6" - }, - "orig_nbformat": 4 + } }, "nbformat": 4, "nbformat_minor": 2 diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/flowsheet_optimization.py b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/flowsheet_optimization.py index df312dc4..5936a332 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/flowsheet_optimization.py +++ b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/flowsheet_optimization.py @@ -1,15 +1,16 @@ -############################################################################### +################################################################################# # The Institute for the Design of Advanced Energy Systems Integrated Platform # Framework (IDAES IP) was produced under the DOE Institute for the # Design of Advanced Energy Systems (IDAES). # -# Copyright (c) 2018-2023 by the software owners: The Regents of the +# Copyright (c) 2018-2025 by the software owners: The Regents of the # University of California, through Lawrence Berkeley National Laboratory, # National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon # University, West Virginia University Research Corporation, et al. # All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md # for full copyright and license information. -############################################################################### +# +################################################################################# """ Maintainer: Javal Vyas diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/flowsheet_optimization_doc.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/flowsheet_optimization_doc.ipynb index 82ab6d1d..7335e67d 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/flowsheet_optimization_doc.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/flowsheet_optimization_doc.ipynb @@ -1,5 +1,31 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "code", "execution_count": null, @@ -26,12 +52,14 @@ "source": [ "# Supercritical CO2 Property Surrogate with PySMO Surrogate Object - flowsheet_optimization (Part 3)\n", "\n", + "\n", "Maintainer: Javal Vyas\n", "\n", "Author: Javal Vyas\n", "\n", "Updated: 2024-01-24\n", "\n", + "\n", "With the surrogate model being embedded in the property package, it is ready to be used in the flowsheet. We start by creating the following flowsheet using the IDAES package. " ] }, @@ -39,19 +67,7 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "from IPython.display import Image\n", "from pathlib import Path\n", @@ -130,1097 +146,7 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-08-19 23:45:27 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:27 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:27 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:27 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.init.fs.boiler.control_volume: Initialization Complete\n", - "2023-08-19 23:45:28 [INFO] idaes.init.fs.boiler: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.turbine: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.HTR_pseudo_shell.control_volume: Initialization Complete\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.HTR_pseudo_shell: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.LTR_pseudo_shell.control_volume: Initialization Complete\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.LTR_pseudo_shell: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.splitter_1: Initialization Step 2 Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.co2_cooler.control_volume: Initialization Complete\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.co2_cooler: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.bypass_compressor: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.main_compressor: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.splitter_2: Initialization Step 2 Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.FG_cooler.control_volume: Initialization Complete\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.FG_cooler: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.LTR_pseudo_tube.control_volume: Initialization Complete\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.LTR_pseudo_tube: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.mixer: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.HTR_pseudo_tube.control_volume: Initialization Complete\n", - "2023-08-19 23:45:31 [INFO] idaes.init.fs.HTR_pseudo_tube: Initialization Complete: optimal - Optimal Solution Found\n", - "--------------------------------------------------------------------\n", - "The degrees of freedom for the flowsheet is 0\n", - "--------------------------------------------------------------------\n", - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 452\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 118\n", - "\n", - "Total number of variables............................: 178\n", - " variables with only lower bounds: 32\n", - " variables with lower and upper bounds: 59\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 178\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 1.12e+02 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 3.28e-01 1.12e-02 -1.0 1.32e+01 - 9.89e-01 1.00e+00h 1\n", - " 2 0.0000000e+00 5.45e-06 1.05e-06 -1.0 1.32e+01 - 1.00e+00 1.00e+00h 1\n", - " 3 0.0000000e+00 1.37e-08 2.83e-08 -2.5 2.87e-04 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 3.4924596548080444e-10 1.3737007975578308e-08\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 3.4924596548080444e-10 1.3737007975578308e-08\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.004\n", - "Total CPU secs in NLP function evaluations = 0.002\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\n", - "====================================================================================\n", - "Unit : fs.boiler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.4382e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 685.15 893.15\n", - " pressure pascal 3.4510e+07 3.4300e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.turbine Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.92700 : dimensionless : True : (None, None)\n", - " Mechanical Work : -9.9927e+05 : watt : False : (None, None)\n", - " Pressure Change : -24.979 : pascal : False : (None, None)\n", - " Pressure Ratio : 0.27174 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 893.15 729.38\n", - " pressure pascal 3.4300e+07 9.3207e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.HTR_pseudo_shell Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -1.4056e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 729.38 489.15\n", - " pressure pascal 9.3207e+06 9.2507e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.HTR_pseudo_tube Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.4056e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 535.47 736.02\n", - " pressure pascal 3.4560e+07 3.4490e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.LTR_pseudo_shell Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -1.0929e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 489.15 354.15\n", - " pressure pascal 9.2507e+06 9.1807e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.LTR_pseudo_tube Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.0929e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 86647. 86647.\n", - " temperature kelvin 378.99 566.32\n", - " pressure pascal 3.4620e+07 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.splitter_1 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Split Fraction [('bypass',)] : 0.25000 : dimensionless : True : (None, None)\n", - " Split Fraction [('to_cooler',)] : 0.75000 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet bypass to_cooler\n", - " flow_mol mole / second 1.2110e+05 30275. 90825.\n", - " temperature kelvin 354.15 354.15 354.15\n", - " pressure pascal 9.1807e+06 9.1807e+06 9.1807e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.co2_cooler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -4.4513e+05 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 90825. 90825.\n", - " temperature kelvin 354.15 308.15\n", - " pressure pascal 9.1807e+06 9.1107e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.main_compressor Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.85000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 2.2092e+05 : watt : False : (None, None)\n", - " Pressure Change : 25.510 : pascal : False : (None, None)\n", - " Pressure Ratio : 3.8000 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 90825. 90825.\n", - " temperature kelvin 308.15 378.99\n", - " pressure pascal 9.1107e+06 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.bypass_compressor Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.85000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 1.1041e+05 : watt : False : (None, None)\n", - " Pressure Change : 25.706 : pascal : False : (None, None)\n", - " Pressure Ratio : 3.8000 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 30275. 30275.\n", - " temperature kelvin 354.15 460.04\n", - " pressure pascal 9.1807e+06 3.4886e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.splitter_2 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Split Fraction [('to_FG_cooler',)] : 0.046000 : dimensionless : True : (None, None)\n", - " Split Fraction [('to_LTR',)] : 0.95400 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet to_FG_cooler to_LTR \n", - " flow_mol mole / second 90825. 4177.9 86647.\n", - " temperature kelvin 378.99 378.99 378.99\n", - " pressure pascal 3.4620e+07 3.4620e+07 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.FG_cooler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 31903. : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 4177.9 4177.9\n", - " temperature kelvin 378.99 483.15\n", - " pressure pascal 3.4620e+07 3.4560e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.mixer Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units FG_out LTR_out bypass Outlet \n", - " flow_mol mole / second 4177.9 86647. 30275. 1.2110e+05\n", - " temperature kelvin 483.15 566.32 460.04 535.47\n", - " pressure pascal 3.4560e+07 3.4620e+07 3.4886e+07 3.4560e+07\n", - "====================================================================================\n", - "667.9424945058901 kW\n" - ] - } - ], + "outputs": [], "source": [ "def main():\n", " # Setup solver and options\n", @@ -1469,9 +395,8 @@ "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.6" - }, - "orig_nbformat": 4 + } }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/flowsheet_optimization_test.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/flowsheet_optimization_test.ipynb index 82ab6d1d..d00ae209 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/flowsheet_optimization_test.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/flowsheet_optimization_test.ipynb @@ -1,1477 +1,402 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Supercritical CO2 Property Surrogate with PySMO Surrogate Object - flowsheet_optimization (Part 3)\n", - "\n", - "Maintainer: Javal Vyas\n", - "\n", - "Author: Javal Vyas\n", - "\n", - "Updated: 2024-01-24\n", - "\n", - "With the surrogate model being embedded in the property package, it is ready to be used in the flowsheet. We start by creating the following flowsheet using the IDAES package. " - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ + "cells": [ { - "data": { - "image/png": "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", - "text/plain": [ - "" + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from IPython.display import Image\n", - "from pathlib import Path\n", - "\n", - "\n", - "def datafile_path(name):\n", - " return Path(\"..\") / name\n", - "\n", - "\n", - "Image(datafile_path(\"CO2_flowsheet.png\"))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 1. Importing libraries\n", - "\n", - "We will be using the unit models from the `IDAES` package along with components from `pyomo.environ` and `pyomo.network`. " - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.environ import (\n", - " ConcreteModel,\n", - " Block,\n", - " Var,\n", - " Param,\n", - " Constraint,\n", - " SolverFactory,\n", - " TransformationFactory,\n", - " TerminationCondition,\n", - " value,\n", - " Expression,\n", - " minimize,\n", - " units,\n", - ")\n", - "from pyomo.network import Arc, SequentialDecomposition\n", - "\n", - "# Import IDAES libraries\n", - "from idaes.core import FlowsheetBlock, UnitModelBlockData\n", - "from idaes.models.unit_models import (\n", - " Mixer,\n", - " MomentumMixingType,\n", - " PressureChanger,\n", - " Heater,\n", - " Separator,\n", - " HeatExchanger,\n", - ")\n", - "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.util.initialization import propagate_state\n", - "from properties import SCO2ParameterBlock\n", - "\n", - "import idaes.logger as idaeslog\n", - "\n", - "_log = idaeslog.getModelLogger(\"my_model\", level=idaeslog.DEBUG, tag=\"model\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 2. Constructing the flowsheet\n", - "\n", - "To construct the flowsheet we need to define a ConcreteModel using pyomo and then add a FlowsheetBlock to the ConcreteModel. Here since we are focusing on the steady state process, we shall have the dynamic flag as False in the FlowsheetBlock. Next, we define the properties in the FlowsheetBlock that we imported from the properties.py file. Then start adding the unit models to the FlowsheetBlock with the suitable arguments, after which we connect them using Arcs as in the flowsheet above. \n", - "\n", - "Once we have the connected flowsheet, we initialize individual unit models. Before initializing, we fix desired variables for the desired behavior of the unit model and then use `propagate_state` to pass on the state variables to next unit model in the flowsheet. After completely initializing the flowsheet, we convert the network to a mathematical form by using `network.expand_arcs` from the TransformationFactory and apply it on the flowsheet block. Then we call the solver and solve the flowsheet to calculate the total work in the process. " - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Supercritical CO2 Property Surrogate with PySMO Surrogate Object - flowsheet_optimization (Part 3)\n", + "\n", + "\n", + "Maintainer: Javal Vyas\n", + "\n", + "Author: Javal Vyas\n", + "\n", + "Updated: 2024-01-24\n", + "\n", + "\n", + "With the surrogate model being embedded in the property package, it is ready to be used in the flowsheet. We start by creating the following flowsheet using the IDAES package. " + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-08-19 23:45:27 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:27 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:27 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:27 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.init.fs.boiler.control_volume: Initialization Complete\n", - "2023-08-19 23:45:28 [INFO] idaes.init.fs.boiler: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.turbine: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.HTR_pseudo_shell.control_volume: Initialization Complete\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.HTR_pseudo_shell: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.LTR_pseudo_shell.control_volume: Initialization Complete\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.LTR_pseudo_shell: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.splitter_1: Initialization Step 2 Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.co2_cooler.control_volume: Initialization Complete\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.co2_cooler: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.bypass_compressor: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.main_compressor: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.splitter_2: Initialization Step 2 Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.FG_cooler.control_volume: Initialization Complete\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.FG_cooler: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.LTR_pseudo_tube.control_volume: Initialization Complete\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.LTR_pseudo_tube: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.mixer: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.HTR_pseudo_tube.control_volume: Initialization Complete\n", - "2023-08-19 23:45:31 [INFO] idaes.init.fs.HTR_pseudo_tube: Initialization Complete: optimal - Optimal Solution Found\n", - "--------------------------------------------------------------------\n", - "The degrees of freedom for the flowsheet is 0\n", - "--------------------------------------------------------------------\n", - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 452\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 118\n", - "\n", - "Total number of variables............................: 178\n", - " variables with only lower bounds: 32\n", - " variables with lower and upper bounds: 59\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 178\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 1.12e+02 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 3.28e-01 1.12e-02 -1.0 1.32e+01 - 9.89e-01 1.00e+00h 1\n", - " 2 0.0000000e+00 5.45e-06 1.05e-06 -1.0 1.32e+01 - 1.00e+00 1.00e+00h 1\n", - " 3 0.0000000e+00 1.37e-08 2.83e-08 -2.5 2.87e-04 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 3.4924596548080444e-10 1.3737007975578308e-08\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 3.4924596548080444e-10 1.3737007975578308e-08\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.004\n", - "Total CPU secs in NLP function evaluations = 0.002\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\n", - "====================================================================================\n", - "Unit : fs.boiler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.4382e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 685.15 893.15\n", - " pressure pascal 3.4510e+07 3.4300e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.turbine Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.92700 : dimensionless : True : (None, None)\n", - " Mechanical Work : -9.9927e+05 : watt : False : (None, None)\n", - " Pressure Change : -24.979 : pascal : False : (None, None)\n", - " Pressure Ratio : 0.27174 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 893.15 729.38\n", - " pressure pascal 3.4300e+07 9.3207e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.HTR_pseudo_shell Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -1.4056e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 729.38 489.15\n", - " pressure pascal 9.3207e+06 9.2507e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.HTR_pseudo_tube Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.4056e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 535.47 736.02\n", - " pressure pascal 3.4560e+07 3.4490e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.LTR_pseudo_shell Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -1.0929e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 489.15 354.15\n", - " pressure pascal 9.2507e+06 9.1807e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.LTR_pseudo_tube Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.0929e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 86647. 86647.\n", - " temperature kelvin 378.99 566.32\n", - " pressure pascal 3.4620e+07 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.splitter_1 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Split Fraction [('bypass',)] : 0.25000 : dimensionless : True : (None, None)\n", - " Split Fraction [('to_cooler',)] : 0.75000 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet bypass to_cooler\n", - " flow_mol mole / second 1.2110e+05 30275. 90825.\n", - " temperature kelvin 354.15 354.15 354.15\n", - " pressure pascal 9.1807e+06 9.1807e+06 9.1807e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.co2_cooler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -4.4513e+05 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 90825. 90825.\n", - " temperature kelvin 354.15 308.15\n", - " pressure pascal 9.1807e+06 9.1107e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.main_compressor Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.85000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 2.2092e+05 : watt : False : (None, None)\n", - " Pressure Change : 25.510 : pascal : False : (None, None)\n", - " Pressure Ratio : 3.8000 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 90825. 90825.\n", - " temperature kelvin 308.15 378.99\n", - " pressure pascal 9.1107e+06 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.bypass_compressor Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.85000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 1.1041e+05 : watt : False : (None, None)\n", - " Pressure Change : 25.706 : pascal : False : (None, None)\n", - " Pressure Ratio : 3.8000 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 30275. 30275.\n", - " temperature kelvin 354.15 460.04\n", - " pressure pascal 9.1807e+06 3.4886e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.splitter_2 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Split Fraction [('to_FG_cooler',)] : 0.046000 : dimensionless : True : (None, None)\n", - " Split Fraction [('to_LTR',)] : 0.95400 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet to_FG_cooler to_LTR \n", - " flow_mol mole / second 90825. 4177.9 86647.\n", - " temperature kelvin 378.99 378.99 378.99\n", - " pressure pascal 3.4620e+07 3.4620e+07 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.FG_cooler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 31903. : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 4177.9 4177.9\n", - " temperature kelvin 378.99 483.15\n", - " pressure pascal 3.4620e+07 3.4560e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.mixer Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units FG_out LTR_out bypass Outlet \n", - " flow_mol mole / second 4177.9 86647. 30275. 1.2110e+05\n", - " temperature kelvin 483.15 566.32 460.04 535.47\n", - " pressure pascal 3.4560e+07 3.4620e+07 3.4886e+07 3.4560e+07\n", - "====================================================================================\n", - "667.9424945058901 kW\n" - ] + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import Image\n", + "from pathlib import Path\n", + "\n", + "\n", + "def datafile_path(name):\n", + " return Path(\"..\") / name\n", + "\n", + "\n", + "Image(datafile_path(\"CO2_flowsheet.png\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1. Importing libraries\n", + "\n", + "We will be using the unit models from the `IDAES` package along with components from `pyomo.environ` and `pyomo.network`. " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import (\n", + " ConcreteModel,\n", + " Block,\n", + " Var,\n", + " Param,\n", + " Constraint,\n", + " SolverFactory,\n", + " TransformationFactory,\n", + " TerminationCondition,\n", + " value,\n", + " Expression,\n", + " minimize,\n", + " units,\n", + ")\n", + "from pyomo.network import Arc, SequentialDecomposition\n", + "\n", + "# Import IDAES libraries\n", + "from idaes.core import FlowsheetBlock, UnitModelBlockData\n", + "from idaes.models.unit_models import (\n", + " Mixer,\n", + " MomentumMixingType,\n", + " PressureChanger,\n", + " Heater,\n", + " Separator,\n", + " HeatExchanger,\n", + ")\n", + "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.core.util.initialization import propagate_state\n", + "from properties import SCO2ParameterBlock\n", + "\n", + "import idaes.logger as idaeslog\n", + "\n", + "_log = idaeslog.getModelLogger(\"my_model\", level=idaeslog.DEBUG, tag=\"model\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2. Constructing the flowsheet\n", + "\n", + "To construct the flowsheet we need to define a ConcreteModel using pyomo and then add a FlowsheetBlock to the ConcreteModel. Here since we are focusing on the steady state process, we shall have the dynamic flag as False in the FlowsheetBlock. Next, we define the properties in the FlowsheetBlock that we imported from the properties.py file. Then start adding the unit models to the FlowsheetBlock with the suitable arguments, after which we connect them using Arcs as in the flowsheet above. \n", + "\n", + "Once we have the connected flowsheet, we initialize individual unit models. Before initializing, we fix desired variables for the desired behavior of the unit model and then use `propagate_state` to pass on the state variables to next unit model in the flowsheet. After completely initializing the flowsheet, we convert the network to a mathematical form by using `network.expand_arcs` from the TransformationFactory and apply it on the flowsheet block. Then we call the solver and solve the flowsheet to calculate the total work in the process. " + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "def main():\n", + " # Setup solver and options\n", + " solver = SolverFactory(\"ipopt\")\n", + " outlvl = 0\n", + " tee = True\n", + "\n", + " # Set up concrete model\n", + " m = ConcreteModel()\n", + "\n", + " # Create a flowsheet block\n", + " m.fs = FlowsheetBlock(dynamic=False)\n", + "\n", + " # Create the properties param block\n", + " m.fs.properties = SCO2ParameterBlock()\n", + "\n", + " # Add unit models to the flowsheet\n", + " m.fs.boiler = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.turbine = PressureChanger(\n", + " dynamic=False,\n", + " property_package=m.fs.properties,\n", + " compressor=False,\n", + " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", + " )\n", + "\n", + " m.fs.HTR_pseudo_shell = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.HTR_pseudo_tube = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.LTR_pseudo_shell = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.LTR_pseudo_tube = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.splitter_1 = Separator(\n", + " property_package=m.fs.properties, outlet_list=[\"bypass\", \"to_cooler\"]\n", + " )\n", + "\n", + " m.fs.co2_cooler = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.main_compressor = PressureChanger(\n", + " dynamic=False,\n", + " property_package=m.fs.properties,\n", + " compressor=True,\n", + " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", + " )\n", + "\n", + " m.fs.bypass_compressor = PressureChanger(\n", + " dynamic=False,\n", + " property_package=m.fs.properties,\n", + " compressor=True,\n", + " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", + " )\n", + "\n", + " m.fs.splitter_2 = Separator(\n", + " property_package=m.fs.properties,\n", + " ideal_separation=False,\n", + " outlet_list=[\"to_FG_cooler\", \"to_LTR\"],\n", + " )\n", + "\n", + " m.fs.FG_cooler = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.mixer = Mixer(\n", + " property_package=m.fs.properties, inlet_list=[\"FG_out\", \"LTR_out\", \"bypass\"]\n", + " )\n", + "\n", + " # # Connect the flowsheet\n", + " m.fs.s01 = Arc(source=m.fs.boiler.outlet, destination=m.fs.turbine.inlet)\n", + " m.fs.s02 = Arc(source=m.fs.turbine.outlet, destination=m.fs.HTR_pseudo_shell.inlet)\n", + " m.fs.s03 = Arc(\n", + " source=m.fs.HTR_pseudo_shell.outlet, destination=m.fs.LTR_pseudo_shell.inlet\n", + " )\n", + " m.fs.s04 = Arc(\n", + " source=m.fs.LTR_pseudo_shell.outlet, destination=m.fs.splitter_1.inlet\n", + " )\n", + " m.fs.s05 = Arc(source=m.fs.splitter_1.to_cooler, destination=m.fs.co2_cooler.inlet)\n", + " m.fs.s06 = Arc(\n", + " source=m.fs.splitter_1.bypass, destination=m.fs.bypass_compressor.inlet\n", + " )\n", + " m.fs.s07 = Arc(\n", + " source=m.fs.co2_cooler.outlet, destination=m.fs.main_compressor.inlet\n", + " )\n", + " m.fs.s08 = Arc(source=m.fs.bypass_compressor.outlet, destination=m.fs.mixer.bypass)\n", + " m.fs.s09 = Arc(\n", + " source=m.fs.main_compressor.outlet, destination=m.fs.splitter_2.inlet\n", + " )\n", + " m.fs.s10 = Arc(\n", + " source=m.fs.splitter_2.to_FG_cooler, destination=m.fs.FG_cooler.inlet\n", + " )\n", + " m.fs.s11 = Arc(\n", + " source=m.fs.splitter_2.to_LTR, destination=m.fs.LTR_pseudo_tube.inlet\n", + " )\n", + " m.fs.s12 = Arc(source=m.fs.LTR_pseudo_tube.outlet, destination=m.fs.mixer.LTR_out)\n", + " m.fs.s13 = Arc(source=m.fs.FG_cooler.outlet, destination=m.fs.mixer.FG_out)\n", + " m.fs.s14 = Arc(source=m.fs.mixer.outlet, destination=m.fs.HTR_pseudo_tube.inlet)\n", + "\n", + " # NETL Baseline\n", + " m.fs.boiler.inlet.flow_mol.fix(121.1)\n", + " m.fs.boiler.inlet.temperature.fix(685.15)\n", + " m.fs.boiler.inlet.pressure.fix(34.51)\n", + "\n", + " m.fs.boiler.outlet.temperature.fix(893.15) # Turbine inlet T = 620 C\n", + " m.fs.boiler.deltaP.fix(-0.21)\n", + "\n", + " m.fs.boiler.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s01)\n", + "\n", + " m.fs.turbine.ratioP.fix(1 / 3.68)\n", + " m.fs.turbine.efficiency_isentropic.fix(0.927)\n", + " m.fs.turbine.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s02)\n", + " m.fs.HTR_pseudo_shell.outlet.temperature.fix(489.15)\n", + " m.fs.HTR_pseudo_shell.deltaP.fix(-0.07)\n", + "\n", + " m.fs.HTR_pseudo_shell.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s03)\n", + "\n", + " m.fs.LTR_pseudo_shell.outlet.temperature.fix(354.15)\n", + " m.fs.LTR_pseudo_shell.deltaP.fix(-0.07)\n", + " m.fs.LTR_pseudo_shell.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s04)\n", + " m.fs.splitter_1.split_fraction[0, \"bypass\"].fix(0.25)\n", + "\n", + " m.fs.splitter_1.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s05)\n", + " m.fs.co2_cooler.outlet.temperature.fix(308.15)\n", + " m.fs.co2_cooler.deltaP.fix(-0.07)\n", + " m.fs.co2_cooler.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s06)\n", + " m.fs.bypass_compressor.efficiency_isentropic.fix(0.85)\n", + " m.fs.bypass_compressor.ratioP.fix(3.8)\n", + " m.fs.bypass_compressor.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s07)\n", + " m.fs.main_compressor.efficiency_isentropic.fix(0.85)\n", + " m.fs.main_compressor.ratioP.fix(3.8)\n", + " m.fs.main_compressor.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s09)\n", + "\n", + " m.fs.splitter_2.split_fraction[0, \"to_FG_cooler\"].fix(0.046)\n", + " m.fs.splitter_2.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s10)\n", + " m.fs.FG_cooler.outlet.temperature.fix(483.15)\n", + " m.fs.FG_cooler.deltaP.fix(-0.06)\n", + " m.fs.FG_cooler.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s11)\n", + "\n", + " m.fs.LTR_pseudo_tube.deltaP.fix(0)\n", + " m.fs.LTR_pseudo_tube.heat_duty[0].fix(-value(m.fs.LTR_pseudo_shell.heat_duty[0]))\n", + " m.fs.LTR_pseudo_tube.initialize(outlvl=outlvl)\n", + "\n", + " # Add constraint heats of the LTR_pseudo shell and tube\n", + " m.fs.LTR_pseudo_tube.heat_duty[0].unfix()\n", + " m.fs.c1 = Constraint(\n", + " expr=m.fs.LTR_pseudo_shell.heat_duty[0] == -m.fs.LTR_pseudo_tube.heat_duty[0]\n", + " )\n", + "\n", + " propagate_state(m.fs.s08)\n", + " propagate_state(m.fs.s12)\n", + " propagate_state(m.fs.s13)\n", + "\n", + " m.fs.mixer.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s14)\n", + "\n", + " m.fs.HTR_pseudo_tube.heat_duty[0].fix(-value(m.fs.HTR_pseudo_shell.heat_duty[0]))\n", + " m.fs.HTR_pseudo_tube.deltaP.fix(-0.07)\n", + " m.fs.HTR_pseudo_tube.initialize(outlvl=outlvl)\n", + "\n", + " m.fs.HTR_pseudo_tube.heat_duty[0].unfix()\n", + " m.fs.c2 = Constraint(\n", + " expr=m.fs.HTR_pseudo_shell.heat_duty[0] == -m.fs.HTR_pseudo_tube.heat_duty[0]\n", + " )\n", + "\n", + " TransformationFactory(\"network.expand_arcs\").apply_to(m.fs)\n", + "\n", + " print(\"--------------------------------------------------------------------\")\n", + " print(\"The degrees of freedom for the flowsheet is \", degrees_of_freedom(m))\n", + " print(\"--------------------------------------------------------------------\")\n", + "\n", + " solver.solve(m, tee=tee)\n", + "\n", + " #\n", + " from idaes.core.util.units_of_measurement import (\n", + " convert_quantity_to_reporting_units,\n", + " report_quantity,\n", + " )\n", + "\n", + " # Print reports\n", + " for i in m.fs.component_objects(Block):\n", + " if isinstance(i, UnitModelBlockData):\n", + " i.report()\n", + "\n", + " # Converting units for readability\n", + " print(\n", + " -1 * value(units.convert(m.fs.turbine.work_mechanical[0], units.kW))\n", + " - 1 * value(units.convert(m.fs.main_compressor.work_mechanical[0], units.kW))\n", + " - 1 * value(units.convert(m.fs.bypass_compressor.work_mechanical[0], units.kW)),\n", + " units.kW,\n", + " )\n", + " return m\n", + "\n", + "\n", + "if __name__ == \"__main__\":\n", + " m = main()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.6" } - ], - "source": [ - "def main():\n", - " # Setup solver and options\n", - " solver = SolverFactory(\"ipopt\")\n", - " outlvl = 0\n", - " tee = True\n", - "\n", - " # Set up concrete model\n", - " m = ConcreteModel()\n", - "\n", - " # Create a flowsheet block\n", - " m.fs = FlowsheetBlock(dynamic=False)\n", - "\n", - " # Create the properties param block\n", - " m.fs.properties = SCO2ParameterBlock()\n", - "\n", - " # Add unit models to the flowsheet\n", - " m.fs.boiler = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.turbine = PressureChanger(\n", - " dynamic=False,\n", - " property_package=m.fs.properties,\n", - " compressor=False,\n", - " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", - " )\n", - "\n", - " m.fs.HTR_pseudo_shell = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.HTR_pseudo_tube = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.LTR_pseudo_shell = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.LTR_pseudo_tube = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.splitter_1 = Separator(\n", - " property_package=m.fs.properties, outlet_list=[\"bypass\", \"to_cooler\"]\n", - " )\n", - "\n", - " m.fs.co2_cooler = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.main_compressor = PressureChanger(\n", - " dynamic=False,\n", - " property_package=m.fs.properties,\n", - " compressor=True,\n", - " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", - " )\n", - "\n", - " m.fs.bypass_compressor = PressureChanger(\n", - " dynamic=False,\n", - " property_package=m.fs.properties,\n", - " compressor=True,\n", - " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", - " )\n", - "\n", - " m.fs.splitter_2 = Separator(\n", - " property_package=m.fs.properties,\n", - " ideal_separation=False,\n", - " outlet_list=[\"to_FG_cooler\", \"to_LTR\"],\n", - " )\n", - "\n", - " m.fs.FG_cooler = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.mixer = Mixer(\n", - " property_package=m.fs.properties, inlet_list=[\"FG_out\", \"LTR_out\", \"bypass\"]\n", - " )\n", - "\n", - " # # Connect the flowsheet\n", - " m.fs.s01 = Arc(source=m.fs.boiler.outlet, destination=m.fs.turbine.inlet)\n", - " m.fs.s02 = Arc(source=m.fs.turbine.outlet, destination=m.fs.HTR_pseudo_shell.inlet)\n", - " m.fs.s03 = Arc(\n", - " source=m.fs.HTR_pseudo_shell.outlet, destination=m.fs.LTR_pseudo_shell.inlet\n", - " )\n", - " m.fs.s04 = Arc(\n", - " source=m.fs.LTR_pseudo_shell.outlet, destination=m.fs.splitter_1.inlet\n", - " )\n", - " m.fs.s05 = Arc(source=m.fs.splitter_1.to_cooler, destination=m.fs.co2_cooler.inlet)\n", - " m.fs.s06 = Arc(\n", - " source=m.fs.splitter_1.bypass, destination=m.fs.bypass_compressor.inlet\n", - " )\n", - " m.fs.s07 = Arc(\n", - " source=m.fs.co2_cooler.outlet, destination=m.fs.main_compressor.inlet\n", - " )\n", - " m.fs.s08 = Arc(source=m.fs.bypass_compressor.outlet, destination=m.fs.mixer.bypass)\n", - " m.fs.s09 = Arc(\n", - " source=m.fs.main_compressor.outlet, destination=m.fs.splitter_2.inlet\n", - " )\n", - " m.fs.s10 = Arc(\n", - " source=m.fs.splitter_2.to_FG_cooler, destination=m.fs.FG_cooler.inlet\n", - " )\n", - " m.fs.s11 = Arc(\n", - " source=m.fs.splitter_2.to_LTR, destination=m.fs.LTR_pseudo_tube.inlet\n", - " )\n", - " m.fs.s12 = Arc(source=m.fs.LTR_pseudo_tube.outlet, destination=m.fs.mixer.LTR_out)\n", - " m.fs.s13 = Arc(source=m.fs.FG_cooler.outlet, destination=m.fs.mixer.FG_out)\n", - " m.fs.s14 = Arc(source=m.fs.mixer.outlet, destination=m.fs.HTR_pseudo_tube.inlet)\n", - "\n", - " # NETL Baseline\n", - " m.fs.boiler.inlet.flow_mol.fix(121.1)\n", - " m.fs.boiler.inlet.temperature.fix(685.15)\n", - " m.fs.boiler.inlet.pressure.fix(34.51)\n", - "\n", - " m.fs.boiler.outlet.temperature.fix(893.15) # Turbine inlet T = 620 C\n", - " m.fs.boiler.deltaP.fix(-0.21)\n", - "\n", - " m.fs.boiler.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s01)\n", - "\n", - " m.fs.turbine.ratioP.fix(1 / 3.68)\n", - " m.fs.turbine.efficiency_isentropic.fix(0.927)\n", - " m.fs.turbine.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s02)\n", - " m.fs.HTR_pseudo_shell.outlet.temperature.fix(489.15)\n", - " m.fs.HTR_pseudo_shell.deltaP.fix(-0.07)\n", - "\n", - " m.fs.HTR_pseudo_shell.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s03)\n", - "\n", - " m.fs.LTR_pseudo_shell.outlet.temperature.fix(354.15)\n", - " m.fs.LTR_pseudo_shell.deltaP.fix(-0.07)\n", - " m.fs.LTR_pseudo_shell.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s04)\n", - " m.fs.splitter_1.split_fraction[0, \"bypass\"].fix(0.25)\n", - "\n", - " m.fs.splitter_1.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s05)\n", - " m.fs.co2_cooler.outlet.temperature.fix(308.15)\n", - " m.fs.co2_cooler.deltaP.fix(-0.07)\n", - " m.fs.co2_cooler.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s06)\n", - " m.fs.bypass_compressor.efficiency_isentropic.fix(0.85)\n", - " m.fs.bypass_compressor.ratioP.fix(3.8)\n", - " m.fs.bypass_compressor.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s07)\n", - " m.fs.main_compressor.efficiency_isentropic.fix(0.85)\n", - " m.fs.main_compressor.ratioP.fix(3.8)\n", - " m.fs.main_compressor.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s09)\n", - "\n", - " m.fs.splitter_2.split_fraction[0, \"to_FG_cooler\"].fix(0.046)\n", - " m.fs.splitter_2.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s10)\n", - " m.fs.FG_cooler.outlet.temperature.fix(483.15)\n", - " m.fs.FG_cooler.deltaP.fix(-0.06)\n", - " m.fs.FG_cooler.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s11)\n", - "\n", - " m.fs.LTR_pseudo_tube.deltaP.fix(0)\n", - " m.fs.LTR_pseudo_tube.heat_duty[0].fix(-value(m.fs.LTR_pseudo_shell.heat_duty[0]))\n", - " m.fs.LTR_pseudo_tube.initialize(outlvl=outlvl)\n", - "\n", - " # Add constraint heats of the LTR_pseudo shell and tube\n", - " m.fs.LTR_pseudo_tube.heat_duty[0].unfix()\n", - " m.fs.c1 = Constraint(\n", - " expr=m.fs.LTR_pseudo_shell.heat_duty[0] == -m.fs.LTR_pseudo_tube.heat_duty[0]\n", - " )\n", - "\n", - " propagate_state(m.fs.s08)\n", - " propagate_state(m.fs.s12)\n", - " propagate_state(m.fs.s13)\n", - "\n", - " m.fs.mixer.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s14)\n", - "\n", - " m.fs.HTR_pseudo_tube.heat_duty[0].fix(-value(m.fs.HTR_pseudo_shell.heat_duty[0]))\n", - " m.fs.HTR_pseudo_tube.deltaP.fix(-0.07)\n", - " m.fs.HTR_pseudo_tube.initialize(outlvl=outlvl)\n", - "\n", - " m.fs.HTR_pseudo_tube.heat_duty[0].unfix()\n", - " m.fs.c2 = Constraint(\n", - " expr=m.fs.HTR_pseudo_shell.heat_duty[0] == -m.fs.HTR_pseudo_tube.heat_duty[0]\n", - " )\n", - "\n", - " TransformationFactory(\"network.expand_arcs\").apply_to(m.fs)\n", - "\n", - " print(\"--------------------------------------------------------------------\")\n", - " print(\"The degrees of freedom for the flowsheet is \", degrees_of_freedom(m))\n", - " print(\"--------------------------------------------------------------------\")\n", - "\n", - " solver.solve(m, tee=tee)\n", - "\n", - " #\n", - " from idaes.core.util.units_of_measurement import (\n", - " convert_quantity_to_reporting_units,\n", - " report_quantity,\n", - " )\n", - "\n", - " # Print reports\n", - " for i in m.fs.component_objects(Block):\n", - " if isinstance(i, UnitModelBlockData):\n", - " i.report()\n", - "\n", - " # Converting units for readability\n", - " print(\n", - " -1 * value(units.convert(m.fs.turbine.work_mechanical[0], units.kW))\n", - " - 1 * value(units.convert(m.fs.main_compressor.work_mechanical[0], units.kW))\n", - " - 1 * value(units.convert(m.fs.bypass_compressor.work_mechanical[0], units.kW)),\n", - " units.kW,\n", - " )\n", - " return m\n", - "\n", - "\n", - "if __name__ == \"__main__\":\n", - " m = main()" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.6" }, - "orig_nbformat": 4 - }, - "nbformat": 4, - "nbformat_minor": 3 -} + "nbformat": 4, + "nbformat_minor": 3 +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/flowsheet_optimization_usr.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/flowsheet_optimization_usr.ipynb index 82ab6d1d..d00ae209 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/flowsheet_optimization_usr.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/flowsheet_optimization_usr.ipynb @@ -1,1477 +1,402 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Supercritical CO2 Property Surrogate with PySMO Surrogate Object - flowsheet_optimization (Part 3)\n", - "\n", - "Maintainer: Javal Vyas\n", - "\n", - "Author: Javal Vyas\n", - "\n", - "Updated: 2024-01-24\n", - "\n", - "With the surrogate model being embedded in the property package, it is ready to be used in the flowsheet. We start by creating the following flowsheet using the IDAES package. " - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ + "cells": [ { - "data": { - "image/png": "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", - "text/plain": [ - "" + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from IPython.display import Image\n", - "from pathlib import Path\n", - "\n", - "\n", - "def datafile_path(name):\n", - " return Path(\"..\") / name\n", - "\n", - "\n", - "Image(datafile_path(\"CO2_flowsheet.png\"))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 1. Importing libraries\n", - "\n", - "We will be using the unit models from the `IDAES` package along with components from `pyomo.environ` and `pyomo.network`. " - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.environ import (\n", - " ConcreteModel,\n", - " Block,\n", - " Var,\n", - " Param,\n", - " Constraint,\n", - " SolverFactory,\n", - " TransformationFactory,\n", - " TerminationCondition,\n", - " value,\n", - " Expression,\n", - " minimize,\n", - " units,\n", - ")\n", - "from pyomo.network import Arc, SequentialDecomposition\n", - "\n", - "# Import IDAES libraries\n", - "from idaes.core import FlowsheetBlock, UnitModelBlockData\n", - "from idaes.models.unit_models import (\n", - " Mixer,\n", - " MomentumMixingType,\n", - " PressureChanger,\n", - " Heater,\n", - " Separator,\n", - " HeatExchanger,\n", - ")\n", - "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.util.initialization import propagate_state\n", - "from properties import SCO2ParameterBlock\n", - "\n", - "import idaes.logger as idaeslog\n", - "\n", - "_log = idaeslog.getModelLogger(\"my_model\", level=idaeslog.DEBUG, tag=\"model\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 2. Constructing the flowsheet\n", - "\n", - "To construct the flowsheet we need to define a ConcreteModel using pyomo and then add a FlowsheetBlock to the ConcreteModel. Here since we are focusing on the steady state process, we shall have the dynamic flag as False in the FlowsheetBlock. Next, we define the properties in the FlowsheetBlock that we imported from the properties.py file. Then start adding the unit models to the FlowsheetBlock with the suitable arguments, after which we connect them using Arcs as in the flowsheet above. \n", - "\n", - "Once we have the connected flowsheet, we initialize individual unit models. Before initializing, we fix desired variables for the desired behavior of the unit model and then use `propagate_state` to pass on the state variables to next unit model in the flowsheet. After completely initializing the flowsheet, we convert the network to a mathematical form by using `network.expand_arcs` from the TransformationFactory and apply it on the flowsheet block. Then we call the solver and solve the flowsheet to calculate the total work in the process. " - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Supercritical CO2 Property Surrogate with PySMO Surrogate Object - flowsheet_optimization (Part 3)\n", + "\n", + "\n", + "Maintainer: Javal Vyas\n", + "\n", + "Author: Javal Vyas\n", + "\n", + "Updated: 2024-01-24\n", + "\n", + "\n", + "With the surrogate model being embedded in the property package, it is ready to be used in the flowsheet. We start by creating the following flowsheet using the IDAES package. " + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-08-19 23:45:27 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:27 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:27 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:27 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234527.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.core.surrogate.pysmo_surrogate: Decode surrogate. type=poly\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; results will be saved to \" solution_v_08-19-23_234528.pickle \".\n", - "\n", - "The number of cross-validation cases (3) is used.\n", - "The default training/cross-validation split of 0.75 is used.\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "2023-08-19 23:45:28 [INFO] idaes.init.fs.boiler.control_volume: Initialization Complete\n", - "2023-08-19 23:45:28 [INFO] idaes.init.fs.boiler: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.turbine: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.HTR_pseudo_shell.control_volume: Initialization Complete\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.HTR_pseudo_shell: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.LTR_pseudo_shell.control_volume: Initialization Complete\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.LTR_pseudo_shell: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.splitter_1: Initialization Step 2 Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.co2_cooler.control_volume: Initialization Complete\n", - "2023-08-19 23:45:29 [INFO] idaes.init.fs.co2_cooler: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.bypass_compressor: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.main_compressor: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.splitter_2: Initialization Step 2 Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.FG_cooler.control_volume: Initialization Complete\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.FG_cooler: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.LTR_pseudo_tube.control_volume: Initialization Complete\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.LTR_pseudo_tube: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.mixer: Initialization Complete: optimal - Optimal Solution Found\n", - "2023-08-19 23:45:30 [INFO] idaes.init.fs.HTR_pseudo_tube.control_volume: Initialization Complete\n", - "2023-08-19 23:45:31 [INFO] idaes.init.fs.HTR_pseudo_tube: Initialization Complete: optimal - Optimal Solution Found\n", - "--------------------------------------------------------------------\n", - "The degrees of freedom for the flowsheet is 0\n", - "--------------------------------------------------------------------\n", - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 452\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 118\n", - "\n", - "Total number of variables............................: 178\n", - " variables with only lower bounds: 32\n", - " variables with lower and upper bounds: 59\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 178\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 1.12e+02 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 3.28e-01 1.12e-02 -1.0 1.32e+01 - 9.89e-01 1.00e+00h 1\n", - " 2 0.0000000e+00 5.45e-06 1.05e-06 -1.0 1.32e+01 - 1.00e+00 1.00e+00h 1\n", - " 3 0.0000000e+00 1.37e-08 2.83e-08 -2.5 2.87e-04 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 3.4924596548080444e-10 1.3737007975578308e-08\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 3.4924596548080444e-10 1.3737007975578308e-08\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.004\n", - "Total CPU secs in NLP function evaluations = 0.002\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\n", - "====================================================================================\n", - "Unit : fs.boiler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.4382e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 685.15 893.15\n", - " pressure pascal 3.4510e+07 3.4300e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.turbine Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.92700 : dimensionless : True : (None, None)\n", - " Mechanical Work : -9.9927e+05 : watt : False : (None, None)\n", - " Pressure Change : -24.979 : pascal : False : (None, None)\n", - " Pressure Ratio : 0.27174 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 893.15 729.38\n", - " pressure pascal 3.4300e+07 9.3207e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.HTR_pseudo_shell Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -1.4056e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 729.38 489.15\n", - " pressure pascal 9.3207e+06 9.2507e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.HTR_pseudo_tube Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.4056e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 535.47 736.02\n", - " pressure pascal 3.4560e+07 3.4490e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.LTR_pseudo_shell Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -1.0929e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 1.2110e+05 1.2110e+05\n", - " temperature kelvin 489.15 354.15\n", - " pressure pascal 9.2507e+06 9.1807e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.LTR_pseudo_tube Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.0929e+06 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 86647. 86647.\n", - " temperature kelvin 378.99 566.32\n", - " pressure pascal 3.4620e+07 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.splitter_1 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Split Fraction [('bypass',)] : 0.25000 : dimensionless : True : (None, None)\n", - " Split Fraction [('to_cooler',)] : 0.75000 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet bypass to_cooler\n", - " flow_mol mole / second 1.2110e+05 30275. 90825.\n", - " temperature kelvin 354.15 354.15 354.15\n", - " pressure pascal 9.1807e+06 9.1807e+06 9.1807e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.co2_cooler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : -4.4513e+05 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 90825. 90825.\n", - " temperature kelvin 354.15 308.15\n", - " pressure pascal 9.1807e+06 9.1107e+06\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.main_compressor Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.85000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 2.2092e+05 : watt : False : (None, None)\n", - " Pressure Change : 25.510 : pascal : False : (None, None)\n", - " Pressure Ratio : 3.8000 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 90825. 90825.\n", - " temperature kelvin 308.15 378.99\n", - " pressure pascal 9.1107e+06 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.bypass_compressor Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.85000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 1.1041e+05 : watt : False : (None, None)\n", - " Pressure Change : 25.706 : pascal : False : (None, None)\n", - " Pressure Ratio : 3.8000 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 30275. 30275.\n", - " temperature kelvin 354.15 460.04\n", - " pressure pascal 9.1807e+06 3.4886e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.splitter_2 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Split Fraction [('to_FG_cooler',)] : 0.046000 : dimensionless : True : (None, None)\n", - " Split Fraction [('to_LTR',)] : 0.95400 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet to_FG_cooler to_LTR \n", - " flow_mol mole / second 90825. 4177.9 86647.\n", - " temperature kelvin 378.99 378.99 378.99\n", - " pressure pascal 3.4620e+07 3.4620e+07 3.4620e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.FG_cooler Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 31903. : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 4177.9 4177.9\n", - " temperature kelvin 378.99 483.15\n", - " pressure pascal 3.4620e+07 3.4560e+07\n", - "====================================================================================\n", - "\n", - "====================================================================================\n", - "Unit : fs.mixer Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units FG_out LTR_out bypass Outlet \n", - " flow_mol mole / second 4177.9 86647. 30275. 1.2110e+05\n", - " temperature kelvin 483.15 566.32 460.04 535.47\n", - " pressure pascal 3.4560e+07 3.4620e+07 3.4886e+07 3.4560e+07\n", - "====================================================================================\n", - "667.9424945058901 kW\n" - ] + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import Image\n", + "from pathlib import Path\n", + "\n", + "\n", + "def datafile_path(name):\n", + " return Path(\"..\") / name\n", + "\n", + "\n", + "Image(datafile_path(\"CO2_flowsheet.png\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1. Importing libraries\n", + "\n", + "We will be using the unit models from the `IDAES` package along with components from `pyomo.environ` and `pyomo.network`. " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import (\n", + " ConcreteModel,\n", + " Block,\n", + " Var,\n", + " Param,\n", + " Constraint,\n", + " SolverFactory,\n", + " TransformationFactory,\n", + " TerminationCondition,\n", + " value,\n", + " Expression,\n", + " minimize,\n", + " units,\n", + ")\n", + "from pyomo.network import Arc, SequentialDecomposition\n", + "\n", + "# Import IDAES libraries\n", + "from idaes.core import FlowsheetBlock, UnitModelBlockData\n", + "from idaes.models.unit_models import (\n", + " Mixer,\n", + " MomentumMixingType,\n", + " PressureChanger,\n", + " Heater,\n", + " Separator,\n", + " HeatExchanger,\n", + ")\n", + "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.core.util.initialization import propagate_state\n", + "from properties import SCO2ParameterBlock\n", + "\n", + "import idaes.logger as idaeslog\n", + "\n", + "_log = idaeslog.getModelLogger(\"my_model\", level=idaeslog.DEBUG, tag=\"model\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2. Constructing the flowsheet\n", + "\n", + "To construct the flowsheet we need to define a ConcreteModel using pyomo and then add a FlowsheetBlock to the ConcreteModel. Here since we are focusing on the steady state process, we shall have the dynamic flag as False in the FlowsheetBlock. Next, we define the properties in the FlowsheetBlock that we imported from the properties.py file. Then start adding the unit models to the FlowsheetBlock with the suitable arguments, after which we connect them using Arcs as in the flowsheet above. \n", + "\n", + "Once we have the connected flowsheet, we initialize individual unit models. Before initializing, we fix desired variables for the desired behavior of the unit model and then use `propagate_state` to pass on the state variables to next unit model in the flowsheet. After completely initializing the flowsheet, we convert the network to a mathematical form by using `network.expand_arcs` from the TransformationFactory and apply it on the flowsheet block. Then we call the solver and solve the flowsheet to calculate the total work in the process. " + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "def main():\n", + " # Setup solver and options\n", + " solver = SolverFactory(\"ipopt\")\n", + " outlvl = 0\n", + " tee = True\n", + "\n", + " # Set up concrete model\n", + " m = ConcreteModel()\n", + "\n", + " # Create a flowsheet block\n", + " m.fs = FlowsheetBlock(dynamic=False)\n", + "\n", + " # Create the properties param block\n", + " m.fs.properties = SCO2ParameterBlock()\n", + "\n", + " # Add unit models to the flowsheet\n", + " m.fs.boiler = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.turbine = PressureChanger(\n", + " dynamic=False,\n", + " property_package=m.fs.properties,\n", + " compressor=False,\n", + " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", + " )\n", + "\n", + " m.fs.HTR_pseudo_shell = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.HTR_pseudo_tube = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.LTR_pseudo_shell = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.LTR_pseudo_tube = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.splitter_1 = Separator(\n", + " property_package=m.fs.properties, outlet_list=[\"bypass\", \"to_cooler\"]\n", + " )\n", + "\n", + " m.fs.co2_cooler = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.main_compressor = PressureChanger(\n", + " dynamic=False,\n", + " property_package=m.fs.properties,\n", + " compressor=True,\n", + " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", + " )\n", + "\n", + " m.fs.bypass_compressor = PressureChanger(\n", + " dynamic=False,\n", + " property_package=m.fs.properties,\n", + " compressor=True,\n", + " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", + " )\n", + "\n", + " m.fs.splitter_2 = Separator(\n", + " property_package=m.fs.properties,\n", + " ideal_separation=False,\n", + " outlet_list=[\"to_FG_cooler\", \"to_LTR\"],\n", + " )\n", + "\n", + " m.fs.FG_cooler = Heater(\n", + " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", + " )\n", + "\n", + " m.fs.mixer = Mixer(\n", + " property_package=m.fs.properties, inlet_list=[\"FG_out\", \"LTR_out\", \"bypass\"]\n", + " )\n", + "\n", + " # # Connect the flowsheet\n", + " m.fs.s01 = Arc(source=m.fs.boiler.outlet, destination=m.fs.turbine.inlet)\n", + " m.fs.s02 = Arc(source=m.fs.turbine.outlet, destination=m.fs.HTR_pseudo_shell.inlet)\n", + " m.fs.s03 = Arc(\n", + " source=m.fs.HTR_pseudo_shell.outlet, destination=m.fs.LTR_pseudo_shell.inlet\n", + " )\n", + " m.fs.s04 = Arc(\n", + " source=m.fs.LTR_pseudo_shell.outlet, destination=m.fs.splitter_1.inlet\n", + " )\n", + " m.fs.s05 = Arc(source=m.fs.splitter_1.to_cooler, destination=m.fs.co2_cooler.inlet)\n", + " m.fs.s06 = Arc(\n", + " source=m.fs.splitter_1.bypass, destination=m.fs.bypass_compressor.inlet\n", + " )\n", + " m.fs.s07 = Arc(\n", + " source=m.fs.co2_cooler.outlet, destination=m.fs.main_compressor.inlet\n", + " )\n", + " m.fs.s08 = Arc(source=m.fs.bypass_compressor.outlet, destination=m.fs.mixer.bypass)\n", + " m.fs.s09 = Arc(\n", + " source=m.fs.main_compressor.outlet, destination=m.fs.splitter_2.inlet\n", + " )\n", + " m.fs.s10 = Arc(\n", + " source=m.fs.splitter_2.to_FG_cooler, destination=m.fs.FG_cooler.inlet\n", + " )\n", + " m.fs.s11 = Arc(\n", + " source=m.fs.splitter_2.to_LTR, destination=m.fs.LTR_pseudo_tube.inlet\n", + " )\n", + " m.fs.s12 = Arc(source=m.fs.LTR_pseudo_tube.outlet, destination=m.fs.mixer.LTR_out)\n", + " m.fs.s13 = Arc(source=m.fs.FG_cooler.outlet, destination=m.fs.mixer.FG_out)\n", + " m.fs.s14 = Arc(source=m.fs.mixer.outlet, destination=m.fs.HTR_pseudo_tube.inlet)\n", + "\n", + " # NETL Baseline\n", + " m.fs.boiler.inlet.flow_mol.fix(121.1)\n", + " m.fs.boiler.inlet.temperature.fix(685.15)\n", + " m.fs.boiler.inlet.pressure.fix(34.51)\n", + "\n", + " m.fs.boiler.outlet.temperature.fix(893.15) # Turbine inlet T = 620 C\n", + " m.fs.boiler.deltaP.fix(-0.21)\n", + "\n", + " m.fs.boiler.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s01)\n", + "\n", + " m.fs.turbine.ratioP.fix(1 / 3.68)\n", + " m.fs.turbine.efficiency_isentropic.fix(0.927)\n", + " m.fs.turbine.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s02)\n", + " m.fs.HTR_pseudo_shell.outlet.temperature.fix(489.15)\n", + " m.fs.HTR_pseudo_shell.deltaP.fix(-0.07)\n", + "\n", + " m.fs.HTR_pseudo_shell.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s03)\n", + "\n", + " m.fs.LTR_pseudo_shell.outlet.temperature.fix(354.15)\n", + " m.fs.LTR_pseudo_shell.deltaP.fix(-0.07)\n", + " m.fs.LTR_pseudo_shell.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s04)\n", + " m.fs.splitter_1.split_fraction[0, \"bypass\"].fix(0.25)\n", + "\n", + " m.fs.splitter_1.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s05)\n", + " m.fs.co2_cooler.outlet.temperature.fix(308.15)\n", + " m.fs.co2_cooler.deltaP.fix(-0.07)\n", + " m.fs.co2_cooler.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s06)\n", + " m.fs.bypass_compressor.efficiency_isentropic.fix(0.85)\n", + " m.fs.bypass_compressor.ratioP.fix(3.8)\n", + " m.fs.bypass_compressor.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s07)\n", + " m.fs.main_compressor.efficiency_isentropic.fix(0.85)\n", + " m.fs.main_compressor.ratioP.fix(3.8)\n", + " m.fs.main_compressor.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s09)\n", + "\n", + " m.fs.splitter_2.split_fraction[0, \"to_FG_cooler\"].fix(0.046)\n", + " m.fs.splitter_2.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s10)\n", + " m.fs.FG_cooler.outlet.temperature.fix(483.15)\n", + " m.fs.FG_cooler.deltaP.fix(-0.06)\n", + " m.fs.FG_cooler.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s11)\n", + "\n", + " m.fs.LTR_pseudo_tube.deltaP.fix(0)\n", + " m.fs.LTR_pseudo_tube.heat_duty[0].fix(-value(m.fs.LTR_pseudo_shell.heat_duty[0]))\n", + " m.fs.LTR_pseudo_tube.initialize(outlvl=outlvl)\n", + "\n", + " # Add constraint heats of the LTR_pseudo shell and tube\n", + " m.fs.LTR_pseudo_tube.heat_duty[0].unfix()\n", + " m.fs.c1 = Constraint(\n", + " expr=m.fs.LTR_pseudo_shell.heat_duty[0] == -m.fs.LTR_pseudo_tube.heat_duty[0]\n", + " )\n", + "\n", + " propagate_state(m.fs.s08)\n", + " propagate_state(m.fs.s12)\n", + " propagate_state(m.fs.s13)\n", + "\n", + " m.fs.mixer.initialize(outlvl=outlvl)\n", + "\n", + " propagate_state(m.fs.s14)\n", + "\n", + " m.fs.HTR_pseudo_tube.heat_duty[0].fix(-value(m.fs.HTR_pseudo_shell.heat_duty[0]))\n", + " m.fs.HTR_pseudo_tube.deltaP.fix(-0.07)\n", + " m.fs.HTR_pseudo_tube.initialize(outlvl=outlvl)\n", + "\n", + " m.fs.HTR_pseudo_tube.heat_duty[0].unfix()\n", + " m.fs.c2 = Constraint(\n", + " expr=m.fs.HTR_pseudo_shell.heat_duty[0] == -m.fs.HTR_pseudo_tube.heat_duty[0]\n", + " )\n", + "\n", + " TransformationFactory(\"network.expand_arcs\").apply_to(m.fs)\n", + "\n", + " print(\"--------------------------------------------------------------------\")\n", + " print(\"The degrees of freedom for the flowsheet is \", degrees_of_freedom(m))\n", + " print(\"--------------------------------------------------------------------\")\n", + "\n", + " solver.solve(m, tee=tee)\n", + "\n", + " #\n", + " from idaes.core.util.units_of_measurement import (\n", + " convert_quantity_to_reporting_units,\n", + " report_quantity,\n", + " )\n", + "\n", + " # Print reports\n", + " for i in m.fs.component_objects(Block):\n", + " if isinstance(i, UnitModelBlockData):\n", + " i.report()\n", + "\n", + " # Converting units for readability\n", + " print(\n", + " -1 * value(units.convert(m.fs.turbine.work_mechanical[0], units.kW))\n", + " - 1 * value(units.convert(m.fs.main_compressor.work_mechanical[0], units.kW))\n", + " - 1 * value(units.convert(m.fs.bypass_compressor.work_mechanical[0], units.kW)),\n", + " units.kW,\n", + " )\n", + " return m\n", + "\n", + "\n", + "if __name__ == \"__main__\":\n", + " m = main()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.6" } - ], - "source": [ - "def main():\n", - " # Setup solver and options\n", - " solver = SolverFactory(\"ipopt\")\n", - " outlvl = 0\n", - " tee = True\n", - "\n", - " # Set up concrete model\n", - " m = ConcreteModel()\n", - "\n", - " # Create a flowsheet block\n", - " m.fs = FlowsheetBlock(dynamic=False)\n", - "\n", - " # Create the properties param block\n", - " m.fs.properties = SCO2ParameterBlock()\n", - "\n", - " # Add unit models to the flowsheet\n", - " m.fs.boiler = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.turbine = PressureChanger(\n", - " dynamic=False,\n", - " property_package=m.fs.properties,\n", - " compressor=False,\n", - " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", - " )\n", - "\n", - " m.fs.HTR_pseudo_shell = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.HTR_pseudo_tube = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.LTR_pseudo_shell = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.LTR_pseudo_tube = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.splitter_1 = Separator(\n", - " property_package=m.fs.properties, outlet_list=[\"bypass\", \"to_cooler\"]\n", - " )\n", - "\n", - " m.fs.co2_cooler = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.main_compressor = PressureChanger(\n", - " dynamic=False,\n", - " property_package=m.fs.properties,\n", - " compressor=True,\n", - " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", - " )\n", - "\n", - " m.fs.bypass_compressor = PressureChanger(\n", - " dynamic=False,\n", - " property_package=m.fs.properties,\n", - " compressor=True,\n", - " thermodynamic_assumption=ThermodynamicAssumption.isentropic,\n", - " )\n", - "\n", - " m.fs.splitter_2 = Separator(\n", - " property_package=m.fs.properties,\n", - " ideal_separation=False,\n", - " outlet_list=[\"to_FG_cooler\", \"to_LTR\"],\n", - " )\n", - "\n", - " m.fs.FG_cooler = Heater(\n", - " dynamic=False, property_package=m.fs.properties, has_pressure_change=True\n", - " )\n", - "\n", - " m.fs.mixer = Mixer(\n", - " property_package=m.fs.properties, inlet_list=[\"FG_out\", \"LTR_out\", \"bypass\"]\n", - " )\n", - "\n", - " # # Connect the flowsheet\n", - " m.fs.s01 = Arc(source=m.fs.boiler.outlet, destination=m.fs.turbine.inlet)\n", - " m.fs.s02 = Arc(source=m.fs.turbine.outlet, destination=m.fs.HTR_pseudo_shell.inlet)\n", - " m.fs.s03 = Arc(\n", - " source=m.fs.HTR_pseudo_shell.outlet, destination=m.fs.LTR_pseudo_shell.inlet\n", - " )\n", - " m.fs.s04 = Arc(\n", - " source=m.fs.LTR_pseudo_shell.outlet, destination=m.fs.splitter_1.inlet\n", - " )\n", - " m.fs.s05 = Arc(source=m.fs.splitter_1.to_cooler, destination=m.fs.co2_cooler.inlet)\n", - " m.fs.s06 = Arc(\n", - " source=m.fs.splitter_1.bypass, destination=m.fs.bypass_compressor.inlet\n", - " )\n", - " m.fs.s07 = Arc(\n", - " source=m.fs.co2_cooler.outlet, destination=m.fs.main_compressor.inlet\n", - " )\n", - " m.fs.s08 = Arc(source=m.fs.bypass_compressor.outlet, destination=m.fs.mixer.bypass)\n", - " m.fs.s09 = Arc(\n", - " source=m.fs.main_compressor.outlet, destination=m.fs.splitter_2.inlet\n", - " )\n", - " m.fs.s10 = Arc(\n", - " source=m.fs.splitter_2.to_FG_cooler, destination=m.fs.FG_cooler.inlet\n", - " )\n", - " m.fs.s11 = Arc(\n", - " source=m.fs.splitter_2.to_LTR, destination=m.fs.LTR_pseudo_tube.inlet\n", - " )\n", - " m.fs.s12 = Arc(source=m.fs.LTR_pseudo_tube.outlet, destination=m.fs.mixer.LTR_out)\n", - " m.fs.s13 = Arc(source=m.fs.FG_cooler.outlet, destination=m.fs.mixer.FG_out)\n", - " m.fs.s14 = Arc(source=m.fs.mixer.outlet, destination=m.fs.HTR_pseudo_tube.inlet)\n", - "\n", - " # NETL Baseline\n", - " m.fs.boiler.inlet.flow_mol.fix(121.1)\n", - " m.fs.boiler.inlet.temperature.fix(685.15)\n", - " m.fs.boiler.inlet.pressure.fix(34.51)\n", - "\n", - " m.fs.boiler.outlet.temperature.fix(893.15) # Turbine inlet T = 620 C\n", - " m.fs.boiler.deltaP.fix(-0.21)\n", - "\n", - " m.fs.boiler.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s01)\n", - "\n", - " m.fs.turbine.ratioP.fix(1 / 3.68)\n", - " m.fs.turbine.efficiency_isentropic.fix(0.927)\n", - " m.fs.turbine.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s02)\n", - " m.fs.HTR_pseudo_shell.outlet.temperature.fix(489.15)\n", - " m.fs.HTR_pseudo_shell.deltaP.fix(-0.07)\n", - "\n", - " m.fs.HTR_pseudo_shell.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s03)\n", - "\n", - " m.fs.LTR_pseudo_shell.outlet.temperature.fix(354.15)\n", - " m.fs.LTR_pseudo_shell.deltaP.fix(-0.07)\n", - " m.fs.LTR_pseudo_shell.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s04)\n", - " m.fs.splitter_1.split_fraction[0, \"bypass\"].fix(0.25)\n", - "\n", - " m.fs.splitter_1.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s05)\n", - " m.fs.co2_cooler.outlet.temperature.fix(308.15)\n", - " m.fs.co2_cooler.deltaP.fix(-0.07)\n", - " m.fs.co2_cooler.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s06)\n", - " m.fs.bypass_compressor.efficiency_isentropic.fix(0.85)\n", - " m.fs.bypass_compressor.ratioP.fix(3.8)\n", - " m.fs.bypass_compressor.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s07)\n", - " m.fs.main_compressor.efficiency_isentropic.fix(0.85)\n", - " m.fs.main_compressor.ratioP.fix(3.8)\n", - " m.fs.main_compressor.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s09)\n", - "\n", - " m.fs.splitter_2.split_fraction[0, \"to_FG_cooler\"].fix(0.046)\n", - " m.fs.splitter_2.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s10)\n", - " m.fs.FG_cooler.outlet.temperature.fix(483.15)\n", - " m.fs.FG_cooler.deltaP.fix(-0.06)\n", - " m.fs.FG_cooler.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s11)\n", - "\n", - " m.fs.LTR_pseudo_tube.deltaP.fix(0)\n", - " m.fs.LTR_pseudo_tube.heat_duty[0].fix(-value(m.fs.LTR_pseudo_shell.heat_duty[0]))\n", - " m.fs.LTR_pseudo_tube.initialize(outlvl=outlvl)\n", - "\n", - " # Add constraint heats of the LTR_pseudo shell and tube\n", - " m.fs.LTR_pseudo_tube.heat_duty[0].unfix()\n", - " m.fs.c1 = Constraint(\n", - " expr=m.fs.LTR_pseudo_shell.heat_duty[0] == -m.fs.LTR_pseudo_tube.heat_duty[0]\n", - " )\n", - "\n", - " propagate_state(m.fs.s08)\n", - " propagate_state(m.fs.s12)\n", - " propagate_state(m.fs.s13)\n", - "\n", - " m.fs.mixer.initialize(outlvl=outlvl)\n", - "\n", - " propagate_state(m.fs.s14)\n", - "\n", - " m.fs.HTR_pseudo_tube.heat_duty[0].fix(-value(m.fs.HTR_pseudo_shell.heat_duty[0]))\n", - " m.fs.HTR_pseudo_tube.deltaP.fix(-0.07)\n", - " m.fs.HTR_pseudo_tube.initialize(outlvl=outlvl)\n", - "\n", - " m.fs.HTR_pseudo_tube.heat_duty[0].unfix()\n", - " m.fs.c2 = Constraint(\n", - " expr=m.fs.HTR_pseudo_shell.heat_duty[0] == -m.fs.HTR_pseudo_tube.heat_duty[0]\n", - " )\n", - "\n", - " TransformationFactory(\"network.expand_arcs\").apply_to(m.fs)\n", - "\n", - " print(\"--------------------------------------------------------------------\")\n", - " print(\"The degrees of freedom for the flowsheet is \", degrees_of_freedom(m))\n", - " print(\"--------------------------------------------------------------------\")\n", - "\n", - " solver.solve(m, tee=tee)\n", - "\n", - " #\n", - " from idaes.core.util.units_of_measurement import (\n", - " convert_quantity_to_reporting_units,\n", - " report_quantity,\n", - " )\n", - "\n", - " # Print reports\n", - " for i in m.fs.component_objects(Block):\n", - " if isinstance(i, UnitModelBlockData):\n", - " i.report()\n", - "\n", - " # Converting units for readability\n", - " print(\n", - " -1 * value(units.convert(m.fs.turbine.work_mechanical[0], units.kW))\n", - " - 1 * value(units.convert(m.fs.main_compressor.work_mechanical[0], units.kW))\n", - " - 1 * value(units.convert(m.fs.bypass_compressor.work_mechanical[0], units.kW)),\n", - " units.kW,\n", - " )\n", - " return m\n", - "\n", - "\n", - "if __name__ == \"__main__\":\n", - " m = main()" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.6" }, - "orig_nbformat": 4 - }, - "nbformat": 4, - "nbformat_minor": 3 -} + "nbformat": 4, + "nbformat_minor": 3 +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/properties.py b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/properties.py index 6cd173b7..9c8acbe4 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/properties.py +++ b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/properties.py @@ -1,15 +1,16 @@ -############################################################################## -# Institute for the Design of Advanced Energy Systems Process Systems -# Engineering Framework (IDAES PSE Framework) Copyright (c) 2018-2019, by the -# software owners: The Regents of the University of California, through -# Lawrence Berkeley National Laboratory, National Technology & Engineering -# Solutions of Sandia, LLC, Carnegie Mellon University, West Virginia -# University Research Corporation, et al. All rights reserved. +################################################################################# +# The Institute for the Design of Advanced Energy Systems Integrated Platform +# Framework (IDAES IP) was produced under the DOE Institute for the +# Design of Advanced Energy Systems (IDAES). # -# Please see the files COPYRIGHT.txt and LICENSE.txt for full copyright and -# license information, respectively. Both files are also available online -# at the URL "https://github.com/IDAES/idaes-pse". -############################################################################## +# Copyright (c) 2018-2025 by the software owners: The Regents of the +# University of California, through Lawrence Berkeley National Laboratory, +# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon +# University, West Virginia University Research Corporation, et al. +# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md +# for full copyright and license information. +# +################################################################################# """ Maintainer: Javal Vyas diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/pysmo_poly_surrogate.json b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/pysmo_poly_surrogate.json index f7f6e287..d39da857 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/pysmo_poly_surrogate.json +++ b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/pysmo_poly_surrogate.json @@ -1 +1 @@ -{"model_encoding": {"enth_mol": {"attr": {"regression_data_columns": ["pressure", "temperature"], "multinomials": 1, "additional_term_expressions": ["IndexedParam[pressure]*IndexedParam[temperature]*IndexedParam[temperature]", "IndexedParam[pressure]*IndexedParam[pressure]*IndexedParam[temperature]*IndexedParam[temperature]", "IndexedParam[pressure]*IndexedParam[pressure]*IndexedParam[temperature]", "IndexedParam[pressure]/IndexedParam[temperature]", "IndexedParam[temperature]/IndexedParam[pressure]"], "optimal_weights_array": [[-539145.2641931743], [-1572.9941129612596], [1028.1303702529963], [-41.89265612633253], [-2.854098382160082], [3.1084792045014056], [0.0040249321969904606], [-0.07298691795031877], [-2.7827021177926484e-06], [0.0006559340352560386], [7.62454692622566e-10], [4.50540106476475], [-0.0025967218940188964], [3.27147430041989e-05], [-0.05205092851352775], [149943.17003170087], [-3.5662256522946807]], "final_polynomial_order": 5, "errors": {"MAE": 116.22937611304296, "MSE": 39254.96789837278, "R2": 0.9997117200542968}, "extra_terms_feature_vector": ["IndexedParam[pressure]", "IndexedParam[temperature]"]}, "map": {"regression_data_columns": "list", "multinomials": "str", "additional_term_expressions": "other", "optimal_weights_array": "numpy", "final_polynomial_order": "str", "errors": "str", "extra_terms_feature_vector": "other"}}, "entr_mol": {"attr": {"regression_data_columns": ["pressure", "temperature"], "multinomials": 1, "additional_term_expressions": ["IndexedParam[pressure]*IndexedParam[temperature]*IndexedParam[temperature]", "IndexedParam[pressure]*IndexedParam[pressure]*IndexedParam[temperature]*IndexedParam[temperature]", "IndexedParam[pressure]*IndexedParam[pressure]*IndexedParam[temperature]", "IndexedParam[pressure]/IndexedParam[temperature]", "IndexedParam[temperature]/IndexedParam[pressure]"], "optimal_weights_array": [[-529.9581296941684], [-5.674476891947422], [3.6251620831469844], [-0.012206052330165947], [-0.010121999171951317], [0.0044164987227566545], [1.4212146246171698e-05], [-0.00012049491972756627], [-9.875650167428602e-09], [1.1673348430972035e-06], [2.72031843813476e-12], [0.010605178085763924], [-6.047902870413699e-06], [6.872924493404928e-08], [-0.00011146830780061758], [437.25207041949056], [0.0015391876304710196]], "final_polynomial_order": 5, "errors": {"MAE": 0.34548912239751245, "MSE": 0.3560561890323906, "R2": 0.9991570382929269}, "extra_terms_feature_vector": ["IndexedParam[pressure]", "IndexedParam[temperature]"]}, "map": {"regression_data_columns": "list", "multinomials": "str", "additional_term_expressions": "other", "optimal_weights_array": "numpy", "final_polynomial_order": "str", "errors": "str", "extra_terms_feature_vector": "other"}}}, "input_labels": ["pressure", "temperature"], "output_labels": ["enth_mol", "entr_mol"], "input_bounds": {"pressure": [7, 40], "temperature": [306, 1000]}, "surrogate_type": "poly"} +{"model_encoding": {"enth_mol": {"attr": {"regression_data_columns": ["pressure", "temperature"], "multinomials": 1, "additional_term_expressions": ["IndexedParam[pressure]*IndexedParam[temperature]*IndexedParam[temperature]", "IndexedParam[pressure]*IndexedParam[pressure]*IndexedParam[temperature]*IndexedParam[temperature]", "IndexedParam[pressure]*IndexedParam[pressure]*IndexedParam[temperature]", "IndexedParam[pressure]/IndexedParam[temperature]", "IndexedParam[temperature]/IndexedParam[pressure]"], "optimal_weights_array": [[-532406.9783680356], [-3522.224503909828], [1026.508682381751], [87.02213445380926], [-2.8093411578819225], [-2.057554668145109], [0.00391331610318907], [0.03315298534505367], [-2.6709031877448146e-06], [-0.0002155058528679485], [7.234531836518362e-10], [5.273549569210245], [-0.00316656998448584], [4.0846921577656745e-05], [-0.0611269927809929], [211328.84979007006], [-31.131643029781763]], "final_polynomial_order": 5, "errors": {"MAE": 135.83694985195544, "MSE": 55638.45114342264, "R2": 0.9995909742869099}, "extra_terms_feature_vector": ["IndexedParam[pressure]", "IndexedParam[temperature]"]}, "map": {"regression_data_columns": "list", "multinomials": "str", "additional_term_expressions": "other", "optimal_weights_array": "numpy", "final_polynomial_order": "str", "errors": "str", "extra_terms_feature_vector": "other"}}, "entr_mol": {"attr": {"regression_data_columns": ["pressure", "temperature"], "multinomials": 1, "additional_term_expressions": ["IndexedParam[pressure]*IndexedParam[temperature]*IndexedParam[temperature]", "IndexedParam[pressure]*IndexedParam[pressure]*IndexedParam[temperature]*IndexedParam[temperature]", "IndexedParam[pressure]*IndexedParam[pressure]*IndexedParam[temperature]", "IndexedParam[pressure]/IndexedParam[temperature]", "IndexedParam[temperature]/IndexedParam[pressure]"], "optimal_weights_array": [[-514.1924121788354], [-11.09193311032389], [3.6487423712870517], [0.3461768629366957], [-0.01009678903985687], [-0.009930004397129804], [1.4064781246143847e-05], [0.00017393636399251736], [-9.69366783032068e-09], [-1.2424226700016335e-06], [2.6515054190115763e-12], [0.01280703828263553], [-7.65992575776514e-06], [9.215292556034875e-08], [-0.00013850938715034193], [603.6016182516814], [-0.07374278902590212]], "final_polynomial_order": 5, "errors": {"MAE": 0.3944202758917724, "MSE": 0.5029166638499702, "R2": 0.9988339144250858}, "extra_terms_feature_vector": ["IndexedParam[pressure]", "IndexedParam[temperature]"]}, "map": {"regression_data_columns": "list", "multinomials": "str", "additional_term_expressions": "other", "optimal_weights_array": "numpy", "final_polynomial_order": "str", "errors": "str", "extra_terms_feature_vector": "other"}}}, "input_labels": ["pressure", "temperature"], "output_labels": ["enth_mol", "entr_mol"], "input_bounds": {"pressure": [7, 40], "temperature": [306, 1000]}, "surrogate_type": "poly"} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/pysmo_training.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/pysmo_training.ipynb index 2a3ddb83..ce05e540 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/pysmo_training.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/pysmo_training.ipynb @@ -1,5 +1,32 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "08ed0fa1", + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "code", "execution_count": null, @@ -54,19 +81,7 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "from IPython.display import Image\n", "from pathlib import Path\n", @@ -166,198 +181,7 @@ "cell_type": "code", "execution_count": 4, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; previous file will be overwritten.\n", - "\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "No iterations will be run.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "\n", - "Best surrogate model is of order 5 with a cross-val S.S. Error of 20466.657669\n", - "\n", - "------------------------------------------------------------\n", - "The final coefficients of the regression terms are: \n", - "\n", - "k | -534397.59515\n", - "(x_ 1 )^ 1 | -2733.579691\n", - "(x_ 2 )^ 1 | 1036.106357\n", - "(x_ 1 )^ 2 | 32.409203\n", - "(x_ 2 )^ 2 | -2.852387\n", - "(x_ 1 )^ 3 | 0.893563\n", - "(x_ 2 )^ 3 | 0.004018\n", - "(x_ 1 )^ 4 | -0.045284\n", - "(x_ 2 )^ 4 | -3e-06\n", - "(x_ 1 )^ 5 | 0.000564\n", - "(x_ 2 )^ 5 | 0.0\n", - "x_ 1 .x_ 2 | 4.372684\n", - "\n", - "The coefficients of the extra terms in additional_regression_features are:\n", - "\n", - "Coeff. additional_regression_features[ 1 ]: -0.002723\n", - "Coeff. additional_regression_features[ 2 ]: 3.6e-05\n", - "Coeff. additional_regression_features[ 3 ]: -0.050607\n", - "Coeff. additional_regression_features[ 4 ]: 169668.814595\n", - "Coeff. additional_regression_features[ 5 ]: -44.726026\n", - "\n", - "Regression model performance on training data:\n", - "Order: 5 / MAE: 134.972465 / MSE: 54613.278159 / R^2: 0.999601\n", - "\n", - "Results saved in solution.pickle\n", - "2023-08-19 23:48:46 [INFO] idaes.core.surrogate.pysmo_surrogate: Model for output enth_mol trained successfully\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; previous file will be overwritten.\n", - "\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "No iterations will be run.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "\n", - "Best surrogate model is of order 5 with a cross-val S.S. Error of 0.156437\n", - "\n", - "------------------------------------------------------------\n", - "The final coefficients of the regression terms are: \n", - "\n", - "k | -519.862457\n", - "(x_ 1 )^ 1 | -8.820865\n", - "(x_ 2 )^ 1 | 3.676641\n", - "(x_ 1 )^ 2 | 0.18002\n", - "(x_ 2 )^ 2 | -0.010217\n", - "(x_ 1 )^ 3 | -0.000783\n", - "(x_ 2 )^ 3 | 1.4e-05\n", - "(x_ 1 )^ 4 | -6.9e-05\n", - "(x_ 2 )^ 4 | -0.0\n", - "(x_ 1 )^ 5 | 1e-06\n", - "(x_ 2 )^ 5 | 0.0\n", - "x_ 1 .x_ 2 | 0.010367\n", - "\n", - "The coefficients of the extra terms in additional_regression_features are:\n", - "\n", - "Coeff. additional_regression_features[ 1 ]: -7e-06\n", - "Coeff. additional_regression_features[ 2 ]: 0.0\n", - "Coeff. additional_regression_features[ 3 ]: -0.000112\n", - "Coeff. additional_regression_features[ 4 ]: 484.312223\n", - "Coeff. additional_regression_features[ 5 ]: -0.1166\n", - "\n", - "Regression model performance on training data:\n", - "Order: 5 / MAE: 0.398072 / MSE: 0.495330 / R^2: 0.998873\n", - "\n", - "Results saved in solution.pickle\n", - "2023-08-19 23:49:20 [INFO] idaes.core.surrogate.pysmo_surrogate: Model for output entr_mol trained successfully\n" - ] - } - ], + "outputs": [], "source": [ "# Create PySMO trainer object\n", "trainer = PysmoPolyTrainer(\n", @@ -403,108 +227,7 @@ "cell_type": "code", "execution_count": 5, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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yvcswiciouaoQUPY4sWL8fLLL1c45ujRo9i5cycKCwvx2GOP1dOVNYzHHnsMCxYsUL4vKChAUFBQA16RmnmTVTl0xccvR16eJ7TaYpSUOCl3SV66dKnC2St7XfDj4uLQvXt3G88gIiJqXho0hD388MOYOXNmhWM6deqE7777DsnJyXByclId69+/P6ZOnYo1a9agXbt2OH/+vOq4/H27du2U/9oaY35cfszf31815pZbblHGXLhwQXWO0tJS5OXlVfo65q9hi5OTk9V7bEhZWRpkZATD0zMXAKw22966dSzi45fj8mVPq3AGbAYATJs2rVqv6ePjU6vvgYiIqLFq0BDm4+NTpV+6b7zxBp5//nnl+6ysLMTExGDdunWIjIwEAOj1ejz++OMoKSmBVqsFACQkJKBbt27K8p9er8euXbsQHx+vnCshIQF6vR4AEBISgnbt2mHXrl1K6CooKEBKSgruv/9+5Rz5+flITU1FREQEAOC7776D0Wis1rU0tMq637//PjBnji+MxhlKIb6tNhWZmYE2w5m83ZCLiwvmzZuH4uJi5Ofno7S01Oq1tFotdDodlx2JiKhlEU1QRkaGACAOHjyoPJafny/8/PzE9OnTRVpamli7dq1wcXER7777rjJm3759olWrVuLVV18VR48eFU8//bTQarXit99+U8a89NJLwsPDQ3z11Vfi8OHD4h//+IcICQkR169fV8aMGjVK9OvXT6SkpIi9e/eKLl26iClTplTrWqrCYDAIAMJgMNTgU7Jv1SohNBohANN/V61SH8/MLD8uf0lSmQDKrB6bNGm96jH5a8aMD8WSJUtEVlZWrV47ERFRY1fV39/NJoQJIcSvv/4qhgwZIpycnET79u3FSy+9ZPXc9evXi65duwpHR0fRs2dPsX37dtVxo9EonnzySeHn5yecnJzE7bffLo4fP64ak5ubK6ZMmSLatGkj3N3dxV133SUKCwurfS2VqYsQZitgOTiYHpd99511qAKEGDRo719hzBTAxo//Ssyf/5rymHk4mz//NYYwIiJqkar6+1sSQoiGnIkj+woKCqDT6WAwGODu7l4r59y9G7jtNtuP33qr6c/nzgEdOwJGsw4UkmTExImb4OFxGSUljqq7Gm0V7Mvd7ufMmaOqryMiImruqvr7u0m0qKDa06ULoNGoA5aDA9C5s+nPubm5cHAo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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj4AAAHHCAYAAAC/R1LgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAACH+klEQVR4nO2deXxTVd7/P+nK1qbQUtraQkthdJBFqYiFERCKwE9weECpC8oOOqAiDigP48K4IKCI4LgwIjgqCgJuODoURUelMooi4iADPEXAlqWBBqRCS3N/f2RuSNK7r+fefN+vFy9tcpOcnJx7zud8t+PhOI4DQRAEQRBEDBBndwMIgiAIgiCsgoQPQRAEQRAxAwkfgiAIgiBiBhI+BEEQBEHEDCR8CIIgCIKIGUj4EARBEAQRM5DwIQiCIAgiZiDhQxAEQRBEzEDChyAIgiCImIGED0EQBIOsXLkSHo8H+/fvt7spBOEqSPgQRIzy1VdfYdq0abj44ovRvHlztG3bFqNGjcJ//vOfRtf269cPHo8HHo8HcXFxSE1NxYUXXohbbrkFZWVlqj73vffeQ9++fZGZmYlmzZqhffv2GDVqFD788EOjvlojHnvsMbz99tuNHt+yZQseeugh1NTUmPbZ0Tz00EOhvvR4PGjWrBk6deqEP/3pTzh58qQhn7Fq1SosXrzYkPciCLdBwocgYpT58+dj3bp1GDBgAJ5++mlMnjwZ//znP9G9e3fs3Lmz0fW5ubl45ZVX8Le//Q0LFy7Etddeiy1btuDqq69GaWkp6uvrZT/ziSeewLXXXguPx4PZs2fjqaeewsiRI7Fnzx688cYbZnxNANLCZ+7cuZYKH57nnnsOr7zyChYtWoSLLroIjz76KAYPHgwjjk8k4UMQ4iTY3QCCIOxhxowZWLVqFZKSkkKPlZaWokuXLnj88cfx6quvRlzv9XoxevToiMcef/xx3HnnnXj22WeRn5+P+fPni37euXPn8PDDD2PgwIHYuHFjo+ePHj2q8xuxQ21tLZo1ayZ5zXXXXYeMjAwAwG233YaRI0di/fr1+PLLL1FcXGxFMwkiJiGLD0HEKL169YoQPQDQsWNHXHzxxdi1a5ei94iPj8eSJUvQqVMnPPPMM/D7/aLXVldX4+TJk+jdu7fg85mZmRF/nzlzBg899BB+85vfoEmTJsjOzsaIESOwb9++0DVPPPEEevXqhfT0dDRt2hRFRUVYu3ZtxPt4PB6cPn0aL7/8csi9NHbsWDz00EOYOXMmAKCgoCD0XHhMzauvvoqioiI0bdoUrVq1wg033ICDBw9GvH+/fv3QuXNnbNu2DX369EGzZs3wv//7v4r6L5z+/fsDACoqKiSve/bZZ3HxxRcjOTkZOTk5mDp1aoTFql+/fnj//ffx008/hb5Tfn6+6vYQhFshiw9BECE4jsORI0dw8cUXK35NfHw8brzxRtx///34/PPPcc011whel5mZiaZNm+K9997DHXfcgVatWom+Z0NDA4YOHYqPPvoIN9xwA+666y6cOnUKZWVl2LlzJwoLCwEATz/9NK699lrcfPPNqKurwxtvvIHrr78eGzZsCLXjlVdewcSJE3H55Zdj8uTJAIDCwkI0b94c//nPf/D666/jqaeeCllfWrduDQB49NFHcf/992PUqFGYOHEijh07hqVLl6JPnz749ttvkZaWFmqvz+fDkCFDcMMNN2D06NFo06aN4v7j4QVdenq66DUPPfQQ5s6di5KSEtx+++3YvXs3nnvuOXz11Vf44osvkJiYiDlz5sDv9+PQoUN46qmnAAAtWrRQ3R6CcC0cQRDEf3nllVc4ANzy5csjHu/bty938cUXi77urbfe4gBwTz/9tOT7P/DAAxwArnnz5tyQIUO4Rx99lNu2bVuj61566SUOALdo0aJGzwUCgdD/19bWRjxXV1fHde7cmevfv3/E482bN+fGjBnT6L0WLlzIAeAqKioiHt+/fz8XHx/PPfrooxGPf//991xCQkLE43379uUAcM8//7zo9w7nwQcf5ABwu3fv5o4dO8ZVVFRwL7zwApecnMy1adOGO336NMdxHLdixYqIth09epRLSkrirr76aq6hoSH0fs888wwHgHvppZdCj11zzTVcu3btFLWHIGINcnURBAEA+PHHHzF16lQUFxdjzJgxql7LWxROnToled3cuXOxatUqXHrppfjHP/6BOXPmoKioCN27d49wr61btw4ZGRm44447Gr2Hx+MJ/X/Tpk1D/3/ixAn4/X5ceeWV+Oabb1S1P5r169cjEAhg1KhRqK6uDv3LyspCx44dsXnz5ojrk5OTMW7cOFWfceGFF6J169YoKCjAlClT0KFDB7z//vuisUGbNm1CXV0dpk+fjri481P3pEmTkJqaivfff1/9FyWIGIRcXQRB4PDhw7jmmmvg9Xqxdu1axMfHq3r9L7/8AgBISUmRvfbGG2/EjTfeiJMnT2Lr1q1YuXIlVq1ahWHDhmHnzp1o0qQJ9u3bhwsvvBAJCdJT1IYNG/DII49g+/btOHv2bOjxcHGkhT179oDjOHTs2FHw+cTExIi/L7jggkbxUnKsW7cOqampSExMRG5ubsh9J8ZPP/0EICiYwklKSkL79u1DzxMEIQ0JH4KIcfx+P4YMGYKamhp89tlnyMnJUf0efPp7hw4dFL8mNTUVAwcOxMCBA5GYmIiXX34ZW7duRd++fRW9/rPPPsO1116LPn364Nlnn0V2djYSExOxYsUKrFq1SvV3CCcQCMDj8eCDDz4QFIHRMTPhliel9OnTJxRXRBCEdZDwIYgY5syZMxg2bBj+85//YNOmTejUqZPq92hoaMCqVavQrFkz/O53v9PUjssuuwwvv/wyqqqqAASDj7du3Yr6+vpG1hWedevWoUmTJvjHP/6B5OTk0OMrVqxodK2YBUjs8cLCQnAch4KCAvzmN79R+3VMoV27dgCA3bt3o3379qHH6+rqUFFRgZKSktBjei1eBOFmKMaHIGKUhoYGlJaWory8HG+++aam2jENDQ248847sWvXLtx5551ITU0Vvba2thbl5eWCz33wwQcAzrtxRo4cierqajzzzDONruX+W+AvPj4eHo8HDQ0Noef2798vWKiwefPmgkUKmzdvDgCNnhsxYgTi4+Mxd+7cRgUFOY6Dz+cT/pImUlJSgqSkJCxZsiSiTcuXL4ff74/IpmvevLlkaQGCiGXI4kMQMco999yDd999F8OGDcPx48cbFSyMLlbo9/tD19TW1mLv3r1Yv3499u3bhxtuuAEPP/yw5OfV1taiV69euOKKKzB48GDk5eWhpqYGb7/9Nj777DMMHz4cl156KQDg1ltvxd/+9jfMmDED//rXv3DllVfi9OnT2LRpE/7whz/g97//Pa655hosWrQIgwcPxk033YSjR4/iL3/5Czp06IAdO3ZEfHZRURE2bdqERYsWIScnBwUFBejZsyeKiooAAHPmzMENN9yAxMREDBs2DIWFhXjkkUcwe/Zs7N+/H8OHD0dKSgoqKirw1ltvYfLkyfjjH/+oq//V0rp1a8yePRtz587F4MGDce2112L37t149tln0aNHj4jfq6ioCKtXr8aMGTPQo0cPtGjRAsOGDbO0vQTBLHamlBEEYR98GrbYP6lrW7RowXXs2JEbPXo0t3HjRkWfV19fz/31r3/lhg8fzrVr145LTk7mmjVrxl166aXcwoULubNnz0ZcX1tby82ZM4crKCjgEhMTuaysLO66667j9u3bF7pm+fLlXMeOHbnk5GTuoosu4lasWBFKFw/nxx9/5Pr06cM1bdqUAxCR2v7www9zF1xwARcXF9cotX3dunXc7373O6558+Zc8+bNuYsuuoibOnUqt3v37oi+kUr1j4Zv37FjxySvi05n53nmmWe4iy66iEtMTOTatGnD3X777dyJEycirvnll1+4m266iUtLS+MAUGo7QYTh4TgDDoYhCIIgCIJwABTjQxAEQRBEzEDChyAIgiCImIGED0EQBEEQMQMJH4IgCIIgYgYSPgRBEARBxAwkfAiCIAiCiBmogGEUgUAAlZWVSElJobLvBEEQBOEQOI7DqVOnkJOTg7g4cbsOCZ8oKisrkZeXZ3czCIIgCILQwMGDB5Gbmyv6PAmfKFJSUgAEO07q3CGCIAiCINjh5MmTyMvLC63jYpDwiYJ3b6WmppLwIQiCIAiHIRemQsHNBEEQBEHEDCR8CIIgCIKIGUj4EARBEAQRM1CMD0EQBEEYQENDA+rr6+1uhmtJTExEfHy87vch4UMQBEEQOuA4DocPH0ZNTY3dTXE9aWlpyMrK0lVnj4QPQRAEQeiAFz2ZmZlo1qwZFb81AY7jUFtbi6NHjwIAsrOzNb8XCR+CIAiC0EhDQ0NI9KSnp9vdHFfTtGlTAMDRo0eRmZmp2e1Fwc0EQRAEoRE+pqdZs2Y2tyQ24PtZTywVCR+CIAiC0Am5t6zBiH4m4UMQBEEQRMxAwocgCIIgiJiBhI8D8Pl8qKqqQlVVFbZtO4K1a33Ytu1I6DGfz2d3EwmCIAiHMXbsWHg8Hng8HiQmJqJNmzYYOHAgXnrpJQQCAcXvs3LlSqSlpZnXUIOhrC7G8fl8eOaZZwAA33xzKd57byg4Lg4eTwDDhm1A9+7fAgCmTZtGGQUEQRAOw+fzoa6uTvT5pKQkU+f2wYMHY8WKFWhoaMCRI0fw4Ycf4q677sLatWvx7rvvIiHBfTLBfd/IZfA3hN+fEhI9AMBxcXjvvaEoLNwLr/eU5I1DEARBsEf4xlYKMze2ycnJyMrKAgBccMEF6N69O6644goMGDAAK1euxMSJE7Fo0SKsWLEC//d//4dWrVph2LBhWLBgAVq0aIFPPvkE48aNA3A+8PjBBx/EQw89hFdeeQVPP/00du/ejebNm6N///5YvHgxMjMzTfkuSiFXl0M4fjw9JHp4OC4Ox4+3sqlFBEEQhB6Ublit3tj2798f3bp1w/r16wEAcXFxWLJkCX744Qe8/PLL+PjjjzFr1iwAQK9evbB48WKkpqaGwi/++Mc/AgimnD/88MP47rvv8Pbbb2P//v0YO3aspd9FCMcIn3nz5qFHjx5ISUlBZmYmhg8fjt27d0dcc+bMGUydOhXp6elo0aIFRo4ciSNHjtjUYmNp1coHjyfS5+rxBNCq1XGbWkQQBEG4lYsuugj79+8HAEyfPh1XXXUV8vPz0b9/fzzyyCNYs2YNgKArzuv1wuPxICsrC1lZWWjRogUAYPz48RgyZAjat2+PK664AkuWLMEHH3yAX375xa6vBcBBwufTTz/F1KlT8eWXX6KsrAz19fW4+uqrcfr06dA1d999N9577z28+eab+PTTT1FZWYkRI0bY2Grj8HpPYdiwDSHxw8f4eL2nbG4ZQRAE4TY4jgu5rjZt2oQBAwbgggsuQEpKCm655Rb4fD7U1tZKvse2bdswbNgwtG3bFikpKejbty8A4MCBA6a3XwrHxPh8+OGHEX+vXLkSmZmZ2LZtG/r06QO/34/ly5dj1apV6N+/PwBgxYoV+O1vf4svv/wSV1xxhR3NNpTu3b9FYeFeHD/eCq1aHSfRQxAEQZjCrl27UFBQgP3792Po0KG4/fbb8eijj6JVq1b4/PPPMWHCBNTV1YlWrD59+jQGDRqEQYMG4bXXXkPr1q1x4MABDBo0yPaYVMcIn2j8fj8AoFWrYIzLtm3bUF9fj5KSktA1F110Edq2bYvy8nJR4XP27FmcPXs29PfJkydNbLV+vN5TJHgIgiAI0/j444/x/fff4+6778a2bdsQCATw5JNPIi4u6CTi3Vw8SUlJaGhoiHjsxx9/hM/nw+OPP468vDwAwNdff23NF5DBkcInEAhg+vTp6N27Nzp37gwgeDpuUlJSo1oCbdq0weHDh0Xfa968eZg7d66ZzXUc4emVlZVxqKhIQEHBOeTkBN1sRqZXHjoE7NkDdOwI5OYa8pYEQRCEQs6ePYvDhw9HpLPPmzcPQ4cOxa233oqdO3eivr4eS5cuxbBhw/DFF1/g+eefj3iP/Px8/PLLL/joo4/QrVs3NGvWDG3btkVSUhKWLl2K2267DTt37sTDDz9s07eMxDExPuFMnToVO3fuxBtvvKH7vWbPng2/3x/6d/DgQQNaaBxJSUmGXicHn165bNky3HbbV+jRozWuvz4dl13WGmPGfI9ly5bhmWeewb59+3R/1vLlQLt2QP/+wf8uX27AFyAIgiAU8+GHHyI7Oxv5+fkYPHgwNm/ejCVLluCdd95BfHw8unXrhkWLFmH+/Pno3LkzXnvtNcybNy/iPXr16oXbbrsNpaWlaN26NRYsWIDWrVtj5cqVePPNN9GpUyc8/vjjeOKJJ2z6lpF4OI7j7G6EGqZNm4Z33nkH//znP1FQUBB6/OOPP8aAAQNw4sSJCKtPu3btMH36dNx9992K3v/kyZPwer3w+/1ITU01uvmasLLAVVVVFZYtWwa/PwWLF0+PSqHnMHBgGXr3LgegvbaEz+fD/v3ncPnlmQgEzh84Fx/PYevWo8jPT6BijARBOIIzZ86goqICBQUFaNKkiarXslDHx2lI9bfS9dsxri6O43DHHXfgrbfewieffBIhegCgqKgIiYmJ+OijjzBy5EgAwO7du3HgwAEUFxfb0WTDUDPgjRJJQnWDAA82bSpB5847NRdN5G/0iop8BAJjIp5raPBg6dIPUFDwE93oBEG4nvT0dEybNs3Wys2xiGOEz9SpU7Fq1Sq88847SElJCcXteL1eNG3aFF6vFxMmTMCMGTPQqlUrpKam4o477kBxcbErMrqUYOTuoVUrH4AAor2hfNFErQHW/A3O1yUKF1fhdYnsjvonCIKwAhI11uOYGJ/nnnsOfr8f/fr1Q3Z2dujf6tWrQ9c89dRTGDp0KEaOHIk+ffogKysrVHkyFjCyCqjXewoDB24CEOkJNapoItUlIgiCIOzAMRYfJaFITZo0wV/+8hf85S9/saBF9hPt1qquro543u9PwfHj6WjVyqdJUPCxPJs2lUQcjGqUOKG6RARBEITVOEb4EJHIubWkTnJXQ+/e5ejceadp4oTqEhEEQRBW4hhXFxGJlLtK7CR3vz9F02d5vadQUPATCRSCIAjC8ZDwcSF6TnI3qh4QQRAEQbAIubpcQng8j1zGlBTp6ekYPXo0Xn31Vdlr3SCSrKxSTRAEQdgPCR8XIBTPM2zYhkaPKXVVFRYWmlZbQqlYqq2tRVVVleGfH054nJRUTJSS9H8SUARBEM6AhA/jiBUk5DO4xOJ5pk9fjOnTFwsGJfPiw8qK0DxKCnbV1tZGWJzEstP0Fjnk2yDWh4WFexUVajRSQBEEQbiFTz75BFdddVWjExWkyM/Px/Tp0zF9+nTT2kXCh2GUFCSUiucpKPgJ48YNREZGRug5XszYWSpd7v3CLT1SQsKoIodSfajESmaUgCIIgrCSsWPH4uWXX8aUKVMaHTw6depUPPvssxgzZgxWrlxpTwNNgoKbGUbJQsnH84QTHs+TkZERUfCRFx1GFjs0C6Oz08SQ68Pq6mr4fD7B1/p8vpD1TU9QOUEQhB3k5eXhjTfewK+//hp67MyZM1i1ahXatm1rY8vMg4SPw5GrgKw0psbvT0FFRb6kqPD5fKiqqhL9JyYOtGKVkBDqw+Li8tDz69evxzPPPNPo+/FWM746uJyAIgiCYI3u3bsjLy8v4pSD9evXo23btrj00ktDj509exZ33nknMjMz0aRJE/zud7/DV199FfFef//73/Gb3/wGTZs2xVVXXYX9+/c3+rzPP/8cV155JZo2bYq8vDzceeedOH36tGnfTwhydTkIsVgXvgLyJZdch4svTkZOTg8APRTH6CgpdmiHa0xPdppa+D7curUntmwpxpYtvVFeXizpWhOyhhUXl6O8vNiUStcEQbibQ4eAPXuAjh2B3FzrPnf8+PFYsWIFbr75ZgDASy+9hHHjxuGTTz4JXTNr1iysW7cOL7/8Mtq1a4cFCxZg0KBB2Lt3L1q1aoWDBw9ixIgRmDp1KiZPnoyvv/4a99xzT8Tn7Nu3D4MHD8YjjzyCl156CceOHcO0adMwbdo0rFixwrLvS8LHIciJk+DZWonIzm6j6n3l4lJ47HCN8ZYYrdlpWigvLwZvCBXrCz4oPPyIkPDfBwigV68v0LPnVhI9BEEoYvlyYPJkIBAA4uKAZcuACROs+ezRo0dj9uzZ+OmnnwAAX3zxBd54442Q8Dl9+jSee+45rFy5EkOGDAEA/PWvf0VZWRmWL1+OmTNn4rnnnkNhYSGefPJJAMCFF16I77//HvPnzw99zrx583DzzTeHApc7duyIJUuWoG/fvnjuuefQpEkTS74vCR8HoFScaEFrYK/ec8CUYuV5Xkr6QsjyFf37AHEoLy9Gz55bTWsrQRDu4dCh86IHCP53yhRg0CBrLD+tW7fGNddcg5UrV4LjOFxzzTURSTH79u1DfX09evfuHXosMTERl19+OXbt2gUA2LVrF3r27BnxvsXFxRF/f/fdd9ixYwdee+210GMcxyEQCKCiogK//e1vzfh6jSDh4wDEFuSDB3Ph9e7S9d5a3ElGnQOmFDPO8/L5fPD7/RGPyfWF3+9HfX19o/fSmxUWi1DdI4I4z54950UPT0MDsHevdS6v8ePHY9q0aQBg2kHfv/zyC6ZMmYI777yz0XNWBlKT8HEAQgsyAKxdex3q6s6Ljj179qC6uhrNmjVDYWGhovdW604y0/rEozQgW2vlaLF4Jbm+WL16daPX+P0pOH26GYAAwnMFhMSjGypdGwHVPSKISDp2DLq3wsVPfDzQoYN1bRg8eDDq6urg8XgwaNCgiOcKCwuRlJSEL774Au3atQMA1NfX46uvvgq5rX7729/i3XffjXjdl19+GfF39+7d8e9//xsdrPxiApDwYRh+oYxekM8TKTo2b94cemb06NGS4id8EZZyJ0Uv1lZYN5QUOdRjEZB6XzWutci4Hg68+IkWTCNGjEBOTg4t4v+F6h4RRCS5ucGYnilTgpae+HjghResDXCOj48Pua3i4+MjnmvevDluv/12zJw5E61atULbtm2xYMEC1NbWYsJ/A5Fuu+02PPnkk5g5cyYmTpyIbdu2Nar/c++99+KKK67AtGnTMHHiRDRv3hz//ve/UVZWpih5xihI+DAMLwAqKysBrEdS0lmsXXt9xDVioqO2tlbRe6sVF1ZlWlkpEqLjlZS41g4dysa77w7FeSuPBx4Ph5Ej1yAv71DE6zMyMkj0CEAuQoI4z4QJwZievXuDlh4rRQ9Pamqq6HOPP/44AoEAbrnlFpw6dQqXXXYZ/vGPf6Bly5YAgq6qdevW4e6778bSpUtx+eWX47HHHsP48eND79G1a1d8+umnmDNnDq688kpwHIfCwkKUlpaa/t3CIeHDOOnp6SFxkpd3UJfoMOKICjsyrcxES7wS/5roMlgcF4fmzWsb9QW5uM4TXvDRynIFBOEEcnOtFTxyFZnffvvt0P83adIES5YswZIlS0SvHzp0KIYOHRrx2Lhx4yL+7tGjBzZu3Cj6HkK1f4yGhI8DEHN5eTwB/O53n+GHHy5G27Y/ITdX/FBPvXV4tLrGWEbO1TJixIhQZkNNTQ3WrFkjkMF1nvBFm3+tm4N0pYR0TU0NPB4PvF5v6DG/3x8RJ+U2EU0QhDMg4eMAwt1Se/bsQWFh8PDRf/2rBz77rA8ADwAO3bp9h//5n3cE30NvHR6z427sQM7Vwh/3IfeaIJGLttBr3YRSIS2F35+Cli1PYMKEF1Ffn2R6uQKCIAiAhI9j4AVFdXU1vN5TOHWqBXbt6oSg6AEAD777rht69PiXpOWHR0sdHieJGiVocbWIvWbChBcj+t1Jli8t6A08FnIxFhT8ZFDrCIIgxCHh41AOHGiH86KHx4ODB9vKCh+r6/CwihZXi9hr+D6P1QwuKSEd/ZwVJRHUYETsG0EQzoGEj0Np2/YnBFOow8UPh7y8A5KvY23RMRuhRS28cKFUvFL4dUpfE4uiR0pICz3XsuUJRdlcVljN7DiDjnAnHMfZ3YSYwIh+JuHjMJo1awYAyM2tQrdu3+G777ohPMaHtzzw10UTSynEShe1SZOGIC0tDcD5IGZAuGCh0Gt47LYMKLVc+Hw+HDt2TLAKNQAkJCQgMzNT0XeREtIABJ+bMOFFSRejlVYzO86gI9xFYmIigGAJkaZNm9rcGvfDl2rh+10LJHwcRmFhIUaPHo3a2lqMGAF8//1ebN/eHJdcchpdusQDGCFZuVkurqWiokL0s7Us7HrdCGpeH31t+CGiUqSlpakORNbyGjNRKvJGjx6NV199VdF7KrFySAlpwCP4XH19kqSL0c66R1adQccK5ObTT3x8PNLS0nD06FEAwU2nxxMdhkDoheM41NbW4ujRo0hLS2tUZFENJHwcSLio6dIFuOkm5a+Vi2spKyuTfL0ak79eN4Ka1wOQvVbLouaUhVCpRUKusKXa95QT0mLPFRT8ZNnhs0phLfbNbFFCbj7jyMrKAoCQ+CHMIy0tLdTfWiHhEyMorcPDI7bgqzH5N46tUfeeel8fjp5ChXoXQrkFrLa2VtQ1CWhb4JQKNr8/BQcP5gEIFshUK0DkhLTUc2IVsu3IiGMp9o13RUq5Wnn0iBIj769Yx+PxIDs7G5mZmaIuZEI/iYmJuiw9PCR8YoT09HSUlpaGJlN+Yjt+PD3ib8Ccna/e91T7+vBJHBCONZFa1IxaCI2odwOoW+CU9tU331wadewGh2uvfU/R76JUSEs9N2rUKGbipFiJfVM7XrSKkvAK2gB71i4zsMKtFx8fb8jCTJgLCZ8YIryKrthEZ8bOV+97qn199HcrLi5XvagZtRAatVtW+j5K+8rvT4kSPQDgUfy7yBW0FKrcHA5rsSOsHJ8h1p9GulyjxRVL1i6zILceEQ4JnxhEaqJTsuCr3TnpFRFqXi/03crLi8GfnM6jtVCh3oVQbgHTu8Ap7augpa9xBWo1v4vUAsFS4DeP0LjlrR6sHp/h96dg69aeKC8vNswaE90HrFi7zIRVtx4Fl9sDCR8GsHrwS010cgt+9HlLYvABx4B+EaHm9WLfrVevLxotHloKFepZCOTcCUa4G5T2VdAFGCkGxa41ErsmeiU7ftbOoGvsijTHGpOYeJYJa5dVsOLWIyuUfZDwsRmzBn/0AlNTU4Njx44BkF4c5RZ8pYF74Z+tV0Soeb3Yd+vZcyt69twqu6iZdRirnDvBKHeDXF+dOHEidN21126IWFjNtnLYOdEr3cmPGzcwdDAtjx27bn486LXKyREuAviCqFrGgVMsFyy59Vi1QsUCJHxsxowCanILjNTiqPbgSKWuGSWZZFIofb3cwj98+GVo2bIodH10ESyzDmOVcyfodTcoFWybN29udN3Bg7kAgLy8Q6ZaOVgqFig2blk5XFb8MFzjrDHRIiBYCLXxuXNyOMlywapbjxUrVKxAwseFyO0kxMSNkoMjExLODxm5mzV64VSbvqz19UoX/nDCJ2UzJmc5F5Red2C0YKuursb69etlXxcUgi3/+9dvAQhXbjZjR29XjSQnLDJC4wEw1ionLK6CBSbDkRPALAlaOVgJYg+HJStUrEDChzGMXgyiJ/muXXdgx46ujcSN3M3HHyPAT15Kbla91hO1rxe6NloA2GVOlrNEGRFTJCU8xL53x44dZS0cZuzo9YgPPSLMKYtM9HgAAujVqxw9e241zConJwK0Hh3CctFPFoPYWbVCuRkSPgxh9E5UaJI/f7aXumwu/hiBqqqgCVzpzarXeqLm9XLXSvWv2PEWemMT1BSOlHq+pqZG9DOECiAaWaPF6FgEPeJDrwize5FRUsySR64GktLz1MSQEwFajg4x8x4zyuqo1+1uNCxaodwOCR9GMGMnKmzKjjxDRmk2VzRqrmch8FGuf6XcQnpiE5RYraQqN/NZdPzBqWoxelwZIc71iA+9bhUzFhk1h8MqPU/N6Ere0a/nsTKAX889plfw6nW7mwlrVigW5muzIeHDCGbsRIXjBIKZGzxKs7miUXo9K4GPSvrXLDeYlZNE9HcwclwZJaLkxIeUdSvaaiD2m9XU1Ai68IxeZNSMb6XjqFmzZqYGWNsVwC9FZWVlqD1Cn620744ePYpjx44JZp9effXV4DgOLVu2bFQxXOxzwzFTELBihWJlvjYbEj42w0/yShYDtZOh0CQvFOPD32RKdn9qd4uspGzK9a8TAl4B6fgJoe9QWLjXMAuHUSJKTnwotW5J/WZr1qyJmJzNsnLosUDZGQtjRwA/IP6do61Bcgur2PsoHTtayoMYLQhYtEKxMl+bDQkfm/F4gtYXucWAv06O6DN4hCb5/v0/Fpz0R4wY0aiGCRC5k9GzW7RTXMil8EtZMsL7004zr1T/iX2H6dMXG2bh0OsmUntQrhRKrE/hY9QsK4dQu5SIGacIbTWI3WMAUFGRj8rKbGzaVKLoO0v9Tkb0ndqF24zMNavGpFbcOEZ5SPjYTPhZRlKLgdiZR+GI7UqidxJiOwulGRxabkQWsmnE+lfOkqF2N2oGcv0n9R2MsnDodRMpmeijK4OLCQkt1iezfzOlCwUL94KRSAnaffs6YPHi6f/9rufd7Fq/s9q+M8uqZtT76hmTZrre3DZGoyHhwyTKrDvRaDU/lpaWonXr1rbH2JiBEnOymCUjMbEOFRX5TJh55fpPzhpjVEVivZYaNZ8nJSTE4tcqK3Ma1Z6yAjULhZ57gaXA0/C2lJaWhuJqTpw4gc2bN4sUSDwPx8Xh4MFcHD/+q2IBoabvvviiWLGFSQ0sWELMjsWxO/vRbEj4MIQZ6ezRhQuFdiler9f0ydKulE0pKwNf40csFmr58onMmHnl+k9JarLSGDGh407CsSIWQU5IeL2nUFKyCWVlA3F+QfVg06YSdO680/LJWc1CofVeYCnwVElbpKpPA8HvvHbtdQCU32NK++6LL4ojxoZRFgtWLCFmF410e4o9CR9GMDvtWCiomZ9ktAROq8XOlE21tT0SE+tCogfQ9lsYvTNX0n9GZIYoXVxLS0sj3K9WHqTLf6+cnCqIlWewWvioWSi03gssVUhW8hlSWaXBxwH+LDKl95iSvvP7U1BWVgIzxgarlhCjXXqspdgbDQkfRjA77ViscKHXe6pRBoxZsJKyySPmBquoyNf1Wxi5M1cbEKzXGqM0q8Pr9ZoqlpUICZZ2pUoWCqMzy1iqkCzUFqE+KSnZhJycSpw+3Rxr114f8R5S95ia++D48XQIHe5qxNhgaczxmOV6Y22+NhISPoxg5A2lpnChUAaMkbCYsskjdr6V3t/CyJRQvQUQAe3WGBaz8ABExF3ZvStVI2aMzOJhIc5ESVvE+sTvT1F1j6kJjBezNJWUbNI9NlgYc+EY7Slgeb42EhI+NsMPILkbSs1AU1O40GxYT9kU+lwjJzcjFigtfRPuaqurqwsdNcIj1+d2xTIozRAK70ujavJoQe34NmKcsxJnoqQt0SUyampqsGbNGk3znVLraPR7AwEMHLgJvXuXN7pWKWbVgeLR6ho32vWmdDwDaDSnKGkvK5DwsZnogfbAA8ewf38C8vPPISenB4AehsSDhMf4AADHAfv2dbBklyh3ynf4wszKDWOEmdeuBcoIV5vchGrW2WZiVji5vozOWjN7HNmZXcVSnImSM/7CXaLZ2dmGz3c8/Ng5duwYRoyox7Rpu3HwYDLy8s4iKysbwAgkJCRoOuPMzA2cnvvVDNeb3HdQ2t5Ro0ZpqpBtBSR8GCB8EGRnA0VF2t5HalcCAN991zXsaut3iSxlpQhhtJnXrgXKCFeb3ITKixGh99X7+2nZ2arJWtNL9Dg2qx/4zwoXgQBbcSZa2mLEfCclPL1eL5KSktCli7FziFlzktIwg/BjPfixYIfrTWl7papo233kBQkfFxG9KwkvBldRkY/ogD+rd4msl0M3elfHwgKl1dUmN6FKva8Zvx8LfckT/v3M7AdhgRWMb2IlzkTrwqvHYsb6BkovSo/14NHqejPKaikVZM/aHM9DwsdlRO6mslFaWioa8Kd04TDDrM9ScGY4Rk6UdgdC6nW1SQWmWu3Cs7svhTC7H+QE1vTpi22LbdIT86JXuLC+gdKD2nlR7JghwBrxKNVeVud4gISP6+FrrejZmRm9u2IpONNs7EwJVeNq48Wt3++PeFzI3WeXC8+oOkVGiXir+kHqHLaCgp8iFj+r4if0WEeNFC4sL65qkZoXAQj2kVYXrxG/gVx7WZ7jSfi4HL3ZCGbsrlgKzjQDVlJClVr5lIrbgQMHoqyszFK3k5F9aXRsjlX9wFJ8UzhGCCw9wkXvBoql4z8A8d9569aeKC8vNk3caf0NpMYl4GF6jifh43Ksqh2iJsuHpXgNM2AlhV+plU+puE1JSVH1vkZgZF9qic0RWhytDix16/2iV7joPfOMtTghsd95y5ZiqK1wrRQ9v4HcuGR5zJLwiQGsqB0iFngHNJ48WIzXMBpWgirVuoeU7v6sdOEZ3ZdKJ3tpC1HwMSv6wa33i17Lrx5ByGKckNDvXFxcji1bekdcZ6TlRM9vIDcuWR6zJHxMhDVTqh6U3CBqJg83l0O3G63uIbW7P7H3ZR2lk71SC5EV/eDG+0WvJcsoQWh3nJBcGRLezcVjpOVEy2+gNHyC5TFLwsckWDSl6kHuBlEyebAS++J2tLqH5ARBYmKios9n/fdTO9lrdQfI9YPcxkhJoLmTMUK46F1cWUi0ELpf+cKdgHLLiZaNtpbfQGp+CS+hwr8/i3M8CR+TYOkkZSOQukGUTh6sxL7EAlr6UE4QeL1eV/x+aid7qaDTq6/eBKBxWrFcPygNtFaC3YuIHrQIF6UbqJqaGtnfgZVEi+g2qk1K0bPR1vIbiPVpdGVuIViYI0j42Ex4UDALA0IKsRtEzeTB8veLdeQEQXV1daOaIayPWTHUTPbCZ98BW7YUo2fPrZoyq5S60cTK/vM4sf/1Wn7Dj6YIty5Ei0e+crCUVZ3VwHG1m0S1MUtmWt+dMB5J+FiE0mqcrLm+lNwgrBVHJLQjJQhWrCgz7WgGO5CyFACR2VtCQaaAfsuAnLU0LS3NllR1M1GyqNfW1goersuTlJQUqlEGaK+grcT6Z9ccpfU9lYQdxLr1nYSPBagJngs/j4WFgSd1g/B+aJaKIxLqUSJu9aR/R3+WXb+l0t1r+BlD/IalU6cfItKKAWMsA6y4WqxGzg24bNmy0N9im8bS0tLQ82ZUKA++t1/SqsQzevRoNGvWTPQzrBr3avoiludUEj4mo/amZNECpOTztfiJWUwpjUXExK3Sk9F5rDy8UwtKdrnhC1202OvWbQd27OhqaHouq64WO1HqBqyvrwegTTwqdfVwHKeoLa+++mroOjvHfawKabWQ8DEZsYF48GAujh//VTaYMdwCFA4L1iAj/cR2p5TGOkYEgFp1eKce9ByrsmNHV0yY8CLq65MMS891a40eI1AquLWeEK/E1XP+wGdlbZEa92JzOf9ZRsznRgpplq23eiHhYzLCgZEBrFt3XcTNEbSWKD+RF7BmByE3+I0w8bKQUkqIY1X6N0uIib36+iQUFPwk+3o1qeos1zuxE6WCW6t4VDJ38jFGSuuYKSnyaqZFyCghzbr1Vi+uFD5/+ctfsHDhQhw+fBjdunXD0qVLcfnll1vaBt7KET0QgQCC55h4AARvjnffHQqPB6LWDrtcQFbF4JB5lm2MSv920u+pVuyFWzW1pKqrrdETLqwqK+NQUZGAgoJzyMkJhNrjxAUpHDW/gdniUUlblIx7KyyhRvSFE6y3enCd8Fm9ejVmzJiB559/Hj179sTixYsxaNAg7N69G5mZmZa1I9qUOm3abrz22lacPt0ca9deH3V1HHhXcvQuwU4XkFUxOBTnwD5607+d9nvKiT2pE9GVLhpKEHIThwsrNanwThNDagW3mQUelbRFbtybaQmtra1t1F4j0tPdYL0VwnXCZ9GiRZg0aRLGjRsHAHj++efx/vvv46WXXsJ9991naVuiJ5mCgp/g96cI1gQJh98lAGBm0JkpwJTUjwnHaRO4W1C6sLglbkVK7Cmp2yO3aGit0aMk7gQA5s//l+NdE1K/QUKCsuXLqAKPcuJfbtwbZQmNdqOqyTxT+9u7wXorhKuET11dHbZt24bZs2eHHouLi0NJSQnKy8sFX3P27FmcPXs29PfJkydNaZuc6yv4Lwi/S2Bl0Jml+pXGOQjFOTltAnciShcMoevcEreix4ogd/+qrdHDL3jV1dXw+1Pwww8Xi1aU5s93it6kHD161HEuMrHfIC0tzfJaNHLjQWrcG2EJFXejpsh6CKRiMcVwg/VWCFcJn+rqajQ0NKBNmzYRj7dp0wY//vij4GvmzZuHuXPnmt42MddXq1bHsW9fB9FdAguDzgwB5vP5InYpgPCkQinu9qG3yJmZrgez0CP2opFbNKItmeHvHd2njd1b0//7vhzCN01AIOJQy+hNCl+jSGqBNHNToSQ2Sc1vYLZI02ItEhv3RlhCpdyoJSWbsGlTiaEbVLdYb6NxlfDRwuzZszFjxozQ3ydPnkReXp4pnxV+kyYlJWHLlmB2iNgugZVBZ4bqVxI/RCnu9qNmYTFSNNiFkRVt5e5fvkaSkmwZMfdWUPQExY/HE0D37tuwbVuPiHaozT4ya1OhNDZp2rRpzFQVVlplOryOjxRGWUKFfsOyshKEF9jkH9frIXCL9TYcVwmfjIwMxMfH48iRIxGPHzlyBFlZWYKvSU5ORnJyshXNi0BJRWSAjUFntgATmgQLC/dKTs6xHPfDan0Nt5TBN7J9UvevlmwZIesr4MGgQR8iEOAXv6hnNWQfmYHSmjh1dXVMHdOhZDxIjfvw+RwwxhIqPA7iTPMQONF6K4WrhE9SUhKKiorw0UcfYfjw4QCAQCCAjz76CNOmTbO3cQKI3VBmHiCnFbMEmNgkOHLkOsnJOVbjflg/5kPrZ/Jizu/3hyryhpOQkIC0tDRHCKdoxFy4WuLmxKyveXkHsHz5RETv+LVkH5kNK7GLRiI1Js2whIr9hr/73Wf47LMrwYsgrRtUN1hvpXCV8AGAGTNmYMyYMbjssstw+eWXY/HixTh9+nQoy4slpHbupaWl4DhONOvDDv+2GQJMbBIEONWTcyzE/ZhZYsAuS5KYmHNS0bTwvuMPOZVC6+IvZn2tr08WzBQdOXItOnfepeg9rBIddgsvqzHDEir0G3btugOff35e9JSUbNIcGuAW660YrhM+paWlOHbsGB544AEcPnwYl1xyCT788MNGAc9244TKmFYMfvEd7CHRyVlJQbhYwMgYKDstSUJiTioziTWBK3wv5wseqllfX4/169frWvyFrK9CZTL4+0jpe1iF3cLLDsyYw8N/w8TEOixfPjHCgrhpUwk6d96puV+dKmqU4DrhA5wPjmMZlitjWrnzl5oEhSZntwQ8C/VxuJuHd+2EE25Zk3OViGUM8e8T/fuxcmDsN99cinffHYpwl42YG4iVWCel97LX6w1dp3fxj7a+ank/O+M2WIhdVAor40wI/jesqMiXtSA61S1lBq4UPk6CtcqYduz8pSbB8MmZtb7SitI+FqK0tBSAvKtE6ow3QPr3k1q8wwWVkglfyaLBw/++0XEqQOR3q66uRk1NTSg1WwqjLVRC34fvE7Xj0+jFX+r9RowYgcTExEYlJISwKnHACQGzrFnmxcSLnAVx1KhRrrbgqIWEj82wFuhn1c5fafxQuHtATV+xvEtT0ndi/c5bhJS6StT+fkoPWuSRmvCVCjwpMSf03YQOe+Rfb6aFSnoR1HYvK138le7Wxd4vIyND0Xv4/Sl48slvmHK52wlrlvno8AM+Y0zO4idVIdwKDh0C9uwBOnYEcnNtbQoAEj62w3Kgn5luJTXxQ/wJyUr7ivXMp2iixYmSflfi2tDy+6ldvKV+P6UiWkrMAcKZSeHfLVjHhkN4JosZ7k+5RbCwcK/s+NSaLSN2v0SnSksh9B7hr5caL5WVlairq9NV7ZnlTCGxjZJWa56ZiPU1a+5Dvk9XrWqKWbO8CAQ8iIvjsGCBHzfd9Kutm08SPjbDaqCfFTe62kGvtK+U7r5YCJLVU31VaqIzOl06MbEOFRWNA3a1fk8lYg4IoFevcvTsuVXyu4Uf+WLFgiTWt9OnL5Ydn3oSBoQeUysmxO45oe/07rtDkZR0Fnl5B7F+/Xrd1Z5ZzRRS4s6ywjJvhJWaFfch36d+fwoWL54Ojgven4GABzNnpuLnn1+C13vKts0nCR8GYE2pA2y54MInd6m+ElsEWM0C01J9NfpgRrGJzsh06a5dd4QyRrRYVNSIMCX3gpRLTOn31INU3yppv5ETvVFiQqwg3tq11ysS5Eo3ESxYWKNRYsk7fbqZqZZ5rbFESoUvfy6iVeez8X0qNw/Ztfkk4cMIrCh1HpZccHomd5azwLRUX5U7mJF3XRiVLi2UJitnUQk/TFPse4ZPfqdORb6P3L0g5hJT+z21Ite3Su9lo+LQjFi0pPqUT41mZSNkFmICneOA4GYkEOojoy3zWmOJ5OZGPglg9erVtpzPxtI6Eg4JH5tg2d8NsOeC03JTsuSXF0JsUgjfXYu5S+RQ+/uJBZsrSZMNRyi+Sm7yKysrAxDMPPF4PKKVm8+dOycayMkvTlaMU633Rngfs5Yt1NjNGAnvegy3RrKwgKlFKitPvJgqTxw4LoDrrluDvLxDmsaYGbFESsaHXeezsbaO8JDwsQm9JmorspZYdMGpgSV3nRBik0L37t+ic+eduvtdze8nli2idscmNCaFvmdxcXmj69LS0iTPaOKD3IW+GwBLx6lc6nhGRkbE9dH3I2vZQsD573TwYC7WrbtOtSBnHbmsPDlLYpA4NG9eq1n02BVLZOdcyOI6QsLHRvSca2TWblFpmnl0WX6zgxK1CD25RVttTRqjUBKzJNbvchZAPceMCH1/vTs2fmwWFu7F9OmLsXVrT2zZUowtW3qjvLxYl+sx+rtp6S89SKWOKz1kkzWrZPA77UJdnXmC3C6UiE0xSyKPmOhXMs6UfL5ZriG7XU6shXKQ8HEgZu4WhSxRfr8/ovCZ35+C+fP/ZZlZXmt6utyiraYmjZGIWfuUVG62KnNGb0A5IJyxVl5eDH4hUbvIKxUxpaWl8Hq9hotZM9zTcjvx6upqU0W5WFvVCnInISU2o7/3vn0dROcP3rKn9veRE7tmuIZYdTnZBQkfB2PWblHqJrbDLK+0HgxfayTcGiV2rpEdxzGEI9THSq0EWt5by3voEVBCY1NvgKzd6dBmfL6weyVYPgA4L87NEuXh3ym6JpAbRI4QcmIz/HtLiX5e9NTV1UW4YcMRGg9yn2+Wa4hFl5NdkPBxMEb6baVcSXYU8QpvT7hLSkp4RVtw+J2/0iJtRCR6FlrxQFF9AbJ2p0Mb/fmNg4qDhRiXL58YMTaPHj1qqqDTC4vnQEXPafw8otbtIyYAhSzhSkIOlHy+2GfqPU7EKjHLevIOCR8HY5TfVmnMkFUBcmKuLTHhlZl5GPX1yY3a6/V6I6worMVTuBmtGWt6YfmoEjG6d/8WmZmHJcsGrFmzxnRXrFpXYvjrWOtT8TktRdbtM3DgwFCmoRRcMAAIgDpLuFa3k5OOE7HbOisHCR8HY5TfVmnMkFUBcmKurdOnmwkKL6XF9VjP8tKK0sXeSlFgdsaaEE47qiSc+vpkwbG5dWtPXH31JgDmu2JZX6zUoGROE3P7FBQUKOoH/nktGyolWYFKLdVKDwGWwgzLC8vjhISPwzHSbyt3A9sRIBd5JlMAQVeAJ+wKTvGEY3dmgxkoXeyHDBmCDz74QPa6UaNGhYKqtSxyZmasyWHVAbtGEP1dxVKpt2wpbnRkh5mwvFhpQcmcJoSSfuDjevRUSVeSFajHUu0mMWskJHxcgFF+WyU3sJUBco3PZOKrp3JhQkj5hOPGzAali70S0QMAa9asifhbrXVEbKKtqanBuXPnAACJiYkRrhLA+MmX9Vguvp8qKytDRRmLi8uxZUvvqCudb5G0Ey2iRK0AV7qh0mp90WupjjVRowQSPg7ELPOl0hvYqgA5sSMdRo5cg+bNaxsdpyDW3nDcnNmgZrFXen6Z1pII0RiVsaYEu2K51LoS09PTI67v2XMrtmw5n+4PON8iaTdyc1p0sUktAlzphkqr9cWNlmq7IeHjQMwyX+q1iBjtJxa74cPLxStpr56ifk5B7nTt8O8rdhAjiwe5asGOWC4j4ou83lO49lp3WSTtRm5OU1NsUgqlGyot1hc3WqrthoSPQzHLfKm2FD+PGX5iJTe8VHtramqQnZ0dE35uudO1eeuPmEDyeMCsW0gtduyQtcYXRYttN1sk7cKqPjXTEk7jwlhI+BCNMKIUv1EZREpueLH2hqcAO1nUKEHudG3e1SMmkPjMXDek+Bu5Q9YyjtW4HNPT01FaWhpRD8athQPtRKxPo4/eiUZqnrI6Y4rGhXGQ8CEMv4H1niWm1DUVDssZPGrRstg2LoQXCe/qUXIQoxtS/I3YIatxX/FoiS9q3bq1ovY42RVrNUr7KjqYXwixecpsSzLrRQCdDAkfwrAbmF+wlVZaFvs8Je2pqakJTVqsZ/CoQU+siNzp2rwAiBRIAQTLA3gaXes0jI7l0uK+0hJfFAuuWKtR0qdKKy/zR+FEY/ZvQuPCPEj4EAD0xwwJWXkOHszTVX9CCW6rxqzUQsVfJ7zYC5+uLVaSQOogRidh5kKhVFxrjS+ixct41PSpmqNwwjG7GKZV48KJFc/1QMKHMASxSqnRGO1GcWs1Zh65tPPwxT58Byvl6iktLQUARdc6zYxuxuSsRlxTBo7zUPL7usmVHo3e0AQnQsKHMJTGRQcjMdqNwmKNC6N2T0qtDPx7ZWdnq7J4kBldGXLiOvrgSMrAcRZyv6+bXOlCKD2yyA0ij4eED2EowllDQczY/bK2wzbqvCitLjy1VZYJeeTEtZArRCy+qLa21ryGEpqQ+n3l7sNo0RuO0zYOesMGnOQuI+FDGIpw1lAA1123NqLwoJGwtMNWG6Mjhlorg55JxUkTlh0oEddKK2G/+uqrrnIZuAGp37eiIl/yPpSK/wG0u4fsuCf1hA04zV1GwocwFLFJpHPnXYZ+jpXVmPVMQkoXxGi0WBm0TCqsnWjOqgiTEtdi7gE3x4U4GaHsU7HfV6kr3cjf2q57Uk/YgNPcZSR8CMNRaoHRI0qsSvXUMwnpiQ3Q4sLTMqkYZaEyAtZEmBJxLeYe+PXXJti0qcS1cSEsokQ0AxAdY0K/r5L70OgYIK1VwPViRNiAU7JsSfgQpiBmgeGPvTBClFix+GkVBlongPDFVkxAarUiKcHM95bDbhEmtHCWlpaivr4eAJCQkIC0tDQAQHV1NdavXy/qHigrKwF/2Cirh6S6CaWimc9olOOqq67C5s2bAUhv5Mxe6K0OrNYbNuCULFsSPoQhKLXe5OTkOHryVSoM1E4A4YvWqFGjcO7cudBzJ06cwObNPwEwdyJkLXvFShGm1dok5h5w4iGpTkaplYQXsXLXRVfTFtvImbnQ22U90XM0BotZtkKQ8CEMIRaqjKoRBmomAKWLlpkTodWTrJB1QmnFbzPQ6l4Qcg+UlGwKubl49Ez+Siw5drlHWETp2JG6Li0tDdOmTcOxY8caiSWA34xsNnWht8p6YuTRGKxl2YpBwocIcegQsGcP0LEjkJur/vVOFjVyqBUGaiYApYuRmROhlSZqOaFnd5yAWtEl5B5o2vSMYYekqnXhsGa5sxKlY0fpdeFHWghh5kJvlfUkugiqkNBLSEhAXV0dfD6f7DzPUpatGCR8CADA8uXA5MlAIADExQHLlgETJtjdKnZQKgyUxOhEXxeN2G7dzInQqPfWYp2Ixuo4AZ/PF7I2KV0Q5QKfjZr8lYpifrGyWzTajdKxo+Q6pVY0sxZ6K60n6enp8Pl8skIPUOYu1eMuswISPjGOz+fD/v3nMHlyJgKB4EGVgQAwZQqHSy45ivz8BFdbcpSiVBjodflJ7dbNnAiNeG+tAabRC4qVcQLRbVa6cAr9zuEH5wLmlFiQi3tySnCpWSgdO2rHmJwVzaxyGlZaT/QkFzjtJHkSPjEMP+lXVOQjEBgT8VxDgwdLl36AgoKfLAmIDLcUVFbGoaIiAQUF55CTEwBgf3yQGmGgtZ1KdutGn6tlhIWKR611AhBfUKza6Ua3Wc2CGP07qz0yRC1KXFhOCS41C6X3qZr7We6+5DNVo9H6W0dX97arCria5AKnxXiS8Ilh+EEqN1maHRAZvuuWmtztyEgxUhjIIbdbF5tg+c/X0jdmTlhyE6fYgpKZeRgtW57AhAkvor4+yfKDU4uLy7FlSzEA9aLLrPGp1IXllOBSM5G6TxMSEhRdF+6SlbsvMzIykJ2dbVj7mzVrZuh1WlAisp1cPoGED2H7ZMnfPHKTux0ZKWYKg+gKsnIC1OgJlseMyUnJxCm2oLz44kSEi46CgmAq/4gRI0wthxDd5uLiL9Cz51bL7gOpTDc1LiwnBJcajdJK7pmZmYrv56qqKgD2W9Gsrq2lRGQ7vXwCCR8CABuTJavxCWbcuEITh90C1CiUWieEz3XjIFb4LyMjw1KLSnl5MXr23BpxnVnWJrmFRG7xDbdkAOYe4aIGq6wCZm5Q7Lwv7cjQ0xL4LQar5RNI+BAh7I7El5vc/X5/6HEW44DUIDYhmO1OswKlAlZoQbFL+CpxM5ppbZJbIOQWX77uDEuuB6utAmZ+Nzs2hnZl6GmxcNlZ8V0LJHxsRG/dHBYw8jvITe58qiVrcUBGED1x8N/ZyCM+rEKNdSJ8QUlMrMPy5RNtcSkocTNa2f9CC4mcKGZtfBhhFbAzjsTKg5CF0GIBN6K/1Fq4nFg3ioSPTbihbo4Z30FuZ8ViHJBepCYOs+J6zEStdYI/9wqAbS4FltyMUuNh3LiBjQLcWRQ9Qqi1CtgdR6LEfVZbW4u6urpQPFA0en4btZYXvf2lJpFDaVwmq5DwsZhDh4AtW4BJkwCOCz4WrJsDDBrkDMuP2bV/pFxurMUB6d1hyU0cNTU1jhE+aibO8D6xMnNOT5v1IjVWlBZQdKIQBrRZBViII5G6d30+H5YtWyb7HlqFmVoxrre/1MRJ8UKPtflYKSR8LCTcQhJNQwOwd6+1wkdL0Sm7a//YnWERjhE7UrmJY82aNY5x32kNMLWzBohVn610rMiNh/DzzIxuo1kYZRVgLY7ELGFmlBjX0l9qxxBL87EaSPhYxKFD4qIHAOLjOaSkHIXPZ12lZC2Tvhm1f9TspllySRhxMKSSicNJ7jutY9fORduKz1b6G8qNB94lKASrAtkIq4AT4kiMEmZGiHEj+0uqzAJL87EaSPhYxJ494qLH4wngmms2YMMGYwJ01QQca/0cIwe82CF5hw8n4MCBZLRtexbNm59AWVkZADZS76PROtEI9WNJySYmvhNhHmKLpJ77ilWBrNcq4IQ4EqOFmZ7538j+UmKplJqPza4urRUSPhbg8/mQmnoOcXHnY2KA4M0/cuRa5OUdUmwhkMPKoGkjBUj0IXnCE8n568XigIRcAWa7AbRMNNHm7F9/bYKyshJwXBw2bSpB06ZnmNvRsoSTq8bKLZJKAvxZcvnIoXeTxLr7T6vQMGsMGxl3o3QtEpuPX331VSYtkSR8TCZcMQ8d2njC69x5l2GfFe1O0xM0rdRqZGTtHyMyBVasKBNcFMy8+bRMNOnp6SgtLcXq1avh96dg06YSiBXuU4vZosBu0WF3to8etJz7FJ715gSXD49RsSqsu/+0pp2bNYbNjLvRIrpZtESS8DGZ8B/dTBeNz+fDl18CgUDkTdLQAGzd6kPTpsrNp3an2mvdsUgtCmbefFonGq/XC8DYHZrZooAF0aH0t6ysrBS91i6LkJ5zn5zg8gnHqMBx1t1/Wu5/MzPWzIq7kRPdTrJEkvCxGDOqI/OLkd+fAo9neqMb8IsvXsbOnadkFyMlaepWIDeRhO+K+d2wnYuC3onGyB2aEQHXdr6/FsTaIGUJAOyxCOn5rZ2YOqynf5VajAB7F10jhIYR7TezNIPc/OokSyRAwscV8IuM3A0oVyFVSZr6qFGjzPsi/0Xuewjtiu1eFPRY8+zaoemFhclOTxvsMMHr+a2dmjqsFSmLEQvuP6OEhlHtN7M0g9T8CsBRlkiAhI/r0LoAK01T93g8gq+PRm/BN7Xfw45FQW9Jezt3aHphwe2itA0smOCN+K1ZTh02K+5L7jV2jkMjhIbR7TfLgik1v9q96dQCCR8XosedJje5er1ey4rNqfkediwKeic+u3ZoRvQJC5OdkjawYJUC9P3Wdla2VoIdcV81NTUA7B+Her+PGe03Q4TKza9Os0SS8GEQu0/hFppc+V1zZWUciorYypThsaK+j9GTih07NCe8vxFtsMsaYMYYYe3k9XCsPlrC5/NhzZo1ANgYh3owuv1Gi1Ah0X3wYC4AD/LyDgJg2xIphmLhc/LkScVvmpqaqqkxsQxrp3CHW1vCd82vvMKZluWVlJSkyC0h5w4w64aLnlTE2jpq1CikpaUJvodVv6/ZkxELk51cG+ywBphl/bBjTtAq4Mx2LYa3iYVxqAej22+0CE1PT8eoUaNCQnPfvg6CFlQWLZFSKBY+aWlpsvEdHMfB4/GgoaFBd8PcgtIfPScnhwnBE030rjkQ8Bh2GCkPP8GuWtUUTz99NwIBD+LiODzwwM8YMeIEEhMTQ6nfUgdcSmHEzRc+WUi5UPhJQgyrsonMtoDZVUFbqevHDmsACwdrGoEaAReOHa5Fpy26APvuy3D4TZycBXXcuIGNalCxspGPRrHw2bx5s5ntcC2sm6nlENo1G3kYaXgq/uLF08FxfBq9B3Pn5sDvXwOvVzwV347+1RtUa+aipzfg2qj39/v9oeuNHttyvzmf8cOCNYCFwGotaBFwdrkWxfq4tLSUaUuZFfOWkeNPTw0q1lAsfPr27WtmO1yN2TefmVYPIw8jFYJ/vdxNJfU5/HEX/DWVlXGoqEhAQcE55OQEUFdXB5/PZ9jvwHJQrdkTavj719TUiFq3+KNHAHMsXFLvx8pumpXAaiNQsoBqdS3qiYmS6mPeSmwlLBT45DF6/Dk9nioczcHNNTU1WL58OXbtCh65cPHFF2P8+PG2DLZYx4jFTmwRsGrXrOemCp9spG52oyYbVoNqecyeUNW+v9VuHRasrHaPASNRuoBquYf1CAUW+5gVV6cZfcOCBdUoNAmfr7/+GoMGDULTpk1x+eWXAwAWLVqERx99FBs3bkT38NMkCUvQO4lHLxbhBcKsiOUwoiy93M1u1GQT3VYg8kR1u1Ns7YIlt47drmOrxoDZ56apWUC13MN6hIIT7jO77gkj+0apBZV3bwu93u77MRpNwufuu+/Gtddei7/+9a9ISAi+xblz5zBx4kRMnz4d//znPw1tJGENUoPTzGwpHr0Cy8qJkD9RfdOmxiequ8kkrBRW3Dp2H6DKY8UYsMKtouSessu1yPp9JnVPhJ8ob8aYNLJvpCyo4e7ucPd2NKwdGKzZ4hMuegAgISEBs2bNwmWXXWZY44jYQ4/AsnIi5E9UF9sJS+18wyc9HhZ3RUphxeXAUnyFFW4BK85NU3JPGelaVFPOQq6P7cyIkrsnos+RM2pMqukbNZsEvW1jLYtRk/BJTU3FgQMHcNFFF0U8fvDgQaSkpBjSMIJQi9LFRioQGlBWQVduJyy18xU7PJO1XZFSWHE5sBBfYZf1wyyLm9J7yohxq/Q7RAutBx44hv37E5Cffw45OT0A9LB9I6H2njBqTCrtGwDMbBLsQJPwKS0txYQJE/DEE0+gV69eAIAvvvgCM2fOxI033mhoAwFg//79ePjhh/Hxxx/j8OHDyMnJwejRozFnzpyICWTHjh2YOnUqvvrqK7Ru3Rp33HEHZs2aZXh7CG0cOgTs2QN07Ajk5przGXLuMj2B0OHFvJTshMVTve0/0dxIWHU52BFfwWJ5BS1uFasFnFqrYfh3yM4GiooMaYZhqL0n/H6/YangSvqmqqpK0XtVVlY2ek8pWIrzk0KT8HniiSfg8Xhw66234ty5cwCAxMRE3H777Xj88ccNbSAA/PjjjwgEAnjhhRfQoUMH7Ny5E5MmTcLp06fxxBNPAAhWlr766qtRUlKC559/Ht9//z3Gjx+PtLQ0TJ482fA2uR2jUuTDixPOmuUNFSdcsMCPm276FbW1tYa2B5B2l+kNhOaLecnthPlK3AAbJ0mbCYvZHnb2s9U7ZDnrgha3itUCjhWroVGI3RMAUFGR30gYrF69mknrCj92lLTNSXObJuGTlJSEp59+GvPmzcO+ffsAAIWFhWjWrJmhjeMZPHgwBg8eHPq7ffv22L17N5577rmQ8HnttddQV1eHl156CUlJSbj44ouxfft2LFq0iISPBoyY+KSKE86cmYqff34JXu8pjB49WnLsmGG2NmKildoJCxXzYiUWxihYqZcTjZZ+ZiUoWgtqrQtqjiuwClathmqRuif27evw33lQWBjYafGVs9TItc1pc5uuQ0qbNWuGLl26GNUWVfj9frRq1Sr0d3l5Ofr06RMx8AYNGoT58+fjxIkTaNmypeD7nD17FmfPng39reZMMrcg5oIyKqBNTmQ0a9ZMl5lXjXWKb5NRE62aYGy37WpZqJcjhNp+ZikoWgtqrQss4YRAZTWIlQVhWRgYYalx2tymSficOXMGS5cuxebNm3H06FEEAoGI57/55htDGifG3r17sXTp0pC1BwAOHz6MgoKCiOvatGkTek5M+MybNw9z5841r7GMs3w5MHkyEAgAcXEw5QBSs3dzahZg3ret1T2jxwXoll1tOCwKAb0WECfGYKm1LrCC2kBlJ1jmhD6fVWEgJMjefXcoMjMPIzdXWRwQIH/PRWey2v07aRI+EyZMwMaNG3Hdddfh8ssvlz28VIz77rsP8+fPl7xm165dEdljP//8MwYPHozrr78ekyZN0vS54cyePRszZswI/X3y5Enk5eXpfl89WBEE7PP5sH//OUyenIlAgHdBwfADSAFrYkCUtNXn84VuQL8/BS1bnsCECS+ivj5Jcd0gPVYOFmNh3IiefparvWL3hB2O2LlpZloXzBAeSgOVnWyZExIGAIfKyhwUFPxkW7uEBBkQh+XLJyoSy0otdkKZrHb+TpqEz4YNG/D3v/8dvXv31vXh99xzD8aOHSt5Tfv27UP/X1lZiauuugq9evXCsmXLIq7LysrCkSNHIh7j/87KyhJ9/+TkZCQnJ6tsufHIBQEbOeHyE0hFRT4CgTERzxl5AGk4dp3kzSOXzaVm8tHTJ3b3g5vRG3OktPYKKwurmFvFLOuC3cKDhXIFagkXBiUlm1BWNhAAbyjwYNOmEnTuvNO2eUBYkCkXy0IWu+++O42dO9+W/U52/k6ahM8FF1xgSL2e1q1bo3Xr1oqu/fnnn3HVVVehqKgIK1asQFxc5A9VXFyMOXPmoL6+HomJiQCAsrIyXHjhhaJuLlaQCwL+8ssy5OUdxJw5YwyZUJTGuRg9MK2o/iyG0mwuMzD7xHQ3o7bImp6YIzHBcPBgLrzeXaHHWFpYhb6LWS5VJwoPuwkvgZGTU4XzoieIXe6uaEvNu+8OBaBNLEdb7HJyqnDw4PnXsJjirkn4PPnkk7j33nvx/PPPo127dka3qRE///wz+vXrh3bt2uGJJ57AsWPHQs/x1pybbroJc+fOxYQJE3Dvvfdi586dePrpp/HUU0+Z3j69yAUBr117PTyeAC644CTuuce4z41F14vS3bCRIoTVIGDW0WJh0NOHYrvfdeuuQ10dmzEyQlh1X9u9oNn9+UrhS2DoPYjZyPmDn5OCdXrWIzPzMJYvn2i4WGY1xV2T8Lnssstw5swZtG/fHs2aNQtZWHiOHzc2WLOsrAx79+7F3r17kRsV9MJxHADA6/Vi48aNmDp1KoqKipCRkYEHHnjAUansYhMvEFycZ83yol+/I4bG38Sa60Vu8hkxYgRycnIMFyEkatRjddCx2O6XpQwcKawsL2D3gmb356tBb+aaWS7G8Gtzc6sMz6pjOZNNk/C58cYb8fPPP+Oxxx5DmzZtNAc3K2Xs2LGysUAA0LVrV3z22WemtsVMom+MaAIBc+JvzHJBGVUE0UjkJp+MjAwSKQxi1ULXvfu3SEo6i7Vrr494nIUMHDmssizavaDZ/flq0XvEhpkuRjOP/2A1kw3QKHy2bNmC8vJydOvWzej2xDz8Tu3gwVysXXsdwneeZsbfmAGrLp5Ys3I5HbmFrqamxtA6UHl5Bx1bdsCKe8nuBc3uz9cCa0dsiLnOcnICyMmpM2ReZrl8hybhc9FFF+HXX381ui3EfwlaYHahrs758TesWk/sDLQm1CG30K1Zs0aXBTQ83mH9+vUxGfumBrsXNLs/3270xjZZlZ3H8n2kSfg8/vjjuOeee/Doo4+iS5cujWJ8UlNTDWlcrEOWCYJQttDptYCmp6dHvAfde+LYtaC5rcqzFoxw+ZqdncfqUTbhaBI+/LlZAwYMiHic4zh4PB40NDTobxkBQJtlItyMWVkZh4qKBBQUnENOTrDCthkHg7IOi/FGhDKEYt84Dti3r4OhcT5UdkAaMxY0PeUKjIxHcQJaY5ui+zi6irLRsBriEI4m4bN582aj2xHTGDmRyhXq4xcKOw4GtRMn3IyxiNTCFz5BFxbuxX8TOP+L8QGtRo8RJxyvoAYz+kdPuQIWYmWsREtsk5I+NqMsAOvjWpPw6du3r6Lr/vCHP+DPf/4zMjIytHxMzBA+ofDVV7WitFCf3oNBnQjrN2OsoXThA4KTvtYCa2qtCkZgd5VjszCyrVQQUR1aYpvk+s7IbEknCX1dp7PL8eqrr+KPf/wjCR8FqB0QcucGOTHzgYgtlNbpAbQHtNolQNxw8KnVOKUgodUYGdsU3scADCsL4DShb6rw4SJt04QCpM4RCp8U5M4NivXMB8JZyO08tQbUsiBAnFRszy6s7iMnWSeMim2K7uPi4nLDNsdOs96ZKnwIcaRuvFGjRqGmpgYbN24EID0piL0Hy6mEBBGO0qBNvZlWdggQpxXbswOr+8hp1glAf2yTUB+XlxcDCECsVpybIeFjA2piG/RMCpSSSzgBNW5ZrZlWdgkQcjnLY3UfsW6dMMMaJdbHvXp9gfLyYsPLArDutiThYwNqYhv0TgpUqM8+rDCnO8lkL4acW7a0tBRer1f09Uq+o10ChFzO8lAfnccsa5RYH/fsuRU9e27F8eOtcPPNPdG5s/6yAE5w7ZLwsRm5QUKTgjOxwpzuRJO9EHJuWa/XqzsD0a77iCWXM6si2e4+Ysk6YZY1Sv4eO4XOnQfpvs/kLKtiNYSsHnuqhc+5c+fw2GOPYfz48Y1OSo9m9OjRVMVZAiXmd7WTAhXqY2OCtyKoloXAXaMw2y1r5+LKgsuZRZHMQoVf1q0TekWZUB8fPJgLwIO8vIMGtjSInGVVqlSLlWNPtfBJSEjAwoULceutt8pe+9xzz2lqVKyg1PyuZuKM9UJ90RO82MRh5U1mxeRqxWcYLSitrpRspQCx4rup+T1YFMl2z1WsB54bcU+np6dj1KhRWLNmDYBgtXMz5wklllUWxp4mV1f//v3x6aefIj8/3+DmuJfwSYo396kxv6uJ1XGrqFFC+M2jJRvOaKyYXK34DDMsBlYsfHYdQxH93fx+P+rr6yOuSUhIQF1dHaqqqlR/Tz2/B0tWDjvnKpYDz428p9PS0gx/z2iU1hpiZexpEj5DhgzBfffdh++//x5FRUVo3rx5xPPXXnutIY1zC2KTlBHmdze7rPTAym7OisnVis8wy2Jg9sJnp1WBf0+fz4fVq1fLXq9GNGr9PVi5L1iA5fhJuXta6rwtsfFs5jwhVWsoKakA69d/y9TY0yR8/vCHPwAAFi1a1Og5OqS0MVKTrpT5fdSoUSG1LoSbXVZ6YWU3Z8XkavUEzsquTSl23yNmu5nU/B6s3Bd24oRT3uXuabljjYREtNnzhFitoaqq4OHYLI09TcInEAgY3Y6YRsz8npmZafuk7VRY2c1ZEVRrZeAuS7s2J2K0aFT7e7ByX9iJE05513tPh4toVoQeS2NPk/D529/+htLSUiQnJ0c8XldXhzfeeENR4DPRmBEjRoTONbP7xnM6dqfIhmNFUK1RnyEWMMub1lnatTkNM0Sj2t+DpfvCTlg95V1pphuPkqwvVoQeS2NPk/AZN24cBg8ejMzMzIjHT506hXHjxpHw0UhGRobjT0xnIZWcx840YiuCao3+DCUBsyzt2pyGGaJRy+/BQno9IYxcTFp1dXXIzaXGesiK0GNl7GkSPhzHwePxNHr80KFDkhVWiSAsFcwyEhZrhdhVudqKoFqjP0NJLApLuzanYYZoVPp7qBXJLG1gYg0l/WqVy9mIcWBXZqUUqoTPpZdeCo/HA4/HgwEDBiAh4fzLGxoaUFFRgcGDBxveSDfhtMBQNbBwBg5LBRytWBjM+gypccrKrs1pmCUalfweakQyixsYlrFDJOqxHiptr1HjwO56TUKoEj7Dhw8HAGzfvh2DBg1CixYtQs8lJSUhPz8fI0eONLSBbiLWAkPtsGyxeJM5DaUVxe3etTkRo0Sjll202anysYhdIlGr9VBNe40cB6zNt6qEz4MPPggAyM/PR2lpKZo0aWJKo9wGP/nIqXQ3LRp2WrZYu8mchtw4DQ/CD4cEpTBmmPqtEvhutlAbgV0iUav1UGk7KisrI/522zjQFOMzZswYAMFOPHr0aKP09rZt2+pvmYvgJ6n9+8/hlVc4BALn46Pi4znccccQ5OcnuGbRiDXLltuQ2026IQjfSswSKWbPF3Qfq8MKcWD0+WZiQi28TpAbx4Em4bNnzx6MHz8eW7ZsiXicD3qmAoaNSU9PR3o6sGwZMGUK0NAAxMcDL7zgQVFRG7ubZyiU8uxsKIDZeJy4qaH7WDlWiQMjRbRSoebGcaBJ+IwdOxYJCQnYsGEDsrOzBTO8CGEmTAAGDQL27gU6dABkDrh3JG5KeY7V7BYKYCbcdB+bjZXiwIj5RkyoZWYeRn19coQFyI3jQJPw2b59O7Zt24aLLrrI6PbEBLm57hQ8PE61GESLHL/fb/gZSyzDWtqpkaIzVgWsHpx6H9uB08SBmFB78cWJACItQG4cB5qET6dOnSQPSSNiE6P9z1aiNNtBCDWBiywvwCxlxBmZLUPp2dqJRcuflnvUaeJASKgBHABhV53bxoEm4TN//nzMmjULjz32GLp06YLExMSI51NTUw1pHOEsWFo41aJEvOhNz3fCAszKb2NktgylZ6uDNcuflei5R50kDoSEmpyrzk3jQJPwKSkpAQD0798/Ir6HgpsJVhZOozEiY4OFAo9OxMhsGbel5ZqBkzcwelErkp0mEsWs8omJdVi+fKKoq85tJSw0CZ/Nmzcb3Q6CYIrwCQ+AKRkbbj26xEiMzJZxY1quWThxMTMaJSLZaSIxur3hZ39JuercVsJCk/Dp27cvPvvsM7zwwgvYt28f1q5diwsuuACvvPIKCgoKjG4jQVhK9IRXXFxueMYGWR6UIZctEx5rKLfAuDEtlzAHNSKZFVGjlPD2aonLZDlOUSmahM+6detwyy234Oabb8a3336Ls2fPAghmwTz22GP4+9//bmgjCcIqhCa8LVuKDc3YIMuDcuSyZcILrQHS8VF2Zt64YbHQihO/u1EimfXvrtZiFR0DJWa1Zj1RQJPweeSRR/D888/j1ltvxRtvvBF6vHfv3njkkUcMaxxBWI3QhAfEobj4C5SXFxuSsUGWB+WIZcsAQEVFvqoAZbsyb9yyWGjBCQH9Qhghkvft24dXX31V9jq7v7uazw6/v6Ss1qzHKWoSPrt370afPn0aPe71elFTU6O3TYRLYX33A4hPeD17bkXPnlsNSc93Ws0Pu4k2we/b1wGLF0/X5CbUm3mjZQy7ZbHQglMz6vSKZJ/P10j0OOW7K8HpVmtNwicrKwt79+5Ffn5+xOOff/452rdvb0S7CJfB+s6PFy9yE96kSUOQlpYW8Tq17XVazQ87EMuW0TLhGpV5o3cMW7lYsLjJ0BvXZvV30iOSo9v5xRfF2LSpxDUxfU63WmsSPpMmTcJdd92Fl156CR6PB5WVlSgvL8cf//hH3H///Ua3kXABrKdyR/u6H3jgGPbvT0B+/jnk5PQA0EP3xOrkAo9WI5Z9omXCNSrzRq/1wqrFgkXXml7RZ9XGyYz09C++KEZZ2UAAwdIvWgUvS2LW6VZrTcLnvvvuQyAQwIABA1BbW4s+ffogOTkZf/zjH3HHHXcY3UaCsITwSSM7GygqMv79nZT6ajdC/aB1wjW6T7VYL6xaLFh0rekVfVa5zIy+R/3+FJSVlYAXPTxqBS9rYtbpVmtNwsfj8WDOnDmYOXMm9u7di19++QWdOnVCixYtjG4fQbgKEjX6YGHC1Wq9sLrtLMVhGCn6zC4FYeQ9evx4OvhjIMJR+91ZFLNOqlQdjSbhw5OUlIROnToZ1RaCIAhZpCZcoTMEjbai6bFeWLlYsBSHYZToM1LMWeE6EjsTq6Rkk6bfgCUxC4i7AllHl/AhCIKwAqWxF9F1fXiMdAHotV5YtViwFodhhOgzsr6OkpihUaNGhZIZjEhkAAIYOHATevcuV/U+PHaLWaWxTazHKZLwcRgsBbjpgY5rINQgFnsRXnIfsCZlWK31wq7Fwm63oM/ng9/vb9QmPcHCRok5uZgh/u+//vUD3TE0coJPze9ut5h1S5wiCR8HwXpKuFLouAb3YKUQl3sfK8eVGuuFnYuFXXEYaiwqmZmZir+7GWIuetx07boDO3Z01RVDo9RCOXr0aFW/u91iFnBHnCIJHwfBekq4FPxEIOejZt1ESpyHJSFuReyDnlRnOxcLO+IwlGZhpaWlGW5BUYPQuPnuu27Qm3pupth1clAxK5DwISyBnwg2bwaeeqqxj7p37zHo188duwkjcIJLkyUhbkXsg1PM/KzFYRhhiTOjvg4gdkSNvtRzHjPHgVODilmBhA9hGenp6bjiCiAuDggEzj8eHw/07JkO0jxBWLKkqMHOuC2rYh9Y6m8xWBJoWi1xQsJ/1KhROHfuHAAgMTERXq834nkt30ks6ypc/LBQmI81Met0SPgQlpKbCyxbBkyZAjQ0BEXPCy8EH2cNu6wuLFlSlGJ33BYLsQ8swYpA02KJs7JYn9C4EYrxsXscsSRm3QAJH8JyJkwABg0C9u4FOnRgV/Q40epiB6zUFqHYB/bQYomzulif0Ljp3/9j5sZRrM8zRkLCx4VEF3FjcSeQm8um4OFxotXFLuysLWJW7AdhDHoscWYKarlxQzE0woRbwSsr41BRkYCCgnPIyQnGLrC41ghBwseFCBVxI8uEc2G95pGdtUXIBWA/Qouh11sTel6rJc5MQR09bvx+P1avXi37ulgW0OFWcClLnBPWGhI+DkLPTUeWCWdid+yMEuyOr2F9knUz4othSwwbdmlorGqxxJktqCMPJc4mAS3DeZEobYlzwlpDwsdBCO1uoyvXEu6BldgZMcIXLaldfSzvkt2O0sVwxIgRyMjIiHitnJCwWlDHsqhRg93HZhgBCR+HQTenPdjhbmJ9giE3E8EjN1YzMjKQnZ2t+n0pYJ097D42wwhI+BCEDFa7m3gLidwEw4IlhUQNAehfDMPjhKKTMyjQmC3sdm0bAQkfgpDADndTuCXlggtO4t57vWho8CA+nsP8+Sdx0003kiWFYAo9i6Fw3Z58WeuqUuHvhCroTsPpljgSPgQhAD+pypnwzbK68BPxPfcApaV8zSMPcnPTAKSZ8pkEoQeti6HSuj3hcUJKxYqVxRDV4Ia0cCdb4kj4EIQAvNVl//5zeOUVDoHA+RL28fEc7rhjCPLzEyyZnFiveRRLkPVAGj2LoZx1VUuckNXFEJXgprRwp0LCx+HQGS7mkZ4ePD+s8REbHhQVtbG7eYTFUDVvczEzmJ+lDEmnpoW7aa0h4eNgDh0C9uxJx4gRdyIj44zodeG7UNqxqscJR2wQ5hN934i5TVhbsMzEyMXQzGwhFjMkWWyTFG7K4iTh41CWLwcmTw6ech4X1xLLlgUXaCmcumNlQayRu4kIxwmFJa3AyMXQzGwhFlOwWWyTHCytC3og4eNADh06L3qA4H+nTAlaJaQWZyeeP+VUsUa4F5bcJixg5H1nVrYQiynYLLYpViDh40D27DkvengaGoKuGLdZJZwo1gh34zQXhdMwK1uIxRRsFtsUC8TJX8IWZ8+exSWXXAKPx4Pt27dHPLdjxw5ceeWVaNKkCfLy8rBgwQJ7GmkyHTsCcVG/XHx8MP6EIAhz4V0U4YS7KKqrq1FVVYWqqir4fD47mugorAya9XpPoaDgJ6YEBottcjuOs/jMmjULOTk5+O677yIeP3nyJK6++mqUlJTg+eefx/fff4/x48cjLS0NkydPtqm15pCbK5Rp5D5rjxthIV6J0IeciyL67Dynu2HNHrNmBs26KROJMA5HCZ8PPvgAGzduxLp16/DBBx9EPPfaa6+hrq4OL730EpKSknDxxRdj+/btWLRokeuED0CZRk6E4pXcg5CLwo1ZXlYVADRrvLOYiURizH4cI3yOHDmCSZMm4e2330azZs0aPV9eXo4+ffpEDJZBgwZh/vz5OHHiBFq2bCn4vmfPnsXZs2dDf588edL4xpuEUKZRMMU96A4jMcQWFK/kbKIXovBYFLdmebFYAFAtrG0i1IoxN1R5Zg1HCB+O4zB27FjcdtttuOyyy7B///5G1xw+fBgFBQURj7Vp0yb0nJjwmTdvHubOnWt4m+0gMsUdilLc3QJ/sKGbJwFyk9lL9IJVXV2N9evXx0SWVyx8RytRep9SlWdzsFX43HfffZg/f77kNbt27cLGjRtx6tQpzJ492/A2zJ49GzNmzAj9ffLkSeTl5Rn+OWajJMXdzSbW8LgKN04C5CZjA6G+dUuWl5BlweutAeCe7+g0nFrlmXVsFT733HMPxo4dK3lN+/bt8fHHH6O8vBzJyckRz1122WW4+eab8fLLLyMrKwtHjhyJeJ7/OysrS/T9k5OTG72vE1GS4s6iv1sOLSLMjZMAucnYxYmF6KIRtyy0xLBhl6KwcK/jvyNLqHVfkfA0FluFT+vWrdG6dWvZ65YsWYJHHnkk9HdlZSUGDRqE1atXo2fPngCA4uJizJkzB/X19UhMTAQAlJWV4cILLxR1c7kJPsU9XPwIpbizJGqUEC7WqqursWJFmWBwpVvhJ0jelUewhxsK0clZFqZPX+z478gKatxXPG4Q1yzhiBiftm3bRvzdokULAEBhYSFy/2vOuOmmmzB37lxMmDAB9957L3bu3Imnn34aTz31lOXttQM3p7jzYm3VqqZYvHi6awJIxTJkeJS6twj7MaIQHQsxXFKWBSq2Zwxa3FduENcs4QjhowSv14uNGzdi6tSpKCoqQkZGBh544AFXprKL4eYU90OHgFmzvOA4DwDnB1cqyQKSWgTlRBNhPlJZXlLXCWFV2rgccpYFs6oqxyJq3VckPI3DkcInPz8fHMc1erxr16747LPPbGgRO7j1MM1gDJMn4jGn+bj5BVBupye3UNqROs2CNYI1jIyZYyVtXKtlwYkJEXajxX1FwtMYHCl8iNgjGMPERYgfp/m4+YVy82bgqaca7/R69x6Dfv2k47DsSCumjDJxjP6+LKSNS1kWRowYgYyMjIjrY1H0GgG5r+yDhA/hCHJzgQUL/Jg5M9XRk0R6ejquuEI4EL1nz3TIrR92ZHdQRpl1sJK9I2ZZyMjIQHZ2tmXtcDty7is3lyCxExI+MYzTqjyPHduAn39eLOvjZn0S0BqI7ven4PTpZpLmcda/OyFNLGXvUEXiIFLuKyeWIHECJHxiFCdWeU5PT8ecOWNcMVmqDUQPj/sAAqHF0eMJ4MEHKzF58o2WfXcKrDYPu9wftbW1iq4zSlhTRWLlxPr3NwMSPjGIkirPrMJPAk4UbtEoDUSPjvsA4sBxAVx33Rrk5R3C5Mk3yrofjApOduuZVCxhdfaOz+fDq6++GvpbTNiOHj3asEU4lisSk/vKfkj4xCBKqjyzjJOFmxr4iU8o7gOIQ/PmtYqywIwKTmYh8DZWsDJ7R2lGmdDh0HphJabJSnj31f795xpZrHmcYrl2KiR8YhClVZ5ZxenCTSnhE+Qrr0RmtMXHc7jjjiHIz0+QnSCNCk6OxUXKKliwAigRtkbH5cRSTBNwvv9WrWqKWbNaIRDwIC6Ow4IFftx0068keCyChE8MYnaVZ7NrvjhduKkhPT2Y6dX49/KgqKiNoZ9VXV0t+dvE2iJlJSwEscoJW7/fj9WrVwMwLi4nllK6ecur35/y3wr0wY1MIODBzJmp+Pnnl+D1nqK4Jgsg4ROjmFXl2YqaL24+nkMMI38vsRgO/oT76N+GtzLILVIUk6APuxc7OWFbX18PIDh+3n13KABj4nJipSIx3y9yAtONcU2sQcInhjGjyrNVNV/cfDyHGEb8XlqOyoi2RjzwwDHs35+A/PxzyMnpAaAHmehdgJyw/eWXXwAAW7f2BC96ePS6PGOpIjFZTu2HhA/hWNx6PIdZCMVwvPvuUGRmHkZubpXka8NFTXY2UFRkalMJm5CyvmzcuBF+fwrKy4sFXkkLt1Jiyb3HKiR8CCJGEMsOW758IqWlEyGkrC/CYwjo1atc1cLNQjC3ncSKe49VSPgQRIwgZGIHKC091lEjLsTcND17blX1mSwEc9tNLLn3WIOED0G4nOjg5PDAVB5KS49dlIiQmpoarFmzxlA3jZtFDcE2JHwIwuXwC1tlZSWA9cjMPIzlyydScCURQo0IITcN4XRI+BBEDJCenh7a0efmVlFwJSGKUJFCr7cm4hopN41b43L0EutxTSxBwocwFLq52SW8z6V27fTbxC7ih4e2xLBhl8oGwI8aNYpcWCJQXBM7kPAhDIVubnah34aQQ+nhoWKkpaVZ0UzHQvcWG5DwIQwn/OY+dCh4tlbHjlRzhwVo4iWUoPVcNrIWEk6AhA9hGsuXnz9FPS4ueMzEhAl2t4ogCDnkqgsPHDgQBQUFEa8hayHhFBpXoiIIAzh06LzoAYL/nTIl+DihDZ/Ph6qqKtF/Pp/P7iYSLoFPW/d4zp8EzHHAvn3Bk4DLysqQlJSE7Ozs0D8SPYRTIIsPYQp79kSeng4EDxTdu5dcXlqw4vBXgginsHAvOC78EX2HkRLOxk1hC2TxIUyhY8egeyuc+PjggaKEeqIXGb8/BRUV+fD7UySvIwitHD+eDrFCl0RswFuZn3yyBu3acejfH2jXjsOTT9Y42spMFh/CFHJzgzE9U6YELT3x8cALLzh/p2Am4fVToqmurg79v5IT1glCL3SKeGzDW5n9/hQsXjwdHOcBAAQCHsycmYqff34JXu8pR1qZSfgQpjFhAjBoUNC91aEDiR4plLqytKYZE4QSwrOy6BTx2IbfhMll+DnRykzChzCV3Fz3Cx4pSw2gLNtFyJV1/Hg6WrXyRSw0WtOMiSBCVYkLCs4hJycYkBbrmUnp6ekoLS3F6tWrAdDxFIQ7LX8kfAhCB9GWGjHBosYcLOXKcuMkZBXiVYkj+9iJpnsj8Xq9UX/TKeKxjBstfyR8CEIH4ZYaqcVUqTlYzpXlxknIKpRWJXai6Z4gzMRtlj8SPgRhAEbF3ihxZUlNQuFB0LHuthGD3IXS0Hl7hBBusvyR8CEIAzBqMVXqyoqehHgX24oVZZpdbLECuQuloTPdCLdDwocgDMCoxVTOlTVixAhkZGSguroa69evB2CMiy2WIHehPCRqCDdDwocgDMDIxVTKlZWRkYHs7OzQ35Terg23xSwQhNG42eVJwodgCieXRdezmEZPHmL+9OjrKF5FO26KWSAIo3Gzy5OED2E7fG2VVauaYtYsLwIBD+LiOCxY4MdNN/3qqJtL62KqdZKheBWCIMzCKfOuWkj4ELbi9LLoRpqDtXw/ildRjptN9+FQkUaCkIaED2ErTi+LzoI5mOJVlMHCb2U2VKSREMPJYQRGQ8KHYAInu2xYWEAoXkUZLPxWZkJFGolw3BRGYCQkfAgmiBWXjVG7rlhx2xDaoKB3wulhBGZCwodgBre7bJYvByZPBgIBIC4OWLYseIK9FmLBbUNox8kWVMIYnB5GYCYkfAimcKPLxufzYf/+c5g8OROBAL/rAqZM4XDJJUeRn5+gSaCQqCHEiBULKiEPieDGkPAhCBPhzc0VFfkIBMZEPNfQ4MHSpR+goOCnmDQ3E+ai5Ew3yvpyPySCG0PChyBMhDcjy+26YtHcTIhjVEq6mAV1/fr1lPUVQ7g9jEAtJHwciltSE2MlSJd2XYRSrEhJZy3ri2oPmY8bwwi0QsLHgRgZJGs3sRSkS7suQgl6UtKVbhBYyvqi2kPuwgmbchI+DuPQofOiB+CDZIFBg9gdZHK4cTLjb/7U1MjFhXZdhFK0iBO5jUR1dTXWr1/PVMAr1R5yPk6rF0TCx2Hs2XNe9PA0NAB79zpX+LiNSItcJoYOvTS0ayUIpWgVJ0pjf1hzvZplhYpVN5pVYQROrBdEwsdhdOwYdG+Fi5/4eKBDB/vaxDJWm10bW+Q8EbtWglCK2eKENderGVaoWHajWRVG4MR6QSR8HEZubjCmZ8qUoKUnPh544QWy9ghhRyyUkEWOKuYSWjFbnLDkejVD6MW6G81KMceS+1QOEj4OZMKEYEzP3r1BSw+JnsbYFQslZJFTcvM7PWuNMA+WxInZmCX0WArmdissuk/FIOHjUHJzSfBIYUcslM/nQ3x8HRYsaIp77/WiocGD+HgODz10GL///UAkJibC6/U2ep1bYwwI9nBC+QgzhJ6TrBFOhjX3qRgkfAhXYnUsVHgsAQDceWdK6OZvaDiF9euDj7sxloAwFjPFSSyVjwjHSdYIp+MECyUJH8KVWB0LFb2QiN38bo0lcAJOqC8CmC9OWBM1VlmhnGKNIMyHhA/hWigWinBafREeFttkFlZaoZxgjSDMh4QP4WooFip2cWJ9kViF+t+5OCFuLBoSPoTrCC9YJgSru3zCWJxYX4QwFicuyk7DiXFjJHwIVxEdZCwG7fJjB8roiV2cuCg7Eaf1HwkfwlUo3b3H6i7fKQG+RkIZPbGN0xZlwnxI+BBEjGBHJWtWoIwegiB44uQvIQhCDtZjCcQqWR86ZEtzbMHrPYWCgp9I9BBEjEMWH4IwAJZjCXw+H778EggEIj+7oQHYutWHpk3JHUAQROxAwocgDIJF8RCe0u3xTG8U4PvFFy9j505K6SYIInYgVxdBuBjeAsUH+Ho8QV9XdICvG4O9WXc/EgRhD2TxcRBUn4bQQ6wF+LLsfiQIwj4cJXzef/99/PnPf8aOHTvQpEkT9O3bF2+//Xbo+QMHDuD222/H5s2b0aJFC4wZMwbz5s1DQoKjvqYgVJ9GGbTLlybWSvbH8r1AEIQwjlEE69atw6RJk/DYY4+hf//+OHfuHHbu3Bl6vqGhAddccw2ysrKwZcsWVFVV4dZbb0ViYiIee+wxG1tuDFSfRhm0yycIgiCkcITwOXfuHO666y4sXLgQE8IKj3Tq1Cn0/xs3bsS///1vbNq0CW3atMEll1yChx9+GPfeey8eeuihmN3hxyIkapxHLBZWtAJyjxNEYxwhfL755hv8/PPPiIuLw6WXXorDhw/jkksuwcKFC9G5c2cAQHl5Obp06YI2bdqEXjdo0CDcfvvt+OGHH3DppZcKvvfZs2dx9uzZ0N8nT54098sQBAHAuSenOwVyjxOEMI7I6vq///s/AMBDDz2EP/3pT9iwYQNatmyJfv364fjx4Hk7hw8fjhA9AEJ/Hz58WPS9582bB6/XG/qXl5dn0rcgCIKHX5QXLnwdM2emIhCIPDl94cLX8cwzz8Dn89ncUudC7nGCEMZW4XPffffB4/FI/vvxxx8R+G+52Tlz5mDkyJEoKirCihUr4PF48Oabb+pqw+zZs+H3+0P/Dh48aMRXIxzKoUPA5s3uqWjMarC3kpPTw68j9OP3p6CiIh9+f4rdTTEcn8+Hqqoq0X8koIlwbHV13XPPPRg7dqzkNe3bt0dVVRWAyJie5ORktG/fHgcOHAAAZGVl4V//+lfEa48cORJ6Tozk5GQkJydraT7hMtx4lhXrwd50cro1fPPNpY0Oae3e/Vu7m2UI5NJjF1ZjzGwVPq1bt0br1q1lrysqKkJycjJ2796N3/3udwCA+vp67N+/H+3atQMAFBcX49FHH8XRo0eRmZkJACgrK0NqamqEYCIIIcTOsho0yPnBtixP9nRyuvn4/Smh/gWCFrX33huKwsK9ruhncumxCcuC1BHBzampqbjtttvw4IMPIi8vD+3atcPChQsBANdffz0A4Oqrr0anTp1wyy23YMGCBTh8+DD+9Kc/YerUqa6w6LDqsnALe/acFz08DQ3A3r3OFz6s4/TCiqzuanmk3IlO62vCObAsSB0hfABg4cKFSEhIwC233IJff/0VPXv2xMcff4yWLVsCAOLj47FhwwbcfvvtKC4uRvPmzTFmzBj8+c9/trnlxsC6y8LpdOwYdG+Fi5/4eKBDB/vaFEs4tbAiy7tanlhzJ/r9KTh+PB2tWvkcOaYI83GM8ElMTMQTTzyBJ554QvSadu3a4e9//7uFrbIWEjXmkZsbjOmZMiVo6YmPB154gaw9hDQs72p5Ysmd6OZYJqfDkiB1jPAhCLOZMCEY07N3b9DSY7TooSJ97oelyT3c7S3lTnSLe9ztsUxOhjVBSsKHIMLIzTVHlLgxY0wPboxZY21y593jx44dQ319veA1bjjHkIdimdiERUHqnlFPEBoxOzjVzRljWnFbzBqLkzvP6tWrZa9xQ6p3rMUyOQUWBSkJHyKmsSI4lTLGhOH7U0x41tXVoaqqSrEAsjO7isXJHXBGDJJeeKugXCyTk6yHboJFQUrCh4hpzF4YfD4fUlPPIS4uM3QsAwDEx3NISTkKny/B8TttPRglPO3OrrJ6cmc9hd5Koq2HDzxwDPv3JyA//xxycnoA6BFT/cEKLAtSEj4EYRLhi/HQoZHxH9dcswEbNgTjP9zgZtBK9OItFhwsJzzttmxYmTmlRuRFw1LwtZGE3z/Z2UBRkY2NIQCwLUhJ+BCESYQvslJZNU52MxiJkcHBVi3wdmROaRV5rAVfE+6HVUFKwocgLMKpRfqswMjgYCsXeKcEabMcfE0QVkPChyAI2zEqONiOBd5uUaMEVoOvCcIO4uQvIQiCMBc+ODgcLcHBUgu8W/H7U1BRkQ+/P0X0GqP6lyDcAFl8CIKwHaOCg1lMnZVCb3aWnFuP5cwaFqFsudiAhA8R07ixgrASWJzgjTil3UnnUulNwVfi1mM5s4Y17C6JQFgHCR8ipnFKcKqRRE/wYhlQVkzw0YJSLABcTng68VwqvSn4SuN2WM2sYQ27SyIQ1kHCh4h5zFrcWbUmhU/cUq4SKyZ4o4RnLAlYfrzIufVYEnkEwRIkfAjCJFhfjFlJcTbq+7tB1CghfFxdcMFJ3HuvFw0NHsTHc5g//yRuuulG14g8gjADEj4EYSIsLz6U4uxc+HF1zz1AaWnw3LcOHTzIzU0DkGZbu1iMHSOIaEj4EESM4rQMKEKY3Fw2Drul4GDCKVAdH4KIUfgMKL6+C8sZULGAkno8LEPBwYRTIIsPQcQwRqSQE/qhc7QIwjrI4kMQMY7XewoFBT+R6LEYPutKLMict/xQdpY1RPezmAWOfg/nQxYfgogxWE2zjzX47KzNm4GnnmocZN679xj068d2gLybCM+WW7WqKf78Zy8CAQ/i4jgsWODHTTf9SsHZLoGED0HEGKyn2ccS6enpuOIKIC4OCIQdpRUfD/TsmQ76CawlPT0dhw4Bs2ad/z0CAQ/uvTcNpaVp9Hu4BBI+BBGDkKhhh9xcYNkyYMoUoKEhKHpeeIGNTK1YZM+eSBEKBH+XvXvpN3ELJHwIgiBsZsIEYNAgvh4PLbB20rGjsAWuQwf72kQYCwU3EwRBMEBuLtCvn3NFj1tix3gLXHx88G+ywLkPD8dxnN2NYImTJ0/C6/XC7/cjNTXV7uYQBEE4hvDKzZWVcaioSEBBwTnk5ATNJ06KHTt0iCxwTkPp+k2uLoIgCMIQeFGzfDkweXLQXRQXF7SgTJhgc+NUwkpFbMJ4yNVFEARBGMahQ+dFDxD875QpwccJggVI+BAEQRCGIZUVRRAsQMKHIAiCMAw+KyocyooiWIKED0EQBGEYlBVFsA4FNxMEQRCGQnWJCJYh4UMQBEEYDmVFEaxCri6CIAiCIGIGEj4EQRAEQcQMJHwIgiAIgogZSPgQBEEQBBEzkPAhCIIgCCJmIOFDEARBEETMQMKHIAiCIIiYgYQPQRAEQRAxAwkfgiAIgiBiBhI+BEEQBEHEDCR8CIIgCIKIGeisrig4jgMAnDx50uaWEARBEAShFH7d5tdxMUj4RHHq1CkAQF5ens0tIQiCIAhCLadOnYLX6xV93sPJSaMYIxAIoLKyEikpKfB4PHY3x3JOnjyJvLw8HDx4EKmpqXY3x7FQPxoD9aN+qA+NgfrRGMzsR47jcOrUKeTk5CAuTjyShyw+UcTFxSE3N9fuZthOamoq3dwGQP1oDNSP+qE+NAbqR2Mwqx+lLD08FNxMEARBEETMQMKHIAiCIIiYgYQPEUFycjIefPBBJCcn290UR0P9aAzUj/qhPjQG6kdjYKEfKbiZIAiCIIiYgSw+BEEQBEHEDCR8CIIgCIKIGUj4EARBEAQRM5DwIQiCIAgiZiDhE6P885//xLBhw5CTkwOPx4O333474nmO4/DAAw8gOzsbTZs2RUlJCfbs2WNPYxlFrg/Hjh0Lj8cT8W/w4MH2NJZh5s2bhx49eiAlJQWZmZkYPnw4du/eHXHNmTNnMHXqVKSnp6NFixYYOXIkjhw5YlOL2URJP/br16/RmLzttttsajGbPPfcc+jatWuowF5xcTE++OCD0PM0FpUh1492jkUSPjHK6dOn0a1bN/zlL38RfH7BggVYsmQJnn/+eWzduhXNmzfHoEGDcObMGYtbyi5yfQgAgwcPRlVVVejf66+/bmELncGnn36KqVOn4ssvv0RZWRnq6+tx9dVX4/Tp06Fr7r77brz33nt488038emnn6KyshIjRoywsdXsoaQfAWDSpEkRY3LBggU2tZhNcnNz8fjjj2Pbtm34+uuv0b9/f/z+97/HDz/8AIDGolLk+hGwcSxyRMwDgHvrrbdCfwcCAS4rK4tbuHBh6LGamhouOTmZe/31121oIftE9yHHcdyYMWO43//+97a0x8kcPXqUA8B9+umnHMcFx15iYiL35ptvhq7ZtWsXB4ArLy+3q5nME92PHMdxffv25e666y77GuVQWrZsyb344os0FnXC9yPH2TsWyeJDNKKiogKHDx9GSUlJ6DGv14uePXuivLzcxpY5j08++QSZmZm48MILcfvtt8Pn89ndJObx+/0AgFatWgEAtm3bhvr6+ojxeNFFF6Ft27Y0HiWI7kee1157DRkZGejcuTNmz56N2tpaO5rnCBoaGvDGG2/g9OnTKC4uprGokeh+5LFrLNIhpUQjDh8+DABo06ZNxONt2rQJPUfIM3jwYIwYMQIFBQXYt28f/vd//xdDhgxBeXk54uPj7W4ekwQCAUyfPh29e/dG586dAQTHY1JSEtLS0iKupfEojlA/AsBNN92Edu3aIScnBzt27MC9996L3bt3Y/369Ta2lj2+//57FBcX48yZM2jRogXeeustdOrUCdu3b6exqAKxfgTsHYskfAjCJG644YbQ/3fp0gVdu3ZFYWEhPvnkEwwYMMDGlrHL1KlTsXPnTnz++ed2N8XRiPXj5MmTQ//fpUsXZGdnY8CAAdi3bx8KCwutbiazXHjhhdi+fTv8fj/Wrl2LMWPG4NNPP7W7WY5DrB87depk61gkVxfRiKysLABolKlw5MiR0HOEetq3b4+MjAzs3bvX7qYwybRp07BhwwZs3rwZubm5ocezsrJQV1eHmpqaiOtpPAoj1o9C9OzZEwBoTEaRlJSEDh06oKioCPPmzUO3bt3w9NNP01hUiVg/CmHlWCThQzSioKAAWVlZ+Oijj0KPnTx5Elu3bo3wzxLqOHToEHw+H7Kzs+1uClNwHIdp06bhrbfewscff4yCgoKI54uKipCYmBgxHnfv3o0DBw7QeAxDrh+F2L59OwDQmJQhEAjg7NmzNBZ1wvejEFaORXJ1xSi//PJLhLKuqKjA9u3b0apVK7Rt2xbTp0/HI488go4dO6KgoAD3338/cnJyMHz4cPsazRhSfdiqVSvMnTsXI0eORFZWFvbt24dZs2ahQ4cOGDRokI2tZo+pU6di1apVeOedd5CSkhKKlfB6vWjatCm8Xi8mTJiAGTNmoFWrVkhNTcUdd9yB4uJiXHHFFTa3nh3k+nHfvn1YtWoV/t//+39IT0/Hjh07cPfdd6NPnz7o2rWrza1nh9mzZ2PIkCFo27YtTp06hVWrVuGTTz7BP/7xDxqLKpDqR9vHoi25ZITtbN68mQPQ6N+YMWM4jgumtN9///1cmzZtuOTkZG7AgAHc7t277W00Y0j1YW1tLXf11VdzrVu35hITE7l27dpxkyZN4g4fPmx3s5lDqA8BcCtWrAhd8+uvv3J/+MMfuJYtW3LNmjXj/ud//oerqqqyr9EMItePBw4c4Pr06cO1atWKS05O5jp06MDNnDmT8/v99jacMcaPH8+1a9eOS0pK4lq3bs0NGDCA27hxY+h5GovKkOpHu8eih+M4znx5RRAEQRAEYT8U40MQBEEQRMxAwocgCIIgiJiBhA9BEARBEDEDCR+CIAiCIGIGEj4EQRAEQcQMJHwIgiAIgogZSPgQBEEQBBEzkPAhCIIgCCJmIOFDEARBEETMQMKHIAjHUFdXZ3cTGsFimwiCEIeED0EQttGvXz9MmzYN06ZNg9frRUZGBu6//37wJ+nk5+fj4Ycfxq233orU1FRMnjwZAPD555/jyiuvRNOmTZGXl4c777wTp0+fDr3vs88+i44dO6JJkyZo06YNrrvuutBza9euRZcuXdC0aVOkp6ejpKQk9Np+/fph+vTpEW0cPnw4xo4dG/pba5sIgmADEj4EQdjKyy+/jISEBPzrX//C008/jUWLFuHFF18MPf/EE0+gW7du+Pbbb3H//fdj3759GDx4MEaOHIkdO3Zg9erV+PzzzzFt2jQAwNdff40777wTf/7zn7F79258+OGH6NOnDwCgqqoKN954I8aPH49du3bhk08+wYgRI6D2yEK1bSIIgh3okFKCIGyjX79+OHr0KH744Qd4PB4AwH333Yd3330X//73v5Gfn49LL70Ub731Vug1EydORHx8PF544YXQY59//jn69u2L06dP4+9//zvGjRuHQ4cOISUlJeLzvvnmGxQVFWH//v1o166dYHsuueQSLF68OPTY8OHDkZaWhpUrVwKApjY1adJEVz8RBGEcZPEhCMJWrrjiipDoAYDi4mLs2bMHDQ0NAIDLLrss4vrvvvsOK1euRIsWLUL/Bg0ahEAggIqKCgwcOBDt2rVD+/btccstt+C1115DbW0tAKBbt24YMGAAunTpguuvvx5//etfceLECdVtVtsmgiDYgYQPQRBM07x584i/f/nlF0yZMgXbt28P/fvuu++wZ88eFBYWIiUlBd988w1ef/11ZGdn44EHHkC3bt1QU1OD+Ph4lJWV4YMPPkCnTp2wdOlSXHjhhSFxEhcX18jtVV9fr7tNBEGwAwkfgiBsZevWrRF/f/nll+jYsSPi4+MFr+/evTv+/e9/o0OHDo3+JSUlAQASEhJQUlKCBQsWYMeOHdi/fz8+/vhjAIDH40Hv3r0xd+5cfPvtt0hKSgq5rVq3bo2qqqrQZzU0NGDnzp2y30FJmwiCYAMSPgRB2MqBAwcwY8YM7N69G6+//jqWLl2Ku+66S/T6e++9F1u2bMG0adOwfft27NmzB++8804okHjDhg1YsmQJtm/fjp9++gl/+9vfEAgEcOGFF2Lr1q147LHH8PXXX+PAgQNYv349jh07ht/+9rcAgP79++P999/H+++/jx9//BG33347ampqZL+DXJsIgmCHBLsbQBBEbHPrrbfi119/xeWXX474+HjcddddoRRxIbp27YpPP/0Uc+bMwZVXXgmO41BYWIjS0lIAQFpaGtavX4+HHnoIZ86cQceOHfH666/j4osvxq5du/DPf/4TixcvxsmTJ9GuXTs8+eSTGDJkCABg/Pjx+O6773DrrbciISEBd999N6666irZ7yDXJoIg2IGyugiCsA2hLCqCIAgzIVcXQRAEQRAxAwkfgiAIgiBiBnJ1EQRBEAQRM5DFhyAIgiCImIGED0EQBEEQMQMJH4IgCIIgYgYSPgRBEARBxAwkfAiCIAiCiBlI+BAEQRAEETOQ8CEIgiAIImYg4UMQBEEQRMxAwocgCIIgiJjh/wN9s77nJ4/qUAAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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PQAgCAH4+OPLkJKyF3Z7VYt1QOBSVzOx+i+4Of8gXHzxxRgyZAhWr14NwFUt+cUXX8TPP/+Mt956C19++SXuueceAMCIESOwaNEiREVFSVOVd911FwCgtrYWjzzyCH788Ud89NFH2LdvH2bNmtVs10FERK3PsWMxUtAjEoQAHDvWuYVG5NJmAp+FCxfi3HPPRWRkJLp27YrLL78cu3fvVhzz+++/Y968eYiJiUHHjh0xdepUHD58uIVG3Db0798f+/btAwDk5ORgzJgxSEpKwsUXX4xHH30Uubm5AFzLcHa7HTabDd27d0f37t3RsWNHAMD111+PiRMnonfv3jj//PPx4osvYt26dTh58mRLXRYREbWwzp0rYLMp80htNic6dz7WQiNyaTOBz9dff4158+bh22+/RV5eHmprazFu3DicOnVKOub222/Hxx9/jH/961/4+uuvUVpaiilTprTgqFs/QRCkpav8/Hxccskl6NGjByIjI3HttdeioqIC1dXVhufYsmULJk2ahJ49eyIyMhKjR48GABw4cKDJx09ERK2T3V6FSZPWSsGPmONjt1e16LjaTI7PZ599pvh52bJl6Nq1K7Zs2YJRo0bB4XBgyZIleO+993DxxRcDAJYuXYqzzjoL3377Lc4///yWGHart2vXLiQnJ2Pfvn247LLLcPPNN+Oxxx5D586d8c033yArKws1NTW6LTpOnTqF8ePHY/z48Xj33XfRpUsXHDhwAOPHj2cHeyIiPzds2A9ISdmLY8c6o3PnYy0e9ABtKPBRczgcAIDOnV1rhVu2bEFtbS0yMjKkY/r374+ePXuioKBAN/A5c+YMzpw5I/184sSJJhx16/Lll1/ip59+wu23344tW7bA6XTi2WeflZqvistcopCQELcWEr/88gsqKirwxBNPIDExEQDw/fffN88FEBFRq2e3V7WKgEfUJgMfp9OJnJwcjBw5EoMGDQIAHDp0CCEhIW51Zrp164ZDhw7pnmvhwoVYsGBBUw63VThz5gwOHTqk2M6+cOFCXHbZZbjuuuuwY8cO1NbWYvHixZg0aRI2bdqEV155RXGOpKQknDx5El988QWGDBmC8PBw9OzZEyEhIVi8eDFuuukm7NixA4888kgLXSURETUXeYmW0tIAFBcHITm5DiEh5bqfcTgicexYDDp3Zh0fj8ybNw87duzAN998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++yzlfj44xxFEKDVBTw4+AzMKg8D+ktqWsX3rOw4UxcXlL9mlq8zfvxAfPvtfrfjgAAIghPTpuUiMfGgpURvm82J4GBlEGa326WluLg4IDXVbahERF7xKvB55plnYLPZcN1116Gurg4AEBwcjJtvvhlPPPGETwcIAL/88gucTideffVV9OnTBzt27MCNN96IU6dO4ZlnngHgqiw9btw4ZGRk4JVXXsFPP/2E66+/HtHR0ZgzZ47Px0Ttl5jc+957YbjnHjucThsCAgQ89ZQDV199GtXV1abn0AsccnIWKbqGi7MlrqDH1T1cPVMi1ujRojfzoZVMLAiuKsdino9WkUGR2YzRt99+q3scEICICNc9Uleqdh+XAEEIwJIlN3jV3Z2IyFNeBT4hISF44YUXsHDhQhQVFQEAUlJSDKujNsaECRMwYcIE6efevXtj9+7dePnll6XA591330VNTQ3efPNNhISEYODAgdi2bRuee+45Bj5kmZjc63BEYtGiHKk7udNpw913R+G3396E3V6lWw1YrHljZanJfbbEFfRkZb2hKOpn1jVcvgtL3tcrJWUvBEF+pH5laTWrNYr0jistjcfbb18nLX+NGFEg1fvRSnI2qnpNRORLjWpSGh4ejrPPPttXY/GIw+FA586dpZ8LCgowatQoxdLX+PHj8eSTT+L48eOKHTZyZ86cwZkzZ6SfPelJRq2fp0tVYgBhFriEh4cbBiNWAge976ittb4F22gXliufxlplafWWd6v1cbSOy8jIR35+hmL5a/PmkSgoSJdmdWprQy2NjYjI17wKfH7//XcsXrwYGzZswJEjR+B0KndybN261SeD07N3714sXrxYmu0BgEOHDiE5OVlxXLdu3aT39AKfhQsXYsGCBU03WGoxS5YAc+YATicQEAC89hqQlWXts1ZnPPRYCRysfodRLRqtXVhiEGPl/EZb3q12gE9J2YupU1cBEJCYeFC37pB8Vqex95eIyFteBT5ZWVlYv349pk2bhvPOO8+0eame++67D08++aThMbt27VLsHvvtt98wYcIEXHHFFbjxxhu9+l65+++/H3fccYf084kTJ5CYmNjo85JveTJzU1FRgX376jBnTlc4neJSFTB3roBzzjmCpKQg0x1BRoGLwxGJTz89jXPOOYz4eFfQr5VrYxY4mAVHU6ZMQXx8vNt55Utb8gRl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+OMtMmajmR45sXJyeXm51FSUiIiIfK9NBD51dXW47bbb8PTTTyMrK0t6fcCAAdLv169fj507dyI/Px/dunXDOeecg0ceeQT33nsvHn744Vad9xIdHe02g6NXvBBQtrTg0hYREZF1bSLw2bp1K3777TcEBARg6NChOHToEM455xw8/fTTGDRoEACgoKAAZ599Nrp16yZ9bvz48bj55pvx888/Y+jQoZrnPnPmDM6cOSP9fOLEiaa9GANivo9Z8UL1rJCvmpISERG1d21iV9f//vc/AMDDDz+Mv/3tb1i7di06deqEiy66CMeOufpTHTp0SBH0AJB+PnTokO65Fy5cCLvdLv1KTExsoqswVlFRgRUrVlguXihndUmNiIjI37Vo4HPffffBZrMZ/vrll1/gdLq2dc+fPx9Tp05Famoqli5dCpvNhn/961+NGsP9998Ph8Mh/SopKfHFpelyOCJRXJzkFsiIwYtR53W9z1ZWVjbpmImIiNqLFl3quvPOOzFr1izDY3r37o2ysjIAypye0NBQ9O7dGwcOHAAAdO/eHf/9738Vnz18+LD0np7Q0FCEhoZ6M3yPmS1hAfqd10tL4/H229dpfjY3N1dKkGbODxERkb4WDXy6dOmCLl26mB6XmpqK0NBQ7N69GxdccAEAoLa2Fvv27UOvXr0AAOnp6Xjsscdw5MgRdO3aFQCQl5eHqKgoRcDUUvSWsFJS9iqO0+q8npGRj/z8DM3PionPubm50jmY80NERKStTSQ3R0VF4aabbsJDDz2ExMRE9OrVC08//TQA4IorrgAAjBs3DgMGDMC1116Lp556CocOHcLf/vY3zJs3r9lmdNTkO8mMlrBCQkJw5MgR6XV18UKjz2rV+WHODxERkbY2EfgAwNNPP42goCBce+21OH36NNLS0vDll1+iU6dOAIDAwECsXbsWN998M9LT0xEREYGZM2fi73//e4uNOSYmBtnZ2aipqUFpaQDeeUeA02mT3g8MFHDnnX8G4FTM2ADuxQu1lr86dz7W5NdARETUntgEQRBaehCtyYkTJ2C32+FwOBAVFeXTcy9ZAsydC9TXA4GBwKuvAllZQFlZGV577TXDz8rzg1ycGDs2H/HxZW61fubMmcPKzkRE5FesPr/bzIxPe5CVBQweDHzzDXDBBcC552ofp1W8MCVlL5QhagDy8sYCsOkmShMR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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAm0AAAHHCAYAAADtZG+rAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABrfUlEQVR4nO3dd1QU198G8GfpTcCCgAqKFTX+xBIVoiYaEjTWRBNbVCIaNZbYARt2EXs30SjG3gUrKtYoEiRgBWwoFkAiUkTp9/3Dl4kjqKDA7sLzOWePzp27s9/dEfZxZu4dhRBCgIiIiIhUmoayCyAiIiKi92NoIyIiIlIDDG1EREREaoChjYiIiEgNMLQRERERqQGGNiIiIiI1wNBGREREpAYY2oiIiIjUAEMbERERkRpgaCMi+kgKhQLTpk1TdhkSZ2dnVKtWTdllEFEhY2gjohLJ29sbCoVCeujp6aF27doYPnw4YmNji/S1L1y4gGnTpiEhIaFQt/vFF1/I3lO5cuXw6aefYv369cjOzi6U15gzZw72799fKNsiosKlpewCiIiK0owZM2BjY4PU1FT89ddfWL16NQ4fPoxr167BwMCgUF7j5cuX0NL679fphQsXMH36dDg7O8PU1LRQXiNHlSpVMHfuXABAXFwc/vzzT7i4uODmzZvw9PT86O3PmTMH3bt3R9euXT96W0RUuBjaiKhEa9++PZo2bQoAGDhwIMqXL49FixbBx8cHvXr1+uDtZmdnIz09HXp6etDT0yusct/LxMQEP/74o7Q8ePBg1KlTBytWrMDMmTOhra1dbLUQUfHi6VEiKlXatm0LAIiMjAQALFiwAA4ODihfvjz09fXRpEkT7N69O9fzFAoFhg8fji1btqB+/frQ1dXF0aNHpXU517RNmzYN48ePBwDY2NhIpzLv3buHzz//HA0bNsyzrjp16sDJyanA78fAwAAtWrRASkoK4uLi3tovJSUFY8eOhZWVFXR1dVGnTh0sWLAAQgjZe0xJScHGjRulup2dnQtcExEVDR5pI6JS5c6dOwCA8uXLAwCWLl2Kzp07o0+fPkhPT8f27dvx/fff4+DBg+jQoYPsuSdPnsTOnTsxfPhwVKhQIc+L/b/77jvcvHkT27Ztw+LFi1GhQgUAgJmZGfr27YtBgwbh2rVr+OSTT6TnBAUF4ebNm5g8efIHvae7d+9CU1PzradihRDo3LkzTp06BRcXF9jZ2cHPzw/jx4/Ho0ePsHjxYgDApk2bMHDgQDRr1gw///wzAKBGjRofVBMRFQFBRFQCbdiwQQAQJ06cEHFxceLBgwdi+/btonz58kJfX188fPhQCCHEixcvZM9LT08Xn3zyiWjbtq2sHYDQ0NAQ169fz/VaAISHh4e0PH/+fAFAREZGyvolJCQIPT094erqKmsfOXKkMDQ0FM+fP3/ne/r888+Fra2tiIuLE3FxcSIsLEyMHDlSABCdOnWS+vXv319UrVpVWt6/f78AIGbNmiXbXvfu3YVCoRC3b9+W2gwNDUX//v3fWQcRKQdPjxJRiebo6AgzMzNYWVmhZ8+eMDIywr59+1C5cmUAgL6+vtT32bNnSExMRKtWrfDPP//k2tbnn3+OevXqfXAtJiYm6NKlC7Zt2yadlszKysKOHTvQtWtXGBoavncb4eHhMDMzg5mZGerWrYvly5ejQ4cOWL9+/Vufc/jwYWhqamLkyJGy9rFjx0IIgSNHjnzweyKi4sPTo0RUoq1cuRK1a9eGlpYWzM3NUadOHWho/Pf/1YMHD2LWrFkIDQ1FWlqa1K5QKHJty8bG5qPr6devH3bs2IFz586hdevWOHHiBGJjY9G3b998Pb9atWpYu3atNI1JrVq1ULFixXc+5/79+6hUqRLKlCkja69bt660nohUH0MbEZVozZo1k0aPvuncuXPo3LkzWrdujVWrVsHS0hLa2trYsGEDtm7dmqv/60flPpSTkxPMzc2xefNmtG7dGps3b4aFhQUcHR3z9XxDQ8N89yWikoWnR4mo1NqzZw/09PTg5+eHAQMGoH379oUSiPI6SpdDU1MTvXv3xu7du/Hs2TPs378fvXr1gqam5ke/7ttUrVoVjx8/RnJysqw9PDxcWp/jXbUTkXIxtBFRqaWpqQmFQoGsrCyp7d69ex99R4Cca9PedkeEvn374tmzZxg8eDCeP38um3etKHzzzTfIysrCihUrZO2LFy+GQqFA+/btpTZDQ8NCv5MDERUOnh4lolKrQ4cOWLRoEdq1a4fevXvjyZMnWLlyJWrWrIkrV6588HabNGkCAJg0aRJ69uwJbW1tdOrUSQpzjRo1wieffIJdu3ahbt26aNy4caG8n7fp1KkT2rRpg0mTJuHevXto2LAhjh07Bh8fH4waNUo2rUeTJk1w4sQJLFq0CJUqVYKNjQ2aN29epPURUf7wSBsRlVpt27bFH3/8gZiYGIwaNQrbtm3DvHnz8O23337Udj/99FPMnDkTly9fhrOzM3r16pVr4tt+/foBQL4HIHwMDQ0N+Pr6YtSoUTh48CBGjRqFGzduYP78+Vi0aJGs76JFi9CkSRNMnjwZvXr1wurVq4u8PiLKH4UQr02HTURExWLp0qUYPXo07t27B2tra2WXQ0RqgKGNiKiYCSHQsGFDlC9fHqdOnVJ2OUSkJnhNGxFRMUlJSYGvry9OnTqFq1evwsfHR9klEZEa4ZE2IqJicu/ePdjY2MDU1BS//PILZs+ereySiEiNMLQRERERqQGOHiUiIiJSAwxtRERERGqAAxFUWHZ2Nh4/fowyZcrw1jJERERqQgiB5ORkVKpUCRoahXd8jKFNhT1+/BhWVlbKLoOIiIg+wIMHD1ClSpVC2x5DmworU6YMgFc73djYWMnVEBERUX4kJSXByspK+h4vLAxtKiznlKixsTFDGxERkZop7EubOBCBiIiISA0wtBERERGpAYY2IiIiIjXAa9rUXFZWFjIyMpRdBhUDbW1taGpqKrsMIiJSEoY2NSWEQExMDBISEpRdChUjU1NTWFhYcN4+IqJSiKFNTeUEtooVK8LAwIBf4iWcEAIvXrzAkydPAACWlpZKroiIiIobQ5saysrKkgJb+fLllV0OFRN9fX0AwJMnT1CxYkWeKiUiKmU4EEEN5VzDZmBgoORKqLjl7HNex0hEVPowtKkxnhItfbjPiYhKL4Y2IiIiIjWgNqGtc+fOsLa2hp6eHiwtLdG3b188fvxY1kcIgQULFqB27drQ1dVF5cqVMXv2bFmf06dPo3HjxtDV1UXNmjXh7e2d67VWrlyJatWqQU9PD82bN8fff/8tW5+amophw4ahfPnyMDIyQrdu3RAbGyvrExUVhQ4dOsDAwAAVK1bE+PHjkZmZWTgfBhEREZU6ahPa2rRpg507dyIiIgJ79uzBnTt30L17d1mfX3/9FevWrcOCBQsQHh4OX19fNGvWTFofGRmJDh06oE2bNggNDcWoUaMwcOBA+Pn5SX127NiBMWPGwMPDA//88w8aNmwIJycnadQeAIwePRoHDhzArl27cObMGTx+/BjfffedtD4rKwsdOnRAeno6Lly4gI0bN8Lb2xtTp04twk9IPTg7O0OhUEChUEBbWxvm5ub46quvsH79emRnZ+d7O97e3jA1NS26QomIiFSNUFM+Pj5CoVCI9PR0IYQQN27cEFpaWiI8PPytz5kwYYKoX7++rK1Hjx7CyclJWm7WrJkYNmyYtJyVlSUqVaok5s6dK4QQIiEhQWhra4tdu3ZJfcLCwgQAERAQIIQQ4vDhw0JDQ0PExMRIfVavXi2MjY1FWlpavt9jYmKiACASExNl7S9fvhQ3btwQL1++zPe2VEX//v1Fu3btRHR0tHj48KEIDg4Ws2fPFkZGRqJ9+/YiIyMjX9vZsGGDMDExKdpiVZA673siotLibd/fH0ttjrS9Lj4+Hlu2bIGDgwO0tbUBAAcOHED16tVx8OBB2NjYoFq1ahg4cCDi4+Ol5wUEBMDR0VG2LScnJwQEBAAA0tPTERwcLOujoaEBR0dHqU9wcDAyMjJkfWxtbWFtbS31CQgIQIMGDWBubi57naSkJFy/fv2t7ystLQ1JSUmyR0mkq6sLCwsLVK5cGY0bN8bEiRPh4+ODI0eOSKerFy1ahAYNGsDQ0BBWVlb45Zdf8Pz5cwCvTnH/9NNPSExMlI7aTZs2DQCwadMmNG3aFGXKlIGFhQV69+4tO0pKREQEAL6+gIPDqz/VhVqFNldXVxgaGqJ8+fKIioqCj4+PtO7u3bu4f/8+du3ahT///BPe3t4IDg6WnUKNiYmRBSkAMDc3R1JSEl6+fIl///0XWVlZefaJiYmRtqGjo5Pr1NybffLaRs66t5k7dy5MTEykh5WVVT4/mVfX86WnpyvlIYTId51v07ZtWzRs2BB79+4F8CosL1u2DNevX8fGjRtx8uRJTJgwAQDg4OCAJUuWwNjYGNHR0YiOjsa4ceMAvJoKY+bMmbh8+TL279+Pe/fuwdnZ+aPrIyKiksXTEwgIePWnulDq5Lpubm6YN2/eO/uEhYXB1tYWADB+/Hi4uLjg/v37mD59Ovr164eDBw9CoVAgOzsbaWlp+PPPP1G7dm0AwB9//IEmTZogIiICderUKfL387Hc3d0xZswYaTkpKSnfwS0jIwNz584tqtLeyd3dHTo6Oh+9HVtbW1y5cgUAMGrUKKm9WrVqmDVrFoYMGYJVq1ZBR0cHJiYmUCgUsLCwkG1jwIAB0t+rV6+OZcuW4dNPP8Xz589hZGT00TUSEZF68/UF5s9Pw1df+aJKFRv8+GNTZZeUb0oNbWPHjn3vUZDq1atLf69QoQIqVKiA2rVro27durCyssLFixdhb28PS0tLaGlpSYENAOrWrQvg1UjOOnXqwMLCItcoz9jYWBgbG0NfXx+amprQ1NTMs09OOLCwsEB6ejoSEhJkR9ve7PPmiNOcbb4ZMl6nq6sLXV3dd34eJZkQQpqH7MSJE5g7dy7Cw8ORlJSEzMxMpKam4sWLF++cVDg4OBjTpk3D5cuX8ezZM2lwQ1RUFOrVq1cs74OIiFTX0qURcHTcDgCoX/8GOnVqAkA95sBUamgzMzODmZnZBz0358s4LS0NAPDZZ58hMzMTd+7cQY0aNQAAN2/eBABUrVoVAGBvb4/Dhw/LtnP8+HHY29sDAHR0dNCkSRP4+/uja9eu0uv4+/tj+PDhAIAmTZpAW1sb/v7+6NatGwAgIiICUVFR0nbs7e0xe/Zs6XZDOa9jbGxcZMFBW1sb7u7uRbLt/Lx2YQgLC4ONjQ3u3buHjh07YujQoZg9ezbKlSuHv/76Cy4uLkhPT39raEtJSYGTkxOcnJywZcsWmJmZISoqCk5OTkhPTy+UGomISD35+AicPLkRrVvfl9patWqlVpOWq8W9RwMDAxEUFISWLVuibNmyuHPnDqZMmYIaNWpIQcnR0RGNGzfGgAEDsGTJEmRnZ2PYsGH46quvpKNvQ4YMwYoVKzBhwgQMGDAAJ0+exM6dO3Ho0CHptcaMGYP+/fujadOmaNasGZYsWYKUlBT89NNPAAATExO4uLhgzJgxKFeuHIyNjTFixAjY29ujRYsWAICvv/4a9erVQ9++feHl5YWYmBhMnjwZw4YNK7IjaQqFolBOUSrLyZMncfXqVYwePRrBwcHIzs7GwoULoaHx6rLLnTt3yvrr6OggKytL1hYeHo6nT5/C09NTOq186dKl4nkDRESkshITExEaugTlyv3XVqfOz2jb1lJ5RX0AtQhtBgYG2Lt3Lzw8PJCSkgJLS0u0a9cOkydPlkKQhoYGDhw4gBEjRqB169YwNDRE+/btsXDhQmk7NjY2OHToEEaPHo2lS5eiSpUqWLduHZycnKQ+PXr0QFxcHKZOnYqYmBjY2dnh6NGjsoEFixcvhoaGBrp164a0tDQ4OTlh1apV0npNTU0cPHgQQ4cOhb29PQwNDdG/f3/MmDGjGD4t1ZeWloaYmBhkZWUhNjYWR48exdy5c9GxY0f069cP165dQ0ZGBpYvX45OnTrh/PnzWLNmjWwb1apVw/Pnz+Hv74+GDRvCwMAA1tbW0NHRwfLlyzFkyBBcu3YNM2fOVNK7JCIiVRAYGIijR49Ky0LoYerU8dJBAXWiEIUx9I+KRFJSEkxMTJCYmAhjY2OpPTU1FZGRkbCxsYGenp4SKyw4Z2dnbNy4EQCgpaWFsmXLomHDhujduzf69+8v/RAtXrwY8+fPR0JCAlq3bo0+ffqgX79+ePbsmXQt4dChQ7Fr1y48ffoUHh4emDZtGrZt24aJEyciOjoajRs3hru7Ozp37oyQkBDY2dkp6V0XHnXe90RExWnSpGxkZc2Hvn6q1Hb0qBMUiha4cKFoX/tt398fi6FNhZXE0EYfh/ueiOj9tm+PRkTE77I2X99RSEkxgZcX0Llz0b5+UYU2tTg9SkRERJQfR44cQUTEfzM4pKRYY948Z3h4qM+Ag7dhaCMiIiK1l5aWBs83Zsrdtq0HypWzhRoNEH0nhjYiIiJSazdv3sS2bdtkbf/7nyv8/PTg5qakoooAQxsRERGpJSEEFi3ahOfPI6W2xo0bo1OnTgCAb79VVmVFg6GNiIiI1E5SUhIWL14saxs4cCAqV66spIqKnvpNUkJERESlWlBQkCywpadrY8eOySU6sAE80kZERERqIjs7G3PnLkRm5guprVKlr7BhgwPeGINQIjG0ERERkcqLiYnBb7/9Jmv7/fdf8eiRKQYNUlJRxYyhjYiIiFSan58fLl68KC0/fFgZf/zhAnf3EjKXRz4xtFGJ5OzsjISEBOzfvx8A8MUXX8DOzg5Lliz54G0WxjaIiCj/0tPTMXfuXFnbjh0/ICKiLvbvL/o7G6gahjYqVq/fe1RbWxvW1tbo168fJk6cCC2tovvnuHfvXmhra+er7+nTp9GmTRvZfU4Lug0iIvo4t2/fxpYtW2Rtnp6uAF7NvVbaAhvA0EZK0K5dO2zYsAFpaWk4fPgwhg0bBm1tbbi7u8v6paenQ0dHp1Bes1y5ciqxDSIier/Nmzfjzp070nJWlh0WL+6CMWOA2bOVWJiSccoPKna6urqwsLBA1apVMXToUDg6OsLX1xfOzs7o2rUrZs+ejUqVKqFOnToAgAcPHuCHH36AqakpypUrhy5duuDevXvS9rKysjBmzBiYmpqifPnymDBhAoQQstf84osvMGrUKGk5LS0Nrq6usLKygq6uLmrWrIk//vgD9+7dQ5s2bQAAZcuWhUKhgLOzc57bePbsGfr164eyZcvCwMAA7du3x61bt6T13t7eMDU1hZ+fH+rWrQsjIyO0a9cO0dHRUp/Tp0+jWbNmMDQ0hKmpKT777DPcv3+/kD5pIiL1kpycjOnTp8sC2+bNLpgxowuSk0t3YAMY2kgF6OvrIz09HQDg7++PiIgIHD9+HAcPHkRGRgacnJxQpkwZnDt3DufPn5fCT85zFi5cCG9vb6xfvx5//fUX4uPjsW/fvne+Zr9+/bBt2zYsW7YMYWFh+O2332BkZAQrKyvs2bMHABAREYHo6GgsXbo0z204Ozvj0qVL8PX1RUBAAIQQ+Oabb5CRkSH1efHiBRYsWIBNmzbh7NmziIqKwrhx4wAAmZmZ6Nq1Kz7//HNcuXIFAQEB+Pnnn6EoKTfJIyIqgODgYCxatEhazsrSwKxZk/HDD1WUWJVq4elRUhohBPz9/eHn54cRI0YgLi4OhoaGWLdunXRadPPmzcjOzsa6deukMLNhwwaYmpri9OnT+Prrr7FkyRK4u7vju+++AwCsWbMGfn5+b33dmzdvYufOnTh+/DgcHR0BANWrV5fW55wGrVixouyattfdunULvr6+OH/+PBwcHAAAW7ZsgZWVFfbv34/vv/8eAJCRkYE1a9agRo0aAIDhw4djxowZAF7N5p2YmIiOHTtK6+vWrVvwD5KISI1lZ2djyZIlSE5OltoqVXLEhg2fYc+e0nnt2tvwSBvB1xdwcHj1Z3E4ePAgjIyMoKenh/bt26NHjx6YNm0aAKBBgway69guX76M27dvo0yZMjAyMoKRkRHKlSuH1NRU3LlzB4mJiYiOjkbz5s2l52hpaaFp06Zvff3Q0FBoamri888//+D3EBYWBi0tLdnrli9fHnXq1EFYWJjUZmBgIAUyALC0tMSTJ08AvAqHzs7OcHJyQqdOnbB06VLZqVMiopIuNjYWM2fOlAW2kSNHYtCgz3DhAgPbmxjaCJ6eQEAAim026TZt2iA0NBS3bt3Cy5cvsXHjRhgaGgKA9GeO58+fo0mTJggNDZU9bt68id69e3/Q6+vr63/0e8ivN0ebKhQK2fV2GzZsQEBAABwcHLBjxw7Url1bNhcREVFJdfz4caxZs0ZafvzYEn5+U1G2bFklVqXaGNoIbm6Avf2rP4uDoaEhatasCWtr6/dO89G4cWPcunULFStWRM2aNWUPExMTmJiYwNLSEoGBgdJzMjMzERwc/NZtNmjQANnZ2Thz5kye63OO9GVlZb11G3Xr1kVmZqbsdZ8+fYqIiAjUq1fvne/pTY0aNYK7uzsuXLiATz75BFu3bi3Q84mI1El6ejqmT5+OCxcuSG27dnXHunU/w82N1/S+C0MboXNnqOxh6D59+qBChQro0qULzp07h8jISJw+fRojR47Ew4cPAQC//vorPD09sX//foSHh+OXX35BQkLCW7dZrVo19O/fHwMGDMD+/fulbe7cuRMAULVqVSgUChw8eBBxcXF4/vx5rm3UqlULXbp0waBBg/DXX3/h8uXL+PHHH1G5cmV06dIlX+8tMjIS7u7uCAgIwP3793Hs2DHcunWL17URUYl1586dXJPlzps3AWFh9Uvt3GsFwdBGKs3AwABnz56FtbU1vvvuO9StWxcuLi5ITU2FsbExAGDs2LHo27cv+vfvD3t7e5QpUwbffvvtO7e7evVqdO/eHb/88gtsbW0xaNAgpKSkAAAqV66M6dOnw83NDebm5hg+fHie29iwYQOaNGmCjh07wt7eHkIIHD58ON8T8BoYGCA8PBzdunVD7dq18fPPP2PYsGEYPHhwAT4hIiL1sG3bNmzevFlaDg1tiO3bPWBnp499+zidR34oxJsTWpHKSEpKgomJCRITE6WAAgCpqamIjIyEjY0N9PT0lFghFTfueyJSN8+fP8fChQtlbX/88RMePbLGvn0l8+ja276/Pxan/CAiIqIiERISAt/XpiYQApg1axKysrQwcWLJDGxFiaGNiIiICpUQAkuXLkViYqLU5u/fBnfvtoa+PjByJE+HfgiGNiIiIio0cXFxWLVqlaxt2bIRSE8vhy1beHTtYzC0ERERUaHw9/fHX3/9JS3HxJhjzZrB0NNTYMcOBraPxdCmxjiGpPThPiciVZSRkYE5c+bI2nbv/g63bzeArS0wbx4DW2FgaFNDOVNKvHjxolhn9yfle/HiBYDcd1ogIlKWLVsicfv2n7K2pUvHo2JFAx5dK2QMbWpIU1MTpqam0j0sDQwMpJupU8kkhMCLFy/w5MkTmJqaQlNTU9klERFhx44duH07XFq+evUT+Pl147VrRYShTU1ZWFgAgBTcqHQwNTWV9j0RkbKkpKRgwYIFsra7d53x+HFVBrYixNCmphQKBSwtLVGxYkVkZGQouxwqBtra2jzCRkRKFxoaCh8fH1nbrFmT8OmnWnjtdqJUBBja1Jympia/yImIqMgJIbBixQrEx8dLbVevfo5+/b7Ap58Cbm5KLK6UYGgjIiKid/r333+xcuVKWdvy5cNhZlYenTvzdGhxYWgjIiKitzp16hTOnj0rLcfFVYC//y+oXVvBo2vFjKGNiIiIcsnMzMTsN+41tXfvt7h163/Yvp1H15SBoY2IiIhk7t27h40bN8raFi0ah/r1DRnYlIihjYiIiCS7du3CjRs3pOXr1+th167voa0Njg5VMoY2IiIiwosXLzB//nxZW82a/bF2bTXo6QFjxiipMJIwtBEREZVyV65cwb59+2RtS5ZMxLNn2ujTR0lFUS4MbURERKWUEAKrVq3Cv//+K7WdOdMKZ8605chQFcTQRkREVAo9ffoUK1askLWtWDEMqakVsG8fBxuoIoY2IiKiUubMmTM4ffq0tPz0aTmsWDEcCoWCgU2FMbQRERGVEnnNvbZ/fxdERdnB0BAYOZKBTZUxtBEREZUC9+/fh7e3t6xt+fJxqF3bEBs2MKypA4Y2IiKiEm7Pnj24du2atJydbYtFi3pg5EjgjQNvpMIY2oiIiEqovOZe69u3L6pXr47p05VUFH0wDWUXQERERIXv2rVruQLb8eMTUb16dSVVRB+LR9qIiIhKECEEvLx+Q2pqrNR27txnCA93xKpVSiyMPhpDGxERUQkRHx+P5cuXy9pWrvwFcXFmsLfnYAN1x9BGRERUApw7dw4nT56UlhMSTLF06UhoaSlgawve4aAEYGgjIiJSY3nNvZaZ2Qlt2jRGYOCrsMYjbCUDQxsREZGaevDgAdavXy9rW7BgLAAjJCczrJU0DG1ERERqaP/+/bh8+bK0/PhxLRw61BtZWcDo0UosjIoMQxsREZEaefnyJby8vGRtu3b9iDlzauC335RUFBULhjYiIiI1cf36dezevVvWduKEO+bM0eGp0FKAoY2IiEjFCSEwf/5avHwZLbVFRtrD2/treHgosTAqVgxtREREKuzZs2dYtmyZrO3w4SGYNMlcSRWRsjC0ERERqai1a8/j8eMT0nJSUhksXjwKLVpo8HRoKcTQRkREpGKysrIwZ84cZGdnS20HD3aAjk5TtGjBiXJLK4Y2IiIiFfLw4UP88ccfsrb9+8cgJKSMkioiVcHQRkREpCKWL/dBfHyotHz7dg3s3/8jtmxRXk2kOhjaiIiIlGzv3lRcvTpP1lajRh/4+dXEli28swG9wtBGRESkRJMnh0Fbe6es7X//c8e33+rgxx+VVBSpJIY2IiIiJfDxETh9+g+Ymj6S2oKCmuPnn9vxyBrlSUPZBeRX586dYW1tDT09PVhaWqJv3754/PixtH7atGlQKBS5HoaGhrLt7Nq1C7a2ttDT00ODBg1w+PBh2XohBKZOnQpLS0vo6+vD0dERt27dkvWJj49Hnz59YGxsDFNTU7i4uOD58+eyPleuXEGrVq2gp6cHKyurXLccISKi0ishIQGhoTNkgW3PnsEMbPROahPa2rRpg507dyIiIgJ79uzBnTt30L17d2n9uHHjEB0dLXvUq1cP33//vdTnwoUL6NWrF1xcXBASEoKuXbuia9euuHbtmtTHy8sLy5Ytw5o1axAYGAhDQ0M4OTkhNTVV6tOnTx9cv34dx48fx8GDB3H27Fn8/PPP0vqkpCR8/fXXqFq1KoKDgzF//nxMmzYNv//+exF/SkREpOrWrr2ApUuXSsspKQaYMmUKrlyxYGCjd1IIIYSyi/gQvr6+6Nq1K9LS0qCtrZ1r/eXLl2FnZ4ezZ8+iVatWAIAePXogJSUFBw8elPq1aNECdnZ2WLNmDYQQqFSpEsaOHYtx48YBABITE2Fubg5vb2/07NkTYWFhqFevHoKCgtC0aVMAwNGjR/HNN9/g4cOHqFSpElavXo1JkyYhJiYGOjo6AAA3Nzfs378f4eHh+X6PSUlJMDExQWJiIoyNjT/4syIiIuXLysrC7NmeECJTajtxoj1at26G2bOVWBgVuqL6/labI22vi4+Px5YtW+Dg4JBnYAOAdevWoXbt2lJgA4CAgAA4OjrK+jk5OSEgIAAAEBkZiZiYGFkfExMTNG/eXOoTEBAAU1NTKbABgKOjIzQ0NBAYGCj1ad26tRTYcl4nIiICz549+8h3T0RE6ubRo0eYNWuWLLCtWjUa584xsFH+qVVoc3V1haGhIcqXL4+oqCj4+Pjk2S81NRVbtmyBi4uLrD0mJgbm5vJ7tZmbmyMmJkZan9P2rj4VK1aUrdfS0kK5cuVkffLaxuuvkZe0tDQkJSXJHkREpN4OHjyIdevWScuRkTbw9JyKgQN5BoUKRqmhzc3NLc/BA68/Xj+dOH78eISEhODYsWPQ1NREv379kNfZ3X379iE5ORn9+/cvzrfz0ebOnQsTExPpYWVlpeySiIjoA6WmpmL69OkIDg6W2v75pxe++64fXr5U8AgbFZhSp/wYO3YsnJ2d39mnevXq0t8rVKiAChUqoHbt2qhbty6srKxw8eJF2Nvby56zbt06dOzYMdfRLgsLC8TGxsraYmNjYWFhIa3PabO0tJT1sbOzk/o8efJEto3MzEzEx8fLtpPX67z+Gnlxd3fHmDFjpOWkpCQGNyIiNRQeHo4dO3bI2tzc3KCrq6ukiqgkUGpoMzMzg5mZ2Qc9N+cmumlpabL2yMhInDp1Cr6+vrmeY29vD39/f4waNUpqO378uBT6bGxsYGFhAX9/fymkJSUlITAwEEOHDpW2kZCQgODgYDRp0gQAcPLkSWRnZ6N58+ZSn0mTJiEjI0O65u748eOoU6cOypYt+9b3pKuryx9oIiI1JoTAwoXeSEmJktoCAz9FQsI38PBQYmFUIqjF5LqBgYEICgpCy5YtUbZsWdy5cwdTpkxBjRo1ch1lW79+PSwtLdG+fftc2/n111/x+eefY+HChejQoQO2b9+OS5cuSVNxKBQKjBo1CrNmzUKtWrVgY2ODKVOmoFKlSujatSsAoG7dumjXrh0GDRqENWvWICMjA8OHD0fPnj1RqVIlAEDv3r0xffp0uLi4wNXVFdeuXcPSpUuxePHiov2giIhIaRITE7FkyRJZ22+//YzkZEveO5QKhVqENgMDA+zduxceHh5ISUmBpaUl2rVrh8mTJ8uOTGVnZ8Pb2xvOzs7Q1NTMtR0HBwds3boVkydPxsSJE1GrVi3s378fn3zyidRnwoQJSElJwc8//4yEhAS0bNkSR48ehZ6entRny5YtGD58OL788ktoaGigW7duWLZsmbTexMQEx44dw7Bhw9CkSRNUqFABU6dOlc3lRkREJce6dRfx6JGftPzypR6WLBmPxo014ObGe4dS4VDbedpKA87TRkSk2rKzs+Hl5SW7VCcz0wlLlrTAyJHgYINSqqi+v9XiSBsREZGq2b49GhER8jvd1K8/Ct27m2DmTCUVRSUaQxsREVEB+PoCPj6HYW0dJLVZW1vD2dkZCoVCiZVRSadWk+sSEREpi68vYGOThpCQ6bLAZmPTAz/99BMDGxU5HmkjIiJ6D19fYMqUm3B23iZrd3V1lQ1UIypKDG1ERETvIISAv/+f+O67e1JbfHwTBAV1RKNGHBlKxYenR4mIiN4iKSkJM2bMQLly96S2QYMGISioIwICAE9P5dVGpQ+PtBEREb3B1xdYu/ZvNG16RGrT1taGq6srNDU14eb2KrC5uSmxSCp1GNqIiIhek52djcDAhWja9IXUFh7+NbZt++8OPJ0787QoFT+GNiIiov+3fXsMIiJ+g47Of22+vr/Cw8NUaTUR5WBoIyIiArBq1VHExQVKy8+eVcHixQPg4cGpPEg1MLQREVGpNmlSOnR05srazp37ASNH1gWnXiNVwtBGRESl1q1bt6Cjs1XW1qCBKzw8OPcaqR6GNiIiKnV8fYHDhzfD0vKO1PbPP40QF9cZHh5KLIzoHRjaiIioVNmzJxnXri2CpeV/bceOuSA+vgrmzVNeXUTvw9BGRESlxqVLl3Dt2iFpOStLE40bu8PDQ1OJVRHlD0MbERGVeD4+2bh4cTH09J5LbZUqOWLQoM+UWBVRwTC0ERFRibZjRyzCw9fg9fu616s3Et9/X1Z5RRF9AIY2IiIqkXx9gb17j8HGJkBqe/SoEtauHQh7ewW+/16JxRF9AIY2IiIqcdLT0xESMhc2Nv+1ZWR0x7lz9VGnDu8ZSuqJoY2IiEqUzZvv4M6dzbK2CRMmQF9fH7NmKakookLA0EZERCWCry9w7NhWmJndktoePWqIjh27Ql9fiYURFRKGNiIiUnvPnz9HSMhCmJn911ar1gB4eFgpryiiQsbQRkREau2ff/7BgQMHpOXsbAWmTp0ETU3OvUYlC0MbERGpJSEEJk9eCh2dRKnt7Nm2+PXXVmBeo5KIoY2IiNTOkydPsHr1aujo/Nd29uwI/PprOXTurLy6iIoSQxsREamVEydO4Pz589JyTIw5/v13MPz9FUqsiqjoMbQREZFayMjIwJw5c2RtBw50g5PTJ1i9WklFERUjhjYiIlJ5W7bcxe3bm2Rt48ePh4eHgZIqIip+DG1ERKSyfH2Bo0e3w9w8Qmq7caMB+vT5DgbMa1TKMLQREZFKSklJQUjIApib/9d24sRPGD/emoMNqFRiaCMiIpWzYUMIoqJ8ZW2TJk2Chwe/tqj04r9+IiJSGUIILF++HM+ePZPaTp/+AqNHfw4tfmNRKccfASIiUglxcXFYtWqVrO2334bjp5/K83QoERjaiIhIBaxZcxKxseekZTMzMwwdOhQeHpx7jSgHQxsRESlNXnOvffvtt/jf//6npIqIVJeGsgsgIqLS6d69e7kC29Kl4xnYiN6CR9qIiKjYLV26EwkJYdJyVlZ9LF7cHSNHKrEoIhXH0EZERMUmJSUFCxYskLX1798f1apVw4wZSiqKSE3w9CgRERWLy5cv5wpsO3ZMQrVq1ZRTEJGa4ZE2IiIqUkIIzJu3EmlpT6W206dbIzCwDbZvV2JhRGqmwEfaNDU18eTJk1ztT58+haamZqEURUREJcPTp08xY8YMWWBbsWIYYmJeBTbOv0aUfwU+0iaEyLM9LS0NOjo6H10QERGVDL/9dhoxMWek5adPy2HduuEYPVqB2bOVWBiRmsp3aFu2bBkAQKFQYN26dTAyMpLWZWVl4ezZs7C1tS38ComISK1kZmZi9hupbP/+LvjmGzu8eKGkoohKgHyHtsWLFwN4daRtzZo1slOhOjo6qFatGtasWVP4FRIRkdq4f/8+vL29ZW379o3DjBmGPBVK9JEU4m3nO9+iTZs22Lt3L8qWLVtUNdH/S0pKgomJCRITE2FsbKzscoiI3mnPnj24du2atBwba4tVq3oosSIi5Siq7+8CX9N26tSpQntxIiJSfy9evMD8+fNlbdu29YOXl42SKiIqmQoc2gYMGPDO9evXr//gYoiISL14e1/F/ft7ZW2zZk1EzZraPB1KVMgKHNqePXsmW87IyMC1a9eQkJCAtm3bFlphRESkunKub359CqizZ1vi8eMv8emngJubEosjKqEKHNr27duXqy07OxtDhw5FjRo1CqUoIiJSXfHx8Vi+fLmsbdeuX5CZaQYvL869RlRUCjwQ4W0iIiLwxRdfIDo6ujA2R+BABCJSPWfPnpVd2/zsmSn++GMkkpMVSqyKSLWozECEt7lz5w4yMzMLa3NERKRC8pp77dChTggLa4yRI5VUFFEpU+DQNmbMGNmyEALR0dE4dOgQ+vfvX2iFERGRanjw4EGuQWarVo3FwIFG+PtvJRVFVAoVOLSFhITIljU0NGBmZoaFCxe+d2QpERGpl3379uHKlSvSckREbdy71wuxsUosiqiU4jxtRESUy8uXL+Hl5SVr27TpR2hp1cAbzURUTD74mrYnT54gIiICAFCnTh1UrFix0IoiIiLluXbtGvbs2SNrW7JkIn75RZs3eidSogKHtqSkJAwbNgzbtm1DdnY2AEBTUxM9evTAypUrYWJiUuhFEhFR0RNC4Pfff0dMTIzUdv68A54//wpvTNFJREqgUdAnDBo0CIGBgTh06BASEhKQkJCAgwcP4tKlSxg8eHBR1EhEREXs2bNnmDFjhiywrVo1FOfOfcWJcolURIHnaTM0NISfnx9atmwpaz937hzatWuHlJSUQi2wNOM8bURUHP766y/4+/tLy0lJZbBkySjUqqXByXKJPoDKzNNWvnz5PE+BmpiYoGzZsoVSFBERFb2srCzMmjUbwH//dz9woCNCQprAzQ28fo1IxRT49OjkyZMxZswY2SH0mJgYjB8/HlOmTCnU4oiIqGg8fPgQs2bNwuuBbeHCMYiMbIJ9+xjYiFRRgU+PNmrUCLdv30ZaWhqsra0BAFFRUdDV1UWtWrVkff/555/Cq7QU4ulRIioKPj4+CA0NlZb//bcGvvrqR54GJSokKnN6tEuXLlAoeI85IiJ1k5qainnz5snagoP7wNe3ppIqIqKCKHBomzZtWhGUQURERenGjRvYtWuXrG3pUnd4e+soqSIiKqgCh7bq1asjKCgI5cuXl7UnJCSgcePGuHv3bqEVR0REH0cIgQUL1uHFi8dSW0BAC5w/74QtWzgylEidFDi03bt3D1lZWbna09LS8PDhw0IpioiIPl5CQgKWLl0qa6tTZzD8/CwY2IjUUL5Hj/r6+sLX1xcA4OfnJy37+vpi3759mDlzJmxsbIqs0M6dO8Pa2hp6enqwtLRE37598fjxY1kfPz8/tGjRAmXKlIGZmRm6deuGe/fuyfqcPn0ajRs3hq6uLmrWrAlvb+9cr7Vy5UpUq1YNenp6aN68Of7++2/Z+tTUVAwbNgzly5eHkZERunXrhtg37p4cFRWFDh06wMDAABUrVsT48eORmZlZKJ8FEdH7rF17QRbYnj83xI4dU9CzpwUuXGBgI1JH+R49qqHxKt8pFAq8+RRtbW1Uq1YNCxcuRMeOHQu/SgCLFy+Gvb09LC0t8ejRI4wbNw4AcOHCBQBAZGQk6tatizFjxsDFxQWJiYkYPXo0kpOTpVGskZGR+OSTTzBkyBAMHDgQ/v7+GDVqFA4dOgQnJycAwI4dO9CvXz+sWbMGzZs3x5IlS7Br1y5ERERI91cdOnQoDh06BG9vb5iYmGD48OHQ0NDA+fPnAbya+8jOzg4WFhaYP38+oqOj0a9fPwwaNAhz5szJ93vm6FEiKqisrCzMnu0JIf77T+Jff32Dhw8/xbx5DGtExaGovr8LPOWHjY0NgoKCUKFChUIr4kP4+vqia9euSEtLg7a2Nnbv3o1evXohLS1NCpgHDhxAly5dpD6urq44dOgQrl27Jm2nZ8+eSEhIwNGjRwEAzZs3x6effooVK1YAALKzs2FlZYURI0bAzc0NiYmJMDMzw9atW9G9e3cAQHh4OOrWrYuAgAC0aNECR44cQceOHfH48WOYm5sDANasWQNXV1fExcVBRyd/F/4ytBFRQTx69Ajr1q2TtS1cOBqffGKM////LREVg6L6/i7w5LqRkZFKD2zx8fHYsmULHBwcoK2tDQBo0qQJNDQ0sGHDBmRlZSExMRGbNm2Co6Oj1CcgIACOjo6ybTk5OSEgIAAAkJ6ejuDgYFkfDQ0NODo6Sn2Cg4ORkZEh62Nrawtra2upT0BAABo0aCAFtpzXSUpKwvXr19/6vtLS0pCUlCR7EBHlx4EDB2SB7c6d6pg2bSqEMOa9Q4lKiAIPRJgxY8Y710+dOvWDi3kfV1dXrFixAi9evECLFi1w8OBBaZ2NjQ2OHTuGH374AYMHD0ZWVhbs7e1x+PBhqU9MTIwsSAGAubk5kpKS8PLlSzx79gxZWVl59gkPD5e2oaOjA1NT01x9cu4S8bbXyVn3NnPnzsX06dPz+WkQEeU999qWLb1x+3Yt1KkD3juUqAQp8JG2ffv2yR47d+7EvHnzsHDhQuzfv79A23Jzc4NCoXjnIycsAcD48eMREhKCY8eOQVNTE/369ZOur4uJicGgQYPQv39/BAUF4cyZM9DR0UH37t1zXYOnqtzd3ZGYmCg9Hjx4oOySiEiFhYeH5wps3t5uePiwFtzdgfBwBjaikqTAR9pCQkJytSUlJcHZ2RnffvttgbY1duxYODs7v7NP9erVpb9XqFABFSpUQO3atVG3bl1YWVnh4sWLsLe3x8qVK2FiYgIvLy+p/+bNm2FlZYXAwEC0aNECFhYWuUZ5xsbGwtjYGPr6+tDU1ISmpmaefSwsLAAAFhYWSE9PR0JCguxo25t93hxxmrPNnD550dXVha6u7js/DyIiIQQ2bNgg+49dYGAzJCS0R2SkEgsjoiJV4NCWF2NjY0yfPh2dOnVC37598/08MzMzmJmZfdBrZmdnA3h1HRgAvHjxQhqAkENTU1PW983TpQBw/Phx2NvbAwB0dHTQpEkT+Pv7o2vXrtJz/f39MXz4cACvrp3T1taGv78/unXrBgCIiIhAVFSUtB17e3vMnj0bT548kUacHj9+HMbGxqhXr94HvV8iIgCYNCkROjpLZG1r1vyMJ08ssW+fcmoiouJRKKENgHRKrygEBgYiKCgILVu2RNmyZXHnzh1MmTIFNWrUkIJShw4dsHjxYsyYMQO9evVCcnIyJk6ciKpVq6JRo0YAgCFDhmDFihWYMGECBgwYgJMnT2Lnzp04dOiQ9FpjxoxB//790bRpUzRr1gxLlixBSkoKfvrpJwCAiYkJXFxcMGbMGJQrVw7GxsYYMWIE7O3t0aJFCwDA119/jXr16qFv377w8vJCTEwMJk+ejGHDhvFIGhF9sIsXL0JHx09aTk3Vw+bN45GQoAE3N54KJSrpChzali1bJlsWQiA6OhqbNm1C+/btC62w1xkYGGDv3r3w8PBASkoKLC0t0a5dO0yePFkKQW3btsXWrVvh5eUFLy8vGBgYwN7eHkePHoW+vj6AV4MVDh06hNGjR2Pp0qWoUqUK1q1bJ83RBgA9evRAXFwcpk6dipiYGNjZ2eHo0aOygQWLFy+GhoYGunXrhrS0NDg5OWHVqlXSek1NTRw8eBBDhw6Fvb09DA0N0b9///cO4iAiyktWVha8vLyQnp4utR0+3A4hIc3xWhMRlXAfNE/b6zQ0NGBmZoa2bdvC3d0dZcqUKdQCSzPO00ZEjx8/xtq1a2VtixePQmKiCSpXBnj3QCLVU1Tf3wU+0hbJq1yJiIrFoUOHcOnSJWn5yZOq+Prr/vjzTwU8PcH514hKmQ+6pi0hIQG3b98GANSsWTPXnGVERPTh9u1Lw5UrnrK2bdt6IiKiDkJCwHuHEpVSBZqn7d69e+jQoQMqVKiA5s2bo3nz5qhQoQI6duyY68bsRERUcBEREbkC2+7dbgDqwNaWR9eISrN8H2l78OABWrRoAW1tbcycORN169YFANy4cQOrV6+Gvb09goKCUKVKlSIrloiopBJCYOPGjbh//77UFhTUBGfOdMSWLTyyRkQFGIjg4uKC27dvw8/PD3p6erJ1L1++RLt27VCrVq1cNyumD8eBCESlw+7dSbh+fbGszc9vEIBKnMqDSA0pfSDC0aNHsWPHjlyBDQD09fUxc+ZM9OzZs9AKIyIqDf7++29cv35EWk5L04GX1wTs3avJsEZEMvkObf/++y+qVav21vXVq1dHfHx8YdRERFTiZWdnY8GCBXj58qXUduzY17hwwR6VK/PoGhHllu/QZmlpiRs3brz1mrVr1669876aRET0SnR0NH7//XdZ26+//opGjUw5lQcRvVW+Q1vXrl0xbtw4+Pv757pf6JMnT+Dq6irdr5OIiPJ25MgR/P3339KylZUVfvrpJygUCnTuzCNsRPR2+R6I8OzZMzRv3hwxMTH48ccfYWtrCyEEwsLCsHXrVlhYWODixYsoV65cUddcanAgAlHJkZ6ejrlz58rafvjhB2kkPhGVHEofiFC2bFkEBgZi4sSJ2L59OxISEgAApqam6N27N+bMmcPARkSUh1u3bmHr1q2yNldX1zwHdhERvU2B7z0KvJpPKC4uDgBgZmYGhUJR6IURj7QRlQSbNm3C3bt3peXg4EY4daozkpOVWBQRFSmlH2l7nUKhQMWKFQutCCKikiYpKQmLF8vnXlu7diAePaqMiROVVBQRqbUPCm1ERPR2QUFBOHz4sLSsUGghLc0NiYmamDgRmD1bicURkdpiaCMiKiTZ2dlYtGgRUlJSpLZjxxwhxGe4cIFhjYg+DkMbEVEhiI2NxZo1a2Rt27ePRNmyZTnvGhEVCoY2IqKP5Ofnh4sXL0rLjx5Vwtq1A2Frq8CFC0osjIhKlHyFtmXLluV7gyNHjvzgYoiI1MnevS9x9aqXrG3nzu9x40Y9aGgA8+YpqTAiKpHyFdreHAH1NgqFgqGNiEqFoKAgXL16WNa2ePEEaGrqQ08PGDOGdzcgosKVr9AWGRlZ1HUQEamN6dOny5ZfvtTDvHmuAAB7e/CUKBEViQ++pi09PR2RkZGoUaMGtLR4aRwRlWy+vsCyZU/RqtWKN9q7IyysPrp3Bx494s3eiajoFDhtvXjxAiNGjMDGjRsBADdv3kT16tUxYsQIVK5cGW78jUVEJYSvL+Dp+SqI+foeRKtWwbL1s2ZNhJ6eNl68UFKBRFSqaBT0Ce7u7rh8+TJOnz4tu2+eo6MjduzYUajFEREpk6cnEBiYjZCQ6bCy+i+w3bxZC8uWeUBPTxu8jJeIikuBj7Tt378fO3bsQIsWLWT3HK1fvz7u3LlTqMURESnTsGGRcHL6U9bm5zcIQCVs2MCBBkRUvAoc2uLi4vK872hKSgpvHE9EJcbvv/+O6OhoWZuf31S4uSkY1ohIKQp8erRp06Y4dOiQtJwT1NatWwd7e/vCq4yISAlSU1Mxffp0WWBr1aoVPDw8cOECAxsRKU+Bj7TNmTMH7du3x40bN5CZmYmlS5fixo0buHDhAs6cOVMUNRIRFYvg4GAcPHhQ1jZ69GgYGxsrqSIiov8U+Ehby5YtERoaiszMTDRo0ADHjh1DxYoVERAQgCZNmhRFjURERW769OmywKZQaMHDw4OBjYhUhkIIIZRdBOUtKSkJJiYmSExM5BcHURGYNAlYv/4ZhgyR36pv9+7vUKZMA06SS0QfpKi+v/N1ejQpKSnfG2S4ICJ1ce3aEQwZ8resbfbsicjK0sa+fUoqiojoLfIV2kxNTfM9MjQrK+ujCiIiKmrZ2dmYOXMmGjf+r+3p0+rYu7cvtLSA8eM5nQcRqZ58hbZTp05Jf7937x7c3Nzg7OwsjRYNCAjAxo0bMXfu3KKpkoiokNy/fx/e3t6ytrVrXZCYWAXJycqpiYgoPwp8TduXX36JgQMHolevXrL2rVu34vfff8fp06cLs75Sjde0ERWuP/74Aw8fPpS1rV07FYmJCowcCcyeraTCiKhEUeo1ba8LCAjAmjVrcrU3bdoUAwcOLJSiiIgKU1paGjw9PWVtN258hgcPHLFqFU+FEpF6KPCUH1ZWVli7dm2u9nXr1sHKyqpQiiIiKiwhISG5AtvKlaPQp48jLlxgYCMi9VHgI22LFy9Gt27dcOTIETRv3hwA8Pfff+PWrVvYs2dPoRdIRPShpk+fLlvOzlZgxoypsLVlWCMi9VPgI23ffPMNbt26hU6dOiE+Ph7x8fHo1KkTbt68iW+++aYoaiQiei9fX8DB4dWfCQkJuQLb3r1dsXPnVNjbA/PmKalIIqKPwMl1VRgHIhDln4MDEBAA9OzpB1vbi7J1u3e7o0wZHbi58QgbERU9lRmIALz6X+wff/yBsLAwAED9+vUxYMAAmJiYFFphRETv4usLTJgAKBSvjpy5ugqEhs6Q9TEyqoo9e5wxezbDGhGpvwIfabt06RKcnJygr6+PZs2aAQCCgoLw8uVLHDt2DI1fn62SPgqPtBG9Xc6RNQCwsYlC//4bZOtr1RqA3r05OIqIil9RfX8XOLS1atUKNWvWxNq1a6Gl9epAXWZmJgYOHIi7d+/i7NmzhVZcacfQRvR2OUfaPvvMG9bW92Xr/Pym4sKF/N3FhYiosKnM6dFLly7JAhsAaGlpYcKECWjatGmhFUZE9DpfX8DTE9J1ae3apSMkRH4XlgsXWuDECSfeN5SISqQChzZjY2NERUXB1tZW1v7gwQOUKVOm0AojInqdp+er06F9+gDLl1/G/fv7Zes3bPgVT5+acrABEZVYBQ5tPXr0gIuLCxYsWAAHBwcAwPnz5zF+/Phct7YiIiosbm6vAtuYMTNw/778qo5p0zxQpw5471AiKtEKHNoWLFgAhUKBfv36ITMzEwCgra2NoUOH5pp1nIiosHz+eSLGjVsia7O27ox58xrB1pZzrxFRyffB87S9ePECd+7cAQDUqFEDBgYGhVoYcSACUY4TJ07g/Pnzsrb//c8N336rq6SKiIjeTmUGIuQwMDBAgwYNCq0QIqI3CSEwY4Z87rUHD6rgxg0XeHgoqSgiIiXJd2gbMGBAvvqtX7/+g4shIsrx8OFD/PHHH7K2DRuc8fRpVWzZoqSiiIiUKN+hzdvbG1WrVkWjRo3AO18RUVHatGkT7t69K2uzs5uCSpU0sGwZR4cSUemU79A2dOhQbNu2DZGRkfjpp5/w448/oly5ckVZGxGVIr6+wPz56XB0lM+9FhjYDAkJ7eHhAXTpoqTiiIhUgEZ+O65cuRLR0dGYMGECDhw4ACsrK/zwww/w8/PjkTci+mje3ldzBbYDB0YiIaE93NyUVBQRkQr54NGj9+/fh7e3N/78809kZmbi+vXrMDIyKuz6SjWOHqXSYs6cOcjIyJC1+fl5cKJcIlJLKjd6VENDAwqFAkIIZGVlFVpBRFR6JCUlYfHixbK2Awc6IjKyCZ4+VVJRREQqKt+nRwEgLS0N27Ztw1dffYXatWvj6tWrWLFiBaKioniUjYgK5OTJk7kC2//+5wodnSbYsEFJRRERqbB8H2n75ZdfsH37dlhZWWHAgAHYtm0bKlSoUJS1EVEJlNfca48fW+Lq1Z/h4QF8+62SCiMiUnH5vqZNQ0MD1tbWaNSoERQKxVv77d27t9CKK+14TRuVNI8fP8batWtlbSdP9kNsrA28vHj9GhGVDEq/pq1fv37vDGtERG/y9QU8PV/d7P358624deuWbP3ChVOQlFSgqzSIiEqtAk2uS0RUEJ6eQFBQBkJC5sjaL11qgsOHO3IqDyKiAvjg0aNERO8zePB1ODntlrXVrTscfn7lsW8fT4cSERUEQxsRFYl58+YhNTVV1ubx/3d5/+EHZVRERKTeGNqIqFAlJydj0aJFsrYbN77Bjh2fKqkiIqKSgaGNiArNmTNncPr0aVmbv/8EjBunr5yCiIhKEIY2IvpgOaNDXV0FQkPlc6/FxlbEqVNDERampOKIiEoYhjYi+mCenkBkZDRCQ3+Xtdeo8SP8/Gpg3jwlFUZEVAKpzQRJnTt3hrW1NfT09GBpaYm+ffvi8ePHsj47d+6EnZ0dDAwMULVqVcyfPz/Xdk6fPo3GjRtDV1cXNWvWzHMqk5UrV6JatWrQ09ND8+bN8ffff8vWp6amYtiwYShfvjyMjIzQrVs3xMbGyvpERUWhQ4cOMDAwQMWKFTF+/HhkZmZ+/AdBpAJ8fQEHB+Crr3ZgyBB5YJs/fzJ+/LEGLlzg6FAiosKkNqGtTZs22LlzJyIiIrBnzx7cuXMH3bt3l9YfOXIEffr0wZAhQ3Dt2jWsWrUKixcvxooVK6Q+kZGR6NChA9q0aYPQ0FCMGjUKAwcOhJ+fn9Rnx44dGDNmDDw8PPDPP/+gYcOGcHJywpMnT6Q+o0ePxoEDB7Br1y6cOXMGjx8/xnfffSetz8rKQocOHZCeno4LFy5g48aN8Pb2xtSpU4v4UyIqHl5emXBymg4NjXCpLSvLDgsWeODXXzWVWBkRUcmV79tYqRpfX1907doVaWlp0NbWRu/evZGRkYFdu3ZJfZYvXw4vLy9ERUVBoVDA1dUVhw4dwrVr16Q+PXv2REJCAo4ePQoAaN68OT799FMp7GVnZ8PKygojRoyAm5sbEhMTYWZmhq1bt0qhMTw8HHXr1kVAQABatGiBI0eOoGPHjnj8+DHMzc0BAGvWrIGrqyvi4uKgo6OTr/fI21iRKgoLC8POnTtlbcOGDeO9iImI/l9RfX+rzZG218XHx2PLli1wcHCAtrY2ACAtLQ16enqyfvr6+nj48CHu378PAAgICICjo6Osj5OTEwICAgAA6enpCA4OlvXR0NCAo6Oj1Cc4OBgZGRmyPra2trC2tpb6BAQEoEGDBlJgy3mdpKQkXL9+/a3vKy0tDUlJSbIHkarw9QXc3BbkCmx+fh4MbERExUCtQpurqysMDQ1Rvnx5REVFwcfHR1rn5OSEvXv3wt/fH9nZ2bh58yYWLlwIAIiOjgYAxMTEyIIUAJibmyMpKQkvX77Ev//+i6ysrDz7xMTESNvQ0dGBqanpO/vktY2cdW8zd+5cmJiYSA8rK6v8fjRERer58+cICZkOff0Uqe3ChXbYts2Dt6IiIiomSg1tbm5uUCgU73yEh/93zcz48eMREhKCY8eOQVNTE/369UPO2d1BgwZh+PDh6NixI3R0dNCiRQv07NkTwKujZerA3d0diYmJ0uPBgwfKLokI586dk/4DlGPevPFITm6O8HAONiAiKi5KnfJj7NixcHZ2fmef6tWrS3+vUKECKlSogNq1a6Nu3bqwsrLCxYsXYW9vD4VCgXnz5mHOnDmIiYmBmZkZ/P39ZduwsLDINcozNjYWxsbG0NfXh6amJjQ1NfPsY2FhIW0jPT0dCQkJsqNtb/Z5c8RpzjZz+uRFV1cXurq67/w8iIqLEAIzZsjnXktJKY+WLYfDzg48wkZEVMyUGtrMzMxgZmb2Qc/Nzs4G8Oo6sNdpamqicuXKAIBt27bB3t5eeg17e3scPnxY1v/48eOwt7cHAOjo6KBJkybw9/dH165dpdfx9/fH8OHDAQBNmjSBtrY2/P390a1bNwBAREQEoqKipO3Y29tj9uzZePLkCSpWrCi9jrGxMerVq/dB75eoOMXGxmLNmjWytj17emPWrFro3JlH14iIlEEtJtcNDAxEUFAQWrZsibJly+LOnTuYMmUKatSoIQWlf//9F7t378YXX3yB1NRUbNiwQZqSI8eQIUOwYsUKTJgwAQMGDMDJkyexc+dOHDp0SOozZswY9O/fH02bNkWzZs2wZMkSpKSk4KeffgIAmJiYwMXFBWPGjEG5cuVgbGyMESNGwN7eHi1atAAAfP3116hXrx769u0LLy8vxMTEYPLkyRg2bBiPpJHKW7p0FxISbsjaFi2ajE2bNBnWiIiUSC1Cm4GBAfbu3QsPDw+kpKTA0tIS7dq1w+TJk2UhaOPGjRg3bhyEELC3t8fp06fRrFkzab2NjQ0OHTqE0aNHY+nSpahSpQrWrVsHJycnqU+PHj0QFxeHqVOnIiYmBnZ2djh69KhsYMHixYuhoaGBbt26IS0tDU5OTli1apW0XlNTEwcPHsTQoUNhb28PQ0ND9O/fP9epJiJVkpmZidmzZ8vaLl/+H44f/xZbtvDoGhGRsqntPG2lAedpo+IyeXIEtLW3y9p27x6KzMyKmDePgY2IqCCK6vtbLY60EVHRWbx4MbS15XMC2tlNhYeHQkkVERFRXhjaiEqplJQULFiwQNZ28eJXOHLEQUkVERHRuzC0EZVC58+fx4kTJ2Rt8+ePx9atBkqqiIiI3oehjagU8fERCA2VD4hJSDDBsmWj4ObGa9eIiFQZQxtRKfHkyROEhq6WtW3d2guPH9fGvn0MbEREqo6hjagU2Lt3L65evSprmzlzMrS1NbFjBwMbEZE6YGgjKsGysrIwa9YsWVt0dH0cPNgdWVlArVoMbERE6oKhjaiEunXrFrZu3SprO39+CI4fN0edOoC9Pe8fSkSkThjaiEqgZcuW4dmzZ7I2O7upaNRIgefPwUEHRERqiKGNqAR58eIF5s+fL2s7ceJLhIa2lG5FxbBGRKSeNJRdABEVjnXrLuYKbJ98Mg6hoS3x/Dng6amkwoiIqFDwSBuRmstr7jUjIyOMHTsWAKCt/Sqw8fo1IiL1xtBGpMb+/fdfhIaulLXZ2PRAv3620jJPiRIRlQwMbURqaupUH2hqhsraGjachK5d+WNNRFQS8bc7kZrJmXtNU/O/ttjYuli9+gfY2wNduyqtNCIiKkIMbURq5M6dO9i8ebOsLSNjMNq1s0BoKK9bIyIqyRjaiNTEqlWrEBcXJ2ubOnUqFAoFAF63RkRU0jG0Eam4ly9fwsvLS9bWpk0btG7dWkkVERGRMjC0Eamwv//+G0eOHJG1jRkzBmXKlFFSRUREpCwMbUQqavr06bJlTU19HD48AY0avVrOmXuNp0WJiEoHhjYiFbNz51OEha2QtX3//fcYOLAeAgL+u7NBzt8Z2oiISgeGNiIVcuDAAYSF/SNrmzhxIrS1teHmJr+zAe9yQERUuiiEEELZRVDekpKSYGJigsTERBgbGyu7HCpC2dnZmDlzpqwtIqI27t3rhQsXlFQUERF9kKL6/uaRNiIl8vUFFi6MRNu2f8ra69QZBD+/SjySRkREEg1lF0BUmp0581uuwDZ16lQYGFRSUkVERKSqeKSNSAlSU1Mxb948vH7U3MKiNQYPbgPg1fVqHGhARESvY2gjKmbr11/CgweHZG2jR4+WXffw5qADIiIihjaiYvTm3GuZmTr49FN3vHmdaufOPMJGRERyDG1ExSA+Ph7Lly+XtVWr1g39+3+ipIqIiEjdMLQRFbHDhw8jKChI1pYz9xoREVF+MbQRFREfn2yEhsrnXqtevTr69u2rpIqIiEidMbQRFSJfX8DVFahQ4R4cHTfK1g0cOBCVK1dWUmVERKTuGNqICpGnJ9Cy5TpUqfJI1j516lQoFAolVUVERCUBQxtRIfD1BebPT4OTk6esvWXLlvjyyy+VVBUREZUkvCMCUSHYtOkfODrKA9uoUaPeGdh8fQEHh1d/EhERvQ9vGK/CeMN41efrC4SEyOde09DQwJQpU977XAeHV3c9sLcHbwpPRFSCFNX3N4+0EX2gZ8+e5QpsVat+i61bp8DW9v1H0NzcXgU23vWAiIjyg0faVBiPtKkmX1/gzz9D0aCBj6zd3d0dX3yhg4CAV8s8gkZEVDrxSBuRChBC4K+/lssCm5FRNXh4eEBHRwdubkDlyoCeHtCmjRILJSKiEoehjSif/v33X8yYMQOGhvFS2/LlwzBtWn/pVGjnzoC1NZCaCpw69d9zOeiAiIg+FkMbUT6cOnUKK1eulJbLly8PO7upSEurgOfPX83PliOva9U8PV8NOvCUDzAlIiLKN87TRvQOmZmZmD17tqyta9euaNiwIQBgy5ZXQez1gNa586vH69zccvcjIiIqCA5EUGEciKAcvr6vAtawYfdw+7b8VlTjxo2DoaGhkiojIiJ1wIEIREUs57ozV1egcuXdssAWE1MXjRp5yAIbr1MjIqLixCNtKoxH2oqXgwNw+fILTJgwX9bu798P587Z5JrCg5PjEhFRXnikjaiI5Bwx+/LLK7kC26xZExEXZ5PnJLg5Aw7atOERNyIiKno80qbCeKSteDg4CDRuvApmZv9Kba1atcLz522lwQNvDiyQP59H3IiI6D9F9f3N0aNUqj19+hROTitkbb/88gvMzMwAvDus5eDIUCIiKg4MbVRqnTlzBqdPn5aWy5YtixEjRkChUBRoO3lN8UFERFTYGNqo1Mlr7rXOnTujUaNGSqqIiIjo/RjaqFSJiorChg0bZG1jx46FkZGRkioiIiLKH4Y2KjX27t2Lq1evSst16tRBz549lVgRERFR/jG0UYnm6wssXPgCbdvKp/Lo27cvqlevrqSqiIiICo6hjUq0FSuuoW3bPbK2iRMnQltbW0kVERERfRhOrkslSs5EuT4+AmvWrMFnn/0X2BwcHODh4SEFNt6GioiI1AlDG5Uonp5AeHg8QkNnIDY2Vmq3tR2Kr776KlffgIBXfxIREak6nh6lEsXZ+Ryio09Ky8bGxvj111+hoZH7/yecFJeIiNQJQxupPV9fwN09C99/Pwuvz4trZdUJAwY0fuvzOCkuERGpE4Y2UnteXg/www/rZW1jxoxBmTJllFQRERFR4WNoI7W2f/9+fPXVZWnZ2LgmRo/uo8SKiIiIigZDG6kdX19gwYKX+PJLL1l7jRo/4scfayipKiIioqLF0EZqw9f31cABI6Pr+PLL3bJ17u7u0NHRUVJlRERERY+hjVReTliLihLo0GEtKlWKltbZ29vj66+/VmJ1RERExYOhjVSary/Qowegp/cMo0Ytk60bMmQIzM3NlVQZERFR8VK7yXXT0tJgZ2cHhUKB0NBQ2borV66gVatW0NPTg5WVFby8vHI9f9euXbC1tYWenh4aNGiAw4cPy9YLITB16lRYWlpCX18fjo6OuHXrlqxPfHw8+vTpA2NjY5iamsLFxQXPnz8vcC30fp6eQJMm52WBTUvLCFOmTGFgIyKiUkXtQtuECRNQqVKlXO1JSUn4+uuvUbVqVQQHB2P+/PmYNm0afv/9d6nPhQsX0KtXL7i4uCAkJARdu3ZF165dce3aNamPl5cXli1bhjVr1iAwMBCGhoZwcnJCamqq1KdPnz64fv06jh8/joMHD+Ls2bP4+eefC1QLvV3O7aX2789Cu3az8NVXJ6R1HTp0wKRJY/OcLJeIiKhEE2rk8OHDwtbWVly/fl0AECEhIdK6VatWibJly4q0tDSpzdXVVdSpU0da/uGHH0SHDh1k22zevLkYPHiwEEKI7OxsYWFhIebPny+tT0hIELq6umLbtm1CCCFu3LghAIigoCCpz5EjR4RCoRCPHj3Kdy35kZiYKACIxMTEAj1P3dnbC1G58gMxbdo02SMpKUnZpREREb1XUX1/q83hitjYWAwaNAibNm2CgYFBrvUBAQFo3bq1bAShk5MTIiIi8OzZM6mPo6Oj7HlOTk4ICAgAAERGRiImJkbWx8TEBM2bN5f6BAQEwNTUFE2bNpX6ODo6QkNDA4GBgfmuJS9paWlISkqSPUqj3r19MWjQH9Jy9erV4eHhwclyiYioVFOL0CaEgLOzM4YMGSILS6+LiYnJdY1TznJMTMw7+7y+/vXnva1PxYoVZeu1tLRQrly5977O66+Rl7lz58LExER6WFlZvbVvSZSamorp06fj6dMQqa13797o27evEqsiIiJSDUoNbW5ublAoFO98hIeHY/ny5UhOToa7u7syyy1y7u7uSExMlB4PHjxQdknFJiwsDPPmzZO1ubu7o1atWkqqiIiISLUodcqPsWPHwtnZ+Z19qlevjpMnTyIgIAC6urqydU2bNkWfPn2wceNGWFhYIDY2VrY+Z9nCwkL6M68+r6/PabO0tJT1sbOzk/o8efJEto3MzEzEx8e/93Vef4286Orq5nqPJU3OnGtubq9u1i6EwPr16/Hw4UOpT7NmzdC+fXslVklERKR6lBrazMzMYGZm9t5+y5Ytw6xZs6Tlx48fw8nJCTt27EDz5s0BvJpkddKkScjIyIC2tjYA4Pjx46hTpw7Kli0r9fH398eoUaOkbR0/fhz29vYAABsbG1hYWMDf318KaUlJSQgMDMTQoUOlbSQkJCA4OBhNmjQBAJw8eRLZ2dkFqqW08vQEAgKAPn2ADRsScP36Utn6wYMHvzPYEhERlVqFOqyhmERGRuYaPZqQkCDMzc1F3759xbVr18T27duFgYGB+O2336Q+58+fF1paWmLBggUiLCxMeHh4CG1tbXH16lWpj6enpzA1NRU+Pj7iypUrokuXLsLGxka8fPlS6tOuXTvRqFEjERgYKP766y9Rq1Yt0atXrwLVkh+qNnrUx+fVyE4fnw/v6+MjhJGREPb2F2QjQ728vERWVlbRFE5ERFSMiur7u8SENiGEuHz5smjZsqXQ1dUVlStXFp6enrmeu3PnTlG7dm2ho6Mj6tevLw4dOiRbn52dLaZMmSLMzc2Frq6u+PLLL0VERISsz9OnT0WvXr2EkZGRMDY2Fj/99JNITk4ucC3vo2qhzd5eCODVnx/aNzMzU8yYMVsW2AIDA4umYCIiIiUoqu9vhRBCKPNIH71dUlISTExMkJiYCGNjY2WXk+t6tIL2ffz4MdauXSvrN3r0aJV4b0RERIWlqL6/GdpUmKqFto9x8OBBBAcHS8vVqlVDv379oFAolFgVERFR4Suq72+1mKeN1EfOLah8fV8tp6WlYfr06bLA1rNnT/Tv35+BjYiIqACUOnqUSp6c0aGenkCdOhHYvn27bL2bm1uJn9aEiIioKDC0UaFycwM8PQW++84b27dHSe1NmzZFhw4dlFgZERGRemNoo0L1+eeJCAlZgpSU/9oGDRqESpUqKa8oIiKiEoChjQpNYGAgjh49Ki3r6upi/Pjx0NTUVGJVREREJQNDG3207OxseHl5IS0tTWqrXNkJAwe2UGJVREREJQtDG30wX19g5cpoODj8LmtfvHgU6tUzwcCBSiqMiIioBGJoow/m43MYDg5B0nJcnBVWrvwJenoKuLkpsTAiIqISiKGNCiwtLQ2enp6wtv6vrUePHrh50xb//JO/OyYQERFRwTC0UYHcvHkT27Ztk7W5urpCT08PtrYMa0REREWFd0QgyZt3M3idEAJ//vmnLLA1btwYHh4e0NPTK8YqiYiISieGNpK8fjeD1yUlJWHGjBmIjIyU2gICBqJTp07FXCEREVHpxdBGEjc3wN4eskEEf//9NxYvXiwta2ho49ixyfjll8pKqJCIiKj04jVtBODVKVFPz/8GEWRnZ2PhwoV48eKF1Cc8/Cv06uWAKVOUWCgREVEpxdBGAOSnRps1i8Fvv/0mW3/mzK84dcoU9+9zsAEREZEyMLQRgJwbvQM//uiH3367KLUbGFTGuHEuOHBAgdRUcP41IiIiJWFoIwBAu3bpCAmZi7i4/9p27PgeDx7UQ506r46u8QgbERGR8nAgAuHWrVuYO3eurG3PHldERtbD8+e5R5MSERFR8eORtlJu8+bNuHPnjrRsZ2eHLl26wMNDPjiBiIiIlIuhrZRKTk7GokWLZG0uLi6oUqWKtMxTokRERKqDoa0U2rAhFFFRPtKyhoYGJk6cCE1NTSVWRURERO/Ca9pKoXv3Dkh///LLLzFlyhQpsL3rVlZERESkPAxtpZCV1ddITLREvXoj0bJlS1lQe9utrIiIiEi5FEIIoewiKG9JSUkwMTFBYmIijI2Ni+x1HBxeBbWcW1i9fmcEIiIiKpii+v7mkTaS3XO0c2fgwgUGNiIiIlXDgQjEUaJERERqgEfaSjEOOiAiIlIfDG2lGAcdEBERqQ+GtlLs9WvZiIiISLXxmrZSjNeyERERqQ8eaSMiIiJSAwxtRERERGqAoY2IiIhIDTC0EREREakBhjYiIiIiNcDQRkRERKQGGNqIiIiI1ABDGxEREZEaYGgjIiIiUgMMbURERERqgKGNiIiISA0wtBERERGpAYY2IiIiIjWgpewC6O2EEACApKQkJVdCRERE+ZXzvZ3zPV5YGNpUWHJyMgDAyspKyZUQERFRQSUnJ8PExKTQtqcQhR0DqdBkZ2fj8ePHKFOmDBQKhbLLKVZJSUmwsrLCgwcPYGxsrOxy6DXcN6qL+0Z1cd+otsLeP0IIJCcno1KlStDQKLwr0XikTYVpaGigSpUqyi5DqYyNjfkLTkVx36gu7hvVxX2j2gpz/xTmEbYcHIhAREREpAYY2oiIiIjUAEMbqSRdXV14eHhAV1dX2aXQG7hvVBf3jerivlFt6rJ/OBCBiIiISA3wSBsRERGRGmBoIyIiIlIDDG1EREREaoChjYiIiEgNMLRRoUtLS4OdnR0UCgVCQ0Nl665cuYJWrVpBT08PVlZW8PLyyvX8Xbt2wdbWFnp6emjQoAEOHz4sWy+EwNSpU2FpaQl9fX04Ojri1q1bsj7x8fHo06cPjI2NYWpqChcXFzx//rzAtZQUnTt3hrW1NfT09GBpaYm+ffvi8ePHsj47d+6EnZ0dDAwMULVqVcyfPz/Xdk6fPo3GjRtDV1cXNWvWhLe3d64+K1euRLVq1aCnp4fmzZvj77//lq1PTU3FsGHDUL58eRgZGaFbt26IjY2V9YmKikKHDh1gYGCAihUrYvz48cjMzPz4D0IF5Wff+Pn5oUWLFihTpgzMzMzQrVs33Lt3T9aH+6ZovG//TJs2DQqFItfD0NBQth3+Xit8+fnZEUJgwYIFqF27NnR1dVG5cmXMnj1b1ketfnYEUSEbOXKkaN++vQAgQkJCpPbExERhbm4u+vTpI65duya2bdsm9PX1xW+//Sb1OX/+vNDU1BReXl7ixo0bYvLkyUJbW1tcvXpV6uPp6SlMTEzE/v37xeXLl0Xnzp2FjY2NePnypdSnXbt2omHDhuLixYvi3LlzombNmqJXr14FqqUkWbRokQgICBD37t0T58+fF/b29sLe3l5af/jwYaGlpSVWr14t7ty5Iw4ePCgsLS3F8uXLpT53794VBgYGYsyYMeLGjRti+fLlQlNTUxw9elTqs337dqGjoyPWr18vrl+/LgYNGiRMTU1FbGys1GfIkCHCyspK+Pv7i0uXLokWLVoIBwcHaX1mZqb45JNPhKOjowgJCRGHDx8WFSpUEO7u7kX8KSnH+/bN3bt3ha6urnB3dxe3b98WwcHBonXr1qJRo0ayPtw3ReN9+yc5OVlER0fLHvXq1RP9+/eX+vD3WtF4374RQogRI0aIOnXqCB8fH3H37l1x6dIlcezYMWm9uv3sMLRRoTp8+LCwtbUV169fzxXaVq1aJcqWLSvS0tKkNldXV1GnTh1p+YcffhAdOnSQbbN58+Zi8ODBQgghsrOzhYWFhZg/f760PiEhQejq6opt27YJIYS4ceOGACCCgoKkPkeOHBEKhUI8evQo37WUZD4+PkKhUIj09HQhhBC9evUS3bt3l/VZtmyZqFKlisjOzhZCCDFhwgRRv359WZ8ePXoIJycnablZs2Zi2LBh0nJWVpaoVKmSmDt3rhDi1b7S1tYWu3btkvqEhYUJACIgIEAI8erfkIaGhoiJiZH6rF69WhgbG8v2V0n15r7ZtWuX0NLSEllZWVIfX19fWR/um+Lz5v55U2hoqAAgzp49K7Xx91rxeHPf3LhxQ2hpaYnw8PC3PkfdfnZ4epQKTWxsLAYNGoRNmzbBwMAg1/qAgAC0bt0aOjo6UpuTkxMiIiLw7NkzqY+jo6PseU5OTggICAAAREZGIiYmRtbHxMQEzZs3l/oEBATA1NQUTZs2lfo4OjpCQ0MDgYGB+a6lpIqPj8eWLVvg4OAAbW1tAK9Oaevp6cn66evr4+HDh7h//z6A9++b9PR0BAcHy/poaGjA0dFR6hMcHIyMjAxZH1tbW1hbW8v2X4MGDWBubi57naSkJFy/fr2wPgaVlNe+adKkCTQ0NLBhwwZkZWUhMTERmzZtgqOjo9SH+6Z45LV/3rRu3TrUrl0brVq1ktr4e63o5bVvDhw4gOrVq+PgwYOwsbFBtWrVMHDgQMTHx0vPU7efHYY2KhRCCDg7O2PIkCGyXyqvi4mJkf2DBSAtx8TEvLPP6+tff97b+lSsWFG2XktLC+XKlXvv67z+GiWNq6srDA0NUb58eURFRcHHx0da5+TkhL1798Lf3x/Z2dm4efMmFi5cCACIjo4G8PbPLCkpCS9fvsS///6LrKys9+4bHR0dmJqavrMP981/+8bGxgbHjh3DxIkToaurC1NTUzx8+BA7d+6U+nDfFK137Z/XpaamYsuWLXBxcZG18/da0XnXvrl79y7u37+PXbt24c8//4S3tzeCg4PRvXt3qY+6/ewwtNE7ubm55XmR7euP8PBwLF++HMnJyXB3d1d2yaVGfvdNjvHjxyMkJATHjh2DpqYm+vXrB/H/N0QZNGgQhg8fjo4dO0JHRwctWrRAz549Abz6XyUVTGHum5iYGAwaNAj9+/dHUFAQzpw5Ax0dHXTv3l3qQwVTmPvndfv27UNycjL69+9fnG+nRCnMfZOdnY20tDT8+eefaNWqFb744gv88ccfOHXqFCIiIpT1Fj+KlrILINU2duxYODs7v7NP9erVcfLkSQQEBOS6b1vTpk3Rp08fbNy4ERYWFrlG0+QsW1hYSH/m1ef19TltlpaWsj52dnZSnydPnsi2kZmZifj4+Pe+zuuvoeryu29yVKhQARUqVEDt2rVRt25dWFlZ4eLFi7C3t4dCocC8efMwZ84cxMTEwMzMDP7+/rJtvO0zMzY2hr6+PjQ1NaGpqfne/Zeeno6EhATZ/0rf7PPmyKzSvG9WrlwJExMT2SjAzZs3w8rKCoGBgWjRogX3TQEV5v553bp169CxY8dcR1T4ey3/CnPfWFpaQktLC7Vr15b6161bF8CrkZx16tRRv5+dfF/9RvQO9+/fF1evXpUefn5+AoDYvXu3ePDggRDiv4tkX7+A193dPddAhI4dO8q2bW9vn+uC3QULFkjrExMT87xg99KlS1IfPz+/PC/YfVctJdn9+/cFAHHq1Km39unbt69sJNaECRPEJ598IuvTq1evXBfsDh8+XFrOysoSlStXznXB7u7du6U+4eHheV6w+/rIrN9++00YGxuL1NTUD3vDauTNfTNmzBjRrFkzWZ/Hjx8LAOL8+fNCCO6b4vS2n527d+8KhUIhDhw4kOs5/L1WPN7cNznfQ7dv35b65AwUiYiIEEKo388OQxsVicjIyFyjRxMSEoS5ubno27evuHbtmti+fbswMDDINeWHlpaWWLBggQgLCxMeHh55Do03NTUVPj4+4sqVK6JLly55Do1v1KiRCAwMFH/99ZeoVauWbGh8fmopKS5evCiWL18uQkJCxL1794S/v79wcHAQNWrUkH5ZxMXFidWrV4uwsDAREhIiRo4cKfT09ERgYKC0nZyh8ePHjxdhYWFi5cqVeQ6N19XVFd7e3uLGjRvi559/FqamprIRU0OGDBHW1tbi5MmT4tKlS7mG6ecMjf/6669FaGioOHr0qDAzMyuR00rkZ9/4+/sLhUIhpk+fLm7evCmCg4OFk5OTqFq1qnjx4oUQgvumqORn/+SYPHmyqFSpksjMzMy1Hf5eK3z52TdZWVmicePGonXr1uKff/4Rly5dEs2bNxdfffWVtB11+9lhaKMikVdoE0KIy5cvi5YtWwpdXV1RuXJl4enpmeu5O3fuFLVr1xY6Ojqifv364tChQ7L12dnZYsqUKcLc3Fzo6uqKL7/8UvpfU46nT5+KXr16CSMjI2FsbCx++uknkZycXOBaSoIrV66INm3aiHLlygldXV1RrVo1MWTIEPHw4UOpT1xcnGjRooUwNDQUBgYG4ssvvxQXL17Mta1Tp04JOzs7oaOjI6pXry42bNiQq8/y5cuFtbW10NHREc2aNcu1nZcvX4pffvlFlC1bVhgYGIhvv/1WREdHy/rcu3dPtG/fXujr64sKFSqIsWPHioyMjML5QFRIfvaNEEJs27ZNNGrUSBgaGgozMzPRuXNnERYWJuvDfVP48rt/srKyRJUqVcTEiRPfui3+Xitc+d03jx49Et99950wMjIS5ubmwtnZWTx9+lTWR51+dhRC8EpWIiIiIlXHYWFEREREaoChjYiIiEgNMLQRERERqQGGNiIiIiI1wNBGREREpAYY2oiIiIjUAEMbERERkRpgaCMiKgIKhQL79+9Xdhkyp0+fhkKhQEJCgrJLIaIPwNBGRPQRpk2bJt3Um4ioKDG0EREREakBhjYiKtWys7Mxd+5c2NjYQF9fHw0bNsTu3bsB/Hc60d/fH02bNoWBgQEcHBwQEREBAPD29sb06dNx+fJlKBQKKBQKeHt7S9v+999/8e2338LAwAC1atWCr69vvmrKeV0/Pz80atQI+vr6aNu2LZ48eYIjR46gbt26MDY2Ru/evfHixQvpeWlpaRg5ciQqVqwIPT09tGzZEkFBQYX3YRGRUjG0EVGpNnfuXPz5559Ys2YNrl+/jtGjR+PHH3/EmTNnpD6TJk3CwoULcenSJWhpaWHAgAEAgB49emDs2LGoX78+oqOjER0djR49ekjPmz59On744QdcuXIF33zzDfr06YP4+Ph81zZt2jSsWLECFy5cwIMHD/DDDz9gyZIl2Lp1Kw4dOoRjx45h+fLlUv8JEyZgz5492LhxI/755x/UrFkTTk5OBXpNIlJhBbq9PBFRCZKamioMDAzEhQsXZO0uLi6iV69e4tSpUwKAOHHihLTu0KFDAoB4+fKlEEIIDw8P0bBhw1zbBiAmT54sLT9//lwAEEeOHHlvXXm97ty5cwUAcefOHalt8ODBwsnJSdq+tra22LJli7Q+PT1dVKpUSXh5ecm2++zZs/fWQESqR0uJeZGISKlu376NFy9e4KuvvpK1p6eno1GjRtLy//73P+nvlpaWAIAnT57A2tr6ndt//XmGhoYwNjbGkydP8l3f6883NzeHgYEBqlevLmv7+++/AQB37txBRkYGPvvsM2m9trY2mjVrhrCwsHy/JhGpLoY2Iiq1nj9/DgA4dOgQKleuLFunq6uLO3fuAHgVfnIoFAoAr66Fe5/Xn5fz3Pw8L6/nKxSKj94eEak3XtNGRKVWvXr1oKuri6ioKNSsWVP2sLKyytc2dHR0kJWVVcSVvl+NGjWgo6OD8+fPS20ZGRkICgpCvXr1lFgZERUWHmkjolKrTJkyGDduHEaPHo3s7Gy0bNkSiYmJOH/+PIyNjVG1atX3bqNatWqIjIxEaGgoqlSpgjJlykBXV7cYqpczNDTE0KFDMX78eJQrVw7W1tbw8vLCixcv4OLiUuz1EFHhY2gjolJt5syZMDMzw9y5c3H37l2YmpqicePGmDhxYr5OPXbr1g179+5FmzZtkJCQgA0bNsDZ2bnoC8+Dp6cnsrOz0bdvXyQnJ6Np06bw8/ND2bJllVIPERUuhRBCKLsIIiIiIno3XtNGREREpAYY2oiIitmQIUNgZGSU52PIkCHKLo+IVBRPjxIRFbMnT54gKSkpz3XGxsaoWLFiMVdEROqAoY2IiIhIDfD0KBEREZEaYGgjIiIiUgMMbURERERqgKGNiIiISA0wtBERERGpAYY2IiIiIjXA0EZERESkBhjaiIiIiNTA/wGshenDJO+9bAAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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fj2aN28uPr9t2za75Xe3hIQEHD16FAaDwayW6NSpU+LrgHywR0TKMYeIiNymT58+6NatGxYvXowbN24gKioKffr0wXvvvYfCwkKr5S9fviz+++rVq2avNWrUCC1btkRFRYXs9jIzMwEA77zzjtnzixcvtlo2OTkZOp0OR48eFZ8rLCy0Gi3a398fACAIgvicTqfDypUrZctRUx544AEUFRVh7dq14nO3bt3CkiVL0KhRI/Tu3RsAEBQUBACSAR8RKcMaIiJyqxdffBF//vOfsWrVKjz99NNYunQpevbsiZSUFEyYMAEtWrTAxYsXkZ2djV9//RVHjhwBALRr1w59+vRB586dER4ejgMHDuCLL77A5MmTZbfVsWNHDB8+HO+++y50Oh3uu+8+/Pjjjzhz5ozVso899hhmzJiBhx9+GFOnTkVZWRmWLVuGVq1a4dChQ+JyAwYMgFarxYMPPoinnnoKJSUlWLFiBaKioiSDupo0ceJEvPfeexg9ejQOHjyIxMREfPHFF9i9ezcWL16M4OBgANVJ4O3atcPatWvRqlUrhIeHo3379mjfvn2tlpfIq3m6mxsReR9jt/v9+/dbvVZVVSUkJycLycnJwq1btwRBEIS8vDxh5MiRQkxMjFC/fn2hadOmwh//+Efhiy++EN/3xhtvCN26dRPCwsKEwMBAoU2bNsLf//53obKyUlxGqot8eXm5MHXqVKFJkyZCw4YNhQcffFA4f/68ZDf0zZs3C+3btxe0Wq3QunVr4ZNPPpFc5/r164UOHToIDRo0EBITE4UFCxYIH374oQBAyM/PF5dzpNu9vSEF5NZ38eJFYcyYMUJERISg1WqFlJQUYeXKlVbv3bNnj9C5c2dBq9WyCz6REzSCYFIvTEREROSDmENEREREPo8BEREREfk8BkRERETk8xgQERERkc9jQEREREQ+jwERERER+TwOzKiQwWDAhQsXEBwczGHyiYiIvIQgCPj9998RFxdnNVGyKQZECl24cAHx8fGeLgYRERE54fz582jWrJns6wyIFDIOkX/+/HmEhIR4uDRERESkhF6vR3x8vHgdl8OASCFjM1lISAgDIiIiIi9jL92FSdVERETk8xgQERERkc9jQEREREQ+jzlERETk86qqqnDz5k1PF4OcUL9+ffj7+7u8HgZERETkswRBQFFREYqLiz1dFHJBWFgY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Sly+fBl+fn5mlR+O8pqA6MMPP8Tjjz9uNb7A9OnTxX936NABWq0WTz31FLKyslwadXPWrFlm69br9YiPj3d6fUREpC5+fn5ISkpCYWEhLly44OnikAuCgoLQvHlz+Pk53/DlFQHR//73P+Tm5mLt2rV2l+3evTtu3bqFs2fPonXr1oiJicHFixfNljH+LZd3BFRPkOeJYcyJiKj2aLVaNG/eHLdu3VLF3F7kOH9/f9SrV8/l2j2vCIg++OADdO7cGampqXaXzcnJgZ+fn5gJn5aWhr/+9a+4efOmOOPuli1b0Lp161ofFpyIiNTHOCO75azs5Fs8mlRdUlIijmEAQJxorqCgQFxGr9fj888/x/jx463en52djcWLF+PIkSP45Zdf8Omnn2LatGl44oknxGBnxIgR0Gq1GDduHE6cOIG1a9fi7bffNmsOIyIiIt/m0RqiAwcOoG/fvuLfxiBl1KhRWLVqFQDgs88+gyAIGD58uNX7AwIC8Nlnn2H27NmoqKhAUlISpk2bZhbshIaGYvPmzZg0aRI6d+6MiIgIvPrqq+xyT0RERCJO7qoQJ3clIiLyPpzclYiIiEghBkRERETk8xgQERERkc9jQEREREQ+jwERERER+TwGREREROTzGBARERGRz2NARERERD6PARERERH5PAZERERE5PMYEBEREZHPY0BEREREPo8BEREREfk8BkRERETk8xgQERERkc9jQEREREQ+jwERERER+TwGREREROTzGBARERGRz2NARERERD6PARERERH5PAZERERE5PMYEBEREZHPY0BEREREPo8BEREREfk8BkRERETk8xgQERERkc9jQEREREQ+jwERERER+TwGREREROTzGBARERGRz2NARERERD6PARERERH5PAZERERE5PMYEBEREZHP82hAtHPnTjz44IOIi4uDRqPB119/bfb66NGjodFozB4DBw40W+batWt4/PHHERISgrCwMIwbNw4lJSVmyxw9ehS9evVCgwYNEB8fj4ULF9b0RyMiIiIv4tGAqLS0FKmpqVi6dKnsMgMHDkRhYaH4WLNmjdnrjz/+OE6cOIEtW7Zgw4YN2LlzJyZOnCi+rtfrMWDAACQkJODgwYNYtGgRZs+ejX//+9819rmIiIjIu9Tz5MYzMzORmZlpc5mAgADExMRIvvbzzz/j+++/x/79+9Gl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Nm0annjiCTHYGTFiBObMmYNx48ZhxowZOH78ON5++2289dZbHvnMNY2TsxIRETlOIwiCYH+xmrF9+3b07dvX6vlRo0Zh9uzZSEpKknzftm3b0KdPHxw6dAjPPvssTp06hYqKCiQlJeHJJ5/E9OnTzZq7jh49ikmTJmH//v2IiIjAlClTMGPGDIfKqtfrERoaCp1OZ7fZjoiIiNRB6fXbowGRN2FARERE5H2UXr9VnUNEREREVBsYEBEREZHPY0BEREREPo8BEREREfk8BkRERETk8xgQERERkc9jQEREREQ+jwERERER+TwGREREROTzGBARERGRz2NARERERD6PARERERH5PAZERERE5PMYEBEREZHPY0BEREREPo8BEREREfk8BkRERETk8xgQERERkc9jQEREREQ+jwERERER+TwGREREROTzGBARERGRz2NARERERD6PARERERH5PAZERERE5PPqKV1Qr9crXmlISIhThSEiIiLyBMUBUVhYGDQajc1lBEGARqNBVVWVywUjIiIiqi2KA6Jt27bVZDmIiIiIPEZxQNS7d++aLAcRERGRxygOiCwVFxfjgw8+wM8//wwAuPvuuzF27FiEhoa6rXBEREREtcGpXmYHDhxAcnIy3nrrLVy7dg3Xrl3Dm2++ieTkZBw6dMjdZSQiIiKqURpBEARH39SrVy+0bNkSK1asQL161ZVMt27dwvjx4/HLL79g586dbi+op+n1eoSGhkKn07EXHRERkZdQev12KiAKDAzE4cOH0aZNG7PnT548iS5duqCsrMzxEqscAyIiIiLvo/T67VSTWUhICAoKCqyeP3/+PIKDg51ZJREREZHHOBUQDRs2DOPGjcPatWtx/vx5nD9/Hp999hnGjx+P4cOHu7uMRERERDXKqYDoH//4B4YMGYKRI0ciMTERiYmJGD16NB555BEsWLBA8Xp27tyJBx98EHFxcdBoNPj666/NXhcEAa+++ipiY2MRGBiI/v374/Tp02bLXLt2DY8//jhCQkIQFhaGcePGoaSkxGyZo0ePolevXmjQoAHi4+OxcOFCZz42ERER1VFOBURarRZvv/02rl+/jpycHOTk5ODatWt46623EBAQoHg9paWlSE1NxdKlSyVfX7hwId555x0sX74ce/fuRcOGDZGRkYEbN26Iyzz++OM4ceIEtmzZgg0bNmDnzp2YOHGi+Lper8eAAQOQkJCAgwcPYtGiRZg9ezb+/e9/O/PRiYiIqC4SVAKA8NVXX4l/GwwGISYmRli0aJH4XHFxsRAQECCsWbNGEARBOHnypABA2L9/v7jMpk2bBI1GI/z222+CIAjCu+++KzRu3FioqKgQl5kxY4bQunVrh8qn0+kEAIJOp3Pm4xEREZEHKL1+O1VDdOPGDSxatAgPPPAAunTpgnvuucfs4Q75+fkoKipC//79xedCQ0PRvXt3ZGdnAwCys7MRFhaGLl26iMv0798ffn5+2Lt3r7hMeno6tFqtuExGRgZyc3Nx/fp12e1XVFRAr9ebPYiIiKhucmqk6nHjxmHz5s145JFH0K1bN7uTvjqjqKgIABAdHW32fHR0tPhaUVERoqKizF6vV68ewsPDzZZJSkqyWofxtcaNG0tuPysrC3PmzHH9gxAREZHqORUQbdiwAd999x169Ojh7vKoxqxZszB9+nTxb71ej/j4eA+WiIiIiGqKU01mTZs2rfHxhmJiYgAAFy9eNHv+4sWL4msxMTG4dOmS2eu3bt3CtWvXzJaRWofpNqQEBAQgJCTE7EFERER1k1MB0T//+U/MmDED586dc3d5RElJSYiJicGPP/4oPqfX67F3716kpaUBANLS0lBcXIyDBw+Ky2zduhUGgwHdu3cXl9m5cydu3rwpLrNlyxa0bt1atrmMiIiIfItTAVGXLl1w48YNtGjRAsHBwQgPDzd7KFVSUiJ22weqE6lzcnJQUFAAjUaD559/Hm+88QbWr1+PY8eOYeTIkYiLi8PgwYMBAG3btsXAgQMxYcIE7Nu3D7t378bkyZPx2GOPIS4uDgAwYsQIaLVajBs3DidOnMDatWvx9ttvmzWHERERkW9zKodo+PDh+O233zBv3jxER0c7nVR94MAB9O3bV/zbGKSMGjUKq1atwksvvYTS0lJMnDgRxcXF6NmzJ77//ns0aNBAfM+nn36KyZMno1+/fvDz88PQoUPxzjvviK+HhoZi8+bNmDRpEjp37oyIiAi8+uqrZmMVERERkW9zanLXoKAgZGdnIzU1tSbKpEqc3JWIiMj71Ojkrm3atEF5ebnThSMiIiJSE6cCovnz5+Mvf/kLtm/fjqtXr3IAQyIiIvJqTjWZ+flVx1GWuUOCIECj0aCqqso9pVMRNpkRERF5H6XXb6eSqrdt2+Z0wYiIiIjUxqmAqHfv3oqWe/bZZzF37lxEREQ4sxkiIiKiWuFUDpFSn3zyCXOKiIiISPVqNCByIj2JiIiIqNbVaEBERERE5A0YEBEREZHPY0BEREREPo8BEREREfm8Gg2InnjiCQ5iSKpTqCvHnrwrKNRx+hkiIqrm1DhEAFBcXIx9+/bh0qVLMBgMZq+NHDkSALBs2TLXSkfkZmv3F2DWumMwCICfBsgakoJhXZt7ulhERORhTk3d8e233+Lxxx9HSUkJQkJCzKbw0Gg0uHbtmlsLqQacusP7FerK0WP+VhhMjnh/jQa7ZvZFbGig5wpGREQ1pkZnu//LX/6CsWPHoqSkBMXFxbh+/br4qIvBENUN+VdKzYIhAKgSBJy9UuaZAhERkWo4FRD99ttvmDp1KoKCgtxdHqIakxTREH7m8xHDX6NBYgSPYyIiX+dUQJSRkYEDBw64uyxENSo2NBBZQ1Lgf7uJ11+jwbwh7dlcRkREypOq169fL/570KBBePHFF3Hy5EmkpKSgfv36Zss+9NBD7ishkRsN69oc6a0icfZKGRIjghgMERERAAeSqv38lFUmaTQaVFVVuVQoNWJStW8r1JUj/0opkiIaMogiIvIiSq/fimuILLvWE/kKdtUnIqr7nMoh+vjjj1FRUWH1fGVlJT7++GOXC0WkFoW6cjEYAgCDALy87jgHdSRyEgdGJbVyKiAaM2YMdDqd1fO///47xowZ43KhiNSCXfWJ3Gft/gL0mL8VI1bsRY/5W7F2f4Gni0QkciogEgTBbDBGo19//RWhoaEuF4pILdhVn8g9WNtKaufQ1B2dOnWCRqOBRqNBv379UK/enbdXVVUhPz8fAwcOdHshiTzF2FX/5XXHUSUI7KpP5CRbta38PZEaOBQQDR48GACQk5ODjIwMNGrUSHxNq9UiMTERQ4cOdWsBiTyNXfWJXGesbbWcOoe1raQWDgVEr732GgAgMTERw4YNQ4MGDWqkUERqExsayECIyAWsbSW1c2pyV6PKykrJ2e6bN697XZI5DhERkesKdeWsbaVa5fZxiEydPn0aY8eOxZ49e8yeNyZb18WBGYmIyHWsbSW1ciogGj16NOrVq4cNGzYgNjZWsscZERERkbdwKiDKycnBwYMH0aZNG3eXh4iIiKjWOTUOUbt27XDlyhV3l4WIiIjII5wKiBYsWICXXnoJ27dvx9WrV6HX680eRERERN7EqV5mpjPfm+YP1eWkavYyIyIi8j412sts27ZtTheMqCYU6sqRf6UUSREN2YOFiIgc5lSTWe/eveHn54cVK1Zg5syZaNmyJXr37o2CggL4+/u7u4xENnHCSCIicpVTAdGXX36JjIwMBAYG4vDhw6ioqAAA6HQ6zJs3z60FTExMFOdPM31MmjQJANCnTx+r155++mmzdRQUFGDQoEEICgpCVFQUXnzxRdy6dcut5STP4ISRRFSbCnXl2JN3heeYOsipJrM33ngDy5cvx8iRI/HZZ5+Jz/fo0QNvvPGG2woHAPv37zfLSTp+/Dj+8Ic/4M9//rP43IQJEzB37lzx76CgO3PjVFVVYdCgQYiJicGePXtQWFiIkSNHon79+m4P3qj2ccJIIqota/cXiDdgfhoga0gKhnWtezMz+Cqnaohyc3ORnp5u9XxoaCiKi4tdLZOZyMhIxMTEiI8NGzYgOTkZvXv3FpcJCgoyW8Y0aWrz5s04efIkPvnkE3Ts2BGZmZl4/fXXsXTpUlRWVrq1rFT7jBNGmuKEkUTkbqyNrvucCohiYmJw5swZq+d37dqFFi1auFwoOZWVlfjkk08wduxYs95tn376KSIiItC+fXvMmjULZWVl4mvZ2dlISUlBdHS0+FxGRgb0ej1OnDghu62KigoOJ+AFjBNG+t8+HjhhJBHVBFu10VQ3ONVkNmHCBDz33HP48MMPodFocOHCBWRnZ+OFF17AK6+84u4yir7++msUFxdj9OjR4nMjRoxAQkIC4uLicPToUcyYMQO5ublYt24dAKCoqMgsGAIg/l1UVCS7raysLMyZM8f9H4IAuLdX2LCuzZHeKpITRhJRjTHWRpsGRayNrlucCohmzpwJg8GAfv36oaysDOnp6QgICMALL7yAKVOmuLuMog8++ACZmZmIi4sTn5s4caL475SUFMTGxqJfv37Iy8tDcnKy09uaNWsWpk+fLv6t1+sRHx/v9ProjppohzedMJJd8InI3Yy10S+vO44qQWBtdB3kVECk0Wjw17/+FS+++CLOnDmDkpIStGvXDo0aNXJ3+UTnzp3DDz/8INb8yOnevTsA4MyZM0hOTkZMTAz27dtntszFixcBVDf9yQkICEBAQICLpSZLcu3w6a0i3XJiYdIjEdUU1kbXbU7lEBlptVq0a9cO3bp1q9FgCABWrlyJqKgoDBo0yOZyOTk5AIDY2FgAQFpaGo4dO4ZLly6Jy2zZsgUhISFo165djZWXpNVkOzyTHomopsWGBiItuQmDoTrIpYCothgMBqxcuRKjRo1CvXp3KrXy8vLw+uuv4+DBgzh79izWr1+PkSNHIj09HR06dAAADBgwAO3atcOTTz6JI0eO4L///S/+9re/YdKkSawB8oCa7BXGpEciInKWVwREP/zwAwoKCjB27Fiz57VaLX744QcMGDAAbdq0wV/+8hcMHToU3377rbiMv78/NmzYAH9/f6SlpeGJJ57AyJEjzcYtotpTk73C2AWfiIic5dTkrr6Ik7u6V6GuvEba4dfuL7BKemQOERGR76rRyV2JXGXaK8ydmPRIRETOYEBEdU5NBVtERFR3eUUOEREREVFNYkBEREREPo8BEREREfk8BkRERETk8xgQERERkc9jQEREREQ+jwERERER+TwGREREROTzGBARERGRz2NARERERD6PARERERH5PAZERERE5PMYEBHVokJdOfbkXUGhrtzTRSEiIhOc7Z6olqzdX4BZ647BIAB+GiBrSAqGdW3u6WIRERFYQ0RUKwp15WIwBAAGAXh53XHWFBERqQQDIqJakH+lVAyGjKoEAWevlHmmQEREZIYBEVEtSIpoCD+N+XP+Gg0SI4I8UyAiIjLDgEglmGxbt8WGBiJrSAr8NdVRkb9Gg3lD2iM2NNDDJSMiIoBJ1apgmWw7I7MNUpqGIimiIS+Ydciwrs2R3ioSZ6+UITEiiN8tEZGKMCDyMKlk26zvTgFgT6S6KDY0kIEQEZEKscnMw6SSbY3YE4mIiKh2MCDyMKlkW1PsiURERFTzGBB5mGWyrSX2RCIiIqp5zCFSAdNk26O/FmPh97moEgT2RPIRhbpy5F8pZRI9EZEHMSBSCWOybVpyEzzUMY49kXwEp/MgIlIHNpmpkDEwYjBUt3E6DyIi9WBAROQhnM6DiEg9GBAReQin8yAiUg8GREQewuk8iIjUg0nVRB7E6TyIiNSBARGRh3E6DyIiz2OTGalKoa4ce/KusKcVERHVKtYQkWpwTB4iIvIU1dcQzZ49GxqNxuzRpk0b8fUbN25g0qRJaNKkCRo1aoShQ4fi4sWLZusoKCjAoEGDEBQUhKioKLz44ou4detWbX8UsoFj8hARkSd5RQ3R3XffjR9++EH8u169O8WeNm0aNm7ciM8//xyhoaGYPHkyhgwZgt27dwMAqqqqMGjQIMTExGDPnj0oLCzEyJEjUb9+fcybN6/WPwtJszUmD/NryJdxahei2uEVAVG9evUQExNj9bxOp8MHH3yA1atX4/777wcArFy5Em3btsVPP/2Ee++9F5s3b8bJkyfxww8/IDo6Gh07dsTrr7+OGTNmYPbs2dBqtbX9cUiCcUwe06CIY/LUHl501YnNyES1R/VNZgBw+vRpxMXFoUWLFnj88cdRUFAAADh48CBu3ryJ/v37i8u2adMGzZs3R3Z2NgAgOzsbKSkpiI6OFpfJyMiAXq/HiRMnZLdZUVEBvV5v9vBmak9W5pg8nrN2fwF6zN+KESv2osf8rVi7v8DTRSKwGZmotqm+hqh79+5YtWoVWrdujcLCQsyZMwe9evXC8ePHUVRUBK1Wi7CwMLP3REdHo6ioCABQVFRkFgwZXze+JicrKwtz5sxx74fxEG+5y+SYPLVP7qKb3iqS+9/D2IxMVLtUHxBlZmaK/+7QoQO6d++OhIQE/N///R8CA2vupDBr1ixMnz5d/Fuv1yM+Pr7GtldTvO2CxzF5ahcvuurFZmSi2uUVTWamwsLC0KpVK5w5cwYxMTGorKxEcXGx2TIXL14Uc45iYmKsep0Z/5bKSzIKCAhASEiI2cMbcQLRmqP2ZkglOJ+aerEZmah2eV1AVFJSgry8PMTGxqJz586oX78+fvzxR/H13NxcFBQUIC0tDQCQlpaGY8eO4dKlS+IyW7ZsQUhICNq1a1fr5a9tvODVjLqSd8OLrroN69ocu2b2xZoJ92LXzL6qbOomqis0giAI9hfznBdeeAEPPvggEhIScOHCBbz22mvIycnByZMnERkZiWeeeQbfffcdVq1ahZCQEEyZMgUAsGfPHgDV3e47duyIuLg4LFy4EEVFRXjyyScxfvx4h7rd6/V6hIaGQqfTeV1t0dr9BXh53XFUCYJ4weOJ1XmFunL0mL/Vqilj18y+XhtIFOrKmbtFRHWS0uu36nOIfv31VwwfPhxXr15FZGQkevbsiZ9++gmRkZEAgLfeegt+fn4YOnQoKioqkJGRgXfffVd8v7+/PzZs2IBnnnkGaWlpaNiwIUaNGoW5c+d66iPVOiYru1ddzLth7hYR+TrV1xCphTfXEJF71cUaIiKiukrp9dvrcoiIPI15N0REdY/qm8yI1IjNkEREdQsDIiInuTPvhlNnEBF5FgMiIg/zlpHEiYjqMuYQEXkQ56siIlIHBkREHsSRxImI1IEBEZEHSY0k7gfgamkFa4mIiGoRAyIiD7Lswq8BIACYvPqwV08JQkTkbRgQEXmYcb6qfw3vBI2mOiACmE9ERFSbGBARqUBsaCDCG2mZT0RE5CEMiMghhbpy7Mm7wlqLGiCVT+Sv0SAxIsgzBSIi8iEMiEixtfsL0GP+VoxYsZf5LTWAU4IQEXkOJ3dVyNcnd+WEprWnUFfOKUGIiNxE6fWbI1WTIrbGy+FF273cOSUIEREpwyYzUoT5LUREZKku5ZUyICJF5PJbANSZHwMRESlX1/JKmUOkkK/nEBmZ5rfs/H+XOSkpEZEP8qa8UqXXb9YQkUNiQwORltwEADgpKRGRj6qL8zAyIFIRb2qLrYs/BiIiUqYu5pUyIFIJb2uLrekfgzcFh0REvqYujpvGHCKFajKHSO1tsYW6cuRfKUVSREOz8qzdX4CX1x1HlSCIPwZ35BCt3V/A3CQiF8n9boncyRvGTeM4RF5EzWP82ApOhnVtjvRWkW79MRTqyiVzk9JbRXp8XxB5C95UUG2pS+OmsclMBdTaFisXnJg2YxmTrN31g2BuEpFrlPxuicgaAyIVUNoWW9t5NZ4ITtQaHKqR1PHA3CviTQWRc9hkphL2mp88UQVuDE4sc5tqMjgxBoeWuUl1pUrWXSyPh3E9kxARHIAFm06xmcTHeeJ3S1QXMKlaIU8OzOippOtCXTlW7srH+//LhwFwa+K0km2rPVHPU6SOBylqSsyn2lVTHR6IvBGTqusQTyRdW9ZATOzZAmN6Jirenqs9XCwT9dhj5g6p40GKWhLz1a4uHls10eGBqK5jQOQFarsKXCop84Nd+RjTM1HR+93dvMceM+akjgcpbCaxry4fW3Wp9w9RbWBStReo7QGwXEnKdHcPF/aYsWY8HiyTz00x98o+HltEtccbOnywhshL1GYVuCs1Uu5u3lPzGE2eZDweVu7Ox/s77+R4vTSwNTo0C2MziQI8tohqh7fUxDIg8iK1VQXuSk8vdzfvsceMvNjQQLz8QDuM6ZHEXBEn+PKxVRfzpkidvGmwXQZEXqqmT2jO1ki5u9s8u+Hbx1wR53j7seXsOcBb7tapdtT0tcSbamLZ7V4hT3a7t+QNJzR3d5tnN3yqKd54bDl7DlD7vIlUu2rjWqKGY07p9ZtJ1V7GWxJB3T2lh7vXR2TkbceWK+cAubv1Q+eumyW82kuA9YYEWbKttq4ltd0pyBVsMvMy3lT9SETu58o5QCpvSqMBJq8+DAHVtQQPd2qKrw7/Jltr4A011GRfbV5LvGVcLNXXEGVlZaFr164IDg5GVFQUBg8ejNzcXLNl+vTpA41GY/Z4+umnzZYpKCjAoEGDEBQUhKioKLz44ou4detWbX4Ut+BcX+QrWAshzZVzgOXdup8GgAAYr4sGAfjy0G+ytQbeUkPtzWrruK/ta4k31MSqPiDasWMHJk2ahJ9++glbtmzBzZs3MWDAAJSWlpotN2HCBBQWFoqPhQsXiq9VVVVh0KBBqKysxJ49e/DRRx9h1apVePXVV2v747jMm6ofiZy1dn8BeszfihEr9qLH/K1Yu7/A00VSDVfPAcO6NseumX2xZsK9ePuxjrCXRGo6Bhknjq1ZtXnc81pizeuSqi9fvoyoqCjs2LED6enpAKpriDp27IjFixdLvmfTpk344x//iAsXLiA6OhoAsHz5csyYMQOXL1+GVqu1u101JVUD3pkIKoddgMmUGpIwvYE7zgFK5sUz3feFunLcl7XVLIjSANgz635+Ny7y5JyVdeVaIqfOJlXrdDoAQHh4uNnzn376KSIiItC+fXvMmjULZWV37liys7ORkpIiBkMAkJGRAb1ejxMnTkhup6KiAnq93uyhJt5Q/agEawLIEmshlHHHOUCqlmDoPU0dqzWwMWI6Keep476uXEvcwauSqg0GA55//nn06NED7du3F58fMWIEEhISEBcXh6NHj2LGjBnIzc3FunXrAABFRUVmwRAA8e+ioiLJbWVlZWHOnDk19EkI8K4Bu4xYm1XzfHnARE+QSnh9IaO1ZK1B/pVSqyY2QQA7dbgBj3vP86qAaNKkSTh+/Dh27dpl9vzEiRPFf6ekpCA2Nhb9+vVDXl4ekpOTndrWrFmzMH36dPFvvV6P+Ph45wpew7z1Iq20l4NaPh9719QOTw+YqJbjrTZZDu4pN9inrYu2L+43d/L0cU9eFBBNnjwZGzZswM6dO9GsWTOby3bv3h0AcObMGSQnJyMmJgb79u0zW+bixYsAgJiYGMl1BAQEICAgwA0ldw+5k403X6SV3BGp5fN5Y22WN/NUN121HG9qJXfR3vn/LtfKAH91PeDylu7pdZXqAyJBEDBlyhR89dVX2L59O5KSkuy+JycnBwAQGxsLAEhLS8Pf//53XLp0CVFRUQCALVu2ICQkBO3atauxsruL3Em6UFeOmV8eM+syO/PLY2gTE4zU+MYeLbMS9u6I1BSEcPyn2lfbU5Ko6XhTM8uLNgCzZGCDAMxad8yt+82XAlVOxeM5qg+IJk2ahNWrV+Obb75BcHCwmPMTGhqKwMBA5OXlYfXq1XjggQfQpEkTHD16FNOmTUN6ejo6dOgAABgwYADatWuHJ598EgsXLkRRURH+9re/YdKkSaqqBZJi6yR98Nx16/Z8AH9augcLhtbcCcOdd2q27ojUFISwqaDuU9PxpnamF+09eVes9ptBAFbuzsfLD7h2w1moK8eBs9d8MlDleaX2qT4gWrZsGYDqrvWmVq5cidGjR0Or1eKHH37A4sWLUVpaivj4eAwdOhR/+9vfxGX9/f2xYcMGPPPMM0hLS0PDhg0xatQozJ07tzY/ilNsnaRtjZhQUyeMmrhTcyZfobZ5sqmAaoeajjdvIrXfAOD9nfkY0yPJ6XOQ6bnGkjOBqjcFGI6eZ73ps6mZ6gMie8MkxcfHY8eOHXbXk5CQgO+++85dxao1tk7SiRFBuD3QrJWauLOt7SYFtSUZKmkqcHV/8MTmOWo73rxFbGggxvVMwor/5Zs9b4Dzvc8szzWWHA1UvanJzdHzrDd9NktqO9+pPiDydcaTtOkBb3qSnj80xSyPyKgm7mzlaqsOnr2OP6bWzMGstiRDe00FrgSi3nxiqyvUdrypia2L19ieSXj/f/lm5yFXzkFS5xrT9ToSqHpbbpgjTbfe9tlMqfF853UDM/oqY0WZZYXZsK7NsWfW/ZiYniR+mX4aYFi3eBw4e82t8+FIzX0DAFM/O1zjQ8ybDhymljmu3DkXUE3NEaWWfeVNOFCdNXsDqMaGBmL+UPdNAyH12/IDsHREJ+ya2dehC6e3DfTpyHnF2z6bkVrnxGNApHLGA8d4zAuwPnBiQwPx8gPtsPt2YGQQgNV7CzBlTQ7uy3Lf6M/G2irLg6Y2D2Y1jWztzrmAauLEpqZ9Rd5L6cXLdI40R4MWS1K/rayhKRjUIc7h35e3TYjtyHnF2z6bkVoDOTaZqZyjPV/et2jHFwDM+tJ9XWCHdW2OhgH1MHn1YcVlchc1Vg+7q4nF3Qm9atxX5J0cOQe5s8u4u35bSob3UFMeC6D8s3tr3ptaOzAwIFI5Rw4cuXZ3V5IbpXROaOyRg1mt3aLdcRFw94lNrfuKvI8nL17uCrDkAgw15rEYKf3sxs926Nx1GAQBXRLD7b5HCWOg2FDrj9LKKrcGjGoN5BgQqZwjB45c91c/wK0nL08dzGq9q3AXdyb0qmlfqfEOnJRT68XLUZYBhppqUY3jLWk0GnROaOzw9t09/IfUkAfuDhjV2IFBI9jr104AqucyCw0NhU6nQ0hISK1vv1BXrujAWbu/ADPXHROTrzUAZj7QBk+lm8/p5o6LlNIySb3P2W2v3V9gdWJWyx2d2qhhX6n5Dpwc4+zvXa325F3BiBV7rZ5fM+FepCU3qdFtm54Dd/6/y2Y9hTWo7j2s9HdSqCs3G/4DqL752TWzr+z3ZOscLLU+peu1t25PUXr9Zg2Rl3C0+nTJj6exet95CAAWbDqFsMD64g/MXRcpZ6qzXd22Gu8qlKrtE4Wn95Wa7sDJdXVtSglP1aJangMtAw8Bjk194mjzuNQ5OL1VpHhusjXkgb1md2+/AWJAVEd9tv+8+G/TCxEAj12k3HWB9MYTs6dOFI7sK3cHbMxjUg9H8kHs1R6o7e7fWZ5oCpQ6B0oxCMrzPh0J7KS2P3PdMUCoDsT8NMCMgW1kB/y1FTDWhRsgBkQeVhMnGJvTfUDw2EXK1Qukq/vK2fe7Y7tqP1HURMCmpjwmX2F6rALVv7ljv+mwYNMpRfkgto6D2grqazPoqu1aVFu1L6b8NMrzPh0J7KS2b5o0YxCABd+fkgyGLAcFVrJub7sBYkDkQTV1grF3IfLURcqVC6Sr+8rZ97vjO1L7icIdAZvURayuJON6C9Nj1Tg0jdy1V+o7tnUcXNLfMMtNtKx1diUhWO4z1FZNam3WOEudAzUa86BEc/tzx4YGKg4OlQZ2ch1vTMm99s5jnfDH1DiHPpuSCbDVVOvIgMhDarLWwN6FyFMXKWcvkK7uK2ff767vSO01Ja4GbLYuYp7OY/JWjl4kLI9VJT1lLL9jueNg5e58rNiZb7VOqdccTQi29RnUWJPqKrlzYHqrSBw8ex0aDXBPQmMAwLyNJ7Hi9nQoSoJDJYGd5fb9bgdjpt+t1HP+Gg06JzZ26rPZ6gGntpwjBkQeUtO1BrYuRJ68SDmzbVf3lbPvd9d3pPaaElcCNiUXMW/M+aoNckGPMxcJpU0xpiy/Y6njwE8DyWDI6N87883+djQh2JTaa1LdRe4caJwPUqrLu+XvypVaFcvt7/x/l+8ESKjOIQoLqu/UjWt8eBDWPZuGskqD3QmwL+lvmPWuU0MAzIDIQ2qj1sD0zs/0b+O/HT3o3NVV39F1OJo0aLn+Y7/qrJZTsq/d+R2puabElYDNVy5i7iYX9DhbS6KkKcSU1HcsdRyM7ZloNYu9PY4kBJvyZE2qkvOSkmYfpYMYyp1/Lb9/U8bflTvGHDLd/rCuzVFcfhPzb+eZLfj+FLKGpGDXzL6Kz1dSx3NachPZCbBX7jqLFbt+kax19OS5gwGRh9RGrYEzd5ruvGt1R3kA5ftKrjvpgu9PWa3zpczWDlcvu/odqbmmxDRgC9L6obSyCoW6crvlVXtzoJqYXjTlgh65APPQuesY1EG+ZsDyWNXc7iYkoPr7eGlga3RoFoYgrZ949y713VoG7gDwwa58h2qfHEkINuXu35vSmy8l5yVbXdUdSVq3x1ZNn79GgyCtn9PN/7aCuQWbTlnlh+2a2VfReEy2gnjJWkcA7+/6xWqicuNn9OS5gwGRB9VkrYEzd5ruvmt1tTym7O0rufUvfixV8gTToWmYonKruWbH3WJDAx2++1R7c2BNcbSm0yzh2SKJFrhzZyxX0zN59WFsPXUJXx3+Tfa7kQpmnDluLQN30+/Xkq2EYGfY+r0prcU5cPYasvOuYs3tcdik9pWt4HTWl8fQMKCemCBur6u6FHfmGwLVQcS8Ie1RWlnlcI2svYBvpUTAq7SmplBXjg1HL8i+Py25idX5YVzPRPxbotbR+Bk9ee5gQORhNVVr4GhThq2AxR3NIu5Yh619Jbd+P43G5RoMNdfsuJOzQasvBY2A4zWdVgnPNu6MjQGmZbOJAODLQ7+Jf8t9N5bHqrvzEY/+VoyFm3JtJgS7o1OI5Tre25mH+bdrMaQGE4wNDawepd8kJ8XIcl+ZrktqvB0DqgNQ43biw4NsdlWXYzp7u9LgWSrpeXzPFhjTMxGxoYE4cv66VRDq6NhAs9YdQ5DWX5zzTKpJVEktn1Suk1SZpAL19y2CMD8N8NWz9yE13nbidk1jQFRHOdqUYStgcUeziFzV6dXSCkVNM86s31+jwT0JjZ3u2aaWrqC1Re4YOHj2upjwKcfXg8Y2McGyuSNyzSB+qL74Wh6Tw7o2R5DWH1PW5NgsS23mWxi/37TkJngoNU42IdgWZ7tev7cjD1mb7jR7GwRg5pfHoLn9e/fTADMy22D+d9Lj5wB39tX6nAtm67IV1xi/23XPpjmUn2Xkr9Hg6G/FePz9nxxKE0hvFYnFj6XC7/b5y7g/jAGIZTAkdT47cv469p29hsqbBqtyGwRgypoc+GmAcT2TJPfB+J4t7DbByQVDGonxiozHj/F7njGwDRZ+bx5YezoYAhgQqY67LsRKmjJMt2Ur6HFHs4hVjgOqT0amd2KudLe0VUalNRjG/WGaE6CGrqDuZOv4kquun7LmMEorb9WZfeAKuaBx8NI9EFBd4zChVxLG9EwS96/cb8u0N47ld9ElMVx2tGDTdXgi38KZ4NfZAR8LdeWYv8k6B1AAzHJeFmySD4aMdp+5jKXb8iRfkwt4qgQBv14vt9tV3ZIxb8s0t8idaQtAdUC97tk0q0DiL/+XY1abKMcgVOeHWR5nfgDG9Ey0+V5buU4aAeL4VID8eXVGZht0aBqmqlplBkQq4u4xGWwFAlLberhTU7Mf0uBOcWZ3ra42ixjXcfDsdUz97LBLOUmOfl57J3G56l81dAV1F3vHV2xoIGZktkHWd+YXIAHOd6X2NvZuSOSCRsHk///+Xz7e35Uv7l+5YN3WHfHO/3fZ7G8NgCH3NMXXhy94Xa6WrVq189fLbXa9zr9SqmhMJSW1N+9uz5NclwbAipGdUV5pMDsvGU1efRjzh5r3ujLtqi6XtF7TaQsGAGWVBrPnjpy/rigYEtchABPTk/DB/846dFzZ6tVowJ1ehrbOqws35dqdKLa2MSBSiZoalEwqEDhy/rrVSUjqoP368AW8kHGnN5Y7mkViQwMR3qjmumo7U0Zb1b/uKpunph0xfb+S4yulaajk+w0CxJ5OrlJrc6SSGxK5mk5LlvvXkRsK43dlud6+baIwMi0BZZUGh3oCOsvVruhGsrVq7+6RzMUx9qpr3LA66Vnqwmu5341ByXwbNUUGmZwhAcCEjw8ia0iKbP6WZa8rpd+nI6kGB89ddzltYd/ZazKfXpq/RoMxPZIwpkeSQze7Yq7bl8dgsHjNdHTqmj6vuhsDIpWorfFc1u4vqB6C3+J5uerig2evI7zRnROeOy5mauuqbW9QO1fLVlvTjtj6bpQeX0kRDWUv8pNXH0ZJxS2rZFZHKPkscmO6ODN6s+Xycutw5IbEtKZzymeHZdtOLPev0mBdcr4p3GlefrhTU5u9zdzB2a7oxuYd030sNQ4YIJ+YrNFUf1YB1esd2D4G3x8vqt4OqptawoLqm2173pD2GNa1OR7qGIeDZ6+juLwSr3x9wqopaEbmndwVU8bve9fMvnj7sY5W+VtSvxV732dsaKDNWnfLfTnzy2NWz9tKW3hpYGurMea63U6UVsJybjJHf8vG38HKXWfx/q5fYBDMc5qkxiCS+mxqwoBIJWojSBDvPBUmB2oAsQpZyYlY6QXLHTlJ7mSr+leubEo/q9ILrSMX6plfHkNllQH920ZbJVzKfTdKj6/Y0EDMH5oi2VtHgHUyq62AxpmgQ6qK3ZkgQGp/ADB7bsbANkhpFoqkiIYO35AYazpt/Zac/f3abI4QrHubzfryGNrEBLstKVXJ9yS3THHZTSz4/pTZPpYaB0yOZX6OQQC+O1YEoPp8NCOzDZ7qnYy1+wvEfS8IwJlLJWJtmTHBu76/n9lxLAAIC6qPXTP7YuPRQryx8WezbRu/7y6J4W45FxfqyvHVYfPmq68O/4aRaQlm35VcjaBlwGLZ2880H2dczySM7ZmE1PjGGHpPU6tmM9NxqfwAjE+vrhVyR438y4PaYkzPRKsaJmfOq56mEQSll0ffptfrERoaCp1Oh5CQkBrZxtr9BVZBgjvv/PbkXcGIFXsVL68kqdPYBuzsIJBq6aptue+NOQFSZXPks8rt8zUT7hWr322tz9Z3pkH1vFHprSLNhscHzL8bManxV514d2y8W36oY5xs8LJmbwHe2XrG5n4z3Y7UZzGeqI13jLb2RaGu3Opz2NsucKdLs/HfDbX+ePjdPWbrsXUsm164Lbc96/YFWIqt8tr7/doLqE2PRyU0GmC+wppDe9tWcszKLSOVoGvZpCLFT1M9eagAwWbvOmMyuuX3a9y26TxqUt+P6XFj6zfj6LlYap/a2kem5ZRb7l/DzSdTNa05tff5j5y/jgNnryMxIghB2voujUvlCkfOqzVJ6fWbNUQqItUube/k5UgzguRMy7f/b3natRcMAebjbEiNdWEv/8kdOUnuIDUHj62cCUdyvezVzNhbn627LAHVtQNvD+8oW7thOdDiwPYx2HS7+WH+plNizoWx10dK01DxWBrevTmWbD1j8zgwrUU5cv661YzoK/6Xj/f/ly8GblJzZQVp/QA4Nh9XlSBgyY9n8Nn+AjE3xLhP5PJE5BgEYOH3uXi2TzL+ZdELaeH3ubi3Rbhkl3rJZozM1nZ7ztjrVZV/pRTprSKxa2ZfsVnOXlwkCObjy8gFqEpq2pTUJsrNeyaV+Cv1fWgAq27zf0yNQ6Gu3GYX9ypBwP6z1rk2wJ1cH9OEbLnfhdSAgXK1MfYu3nLfp60EfHu/ccvJVM0G9pTYn5brTY1vLFljqPR86648P28bo4wBkcqYBgn2aiIcrZWxPIHL3b0Zaw+k7phNGU+Skj0gBGDl7ny8/EA75R++Flj+0OXm4JHjTNOK1IkXqL4zvFpSYXN9UnkIpgyA7OCTUsP8G5sfAPOTqkGA2LvMtInJlFTwbDwG5AbFMy4/a90xfPXsfVajHhsE4OF394gD7SkJxI1W7yuQ/CzOVHlXCQLCgrSSzxuTfzUAhneLx5R+dzl14QRsB8CmwatGA8zMbIOn0pNx5NdiRfOJGYQ748sY96fltpQO7mivSVsuGLScwsL4/HyTqSGMNRnFZXfmz5r/3SlAAJ7qnWxzZGx/jQZdExvb7CZv/O3YC+zsfXdKbtjs3dBIJWlbltPe/rYa2NNGedyRd+ru3s5Kb3zV0NmCAZFK2fuhuWNU4TOXfscr35ywWmbu4LvxxL2JZomLliyHWZc6Qb2/M19RO7WzPwRHJ1S0/KHPyGzj8DghSmp8LD+L1OzSxup6P410jxnT9VnmIZjyA2QHn5Qa5l8JY14KNObl0txuWrIcUA2AZA6E5ToHL92DmZlt8NpDbfHaNyetulrvmtkXMzPbmA2cZ5TZPgb/PV6kqPnFGbYutILJhWj1vvNYve88JpqMNaT0wpl/pRTXSislL44Hz163Gs0663aQMLZnEt7/n/mM83I1u8Cd/SlVc2hJ7gKqJNCTWiYs0HqW9GFdm+Oh1DgcOncdggCx5qPH/K1m+T1Zm04BGuCp9OQ7uTK/FksO4CcXaJj+dpQGdq5cfO3dIA3r2hwFV8uwdLt5zaNljZut/S07sKfEsepq3qkz1xV3BDLuDsKcxYBIpez90FzplWY8CVwpuSH5elhg9Z3ysK7N0SYmWBx0zshymPXY0ECM65lkdRdrAOyOcuzsD0Eu+dZWDyzLH7rl3Sxgvg+lfui2TrK28meMD6lyaHAnKLI8aUt1xTXSAMgamiKeeKWaWx2pcTFlgPUbDQLQoVmY1SzY9nqTGIkXPQnG/f5U72RAA6sB3J5KT8Z/ss9KBvCuMiavGi+09mpQAeuxhqSY5m6ZdgeXCoAhU+OxYNMpPNQxDvOHmg8MOCOzDQBYjRllVHU7M9neCMu2LqBKggXLZeQu7LGhgWZDNsgdMws2ncJDqXHietOSm+ChjtYjY4s9nHbn4/2d+ZIjftsqjxx7+VaWfyu5QVq2w3owSKnJpeX2t62BPdceOI81e89Lnjuc4eh1xd75W0n+Wk0NOeMMBkQqtfvMFcnnjfkW7uiVJjUargYwa7tOjW9sdjKWG1RO6i4WqO6lJjfKsbM/BLnxLWy9X65ZT652xtYPXS74sPwsxvyZmQ/cyc2R61KtATCx1505iwDrKQuM/DTAnIfuRv920VYnGSWzUyvhB1hdpE27AJvu34Zaf5e3Z3rsPpWebDY9BADM23hSckJIV/mhOriPCmmAPXlXxNyds1fKEKT1kx0rB7B9vNma50nAnUDF+HvqnNBYctJX4yB3w7o2N2tiWrDpFMb1TJL9XMYcFMvgfXCnOIcHd3S0BsD0+JB7r9zwDgYBVhdfuUAhNjQQLz/Qzu4YOkprgezlW0nlX6W3isS4nkn44PbcXJb7VK52R+nk0sbyS92EnSr6HZ/dnsBWA+Clga1drlWRu64Eaf2wJ++K2Hnh4LnruFZagdnrT8qev5Xmr9XWkDNKMCBSoUJdOd7dLj3EvHFkUiXVwfbEhlZ3sTYOruWHOzUOppTcZVmuy8jRIEXJD8FW8q3c++XmUnusWzw+23deTP4c1q0ZLulv2A3ULE+ycmUSYJ6bM2NgG9lEyw925YtD5r+3Uz4YGtczSQyGbAVuSkf5BYAR3eOxdt+vVk1h9o4v4/alKK2dMl23ZXBnK7BwlB+AZ/okY/mOX6wuLKZTb5j2AJopMXK3Kanjzd6AdEB1QNsyKlgcYFFuW6aD3C34/pRZM6PUtAuAeXdtqd/uCxmtFdeYuNKUYeu9saGBks2jzjT5KAnA7JG6obHMt7L823TGew2qR3y2TBFwx42rVKcPwLyXnIDqDgAPdZQe58h0Xbb2j9R1ZXCnOLFXm73ftPH3cEl/w6qDhVz+mprGpWNApEL5V6THN/EDFLc7K6V0HZYBgFyuTMOAepi8+rDZex0JUpT8EOyNbyH1fssfOlB9971633mzfIzVe89j9d7zVu+vEgT8+PNFtIhs5NA8YKYMQvVJyzJ3yXQbxl57UvM3Gdex4n/5+GBXvlVXcYNQnctjHJPG1iCLpvw1Gky5/y5Muf8us1qZ/CulNnve2brwSwVVlvwALBnRSZzA0l6OlytM81meSEsw+5z3ZZnnssz88k4PyafSkwFBvqnPT2M9K7iS3nLhDbUouFZqFTDMMn5mmAeKUk1MBsF82gW58WUsf7umzbfGu36p370rTRlK3ivVPGralORocONK8OZID0cj00NaAPDB/85iTA/zWjtXb1zlOn1IHQ/2biaV7h/Ta0KQ1s+si7+Sc8nR34ptTrRrWt7qlIo41YxLx4BIheQurjMy29gNSpzhaGKh1A/LOHpxfONAxUGO5cnC8oRoq7xSPVH8AIyzMSmh8Ye+5Mczsj2UbPnb19X5K3Ink8z2Mdho0otLSpUgoGloIOY8dLdVPoxprz173azFHCiJ5wcv3SPWckjdhWs01RMwSuVdyNU6GccJMj3e5C4irwxqiwc6xIrrNB1MbuEm8wTZQR2qx1lRmuPlDM3t48q0dsJYtm+P/CbZRd809+2p3smIC2sgOT6O1KzgSoLjBvX9MGWNdcCwa2ZfyZwZuZuHMT2SMCglFvvPXkfXROmu1lLk8t2AO+M6udKUofS9xoDTtCkwLLA+ADgU3Liah6LkO7PHlQR1KbY+k5KmLVu1lvb2j/E3ojQ/0Lh944S2SnejaUqFGrrnMyBSIalAwZhYauTK3ZArgZTcyMmmY4o83Ml8EkqpIeaNpHIjwgLrm43LcvDcdQiCYDa+SnqrSCx+LBV+Gg2aNQ7ExqNFeH/XL4qSXdfsL5B83pKt0YJNRwd2pFlHgzujf5vWTFkGJkpOzgZAMu9EwJ0xaR7qGGd2F27cTpuYYMmLqNIRiI1BsNRYNFEhAWblMUuQTbW+2BfqyrHh6AVFOV72DL2nKUamJZh1BBCE6okkjcm6pjQajfVKcHtkXxNSoxfLzQoeGyrdycDU+I8PWn1vVYKAjUcLMahDrFUumFxNg+U4U0pGj5fLd1vxvztNcHLNu0qbMpTW/ko1BRpH0zd9zl5w42oeitQ5t2tiY+zNvy65vOWI2nKfz3T9jp5r7Y2jNGOgeW2iadOWVPO5M/unodbf7m9QA+Bft2t6bfWIe7hTU3x16DebKRWeCoSMGBCplK2I2ZW7IVe7N8olBZu2FX99+ILY1GI5xLzUCVvqhBik9ccF3Q2zqldjfgdgPQWDcS4d0/3RJibYqju+ktoXoHq9sx9qh1e/OSn5ugHA4Hf3YKbMCMeS67y9r0yrn/00wJLHOomJ7Ma7O3sXVODOGC9SNSkGwXxMmt0z7zfr9u/oidO0l5RpbYbZRKe3LxKm25WaHNX0GLUVTBqDaXF0bQ2Q2T4WG48VWi07pFMcOjYPwx/axUjmTsmd/DsnNLbuWKCpHsrAstxKq/ULdeVIjQ+z/kAm5I7BNzb+jHnf/Sy57yzPCYB5HonleUDut26recj0OzY271rW6jkTYMi9V66zgyV7F29HAjC5m0HTnmsrdubLBkPP3d8Sd8UE47fr5WY3Ce5u5rH1mdbuL6jeNqqP16f7tMCy7Xmyx4Iz6QnG48deMDR/aIpY0wtY38wZOy6kxjdG3zZRilMqPIEBkYrJRczORvvu6N6opGq5ShDEvJPH3//J5vbkTohSzRMCzGujjMtKzXBdJQhiLYGS0WNNaUxqQEx7UViVR5ButpLyyqC2iA5tYHUyMAhAk0YBVnf6MzLbSPYANH5205yYe5PCrYZGMF2/6UzdUseA6ajiSkcgNh5vxovIoXPXxQk5Tbdrb/wSezlIxgk7D527DoMgoHl4EDYdLzR7jwbA1zkXsO7wBcxef9JuzYblRXH+0BSrwEGqzEqq9eVGFHakpsvWvjM9J8jlkVTvq2uSv/U2McG4WlKhqAayShDQoan1MAtKKdlfcsebI7UvgLIATOnNoFRvWSMNgCXbzlh9v3IBriu18XKfCTCfGUAQgGXb8qzOQ44M/ihVblu13hoAc/90p6ervTIba6E7J1iP9aWmSV59KiBaunQpFi1ahKKiIqSmpmLJkiXo1q2bp4vlMGeTkd3RvdHygJc60dsawdpye4623ZvWRpk+J7cscKdHiOnosZbNkQ+lVs+SbawdMJbP1qi5gHyzlSljM5JUfhUA7D5zGe9a3N0t3JSLmZnWgyBKXWAsh0awZG/8KoNwZ1RxqROa3AjExt5P1esUFNfKAPLNZADwXL+WeKxbc/F9lsGiaZOsZa2bvZoNuYui0vwFqZsU0wFCLScTFd3O27L8uBoAU+5vaTVnnJLfpeRUPBqYBaaW6zTtTWcvSJMbZsFIycXeXjOIrYu+o0m27qhVV5JcbVrDayTA9kTFcgGYvX0o9ZkkE+xhfR5yZPBHS7b2g7253YzbOXj2OqCpDoKMXE0yr2k+ExCtXbsW06dPx/Lly9G9e3csXrwYGRkZyM3NRVRUlKeL5xBnDyp3dW80PeCnSsyz9NLAO4nR9rYnlyAtR3P7P0qavUwJAnDo3HUM6iDdFRmA5ACSpsuWVd60yv0wBgymF1/TsV4sm5Ey7q6eS8yUaTBkVCUIkoMgAtLzEcnV1BjLaNzncgGo6aji9kYg9gPwdO8WWLmrOu/EWAtneYGVO7bs5Vy98+MZxIVVl0PqQmbaJHu1tEKyCl6qZsPeRdGZk7KSOaYAiFN/WD0PoFV0sFO/S6ng3rJmRWp7xv/7ARjePR6f7b0z7ITxt2XvnOLOkYXlfo/OJNkav0fLHnRKbwZt3aDZCyAtB3W1F4BZHjszZSYStjw25c7jluchqe9P6XEuV3P3zu3mfXvrsJXbppYEaik+ExC9+eabmDBhAsaMGQMAWL58OTZu3IgPP/wQM2fO9HDpHOfMQeXO6Dw2NBDhjWQGHWsW5tD2bF3MTRnbq89cKlE0t5Ml00DGkQug6bLzJT6PcWoCy7FepJqR/nvcuhea1MXU3t25XDkHdQhEScUt2X0ul/BrHADQdDnT7Q7r2hzF5XeS3y2nIjAI1XeofoJ07zUjJWP0mN5ty13IyioNYhOgXDBh+RncPQCcI3NMyb1uHEDRcr66wZ1sjydjZHoeuFJyQ3ameKmLvAHAgx2aWg23YO+cUhMjC0sd5+4IUm11AJAKOuVu0MQeVDbyBU3XZ+9Ykzp2TKcusUXuvCp1HnKW3Db+mBpn971Kjg9nv9ua5hMBUWVlJQ4ePIhZs2aJz/n5+aF///7Izs6WfE9FRQUqKirEv/V6fY2X01HOHFTujM6V1Dg5Ms6R1MX8pYGt0axxoDgHkvFkYqudX4oG5iNwO8vW1ASWbemNG1on98pVbZsmD7tajWxvn0uNKm6vRqJQV17dndZWICNU9zYJbxgg+10rHe/FePGwd4w5EuS7ewA4R8eukfueAVjNV/f14Qt4IcP+EBSAea2IVELrkhGd0KxxoNl4MsbySAWO9rapppGFLcldjC07ANg6TizH4TEdhyss6E5Nqeb2XYwA6xsAe8ea3LFjOnWJLUrPQ65w9lqh5uPDHp8IiK5cuYKqqipER0ebPR8dHY1Tp6QHXMvKysKcOXNqo3i1zl0/GqUXI0e258io2LamJBjcKU7s4ik3ArezXKl2lqvaNiYPu6sa2VYZpfafvQBMycXfX6Mxy7+S4mgSrZJjzJGg2535C3I5PKajF1s2QUl9z84MsufI5zP2AHLXZ1fTyMKWbF2MXc0VA6R7+kmtz96x5sjUJY6W0Z2c2Yaajw97NILgaDaG97lw4QKaNm2KPXv2IC0tTXz+pZdewo4dO7B3716r90jVEMXHx0On0yEkJKRWyu0tCnXlHmkPttyuvb89Ye3+AsmqbTWUzZEyFOrKzbp4WzIGnUon5lWSRGs5PIO79pc71yX1WZRcMC3LY7lv/TUa7JrZ1+mmPLltuuuzyx3XnubufemO8sjtb6m5Cj1ZVndS2/Gh1+sRGhpq9/rtEwFRZWUlgoKC8MUXX2Dw4MHi86NGjUJxcTG++eYbu+tQukOJLKkh+HEH05OckZ+merRm00lplZDaJ966n9xRbrVdQJRQ6/flTfvyvZ15VoOmqrWsjlLT8cGAyEL37t3RrVs3LFmyBABgMBjQvHlzTJ48WVFSNQMiojsnOcvcCnKdmi4g3s6b9qU3ldVbKb1++0QOEQBMnz4do0aNQpcuXdCtWzcsXrwYpaWlYq8zIrJPrb1D6gLuW/fxpn3pTWWt63wmIBo2bBguX76MV199FUVFRejYsSO+//57q0RrIiIi8j0+02TmKjaZEREReR+l12+/WiwTERERkSoxICIiIiKfx4CIiIiIfB4DIiIiIvJ5DIiIiIjI5zEgIiIiIp/HgIiIiIh8HgMiIiIi8nkMiIiIiMjn+czUHa4yDuit1+s9XBIiIiJSynjdtjcxBwMihX7//XcAQHx8vIdLQkRERI76/fffERoaKvs65zJTyGAw4MKFCwgODoZGo/F0cWqdXq9HfHw8zp8/z7ncXMD96DruQ/fgfnQP7kf3qMn9KAgCfv/9d8TFxcHPTz5TiDVECvn5+aFZs2aeLobHhYSE8EfvBtyPruM+dA/uR/fgfnSPmtqPtmqGjJhUTURERD6PARERERH5PAZEpEhAQABee+01BAQEeLooXo370XXch+7B/ege3I/uoYb9yKRqIiIi8nmsISIiIiKfx4CIiIiIfB4DIiIiIvJ5DIiIiIjI5zEgItHOnTvx4IMPIi4uDhqNBl9//bXZ64Ig4NVXX0VsbCwCAwPRv39/nD592jOFVTF7+3H06NHQaDRmj4EDB3qmsCqWlZWFrl27Ijg4GFFRURg8eDByc3PNlrlx4wYmTZqEJk2aoFGjRhg6dCguXrzooRKrk5L92KdPH6tj8umnn/ZQidVp2bJl6NChgzhwYFpaGjZt2iS+zmPRPnv70NPHIQMiEpWWliI1NRVLly6VfH3hwoV45513sHz5cuzduxcNGzZERkYGbty4UcslVTd7+xEABg4ciMLCQvGxZs2aWiyhd9ixYwcmTZqEn376CVu2bMHNmzcxYMAAlJaWistMmzYN3377LT7//HPs2LEDFy5cwJAhQzxYavVRsh8BYMKECWbH5MKFCz1UYnVq1qwZ5s+fj4MHD+LAgQO4//778ac//QknTpwAwGNRCXv7EPDwcSgQSQAgfPXVV+LfBoNBiImJERYtWiQ+V1xcLAQEBAhr1qzxQAm9g+V+FARBGDVqlPCnP/3JI+XxZpcuXRIACDt27BAEofr4q1+/vvD555+Ly/z8888CACE7O9tTxVQ9y/0oCILQu3dv4bnnnvNcobxU48aNhffff5/HoguM+1AQPH8csoaIFMnPz0dRURH69+8vPhcaGoru3bsjOzvbgyXzTtu3b0dUVBRat26NZ555BlevXvV0kVRPp9MBAMLDwwEABw8exM2bN82OyTZt2qB58+Y8Jm2w3I9Gn376KSIiItC+fXvMmjULZWVlniieV6iqqsJnn32G0tJSpKWl8Vh0guU+NPLkccjJXUmRoqIiAEB0dLTZ89HR0eJrpMzAgQMxZMgQJCUlIS8vDy+//DIyMzORnZ0Nf39/TxdPlQwGA55//nn06NED7du3B1B9TGq1WoSFhZkty2NSntR+BIARI0YgISEBcXFxOHr0KGbMmIHc3FysW7fOg6VVn2PHjiEtLQ03btxAo0aN8NVXX6Fdu3bIycnhsaiQ3D4EPH8cMiAiqmWPPfaY+O+UlBR06NABycnJ2L59O/r16+fBkqnXpEmTcPz4cezatcvTRfFqcvtx4sSJ4r9TUlIQGxuLfv36IS8vD8nJybVdTNVq3bo1cnJyoNPp8MUXX2DUqFHYsWOHp4vlVeT2Ybt27Tx+HLLJjBSJiYkBAKteExcvXhRfI+e0aNECEREROHPmjKeLokqTJ0/Ghg0bsG3bNjRr1kx8PiYmBpWVlSguLjZbnsekNLn9KKV79+4AwGPSglarRcuWLdG5c2dkZWUhNTUVb7/9No9FB8jtQym1fRwyICJFkpKSEBMTgx9//FF8Tq/XY+/evWbtv+S4X3/9FVevXkVsbKyni6IqgiBg8uTJ+Oqrr7B161YkJSWZvd65c2fUr1/f7JjMzc1FQUEBj0kT9vajlJycHADgMWmHwWBARUUFj0UXGPehlNo+DtlkRqKSkhKzSDw/Px85OTkIDw9H8+bN8fzzz+ONN97AXXfdhaSkJLzyyiuIi4vD4MGDPVdoFbK1H8PDwzFnzhwMHToUMTExyMvLw0svvYSWLVsiIyPDg6VWn0mTJmH16tX45ptvEBwcLOZihIaGIjAwEKGhoRg3bhymT5+O8PBwhISEYMqUKUhLS8O9997r4dKrh739mJeXh9WrV+OBBx5AkyZNcPToUUybNg3p6eno0KGDh0uvHrNmzUJmZiaaN2+O33//HatXr8b27dvx3//+l8eiQrb2oSqOQ4/1byPV2bZtmwDA6jFq1ChBEKq73r/yyitCdHS0EBAQIPTr10/Izc31bKFVyNZ+LCsrEwYMGCBERkYK9evXFxISEoQJEyYIRUVFni626kjtQwDCypUrxWXKy8uFZ599VmjcuLEQFBQkPPzww0JhYaHnCq1C9vZjQUGBkJ6eLoSHhwsBAQFCy5YthRdffFHQ6XSeLbjKjB07VkhISBC0Wq0QGRkp9OvXT9i8ebP4Oo9F+2ztQzUchxpBEITaCb2IiIiI1Ik5REREROTzGBARERGRz2NARERERD6PARERERH5PAZERERE5PMYEBEREZHPY0BEREREPo8BEREREfk8BkRERETk8xgQEZHXq6ys9HQRrKixTEQkjwEREalOnz59MHnyZEyePBmhoaGIiIjAK6+8AuNMQ4mJiXj99dcxcuRIhISEYOLEiQCAXbt2oVevXggMDER8fDymTp2K0tJScb3vvvsu7rrrLjRo0ADR0dF45JFHxNe++OILpKSkIDAwEE2aNEH//v3F9/bp0wfPP/+8WRkHDx6M0aNHi387WyYiUgcGRESkSh999BHq1auHffv24e2338abb76J999/X3z9H//4B1JTU3H48GG88soryMvLw8CBAzF06FAcPXoUa9euxa5duzB58mQAwIEDBzB16lTMnTsXubm5+P7775Geng4AKCwsxPDhwzF27Fj8/PPP2L59O4YMGQJHp3p0tExEpB6c3JWIVKdPnz64dOkSTpw4AY1GAwCYOXMm1q9fj5MnTyIxMRGdOnXCV199Jb5n/Pjx8Pf3x3vvvSc+t2vXLvTu3RulpaX47rvvMGbMGPz6668IDg42296hQ4fQuXNnnD17FgkJCZLl6dixIxYvXiw+N3jwYISFhWHVqlUA4FSZGjRo4NJ+IiL3YQ0REanSvffeKwZDAJCWlobTp0+jqqoKANClSxez5Y8cOYJVq1ahUaNG4iMjIwMGgwH5+fn4wx/+gISEBLRo0QJPPvkkPv30U5SVlQEAUlNT0a9fP6SkpODPf/4zVqxYgevXrztcZkfLRETqwYCIiLxSw4YNzf4uKSnBU089hZycHPFx5MgRnD59GsnJyQgODsahQ4ewZs0axMbG4tVXX0VqaiqKi4vh7++PLVu2YNOmTWjXrh2WLFmC1q1bi0GLn5+fVfPZzZs3XS4TEakHAyIiUqW9e/ea/f3TTz/hrrvugr+/v+Ty99xzD06ePImWLVtaPbRaLQCgXr166N+/PxYuXIijR4/i7Nmz2Lp1KwBAo9GgR48emDNnDg4fPgytVis2f0VGRqKwsFDcVlVVFY4fP273MygpExGpAwMiIlKlgoICTJ8+Hbm5uVizZg2WLFmC5557Tnb5GTNmYM+ePZg8eTJycnJw+vRpfPPNN2IC84YNG/DOO+8gJycH586dw8cffwyDwYDWrVtj7969mDdvHg4cOICCggKsW7cOly9fRtu2bQEA999/PzZu3IiNGzfi1KlTeOaZZ1BcXGz3M9grExGpRz1PF4CISMrIkSNRXl6Obt26wd/fH88995zYlV1Khw4dsGPHDvz1r39Fr169IAgCkpOTMWzYMABAWFgY1q1bh9mzZ+PGjRu46667sGbNGtx99934+eefsXPnTixevBh6vR4JCQn45z//iczMTADA2LFjceTIEYwcORL16tXDtGnT0LdvX7ufwV6ZiEg92MuMiFRHqlcXEVFNYpMZERER+TwGREREROTz2GRGREREPo81REREROTzGBARERGRz2NARERERD6PARERERH5PAZERERE5PMYEBEREZHPY0BEREREPo8BEREREfk8BkRERETk8/4/NXj9NDYxwzoAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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H7Bp0ya/F1RNWVkZbDYb7HY7exoRERGFCG/u3z4FKlFRUdi1axcyMjJcXv/222/Rs2dPVFRUeLtKnzBQISIiCj3e3L99avqJi4vDkSNH3F4vLi5GbGysL6skIiIicuNToDJ69GhMnjwZK1euRHFxMYqLi/Hmm29iypQpGDNmjL/LSERERPWUT71+/va3v0EQBIwbNw6XL18GADRs2BD33Xcf5s6d69cCEhERUf3lU46KpKKiAoWFhQCA9PR0REdH+61gRjBHhYiIKPR4c//2eRwVAIiOjkZmZmZtVkFERESkyadA5cKFC1iwYAHWr1+PkydPwuFwuLzPsVSIiIjIH3wKVCZPnoxPP/0Ut99+O3r37u1xskIiIiIiX/gUqHzwwQf46KOP0LdvX3+Xh4iIiMjJp+7JrVu35ngpREREFHA+BSp///vfMWPGDPz444/+Lg8RERGRk09NPz179sSFCxfQrl07REdHo2HDhi7v//zzz34pHBEREdVvPgUqY8aMwbFjxzBnzhy0aNGCybREREQUED4FKvn5+diyZQuysrL8XR4iIiIiJ59yVDIyMlBZWenvshARERG58ClQmTt3Lv7v//4PGzZswOnTp1FWVubyR0REROQPPs31ExZWE98oc1NEUYQgCKiurvZP6TzgXD9EREShJ+Bz/axfv96nghERERF5w6dApX///oaWu//++/HUU0+hefPmvnwNERER1XM+5agY9cYbb+jmrCxatAhdu3ZFXFwc4uLi0KdPH6xduzaQRSIiIqIQEtBAxVP6S5s2bTB37lzs2LED27dvxw033IDbbrsN33zzTSCLRURERCHCp6Yff7nllltc/v3MM89g0aJF+Oqrr3D11VebVCoiIiKyClMDFbnq6mq89dZbKC8vR58+fcwuDhEREVmA6YHK3r170adPH1y4cAGNGzfG6tWr0blzZ9Vlq6qqUFVV5fw3x2whIiKq2wKao2JEp06dUFBQgK1bt+K+++7D+PHj8e2336oum5eXB5vN5vxLTk4OcmmJiIgomLwOVC5fvoynnnoKR48e9bjs73//e48DuURERKB9+/bo0aMH8vLykJWVheeff1512ZkzZ8Jutzv/iouLvS0+ERERhRCvA5UGDRrgr3/9Ky5fvuxx2UWLFnk9horD4XBp3pGLjIx0dmWW/oiIiKju8ilH5YYbbsDGjRuR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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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fRejR482Gl9gzpw50v87d+4MjUaDRx55BCkpKbUadXPBggV62y4uLkZkZKTd2yMiIveiVqsRExODvLw8XLhwwdXFoVrw9fVFy5YtoVbb3/DlEQHRd999h6ysLGzYsMHiuj179kRlZSXOnTuHtm3bIiwsDBcvXtRbR/u3qbwjoGaCPFcMY05ERHVHo9GgZcuWqKysdIu5vch2Xl5eaNCgQa1r9zwiIHrnnXfQrVs3xMfHW1w3IyMDarVayoRPSEjAs88+i5s3b0oz7u7YsQNt27at82HBiYjI/WhnZDeclZ2UxaVJ1SUlJdIYBgCkieZyc3OldYqLi/HJJ59g8uTJRq9PS0vDihUrcOLECfzyyy/48MMPMXv2bDz88MNSsDNq1ChoNBpMmjQJp0+fxoYNG7By5Uq95jAiIiJSNpfWEB05cgT9+/eX/tYGKePGjcO6desAAOvXr4cQAiNHjjR6vbe3N9avX49FixahvLwcMTExmD17tl6wExAQgO3bt2PatGno1q0bgoKC8Nxzz7HLPREREUk4uauVOLkrERGR5+HkrkRERERWYkBEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBTPpQHRvn37cM899yAiIgIqlQqbNm3SWz5+/HioVCq9x+DBg/XWuXLlCkaPHg1/f38EBgZi0qRJKCkp0VsnMzMTffr0QaNGjRAZGYlly5Y5e9eIiIjIg7g0ILp+/Tri4+PxxhtvmFxn8ODByMvLkx4ff/yx3vLRo0fj9OnT2LFjB7Zs2YJ9+/Zh6tSp0vLi4mIMGjQIUVFROHr0KJYvX45FixbhP//5j9P2i4iIiDxLA1e+eXJyMpKTk82u4+3tjbCwMNllP/74I77++mukp6eje/fuAIDXX38dd999N/7v//4PERER+PDDD1FR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8eLFmDRpEubNm4dTp05h5cqVePXVV12yz67GSV+JiIiMqYQQwvJqzrFnzx7079/f6Plx48Zh0aJFiImJkX3d7t270a9fPxw7dgyPP/44fvrpJ5SXlyMmJgZjxozBnDlz9Jq7MjMzMW3aNKSnpyMoKAgzZszAvHnzbCprcXExAgICUFRUZLHZjoiIiNyDtfdvlwZEnoQBERERkeex9v7t1jlERERERHWBAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSvgbUrFhcXW71Rf39/uwpDRERE5ApWB0SBgYFQqVRm1xFCQKVSoaqqqtYFIyIiIqorVgdEu3fvdmY5iIiIiFzG6oCob9++ziwHERERkctYHRAZKiwsxDvvvIMff/wRANCxY0dMnDgRAQEBDiscERERUV2wq5fZkSNHEBsbi1dffRVXrlzBlStX8MorryA2NhbHjh1zdBmJiIiInEolhBC2vqhPnz5o3bo11qxZgwYNaiqZKisrMXnyZPzyyy/Yt2+fwwvqasXFxQgICEBRURF70REREXkIa+/fdgVEPj4+OH78ONq1a6f3/A8//IDu3bujtLTU9hK7OQZEREREnsfa+7ddTWb+/v7Izc01ev78+fPw8/OzZ5NERERELmNXQDRixAhMmjQJGzZswPnz53H+/HmsX78ekydPxsiRIx1dRiIiIiKnsisg+r//+z8MGzYMY8eORXR0NKKjozF+/Hg88MADWLp0qdXb2bdvH+655x5ERERApVJh06ZNesuFEHjuuecQHh4OHx8fDBw4EGfOnNFb58qVKxg9ejT8/f0RGBiISZMmoaSkRG+dzMxM9OnTB40aNUJkZCSWLVtmz24TERFRPWVXQKTRaLBy5UpcvXoVGRkZyMjIwJUrV/Dqq6/C29vb6u1cv34d8fHxeOONN2SXL1u2DK+99hpWr16NQ4cOoXHjxkhKSsKNGzekdUaPHo3Tp09jx44d2LJlC/bt24epU6dKy4uLizFo0CBERUXh6NGjWL58ORYtWoT//Oc/9uw6ERER1UfCTQAQn3/+ufR3dXW1CAsLE8uXL5eeKywsFN7e3uLjjz8WQgjxww8/CAAiPT1dWmfbtm1CpVKJ33//XQghxJtvvimaNm0qysvLpXXmzZsn2rZta1P5ioqKBABRVFRkz+4RERGRC1h7/7arhujGjRtYvnw57r77bnTv3h233Xab3sMRcnJykJ+fj4EDB0rPBQQEoGfPnkhLSwMApKWlITAwEN27d5fWGThwINRqNQ4dOiStk5iYCI1GI62TlJSErKwsXL161eT7l5eXo7i4WO9BRERE9ZNdI1VPmjQJ27dvxwMPPIAePXpYnPTVHvn5+QCA0NBQvedDQ0OlZfn5+QgJCdFb3qBBAzRr1kxvnZiYGKNtaJc1bdpU9v1TUlKwePHi2u8IERERuT27AqItW7bgq6++Qq9evRxdHrexYMECzJkzR/q7uLgYkZGRLiwREREROYtdTWYtWrRw+nhDYWFhAICLFy/qPX/x4kVpWVhYGC5duqS3vLKyEleuXNFbR24buu8hx9vbG/7+/noPIiIiqp/sCoj+9a9/Yd68efj1118dXR5JTEwMwsLCsHPnTum54uJiHDp0CAkJCQCAhIQEFBYW4ujRo9I6u3btQnV1NXr27Cmts2/fPty8eVNaZ8eOHWjbtq3J5jIiIiJSFrsCou7du+PGjRto1aoV/Pz80KxZM72HtUpKSqRu+0BNInVGRgZyc3OhUqkwa9YsvPjii9i8eTNOnjyJsWPHIiIiAkOHDgUAtG/fHoMHD8aUKVNw+PBhHDhwANOnT8dDDz2EiIgIAMCoUaOg0WgwadIknD59Ghs2bMDKlSv1msOIiIhI2ezKIRo5ciR+//13vPzyywgNDbU7qfrIkSPo37+/9Lc2SBk3bhzWrVuHp59+GtevX8fUqVNRWFiI3r174+uvv0ajRo2k13z44YeYPn06BgwYALVajeHDh+O1116TlgcEBGD79u2YNm0aunXrhqCgIDz33HN6YxURERGRstk1uauvry/S0tIQHx/vjDK5JU7uSkRE5HmcOrlru3btUFZWZnfhiIiIiNyJXQFRamoqnnzySezZswd//PEHBzAkIiIij2ZXk5laXRNHGeYOCSGgUqlQVVXlmNK5ETaZEREReR5r7992JVXv3r3b7oIRERERuRu7AqK+fftatd7jjz+OJUuWICgoyJ63ISIiIqoTduUQWeuDDz5gThERERG5PacGRHakJxERERHVOacGRERERESegAERERERKR4DIiIiIlI8BkRERESkeE4NiB5++GEOYuggeUVlOJhdgLwiTplCRETkaHaNQwQAhYWFOHz4MC5duoTq6mq9ZWPHjgUArFq1qnalIwDAhvRcLNh4EtUCUKuAlGFxGHF7S1cXi4iIqN6wa+qOL7/8EqNHj0ZJSQn8/f31pvBQqVS4cuWKQwvpDlw1dUdeURl6pe5Ctc6n5KVSYf/8/ggP8KmzchAREXkip852/+STT2LixIkoKSlBYWEhrl69Kj3qYzDkSjkF1/WCIQCoEgLnCkpdUyAiIqJ6yK6A6Pfff8fMmTPh6+vr6PKQgZigxlDrz6ELL5UK0UE89kRERI5iV0CUlJSEI0eOOLosJCM8wAcpw+Lg9WezpJdKhZeHdWJzGRERkQNZnVS9efNm6f9DhgzB3Llz8cMPPyAuLg4NGzbUW/fee+91XAkJI25vicQ2wThXUIroIF8GQ0RERA5mdVK1Wm1dZZJKpUJVVVWtCuWOnJ1UnVdUhpyC64gJasyAh4iIyEGsvX9bXUNk2LWeHIfd6omIiFzLrhyi999/H+Xl5UbPV1RU4P333691oZQkr6hMCoYAoFoACzae5ACMREREdciugGjChAkoKioyev7atWuYMGFCrQulJHLd6qsFsPZAjmsKREREpEB2BURCCL3BGLV+++03BAQE1LpQSiLXrR4A3t6Xw1oiIiKiOmLT1B1du3aFSqWCSqXCgAED0KDBXy+vqqpCTk4OBg8e7PBC1mfhAT6Y1DsGa77TrxGqBnCuoJQJ1kRERHXApoBo6NChAICMjAwkJSWhSZMm0jKNRoPo6GgMHz7coQVUgom9Y/D2dznQbTnj4ItERER1x6aA6PnnnwcAREdHY8SIEWjUqJFTCqU04QE+SB0eh2c2nkKVEBx8kYiIqI7ZNbmrVkVFhexs9y1b1r8u43UxuWteURkHXyQiInIgh49DpOvMmTOYOHEiDh48qPe8Ntm6Pg7MWBfCA3wYCBEREbmAXQHR+PHj0aBBA2zZsgXh4eGyPc6IiIiIPIVdAVFGRgaOHj2Kdu3aObo8RERERHXOrnGIOnTogIKCAkeXhYiIiMgl7AqIli5diqeffhp79uzBH3/8geLiYr0HERERkSexq5eZ7sz3uvlD9Tmpui56mREREZFjObWX2e7du+0uGLmvvKIy5BRcR0xQY/Z2IyIiRbGryaxv375Qq9VYs2YN5s+fj9atW6Nv377Izc2Fl5eXo8tIdWBDei56pe7CqDWH0Ct1Fzak57q6SERERHXGroDos88+Q1JSEnx8fHD8+HGUl5cDAIqKivDyyy87tIDR0dHS/Gm6j2nTpgEA+vXrZ7Ts0Ucf1dtGbm4uhgwZAl9fX4SEhGDu3LmorKx0aDmdJa+oDAezC5w60WteURkWbDyJ6j8bT6sF8MzGU5xcloiIFMOuJrMXX3wRq1evxtixY7F+/Xrp+V69euHFF190WOEAID09XS8n6dSpU/jb3/6Gf/zjH9JzU6ZMwZIlS6S/fX3/mgOsqqoKQ4YMQVhYGA4ePIi8vDyMHTsWDRs2dHjw5mgb0nOlQEWtAlKGxWHE7Y4fBTyn4LoUDGlVCcHJZYmISDHsqiHKyspCYmKi0fMBAQEoLCysbZn0BAcHIywsTHps2bIFsbGx6Nu3r7SOr6+v3jq6SVPbt2/HDz/8gA8++ABdunRBcnIyXnjhBbzxxhuoqKhwaFkdqS5rbWKCGkNtMLYmJ5clIiIlsSsgCgsLw9mzZ42e379/P1q1alXrQplSUVGBDz74ABMnTtTr3fbhhx8iKCgInTp1woIFC1BaWiotS0tLQ1xcHEJDQ6XnkpKSUFxcjNOnT5t8r/LycpcOJ2Cu1sbRwgN8kDIsDl5/HlNOLktEREpjV5PZlClT8MQTT+Ddd9+FSqXChQsXkJaWhqeeegoLFy50dBklmzZtQmFhIcaPHy89N2rUKERFRSEiIgKZmZmYN28esrKysHHjRgBAfn6+XjAEQPo7Pz/f5HulpKRg8eLFjt8JK2lrbXSDIku1NrXpJTbi9pZIbBPMyWWJiEiR7AqI5s+fj+rqagwYMAClpaVITEyEt7c3nnrqKcyYMcPRZZS88847SE5ORkREhPTc1KlTpf/HxcUhPDwcAwYMQHZ2NmJjY+1+rwULFmDOnDnS38XFxYiMjLR7e7bS1to8s/EUqoSwWGtjb76RYRDFQIiIiJTIroBIpVLh2Wefxdy5c3H27FmUlJSgQ4cOaNKkiaPLJ/n111/x7bffSjU/pvTs2RMAcPbsWcTGxiIsLAyHDx/WW+fixYsAapr+TPH29oa3t3ctS1071tbamMo3SmwTbDbAqaukbSIiIndnVw6RlkajQYcOHdCjRw+nBkMAsHbtWoSEhGDIkCFm18vIyAAAhIeHAwASEhJw8uRJXLp0SVpnx44d8Pf3R4cOHZxWXkcJD/BBQmxzs4GNPflG7GpPRET0l1oFRHWluroaa9euxbhx49CgwV+VWtnZ2XjhhRdw9OhRnDt3Dps3b8bYsWORmJiIzp07AwAGDRqEDh06YMyYMThx4gS++eYb/POf/8S0adNcXgPkKPb0EqvLpG0iIiJ35xEB0bfffovc3FxMnDhR73mNRoNvv/0WgwYNQrt27fDkk09i+PDh+PLLL6V1vLy8sGXLFnh5eSEhIQEPP/wwxo4dqzdukaezp5cYu9oTERH9xa7JXZXIEyZ3zSsqs6mX2Ib0XKOkbeYQERFRfeLUyV3JPdnaS4xd7YmIiGowIFI4drUnIiLykBwiIiIiImdiQERERESKx4CIiIiIFI8BERERESkeAyIiIiJSPAZEREREpHgMiIiIiEjxGBARERGR4jEgIiIiIsVjQERERESKx4CIiIiIFI8BERERESkeAyIPlldUhoPZBcgrKnN1UYiIiDwaZ7v3UBvSc7Fg40lUC0CtAlKGxWHE7S1dXSwiIiKPxBoiD5RXVCYFQwBQLYBnNp5iTREREZGdGBB5oJyC61IwpFUlBM4VlLqmQERERB6OAZEHiglqDLVK/zkvlQrRQb6uKRAREZGHY0DkgcIDfJAyLA5eqpqoyEulwsvDOiE8wMfFJVMeJrYTEdUPTKr2UCNub4nENsE4V1CK6CBfBkMuYC6xPa+oDDkF1xET1JifDRGRB2BA5MHCA3x4s3URU4ntiW2Cse/ny+wBSETkYdhkRmQHU4ntx369yh6AREQeiAERkR1MJbZXC8EegEREHogBEZEdTCW2d49uxh6AREQeiDlEboJJuJ7HVGJ7yrA4PLPxFKqEYA9AIiIPwYDIDXAaDs8ll9jOHoBERJ6HTWYuxmk46qfwAB8kxDZnMERE5CEYELkYp+EgIiJyPQZELsZpOIiIiFyPAZGLcRoOIiIi12NStRtgEi4REZFrMSByE5yGg4iIyHXYZEYOxdnfiYjIE7GGiByG4ykREZGncvsaokWLFkGlUuk92rVrJy2/ceMGpk2bhubNm6NJkyYYPnw4Ll68qLeN3NxcDBkyBL6+vggJCcHcuXNRWVlZ17tSr3E8JSIi8mQeUUPUsWNHfPvtt9LfDRr8VezZs2dj69at+OSTTxAQEIDp06dj2LBhOHDgAACgqqoKQ4YMQVhYGA4ePIi8vDyMHTsWDRs2xMsvv1zn+2KJp07hYW48JU/aDyIiUiaPCIgaNGiAsLAwo+eLiorwzjvv4KOPPsJdd90FAFi7di3at2+P77//HnfccQe2b9+OH374Ad9++y1CQ0PRpUsXvPDCC5g3bx4WLVoEjUZT17tjkrVNTu4YNGnHU9INijieEhEReQq3bzIDgDNnziAiIgKtWrXC6NGjkZubCwA4evQobt68iYEDB0rrtmvXDi1btkRaWhoAIC0tDXFxcQgNDZXWSUpKQnFxMU6fPm3yPcvLy1FcXKz3cCZrm5w2pOeiV+oujFpzCL1Sd2FDeq5Ty2UtjqdkGhPNiYjcn9vXEPXs2RPr1q1D27ZtkZeXh8WLF6NPnz44deoU8vPzodFoEBgYqPea0NBQ5OfnAwDy8/P1giHtcu0yU1JSUrB48WLH7owZ1jQ5mQqaEtsEu0XgwfGUjDHRnIjIM7h9QJScnCz9v3PnzujZsyeioqLwv//9Dz4+zrvhLliwAHPmzJH+Li4uRmRkpNPez5omJ0/I0+F4Sn9x9wCWiIj+4hFNZroCAwPRpk0bnD17FmFhYaioqEBhYaHeOhcvXpRyjsLCwox6nWn/lstL0vL29oa/v7/ew5msaXLylHnP2ERUgxP3EhF5Do8LiEpKSpCdnY3w8HB069YNDRs2xM6dO6XlWVlZyM3NRUJCAgAgISEBJ0+exKVLl6R1duzYAX9/f3To0KHOy2/OiNtbYv/8/vh4yh3YP7+/UdOKJ+TpuGuOkyt4SgBLRESASgghLK/mOk899RTuueceREVF4cKFC3j++eeRkZGBH374AcHBwXjsscfw1VdfYd26dfD398eMGTMAAAcPHgRQ0+2+S5cuiIiIwLJly5Cfn48xY8Zg8uTJNnW7Ly4uRkBAAIqKipxeW2RJXlGZW+bp5BWVoVfqLqNmv/3z+7tVOevShvRcPLPxFKqEkAJY5hAREdUda+/fbp9D9Ntvv2HkyJH4448/EBwcjN69e+P7779HcHAwAODVV1+FWq3G8OHDUV5ejqSkJLz55pvS6728vLBlyxY89thjSEhIQOPGjTFu3DgsWbLEVbtUa+6ap+MJOU51jYnmRESewe1riNyFO9UQuSvWEBERkbux9v7tcTlE5L48IceJiIhIjts3mZFnYRMRERF5IgZE9Yi7TOnhrjlOREREpjAgqic4IjIREZH9mENUD1g7DxoRERHJY0BUD3BEZCIiotphQFQP1OWIyJyWg4iI6iMGRPVAXXV357QcRERUX3FgRit5wsCMzpzSg4MuEhGRJ6o3U3eQ9ZzZ3Z3TchARUX3GJjOyCmdudzzmYxERuQ8GRGQVTsvhWMzHIiJyL8whspIn5BDVBWfmKSkF87GIiOoOc4jIKTgtR+0xH4uIyP2wyYychjky8piPRUTkfhgQkVMwR8Z0QMh8LCIi98McIisxh8h6zJGxbrJd5mMRETmftfdv1hCRwyl9bjVrJ9sND/BBQmxzBkNERG6AARE5jLaJqLHGS9E5MkoPCImIPBF7mZFDGDYR3d+1BTYdv4AqIRSXI6NNmjZsMlRKQEhEZKu8ojLkFFxHTFBjl90rGBB5AHc4UcyRayLadPwCNj6egNKKasXlyGiTpp/ZeMotAkJ3P3+ISNmsybmsCwyI3Jy7nCjmmGoiKq2oRkJsc9cUysVG3N4SiW2CXZ407QnnDxEpl6mcy8Q2wXV+3WQOkRuzNjnX1TiujjxXJ017yvlDRMrlTjmXDIjcmDudKLoMx9exZ1wdRw3ayMEfTXPX84eISMudflCzycyNuVNyrjYP5eTvRVi67SejJhhbmogc1YzD5iDz3On8ISKS4045lxyY0UquGphxQ3qu0YlS1zd93cDDkK0DLjpq0MbabkcpicbucP4QEVnizIFqOblrPWGq5sXcDd2RN3vDPBRDtk5K6qiJTWuznfpUs2Tps3aX5G4iInPcYeJwBkQewPBEMXdDd/TNXi7w0GVrE4yjmnHs3Y479WioLWs/a3e40BARuTsmVXsYcz2HHN2rKK+oDFeuV0BlYrk9bb2OmtjU3u3Ul0Rj9iAjInIs1hB5GHM3dAHhkOYoQL/2QYWah0BN4PH04LbofEug3U0wjmrGsWc79SXR2FFNj0REVIMBkYexdEOv7c0+r6gMR85d0at9EH9u9/WHuqJbdFOH3HAd1Yxj63bcqUdDbdSXwI6IyF0wIPIwlm7o1t7s5ZJxzfUmqxaASlVTM6EthyvVJnG8PiQa15fAjojIXbDbvZVc1e3eFHNdFC11X5RLxk1sE2zUjV2X6s82M21tkSt7ZtWnXmK15cyuqkRE9YG1928GRFZyh4DIEd3p5cbvUauAaf1j8fqubNnXqFWA+DMY0vJSqbDx8QRcr6iq07F8HDWOERERKQPHIapnHFUrIpeMWy0gGwypAbw+qiuqhcCMjzP0llUJgaFvHKzzGiMmExMRkTO4fbf7lJQU3H777fDz80NISAiGDh2KrKwsvXX69esHlUql93j00Uf11snNzcWQIUPg6+uLkJAQzJ07F5WVlXW5K3aT62K94LOTdnWxlps3Ro6XSoWU4XEY0jkC3aObyb5GG5c4osu3tXOSudO8N0REVH+4fUC0d+9eTJs2Dd9//z127NiBmzdvYtCgQbh+/breelOmTEFeXp70WLZsmbSsqqoKQ4YMQUVFBQ4ePIj33nsP69atw3PPPVfXu2MX2VodAGv3n7N5W4bj98hZOKQ99s/vL9X4GL5GLjiqEgJbM/PsCoo2pOeiV+oujFpzCL1Sd2FDeq7V5WcyMREROYLH5RBdvnwZISEh2Lt3LxITEwHU1BB16dIFK1askH3Ntm3b8Pe//x0XLlxAaGgoAGD16tWYN28eLl++DI1GY/F9XZlDlFdUhjtTdsHwg1KrgAPz77IrGMgrKsOxX69i+kfHjXKDTOXjaBN4fTVq3P/mQdkEbFubz+zNCXJ1MrFS5kIjIvJ01t6/3b6GyFBRUREAoFmzZnrPf/jhhwgKCkKnTp2wYMEClJb+NfJwWloa4uLipGAIAJKSklBcXIzTp0/Lvk95eTmKi4v1Hq4SHuCDKX1ijJ6vFrB7hOXwAB8M6RyB1OHW17aEB/ggIbY54iObmqxlsrX5zN6Ro7VlcUUwYkuNFhEReQaPSqqurq7GrFmz0KtXL3Tq1El6ftSoUYiKikJERAQyMzMxb948ZGVlYePGjQCA/Px8vWAIgPR3fn6+7HulpKRg8eLFTtoT203oHYO39+c4fCA+e8fk0b5ua2YeXtz6o94yW5KcrRlg0J1qY+rTXGhERPQXj6ohmjZtGk6dOoX169frPT916lQkJSUhLi4Oo0ePxvvvv4/PP/8c2dny3citsWDBAhQVFUmP8+fP17b4teLM3BnD2hZrE5xrapnCzSY5W9qWpf1yt9oYZ8yFZu3xJqL6jdcC1/KYGqLp06djy5Yt2LdvH2655Raz6/bs2RMAcPbsWcTGxiIsLAyHDx/WW+fixYsAgLCwMNlteHt7w9vb2wEldxxnjrCsrYU5+VsRln79k9Xd+82NmGztUAGm9ssda2McPWUGB5kkpXGnGl93osRrgbudC24fEAkhMGPGDHz++efYs2cPYmKMc2kMZWRkAADCw8MBAAkJCXjppZdw6dIlhISEAAB27NgBf39/dOjQwWlldwZHzQGmy9SUHdYGIHIBjexQARtPol2YH+IjmxptQ26/3HHMIUdOmeGOAR+RMynxpq/LVACgxGuBO54Lbh8QTZs2DR999BG++OIL+Pn5STk/AQEB8PHxQXZ2Nj766CPcfffdaN68OTIzMzF79mwkJiaic+fOAIBBgwahQ4cOGDNmDJYtW4b8/Hz885//xLRp09yuFqiuGX4RDVkbgBgGNKYGgBz6xkGkDq858S39OpCrjVEBOHvpmkunqnBUTZ07BnxEzqLEm74ucwFAfb4WyF3n3fVccPuAaNWqVQBqutbrWrt2LcaPHw+NRoNvv/0WK1aswPXr1xEZGYnhw4fjn//8p7Sul5cXtmzZgsceewwJCQlo3Lgxxo0bhyVLltTlrjiVvVWPcl9EXfY2B8kFM0DNYI7PbDyFwtKbFpvmDGtjtK9f+MVpPPfFaaQOr5mDzRVVro6oqeOM9aQk9fmmb4mlAKC+XgtMBYHuei64fUBkaZikyMhI7N271+J2oqKi8NVXXzmqWG6lNlWPpgIXoHaJ29pgRq72qUoIpG77yWika7lfByNub4l2YX64742Des8LAPM/Oyn9312qXG3BGetJSay96btbXokjWAoA6uO1wFwQ6K4BoNsHRGRebase5b6ITye3RecWgbVultIGM9o5z7RUf04Wq8vcr4PrFVWy29fdhLtUudrKmYnyRLXlyODEmpu+O+aVOII1AUB9uxaYCwITYpu7ZQDIgMjD2VL1aOri5swvYnxkU6QOj8P8jSf/CoJETS6Q4QjZpn4dxAQ1NlpfjjtUudrDUYny9fGXNbmOM4ITc9cad80rkaP9rjXWeOF6RZXF75y1NUDO6DTjKid/LzJ6Tvc6744BIAMiD2dt1aOli5szv4iJbYL1ohmBmloitaiZk82aEbJTh8dh/mcnzQZF7lDl6ir19Zc1uYYzgxNT1xp3zSsxJNcr15rvnDsGAM6SV1SGpdt+Mnr+6cFt9fbb3QJAjxqYkYxZM2CjqYubdvAvZw8GllNw3SiQEQJ4fVRXfDzlDr2JZE0ZcXtLHFxwF14c2lF2uVoFt6hydQVLny+RrZwxAKkl2h93utztR46pXrnWfudcOeVQXTLVWafzLYF1XhZbsIaoHrD0y8PcxW3fz5edXrNgqhbrtqimNl0YwgN88PAd0WjopZaqntUAJifGYEKvmHp/kTGlLn9Z17ZZTvf1ANjE56ZckfTqCYnF5nrlumNtlqu4a9K0JQyI6glzVY+mTk5fjbpO2uxre6EzvAkrqerZGnV18bG1Wc7wc9N9vbYiwFN7CNZ3rgpO3P27balXrrvf8OuKJwS3clTCUr92AgAUFxcjICAARUVF8Pf3d3VxbLYhPdfo5Ixs5otRaw4ZrfvxlDuQENvc4WXIKyqz6kKneyOVq8Gqi7GHPC1BWe7zdWSAkVdUhl6pu4yCrv3z+8seH8Pgad7gdtK4U3K02wJgdbKqp31Gnsja76yS6H7XtJzxnasP3OX8sfb+zYDISp4eEAHGJ6etN7m6YKoWQUuFmoRsZzbxeWqCsiMuPqZGld2SeQEvbTVOkpQLnuXOKzVqEujNmdqnFd7e/4tVyaqe+hlR/aD9rvlq1CitqHb5Dd8T1eUPGgZEDlYfAiI5lmoW6vKkPXH+qtGYRZY4OoBzxyCxrsgFGQBMTu1i6rgczC6QrXk0N3SC+s8VrHkfJX9GnsrcdcTWLuzk+er6B42192/mECmcuTb7ujxpN6Tn1oxVZOPrHJ3I6Kquv65u/jE1Ga8Q8kGMuZwAUzlNj/VrhX/vzjZaX60CJveOwX++y5Etm+Hx94Tu2a7+PN2JYa3vlD4xmNA7xiivTEutAh7q0RIJrZqhe3QzxR+/+kI38HXX8aYYENVDtl6M5RKyLY1D4sgLvva95Ooq9ZrIUHNztnZAR3u4oneEOzT/mJqMV87CIe1xd+dws+NGySVUjri9JfwaNcTSbT+hGtDrIQgAb+/PsSpZ1dbPqK6DE3f4PJ0lr6gMR3+9CiGEVcGK4XVEAPjPdzl4e38O5iW3qzkXZM67jw7l4qNDuVAB0mTQ5Ln0gmIbZyqoSwyI6hlHXYzrsqu+ua6s4s9/pv5549z382Wbey7YckOs694R7jI6r7neM7q8VCqzwZCWqZrHR/rG4t4uEbI1koYT+WoN7RphNJibtZ9RXQcn7vJ5OoJcL0HdwVHNBSva1/5RUi57TlULyAZDhgSABZ+d9MjjRzWMgmI37qHHgKgeceTFuC676lu6GQsA73x3DhN6xdjcLdeeG2Jddv11RvOPqZwMc4FheIAPJvWOwRqZZivtZ2NrcKitedQO/Kl9X1NDRJia+27T8Qt4Kkl/hFtrPqMT56/q3cDrIjjxhOY8axj1EvyzNkd310wFK4avNZU7pm1Cs9RMXg143PGjv5j6wavtaOFOXfIZENUjjrwYm/oVfr2iyuEXfMP3kguODGeGtqZW6Mi5K3YHb3U1pLyjm+hM5WTc37UFPj/+u2xgqA2U/t45HG9/l2PUJLnx8QS7e9KYyx+Rc72iyugGWSUEjp67ir/HWz/vk6mcNGcHJ546IJ0uuR9WpmpzDIMVudeqVIBKJhdNDeCxfrF4c0+22aBIDXjU8XNHtjYbO7KZ2dR3ojbXFWdhQFSPOPpinNgmGCtHdgEE0C26qfRrvzbvYc0Es74aNe5/86Dd7yEXFGi52691RzbRmZtW4LNjv+v9rQ0MDZs/h93WApuOX9ArS3xkU7v2zVz+iKmausYaL9kcg5nrj+N6RaVVzV3mctI42rJltuSTGQYrr+86Y7SuEMAbo7riYPYf+OhwrvS5VANYtdc4yV6XCkDK8DjZ42fqWlLXOWPunkBvay25o5uZTX0n7L2uOBMDonrEkRdjU1+K2ryHLRPM2vsehs0khtzx17qjmujM5WIZqhICx369avRrftPxC0a/3Oy94Jsqj6maOu35IRfI2FK7Z66KnqMtW2ZtPplhsPLW3mx8dOi80XpqFfDb1TJ8rBMMaZl6jycGtMatIX6IbOaD6xVVyCsqs6oHrKNv5pbOfXdPoLe1c8yJ81dralYdnAPnKd8JBkT1jCNOPEtfInvew9b8Jnvew1LXfXf+te6IJjprb2RAzbGoFkK2abK0oloabLE2F3xz5TGsqTNVu2XuNba8r1oFfP74nUa/Si3NrWZvMFhXTa7OYPijx5AKwJL7OmJgh1C945QqM7s5ANwbH4FUg/wjc7xUKjzUoyX2/XxZqinWPfdMXUvahflZfY2x5nO1dO57QgK9uTSKzScu1Hwu4q9m9Y3HfndaM7MnfCcYENVDtT3xrMlFsvU97MlvsuU9zDWTqAG8PqqrzZPJOpMjqtkNt2HqRualUmFo1wijprDu0c1kAwdfjVrafm0u+Pt+viz7eWjLFB3ka7E3ktxrzB0DwPoqektzqwFw61//zqT9QfLxoVy8tuus3jIBoKmvRq+G4Y+ScpMBzxcZF8wGQ9ocI90EWwAmzz1T15KdP10yeY0B/gp2DQMBuc/VmnPf3RPo84rKkH25xOh5L5UK+89cxht7/mquNGxWN1zfV6PW6xhRXzEgIiPOSAx1drKpuWaSlOFxGNI5wiHvY461QY4jqtlNbUM37yuymY9e09dTSW2NatwMA6hqAdz/5kGkDItDZDNfuy/4UoAqs0x70zPMXzLscaQ7BpVc7Z6542iphlEuv0mrWtT0ntIdObu2tQ2uZKl8ppaHB/igTZif7DZVKut6k1nqRab9XA0/q4PZBSbPPblriUoFvLZTP3DTbj/z90KMfvt7m5pvrQl23DWBPq+oDO/uzzHqIAHUlO/p5LZI/Uq+Ns+QWlUz7IVcTV19xICIjDgjMdTZyaa2NJM4g7VBjiOq2U1to7D0pjSBqqUcLS25ru7a7W18PMHuC76pAFU7qCMAvek3tL2R1AY1BaaCGmuOo7kaRkv5VtWA0Z1cLhh09xwSufLpTo5saUyxblFNjQNVFXBLUx+9jg+Gn58awEM9IvHRYZmcItR04+98S6De56p7XE/+VmT0Ou25J9crVbZmWAU82rcVUr8y31wn97laE+y4YwK94VhRumrGjeqEwrKbVjVfqgCsGdsNU94/6tbNgo7EgKies/fXqzOS4JyZWGd0kUTNdBAh/o0c9h6m2BLkOKKa3dQ2dPM0bLlwmerqXlpRbfcFXzZABRAa0MjkPggBvDC0I2KD/YxulIZjGZk6Bsd+vYqmjS2f75byrXRrp7QMb4julENialJew/LN/+yk3uTIulOzaGvG2oX5ST8iwgN8kDo8zihokht+Qwjg36O6olljb+k4rU8/b/OPlLyiMiz92rgG47F+raR9072WFJTcwIyPM4zWf+j2lnhzr/ku/doyGQb51gY7zrqm2XPdNlcrC9R8znM/PWl1GaYkxsBH08Ds96y+zT/HgMiN1bYqvra/Xp2RBOfMxDrtxWnt/nN4e/8vJrt4WzPRpC3H3JYgxxHV7KZqw+TKsDUzD0MsjCxtrkwJsc3tvuBP6h2Dd/6cjkNbyzD9o+M1A/0Nbidb5oWbTiN1eJyU1A3IDxLoq/GSrbmY/tFxvTwgU+e79oZnKpF7Sp9WiA1pbPaG6C45JKa+57JBJ6DXg8hQNYChbx5EqoXmx7dkust7qVRGeXr2dLc2VXv3xu5sRDbzlcqlvZbIDQWiBrA+3bhXm5xqAWzOuIC4WwL0BjGNbOZr1Vg5jr6mWZPMLXeNOnLuilUdKqyhVkGaUkeueVL7PdNd39k9+uoCZ7u3Ul3Pdl/bYEZuRnC1Clj5UJd6PWGipZnQzR1Xe4+5rbOvb0jPlZ3nyxaG23g6ua3JwfMs7YvRlAwq6N0Q5Zi7eL21N1uqrVIBGNkzEusPnzc6PqbKrHvs5I6tHLlcFe12AJicTf3E+atGI2OrARxYcJf0/ubykO5M2WWU93Twz9c6k+5o5HJjdmn325pjJ8dcTY6pz2TB3e3wSGKs7Pq29kg1VW5T3yvD78Ok3tEmJws2RwWgz61B2H+2oM6aQQ17OhqeU9Zcv8yNvWaO9nuj+vM/AjC6JukeW8NaRV263xtbObvpmbPdezBHVMWbGlxtxscZbpnrUFvai8qV6xUmq3irhfHI1Qs2noSvxgstm/nWalRrW5qWHFHNLreNQJ+Gsl2lLSUEG1azq0TNoJymgh5zeSkHzhbgDZ0Z7QWA9YfO1+Tk6KgSAp1bBGLlQ12Mmjt0a1msHVtJbpUqIaTaQsMfBtrzPz6yKVKHm/7sdGshDmYX6AVVslTyTzuSYe84uebOcwWlSIhtbtSMLGBcqwaZG1y1AIa+cVB2rjJTn0nnFoGy5bW1BsVc7Z1cDZxcbQ5gerJgcwSAfWcKpL+11whHN4Nqv1snfyvSy/vr1TrI5OcJGPe8W/DZSQQ10dgVDBmOFg1A9ppkTfMkUFO7uHb/OTwzpL1N5XCnpmcGRG7IEVXx5nIk3Dkxzp5qU8MbhLmmFEPaINHcjcWactga5Fh7k7A0/5jchWtrZh5e3PqjxX3JKyrDlswLxoEzoBdIGI4BYzg/2PzPavISTF2Pq2E8w7W2SS46yFe2uUN7gW4s0zRmLRVgFAxpy2zLuFqmfn3fEdPUqFxCOHfeLXO947R0m2AN901ucuR2YX4Y+uZBo+YlgZobsG5OEWD62pL5e6FeU2dtmJrXzrB5WS4415bB3FhKtqgWwNoDOXjm7g612o6WqfOpWgDf6QRjWtrvg+yPXACT3jsq+z4vDu2I5744bbKmTa750lKz4Fv7zI8svua7XzChd7RN57+7ND0DNcea3Iz2gqPL1jwT7a8sL5X8T1bdXx3uYkN6Lnql7sKoNYfQK3UXNqTnWnyNqRuE9vipTfwCNmTpxqL7fgezC5BXVGa0fniADxJim9v9JTbctj3HIzzAB0M6hxudP2oAZy9fw5bMC8grKsNbe7NxZ8ouvLTVOHlVDf1AQhtA5BWV4eivV42DAJg/vmoA85PbSeeibi2M9jzVLa5AzRhGG9JzjW6ItugZ09Tkr2bD89/UZ2duwMjvc64aPefsbtcmh5dQ/fX+hrWTuvuW2CYYKx6KxxujumL//P5/1ZINizM6Z4C/aop0z73wAB/MG9zOaN1l27Jkvxf20tbeyZ03gOmaBW0ZRtzeEvvn98c/TdRY2HLze3tfjtG+mbsWmFrHmgFIDU1OrJn7T+6+YIqXSoUB7UP17gFqANP6xeLjKXdIn70t8orKsNTE4JtaAjU/pmzhiPudo7CGyA2ZaoIBYNPgWNpfh8d+vWpUQ+IO42Xosrfa1FTi6OsPdUXzJt5mq3jlmJrZXTu2hzZJ2NHNjqZmF5dr3rMmB2xy7xi8/V1OTe0Man5JLtx02mI5TOVfaAMIe1IO5yXX5JbcGx8hWwuT2CZYrwZJWzNhKlfBWnIBi64DZy9brNGwZToUAHh6cFun/qq1d6LMvKIyrN2fgzV/jk1jeP4mtgnG4vs6yp4jAsbfxbhbAozWM1ULWZtEWXO1d9YOIDukczhe/upHk8cs8/dCLP3qJ6NmXV3aSWy172vY1KVbg2puSAO5sb0sad7EW9qXlGFxWPDZSbNl1b12WVNzbe1nZO134e39ttUS2Zpy4EwMiNyUXFW3NtHQlptxzQXBByXllW5xwgHyX0B7q01N3SDMTUZrqglGBWDxfR3RzFeD26Ka4lLxDaz5LhuF128azcjtyGZHuWBQbuwU3ea9+cnt8Ehf4wRWw8Bq1O0t8fFhyzVLgP4YQXL5F5m/F+Le+Airm7C0gZ020dZUM6Etk4kabv/zx+/ET/nXzM5fZ8qbe7Ix+o6oWnXPN+SlVhnNu+Vour33rOm5JddEoz1/24X5YUtmnl5vQMBy87E1vSUdlShr6ryxVAbd64y53m4Jsc1xb3yEbL6Z7nYzfyvEqDXfy34vF3x2Eid+K8THh85LnQkA/SENTI3tpatdWBP8lK8/uvSybVm4I6YZcq+UorF3A6wZ1w2T3ztq8hq28fEEvfPB8PhZCtpMfUZyY0PJqbah2VhblsQ2wdg/v7/L5zpjLzMr1XUvM1229mIytx1Xn3CmLpK12UdLvbaMemQNbiv9upOjVgFdIgNxLLfQ4v58POUOm/MmDAPCg9kFGLXmkE3bAPR79eQVleHIuSt4Yn2GUQKxVcEF9HuIvLU3GykG1ePaz2Pfz5elX6lqAPff1kKaFkTLXNBmyFSPSGtqiLTHX6681nhjVFeLo5jrnj/WUKn+3HeDHle21JbIrWuYKzclMQYTesWY3Za1vfR0yZ0zct9Fc9872c8UwGujuqKbA6fQMVUGU4n/lq5/2mtk5m+FWPZ1ll4vTksDPFrj4yl3IPfKdZPNZi/c1xELv7Bck9u/XTB2/3TZ5HuYuiaZmq5Gy9Q115bzyFIPRXuCsdpiL7N6xFFJZ44eL8NWcjUhus1A9labWqoWlu2R5SvfI0tbLmuCIVubHU01uyW2CbYrcXjptp9wb3yE3oXFkLU3wnnJ7fSOm7kmEbnjOTYhSi/fRwBY9nUW7u0SYXcvPQB6M28b0p0PTW4gPy21Cnisb6ze3E1a0z86jpLyStm5rLQXbt399dWo8a/tP+v1RDIkBJDy1U+AgBQQ2lJbYhT49InBkM7hRrly73x3ThorxhRbm/yAmnNmamIM3vnunN2DEppKANaOQ+Wom59cGUw1v++f39/ijxftPggIvWbII+eu1DoYMhzba96nmXrn0fDbWmBgh1A8v1k+EVrX7p8u485WzXDwlyuy7yHHmoR8U/cVc+eRXG3YfW8cxAKDH0TmgjFn9eazFQMiF7PmV6Mz5sxxxSBY1gwFYG+1qalgT3c/dS+G2gvp0XNXMeNj+R5o5qhVsKnZUW5Ife2F+unktja++1+vP/brVbNJmtoaMd1RrHUvRobNWlqmBn/UTvxqeLxNjXZd21562hw4IYDfi8qwbFuW0U1abt4rXdr98/dtaDTukWF+jLlcMW2Z3p/UEyfOX8WRc1cRHeSLz4/9ji0n843ed+m2n3Bvl5raJ1tmYTe8af3nu79yf+SOLwCT32VTTX7mAnAvlQoTetXUPln6LtrSnKXl6F6uhmWw9gekpVo43V5rKhOdUyzRHmdtLVNOwXVcKr6B6xVVWPpAZ1wqvoEj566ie3RTqUbFcFoSU+f29zlXMK1/LFbtyZaaT58eXPMe2uOiy5rg2NR9xdT1YHr/1oiPDJDt6Zay7SdABTySGGtVMObo3nz2YEDkQtb+arSUdGZrcOOq+ZesuUha8yvOWpb2MzzAB82aXLfrl9+8we30mgcsTZ5pakh9wyk3bOGlUqFaCLPBkLYJ4d4uETh67ipUKuC2qJoLr7mbneE5B+hP/Gp4vtQmaDcVtGrLMaTzX+WTS8w2d9PXbbp6JDEWEQGNZMc9OnruKjJ/yzFKJjd1846PbIoQ/0Y4cu4KtsoEQ8BfibgCxp+Rdmws3X0DTN+0ZPNFVEDmb39NXGrqHDe8wU7u3Qo9WzWVzUMxDPTtDVjkzh9dttZwSz0chbDYqcDe/KbENsEmA1e5Od20zAWX2ucHdQw1Csa17zupTyu91xjWSJrqaVktgN6tg/HwHVE1zXy/F0rvIXcuyE6KC/MTKAN/fT/nDW4nNSNqO0G8tusszMWK2lpsqxOy9+VYbAZ2JgZELmJrrypTv6BtDW5cOQiWoy+S5li7n401XrKvbxvaBFkXS2SXAX81B1nTDm6putmWLD7dX5wvD+uEC0U3jNZRA3h9VFe9aRTCA3zw93jjcYzMMTfxq+FxtLeniK3nr1yNhKmbvlxPl+7RzWRvCjPWHzf5OVia1NUU7U34UvENo3GYAGDaR8eRcb4QE3vHSLVTZy9ds7r5VAgYzV83/7OTKK+sQrPG3lKujvZzTD93FbdHN8VP+dcw5X39YEiNmu7djrwZ6dbCzlx/3O4abqOR1AHZASN16fayVKuAib2jpWWmrg0rHoo3WbOUENsc8+9uV9MUqkNb86OtuTRl2ynjoNnctVf3PE8dHod5nxnPQaY72S0AKTA2tW1T31FzEygb1pbOS26HWwJ99Hotm7t+aROsTQVjhi/V/ohgQKQw9uQFyfUWsDW4cfUgWHU1FIC1k39er6iSff2iezuhtOKmyUHPtLUK5o6/9pfVwbNm8k1s2Cc1gM+n3ak3smyv1F1G681LbmcxUdhatjSF2To4pSODc2vfOzygZgydpdt+kpLCBcxf1L1UKvhq1NKQFwAsBkNq1HTB1+3qLmfNdzl4+7scDLutBTYe+93mmkLD9QWA5774AcBfgYNueeUSaa2ZcNWQtbXS2kD8eoV9vVzlalcFanp1yZ0nhgF2YusgfHemAGu+q7mxm+r6XhNIq8zWLNXUTl7H+sPnjaa4uDc+QvaaZok1117tuT1rfQYO5fyVMzS061/5edZe1019T+SOo1wT/7JtWVjxULzV+6gbtBkGY3KJ6q4eDoYBkYvY0mXUkcGNM/KRbKVtBjE1FIAj8ptkf5GojCf/TGwTbPJ4hAf4YOlw+XE/vFQqQKaZRnv8zSU620MFIGV4nN5Ny1TuTOdbAh3zprD9fLElcd/W89fSeaH73uamHVn69U/S+Ez924dg54+XTJZRrQKSOoVKIzmrANwdF2byc9XWTjX305icW86QAPDZsd+NnjfVBd5aAsbjOZlqeimtMDeyjT57mtztna7GVO2qYU2CtknNcBR1w2k4THV9105Ma6qW0zAheKpBbZr2mvZbYZlRLZI5uh0DLF3z0s/pJ1BvOn4BTyXVjHtly/fU0nfUUhO/qcBx4+MJ2JD+G9an58o2wVmabsjVw8EACguI3njjDSxfvhz5+fmIj4/H66+/jh49erikLOaaGKy94NgT3NjbtOEMcl8QR45dYtiMontj0M1ZMnc8tGXUHaNEu063qKYmE48dGQwBNcFcYptgveecFdwaXpyddb7YUn57e2kZDu1gmNhpKhjSdmtvqFbr9U4TgGzOkG4zJWD/pKq6HHH6WFMGW86Z2tTq2RIsa5nKD9Od3sWWiU2rhEBpRbXJc9qaXmsCpnv4xbUIkH3fxFuDcODsH3rNatr3tbfZXffHg9z1TreZ0BbmmvjNBY7xkTWJ4TMGtDYZ+BqeA46Y19GRFBMQbdiwAXPmzMHq1avRs2dPrFixAklJScjKykJISIhLymRLl1FT7cz23Kzc6SQ0/FXvyPwmS5MSai8o2ukM1H9+2eWO8zND2mNC72ijY5YyLE6va3i1ANbskx/cTUtujB1LuQjatnhH5O2YYyqYcMb5Ym35bTkvzK1rTWKnbv4RUDPzuCXacmubKV/e+oNDg+HakDvXrEmkNaWum9y154jud0xbWyp3vbTEsOu74bVXLrnfln021Rtr6QOdAUBKlC6tqIavRo3cK6V6Y4eZOret+fEg/Xg7kIM1+3L0mglt+VFpMgjVSbg3d02wNfC1J1B2FsUERK+88gqmTJmCCRMmAABWr16NrVu34t1338X8+fNdVi7Dk8HWC469Nyt3Ogm1nHGx1e6n3IjV2tFnzfXSkduWrsQ2wUY/5eW6YOual9xOtqpYm4tgSxKqI4MVS4GHM84Xa8pvy3lhbl1Lo05rR+rWbvNgdoHFWhrD1+QVlWGNQU81LTWAeXe3w/UblXht11kLW3aM+7u2QI+YZlYn0lriiiZ33bxDISCNQg9Y7kquWzNjGPzpntPmaiBtbY4yF+TLvZ8huXPblh8/b+vkrNnzo9KotgnyCffueA+pLUUERBUVFTh69CgWLFggPadWqzFw4ECkpaXJvqa8vBzl5eXS38XFxU4vJ2B/M1h9ODGdebE1ldRnOF+YrRePnALbu+13bhEo+wtVW05bk1Ad9fm7KuHeUvltOS/Mras9B+RuRF4qlV5gY2pbll5j6nz4e1w4nv17eyk4//fus+Z7HsovMuuJu1rjtd1n9RLEtXkmcuN72fOZuqrJXZujY8jcZ6SGfs2Mubm8LP0QsGWfLQX5lmq1avPjx1HfYXdqRahLigiICgoKUFVVhdDQUL3nQ0ND8dNP8glwKSkpWLx4cV0UT4875fjUNWfvu+GX3BEXD5vnutK52JkLBFxxQXKHhHs5tpwXltbVbVZ4e19Nt2xT2zPclm6Ss6nXyDaZAFIwpLtduVG45QJ1Q2rAKKHfS6XCrWF+RtvT7TburO+Rq5vc5YbyMFUzI8ea64Ct+2zuu20pR6c2P34c+R2uLz+0baGIgMgeCxYswJw5c6S/i4uLERkZWSfv7U4XnLrm7H03/JLX9uIh1TqY6In29OC2enMi2RLg1fUFyZ2DcVvOC0vrhgf44Jm7O1g1ErPhtgDbBrS0NO2FthkospmP3mz1uk2qqj+rjHQDMQBG7yGX5O+sgNadbpaGAxnqHkdrWBtEOGqfTQXNhmOH2cOdv8OeQBGTu1ZUVMDX1xeffvophg4dKj0/btw4FBYW4osvvrC4DVdO7krOY2liWGvlFZXJ9kTT9m7ypODW08rrjhxxDHW3ARgHYnLv4ajzWWnq+rg5+/34HdZn7f1bEQERAPTs2RM9evTA66+/DgCorq5Gy5YtMX36dKuSqhkQ1V+OvHjwQkSuxnPQPnV93Pg51R3Odm9gzpw5GDduHLp3744ePXpgxYoVuH79utTrjJTLkdX/7tSUQMrEc9A+rmii5ufkXhQTEI0YMQKXL1/Gc889h/z8fHTp0gVff/21UaI1ERERKY9imsxqi01mREREnsfa+7e6DstERERE5JYYEBEREZHiMSAiIiIixWNARERERIrHgIiIiIgUjwERERERKR4DIiIiIlI8BkRERESkeAyIiIiISPEUM3VHbWkH9C4uLnZxSYiIiMha2vu2pYk5GBBZ6dq1awCAyMhIF5eEiIiIbHXt2jUEBASYXM65zKxUXV2NCxcuwM/PDyqVyu7tFBcXIzIyEufPn1fsnGg8BjV4HHgMAB4DgMdAi8fBOcdACIFr164hIiICarXpTCHWEFlJrVbjlltucdj2/P39FXvCa/EY1OBx4DEAeAwAHgMtHgfHHwNzNUNaTKomIiIixWNARERERIrHgKiOeXt74/nnn4e3t7eri+IyPAY1eBx4DAAeA4DHQIvHwbXHgEnVREREpHisISIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiB1i1ahU6d+4sDSSVkJCAbdu2Sctv3LiBadOmoXnz5mjSpAmGDx+Oixcv6m0jNzcXQ4YMga+vL0JCQjB37lxUVlbW9a44TGpqKlQqFWbNmiU9V9+Pw6JFi6BSqfQe7dq1k5bX9/3X9fvvv+Phhx9G8+bN4ePjg7i4OBw5ckRaLoTAc889h/DwcPj4+GDgwIE4c+aM3jauXLmC0aNHw9/fH4GBgZg0aRJKSkrqelfsEh0dbXQuqFQqTJs2DYAyzoWqqiosXLgQMTEx8PHxQWxsLF544QW9+aTq+3kA1EwXMWvWLERFRcHHxwd33nkn0tPTpeX18Rjs27cP99xzDyIiIqBSqbBp0ya95Y7a58zMTPTp0weNGjVCZGQkli1bVruCC6q1zZs3i61bt4qff/5ZZGVliWeeeUY0bNhQnDp1SgghxKOPPioiIyPFzp07xZEjR8Qdd9wh7rzzTun1lZWVolOnTmLgwIHi+PHj4quvvhJBQUFiwYIFrtqlWjl8+LCIjo4WnTt3Fk888YT0fH0/Ds8//7zo2LGjyMvLkx6XL1+Wltf3/de6cuWKiIqKEuPHjxeHDh0Sv/zyi/jmm2/E2bNnpXVSU1NFQECA2LRpkzhx4oS49957RUxMjCgrK5PWGTx4sIiPjxfff/+9+O6770Tr1q3FyJEjXbFLNrt06ZLeebBjxw4BQOzevVsIoYxz4aWXXhLNmzcXW7ZsETk5OeKTTz4RTZo0EStXrpTWqe/ngRBCPPjgg6JDhw5i79694syZM+L5558X/v7+4rfffhNC1M9j8NVXX4lnn31WbNy4UQAQn3/+ud5yR+xzUVGRCA0NFaNHjxanTp0SH3/8sfDx8RFvvfWW3eVmQOQkTZs2FW+//bYoLCwUDRs2FJ988om07McffxQARFpamhCi5uRRq9UiPz9fWmfVqlXC399flJeX13nZa+PatWvi1ltvFTt27BB9+/aVAiIlHIfnn39exMfHyy5Twv5rzZs3T/Tu3dvk8urqahEWFiaWL18uPVdYWCi8vb3Fxx9/LIQQ4ocffhAARHp6urTOtm3bhEqlEr///rvzCu8kTzzxhIiNjRXV1dWKOReGDBkiJk6cqPfcsGHDxOjRo4UQyjgPSktLhZeXl9iyZYve87fddpt49tlnFXEMDAMiR+3zm2++KZo2bar3fZg3b55o27at3WVlk5mDVVVVYf369bh+/ToSEhJw9OhR3Lx5EwMHDpTWadeuHVq2bIm0tDQAQFpaGuLi4hAaGiqtk5SUhOLiYpw+fbrO96E2pk2bhiFDhujtLwDFHIczZ84gIiICrVq1wujRo5GbmwtAOfsPAJs3b0b37t3xj3/8AyEhIejatSvWrFkjLc/JyUF+fr7esQgICEDPnj31jkVgYCC6d+8urTNw4ECo1WocOnSo7nbGASoqKvDBBx9g4sSJUKlUijkX7rzzTuzcuRM///wzAODEiRPYv38/kpOTASjjPKisrERVVRUaNWqk97yPjw/279+viGNgyFH7nJaWhsTERGg0GmmdpKQkZGVl4erVq3aVjZO7OsjJkyeRkJCAGzduoEmTJvj888/RoUMHZGRkQKPRIDAwUG/90NBQ5OfnAwDy8/P1Lnza5dplnmL9+vU4duyYXvu4Vn5+fr0/Dj179sS6devQtm1b5OXlYfHixejTpw9OnTqliP3X+uWXX7Bq1SrMmTMHzzzzDNLT0zFz5kxoNBqMGzdO2he5fdU9FiEhIXrLGzRogGbNmnnUsQCATZs2obCwEOPHjwegjO8CAMyfPx/FxcVo164dvLy8UFVVhZdeegmjR48GAEWcB35+fkhISMALL7yA9u3bIzQ0FB9//DHS0tLQunVrRRwDQ47a5/z8fMTExBhtQ7usadOmNpeNAZGDtG3bFhkZGSgqKsKnn36KcePGYe/eva4uVp05f/48nnjiCezYscPo15BSaH/5AkDnzp3Rs2dPREVF4X//+x98fHxcWLK6VV1dje7du+Pll18GAHTt2hWnTp3C6tWrMW7cOBeXru698847SE5ORkREhKuLUqf+97//4cMPP8RHH32Ejh07IiMjA7NmzUJERISizoP//ve/mDhxIlq0aAEvLy/cdtttGDlyJI4ePerqopEBNpk5iEajQevWrdGtWzekpKQgPj4eK1euRFhYGCoqKlBYWKi3/sWLFxEWFgYACAsLM+phov1bu467O3r0KC5duoTbbrsNDRo0QIMGDbB371689tpraNCgAUJDQxVxHHQFBgaiTZs2OHv2rGLOAwAIDw9Hhw4d9J5r37691Hyo3Re5fdU9FpcuXdJbXllZiStXrnjUsfj111/x7bffYvLkydJzSjkX5s6di/nz5+Ohhx5CXFwcxowZg9mzZyMlJQWAcs6D2NhY7N27FyUlJTh//jwOHz6MmzdvolWrVoo5Broctc/O+I4wIHKS6upqlJeXo1u3bmjYsCF27twpLcvKykJubi4SEhIAAAkJCTh58qTeCbBjxw74+/sb3Vjc1YABA3Dy5ElkZGRIj+7du2P06NHS/5VwHHSVlJQgOzsb4eHhijkPAKBXr17IysrSe+7nn39GVFQUACAmJgZhYWF6x6K4uBiHDh3SOxaFhYV6v6J37dqF6upq9OzZsw72wjHWrl2LkJAQDBkyRHpOKedCaWkp1Gr9W4yXlxeqq6sBKOs8AIDGjRsjPDwcV69exTfffIP77rtPcccAcNznnpCQgH379uHmzZvSOjt27EDbtm3tai4DwG73jjB//nyxd+9ekZOTIzIzM8X8+fOFSqUS27dvF0LUdLFt2bKl2LVrlzhy5IhISEgQCQkJ0uu1XWwHDRokMjIyxNdffy2Cg4M9qoutHN1eZkLU/+Pw5JNPij179oicnBxx4MABMXDgQBEUFCQuXbokhKj/+691+PBh0aBBA/HSSy+JM2fOiA8//FD4+vqKDz74QFonNTVVBAYGii+++EJkZmaK++67T7bbbdeuXcWhQ4fE/v37xa233urWXY0NVVVViZYtW4p58+YZLVPCuTBu3DjRokULqdv9xo0bRVBQkHj66aeldZRwHnz99ddi27Zt4pdffhHbt28X8fHxomfPnqKiokIIUT+PwbVr18Tx48fF8ePHBQDxyiuviOPHj4tff/1VCOGYfS4sLBShoaFizJgx4tSpU2L9+vXC19eX3e5dbeLEiSIqKkpoNBoRHBwsBgwYIAVDQghRVlYmHn/8cdG0aVPh6+sr7r//fpGXl6e3jXPnzonk5GTh4+MjgoKCxJNPPilu3rxZ17viUIYBUX0/DiNGjBDh4eFCo9GIFi1aiBEjRuiNvVPf91/Xl19+KTp16iS8vb1Fu3btxH/+8x+95dXV1WLhwoUiNDRUeHt7iwEDBoisrCy9df744w8xcuRI0aRJE+Hv7y8mTJggrl27Vpe7USvffPONAGC0X0Io41woLi4WTzzxhGjZsqVo1KiRaNWqlXj22Wf1ukkr4TzYsGGDaNWqldBoNCIsLExMmzZNFBYWSsvr4zHYvXu3AGD0GDdunBDCcft84sQJ0bt3b+Ht7S1atGghUlNTa1VulRA6w4YSERERKRBziIiIiEjxGBARERGR4jEgIiIiIsVjQERERESKx4CIiIiIFI8BERERESkeAyIiIiJSPAZEREREpHgMiIjIafr164dZs2a5uhhOt2jRInTp0sXVxSCiWmBARERkQkVFRZ2+nxAClZWVdfqeRFSDAREROcX48eOxd+9erFy5EiqVCiqVCufOncOpU6eQnJyMJk2aIDQ0FGPGjEFBQYH0un79+mHGjBmYNWsWmjZtitDQUKxZswbXr1/HhAkT4Ofnh9atW2Pbtm3Sa/bs2QOVSoWtW7eic+fOaNSoEe644w6cOnVKr0z79+9Hnz594OPjg8jISMycORPXr1+XlkdHR+OFF17A2LFj4e/vj6lTpwIA5s2bhzZt2sDX1xetWrXCwoULpVm2161bh8WLF+PEiRPSfq5btw7nzp2DSqVCRkaGtP3CwkKoVCrs2bNHr9zbtm1Dt27d4O3tjf3796O6uhopKSmIiYmBj48P4uPj8emnnzr6IyIiHQyIiMgpVq5ciYSEBEyZMgV5eXnIy8uDn58f7rrrLnTt2hVHjhzB119/jYsXL+LBBx/Ue+17772HoKAgHD58GDNmzMBjjz2Gf/zjH7jzzjtx7NgxDBo0CGPGjEFpaane6+bOnYt//etfSE9PR3BwMO655x4pcMnOzsbgwYMxfPhwZGZmYsOGDdi/fz+mT5+ut43/+7//Q3x8PI4fP46FCxcCAPz8/LBu3Tr88MMPWLlyJdasWYNXX30VADBixAg8+eST6Nixo7SfI0aMsOlYzZ8/H6mpqfjxxx/RuXNnpKSk4P3338fq1atx+vRpzJ49Gw8//DD27t1r03aJyAa1mhqWiMiMvn37iieeeEL6+4UXXhCDBg3SW+f8+fN6s8L37dtX9O7dW1peWVkpGjduLMaMGSM9l5eXJwCItLQ0IcRfs2uvX79eWuePP/4QPj4+YsOGDUIIISZNmiSmTp2q997fffedUKvVoqysTAghRFRUlBg6dKjF/Vq+fLno1q2b9Pfzzz8v4uPj9dbJyckRAMTx48el565evSoAiN27d+uVe9OmTdI6N27cEL6+vuLgwYN625s0aZIYOXKkxbIRkX0auDIYIyJlOXHiBHbv3o0mTZoYLcvOzkabNm0AAJ07d5ae9/LyQvPmzREXFyc9FxoaCgC4dOmS3jYSEhKk/zdr1gxt27bFjz/+KL13ZmYmPvzwQ2kdIQSqq6uRk5OD9u3bAwC6d+9uVLYNGzbgtddeQ3Z2NkpKSlBZWQl/f3+b998U3fc8e/YsSktL8be//U1vnYqKCnTt2tVh70lE+hgQEVGdKSkpwT333IOlS5caLQsPD5f+37BhQ71lKpVK7zmVSgUAqK6utum9H3nkEcycOdNoWcuWLaX/N27cWG9ZWloaRo8ejcWLFyMpKQkBAQFYv349/vWvf5l9P7W6JiNBCCE9p22+M6T7niUlJQCArVu3okWLFnrreXt7m31PIrIfAyIichqNRoOqqirp79tuuw2fffYZoqOj0aCB4y8/33//vRTcXL16FT///LNU83Pbbbfhhx9+QOvWrW3a5sGDBxEVFYVnn31Weu7XX3/VW8dwPwEgODgYAJCXlyfV7OgmWJvSoUMHeHt7Izc3F3379rWprERkPyZVE5HTREdH49ChQzh37hwKCgowbdo0XLlyBSNHjkR6ejqys7PxzTffYMKECUYBhT2WLFmCnTt34tSpUxg/fjyCgoIwdOhQADU9xQ4ePIjp06cjIyMDZ86cwRdffGGUVG3o1ltvRW5uLtavX4/s7Gy89tpr+Pzzz432MycnBxkZGSgoKEB5eTl8fHxwxx13SMnSe/fuxT//+U+L++Dn54ennnoKs2fPxnvvvYfs7GwcO3YMr7/+Ot577z27jw0RmceAiIic5qmnnoKXlxc6dOiA4OBgVFRU4MCBA6iqqsKgQYMQFxeHWbNmITAwUGpiqo3U1FQ88cQT6NatG/Lz8/Hll19Co9EAqMlL2rt3L37++Wf06dMHXbt2xXPPPYeIiAiz27z33nsxe/ZsTJ8+HV26dMHBgwel3mdaw4cPx+DBg9G/f38EBwfj448/BgC8++67qKysRLdu3TBr1iy8+OKLVu3HCy+8gIULFyIlJQXt27fH4MGDsXXrVsTExNhxVIjIGiqh28BNROSB9uzZg/79++Pq1asIDAx0dXGIyAOxhoiIiIgUjwERERERKR6bzIiIiEjxWENEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREivf/P0yxqwCkR+gAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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tWudlt/bWrdujd27d8NsNlvVquzbt095HdAOwojIdcxRIaoD+vfvj+7du+Pll1/GhQsXEBsbi/79++PNN99EUVGR3fqnTp1S/v+PP/6weq1BgwZo27YtKioqND8vKysLAPDqq69aLX/55Zft1k1JSYHJZMLu3buVZUVFRXajwwYHBwMAhBDKMpPJhEWLFmmWw1f+9Kc/4cSJE1i6dKmy7NKlS3jttdfQoEED9OvXDwAQEREBAKqBGBG5hjUqRHXEE088gb/85S9YvHgx7rvvPrz++uvo3bs30tLScM8996BNmzb4/fffsWXLFvz222/YtWsXAKBjx47o378/unbtiiZNmmDbtm345JNP8OCDD2p+1tVXX41Ro0bhjTfegMlkQs+ePfHtt9/i4MGDduvecccdmDZtGoYPH44pU6agrKwM8+fPR7t27bBjxw5lvZtuugmhoaG45ZZb8Ne//hXnzp3DwoULERsbqxps+dK9996LN998E+PGjcP27duRlJSETz75BJs2bcLLL7+Mhg0bAqhO/u3YsSOWLl2Kdu3aoUmTJujcuTM6d+7s1/ISBTS9ux0RkffI3ZNzc3PtXquqqhIpKSkiJSVFXLp0SQghRH5+vrj77rtFixYtRL169UTLli3FzTffLD755BPlfc8995zo3r27aNSokQgPDxepqani+eefF5WVlco6al2Jy8vLxZQpU0TTpk1FZGSkuOWWW0RhYaFqd91vvvlGdO7cWYSGhor27duL999/X3WbK1asEOnp6aJ+/foiKSlJzJs3T7zzzjsCgCgoKFDWc6d7srOu11rb+/3338X48eNFs2bNRGhoqEhLSxOLFi2ye+/mzZtF165dRWhoKLsqE3lAEsKiHpWIiIjIQJijQkRERIbFQIWIiIgMi4EKERERGRYDFSIiIjIsBipERERkWAxUiIiIyLACesA3s9mM48ePo2HDhhyqmoiIKEAIIXD27FnEx8fbTe5pK6ADlePHjyMhIUHvYhAREZEHCgsL0apVK4frBHSgIg9TXVhYiKioKJ1LQ0RERK4oLS1FQkKCch93JKADFbm5JyoqioEKERFRgHElbYPJtERERGRYDFSIiIjIsBioEBERkWEFdI4KERHVHVVVVbh48aLexSAXhYaGOu167AoGKkREZGhCCJw4cQIlJSV6F4XcEBQUhOTkZISGhtZoOwxU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ERkWAxUiIiIyLAYqREREZFgMVIiIiMiwGKgQERGRYTFQISIiIsNioEJERESGxUCFiIiIDIuBChERERkWAxUiIiIyLAYqREREZFgMVIiIiMiwGKgQERGRYTFQISIiIsNioEJERESGxUCFiIiIDIuBChERERkWAxUiIiIyLAYqREREZFgMVIiIiMiwGKgQERGRYTFQISIiIsNioEJERESGxUCFiIiIDIuBChERERkWAxUiIiIyLAYqREREZFgMVIiIiMiwGKgQERGRYTFQISIiIsNioEJERESGxUCFiIiIDIuBChERERkWAxUiIiIyLAYqREREZFgMVIiIiMiwGKgQERGRYTFQISIiIsPSNVCZNWsWJEmy+peamqpnkYiIiMhAQvQuQKdOnfC///1P+TskRPciERERkUHoHhWEhISgRYsWeheDiIiIDEj3HJUDBw4gPj4ebdq0wejRo3H06FHNdSsqKlBaWmr1j4iIiGovXQOVHj16YPHixfjqq68wf/58FBQUoE+fPjh79qzq+jk5OYiOjlb+JSQk+LnERERE5E+SEELoXQhZSUkJWrdujRdffBETJ060e72iogIVFRXK36WlpUhISIDJZEJUVJQ/i0pEREQeKi0tRXR0tEv3b91zVCw1atQI7dq1w8GDB1VfDwsLQ1hYmJ9LRURERHrRPUfF0rlz55Cfn4+4uDi9i0JEREQGoGug8vjjj2P9+vU4fPgwNm/ejOHDhyM4OBijRo3Ss1hERERkELo2/fz2228YNWoU/vjjD8TExKB379744YcfEBMTo2exiIiIyCB0DVSWLFmi58cTERGRwRkqR4WIiIjIEgMVIiIiMiwGKkRERGRYDFSIiIjIsBioEBERkWExUCEiIiLDYqBCREREhsVAhYiIiAyLgQoREREZFgMVIiIiMiwGKkRERGRYDFSIiIjIsBioEBERkWExUCEiIiLDYqBCREREhsVAhYiIiAyLgQoREREZFgMVIiIiMiwGKkRERGRYDFSIiIjIsBioEBERkWExUCEiIiLDYqBCREREhsVAhYiIiAyLgQoREREZFgMVIiIiMiwGKkRERGRYDFSIiIjIsBioEBERkWExUCEiIiLDYqBCREREhsVAhYiIiAyLgQoREREZFgMVIiIiMiwGKkRERGRYDFSIiIjIsBioEBERkWExUNFZkakcm/OLUWQq17soREREhhOidwHqsqW5RzF92R6YBRAkATkj0jDy2kS9i0VERGQYrFHRSZGpXAlSAMAsgKeW7WXNChERkQUGKjopKD6vBCmyKiFwuLhMnwIREREZEAMVnSQ3i0SQZL0sWJKQ1CxCnwIREREZEAMVP5OTZ4HqnJRgqTpaCZYkzBnRGXHR4XoWj4iIyFCYTOtHasmzG7MH4HBxGZKaRTBIISIismGoGpW5c+dCkiRMnTpV76J4nVbyLABkpjRlkEJERKTCMIFKbm4u3nzzTaSnp+tdFJ9g8iwREZH7DBGonDt3DqNHj8bChQvRuHFjvYvjE0yeJSIicp8hApXJkydjyJAhGDhwoN5F8Zm46HAmzxIREblJ92TaJUuWYMeOHcjNzXW6bkVFBSoqKpS/S0tLfVk0rxt5bSL6toth8iwREZGLdA1UCgsL8fDDD2PNmjWoX7++0/VzcnIwe/ZsP5TMd+KiwxmgEBERuUgSQgjnq/nG8uXLMXz4cAQHByvLqqqqIEkSgoKCUFFRYfWaWo1KQkICTCYToqKi/Fp2IiIi8kxpaSmio6Ndun/rWqNyww03YM+ePVbLxo8fj9TUVEybNs0qSAGAsLAwhIWF+bOIREREpCNdA5WGDRuic+fOVssiIyPRtGlTu+VERERU9xii1w9Vk4fX5wzKRERE1XTv9WNr3bp1ehdBF2rD64+8NlHvYhEREemKNSoGoDW8PmtWiIiormOgYgAcXp+IiEgdAxUD4PD6RERE6hioGACH1yciIlJnuGTauorD6xMREdljoGIgHF6fiIjIGpt+iIiIyLAYqBAREZFhMVAhIiIiw2KgQkRERIbFQIWIiIgMi4EKERERGRYDFSIiIjIsBipERERkWAxUiIiIyLAYqBAREZFhMVAhIiIiw2KgQkRERIbl8qSEpaWlLm80KirKo8IQERERWXI5UGnUqBEkSXK4jhACkiShqqqqxgUjIiIicjlQWbt2rS/LQURERGTH5UClX79+viwHERERkR2XAxVbJSUlePvtt/HLL78AADp16oQJEyYgOjraa4UjIiKius2jXj/btm1DSkoKXnrpJZw+fRqnT5/Giy++iJSUFOzYscPbZSQiIqI6ShJCCHff1KdPH7Rt2xYLFy5ESEh1pcylS5cwadIkHDp0CBs2bPB6QdWUlpYiOjoaJpOJPY2IiIgChDv3b48ClfDwcOzcuROpqalWy3/++Wd069YNZWVl7m7SIwxUiIiIAo8792+Pmn6ioqJw9OhRu+WFhYVo2LChJ5skIiIisuNRoDJy5EhMnDgRS5cuRWFhIQoLC7FkyRJMmjQJo0aN8nYZiYiIqI7yqNfP//3f/0GSJNx99924dOkSAKBevXq4//77MXfuXK8WkIiIiOouj3JUZGVlZcjPzwcApKSkICIiwmsFcwVzVIiIiAKPO/dvj8dRAYCIiAikpaXVZBNEREREmjwKVC5cuIDXXnsNa9euxcmTJ2E2m61e51gqRERE5A0eBSoTJ07EN998gz//+c/o3r2708kKiYiIiDzhUaDy5ZdfYtWqVejVq5e3y0NERESk8Kh7csuWLTleChEREfmcR4HKCy+8gGnTpuHIkSPeLg8RERGRwqOmn27duuHChQto06YNIiIiUK9ePavXT58+7ZXCERERUd3mUaAyatQoHDt2DHPmzEHz5s2ZTEtEREQ+4VGgsnnzZmzZsgUZGRneLg8RERGRwqMcldTUVJSXl3u7LERERERWPApU5s6di8ceewzr1q3DH3/8gdLSUqt/RERERN7g0Vw/QUHV8Y1tbooQApIkoaqqyjulc4Jz/RAREQUen8/1s3btWo8KRkREROQOjwKVfv36ubTeAw88gGeeeQbNmjXz5GOIiIiojvMoR8VV77//vsOclfnz5yM9PR1RUVGIiopCZmYmVq9e7csiERERUQDxaaDiLP2lVatWmDt3LrZv345t27bh+uuvx6233oqffvrJl8UiIiKiAOFR04+33HLLLVZ/P//885g/fz5++OEHdOrUSadSERERkVHoGqhYqqqqwscff4zz588jMzNT7+IQERGRAegeqOzZsweZmZm4cOECGjRogM8++wwdO3ZUXbeiogIVFRXK3xyzhYiIqHbzaY6KK9q3b4+8vDxs3boV999/P8aOHYuff/5Zdd2cnBxER0cr/xISEvxcWiIiIvIntwOVS5cu4ZlnnsFvv/3mdN277rrL6UAuoaGhaNu2Lbp27YqcnBxkZGTglVdeUV13+vTpMJlMyr/CwkJ3i09EREQBxO1AJSQkBP/85z9x6dIlp+vOnz/f7TFUzGazVfOOpbCwMKUrs/yPiIiIai+PclSuv/56rF+/HklJSTX68OnTpyMrKwuJiYk4e/YsPvjgA6xbtw5ff/11jbZL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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# visualize with IDAES surrogate plotting tools\n", "surrogate_scatter2D(poly_surr, data_training, filename=\"pysmo_poly_train_scatter2D.pdf\")\n", @@ -525,108 +248,7 @@ "cell_type": "code", "execution_count": 6, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj4AAAHHCAYAAAC/R1LgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABPs0lEQVR4nO3deVxU9f4/8NewigijLLIEAgJXr6ZeQTOy1NQCv2r508rylmuaBprZdcubaYtLqbllVtelvFreUuuqWVqZZZqVSupNSbyQG7gMOaAmIHN+f3BnYoAZZjtzttfz8eChzBxmPjMM57zO5/P+fI5OEAQBRERERBrgI3UDiIiIiLyFwYeIiIg0g8GHiIiINIPBh4iIiDSDwYeIiIg0g8GHiIiINIPBh4iIiDSDwYeIiIg0g8GHiIiINIPBh4hIhtauXQudTofCwkKpm0KkKgw+RBr1ww8/ICcnB23btkVwcDBatGiBhx56CL/88kudbXv06AGdTgedTgcfHx+EhoaiVatWeOyxx7Br1y6nnnfr1q3o3r07mjdvjsaNG6Nly5Z46KGH8Omnn3rqpdUxZ84cfPTRR3Vu37dvH2bNmoUrV66I9ty1zZo1y/Je6nQ6NG7cGG3atMHf//53lJaWeuQ5NmzYgMWLF3vksYjUhsGHSKPmz5+PTZs2oVevXliyZAnGjBmDr7/+GmlpaTh27Fid7ePi4rBu3Tq8++67ePXVV3Hfffdh3759uPfeezF48GBUVlY2+JwLFizAfffdB51Oh+nTp+O1117DoEGDcPLkSbz//vtivEwA9oPP7NmzvRp8zN544w2sW7cOixYtQuvWrfHyyy8jKysLnrh8IoMPkW1+UjeAiKQxadIkbNiwAQEBAZbbBg8ejHbt2mHevHn45z//abW9Xq/Ho48+anXbvHnzMGHCBKxYsQKJiYmYP3++zee7efMmXnzxRdxzzz3YuXNnnfsvXrzo5iuSj+vXr6Nx48Z2t3nggQcQEREBABg7diwGDRqEzZs347vvvkNGRoY3mkmkSezxIdKoO+64wyr0AEBqairatm2L48ePO/QYvr6+WLp0Kdq0aYPly5fDaDTa3Pby5csoLS1F165d672/efPmVt/fuHEDs2bNwp/+9Cc0atQIMTExGDhwIE6dOmXZZsGCBbjjjjsQHh6OoKAgpKen48MPP7R6HJ1Oh2vXruGdd96xDC8NHz4cs2bNwuTJkwEASUlJlvtq1tT885//RHp6OoKCghAWFoaHH34YZ86csXr8Hj164NZbb8XBgwfRrVs3NG7cGM8++6xD719NPXv2BAAUFBTY3W7FihVo27YtAgMDERsbi+zsbKseqx49emD79u349ddfLa8pMTHR6fYQqRV7fIjIQhAEXLhwAW3btnX4Z3x9ffHII4/gueeew969e9G3b996t2vevDmCgoKwdetWjB8/HmFhYTYfs6qqCv369cMXX3yBhx9+GE899RTKysqwa9cuHDt2DMnJyQCAJUuW4L777sNf//pXVFRU4P3338eDDz6Ibdu2Wdqxbt06PP7447jtttswZswYAEBycjKCg4Pxyy+/4L333sNrr71m6X2JjIwEALz88st47rnn8NBDD+Hxxx/HpUuXsGzZMnTr1g2HDx9G06ZNLe01GAzo06cPHn74YTz66KOIiopy+P0zMwe68PBwm9vMmjULs2fPRu/evTFu3Djk5eXhjTfewA8//IBvv/0W/v7+mDFjBoxGI86ePYvXXnsNANCkSROn20OkWgIR0f+sW7dOACCsWrXK6vbu3bsLbdu2tflzW7ZsEQAIS5Yssfv4M2fOFAAIwcHBQp8+fYSXX35ZOHjwYJ3tVq9eLQAQFi1aVOc+k8lk+f/169et7quoqBBuvfVWoWfPnla3BwcHC8OGDavzWK+++qoAQCgoKLC6vbCwUPD19RVefvllq9uPHj0q+Pn5Wd3evXt3AYCwcuVKm6+7pueff14AIOTl5QmXLl0SCgoKhDfffFMIDAwUoqKihGvXrgmCIAhr1qyxatvFixeFgIAA4d577xWqqqosj7d8+XIBgLB69WrLbX379hUSEhIcag+R1nCoi4gAACdOnEB2djYyMjIwbNgwp37W3KNQVlZmd7vZs2djw4YN6NixIz777DPMmDED6enpSEtLsxpe27RpEyIiIjB+/Pg6j6HT6Sz/DwoKsvz/t99+g9FoxF133YVDhw451f7aNm/eDJPJhIceegiXL1+2fEVHRyM1NRW7d++22j4wMBAjRoxw6jlatWqFyMhIJCUl4YknnkBKSgq2b99uszbo888/R0VFBSZOnAgfnz923aNHj0ZoaCi2b9/u/Asl0iAOdRERiouL0bdvX+j1enz44Yfw9fV16uevXr0KAAgJCWlw20ce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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkYAAAHHCAYAAABa2ZeMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABJvElEQVR4nO3dd3hUVf7H8c8kpEIKJSGUhKoU8QcIgokFYZHAqsCKuogCEURREBEsRJQQEIiIKFjAFSmrKFiRBSUiRVTiqkiREhQkUgOoJBGQ1Pv7gzDrOBNMwmTulPfreebJ3nPv3PkOdzEfzjn3XIthGIYAAAAgP7MLAAAAcBcEIwAAgFIEIwAAgFIEIwAAgFIEIwAAgFIEIwAAgFIEIwAAgFIEIwAAgFIEIwAAgFIEIwAeyWKxaOLEiWaXYZWUlKTGjRubXQaAC0QwAuA0CxculMVisb6Cg4N18cUXa+TIkTp69GiVfvbGjRs1ceJE5eTkOPW81157rc13qlWrli6//HLNnz9fJSUlTvmMqVOnatmyZU45F4ALU83sAgB4n0mTJqlJkyY6c+aMPv/8c82ZM0cffvihtm/frtDQUKd8xu+//65q1f73n7CNGzcqNTVVSUlJioyMdMpnnNOwYUNNmzZNknT8+HH9+9//1tChQ/X9998rLS3tgs8/depU3Xzzzerbt+8FnwvAhSEYAXC6Xr16qWPHjpKku+66S7Vr19bMmTP1wQcf6Lbbbqv0eUtKSlRQUKDg4GAFBwc7q9y/FBERoTvuuMO6fc8996hFixZ64YUXNHnyZAUEBLisFgBVi6E0AFWuW7dukqR9+/ZJkmbMmKGEhATVrl1bISEh6tChg9555x2791ksFo0cOVKLFy/WJZdcoqCgIK1atcq679wco4kTJ+rhhx+WJDVp0sQ67JWVlaUuXbqobdu2Dutq0aKFEhMTK/x9QkNDdcUVV+jUqVM6fvx4mcedOnVKY8eOVWxsrIKCgtSiRQvNmDFDhmHYfMdTp05p0aJF1rqTkpIqXBMA56DHCECV27t3rySpdu3akqRZs2apd+/euv3221VQUKAlS5bolltu0YoVK3T99dfbvHft2rV66623NHLkSNWpU8fhBOebbrpJ33//vd588009++yzqlOnjiQpKipKAwcO1LBhw7R9+3a1adPG+p6vv/5a33//vR5//PFKfacff/xR/v7+ZQ7bGYah3r17a926dRo6dKjatWun9PR0Pfzwwzp06JCeffZZSdJrr72mu+66S506ddLdd98tSWrWrFmlagLgBAYAOMmCBQsMScYnn3xiHD9+3Dhw4ICxZMkSo3bt2kZISIhx8OBBwzAM4/Tp0zbvKygoMNq0aWN069bNpl2S4efnZ+zYscPusyQZKSkp1u2nn37akGTs27fP5ricnBwjODjYePTRR23aR40aZVSvXt04efLkeb9Tly5djJYtWxrHjx83jh8/buzatcsYNWqUIcm48cYbrccNHjzYaNSokXV72bJlhiTjySeftDnfzTffbFgsFmPPnj3WturVqxuDBw8+bx0AXIOhNABO1717d0VFRSk2Nlb9+/dXjRo19P7776tBgwaSpJCQEOuxJ06cUG5urq6++mp9++23dufq0qWLWrduXelaIiIi1KdPH7355pvWIazi4mItXbpUffv2VfXq1f/yHJmZmYqKilJUVJRatWql559/Xtdff73mz59f5ns+/PBD+fv7a9SoUTbtY8eOlWEY+uijjyr9nQBUHYbSADjdiy++qIsvvljVqlVT3bp11aJFC/n5/e/fYStWrNCTTz6pLVu2KD8/39pusVjsztWkSZMLrmfQoEFaunSpPvvsM11zzTX65JNPdPToUQ0cOLBc72/cuLFeeeUV6xIEF110kaKjo8/7np9++kn169dXWFiYTXurVq2s+wG4H4IRAKfr1KmT9a60P/vss8/Uu3dvXXPNNXrppZdUr149BQQEaMGCBXrjjTfsjv9j71JlJSYmqm7dunr99dd1zTXX6PXXX1dMTIy6d+9ervdXr1693McC8GwMpQFwqXfffVfBwcFKT0/XkCFD1KtXL6eEDke9Tef4+/trwIABeuedd3TixAktW7ZMt912m/z9/S/4c8vSqFEjHT58WL/99ptNe2ZmpnX/OeerHYBrEYwAuJS/v78sFouKi4utbVlZWRe88vO5uUJlrXw9cOBAnThxQvfcc49Onjxpsy5RVfj73/+u4uJivfDCCzbtzz77rCwWi3r16mVtq169utNX7AZQOQylAXCp66+/XjNnzlTPnj01YMAAHTt2TC+++KKaN2+ubdu2Vfq8HTp0kCSNHz9e/fv3V0BAgG688UZrYGrfvr3atGmjt99+W61atdJll13mlO9TlhtvvFFdu3bV+PHjlZWVpbZt2+rjjz/WBx98oNGjR9vckt+hQwd98sknmjlzpurXr68mTZqoc+fOVVofAMfoMQLgUt26ddOrr76q7OxsjR49Wm+++aaeeuop/eMf/7ig815++eWaPHmytm7dqqSkJN122212iy8OGjRIkso96fpC+Pn5afny5Ro9erRWrFih0aNHa+fOnXr66ac1c+ZMm2NnzpypDh066PHHH9dtt92mOXPmVHl9AByzGMYflmAFAC82a9YsPfjgg8rKylJcXJzZ5QBwQwQjAD7BMAy1bdtWtWvX1rp168wuB4CbYo4RAK926tQpLV++XOvWrdN3332nDz74wOySALgxeowAeLWsrCw1adJEkZGRuu+++zRlyhSzSwLgxghGAAAApbgrDQAAoJTHBKNp06bp8ssvV1hYmKKjo9W3b1/t3r3b5pgzZ85oxIgRql27tmrUqKF+/frp6NGjJlUMAAA8jccMpfXs2VP9+/fX5ZdfrqKiIj322GPavn27du7caV3A7d5779XKlSu1cOFCRUREaOTIkfLz89MXX3xR7s8pKSnR4cOHFRYWxjL9AAB4CMMw9Ntvv6l+/fo2D62uzIk80rFjxwxJxqeffmoYhmHk5OQYAQEBxttvv209ZteuXYYkIyMjo9znPXDggCGJFy9evHjx4uWBrwMHDlxQvvDY2/Vzc3MlSbVq1ZIkbdq0SYWFhTYPo2zZsqXi4uKUkZGhK664wuF58vPzlZ+fb902SjvQDhw4oPDw8KoqHwAAOFFeXp5iY2MVFhZ2QefxyGBUUlKi0aNH68orr1SbNm0kSdnZ2QoMDFRkZKTNsXXr1lV2dnaZ55o2bZpSU1Pt2sPDwwlGAAB4mAudBuMxk6//aMSIEdq+fbuWLFlywedKTk5Wbm6u9XXgwAEnVAgAADyRx/UYjRw5UitWrNCGDRvUsGFDa3tMTIwKCgqUk5Nj02t09OhRxcTElHm+oKAgBQUFVWXJAADAQ3hMj5FhGBo5cqTef/99rV27Vk2aNLHZ36FDBwUEBGjNmjXWtt27d2v//v2Kj493dbkAAMADeUyP0YgRI/TGG2/ogw8+UFhYmHXeUEREhEJCQhQREaGhQ4dqzJgxqlWrlsLDw3X//fcrPj6+zInXlVVcXKzCwkKnnhPuKSAgQP7+/maXAQBwEY9Zx6isyVQLFixQUlKSpLMLPI4dO1Zvvvmm8vPzlZiYqJdeeum8Q2l/lpeXp4iICOXm5tpNvjYMQ9nZ2crJyans14AHioyMVExMDOtaAYAbO9/v74rwmGDkKuf7gz1y5IhycnIUHR2t0NBQflF6OcMwdPr0aR07dkyRkZGqV6+e2SUBAMrgrGDkMUNpZisuLraGotq1a5tdDlwkJCREknTs2DFFR0czrAYAXs5jJl+b7dycotDQUJMrgaudu+bMKwMA70cwqiCGz3wP1xwAfAfBCAAAoBTBCAAAoBTByAckJSXJYrHIYrEoICBAdevW1XXXXaf58+erpKSk3OdZuHCh3bPoAADwJgQjH9GzZ08dOXJEWVlZ+uijj9S1a1c98MADuuGGG1RUVGR2eQAAuAWCkY8ICgpSTEyMGjRooMsuu0yPPfaYPvjgA3300UdauHChJGnmzJm69NJLVb16dcXGxuq+++7TyZMnJUnr16/XnXfeqdzcXGvv08SJEyVJr732mjp27KiwsDDFxMRowIABOnbsmEnfFADgrj74wFBCQomWLze7krIRjC6AYRgqKCgw5eWMdTm7deumtm3b6r333pMk+fn5afbs2dqxY4cWLVqktWvX6pFHHpEkJSQk6LnnnlN4eLiOHDmiI0eO6KGHHpJ09jb2yZMna+vWrVq2bJmysrKsq5EDACBJ69at05Ytk9Sq1UKlpZldTdlY4PECFBYWatq0aaZ8dnJysgIDAy/4PC1bttS2bdskSaNHj7a2N27cWE8++aSGDx+ul156SYGBgYqIiJDFYrF7xMqQIUOs/7tp06aaPXu2Lr/8cp08eVI1atS44BoBAJ6rsLBQU6dOtW7HxR1Q796GJPdcCoVg5OMMw7Cu0/PJJ59o2rRpyszMVF5enoqKinTmzBmdPn36vAtbbtq0SRMnTtTWrVt14sQJ64Tu/fv3q3Xr1i75HgAA95OZmamlS5fatD300EOqXt09Q5FEMLogAQEBSk5ONu2znWHXrl1q0qSJsrKydMMNN+jee+/VlClTVKtWLX3++ecaOnSoCgoKygxGp06dUmJiohITE7V48WJFRUVp//79SkxMVEFBgVNqBAB4ntTUVJvtNm3aqF+/fiZVU34EowtgsVicMpxllrVr1+q7777Tgw8+qE2bNqmkpETPPPOM/PzOTj176623bI4PDAxUcXGxTVtmZqZ++eUXpaWlKTY2VpL0zTffuOYLAADczsGDB/Xqq6/atA0ZMsT6O8LdEYx8RH5+vrKzs1VcXKyjR49q1apVmjZtmm644QYNGjRI27dvV2FhoZ5//nndeOON+uKLLzR37lybczRu3FgnT57UmjVr1LZtW4WGhiouLk6BgYF6/vnnNXz4cG3fvl2TJ0826VsCAMw0a9Ys5eTk2LQ5a06sq3BXmo9YtWqV6tWrp8aNG6tnz55at26dZs+erQ8++ED+/v5q27atZs6cqaeeekpt2rTR4sWL7SaWJyQkaPjw4frnP/+pqKgoTZ8+XVFRUVq4cKHefvtttW7dWmlpaZoxY4ZJ3xIAYIbCwkKlpqbahKKwsDClpKR4VCiSJIvhjPu+vUheXp4iIiKUm5ur8PBwa/uZM2e0b98+NWnSRMHBwSZWCFfj2gNA2b788kulp6fbtN15552Ki4vT8uVSWpo0bpzUu3fV1lHW7++KYigNAABUyp8nWEvShAkTrHc7p6VJGRlnf1Z1MHIWghEAAKiQJUsOa/fuV2zaOnXqpF69etm0jRv3vx4jT0EwAgAA5eaol+js2kTV7dp79/acnqJzCEYAAOAvFRUVacqUKXbtKSkpJlRTdQhGAADgvJYsWaLdu3fbtH35ZSfl5vaSl+UighEAACibo6Gzdu0eV3q6v0fNHSovghEAALCTlZWlRYsW2bWfGzrr08fVFbkGwQgAANhw1EtUWDhQTz7Z1IRqXIuVrwEAgCTJMAyHoWjixBTNmuX9oUiixwhOlJSUpJycHC1btkySdO2116pdu3Z67rnnKn1OZ5wDAPDXZsyYoVOnTtm1FxSkqEYNadQoE4oyAcHIByQlJVnHiQMCAhQXF6dBgwbpscceU7VqVfd/gffee08BAQHlOnb9+vXq2rWrTpw4ocjIyEqdAwBQOY56iZ5++iH93/9V18aNkoO79L0WwchH9OzZUwsWLFB+fr4+/PBDjRgxQgEBAUpOTrY5rqCgwGkP/KtVq5ZbnAMA4Nju3bu1ZMkSu/aCghT93/951orVzsIcIx8RFBSkmJgYNWrUSPfee6+6d++u5cuXKykpSX379tWUKVNUv359tWjRQpJ04MAB3XrrrYqMjFStWrXUp08fZWVlWc9XXFysMWPGKDIyUrVr19YjjzyiPz+P+Nprr9Xo0aOt2/n5+Xr00UcVGxuroKAgNW/eXK+++qqysrLUtWtXSVLNmjVlsViUlJTk8BwnTpzQoEGDVLNmTYWGhqpXr1764YcfrPsXLlyoyMhIpaenq1WrVqpRo4Z69uypI0eOWI9Zv369OnXqpOrVqysyMlJXXnmlfvrpJyf9SQOAZ0hNTbULRfv3t9LEiSlat07auNHzVq12BoKRjwoJCVFBQYEkac2aNdq9e7dWr16tFStWqLCwUImJiQoLC9Nnn32mL774whowzr3nmWee0cKFCzV//nx9/vnn+vXXX/X++++f9zMHDRqkN998U7Nnz9auXbv08ssvq0aNGoqNjdW7774r6ey/Xo4cOaJZs2Y5PEdSUpK++eYbLV++XBkZGTIMQ3//+99VWFhoPeb06dOaMWOGXnvtNW3YsEH79+/XQw89JOnsyq19+/ZVly5dtG3bNmVkZOjuu++2PvAQAHyBo6Gzp55KUZ8+tyo+3jd7is5hKM3HGIahNWvWKD09Xffff7+OHz+u6tWra968edYhtNdff10lJSWaN2+eNTAsWLBAkZGRWr9+vXr06KHnnntOycnJuummmyRJc+fOVXp6epmf+/333+utt97S6tWr1b17d0lS06b/u8Ph3JBZdHS0zRyjP/rhhx+0fPlyffHFF0pISJAkLV68WLGxsVq2bJluueUWSVJhYaHmzp2rZs2aSZJGjhypSZMmSZLy8vKUm5urG264wbq/VatWFf+DBAAP5CgQSdKMGSl68EHPfLaZs9FjZJLly6WEhLM/XWHFihWqUaOGgoOD1atXL/3zn//UxIkTJUmXXnqpzbyirVu3as+ePQoLC1ONGjVUo0YN1apVS2fOnNHevXuVm5urI0eOqHPnztb3VKtWTR07dizz87ds2SJ/f3916dKl0t9h165dqlatms3n1q5dWy1atNCuXbusbaGhodbQI0n16tXTsWPHJJ0NYElJSUpMTNSNN96oWbNm2QyzAYC3chSKbrnlFqWkpOi333xrgvX50GNkkrQ0KSPj7E9XpPOuXbtqzpw5CgwMVP369W3uRvvzE5FPnjypDh06aPHixXbniYqKqtTnh4SEVOp9lfHnu9gsFovN/KcFCxZo1KhRWrVqlZYuXarHH39cq1ev1hVXXOGyGgHAVY4ePaq5c+fatXvbw1+dhR4jk4wbJ5eO41avXl3NmzdXXFzcX96if9lll+mHH35QdHS0mjdvbvOKiIhQRESE6tWrp//+97/W9xQVFWnTpk1lnvPSSy9VSUmJPv30U4f7z/VYFRcXl3mOVq1aqaioyOZzf/nlF+3evVutW7c+73f6s/bt2ys5OVkbN25UmzZt9MYbb1To/QDgCVJTUx2GovR0QlFZCEYm6d3bfWf833777apTp4769Omjzz77TPv27dP69es1atQoHTx4UJL0wAMPKC0tTcuWLVNmZqbuu+8+5eTklHnOxo0ba/DgwRoyZIiWLVtmPedbb70lSWrUqJEsFotWrFih48eP6+TJk3bnuOiii9SnTx8NGzZMn3/+ubZu3ao77rhDDRo0UJ9yPrRn3759Sk5OVkZGhn766Sd9/PHH+uGHH5hnBMDrOBo6mzfvCaWnp/j05Oq/QjCCndDQUG3YsEFxcXG66aab1KpVKw0dOlRnzpxReHi4JGns2LEaOHCgBg8erPj4eIWFhekf//jHec87Z84c3XzzzbrvvvvUsmVLDRs2zLrKaoMGDZSamqpx48apbt26GjlypMNzLFiwQB06dNANN9yg+Ph4GYahDz/8sNyLQIaGhiozM1P9+vXTxRdfrLvvvlsjRozQPffcU4E/IQBwX9OnTy/zsR7Vq/u57T/K3YXF+PPiMz4uLy9PERERys3NtYYASTpz5oz27dunJk2aKDg42MQK4WpcewCewlEgysxsoS1b+qtmzbPTN7w1FJX1+7uimHwNAICHO3PmjJ566im79okTzz7nbPFi7w1EzkYwAgDAg5W1NlFBQYr1Jh9CUfkRjAAA8FCOQtEll4zWzTdHmFCNdyAYAQDgYT744ANt2bLFrp21iS4cd6VVEHPVfQ/XHIA7SU1NdRiKWJvIOegxKqdzt4OfPn3apas4w3ynT5+WZL+iNgC4kmEY1uc+/lFBQYrWrfPtB786E8GonPz9/RUZGWl95lZoaChPZPdyhmHo9OnTOnbsmCIjI+Xv7292SQB8VFkTrCdOPDvBeuNGFxfkxQhGFRATEyNJ1nAE3xAZGWm99gDgao5C0ebN/9Qll7R06aOlfAXBqAIsFovq1aun6OhoFRYWml0OXCAgIICeIgCm2LZtm95//3279vT0FHqIqhDBqBL8/f35ZQkAqDJlDZ3xnLOqRzACAMCNOApFEyZMkMViEXfjVz2CEQAAbqCsXiLWJnItghEAACZzFIratWunPn36mFCNbyMYAQBgkp9//lkvvviiXXt6egrDZiYhGAEAYAImWLsnghEAAC7mKBQ9+uijCg4OpqfIZAQjAABcZMqUKSoqKrJrb98+RcHBJhQEOwQjAABcoKyhs/btU9S7t4uLQZkIRgAAVKGioiJNmTLFrp0VrN0TwQgAgCrCBGvPQzACAKAKOApFQ4cOVcOGDZlg7cYIRgAAONHq1au10cEYGStYewaCEQAATsJjPTwfwQgAACdwFIomTkzRBx+YUAwqjWAEAMAFKKuXaNKkFN18s7gV38MQjAAAqITx46XAQPtQVL/+dRo2LIEJ1h6KYAQAQAUtXrxPgYH/tmtnLpHnIxgBAFBOy5dLmzczwdqb+ZldAAAAnsJRKEpPf0Lt2xOKvAU9RgAA/IXz3YZPR5F38coeoxdffFGNGzdWcHCwOnfurK+++srskgAAHspRKPr110b0Enkpr+sxWrp0qcaMGaO5c+eqc+fOeu6555SYmKjdu3crOjra7PIAAB7i1KlTmjFjhl07c4m8m8UwDMPsIpypc+fOuvzyy/XCCy9IkkpKShQbG6v7779f48rxxL68vDxFREQoNzdX4eHhVV0uAMANsYK153HW72+v6jEqKCjQpk2blJycbG3z8/NT9+7dlZGR4fA9+fn5ys/Pt27n5eVVeZ0AAPflKBSNGTNGYWFhJlQDV/OqYPTzzz+ruLhYdevWtWmvW7euMjMzHb5n2rRpZf7LAADgO5599k3l5X1v104vkW/xysnXFZGcnKzc3Fzr68CBA2aXBABwsdTUVEIRJHlZj1GdOnXk7++vo0eP2rQfPXpUMTExDt8TFBSkoKAgV5QHAHAzhmFo0qRJdu0EIt/lVT1GgYGB6tChg9asWWNtKykp0Zo1axQfH29iZQAAd5OamuowFM2YQSjyZV7VYySdnSA3ePBgdezYUZ06ddJzzz2nU6dO6c477zS7NACAm3A0t7So6CY999ylGjXKhILgNrwuGP3zn//U8ePHNWHCBGVnZ6tdu3ZatWqV3YRsAIDv2bBhg9atW2fXfm7obPJkV1cEd+N16xhdKNYxAgDvw8NfvR/rGAEAUE6OQhGBCI4QjAAAXosVrFFRBCMAgFdyFIpatGih/v37m1ANPAXBCADgVQ4dOqR58+bZtdNLhPIgGAEAvAZDZ7hQBCMAgFdwFIqSk5MVGBhoQjXwVAQjAIDH4jZ8OJtXPRIEAOBbCEVwNnqMAAAeZfly6emn89W9e5rdPgIRLhTBCADgUTZvTlX37vbthCI4A0NpAACP4WiCdUbGXWrfnlAE56DHCADg9pYsWaLdu3fbtdNLBGcjGAEA3BprE8GVCEYAALflKBQRiFCVCEYAALdDLxHMQjACALiNshZs3LChmx544GoTKoKvIRgBANzCt99+q82b/2PXnp6eonHjpN69TSgKPodgBAAw3fmGzhg9gysRjAAApnIUiiZMmCCLxWJCNfB1BCMAgCmYYA13xMrXAACXcxSKiooCWMEapqPHCADgMidOnNDs2bPt2uklgrsgGAEAXKKsoTN6ieBOCEYAgCrnKBQ9+OCDCg8PN6EaoGwEIwBAlUlNnSTJsGtn6AzuimAEAKgS3HUGT0QwAgA4VUlJiSZPnmzXTiCCJyAYAQCchl4ieDqCEQDAKRyFoltvvVWtWrUyoRqgcghGAIALsmLFCm3atMmunV4ieCKCEQCg0hg6g7chGAEAKsVRKCIQwdMRjAAAFUIvEbwZwQgAUG6OQlGLFi3Uv39/E6oBnI9gBAD4S3v37tXrr79u104vEbwNwQgAcF4MncGXEIwAAGVyFIratn1MffsGmFANUPUIRgAAO/QSwVf5mV0AAMC9EIrgy+gxAgBIkn7//XdNnz7drp1ABF9CMAIA0EsElGIoDQB8nKNQNHfuPUpPJxTB99BjBAA+6pVXXtHhw4ft2pcsSVFEhDRunAlFASYjGAGADzrf0BmjZ/BlBCMA8CGGYWjSpEl27cwlAs4iGAGAj2CCNfDXCEYA4MWWL5fS0qTERPtQdN111ykhIcGEqgD3RTACAC/2xhtfKTHxI7t2eokAxwhGAOClUlNT1aqVfTuhCCgbwQgAvJCj+UQTJkyQxWIxoRrAcxCMAMCLMMEauDAEIwDwEo5CUZ06dTRixAgTqgE8U4WDkb+/v44cOaLo6Gib9l9++UXR0dEqLi52WnEAgL/2888/68UXX7Rrb98+Rb17m1AQ4MEqHIwMw3DYnp+fr8DAwAsuCABQfmUNnU2cmKL4eBGMgAoqdzCaPXu2JMlisWjevHmqUaOGdV9xcbE2bNigli1bOr9CAIBDjkLR9OkPKzY2VPHxPOsMqIxyB6Nnn31W0tkeo7lz58rf39+6LzAwUI0bN9bcuXOdXyEAwEZZvUTt26eobduzgYieIqByyh2M9u3bJ0nq2rWr3nvvPdWsWbPKigIAOPZXd50RiIALU+E5RuvWrauKOgAA57FsWbG2bn3Srp3b8AHnqnAwGjJkyHn3z58/v9LFAADssTYR4DoVDkYnTpyw2S4sLNT27duVk5Ojbt26Oa0wAIDjUNSs2UDdcUdTE6oBvF+Fg9H7779v11ZSUqJ7771XzZo1c0pRAODrVq5cqW+++cau/dxt+HfcYUJRgA/wc8pJ/Pw0ZswY651rAIDKS01NdRiK2rdP4TZ8oIo57ZEge/fuVVFRkbNOBwA+ydHQWXp6ivUWfO46A6pWhYPRmDFjbLYNw9CRI0e0cuVKDR482GmFAYAvOd8Ea+ZYA65T4WC0efNmm20/Pz9FRUXpmWee+cs71gAA9hyFok6dOqlXr14mVAP4NtYxAgCT7NmzR4sXL7Zr5zZ8wDyVnmN07Ngx7d69W5LUokULRUdHO60oAPB2rE0EuKcK35WWl5engQMHqn79+urSpYu6dOmiBg0a6I477lBubm5V1KisrCwNHTpUTZo0UUhIiJo1a6aUlBQVFBTYHLdt2zZdffXVCg4OVmxsrKZPn14l9QDAhXAUih5//HFCEeAGKtxjNGzYMG3evFkrV65UfHy8JCkjI0MPPPCA7rnnHi1ZssTpRWZmZqqkpEQvv/yymjdvru3bt2vYsGE6deqUZsyYIelsYOvRo4e6d++uuXPn6rvvvtOQIUMUGRmpu+++2+k1AUBF0UsEuD+LYRhGRd5QvXp1paen66qrrrJp/+yzz9SzZ0+dOnXKqQWW5emnn9acOXP0448/SpLmzJmj8ePHKzs7W4GBgZKkcePGadmyZcrMzCz3efPy8hQREaHc3FyFh4dXSe0AfMPy5VJa2tl1hzZvJhQBVclZv78r3GNUu3ZtRURE2LVHRESoZs2alS6konJzc1WrVi3rdkZGhq655hprKJKkxMREPfXUUzpx4kSZteXn5ys/P9+6nZeXV3VFA/ApaWnStm2ntHnzDLt9BCLAPVV4jtHjjz+uMWPGKDs729qWnZ2thx9+WE888YRTiyvLnj179Pzzz+uee+6xqaFu3bo2x53b/mOtfzZt2jRFRERYX7GxsVVTNACfk5iYqocftg9F6emEIsBdVTgYzZkzR19++aXi4uLUvHlzNW/eXHFxcdq4caNefvllXXbZZdbXXxk3bpwsFst5X38eBjt06JB69uypW265RcOGDato+XaSk5OVm5trfR04cOCCzwnA9yxfLiUknP0pOZ5P1KrVSOsq1gDcU4WH0vr06SOLxeKUDx87dqySkpLOe0zTpv97gvThw4fVtWtXJSQk6F//+pfNcTExMTp69KhN27ntmJiYMs8fFBSkoKCgClYOALbS0qSMDGnDhjnavPmY3f5zQ2e33urqygBURIWD0cSJE5324VFRUYqKiirXsYcOHVLXrl3VoUMHLViwQH5+tp1d8fHxGj9+vAoLCxUQECBJWr16tVq0aOHSuU8AfBMTrAHvUOGhtKZNm+qXX36xa8/JybHp3XGmQ4cO6dprr1VcXJxmzJih48ePKzs722bu0IABAxQYGKihQ4dqx44dWrp0qWbNmmX3bDcAcDbDMByGorPPOSMUAZ6kwj1GWVlZKi4utmvPz8/XwYMHnVLUn61evVp79uzRnj171LBhQ5t951YbiIiI0Mcff6wRI0aoQ4cOqlOnjiZMmMAaRgCqVFlrE7VvTyACPFG51zFaXjqjsG/fvlq0aJHNLfvFxcVas2aNVq9ebX1MiKdiHSMA5eUoFG3b1lfvvddW8fHSxo0mFAX4KJevY9S3b19JksVi0eDBg232BQQEqHHjxnrmmWcqXQgAeIpvvvlGK1eutGtPSUnR8uXSkSPizjPAQ5U7GJWUlEiSmjRpoq+//lp16tSpsqIAwF2VNXS2ffvZobPevc++AHimCs8x2rdvX1XUAQBuz1EomjEjRSdPSjVqmFAQAKercDCaNGnSefdPmDCh0sUAgDs638NfCwqk2bOlUaNcXBSAKlHhh8i2b9/eZruwsFD79u1TtWrV1KxZM3377bdOLdDVmHwN4I8chaIjRy7R3Lk3m1ANgLKY9hDZzZs3OywmKSlJ//jHPypdCAC4k6NHj2ru3Ll27TzSA/BuFe4xKst3332nG2+8UVlZWc44nWnoMQJwvqEzAO7JWb+/K7zydVnOPYQVADyZo1A0bdo4pacTigBfUOGhtNmzZ9tsG4ahI0eO6LXXXlOvXr2cVhgAuNKkSZPkqAO9ffsUXXYZ6xIBvqLCQ2lNmjSx2fbz81NUVJS6deum5ORkhYWFObVAV2MoDfA9DJ0Bns+0ydesYwTAWxQWFmrq1Kl27RMnpig+XiIXAb6nwsFIknJycrRnzx5JUvPmzRUZGenMmgCgyp3v4a/x8QydAb6qQsEoKytLI0aMUHp6unUs3mKxqGfPnnrhhRfUuHHjqqgRAJzKUSi666671KBBA0k80gPwZeUORgcOHNAVV1yhgIAATZ48Wa1atZIk7dy5U3PmzFF8fLy+/vprNWzYsMqKBYALsXLlSn3zzTd27cwlAnBOuSdfDx06VHv27FF6erqCg4Nt9v3+++/q2bOnLrroIs2bN69KCnUVJl8D3okJ1oB3c/nk61WrVmnp0qV2oUiSQkJCNHnyZPXv37/ShQBAVXEUighEABwpdzD6+eefzzuHqGnTpvr111+dURMAOAW9RAAqqtzBqF69etq5c2eZc4i2b9+umJgYpxUGABfCUSjq3r27rrzyShOqAeApyh2M+vbtq4ceekhr1qxRVFSUzb5jx47p0UcfVd++fZ1dHwBUyJ49e7R48WK7dnqJAJRHuSdfnzhxQp07d1Z2drbuuOMOtWzZUoZhaNeuXXrjjTcUExOjL7/8UrVq1arqmqsUk68Bz8XQGeC7XD75umbNmvrvf/+rxx57TEuWLFFOTo4kKTIyUgMGDNDUqVM9PhQB8FyOQlG7dk+oTx+nPSsbgA+o8LPSpLMPjj1+/LgkKSoqShaLxemFmYUeI8Cz0EsEQDLxWWnS2dWuo6OjK/2hAOAMjkJRw4YNNXToUBOqAeANKhWMAMBMJ0+e1DPPPGPXTi8RgAtFMALgURg6A1CVCEYAPIajUDRmzBiFhYWZUA0Ab0QwAuD25s+frwMHDti100sEwNnKFYxmz55d7hOOGjWq0sUAwJ8xdAbAlcp1u36TJk3KdzKLRT/++OMFF2UmbtcH3INhGJo0aZJdO4EIgCMuvV1/3759lf4AAKiosnqJ0tNTRC4CUJUqvSRsQUGBdu/eraKiImfWA8DHOQpFTZsOUHp6isaNM6EgAD6lwpOvT58+rfvvv1+LFi2SJH3//fdq2rSp7r//fjVo0EDj+C8XgErYtGmTVqxYYdd+buhs4EBXVwTAF1W4xyg5OVlbt27V+vXrFRwcbG3v3r27li5d6tTiAPiG1NTU84YiAHCVCvcYLVu2TEuXLtUVV1xh84y0Sy65RHv37nVqcQC8n6OhMwIRALNUOBgdP37c4XPSTp065VUPkwVQtc53G/7y5VJamjRunNS7t4sLA+DTKjyU1rFjR61cudK6fS4MzZs3T/Hx8c6rDIDXchSKduy4SkuW/C8UZWSc/QkArlThHqOpU6eqV69e2rlzp4qKijRr1izt3LlTGzdu1KeffloVNQLwEj///LNefPFFu/aUlBQlJEiZmdIjj0gWi9SihbgLDYDLVbjH6KqrrtKWLVtUVFSkSy+9VB9//LGio6OVkZGhDh06VEWNALxAampqmaFIOhuC4uPPhqLMTKlWLYbRALheuVa+9iWsfA04n6Ohs9Wrx+uRR6rZhR/mFwGoDGf9/i5XMMrLyyv3CT09TBCMAOcp6+Gv7dunEHoAOJVLHwkSGRlZ7jvOiouLK10MAO/hqJeoWbNmuuOOO0yoBgDKp1zBaN26ddb/nZWVpXHjxikpKcl6F1pGRoYWLVqkadOmVU2VADxGYWGhpk6datfuaG0ihs0AuJsKzzH629/+prvuuku33XabTfsbb7yhf/3rX1q/fr0z63M5htKAyjvf2kSOJCScvS0/Pl7auLEqKwPg7Zz1+7vCd6VlZGSoY8eOdu0dO3bUV199VelCAHg2R6HogQceOO8q1ufuROO2fADuosLBKDY2Vq+88opd+7x58xQbG+uUogB4js8//7zMx3pERkae9729e5/tKWIYDYC7qPACj88++6z69eunjz76SJ07d5YkffXVV/rhhx/07rvvOr1AAO6rokNnAODuKrWO0cGDB/XSSy8pMzNTktSqVSsNHz7cK3qMmGMElA8PfwXgTly6jpEvIRgB50cvEQB35NJ1jP4sJydHr776qnbt2iVJuuSSSzRkyBBFRERUuhAA7s9RKOrfv79atGhhQjUA4HwV7jH65ptvlJiYqJCQEHXq1EmS9PXXX+v333/Xxx9/rMsuu6xKCnUVeowAez/99JMWLlxo104vEQB3YdpQ2tVXX63mzZvrlVdeUbVqZzucioqKdNddd+nHH3/Uhg0bKl2MOyAYAbYYOgPgCUwLRiEhIdq8ebNatmxp075z50517NhRp0+frnQx7oBgBPyPo1A0YcKEcj8iCABcxbQ5RuHh4dq/f79dMDpw4IDCwsIqXQgA9zF58mSVlJTYtdNLBMDbVTgY/fOf/9TQoUM1Y8YMJSQkSJK++OILPfzww3aPCQHgOc49tywx0b6XKD4+Xj169DChKgBwrQoHoxkzZshisWjQoEEqKiqSJAUEBOjee+9VWlqa0wsE4BozZ55UYuIzdu30EgHwJZVex+j06dPau3evJKlZs2YKDQ11amFmYY4RfM3y5dLmzUywBuDZTF3HSJJCQ0N16aWXVvqDAbgHR6Ho0UcfVXBwsAnVAIC5yh2MhgwZUq7j5s+fX+liALjO6tWrtXHjRrt2eokA+LJyB6OFCxeqUaNGat++vXiKCODZHN2GHxMTo3vuuceEagDAfZQ7GN1777168803tW/fPt1555264447VKtWraqsDYATnb3rrESJiZPt9tFLBABn+ZX3wBdffFFHjhzRI488ov/85z+KjY3VrbfeqvT0dHqQAA+weXMqoQgA/kKl70o79+ykf//73yoqKtKOHTtUo0YNZ9fnctyVBm/kaOjsvvvuU1RUlAnVAIDzmX5Xmp+fnywWiwzDUHFxcaULAFB1MjMztXTpUrt2eokAwLFyD6VJUn5+vt58801dd911uvjii/Xdd9/phRde0P79+72itwjwJqmpqYQiAKigcvcY3XfffVqyZIliY2M1ZMgQvfnmm6pTp05V1gagkhwNnRGIAOCvlXuOkZ+fn+Li4tS+ffvzPln7vffec1pxZmCOETyZo0AkEYoAeD+XzzEaNGjQeQMRAPOU9ViPm2++WZdccokJFQGAZ6rQAo/uID8/X507d9bWrVu1efNmtWvXzrpv27ZtGjFihL7++mtFRUXp/vvv1yOPPGJesYALnDhxQps3z7Zrp5cIACqu0nelmeWRRx5R/fr1tXXrVpv2vLw89ejRQ927d9fcuXP13XffaciQIYqMjNTdd99tUrVA1WLoDACcy6OC0UcffaSPP/5Y7777rj766CObfYsXL1ZBQYHmz5+vwMBAXXLJJdqyZYtmzpxJMIJXchSKnnjiCfn5VehmUwDAH3hMMDp69KiGDRumZcuWKTQ01G5/RkaGrrnmGgUGBlrbEhMT9dRTT+nEiROqWbOmw/Pm5+crPz/fup2Xl+f84gEnev/997Vt2za7dnqJAODCecQ/LQ3DUFJSkoYPH66OHTs6PCY7O1t169a1aTu3nZ2dXea5p02bpoiICOsrNjbWeYUDTpaammoXiq666ipCEQA4ianBaNy4cbJYLOd9ZWZm6vnnn9dvv/2m5ORkp9eQnJys3Nxc6+vAgQNO/wzgQhUWFpa5NtHf/vY3EyoCAO9k6lDa2LFjlZSUdN5jmjZtqrVr1yojI0NBQUE2+zp27Kjbb79dixYtUkxMjI4ePWqz/9x2TExMmecPCgqyOy/gTphgDQCuY2owioqKKtdDLGfPnq0nn3zSun348GElJiZq6dKl6ty5syQpPj5e48ePV2FhoQICAiRJq1evVosWLcqcXwS4O0ehqE2bh9SvX3UTqgEA7+cRk6/j4uJsts89l61Zs2Zq2LChJGnAgAFKTU3V0KFD9eijj2r79u2aNWuWnn32WZfXC1yo7777zuEq8vQSAUDV8ohgVB4RERH6+OOPNWLECHXo0EF16tTRhAkTuFUfHmP5ciktTUpMtO8lat68uW6//XYTqgIA31LuZ6X5Cp6VBrMkJBhKTJxk104vEQD8NZc/Kw1A1Zk3b54SEw/ZtROKAMC1CEaAyRxNsL7vvvvKdWMCAMC5CEaASX755Re98MILdu30EgGAeQhGgAkc9RI1aNBAd911lwnVAADOIRgBLuYoFE2YMEEWi8WEagAAf+QRz0oDvEF6enqZj/X4YyhavlxKSDj7EwDgWvQYAS7gKBDdcccdatasmV17WpqUkXH2Z+/erqgOAHAOwQioQmfOnNFTTz1l136+Cdbjxp0NRePGVWVlAABHCEZAFansw19796anCADMQjACqoCjUDR+/HhVq8ZfOQBwZ/xXGnCirVu3atmyZXbtrE0EAJ6BYAQ4iaNeosTERF1xxRUmVAMAqAyCEXCBSkpKNHnyZLt2eokAwPMQjIALkJaWpvz8fLt2QhEAeCaCEVBJjobOxo4dqxo1aphQDQDAGQhGQAUdPHhQr776ql07vUQA4PkIRkAFOOolatOmjfr162dCNQAAZyMYAeVU1nPOAADeg2AE/IWlS5cqMzPTrp1QBADeh2AEnIejXqK7775b9erVM6EaAEBV8zO7AMBdLF8uJSSc/ZmXl1fm0BmhCAC8Fz1GQKm0NCkjQ9q8OVWbN9vuCwsL05gxY8wpDADgMgQjQGd7iX79VZo40b6XaMKECbJYLCZUBQBwNYIRIOn117/RbbettGtngjUA+BaCEXxeamqqLrnEtu3mm2/WJX9uBAB4PYIRfFZxcbGefPJJu3Z6iQDAdxGM4JPmzZunQ4cO2bTVrl1bI0eONKkiAIA7IBjB5zi6Df+xxx5TQECACdUAANwJwQg+49ChQ5o3b55dO0NnAIBzCEbwCY56ifr06aN27dq5vhgAgNsiGMGrGYahSZMm2bXTSwQAcIRgBK+1YsUKbdq0ya6dUAQAKAvBCF7J0dDZ2LFjVaNGDROqAQB4Ch4iC4/2xwe/SlJubm6ZD38lFAEA/go9RvBo5x78mpZ29uGvf3bllVeqe/fuJlQGAPBEBCN4tHHjzoaixETHvUQAAFQEwQgeLSbmKyUmfmTXTigCAFQGwQgey9FcouHDh6tu3bomVAMA8AYEI3icwsJCTZ061a6dXiIAwIUiGMGj/Pvf/9a+ffts2i6//HL9/e9/N6kiAIA3IRjBYzgaOnviiSfk58eqEwAA5yAYwe0dOHBA8+fPt2tn6AwA4GwEI7g1R71Ed955p+Li4kyoBgDg7QhGcEslJSWaPHmyXTu9RACAqkQwgttZtWqV/vvf/9q0NWrUSElJSeYUBADwGQQjuBVHQ2fJyckKDAw0oRoAgK8hGMEtnDhxQrNnz7ZrZ+gMAOBKBCOYzlEv0U033aRLL73UhGoAAL6MYARTOQpF9BIBAMxCMIIpvv76a3344Yc2bYGBgUpOTjapIgAACEYwgaNeojFjxigsLMyEagAA+B+epQCnW75cSkg4+/OPfv/99zKHzghFAAB3QI8RnC4tTcrIOPvz3HafPi/qzJmfbY7r2rWrrrnmGhMqBADAMYIRnG7cuLNh6NzPxMRUnTlje8yECRNksVjMKRAAgDIQjOB0vXuffR08eFCJia/a7eeuMwCAuyIYoUo4mks0fPhw1a1b14RqAAAoH4IRnIqHvwIAPBnBCE6zc+dOvf322zZtTLAGAHgSghEuyPLl/5tg/WdPPPGE/PxYEQIA4DkIRrggM2eeVGLiMzZtF110kQYMGGBSRQAAVB7BCJX2/fffq2vXN23a7r//ftWqVcukigAAuDAEI1SYYRhauHCh9u/fb9POBGsAgKcjGKFCcnJyNGvWLJu2u+66Sw0aNDCpIgAAnIdghHL7/PPPtWbNGut2cHCwHnroIfn7+5tYFQAAzkMwwl8qKirSlClTbNp69eqlTp06mVQRAABVg2CE8/rpp5+0cOFCm7YxY8YoLCzMnIIAAKhCBCOU6a233tKuXbus2xdffLFuu+02EysCAKBqedTqeytXrlTnzp0VEhKimjVrqm/fvjb79+/fr+uvv16hoaGKjo7Www8/rKKiInOK9WAnT55UamqqTSgaNGgQoQgA4PU8psfo3Xff1bBhwzR16lR169ZNRUVF2r59u3V/cXGxrr/+esXExGjjxo06cuSIBg0apICAAE2dOtXEyj3Lpk2btGLFCpu2xx57TAEBASZVBACA61gMwzDMLuKvFBUVqXHjxkpNTdXQoUMdHvPRRx/phhtu0OHDh61PcJ87d64effRRHT9+XIGBgeX6rLy8PEVERCg3N1fh4eFO+w7urqSkRDNnztSpU6esbddee626dOliYlUAAJSPs35/e8RQ2rfffqtDhw7Jz89P7du3V7169dSrVy+bHqOMjAxdeuml1lAkSYmJicrLy9OOHTvMKNtjHDlyRJMnT7YJRffffz+hCADgczxiKO3HH3+UJE2cOFEzZ85U48aN9cwzz+jaa6/V999/r1q1aik7O9smFEmybmdnZ5d57vz8fOXn51u38/LyquAbuK+VK1fqm2++sW7Xr19fd911lywWi4lVAQBgDlN7jMaNGyeLxXLeV2ZmpkpKSiRJ48ePV79+/dShQwctWLBAFotFb7/99gXVMG3aNEVERFhfsbGxzvhqbu/MmTNKTU21CUW33nqrhg0bRigCAPgsU3uMxo4dq6SkpPMe07RpUx05ckSS1Lp1a2t7UFCQmjZtan1eV0xMjL766iub9x49etS6ryzJyckaM2aMdTsvL8/rw9HOnTvtAuW4ceMUFBRkUkUAALgHU4NRVFSUoqKi/vK4Dh06KCgoSLt379ZVV10lSSosLFRWVpYaNWokSYqPj9eUKVN07NgxRUdHS5JWr16t8PBwm0D1Z0FBQT4TCAzD0Msvv2wNjJLUqVMn9erVy8SqAABwHx4xxyg8PFzDhw9XSkqKYmNj1ahRIz399NOSpFtuuUWS1KNHD7Vu3VoDBw7U9OnTlZ2drccff1wjRozwmeBzPr/88oteeOEFm7bhw4fbzcsCAMCXeUQwkqSnn35a1apV08CBA/X777+rc+fOWrt2rWrWrClJ8vf314oVK3TvvfcqPj5e1atX1+DBgzVp0iSTKzffunXrtGHDBut2RESERo0aJT8/j7gpEQAAl/GIdYxcyZvWMSosLLRb3LJ3795q3769SRUBAFA1nPX722N6jFAxe/fu1euvv27T9tBDD6l69eomVQQAgPsjGHmh119/XXv37rVut2nTRv369TOxIgAAPAPByIvk5eXp2WeftWkbMmSI1y8/AACAsxCMvMSXX36p9PR067a/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NG3aNDVp0kQhISFq27at3nnnHUn/G4Zas2aNOnbsqNDQUCUkJGj37t2SpIULFyo1NVVbt26VxWKRxWLRwoULJUkWi0Vz5sxR7969Vb16dU2ZMuW8dZz7rPT0dLVv314hISHq1q2bjh07po8++kitWrVSeHi4BgwYoNOnT1vfl5+fr1GjRik6OlrBwcG66qqr9PXXX1fNHxYA13DqE94AoAKefPJJo2XLlsaqVauMvXv3GgsWLDCCgoKM9evXG+vWrTMkGZ07dzbWr19v7Nixw7j66quNhIQEwzAM4/Tp08bYsWONSy65xO4p25KM6OhoY/78+cbevXuNn3766bx1nPusK664wvj888+Nb7/91mjevLnRpUsXo0ePHsa3335rbNiwwahdu7bNA15HjRpl1K9f3/jwww+NHTt2GIMHDzZq1qxp/PLLLzbnPXHiRNX8AQJwOoIRAFOcOXPGCA0NNTZu3GjTPnToUOO2226zhopPPvnEum/lypWGJOP33383DMMwUlJSjLZt29qdW5IxevToctfi6LOmTZtmSDL27t1rbbvnnnuMxMREwzAM4+TJk0ZAQICxePFi6/6CggKjfv36xvTp023OSzACPEc1s3qqAPi2PXv26PTp07ruuuts2gsKCtS+fXvr9v/93/9Z/3e9evUkSceOHVNcXNx5z9+xY8cK1/THz6pbt65CQ0PVtGlTm7avvvpKkrR3714VFhbqyiuvtO4PCAhQp06dtGvXrgp/NgD3QDACYIqTJ09KklauXKkGDRrY7AsKCtLevXslnQ0b51gsFkln5yb9lerVq1e4pj9/1h+3z7WV57MBeC4mXwMwRevWrRUUFKT9+/erefPmNq/Y2NhynSMwMFDFxcVVXKljzZo1U2BgoL744gtrW2Fhob7++mu1bt3alJoAXDh6jACYIiwsTA899JAefPBBlZSU6KqrrlJubq6++OILhYeHq1GjRn95jsaNG2vfvn3asmWLGjZsqLCwMAUFBbmg+rM9Uvfee68efvhh1apVS3FxcZo+fbpOnz6toUOHuqQGAM5HMAJgmsmTJysqKkrTpk3Tjz/+qMjISF122WV67LHHyjVk1a9fP7333nvq2rWrcnJytGDBAiUlJVV94aXS0tJUUlKigQMH6rffflPHjh2Vnp6umjVruqwGAM5lMQzDMLsIAAAAd8AcIwAAgFIEIwBeb/jw4apRo4bD1/Dhw80uD4AbYSgNgNc7duyY8vLyHO4LDw9XdHS0iysC4K4IRgAAAKUYSgMAAChFMAIAAChFMAIAAChFMAIAAChFMAIAAChFMAIAAChFMAIAAChFMAIAACj1/1j+WUwWRiX3AAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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qlWrVkpLSzOx1NYzduxYLV68WO+++67q1q3rGvcQHR2tiIgIRUdHa/To0br//vvVoEEDRUVF6d5771VKSoq6detmcumtpbK63Lt3rxYvXqxrr71WDRs21JdffqkJEyaoR48e6tChg8mlt44pU6aoX79+atq0qX755RctXrxYn3zyiT7++GPOxyqqqC5NOx/9OvcLpli7dq0h6bzbiBEjDMP4dfr51KlTjbi4OCM8PNzo3bu3sXv3bnMLbVEV1WVBQYFxzTXXGDExMUZoaKjRrFkzY8yYMUZubq7ZxbacsupQkrFw4ULXMYWFhcY999xj1K9f34iMjDRuvPFGIycnx7xCW1RldZmdnW306NHDaNCggREeHm60atXKeOCBBwyn02luwS1m1KhRRrNmzYywsDAjJibG6N27t7Fy5UrXfs5H91VUl2adjw7DMAzfRSkAAABzMWYHAADYGmEHAADYGmEHAADYGmEHAADYGmEHAADYGmEHAADYGmEHAADYGmEHAADYGmEHAADYGmEHgKWdOnXK7CKcx4plAlA+wg4Av+rVq5fS09OVnp6u6OhoNWrUSFOnTlXJlWuaN2+uxx57TMOHD1dUVJTuvPNOSdKGDRt05ZVXKiIiQk2aNNG4ceN0/Phx1+O+8MILat26tWrVqqW4uDjddNNNrn1Lly5VcnKyIiIi1LBhQ/Xp08d13169emn8+PGlyjhgwACNHDnS9X9PywTAGgg7APzu1VdfVUhIiD777DP9+c9/1tNPP62XXnrJtf/JJ59Ux44d9fnnn2vq1Knau3ev+vbtq0GDBunLL7/UkiVLtGHDBqWnp0uStm7dqnHjxunRRx/V7t279dFHH6lHjx6SpJycHN1yyy0aNWqUdu3apU8++UQDBw5UVS8LWNUyAbAOLgQKwK969eqlQ4cOaefOnXI4HJKkyZMna/ny5frmm2/UvHlzderUSe+8847rPnfccYeCg4P14osvurZt2LBBPXv21PHjx/XBBx/o9ttv1w8//KC6deuWer7t27frsssu0759+9SsWbMyy3PJJZdozpw5rm0DBgxQvXr1tGjRIknyqEy1atWqVj0B8B5adgD4Xbdu3VxBR5JSUlK0Z88eFRUVSZI6d+5c6vgvvvhCixYtUp06dVy3tLQ0FRcXKysrS7/5zW/UrFkztWjRQrfddpveeOMNFRQUSJI6duyo3r17Kzk5Wb/73e+0YMEC/fzzz1Uuc1XLBMA6CDsALKd27dql/n/s2DH9/ve/144dO1y3L774Qnv27FHLli1Vt25dbd++XW+++aYSEhL08MMPq2PHjsrLy1NwcLBWrVqlDz/8UElJSXr22Wd10UUXuQJJUFDQeV1ap0+frnaZAFgHYQeA323evLnU/z/99FO1bt1awcHBZR5/6aWX6ptvvlGrVq3Ou4WFhUmSQkJC1KdPH82ePVtffvml9u3bpzVr1kiSHA6HUlNTNX36dH3++ecKCwtzdUnFxMQoJyfH9VxFRUX6+uuvK30N7pQJgDUQdgD4XXZ2tu6//37t3r1bb775pp599lndd9995R4/adIkbdq0Senp6dqxY4f27Nmjd9991zUYeMWKFZo7d6527Nih77//Xq+99pqKi4t10UUXafPmzZo5c6a2bt2q7OxsLVu2TIcPH1a7du0kSVdffbXef/99vf/++/r222919913Ky8vr9LXUFmZAFhHiNkFAFDzDB8+XIWFherSpYuCg4N13333uaZzl6VDhw5at26d/u///k9XXnmlDMNQy5YtNXjwYElSvXr1tGzZMk2bNk0nTpxQ69at9eabb+riiy/Wrl27tH79es2ZM0f5+flq1qyZnnrqKfXr10+SNGrUKH3xxRcaPny4QkJCNGHCBF111VWVvobKygTAOpiNBcCvypr9BAC+RDcWAACwNcIOAACwNbqxAACArdGyAwAAbI2wAwAAbI2wAwAAbI2wAwAAbI2wAwAAbI2wAwAAbI2wAwAAbI2wAwAAbI2wAwAAbO3/AW8G965BJW03AAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABB+0lEQVR4nO3de3gU9d3//9cmkJBAEg45ckwIJ5EQkIMGlICggXqrEb2LclUOAp6gHqhWYqsCWoLWA61VsFilalEqglqlKuX4RZCCGAVUfhLBREmAaNlIEgIm8/uDO1sCOexudndmJ8/Hde11wezs7ntnJjOv/cxnPuMwDMMQAACATYSYXQAAAIAvEW4AAICtEG4AAICtEG4AAICtEG4AAICtEG4AAICtEG4AAICtEG4AAICtEG4AAICtEG4AmGLu3LlyOBxuzetwODR37ly/1jNy5EiNHDnSsu8HwH2EG6CZW7ZsmRwOh+vRokULderUSVOmTNF3331ndnmWk5ycXGt5xcfH65JLLtHq1at98v7l5eWaO3euNm7c6JP3A5ojwg0ASdL8+fP18ssva8mSJRo3bpxeeeUVZWZm6sSJE375vN/+9reqqKjwy3v724ABA/Tyyy/r5Zdf1j333KNDhw5p/PjxWrJkSZPfu7y8XPPmzSPcAE3QwuwCAFjDuHHjNHjwYEnS9OnTFRsbq0cffVRvv/22fv7zn/v881q0aKEWLYJzF9SpUyf94he/cP1/0qRJ6tGjh5566indeuutJlYGQKLlBkA9LrnkEklSfn5+relffvmlrrvuOrVv316tWrXS4MGD9fbbb9ea59SpU5o3b5569uypVq1aqUOHDrr44ou1du1a1zx19bmprKzU3Xffrbi4OEVFRemqq67St99+e05tU6ZMUXJy8jnT63rPF198UZdeeqni4+MVHh6uvn37avHixR4ti8YkJibqvPPO04EDBxqc78iRI5o2bZoSEhLUqlUrpaen669//avr+YMHDyouLk6SNG/ePNepL3/3NwLsJjh/NgHwu4MHD0qS2rVr55q2d+9eDR8+XJ06ddKcOXPUunVr/f3vf1d2drbeeOMNXXPNNZJOh4zc3FxNnz5dQ4cOVWlpqXbu3Kldu3bpsssuq/czp0+frldeeUUTJ07UsGHDtH79el1xxRVN+h6LFy/W+eefr6uuukotWrTQP/7xD91+++2qrq7WzJkzm/TeNU6dOqXCwkJ16NCh3nkqKio0cuRI7d+/X7NmzVJKSopef/11TZkyRceOHdOdd96puLg4LV68WLfddpuuueYajR8/XpLUv39/n9QJNBsGgGbtxRdfNCQZ//rXv4yjR48ahYWFxsqVK424uDgjPDzcKCwsdM07evRoIy0tzThx4oRrWnV1tTFs2DCjZ8+ermnp6enGFVdc0eDnPvTQQ8aZu6C8vDxDknH77bfXmm/ixImGJOOhhx5yTZs8ebLRrVu3Rt/TMAyjvLz8nPmysrKM7t2715qWmZlpZGZmNlizYRhGt27djMsvv9w4evSocfToUePTTz81rr/+ekOS8ctf/rLe91u0aJEhyXjllVdc006ePGlkZGQYbdq0MUpLSw3DMIyjR4+e830BeIbTUgAkSWPGjFFcXJy6dOmi6667Tq1bt9bbb7+tzp07S5J++OEHrV+/Xj//+c/1448/qqSkRCUlJfr++++VlZWlr776ynV1Vdu2bbV371599dVXbn/+mjVrJEl33HFHrel33XVXk75XRESE699Op1MlJSXKzMzU119/LafT6dV7fvDBB4qLi1NcXJzS09P1+uuv68Ybb9Sjjz5a72vWrFmjxMRE3XDDDa5pLVu21B133KHjx49r06ZNXtUC4FyclgIgSXrmmWfUq1cvOZ1OvfDCC9q8ebPCw8Ndz+/fv1+GYeiBBx7QAw88UOd7HDlyRJ06ddL8+fN19dVXq1evXurXr5/Gjh2rG2+8scHTK998841CQkKUmppaa3rv3r2b9L0+/PBDPfTQQ9q2bZvKy8trPed0OhUTE+Pxe1544YV65JFH5HA4FBkZqfPOO09t27Zt8DXffPONevbsqZCQ2r8pzzvvPNfzAHyDcANAkjR06FDX1VLZ2dm6+OKLNXHiRO3bt09t2rRRdXW1JOmee+5RVlZWne/Ro0cPSdKIESOUn5+vt956Sx988IGef/55PfXUU1qyZImmT5/e5FrrG/yvqqqq1v/z8/M1evRo9enTR08++aS6dOmisLAwrVmzRk899ZTrO3kqNjZWY8aM8eq1APyPcAPgHKGhocrNzdWoUaP0pz/9SXPmzFH37t0lnT6V4s6BvX379po6daqmTp2q48ePa8SIEZo7d2694aZbt26qrq5Wfn5+rdaaffv2nTNvu3btdOzYsXOmn9368Y9//EOVlZV6++231bVrV9f0DRs2NFq/r3Xr1k2fffaZqqura7XefPnll67npfqDGwD30ecGQJ1GjhypoUOHatGiRTpx4oTi4+M1cuRIPffccyoqKjpn/qNHj7r+/f3339d6rk2bNurRo4cqKyvr/bxx48ZJkv74xz/Wmr5o0aJz5k1NTZXT6dRnn33mmlZUVHTOKMGhoaGSJMMwXNOcTqdefPHFeuvwl5/97GcqLi7WihUrXNN++uknPf3002rTpo0yMzMlSZGRkZJUZ3gD4B5abgDU695779X//u//atmyZbr11lv1zDPP6OKLL1ZaWppmzJih7t276/Dhw9q2bZu+/fZbffrpp5Kkvn37auTIkRo0aJDat2+vnTt3auXKlZo1a1a9nzVgwADdcMMNevbZZ+V0OjVs2DCtW7dO+/fvP2fe66+/Xvfdd5+uueYa3XHHHSovL9fixYvVq1cv7dq1yzXf5ZdfrrCwMF155ZW65ZZbdPz4cS1dulTx8fF1BjR/uvnmm/Xcc89pypQp+vjjj5WcnKyVK1fqww8/1KJFixQVFSXpdAfovn37asWKFerVq5fat2+vfv36qV+/fgGtFwhqZl+uBcBcNZeC79ix45znqqqqjNTUVCM1NdX46aefDMMwjPz8fGPSpElGYmKi0bJlS6NTp07G//zP/xgrV650ve6RRx4xhg4darRt29aIiIgw+vTpY/zud78zTp486Zqnrsu2KyoqjDvuuMPo0KGD0bp1a+PKK680CgsL67w0+oMPPjD69etnhIWFGb179zZeeeWVOt/z7bffNvr372+0atXKSE5ONh599FHjhRdeMCQZBw4ccM3nyaXgjV3mXt/7HT582Jg6daoRGxtrhIWFGWlpacaLL754zmu3bt1qDBo0yAgLC+OycMALDsM4o70WAAAgyNHnBgAA2ArhBgAA2ArhBgAA2ArhBgAA2ArhBgAA2ArhBgAA2EqzG8Svurpahw4dUlRUFMOcAwAQJAzD0I8//qiOHTuecwPaszW7cHPo0CF16dLF7DIAAIAXCgsL1blz5wbnaXbhpmaI88LCQkVHR5tcDQAAcEdpaam6dOniOo43pNmFm5pTUdHR0YQbAACCjDtdSuhQDAAAbIVwAwAAbIVwAwAAbKXZ9blxV1VVlU6dOmV2GXBTy5YtFRoaanYZAAALINycxTAMFRcX69ixY2aXAg+1bdtWiYmJjF8EAM0c4eYsNcEmPj5ekZGRHCiDgGEYKi8v15EjRyRJSUlJJlcEADAT4eYMVVVVrmDToUMHs8uBByIiIiRJR44cUXx8PKeoAKAZo0PxGWr62ERGRppcCbxRs97oKwUAzRvhpg6cigpOrDcAgES4AQAANkO4QdDYuHGjHA4HV7IBABpkarjJzc3VkCFDFBUVpfj4eGVnZ2vfvn0NvmbZsmVyOBy1Hq1atQpQxfY2d+5cDRgwwOwyAMASipwV2ppfoiJnhdmlwEOmXi21adMmzZw5U0OGDNFPP/2k+++/X5dffrk+//xztW7dut7XRUdH1wpB9LUIrFOnTqlly5ZmlwEAfrNiR4FyVu1WtSGFOKTc8WmaMKSr2WXBTaa23Lz33nuaMmWKzj//fKWnp2vZsmUqKCjQxx9/3ODrHA6HEhMTXY+EhIQAVWxt1dXVys3NVUpKiiIiIpSenq6VK1dK+u8pnXXr1mnw4MGKjIzUsGHDXCFx2bJlmjdvnj799FNXi9iyZcsknV7eixcv1lVXXaXWrVvrd7/7XYN11HzW+++/r4EDByoiIkKXXnqpjhw5on/+858677zzFB0drYkTJ6q8vNz1usrKSt1xxx2Kj49Xq1atdPHFF2vHjh3+WVgAUI8iZ4Ur2EhStSHdv2oPLThBxFJ9bpxOpySpffv2Dc53/PhxdevWTV26dNHVV1+tvXv31jtvZWWlSktLaz0CJdBNmrm5uXrppZe0ZMkS7d27V3fffbd+8YtfaNOmTa55fvOb3+iJJ57Qzp071aJFC910002SpAkTJuhXv/qVzj//fBUVFamoqEgTJkxwvW7u3Lm65pprtHv3btdrGjN37lz96U9/0tatW1VYWKif//znWrRokZYvX653331XH3zwgZ5++mnX/L/+9a/1xhtv6K9//at27dqlHj16KCsrSz/88IOPlhAANO5ASZkr2NSoMgwdLCmv+wWwHMsM4lddXa277rpLw4cPV79+/eqdr3fv3nrhhRfUv39/OZ1OPf744xo2bJj27t2rzp07nzN/bm6u5s2b58/S6xToJs3KykotWLBA//rXv5SRkSFJ6t69u7Zs2aLnnntON998syTpd7/7nTIzMyVJc+bM0RVXXKETJ04oIiJCbdq0UYsWLZSYmHjO+0+cOFFTp071qKZHHnlEw4cPlyRNmzZNOTk5ys/PV/fu3SVJ1113nTZs2KD77rtPZWVlWrx4sZYtW6Zx48ZJkpYuXaq1a9fqL3/5i+69917vFgwAeCgltrVCHKoVcEIdDiXHMgZasLBMy83MmTO1Z88evfbaaw3Ol5GRoUmTJmnAgAHKzMzUqlWrFBcXp+eee67O+XNycuR0Ol2PwsJCf5RfixlNmvv371d5ebkuu+wytWnTxvV46aWXlJ+f75qvf//+rn/X3Kag5rYFDRk8eLDHNZ35WQkJCYqMjHQFm5ppNZ+dn5+vU6dOucKQdPpmmEOHDtUXX3zh8WcDgLeSYiKUOz5Nof/XnzPU4dCC8f2UFBNhcmVwlyVabmbNmqV33nlHmzdvrrP1pSEtW7bUwIEDtX///jqfDw8PV3h4uC/KdFtDTZr++uM4fvy4JOndd99Vp06daj0XHh7uCjhndgSu6YhdXV3d6Ps31MG7Pmd/1tmdkB0Oh1ufDQCBNmFIV43oFaeDJeVKjo0k2AQZU1tuDMPQrFmztHr1aq1fv14pKSkev0dVVZV2795tqZsl1jRpnsnfTZp9+/ZVeHi4CgoK1KNHj1qPLl26uPUeYWFhqqqq8luNDUlNTVVYWJg+/PBD17RTp05px44d6tu3ryk1AWjekmIilJHagWAThExtuZk5c6aWL1+ut956S1FRUSouLpYkxcTEuG6EOGnSJHXq1Em5ubmSpPnz5+uiiy5Sjx49dOzYMf3+97/XN998o+nTp5v2Pc5W06R5/6o9qjKMgDRpRkVF6Z577tHdd9+t6upqXXzxxXI6nfrwww8VHR2tbt26NfoeycnJOnDggPLy8tS5c2dFRUUFrNWrdevWuu2223Tvvfeqffv26tq1qx577DGVl5dr2rRpAakBAGAPpoabxYsXS5JGjhxZa/qLL76oKVOmSJIKCgoUEvLfBqb//Oc/mjFjhoqLi9WuXTsNGjRIW7dutdyvezOaNB9++GHFxcUpNzdXX3/9tdq2basLLrhA999/v1unf6699lqtWrVKo0aN0rFjx2qth0BYuHChqqurdeONN+rHH3/U4MGD9f7776tdu3YBqwEAEPwchmEYjc9mH6WlpYqJiZHT6VR0dHSt506cOKEDBw4oJSWFUY+DEOsPAOyroeP32SxztRQAAIAvEG7gsVtvvbXW5eZnPm699VazywMANHOWuBQcwWX+/Pm655576nyusaZCAAD8jXADj8XHxys+Pt7sMgAAqBOnpQAAgK0QburAqLnBifUGAJA4LVVLWFiYQkJCdOjQIcXFxSksLMx1iwJYl2EYOnnypI4ePaqQkBCFhYWZXRIAwESEmzOEhIQoJSVFRUVFOnTokNnlwEORkZHq2rVrrUEfAQDND+HmLGFhYeratat++ukn0+6zBM+FhoaqRYsWtLQBAAg3dam5g/XZd7EGAADWR/s9AACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFVPDTW5uroYMGaKoqCjFx8crOztb+/bta/R1r7/+uvr06aNWrVopLS1Na9asCUC1AAAgGJgabjZt2qSZM2fqo48+0tq1a3Xq1CldfvnlKisrq/c1W7du1Q033KBp06bpk08+UXZ2trKzs7Vnz54AVg4AAKzKYRiGYXYRNY4ePar4+Hht2rRJI0aMqHOeCRMmqKysTO+8845r2kUXXaQBAwZoyZIljX5GaWmpYmJi5HQ6FR0d7bPaAQCA/3hy/LZUnxun0ylJat++fb3zbNu2TWPGjKk1LSsrS9u2batz/srKSpWWltZ6AAAA+7JMuKmurtZdd92l4cOHq1+/fvXOV1xcrISEhFrTEhISVFxcXOf8ubm5iomJcT26dOni07oBAIC1WCbczJw5U3v27NFrr73m0/fNycmR0+l0PQoLC336/gAAwFpamF2AJM2aNUvvvPOONm/erM6dOzc4b2Jiog4fPlxr2uHDh5WYmFjn/OHh4QoPD/dZrQAAwNpMbbkxDEOzZs3S6tWrtX79eqWkpDT6moyMDK1bt67WtLVr1yojI8NfZQIAgCBiasvNzJkztXz5cr311luKiopy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1IxczO0XrIEruAAAduH3u4Jv2LDBq8IQOFYaTAkAgEDyqs9NZmamQkJCtHTpUs2ZM0c9evRQZmamCgoKFBoa6usag5aZ99do6AouAADszKtw88YbbygrK0sRERH65JNPVFlZKUlyOp1asGCBTwsMVit2FGj4wvWauHS7hi9crxU7CgL6+TVXcJ2JK7gAAM2BV+HmkUce0ZIlS7R06dJanYmHDx+uXbt2+ay4YGWFQf24ggsA0Fx51edm3759GjFixDnTY2JidOzYsabWFPSsMqifVQZTAgAgkLwKN4mJidq/f7+Sk5NrTd+yZYu6d+/ui7qCmpUG9bPCYEoAAASSV6elZsyYoTvvvFPbt2+Xw+HQoUOH9Le//U333HOPbrvtNl/XGHQ4JQQAgHm8Cjdz5szRxIkTNXr0aB0/flwjRozQ9OnTdcstt+iXv/yl2++zefNmXXnllerYsaMcDofefPPNRl+zceNGXXDBBQoPD1ePHj20bNkyb76C300Y0lVb5ozSqzMu0pY5oxhfBgCAAPEq3DgcDv3mN7/RDz/8oD179uijjz7S0aNH9fDDD3v0PmVlZUpPT9czzzzj1vwHDhzQFVdcoVGjRikvL0933XWXpk+frvfff9+br+F3STERykjtQIsNAAAB5NUIxf7gcDi0evVqZWdn1zvPfffdp3fffVd79uxxTbv++ut17Ngxvffee259TnMaoRgAALvw5PjtVcuNWbZt26YxY8bUmpaVlaVt27aZVBEAALAar66WMktxcbESEhJqTUtISFBpaakqKioUEXHu6Z/KykrXIIPS6eQHAADsK6habryRm5urmJgY16NLly5mlwQAAPwoqMJNYmKiDh8+XGva4cOHFR0dXWerjSTl5OTI6XS6HoWFhYEoFQAAmCSoTktlZGRozZo1taatXbtWGRkZ9b4mPDxc4eHh/i4NAABYhKktN8ePH1deXp7y8vIknb7UOy8vTwUFp28ymZOTo0mTJrnmv/XWW/X111/r17/+tb788ks9++yz+vvf/667777bjPIBAIAFmRpudu7cqYEDB2rgwIGSpNmzZ2vgwIF68MEHJUlFRUWuoCNJKSkpevfdd7V27Vqlp6friSee0PPPP6+srCxT6gcAANZjmXFuAoVxbpqmyFmhAyVlSoltzeCEAICA8eT4HVR9bmCuFTsKlLNqt6oNKcQh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+HhlZ2dr3759teY5ceKEZs6cqQ4dOqhNmza69tprdfjwYZMqtiZ3luPIkSPP2SZvvfVWkyq2rsWLF6t///6uAeYyMjL0z3/+0/U826N7GluOZm2PhBsbKisrU3p6up555pk6n3/sscf0xz/+UUuWLNH27dvVunVrZWVl6cSJEwGu1PoaW5aSNHbsWBUVFbker776agArDA6bNm3SzJkz9dFHH2nt2rU6deqULr/8cpWVlbnmufvuu/WPf/xDr7/+ujZt2qRDhw5p/PjxJlZtPe4sR0maMWNGrW3yscceM6li6+rcubMWLlyojz/+WDt37tSll16qq6++Wnv37pXE9uiuxpajZNL2aMDWJBmrV692/b+6utpITEw0fv/737umHTt2zAgPDzdeffVVEyoMHmcvS8MwjMmTJxtXX321KfUEsyNHjhiSjE2bNhmGcXobbNmypfH666+75vniiy8MSca2bdvMKtPyzl6OhmEYmZmZxp133mleUUGsXbt2xvPPP8/22EQ1y9EwzNseablpZg4cOKDi4mKNGTPGNS0mJkYXXnihtm3bZmJlwWvjxo2Kj49X7969ddttt+n77783uyTLczqdkqT27dtLkj7++GOdOnWq1nbZp08fde3ale2yAWcvxxp/+9vfFBsbq379+iknJ0fl5eVmlBc0qqqq9Nprr6msrEwZGRlsj146eznWMGN7bHY3zmzuiouLJUkJCQm1pickJLieg/vGjh2r8ePHKyUlRfn5+br//vs1btw4bdu2TaGhoWaXZ0nV1dW66667NHz4cPXr10/S6e0yLCxMbdu2rTUv22X96lqOkjRx4kR169ZNHTt21Geffab77rtP+/bt06pVq0ys1pp2796tjIwMnThxQm3atNHq1avVt29f5eXlsT16oL7lKJm3PRJugCa4/vrrXf9OS0tT//79lZqaqo0bN2r06NEmVmZdM2fO1J49e7RlyxazSwlq9S3Hm2++2fXvtLQ0JSUlafTo0crPz1dqamqgy7S03r17Ky8vT06nUytXrtTkyZO1adMms8sKOvUtx759+5q2PXJaqplJTEyUpHN6/R8+fNj1HLzXvXt3xcbGav/+/WaXYkmzZs3SO++8ow0bNqhz586u6YmJiTp58qSOHTtWa362y7rVtxzrcuGFF0oS22QdwsLC1KNHDw0aNEi5ublKT0/XH/7wB7ZHD9W3HOsSqO2RcNPMpKSkKDExUevWrXNNKy0t1fbt22udI4V3vv32W33//fdKSkoyuxRLMQxDs2bN0urVq7V+/XqlpKTUen7QoEFq2bJlre1y3759KigoYLs8Q2PLsS55eXmSxDbphurqalVWVrI9NlHNcqxLoLZHTkvZ0PHjx2ul4gMHDigvL0/t27dX165dddddd+mRRx5Rz549lZKSogceeEAdO3ZUdna2eUVbVEPLsn379po3b56uvfZaJSYmKj8/X7/+9a/Vo0cPZWVlmVi19cycOVPLly/XW2+9paioKFe/hZiYGEVERCgmJkbTpk3T7Nmz1b59e0VHR+uXv/ylMjIydNFFF5lcvXU0thzz8/O1fPly/exnP1OHDh302Wef6e6779aIESPUv39/k6u3lpycHI0bN05du3bVjz/+qOXLl2vjxo16//332R490NByNHV7DPj1WfC7DRs2GJLOeUyePNkwjNOXgz/wwANGQkKCER4ebowePdrYt2+fuUVbVEPLsry83Lj88suNuLg4o2XLlka3bt2MGTNmGMXFxWaXbTl1LUNJxosvvuiap6Kiwrj99tuNdu3aGZGRkcY111xjFBUVmVe0BTW2HAsKCowRI0YY7du3N8LDw40ePXoY9957r+F0Os0t3IJuuukmo1u3bkZYWJgRFxdnjB492vjggw9cz7M9uqeh5Wjm9ugwDMPwb3wCAAAIHPrcAAAAWyHcAAAAWyHcAAAAWyHcAAAAWyHcAAAAWyHcAAAAWyHcAAAAWyHcAAAAWyHcAAAAWyHcALCUkydPml3COaxYE4D6EW4A+NXIkSM1a9YszZo1SzExMYqNjdUDDzygmju/JCcn6+GHH9akSZMUHR2tm2++WZK0ZcsWXXLJJYqIiFCXLl10xx13qKyszPW+zz77rHr27KlWrVopISFB1113neu5lStXKi0tTREREerQoYPGjBnjeu3IkSN111131aoxOztbU6ZMcf3f25oAWAPhBoDf/fWvf1WLFi3073//W3/4wx/05JNP6vnnn3c9//jjjys9PV2ffPKJHnjgAeXn52vs2LG69tpr9dlnn2nFihXasmWLZs2aJUnauXOn7rjjDs2fP1/79u3Te++9pxEjRkiSioqKdMMNN+imm27SF198oY0bN2r8+PHy9DZ6ntYEwDq4cSYAvxo5cqSOHDmivXv3yuFwSJLmzJmjt99+W59//rmSk5M1cOBArV692vWa6dOnKzQ0VM8995xr2pYtW5SZmamysjKtWbNGU6dO1bfffquoqKhan7dr1y4NGjRIBw8eVLdu3eqsZ8CAAVq0aJFrWnZ2ttq2batly5ZJklc1tWrVqknLCYDv0HIDwO8uuugiV7CRpIyMDH311VeqqqqSJA0ePLjW/J9++qmWLVumNm3auB5ZWVmqrq7WgQMHdNlll6lbt27q3r27brzxRv3tb39TeXm5JCk9PV2jR49WWlqa/vd//1dLly7Vf/7zH49r9rQmANZBuAFgutatW9f6//Hjx3XLLbcoLy/P9fj000/11VdfKTU1VVFRUdq1a5deffVVJSUl6cEHH1R6erqOHTum0NBQrV27Vv/85z/Vt29fPf300+rdu7crgISEhJxziurUqVNNrgmAdRBuAPjd9u3ba/3/o48+Us+ePRUaGlrn/BdccIE+//xz9ejR45xHWFiYJKlFixYaM2aMHnvsMX322Wc6ePCg1q9fL0lyOBwaPny45s2bp08++URhYWGuU0xxcXEqKipyfVZVVZX27NnT6HdwpyYA1kC4AeB3BQUFmj17tvbt26dXX31VTz/9tO68885657/vvvu0detWzZo1S3l5efrqq6/01ltvuTrvvvPOO/rjH/+ovLw8ffPNN3rppZdUXV2t3r17a/v27VqwYIF27typgoICrVq1SkePHtV5550nSbr00kv17rvv6t1339WXX36p2267TceOHWv0OzRWEwDraGF2AQDsb9KkSaqoqNDQoUMVGhqqO++803V5dV369++vTZs26Te/+Y0uueQSGYah1NRUTZgwQZLUtm1brVq1SnPnztWJEyfUs2dPvfrqqzr//PP1xRdfaPPmzVq0aJFKS0vVrVs3PfHEExo3bpwk6aabbtKnn36qSZMmqUWLFrr77rs1atSoRr9DYzUBsA6ulgLgV3VdnQQA/sRpKQAAYCuEGwAAYCuclgIAALZCyw0AALAVwg0AALAVwg0AALAVwg0AALAVwg0AALAVwg0AALAVwg0AALAVwg0AALAVwg0AALCV/x/YBjhC2T2t0QAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHHCAYAAABZbpmkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABLcUlEQVR4nO3deXwU5eHH8e8mISEBknDlAIGES4gccigGEFAoSFGLYkVEBEGtCnIoCGgRUDFoa1W0gqUqWC+qoiJeUEAskEI4FbQIEQxKwiFmAwQIZJ/fHzT7YyGBzWY3uzv7eb9eeb1gZnb2mdljvvvMc9iMMUYAAAAWFebvAgAAAPgSYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQdAQJg2bZpsNptb29psNk2bNs2n5enRo4d69OgRsPsD4D7CDgAX8+bNk81mc/5FRESofv36GjZsmH7++Wd/Fy/gpKSkuJyvhIQEXXnllfrggw+8sv/CwkJNmzZNX375pVf2B4Qiwg6AUj322GP6xz/+oTlz5qhv375644031L17dx0/ftwnz/fHP/5Rx44d88m+fe3SSy/VP/7xD/3jH//Q+PHjtXfvXt14442aM2dOhfddWFio6dOnE3aACojwdwEABKa+ffuqY8eOkqQ777xTderU0VNPPaVFixbp5ptv9vrzRUREKCIiOL+S6tevr9tuu835/9tvv11NmzbVs88+q3vuucePJQMgUbMDwE1XXnmlJCk7O9tl+X//+1/ddNNNqlWrlqpWraqOHTtq0aJFLtucPHlS06dPV7NmzVS1alXVrl1bXbt21dKlS53blNZm58SJExo3bpzq1q2rGjVq6Prrr9dPP/10TtmGDRumlJSUc5aXts/XXntNV199tRISEhQVFaW0tDTNnj27XOfiQpKSktSyZUvt2rXrvNvt379fI0aMUGJioqpWraq2bdtq/vz5zvW7d+9W3bp1JUnTp0933irzdXslwGqC82cUgEq3e/duSVLNmjWdy7Zt26YuXbqofv36mjRpkqpVq6Z//vOf6t+/v95//33dcMMNkk6HjoyMDN155526/PLLVVBQoPXr12vjxo36zW9+U+Zz3nnnnXrjjTd06623qnPnzlq+fLn69etXoeOYPXu2LrnkEl1//fWKiIjQxx9/rPvuu08Oh0MjR46s0L5LnDx5Unv27FHt2rXL3ObYsWPq0aOHdu7cqVGjRik1NVXvvvuuhg0bpvz8fI0ZM0Z169bV7Nmzde+99+qGG27QjTfeKElq06aNV8oJhAwDAGd47bXXjCTzr3/9yxw4cMDs2bPHvPfee6Zu3bomKirK7Nmzx7ltz549TevWrc3x48edyxwOh+ncubNp1qyZc1nbtm1Nv379zvu8U6dONWd+JW3evNlIMvfdd5/LdrfeequRZKZOnepcNnToUNOoUaML7tMYYwoLC8/Zrk+fPqZx48Yuy7p37266d+9+3jIbY0yjRo1M7969zYEDB8yBAwfMli1bzC233GIkmfvvv7/M/T333HNGknnjjTecy4qKikx6erqpXr26KSgoMMYYc+DAgXOOF0D5cBsLQKl69eqlunXrqkGDBrrppptUrVo1LVq0SBdddJEk6dChQ1q+fLluvvlmHT58WAcPHtTBgwf1yy+/qE+fPtqxY4ez91Z8fLy2bdumHTt2uP38n376qSRp9OjRLsvHjh1boeOKjo52/ttut+vgwYPq3r27fvjhB9ntdo/2uWTJEtWtW1d169ZV27Zt9e6772rIkCF66qmnynzMp59+qqSkJA0aNMi5rEqVKho9erSOHDmilStXelQWAOfiNhaAUv31r39V8+bNZbfb9eqrr+qrr75SVFSUc/3OnTtljNGUKVM0ZcqUUvexf/9+1a9fX4899ph+97vfqXnz5mrVqpWuueYaDRky5Ly3Y3788UeFhYWpSZMmLssvvvjiCh3X6tWrNXXqVGVmZqqwsNBlnd1uV1xcXLn32alTJz3xxBOy2WyKiYlRy5YtFR8ff97H/Pjjj2rWrJnCwlx/c7Zs2dK5HoB3EHYAlOryyy939sbq37+/unbtqltvvVXbt29X9erV5XA4JEnjx49Xnz59St1H06ZNJUndunVTdna2PvroIy1ZskR///vf9eyzz2rOnDm68847K1zWsgYjLC4udvl/dna2evbsqRYtWugvf/mLGjRooMjISH366ad69tlnncdUXnXq1FGvXr08eiwA3yPsALig8PBwZWRk6KqrrtKLL76oSZMmqXHjxpJO33px50Jfq1Yt3XHHHbrjjjt05MgRdevWTdOmTSsz7DRq1EgOh0PZ2dkutTnbt28/Z9uaNWsqPz//nOVn1458/PHHOnHihBYtWqSGDRs6l69YseKC5fe2Ro0a6euvv5bD4XCp3fnvf//rXC+VHeQAuI82OwDc0qNHD11++eV67rnndPz4cSUkJKhHjx56+eWXlZube872Bw4ccP77l19+cVlXvXp1NW3aVCdOnCjz+fr27StJmjVrlsvy55577pxtmzRpIrvdrq+//tq5LDc395xRjMPDwyVJxhjnMrvdrtdee63McvjKb3/7W+Xl5WnBggXOZadOndILL7yg6tWrq3v37pKkmJgYSSo1zAFwDzU7ANw2YcIE/f73v9e8efN0zz336K9//au6du2q1q1b66677lLjxo21b98+ZWZm6qefftKWLVskSWlpaerRo4c6dOigWrVqaf369Xrvvfc0atSoMp/r0ksv1aBBg/TSSy/Jbrerc+fOWrZsmXbu3HnOtrfccosmTpyoG264QaNHj1ZhYaFmz56t5s2ba+PGjc7tevfurcjISF133XX6wx/+oCNHjmju3LlKSEgoNbD50t13362XX35Zw4YN04YNG5SSkqL33ntPq1ev1nPPPacaNWpIOt2gOi0tTQsWLFDz5s1Vq1YttWrVSq1atarU8gJBzd/dwQAElpKu51lZWeesKy4uNk2aNDFNmjQxp06dMsYYk52dbW6//XaTlJRkqlSpYurXr2+uvfZa89577zkf98QTT5jLL7/cxMfHm+joaNOiRQszY8YMU1RU5NymtG7ix44dM6NHjza1a9c21apVM9ddd53Zs2dPqV2xlyxZYlq1amUiIyPNxRdfbN54441S97lo0SLTpk0bU7VqVZOSkmKeeuop8+qrrxpJZteuXc7tytP1/ELd6sva3759+8wdd9xh6tSpYyIjI03r1q3Na6+9ds5j16xZYzp06GAiIyPphg54wGbMGfW5AAAAFkObHQAAYGmEHQAAYGmEHQAAYGmEHQAAYGmEHQAAYGmEHQAAYGkMKijJ4XBo7969qlGjBkOzAwAQJIwxOnz4sOrVq3fOpLpnIuxI2rt3rxo0aODvYgAAAA/s2bNHF110UZnrCTuSc1j2PXv2KDY21s+lAQAA7igoKFCDBg2c1/GyEHb0/7MKx8bGEnYAAAgyF2qCQgNlAABgaYQdAABgaYQdAABgabTZAQBYWnFxsU6ePOnvYsADVapUUXh4eIX3Q9gBAFiSMUZ5eXnKz8/3d1FQAfHx8UpKSqrQ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iBE6cuRIZR8OAAAIQH4NO0899ZRmz56tF198Ud99952eeuopPf3003rhhRec2zz99NOaNWuW5syZo7Vr16patWrq06ePjh8/7txm8ODB2rZtm5YuXarFixfrq6++0t133+2PQwIAAAHGZs6sRqlk1157rRITE/XKK684lw0YMEDR0dF64403ZIxRvXr19OCDD2r8+PGSJLvdrsTERM2bN0+33HKLvvvuO6WlpSkrK0sdO3aUJH3++ef67W9/q59++kn16tW7YDkKCgoUFxcnu92u2NhY3xwsAADwKnev336t2encubOWLVum77//XpK0ZcsWrVq1Sn379pUk7dq1S3l5eerVq5fzMXFxcerUqZMyMzMlSZmZmYqPj3cGHUnq1auXwsLCtHbt2lKf98SJEyooKHD5AwAA1hThzyefNGmSCgoK1KJFC4WHh6u4uFgzZszQ4MGDJUl5eXmSpMTERJfHJSYmOtfl5eUpISHBZX1ERIRq1arl3OZsGRkZmj59urcPBwAABCC/1uz885//1Jtvvqm33npLGzdu1Pz58/XnP/9Z8+fP9+nzTp48WXa73fm3Z88enz4fAADwH7/W7EyYMEGTJk3SLbfcIklq3bq1fvzxR2VkZGjo0KFKSkqSJO3bt0/JycnOx+3bt0+XXnqpJCkpKUn79+932e+pU6d06NAh5+PPFhUVpaioKB8cEQAACDR+rdkpLCxUWJhrEcLDw+VwOCRJqampSkpK0rJly5zrCwoKtHbtWqWnp0uS0tPTlZ+frw0bNji3Wb58uRwOhzp16lQJRwEAAAKZX2t2rrvuOs2YMUMNGzbUJZdcok2bNukvf/mLhg8fLkmy2WwaO3asnnjiCTVr1kypqamaMmWK6tWrp/79+0uSWrZsqWuuuUZ33XWX5syZo5MnT2rUqFG65ZZb3OqJBQAArM2vYeeFF17QlClTdN9992n//v2qV6+e/vCHP+jRRx91bvPQQw/p6NGjuvvuu5Wfn6+uXbvq888/V9WqVZ3bvPnmmxo1apR69uypsLAwDRgwQLNmzfLHIQEAgADj13F2AgXj7AAAEHyCYpwdAAAAXyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAAS/N72Pn555912223qXbt2oqOjlbr1q21fv1653pjjB599FElJycrOjpavXr10o4dO1z2cejQIQ0ePFixsbGKj4/XiBEjdOTIkco+FAAAEID8GnZ+/fVXdenSRVWqVNFnn32mb7/9Vs8884xq1qzp3Obpp5/WrFmzNGfOHK1du1bVqlVTnz59dPz4cec2gwcP1rZt27R06VItXrxYX331le6++25/HBIAAAgwNmOM8deTT5o0SatXr9a///3vUtcbY1SvXj09+OCDGj9+vCTJbrcrMTFR8+bN0y233KLvvvtOaWlpysrKUseOHSVJn3/+uX7729/qp59+Ur169S5YjoKCAsXFxclutys2NtZ7BwgAAHzG3eu3X2t2Fi1apI4dO+r3v/+9EhIS1K5dO82dO9e5fteuXcrLy1OvXr2cy+Li4tSpUydlZmZKkjIzMxUfH+8MOpLUq1cvhYWFae3ataU+74kTJ1RQUODyBwAArMmvYeeHH37Q7Nmz1axZM33xxRe69957NXr0aM2fP1+SlJeXJ0lKTEx0eVxiYqJzXV5enhISElzWR0REqFatWs5tzpaRkaG4uDjnX4MGDbx9aAAAIED4New4HA61b99eTz75pNq1a6e7775bd911l+bMmePT5508ebLsdrvzb8+ePT59PgAA4D9+DTvJyclKS0tzWdayZUvl5ORIkpKSkiRJ+/btc9lm3759znVJSUnav3+/y/pTp07p0KFDzm3OFhUVpdjYWJc/AABgTX4NO126dNH27dtdln3//fdq1KiRJCk1NVVJSUlatmyZc31BQYHWrl2r9PR0SVJ6erry8/O1YcMG5zbLly+X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xXmc8+bN0+7du2Wz2bR582bn/vPz82Wz2fTll1+6lPuzzz5Thw4dFBUVpVWrVsnhcCgjI0OpqamKjo5W27Zt9d5773n7JQJwBsIOgHJ7/vnnlZ6errvuuku5ubnKzc1VjRo1dPXVV6tdu3Zav369Pv/8c+3bt08333yzy2Pnz5+vOnXqaN26dbr//vt177336ve//706d+6sjRs3qnfv3hoyZIgKCwtdHjdhwgQ988wzysrKUt26dXXdddc5Q0l2drauueYaDRgwQF9//bUWLFigVatWadSoUS77+POf/6y2bdtq06ZNmjJliiSpRo0amjdvnr799ls9//zzmjt3rp599llJ0sCBA/Xggw/qkksucR7nwIEDy3WuJk2apJkzZ+q7775TmzZtlJGRoddff11z5szRtm3bNG7cON12221auXJlufYLoBy8Mp0ogJDTvXt3M2bMGOf/H3/8cdO7d2+Xbfbs2eMyU3j37t1N165dnetPnTplqlWrZoYMGeJclpubaySZzMxMY8z/z7b8zjvvOLf55ZdfTHR0tFmwYIExxpgRI0aYu+++2+W5//3vf5uwsDBz7NgxY4wxjRo1Mv3797/gcf3pT38yHTp0cP5/6tSppm3bti7b7Nq1y0gymzZtci779ddfjSSzYsUKl3J/+OGHzm2OHz9uYmJizJo1a1z2N2LECDNo0KALlg2AZyL8GbQAWMeWLVu0YsUKVa9e/Zx12dnZat68uSSpTZs2zuXh4eGqXbu2Wrdu7VyWmJgoSdq/f7/LPtLT053/rlWrli6++GJ99913zuf++uuv9eabbzq3McbI4XBo165datmypSSpY8eO55RtwYIFmjVrlrKzs3XkyBGdOnVKsbGx5T7+spz5nDt37lRhYaF+85vfuGxTVFSkdu3aee05Abgi7ADwiiNHjui6667TU089dc665ORk57+rVKniss5ms7kss9lskiSHw1Gu5/7DH/6g0aNHn7OuYcOGzn9Xq1bNZV1mZqYGDx6s6dOnq0+fPoqLi9M777yjZ5555rzPFxZ2ugWAMca5rOSW2tnOfM4jR45Ikj755BPVr1/fZbuoqKjzPicAzxF2AHgkMjJSxcXFzv+3b99e77//vlJSUhQR4f2vlv/85z/O4PLrr7/q+++/d9bYtG/fXt9++62aNm1arn2uWbNGjRo10iOPPOJc9uOPP7psc/ZxSlLdunUlSbm5uc4amTMbK5clLS1NUVFRysnJUffu3ctVVgCeo4EyAI+kpKRo7dq12r17tw4ePKiRI0fq0KFDGjRokLKyspSdna0vvvhCd9xxxzlhwROPPfaYli1bpq1bt2rYsGGqU6eO+vfvL+l0j6o1a9Zo1KhR2rx5s3bs2KGPPvronAbKZ2vWrJlycnL0zjvvKDs7W7NmzdIHH3xwznHu2rVLmzdv1sGDB3XixAlFR0friiuucDY8Xrlypf74xz9e8Bhq1Kih8ePHa9y4cZo/f76ys7O1ceNGvfDCC5o/f77H5wbA+RF2AHhk/PjxCg8PV1pamurWrauioiKtXr1axcXF6t27t1q3bq2xY8cqPj7eedunImbOnKkxY8aoQ4cOysvL08cff6zIyEhJp9sBrVy5Ut9//72uvPJKtWvXTo8++qjq1at33n1ef/31GjdunEaNGqVLL71Ua9ascfbSKjFgwABdc801uuqqq1S3bl29/fbbkqRXX31Vp06dUocOHTR27Fg98cQTbh3H448/rilTpigjI0MtW7bUNddco08++USpqakenBUA7rCZM286A0CA+fLLL3XVVVfp119/VXx8vL+LAyAIUbMDAAAsjbADAAAsjdtYAADA0qjZAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlvZ/5oPfigwJYygAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABJXElEQVR4nO3deXwU9eH/8fcmkJBAEo6cIJAAckO4NaAclYqUnxaxFfHgEGhVqCBqAa0CogZrVay1oFjFowpVEe+DchZBCkKQeKDEYKImQMRsgIQAyef3B99sWXKQbPacfT0fjzweMDO7+5nZ2Zn3fD6f+YzNGGMEAABgESG+LgAAAIA7EW4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4A+MT8+fNls9lqtazNZtP8+fM9Wp6hQ4dq6NChfvt+AGqPcAMEueXLl8tmszn+GjRooFatWmnixIn64YcffF08v5OcnOy0veLj43XxxRfrjTfecMv7FxcXa/78+dqwYYNb3g8IRoQbAJKk++67Ty+++KKWLl2qkSNH6qWXXtKQIUN0/Phxj3zen/70J5WUlHjkvT2tV69eevHFF/Xiiy/qjjvu0I8//qgxY8Zo6dKl9X7v4uJiLViwgHAD1EMDXxcAgH8YOXKk+vXrJ0maMmWKYmNj9dBDD+mtt97S1Vdf7fbPa9CggRo0CMxDUKtWrXT99dc7/j9+/Hh16NBBjz32mG666SYflgyARM0NgGpcfPHFkqSsrCyn6V999ZV+85vfqHnz5mrUqJH69eunt956y2mZkydPasGCBTr//PPVqFEjtWjRQhdddJHWrFnjWKaqPjelpaW67bbbFBcXp6ioKF1xxRX6/vvvK5Vt4sSJSk5OrjS9qvd87rnn9Itf/ELx8fEKDw9X165dtWTJkjpti3NJTExUly5dlJ2dXeNyBw8e1OTJk5WQkKBGjRopNTVVzz//vGP+/v37FRcXJ0lasGCBo+nL0/2NAKsJzMsmAB63f/9+SVKzZs0c0z7//HMNGjRIrVq10pw5c9S4cWP961//0ujRo/X666/ryiuvlHQ6ZKSnp2vKlCkaMGCAioqKtGPHDu3cuVO//OUvq/3MKVOm6KWXXtK1116rgQMHat26dRo1alS91mPJkiXq1q2brrjiCjVo0EBvv/22brnlFpWXl2vatGn1eu8KJ0+eVG5urlq0aFHtMiUlJRo6dKj27dun6dOnKyUlRa+++qomTpyowsJCzZgxQ3FxcVqyZIluvvlmXXnllRozZowkqWfPnm4pJxA0DICg9txzzxlJ5t///rc5dOiQyc3NNa+99pqJi4sz4eHhJjc317HsJZdcYnr06GGOHz/umFZeXm4GDhxozj//fMe01NRUM2rUqBo/d968eebMQ1BGRoaRZG655Ran5a699lojycybN88xbcKECaZt27bnfE9jjCkuLq603IgRI0y7du2cpg0ZMsQMGTKkxjIbY0zbtm3NpZdeag4dOmQOHTpkdu/eba655hojyfzhD3+o9v0WL15sJJmXXnrJMe3EiRMmLS3NNGnSxBQVFRljjDl06FCl9QVQNzRLAZAkDR8+XHFxcWrdurV+85vfqHHjxnrrrbd03nnnSZIOHz6sdevW6eqrr9aRI0dUUFCggoIC/fTTTxoxYoS++eYbx91VTZs21eeff65vvvmm1p//3nvvSZJuvfVWp+kzZ86s13pFREQ4/m2321VQUKAhQ4bo22+/ld1ud+k9P/roI8XFxSkuLk6pqal69dVXdcMNN+ihhx6q9jXvvfeeEhMTNW7cOMe0hg0b6tZbb9XRo0e1ceNGl8oCoDKapQBIkp588kl17NhRdrtdzz77rDZt2qTw8HDH/H379skYo3vuuUf33HNPle9x8OBBtWrVSvfdd59+/etfq2PHjurevbsuu+wy3XDDDTU2r3z33XcKCQlR+/btnaZ36tSpXuv18ccfa968edq6dauKi4ud5tntdsXExNT5PS+44ALdf//9stlsioyMVJcuXdS0adMaX/Pdd9/p/PPPV0iI8zVlly5dHPMBuAfhBoAkacCAAY67pUaPHq2LLrpI1157rfbu3asmTZqovLxcknTHHXdoxIgRVb5Hhw4dJEmDBw9WVlaW3nzzTX300Ud65pln9Nhjj2np0qWaMmVKvcta3eB/ZWVlTv/PysrSJZdcos6dO+vRRx9V69atFRYWpvfee0+PPfaYY53qKjY2VsOHD3fptQA8j3ADoJLQ0FClp6dr2LBh+tvf/qY5c+aoXbt2kk43pdTmxN68eXNNmjRJkyZN0tGjRzV48GDNnz+/2nDTtm1blZeXKysry6m2Zu/evZWWbdasmQoLCytNP7v24+2331ZpaaneeusttWnTxjF9/fr15yy/u7Vt21afffaZysvLnWpvvvrqK8d8qfrgBqD26HMDoEpDhw7VgAEDtHjxYh0/flzx8fEaOnSonnrqKeXl5VVa/tChQ45///TTT07zmjRpog4dOqi0tLTazxs5cqQk6a9//avT9MWLF1datn379rLb7frss88c0/Ly8iqNEhwaGipJMsY4ptntdj333HPVlsNTfvWrXyk/P18rV650TDt16pSeeOIJNWnSREOGDJEkRUZGSlKV4Q1A7VBzA6Bad955p377299q+fLluummm/Tkk0/qoosuUo8ePTR16lS1a9dOBw4c0NatW/X9999r9+7dkqSuXbtq6NCh6tu3r5o3b64dO3botdde0/Tp06v9rF69emncuHH6+9//LrvdroEDB2rt2rXat29fpWWvueYazZ49W1deeaVuvfVWFRcXa8mSJerYsaN27tzpWO7SSy9VWFiYLr/8cv3+97/X0aNHtWzZMsXHx1cZ0Dzpd7/7nZ566ilNnDhRn376qZKTk/Xaa6/p448/1uLFixUVFSXpdAforl27auXKlerYsaOaN2+u7t27q3v37l4tLxDQfH27FgDfqrgVfPv27ZXmlZWVmfbt25v27dubU6dOGWOMycrKMuPHjzeJiYmmYcOGplWrVub//b//Z1577TXH6+6//34zYMAA07RpUxMREWE6d+5sHnjgAXPixAnHMlXdtl1SUmJuvfVW06JFC9O4cWNz+eWXm9zc3Cpvjf7oo49M9+7dTVhYmOnUqZN56aWXqnzPt956y/Ts2dM0atTIJCcnm4ceesg8++yzRpLJzs52LFeXW8HPdZt7de934MABM2nSJBMbG2vCwsJMjx49zHPPPVfptVu2bDF9+/Y1YWFh3BYOuMBmzBn1tQAAAAGOPjcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSgm4Qv/Lycv3444+KiopimHMAAAKEMUZHjhxRy5YtKz2A9mxBF25+/PFHtW7d2tfFAAAALsjNzdV5551X4zJBF24qhjjPzc1VdHS0j0sDAABqo6ioSK1bt3acx2sSdOGmoikqOjqacAMAQICpTZcSOhQDAABLIdwAAABLIdwAAABLCbo+NwCA4FFWVqaTJ0/6uhiopbCwsHPe5l0bhBsAgOUYY5Sfn6/CwkJfFwV1EBISopSUFIWFhdXrfQg3AADLqQg28fHxioyMZNDWAFAxyG5eXp7atGlTr++McAMAsJSysjJHsGnRooWvi4M6iIuL048//qhTp06pYcOGLr8PHYoBAJZS0ccmMjLSxyVBXVU0R5WVldXrfQg3AABLoikq8LjrOyPcAAAASyHcAAAAr9iwYYNsNpvH72LzabhJT09X//79FRUVpfj4eI0ePVp79+6t8TXLly+XzWZz+mvUqJGXSlyzPHuJtmQVKM9e4uuiAACC0Pz589WrVy9fF8PnfHq31MaNGzVt2jT1799fp06d0l133aVLL71UX3zxhRo3blzt66Kjo51CkD+0q67cnqO5q/ao3EghNil9TA+N7d/G18UCAKCSkydP1utuJH/n05qbDz74QBMnTlS3bt2Umpqq5cuXKycnR59++mmNr7PZbEpMTHT8JSQkeKnEVcuzlziCjSSVG+muVZnU4AAA6qS8vFzp6elKSUlRRESEUlNT9dprr0n6X5PO2rVr1a9fP0VGRmrgwIGOi/3ly5drwYIF2r17t6NlY/ny5ZJOnzeXLFmiK664Qo0bN9YDDzxQYzkqPuvDDz9U7969FRERoV/84hc6ePCg3n//fXXp0kXR0dG69tprVVxc7HhdaWmpbr31VsXHx6tRo0a66KKLtH37ds9srBr4VZ8bu90uSWrevHmNyx09elRt27ZV69at9etf/1qff/55tcuWlpaqqKjI6c/dsguOOYJNhTJjtL+guOoXAAAChje7HKSnp+uFF17Q0qVL9fnnn+u2227T9ddfr40bNzqWufvuu/XII49ox44datCggW688UZJ0tixY3X77berW7duysvLU15ensaOHet43fz583XllVdqz549jtecy/z58/W3v/1NW7ZsUW5urq6++motXrxYL7/8st5991199NFHeuKJJxzL//GPf9Trr7+u559/Xjt37lSHDh00YsQIHT582E1bqHb8ZhC/8vJyzZw5U4MGDVL37t2rXa5Tp0569tln1bNnT9ntdv3lL3/RwIED9fnnn+u8886rtHx6eroWLFjgyaIrJbaxQmxyCjihNpuSYxljAQACmTe7HJSWlurBBx/Uv//9b6WlpUmS2rVrp82bN+upp57S7373O0nSAw88oCFDhkiS5syZo1GjRun48eOKiIhQkyZN1KBBAyUmJlZ6/2uvvVaTJk2q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WArhBgAAWArhBgAAWArhBgAAWEpQh5slS5aoZ8+ejoGG0tLS9P777zvmHz9+XNOmTVOLFi3UpEkTXXXVVTpw4IDTe+Tk5GjUqFGKjIxUfHy87rzzTp06dcrbq+I2ixYtks1m08yZMx3TgmE7zJ8/Xzabzemvc+fOjvnBsA0q/PDDD7r++uvVokULRUREqEePHtqxY4djvjFG9957r5KSkhQREaHhw4frm2++cXqPw4cP67rrrlN0dLSaNm2qyZMn6+jRo95eFZclJydX2h9sNpumTZsmKTj2h7KyMt1zzz1KSUlRRESE2rdvr4ULFzo91ycY9gXp9HD/M2fOVNu2bRUREaGBAwdq+/btjvlW3A6bNm3S5ZdfrpYtW8pms2n16tVO8921zp999pkuvvhiNWrUSK1bt9af//xn96yACWJvvfWWeffdd83XX39t9u7da+666y7TsGFDk5mZaYwx5qabbjKtW7c2a9euNTt27DAXXnihGThwoOP1p06dMt27dzfDhw83u3btMu+9956JjY01c+fO9dUq1ct///tfk5ycbHr27GlmzJjhmB4M22HevHmmW7duJi8vz/F36NAhx/xg2AbGGHP48GHTtm1bM3HiRLNt2zbz7bffmg8//NDs27fPscyiRYtMTEyMWb16tdm9e7e54oorTEpKiikpKXEsc9lll5nU1FTzySefmP/85z+mQ4cOZty4cb5YJZccPHjQaV9Ys2aNkWTWr19vjAmO/eGBBx4wLVq0MO+8847Jzs42r776qmnSpIl5/PHHHcsEw75gjDFXX3216dq1q9m4caP55ptvzLx580x0dLT5/vvvjTHW3A7vvfeeufvuu82qVauMJPPGG284zXfHOtvtdpOQkGCuu+46k5mZaV555RUTERFhnnrqqXqXP6jDTVWaNWtmnnnmGVNYWGgaNmxoXn31Vce8L7/80kgyW7duNcac/vJDQkJMfn6+Y5klS5aY6OhoU1pa6vWy18eRI0fM+eefb9asWWOGDBniCDfBsh3mzZtnUlNTq5wXLNvAGGNmz55tLrroomrnl5eXm8TERPPwww87phUWFprw8HDzyiuvGGOM+eKLL4wks337dscy77//vrHZbOaHH37wXOE9aMaMGaZ9+/amvLw8aPaHUaNGmRtvvNFp2pgxY8x1111njAmefaG4uNiEhoaad955x2l6nz59zN133x0U2+HscOOudf773/9umjVr5vSbmD17tunUqVO9yxzUzVJnKisr04oVK3Ts2DGlpaXp008/1cmTJzV8+HDHMp07d1abNm20detWSdLWrVvVo0cPJSQkOJYZMWKEioqK9Pnnn3t9Hepj2rRpGjVqlNP6Sgqq7fDNN9+oZcuWateuna677jrl5ORICq5t8NZbb6lfv3767W9/q/j4ePXu3VvLli1zzM/OzlZ+fr7TtoiJidEFF1zgtC2aNm2qfv36OZYZPny4QkJCtG3bNu+tjJucOHFCL730km688UbZbLag2R8GDhyotWvX6uuvv5Yk7d69W5s3b9bIkSMlBc++cOrUKZWVlalRo0ZO0yMiIrR58+ag2Q5nctc6b926VYMHD1ZYWJhjmREjRmjv3r36+eef61XGoHtw5tn27NmjtLQ0HT9+XE2aNNEbb7yhrl27KiMjQ2FhYWratKnT8gkJCcrPz5ck5efnOx28KuZXzAsUK1as0M6dO53akCvk5+cHxXa44IILtHz5cnXq1El5eXlasGCBLr74YmVmZgbNNpCkb7/9VkuWLNGsWbN01113afv27br11lsVFhamCRMmONalqnU9c1vEx8c7zW/QoIGaN28eUNuiwurVq1VYWKiJEydKCp7fxJw5c1RUVKTOnTsrNDRUZWVleuCBB3TddddJUtDsC1FRUUpLS9PChQvVpUsXJSQk6JVXXtHWrVvVoUOHoNkOZ3LXOufn5yslJaXSe1TMa9asmctlDPpw06lTJ2VkZMhut+u1117ThAkTtHHjRl8Xy2tyc3M1Y8YMrVmzptKVSTCpuBqVpJ49e+qCCy5Q27Zt9a9//UsRERE+LJl3lZeXq1+/fnrwwQclSb1791ZmZqaWLl2qCRMm+Lh0vvGPf/xDI0eOVMuWLX1dFK/617/+pX/+8596+eWX1a1bN2VkZGjmzJlq2bJl0O0LL774om688Ua1atVKoaGh6tOnj8aNG6dPP/3U10VDNYK+WSosLEwdOnRQ3759lZ6ertTUVD3++ONKTEzUiRMnVFhY6LT8gQMHlJiYKElKTEysdIdExf8rlvF3n376qQ4ePKg+ffqoQYMGatCggTZu3Ki//vWvatCggRISEoJiO5ytadOm6tixo/bt2xc0+4IkJSUlqWvXrk7TunTp4miiq1iXqtb1zG1x8OBBp/mnTp3S4cOHA2pbSNJ3332nf//735oyZYpjWrDsD3feeafmzJmja665Rj169NANN9yg2267Tenp6ZKCa19o3769Nm7cqKNHjyo3N1f//e9/dfLkSbVr1y6otkMFd62zJ38nQR9uzlZeXq7S0lL17dtXDRs21Nq1ax3z9u7dq5ycHKWlpUmS0tLStGfPHqcvcM2aNYqOjq50gvBXl1xyifbs2aOMjAzHX79+/XTdddc5/h0M2+FsR48eVVZWlpKSkoJmX5CkQYMGae/evU7Tvv76a7Vt21aSlJKSosTERKdtUVRUpG3btjlti8LCQqer2nXr1qm8vFwXXHCBF9bCfZ577jnFx8dr1KhRjmnBsj8UFxcrJMT5FBEaGqry8nJJwbcvSFLjxo2VlJSkn3/+WR9++KF+/etfB+V2cNc6p6WladOmTTp58qRjmTVr1qhTp071apKSFNy3gs+ZM8ds3LjRZGdnm88++8zMmTPH2Gw289FHHxljTt/u2aZNG7Nu3TqzY8cOk5aWZtLS0hyvr7jd89JLLzUZGRnmgw8+MHFxcQF1u2dVzrxbypjg2A6333672bBhg8nOzjYff/yxGT58uImNjTUHDx40xgTHNjDm9HAADRo0MA888ID55ptvzD//+U8TGRlpXnrpJccyixYtMk2bNjVvvvmm+eyzz8yvf/3rKm8B7d27t9m2bZvZvHmzOf/88/36tteqlJWVmTZt2pjZs2dXmhcM+8OECRNMq1atHLeCr1q1ysTGxpo//vGPjmWCZV/44IMPzPvvv2++/fZb89FHH5nU1FRzwQUXmBMnThhjrLkdjhw5Ynbt2mV27dplJJlHH33U7Nq1y3z33XfGGPesc2FhoUlISDA33HCDyczMNCtWrDCRkZHcCl5fN954o2nbtq0JCwszcXFx5pJLLnEEG2OMKSkpMbfccotp1qyZiYyMNFdeeaXJy8tzeo/9+/ebkSNHmoiICBMbG2tuv/12c/LkSW+viludHW6CYTuMHTvWJCUlmbCwMNOqVSszduxYp7FdgmEbVHj77bdN9+7dTXh4uOncubN5+umnneaXl5ebe+65xyQkJJjw8HBzySWXmL179zot89NPP5lx48aZJk2amOjoaDNp0iRz5MgRb65GvX344YdGUqV1MyY49oeioiIzY8YM06ZNG9OoUSPTrl07c/fddzvdthss+8LK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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# visualize with IDAES surrogate plotting tools\n", "surrogate_scatter2D(poly_surr, data_validation, filename=\"pysmo_poly_val_scatter2D.pdf\")\n", @@ -659,8 +281,7 @@ "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.6" - }, - "orig_nbformat": 4 + } }, "nbformat": 4, "nbformat_minor": 2 diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/pysmo_training_doc.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/pysmo_training_doc.ipynb index 9dd602c4..35a652db 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/pysmo_training_doc.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/pysmo_training_doc.ipynb @@ -1,5 +1,31 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "code", "execution_count": null, @@ -54,19 +80,7 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "from IPython.display import Image\n", "from pathlib import Path\n", @@ -166,198 +180,7 @@ "cell_type": "code", "execution_count": 4, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; previous file will be overwritten.\n", - "\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "No iterations will be run.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "\n", - "Best surrogate model is of order 5 with a cross-val S.S. Error of 20466.657669\n", - "\n", - "------------------------------------------------------------\n", - "The final coefficients of the regression terms are: \n", - "\n", - "k | -534397.59515\n", - "(x_ 1 )^ 1 | -2733.579691\n", - "(x_ 2 )^ 1 | 1036.106357\n", - "(x_ 1 )^ 2 | 32.409203\n", - "(x_ 2 )^ 2 | -2.852387\n", - "(x_ 1 )^ 3 | 0.893563\n", - "(x_ 2 )^ 3 | 0.004018\n", - "(x_ 1 )^ 4 | -0.045284\n", - "(x_ 2 )^ 4 | -3e-06\n", - "(x_ 1 )^ 5 | 0.000564\n", - "(x_ 2 )^ 5 | 0.0\n", - "x_ 1 .x_ 2 | 4.372684\n", - "\n", - "The coefficients of the extra terms in additional_regression_features are:\n", - "\n", - "Coeff. additional_regression_features[ 1 ]: -0.002723\n", - "Coeff. additional_regression_features[ 2 ]: 3.6e-05\n", - "Coeff. additional_regression_features[ 3 ]: -0.050607\n", - "Coeff. additional_regression_features[ 4 ]: 169668.814595\n", - "Coeff. additional_regression_features[ 5 ]: -44.726026\n", - "\n", - "Regression model performance on training data:\n", - "Order: 5 / MAE: 134.972465 / MSE: 54613.278159 / R^2: 0.999601\n", - "\n", - "Results saved in solution.pickle\n", - "2023-08-19 23:48:46 [INFO] idaes.core.surrogate.pysmo_surrogate: Model for output enth_mol trained successfully\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; previous file will be overwritten.\n", - "\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "No iterations will be run.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "\n", - "Best surrogate model is of order 5 with a cross-val S.S. Error of 0.156437\n", - "\n", - "------------------------------------------------------------\n", - "The final coefficients of the regression terms are: \n", - "\n", - "k | -519.862457\n", - "(x_ 1 )^ 1 | -8.820865\n", - "(x_ 2 )^ 1 | 3.676641\n", - "(x_ 1 )^ 2 | 0.18002\n", - "(x_ 2 )^ 2 | -0.010217\n", - "(x_ 1 )^ 3 | -0.000783\n", - "(x_ 2 )^ 3 | 1.4e-05\n", - "(x_ 1 )^ 4 | -6.9e-05\n", - "(x_ 2 )^ 4 | -0.0\n", - "(x_ 1 )^ 5 | 1e-06\n", - "(x_ 2 )^ 5 | 0.0\n", - "x_ 1 .x_ 2 | 0.010367\n", - "\n", - "The coefficients of the extra terms in additional_regression_features are:\n", - "\n", - "Coeff. additional_regression_features[ 1 ]: -7e-06\n", - "Coeff. additional_regression_features[ 2 ]: 0.0\n", - "Coeff. additional_regression_features[ 3 ]: -0.000112\n", - "Coeff. additional_regression_features[ 4 ]: 484.312223\n", - "Coeff. additional_regression_features[ 5 ]: -0.1166\n", - "\n", - "Regression model performance on training data:\n", - "Order: 5 / MAE: 0.398072 / MSE: 0.495330 / R^2: 0.998873\n", - "\n", - "Results saved in solution.pickle\n", - "2023-08-19 23:49:20 [INFO] idaes.core.surrogate.pysmo_surrogate: Model for output entr_mol trained successfully\n" - ] - } - ], + "outputs": [], "source": [ "# Create PySMO trainer object\n", "trainer = PysmoPolyTrainer(\n", @@ -403,108 +226,7 @@ "cell_type": "code", "execution_count": 5, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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yvcswiciouaoQUPY4sWL8fLLL1c45ujRo9i5cycKCwvx2GOP1dOVNYzHHnsMCxYsUL4vKChAUFBQA16RmnmTVTl0xccvR16eJ7TaYpSUOCl3SV66dKnC2St7XfDj4uLQvXt3G88gIiJqXho0hD388MOYOXNmhWM6deqE7777DsnJyXByclId69+/P6ZOnYo1a9agXbt2OH/+vOq4/H27du2U/9oaY35cfszf31815pZbblHGXLhwQXWO0tJS5OXlVfo65q9hi5OTk9V7bEhZWRpkZATD0zMXAKw22966dSzi45fj8mVPq3AGbAYATJs2rVqv6ePjU6vvgYiIqLFq0BDm4+NTpV+6b7zxBp5//nnl+6ysLMTExGDdunWIjIwEAOj1ejz++OMoKSmBVqsFACQkJKBbt27K8p9er8euXbsQHx+vnCshIQF6vR4AEBISgnbt2mHXrl1K6CooKEBKSgruv/9+5Rz5+flITU1FREQEAOC7776D0Wis1rU0tMq637//PjBnji+MxhlKIb6tNhWZmYE2w5m83ZCLiwvmzZuH4uJi5Ofno7S01Oq1tFotdDodlx2JiKhlEU1QRkaGACAOHjyoPJafny/8/PzE9OnTRVpamli7dq1wcXER7777rjJm3759olWrVuLVV18VR48eFU8//bTQarXit99+U8a89NJLwsPDQ3z11Vfi8OHD4h//+IcICQkR169fV8aMGjVK9OvXT6SkpIi9e/eKLl26iClTplTrWqrCYDAIAMJgMNTgU7Jv1SohNBohANN/V61SH8/MLD8uf0lSmQDKrB6bNGm96jH5a8aMD8WSJUtEVlZWrV47ERFRY1fV39/NJoQJIcSvv/4qhgwZIpycnET79u3FSy+9ZPXc9evXi65duwpHR0fRs2dPsX37dtVxo9EonnzySeHn5yecnJzE7bffLo4fP64ak5ubK6ZMmSLatGkj3N3dxV133SUKCwurfS2VqYsQZitgOTiYHpd99511qAKEGDRo719hzBTAxo//Ssyf/5rymHk4mz//NYYwIiJqkar6+1sSQoiGnIkj+woKCqDT6WAwGODu7l4r59y9G7jtNtuP33qr6c/nzgEdOwJGsw4UkmTExImb4OFxGSUljqq7Gm0V7Mvd7ufMmaOqryMiImruqvr7u0m0qKDa06ULoNGoA5aDA9C5s+nPubm5cHAoxrJlznj0UR3KyqS/NtYGNm78pxKyQkLOKM8PDz+I0NBTdltOEBERkTWGsBYmMBB47z3g3nuBsjJTAHv3XdPj8obdsgcfdENmZiA2bpwEua+vZeG9zF7LCSIiIrKtyXTMp9ozaxZw+rRpCfL0adP3QPmG3TKdrhCurtdR0fZElTEYDDd/wURERM0QZ8JaqMBA260pLMkbb5u3p6hseyJzLDkkIiKyjTNhVCFbm3ebmrECGRnBMBjcAAAGg5vqe5n59kNERERUjjNhVKnQ0FOYOHETAIGgoHNIT++M5cvjlbsh+/Q5jMOH+9i8O5KIiIhsYwijClm2n4iKSkRiYpSqQ/6vv/YFICnf2yrcJyIiIjWGsBYkNzfXqvjenGURvcHgZrUlkXkAKyepvpML9xnCiIiI7GMIayEs209URV6el839IgEjKionrE7hPhERUUvFwvwWwtYMmL1iepl8Z6Q5STIiIiLV7uvINWGcBSMiIqoYZ8JaKHtbDQ0cOBA//fQTACA9vTPMO0zI40JDTyE1NQLqDG/EpEkbERR0ThXAHB0d6+cNERERNTEMYS2QrVovuZi+tLRUNcY8aAkBpeB+/PhtViGuV6+jAIDJkyfDw8MDjo6O8PLyqvf3R0RE1BQwhLVA9mq98vI88csvv9gdA5QX3IeHH8T06b4oKPBFUFAR2rULgVbbFT4+PgxeREREVcAQ1gJ5eubCurheXUxflTGDB3eEv79/3V4sERFRM8UQ1mKp20pIElBY2AaZmUEAAA+PyzbHmGO9FxERUc0xhLVAeXlesNXba9Wqe8weN9ocIy9Hjhw5ksuOREREN4EtKloI81krW60nAAF16LL+0TDv/8U9IYmIiG4OQ1gL4eXlhZEjRwKwvSm35ayXJcv+X76+vnV6vURERM0dlyNbiNzcXJSUlCjfh4cfRGjoKeTleUKrLcb778+2cTdkuYkTN6JXr6OIjY1FQEAAlyKJiIhuEkNYC2BvyyKdrlCZ2Ro3bpuqd5g5STIiKOgcAMDb25sBjIiIqBYwhLUAllsWGQxuyMvzgqdnrhLC5JmxzMxAHD/eFWlpfVSNWOVxvCOSiIiodjCEtTC2tisyLUuaQllxcWslgAFGREUlIjz8IAAgLi6Os2BERES1hCGsBbG1XdGWLWMhSVBCmWmvSHlJUoPExCj06pUGna4QPj4+DXXpREREzQ5DWAtibysieZNuW/VgQmgwePAM3HorOAtGRERUixjCWhC5P1hFd0FacnAAIiO9wPxFRERUu9gnrAWx7A9m6oovVGNMx0zHHRyAd98FAgPr9TKJiIhaBM6EtTDm/cGysgKQkBBtdrS8UH/48FmIiNAxgBEREdURhrAWwLKthNxu4qOP7oR5p3yNRsJTT0UiOHgwvLx09XmJRERELQ5DWAvg5eWFefPmqfqF7dvniNdfV69GG40SCgv9WP9FRERUDxjCWgjLOxsHDgQ0GsBoto+3gwPQuXM9XxgREVELxcL8FiowEHjvPVPwAliET0REVN84E9aCzZoFxMQAp06ZZsAYwIiIiOoPQ1gLFxjI8EVERNQQuBxJRERE1AAYwoiIiIgaAEMYERERUQNgCCMiIiJqAAxhRERERA2AIYyIiIioATCEERERETUAhjAiIiKiBsAQRkRERNQAGMKIiIiIGgBDGBEREVED4N6RjZgQAgBQUFDQwFdCREREVSX/3pZ/j9vDENaIFRYWAgCCgoIa+EqIiIiougoLC6HT6ewel0RlMY0ajNFoRFZWFtzc3CBJUo3PU1BQgKCgIGRmZsLd3b0Wr7Dp4Gdgws+BnwHAzwDgZyDj51A3n4EQAoWFhQgICIBGY7/yizNhjZhGo0FgYGCtnc/d3b3F/p9Mxs/AhJ8DPwOAnwHAz0DGz6H2P4OKZsBkLMwnIiIiagAMYUREREQNgCGsBXBycsLTTz8NJyenhr6UBsPPwISfAz8DgJ8BwM9Axs+hYT8DFuYTERERNQDOhBERERE1AIYwIiIiogbAEEZERETUABjCiIiIiBoAQ1gT9fbbb6NPnz5Kczm9Xo9vvvlGOX7jxg3MnTsXXl5eaNOmDSZOnIjz58+rznH27FmMGTMGLi4u8PX1xcKFC1FaWlrfb6XWvPTSS5AkCfHx8cpjLeFzWLJkCSRJUn11795dOd4SPgMA+PPPPzFt2jR4eXnB2dkZvXv3xi+//KIcF0Lgqaeegr+/P5ydnREVFYWTJ0+qzpGXl4epU6fC3d0dHh4emDVrFq5cuVLfb6VGgoODrX4OJEnC3LlzAbSMn4OysjI8+eSTCAkJgbOzM0JDQ/Hcc8+p9u9r7j8HgGmrnPj4eHTs2BHOzs4YNGgQ9u/frxxvjp/Bjz/+iHHjxiEgIACSJOHLL79UHa+t93z48GEMHToUrVu3RlBQEJYtW3ZzFy6oSdqyZYvYvn27OHHihDh+/Lj497//LbRarUhLSxNCCHHfffeJoKAgsWvXLvHLL7+IgQMHikGDBinPLy0tFb169RJRUVHi4MGD4uuvvxbe3t7isccea6i3dFN+/vlnERwcLPr06SMeeugh5fGW8Dk8/fTTomfPniI7O1v5unjxonK8JXwGeXl5omPHjmLmzJkiJSVF/PHHH+Lbb78Vp06dUsa89NJLQqfTiS+//FL8+uuvYvz48SIkJERcv35dGTNq1CjRt29f8dNPP4k9e/aIzp07iylTpjTEW6q2CxcuqH4GEhISBACxe/duIUTL+Dl44YUXhJeXl9i2bZvIyMgQGzZsEG3atBErVqxQxjT3nwMhhJg8ebIICwsTP/zwgzh58qR4+umnhbu7uzh37pwQonl+Bl9//bV4/PHHxebNmwUA8cUXX6iO18Z7NhgMws/PT0ydOlWkpaWJzz//XDg7O4t33323xtfNENaMtG3bVqxatUrk5+cLrVYrNmzYoBw7evSoACCSk5OFEKYfWI1GI3JycpQxb7/9tnB3dxdFRUX1fu03o7CwUHTp0kUkJCSI4cOHKyGspXwOTz/9tOjbt6/NYy3lM3j00UfFkCFD7B43Go2iXbt24pVXXlEey8/PF05OTuLzzz8XQghx5MgRAUDs379fGfPNN98ISZLEn3/+WXcXX0ceeughERoaKoxGY4v5ORgzZoy4++67VY/FxsaKqVOnCiFaxs/BtWvXhIODg9i2bZvq8fDwcPH444+3iM/AMoTV1nt+6623RNu2bVX/f3j00UdFt27danytXI5sBsrKyrB27VpcvXoVer0eqampKCkpQVRUlDKme/fu6NChA5KTkwEAycnJ6N27N/z8/JQxMTExKCgowO+//17v7+FmzJ07F2PGjFG9XwAt6nM4efIkAgIC0KlTJ0ydOhVnz54F0HI+gy1btqB///745z//CV9fX/Tr1w//+9//lOMZGRnIyclRfQ46nQ6RkZGqz8HDwwP9+/dXxkRFRUGj0SAlJaX+3kwtKC4uxieffIK7774bkiS1mJ+DQYMGYdeuXThx4gQA4Ndff8XevXsxevRoAC3j56C0tBRlZWVo3bq16nFnZ2fs3bu3RXwGlmrrPScnJ2PYsGFwdHRUxsTExOD48eO4fPlyja6NG3g3Yb/99hv0ej1u3LiBNm3a4IsvvkBYWBgOHToER0dHeHh4qMb7+fkhJycHAJCTk6P6y1Y+Lh9rKtauXYsDBw6o6h1kOTk5LeJziIyMxOrVq9GtWzdkZ2fjmWeewdChQ5GWltZiPoM//vgDb7/9NhYsWIB///vf2L9/Px588EE4OjpixowZyvuw9T7NPwdfX1/V8VatWsHT07PJfA6yL7/8Evn5+Zg5cyaAlvP/hcWLF6OgoADdu3eHg4MDysrK8MILL2Dq1KkA0CJ+Dtzc3KDX6/Hcc8+hR48e8PPzw+eff47k5GR07ty5RXwGlmrrPefk5CAkJMTqHPKxtm3bVvvaGMKasG7duuHQoUMwGAzYuHEjZsyYgR9++KGhL6veZGZm4qGHHkJCQoLVv/paEvlf+QDQp08fREZGomPHjli/fj2cnZ0b8Mrqj9FoRP/+/fHiiy8CAPr164e0tDS88847mDFjRgNfXf17//33MXr0aAQEBDT0pdSr9evX49NPP8Vnn32Gnj174tChQ4iPj0dAQECL+jn4+OOPcffdd6N9+/ZwcHBAeHg4pkyZgtTU1Ia+NLLA5cgmzNHREZ07d0ZERASWLl2Kvn37YsWKFWjXrh2Ki4uRn5+vGn/+/Hm0a9cOANCuXTurO6Pk7+UxjV1qaiouXLiA8PBwtGrVCq1atcIPP/yAN954A61atYKfn1+L+BwseXh4oGvXrjh16lSL+Vnw9/dHWFiY6rEePXooy7Ly+7D1Ps0/hwsXLqiOl5aWIi8vr8l8DgBw5swZJCYmYvbs2cpjLeXnYOHChVi8eDHuuOMO9O7dG9OnT8f8+fOxdOlSAC3n5yA0NBQ//PADrly5gszMTPz8888oKSlBp06dWsxnYK623nNd/H+EIawZMRqNKCoqQkREBLRaLXbt2qUcO378OM6ePQu9Xg8A0Ov1+O2331Q/dAkJCXB3d7f6ZdZY3X777fjtt99w6NAh5at///6YOnWq8ueW8DlYunLlCtLT0+Hv799ifhYGDx6M48ePqx47ceIEOnbsCAAICQlBu3btVJ9DQUEBUlJSVJ9Dfn6+arbgu+++g9FoRGRkZD28i9rx4YcfwtfXF2PGjFEeayk/B9euXYNGo/615uDgAKPRCKBl/RwAgKurK/z9/XH58mV8++23+Mc//tHiPgOg9v531+v1+PHHH1FSUqKMSUhIQLdu3Wq0FAmALSqaqsWLF4sffvhBZGRkiMOHD4vFixcLSZLEzp07hRCm29E7dOggvvvuO/HLL78IvV4v9Hq98nz5dvSRI0eKQ4cOiR07dggfH58mdTu6LeZ3RwrRMj6Hhx9+WHz//fciIyND7Nu3T0RFRQlvb29x4cIFIUTL+Ax+/vln0apVK/HCCy+IkydPik8//VS4uLiITz75RBnz0ksvCQ8PD/HVV1+Jw4cPi3/84x82b1Hv16+fSElJEXv37hVdunRp1LflWyorKxMdOnQQjz76qNWxlvBzMGPGDNG+fXulRcXmzZuFt7e3WLRokTKmJfwc7NixQ3zzzTfijz/+EDt37hR9+/YVkZGRori4WAjRPD+DwsJCcfDgQXHw4EEBQPznP/8RBw8eFGfOnBFC1M57zs/PF35+fmL69OkiLS1NrF27Vri4uLBFRUt09913i44dOwpHR0fh4+Mjbr/9diWACSHE9evXxf/93/+Jtm3bChcXF/H//t//E9nZ2apznD59WowePVo4OzsLb29v8fDDD4uSkpL6fiu1yjKEtYTPIS4uTvj7+wtHR0fRvn17ERcXp+qP1RI+AyGE2Lp1q+jVq5dwcnIS3bt3F++9957quNFoFE8++aTw8/MTTk5O4vbbbxfHjx9XjcnNzRVTpkwRbdq0Ee7u7uKuu+4ShYWF9fk2bsq3334rAFi9LyFaxs9BQUGBeOihh0SHDh1E69atRadOncTjjz+uainQEn4O1q1bJzp16iQcHR1Fu3btxNy5c0V+fr5yvDl+Brt37xYArL5mzJghhKi99/zrr7+KIUOGCCcnJ9G+fXvx0ksv3dR1S0KYtRImIiIionrBmjAiIiKiBsAQRkRERNQAGMKIiIiIGgBDGBEREVEDYAgjIiIiagAMYUREREQNgCGMiIiIqAEwhBERERE1AIYwImpWbr31VsTHxzf0ZdS5JUuW4JZbbmnoyyCim8AQRkTUiBQXF9fr6wkhUFpaWq+vSUQmDGFE1GzMnDkTP/zwA1asWAFJkiBJEk6fPo20tDSMHj0abdq0gZ+fH6ZPn45Lly4pz7v11lvxwAMPID4+Hm3btoWfnx/+97//4erVq7jrrrvg5uaGzp0745tvvlGe8/3330OSJGzfvh19+vRB69atMXDgQKSlpamuae/evRg6dCicnZ0RFBSEBx98EFevXlWOBwcH47nnnsOdd94Jd3d3zJkzBwDw6KOPomvXrnBxcUGnTp3w5JNPoqSkBACwevVqPPPMM/j111+V97l69WqcPn0akiTh0KFDyvnz8/MhSRK+//571XV/8803iIiIgJOTE/bu3Quj0YilS5ciJCQEzs7O6Nu3LzZu3Fjb/xMRkRmGMCJqNlasWAG9Xo977rkH2dnZyM7OhpubG2677Tb069cPv/zyC3bs2IHz589j8uTJqueuWbMG3t7e+Pnnn/HAAw/g/vvvxz//+U8MGjQIBw4cwMiRIzF9+nRcu3ZN9byFCxfitddew/79++Hj44Nx48YpYSk9PR2jRo3CxIkTcfjwYaxbtw579+7FvHnzVOd49dVX0bdvXxw8eBBPPvkkAMDNzQ2rV6/GkSNHsGLFCvzvf//D66+/DgCIi4vDww8/jJ49eyrvMy4urlqf1eLFi/HSSy/h6NGj6NOnD5YuXYqPPvoI77zzDn7//XfMnz8f06ZNww8//FCt8xJRNdzU9t9ERI3M8OHDxUMPPaR8/9xzz4mRI0eqxmRmZgoA4vjx48pzhgwZohwvLS0Vrq6uYvr06cpj2dnZAoBITk4WQgixe/duAUCsXbtWGZObmyucnZ3FunXrhBBCzJo1S8yZM0f12nv27BEajUZcv35dCCFEx44dxYQJEyp9X6+88oqIiIhQvn/66adF3759VWMyMjIEAHHw4EHlscuXLwsAYvfu3arr/vLLL5UxN27cEC4uLiIpKUl1vlmzZokpU6ZUem1EVDOtGjIAEhHVtV9//RW7d+9GmzZtrI6lp6eja9euAIA+ffoojzs4OMDLywu9e/dWHvPz8wMAXLhwQXUOvV6v/NnT0xPdunXD0aNHldc+fPgwPv30U2WMEAJGoxEZGRno0aMHAKB///5W17Zu3Tq88cYbSE9Px5UrV1BaWgp3d/dqv397zF/z1KlTuHbtGqKjo1VjiouL0a9fv1p7TSJSYwgjombtypUrGDduHF5++WWrY/7+/sqftVqt6pgkSarHJEkCABiNxmq99r333osHH3zQ6liHDh2UP7u6uqqOJScnY+rUqXjmmWcQExMDnU6HtWvX4rXXXqvw9TQaU4WJEEJ5TF4atWT+mleuXAEAbN++He3bt1eNc3JyqvA1iajmGMKIqFlxdHREWVmZ8n14eDg2bdqE4OBgtGpV+3/l/fTTT0qgunz5Mk6cOKHMcIWHh+PIkSPo3Llztc6ZlJSEjh074vHHH1ceO3PmjGqM5fsEAB8fHwBAdna2MoNlXqRvT1hYGJycnHD27FkMHz68WtdKRDXHwnwialaCg4ORkpKC06dP49KlS5g7dy7y8vIwZcoU7N+/H+np6fj2229x1113WYWYmnj22Wexa9cupKWlYebMmfD29saECRMAmO5wTEpKwrx583Do0CGcPHkSX331lVVhvqUuXbrg7NmzWLt2LdLT0/HGG2/giy++sHqfGRkZOHToEC5duoSioiI4Oztj4MCBSsH9Dz/8gCeeeKLS9+Dm5oZHHnkE8+fPx5o1a5Ceno4DBw7gzTffxJo1a2r82RBRxRjCiKhZeeSRR+Dg4ICwsDD4+PiguLgY+/btQ1lZGUaOHInevXsjPj4eHh4eyvLdzXjppZfw0EMPISIiAjk5Odi6dSscHR0BmOrMfvjhB5w4cQJDhw5Fv3798NRTTyEgIKDCc44fPx7z58/HvHnzcMsttyApKUm5a1I2ceJEjBo1CiNGjICPjw8+//xzAMAHH3yA0tJSREREID4+Hs8//3yV3sdzzz2HJ598EkuXLkWPHj0watQobN++HSEhITX4VIioKiRhXjxARERV8v3332PEiBG4fPkyPDw8GvpyiKgJ4kwYERERUQNgCCMiIiJqAFyOJCIiImoAnAkjIiIiagAMYUREREQNgCGMiIiIqAEwhBERERE1AIYwIiIiogbAEEZERETUABjCiIiIiBoAQxgRERFRA2AIIyIiImoA/x8XV8X3Pvc5BQAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj4AAAHHCAYAAAC/R1LgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAACH+klEQVR4nO2deXxTVd7/P+nK1qbQUtraQkthdJBFqYiFERCKwE9weECpC8oOOqAiDigP48K4IKCI4LgwIjgqCgJuODoURUelMooi4iADPEXAlqWBBqRCS3N/f2RuSNK7r+fefN+vFy9tcpOcnJx7zud8t+PhOI4DQRAEQRBEDBBndwMIgiAIgiCsgoQPQRAEQRAxAwkfgiAIgiBiBhI+BEEQBEHEDCR8CIIgCIKIGUj4EARBEAQRM5DwIQiCIAgiZiDhQxAEQRBEzEDChyAIgiCImIGED0EQBIOsXLkSHo8H+/fvt7spBOEqSPgQRIzy1VdfYdq0abj44ovRvHlztG3bFqNGjcJ//vOfRtf269cPHo8HHo8HcXFxSE1NxYUXXohbbrkFZWVlqj73vffeQ9++fZGZmYlmzZqhffv2GDVqFD788EOjvlojHnvsMbz99tuNHt+yZQseeugh1NTUmPbZ0Tz00EOhvvR4PGjWrBk6deqEP/3pTzh58qQhn7Fq1SosXrzYkPciCLdBwocgYpT58+dj3bp1GDBgAJ5++mlMnjwZ//znP9G9e3fs3Lmz0fW5ubl45ZVX8Le//Q0LFy7Etddeiy1btuDqq69GaWkp6uvrZT/ziSeewLXXXguPx4PZs2fjqaeewsiRI7Fnzx688cYbZnxNANLCZ+7cuZYKH57nnnsOr7zyChYtWoSLLroIjz76KAYPHgwjjk8k4UMQ4iTY3QCCIOxhxowZWLVqFZKSkkKPlZaWokuXLnj88cfx6quvRlzv9XoxevToiMcef/xx3HnnnXj22WeRn5+P+fPni37euXPn8PDDD2PgwIHYuHFjo+ePHj2q8xuxQ21tLZo1ayZ5zXXXXYeMjAwAwG233YaRI0di/fr1+PLLL1FcXGxFMwkiJiGLD0HEKL169YoQPQDQsWNHXHzxxdi1a5ei94iPj8eSJUvQqVMnPPPMM/D7/aLXVldX4+TJk+jdu7fg85mZmRF/nzlzBg899BB+85vfoEmTJsjOzsaIESOwb9++0DVPPPEEevXqhfT0dDRt2hRFRUVYu3ZtxPt4PB6cPn0aL7/8csi9NHbsWDz00EOYOXMmAKCgoCD0XHhMzauvvoqioiI0bdoUrVq1wg033ICDBw9GvH+/fv3QuXNnbNu2DX369EGzZs3wv//7v4r6L5z+/fsDACoqKiSve/bZZ3HxxRcjOTkZOTk5mDp1aoTFql+/fnj//ffx008/hb5Tfn6+6vYQhFshiw9BECE4jsORI0dw8cUXK35NfHw8brzxRtx///34/PPPcc011whel5mZiaZNm+K9997DHXfcgVatWom+Z0NDA4YOHYqPPvoIN9xwA+666y6cOnUKZWVl2LlzJwoLCwEATz/9NK699lrcfPPNqKurwxtvvIHrr78eGzZsCLXjlVdewcSJE3H55Zdj8uTJAIDCwkI0b94c//nPf/D666/jqaeeCllfWrduDQB49NFHcf/992PUqFGYOHEijh07hqVLl6JPnz749ttvkZaWFmqvz+fDkCFDcMMNN2D06NFo06aN4v7j4QVdenq66DUPPfQQ5s6di5KSEtx+++3YvXs3nnvuOXz11Vf44osvkJiYiDlz5sDv9+PQoUN46qmnAAAtWrRQ3R6CcC0cQRDEf3nllVc4ANzy5csjHu/bty938cUXi77urbfe4gBwTz/9tOT7P/DAAxwArnnz5tyQIUO4Rx99lNu2bVuj61566SUOALdo0aJGzwUCgdD/19bWRjxXV1fHde7cmevfv3/E482bN+fGjBnT6L0WLlzIAeAqKioiHt+/fz8XHx/PPfrooxGPf//991xCQkLE43379uUAcM8//7zo9w7nwQcf5ABwu3fv5o4dO8ZVVFRwL7zwApecnMy1adOGO336NMdxHLdixYqIth09epRLSkrirr76aq6hoSH0fs888wwHgHvppZdCj11zzTVcu3btFLWHIGINcnURBAEA+PHHHzF16lQUFxdjzJgxql7LWxROnToled3cuXOxatUqXHrppfjHP/6BOXPmoKioCN27d49wr61btw4ZGRm44447Gr2Hx+MJ/X/Tpk1D/3/ixAn4/X5ceeWV+Oabb1S1P5r169cjEAhg1KhRqK6uDv3LyspCx44dsXnz5ojrk5OTMW7cOFWfceGFF6J169YoKCjAlClT0KFDB7z//vuisUGbNm1CXV0dpk+fjri481P3pEmTkJqa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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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PQAgCAH4+OPLkJKyF3Z7VYt1QOBSVzOx+i+4Of8gXHzxxRgyZAhWr14NwFUt+cUXX8TPP/+Mt956C19++SXuueceAMCIESOwaNEiREVFSVOVd911FwCgtrYWjzzyCH788Ud89NFH2LdvH2bNmtVs10FERK3PsWMxUtAjEoQAHDvWuYVG5NJmAp+FCxfi3HPPRWRkJLp27YrLL78cu3fvVhzz+++/Y968eYiJiUHHjh0xdepUHD58uIVG3Db0798f+/btAwDk5ORgzJgxSEpKwsUXX4xHH30Uubm5AFzLcHa7HTabDd27d0f37t3RsWNHAMD111+PiRMnonfv3jj//PPx4osvYt26dTh58mRLXRYREbWwzp0rYLMp80htNic6dz7WQiNyaTOBz9dff4158+bh22+/RV5eHmprazFu3DicOnVKOub222/Hxx9/jH/961/4+uuvUVpaiilTprTgqFs/QRCkpav8/Hxccskl6NGjByIjI3HttdeioqIC1dXVhufYsmULJk2ahJ49eyIyMhKjR48GABw4cKDJx09ERK2T3V6FSZPWSsGPmONjt1e16LjaTI7PZ599pvh52bJl6Nq1K7Zs2YJRo0bB4XBgyZIleO+993DxxRcDAJYuXYqzzjoL3377Lc4///yWGHart2vXLiQnJ2Pfvn247LLLcPPNN+Oxxx5D586d8c033yArKws1NTW6LTpOnTqF8ePHY/z48Xj33XfRpUsXHDhwAOPHj2cHeyIiPzds2A9ISdmLY8c6o3PnYy0e9ABtKPBRczgcAIDOnV1rhVu2bEFtbS0yMjKkY/r374+ePXuioKBAN/A5c+YMzpw5I/184sSJJhx16/Lll1/ip59+wu23344tW7bA6XTi2WeflZqvistcopCQELcWEr/88gsqKirwxBNPIDExEQDw/fffN88FEBFRq2e3V7WKgEfUJgMfp9OJnJwcjBw5EoMGDQIAHDp0CCEhIW51Zrp164ZDhw7pnmvhwoVYsGBBUw63VThz5gwOHTqk2M6+cOFCXHbZZbjuuuuwY8cO1NbWYvHixZg0aRI2bdqEV155RXGOpKQknDx5El988QWGDBmC8PBw9OzZEyEhIVi8eDFuuukm7NixA4888kgLXSURETUXeYmW0tIAFBcHITm5DiEh5bqfcTgicexYDDp3Zh0fj8ybNw87duzAN998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++yzlfj44xxFEKDVBTw4+AzMKg8D+ktqWsX3rOw4UxcXlL9mlq8zfvxAfPvtfrfjgAAIghPTpuUiMfGgpURvm82J4GBlEGa326WluLg4IDXVbahERF7xKvB55plnYLPZcN1116Gurg4AEBwcjJtvvhlPPPGETwcIAL/88gucTideffVV9OnTBzt27MCNN96IU6dO4ZlnngHgqiw9btw4ZGRk4JVXXsFPP/2E66+/HtHR0ZgzZ47Px0Ttl5jc+957YbjnHjucThsCAgQ89ZQDV199GtXV1abn0AsccnIWKbqGi7MlrqDH1T1cPVMi1ujRojfzoZVMLAiuKsdino9WkUGR2YzRt99+q3scEICICNc9Uleqdh+XAEEIwJIlN3jV3Z2IyFNeBT4hISF44YUXsHDhQhQVFQEAUlJSDKujNsaECRMwYcIE6efevXtj9+7dePnll6XA591330VNTQ3efPNNhISEYODAgdi2bRuee+45Bj5kmZjc63BEYtGiHKk7udNpw913R+G3396E3V6lWw1YrHljZanJfbbEFfRkZb2hKOpn1jVcvgtL3tcrJWUvBEF+pH5laTWrNYr0jistjcfbb18nLX+NGFEg1fvRSnI2qnpNRORLjWpSGh4ejrPPPttXY/GIw+FA586dpZ8LCgowatQoxdLX+PHj8eSTT+L48eOKHTZyZ86cwZkzZ6SfPelJRq2fp0tVYgBhFriEh4cbBiNWAge976ittb4F22gXliufxlplafWWd6v1cbSOy8jIR35+hmL5a/PmkSgoSJdmdWprQy2NjYjI17wKfH7//XcsXrwYGzZswJEjR+B0KndybN261SeD07N3714sXrxYmu0BgEOHDiE5OVlxXLdu3aT39AKfhQsXYsGCBU03WGoxS5YAc+YATicQEAC89hqQlWXts1ZnPPRYCRysfodRLRqtXVhiEGPl/EZb3q12gE9J2YupU1cBEJCYeFC37pB8Vqex95eIyFteBT5ZWVlYv349pk2bhvPOO8+0eame++67D08++aThMbt27VLsHvvtt98wYcIEXHHFFbjxxhu9+l65+++/H3fccYf084kTJ5CYmNjo85JveTJzU1FRgX376jBnTlc4neJSFTB3roBzzjmCpKQg0x1BRoGLwxGJTz89jXPOOYz4eFfQr5VrYxY4mAVHU6ZMQXx8vNt55Utb8gRl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+OMtMmajmR45sXJyeXm51FSUiIiIfK9NBD51dXW47bbb8PTTTyMrK0t6fcCAAdLv169fj507dyI/Px/dunXDOeecg0ceeQT33nsvHn744Vad9xIdHe02g6NXvBBQtrTg0hYREZF1bSLw2bp1K3777TcEBARg6NChOHToEM455xw8/fTTGDRoEACgoKAAZ599Nrp16yZ9bvz48bj55pvx888/Y+jQoZrnPnPmDM6cOSP9fOLEiaa9GANivo9Z8UL1rJCvmpISERG1d21iV9f//vc/AMDDDz+Mv/3tb1i7di06deqEiy66CMeOufpTHTp0SBH0AJB+PnTokO65Fy5cCLvdLv1KTExsoqswVlFRgRUrVlguXihndUmNiIjI37Vo4HPffffBZrMZ/vrll1/gdLq2dc+fPx9Tp05Famoqli5dCpvNhn/961+NGsP9998Ph8Mh/SopKfHFpelyOCJRXJzkFsiIwYtR53W9z1ZWVjbpmImIiNqLFl3quvPOOzFr1izDY3r37o2ysjIAypye0NBQ9O7dGwcOHAAAdO/eHf/9738Vnz18+LD0np7Q0FCEhoZ6M3yPmS1hAfqd10tL4/H229dpfjY3N1dKkGbODxERkb4WDXy6dOmCLl26mB6XmpqK0NBQ7N69GxdccAEAoLa2Fvv27UOvXr0AAOnp6Xjsscdw5MgRdO3aFQCQl5eHqKgoRcDUUvSWsFJS9iqO0+q8npGRj/z8DM3PionPubm50jmY80NERKStTSQ3R0VF4aabbsJDDz2ExMRE9OrVC08//TQA4IorrgAAjBs3DgMGDMC1116Lp556CocOHcLf/vY3zJs3r9lmdNTkO8mMlrBCQkJw5MgR6XV18UKjz2rV+WHODxERkbY2EfgAwNNPP42goCBce+21OH36NNLS0vDll1+iU6dOAIDAwECsXbsWN998M9LT0xEREYGZM2fi73//e4uNOSYmBtnZ2aipqUFpaQDeeUeA02mT3g8MFHDnnX8G4FTM2ADuxQu1lr86dz7W5NdARETUntgEQRBaehCtyYkTJ2C32+FwOBAVFeXTcy9ZAsydC9TXA4GBwKuvAllZQFlZGV577TXDz8rzg1ycGDs2H/HxZW61fubMmcPKzkRE5FesPr/bzIxPe5CVBQweDHzzDXDBBcC552ofp1W8MCVlL5QhagDy8sYCsOkmShMR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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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fj2aN28uPr9t2za75Xe3hIQEHD16FAaDwayW6NSpU+LrgHywR0TKMYeIiNymT58+6NatGxYvXowbN24gKioKffr0wXvvvYfCwkKr5S9fviz+++rVq2avNWrUCC1btkRFRYXs9jIzMwEA77zzjtnzixcvtlo2OTkZOp0OR48eFZ8rLCy0Gi3a398fACAIgvicTqfDypUrZctRUx544AEUFRVh7dq14nO3bt3CkiVL0KhRI/Tu3RsAEBQUBACSAR8RKcMaIiJyqxdffBF//vOfsWrVKjz99NNYunQpevbsiZSUFEyYMAEtWrTAxYsXkZ2djV9//RVHjhwBALRr1w59+vRB586dER4ejgMHDuCLL77A5MmTZbfVsWNHDB8+HO+++y50Oh3uu+8+/Pjjjzhz5ozVso899hhmzJiBhx9+GFOnTkVZWRmWLVuGVq1a4dChQ+JyAwYMgFarxYMPPoinnnoKJSUlWLFiBaKioiSDupo0ceJEvPfeexg9ejQOHjyIxMREfPHFF9i9ezcWL16M4OBgANVJ4O3atcPatWvRqlUrhIeHo3379mjfvn2tlpfIq3m6mxsReR9jt/v9+/dbvVZVVSUkJycLycnJwq1btwRBEIS8vDxh5MiRQkxMjFC/fn2hadOmwh//+Efhiy++EN/3xhtvCN26dRPCwsKEwMBAoU2bNsLf//53obKyUlxGqot8eXm5MHXqVKFJkyZCw4YNhQcffFA4f/68ZDf0zZs3C+3btxe0Wq3QunVr4ZNPPpFc5/r164UOHToIDRo0EBITE4UFCxYIH374oQBAyM/PF5dzpNu9vSEF5NZ38eJFYcyYMUJERISg1WqFlJQUYeXKlVbv3bNnj9C5c2dBq9WyCz6REzSCYFIvTEREROSDmENEREREPo8BEREREfk8BkRERETk8xgQERERkc9jQEREREQ+jwERERER+TwOzKiQwWDAhQsXEBwczGHyiYiIvIQgCPj9998RFxdnNVGyKQZECl24cAHx8fGeLgYRERE54fz582jWrJns6wyIFDIOkX/+/HmEhIR4uDRERESkhF6vR3x8vHgdl8OASCFjM1lISAgDIiIiIi9jL92FSdVERETk8xgQERERkc9jQEREREQ+jzlERETk86qqqnDz5k1PF4OcUL9+ffj7+7u8HgZERETkswRBQFFREYqLiz1dFHJBWFgY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Sly+fBl+fn5mlR+O8pqA6MMPP8Tjjz9uNb7A9OnTxX936NABWq0WTz31FLKyslwadXPWrFlm69br9YiPj3d6fUREpC5+fn5ISkpCYWEhLly44OnikAuCgoLQvHlz+Pk53/DlFQHR//73P+Tm5mLt2rV2l+3evTtu3bqFs2fPonXr1oiJicHFixfNljH+LZd3BFRPkOeJYcyJiKj2aLVaNG/eHLdu3VLF3F7kOH9/f9SrV8/l2j2vCIg++OADdO7cGampqXaXzcnJgZ+fn5gJn5aWhr/+9a+4efOmOOPuli1b0Lp161ofFpyIiNTHOCO75azs5Fs8mlRdUlIijmEAQJxorqCgQFxGr9fj888/x/jx463en52djcWLF+PIkSP45Zdf8Omnn2LatGl44oknxGBnxIgR0Gq1GDduHE6cOIG1a9fi7bffNmsOIyIiIt/m0RqiAwcOoG/fvuLfxiBl1KhRWLVqFQDgs88+gyAIGD58uNX7AwIC8Nlnn2H27NmoqKhAUlISpk2bZhbshIaGYvPmzZg0aRI6d+6MiIgIvPrqq+xyT0RERCJO7qoQJ3clIiLyPpzclYiIiEghBkRERETk8xgQERERkc9jQEREREQ+jwERERER+TwGREREROTzGBARERGRz2NARERERD6PARERERH5PAZERERE5PMYEBEREZHPY0BEREREPo8BEREREfk8BkRERETk8xgQERERkc9jQEREREQ+jwERERER+TwGREREROTzGBARERGRz2NARERERD6PARERERH5PAZERERE5PMYEBEREZHPY0BEREREPo8BEREREfk8BkRERETk8xgQERERkc9jQEREREQ+jwERERER+TwGREREROTzGBARERGRz2NARERERD6PARERERH5PAZERERE5PMYEBEREZHP82hAtHPnTjz44IOIi4uDRqPB119/bfb66NGjodFozB4DBw40W+batWt4/PHHERISgrCwMIwbNw4lJSVmyxw9ehS9evVCgwYNEB8fj4ULF9b0RyMiIiIv4tGAqLS0FKmpqVi6dKnsMgMHDkRhYaH4WLNmjdnrjz/+OE6cOIEtW7Zgw4YN2LlzJyZOnCi+rtfrMWDAACQkJODgwYNYtGgRZs+ejX//+9819rmIiIjIu9Tz5MYzMzORmZlpc5mAgADExMRIvvbzzz/j+++/x/79+9Gl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Nm0annjiCTHYGTFiBObMmYNx48ZhxowZOH78ON5++2289dZbHvnMNY2TsxIRETlOIwiCYH+xmrF9+3b07dvX6vlRo0Zh9uzZSEpKknzftm3b0KdPHxw6dAjPPvssTp06hYqKCiQlJeHJJ5/E9OnTzZq7jh49ikmTJmH//v2IiIjAlClTMGPGDIfKqtfrERoaCp1OZ7fZjoiIiNRB6fXbowGRN2FARERE5H2UXr9VnUNEREREVBsYEBEREZHPY0BEREREPo8BEREREfk8BkRERETk8xgQERERkc9jQEREREQ+jwERERER+TwGREREROTzGBARERGRz2NARERERD6PARERERH5PAZERERE5PMYEBEREZHPY0BEREREPo8BEREREfk8BkRERETk8xgQERERkc9jQEREREQ+jwERERER+TwGREREROTzGBARERGRz2NARERERD6PARERERH5PAZERERE5PPqKV1Qr9crXmlISIhThSEiIiLyBMUBUVhYGDQajc1lBEGARqNBVVWVywUjIiIiqi2KA6Jt27bVZDmIiIiIPEZxQNS7d++aLAcRERGRxygOiCwVFxfjgw8+wM8//wwAuPvuuzF27FiEhoa6rXBEREREtcGpXmYHDhxAcnIy3nrrLVy7dg3Xrl3Dm2++ieTkZBw6dMjdZSQiIiKqURpBEARH39SrVy+0bNkSK1asQL161ZVMt27dwvjx4/HLL79g586dbi+op+n1eoSGhkKn07EXHRERkZdQev12KiAKDAzE4cOH0aZNG7PnT548iS5duqCsrMzxEqscAyIiIiLvo/T67VSTWUhICAoKCqyeP3/+PIKDg51ZJREREZHHOBUQDRs2DOPGjcPatWtx/vx5nD9/Hp999hnGjx+P4cOHu7uMRERERDXKqYDoH//4B4YMGYKRI0ciMTERiYmJGD16NB555BEsWLBA8Xp27tyJBx98EHFxcdBoNPj666/NXhcEAa+++ipiY2MRGBiI/v374/Tp02bLXLt2DY8//jhCQkIQFhaGcePGoaSkxGyZo0ePolevXmjQoAHi4+OxcOFCZz42ERER1VFOBURarRZvv/02rl+/jpycHOTk5ODatWt46623EBAQoHg9paWlSE1NxdKlSyVfX7hwId555x0sX74ce/fuRcOGDZGRkYEbN26Iyzz++OM4ceIEtmzZgg0bNmDn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6lTMnTsXubm5+P7775Geng4AKCwsxPDhwzF27Fj8/PPP2L59O4YMGQJHp3p0tExEpB6c3JWIVKdPnz64dOkSTpw4AY1GAwCYOXMm1q9fj5MnTyIxMRGdOnXCV199Jb5n/Pjx8Pf3x3vvvSc+t2vXLvTu3RulpaX47rvvMGbMGPz6668IDg42296hQ4fQuXNnnD17FgkJCZLl6dixIxYvXiw+N3jwYISFhWHVqlUA4FSZGjRo4NJ+IiL3YQ0REanSvffeKwZDAJCWlobTp0+jqqoKANClSxez5Y8cOYJVq1ahUaNG4iMjIwMGgwH5+fn4wx/+gISEBLRo0QJPPvkkPv30U5SVlQEAUlNT0a9fP6SkpODPf/4zVqxYgevXrztcZkfLRETqwYCIiLxSw4YNzf4uKSnBU089hZycHPFx5MgRnD59GsnJyQgODsahQ4ewZs0axMbG4tVXX0VqaiqKi4vh7++PLVu2YNOmTWjXrh2WLFmC1q1bi0GLn5+fVfPZzZs3XS4TEakHAyIiUqW9e/ea/f3TTz/hrrvugr+/v+Ty99xzD06ePImWLVtaPbRaLQCgXr166N+/PxYuXIijR4/i7Nmz2Lp1KwBAo9GgR48emDNnDg4fPgytVis2f0VGRqKwsFDcVlVVFY4fP273MygpExGpAwMiIlKlgoICTJ8+Hbm5uVizZg2WLFmC5557Tnb5GTNmYM+ePZg8eTJycnJw+vRpfPPNN2IC84YNG/DOO+8gJycH586dw8cffwyDwYDWrVtj7969mDdvHg4cOICCggKsW7cOly9fRtu2bQEA999/PzZu3IiNGzfi1KlTeOaZZ1BcXGz3M9grExGpRz1PF4CISMrIkSNRXl6Obt26wd/fH88995zYlV1Khw4dsGPHDvz1r39Fr169IAgCkpOTMWzYMABAWFgY1q1bh9mzZ+PGjRu46667sGbNGtx99934+eefsXPnTixevBh6vR4JCQn45z//iczMTADA2LFjceTIEYwcORL16tXDtGnT0LdvX7ufwV6ZiEg92MuMiFRHqlcXEVFNYpMZERER+TwGREREROTz2GRGREREPo81REREROTzGBARERGRz2NARERERD6PARERERH5PAZERERE5PMYEBEREZHPY0BEREREPo8BEREREfk8BkRERETk8/4/NXj9NDYxwzoAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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H7Bp0ya/F1RNWVkZbDYb7HY7exoRERGFCG/u3z4FKlFRUdi1axcyMjJcXv/222/Rs2dPVFRUeLtKnzBQISIiCj3e3L99avqJi4vDkSNH3F4vLi5GbGysL6skIiIicuNToDJ69GhMnjwZK1euRHFxMYqLi/Hmm29iypQpGDNmjL/LSERERPWUT71+/va3v0EQBIwbNw6XL18GADRs2BD33Xcf5s6d69cCEhERUf3lU46KpKKiAoWFhQCA9PR0REdH+61gRjBHhYiIKPR4c//2eRwVAIiOjkZmZmZtVkFERESkyadA5cKFC1iwYAHWr1+PkydPwuFwuLzPsVSIiIjIH3wKVCZPnoxPP/0Ut99+O3r37u1xskIiIiIiX/gUqHzwwQf46KOP0LdvX3+Xh4iIiMjJp+7JrVu35ngpREREFHA+BSp///vfMWPGDPz444/+Lg8RERGRk09NPz179sSFCxfQrl07REdHo2HDhi7v//zzz34pHBEREdVvPgUqY8aMwbFjxzBnzhy0aNGCybREREQUED4FKvn5+diyZQuysrL8XR4iIiIiJ59yVDIyMlBZWenvshARERG58ClQmTt3Lv7v//4PGzZswOnTp1FWVubyR0REROQPPs31ExZWE98oc1NEUYQgCKiurvZP6TzgXD9EREShJ+Bz/axfv96nghERERF5w6dApX///oaWu//++/HUU0+hefPmvnwNERER1XM+5agY9cYbb+jmrCxatAhdu3ZFXFwc4uLi0KdPH6xduzaQRSIiIqIQEtBAxVP6S5s2bTB37lzs2LED27dvxw033IDbbrsN33zzTSCLRURERCHCp6Yff7nllltc/v3MM89g0aJF+Oqrr3D11VebVCoiIiKyClMDFbnq6mq89dZbKC8vR58+fcwuDhEREVmA6YHK3r170adPH1y4cAGNGzfG6tWr0blzZ9Vlq6qqUFVV5fw3x2whIiKq2wKao2JEp06dUFBQgK1bt+K+++7D+PHj8e2336oum5eXB5vN5vxLTk4OcmmJiIgomLwOVC5fvoynnnoKR48e9bjs73//e48DuURERKB9+/bo0aMH8vLykJWVheeff1512ZkzZ8Jutzv/iouLvS0+ERERhRCvA5UGDRrgr3/9Ky5fvuxx2UWLFnk9horD4XBp3pGLjIx0dmWW/oiIiKju8ilH5YYbbsDGjRuR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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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fRejR482Gl9gzpw50v87d+4MjUaDRx55BCkpKbUadXPBggV62y4uLkZkZKTd2yMiIveiVqsRExODvLw8XLhwwdXFoVrw9fVFy5YtoVbb3/DlEQHRd999h6ysLGzYsMHiuj179kRlZSXOnTuHtm3bIiwsDBcvXtRbR/u3qbwjoGaCPFcMY05ERHVHo9GgZcuWqKysdIu5vch2Xl5eaNCgQa1r9zwiIHrnnXfQrVs3xMfHW1w3IyMDarVayoRPSEjAs88+i5s3b0oz7u7YsQNt27at82HBiYjI/WhnZDeclZ2UxaVJ1SUlJdIYBgCkieZyc3OldYqLi/HJJ59g8uTJRq9PS0vDihUrcOLECfzyyy/48MMPMXv2bDz88MNSsDNq1ChoNBpMmjQJp0+fxoYNG7By5Uq95jAiIiJSNpfWEB05cgT9+/eX/tYGKePGjcO6desAAOvXr4cQAiNHjjR6vbe3N9avX49FixahvLwcMTExmD17tl6wExAQgO3bt2PatGno1q0bgoKC8Nxzz7HLPREREUk4uauVOLkrERGR5+HkrkRERERWYkBEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBTPpQHRvn37cM899yAiIgIqlQqbNm3SWz5+/HioVCq9x+DBg/XWuXLlCkaPHg1/f38EBgZi0qRJKCkp0VsnMzMTffr0QaNGjRAZGYlly5Y5e9eIiIjIg7g0ILp+/Tri4+PxxhtvmFxn8ODByMvLkx4ff/yx3vLRo0fj9OnT2LFjB7Zs2YJ9+/Zh6tSp0vLi4mIMGjQIUVFROHr0KJYvX45FixbhP//5j9P2i4iIiDxLA1e+eXJyMpKTk82u4+3tjbCwMNllP/74I77++mukp6eje/fuAIDXX38dd999N/7v//4PERER+PDDD1FR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8eLFmDRpEubNm4dTp05h5cqVePXVV12yz67GSV+JiIiMqYQQwvJqzrFnzx7079/f6Plx48Zh0aJFiImJkX3d7t270a9fPxw7dgyPP/44fvrpJ5SXlyMmJgZjxozBnDlz9Jq7MjMzMW3aNKSnpyMoKAgzZszAvHnzbCprcXExAgICUFRUZLHZjoiIiNyDtfdvlwZEnoQBERERkeex9v7t1jlERERERHWBAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSvgbUrFhcXW71Rf39/uwpDRERE5ApWB0SBgYFQqVRm1xFCQKVSoaqqqtYFIyIiIqorVgdEu3fvdmY5iIiIiFzG6oCob9++ziwHERERkctYHRAZKiwsxDvvvIMff/wRANCxY0dMnDgRAQEBDiscERERUV2wq5fZkSNHEBsbi1dffRVXrlzBlStX8MorryA2NhbHjh1zdBmJiIiInEolhBC2vqhPnz5o3bo11qxZgwYNaiqZKisrMXnyZPzyyy/Yt2+fwwvqasXFxQgICEBRURF70REREXkIa+/fdgVEPj4+OH78ONq1a6f3/A8//IDu3bujtLTU9hK7OQZEREREnsfa+7ddTWb+/v7Izc01ev78+fPw8/OzZ5NERERELmNXQDRixAhMmjQJGzZswPnz53H+/HmsX78ekydPxsiRIx1dRiIiIiKnsisg+r//+z8MGzYMY8eORXR0NKKjozF+/Hg88MADWLp0qdXb2bdvH+655x5ERERApVJh06ZNesuFEHjuuecQHh4OHx8fDBw4EGfOnNFb58qVKxg9ejT8/f0RGBiISZMmoaSkRG+dzMxM9OnTB40aNUJkZCSWLVtmz24TERFRPWVXQKTRaLBy5UpcvXoVGRkZyMjIwJUrV/Dqq6/C29vb6u1cv34d8fHxeOONN2SXL1u2DK+99hpWr16NQ4cOoXHjxkhKSsKNGzekdUaPHo3Tp09jx44d2LJlC/bt24epU6dKy4uLizFo0CBERUXh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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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tWudlt/bWrdujd27d8NsNlvVquzbt095HdAOwojIdcxRIaoD+vfvj+7du+Pll1/GhQsXEBsbi/79++PNN99EUVGR3fqnTp1S/v+PP/6weq1BgwZo27YtKioqND8vKysLAPDqq69aLX/55Zft1k1JSYHJZMLu3buVZUVFRXajwwYHBwMAhBDKMpPJhEWLFmmWw1f+9Kc/4cSJE1i6dKmy7NKlS3jttdfQoEED9OvXDwAQEREBAKqBGBG5hjUqRHXEE088gb/85S9YvHgx7rvvPrz++uvo3bs30tLScM8996BNmzb4/fffsWXLFvz222/YtWsXAKBjx47o378/unbtiiZNmmDbtm345JNP8OCDD2p+1tVXX41Ro0bhjTfegMlkQs+ePfHtt9/i4MGDduvecccdmDZtGoYPH44pU6agrKwM8+fPR7t27bBjxw5lvZtuugmhoaG45ZZb8Ne//hXnzp3DwoULERsbqxps+dK9996LN998E+PGjcP27duRlJSETz75BJs2bcLLL7+Mhg0bAqhO/u3YsSOWLl2Kdu3aoUmTJujcuTM6d+7s1/ISBTS9ux0RkffI3ZNzc3PtXquqqhIpKSkiJSVFXLp0SQghRH5+vrj77rtFixYtRL169UTLli3FzTffLD755BPlfc8995zo3r27aNSokQgPDxepqani+eefF5WVlco6al2Jy8vLxZQpU0TTpk1FZGSkuOWWW0RhYaFqd91vvvlGdO7cWYSGhor27duL999/X3WbK1asEOnp6aJ+/foiKSlJzJs3T7zzzjsCgCgoKFDWc6d7srOu11rb+/3338X48eNFs2bNRGhoqEhLSxOLFi2ye+/mzZtF165dRWhoKLsqE3lAEsKiHpWIiIjIQJijQkRERIbFQIWIiIgMi4EKERERGRYDFSIiIjIsBipERERkWAxUiIiIyLACesA3s9mM48ePo2HDhhyqmoiIKEAIIXD27FnEx8fbTe5pK6ADlePHjyMhIUHvYhAREZEHCgsL0apVK4frBHSgIg9TXVhYiKioKJ1LQ0RERK4oLS1FQkKCch93JKADFbm5JyoqioEKERFRgHElbYPJtERERGRYDFSIiIjIsBioEBERkWEFdI4KERHVHVVVVbh48aLexSAXhYaGOu167AoGKkREZGhCCJw4cQIlJSV6F4XcEBQUhOTkZISGhtZoOwxU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ERkWAxUiIiIyLAYqREREZFgMVIiIiMiwGKgQERGRYTFQISIiIsNioEJERESGxUCFiIiIDIuBChERERkWAxUiIiIyLAYqREREZFgMVIiIiMiwGKgQERGRYTFQISIiIsNioEJERESGxUCFiIiIDIuBChERERkWAxUiIiIyLAYqREREZFgMVIiIiMiwGKgQERGRYTFQISIiIsNioEJERESGxUCFiIiIDIuBChERERkWAxUiIiIyLAYqREREZFgMVIiIiMiwGKgQERGRYTFQISIiIsNioEJERESGxUCFiIiIDIuBChERERkWAxUiIiIyLAYqREREZFgMVIiIiMiwGKgQERGRYTFQISIiIsPSNVCZNWsWJEmy+peamqpnkYiIiMhAQvQuQKdOnfC///1P+TskRPciERERkUHoHhWEhISgRYsWeheDiIiIDEj3HJUDBw4gPj4ebdq0wejRo3H06FHNdSsqKlBaWmr1j4iIiGovXQOVHj16YPHixfjqq68wf/58FBQUoE+fPjh79qzq+jk5OYiOjlb+JSQk+LnERERE5E+SEELoXQhZSUkJWrdujRdffBETJ060e72iogIVFRXK36WlpUhISIDJZEJUVJQ/i0pEREQeKi0tRXR0tEv3b91zVCw1atQI7dq1w8GDB1VfDwsLQ1hYmJ9LRURERHrRPUfF0rlz55Cfn4+4uDi9i0JEREQGoGug8vjjj2P9+vU4fPgwNm/ejOHDhyM4OBijRo3Ss1hERERkELo2/fz2228YNWoU/vjjD8TExKB379744YcfEBMTo2exiIiIyCB0DVSWLFmi58cTERGRwRkqR4WIiIjIEgMVIiIiMiwGKkRERGRYDFSIiIjIsBioEBERkWExUCEiIiLDYqBCREREhsVAhYiIiAyLgQoREREZFgMVIiIiMiwGKkRERGRYDFSIiIjIsBioEBERkWExUCEiIiLDYqBCREREhsVAhYiIiAyLgQoREREZFgMVIiIiMiwGKkRERGRYDFSIiIjIsBioEBERkWExUCEiIiLDYqBCREREhsVAhYiIiAyLgQoREREZFgMVIiIiMiwGKkRERGRYDFSIiIjIsBioEBERkWExUCEiIiLDYqBCREREhsVAhYiIiAyLgQoREREZFgMVIiIiMiwGKkRERGRYDFSIiIjIsBioEBERkWExUNFZkakcm/OLUWQq17soREREhhOidwHqsqW5RzF92R6YBRAkATkj0jDy2kS9i0VERGQYrFHRSZGpXAlSAMAsgKeW7WXNChERkQUGKjopKD6vBCmyKiFwuLhMnwIREREZEAMVnSQ3i0SQZL0sWJKQ1CxCnwIREREZEAMVP5OTZ4HqnJRgqTpaCZYkzBnRGXHR4XoWj4iIyFCYTOtHasmzG7MH4HBxGZKaRTBIISIismGoGpW5c+dCkiRMnTpV76J4nVbyLABkpjRlkEJERKTCMIFKbm4u3nzzTaSnp+tdFJ9g8iwREZH7DBGonDt3DqNHj8bChQvRuHFjvYvjE0yeJSIicp8hApXJkydjyJAhGDhwoN5F8Zm46HAmzxIREblJ92TaJUuWYMeOHcjNzXW6bkVFBSoqKpS/S0tLfVk0rxt5bSL6toth8iwREZGLdA1UCgsL8fDDD2PNmjWoX7++0/VzcnIwe/ZsP5TMd+KiwxmgEBERuUgSQgjnq/nG8uXLMXz4cAQHByvLqqqqIEkSgoKCUFFRYfWaWo1KQkICTCYToqKi/Fp2IiIi8kxpaSmio6Ndun/rWqNyww03YM+ePVbLxo8fj9TUVEybNs0qSAGAsLAwhIWF+bOIREREpCNdA5WGDRuic+fOVssiIyPRtGlTu+VERERU9xii1w9Vk4fX5wzKRERE1XTv9WNr3bp1ehdBF2rD64+8NlHvYhEREemKNSoGoDW8PmtWiIiormOgYgAcXp+IiEgdAxUD4PD6RERE6hioGACH1yciIlJnuGTauorD6xMREdljoGIgHF6fiIjIGpt+iIiIyLAYqBAREZFhMVAhIiIiw2KgQkRERIbFQIWIiIgMi4EKERERGRYDFSIiIjIsBipERERkWAxUiIiIyLAYqBAREZFhMVAhIiIiw2KgQkRERIbl8qSEpaWlLm80KirKo8IQERERWXI5UGnUqBEkSXK4jhACkiShqqqqxgUjIiIicjlQWbt2rS/LQURERGTH5UClX79+viwHERERkR2XAxVbJSUlePvtt/HLL78AADp16oQJEyYgOjraa4UjIiKius2jXj/btm1DSkoKXnrpJZw+fRqnT5/Giy++iJSUFOzYscPbZSQiIqI6ShJCCHff1KdPH7Rt2xYLFy5ESEh1pcylS5cwadIkHDp0CBs2bPB6QdWUlpYiOjoaJpOJPY2IiIgChDv3b48ClfDwcOzcuROpqalWy3/++Wd069YNZWVl7m7SIwxUiIiIAo8792+Pmn6ioqJw9OhRu+WFhYVo2LChJ5skIiIisuNRoDJy5EhMnDgRS5cuRWFhIQoLC7FkyRJMmjQJo0aN8nYZiYiIqI7yqNfP//3f/0GSJNx99924dOkSAKBevXq4//77MXfuXK8WkIiIiOouj3JUZGVlZcjPzwcApKSkICIiwmsFcwVzVIiIiAKPO/dvj8dRAYCIiAikpaXVZBNEREREmjwKVC5cuIDXXnsNa9euxcmTJ2E2m61e51gqRERE5A0eBSoTJ07EN998gz//+c/o3r2708kKiYiIiDzhUaDy5ZdfYtWqVejVq5e3y0NERESk8Kh7csuWLTleChEREfmcR4HKCy+8gGnTpuHIkSPeLg8RERGRwqOmn27duuHChQto06YNIiIiUK9ePavXT58+7ZXCERERUd3mUaAyatQoHDt2DHPmzEHz5s2ZTEtEREQ+4VGgsnnzZmzZsgUZGRneLg8RERGRwqMcldTUVJSXl3u7LERERERWPApU5s6di8ceewzr1q3DH3/8gdLSUqt/RERERN7g0Vw/QUHV8Y1tbooQApIkoaqqyjulc4Jz/RAREQUen8/1s3btWo8KRkREROQOjwKVfv36ubTeAw88gGeeeQbNmjXz5GOIiIiojvMoR8VV77//vsOclfnz5yM9PR1RUVGIiopCZmYmVq9e7csiERERUQDxaaDiLP2lVatWmDt3LrZv345t27bh+uuvx6233oqffvrJl8UiIiKiAOFR04+33HLLLVZ/P//885g/fz5++OEHdOrUSadSERERkVHoGqhYqqqqwscff4zz588jMzNT7+IQERGRAegeqOzZsweZmZm4cOECGjRogM8++wwdO3ZUXbeiogIVFRXK3xyzhYiIqHbzaY6KK9q3b4+8vDxs3boV999/P8aOHYuff/5Zdd2cnBxER0cr/xISEvxcWiIiIvIntwOVS5cu4ZlnnsFvv/3mdN277rrL6UAuoaGhaNu2Lbp27YqcnBxkZGTglVdeUV13+vTpMJlMyr/CwkJ3i09EREQBxO1AJSQkBP/85z9x6dIlp+vOnz/f7TFUzGazVfOOpbCwMKUrs/yPiIiIai+PclSuv/56rF+/HklJSTX68OnTpyMrKwuJiYk4e/YsPvjgA6xbtw5ff/11jbZL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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# visualize with IDAES surrogate plotting tools\n", "surrogate_scatter2D(poly_surr, data_training, filename=\"pysmo_poly_train_scatter2D.pdf\")\n", @@ -525,108 +247,7 @@ "cell_type": "code", "execution_count": 6, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj4AAAHHCAYAAAC/R1LgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABPs0lEQVR4nO3deVxU9f4/8NewigijLLIEAgJXr6ZeQTOy1NQCv2r508rylmuaBprZdcubaYtLqbllVtelvFreUuuqWVqZZZqVSupNSbyQG7gMOaAmIHN+f3BnYoAZZjtzttfz8eChzBxmPjMM57zO5/P+fI5OEAQBRERERBrgI3UDiIiIiLyFwYeIiIg0g8GHiIiINIPBh4iIiDSDwYeIiIg0g8GHiIiINIPBh4iIiDSDwYeIiIg0g8GHiIiINIPBh4hIhtauXQudTofCwkKpm0KkKgw+RBr1ww8/ICcnB23btkVwcDBatGiBhx56CL/88kudbXv06AGdTgedTgcfHx+EhoaiVatWeOyxx7Br1y6nnnfr1q3o3r07mjdvjsaNG6Nly5Z46KGH8Omnn3rqpdUxZ84cfPTRR3Vu37dvH2bNmoUrV66I9ty1zZo1y/Je6nQ6NG7cGG3atMHf//53lJaWeuQ5NmzYgMWLF3vksYjUhsGHSKPmz5+PTZs2oVevXliyZAnGjBmDr7/+GmlpaTh27Fid7ePi4rBu3Tq8++67ePXVV3Hfffdh3759uPfeezF48GBUVlY2+JwLFizAfffdB51Oh+nTp+O1117DoEGDcPLkSbz//vtivEwA9oPP7NmzvRp8zN544w2sW7cOixYtQuvWrfHyyy8jKysLnrh8IoMPkW1+UjeAiKQxadIkbNiwAQEBAZbbBg8ejHbt2mHevHn45z//abW9Xq/Ho48+anXbvHnzMGHCBKxYsQKJiYmYP3++zee7efMmXnzxRdxzzz3YuXNnnfsvXrzo5iuSj+vXr6Nx48Z2t3nggQcQEREBABg7diwGDRqEzZs347vvvkNGRoY3mkmkSezxIdKoO+64wyr0AEBqairatm2L48ePO/QYvr6+WLp0Kdq0aYPly5fDaDTa3Pby5csoLS1F165d672/efPmVt/fuHEDs2bNwp/+9Cc0atQIMTExGDhwIE6dOmXZZsGCBbjjjjsQHh6OoKAgpKen48MPP7R6HJ1Oh2vXruGdd96xDC8NHz4cs2bNwuTJkwEASUlJlvtq1tT885//RHp6OoKCghAWFoaHH34YZ86csXr8Hj164NZbb8XBgwfRrVs3NG7cGM8++6xD719NPXv2BAAUFBTY3W7FihVo27YtAgMDERsbi+zsbKseqx49emD79u349ddfLa8pMTHR6fYQqRV7fIjIQhAEXLhwAW3btnX4Z3x9ffHII4/gueeew969e9G3b996t2vevDmCgoKwdetWjB8/HmFhYTYfs6qqCv369cMXX3yBhx9+GE899RTKysqwa9cuHDt2DMnJyQCAJUuW4L777sNf//pXVFRU4P3338eDDz6Ibdu2Wdqxbt06PP7447jtttswZswYAEBycjKCg4Pxyy+/4L333sNrr71m6X2JjIwEALz88st47rnn8NBDD+Hxxx/HpUuXsGzZMnTr1g2HDx9G06ZNLe01GAzo06cPHn74YTz66KOIiopy+P0zMwe68PBwm9vMmjULs2fPRu/evTFu3Djk5eXhjTfewA8//IBvv/0W/v7+mDFjBoxGI86ePYvXXnsNANCkSROn20OkWgIR0f+sW7dOACCsWrXK6vbu3bsLbdu2tflzW7ZsEQAIS5Yssfv4M2fOFAAIwcHBQp8+fYSXX35ZOHjwYJ3tVq9eLQAQFi1aVOc+k8lk+f/169et7quoqBBuvfVWoWfPnla3BwcHC8OGDavzWK+++qoAQCgoKLC6vbCwUPD19RVefvllq9uPHj0q+Pn5Wd3evXt3AYCwcuVKm6+7pueff14AIOTl5QmXLl0SCgoKhDfffFMIDAwUoqKihGvXrgmCIAhr1qyxatvFixeFgIAA4d577xWqqqosj7d8+XIBgLB69WrLbX379hUSEhIcag+R1nCoi4gAACdOnEB2djYyMjIwbNgwp37W3KNQVlZmd7vZs2djw4YN6NixIz777DPMmDED6enpSEtLsxpe27RpEyIiIjB+/Pg6j6HT6Sz/DwoKsvz/t99+g9FoxF133YVDhw451f7aNm/eDJPJhIceegiXL1+2fEVHRyM1NRW7d++22j4wMBAjRoxw6jlatWqFyMhIJCUl4YknnkBKSgq2b99uszbo888/R0VFBSZOnAgfnz923aNHj0ZoaCi2b9/u/Asl0iAOdRERiouL0bdvX+j1enz44Yfw9fV16uevXr0KAAgJCWlw20ceeQSPPPIISktLceDAAaxduxYbNmxA//79cezYMTRq1AinTp1Cq1at4Odnfxe1bds2vPTSS8jNzUV5ebnl9prhyBUnT56EIAhITU2t935/f3+r72+55ZY69VIN2bRpE0JDQ+Hv74+4uDjL8J0tv/76K4DqwFRTQEAAWrZsabmfiOxj8CHSOKPRiD59+uDKlSv45ptvEBsb6/RjmKe/p6SkOPwzoaGhuOeee3DPPffA398f77zzDg4cOIDu3bs79PPffPMN7rvvPnTr1g0rVqxATEwM/P39sWbNGmzYsMHp11CTyWSCTqfDjh076g2BtWtmavY8Oapbt26WuiIi8h4GHyINu3HjBvr3749ffvkFn3/+Odq0aeP0Y1RVVWHDhg1o3Lgx7rzzTpfa0alTJ7zzzjsoKioCUF18fODAAVRWVtbpXTHbtGkTGjVqhM8++wyBgYGW29esWVNnW1s9QLZuT05OhiAISEpKwp/+9CdnX44oEhISAAB5eXlo2bKl5faKigoUFBSgd+/eltvc7fEiUjPW+BBpVFVVFQYPHoz9+/fjgw8+cGntmKqqKkyYMAHHjx/HhAkTEBoaanPb69evY//+/fXet2PHDgB/DOMMGjQIly9fxvLly+tsK/xvgT9fX1/odDpUVVVZ7issLKx3ocLg4OB6FykMDg4GgDr3DRw4EL6+vpg9e3adBQUFQYDBYKj/RYqod+/eCAgIwNKlS63atGrVKhiNRqvZdMHBwXaXFiDSMvb4EGnUM888g3//+9/o378/SkpK6ixYWHuxQqPRaNnm+vXryM/Px+bNm3Hq1Ck8/PDDePHFF+0+3/Xr13HHHXfg9ttvR1ZWFuLj43HlyhV89NFH+OabbzBgwAB07NgRADB06FC8++67mDRpEr7//nvcdddduHbtGj7//HM8+eSTuP/++9G3b18sWrQIWVlZGDJkCC5evIjXX38dKSkpOHLkiNVzp6en4/PPP8eiRYsQGxuLpKQkdOnSBenp6QCAGTNm4OGHH4a/vz/69++P5ORkvPTSS5g+fToKCwsxYMAAhISEoKCgAFu2bMGYMWPwt7/9za3331mRkZGYPn06Zs+ejaysLNx3333Iy8vDihUr0LlzZ6vfV3p6OjZu3IhJkyahc+fOaNKkCfr37+/V9hLJlpRTyohIOuZp2La+7G3bpEkTITU1VXj00UeFnTt3OvR8lZWVwttvvy0MGDBASEhIEAIDA4XGjRsLHTt2FF599VWhvLzcavvr168LM2bMEJKSkgR/f38hOjpaeOCBB4RTp05Ztlm1apWQmpoqBAYGCq1btxbWrFljmS5e04kTJ4Ru3boJQUFBAgCrqe0vvviicMsttwg+Pj51prZv2rRJuPPOO4Xg4GAhODhYaN26tZCdnS3k5eVZvTf2pvrXZm7fpUuX7G5Xezq72fLly4XWrVsL/v7+QlRUlDBu3Djht99+s9rm6tWrwpAhQ4SmTZsKADi1nagGnSB44MIwRERERArAGh8iIiLSDAYfIiIi0gwGHyIiItIMBh8iIiLSDAYfIiIi0gzFBJ+5c+eic+fOCAkJQfPmzTFgwADk5eVZbXPjxg1kZ2cjPDwcTZo0waBBg3DhwgWJWkxERERyo5jp7FlZWXj44YfRuXNn3Lx5E88++yyOHTuGn3/+2bL66rhx47B9+3asXbsWer0eOTk58PHxwbfffuvw85hMJpw/fx4hISFc9p2IiEghBEFAWVkZYmNj4eNjp19H0lWE3HDx4kUBgLBnzx5BEAThypUrgr+/v/DBBx9Ytjl+/LgAQNi/f7/Dj3vmzBm7i7rxi1/84he/+MUv+X6dOXPG7nFesZesMF+HJiwsDABw8OBBVFZWWl2or3Xr1mjRogX279+P22+/vd7HKS8vR3l5ueV74X8dYGfOnLF73SEiIiKSj9LSUsTHxyMkJMTudooMPiaTCRMnTkTXrl1x6623AgCKi4sREBCApk2bWm0bFRWF4uJim481d+5czJ49u87toaGhDD5EREQK01CZimKKm2vKzs7GsWPH8P7777v9WNOnT4fRaLR8nTlzxgMtJCIiIjlSXI9PTk4Otm3bhq+//hpxcXGW26Ojo1FRUYErV65Y9fpcuHAB0dHRNh8vMDAQgYGBYjaZiIiIZEIxPT6CICAnJwdbtmzBl19+iaSkJKv709PT4e/vjy+++MJyW15eHk6fPo2MjAxvN5eIiIhkSDE9PtnZ2diwYQM+/vhjhISEWOp29Ho9goKCoNfrMWrUKEyaNAlhYWEIDQ3F+PHjkZGRYbOwmYiIiLRFMev42CpWWrNmDYYPHw6gegHDZ555Bu+99x7Ky8uRmZmJFStW2B3qqq20tBR6vR5Go5HFzURERArh6PFbMcHHWxh8iIiIlMfR47dianyIiIiI3MXgQ0RERJrB4ENERESaweBDREREmqGY6exE7jIYDKioqLB5f0BAAMLDw73YIiIi8jYGH9IEg8GA5cuXW743GkNQUhKOsDAD9Poyy+05OTkMP0REKsbgQ5pQs6fn0KGO2Lq1HwTBBzqdCf37b0Na2uE62xERkfow+IiIQyvyYzSGWEIPAAiCD7Zu7Yfk5Hyrnh8iIlInBh+R1B5asYVDK95VUhJuCT1mguCDkpIwBh8iIg3grC6RODpkwqEV7woLM0CnM1ndptOZEBZWIlGLiIjImxh8SFP0+jL077/NEn7MNT7s7SEi0gYOdZHmpKUdRnJyPkpKwhAWVsLQQ0SkIQw+pEl6fRkDDxGRBnGoy0uMxhAUFCTCaAyRuimaFBAQ4NHtiIhImdjj4wX21o0h57myTEB4eDhycnK4vIBIuHQDESkFg4/IuG6MZ7mzTAAPvOLgqthEpCQMPiIxD5k0tG4Mh1acw2UC5IerYhORkjD4iMQ8tFJYeBPr1gkwmXSW+3x9BYwf3weJiX48A3aTrd4F8j72bhKREjD4iCg8PBzh4cBbbwFPPAFUVQG+vsCbb+qQnh4ldfMUz1u1U1qrX3H19XJVbCJSAgYfLxg1CsjMBPLzgZQUIC5O6hYpn7d6F7R26RF3Xq95Veya4YerYhOR3DD4eElcHAOPJ3mrd0HpNUXO9t6483rNq2LX7oVjbw8RyQmDDymSVL0LSqop8kRvlbOvl6tiE5HcMfiQIknRu6C09Zjc7a1y9fXaWhX78uXLNn9GbXVSRCRfDD6kKDWn/9vrXfD0MgFqmLHkTO+NM6/X0fd68+bNdu9XS52UXHmjSF9rEwFImRh8yGlS7txqrsBsNBpRWVlZZxs/Pz9UVFTAYDB4rB1Kn7HkbO+NM6+3oVWxL1++3GDoAeRbJ6UG3ijS50KWpBQMPuQUOcxyCg8Ph8FgwMaNG73WDiXPWHKlt8rZ1+vMe6ykOim1qB0qbf0O3AmfXMiSlILBh5wil1lO3tiR16TkGUuu9FaJ9XqVVielRmL/DtQwLEzqxuBDbpHD2buYO3KpaopscWWY0ZneGzFfLw+I0vPG70Dpw8Kkfgw+5DI5nL2LvSOX01XdXR1mdKb3RszXywOiY8SsofPG70DJw8KkDQw+KiBFsbFczt69sSOXSyGms8OMrvbeiPV6eUBsmNg1dN74HSh5WJi0gcFH4aQqNpbL2TsPprbJqbcK4AHREWLX0HnrdyDXhSw53Z4ABh/Fk6rYWC6BQ8sHU0fqq9zZiXvqICG3OiklEaOGzluhxNZCllKRw4xUkgcGH5URq9jYfBA0r74rp8Ah17NLMYldX+XJg4Tcep6UwpO/49qh0lYocSd8OvqzUgVcucxIJekx+KiIWAdDWwdBKc/evbEjlytv1Fd5+iDBUOMcT/+OvRE+lRZw5TAjlaTB4KMSYh4M7e3IagaOgQMHIiIiwis7N6XtZD1JivoqHiS8S4zfsTf+FpTy9yaHGalKoNaaKAYflfDmwdDWQTAiIgIxMTEefS57lPgH5wnerq/iQcL75FJDp0ZymZHqSWIEFDVfgoTBRyW8taPkQVA65mG7huqrPDm8p8aDhBLIqYZOap4+qMtlRqqniFW0reZLkDD4qIQ3dpQ8CEqr9vDezJmXUFjoh8TEm4iN7Qygs8e7ntV2kJA7zoCzJsZBXW29aWIXbatxv8/go3De3FHyIPgHqca+az5mTAyQnu7xp7CitoOE3Gm5dq0+YhzU1d6b5ul6PDXu9xl8FM6bO0oeBKtpaT0QtR8k5Ejpnxm50kJvmhilCGrc7zP4qABX3vUub18ZXgpaOEiojVpn4NTkTm+G2nvTxBqSUuN+n8GHGsSDoG1qLfZW+0FCbbTQC+mJvzWlvnZHiDkkpbZFYhl8qEE8CNZPjUV/NWnt96lkau+FVPvfmieIPSQlt0uQuIPBhxzCg2Bdaiz6I+VTYy8k/9Ya5ukhKblfgsQdDD5ELlJj0R8pm1p7Rvi3Vj+DwQCj0Wj53pOlCGru6WfwIXKRGov+SNnU1jMixaKdSmGrrqv2kNRDDz2E5s2buxRQlBhqHMHgQ+QGtRX9kbKprWdEikU7lcLReq2mTZtq8v2xh8GHyEnuXBleC1OOSTpq7IX09qKdpH4MPiQLSgoEro59a2HKMUmPvZDa5OkVm9WMwYckp8RA4Eo71D7lmKTjTi8kKZ8aZ/KJicGHPM7Z3hstBgLuqMiT1DwDh+xT60w+MTH4kEe523ujhUDAHRWJgaFGm9Q2k88bfBrehMhx9fXeFBQkwmgMsbudedv6AkHtn1U6ezsqIiJnmGfy1aTkmXzewB4fEo2zvTdaOXNR25RjIvI+rnHkOgYfmVDSrCZHuDKco5VAoMYpx0TkXa6ucaS2Y40rGHxkQImzmhriSu+N1IHAmzsETjkmUjY5BAhn1zhS47HGFQw+MuDobCUlzWpytfdGqkDgjR0CpxwTqYNSA4QWZ9DWh8GHROFM740cAoE3dgicckxaJ4deEk9QQ4DQwgxaWxh8ZEgtK3A62nsjt0Ag5g5BCTt1IjHU7iWxtZ+TWy9JQ5QYILS+pAaDj8wo8Y+oJld7b+Syo9P6DoFILDVPbOzt5+TcS1Kbt/cXnuox08oMWlsYfGREDQddufXeOEvrOwStceZAUnPb8+d9UFDgh6Skm4iNNdXZlmxTw37OzJv7C0/WFWllBq0tDD4yopaDrpx3/rYOdJcvXwbAHYJceKMWxJmhFwCWbe31VihtmEYKatnPAd7dX3iyrkjqGbRSY/CRER50xeXIGZPWdwhy4K1aEFeGXhrqrVDSMI1UvLWf80Z4lmp/4YmSCC0vqcHgIwNcgdM7HD1j0vIOQQ68XQvizNCLmnorpOKNsODNQmpv7y/cGSqUwwxaOWDwkQFXV+Ak1zV0xqTVHYKceKsWxJkww15ZzxA7LIgdnqUMEO6Eb6XXYHoKg49MOLsCJ7muoQPqwIEDERERUefntLBDkBNv9a44E2Y4FOo5tsKCJ4kVnqUMEO6Gb+7DGHxIgxo6oEZERCAmJkai1pGZt3pXnA0zHAp1jaO9H57sJREzPEsVIBi+3afK4PP666/j1VdfRXFxMTp06IBly5bhtttuk7pZJBMcrlAGb+7gnQ0z3uitUBspeknU+rfO8O0e1QWfjRs3YtKkSVi5ciW6dOmCxYsXIzMzE3l5eWjevLnUzbNJLUu5KwHPmJRDrB28wWCwLGFgxjAjPm/vw9T0t87CZM9RXfBZtGgRRo8ejREjRgAAVq5cie3bt2P16tWYNm2axK2rn1IveOcoOYY6njEph6cDiaMzfsycOZDwoCM/Svlbd2Q/ycJkz1BV8KmoqMDBgwcxffp0y20+Pj7o3bs39u/fX+/PlJeXo7y83PJ9aWmp6O2sTY1XZzeTU6jjGZMyiF0L4uiMn4EDByI2NtbyueRBR7nk3pvnzPR71h+6T1XB5/Lly6iqqkJUVJTV7VFRUThx4kS9PzN37lzMnj3bG81zmFouUgrI6yrGnMqpDN76PTU04yciIsLqOfi5UA4pCqndocbrmMmZqoKPK6ZPn45JkyZZvi8tLUV8fLxk7VH6RUrtkcNr48FLGbzxe+JihOql1JMcNV3HTM5UFXwiIiLg6+uLCxcuWN1+4cIFREdH1/szgYGBCAwM9EbzGqTmD72aXxspk1pn/FA1uYUaRzCMe4dPw5soR0BAANLT0/HFF19YbjOZTPjiiy+QkZEhYcscY+9Dr3Rqfm2kTOYZPzpd9dXVlTzjh9TBHMZrYhj3PFX1+ADApEmTMGzYMHTq1Am33XYbFi9ejGvXrllmecmZms9A1fzaSLmUMuNHa2rOcDp/3gcFBX5ISrqJ2NjqUCDHYSpPUNP0ezlTXfAZPHgwLl26hJkzZ6K4uBh/+ctf8Omnn9YpeJYjNX/o1fzaSNnkPuNHa2rOcLJXF6jU5T0awjAuPtUFH6D6DyInJ0fqZjis5swCex96ucxAcBX/oEkOlDbjR2vMPT0N1QWqeYYTw7i4VBl8lEapMxAcwbVzSG7U/PemJloq9GUY9y4GH5lQ606WBxmSI37e5E9LdYHcT3oXgw+Jjn+sROQsrdUFcj/pPQw+REQkS6wLJDEw+JDL5HjxUSJSFxb6yosalhpg8CGXyOnio0REJD61LDXA4EMukdPFR4nIu8Ts7VXLDCc19IzUppalBhh8yG1yuPgoEXlH7d5eWyc9rp71q2GGk1p6RmxR+lIDDD7kFl58lEhbagYSewd1d876lRgGalJLz4gtSl9qgMGH3KL05E/qxeJ7cfGkp2Fq3T8qfakBBh9yi9KTP6kzILD4XnxqPah7kpr3j0peaoDBh9yi9OSvdWoNCCy+F19DB/UrV64gJiZGqubJgtr3j0pdaoDBh9ym5OSvdY4e+JUcEFh8L476Duq9e39u+fv/17/+pbjALAbuH+WHwYdcwouPqpOtnhGlYh2KuNLSDuP33xth167eEAQffP55bwQF3fBIgbOr5DiNXKk9I7WpZakBBh9yiRqmnJI1JfeM1K5Tunz5MgDWoYjNaAzB55/3BiCPYKn2aeTO8nT9nlr2+ww+5DK5f7jJcUruGbFXp6Tm4lKp1Dybl1uwlMs0cjn0jIi13pIa9vsMPkQkuwOYMxoqZFZzcakUwsPDMXjwYGzcuFG2wVLqz7Mceka8sd6SUjH4EJFsD2DOsrWDZ3GpZ+n1+v/963yw9MbyCWJ+nh1tv1x6RpTcmysWBh8iUkXPSEM7eBbfi8OZYCn25S7MxPo8e6v9niR175ccMfgQaVjNA7+9A5gSAkJDO/iBAwciIiLCcp8SijCVwtFZS94cfhGjp0+Jw0dq6c31JAYfIg2TQy2CpzS0g4+IiND8gnqe4m7xrreGX8SaRq6k4SM19OZ6GoMPkcYpIdQ4gjt473E3MCt9+EVp7bfX+2Ve+sFMKSc67mDwISLVYCGz97hzcBRr+MVb08iVOHxUX++X0RiChQsPybpGSQwMPkSkaFxFXHnE6p3z1tCtEnoXG/q8K6VGSQwMPkSkaGqqU9ISsXrnvPV7lnvvYn1/F5cvX8bmzZsVVaMkBgYfIlI8hhrXeWNdHVuUfg0rubdfrTVW7mLwISLSKHuX+6jJUzUfcriUgzuU3n4zJdYoeRKDDxGRRjV0uQ9b27lK6cOSSm+/mRJqlMTE4ENERHaLXT1J7qGgIUpvv5nca5TE5NPwJkREpGa2il2NxhCJW0Zi0uvLkJT0q6ZCD8DgQ0SkefaKXUk91FKj5C4OdZFqSTlbhUhJtF7sqhVqqVFyF4MPqZISr6JMJBWtF7tqCfd3DD6kUkq8ijKRlLRc7ErawhofUjUWbRLZVt/lPuordlV7zQdpC3t8SNW0vkKpt7CeSpnEqvng54HkjMGHVI1Fm+Lz9uq/5Fme/p3w80Byx6EuUjVz0aZOZwIAFm2KwNE6KdZTaQM/DyR37PEh1WPRpnfZmkFH2sTPA8kNgw9pgtyvoqwW3rrsASkDPw8kRxzqIlXiCqXexxl0VBM/DyRX7PEhVeIKpd7HGXRUEz8PJFcMPqRaDDXexRl0VBM/DyRXHOoiIo/gDDqqiZ8Hkiv2+JDX1Vzc7Px5HxQU+CEp6SZiY6t3kByCUpaadVL2ZtCxnkob+HkgudMJgiBI3Qg5KS0thV6vh9FoRGhoqNTNUZ2ai5vZm/HBxc2UhSv1Uk38PJAUHD1+s8eHvMq8M7Q14yM5OR96fRkXN1MYHsSoJn4eSM4YfEgSnPFBYmKPAxHZwuBDkuCMD+WSe6jgtaKIyB4GH5KEecZH7Rof9vbImxJCBa8VRUT2MPiQZHgNLeVRYqjgtaKIqCYGH5IUr6GlbHIPFbxWFBHVxuBDRC6Re6hoaOYgEWkTV24mr+LFQ9VBCRegtDdzkIi0iz0+5FViXTxU7jON1EYuyxHU93u/fPkyAM4cJKL6MfiQ13k6gNSeaWSr7oTTlz1HDqGioRlmnDlIRPVh8CHFq3nGb6/uRE4zjdwldQ+XHEKFI79PXiuKiGpj8CHV0Eoxq5Rr6cj5ApS2evpGjLgHERERVtty6JNIuxh8SDXkUncitto9HbYO+GL0cIlVo+Uuez19ERERiImJ8Wp7iEi+GHxINeRQd+JtUkwpl1tPiVZ6+ojIMzidnVTDXHei05kAQPXFrEqYUu4NnLZORM5gjw+pipYug6GVob2GaLGnj4hcxx4fUh29vgxJSb+q/uBvPuDXpMUDvtZ6+ojIPezxIcXT6mrQcphSLiU5zzAjIvli8CHFk+tMI2/Q0tBebVr+vROR6xh8SBW0dHCr3YNh6wr3Wujp0NLvnYg8g8GHSGHY00GeIPXq30RSUUTwKSwsxIsvvogvv/wSxcXFiI2NxaOPPooZM2ZYndUeOXIE2dnZ+OGHHxAZGYnx48djypQpErZcW86eBU6eBFJTgbg4qVujbjwgkTukXP2bSGqKCD4nTpyAyWTCm2++iZSUFBw7dgyjR4/GtWvXsGDBAgBAaWkp7r33XvTu3RsrV67E0aNHMXLkSDRt2hRjxoyR+BWol/msccOGIEyZoofJpIOPj4BXXjFiyJDfedZIJEOOruqtpuvbEZkpIvhkZWUhKyvL8n3Lli2Rl5eHN954wxJ81q9fj4qKCqxevRoBAQFo27YtcnNzsWjRIgYfkZjPGo3GECxePBGCoAMAmEw6TJ4cinPnVkOvL+NZI5HM2brsCZEaORx8SktLHX7Q0NBQlxrjDKPRiLCwP1Zm3b9/P7p162Y19JWZmYn58+fjt99+Q7Nmzep9nPLycpSXl1u+d+Z1ukMNw0Lms8GGFtLjWSORfElx2RM1YI2UcjkcfJo2bQqdTmd3G0EQoNPpUFVV5XbD7MnPz8eyZcssvT0AUFxcjKSkJKvtoqKiLPfZCj5z587F7NmzxWtsPVatAsaMAUwmwMcHeOstYNQorzbBo7hyLpEy8TpnrmGNlLI5HHx2797t8SefNm0a5s+fb3eb48ePo3Xr1pbvz507h6ysLDz44IMYPXq0222YPn06Jk2aZPm+tLQU8fHxbj9ufQwGAwoLb2LMmOYwmczDQsATTwj4y18uIjHRT5F/JFpfSI9IqXjZE9ewRkrZHA4+3bt39/iTP/PMMxg+fLjdbVq2bGn5//nz53H33XfjjjvuwFtvvWW1XXR0NC5cuGB1m/n76Ohom48fGBiIwMBAJ1vuPPMZQkFBIkymYVb3VVXpsGzZDiQl/arYMwQtL6RHtnE4QN7YWyuuy5cv17lN7p95LfzNulzcfOXKFaxatQrHjx8HALRt2xYjR46EXq93+DEiIyMRGRnp0Lbnzp3D3XffjfT0dKxZswY+PtZnKRkZGZgxYwYqKyvh7+8PANi1axdatWplc5jLm8wfpIZ2NEo+Q7C1kB5pE4cD5I+9tZ5hqzh88+bN9W4v18+8Vv5mXQo+P/74IzIzMxEUFITbbrsNALBo0SK8/PLL2LlzJ9LS0jzayHPnzqFHjx5ISEjAggULcOnSJct95t6cIUOGYPbs2Rg1ahSmTp2KY8eOYcmSJXjttdc82hZ3cUdDWsHhAPnidc48x5XicLl+5rXyN+tS8Hn66adx33334e2334afX/VD3Lx5E48//jgmTpyIr7/+2qON3LVrF/Lz85Gfn4+4WlOgBEEAAOj1euzcuRPZ2dlIT09HREQEZs6cKcup7BwWIi3ilGn54OrfnsHicGVyucenZugBAD8/P0yZMgWdOnXyWOPMhg8f3mAtEAC0b98e33zzjcefXwxqGBbS6lXRyXlKnDKt9loHJbddLhoqDld62Fd6+21xKfiEhobi9OnTVrOtAODMmTMICQnxSMNI/njWSI5Q4lmxVmodyD32ajaVGPZrUnr77XEp+AwePBijRo3CggULcMcddwAAvv32W0yePBmPPPKIRxtI8sadPjVEiVOma4d5W2e+Sq91oGrO9u6Ze7Ft1WwCUFzYr0mJJyvOcCn4LFiwADqdDkOHDsXNmzcBAP7+/hg3bhzmzZvn0QYSkbIpfcq0ms98ybXevdq93TNnXkJhoR9CQy9i377DKChIVFzYr0mJJyvO8Gl4k7oCAgKwZMkS/Pbbb8jNzUVubi5KSkrw2muveWVNHCViPQxplfmsWKczAYCiZjLaOvM1GjmkrxauzmQKDw9HTEwMYmJikJ4ehUGDwnHrrU0B/BH2a6oZ9o1Go/sNF1FD7Vc6ty5S2rhxY7Rr185TbVE11sOQ1qhhyrTaz3zJsxoaAjN/ZjZu3CjL+jBH2y/nv1lHuBR8bty4gWXLlmH37t24ePEiTCbrZHjo0CGPNE5t5PYhJxKTGsK+0ofpyHnuzGQKDw/HQw89hH/9618NLlsix/owW0N4iYk3ERvbGUBn2f/NOsKl4DNq1Cjs3LkTDzzwAG677bYGL15KRNqk9B0kFxzVFk/UczVt2tTyfyUuW1LzbzYmBkhPl7AxInEp+Gzbtg2ffPIJunbt6un2EBHJChcc1QaxZjKpdS0cJXMp+Nxyyy1cr4eIVKt2DYOtM3el1zrQH8So5+KMQHlyKfgsXLgQU6dOxcqVK5GQkODpNhERSUoN9UnkHE/Xc6l9LRwlcyn4dOrUCTdu3EDLli3RuHFjy9XQzUpKWPhHRMrGUKMNYs1k4oxA+XIp+DzyyCM4d+4c5syZg6ioKBY3ExGRIok1k4kzAuXLpeCzb98+7N+/Hx06dPB0e4iIiLzKkzOZtLIWjpK5FHxat26N33//3dNtISIiUjStrIWjZC4Fn3nz5uGZZ57Byy+/jHbt2tWp8QkNDfVI44hImZy96CORmmhhLRwl0wmCIDj7Qz4+1WOWtWt7BEGATqdDVVWVZ1ongdLSUuj1ehiNRgY4Ihe4ctFHIiJ3OXr8dqnHZ/fu3S43jIjUrXZPj60F3OS4ZD8RqZ9Lwad79+4Obffkk0/ihRdeQEREhCtPQ0QKxwXciEhufBrexHX//Oc/UVpaKuZTEJFM2VrAzWjkqu9EJB1Rg48L5UNEpBL2FnAjIpKKqMGHiLTLvIBbTVzAjYikxuBDRKIwL+BmDj+1F3AjIpKCS8XNRESOSEs7jOTkfJSUhCEsrIShh4gkx+BDRB5Veyl+vb6s3sDDJfuJSApOB5+bN29izpw5GDlyJOLi4uxu++ijj3IRQCIXKHnl49pL9tdHzu0nInVzaeXmkJAQHD16FImJiSI0SVpcuZmkxpWPiYicJ+rKzT179sSePXtUGXzUTsk9CVrBlY+JiMTjUvDp06cPpk2bhqNHjyI9PR3BwcFW9993330eaRzZ52yIYU+C8nDlYyIiz3Ip+Dz55JMAgEWLFtW5T+kXKVUKV0KMoz0EzvYksBdJHLZWPk5OzufsKCIiF7kUfEwmU8MbkajECjHOYi+SeOytfMzgQ1rCkyvyJJeCz7vvvovBgwcjMDDQ6vaKigq8//77GDp0qEcaR+67fPlyvf/3FLkEMDUyr3xcM/xw5WPSGp5ckae5FHxGjBiBrKwsNG/e3Or2srIyjBgxgsFHRjZv3ix1E8hF5pWPa9f4sLeHtITF/uRpLgUfQRCg0+nq3H727Fno9Xq3G0VE1bjyMdEfWOzvOA4P2uZU8OnYsSN0Oh10Oh169eoFP78/fryqqgoFBQXIysryeCNJHLbOnOT2mFrDlY9Jy2ofsM1D9Cz2dxyHB+1zKvgMGDAAAJCbm4vMzEw0adLEcl9AQAASExMxaNAgjzaQHONs4BDjzIlnY57BlY9Jq+wdsFns7zgOD9rnVPB5/vnnAQCJiYkYPHgwGjVqJEqjyDnOBo6Gzpxc6Ung2ZhnMdSQFtk7YLPY3zU8Ia3LpRqfYcOGAaj+kF68eLHO9PYWLVq43zKyyxxOXAkcts6cunYdhh49XDvo8myMiDypvgM2i/2dwxPS+rkUfE6ePImRI0di3759Vrebi565gKH4zMMhu3cDr73mXOCo78zJ1xfo0iUczmYecwBr6GyM9ShE5ChbB+yJExdj4sTFLPZ3EE9I6+dS8Bk+fDj8/Pywbds2xMTE1DvDi8QXHh6O228HfHyAmp1uvr6C3e5f8zTp7dv7o6pKB19f4M03gbg419pgrke55ZZSTJ2q/99jCpg/vxRDhjzCehQicoq9A3ZS0q8s9ncQhwfr51Lwyc3NxcGDB9G6dWtPt4ecFBcHvPUW8MQTQFVVdc/NwoXXcOXKHzuG+grb0tIO46WX7oLB0AwpKa6FHjNzqHnmGWDwYCA/H0hJ0SEurimApq4/MBFpUkMH7IEDByIiIsJyH0+u6se1wOrnUvBp06aNKKsAk2tGjQIyM82BA4iLawKDoboXZsOGILzwgh4mkw4+PgJeecWIIUN+/9+OopnH2xIX516IIiJq6IAdERGBmJgYiVupDFwLrC6Xgs/8+fMxZcoUzJkzB+3atYO/v7/V/aGhoR5pHDmuduAIDw/H2bPAlCl/DIOZTDpMndoUgwc3dbqWh4jIm3jAdh3XArPPpeDTu3dvAEDPnj2t6ntY3CwvJ09a1/4A1cNh+fnslSEi+eEB2zO4Fph9LgWf3bt3e7odJILU1PoKn6uHw4iI5IYHbM/he2SbS8Gne/fu+Oabb/Dmm2/i1KlT+PDDD3HLLbdg3bp1SEpK8nQbyUX1FT67OnuLiMgbeMAmsfk0vEldmzZtQmZmJoKCgnD48GGUl5cDAIxGI+bMmePRBpJ7Ro0CCguB3bur/x01SuoWERERScel4PPSSy9h5cqVePvtt60Km7t27YpDhw55rHHkGXFxQI8e7OkhIiJyKfjk5eWhW7dudW7X6/W4cuWKu20iIiIiEoVLwSc6Ohr5+fl1bt+7dy9atmzpdqOIiIiIxOBS8Bk9ejSeeuopHDhwADqdDufPn8f69evxt7/9DePGjfN0G4mIiIg8wqVZXdOmTYPJZEKvXr1w/fp1dOvWDYGBgfjb3/6G8ePHe7qNRET0PwaDgdO9idygEwRBcPWHKyoqkJ+fj6tXr6JNmzZo0qSJJ9smidLSUuj1ehiNRq5ATUSyYjAYsHz5csv39V2HDwBycnIYfkhzHD1+u9TjYxYQEIA2bdq48xBEROSgmj09hw51rHMtq7S0w3W2I/K2mr2S58/7oKDAD0lJNxEbW72artS9km4FHyIi8j6jMcQSegBAEHywdWs/JCfna/KaVhz+k4+avZL2wrmUvZIMPkREClNSEm4JPWaC4IOSkjDNBR8O/8mLOYA2FM6l7JVk8CEiUpiwMAN0OpNV+NHpTAgLK5GwVdLg8J88yTmcuzSdnYiIpKPXl6F//23Q6aprJswHeakPKFKy1cNgNIZI3DJtMofzmuQSztnjQ0SkQGlph5GcnI+SkjCEhZVIFnrkUl8j5x4GLTKH89o9cHL4XTD4EBEplF5fJumBRE71NRz+kx+5hPPaGHyIiBQiICDAo9u5S071NXLuYdAyqcN5fRh8iIgUIjw8HDk5ObIYWqpJLtPr5drDQPLC4ENEpCBynJItp/oaOfYwaInceiXrw+BDRERukbK+RgkHWi2Ra69kTQw+REQq5o1ZV1LW1yjhQKs1cn+vGXyIiFTKm7OupKyvkfuBluSFwYeISKW8PeuK9TWkBFy5mYhI5cRa1Zj1NaREiuvxKS8vR5cuXfDTTz/h8OHD+Mtf/mK578iRI8jOzsYPP/yAyMhIjB8/HlOmTJGusUREMiDWrCvW15ASKS74TJkyBbGxsfjpp5+sbi8tLcW9996L3r17Y+XKlTh69ChGjhyJpk2bYsyYMRK1lohIemLOumKoIaVRVPDZsWMHdu7ciU2bNmHHjh1W961fvx4VFRVYvXo1AgIC0LZtW+Tm5mLRokUMPkQkCblcx4qrGhP9QTHB58KFCxg9ejQ++ugjNG7cuM79+/fvR7du3azGkjMzMzF//nz89ttvaNasmTebS0QaJ6frWAFc1ZjITBHBRxAEDB8+HGPHjkWnTp1QWFhYZ5vi4mIkJSVZ3RYVFWW5z1bwKS8vR3l5ueX70tJSzzWciDRLTtexMuOsKyKJZ3VNmzYNOp3O7teJEyewbNkylJWVYfr06R5vw9y5c6HX6y1f8fHxHn8OItIusWZUOYKzrojqkrTH55lnnsHw4cPtbtOyZUt8+eWX2L9/PwIDA63u69SpE/7617/inXfeQXR0NC5cuGB1v/n76Ohom48/ffp0TJo0yfJ9aWkpww8BkE99BimblNex4qwrorokDT6RkZGIjIxscLulS5fipZdesnx//vx5ZGZmYuPGjejSpQsAICMjAzNmzEBlZSX8/f0BALt27UKrVq3s1vcEBgbWCVREteszbPFWfQYpl5TXsQLUM+uq5onI+fM+KCjwQ1LSTcTGmgAwwJHjFFHj06JFC6vvmzRpAgBITk5GXFwcAGDIkCGYPXs2Ro0ahalTp+LYsWNYsmQJXnvtNa+3l5TP0boLb9ZnkDJxRpX7ap6I2KuX4okIOUIRwccRer0eO3fuRHZ2NtLT0xEREYGZM2dyKjsRSY4zqtxjPsGwVS+VnJwPvb6MJyLkEEUGn8TERAiCUOf29u3b45tvvpGgRURE9nFGlfukrJci9eC1uoiIRMAZVZ5nrpeqyZv1UqQOiuzxISKSO86o8jzWS5EnMPgQEYmEocbzWC9F7mLwIXKArcsNEJH3sV6K3MHgQ1SPmnUX9qbPsj6DiEhZGHyI6mGuzygsvIkXXmgOQdABqJ5Bsn17f8yc2QWJiX4cyiDyAhaKkycx+BDZEB4ejiNHAJP1JBJUVelQVhYFZh4i72ChOHkSgw+RHampgI+Pdfjx9QVSUqRrE5EWMdSQp3AdHyI74uKAt96qDjtA9b9vvll9OxERKQ97fIgaMGoUkJkJ5OdX9/Qw9BARKReDD5ED4uIYeIiI1IBDXURERKQZDD5ERESkGQw+REREpBkMPkRERKQZDD5ERESkGQw+REREpBkMPkRERKQZDD5EREQydPYssHt39b/kOQw+REREMmEwGFBUVISFC68gIUFAz55AQoKAhQuvoKioCAaDQeomKh5XbiYizTEYDLzSN8mOwWDA8uXLYTSGYPHiiRAEHQDAZNJh8uRQnDu3Gnp9GXJycvj5dAODDxFpivngYmY0hqCkJBxhYQbo9WWW23lwIW8zh/GSknAIgvWAjCD4oKQkDHp9md3QTg1j8CEiTal50Dh0qCO2bu0HQfCBTmdC//7bkJZ2uM52RN4UFmaATmeyCj86nQlhYSUStko9WONDRJpkNIZYQg9QfUa9dWs/GI0hEreMtE6vL0P//tug05kAwBLKa/ZIkuvY40NEmtTQcAKRlNLSDiM5OR8lJWEICyvhZ9KDGHyISJM4nEByp9eXMfCIgENdRKRJHE4g0ib2+BCRZnE4gUh7GHyISNM4nEByERAQ4NHtqH4MPkSkKTy4kFyFh4cjJyeHi2uKTCcIgiB1I+SktLQUer0eRqMRoaGhUjeHiETAlZuJ1MfR4zd7fIhIcxhqiKRx9ixw8iSQmgrExUnTBs7qIiIiItGtWgUkJOB/F16t/l4KDD5EREQkGoPBgIMHL2DMGAGm6tUjYDIBTzwh4ODBC16/4jyHuoiIiEgU5osCFxQkwmQaZnVfVZUOy5btQFLSr169KDB7fIiIiEgU5kkE5pXSa6q5Uro3LwrM4ENERESiktNK6RzqIiIiItHJZaV0Bh8iIiLyCjmslM6hLiIiItIMBh8iIiLSDAYfIiIi0gwGHyIiIhKFHC8KzOJmIiIiEoUcrzjP4ENERESikdtFgTnURURERJrB4ENERESaweBDREREmsHgQ0RERJrB4EMkY2fPArt3V/9LRETuY/AhkqlVq4CEBKBnz+p/V62SukXaxPBJpC4MPkQydPYsMGYMYDJVf28yAU88wYOvtxgMBhQVFWHhwitISBD+Fz4FLFx4BUVFRTAYDFI3kYhcxHV8iGTo5Mk/Qo9ZVRWQnw/ExUnTJq0wGAxYvnw5jMYQLF48EYKgAwCYTDpMnhyKc+dWQ68vQ05OjuzWJyGihrHHh0hmDAYDQkMvwMdHsLrd11dASMgF9jaIzLzCbElJOATBehcpCD4oKQmz2o6IlIU9PkQyYu5tAIB+/Tpi69Z+EAQf6HQm9O27Ddu2HQYA9jZ4QViYATqdySr86HQmhIWVSNgqInIXgw+RjNTsRUhLO4zk5HyUlIQhLKwEen1ZvduROPT6MvTvv80qfPbvv83q90BEysPgQyRjen0ZD7QSshc+HWUwGCxB9fx5HxQU+CEp6SZiY6uLuLx9gUYirWPwISKyw53wWXPo8tChjnV6j9LSOHRJ5G0sbiYiEom5p8doDLGEHqC6SHrr1n4wGkOstiMi8TH4EBGJrKEZYkTkPQw+REQ1BAQEeHQ74I8ZYjVxhhiRNFjjQ0RUQ3h4OHJycuwOPzlbkMwZYkTyweBDJCNi9DaQ88QoNPbEDDEich+DD5GMiNHbQPLB5QmIpMfgQyQzDDVEROJhcTMRkUg4dEkkP+zxISISCYcuieRHUT0+27dvR5cuXRAUFIRmzZphwIABVvefPn0affv2RePGjdG8eXNMnjwZN2/elKaxRESoDj8xMTE2vxh6iLxLMT0+mzZtwujRozFnzhz07NkTN2/exLFjxyz3V1VVoW/fvoiOjsa+fftQVFSEoUOHwt/fH3PmzJGw5URERCQXOkEQBKkb0ZCbN28iMTERs2fPxqhRo+rdZseOHejXrx/Onz+PqKgoAMDKlSsxdepUXLp0yeEx9NLSUuj1ehiNRoSGhnrsNRAREZF4HD1+K2Ko69ChQzh37hx8fHzQsWNHxMTEoE+fPlY9Pvv370e7du0soQcAMjMzUVpaiv/85z9SNJuIiIhkRhHB57///S8AYNasWfj73/+Obdu2oVmzZujRowdKSqqXfC8uLrYKPQAs3xcXF9t87PLycpSWllp9ERERkTpJGnymTZsGnU5n9+vEiRMwmaqvcTNjxgwMGjQI6enpWLNmDXQ6HT744AO32jB37lzo9XrLV3x8vCdeGhEREcmQpMXNzzzzDIYPH253m5YtW6KoqAgA0KZNG8vtgYGBaNmyJU6fPg0AiI6Oxvfff2/1sxcuXLDcZ8v06dMxadIky/elpaUNhh+TyWR3eiq5LyAgAD4+iuiQJCIiBZE0+ERGRiIyMrLB7dLT0xEYGIi8vDzceeedAIDKykoUFhYiISEBAJCRkYGXX34ZFy9eRPPmzQEAu3btQmhoqFVgqi0wMBCBgYEOt7miogIFBQWWXigSh4+PD5KSkriwGxEReZQiprOHhoZi7NixeP755xEfH4+EhAS8+uqrAIAHH3wQAHDvvfeiTZs2eOyxx/DKK6+guLgYf//735Gdne1UsLFHEAQUFRXB19cX8fHx7JEQiclkwvnz51FUVIQWLVpAp9NJ3SQiIlIJRQQfAHj11Vfh5+eHxx57DL///ju6dOmCL7/8Es2aNQMA+Pr6Ytu2bRg3bhwyMjIQHByMYcOG4YUXXvBYG27evInr168jNjYWjRs39tjjUl2RkZE4f/48bt68CX9/f6mbQ0REKqGIdXy8yd46ADdu3EBBQQESExMRFBQkUQu14ffff0dhYSGSkpLQqFEjqZtDREQyp6p1fOSGQy/i43tMRERiYPAhIiIizWDw0YDhw4db1kXy9/dHVFQU7rnnHqxevdqp2Wlr165F06ZNxWsoERGRyBh8NCIrKwtFRUUoLCzEjh07cPfdd+Opp55Cv379eAV7IiLSDAYfLzIYDCgqKrL5ZTAYRHvuwMBAREdH45ZbbkFaWhqeffZZfPzxx9ixYwfWrl0LAFi0aBHatWuH4OBgxMfH48knn8TVq1cBAF999RVGjBgBo9Fo6T2aNWsWAGDdunXo1KkTQkJCEB0djSFDhuDixYuivRYiIiJXKWY6u9IZDAYsX768we1ycnIQHh7uhRYBPXv2RIcOHbB582Y8/vjj8PHxwdKlS5GUlIT//ve/ePLJJzFlyhSsWLECd9xxBxYvXoyZM2ciLy8PANCkSRMA1YtJvvjii2jVqhUuXryISZMmYfjw4fjkk0+88jqIiIgcxeDjJY5e4sLbl8Jo3bo1jhw5AgCYOHGi5fbExES89NJLGDt2LFasWIGAgADo9XrodLo6lwAZOXKk5f8tW7bE0qVL0blzZ1y9etUSjoiIiOSAQ10aJwiCZer4559/jl69euGWW25BSEgIHnvsMRgMBly/ft3uYxw8eBD9+/dHixYtEBISgu7duwOA5TpqREREcsHgo3HHjx9HUlISCgsL0a9fP7Rv3x6bNm3CwYMH8frrrwOw3wt17do1ZGZmIjQ0FOvXr8cPP/yALVu2NPhzREREUuBQl4Z9+eWXOHr0KJ5++mkcPHgQJpMJCxcutFyD7F//+pfV9gEBAaiqqrK67cSJEzAYDJg3b57lqvY//vijd14AERGRk9jjoxHl5eUoLi7GuXPncOjQIcyZMwf3338/+vXrh6FDhyIlJQWVlZVYtmwZ/vvf/2LdunVYuXKl1WMkJibi6tWr+OKLL3D58mVcv34dLVq0QEBAgOXn/v3vf+PFF1+U6FUSERHZx+CjEZ9++iliYmKQmJiIrKws7N69G0uXLsXHH38MX19fdOjQAYsWLcL8+fNx6623Yv369Zg7d67VY9xxxx0YO3YsBg8ejMjISLzyyiuIjIzE2rVr8cEHH6BNmzaYN28eFixYINGrJCIiso8XKa3FkYuUunLhzKKiIrz11lsNbjdmzBjExMQ49dhq5M57TURE2sOLlMpMQECAR7cjIiIi57G42UvCw8ORk5Njd6ZTQECA1xYvJCIi0iIGHy9iqCEiIpIWh7qIiIhIM9jjQ0RE5ACDwcByBRVg8CEiImqAHC80Ta7hUBcREVED5HqhaXIegw8RERFpBoMPERERaQaDD7ntq6++gk6nw5UrVxz+mcTERCxevFi0NhEREdWHwUcDhg8fDp1Oh7Fjx9a5Lzs7GzqdDsOHD/d+w4iIiLyMwUcj4uPj8f777+P333+33Hbjxg1s2LABLVq0kLBlRERE3sPgoxFpaWmIj4/H5s2bLbdt3rwZLVq0QMeOHS23lZeXY8KECWjevDkaNWqEO++8Ez/88IPVY33yySf405/+hKCgINx9990oLCys83x79+7FXXfdhaCgIMTHx2PChAm4du2aaK+PiIjIEQw+GjJy5EisWbPG8v3q1asxYsQIq22mTJmCTZs24Z133sGhQ4eQkpKCzMxMlJSUAADOnDmDgQMHon///sjNzcXjjz+OadOmWT3GqVOnkJWVhUGDBuHIkSPYuHEj9u7di5ycHPFfJBGRCHihafXgAoYSOXsWOHkSSE0F4uK885yPPvoopk+fjl9//RUA8O233+L999/HV199BQC4du0a3njjDaxduxZ9+vQBALz99tvYtWsXVq1ahcmTJ+ONN95AcnIyFi5cCABo1aoVjh49ivnz51ueZ+7cufjrX/+KiRMnAgBSU1OxdOlSdO/eHW+88QYaNWrknRdMROQhvNC0ejD4SGDVKmDMGMBkAnx8gLfeAkaNEv95IyMj0bdvX6xduxaCIKBv376IiIiw3H/q1ClUVlaia9eultv8/f1x22234fjx4wCA48ePo0uXLlaPm5GRYfX9Tz/9hCNHjmD9+vWW2wRBgMlkQkFBAf785z+L8fKIiETFUKMODD5edvbsH6EHqP73iSeAzEzv9PyMHDnSMuT0+uuvi/IcV69exRNPPIEJEybUuY+F1ESkBlL02pNnsMbHy06e/CP0mFVVAfn53nn+rKwsVFRUoLKyEpmZmVb3JScnIyAgAN9++63ltsrKSvzwww9o06YNAODPf/4zvv/+e6uf++6776y+T0tLw88//4yUlJQ6Xxz/JiKlW7UKSEgAevas/nfVKqlbRM5g8PGy1NTq4a2afH2BlBTvPL+vry+OHz+On3/+Gb6+vlb3BQcHY9y4cZg8eTI+/fRT/Pzzzxg9ejSuX7+OUf8bixs7dixOnjyJyZMnIy8vDxs2bMDatWutHmfq1KnYt28fcnJykJubi5MnT+Ljjz9mcTMRKZ6tXvuzZ6VtFzmOwcfL4uKqa3rMmcPXF3jzTe92lYaGhiI0NLTe++bNm4dBgwbhscceQ1paGvLz8/HZZ5+hWbNmAKqHqjZt2oSPPvoIHTp0wMqVKzFnzhyrx2jfvj327NmDX375BXfddRc6duyImTNnIjY2VvTXRkQkJql77cl9OkEQBKkbISelpaXQ6/UwGo11wsGNGzdQUFCApKQkt2cmnT1b/YeSksLx4fp48r0mIvKUs2erh7dqhh9fX6CwkPtyqdk7ftfEHh+JxMUBPXrwD4WISEnk0GtP7uGsLiIiIieMGlU9E5e99srE4ENEROSkuDgGHqXiUBcRERFpBoMPERERaQaDjws4EU58fI+JiEgMDD5OMC/4Z+8ideQZ5ve49iKLRERE7mBxsxP8/PzQuHFjXLp0Cf7+/vCpvQQzeYTJZMKlS5fQuHFj+PnxI0pERJ7Do4oTdDodYmJiUFBQgF9//VXq5qiaj48PWrRoAZ1OJ3VTiIhIRRh8nBQQEIDU1FQOd4ksICCAPWpERORxDD4u8PHx4WUUiIiIFIin1ERERKQZDD5ERESkGQw+REREpBms8anFvHBeaWmpxC0hIiIiR5mP2w0tgMvgU0tZWRkAID4+XuKWEBERkbPKysqg1+tt3q8TeG0AKyaTCefPn0dISIjm1pApLS1FfHw8zpw5g9DQUKmbo1h8Hz2H76Vn8H30HL6XniHG+ygIAsrKyhAbG2t3ORT2+NTi4+ODuLg4qZshqdDQUP5BewDfR8/he+kZfB89h++lZ3j6fbTX02PG4mYiIiLSDAYfIiIi0gwGH7IIDAzE888/j8DAQKmbomh8Hz2H76Vn8H30HL6XniHl+8jiZiIiItIM9vgQERGRZjD4EBERkWYw+BAREZFmMPgQERGRZjD4aMzXX3+N/v37IzY2FjqdDh999JHV/YIgYObMmYiJiUFQUBB69+6NkydPStNYmWvovRw+fDh0Op3VV1ZWljSNlbG5c+eic+fOCAkJQfPmzTFgwADk5eVZbXPjxg1kZ2cjPDwcTZo0waBBg3DhwgWJWixPjryPPXr0qPOZHDt2rEQtlq833ngD7du3tyyul5GRgR07dlju5+fRcQ29l1J8Jhl8NObatWvo0KEDXn/99Xrvf+WVV7B06VKsXLkSBw4cQHBwMDIzM3Hjxg0vt1T+GnovASArKwtFRUWWr/fee8+LLVSGPXv2IDs7G9999x127dqFyspK3Hvvvbh27Zplm6effhpbt27FBx98gD179uD8+fMYOHCghK2WH0feRwAYPXq01WfylVdekajF8hUXF4d58+bh4MGD+PHHH9GzZ0/cf//9+M9//gOAn0dnNPReAhJ8JgXSLADCli1bLN+bTCYhOjpaePXVVy23XblyRQgMDBTee+89CVqoHLXfS0EQhGHDhgn333+/JO1RsosXLwoAhD179giCUP0Z9Pf3Fz744APLNsePHxcACPv375eqmbJX+30UBEHo3r278NRTT0nXKAVr1qyZ8I9//IOfRw8wv5eCIM1nkj0+ZFFQUIDi4mL07t3bcpter0eXLl2wf/9+CVumXF999RWaN2+OVq1aYdy4cTAYDFI3SfaMRiMAICwsDABw8OBBVFZWWn0uW7dujRYtWvBzaUft99Fs/fr1iIiIwK233orp06fj+vXrUjRPMaqqqvD+++/j2rVryMjI4OfRDbXfSzNvfyZ5kVKyKC4uBgBERUVZ3R4VFWW5jxyXlZWFgQMHIikpCadOncKzzz6LPn36YP/+/fD19ZW6ebJkMpkwceJEdO3aFbfeeiuA6s9lQEAAmjZtarUtP5e21fc+AsCQIUOQkJCA2NhYHDlyBFOnTkVeXh42b94sYWvl6ejRo8jIyMCNGzfQpEkTbNmyBW3atEFubi4/j06y9V4C0nwmGXyIRPLwww9b/t+uXTu0b98eycnJ+Oqrr9CrVy8JWyZf2dnZOHbsGPbu3St1UxTN1vs4ZswYy//btWuHmJgY9OrVC6dOnUJycrK3mylrrVq1Qm5uLoxGIz788EMMGzYMe/bskbpZimTrvWzTpo0kn0kOdZFFdHQ0ANSZnXDhwgXLfeS6li1bIiIiAvn5+VI3RZZycnKwbds27N69G3FxcZbbo6OjUVFRgStXrlhtz89l/Wy9j/Xp0qULAPAzWY+AgACkpKQgPT0dc+fORYcOHbBkyRJ+Hl1g672sjzc+kww+ZJGUlITo6Gh88cUXlttKS0tx4MABq/FYcs3Zs2dhMBgQExMjdVNkRRAE5OTkYMuWLfjyyy+RlJRkdX96ejr8/f2tPpd5eXk4ffo0P5c1NPQ+1ic3NxcA+Jl0gMlkQnl5OT+PHmB+L+vjjc8kh7o05urVq1ZJuqCgALm5uQgLC0OLFi0wceJEvPTSS0hNTUVSUhKee+45xMbGYsCAAdI1WqbsvZdhYWGYPXs2Bg0ahOjoaJw6dQpTpkxBSkoKMjMzJWy1/GRnZ2PDhg34+OOPERISYqmT0Ov1CAoKgl6vx6hRozBp0iSEhYUhNDQU48ePR0ZGBm6//XaJWy8fDb2Pp06dwoYNG/B///d/CA8Px5EjR/D000+jW7duaN++vcStl5fp06ejT58+aNGiBcrKyrBhwwZ89dVX+Oyzz/h5dJK991Kyz6RX55CR5Hbv3i0AqPM1bNgwQRCqp7Q/99xzQlRUlBAYGCj06tVLyMvLk7bRMmXvvbx+/bpw7733CpGRkYK/v7+QkJAgjB49WiguLpa62bJT33sIQFizZo1lm99//1148sknhWbNmgmNGzcW/t//+39CUVGRdI2WoYbex9OnTwvdunUTwsLChMDAQCElJUWYPHmyYDQapW24DI0cOVJISEgQAgIChMjISKFXr17Czp07Lffz8+g4e++lVJ9JnSAIgnixioiIiEg+WONDREREmsHgQ0RERJrB4ENERESaweBDREREmsHgQ0RERJrB4ENERESaweBDREREmsHgQ0RERJrB4ENERESaweBDRIpRUVEhdRPqkGObiMg2Bh8ikkyPHj2Qk5ODnJwc6PV6RERE4LnnnoP5SjqJiYl48cUXMXToUISGhmLMmDEAgL179+Kuu+5CUFAQ4uPjMWHCBFy7ds3yuCtWrEBqaioaNWqEqKgoPPDAA5b7PvzwQ7Rr1w5BQUEIDw9H7969LT/bo0cPTJw40aqNAwYMwPDhwy3fu9omIpIHBh8iktQ777wDPz8/fP/991iyZAkWLVqEf/zjH5b7FyxYgA4dOuDw4cN47rnncOrUKWRlZWHQoEE4cuQINm7ciL179yInJwcA8OOPP2LChAl44YUXkJeXh08//RTdunUDABQVFeGRRx7ByJEjcfz4cXz11VcYOHAgnL1kobNtIiL54EVKiUgyPXr0wMWLF/Gf//wHOp0OADBt2jT8+9//xs8//4zExER07NgRW7ZssfzM448/Dl9fX7z55puW2/bu3Yvu3bvj2rVr+OSTTzBixAicPXsWISEhVs936NAhpKeno7CwEAkJCfW25y9/+QsWL15suW3AgAFo2rQp1q5dCwAutalRo0ZuvU9E5Dns8SEiSd1+++2W0AMAGRkZOHnyJKqqqgAAnTp1str+p59+wtq1a9GkSRPLV2ZmJkwmEwoKCnDPPfcgISEBLVu2xGOPPYb169fj+vXrAIAOHTqgV69eaNeuHR588EG8/fbb+O2335xus7NtIiL5YPAhIlkLDg62+v7q1at44oknkJuba/n66aefcPLkSSQnJyMkJASHDh3Ce++9h5iYGMycORMdOnTAlStX4Ovri127dmHHjh1o06YNli1bhlatWlnCiY+PT51hr8rKSrfbRETyweBDRJI6cOCA1fffffcdUlNT4evrW+/2aWlp+Pnnn5GSklLnKyAgAADg5+eH3r1745VXXsGRI0dQWFiIL7/8EgCg0+nQtWtXzJ49G4cPH0ZAQIBl2CoyMhJFRUWW56qqqsKxY8cafA2OtImI5IHBh4gkdfr0aUyaNAl5eXl47733sGzZMjz11FM2t586dSr27duHnJwc5Obm4uTJk/j4448thcTbtm3D0qVLkZubi19//RXvvvsuTCYTWrVqhQMHDmDOnDn48ccfcfr0aWzevBmXLl3Cn//8ZwBAz549sX37dmzfvh0nTpzAuHHjcOXKlQZfQ0NtIiL58JO6AUSkbUOHDsXvv/+O2267Db6+vnjqqacsU8Tr0759e+zZswczZszAXXfdBUEQkJycjMGDBwMAmjZtis2bN2PWrFm4ceMGUlNT8d5776Ft27Y4fvw4vv76ayxevBilpaVISEjAwoUL0adPHwDAyJEj8dNPP2Ho0KHw8/PD008/jbvvvrvB19BQm4hIPjiri4gkU98sKiIiMXGoi4iIiDSDwYeIiIg0g0NdREREpBns8SEiIiLNYPAhIiIizWDwISIiIs1g8CEiIiLNYPAhIiIizWDwISIiIs1g8CEiIiLNYPAhIiIizWDwISIiIs34/2GiY/EoyBLqAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkYAAAHHCAYAAABa2ZeMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABJvElEQVR4nO3dd3hUVf7H8c8kpEIKJSGUhKoU8QcIgokFYZHAqsCKuogCEURREBEsRJQQEIiIKFjAFSmrKFiRBSUiRVTiqkiREhQkUgOoJBGQ1Pv7gzDrOBNMwmTulPfreebJ3nPv3PkOdzEfzjn3XIthGIYAAAAgP7MLAAAAcBcEIwAAgFIEIwAAgFIEIwAAgFIEIwAAgFIEIwAAgFIEIwAAgFIEIwAAgFIEIwAAgFIEIwAeyWKxaOLEiWaXYZWUlKTGjRubXQaAC0QwAuA0CxculMVisb6Cg4N18cUXa+TIkTp69GiVfvbGjRs1ceJE5eTkOPW81157rc13qlWrli6//HLNnz9fJSUlTvmMqVOnatmyZU45F4ALU83sAgB4n0mTJqlJkyY6c+aMPv/8c82ZM0cffvihtm/frtDQUKd8xu+//65q1f73n7CNGzcqNTVVSUlJioyMdMpnnNOwYUNNmzZNknT8+HH9+9//1tChQ/X9998rLS3tgs8/depU3Xzzzerbt+8FnwvAhSEYAXC6Xr16qWPHjpKku+66S7Vr19bMmTP1wQcf6Lbbbqv0eUtKSlRQUKDg4GAFBwc7q9y/FBERoTvuuMO6fc8996hFixZ64YUXNHnyZAUEBLisFgBVi6E0AFWuW7dukqR9+/ZJkmbMmKGEhATVrl1bISEh6tChg9555x2791ksFo0cOVKLFy/WJZdcoqCgIK1atcq679wco4kTJ+rhhx+WJDVp0sQ67JWVlaUuXbqobdu2Dutq0aKFEhMTK/x9QkNDdcUVV+jUqVM6fvx4mcedOnVKY8eOVWxsrIKCgtSiRQvNmDFDhmHYfMdTp05p0aJF1rqTkpIqXBMA56DHCECV27t3rySpdu3akqRZs2apd+/euv3221VQUKAlS5bolltu0YoVK3T99dfbvHft2rV66623NHLkSNWpU8fhBOebbrpJ33//vd588009++yzqlOnjiQpKipKAwcO1LBhw7R9+3a1adPG+p6vv/5a33//vR5//PFKfacff/xR/v7+ZQ7bGYah3r17a926dRo6dKjatWun9PR0Pfzwwzp06JCeffZZSdJrr72mu+66S506ddLdd98tSWrWrFmlagLgBAYAOMmCBQsMScYnn3xiHD9+3Dhw4ICxZMkSo3bt2kZISIhx8OBBwzAM4/Tp0zbvKygoMNq0aWN069bNpl2S4efnZ+zYscPusyQZKSkp1u2nn37akGTs27fP5ricnBwjODjYePTRR23aR40aZVSvXt04efLkeb9Tly5djJYtWxrHjx83jh8/buzatcsYNWqUIcm48cYbrccNHjzYaNSokXV72bJlhiTjySeftDnfzTffbFgsFmPPnj3WturVqxuDBw8+bx0AXIOhNABO1717d0VFRSk2Nlb9+/dXjRo19P7776tBgwaSpJCQEOuxJ06cUG5urq6++mp9++23dufq0qWLWrduXelaIiIi1KdPH7355pvWIazi4mItXbpUffv2VfXq1f/yHJmZmYqKilJUVJRatWql559/Xtdff73mz59f5ns+/PBD+fv7a9SoUTbtY8eOlWEY+uijjyr9nQBUHYbSADjdiy++qIsvvljVqlVT3bp11aJFC/n5/e/fYStWrNCTTz6pLVu2KD8/39pusVjsztWkSZMLrmfQoEFaunSpPvvsM11zzTX65JNPdPToUQ0cOLBc72/cuLFeeeUV6xIEF110kaKjo8/7np9++kn169dXWFiYTXurVq2s+wG4H4IRAKfr1KmT9a60P/vss8/Uu3dvXXPNNXrppZdUr149BQQEaMGCBXrjjTfsjv9j71JlJSYmqm7dunr99dd1zTXX6PXXX1dMTIy6d+9ervdXr1693McC8GwMpQFwqXfffVfBwcFKT0/XkCFD1KtXL6eEDke9Tef4+/trwIABeuedd3TixAktW7ZMt912m/z9/S/4c8vSqFEjHT58WL/99ptNe2ZmpnX/OeerHYBrEYwAuJS/v78sFouKi4utbVlZWRe88vO5uUJlrXw9cOBAnThxQvfcc49Onjxpsy5RVfj73/+u4uJivfDCCzbtzz77rCwWi3r16mVtq169utNX7AZQOQylAXCp66+/XjNnzlTPnj01YMAAHTt2TC+++KKaN2+ubdu2Vfq8HTp0kCSNHz9e/fv3V0BAgG688UZrYGrfvr3atGmjt99+W61atdJll13mlO9TlhtvvFFdu3bV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69ZNRUVF2r59u3V/cXGxrr/+esXExGjjxo06cuSIBg0apICAAE2dOtXEyj3Lpk2btGLFCpu2xx57TAEBASZVBACA61gMwzDMLuKvFBUVqXHjxkpNTdXQoUMdHvPRRx/phhtu0OHDh61PcJ87d64effRRHT9+XIGBgeX6rLy8PEVERCg3N1fh4eFO+w7urqSkRDNnztSpU6esbddee626dOliYlUAAJSPs35/e8RQ2rfffqtDhw7Jz89P7du3V7169dSrVy+bHqOMjAxdeuml1lAkSYmJicrLy9OOHTvMKNtjHDlyRJMnT7YJRffffz+hCADgczxiKO3HH3+UJE2cOFEzZ85U48aN9cwzz+jaa6/V999/r1q1aik7O9smFEmybmdnZ5d57vz8fOXn51u38/LyquAbuK+VK1fqm2++sW7Xr19fd911lywWi4lVAQBgDlN7jMaNGyeLxXLeV2ZmpkpKSiRJ48ePV79+/dShQwctWLBAFotFb7/99gXVMG3aNEVERFhfsbGxzvhqbu/MmTNKTU21CUW33nqrhg0bRigCAPgsU3uMxo4dq6SkpPMe07RpUx05ckSS1Lp1a2t7UFCQmjZtan1eV0xMjL766iub9x49etS6ryzJyckaM2aMdTsvL8/rw9HOnTvtAuW4ceMUFBRkUkUAALgHU4NRVFSUoqKi/vK4Dh06KCgoSLt379ZVV10lSSosLFRWVpYaNWokSYqPj9eUKVN07NgxRUdHS5JWr16t8PBwm0D1Z0FBQT4TCAzD0Msvv2wNjJLUqVMn9erVy8SqAABwHx4xxyg8PFzDhw9XSkqKYmNj1ahRIz399NOSpFtuuUWS1KNHD7Vu3VoDBw7U9OnTlZ2drccff1wjRozwmeBzPr/88oteeOEFm7bhw4fbzcsCAMCXeUQwkqSnn35a1apV08CBA/X777+rc+fOWrt2rWrWrClJ8vf314oVK3TvvfcqPj5e1atX1+DBgzVp0iSTKzffunXrtGHDBut2RESERo0aJT8/j7gpEQAAl/GIdYxcyZvWMSosLLRb3LJ3795q3769SRUBAFA1nPX722N6jFAxe/fu1euvv27T9tBDD6l69eomVQQAgPsjGHmh119/XXv37rVut2nTRv369TOxIgAAPAPByIvk5eXp2WeftWkbMmSI1y8/AACAsxCMvMSXX36p9PR067a/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NG3aNDVp0kQhISFq27at3nnnHUn/G4Zas2aNOnbsqNDQUCUkJGj37t2SpIULFyo1NVVbt26VxWKRxWLRwoULJUkWi0Vz5sxR7969Vb16dU2ZMuW8dZz7rPT0dLVv314hISHq1q2bjh07po8++kitWrVSeHi4BgwYoNOnT1vfl5+fr1GjRik6OlrBwcG66qqr9PXXX1fNHxYA13DqE94AoAKefPJJo2XLlsaqVauMvXv3GgsWLDCCgoKM9evXG+vWrTMkGZ07dzbWr19v7Nixw7j66quNhIQEwzAM4/Tp08bYsWONSy65xO4p25KM6OhoY/78+cbevXuNn3766bx1nPusK664wvj888+Nb7/91mjevLnRpUsXo0ePHsa3335rbNiwwahdu7bNA15HjRpl1K9f3/jwww+NHTt2GIMHDzZq1qxp/PLLLzbnPXHiRNX8AQJwOoIRAFOcOXPGCA0NNTZu3GjTPnToUOO2226zhopPPvnEum/lypWGJOP33383DMMwUlJSjLZt29qdW5IxevToctfi6LOmTZtmSDL27t1rbbvnnnuMxMREwzAM4+TJk0ZAQICxePFi6/6CggKjfv36xvTp023OSzACPEc1s3qqAPi2PXv26PTp07ruuuts2gsKCtS+fXvr9v/93/9Z/3e9evUkSceOHVNcXNx5z9+xY8cK1/THz6pbt65CQ0PVtGlTm7avvvpKkrR3714VFhbqyiuvtO4PCAhQp06dtGvXrgp/NgD3QDACYIqTJ09KklauXKkGDRrY7AsKCtLevXslnQ0b51gsFkln5yb9lerVq1e4pj9/1h+3z7WV57MBeC4mXwMwRevWrRUUFKT9+/erefPmNq/Y2NhynSMwMFDFxcVVXKljzZo1U2BgoL744gtrW2Fhob7++mu1bt3alJoAXDh6jACYIiwsTA899JAefPBBlZSU6KqrrlJubq6++OILhYeHq1GjRn95jsaNG2vfvn3asmWLGjZsqLCwMAUFBbmg+rM9Uvfee68efvhh1apVS3FxcZo+fbpOnz6toUOHuqQGAM5HMAJgmsmTJysqKkrTpk3Tjz/+qMjISF122WV67LHHyjVk1a9fP7333nvq2rWrcnJytGDBAiUlJVV94aXS0tJUUlKigQMH6rffflPHjh2Vnp6umjVruqwGAM5lMQzDMLsIAAAAd8AcIwAAgFIEIwBeb/jw4apRo4bD1/Dhw80uD4AbYSgNgNc7duyY8vLyHO4LDw9XdHS0iysC4K4IRgAAAKUYSgMAAChFMAIAAChFMAIAAChFMAIAAChFMAIAAChFMAIAAChFMAIAAChFMAIAACj1/1j+WUwWRiX3AAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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qlWrVkpLSzOx1NYzduxYLV68WO+++67q1q3rGvcQHR2tiIgIRUdHa/To0br//vvVoEEDRUVF6d5771VKSoq6detmcumtpbK63Lt3rxYvXqxrr71WDRs21JdffqkJEyaoR48e6tChg8mlt44pU6aoX79+atq0qX755RctXrxYn3zyiT7++GPOxyqqqC5NOx/9OvcLpli7dq0h6bzbiBEjDMP4dfr51KlTjbi4OCM8PNzo3bu3sXv3bnMLbVEV1WVBQYFxzTXXGDExMUZoaKjRrFkzY8yYMUZubq7ZxbacsupQkrFw4ULXMYWFhcY999xj1K9f34iMjDRuvPFGIycnx7xCW1RldZmdnW306NHDaNCggREeHm60atXKeOCBBwyn02luwS1m1KhRRrNmzYywsDAjJibG6N27t7Fy5UrXfs5H91VUl2adjw7DMAzfRSkAAABzMWYHAADYGmEHAADYGmEHAADYGmEHAADYGmEHAADYGmEHAADYGmEHAADYGmEHAADYGmEHAADYGmEHgKWdOnXK7CKcx4plAlA+wg4Av+rVq5fS09OVnp6u6OhoNWrUSFOnTlXJlWuaN2+uxx57TMOHD1dUVJTuvPNOSdKGDRt05ZVXKiIiQk2aNNG4ceN0/Phx1+O+8MILat26tWrVqqW4uDjddNNNrn1Lly5VcnKyIiIi1LBhQ/Xp08d13169emn8+PGlyjhgwACNHDnS9X9PywTAGgg7APzu1VdfVUhIiD777DP9+c9/1tNPP62XXnrJtf/JJ59Ux44d9fnnn2vq1Knau3ev+vbtq0GDBunLL7/UkiVLtGHDBqWnp0uStm7dqnHjxunRRx/V7t279dFHH6lHjx6SpJycHN1yyy0aNWqUdu3apU8++UQDBw5UVS8LWNUyAbAOLgQKwK969eqlQ4cOaefOnXI4HJKkyZMna/ny5frmm2/UvHlzderUSe+8847rPnfccYeCg4P14osvurZt2LBBPXv21PHjx/XBBx/o9ttv1w8//KC6deuWer7t27frsssu0759+9SsWbMyy3PJJZdozpw5rm0DBgxQvXr1tGjRIknyqEy1atWqVj0B8B5adgD4Xbdu3VxBR5JSUlK0Z88eFRUVSZI6d+5c6vgvvvhCixYtUp06dVy3tLQ0FRcXKysrS7/5zW/UrFkztWjRQrfddpveeOMNFRQUSJI6duyo3r17Kzk5Wb/73e+0YMEC/fzzz1Uuc1XLBMA6CDsALKd27dql/n/s2DH9/ve/144dO1y3L774Qnv27FHLli1Vt25dbd++XW+++aYSEhL08MMPq2PHjsrLy1NwcLBWrVqlDz/8UElJSXr22Wd10UUXuQJJUFDQeV1ap0+frnaZAFgHYQeA323evLnU/z/99FO1bt1awcHBZR5/6aWX6ptvvlGrVq3Ou4WFhUmSQkJC1KdPH82ePVtffvml9u3bpzVr1kiSHA6HUlNTNX36dH3++ecKCwtzdUnFxMQoJyfH9VxFRUX6+uuvK30N7pQJgDUQdgD4XXZ2tu6//37t3r1bb775pp599lndd9995R4/adIkbdq0Senp6dqxY4f27Nmjd9991zUYeMWKFZo7d6527Nih77//Xq+99pqKi4t10UUXafPmzZo5c6a2bt2q7OxsLVu2TIcPH1a7du0kSVdffbXef/99vf/++/r222919913Ky8vr9LXUFmZAFhHiNkFAFDzDB8+XIWFherSpYuCg4N13333uaZzl6VDhw5at26d/u///k9XXnmlDMNQy5YtNXjwYElSvXr1tGzZMk2bNk0nTpxQ69at9eabb+riiy/Wrl27tH79es2ZM0f5+flq1qyZnnrqKfXr10+SNGrUKH3xxRcaPny4QkJCNGHCBF111VWVvobKygTAOpiNBcCvypr9BAC+RDcWAACwNcIOAACwNbqxAACArdGyAwAAbI2wAwAAbI2wAwAAbI2wAwAAbI2wAwAAbI2wAwAAbI2wAwAAbI2wAwAAbI2wAwAAbO3/AW8G965BJW03AAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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wWX+/Pm655576nyusaZCAAD8jXADj8XHxys+Pt7sMgAAqBOnpQAAgK0QburAqLnBifUGAJA4LVVLWFiYQkJCdOjQIcXFxSksLMx1iwJYl2EYOnnypI4ePaqQkBCFhYWZXRIAwESEmzOEhIQoJSVFRUVFOnTokNnlwEORkZHq2rVrrUEfAQDND+HmLGFhYeratat++ukn0+6zBM+FhoaqRYsWtLQBAAg3dam5g/XZd7EGAADWR/s9AACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFVPDTW5uroYMGaKoqCjFx8crOztb+/bta/R1r7/+uvr06aNWrVopLS1Na9asCUC1AAAgGJgabjZt2qSZM2fqo48+0tq1a3Xq1CldfvnlKisrq/c1W7du1Q033KBp06bpk08+UXZ2trKzs7Vnz54AVg4AAKzKYRiGYXYRNY4ePar4+Hht2rRJI0aMqHOeCRMmqKysTO+8845r2kUXXaQBAwZoyZIljX5GaWmpYmJi5HQ6FR0d7bPaAQCA/3hy/LZUnxun0ylJat++fb3zbNu2TWPGjKk1LSsrS9u2batz/srKSpWWltZ6AAAA+7JMuKmurtZdd92l4cOHq1+/fvXOV1xcrISEhFrTEhISVFxcXOf8ubm5iomJcT26dOni07oBAIC1WCbczJw5U3v27NFrr73m0/fNycmR0+l0PQoLC336/gAAwFpamF2AJM2aNUvvvPOONm/erM6dOzc4b2Jiog4fPlxr2uHDh5WYmFjn/OHh4QoPD/dZrQAAwNpMbbkxDEOzZs3S6tWrtX79eqWkpDT6moyMDK1bt67WtLVr1yojI8NfZQIAgCBiasvNzJkztXz5cr311luKiopy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1IxczO0XrIEruAAAduH3u4Jv2LDBq8IQOFYaTAkAgEDyqs9NZmamQkJCtHTpUs2ZM0c9evRQZmamCgoKFBoa6usag5aZ99do6AouAADszKtw88YbbygrK0sRERH65JNPVFlZKUlyOp1asGCBTwsMVit2FGj4wvWauHS7hi9crxU7CgL6+TVXcJ2JK7gAAM2BV+HmkUce0ZIlS7R06dJanYmHDx+uXbt2+ay4YGWFQf24ggsA0Fx51edm3759GjFixDnTY2JidOzYsabWFPSsMqifVQZTAgAgkLwKN4mJidq/f7+Sk5NrTd+yZYu6d+/ui7qCmpUG9bPCYEoAAASSV6elZsyYoTvvvFPbt2+Xw+HQoUOH9Le//U333HOPbrvtNl/XGHQ4JQQAgHm8Cjdz5szRxIkTNXr0aB0/flwjRozQ9OnTdcstt+iXv/yl2++zefNmXXnllerYsaMcDofefPPNRl+zceNGXXDBBQoPD1ePHj20bNkyb76C300Y0lVb5ozSqzMu0pY5oxhfBgCAAPEq3DgcDv3mN7/RDz/8oD179uijjz7S0aNH9fDDD3v0PmVlZUpPT9czzzzj1vwHDhzQFVdcoVGjRikvL0933XWXpk+frvfff9+br+F3STERykjtQIsNAAAB5NUIxf7gcDi0evVqZWdn1zvPfffdp3fffVd79uxxTbv++ut17Ngxvffee259TnMaoRgAALvw5PjtVcuNWbZt26YxY8bUmpaVlaVt27aZVBEAALAar66WMktxcbESEhJqTUtISFBpaakqKioUEXHu6Z/KykrXIIPS6eQHAADsK6habryRm5urmJgY16NLly5mlwQAAPwoqMJNYmKiDh8+XGva4cOHFR0dXWerjSTl5OTI6XS6HoWFhYEoFQAAmCSoTktlZGRozZo1taatXbtWGRkZ9b4mPDxc4eHh/i4NAABYhKktN8ePH1deXp7y8vIknb7UOy8vTwUFp28ymZOTo0mTJrnmv/XWW/X111/r17/+tb788ks9++yz+vvf/667777bjPIBAIAFmRpudu7cqYEDB2rgwIGSpNmzZ2vgwIF68MEHJUlFRUWuoCNJKSkpevfdd7V27Vqlp6friSee0PPPP6+srCxT6gcAANZjmXFuAoVxbpqmyFmhAyVlSoltzeCEAICA8eT4HVR9bmCuFTsKlLNqt6oNKcQh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+HhlZ2dr3759teY5ceKEZs6cqQ4dOqhNmza69tprdfjwYZMqtiZ3luPIkSPP2SZvvfVWkyq2rsWLF6t///6uAeYyMjL0z3/+0/U826N7GluOZm2PhBsbKisrU3p6up555pk6n3/sscf0xz/+UUuWLNH27dvVunVrZWVl6cSJEwGu1PoaW5aSNHbsWBUVFbker776agArDA6bNm3SzJkz9dFHH2nt2rU6deqULr/8cpWVlbnmufvuu/WPf/xDr7/+ujZt2qRDhw5p/PjxJlZtPe4sR0maMWNGrW3yscceM6li6+rcubMWLlyojz/+WDt37tSll16qq6++Wnv37pXE9uiuxpajZNL2aMDWJBmrV692/b+6utpITEw0fv/737umHTt2zAgPDzdeffVVEyoMHmcvS8MwjMmTJxtXX321KfUEsyNHjhiSjE2bNhmGcXobbNmypfH666+75vniiy8MSca2bdvMKtPyzl6OhmEYmZmZxp133mleUUGsXbt2xvPPP8/22EQ1y9EwzNseablpZg4cOKDi4mKNGTPGNS0mJkYXXnihtm3bZmJlwWvjxo2Kj49X7969ddttt+n77783uyTLczqdkqT27dtLkj7++GOdOnWq1nbZp08fde3ale2yAWcvxxp/+9vfFBsbq379+iknJ0fl5eVmlBc0qqqq9Nprr6msrEwZGRlsj146eznWMGN7bHY3zmzuiouLJUkJCQm1pickJLieg/vGjh2r8ePHKyUlRfn5+br//vs1btw4bdu2TaGhoWaXZ0nV1dW66667NHz4cPXr10/S6e0yLCxMbdu2rTUv22X96lqOkjRx4kR169ZNHTt21Geffab77rtP+/bt06pVq0ys1pp2796tjIwMnThxQm3atNHq1avVt29f5eXlsT16oL7lKJm3PRJugCa4/vrrXf9OS0tT//79lZqaqo0bN2r06NEmVmZdM2fO1J49e7RlyxazSwlq9S3Hm2++2fXvtLQ0JSUlafTo0crPz1dqamqgy7S03r17Ky8vT06nUytXrtTkyZO1adMms8sKOvUtx759+5q2PXJaqplJTEyUpHN6/R8+fNj1HLzXvXt3xcbGav/+/WaXYkmzZs3SO++8ow0bNqhz586u6YmJiTp58qSOHTtWa362y7rVtxzrcuGFF0oS22QdwsLC1KNHDw0aNEi5ublKT0/XH/7wB7ZHD9W3HOsSqO2RcNPMpKSkKDExUevWrXNNKy0t1fbt22udI4V3vv32W33//fdKSkoyuxRLMQxDs2bN0urVq7V+/XqlpKTUen7QoEFq2bJlre1y3759KigoYLs8Q2PLsS55eXmSxDbphurqalVWVrI9NlHNcqxLoLZHTkvZ0PHjx2ul4gMHDigvL0/t27dX165dddddd+mRRx5Rz549lZKSogceeEAdO3ZUdna2eUVbVEPLsn379po3b56uvfZaJSYmKj8/X7/+9a/Vo0cPZWVlmVi19cycOVPLly/XW2+9paioKFe/hZiYGEVERCgmJkbTpk3T7Nmz1b59e0VHR+uXv/ylMjIydNFFF5lcvXU0thzz8/O1fPly/exnP1OHDh302Wef6e6779aIESPUv39/k6u3lpycHI0bN05du3bVjz/+qOXLl2vjxo16//332R490NByNHV7DPj1WfC7DRs2GJLOeUyePNkwjNOXgz/wwANGQkKCER4ebowePdrYt2+fuUVbVEPLsry83Lj88suNuLg4o2XLlka3bt2MGTNmGMXFxWaXbTl1LUNJxosvvuiap6Kiwrj99tuNdu3aGZGRkcY111xjFBUVmVe0BTW2HAsKCowRI0YY7du3N8LDw40ePXoY9957r+F0Os0t3IJuuukmo1u3bkZYWJgRFxdnjB492vjggw9cz7M9uqeh5Wjm9ugwDMPwb3wCAAAIHPrcAAAAWyHcAAAAWyHcAAAAWyHcAAAAWyHcAAAAWyHcAAAAWyHcAAAAWyHcAAAAWyHcAAAAWyHcALCUkydPml3COaxYE4D6EW4A+NXIkSM1a9YszZo1SzExMYqNjdUDDzygmju/JCcn6+GHH9akSZMUHR2tm2++WZK0ZcsWXXLJJYqIiFCXLl10xx13qKyszPW+zz77rHr27KlWrVopISFB1113neu5lStXKi0tTREREerQoYPGjBnjeu3IkSN111131aoxOztbU6ZMcf3f25oAWAPhBoDf/fWvf1WLFi3073//W3/4wx/05JNP6vnnn3c9//jjjys9PV2ffPKJHnjgAeXn52vs2LG69tpr9dlnn2nFihXasmWLZs2aJUnauXOn7rjjDs2fP1/79u3Te++9pxEjRkiSioqKdMMNN+imm27SF198oY0bN2r8+PHy9DZ6ntYEwDq4cSYAvxo5cqSOHDmivXv3yuFwSJLmzJmjt99+W59//rmSk5M1cOBArV692vWa6dOnKzQ0VM8995xr2pYtW5SZmamysjKtWbNGU6dO1bfffquoqKhan7dr1y4NGjRIBw8eVLdu3eqsZ8CAAVq0aJFrWnZ2ttq2batly5ZJklc1tWrVqknLCYDv0HIDwO8uuugiV7CRpIyMDH311VeqqqqSJA0ePLjW/J9++qmWLVumNm3auB5ZWVmqrq7WgQMHdNlll6lbt27q3r27brzxRv3tb39TeXm5JCk9PV2jR49WWlqa/vd//1dLly7Vf/7zH49r9rQmANZBuAFgutatW9f6//Hjx3XLLbcoLy/P9fj000/11VdfKTU1VVFRUdq1a5deffVVJSUl6cEHH1R6erqOHTum0NBQrV27Vv/85z/Vt29fPf300+rdu7crgISEhJxziurUqVNNrgmAdRBuAPjd9u3ba/3/o48+Us+ePRUaGlrn/BdccIE+//xz9ejR45xHWFiYJKlFixYaM2aMHnvsMX322Wc6ePCg1q9fL0lyOBwaPny45s2bp08++URhYWGuU0xxcXEqKipyfVZVVZX27NnT6HdwpyYA1kC4AeB3BQUFmj17tvbt26dXX31VTz/9tO68885657/vvvu0detWzZo1S3l5efrqq6/01ltvuTrvvvPOO/rjH/+ovLw8ffPNN3rppZdUXV2t3r17a/v27VqwYIF27typgoICrVq1SkePHtV5550nSbr00kv17rvv6t1339WXX36p2267TceOHWv0OzRWEwDraGF2AQDsb9KkSaqoqNDQoUMVGhqqO++803V5dV369++vTZs26Te/+Y0uueQSGYah1NRUTZgwQZLUtm1brVq1SnPnztWJEyfUs2dPvfrqqzr//PP1xRdfaPPmzVq0aJFKS0vVrVs3PfHEExo3bpwk6aabbtKnn36qSZMmqUWLFrr77rs1atSoRr9DYzUBsA6ulgLgV3VdnQQA/sRpKQAAYCuEGwAAYCuclgIAALZCyw0AALAVwg0AALAVwg0AALAVwg0AALAVwg0AALAVwg0AALAVwg0AALAVwg0AALAVwg0AALCV/x/YBjhC2T2t0QAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHHCAYAAABZbpmkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABLcUlEQVR4nO3deXwU5eHH8e8mISEBknDlAIGES4gccigGEFAoSFGLYkVEBEGtCnIoCGgRUDFoa1W0gqUqWC+qoiJeUEAskEI4FbQIEQxKwiFmAwQIZJ/fHzT7YyGBzWY3uzv7eb9eeb1gZnb2mdljvvvMc9iMMUYAAAAWFebvAgAAAPgSYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQdAQJg2bZpsNptb29psNk2bNs2n5enRo4d69OgRsPsD4D7CDgAX8+bNk81mc/5FRESofv36GjZsmH7++Wd/Fy/gpKSkuJyvhIQEXXnllfrggw+8sv/CwkJNmzZNX375pVf2B4Qiwg6AUj322GP6xz/+oTlz5qhv375644031L17dx0/ftwnz/fHP/5Rx44d88m+fe3SSy/VP/7xD/3jH//Q+PHjtXfvXt14442aM2dOhfddWFio6dOnE3aACojwdwEABKa+ffuqY8eOkqQ777xTderU0VNPPaVFixbp5ptv9vrzRUREKCIiOL+S6tevr9tuu835/9tvv11NmzbVs88+q3vuucePJQMgUbMDwE1XXnmlJCk7O9tl+X//+1/ddNNNqlWrlqpWraqOHTtq0aJFLtucPHlS06dPV7NmzVS1alXVrl1bXbt21dKlS53blNZm58SJExo3bpzq1q2rGjVq6Prrr9dPP/10TtmGDRumlJSUc5aXts/XXntNV199tRISEhQVFaW0tDTNnj27XOfiQpKSktSyZUvt2rXrvNvt379fI0aMUGJioqpWraq2bdtq/vz5zvW7d+9W3bp1JUnTp0933irzdXslwGqC82cUgEq3e/duSVLNmjWdy7Zt26YuXbqofv36mjRpkqpVq6Z//vOf6t+/v95//33dcMMNkk6HjoyMDN155526/PLLVVBQoPXr12vjxo36zW9+U+Zz3nnnnXrjjTd06623qnPnzlq+fLn69etXoeOYPXu2LrnkEl1//fWKiIjQxx9/rPvuu08Oh0MjR46s0L5LnDx5Unv27FHt2rXL3ObYsWPq0aOHdu7cqVGjRik1NVXvvvuuhg0bpvz8fI0ZM0Z169bV7Nmzde+99+qGG27QjTfeKElq06aNV8oJhAwDAGd47bXXjCTzr3/9yxw4cMDs2bPHvPfee6Zu3bomKirK7Nmzx7ltz549TevWrc3x48edyxwOh+ncubNp1qyZc1nbtm1Nv379zvu8U6dONWd+JW3evNlIMvfdd5/LdrfeequRZKZOnepcNnToUNOoUaML7tMYYwoLC8/Zrk+fPqZx48Yuy7p37266d+9+3jIbY0yjRo1M7969zYEDB8yBAwfMli1bzC233GIkmfvvv7/M/T333HNGknnjjTecy4qKikx6erqpXr26KSgoMMYYc+DAgXOOF0D5cBsLQKl69eqlunXrqkGDBrrppptUrVo1LVq0SBdddJEk6dChQ1q+fLluvvlmHT58WAcPHtTBgwf1yy+/qE+fPtqxY4ez91Z8fLy2bdumHTt2uP38n376qSRp9OjRLsvHjh1boeOKjo52/ttut+vgwYPq3r27fvjhB9ntdo/2uWTJEtWtW1d169ZV27Zt9e6772rIkCF66qmnynzMp59+qqSkJA0aNMi5rEqVKho9erSOHDmilStXelQWAOfiNhaAUv31r39V8+bNZbfb9eqrr+qrr75SVFSUc/3OnTtljNGUKVM0ZcqUUvexf/9+1a9fX4899ph+97vfqXnz5mrVqpWuueYaDRky5Ly3Y3788UeFhYWpSZMmLssvvvjiCh3X6tWrNXXqVGVmZqqwsNBlnd1uV1xcXLn32alTJz3xxBOy2WyKiYlRy5YtFR8ff97H/Pjjj2rWrJnCwlx/c7Zs2dK5HoB3EHYAlOryyy939sbq37+/unbtqltvvVXbt29X9erV5XA4JEnjx49Xnz59St1H06ZNJUndunVTdna2PvroIy1ZskR///vf9eyzz2rOnDm68847K1zWsgYjLC4udvl/dna2evbsqRYtWugvf/mLGjRooMjISH366ad69tlnncdUXnXq1FGvXr08eiwA3yPsALig8PBwZWRk6KqrrtKLL76oSZMmqXHjxpJO33px50Jfq1Yt3XHHHbrjjjt05MgRdevWTdOmTSsz7DRq1EgOh0PZ2dkutTnbt28/Z9uaNWsqPz//nOVn1458/PHHOnHihBYtWqSGDRs6l69YseKC5fe2Ro0a6euvv5bD4XCp3fnvf//rXC+VHeQAuI82OwDc0qNHD11++eV67rnndPz4cSUkJKhHjx56+eWXlZube872Bw4ccP77l19+cVlXvXp1NW3aVCdOnCjz+fr27StJmjVrlsvy55577pxtmzRpIrvdrq+//tq5LDc395xRjMPDwyVJxhjnMrvdrtdee63McvjKb3/7W+Xl5WnBggXOZadOndILL7yg6tWrq3v37pKkmJgYSSo1zAFwDzU7ANw2YcIE/f73v9e8efN0zz336K9//au6du2q1q1b66677lLjxo21b98+ZWZm6qefftKWLVskSWlpaerRo4c6dOigWrVqaf369Xrvvfc0atSoMp/r0ksv1aBBg/TSSy/Jbrerc+fOWrZsmXbu3HnOtrfccosmTpyoG264QaNHj1ZhYaFmz56t5s2ba+PGjc7tevfurcjISF133XX6wx/+oCNHjmju3LlKSEgoNbD50t13362XX35Zw4YN04YNG5SSkqL33ntPq1ev1nPPPacaNWpIOt2gOi0tTQsWLFDz5s1Vq1YttWrVSq1atarU8gJBzd/dwQAElpKu51lZWeesKy4uNk2aNDFNmjQxp06dMsYYk52dbW6//XaTlJRkqlSpYurXr2+uvfZa89577zkf98QTT5jLL7/cxMfHm+joaNOiRQszY8YMU1RU5NymtG7ix44dM6NHjza1a9c21apVM9ddd53Zs2dPqV2xlyxZYlq1amUiIyPNxRdfbN54441S97lo0SLTpk0bU7VqVZOSkmKeeuop8+qrrxpJZteuXc7tytP1/ELd6sva3759+8wdd9xh6tSpYyIjI03r1q3Na6+9ds5j16xZYzp06GAiIyPphg54wGbMGfW5AAAAFkObHQAAYGmEHQAAYGmEHQAAYGmEHQAAYGmEHQAAYGmEHQAAYGkMKijJ4XBo7969qlGjBkOzAwAQJIwxOnz4sOrVq3fOpLpnIuxI2rt3rxo0aODvYgAAAA/s2bNHF110UZnrCTuSc1j2PXv2KDY21s+lAQAA7igoKFCDBg2c1/GyEHb0/7MKx8bGEnYAAAgyF2qCQgNlAABgaYQdAABgaYQdAABgabTZAQBYWnFxsU6ePOnvYsADVapUUXh4eIX3Q9gBAFiSMUZ5eXnKz8/3d1FQAfHx8UpKSqrQ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iBE6cuRIZR8OAAAIQH4NO0899ZRmz56tF198Ud99952eeuopPf3003rhhRec2zz99NOaNWuW5syZo7Vr16patWrq06ePjh8/7txm8ODB2rZtm5YuXarFixfrq6++0t133+2PQwIAAAHGZs6sRqlk1157rRITE/XKK684lw0YMEDR0dF64403ZIxRvXr19OCDD2r8+PGSJLvdrsTERM2bN0+33HKLvvvuO6WlpSkrK0sdO3aUJH3++ef67W9/q59++kn16tW7YDkKCgoUFxcnu92u2NhY3xwsAADwKnev336t2encubOWLVum77//XpK0ZcsWrVq1Sn379pUk7dq1S3l5eerVq5fzMXFxcerUqZMyMzMlSZmZmYqPj3cGHUnq1auXwsLCtHbt2lKf98SJEyooKHD5AwAA1hThzyefNGmSCgoK1KJFC4WHh6u4uFgzZszQ4MGDJUl5eXmSpMTERJfHJSYmOtfl5eUpISHBZX1ERIRq1arl3OZsGRkZmj59urcPBwAABCC/1uz885//1Jtvvqm33npLGzdu1Pz58/XnP/9Z8+fP9+nzTp48WXa73fm3Z88enz4fAADwH7/W7EyYMEGTJk3SLbfcIklq3bq1fvzxR2VkZGjo0KFKSkqSJO3bt0/JycnOx+3bt0+XXnqpJCkpKUn79+932e+pU6d06NAh5+PPFhUVpaioKB8cEQAACDR+rdkpLCxUWJhrEcLDw+VwOCRJqampSkpK0rJly5zrCwoKtHbtWqWnp0uS0tPTlZ+frw0bNji3Wb58uRwOhzp16lQJRwEAAAKZX2t2rrvuOs2YMUMNGzbUJZdcok2bNukvf/mLhg8fLkmy2WwaO3asnnjiCTVr1kypqamaMmWK6tWrp/79+0uSWrZsqWuuuUZ33XWX5syZo5MnT2rUqFG65ZZb3OqJBQAArM2vYeeFF17QlClTdN9992n//v2qV6+e/vCHP+jRRx91bvPQQw/p6NGjuvvuu5Wfn6+uXbvq888/V9WqVZ3bvPnmmxo1apR69uypsLAwDRgwQLNmzfLHIQEAgADj13F2AgXj7AAAEHyCYpwdAAAAXyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAAS/N72Pn555912223qXbt2oqOjlbr1q21fv1653pjjB599FElJycrOjpavXr10o4dO1z2cejQIQ0ePFixsbGKj4/XiBEjdOTIkco+FAAAEID8GnZ+/fVXdenSRVWqVNFnn32mb7/9Vs8884xq1qzp3Obpp5/WrFmzNGfOHK1du1bVqlVTnz59dPz4cec2gwcP1rZt27R06VItXrxYX331le6++25/HBIAAAgwNmOM8deTT5o0SatXr9a///3vUtcbY1SvXj09+OCDGj9+vCTJbrcrMTFR8+bN0y233KLvvvtOaWlpysrKUseOHSVJn3/+uX7729/qp59+Ur169S5YjoKCAsXFxclutys2NtZ7BwgAAHzG3eu3X2t2Fi1apI4dO+r3v/+9EhIS1K5dO82dO9e5fteuXcrLy1OvXr2cy+Li4tSpUydlZmZKkjIzMxUfH+8MOpLUq1cvhYWFae3ataU+74kTJ1RQUODyBwAArMmvYeeHH37Q7Nmz1axZM33xxRe69957NXr0aM2fP1+SlJeXJ0lKTEx0eVxiYqJzXV5enhISElzWR0REqFatWs5tzpaRkaG4uDjnX4MGDbx9aAAAIED4New4HA61b99eTz75pNq1a6e7775bd911l+bMmePT5508ebLsdrvzb8+ePT59PgAA4D9+DTvJyclKS0tzWdayZUvl5ORIkpKSkiRJ+/btc9lm3759znVJSUnav3+/y/pTp07p0KFDzm3OFhUVpdjYWJc/AABgTX4NO126dNH27dtdln3//fdq1KiRJCk1NVVJSUlatmyZc31BQYHWrl2r9PR0SVJ6erry8/O1YcMG5zbLly+Xw+FQp06dKuEoAABAIIvw55OPGzdOnTt31pNPPqmbb75Z69at09/+9jf97W9/kyTZbDaNHTtWTzzxhJo1a6bU1FRNmTJF9erVU//+/SWdrgm65pprnLe/Tp48qVGjRumWW25xqycWAACwNr92PZekxYsXa/LkydqxY4dSU1P1wAMP6K677nKuN8Zo6tSp+tvf/qb8/Hx17dpVL730kpo3b+7c5tChQxo1apQ+/vhjhYWFacCAAZo1a5aqV6/uVhnoeg4AQPBx9/rt97ATCAg7AAAEn6AYZwcAAMDXCDuQJOXaj2lN9kHl2o/5uygAAHiVXxsoIzAsyMrR5IXfyGGkMJuUcWNrDbysob+LBQCAV1CzE+Jy7cecQUeSHEZ6eOFWangAAJZB2Alxuw4edQadEsXGaPfBQv8UCAAALyPshLjUOtUUZnNdFm6zKaVOjH8KBACAlxF2QlxyXLQybmytcNvpxBNus+nJG1spOS7azyUDAMA7aKAMDbysobo1r6vdBwuVUieGoAMAsBS3w05BQYHbO2VgvuCTHBdNyAEAWJLbYSc+Pl42m+282xhjZLPZVFxcXOGCAQAAeIPbYWfFihW+LAd0uhv4roNHlVqnGrUsAAB4idthp3v37r4sR8hjYD8AAHzD4wbK+fn5euWVV/Tdd99Jki655BINHz5ccXFxXitcqChrYL9uzetSwwMAQAV51PV8/fr1atKkiZ599lkdOnRIhw4d0l/+8hc1adJEGzdu9HYZLY+B/QAA8B2PanbGjRun66+/XnPnzlVExOldnDp1SnfeeafGjh2rr776yquFtLqSgf3ODDwM7AcAgHd4XLMzceJEZ9CRpIiICD300ENav3691woXKhjYDwAA3/GoZic2NlY5OTlq0aKFy/I9e/aoRo0aXilYqGFgPwAAfMOjsDNw4ECNGDFCf/7zn9W5c2dJ0urVqzVhwgQNGjTIqwUMJQzsBwCA93kUdv785z/LZrPp9ttv16lTpyRJVapU0b333quZM2d6tYAAAAAVYTPGmAtvVrrCwkJlZ2dLkpo0aaKYmOBsUFtQUKC4uDjZ7XamugAAIEi4e/2u0ESgMTExat26dUV2AR9jVGYAQKjzKOwcP35cL7zwglasWKH9+/fL4XC4rGesncDAqMwAAHgYdkaMGKElS5bopptu0uWXX37BCUJR+RiVGQCA0zwKO4sXL9ann36qLl26eLs88JLzjcpM2AEAhBKPBhWsX78+4+kEuJJRmc/kzqjMufZjWpN9ULn2Yz4sHQAAlcejsPPMM89o4sSJ+vHHH71dHniJJ6MyL8jKUZeZy3Xr3LXqMnO5FmTlVFZxAQDwGY9uY3Xs2FHHjx9X48aNFRMToypVqrisP3TokFcKh4opz6jMtPEBAFiVR2Fn0KBB+vnnn/Xkk08qMTGRBsoBzN1RmWnjAwCwKo/Czpo1a5SZmam2bdt6uzzwE2ZeBwBYlUdtdlq0aKFjx2jAaiXMvA4AsCqPpotYsmSJpk+frhkzZqh169bntNkJtikXmC7i/+XajzHzOgAgKLh7/fYo7ISFna4QOrutjjFGNptNxcXF5d2lXxF2AAAIPj6dG2vFihUeFwwAAKAyeRR2unfv7tZ29913nx577DHVqVPHk6cBAACoMI8aKLvrjTfeUEFBgS+fAgAA4Lx8GnY8aA4EAADgVT4NOwAAAP5G2AEAAJZG2AEAAJZG2AEAAJbm07Bz2223MUgfAADwK4/G2ZGk/Px8rVu3Tvv375fD4XBZd/vtt0uSZs+eXbHSAQAAVJBHYefjjz/W4MGDdeTIEcXGxrpMG2Gz2ZxhBwAAwN88uo314IMPavjw4Tpy5Ijy8/P166+/Ov8OHTrk7TICAAB4zKOw8/PPP2v06NGKiYnxdnkAAAC8yqOw06dPH61fv97bZQEAAPA6t9vsLFq0yPnvfv36acKECfr222/VunVrValSxWXb66+/3nslBAAAqACbcXMCq7Aw9yqBbDabiouLK1SoylZQUKC4uDjZ7Xa6ygMAECTcvX67XbNzdvdyAACAYOBRm53XX39dJ06cOGd5UVGRXn/99QoXCgAAwFvcvo11pvDwcOXm5iohIcFl+S+//KKEhARuYwEAAJ9z9/rtUc2OMcZlIMESP/30k+Li4jzZJQAAgE+UawTldu3ayWazyWazqWfPnoqI+P+HFxcXa9euXbrmmmu8XkgAAABPlSvs9O/fX5K0efNm9enTR9WrV3eui4yMVEpKigYMGODVAqLy5dqPadfBo0qtU03JcdH+Lg4AABVSrrAzdepUSVJKSooGDhyoqlWr+qRQ8J8FWTmavPAbOYwUZpMybmytgZc19HexAADwmEcNlEsUFRWVOut5w4bBdXGkgfJpufZj6jJzuRxnvCPCbTatmnQVNTwAgIDj9XF2zrRjxw4NHz5ca9ascVle0nA52Hpj4bRdB4+6BB1JKjZGuw8WEnYAAEHLo7AzbNgwRUREaPHixUpOTi61ZxaCT2qdagqz6ZyanZQ6TPgKAAheHoWdzZs3a8OGDWrRooW3ywM/So6LVsaNrfXwwq0qNkbhNpuevLEVtToAgKDmUdhJS0vTwYMHvV0WBICBlzVUt+Z1tftgoVLqxBB0AABBz6NBBZ966ik99NBD+vLLL/XLL7+ooKDA5c9TM2fOlM1m09ixY53Ljh8/rpEjR6p27dqqXr26BgwYoH379rk8LicnR/369VNMTIwSEhI0YcIEnTp1yuNyhLrkuGilN6lN0AEAWIJHNTu9evWSJF199dUu7XUq0kA5KytLL7/8stq0aeOyfNy4cfrkk0/07rvvKi4uTqNGjdKNN96o1atXSzo9mGG/fv2UlJSkNWvWKDc3V7fffruqVKmiJ5980pPDAwDAibHHgp9HYWfFihVeLcSRI0c0ePBgzZ07V0888YRzud1u1yuvvKK33npLV199tSTptddeU8uWLfWf//xHV1xxhZYsWaJvv/1W//rXv5SYmKhLL71Ujz/+uCZOnKhp06YpMjLSq2UFAIQOxh6zBo9uY3Xv3l1hYWGaO3euJk2apKZNm6p79+7KyclReHh4ufc3cuRI9evXz1ljVGLDhg06efKky/IWLVqoYcOGyszMlCRlZmaqdevWSkxMdG7Tp08fFRQUaNu2baU+34kTJ7x26w0AYE259mPOoCOd7qn68MKtyrUf82/BUG4ehZ33339fffr0UXR0tDZt2qQTJ05IOl0TU95bR++88442btyojIyMc9bl5eUpMjJS8fHxLssTExOVl5fn3ObMoFOyvmRdaTIyMhQXF+f8a9CgQbnKHGpy7ce0JvsgH3AAIeV8Y48huHgUdp544gnNmTNHc+fOVZUqVZzLu3Tpoo0bN7q9nz179mjMmDF68803K3XqicmTJ8tutzv/9uzZU2nPHWwWZOWoy8zlunXuWnWZuVwLsnL8XSQAqBQlY4+dibHHgpNHYWf79u3q1q3bOcvj4uKUn5/v9n42bNig/fv3q3379oqIiFBERIRWrlypWbNmKSIiQomJiSoqKjpnn/v27VNSUpIkKSkp6ZzeWSX/L9nmbFFRUYqNjXX5w7mowgUQykrGHgv/X0ccxh4LXh41UE5KStLOnTuVkpLisnzVqlVq3Lix2/vp2bOnvvnmG5dld9xxh1q0aKGJEyeqQYMGqlKlipYtW+acTX379u3KyclRenq6JCk9PV0zZszQ/v37lZCQIElaunSpYmNjlZaW5snh4X+YPgJAqGPsMWvwKOzcddddGjNmjF599VXZbDbt3btXmZmZGj9+vKZMmeL2fmrUqKFWrVq5LKtWrZpq167tXD5ixAg98MADqlWrlmJjY3X//fcrPT1dV1xxhSSpd+/eSktL05AhQ/T0008rLy9Pf/zjHzVy5EhFRUV5cnj4H6aPAIDTNTyEnODmUdiZNGmSHA6HevbsqcLCQnXr1k1RUVEaP3687r//fq8W8Nlnn1VYWJgGDBigEydOqE+fPnrppZec68PDw7V48WLde++9Sk9PV7Vq1TR06FA99thjXi1HKGL6CACAFdiMMebCm5WuqKhIO3fu1JEjR5SWlqbq1at7s2yVxt0p4kNVrv0YVbgAgIDj7vXbo5qdEpGRkbSLCQFU4QIAgplHvbEAAACCBWEHAABYGmEHAABYGmEHAYWpKQAA3lahBsqANzG7MADAF6jZQUBgagoAgK8QdhAQmF0YAOArhB0EBGYXBgD4CmEHAYHZhQEAvkIDZQQMZhcGAPgCYQcBhakpAADexm0sAABgaYQdeITB/wAAwYLbWCg3Bv8DAAQTanZQLgz+BwAINoQdlAuD/wEAgg1hB+XC4H8AgGBD2EG5MPgfACDY0EAZ5cbgfwCAYELYgUcY/A8AECy4jQUAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsBNEmHwTAIDyo+t5kGDyTQAAPEPNThBg8k0AADxH2AkCgTT5JrfSAADBhttYQaBk8s0zA48/Jt/kVhoAIBhRsxMEAmHyTW6lAQCCFTU7QcLfk2+e71Yac2QBAAIZYSeI+HPyzUC5leZNufZj2nXwqFLrVCOwAYCFcRsLbgmEW2netCArR11mLtetc9eqy8zlWpCV4+8iAQB8xGaMMRfezNoKCgoUFxcnu92u2NhYfxcnoOXaj/ntVpq35NqPqcvM5efUUq2adFXQHhMAhCJ3r9/cxkK5+PNWmrfQ/ggAQgu3sRByStofnSnY2x8BAMpG2EHIsVr7IwDA+XEbCyHJ3135AQCVh7CDkGWF9kcAgAvjNhYAALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wk6QyLUf05rsg8q1H/N3UQAACCqMsxMEFmTlaPLCb+QwUphNyrixtQZe1tDfxQIAIChQsxPgcu3HnEFHkhxGenjhVmp4AABwE2EnwJ1vhm4AAHBhhJ0AxwzdAABUDGEnwDFDNwAAFUMD5SDADN0AAHiOsBMkmKEbAADPcBsLAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYml/DTkZGhi677DLVqFFDCQkJ6t+/v7Zv3+6yzfHjxzVy5EjVrl1b1atX14ABA7Rv3z6XbXJyctSvXz/FxMQoISFBEyZM0KlTpyrzUACfYzJYAPCMX8POypUrNXLkSP3nP//R0qVLdfLkSfXu3VtHjx51bjNu3Dh9/PHHevfdd7Vy5Urt3btXN954o3N9cXGx+vXrp6KiIq1Zs0bz58/XvHnz9Oijj/rjkACfWJCVoy4zl+vWuWvVZeZyLcjK8XeRACBo2Iwx5sKbVY4DBw4oISFBK1euVLdu3WS321W3bl299dZbuummmyRJ//3vf9WyZUtlZmbqiiuu0GeffaZrr71We/fuVWJioiRpzpw5mjhxog4cOKDIyMgLPm9BQYHi4uJkt9sVGxvr02MEyivXfkxdZi53mSMt3GbTqklXMfYSgJDm7vU7oNrs2O12SVKtWrUkSRs2bNDJkyfVq1cv5zYtWrRQw4YNlZmZKUnKzMxU69atnUFHkvr06aOCggJt27at1Oc5ceKECgoKXP6AQMVksABQMQETdhwOh8aOHasuXbqoVatWkqS8vDxFRkYqPj7eZdvExETl5eU5tzkz6JSsL1lXmoyMDMXFxTn/GjRo4OWjAbyHyWABoGICJuyMHDlSW7du1TvvvOPz55o8ebLsdrvzb8+ePT5/zlBGw9qKYTJYAKiYgJgba9SoUVq8eLG++uorXXTRRc7lSUlJKioqUn5+vkvtzr59+5SUlOTcZt26dS77K+mtVbLN2aKiohQVFeXlo0BpFmTlaPLCb+QwUphNyrixtQZe1tDfxQo6TAYLAJ7za82OMUajRo3SBx98oOXLlys1NdVlfYcOHVSlShUtW7bMuWz79u3KyclRenq6JCk9PV3ffPON9u/f79xm6dKlio2NVVpaWuUcCEqVaz/mDDqS5DDSwwu3+q2GJ9hrmJLjopXepDZBBwDKya81OyNHjtRbb72ljz76SDVq1HC2sYmLi1N0dLTi4uI0YsQIPfDAA6pVq5ZiY2N1//33Kz09XVdccYUkqXfv3kpLS9OQIUP09NNPKy8vT3/84x81cuRIam/87HwNayv7gk0NEwCELr/W7MyePVt2u109evRQcnKy82/BggXObZ599llde+21GjBggLp166akpCQtXLjQuT48PFyLFy9WeHi40tPTddttt+n222/XY4895o9DCniVWbsRKA1rA62GCQBQuQJqnB1/CZVxdvxRu7EgK0cPL9yqYmOcDWsru0ZlTfZB3Tp37TnL377rCqU3qV2pZQEAeI+71++AaKAM3yurdqNb87o+vaUUCA1rS2qYzh6Uj67bABAaAqbrOXzLnwPT+bthLV23ASC0UbMTIkK9diMQapiCTa79mHYdPKrUOtU4XwCCGmEnRJTUbpzdfiaULmLJcdEhdbwVQe81AFZCA2WFTgNl6fSvdWo3cD5MPAogWNBAGaWidgNnKu1WVSCNjwQA3kDYAUJUabequjWvq1+OnAjp9l2oGNp6IRARdoAQVNpQBJPe/0a2/4UcmySbTTKG3mtwH229EKgIO0AIKu1WldHpcFPy7zAjvXhrO7VvVJOggwvy11hegDsYZwcIQaVN5XE2h6Ra1aK4UMEtG3781W9jeQEXQtgBQtDZAy2G6fStqzPRTgfuWpCVo/vf2nTOct5DCBTcxgIsorwNQ88eaPGr7w+E9DhM8EzJ7auzxzAJs4n3EAIGYQewAE8bhp45FAGjTMMTpbX/kqRZt7TTtW3rVX6BgFJwGwvwo1z7Ma3JPqhc+7EK7aO0hqGe7NPf85gh+JTW/ivcZlOHlJr+KRBQCsIO4CcLsnLUZeZy3Tp3rbrMXK4FWTke7cefk7wCTLSLYMBtLMAPvNlNN9QneYX/cQsUgY6aHQQVb9z2CQTerI3hlzVKU9mfFW6BIpBRs4OgYaXRWb1dG1Pyy3rjj7/KYYw6ptTyUkkRjKz0WQG8gZodBAVvNsINBL6ojfnq+wO6/+1Nuv/tzRVqA4TgFmyfFavU1iKwUbODoGDFmbi92c6BofpRIpg+K9RAobJQs4OgUFb31mBvhOutdg70yEKJYPmsBFsNFIIbYQdBgUa45xcsFzj4XrB8VgjoqEzcxkLQoHtr2UoucEz3ACk4PiulNdIPkxQTyW9wbynvFDJWZjPGlDLQd2gpKChQXFyc7Ha7YmNj/V0cwGO59mMBfYELRcF6wTm73L44jgVZOc6AXoK2O97hi/ZQgfhedvf6TdgRYQeAbwTrBefsct/Qrr4+2PSzTxoSb9nzq/q/tEbmrGEYVk26KmAuqMEm135MXWYuP2doi4qc00BtTO7u9Zv6QgQkuqMi2PmiAa63phg5n9LK/f7Gn33SkDjXfkzrdh/S2T+5y2q7w/eCe7zdHsoKjclps4NKd6FfpoH6CwIoD293Aa+s4QXKmsX8TN7oyn7m5/xspTWu53vBfd4etDSYhjMoCzU7qFQX+mVqhV8QgOT9HnKV1XuptHKfraI9/c7+nJ+977Mb1/O9UD7e7pFnhd6ehB1UGne+sNz9Qqc6G4EuWC84pZV7QPv6Xu3KXlbt0ZR+LbVq0lXn1NjQTb38Bl7WUKsmXaW377qi1HNaHme/J8Ikjeia4p2CVhJuY6HSuFMV6k71K9XZCBbe7AJe1vACkrQm+6BXGyyXVu7xfS72Wk+/sj7nv22TXOq+PbktE4g9h3yhrOMsbXnJsmqR4TpaVFyuc1Pynnht1W79fdUP+tu/d+nvq3YFzfcvYQeVxp0vrAuNF8O0CAg2yXHRPgshX31/wNnrxtvB/+xye/M4yjsuVHm3D+QfRN4MYWUdZ2nLJZ1z69CTc/P3VT8E5fcvXc9F1/PKdOa4GiVfWKV90MoaL2ZN9kHdOnftOdu/fdcVSm9S26dlh/eFyq9vX/BF9+LKVt5xodzZPpDPizdDWFnHufC+dN3w0ppzBmvUWT80z3yMu+cmEL9/3b1+U7ODSuVutX5ZvyK93csA/hPIv76DgRV6yJS3tsid7QP1vHi7Vrqs48za/es5yx2SVEa1hrvnJtd+TL8cORG03780UEalq8jkl8Ey708wq4zG3/SuqTh3GyyHWmN+d86LP86JtxtZl3Wcl6XUPGd5mFRmDzt3wkpJL9r7394sY6T/ff0G1fcvNTsIOsEw708wKG06gNdW7dLcf++SUflqW8p7OypQf30HE3fasfiz9sxftygvdF78dU6qRYaXutyducBKO5dlHWfbBjXLbMh+9tQc7oSVs3+YGElhRnrx1nZq36hm0HxeCTsISt5sLBmKzjcdQAl3q9k9uXhwO7J05Q0I5wv+/mzM7+9blGWdF3+ek6NFxaUuLyxynPdx5zuXZR1nWctLlsVEhqmwyOHWj8XSfpg4JNWqFhVU38GEHSDElDUdQGkuVNvi6cWDWdrP5WlAKCv4+6v2LFB6TJZ2XvxZo+hp9/kLncuyXv/Slp+9rOR23vnCtVV+mBB2gBDjznQAJS70pVaRiwe3I/+fLwKCvy5SgXyL0p8Xbk8Cvi/Ppbvh2io/TAg7QIgp7Qu/NGHSBb/UKnrx4Hbkab64qPnrIhXINQH+vnCXN+D76lyWN1xb4YcJYQcIMaV94fdvV08fbtqrYmMUZpPu7NpYd3RNueCXmr8vHlbhq4uaPy5Sgf6eGHhZQ7VIqqGs3b/qspSaatugZqU+f3kCvq/OpSfhOth/mDCooBhU0JsYJC54nD1AW3kHeDvfvlB+7g64GSwC9T3hrcbTlfld5+1zGcgDL5aXu9dvwo4IO97i7x4YQLC70EWNHxMV462LfGV81/n6tbZKuGYEZVSqQOmB4SkuIggE57tVwI+JivNG26jK+K6rjNfaCu1wyoOwA68I5B4YF8JFBIEu2H9MBApvtI3y9XddZb7Wwd4OpzyYLgJe4e7Q9YHGX9MWhNoQ/qgYb081EKq8Md2Mr7/reK19g5odeEWg98Aoiz9qpMqqSeJWWvCo7NcqkLtz+4Ivz29Fb9/46ruu5JirRYaH1GtdWQg78Bpf3AP29UWlsi8iZdUk5R87qac++y+30oKAP257JsdFa2LfFs73SLD8mPBEZZzfit6+8fZ3XWnTt5QMBWHl17oy0RtL9MYKVJV1UanMXglrsg/q1rlrz1lus0nmrMAVjN1Arc5fXXbP/CzYJE3q20J/6N7EZ8/nL1bqEu2uso554X3pbs9fFcrojYWgVpmN9CqzV0JpNUlhOnc042Bp3B1q/HHbs7RZp5/+fLuuv7Se5d4fwdzRwVNlHXNhkUPpTWr7p1AWRANlBKTKbqSXHBet9Ca1ff6FWloDyYl9W3jc4JGGzpXLW41Ty/O6hVKD1UDr6FAZn69AO2aromYHAcnKDTJLq0mKj6lS7gaPdJl3daH2Xd5o/+WNxqnlfd2s/Fk4WyB1dKisz1cgHbOV0WZHtNkJVFYZ4dNd5RkSPhTbNpzPhS5M3r5weTp8v6evG5+F8j++IsHWH5+vQJ1ew13+6k1Kmx0EvVAb4bM8PURCsW1DWS7Uvsub7b/O/EL3pD2Fp68bnwX3eSPY+uPzFcwD/AVDLTNhBwEtmL8AfMmftzYCbTygC12YvHXh8sYXekVeNz4LF+atYBtKtw4rKlhG96aBMhCEvDESrCcWZOWoy8zlunXuWnWZuVwLsnJ8+nzuuFADT280APXWSNv+et1Chbcac/M6uS9YGtBTswPIs9oKf9dwVPatjUD9BXehBp7eaADqzdsavnzdyvOe9Pf71xe8WSMTarcOPRUstWCEHYQ8T25PBMo96sq8tRHI7YQudGGq6IWrPF/o7oQIX7xu5XlPBsr719u83bOJW4fuGdE1Va+s2lXm6N6BEKzpjSV6Y4UyT3pdhGpPqFA97hLu9IjyV4goz2tT3tcxEC5U5RXsPZuCxZnvd0m6tk2S7rqysdo2qFnqNr74TNAbC3CDJ7UVgVzD4UuhPh7IhWqH/HmbrzzvSXe2LQk43/xsD8o523xdIxOMAdDbzn6/S9Lir/P06Td5LpMbB8qtb8IOQpon95uD5R61LwRrOwZvXZzOdxH1Zwguz3vyQtue/Wu9RKC00fI3q94CLK/S3u+S6/skkH4YWqY31l//+lelpKSoatWq6tSpk9atW+fvIiEIeNLrItR7alTW1BreUhk9yHLtx/TLkRN+G/a/PO/J821b2q/1M/mql02wTHtS3l55wXJcniitl2OJkvdJIE2FYYmanQULFuiBBx7QnDlz1KlTJz333HPq06ePtm/froSEBH8XDwHufLUVZdUIBGsNR6ipjGr0s2ckL5nBvrJDcHnek2VtW9av9RK+uFAFU01JeWoqgum4PFESmie//40cZ60reZ8E0q1vSzRQ7tSpky677DK9+OKLkiSHw6EGDRro/vvv16RJky74eBooozRW/7IKBWuyD+rWuWvPWf72XVd4ZUbp0hr7hkl64dZ2at+oZtCF4NKOp4QvpqkItkbv7pY32I6rInLtx/Taqt36+6ofXHpjnfk+8WWD8ZBpoFxUVKQNGzZo8uTJzmVhYWHq1auXMjMz/VgyBLNAalgHz/m6fVVpv/QdkmpViwrK90lpv8QfuuZitbko3icXqkBq0+EOd2sqgu24KiI5LloP92upO7qmlBloAqELf9CHnYMHD6q4uFiJiYkuyxMTE/Xf//631MecOHFCJ06ccP6/oKDAp2VE8AmlLysr83U1uhUbq1fmLdpgPH/unJ9gPK6KCoRAcz6WaaBcHhkZGYqLi3P+NWjQwN9FQoAJpIZ1qJiBlzXUqklX6e27rtCqSVd59TaMVRurV1Yj9GA9fxc6P8F6XFYW9G12ioqKFBMTo/fee0/9+/d3Lh86dKjy8/P10UcfnfOY0mp2GjRoQJsduHBnEDlAYhC7irLq+bPqcQWSkGmzExkZqQ4dOmjZsmXOsONwOLRs2TKNGjWq1MdERUUpKiqqEkuJYESPK7gr0KvwA51Vz59VjysYBX3YkaQHHnhAQ4cOVceOHXX55Zfrueee09GjR3XHHXf4u2gIcnxZAUDws0TYGThwoA4cOKBHH31UeXl5uvTSS/X555+f02gZAACEnqBvs+MNjLMDAEDwcff6HZK9sQAAQOgg7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEuzxHQRFVUyiHRBQYGfSwIAANxVct2+0GQQhB1Jhw8fliQ1aNDAzyUBAADldfjwYcXFxZW5nrmxJDkcDu3du1c1atSQzWZz6zEFBQVq0KCB9uzZE9LzaXEeTuM8cA5KcB5O4zycxnnw7Tkwxujw4cOqV6+ewsLKbplDzY6ksLAwXXTRRR49NjY2NmTfwGfiPJzGeeAclOA8nMZ5OI3z4LtzcL4anRI0UAYAAJZG2AEAAJZG2PFQVFSUpk6dqqioKH8Xxa84D6dxHjgHJTgPp3EeTuM8BMY5oIEyAACwNGp2AACApRF2AACApRF2AACApRF2AACApRF2zjB79my1adPGOfBRenq6PvvsM+f648ePa+TIkapdu7aqV6+uAQMGaN++fS77yMnJUb9+/RQTE6OEhARNmDBBp06dquxD8aqZM2fKZrNp7NixzmWhcC6mTZsmm83m8teiRQvn+lA4B5L0888/67bbblPt2rUVHR2t1q1ba/369c71xhg9+uijSk5OVnR0tHr16qUdO3a47OPQoUMaPHiwYmNjFR8frxEjRujIkSOVfSgeS0lJOee9YLPZNHLkSEmh814oLi7WlClTlJqaqujoaDVp0kSPP/64y7xEofB+OHz4sMaOHatGjRopOjpanTt3VlZWlnO9Fc/BV199peuuu0716tWTzWbThx9+6LLeW8f89ddf68orr1TVqlXVoEEDPf300945AAOnRYsWmU8++cR8//33Zvv27ebhhx82VapUMVu3bjXGGHPPPfeYBg0amGXLlpn169ebK664wnTu3Nn5+FOnTplWrVqZXr16mU2bNplPP/3U1KlTx0yePNlfh1Rh69atMykpKaZNmzZmzJgxzuWhcC6mTp1qLrnkEpObm+v8O3DggHN9KJyDQ4cOmUaNGplhw4aZtWvXmh9++MF88cUXZufOnc5tZs6caeLi4syHH35otmzZYq6//nqTmppqjh075tzmmmuuMW3btjX/+c9/zL///W/TtGlTM2jQIH8ckkf279/v8j5YunSpkWRWrFhhjAmN94IxxsyYMcPUrl3bLF682Ozatcu8++67pnr16ub55593bhMK74ebb77ZpKWlmZUrV5odO3aYqVOnmtjYWPPTTz8ZY6x5Dj799FPzyCOPmIULFxpJ5oMPPnBZ741jttvtJjEx0QwePNhs3brVvP322yY6Otq8/PLLFS4/YecCatasaf7+97+b/Px8U6VKFfPuu+8613333XdGksnMzDTGnH4zhIWFmby8POc2s2fPNrGxsebEiROVXvaKOnz4sGnWrJlZunSp6d69uzPshMq5mDp1qmnbtm2p60LlHEycONF07dq1zPUOh8MkJSWZP/3pT85l+fn5Jioqyrz99tvGGGO+/fZbI8lkZWU5t/nss8+MzWYzP//8s+8K70NjxowxTZo0MQ6HI2TeC8YY069fPzN8+HCXZTfeeKMZPHiwMSY03g+FhYUmPDzcLF682GV5+/btzSOPPBIS5+DssOOtY37ppZdMzZo1XT4TEydONBdffHGFy8xtrDIUFxfrnXfe0dGjR5Wenq4NGzbo5MmT6tWrl3ObFi1aqGHDhsrMzJQkZWZmqnXr1kpMTHRu06dPHxUUFGjbtm2VfgwVNXLkSPXr18/lmCWF1LnYsWOH6tWrp8aNG2vw4MHKycmRFDrnYNGiRerYsaN+//vfKyEhQe3atdPcuXOd63ft2qW8vDyX8xAXF6dOnTq5nIf4+Hh17NjRuU2vXr0UFhamtWvXVt7BeElRUZHeeOMNDR8+XDabLWTeC5LUuXNnLVu2TN9//70kacuWLVq1apX69u0rKTTeD6dOnVJxcbGqVq3qsjw6OlqrVq0KiXNwNm8dc2Zmprp166bIyEjnNn369NH27dv166+/VqiMTAR6lm+++Ubp6ek6fvy4qlevrg8++EBpaWnavHmzIiMjFR8f77J9YmKi8vLyJEl5eXkuX2Yl60vWBZN33nlHGzdudLkPXSIvLy8kzkWnTp00b948XXzxxcrNzdX06dN15ZVXauvWrSFzDn744QfNnj1bDzzwgB5++GFlZWVp9OjRioyM1NChQ53HUdpxnnkeEhISXNZHRESoVq1aQXMezvThhx8qPz9fw4YNkxQ6nwdJmjRpkgoKCtSiRQuFh4eruLhYM2bM0ODBgyUpJN4PNWrUUHp6uh5//HG1bNlSiYmJevvtt5WZmammTZuGxDk4m7eOOS8vT6mpqefso2RdzZo1PS4jYecsF198sTZv3iy73a733ntPQ4cO1cqVK/1drEq1Z88ejRkzRkuXLj3n10soKfm1Kklt2rRRp06d1KhRI/3zn/9UdHS0H0tWeRwOhzp27Kgnn3xSktSuXTtt3bpVc+bM0dChQ/1cOv945ZVX1LdvX9WrV8/fRal0//znP/Xmm2/qrbfe0iWXXKLNmzdr7NixqlevXki9H/7xj39o+PDhql+/vsLDw9W+fXsNGjRIGzZs8HfRUAZuY50lMjJSTZs2VYcOHZSRkaG2bdvq+eefV1JSkoqKipSfn++y/b59+5SUlCRJSkpKOqcHRsn/S7YJBhs2bND+/fvVvn17RUREKCIiQitXrtSsWbMUERGhxMTEkDkXZ4qPj1fz5s21c+fOkHk/JCcnKy0tzWVZy5YtnbfzSo6jtOM88zzs37/fZf2pU6d06NChoDkPJX788Uf961//0p133ulcFirvBUmaMGGCJk2apFtuuUWtW7fWkCFDNG7cOGVkZEgKnfdDkyZNtHLlSh05ckR79uzRunXrdPLkSTVu3DhkzsGZvHXMvvycEHYuwOFw6MSJE+rQoYOqVKmiZcuWOddt375dOTk5Sk9PlySlp6frm2++cXlBly5dqtjY2HMuGIGsZ8+e+uabb7R582bnX8eOHTV48GDnv0PlXJzpyJEjys7OVnJycsi8H7p06aLt27e7LPv+++/VqFEjSVJqaqqSkpJczkNBQYHWrl3rch7y8/NdfvUuX75cDodDnTp1qoSj8J7XXntNCQkJ6tevn3NZqLwXJKmwsFBhYa6XjfDwcDkcDkmh936oVq2akpOT9euvv+qLL77Q7373u5A7B5L3Xvf09HR99dVXOnnypHObpUuX6uKLL67QLSxJdD0/06RJk8zKlSvNrl27zNdff20mTZpkbDabWbJkiTHmdPfShg0bmuXLl5v169eb9PR0k56e7nx8SffS3r17m82bN5vPP//c1K1bN+i6l5bmzN5YxoTGuXjwwQfNl19+aXbt2mVWr15tevXqZerUqWP2799vjAmNc7Bu3ToTERFhZsyYYXbs2GHefPNNExMTY9544w3nNjNnzjTx8fHmo48+Ml9//bX53e9+V2qX03bt2pm1a9eaVatWmWbNmgV0N9vSFBcXm4YNG5qJEyeesy4U3gvGGDN06FBTv359Z9fzhQsXmjp16piHHnrIuU0ovB8+//xz89lnn5kffvjBLFmyxLRt29Z06tTJFBUVGWOseQ4OHz5sNm3aZDZt2mQkmb/85S9m06ZN5scffzTGeOeY8/PzTWJiohkyZIjZunWreeedd0xMTAxdz71t+PDhplGjRiYyMtLUrVvX9OzZ0xl0jDHm2LFj5r777jM1a9Y0MTEx5oYbbjC5ubku+9i9e7fp27eviY6ONnXq1DEPPvigOXnyZGUfitedHXZC4VwMHDjQJCcnm8jISFO/fn0zcOBAl/FlQuEcGGPMxx9/bFq1amWioqJMixYtzN/+9jeX9Q6Hw0yZMsUkJiaaqKgo07NnT7N9+3aXbX755RczaNAgU716dRMbG2vuuOMOc/jw4co8jAr74osvjKRzjs2Y0HkvFBQUmDFjxpiGDRuaqlWrmsaNG5tHHnnEpatwKLwfFixYYBo3bmwiIyNNUlKSGTlypMnPz3eut+I5WLFihZF0zt/QoUONMd475i1btpiuXbuaqKgoU79+fTNz5kyvlN9mzBlDXwIAAFgMbXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAeKRHjx4aO3asv4vhc9OmTdOll17q72IAqADCDoCQVFRUVKnPZ4zRqVOnKvU5AZxG2AFQbsOGDdPKlSv1/PPPy2azyWazaffu3dq6dav69u2r6tWrKzExUUOGDNHBgwedj+vRo4fuv/9+jR07VjVr1lRiYqLmzp2ro0eP6o477lCNGjXUtGlTffbZZ87HfPnll7LZbPrkk0/Upk0bVa1aVVdccYW2bt3qUqZVq1bpyiuvVHR0tBo0aKDRo0fr6NGjzvUpKSl6/PHHdfvttys2NlZ33323JGnixIlq3ry5YmJi1LhxY02ZMsU56/K8efM0ffp0bdmyxXmc8+bN0+7du2Wz2bR582bn/vPz82Wz2fTll1+6lPuzzz5Thw4dFBUVpVWrVsnhcCgjI0OpqamKjo5W27Zt9d5773n7JQJwBsIOgHJ7/vnnlZ6errvuuku5ubnKzc1VjRo1dPXVV6tdu3Zav369Pv/8c+3bt08333yzy2Pnz5+vOnXqaN26dbr//vt177336ve//706d+6sjRs3qnfv3hoyZIgKCwtdHjdhwgQ988wzysrKUt26dXXdddc5Q0l2drauueYaDRgwQF9//bUWLFigVatWadSoUS77+POf/6y2bdtq06ZNmjJliiSpRo0amjdvnr799ls9//zzmjt3rp599llJ0sCBA/Xggw/qkksucR7nwIEDy3WuJk2apJkzZ+q7775TmzZtlJGRoddff11z5szRtm3bNG7cON12221auXJlufYLoBy8Mp0ogJDTvXt3M2bMGOf/H3/8cdO7d2+Xbfbs2eMyU3j37t1N165dnetPnTplqlWrZoYMGeJclpubaySZzMxMY8z/z7b8zjvvOLf55ZdfTHR0tFmwYIExxpgRI0aYu+++2+W5//3vf5uwsDBz7NgxY4wxjRo1Mv3797/gcf3pT38yHTp0cP5/6tSppm3bti7b7Nq1y0gymzZtci779ddfjSSzYsUKl3J/+OGHzm2OHz9uYmJizJo1a1z2N2LECDNo0KALlg2AZyL8GbQAWMeWLVu0YsUKVa9e/Zx12dnZat68uSSpTZs2zuXh4eGqXbu2Wrdu7VyWmJgoSdq/f7/LPtLT053/rlWrli6++GJ99913zuf++uuv9eabbzq3McbI4XBo165datmypSSpY8eO55RtwYIFmjVrlrKzs3XkyBGdOnVKsbGx5T7+spz5nDt37lRhYaF+85vfuGxTVFSkdu3aee05Abgi7ADwiiNHjui6667TU089dc665ORk57+rVKniss5ms7kss9lskiSHw1Gu5/7DH/6g0aNHn7OuYcOGzn9Xq1bNZV1mZqYGDx6s6dOnq0+fPoqLi9M777yjZ5555rzPFxZ2ugWAMca5rOSW2tnOfM4jR45Ikj755BPVr1/fZbuoqKjzPicAzxF2AHgkMjJSxcXFzv+3b99e77//vlJSUhQR4f2vlv/85z/O4PLrr7/q+++/d9bYtG/fXt9++62aNm1arn2uWbNGjRo10iOPPOJc9uOPP7psc/ZxSlLdunUlSbm5uc4amTMbK5clLS1NUVFRysnJUffu3ctVVgCeo4EyAI+kpKRo7dq12r17tw4ePKiRI0fq0KFDGjRokLKyspSdna0vvvhCd9xxxzlhwROPPfaYli1bpq1bt2rYsGGqU6eO+vfvL+l0j6o1a9Zo1KhR2rx5s3bs2KGPPvronAbKZ2vWrJlycnL0zjvvKDs7W7NmzdIHH3xwznHu2rVLmzdv1sGDB3XixAlFR0friiuucDY8Xrlypf74xz9e8Bhq1Kih8ePHa9y4cZo/f76ys7O1ceNGvfDCC5o/f77H5wbA+RF2AHhk/PjxCg8PV1pamurWrauioiKtXr1axcXF6t27t1q3bq2xY8cqPj7eedunImbOnKkxY8aoQ4cOysvL08cff6zIyEhJp9sBrVy5Ut9//72uvPJKtWvXTo8++qjq1at33n1ef/31GjdunEaNGqVLL71Ua9ascfbSKjFgwABdc801uuqqq1S3bl29/fbbkqRXX31Vp06dUocOHTR27Fg98cQTbh3H448/rilTpigjI0MtW7bUNddco08++USpqakenBUA7rCZM286A0CA+fLLL3XVVVfp119/VXx8vL+LAyAIUbMDAAAsjbADAAAsjdtYAADA0qjZAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlvZ/5oPfigwJYygAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABJXElEQVR4nO3deXwU9eH/8fcmkJBAEo6cIJAAckO4NaAclYqUnxaxFfHgEGhVqCBqAa0CogZrVay1oFjFowpVEe+DchZBCkKQeKDEYKImQMRsgIQAyef3B99sWXKQbPacfT0fjzweMDO7+5nZ2Zn3fD6f+YzNGGMEAABgESG+LgAAAIA7EW4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4A+MT8+fNls9lqtazNZtP8+fM9Wp6hQ4dq6NChfvt+AGqPcAMEueXLl8tmszn+GjRooFatWmnixIn64YcffF08v5OcnOy0veLj43XxxRfrjTfecMv7FxcXa/78+dqwYYNb3g8IRoQbAJKk++67Ty+++KKWLl2qkSNH6qWXXtKQIUN0/Phxj3zen/70J5WUlHjkvT2tV69eevHFF/Xiiy/qjjvu0I8//qgxY8Zo6dKl9X7v4uJiLViwgHAD1EMDXxcAgH8YOXKk+vXrJ0maMmWKYmNj9dBDD+mtt97S1Vdf7fbPa9CggRo0CMxDUKtWrXT99dc7/j9+/Hh16NBBjz32mG666SYflgyARM0NgGpcfPHFkqSsrCyn6V999ZV+85vfqHnz5mrUqJH69eunt956y2mZkydPasGCBTr//PPVqFEjtWjRQhdddJHWrFnjWKaqPjelpaW67bbbFBcXp6ioKF1xxRX6/vvvK5Vt4sSJSk5OrjS9qvd87rnn9Itf/ELx8fEKDw9X165dtWTJkjpti3NJTExUly5dlJ2dXeNyBw8e1OTJk5WQkKBGjRopNTVVzz//vGP+/v37FRcXJ0lasGCBo+nL0/2NAKsJzMsmAB63f/9+SVKzZs0c0z7//HMNGjRIrVq10pw5c9S4cWP961//0ujRo/X666/ryiuvlHQ6ZKSnp2vKlCkaMGCAioqKtGPHDu3cuVO//OUvq/3MKVOm6KWXXtK1116rgQMHat26dRo1alS91mPJkiXq1q2brrjiCjVo0EBvv/22brnlFpWXl2vatGn1eu8KJ0+eVG5urlq0aFHtMiUlJRo6dKj27dun6dOnKyUlRa+++qomTpyowsJCzZgxQ3FxcVqyZIluvvlmXXnllRozZowkqWfPnm4pJxA0DICg9txzzxlJ5t///rc5dOiQyc3NNa+99pqJi4sz4eHhJjc317HsJZdcYnr06GGOHz/umFZeXm4GDhxozj//fMe01NRUM2rUqBo/d968eebMQ1BGRoaRZG655Ran5a699lojycybN88xbcKECaZt27bnfE9jjCkuLq603IgRI0y7du2cpg0ZMsQMGTKkxjIbY0zbtm3NpZdeag4dOmQOHTpkdu/eba655hojyfzhD3+o9v0WL15sJJmXXnrJMe3EiRMmLS3NNGnSxBQVFRljjDl06FCl9QVQNzRLAZAkDR8+XHFxcWrdurV+85vfqHHjxnrrrbd03nnnSZIOHz6sdevW6eqrr9aRI0dUUFCggoIC/fTTTxoxYoS++eYbx91VTZs21eeff65vvvmm1p//3nvvSZJuvfVWp+kzZ86s13pFREQ4/m2321VQUKAhQ4bo22+/ld1ud+k9P/roI8XFxSkuLk6pqal69dVXdcMNN+ihhx6q9jXvvfeeEhMTNW7cOMe0hg0b6tZbb9XRo0e1ceNGl8oCoDKapQBIkp588kl17NhRdrtdzz77rDZt2qTw8HDH/H379skYo3vuuUf33HNPle9x8OBBtWrVSvfdd59+/etfq2PHjurevbsuu+wy3XDDDTU2r3z33XcKCQlR+/btnaZ36tSpXuv18ccfa968edq6dauKi4ud5tntdsXExNT5PS+44ALdf//9stlsioyMVJcuXdS0adMaX/Pdd9/p/PPPV0iI8zVlly5dHPMBuAfhBoAkacCAAY67pUaPHq2LLrpI1157rfbu3asmTZqovLxcknTHHXdoxIgRVb5Hhw4dJEmDBw9WVlaW3nzzTX300Ud65pln9Nhjj2np0qWaMmVKvcta3eB/ZWVlTv/PysrSJZdcos6dO+vRRx9V69atFRYWpvfee0+PPfaYY53qKjY2VsOHD3fptQA8j3ADoJLQ0FClp6dr2LBh+tvf/qY5c+aoXbt2kk43pdTmxN68eXNNmjRJkyZN0tGjRzV48GDNnz+/2nDTtm1blZeXKysry6m2Zu/evZWWbdasmQoLCytNP7v24+2331ZpaaneeusttWnTxjF9/fr15yy/u7Vt21afffaZysvLnWpvvvrqK8d8qfrgBqD26HMDoEpDhw7VgAEDtHjxYh0/flzx8fEaOnSonnrqKeXl5VVa/tChQ45///TTT07zmjRpog4dOqi0tLTazxs5cqQk6a9//avT9MWLF1datn379rLb7frss88c0/Ly8iqNEhwaGipJMsY4ptntdj333HPVlsNTfvWrXyk/P18rV650TDt16pSeeOIJNWnSREOGDJEkRUZGSlKV4Q1A7VBzA6Bad955p377299q+fLluummm/Tkk0/qoosuUo8ePTR16lS1a9dOBw4c0NatW/X9999r9+7dkqSuXbtq6NCh6tu3r5o3b64dO3botdde0/Tp06v9rF69emncuHH6+9//LrvdroEDB2rt2rXat29fpWWvueYazZ49W1deeaVuvfVWFRcXa8mSJerYsaN27tzpWO7SSy9VWFiYLr/8cv3+97/X0aNHtWzZMsXHx1cZ0Dzpd7/7nZ566ilNnDhRn376qZKTk/Xaa6/p448/1uLFixUVFSXpdAforl27auXKlerYsaOaN2+u7t27q3v37l4tLxDQfH27FgDfqrgVfPv27ZXmlZWVmfbt25v27dubU6dOGWOMycrKMuPHjzeJiYmmYcOGplWrVub//b//Z1577TXH6+6//34zYMAA07RpUxMREWE6d+5sHnjgAXPixAnHMlXdtl1SUmJuvfVW06JFC9O4cWNz+eWXm9zc3Cpvjf7oo49M9+7dTVhYmOnUqZN56aWXqnzPt956y/Ts2dM0atTIJCcnm4ceesg8++yzRpLJzs52LFeXW8HPdZt7de934MABM2nSJBMbG2vCwsJMjx49zHPPPVfptVu2bDF9+/Y1YWFh3BYOuMBmzBn1tQAAAAGOPjcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSgm4Qv/Lycv3444+KiopimHMAAAKEMUZHjhxRy5YtKz2A9mxBF25+/PFHtW7d2tfFAAAALsjNzdV5551X4zJBF24qhjjPzc1VdHS0j0sDAABqo6ioSK1bt3acx2sSdOGmoikqOjqacAMAQICpTZcSOhQDAABLIdwAAABLIdwAAABLCbo+NwCA4FFWVqaTJ0/6uhiopbCwsHPe5l0bhBsAgOUYY5Sfn6/CwkJfFwV1EBISopSUFIWFhdXrfQg3AADLqQg28fHxioyMZNDWAFAxyG5eXp7atGlTr++McAMAsJSysjJHsGnRooWvi4M6iIuL048//qhTp06pYcOGLr8PHYoBAJZS0ccmMjLSxyVBXVU0R5WVldXrfQg3AABLoikq8LjrOyPcAAAASyHcAAAAr9iwYYNsNpvH72LzabhJT09X//79FRUVpfj4eI0ePVp79+6t8TXLly+XzWZz+mvUqJGXSlyzPHuJtmQVKM9e4uuiAACC0Pz589WrVy9fF8PnfHq31MaNGzVt2jT1799fp06d0l133aVLL71UX3zxhRo3blzt66Kjo51CkD+0q67cnqO5q/ao3EghNil9TA+N7d/G18UCAKCSkydP1utuJH/n05qbDz74QBMnTlS3bt2Umpqq5cuXKycnR59++mmNr7PZbEpMTHT8JSQkeKnEVcuzlziCjSSVG+muVZnU4AAA6qS8vFzp6elKSUlRRESEUlNT9dprr0n6X5PO2rVr1a9fP0VGRmrgwIGOi/3ly5drwYIF2r17t6NlY/ny5ZJOnzeXLFmiK664Qo0bN9YDDzxQYzkqPuvDDz9U7969FRERoV/84hc6ePCg3n//fXXp0kXR0dG69tprVVxc7HhdaWmpbr31VsXHx6tRo0a66KKLtH37ds9srBr4VZ8bu90uSWrevHmNyx09elRt27ZV69at9etf/1qff/55tcuWlpaqqKjI6c/dsguOOYJNhTJjtL+guOoXAAAChje7HKSnp+uFF17Q0qVL9fnnn+u2227T9ddfr40bNzqWufvuu/XII49ox44datCggW688UZJ0tixY3X77berW7duysvLU15ensaOHet43fz583XllVdqz549jtecy/z58/W3v/1NW7ZsUW5urq6++motXrxYL7/8st5991199NFHeuKJJxzL//GPf9Trr7+u559/Xjt37lSHDh00YsQIHT582E1bqHb8ZhC/8vJyzZw5U4MGDVL37t2rXa5Tp0569tln1bNnT9ntdv3lL3/RwIED9fnnn+u8886rtHx6eroWLFjgyaIrJbaxQmxyCjihNpuSYxljAQACmTe7HJSWlurBBx/Uv//9b6WlpUmS2rVrp82bN+upp57S7373O0nSAw88oCFDhkiS5syZo1GjRun48eOKiIhQkyZN1KBBAyUmJlZ6/2uvvVaTJk2q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WArhBgAAWArhBgAAWArhBgAAWEpQh5slS5aoZ8+ejoGG0tLS9P777zvmHz9+XNOmTVOLFi3UpEkTXXXVVTpw4IDTe+Tk5GjUqFGKjIxUfHy87rzzTp06dcrbq+I2ixYtks1m08yZMx3TgmE7zJ8/Xzabzemvc+fOjvnBsA0q/PDDD7r++uvVokULRUREqEePHtqxY4djvjFG9957r5KSkhQREaHhw4frm2++cXqPw4cP67rrrlN0dLSaNm2qyZMn6+jRo95eFZclJydX2h9sNpumTZsmKTj2h7KyMt1zzz1KSUlRRESE2rdvr4ULFzo91ycY9gXp9HD/M2fOVNu2bRUREaGBAwdq+/btjvlW3A6bNm3S5ZdfrpYtW8pms2n16tVO8921zp999pkuvvhiNWrUSK1bt9af//xn96yACWJvvfWWeffdd83XX39t9u7da+666y7TsGFDk5mZaYwx5qabbjKtW7c2a9euNTt27DAXXnihGThwoOP1p06dMt27dzfDhw83u3btMu+9956JjY01c+fO9dUq1ct///tfk5ycbHr27GlmzJjhmB4M22HevHmmW7duJi8vz/F36NAhx/xg2AbGGHP48GHTtm1bM3HiRLNt2zbz7bffmg8//NDs27fPscyiRYtMTEyMWb16tdm9e7e54oorTEpKiikpKXEsc9lll5nU1FTzySefmP/85z+mQ4cOZty4cb5YJZccPHjQaV9Ys2aNkWTWr19vjAmO/eGBBx4wLVq0MO+8847Jzs42r776qmnSpIl5/PHHHcsEw75gjDFXX3216dq1q9m4caP55ptvzLx580x0dLT5/vvvjTHW3A7vvfeeufvuu82qVauMJPPGG284zXfHOtvtdpOQkGCuu+46k5mZaV555RUTERFhnnrqqXqXP6jDTVWaNWtmnnnmGVNYWGgaNmxoXn31Vce8L7/80kgyW7duNcac/vJDQkJMfn6+Y5klS5aY6OhoU1pa6vWy18eRI0fM+eefb9asWWOGDBniCDfBsh3mzZtnUlNTq5wXLNvAGGNmz55tLrroomrnl5eXm8TERPPwww87phUWFprw8HDzyiuvGGOM+eKLL4wks337dscy77//vrHZbOaHH37wXOE9aMaMGaZ9+/amvLw8aPaHUaNGmRtvvNFp2pgxY8x1111njAmefaG4uNiEhoaad955x2l6nz59zN133x0U2+HscOOudf773/9umjVr5vSbmD17tunUqVO9yxzUzVJnKisr04oVK3Ts2DGlpaXp008/1cmTJzV8+HDHMp07d1abNm20detWSdLWrVvVo0cPJSQkOJYZMWKEioqK9Pnnn3t9Hepj2rRpGjVqlNP6Sgqq7fDNN9+oZcuWateuna677jrl5ORICq5t8NZbb6lfv3767W9/q/j4ePXu3VvLli1zzM/OzlZ+fr7TtoiJidEFF1zgtC2aNm2qfv36OZYZPny4QkJCtG3bNu+tjJucOHFCL730km688UbZbLag2R8GDhyotWvX6uuvv5Yk7d69W5s3b9bIkSMlBc++cOrUKZWVlalRo0ZO0yMiIrR58+ag2Q5nctc6b926VYMHD1ZYWJhjmREjRmjv3r36+eef61XGoHtw5tn27NmjtLQ0HT9+XE2aNNEbb7yhrl27KiMjQ2FhYWratKnT8gkJCcrPz5ck5efnOx28KuZXzAsUK1as0M6dO53akCvk5+cHxXa44IILtHz5cnXq1El5eXlasGCBLr74YmVmZgbNNpCkb7/9VkuWLNGsWbN01113afv27br11lsVFhamCRMmONalqnU9c1vEx8c7zW/QoIGaN28eUNuiwurVq1VYWKiJEydKCp7fxJw5c1RUVKTOnTsrNDRUZWVleuCBB3TddddJUtDsC1FRUUpLS9PChQvVpUsXJSQk6JVXXtHWrVvVoUOHoNkOZ3LXOufn5yslJaXSe1TMa9asmctlDPpw06lTJ2VkZMhut+u1117ThAkTtHHjRl8Xy2tyc3M1Y8YMrVmzptKVSTCpuBqVpJ49e+qCCy5Q27Zt9a9//UsRERE+LJl3lZeXq1+/fnrwwQclSb1791ZmZqaWLl2qCRMm+Lh0vvGPf/xDI0eOVMuWLX1dFK/617/+pX/+8596+eWX1a1bN2VkZGjmzJlq2bJl0O0LL774om688Ua1atVKoaGh6tOnj8aNG6dPP/3U10VDNYK+WSosLEwdOnRQ3759lZ6ertTUVD3++ONKTEzUiRMnVFhY6LT8gQMHlJiYKElKTEysdIdExf8rlvF3n376qQ4ePKg+ffqoQYMGatCggTZu3Ki//vWvatCggRISEoJiO5ytadOm6tixo/bt2xc0+4IkJSUlqWvXrk7TunTp4miiq1iXqtb1zG1x8OBBp/mnTp3S4cOHA2pbSNJ3332nf//735oyZYpjWrDsD3feeafmzJmja665Rj169NANN9yg2267Tenp6ZKCa19o3769Nm7cqKNHjyo3N1f//e9/dfLkSbVr1y6otkMFd62zJ38nQR9uzlZeXq7S0lL17dtXDRs21Nq1ax3z9u7dq5ycHKWlpUmS0tLStGfPHqcvcM2aNYqOjq50gvBXl1xyifbs2aOMjAzHX79+/XTdddc5/h0M2+FsR48eVVZWlpKSkoJmX5CkQYMGae/evU7Tvv76a7Vt21aSlJKSosTERKdtUVRUpG3btjlti8LCQqer2nXr1qm8vFwXXHCBF9bCfZ577jnFx8dr1KhRjmnBsj8UFxcrJMT5FBEaGqry8nJJwbcvSFLjxo2VlJSkn3/+WR9++KF+/etfB+V2cNc6p6WladOmTTp58qRjmTVr1qhTp071apKSFNy3gs+ZM8ds3LjRZGdnm88++8zMmTPH2Gw289FHHxljTt/u2aZNG7Nu3TqzY8cOk5aWZtLS0hyvr7jd89JLLzUZGRnmgw8+MHFxcQF1u2dVzrxbypjg2A6333672bBhg8nOzjYff/yxGT58uImNjTUHDx40xgTHNjDm9HAADRo0MA888ID55ptvzD//+U8TGRlpXnrpJccyixYtMk2bNjVvvvmm+eyzz8yvf/3rKm8B7d27t9m2bZvZvHmzOf/88/36tteqlJWVmTZt2pjZs2dXmhcM+8OECRNMq1atHLeCr1q1ysTGxpo//vGPjmWCZV/44IMPzPvvv2++/fZb89FHH5nU1FRzwQUXmBMnThhjrLkdjhw5Ynbt2mV27dplJJlHH33U7Nq1y3z33XfGGPesc2FhoUlISDA33HCDyczMNCtWrDCRkZHcCl5fN954o2nbtq0JCwszcXFx5pJLLnEEG2OMKSkpMbfccotp1qyZiYyMNFdeeaXJy8tzeo/9+/ebkSNHmoiICBMbG2tuv/12c/LkSW+viludHW6CYTuMHTvWJCUlmbCwMNOqVSszduxYp7FdgmEbVHj77bdN9+7dTXh4uOncubN5+umnneaXl5ebe+65xyQkJJjw8HBzySWXmL179zot89NPP5lx48aZJk2amOjoaDNp0iRz5MgRb65GvX344YdGUqV1MyY49oeioiIzY8YM06ZNG9OoUSPTrl07c/fddzvdthss+8LK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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# visualize with IDAES surrogate plotting tools\n", "surrogate_scatter2D(poly_surr, data_validation, filename=\"pysmo_poly_val_scatter2D.pdf\")\n", @@ -638,7 +259,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Now, the surrogate is trained and validated, we shall embed it in the property package, which is demonstrated in the [surrogate_embedding](./surrogate_embedding_doc.ipynb) file." + "Now, the surrogate is trained and validated, we shall embed it in the property package, which is demonstrated in the [surrogate_embedding](./surrogate_embedding_doc.md) file." ] } ], @@ -659,9 +280,8 @@ "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.6" - }, - "orig_nbformat": 4 + } }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/pysmo_training_test.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/pysmo_training_test.ipynb index ed528130..dbb53ba0 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/pysmo_training_test.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/pysmo_training_test.ipynb @@ -1,667 +1,287 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Supercritical CO2 Property Surrogate with PySMO Surrogate Object - Training Surrogate (Part 1)\n", - "Maintainer: Javal Vyas\n", - "\n", - "Author: Javal Vyas\n", - "\n", - "Updated: 2024-01-24\n", - "## 1. Introduction\n", - "This notebook illustrates the use of the PySMO Polynomial surrogate trainer to produce an ML surrogate based on supercritical CO2 data from simulation using REFPROP package. PySMO also has other training methods like Radial Basis Function and Kriging surrogate models, but we focus on Polynomial surrogate model. \n", - "\n", - "There are several reasons to build surrogate models for complex processes, even when higher fidelity models already exist (e.g., reduce model size, improve convergence reliability, replace models with externally compiled code and make them fully-equation oriented).\n", - "\n", - "In this example, we intend to make a surrogate for the physical properties of S-CO2 to be embedded in the property package. This property package will be used to get the physical properties of S-CO2 in the flowsheet simulation. To learn more about property package, see the [IDAES-PSE](https://github.com/IDAES/idaes-pse) Github Page or IDAES [Read-the-docs](https://idaes-pse.readthedocs.io/en/latest/). \n", - "\n", - "\n", - "### 1.1 Need for ML Surrogates\n", - "\n", - "The properties predicted by the surrogate are enthalpy and entropy of the S-CO2 based on the \n", - "pressure and temperature of the system. The analytical equation of getting the enthalpy and entropy from pressure and temperature are in the differential form and would make the problem a DAE system. To counter this problem and keep the problem algebraic, we will use the ML surrogates and relate enthalpy and entropy with the pressure and temperature as an algebraic equation.\n", - "\n", - "### 1.2 Supercritical CO2 cycle process\n", - "\n", - "The following flowsheet will be used to optimize the design for the cooling of the fusion reactor using supercritical CO2 cycle. We shall focus on training the surrogate for this notebook and move to constructing the flowsheet and the properties package in the subsequent notebooks. The take away from this flowsheet is that, 3 variables can be measured in any given unit which are flow, pressure and temperature and other properties can be calculated using them. Thus, surrogate should have pressure and temperature as the inputs.\n", - "\n", - "In this example, we will train the model using polynomial regression for our data and then demonstrate that we can solve an optimization problem with that surrogate model. " - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from IPython.display import Image\n", - "from pathlib import Path\n", - "\n", - "\n", - "def datafile_path(name):\n", - " return Path(\"..\") / name\n", - "\n", - "\n", - "Image(datafile_path(\"CO2_flowsheet.png\"))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2. Training and Validating Surrogate\n", - "\n", - "First, let's import the required Python and IDAES modules:" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "# Import statements\n", - "import os\n", - "import numpy as np\n", - "import pandas as pd\n", - "\n", - "# Import IDAES libraries\n", - "from idaes.core.surrogate.sampling.data_utils import split_training_validation\n", - "from idaes.core.surrogate.pysmo_surrogate import PysmoPolyTrainer, PysmoSurrogate\n", - "from idaes.core.surrogate.plotting.sm_plotter import (\n", - " surrogate_scatter2D,\n", - " surrogate_parity,\n", - " surrogate_residual,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.1 Importing Training and Validation Datasets\n", - "\n", - "In this section, we read the dataset from the CSV file located in this directory. 500 data points were simulated for S-CO2 physical properties using REFPROP package. This example is trained on the entire dataset because neural network can overfit on smaller dataset. The data is separated using an 80/20 split into training and validation data using the IDAES split_training_validation() method.\n", - "\n", - "We rename the column headers because they contained \".\", which may cause errors while reading the column names in subsequent code, thus as a good practice we change them to the variable names to be used in the property package. Further, the input variables are **pressure**, **temperature** , while the output variables are **enth_mol**, **entr_mol**, hence we create two new dataframes for the input and output variables. " - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "# Import training data\n", - "np.set_printoptions(precision=6, suppress=True)\n", - "\n", - "csv_data = pd.read_csv(datafile_path(\"500_Points_DataSet.csv\"))\n", - "csv_data.columns.values[0:6] = [\n", - " \"pressure\",\n", - " \"temperature\",\n", - " \"enth_mol\",\n", - " \"entr_mol\",\n", - " \"CO2_enthalpy\",\n", - " \"CO2_entropy\",\n", - "]\n", - "data = csv_data.sample(n=500)\n", - "\n", - "input_data = data.iloc[:, :2]\n", - "output_data = data.iloc[:, 2:4]\n", - "\n", - "# # Define labels, and split training and validation data\n", - "input_labels = list(input_data.columns)\n", - "output_labels = list(output_data.columns)\n", - "\n", - "n_data = data[input_labels[0]].size\n", - "data_training, data_validation = split_training_validation(data, 0.8, seed=n_data)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.2 Training Surrogates with PySMO\n", - "\n", - "IDAES builds a model class for each type of PySMO surrogate model. In this case, we will call and build the Polynomial Regression class. Regression settings can be directly passed as class arguments, as shown below. In this example, allowed basis terms span a 5th order polynomial, a variable product as well as a extra features are defined, and data is internally cross-validated using 10 iterations of 80/20 splits to ensure a robust surrogate fit. Note that PySMO uses cross-validation of training data to adjust model coefficients and ensure a more accurate fit, while we separate the validation dataset pre-training in order to visualize the surrogate fits.\n", - "\n", - "Finally, after training the model we save the results and model expressions to a folder which contains a serialized JSON file. Serializing the model in this fashion enables importing a previously trained set of surrogate models into external flowsheets. This feature will be used later." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; previous file will be overwritten.\n", - "\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "No iterations will be run.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "\n", - "Best surrogate model is of order 5 with a cross-val S.S. Error of 20466.657669\n", - "\n", - "------------------------------------------------------------\n", - "The final coefficients of the regression terms are: \n", - "\n", - "k | -534397.59515\n", - "(x_ 1 )^ 1 | -2733.579691\n", - "(x_ 2 )^ 1 | 1036.106357\n", - "(x_ 1 )^ 2 | 32.409203\n", - "(x_ 2 )^ 2 | -2.852387\n", - "(x_ 1 )^ 3 | 0.893563\n", - "(x_ 2 )^ 3 | 0.004018\n", - "(x_ 1 )^ 4 | -0.045284\n", - "(x_ 2 )^ 4 | -3e-06\n", - "(x_ 1 )^ 5 | 0.000564\n", - "(x_ 2 )^ 5 | 0.0\n", - "x_ 1 .x_ 2 | 4.372684\n", - "\n", - "The coefficients of the extra terms in additional_regression_features are:\n", - "\n", - "Coeff. additional_regression_features[ 1 ]: -0.002723\n", - "Coeff. additional_regression_features[ 2 ]: 3.6e-05\n", - "Coeff. additional_regression_features[ 3 ]: -0.050607\n", - "Coeff. additional_regression_features[ 4 ]: 169668.814595\n", - "Coeff. additional_regression_features[ 5 ]: -44.726026\n", - "\n", - "Regression model performance on training data:\n", - "Order: 5 / MAE: 134.972465 / MSE: 54613.278159 / R^2: 0.999601\n", - "\n", - "Results saved in solution.pickle\n", - "2023-08-19 23:48:46 [INFO] idaes.core.surrogate.pysmo_surrogate: Model for output enth_mol trained successfully\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; previous file will be overwritten.\n", - "\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "No iterations will be run.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "\n", - "Best surrogate model is of order 5 with a cross-val S.S. Error of 0.156437\n", - "\n", - "------------------------------------------------------------\n", - "The final coefficients of the regression terms are: \n", - "\n", - "k | -519.862457\n", - "(x_ 1 )^ 1 | -8.820865\n", - "(x_ 2 )^ 1 | 3.676641\n", - "(x_ 1 )^ 2 | 0.18002\n", - "(x_ 2 )^ 2 | -0.010217\n", - "(x_ 1 )^ 3 | -0.000783\n", - "(x_ 2 )^ 3 | 1.4e-05\n", - "(x_ 1 )^ 4 | -6.9e-05\n", - "(x_ 2 )^ 4 | -0.0\n", - "(x_ 1 )^ 5 | 1e-06\n", - "(x_ 2 )^ 5 | 0.0\n", - "x_ 1 .x_ 2 | 0.010367\n", - "\n", - "The coefficients of the extra terms in additional_regression_features are:\n", - "\n", - "Coeff. additional_regression_features[ 1 ]: -7e-06\n", - "Coeff. additional_regression_features[ 2 ]: 0.0\n", - "Coeff. additional_regression_features[ 3 ]: -0.000112\n", - "Coeff. additional_regression_features[ 4 ]: 484.312223\n", - "Coeff. additional_regression_features[ 5 ]: -0.1166\n", - "\n", - "Regression model performance on training data:\n", - "Order: 5 / MAE: 0.398072 / MSE: 0.495330 / R^2: 0.998873\n", - "\n", - "Results saved in solution.pickle\n", - "2023-08-19 23:49:20 [INFO] idaes.core.surrogate.pysmo_surrogate: Model for output entr_mol trained successfully\n" - ] - } - ], - "source": [ - "# Create PySMO trainer object\n", - "trainer = PysmoPolyTrainer(\n", - " input_labels=input_labels,\n", - " output_labels=output_labels,\n", - " training_dataframe=data_training,\n", - ")\n", - "\n", - "var = output_labels\n", - "trainer.config.extra_features = [\n", - " \"pressure*temperature*temperature\",\n", - " \"pressure*pressure*temperature*temperature\",\n", - " \"pressure*pressure*temperature\",\n", - " \"pressure/temperature\",\n", - " \"temperature/pressure\",\n", - "]\n", - "# Set PySMO options\n", - "trainer.config.maximum_polynomial_order = 5\n", - "trainer.config.multinomials = True\n", - "trainer.config.training_split = 0.8\n", - "trainer.config.number_of_crossvalidations = 10\n", - "\n", - "# Train surrogate (calls PySMO through IDAES Python wrapper)\n", - "poly_train = trainer.train_surrogate()\n", - "\n", - "# create callable surrogate object\n", - "xmin, xmax = [7, 306], [40, 1000]\n", - "input_bounds = {input_labels[i]: (xmin[i], xmax[i]) for i in range(len(input_labels))}\n", - "poly_surr = PysmoSurrogate(poly_train, input_labels, output_labels, input_bounds)\n", - "# save model to JSON\n", - "model = poly_surr.save_to_file(\"pysmo_poly_surrogate.json\", overwrite=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.3 Visualizing surrogates\n", - "Now that the surrogate models have been trained, the models can be visualized through scatter, parity and residual plots to confirm their validity in the chosen domain. The training data will be visualized first to confirm the surrogates are fit the data, and then the validation data will be visualized to confirm the surrogates accurately predict new output values." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, + "cells": [ { - "data": { - "image/png": "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yvcswiciouaoQUPY4sWL8fLLL1c45ujRo9i5cycKCwvx2GOP1dOVNYzHHnsMCxYsUL4vKChAUFBQA16RmnmTVTl0xccvR16eJ7TaYpSUOCl3SV66dKnC2St7XfDj4uLQvXt3G88gIiJqXho0hD388MOYOXNmhWM6deqE7777DsnJyXByclId69+/P6ZOnYo1a9agXbt2OH/+vOq4/H27du2U/9oaY35cfszf31815pZbblHGXLhwQXWO0tJS5OXlVfo65q9hi5OTk9V7bEhZWRpkZATD0zMXAKw22966dSzi45fj8mVPq3AGbAYATJs2rVqv6ePjU6vvgYiIqLFq0BDm4+NTpV+6b7zxBp5//nnl+6ysLMTExGDdunWIjIwEAOj1ejz++OMoKSmBVqsFACQkJKBbt27K8p9er8euXbsQHx+vnCshIQF6vR4AEBISgnbt2mHXrl1K6CooKEBKSgruv/9+5Rz5+flITU1FREQEAOC7776D0Wis1rU0tMq637//PjBnji+MxhlKIb6tNhWZmYE2w5m83ZCLiwvmzZuH4uJi5Ofno7S01Oq1tFotdDodlx2JiKhlEU1QRkaGACAOHjyoPJafny/8/PzE9OnTRVpamli7dq1wcXER7777rjJm3759olWrVuLVV18VR48eFU8//bTQarXit99+U8a89NJLwsPDQ3z11Vfi8OHD4h//+IcICQkR169fV8aMGjVK9OvXT6SkpIi9e/eKLl26iClTplTrWqrCYDAIAMJgMNTgU7Jv1SohNBohANN/V61SH8/MLD8uf0lSmQDKrB6bNGm96jH5a8aMD8WSJUtEVlZWrV47ERFRY1fV39/NJoQJIcSvv/4qhgwZIpycnET79u3FSy+9ZPXc9evXi65duwpHR0fRs2dPsX37dtVxo9EonnzySeHn5yecnJzE7bffLo4fP64ak5ubK6ZMmSLatGkj3N3dxV133SUKCwurfS2VqYsQZitgOTiYHpd99511qAKEGDRo719hzBTAxo//Ssyf/5rymHk4mz//NYYwIiJqkar6+1sSQoiGnIkj+woKCqDT6WAwGODu7l4r59y9G7jtNtuP33qr6c/nzgEdOwJGsw4UkmTExImb4OFxGSUljqq7Gm0V7Mvd7ufMmaOqryMiImruqvr7u0m0qKDa06ULoNGoA5aDA9C5s+nPubm5cHAo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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj4AAAHHCAYAAAC/R1LgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAACH+klEQVR4nO2deXxTVd7/P+nK1qbQUtraQkthdJBFqYiFERCKwE9weECpC8oOOqAiDigP48K4IKCI4LgwIjgqCgJuODoURUelMooi4iADPEXAlqWBBqRCS3N/f2RuSNK7r+fefN+vFy9tcpOcnJx7zud8t+PhOI4DQRAEQRBEDBBndwMIgiAIgiCsgoQPQRAEQRAxAwkfgiAIgiBiBhI+BEEQBEHEDCR8CIIgCIKIGUj4EARBEAQRM5DwIQiCIAgiZiDhQxAEQRBEzEDChyAIgiCImIGED0EQBIOsXLkSHo8H+/fvt7spBOEqSPgQRIzy1VdfYdq0abj44ovRvHlztG3bFqNGjcJ//vOfRtf269cPHo8HHo8HcXFxSE1NxYUXXohbbrkFZWVlqj73vffeQ9++fZGZmYlmzZqhffv2GDVqFD788EOjvlojHnvsMbz99tuNHt+yZQseeugh1NTUmPbZ0Tz00EOhvvR4PGjWrBk6deqEP/3pTzh58qQhn7Fq1SosXrzYkPciCLdBwocgYpT58+dj3bp1GDBgAJ5++mlMnjwZ//znP9G9e3fs3Lmz0fW5ubl45ZVX8Le//Q0LFy7Etddeiy1btuDqq69GaWkp6uvrZT/ziSeewLXXXguPx4PZs2fjqaeewsiRI7Fnzx688cYbZnxNANLCZ+7cuZYKH57nnnsOr7zyChYtWoSLLroIjz76KAYPHgwjjk8k4UMQ4iTY3QCCIOxhxowZWLVqFZKSkkKPlZaWokuXLnj88cfx6quvRlzv9XoxevToiMcef/xx3HnnnXj22WeRn5+P+fPni37euXPn8PDDD2PgwIHYuHFjo+ePHj2q8xuxQ21tLZo1ayZ5zXXXXYeMjAwAwG233YaRI0di/fr1+PLLL1FcXGxFMwkiJiGLD0HEKL169YoQPQDQsWNHXHzxxdi1a5ei94iPj8eSJUvQqVMnPPPMM/D7/aLXVldX4+TJk+jdu7fg85mZmRF/nzlzBg899BB+85vfoEmTJsjOzsaIESOwb9++0DVPPPEEevXqhfT0dDRt2hRFRUVYu3ZtxPt4PB6cPn0aL7/8csi9NHbsWDz00EOYOXMmAKCgoCD0XHhMzauvvoqioiI0bdoUrVq1wg033ICDBw9GvH+/fv3QuXNnbNu2DX369EGzZs3wv//7v4r6L5z+/fsDACoqKiSve/bZZ3HxxRcjOTkZOTk5mDp1aoTFql+/fnj//ffx008/hb5Tfn6+6vYQhFshiw9BECE4jsORI0dw8cUXK35NfHw8brzxRtx///34/PPPcc011whel5mZiaZNm+K9997DHXfcgVatWom+Z0NDA4YOHYqPPvoIN9xwA+666y6cOnUKZWVl2LlzJwoLCwEATz/9NK699lrcfPPNqKurwxtvvIHrr78eGzZsCLXjlVdewcSJE3H55Zdj8uTJAIDCwkI0b94c//nPf/D666/jqaeeCllfWrduDQB49NFHcf/992PUqFGYOHEijh07hqVLl6JPnz749ttvkZaWFmqvz+fDkCFDcMMNN2D06NFo06aN4v7j4QVdenq66DUPPfQQ5s6di5KSEtx+++3YvXs3nnvuOXz11Vf44osvkJiYiDlz5sDv9+PQoUN46qmnAAAtWrRQ3R6CcC0cQRDEf3nllVc4ANzy5csjHu/bty938cUXi77urbfe4gBwTz/9tOT7P/DAAxwArnnz5tyQIUO4Rx99lNu2bVuj61566SUOALdo0aJGzwUCgdD/19bWRjxXV1fHde7cmevfv3/E482bN+fGjBnT6L0WLlzIAeAqKioiHt+/fz8XHx/PPfrooxGPf//991xCQkLE43379uUAcM8//7zo9w7nwQcf5ABwu3fv5o4dO8ZVVFRwL7zwApecnMy1adOGO336NMdxHLdixYqIth09epRLSkrirr76aq6hoSH0fs888wwHgHvppZdCj11zzTVcu3btFLWHIGINcnURBAEA+PHHHzF16lQUFxdjzJgxql7LWxROnToled3cuXOxatUqXHrppfjHP/6BOXPmoKioCN27d49wr61btw4ZGRm44447Gr2Hx+MJ/X/Tpk1D/3/ixAn4/X5ceeWV+Oabb1S1P5r169cjEAhg1KhRqK6uDv3LyspCx44dsXnz5ojrk5OTMW7cOFWfceGFF6J169YoKCjAlClT0KFDB7z//vuisUGbNm1CXV0dpk+fjri481P3pEmTkJqa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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "###############################################################################" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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PQAgCAH4+OPLkJKyF3Z7VYt1QOBSVzOx+i+4Of8gXHzxxRgyZAhWr14NwFUt+cUXX8TPP/+Mt956C19++SXuueceAMCIESOwaNEiREVFSVOVd911FwCgtrYWjzzyCH788Ud89NFH2LdvH2bNmtVs10FERK3PsWMxUtAjEoQAHDvWuYVG5NJmAp+FCxfi3HPPRWRkJLp27YrLL78cu3fvVhzz+++/Y968eYiJiUHHjh0xdepUHD58uIVG3Db0798f+/btAwDk5ORgzJgxSEpKwsUXX4xHH30Uubm5AFzLcHa7HTabDd27d0f37t3RsWNHAMD111+PiRMnonfv3jj//PPx4osvYt26dTh58mRLXRYREbWwzp0rYLMp80htNic6dz7WQiNyaTOBz9dff4158+bh22+/RV5eHmprazFu3DicOnVKOub222/Hxx9/jH/961/4+uuvUVpaiilTprTgqFs/QRCkpav8/Hxccskl6NGjByIjI3HttdeioqIC1dXVhufYsmULJk2ahJ49eyIyMhKjR48GABw4cKDJx09ERK2T3V6FSZPWSsGPmONjt1e16LjaTI7PZ599pvh52bJl6Nq1K7Zs2YJRo0bB4XBgyZIleO+993DxxRcDAJYuXYqzzjoL3377Lc4///yWGHart2vXLiQnJ2Pfvn247LLLcPPNN+Oxxx5D586d8c033yArKws1NTW6LTpOnTqF8ePHY/z48Xj33XfRpUsXHDhwAOPHj2cHeyIiPzds2A9ISdmLY8c6o3PnYy0e9ABtKPBRczgcAIDOnV1rhVu2bEFtbS0yMjKkY/r374+ePXuioKBAN/A5c+YMzpw5I/184sSJJhx16/Lll1/ip59+wu23344tW7bA6XTi2WeflZqvistcopCQELcWEr/88gsqKirwxBNPIDExEQDw/fffN88FEBFRq2e3V7WKgEfUJgMfp9OJnJwcjBw5EoMGDQIAHDp0CCEhIW51Zrp164ZDhw7pnmvhwoVYsGBBUw63VThz5gwOHTqk2M6+cOFCXHbZZbjuuuuwY8cO1NbWYvHixZg0aRI2bdqEV155RXGOpKQknDx5El988QWGDBmC8PBw9OzZEyEhIVi8eDFuuukm7NixA4888kgLXSURETUXeYmW0tIAFBcHITm5DiEh5bqfcTgicexYDDp3Zh0fj8ybNw87duzAN998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++yzlfj44xxFEKDVBTw4+AzMKg8D+ktqWsX3rOw4UxcXlL9mlq8zfvxAfPvtfrfjgAAIghPTpuUiMfGgpURvm82J4GBlEGa326WluLg4IDXVbahERF7xKvB55plnYLPZcN1116Gurg4AEBwcjJtvvhlPPPGETwcIAL/88gucTideffVV9OnTBzt27MCNN96IU6dO4ZlnngHgqiw9btw4ZGRk4JVXXsFPP/2E66+/HtHR0ZgzZ47Px0Ttl5jc+957YbjnHjucThsCAgQ89ZQDV199GtXV1abn0AsccnIWKbqGi7MlrqDH1T1cPVMi1ujRojfzoZVMLAiuKsdino9WkUGR2YzRt99+q3scEICICNc9Uleqdh+XAEEIwJIlN3jV3Z2IyFNeBT4hISF44YUXsHDhQhQVFQEAUlJSDKujNsaECRMwYcIE6efevXtj9+7dePnll6XA591330VNTQ3efPNNhISEYODAgdi2bRuee+45Bj5kmZjc63BEYtGiHKk7udNpw913R+G3396E3V6lWw1YrHljZanJfbbEFfRkZb2hKOpn1jVcvgtL3tcrJWUvBEF+pH5laTWrNYr0jistjcfbb18nLX+NGFEg1fvRSnI2qnpNRORLjWpSGh4ejrPPPttXY/GIw+FA586dpZ8LCgowatQoxdLX+PHj8eSTT+L48eOKHTZyZ86cwZkzZ6SfPelJRq2fp0tVYgBhFriEh4cbBiNWAge976ittb4F22gXliufxlplafWWd6v1cbSOy8jIR35+hmL5a/PmkSgoSJdmdWprQy2NjYjI17wKfH7//XcsXrwYGzZswJEjR+B0KndybN261SeD07N3714sXrxYmu0BgEOHDiE5OVlxXLdu3aT39AKfhQsXYsGCBU03WGoxS5YAc+YATicQEAC89hqQlWXts1ZnPPRYCRysfodRLRqtXVhiEGPl/EZb3q12gE9J2YupU1cBEJCYeFC37pB8Vqex95eIyFteBT5ZWVlYv349pk2bhvPOO8+0eame++67D08++aThMbt27VLsHvvtt98wYcIEXHHFFbjxxhu9+l65+++/H3fccYf084kTJ5CYmNjo85JveTJzU1FRgX376jBnTlc4neJSFTB3roBzzjmCpKQg0x1BRoGLwxGJTz89jXPOOYz4eFfQr5VrYxY4mAVHU6ZMQXx8vNt55Utb8gRl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+OMtMmajmR45sXJyeXm51FSUiIiIfK9NBD51dXW47bbb8PTTTyMrK0t6fcCAAdLv169fj507dyI/Px/dunXDOeecg0ceeQT33nsvHn744Vad9xIdHe02g6NXvBBQtrTg0hYREZF1bSLw2bp1K3777TcEBARg6NChOHToEM455xw8/fTTGDRoEACgoKAAZ599Nrp16yZ9bvz48bj55pvx888/Y+jQoZrnPnPmDM6cOSP9fOLEiaa9GANivo9Z8UL1rJCvmpISERG1d21iV9f//vc/AMDDDz+Mv/3tb1i7di06deqEiy66CMeOufpTHTp0SBH0AJB+PnTokO65Fy5cCLvdLv1KTExsoqswVlFRgRUrVlguXihndUmNiIjI37Vo4HPffffBZrMZ/vrll1/gdLq2dc+fPx9Tp05Famoqli5dCpvNhn/961+NGsP9998Ph8Mh/SopKfHFpelyOCJRXJzkFsiIwYtR53W9z1ZWVjbpmImIiNqLFl3quvPOOzFr1izDY3r37o2ysjIAypye0NBQ9O7dGwcOHAAAdO/eHf/9738Vnz18+LD0np7Q0FCEhoZ6M3yPmS1hAfqd10tL4/H229dpfjY3N1dKkGbODxERkb4WDXy6dOmCLl26mB6XmpqK0NBQ7N69GxdccAEAoLa2Fvv27UOvXr0AAOnp6Xjsscdw5MgRdO3aFQCQl5eHqKgoRcDUUvSWsFJS9iqO0+q8npGRj/z8DM3PionPubm50jmY80NERKStTSQ3R0VF4aabbsJDDz2ExMRE9OrVC08//TQA4IorrgAAjBs3DgMGDMC1116Lp556CocOHcLf/vY3zJs3r9lmdNTkO8mMlrBCQkJw5MgR6XV18UKjz2rV+WHODxERkbY2EfgAwNNPP42goCBce+21OH36NNLS0vDll1+iU6dOAIDAwECsXbsWN998M9LT0xEREYGZM2fi73//e4uNOSYmBtnZ2aipqUFpaQDeeUeA02mT3g8MFHDnnX8G4FTM2ADuxQu1lr86dz7W5NdARETUntgEQRBaehCtyYkTJ2C32+FwOBAVFeXTcy9ZAsydC9TXA4GBwKuvAllZQFlZGV577TXDz8rzg1ycGDs2H/HxZW61fubMmcPKzkRE5FesPr/bzIxPe5CVBQweDHzzDXDBBcC552ofp1W8MCVlL5QhagDy8sYCsOkmShMR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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Supercritical CO2 Property Surrogate with PySMO Surrogate Object - Training Surrogate (Part 1)\n", + "Maintainer: Javal Vyas\n", + "\n", + "Author: Javal Vyas\n", + "\n", + "Updated: 2024-01-24\n", + "## 1. Introduction\n", + "This notebook illustrates the use of the PySMO Polynomial surrogate trainer to produce an ML surrogate based on supercritical CO2 data from simulation using REFPROP package. PySMO also has other training methods like Radial Basis Function and Kriging surrogate models, but we focus on Polynomial surrogate model. \n", + "\n", + "There are several reasons to build surrogate models for complex processes, even when higher fidelity models already exist (e.g., reduce model size, improve convergence reliability, replace models with externally compiled code and make them fully-equation oriented).\n", + "\n", + "In this example, we intend to make a surrogate for the physical properties of S-CO2 to be embedded in the property package. This property package will be used to get the physical properties of S-CO2 in the flowsheet simulation. To learn more about property package, see the [IDAES-PSE](https://github.com/IDAES/idaes-pse) Github Page or IDAES [Read-the-docs](https://idaes-pse.readthedocs.io/en/latest/). \n", + "\n", + "\n", + "### 1.1 Need for ML Surrogates\n", + "\n", + "The properties predicted by the surrogate are enthalpy and entropy of the S-CO2 based on the \n", + "pressure and temperature of the system. The analytical equation of getting the enthalpy and entropy from pressure and temperature are in the differential form and would make the problem a DAE system. To counter this problem and keep the problem algebraic, we will use the ML surrogates and relate enthalpy and entropy with the pressure and temperature as an algebraic equation.\n", + "\n", + "### 1.2 Supercritical CO2 cycle process\n", + "\n", + "The following flowsheet will be used to optimize the design for the cooling of the fusion reactor using supercritical CO2 cycle. We shall focus on training the surrogate for this notebook and move to constructing the flowsheet and the properties package in the subsequent notebooks. The take away from this flowsheet is that, 3 variables can be measured in any given unit which are flow, pressure and temperature and other properties can be calculated using them. Thus, surrogate should have pressure and temperature as the inputs.\n", + "\n", + "In this example, we will train the model using polynomial regression for our data and then demonstrate that we can solve an optimization problem with that surrogate model. " ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import Image\n", + "from pathlib import Path\n", + "\n", + "\n", + "def datafile_path(name):\n", + " return Path(\"..\") / name\n", + "\n", + "\n", + "Image(datafile_path(\"CO2_flowsheet.png\"))" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Training and Validating Surrogate\n", + "\n", + "First, let's import the required Python and IDAES modules:" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAHHCAYAAABeLEexAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABo50lEQVR4nO3deXwTdf4/8FdaSGmhB6U3lLYUuaQU5LICBYSlVFYXwRVB5QYPDoVVAXdVQJdy7CrKIriooKsgXxUVQVxQrgUqdzmlP6iForTcTexBC838/igZcswkk6PNpHk9H48oTSYzn0wmM+/5fN6fz0cjCIIAIiIiIh/m5+kCEBEREXkaAyIiIiLyeQyIiIiIyOcxICIiIiKfx4CIiIiIfB4DIiIiIvJ5DIiIiIjI5zEgIiIiIp/HgIiIiIh8HgMiIvIas2fPhkajUbSsRqPB7Nmza7Q8ffr0QZ8+fVS7PiJSjgERETls1apV0Gg04qNevXpo2rQpRo8ejd9++83TxVOdxMREs/0VFRWFXr164auvvnLL+svKyjB79mxs377dLesj8kUMiIjIaXPnzsV//vMfLF++HJmZmfjkk0/Qu3dv3Lhxo0a297e//Q3l5eU1su6a1rFjR/znP//Bf/7zH7zwwgu4cOEChgwZguXLl7u87rKyMsyZM4cBEZEL6nm6AETkvTIzM9GlSxcAwPjx4xEREYEFCxZg/fr1ePTRR92+vXr16qFePe88bTVt2hRPPPGE+PfIkSPRsmVLvPXWW3j66ac9WDIiAlhDRERu1KtXLwBAXl6e2fOnTp3CI488gvDwcDRo0ABdunTB+vXrzZa5efMm5syZg7vuugsNGjRAkyZN0LNnT2zZskVcRiqHqKKiAtOmTUNkZCSCg4Px0EMP4ddff7Uq2+jRo5GYmGj1vNQ6V65cifvvvx9RUVEICAhAu3btsGzZMof2hT0xMTFo27Yt8vPzbS536dIljBs3DtHR0WjQoAFSU1Px0Ucfia+fPXsWkZGRAIA5c+aIzXI1nT9FVNd4560WEanS2bNnAQCNGzcWnztx4gR69OiBpk2bYubMmWjYsCH+7//+D4MHD8aXX36Jhx9+GEB1YJKVlYXx48ejW7du0Ov1OHDgAA4dOoQ//OEPstscP348PvnkE4wYMQL33Xcftm7dikGDBrn0OZYtW4a7774bDz30EOrVq4dvv/0Wzz77LAwGAyZNmuTSuo1u3ryJ8+fPo0mTJrLLlJeXo0+fPjhz5gwmT56MpKQkfP755xg9ejSKi4vx3HPPITIyEsuWLcMzzzyDhx9+GEOGDAEAdOjQwS3lJPIZAhGRg1auXCkAEH744Qfh8uXLwvnz54UvvvhCiIyMFAICAoTz58+Ly/br109ISUkRbty4IT5nMBiE++67T7jrrrvE51JTU4VBgwbZ3O5rr70mmJ62cnJyBADCs88+a7bciBEjBADCa6+9Jj43atQoISEhwe46BUEQysrKrJbLyMgQWrRoYfZc7969hd69e9sssyAIQkJCgjBgwADh8uXLwuXLl4UjR44Ijz32mABAmDJliuz6Fi9eLAAQPvnkE/G5yspKIS0tTWjUqJGg1+sFQRCEy5cvW31eInIMm8yIyGn9+/dHZGQk4uPj8cgjj6Bhw4ZYv349mjVrBgC4du0atm7dikcffRS///47rly5gitXruDq1avIyMjA6dOnxV5pYWFhOHHiBE6fPq14+9999x0AYOrUqWbPP//88y59rsDAQPHfOp0OV65cQe/evfHLL79Ap9M5tc7NmzcjMjISkZGRSE1Nxeeff44nn3wSCxYskH3Pd999h5iYGAwfPlx8rn79+pg6dSpKSkqwY8cOp8pCRNbYZEZETlu6dClatWoFnU6HDz/8EDt37kRAQID4+pkzZyAIAl555RW88sorkuu4dOkSmjZtirlz5+JPf/oTWrVqhfbt22PgwIF48sknbTb9nDt3Dn5+fkhOTjZ7vnXr1i59rt27d+O1115DdnY2ysrKzF7T6XQIDQ11eJ3du3fHG2+8AY1Gg6CgILRt2xZhYWE233Pu3Dncdddd8PMzv3dt27at+DoRuQcDIiJyWrdu3cReZoMHD0bPnj0xYsQI5ObmolGjRjAYDACAF154ARkZGZLraNmyJQAgPT0deXl5+Oabb7B582a8//77eOutt7B8+XKMHz/e5bLKDehYVVVl9ndeXh769euHNm3a4M0330R8fDy0Wi2+++47vPXWW+JnclRERAT69+/v1HuJqOYxICIit/D390dWVhb69u2Lf/3rX5g5cyZatGgBoLqZR0kwEB4ejjFjxmDMmDEoKSlBeno6Zs+eLRsQJSQkwGAwIC8vz6xWKDc312rZxo0bo7i42Op5y1qWb7/9FhUVFVi/fj2aN28uPr9t2za75Xe3hIQEHD16FAaDwayW6NSpU+LrgHywR0TKMYeIiNymT58+6NatGxYvXowbN24gKioKffr0wXvvvYfCwkKr5S9fviz+++rVq2avNWrUCC1btkRFRYXs9jIzMwEA77zzjtnzixcvtlo2OTkZOp0OR48eFZ8rLCy0Gi3a398fACAIgvicTqfDypUrZctRUx544AEUFRVh7dq14nO3bt3CkiVL0KhRI/Tu3RsAEBQUBACSAR8RKcMaIiJyqxdffBF//vOfsWrVKjz99NNYunQpevbsiZSUFEyYMAEtWrTAxYsXkZ2djV9//RVHjhwBALRr1w59+vRB586dER4ejgMHDuCLL77A5MmTZbfVsWNHDB8+HO+++y50Oh3uu+8+/Pjjjzhz5ozVso899hhmzJiBhx9+GFOnTkVZWRmWLVuGVq1a4dChQ+JyAwYMgFarxYMPPoinnnoKJSUlWLFiBaKioiSDupo0ceJEvPfeexg9ejQOHjyIxMREfPHFF9i9ezcWL16M4OBgANVJ4O3atcPatWvRqlUrhIeHo3379mjfvn2tlpfIq3m6mxsReR9jt/v9+/dbvVZVVSUkJycLycnJwq1btwRBEIS8vDxh5MiRQkxMjFC/fn2hadOmwh//+Efhiy++EN/3xhtvCN26dRPCwsKEwMBAoU2bNsLf//53obKyUlxGqot8eXm5MHXqVKFJkyZCw4YNhQcffFA4f/68ZDf0zZs3C+3btxe0Wq3QunVr4ZNPPpFc5/r164UOHToIDRo0EBITE4UFCxYIH374oQBAyM/PF5dzpNu9vSEF5NZ38eJFYcyYMUJERISg1WqFlJQUYeXKlVbv3bNnj9C5c2dBq9WyCz6REzSCYFIvTEREROSDmENEREREPo8BEREREfk8BkRERETk8xgQERERkc9jQEREREQ+jwERERER+TwOzKiQwWDAhQsXEBwczGHyiYiIvIQgCPj9998RFxdnNVGyKQZECl24cAHx8fGeLgYRERE54fz582jWrJns6wyIFDIOkX/+/HmEhIR4uDRERESkhF6vR3x8vHgdl8OASCFjM1lISAgDIiIiIi9jL92FSdVERETk8xgQERERkc9jQEREREQ+jzlERETk86qqqnDz5k1PF4OcUL9+ffj7+7u8HgZERETkswRBQFFREYqLiz1dFHJBWFgY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Sly+fBl+fn5mlR+O8pqA6MMPP8Tjjz9uNb7A9OnTxX936NABWq0WTz31FLKyslwadXPWrFlm69br9YiPj3d6fUREpC5+fn5ISkpCYWEhLly44OnikAuCgoLQvHlz+Pk53/DlFQHR//73P+Tm5mLt2rV2l+3evTtu3bqFs2fPonXr1oiJicHFixfNljH+LZd3BFRPkOeJYcyJiKj2aLVaNG/eHLdu3VLF3F7kOH9/f9SrV8/l2j2vCIg++OADdO7cGampqXaXzcnJgZ+fn5gJn5aWhr/+9a+4efOmOOPuli1b0Lp161ofFpyIiNTHOCO75azs5Fs8mlRdUlIijmEAQJxorqCgQFxGr9fj888/x/jx463en52djcWLF+PIkSP45Zdf8Omnn2LatGl44oknxGBnxIgR0Gq1GDduHE6cOIG1a9fi7bffNmsOIyIiIt/m0RqiAwcOoG/fvuLfxiBl1KhRWLVqFQDgs88+gyAIGD58uNX7AwIC8Nlnn2H27NmoqKhAUlISpk2bZhbshIaGYvPmzZg0aRI6d+6MiIgIvPrqq+xyT0RERCJO7qoQJ3clIiLyPpzclYiIiEghBkRERETk8xgQERERkc9jQEREREQ+jwERERER+TwGREREROTzGBARERGRz2NARERERD6PARERERH5PAZERERE5PMYEBEREZHPY0BEREREPo8BEREREfk8BkRERETk8xgQERERkc9jQEREREQ+jwERERER+TwGREREROTzGBARERGRz2NARERERD6PARERERH5PAZERERE5PMYEBEREZHPY0BEREREPo8BEREREfk8BkRERETk8xgQERERkc9jQEREREQ+jwERERER+TwGREREROTzGBARERGRz2NARERERD6PARERERH5PAZERERE5PMYEBEREZHP82hAtHPnTjz44IOIi4uDRqPB119/bfb66NGjodFozB4DBw40W+batWt4/PHHERISgrCwMIwbNw4lJSVmyxw9ehS9evVCgwYNEB8fj4ULF9b0RyMiIiIv4tGAqLS0FKmpqVi6dKnsMgMHDkRhYaH4WLNmjdnrjz/+OE6cOIEtW7Zgw4YN2LlzJyZOnCi+rtfrMWDAACQkJODgwYNYtGgRZs+ejX//+9819rmIiIjIu9Tz5MYzMzORmZlpc5mAgADExMRIvvbzzz/j+++/x/79+9Gl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Nm0annjiCTHYGTFiBObMmYNx48ZhxowZOH78ON5++2289dZbHvnMNY2TsxIRETlOIwiCYH+xmrF9+3b07dvX6vlRo0Zh9uzZSEpKknzftm3b0KdPHxw6dAjPPvssTp06hYqKCiQlJeHJJ5/E9OnTzZq7jh49ikmTJmH//v2IiIjAlClTMGPGDIfKqtfrERoaCp1OZ7fZjoiIiNRB6fXbowGRN2FARERE5H2UXr9VnUNEREREVBsYEBEREZHPY0BEREREPo8BEREREfk8BkRERETk8xgQERERkc9jQEREREQ+jwERERER+TwGREREROTzGBARERGRz2NARERERD6PARERERH5PAZERERE5PMYEBEREZHPY0BEREREPo8BEREREfk8BkRERETk8xgQERERkc9jQEREREQ+jwERERER+TwGREREROTzGBARERGRz2NARERERD6PARERERH5PAZERERE5PPqKV1Qr9crXmlISIhThSEiIiLyBMUBUVhYGDQajc1lBEGARqNBVVWVywUjIiIiqi2KA6Jt27bVZDmIiIiIPEZxQNS7d++aLAcRERGRxygOiCwVFxfjgw8+wM8//wwAuPvuuzF27FiEhoa6rXBEREREtcGpXmYHDhxAcnIy3nrrLVy7dg3Xrl3Dm2++ieTkZBw6dMjdZSQiIiKqURpBEARH39SrVy+0bNkSK1asQL161ZVMt27dwvjx4/HLL79g586dbi+op+n1eoSGhkKn07EXHRERkZdQev12KiAKDAzE4cOH0aZNG7PnT548iS5duqCsrMzxEqscAyIiIiLvo/T67VSTWUhICAoKCqyeP3/+PIKDg51ZJREREZHHOBUQDRs2DOPGjcPatWtx/vx5nD9/Hp999hnGjx+P4cOHu7uMRERERDXKqYDoH//4B4YMGYKRI0ciMTERiYmJGD16NB555BEsWLBA8Xp27tyJBx98EHFxcdBoNPj666/NXhcEAa+++ipiY2MRGBiI/v374/Tp02bLXLt2DY8//jhCQkIQFhaGcePGoaSkxGyZo0ePolevXmjQoAHi4+OxcOFCZz42ERER1VFOBURarRZvv/02rl+/jpycHOTk5ODatWt46623EBAQoHg9paWlSE1NxdKlSyVfX7hwId555x0sX74ce/fuRcOGDZGRkYEbN26Iyzz++OM4ceIEtmzZgg0bNmDn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6lTMnTsXubm5+P7775Geng4AKCwsxPDhwzF27Fj8/PPP2L59O4YMGQJHp3p0tExEpB6c3JWIVKdPnz64dOkSTpw4AY1GAwCYOXMm1q9fj5MnTyIxMRGdOnXCV199Jb5n/Pjx8Pf3x3vvvSc+t2vXLvTu3RulpaX47rvvMGbMGPz6668IDg42296hQ4fQuXNnnD17FgkJCZLl6dixIxYvXiw+N3jwYISFhWHVqlUA4FSZGjRo4NJ+IiL3YQ0REanSvffeKwZDAJCWlobTp0+jqqoKANClSxez5Y8cOYJVq1ahUaNG4iMjIwMGgwH5+fn4wx/+gISEBLRo0QJPPvkkPv30U5SVlQEAUlNT0a9fP6SkpODPf/4zVqxYgevXrztcZkfLRETqwYCIiLxSw4YNzf4uKSnBU089hZycHPFx5MgRnD59GsnJyQgODsahQ4ewZs0axMbG4tVXX0VqaiqKi4vh7++PLVu2YNOmTWjXrh2WLFmC1q1bi0GLn5+fVfPZzZs3XS4TEakHAyIiUqW9e/ea/f3TTz/hrrvugr+/v+Ty99xzD06ePImWLVtaPbRaLQCgXr166N+/PxYuXIijR4/i7Nmz2Lp1KwBAo9GgR48emDNnDg4fPgytVis2f0VGRqKwsFDcVlVVFY4fP273MygpExGpAwMiIlKlgoICTJ8+Hbm5uVizZg2WLFmC5557Tnb5GTNmYM+ePZg8eTJycnJw+vRpfPPNN2IC84YNG/DOO+8gJycH586dw8cffwyDwYDWrVtj7969mDdvHg4cOICCggKsW7cOly9fRtu2bQEA999/PzZu3IiNGzfi1KlTeOaZZ1BcXGz3M9grExGpRz1PF4CISMrIkSNRXl6Obt26wd/fH88995zYlV1Khw4dsGPHDvz1r39Fr169IAgCkpOTMWzYMABAWFgY1q1bh9mzZ+PGjRu46667sGbNGtx99934+eefsXPnTixevBh6vR4JCQn45z//iczMTADA2LFjceTIEYwcORL16tXDtGnT0LdvX7ufwV6ZiEg92MuMiFRHqlcXEVFNYpMZERER+TwGREREROTz2GRGREREPo81REREROTzGBARERGRz2NARERERD6PARERERH5PAZERERE5PMYEBEREZHPY0BEREREPo8BEREREfk8BkRERETk8/4/NXj9NDYxwzoAAAAASUVORK5CYII=", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# Import statements\n", + "import os\n", + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "# Import IDAES libraries\n", + "from idaes.core.surrogate.sampling.data_utils import split_training_validation\n", + "from idaes.core.surrogate.pysmo_surrogate import PysmoPolyTrainer, PysmoSurrogate\n", + "from idaes.core.surrogate.plotting.sm_plotter import (\n", + " surrogate_scatter2D,\n", + " surrogate_parity,\n", + " surrogate_residual,\n", + ")" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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H7Bp0ya/F1RNWVkZbDYb7HY7exoRERGFCG/u3z4FKlFRUdi1axcyMjJcXv/222/Rs2dPVFRUeLtKnzBQISIiCj3e3L99avqJi4vDkSNH3F4vLi5GbGysL6skIiIicuNToDJ69GhMnjwZK1euRHFxMYqLi/Hmm29iypQpGDNmjL/LSERERPWUT71+/va3v0EQBIwbNw6XL18GADRs2BD33Xcf5s6d69cCEhERUf3lU46KpKKiAoWFhQCA9PR0REdH+61gRjBHhYiIKPR4c//2eRwVAIiOjkZmZmZtVkFERESkyadA5cKFC1iwYAHWr1+PkydPwuFwuLzPsVSIiIjIH3wKVCZPnoxPP/0Ut99+O3r37u1xskIiIiIiX/gUqHzwwQf46KOP0LdvX3+Xh4iIiMjJp+7JrVu35ngpREREFHA+BSp///vfMWPGDPz444/+Lg8RERGRk09NPz179sSFCxfQrl07REdHo2HDhi7v//zzz34pHBEREdVvPgUqY8aMwbFjxzBnzhy0aNGCybREREQUED4FKvn5+diyZQuysrL8XR4iIiIiJ59yVDIyMlBZWenvshARERG58ClQmTt3Lv7v//4PGzZswOnTp1FWVubyR0REROQPPs31ExZWE98oc1NEUYQgCKiurvZP6TzgXD9EREShJ+Bz/axfv96nghERERF5w6dApX///oaWu//++/HUU0+hefPmvnwNERER1XM+5agY9cYbb+jmrCxatAhdu3ZFXFwc4uLi0KdPH6xduzaQRSIiIqIQEtBAxVP6S5s2bTB37lzs2LED27dvxw033IDbbrsN33zzTSCLRURERCHCp6Yff7nllltc/v3MM89g0aJF+Oqrr3D11VebVCoiIiKyClMDFbnq6mq89dZbKC8vR58+fcwuDhEREVmA6YHK3r170adPH1y4cAGNGzfG6tWr0blzZ9Vlq6qqUFVV5fw3x2whIiKq2wKao2JEp06dUFBQgK1bt+K+++7D+PHj8e2336oum5eXB5vN5vxLTk4OcmmJiIgomLwOVC5fvoynnnoKR48e9bjs73//e48DuURERKB9+/bo0aMH8vLykJWVheeff1512ZkzZ8Jutzv/iouLvS0+ERERhRCvA5UGDRrgr3/9Ky5fvuxx2UWLFnk9horD4XBp3pGLjIx0dmWW/oiIiKju8ilH5YYbbsDGjRuR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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.1 Importing Training and Validation Datasets\n", + "\n", + "In this section, we read the dataset from the CSV file located in this directory. 500 data points were simulated for S-CO2 physical properties using REFPROP package. This example is trained on the entire dataset because neural network can overfit on smaller dataset. The data is separated using an 80/20 split into training and validation data using the IDAES split_training_validation() method.\n", + "\n", + "We rename the column headers because they contained \".\", which may cause errors while reading the column names in subsequent code, thus as a good practice we change them to the variable names to be used in the property package. Further, the input variables are **pressure**, **temperature** , while the output variables are **enth_mol**, **entr_mol**, hence we create two new dataframes for the input and output variables. " ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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fRejR482Gl9gzpw50v87d+4MjUaDRx55BCkpKbUadXPBggV62y4uLkZkZKTd2yMiIveiVqsRExODvLw8XLhwwdXFoVrw9fVFy5YtoVbb3/DlEQHRd999h6ysLGzYsMHiuj179kRlZSXOnTuHtm3bIiwsDBcvXtRbR/u3qbwjoGaCPFcMY05ERHVHo9GgZcuWqKysdIu5vch2Xl5eaNCgQa1r9zwiIHrnnXfQrVs3xMfHW1w3IyMDarVayoRPSEjAs88+i5s3b0oz7u7YsQNt27at82HBiYjI/WhnZDeclZ2UxaVJ1SUlJdIYBgCkieZyc3OldYqLi/HJJ59g8uTJRq9PS0vDihUrcOLECfzyyy/48MMPMXv2bDz88MNSsDNq1ChoNBpMmjQJp0+fxoYNG7By5Uq95jAiIiJSNpfWEB05cgT9+/eX/tYGKePGjcO6desAAOvXr4cQAiNHjjR6vbe3N9avX49FixahvLwcMTExmD17tl6wExAQgO3bt2PatGno1q0bgoKC8Nxzz7HLPREREUk4uauVOLkrERGR5+HkrkRERERWYkBEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBTPpQHRvn37cM899yAiIgIqlQqbNm3SWz5+/HioVCq9x+DBg/XWuXLlCkaPHg1/f38EBgZi0qRJKCkp0VsnMzMTffr0QaNGjRAZGYlly5Y5e9eIiIjIg7g0ILp+/Tri4+PxxhtvmFxn8ODByMvLkx4ff/yx3vLRo0fj9OnT2LFjB7Zs2YJ9+/Zh6tSp0vLi4mIMGjQIUVFROHr0KJYvX45FixbhP//5j9P2i4iIiDxLA1e+eXJyMpKTk82u4+3tjbCwMNllP/74I77++mukp6eje/fuAIDXX38dd999N/7v//4PERER+PDDD1FR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8eLFmDRpEubNm4dTp05h5cqVePXVV12yz67GSV+JiIiMqYQQwvJqzrFnzx7079/f6Plx48Zh0aJFiImJkX3d7t270a9fPxw7dgyPP/44fvrpJ5SXlyMmJgZjxozBnDlz9Jq7MjMzMW3aNKSnpyMoKAgzZszAvHnzbCprcXExAgICUFRUZLHZjoiIiNyDtfdvlwZEnoQBERERkeex9v7t1jlERERERHWBAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSvgbUrFhcXW71Rf39/uwpDRERE5ApWB0SBgYFQqVRm1xFCQKVSoaqqqtYFIyIiIqorVgdEu3fvdmY5iIiIiFzG6oCob9++ziwHERERkctYHRAZKiwsxDvvvIMff/wRANCxY0dMnDgRAQEBDiscERERUV2wq5fZkSNHEBsbi1dffRVXrlzBlStX8MorryA2NhbHjh1zdBmJiIiInEolhBC2vqhPnz5o3bo11qxZgwYNaiqZKisrMXnyZPzyyy/Yt2+fwwvqasXFxQgICEBRURF70REREXkIa+/fdgVEPj4+OH78ONq1a6f3/A8//IDu3bujtLTU9hK7OQZEREREnsfa+7ddTWb+/v7Izc01ev78+fPw8/OzZ5NERERELmNXQDRixAhMmjQJGzZswPnz53H+/HmsX78ekydPxsiRIx1dRiIiIiKnsisg+r//+z8MGzYMY8eORXR0NKKjozF+/Hg88MADWLp0qdXb2bdvH+655x5ERERApVJh06ZNesuFEHjuuecQHh4OHx8fDBw4EGfOnNFb58qVKxg9ejT8/f0RGBiISZMmoaSkRG+dzMxM9OnTB40aNUJkZCSWLVtmz24TERFRPWVXQKTRaLBy5UpcvXoVGRkZyMjIwJUrV/Dqq6/C29vb6u1cv34d8fHxeOONN2SXL1u2DK+99hpWr16NQ4cOoXHjxkhKSsKNGzekdUaPHo3Tp09jx44d2LJlC/bt24epU6dKy4uLizFo0CBERUXh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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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tWudlt/bWrdujd27d8NsNlvVquzbt095HdAOwojIdcxRIaoD+vfvj+7du+Pll1/GhQsXEBsbi/79++PNN99EUVGR3fqnTp1S/v+PP/6weq1BgwZo27YtKioqND8vKysLAPDqq69aLX/55Zft1k1JSYHJZMLu3buVZUVFRXajwwYHBwMAhBDKMpPJhEWLFmmWw1f+9Kc/4cSJE1i6dKmy7NKlS3jttdfQoEED9OvXDwAQEREBAKqBGBG5hjUqRHXEE088gb/85S9YvHgx7rvvPrz++uvo3bs30tLScM8996BNmzb4/fffsWXLFvz222/YtWsXAKBjx47o378/unbtiiZNmmDbtm345JNP8OCDD2p+1tVXX41Ro0bhjTfegMlkQs+ePfHtt9/i4MGDduvecccdmDZtGoYPH44pU6agrKwM8+fPR7t27bBjxw5lvZtuugmhoaG45ZZb8Ne//hXnzp3DwoULERsbqxps+dK9996LN998E+PGjcP27duRlJSETz75BJs2bcLLL7+Mhg0bAqhO/u3YsSOWLl2Kdu3aoUmTJujcuTM6d+7s1/ISBTS9ux0RkffI3ZNzc3PtXquqqhIpKSkiJSVFXLp0SQghRH5+vrj77rtFixYtRL169UTLli3FzTffLD755BPlfc8995zo3r27aNSokQgPDxepqani+eefF5WVlco6al2Jy8vLxZQpU0TTpk1FZGSkuOWWW0RhYaFqd91vvvlGdO7cWYSGhor27duL999/X3WbK1asEOnp6aJ+/foiKSlJzJs3T7zzzjsCgCgoKFDWc6d7srOu11rb+/3338X48eNFs2bNRGhoqEhLSxOLFi2ye+/mzZtF165dRWhoKLsqE3lAEsKiHpWIiIjIQJijQkRERIbFQIWIiIgMi4EKERERGRYDFSIiIjIsBipERERkWAxUiIiIyLACesA3s9mM48ePo2HDhhyqmoiIKEAIIXD27FnEx8fbTe5pK6ADlePHjyMhIUHvYhAREZEHCgsL0apVK4frBHSgIg9TXVhYiKioKJ1LQ0RERK4oLS1FQkKCch93JKADFbm5JyoqioEKERFRgHElbYPJtERERGRYDFSIiIjIsBioEBERkWEFdI4KERHVHVVVVbh48aLexSAXhYaGOu167AoGKkREZGhCCJw4cQIlJSV6F4XcEBQUhOTkZISGhtZoOwxU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ERkWAxUiIiIyLAYqREREZFgMVIiIiMiwGKgQERGRYTFQISIiIsNioEJERESGxUCFiIiIDIuBChERERkWAxUiIiIyLAYqREREZFgMVIiIiMiwGKgQERGRYTFQISIiIsNioEJERESGxUCFiIiIDIuBChERERkWAxUiIiIyLAYqREREZFgMVIiIiMiwGKgQERGRYTFQISIiIsNioEJERESGxUCFiIiIDIuBChERERkWAxUiIiIyLAYqREREZFgMVIiIiMiwGKgQERGRYTFQISIiIsNioEJERESGxUCFiIiIDIuBChERERkWAxUiIiIyLAYqREREZFgMVIiIiMiwGKgQERGRYTFQISIiIsPSNVCZNWsWJEmy+peamqpnkYiIiMhAQvQuQKdOnfC///1P+TskRPciERERkUHoHhWEhISgRYsWeheDiIiIDEj3HJUDBw4gPj4ebdq0wejRo3H06FHNdSsqKlBaWmr1j4iIiGovXQOVHj16YPHixfjqq68wf/58FBQUoE+fPjh79qzq+jk5OYiOjlb+JSQk+LnERERE5E+SEELoXQhZSUkJWrdujRdffBETJ060e72iogIVFRXK36WlpUhISIDJZEJUVJQ/i0pEREQeKi0tRXR0tEv3b91zVCw1atQI7dq1w8GDB1VfDwsLQ1hYmJ9LRURERHrRPUfF0rlz55Cfn4+4uDi9i0JEREQGoGug8vjjj2P9+vU4fPgwNm/ejOHDhyM4OBijRo3Ss1hERERkELo2/fz2228YNWoU/vjjD8TExKB379744YcfEBMTo2exiIiIyCB0DVSWLFmi58cTERGRwRkqR4WIiIjIEgMVIiIiMiwGKkRERGRYDFSIiIjIsBioEBERkWExUCEiIiLDYqBCREREhsVAhYiIiAyLgQoREREZFgMVIiIiMiwGKkRERGRYDFSIiIjIsBioEBERkWExUCEiIiLDYqBCREREhsVAhYiIiAyLgQoREREZFgMVIiIiMiwGKkRERGRYDFSIiIjIsBioEBERkWExUCEiIiLDYqBCREREhsVAhYiIiAyLgQoREREZFgMVIiIiMiwGKkRERGRYDFSIiIjIsBioEBERkWExUCEiIiLDYqBCREREhsVAhYiIiAyLgQoREREZFgMVIiIiMiwGKkRERGRYDFSIiIjIsBioEBERkWExUNFZkakcm/OLUWQq17soREREhhOidwHqsqW5RzF92R6YBRAkATkj0jDy2kS9i0VERGQYrFHRSZGpXAlSAMAsgKeW7WXNChERkQUGKjopKD6vBCmyKiFwuLhMnwIREREZEAMVnSQ3i0SQZL0sWJKQ1CxCnwIREREZEAMVP5OTZ4HqnJRgqTpaCZYkzBnRGXHR4XoWj4iIyFCYTOtHasmzG7MH4HBxGZKaRTBIISIismGoGpW5c+dCkiRMnTpV76J4nVbyLABkpjRlkEJERKTCMIFKbm4u3nzzTaSnp+tdFJ9g8iwREZH7DBGonDt3DqNHj8bChQvRuHFjvYvjE0yeJSIicp8hApXJkydjyJAhGDhwoN5F8Zm46HAmzxIREblJ92TaJUuWYMeOHcjNzXW6bkVFBSoqKpS/S0tLfVk0rxt5bSL6toth8iwREZGLdA1UCgsL8fDDD2PNmjWoX7++0/VzcnIwe/ZsP5TMd+KiwxmgEBERuUgSQgjnq/nG8uXLMXz4cAQHByvLqqqqIEkSgoKCUFFRYfWaWo1KQkICTCYToqKi/Fp2IiIi8kxpaSmio6Ndun/rWqNyww03YM+ePVbLxo8fj9TUVEybNs0qSAGAsLAwhIWF+bOIREREpCNdA5WGDRuic+fOVssiIyPRtGlTu+VERERU9xii1w9Vk4fX5wzKRERE1XTv9WNr3bp1ehdBF2rD64+8NlHvYhEREemKNSoGoDW8PmtWiIiormOgYgAcXp+IiEgdAxUD4PD6RERE6hioGACH1yciIlJnuGTauorD6xMREdljoGIgHF6fiIjIGpt+iIiIyLAYqBAREZFhMVAhIiIiw2KgQkRERIbFQIWIiIgMi4EKERERGRYDFSIiIjIsBipERERkWAxUiIiIyLAYqBAREZFhMVAhIiIiw2KgQkRERIbl8qSEpaWlLm80KirKo8IQERERWXI5UGnUqBEkSXK4jhACkiShqqqqxgUjIiIicjlQWbt2rS/LQURERGTH5UClX79+viwHERERkR2XAxVbJSUlePvtt/HLL78AADp16oQJEyYgOjraa4UjIiKius2jXj/btm1DSkoKXnrpJZw+fRqnT5/Giy++iJSUFOzYscPbZSQiIqI6ShJCCHff1KdPH7Rt2xYLFy5ESEh1pcylS5cwadIkHDp0CBs2bPB6QdWUlpYiOjoaJpOJPY2IiIgChDv3b48ClfDwcOzcuROpqalWy3/++Wd069YNZWVl7m7SIwxUiIiIAo8792+Pmn6ioqJw9OhRu+WFhYVo2LChJ5skIiIisuNRoDJy5EhMnDgRS5cuRWFhIQoLC7FkyRJMmjQJo0aN8nYZiYiIqI7yqNfP//3f/0GSJNx99924dOkSAKBevXq4//77MXfuXK8WkIiIiOouj3JUZGVlZcjPzwcApKSkICIiwmsFcwVzVIiIiAKPO/dvj8dRAYCIiAikpaXVZBNEREREmjwKVC5cuIDXXnsNa9euxcmTJ2E2m61e51gqRERE5A0eBSoTJ07EN998gz//+c/o3r2708kKiYiIiDzhUaDy5ZdfYtWqVejVq5e3y0NERESk8Kh7csuWLTleChEREfmcR4HKCy+8gGnTpuHIkSPeLg8RERGRwqOmn27duuHChQto06YNIiIiUK9ePavXT58+7ZXCERERUd3mUaAyatQoHDt2DHPmzEHz5s2ZTEtEREQ+4VGgsnnzZmzZsgUZGRneLg8RERGRwqMcldTUVJSXl3u7LERERERWPApU5s6di8ceewzr1q3DH3/8gdLSUqt/RERERN7g0Vw/QUHV8Y1tbooQApIkoaqqyjulc4Jz/RAREQUen8/1s3btWo8KRkREROQOjwKVfv36ubTeAw88gGeeeQbNmjXz5GOIiIiojvMoR8VV77//vsOclfnz5yM9PR1RUVGIiopCZmYmVq9e7csiERERUQDxaaDiLP2lVatWmDt3LrZv345t27bh+uuvx6233oqffvrJl8UiIiKiAOFR04+33HLLLVZ/P//885g/fz5++OEHdOrUSadSERERkVHoGqhYqqqqwscff4zz588jMzNT7+IQERGRAegeqOzZsweZmZm4cOECGjRogM8++wwdO3ZUXbeiogIVFRXK3xyzhYiIqHbzaY6KK9q3b4+8vDxs3boV999/P8aOHYuff/5Zdd2cnBxER0cr/xISEvxcWiIiIvIntwOVS5cu4ZlnnsFvv/3mdN277rrL6UAuoaGhaNu2Lbp27YqcnBxkZGTglVdeUV13+vTpMJlMyr/CwkJ3i09EREQBxO1AJSQkBP/85z9x6dIlp+vOnz/f7TFUzGazVfOOpbCwMKUrs/yPiIiIai+PclSuv/56rF+/HklJSTX68OnTpyMrKwuJiYk4e/YsPvjgA6xbtw5ff/11jbZL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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# visualize with IDAES surrogate plotting tools\n", - "surrogate_scatter2D(poly_surr, data_training, filename=\"pysmo_poly_train_scatter2D.pdf\")\n", - "surrogate_parity(poly_surr, data_training, filename=\"pysmo_poly_train_parity.pdf\")\n", - "surrogate_residual(poly_surr, data_training, filename=\"pysmo_poly_train_residual.pdf\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.4 Model Validation\n", - "\n", - "We check the fit on the validation set to see if the surrogate is fitting well. This step can be used to check for overfitting on the training set." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# Import training data\n", + "np.set_printoptions(precision=6, suppress=True)\n", + "\n", + "csv_data = pd.read_csv(datafile_path(\"500_Points_DataSet.csv\"))\n", + "csv_data.columns.values[0:6] = [\n", + " \"pressure\",\n", + " \"temperature\",\n", + " \"enth_mol\",\n", + " \"entr_mol\",\n", + " \"CO2_enthalpy\",\n", + " \"CO2_entropy\",\n", + "]\n", + "data = csv_data.sample(n=500)\n", + "\n", + "input_data = data.iloc[:, :2]\n", + "output_data = data.iloc[:, 2:4]\n", + "\n", + "# # Define labels, and split training and validation data\n", + "input_labels = list(input_data.columns)\n", + "output_labels = list(output_data.columns)\n", + "\n", + "n_data = data[input_labels[0]].size\n", + "data_training, data_validation = split_training_validation(data, 0.8, seed=n_data)" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.2 Training Surrogates with PySMO\n", + "\n", + "IDAES builds a model class for each type of PySMO surrogate model. In this case, we will call and build the Polynomial Regression class. Regression settings can be directly passed as class arguments, as shown below. In this example, allowed basis terms span a 5th order polynomial, a variable product as well as a extra features are defined, and data is internally cross-validated using 10 iterations of 80/20 splits to ensure a robust surrogate fit. Note that PySMO uses cross-validation of training data to adjust model coefficients and ensure a more accurate fit, while we separate the validation dataset pre-training in order to visualize the surrogate fits.\n", + "\n", + "Finally, after training the model we save the results and model expressions to a folder which contains a serialized JSON file. Serializing the model in this fashion enables importing a previously trained set of surrogate models into external flowsheets. This feature will be used later." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj4AAAHHCAYAAAC/R1LgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABPs0lEQVR4nO3deVxU9f4/8NewigijLLIEAgJXr6ZeQTOy1NQCv2r508rylmuaBprZdcubaYtLqbllVtelvFreUuuqWVqZZZqVSupNSbyQG7gMOaAmIHN+f3BnYoAZZjtzttfz8eChzBxmPjMM57zO5/P+fI5OEAQBRERERBrgI3UDiIiIiLyFwYeIiIg0g8GHiIiINIPBh4iIiDSDwYeIiIg0g8GHiIiINIPBh4iIiDSDwYeIiIg0g8GHiIiINIPBh4hIhtauXQudTofCwkKpm0KkKgw+RBr1ww8/ICcnB23btkVwcDBatGiBhx56CL/88kudbXv06AGdTgedTgcfHx+EhoaiVatWeOyxx7Br1y6nnnfr1q3o3r07mjdvjsaNG6Nly5Z46KGH8Omnn3rqpdUxZ84cfPTRR3Vu37dvH2bNmoUrV66I9ty1zZo1y/Je6nQ6NG7cGG3atMHf//53lJaWeuQ5NmzYgMWLF3vksYjUhsGHSKPmz5+PTZs2oVevXliyZAnGjBmDr7/+GmlpaTh27Fid7ePi4rBu3Tq8++67ePXVV3Hfffdh3759uPfeezF48GBUVlY2+JwLFizAfffdB51Oh+nTp+O1117DoEGDcPLkSbz//vtivEwA9oPP7NmzvRp8zN544w2sW7cOixYtQuvWrfHyyy8jKysLnrh8IoMPkW1+UjeAiKQxadIkbNiwAQEBAZbbBg8ejHbt2mHevHn45z//abW9Xq/Ho48+anXbvHnzMGHCBKxYsQKJiYmYP3++zee7efMmXnzxRdxzzz3YuXNnnfsvXrzo5iuSj+vXr6Nx48Z2t3nggQcQEREBABg7diwGDRqEzZs347vvvkNGRoY3mkmkSezxIdKoO+64wyr0AEBqairatm2L48ePO/QYvr6+WLp0Kdq0aYPly5fDaDTa3Pby5csoLS1F165d672/efPmVt/fuHEDs2bNwp/+9Cc0atQIMTExGDhwIE6dOmXZZsGCBbjjjjsQHh6OoKAgpKen48MPP7R6HJ1Oh2vXruGdd96xDC8NHz4cs2bNwuTJkwEASUlJlvtq1tT885//RHp6OoKCghAWFoaHH34YZ86csXr8Hj164NZbb8XBgwfRrVs3NG7cGM8++6xD719NPXv2BAAUFBTY3W7FihVo27YtAgMDERsbi+zsbKseqx49emD79u349ddfLa8pMTHR6fYQqRV7fIjIQhAEXLhwAW3btnX4Z3x9ffHII4/gueeew969e9G3b996t2vevDmCgoKwdetWjB8/HmFhYTYfs6qqCv369cMXX3yBhx9+GE899RTKysqwa9cuHDt2DMnJyQCAJUuW4L777sNf//pXVFRU4P3338eDDz6Ibdu2Wdqxbt06PP7447jtttswZswYAEBycjKCg4Pxyy+/4L333sNrr71m6X2JjIwEALz88st47rnn8NBDD+Hxxx/HpUuXsGzZMnTr1g2HDx9G06ZNLe01GAzo06cPHn74YTz66KOIiopy+P0zMwe68PBwm9vMmjULs2fPRu/evTFu3Djk5eXhjTfewA8//IBvv/0W/v7+mDFjBoxGI86ePYvXXnsNANCkSROn20OkWgIR0f+sW7dOACCsWrXK6vbu3bsLbdu2tflzW7ZsEQAIS5Yssfv4M2fOFAAIwcHBQp8+fYSXX35ZOHjwYJ3tVq9eLQAQFi1aVOc+k8lk+f/169et7quoqBBuvfVWoWfPnla3BwcHC8OGDavzWK+++qoAQCgoKLC6vbCwUPD19RVefvllq9uPHj0q+Pn5Wd3evXt3AYCwcuVKm6+7pueff14AIOTl5QmXLl0SCgoKhDfffFMIDAwUoqKihGvXrgmCIAhr1qyxatvFixeFgIAA4d577xWqqqosj7d8+XIBgLB69WrLbX379hUSEhIcag+R1nCoi4gAACdOnEB2djYyMjIwbNgwp37W3KNQVlZmd7vZs2djw4YN6NixIz777DPMmDED6enpSEtLsxpe27RpEyIiIjB+/Pg6j6HT6Sz/DwoKsvz/t99+g9FoxF133YVDhw451f7aNm/eDJPJhIceegiXL1+2fEVHRyM1NRW7d++22j4wMBAjRoxw6jlatWqFyMhIJCUl4YknnkBKSgq2b99uszbo888/R0VFBSZOnAgfnz923aNHj0ZoaCi2b9/u/Asl0iAOdRERiouL0bdvX+j1enz44Yfw9fV16uevXr0KAAgJCWlw20ce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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# Create PySMO trainer object\n", + "trainer = PysmoPolyTrainer(\n", + " input_labels=input_labels,\n", + " output_labels=output_labels,\n", + " training_dataframe=data_training,\n", + ")\n", + "\n", + "var = output_labels\n", + "trainer.config.extra_features = [\n", + " \"pressure*temperature*temperature\",\n", + " \"pressure*pressure*temperature*temperature\",\n", + " \"pressure*pressure*temperature\",\n", + " \"pressure/temperature\",\n", + " \"temperature/pressure\",\n", + "]\n", + "# Set PySMO options\n", + "trainer.config.maximum_polynomial_order = 5\n", + "trainer.config.multinomials = True\n", + "trainer.config.training_split = 0.8\n", + "trainer.config.number_of_crossvalidations = 10\n", + "\n", + "# Train surrogate (calls PySMO through IDAES Python wrapper)\n", + "poly_train = trainer.train_surrogate()\n", + "\n", + "# create callable surrogate object\n", + "xmin, xmax = [7, 306], [40, 1000]\n", + "input_bounds = {input_labels[i]: (xmin[i], xmax[i]) for i in range(len(input_labels))}\n", + "poly_surr = PysmoSurrogate(poly_train, input_labels, output_labels, input_bounds)\n", + "# save model to JSON\n", + "model = poly_surr.save_to_file(\"pysmo_poly_surrogate.json\", overwrite=True)" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.3 Visualizing surrogates\n", + "Now that the surrogate models have been trained, the models can be visualized through scatter, parity and residual plots to confirm their validity in the chosen domain. The training data will be visualized first to confirm the surrogates are fit the data, and then the validation data will be visualized to confirm the surrogates accurately predict new output values." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# visualize with IDAES surrogate plotting tools\n", + "surrogate_scatter2D(poly_surr, data_training, filename=\"pysmo_poly_train_scatter2D.pdf\")\n", + "surrogate_parity(poly_surr, data_training, filename=\"pysmo_poly_train_parity.pdf\")\n", + "surrogate_residual(poly_surr, data_training, filename=\"pysmo_poly_train_residual.pdf\")" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkYAAAHHCAYAAABa2ZeMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABJvElEQVR4nO3dd3hUVf7H8c8kpEIKJSGUhKoU8QcIgokFYZHAqsCKuogCEURREBEsRJQQEIiIKFjAFSmrKFiRBSUiRVTiqkiREhQkUgOoJBGQ1Pv7gzDrOBNMwmTulPfreebJ3nPv3PkOdzEfzjn3XIthGIYAAAAgP7MLAAAAcBcEIwAAgFIEIwAAgFIEIwAAgFIEIwAAgFIEIwAAgFIEIwAAgFIEIwAAgFIEIwAAgFIEIwAeyWKxaOLEiWaXYZWUlKTGjRubXQaAC0QwAuA0CxculMVisb6Cg4N18cUXa+TIkTp69GiVfvbGjRs1ceJE5eTkOPW81157rc13qlWrli6//HLNnz9fJSUlTvmMqVOnatmyZU45F4ALU83sAgB4n0mTJqlJkyY6c+aMPv/8c82ZM0cffvihtm/frtDQUKd8xu+//65q1f73n7CNGzcqNTVVSUlJioyMdMpnnNOwYUNNmzZNknT8+HH9+9//1tChQ/X9998rLS3tgs8/depU3Xzzzerbt+8FnwvAhSEYAXC6Xr16qWPHjpKku+66S7Vr19bMmTP1wQcf6Lbbbqv0eUtKSlRQUKDg4GAFBwc7q9y/FBERoTvuuMO6fc8996hFixZ64YUXNHnyZAUEBLisFgBVi6E0AFWuW7dukqR9+/ZJkmbMmKGEhATVrl1bISEh6tChg9555x2791ksFo0cOVKLFy/WJZdcoqCgIK1atcq679wco4kTJ+rhhx+WJDVp0sQ67JWVlaUuXbqobdu2Dutq0aKFEhMTK/x9QkNDdcUVV+jUqVM6fvx4mcedOnVKY8eOVWxsrIKCgtSiRQvNmDFDhmHYfMdTp05p0aJF1rqTkpIqXBMA56DHCECV27t3rySpdu3akqRZs2apd+/euv3221VQUKAlS5bolltu0YoVK3T99dfbvHft2rV66623NHLkSNWpU8fhBOebbrpJ33//vd588009++yzqlOnjiQpKipKAwcO1LBhw7R9+3a1adPG+p6vv/5a33//vR5//PFKfacff/xR/v7+ZQ7bGYah3r17a926dRo6dKjatWun9PR0Pfzwwzp06JCeffZZSdJrr72mu+66S506ddLdd98tSWrWrFmlagLgBAYAOMmCBQsMScYnn3xiHD9+3Dhw4ICxZMkSo3bt2kZISIhx8OBBwzAM4/Tp0zbvKygoMNq0aWN069bNpl2S4efnZ+zYscPusyQZKSkp1u2nn37akGTs27fP5ricnBwjODjYePTRR23aR40aZVSvXt04efLkeb9Tly5djJYtWxrHjx83jh8/buzatcsYNWqUIcm48cYbrccNHjzYaNSokXV72bJlhiTjySeftDnfzTffbFgsFmPPnj3WturVqxuDBw8+bx0AXIOhNABO1717d0VFRSk2Nlb9+/dXjRo19P7776tBgwaSpJCQEOuxJ06cUG5urq6++mp9++23dufq0qWLWrduXelaIiIi1KdPH7355pvWIazi4mItXbpUffv2VfXq1f/yHJmZmYqKilJUVJRatWql559/Xtdff73mz59f5ns+/PBD+fv7a9SoUTbtY8eOlWEY+uijjyr9nQBUHYbSADjdiy++qIsvvljVqlVT3bp11aJFC/n5/e/fYStWrNCTTz6pLVu2KD8/39pusVjsztWkSZMLrmfQoEFaunSpPvvsM11zzTX65JNPdPToUQ0cOLBc72/cuLFeeeUV6xIEF110kaKjo8/7np9++kn169dXWFiYTXurVq2s+wG4H4IRAKfr1KmT9a60P/vss8/Uu3dvXXPNNXrppZdUr149BQQEaMGCBXrjjTfsjv9j71JlJSYmqm7dunr99dd1zTXX6PXXX1dMTIy6d+9ervdXr1693McC8GwMpQFwqXfffVfBwcFKT0/XkCFD1KtXL6eEDke9Tef4+/trwIABeuedd3TixAktW7ZMt912m/z9/S/4c8vSqFEjHT58WL/99ptNe2ZmpnX/OeerHYBrEYwAuJS/v78sFouKi4utbVlZWRe88vO5uUJlrXw9cOBAnThxQvfcc49Onjxpsy5RVfj73/+u4uJivfDCCzbtzz77rCwWi3r16mVtq169utNX7AZQOQylAXCp66+/XjNnzlTPnj01YMAAHTt2TC+++KKaN2+ubdu2Vfq8HTp0kCSNHz9e/fv3V0BAgG688UZrYGrfvr3atGmjt99+W61atdJll13mlO9TlhtvvFFdu3bV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69ZNRUVF2r59u3V/cXGxrr/+esXExGjjxo06cuSIBg0apICAAE2dOtXEyj3Lpk2btGLFCpu2xx57TAEBASZVBACA61gMwzDMLuKvFBUVqXHjxkpNTdXQoUMdHvPRRx/phhtu0OHDh61PcJ87d64effRRHT9+XIGBgeX6rLy8PEVERCg3N1fh4eFO+w7urqSkRDNnztSpU6esbddee626dOliYlUAAJSPs35/e8RQ2rfffqtDhw7Jz89P7du3V7169dSrVy+bHqOMjAxdeuml1lAkSYmJicrLy9OOHTvMKNtjHDlyRJMnT7YJRffffz+hCADgczxiKO3HH3+UJE2cOFEzZ85U48aN9cwzz+jaa6/V999/r1q1aik7O9smFEmybmdnZ5d57vz8fOXn51u38/LyquAbuK+VK1fqm2++sW7Xr19fd911lywWi4lVAQBgDlN7jMaNGyeLxXLeV2ZmpkpKSiRJ48ePV79+/dShQwctWLBAFotFb7/99gXVMG3aNEVERFhfsbGxzvhqbu/MmTNKTU21CUW33nqrhg0bRigCAPgsU3uMxo4dq6SkpPMe07RpUx05ckSS1Lp1a2t7UFCQmjZtan1eV0xMjL766iub9x49etS6ryzJyckaM2aMdTsvL8/rw9HOnTvtAuW4ceMUFBRkUkUAALgHU4NRVFSUoqKi/vK4Dh06KCgoSLt379ZVV10lSSosLFRWVpYaNWokSYqPj9eUKVN07NgxRUdHS5JWr16t8PBwm0D1Z0FBQT4TCAzD0Msvv2wNjJLUqVMn9erVy8SqAABwHx4xxyg8PFzDhw9XSkqKYmNj1ahRIz399NOSpFtuuUWS1KNHD7Vu3VoDBw7U9OnTlZ2drccff1wjRozwmeBzPr/88oteeOEFm7bhw4fbzcsCAMCXeUQwkqSnn35a1apV08CBA/X777+rc+fOWrt2rWrWrClJ8vf314oVK3TvvfcqPj5e1atX1+DBgzVp0iSTKzffunXrtGHDBut2RESERo0aJT8/j7gpEQAAl/GIdYxcyZvWMSosLLRb3LJ3795q3769SRUBAFA1nPX722N6jFAxe/fu1euvv27T9tBDD6l69eomVQQAgPsjGHmh119/XXv37rVut2nTRv369TOxIgAAPAPByIvk5eXp2WeftWkbMmSI1y8/AACAsxCMvMSXX36p9PR067a/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NG3aNDVp0kQhISFq27at3nnnHUn/G4Zas2aNOnbsqNDQUCUkJGj37t2SpIULFyo1NVVbt26VxWKRxWLRwoULJUkWi0Vz5sxR7969Vb16dU2ZMuW8dZz7rPT0dLVv314hISHq1q2bjh07po8++kitWrVSeHi4BgwYoNOnT1vfl5+fr1GjRik6OlrBwcG66qqr9PXXX1fNHxYA13DqE94AoAKefPJJo2XLlsaqVauMvXv3GgsWLDCCgoKM9evXG+vWrTMkGZ07dzbWr19v7Nixw7j66quNhIQEwzAM4/Tp08bYsWONSy65xO4p25KM6OhoY/78+cbevXuNn3766bx1nPusK664wvj888+Nb7/91mjevLnRpUsXo0ePHsa3335rbNiwwahdu7bNA15HjRpl1K9f3/jwww+NHTt2GIMHDzZq1qxp/PLLLzbnPXHiRNX8AQJwOoIRAFOcOXPGCA0NNTZu3GjTPnToUOO2226zhopPPvnEum/lypWGJOP33383DMMwUlJSjLZt29qdW5IxevToctfi6LOmTZtmSDL27t1rbbvnnnuMxMREwzAM4+TJk0ZAQICxePFi6/6CggKjfv36xvTp023OSzACPEc1s3qqAPi2PXv26PTp07ruuuts2gsKCtS+fXvr9v/93/9Z/3e9evUkSceOHVNcXNx5z9+xY8cK1/THz6pbt65CQ0PVtGlTm7avvvpKkrR3714VFhbqyiuvtO4PCAhQp06dtGvXrgp/NgD3QDACYIqTJ09KklauXKkGDRrY7AsKCtLevXslnQ0b51gsFkln5yb9lerVq1e4pj9/1h+3z7WV57MBeC4mXwMwRevWrRUUFKT9+/erefPmNq/Y2NhynSMwMFDFxcVVXKljzZo1U2BgoL744gtrW2Fhob7++mu1bt3alJoAXDh6jACYIiwsTA899JAefPBBlZSU6KqrrlJubq6++OILhYeHq1GjRn95jsaNG2vfvn3asmWLGjZsqLCwMAUFBbmg+rM9Uvfee68efvhh1apVS3FxcZo+fbpOnz6toUOHuqQGAM5HMAJgmsmTJysqKkrTpk3Tjz/+qMjISF122WV67LHHyjVk1a9fP7333nvq2rWrcnJytGDBAiUlJVV94aXS0tJUUlKigQMH6rffflPHjh2Vnp6umjVruqwGAM5lMQzDMLsIAAAAd8AcIwAAgFIEIwBeb/jw4apRo4bD1/Dhw80uD4AbYSgNgNc7duyY8vLyHO4LDw9XdHS0iysC4K4IRgAAAKUYSgMAAChFMAIAAChFMAIAAChFMAIAAChFMAIAAChFMAIAAChFMAIAAChFMAIAACj1/1j+WUwWRiX3AAAAAElFTkSuQmCC", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.4 Model Validation\n", + "\n", + "We check the fit on the validation set to see if the surrogate is fitting well. This step can be used to check for overfitting on the training set." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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qlWrVkpLSzOx1NYzduxYLV68WO+++67q1q3rGvcQHR2tiIgIRUdHa/To0br//vvVoEEDRUVF6d5771VKSoq6detmcumtpbK63Lt3rxYvXqxrr71WDRs21JdffqkJEyaoR48e6tChg8mlt44pU6aoX79+atq0qX755RctXrxYn3zyiT7++GPOxyqqqC5NOx/9OvcLpli7dq0h6bzbiBEjDMP4dfr51KlTjbi4OCM8PNzo3bu3sXv3bnMLbVEV1WVBQYFxzTXXGDExMUZoaKjRrFkzY8yYMUZubq7ZxbacsupQkrFw4ULXMYWFhcY999xj1K9f34iMjDRuvPFGIycnx7xCW1RldZmdnW306NHDaNCggREeHm60atXKeOCBBwyn02luwS1m1KhRRrNmzYywsDAjJibG6N27t7Fy5UrXfs5H91VUl2adjw7DMAzfRSkAAABzMWYHAADYGmEHAADYGmEHAADYGmEHAADYGmEHAADYGmEHAADYGmEHAADYGmEHAADYGmEHAADYGmEHgKWdOnXK7CKcx4plAlA+wg4Av+rVq5fS09OVnp6u6OhoNWrUSFOnTlXJlWuaN2+uxx57TMOHD1dUVJTuvPNOSdKGDRt05ZVXKiIiQk2aNNG4ceN0/Phx1+O+8MILat26tWrVqqW4uDjddNNNrn1Lly5VcnKyIiIi1LBhQ/Xp08d13169emn8+PGlyjhgwACNHDnS9X9PywTAGgg7APzu1VdfVUhIiD777DP9+c9/1tNPP62XXnrJtf/JJ59Ux44d9fnnn2vq1Knau3ev+vbtq0GDBunLL7/UkiVLtGHDBqWnp0uStm7dqnHjxunRRx/V7t279dFHH6lHjx6SpJycHN1yyy0aNWqUdu3apU8++UQDBw5UVS8LWNUyAbAOLgQKwK969eqlQ4cOaefOnXI4HJKkyZMna/ny5frmm2/UvHlzderUSe+8847rPnfccYeCg4P14osvurZt2LBBPXv21PHjx/XBBx/o9ttv1w8//KC6deuWer7t27frsssu0759+9SsWbMyy3PJJZdozpw5rm0DBgxQvXr1tGjRIknyqEy1atWqVj0B8B5adgD4Xbdu3VxBR5JSUlK0Z88eFRUVSZI6d+5c6vgvvvhCixYtUp06dVy3tLQ0FRcXKysrS7/5zW/UrFkztWjRQrfddpveeOMNFRQUSJI6duyo3r17Kzk5Wb/73e+0YMEC/fzzz1Uuc1XLBMA6CDsALKd27dql/n/s2DH9/ve/144dO1y3L774Qnv27FHLli1Vt25dbd++XW+++aYSEhL08MMPq2PHjsrLy1NwcLBWrVqlDz/8UElJSXr22Wd10UUXuQJJUFDQeV1ap0+frnaZAFgHYQeA323evLnU/z/99FO1bt1awcHBZR5/6aWX6ptvvlGrVq3Ou4WFhUmSQkJC1KdPH82ePVtffvml9u3bpzVr1kiSHA6HUlNTNX36dH3++ecKCwtzdUnFxMQoJyfH9VxFRUX6+uuvK30N7pQJgDUQdgD4XXZ2tu6//37t3r1bb775pp599lndd9995R4/adIkbdq0Senp6dqxY4f27Nmjd9991zUYeMWKFZo7d6527Nih77//Xq+99pqKi4t10UUXafPmzZo5c6a2bt2q7OxsLVu2TIcPH1a7du0kSVdffbXef/99vf/++/r222919913Ky8vr9LXUFmZAFhHiNkFAFDzDB8+XIWFherSpYuCg4N13333uaZzl6VDhw5at26d/u///k9XXnmlDMNQy5YtNXjwYElSvXr1tGzZMk2bNk0nTpxQ69at9eabb+riiy/Wrl27tH79es2ZM0f5+flq1qyZnnrqKfXr10+SNGrUKH3xxRcaPny4QkJCNGHCBF111VWVvobKygTAOpiNBcCvypr9BAC+RDcWAACwNcIOAACwNbqxAACArdGyAwAAbI2wAwAAbI2wAwAAbI2wAwAAbI2wAwAAbI2wAwAAbI2wAwAAbI2wAwAAbI2wAwAAbO3/AW8G965BJW03AAAAAElFTkSuQmCC", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "# visualize with IDAES surrogate plotting tools\n", + "surrogate_scatter2D(poly_surr, data_validation, filename=\"pysmo_poly_val_scatter2D.pdf\")\n", + "surrogate_parity(poly_surr, data_validation, filename=\"pysmo_poly_val_parity.pdf\")\n", + "surrogate_residual(poly_surr, data_validation, filename=\"pysmo_poly_val_residual.pdf\")" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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wWX+/Pm655576nyusaZCAAD8jXADj8XHxys+Pt7sMgAAqBOnpQAAgK0QburAqLnBifUGAJA4LVVLWFiYQkJCdOjQIcXFxSksLMx1iwJYl2EYOnnypI4ePaqQkBCFhYWZXRIAwESEmzOEhIQoJSVFRUVFOnTokNnlwEORkZHq2rVrrUEfAQDND+HmLGFhYeratat++ukn0+6zBM+FhoaqRYsWtLQBAAg3dam5g/XZd7EGAADWR/s9AACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFVPDTW5uroYMGaKoqCjFx8crOztb+/bta/R1r7/+uvr06aNWrVopLS1Na9asCUC1AAAgGJgabjZt2qSZM2fqo48+0tq1a3Xq1CldfvnlKisrq/c1W7du1Q033KBp06bpk08+UXZ2trKzs7Vnz54AVg4AAKzKYRiGYXYRNY4ePar4+Hht2rRJI0aMqHOeCRMmqKysTO+8845r2kUXXaQBAwZoyZIljX5GaWmpYmJi5HQ6FR0d7bPaAQCA/3hy/LZUnxun0ylJat++fb3zbNu2TWPGjKk1LSsrS9u2batz/srKSpWWltZ6AAAA+7JMuKmurtZdd92l4cOHq1+/fvXOV1xcrISEhFrTEhISVFxcXOf8ubm5iomJcT26dOni07oBAIC1WCbczJw5U3v27NFrr73m0/fNycmR0+l0PQoLC336/gAAwFpamF2AJM2aNUvvvPOONm/erM6dOzc4b2Jiog4fPlxr2uHDh5WYmFjn/OHh4QoPD/dZrQAAwNpMbbkxDEOzZs3S6tWrtX79eqWkpDT6moyMDK1bt67WtLVr1yojI8NfZQIAgCBiasvNzJkztXz5cr311luKiopy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1IxczO0XrIEruAAAduH3u4Jv2LDBq8IQOFYaTAkAgEDyqs9NZmamQkJCtHTpUs2ZM0c9evRQZmamCgoKFBoa6usag5aZ99do6AouAADszKtw88YbbygrK0sRERH65JNPVFlZKUlyOp1asGCBTwsMVit2FGj4wvWauHS7hi9crxU7CgL6+TVXcJ2JK7gAAM2BV+HmkUce0ZIlS7R06dJanYmHDx+uXbt2+ay4YGWFQf24ggsA0Fx51edm3759GjFixDnTY2JidOzYsabWFPSsMqifVQZTAgAgkLwKN4mJidq/f7+Sk5NrTd+yZYu6d+/ui7qCmpUG9bPCYEoAAASSV6elZsyYoTvvvFPbt2+Xw+HQoUOH9Le//U333HOPbrvtNl/XGHQ4JQQAgHm8Cjdz5szRxIkTNXr0aB0/flwjRozQ9OnTdcstt+iXv/yl2++zefNmXXnllerYsaMcDofefPPNRl+zceNGXXDBBQoPD1ePHj20bNkyb76C300Y0lVb5ozSqzMu0pY5oxhfBgCAAPEq3DgcDv3mN7/RDz/8oD179uijjz7S0aNH9fDDD3v0PmVlZUpPT9czzzzj1vwHDhzQFVdcoVGjRikvL0933XWXpk+frvfff9+br+F3STERykjtQIsNAAAB5NUIxf7gcDi0evVqZWdn1zvPfffdp3fffVd79uxxTbv++ut17Ngxvffee259TnMaoRgAALvw5PjtVcuNWbZt26YxY8bUmpaVlaVt27aZVBEAALAar66WMktxcbESEhJqTUtISFBpaakqKioUEXHu6Z/KykrXIIPS6eQHAADsK6habryRm5urmJgY16NLly5mlwQAAPwoqMJNYmKiDh8+XGva4cOHFR0dXWerjSTl5OTI6XS6HoWFhYEoFQAAmCSoTktlZGRozZo1taatXbtWGRkZ9b4mPDxc4eHh/i4NAABYhKktN8ePH1deXp7y8vIknb7UOy8vTwUFp28ymZOTo0mTJrnmv/XWW/X111/r17/+tb788ks9++yz+vvf/667777bjPIBAIAFmRpudu7cqYEDB2rgwIGSpNmzZ2vgwIF68MEHJUlFRUWuoCNJKSkpevfdd7V27Vqlp6friSee0PPPP6+srCxT6gcAANZjmXFuAoVxbpqmyFmhAyVlSoltzeCEAICA8eT4HVR9bmCuFTsKlLNqt6oNKcQh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+HhlZ2dr3759teY5ceKEZs6cqQ4dOqhNmza69tprdfjwYZMqtiZ3luPIkSPP2SZvvfVWkyq2rsWLF6t///6uAeYyMjL0z3/+0/U826N7GluOZm2PhBsbKisrU3p6up555pk6n3/sscf0xz/+UUuWLNH27dvVunVrZWVl6cSJEwGu1PoaW5aSNHbsWBUVFbker776agArDA6bNm3SzJkz9dFHH2nt2rU6deqULr/8cpWVlbnmufvuu/WPf/xDr7/+ujZt2qRDhw5p/PjxJlZtPe4sR0maMWNGrW3yscceM6li6+rcubMWLlyojz/+WDt37tSll16qq6++Wnv37pXE9uiuxpajZNL2aMDWJBmrV692/b+6utpITEw0fv/737umHTt2zAgPDzdeffVVEyoMHmcvS8MwjMmTJxtXX321KfUEsyNHjhiSjE2bNhmGcXobbNmypfH666+75vniiy8MSca2bdvMKtPyzl6OhmEYmZmZxp133mleUUGsXbt2xvPPP8/22EQ1y9EwzNseablpZg4cOKDi4mKNGTPGNS0mJkYXXnihtm3bZmJlwWvjxo2Kj49X7969ddttt+n77783uyTLczqdkqT27dtLkj7++GOdOnWq1nbZp08fde3ale2yAWcvxxp/+9vfFBsbq379+iknJ0fl5eVmlBc0qqqq9Nprr6msrEwZGRlsj146eznWMGN7bHY3zmzuiouLJUkJCQm1pickJLieg/vGjh2r8ePHKyUlRfn5+br//vs1btw4bdu2TaGhoWaXZ0nV1dW66667NHz4cPXr10/S6e0yLCxMbdu2rTUv22X96lqOkjRx4kR169ZNHTt21Geffab77rtP+/bt06pVq0ys1pp2796tjIwMnThxQm3atNHq1avVt29f5eXlsT16oL7lKJm3PRJugCa4/vrrXf9OS0tT//79lZqaqo0bN2r06NEmVmZdM2fO1J49e7RlyxazSwlq9S3Hm2++2fXvtLQ0JSUlafTo0crPz1dqamqgy7S03r17Ky8vT06nUytXrtTkyZO1adMms8sKOvUtx759+5q2PXJaqplJTEyUpHN6/R8+fNj1HLzXvXt3xcbGav/+/WaXYkmzZs3SO++8ow0bNqhz586u6YmJiTp58qSOHTtWa362y7rVtxzrcuGFF0oS22QdwsLC1KNHDw0aNEi5ublKT0/XH/7wB7ZHD9W3HOsSqO2RcNPMpKSkKDExUevWrXNNKy0t1fbt22udI4V3vv32W33//fdKSkoyuxRLMQxDs2bN0urVq7V+/XqlpKTUen7QoEFq2bJlre1y3759KigoYLs8Q2PLsS55eXmSxDbphurqalVWVrI9NlHNcqxLoLZHTkvZ0PHjx2ul4gMHDigvL0/t27dX165dddddd+mRRx5Rz549lZKSogceeEAdO3ZUdna2eUVbVEPLsn379po3b56uvfZaJSYmKj8/X7/+9a/Vo0cPZWVlmVi19cycOVPLly/XW2+9paioKFe/hZiYGEVERCgmJkbTpk3T7Nmz1b59e0VHR+uXv/ylMjIydNFFF5lcvXU0thzz8/O1fPly/exnP1OHDh302Wef6e6779aIESPUv39/k6u3lpycHI0bN05du3bVjz/+qOXLl2vjxo16//332R490NByNHV7DPj1WfC7DRs2GJLOeUyePNkwjNOXgz/wwANGQkKCER4ebowePdrYt2+fuUVbVEPLsry83Lj88suNuLg4o2XLlka3bt2MGTNmGMXFxWaXbTl1LUNJxosvvuiap6Kiwrj99tuNdu3aGZGRkcY111xjFBUVmVe0BTW2HAsKCowRI0YY7du3N8LDw40ePXoY9957r+F0Os0t3IJuuukmo1u3bkZYWJgRFxdnjB492vjggw9cz7M9uqeh5Wjm9ugwDMPwb3wCAAAIHPrcAAAAWyHcAAAAWyHcAAAAWyHcAAAAWyHcAAAAWyHcAAAAWyHcAAAAWyHcAAAAWyHcAAAAWyHcALCUkydPml3COaxYE4D6EW4A+NXIkSM1a9YszZo1SzExMYqNjdUDDzygmju/JCcn6+GHH9akSZMUHR2tm2++WZK0ZcsWXXLJJYqIiFCXLl10xx13qKyszPW+zz77rHr27KlWrVopISFB1113neu5lStXKi0tTREREerQoYPGjBnjeu3IkSN111131aoxOztbU6ZMcf3f25oAWAPhBoDf/fWvf1WLFi3073//W3/4wx/05JNP6vnnn3c9//jjjys9PV2ffPKJHnjgAeXn52vs2LG69tpr9dlnn2nFihXasmWLZs2aJUnauXOn7rjjDs2fP1/79u3Te++9pxEjRkiSioqKdMMNN+imm27SF198oY0bN2r8+PHy9DZ6ntYEwDq4cSYAvxo5cqSOHDmivXv3yuFwSJLmzJmjt99+W59//rmSk5M1cOBArV692vWa6dOnKzQ0VM8995xr2pYtW5SZmamysjKtWbNGU6dO1bfffquoqKhan7dr1y4NGjRIBw8eVLdu3eqsZ8CAAVq0aJFrWnZ2ttq2batly5ZJklc1tWrVqknLCYDv0HIDwO8uuugiV7CRpIyMDH311VeqqqqSJA0ePLjW/J9++qmWLVumNm3auB5ZWVmqrq7WgQMHdNlll6lbt27q3r27brzxRv3tb39TeXm5JCk9PV2jR49WWlqa/vd//1dLly7Vf/7zH49r9rQmANZBuAFgutatW9f6//Hjx3XLLbcoLy/P9fj000/11VdfKTU1VVFRUdq1a5deffVVJSUl6cEHH1R6erqOHTum0NBQrV27Vv/85z/Vt29fPf300+rdu7crgISEhJxziurUqVNNrgmAdRBuAPjd9u3ba/3/o48+Us+ePRUaGlrn/BdccIE+//xz9ejR45xHWFiYJKlFixYaM2aMHnvsMX322Wc6ePCg1q9fL0lyOBwaPny45s2bp08++URhYWGuU0xxcXEqKipyfVZVVZX27NnT6HdwpyYA1kC4AeB3BQUFmj17tvbt26dXX31VTz/9tO68885657/vvvu0detWzZo1S3l5efrqq6/01ltvuTrvvvPOO/rjH/+ovLw8ffPNN3rppZdUXV2t3r17a/v27VqwYIF27typgoICrVq1SkePHtV5550nSbr00kv17rvv6t1339WXX36p2267TceOHWv0OzRWEwDraGF2AQDsb9KkSaqoqNDQoUMVGhqqO++803V5dV369++vTZs26Te/+Y0uueQSGYah1NRUTZgwQZLUtm1brVq1SnPnztWJEyfUs2dPvfrqqzr//PP1xRdfaPPmzVq0aJFKS0vVrVs3PfHEExo3bpwk6aabbtKnn36qSZMmqUWLFrr77rs1atSoRr9DYzUBsA6ulgLgV3VdnQQA/sRpKQAAYCuEGwAAYCuclgIAALZCyw0AALAVwg0AALAVwg0AALAVwg0AALAVwg0AALAVwg0AALAVwg0AALAVwg0AALAVwg0AALCV/x/YBjhC2T2t0QAAAABJRU5ErkJggg==", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, the surrogate is trained and validated, we shall embed it in the property package, which is demonstrated in the [surrogate_embedding](./surrogate_embedding_test.ipynb) file." ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHHCAYAAABZbpmkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABLcUlEQVR4nO3deXwU5eHH8e8mISEBknDlAIGES4gccigGEFAoSFGLYkVEBEGtCnIoCGgRUDFoa1W0gqUqWC+qoiJeUEAskEI4FbQIEQxKwiFmAwQIZJ/fHzT7YyGBzWY3uzv7eb9eeb1gZnb2mdljvvvMc9iMMUYAAAAWFebvAgAAAPgSYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQdAQJg2bZpsNptb29psNk2bNs2n5enRo4d69OgRsPsD4D7CDgAX8+bNk81mc/5FRESofv36GjZsmH7++Wd/Fy/gpKSkuJyvhIQEXXnllfrggw+8sv/CwkJNmzZNX375pVf2B4Qiwg6AUj322GP6xz/+oTlz5qhv375644031L17dx0/ftwnz/fHP/5Rx44d88m+fe3SSy/VP/7xD/3jH//Q+PHjtXfvXt14442aM2dOhfddWFio6dOnE3aACojwdwEABKa+ffuqY8eOkqQ777xTderU0VNPPaVFixbp5ptv9vrzRUREKCIiOL+S6tevr9tuu835/9tvv11NmzbVs88+q3vuucePJQMgUbMDwE1XXnmlJCk7O9tl+X//+1/ddNNNqlWrlqpWraqOHTtq0aJFLtucPHlS06dPV7NmzVS1alXVrl1bXbt21dKlS53blNZm58SJExo3bpzq1q2rGjVq6Prrr9dPP/10TtmGDRumlJSUc5aXts/XXntNV199tRISEhQVFaW0tDTNnj27XOfiQpKSktSyZUvt2rXrvNvt379fI0aMUGJioqpWraq2bdtq/vz5zvW7d+9W3bp1JUnTp0933irzdXslwGqC82cUgEq3e/duSVLNmjWdy7Zt26YuXbqofv36mjRpkqpVq6Z//vOf6t+/v95//33dcMMNkk6HjoyMDN155526/PLLVVBQoPXr12vjxo36zW9+U+Zz3nnnnXrjjTd06623qnPnzlq+fLn69etXoeOYPXu2LrnkEl1//fWKiIjQxx9/rPvuu08Oh0MjR46s0L5LnDx5Unv27FHt2rXL3ObYsWPq0aOHdu7cqVGjRik1NVXvvvuuhg0bpvz8fI0ZM0Z169bV7Nmzde+99+qGG27QjTfeKElq06aNV8oJhAwDAGd47bXXjCTzr3/9yxw4cMDs2bPHvPfee6Zu3bomKirK7Nmzx7ltz549TevWrc3x48edyxwOh+ncubNp1qyZc1nbtm1Nv379zvu8U6dONWd+JW3evNlIMvfdd5/LdrfeequRZKZOnepcNnToUNOoUaML7tMYYwoLC8/Zrk+fPqZx48Yuy7p37266d+9+3jIbY0yjRo1M7969zYEDB8yBAwfMli1bzC233GIkmfvvv7/M/T333HNGknnjjTecy4qKikx6erqpXr26KSgoMMYYc+DAgXOOF0D5cBsLQKl69eqlunXrqkGDBrrppptUrVo1LVq0SBdddJEk6dChQ1q+fLluvvlmHT58WAcPHtTBgwf1yy+/qE+fPtqxY4ez91Z8fLy2bdumHTt2uP38n376qSRp9OjRLsvHjh1boeOKjo52/ttut+vgwYPq3r27fvjhB9ntdo/2uWTJEtWtW1d169ZV27Zt9e6772rIkCF66qmnynzMp59+qqSkJA0aNMi5rEqVKho9erSOHDmilStXelQWAOfiNhaAUv31r39V8+bNZbfb9eqrr+qrr75SVFSUc/3OnTtljNGUKVM0ZcqUUvexf/9+1a9fX4899ph+97vfqXnz5mrVqpWuueYaDRky5Ly3Y3788UeFhYWpSZMmLssvvvjiCh3X6tWrNXXqVGVmZqqwsNBlnd1uV1xcXLn32alTJz3xxBOy2WyKiYlRy5YtFR8ff97H/Pjjj2rWrJnCwlx/c7Zs2dK5HoB3EHYAlOryyy939sbq37+/unbtqltvvVXbt29X9erV5XA4JEnjx49Xnz59St1H06ZNJUndunVTdna2PvroIy1ZskR///vf9eyzz2rOnDm68847K1zWsgYjLC4udvl/dna2evbsqRYtWugvf/mLGjRooMjISH366ad69tlnncdUXnXq1FGvXr08eiwA3yPsALig8PBwZWRk6KqrrtKLL76oSZMmqXHjxpJO33px50Jfq1Yt3XHHHbrjjjt05MgRdevWTdOmTSsz7DRq1EgOh0PZ2dkutTnbt28/Z9uaNWsqPz//nOVn1458/PHHOnHihBYtWqSGDRs6l69YseKC5fe2Ro0a6euvv5bD4XCp3fnvf//rXC+VHeQAuI82OwDc0qNHD11++eV67rnndPz4cSUkJKhHjx56+eWXlZube872Bw4ccP77l19+cVlXvXp1NW3aVCdOnCjz+fr27StJmjVrlsvy55577pxtmzRpIrvdrq+//tq5LDc395xRjMPDwyVJxhjnMrvdrtdee63McvjKb3/7W+Xl5WnBggXOZadOndILL7yg6tWrq3v37pKkmJgYSSo1zAFwDzU7ANw2YcIE/f73v9e8efN0zz336K9//au6du2q1q1b66677lLjxo21b98+ZWZm6qefftKWLVskSWlpaerRo4c6dOigWrVqaf369Xrvvfc0atSoMp/r0ksv1aBBg/TSSy/Jbrerc+fOWrZsmXbu3HnOtrfccosmTpyoG264QaNHj1ZhYaFmz56t5s2ba+PGjc7tevfurcjISF133XX6wx/+oCNHjmju3LlKSEgoNbD50t13362XX35Zw4YN04YNG5SSkqL33ntPq1ev1nPPPacaNWpIOt2gOi0tTQsWLFDz5s1Vq1YttWrVSq1atarU8gJBzd/dwQAElpKu51lZWeesKy4uNk2aNDFNmjQxp06dMsYYk52dbW6//XaTlJRkqlSpYurXr2+uvfZa89577zkf98QTT5jLL7/cxMfHm+joaNOiRQszY8YMU1RU5NymtG7ix44dM6NHjza1a9c21apVM9ddd53Zs2dPqV2xlyxZYlq1amUiIyPNxRdfbN54441S97lo0SLTpk0bU7VqVZOSkmKeeuop8+qrrxpJZteuXc7tytP1/ELd6sva3759+8wdd9xh6tSpYyIjI03r1q3Na6+9ds5j16xZYzp06GAiIyPphg54wGbMGfW5AAAAFkObHQAAYGmEHQAAYGmEHQAAYGmEHQAAYGmEHQAAYGmEHQAAYGkMKijJ4XBo7969qlGjBkOzAwAQJIwxOnz4sOrVq3fOpLpnIuxI2rt3rxo0aODvYgAAAA/s2bNHF110UZnrCTuSc1j2PXv2KDY21s+lAQAA7igoKFCDBg2c1/GyEHb0/7MKx8bGEnYAAAgyF2qCQgNlAABgaYQdAABgaYQdAABgabTZAQBYWnFxsU6ePOnvYsADVapUUXh4eIX3Q9gBAFiSMUZ5eXnKz8/3d1FQAfHx8UpKSqrQ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iBE6cuRIZR8OAAAIQH4NO0899ZRmz56tF198Ud99952eeuopPf3003rhhRec2zz99NOaNWuW5syZo7Vr16patWrq06ePjh8/7txm8ODB2rZtm5YuXarFixfrq6++0t133+2PQwIAAAHGZs6sRqlk1157rRITE/XKK684lw0YMEDR0dF64403ZIxRvXr19OCDD2r8+PGSJLvdrsTERM2bN0+33HKLvvvuO6WlpSkrK0sdO3aUJH3++ef67W9/q59++kn16tW7YDkKCgoUFxcnu92u2NhY3xwsAADwKnev336t2encubOWLVum77//XpK0ZcsWrVq1Sn379pUk7dq1S3l5eerVq5fzMXFxcerUqZMyMzMlSZmZmYqPj3cGHUnq1auXwsLCtHbt2lKf98SJEyooKHD5AwAA1hThzyefNGmSCgoK1KJFC4WHh6u4uFgzZszQ4MGDJUl5eXmSpMTERJfHJSYmOtfl5eUpISHBZX1ERIRq1arl3OZsGRkZmj59urcPBwAABCC/1uz885//1Jtvvqm33npLGzdu1Pz58/XnP/9Z8+fP9+nzTp48WXa73fm3Z88enz4fAADwH7/W7EyYMEGTJk3SLbfcIklq3bq1fvzxR2VkZGjo0KFKSkqSJO3bt0/JycnOx+3bt0+XXnqpJCkpKUn79+932e+pU6d06NAh5+PPFhUVpaioKB8cEQAACDR+rdkpLCxUWJhrEcLDw+VwOCRJqampSkpK0rJly5zrCwoKtHbtWqWnp0uS0tPTlZ+frw0bNji3Wb58uRwOhzp16lQJRwEAAAKZX2t2rrvuOs2YMUMNGzbUJZdcok2bNukvf/mLhg8fLkmy2WwaO3asnnjiCTVr1kypqamaMmWK6tWrp/79+0uSWrZsqWuuuUZ33XWX5syZo5MnT2rUqFG65ZZb3OqJBQAArM2vYeeFF17QlClTdN9992n//v2qV6+e/vCHP+jRRx91bvPQQw/p6NGjuvvuu5Wfn6+uXbvq888/V9WqVZ3bvPnmmxo1apR69uypsLAwDRgwQLNmzfLHIQEAgADj13F2AgXj7AAAEHyCYpwdAAAAXyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAAS/N72Pn555912223qXbt2oqOjlbr1q21fv1653pjjB599FElJycrOjpavXr10o4dO1z2cejQIQ0ePFixsbGKj4/XiBEjdOTIkco+FAAAEID8GnZ+/fVXdenSRVWqVNFnn32mb7/9Vs8884xq1qzp3Obpp5/WrFmzNGfOHK1du1bVqlVTnz59dPz4cec2gwcP1rZt27R06VItXrxYX331le6++25/HBIAAAgwNmOM8deTT5o0SatXr9a///3vUtcbY1SvXj09+OCDGj9+vCTJbrcrMTFR8+bN0y233KLvvvtOaWlpysrKUseOHSVJn3/+uX7729/qp59+Ur169S5YjoKCAsXFxclutys2NtZ7BwgAAHzG3eu3X2t2Fi1apI4dO+r3v/+9EhIS1K5dO82dO9e5fteuXcrLy1OvXr2cy+Li4tSpUydlZmZKkjIzMxUfH+8MOpLUq1cvhYWFae3ataU+74kTJ1RQUODyBwAArMmvYeeHH37Q7Nmz1axZM33xxRe69957NXr0aM2fP1+SlJeXJ0lKTEx0eVxiYqJzXV5enhISElzWR0REqFatWs5tzpaRkaG4uDjnX4MGDbx9aAAAIED4New4HA61b99eTz75pNq1a6e7775bd911l+bMmePT5508ebLsdrvzb8+ePT59PgAA4D9+DTvJyclKS0tzWdayZUvl5ORIkpKSkiRJ+/btc9lm3759znVJSUnav3+/y/pTp07p0KFDzm3OFhUVpdjYWJc/AABgTX4NO126dNH27dtdln3//fdq1KiRJCk1NVVJSUlatmyZc31BQYHWrl2r9PR0SVJ6erry8/O1YcMG5zbLly+Xw+FQp06dKuEoAABAIIvw55OPGzdOnTt31pNPPqmbb75Z69at09/+9jf97W9/kyTZbDaNHTtWTzzxhJo1a6bU1FRNmTJF9erVU//+/SWdrgm65pprnLe/Tp48qVGjRumWW25xqycWAACwNr92PZekxYsXa/LkydqxY4dSU1P1wAMP6K677nKuN8Zo6tSp+tvf/qb8/Hx17dpVL730kpo3b+7c5tChQxo1apQ+/vhjhYWFacCAAZo1a5aqV6/uVhnoeg4AQPBx9/rt97ATCAg7AAAEn6AYZwcAAMDXCDuQJOXaj2lN9kHl2o/5uygAAHiVXxsoIzAsyMrR5IXfyGGkMJuUcWNrDbysob+LBQCAV1CzE+Jy7cecQUeSHEZ6eOFWangAAJZB2Alxuw4edQadEsXGaPfBQv8UCAAALyPshLjUOtUUZnNdFm6zKaVOjH8KBACAlxF2QlxyXLQybmytcNvpxBNus+nJG1spOS7azyUDAMA7aKAMDbysobo1r6vdBwuVUieGoAMAsBS3w05BQYHbO2VgvuCTHBdNyAEAWJLbYSc+Pl42m+282xhjZLPZVFxcXOGCAQAAeIPbYWfFihW+LAd0uhv4roNHlVqnGrUsAAB4idthp3v37r4sR8hjYD8AAHzD4wbK+fn5euWVV/Tdd99Jki655BINHz5ccXFxXitcqChrYL9uzetSwwMAQAV51PV8/fr1atKkiZ599lkdOnRIhw4d0l/+8hc1adJEGzdu9HYZLY+B/QAA8B2PanbGjRun66+/XnPnzlVExOldnDp1SnfeeafGjh2rr776yquFtLqSgf3ODDwM7AcAgHd4XLMzceJEZ9CRpIiICD300ENav3691woXKhjYDwAA3/GoZic2NlY5OTlq0aKFy/I9e/aoRo0aXilYqGFgPwAAfMOjsDNw4ECNGDFCf/7zn9W5c2dJ0urVqzVhwgQNGjTIqwUMJQzsBwCA93kUdv785z/LZrPp9ttv16lTpyRJVapU0b333quZM2d6tYAAAAAVYTPGmAtvVrrCwkJlZ2dLkpo0aaKYmOBsUFtQUKC4uDjZ7XamugAAIEi4e/2u0ESgMTExat26dUV2AR9jVGYAQKjzKOwcP35cL7zwglasWKH9+/fL4XC4rGesncDAqMwAAHgYdkaMGKElS5bopptu0uWXX37BCUJR+RiVGQCA0zwKO4sXL9ann36qLl26eLs88JLzjcpM2AEAhBKPBhWsX78+4+kEuJJRmc/kzqjMufZjWpN9ULn2Yz4sHQAAlcejsPPMM89o4sSJ+vHHH71dHniJJ6MyL8jKUZeZy3Xr3LXqMnO5FmTlVFZxAQDwGY9uY3Xs2FHHjx9X48aNFRMToypVqrisP3TokFcKh4opz6jMtPEBAFiVR2Fn0KBB+vnnn/Xkk08qMTGRBsoBzN1RmWnjAwCwKo/Czpo1a5SZmam2bdt6uzzwE2ZeBwBYlUdtdlq0aKFjx2jAaiXMvA4AsCqPpotYsmSJpk+frhkzZqh169bntNkJtikXmC7i/+XajzHzOgAgKLh7/fYo7ISFna4QOrutjjFGNptNxcXF5d2lXxF2AAAIPj6dG2vFihUeFwwAAKAyeRR2unfv7tZ29913nx577DHVqVPHk6cBAACoMI8aKLvrjTfeUEFBgS+fAgAA4Lx8GnY8aA4EAADgVT4NOwAAAP5G2AEAAJZG2AEAAJZG2AEAAJbm07Bz2223MUgfAADwK4/G2ZGk/Px8rVu3Tvv375fD4XBZd/vtt0uSZs+eXbHSAQAAVJBHYefjjz/W4MGDdeTIEcXGxrpMG2Gz2ZxhBwAAwN88uo314IMPavjw4Tpy5Ijy8/P166+/Ov8OHTrk7TICAAB4zKOw8/PPP2v06NGKiYnxdnkAAAC8yqOw06dPH61fv97bZQEAAPA6t9vsLFq0yPnvfv36acKECfr222/VunVrValSxWXb66+/3nslBAAAqACbcXMCq7Aw9yqBbDabiouLK1SoylZQUKC4uDjZ7Xa6ygMAECTcvX67XbNzdvdyAACAYOBRm53XX39dJ06cOGd5UVGRXn/99QoXCgAAwFvcvo11pvDwcOXm5iohIcFl+S+//KKEhARuYwEAAJ9z9/rtUc2OMcZlIMESP/30k+Li4jzZJQAAgE+UawTldu3ayWazyWazqWfPnoqI+P+HFxcXa9euXbrmmmu8XkgAAABPlSvs9O/fX5K0efNm9enTR9WrV3eui4yMVEpKigYMGODVAqLy5dqPadfBo0qtU03JcdH+Lg4AABVSrrAzdepUSVJKSooGDhyoqlWr+qRQ8J8FWTmavPAbOYwUZpMybmytgZc19HexAADwmEcNlEsUFRWVOut5w4bBdXGkgfJpufZj6jJzuRxnvCPCbTatmnQVNTwAgIDj9XF2zrRjxw4NHz5ca9ascVle0nA52Hpj4bRdB4+6BB1JKjZGuw8WEnYAAEHLo7AzbNgwRUREaPHixUpOTi61ZxaCT2qdagqz6ZyanZQ6TPgKAAheHoWdzZs3a8OGDWrRooW3ywM/So6LVsaNrfXwwq0qNkbhNpuevLEVtToAgKDmUdhJS0vTwYMHvV0WBICBlzVUt+Z1tftgoVLqxBB0AABBz6NBBZ966ik99NBD+vLLL/XLL7+ooKDA5c9TM2fOlM1m09ixY53Ljh8/rpEjR6p27dqqXr26BgwYoH379rk8LicnR/369VNMTIwSEhI0YcIEnTp1yuNyhLrkuGilN6lN0AEAWIJHNTu9evWSJF199dUu7XUq0kA5KytLL7/8stq0aeOyfNy4cfrkk0/07rvvKi4uTqNGjdKNN96o1atXSzo9mGG/fv2UlJSkNWvWKDc3V7fffruqVKmiJ5980pPDAwDAibHHgp9HYWfFihVeLcSRI0c0ePBgzZ07V0888YRzud1u1yuvvKK33npLV199tSTptddeU8uWLfWf//xHV1xxhZYsWaJvv/1W//rXv5SYmKhLL71Ujz/+uCZOnKhp06YpMjLSq2UFAIQOxh6zBo9uY3Xv3l1hYWGaO3euJk2apKZNm6p79+7KyclReHh4ufc3cuRI9evXz1ljVGLDhg06efKky/IWLVqoYcOGyszMlCRlZmaqdevWSkxMdG7Tp08fFRQUaNu2baU+34kTJ7x26w0AYE259mPOoCOd7qn68MKtyrUf82/BUG4ehZ33339fffr0UXR0tDZt2qQTJ05IOl0TU95bR++88442btyojIyMc9bl5eUpMjJS8fHxLssTExOVl5fn3ObMoFOyvmRdaTIyMhQXF+f8a9CgQbnKHGpy7ce0JvsgH3AAIeV8Y48huHgUdp544gnNmTNHc+fOVZUqVZzLu3Tpoo0bN7q9nz179mjMmDF68803K3XqicmTJ8tutzv/9uzZU2nPHWwWZOWoy8zlunXuWnWZuVwLsnL8XSQAqBQlY4+dibHHgpNHYWf79u3q1q3bOcvj4uKUn5/v9n42bNig/fv3q3379oqIiFBERIRWrlypWbNmKSIiQomJiSoqKjpnn/v27VNSUpIkKSkp6ZzeWSX/L9nmbFFRUYqNjXX5w7mowgUQykrGHgv/X0ccxh4LXh41UE5KStLOnTuVkpLisnzVqlVq3Lix2/vp2bOnvvnmG5dld9xxh1q0aKGJEyeqQYMGqlKlipYtW+acTX379u3KyclRenq6JCk9PV0zZszQ/v37lZCQIElaunSpYmNjlZaW5snh4X+YPgJAqGPsMWvwKOzcddddGjNmjF599VXZbDbt3btXmZmZGj9+vKZMmeL2fmrUqKFWrVq5LKtWrZpq167tXD5ixAg98MADqlWrlmJjY3X//fcrPT1dV1xxhSSpd+/eSktL05AhQ/T0008rLy9Pf/zjHzVy5EhFRUV5cnj4H6aPAIDTNTyEnODmUdiZNGmSHA6HevbsqcLCQnXr1k1RUVEaP3687r//fq8W8Nlnn1VYWJgGDBigEydOqE+fPnrppZec68PDw7V48WLde++9Sk9PV7Vq1TR06FA99thjXi1HKGL6CACAFdiMMebCm5WuqKhIO3fu1JEjR5SWlqbq1at7s2yVxt0p4kNVrv0YVbgAgIDj7vXbo5qdEpGRkbSLCQFU4QIAgplHvbEAAACCBWEHAABYGmEHAABYGmEHAYWpKQAA3lahBsqANzG7MADAF6jZQUBgagoAgK8QdhAQmF0YAOArhB0EBGYXBgD4CmEHAYHZhQEAvkIDZQQMZhcGAPgCYQcBhakpAADexm0sAABgaYQdeITB/wAAwYLbWCg3Bv8DAAQTanZQLgz+BwAINoQdlAuD/wEAgg1hB+XC4H8AgGBD2EG5MPgfACDY0EAZ5cbgfwCAYELYgUcY/A8AECy4jQUAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsBNEmHwTAIDyo+t5kGDyTQAAPEPNThBg8k0AADxH2AkCgTT5JrfSAADBhttYQaBk8s0zA48/Jt/kVhoAIBhRsxMEAmHyTW6lAQCCFTU7QcLfk2+e71Yac2QBAAIZYSeI+HPyzUC5leZNufZj2nXwqFLrVCOwAYCFcRsLbgmEW2netCArR11mLtetc9eqy8zlWpCV4+8iAQB8xGaMMRfezNoKCgoUFxcnu92u2NhYfxcnoOXaj/ntVpq35NqPqcvM5efUUq2adFXQHhMAhCJ3r9/cxkK5+PNWmrfQ/ggAQgu3sRByStofnSnY2x8BAMpG2EHIsVr7IwDA+XEbCyHJ3135AQCVh7CDkGWF9kcAgAvjNhYAALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wk6QyLUf05rsg8q1H/N3UQAACCqMsxMEFmTlaPLCb+QwUphNyrixtQZe1tDfxQIAIChQsxPgcu3HnEFHkhxGenjhVmp4AABwE2EnwJ1vhm4AAHBhhJ0AxwzdAABUDGEnwDFDNwAAFUMD5SDADN0AAHiOsBMkmKEbAADPcBsLAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYml/DTkZGhi677DLVqFFDCQkJ6t+/v7Zv3+6yzfHjxzVy5EjVrl1b1atX14ABA7Rv3z6XbXJyctSvXz/FxMQoISFBEyZM0KlTpyrzUACfYzJYAPCMX8POypUrNXLkSP3nP//R0qVLdfLkSfXu3VtHjx51bjNu3Dh9/PHHevfdd7Vy5Urt3btXN954o3N9cXGx+vXrp6KiIq1Zs0bz58/XvHnz9Oijj/rjkACfWJCVoy4zl+vWuWvVZeZyLcjK8XeRACBo2Iwx5sKbVY4DBw4oISFBK1euVLdu3WS321W3bl299dZbuummmyRJ//3vf9WyZUtlZmbqiiuu0GeffaZrr71We/fuVWJioiRpzpw5mjhxog4cOKDIyMgLPm9BQYHi4uJkt9sVGxvr02MEyivXfkxdZi53mSMt3GbTqklXMfYSgJDm7vU7oNrs2O12SVKtWrUkSRs2bNDJkyfVq1cv5zYtWrRQw4YNlZmZKUnKzMxU69atnUFHkvr06aOCggJt27at1Oc5ceKECgoKXP6AQMVksABQMQETdhwOh8aOHasuXbqoVatWkqS8vDxFRkYqPj7eZdvExETl5eU5tzkz6JSsL1lXmoyMDMXFxTn/GjRo4OWjAbyHyWABoGICJuyMHDlSW7du1TvvvOPz55o8ebLsdrvzb8+ePT5/zlBGw9qKYTJYAKiYgJgba9SoUVq8eLG++uorXXTRRc7lSUlJKioqUn5+vkvtzr59+5SUlOTcZt26dS77K+mtVbLN2aKiohQVFeXlo0BpFmTlaPLCb+QwUphNyrixtQZe1tDfxQo6TAYLAJ7za82OMUajRo3SBx98oOXLlys1NdVlfYcOHVSlShUtW7bMuWz79u3KyclRenq6JCk9PV3ffPON9u/f79xm6dKlio2NVVpaWuUcCEqVaz/mDDqS5DDSwwu3+q2GJ9hrmJLjopXepDZBBwDKya81OyNHjtRbb72ljz76SDVq1HC2sYmLi1N0dLTi4uI0YsQIPfDAA6pVq5ZiY2N1//33Kz09XVdccYUkqXfv3kpLS9OQIUP09NNPKy8vT3/84x81cuRIam/87HwNayv7gk0NEwCELr/W7MyePVt2u109evRQcnKy82/BggXObZ599llde+21GjBggLp166akpCQtXLjQuT48PFyLFy9WeHi40tPTddttt+n222/XY4895o9DCniVWbsRKA1rA62GCQBQuQJqnB1/CZVxdvxRu7EgK0cPL9yqYmOcDWsru0ZlTfZB3Tp37TnL377rCqU3qV2pZQEAeI+71++AaKAM3yurdqNb87o+vaUUCA1rS2qYzh6Uj67bABAaAqbrOXzLnwPT+bthLV23ASC0UbMTIkK9diMQapiCTa79mHYdPKrUOtU4XwCCGmEnRJTUbpzdfiaULmLJcdEhdbwVQe81AFZCA2WFTgNl6fSvdWo3cD5MPAogWNBAGaWidgNnKu1WVSCNjwQA3kDYAUJUabequjWvq1+OnAjp9l2oGNp6IRARdoAQVNpQBJPe/0a2/4UcmySbTTKG3mtwH229EKgIO0AIKu1WldHpcFPy7zAjvXhrO7VvVJOggwvy11hegDsYZwcIQaVN5XE2h6Ra1aK4UMEtG3781W9jeQEXQtgBQtDZAy2G6fStqzPRTgfuWpCVo/vf2nTOct5DCBTcxgIsorwNQ88eaPGr7w+E9DhM8EzJ7auzxzAJs4n3EAIGYQewAE8bhp45FAGjTMMTpbX/kqRZt7TTtW3rVX6BgFJwGwvwo1z7Ma3JPqhc+7EK7aO0hqGe7NPf85gh+JTW/ivcZlOHlJr+KRBQCsIO4CcLsnLUZeZy3Tp3rbrMXK4FWTke7cefk7wCTLSLYMBtLMAPvNlNN9QneYX/cQsUgY6aHQQVb9z2CQTerI3hlzVKU9mfFW6BIpBRs4OgYaXRWb1dG1Pyy3rjj7/KYYw6ptTyUkkRjKz0WQG8gZodBAVvNsINBL6ojfnq+wO6/+1Nuv/tzRVqA4TgFmyfFavU1iKwUbODoGDFmbi92c6BofpRIpg+K9RAobJQs4OgUFb31mBvhOutdg70yEKJYPmsBFsNFIIbYQdBgUa45xcsFzj4XrB8VgjoqEzcxkLQoHtr2UoucEz3ACk4PiulNdIPkxQTyW9wbynvFDJWZjPGlDLQd2gpKChQXFyc7Ha7YmNj/V0cwGO59mMBfYELRcF6wTm73L44jgVZOc6AXoK2O97hi/ZQgfhedvf6TdgRYQeAbwTrBefsct/Qrr4+2PSzTxoSb9nzq/q/tEbmrGEYVk26KmAuqMEm135MXWYuP2doi4qc00BtTO7u9Zv6QgQkuqMi2PmiAa63phg5n9LK/f7Gn33SkDjXfkzrdh/S2T+5y2q7w/eCe7zdHsoKjclps4NKd6FfpoH6CwIoD293Aa+s4QXKmsX8TN7oyn7m5/xspTWu53vBfd4etDSYhjMoCzU7qFQX+mVqhV8QgOT9HnKV1XuptHKfraI9/c7+nJ+977Mb1/O9UD7e7pFnhd6ehB1UGne+sNz9Qqc6G4EuWC84pZV7QPv6Xu3KXlbt0ZR+LbVq0lXn1NjQTb38Bl7WUKsmXaW377qi1HNaHme/J8Ikjeia4p2CVhJuY6HSuFMV6k71K9XZCBbe7AJe1vACkrQm+6BXGyyXVu7xfS72Wk+/sj7nv22TXOq+PbktE4g9h3yhrOMsbXnJsmqR4TpaVFyuc1Pynnht1W79fdUP+tu/d+nvq3YFzfcvYQeVxp0vrAuNF8O0CAg2yXHRPgshX31/wNnrxtvB/+xye/M4yjsuVHm3D+QfRN4MYWUdZ2nLJZ1z69CTc/P3VT8E5fcvXc9F1/PKdOa4GiVfWKV90MoaL2ZN9kHdOnftOdu/fdcVSm9S26dlh/eFyq9vX/BF9+LKVt5xodzZPpDPizdDWFnHufC+dN3w0ppzBmvUWT80z3yMu+cmEL9/3b1+U7ODSuVutX5ZvyK93csA/hPIv76DgRV6yJS3tsid7QP1vHi7Vrqs48za/es5yx2SVEa1hrvnJtd+TL8cORG03780UEalq8jkl8Ey708wq4zG3/SuqTh3GyyHWmN+d86LP86JtxtZl3Wcl6XUPGd5mFRmDzt3wkpJL9r7394sY6T/ff0G1fcvNTsIOsEw708wKG06gNdW7dLcf++SUflqW8p7OypQf30HE3fasfiz9sxftygvdF78dU6qRYaXutyducBKO5dlHWfbBjXLbMh+9tQc7oSVs3+YGElhRnrx1nZq36hm0HxeCTsISt5sLBmKzjcdQAl3q9k9uXhwO7J05Q0I5wv+/mzM7+9blGWdF3+ek6NFxaUuLyxynPdx5zuXZR1nWctLlsVEhqmwyOHWj8XSfpg4JNWqFhVU38GEHSDElDUdQGkuVNvi6cWDWdrP5WlAKCv4+6v2LFB6TJZ2XvxZo+hp9/kLncuyXv/Slp+9rOR23vnCtVV+mBB2gBDjznQAJS70pVaRiwe3I/+fLwKCvy5SgXyL0p8Xbk8Cvi/Ppbvh2io/TAg7QIgp7Qu/NGHSBb/UKnrx4Hbkab64qPnrIhXINQH+vnCXN+D76lyWN1xb4YcJYQcIMaV94fdvV08fbtqrYmMUZpPu7NpYd3RNueCXmr8vHlbhq4uaPy5Sgf6eGHhZQ7VIqqGs3b/qspSaatugZqU+f3kCvq/OpSfhOth/mDCooBhU0JsYJC54nD1AW3kHeDvfvlB+7g64GSwC9T3hrcbTlfld5+1zGcgDL5aXu9dvwo4IO97i7x4YQLC70EWNHxMV462LfGV81/n6tbZKuGYEZVSqQOmB4SkuIggE57tVwI+JivNG26jK+K6rjNfaCu1wyoOwA68I5B4YF8JFBIEu2H9MBApvtI3y9XddZb7Wwd4OpzyYLgJe4e7Q9YHGX9MWhNoQ/qgYb081EKq8Md2Mr7/reK19g5odeEWg98Aoiz9qpMqqSeJWWvCo7NcqkLtz+4Ivz29Fb9/46ruu5JirRYaH1GtdWQg78Bpf3AP29UWlsi8iZdUk5R87qac++y+30oKAP257JsdFa2LfFs73SLD8mPBEZZzfit6+8fZ3XWnTt5QMBWHl17oy0RtL9MYKVJV1UanMXglrsg/q1rlrz1lus0nmrMAVjN1Arc5fXXbP/CzYJE3q20J/6N7EZ8/nL1bqEu2uso554X3pbs9fFcrojYWgVpmN9CqzV0JpNUlhOnc042Bp3B1q/HHbs7RZp5/+fLuuv7Se5d4fwdzRwVNlHXNhkUPpTWr7p1AWRANlBKTKbqSXHBet9Ca1ff6FWloDyYl9W3jc4JGGzpXLW41Ty/O6hVKD1UDr6FAZn69AO2aromYHAcnKDTJLq0mKj6lS7gaPdJl3daH2Xd5o/+WNxqnlfd2s/Fk4WyB1dKisz1cgHbOV0WZHtNkJVFYZ4dNd5RkSPhTbNpzPhS5M3r5weTp8v6evG5+F8j++IsHWH5+vQJ1ew13+6k1Kmx0EvVAb4bM8PURCsW1DWS7Uvsub7b/O/EL3pD2Fp68bnwX3eSPY+uPzFcwD/AVDLTNhBwEtmL8AfMmftzYCbTygC12YvHXh8sYXekVeNz4LF+atYBtKtw4rKlhG96aBMhCEvDESrCcWZOWoy8zlunXuWnWZuVwLsnJ8+nzuuFADT280APXWSNv+et1Chbcac/M6uS9YGtBTswPIs9oKf9dwVPatjUD9BXehBp7eaADqzdsavnzdyvOe9Pf71xe8WSMTarcOPRUstWCEHYQ8T25PBMo96sq8tRHI7YQudGGq6IWrPF/o7oQIX7xu5XlPBsr719u83bOJW4fuGdE1Va+s2lXm6N6BEKzpjSV6Y4UyT3pdhGpPqFA97hLu9IjyV4goz2tT3tcxEC5U5RXsPZuCxZnvd0m6tk2S7rqysdo2qFnqNr74TNAbC3CDJ7UVgVzD4UuhPh7IhWqH/HmbrzzvSXe2LQk43/xsD8o523xdIxOMAdDbzn6/S9Lir/P06Td5LpMbB8qtb8IOQpon95uD5R61LwRrOwZvXZzOdxH1Zwguz3vyQtue/Wu9RKC00fI3q94CLK/S3u+S6/skkH4YWqY31l//+lelpKSoatWq6tSpk9atW+fvIiEIeNLrItR7alTW1BreUhk9yHLtx/TLkRN+G/a/PO/J821b2q/1M/mql02wTHtS3l55wXJcniitl2OJkvdJIE2FYYmanQULFuiBBx7QnDlz1KlTJz333HPq06ePtm/froSEBH8XDwHufLUVZdUIBGsNR6ipjGr0s2ckL5nBvrJDcHnek2VtW9av9RK+uFAFU01JeWoqgum4PFESmie//40cZ60reZ8E0q1vSzRQ7tSpky677DK9+OKLkiSHw6EGDRro/vvv16RJky74eBooozRW/7IKBWuyD+rWuWvPWf72XVd4ZUbp0hr7hkl64dZ2at+oZtCF4NKOp4QvpqkItkbv7pY32I6rInLtx/Taqt36+6ofXHpjnfk+8WWD8ZBpoFxUVKQNGzZo8uTJzmVhYWHq1auXMjMz/VgyBLNAalgHz/m6fVVpv/QdkmpViwrK90lpv8QfuuZitbko3icXqkBq0+EOd2sqgu24KiI5LloP92upO7qmlBloAqELf9CHnYMHD6q4uFiJiYkuyxMTE/Xf//631MecOHFCJ06ccP6/oKDAp2VE8AmlLysr83U1uhUbq1fmLdpgPH/unJ9gPK6KCoRAcz6WaaBcHhkZGYqLi3P+NWjQwN9FQoAJpIZ1qJiBlzXUqklX6e27rtCqSVd59TaMVRurV1Yj9GA9fxc6P8F6XFYW9G12ioqKFBMTo/fee0/9+/d3Lh86dKjy8/P10UcfnfOY0mp2GjRoQJsduHBnEDlAYhC7irLq+bPqcQWSkGmzExkZqQ4dOmjZsmXOsONwOLRs2TKNGjWq1MdERUUpKiqqEkuJYESPK7gr0KvwA51Vz59VjysYBX3YkaQHHnhAQ4cOVceOHXX55Zfrueee09GjR3XHHXf4u2gIcnxZAUDws0TYGThwoA4cOKBHH31UeXl5uvTSS/X555+f02gZAACEnqBvs+MNjLMDAEDwcff6HZK9sQAAQOgg7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEuzxHQRFVUyiHRBQYGfSwIAANxVct2+0GQQhB1Jhw8fliQ1aNDAzyUBAADldfjwYcXFxZW5nrmxJDkcDu3du1c1atSQzWZz6zEFBQVq0KCB9uzZE9LzaXEeTuM8cA5KcB5O4zycxnnw7Tkwxujw4cOqV6+ewsLKbplDzY6ksLAwXXTRRR49NjY2NmTfwGfiPJzGeeAclOA8nMZ5OI3z4LtzcL4anRI0UAYAAJZG2AEAAJZG2PFQVFSUpk6dqqioKH8Xxa84D6dxHjgHJTgPp3EeTuM8BMY5oIEyAACwNGp2AACApRF2AACApRF2AACApRF2AACApRF2zjB79my1adPGOfBRenq6PvvsM+f648ePa+TIkapdu7aqV6+uAQMGaN++fS77yMnJUb9+/RQTE6OEhARNmDBBp06dquxD8aqZM2fKZrNp7NixzmWhcC6mTZsmm83m8teiRQvn+lA4B5L0888/67bbblPt2rUVHR2t1q1ba/369c71xhg9+uijSk5OVnR0tHr16qUdO3a47OPQoUMaPHiwYmNjFR8frxEjRujIkSOVfSgeS0lJOee9YLPZNHLkSEmh814oLi7WlClTlJqaqujoaDVp0kSPP/64y7xEofB+OHz4sMaOHatGjRopOjpanTt3VlZWlnO9Fc/BV199peuuu0716tWTzWbThx9+6LLeW8f89ddf68orr1TVqlXVoEEDPf300945AAOnRYsWmU8++cR8//33Zvv27ebhhx82VapUMVu3bjXGGHPPPfeYBg0amGXLlpn169ebK664wnTu3Nn5+FOnTplWrVqZXr16mU2bNplPP/3U1KlTx0yePNlfh1Rh69atMykpKaZNmzZmzJgxzuWhcC6mTp1qLrnkEpObm+v8O3DggHN9KJyDQ4cOmUaNGplhw4aZtWvXmh9++MF88cUXZufOnc5tZs6caeLi4syHH35otmzZYq6//nqTmppqjh075tzmmmuuMW3btjX/+c9/zL///W/TtGlTM2jQIH8ckkf279/v8j5YunSpkWRWrFhhjAmN94IxxsyYMcPUrl3bLF682Ozatcu8++67pnr16ub55593bhMK74ebb77ZpKWlmZUrV5odO3aYqVOnmtjYWPPTTz8ZY6x5Dj799FPzyCOPmIULFxpJ5oMPPnBZ741jttvtJjEx0QwePNhs3brVvP322yY6Otq8/PLLFS4/YecCatasaf7+97+b/Px8U6VKFfPuu+8613333XdGksnMzDTGnH4zhIWFmby8POc2s2fPNrGxsebEiROVXvaKOnz4sGnWrJlZunSp6d69uzPshMq5mDp1qmnbtm2p60LlHEycONF07dq1zPUOh8MkJSWZP/3pT85l+fn5Jioqyrz99tvGGGO+/fZbI8lkZWU5t/nss8+MzWYzP//8s+8K70NjxowxTZo0MQ6HI2TeC8YY069fPzN8+HCXZTfeeKMZPHiwMSY03g+FhYUmPDzcLF682GV5+/btzSOPPBIS5+DssOOtY37ppZdMzZo1XT4TEydONBdffHGFy8xtrDIUFxfrnXfe0dGjR5Wenq4NGzbo5MmT6tWrl3ObFi1aqGHDhsrMzJQkZWZmqnXr1kpMTHRu06dPHxUUFGjbtm2VfgwVNXLkSPXr18/lmCWF1LnYsWOH6tWrp8aNG2vw4MHKycmRFDrnYNGiRerYsaN+//vfKyEhQe3atdPcuXOd63ft2qW8vDyX8xAXF6dOnTq5nIf4+Hh17NjRuU2vXr0UFhamtWvXVt7BeElRUZHeeOMNDR8+XDabLWTeC5LUuXNnLVu2TN9//70kacuWLVq1apX69u0rKTTeD6dOnVJxcbGqVq3qsjw6OlqrVq0KiXNwNm8dc2Zmprp166bIyEjnNn369NH27dv166+/VqiMTAR6lm+++Ubp6ek6fvy4qlevrg8++EBpaWnavHmzIiMjFR8f77J9YmKi8vLyJEl5eXkuX2Yl60vWBZN33nlHGzdudLkPXSIvLy8kzkWnTp00b948XXzxxcrNzdX06dN15ZVXauvWrSFzDn744QfNnj1bDzzwgB5++GFlZWVp9OjRioyM1NChQ53HUdpxnnkeEhISXNZHRESoVq1aQXMezvThhx8qPz9fw4YNkxQ6nwdJmjRpkgoKCtSiRQuFh4eruLhYM2bM0ODBgyUpJN4PNWrUUHp6uh5//HG1bNlSiYmJevvtt5WZmammTZuGxDk4m7eOOS8vT6mpqefso2RdzZo1PS4jYecsF198sTZv3iy73a733ntPQ4cO1cqVK/1drEq1Z88ejRkzRkuXLj3n10soKfm1Kklt2rRRp06d1KhRI/3zn/9UdHS0H0tWeRwOhzp27Kgnn3xSktSuXTtt3bpVc+bM0dChQ/1cOv945ZVX1LdvX9WrV8/fRal0//znP/Xmm2/qrbfe0iWXXKLNmzdr7NixqlevXki9H/7xj39o+PDhql+/vsLDw9W+fXsNGjRIGzZs8HfRUAZuY50lMjJSTZs2VYcOHZSRkaG2bdvq+eefV1JSkoqKipSfn++y/b59+5SUlCRJSkpKOqcHRsn/S7YJBhs2bND+/fvVvn17RUREKCIiQitXrtSsWbMUERGhxMTEkDkXZ4qPj1fz5s21c+fOkHk/JCcnKy0tzWVZy5YtnbfzSo6jtOM88zzs37/fZf2pU6d06NChoDkPJX788Uf961//0p133ulcFirvBUmaMGGCJk2apFtuuUWtW7fWkCFDNG7cOGVkZEgKnfdDkyZNtHLlSh05ckR79uzRunXrdPLkSTVu3DhkzsGZvHXMvvycEHYuwOFw6MSJE+rQoYOqVKmiZcuWOddt375dOTk5Sk9PlySlp6frm2++cXlBly5dqtjY2HMuGIGsZ8+e+uabb7R582bnX8eOHTV48GDnv0PlXJzpyJEjys7OVnJycsi8H7p06aLt27e7LPv+++/VqFEjSVJqaqqSkpJczkNBQYHWrl3rch7y8/NdfvUuX75cDodDnTp1qoSj8J7XXntNCQkJ6tevn3NZqLwXJKmwsFBhYa6XjfDwcDkcDkmh936oVq2akpOT9euvv+qLL77Q7373u5A7B5L3Xvf09HR99dVXOnnypHObpUuX6uKLL67QLSxJdD0/06RJk8zKlSvNrl27zNdff20mTZpkbDabWbJkiTHmdPfShg0bmuXLl5v169eb9PR0k56e7nx8SffS3r17m82bN5vPP//c1K1bN+i6l5bmzN5YxoTGuXjwwQfNl19+aXbt2mVWr15tevXqZerUqWP2799vjAmNc7Bu3ToTERFhZsyYYXbs2GHefPNNExMTY9544w3nNjNnzjTx8fHmo48+Ml9//bX53e9+V2qX03bt2pm1a9eaVatWmWbNmgV0N9vSFBcXm4YNG5qJEyeesy4U3gvGGDN06FBTv359Z9fzhQsXmjp16piHHnrIuU0ovB8+//xz89lnn5kffvjBLFmyxLRt29Z06tTJFBUVGWOseQ4OHz5sNm3aZDZt2mQkmb/85S9m06ZN5scffzTGeOeY8/PzTWJiohkyZIjZunWreeedd0xMTAxdz71t+PDhplGjRiYyMtLUrVvX9OzZ0xl0jDHm2LFj5r777jM1a9Y0MTEx5oYbbjC5ubku+9i9e7fp27eviY6ONnXq1DEPPvigOXnyZGUfitedHXZC4VwMHDjQJCcnm8jISFO/fn0zcOBAl/FlQuEcGGPMxx9/bFq1amWioqJMixYtzN/+9jeX9Q6Hw0yZMsUkJiaaqKgo07NnT7N9+3aXbX755RczaNAgU716dRMbG2vuuOMOc/jw4co8jAr74osvjKRzjs2Y0HkvFBQUmDFjxpiGDRuaqlWrmsaNG5tHHnnEpatwKLwfFixYYBo3bmwiIyNNUlKSGTlypMnPz3eut+I5WLFihZF0zt/QoUONMd475i1btpiuXbuaqKgoU79+fTNz5kyvlN9mzBlDXwIAAFgMbXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAeKRHjx4aO3asv4vhc9OmTdOll17q72IAqADCDoCQVFRUVKnPZ4zRqVOnKvU5AZxG2AFQbsOGDdPKlSv1/PPPy2azyWazaffu3dq6dav69u2r6tWrKzExUUOGDNHBgwedj+vRo4fuv/9+jR07VjVr1lRiYqLmzp2ro0eP6o477lCNGjXUtGlTffbZZ87HfPnll7LZbPrkk0/Upk0bVa1aVVdccYW2bt3qUqZVq1bpyiuvVHR0tBo0aKDRo0fr6NGjzvUpKSl6/PHHdfvttys2NlZ33323JGnixIlq3ry5YmJi1LhxY02ZMsU56/K8efM0ffp0bdmyxXmc8+bN0+7du2Wz2bR582bn/vPz82Wz2fTll1+6lPuzzz5Thw4dFBUVpVWrVsnhcCgjI0OpqamKjo5W27Zt9d5773n7JQJwBsIOgHJ7/vnnlZ6errvuuku5ubnKzc1VjRo1dPXVV6tdu3Zav369Pv/8c+3bt08333yzy2Pnz5+vOnXqaN26dbr//vt177336ve//706d+6sjRs3qnfv3hoyZIgKCwtdHjdhwgQ988wzysrKUt26dXXdddc5Q0l2drauueYaDRgwQF9//bUWLFigVatWadSoUS77+POf/6y2bdtq06ZNmjJliiSpRo0amjdvnr799ls9//zzmjt3rp599llJ0sCBA/Xggw/qkksucR7nwIEDy3WuJk2apJkzZ+q7775TmzZtlJGRoddff11z5szRtm3bNG7cON12221auXJlufYLoBy8Mp0ogJDTvXt3M2bMGOf/H3/8cdO7d2+Xbfbs2eMyU3j37t1N165dnetPnTplqlWrZoYMGeJclpubaySZzMxMY8z/z7b8zjvvOLf55ZdfTHR0tFmwYIExxpgRI0aYu+++2+W5//3vf5uwsDBz7NgxY4wxjRo1Mv3797/gcf3pT38yHTp0cP5/6tSppm3bti7b7Nq1y0gymzZtci779ddfjSSzYsUKl3J/+OGHzm2OHz9uYmJizJo1a1z2N2LECDNo0KALlg2AZyL8GbQAWMeWLVu0YsUKVa9e/Zx12dnZat68uSSpTZs2zuXh4eGqXbu2Wrdu7VyWmJgoSdq/f7/LPtLT053/rlWrli6++GJ99913zuf++uuv9eabbzq3McbI4XBo165datmypSSpY8eO55RtwYIFmjVrlrKzs3XkyBGdOnVKsbGx5T7+spz5nDt37lRhYaF+85vfuGxTVFSkdu3aee05Abgi7ADwiiNHjui6667TU089dc665ORk57+rVKniss5ms7kss9lskiSHw1Gu5/7DH/6g0aNHn7OuYcOGzn9Xq1bNZV1mZqYGDx6s6dOnq0+fPoqLi9M777yjZ5555rzPFxZ2ugWAMca5rOSW2tnOfM4jR45Ikj755BPVr1/fZbuoqKjzPicAzxF2AHgkMjJSxcXFzv+3b99e77//vlJSUhQR4f2vlv/85z/O4PLrr7/q+++/d9bYtG/fXt9++62aNm1arn2uWbNGjRo10iOPPOJc9uOPP7psc/ZxSlLdunUlSbm5uc4amTMbK5clLS1NUVFRysnJUffu3ctVVgCeo4EyAI+kpKRo7dq12r17tw4ePKiRI0fq0KFDGjRokLKyspSdna0vvvhCd9xxxzlhwROPPfaYli1bpq1bt2rYsGGqU6eO+vfvL+l0j6o1a9Zo1KhR2rx5s3bs2KGPPvronAbKZ2vWrJlycnL0zjvvKDs7W7NmzdIHH3xwznHu2rVLmzdv1sGDB3XixAlFR0friiuucDY8Xrlypf74xz9e8Bhq1Kih8ePHa9y4cZo/f76ys7O1ceNGvfDCC5o/f77H5wbA+RF2AHhk/PjxCg8PV1pamurWrauioiKtXr1axcXF6t27t1q3bq2xY8cqPj7eedunImbOnKkxY8aoQ4cOysvL08cff6zIyEhJp9sBrVy5Ut9//72uvPJKtWvXTo8++qjq1at33n1ef/31GjdunEaNGqVLL71Ua9ascfbSKjFgwABdc801uuqqq1S3bl29/fbbkqRXX31Vp06dUocOHTR27Fg98cQTbh3H448/rilTpigjI0MtW7bUNddco08++USpqakenBUA7rCZM286A0CA+fLLL3XVVVfp119/VXx8vL+LAyAIUbMDAAAsjbADAAAsjdtYAADA0qjZAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlvZ/5oPfigwJYygAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABJXElEQVR4nO3deXwU9eH/8fcmkJBAEo6cIJAAckO4NaAclYqUnxaxFfHgEGhVqCBqAa0CogZrVay1oFjFowpVEe+DchZBCkKQeKDEYKImQMRsgIQAyef3B99sWXKQbPacfT0fjzweMDO7+5nZ2Zn3fD6f+YzNGGMEAABgESG+LgAAAIA7EW4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4A+MT8+fNls9lqtazNZtP8+fM9Wp6hQ4dq6NChfvt+AGqPcAMEueXLl8tmszn+GjRooFatWmnixIn64YcffF08v5OcnOy0veLj43XxxRfrjTfecMv7FxcXa/78+dqwYYNb3g8IRoQbAJKk++67Ty+++KKWLl2qkSNH6qWXXtKQIUN0/Phxj3zen/70J5WUlHjkvT2tV69eevHFF/Xiiy/qjjvu0I8//qgxY8Zo6dKl9X7v4uJiLViwgHAD1EMDXxcAgH8YOXKk+vXrJ0maMmWKYmNj9dBDD+mtt97S1Vdf7fbPa9CggRo0CMxDUKtWrXT99dc7/j9+/Hh16NBBjz32mG666SYflgyARM0NgGpcfPHFkqSsrCyn6V999ZV+85vfqHnz5mrUqJH69eunt956y2mZkydPasGCBTr//PPVqFEjtWjRQhdddJHWrFnjWKaqPjelpaW67bbbFBcXp6ioKF1xxRX6/vvvK5Vt4sSJSk5OrjS9qvd87rnn9Itf/ELx8fEKDw9X165dtWTJkjpti3NJTExUly5dlJ2dXeNyBw8e1OTJk5WQkKBGjRopNTVVzz//vGP+/v37FRcXJ0lasGCBo+nL0/2NAKsJzMsmAB63f/9+SVKzZs0c0z7//HMNGjRIrVq10pw5c9S4cWP961//0ujRo/X666/ryiuvlHQ6ZKSnp2vKlCkaMGCAioqKtGPHDu3cuVO//OUvq/3MKVOm6KWXXtK1116rgQMHat26dRo1alS91mPJkiXq1q2brrjiCjVo0EBvv/22brnlFpWXl2vatGn1eu8KJ0+eVG5urlq0aFHtMiUlJRo6dKj27dun6dOnKyUlRa+++qomTpyowsJCzZgxQ3FxcVqyZIluvvlmXXnllRozZowkqWfPnm4pJxA0DICg9txzzxlJ5t///rc5dOiQyc3NNa+99pqJi4sz4eHhJjc317HsJZdcYnr06GGOHz/umFZeXm4GDhxozj//fMe01NRUM2rUqBo/d968eebMQ1BGRoaRZG655Ran5a699lojycybN88xbcKECaZt27bnfE9jjCkuLq603IgRI0y7du2cpg0ZMsQMGTKkxjIbY0zbtm3NpZdeag4dOmQOHTpkdu/eba655hojyfzhD3+o9v0WL15sJJmXXnrJMe3EiRMmLS3NNGnSxBQVFRljjDl06FCl9QVQNzRLAZAkDR8+XHFxcWrdurV+85vfqHHjxnrrrbd03nnnSZIOHz6sdevW6eqrr9aRI0dUUFCggoIC/fTTTxoxYoS++eYbx91VTZs21eeff65vvvmm1p//3nvvSZJuvfVWp+kzZ86s13pFREQ4/m2321VQUKAhQ4bo22+/ld1ud+k9P/roI8XFxSkuLk6pqal69dVXdcMNN+ihhx6q9jXvvfeeEhMTNW7cOMe0hg0b6tZbb9XRo0e1ceNGl8oCoDKapQBIkp588kl17NhRdrtdzz77rDZt2qTw8HDH/H379skYo3vuuUf33HNPle9x8OBBtWrVSvfdd59+/etfq2PHjurevbsuu+wy3XDDDTU2r3z33XcKCQlR+/btnaZ36tSpXuv18ccfa968edq6dauKi4ud5tntdsXExNT5PS+44ALdf//9stlsioyMVJcuXdS0adMaX/Pdd9/p/PPPV0iI8zVlly5dHPMBuAfhBoAkacCAAY67pUaPHq2LLrpI1157rfbu3asmTZqovLxcknTHHXdoxIgRVb5Hhw4dJEmDBw9WVlaW3nzzTX300Ud65pln9Nhjj2np0qWaMmVKvcta3eB/ZWVlTv/PysrSJZdcos6dO+vRRx9V69atFRYWpvfee0+PPfaYY53qKjY2VsOHD3fptQA8j3ADoJLQ0FClp6dr2LBh+tvf/qY5c+aoXbt2kk43pdTmxN68eXNNmjRJkyZN0tGjRzV48GDNnz+/2nDTtm1blZeXKysry6m2Zu/evZWWbdasmQoLCytNP7v24+2331ZpaaneeusttWnTxjF9/fr15yy/u7Vt21afffaZysvLnWpvvvrqK8d8qfrgBqD26HMDoEpDhw7VgAEDtHjxYh0/flzx8fEaOnSonnrqKeXl5VVa/tChQ45///TTT07zmjRpog4dOqi0tLTazxs5cqQk6a9//avT9MWLF1datn379rLb7frss88c0/Ly8iqNEhwaGipJMsY4ptntdj333HPVlsNTfvWrXyk/P18rV650TDt16pSeeOIJNWnSREOGDJEkRUZGSlKV4Q1A7VBzA6Bad955p377299q+fLluummm/Tkk0/qoosuUo8ePTR16lS1a9dOBw4c0NatW/X9999r9+7dkqSuXbtq6NCh6tu3r5o3b64dO3botdde0/Tp06v9rF69emncuHH6+9//LrvdroEDB2rt2rXat29fpWWvueYazZ49W1deeaVuvfVWFRcXa8mSJerYsaN27tzpWO7SSy9VWFiYLr/8cv3+97/X0aNHtWzZMsXHx1cZ0Dzpd7/7nZ566ilNnDhRn376qZKTk/Xaa6/p448/1uLFixUVFSXpdAforl27auXKlerYsaOaN2+u7t27q3v37l4tLxDQfH27FgDfqrgVfPv27ZXmlZWVmfbt25v27dubU6dOGWOMycrKMuPHjzeJiYmmYcOGplWrVub//b//Z1577TXH6+6//34zYMAA07RpUxMREWE6d+5sHnjgAXPixAnHMlXdtl1SUmJuvfVW06JFC9O4cWNz+eWXm9zc3Cpvjf7oo49M9+7dTVhYmOnUqZN56aWXqnzPt956y/Ts2dM0atTIJCcnm4ceesg8++yzRpLJzs52LFeXW8HPdZt7de934MABM2nSJBMbG2vCwsJMjx49zHPPPVfptVu2bDF9+/Y1YWFh3BYOuMBmzBn1tQAAAAGOPjcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSgm4Qv/Lycv3444+KiopimHMAAAKEMUZHjhxRy5YtKz2A9mxBF25+/PFHtW7d2tfFAAAALsjNzdV5551X4zJBF24qhjjPzc1VdHS0j0sDAABqo6ioSK1bt3acx2sSdOGmoikqOjqacAMAQICpTZcSOhQDAABLIdwAAABLIdwAAABLCbo+NwCA4FFWVqaTJ0/6uhiopbCwsHPe5l0bhBsAgOUYY5Sfn6/CwkJfFwV1EBISopSUFIWFhdXrfQg3AADLqQg28fHxioyMZNDWAFAxyG5eXp7atGlTr++McAMAsJSysjJHsGnRooWvi4M6iIuL048//qhTp06pYcOGLr8PHYoBAJZS0ccmMjLSxyVBXVU0R5WVldXrfQg3AABLoikq8LjrOyPcAAAASyHcAAAAr9iwYYNsNpvH72LzabhJT09X//79FRUVpfj4eI0ePVp79+6t8TXLly+XzWZz+mvUqJGXSlyzPHuJtmQVKM9e4uuiAACC0Pz589WrVy9fF8PnfHq31MaNGzVt2jT1799fp06d0l133aVLL71UX3zxhRo3blzt66Kjo51CkD+0q67cnqO5q/ao3EghNil9TA+N7d/G18UCAKCSkydP1utuJH/n05qbDz74QBMnTlS3bt2Umpqq5cuXKycnR59++mmNr7PZbEpMTHT8JSQkeKnEVcuzlziCjSSVG+muVZnU4AAA6qS8vFzp6elKSUlRRESEUlNT9dprr0n6X5PO2rVr1a9fP0VGRmrgwIGOi/3ly5drwYIF2r17t6NlY/ny5ZJOnzeXLFmiK664Qo0bN9YDDzxQYzkqPuvDDz9U7969FRERoV/84hc6ePCg3n//fXXp0kXR0dG69tprVVxc7HhdaWmpbr31VsXHx6tRo0a66KKLtH37ds9srBr4VZ8bu90uSWrevHmNyx09elRt27ZV69at9etf/1qff/55tcuWlpaqqKjI6c/dsguOOYJNhTJjtL+guOoXAAAChje7HKSnp+uFF17Q0qVL9fnnn+u2227T9ddfr40bNzqWufvuu/XII49ox44datCggW688UZJ0tixY3X77berW7duysvLU15ensaOHet43fz583XllVdqz549jtecy/z58/W3v/1NW7ZsUW5urq6++motXrxYL7/8st5991199NFHeuKJJxzL//GPf9Trr7+u559/Xjt37lSHDh00YsQIHT582E1bqHb8ZhC/8vJyzZw5U4MGDVL37t2rXa5Tp0569tln1bNnT9ntdv3lL3/RwIED9fnnn+u8886rtHx6eroWLFjgyaIrJbaxQmxyCjihNpuSYxljAQACmTe7HJSWlurBBx/Uv//9b6WlpUmS2rVrp82bN+upp57S7373O0nSAw88oCFDhkiS5syZo1GjRun48eOKiIhQkyZN1KBBAyUmJlZ6/2uvvVaTJk2q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WArhBgAAWArhBgAAWArhBgAAWEpQh5slS5aoZ8+ejoGG0tLS9P777zvmHz9+XNOmTVOLFi3UpEkTXXXVVTpw4IDTe+Tk5GjUqFGKjIxUfHy87rzzTp06dcrbq+I2ixYtks1m08yZMx3TgmE7zJ8/Xzabzemvc+fOjvnBsA0q/PDDD7r++uvVokULRUREqEePHtqxY4djvjFG9957r5KSkhQREaHhw4frm2++cXqPw4cP67rrrlN0dLSaNm2qyZMn6+jRo95eFZclJydX2h9sNpumTZsmKTj2h7KyMt1zzz1KSUlRRESE2rdvr4ULFzo91ycY9gXp9HD/M2fOVNu2bRUREaGBAwdq+/btjvlW3A6bNm3S5ZdfrpYtW8pms2n16tVO8921zp999pkuvvhiNWrUSK1bt9af//xn96yACWJvvfWWeffdd83XX39t9u7da+666y7TsGFDk5mZaYwx5qabbjKtW7c2a9euNTt27DAXXnihGThwoOP1p06dMt27dzfDhw83u3btMu+9956JjY01c+fO9dUq1ct///tfk5ycbHr27GlmzJjhmB4M22HevHmmW7duJi8vz/F36NAhx/xg2AbGGHP48GHTtm1bM3HiRLNt2zbz7bffmg8//NDs27fPscyiRYtMTEyMWb16tdm9e7e54oorTEpKiikpKXEsc9lll5nU1FTzySefmP/85z+mQ4cOZty4cb5YJZccPHjQaV9Ys2aNkWTWr19vjAmO/eGBBx4wLVq0MO+8847Jzs42r776qmnSpIl5/PHHHcsEw75gjDFXX3216dq1q9m4caP55ptvzLx580x0dLT5/vvvjTHW3A7vvfeeufvuu82qVauMJPPGG284zXfHOtvtdpOQkGCuu+46k5mZaV555RUTERFhnnrqqXqXP6jDTVWaNWtmnnnmGVNYWGgaNmxoXn31Vce8L7/80kgyW7duNcac/vJDQkJMfn6+Y5klS5aY6OhoU1pa6vWy18eRI0fM+eefb9asWWOGDBniCDfBsh3mzZtnUlNTq5wXLNvAGGNmz55tLrroomrnl5eXm8TERPPwww87phUWFprw8HDzyiuvGGOM+eKLL4wks337dscy77//vrHZbOaHH37wXOE9aMaMGaZ9+/amvLw8aPaHUaNGmRtvvNFp2pgxY8x1111njAmefaG4uNiEhoaad955x2l6nz59zN133x0U2+HscOOudf773/9umjVr5vSbmD17tunUqVO9yxzUzVJnKisr04oVK3Ts2DGlpaXp008/1cmTJzV8+HDHMp07d1abNm20detWSdLWrVvVo0cPJSQkOJYZMWKEioqK9Pnnn3t9Hepj2rRpGjVqlNP6Sgqq7fDNN9+oZcuWateuna677jrl5ORICq5t8NZbb6lfv3767W9/q/j4ePXu3VvLli1zzM/OzlZ+fr7TtoiJidEFF1zgtC2aNm2qfv36OZYZPny4QkJCtG3bNu+tjJucOHFCL730km688UbZbLag2R8GDhyotWvX6uuvv5Yk7d69W5s3b9bIkSMlBc++cOrUKZWVlalRo0ZO0yMiIrR58+ag2Q5nctc6b926VYMHD1ZYWJhjmREjRmjv3r36+eef61XGoHtw5tn27NmjtLQ0HT9+XE2aNNEbb7yhrl27KiMjQ2FhYWratKnT8gkJCcrPz5ck5efnOx28KuZXzAsUK1as0M6dO53akCvk5+cHxXa44IILtHz5cnXq1El5eXlasGCBLr74YmVmZgbNNpCkb7/9VkuWLNGsWbN01113afv27br11lsVFhamCRMmONalqnU9c1vEx8c7zW/QoIGaN28eUNuiwurVq1VYWKiJEydKCp7fxJw5c1RUVKTOnTsrNDRUZWVleuCBB3TddddJUtDsC1FRUUpLS9PChQvVpUsXJSQk6JVXXtHWrVvVoUOHoNkOZ3LXOufn5yslJaXSe1TMa9asmctlDPpw06lTJ2VkZMhut+u1117ThAkTtHHjRl8Xy2tyc3M1Y8YMrVmzptKVSTCpuBqVpJ49e+qCCy5Q27Zt9a9//UsRERE+LJl3lZeXq1+/fnrwwQclSb1791ZmZqaWLl2qCRMm+Lh0vvGPf/xDI0eOVMuWLX1dFK/617/+pX/+8596+eWX1a1bN2VkZGjmzJlq2bJl0O0LL774om688Ua1atVKoaGh6tOnj8aNG6dPP/3U10VDNYK+WSosLEwdOnRQ3759lZ6ertTUVD3++ONKTEzUiRMnVFhY6LT8gQMHlJiYKElKTEysdIdExf8rlvF3n376qQ4ePKg+ffqoQYMGatCggTZu3Ki//vWvatCggRISEoJiO5ytadOm6tixo/bt2xc0+4IkJSUlqWvXrk7TunTp4miiq1iXqtb1zG1x8OBBp/mnTp3S4cOHA2pbSNJ3332nf//735oyZYpjWrDsD3feeafmzJmja665Rj169NANN9yg2267Tenp6ZKCa19o3769Nm7cqKNHjyo3N1f//e9/dfLkSbVr1y6otkMFd62zJ38nQR9uzlZeXq7S0lL17dtXDRs21Nq1ax3z9u7dq5ycHKWlpUmS0tLStGfPHqcvcM2aNYqOjq50gvBXl1xyifbs2aOMjAzHX79+/XTdddc5/h0M2+FsR48eVVZWlpKSkoJmX5CkQYMGae/evU7Tvv76a7Vt21aSlJKSosTERKdtUVRUpG3btjlti8LCQqer2nXr1qm8vFwXXHCBF9bCfZ577jnFx8dr1KhRjmnBsj8UFxcrJMT5FBEaGqry8nJJwbcvSFLjxo2VlJSkn3/+WR9++KF+/etfB+V2cNc6p6WladOmTTp58qRjmTVr1qhTp071apKSFNy3gs+ZM8ds3LjRZGdnm88++8zMmTPH2Gw289FHHxljTt/u2aZNG7Nu3TqzY8cOk5aWZtLS0hyvr7jd89JLLzUZGRnmgw8+MHFxcQF1u2dVzrxbypjg2A6333672bBhg8nOzjYff/yxGT58uImNjTUHDx40xgTHNjDm9HAADRo0MA888ID55ptvzD//+U8TGRlpXnrpJccyixYtMk2bNjVvvvmm+eyzz8yvf/3rKm8B7d27t9m2bZvZvHmzOf/88/36tteqlJWVmTZt2pjZs2dXmhcM+8OECRNMq1atHLeCr1q1ysTGxpo//vGPjmWCZV/44IMPzPvvv2++/fZb89FHH5nU1FRzwQUXmBMnThhjrLkdjhw5Ynbt2mV27dplJJlHH33U7Nq1y3z33XfGGPesc2FhoUlISDA33HCDyczMNCtWrDCRkZHcCl5fN954o2nbtq0JCwszcXFx5pJLLnEEG2OMKSkpMbfccotp1qyZiYyMNFdeeaXJy8tzeo/9+/ebkSNHmoiICBMbG2tuv/12c/LkSW+viludHW6CYTuMHTvWJCUlmbCwMNOqVSszduxYp7FdgmEbVHj77bdN9+7dTXh4uOncubN5+umnneaXl5ebe+65xyQkJJjw8HBzySWXmL179zot89NPP5lx48aZJk2amOjoaDNp0iRz5MgRb65GvX344YdGUqV1MyY49oeioiIzY8YM06ZNG9OoUSPTrl07c/fddzvdthss+8LK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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.6" } - ], - "source": [ - "# visualize with IDAES surrogate plotting tools\n", - "surrogate_scatter2D(poly_surr, data_validation, filename=\"pysmo_poly_val_scatter2D.pdf\")\n", - "surrogate_parity(poly_surr, data_validation, filename=\"pysmo_poly_val_parity.pdf\")\n", - "surrogate_residual(poly_surr, data_validation, filename=\"pysmo_poly_val_residual.pdf\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, the surrogate is trained and validated, we shall embed it in the property package, which is demonstrated in the [surrogate_embedding](./surrogate_embedding_test.ipynb) file." - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.6" }, - "orig_nbformat": 4 - }, - "nbformat": 4, - "nbformat_minor": 3 -} + "nbformat": 4, + "nbformat_minor": 3 +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/pysmo_training_usr.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/pysmo_training_usr.ipynb index 73934a11..657df4f4 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/pysmo_training_usr.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/pysmo_training_usr.ipynb @@ -1,667 +1,287 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Supercritical CO2 Property Surrogate with PySMO Surrogate Object - Training Surrogate (Part 1)\n", - "Maintainer: Javal Vyas\n", - "\n", - "Author: Javal Vyas\n", - "\n", - "Updated: 2024-01-24\n", - "## 1. Introduction\n", - "This notebook illustrates the use of the PySMO Polynomial surrogate trainer to produce an ML surrogate based on supercritical CO2 data from simulation using REFPROP package. PySMO also has other training methods like Radial Basis Function and Kriging surrogate models, but we focus on Polynomial surrogate model. \n", - "\n", - "There are several reasons to build surrogate models for complex processes, even when higher fidelity models already exist (e.g., reduce model size, improve convergence reliability, replace models with externally compiled code and make them fully-equation oriented).\n", - "\n", - "In this example, we intend to make a surrogate for the physical properties of S-CO2 to be embedded in the property package. This property package will be used to get the physical properties of S-CO2 in the flowsheet simulation. To learn more about property package, see the [IDAES-PSE](https://github.com/IDAES/idaes-pse) Github Page or IDAES [Read-the-docs](https://idaes-pse.readthedocs.io/en/latest/). \n", - "\n", - "\n", - "### 1.1 Need for ML Surrogates\n", - "\n", - "The properties predicted by the surrogate are enthalpy and entropy of the S-CO2 based on the \n", - "pressure and temperature of the system. The analytical equation of getting the enthalpy and entropy from pressure and temperature are in the differential form and would make the problem a DAE system. To counter this problem and keep the problem algebraic, we will use the ML surrogates and relate enthalpy and entropy with the pressure and temperature as an algebraic equation.\n", - "\n", - "### 1.2 Supercritical CO2 cycle process\n", - "\n", - "The following flowsheet will be used to optimize the design for the cooling of the fusion reactor using supercritical CO2 cycle. We shall focus on training the surrogate for this notebook and move to constructing the flowsheet and the properties package in the subsequent notebooks. The take away from this flowsheet is that, 3 variables can be measured in any given unit which are flow, pressure and temperature and other properties can be calculated using them. Thus, surrogate should have pressure and temperature as the inputs.\n", - "\n", - "In this example, we will train the model using polynomial regression for our data and then demonstrate that we can solve an optimization problem with that surrogate model. " - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from IPython.display import Image\n", - "from pathlib import Path\n", - "\n", - "\n", - "def datafile_path(name):\n", - " return Path(\"..\") / name\n", - "\n", - "\n", - "Image(datafile_path(\"CO2_flowsheet.png\"))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2. Training and Validating Surrogate\n", - "\n", - "First, let's import the required Python and IDAES modules:" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "# Import statements\n", - "import os\n", - "import numpy as np\n", - "import pandas as pd\n", - "\n", - "# Import IDAES libraries\n", - "from idaes.core.surrogate.sampling.data_utils import split_training_validation\n", - "from idaes.core.surrogate.pysmo_surrogate import PysmoPolyTrainer, PysmoSurrogate\n", - "from idaes.core.surrogate.plotting.sm_plotter import (\n", - " surrogate_scatter2D,\n", - " surrogate_parity,\n", - " surrogate_residual,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.1 Importing Training and Validation Datasets\n", - "\n", - "In this section, we read the dataset from the CSV file located in this directory. 500 data points were simulated for S-CO2 physical properties using REFPROP package. This example is trained on the entire dataset because neural network can overfit on smaller dataset. The data is separated using an 80/20 split into training and validation data using the IDAES split_training_validation() method.\n", - "\n", - "We rename the column headers because they contained \".\", which may cause errors while reading the column names in subsequent code, thus as a good practice we change them to the variable names to be used in the property package. Further, the input variables are **pressure**, **temperature** , while the output variables are **enth_mol**, **entr_mol**, hence we create two new dataframes for the input and output variables. " - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "# Import training data\n", - "np.set_printoptions(precision=6, suppress=True)\n", - "\n", - "csv_data = pd.read_csv(datafile_path(\"500_Points_DataSet.csv\"))\n", - "csv_data.columns.values[0:6] = [\n", - " \"pressure\",\n", - " \"temperature\",\n", - " \"enth_mol\",\n", - " \"entr_mol\",\n", - " \"CO2_enthalpy\",\n", - " \"CO2_entropy\",\n", - "]\n", - "data = csv_data.sample(n=500)\n", - "\n", - "input_data = data.iloc[:, :2]\n", - "output_data = data.iloc[:, 2:4]\n", - "\n", - "# # Define labels, and split training and validation data\n", - "input_labels = list(input_data.columns)\n", - "output_labels = list(output_data.columns)\n", - "\n", - "n_data = data[input_labels[0]].size\n", - "data_training, data_validation = split_training_validation(data, 0.8, seed=n_data)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.2 Training Surrogates with PySMO\n", - "\n", - "IDAES builds a model class for each type of PySMO surrogate model. In this case, we will call and build the Polynomial Regression class. Regression settings can be directly passed as class arguments, as shown below. In this example, allowed basis terms span a 5th order polynomial, a variable product as well as a extra features are defined, and data is internally cross-validated using 10 iterations of 80/20 splits to ensure a robust surrogate fit. Note that PySMO uses cross-validation of training data to adjust model coefficients and ensure a more accurate fit, while we separate the validation dataset pre-training in order to visualize the surrogate fits.\n", - "\n", - "Finally, after training the model we save the results and model expressions to a folder which contains a serialized JSON file. Serializing the model in this fashion enables importing a previously trained set of surrogate models into external flowsheets. This feature will be used later." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; previous file will be overwritten.\n", - "\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "No iterations will be run.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "\n", - "Best surrogate model is of order 5 with a cross-val S.S. Error of 20466.657669\n", - "\n", - "------------------------------------------------------------\n", - "The final coefficients of the regression terms are: \n", - "\n", - "k | -534397.59515\n", - "(x_ 1 )^ 1 | -2733.579691\n", - "(x_ 2 )^ 1 | 1036.106357\n", - "(x_ 1 )^ 2 | 32.409203\n", - "(x_ 2 )^ 2 | -2.852387\n", - "(x_ 1 )^ 3 | 0.893563\n", - "(x_ 2 )^ 3 | 0.004018\n", - "(x_ 1 )^ 4 | -0.045284\n", - "(x_ 2 )^ 4 | -3e-06\n", - "(x_ 1 )^ 5 | 0.000564\n", - "(x_ 2 )^ 5 | 0.0\n", - "x_ 1 .x_ 2 | 4.372684\n", - "\n", - "The coefficients of the extra terms in additional_regression_features are:\n", - "\n", - "Coeff. additional_regression_features[ 1 ]: -0.002723\n", - "Coeff. additional_regression_features[ 2 ]: 3.6e-05\n", - "Coeff. additional_regression_features[ 3 ]: -0.050607\n", - "Coeff. additional_regression_features[ 4 ]: 169668.814595\n", - "Coeff. additional_regression_features[ 5 ]: -44.726026\n", - "\n", - "Regression model performance on training data:\n", - "Order: 5 / MAE: 134.972465 / MSE: 54613.278159 / R^2: 0.999601\n", - "\n", - "Results saved in solution.pickle\n", - "2023-08-19 23:48:46 [INFO] idaes.core.surrogate.pysmo_surrogate: Model for output enth_mol trained successfully\n", - "\n", - "===========================Polynomial Regression===============================================\n", - "\n", - "Warning: solution.pickle already exists; previous file will be overwritten.\n", - "\n", - "No iterations will be run.\n", - "Default parameter estimation method is used.\n", - "Parameter estimation method: pyomo \n", - "\n", - "No iterations will be run.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: maxIterations\n", - " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations\n", - " Exceeded.\n", - "\n", - "Best surrogate model is of order 5 with a cross-val S.S. Error of 0.156437\n", - "\n", - "------------------------------------------------------------\n", - "The final coefficients of the regression terms are: \n", - "\n", - "k | -519.862457\n", - "(x_ 1 )^ 1 | -8.820865\n", - "(x_ 2 )^ 1 | 3.676641\n", - "(x_ 1 )^ 2 | 0.18002\n", - "(x_ 2 )^ 2 | -0.010217\n", - "(x_ 1 )^ 3 | -0.000783\n", - "(x_ 2 )^ 3 | 1.4e-05\n", - "(x_ 1 )^ 4 | -6.9e-05\n", - "(x_ 2 )^ 4 | -0.0\n", - "(x_ 1 )^ 5 | 1e-06\n", - "(x_ 2 )^ 5 | 0.0\n", - "x_ 1 .x_ 2 | 0.010367\n", - "\n", - "The coefficients of the extra terms in additional_regression_features are:\n", - "\n", - "Coeff. additional_regression_features[ 1 ]: -7e-06\n", - "Coeff. additional_regression_features[ 2 ]: 0.0\n", - "Coeff. additional_regression_features[ 3 ]: -0.000112\n", - "Coeff. additional_regression_features[ 4 ]: 484.312223\n", - "Coeff. additional_regression_features[ 5 ]: -0.1166\n", - "\n", - "Regression model performance on training data:\n", - "Order: 5 / MAE: 0.398072 / MSE: 0.495330 / R^2: 0.998873\n", - "\n", - "Results saved in solution.pickle\n", - "2023-08-19 23:49:20 [INFO] idaes.core.surrogate.pysmo_surrogate: Model for output entr_mol trained successfully\n" - ] - } - ], - "source": [ - "# Create PySMO trainer object\n", - "trainer = PysmoPolyTrainer(\n", - " input_labels=input_labels,\n", - " output_labels=output_labels,\n", - " training_dataframe=data_training,\n", - ")\n", - "\n", - "var = output_labels\n", - "trainer.config.extra_features = [\n", - " \"pressure*temperature*temperature\",\n", - " \"pressure*pressure*temperature*temperature\",\n", - " \"pressure*pressure*temperature\",\n", - " \"pressure/temperature\",\n", - " \"temperature/pressure\",\n", - "]\n", - "# Set PySMO options\n", - "trainer.config.maximum_polynomial_order = 5\n", - "trainer.config.multinomials = True\n", - "trainer.config.training_split = 0.8\n", - "trainer.config.number_of_crossvalidations = 10\n", - "\n", - "# Train surrogate (calls PySMO through IDAES Python wrapper)\n", - "poly_train = trainer.train_surrogate()\n", - "\n", - "# create callable surrogate object\n", - "xmin, xmax = [7, 306], [40, 1000]\n", - "input_bounds = {input_labels[i]: (xmin[i], xmax[i]) for i in range(len(input_labels))}\n", - "poly_surr = PysmoSurrogate(poly_train, input_labels, output_labels, input_bounds)\n", - "# save model to JSON\n", - "model = poly_surr.save_to_file(\"pysmo_poly_surrogate.json\", overwrite=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.3 Visualizing surrogates\n", - "Now that the surrogate models have been trained, the models can be visualized through scatter, parity and residual plots to confirm their validity in the chosen domain. The training data will be visualized first to confirm the surrogates are fit the data, and then the validation data will be visualized to confirm the surrogates accurately predict new output values." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, + "cells": [ { - "data": { - "image/png": "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yvcswiciouaoQUPY4sWL8fLLL1c45ujRo9i5cycKCwvx2GOP1dOVNYzHHnsMCxYsUL4vKChAUFBQA16RmnmTVTl0xccvR16eJ7TaYpSUOCl3SV66dKnC2St7XfDj4uLQvXt3G88gIiJqXho0hD388MOYOXNmhWM6deqE7777DsnJyXByclId69+/P6ZOnYo1a9agXbt2OH/+vOq4/H27du2U/9oaY35cfszf31815pZbblHGXLhwQXWO0tJS5OXlVfo65q9hi5OTk9V7bEhZWRpkZATD0zMXAKw22966dSzi45fj8mVPq3AGbAYATJs2rVqv6ePjU6vvgYiIqLFq0BDm4+NTpV+6b7zxBp5//nnl+6ysLMTExGDdunWIjIwEAOj1ejz++OMoKSmBVqsFACQkJKBbt27K8p9er8euXbsQHx+vnCshIQF6vR4AEBISgnbt2mHXrl1K6CooKEBKSgruv/9+5Rz5+flITU1FREQEAOC7776D0Wis1rU0tMq637//PjBnji+MxhlKIb6tNhWZmYE2w5m83ZCLiwvmzZuH4uJi5Ofno7S01Oq1tFotdDodlx2JiKhlEU1QRkaGACAOHjyoPJafny/8/PzE9OnTRVpamli7dq1wcXER7777rjJm3759olWrVuLVV18VR48eFU8//bTQarXit99+U8a89NJLwsPDQ3z11Vfi8OHD4h//+IcICQkR169fV8aMGjVK9OvXT6SkpIi9e/eKLl26iClTplTrWqrCYDAIAMJgMNTgU7Jv1SohNBohANN/V61SH8/MLD8uf0lSmQDKrB6bNGm96jH5a8aMD8WSJUtEVlZWrV47ERFRY1fV39/NJoQJIcSvv/4qhgwZIpycnET79u3FSy+9ZPXc9evXi65duwpHR0fRs2dPsX37dtVxo9EonnzySeHn5yecnJzE7bffLo4fP64ak5ubK6ZMmSLatGkj3N3dxV133SUKCwurfS2VqYsQZitgOTiYHpd99511qAKEGDRo719hzBTAxo//Ssyf/5rymHk4mz//NYYwIiJqkar6+1sSQoiGnIkj+woKCqDT6WAwGODu7l4r59y9G7jtNtuP33qr6c/nzgEdOwJGsw4UkmTExImb4OFxGSUljqq7Gm0V7Mvd7ufMmaOqryMiImruqvr7u0m0qKDa06ULoNGoA5aDA9C5s+nPubm5cHAo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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj4AAAHHCAYAAAC/R1LgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAACH+klEQVR4nO2deXxTVd7/P+nK1qbQUtraQkthdJBFqYiFERCKwE9weECpC8oOOqAiDigP48K4IKCI4LgwIjgqCgJuODoURUelMooi4iADPEXAlqWBBqRCS3N/f2RuSNK7r+fefN+vFy9tcpOcnJx7zud8t+PhOI4DQRAEQRBEDBBndwMIgiAIgiCsgoQPQRAEQRAxAwkfgiAIgiBiBhI+BEEQBEHEDCR8CIIgCIKIGUj4EARBEAQRM5DwIQiCIAgiZiDhQxAEQRBEzEDChyAIgiCImIGED0EQBIOsXLkSHo8H+/fvt7spBOEqSPgQRIzy1VdfYdq0abj44ovRvHlztG3bFqNGjcJ//vOfRtf269cPHo8HHo8HcXFxSE1NxYUXXohbbrkFZWVlqj73vffeQ9++fZGZmYlmzZqhffv2GDVqFD788EOjvlojHnvsMbz99tuNHt+yZQseeugh1NTUmPbZ0Tz00EOhvvR4PGjWrBk6deqEP/3pTzh58qQhn7Fq1SosXrzYkPciCLdBwocgYpT58+dj3bp1GDBgAJ5++mlMnjwZ//znP9G9e3fs3Lmz0fW5ubl45ZVX8Le//Q0LFy7Etddeiy1btuDqq69GaWkp6uvrZT/ziSeewLXXXguPx4PZs2fjqaeewsiRI7Fnzx688cYbZnxNANLCZ+7cuZYKH57nnnsOr7zyChYtWoSLLroIjz76KAYPHgwjjk8k4UMQ4iTY3QCCIOxhxowZWLVqFZKSkkKPlZaWokuXLnj88cfx6quvRlzv9XoxevToiMcef/xx3HnnnXj22WeRn5+P+fPni37euXPn8PDDD2PgwIHYuHFjo+ePHj2q8xuxQ21tLZo1ayZ5zXXXXYeMjAwAwG233YaRI0di/fr1+PLLL1FcXGxFMwkiJiGLD0HEKL169YoQPQDQsWNHXHzxxdi1a5ei94iPj8eSJUvQqVMnPPPMM/D7/aLXVldX4+TJk+jdu7fg85mZmRF/nzlzBg899BB+85vfoEmTJsjOzsaIESOwb9++0DVPPPEEevXqhfT0dDRt2hRFRUVYu3ZtxPt4PB6cPn0aL7/8csi9NHbsWDz00EOYOXMmAKCgoCD0XHhMzauvvoqioiI0bdoUrVq1wg033ICDBw9GvH+/fv3QuXNnbNu2DX369EGzZs3wv//7v4r6L5z+/fsDACoqKiSve/bZZ3HxxRcjOTkZOTk5mDp1aoTFql+/fnj//ffx008/hb5Tfn6+6vYQhFshiw9BECE4jsORI0dw8cUXK35NfHw8brzxRtx///34/PPPcc011whel5mZiaZNm+K9997DHXfcgVatWom+Z0NDA4YOHYqPPvoIN9xwA+666y6cOnUKZWVl2LlzJwoLCwEATz/9NK699lrcfPPNqKurwxtvvIHrr78eGzZsCLXjlVdewcSJE3H55Zdj8uTJAIDCwkI0b94c//nPf/D666/jqaeeCllfWrduDQB49NFHcf/992PUqFGYOHEijh07hqVLl6JPnz749ttvkZaWFmqvz+fDkCFDcMMNN2D06NFo06aN4v7j4QVdenq66DUPPfQQ5s6di5KSEtx+++3YvXs3nnvuOXz11Vf44osvkJiYiDlz5sDv9+PQoUN46qmnAAAtWrRQ3R6CcC0cQRDEf3nllVc4ANzy5csjHu/bty938cUXi77urbfe4gBwTz/9tOT7P/DAAxwArnnz5tyQIUO4Rx99lNu2bVuj61566SUOALdo0aJGzwUCgdD/19bWRjxXV1fHde7cmevfv3/E482bN+fGjBnT6L0WLlzIAeAqKioiHt+/fz8XHx/PPfrooxGPf//991xCQkLE43379uUAcM8//7zo9w7nwQcf5ABwu3fv5o4dO8ZVVFRwL7zwApecnMy1adOGO336NMdxHLdixYqIth09epRLSkrirr76aq6hoSH0fs888wwHgHvppZdCj11zzTVcu3btFLWHIGINcnURBAEA+PHHHzF16lQUFxdjzJgxql7LWxROnToled3cuXOxatUqXHrppfjHP/6BOXPmoKioCN27d49wr61btw4ZGRm44447Gr2Hx+MJ/X/Tpk1D/3/ixAn4/X5ceeWV+Oabb1S1P5r169cjEAhg1KhRqK6uDv3LyspCx44dsXnz5ojrk5OTMW7cOFWfceGFF6J169YoKCjAlClT0KFDB7z//vuisUGbNm1CXV0dpk+fjri481P3pEmTkJqa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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "###############################################################################" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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PQAgCAH4+OPLkJKyF3Z7VYt1QOBSVzOx+i+4Of8gXHzxxRgyZAhWr14NwFUt+cUXX8TPP/+Mt956C19++SXuueceAMCIESOwaNEiREVFSVOVd911FwCgtrYWjzzyCH788Ud89NFH2LdvH2bNmtVs10FERK3PsWMxUtAjEoQAHDvWuYVG5NJmAp+FCxfi3HPPRWRkJLp27YrLL78cu3fvVhzz+++/Y968eYiJiUHHjh0xdepUHD58uIVG3Db0798f+/btAwDk5ORgzJgxSEpKwsUXX4xHH30Uubm5AFzLcHa7HTabDd27d0f37t3RsWNHAMD111+PiRMnonfv3jj//PPx4osvYt26dTh58mRLXRYREbWwzp0rYLMp80htNic6dz7WQiNyaTOBz9dff4158+bh22+/RV5eHmprazFu3DicOnVKOub222/Hxx9/jH/961/4+uuvUVpaiilTprTgqFs/QRCkpav8/Hxccskl6NGjByIjI3HttdeioqIC1dXVhufYsmULJk2ahJ49eyIyMhKjR48GABw4cKDJx09ERK2T3V6FSZPWSsGPmONjt1e16LjaTI7PZ599pvh52bJl6Nq1K7Zs2YJRo0bB4XBgyZIleO+993DxxRcDAJYuXYqzzjoL3377Lc4///yWGHart2vXLiQnJ2Pfvn247LLLcPPNN+Oxxx5D586d8c033yArKws1NTW6LTpOnTqF8ePHY/z48Xj33XfRpUsXHDhwAOPHj2cHeyIiPzds2A9ISdmLY8c6o3PnYy0e9ABtKPBRczgcAIDOnV1rhVu2bEFtbS0yMjKkY/r374+ePXuioKBAN/A5c+YMzpw5I/184sSJJhx16/Lll1/ip59+wu23344tW7bA6XTi2WeflZqvistcopCQELcWEr/88gsqKirwxBNPIDExEQDw/fffN88FEBFRq2e3V7WKgEfUJgMfp9OJnJwcjBw5EoMGDQIAHDp0CCEhIW51Zrp164ZDhw7pnmvhwoVYsGBBUw63VThz5gwOHTqk2M6+cOFCXHbZZbjuuuuwY8cO1NbWYvHixZg0aRI2bdqEV155RXGOpKQknDx5El988QWGDBmC8PBw9OzZEyEhIVi8eDFuuukm7NixA4888kgLXSURETUXeYmW0tIAFBcHITm5DiEh5bqfcTgicexYDDp3Zh0fj8ybNw87duzAN9980+hz3X///bjjjjukn0+cOCHNXLQnn332GeLi4hAUFIROnTphyJAhePHFFzFz5kwEBARgyJAheO655/Dkk0/i/vvvx6hRo7Bw4UJcd9110jlGjBiBm266CZmZmaioqJC2sy9btgx//etf8eKLL2LYsGF45plnMHny5Ba8WiIiakpFRUVYvnw5AGDTpnTk5WUAEGv1FGLYMPfPqGv69OpVjdtua95xA4BNEASh+b/We9nZ2fj3v/+N//znP0hOTpZe//LLL3HJJZfg+PHjilmfXr16IScnB7fffrul8584cQJ2ux0OhwNRUVGK937//XcUFxcjOTkZHTp08GjcLV3Hp61pzL0mIqKmI3+euYKesQAaGkvbbE7k5CyC3V6FKVOmICgoCAcPAhMm9IfT2XBcYKCAwsIjSEoK8slzz+j5LddmZnwEQcAtt9yCDz/8EF999ZUi6AGA1NRUBAcH44svvsDUqVMBALt378aBAweQnp7eEkNWiImJQXZ2dotVbiYiIgIa30VAXqAwPz8D8qAHaKjVY7dXISgoCLm5uSguToLTeZbiuPp6GxYvXofk5P3N+pf+NhP4zJs3D++99x7+/e9/IzIyUsrbsdvtCAsLg91uR1ZWFu644w507twZUVFRuOWWW5Cent5qdnQxqCEiopbky9UHrQKFLg21eurq6gA01PSRHy+v6dOcu4DbTB2fl19+GQ6HAxdddBHi4uKkXytWrJCOef7553HZZZdh6tSpGDVqFLp37y5VJSYiIvJ3vuwioFWgEBAwdmy+2y6u1lTTp83M+FhJRerQoQP+8Y9/4B//+EczjIiIiKhlNXbZSr7LytMgRAxm5AnLGRn5GDmyQPP41lLTp80EPkRERNSgsctWRp3TrfI0mGkNNX3azFIXERERNWjMspVe53SHI9LjcdjtVUhO3t/iAY1VDHyIiIj8THN1Tg8ODvbp+XyBgQ8REVE74HBEorg4ydKsTWM6p4eEhFgaw8SJE1FbW2s+8GbGHB8iIqI2ztN8Ha3EZPkuq/JyZdsJeZK0vC6dw+GQdlerx1BUtPaP/J8k0+Rpo2DK1xj4UKN99dVXGDNmjFvVbCNJSUnIyclBTk5Ok46NiKg1aMzuK73PisGJXr5OSspet2BDHmDoJSY7HJF49tmtbsGKPElaPVa9Mbg2ZLsHY5mZmbDb7abX3hQY+PiBWbNm4a233sLcuXPdGo/OmzcP//znPzFz5kwsW7asZQZIRNSONWb3lZXPGuXrqAMfrS4C5eXlUs07o5kjo8BNbwzy38uDMbvdjri4OMPraioMfPxEYmIiPvjgAzz//PMICwsD4OqH9d5776Fnz54tPDoiovarMbuvPCkkqFcVWU1vdsVs5mjPnj0oLy9HUFCQNLsvzjppjUFNLxhrbkxu9hPDhg1DYmKiopL16tWr0bNnTwwdOlR67cyZM7j11lvRtWtXdOjQARdccAG+++47xbk+/fRT/OlPf0JYWBjGjBmDffv2uX3fN998gwsvvBBhYWFITEzErbfeilOnTjXZ9RERtaSKigqUlZVp/lLny3hyPvVntRKYzaoiW82f0Zu12blzAByOSGzYsAGrV69Gbm4uXnvtNbz22mvSM0VrDIB3ydNNjTM+LeTgQWDPHqBvXyAhoXm+8/rrr8fSpUtxzTXXAADefPNNzJ49G1999ZV0zD333INVq1bhrbfeQq9evfDUU09h/Pjx2Lt3Lzp37oySkhJMmTIF8+bNw5w5c/D999/jzjvvVHxPUVERJkyYgEcffRRvvvkmjh49iuzsbGRnZ2Pp0qXNc7FERM3E6lKWyKxast75jJahHn00GQ8+eBT79gUhKakO8fHnAjjXo/wZ7VkbAZ9/PgHr14+Tvk9v/OqcoaKiPrrJ0y2JgU8LWLIEmDMHcDqBgADgtdeArKym/94ZM2bg/vvvx/79+wEAmzZtwgcffCAFPqdOncLLL7+MZcuWYeLEiQCA119/HXl5eViyZAnuvvtuvPzyy0hJScGzzz4LAOjXrx9++uknPPnkk9L3LFy4ENdcc42UuNy3b1+8+OKLGD16NF5++WV06NCh6S+WiKiZeNJg08ruK08KDorLULGxsYiL64bUVOvjFpOmxVkl9U4vQIDYeV38vtOnOyA/P0N3/PLKzK2lRYUaA59mdvBgQ9ADuP45dy4wfnzTz/x06dIFl156KZYtWwZBEHDppZciNjZWer+oqAi1tbUYOXKk9FpwcDDOO+887Nq1CwCwa9cupKWlKc6bnp6u+PnHH3/E9u3b8e6770qvCYIAp9OJ4uJinHXWWU1xeURErZonu6/Un/v554GWE5it0JtVEoOVnTsH4PPPJ7h9nxj0WB1/a2hRocbAp5nt2dMQ9Ijq64G9e5tnyev6669HdnY2ADRZM9eTJ09i7ty5uPXWW93eYyI1EbV3ektBnuy+EslniOQzMIB7zox627vD4VAUENRKStZit1dhwICdWL9+nGq87snLngZf4r3ZsaNSeo3b2du5vn1dy1vy4CcwEOjTp3m+f8KECaipqYHNZsP48eMV76WkpCAkJASbNm1Cr169AAC1tbX47rvvpGWrs846C2vWrFF87ttvv1X8PGzYMOzcuRN9muuiiIh8RAweKisrUVdX5/Z+cHAw7Ha77sPaaCnL091X6hkiV9DjCn7UOTPyQoLeUAdrep3X5TM+6vFPmTIFQUFByM3N1fwO+b15+23lvdFrpNoUGPg0s4QEV07P3LmumZ7AQODVV5svwTkwMFBatgoMDFS8FxERgZtvvhl33303OnfujJ49e+Kpp55CdXU1sv5IQrrpppvw7LPP4u6778YNN9yALVu2uNX/uffee3H++ecjOzsbN9xwAyIiIrBz507k5eV5lABIRNScPE1SVj+szZayzKolq3dfac0QATaMH/8ZBgzYqZhlEVyVAr2iF6xp5eiEhf2uO35XnlGcok6QWCPI7N54kifVWAx8WkBWliunZ+9e10xPcwU9oqioKN33nnjiCTidTlx77bWoqqrC8OHD8fnnn6NTp04AXEtVq1atwu23347FixfjvPPOw+OPP47rr79eOsfgwYPx9ddfY/78+bjwwgshCAJSUlKQmZnZ5NdGROQtTx++6uPNlrKmTJmCOXNiLe++0pshEoOeKVOmIDY2FiEhIW5jUc/g6C2/WQnWjHZuaS1xac3ceLPM11QY+LSQhITmC3jMKjJ/9NFH0u87dOiAF198ES+++KLu8Zdddhkuu+wyxWuzZ89W/Hzuuedi/fr1uufQqv1DRNSWOBwORfVhs6UscUYkLg6Wdl+ZzRCJ5wOAsrIy6XPqGZzBg7dj+/bBmstv3gQkegnL1dXVutfi6TJfU2IBQyIiIg1iscCDB+M0u56vWLECFRUV0hKVrwoJqvtp5eQswsyZy5CTs0ixdVzrfFozOD/+OMRtRke8FrMu7cOHD8eYMWMwZMgQ03EvX74cFRUVmu+Z3ZvmxBkfIiIiFa3dVFp1a2pqatzyWhpbSFCrn5aa3vn08oLk5DM6ZrNK33//veb36y2dGY25tdT1YeBDREQko72byhUwrFmjXbdGHoRYXcoy4u0OJ73qy0bb4D0NSKwUYdTTGur6cKmLiIhIRnvWRBSAwsI0nfdantaS0pAhP+ouMbkSrudg9uyxSE7eL9ser73Mp5cMrV4GbM044+OFxmwbJGt4j4mopZh1Gi8oSEdaWqHhzIW6mCAARW0gsR6QXGMK+anzgtQzOBdf/KXmjE58fLzbdxot83XqdNyjZGhv8pqaGgMfD4h1b2pqahAWFtbCo2nfxP9hqGsNERE1FXWSsnK5q4HZridP6wHJmRXyq6iowNGjR3H8+HFFVWYAOP/88yEIAqKiotC5c2cA0K3cDGgHWkbLfB9/fBmyst7waHdWY/KVmgoDHw8EBQUhPDwcR48eRXBwMAICuFLYFJxOJ44ePYrw8HAEBfGPKBGZ05phARraNqgf+iLxoSt+PjMzE7W1tUhL+w0pKYtQUpKAVaum6T7o9+zZg/LycsvtIMwYBQiNLbBohdEynyAE4MCBnooKzuqlM71rb+7gxgifKh6w2WyIi4tDcXGx1OGcmkZAQAB69uwJm81mfjAR+bXGzLAAwIwZM7B8+XK31+12wG7fhZoa/V1PGzZsMD2/1g4ovV1RRhpbYNEK42U+AevXT5DaV8THl7otna1evVr33M3ZlsIIAx8PhYSEoG/fvs1aXtsfhYSEcEaNiCyx+v9jvWBDXXhPfZw6ZwYAiouTLAUtWjugAOjuiqqsrFQURTS7npKSRFRXhyE8/DQSE0savWPKfZlP3BHWsDNM7NKek7NI8/u82erenBj4eCEgIAAdOnRo6WEQEZEGrQev1S3YeseJ27C13ncFRdbbQbj2bmi3iMjNzbU0M7J161CsWXMZlJuzBUye/LHlreVyesnRwcE1OHCgJ9avn6A4Xp7nNGbMGGnmy+g+y5fBWnLpi4EPERG1G3qBiVE/KpFZ3yqt99esuQw2GzxqB6GmTpY2mxlxOCI1gh4AsGlelxUxMTHIzMyUOrzL6+1ERp5EXt443TwnsZej2f1TL4O11NIXAx8iImqV9BKWxW3h4pZwcSZB78E7deoqS1uwzfpWaSf+BkCsvqF+0Ov1p5LP+IivedKz6tixGOiV4ZOPt7y83KOZFfX2enHmrLQ0DvIKI3rtJvTuX0lJAo4dO+02I3bkyBEGPkRE1HbpBSoiTx7C3iQs68+wCJa2YJs10jSr7yN+n147CNf7wJAhDU1DxdeKivpoLgnJORwOaRyAE1rBj3y84gyLNzMrWrV8Gq4RSEnZK/0cHBwsjcv9/jilXXHqGTGry3q+xsCHiIgazWqgkp2dDcC1nCMv6CcXHBzsVqPGCr3AJTHxoGE/KpFZ3yr3QMYJV0Cg3w4iJWUvlPVYA/4IepSvGS0JqdntVZg8ea3bcpfedZltkRff15s5U/f6AhqCu8zMTGmmSO/+CIKyFpB8Ka4lEp4Z+BARUaNZfYAdOXIEubm5Hp9fb6eQ+nW9wMWoH9Xx48el35v1rVK/X1TUxzCg0lqW8qYoopo4jpKSBGlXV3R0JWprQ+FwRFo6j16watyyQxncqZfH5Pfn1KkIrFx5heJ9QXC1/Bg3Lt/KZTYJBj5ERNRs1DM8YuASHHwGtbWhmlvE9XYK6b2uF7joNchU1+Ixa6Qpf98sUPI2z0cv0Js+fTpsNhuOHz+OY8eOSd3Tt24diiVLbvCocahesGq2pJeeXqAYk7rdhHh/HI5IzfNs3mze8qMpMfAhIiKfs1Kgz6gnlPjQ1ktY7tr1kOEOotmzxyI2Nlaq3FxVVYW8vDzT8U2ZMgWxsbFuY62urkZ4eLjs8w63dhB1dXWKZSrxO7QqHQPutXysbL2Pjo6W6vyUlZXh+++/N91NZZX8nui37HAiLa1Q+knM25K3pSgvL8fq1atht1chPb0AmzePVJ3Ds9ktX2PgQ0REPmWlZo5ZTyjxoa2/U6inpZ1a6qUYs/GJiboN42wIcKqrq6XWFOJ55QnbZWVlut8xbNgWJCcXIzHxoDQ+rZkisyBGnvhcWVkJwHw3Wnl5uVs+lTqPSuue5OQsQmFhGjZvTgfgHqBlZmZK166XoJyWVih9XuTpLjZfY+BDREQ+Y3X2wawnlPjQ1k9YPmC4A0svQdhsfGIdG0+odyZpfceWLediy5ZUTJ7cEGRpLamZBTFa12W2G80sWVrvnuTkLMK4cflISyvUXcorKytz260nX/oSE7HNEsubEwMfIiI/5Mut53JmD26RUR6JMnlWO2E5IaHM0k4t9ZKW1fFp0VseO3LkCGpqalBcXKx7D1zcCyKqz2cWxGgx241mxuye6OU8yYNEefCnLoZolgfV3Bj4EBH5GU+2nnsa/Fh9cOv1hLLZnEhPL1Acq/fgNHug6lVxthpYyAMTrd1b8no0ZvdAJAYUeufTC2IA4/5gRvdCHWCpf/Yk2LLah6tLly6Kn/WCJ3VidHNg4ENE5Gesbj0vLS3VPFZrNkh8gJnNPshzaNQ9oXbuHIjNm9OxefNIFBSkK4KL2bPHSnkpVVVVqKurQ1BQECIjI6Xzie+vXr3acPnGyuyIMvFaWa/HLHlYq3ChyGZzIji4Rne5DQA6dTqOrKw3UFsbIm2ZX7Qox3THlnw3lRgkqQOswYMbiifKz+XpPTHbOaZOeNbSUv26GPgQEZEmo9yQGTNmICUlRfpZ/aB78MGj2LcvCElJdYiPPxfAuZp/u5c/rAsKGpJg1cFFcHCwpfybzMxMAMbLN2YzRe6J19br7ogzIl27HsLUqatQXJyELVtSIU8Orq0N1RxbYWEaCgrSFYFF587HPNqxpQ5O1A1Rf/xxCOQB3Jo1rh1ynt4TKzvHWqoJqRkGPkREfs7K1nO15cuXuy2FyX8fFwekpmp/VgyQKisrcfToUWzYsME0z0RdyVlvzOJxZss3RrV6zAr4qc8l0tueP3ZsPuLjS6WAQqu+jc3mVOx+EgMLq33GHI5IlJQkugUnGiNX/RyAJUtuUCy1ybf0OxwOrFixolG5Ua0NAx8iIj9mtnwhPlABIDGxxDCvwyoxQIqLi0N0dDQ2bNjgUZ6JlSUXsyW3MWPGSF3FxWanlZWVyM3N1e05pe7CbtTZXT6rkp+fgZycRbqtL8S8JnW9GzGAMrsvyoDLjLLvlvg98tmb2NhYqVaQyJuk69aKgQ8RkZ8Rm12aLV9s3TpU1Q9KwOTJH5tWBPaGWaAitpXwZMnFaPlGXa05MzNTqnOjNxajpSCr2/P1xgZAWuYSWekz5h5wmbFBq8Gp2exNY3eOtSYMfIiI/EhFRYWUK2O0fAHArQkmYPOqIrBVVgIVsyWXoCDlY029pKW3RKbOH9Ibi951W9mer/5u9djUDT4zMvJN+4xZWZZTEuD6d6qc+bEye9PatqV7i4EPEZEfkS9PGS1faDXXBHyf16HX50mLwxGJU6fCoZ6xkD+0o6OjNdsnANYrSquDE6BhaUys3NxwvCsHxmh7/qRJaw23w4uGDfsBp093kNpb5OdnICzsdyn3RmzDIb8uvWW5//f/PsGnn14K5b9DebBjcxujle3mrWlburcY+BAR+Sm7vQoZGfnIy8uAVksCrSURX+d1GG171gtaXA9sp86YtXcTWVkiMwqM+vbt65b3Aigf+Ort+eJ2dADSdnSt7x47dizy8vLgcERKQY/eGB0OBwRBkGa29Jaghg37AUFBgmpLvjqQtWH8+M8wYMBOxf2TX1Nr3pbuLQY+RER+auvWocjPbwh6MjLyFe0UJk9eq1juaqq8DrOHplbisM0mYOrUXEXvKwCKXlbyB7jZEplZYORwODQDH3lgoG5cevz4cWzYsB/FxUmG3y3WIvKmXQXgvgR15ZUXoK5uLMaNs+Haa/+LtWt/QXBwjdS9XWSzOaWgR9zJpRXEtKWgxgoGPkREfkjrQZ+fn4FBg3a4VUYuKUkAALcgo7noBQQAZDMhriWqpUvzFGOcPn06APNdSWZBx4oVK5CZmQm73e4WHMh3qQHu7UDMvltM3G7Mzin5ElRiYqKig/vPP38OAIbJyVo7udorBj5ERH7ISl0WMZjQC3iaK69DL3F45cppqKlxtXPQW6Iy26ll1CMLEPC//yUDsKFz5wpFAvT06dMVuT4icUu8nNl3i4nbWsdlZOT/kW/lHuQFB59BbW2oYf0lvaU4dXJyW8rRaSwGPkRE7YxRA1JxKchsdsEo32XKlCmIj49vtiUQ/RYQAX+85vo94P329oZ8p7GQJwBv3DgKGzeONu3PpUcMUlJS9iInZ5Hpjij5GEtL46WcH3nPLr0Eaq0yA+0xR6exGPgQEbUjVhuQGs1CmOW7xMbG+uxBaSVIA1wBQUjIGaxceYXiGK2t3PKZq5MnTyreM9o1Fh9fBvfKxsb9uYyqXpsFj4CyLYh8JufUqQgp6Vz8/jVrLpOKKFoZm8ifghorGPgQEbUj6iDC6MGsNwPSXO0JrAZposTEEs1ZKvmMj4urESgArF+/HoC1pSmjWjyA+z0wCmysBI9yWu0u3AX8ca3mYyN9DHyIiNow9YyJfJbEbMZB/fA1qg3TFO0JrAZpY8aMwYYNG3RnqQD18o+y/xTgqu+jlbwbFxeH6dOnIzc3V7cWj9Y9MAtsPAke9dpduHOqZnwatNX2ES2BgQ8RURtlNGNiZcZBbxdPS7QnMArSxJ5agPYslcMRiYkTlQX7zJZ/5OQzQWY5NlZnxTwJHq02RTXL8eFsjzUMfIiIPGCUkwI0b6Ko0YxJY5ermrM9gVmQdvr0acXx8jwdowad3i7/iOdPTt6PQYN2aN6D0tI4GM0IeRI8mrW7mDp1pWJnnVaRRH/doeUNBj5ERBZZzUnJzs5u9oRS9YxJRka+x8tVLdWewCxIW7dunfS6PLgDoBv0ANaXf4yuR+seiBWWlUtSgtRbS2Q1eDRrdzFo0C7TMQGuRqtdunRhMrMJBj5ERBYZzfR4c5yv6BUjzMjI112q0dJSW5+tLgspZ3ecGDhwp2HQo3W9ejN2mZmZqK2txenTpxWBlhbtpSkb4uNL3Y61GjzqtbuQf1YrL0t+PgY81jDwISLSYZQ43JrozZjEx5daqh0j583Ds7HLf1aWhdwTgAPw88+DoLXcpF4ako9TPmOnl0w9Y8YMhIeHKz4r7xvmmm3Sb5QKQKrybHY/srOzcfToUanRqdG/o+asndSeMfAhItJgZVnLaKu4L8fRmGKETb1cZTWY0Fr+czgc0u/NloX0E4Ddu4yrl4YA96DVKJm6pqYGKSkputdcVNQHymUuZaA2ffp09O/fX/fzcjExMSwy2MwY+BARaTh69Kjh+0YPTl/xRTFCwH2JxBcPUTEgs7p9Xv1Qr6hQtoAwCyKNa+xodxmXn1NdKNAomTo3N1c3T0v8rHKWyZVwLNKqF2SGQU3zYeBDRKSifiirmT04fcUXxQgB3zeg1JrlKSlJ9OieyK/NKGAaO3Ys8vLypOBO3i1eJO8ybuWcJSWJmkuDhYVpGDcu3218clZ2y3FXVevGwIeISOXIkSNur/lyq7g3rMwwNdcuLL2gRc3KPTELIiMjI6VjxeCusDANBQXplvOB5OcsKurzR/DkbvPmdKSlFf5RG8ihGSyaJWJPnz6dszetHAMfIiKZiooKtwaUmzalS32TrGwVl+euaPF0qcksOGip3T7uCcdK8nuizrERf/Y0iLTbqzBuXD7S0go9ygcShACUlCT8sUylVyyw4XtXrFihudxltqzozTIXNa92Gfj84x//wNNPP41Dhw5hyJAhWLx4Mc4777yWHhYRtQHqJY4vvrgIGzeOgrwhpNlWcaNlMpEntX7MggNfL2VZZVRxWH1PVq9erblUFxx8xjCIDArSfkwZ7YDSzgcSUFycbFIhWUBpaTySk/cD0F/uas7ijuR77S7wWbFiBe644w688sorSEtLw6JFizB+/Hjs3r0bXbt2benhEVEbsmlTuiLoEcm3ig8adDmGDIlAfPy5AM5VNL0E9PNyPKn101y9szylHWA4MW2a+3ZyraU6wLz9QnR0tGLLtxV2exUyMvKRlzcWDf/ubNiyJVUzIJIfk5+fgUGDdrgFMy1V3JF8r90FPs899xxuvPFGzJ49GwDwyiuv4JNPPsGbb76J++67r4VHR0RthcMR+cfyllbDyIat4hMnhiEurpvmOYzyctRLP0ZLUi3RO8sKvXGpt5NrLdU15NnIG3M6kZX1BhISyhSfN9ry7XA4UFtbi5MnT0qd2F1jc8D9310A0tM3KfKDrC6zcct5+9GuAp+amhps2bIF999/v/RaQEAAMjIyUFBQoPmZM2fO4MyZM9LPJ06caPJxElHrd+xYDLRzQQSMHdvQmkDvb/hmeTny7dUio+Wv1rq8otc0VD7Lpb0kpnVvA1Bbqz9jor43elviS0vj/mgpoWSzOZGWVijlBwUH12DJkhssz6QxqGkf2lXgU15ejvr6enTrpvzbV7du3fDLL79ofmbhwoVYsGBBcwyPiNoQvTyRCy/8D0aOdP1FSmsHT2VlJQDjvBzxfbPlr9a4vFJRUeE2W6XXNFScATp9ugPUFZZd9Jt8ioyuTX93mdZ3KWfJxH+2xpk0alrtKvDxxv3334877rhD+vnEiRNITExswRERUWvg3jjSibFj86WgB4Bm3mBdXR0A/byc0tJ4vP32dZYKH7a25RWzKs0HD8ZpznIJAqC9ZOhedVledNFqiwb33WXu3zVt2krNis6tdSaNmk67CnxiY2MRGBiIw4cPK14/fPgwunfvrvmZ0NBQhIaGNsfwiKiNMXooZmZmKh7KYiXj48ePA3AFToMHb8ePPw6B+IA/66xd0k4wwFrhQ/E79FpX1NTUoKysrFkCIKOig65rHQz1EpbxLipADHq0cnvEa1NTX6vR7jLAFXAmJh7Ufd+sRxa1L+0q8AkJCUFqaiq++OILXH755QAAp9OJL774AtnZ2S07OCJqE6wuL3Xp0kX6vVZrCYcjEtu3D4Z8x9CuXWd5VfjQausKeY6QGCiJyb9qQUFBiI6O9ipg0spfagjwlFyzXoB+7RzX59W5PWIOlFHvL5HesqTWTJInuEOrfWpXgQ8A3HHHHZg5cyaGDx+O8847D4sWLcKpU6ekXV5E1HY1tgu4Fd4sL2kdq5fjY9bVW4vV1hVHjx5FTEyMbqCk9zmrncSNrk0v6HHftu7841jj3B7Aeu8vrd1lGRn5iI8vdZupE5fQ1Oewct3UPrS7wCczMxNHjx7Fgw8+iEOHDuGcc87BZ5995pbwTERtS2O6gHuqsZ93OCJx6lS4Zo6PUeFDK4yCAbHasFagpNXmQf458Tgr99RohqWBcvlKvmRYVNTHNKHY035oVnN1YmNjGdD4uXYX+ACu/0i5tEXUvlhtamn0t/jmmDFS7i5ySgGCfJyDBu3QfEDv2bMHJSUlCAsLk5aigIaaP3r1cOTBQGlpqdt41I09tYIIT+6p1gzL4MHbsX37YMXn5Tk78iVDoyBlzJgx2LBhg1f90Kzk6nD5itpl4ENE7Ze3ndG9yZNp7NiAAAiCE9Om5SoqGes9oDds2GB4fr16OPKu4vL6QOJ4tPJr5EGE2T0VAy9xqz6gHbxcfPGXhvV85PTuQadOnQBYq1ZtNYiZPn261/lM1P4w8CGiNsXbzuhW82TUx1mZJTIaGxCAiIhq0w7lWmNRv965cwXUOUIAUFDg6ioujiE4+Axqa0Nx6lS4pQaievd0584BGDBgp2axRcA9eDGr5yPftm8UFInnMqux09q2+1PbwMCHiNoUX/StMnsoi6zOEmVmZloam7iMIzLKvdEb44gRBdi8eaTi+wUhQHEe+Y4mrUAJEBRBhF7OzuefT8D69eMMaw1pMZtBMrr/8qakVvJ2GNSQp8wKLBARtSriTIDroe7eBdyM3kPZ4Yh0O9ZqI1Fxu7jZ2MRlHMAVfD3/fA42bx7pNha9QoAOR+QfMztO1Qic2Lw5XRa4NHSSbygSKCcgJWWvdD+OHYtBRka+NG55orLe/XE4IlFcnKR534xm5czuv82m3B1mt1chOXk/6+yQz3DGh4janMZU2/V2qQzQX56xOksRHBwsncco9+bAgZ6aYywsTPsj8FFvHbdpvCZ/T811verdVRdcsBEbN17oNi71/dm0Kd1tZ5rrml3LbHo72jp3PmZ6/wVBHaRpY5IyeYuBDxG1Sd5W2/V2qcxoeSY6OtpSron4vlGlYZvNiZ49D2h2Dt+8OR3x8aXQDny0lrS0CwjabE4EB9e4zbx884170OPScH82bUpHXt5YyGeE1qy5DDabOMMkzha572gT/30Z3X+r95JLXOQtBj5E1CZY/Ru+2XFWkmbVrOwks/IgFtsvaOfUNCyNJSSUIT3dPZfHFZQImoHDBRdsxDffXOiW46MuICi+VlsbaqnAorwbvcMRiby8DLgHXgFomKixyV7T3tFmJWmZqKkw8CGiZuVtLR1f7uDxdKmsMctjWrQaoI4YUYABA35GbW2olMuzeXM61DM1iYkHNWvoNAQ9Tlx44Ub07l2suDb19TockRrBlxOpqVuwZUsqgIYKyIMG7UBxcRJOnQqHZ6mh2jva2BiUWhIDHyJqNt5WX/Y0WNI6Xl6DBtBfKquurnZ7zRc7ycRxisSHf0lJAgAbHA47liy5QTELMnmy9syIPHAIDq6RPufiWrIaPnyL7lZz8Wd18AXYsGXLubDZnEhP34S0tEIUFfXBokU50hi0ZoT+uCNu12t0j9gYlFoKAx8iajbeVF/2NFiyugVdz/Lly90CL2+Wx7TExMRg+vTpyM3NBQBFcrHWTqqcnEXIyVmkOTMiBg7FxUlez0bJg69Vq6ZBEBq+v6AgHQMG/Oy2xOcKAMXgx4mxY/MRFva723Wo75F6Kz9RS2HgQ0TNzpPqy54ESxUVFW4tG4wK5ZkVMdSaodEKQjzZYSS2oXCv8qycMRGDF/lWbq3xms1GjRs3DklJSVKX9uPHjysCELu9CseOndYMnkpKtHeXTZuWi4iIas2ltODgGtTWhrjdI/lWfqKWxMCHiJqdWc5MeXm52/KVWbC0b98+rF+/XnFOo0DJShHDpqwMbLSzC3BfJtIbr9lsVMeOHeFwOKRGpIB2RWit4Ckx0X13mZhnZLUFhUjcym+G29SpqTHwIaJmp72rybXFGmjoNyVvNmwWLKmDnoMH4xTNOeWBEgDLM06N2WGklWsk9r0y6nAu341VXJyE4OAzhuPVmo0Sg5ulS/MU16QOoNLTC5CWVqgZPCUklPlkiQ8A7HY7t6lTq8DAh4ianXtirQAgAEuW3KCb66M3K3HqVAQcjkjNh7teIT7AZhhEFRcXSwGKSN4t3coD2izXSGumJiMjH/Hxpejc+ZgiqVirRo86j8dKnyytWbPNm0di8+Z0TJ68VjOfyGiJb+zYsQCAvLw8w3th9Z4RNQcGPkTUIoYN+wFdux5S7EgymnnRChQEAVi58grDh7ucfPnIKC/GyoPcrIu7laaoekGFVpd3efKzerzq79GbHdJfXmtIpk5O3u/2rt4yVnJyMuLi4tCvXz/O5FCbwcCHiFqMXhE9vR1J8l1IK1dOg9Yylv7DXblMY7SEY9Y5HLDexwswzieaNu18REa6+lSJicfa12DTrYQ8ZcoUAK4lQqMlQb3CifJjPFnGEvNxGNRQW8LAh4iajTpx1Zv6OOIuJL2lH71zZmW9gYSEMuk1vdkWdZDiWn4qMwyCRPKcHnGpzCwpW5w1AVyVnTds2GB4DVo7pmJjYy3dU/clRrgdA7gCqaCgINTV1SE4OBh2u93tWjmLQ20VAx8iajbiLqnS0lKsXr3aUn0crV0+njzc5Ym6auolHIcj0i0hWuxLpbfzS6SX0+NN1WdPrsHqZ9XLa4WFaVJlaPUxsbGxUjBG1N4w8CGiZhUTE6NYJjJKni0vL0dsbCxmzJiB8PBwlJeXWwqYzBJyO3XqJCUqi+cEgMLCNLi3ZFAWFdTKPwL0c3qCg894VfXZk7YO8gaoVj5rt1dh3Lh8pKUVsm0E+R0GPkTUJIzaTKh3TOklz4oBCeBKJpYv6Vh5uGuds1+/fppLNA5HJAoK0g2vSV1rSO+a1Mtlgwdvx/btgw23hFdUVFi+L1OmTJHuhbjkJDZANfusp8cQtTcMfIjI56y2mdBiVE1Zveyl9+AeO3YsIiMjFVvQAeO8FLOCgi4NMzXyoEw9fnVOz/btg3XzcwDzre9q8fHxbtfhy8J/LCJI7RkDHyJqNPXsjtHshzxPRr4byexYQFlJWV2NWE6+Hd1s27nIaMeTi4CxY/PdcoLUQZpeTk9tbYjmVvHKykrU1dUpXtML/qZMmaIZ9ADWq0wDxjvSmLRM7R0DHyJqFP3ZHdcWbaMdTfKlK6v9uzx9KFvddq7Vrdxma2jMmZGRj5EjC6Tj9YI0s51q4jKVGLiJDUvNziu/HnFZSx2kMGAhMsfAh4gaxaiJaHp6geUdTd7sfpLzZDlNzqgRqWtc7jlEZkGaUeK13o4phyMSJSWJhm02nn12q25XeiKyhoEPEfmEdjuEdMs7msxmSiorK3W3WFtpOKpHXCI6evQoamtrUVVV9cfSU2/pmKCgP6Fz586ora01LRKo1zvLiHz8aoIQgMLCNBQUpOt2pSci6xj4EJFPaCcHByA9fZPbQ1srEDCbKcnNzdWc3bC6RKanoqICR48e1c0XksvMzARgrfCiXuJ1ZWUlAP0Ch+6c0v3z5vqISImBDxH5hF4wkJZWaLlejNlMyc8//4xOnTohODgYtbW1ABq3RKa3m0pv2Uz8TrMgTZ3HI6fO6THeTebEiBEF2Lx5pFfXR0TuGPgQkU+YBQNaD2mHw4EuXbq4nQdwBQTqz23YsMHtHGazL+Xl5bo7lbSKDhotK8lZWc4SBMHt/OqASns3mashqc0GRESc8qoAIhFpY+BDRD7jaW7LihUrkJ2djczMTGlmxNN8HbOAS9wqb5YEvHXrUEViMeC+rBQUpPxfppXCi/Lzq3uAjRxZoLGbrKELuyAEID8/AxkZ+cjPzzBdLiQicwx8iMinPK0GXFNTIzXB1MvXCQk5g8TEEt3u6VYCrtLSUqkIohgAifk24ve6t6tQLitFR0djxowZWL58uSe3RPO6XD3AgJEjC6Tx//zzAKxfP8Ht++PjS5GTs4jtJYh8gIEPETWK1Sq/enkz5eXlCA4OBqCfr7Ny5RXSTAcAzRkhMeByOCJRXJzk9j3q9hdAQ76NUZ6NelkpPDxc87qCg8+gtjZUczu99vltyMvLwKBBO6SxDxy4E3l543SbrzLgIWo8Bj5E1Ch6FYPlzT+Nlq/kAYlR9WRx9seVNqO9w0lrOSk+vswtGCktLVWcW+971ctK6l5aym3oYl6O+/Kc/nUpk5StdKtXY3sJIs8w8CFqJw4eBPbsAfr2BRISmve7jXJnPNlu7p7voqT32rFjnQG4V4l2LSe5ByPqHJyioj5Q5iG7dlOlpRXqzhq5b0PX7+Jut1chIyNfGo9IK0nZaNlO3pwUYHsJIm8w8CFqB5YsAebMAZxOICAAeO01ICurpUflord8VVKSALt9l9vx4oO/pCQBK1dOgzzvxjVrArfXOnc+prucJH6fXrCll9+jDnrUn/n554G6y2Na283Fdhd5eRkAzGsaab2uV/WZiKxj4EPUhlVUVGDfvjrMmdMVTqfrIe90AnPnCjjnnCNISgpq8RkBvWWeVaumoaZGe8eW68G/CzU1a92Wrk6disDmzenQCh6MmoyKwdaxY6dNm4qql6DS0tJQWFgIQHt5S01vu/nIkQUYNGiH10nKXNYiajwGPkRtlFh8r7g4CU7nTMV79fU2LF68DsnJ+xXbuOVd1EtLA1BcHITk5DrExzsBNM3Sibh8ZbZVXIt82ae0NF6xpTs9fZNiVsZoW7iLE6tWTfO4qSgAKejRXt4SVP909Sgzuh9a1ztjxgy3xGk5LmsR+QYDH6I2SgxgzB7c4nHyKsVGyca+anqpbv4ZEnIGK1deoThGvSQk3/kFQPp9587H8Pbb1ynydwoK0jFgwM+629rlgRLgBGCDIGgvfVlNKNZbThs//jMkJh7Azp0DUVCQjs2bR6KgIF1xX9X5Oep7xaCGqHkw8CFq46w+uMUAyCzZWK/ppXy2SIv64S3u9iotLcXq1auRmFhiGKC5LyEJEJez9Lq8L1lyg+629uTk/dKy0qlTEYZBl9XCi8HBZ+AKopTXMGDATgAw7KnF/Byi1oGBD1E74EnFZG96W+n1tFJTzxbFxMRIwZJRgKa9hNQwO6PV5R0QTHeKyWv7eNtUVCQGZq6gR7l13W6vQnFxktc9w4io+TDwIWon9B7cYu2ZHTsqUVychODgMx73fjKa6TE7Tr3kpRWgGTfqBNRd3tWzLoBxkGG1qahaZWUlcnNzdQIzJ6688n3067cXgLWO7UTU8hj4EDVCc9XOacz3rF69WraMdBZsNicGD96O7dsHe937Sa8Ksxa9AodAQ5FDo8KFgLLLe0lJAqqrw7Fu3f/zKMgwmhVT9+ACXAFbdHQ0AP2dXx98cJViic3T4oNE1PwY+BB5qblq5zT2e7RyerZvH4ysrDdQWxvi8bZqT5uIAsYFDgHtGRmxXo88gFDmATmlYEkdZOgFZpdfPhydOnVCVVUV8vLypNfF1hVqmZmZAPS35KuX2IyCK25FJ2odGPgQWaCecTl4sCEYAcTaOcD48b6b+TGr0RMR4bB0Hr2cntraECQn73c7vri42O01dTNPK1WYzVRUVEjnBdxnZFxjbwgg3JebAiAITkyblovExIPS9xsFZhs2bPBojLW1tQD0t+SL90BcYtNbMuOuLaLWg4EPkQmtGZfevRuCHlF9PbB3r28CH6s1eqzwNPdEPhOi5k1itBa9ZGl1ntLEiWejY8d+WL9+ve5yU0REtWKmx5vATG+GSL4ENmzYD+ja9ZC0k0wkv5fcuUXU+jHwITKgPbMjYM2acgQExEozMQAQGCggMvIIKioaXy3Zao2e6dOnS3koamL+jNluKqu5OlbG4+n1mdm8eTOmT59u+bsLC9N0AzMAmtdqNEMUHR2t2JKfkFDGPB6iNo6BD5GBPXu0ZnZsyM39BJdd1lnxALz44nwsXuzqBD5//kyfLG1oBS0ZGfk4dsx17rq6OgDmSylauSd6D3yjYKipEniNvlO8RrPvdjgi/2hloWSzOVFaGi8VQFRfq9kMkfq+Mo+HqG1j4EOko6KiAlFRdQgI6KqY2RFnGZKT9+u2U+jR4wTuvNM34zBq21BUtBbDhrk6hmdmZqJLly66AZB8GUnvgX/6dAfF+bUSl40e/A6Hw+N8FnUAlpGRLzX0BICTJ09a+m5XMOi+K2zYsC2yCs7K4Mbq0p3RzjQR83iI2gYGPkQa5Dkol13mPjMi7w8FwK2dwr332pGZ2ZAI3dgt73rf8/HHl6Fr10NISCjDihUrAFhrOaH3wNcLEOz2KowdOxaAKwdIr2aQJ2MAtAOwvDzX94jBz/r1693uhdZ3a++8ciI5eR+2bDnX7VpLShKQmHjQ8tIdgxqi9sGoYhiR35L/zX7YsB+Qk7MIM2cuQ07OIrcZEK0gor7ehsLCCrzwwkn06gVcfDHQq5crUdpbesHKG2/cgK1bh7qN3WjZRQwSlLS3a4v5MXl5eYaJz3JWc3j0el/l5WXA4Yi0dA6RuBQmXpfN5sTkyWulVhlqK1dOQ1FRH7fPMGeHqH3jjA+RBUbtDPSSbj/7bNUfO4Bcr8m3oicleZ4ArV/kT3vnktbyjF7CM+BEauoWbNmSCuXfh5w4dSoCDkek5vV7mhztyTXpNS/V+x6HIxKdOh3XrE/k2oo+Ccpu7a77lpOzCDk5i5izQ+QnGPgQNZJe0m1tbajmTJC4Fd3TLujuwUoDvS3lVhKeCwvTUFCQ/sdykICGdhCujuYrV16hme/jTSFDrWvKyMj/Y3nLPY/K6vdoHSPf7p+Sshdify058b4lJ+/H7NljFTV4mLND1D4x8CHyAa2kW7PGmGaJsnrf07XrIbzxxg1Qdwi3sqVc67zyjuKuxpsCJk78GOvWXQpBaGgUKp9VcjgiFcX8jOrlaHV1dzgaii+KuTx5eRlQV2q2suvKyjF6ic+swUPkfxj4EPmIejmsMVu/5ctU4vKUKCGhDJMnN+68Yl0avbyhurpgw1mlwsI0WGkSarWr+8iRBRg0aIel5qXq77FyjPaSmoCMjHzm8xD5GQY+RI1klH9itP3ajLjMIm/r4KvzmhVI7NnzgO5slcMRiYIC93o5gPusk9UkZ8AVKN5440TYbDZpd5iVooWdO1dA3a1dfYxWTtPYscpt88znIfIPlgOfEydOWD5pVFSUV4Mhamus5J+IM0EORySKi5M8SgQuKipSNNBUB1mNna3Qm5UyqlBcXJyk2UV9xIgCaTzl5eWKf+qNX01dhdrKrFlRUR8oc3e0Z8CMgsUZM2Ywn4fIT1gOfKKjo2Gz2QyPEQQBNpsN9fX1jR4YUUuy8rd/T/pCaQVI5eXlhgm0FRUVWL58ueE5tJKJPZ250AsI9F7Xm4VJSyuUfpYvzXk6fqvjAxr+HSgTo8VkZpcZM2YgPDxc9/xMYibyL5YDH0+7GhO1ZUaVeh0OB1asWGG56q9+gLQIdnuV7u4u+XebJROLXcHFoKesrEz32kJCQtyCI73ZI73X09ML/mgPYS3HSO8eiMUXjRjNEpn9O5g+fTpSUlIMz09E/sVy4DN69OimHAdRq2M2C2C1YafZw/nIkSOm32WWTCzuSLKaTJydnW0Y2NXW1iIoKAjR0dGK5Gr1rE16+iakpRW6BXrqQMWo+OLkyQ0zPw6HA3a7XTrGbJbI7N+BXgNXIvJfXic3V1ZWYsmSJdi1axcAYODAgbj++usV/9Mias+s7trS21FUWhqP5OT9yM3NRWZmptt/O2J+TFMkE9fU1Ohu3dZ7XWvWpqAgXbHEpReoWC2+WFtba/h96qXEpmqaSkTtl1eBz/fff4/x48cjLCwM5513HgDgueeew2OPPYb169dj2LBhPh0kUWtllH8yZswYbNiwQadInw35+RkYNGgH7PYqrFixQndJR7utgzKZWI83lZXVdXfEAMxs5sosULFSfPH48eMICgqy9H0idksnIk94FfjcfvvtmDx5Ml5//XXpf1J1dXW44YYbkJOTg//85z8+HSRRa6aXB9OpUyfp9/HxZdCrGmy3Vxku6VhJJtZidM7KykrNmR2jpTKzZSWzQEWv+KJ85kqeS2j2fdOnTzdcymLSMhFp8apJ6ffff497771XCnoAICgoCPfccw++//57nw2OqL3Qagoqr4ujNVMiNunUar7pbTKxeM7c3FxUVFS4fc69wrJrC77Yq0tvHA5HJE6dCte9RlFk5EmoA0C9zaJm1921a1fExcXp/mLQQ0RavJrxiYqKwoEDB9C/f3/F6yUlJYiM9KyjMlF7dfz4ccVSkyd1cdRLOmYFC9VLOlaWiczygfRmjNTjkB8HOKVZGq0AzdU6Qn/mSyTPeXrwwaPYty8ISUl1iI8/F8C5nM0hIq95FfhkZmYiKysLzzzzDEaMGAEA2LRpE+6++25cddVVPh0gAOzbtw+PPPIIvvzySxw6dAjx8fGYMWMG5s+fr/gf/vbt2zFv3jx899136NKlC2655Rbcc889Ph8P+Y+DB4E9e4C+fYGEBM8+++yzlfj44xxFEKDVBTw4+AzMKg8D+ktqWsX3rOw4UxcXlL9mlq8zfvxAfPvtfrfjgAAIghPTpuUiMfGgpURvm82J4GBlEGa326WluLg4IDXVbahERF7xKvB55plnYLPZcN1116Gurg4AEBwcjJtvvhlPPPGETwcIAL/88gucTideffVV9OnTBzt27MCNN96IU6dO4ZlnngHgqiw9btw4ZGRk4JVXXsFPP/2E66+/HtHR0ZgzZ47Px0Ttl5jc+957YbjnHjucThsCAgQ89ZQDV199GtXV1abn0AsccnIWKbqGi7MlrqDH1T1cPVMi1ujRojfzoZVMLAiuKsdino9WkUGR2YzRt99+q3scEICICNc9Uleqdh+XAEEIwJIlN3jV3Z2IyFNeBT4hISF44YUXsHDhQhQVFQEAUlJSDKujNsaECRMwYcIE6efevXtj9+7dePnll6XA591330VNTQ3efPNNhISEYODAgdi2bRuee+45Bj5kmZjc63BEYtGiHKk7udNpw913R+G3396E3V6lWw1YrHljZanJfbbEFfRkZb2hKOpn1jVcvgtL3tcrJWUvBEF+pH5laTWrNYr0jistjcfbb18nLX+NGFEg1fvRSnI2qnpNRORLjWpSGh4ejrPPPttXY/GIw+FA586dpZ8LCgowatQoxdLX+PHj8eSTT+L48eOKHTZyZ86cwZkzZ6SfPelJRq2fp0tVYgBhFriEh4cbBiNWAge976ittb4F22gXliufxlplafWWd6v1cbSOy8jIR35+hmL5a/PmkSgoSJdmdWprQy2NjYjI17wKfH7//XcsXrwYGzZswJEjR+B0KndybN261SeD07N3714sXrxYmu0BgEOHDiE5OVlxXLdu3aT39AKfhQsXYsGCBU03WGoxS5YAc+YATicQEAC89hqQlWXts1ZnPPRYCRysfodRLRqtXVhiEGPl/EZb3q12gE9J2YupU1cBEJCYeFC37pB8Vqex95eIyFteBT5ZWVlYv349pk2bhvPOO8+0eame++67D08++aThMbt27VLsHvvtt98wYcIEXHHFFbjxxhu9+l65+++/H3fccYf084kTJ5CYmNjo85JveTJzU1FRgX376jBnTlc4neJSFTB3roBzzjmCpKQg0x1BRoGLwxGJTz89jXPOOYz4eFfQr5VrYxY4mAVHU6ZMQXx8vNt55Utb8gRl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+OMtMmajmR45sXJyeXm51FSUiIiIfK9NBD51dXW47bbb8PTTTyMrK0t6fcCAAdLv169fj507dyI/Px/dunXDOeecg0ceeQT33nsvHn744Vad9xIdHe02g6NXvBBQtrTg0hYREZF1bSLw2bp1K3777TcEBARg6NChOHToEM455xw8/fTTGDRoEACgoKAAZ599Nrp16yZ9bvz48bj55pvx888/Y+jQoZrnPnPmDM6cOSP9fOLEiaa9GANivo9Z8UL1rJCvmpISERG1d21iV9f//vc/AMDDDz+Mv/3tb1i7di06deqEiy66CMeOufpTHTp0SBH0AJB+PnTokO65Fy5cCLvdLv1KTExsoqswVlFRgRUrVlguXihndUmNiIjI37Vo4HPffffBZrMZ/vrll1/gdLq2dc+fPx9Tp05Famoqli5dCpvNhn/961+NGsP9998Ph8Mh/SopKfHFpelyOCJRXJzkFsiIwYtR53W9z1ZWVjbpmImIiNqLFl3quvPOOzFr1izDY3r37o2ysjIAypye0NBQ9O7dGwcOHAAAdO/eHf/9738Vnz18+LD0np7Q0FCEhoZ6M3yPmS1hAfqd10tL4/H229dpfjY3N1dKkGbODxERkb4WDXy6dOmCLl26mB6XmpqK0NBQ7N69GxdccAEAoLa2Fvv27UOvXr0AAOnp6Xjsscdw5MgRdO3aFQCQl5eHqKgoRcDUUvSWsFJS9iqO0+q8npGRj/z8DM3PionPubm50jmY80NERKStTSQ3R0VF4aabbsJDDz2ExMRE9OrVC08//TQA4IorrgAAjBs3DgMGDMC1116Lp556CocOHcLf/vY3zJs3r9lmdNTkO8mMlrBCQkJw5MgR6XV18UKjz2rV+WHODxERkbY2EfgAwNNPP42goCBce+21OH36NNLS0vDll1+iU6dOAIDAwECsXbsWN998M9LT0xEREYGZM2fi73//e4uNOSYmBtnZ2aipqUFpaQDeeUeA02mT3g8MFHDnnX8G4FTM2ADuxQu1lr86dz7W5NdARETUntgEQRBaehCtyYkTJ2C32+FwOBAVFeXTcy9ZAsydC9TXA4GBwKuvAllZQFlZGV577TXDz8rzg1ycGDs2H/HxZW61fubMmcPKzkRE5FesPr/bzIxPe5CVBQweDHzzDXDBBcC552ofp1W8MCVlL5QhagDy8sYCsOkmShMR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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Supercritical CO2 Property Surrogate with PySMO Surrogate Object - Training Surrogate (Part 1)\n", + "Maintainer: Javal Vyas\n", + "\n", + "Author: Javal Vyas\n", + "\n", + "Updated: 2024-01-24\n", + "## 1. Introduction\n", + "This notebook illustrates the use of the PySMO Polynomial surrogate trainer to produce an ML surrogate based on supercritical CO2 data from simulation using REFPROP package. PySMO also has other training methods like Radial Basis Function and Kriging surrogate models, but we focus on Polynomial surrogate model. \n", + "\n", + "There are several reasons to build surrogate models for complex processes, even when higher fidelity models already exist (e.g., reduce model size, improve convergence reliability, replace models with externally compiled code and make them fully-equation oriented).\n", + "\n", + "In this example, we intend to make a surrogate for the physical properties of S-CO2 to be embedded in the property package. This property package will be used to get the physical properties of S-CO2 in the flowsheet simulation. To learn more about property package, see the [IDAES-PSE](https://github.com/IDAES/idaes-pse) Github Page or IDAES [Read-the-docs](https://idaes-pse.readthedocs.io/en/latest/). \n", + "\n", + "\n", + "### 1.1 Need for ML Surrogates\n", + "\n", + "The properties predicted by the surrogate are enthalpy and entropy of the S-CO2 based on the \n", + "pressure and temperature of the system. The analytical equation of getting the enthalpy and entropy from pressure and temperature are in the differential form and would make the problem a DAE system. To counter this problem and keep the problem algebraic, we will use the ML surrogates and relate enthalpy and entropy with the pressure and temperature as an algebraic equation.\n", + "\n", + "### 1.2 Supercritical CO2 cycle process\n", + "\n", + "The following flowsheet will be used to optimize the design for the cooling of the fusion reactor using supercritical CO2 cycle. We shall focus on training the surrogate for this notebook and move to constructing the flowsheet and the properties package in the subsequent notebooks. The take away from this flowsheet is that, 3 variables can be measured in any given unit which are flow, pressure and temperature and other properties can be calculated using them. Thus, surrogate should have pressure and temperature as the inputs.\n", + "\n", + "In this example, we will train the model using polynomial regression for our data and then demonstrate that we can solve an optimization problem with that surrogate model. " ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import Image\n", + "from pathlib import Path\n", + "\n", + "\n", + "def datafile_path(name):\n", + " return Path(\"..\") / name\n", + "\n", + "\n", + "Image(datafile_path(\"CO2_flowsheet.png\"))" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Training and Validating Surrogate\n", + "\n", + "First, let's import the required Python and IDAES modules:" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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fj2aN28uPr9t2za75Xe3hIQEHD16FAaDwayW6NSpU+LrgHywR0TKMYeIiNymT58+6NatGxYvXowbN24gKioKffr0wXvvvYfCwkKr5S9fviz+++rVq2avNWrUCC1btkRFRYXs9jIzMwEA77zzjtnzixcvtlo2OTkZOp0OR48eFZ8rLCy0Gi3a398fACAIgvicTqfDypUrZctRUx544AEUFRVh7dq14nO3bt3CkiVL0KhRI/Tu3RsAEBQUBACSAR8RKcMaIiJyqxdffBF//vOfsWrVKjz99NNYunQpevbsiZSUFEyYMAEtWrTAxYsXkZ2djV9//RVHjhwBALRr1w59+vRB586dER4ejgMHDuCLL77A5MmTZbfVsWNHDB8+HO+++y50Oh3uu+8+/Pjjjzhz5ozVso899hhmzJiBhx9+GFOnTkVZWRmWLVuGVq1a4dChQ+JyAwYMgFarxYMPPoinnnoKJSUlWLFiBaKioiSDupo0ceJEvPfeexg9ejQOHjyIxMREfPHFF9i9ezcWL16M4OBgANVJ4O3atcPatWvRqlUrhIeHo3379mjfvn2tlpfIq3m6mxsReR9jt/v9+/dbvVZVVSUkJycLycnJwq1btwRBEIS8vDxh5MiRQkxMjFC/fn2hadOmwh//+Efhiy++EN/3xhtvCN26dRPCwsKEwMBAoU2bNsLf//53obKyUlxGqot8eXm5MHXqVKFJkyZCw4YNhQcffFA4f/68ZDf0zZs3C+3btxe0Wq3QunVr4ZNPPpFc5/r164UOHToIDRo0EBITE4UFCxYIH374oQBAyM/PF5dzpNu9vSEF5NZ38eJFYcyYMUJERISg1WqFlJQUYeXKlVbv3bNnj9C5c2dBq9WyCz6REzSCYFIvTEREROSDmENEREREPo8BEREREfk8BkRERETk8xgQERERkc9jQEREREQ+jwERERER+TwOzKiQwWDAhQsXEBwczGHyiYiIvIQgCPj9998RFxdnNVGyKQZECl24cAHx8fGeLgYRERE54fz582jWrJns6wyIFDIOkX/+/HmEhIR4uDRERESkhF6vR3x8vHgdl8OASCFjM1lISAgDIiIiIi9jL92FSdVERETk8xgQERERkc9jQEREREQ+jzlERETk86qqqnDz5k1PF4OcUL9+ffj7+7u8HgZERETkswRBQFFREYqLiz1dFHJBWFgY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Sly+fBl+fn5mlR+O8pqA6MMPP8Tjjz9uNb7A9OnTxX936NABWq0WTz31FLKyslwadXPWrFlm69br9YiPj3d6fUREpC5+fn5ISkpCYWEhLly44OnikAuCgoLQvHlz+Pk53/DlFQHR//73P+Tm5mLt2rV2l+3evTtu3bqFs2fPonXr1oiJicHFixfNljH+LZd3BFRPkOeJYcyJiKj2aLVaNG/eHLdu3VLF3F7kOH9/f9SrV8/l2j2vCIg++OADdO7cGampqXaXzcnJgZ+fn5gJn5aWhr/+9a+4efOmOOPuli1b0Lp161ofFpyIiNTHOCO75azs5Fs8mlRdUlIijmEAQJxorqCgQFxGr9fj888/x/jx463en52djcWLF+PIkSP45Zdf8Omnn2LatGl44oknxGBnxIgR0Gq1GDduHE6cOIG1a9fi7bffNmsOIyIiIt/m0RqiAwcOoG/fvuLfxiBl1KhRWLVqFQDgs88+gyAIGD58uNX7AwIC8Nlnn2H27NmoqKhAUlISpk2bZhbshIaGYvPmzZg0aRI6d+6MiIgIvPrqq+xyT0RERCJO7qoQJ3clIiLyPpzclYiIiEghBkRERETk8xgQERERkc9jQEREREQ+jwERERER+TwGREREROTzGBARERGRz2NARERERD6PARERERH5PAZERERE5PMYEBEREZHPY0BEREREPo8BEREREfk8BkRERETk8xgQERERkc9jQEREREQ+jwERERER+TwGREREROTzGBARERGRz2NARERERD6PARERERH5PAZERERE5PMYEBEREZHPY0BEREREPo8BEREREfk8BkRERETk8xgQERERkc9jQEREREQ+jwERERER+TwGREREROTzGBARERGRz2NARERERD6PARERERH5PAZERERE5PMYEBEREZHP82hAtHPnTjz44IOIi4uDRqPB119/bfb66NGjodFozB4DBw40W+batWt4/PHHERISgrCwMIwbNw4lJSVmyxw9ehS9evVCgwYNEB8fj4ULF9b0RyMiIiIv4tGAqLS0FKmpqVi6dKnsMgMHDkRhYaH4WLNmjdnrjz/+OE6cOIEtW7Zgw4YN2LlzJyZOnCi+rtfrMWDAACQkJODgwYNYtGgRZs+ejX//+9819rmIiIjIu9Tz5MYzMzORmZlpc5mAgADExMRIvvbzzz/j+++/x/79+9Gl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Nm0annjiCTHYGTFiBObMmYNx48ZhxowZOH78ON5++2289dZbHvnMNY2TsxIRETlOIwiCYH+xmrF9+3b07dvX6vlRo0Zh9uzZSEpKknzftm3b0KdPHxw6dAjPPvssTp06hYqKCiQlJeHJJ5/E9OnTzZq7jh49ikmTJmH//v2IiIjAlClTMGPGDIfKqtfrERoaCp1OZ7fZjoiIiNRB6fXbowGRN2FARERE5H2UXr9VnUNEREREVBsYEBEREZHPY0BEREREPo8BEREREfk8BkRERETk8xgQERERkc9jQEREREQ+jwERERER+TwGREREROTzGBARERGRz2NARERERD6PARERERH5PAZERERE5PMYEBEREZHPY0BEREREPo8BEREREfk8BkRERETk8xgQERERkc9jQEREREQ+jwERERER+TwGREREROTzGBARERGRz2NARERERD6PARERERH5PAZERERE5PPqKV1Qr9crXmlISIhThSEiIiLyBMUBUVhYGDQajc1lBEGARqNBVVWVywUjIiIiqi2KA6Jt27bVZDmIiIiIPEZxQNS7d++aLAcRERGRxygOiCwVFxfjgw8+wM8//wwAuPvuuzF27FiEhoa6rXBEREREtcGpXmYHDhxAcnIy3nrrLVy7dg3Xrl3Dm2++ieTkZBw6dMjdZSQiIiKqURpBEARH39SrVy+0bNkSK1asQL161ZVMt27dwvjx4/HLL79g586dbi+op+n1eoSGhkKn07EXHRERkZdQev12KiAKDAzE4cOH0aZNG7PnT548iS5duqCsrMzxEqscAyIiIiLvo/T67VSTWUhICAoKCqyeP3/+PIKDg51ZJREREZHHOBUQDRs2DOPGjcPatWtx/vx5nD9/Hp999hnGjx+P4cOHu7uMRERERDXKqYDoH//4B4YMGYKRI0ciMTERiYmJGD16NB555BEsWLBA8Xp27tyJBx98EHFxcdBoNPj666/NXhcEAa+++ipiY2MRGBiI/v374/Tp02bLXLt2DY8//jhCQkIQFhaGcePGoaSkxGyZo0ePolevXmjQoAHi4+OxcOFCZz42ERER1VFOBURarRZvv/02rl+/jpycHOTk5ODatWt46623EBAQoHg9paWlSE1NxdKlSyVfX7hwId555x0sX74ce/fuRcOGDZGRkYEbN26Iyzz++OM4ceIEtmzZgg0bNmDn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6lTMnTsXubm5+P7775Geng4AKCwsxPDhwzF27Fj8/PPP2L59O4YMGQJHp3p0tExEpB6c3JWIVKdPnz64dOkSTpw4AY1GAwCYOXMm1q9fj5MnTyIxMRGdOnXCV199Jb5n/Pjx8Pf3x3vvvSc+t2vXLvTu3RulpaX47rvvMGbMGPz6668IDg42296hQ4fQuXNnnD17FgkJCZLl6dixIxYvXiw+N3jwYISFhWHVqlUA4FSZGjRo4NJ+IiL3YQ0REanSvffeKwZDAJCWlobTp0+jqqoKANClSxez5Y8cOYJVq1ahUaNG4iMjIwMGgwH5+fn4wx/+gISEBLRo0QJPPvkkPv30U5SVlQEAUlNT0a9fP6SkpODPf/4zVqxYgevXrztcZkfLRETqwYCIiLxSw4YNzf4uKSnBU089hZycHPFx5MgRnD59GsnJyQgODsahQ4ewZs0axMbG4tVXX0VqaiqKi4vh7++PLVu2YNOmTWjXrh2WLFmC1q1bi0GLn5+fVfPZzZs3XS4TEakHAyIiUqW9e/ea/f3TTz/hrrvugr+/v+Ty99xzD06ePImWLVtaPbRaLQCgXr166N+/PxYuXIijR4/i7Nmz2Lp1KwBAo9GgR48emDNnDg4fPgytVis2f0VGRqKwsFDcVlVVFY4fP273MygpExGpAwMiIlKlgoICTJ8+Hbm5uVizZg2WLFmC5557Tnb5GTNmYM+ePZg8eTJycnJw+vRpfPPNN2IC84YNG/DOO+8gJycH586dw8cffwyDwYDWrVtj7969mDdvHg4cOICCggKsW7cOly9fRtu2bQEA999/PzZu3IiNGzfi1KlTeOaZZ1BcXGz3M9grExGpRz1PF4CISMrIkSNRXl6Obt26wd/fH88995zYlV1Khw4dsGPHDvz1r39Fr169IAgCkpOTMWzYMABAWFgY1q1bh9mzZ+PGjRu46667sGbNGtx99934+eefsXPnTixevBh6vR4JCQn45z//iczMTADA2LFjceTIEYwcORL16tXDtGnT0LdvX7ufwV6ZiEg92MuMiFRHqlcXEVFNYpMZERER+TwGREREROTz2GRGREREPo81REREROTzGBARERGRz2NARERERD6PARERERH5PAZERERE5PMYEBEREZHPY0BEREREPo8BEREREfk8BkRERETk8/4/NXj9NDYxwzoAAAAASUVORK5CYII=", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# Import statements\n", + "import os\n", + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "# Import IDAES libraries\n", + "from idaes.core.surrogate.sampling.data_utils import split_training_validation\n", + "from idaes.core.surrogate.pysmo_surrogate import PysmoPolyTrainer, PysmoSurrogate\n", + "from idaes.core.surrogate.plotting.sm_plotter import (\n", + " surrogate_scatter2D,\n", + " surrogate_parity,\n", + " surrogate_residual,\n", + ")" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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H7Bp0ya/F1RNWVkZbDYb7HY7exoRERGFCG/u3z4FKlFRUdi1axcyMjJcXv/222/Rs2dPVFRUeLtKnzBQISIiCj3e3L99avqJi4vDkSNH3F4vLi5GbGysL6skIiIicuNToDJ69GhMnjwZK1euRHFxMYqLi/Hmm29iypQpGDNmjL/LSERERPWUT71+/va3v0EQBIwbNw6XL18GADRs2BD33Xcf5s6d69cCEhERUf3lU46KpKKiAoWFhQCA9PR0REdH+61gRjBHhYiIKPR4c//2eRwVAIiOjkZmZmZtVkFERESkyadA5cKFC1iwYAHWr1+PkydPwuFwuLzPsVSIiIjIH3wKVCZPnoxPP/0Ut99+O3r37u1xskIiIiIiX/gUqHzwwQf46KOP0LdvX3+Xh4iIiMjJp+7JrVu35ngpREREFHA+BSp///vfMWPGDPz444/+Lg8RERGRk09NPz179sSFCxfQrl07REdHo2HDhi7v//zzz34pHBEREdVvPgUqY8aMwbFjxzBnzhy0aNGCybREREQUED4FKvn5+diyZQuysrL8XR4iIiIiJ59yVDIyMlBZWenvshARERG58ClQmTt3Lv7v//4PGzZswOnTp1FWVubyR0REROQPPs31ExZWE98oc1NEUYQgCKiurvZP6TzgXD9EREShJ+Bz/axfv96nghERERF5w6dApX///oaWu//++/HUU0+hefPmvnwNERER1XM+5agY9cYbb+jmrCxatAhdu3ZFXFwc4uLi0KdPH6xduzaQRSIiIqIQEtBAxVP6S5s2bTB37lzs2LED27dvxw033IDbbrsN33zzTSCLRURERCHCp6Yff7nllltc/v3MM89g0aJF+Oqrr3D11VebVCoiIiKyClMDFbnq6mq89dZbKC8vR58+fcwuDhEREVmA6YHK3r170adPH1y4cAGNGzfG6tWr0blzZ9Vlq6qqUFVV5fw3x2whIiKq2wKao2JEp06dUFBQgK1bt+K+++7D+PHj8e2336oum5eXB5vN5vxLTk4OcmmJiIgomLwOVC5fvoynnnoKR48e9bjs73//e48DuURERKB9+/bo0aMH8vLykJWVheeff1512ZkzZ8Jutzv/iouLvS0+ERERhRCvA5UGDRrgr3/9Ky5fvuxx2UWLFnk9horD4XBp3pGLjIx0dmWW/oiIiKju8ilH5YYbbsDGjRuR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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.1 Importing Training and Validation Datasets\n", + "\n", + "In this section, we read the dataset from the CSV file located in this directory. 500 data points were simulated for S-CO2 physical properties using REFPROP package. This example is trained on the entire dataset because neural network can overfit on smaller dataset. The data is separated using an 80/20 split into training and validation data using the IDAES split_training_validation() method.\n", + "\n", + "We rename the column headers because they contained \".\", which may cause errors while reading the column names in subsequent code, thus as a good practice we change them to the variable names to be used in the property package. Further, the input variables are **pressure**, **temperature** , while the output variables are **enth_mol**, **entr_mol**, hence we create two new dataframes for the input and output variables. " ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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fRejR482Gl9gzpw50v87d+4MjUaDRx55BCkpKbUadXPBggV62y4uLkZkZKTd2yMiIveiVqsRExODvLw8XLhwwdXFoVrw9fVFy5YtoVbb3/DlEQHRd999h6ysLGzYsMHiuj179kRlZSXOnTuHtm3bIiwsDBcvXtRbR/u3qbwjoGaCPFcMY05ERHVHo9GgZcuWqKysdIu5vch2Xl5eaNCgQa1r9zwiIHrnnXfQrVs3xMfHW1w3IyMDarVayoRPSEjAs88+i5s3b0oz7u7YsQNt27at82HBiYjI/WhnZDeclZ2UxaVJ1SUlJdIYBgCkieZyc3OldYqLi/HJJ59g8uTJRq9PS0vDihUrcOLECfzyyy/48MMPMXv2bDz88MNSsDNq1ChoNBpMmjQJp0+fxoYNG7By5Uq95jAiIiJSNpfWEB05cgT9+/eX/tYGKePGjcO6desAAOvXr4cQAiNHjjR6vbe3N9avX49FixahvLwcMTExmD17tl6wExAQgO3bt2PatGno1q0bgoKC8Nxzz7HLPREREUk4uauVOLkrERGR5+HkrkRERERWYkBEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBTPpQHRvn37cM899yAiIgIqlQqbNm3SWz5+/HioVCq9x+DBg/XWuXLlCkaPHg1/f38EBgZi0qRJKCkp0VsnMzMTffr0QaNGjRAZGYlly5Y5e9eIiIjIg7g0ILp+/Tri4+PxxhtvmFxn8ODByMvLkx4ff/yx3vLRo0fj9OnT2LFjB7Zs2YJ9+/Zh6tSp0vLi4mIMGjQIUVFROHr0KJYvX45FixbhP//5j9P2i4iIiDxLA1e+eXJyMpKTk82u4+3tjbCwMNllP/74I77++mukp6eje/fuAIDXX38dd999N/7v//4PERER+PDDD1FR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8eLFmDRpEubNm4dTp05h5cqVePXVV12yz67GSV+JiIiMqYQQwvJqzrFnzx7079/f6Plx48Zh0aJFiImJkX3d7t270a9fPxw7dgyPP/44fvrpJ5SXlyMmJgZjxozBnDlz9Jq7MjMzMW3aNKSnpyMoKAgzZszAvHnzbCprcXExAgICUFRUZLHZjoiIiNyDtfdvlwZEnoQBERERkeex9v7t1jlERERERHWBAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSPAREREREpHgMiIiIiUjwGRERERKR4DIiIiIhI8RgQERERkeIxICIiIiLFY0BEREREiseAiIiIiBSvgbUrFhcXW71Rf39/uwpDRERE5ApWB0SBgYFQqVRm1xFCQKVSoaqqqtYFIyIiIqorVgdEu3fvdmY5iIiIiFzG6oCob9++ziwHERERkctYHRAZKiwsxDvvvIMff/wRANCxY0dMnDgRAQEBDiscERERUV2wq5fZkSNHEBsbi1dffRVXrlzBlStX8MorryA2NhbHjh1zdBmJiIiInEolhBC2vqhPnz5o3bo11qxZgwYNaiqZKisrMXnyZPzyyy/Yt2+fwwvqasXFxQgICEBRURF70REREXkIa+/fdgVEPj4+OH78ONq1a6f3/A8//IDu3bujtLTU9hK7OQZEREREnsfa+7ddTWb+/v7Izc01ev78+fPw8/OzZ5NERERELmNXQDRixAhMmjQJGzZswPnz53H+/HmsX78ekydPxsiRIx1dRiIiIiKnsisg+r//+z8MGzYMY8eORXR0NKKjozF+/Hg88MADWLp0qdXb2bdvH+655x5ERERApVJh06ZNesuFEHjuuecQHh4OHx8fDBw4EGfOnNFb58qVKxg9ejT8/f0RGBiISZMmoaSkRG+dzMxM9OnTB40aNUJkZCSWLVtmz24TERFRPWVXQKTRaLBy5UpcvXoVGRkZyMjIwJUrV/Dqq6/C29vb6u1cv34d8fHxeOONN2SXL1u2DK+99hpWr16NQ4cOoXHjxkhKSsKNGzekdUaPHo3Tp09jx44d2LJlC/bt24epU6dKy4uLizFo0CBERUXh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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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tWudlt/bWrdujd27d8NsNlvVquzbt095HdAOwojIdcxRIaoD+vfvj+7du+Pll1/GhQsXEBsbi/79++PNN99EUVGR3fqnTp1S/v+PP/6weq1BgwZo27YtKioqND8vKysLAPDqq69aLX/55Zft1k1JSYHJZMLu3buVZUVFRXajwwYHBwMAhBDKMpPJhEWLFmmWw1f+9Kc/4cSJE1i6dKmy7NKlS3jttdfQoEED9OvXDwAQEREBAKqBGBG5hjUqRHXEE088gb/85S9YvHgx7rvvPrz++uvo3bs30tLScM8996BNmzb4/fffsWXLFvz222/YtWsXAKBjx47o378/unbtiiZNmmDbtm345JNP8OCDD2p+1tVXX41Ro0bhjTfegMlkQs+ePfHtt9/i4MGDduvecccdmDZtGoYPH44pU6agrKwM8+fPR7t27bBjxw5lvZtuugmhoaG45ZZb8Ne//hXnzp3DwoULERsbqxps+dK9996LN998E+PGjcP27duRlJSETz75BJs2bcLLL7+Mhg0bAqhO/u3YsSOWLl2Kdu3aoUmTJujcuTM6d+7s1/ISBTS9ux0RkffI3ZNzc3PtXquqqhIpKSkiJSVFXLp0SQghRH5+vrj77rtFixYtRL169UTLli3FzTffLD755BPlfc8995zo3r27aNSokQgPDxepqani+eefF5WVlco6al2Jy8vLxZQpU0TTpk1FZGSkuOWWW0RhYaFqd91vvvlGdO7cWYSGhor27duL999/X3WbK1asEOnp6aJ+/foiKSlJzJs3T7zzzjsCgCgoKFDWc6d7srOu11rb+/3338X48eNFs2bNRGhoqEhLSxOLFi2ye+/mzZtF165dRWhoKLsqE3lAEsKiHpWIiIjIQJijQkRERIbFQIWIiIgMi4EKERERGRYDFSIiIjIsBipERERkWAxUiIiIyLACesA3s9mM48ePo2HDhhyqmoiIKEAIIXD27FnEx8fbTe5pK6ADlePHjyMhIUHvYhAREZEHCgsL0apVK4frBHSgIg9TXVhYiKioKJ1LQ0RERK4oLS1FQkKCch93JKADFbm5JyoqioEKERFRgHElbYPJtERERGRYDFSIiIjIsBioEBERkWEFdI4KERHVHVVVVbh48aLexSAXhYaGOu167AoGKkREZGhCCJw4cQIlJSV6F4XcEBQUhOTkZISGhtZoOwxU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ERkWAxUiIiIyLAYqREREZFgMVIiIiMiwGKgQERGRYTFQISIiIsNioEJERESGxUCFiIiIDIuBChERERkWAxUiIiIyLAYqREREZFgMVIiIiMiwGKgQERGRYTFQISIiIsNioEJERESGxUCFiIiIDIuBChERERkWAxUiIiIyLAYqREREZFgMVIiIiMiwGKgQERGRYTFQISIiIsNioEJERESGxUCFiIiIDIuBChERERkWAxUiIiIyLAYqREREZFgMVIiIiMiwGKgQERGRYTFQISIiIsNioEJERESGxUCFiIiIDIuBChERERkWAxUiIiIyLAYqREREZFgMVIiIiMiwGKgQERGRYTFQISIiIsPSNVCZNWsWJEmy+peamqpnkYiIiMhAQvQuQKdOnfC///1P+TskRPciERERkUHoHhWEhISgRYsWeheDiIiIDEj3HJUDBw4gPj4ebdq0wejRo3H06FHNdSsqKlBaWmr1j4iIiGovXQOVHj16YPHixfjqq68wf/58FBQUoE+fPjh79qzq+jk5OYiOjlb+JSQk+LnERERE5E+SEELoXQhZSUkJWrdujRdffBETJ060e72iogIVFRXK36WlpUhISIDJZEJUVJQ/i0pEREQeKi0tRXR0tEv3b91zVCw1atQI7dq1w8GDB1VfDwsLQ1hYmJ9LRURERHrRPUfF0rlz55Cfn4+4uDi9i0JEREQGoGug8vjjj2P9+vU4fPgwNm/ejOHDhyM4OBijRo3Ss1hERERkELo2/fz2228YNWoU/vjjD8TExKB379744YcfEBMTo2exiIiIyCB0DVSWLFmi58cTERGRwRkqR4WIiIjIEgMVIiIiMiwGKkRERGRYDFSIiIjIsBioEBERkWExUCEiIiLDYqBCREREhsVAhYiIiAyLgQoREREZFgMVIiIiMiwGKkRERGRYDFSIiIjIsBioEBERkWExUCEiIiLDYqBCREREhsVAhYiIiAyLgQoREREZFgMVIiIiMiwGKkRERGRYDFSIiIjIsBioEBERkWExUCEiIiLDYqBCREREhsVAhYiIiAyLgQoREREZFgMVIiIiMiwGKkRERGRYDFSIiIjIsBioEBERkWExUCEiIiLDYqBCREREhsVAhYiIiAyLgQoREREZFgMVIiIiMiwGKkRERGRYDFSIiIjIsBioEBERkWExUNFZkakcm/OLUWQq17soREREhhOidwHqsqW5RzF92R6YBRAkATkj0jDy2kS9i0VERGQYrFHRSZGpXAlSAMAsgKeW7WXNChERkQUGKjopKD6vBCmyKiFwuLhMnwIREREZEAMVnSQ3i0SQZL0sWJKQ1CxCnwIREREZEAMVP5OTZ4HqnJRgqTpaCZYkzBnRGXHR4XoWj4iIyFCYTOtHasmzG7MH4HBxGZKaRTBIISIismGoGpW5c+dCkiRMnTpV76J4nVbyLABkpjRlkEJERKTCMIFKbm4u3nzzTaSnp+tdFJ9g8iwREZH7DBGonDt3DqNHj8bChQvRuHFjvYvjE0yeJSIicp8hApXJkydjyJAhGDhwoN5F8Zm46HAmzxIREblJ92TaJUuWYMeOHcjNzXW6bkVFBSoqKpS/S0tLfVk0rxt5bSL6toth8iwREZGLdA1UCgsL8fDDD2PNmjWoX7++0/VzcnIwe/ZsP5TMd+KiwxmgEBERuUgSQgjnq/nG8uXLMXz4cAQHByvLqqqqIEkSgoKCUFFRYfWaWo1KQkICTCYToqKi/Fp2IiIi8kxpaSmio6Ndun/rWqNyww03YM+ePVbLxo8fj9TUVEybNs0qSAGAsLAwhIWF+bOIREREpCNdA5WGDRuic+fOVssiIyPRtGlTu+VERERU9xii1w9Vk4fX5wzKRERE1XTv9WNr3bp1ehdBF2rD64+8NlHvYhEREemKNSoGoDW8PmtWiIiormOgYgAcXp+IiEgdAxUD4PD6RERE6hioGACH1yciIlJnuGTauorD6xMREdljoGIgHF6fiIjIGpt+iIiIyLAYqBAREZFhMVAhIiIiw2KgQkRERIbFQIWIiIgMi4EKERERGRYDFSIiIjIsBipERERkWAxUiIiIyLAYqBAREZFhMVAhIiIiw2KgQkRERIbl8qSEpaWlLm80KirKo8IQERERWXI5UGnUqBEkSXK4jhACkiShqqqqxgUjIiIicjlQWbt2rS/LQURERGTH5UClX79+viwHERERkR2XAxVbJSUlePvtt/HLL78AADp16oQJEyYgOjraa4UjIiKius2jXj/btm1DSkoKXnrpJZw+fRqnT5/Giy++iJSUFOzYscPbZSQiIqI6ShJCCHff1KdPH7Rt2xYLFy5ESEh1pcylS5cwadIkHDp0CBs2bPB6QdWUlpYiOjoaJpOJPY2IiIgChDv3b48ClfDwcOzcuROpqalWy3/++Wd069YNZWVl7m7SIwxUiIiIAo8792+Pmn6ioqJw9OhRu+WFhYVo2LChJ5skIiIisuNRoDJy5EhMnDgRS5cuRWFhIQoLC7FkyRJMmjQJo0aN8nYZiYiIqI7yqNfP//3f/0GSJNx99924dOkSAKBevXq4//77MXfuXK8WkIiIiOouj3JUZGVlZcjPzwcApKSkICIiwmsFcwVzVIiIiAKPO/dvj8dRAYCIiAikpaXVZBNEREREmjwKVC5cuIDXXnsNa9euxcmTJ2E2m61e51gqRERE5A0eBSoTJ07EN998gz//+c/o3r2708kKiYiIiDzhUaDy5ZdfYtWqVejVq5e3y0NERESk8Kh7csuWLTleChEREfmcR4HKCy+8gGnTpuHIkSPeLg8RERGRwqOmn27duuHChQto06YNIiIiUK9ePavXT58+7ZXCERERUd3mUaAyatQoHDt2DHPmzEHz5s2ZTEtEREQ+4VGgsnnzZmzZsgUZGRneLg8RERGRwqMcldTUVJSXl3u7LERERERWPApU5s6di8ceewzr1q3DH3/8gdLSUqt/RERERN7g0Vw/QUHV8Y1tbooQApIkoaqqyjulc4Jz/RAREQUen8/1s3btWo8KRkREROQOjwKVfv36ubTeAw88gGeeeQbNmjXz5GOIiIiojvMoR8VV77//vsOclfnz5yM9PR1RUVGIiopCZmYmVq9e7csiERERUQDxaaDiLP2lVatWmDt3LrZv345t27bh+uuvx6233oqffvrJl8UiIiKiAOFR04+33HLLLVZ/P//885g/fz5++OEHdOrUSadSERERkVHoGqhYqqqqwscff4zz588jMzNT7+IQERGRAegeqOzZsweZmZm4cOECGjRogM8++wwdO3ZUXbeiogIVFRXK3xyzhYiIqHbzaY6KK9q3b4+8vDxs3boV999/P8aOHYuff/5Zdd2cnBxER0cr/xISEvxcWiIiIvIntwOVS5cu4ZlnnsFvv/3mdN277rrL6UAuoaGhaNu2Lbp27YqcnBxkZGTglVdeUV13+vTpMJlMyr/CwkJ3i09EREQBxO1AJSQkBP/85z9x6dIlp+vOnz/f7TFUzGazVfOOpbCwMKUrs/yPiIiIai+PclSuv/56rF+/HklJSTX68OnTpyMrKwuJiYk4e/YsPvjgA6xbtw5ff/11jbZLREREtYNHgUpWVhays7OxZ88edO3aFZGRkVavDx061KXtnDx5EnfffTeKiooQHR2N9PR0fP3117jxxhs9KRYRERHVMjWalFB1g5yUkIiIiBzw+aSEZrPZo4IRERERucOj7snvvfeeasJrZWUl3nvvvRoXioiIiAjwsOknODgYRUVFiI2NtVr+xx9/IDY2lk0/REREpMmd+7dHNSpCCEiSZLf8t99+Q3R0tCebJCIiIrLjVo5Kly5dIEkSJEnCDTfcgJCQK2+vqqpCQUEBBg8e7PVCEhERUd3kVqAybNgwAEBeXh4GDRqEBg0aKK+FhoYiKSkJt912m1cLSERERHWXW4HKzJkzAQBJSUkYOXIk6tev75NCEREREQEedk8eO3YsgOpePidPnrTrrpyYmFjzkhEREVGd51GgcuDAAUyYMAGbN2+2Wi4n2fqr1w8RERHVbh4FKuPGjUNISAi+/PJLxMXFqfYAIiIiIqopjwKVvLw8bN++Hampqd4uDxEREZHCo3FUOnbsiOLiYm+XxZCKTOXYnF+MIlO53kUhIiKqczyqUZk3bx6efPJJzJkzB2lpaahXr57V67VllNiluUcxfdkemAUQJAE5I9Iw8lomChMREflLjWdPtsxP8XcyrS+H0C8ylaPX3O9gtjg6wZKEjdkDEBcdbrVeQfF5JDeLtFpORERE6nw+e/LatWs9KlggKSg+bxWkAECVEDhcXKYEJKxxISIi8i2PclT69euHoKAgLFy4ENnZ2Wjbti369euHo0ePIjg42Ntl1EVys0gE2XRmCpYkJDWLAFBdkyIHKQBgFsBTy/Yyl4WIiMiLPApUPv30UwwaNAjh4eHYuXMnKioqAAAmkwlz5szxagH1EhcdjpwRaQi+3LQVLEmYM6KzUpviqMaFiIiIvMOjpp/nnnsOCxYswN13340lS5Yoy3v16oXnnnvOa4XT28hrE9G3XQwOF5chqVmEVQ6KXONim8Mi17gQERFRzXlUo7J//3707dvXbnl0dDRKSkpqWiZDiYsOR2ZKU7tEWWc1LkRERFRzHtWotGjRAgcPHkRSUpLV8o0bN6JNmzbeKFdAcFTjQkRERDXnUaByzz334OGHH8Y777wDSZJw/PhxbNmyBY8//jhmzJjh7TIaWlx0OAMUIiIiH/EoUMnOzobZbMYNN9yAsrIy9O3bF2FhYXj88cfx0EMPebuMREREVEd5NOCbrLKyEgcPHsS5c+fQsWNHNGjQwJtlc8qXA74RERGRb/h8wDdZaGgoOnbsWJNNEBEREWnyqNcPERERkT8wUCEiIiLDYqBCREREhsVAhYiIiAyLgYofFJnKsTm/mBMWEhERualGvX7IuaW5R5VZloMkIGdEGkZem6h3sYiIiAICa1R8qMhUrgQpQPUEhk8t2+t2zQprZIiIqK5ijYoPFRSft5pdGQCqhMDh4jKXh91njQwREdVlrFFxgac1GsnNIhEkWS8LliQkNYtw+XO9USNDREQUqBioOLE09yh6zf0Ody7cil5zv8PS3KMuvzcuOhw5I9IQLFVHK8GShDkjOrtcm+KoRoaIiKguYNOPA1o1Gn3bxbgcbIy8NhF928XgcHEZkppFuPS+IlM5CorPIzI0GEESrIIVd2pkiIiIAh0DFQe8kWMCVNeseJqTMrxLSyzfeRxVQrhdI0NERBToGKg4IOeY+KtGQ60GZ/nO41j2QCbKKs0u18gQERHVFsxRcaCmOSbu0qrBKas0IzOlKYMUIiKqc1ij4oQnOSae8ncNDhERkdGxRsUFcdHhfqnR8HcNDhERkdGxRsVg/FmDQ0REZHQMVAzInV5CREREtRmbfoiIiMiwGKgQERGRYekaqOTk5ODaa69Fw4YNERsbi2HDhmH//v16FomIiIgMRNdAZf369Zg8eTJ++OEHrFmzBhcvXsRNN92E8+fP61ksl3g6USERERG5ThJCCOer+cepU6cQGxuL9evXo2/fvk7XLy0tRXR0NEwmE6KiovxQwmq2w9znjEjDyGsT/fb5REREgcyd+7ehclRMJhMAoEmTJjqXRJvWRIWsWSEiIvI+w3RPNpvNmDp1Knr16oXOnTurrlNRUYGKigrl79LSUn8VT+GtiQqJiIjIOcPUqEyePBl79+7FkiVLNNfJyclBdHS08i8hIcGPJawmD3NvicPcExER+YYhApUHH3wQX375JdauXYtWrVpprjd9+nSYTCblX2FhoR9LWY3D3BMREfmPrk0/Qgg89NBD+Oyzz7Bu3TokJyc7XD8sLAxhYWF+Kp02DnNPRETkH7oGKpMnT8YHH3yAzz//HA0bNsSJEycAANHR0QgPN/bNn8PcExER+Z6u3ZMlSVJdvmjRIowbN87p+/XqnkxERESec+f+rXvTDxEREZEWQyTTEhEREalhoEJERESGxUCFiIiIDIuBChERERkWAxUiIiIyLAYqREREZFgMVJwoMpVjc34xZ0cmIiLSgWFmTzaipblHMX3ZHpgFECQBOSPSMPLaRL2LRUREVGewRkVDkalcCVIAwCyAp5btdalmhbUw+uN3QERUO7BGRUNB8XklSJFVCYHDxWUO5/hhLYz++B0QEdUerFHRkNwsEkE2UxEFSxKSmkVovqcmtTDkHc6+A9a0EBEFFgYqGuKiw5EzIg3BlydODJYkzBnR2WFtiqNaGPIPR9/B0tyj6DX3O9y5cCt6zf0OS3OP6lNIIiJyGZt+HBh5bSL6tovB4eIyJDWLcBikAFdqYSxvlM5qYci7tL6DiNAg1ZqWvu1inH6vRESkH9aoOBEXHY7MlKYu3cw8qYUh79L6Ds5XVrG2i4goALFGxcvcrYUh71P7DopM5aztIiIKQKxR8QF3amHIN2y/A9Z2EREFJtaoUJ3B2i4iosDDQIXqlLjocAYoREQBhE0/REREZFgMVIiIiMiwGKgQERGRYTFQoTqLw+kTERkfk2mpTuLEhUREgYE1KnUEaw+u4OSRRESBgzUqdQBrD6w5mriQXZeJiIyFNSq1HGsP7MkTF1ricPpERMbEQMVFgdp04qj2oK7icPpERIGDTT8uCOSmE7n2gJPxWeNw+kREgYE1Kk6403RixFoX1h5o4+SRRETGxxoVJ1xNvDRyrQtrD4iIKFCxRsUJVxIvAyFhlbUHREQUiBioOOFK00mgJKwasWmKiIjIETb9uMBZ00kgJKwauWmKiIhIC2tUXOSo6cToCauB0DRFRESkhjUqXmLkhFWOxEpERIGKgYoXxUWH63bjLzKVo6D4PJKbRQZk0xQREZEaNv3UAktzj6LX3O9w58Kt6DX3OyzNPWr1utGbpoyGScdERMYhCSGE89WMqbS0FNHR0TCZTIiKitK7OLooMpWj19zv7GpLNmYPsAtEikzlhmyaMhImHRMR+Z4792/WqAQ4d7pGcyyValo1Jkw6JiIyHuaoBDhX8k8c5a/UNY5qTJh0TERkPKxR8QNf5jw4yz9xlr9SlzirMXFlFGIiIvIv1qj4mD9yHrS6RmvdmPu2i6mTNQTOakzkoO+pZXtRJQSTjomIDICBig/5M1BQ6xrNpgxrrjSTGXk8HCIifzNC6gADFR/SO1Dg+CnWXK0x0XM8HCIiozBKL0gGKj6kd6DApgx7rDEhInLOSKkDuibTbtiwAbfccgvi4+MhSRKWL1+uZ3G8zggDrY28NhEbswfgw3uuw8bsAYYfE8Qfg62xmzYRkWPuDH3ha7rWqJw/fx4ZGRmYMGECRowYoWdRfMYIT/C2TRlGaHNUY5RqRiKiuk7vFgFLugYqWVlZyMrK0rMIfmGknAejBgNGqmYkIqrrjJQ6EFA5KhUVFaioqFD+Li0t1bE0xuBO7Yg/gwF3a230TjwmIiJrRmgRAAIsUMnJycHs2bP1LoZh2NaOTBucirRW0ZrBgb+CAU9qbYxUzUhERNWM0CIQUCPTTp8+HSaTSflXWFioW1n0nmFXrXYkZ/U+hyPQ+mPkVU/nyzFC4rG/6X0OEREFgoCqUQkLC0NYWJjexTBEnoda7YhMq0nHH22ONam1MUo1oz8Y4RwiIgoEARWoGIFRkj7VmkosaQUHvg4GatqEY4RqRm9wlKNjlHOIiCgQ6Nr0c+7cOeTl5SEvLw8AUFBQgLy8PBw9atyJ84zSt9y2qcSWo+DAl+OI1MUmHFvOJoI0yjlERBQIdK1R2bZtGwYMGKD8/eijjwIAxo4di8WLF+tUKseMlPRpWTuy+1gJ/rF6v+7dyIpM5UhoEoFlD2SirNLs9yYcvceIcaW2xEjnEBGR0ekaqPTv3x9CaLRdGJSR+pbL5ZFrSIZmxOua36GWd5GZ0lTXzzdC7pBtM5zRziEiIiOTRKBFChZKS0sRHR0Nk8mEqKgov352kam8TiR9uqrIVI5ec7+zqyXYmD3AL8dH78/3pBw8h4iornLn/h1Q3ZONRCvPw9ddTo3apVXvvAu9P1/mTo4O5xwiInKOvX68yNdND/5o2vA0x0PvvAu9P99SXepmTUTka6xR8RJPBzozyvYB571VHNG7t4/en69WHtaWEBHVHGtUvKDIVI4vdx/36fD0vh7+3htje+hdk+DNz9e79xAREVVjoFJDls0xtmybHmpy83PUtOGNm6q3AiG9B2zzxucbofcQERFVY6BSA7a1EJZsmx5qevPT6tK64ddTXrmpGinHQ08cNZaIyFgYqNSA1nw7M4Z0wJ/S45Qbm7dufrZNGwCsusLW5KaqFQgBwOb84jrTBOKvGaaJKHCwKVhfDFRqQKsWwjJIAbxz87P8ociDqG3OL/bqTdU2ENrw6yklEKorTSCsWSIiS2wK1h97/dSAbU+TIABPDm5vFyTINz9LWjc/tXFStHrjaG03IjTI47FW5N4qAHzey8iIjNZ7iMgojDqGky/5o7elERntu2aNSg2NvDYRJeUXMXf1PpgFMO+rfWgUUc8q4nZ1yHTbyH1i72TcnB7nsNnIdrvDusRj+Bubaxz91+UmEL17LxEZTV2tVaiL10EjftcMVGqoyFSOeav3QTjJE3F281OL3Bd+X4CF3xfYfablD8VyuxGhQUqQIm9j+qd7EBkWgq6tGwfUAG5607v3EpFR1IUEc60clLp2HTTqd82mnxpyZ+h2R4OAaSXmqrH9ocjbPV9ZZbcNM4AHP9gZcAO4EZExGGV6Cl9xNNBlbb4OqjXvGPW7Zo1KDXkr4lbbjiX5NUc/FEfbsI2MXclid7UJRN5WZGgwzldWIblZJAAwS56oFqjNtQqu1CDUxqZgreYdo37XDFRqyFn+iavd2uTtqI3LEixJWPZAJsoqzQ5/KLZlsSVHxrZjr0zsnYwJvZM1y+yo3GoD3sn5vQLGaePUC7s1UqBzNccuELmag1KbmoKdBWdG/K4lIVTuaAHCnWmifa3IVG4XcXuSlFRkKseiTQV4a0MBzLhSg2L7Pkc3wCJTObYfPoMpS3baRcbLHsi0ymORSQDm3pYGAC6XuchUbjWOi5ZgScLG7AG6n+z+ZsSkNED93CkylWP7kTMQQiCxSYRSM1bXvjPSpnaNC3Rq17Dafr3anF+MOxdutVv+4T3XKT0+/fFdu3P/Zo2Kl9hG3J4mJcVFh+OpP3XE+F7JSoLs+coqFJnKXQ6A4qLDcXNGOM5XXrKLjNXyWIDq2o/py/ZAiOr/d6XMrubVBHKWvKc1Iv5OSnO1nGrnDgBkf7oHtl+l5bnlznFgLVJgcva91aZaBZlRaxB8KblZJCTA6vdu2bxjxN8vAxUfqWm3trjocLsmmmlZqYiPru/yDVCtbbXIVO4wj8WWozI7y6uRGaGN0xM1qRHxZ7dGV8upFjxN/3QPhAS7IEV+/alle1FSfhHzLne/d3YcjFqLRI7Vlu9NLV/O2e+tNuagOLLh11NWf0uAEpwZ9Txgrx8fcWeQNzVqN5WcVfvw0Id5bmVl2/Y0kp8gbMumxVGZbTPiZRIAeVGgPqHUdKCnmn7/rpbxi13HXC6nWvBkBuCo8bdKCGWMIGfbr6uDYwW62vK9WfbeufX1zaq9eLQ46pFZm8jfteVPXpKAvu1iDH0esEbFR2papViT7srOyE8Qr313AB9sLbR6TZIAScAqP0atzPKTS992MdiYPUBpppITfgF4/QnFn1WS3qgR82aVsu2+O5q1W6ucajVgQUB1jYpWbzPY15hpbT8QBscyYrW2J7y1H0Wmcny5+7jq97bjyBk0jrxSO+FOLYW/aU0Qa5RxQIxC9WFFVF+rBYRhf78MVHyoJlWK7jSreNrL6Ob0eLtARQjgX3d2QZPIMM0yu1o96M2T299Vkt7opuetKmXbfZ+Wlao0xajRKqejiSezL+cn2W7nycHtMe+rfS4dB3ePmb+DBqNWa7tLbT/6totx+1g6CnYlqXr8JbVTTJKA7KxU/LVvSs12xIscPdgZ5WZrBM5+o0bsmgwwUPE5TxPQ4qLDnd6QJABPZrVXLrbuXoi1TtprbEaxtbyhAOpzAPnyiaWmiame3BC9VSNS0wREtX13FqQ4KqdW8NS3XQx2HDkDIYCEJuFWXeEbRdRTjkOQBEzonaS5r64eM38HDUYdcdNdavsx7dM9SnKkKz315BwOrSAFcNwcKC43Q0MAf+1njGDF0YOdUW62avwdrNv+RoMATLz8ezZyYjG7JxuU5YVcAjC4cwt8vfcEzDbryV3pAHjUzW5p7lG7E9PyIqc2/5DasP6WXdu8zZXudFrcvSHaXjj07pKpte+2WftBAF67s4tdkOktcrf5hRsKnN4QnR0zPbqE1uQcMhKt/bCkdSytrikOmvtcFQRg0/TrDXEjA6yvZTKt4R2MoKbXppooMpVj0cbDeGvjIbvP99c1j92TA5ztU5MA8M1Pv2P2rZ0w4/OfrNaVqzU9bV901Dyh9vT2lkqQEgTgj/MVVl2oXd1PV354njbDuPsUrXXh8MaP1dm4N1qvqeaVSMC0wan4x1f7rQLMIenxXiuT7XrbDp/GW98XuNR13Vkt0rbDp/3eFm7UETfdteeYyek6tseyyFSONT+fwMzPf1a+P288npoB1e9Mrzwg23nPnA2QqSdvXZtqQg5S1D7f3VQCX2OgYkBaSYmNI0J90r6odWNRK4fa9U2guj3b2VO2PKBYt6Qmdl2vHf3wPK2SdCe505dNA3Y5JoNTkdYqGsnNIp0eB3nfLXNIhAAaRdRTkpg9uRi7euHzJGnXlc+15eugwcjV2q6SJ0B1JghQjuXS3KOqY+R4g9p3pnceUKCM9aJ1bdpx5AzM4jQkSVImkvXFtcmVa6Pe36UlBio6U4tYtZ7+uiY1dnix9faF2NWEXsun7OnL9iAiNBjdkppYnfC2F0sJrg8sB3iWmOrOU7SveqyodjO/fLOxnGpAfk3tOPRtF2MVIQpUj3/y6p1d3J4VW6tMap+r1ZNC5m6irNb2ggC7c9UXT3KBPl6Gqz0Bp2WlKjc4bwcpSi4MruQ2yJydV0Z5OjcCtWuTJAGTP9h55W9Ujxa+q7DE69cmZ9dGo+V0MVDRkaOmBq2gw9HF1tsXYrvEq8vt2o4ufGYBPPRhnlVvBNt++4D9Nlz54bn7tOTOU7SvmgYc3VzUFlseB/nC/se5Crt15VmxPXnSWbSxwKULn6OyWw4SZUvrvNba3mt3drFqtnLlSc7Tm16gPHGrcfbgIAHI/lN1bxy527E3gxR5Co6Vu0/grY2H8O/vC/DWxgKH36/W/GI1fToPxKDHMpH56Oky3HFtApb8WAgz7GvDgerrw7RP7WsfcXn9mlybnF0bjTbUAAMVnTiLWB0FHY4utp5eiLV++Lbl2PDrKeXktq0RsCTvzyujrnbpKdBXVf+uBm++ahpwtVZKJh8H28RHLZ70gFJLhla78KkNtS2TB4lS277Wee2ol5mj99vW0rkzEm+g3cwckc9RR12Kh2bEO2yu0zJjSAdcEgL/WH0l72lYl3gs33nc6vcQG1VfM7dB6/stq7xo1XRp+R4AVjdvyyYPLYH4/Tv6Tu7snojUuAb4++c/u7y9Sb3bAKhOrvZ0/xxdG42W08VAxU9sfzSuRKz+evpzZe4gAFYDvFlmjGupulz9onWjlm+Cvs4XcPU4+qJpwDYAsiWP4msWV44DYN0F3FnioztPOgXF51UDj6zOcXbLbIfatmQWUEZDduW8Xrm7CEPS45wGg1oDUsm1dNMGp1qN66IVqBmpfd1TajfakdcmIiI0GA99mGe3vlkAO46ccRqkqM3z8qf0OMRFh2NoRrzV+f/4oPZWf2/OL9a8bmWmNLX7fod1icekd7er1qBqXUPkJg9Xp4Ew8vcv5+Y5aoL74MejcPAsYkcC0LRhqNJzrib7p3VtNFpOFwMVP9AaoMkIEasrP3y1ZFDbC4zak7dlXo1aFaaE6sHlrrFIGtP7CaimwaHWzSW1RUPkHj6DkrJKzF93yOrHbxscqd0MZGrNb+6cN1o1PCv3FGHVniLlBqE21LalYEnC7mMlGP3WD1fOi6xURIQGq54Lz638BXNW/YKcEWnYmD3gctJg9UzNlk+FjmqgzOLyGDI2y9V6uRipfV2LWld4+W/LphIJwD19kjEkPQ7nK6uQ2CRC9RhXHzf73n8AMOX6tmjfoiGuad3YqlbU9gZke/7b/u3sSdu2583wNzar18gBWPj9Ic3k/OnL9qh+X6484Pnq+3d2fXJn9Ghb7jTRPdA/xWosJV+d30bK6WKg4mNaP5qN2QMMEbE6++FrDjhmsx0B4N6+yXj7+8OqeTWRYSF40CJRDKjOs2gSGeZWdb6Rae2DWqCX3qqR1Y/f2c1AZhbax9lVE3sn422VPBWB6lmU5VFONYMlACOvbWV3scxZ5bhHinzuP5nV3m7QOsvj5agGygz7MUBsAzWjta+rsT0nhndpic92HlP+tgxGBYB/f1+Af19usguSgBHXtMSyHceUdaTLx69bUhPVQGJUj0SrwNnTG5ArT9pycKMVcDtqMpbJtUND0p131/fV928bOMq1Imo1PrbjXo3qnoAluYVuNb+psZzSRH4YSGsZjdfX5dd4/1xhlJwuBio+5uhHY4SI1dkPX2siO7WbxfheyRjfK1l1f7q2bqz5OVp5CaktGiIj4Ur+gpFpBaSpLRraLf/HV/sdDm7mKBfB0XF29sT35vp8zF29T7nY3pAag2/3WTfvCADbD59B1yT776v6ApyIJblH8cGP1lMvuEqe5NA2BjGL6p5MfdvFKDVQt76+2e798sVazqWQR8o9WXpB2XejtK9rfR9q58qnO44przu7uZkFsHzncSyf3BOFp8shSbAa6M+VB6Ca3IBcvW6p9my5/B9XxnF58IOdOFdxSbW7vqP988b3bxtIWm7LMqBXe5gTgMe/D0taNa5FpnJDnN/+xEDFTe42Tzj70egdsTr74WuV/8ms9laJd7bVx+58jtqTl1kAw17frNlWbQSW54JWQJp7+IxHT3eWE0d+uLVQNZdHq01ewuW5WPqlKGXcdLAYr6+98hQmAHy3Tz0HRZIsxm+xaVv/8MejNepJIkH7JmUGsGjjYTw1pAPOV1aprjOpdxv8tW8KhmbEKyPlLvy+wCpB+Oa0FhhzXWu8t+WI0pXW37WVjmoI3ZlwVEuVECirNOPmDPtB/vzxAOTKdUvtNz+xd5JSM+SMgH2TRpGpHAlNIrDsgUzNAd1qkl8h55RYNlWrfVdyQH9zhnpelpogCXj1ji5IaBKORZsKsDyvSHWdaVmpSG+pXeOqtX/AleRaALo3o3sTAxU3eNI8YbSkJDXOehgN79LS6olvWJd45WbhzsVQ63O0mjrULlRGodacoxbQXatSMxEEICI0yOlnbPj1FJb8WKjUgDw5uD36touxy/RXe6LLWb0Pu34rwVd7T2heROXtWr4sSUCrxtXBY2qLhlY1ZzW8t7q0jYXfH8L43kmaMz2Ptxi7w3KkXEtf7jnh1md6i9Y8OrY5BK70BJMufzFaqzh7gtb7AUhm+5sHgLdUmh21yEE9ALyzsbo7tLC4/mpNf+BJsOZubym5N54r36dcXjmwfPmOxugQn680gQYBuKNHAjLbNFV6txWZyjV79dju34q84+iZ853ymwZcm/spUHCuHxfVdH4SveeM8ZS/5mVxdJH425AOGHK5V4LtCLd6HEutY6JWyyTnqNjmXLgyeZztZ1j2ELJ8vyvzv6gJAjDtT1cmvrTNldDqmuwqT+eTmXJ9W4zqkaia9CkfL3f32dfz0ry5IV9p0tI6bpbzClmeE0ES0KttM2w6WGzV+6tvuxjVnjHemL9Gz8R1td+DFvl3NXfVPrtjKknA5mzPvlO1RGbb35szn0/uifOVVVeSnz/dY5e7J3v21k4Yk5mkWo7DxWXY/VuJ0ptNLWfJ0bXizQ35DvPDjDYnk4xz/XiBO92JAefVbEZ5wnFE7eLlr8REOS9h2Ov2vQTkHiPDu9gkEAKY1CcZE3on+/XYah2T9JaN7Ia1l6uq/333NZj03naHY0k4O+4CUH2/o/FOHJmWlWpVMyb30rCsmbHlyucEScBnD/QEANXvUza8Szw+23ncbvmr3x3Ev9YeVHoIWT6Ny0+Y7o5PozUvjTe8uT5fGW0YUD8+tjUglk17H2wtxPcHiiGhOlF6fK9kANXnwJD0FkhrFYUgSUKrxuFemb+mponrNQ1y5H1fubsIz638RXO9YEnCff3aKHlVtoRQT7h1Rm3/E5pEODyXeiQ3xo8FZ6zKYXlu39k9AZ9N7olXvz2Ib/edtHt/k8hQ1e3Kx0/uPQeo5yxp1SwXmcox18m0CpZNqoGKgYoKd7oT23bRDNRqNq2Llz8TEzMSGmPubeo9Pmx/vED1DUHOT5h+OSfDF2wvzFoTBUaEBlkFpM5mq7UdSyJIqu56GB1RD21cuBFbjl+RnZVqdbN0RMKVEUwB57005HLIT/Il5RftnnDl/ZPXyUhojM35xQ6bLsb1TMLyneqjp1r2jstMaap6fjrqHaS2z8XnLrg9caYzjm4U8nELktRzZFbsOo4Ptl5JuhQA3v7+MJpGhlmNFSNvy9Vri7MJMO0S1z/dg8iwEJemY/BW77y46HAMSY/D86t+Ua11kwegU6tJsWT7Xq2pG+RlAFSb5ZY9kOnw93ZzejxyD5+x+jzLVT/4sRAf/liI7D+l2gUqcrKzFldyXLQeDguKz7tUayk3qRr9YVkLAxUb7nQnfnJwe7/0Z/c1Z6OB+jPHxtWnLVs5q/cBEpSbr7eoXZhLyi6qJv8Of2Oz1VTpzgZtsx1LwiyAf1kkvF6T2Ai7Ck3VzQO4XKNis43dx0qQmdK0OkiToJyP8mBbcvWx7ecOVUnC1MoLWXh3V0SE1rN6kh+aEY8dR6ov3F2Tqi/CruYeyTduOTB1NOnhyt1FuDapseZvUq5xiQgNwgvf/IoNB4rtN3T5uFlO7eDJzVWrxlGr5snRd68V4Ci9omyWu3ptcRZIaPXic2U6Bq3rhKfXu7jo8OoA26bZIliS0C2pseYYLDIJV869XYVnsHDDISU/Sc4b++NcBRZezmUKkoBJvZNVa0PLKs2aPe0kAI0jQ50GEwLVv7/pWalWzTg5I9IcHh9Xagcte0g6e2jSKtu/vjuI54enOV7RoBio2HCnO7ErY5AEQua1s9FAbavgfb0vcdHhqPKgW8S81fswNCPe7fK5043U0QiTljcTraekIFzu3g3nTSg7jpbg7bFXgoQVecftak3mrd6H+Oj66JbURDXBuX/7GLtRTLWaQWwTv+V173lvu13iYvUTsf37bf+eNjhVGXcnCMCky00btmN67DhyBg9+sFO12U+rNkquTZK39d7EHthVeAbf/nISofWCcPD3c1ieZ9205OnDhG2vqnv6JGN872SHieCW/2/7mVpPwo7OC2dNrq4MdOZsjB5Hx0brOvH8yp/x9JCOHl0X/to3BRBXxmaSH4TOV1Y5Tk4FkHNbdQDw2Ed5drWtZgG734pZVCdga9UQZ6Y0rc4LutybTFh8jtrwCmrMAkhv1Qibsq93+Xqp1uFCbfoCtUEAx/dOdjitgqX/bj2KRuH18MTgVMcrGhADFRvudifWWjeQBjBz5eIlV8F7i6NROQFg3lf2T5t/SmuB1XtPaHdvFdY3YFcCRXe7kToLLuSbyZ5jJrvXggDMvrUTAGDmip9cqrI9XFyGiX2q5/VIaxVt97ptQClPainTGgBMq+lOyRV6Y7NqPoy7N/d5X+1Txt2Rc2JsyUHPb2fKVWsT1I6T1j7sO3EW/1p70KUmM9ug1NXmEgFYTcg3LSvVqvfGyO4J+NBmHA3bz9T6zT0wIAXz1+Wrll/rqVrm6rQcjprMHAVDWmX+cvcJrNpzwuq3485D2l/7pWDo1fF2uV2qtXtjrWv3dhWesQtSHDEDuLd3G7y9seBKzXhWexQUn8fJ0gs4X1mlOU6R5XFzFFDKtZzu/FbUeilZTl8AwCrZ1/Yc3JR9PRZtKsBbGwo0E3oB4PV1+YiKqOf1mmdfY6Biw53uxI76swfCEN4yVy9egHf65jsblXOiSvUsAIy5Lgkzbu6IHUfOYM3PJ+zGIbC8ebk6A29Nu5HaCpYkRIQGYZ5Ktb4ZwIzPf3KrN0y3pCtt2548DXvSPf58ZZVmDYar37ta09c/Vu/XrPFamntUM2lSJtdGWf7Ovth1DCXlF9E4IhQJjcNderK0nc5+0cYCq+YBV5pLgMs1bMv2KN2IJVQHY0OvjsdSm1FJbQMr2+8lyCKQS2wSYfdbVHuqti1rZGiw6v7adoWXb4rbD5/BlCU7XQ5i46LDMbF3suqklpbnn6szJdsGM87O2yez2iM8NMQqePjx8GnVsmqRu7iP7510pbeNg1GSLdl1Cd51XLW3jaPz3FEAp3YM5L+18scsc2z6t4/FkLQ4lFWaEREapJnI7mnNs54YqKhwpw++2rqOJu5y9LSvZ1ORoyr4YEnC7t+8kzTsyqicb28ssHtikccekZ++h6THW41DYHkDdnWuD2dPoPLF0tWxFVyttlYLUoIA9G0fg3X7rwzCdts1La1G5vX0adjdMSW8kUDtTm8xZ/MKyZ9vOcjXhl9PKeNGyFzt+XRfvzYoKD6P9384gjfW5lu9Ry251FGvKtvkynmr9+G6NvZ5XU8Orn5qB640kWl9L7bz5cj7DFg/Vdue11qD5JVV2j9jx0WH4+aMcJyvvORWEDuhd7Lm+DVVQmD74TMO892A6nNjz28muzwOR4GBZUBhuX73y9t0lUD1+ETyZ1n2tpFZHle5vJbBlHx8/to3BS0bhdtNDaJ1nteklt3RQ0qVEEpQYrnd7D/Z5//I+2ek6SRcwUBFg2106866zi70aicsAN2biuQg4FzFJbsnGU+Thl3p5m3LLKznswGqn6Qtk1UBaA465+rEZafPV9p9tlo3Uq3ZaiWpegTYoRnx2H74DCBVTxUAaM8Ybcm2hmDktYnYVXgG2w6fQbekxqrTBzgLKB09DbtzPrtTC6MWYGv1jDp46iyKz12wGgPH2Tlh2ZNI/jy1XCFXK77eWJdvN1eKJdvk0pLyiy5uufq9w97YjLkWeV27j6nfZAHHs9faLnf2AORJgOluEBsXHV6dAK0yZkiwJAEq573cPCld/tv2e7K9nqidT7bdd+X1MxIaY0D7GKzdbz3KsuWYQ5YErgRO8rbUVAlR3ZTyfYHDa7KjqUEs1XSiROWhSWOsFvnjLQPDoRnxKC27aHeuS0DADbfPQMVNrtR6OLrQa2XOW57oejcVuZs0rMXVbt625PlsQoODrHrByE+7ji5oAFSfgCVcqQLXGlxOAlSffNXyPADgmVs7YWCH5qpV3bbV+paTzMn7qDYMeEaCeoBiSSug9GZvLFdvYFpPiba/AfmmMWP5TwCsJ3bTelqUcGV2beDKGCpaPW1kcgCo1VPK1YDGLKA667czQlzJ64oIDbKa26gmv21X8uc86aHnThALXDk3LLvWy5/lKOnU0XGXrydqvyW1MU4s11//q3WQYjlgnlrvQcu8Lke1cP/eUGD1npo0rXpjPCq14652rC33b9rgVPt9lBBwDDEy7euvv45//vOfOHHiBDIyMvDaa6+he/fuTt/nz5FpAfer7tRGo3VnRE3LkSz15MnotI7eYzniqC25mjy+UX1M+TBP9SJyb582SImNtBvCPq1VtJKMa9ssAFyZR8O2TVpm+cRn+/3aDuql9h7b/QSudNl1NMpqTeg54rEr50WRqVyzR4/liJlLc48ie9ke5YZuGcjYTVeQlao5voY82JxlE5FlwOhOvlFN3ds3Wek9Ykv+bTtKKtfK5XF0HhWZyrHt8GkESZLVRIW+onb+uTPyrEwO3C0HHJSX//vuazDp3e2qgb7t+kEAPpvc06r2zdGIs5azE7tC65rs6Hcoj6b9kEoNqKcjfMufZztIoy05aHe2H+6eh94QUCPTLl26FI8++igWLFiAHj164OWXX8agQYOwf/9+xMbG6l08hSdVd2pPKq4maBppNkxPntScdfNWG4U2CMD9/dvYDXZl662Nh6xqKMziSldEORlX7e1mAc0gBbAONixzFY6dKVfthWT7Htv9tMz898ZEcWoXD3efhr3J1V4mjSPVa0Asu0lbNmnJY7No1UD+Y/V+ZGel2iXfSpeDS8saKeUpdFOB1ROyt6k9mTv6vI0HT+Ho6fMOk8pdSei0/O716Glo2Xwn/z3y2kTVQQG1OMrtqhJCNUjRWt8M65wcZ3lmQlTX2hWZLjgdt8mTplXbbu3yeVLTGlDLz3OUt6Y1073lfjjq3CA3b+vdS0j3QOXFF1/EPffcg/HjxwMAFixYgJUrV+Kdd95Bdna2zqW7wltDyTtLiAS0R7LUk7cTMs9XVtm3VaO6+5yzBzFHQYxWMq4r77VbF7BLlHOF1gWtJkGFEbu7u5oToTnwG6zbyuUmLUua0xW0aoTN06/H9sNnUFJeicYRoQ5rEN5yccZeT7lbUTP/8nluGWy7Omy62nlU0xwIT2k1785z0oMLACYPSEHvtjEOuyQDNkn1ErDsgUxkJDRWXV/t/HOUZxaEK6PGzln1i9W2LPNcPAks1Lq1B0nAa3d0UQJxb3CWt+ZopntnnRuEQHVCroDPRv52hfMpXH2osrIS27dvx8CBA5VlQUFBGDhwILZs2WK3fkVFBUpLS63++Yt8sbXkaa3HyGsTsTF7AF6/s4tdc2EQqquu9b4JqYmLDnd5fAA5IAu+PMWo7Q9E7XgGwbVuu3LbshazAO7pm+y3k1u6XCag5k9KarRuQkWmcq99hiecfce260kWX5qEKwN2OeLod1fdcyUed12XhCHp2t0ttZJ1n721Ez685zpM/1Oq3y+EZuE8uLEcFsAZZ3OR+YLWebn9yBmXHgh6t42xup7Ynk+237v8GXKNiavnH3Alz8zWtKxUJfCz3dbc26rHJ/nwnuuwMXuA29dkrQHymjYI83rwWB3kx2PubfbH4699U7Axe4DqfrjSuQGoronW83qja41KcXExqqqq0Lx5c6vlzZs3x7599lXtOTk5mD17tr+KZ8XTRDVH29NKiHSWTBkoHNXCqB3PJwe3t5/jBNXTny/ZWmg3hoajPBd50CZniWcAcNd1iXj/h6Me7aNl4p6vckX8NTGkJ1ytadNq2nHGG787rZqfgR2bK8H30Ix41ZmKZXJuTKPweq7PL+Qg/0EtwdqWOw9C/pyTS6Z1XsLBb81Z2Wy7ZqvlrKhN7ujs/LM9jyzHrXG2LU9/Y3p8J472QW0/XE1F8OWknq7QNZn2+PHjaNmyJTZv3ozMzExl+ZNPPon169dj61brpNOKigpUVFQof5eWliIhIcFvybSAb5IX9UyI1JvtvmslC6odI2WK9GMldlWbtgmGji58akl5WqrnC2mDIektvDKTrSs8SWaubWr6G3GWhGr5OZYjfKoN+6+VIKzWVCDfNDYdPIU3Lo84qxZsaw2b7s5TvKv76C2uJszXZN+8vU/+vtb6+zvxhG0ZB3VujlWX50yS+eJ6404yra6BSmVlJSIiIvDJJ59g2LBhyvKxY8eipKQEn3/+ucP3+7vXD/mHJxcTV9+jdeGwXW57YX0yqz3SWzbSLZgMhAue0blzXrmyrtp34ujp3lGwbZmnUdOEa6PciL21b4H+IBcI5bct45vr8+3mX/L29SZgAhUA6NGjB7p3747XXnsNAGA2m5GYmIgHH3zQaTItAxXyhNaFw9s3DW8zWnmI3wnAY1Bb+fp7DahAZenSpRg7dizefPNNdO/eHS+//DI++ugj7Nu3zy53xRYDFSIiosATUOOojBw5EqdOncLf//53nDhxAldffTW++uorp0EKERER1X6616jUBGtUiIiIAo87929dx1EhIiIicoSBChERERkWAxUiIiIyLAYqREREZFgMVIiIiMiwGKgQERGRYTFQISIiIsNioEJERESGxUCFiIiIDEv3IfRrQh5Ut7S0VOeSEBERkavk+7Yrg+MHdKBy9uxZAEBCQoLOJSEiIiJ3nT17FtHR0Q7XCei5fsxmM44fP46GDRtCkqQabau0tBQJCQkoLCyss/MG8RjwGMh4HHgMAB4DgMdA5u3jIITA2bNnER8fj6Agx1koAV2jEhQUhFatWnl1m1FRUXX6ZAR4DAAeAxmPA48BwGMA8BjIvHkcnNWkyJhMS0RERIbFQIWIiIgMi4HKZWFhYZg5cybCwsL0LopueAx4DGQ8DjwGAI8BwGMg0/M4BHQyLREREdVurFEhIiIiw2KgQkRERIbFQIWIiIgMi4EKERERGVatDlTmz5+P9PR0ZYCazMxMrF69Wnn9woULmDx5Mpo2bYoGDRrgtttuw++//261jaNHj2LIkCGIiIhAbGwsnnjiCVy6dMnfu+I1c+fOhSRJmDp1qrKsth+HWbNmQZIkq3+pqanK67V9/2XHjh3DXXfdhaZNmyI8PBxpaWnYtm2b8roQAn//+98RFxeH8PBwDBw4EAcOHLDaxunTpzF69GhERUWhUaNGmDhxIs6dO+fvXfFYUlKS3bkgSRImT54MoG6cC1VVVZgxYwaSk5MRHh6OlJQUPPvss1ZzrtSFc+Hs2bOYOnUqWrdujfDwcPTs2RO5ubnK67XxGGzYsAG33HIL4uPjIUkSli9fbvW6t/Z59+7d6NOnD+rXr4+EhAT84x//qFnBRS22YsUKsXLlSvHrr7+K/fv3i6eeekrUq1dP7N27VwghxH333ScSEhLEt99+K7Zt2yauu+460bNnT+X9ly5dEp07dxYDBw4UO3fuFKtWrRLNmjUT06dP12uXauTHH38USUlJIj09XTz88MPK8tp+HGbOnCk6deokioqKlH+nTp1SXq/t+y+EEKdPnxatW7cW48aNE1u3bhWHDh0SX3/9tTh48KCyzty5c0V0dLRYvny52LVrlxg6dKhITk4W5eXlyjqDBw8WGRkZ4ocffhDff/+9aNu2rRg1apQeu+SRkydPWp0Ha9asEQDE2rVrhRB141x4/vnnRdOmTcWXX34pCgoKxMcffywaNGggXnnlFWWdunAu3H777aJjx45i/fr14sCBA2LmzJkiKipK/Pbbb0KI2nkMVq1aJZ5++mmxbNkyAUB89tlnVq97Y59NJpNo3ry5GD16tNi7d6/48MMPRXh4uHjzzTc9LnetDlTUNG7cWLz11luipKRE1KtXT3z88cfKa7/88osAILZs2SKEqP5Sg4KCxIkTJ5R15s+fL6KiokRFRYXfy14TZ8+eFVdddZVYs2aN6NevnxKo1IXjMHPmTJGRkaH6Wl3YfyGEmDZtmujdu7fm62azWbRo0UL885//VJaVlJSIsLAw8eGHHwohhPj5558FAJGbm6uss3r1aiFJkjh27JjvCu9DDz/8sEhJSRFms7nOnAtDhgwREyZMsFo2YsQIMXr0aCFE3TgXysrKRHBwsPjyyy+tll9zzTXi6aefrhPHwDZQ8dY+v/HGG6Jx48ZWv4dp06aJ9u3be1zWWt30Y6mqqgpLlizB+fPnkZmZie3bt+PixYsYOHCgsk5qaioSExOxZcsWAMCWLVuQlpaG5s2bK+sMGjQIpaWl+Omnn/y+DzUxefJkDBkyxGp/AdSZ43DgwAHEx8ejTZs2GD16NI4ePQqg7uz/ihUr0K1bN/zlL39BbGwsunTpgoULFyqvFxQU4MSJE1bHITo6Gj169LA6Do0aNUK3bt2UdQYOHIigoCBs3brVfzvjJZWVlXj//fcxYcIESJJUZ86Fnj174ttvv8Wvv/4KANi1axc2btyIrKwsAHXjXLh06RKqqqpQv359q+Xh4eHYuHFjnTgGtry1z1u2bEHfvn0RGhqqrDNo0CDs378fZ86c8ahsAT0poSv27NmDzMxMXLhwAQ0aNMBnn32Gjh07Ii8vD6GhoWjUqJHV+s2bN8eJEycAACdOnLC6IMmvy68FiiVLlmDHjh1W7a+yEydO1Prj0KNHDyxevBjt27dHUVERZs+ejT59+mDv3r11Yv8B4NChQ5g/fz4effRRPPXUU8jNzcWUKVMQGhqKsWPHKvuhtp+WxyE2Ntbq9ZCQEDRp0iRgjoOl5cuXo6SkBOPGjQNQN34LAJCdnY3S0lKkpqYiODgYVVVVeP755zF69GgAqBPnQsOGDZGZmYlnn30WHTp0QPPmzfHhhx9iy5YtaNu2bZ04Bra8tc8nTpxAcnKy3Tbk1xo3bux22Wp9oNK+fXvk5eXBZDLhk08+wdixY7F+/Xq9i+U3hYWFePjhh7FmzRq7p4e6Qn5SBID09HT06NEDrVu3xkcffYTw8HAdS+Y/ZrMZ3bp1w5w5cwAAXbp0wd69e7FgwQKMHTtW59Lp4+2330ZWVhbi4+P1LopfffTRR/jvf/+LDz74AJ06dUJeXh6mTp2K+Pj4OnUu/Oc//8GECRPQsmVLBAcH45prrsGoUaOwfft2vYtGNmp9009oaCjatm2Lrl27IicnBxkZGXjllVfQokULVFZWoqSkxGr933//HS1atAAAtGjRwi7jX/5bXsfotm/fjpMnT+Kaa65BSEgIQkJCsH79erz66qsICQlB8+bN68RxsNSoUSO0a9cOBw8erDPnQVxcHDp27Gi1rEOHDkoTmLwfavtpeRxOnjxp9fqlS5dw+vTpgDkOsiNHjuB///sfJk2apCyrK+fCE088gezsbNxxxx1IS0vDmDFj8MgjjyAnJwdA3TkXUlJSsH79epw7dw6FhYX48ccfcfHiRbRp06bOHANL3tpnX/xGan2gYstsNqOiogJdu3ZFvXr18O233yqv7d+/H0ePHkVmZiYAIDMzE3v27LH6YtasWYOoqCi7i75R3XDDDdizZw/y8vKUf926dcPo0aOV/68Lx8HSuXPnkJ+fj7i4uDpzHvTq1Qv79++3Wvbrr7+idevWAIDk5GS0aNHC6jiUlpZi69atVsehpKTE6onzu+++g9lsRo8ePfywF96zaNEixMbGYsiQIcqyunIulJWVISjI+tIfHBwMs9kMoO6dC5GRkYiLi8OZM2fw9ddf49Zbb61zxwDw3veemZmJDRs24OLFi8o6a9asQfv27T1q9gFQu7snZ2dni/Xr14uCggKxe/dukZ2dLSRJEt98840QororYmJiovjuu+/Etm3bRGZmpsjMzFTeL3dFvOmmm0ReXp746quvRExMTEB1RVRj2etHiNp/HB577DGxbt06UVBQIDZt2iQGDhwomjVrJk6ePCmEqP37L0R11/SQkBDx/PPPiwMHDoj//ve/IiIiQrz//vvKOnPnzhWNGjUSn3/+udi9e7e49dZbVbsmdunSRWzdulVs3LhRXHXVVYbujqmmqqpKJCYmimnTptm9VhfOhbFjx4qWLVsq3ZOXLVsmmjVrJp588kllnbpwLnz11Vdi9erV4tChQ+Kbb74RGRkZokePHqKyslIIUTuPwdmzZ8XOnTvFzp07BQDx4osvip07d4ojR44IIbyzzyUlJaJ58+ZizJgxYu/evWLJkiUiIiKC3ZO1TJgwQbRu3VqEhoaKmJgYccMNNyhBihBClJeXiwceeEA0btxYREREiOHDh4uioiKrbRw+fFhkZWWJ8PBw0axZM/HYY4+Jixcv+ntXvMo2UKntx2HkyJEiLi5OhIaGipYtW4qRI0dajR9S2/df9sUXX4jOnTuLsLAwkZqaKv79739bvW42m8WMGTNE8+bNRVhYmLjhhhvE/v37rdb5448/xKhRo0SDBg1EVFSUGD9+vDh79qw/d6PGvv76awHAbt+EqBvnQmlpqXj44YdFYmKiqF+/vmjTpo14+umnrbqT1oVzYenSpaJNmzYiNDRUtGjRQkyePFmUlJQor9fGY7B27VoBwO7f2LFjhRDe2+ddu3aJ3r17i7CwMNGyZUsxd+7cGpVbEsJiOEIiIiIiA6lzOSpEREQUOBioEBERkWExUCEiIiLDYqBCREREhsVAhYiIiAyLgQoREREZFgMVIiIiMiwGKkRERGRYDFSI6qD+/ftj6tSpehfD52bNmoWrr75a72IQUQ0wUCGigFNZWenXzxNC4NKlS379TCKqxkCFqI4ZN24c1q9fj1deeQWSJEGSJBw+fBh79+5FVlYWGjRogObNm2PMmDEoLi5W3te/f3889NBDmDp1Kho3bozmzZtj4cKFOH/+PMaPH4+GDRuibdu2WL16tfKedevWQZIkrFy5Eunp6ahfvz6uu+467N2716pMGzduRJ8+fRAeHo6EhARMmTIF58+fV15PSkrCs88+i7vvvhtRUVG49957AQDTpk1Du3btEBERgTZt2mDGjBnKrK2LFy/G7NmzsWvXLmU/Fy9ejMOHD0OSJOTl5SnbLykpgSRJWLdunVW5V69eja5duyIsLAwbN26E2WxGTk4OkpOTER4ejoyMDHzyySfe/oqIyAIDFaI65pVXXkFmZibuueceFBUVoaioCA0bNsT111+PLl26YNu2bfjqq6/w+++/4/bbb7d677vvvotmzZrhxx9/xEMPPYT7778ff/nLX9CzZ0/s2LEDN910E8aMGYOysjKr9z3xxBN44YUXkJubi5iYGNxyyy1KQJGfn4/Bgwfjtttuw+7du7F06VJs3LgRDz74oNU2/u///g8ZGRnYuXMnZsyYAQBo2LAhFi9ejJ9//hmvvPIKFi5ciJdeegkAMHLkSDz22GPo1KmTsp8jR45061hlZ2dj7ty5+OWXX5Ceno6cnBy89957WLBgAX766Sc88sgjuOuuu7B+/Xq3tktEbqjRlIZEFJBsZ9B+9tlnxU033WS1TmFhodUsw/369RO9e/dWXr906ZKIjIwUY8aMUZYVFRUJAGLLli1CiCuztS5ZskRZ548//hDh4eFi6dKlQgghJk6cKO69916rz/7+++9FUFCQMr1869atxbBhw5zu1z//+U/RtWtX5e+ZM2eKjIwMq3UKCgoEALFz505l2ZkzZwQAsXbtWqtyL1++XFnnwoULIiIiQmzevNlqexMnTrSa5p6IvCtEzyCJiIxh165dWLt2LRo0aGD3Wn5+Ptq1awcASE9PV5YHBwejadOmSEtLU5Y1b94cAHDy5EmrbWRmZir/36RJE7Rv3x6//PKL8tm7d+/Gf//7X2UdIQTMZjMKCgrQoUMHAEC3bt3syrZ06VK8+uqryM/Px7lz53Dp0iVERUW5vf9aLD/z4MGDKCsrw4033mi1TmVlJbp06eK1zyQiawxUiAjnzp3DLbfcgnnz5tm9FhcXp/x/vXr1rF6TJMlqmSRJAACz2ezWZ//1r3/FlClT7F5LTExU/j8yMtLqtS1btmD06NGYPXs2Bg0ahOjoaCxZsgQvvPCCw88LCqpu8RZCKMvkZihblp957tw5AMDKlSvRsmVLq/XCwsIcfiYReY6BClEdFBoaiqqqKuXva665Bp9++imSkpIQEuL9y8IPP/ygBB1nzpzBr7/+qtSUXHPNNfj555/Rtm1bt7a5efNmtG7dGk8//bSy7MiRI1br2O4nAMTExAAAioqKlJoQy8RaLR07dkRYWBiOHj2Kfv36uVVWIvIck2mJ6qCkpCRs3boVhw8fRnFxMSZPnozTp09j1KhRyM3NRX5+Pr7++muMHz/e7kbviWeeeQbffvst9u7di3HjxqFZs2YYNmwYgOqeO5s3b8aDDz6IvLw8HDhwAJ9//rldMq2tq666CkePHsWSJUuQn5+PV199FZ999pndfhYUFCAvLw/FxcWoqKhAeHg4rrvuOiVJdv369fjb3/7mdB8aNmyIxx9/HI888gjeffdd5OfnY8eOHXjttdfw7rvvenxsiMgxBipEddDjjz+O4OBgdOzYETExMaisrMSmTZtQVVWFm266CWlpaZg6dSoaNWqkNJXUxNy5c/Hwww+ja9euOHHiBL744guEhoYCqM57Wb9+PX799Vf06dMHXbp0wd///nfEx8c73ObQoUPxyCOP4MEHH8TVV1+NzZs3K72BZLfddhsGDx6MAQMGICYmBh9++CEA4J133sGlS5fQtWtXTJ06Fc8995xL+/Hss89ixowZyMnJQYcOHTB48GCsXLkSycnJHhwVInKFJCwbaomIvGjdunUYMGAAzpw5g0aNGuldHCIKQKxRISIiIsNioEJERESGxaYfIiIiMizWqBAREZFhMVAhIiIiw2KgQkRERIbFQIWIiIgMi4EKERERGRYDFSIiIjIsBipERERkWAxUiIiIyLAYqBAREZFh/T8Zs6wqh35IbwAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# visualize with IDAES surrogate plotting tools\n", - "surrogate_scatter2D(poly_surr, data_training, filename=\"pysmo_poly_train_scatter2D.pdf\")\n", - "surrogate_parity(poly_surr, data_training, filename=\"pysmo_poly_train_parity.pdf\")\n", - "surrogate_residual(poly_surr, data_training, filename=\"pysmo_poly_train_residual.pdf\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2.4 Model Validation\n", - "\n", - "We check the fit on the validation set to see if the surrogate is fitting well. This step can be used to check for overfitting on the training set." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# Import training data\n", + "np.set_printoptions(precision=6, suppress=True)\n", + "\n", + "csv_data = pd.read_csv(datafile_path(\"500_Points_DataSet.csv\"))\n", + "csv_data.columns.values[0:6] = [\n", + " \"pressure\",\n", + " \"temperature\",\n", + " \"enth_mol\",\n", + " \"entr_mol\",\n", + " \"CO2_enthalpy\",\n", + " \"CO2_entropy\",\n", + "]\n", + "data = csv_data.sample(n=500)\n", + "\n", + "input_data = data.iloc[:, :2]\n", + "output_data = data.iloc[:, 2:4]\n", + "\n", + "# # Define labels, and split training and validation data\n", + "input_labels = list(input_data.columns)\n", + "output_labels = list(output_data.columns)\n", + "\n", + "n_data = data[input_labels[0]].size\n", + "data_training, data_validation = split_training_validation(data, 0.8, seed=n_data)" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.2 Training Surrogates with PySMO\n", + "\n", + "IDAES builds a model class for each type of PySMO surrogate model. In this case, we will call and build the Polynomial Regression class. Regression settings can be directly passed as class arguments, as shown below. In this example, allowed basis terms span a 5th order polynomial, a variable product as well as a extra features are defined, and data is internally cross-validated using 10 iterations of 80/20 splits to ensure a robust surrogate fit. Note that PySMO uses cross-validation of training data to adjust model coefficients and ensure a more accurate fit, while we separate the validation dataset pre-training in order to visualize the surrogate fits.\n", + "\n", + "Finally, after training the model we save the results and model expressions to a folder which contains a serialized JSON file. Serializing the model in this fashion enables importing a previously trained set of surrogate models into external flowsheets. This feature will be used later." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj4AAAHHCAYAAAC/R1LgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABPs0lEQVR4nO3deVxU9f4/8NewigijLLIEAgJXr6ZeQTOy1NQCv2r508rylmuaBprZdcubaYtLqbllVtelvFreUuuqWVqZZZqVSupNSbyQG7gMOaAmIHN+f3BnYoAZZjtzttfz8eChzBxmPjMM57zO5/P+fI5OEAQBRERERBrgI3UDiIiIiLyFwYeIiIg0g8GHiIiINIPBh4iIiDSDwYeIiIg0g8GHiIiINIPBh4iIiDSDwYeIiIg0g8GHiIiINIPBh4hIhtauXQudTofCwkKpm0KkKgw+RBr1ww8/ICcnB23btkVwcDBatGiBhx56CL/88kudbXv06AGdTgedTgcfHx+EhoaiVatWeOyxx7Br1y6nnnfr1q3o3r07mjdvjsaNG6Nly5Z46KGH8Omnn3rqpdUxZ84cfPTRR3Vu37dvH2bNmoUrV66I9ty1zZo1y/Je6nQ6NG7cGG3atMHf//53lJaWeuQ5NmzYgMWLF3vksYjUhsGHSKPmz5+PTZs2oVevXliyZAnGjBmDr7/+GmlpaTh27Fid7ePi4rBu3Tq8++67ePXVV3Hfffdh3759uPfeezF48GBUVlY2+JwLFizAfffdB51Oh+nTp+O1117DoEGDcPLkSbz//vtivEwA9oPP7NmzvRp8zN544w2sW7cOixYtQuvWrfHyyy8jKysLnrh8IoMPkW1+UjeAiKQxadIkbNiwAQEBAZbbBg8ejHbt2mHevHn45z//abW9Xq/Ho48+anXbvHnzMGHCBKxYsQKJiYmYP3++zee7efMmXnzxRdxzzz3YuXNnnfsvXrzo5iuSj+vXr6Nx48Z2t3nggQcQEREBABg7diwGDRqEzZs347vvvkNGRoY3mkmkSezxIdKoO+64wyr0AEBqairatm2L48ePO/QYvr6+WLp0Kdq0aYPly5fDaDTa3Pby5csoLS1F165d672/efPmVt/fuHEDs2bNwp/+9Cc0atQIMTExGDhwIE6dOmXZZsGCBbjjjjsQHh6OoKAgpKen48MPP7R6HJ1Oh2vXruGdd96xDC8NHz4cs2bNwuTJkwEASUlJlvtq1tT885//RHp6OoKCghAWFoaHH34YZ86csXr8Hj164NZbb8XBgwfRrVs3NG7cGM8++6xD719NPXv2BAAUFBTY3W7FihVo27YtAgMDERsbi+zsbKseqx49emD79u349ddfLa8pMTHR6fYQqRV7fIjIQhAEXLhwAW3btnX4Z3x9ffHII4/gueeew969e9G3b996t2vevDmCgoKwdetWjB8/HmFhYTYfs6qqCv369cMXX3yBhx9+GE899RTKysqwa9cuHDt2DMnJyQCAJUuW4L777sNf//pXVFRU4P3338eDDz6Ibdu2Wdqxbt06PP7447jtttswZswYAEBycjKCg4Pxyy+/4L333sNrr71m6X2JjIwEALz88st47rnn8NBDD+Hxxx/HpUuXsGzZMnTr1g2HDx9G06ZNLe01GAzo06cPHn74YTz66KOIiopy+P0zMwe68PBwm9vMmjULs2fPRu/evTFu3Djk5eXhjTfewA8//IBvv/0W/v7+mDFjBoxGI86ePYvXXnsNANCkSROn20OkWgIR0f+sW7dOACCsWrXK6vbu3bsLbdu2tflzW7ZsEQAIS5Yssfv4M2fOFAAIwcHBQp8+fYSXX35ZOHjwYJ3tVq9eLQAQFi1aVOc+k8lk+f/169et7quoqBBuvfVWoWfPnla3BwcHC8OGDavzWK+++qoAQCgoKLC6vbCwUPD19RVefvllq9uPHj0q+Pn5Wd3evXt3AYCwcuVKm6+7pueff14AIOTl5QmXLl0SCgoKhDfffFMIDAwUoqKihGvXrgmCIAhr1qyxatvFixeFgIAA4d577xWqqqosj7d8+XIBgLB69WrLbX379hUSEhIcag+R1nCoi4gAACdOnEB2djYyMjIwbNgwp37W3KNQVlZmd7vZs2djw4YN6NixIz777DPMmDED6enpSEtLsxpe27RpEyIiIjB+/Pg6j6HT6Sz/DwoKsvz/t99+g9FoxF133YVDhw451f7aNm/eDJPJhIceegiXL1+2fEVHRyM1NRW7d++22j4wMBAjRoxw6jlatWqFyMhIJCUl4YknnkBKSgq2b99uszbo888/R0VFBSZOnAgfnz923aNHj0ZoaCi2b9/u/Asl0iAOdRERiouL0bdvX+j1enz44Yfw9fV16uevXr0KAAgJCWlw20ce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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# Create PySMO trainer object\n", + "trainer = PysmoPolyTrainer(\n", + " input_labels=input_labels,\n", + " output_labels=output_labels,\n", + " training_dataframe=data_training,\n", + ")\n", + "\n", + "var = output_labels\n", + "trainer.config.extra_features = [\n", + " \"pressure*temperature*temperature\",\n", + " \"pressure*pressure*temperature*temperature\",\n", + " \"pressure*pressure*temperature\",\n", + " \"pressure/temperature\",\n", + " \"temperature/pressure\",\n", + "]\n", + "# Set PySMO options\n", + "trainer.config.maximum_polynomial_order = 5\n", + "trainer.config.multinomials = True\n", + "trainer.config.training_split = 0.8\n", + "trainer.config.number_of_crossvalidations = 10\n", + "\n", + "# Train surrogate (calls PySMO through IDAES Python wrapper)\n", + "poly_train = trainer.train_surrogate()\n", + "\n", + "# create callable surrogate object\n", + "xmin, xmax = [7, 306], [40, 1000]\n", + "input_bounds = {input_labels[i]: (xmin[i], xmax[i]) for i in range(len(input_labels))}\n", + "poly_surr = PysmoSurrogate(poly_train, input_labels, output_labels, input_bounds)\n", + "# save model to JSON\n", + "model = poly_surr.save_to_file(\"pysmo_poly_surrogate.json\", overwrite=True)" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj4AAAHHCAYAAAC/R1LgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABZC0lEQVR4nO3deVhU9eI/8PewDALCIIssooBomqYmWIaVlnlFH5fbV2+SqbnmkpikueXNJXOr3L1p9TM1y7SSuqlZLpllcs1cUm9GSpgbqIAMKMk2n98f3JkYmBlmObNx3q/nmUfmnDNnPucwNW8+q0IIIUBEREQkAx7OLgARERGRozD4EBERkWww+BAREZFsMPgQERGRbDD4EBERkWww+BAREZFsMPgQERGRbDD4EBERkWww+BAREZFsMPgQEbmgTZs2QaFQ4OLFi84uClG9wuBDJFPHjh1Damoq2rZtC39/fzRr1gyDBg3Cb7/9VuvYxx57DAqFAgqFAh4eHggMDESrVq0wbNgw7Nu3z6L33blzJ7p164bGjRvDz88PzZs3x6BBg/DVV19JdWm1LFq0CJ9//nmt7UeOHMG8efNQWFhot/euad68ebp7qVAo4OfnhzZt2uCf//wnioqKJHmPrVu3YuXKlZKci6i+YfAhkqmlS5dix44deOKJJ7Bq1SqMHTsW3333HRISEnD27Nlax0dHR2PLli14//338cYbb6B///44cuQIevbsiZSUFJSXl9f5nm+++Sb69+8PhUKBWbNmYcWKFRg4cCDOnz+Pbdu22eMyAZgOPvPnz3do8NFat24dtmzZguXLl6N169ZYuHAhevXqBSmWT2TwITLOy9kFICLnmDJlCrZu3QqlUqnblpKSgnbt2mHJkiX44IMP9I5XqVQYOnSo3rYlS5bghRdewFtvvYXY2FgsXbrU6PtVVFRgwYIF+Nvf/oa9e/fW2n/jxg0br8h1lJSUwM/Pz+Qx//jHPxAaGgoAGD9+PAYOHIj09HT85z//QVJSkiOKSSRLrPEhkqkuXbrohR4AaNmyJdq2bYtz586ZdQ5PT0+sXr0abdq0wdq1a6FWq40em5eXh6KiIjz88MMG9zdu3Fjv+d27dzFv3jzcc889aNCgASIjIzFgwABkZWXpjnnzzTfRpUsXhISEwNfXF4mJifj000/1zqNQKHDnzh1s3rxZ17w0YsQIzJs3D9OmTQMAxMXF6fZV71PzwQcfIDExEb6+vggODsbTTz+Ny5cv653/sccew3333Yfjx4+ja9eu8PPzw8svv2zW/auue/fuAIDs7GyTx7311lto27YtfHx8EBUVhYkTJ+rVWD322GPYvXs3/vjjD901xcbGWlweovqKNT5EpCOEwPXr19G2bVuzX+Pp6YnBgwfjlVdeweHDh9GnTx+DxzVu3Bi+vr7YuXMnJk2ahODgYKPnrKysRN++fXHgwAE8/fTTmDx5MoqLi7Fv3z6cPXsW8fHxAIBVq1ahf//+GDJkCMrKyrBt2zY89dRT2LVrl64cW7ZswZgxY/Dggw9i7NixAID4+Hj4+/vjt99+w0cffYQVK1boal/CwsIAAAsXLsQrr7yCQYMGYcyYMbh58ybWrFmDrl274uTJkwgKCtKVNz8/H71798bTTz+NoUOHIjw83Oz7p6UNdCEhIUaPmTdvHubPn48ePXpgwoQJyMzMxLp163Ds2DH88MMP8Pb2xuzZs6FWq3HlyhWsWLECANCwYUOLy0NUbwkiov/ZsmWLACA2bNigt71bt26ibdu2Rl/32WefCQBi1apVJs8/Z84cAUD4+/uL3r17i4ULF4rjx4/XOu69994TAMTy5ctr7dNoNLqfS0pK9PaVlZWJ++67T3Tv3l1vu7+/vxg+fHitc73xxhsCgMjOztbbfvHiReHp6SkWLlyot/3MmTPCy8tLb3u3bt0EALF+/Xqj113d3LlzBQCRmZkpbt68KbKzs8Xbb78tfHx8RHh4uLhz544QQoiNGzfqle3GjRtCqVSKnj17isrKSt351q5dKwCI9957T7etT58+IiYmxqzyEMkNm7qICADw66+/YuLEiUhKSsLw4cMteq22RqG4uNjkcfPnz8fWrVvRsWNHfP3115g9ezYSExORkJCg17y2Y8cOhIaGYtKkSbXOoVAodD/7+vrqfr516xbUajUeffRRnDhxwqLy15Seng6NRoNBgwYhLy9P94iIiEDLli1x8OBBveN9fHwwcuRIi96jVatWCAsLQ1xcHMaNG4cWLVpg9+7dRvsG7d+/H2VlZUhLS4OHx1//637uuecQGBiI3bt3W36hRDLEpi4iQm5uLvr06QOVSoVPP/0Unp6eFr3+9u3bAICAgIA6jx08eDAGDx6MoqIiHD16FJs2bcLWrVvRr18/nD17Fg0aNEBWVhZatWoFLy/T/4vatWsXXnvtNZw6dQqlpaW67dXDkTXOnz8PIQRatmxpcL+3t7fe8yZNmtTqL1WXHTt2IDAwEN7e3oiOjtY13xnzxx9/AKgKTNUplUo0b95ct5+ITGPwIZI5tVqN3r17o7CwEN9//z2ioqIsPod2+HuLFi3Mfk1gYCD+9re/4W9/+xu8vb2xefNmHD16FN26dTPr9d9//z369++Prl274q233kJkZCS8vb2xceNGbN261eJrqE6j0UChUGDPnj0GQ2DNPjPVa57M1bVrV12/IiJyHAYfIhm7e/cu+vXrh99++w379+9HmzZtLD5HZWUltm7dCj8/PzzyyCNWlaNTp07YvHkzcnJyAFR1Pj569CjKy8tr1a5o7dixAw0aNMDXX38NHx8f3faNGzfWOtZYDZCx7fHx8RBCIC4uDvfcc4+ll2MXMTExAIDMzEw0b95ct72srAzZ2dno0aOHbputNV5E9Rn7+BDJVGVlJVJSUpCRkYFPPvnEqrljKisr8cILL+DcuXN44YUXEBgYaPTYkpISZGRkGNy3Z88eAH814wwcOBB5eXlYu3ZtrWPF/yb48/T0hEKhQGVlpW7fxYsXDU5U6O/vb3CSQn9/fwCotW/AgAHw9PTE/Pnza00oKIRAfn6+4Yu0ox49ekCpVGL16tV6ZdqwYQPUarXeaDp/f3+TUwsQyRlrfIhkaurUqfjiiy/Qr18/FBQU1JqwsOZkhWq1WndMSUkJLly4gPT0dGRlZeHpp5/GggULTL5fSUkJunTpgoceegi9evVC06ZNUVhYiM8//xzff/89nnzySXTs2BEA8Oyzz+L999/HlClT8OOPP+LRRx/FnTt3sH//fjz//PP4+9//jj59+mD58uXo1asXnnnmGdy4cQP/+te/0KJFC5w+fVrvvRMTE7F//34sX74cUVFRiIuLQ+fOnZGYmAgAmD17Np5++ml4e3ujX79+iI+Px2uvvYZZs2bh4sWLePLJJxEQEIDs7Gx89tlnGDt2LF566SWb7r+lwsLCMGvWLMyfPx+9evVC//79kZmZibfeegsPPPCA3u8rMTER27dvx5QpU/DAAw+gYcOG6Nevn0PLS+SynDmkjIicRzsM29jD1LENGzYULVu2FEOHDhV79+416/3Ky8vFu+++K5588kkRExMjfHx8hJ+fn+jYsaN44403RGlpqd7xJSUlYvbs2SIuLk54e3uLiIgI8Y9//ENkZWXpjtmwYYNo2bKl8PHxEa1btxYbN27UDRev7tdffxVdu3YVvr6+AoDe0PYFCxaIJk2aCA8Pj1pD23fs2CEeeeQR4e/vL/z9/UXr1q3FxIkTRWZmpt69MTXUvyZt+W7evGnyuJrD2bXWrl0rWrduLby9vUV4eLiYMGGCuHXrlt4xt2/fFs8884wICgoSADi0nagahRASLAxDRERE5AbYx4eIiIhkg8GHiIiIZIPBh4iIiGSDwYeIiIhkg8GHiIiIZMNtgs/ixYvxwAMPICAgAI0bN8aTTz6JzMxMvWPu3r2LiRMnIiQkBA0bNsTAgQNx/fp1J5WYiIiIXI3bDGfv1asXnn76aTzwwAOoqKjAyy+/jLNnz+KXX37Rzb46YcIE7N69G5s2bYJKpUJqaio8PDzwww8/mP0+Go0G165dQ0BAAKd9JyIichNCCBQXFyMqKgoeHibqdZw6i5ANbty4IQCIQ4cOCSGEKCwsFN7e3uKTTz7RHXPu3DkBQGRkZJh93suXL5uc1I0PPvjggw8++HDdx+XLl01+z7vtkhXadWiCg4MBAMePH0d5ebneQn2tW7dGs2bNkJGRgYceesjgeUpLS1FaWqp7Lv5XAXb58mWT6w4RERGR6ygqKkLTpk0REBBg8ji3DD4ajQZpaWl4+OGHcd999wEAcnNzoVQqERQUpHdseHg4cnNzjZ5r8eLFmD9/fq3tgYGBDD5ERERupq5uKm7Tubm6iRMn4uzZs9i2bZvN55o1axbUarXucfnyZQlKSERERK7I7Wp8UlNTsWvXLnz33XeIjo7WbY+IiEBZWRkKCwv1an2uX7+OiIgIo+fz8fGBj4+PPYtMRERELsJtanyEEEhNTcVnn32Gb775BnFxcXr7ExMT4e3tjQMHDui2ZWZm4tKlS0hKSnJ0cYmIiMgFuU2Nz8SJE7F161b8+9//RkBAgK7fjkqlgq+vL1QqFUaPHo0pU6YgODgYgYGBmDRpEpKSkox2bLaWRqNBWVmZpOckfUql0vRwRCIiIiu4zTw+xjorbdy4ESNGjABQNYHh1KlT8dFHH6G0tBTJycl46623TDZ11VRUVASVSgW1Wm2wc3NZWRmys7Oh0Wisug4yj4eHB+Li4qBUKp1dFCIicgN1fX9ruU3wcRRTN04IgUuXLqG8vLzuCZLIatpJJL29vdGsWTNOJElERHUyN/i4TVOXK6ioqEBJSQmioqLg5+fn7OLUa2FhYbh27RoqKirg7e3t7OIQEVE9wSoLC1RWVgIAm18cQHuPtfeciIhICgw+VmDTi/3xHhMRkT0w+BAREZFssI8PERER1Sk/P9/kVC5KpRIhISEOLJF1GHxkYMSIEdi8eTMAwMvLC8HBwWjfvj0GDx6MESNGmD06bdOmTUhLS0NhYaEdS0tERK4mPz8fa9eu1T1XqwNQUBCC4OB8qFTFuu2pqakuH34YfBzImWm5V69e2LhxIyorK3H9+nV89dVXmDx5Mj799FN88cUX8PLiR4GIiAyr/t114kRH7NzZF0J4QKHQoF+/XUhIOFnrOFfFbzsHqZmWjbFXWvbx8dFN5NikSRMkJCTgoYcewhNPPIFNmzZhzJgxWL58OTZu3Ijff/8dwcHB6NevH15//XU0bNgQ3377LUaOHAngr47Hc+fOxbx587BlyxasWrUKmZmZ8Pf3R/fu3bFy5Uo0btxY8usgInK0+tLEIwW1OkAXegBACA/s3NkX8fEX9Gp+XBmDj4OYm4IdmZa7d++ODh06ID09HWPGjIGHhwdWr16NuLg4/P7773j++ecxffp0vPXWW+jSpQtWrlyJOXPmIDMzEwDQsGFDAEB5eTkWLFiAVq1a4caNG5gyZQpGjBiBL7/80mHXQkRkD87+o9XVFBSE6EKPlhAeKCgIZvAh99C6dWucPn0aAJCWlqbbHhsbi9deew3jx4/HW2+9BaVSCZVKBYVCUWsJkFGjRul+bt68OVavXo0HHngAt2/f1oUjIiJ35Ip/tDpTcHA+FAqNXvhRKDQIDi5wYqksw+HsMieE0DVd7d+/H0888QSaNGmCgIAADBs2DPn5+SgpKTF5juPHj6Nfv35o1qwZAgIC0K1bNwDApUuX7F5+IiJyHJWqGP367YJCUbVepbaPj7vU9gCs8ZG9c+fOIS4uDhcvXkTfvn0xYcIELFy4EMHBwTh8+DBGjx6NsrIyo0t03LlzB8nJyUhOTsaHH36IsLAwXLp0CcnJybL5C4iISE4SEk4iPv4CCgqCERxc4FahB2DwkbVvvvkGZ86cwYsvvojjx49Do9Fg2bJluuHtH3/8sd7xSqWy1hISv/76K/Lz87FkyRI0bdoUAPDTTz855gKIiMgpVKpitws8WmzqkonS0lLk5ubi6tWrOHHiBBYtWoS///3v6Nu3L5599lm0aNEC5eXlWLNmDX7//Xds2bIF69ev1ztHbGwsbt++jQMHDiAvLw8lJSVo1qwZlEql7nVffPEFFixY4KSrJCKyL7U6ANnZsVCrA5xdFIcyd41Kd1jLkjU+MvHVV18hMjISXl5eaNSoETp06IDVq1dj+PDh8PDwQIcOHbB8+XIsXboUs2bNQteuXbF48WI8++yzunN06dIF48ePR0pKCvLz83XD2Tdt2oSXX34Zq1evRkJCAt58803079/fiVdLRCQ9U/PXSM3VhtCHhIQgNTVVr0yFhYWoqKjQPff29kZZWRlycnKcUkZzKYQQwtmFcCVFRUVQqVRQq9UIDAzU23f37l1kZ2cjLi4ODRo0sOi8HBJpGVvuNRGRVHJycvDOO+9ArQ7AypVptUYzpaWthEpVjLFjxyIyMlKS93SH7wtXnMnZ1Pd3dazxcRBDabkmV03HRERypW26qWv+GimbeNxhCL07z+TM4ONADDVERO5F+0frxYsV2LJFQKNR6PZ5egpMmtQbsbFedv3/u7HaFFfgjjM5M/gQERGZEBISgpAQ4J13gHHjgMpKwNMTePttBRITw+363qZqU/Ly8gBY31ogRT8id5zJmcGHiIjIDKNHA8nJwIULQIsWQHS0fd+vrtqU9PR03bGW9qWRqh+RO87kzOBDRERkpuho+wceLUtqU2rW3NRVm6NWq80qQ119dLQzOdeslXLV2h6AwYeIiMglGapNATS4c8cfanWA0XBhbm1Odbb0I3K3mZwZfIiIiFxQzdoUQANAgU8/fcrkPEKWjqSSYn4id5rJmcGHiIjIhVQfGq+tTbl8ORo7dvwDQlSNKrNk9JSp2hxrR2WZO3y/sLAQJSUlRtd71J7LkaOeGXyIiEg2pJoR2Z4zK1ef9y0vLw/p6ekoKPjTqtFTddXmWDsqS1vGmzdvYvv27UaPq7nmoytMdMjgQzb79ttv8fjjj+PWrVsICgoy6zWxsbFIS0tDWlqaXctGRKQl1UgmR8ysXPN11oyeMlWbA1SFHm/vUqtHZYWEhNQKf6Zql1xlokMuUioDI0aMgEKhwPjx42vtmzhxIhQKBUaMGOH4ghEROZBUMyIb+rI3tHCplF/m2v4+CoUGAMwaPWWsNufo0c5YuTINmzcPx4YNY9C+/WmLzmvMiRMddedduTINJ0501O0zFsKcsdgra3xkomnTpti2bRtWrFgBX19fAFXrYW3duhXNmjVzcumIiBxPihmRLe0YbGkTmaH+PoZGTxnqc2NsVFhGRpJeADl9uj1Gj/5/KC9XmnVeQ+rqK+RKEx0y+MhEQkICsrKykJ6ejiFDhgAA0tPT0axZM8TFxemOKy0txbRp07Bt2zYUFRWhU6dOWLFiBR544AHdMV9++SXS0tJw+fJlPPTQQxg+fHit9zt8+DBmzZqFn376CaGhofi///s/LF68GP7+/va/WCKiOkgxksnSjsHWNJHZss6joTl2kpIycOTIw3rHCeGB8nIl4uL+wOOPP47GjRtDpVJZ1E+prmDjShMdsqnLSa5cAQ4erPrXUUaNGoWNGzfqnr/33nsYOXKk3jHTp0/Hjh07sHnzZpw4cQItWrRAcnIyCgqqPpyXL1/GgAED0K9fP5w6dQpjxozBzJkz9c6RlZWFXr16YeDAgTh9+jS2b9+Ow4cPIzU11f4XSURuJT8/Hzk5OUYf+fn5kr+nVM0upr7sDbG2qS0kJASRkZFGHzXDSc1aorS0lRg+fBPS0laic+ejumYtreoB5ODBg9i+fbvFnbO1wcbYea1pqrMX1vg4wYYNwNixgEYDeHhUrf8yerT933fo0KGYNWsW/vjjDwDADz/8gG3btuHbb78FANy5cwfr1q3Dpk2b0Lt3bwDAu+++i3379mHDhg2YNm0a1q1bh/j4eCxbtgwA0KpVK5w5cwZLly7Vvc/ixYsxZMgQXcflli1bYvXq1ejWrRvWrVuHBg0a2P9iicjlOaKTsCFSNbu4Ui1GdYZqibSjwwCYNdOyqZBWvblOu16YOTM4u8pEhww+Dnblyl+hB6j6d9y4qvVf7D0NelhYGPr06YNNmzZBCIE+ffogNDRUtz8rKwvl5eV4+OG/qkG9vb3x4IMP4ty5cwCAc+fOoXPnznrnTUpK0nv+888/4/Tp0/jwww9124QQ0Gg0yM7Oxr333muPyyMiNyNVZ2NLSRVYbF2uwZ6rrtdVC6QNIN7eZSgv9zE5E3R1psKqOcHGFSY6ZPBxsPPn/wo9WpWVVYveOWL9l1GjRumanP71r3/Z5T1u376NcePG4YUXXqi1jx2picgYY0FAW6ugZeuEd1KuL2VJLUZhYaHuZ1N9jAoLCxEZGWlxWUzR1gJdu3YN6enpUKmKkZXVwuJ+Tuas3WXNfTS3E7UUGHwcrGXLquat6uHH07NqpV9H6NWrF8rKyqBQKJCcnKy3Lz4+HkqlEj/88ANiYmIAAOXl5Th27Jiu2eree+/FF198ofe6//znP3rPExIS8Msvv6CFoy6KiNyeqSBQfRVyLWuav2wZIWXsPIDxL/uax1VUVACou1O09jipVZ93x9oZm2syFlYHDBiga1HgzM0yFx1d1adn3Liqmh5PT+Dttx232q+np6eu2crT01Nvn7+/PyZMmIBp06YhODgYzZo1w+uvv46SkhKM/l8npPHjx2PZsmWYNm0axowZg+PHj2PTpk1655kxYwYeeughpKamYsyYMfD398cvv/yCffv2WbxwHhHVf9Z8CVvT/GXLCCkpz+MKQ7ulKIO5I+P8/PwcHm5MYfBxgtGjq/r0XLhQVdPjqNCjFRgYaHTfkiVLoNFoMGzYMBQXF6NTp074+uuv0ahRIwBVTVU7duzAiy++iDVr1uDBBx/EokWLMGrUKN052rdvj0OHDmH27Nl49NFHIYRAfHw8UlJS7H5tROR+6hodJWU/GKm+fG05T3BwPgABQKHb5uhO0Zb2c9J2aNY2O9Y1K/SyZSecuiyFKQw+ThId7bjAU7NGpqbPP/9c93ODBg2wevVqrF692ujxffv2Rd++ffW21RwW/8ADD2Dv3r1Gz3Hx4kWTZSIi+TD2JXztWhTef/9Zm+bacSXe3t7VnukHHyGMHWc9Q5MlWjIKq/p5atbWm5oVWjtBojOXpTCFwYeIiJzK0Jdwjx77sX9/D5v7oLgSlUoFoCo01J5G769mJu1xtjBnqgBz+zkZCizGwuqRI0nQXpur/s4YfIiIyClMdTa2pQ+KPVdOl4Ij5v8xt3Zl5Mi/6U1rAtR9f7QdmquHU1OzQjtjWQpTGHyIiMgp6ppoz5pw4KxJES0h5XB6W4WGhlo0dL5mh+YePfYjKuqa7vdSfR0wwDUmdKyJwYeIiJzGWPiwNhwYWjndUOdoZ/Q3MXc4ffX5fqq/1pagJsVkiYY6NO/f3wNpaSt153SVQGcKg48VRPVeaGQXvMdE8iTVXDuANAuRSsnYMHi1Wo3t27frnn/88ccGX29tLZVU98Gc5kdXWZbCFAYfC2jnvSkrK4Ovr6+TS1O/af/HUHOuISKq36Saa0eqCfqkZk5wkbKWSsr7YG7fJFdYlsIUBh8LeHl5wc/PDzdv3oS3tzc8PLi4vT1oNBrcvHkTfn5+8PLiR5RIbqToe+MKkwRaQ+paKinvg619kxy5LIUp/FaxgEKhQGRkJLKzs3UrnJN9eHh4oFmzZlAoFHUfTERUg6uunG6KpbUzpkavaefrkeI+mNv8OGjQIAQFBRk9hytMXggw+FhMqVSiZcuWLjMRU32lVCpZo0ZEVnOlkVPmsqR2xtzRa3XdB3NqYaRqfnQVDD5W8PDwQIMGDZxdDCIiMsEdOtpWZ0ntjLl/fA8YMABjx4ZizpybuHjRC7GxFYiKegDAAxaFFXcJNeZg8CEiIqeScsJBa1dOdwX2qKXSztMTGQkkJkpYWDfG4ENEREbZexZkqSccdPdmGWtrqaSYp0cuGHyIiMggR8yCbI8JB1011Bhjay2Vq81X5OoYfIiIZMicmhxHz4Is1y9wW2qpXHW+IlfG4ENEJDPm1uSkpKTofrZ3KJH7F7i1tVTuOl+RM3G8MBGRzBiqycnOjoVaHaC3vby8XLffUCipebwtTH2Bk3HakWDVufp8Rc7GGh8iIhkzpybHEbUK7jjhoDNp+/tIMU+P3DD4EBHZkb1HRdnC3OYlR4QSd5xwsC72/N3X7Bdk6zw9csLgQ0RkJ44YFWWLumpybt26BcBxocRdJhw0J9AAsPvvvvrrOE+P+Rh8iIjsxNzRTs5aAqeumpyDBw/qttsrlLjbhIPmhtlBgwbpPbf3iDgyH4MPEZFMmVOTU/MLW+pQ4owJB21pgjJ3iH9FRYXuZ7kO03dVDD5ERA7iirPrmqrJMfWFPWDAAISGhkoSShzZzFezxsbY78ScJihzAo3ch+m7IgYfIiIHcKW/+s1pXqrrC1u7BpS7qV5jY+p3UlZWZrBmKC8vD4D5gYbz7LgeBh8iIjtztb/6TTUv5eXlIT093SFf2NWDRWFhoa55KDfXC5cu+SA+XoNWrfwBSN/cVdfvpLCwEB9//LHR15t7fzhM3/Uw+BAR2Zmj/uq3pO9KXSHC1i/suspSUlKCDz74QPdc2+R07Vok9u/vYbAWRsrRb3X9Tqr30alePm2TmLn3pz4O03d3DD5ERHbmiL/6pR46b8sXtrn9aLSqNzkBAoACQO1aGEtGQBkLXtqmKkt+J8aaxMy9P+4yTF8uGHyIiOzEkbPr2mNBUWu/sM3tR6MtZ/UmJ23o0bKmZsyc4GVusDPVJGbq/nh7e+udx9WH6csJgw8RkZ04a3ZdWzpSSzmvjjl9mww1OVVnTc2YucHLnGBXV5OYsfsTFhbm8GH6ZB4GHyIiO3L07Lq2dqSWcl4dc/o2GWpy0jZ32dofxpx7YSy4aNXVJKYd1l8dA41rY/AhIqpHpOhILdWXtjn9aAw1OfXosR9RUdds7g9jy73QNlXV1STmrsP65axeBp9//etfeOONN5Cbm4sOHTpgzZo1ePDBB51dLCIiu3Ol4dPm9qOxV+dfa2prgKoam+o1XuycXL/Uu+Czfft2TJkyBevXr0fnzp2xcuVKJCcnIzMzE40bN3Z28YjICVx5hXSp2Wv4tLX30NzQUFeTkzVsqa3Jz883q3zsnOx+6l3wWb58OZ577jmMHDkSALB+/Xrs3r0b7733HmbOnOnk0hGRozl6hXRXCFlS11DYusyDVKGmpKQEOTk5RvcburfW3gtnrCFGjlGvgk9ZWRmOHz+OWbNm6bZ5eHigR48eyMjIMPia0tJSlJaW6p4XFRXZvZxE5DiOXCHd0SGrOnuucm7JMg+WvMfQoUPh5+cHQH/mZi1vb2+oVCoAxic8NBS+arI2eDHU1E/1Kvjk5eWhsrIS4eHhetvDw8Px66+/GnzN4sWLMX/+fEcUj4hcgD0XCrXHXDrmckQNhbkjxqwpS10dhKvX9NQVvswNXmymkqd6FXysMWvWLEyZMkX3vKioCE2bNnViiYjIXhy5UKgzFiW1dw2FJaOk7FUWc8IXm6nIlHoVfEJDQ+Hp6Ynr16/rbb9+/ToiIiIMvsbHxwc+Pj6OKB4ROZEjFwp1tUVJpeIKI8bMDV8MNWSM8eky3ZBSqURiYiIOHDig26bRaHDgwAEkJSU5sWRE5GymvjDd+b0cSTtKSqHQAIBTFtzUhq/quNo5WaJe1fgAwJQpUzB8+HB06tQJDz74IFauXIk7d+7oRnkRkTw5srbCFWpG7MXUKCntAqDXrnkgO9sLcXEViIqqCilSNS1xtXOyVb0LPikpKbh58ybmzJmD3Nxc3H///fjqq69qdXgmInlx5Bdmff9yNjZKKj093WTfJqlGs3FCQbJFvQs+QNV/XIaGNBKR/FQfuWPqC1PqET716cvZ3HtTV98mKUez2WPCQ5KHehl8iIi0HDnCx55z6ThTXfcwLy8P6enpkqwTZgyHqJNUGHyIqN5z1Aif+jyM2pwy27NvU32+t+RYDD5ERBKS8xevvfs2yfneknQYfIiISDL1qW8T1U8MPkRUL7jC4qBURdu3Sa0OQHZ2rG7Jjry8PP4eyOkYfIjI7TlzcVAyzNCwdiAdAH8P5FwMPkTk9py5OKirsqUGrPprzZmMsOZIKkcOayeyFIMPEdUrzlgc1NXUrAEzFgQN1bxUf625kxFqR1xdu3bN7sPaiWzF4ENE9UZ9XRzUUtVrVEyFF0M1L9ptltbahISE6LbV5yU7yP0x+BBRveEuNQ2O6ohtSxC05V7W9yU7yL0x+BBRveGomgZb+884qiO2LeHF1nvJYe3kqhh8iKjecERNg63BxdaO2OaELi1bwosU95LraZErYvAhonrF3jUN5o5IMuc4Sztim9tpedCgQQBsDy+staH6iMGHiNyeMxcHNRY+zHmdpf1v6uq0XBVSQvDf/6p1x9kaXiypteFCouQOGHyIyO05awFLUzU2eXl5Jt/blv43hkLTF1/0hUJR9fP772vQr98NXVmMhRepZ1LmQqLkDhh8iKhecPSXaV01Nunp6XrH1+zzY0v/G0OhCfCAEDBYluplrl47pS1j9bLZWmvDUEOujsGHiMgKxmpsLl+ORkHBn3V2Vral/42h0FRTzdojc+fzYa0N1XcMPkREVjAcPjTYseMfZndWNtX/pnpTGVAVNtTqqr47NUMToAGg+N+jSvXaI0v7EzHUUH3G4ENEZAVj4UOIqvBhLFyY0xFbrQ7AsmUnTHaYjo+/gIEDdwAQaNr0CrKyWhitPXKXiR2JHIHBh4jIAtWDS/Uamzt3/PHpp0/pHWsoXBhqSsrLy9P1tzFniLuxY4zVHnEJCaK/MPgQEVmgZnDRhha1OsDscGGsKcmcJqm6jjFUg8MlJIj+wuBDRGQhQ8FFinBhTpOUtc1WnIyQqAqDDxGRRGwNF+Y0Sdm6DAUDD8kdgw8RkQ2knDXanFqjrKwWuvl6ANQ6ZsCAAQgNDQUAqNVqbN++3eJrIKrPGHyIiGwg9bw3pmqNtP17gL9qe4SoGuGlFRoaisjISABAZGQk5+QhqoHBh4jITOasjC5FiDBWa2RsxmZT/XsYaoj0MfgQEZmh5sroxtRcmsIc5jY1mdO/h81WRKYx+BARmaFmTY+xVdlN1QgZU1dzmXbIfF19gFJSUljDQ1QHBh8iIguZM8mgpaToA6RSqWwqA5EcGF/hjoiIajE2gaBaHeCwMqhUxYiL+4ND04mswOBDRGQBUxMI2ou5/XbYv4eobmzqIiKLOGpkk6tyxrpXUg+ZJ5IzBh8iMlvNkU3GOvhaM7LJXThr3av6ej+JHI3Bh4jMVr3GwVQHX2tGNrkTrntF5L7Yx4eILOYKHXwdzdDSFIY6GLOfDZFrY40PEVnM2hXCq3N0XyFb34/9bIjqBwYfIrKYrR187TkLsj3fj6GGyP2xqYuILKbt4KtQaADUXiG8Lub2AZKqr5Cj34+IXBdrfIjIKlJ28DU2OsxeHP1+ROQ6GHyIyGrGVhG3hD2Wf3Cl9yMi18KmLiIym9QzCDt6dJgcR6MRkT7W+BCR2aQe2STF6DBLOPr9iMj1MPgQkUWkHNnk6OUfnLHcBBG5FjZ1EZHT2Do6zNXfj4hcD2t8iNxE9Qn4rl3zQHa2F+LiKhAVVfUl7k6T51XvA2RqdJhUsyA7+v2IyHUphBDC2YVwJUVFRVCpVFCr1QgMDHR2cYgA6E/AZ2pUkjstDupuMzcTkWsz9/ubNT5EbkD7hW1sVFJ8/AWoVMVuNQGfo0MGQw0RAQw+RG7FVUclsTaFiNwFgw+RG3HEqCRLQ4yj190iIrIFgw+RG9GOSqrZx0eq2h5rQgzXwSIid8LgQ+RmpFwjqyYpQgzXwSIiV8bgQ+SGpFgjyxyWhhiug0VEro7Bh4gMsjTE1DXijIjIFXDmZiI3IPXioHWxZjFPUyPOiIhcBWt8iJzI3BFUUi8OaqwseXl5AKwbNs91sIjIHTD4EDlJzRFUxvrTaEdQ2XMoeM2yWBNi7D3ijIhICgw+RE5SvfbGVH8aU7U8Uk0cWPMcloQYroNFRO6EwYfIyaztFGzPiQPV6gA0anQLo0f/P5SXK02GGEc0wxERSYXBh8jJrF2GombQMNZUZunEgYZqn+Li/gAADBgwAFFRUbVCDEMNEbkLBh8iJ5OiU7BU8+fUVfsUGhrKkENEbo3D2YmcTNufRqHQAIDFnYKtGXpuDIekE1F9xxofIhdgyzIUUq7YziHpRFTfscaHyEWoVMWIi/vD6rBSnbVhxdbaJyIiV8caHyInkWo2Zinmz+GQdCKSCwYfIieRchi4rSu2c0g6EckFgw+RE9kSJGrWvhhbsd3cWhqGGiKSAwYfIjdlay2NVLM+ExG5E7cIPhcvXsSCBQvwzTffIDc3F1FRURg6dChmz56t99fs6dOnMXHiRBw7dgxhYWGYNGkSpk+f7sSSk7u4cgU4fx5o2RKIjnZ2acxnbTCx56zPRESuzC2Cz6+//gqNRoO3334bLVq0wNmzZ/Hcc8/hzp07ePPNNwEARUVF6NmzJ3r06IH169fjzJkzGDVqFIKCgjB27FgnXwG5Im2Nx9atvpg+XQWNRgEPD4HXX1fjmWf+rNc1HubO5mzprM9ERK7OLYJPr1690KtXL93z5s2bIzMzE+vWrdMFnw8//BBlZWV47733oFQq0bZtW5w6dQrLly9n8KFatDUeanUAVq5MgxAKAIBGo8C0aYG4evU9qFTFsqnxMLbcBRFRfWN28CkqKjL7pIGBgVYVxhJqtRrBwX/NJpuRkYGuXbvqNX0lJydj6dKluHXrFho1amTwPKWlpSgtLdU9t+Q6yb7s2fykrcmoa/I/OdR4mFruIi8vT+/Y+lwLRkTyYHbwCQoKgkKhMHmMEAIKhQKVlZU2F8yUCxcuYM2aNbraHgDIzc1FXFyc3nHh4eG6fcaCz+LFizF//nz7FZassmEDMHYsoNEAHh7AO+8Ao0dL/z5yn6m4rrW50tPTa71GLrVgRFQ/mR18Dh48KPmbz5w5E0uXLjV5zLlz59C6dWvd86tXr6JXr1546qmn8Nxzz9lchlmzZmHKlCm650VFRWjatKnN5yXr5Ofn4+LFCowd2xgajbb5CRg3TuD++28gNtZL0i9dKSb/c2fWLHchh1owIqq/zA4+3bp1k/zNp06dihEjRpg8pnnz5rqfr127hscffxxdunTBO++8o3dcREQErl+/rrdN+zwiIsLo+X18fODj42NhycketP1usrNjodEM19tXWanAmjV7EBf3h+Q1DrZO/mcpVxpGbk2NV15eHpu8iMhtWd25ubCwEBs2bMC5c+cAAG3btsWoUaOgUqnMPkdYWBjCwsLMOvbq1at4/PHHkZiYiI0bN8LDQ/+v1KSkJMyePRvl5eXw9vYGAOzbtw+tWrUy2sxFrkUbBur6MrZHjYOxyf+k5mrDyE3VeBnr8Kxt/mKTFxG5I6uCz08//YTk5GT4+vriwQcfBAAsX74cCxcuxN69e5GQkCBpIa9evYrHHnsMMTExePPNN3Hz5k3dPm1tzjPPPIP58+dj9OjRmDFjBs6ePYtVq1ZhxYoVkpaF7K8+Nz+5yjDyutbmMtXh2VFlJCKyB6uCz4svvoj+/fvj3XffhZdX1SkqKiowZswYpKWl4bvvvpO0kPv27cOFCxdw4cIFRNcY3iOEAACoVCrs3bsXEydORGJiIkJDQzFnzhwOZXdTjm5+chZnDSMPCQnBoEGD8PHHHwPQr/Gqq8MzEZE7s7rGp3roAQAvLy9Mnz4dnTp1kqxwWiNGjKizLxAAtG/fHt9//73k70/OYc/mJ6lWRreFJcPItWWRsmkpKChI77k2hN2542eww/Ply9FQqc5J9v5ERM5gVfAJDAzEpUuX9EZbAcDly5cREBAgScGI7MnZq5FbM4wcsF+/muohDNAAEAD0p6/YseMfKCur3eRFROROrAo+KSkpGD16NN5880106dIFAPDDDz9g2rRpGDx4sKQFJLIXZ3bMrWsYubEmsLr61VgzYqxmCAOqh5+/ysgmLyKqD6wKPm+++SYUCgWeffZZVFRUAAC8vb0xYcIELFmyRNICEtVHpkaumdOx2BBrR4wZCmGAB7p2PYjvvntcb2tdc/wQEbm6mv+3M4tSqcSqVatw69YtnDp1CqdOnUJBQQFWrFjBOXHIaq7Q78ZRtCPXFAoNAOgCDgCDTWBqdd1NyNVHO5pSs0ZIG8KqUyg0uOee8wa3y2VWayKqn2xapNTPzw/t2rWTqiwkc87ud+MIdQ0jz86OtXgmZaCqtmf79u1WlcXY9AHR0TkmpxWoDwGUiOTHquBz9+5drFmzBgcPHsSNGzeg0ej/VXjixAlJCkfy486hxhzGwl1eXh7S09OtXjvMUFisa6h8zbLMmXMTFy96ITa2Av7+96C8PA6DBnnpbY+KegDAA24fQIlIvqwKPqNHj8bevXvxj3/8Aw8++GCdi5cS0V9MBQapJm80t59Q9bJERgKJidpn4XrH/bWdiMi9WRV8du3ahS+//BIPP/yw1OUhkj1bJ29UqwPwxRd9oe3Cx9FYRER/sSr4NGnShPP1EEmoZn8ZY5M3mtOv5ujRzqg5boGjsYiIqlgVfJYtW4YZM2Zg/fr1iImJkbpMRLIjVcdutToAGRlJBvZwNBYREWBl8OnUqRPu3r2L5s2bw8/PT7caulZBAf8HS2QpKToLG56TB+jSJYOjsYiIYGXwGTx4MK5evYpFixYhPDycnZuJXISxUWGdOx8FAAwaNIijsYhI1qwKPkeOHEFGRgY6dOggdXmIyAp1zcmjre1p3LixM4tJROR0VgWf1q1b488//5S6LERkJVNz8nDuHSKiv1gVfJYsWYKpU6di4cKFaNeuXa0+PoGBgZIUjshRrFnc09UYn5OHiIi0FEIIYemLPDyq+g/U7NsjhIBCoUBlZaU0pXOCoqIiqFQqqNVqBjiZsHZxTyIich3mfn9bVeNz8OBBqwtG5Gpq1vQYW+rBVI0QERG5B6uCT7du3cw67vnnn8err76K0NBQa96GyOHMXeqBiIjcU+0JPyT0wQcfoKioyJ5vQSQZtTpAF3qAv5Z6UKs5SzkRUX1h1+BjRfchIqcxNPmfdqkHIiKqH+wafIjciXbyv+oUCi71QERUnzD4EP2PdvI/bfipOfkfERG5P6s6NxPVVwkJJxEffwEFBcEIDi5g6CEiqmcYfEj2ai7aqVIVGww8XNyTiMj9WRx8KioqsGjRIowaNQrR0dEmjx06dCgnASTJ2Gt25ZrLPUh5biIici1WzdwcEBCAM2fOIDY21g5Fci7O3OyaOLsyERGZYteZm7t3745Dhw7Vy+BDtbnCOlacXZmIiKRgVfDp3bs3Zs6ciTNnziAxMRH+/v56+/v37y9J4cjxaoacwsJCfPzxx3W+zpE1LZxdmYiIrGVV8Hn++ecBAMuXL6+1z90XKZUzc5uTDLl27ZpeYLJXLZCx2ZXj4y9wBBYREdXJquCj0WjqPojcji3NROnp6bW22aMWyNTsyvYIPq7QzEdERNKxKvi8//77SElJgY+Pj972srIybNu2Dc8++6wkhSPHyc/PR15enqTntEd/G+3sytXDj71mV2aHaiKi+seqmZtHjhwJtVpda3txcTFGjhxpc6HIsbRf8IZqbVyNI2dXNtShOjs7ttaipexQTUTkPqyq8RFCQKFQ1Np+5coVqFQqmwtFjuVuX9zOmF3ZVIdqYzVlbAYjInI9FgWfjh07QqFQQKFQ4IknnoCX118vr6ysRHZ2Nnr16iV5Icl1GBpGbmxouZTsPbuyob482kBTV4dqUzVlbAYjInItFgWfJ598EgBw6tQpJCcno2HDhrp9SqUSsbGxGDhwoKQFJOepGWgM1XoAcMjQcnvOrlxXXx5zOlRzXiEiIvdgUfCZO3cuACA2NhYpKSlo0KCBXQpFzlcz5PTosR/79/fQq/X44ou+UCjgsKHl9qo5qWtyxLo6VHNeISIi92FVH5/hw4cDqPrCuHHjRq3h7c2aNbO9ZOQ0hpp2qoeev3ig5oIn9hxa7gjGQky/frtqbVepijmvEBGRm7Eq+Jw/fx6jRo3CkSNH9LZrOz1zAkP3ZqxpR6EQEKJ6p3aNXo0PoF8T4m6rmZsKMcY6VDt6XiEiIrKNVcFnxIgR8PLywq5duxAZGWlwhBe5L2NNO7NnF2PxYhUqKwFPT4GlS4sAADNmqFBZqdBte+aZwW45oqmuEGOoQ7Uj5xUiIiLbWRV8Tp06hePHj6N169ZSl4ecwFDNTFJSBjIykvSadtLSHsa4ccCFC0CLFgpERwcBAFJSam4LcmTxJVNXiBkwYABCQ0MBVI34Sk9P180rZKgZjIiIXI9VwadNmzaSz/JLzlN9xNTWrb549VUVNBoFFAqB8eNvY8yYO4iNfVhXgxMdrf/66Oja29xRXSEmNDQUkZGRtV7njHmFiIjIOlYFn6VLl2L69OlYtGgR2rVrB29vb739gYGBkhSOHCckJARXrgDTpwPavupCKPDuuw0xe3ZDuFmrldXMDTH2nleIiIjsw6rg06NHDwBA9+7d9fr3sHOzezt//q/Qo1VZWdWMVR9qdIyxJsTYc14hIiKyH6uCz8GDB6UuB7mAli0BDw/98OPpCbRo4bwyOYK1IYahhojI/VgVfLp164bvv/8eb7/9NrKysvDpp5+iSZMm2LJlC+Li4qQuIzlIdDTwzjvAuHH438gt4O2363dtjxZDDBGRPFi1OvuOHTuQnJwMX19fnDx5EqWlpQAAtVqNRYsWSVpAcqzRo4GLF4GDB6v+HT3a2SUiIiKSjlXB57XXXsP69evx7rvv6nVsfvjhh3HixAnJCkfOER0NPPaYPGp6iIhIXqwKPpmZmejatWut7SqVCoWFhbaWiYiIiMgurAo+ERERuHDhQq3thw8fRvPmzW0uFBEREZE9WBV8nnvuOUyePBlHjx6FQqHAtWvX8OGHH+Kll17ChAkTpC4jERERkSSsGtU1c+ZMaDQaPPHEEygpKUHXrl3h4+ODl156CZMmTZK6jCRj+fn5nCuHiIgkoxBCCGtfXFZWhgsXLuD27dto06YNGjZsKGXZnKKoqAgqlQpqtZozUDtZfn4+1q5dq3uuVgegoCAEwcH5ehMMpqamMvwQEcmcud/fVtX4aCmVSrRp08aWUxAZVb2m58SJjrXW0EpIOFnrOFOq1x5du+aB7GwvxMVVICqqasZG1h4REdV/NgUfIkdQqwN0oQcAhPDAzp19ER9/ASpVscEFc2uGmOq1R6ZCFGuPiIjqNwYfcnkFBSG60KMlhAcKCoKhUhVj48Z9dTaBaWt66gpR5tYeERGRe2LwIZcXHJwPhUKjF34UCg2CgwssbgKrK0QREVH9ZtVwdiJHUqmK0a/fLigUVX1xtAEHgMHaG7U6wOi5tCGqOm2IIiKi+o81PuSS8vPz9fruJCScRHz8BRQUBCM4uAAqVTGys2Mtrr3RhqiatUSs7SEikgcGH3I5poaxx8X9odtuqgnMFEMhioiI5IHBh1yOucPYbam9UamKGXiIiGSIwYdcVl0jsADW3hARkWUYfMhlmTsCy5zaG6VSadZ7mnscERG5JwYfclnW9uHRqh5iQkJCkJqaynW/iIhkjsGHHK6uhUfVajWAuvvwDBgwAKGhoQbPYSjEMNQQERGDDzmUuQuPapnqwxMaGorIyEiHlJuIiOoHBh9yKHNHbFXHEVhERCQVztxMTmFsxJapWZdrYkdkIiKylNvV+JSWlqJz5874+eefcfLkSdx///26fadPn8bEiRNx7NgxhIWFYdKkSZg+fbrzCktG1TVia9CgQQgKCjL6enZEJiIia7hd8Jk+fTqioqLw888/620vKipCz5490aNHD6xfvx5nzpzBqFGjEBQUhLFjxzqptGRMXSO2goKC2H+HiIgk51bBZ8+ePdi7dy927NiBPXv26O378MMPUVZWhvfeew9KpRJt27bFqVOnsHz5cgYfB6prxFZhYSEArplFRETO4TbB5/r163juuefw+eefw8/Pr9b+jIwMdO3aVa/fR3JyMpYuXYpbt26hUaNGjiyuLEk5YouIiMge3CL4CCEwYsQIjB8/Hp06dcLFixdrHZObm4u4uDi9beHh4bp9xoJPaWkpSktLdc+LioqkK7jMcMQWERG5OqeO6po5cyYUCoXJx6+//oo1a9aguLgYs2bNkrwMixcvhkql0j2aNm0q+XvIDUdsERGRq3Jqjc/UqVMxYsQIk8c0b94c33zzDTIyMuDj46O3r1OnThgyZAg2b96MiIgIXL9+XW+/9nlERITR88+aNQtTpkzRPS8qKqpX4aeuPjf2GB1V14itlJQUqFQqh5aJiIgIcHLwCQsLQ1hYWJ3HrV69Gq+99pru+bVr15CcnIzt27ejc+fOAICkpCTMnj0b5eXl8Pb2BgDs27cPrVq1Mtm/x8fHp1agqi9q9rkxJjU1VdKgYWrEllodgB9+UOL++z0QFaUBwKBDRESO4xZ9fJo1a6b3vGHDhgCA+Ph4REdHAwCeeeYZzJ8/H6NHj8aMGTNw9uxZrFq1CitWrHB4eV2FqZoea44zl7ERW1lZLYz2+5E6fBERERniFsHHHCqVCnv37sXEiRORmJiI0NBQzJkzh0PZnaTmiC0AWLkyrVa/n/j4C1CpiiUPX0RERIa4ZfCJjY2FEKLW9vbt2+P77793QonIkOojtrKzY032+yEiInIErtVFkjE1Ekvb76e66jM1ExEROYJb1viQawoJCUFqaqpes1VeXh7S09M5UzMREbkEBh+SlKkOypypmYiInI3BR0bqWkLCEThTMxERORODTz1Wvc+NqSUkOEsyERHJBYNPPabtc3PxYgVefbUxhFAAqBpNtXt3P8yZ0xmxsV52nT/H3FDF8EVERI7A4FPPhYSE4PRpQKM/oAqVlQoUF4fD3nMGGurwXBNnbiYiIkdh8JGBli0BDw/98OPpCbRo4Zj3Z6ghIiJXwXl8ZCA6GnjnnaqwA1T9+/bbVduJiIjkhDU+MjF6NJCcDFy4UFXTw9BDRERyxOAjI9HRDDxERCRvbOoiIiIi2WDwISIiItlg8CEiIiLZYPAhIiIi2WDwISIiItlg8CEiIiLZYPAhIiIi2WDwIatduQIcPFj1LxERkTtg8CGL5OfnIycnB8uWFSImRqB7dyAmRmDZskLk5OQgPz/f2UUkIiIyijM3y0x+fr7VK6Xn5+dj7dq1UKsDsHJlGoRQAAA0GgWmTQvE1avvQaUqRmpqKhcmJSIil8TgIyPa4KKlVgegoCAEwcH5UKmKdduNBRdtYCooCIEQ+pWFQnigoCAYKlWxyWBFRETkTAw+MlI9kJw40RE7d/aFEB5QKDTo128XEhJO1jrOkODgfCgUGr3wo1BoEBxcYJ+CExERSYR9fGRIrQ7QhR6gqrZm586+UKsDzHq9SlWMfv12QaHQAIAuOFWvNSIiInJFrPGRobqaqsyRkHAS8fEXUFAQjODgAoYeIiJyCww+MiRVU5VKVczAQ0REboVNXTLEpioiIpIr1vjIFJuqiIhIjhh8ZMzSpiqlUinpcURERI7G4CMjtgaXkJAQpKamWj0BIhERkbMphBDC2YVwJUVFRVCpVFCr1QgMDHR2cSRny8zNRERErsrc72/W+MiMJaHmyhXg/HmgZUsgOtqOhSIiInIQjuoigzZsAGJi8L9FSKueExERuTsGH9KTn5+P48evY+xYAU3VaHdoNMC4cQLHj1/n6utEROTW2NRFOtpFTLOzY6HRDNfbV1mpwJo1exAX9wdXXyciIrfFGh/S0XZ61s7sXF31mZ25+joREbkrBh+qhTM7ExFRfcWmLjKIMzsTEVF9xOBDRnERUiIiqm/Y1EVERESyweBDREREssHgQ0RERLLB4EM6XH2diIjqO3ZuJh2uvk5ERPUdgw/pYaghIqL6jE1dREREJBsMPkRERCQbDD5EREQkGww+REREJBsMPi7qyhXg4MGqf4mIiEgaDD4uaMMGICYG6N696t8NG2ofw2BERERkOQYfF3PlCjB2LKDRVD3XaIBx46q25+fnIycnB8uWFSImRvwvGAksW1aInJwc5OfnO7fwRERELo7z+LiY8+f/Cj1alZXA8eNqnDq1Fmp1AFauTIMQCgCARqPAtGmBuHr1PahUxUhNTeVcPEREREawxseF5OfnIzDwOjw8hN52T08BP79rAICCghAIof9rE8IDBQXBAGBy1mUiIiK5Y42Pi8jPz8fatWsBAH37dsTOnX0hhAcUCg369NmFI0dOAgCCg/OhUGj0wo9CoUFwcIFTyk1EROROGHxcRPWamoSEk4iPv4CCgmAEBxdApSrW7VOpitGv3y69YNSv3y69Y4iIiMgwBh8XpVIVGw0z8fEXMHDgDgACTZteYeghIiIyE4OPmzlxomOt2p6EhJPOLhYREZFbYOdmN6JWB+hCD1DVqXnnzr5QqwOcXDIiIiL3wODjRuoa0UVERESmMfi4Ee2IrupqjuhSKpWOLhYREZHbYPBxI9oRXdrwU3NEV0pKCicvJCIiMoGdm12EuTU1poe6q+xVPCIionqBwcdFhISEIDU11eDMy3l5eUhPT9c9NzXUnYiIiIxj8HEhbKYiIiKyL/bxcQPmNoOxYzMREZFprPFxA6aawbSUSiVrjIiIiOrgVjU+u3fvRufOneHr64tGjRrhySef1Nt/6dIl9OnTB35+fmjcuDGmTZuGiooK5xRWYiEhIYiMjDT6YOghIiKqm9vU+OzYsQPPPfccFi1ahO7du6OiogJnz57V7a+srESfPn0QERGBI0eOICcnB88++yy8vb2xaNEiJ5aciIiIXIVCCCGcXYi6VFRUIDY2FvPnz8fo0aMNHrNnzx707dsX165dQ3h4OABg/fr1mDFjBm7evGl2/5eioiKoVCqo1WoEBgZKdg1ERERkP+Z+f7tFU9eJEydw9epVeHh4oGPHjoiMjETv3r31anwyMjLQrl07XegBgOTkZBQVFeG///2vM4pNRERELsYtgs/vv/8OAJg3bx7++c9/YteuXWjUqBEee+wxFBRULdeQm5urF3oA6J7n5uYaPXdpaSmKior0HkRERFQ/OTX4zJw5EwqFwuTj119/hUZTtUTD7NmzMXDgQCQmJmLjxo1QKBT45JNPbCrD4sWLoVKpdI+mTZtKcWlERETkgpzauXnq1KkYMWKEyWOaN2+OnJwcAECbNm102318fNC8eXNcunQJABAREYEff/xR77XXr1/X7TNm1qxZmDJliu55UVERww8REVE95dTgExYWhrCwsDqPS0xMhI+PDzIzM/HII48AAMrLy3Hx4kXExMQAAJKSkrBw4ULcuHEDjRs3BgDs27cPgYGBeoGpJh8fH/j4+EhwNUREROTq3GI4e2BgIMaPH4+5c+eiadOmiImJwRtvvAEAeOqppwAAPXv2RJs2bTBs2DC8/vrryM3NxT//+U9MnDiRwYaIiIgAuEnwAYA33ngDXl5eGDZsGP7880907twZ33zzDRo1agQA8PT0xK5duzBhwgQkJSXB398fw4cPx6uvvurkkhMREZGrcIt5fByJ8/gQERG5n3o1jw8RERGRFBh8iIiISDYYfIiIiEg2GHyIiIhINhh8iIiISDYYfIiIiEg2GHyIiIhINhh8iIiISDYYfIiIiEg2GHyIiIhINhh8iIiISDYYfIiIiEg2GHyIiIhINhh8iIiISDYYfIiIiEg2GHyIiIhINhh8iIiISDa8nF2A+iw/Px9lZWVG9yuVSoSEhDiwRERERPLG4GMn+fn5WLt2bZ3HpaamMvwQERE5CJu67MRUTY81xxEREZHtGHyIiIhINhh8iIiISDYYfIiIiEg2GHyIiIhINhh8iIiISDYYfIiIiEg2GHzsRKlUSnocERER2Y4TGNpJSEgIUlNTOXMzERGRC2HwsSOGGiIiItfCpi4HuXIFOHiw6l8iIiJyDgYfB9iwAYiJAbp3r/p3wwZnl4iIiEieGHzs7MoVYOxYQKOpeq7RAOPGseaHiIjIGRh87Oz8+b9Cj1ZlJXDhgnPKQ0REJGcMPnbWsiXgUeMue3oCLVo4pzxERERyxuBjZ9HRwDvvVIUdoOrft9+u2k5ERESOxeHsDjB6NJCcXNW81aIFQw8REZGzMPg4SHQ0Aw8REZGzsamLiIiIZIPBh4iIiGSDwYeIiIhkg8GHiIiIZIPBh4iIiGSDwYeIiIhkg8GHiIiIZIPBh4iIiGSDwYeIiIhkg8GHiIiIZIPBh4iIiGSDa3XVIIQAABQVFTm5JERERGQu7fe29nvcGAafGoqLiwEATZs2dXJJiIiIyFLFxcVQqVRG9ytEXdFIZjQaDa5du4aAgAAoFAqzXlNUVISmTZvi8uXLCAwMtHMJXRfvQxXeB94DLd6HKrwPvAda9rwPQggUFxcjKioKHh7Ge/KwxqcGDw8PREdHW/XawMBAWX+gtXgfqvA+8B5o8T5U4X3gPdCy130wVdOjxc7NREREJBsMPkRERCQbDD4S8PHxwdy5c+Hj4+PsojgV70MV3gfeAy3ehyq8D7wHWq5wH9i5mYiIiGSDNT5EREQkGww+REREJBsMPkRERCQbDD5EREQkGww+Rqxbtw7t27fXTbKUlJSEPXv26PbfvXsXEydOREhICBo2bIiBAwfi+vXreue4dOkS+vTpAz8/PzRu3BjTpk1DRUWFoy9FMkuWLIFCoUBaWppum1zuw7x586BQKPQerVu31u2Xy324evUqhg4dipCQEPj6+qJdu3b46aefdPuFEJgzZw4iIyPh6+uLHj164Pz583rnKCgowJAhQxAYGIigoCCMHj0at2/fdvSlWC02NrbWZ0GhUGDixIkA5PNZqKysxCuvvIK4uDj4+voiPj4eCxYs0FsnSQ6fh+LiYqSlpSEmJga+vr7o0qULjh07pttfH+/Bd999h379+iEqKgoKhQKff/653n6prvn06dN49NFH0aBBAzRt2hSvv/66NBcgyKAvvvhC7N69W/z2228iMzNTvPzyy8Lb21ucPXtWCCHE+PHjRdOmTcWBAwfETz/9JB566CHRpUsX3esrKirEfffdJ3r06CFOnjwpvvzySxEaGipmzZrlrEuyyY8//ihiY2NF+/btxeTJk3Xb5XIf5s6dK9q2bStycnJ0j5s3b+r2y+E+FBQUiJiYGDFixAhx9OhR8fvvv4uvv/5aXLhwQXfMkiVLhEqlEp9//rn4+eefRf/+/UVcXJz4888/dcf06tVLdOjQQfznP/8R33//vWjRooUYPHiwMy7JKjdu3ND7HOzbt08AEAcPHhRCyOOzIIQQCxcuFCEhIWLXrl0iOztbfPLJJ6Jhw4Zi1apVumPk8HkYNGiQaNOmjTh06JA4f/68mDt3rggMDBRXrlwRQtTPe/Dll1+K2bNni/T0dAFAfPbZZ3r7pbhmtVotwsPDxZAhQ8TZs2fFRx99JHx9fcXbb79tc/kZfCzQqFEj8f/+3/8ThYWFwtvbW3zyySe6fefOnRMAREZGhhCi6oPh4eEhcnNzdcesW7dOBAYGitLSUoeX3RbFxcWiZcuWYt++faJbt2664COn+zB37lzRoUMHg/vkch9mzJghHnnkEaP7NRqNiIiIEG+88YZuW2FhofDx8REfffSREEKIX375RQAQx44d0x2zZ88eoVAoxNWrV+1XeDuaPHmyiI+PFxqNRjafBSGE6NOnjxg1apTetgEDBoghQ4YIIeTxeSgpKRGenp5i165detsTEhLE7NmzZXEPagYfqa75rbfeEo0aNdL7b2LGjBmiVatWNpeZTV1mqKysxLZt23Dnzh0kJSXh+PHjKC8vR48ePXTHtG7dGs2aNUNGRgYAICMjA+3atUN4eLjumOTkZBQVFeG///2vw6/BFhMnTkSfPn30rheA7O7D+fPnERUVhebNm2PIkCG4dOkSAPnchy+++AKdOnXCU089hcaNG6Njx4549913dfuzs7ORm5urdx9UKhU6d+6sdx+CgoLQqVMn3TE9evSAh4cHjh496riLkUhZWRk++OADjBo1CgqFQjafBQDo0qULDhw4gN9++w0A8PPPP+Pw4cPo3bs3AHl8HioqKlBZWYkGDRrobff19cXhw4dlcQ9qkuqaMzIy0LVrVyiVSt0xycnJyMzMxK1bt2wqIxcpNeHMmTNISkrC3bt30bBhQ3z22Wdo06YNTp06BaVSiaCgIL3jw8PDkZubCwDIzc3V+x+bdr92n7vYtm0bTpw4oddmrZWbmyub+9C5c2ds2rQJrVq1Qk5ODubPn49HH30UZ8+elc19+P3337Fu3TpMmTIFL7/8Mo4dO4YXXngBSqUSw4cP112Hoeusfh8aN26st9/LywvBwcFucx+q+/zzz1FYWIgRI0YAkNd/EzNnzkRRURFat24NT09PVFZWYuHChRgyZAgAyOLzEBAQgKSkJCxYsAD33nsvwsPD8dFHHyEjIwMtWrSQxT2oSaprzs3NRVxcXK1zaPc1atTI6jIy+JjQqlUrnDp1Cmq1Gp9++imGDx+OQ4cOObtYDnP58mVMnjwZ+/btq/UXjdxo/4oFgPbt26Nz586IiYnBxx9/DF9fXyeWzHE0Gg06deqERYsWAQA6duyIs2fPYv369Rg+fLiTS+ccGzZsQO/evREVFeXsojjcxx9/jA8//BBbt25F27ZtcerUKaSlpSEqKkpWn4ctW7Zg1KhRaNKkCTw9PZGQkIDBgwfj+PHjzi4aGcGmLhOUSiVatGiBxMRELF68GB06dMCqVasQERGBsrIyFBYW6h1//fp1REREAAAiIiJqjeTQPtce4+qOHz+OGzduICEhAV5eXvDy8sKhQ4ewevVqeHl5ITw8XBb3wZCgoCDcc889uHDhgmw+D5GRkWjTpo3etnvvvVfX5Ke9DkPXWf0+3LhxQ29/RUUFCgoK3OY+aP3xxx/Yv38/xowZo9sml88CAEybNg0zZ87E008/jXbt2mHYsGF48cUXsXjxYgDy+TzEx8fj0KFDuH37Ni5fvowff/wR5eXlaN68uWzuQXVSXbM9/zth8LGARqNBaWkpEhMT4e3tjQMHDuj2ZWZm4tKlS0hKSgIAJCUl4cyZM3q/3H379iEwMLDWl4ereuKJJ3DmzBmcOnVK9+jUqROGDBmi+1kO98GQ27dvIysrC5GRkbL5PDz88MPIzMzU2/bbb78hJiYGABAXF4eIiAi9+1BUVISjR4/q3YfCwkK9v4a/+eYbaDQadO7c2QFXIZ2NGzeicePG6NOnj26bXD4LAFBSUgIPD/2vEE9PT2g0GgDy+zz4+/sjMjISt27dwtdff42///3vsrsHgHS/96SkJHz33XcoLy/XHbNv3z60atXKpmYuABzObszMmTPFoUOHRHZ2tjh9+rSYOXOmUCgUYu/evUKIqiGrzZo1E99884346aefRFJSkkhKStK9XjtktWfPnuLUqVPiq6++EmFhYW43ZLWm6qO6hJDPfZg6dar49ttvRXZ2tvjhhx9Ejx49RGhoqLhx44YQQh734ccffxReXl5i4cKF4vz58+LDDz8Ufn5+4oMPPtAds2TJEhEUFCT+/e9/i9OnT4u///3vBoexduzYURw9elQcPnxYtGzZ0qWH7hpSWVkpmjVrJmbMmFFrnxw+C0IIMXz4cNGkSRPdcPb09HQRGhoqpk+frjtGDp+Hr776SuzZs0f8/vvvYu/evaJDhw6ic+fOoqysTAhRP+9BcXGxOHnypDh58qQAIJYvXy5Onjwp/vjjDyGENNdcWFgowsPDxbBhw8TZs2fFtm3bhJ+fH4ez29OoUaNETEyMUCqVIiwsTDzxxBO60COEEH/++ad4/vnnRaNGjYSfn5/4v//7P5GTk6N3josXL4revXsLX19fERoaKqZOnSrKy8sdfSmSqhl85HIfUlJSRGRkpFAqlaJJkyYiJSVFb/4audyHnTt3ivvuu0/4+PiI1q1bi3feeUdvv0ajEa+88ooIDw8XPj4+4oknnhCZmZl6x+Tn54vBgweLhg0bisDAQDFy5EhRXFzsyMuw2ddffy0A1Lo2IeTzWSgqKhKTJ08WzZo1Ew0aNBDNmzcXs2fP1ht+LIfPw/bt20Xz5s2FUqkUERERYuLEiaKwsFC3vz7eg4MHDwoAtR7Dhw8XQkh3zT///LN45JFHhI+Pj2jSpIlYsmSJJOVXCFFtmk0iIiKieox9fIiIiEg2GHyIiIhINhh8iIiISDYYfIiIiEg2GHyIiIhINhh8iIiISDYYfIiIiEg2GHyIiIhINhh8iMhmjz32GNLS0pxdDLubN28e7r//fmcXg4hswOBDRLJXVlbm0PcTQqCiosKh70lEVRh8iMgmI0aMwKFDh7Bq1SooFAooFApcvHgRZ8+eRe/evdGwYUOEh4dj2LBhyMvL073usccew6RJk5CWloZGjRohPDwc7777Lu7cuYORI0ciICAALVq0wJ49e3Sv+fbbb6FQKLB79260b98eDRo0wEMPPYSzZ8/qlenw4cN49NFH4evri6ZNm+KFF17AnTt3dPtjY2OxYMECPPvsswgMDMTYsWMBADNmzMA999wDPz8/NG/eHK+88opudehNmzZh/vz5+Pnnn3XXuWnTJly8eBEKhQKnTp3Snb+wsBAKhQLffvutXrn37NmDxMRE+Pj44PDhw9BoNFi8eDHi4uLg6+uLDh064NNPP5X6V0RE1TD4EJFNVq1ahaSkJDz33HPIyclBTk4OAgIC0L17d3Ts2BE//fQTvvrqK1y/fh2DBg3Se+3mzZsRGhqKH3/8EZMmTcKECRPw1FNPoUuXLjhx4gR69uyJYcOGoaSkRO9106ZNw7Jly3Ds2DGEhYWhX79+uoCSlZWFXr16YeDAgTh9+jS2b9+Ow4cPIzU1Ve8cb775Jjp06ICTJ0/ilVdeAQAEBARg06ZN+OWXX7Bq1Sq8++67WLFiBQAgJSUFU6dORdu2bXXXmZKSYtG9mjlzJpYsWYJz586hffv2WLx4Md5//32sX78e//3vf/Hiiy9i6NChOHTokEXnJSILSLLUKRHJWrdu3cTkyZN1zxcsWCB69uypd8zly5f1VjTv1q2beOSRR3T7KyoqhL+/vxg2bJhuW05OjgAgMjIyhBB/rQq9bds23TH5+fnC19dXbN++XQghxOjRo8XYsWP13vv7778XHh4e4s8//xRCCBETEyOefPLJOq/rjTfeEImJibrnc+fOFR06dNA7Jjs7WwAQJ0+e1G27deuWACAOHjyoV+7PP/9cd8zdu3eFn5+fOHLkiN75Ro8eLQYPHlxn2YjIOl7ODF1EVD/9/PPPOHjwIBo2bFhrX1ZWFu655x4AQPv27XXbPT09ERISgnbt2um2hYeHAwBu3Lihd46kpCTdz8HBwWjVqhXOnTune+/Tp0/jww8/1B0jhIBGo0F2djbuvfdeAECnTp1qlW379u1YvXo1srKycPv2bVRUVCAwMNDi6zem+nteuHABJSUl+Nvf/qZ3TFlZGTp27CjZexKRPgYfIpLc7du30a9fPyxdurTWvsjISN3P3t7eevsUCoXeNoVCAQDQaDQWvfe4cePwwgsv1NrXrFkz3c/+/v56+zIyMjBkyBDMnz8fycnJUKlU2LZtG5YtW2by/Tw8qnoMCCF027TNbjVVf8/bt28DAHbv3o0mTZroHefj42PyPYnIegw+RGQzpVKJyspK3fOEhATs2LEDsbGx8PKS/n8z//nPf3Qh5tatW/jtt990NTkJCQn45Zdf0KJFC4vOeeTIEcTExGD27Nm6bX/88YfeMTWvEwDCwsIAADk5ObqamuodnY1p06YNfHx8cOnSJXTr1s2ishKR9di5mYhsFhsbi6NHj+LixYvIy8vDxIkTUVBQgMGDB+PYsWPIysrC119/jZEjR9YKDtZ49dVXceDAAZw9exYjRoxAaGgonnzySQBVI7OOHDmC1NRUnDp1CufPn8e///3vWp2ba2rZsiUuXbqEbdu2ISsrC6tXr8Znn31W6zqzs7Nx6tQp5OXlobS0FL6+vnjooYd0nZYPHTqEf/7zn3VeQ0BAAF566SW8+OKL2Lx5M7KysnDixAmsWbMGmzdvtvreEJFpDD5EZLOXXnoJnp6eaNOmDcLCwlBWVoYffvgBlZWV6NmzJ9q1a4e0tDQEBQXpmoZssWTJEkyePBmJiYnIzc3Fzp07oVQqAVT1Gzp06BB+++03PProo+jYsSPmzJmDqKgok+fs378/XnzxRaSmpuL+++/HkSNHdKO9tAYOHIhevXrh8ccfR1hYGD766CMAwHvvvYeKigokJiYiLS0Nr732mlnXsWDBArzyyitYvHgx7r33XvTq1Qu7d+9GXFycFXeFiMyhENUbpomIXNi3336Lxx9/HLdu3UJQUJCzi0NEbog1PkRERCQbDD5EREQkG2zqIiIiItlgjQ8RERHJBoMPERERyQaDDxEREckGgw8RERHJBoMPERERyQaDDxEREckGgw8RERHJBoMPERERyQaDDxEREcnG/wdmed262Vc8gQAAAABJRU5ErkJggg==", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.3 Visualizing surrogates\n", + "Now that the surrogate models have been trained, the models can be visualized through scatter, parity and residual plots to confirm their validity in the chosen domain. The training data will be visualized first to confirm the surrogates are fit the data, and then the validation data will be visualized to confirm the surrogates accurately predict new output values." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# visualize with IDAES surrogate plotting tools\n", + "surrogate_scatter2D(poly_surr, data_training, filename=\"pysmo_poly_train_scatter2D.pdf\")\n", + "surrogate_parity(poly_surr, data_training, filename=\"pysmo_poly_train_parity.pdf\")\n", + "surrogate_residual(poly_surr, data_training, filename=\"pysmo_poly_train_residual.pdf\")" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkYAAAHHCAYAAABa2ZeMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABJvElEQVR4nO3dd3hUVf7H8c8kpEIKJSGUhKoU8QcIgokFYZHAqsCKuogCEURREBEsRJQQEIiIKFjAFSmrKFiRBSUiRVTiqkiREhQkUgOoJBGQ1Pv7gzDrOBNMwmTulPfreebJ3nPv3PkOdzEfzjn3XIthGIYAAAAgP7MLAAAAcBcEIwAAgFIEIwAAgFIEIwAAgFIEIwAAgFIEIwAAgFIEIwAAgFIEIwAAgFIEIwAAgFIEIwAeyWKxaOLEiWaXYZWUlKTGjRubXQaAC0QwAuA0CxculMVisb6Cg4N18cUXa+TIkTp69GiVfvbGjRs1ceJE5eTkOPW81157rc13qlWrli6//HLNnz9fJSUlTvmMqVOnatmyZU45F4ALU83sAgB4n0mTJqlJkyY6c+aMPv/8c82ZM0cffvihtm/frtDQUKd8xu+//65q1f73n7CNGzcqNTVVSUlJioyMdMpnnNOwYUNNmzZNknT8+HH9+9//1tChQ/X9998rLS3tgs8/depU3Xzzzerbt+8FnwvAhSEYAXC6Xr16qWPHjpKku+66S7Vr19bMmTP1wQcf6Lbbbqv0eUtKSlRQUKDg4GAFBwc7q9y/FBERoTvuuMO6fc8996hFixZ64YUXNHnyZAUEBLisFgBVi6E0AFWuW7dukqR9+/ZJkmbMmKGEhATVrl1bISEh6tChg9555x2791ksFo0cOVKLFy/WJZdcoqCgIK1atcq679wco4kTJ+rhhx+WJDVp0sQ67JWVlaUuXbqobdu2Dutq0aKFEhMTK/x9QkNDdcUVV+jUqVM6fvx4mcedOnVKY8eOVWxsrIKCgtSiRQvNmDFDhmHYfMdTp05p0aJF1rqTkpIqXBMA56DHCECV27t3rySpdu3akqRZs2apd+/euv3221VQUKAlS5bolltu0YoVK3T99dfbvHft2rV66623NHLkSNWpU8fhBOebbrpJ33//vd588009++yzqlOnjiQpKipKAwcO1LBhw7R9+3a1adPG+p6vv/5a33//vR5//PFKfacff/xR/v7+ZQ7bGYah3r17a926dRo6dKjatWun9PR0Pfzwwzp06JCeffZZSdJrr72mu+66S506ddLdd98tSWrWrFmlagLgBAYAOMmCBQsMScYnn3xiHD9+3Dhw4ICxZMkSo3bt2kZISIhx8OBBwzAM4/Tp0zbvKygoMNq0aWN069bNpl2S4efnZ+zYscPusyQZKSkp1u2nn37akGTs27fP5ricnBwjODjYePTRR23aR40aZVSvXt04efLkeb9Tly5djJYtWxrHjx83jh8/buzatcsYNWqUIcm48cYbrccNHjzYaNSokXV72bJlhiTjySeftDnfzTffbFgsFmPPnj3WturVqxuDBw8+bx0AXIOhNABO1717d0VFRSk2Nlb9+/dXjRo19P7776tBgwaSpJCQEOuxJ06cUG5urq6++mp9++23dufq0qWLWrduXelaIiIi1KdPH7355pvWIazi4mItXbpUffv2VfXq1f/yHJmZmYqKilJUVJRatWql559/Xtdff73mz59f5ns+/PBD+fv7a9SoUTbtY8eOlWEY+uijjyr9nQBUHYbSADjdiy++qIsvvljVqlVT3bp11aJFC/n5/e/fYStWrNCTTz6pLVu2KD8/39pusVjsztWkSZMLrmfQoEFaunSpPvvsM11zzTX65JNPdPToUQ0cOLBc72/cuLFeeeUV6xIEF110kaKjo8/7np9++kn169dXWFiYTXurVq2s+wG4H4IRAKfr1KmT9a60P/vss8/Uu3dvXXPNNXrppZdUr149BQQEaMGCBXrjjTfsjv9j71JlJSYmqm7dunr99dd1zTXX6PXXX1dMTIy6d+9ervdXr1693McC8GwMpQFwqXfffVfBwcFKT0/XkCFD1KtXL6eEDke9Tef4+/trwIABeuedd3TixAktW7ZMt912m/z9/S/4c8vSqFEjHT58WL/99ptNe2ZmpnX/OeerHYBrEYwAuJS/v78sFouKi4utbVlZWRe88vO5uUJlrXw9cOBAnThxQvfcc49Onjxpsy5RVfj73/+u4uJivfDCCzbtzz77rCwWi3r16mVtq169utNX7AZQOQylAXCp66+/XjNnzlTPnj01YMAAHTt2TC+++KKaN2+ubdu2Vfq8HTp0kCSNHz9e/fv3V0BAgG688UZrYGrfvr3atGmjt99+W61atdJll13mlO9TlhtvvFFdu3bV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69ZNRUVF2r59u3V/cXGxrr/+esXExGjjxo06cuSIBg0apICAAE2dOtXEyj3Lpk2btGLFCpu2xx57TAEBASZVBACA61gMwzDMLuKvFBUVqXHjxkpNTdXQoUMdHvPRRx/phhtu0OHDh61PcJ87d64effRRHT9+XIGBgeX6rLy8PEVERCg3N1fh4eFO+w7urqSkRDNnztSpU6esbddee626dOliYlUAAJSPs35/e8RQ2rfffqtDhw7Jz89P7du3V7169dSrVy+bHqOMjAxdeuml1lAkSYmJicrLy9OOHTvMKNtjHDlyRJMnT7YJRffffz+hCADgczxiKO3HH3+UJE2cOFEzZ85U48aN9cwzz+jaa6/V999/r1q1aik7O9smFEmybmdnZ5d57vz8fOXn51u38/LyquAbuK+VK1fqm2++sW7Xr19fd911lywWi4lVAQBgDlN7jMaNGyeLxXLeV2ZmpkpKSiRJ48ePV79+/dShQwctWLBAFotFb7/99gXVMG3aNEVERFhfsbGxzvhqbu/MmTNKTU21CUW33nqrhg0bRigCAPgsU3uMxo4dq6SkpPMe07RpUx05ckSS1Lp1a2t7UFCQmjZtan1eV0xMjL766iub9x49etS6ryzJyckaM2aMdTsvL8/rw9HOnTvtAuW4ceMUFBRkUkUAALgHU4NRVFSUoqKi/vK4Dh06KCgoSLt379ZVV10lSSosLFRWVpYaNWokSYqPj9eUKVN07NgxRUdHS5JWr16t8PBwm0D1Z0FBQT4TCAzD0Msvv2wNjJLUqVMn9erVy8SqAABwHx4xxyg8PFzDhw9XSkqKYmNj1ahRIz399NOSpFtuuUWS1KNHD7Vu3VoDBw7U9OnTlZ2drccff1wjRozwmeBzPr/88oteeOEFm7bhw4fbzcsCAMCXeUQwkqSnn35a1apV08CBA/X777+rc+fOWrt2rWrWrClJ8vf314oVK3TvvfcqPj5e1atX1+DBgzVp0iSTKzffunXrtGHDBut2RESERo0aJT8/j7gpEQAAl/GIdYxcyZvWMSosLLRb3LJ3795q3769SRUBAFA1nPX722N6jFAxe/fu1euvv27T9tBDD6l69eomVQQAgPsjGHmh119/XXv37rVut2nTRv369TOxIgAAPAPByIvk5eXp2WeftWkbMmSI1y8/AACAsxCMvMSXX36p9PR067a/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NG3aNDVp0kQhISFq27at3nnnHUn/G4Zas2aNOnbsqNDQUCUkJGj37t2SpIULFyo1NVVbt26VxWKRxWLRwoULJUkWi0Vz5sxR7969Vb16dU2ZMuW8dZz7rPT0dLVv314hISHq1q2bjh07po8++kitWrVSeHi4BgwYoNOnT1vfl5+fr1GjRik6OlrBwcG66qqr9PXXX1fNHxYA13DqE94AoAKefPJJo2XLlsaqVauMvXv3GgsWLDCCgoKM9evXG+vWrTMkGZ07dzbWr19v7Nixw7j66quNhIQEwzAM4/Tp08bYsWONSy65xO4p25KM6OhoY/78+cbevXuNn3766bx1nPusK664wvj888+Nb7/91mjevLnRpUsXo0ePHsa3335rbNiwwahdu7bNA15HjRpl1K9f3/jwww+NHTt2GIMHDzZq1qxp/PLLLzbnPXHiRNX8AQJwOoIRAFOcOXPGCA0NNTZu3GjTPnToUOO2226zhopPPvnEum/lypWGJOP33383DMMwUlJSjLZt29qdW5IxevToctfi6LOmTZtmSDL27t1rbbvnnnuMxMREwzAM4+TJk0ZAQICxePFi6/6CggKjfv36xvTp023OSzACPEc1s3qqAPi2PXv26PTp07ruuuts2gsKCtS+fXvr9v/93/9Z/3e9evUkSceOHVNcXNx5z9+xY8cK1/THz6pbt65CQ0PVtGlTm7avvvpKkrR3714VFhbqyiuvtO4PCAhQp06dtGvXrgp/NgD3QDACYIqTJ09KklauXKkGDRrY7AsKCtLevXslnQ0b51gsFkln5yb9lerVq1e4pj9/1h+3z7WV57MBeC4mXwMwRevWrRUUFKT9+/erefPmNq/Y2NhynSMwMFDFxcVVXKljzZo1U2BgoL744gtrW2Fhob7++mu1bt3alJoAXDh6jACYIiwsTA899JAefPBBlZSU6KqrrlJubq6++OILhYeHq1GjRn95jsaNG2vfvn3asmWLGjZsqLCwMAUFBbmg+rM9Uvfee68efvhh1apVS3FxcZo+fbpOnz6toUOHuqQGAM5HMAJgmsmTJysqKkrTpk3Tjz/+qMjISF122WV67LHHyjVk1a9fP7333nvq2rWrcnJytGDBAiUlJVV94aXS0tJUUlKigQMH6rffflPHjh2Vnp6umjVruqwGAM5lMQzDMLsIAAAAd8AcIwAAgFIEIwBeb/jw4apRo4bD1/Dhw80uD4AbYSgNgNc7duyY8vLyHO4LDw9XdHS0iysC4K4IRgAAAKUYSgMAAChFMAIAAChFMAIAAChFMAIAAChFMAIAAChFMAIAAChFMAIAAChFMAIAACj1/1j+WUwWRiX3AAAAAElFTkSuQmCC", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.4 Model Validation\n", + "\n", + "We check the fit on the validation set to see if the surrogate is fitting well. This step can be used to check for overfitting on the training set." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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qlWrVkpLSzOx1NYzduxYLV68WO+++67q1q3rGvcQHR2tiIgIRUdHa/To0br//vvVoEEDRUVF6d5771VKSoq6detmcumtpbK63Lt3rxYvXqxrr71WDRs21JdffqkJEyaoR48e6tChg8mlt44pU6aoX79+atq0qX755RctXrxYn3zyiT7++GPOxyqqqC5NOx/9OvcLpli7dq0h6bzbiBEjDMP4dfr51KlTjbi4OCM8PNzo3bu3sXv3bnMLbVEV1WVBQYFxzTXXGDExMUZoaKjRrFkzY8yYMUZubq7ZxbacsupQkrFw4ULXMYWFhcY999xj1K9f34iMjDRuvPFGIycnx7xCW1RldZmdnW306NHDaNCggREeHm60atXKeOCBBwyn02luwS1m1KhRRrNmzYywsDAjJibG6N27t7Fy5UrXfs5H91VUl2adjw7DMAzfRSkAAABzMWYHAADYGmEHAADYGmEHAADYGmEHAADYGmEHAADYGmEHAADYGmEHAADYGmEHAADYGmEHAADYGmEHgKWdOnXK7CKcx4plAlA+wg4Av+rVq5fS09OVnp6u6OhoNWrUSFOnTlXJlWuaN2+uxx57TMOHD1dUVJTuvPNOSdKGDRt05ZVXKiIiQk2aNNG4ceN0/Phx1+O+8MILat26tWrVqqW4uDjddNNNrn1Lly5VcnKyIiIi1LBhQ/Xp08d13169emn8+PGlyjhgwACNHDnS9X9PywTAGgg7APzu1VdfVUhIiD777DP9+c9/1tNPP62XXnrJtf/JJ59Ux44d9fnnn2vq1Knau3ev+vbtq0GDBunLL7/UkiVLtGHDBqWnp0uStm7dqnHjxunRRx/V7t279dFHH6lHjx6SpJycHN1yyy0aNWqUdu3apU8++UQDBw5UVS8LWNUyAbAOLgQKwK969eqlQ4cOaefOnXI4HJKkyZMna/ny5frmm2/UvHlzderUSe+8847rPnfccYeCg4P14osvurZt2LBBPXv21PHjx/XBBx/o9ttv1w8//KC6deuWer7t27frsssu0759+9SsWbMyy3PJJZdozpw5rm0DBgxQvXr1tGjRIknyqEy1atWqVj0B8B5adgD4Xbdu3VxBR5JSUlK0Z88eFRUVSZI6d+5c6vgvvvhCixYtUp06dVy3tLQ0FRcXKysrS7/5zW/UrFkztWjRQrfddpveeOMNFRQUSJI6duyo3r17Kzk5Wb/73e+0YMEC/fzzz1Uuc1XLBMA6CDsALKd27dql/n/s2DH9/ve/144dO1y3L774Qnv27FHLli1Vt25dbd++XW+++aYSEhL08MMPq2PHjsrLy1NwcLBWrVqlDz/8UElJSXr22Wd10UUXuQJJUFDQeV1ap0+frnaZAFgHYQeA323evLnU/z/99FO1bt1awcHBZR5/6aWX6ptvvlGrVq3Ou4WFhUmSQkJC1KdPH82ePVtffvml9u3bpzVr1kiSHA6HUlNTNX36dH3++ecKCwtzdUnFxMQoJyfH9VxFRUX6+uuvK30N7pQJgDUQdgD4XXZ2tu6//37t3r1bb775pp599lndd9995R4/adIkbdq0Senp6dqxY4f27Nmjd9991zUYeMWKFZo7d6527Nih77//Xq+99pqKi4t10UUXafPmzZo5c6a2bt2q7OxsLVu2TIcPH1a7du0kSVdffbXef/99vf/++/r222919913Ky8vr9LXUFmZAFhHiNkFAFDzDB8+XIWFherSpYuCg4N13333uaZzl6VDhw5at26d/u///k9XXnmlDMNQy5YtNXjwYElSvXr1tGzZMk2bNk0nTpxQ69at9eabb+riiy/Wrl27tH79es2ZM0f5+flq1qyZnnrqKfXr10+SNGrUKH3xxRcaPny4QkJCNGHCBF111VWVvobKygTAOpiNBcCvypr9BAC+RDcWAACwNcIOAACwNbqxAACArdGyAwAAbI2wAwAAbI2wAwAAbI2wAwAAbI2wAwAAbI2wAwAAbI2wAwAAbI2wAwAAbI2wAwAAbO3/AW8G965BJW03AAAAAElFTkSuQmCC", - "text/plain": [ - "
" + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "# visualize with IDAES surrogate plotting tools\n", + "surrogate_scatter2D(poly_surr, data_validation, filename=\"pysmo_poly_val_scatter2D.pdf\")\n", + "surrogate_parity(poly_surr, data_validation, filename=\"pysmo_poly_val_parity.pdf\")\n", + "surrogate_residual(poly_surr, data_validation, filename=\"pysmo_poly_val_residual.pdf\")" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "image/png": "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wWX+/Pm655576nyusaZCAAD8jXADj8XHxys+Pt7sMgAAqBOnpQAAgK0QburAqLnBifUGAJA4LVVLWFiYQkJCdOjQIcXFxSksLMx1iwJYl2EYOnnypI4ePaqQkBCFhYWZXRIAwESEmzOEhIQoJSVFRUVFOnTokNnlwEORkZHq2rVrrUEfAQDND+HmLGFhYeratat++ukn0+6zBM+FhoaqRYsWtLQBAAg3dam5g/XZd7EGAADWR/s9AACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFcINAACwFVPDTW5uroYMGaKoqCjFx8crOztb+/bta/R1r7/+uvr06aNWrVopLS1Na9asCUC1AAAgGJgabjZt2qSZM2fqo48+0tq1a3Xq1CldfvnlKisrq/c1W7du1Q033KBp06bpk08+UXZ2trKzs7Vnz54AVg4AAKzKYRiGYXYRNY4ePar4+Hht2rRJI0aMqHOeCRMmqKysTO+8845r2kUXXaQBAwZoyZIljX5GaWmpYmJi5HQ6FR0d7bPaAQCA/3hy/LZUnxun0ylJat++fb3zbNu2TWPGjKk1LSsrS9u2batz/srKSpWWltZ6AAAA+7JMuKmurtZdd92l4cOHq1+/fvXOV1xcrISEhFrTEhISVFxcXOf8ubm5iomJcT26dOni07oBAIC1WCbczJw5U3v27NFrr73m0/fNycmR0+l0PQoLC336/gAAwFpamF2AJM2aNUvvvPOONm/erM6dOzc4b2Jiog4fPlxr2uHDh5WYmFjn/OHh4QoPD/dZrQAAwNpMbbkxDEOzZs3S6tWrtX79eqWkpDT6moyMDK1bt67WtLVr1yojI8NfZQIAgCBiasvNzJkztXz5cr311luKiopy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1IxczO0XrIEruAAAduH3u4Jv2LDBq8IQOFYaTAkAgEDyqs9NZmamQkJCtHTpUs2ZM0c9evRQZmamCgoKFBoa6usag5aZ99do6AouAADszKtw88YbbygrK0sRERH65JNPVFlZKUlyOp1asGCBTwsMVit2FGj4wvWauHS7hi9crxU7CgL6+TVXcJ2JK7gAAM2BV+HmkUce0ZIlS7R06dJanYmHDx+uXbt2+ay4YGWFQf24ggsA0Fx51edm3759GjFixDnTY2JidOzYsabWFPSsMqifVQZTAgAgkLwKN4mJidq/f7+Sk5NrTd+yZYu6d+/ui7qCmpUG9bPCYEoAAASSV6elZsyYoTvvvFPbt2+Xw+HQoUOH9Le//U333HOPbrvtNl/XGHQ4JQQAgHm8Cjdz5szRxIkTNXr0aB0/flwjRozQ9OnTdcstt+iXv/yl2++zefNmXXnllerYsaMcDofefPPNRl+zceNGXXDBBQoPD1ePHj20bNkyb76C300Y0lVb5ozSqzMu0pY5oxhfBgCAAPEq3DgcDv3mN7/RDz/8oD179uijjz7S0aNH9fDDD3v0PmVlZUpPT9czzzzj1vwHDhzQFVdcoVGjRikvL0933XWXpk+frvfff9+br+F3STERykjtQIsNAAAB5NUIxf7gcDi0evVqZWdn1zvPfffdp3fffVd79uxxTbv++ut17Ngxvffee259TnMaoRgAALvw5PjtVcuNWbZt26YxY8bUmpaVlaVt27aZVBEAALAar66WMktxcbESEhJqTUtISFBpaakqKioUEXHu6Z/KykrXIIPS6eQHAADsK6habryRm5urmJgY16NLly5mlwQAAPwoqMJNYmKiDh8+XGva4cOHFR0dXWerjSTl5OTI6XS6HoWFhYEoFQAAmCSoTktlZGRozZo1taatXbtWGRkZ9b4mPDxc4eHh/i4NAABYhKktN8ePH1deXp7y8vIknb7UOy8vTwUFp28ymZOTo0mTJrnmv/XWW/X111/r17/+tb788ks9++yz+vvf/667777bjPIBAIAFmRpudu7cqYEDB2rgwIGSpNmzZ2vgwIF68MEHJUlFRUWuoCNJKSkpevfdd7V27Vqlp6friSee0PPPP6+srCxT6gcAANZjmXFuAoVxbpqmyFmhAyVlSoltzeCEAICA8eT4HVR9bmCuFTsKlLNqt6oNKcQh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+HhlZ2dr3759teY5ceKEZs6cqQ4dOqhNmza69tprdfjwYZMqtiZ3luPIkSPP2SZvvfVWkyq2rsWLF6t///6uAeYyMjL0z3/+0/U826N7GluOZm2PhBsbKisrU3p6up555pk6n3/sscf0xz/+UUuWLNH27dvVunVrZWVl6cSJEwGu1PoaW5aSNHbsWBUVFbker776agArDA6bNm3SzJkz9dFHH2nt2rU6deqULr/8cpWVlbnmufvuu/WPf/xDr7/+ujZt2qRDhw5p/PjxJlZtPe4sR0maMWNGrW3yscceM6li6+rcubMWLlyojz/+WDt37tSll16qq6++Wnv37pXE9uiuxpajZNL2aMDWJBmrV692/b+6utpITEw0fv/737umHTt2zAgPDzdeffVVEyoMHmcvS8MwjMmTJxtXX321KfUEsyNHjhiSjE2bNhmGcXobbNmypfH666+75vniiy8MSca2bdvMKtPyzl6OhmEYmZmZxp133mleUUGsXbt2xvPPP8/22EQ1y9EwzNseablpZg4cOKDi4mKNGTPGNS0mJkYXXnihtm3bZmJlwWvjxo2Kj49X7969ddttt+n77783uyTLczqdkqT27dtLkj7++GOdOnWq1nbZp08fde3ale2yAWcvxxp/+9vfFBsbq379+iknJ0fl5eVmlBc0qqqq9Nprr6msrEwZGRlsj146eznWMGN7bHY3zmzuiouLJUkJCQm1pickJLieg/vGjh2r8ePHKyUlRfn5+br//vs1btw4bdu2TaGhoWaXZ0nV1dW66667NHz4cPXr10/S6e0yLCxMbdu2rTUv22X96lqOkjRx4kR169ZNHTt21Geffab77rtP+/bt06pVq0ys1pp2796tjIwMnThxQm3atNHq1avVt29f5eXlsT16oL7lKJm3PRJugCa4/vrrXf9OS0tT//79lZqaqo0bN2r06NEmVmZdM2fO1J49e7RlyxazSwlq9S3Hm2++2fXvtLQ0JSUlafTo0crPz1dqamqgy7S03r17Ky8vT06nUytXrtTkyZO1adMms8sKOvUtx759+5q2PXJaqplJTEyUpHN6/R8+fNj1HLzXvXt3xcbGav/+/WaXYkmzZs3SO++8ow0bNqhz586u6YmJiTp58qSOHTtWa362y7rVtxzrcuGFF0oS22QdwsLC1KNHDw0aNEi5ublKT0/XH/7wB7ZHD9W3HOsSqO2RcNPMpKSkKDExUevWrXNNKy0t1fbt22udI4V3vv32W33//fdKSkoyuxRLMQxDs2bN0urVq7V+/XqlpKTUen7QoEFq2bJlre1y3759KigoYLs8Q2PLsS55eXmSxDbphurqalVWVrI9NlHNcqxLoLZHTkvZ0PHjx2ul4gMHDigvL0/t27dX165dddddd+mRRx5Rz549lZKSogceeEAdO3ZUdna2eUVbVEPLsn379po3b56uvfZaJSYmKj8/X7/+9a/Vo0cPZWVlmVi19cycOVPLly/XW2+9paioKFe/hZiYGEVERCgmJkbTpk3T7Nmz1b59e0VHR+uXv/ylMjIydNFFF5lcvXU0thzz8/O1fPly/exnP1OHDh302Wef6e6779aIESPUv39/k6u3lpycHI0bN05du3bVjz/+qOXLl2vjxo16//332R490NByNHV7DPj1WfC7DRs2GJLOeUyePNkwjNOXgz/wwANGQkKCER4ebowePdrYt2+fuUVbVEPLsry83Lj88suNuLg4o2XLlka3bt2MGTNmGMXFxWaXbTl1LUNJxosvvuiap6Kiwrj99tuNdu3aGZGRkcY111xjFBUVmVe0BTW2HAsKCowRI0YY7du3N8LDw40ePXoY9957r+F0Os0t3IJuuukmo1u3bkZYWJgRFxdnjB492vjggw9cz7M9uqeh5Wjm9ugwDMPwb3wCAAAIHPrcAAAAWyHcAAAAWyHcAAAAWyHcAAAAWyHcAAAAWyHcAAAAWyHcAAAAWyHcAAAAWyHcAAAAWyHcALCUkydPml3COaxYE4D6EW4A+NXIkSM1a9YszZo1SzExMYqNjdUDDzygmju/JCcn6+GHH9akSZMUHR2tm2++WZK0ZcsWXXLJJYqIiFCXLl10xx13qKyszPW+zz77rHr27KlWrVopISFB1113neu5lStXKi0tTREREerQoYPGjBnjeu3IkSN111131aoxOztbU6ZMcf3f25oAWAPhBoDf/fWvf1WLFi3073//W3/4wx/05JNP6vnnn3c9//jjjys9PV2ffPKJHnjgAeXn52vs2LG69tpr9dlnn2nFihXasmWLZs2aJUnauXOn7rjjDs2fP1/79u3Te++9pxEjRkiSioqKdMMNN+imm27SF198oY0bN2r8+PHy9DZ6ntYEwDq4cSYAvxo5cqSOHDmivXv3yuFwSJLmzJmjt99+W59//rmSk5M1cOBArV692vWa6dOnKzQ0VM8995xr2pYtW5SZmamysjKtWbNGU6dO1bfffquoqKhan7dr1y4NGjRIBw8eVLdu3eqsZ8CAAVq0aJFrWnZ2ttq2batly5ZJklc1tWrVqknLCYDv0HIDwO8uuugiV7CRpIyMDH311VeqqqqSJA0ePLjW/J9++qmWLVumNm3auB5ZWVmqrq7WgQMHdNlll6lbt27q3r27brzxRv3tb39TeXm5JCk9PV2jR49WWlqa/vd//1dLly7Vf/7zH49r9rQmANZBuAFgutatW9f6//Hjx3XLLbcoLy/P9fj000/11VdfKTU1VVFRUdq1a5deffVVJSUl6cEHH1R6erqOHTum0NBQrV27Vv/85z/Vt29fPf300+rdu7crgISEhJxziurUqVNNrgmAdRBuAPjd9u3ba/3/o48+Us+ePRUaGlrn/BdccIE+//xz9ejR45xHWFiYJKlFixYaM2aMHnvsMX322Wc6ePCg1q9fL0lyOBwaPny45s2bp08++URhYWGuU0xxcXEqKipyfVZVVZX27NnT6HdwpyYA1kC4AeB3BQUFmj17tvbt26dXX31VTz/9tO68885657/vvvu0detWzZo1S3l5efrqq6/01ltvuTrvvvPOO/rjH/+ovLw8ffPNN3rppZdUXV2t3r17a/v27VqwYIF27typgoICrVq1SkePHtV5550nSbr00kv17rvv6t1339WXX36p2267TceOHWv0OzRWEwDraGF2AQDsb9KkSaqoqNDQoUMVGhqqO++803V5dV369++vTZs26Te/+Y0uueQSGYah1NRUTZgwQZLUtm1brVq1SnPnztWJEyfUs2dPvfrqqzr//PP1xRdfaPPmzVq0aJFKS0vVrVs3PfHEExo3bpwk6aabbtKnn36qSZMmqUWLFrr77rs1atSoRr9DYzUBsA6ulgLgV3VdnQQA/sRpKQAAYCuEGwAAYCuclgIAALZCyw0AALAVwg0AALAVwg0AALAVwg0AALAVwg0AALAVwg0AALAVwg0AALAVwg0AALAVwg0AALCV/x/YBjhC2T2t0QAAAABJRU5ErkJggg==", - "text/plain": [ - "
" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, the surrogate is trained and validated, we shall embed it in the property package, which is demonstrated in the [surrogate_embedding](./surrogate_embedding_usr.ipynb) file." ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHHCAYAAABZbpmkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABLcUlEQVR4nO3deXwU5eHH8e8mISEBknDlAIGES4gccigGEFAoSFGLYkVEBEGtCnIoCGgRUDFoa1W0gqUqWC+qoiJeUEAskEI4FbQIEQxKwiFmAwQIZJ/fHzT7YyGBzWY3uzv7eb9eeb1gZnb2mdljvvvMc9iMMUYAAAAWFebvAgAAAPgSYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQdAQJg2bZpsNptb29psNk2bNs2n5enRo4d69OgRsPsD4D7CDgAX8+bNk81mc/5FRESofv36GjZsmH7++Wd/Fy/gpKSkuJyvhIQEXXnllfrggw+8sv/CwkJNmzZNX375pVf2B4Qiwg6AUj322GP6xz/+oTlz5qhv375644031L17dx0/ftwnz/fHP/5Rx44d88m+fe3SSy/VP/7xD/3jH//Q+PHjtXfvXt14442aM2dOhfddWFio6dOnE3aACojwdwEABKa+ffuqY8eOkqQ777xTderU0VNPPaVFixbp5ptv9vrzRUREKCIiOL+S6tevr9tuu835/9tvv11NmzbVs88+q3vuucePJQMgUbMDwE1XXnmlJCk7O9tl+X//+1/ddNNNqlWrlqpWraqOHTtq0aJFLtucPHlS06dPV7NmzVS1alXVrl1bXbt21dKlS53blNZm58SJExo3bpzq1q2rGjVq6Prrr9dPP/10TtmGDRumlJSUc5aXts/XXntNV199tRISEhQVFaW0tDTNnj27XOfiQpKSktSyZUvt2rXrvNvt379fI0aMUGJioqpWraq2bdtq/vz5zvW7d+9W3bp1JUnTp0933irzdXslwGqC82cUgEq3e/duSVLNmjWdy7Zt26YuXbqofv36mjRpkqpVq6Z//vOf6t+/v95//33dcMMNkk6HjoyMDN155526/PLLVVBQoPXr12vjxo36zW9+U+Zz3nnnnXrjjTd06623qnPnzlq+fLn69etXoeOYPXu2LrnkEl1//fWKiIjQxx9/rPvuu08Oh0MjR46s0L5LnDx5Unv27FHt2rXL3ObYsWPq0aOHdu7cqVGjRik1NVXvvvuuhg0bpvz8fI0ZM0Z169bV7Nmzde+99+qGG27QjTfeKElq06aNV8oJhAwDAGd47bXXjCTzr3/9yxw4cMDs2bPHvPfee6Zu3bomKirK7Nmzx7ltz549TevWrc3x48edyxwOh+ncubNp1qyZc1nbtm1Nv379zvu8U6dONWd+JW3evNlIMvfdd5/LdrfeequRZKZOnepcNnToUNOoUaML7tMYYwoLC8/Zrk+fPqZx48Yuy7p37266d+9+3jIbY0yjRo1M7969zYEDB8yBAwfMli1bzC233GIkmfvvv7/M/T333HNGknnjjTecy4qKikx6erqpXr26KSgoMMYYc+DAgXOOF0D5cBsLQKl69eqlunXrqkGDBrrppptUrVo1LVq0SBdddJEk6dChQ1q+fLluvvlmHT58WAcPHtTBgwf1yy+/qE+fPtqxY4ez91Z8fLy2bdumHTt2uP38n376qSRp9OjRLsvHjh1boeOKjo52/ttut+vgwYPq3r27fvjhB9ntdo/2uWTJEtWtW1d169ZV27Zt9e6772rIkCF66qmnynzMp59+qqSkJA0aNMi5rEqVKho9erSOHDmilStXelQWAOfiNhaAUv31r39V8+bNZbfb9eqrr+qrr75SVFSUc/3OnTtljNGUKVM0ZcqUUvexf/9+1a9fX4899ph+97vfqXnz5mrVqpWuueYaDRky5Ly3Y3788UeFhYWpSZMmLssvvvjiCh3X6tWrNXXqVGVmZqqwsNBlnd1uV1xcXLn32alTJz3xxBOy2WyKiYlRy5YtFR8ff97H/Pjjj2rWrJnCwlx/c7Zs2dK5HoB3EHYAlOryyy939sbq37+/unbtqltvvVXbt29X9erV5XA4JEnjx49Xnz59St1H06ZNJUndunVTdna2PvroIy1ZskR///vf9eyzz2rOnDm68847K1zWsgYjLC4udvl/dna2evbsqRYtWugvf/mLGjRooMjISH366ad69tlnncdUXnXq1FGvXr08eiwA3yPsALig8PBwZWRk6KqrrtKLL76oSZMmqXHjxpJO33px50Jfq1Yt3XHHHbrjjjt05MgRdevWTdOmTSsz7DRq1EgOh0PZ2dkutTnbt28/Z9uaNWsqPz//nOVn1458/PHHOnHihBYtWqSGDRs6l69YseKC5fe2Ro0a6euvv5bD4XCp3fnvf//rXC+VHeQAuI82OwDc0qNHD11++eV67rnndPz4cSUkJKhHjx56+eWXlZube872Bw4ccP77l19+cVlXvXp1NW3aVCdOnCjz+fr27StJmjVrlsvy55577pxtmzRpIrvdrq+//tq5LDc395xRjMPDwyVJxhjnMrvdrtdee63McvjKb3/7W+Xl5WnBggXOZadOndILL7yg6tWrq3v37pKkmJgYSSo1zAFwDzU7ANw2YcIE/f73v9e8efN0zz336K9//au6du2q1q1b66677lLjxo21b98+ZWZm6qefftKWLVskSWlpaerRo4c6dOigWrVqaf369Xrvvfc0atSoMp/r0ksv1aBBg/TSSy/Jbrerc+fOWrZsmXbu3HnOtrfccosmTpyoG264QaNHj1ZhYaFmz56t5s2ba+PGjc7tevfurcjISF133XX6wx/+oCNHjmju3LlKSEgoNbD50t13362XX35Zw4YN04YNG5SSkqL33ntPq1ev1nPPPacaNWpIOt2gOi0tTQsWLFDz5s1Vq1YttWrVSq1atarU8gJBzd/dwQAElpKu51lZWeesKy4uNk2aNDFNmjQxp06dMsYYk52dbW6//XaTlJRkqlSpYurXr2+uvfZa89577zkf98QTT5jLL7/cxMfHm+joaNOiRQszY8YMU1RU5NymtG7ix44dM6NHjza1a9c21apVM9ddd53Zs2dPqV2xlyxZYlq1amUiIyPNxRdfbN54441S97lo0SLTpk0bU7VqVZOSkmKeeuop8+qrrxpJZteuXc7tytP1/ELd6sva3759+8wdd9xh6tSpYyIjI03r1q3Na6+9ds5j16xZYzp06GAiIyPphg54wGbMGfW5AAAAFkObHQAAYGmEHQAAYGmEHQAAYGmEHQAAYGmEHQAAYGmEHQAAYGkMKijJ4XBo7969qlGjBkOzAwAQJIwxOnz4sOrVq3fOpLpnIuxI2rt3rxo0aODvYgAAAA/s2bNHF110UZnrCTuSc1j2PXv2KDY21s+lAQAA7igoKFCDBg2c1/GyEHb0/7MKx8bGEnYAAAgyF2qCQgNlAABgaYQdAABgaYQdAABgabTZAQBYWnFxsU6ePOnvYsADVapUUXh4eIX3Q9gBAFiSMUZ5eXnKz8/3d1FQAfHx8UpKSqrQ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iBE6cuRIZR8OAAAIQH4NO0899ZRmz56tF198Ud99952eeuopPf3003rhhRec2zz99NOaNWuW5syZo7Vr16patWrq06ePjh8/7txm8ODB2rZtm5YuXarFixfrq6++0t133+2PQwIAAAHGZs6sRqlk1157rRITE/XKK684lw0YMEDR0dF64403ZIxRvXr19OCDD2r8+PGSJLvdrsTERM2bN0+33HKLvvvuO6WlpSkrK0sdO3aUJH3++ef67W9/q59++kn16tW7YDkKCgoUFxcnu92u2NhY3xwsAADwKnev336t2encubOWLVum77//XpK0ZcsWrVq1Sn379pUk7dq1S3l5eerVq5fzMXFxcerUqZMyMzMlSZmZmYqPj3cGHUnq1auXwsLCtHbt2lKf98SJEyooKHD5AwAA1hThzyefNGmSCgoK1KJFC4WHh6u4uFgzZszQ4MGDJUl5eXmSpMTERJfHJSYmOtfl5eUpISHBZX1ERIRq1arl3OZsGRkZmj59urcPBwAABCC/1uz885//1Jtvvqm33npLGzdu1Pz58/XnP/9Z8+fP9+nzTp48WXa73fm3Z88enz4fAADwH7/W7EyYMEGTJk3SLbfcIklq3bq1fvzxR2VkZGjo0KFKSkqSJO3bt0/JycnOx+3bt0+XXnqpJCkpKUn79+932e+pU6d06NAh5+PPFhUVpaioKB8cEQAACDR+rdkpLCxUWJhrEcLDw+VwOCRJqampSkpK0rJly5zrCwoKtHbtWqWnp0uS0tPTlZ+frw0bNji3Wb58uRwOhzp16lQJRwEAAAKZX2t2rrvuOs2YMUMNGzbUJZdcok2bNukvf/mLhg8fLkmy2WwaO3asnnjiCTVr1kypqamaMmWK6tWrp/79+0uSWrZsqWuuuUZ33XWX5syZo5MnT2rUqFG65ZZb3OqJBQAArM2vYeeFF17QlClTdN9992n//v2qV6+e/vCHP+jRRx91bvPQQw/p6NGjuvvuu5Wfn6+uXbvq888/V9WqVZ3bvPnmmxo1apR69uypsLAwDRgwQLNmzfLHIQEAgADj13F2AgXj7AAAEHyCYpwdAAAAXyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAAS/N72Pn555912223qXbt2oqOjlbr1q21fv1653pjjB599FElJycrOjpavXr10o4dO1z2cejQIQ0ePFixsbGKj4/XiBEjdOTIkco+FAAAEID8GnZ+/fVXdenSRVWqVNFnn32mb7/9Vs8884xq1qzp3Obpp5/WrFmzNGfOHK1du1bVqlVTnz59dPz4cec2gwcP1rZt27R06VItXrxYX331le6++25/HBIAAAgwNmOM8deTT5o0SatXr9a///3vUtcbY1SvXj09+OCDGj9+vCTJbrcrMTFR8+bN0y233KLvvvtOaWlpysrKUseOHSVJn3/+uX7729/qp59+Ur169S5YjoKCAsXFxclutys2NtZ7BwgAAHzG3eu3X2t2Fi1apI4dO+r3v/+9EhIS1K5dO82dO9e5fteuXcrLy1OvXr2cy+Li4tSpUydlZmZKkjIzMxUfH+8MOpLUq1cvhYWFae3ataU+74kTJ1RQUODyBwAArMmvYeeHH37Q7Nmz1axZM33xxRe69957NXr0aM2fP1+SlJeXJ0lKTEx0eVxiYqJzXV5enhISElzWR0REqFatWs5tzpaRkaG4uDjnX4MGDbx9aAAAIED4New4HA61b99eTz75pNq1a6e7775bd911l+bMmePT5508ebLsdrvzb8+ePT59PgAA4D9+DTvJyclKS0tzWdayZUvl5ORIkpKSkiRJ+/btc9lm3759znVJSUnav3+/y/pTp07p0KFDzm3OFhUVpdjYWJc/AABgTX4NO126dNH27dtdln3//fdq1KiRJCk1NVVJSUlatmyZc31BQYHWrl2r9PR0SVJ6erry8/O1YcMG5zbLly+X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xXmc8+bN0+7du2Wz2bR582bn/vPz82Wz2fTll1+6lPuzzz5Thw4dFBUVpVWrVsnhcCgjI0OpqamKjo5W27Zt9d5773n7JQJwBsIOgHJ7/vnnlZ6errvuuku5ubnKzc1VjRo1dPXVV6tdu3Zav369Pv/8c+3bt08333yzy2Pnz5+vOnXqaN26dbr//vt177336ve//706d+6sjRs3qnfv3hoyZIgKCwtdHjdhwgQ988wzysrKUt26dXXdddc5Q0l2drauueYaDRgwQF9//bUWLFigVatWadSoUS77+POf/6y2bdtq06ZNmjJliiSpRo0amjdvnr799ls9//zzmjt3rp599llJ0sCBA/Xggw/qkksucR7nwIEDy3WuJk2apJkzZ+q7775TmzZtlJGRoddff11z5szRtm3bNG7cON12221auXJlufYLoBy8Mp0ogJDTvXt3M2bMGOf/H3/8cdO7d2+Xbfbs2eMyU3j37t1N165dnetPnTplqlWrZoYMGeJclpubaySZzMxMY8z/z7b8zjvvOLf55ZdfTHR0tFmwYIExxpgRI0aYu+++2+W5//3vf5uwsDBz7NgxY4wxjRo1Mv3797/gcf3pT38yHTp0cP5/6tSppm3bti7b7Nq1y0gymzZtci779ddfjSSzYsUKl3J/+OGHzm2OHz9uYmJizJo1a1z2N2LECDNo0KALlg2AZyL8GbQAWMeWLVu0YsUKVa9e/Zx12dnZat68uSSpTZs2zuXh4eGqXbu2Wrdu7VyWmJgoSdq/f7/LPtLT053/rlWrli6++GJ99913zuf++uuv9eabbzq3McbI4XBo165datmypSSpY8eO55RtwYIFmjVrlrKzs3XkyBGdOnVKsbGx5T7+spz5nDt37lRhYaF+85vfuGxTVFSkdu3aee05Abgi7ADwiiNHjui6667TU089dc665ORk57+rVKniss5ms7kss9lskiSHw1Gu5/7DH/6g0aNHn7OuYcOGzn9Xq1bNZV1mZqYGDx6s6dOnq0+fPoqLi9M777yjZ5555rzPFxZ2ugWAMca5rOSW2tnOfM4jR45Ikj755BPVr1/fZbuoqKjzPicAzxF2AHgkMjJSxcXFzv+3b99e77//vlJSUhQR4f2vlv/85z/O4PLrr7/q+++/d9bYtG/fXt9++62aNm1arn2uWbNGjRo10iOPPOJc9uOPP7psc/ZxSlLdunUlSbm5uc4amTMbK5clLS1NUVFRysnJUffu3ctVVgCeo4EyAI+kpKRo7dq12r17tw4ePKiRI0fq0KFDGjRokLKyspSdna0vvvhCd9xxxzlhwROPPfaYli1bpq1bt2rYsGGqU6eO+vfvL+l0j6o1a9Zo1KhR2rx5s3bs2KGPPvronAbKZ2vWrJlycnL0zjvvKDs7W7NmzdIHH3xwznHu2rVLmzdv1sGDB3XixAlFR0friiuucDY8Xrlypf74xz9e8Bhq1Kih8ePHa9y4cZo/f76ys7O1ceNGvfDCC5o/f77H5wbA+RF2AHhk/PjxCg8PV1pamurWrauioiKtXr1axcXF6t27t1q3bq2xY8cqPj7eedunImbOnKkxY8aoQ4cOysvL08cff6zIyEhJp9sBrVy5Ut9//72uvPJKtWvXTo8++qjq1at33n1ef/31GjdunEaNGqVLL71Ua9ascfbSKjFgwABdc801uuqqq1S3bl29/fbbkqRXX31Vp06dUocOHTR27Fg98cQTbh3H448/rilTpigjI0MtW7bUNddco08++USpqakenBUA7rCZM286A0CA+fLLL3XVVVfp119/VXx8vL+LAyAIUbMDAAAsjbADAAAsjdtYAADA0qjZAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlvZ/5oPfigwJYygAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABJXElEQVR4nO3deXwU9eH/8fcmkJBAEo6cIJAAckO4NaAclYqUnxaxFfHgEGhVqCBqAa0CogZrVay1oFjFowpVEe+DchZBCkKQeKDEYKImQMRsgIQAyef3B99sWXKQbPacfT0fjzweMDO7+5nZ2Zn3fD6f+YzNGGMEAABgESG+LgAAAIA7EW4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4A+MT8+fNls9lqtazNZtP8+fM9Wp6hQ4dq6NChfvt+AGqPcAMEueXLl8tmszn+GjRooFatWmnixIn64YcffF08v5OcnOy0veLj43XxxRfrjTfecMv7FxcXa/78+dqwYYNb3g8IRoQbAJKk++67Ty+++KKWLl2qkSNH6qWXXtKQIUN0/Phxj3zen/70J5WUlHjkvT2tV69eevHFF/Xiiy/qjjvu0I8//qgxY8Zo6dKl9X7v4uJiLViwgHAD1EMDXxcAgH8YOXKk+vXrJ0maMmWKYmNj9dBDD+mtt97S1Vdf7fbPa9CggRo0CMxDUKtWrXT99dc7/j9+/Hh16NBBjz32mG666SYflgyARM0NgGpcfPHFkqSsrCyn6V999ZV+85vfqHnz5mrUqJH69eunt956y2mZkydPasGCBTr//PPVqFEjtWjRQhdddJHWrFnjWKaqPjelpaW67bbbFBcXp6ioKF1xxRX6/vvvK5Vt4sSJSk5OrjS9qvd87rnn9Itf/ELx8fEKDw9X165dtWTJkjpti3NJTExUly5dlJ2dXeNyBw8e1OTJk5WQkKBGjRopNTVVzz//vGP+/v37FRcXJ0lasGCBo+nL0/2NAKsJzMsmAB63f/9+SVKzZs0c0z7//HMNGjRIrVq10pw5c9S4cWP961//0ujRo/X666/ryiuvlHQ6ZKSnp2vKlCkaMGCAioqKtGPHDu3cuVO//OUvq/3MKVOm6KWXXtK1116rgQMHat26dRo1alS91mPJkiXq1q2brrjiCjVo0EBvv/22brnlFpWXl2vatGn1eu8KJ0+eVG5urlq0aFHtMiUlJRo6dKj27dun6dOnKyUlRa+++qomTpyowsJCzZgxQ3FxcVqyZIluvvlmXXnllRozZowkqWfPnm4pJxA0DICg9txzzxlJ5t///rc5dOiQyc3NNa+99pqJi4sz4eHhJjc317HsJZdcYnr06GGOHz/umFZeXm4GDhxozj//fMe01NRUM2rUqBo/d968eebMQ1BGRoaRZG655Ran5a699lojycybN88xbcKECaZt27bnfE9jjCkuLq603IgRI0y7du2cpg0ZMsQMGTKkxjIbY0zbtm3NpZdeag4dOmQOHTpkdu/eba655hojyfzhD3+o9v0WL15sJJmXXnrJMe3EiRMmLS3NNGnSxBQVFRljjDl06FCl9QVQNzRLAZAkDR8+XHFxcWrdurV+85vfqHHjxnrrrbd03nnnSZIOHz6sdevW6eqrr9aRI0dUUFCggoIC/fTTTxoxYoS++eYbx91VTZs21eeff65vvvmm1p//3nvvSZJuvfVWp+kzZ86s13pFREQ4/m2321VQUKAhQ4bo22+/ld1ud+k9P/roI8XFxSkuLk6pqal69dVXdcMNN+ihhx6q9jXvvfeeEhMTNW7cOMe0hg0b6tZbb9XRo0e1ceNGl8oCoDKapQBIkp588kl17NhRdrtdzz77rDZt2qTw8HDH/H379skYo3vuuUf33HNPle9x8OBBtWrVSvfdd59+/etfq2PHjurevbsuu+wy3XDDDTU2r3z33XcKCQlR+/btnaZ36tSpXuv18ccfa968edq6dauKi4ud5tntdsXExNT5PS+44ALdf//9stlsioyMVJcuXdS0adMaX/Pdd9/p/PPPV0iI8zVlly5dHPMBuAfhBoAkacCAAY67pUaPHq2LLrpI1157rfbu3asmTZqovLxcknTHHXdoxIgRVb5Hhw4dJEmDBw9WVlaW3nzzTX300Ud65pln9Nhjj2np0qWaMmVKvcta3eB/ZWVlTv/PysrSJZdcos6dO+vRRx9V69atFRYWpvfee0+PPfaYY53qKjY2VsOHD3fptQA8j3ADoJLQ0FClp6dr2LBh+tvf/qY5c+aoXbt2kk43pdTmxN68eXNNmjRJkyZN0tGjRzV48GDNnz+/2nDTtm1blZeXKysry6m2Zu/evZWWbdasmQoLCytNP7v24+2331ZpaaneeusttWnTxjF9/fr15yy/u7Vt21afffaZysvLnWpvvvrqK8d8qfrgBqD26HMDoEpDhw7VgAEDtHjxYh0/flzx8fEaOnSonnrqKeXl5VVa/tChQ45///TTT07zmjRpog4dOqi0tLTazxs5cqQk6a9//avT9MWLF1datn379rLb7frss88c0/Ly8iqNEhwaGipJMsY4ptntdj333HPVlsNTfvWrXyk/P18rV650TDt16pSeeOIJNWnSREOGDJEkRUZGSlKV4Q1A7VBzA6Bad955p377299q+fLluummm/Tkk0/qoosuUo8ePTR16lS1a9dOBw4c0NatW/X9999r9+7dkqSuXbtq6NCh6tu3r5o3b64dO3botdde0/Tp06v9rF69emncuHH6+9//LrvdroEDB2rt2rXat29fpWWvueYazZ49W1deeaVuvfVWFRcXa8mSJerYsaN27tzpWO7SSy9VWFiYLr/8cv3+97/X0aNHtWzZMsXHx1cZ0Dzpd7/7nZ566ilNnDhRn376qZKTk/Xaa6/p448/1uLFixUVFSXpdAforl27auXKlerYsaOaN2+u7t27q3v37l4tLxDQfH27FgDfqrgVfPv27ZXmlZWVmfbt25v27dubU6dOGWOMycrKMuPHjzeJiYmmYcOGplWrVub//b//Z1577TXH6+6//34zYMAA07RpUxMREWE6d+5sHnjgAXPixAnHMlXdtl1SUmJuvfVW06JFC9O4cWNz+eWXm9zc3Cpvjf7oo49M9+7dTVhYmOnUqZN56aWXqnzPt956y/Ts2dM0atTIJCcnm4ceesg8++yzRpLJzs52LFeXW8HPdZt7de934MABM2nSJBMbG2vCwsJMjx49zHPPPVfptVu2bDF9+/Y1YWFh3BYOuMBmzBn1tQAAAAGOPjcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSgm4Qv/Lycv3444+KiopimHMAAAKEMUZHjhxRy5YtKz2A9mxBF25+/PFHtW7d2tfFAAAALsjNzdV5551X4zJBF24qhjjPzc1VdHS0j0sDAABqo6ioSK1bt3acx2sSdOGmoikqOjqacAMAQICpTZcSOhQDAABLIdwAAABLIdwAAABLCbo+NwCA4FFWVqaTJ0/6uhiopbCwsHPe5l0bhBsAgOUYY5Sfn6/CwkJfFwV1EBISopSUFIWFhdXrfQg3AADLqQg28fHxioyMZNDWAFAxyG5eXp7atGlTr++McAMAsJSysjJHsGnRooWvi4M6iIuL048//qhTp06pYcOGLr8PHYoBAJZS0ccmMjLSxyVBXVU0R5WVldXrfQg3AABLoikq8LjrOyPcAAAASyHcAAAAr9iwYYNsNpvH72LzabhJT09X//79FRUVpfj4eI0ePVp79+6t8TXLly+XzWZz+mvUqJGXSlyzPHuJtmQVKM9e4uuiAACC0Pz589WrVy9fF8PnfHq31MaNGzVt2jT1799fp06d0l133aVLL71UX3zxhRo3blzt66Kjo51CkD+0q67cnqO5q/ao3EghNil9TA+N7d/G18UCAKCSkydP1utuJH/n05qbDz74QBMnTlS3bt2Umpqq5cuXKycnR59++mmNr7PZbEpMTHT8JSQkeKnEVcuzlziCjSSVG+muVZnU4AAA6qS8vFzp6elKSUlRRESEUlNT9dprr0n6X5PO2rVr1a9fP0VGRmrgwIGOi/3ly5drwYIF2r17t6NlY/ny5ZJOnzeXLFmiK664Qo0bN9YDDzxQYzkqPuvDDz9U7969FRERoV/84hc6ePCg3n//fXXp0kXR0dG69tprVVxc7HhdaWmpbr31VsXHx6tRo0a66KKLtH37ds9srBr4VZ8bu90uSWrevHmNyx09elRt27ZV69at9etf/1qff/55tcuWlpaqqKjI6c/dsguOOYJNhTJjtL+guOoXAAAChje7HKSnp+uFF17Q0qVL9fnnn+u2227T9ddfr40bNzqWufvuu/XII49ox44datCggW688UZJ0tixY3X77berW7duysvLU15ensaOHet43fz583XllVdqz549jtecy/z58/W3v/1NW7ZsUW5urq6++motXrxYL7/8st5991199NFHeuKJJxzL//GPf9Trr7+u559/Xjt37lSHDh00YsQIHT582E1bqHb8ZhC/8vJyzZw5U4MGDVL37t2rXa5Tp0569tln1bNnT9ntdv3lL3/RwIED9fnnn+u8886rtHx6eroWLFjgyaIrJbaxQmxyCjihNpuSYxljAQACmTe7HJSWlurBBx/Uv//9b6WlpUmS2rVrp82bN+upp57S7373O0nSAw88oCFDhkiS5syZo1GjRun48eOKiIhQkyZN1KBBAyUmJlZ6/2uvvVaTJk2q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WArhBgAAWArhBgAAWArhBgAAWEpQh5slS5aoZ8+ejoGG0tLS9P777zvmHz9+XNOmTVOLFi3UpEkTXXXVVTpw4IDTe+Tk5GjUqFGKjIxUfHy87rzzTp06dcrbq+I2ixYtks1m08yZMx3TgmE7zJ8/Xzabzemvc+fOjvnBsA0q/PDDD7r++uvVokULRUREqEePHtqxY4djvjFG9957r5KSkhQREaHhw4frm2++cXqPw4cP67rrrlN0dLSaNm2qyZMn6+jRo95eFZclJydX2h9sNpumTZsmKTj2h7KyMt1zzz1KSUlRRESE2rdvr4ULFzo91ycY9gXp9HD/M2fOVNu2bRUREaGBAwdq+/btjvlW3A6bNm3S5ZdfrpYtW8pms2n16tVO8921zp999pkuvvhiNWrUSK1bt9af//xn96yACWJvvfWWeffdd83XX39t9u7da+666y7TsGFDk5mZaYwx5qabbjKtW7c2a9euNTt27DAXXnihGThwoOP1p06dMt27dzfDhw83u3btMu+9956JjY01c+fO9dUq1ct///tfk5ycbHr27GlmzJjhmB4M22HevHmmW7duJi8vz/F36NAhx/xg2AbGGHP48GHTtm1bM3HiRLNt2zbz7bffmg8//NDs27fPscyiRYtMTEyMWb16tdm9e7e54oorTEpKiikpKXEsc9lll5nU1FTzySefmP/85z+mQ4cOZty4cb5YJZccPHjQaV9Ys2aNkWTWr19vjAmO/eGBBx4wLVq0MO+8847Jzs42r776qmnSpIl5/PHHHcsEw75gjDFXX3216dq1q9m4caP55ptvzLx580x0dLT5/vvvjTHW3A7vvfeeufvuu82qVauMJPPGG284zXfHOtvtdpOQkGCuu+46k5mZaV555RUTERFhnnrqqXqXP6jDTVWaNWtmnnnmGVNYWGgaNmxoXn31Vce8L7/80kgyW7duNcac/vJDQkJMfn6+Y5klS5aY6OhoU1pa6vWy18eRI0fM+eefb9asWWOGDBniCDfBsh3mzZtnUlNTq5wXLNvAGGNmz55tLrroomrnl5eXm8TERPPwww87phUWFprw8HDzyiuvGGOM+eKLL4wks337dscy77//vrHZbOaHH37wXOE9aMaMGaZ9+/amvLw8aPaHUaNGmRtvvNFp2pgxY8x1111njAmefaG4uNiEhoaad955x2l6nz59zN133x0U2+HscOOudf773/9umjVr5vSbmD17tunUqVO9yxzUzVJnKisr04oVK3Ts2DGlpaXp008/1cmTJzV8+HDHMp07d1abNm20detWSdLWrVvVo0cPJSQkOJYZMWKEioqK9Pnnn3t9Hepj2rRpGjVqlNP6Sgqq7fDNN9+oZcuWateuna677jrl5ORICq5t8NZbb6lfv3767W9/q/j4ePXu3VvLli1zzM/OzlZ+fr7TtoiJidEFF1zgtC2aNm2qfv36OZYZPny4QkJCtG3bNu+tjJucOHFCL730km688UbZbLag2R8GDhyotWvX6uuvv5Yk7d69W5s3b9bIkSMlBc++cOrUKZWVlalRo0ZO0yMiIrR58+ag2Q5nctc6b926VYMHD1ZYWJhjmREjRmjv3r36+eef61XGoHtw5tn27NmjtLQ0HT9+XE2aNNEbb7yhrl27KiMjQ2FhYWratKnT8gkJCcrPz5ck5efnOx28KuZXzAsUK1as0M6dO53akCvk5+cHxXa44IILtHz5cnXq1El5eXlasGCBLr74YmVmZgbNNpCkb7/9VkuWLNGsWbN01113afv27br11lsVFhamCRMmONalqnU9c1vEx8c7zW/QoIGaN28eUNuiwurVq1VYWKiJEydKCp7fxJw5c1RUVKTOnTsrNDRUZWVleuCBB3TddddJUtDsC1FRUUpLS9PChQvVpUsXJSQk6JVXXtHWrVvVoUOHoNkOZ3LXOufn5yslJaXSe1TMa9asmctlDPpw06lTJ2VkZMhut+u1117ThAkTtHHjRl8Xy2tyc3M1Y8YMrVmzptKVSTCpuBqVpJ49e+qCCy5Q27Zt9a9//UsRERE+LJl3lZeXq1+/fnrwwQclSb1791ZmZqaWLl2qCRMm+Lh0vvGPf/xDI0eOVMuWLX1dFK/617/+pX/+8596+eWX1a1bN2VkZGjmzJlq2bJl0O0LL774om688Ua1atVKoaGh6tOnj8aNG6dPP/3U10VDNYK+WSosLEwdOnRQ3759lZ6ertTUVD3++ONKTEzUiRMnVFhY6LT8gQMHlJiYKElKTEysdIdExf8rlvF3n376qQ4ePKg+ffqoQYMGatCggTZu3Ki//vWvatCggRISEoJiO5ytadOm6tixo/bt2xc0+4IkJSUlqWvXrk7TunTp4miiq1iXqtb1zG1x8OBBp/mnTp3S4cOHA2pbSNJ3332nf//735oyZYpjWrDsD3feeafmzJmja665Rj169NANN9yg2267Tenp6ZKCa19o3769Nm7cqKNHjyo3N1f//e9/dfLkSbVr1y6otkMFd62zJ38nQR9uzlZeXq7S0lL17dtXDRs21Nq1ax3z9u7dq5ycHKWlpUmS0tLStGfPHqcvcM2aNYqOjq50gvBXl1xyifbs2aOMjAzHX79+/XTdddc5/h0M2+FsR48eVVZWlpKSkoJmX5CkQYMGae/evU7Tvv76a7Vt21aSlJKSosTERKdtUVRUpG3btjlti8LCQqer2nXr1qm8vFwXXHCBF9bCfZ577jnFx8dr1KhRjmnBsj8UFxcrJMT5FBEaGqry8nJJwbcvSFLjxo2VlJSkn3/+WR9++KF+/etfB+V2cNc6p6WladOmTTp58qRjmTVr1qhTp071apKSFNy3gs+ZM8ds3LjRZGdnm88++8zMmTPH2Gw289FHHxljTt/u2aZNG7Nu3TqzY8cOk5aWZtLS0hyvr7jd89JLLzUZGRnmgw8+MHFxcQF1u2dVzrxbypjg2A6333672bBhg8nOzjYff/yxGT58uImNjTUHDx40xgTHNjDm9HAADRo0MA888ID55ptvzD//+U8TGRlpXnrpJccyixYtMk2bNjVvvvmm+eyzz8yvf/3rKm8B7d27t9m2bZvZvHmzOf/88/36tteqlJWVmTZt2pjZs2dXmhcM+8OECRNMq1atHLeCr1q1ysTGxpo//vGPjmWCZV/44IMPzPvvv2++/fZb89FHH5nU1FRzwQUXmBMnThhjrLkdjhw5Ynbt2mV27dplJJlHH33U7Nq1y3z33XfGGPesc2FhoUlISDA33HCDyczMNCtWrDCRkZHcCl5fN954o2nbtq0JCwszcXFx5pJLLnEEG2OMKSkpMbfccotp1qyZiYyMNFdeeaXJy8tzeo/9+/ebkSNHmoiICBMbG2tuv/12c/LkSW+viludHW6CYTuMHTvWJCUlmbCwMNOqVSszduxYp7FdgmEbVHj77bdN9+7dTXh4uOncubN5+umnneaXl5ebe+65xyQkJJjw8HBzySWXmL179zot89NPP5lx48aZJk2amOjoaDNp0iRz5MgRb65GvX344YdGUqV1MyY49oeioiIzY8YM06ZNG9OoUSPTrl07c/fddzvdthss+8LK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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.6" } - ], - "source": [ - "# visualize with IDAES surrogate plotting tools\n", - "surrogate_scatter2D(poly_surr, data_validation, filename=\"pysmo_poly_val_scatter2D.pdf\")\n", - "surrogate_parity(poly_surr, data_validation, filename=\"pysmo_poly_val_parity.pdf\")\n", - "surrogate_residual(poly_surr, data_validation, filename=\"pysmo_poly_val_residual.pdf\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, the surrogate is trained and validated, we shall embed it in the property package, which is demonstrated in the [surrogate_embedding](./surrogate_embedding_usr.ipynb) file." - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.6" }, - "orig_nbformat": 4 - }, - "nbformat": 4, - "nbformat_minor": 3 -} + "nbformat": 4, + "nbformat_minor": 3 +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/surrogate_embedding.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/surrogate_embedding.ipynb index 18c47c59..2033a576 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/surrogate_embedding.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/surrogate_embedding.ipynb @@ -1,5 +1,32 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "1de8c820", + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "code", "execution_count": null, @@ -488,8 +515,7 @@ "metadata": { "language_info": { "name": "python" - }, - "orig_nbformat": 4 + } }, "nbformat": 4, "nbformat_minor": 2 diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/surrogate_embedding_doc.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/surrogate_embedding_doc.ipynb index aac02d9c..9ac3f739 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/surrogate_embedding_doc.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/surrogate_embedding_doc.ipynb @@ -1,5 +1,31 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "code", "execution_count": null, @@ -481,16 +507,15 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Now we have our property package ready for being used in the flowsheet for optimization. We shall see that in the next part of this tutorial, [flowsheet_optimization](./flowsheet_optimization_doc.ipynb). To learn in detail about making a custom property package, one should go through [Property Package Example](../../../properties/custom/custom_physical_property_packages_doc.ipynb). " + "Now we have our property package ready for being used in the flowsheet for optimization. We shall see that in the next part of this tutorial, [flowsheet_optimization](./flowsheet_optimization_doc.md). To learn in detail about making a custom property package, one should go through [Property Package Example](../../../properties/custom/custom_physical_property_packages_doc.md). " ] } ], "metadata": { "language_info": { "name": "python" - }, - "orig_nbformat": 4 + } }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/surrogate_embedding_test.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/surrogate_embedding_test.ipynb index e2b362b7..a3ee9ef5 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/surrogate_embedding_test.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/surrogate_embedding_test.ipynb @@ -1,498 +1,521 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "##############################################################################\n", - "# Institute for the Design of Advanced Energy Systems Process Systems\n", - "# Engineering Framework (IDAES PSE Framework) Copyright (c) 2018-2019, by the\n", - "# software owners: The Regents of the University of California, through\n", - "# Lawrence Berkeley National Laboratory, National Technology & Engineering\n", - "# Solutions of Sandia, LLC, Carnegie Mellon University, West Virginia\n", - "# University Research Corporation, et al. All rights reserved.\n", - "#\n", - "# Please see the files COPYRIGHT.txt and LICENSE.txt for full copyright and\n", - "# license information, respectively. Both files are also available online\n", - "# at the URL \"https://github.com/IDAES/idaes-pse\".\n", - "##############################################################################" - ] + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "##############################################################################\n", + "# Institute for the Design of Advanced Energy Systems Process Systems\n", + "# Engineering Framework (IDAES PSE Framework) Copyright (c) 2018-2019, by the\n", + "# software owners: The Regents of the University of California, through\n", + "# Lawrence Berkeley National Laboratory, National Technology & Engineering\n", + "# Solutions of Sandia, LLC, Carnegie Mellon University, West Virginia\n", + "# University Research Corporation, et al. All rights reserved.\n", + "#\n", + "# Please see the files COPYRIGHT.txt and LICENSE.txt for full copyright and\n", + "# license information, respectively. Both files are also available online\n", + "# at the URL \"https://github.com/IDAES/idaes-pse\".\n", + "##############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Supercritical CO2 Property Surrogate with PySMO Surrogate Object - Embedding Surrogate (Part 2)\n", + "Maintainer: Javal Vyas\n", + "\n", + "Author: Javal Vyas\n", + "\n", + "Updated: 2024-01-24\n", + "## 1. Integration of Surrogate into Custom Property Package\n", + "\n", + "Here we shall see how to integrate the trained surrogate in the custom property package. One can read more about making a properties package from read the docs. To integrate the surrogate we first define the physical parameter block which will return the properties based on the state variables. State variables would be called from the State Block as Pyomo variables. We will define the surrogate input and output as pyomo variables as well. Once we have defined the variables in the state block then we define our surrogate block.\n", + "\n", + "*NOTE:* For ease of explanation the property package is written in \".ipynb\" format, ideally it should be in a python script. Each class of this package is separated in different cell for the same reason, in practice all the classes in this notebook should be part of the same python script. This folder includes \"properties.py\" file which is how embedding file should look like. \n", + "\n", + "### 1.1 Steps in Creating a Property Package\n", + "Creating a new property package can be broken down into the following steps, which will be demonstrated in the next part of this tutorial.\n", + "\n", + "1. Defining the **units of measurement** for the property package.\n", + "2. Defining the **properties supported** by the property package and the associated metadata.\n", + "3. Defining the **phases and components** of interest.\n", + "4. Defining the necessary **parameters** required to calculate the properties of interest.\n", + "5. Declaring the **state variables** to be used for the property package.\n", + "6. Creating **variables and constraints** to describe the properties of interest.\n", + "7. Creating an **initialization routine** for the property package.\n", + "8. Defining **interface methods** used to couple the property package with unit models." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2. Importing libraries for making Property Package\n", + "\n", + "To begin with, we are going to need a number of components from the Pyomo modeling environment to construct the variables, constraints and parameters that will make up the property package, and we will also make use of the Pyomo units of measurement tools to define the units of our properties. We will also make use of a number of components and supporting methods from the IDAES modeling framework and libraries. We shall also use the Surrogate API in the IDAES framework to embed the trained surrogate in the property package." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Import Python libraries\n", + "import logging\n", + "\n", + "# Import Pyomo libraries\n", + "from pyomo.environ import (\n", + " Constraint,\n", + " Param,\n", + " Reals,\n", + " Set,\n", + " value,\n", + " Var,\n", + " NonNegativeReals,\n", + " units,\n", + ")\n", + "from pyomo.opt import SolverFactory, TerminationCondition\n", + "\n", + "# Import IDAES cores\n", + "from idaes.core import (\n", + " declare_process_block_class,\n", + " PhysicalParameterBlock,\n", + " StateBlockData,\n", + " StateBlock,\n", + " MaterialBalanceType,\n", + " EnergyBalanceType,\n", + " LiquidPhase,\n", + " Component,\n", + ")\n", + "from idaes.core.util.initialization import solve_indexed_blocks\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.core.util.misc import extract_data\n", + "from idaes.core.solvers import get_solver\n", + "from pyomo.util.check_units import assert_units_consistent\n", + "from idaes.core.surrogate.surrogate_block import SurrogateBlock\n", + "from idaes.core.surrogate.pysmo_surrogate import PysmoSurrogate\n", + "\n", + "from pyomo.util.model_size import build_model_size_report\n", + "\n", + "# Some more information about this module\n", + "__author__ = \"Javal Vyas\"\n", + "\n", + "\n", + "# Set up logger\n", + "_log = logging.getLogger(__name__)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 3 Defining Classes\n", + "\n", + "We shall be going through each class of the property package in detail. Since there are not reactions occurring in the flowsheet we shall only write the Physical Parameter Block.\n", + "\n", + "## 3.1 Physical Parameter Block\n", + "\n", + "The Physical Parameter Block serves as the central point of reference for all aspects of the property package, and needs to define a number of things about the package. These are summarized below:\n", + "\n", + "* Units of measurement\n", + "* What properties are supported and how they are implemented\n", + "* What components and phases are included in the packages\n", + "* All the global parameters necessary for calculating properties\n", + "* A reference to the associated State Block class, so that construction of the State Block components can be automated from the Physical Parameter Block\n", + "\n", + "To assemble the above mentioned things in a class we need to follow the following steps:\n", + "\n", + "* Declaring the new class and inheriting from the PhysicalParameterBlock base class\n", + "* Declaring any necessary configuration arguments\n", + "* Writing the build method for our class\n", + "* Creating a define_metadata method for the class.\n", + "\n", + "The code below follows the above mentioned steps. \n", + "\n", + "*NOTE*: The SCO2StateBlock will be discussed in the next section." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "@declare_process_block_class(\"SCO2ParameterBlock\")\n", + "class PhysicalParameterData(PhysicalParameterBlock):\n", + " \"\"\"\n", + " Property Parameter Block Class\n", + "\n", + " Contains parameters and indexing sets associated with properties for\n", + " supercritical CO2.\n", + "\n", + " \"\"\"\n", + "\n", + " def build(self):\n", + " \"\"\"\n", + " Callable method for Block construction.\n", + " \"\"\"\n", + " super(PhysicalParameterData, self).build()\n", + "\n", + " self._state_block_class = SCO2StateBlock\n", + "\n", + " # List of valid phases in property package\n", + " self.Liq = LiquidPhase()\n", + "\n", + " # Component list - a list of component identifiers\n", + " self.CO2 = Component()\n", + "\n", + " @classmethod\n", + " def define_metadata(cls, obj):\n", + " obj.add_properties(\n", + " {\n", + " \"flow_mol\": {\"method\": None, \"units\": \"kmol/s\"},\n", + " \"pressure\": {\"method\": None, \"units\": \"MPa\"},\n", + " \"temperature\": {\"method\": None, \"units\": \"K\"},\n", + " \"enth_mol\": {\"method\": None, \"units\": \"kJ/kmol\"},\n", + " \"entr_mol\": {\"method\": None, \"units\": \"kJ/kmol/K\"},\n", + " }\n", + " )\n", + "\n", + " obj.add_default_units(\n", + " {\n", + " \"time\": units.s,\n", + " \"length\": units.m,\n", + " \"mass\": units.kg,\n", + " \"amount\": units.mol,\n", + " \"temperature\": units.K,\n", + " }\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.2 State Block\n", + "\n", + "After the Physical Parameter Block class has been created, the next step is to write the code necessary to create the State Blocks that will be used through out the flowsheet.\n", + "\n", + "For this example, we will begin by describing the content of the StateBlockData objects, as this is where we create the variables and constraints that describe how to calculate the thermophysical properties of the material. \n", + "\n", + "We start by defining the 5 state variables: flow_mol, pressure, temperature, enth_mol and entr_mol as the Pyomo Var, each of this variable has a unit for unit consistency. This is done in _make_state_vars function. We get the enth_mol and entr_mol variables from trained surrogate which we define in this function as well. To get the output variables from the surrogate:\n", + "\n", + "1. Define the input and output variables to the trained surrogate\n", + "2. Load the surrogate from the folder it is saved in, here it is saved in the folder called pysmo_surrogate (look at the pysmo_training_test.ipynb file) using the PySMO Surrogate API of IDAES package\n", + "3. Define a `SurrogateBlock` and call the build_model method on the block with the input variables, output variables, model formulation and the loaded surrogate as the arguments. \n", + "4. Define the constraints necessary for ensuring physical feasibility of the system like the mass balance and energy balance. Check for the state variables to be within the bounds. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "@declare_process_block_class(\"SCO2StateBlock\", block_class=StateBlock)\n", + "class SCO2StateBlockData(StateBlockData):\n", + " \"\"\"\n", + " An example property package for ideal gas properties with Gibbs energy\n", + " \"\"\"\n", + "\n", + " def build(self):\n", + " \"\"\"\n", + " Callable method for Block construction\n", + " \"\"\"\n", + " super(SCO2StateBlockData, self).build()\n", + " self._make_state_vars()\n", + "\n", + " def _make_state_vars(self):\n", + "\n", + " self.flow_mol = Var(\n", + " domain=NonNegativeReals,\n", + " initialize=1.0,\n", + " units=units.kmol / units.s,\n", + " doc=\"Total molar flowrate [kmol/s]\",\n", + " )\n", + " self.pressure = Var(\n", + " domain=NonNegativeReals,\n", + " initialize=8,\n", + " bounds=(7.38, 40),\n", + " units=units.MPa,\n", + " doc=\"State pressure [MPa]\",\n", + " )\n", + "\n", + " self.temperature = Var(\n", + " domain=NonNegativeReals,\n", + " initialize=350,\n", + " bounds=(304.2, 760 + 273.15),\n", + " units=units.K,\n", + " doc=\"State temperature [K]\",\n", + " )\n", + "\n", + " self.entr_mol = Var(\n", + " domain=Reals,\n", + " initialize=10,\n", + " units=units.kJ / units.kmol / units.K,\n", + " doc=\"Entropy [kJ/ kmol / K]\",\n", + " )\n", + "\n", + " self.enth_mol = Var(\n", + " domain=Reals,\n", + " initialize=1,\n", + " units=units.kJ / units.kmol,\n", + " doc=\"Enthalpy [kJ/ kmol]\",\n", + " )\n", + "\n", + " inputs = [self.pressure, self.temperature]\n", + " outputs = [self.enth_mol, self.entr_mol]\n", + " self.pysmo_surrogate = PysmoSurrogate.load_from_file(\n", + " \"pysmo_poly_surrogate.json\"\n", + " )\n", + " self.surrogate_enth = SurrogateBlock()\n", + " self.surrogate_enth.build_model(\n", + " self.pysmo_surrogate,\n", + " input_vars=inputs,\n", + " output_vars=outputs,\n", + " )\n", + "\n", + " def get_material_flow_terms(self, p, j):\n", + " return self.flow_mol\n", + "\n", + " def get_enthalpy_flow_terms(self, p):\n", + " return self.flow_mol * self.enth_mol\n", + "\n", + " def default_material_balance_type(self):\n", + " return MaterialBalanceType.componentTotal\n", + "\n", + " def default_energy_balance_type(self):\n", + " return EnergyBalanceType.enthalpyTotal\n", + "\n", + " def define_state_vars(self):\n", + " return {\n", + " \"flow_mol\": self.flow_mol,\n", + " \"temperature\": self.temperature,\n", + " \"pressure\": self.pressure,\n", + " }\n", + "\n", + " def model_check(blk):\n", + " \"\"\"\n", + " Model checks for property block\n", + " \"\"\"\n", + " # Check temperature bounds\n", + " if value(blk.temperature) < blk.temperature.lb:\n", + " _log.error(\"{} Temperature set below lower bound.\".format(blk.name))\n", + " if value(blk.temperature) > blk.temperature.ub:\n", + " _log.error(\"{} Temperature set above upper bound.\".format(blk.name))\n", + "\n", + " # Check pressure bounds\n", + " if value(blk.pressure) < blk.pressure.lb:\n", + " _log.error(\"{} Pressure set below lower bound.\".format(blk.name))\n", + " if value(blk.pressure) > blk.pressure.ub:\n", + " _log.error(\"{} Pressure set above upper bound.\".format(blk.name))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.3 Define Initialization Routine\n", + "\n", + "After defining the variables and constraints required to describe the properties of interest for S-CO2, we need to provide them with a good initial guess. It is often the case that the default values provided to the variables while creating the model are not likely the actual conditions the user would simulate. Given the highly non-linear nature of the physical property calculations, it is more often than not impossible to solve a State Block without providing a set of good initial values for all the variables we have declared.\n", + "\n", + "Any initialization routine can be written by following a 3 step process:\n", + "1. `Fix the state` of the model such that there are no degrees of freedom. For State Blocks, it should only be necessary to fix the state variables to a set of initial guesses provided by the user or unit model, as well as deactivating any constraints like the sum of mole fractions.\n", + "\n", + "2. `Iteratively build up a solution` for the full model. This often involves multiple steps and can involve deactivating constraints and fixing some variables to reduce complexity, as well as analytically calculating values for variables based on the known state (and any previously calculated variables). Solvers can be called as part of any step to efficiently initialize large numbers of variables simultaneously.\n", + "\n", + "3. `Return the state of the model` to where it originally started (with the exception of variable values). Any variable that was fixed or constraint that was deactivated during initialization should be unfixed or reactivated, so that the degrees of freedom are restored to what they were before the initialization began.\n", + "\n", + "\n", + "Thus, we start with fixing the state variables. Here since enth_mol and entr_mol are a function of pressure and temperature, we do not fix them as fixing pressure and temperature would define them. So, we check if a state variable if fixed or not, if it is fixed then we do not change them, if they are not fixed then we check for an initial guess from the `state_args`, if we get a value then we fix the variable with state_args, else we fix it with the value provided by the user. This should bring the degrees of freedom to 0. Here since we do not have any variable/constrained that we have unfixed/deactivated we can skip step 2 and move to step 3. We unfix the variables that were fixed in step 1 using the `release_state` function. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "class _StateBlock(StateBlock):\n", + " \"\"\"\n", + " This Class contains methods which should be applied to Property Blocks as a\n", + " whole, rather than individual elements of indexed Property Blocks.\n", + " \"\"\"\n", + "\n", + " def initialize(\n", + " blk,\n", + " state_args=None,\n", + " hold_state=False,\n", + " outlvl=1,\n", + " state_vars_fixed=False,\n", + " solver=\"ipopt\",\n", + " optarg={\"tol\": 1e-8},\n", + " ):\n", + " \"\"\"\n", + " Initialisation routine for property package.\n", + "\n", + " Keyword Arguments:\n", + " flow_mol : value at which to initialize component flows\n", + " (default=None)\n", + " pressure : value at which to initialize pressure (default=None)\n", + " temperature : value at which to initialize temperature\n", + " (default=None)\n", + " outlvl : sets output level of initialisation routine\n", + "\n", + " * 0 = no output (default)\n", + " * 1 = return solver state for each step in routine\n", + " * 2 = include solver output information (tee=True)\n", + " state_vars_fixed: Flag to denote if state vars have already been\n", + " fixed.\n", + " - True - states have already been fixed by the\n", + " control volume 1D. Control volume 0D\n", + " does not fix the state vars, so will\n", + " be False if this state block is used\n", + " with 0D blocks.\n", + " - False - states have not been fixed. The state\n", + " block will deal with fixing/unfixing.\n", + " optarg : solver options dictionary object (default=None)\n", + " solver : str indicating which solver to use during\n", + " initialization (default = 'ipopt')\n", + " hold_state : flag indicating whether the initialization routine\n", + " should unfix any state variables fixed during\n", + " initialization (default=False).\n", + " - True - states variables are not unfixed, and\n", + " a dict of returned containing flags for\n", + " which states were fixed during\n", + " initialization.\n", + " - False - state variables are unfixed after\n", + " initialization by calling the\n", + " release_state method\n", + "\n", + " Returns:\n", + " If hold_states is True, returns a dict containing flags for\n", + " which states were fixed during initialization.\n", + " \"\"\"\n", + " if state_vars_fixed is False:\n", + " # Fix state variables if not already fixed\n", + " Fcflag = {}\n", + " Pflag = {}\n", + " Tflag = {}\n", + "\n", + " for k in blk.keys():\n", + " if blk[k].flow_mol.fixed is True:\n", + " Fcflag[k] = True\n", + " else:\n", + " Fcflag[k] = False\n", + " if state_args is None:\n", + " blk[k].flow_mol.fix()\n", + " else:\n", + " blk[k].flow_mol.fix(state_args[\"flow_mol\"])\n", + "\n", + " if blk[k].pressure.fixed is True:\n", + " Pflag[k] = True\n", + " else:\n", + " Pflag[k] = False\n", + " if state_args is None:\n", + " blk[k].pressure.fix()\n", + " else:\n", + " blk[k].pressure.fix(state_args[\"pressure\"])\n", + "\n", + " if blk[k].temperature.fixed is True:\n", + " Tflag[k] = True\n", + " else:\n", + " Tflag[k] = False\n", + " if state_args is None:\n", + " blk[k].temperature.fix()\n", + " else:\n", + " blk[k].temperature.fix(state_args[\"temperature\"])\n", + "\n", + " # If input block, return flags, else release state\n", + " flags = {\"Fcflag\": Fcflag, \"Pflag\": Pflag, \"Tflag\": Tflag}\n", + "\n", + " else:\n", + " # Check when the state vars are fixed already result in dof 0\n", + " for k in blk.keys():\n", + " if degrees_of_freedom(blk[k]) != 0:\n", + " raise Exception(\n", + " \"State vars fixed but degrees of freedom \"\n", + " \"for state block is not zero during \"\n", + " \"initialization.\"\n", + " )\n", + "\n", + " if state_vars_fixed is False:\n", + " if hold_state is True:\n", + " return flags\n", + " else:\n", + " blk.release_state(flags)\n", + "\n", + " def release_state(blk, flags, outlvl=0):\n", + " \"\"\"\n", + " Method to release state variables fixed during initialisation.\n", + "\n", + " Keyword Arguments:\n", + " flags : dict containing information of which state variables\n", + " were fixed during initialization, and should now be\n", + " unfixed. This dict is returned by initialize if\n", + " hold_state=True.\n", + " outlvl : sets output level of of logging\n", + " \"\"\"\n", + " if flags is None:\n", + " return\n", + "\n", + " # Unfix state variables\n", + " for k in blk.keys():\n", + " if flags[\"Fcflag\"][k] is False:\n", + " blk[k].flow_mol.unfix()\n", + " if flags[\"Pflag\"][k] is False:\n", + " blk[k].pressure.unfix()\n", + " if flags[\"Tflag\"][k] is False:\n", + " blk[k].temperature.unfix()\n", + "\n", + " if outlvl > 0:\n", + " if outlvl > 0:\n", + " _log.info(\"{} State Released.\".format(blk.name))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we have our property package ready for being used in the flowsheet for optimization. We shall see that in the next part of this tutorial, [flowsheet_optimization](./flowsheet_optimization_test.ipynb). To learn in detail about making a custom property package, one should go through [Property Package Example](../../../properties/custom/custom_physical_property_packages_test.ipynb). " + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Supercritical CO2 Property Surrogate with PySMO Surrogate Object - Embedding Surrogate (Part 2)\n", - "Maintainer: Javal Vyas\n", - "\n", - "Author: Javal Vyas\n", - "\n", - "Updated: 2024-01-24\n", - "## 1. Integration of Surrogate into Custom Property Package\n", - "\n", - "Here we shall see how to integrate the trained surrogate in the custom property package. One can read more about making a properties package from read the docs. To integrate the surrogate we first define the physical parameter block which will return the properties based on the state variables. State variables would be called from the State Block as Pyomo variables. We will define the surrogate input and output as pyomo variables as well. Once we have defined the variables in the state block then we define our surrogate block.\n", - "\n", - "*NOTE:* For ease of explanation the property package is written in \".ipynb\" format, ideally it should be in a python script. Each class of this package is separated in different cell for the same reason, in practice all the classes in this notebook should be part of the same python script. This folder includes \"properties.py\" file which is how embedding file should look like. \n", - "\n", - "### 1.1 Steps in Creating a Property Package\n", - "Creating a new property package can be broken down into the following steps, which will be demonstrated in the next part of this tutorial.\n", - "\n", - "1. Defining the **units of measurement** for the property package.\n", - "2. Defining the **properties supported** by the property package and the associated metadata.\n", - "3. Defining the **phases and components** of interest.\n", - "4. Defining the necessary **parameters** required to calculate the properties of interest.\n", - "5. Declaring the **state variables** to be used for the property package.\n", - "6. Creating **variables and constraints** to describe the properties of interest.\n", - "7. Creating an **initialization routine** for the property package.\n", - "8. Defining **interface methods** used to couple the property package with unit models." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 2. Importing libraries for making Property Package\n", - "\n", - "To begin with, we are going to need a number of components from the Pyomo modeling environment to construct the variables, constraints and parameters that will make up the property package, and we will also make use of the Pyomo units of measurement tools to define the units of our properties. We will also make use of a number of components and supporting methods from the IDAES modeling framework and libraries. We shall also use the Surrogate API in the IDAES framework to embed the trained surrogate in the property package." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Import Python libraries\n", - "import logging\n", - "\n", - "# Import Pyomo libraries\n", - "from pyomo.environ import (\n", - " Constraint,\n", - " Param,\n", - " Reals,\n", - " Set,\n", - " value,\n", - " Var,\n", - " NonNegativeReals,\n", - " units,\n", - ")\n", - "from pyomo.opt import SolverFactory, TerminationCondition\n", - "\n", - "# Import IDAES cores\n", - "from idaes.core import (\n", - " declare_process_block_class,\n", - " PhysicalParameterBlock,\n", - " StateBlockData,\n", - " StateBlock,\n", - " MaterialBalanceType,\n", - " EnergyBalanceType,\n", - " LiquidPhase,\n", - " Component,\n", - ")\n", - "from idaes.core.util.initialization import solve_indexed_blocks\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.util.misc import extract_data\n", - "from idaes.core.solvers import get_solver\n", - "from pyomo.util.check_units import assert_units_consistent\n", - "from idaes.core.surrogate.surrogate_block import SurrogateBlock\n", - "from idaes.core.surrogate.pysmo_surrogate import PysmoSurrogate\n", - "\n", - "import os\n", - "\n", - "from pyomo.util.model_size import build_model_size_report\n", - "\n", - "# Some more information about this module\n", - "__author__ = \"Javal Vyas\"\n", - "\n", - "\n", - "# Set up logger\n", - "_log = logging.getLogger(__name__)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 3 Defining Classes\n", - "\n", - "We shall be going through each class of the property package in detail. Since there are not reactions occurring in the flowsheet we shall only write the Physical Parameter Block.\n", - "\n", - "## 3.1 Physical Parameter Block\n", - "\n", - "The Physical Parameter Block serves as the central point of reference for all aspects of the property package, and needs to define a number of things about the package. These are summarized below:\n", - "\n", - "* Units of measurement\n", - "* What properties are supported and how they are implemented\n", - "* What components and phases are included in the packages\n", - "* All the global parameters necessary for calculating properties\n", - "* A reference to the associated State Block class, so that construction of the State Block components can be automated from the Physical Parameter Block\n", - "\n", - "To assemble the above mentioned things in a class we need to follow the following steps:\n", - "\n", - "* Declaring the new class and inheriting from the PhysicalParameterBlock base class\n", - "* Declaring any necessary configuration arguments\n", - "* Writing the build method for our class\n", - "* Creating a define_metadata method for the class.\n", - "\n", - "The code below follows the above mentioned steps. \n", - "\n", - "*NOTE*: The SCO2StateBlock will be discussed in the next section." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "@declare_process_block_class(\"SCO2ParameterBlock\")\n", - "class PhysicalParameterData(PhysicalParameterBlock):\n", - " \"\"\"\n", - " Property Parameter Block Class\n", - "\n", - " Contains parameters and indexing sets associated with properties for\n", - " supercritical CO2.\n", - "\n", - " \"\"\"\n", - "\n", - " def build(self):\n", - " \"\"\"\n", - " Callable method for Block construction.\n", - " \"\"\"\n", - " super(PhysicalParameterData, self).build()\n", - "\n", - " self._state_block_class = SCO2StateBlock\n", - "\n", - " # List of valid phases in property package\n", - " self.Liq = LiquidPhase()\n", - "\n", - " # Component list - a list of component identifiers\n", - " self.CO2 = Component()\n", - "\n", - " @classmethod\n", - " def define_metadata(cls, obj):\n", - " obj.add_properties(\n", - " {\n", - " \"flow_mol\": {\"method\": None, \"units\": \"kmol/s\"},\n", - " \"pressure\": {\"method\": None, \"units\": \"MPa\"},\n", - " \"temperature\": {\"method\": None, \"units\": \"K\"},\n", - " \"enth_mol\": {\"method\": None, \"units\": \"kJ/kmol\"},\n", - " \"entr_mol\": {\"method\": None, \"units\": \"kJ/kmol/K\"},\n", - " }\n", - " )\n", - "\n", - " obj.add_default_units(\n", - " {\n", - " \"time\": units.s,\n", - " \"length\": units.m,\n", - " \"mass\": units.kg,\n", - " \"amount\": units.mol,\n", - " \"temperature\": units.K,\n", - " }\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.2 State Block\n", - "\n", - "After the Physical Parameter Block class has been created, the next step is to write the code necessary to create the State Blocks that will be used through out the flowsheet.\n", - "\n", - "For this example, we will begin by describing the content of the StateBlockData objects, as this is where we create the variables and constraints that describe how to calculate the thermophysical properties of the material. \n", - "\n", - "We start by defining the 5 state variables: flow_mol, pressure, temperature, enth_mol and entr_mol as the Pyomo Var, each of this variable has a unit for unit consistency. This is done in _make_state_vars function. We get the enth_mol and entr_mol variables from trained surrogate which we define in this function as well. To get the output variables from the surrogate:\n", - "\n", - "1. Define the input and output variables to the trained surrogate\n", - "2. Load the surrogate from the folder it is saved in, here it is saved in the folder called pysmo_surrogate (look at the pysmo_training_test.ipynb file) using the PySMO Surrogate API of IDAES package\n", - "3. Define a `SurrogateBlock` and call the build_model method on the block with the input variables, output variables, model formulation and the loaded surrogate as the arguments. \n", - "4. Define the constraints necessary for ensuring physical feasibility of the system like the mass balance and energy balance. Check for the state variables to be within the bounds. \n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "@declare_process_block_class(\"SCO2StateBlock\", block_class=StateBlock)\n", - "class SCO2StateBlockData(StateBlockData):\n", - " \"\"\"\n", - " An example property package for ideal gas properties with Gibbs energy\n", - " \"\"\"\n", - "\n", - " def build(self):\n", - " \"\"\"\n", - " Callable method for Block construction\n", - " \"\"\"\n", - " super(SCO2StateBlockData, self).build()\n", - " self._make_state_vars()\n", - "\n", - " def _make_state_vars(self):\n", - "\n", - " self.flow_mol = Var(\n", - " domain=NonNegativeReals,\n", - " initialize=1.0,\n", - " units=units.kmol / units.s,\n", - " doc=\"Total molar flowrate [kmol/s]\",\n", - " )\n", - " self.pressure = Var(\n", - " domain=NonNegativeReals,\n", - " initialize=8,\n", - " bounds=(7.38, 40),\n", - " units=units.MPa,\n", - " doc=\"State pressure [MPa]\",\n", - " )\n", - "\n", - " self.temperature = Var(\n", - " domain=NonNegativeReals,\n", - " initialize=350,\n", - " bounds=(304.2, 760 + 273.15),\n", - " units=units.K,\n", - " doc=\"State temperature [K]\",\n", - " )\n", - "\n", - " self.entr_mol = Var(\n", - " domain=Reals,\n", - " initialize=10,\n", - " units=units.kJ / units.kmol / units.K,\n", - " doc=\"Entropy [kJ/ kmol / K]\",\n", - " )\n", - "\n", - " self.enth_mol = Var(\n", - " domain=Reals,\n", - " initialize=1,\n", - " units=units.kJ / units.kmol,\n", - " doc=\"Enthalpy [kJ/ kmol]\",\n", - " )\n", - "\n", - " inputs = [self.pressure, self.temperature]\n", - " outputs = [self.enth_mol, self.entr_mol]\n", - " self.pysmo_surrogate = PysmoSurrogate.load_from_file(\n", - " \"pysmo_poly_surrogate.json\"\n", - " )\n", - " self.surrogate_enth = SurrogateBlock()\n", - " self.surrogate_enth.build_model(\n", - " self.pysmo_surrogate,\n", - " input_vars=inputs,\n", - " output_vars=outputs,\n", - " )\n", - "\n", - " def get_material_flow_terms(self, p, j):\n", - " return self.flow_mol\n", - "\n", - " def get_enthalpy_flow_terms(self, p):\n", - " return self.flow_mol * self.enth_mol\n", - "\n", - " def default_material_balance_type(self):\n", - " return MaterialBalanceType.componentTotal\n", - "\n", - " def default_energy_balance_type(self):\n", - " return EnergyBalanceType.enthalpyTotal\n", - "\n", - " def define_state_vars(self):\n", - " return {\n", - " \"flow_mol\": self.flow_mol,\n", - " \"temperature\": self.temperature,\n", - " \"pressure\": self.pressure,\n", - " }\n", - "\n", - " def model_check(blk):\n", - " \"\"\"\n", - " Model checks for property block\n", - " \"\"\"\n", - " # Check temperature bounds\n", - " if value(blk.temperature) < blk.temperature.lb:\n", - " _log.error(\"{} Temperature set below lower bound.\".format(blk.name))\n", - " if value(blk.temperature) > blk.temperature.ub:\n", - " _log.error(\"{} Temperature set above upper bound.\".format(blk.name))\n", - "\n", - " # Check pressure bounds\n", - " if value(blk.pressure) < blk.pressure.lb:\n", - " _log.error(\"{} Pressure set below lower bound.\".format(blk.name))\n", - " if value(blk.pressure) > blk.pressure.ub:\n", - " _log.error(\"{} Pressure set above upper bound.\".format(blk.name))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.3 Define Initialization Routine\n", - "\n", - "After defining the variables and constraints required to describe the properties of interest for S-CO2, we need to provide them with a good initial guess. It is often the case that the default values provided to the variables while creating the model are not likely the actual conditions the user would simulate. Given the highly non-linear nature of the physical property calculations, it is more often than not impossible to solve a State Block without providing a set of good initial values for all the variables we have declared.\n", - "\n", - "Any initialization routine can be written by following a 3 step process:\n", - "1. `Fix the state` of the model such that there are no degrees of freedom. For State Blocks, it should only be necessary to fix the state variables to a set of initial guesses provided by the user or unit model, as well as deactivating any constraints like the sum of mole fractions.\n", - "\n", - "2. `Iteratively build up a solution` for the full model. This often involves multiple steps and can involve deactivating constraints and fixing some variables to reduce complexity, as well as analytically calculating values for variables based on the known state (and any previously calculated variables). Solvers can be called as part of any step to efficiently initialize large numbers of variables simultaneously.\n", - "\n", - "3. `Return the state of the model` to where it originally started (with the exception of variable values). Any variable that was fixed or constraint that was deactivated during initialization should be unfixed or reactivated, so that the degrees of freedom are restored to what they were before the initialization began.\n", - "\n", - "\n", - "Thus, we start with fixing the state variables. Here since enth_mol and entr_mol are a function of pressure and temperature, we do not fix them as fixing pressure and temperature would define them. So, we check if a state variable if fixed or not, if it is fixed then we do not change them, if they are not fixed then we check for an initial guess from the `state_args`, if we get a value then we fix the variable with state_args, else we fix it with the value provided by the user. This should bring the degrees of freedom to 0. Here since we do not have any variable/constrained that we have unfixed/deactivated we can skip step 2 and move to step 3. We unfix the variables that were fixed in step 1 using the `release_state` function. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "class _StateBlock(StateBlock):\n", - " \"\"\"\n", - " This Class contains methods which should be applied to Property Blocks as a\n", - " whole, rather than individual elements of indexed Property Blocks.\n", - " \"\"\"\n", - "\n", - " def initialize(\n", - " blk,\n", - " state_args=None,\n", - " hold_state=False,\n", - " outlvl=1,\n", - " state_vars_fixed=False,\n", - " solver=\"ipopt\",\n", - " optarg={\"tol\": 1e-8},\n", - " ):\n", - " \"\"\"\n", - " Initialisation routine for property package.\n", - "\n", - " Keyword Arguments:\n", - " flow_mol : value at which to initialize component flows\n", - " (default=None)\n", - " pressure : value at which to initialize pressure (default=None)\n", - " temperature : value at which to initialize temperature\n", - " (default=None)\n", - " outlvl : sets output level of initialisation routine\n", - "\n", - " * 0 = no output (default)\n", - " * 1 = return solver state for each step in routine\n", - " * 2 = include solver output information (tee=True)\n", - " state_vars_fixed: Flag to denote if state vars have already been\n", - " fixed.\n", - " - True - states have already been fixed by the\n", - " control volume 1D. Control volume 0D\n", - " does not fix the state vars, so will\n", - " be False if this state block is used\n", - " with 0D blocks.\n", - " - False - states have not been fixed. The state\n", - " block will deal with fixing/unfixing.\n", - " optarg : solver options dictionary object (default=None)\n", - " solver : str indicating which solver to use during\n", - " initialization (default = 'ipopt')\n", - " hold_state : flag indicating whether the initialization routine\n", - " should unfix any state variables fixed during\n", - " initialization (default=False).\n", - " - True - states variables are not unfixed, and\n", - " a dict of returned containing flags for\n", - " which states were fixed during\n", - " initialization.\n", - " - False - state variables are unfixed after\n", - " initialization by calling the\n", - " release_state method\n", - "\n", - " Returns:\n", - " If hold_states is True, returns a dict containing flags for\n", - " which states were fixed during initialization.\n", - " \"\"\"\n", - " if state_vars_fixed is False:\n", - " # Fix state variables if not already fixed\n", - " Fcflag = {}\n", - " Pflag = {}\n", - " Tflag = {}\n", - "\n", - " for k in blk.keys():\n", - " if blk[k].flow_mol.fixed is True:\n", - " Fcflag[k] = True\n", - " else:\n", - " Fcflag[k] = False\n", - " if state_args is None:\n", - " blk[k].flow_mol.fix()\n", - " else:\n", - " blk[k].flow_mol.fix(state_args[\"flow_mol\"])\n", - "\n", - " if blk[k].pressure.fixed is True:\n", - " Pflag[k] = True\n", - " else:\n", - " Pflag[k] = False\n", - " if state_args is None:\n", - " blk[k].pressure.fix()\n", - " else:\n", - " blk[k].pressure.fix(state_args[\"pressure\"])\n", - "\n", - " if blk[k].temperature.fixed is True:\n", - " Tflag[k] = True\n", - " else:\n", - " Tflag[k] = False\n", - " if state_args is None:\n", - " blk[k].temperature.fix()\n", - " else:\n", - " blk[k].temperature.fix(state_args[\"temperature\"])\n", - "\n", - " # If input block, return flags, else release state\n", - " flags = {\"Fcflag\": Fcflag, \"Pflag\": Pflag, \"Tflag\": Tflag}\n", - "\n", - " else:\n", - " # Check when the state vars are fixed already result in dof 0\n", - " for k in blk.keys():\n", - " if degrees_of_freedom(blk[k]) != 0:\n", - " raise Exception(\n", - " \"State vars fixed but degrees of freedom \"\n", - " \"for state block is not zero during \"\n", - " \"initialization.\"\n", - " )\n", - "\n", - " if state_vars_fixed is False:\n", - " if hold_state is True:\n", - " return flags\n", - " else:\n", - " blk.release_state(flags)\n", - "\n", - " def release_state(blk, flags, outlvl=0):\n", - " \"\"\"\n", - " Method to release state variables fixed during initialisation.\n", - "\n", - " Keyword Arguments:\n", - " flags : dict containing information of which state variables\n", - " were fixed during initialization, and should now be\n", - " unfixed. This dict is returned by initialize if\n", - " hold_state=True.\n", - " outlvl : sets output level of of logging\n", - " \"\"\"\n", - " if flags is None:\n", - " return\n", - "\n", - " # Unfix state variables\n", - " for k in blk.keys():\n", - " if flags[\"Fcflag\"][k] is False:\n", - " blk[k].flow_mol.unfix()\n", - " if flags[\"Pflag\"][k] is False:\n", - " blk[k].pressure.unfix()\n", - " if flags[\"Tflag\"][k] is False:\n", - " blk[k].temperature.unfix()\n", - "\n", - " if outlvl > 0:\n", - " if outlvl > 0:\n", - " _log.info(\"{} State Released.\".format(blk.name))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we have our property package ready for being used in the flowsheet for optimization. We shall see that in the next part of this tutorial, [flowsheet_optimization](./flowsheet_optimization_test.ipynb). To learn in detail about making a custom property package, one should go through [Property Package Example](../../../properties/custom/custom_physical_property_packages_test.ipynb). " - ] - } - ], - "metadata": { - "language_info": { - "name": "python" - }, - "orig_nbformat": 4 - }, - "nbformat": 4, - "nbformat_minor": 3 -} + "nbformat": 4, + "nbformat_minor": 3 +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/surrogate_embedding_usr.ipynb b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/surrogate_embedding_usr.ipynb index 5ac4559d..c70306f3 100644 --- a/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/surrogate_embedding_usr.ipynb +++ b/idaes_examples/notebooks/docs/surrogates/sco2/pysmo/surrogate_embedding_usr.ipynb @@ -1,496 +1,521 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "##############################################################################\n", - "# Institute for the Design of Advanced Energy Systems Process Systems\n", - "# Engineering Framework (IDAES PSE Framework) Copyright (c) 2018-2019, by the\n", - "# software owners: The Regents of the University of California, through\n", - "# Lawrence Berkeley National Laboratory, National Technology & Engineering\n", - "# Solutions of Sandia, LLC, Carnegie Mellon University, West Virginia\n", - "# University Research Corporation, et al. All rights reserved.\n", - "#\n", - "# Please see the files COPYRIGHT.txt and LICENSE.txt for full copyright and\n", - "# license information, respectively. Both files are also available online\n", - "# at the URL \"https://github.com/IDAES/idaes-pse\".\n", - "##############################################################################" - ] + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "##############################################################################\n", + "# Institute for the Design of Advanced Energy Systems Process Systems\n", + "# Engineering Framework (IDAES PSE Framework) Copyright (c) 2018-2019, by the\n", + "# software owners: The Regents of the University of California, through\n", + "# Lawrence Berkeley National Laboratory, National Technology & Engineering\n", + "# Solutions of Sandia, LLC, Carnegie Mellon University, West Virginia\n", + "# University Research Corporation, et al. All rights reserved.\n", + "#\n", + "# Please see the files COPYRIGHT.txt and LICENSE.txt for full copyright and\n", + "# license information, respectively. Both files are also available online\n", + "# at the URL \"https://github.com/IDAES/idaes-pse\".\n", + "##############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Supercritical CO2 Property Surrogate with PySMO Surrogate Object - Embedding Surrogate (Part 2)\n", + "Maintainer: Javal Vyas\n", + "\n", + "Author: Javal Vyas\n", + "\n", + "Updated: 2024-01-24\n", + "## 1. Integration of Surrogate into Custom Property Package\n", + "\n", + "Here we shall see how to integrate the trained surrogate in the custom property package. One can read more about making a properties package from read the docs. To integrate the surrogate we first define the physical parameter block which will return the properties based on the state variables. State variables would be called from the State Block as Pyomo variables. We will define the surrogate input and output as pyomo variables as well. Once we have defined the variables in the state block then we define our surrogate block.\n", + "\n", + "*NOTE:* For ease of explanation the property package is written in \".ipynb\" format, ideally it should be in a python script. Each class of this package is separated in different cell for the same reason, in practice all the classes in this notebook should be part of the same python script. This folder includes \"properties.py\" file which is how embedding file should look like. \n", + "\n", + "### 1.1 Steps in Creating a Property Package\n", + "Creating a new property package can be broken down into the following steps, which will be demonstrated in the next part of this tutorial.\n", + "\n", + "1. Defining the **units of measurement** for the property package.\n", + "2. Defining the **properties supported** by the property package and the associated metadata.\n", + "3. Defining the **phases and components** of interest.\n", + "4. Defining the necessary **parameters** required to calculate the properties of interest.\n", + "5. Declaring the **state variables** to be used for the property package.\n", + "6. Creating **variables and constraints** to describe the properties of interest.\n", + "7. Creating an **initialization routine** for the property package.\n", + "8. Defining **interface methods** used to couple the property package with unit models." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2. Importing libraries for making Property Package\n", + "\n", + "To begin with, we are going to need a number of components from the Pyomo modeling environment to construct the variables, constraints and parameters that will make up the property package, and we will also make use of the Pyomo units of measurement tools to define the units of our properties. We will also make use of a number of components and supporting methods from the IDAES modeling framework and libraries. We shall also use the Surrogate API in the IDAES framework to embed the trained surrogate in the property package." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Import Python libraries\n", + "import logging\n", + "\n", + "# Import Pyomo libraries\n", + "from pyomo.environ import (\n", + " Constraint,\n", + " Param,\n", + " Reals,\n", + " Set,\n", + " value,\n", + " Var,\n", + " NonNegativeReals,\n", + " units,\n", + ")\n", + "from pyomo.opt import SolverFactory, TerminationCondition\n", + "\n", + "# Import IDAES cores\n", + "from idaes.core import (\n", + " declare_process_block_class,\n", + " PhysicalParameterBlock,\n", + " StateBlockData,\n", + " StateBlock,\n", + " MaterialBalanceType,\n", + " EnergyBalanceType,\n", + " LiquidPhase,\n", + " Component,\n", + ")\n", + "from idaes.core.util.initialization import solve_indexed_blocks\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.core.util.misc import extract_data\n", + "from idaes.core.solvers import get_solver\n", + "from pyomo.util.check_units import assert_units_consistent\n", + "from idaes.core.surrogate.surrogate_block import SurrogateBlock\n", + "from idaes.core.surrogate.pysmo_surrogate import PysmoSurrogate\n", + "\n", + "from pyomo.util.model_size import build_model_size_report\n", + "\n", + "# Some more information about this module\n", + "__author__ = \"Javal Vyas\"\n", + "\n", + "\n", + "# Set up logger\n", + "_log = logging.getLogger(__name__)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 3 Defining Classes\n", + "\n", + "We shall be going through each class of the property package in detail. Since there are not reactions occurring in the flowsheet we shall only write the Physical Parameter Block.\n", + "\n", + "## 3.1 Physical Parameter Block\n", + "\n", + "The Physical Parameter Block serves as the central point of reference for all aspects of the property package, and needs to define a number of things about the package. These are summarized below:\n", + "\n", + "* Units of measurement\n", + "* What properties are supported and how they are implemented\n", + "* What components and phases are included in the packages\n", + "* All the global parameters necessary for calculating properties\n", + "* A reference to the associated State Block class, so that construction of the State Block components can be automated from the Physical Parameter Block\n", + "\n", + "To assemble the above mentioned things in a class we need to follow the following steps:\n", + "\n", + "* Declaring the new class and inheriting from the PhysicalParameterBlock base class\n", + "* Declaring any necessary configuration arguments\n", + "* Writing the build method for our class\n", + "* Creating a define_metadata method for the class.\n", + "\n", + "The code below follows the above mentioned steps. \n", + "\n", + "*NOTE*: The SCO2StateBlock will be discussed in the next section." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "@declare_process_block_class(\"SCO2ParameterBlock\")\n", + "class PhysicalParameterData(PhysicalParameterBlock):\n", + " \"\"\"\n", + " Property Parameter Block Class\n", + "\n", + " Contains parameters and indexing sets associated with properties for\n", + " supercritical CO2.\n", + "\n", + " \"\"\"\n", + "\n", + " def build(self):\n", + " \"\"\"\n", + " Callable method for Block construction.\n", + " \"\"\"\n", + " super(PhysicalParameterData, self).build()\n", + "\n", + " self._state_block_class = SCO2StateBlock\n", + "\n", + " # List of valid phases in property package\n", + " self.Liq = LiquidPhase()\n", + "\n", + " # Component list - a list of component identifiers\n", + " self.CO2 = Component()\n", + "\n", + " @classmethod\n", + " def define_metadata(cls, obj):\n", + " obj.add_properties(\n", + " {\n", + " \"flow_mol\": {\"method\": None, \"units\": \"kmol/s\"},\n", + " \"pressure\": {\"method\": None, \"units\": \"MPa\"},\n", + " \"temperature\": {\"method\": None, \"units\": \"K\"},\n", + " \"enth_mol\": {\"method\": None, \"units\": \"kJ/kmol\"},\n", + " \"entr_mol\": {\"method\": None, \"units\": \"kJ/kmol/K\"},\n", + " }\n", + " )\n", + "\n", + " obj.add_default_units(\n", + " {\n", + " \"time\": units.s,\n", + " \"length\": units.m,\n", + " \"mass\": units.kg,\n", + " \"amount\": units.mol,\n", + " \"temperature\": units.K,\n", + " }\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.2 State Block\n", + "\n", + "After the Physical Parameter Block class has been created, the next step is to write the code necessary to create the State Blocks that will be used through out the flowsheet.\n", + "\n", + "For this example, we will begin by describing the content of the StateBlockData objects, as this is where we create the variables and constraints that describe how to calculate the thermophysical properties of the material. \n", + "\n", + "We start by defining the 5 state variables: flow_mol, pressure, temperature, enth_mol and entr_mol as the Pyomo Var, each of this variable has a unit for unit consistency. This is done in _make_state_vars function. We get the enth_mol and entr_mol variables from trained surrogate which we define in this function as well. To get the output variables from the surrogate:\n", + "\n", + "1. Define the input and output variables to the trained surrogate\n", + "2. Load the surrogate from the folder it is saved in, here it is saved in the folder called pysmo_surrogate (look at the pysmo_training_usr.ipynb file) using the PySMO Surrogate API of IDAES package\n", + "3. Define a `SurrogateBlock` and call the build_model method on the block with the input variables, output variables, model formulation and the loaded surrogate as the arguments. \n", + "4. Define the constraints necessary for ensuring physical feasibility of the system like the mass balance and energy balance. Check for the state variables to be within the bounds. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "@declare_process_block_class(\"SCO2StateBlock\", block_class=StateBlock)\n", + "class SCO2StateBlockData(StateBlockData):\n", + " \"\"\"\n", + " An example property package for ideal gas properties with Gibbs energy\n", + " \"\"\"\n", + "\n", + " def build(self):\n", + " \"\"\"\n", + " Callable method for Block construction\n", + " \"\"\"\n", + " super(SCO2StateBlockData, self).build()\n", + " self._make_state_vars()\n", + "\n", + " def _make_state_vars(self):\n", + "\n", + " self.flow_mol = Var(\n", + " domain=NonNegativeReals,\n", + " initialize=1.0,\n", + " units=units.kmol / units.s,\n", + " doc=\"Total molar flowrate [kmol/s]\",\n", + " )\n", + " self.pressure = Var(\n", + " domain=NonNegativeReals,\n", + " initialize=8,\n", + " bounds=(7.38, 40),\n", + " units=units.MPa,\n", + " doc=\"State pressure [MPa]\",\n", + " )\n", + "\n", + " self.temperature = Var(\n", + " domain=NonNegativeReals,\n", + " initialize=350,\n", + " bounds=(304.2, 760 + 273.15),\n", + " units=units.K,\n", + " doc=\"State temperature [K]\",\n", + " )\n", + "\n", + " self.entr_mol = Var(\n", + " domain=Reals,\n", + " initialize=10,\n", + " units=units.kJ / units.kmol / units.K,\n", + " doc=\"Entropy [kJ/ kmol / K]\",\n", + " )\n", + "\n", + " self.enth_mol = Var(\n", + " domain=Reals,\n", + " initialize=1,\n", + " units=units.kJ / units.kmol,\n", + " doc=\"Enthalpy [kJ/ kmol]\",\n", + " )\n", + "\n", + " inputs = [self.pressure, self.temperature]\n", + " outputs = [self.enth_mol, self.entr_mol]\n", + " self.pysmo_surrogate = PysmoSurrogate.load_from_file(\n", + " \"pysmo_poly_surrogate.json\"\n", + " )\n", + " self.surrogate_enth = SurrogateBlock()\n", + " self.surrogate_enth.build_model(\n", + " self.pysmo_surrogate,\n", + " input_vars=inputs,\n", + " output_vars=outputs,\n", + " )\n", + "\n", + " def get_material_flow_terms(self, p, j):\n", + " return self.flow_mol\n", + "\n", + " def get_enthalpy_flow_terms(self, p):\n", + " return self.flow_mol * self.enth_mol\n", + "\n", + " def default_material_balance_type(self):\n", + " return MaterialBalanceType.componentTotal\n", + "\n", + " def default_energy_balance_type(self):\n", + " return EnergyBalanceType.enthalpyTotal\n", + "\n", + " def define_state_vars(self):\n", + " return {\n", + " \"flow_mol\": self.flow_mol,\n", + " \"temperature\": self.temperature,\n", + " \"pressure\": self.pressure,\n", + " }\n", + "\n", + " def model_check(blk):\n", + " \"\"\"\n", + " Model checks for property block\n", + " \"\"\"\n", + " # Check temperature bounds\n", + " if value(blk.temperature) < blk.temperature.lb:\n", + " _log.error(\"{} Temperature set below lower bound.\".format(blk.name))\n", + " if value(blk.temperature) > blk.temperature.ub:\n", + " _log.error(\"{} Temperature set above upper bound.\".format(blk.name))\n", + "\n", + " # Check pressure bounds\n", + " if value(blk.pressure) < blk.pressure.lb:\n", + " _log.error(\"{} Pressure set below lower bound.\".format(blk.name))\n", + " if value(blk.pressure) > blk.pressure.ub:\n", + " _log.error(\"{} Pressure set above upper bound.\".format(blk.name))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.3 Define Initialization Routine\n", + "\n", + "After defining the variables and constraints required to describe the properties of interest for S-CO2, we need to provide them with a good initial guess. It is often the case that the default values provided to the variables while creating the model are not likely the actual conditions the user would simulate. Given the highly non-linear nature of the physical property calculations, it is more often than not impossible to solve a State Block without providing a set of good initial values for all the variables we have declared.\n", + "\n", + "Any initialization routine can be written by following a 3 step process:\n", + "1. `Fix the state` of the model such that there are no degrees of freedom. For State Blocks, it should only be necessary to fix the state variables to a set of initial guesses provided by the user or unit model, as well as deactivating any constraints like the sum of mole fractions.\n", + "\n", + "2. `Iteratively build up a solution` for the full model. This often involves multiple steps and can involve deactivating constraints and fixing some variables to reduce complexity, as well as analytically calculating values for variables based on the known state (and any previously calculated variables). Solvers can be called as part of any step to efficiently initialize large numbers of variables simultaneously.\n", + "\n", + "3. `Return the state of the model` to where it originally started (with the exception of variable values). Any variable that was fixed or constraint that was deactivated during initialization should be unfixed or reactivated, so that the degrees of freedom are restored to what they were before the initialization began.\n", + "\n", + "\n", + "Thus, we start with fixing the state variables. Here since enth_mol and entr_mol are a function of pressure and temperature, we do not fix them as fixing pressure and temperature would define them. So, we check if a state variable if fixed or not, if it is fixed then we do not change them, if they are not fixed then we check for an initial guess from the `state_args`, if we get a value then we fix the variable with state_args, else we fix it with the value provided by the user. This should bring the degrees of freedom to 0. Here since we do not have any variable/constrained that we have unfixed/deactivated we can skip step 2 and move to step 3. We unfix the variables that were fixed in step 1 using the `release_state` function. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "class _StateBlock(StateBlock):\n", + " \"\"\"\n", + " This Class contains methods which should be applied to Property Blocks as a\n", + " whole, rather than individual elements of indexed Property Blocks.\n", + " \"\"\"\n", + "\n", + " def initialize(\n", + " blk,\n", + " state_args=None,\n", + " hold_state=False,\n", + " outlvl=1,\n", + " state_vars_fixed=False,\n", + " solver=\"ipopt\",\n", + " optarg={\"tol\": 1e-8},\n", + " ):\n", + " \"\"\"\n", + " Initialisation routine for property package.\n", + "\n", + " Keyword Arguments:\n", + " flow_mol : value at which to initialize component flows\n", + " (default=None)\n", + " pressure : value at which to initialize pressure (default=None)\n", + " temperature : value at which to initialize temperature\n", + " (default=None)\n", + " outlvl : sets output level of initialisation routine\n", + "\n", + " * 0 = no output (default)\n", + " * 1 = return solver state for each step in routine\n", + " * 2 = include solver output information (tee=True)\n", + " state_vars_fixed: Flag to denote if state vars have already been\n", + " fixed.\n", + " - True - states have already been fixed by the\n", + " control volume 1D. Control volume 0D\n", + " does not fix the state vars, so will\n", + " be False if this state block is used\n", + " with 0D blocks.\n", + " - False - states have not been fixed. The state\n", + " block will deal with fixing/unfixing.\n", + " optarg : solver options dictionary object (default=None)\n", + " solver : str indicating which solver to use during\n", + " initialization (default = 'ipopt')\n", + " hold_state : flag indicating whether the initialization routine\n", + " should unfix any state variables fixed during\n", + " initialization (default=False).\n", + " - True - states variables are not unfixed, and\n", + " a dict of returned containing flags for\n", + " which states were fixed during\n", + " initialization.\n", + " - False - state variables are unfixed after\n", + " initialization by calling the\n", + " release_state method\n", + "\n", + " Returns:\n", + " If hold_states is True, returns a dict containing flags for\n", + " which states were fixed during initialization.\n", + " \"\"\"\n", + " if state_vars_fixed is False:\n", + " # Fix state variables if not already fixed\n", + " Fcflag = {}\n", + " Pflag = {}\n", + " Tflag = {}\n", + "\n", + " for k in blk.keys():\n", + " if blk[k].flow_mol.fixed is True:\n", + " Fcflag[k] = True\n", + " else:\n", + " Fcflag[k] = False\n", + " if state_args is None:\n", + " blk[k].flow_mol.fix()\n", + " else:\n", + " blk[k].flow_mol.fix(state_args[\"flow_mol\"])\n", + "\n", + " if blk[k].pressure.fixed is True:\n", + " Pflag[k] = True\n", + " else:\n", + " Pflag[k] = False\n", + " if state_args is None:\n", + " blk[k].pressure.fix()\n", + " else:\n", + " blk[k].pressure.fix(state_args[\"pressure\"])\n", + "\n", + " if blk[k].temperature.fixed is True:\n", + " Tflag[k] = True\n", + " else:\n", + " Tflag[k] = False\n", + " if state_args is None:\n", + " blk[k].temperature.fix()\n", + " else:\n", + " blk[k].temperature.fix(state_args[\"temperature\"])\n", + "\n", + " # If input block, return flags, else release state\n", + " flags = {\"Fcflag\": Fcflag, \"Pflag\": Pflag, \"Tflag\": Tflag}\n", + "\n", + " else:\n", + " # Check when the state vars are fixed already result in dof 0\n", + " for k in blk.keys():\n", + " if degrees_of_freedom(blk[k]) != 0:\n", + " raise Exception(\n", + " \"State vars fixed but degrees of freedom \"\n", + " \"for state block is not zero during \"\n", + " \"initialization.\"\n", + " )\n", + "\n", + " if state_vars_fixed is False:\n", + " if hold_state is True:\n", + " return flags\n", + " else:\n", + " blk.release_state(flags)\n", + "\n", + " def release_state(blk, flags, outlvl=0):\n", + " \"\"\"\n", + " Method to release state variables fixed during initialisation.\n", + "\n", + " Keyword Arguments:\n", + " flags : dict containing information of which state variables\n", + " were fixed during initialization, and should now be\n", + " unfixed. This dict is returned by initialize if\n", + " hold_state=True.\n", + " outlvl : sets output level of of logging\n", + " \"\"\"\n", + " if flags is None:\n", + " return\n", + "\n", + " # Unfix state variables\n", + " for k in blk.keys():\n", + " if flags[\"Fcflag\"][k] is False:\n", + " blk[k].flow_mol.unfix()\n", + " if flags[\"Pflag\"][k] is False:\n", + " blk[k].pressure.unfix()\n", + " if flags[\"Tflag\"][k] is False:\n", + " blk[k].temperature.unfix()\n", + "\n", + " if outlvl > 0:\n", + " if outlvl > 0:\n", + " _log.info(\"{} State Released.\".format(blk.name))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we have our property package ready for being used in the flowsheet for optimization. We shall see that in the next part of this tutorial, [flowsheet_optimization](./flowsheet_optimization_usr.ipynb). To learn in detail about making a custom property package, one should go through [Property Package Example](../../../properties/custom/custom_physical_property_packages_usr.ipynb). " + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Supercritical CO2 Property Surrogate with PySMO Surrogate Object - Embedding Surrogate (Part 2)\n", - "Maintainer: Javal Vyas\n", - "\n", - "Author: Javal Vyas\n", - "\n", - "Updated: 2024-01-24\n", - "## 1. Integration of Surrogate into Custom Property Package\n", - "\n", - "Here we shall see how to integrate the trained surrogate in the custom property package. One can read more about making a properties package from read the docs. To integrate the surrogate we first define the physical parameter block which will return the properties based on the state variables. State variables would be called from the State Block as Pyomo variables. We will define the surrogate input and output as pyomo variables as well. Once we have defined the variables in the state block then we define our surrogate block.\n", - "\n", - "*NOTE:* For ease of explanation the property package is written in \".ipynb\" format, ideally it should be in a python script. Each class of this package is separated in different cell for the same reason, in practice all the classes in this notebook should be part of the same python script. This folder includes \"properties.py\" file which is how embedding file should look like. \n", - "\n", - "### 1.1 Steps in Creating a Property Package\n", - "Creating a new property package can be broken down into the following steps, which will be demonstrated in the next part of this tutorial.\n", - "\n", - "1. Defining the **units of measurement** for the property package.\n", - "2. Defining the **properties supported** by the property package and the associated metadata.\n", - "3. Defining the **phases and components** of interest.\n", - "4. Defining the necessary **parameters** required to calculate the properties of interest.\n", - "5. Declaring the **state variables** to be used for the property package.\n", - "6. Creating **variables and constraints** to describe the properties of interest.\n", - "7. Creating an **initialization routine** for the property package.\n", - "8. Defining **interface methods** used to couple the property package with unit models." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 2. Importing libraries for making Property Package\n", - "\n", - "To begin with, we are going to need a number of components from the Pyomo modeling environment to construct the variables, constraints and parameters that will make up the property package, and we will also make use of the Pyomo units of measurement tools to define the units of our properties. We will also make use of a number of components and supporting methods from the IDAES modeling framework and libraries. We shall also use the Surrogate API in the IDAES framework to embed the trained surrogate in the property package." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Import Python libraries\n", - "import logging\n", - "\n", - "# Import Pyomo libraries\n", - "from pyomo.environ import (\n", - " Constraint,\n", - " Param,\n", - " Reals,\n", - " Set,\n", - " value,\n", - " Var,\n", - " NonNegativeReals,\n", - " units,\n", - ")\n", - "from pyomo.opt import SolverFactory, TerminationCondition\n", - "\n", - "# Import IDAES cores\n", - "from idaes.core import (\n", - " declare_process_block_class,\n", - " PhysicalParameterBlock,\n", - " StateBlockData,\n", - " StateBlock,\n", - " MaterialBalanceType,\n", - " EnergyBalanceType,\n", - " LiquidPhase,\n", - " Component,\n", - ")\n", - "from idaes.core.util.initialization import solve_indexed_blocks\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.util.misc import extract_data\n", - "from idaes.core.solvers import get_solver\n", - "from pyomo.util.check_units import assert_units_consistent\n", - "from idaes.core.surrogate.surrogate_block import SurrogateBlock\n", - "from idaes.core.surrogate.pysmo_surrogate import PysmoSurrogate\n", - "\n", - "from pyomo.util.model_size import build_model_size_report\n", - "\n", - "# Some more information about this module\n", - "__author__ = \"Javal Vyas\"\n", - "\n", - "\n", - "# Set up logger\n", - "_log = logging.getLogger(__name__)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 3 Defining Classes\n", - "\n", - "We shall be going through each class of the property package in detail. Since there are not reactions occurring in the flowsheet we shall only write the Physical Parameter Block.\n", - "\n", - "## 3.1 Physical Parameter Block\n", - "\n", - "The Physical Parameter Block serves as the central point of reference for all aspects of the property package, and needs to define a number of things about the package. These are summarized below:\n", - "\n", - "* Units of measurement\n", - "* What properties are supported and how they are implemented\n", - "* What components and phases are included in the packages\n", - "* All the global parameters necessary for calculating properties\n", - "* A reference to the associated State Block class, so that construction of the State Block components can be automated from the Physical Parameter Block\n", - "\n", - "To assemble the above mentioned things in a class we need to follow the following steps:\n", - "\n", - "* Declaring the new class and inheriting from the PhysicalParameterBlock base class\n", - "* Declaring any necessary configuration arguments\n", - "* Writing the build method for our class\n", - "* Creating a define_metadata method for the class.\n", - "\n", - "The code below follows the above mentioned steps. \n", - "\n", - "*NOTE*: The SCO2StateBlock will be discussed in the next section." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "@declare_process_block_class(\"SCO2ParameterBlock\")\n", - "class PhysicalParameterData(PhysicalParameterBlock):\n", - " \"\"\"\n", - " Property Parameter Block Class\n", - "\n", - " Contains parameters and indexing sets associated with properties for\n", - " supercritical CO2.\n", - "\n", - " \"\"\"\n", - "\n", - " def build(self):\n", - " \"\"\"\n", - " Callable method for Block construction.\n", - " \"\"\"\n", - " super(PhysicalParameterData, self).build()\n", - "\n", - " self._state_block_class = SCO2StateBlock\n", - "\n", - " # List of valid phases in property package\n", - " self.Liq = LiquidPhase()\n", - "\n", - " # Component list - a list of component identifiers\n", - " self.CO2 = Component()\n", - "\n", - " @classmethod\n", - " def define_metadata(cls, obj):\n", - " obj.add_properties(\n", - " {\n", - " \"flow_mol\": {\"method\": None, \"units\": \"kmol/s\"},\n", - " \"pressure\": {\"method\": None, \"units\": \"MPa\"},\n", - " \"temperature\": {\"method\": None, \"units\": \"K\"},\n", - " \"enth_mol\": {\"method\": None, \"units\": \"kJ/kmol\"},\n", - " \"entr_mol\": {\"method\": None, \"units\": \"kJ/kmol/K\"},\n", - " }\n", - " )\n", - "\n", - " obj.add_default_units(\n", - " {\n", - " \"time\": units.s,\n", - " \"length\": units.m,\n", - " \"mass\": units.kg,\n", - " \"amount\": units.mol,\n", - " \"temperatureo\": units.K,\n", - " }\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.2 State Block\n", - "\n", - "After the Physical Parameter Block class has been created, the next step is to write the code necessary to create the State Blocks that will be used through out the flowsheet.\n", - "\n", - "For this example, we will begin by describing the content of the StateBlockData objects, as this is where we create the variables and constraints that describe how to calculate the thermophysical properties of the material. \n", - "\n", - "We start by defining the 5 state variables: flow_mol, pressure, temperature, enth_mol and entr_mol as the Pyomo Var, each of this variable has a unit for unit consistency. This is done in _make_state_vars function. We get the enth_mol and entr_mol variables from trained surrogate which we define in this function as well. To get the output variables from the surrogate:\n", - "\n", - "1. Define the input and output variables to the trained surrogate\n", - "2. Load the surrogate from the folder it is saved in, here it is saved in the folder called pysmo_surrogate (look at the pysmo_training_usr.ipynb file) using the PySMO Surrogate API of IDAES package\n", - "3. Define a `SurrogateBlock` and call the build_model method on the block with the input variables, output variables, model formulation and the loaded surrogate as the arguments. \n", - "4. Define the constraints necessary for ensuring physical feasibility of the system like the mass balance and energy balance. Check for the state variables to be within the bounds. \n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "@declare_process_block_class(\"SCO2StateBlock\", block_class=StateBlock)\n", - "class SCO2StateBlockData(StateBlockData):\n", - " \"\"\"\n", - " An example property package for ideal gas properties with Gibbs energy\n", - " \"\"\"\n", - "\n", - " def build(self):\n", - " \"\"\"\n", - " Callable method for Block construction\n", - " \"\"\"\n", - " super(SCO2StateBlockData, self).build()\n", - " self._make_state_vars()\n", - "\n", - " def _make_state_vars(self):\n", - "\n", - " self.flow_mol = Var(\n", - " domain=NonNegativeReals,\n", - " initialize=1.0,\n", - " units=units.kmol / units.s,\n", - " doc=\"Total molar flowrate [kmol/s]\",\n", - " )\n", - " self.pressure = Var(\n", - " domain=NonNegativeReals,\n", - " initialize=8,\n", - " bounds=(7.38, 40),\n", - " units=units.MPa,\n", - " doc=\"State pressure [MPa]\",\n", - " )\n", - "\n", - " self.temperature = Var(\n", - " domain=NonNegativeReals,\n", - " initialize=350,\n", - " bounds=(304.2, 760 + 273.15),\n", - " units=units.K,\n", - " doc=\"State temperature [K]\",\n", - " )\n", - "\n", - " self.entr_mol = Var(\n", - " domain=Reals,\n", - " initialize=10,\n", - " units=units.kJ / units.kmol / units.K,\n", - " doc=\"Entropy [kJ/ kmol / K]\",\n", - " )\n", - "\n", - " self.enth_mol = Var(\n", - " domain=Reals,\n", - " initialize=1,\n", - " units=units.kJ / units.kmol,\n", - " doc=\"Enthalpy [kJ/ kmol]\",\n", - " )\n", - "\n", - " inputs = [self.pressure, self.temperature]\n", - " outputs = [self.enth_mol, self.entr_mol]\n", - " self.pysmo_surrogate = PysmoSurrogate.load_from_file(\n", - " \"pysmo_poly_surrogate.json\"\n", - " )\n", - " self.surrogate_enth = SurrogateBlock()\n", - " self.surrogate_enth.build_model(\n", - " self.pysmo_surrogate,\n", - " input_vars=inputs,\n", - " output_vars=outputs,\n", - " )\n", - "\n", - " def get_material_flow_terms(self, p, j):\n", - " return self.flow_mol\n", - "\n", - " def get_enthalpy_flow_terms(self, p):\n", - " return self.flow_mol * self.enth_mol\n", - "\n", - " def default_material_balance_type(self):\n", - " return MaterialBalanceType.componentTotal\n", - "\n", - " def default_energy_balance_type(self):\n", - " return EnergyBalanceType.enthalpyTotal\n", - "\n", - " def define_state_vars(self):\n", - " return {\n", - " \"flow_mol\": self.flow_mol,\n", - " \"temperature\": self.temperature,\n", - " \"pressure\": self.pressure,\n", - " }\n", - "\n", - " def model_check(blk):\n", - " \"\"\"\n", - " Model checks for property block\n", - " \"\"\"\n", - " # Check temperature bounds\n", - " if value(blk.temperature) < blk.temperature.lb:\n", - " _log.error(\"{} Temperature set below lower bound.\".format(blk.name))\n", - " if value(blk.temperature) > blk.temperature.ub:\n", - " _log.error(\"{} Temperature set above upper bound.\".format(blk.name))\n", - "\n", - " # Check pressure bounds\n", - " if value(blk.pressure) < blk.pressure.lb:\n", - " _log.error(\"{} Pressure set below lower bound.\".format(blk.name))\n", - " if value(blk.pressure) > blk.pressure.ub:\n", - " _log.error(\"{} Pressure set above upper bound.\".format(blk.name))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.3 Define Initialization Routine\n", - "\n", - "After defining the variables and constraints required to describe the properties of interest for S-CO2, we need to provide them with a good initial guess. It is often the case that the default values provided to the variables while creating the model are not likely the actual conditions the user would simulate. Given the highly non-linear nature of the physical property calculations, it is more often than not impossible to solve a State Block without providing a set of good initial values for all the variables we have declared.\n", - "\n", - "Any initialization routine can be written by following a 3 step process:\n", - "1. `Fix the state` of the model such that there are no degrees of freedom. For State Blocks, it should only be necessary to fix the state variables to a set of initial guesses provided by the user or unit model, as well as deactivating any constraints like the sum of mole fractions.\n", - "\n", - "2. `Iteratively build up a solution` for the full model. This often involves multiple steps and can involve deactivating constraints and fixing some variables to reduce complexity, as well as analytically calculating values for variables based on the known state (and any previously calculated variables). Solvers can be called as part of any step to efficiently initialize large numbers of variables simultaneously.\n", - "\n", - "3. `Return the state of the model` to where it originally started (with the exception of variable values). Any variable that was fixed or constraint that was deactivated during initialization should be unfixed or reactivated, so that the degrees of freedom are restored to what they were before the initialization began.\n", - "\n", - "\n", - "Thus, we start with fixing the state variables. Here since enth_mol and entr_mol are a function of pressure and temperature, we do not fix them as fixing pressure and temperature would define them. So, we check if a state variable if fixed or not, if it is fixed then we do not change them, if they are not fixed then we check for an initial guess from the `state_args`, if we get a value then we fix the variable with state_args, else we fix it with the value provided by the user. This should bring the degrees of freedom to 0. Here since we do not have any variable/constrained that we have unfixed/deactivated we can skip step 2 and move to step 3. We unfix the variables that were fixed in step 1 using the `release_state` function. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "class _StateBlock(StateBlock):\n", - " \"\"\"\n", - " This Class contains methods which should be applied to Property Blocks as a\n", - " whole, rather than individual elements of indexed Property Blocks.\n", - " \"\"\"\n", - "\n", - " def initialize(\n", - " blk,\n", - " state_args=None,\n", - " hold_state=False,\n", - " outlvl=1,\n", - " state_vars_fixed=False,\n", - " solver=\"ipopt\",\n", - " optarg={\"tol\": 1e-8},\n", - " ):\n", - " \"\"\"\n", - " Initialisation routine for property package.\n", - "\n", - " Keyword Arguments:\n", - " flow_mol : value at which to initialize component flows\n", - " (default=None)\n", - " pressure : value at which to initialize pressure (default=None)\n", - " temperature : value at which to initialize temperature\n", - " (default=None)\n", - " outlvl : sets output level of initialisation routine\n", - "\n", - " * 0 = no output (default)\n", - " * 1 = return solver state for each step in routine\n", - " * 2 = include solver output information (tee=True)\n", - " state_vars_fixed: Flag to denote if state vars have already been\n", - " fixed.\n", - " - True - states have already been fixed by the\n", - " control volume 1D. Control volume 0D\n", - " does not fix the state vars, so will\n", - " be False if this state block is used\n", - " with 0D blocks.\n", - " - False - states have not been fixed. The state\n", - " block will deal with fixing/unfixing.\n", - " optarg : solver options dictionary object (default=None)\n", - " solver : str indicating which solver to use during\n", - " initialization (default = 'ipopt')\n", - " hold_state : flag indicating whether the initialization routine\n", - " should unfix any state variables fixed during\n", - " initialization (default=False).\n", - " - True - states variables are not unfixed, and\n", - " a dict of returned containing flags for\n", - " which states were fixed during\n", - " initialization.\n", - " - False - state variables are unfixed after\n", - " initialization by calling the\n", - " release_state method\n", - "\n", - " Returns:\n", - " If hold_states is True, returns a dict containing flags for\n", - " which states were fixed during initialization.\n", - " \"\"\"\n", - " if state_vars_fixed is False:\n", - " # Fix state variables if not already fixed\n", - " Fcflag = {}\n", - " Pflag = {}\n", - " Tflag = {}\n", - "\n", - " for k in blk.keys():\n", - " if blk[k].flow_mol.fixed is True:\n", - " Fcflag[k] = True\n", - " else:\n", - " Fcflag[k] = False\n", - " if state_args is None:\n", - " blk[k].flow_mol.fix()\n", - " else:\n", - " blk[k].flow_mol.fix(state_args[\"flow_mol\"])\n", - "\n", - " if blk[k].pressure.fixed is True:\n", - " Pflag[k] = True\n", - " else:\n", - " Pflag[k] = False\n", - " if state_args is None:\n", - " blk[k].pressure.fix()\n", - " else:\n", - " blk[k].pressure.fix(state_args[\"pressure\"])\n", - "\n", - " if blk[k].temperature.fixed is True:\n", - " Tflag[k] = True\n", - " else:\n", - " Tflag[k] = False\n", - " if state_args is None:\n", - " blk[k].temperature.fix()\n", - " else:\n", - " blk[k].temperature.fix(state_args[\"temperature\"])\n", - "\n", - " # If input block, return flags, else release state\n", - " flags = {\"Fcflag\": Fcflag, \"Pflag\": Pflag, \"Tflag\": Tflag}\n", - "\n", - " else:\n", - " # Check when the state vars are fixed already result in dof 0\n", - " for k in blk.keys():\n", - " if degrees_of_freedom(blk[k]) != 0:\n", - " raise Exception(\n", - " \"State vars fixed but degrees of freedom \"\n", - " \"for state block is not zero during \"\n", - " \"initialization.\"\n", - " )\n", - "\n", - " if state_vars_fixed is False:\n", - " if hold_state is True:\n", - " return flags\n", - " else:\n", - " blk.release_state(flags)\n", - "\n", - " def release_state(blk, flags, outlvl=0):\n", - " \"\"\"\n", - " Method to release state variables fixed during initialisation.\n", - "\n", - " Keyword Arguments:\n", - " flags : dict containing information of which state variables\n", - " were fixed during initialization, and should now be\n", - " unfixed. This dict is returned by initialize if\n", - " hold_state=True.\n", - " outlvl : sets output level of of logging\n", - " \"\"\"\n", - " if flags is None:\n", - " return\n", - "\n", - " # Unfix state variables\n", - " for k in blk.keys():\n", - " if flags[\"Fcflag\"][k] is False:\n", - " blk[k].flow_mol.unfix()\n", - " if flags[\"Pflag\"][k] is False:\n", - " blk[k].pressure.unfix()\n", - " if flags[\"Tflag\"][k] is False:\n", - " blk[k].temperature.unfix()\n", - "\n", - " if outlvl > 0:\n", - " if outlvl > 0:\n", - " _log.info(\"{} State Released.\".format(blk.name))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we have our property package ready for being used in the flowsheet for optimization. We shall see that in the next part of this tutorial, [flowsheet_optimization](./flowsheet_optimization_usr.ipynb). To learn in detail about making a custom property package, one should go through [Property Package Example](../../../properties/custom/custom_physical_property_packages_usr.ipynb). " - ] - } - ], - "metadata": { - "language_info": { - "name": "python" - }, - "orig_nbformat": 4 - }, - "nbformat": 4, - "nbformat_minor": 3 -} + "nbformat": 4, + "nbformat_minor": 3 +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/surrogates/solution.pickle b/idaes_examples/notebooks/docs/surrogates/solution.pickle index 260d20b24e99fa30e567336e19c1a648748cfea3..62e0b384a2585be5ebc9f8b9dc381e3920800653 100644 GIT binary patch literal 109169 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
z
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
agpel&Wx);26dr;uk?9^JqL{Dzyz&=Oph!gk

literal 109177
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
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\tut\\core\\flash_unit_doc_33_51.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# import the solve_successful checking function from workshop tools\n", "from idaes_examples.mod.tut.workshoptools import solve_successful\n", @@ -1281,434 +593,13 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "metadata": { "tags": [ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Simulating with Q = -17000.0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -16142.857142857143\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -15285.714285714286\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -14428.571428571428\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -13571.428571428572\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -12714.285714285714\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -11857.142857142857\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -11000.0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -10142.857142857143\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -9285.714285714286\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -8428.57142857143\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -7571.4285714285725\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -6714.285714285714\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -5857.142857142857\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -5000.0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -4142.857142857143\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -3285.7142857142862\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -2428.5714285714294\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -1571.4285714285725\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -714.2857142857156\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 142.8571428571413\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 1000.0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 1857.142857142855\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 2714.2857142857138\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 3571.4285714285725\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 4428.5714285714275\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 5285.714285714286\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 6142.857142857141\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 7000.0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 7857.142857142855\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 8714.285714285714\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 9571.428571428569\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 10428.571428571428\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 11285.714285714286\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 12142.857142857141\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 13000.0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 13857.142857142855\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 14714.285714285714\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 15571.428571428569\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 16428.571428571428\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 17285.714285714283\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 18142.857142857145\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 19000.0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 19857.142857142855\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 20714.28571428571\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 21571.428571428572\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 22428.571428571428\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 23285.714285714283\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 24142.857142857145\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 25000.0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\tut\\core\\flash_unit_doc_35_51.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# Todo: generate a figure of heat duty vs. mole fraction of Benzene in the vapor\n", "Q = []\n", @@ -1761,111 +652,13 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "metadata": { "tags": [ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 137\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 72\n", - "\n", - "Total number of variables............................: 42\n", - " variables with only lower bounds: 3\n", - " variables with lower and upper bounds: 10\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 42\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 3.40e-02 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 1.64e+02 7.01e-02 -1.0 5.15e+03 - 9.87e-01 1.00e+00h 1\n", - " 2 0.0000000e+00 9.59e-02 2.03e-03 -1.0 7.07e+01 - 9.90e-01 1.00e+00h 1\n", - " 3 0.0000000e+00 6.95e-08 2.50e-06 -1.0 4.13e-01 - 9.98e-01 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 8.9144743362344083e-11 6.9545421865768731e-08\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 8.9144743362344083e-11 6.9545421865768731e-08\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\b\b\b\b\b\b\b\b\b\b\b\b\b\b" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.flash Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 5083.6 : watt : False : (None, None)\n", - " Pressure Change : 0.0000 : pascal : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Vapor Outlet Liquid Outlet\n", - " flow_mol mole / second 1.0000 0.54833 0.45167 \n", - " mole_frac_comp benzene dimensionless 0.50000 0.60000 0.37860 \n", - " mole_frac_comp toluene dimensionless 0.50000 0.40000 0.62140 \n", - " temperature kelvin 368.00 369.07 369.07 \n", - " pressure pascal 1.0132e+05 1.0132e+05 1.0132e+05 \n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "# re-initialize the model - this may or may not be required depending on current state but safe to initialize\n", "m.fs.flash.heat_duty.fix(0)\n", @@ -1904,9 +697,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.9.12" } }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/tut/core/flash_unit_exercise.ipynb b/idaes_examples/notebooks/docs/tut/core/flash_unit_exercise.ipynb index 19e3b691..5796d309 100644 --- a/idaes_examples/notebooks/docs/tut/core/flash_unit_exercise.ipynb +++ b/idaes_examples/notebooks/docs/tut/core/flash_unit_exercise.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -654,4 +655,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/tut/core/flash_unit_solution.ipynb b/idaes_examples/notebooks/docs/tut/core/flash_unit_solution.ipynb index 6b4b3752..32e9ed14 100644 --- a/idaes_examples/notebooks/docs/tut/core/flash_unit_solution.ipynb +++ b/idaes_examples/notebooks/docs/tut/core/flash_unit_solution.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -893,4 +894,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/tut/core/flash_unit_test.ipynb b/idaes_examples/notebooks/docs/tut/core/flash_unit_test.ipynb index 562af431..43a33b80 100644 --- a/idaes_examples/notebooks/docs/tut/core/flash_unit_test.ipynb +++ b/idaes_examples/notebooks/docs/tut/core/flash_unit_test.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -814,4 +815,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/tut/core/flash_unit_usr.ipynb b/idaes_examples/notebooks/docs/tut/core/flash_unit_usr.ipynb index 6b4b3752..32e9ed14 100644 --- a/idaes_examples/notebooks/docs/tut/core/flash_unit_usr.ipynb +++ b/idaes_examples/notebooks/docs/tut/core/flash_unit_usr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -893,4 +894,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/tut/core/hda_flowsheet.ipynb b/idaes_examples/notebooks/docs/tut/core/hda_flowsheet.ipynb index a7645f92..4f913d3f 100644 --- a/idaes_examples/notebooks/docs/tut/core/hda_flowsheet.ipynb +++ b/idaes_examples/notebooks/docs/tut/core/hda_flowsheet.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/tut/core/hda_flowsheet_doc.ipynb b/idaes_examples/notebooks/docs/tut/core/hda_flowsheet_doc.ipynb index 2d862e0d..793e5f04 100644 --- a/idaes_examples/notebooks/docs/tut/core/hda_flowsheet_doc.ipynb +++ b/idaes_examples/notebooks/docs/tut/core/hda_flowsheet_doc.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/tut/core/hda_flowsheet_exercise.ipynb b/idaes_examples/notebooks/docs/tut/core/hda_flowsheet_exercise.ipynb index bcdc90bb..1bb4ae0e 100644 --- a/idaes_examples/notebooks/docs/tut/core/hda_flowsheet_exercise.ipynb +++ b/idaes_examples/notebooks/docs/tut/core/hda_flowsheet_exercise.ipynb @@ -1,1344 +1,1345 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "# HDA Flowsheet Simulation and Optimization\n", - "\n", - "Author: Jaffer Ghouse \n", - "Maintainer: Brandon Paul \n", - "Updated: 2023-06-01 \n", - "\n", - "## Learning outcomes\n", - "\n", - "\n", - "- Construct a steady-state flowsheet using the IDAES unit model library\n", - "- Connecting unit models in a flowsheet using Arcs\n", - "- Using the SequentialDecomposition tool to initialize a flowsheet with recycle\n", - "- Fomulate and solve an optimization problem\n", - " - Defining an objective function\n", - " - Setting variable bounds\n", - " - Adding additional constraints \n", - "\n", - "\n", - "## Problem Statement\n", - "\n", - "Hydrodealkylation is a chemical reaction that often involves reacting\n", - "an aromatic hydrocarbon in the presence of hydrogen gas to form a\n", - "simpler aromatic hydrocarbon devoid of functional groups. In this\n", - "example, toluene will be reacted with hydrogen gas at high temperatures\n", - " to form benzene via the following reaction:\n", - "\n", - "**C6H5CH3 + H2 → C6H6 + CH4**\n", - "\n", - "\n", - "This reaction is often accompanied by an equilibrium side reaction\n", - "which forms diphenyl, which we will neglect for this example.\n", - "\n", - "This example is based on the 1967 AIChE Student Contest problem as\n", - "present by Douglas, J.M., Chemical Design of Chemical Processes, 1988,\n", - "McGraw-Hill.\n", - "\n", - "The flowsheet that we will be using for this module is shown below with the stream conditions. We will be processing toluene and hydrogen to produce at least 370 TPY of benzene. As shown in the flowsheet, there are two flash tanks, F101 to separate out the non-condensibles and F102 to further separate the benzene-toluene mixture to improve the benzene purity. Note that typically a distillation column is required to obtain high purity benzene but that is beyond the scope of this workshop. The non-condensibles separated out in F101 will be partially recycled back to M101 and the rest will be either purged or combusted for power generation.We will assume ideal gas for this flowsheet. The properties required for this module are available in the same directory:\n", - "\n", - "- hda_ideal_VLE.py\n", - "- hda_reaction.py\n", - "\n", - "The state variables chosen for the property package are **flows of component by phase, temperature and pressure**. The components considered are: **toluene, hydrogen, benzene and methane**. Therefore, every stream has 8 flow variables, 1 temperature and 1 pressure variable. \n", - "\n", - "![](HDA_flowsheet.png)\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing required pyomo and idaes components\n", - "\n", - "\n", - "To construct a flowsheet, we will need several components from the pyomo and idaes package. Let us first import the following components from Pyomo:\n", - "- Constraint (to write constraints)\n", - "- Var (to declare variables)\n", - "- ConcreteModel (to create the concrete model object)\n", - "- Expression (to evaluate values as a function of variables defined in the model)\n", - "- Objective (to define an objective function for optimization)\n", - "- SolverFactory (to solve the problem)\n", - "- TransformationFactory (to apply certain transformations)\n", - "- Arc (to connect two unit models)\n", - "- SequentialDecomposition (to initialize the flowsheet in a sequential mode)\n", - "\n", - "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/stable/\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.environ import (\n", - " Constraint,\n", - " Var,\n", - " ConcreteModel,\n", - " Expression,\n", - " Objective,\n", - " SolverFactory,\n", - " TransformationFactory,\n", - " value,\n", - ")\n", - "from pyomo.network import Arc, SequentialDecomposition" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "From idaes, we will be needing the FlowsheetBlock and the following unit models:\n", - "- Mixer\n", - "- Heater\n", - "- StoichiometricReactor\n", - "- **Flash**\n", - "- Separator (splitter) \n", - "- PressureChanger" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.core import FlowsheetBlock" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.models.unit_models import (\n", - " PressureChanger,\n", - " Mixer,\n", - " Separator as Splitter,\n", - " Heater,\n", - " StoichiometricReactor,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Now, import the remaining unit models highlighted in blue above and run the cell using `Shift+Enter` after typing in the code. \n", - "
\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: import flash model from idaes.models.unit_models" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will also be needing some utility tools to put together the flowsheet and calculate the degrees of freedom. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "\n", - "# Import idaes logger to set output levels\n", - "import idaes.logger as idaeslog\n", - "from idaes.core.solvers import get_solver\n", - "from idaes.core.util.exceptions import InitializationError" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing required thermo and reaction package\n", - "\n", - "The final set of imports are to import the thermo and reaction package for the HDA process. We have created a custom thermo package that assumes Ideal Gas with support for VLE. \n", - "\n", - "The reaction package here is very simple as we will be using only a StochiometricReactor and the reaction package consists of the stochiometric coefficients for the reaction and the parameter for the heat of reaction. \n", - "\n", - "Let us import the following modules and they are in the same directory as this jupyter notebook:\n", - "
    \n", - "
  • hda_ideal_VLE as thermo_props
  • \n", - "
  • hda_reaction as reaction_props
  • \n", - "
\n", - "

Zo_Im{ZHAYB!&Z7#V8#cwhQ@_>qJKmm*K)l& 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 G<^KTucSvRc diff --git a/idaes_examples/notebooks/docs/tut/core/flash_unit.ipynb b/idaes_examples/notebooks/docs/tut/core/flash_unit.ipynb index 6dc88109..f2e10b28 100644 --- a/idaes_examples/notebooks/docs/tut/core/flash_unit.ipynb +++ b/idaes_examples/notebooks/docs/tut/core/flash_unit.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/tut/core/flash_unit_doc.ipynb b/idaes_examples/notebooks/docs/tut/core/flash_unit_doc.ipynb index 9432ccbe..0799e67a 100644 --- a/idaes_examples/notebooks/docs/tut/core/flash_unit_doc.ipynb +++ b/idaes_examples/notebooks/docs/tut/core/flash_unit_doc.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -67,7 +68,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -92,7 +93,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -120,24 +121,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1 Block Declarations\n", - " fs : Size=1, Index=None, Active=True\n", - " 1 Set Declarations\n", - " _time : Size=1, Index=None, Ordered=Insertion\n", - " Key : Dimen : Domain : Size : Members\n", - " None : 1 : Any : 1 : {0.0,}\n", - "\n", - " 1 Declarations: _time\n", - "\n", - "1 Declarations: fs\n" - ] - } - ], + "outputs": [], "source": [ "# Todo: call pprint on the model\n", "m.pprint()" @@ -255,31 +239,13 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "metadata": { "tags": [ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Help on function degrees_of_freedom in module idaes.core.util.model_statistics:\n", - "\n", - "degrees_of_freedom(block)\n", - " Method to return the degrees of freedom of a model.\n", - " \n", - " Args:\n", - " block : model to be studied\n", - " \n", - " Returns:\n", - " Number of degrees of freedom in block.\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "# Todo: import the degrees_of_freedom function from the idaes.core.util.model_statistics package\n", "from idaes.core.util.model_statistics import degrees_of_freedom\n", @@ -300,21 +266,13 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 12, "metadata": { "tags": [ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Degrees of Freedom = 7\n" - ] - } - ], + "outputs": [], "source": [ "# Todo: print the degrees of freedom for your model\n", "print(\"Degrees of Freedom =\", degrees_of_freedom(m))" @@ -369,7 +327,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 15, "metadata": { "tags": [ "solution" @@ -401,21 +359,13 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 17, "metadata": { "tags": [ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Degrees of Freedom = 0\n" - ] - } - ], + "outputs": [], "source": [ "# Todo: print the degrees of freedom for your model\n", "print(\"Degrees of Freedom =\", degrees_of_freedom(m))" @@ -437,112 +387,13 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 20, "metadata": { "tags": [ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:25 [INFO] idaes.init.fs.flash.control_volume.properties_in: Initialization Step 1 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:25 [INFO] idaes.init.fs.flash.control_volume.properties_in: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:25 [INFO] idaes.init.fs.flash.control_volume.properties_in: Initialization Step 3 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:25 [INFO] idaes.init.fs.flash.control_volume.properties_in: Initialization Step 4 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:25 [INFO] idaes.init.fs.flash.control_volume.properties_in: Initialization Step 5 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:25 [INFO] idaes.init.fs.flash.control_volume.properties_out: Initialization Step 1 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:25 [INFO] idaes.init.fs.flash.control_volume.properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:25 [INFO] idaes.init.fs.flash.control_volume.properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:25 [INFO] idaes.init.fs.flash.control_volume.properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:25 [INFO] idaes.init.fs.flash.control_volume.properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:25 [INFO] idaes.init.fs.flash.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:25 [INFO] idaes.init.fs.flash.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:25 [INFO] idaes.init.fs.flash.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:25 [INFO] idaes.init.fs.flash: Initialization Complete: optimal - Optimal Solution Found\n" - ] - } - ], + "outputs": [], "source": [ "# Todo: initialize the flash unit\n", "m.fs.flash.initialize(outlvl=idaeslog.INFO)" @@ -562,81 +413,13 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 22, "metadata": { "tags": [ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 135\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 72\n", - "\n", - "Total number of variables............................: 41\n", - " variables with only lower bounds: 3\n", - " variables with lower and upper bounds: 10\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 41\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 1.46e-11 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "\n", - "Number of Iterations....: 0\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 5.6292494973376915e-12 1.4551915228366852e-11\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 5.6292494973376915e-12 1.4551915228366852e-11\n", - "\n", - "\n", - "Number of objective function evaluations = 1\n", - "Number of objective gradient evaluations = 1\n", - "Number of equality constraint evaluations = 1\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 1\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 0\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\b\b\b\b\b\b\b\b\b\b\b\b\b\b" - ] - } - ], + "outputs": [], "source": [ "# Todo: create the ipopt solver\n", "solver = SolverFactory(\"ipopt\")\n", @@ -670,31 +453,9 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 24, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Pressure = 101325.0\n", - "\n", - "Output from display:\n", - "vap_outlet : Size=1\n", - " Key : Name : Value\n", - " None : flow_mol : {0.0: 0.39611817487741735}\n", - " : mole_frac_comp : {(0.0, 'benzene'): 0.6339766485081294, (0.0, 'toluene'): 0.36602335149187054}\n", - " : pressure : {0.0: 101325.0}\n", - " : temperature : {0.0: 368.0}\n", - "liq_outlet : Size=1\n", - " Key : Name : Value\n", - " None : flow_mol : {0.0: 0.6038818251225827}\n", - " : mole_frac_comp : {(0.0, 'benzene'): 0.4121175977229309, (0.0, 'toluene'): 0.587882402277069}\n", - " : pressure : {0.0: 101325.0}\n", - " : temperature : {0.0: 368.0}\n" - ] - } - ], + "outputs": [], "source": [ "# Print the pressure of the flash vapor outlet\n", "print(\"Pressure =\", value(m.fs.flash.vap_outlet.pressure[0]))\n", @@ -720,37 +481,9 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 25, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.flash Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 0.0000 : watt : True : (None, None)\n", - " Pressure Change : 0.0000 : pascal : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Vapor Outlet Liquid Outlet\n", - " flow_mol mole / second 1.0000 0.39612 0.60388 \n", - " mole_frac_comp benzene dimensionless 0.50000 0.63398 0.41212 \n", - " mole_frac_comp toluene dimensionless 0.50000 0.36602 0.58788 \n", - " temperature kelvin 368.00 368.00 368.00 \n", - " pressure pascal 1.0132e+05 1.0132e+05 1.0132e+05 \n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "m.fs.flash.report()" ] @@ -772,7 +505,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 27, "metadata": {}, "outputs": [], "source": [ @@ -795,435 +528,14 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 30, "metadata": { "scrolled": true, "tags": [ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Simulating with Q = -17000.0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -16142.857142857143\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -15285.714285714286\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -14428.571428571428\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -13571.428571428572\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -12714.285714285714\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -11857.142857142857\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -11000.0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -10142.857142857143\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -9285.714285714286\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -8428.57142857143\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -7571.4285714285725\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -6714.285714285714\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -5857.142857142857\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -5000.0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -4142.857142857143\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -3285.7142857142862\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -2428.5714285714294\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -1571.4285714285725\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = -714.2857142857156\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 142.8571428571413\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 1000.0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 1857.142857142855\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 2714.2857142857138\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 3571.4285714285725\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 4428.5714285714275\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 5285.714285714286\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 6142.857142857141\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 7000.0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 7857.142857142855\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 8714.285714285714\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 9571.428571428569\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 10428.571428571428\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 11285.714285714286\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 12142.857142857141\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 13000.0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 13857.142857142855\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 14714.285714285714\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 15571.428571428569\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 16428.571428571428\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 17285.714285714283\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 18142.857142857145\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 19000.0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 19857.142857142855\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 20714.28571428571\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 21571.428571428572\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 22428.571428571428\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 23285.714285714283\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 24142.857142857145\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n", - "Simulating with Q = 25000.0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "... solve successful.\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes_examples.mod.hda import hda_ideal_VLE as thermo_props\n", - "from idaes_examples.mod.hda import hda_reaction as reaction_props" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Constructing the Flowsheet\n", - "\n", - "We have now imported all the components, unit models, and property modules we need to construct a flowsheet. Let us create a ConcreteModel and add the flowsheet block as we did in module 1. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m = ConcreteModel()\n", - "m.fs = FlowsheetBlock(dynamic=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We now need to add the property packages to the flowsheet. Unlike Module 1, where we only had a thermo property package, for this flowsheet we will also need to add a reaction property package. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.thermo_params = thermo_props.HDAParameterBlock()\n", - "m.fs.reaction_params = reaction_props.HDAReactionParameterBlock(\n", - " property_package=m.fs.thermo_params\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding Unit Models\n", - "\n", - "Let us start adding the unit models we have imported to the flowsheet. Here, we are adding the Mixer (assigned a name M101) and a Heater (assigned a name H101). Note that, all unit models need to be given a property package argument. In addition to that, there are several arguments depending on the unit model, please refer to the documentation for more details (https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/generic/unit_models/index.html). For example, the Mixer unit model here is given a `list` consisting of names to the three inlets. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.M101 = Mixer(\n", - " property_package=m.fs.thermo_params,\n", - " inlet_list=[\"toluene_feed\", \"hydrogen_feed\", \"vapor_recycle\"],\n", - ")\n", - "\n", - "m.fs.H101 = Heater(\n", - " property_package=m.fs.thermo_params,\n", - " has_pressure_change=False,\n", - " has_phase_equilibrium=True,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Let us now add the StoichiometricReactor(assign the name R101) and pass the following arguments:\n", - "
    \n", - "
  • \"property_package\": m.fs.thermo_params
  • \n", - "
  • \"reaction_package\": m.fs.reaction_params
  • \n", - "
  • \"has_heat_of_reaction\": True
  • \n", - "
  • \"has_heat_transfer\": True
  • \n", - "
  • \"has_pressure_change\": False
  • \n", - "
\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add reactor with the specifications above" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us now add the Flash(assign the name F101) and pass the following arguments:\n", - "
    \n", - "
  • \"property_package\": m.fs.thermo_params
  • \n", - "
  • \"has_heat_transfer\": True
  • \n", - "
  • \"has_pressure_change\": False
  • \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.F101 = Flash(\n", - " property_package=m.fs.thermo_params,\n", - " has_heat_transfer=True,\n", - " has_pressure_change=True,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us now add the Splitter(S101), PressureChanger(C101) and the second Flash(F102). " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.S101 = Splitter(\n", - " property_package=m.fs.thermo_params,\n", - " ideal_separation=False,\n", - " outlet_list=[\"purge\", \"recycle\"],\n", - ")\n", - "\n", - "\n", - "m.fs.C101 = PressureChanger(\n", - " property_package=m.fs.thermo_params,\n", - " compressor=True,\n", - " thermodynamic_assumption=ThermodynamicAssumption.isothermal,\n", - ")\n", - "\n", - "m.fs.F102 = Flash(\n", - " property_package=m.fs.thermo_params,\n", - " has_heat_transfer=True,\n", - " has_pressure_change=True,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Connecting Unit Models using Arcs\n", - "\n", - "We have now added all the unit models we need to the flowsheet. However, we have not yet specified how the units are to be connected. To do this, we will be using the `Arc` which is a pyomo component that takes in two arguments: `source` and `destination`. Let us connect the outlet of the mixer(M101) to the inlet of the heater(H101). " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.H101.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "![](HDA_flowsheet.png) \n", - "\n", - "
\n", - "Inline Exercise:\n", - "Now, connect the H101 outlet to the R101 inlet using the cell above as a guide. \n", - "
\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Connect the H101 outlet to R101 inlet" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will now be connecting the rest of the flowsheet as shown below. Notice how the outlet names are different for the flash tanks F101 and F102 as they have a vapor and a liquid outlet. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.s05 = Arc(source=m.fs.R101.outlet, destination=m.fs.F101.inlet)\n", - "m.fs.s06 = Arc(source=m.fs.F101.vap_outlet, destination=m.fs.S101.inlet)\n", - "m.fs.s08 = Arc(source=m.fs.S101.recycle, destination=m.fs.C101.inlet)\n", - "m.fs.s09 = Arc(source=m.fs.C101.outlet, destination=m.fs.M101.vapor_recycle)\n", - "m.fs.s10 = Arc(source=m.fs.F101.liq_outlet, destination=m.fs.F102.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We have now connected the unit model block using the arcs. However, each of these arcs link to ports on the two unit models that are connected. In this case, the ports consist of the state variables that need to be linked between the unit models. Pyomo provides a convenient method to write these equality constraints for us between two ports and this is done as follows:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "TransformationFactory(\"network.expand_arcs\").apply_to(m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding expressions to compute purity and operating costs\n", - "\n", - "In this section, we will add a few Expressions that allows us to evaluate the performance. Expressions provide a convenient way of calculating certain values that are a function of the variables defined in the model. For more details on Expressions, please refer to: https://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html\n", - "\n", - "For this flowsheet, we are interested in computing the purity of the product Benzene stream (i.e. the mole fraction) and the operating cost which is a sum of the cooling and heating cost. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us first add an Expression to compute the mole fraction of benzene in the `vap_outlet` of F102 which is our product stream. Please note that the var flow_mol_phase_comp has the index - [time, phase, component]. As this is a steady-state flowsheet, the time index by default is 0. The valid phases are [\"Liq\", \"Vap\"]. Similarly the valid component list is [\"benzene\", \"toluene\", \"hydrogen\", \"methane\"]." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.purity = Expression(\n", - " expr=m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", - " / (\n", - " m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", - " + m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " )\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, let us add an expression to compute the cooling cost assuming a cost of 0.212E-4 $/kW. Note that cooling utility is required for the reactor (R101) and the first flash (F101). " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.cooling_cost = Expression(\n", - " expr=0.212e-7 * (-m.fs.F101.heat_duty[0]) + 0.212e-7 * (-m.fs.R101.heat_duty[0])\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "Now, let us add an expression to compute the heating cost assuming the utility cost as follows:\n", - "
    \n", - "
  • 2.2E-4 dollars/kW for H101
  • \n", - "
  • 1.9E-4 dollars/kW for F102
  • \n", - "
\n", - "Note that the heat duty is in units of watt (J/s). " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.heating_cost = Expression(\n", - " expr=2.2e-7 * m.fs.H101.heat_duty[0] + 1.9e-7 * m.fs.F102.heat_duty[0]\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us now add an expression to compute the total operating cost per year which is basically the sum of the cooling and heating cost we defined above. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.operating_cost = Expression(\n", - " expr=(3600 * 24 * 365 * (m.fs.heating_cost + m.fs.cooling_cost))\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Fixing feed conditions\n", - "\n", - "Let us first check how many degrees of freedom exist for this flowsheet using the `degrees_of_freedom` tool we imported earlier. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will now be fixing the toluene feed stream to the conditions shown in the flowsheet above. Please note that though this is a pure toluene feed, the remaining components are still assigned a very small non-zero value to help with convergence and initializing. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(0.30)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.temperature.fix(303.2)\n", - "m.fs.M101.toluene_feed.pressure.fix(350000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "Similarly, let us fix the hydrogen feed to the following conditions in the next cell:\n", - "
    \n", - "
  • FH2 = 0.30 mol/s
  • \n", - "
  • FCH4 = 0.02 mol/s
  • \n", - "
  • Remaining components = 1e-5 mol/s
  • \n", - "
  • T = 303.2 K
  • \n", - "
  • P = 350000 Pa
  • \n", - "
\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(0.30)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(0.02)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.temperature.fix(303.2)\n", - "m.fs.M101.hydrogen_feed.pressure.fix(350000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Fixing unit model specifications\n", - "\n", - "Now that we have fixed our inlet feed conditions, we will now be fixing the operating conditions for the unit models in the flowsheet. Let us set set the H101 outlet temperature to 600 K. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.H101.outlet.temperature.fix(600)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For the StoichiometricReactor, we have to define the conversion in terms of toluene. This requires us to create a new variable for specifying the conversion and adding a Constraint that defines the conversion with respect to toluene. The second degree of freedom for the reactor is to define the heat duty. In this case, let us assume the reactor to be adiabatic i.e. Q = 0. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.R101.conversion = Var(initialize=0.75, bounds=(0, 1))\n", - "\n", - "m.fs.R101.conv_constraint = Constraint(\n", - " expr=m.fs.R101.conversion * m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " == (\n", - " m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " - m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " )\n", - ")\n", - "\n", - "m.fs.R101.conversion.fix(0.75)\n", - "m.fs.R101.heat_duty.fix(0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The Flash conditions for F101 can be set as follows. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.F101.vap_outlet.temperature.fix(325.0)\n", - "m.fs.F101.deltaP.fix(0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Set the conditions for Flash F102 to the following conditions:\n", - "
    \n", - "
  • T = 375 K
  • \n", - "
  • deltaP = -200000
  • \n", - "
\n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Set conditions for Flash F102" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us fix the purge split fraction to 20% and the outlet pressure of the compressor is set to 350000 Pa. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.S101.split_fraction[0, \"purge\"].fix(0.2)\n", - "m.fs.C101.outlet.pressure.fix(350000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "We have now defined all the feed conditions and the inputs required for the unit models. The system should now have 0 degrees of freedom i.e. should be a square problem. Please check that the degrees of freedom is 0. \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: print the degrees of freedom" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Initialization\n", - "\n", - "\n", - "This section will demonstrate how to use the built-in sequential decomposition tool to initialize our flowsheet.\n", - "\n", - "![](HDA_flowsheet.png) \n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us first create an object for the SequentialDecomposition and specify our options for this. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "seq = SequentialDecomposition()\n", - "seq.options.select_tear_method = \"heuristic\"\n", - "seq.options.tear_method = \"Wegstein\"\n", - "seq.options.iterLim = 3\n", - "\n", - "# Using the SD tool\n", - "G = seq.create_graph(m)\n", - "heuristic_tear_set = seq.tear_set_arcs(G, method=\"heuristic\")\n", - "order = seq.calculation_order(G)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Which is the tear stream? Display tear set and order" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "for o in heuristic_tear_set:\n", - " print(o.name)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "What sequence did the SD tool determine to solve this flowsheet with the least number of tears? " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "for o in order:\n", - " print(o[0].name)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - " \n", - "\n", - "![](HDA_tear_stream.png) \n", - "\n", - "\n", - "The SequentialDecomposition tool has determined that the tear stream is the mixer outlet. We will need to provide a reasonable guess for this." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "tear_guesses = {\n", - " \"flow_mol_phase_comp\": {\n", - " (0, \"Vap\", \"benzene\"): 1e-5,\n", - " (0, \"Vap\", \"toluene\"): 1e-5,\n", - " (0, \"Vap\", \"hydrogen\"): 0.30,\n", - " (0, \"Vap\", \"methane\"): 0.02,\n", - " (0, \"Liq\", \"benzene\"): 1e-5,\n", - " (0, \"Liq\", \"toluene\"): 0.30,\n", - " (0, \"Liq\", \"hydrogen\"): 1e-5,\n", - " (0, \"Liq\", \"methane\"): 1e-5,\n", - " },\n", - " \"temperature\": {0: 303},\n", - " \"pressure\": {0: 350000},\n", - "}\n", - "\n", - "# Pass the tear_guess to the SD tool\n", - "seq.set_guesses_for(m.fs.H101.inlet, tear_guesses)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we need to tell the tool how to initialize a particular unit. We will be writing a python function which takes in a \"unit\" and calls the initialize method on that unit. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "def function(unit):\n", - " try:\n", - " initializer = unit.default_initializer()\n", - " initializer.initialize(unit, output_level=idaeslog.INFO)\n", - " except InitializationError:\n", - " solver = get_solver()\n", - " solver.solve(unit)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We are now ready to initialize our flowsheet in a sequential mode. Note that we specifically set the iteration limit to be 5 as we are trying to use this tool only to get a good set of initial values such that IPOPT can then take over and solve this flowsheet for us. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "seq.run(m, function)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "We have now initialized the flowsheet. Let us run the flowsheet in a simulation mode to look at the results. To do this, complete the last line of code where we pass the model to the solver. You will need to type the following:\n", - " \n", - "results = solver.solve(m, tee=True)\n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Create the solver object\n", - "\n", - "\n", - "# Solve the model" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Analyze the results of the square problem\n", - "\n", - "\n", - "What is the total operating cost? " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(\"operating cost = $\", value(m.fs.operating_cost))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For this operating cost, what is the amount of benzene we are able to produce and what purity we are able to achieve? " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.F102.report()\n", - "\n", - "print()\n", - "print(\"benzene purity = \", value(m.fs.purity))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, let's look at how much benzene we are losing with the light gases out of F101. IDAES has tools for creating stream tables based on the `Arcs` and/or `Ports` in a flowsheet. Let us create and print a simple stream table showing the stream leaving the reactor and the vapor stream from F101.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "How much benzene are we losing in the F101 vapor outlet stream?\n", - "
\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.core.util.tables import (\n", - " create_stream_table_dataframe,\n", - " stream_table_dataframe_to_string,\n", - ")\n", - "\n", - "st = create_stream_table_dataframe({\"Reactor\": m.fs.s05, \"Light Gases\": m.fs.s06})\n", - "print(stream_table_dataframe_to_string(st))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "You can query additional variables here if you like. \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Optimization\n", - "\n", - "\n", - "We saw from the results above that the total operating cost for the base case was $419,122 per year. We are producing 0.142 mol/s of benzene at a purity of 82\\%. However, we are losing around 42\\% of benzene in F101 vapor outlet stream. \n", - "\n", - "Let us try to minimize this cost such that:\n", - "- we are producing at least 0.15 mol/s of benzene in F102 vapor outlet i.e. our product stream\n", - "- purity of benzene i.e. the mole fraction of benzene in F102 vapor outlet is at least 80%\n", - "- restricting the benzene loss in F101 vapor outlet to less than 20%\n", - "\n", - "For this problem, our decision variables are as follows:\n", - "- H101 outlet temperature\n", - "- R101 cooling duty provided\n", - "- F101 outlet temperature\n", - "- F102 outlet temperature\n", - "- F102 deltaP in the flash tank\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us declare our objective function for this problem. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.objective = Objective(expr=m.fs.operating_cost)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, we need to unfix the decision variables as we had solved a square problem (degrees of freedom = 0) until now. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.H101.outlet.temperature.unfix()\n", - "m.fs.R101.heat_duty.unfix()\n", - "m.fs.F101.vap_outlet.temperature.unfix()\n", - "m.fs.F102.vap_outlet.temperature.unfix()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Let us now unfix the remaining variable which is F102 pressure drop (F102.deltaP) \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Unfix deltaP for F102" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we need to set bounds on these decision variables to values shown below:\n", - "\n", - " - H101 outlet temperature [500, 600] K\n", - " - R101 outlet temperature [600, 800] K\n", - " - F101 outlet temperature [298, 450] K\n", - " - F102 outlet temperature [298, 450] K\n", - " - F102 outlet pressure [105000, 110000] Pa\n", - "\n", - "Let us first set the variable bound for the H101 outlet temperature as shown below:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.H101.outlet.temperature[0].setlb(500)\n", - "m.fs.H101.outlet.temperature[0].setub(600)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Now, set the variable bound for the R101 outlet temperature.\n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Set the bounds for reactor outlet temperature" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us fix the bounds for the rest of the decision variables. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.F101.vap_outlet.temperature[0].setlb(298.0)\n", - "m.fs.F101.vap_outlet.temperature[0].setub(450.0)\n", - "m.fs.F102.vap_outlet.temperature[0].setlb(298.0)\n", - "m.fs.F102.vap_outlet.temperature[0].setub(450.0)\n", - "m.fs.F102.vap_outlet.pressure[0].setlb(105000)\n", - "m.fs.F102.vap_outlet.pressure[0].setub(110000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, the only things left to define are our constraints on overhead loss in F101, product flow rate and purity in F102. Let us first look at defining a constraint for the overhead loss in F101 where we are restricting the benzene leaving the vapor stream to less than 20 \\% of the benzene available in the reactor outlet. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.overhead_loss = Constraint(\n", - " expr=m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", - " <= 0.20 * m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Now, add the constraint such that we are producing at least 0.15 mol/s of benzene in the product stream which is the vapor outlet of F102. Let us name this constraint as m.fs.product_flow. \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add minimum product flow constraint" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us add the final constraint on product purity or the mole fraction of benzene in the product stream such that it is at least greater than 80%. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.product_purity = Constraint(expr=m.fs.purity >= 0.80)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "We have now defined the optimization problem and we are now ready to solve this problem. \n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Optimization Results\n", - "\n", - "Display the results and product specifications" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(\"operating cost = $\", value(m.fs.operating_cost))\n", - "\n", - "print()\n", - "print(\"Product flow rate and purity in F102\")\n", - "\n", - "m.fs.F102.report()\n", - "\n", - "print()\n", - "print(\"benzene purity = \", value(m.fs.purity))\n", - "\n", - "print()\n", - "print(\"Overhead loss in F101\")\n", - "m.fs.F101.report()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Display optimal values for the decision variables" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(\"Optimal Values\")\n", - "print()\n", - "\n", - "print(\"H101 outlet temperature = \", value(m.fs.H101.outlet.temperature[0]), \"K\")\n", - "\n", - "print()\n", - "print(\"R101 outlet temperature = \", value(m.fs.R101.outlet.temperature[0]), \"K\")\n", - "\n", - "print()\n", - "print(\"F101 outlet temperature = \", value(m.fs.F101.vap_outlet.temperature[0]), \"K\")\n", - "\n", - "print()\n", - "print(\"F102 outlet temperature = \", value(m.fs.F102.vap_outlet.temperature[0]), \"K\")\n", - "print(\"F102 outlet pressure = \", value(m.fs.F102.vap_outlet.pressure[0]), \"Pa\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.12" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "# HDA Flowsheet Simulation and Optimization\n", + "\n", + "Author: Jaffer Ghouse \n", + "Maintainer: Brandon Paul \n", + "Updated: 2023-06-01 \n", + "\n", + "## Learning outcomes\n", + "\n", + "\n", + "- Construct a steady-state flowsheet using the IDAES unit model library\n", + "- Connecting unit models in a flowsheet using Arcs\n", + "- Using the SequentialDecomposition tool to initialize a flowsheet with recycle\n", + "- Fomulate and solve an optimization problem\n", + " - Defining an objective function\n", + " - Setting variable bounds\n", + " - Adding additional constraints \n", + "\n", + "\n", + "## Problem Statement\n", + "\n", + "Hydrodealkylation is a chemical reaction that often involves reacting\n", + "an aromatic hydrocarbon in the presence of hydrogen gas to form a\n", + "simpler aromatic hydrocarbon devoid of functional groups. In this\n", + "example, toluene will be reacted with hydrogen gas at high temperatures\n", + " to form benzene via the following reaction:\n", + "\n", + "**C6H5CH3 + H2 \u2192 C6H6 + CH4**\n", + "\n", + "\n", + "This reaction is often accompanied by an equilibrium side reaction\n", + "which forms diphenyl, which we will neglect for this example.\n", + "\n", + "This example is based on the 1967 AIChE Student Contest problem as\n", + "present by Douglas, J.M., Chemical Design of Chemical Processes, 1988,\n", + "McGraw-Hill.\n", + "\n", + "The flowsheet that we will be using for this module is shown below with the stream conditions. We will be processing toluene and hydrogen to produce at least 370 TPY of benzene. As shown in the flowsheet, there are two flash tanks, F101 to separate out the non-condensibles and F102 to further separate the benzene-toluene mixture to improve the benzene purity. Note that typically a distillation column is required to obtain high purity benzene but that is beyond the scope of this workshop. The non-condensibles separated out in F101 will be partially recycled back to M101 and the rest will be either purged or combusted for power generation.We will assume ideal gas for this flowsheet. The properties required for this module are available in the same directory:\n", + "\n", + "- hda_ideal_VLE.py\n", + "- hda_reaction.py\n", + "\n", + "The state variables chosen for the property package are **flows of component by phase, temperature and pressure**. The components considered are: **toluene, hydrogen, benzene and methane**. Therefore, every stream has 8 flow variables, 1 temperature and 1 pressure variable. \n", + "\n", + "![](HDA_flowsheet.png)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing required pyomo and idaes components\n", + "\n", + "\n", + "To construct a flowsheet, we will need several components from the pyomo and idaes package. Let us first import the following components from Pyomo:\n", + "- Constraint (to write constraints)\n", + "- Var (to declare variables)\n", + "- ConcreteModel (to create the concrete model object)\n", + "- Expression (to evaluate values as a function of variables defined in the model)\n", + "- Objective (to define an objective function for optimization)\n", + "- SolverFactory (to solve the problem)\n", + "- TransformationFactory (to apply certain transformations)\n", + "- Arc (to connect two unit models)\n", + "- SequentialDecomposition (to initialize the flowsheet in a sequential mode)\n", + "\n", + "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/stable/\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import (\n", + " Constraint,\n", + " Var,\n", + " ConcreteModel,\n", + " Expression,\n", + " Objective,\n", + " SolverFactory,\n", + " TransformationFactory,\n", + " value,\n", + ")\n", + "from pyomo.network import Arc, SequentialDecomposition" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From idaes, we will be needing the FlowsheetBlock and the following unit models:\n", + "- Mixer\n", + "- Heater\n", + "- StoichiometricReactor\n", + "- **Flash**\n", + "- Separator (splitter) \n", + "- PressureChanger" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core import FlowsheetBlock" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.models.unit_models import (\n", + " PressureChanger,\n", + " Mixer,\n", + " Separator as Splitter,\n", + " Heater,\n", + " StoichiometricReactor,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Now, import the remaining unit models highlighted in blue above and run the cell using `Shift+Enter` after typing in the code. \n", + "
\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: import flash model from idaes.models.unit_models" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will also be needing some utility tools to put together the flowsheet and calculate the degrees of freedom. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "\n", + "# Import idaes logger to set output levels\n", + "import idaes.logger as idaeslog\n", + "from idaes.core.solvers import get_solver\n", + "from idaes.core.util.exceptions import InitializationError" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing required thermo and reaction package\n", + "\n", + "The final set of imports are to import the thermo and reaction package for the HDA process. We have created a custom thermo package that assumes Ideal Gas with support for VLE. \n", + "\n", + "The reaction package here is very simple as we will be using only a StochiometricReactor and the reaction package consists of the stochiometric coefficients for the reaction and the parameter for the heat of reaction. \n", + "\n", + "Let us import the following modules and they are in the same directory as this jupyter notebook:\n", + "
    \n", + "
  • hda_ideal_VLE as thermo_props
  • \n", + "
  • hda_reaction as reaction_props
  • \n", + "
\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes_examples.mod.hda import hda_ideal_VLE as thermo_props\n", + "from idaes_examples.mod.hda import hda_reaction as reaction_props" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Constructing the Flowsheet\n", + "\n", + "We have now imported all the components, unit models, and property modules we need to construct a flowsheet. Let us create a ConcreteModel and add the flowsheet block as we did in module 1. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m = ConcreteModel()\n", + "m.fs = FlowsheetBlock(dynamic=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now need to add the property packages to the flowsheet. Unlike Module 1, where we only had a thermo property package, for this flowsheet we will also need to add a reaction property package. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.thermo_params = thermo_props.HDAParameterBlock()\n", + "m.fs.reaction_params = reaction_props.HDAReactionParameterBlock(\n", + " property_package=m.fs.thermo_params\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding Unit Models\n", + "\n", + "Let us start adding the unit models we have imported to the flowsheet. Here, we are adding the Mixer (assigned a name M101) and a Heater (assigned a name H101). Note that, all unit models need to be given a property package argument. In addition to that, there are several arguments depending on the unit model, please refer to the documentation for more details (https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/generic/unit_models/index.html). For example, the Mixer unit model here is given a `list` consisting of names to the three inlets. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.M101 = Mixer(\n", + " property_package=m.fs.thermo_params,\n", + " inlet_list=[\"toluene_feed\", \"hydrogen_feed\", \"vapor_recycle\"],\n", + ")\n", + "\n", + "m.fs.H101 = Heater(\n", + " property_package=m.fs.thermo_params,\n", + " has_pressure_change=False,\n", + " has_phase_equilibrium=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Let us now add the StoichiometricReactor(assign the name R101) and pass the following arguments:\n", + "
    \n", + "
  • \"property_package\": m.fs.thermo_params
  • \n", + "
  • \"reaction_package\": m.fs.reaction_params
  • \n", + "
  • \"has_heat_of_reaction\": True
  • \n", + "
  • \"has_heat_transfer\": True
  • \n", + "
  • \"has_pressure_change\": False
  • \n", + "
\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add reactor with the specifications above" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us now add the Flash(assign the name F101) and pass the following arguments:\n", + "
    \n", + "
  • \"property_package\": m.fs.thermo_params
  • \n", + "
  • \"has_heat_transfer\": True
  • \n", + "
  • \"has_pressure_change\": False
  • \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.F101 = Flash(\n", + " property_package=m.fs.thermo_params,\n", + " has_heat_transfer=True,\n", + " has_pressure_change=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us now add the Splitter(S101), PressureChanger(C101) and the second Flash(F102). " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.S101 = Splitter(\n", + " property_package=m.fs.thermo_params,\n", + " ideal_separation=False,\n", + " outlet_list=[\"purge\", \"recycle\"],\n", + ")\n", + "\n", + "\n", + "m.fs.C101 = PressureChanger(\n", + " property_package=m.fs.thermo_params,\n", + " compressor=True,\n", + " thermodynamic_assumption=ThermodynamicAssumption.isothermal,\n", + ")\n", + "\n", + "m.fs.F102 = Flash(\n", + " property_package=m.fs.thermo_params,\n", + " has_heat_transfer=True,\n", + " has_pressure_change=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Connecting Unit Models using Arcs\n", + "\n", + "We have now added all the unit models we need to the flowsheet. However, we have not yet specified how the units are to be connected. To do this, we will be using the `Arc` which is a pyomo component that takes in two arguments: `source` and `destination`. Let us connect the outlet of the mixer(M101) to the inlet of the heater(H101). " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.H101.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "![](HDA_flowsheet.png) \n", + "\n", + "
\n", + "Inline Exercise:\n", + "Now, connect the H101 outlet to the R101 inlet using the cell above as a guide. \n", + "
\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Connect the H101 outlet to R101 inlet" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now be connecting the rest of the flowsheet as shown below. Notice how the outlet names are different for the flash tanks F101 and F102 as they have a vapor and a liquid outlet. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.s05 = Arc(source=m.fs.R101.outlet, destination=m.fs.F101.inlet)\n", + "m.fs.s06 = Arc(source=m.fs.F101.vap_outlet, destination=m.fs.S101.inlet)\n", + "m.fs.s08 = Arc(source=m.fs.S101.recycle, destination=m.fs.C101.inlet)\n", + "m.fs.s09 = Arc(source=m.fs.C101.outlet, destination=m.fs.M101.vapor_recycle)\n", + "m.fs.s10 = Arc(source=m.fs.F101.liq_outlet, destination=m.fs.F102.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We have now connected the unit model block using the arcs. However, each of these arcs link to ports on the two unit models that are connected. In this case, the ports consist of the state variables that need to be linked between the unit models. Pyomo provides a convenient method to write these equality constraints for us between two ports and this is done as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "TransformationFactory(\"network.expand_arcs\").apply_to(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding expressions to compute purity and operating costs\n", + "\n", + "In this section, we will add a few Expressions that allows us to evaluate the performance. Expressions provide a convenient way of calculating certain values that are a function of the variables defined in the model. For more details on Expressions, please refer to: https://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html\n", + "\n", + "For this flowsheet, we are interested in computing the purity of the product Benzene stream (i.e. the mole fraction) and the operating cost which is a sum of the cooling and heating cost. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us first add an Expression to compute the mole fraction of benzene in the `vap_outlet` of F102 which is our product stream. Please note that the var flow_mol_phase_comp has the index - [time, phase, component]. As this is a steady-state flowsheet, the time index by default is 0. The valid phases are [\"Liq\", \"Vap\"]. Similarly the valid component list is [\"benzene\", \"toluene\", \"hydrogen\", \"methane\"]." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.purity = Expression(\n", + " expr=m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", + " / (\n", + " m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", + " + m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " )\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, let us add an expression to compute the cooling cost assuming a cost of 0.212E-4 $/kW. Note that cooling utility is required for the reactor (R101) and the first flash (F101). " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.cooling_cost = Expression(\n", + " expr=0.212e-7 * (-m.fs.F101.heat_duty[0]) + 0.212e-7 * (-m.fs.R101.heat_duty[0])\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "Now, let us add an expression to compute the heating cost assuming the utility cost as follows:\n", + "
    \n", + "
  • 2.2E-4 dollars/kW for H101
  • \n", + "
  • 1.9E-4 dollars/kW for F102
  • \n", + "
\n", + "Note that the heat duty is in units of watt (J/s). " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.heating_cost = Expression(\n", + " expr=2.2e-7 * m.fs.H101.heat_duty[0] + 1.9e-7 * m.fs.F102.heat_duty[0]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us now add an expression to compute the total operating cost per year which is basically the sum of the cooling and heating cost we defined above. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.operating_cost = Expression(\n", + " expr=(3600 * 24 * 365 * (m.fs.heating_cost + m.fs.cooling_cost))\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fixing feed conditions\n", + "\n", + "Let us first check how many degrees of freedom exist for this flowsheet using the `degrees_of_freedom` tool we imported earlier. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now be fixing the toluene feed stream to the conditions shown in the flowsheet above. Please note that though this is a pure toluene feed, the remaining components are still assigned a very small non-zero value to help with convergence and initializing. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(0.30)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.temperature.fix(303.2)\n", + "m.fs.M101.toluene_feed.pressure.fix(350000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "Similarly, let us fix the hydrogen feed to the following conditions in the next cell:\n", + "
    \n", + "
  • FH2 = 0.30 mol/s
  • \n", + "
  • FCH4 = 0.02 mol/s
  • \n", + "
  • Remaining components = 1e-5 mol/s
  • \n", + "
  • T = 303.2 K
  • \n", + "
  • P = 350000 Pa
  • \n", + "
\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(0.30)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(0.02)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.temperature.fix(303.2)\n", + "m.fs.M101.hydrogen_feed.pressure.fix(350000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fixing unit model specifications\n", + "\n", + "Now that we have fixed our inlet feed conditions, we will now be fixing the operating conditions for the unit models in the flowsheet. Let us set set the H101 outlet temperature to 600 K. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.H101.outlet.temperature.fix(600)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For the StoichiometricReactor, we have to define the conversion in terms of toluene. This requires us to create a new variable for specifying the conversion and adding a Constraint that defines the conversion with respect to toluene. The second degree of freedom for the reactor is to define the heat duty. In this case, let us assume the reactor to be adiabatic i.e. Q = 0. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.R101.conversion = Var(initialize=0.75, bounds=(0, 1))\n", + "\n", + "m.fs.R101.conv_constraint = Constraint(\n", + " expr=m.fs.R101.conversion * m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " == (\n", + " m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " - m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " )\n", + ")\n", + "\n", + "m.fs.R101.conversion.fix(0.75)\n", + "m.fs.R101.heat_duty.fix(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The Flash conditions for F101 can be set as follows. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.F101.vap_outlet.temperature.fix(325.0)\n", + "m.fs.F101.deltaP.fix(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Set the conditions for Flash F102 to the following conditions:\n", + "
    \n", + "
  • T = 375 K
  • \n", + "
  • deltaP = -200000
  • \n", + "
\n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Set conditions for Flash F102" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us fix the purge split fraction to 20% and the outlet pressure of the compressor is set to 350000 Pa. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.S101.split_fraction[0, \"purge\"].fix(0.2)\n", + "m.fs.C101.outlet.pressure.fix(350000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "We have now defined all the feed conditions and the inputs required for the unit models. The system should now have 0 degrees of freedom i.e. should be a square problem. Please check that the degrees of freedom is 0. \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: print the degrees of freedom" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Initialization\n", + "\n", + "\n", + "This section will demonstrate how to use the built-in sequential decomposition tool to initialize our flowsheet.\n", + "\n", + "![](HDA_flowsheet.png) \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us first create an object for the SequentialDecomposition and specify our options for this. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "seq = SequentialDecomposition()\n", + "seq.options.select_tear_method = \"heuristic\"\n", + "seq.options.tear_method = \"Wegstein\"\n", + "seq.options.iterLim = 3\n", + "\n", + "# Using the SD tool\n", + "G = seq.create_graph(m)\n", + "heuristic_tear_set = seq.tear_set_arcs(G, method=\"heuristic\")\n", + "order = seq.calculation_order(G)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Which is the tear stream? Display tear set and order" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "for o in heuristic_tear_set:\n", + " print(o.name)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What sequence did the SD tool determine to solve this flowsheet with the least number of tears? " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "for o in order:\n", + " print(o[0].name)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " \n", + "\n", + "![](HDA_tear_stream.png) \n", + "\n", + "\n", + "The SequentialDecomposition tool has determined that the tear stream is the mixer outlet. We will need to provide a reasonable guess for this." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tear_guesses = {\n", + " \"flow_mol_phase_comp\": {\n", + " (0, \"Vap\", \"benzene\"): 1e-5,\n", + " (0, \"Vap\", \"toluene\"): 1e-5,\n", + " (0, \"Vap\", \"hydrogen\"): 0.30,\n", + " (0, \"Vap\", \"methane\"): 0.02,\n", + " (0, \"Liq\", \"benzene\"): 1e-5,\n", + " (0, \"Liq\", \"toluene\"): 0.30,\n", + " (0, \"Liq\", \"hydrogen\"): 1e-5,\n", + " (0, \"Liq\", \"methane\"): 1e-5,\n", + " },\n", + " \"temperature\": {0: 303},\n", + " \"pressure\": {0: 350000},\n", + "}\n", + "\n", + "# Pass the tear_guess to the SD tool\n", + "seq.set_guesses_for(m.fs.H101.inlet, tear_guesses)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we need to tell the tool how to initialize a particular unit. We will be writing a python function which takes in a \"unit\" and calls the initialize method on that unit. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def function(unit):\n", + " try:\n", + " initializer = unit.default_initializer()\n", + " initializer.initialize(unit, output_level=idaeslog.INFO)\n", + " except InitializationError:\n", + " solver = get_solver()\n", + " solver.solve(unit)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We are now ready to initialize our flowsheet in a sequential mode. Note that we specifically set the iteration limit to be 5 as we are trying to use this tool only to get a good set of initial values such that IPOPT can then take over and solve this flowsheet for us. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "seq.run(m, function)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "We have now initialized the flowsheet. Let us run the flowsheet in a simulation mode to look at the results. To do this, complete the last line of code where we pass the model to the solver. You will need to type the following:\n", + " \n", + "results = solver.solve(m, tee=True)\n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Create the solver object\n", + "\n", + "\n", + "# Solve the model" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Analyze the results of the square problem\n", + "\n", + "\n", + "What is the total operating cost? " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"operating cost = $\", value(m.fs.operating_cost))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For this operating cost, what is the amount of benzene we are able to produce and what purity we are able to achieve? " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.F102.report()\n", + "\n", + "print()\n", + "print(\"benzene purity = \", value(m.fs.purity))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, let's look at how much benzene we are losing with the light gases out of F101. IDAES has tools for creating stream tables based on the `Arcs` and/or `Ports` in a flowsheet. Let us create and print a simple stream table showing the stream leaving the reactor and the vapor stream from F101.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "How much benzene are we losing in the F101 vapor outlet stream?\n", + "
\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core.util.tables import (\n", + " create_stream_table_dataframe,\n", + " stream_table_dataframe_to_string,\n", + ")\n", + "\n", + "st = create_stream_table_dataframe({\"Reactor\": m.fs.s05, \"Light Gases\": m.fs.s06})\n", + "print(stream_table_dataframe_to_string(st))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "You can query additional variables here if you like. \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Optimization\n", + "\n", + "\n", + "We saw from the results above that the total operating cost for the base case was $419,122 per year. We are producing 0.142 mol/s of benzene at a purity of 82\\%. However, we are losing around 42\\% of benzene in F101 vapor outlet stream. \n", + "\n", + "Let us try to minimize this cost such that:\n", + "- we are producing at least 0.15 mol/s of benzene in F102 vapor outlet i.e. our product stream\n", + "- purity of benzene i.e. the mole fraction of benzene in F102 vapor outlet is at least 80%\n", + "- restricting the benzene loss in F101 vapor outlet to less than 20%\n", + "\n", + "For this problem, our decision variables are as follows:\n", + "- H101 outlet temperature\n", + "- R101 cooling duty provided\n", + "- F101 outlet temperature\n", + "- F102 outlet temperature\n", + "- F102 deltaP in the flash tank\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us declare our objective function for this problem. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.objective = Objective(expr=m.fs.operating_cost)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, we need to unfix the decision variables as we had solved a square problem (degrees of freedom = 0) until now. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.H101.outlet.temperature.unfix()\n", + "m.fs.R101.heat_duty.unfix()\n", + "m.fs.F101.vap_outlet.temperature.unfix()\n", + "m.fs.F102.vap_outlet.temperature.unfix()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Let us now unfix the remaining variable which is F102 pressure drop (F102.deltaP) \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Unfix deltaP for F102" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we need to set bounds on these decision variables to values shown below:\n", + "\n", + " - H101 outlet temperature [500, 600] K\n", + " - R101 outlet temperature [600, 800] K\n", + " - F101 outlet temperature [298, 450] K\n", + " - F102 outlet temperature [298, 450] K\n", + " - F102 outlet pressure [105000, 110000] Pa\n", + "\n", + "Let us first set the variable bound for the H101 outlet temperature as shown below:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.H101.outlet.temperature[0].setlb(500)\n", + "m.fs.H101.outlet.temperature[0].setub(600)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Now, set the variable bound for the R101 outlet temperature.\n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Set the bounds for reactor outlet temperature" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us fix the bounds for the rest of the decision variables. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.F101.vap_outlet.temperature[0].setlb(298.0)\n", + "m.fs.F101.vap_outlet.temperature[0].setub(450.0)\n", + "m.fs.F102.vap_outlet.temperature[0].setlb(298.0)\n", + "m.fs.F102.vap_outlet.temperature[0].setub(450.0)\n", + "m.fs.F102.vap_outlet.pressure[0].setlb(105000)\n", + "m.fs.F102.vap_outlet.pressure[0].setub(110000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, the only things left to define are our constraints on overhead loss in F101, product flow rate and purity in F102. Let us first look at defining a constraint for the overhead loss in F101 where we are restricting the benzene leaving the vapor stream to less than 20 \\% of the benzene available in the reactor outlet. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.overhead_loss = Constraint(\n", + " expr=m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", + " <= 0.20 * m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Now, add the constraint such that we are producing at least 0.15 mol/s of benzene in the product stream which is the vapor outlet of F102. Let us name this constraint as m.fs.product_flow. \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add minimum product flow constraint" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us add the final constraint on product purity or the mole fraction of benzene in the product stream such that it is at least greater than 80%. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.product_purity = Constraint(expr=m.fs.purity >= 0.80)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "We have now defined the optimization problem and we are now ready to solve this problem. \n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Optimization Results\n", + "\n", + "Display the results and product specifications" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"operating cost = $\", value(m.fs.operating_cost))\n", + "\n", + "print()\n", + "print(\"Product flow rate and purity in F102\")\n", + "\n", + "m.fs.F102.report()\n", + "\n", + "print()\n", + "print(\"benzene purity = \", value(m.fs.purity))\n", + "\n", + "print()\n", + "print(\"Overhead loss in F101\")\n", + "m.fs.F101.report()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Display optimal values for the decision variables" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Optimal Values\")\n", + "print()\n", + "\n", + "print(\"H101 outlet temperature = \", value(m.fs.H101.outlet.temperature[0]), \"K\")\n", + "\n", + "print()\n", + "print(\"R101 outlet temperature = \", value(m.fs.R101.outlet.temperature[0]), \"K\")\n", + "\n", + "print()\n", + "print(\"F101 outlet temperature = \", value(m.fs.F101.vap_outlet.temperature[0]), \"K\")\n", + "\n", + "print()\n", + "print(\"F102 outlet temperature = \", value(m.fs.F102.vap_outlet.temperature[0]), \"K\")\n", + "print(\"F102 outlet pressure = \", value(m.fs.F102.vap_outlet.pressure[0]), \"Pa\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.12" + } + }, + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/tut/core/hda_flowsheet_solution.ipynb b/idaes_examples/notebooks/docs/tut/core/hda_flowsheet_solution.ipynb index 6f8b47f4..6a8537b3 100644 --- a/idaes_examples/notebooks/docs/tut/core/hda_flowsheet_solution.ipynb +++ b/idaes_examples/notebooks/docs/tut/core/hda_flowsheet_solution.ipynb @@ -1,1483 +1,1484 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "# HDA Flowsheet Simulation and Optimization\n", - "\n", - "Author: Jaffer Ghouse \n", - "Maintainer: Brandon Paul \n", - "Updated: 2023-06-01 \n", - "\n", - "## Learning outcomes\n", - "\n", - "\n", - "- Construct a steady-state flowsheet using the IDAES unit model library\n", - "- Connecting unit models in a flowsheet using Arcs\n", - "- Using the SequentialDecomposition tool to initialize a flowsheet with recycle\n", - "- Fomulate and solve an optimization problem\n", - " - Defining an objective function\n", - " - Setting variable bounds\n", - " - Adding additional constraints \n", - "\n", - "\n", - "## Problem Statement\n", - "\n", - "Hydrodealkylation is a chemical reaction that often involves reacting\n", - "an aromatic hydrocarbon in the presence of hydrogen gas to form a\n", - "simpler aromatic hydrocarbon devoid of functional groups. In this\n", - "example, toluene will be reacted with hydrogen gas at high temperatures\n", - " to form benzene via the following reaction:\n", - "\n", - "**C6H5CH3 + H2 → C6H6 + CH4**\n", - "\n", - "\n", - "This reaction is often accompanied by an equilibrium side reaction\n", - "which forms diphenyl, which we will neglect for this example.\n", - "\n", - "This example is based on the 1967 AIChE Student Contest problem as\n", - "present by Douglas, J.M., Chemical Design of Chemical Processes, 1988,\n", - "McGraw-Hill.\n", - "\n", - "The flowsheet that we will be using for this module is shown below with the stream conditions. We will be processing toluene and hydrogen to produce at least 370 TPY of benzene. As shown in the flowsheet, there are two flash tanks, F101 to separate out the non-condensibles and F102 to further separate the benzene-toluene mixture to improve the benzene purity. Note that typically a distillation column is required to obtain high purity benzene but that is beyond the scope of this workshop. The non-condensibles separated out in F101 will be partially recycled back to M101 and the rest will be either purged or combusted for power generation.We will assume ideal gas for this flowsheet. The properties required for this module are available in the same directory:\n", - "\n", - "- hda_ideal_VLE.py\n", - "- hda_reaction.py\n", - "\n", - "The state variables chosen for the property package are **flows of component by phase, temperature and pressure**. The components considered are: **toluene, hydrogen, benzene and methane**. Therefore, every stream has 8 flow variables, 1 temperature and 1 pressure variable. \n", - "\n", - "![](HDA_flowsheet.png)\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing required pyomo and idaes components\n", - "\n", - "\n", - "To construct a flowsheet, we will need several components from the pyomo and idaes package. Let us first import the following components from Pyomo:\n", - "- Constraint (to write constraints)\n", - "- Var (to declare variables)\n", - "- ConcreteModel (to create the concrete model object)\n", - "- Expression (to evaluate values as a function of variables defined in the model)\n", - "- Objective (to define an objective function for optimization)\n", - "- SolverFactory (to solve the problem)\n", - "- TransformationFactory (to apply certain transformations)\n", - "- Arc (to connect two unit models)\n", - "- SequentialDecomposition (to initialize the flowsheet in a sequential mode)\n", - "\n", - "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/stable/\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.environ import (\n", - " Constraint,\n", - " Var,\n", - " ConcreteModel,\n", - " Expression,\n", - " Objective,\n", - " SolverFactory,\n", - " TransformationFactory,\n", - " value,\n", - ")\n", - "from pyomo.network import Arc, SequentialDecomposition" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "From idaes, we will be needing the FlowsheetBlock and the following unit models:\n", - "- Mixer\n", - "- Heater\n", - "- StoichiometricReactor\n", - "- **Flash**\n", - "- Separator (splitter) \n", - "- PressureChanger" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.core import FlowsheetBlock" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.models.unit_models import (\n", - " PressureChanger,\n", - " Mixer,\n", - " Separator as Splitter,\n", - " Heater,\n", - " StoichiometricReactor,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Now, import the remaining unit models highlighted in blue above and run the cell using `Shift+Enter` after typing in the code. \n", - "
\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: import flash model from idaes.models.unit_models" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: import flash model from idaes.models.unit_models\n", - "from idaes.models.unit_models import Flash" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will also be needing some utility tools to put together the flowsheet and calculate the degrees of freedom. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "\n", - "# Import idaes logger to set output levels\n", - "import idaes.logger as idaeslog\n", - "from idaes.core.solvers import get_solver\n", - "from idaes.core.util.exceptions import InitializationError" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing required thermo and reaction package\n", - "\n", - "The final set of imports are to import the thermo and reaction package for the HDA process. We have created a custom thermo package that assumes Ideal Gas with support for VLE. \n", - "\n", - "The reaction package here is very simple as we will be using only a StochiometricReactor and the reaction package consists of the stochiometric coefficients for the reaction and the parameter for the heat of reaction. \n", - "\n", - "Let us import the following modules and they are in the same directory as this jupyter notebook:\n", - "
    \n", - "
  • hda_ideal_VLE as thermo_props
  • \n", - "
  • hda_reaction as reaction_props
  • \n", - "
\n", - "" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes_examples.mod.hda import hda_ideal_VLE as thermo_props\n", - "from idaes_examples.mod.hda import hda_reaction as reaction_props" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Constructing the Flowsheet\n", - "\n", - "We have now imported all the components, unit models, and property modules we need to construct a flowsheet. Let us create a ConcreteModel and add the flowsheet block as we did in module 1. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m = ConcreteModel()\n", - "m.fs = FlowsheetBlock(dynamic=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We now need to add the property packages to the flowsheet. Unlike Module 1, where we only had a thermo property package, for this flowsheet we will also need to add a reaction property package. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.thermo_params = thermo_props.HDAParameterBlock()\n", - "m.fs.reaction_params = reaction_props.HDAReactionParameterBlock(\n", - " property_package=m.fs.thermo_params\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding Unit Models\n", - "\n", - "Let us start adding the unit models we have imported to the flowsheet. Here, we are adding the Mixer (assigned a name M101) and a Heater (assigned a name H101). Note that, all unit models need to be given a property package argument. In addition to that, there are several arguments depending on the unit model, please refer to the documentation for more details (https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/generic/unit_models/index.html). For example, the Mixer unit model here is given a `list` consisting of names to the three inlets. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.M101 = Mixer(\n", - " property_package=m.fs.thermo_params,\n", - " inlet_list=[\"toluene_feed\", \"hydrogen_feed\", \"vapor_recycle\"],\n", - ")\n", - "\n", - "m.fs.H101 = Heater(\n", - " property_package=m.fs.thermo_params,\n", - " has_pressure_change=False,\n", - " has_phase_equilibrium=True,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Let us now add the StoichiometricReactor(assign the name R101) and pass the following arguments:\n", - "
    \n", - "
  • \"property_package\": m.fs.thermo_params
  • \n", - "
  • \"reaction_package\": m.fs.reaction_params
  • \n", - "
  • \"has_heat_of_reaction\": True
  • \n", - "
  • \"has_heat_transfer\": True
  • \n", - "
  • \"has_pressure_change\": False
  • \n", - "
\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add reactor with the specifications above" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add reactor with the specifications above\n", - "m.fs.R101 = StoichiometricReactor(\n", - " property_package=m.fs.thermo_params,\n", - " reaction_package=m.fs.reaction_params,\n", - " has_heat_of_reaction=True,\n", - " has_heat_transfer=True,\n", - " has_pressure_change=False,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us now add the Flash(assign the name F101) and pass the following arguments:\n", - "
    \n", - "
  • \"property_package\": m.fs.thermo_params
  • \n", - "
  • \"has_heat_transfer\": True
  • \n", - "
  • \"has_pressure_change\": False
  • \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.F101 = Flash(\n", - " property_package=m.fs.thermo_params,\n", - " has_heat_transfer=True,\n", - " has_pressure_change=True,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us now add the Splitter(S101), PressureChanger(C101) and the second Flash(F102). " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.S101 = Splitter(\n", - " property_package=m.fs.thermo_params,\n", - " ideal_separation=False,\n", - " outlet_list=[\"purge\", \"recycle\"],\n", - ")\n", - "\n", - "\n", - "m.fs.C101 = PressureChanger(\n", - " property_package=m.fs.thermo_params,\n", - " compressor=True,\n", - " thermodynamic_assumption=ThermodynamicAssumption.isothermal,\n", - ")\n", - "\n", - "m.fs.F102 = Flash(\n", - " property_package=m.fs.thermo_params,\n", - " has_heat_transfer=True,\n", - " has_pressure_change=True,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Connecting Unit Models using Arcs\n", - "\n", - "We have now added all the unit models we need to the flowsheet. However, we have not yet specified how the units are to be connected. To do this, we will be using the `Arc` which is a pyomo component that takes in two arguments: `source` and `destination`. Let us connect the outlet of the mixer(M101) to the inlet of the heater(H101). " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.H101.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "![](HDA_flowsheet.png) \n", - "\n", - "
\n", - "Inline Exercise:\n", - "Now, connect the H101 outlet to the R101 inlet using the cell above as a guide. \n", - "
\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Connect the H101 outlet to R101 inlet" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Connect the H101 outlet to R101 inlet\n", - "m.fs.s04 = Arc(source=m.fs.H101.outlet, destination=m.fs.R101.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will now be connecting the rest of the flowsheet as shown below. Notice how the outlet names are different for the flash tanks F101 and F102 as they have a vapor and a liquid outlet. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.s05 = Arc(source=m.fs.R101.outlet, destination=m.fs.F101.inlet)\n", - "m.fs.s06 = Arc(source=m.fs.F101.vap_outlet, destination=m.fs.S101.inlet)\n", - "m.fs.s08 = Arc(source=m.fs.S101.recycle, destination=m.fs.C101.inlet)\n", - "m.fs.s09 = Arc(source=m.fs.C101.outlet, destination=m.fs.M101.vapor_recycle)\n", - "m.fs.s10 = Arc(source=m.fs.F101.liq_outlet, destination=m.fs.F102.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We have now connected the unit model block using the arcs. However, each of these arcs link to ports on the two unit models that are connected. In this case, the ports consist of the state variables that need to be linked between the unit models. Pyomo provides a convenient method to write these equality constraints for us between two ports and this is done as follows:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "TransformationFactory(\"network.expand_arcs\").apply_to(m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding expressions to compute purity and operating costs\n", - "\n", - "In this section, we will add a few Expressions that allows us to evaluate the performance. Expressions provide a convenient way of calculating certain values that are a function of the variables defined in the model. For more details on Expressions, please refer to: https://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html\n", - "\n", - "For this flowsheet, we are interested in computing the purity of the product Benzene stream (i.e. the mole fraction) and the operating cost which is a sum of the cooling and heating cost. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us first add an Expression to compute the mole fraction of benzene in the `vap_outlet` of F102 which is our product stream. Please note that the var flow_mol_phase_comp has the index - [time, phase, component]. As this is a steady-state flowsheet, the time index by default is 0. The valid phases are [\"Liq\", \"Vap\"]. Similarly the valid component list is [\"benzene\", \"toluene\", \"hydrogen\", \"methane\"]." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.purity = Expression(\n", - " expr=m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", - " / (\n", - " m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", - " + m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " )\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, let us add an expression to compute the cooling cost assuming a cost of 0.212E-4 $/kW. Note that cooling utility is required for the reactor (R101) and the first flash (F101). " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.cooling_cost = Expression(\n", - " expr=0.212e-7 * (-m.fs.F101.heat_duty[0]) + 0.212e-7 * (-m.fs.R101.heat_duty[0])\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "Now, let us add an expression to compute the heating cost assuming the utility cost as follows:\n", - "
    \n", - "
  • 2.2E-4 dollars/kW for H101
  • \n", - "
  • 1.9E-4 dollars/kW for F102
  • \n", - "
\n", - "Note that the heat duty is in units of watt (J/s). " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.heating_cost = Expression(\n", - " expr=2.2e-7 * m.fs.H101.heat_duty[0] + 1.9e-7 * m.fs.F102.heat_duty[0]\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us now add an expression to compute the total operating cost per year which is basically the sum of the cooling and heating cost we defined above. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.operating_cost = Expression(\n", - " expr=(3600 * 24 * 365 * (m.fs.heating_cost + m.fs.cooling_cost))\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Fixing feed conditions\n", - "\n", - "Let us first check how many degrees of freedom exist for this flowsheet using the `degrees_of_freedom` tool we imported earlier. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will now be fixing the toluene feed stream to the conditions shown in the flowsheet above. Please note that though this is a pure toluene feed, the remaining components are still assigned a very small non-zero value to help with convergence and initializing. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(0.30)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.temperature.fix(303.2)\n", - "m.fs.M101.toluene_feed.pressure.fix(350000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "Similarly, let us fix the hydrogen feed to the following conditions in the next cell:\n", - "
    \n", - "
  • FH2 = 0.30 mol/s
  • \n", - "
  • FCH4 = 0.02 mol/s
  • \n", - "
  • Remaining components = 1e-5 mol/s
  • \n", - "
  • T = 303.2 K
  • \n", - "
  • P = 350000 Pa
  • \n", - "
\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(0.30)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(0.02)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.temperature.fix(303.2)\n", - "m.fs.M101.hydrogen_feed.pressure.fix(350000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Fixing unit model specifications\n", - "\n", - "Now that we have fixed our inlet feed conditions, we will now be fixing the operating conditions for the unit models in the flowsheet. Let us set set the H101 outlet temperature to 600 K. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.H101.outlet.temperature.fix(600)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For the StoichiometricReactor, we have to define the conversion in terms of toluene. This requires us to create a new variable for specifying the conversion and adding a Constraint that defines the conversion with respect to toluene. The second degree of freedom for the reactor is to define the heat duty. In this case, let us assume the reactor to be adiabatic i.e. Q = 0. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.R101.conversion = Var(initialize=0.75, bounds=(0, 1))\n", - "\n", - "m.fs.R101.conv_constraint = Constraint(\n", - " expr=m.fs.R101.conversion * m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " == (\n", - " m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " - m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " )\n", - ")\n", - "\n", - "m.fs.R101.conversion.fix(0.75)\n", - "m.fs.R101.heat_duty.fix(0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The Flash conditions for F101 can be set as follows. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.F101.vap_outlet.temperature.fix(325.0)\n", - "m.fs.F101.deltaP.fix(0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Set the conditions for Flash F102 to the following conditions:\n", - "
    \n", - "
  • T = 375 K
  • \n", - "
  • deltaP = -200000
  • \n", - "
\n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Set conditions for Flash F102" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "m.fs.F102.vap_outlet.temperature.fix(375)\n", - "m.fs.F102.deltaP.fix(-200000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us fix the purge split fraction to 20% and the outlet pressure of the compressor is set to 350000 Pa. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.S101.split_fraction[0, \"purge\"].fix(0.2)\n", - "m.fs.C101.outlet.pressure.fix(350000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "We have now defined all the feed conditions and the inputs required for the unit models. The system should now have 0 degrees of freedom i.e. should be a square problem. Please check that the degrees of freedom is 0. \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: print the degrees of freedom" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Initialization\n", - "\n", - "\n", - "This section will demonstrate how to use the built-in sequential decomposition tool to initialize our flowsheet.\n", - "\n", - "![](HDA_flowsheet.png) \n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us first create an object for the SequentialDecomposition and specify our options for this. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "seq = SequentialDecomposition()\n", - "seq.options.select_tear_method = \"heuristic\"\n", - "seq.options.tear_method = \"Wegstein\"\n", - "seq.options.iterLim = 3\n", - "\n", - "# Using the SD tool\n", - "G = seq.create_graph(m)\n", - "heuristic_tear_set = seq.tear_set_arcs(G, method=\"heuristic\")\n", - "order = seq.calculation_order(G)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Which is the tear stream? Display tear set and order" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "for o in heuristic_tear_set:\n", - " print(o.name)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "What sequence did the SD tool determine to solve this flowsheet with the least number of tears? " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "for o in order:\n", - " print(o[0].name)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - " \n", - "\n", - "![](HDA_tear_stream.png) \n", - "\n", - "\n", - "The SequentialDecomposition tool has determined that the tear stream is the mixer outlet. We will need to provide a reasonable guess for this." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "tear_guesses = {\n", - " \"flow_mol_phase_comp\": {\n", - " (0, \"Vap\", \"benzene\"): 1e-5,\n", - " (0, \"Vap\", \"toluene\"): 1e-5,\n", - " (0, \"Vap\", \"hydrogen\"): 0.30,\n", - " (0, \"Vap\", \"methane\"): 0.02,\n", - " (0, \"Liq\", \"benzene\"): 1e-5,\n", - " (0, \"Liq\", \"toluene\"): 0.30,\n", - " (0, \"Liq\", \"hydrogen\"): 1e-5,\n", - " (0, \"Liq\", \"methane\"): 1e-5,\n", - " },\n", - " \"temperature\": {0: 303},\n", - " \"pressure\": {0: 350000},\n", - "}\n", - "\n", - "# Pass the tear_guess to the SD tool\n", - "seq.set_guesses_for(m.fs.H101.inlet, tear_guesses)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we need to tell the tool how to initialize a particular unit. We will be writing a python function which takes in a \"unit\" and calls the initialize method on that unit. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "def function(unit):\n", - " try:\n", - " initializer = unit.default_initializer()\n", - " initializer.initialize(unit, output_level=idaeslog.INFO)\n", - " except InitializationError:\n", - " solver = get_solver()\n", - " solver.solve(unit)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We are now ready to initialize our flowsheet in a sequential mode. Note that we specifically set the iteration limit to be 5 as we are trying to use this tool only to get a good set of initial values such that IPOPT can then take over and solve this flowsheet for us. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "seq.run(m, function)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "We have now initialized the flowsheet. Let us run the flowsheet in a simulation mode to look at the results. To do this, complete the last line of code where we pass the model to the solver. You will need to type the following:\n", - " \n", - "results = solver.solve(m, tee=True)\n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Create the solver object\n", - "\n", - "\n", - "# Solve the model" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Create the solver object\n", - "from idaes.core.solvers import get_solver\n", - "\n", - "solver = get_solver()\n", - "\n", - "# Solve the model\n", - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Analyze the results of the square problem\n", - "\n", - "\n", - "What is the total operating cost? " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(\"operating cost = $\", value(m.fs.operating_cost))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For this operating cost, what is the amount of benzene we are able to produce and what purity we are able to achieve? " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.F102.report()\n", - "\n", - "print()\n", - "print(\"benzene purity = \", value(m.fs.purity))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, let's look at how much benzene we are losing with the light gases out of F101. IDAES has tools for creating stream tables based on the `Arcs` and/or `Ports` in a flowsheet. Let us create and print a simple stream table showing the stream leaving the reactor and the vapor stream from F101.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "How much benzene are we losing in the F101 vapor outlet stream?\n", - "
\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.core.util.tables import (\n", - " create_stream_table_dataframe,\n", - " stream_table_dataframe_to_string,\n", - ")\n", - "\n", - "st = create_stream_table_dataframe({\"Reactor\": m.fs.s05, \"Light Gases\": m.fs.s06})\n", - "print(stream_table_dataframe_to_string(st))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "You can query additional variables here if you like. \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Optimization\n", - "\n", - "\n", - "We saw from the results above that the total operating cost for the base case was $419,122 per year. We are producing 0.142 mol/s of benzene at a purity of 82\\%. However, we are losing around 42\\% of benzene in F101 vapor outlet stream. \n", - "\n", - "Let us try to minimize this cost such that:\n", - "- we are producing at least 0.15 mol/s of benzene in F102 vapor outlet i.e. our product stream\n", - "- purity of benzene i.e. the mole fraction of benzene in F102 vapor outlet is at least 80%\n", - "- restricting the benzene loss in F101 vapor outlet to less than 20%\n", - "\n", - "For this problem, our decision variables are as follows:\n", - "- H101 outlet temperature\n", - "- R101 cooling duty provided\n", - "- F101 outlet temperature\n", - "- F102 outlet temperature\n", - "- F102 deltaP in the flash tank\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us declare our objective function for this problem. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.objective = Objective(expr=m.fs.operating_cost)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, we need to unfix the decision variables as we had solved a square problem (degrees of freedom = 0) until now. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.H101.outlet.temperature.unfix()\n", - "m.fs.R101.heat_duty.unfix()\n", - "m.fs.F101.vap_outlet.temperature.unfix()\n", - "m.fs.F102.vap_outlet.temperature.unfix()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Let us now unfix the remaining variable which is F102 pressure drop (F102.deltaP) \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Unfix deltaP for F102" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Unfix deltaP for F102\n", - "m.fs.F102.deltaP.unfix()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we need to set bounds on these decision variables to values shown below:\n", - "\n", - " - H101 outlet temperature [500, 600] K\n", - " - R101 outlet temperature [600, 800] K\n", - " - F101 outlet temperature [298, 450] K\n", - " - F102 outlet temperature [298, 450] K\n", - " - F102 outlet pressure [105000, 110000] Pa\n", - "\n", - "Let us first set the variable bound for the H101 outlet temperature as shown below:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.H101.outlet.temperature[0].setlb(500)\n", - "m.fs.H101.outlet.temperature[0].setub(600)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Now, set the variable bound for the R101 outlet temperature.\n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Set the bounds for reactor outlet temperature" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Set the bounds for reactor outlet temperature\n", - "m.fs.R101.outlet.temperature[0].setlb(600)\n", - "m.fs.R101.outlet.temperature[0].setub(800)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us fix the bounds for the rest of the decision variables. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.F101.vap_outlet.temperature[0].setlb(298.0)\n", - "m.fs.F101.vap_outlet.temperature[0].setub(450.0)\n", - "m.fs.F102.vap_outlet.temperature[0].setlb(298.0)\n", - "m.fs.F102.vap_outlet.temperature[0].setub(450.0)\n", - "m.fs.F102.vap_outlet.pressure[0].setlb(105000)\n", - "m.fs.F102.vap_outlet.pressure[0].setub(110000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, the only things left to define are our constraints on overhead loss in F101, product flow rate and purity in F102. Let us first look at defining a constraint for the overhead loss in F101 where we are restricting the benzene leaving the vapor stream to less than 20 \\% of the benzene available in the reactor outlet. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.overhead_loss = Constraint(\n", - " expr=m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", - " <= 0.20 * m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Now, add the constraint such that we are producing at least 0.15 mol/s of benzene in the product stream which is the vapor outlet of F102. Let us name this constraint as m.fs.product_flow. \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add minimum product flow constraint" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add minimum product flow constraint\n", - "m.fs.product_flow = Constraint(\n", - " expr=m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"] >= 0.15\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us add the final constraint on product purity or the mole fraction of benzene in the product stream such that it is at least greater than 80%. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.product_purity = Constraint(expr=m.fs.purity >= 0.80)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "We have now defined the optimization problem and we are now ready to solve this problem. \n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Optimization Results\n", - "\n", - "Display the results and product specifications" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(\"operating cost = $\", value(m.fs.operating_cost))\n", - "\n", - "print()\n", - "print(\"Product flow rate and purity in F102\")\n", - "\n", - "m.fs.F102.report()\n", - "\n", - "print()\n", - "print(\"benzene purity = \", value(m.fs.purity))\n", - "\n", - "print()\n", - "print(\"Overhead loss in F101\")\n", - "m.fs.F101.report()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Display optimal values for the decision variables" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(\"Optimal Values\")\n", - "print()\n", - "\n", - "print(\"H101 outlet temperature = \", value(m.fs.H101.outlet.temperature[0]), \"K\")\n", - "\n", - "print()\n", - "print(\"R101 outlet temperature = \", value(m.fs.R101.outlet.temperature[0]), \"K\")\n", - "\n", - "print()\n", - "print(\"F101 outlet temperature = \", value(m.fs.F101.vap_outlet.temperature[0]), \"K\")\n", - "\n", - "print()\n", - "print(\"F102 outlet temperature = \", value(m.fs.F102.vap_outlet.temperature[0]), \"K\")\n", - "print(\"F102 outlet pressure = \", value(m.fs.F102.vap_outlet.pressure[0]), \"Pa\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.12" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "# HDA Flowsheet Simulation and Optimization\n", + "\n", + "Author: Jaffer Ghouse \n", + "Maintainer: Brandon Paul \n", + "Updated: 2023-06-01 \n", + "\n", + "## Learning outcomes\n", + "\n", + "\n", + "- Construct a steady-state flowsheet using the IDAES unit model library\n", + "- Connecting unit models in a flowsheet using Arcs\n", + "- Using the SequentialDecomposition tool to initialize a flowsheet with recycle\n", + "- Fomulate and solve an optimization problem\n", + " - Defining an objective function\n", + " - Setting variable bounds\n", + " - Adding additional constraints \n", + "\n", + "\n", + "## Problem Statement\n", + "\n", + "Hydrodealkylation is a chemical reaction that often involves reacting\n", + "an aromatic hydrocarbon in the presence of hydrogen gas to form a\n", + "simpler aromatic hydrocarbon devoid of functional groups. In this\n", + "example, toluene will be reacted with hydrogen gas at high temperatures\n", + " to form benzene via the following reaction:\n", + "\n", + "**C6H5CH3 + H2 \u2192 C6H6 + CH4**\n", + "\n", + "\n", + "This reaction is often accompanied by an equilibrium side reaction\n", + "which forms diphenyl, which we will neglect for this example.\n", + "\n", + "This example is based on the 1967 AIChE Student Contest problem as\n", + "present by Douglas, J.M., Chemical Design of Chemical Processes, 1988,\n", + "McGraw-Hill.\n", + "\n", + "The flowsheet that we will be using for this module is shown below with the stream conditions. We will be processing toluene and hydrogen to produce at least 370 TPY of benzene. As shown in the flowsheet, there are two flash tanks, F101 to separate out the non-condensibles and F102 to further separate the benzene-toluene mixture to improve the benzene purity. Note that typically a distillation column is required to obtain high purity benzene but that is beyond the scope of this workshop. The non-condensibles separated out in F101 will be partially recycled back to M101 and the rest will be either purged or combusted for power generation.We will assume ideal gas for this flowsheet. The properties required for this module are available in the same directory:\n", + "\n", + "- hda_ideal_VLE.py\n", + "- hda_reaction.py\n", + "\n", + "The state variables chosen for the property package are **flows of component by phase, temperature and pressure**. The components considered are: **toluene, hydrogen, benzene and methane**. Therefore, every stream has 8 flow variables, 1 temperature and 1 pressure variable. \n", + "\n", + "![](HDA_flowsheet.png)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing required pyomo and idaes components\n", + "\n", + "\n", + "To construct a flowsheet, we will need several components from the pyomo and idaes package. Let us first import the following components from Pyomo:\n", + "- Constraint (to write constraints)\n", + "- Var (to declare variables)\n", + "- ConcreteModel (to create the concrete model object)\n", + "- Expression (to evaluate values as a function of variables defined in the model)\n", + "- Objective (to define an objective function for optimization)\n", + "- SolverFactory (to solve the problem)\n", + "- TransformationFactory (to apply certain transformations)\n", + "- Arc (to connect two unit models)\n", + "- SequentialDecomposition (to initialize the flowsheet in a sequential mode)\n", + "\n", + "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/stable/\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import (\n", + " Constraint,\n", + " Var,\n", + " ConcreteModel,\n", + " Expression,\n", + " Objective,\n", + " SolverFactory,\n", + " TransformationFactory,\n", + " value,\n", + ")\n", + "from pyomo.network import Arc, SequentialDecomposition" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From idaes, we will be needing the FlowsheetBlock and the following unit models:\n", + "- Mixer\n", + "- Heater\n", + "- StoichiometricReactor\n", + "- **Flash**\n", + "- Separator (splitter) \n", + "- PressureChanger" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core import FlowsheetBlock" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.models.unit_models import (\n", + " PressureChanger,\n", + " Mixer,\n", + " Separator as Splitter,\n", + " Heater,\n", + " StoichiometricReactor,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Now, import the remaining unit models highlighted in blue above and run the cell using `Shift+Enter` after typing in the code. \n", + "
\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: import flash model from idaes.models.unit_models" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: import flash model from idaes.models.unit_models\n", + "from idaes.models.unit_models import Flash" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will also be needing some utility tools to put together the flowsheet and calculate the degrees of freedom. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "\n", + "# Import idaes logger to set output levels\n", + "import idaes.logger as idaeslog\n", + "from idaes.core.solvers import get_solver\n", + "from idaes.core.util.exceptions import InitializationError" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing required thermo and reaction package\n", + "\n", + "The final set of imports are to import the thermo and reaction package for the HDA process. We have created a custom thermo package that assumes Ideal Gas with support for VLE. \n", + "\n", + "The reaction package here is very simple as we will be using only a StochiometricReactor and the reaction package consists of the stochiometric coefficients for the reaction and the parameter for the heat of reaction. \n", + "\n", + "Let us import the following modules and they are in the same directory as this jupyter notebook:\n", + "
    \n", + "
  • hda_ideal_VLE as thermo_props
  • \n", + "
  • hda_reaction as reaction_props
  • \n", + "
\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes_examples.mod.hda import hda_ideal_VLE as thermo_props\n", + "from idaes_examples.mod.hda import hda_reaction as reaction_props" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Constructing the Flowsheet\n", + "\n", + "We have now imported all the components, unit models, and property modules we need to construct a flowsheet. Let us create a ConcreteModel and add the flowsheet block as we did in module 1. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m = ConcreteModel()\n", + "m.fs = FlowsheetBlock(dynamic=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now need to add the property packages to the flowsheet. Unlike Module 1, where we only had a thermo property package, for this flowsheet we will also need to add a reaction property package. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.thermo_params = thermo_props.HDAParameterBlock()\n", + "m.fs.reaction_params = reaction_props.HDAReactionParameterBlock(\n", + " property_package=m.fs.thermo_params\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding Unit Models\n", + "\n", + "Let us start adding the unit models we have imported to the flowsheet. Here, we are adding the Mixer (assigned a name M101) and a Heater (assigned a name H101). Note that, all unit models need to be given a property package argument. In addition to that, there are several arguments depending on the unit model, please refer to the documentation for more details (https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/generic/unit_models/index.html). For example, the Mixer unit model here is given a `list` consisting of names to the three inlets. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.M101 = Mixer(\n", + " property_package=m.fs.thermo_params,\n", + " inlet_list=[\"toluene_feed\", \"hydrogen_feed\", \"vapor_recycle\"],\n", + ")\n", + "\n", + "m.fs.H101 = Heater(\n", + " property_package=m.fs.thermo_params,\n", + " has_pressure_change=False,\n", + " has_phase_equilibrium=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Let us now add the StoichiometricReactor(assign the name R101) and pass the following arguments:\n", + "
    \n", + "
  • \"property_package\": m.fs.thermo_params
  • \n", + "
  • \"reaction_package\": m.fs.reaction_params
  • \n", + "
  • \"has_heat_of_reaction\": True
  • \n", + "
  • \"has_heat_transfer\": True
  • \n", + "
  • \"has_pressure_change\": False
  • \n", + "
\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add reactor with the specifications above" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add reactor with the specifications above\n", + "m.fs.R101 = StoichiometricReactor(\n", + " property_package=m.fs.thermo_params,\n", + " reaction_package=m.fs.reaction_params,\n", + " has_heat_of_reaction=True,\n", + " has_heat_transfer=True,\n", + " has_pressure_change=False,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us now add the Flash(assign the name F101) and pass the following arguments:\n", + "
    \n", + "
  • \"property_package\": m.fs.thermo_params
  • \n", + "
  • \"has_heat_transfer\": True
  • \n", + "
  • \"has_pressure_change\": False
  • \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.F101 = Flash(\n", + " property_package=m.fs.thermo_params,\n", + " has_heat_transfer=True,\n", + " has_pressure_change=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us now add the Splitter(S101), PressureChanger(C101) and the second Flash(F102). " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.S101 = Splitter(\n", + " property_package=m.fs.thermo_params,\n", + " ideal_separation=False,\n", + " outlet_list=[\"purge\", \"recycle\"],\n", + ")\n", + "\n", + "\n", + "m.fs.C101 = PressureChanger(\n", + " property_package=m.fs.thermo_params,\n", + " compressor=True,\n", + " thermodynamic_assumption=ThermodynamicAssumption.isothermal,\n", + ")\n", + "\n", + "m.fs.F102 = Flash(\n", + " property_package=m.fs.thermo_params,\n", + " has_heat_transfer=True,\n", + " has_pressure_change=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Connecting Unit Models using Arcs\n", + "\n", + "We have now added all the unit models we need to the flowsheet. However, we have not yet specified how the units are to be connected. To do this, we will be using the `Arc` which is a pyomo component that takes in two arguments: `source` and `destination`. Let us connect the outlet of the mixer(M101) to the inlet of the heater(H101). " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.H101.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "![](HDA_flowsheet.png) \n", + "\n", + "
\n", + "Inline Exercise:\n", + "Now, connect the H101 outlet to the R101 inlet using the cell above as a guide. \n", + "
\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Connect the H101 outlet to R101 inlet" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Connect the H101 outlet to R101 inlet\n", + "m.fs.s04 = Arc(source=m.fs.H101.outlet, destination=m.fs.R101.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now be connecting the rest of the flowsheet as shown below. Notice how the outlet names are different for the flash tanks F101 and F102 as they have a vapor and a liquid outlet. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.s05 = Arc(source=m.fs.R101.outlet, destination=m.fs.F101.inlet)\n", + "m.fs.s06 = Arc(source=m.fs.F101.vap_outlet, destination=m.fs.S101.inlet)\n", + "m.fs.s08 = Arc(source=m.fs.S101.recycle, destination=m.fs.C101.inlet)\n", + "m.fs.s09 = Arc(source=m.fs.C101.outlet, destination=m.fs.M101.vapor_recycle)\n", + "m.fs.s10 = Arc(source=m.fs.F101.liq_outlet, destination=m.fs.F102.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We have now connected the unit model block using the arcs. However, each of these arcs link to ports on the two unit models that are connected. In this case, the ports consist of the state variables that need to be linked between the unit models. Pyomo provides a convenient method to write these equality constraints for us between two ports and this is done as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "TransformationFactory(\"network.expand_arcs\").apply_to(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding expressions to compute purity and operating costs\n", + "\n", + "In this section, we will add a few Expressions that allows us to evaluate the performance. Expressions provide a convenient way of calculating certain values that are a function of the variables defined in the model. For more details on Expressions, please refer to: https://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html\n", + "\n", + "For this flowsheet, we are interested in computing the purity of the product Benzene stream (i.e. the mole fraction) and the operating cost which is a sum of the cooling and heating cost. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us first add an Expression to compute the mole fraction of benzene in the `vap_outlet` of F102 which is our product stream. Please note that the var flow_mol_phase_comp has the index - [time, phase, component]. As this is a steady-state flowsheet, the time index by default is 0. The valid phases are [\"Liq\", \"Vap\"]. Similarly the valid component list is [\"benzene\", \"toluene\", \"hydrogen\", \"methane\"]." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.purity = Expression(\n", + " expr=m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", + " / (\n", + " m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", + " + m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " )\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, let us add an expression to compute the cooling cost assuming a cost of 0.212E-4 $/kW. Note that cooling utility is required for the reactor (R101) and the first flash (F101). " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.cooling_cost = Expression(\n", + " expr=0.212e-7 * (-m.fs.F101.heat_duty[0]) + 0.212e-7 * (-m.fs.R101.heat_duty[0])\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "Now, let us add an expression to compute the heating cost assuming the utility cost as follows:\n", + "
    \n", + "
  • 2.2E-4 dollars/kW for H101
  • \n", + "
  • 1.9E-4 dollars/kW for F102
  • \n", + "
\n", + "Note that the heat duty is in units of watt (J/s). " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.heating_cost = Expression(\n", + " expr=2.2e-7 * m.fs.H101.heat_duty[0] + 1.9e-7 * m.fs.F102.heat_duty[0]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us now add an expression to compute the total operating cost per year which is basically the sum of the cooling and heating cost we defined above. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.operating_cost = Expression(\n", + " expr=(3600 * 24 * 365 * (m.fs.heating_cost + m.fs.cooling_cost))\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fixing feed conditions\n", + "\n", + "Let us first check how many degrees of freedom exist for this flowsheet using the `degrees_of_freedom` tool we imported earlier. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now be fixing the toluene feed stream to the conditions shown in the flowsheet above. Please note that though this is a pure toluene feed, the remaining components are still assigned a very small non-zero value to help with convergence and initializing. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(0.30)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.temperature.fix(303.2)\n", + "m.fs.M101.toluene_feed.pressure.fix(350000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "Similarly, let us fix the hydrogen feed to the following conditions in the next cell:\n", + "
    \n", + "
  • FH2 = 0.30 mol/s
  • \n", + "
  • FCH4 = 0.02 mol/s
  • \n", + "
  • Remaining components = 1e-5 mol/s
  • \n", + "
  • T = 303.2 K
  • \n", + "
  • P = 350000 Pa
  • \n", + "
\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(0.30)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(0.02)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.temperature.fix(303.2)\n", + "m.fs.M101.hydrogen_feed.pressure.fix(350000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fixing unit model specifications\n", + "\n", + "Now that we have fixed our inlet feed conditions, we will now be fixing the operating conditions for the unit models in the flowsheet. Let us set set the H101 outlet temperature to 600 K. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.H101.outlet.temperature.fix(600)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For the StoichiometricReactor, we have to define the conversion in terms of toluene. This requires us to create a new variable for specifying the conversion and adding a Constraint that defines the conversion with respect to toluene. The second degree of freedom for the reactor is to define the heat duty. In this case, let us assume the reactor to be adiabatic i.e. Q = 0. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.R101.conversion = Var(initialize=0.75, bounds=(0, 1))\n", + "\n", + "m.fs.R101.conv_constraint = Constraint(\n", + " expr=m.fs.R101.conversion * m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " == (\n", + " m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " - m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " )\n", + ")\n", + "\n", + "m.fs.R101.conversion.fix(0.75)\n", + "m.fs.R101.heat_duty.fix(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The Flash conditions for F101 can be set as follows. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.F101.vap_outlet.temperature.fix(325.0)\n", + "m.fs.F101.deltaP.fix(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Set the conditions for Flash F102 to the following conditions:\n", + "
    \n", + "
  • T = 375 K
  • \n", + "
  • deltaP = -200000
  • \n", + "
\n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Set conditions for Flash F102" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "m.fs.F102.vap_outlet.temperature.fix(375)\n", + "m.fs.F102.deltaP.fix(-200000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us fix the purge split fraction to 20% and the outlet pressure of the compressor is set to 350000 Pa. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.S101.split_fraction[0, \"purge\"].fix(0.2)\n", + "m.fs.C101.outlet.pressure.fix(350000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "We have now defined all the feed conditions and the inputs required for the unit models. The system should now have 0 degrees of freedom i.e. should be a square problem. Please check that the degrees of freedom is 0. \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: print the degrees of freedom" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Initialization\n", + "\n", + "\n", + "This section will demonstrate how to use the built-in sequential decomposition tool to initialize our flowsheet.\n", + "\n", + "![](HDA_flowsheet.png) \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us first create an object for the SequentialDecomposition and specify our options for this. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "seq = SequentialDecomposition()\n", + "seq.options.select_tear_method = \"heuristic\"\n", + "seq.options.tear_method = \"Wegstein\"\n", + "seq.options.iterLim = 3\n", + "\n", + "# Using the SD tool\n", + "G = seq.create_graph(m)\n", + "heuristic_tear_set = seq.tear_set_arcs(G, method=\"heuristic\")\n", + "order = seq.calculation_order(G)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Which is the tear stream? Display tear set and order" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "for o in heuristic_tear_set:\n", + " print(o.name)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What sequence did the SD tool determine to solve this flowsheet with the least number of tears? " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "for o in order:\n", + " print(o[0].name)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " \n", + "\n", + "![](HDA_tear_stream.png) \n", + "\n", + "\n", + "The SequentialDecomposition tool has determined that the tear stream is the mixer outlet. We will need to provide a reasonable guess for this." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tear_guesses = {\n", + " \"flow_mol_phase_comp\": {\n", + " (0, \"Vap\", \"benzene\"): 1e-5,\n", + " (0, \"Vap\", \"toluene\"): 1e-5,\n", + " (0, \"Vap\", \"hydrogen\"): 0.30,\n", + " (0, \"Vap\", \"methane\"): 0.02,\n", + " (0, \"Liq\", \"benzene\"): 1e-5,\n", + " (0, \"Liq\", \"toluene\"): 0.30,\n", + " (0, \"Liq\", \"hydrogen\"): 1e-5,\n", + " (0, \"Liq\", \"methane\"): 1e-5,\n", + " },\n", + " \"temperature\": {0: 303},\n", + " \"pressure\": {0: 350000},\n", + "}\n", + "\n", + "# Pass the tear_guess to the SD tool\n", + "seq.set_guesses_for(m.fs.H101.inlet, tear_guesses)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we need to tell the tool how to initialize a particular unit. We will be writing a python function which takes in a \"unit\" and calls the initialize method on that unit. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def function(unit):\n", + " try:\n", + " initializer = unit.default_initializer()\n", + " initializer.initialize(unit, output_level=idaeslog.INFO)\n", + " except InitializationError:\n", + " solver = get_solver()\n", + " solver.solve(unit)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We are now ready to initialize our flowsheet in a sequential mode. Note that we specifically set the iteration limit to be 5 as we are trying to use this tool only to get a good set of initial values such that IPOPT can then take over and solve this flowsheet for us. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "seq.run(m, function)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "We have now initialized the flowsheet. Let us run the flowsheet in a simulation mode to look at the results. To do this, complete the last line of code where we pass the model to the solver. You will need to type the following:\n", + " \n", + "results = solver.solve(m, tee=True)\n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Create the solver object\n", + "\n", + "\n", + "# Solve the model" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Create the solver object\n", + "from idaes.core.solvers import get_solver\n", + "\n", + "solver = get_solver()\n", + "\n", + "# Solve the model\n", + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Analyze the results of the square problem\n", + "\n", + "\n", + "What is the total operating cost? " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"operating cost = $\", value(m.fs.operating_cost))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For this operating cost, what is the amount of benzene we are able to produce and what purity we are able to achieve? " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.F102.report()\n", + "\n", + "print()\n", + "print(\"benzene purity = \", value(m.fs.purity))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, let's look at how much benzene we are losing with the light gases out of F101. IDAES has tools for creating stream tables based on the `Arcs` and/or `Ports` in a flowsheet. Let us create and print a simple stream table showing the stream leaving the reactor and the vapor stream from F101.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "How much benzene are we losing in the F101 vapor outlet stream?\n", + "
\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core.util.tables import (\n", + " create_stream_table_dataframe,\n", + " stream_table_dataframe_to_string,\n", + ")\n", + "\n", + "st = create_stream_table_dataframe({\"Reactor\": m.fs.s05, \"Light Gases\": m.fs.s06})\n", + "print(stream_table_dataframe_to_string(st))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "You can query additional variables here if you like. \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Optimization\n", + "\n", + "\n", + "We saw from the results above that the total operating cost for the base case was $419,122 per year. We are producing 0.142 mol/s of benzene at a purity of 82\\%. However, we are losing around 42\\% of benzene in F101 vapor outlet stream. \n", + "\n", + "Let us try to minimize this cost such that:\n", + "- we are producing at least 0.15 mol/s of benzene in F102 vapor outlet i.e. our product stream\n", + "- purity of benzene i.e. the mole fraction of benzene in F102 vapor outlet is at least 80%\n", + "- restricting the benzene loss in F101 vapor outlet to less than 20%\n", + "\n", + "For this problem, our decision variables are as follows:\n", + "- H101 outlet temperature\n", + "- R101 cooling duty provided\n", + "- F101 outlet temperature\n", + "- F102 outlet temperature\n", + "- F102 deltaP in the flash tank\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us declare our objective function for this problem. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.objective = Objective(expr=m.fs.operating_cost)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, we need to unfix the decision variables as we had solved a square problem (degrees of freedom = 0) until now. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.H101.outlet.temperature.unfix()\n", + "m.fs.R101.heat_duty.unfix()\n", + "m.fs.F101.vap_outlet.temperature.unfix()\n", + "m.fs.F102.vap_outlet.temperature.unfix()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Let us now unfix the remaining variable which is F102 pressure drop (F102.deltaP) \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Unfix deltaP for F102" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Unfix deltaP for F102\n", + "m.fs.F102.deltaP.unfix()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we need to set bounds on these decision variables to values shown below:\n", + "\n", + " - H101 outlet temperature [500, 600] K\n", + " - R101 outlet temperature [600, 800] K\n", + " - F101 outlet temperature [298, 450] K\n", + " - F102 outlet temperature [298, 450] K\n", + " - F102 outlet pressure [105000, 110000] Pa\n", + "\n", + "Let us first set the variable bound for the H101 outlet temperature as shown below:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.H101.outlet.temperature[0].setlb(500)\n", + "m.fs.H101.outlet.temperature[0].setub(600)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Now, set the variable bound for the R101 outlet temperature.\n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Set the bounds for reactor outlet temperature" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Set the bounds for reactor outlet temperature\n", + "m.fs.R101.outlet.temperature[0].setlb(600)\n", + "m.fs.R101.outlet.temperature[0].setub(800)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us fix the bounds for the rest of the decision variables. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.F101.vap_outlet.temperature[0].setlb(298.0)\n", + "m.fs.F101.vap_outlet.temperature[0].setub(450.0)\n", + "m.fs.F102.vap_outlet.temperature[0].setlb(298.0)\n", + "m.fs.F102.vap_outlet.temperature[0].setub(450.0)\n", + "m.fs.F102.vap_outlet.pressure[0].setlb(105000)\n", + "m.fs.F102.vap_outlet.pressure[0].setub(110000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, the only things left to define are our constraints on overhead loss in F101, product flow rate and purity in F102. Let us first look at defining a constraint for the overhead loss in F101 where we are restricting the benzene leaving the vapor stream to less than 20 \\% of the benzene available in the reactor outlet. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.overhead_loss = Constraint(\n", + " expr=m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", + " <= 0.20 * m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Now, add the constraint such that we are producing at least 0.15 mol/s of benzene in the product stream which is the vapor outlet of F102. Let us name this constraint as m.fs.product_flow. \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add minimum product flow constraint" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add minimum product flow constraint\n", + "m.fs.product_flow = Constraint(\n", + " expr=m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"] >= 0.15\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us add the final constraint on product purity or the mole fraction of benzene in the product stream such that it is at least greater than 80%. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.product_purity = Constraint(expr=m.fs.purity >= 0.80)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "We have now defined the optimization problem and we are now ready to solve this problem. \n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Optimization Results\n", + "\n", + "Display the results and product specifications" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"operating cost = $\", value(m.fs.operating_cost))\n", + "\n", + "print()\n", + "print(\"Product flow rate and purity in F102\")\n", + "\n", + "m.fs.F102.report()\n", + "\n", + "print()\n", + "print(\"benzene purity = \", value(m.fs.purity))\n", + "\n", + "print()\n", + "print(\"Overhead loss in F101\")\n", + "m.fs.F101.report()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Display optimal values for the decision variables" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Optimal Values\")\n", + "print()\n", + "\n", + "print(\"H101 outlet temperature = \", value(m.fs.H101.outlet.temperature[0]), \"K\")\n", + "\n", + "print()\n", + "print(\"R101 outlet temperature = \", value(m.fs.R101.outlet.temperature[0]), \"K\")\n", + "\n", + "print()\n", + "print(\"F101 outlet temperature = \", value(m.fs.F101.vap_outlet.temperature[0]), \"K\")\n", + "\n", + "print()\n", + "print(\"F102 outlet temperature = \", value(m.fs.F102.vap_outlet.temperature[0]), \"K\")\n", + "print(\"F102 outlet pressure = \", value(m.fs.F102.vap_outlet.pressure[0]), \"Pa\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.12" + } + }, + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/tut/core/hda_flowsheet_test.ipynb b/idaes_examples/notebooks/docs/tut/core/hda_flowsheet_test.ipynb index 415cf48c..b532c485 100644 --- a/idaes_examples/notebooks/docs/tut/core/hda_flowsheet_test.ipynb +++ b/idaes_examples/notebooks/docs/tut/core/hda_flowsheet_test.ipynb @@ -1,1498 +1,1499 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "# HDA Flowsheet Simulation and Optimization\n", - "\n", - "Author: Jaffer Ghouse \n", - "Maintainer: Brandon Paul \n", - "Updated: 2023-06-01 \n", - "\n", - "## Learning outcomes\n", - "\n", - "\n", - "- Construct a steady-state flowsheet using the IDAES unit model library\n", - "- Connecting unit models in a flowsheet using Arcs\n", - "- Using the SequentialDecomposition tool to initialize a flowsheet with recycle\n", - "- Fomulate and solve an optimization problem\n", - " - Defining an objective function\n", - " - Setting variable bounds\n", - " - Adding additional constraints \n", - "\n", - "\n", - "## Problem Statement\n", - "\n", - "Hydrodealkylation is a chemical reaction that often involves reacting\n", - "an aromatic hydrocarbon in the presence of hydrogen gas to form a\n", - "simpler aromatic hydrocarbon devoid of functional groups. In this\n", - "example, toluene will be reacted with hydrogen gas at high temperatures\n", - " to form benzene via the following reaction:\n", - "\n", - "**C6H5CH3 + H2 → C6H6 + CH4**\n", - "\n", - "\n", - "This reaction is often accompanied by an equilibrium side reaction\n", - "which forms diphenyl, which we will neglect for this example.\n", - "\n", - "This example is based on the 1967 AIChE Student Contest problem as\n", - "present by Douglas, J.M., Chemical Design of Chemical Processes, 1988,\n", - "McGraw-Hill.\n", - "\n", - "The flowsheet that we will be using for this module is shown below with the stream conditions. We will be processing toluene and hydrogen to produce at least 370 TPY of benzene. As shown in the flowsheet, there are two flash tanks, F101 to separate out the non-condensibles and F102 to further separate the benzene-toluene mixture to improve the benzene purity. Note that typically a distillation column is required to obtain high purity benzene but that is beyond the scope of this workshop. The non-condensibles separated out in F101 will be partially recycled back to M101 and the rest will be either purged or combusted for power generation.We will assume ideal gas for this flowsheet. The properties required for this module are available in the same directory:\n", - "\n", - "- hda_ideal_VLE.py\n", - "- hda_reaction.py\n", - "\n", - "The state variables chosen for the property package are **flows of component by phase, temperature and pressure**. The components considered are: **toluene, hydrogen, benzene and methane**. Therefore, every stream has 8 flow variables, 1 temperature and 1 pressure variable. \n", - "\n", - "![](HDA_flowsheet.png)\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing required pyomo and idaes components\n", - "\n", - "\n", - "To construct a flowsheet, we will need several components from the pyomo and idaes package. Let us first import the following components from Pyomo:\n", - "- Constraint (to write constraints)\n", - "- Var (to declare variables)\n", - "- ConcreteModel (to create the concrete model object)\n", - "- Expression (to evaluate values as a function of variables defined in the model)\n", - "- Objective (to define an objective function for optimization)\n", - "- SolverFactory (to solve the problem)\n", - "- TransformationFactory (to apply certain transformations)\n", - "- Arc (to connect two unit models)\n", - "- SequentialDecomposition (to initialize the flowsheet in a sequential mode)\n", - "\n", - "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/stable/\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.environ import (\n", - " Constraint,\n", - " Var,\n", - " ConcreteModel,\n", - " Expression,\n", - " Objective,\n", - " SolverFactory,\n", - " TransformationFactory,\n", - " value,\n", - ")\n", - "from pyomo.network import Arc, SequentialDecomposition" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "From idaes, we will be needing the FlowsheetBlock and the following unit models:\n", - "- Mixer\n", - "- Heater\n", - "- StoichiometricReactor\n", - "- **Flash**\n", - "- Separator (splitter) \n", - "- PressureChanger" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.core import FlowsheetBlock" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.models.unit_models import (\n", - " PressureChanger,\n", - " Mixer,\n", - " Separator as Splitter,\n", - " Heater,\n", - " StoichiometricReactor,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Now, import the remaining unit models highlighted in blue above and run the cell using `Shift+Enter` after typing in the code. \n", - "
\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: import flash model from idaes.models.unit_models\n", - "from idaes.models.unit_models import Flash" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will also be needing some utility tools to put together the flowsheet and calculate the degrees of freedom. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "\n", - "# Import idaes logger to set output levels\n", - "import idaes.logger as idaeslog\n", - "from idaes.core.solvers import get_solver\n", - "from idaes.core.util.exceptions import InitializationError" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing required thermo and reaction package\n", - "\n", - "The final set of imports are to import the thermo and reaction package for the HDA process. We have created a custom thermo package that assumes Ideal Gas with support for VLE. \n", - "\n", - "The reaction package here is very simple as we will be using only a StochiometricReactor and the reaction package consists of the stochiometric coefficients for the reaction and the parameter for the heat of reaction. \n", - "\n", - "Let us import the following modules and they are in the same directory as this jupyter notebook:\n", - "
    \n", - "
  • hda_ideal_VLE as thermo_props
  • \n", - "
  • hda_reaction as reaction_props
  • \n", - "
\n", - "" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes_examples.mod.hda import hda_ideal_VLE as thermo_props\n", - "from idaes_examples.mod.hda import hda_reaction as reaction_props" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Constructing the Flowsheet\n", - "\n", - "We have now imported all the components, unit models, and property modules we need to construct a flowsheet. Let us create a ConcreteModel and add the flowsheet block as we did in module 1. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m = ConcreteModel()\n", - "m.fs = FlowsheetBlock(dynamic=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We now need to add the property packages to the flowsheet. Unlike Module 1, where we only had a thermo property package, for this flowsheet we will also need to add a reaction property package. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.thermo_params = thermo_props.HDAParameterBlock()\n", - "m.fs.reaction_params = reaction_props.HDAReactionParameterBlock(\n", - " property_package=m.fs.thermo_params\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding Unit Models\n", - "\n", - "Let us start adding the unit models we have imported to the flowsheet. Here, we are adding the Mixer (assigned a name M101) and a Heater (assigned a name H101). Note that, all unit models need to be given a property package argument. In addition to that, there are several arguments depending on the unit model, please refer to the documentation for more details (https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/generic/unit_models/index.html). For example, the Mixer unit model here is given a `list` consisting of names to the three inlets. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.M101 = Mixer(\n", - " property_package=m.fs.thermo_params,\n", - " inlet_list=[\"toluene_feed\", \"hydrogen_feed\", \"vapor_recycle\"],\n", - ")\n", - "\n", - "m.fs.H101 = Heater(\n", - " property_package=m.fs.thermo_params,\n", - " has_pressure_change=False,\n", - " has_phase_equilibrium=True,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Let us now add the StoichiometricReactor(assign the name R101) and pass the following arguments:\n", - "
    \n", - "
  • \"property_package\": m.fs.thermo_params
  • \n", - "
  • \"reaction_package\": m.fs.reaction_params
  • \n", - "
  • \"has_heat_of_reaction\": True
  • \n", - "
  • \"has_heat_transfer\": True
  • \n", - "
  • \"has_pressure_change\": False
  • \n", - "
\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add reactor with the specifications above\n", - "m.fs.R101 = StoichiometricReactor(\n", - " property_package=m.fs.thermo_params,\n", - " reaction_package=m.fs.reaction_params,\n", - " has_heat_of_reaction=True,\n", - " has_heat_transfer=True,\n", - " has_pressure_change=False,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us now add the Flash(assign the name F101) and pass the following arguments:\n", - "
    \n", - "
  • \"property_package\": m.fs.thermo_params
  • \n", - "
  • \"has_heat_transfer\": True
  • \n", - "
  • \"has_pressure_change\": False
  • \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.F101 = Flash(\n", - " property_package=m.fs.thermo_params,\n", - " has_heat_transfer=True,\n", - " has_pressure_change=True,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us now add the Splitter(S101), PressureChanger(C101) and the second Flash(F102). " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.S101 = Splitter(\n", - " property_package=m.fs.thermo_params,\n", - " ideal_separation=False,\n", - " outlet_list=[\"purge\", \"recycle\"],\n", - ")\n", - "\n", - "\n", - "m.fs.C101 = PressureChanger(\n", - " property_package=m.fs.thermo_params,\n", - " compressor=True,\n", - " thermodynamic_assumption=ThermodynamicAssumption.isothermal,\n", - ")\n", - "\n", - "m.fs.F102 = Flash(\n", - " property_package=m.fs.thermo_params,\n", - " has_heat_transfer=True,\n", - " has_pressure_change=True,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Connecting Unit Models using Arcs\n", - "\n", - "We have now added all the unit models we need to the flowsheet. However, we have not yet specified how the units are to be connected. To do this, we will be using the `Arc` which is a pyomo component that takes in two arguments: `source` and `destination`. Let us connect the outlet of the mixer(M101) to the inlet of the heater(H101). " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.H101.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "![](HDA_flowsheet.png) \n", - "\n", - "
\n", - "Inline Exercise:\n", - "Now, connect the H101 outlet to the R101 inlet using the cell above as a guide. \n", - "
\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Connect the H101 outlet to R101 inlet\n", - "m.fs.s04 = Arc(source=m.fs.H101.outlet, destination=m.fs.R101.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will now be connecting the rest of the flowsheet as shown below. Notice how the outlet names are different for the flash tanks F101 and F102 as they have a vapor and a liquid outlet. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.s05 = Arc(source=m.fs.R101.outlet, destination=m.fs.F101.inlet)\n", - "m.fs.s06 = Arc(source=m.fs.F101.vap_outlet, destination=m.fs.S101.inlet)\n", - "m.fs.s08 = Arc(source=m.fs.S101.recycle, destination=m.fs.C101.inlet)\n", - "m.fs.s09 = Arc(source=m.fs.C101.outlet, destination=m.fs.M101.vapor_recycle)\n", - "m.fs.s10 = Arc(source=m.fs.F101.liq_outlet, destination=m.fs.F102.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We have now connected the unit model block using the arcs. However, each of these arcs link to ports on the two unit models that are connected. In this case, the ports consist of the state variables that need to be linked between the unit models. Pyomo provides a convenient method to write these equality constraints for us between two ports and this is done as follows:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "TransformationFactory(\"network.expand_arcs\").apply_to(m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding expressions to compute purity and operating costs\n", - "\n", - "In this section, we will add a few Expressions that allows us to evaluate the performance. Expressions provide a convenient way of calculating certain values that are a function of the variables defined in the model. For more details on Expressions, please refer to: https://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html\n", - "\n", - "For this flowsheet, we are interested in computing the purity of the product Benzene stream (i.e. the mole fraction) and the operating cost which is a sum of the cooling and heating cost. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us first add an Expression to compute the mole fraction of benzene in the `vap_outlet` of F102 which is our product stream. Please note that the var flow_mol_phase_comp has the index - [time, phase, component]. As this is a steady-state flowsheet, the time index by default is 0. The valid phases are [\"Liq\", \"Vap\"]. Similarly the valid component list is [\"benzene\", \"toluene\", \"hydrogen\", \"methane\"]." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.purity = Expression(\n", - " expr=m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", - " / (\n", - " m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", - " + m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " )\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, let us add an expression to compute the cooling cost assuming a cost of 0.212E-4 $/kW. Note that cooling utility is required for the reactor (R101) and the first flash (F101). " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.cooling_cost = Expression(\n", - " expr=0.212e-7 * (-m.fs.F101.heat_duty[0]) + 0.212e-7 * (-m.fs.R101.heat_duty[0])\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "Now, let us add an expression to compute the heating cost assuming the utility cost as follows:\n", - "
    \n", - "
  • 2.2E-4 dollars/kW for H101
  • \n", - "
  • 1.9E-4 dollars/kW for F102
  • \n", - "
\n", - "Note that the heat duty is in units of watt (J/s). " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.heating_cost = Expression(\n", - " expr=2.2e-7 * m.fs.H101.heat_duty[0] + 1.9e-7 * m.fs.F102.heat_duty[0]\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us now add an expression to compute the total operating cost per year which is basically the sum of the cooling and heating cost we defined above. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.operating_cost = Expression(\n", - " expr=(3600 * 24 * 365 * (m.fs.heating_cost + m.fs.cooling_cost))\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Fixing feed conditions\n", - "\n", - "Let us first check how many degrees of freedom exist for this flowsheet using the `degrees_of_freedom` tool we imported earlier. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "# Check the degrees of freedom\n", - "assert degrees_of_freedom(m) == 29" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will now be fixing the toluene feed stream to the conditions shown in the flowsheet above. Please note that though this is a pure toluene feed, the remaining components are still assigned a very small non-zero value to help with convergence and initializing. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(0.30)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.temperature.fix(303.2)\n", - "m.fs.M101.toluene_feed.pressure.fix(350000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "Similarly, let us fix the hydrogen feed to the following conditions in the next cell:\n", - "
    \n", - "
  • FH2 = 0.30 mol/s
  • \n", - "
  • FCH4 = 0.02 mol/s
  • \n", - "
  • Remaining components = 1e-5 mol/s
  • \n", - "
  • T = 303.2 K
  • \n", - "
  • P = 350000 Pa
  • \n", - "
\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(0.30)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(0.02)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.temperature.fix(303.2)\n", - "m.fs.M101.hydrogen_feed.pressure.fix(350000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Fixing unit model specifications\n", - "\n", - "Now that we have fixed our inlet feed conditions, we will now be fixing the operating conditions for the unit models in the flowsheet. Let us set set the H101 outlet temperature to 600 K. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.H101.outlet.temperature.fix(600)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For the StoichiometricReactor, we have to define the conversion in terms of toluene. This requires us to create a new variable for specifying the conversion and adding a Constraint that defines the conversion with respect to toluene. The second degree of freedom for the reactor is to define the heat duty. In this case, let us assume the reactor to be adiabatic i.e. Q = 0. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.R101.conversion = Var(initialize=0.75, bounds=(0, 1))\n", - "\n", - "m.fs.R101.conv_constraint = Constraint(\n", - " expr=m.fs.R101.conversion * m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " == (\n", - " m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " - m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " )\n", - ")\n", - "\n", - "m.fs.R101.conversion.fix(0.75)\n", - "m.fs.R101.heat_duty.fix(0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The Flash conditions for F101 can be set as follows. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.F101.vap_outlet.temperature.fix(325.0)\n", - "m.fs.F101.deltaP.fix(0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Set the conditions for Flash F102 to the following conditions:\n", - "
    \n", - "
  • T = 375 K
  • \n", - "
  • deltaP = -200000
  • \n", - "
\n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "m.fs.F102.vap_outlet.temperature.fix(375)\n", - "m.fs.F102.deltaP.fix(-200000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us fix the purge split fraction to 20% and the outlet pressure of the compressor is set to 350000 Pa. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.S101.split_fraction[0, \"purge\"].fix(0.2)\n", - "m.fs.C101.outlet.pressure.fix(350000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "We have now defined all the feed conditions and the inputs required for the unit models. The system should now have 0 degrees of freedom i.e. should be a square problem. Please check that the degrees of freedom is 0. \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "# Check the degrees of freedom\n", - "assert degrees_of_freedom(m) == 0" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Initialization\n", - "\n", - "\n", - "This section will demonstrate how to use the built-in sequential decomposition tool to initialize our flowsheet.\n", - "\n", - "![](HDA_flowsheet.png) \n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us first create an object for the SequentialDecomposition and specify our options for this. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "seq = SequentialDecomposition()\n", - "seq.options.select_tear_method = \"heuristic\"\n", - "seq.options.tear_method = \"Wegstein\"\n", - "seq.options.iterLim = 3\n", - "\n", - "# Using the SD tool\n", - "G = seq.create_graph(m)\n", - "heuristic_tear_set = seq.tear_set_arcs(G, method=\"heuristic\")\n", - "order = seq.calculation_order(G)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Which is the tear stream? Display tear set and order" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "for o in heuristic_tear_set:\n", - " print(o.name)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "What sequence did the SD tool determine to solve this flowsheet with the least number of tears? " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "for o in order:\n", - " print(o[0].name)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - " \n", - "\n", - "![](HDA_tear_stream.png) \n", - "\n", - "\n", - "The SequentialDecomposition tool has determined that the tear stream is the mixer outlet. We will need to provide a reasonable guess for this." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "tear_guesses = {\n", - " \"flow_mol_phase_comp\": {\n", - " (0, \"Vap\", \"benzene\"): 1e-5,\n", - " (0, \"Vap\", \"toluene\"): 1e-5,\n", - " (0, \"Vap\", \"hydrogen\"): 0.30,\n", - " (0, \"Vap\", \"methane\"): 0.02,\n", - " (0, \"Liq\", \"benzene\"): 1e-5,\n", - " (0, \"Liq\", \"toluene\"): 0.30,\n", - " (0, \"Liq\", \"hydrogen\"): 1e-5,\n", - " (0, \"Liq\", \"methane\"): 1e-5,\n", - " },\n", - " \"temperature\": {0: 303},\n", - " \"pressure\": {0: 350000},\n", - "}\n", - "\n", - "# Pass the tear_guess to the SD tool\n", - "seq.set_guesses_for(m.fs.H101.inlet, tear_guesses)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we need to tell the tool how to initialize a particular unit. We will be writing a python function which takes in a \"unit\" and calls the initialize method on that unit. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "def function(unit):\n", - " try:\n", - " initializer = unit.default_initializer()\n", - " initializer.initialize(unit, output_level=idaeslog.INFO)\n", - " except InitializationError:\n", - " solver = get_solver()\n", - " solver.solve(unit)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We are now ready to initialize our flowsheet in a sequential mode. Note that we specifically set the iteration limit to be 5 as we are trying to use this tool only to get a good set of initial values such that IPOPT can then take over and solve this flowsheet for us. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "seq.run(m, function)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "We have now initialized the flowsheet. Let us run the flowsheet in a simulation mode to look at the results. To do this, complete the last line of code where we pass the model to the solver. You will need to type the following:\n", - " \n", - "results = solver.solve(m, tee=True)\n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Create the solver object\n", - "from idaes.core.solvers import get_solver\n", - "\n", - "solver = get_solver()\n", - "\n", - "# Solve the model\n", - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "# Check solver solve status\n", - "from pyomo.environ import TerminationCondition\n", - "\n", - "assert results.solver.termination_condition == TerminationCondition.optimal" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Analyze the results of the square problem\n", - "\n", - "\n", - "What is the total operating cost? " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(\"operating cost = $\", value(m.fs.operating_cost))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "import pytest\n", - "\n", - "assert value(m.fs.operating_cost) == pytest.approx(419122.3387, abs=1e-3)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For this operating cost, what is the amount of benzene we are able to produce and what purity we are able to achieve? " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.F102.report()\n", - "\n", - "print()\n", - "print(\"benzene purity = \", value(m.fs.purity))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "assert value(m.fs.purity) == pytest.approx(0.82429, abs=1e-3)\n", - "\n", - "assert value(m.fs.F102.heat_duty[0]) == pytest.approx(7352.4828, abs=1e-3)\n", - "assert value(m.fs.F102.vap_outlet.pressure[0]) == pytest.approx(1.5000e05, abs=1e-3)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, let's look at how much benzene we are losing with the light gases out of F101. IDAES has tools for creating stream tables based on the `Arcs` and/or `Ports` in a flowsheet. Let us create and print a simple stream table showing the stream leaving the reactor and the vapor stream from F101.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "How much benzene are we losing in the F101 vapor outlet stream?\n", - "
\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.core.util.tables import (\n", - " create_stream_table_dataframe,\n", - " stream_table_dataframe_to_string,\n", - ")\n", - "\n", - "st = create_stream_table_dataframe({\"Reactor\": m.fs.s05, \"Light Gases\": m.fs.s06})\n", - "print(stream_table_dataframe_to_string(st))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "You can query additional variables here if you like. \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Optimization\n", - "\n", - "\n", - "We saw from the results above that the total operating cost for the base case was $419,122 per year. We are producing 0.142 mol/s of benzene at a purity of 82\\%. However, we are losing around 42\\% of benzene in F101 vapor outlet stream. \n", - "\n", - "Let us try to minimize this cost such that:\n", - "- we are producing at least 0.15 mol/s of benzene in F102 vapor outlet i.e. our product stream\n", - "- purity of benzene i.e. the mole fraction of benzene in F102 vapor outlet is at least 80%\n", - "- restricting the benzene loss in F101 vapor outlet to less than 20%\n", - "\n", - "For this problem, our decision variables are as follows:\n", - "- H101 outlet temperature\n", - "- R101 cooling duty provided\n", - "- F101 outlet temperature\n", - "- F102 outlet temperature\n", - "- F102 deltaP in the flash tank\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us declare our objective function for this problem. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.objective = Objective(expr=m.fs.operating_cost)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, we need to unfix the decision variables as we had solved a square problem (degrees of freedom = 0) until now. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.H101.outlet.temperature.unfix()\n", - "m.fs.R101.heat_duty.unfix()\n", - "m.fs.F101.vap_outlet.temperature.unfix()\n", - "m.fs.F102.vap_outlet.temperature.unfix()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Let us now unfix the remaining variable which is F102 pressure drop (F102.deltaP) \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Unfix deltaP for F102\n", - "m.fs.F102.deltaP.unfix()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "assert degrees_of_freedom(m) == 5" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we need to set bounds on these decision variables to values shown below:\n", - "\n", - " - H101 outlet temperature [500, 600] K\n", - " - R101 outlet temperature [600, 800] K\n", - " - F101 outlet temperature [298, 450] K\n", - " - F102 outlet temperature [298, 450] K\n", - " - F102 outlet pressure [105000, 110000] Pa\n", - "\n", - "Let us first set the variable bound for the H101 outlet temperature as shown below:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.H101.outlet.temperature[0].setlb(500)\n", - "m.fs.H101.outlet.temperature[0].setub(600)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Now, set the variable bound for the R101 outlet temperature.\n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Set the bounds for reactor outlet temperature\n", - "m.fs.R101.outlet.temperature[0].setlb(600)\n", - "m.fs.R101.outlet.temperature[0].setub(800)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us fix the bounds for the rest of the decision variables. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.F101.vap_outlet.temperature[0].setlb(298.0)\n", - "m.fs.F101.vap_outlet.temperature[0].setub(450.0)\n", - "m.fs.F102.vap_outlet.temperature[0].setlb(298.0)\n", - "m.fs.F102.vap_outlet.temperature[0].setub(450.0)\n", - "m.fs.F102.vap_outlet.pressure[0].setlb(105000)\n", - "m.fs.F102.vap_outlet.pressure[0].setub(110000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, the only things left to define are our constraints on overhead loss in F101, product flow rate and purity in F102. Let us first look at defining a constraint for the overhead loss in F101 where we are restricting the benzene leaving the vapor stream to less than 20 \\% of the benzene available in the reactor outlet. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.overhead_loss = Constraint(\n", - " expr=m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", - " <= 0.20 * m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Now, add the constraint such that we are producing at least 0.15 mol/s of benzene in the product stream which is the vapor outlet of F102. Let us name this constraint as m.fs.product_flow. \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add minimum product flow constraint\n", - "m.fs.product_flow = Constraint(\n", - " expr=m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"] >= 0.15\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us add the final constraint on product purity or the mole fraction of benzene in the product stream such that it is at least greater than 80%. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.product_purity = Constraint(expr=m.fs.purity >= 0.80)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "We have now defined the optimization problem and we are now ready to solve this problem. \n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "# Check for solver solve status\n", - "from pyomo.environ import TerminationCondition\n", - "\n", - "assert results.solver.termination_condition == TerminationCondition.optimal" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Optimization Results\n", - "\n", - "Display the results and product specifications" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(\"operating cost = $\", value(m.fs.operating_cost))\n", - "\n", - "print()\n", - "print(\"Product flow rate and purity in F102\")\n", - "\n", - "m.fs.F102.report()\n", - "\n", - "print()\n", - "print(\"benzene purity = \", value(m.fs.purity))\n", - "\n", - "print()\n", - "print(\"Overhead loss in F101\")\n", - "m.fs.F101.report()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "assert value(m.fs.operating_cost) == pytest.approx(312786.338, abs=1e-3)\n", - "assert value(m.fs.purity) == pytest.approx(0.818827, abs=1e-3)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Display optimal values for the decision variables" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(\"Optimal Values\")\n", - "print()\n", - "\n", - "print(\"H101 outlet temperature = \", value(m.fs.H101.outlet.temperature[0]), \"K\")\n", - "\n", - "print()\n", - "print(\"R101 outlet temperature = \", value(m.fs.R101.outlet.temperature[0]), \"K\")\n", - "\n", - "print()\n", - "print(\"F101 outlet temperature = \", value(m.fs.F101.vap_outlet.temperature[0]), \"K\")\n", - "\n", - "print()\n", - "print(\"F102 outlet temperature = \", value(m.fs.F102.vap_outlet.temperature[0]), \"K\")\n", - "print(\"F102 outlet pressure = \", value(m.fs.F102.vap_outlet.pressure[0]), \"Pa\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "assert value(m.fs.H101.outlet.temperature[0]) == pytest.approx(500, abs=1e-3)\n", - "assert value(m.fs.R101.outlet.temperature[0]) == pytest.approx(696.112, abs=1e-3)\n", - "assert value(m.fs.F101.vap_outlet.temperature[0]) == pytest.approx(301.878, abs=1e-3)\n", - "assert value(m.fs.F102.vap_outlet.temperature[0]) == pytest.approx(362.935, abs=1e-3)\n", - "assert value(m.fs.F102.vap_outlet.pressure[0]) == pytest.approx(105000, abs=1e-2)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.12" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "# HDA Flowsheet Simulation and Optimization\n", + "\n", + "Author: Jaffer Ghouse \n", + "Maintainer: Brandon Paul \n", + "Updated: 2023-06-01 \n", + "\n", + "## Learning outcomes\n", + "\n", + "\n", + "- Construct a steady-state flowsheet using the IDAES unit model library\n", + "- Connecting unit models in a flowsheet using Arcs\n", + "- Using the SequentialDecomposition tool to initialize a flowsheet with recycle\n", + "- Fomulate and solve an optimization problem\n", + " - Defining an objective function\n", + " - Setting variable bounds\n", + " - Adding additional constraints \n", + "\n", + "\n", + "## Problem Statement\n", + "\n", + "Hydrodealkylation is a chemical reaction that often involves reacting\n", + "an aromatic hydrocarbon in the presence of hydrogen gas to form a\n", + "simpler aromatic hydrocarbon devoid of functional groups. In this\n", + "example, toluene will be reacted with hydrogen gas at high temperatures\n", + " to form benzene via the following reaction:\n", + "\n", + "**C6H5CH3 + H2 \u2192 C6H6 + CH4**\n", + "\n", + "\n", + "This reaction is often accompanied by an equilibrium side reaction\n", + "which forms diphenyl, which we will neglect for this example.\n", + "\n", + "This example is based on the 1967 AIChE Student Contest problem as\n", + "present by Douglas, J.M., Chemical Design of Chemical Processes, 1988,\n", + "McGraw-Hill.\n", + "\n", + "The flowsheet that we will be using for this module is shown below with the stream conditions. We will be processing toluene and hydrogen to produce at least 370 TPY of benzene. As shown in the flowsheet, there are two flash tanks, F101 to separate out the non-condensibles and F102 to further separate the benzene-toluene mixture to improve the benzene purity. Note that typically a distillation column is required to obtain high purity benzene but that is beyond the scope of this workshop. The non-condensibles separated out in F101 will be partially recycled back to M101 and the rest will be either purged or combusted for power generation.We will assume ideal gas for this flowsheet. The properties required for this module are available in the same directory:\n", + "\n", + "- hda_ideal_VLE.py\n", + "- hda_reaction.py\n", + "\n", + "The state variables chosen for the property package are **flows of component by phase, temperature and pressure**. The components considered are: **toluene, hydrogen, benzene and methane**. Therefore, every stream has 8 flow variables, 1 temperature and 1 pressure variable. \n", + "\n", + "![](HDA_flowsheet.png)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing required pyomo and idaes components\n", + "\n", + "\n", + "To construct a flowsheet, we will need several components from the pyomo and idaes package. Let us first import the following components from Pyomo:\n", + "- Constraint (to write constraints)\n", + "- Var (to declare variables)\n", + "- ConcreteModel (to create the concrete model object)\n", + "- Expression (to evaluate values as a function of variables defined in the model)\n", + "- Objective (to define an objective function for optimization)\n", + "- SolverFactory (to solve the problem)\n", + "- TransformationFactory (to apply certain transformations)\n", + "- Arc (to connect two unit models)\n", + "- SequentialDecomposition (to initialize the flowsheet in a sequential mode)\n", + "\n", + "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/stable/\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import (\n", + " Constraint,\n", + " Var,\n", + " ConcreteModel,\n", + " Expression,\n", + " Objective,\n", + " SolverFactory,\n", + " TransformationFactory,\n", + " value,\n", + ")\n", + "from pyomo.network import Arc, SequentialDecomposition" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From idaes, we will be needing the FlowsheetBlock and the following unit models:\n", + "- Mixer\n", + "- Heater\n", + "- StoichiometricReactor\n", + "- **Flash**\n", + "- Separator (splitter) \n", + "- PressureChanger" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core import FlowsheetBlock" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.models.unit_models import (\n", + " PressureChanger,\n", + " Mixer,\n", + " Separator as Splitter,\n", + " Heater,\n", + " StoichiometricReactor,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Now, import the remaining unit models highlighted in blue above and run the cell using `Shift+Enter` after typing in the code. \n", + "
\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: import flash model from idaes.models.unit_models\n", + "from idaes.models.unit_models import Flash" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will also be needing some utility tools to put together the flowsheet and calculate the degrees of freedom. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "\n", + "# Import idaes logger to set output levels\n", + "import idaes.logger as idaeslog\n", + "from idaes.core.solvers import get_solver\n", + "from idaes.core.util.exceptions import InitializationError" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing required thermo and reaction package\n", + "\n", + "The final set of imports are to import the thermo and reaction package for the HDA process. We have created a custom thermo package that assumes Ideal Gas with support for VLE. \n", + "\n", + "The reaction package here is very simple as we will be using only a StochiometricReactor and the reaction package consists of the stochiometric coefficients for the reaction and the parameter for the heat of reaction. \n", + "\n", + "Let us import the following modules and they are in the same directory as this jupyter notebook:\n", + "
    \n", + "
  • hda_ideal_VLE as thermo_props
  • \n", + "
  • hda_reaction as reaction_props
  • \n", + "
\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes_examples.mod.hda import hda_ideal_VLE as thermo_props\n", + "from idaes_examples.mod.hda import hda_reaction as reaction_props" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Constructing the Flowsheet\n", + "\n", + "We have now imported all the components, unit models, and property modules we need to construct a flowsheet. Let us create a ConcreteModel and add the flowsheet block as we did in module 1. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m = ConcreteModel()\n", + "m.fs = FlowsheetBlock(dynamic=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now need to add the property packages to the flowsheet. Unlike Module 1, where we only had a thermo property package, for this flowsheet we will also need to add a reaction property package. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.thermo_params = thermo_props.HDAParameterBlock()\n", + "m.fs.reaction_params = reaction_props.HDAReactionParameterBlock(\n", + " property_package=m.fs.thermo_params\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding Unit Models\n", + "\n", + "Let us start adding the unit models we have imported to the flowsheet. Here, we are adding the Mixer (assigned a name M101) and a Heater (assigned a name H101). Note that, all unit models need to be given a property package argument. In addition to that, there are several arguments depending on the unit model, please refer to the documentation for more details (https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/generic/unit_models/index.html). For example, the Mixer unit model here is given a `list` consisting of names to the three inlets. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.M101 = Mixer(\n", + " property_package=m.fs.thermo_params,\n", + " inlet_list=[\"toluene_feed\", \"hydrogen_feed\", \"vapor_recycle\"],\n", + ")\n", + "\n", + "m.fs.H101 = Heater(\n", + " property_package=m.fs.thermo_params,\n", + " has_pressure_change=False,\n", + " has_phase_equilibrium=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Let us now add the StoichiometricReactor(assign the name R101) and pass the following arguments:\n", + "
    \n", + "
  • \"property_package\": m.fs.thermo_params
  • \n", + "
  • \"reaction_package\": m.fs.reaction_params
  • \n", + "
  • \"has_heat_of_reaction\": True
  • \n", + "
  • \"has_heat_transfer\": True
  • \n", + "
  • \"has_pressure_change\": False
  • \n", + "
\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add reactor with the specifications above\n", + "m.fs.R101 = StoichiometricReactor(\n", + " property_package=m.fs.thermo_params,\n", + " reaction_package=m.fs.reaction_params,\n", + " has_heat_of_reaction=True,\n", + " has_heat_transfer=True,\n", + " has_pressure_change=False,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us now add the Flash(assign the name F101) and pass the following arguments:\n", + "
    \n", + "
  • \"property_package\": m.fs.thermo_params
  • \n", + "
  • \"has_heat_transfer\": True
  • \n", + "
  • \"has_pressure_change\": False
  • \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.F101 = Flash(\n", + " property_package=m.fs.thermo_params,\n", + " has_heat_transfer=True,\n", + " has_pressure_change=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us now add the Splitter(S101), PressureChanger(C101) and the second Flash(F102). " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.S101 = Splitter(\n", + " property_package=m.fs.thermo_params,\n", + " ideal_separation=False,\n", + " outlet_list=[\"purge\", \"recycle\"],\n", + ")\n", + "\n", + "\n", + "m.fs.C101 = PressureChanger(\n", + " property_package=m.fs.thermo_params,\n", + " compressor=True,\n", + " thermodynamic_assumption=ThermodynamicAssumption.isothermal,\n", + ")\n", + "\n", + "m.fs.F102 = Flash(\n", + " property_package=m.fs.thermo_params,\n", + " has_heat_transfer=True,\n", + " has_pressure_change=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Connecting Unit Models using Arcs\n", + "\n", + "We have now added all the unit models we need to the flowsheet. However, we have not yet specified how the units are to be connected. To do this, we will be using the `Arc` which is a pyomo component that takes in two arguments: `source` and `destination`. Let us connect the outlet of the mixer(M101) to the inlet of the heater(H101). " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.H101.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "![](HDA_flowsheet.png) \n", + "\n", + "
\n", + "Inline Exercise:\n", + "Now, connect the H101 outlet to the R101 inlet using the cell above as a guide. \n", + "
\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Connect the H101 outlet to R101 inlet\n", + "m.fs.s04 = Arc(source=m.fs.H101.outlet, destination=m.fs.R101.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now be connecting the rest of the flowsheet as shown below. Notice how the outlet names are different for the flash tanks F101 and F102 as they have a vapor and a liquid outlet. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.s05 = Arc(source=m.fs.R101.outlet, destination=m.fs.F101.inlet)\n", + "m.fs.s06 = Arc(source=m.fs.F101.vap_outlet, destination=m.fs.S101.inlet)\n", + "m.fs.s08 = Arc(source=m.fs.S101.recycle, destination=m.fs.C101.inlet)\n", + "m.fs.s09 = Arc(source=m.fs.C101.outlet, destination=m.fs.M101.vapor_recycle)\n", + "m.fs.s10 = Arc(source=m.fs.F101.liq_outlet, destination=m.fs.F102.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We have now connected the unit model block using the arcs. However, each of these arcs link to ports on the two unit models that are connected. In this case, the ports consist of the state variables that need to be linked between the unit models. Pyomo provides a convenient method to write these equality constraints for us between two ports and this is done as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "TransformationFactory(\"network.expand_arcs\").apply_to(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding expressions to compute purity and operating costs\n", + "\n", + "In this section, we will add a few Expressions that allows us to evaluate the performance. Expressions provide a convenient way of calculating certain values that are a function of the variables defined in the model. For more details on Expressions, please refer to: https://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html\n", + "\n", + "For this flowsheet, we are interested in computing the purity of the product Benzene stream (i.e. the mole fraction) and the operating cost which is a sum of the cooling and heating cost. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us first add an Expression to compute the mole fraction of benzene in the `vap_outlet` of F102 which is our product stream. Please note that the var flow_mol_phase_comp has the index - [time, phase, component]. As this is a steady-state flowsheet, the time index by default is 0. The valid phases are [\"Liq\", \"Vap\"]. Similarly the valid component list is [\"benzene\", \"toluene\", \"hydrogen\", \"methane\"]." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.purity = Expression(\n", + " expr=m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", + " / (\n", + " m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", + " + m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " )\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, let us add an expression to compute the cooling cost assuming a cost of 0.212E-4 $/kW. Note that cooling utility is required for the reactor (R101) and the first flash (F101). " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.cooling_cost = Expression(\n", + " expr=0.212e-7 * (-m.fs.F101.heat_duty[0]) + 0.212e-7 * (-m.fs.R101.heat_duty[0])\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "Now, let us add an expression to compute the heating cost assuming the utility cost as follows:\n", + "
    \n", + "
  • 2.2E-4 dollars/kW for H101
  • \n", + "
  • 1.9E-4 dollars/kW for F102
  • \n", + "
\n", + "Note that the heat duty is in units of watt (J/s). " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.heating_cost = Expression(\n", + " expr=2.2e-7 * m.fs.H101.heat_duty[0] + 1.9e-7 * m.fs.F102.heat_duty[0]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us now add an expression to compute the total operating cost per year which is basically the sum of the cooling and heating cost we defined above. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.operating_cost = Expression(\n", + " expr=(3600 * 24 * 365 * (m.fs.heating_cost + m.fs.cooling_cost))\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fixing feed conditions\n", + "\n", + "Let us first check how many degrees of freedom exist for this flowsheet using the `degrees_of_freedom` tool we imported earlier. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "# Check the degrees of freedom\n", + "assert degrees_of_freedom(m) == 29" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now be fixing the toluene feed stream to the conditions shown in the flowsheet above. Please note that though this is a pure toluene feed, the remaining components are still assigned a very small non-zero value to help with convergence and initializing. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(0.30)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.temperature.fix(303.2)\n", + "m.fs.M101.toluene_feed.pressure.fix(350000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "Similarly, let us fix the hydrogen feed to the following conditions in the next cell:\n", + "
    \n", + "
  • FH2 = 0.30 mol/s
  • \n", + "
  • FCH4 = 0.02 mol/s
  • \n", + "
  • Remaining components = 1e-5 mol/s
  • \n", + "
  • T = 303.2 K
  • \n", + "
  • P = 350000 Pa
  • \n", + "
\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(0.30)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(0.02)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.temperature.fix(303.2)\n", + "m.fs.M101.hydrogen_feed.pressure.fix(350000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fixing unit model specifications\n", + "\n", + "Now that we have fixed our inlet feed conditions, we will now be fixing the operating conditions for the unit models in the flowsheet. Let us set set the H101 outlet temperature to 600 K. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.H101.outlet.temperature.fix(600)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For the StoichiometricReactor, we have to define the conversion in terms of toluene. This requires us to create a new variable for specifying the conversion and adding a Constraint that defines the conversion with respect to toluene. The second degree of freedom for the reactor is to define the heat duty. In this case, let us assume the reactor to be adiabatic i.e. Q = 0. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.R101.conversion = Var(initialize=0.75, bounds=(0, 1))\n", + "\n", + "m.fs.R101.conv_constraint = Constraint(\n", + " expr=m.fs.R101.conversion * m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " == (\n", + " m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " - m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " )\n", + ")\n", + "\n", + "m.fs.R101.conversion.fix(0.75)\n", + "m.fs.R101.heat_duty.fix(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The Flash conditions for F101 can be set as follows. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.F101.vap_outlet.temperature.fix(325.0)\n", + "m.fs.F101.deltaP.fix(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Set the conditions for Flash F102 to the following conditions:\n", + "
    \n", + "
  • T = 375 K
  • \n", + "
  • deltaP = -200000
  • \n", + "
\n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "m.fs.F102.vap_outlet.temperature.fix(375)\n", + "m.fs.F102.deltaP.fix(-200000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us fix the purge split fraction to 20% and the outlet pressure of the compressor is set to 350000 Pa. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.S101.split_fraction[0, \"purge\"].fix(0.2)\n", + "m.fs.C101.outlet.pressure.fix(350000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "We have now defined all the feed conditions and the inputs required for the unit models. The system should now have 0 degrees of freedom i.e. should be a square problem. Please check that the degrees of freedom is 0. \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "# Check the degrees of freedom\n", + "assert degrees_of_freedom(m) == 0" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Initialization\n", + "\n", + "\n", + "This section will demonstrate how to use the built-in sequential decomposition tool to initialize our flowsheet.\n", + "\n", + "![](HDA_flowsheet.png) \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us first create an object for the SequentialDecomposition and specify our options for this. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "seq = SequentialDecomposition()\n", + "seq.options.select_tear_method = \"heuristic\"\n", + "seq.options.tear_method = \"Wegstein\"\n", + "seq.options.iterLim = 3\n", + "\n", + "# Using the SD tool\n", + "G = seq.create_graph(m)\n", + "heuristic_tear_set = seq.tear_set_arcs(G, method=\"heuristic\")\n", + "order = seq.calculation_order(G)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Which is the tear stream? Display tear set and order" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "for o in heuristic_tear_set:\n", + " print(o.name)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What sequence did the SD tool determine to solve this flowsheet with the least number of tears? " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "for o in order:\n", + " print(o[0].name)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " \n", + "\n", + "![](HDA_tear_stream.png) \n", + "\n", + "\n", + "The SequentialDecomposition tool has determined that the tear stream is the mixer outlet. We will need to provide a reasonable guess for this." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tear_guesses = {\n", + " \"flow_mol_phase_comp\": {\n", + " (0, \"Vap\", \"benzene\"): 1e-5,\n", + " (0, \"Vap\", \"toluene\"): 1e-5,\n", + " (0, \"Vap\", \"hydrogen\"): 0.30,\n", + " (0, \"Vap\", \"methane\"): 0.02,\n", + " (0, \"Liq\", \"benzene\"): 1e-5,\n", + " (0, \"Liq\", \"toluene\"): 0.30,\n", + " (0, \"Liq\", \"hydrogen\"): 1e-5,\n", + " (0, \"Liq\", \"methane\"): 1e-5,\n", + " },\n", + " \"temperature\": {0: 303},\n", + " \"pressure\": {0: 350000},\n", + "}\n", + "\n", + "# Pass the tear_guess to the SD tool\n", + "seq.set_guesses_for(m.fs.H101.inlet, tear_guesses)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we need to tell the tool how to initialize a particular unit. We will be writing a python function which takes in a \"unit\" and calls the initialize method on that unit. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def function(unit):\n", + " try:\n", + " initializer = unit.default_initializer()\n", + " initializer.initialize(unit, output_level=idaeslog.INFO)\n", + " except InitializationError:\n", + " solver = get_solver()\n", + " solver.solve(unit)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We are now ready to initialize our flowsheet in a sequential mode. Note that we specifically set the iteration limit to be 5 as we are trying to use this tool only to get a good set of initial values such that IPOPT can then take over and solve this flowsheet for us. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "seq.run(m, function)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "We have now initialized the flowsheet. Let us run the flowsheet in a simulation mode to look at the results. To do this, complete the last line of code where we pass the model to the solver. You will need to type the following:\n", + " \n", + "results = solver.solve(m, tee=True)\n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Create the solver object\n", + "from idaes.core.solvers import get_solver\n", + "\n", + "solver = get_solver()\n", + "\n", + "# Solve the model\n", + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "# Check solver solve status\n", + "from pyomo.environ import TerminationCondition\n", + "\n", + "assert results.solver.termination_condition == TerminationCondition.optimal" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Analyze the results of the square problem\n", + "\n", + "\n", + "What is the total operating cost? " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"operating cost = $\", value(m.fs.operating_cost))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "import pytest\n", + "\n", + "assert value(m.fs.operating_cost) == pytest.approx(419122.3387, abs=1e-3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For this operating cost, what is the amount of benzene we are able to produce and what purity we are able to achieve? " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.F102.report()\n", + "\n", + "print()\n", + "print(\"benzene purity = \", value(m.fs.purity))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "assert value(m.fs.purity) == pytest.approx(0.82429, abs=1e-3)\n", + "\n", + "assert value(m.fs.F102.heat_duty[0]) == pytest.approx(7352.4828, abs=1e-3)\n", + "assert value(m.fs.F102.vap_outlet.pressure[0]) == pytest.approx(1.5000e05, abs=1e-3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, let's look at how much benzene we are losing with the light gases out of F101. IDAES has tools for creating stream tables based on the `Arcs` and/or `Ports` in a flowsheet. Let us create and print a simple stream table showing the stream leaving the reactor and the vapor stream from F101.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "How much benzene are we losing in the F101 vapor outlet stream?\n", + "
\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core.util.tables import (\n", + " create_stream_table_dataframe,\n", + " stream_table_dataframe_to_string,\n", + ")\n", + "\n", + "st = create_stream_table_dataframe({\"Reactor\": m.fs.s05, \"Light Gases\": m.fs.s06})\n", + "print(stream_table_dataframe_to_string(st))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "You can query additional variables here if you like. \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Optimization\n", + "\n", + "\n", + "We saw from the results above that the total operating cost for the base case was $419,122 per year. We are producing 0.142 mol/s of benzene at a purity of 82\\%. However, we are losing around 42\\% of benzene in F101 vapor outlet stream. \n", + "\n", + "Let us try to minimize this cost such that:\n", + "- we are producing at least 0.15 mol/s of benzene in F102 vapor outlet i.e. our product stream\n", + "- purity of benzene i.e. the mole fraction of benzene in F102 vapor outlet is at least 80%\n", + "- restricting the benzene loss in F101 vapor outlet to less than 20%\n", + "\n", + "For this problem, our decision variables are as follows:\n", + "- H101 outlet temperature\n", + "- R101 cooling duty provided\n", + "- F101 outlet temperature\n", + "- F102 outlet temperature\n", + "- F102 deltaP in the flash tank\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us declare our objective function for this problem. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.objective = Objective(expr=m.fs.operating_cost)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, we need to unfix the decision variables as we had solved a square problem (degrees of freedom = 0) until now. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.H101.outlet.temperature.unfix()\n", + "m.fs.R101.heat_duty.unfix()\n", + "m.fs.F101.vap_outlet.temperature.unfix()\n", + "m.fs.F102.vap_outlet.temperature.unfix()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Let us now unfix the remaining variable which is F102 pressure drop (F102.deltaP) \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Unfix deltaP for F102\n", + "m.fs.F102.deltaP.unfix()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "assert degrees_of_freedom(m) == 5" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we need to set bounds on these decision variables to values shown below:\n", + "\n", + " - H101 outlet temperature [500, 600] K\n", + " - R101 outlet temperature [600, 800] K\n", + " - F101 outlet temperature [298, 450] K\n", + " - F102 outlet temperature [298, 450] K\n", + " - F102 outlet pressure [105000, 110000] Pa\n", + "\n", + "Let us first set the variable bound for the H101 outlet temperature as shown below:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.H101.outlet.temperature[0].setlb(500)\n", + "m.fs.H101.outlet.temperature[0].setub(600)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Now, set the variable bound for the R101 outlet temperature.\n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Set the bounds for reactor outlet temperature\n", + "m.fs.R101.outlet.temperature[0].setlb(600)\n", + "m.fs.R101.outlet.temperature[0].setub(800)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us fix the bounds for the rest of the decision variables. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.F101.vap_outlet.temperature[0].setlb(298.0)\n", + "m.fs.F101.vap_outlet.temperature[0].setub(450.0)\n", + "m.fs.F102.vap_outlet.temperature[0].setlb(298.0)\n", + "m.fs.F102.vap_outlet.temperature[0].setub(450.0)\n", + "m.fs.F102.vap_outlet.pressure[0].setlb(105000)\n", + "m.fs.F102.vap_outlet.pressure[0].setub(110000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, the only things left to define are our constraints on overhead loss in F101, product flow rate and purity in F102. Let us first look at defining a constraint for the overhead loss in F101 where we are restricting the benzene leaving the vapor stream to less than 20 \\% of the benzene available in the reactor outlet. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.overhead_loss = Constraint(\n", + " expr=m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", + " <= 0.20 * m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Now, add the constraint such that we are producing at least 0.15 mol/s of benzene in the product stream which is the vapor outlet of F102. Let us name this constraint as m.fs.product_flow. \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add minimum product flow constraint\n", + "m.fs.product_flow = Constraint(\n", + " expr=m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"] >= 0.15\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us add the final constraint on product purity or the mole fraction of benzene in the product stream such that it is at least greater than 80%. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.product_purity = Constraint(expr=m.fs.purity >= 0.80)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "We have now defined the optimization problem and we are now ready to solve this problem. \n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "# Check for solver solve status\n", + "from pyomo.environ import TerminationCondition\n", + "\n", + "assert results.solver.termination_condition == TerminationCondition.optimal" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Optimization Results\n", + "\n", + "Display the results and product specifications" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"operating cost = $\", value(m.fs.operating_cost))\n", + "\n", + "print()\n", + "print(\"Product flow rate and purity in F102\")\n", + "\n", + "m.fs.F102.report()\n", + "\n", + "print()\n", + "print(\"benzene purity = \", value(m.fs.purity))\n", + "\n", + "print()\n", + "print(\"Overhead loss in F101\")\n", + "m.fs.F101.report()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "assert value(m.fs.operating_cost) == pytest.approx(312786.338, abs=1e-3)\n", + "assert value(m.fs.purity) == pytest.approx(0.818827, abs=1e-3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Display optimal values for the decision variables" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Optimal Values\")\n", + "print()\n", + "\n", + "print(\"H101 outlet temperature = \", value(m.fs.H101.outlet.temperature[0]), \"K\")\n", + "\n", + "print()\n", + "print(\"R101 outlet temperature = \", value(m.fs.R101.outlet.temperature[0]), \"K\")\n", + "\n", + "print()\n", + "print(\"F101 outlet temperature = \", value(m.fs.F101.vap_outlet.temperature[0]), \"K\")\n", + "\n", + "print()\n", + "print(\"F102 outlet temperature = \", value(m.fs.F102.vap_outlet.temperature[0]), \"K\")\n", + "print(\"F102 outlet pressure = \", value(m.fs.F102.vap_outlet.pressure[0]), \"Pa\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "assert value(m.fs.H101.outlet.temperature[0]) == pytest.approx(500, abs=1e-3)\n", + "assert value(m.fs.R101.outlet.temperature[0]) == pytest.approx(696.112, abs=1e-3)\n", + "assert value(m.fs.F101.vap_outlet.temperature[0]) == pytest.approx(301.878, abs=1e-3)\n", + "assert value(m.fs.F102.vap_outlet.temperature[0]) == pytest.approx(362.935, abs=1e-3)\n", + "assert value(m.fs.F102.vap_outlet.pressure[0]) == pytest.approx(105000, abs=1e-2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.12" + } + }, + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/tut/core/hda_flowsheet_usr.ipynb b/idaes_examples/notebooks/docs/tut/core/hda_flowsheet_usr.ipynb index 6f8b47f4..6a8537b3 100644 --- a/idaes_examples/notebooks/docs/tut/core/hda_flowsheet_usr.ipynb +++ b/idaes_examples/notebooks/docs/tut/core/hda_flowsheet_usr.ipynb @@ -1,1483 +1,1484 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "# HDA Flowsheet Simulation and Optimization\n", - "\n", - "Author: Jaffer Ghouse \n", - "Maintainer: Brandon Paul \n", - "Updated: 2023-06-01 \n", - "\n", - "## Learning outcomes\n", - "\n", - "\n", - "- Construct a steady-state flowsheet using the IDAES unit model library\n", - "- Connecting unit models in a flowsheet using Arcs\n", - "- Using the SequentialDecomposition tool to initialize a flowsheet with recycle\n", - "- Fomulate and solve an optimization problem\n", - " - Defining an objective function\n", - " - Setting variable bounds\n", - " - Adding additional constraints \n", - "\n", - "\n", - "## Problem Statement\n", - "\n", - "Hydrodealkylation is a chemical reaction that often involves reacting\n", - "an aromatic hydrocarbon in the presence of hydrogen gas to form a\n", - "simpler aromatic hydrocarbon devoid of functional groups. In this\n", - "example, toluene will be reacted with hydrogen gas at high temperatures\n", - " to form benzene via the following reaction:\n", - "\n", - "**C6H5CH3 + H2 → C6H6 + CH4**\n", - "\n", - "\n", - "This reaction is often accompanied by an equilibrium side reaction\n", - "which forms diphenyl, which we will neglect for this example.\n", - "\n", - "This example is based on the 1967 AIChE Student Contest problem as\n", - "present by Douglas, J.M., Chemical Design of Chemical Processes, 1988,\n", - "McGraw-Hill.\n", - "\n", - "The flowsheet that we will be using for this module is shown below with the stream conditions. We will be processing toluene and hydrogen to produce at least 370 TPY of benzene. As shown in the flowsheet, there are two flash tanks, F101 to separate out the non-condensibles and F102 to further separate the benzene-toluene mixture to improve the benzene purity. Note that typically a distillation column is required to obtain high purity benzene but that is beyond the scope of this workshop. The non-condensibles separated out in F101 will be partially recycled back to M101 and the rest will be either purged or combusted for power generation.We will assume ideal gas for this flowsheet. The properties required for this module are available in the same directory:\n", - "\n", - "- hda_ideal_VLE.py\n", - "- hda_reaction.py\n", - "\n", - "The state variables chosen for the property package are **flows of component by phase, temperature and pressure**. The components considered are: **toluene, hydrogen, benzene and methane**. Therefore, every stream has 8 flow variables, 1 temperature and 1 pressure variable. \n", - "\n", - "![](HDA_flowsheet.png)\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing required pyomo and idaes components\n", - "\n", - "\n", - "To construct a flowsheet, we will need several components from the pyomo and idaes package. Let us first import the following components from Pyomo:\n", - "- Constraint (to write constraints)\n", - "- Var (to declare variables)\n", - "- ConcreteModel (to create the concrete model object)\n", - "- Expression (to evaluate values as a function of variables defined in the model)\n", - "- Objective (to define an objective function for optimization)\n", - "- SolverFactory (to solve the problem)\n", - "- TransformationFactory (to apply certain transformations)\n", - "- Arc (to connect two unit models)\n", - "- SequentialDecomposition (to initialize the flowsheet in a sequential mode)\n", - "\n", - "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/stable/\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.environ import (\n", - " Constraint,\n", - " Var,\n", - " ConcreteModel,\n", - " Expression,\n", - " Objective,\n", - " SolverFactory,\n", - " TransformationFactory,\n", - " value,\n", - ")\n", - "from pyomo.network import Arc, SequentialDecomposition" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "From idaes, we will be needing the FlowsheetBlock and the following unit models:\n", - "- Mixer\n", - "- Heater\n", - "- StoichiometricReactor\n", - "- **Flash**\n", - "- Separator (splitter) \n", - "- PressureChanger" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.core import FlowsheetBlock" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.models.unit_models import (\n", - " PressureChanger,\n", - " Mixer,\n", - " Separator as Splitter,\n", - " Heater,\n", - " StoichiometricReactor,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Now, import the remaining unit models highlighted in blue above and run the cell using `Shift+Enter` after typing in the code. \n", - "
\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: import flash model from idaes.models.unit_models" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: import flash model from idaes.models.unit_models\n", - "from idaes.models.unit_models import Flash" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will also be needing some utility tools to put together the flowsheet and calculate the degrees of freedom. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "\n", - "# Import idaes logger to set output levels\n", - "import idaes.logger as idaeslog\n", - "from idaes.core.solvers import get_solver\n", - "from idaes.core.util.exceptions import InitializationError" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing required thermo and reaction package\n", - "\n", - "The final set of imports are to import the thermo and reaction package for the HDA process. We have created a custom thermo package that assumes Ideal Gas with support for VLE. \n", - "\n", - "The reaction package here is very simple as we will be using only a StochiometricReactor and the reaction package consists of the stochiometric coefficients for the reaction and the parameter for the heat of reaction. \n", - "\n", - "Let us import the following modules and they are in the same directory as this jupyter notebook:\n", - "
    \n", - "
  • hda_ideal_VLE as thermo_props
  • \n", - "
  • hda_reaction as reaction_props
  • \n", - "
\n", - "" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes_examples.mod.hda import hda_ideal_VLE as thermo_props\n", - "from idaes_examples.mod.hda import hda_reaction as reaction_props" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Constructing the Flowsheet\n", - "\n", - "We have now imported all the components, unit models, and property modules we need to construct a flowsheet. Let us create a ConcreteModel and add the flowsheet block as we did in module 1. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m = ConcreteModel()\n", - "m.fs = FlowsheetBlock(dynamic=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We now need to add the property packages to the flowsheet. Unlike Module 1, where we only had a thermo property package, for this flowsheet we will also need to add a reaction property package. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.thermo_params = thermo_props.HDAParameterBlock()\n", - "m.fs.reaction_params = reaction_props.HDAReactionParameterBlock(\n", - " property_package=m.fs.thermo_params\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding Unit Models\n", - "\n", - "Let us start adding the unit models we have imported to the flowsheet. Here, we are adding the Mixer (assigned a name M101) and a Heater (assigned a name H101). Note that, all unit models need to be given a property package argument. In addition to that, there are several arguments depending on the unit model, please refer to the documentation for more details (https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/generic/unit_models/index.html). For example, the Mixer unit model here is given a `list` consisting of names to the three inlets. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.M101 = Mixer(\n", - " property_package=m.fs.thermo_params,\n", - " inlet_list=[\"toluene_feed\", \"hydrogen_feed\", \"vapor_recycle\"],\n", - ")\n", - "\n", - "m.fs.H101 = Heater(\n", - " property_package=m.fs.thermo_params,\n", - " has_pressure_change=False,\n", - " has_phase_equilibrium=True,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Let us now add the StoichiometricReactor(assign the name R101) and pass the following arguments:\n", - "
    \n", - "
  • \"property_package\": m.fs.thermo_params
  • \n", - "
  • \"reaction_package\": m.fs.reaction_params
  • \n", - "
  • \"has_heat_of_reaction\": True
  • \n", - "
  • \"has_heat_transfer\": True
  • \n", - "
  • \"has_pressure_change\": False
  • \n", - "
\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add reactor with the specifications above" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add reactor with the specifications above\n", - "m.fs.R101 = StoichiometricReactor(\n", - " property_package=m.fs.thermo_params,\n", - " reaction_package=m.fs.reaction_params,\n", - " has_heat_of_reaction=True,\n", - " has_heat_transfer=True,\n", - " has_pressure_change=False,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us now add the Flash(assign the name F101) and pass the following arguments:\n", - "
    \n", - "
  • \"property_package\": m.fs.thermo_params
  • \n", - "
  • \"has_heat_transfer\": True
  • \n", - "
  • \"has_pressure_change\": False
  • \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.F101 = Flash(\n", - " property_package=m.fs.thermo_params,\n", - " has_heat_transfer=True,\n", - " has_pressure_change=True,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us now add the Splitter(S101), PressureChanger(C101) and the second Flash(F102). " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.S101 = Splitter(\n", - " property_package=m.fs.thermo_params,\n", - " ideal_separation=False,\n", - " outlet_list=[\"purge\", \"recycle\"],\n", - ")\n", - "\n", - "\n", - "m.fs.C101 = PressureChanger(\n", - " property_package=m.fs.thermo_params,\n", - " compressor=True,\n", - " thermodynamic_assumption=ThermodynamicAssumption.isothermal,\n", - ")\n", - "\n", - "m.fs.F102 = Flash(\n", - " property_package=m.fs.thermo_params,\n", - " has_heat_transfer=True,\n", - " has_pressure_change=True,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Connecting Unit Models using Arcs\n", - "\n", - "We have now added all the unit models we need to the flowsheet. However, we have not yet specified how the units are to be connected. To do this, we will be using the `Arc` which is a pyomo component that takes in two arguments: `source` and `destination`. Let us connect the outlet of the mixer(M101) to the inlet of the heater(H101). " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.H101.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "![](HDA_flowsheet.png) \n", - "\n", - "
\n", - "Inline Exercise:\n", - "Now, connect the H101 outlet to the R101 inlet using the cell above as a guide. \n", - "
\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Connect the H101 outlet to R101 inlet" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Connect the H101 outlet to R101 inlet\n", - "m.fs.s04 = Arc(source=m.fs.H101.outlet, destination=m.fs.R101.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will now be connecting the rest of the flowsheet as shown below. Notice how the outlet names are different for the flash tanks F101 and F102 as they have a vapor and a liquid outlet. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.s05 = Arc(source=m.fs.R101.outlet, destination=m.fs.F101.inlet)\n", - "m.fs.s06 = Arc(source=m.fs.F101.vap_outlet, destination=m.fs.S101.inlet)\n", - "m.fs.s08 = Arc(source=m.fs.S101.recycle, destination=m.fs.C101.inlet)\n", - "m.fs.s09 = Arc(source=m.fs.C101.outlet, destination=m.fs.M101.vapor_recycle)\n", - "m.fs.s10 = Arc(source=m.fs.F101.liq_outlet, destination=m.fs.F102.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We have now connected the unit model block using the arcs. However, each of these arcs link to ports on the two unit models that are connected. In this case, the ports consist of the state variables that need to be linked between the unit models. Pyomo provides a convenient method to write these equality constraints for us between two ports and this is done as follows:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "TransformationFactory(\"network.expand_arcs\").apply_to(m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding expressions to compute purity and operating costs\n", - "\n", - "In this section, we will add a few Expressions that allows us to evaluate the performance. Expressions provide a convenient way of calculating certain values that are a function of the variables defined in the model. For more details on Expressions, please refer to: https://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html\n", - "\n", - "For this flowsheet, we are interested in computing the purity of the product Benzene stream (i.e. the mole fraction) and the operating cost which is a sum of the cooling and heating cost. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us first add an Expression to compute the mole fraction of benzene in the `vap_outlet` of F102 which is our product stream. Please note that the var flow_mol_phase_comp has the index - [time, phase, component]. As this is a steady-state flowsheet, the time index by default is 0. The valid phases are [\"Liq\", \"Vap\"]. Similarly the valid component list is [\"benzene\", \"toluene\", \"hydrogen\", \"methane\"]." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.purity = Expression(\n", - " expr=m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", - " / (\n", - " m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", - " + m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " )\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, let us add an expression to compute the cooling cost assuming a cost of 0.212E-4 $/kW. Note that cooling utility is required for the reactor (R101) and the first flash (F101). " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.cooling_cost = Expression(\n", - " expr=0.212e-7 * (-m.fs.F101.heat_duty[0]) + 0.212e-7 * (-m.fs.R101.heat_duty[0])\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "Now, let us add an expression to compute the heating cost assuming the utility cost as follows:\n", - "
    \n", - "
  • 2.2E-4 dollars/kW for H101
  • \n", - "
  • 1.9E-4 dollars/kW for F102
  • \n", - "
\n", - "Note that the heat duty is in units of watt (J/s). " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.heating_cost = Expression(\n", - " expr=2.2e-7 * m.fs.H101.heat_duty[0] + 1.9e-7 * m.fs.F102.heat_duty[0]\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us now add an expression to compute the total operating cost per year which is basically the sum of the cooling and heating cost we defined above. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.operating_cost = Expression(\n", - " expr=(3600 * 24 * 365 * (m.fs.heating_cost + m.fs.cooling_cost))\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Fixing feed conditions\n", - "\n", - "Let us first check how many degrees of freedom exist for this flowsheet using the `degrees_of_freedom` tool we imported earlier. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will now be fixing the toluene feed stream to the conditions shown in the flowsheet above. Please note that though this is a pure toluene feed, the remaining components are still assigned a very small non-zero value to help with convergence and initializing. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(0.30)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", - "m.fs.M101.toluene_feed.temperature.fix(303.2)\n", - "m.fs.M101.toluene_feed.pressure.fix(350000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "Similarly, let us fix the hydrogen feed to the following conditions in the next cell:\n", - "
    \n", - "
  • FH2 = 0.30 mol/s
  • \n", - "
  • FCH4 = 0.02 mol/s
  • \n", - "
  • Remaining components = 1e-5 mol/s
  • \n", - "
  • T = 303.2 K
  • \n", - "
  • P = 350000 Pa
  • \n", - "
\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(0.30)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(0.02)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", - "m.fs.M101.hydrogen_feed.temperature.fix(303.2)\n", - "m.fs.M101.hydrogen_feed.pressure.fix(350000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Fixing unit model specifications\n", - "\n", - "Now that we have fixed our inlet feed conditions, we will now be fixing the operating conditions for the unit models in the flowsheet. Let us set set the H101 outlet temperature to 600 K. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.H101.outlet.temperature.fix(600)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For the StoichiometricReactor, we have to define the conversion in terms of toluene. This requires us to create a new variable for specifying the conversion and adding a Constraint that defines the conversion with respect to toluene. The second degree of freedom for the reactor is to define the heat duty. In this case, let us assume the reactor to be adiabatic i.e. Q = 0. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.R101.conversion = Var(initialize=0.75, bounds=(0, 1))\n", - "\n", - "m.fs.R101.conv_constraint = Constraint(\n", - " expr=m.fs.R101.conversion * m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " == (\n", - " m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " - m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " )\n", - ")\n", - "\n", - "m.fs.R101.conversion.fix(0.75)\n", - "m.fs.R101.heat_duty.fix(0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The Flash conditions for F101 can be set as follows. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.F101.vap_outlet.temperature.fix(325.0)\n", - "m.fs.F101.deltaP.fix(0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Set the conditions for Flash F102 to the following conditions:\n", - "
    \n", - "
  • T = 375 K
  • \n", - "
  • deltaP = -200000
  • \n", - "
\n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Set conditions for Flash F102" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "m.fs.F102.vap_outlet.temperature.fix(375)\n", - "m.fs.F102.deltaP.fix(-200000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us fix the purge split fraction to 20% and the outlet pressure of the compressor is set to 350000 Pa. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.S101.split_fraction[0, \"purge\"].fix(0.2)\n", - "m.fs.C101.outlet.pressure.fix(350000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "We have now defined all the feed conditions and the inputs required for the unit models. The system should now have 0 degrees of freedom i.e. should be a square problem. Please check that the degrees of freedom is 0. \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: print the degrees of freedom" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Initialization\n", - "\n", - "\n", - "This section will demonstrate how to use the built-in sequential decomposition tool to initialize our flowsheet.\n", - "\n", - "![](HDA_flowsheet.png) \n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us first create an object for the SequentialDecomposition and specify our options for this. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "seq = SequentialDecomposition()\n", - "seq.options.select_tear_method = \"heuristic\"\n", - "seq.options.tear_method = \"Wegstein\"\n", - "seq.options.iterLim = 3\n", - "\n", - "# Using the SD tool\n", - "G = seq.create_graph(m)\n", - "heuristic_tear_set = seq.tear_set_arcs(G, method=\"heuristic\")\n", - "order = seq.calculation_order(G)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Which is the tear stream? Display tear set and order" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "for o in heuristic_tear_set:\n", - " print(o.name)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "What sequence did the SD tool determine to solve this flowsheet with the least number of tears? " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "for o in order:\n", - " print(o[0].name)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - " \n", - "\n", - "![](HDA_tear_stream.png) \n", - "\n", - "\n", - "The SequentialDecomposition tool has determined that the tear stream is the mixer outlet. We will need to provide a reasonable guess for this." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "tear_guesses = {\n", - " \"flow_mol_phase_comp\": {\n", - " (0, \"Vap\", \"benzene\"): 1e-5,\n", - " (0, \"Vap\", \"toluene\"): 1e-5,\n", - " (0, \"Vap\", \"hydrogen\"): 0.30,\n", - " (0, \"Vap\", \"methane\"): 0.02,\n", - " (0, \"Liq\", \"benzene\"): 1e-5,\n", - " (0, \"Liq\", \"toluene\"): 0.30,\n", - " (0, \"Liq\", \"hydrogen\"): 1e-5,\n", - " (0, \"Liq\", \"methane\"): 1e-5,\n", - " },\n", - " \"temperature\": {0: 303},\n", - " \"pressure\": {0: 350000},\n", - "}\n", - "\n", - "# Pass the tear_guess to the SD tool\n", - "seq.set_guesses_for(m.fs.H101.inlet, tear_guesses)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we need to tell the tool how to initialize a particular unit. We will be writing a python function which takes in a \"unit\" and calls the initialize method on that unit. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "def function(unit):\n", - " try:\n", - " initializer = unit.default_initializer()\n", - " initializer.initialize(unit, output_level=idaeslog.INFO)\n", - " except InitializationError:\n", - " solver = get_solver()\n", - " solver.solve(unit)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We are now ready to initialize our flowsheet in a sequential mode. Note that we specifically set the iteration limit to be 5 as we are trying to use this tool only to get a good set of initial values such that IPOPT can then take over and solve this flowsheet for us. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "seq.run(m, function)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "We have now initialized the flowsheet. Let us run the flowsheet in a simulation mode to look at the results. To do this, complete the last line of code where we pass the model to the solver. You will need to type the following:\n", - " \n", - "results = solver.solve(m, tee=True)\n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Create the solver object\n", - "\n", - "\n", - "# Solve the model" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Create the solver object\n", - "from idaes.core.solvers import get_solver\n", - "\n", - "solver = get_solver()\n", - "\n", - "# Solve the model\n", - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Analyze the results of the square problem\n", - "\n", - "\n", - "What is the total operating cost? " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(\"operating cost = $\", value(m.fs.operating_cost))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For this operating cost, what is the amount of benzene we are able to produce and what purity we are able to achieve? " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.F102.report()\n", - "\n", - "print()\n", - "print(\"benzene purity = \", value(m.fs.purity))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, let's look at how much benzene we are losing with the light gases out of F101. IDAES has tools for creating stream tables based on the `Arcs` and/or `Ports` in a flowsheet. Let us create and print a simple stream table showing the stream leaving the reactor and the vapor stream from F101.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "How much benzene are we losing in the F101 vapor outlet stream?\n", - "
\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.core.util.tables import (\n", - " create_stream_table_dataframe,\n", - " stream_table_dataframe_to_string,\n", - ")\n", - "\n", - "st = create_stream_table_dataframe({\"Reactor\": m.fs.s05, \"Light Gases\": m.fs.s06})\n", - "print(stream_table_dataframe_to_string(st))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "You can query additional variables here if you like. \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Optimization\n", - "\n", - "\n", - "We saw from the results above that the total operating cost for the base case was $419,122 per year. We are producing 0.142 mol/s of benzene at a purity of 82\\%. However, we are losing around 42\\% of benzene in F101 vapor outlet stream. \n", - "\n", - "Let us try to minimize this cost such that:\n", - "- we are producing at least 0.15 mol/s of benzene in F102 vapor outlet i.e. our product stream\n", - "- purity of benzene i.e. the mole fraction of benzene in F102 vapor outlet is at least 80%\n", - "- restricting the benzene loss in F101 vapor outlet to less than 20%\n", - "\n", - "For this problem, our decision variables are as follows:\n", - "- H101 outlet temperature\n", - "- R101 cooling duty provided\n", - "- F101 outlet temperature\n", - "- F102 outlet temperature\n", - "- F102 deltaP in the flash tank\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us declare our objective function for this problem. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.objective = Objective(expr=m.fs.operating_cost)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, we need to unfix the decision variables as we had solved a square problem (degrees of freedom = 0) until now. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.H101.outlet.temperature.unfix()\n", - "m.fs.R101.heat_duty.unfix()\n", - "m.fs.F101.vap_outlet.temperature.unfix()\n", - "m.fs.F102.vap_outlet.temperature.unfix()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Let us now unfix the remaining variable which is F102 pressure drop (F102.deltaP) \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Unfix deltaP for F102" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Unfix deltaP for F102\n", - "m.fs.F102.deltaP.unfix()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we need to set bounds on these decision variables to values shown below:\n", - "\n", - " - H101 outlet temperature [500, 600] K\n", - " - R101 outlet temperature [600, 800] K\n", - " - F101 outlet temperature [298, 450] K\n", - " - F102 outlet temperature [298, 450] K\n", - " - F102 outlet pressure [105000, 110000] Pa\n", - "\n", - "Let us first set the variable bound for the H101 outlet temperature as shown below:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.H101.outlet.temperature[0].setlb(500)\n", - "m.fs.H101.outlet.temperature[0].setub(600)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Now, set the variable bound for the R101 outlet temperature.\n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Set the bounds for reactor outlet temperature" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Set the bounds for reactor outlet temperature\n", - "m.fs.R101.outlet.temperature[0].setlb(600)\n", - "m.fs.R101.outlet.temperature[0].setub(800)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us fix the bounds for the rest of the decision variables. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.F101.vap_outlet.temperature[0].setlb(298.0)\n", - "m.fs.F101.vap_outlet.temperature[0].setub(450.0)\n", - "m.fs.F102.vap_outlet.temperature[0].setlb(298.0)\n", - "m.fs.F102.vap_outlet.temperature[0].setub(450.0)\n", - "m.fs.F102.vap_outlet.pressure[0].setlb(105000)\n", - "m.fs.F102.vap_outlet.pressure[0].setub(110000)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, the only things left to define are our constraints on overhead loss in F101, product flow rate and purity in F102. Let us first look at defining a constraint for the overhead loss in F101 where we are restricting the benzene leaving the vapor stream to less than 20 \\% of the benzene available in the reactor outlet. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.overhead_loss = Constraint(\n", - " expr=m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", - " <= 0.20 * m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Now, add the constraint such that we are producing at least 0.15 mol/s of benzene in the product stream which is the vapor outlet of F102. Let us name this constraint as m.fs.product_flow. \n", - "\n", - "Use Shift+Enter to run the cell once you have typed in your code. \n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add minimum product flow constraint" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Add minimum product flow constraint\n", - "m.fs.product_flow = Constraint(\n", - " expr=m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"] >= 0.15\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us add the final constraint on product purity or the mole fraction of benzene in the product stream such that it is at least greater than 80%. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.product_purity = Constraint(expr=m.fs.purity >= 0.80)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "We have now defined the optimization problem and we are now ready to solve this problem. \n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Optimization Results\n", - "\n", - "Display the results and product specifications" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(\"operating cost = $\", value(m.fs.operating_cost))\n", - "\n", - "print()\n", - "print(\"Product flow rate and purity in F102\")\n", - "\n", - "m.fs.F102.report()\n", - "\n", - "print()\n", - "print(\"benzene purity = \", value(m.fs.purity))\n", - "\n", - "print()\n", - "print(\"Overhead loss in F101\")\n", - "m.fs.F101.report()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Display optimal values for the decision variables" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(\"Optimal Values\")\n", - "print()\n", - "\n", - "print(\"H101 outlet temperature = \", value(m.fs.H101.outlet.temperature[0]), \"K\")\n", - "\n", - "print()\n", - "print(\"R101 outlet temperature = \", value(m.fs.R101.outlet.temperature[0]), \"K\")\n", - "\n", - "print()\n", - "print(\"F101 outlet temperature = \", value(m.fs.F101.vap_outlet.temperature[0]), \"K\")\n", - "\n", - "print()\n", - "print(\"F102 outlet temperature = \", value(m.fs.F102.vap_outlet.temperature[0]), \"K\")\n", - "print(\"F102 outlet pressure = \", value(m.fs.F102.vap_outlet.pressure[0]), \"Pa\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.12" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "# HDA Flowsheet Simulation and Optimization\n", + "\n", + "Author: Jaffer Ghouse \n", + "Maintainer: Brandon Paul \n", + "Updated: 2023-06-01 \n", + "\n", + "## Learning outcomes\n", + "\n", + "\n", + "- Construct a steady-state flowsheet using the IDAES unit model library\n", + "- Connecting unit models in a flowsheet using Arcs\n", + "- Using the SequentialDecomposition tool to initialize a flowsheet with recycle\n", + "- Fomulate and solve an optimization problem\n", + " - Defining an objective function\n", + " - Setting variable bounds\n", + " - Adding additional constraints \n", + "\n", + "\n", + "## Problem Statement\n", + "\n", + "Hydrodealkylation is a chemical reaction that often involves reacting\n", + "an aromatic hydrocarbon in the presence of hydrogen gas to form a\n", + "simpler aromatic hydrocarbon devoid of functional groups. In this\n", + "example, toluene will be reacted with hydrogen gas at high temperatures\n", + " to form benzene via the following reaction:\n", + "\n", + "**C6H5CH3 + H2 \u2192 C6H6 + CH4**\n", + "\n", + "\n", + "This reaction is often accompanied by an equilibrium side reaction\n", + "which forms diphenyl, which we will neglect for this example.\n", + "\n", + "This example is based on the 1967 AIChE Student Contest problem as\n", + "present by Douglas, J.M., Chemical Design of Chemical Processes, 1988,\n", + "McGraw-Hill.\n", + "\n", + "The flowsheet that we will be using for this module is shown below with the stream conditions. We will be processing toluene and hydrogen to produce at least 370 TPY of benzene. As shown in the flowsheet, there are two flash tanks, F101 to separate out the non-condensibles and F102 to further separate the benzene-toluene mixture to improve the benzene purity. Note that typically a distillation column is required to obtain high purity benzene but that is beyond the scope of this workshop. The non-condensibles separated out in F101 will be partially recycled back to M101 and the rest will be either purged or combusted for power generation.We will assume ideal gas for this flowsheet. The properties required for this module are available in the same directory:\n", + "\n", + "- hda_ideal_VLE.py\n", + "- hda_reaction.py\n", + "\n", + "The state variables chosen for the property package are **flows of component by phase, temperature and pressure**. The components considered are: **toluene, hydrogen, benzene and methane**. Therefore, every stream has 8 flow variables, 1 temperature and 1 pressure variable. \n", + "\n", + "![](HDA_flowsheet.png)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing required pyomo and idaes components\n", + "\n", + "\n", + "To construct a flowsheet, we will need several components from the pyomo and idaes package. Let us first import the following components from Pyomo:\n", + "- Constraint (to write constraints)\n", + "- Var (to declare variables)\n", + "- ConcreteModel (to create the concrete model object)\n", + "- Expression (to evaluate values as a function of variables defined in the model)\n", + "- Objective (to define an objective function for optimization)\n", + "- SolverFactory (to solve the problem)\n", + "- TransformationFactory (to apply certain transformations)\n", + "- Arc (to connect two unit models)\n", + "- SequentialDecomposition (to initialize the flowsheet in a sequential mode)\n", + "\n", + "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/stable/\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import (\n", + " Constraint,\n", + " Var,\n", + " ConcreteModel,\n", + " Expression,\n", + " Objective,\n", + " SolverFactory,\n", + " TransformationFactory,\n", + " value,\n", + ")\n", + "from pyomo.network import Arc, SequentialDecomposition" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From idaes, we will be needing the FlowsheetBlock and the following unit models:\n", + "- Mixer\n", + "- Heater\n", + "- StoichiometricReactor\n", + "- **Flash**\n", + "- Separator (splitter) \n", + "- PressureChanger" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core import FlowsheetBlock" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.models.unit_models import (\n", + " PressureChanger,\n", + " Mixer,\n", + " Separator as Splitter,\n", + " Heater,\n", + " StoichiometricReactor,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Now, import the remaining unit models highlighted in blue above and run the cell using `Shift+Enter` after typing in the code. \n", + "
\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: import flash model from idaes.models.unit_models" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: import flash model from idaes.models.unit_models\n", + "from idaes.models.unit_models import Flash" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will also be needing some utility tools to put together the flowsheet and calculate the degrees of freedom. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "\n", + "# Import idaes logger to set output levels\n", + "import idaes.logger as idaeslog\n", + "from idaes.core.solvers import get_solver\n", + "from idaes.core.util.exceptions import InitializationError" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing required thermo and reaction package\n", + "\n", + "The final set of imports are to import the thermo and reaction package for the HDA process. We have created a custom thermo package that assumes Ideal Gas with support for VLE. \n", + "\n", + "The reaction package here is very simple as we will be using only a StochiometricReactor and the reaction package consists of the stochiometric coefficients for the reaction and the parameter for the heat of reaction. \n", + "\n", + "Let us import the following modules and they are in the same directory as this jupyter notebook:\n", + "
    \n", + "
  • hda_ideal_VLE as thermo_props
  • \n", + "
  • hda_reaction as reaction_props
  • \n", + "
\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes_examples.mod.hda import hda_ideal_VLE as thermo_props\n", + "from idaes_examples.mod.hda import hda_reaction as reaction_props" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Constructing the Flowsheet\n", + "\n", + "We have now imported all the components, unit models, and property modules we need to construct a flowsheet. Let us create a ConcreteModel and add the flowsheet block as we did in module 1. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m = ConcreteModel()\n", + "m.fs = FlowsheetBlock(dynamic=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now need to add the property packages to the flowsheet. Unlike Module 1, where we only had a thermo property package, for this flowsheet we will also need to add a reaction property package. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.thermo_params = thermo_props.HDAParameterBlock()\n", + "m.fs.reaction_params = reaction_props.HDAReactionParameterBlock(\n", + " property_package=m.fs.thermo_params\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding Unit Models\n", + "\n", + "Let us start adding the unit models we have imported to the flowsheet. Here, we are adding the Mixer (assigned a name M101) and a Heater (assigned a name H101). Note that, all unit models need to be given a property package argument. In addition to that, there are several arguments depending on the unit model, please refer to the documentation for more details (https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/generic/unit_models/index.html). For example, the Mixer unit model here is given a `list` consisting of names to the three inlets. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.M101 = Mixer(\n", + " property_package=m.fs.thermo_params,\n", + " inlet_list=[\"toluene_feed\", \"hydrogen_feed\", \"vapor_recycle\"],\n", + ")\n", + "\n", + "m.fs.H101 = Heater(\n", + " property_package=m.fs.thermo_params,\n", + " has_pressure_change=False,\n", + " has_phase_equilibrium=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Let us now add the StoichiometricReactor(assign the name R101) and pass the following arguments:\n", + "
    \n", + "
  • \"property_package\": m.fs.thermo_params
  • \n", + "
  • \"reaction_package\": m.fs.reaction_params
  • \n", + "
  • \"has_heat_of_reaction\": True
  • \n", + "
  • \"has_heat_transfer\": True
  • \n", + "
  • \"has_pressure_change\": False
  • \n", + "
\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add reactor with the specifications above" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add reactor with the specifications above\n", + "m.fs.R101 = StoichiometricReactor(\n", + " property_package=m.fs.thermo_params,\n", + " reaction_package=m.fs.reaction_params,\n", + " has_heat_of_reaction=True,\n", + " has_heat_transfer=True,\n", + " has_pressure_change=False,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us now add the Flash(assign the name F101) and pass the following arguments:\n", + "
    \n", + "
  • \"property_package\": m.fs.thermo_params
  • \n", + "
  • \"has_heat_transfer\": True
  • \n", + "
  • \"has_pressure_change\": False
  • \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.F101 = Flash(\n", + " property_package=m.fs.thermo_params,\n", + " has_heat_transfer=True,\n", + " has_pressure_change=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us now add the Splitter(S101), PressureChanger(C101) and the second Flash(F102). " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.S101 = Splitter(\n", + " property_package=m.fs.thermo_params,\n", + " ideal_separation=False,\n", + " outlet_list=[\"purge\", \"recycle\"],\n", + ")\n", + "\n", + "\n", + "m.fs.C101 = PressureChanger(\n", + " property_package=m.fs.thermo_params,\n", + " compressor=True,\n", + " thermodynamic_assumption=ThermodynamicAssumption.isothermal,\n", + ")\n", + "\n", + "m.fs.F102 = Flash(\n", + " property_package=m.fs.thermo_params,\n", + " has_heat_transfer=True,\n", + " has_pressure_change=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Connecting Unit Models using Arcs\n", + "\n", + "We have now added all the unit models we need to the flowsheet. However, we have not yet specified how the units are to be connected. To do this, we will be using the `Arc` which is a pyomo component that takes in two arguments: `source` and `destination`. Let us connect the outlet of the mixer(M101) to the inlet of the heater(H101). " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.H101.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "![](HDA_flowsheet.png) \n", + "\n", + "
\n", + "Inline Exercise:\n", + "Now, connect the H101 outlet to the R101 inlet using the cell above as a guide. \n", + "
\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Connect the H101 outlet to R101 inlet" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Connect the H101 outlet to R101 inlet\n", + "m.fs.s04 = Arc(source=m.fs.H101.outlet, destination=m.fs.R101.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now be connecting the rest of the flowsheet as shown below. Notice how the outlet names are different for the flash tanks F101 and F102 as they have a vapor and a liquid outlet. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.s05 = Arc(source=m.fs.R101.outlet, destination=m.fs.F101.inlet)\n", + "m.fs.s06 = Arc(source=m.fs.F101.vap_outlet, destination=m.fs.S101.inlet)\n", + "m.fs.s08 = Arc(source=m.fs.S101.recycle, destination=m.fs.C101.inlet)\n", + "m.fs.s09 = Arc(source=m.fs.C101.outlet, destination=m.fs.M101.vapor_recycle)\n", + "m.fs.s10 = Arc(source=m.fs.F101.liq_outlet, destination=m.fs.F102.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We have now connected the unit model block using the arcs. However, each of these arcs link to ports on the two unit models that are connected. In this case, the ports consist of the state variables that need to be linked between the unit models. Pyomo provides a convenient method to write these equality constraints for us between two ports and this is done as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "TransformationFactory(\"network.expand_arcs\").apply_to(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding expressions to compute purity and operating costs\n", + "\n", + "In this section, we will add a few Expressions that allows us to evaluate the performance. Expressions provide a convenient way of calculating certain values that are a function of the variables defined in the model. For more details on Expressions, please refer to: https://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html\n", + "\n", + "For this flowsheet, we are interested in computing the purity of the product Benzene stream (i.e. the mole fraction) and the operating cost which is a sum of the cooling and heating cost. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us first add an Expression to compute the mole fraction of benzene in the `vap_outlet` of F102 which is our product stream. Please note that the var flow_mol_phase_comp has the index - [time, phase, component]. As this is a steady-state flowsheet, the time index by default is 0. The valid phases are [\"Liq\", \"Vap\"]. Similarly the valid component list is [\"benzene\", \"toluene\", \"hydrogen\", \"methane\"]." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.purity = Expression(\n", + " expr=m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", + " / (\n", + " m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", + " + m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " )\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, let us add an expression to compute the cooling cost assuming a cost of 0.212E-4 $/kW. Note that cooling utility is required for the reactor (R101) and the first flash (F101). " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.cooling_cost = Expression(\n", + " expr=0.212e-7 * (-m.fs.F101.heat_duty[0]) + 0.212e-7 * (-m.fs.R101.heat_duty[0])\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "Now, let us add an expression to compute the heating cost assuming the utility cost as follows:\n", + "
    \n", + "
  • 2.2E-4 dollars/kW for H101
  • \n", + "
  • 1.9E-4 dollars/kW for F102
  • \n", + "
\n", + "Note that the heat duty is in units of watt (J/s). " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.heating_cost = Expression(\n", + " expr=2.2e-7 * m.fs.H101.heat_duty[0] + 1.9e-7 * m.fs.F102.heat_duty[0]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us now add an expression to compute the total operating cost per year which is basically the sum of the cooling and heating cost we defined above. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.operating_cost = Expression(\n", + " expr=(3600 * 24 * 365 * (m.fs.heating_cost + m.fs.cooling_cost))\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fixing feed conditions\n", + "\n", + "Let us first check how many degrees of freedom exist for this flowsheet using the `degrees_of_freedom` tool we imported earlier. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now be fixing the toluene feed stream to the conditions shown in the flowsheet above. Please note that though this is a pure toluene feed, the remaining components are still assigned a very small non-zero value to help with convergence and initializing. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(0.30)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", + "m.fs.M101.toluene_feed.temperature.fix(303.2)\n", + "m.fs.M101.toluene_feed.pressure.fix(350000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "Similarly, let us fix the hydrogen feed to the following conditions in the next cell:\n", + "
    \n", + "
  • FH2 = 0.30 mol/s
  • \n", + "
  • FCH4 = 0.02 mol/s
  • \n", + "
  • Remaining components = 1e-5 mol/s
  • \n", + "
  • T = 303.2 K
  • \n", + "
  • P = 350000 Pa
  • \n", + "
\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"toluene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"hydrogen\"].fix(0.30)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Vap\", \"methane\"].fix(0.02)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"benzene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"toluene\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"hydrogen\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.flow_mol_phase_comp[0, \"Liq\", \"methane\"].fix(1e-5)\n", + "m.fs.M101.hydrogen_feed.temperature.fix(303.2)\n", + "m.fs.M101.hydrogen_feed.pressure.fix(350000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fixing unit model specifications\n", + "\n", + "Now that we have fixed our inlet feed conditions, we will now be fixing the operating conditions for the unit models in the flowsheet. Let us set set the H101 outlet temperature to 600 K. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.H101.outlet.temperature.fix(600)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For the StoichiometricReactor, we have to define the conversion in terms of toluene. This requires us to create a new variable for specifying the conversion and adding a Constraint that defines the conversion with respect to toluene. The second degree of freedom for the reactor is to define the heat duty. In this case, let us assume the reactor to be adiabatic i.e. Q = 0. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.R101.conversion = Var(initialize=0.75, bounds=(0, 1))\n", + "\n", + "m.fs.R101.conv_constraint = Constraint(\n", + " expr=m.fs.R101.conversion * m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " == (\n", + " m.fs.R101.inlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " - m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " )\n", + ")\n", + "\n", + "m.fs.R101.conversion.fix(0.75)\n", + "m.fs.R101.heat_duty.fix(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The Flash conditions for F101 can be set as follows. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.F101.vap_outlet.temperature.fix(325.0)\n", + "m.fs.F101.deltaP.fix(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Set the conditions for Flash F102 to the following conditions:\n", + "
    \n", + "
  • T = 375 K
  • \n", + "
  • deltaP = -200000
  • \n", + "
\n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Set conditions for Flash F102" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "m.fs.F102.vap_outlet.temperature.fix(375)\n", + "m.fs.F102.deltaP.fix(-200000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us fix the purge split fraction to 20% and the outlet pressure of the compressor is set to 350000 Pa. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.S101.split_fraction[0, \"purge\"].fix(0.2)\n", + "m.fs.C101.outlet.pressure.fix(350000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "We have now defined all the feed conditions and the inputs required for the unit models. The system should now have 0 degrees of freedom i.e. should be a square problem. Please check that the degrees of freedom is 0. \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: print the degrees of freedom" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Initialization\n", + "\n", + "\n", + "This section will demonstrate how to use the built-in sequential decomposition tool to initialize our flowsheet.\n", + "\n", + "![](HDA_flowsheet.png) \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us first create an object for the SequentialDecomposition and specify our options for this. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "seq = SequentialDecomposition()\n", + "seq.options.select_tear_method = \"heuristic\"\n", + "seq.options.tear_method = \"Wegstein\"\n", + "seq.options.iterLim = 3\n", + "\n", + "# Using the SD tool\n", + "G = seq.create_graph(m)\n", + "heuristic_tear_set = seq.tear_set_arcs(G, method=\"heuristic\")\n", + "order = seq.calculation_order(G)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Which is the tear stream? Display tear set and order" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "for o in heuristic_tear_set:\n", + " print(o.name)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What sequence did the SD tool determine to solve this flowsheet with the least number of tears? " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "for o in order:\n", + " print(o[0].name)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " \n", + "\n", + "![](HDA_tear_stream.png) \n", + "\n", + "\n", + "The SequentialDecomposition tool has determined that the tear stream is the mixer outlet. We will need to provide a reasonable guess for this." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tear_guesses = {\n", + " \"flow_mol_phase_comp\": {\n", + " (0, \"Vap\", \"benzene\"): 1e-5,\n", + " (0, \"Vap\", \"toluene\"): 1e-5,\n", + " (0, \"Vap\", \"hydrogen\"): 0.30,\n", + " (0, \"Vap\", \"methane\"): 0.02,\n", + " (0, \"Liq\", \"benzene\"): 1e-5,\n", + " (0, \"Liq\", \"toluene\"): 0.30,\n", + " (0, \"Liq\", \"hydrogen\"): 1e-5,\n", + " (0, \"Liq\", \"methane\"): 1e-5,\n", + " },\n", + " \"temperature\": {0: 303},\n", + " \"pressure\": {0: 350000},\n", + "}\n", + "\n", + "# Pass the tear_guess to the SD tool\n", + "seq.set_guesses_for(m.fs.H101.inlet, tear_guesses)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we need to tell the tool how to initialize a particular unit. We will be writing a python function which takes in a \"unit\" and calls the initialize method on that unit. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def function(unit):\n", + " try:\n", + " initializer = unit.default_initializer()\n", + " initializer.initialize(unit, output_level=idaeslog.INFO)\n", + " except InitializationError:\n", + " solver = get_solver()\n", + " solver.solve(unit)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We are now ready to initialize our flowsheet in a sequential mode. Note that we specifically set the iteration limit to be 5 as we are trying to use this tool only to get a good set of initial values such that IPOPT can then take over and solve this flowsheet for us. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "seq.run(m, function)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "We have now initialized the flowsheet. Let us run the flowsheet in a simulation mode to look at the results. To do this, complete the last line of code where we pass the model to the solver. You will need to type the following:\n", + " \n", + "results = solver.solve(m, tee=True)\n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Create the solver object\n", + "\n", + "\n", + "# Solve the model" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Create the solver object\n", + "from idaes.core.solvers import get_solver\n", + "\n", + "solver = get_solver()\n", + "\n", + "# Solve the model\n", + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Analyze the results of the square problem\n", + "\n", + "\n", + "What is the total operating cost? " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"operating cost = $\", value(m.fs.operating_cost))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For this operating cost, what is the amount of benzene we are able to produce and what purity we are able to achieve? " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.F102.report()\n", + "\n", + "print()\n", + "print(\"benzene purity = \", value(m.fs.purity))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, let's look at how much benzene we are losing with the light gases out of F101. IDAES has tools for creating stream tables based on the `Arcs` and/or `Ports` in a flowsheet. Let us create and print a simple stream table showing the stream leaving the reactor and the vapor stream from F101.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "How much benzene are we losing in the F101 vapor outlet stream?\n", + "
\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core.util.tables import (\n", + " create_stream_table_dataframe,\n", + " stream_table_dataframe_to_string,\n", + ")\n", + "\n", + "st = create_stream_table_dataframe({\"Reactor\": m.fs.s05, \"Light Gases\": m.fs.s06})\n", + "print(stream_table_dataframe_to_string(st))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "You can query additional variables here if you like. \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Optimization\n", + "\n", + "\n", + "We saw from the results above that the total operating cost for the base case was $419,122 per year. We are producing 0.142 mol/s of benzene at a purity of 82\\%. However, we are losing around 42\\% of benzene in F101 vapor outlet stream. \n", + "\n", + "Let us try to minimize this cost such that:\n", + "- we are producing at least 0.15 mol/s of benzene in F102 vapor outlet i.e. our product stream\n", + "- purity of benzene i.e. the mole fraction of benzene in F102 vapor outlet is at least 80%\n", + "- restricting the benzene loss in F101 vapor outlet to less than 20%\n", + "\n", + "For this problem, our decision variables are as follows:\n", + "- H101 outlet temperature\n", + "- R101 cooling duty provided\n", + "- F101 outlet temperature\n", + "- F102 outlet temperature\n", + "- F102 deltaP in the flash tank\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us declare our objective function for this problem. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.objective = Objective(expr=m.fs.operating_cost)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, we need to unfix the decision variables as we had solved a square problem (degrees of freedom = 0) until now. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.H101.outlet.temperature.unfix()\n", + "m.fs.R101.heat_duty.unfix()\n", + "m.fs.F101.vap_outlet.temperature.unfix()\n", + "m.fs.F102.vap_outlet.temperature.unfix()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Let us now unfix the remaining variable which is F102 pressure drop (F102.deltaP) \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Unfix deltaP for F102" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Unfix deltaP for F102\n", + "m.fs.F102.deltaP.unfix()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we need to set bounds on these decision variables to values shown below:\n", + "\n", + " - H101 outlet temperature [500, 600] K\n", + " - R101 outlet temperature [600, 800] K\n", + " - F101 outlet temperature [298, 450] K\n", + " - F102 outlet temperature [298, 450] K\n", + " - F102 outlet pressure [105000, 110000] Pa\n", + "\n", + "Let us first set the variable bound for the H101 outlet temperature as shown below:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.H101.outlet.temperature[0].setlb(500)\n", + "m.fs.H101.outlet.temperature[0].setub(600)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Now, set the variable bound for the R101 outlet temperature.\n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Set the bounds for reactor outlet temperature" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Set the bounds for reactor outlet temperature\n", + "m.fs.R101.outlet.temperature[0].setlb(600)\n", + "m.fs.R101.outlet.temperature[0].setub(800)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us fix the bounds for the rest of the decision variables. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.F101.vap_outlet.temperature[0].setlb(298.0)\n", + "m.fs.F101.vap_outlet.temperature[0].setub(450.0)\n", + "m.fs.F102.vap_outlet.temperature[0].setlb(298.0)\n", + "m.fs.F102.vap_outlet.temperature[0].setub(450.0)\n", + "m.fs.F102.vap_outlet.pressure[0].setlb(105000)\n", + "m.fs.F102.vap_outlet.pressure[0].setub(110000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, the only things left to define are our constraints on overhead loss in F101, product flow rate and purity in F102. Let us first look at defining a constraint for the overhead loss in F101 where we are restricting the benzene leaving the vapor stream to less than 20 \\% of the benzene available in the reactor outlet. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.overhead_loss = Constraint(\n", + " expr=m.fs.F101.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", + " <= 0.20 * m.fs.R101.outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Now, add the constraint such that we are producing at least 0.15 mol/s of benzene in the product stream which is the vapor outlet of F102. Let us name this constraint as m.fs.product_flow. \n", + "\n", + "Use Shift+Enter to run the cell once you have typed in your code. \n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add minimum product flow constraint" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Add minimum product flow constraint\n", + "m.fs.product_flow = Constraint(\n", + " expr=m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"] >= 0.15\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us add the final constraint on product purity or the mole fraction of benzene in the product stream such that it is at least greater than 80%. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.product_purity = Constraint(expr=m.fs.purity >= 0.80)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "We have now defined the optimization problem and we are now ready to solve this problem. \n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Optimization Results\n", + "\n", + "Display the results and product specifications" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"operating cost = $\", value(m.fs.operating_cost))\n", + "\n", + "print()\n", + "print(\"Product flow rate and purity in F102\")\n", + "\n", + "m.fs.F102.report()\n", + "\n", + "print()\n", + "print(\"benzene purity = \", value(m.fs.purity))\n", + "\n", + "print()\n", + "print(\"Overhead loss in F101\")\n", + "m.fs.F101.report()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Display optimal values for the decision variables" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Optimal Values\")\n", + "print()\n", + "\n", + "print(\"H101 outlet temperature = \", value(m.fs.H101.outlet.temperature[0]), \"K\")\n", + "\n", + "print()\n", + "print(\"R101 outlet temperature = \", value(m.fs.R101.outlet.temperature[0]), \"K\")\n", + "\n", + "print()\n", + "print(\"F101 outlet temperature = \", value(m.fs.F101.vap_outlet.temperature[0]), \"K\")\n", + "\n", + "print()\n", + "print(\"F102 outlet temperature = \", value(m.fs.F102.vap_outlet.temperature[0]), \"K\")\n", + "print(\"F102 outlet pressure = \", value(m.fs.F102.vap_outlet.pressure[0]), \"Pa\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.12" + } + }, + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/tut/introduction.ipynb b/idaes_examples/notebooks/docs/tut/introduction.ipynb index 62978e37..c03c3a9b 100644 --- a/idaes_examples/notebooks/docs/tut/introduction.ipynb +++ b/idaes_examples/notebooks/docs/tut/introduction.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/tut/introduction_doc.ipynb b/idaes_examples/notebooks/docs/tut/introduction_doc.ipynb index 4ac33b41..593c9a9b 100644 --- a/idaes_examples/notebooks/docs/tut/introduction_doc.ipynb +++ b/idaes_examples/notebooks/docs/tut/introduction_doc.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -55,28 +56,9 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Pyomo Import Checks: Passed\n", - "IDAES Import Checks: Passed\n", - "Solver Availability Check: Passed\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Simple Model Check: Passed\n", - "All Good!\n" - ] - } - ], + "outputs": [], "source": [ "run \"notebook_test_script.py\"" ] @@ -177,15 +159,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "5\n" - ] - } - ], + "outputs": [], "source": [ "# Todo: print the value of x\n", "print(x)" @@ -264,15 +238,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "8\n" - ] - } - ], + "outputs": [], "source": [ "# Print the value of x\n", "print(x)" @@ -321,15 +287,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The room is too cold.\n" - ] - } - ], + "outputs": [], "source": [ "T_degC = 20\n", "# some other code\n", @@ -365,15 +323,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50]\n" - ] - } - ], + "outputs": [], "source": [ "# Create a list with the values 0 to 50 with steps of 5.\n", "xlist = list()\n", @@ -417,15 +367,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50]\n" - ] - } - ], + "outputs": [], "source": [ "# Todo: define the list comprehension\n", "xlist = [i * 5 for i in range(11)]\n", @@ -451,15 +393,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "11\n" - ] - } - ], + "outputs": [], "source": [ "# Todo: print the len of the list\n", "print(len(xlist))" @@ -485,15 +419,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[0, 25, 100, 225, 400, 625, 900, 1225, 1600, 2025, 2500]\n" - ] - } - ], + "outputs": [], "source": [ "ylist = list()\n", "\n", @@ -524,15 +450,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[0, 25, 100, 225, 400, 625, 900, 1225, 1600, 2025, 2500]\n" - ] - } - ], + "outputs": [], "source": [ "# Todo: create ylist using a list comprehension and print the result\n", "ylist = [x**2 for x in xlist]\n", @@ -556,15 +474,7 @@ "cell_type": "code", "execution_count": 13, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'South Dakota': 199742, 'Oklahoma': 181035}\n" - ] - } - ], + "outputs": [], "source": [ "areas = dict()\n", "areas[\"South Dakota\"] = 199742\n", @@ -610,15 +520,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'South Dakota': 77120.5214053598, 'Oklahoma': 69897.7360425915}\n" - ] - } - ], + "outputs": [], "source": [ "areas_mi = dict()\n", "for state_name, area in areas.items():\n", @@ -651,15 +553,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'South Dakota': 77120.5214053598, 'Oklahoma': 69897.7360425915}\n" - ] - } - ], + "outputs": [], "source": [ "# Todo: define areas_mi using a dictionary comprehension and print the result\n", "areas_mi = {k: v * (0.62137**2) for k, v in areas.items()}\n", @@ -694,16 +588,7 @@ "cell_type": "code", "execution_count": 17, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[0.0, 3.3333333333333335, 6.666666666666667, 10.0, 13.333333333333334, 16.666666666666668, 20.0, 23.333333333333336, 26.666666666666668, 30.0, 33.333333333333336, 36.66666666666667, 40.0, 43.333333333333336, 46.66666666666667, 50.0]\n", - "[0.0, 11.111111111111112, 44.44444444444445, 100.0, 177.7777777777778, 277.7777777777778, 400.0, 544.4444444444446, 711.1111111111112, 900.0, 1111.1111111111113, 1344.4444444444448, 1600.0, 1877.777777777778, 2177.7777777777783, 2500.0]\n" - ] - } - ], + "outputs": [], "source": [ "xlist = list(np.linspace(0, 50, 16))\n", "ylist = [x**2 for x in xlist]\n", @@ -736,22 +621,7 @@ "cell_type": "code", "execution_count": 19, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\tut\\introduction_doc_38_0.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "plt.plot(xlist, ylist)\n", "plt.title(\"Embedded x vs y figure\")\n", @@ -789,22 +659,7 @@ "solution" ] }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\tut\\introduction_doc_41_0.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "x = list(np.linspace(0, 2 * math.pi, 100))\n", "\n", @@ -836,28 +691,7 @@ "cell_type": "code", "execution_count": 22, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " x sin(x) (radians)\n", - "0 0.000000 0.000000e+00\n", - "1 0.063467 6.342392e-02\n", - "2 0.126933 1.265925e-01\n", - "3 0.190400 1.892512e-01\n", - "4 0.253866 2.511480e-01\n", - ".. ... ...\n", - "95 6.029319 -2.511480e-01\n", - "96 6.092786 -1.892512e-01\n", - "97 6.156252 -1.265925e-01\n", - "98 6.219719 -6.342392e-02\n", - "99 6.283185 -2.449294e-16\n", - "\n", - "[100 rows x 2 columns]\n" - ] - } - ], + "outputs": [], "source": [ "import pandas as pd\n", "\n", @@ -957,85 +791,7 @@ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 2\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 2\n", - "\n", - "Total number of variables............................: 2\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 0\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 1\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 1.00e+00 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 5.0000000e-01 0.00e+00 0.00e+00 -1.7 5.00e-01 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 1\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 5.0000000000000000e-01 5.0000000000000000e-01\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "\n", - "\n", - "Number of objective function evaluations = 2\n", - "Number of objective gradient evaluations = 2\n", - "Number of equality constraint evaluations = 2\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 2\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 1\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\b\b\b\b\b\b\b\b\b\b\b\b\b\b" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "x = 0.5\n", - "y = 0.5\n", - "obj = 0.5\n" - ] - } - ], + "outputs": [], "source": [ "from pyomo.environ import Objective, Constraint, value, SolverFactory\n", "\n", @@ -1069,57 +825,9 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 26, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "*** Output from model.pprint():\n", - "2 Var Declarations\n", - " x : Size=1, Index=None\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " None : None : 0.5 : None : False : False : Reals\n", - " y : Size=1, Index=None\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " None : None : 0.5 : None : False : False : Reals\n", - "\n", - "1 Objective Declarations\n", - " obj : Size=1, Index=None, Active=True\n", - " Key : Active : Sense : Expression\n", - " None : True : minimize : x**2 + y**2\n", - "\n", - "1 Constraint Declarations\n", - " con : Size=1, Index=None, Active=True\n", - " Key : Lower : Body : Upper : Active\n", - " None : 1.0 : x + y : 1.0 : True\n", - "\n", - "4 Declarations: x y obj con\n", - "\n", - "*** Output from model.display():\n", - "Model unknown\n", - "\n", - " Variables:\n", - " x : Size=1, Index=None\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " None : None : 0.5 : None : False : False : Reals\n", - " y : Size=1, Index=None\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " None : None : 0.5 : None : False : False : Reals\n", - "\n", - " Objectives:\n", - " obj : Size=1, Index=None, Active=True\n", - " Key : Active : Value\n", - " None : True : 0.5\n", - "\n", - " Constraints:\n", - " con : Size=1\n", - " Key : Lower : Body : Upper\n", - " None : 1.0 : 1.0 : 1.0\n" - ] - } - ], + "outputs": [], "source": [ "print(\"*** Output from model.pprint():\")\n", "model.pprint()\n", @@ -1154,7 +862,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.10.11" } }, "nbformat": 4, diff --git a/idaes_examples/notebooks/docs/tut/introduction_exercise.ipynb b/idaes_examples/notebooks/docs/tut/introduction_exercise.ipynb index 251e8e94..6f36a3a6 100644 --- a/idaes_examples/notebooks/docs/tut/introduction_exercise.ipynb +++ b/idaes_examples/notebooks/docs/tut/introduction_exercise.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/tut/introduction_short.ipynb b/idaes_examples/notebooks/docs/tut/introduction_short.ipynb index 4122c058..2f6a0961 100644 --- a/idaes_examples/notebooks/docs/tut/introduction_short.ipynb +++ b/idaes_examples/notebooks/docs/tut/introduction_short.ipynb @@ -1,930 +1,931 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Introduction to IDAES (short)\n", - "Author: Jaffer Ghouse, Andrew Lee \n", - "Maintainer: Andrew Lee \n", - "Updated: 2023-06-01 \n", - "\n", - "The fundamentals of working with the IDAES process modeling toolset, and how these tools can be applied for optimization applications.\n", - "\n", - "This material was originally presented in an IDAES workshop." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "run \"notebook_test_script.py\"" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes_examples.mod.notebook_checks import run_checks\n", - "\n", - "assert run_checks() == 4" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Welcome and thank you for taking the time to attend today's workshop. Today we will introduce you to the fundamentals of working with the IDAES process modeling toolset, and we will demonstrate how these tools can be applied for optimization applications.\n", - "\n", - "Today's workshop will be conducted using Jupyter Notebooks which provide an online, interactive Python environment for you to use (without the need for installing anything).\n", - "\n", - "Before we get started on some actual examples, let's make sure that everything is working correctly. The cell below contains a command to run a simple test script that will test that everything we will need for today is working properly.\n", - "\n", - "You can execute a cell by pressing `Shift+Enter`." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "If everything worked properly, you should see a message saying `All good!` and a summary of all the checks that were run. If you don't see this, please contact someone for assistance." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Outline of Workshop\n", - "\n", - "Today's workshop is divided into four modules which will take you through the steps of setting up a flowsheet within the IDAES framework.\n", - "\n", - "Welcome Module (this one):\n", - "\n", - "* Introduction to Jupyter notebooks and Python\n", - "* Introduction to Pyomo\n", - "\n", - "Module 1 will cover:\n", - "\n", - "* how to import models from the core IDAES model library,\n", - "* how to create a model for a single unit operation,\n", - "* how to define feed and operating conditions,\n", - "* how to initialize and solve a single unit model,\n", - "* some ways we can manipulate the model and examine the results.\n", - "\n", - "Module 2 will demonstrate:\n", - "\n", - "* how to combine unit models together to form flowsheets,\n", - "* tools to initialize and solve flowsheets with recycle loops,\n", - "* how to optimize process operating conditions to meet product specifications.\n", - "\n", - "Module 3 will demonstrate:\n", - "\n", - "* how to build new unit models using the IDAES tools,\n", - "* how to include new unit models into flowsheets.\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Introduction to Jupyter Notebooks and Python\n", - "\n", - "In this short notebook, we will briefly describe the uses of Jupyter notebooks like this one, and provide you with the necessary background in Python for this workshop. We will cover `if` statements, looping, array-like containers called lists and dictionaries, as well as the use of some external packages for working with data. \n", - "\n", - "There are many additional tutorials online to learn more about the Python syntax. One recommended by the IDAES team is https://www.coursera.org/learn/python." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In Python, variables do not need to be declared before they are used. You can simply define a new variable using `x = 5`.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "In the cell below, assign a value of 5 to the variable x. Don't forget to type Shift+Enter to execute the line.
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Assign a value of 5 to the variable x" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Assign a value of 5 to the variable x\n", - "x = 5" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can easily see the value of a variable using the built-in `print` function. For example, to print the value of `x` use `print(x)`.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Write the code to print the value of x. Don't forget to hit Shift+Enter to execute the cell.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: print the value of x" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: print the value of x\n", - "print(x)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Inline Exercise:\n", - "Now change the value of the x variable to 8 and execute the cell.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: Assign a value of 8 to the variable x" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Todo: Assign a value of 8 to the variable x\n", - "x = 8" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Jupyter notebooks and execution order\n", - "\n", - "
\n", - "Note:\n", - "When using Jupyter notebooks, it is very important to know that the cells can be executed out of order (intentionally or not). The state of the environment (e.g., values of variables, imports, etc.) is defined by the execution order.\n", - "
\n", - "\n", - "
\n", - "Inline Exercise:\n", - "To see this concept, select the cell above that contained the print statement and execute the cell again using Shift+Enter.\n", - "
\n", - "\n", - "You should see that the value `8` is now printed. This may seem problematic if you are used to programming in environments where the state is linked to the order of the commands as *written*, not as *executed*.\n", - "\n", - "**Again, notice that the state of the environment is determined by the execution order.**\n", - "\n", - "Note also that the square brackets to the left of the cell show the order that cells were executed. If you scroll to the top, you should see that the code cells show an execution order of `[1]`, `[2]`, `[5]`, and `[4]`, indicating the actual execution order.\n", - "\n", - "There are some useful menu commands at the top of the Jupyter notebook to help with these problems and make sure you retain the execution order as expected.\n", - "\n", - "Some important commands to remember:\n", - "* You can clear the current state with the menu item `Kernel | Restart & Clear Output`\n", - "* It is often useful to clear the state using the menu command just described, and then execute all the lines **above the currently selected cell** using `Cell | Run All Above`.\n", - "* You can clear all the state and re-run the entire notebook using `Kernel | Restart & Run All`.\n", - "\n", - "To show the use of these commands, complete the following.\n", - "
\n", - "Inline Exercise:\n", - "
    \n", - "
  • Clear the current state (using Kernel | Restart & Clear Output). You should notice that the square brackets that listed the execution order are all now empty.
  • \n", - "
  • Select the cell immediately below this text\n", - "
  • Re-run all the code up to this point (Cell | Run All Above). You should now see that the square brackets indicate the expected execution order.
  • \n", - "
  • Print the value of x again using the print function. You should see the value 8 printed, while the earlier cell printing x shows the value of 5 as expected.
  • \n", - "
\n", - "
\n" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "print(x)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Python `if` statements\n", - "\n", - "In the code below, we show an example of an `if` statement in Python.\n", - "\n", - "```python\n", - "temp = 325\n", - "# some other code\n", - "if temp > 320:\n", - " print('temperature is too high')\n", - "elif x < 290:\n", - " print('temperature is too low')\n", - "else:\n", - " print('temperature is just right')\n", - "```\n", - "\n", - "
\n", - "Note:\n", - "You will notice that there are no braces to separate blocks in the if-else tree. In Python, indentation is used to delineate blocks of code throughout Python (e.g., if statements, for loops, functions, etc.). The indentation in the above example is not only to improve legibility of the code. It is necessary for the code to run correctly. As well, the number of spaces required to define the indentation is arbitrary, but it must be consistent throughout the code. For example, we could use 3 spaces (instead of the 4 used in the example above, but we could not use 3 for one of the blocks and 4 for another).\n", - "
\n", - "\n", - "Using the syntax above for the `if` statement, write the following code.\n", - "
\n", - "Inline Exercise:\n", - "
    \n", - "
  • set the value of the variable T_degC to 20
  • \n", - "
  • convert this from degrees Celsius to degrees Fahrenheit (use variable name T_degF)
  • \n", - "
  • write an `if` statement that prints a message if the degrees Fahrenheit are below 70
  • \n", - "
\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "T_degC = 20\n", - "# some other code\n", - "T_degF = (T_degC * 9.0 / 5.0) + 32.0\n", - "\n", - "# Todo: put the if statement here" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "T_degC = 20\n", - "# some other code\n", - "T_degF = (T_degC * 9.0 / 5.0) + 32.0\n", - "\n", - "# Todo: put the if statement here\n", - "if T_degF < 70:\n", - " print(\"The room is too cold.\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Python list containers\n", - "\n", - "Now we will illustrate the use of lists in Python. Lists are similar to vectors or arrays in other languages. A list in Python is indexed by integers from 0 up to the length of the array minus 1. The list can contain standard types (int, float, string), or other objects.\n", - "\n", - "In the next inline exercise, we will create a list that contains the values from 0 to 50 by steps of 5 using a for loop. Note that the python function `range(n)` can be used to iterate from 0 to (n-1) in a for loop. Also note that lists have an `append` method which adds an entry to the end of the list (e.g., if the list `l` currently has 5 elements, then `l.append('temp')` will add the string \"temp\" as the sixth element). Print the new list after the for loop. If this is done correctly, you should see:\n", - "`[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50]` printed after the cell.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Complete the code block below to create the desired list and print the result.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Create a list with the values 0 to 50 with steps of 5.\n", - "xlist = list()\n", - "for i in range(11):\n", - " # Todo: use the append method of list to append the correct value\n", - "\n", - "# Todo: print the value of xlist to verify the results\n" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "# Create a list with the values 0 to 50 with steps of 5.\n", - "xlist = list()\n", - "for i in range(11):\n", - " # Todo: use the append method of list to append the correct value\n", - " xlist.append(i * 5)\n", - "\n", - "print(xlist) # Todo: print the value of xlist to verify the results" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can easily check the length of a list using the python `len(l)` function.\n", - "
\n", - "Inline Exercise:\n", - "Print the length of `xlist`. It should be 11.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "# Todo: print the len of the list" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "print(len(xlist)) # Todo: print the len of the list" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "If you have a list of values or objects, it is easy to iterate through that list in a for loop. In the next inline exercise, we will create another list, `ylist` where each of the values is equal to the corresponding value in `xlist` squared. That is, $y_i = x_i^2$.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Modify the code below to create ylist as described above. Print the values in ylist to check the result.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "ylist = list()\n", - "\n", - "# Todo: define the for loop to add elements to ylist using the values in xlist\n", - "\n", - "print(ylist)" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "ylist = list()\n", - "\n", - "# Todo: define the for loop to add elements to ylist using the values in xlist\n", - "for x in xlist:\n", - " ylist.append(x**2)\n", - "\n", - "print(ylist)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Python dictionary containers\n", - "\n", - "Another valuable data structure in Python are *dictionaries*. Dictionaries are an associative array; that is, a map from keys to values or objects. The keys can be *almost* anything, including floats, integers, and strings. The code below shows an example of creating a dictionary (here, to store the areas of some of the states).\n", - "
\n", - "Inline Exercise:\n", - "Execute the lines below to see the areas dictionary.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "areas = dict()\n", - "areas[\"South Dakota\"] = 199742\n", - "areas[\"Oklahoma\"] = 181035\n", - "print(areas)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Dictionaries can contain mixed types (i.e., it is valid to add `areas['Texas'] = 'Really big!'`) but this may lead to unpredictable behavior if the different types are unexpected in other parts of the code.\n", - "\n", - "You can loop through dictionaries in different ways. For example,\n", - "```python\n", - "d = {'A': 2, 'B': 4, 'D': 16}\n", - "for k in d.keys():\n", - " # loop through the keys in the dictionary\n", - " # access the value with d[k]\n", - " print('key=', k, 'value=', d[k])\n", - " \n", - "for v in d.values():\n", - " # loop through the values in the dictionary, ignoring the keys\n", - " print('value=', v)\n", - " \n", - "for k,v in d.items():\n", - " # loop through the entries in the dictionary, retrieving both\n", - " # the key and the value\n", - " print('key=', k, 'value=', v)\n", - "```\n", - "\n", - "
\n", - "Inline Exercise:\n", - "The areas listed above for the two states are in square kilometers. Modify the loop below to create a new dictionary that contains the areas in square miles. Print the new dictionary to verify the correct behavior. Note that 1 kilometer is equal to 0.62137 miles.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "areas_mi = dict()\n", - "for state_name, area in areas.items():\n", - " # Todo: convert the area to sq. mi and assign to the areas_mi dict.\n", - "\n", - "print(areas_mi)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "areas_mi = dict()\n", - "for state_name, area in areas.items():\n", - " # Todo: convert the area to sq. mi and assign to the areas_mi dict.\n", - " areas_mi[state_name] = area * (0.62137**2)\n", - "print(areas_mi)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Matplotlib for generating figures\n", - "\n", - "We will now briefly explore the use of the `matplotlib` package to generate figures. Before we do this, we will introduce some other helpful tools.\n", - "\n", - "Another effective way to create a list of evenly spaced numbers (e.g., for plotting or other computation) is to use the `linspace` function from the `numpy` package (more information [here](https://numpy.org/devdocs/)). Let's import the `numpy` package and use linspace function to create a list of 15 evenly spaced intervals (that is, 16 points) from 0 to 50 and store this in `xlist`. We will also create the `ylist` that corresponds to the square of the values in `xlist`. Note, we must first import the `numpy` package.\n", - "
\n", - "Inline Exercise:\n", - "Execute the next two cells to see the output.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "xlist = list(np.linspace(0, 50, 16))\n", - "ylist = [x**2 for x in xlist]\n", - "print(xlist)\n", - "print(ylist)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This printed output is not a very effective way to communicate these results. Let's use matplotlib to create a figure of x versus y. A full treatment of the `matplotlib` package is beyond the scope of this tutorial, and further documentation can be found [here](https://matplotlib.org/). For now, we will import the plotting capability and show how to generate a straightforward figure. You can consult the documentation for matplotlib for further details.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Execute the next two cells to see the output.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib.pyplot as plt" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "plt.plot(xlist, ylist)\n", - "plt.title(\"Embedded x vs y figure\")\n", - "plt.xlabel(\"x\")\n", - "plt.ylabel(\"y\")\n", - "plt.legend([\"data\"])\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we will use what you have learned so far to create a plot of `sin(x)` for `x` from 0 to $2 \\pi$ with 100 points. Note, you can get the `sin` function and the value for $\\pi$ from the `math` package.\n", - "
\n", - "Inline Exercise:\n", - "Execute the import statement in the next cell, and then complete the missing code in the following cell to create the figure discussed above.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "import math" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "x = list(np.linspace(0, 2 * math.pi, 100))\n", - "\n", - "# Todo: create the list for y\n", - "\n", - "for xv in x:\n", - " y.append(math.sin(xv))\n", - "\n", - "# Todo: Generate the figure" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "x = list(np.linspace(0, 2 * math.pi, 100))\n", - "\n", - "# Todo: create the list for y\n", - "y = []\n", - "for xv in x:\n", - " y.append(math.sin(xv))\n", - "\n", - "# Todo: Generate the figure\n", - "plt.plot(x, y)\n", - "plt.title(\"Trig: sin function\")\n", - "plt.xlabel(\"x in radians\")\n", - "plt.ylabel(\"sin(x)\")\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Further Information\n", - "\n", - "Further information of the packages mentioned above can be found using the following links:\n", - "\n", - "* [numpy](https://numpy.org/devdocs/)\n", - "* [matplotlib](https://matplotlib.org/)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Introduction to Pyomo\n", - "\n", - "[Pyomo](https://www.pyomo.org) is an object-oriented, python-based package for equation-oriented (or *algebraic*) modeling and optimization, and the IDAES framework is built upon the Pyomo package. IDAES extends the Pyomo package and defines a class hierarchy for flowsheet based modeling, including definition of property packages, unit models, and flowsheets.\n", - "\n", - "The use of IDAES does not require extensive knowledge about Pyomo, however, it can be beneficial to have some familiarity with the Pyomo package for certain tasks:\n", - "* IDAES models are open, and you can interrogating the underlying Pyomo model to view the variables, constraints, and objective functions defined in the model.\n", - "* You can use Pyomo components to define your objective function or to create additional constraints.\n", - "* Since IDAES models **are** Pyomo models, any advanced meta-algorithms or analysis tools that can be developed and/or used on a Pyomo model can also be used on an IDAES model.\n", - "\n", - "A full tutorial on Pyomo is beyond the scope of this workshop, however in this section we will briefly cover the commands required to specify an objective function or add a constraint to an existing model.\n", - "\n", - "In the next cell, we will create a Pyomo model, and add a couple of variables to that model. When using IDAES, you will define a flowsheet and the addition of variables and model equations will be handled by the IDAES framework.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Execute the following cell to create a Pyomo model with some variables that will be used later.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.environ import ConcreteModel, Var\n", - "\n", - "model = ConcreteModel()\n", - "model.x = Var()\n", - "model.y = Var()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The Pyomo syntax to define a scalar objective function is shown below. This defines the objective function as $x^2$. By default Pyomo models (and IDAES models) seek to *minimize* the objective function.\n", - "```python\n", - "model.obj = Objective(expr=model.x**2)\n", - "```\n", - "To maximize a quantity, include the keyword argument `sense=maximize` as in the following:\n", - "```python\n", - "model.obj = Objective(expr=model.y, sense=maximize)\n", - "```\n", - "Note that `Objective` and `maximize` would need to be imported from `pyomo.environ`.\n", - "\n", - "The Pyomo syntax to define a scalar constraint is shown below. This code defines the equality constraint $x^2 + y^2 = 1$.\n", - "```python\n", - "model.on_unit_circle_con = Constraint(expr=model.x**2 + model.y**2 == 1)\n", - "```\n", - "Pyomo also supports inequalities. For example, the code for the inequality constraint $x^2 + y^2 \\le 1$ is given as the following.\n", - "```python\n", - "model.inside_unit_circle_con = Constraint(expr=model.x**2 + model.y**2 <= 1)\n", - "```\n", - "Note that, as before, we would need to include the appropriate imports. In this case `Constraint` would need to be imported from `pyomo.environ`.\n", - "\n", - "Using the syntax shown above, we will now add the objective function: $\\min x^2 + y^2$ and the constraint $x + y = 1$.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Complete the missing code in the cell below. If this is done correctly, after executing the cell, you should see the log output from the solver and the printed solution should show that x, y, and the objective value are all equal to 0.5.\n", - "
\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "exercise" - ] - }, - "outputs": [], - "source": [ - "from pyomo.environ import Objective, Constraint, value, SolverFactory\n", - "\n", - "# Todo: add the objective function here\n", - "\n", - "\n", - "# Todo: add the constraint here\n", - "\n", - "\n", - "# now solve the problem\n", - "status = SolverFactory(\"ipopt\").solve(model, tee=True) # tee=True shows the solver log\n", - "\n", - "# print the values of x, y, and the objective function at the solution\n", - "# Note that the results are automatically stored in the model variables\n", - "print(\"x =\", value(model.x))\n", - "print(\"y =\", value(model.y))\n", - "print(\"obj =\", value(model.obj))" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "tags": [ - "solution" - ] - }, - "outputs": [], - "source": [ - "from pyomo.environ import Objective, Constraint, value, SolverFactory\n", - "\n", - "# Todo: add the objective function here\n", - "model.obj = Objective(expr=model.x**2 + model.y**2)\n", - "\n", - "# Todo: add the constraint here\n", - "model.con = Constraint(expr=model.x + model.y == 1)\n", - "\n", - "# now solve the problem\n", - "status = SolverFactory(\"ipopt\").solve(model, tee=True) # tee=True shows the solver log\n", - "\n", - "# print the values of x, y, and the objective function at the solution\n", - "# Note that the results are automatically stored in the model variables\n", - "print(\"x =\", value(model.x))\n", - "print(\"y =\", value(model.y))\n", - "print(\"obj =\", value(model.obj))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Notice that the code above also imported the `value` function. This is a Pyomo function that should be used to retrieve the value of variables in Pyomo (or IDAES) models. Note that you can display the complete list of all variables, objectives, and constraints (with their expressions) using `model.pprint()`. The `display` method is similar to the `pprint` method except that is shows the *values* of the constraints and objectives instead of the underlying expressions. The `pprint` and `display` methods can also be used on individual components.\n", - "\n", - "
\n", - "Inline Exercise:\n", - "Execute the lines of code below to see the output from pprint and display for a Pyomo model.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [], - "source": [ - "# Check the solution\n", - "\n", - "assert value(model.obj) == 0.5\n", - "assert value(model.x) == 0.5\n", - "assert value(model.y) == 0.5" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [], - "source": [ - "print(\"*** Output from model.pprint():\")\n", - "model.pprint()\n", - "\n", - "print()\n", - "print(\"*** Output from model.display():\")\n", - "model.display()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.11" - } - }, - "nbformat": 4, - "nbformat_minor": 2 + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction to IDAES (short)\n", + "Author: Jaffer Ghouse, Andrew Lee \n", + "Maintainer: Andrew Lee \n", + "Updated: 2023-06-01 \n", + "\n", + "The fundamentals of working with the IDAES process modeling toolset, and how these tools can be applied for optimization applications.\n", + "\n", + "This material was originally presented in an IDAES workshop." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "run \"notebook_test_script.py\"" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes_examples.mod.notebook_checks import run_checks\n", + "\n", + "assert run_checks() == 4" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Welcome and thank you for taking the time to attend today's workshop. Today we will introduce you to the fundamentals of working with the IDAES process modeling toolset, and we will demonstrate how these tools can be applied for optimization applications.\n", + "\n", + "Today's workshop will be conducted using Jupyter Notebooks which provide an online, interactive Python environment for you to use (without the need for installing anything).\n", + "\n", + "Before we get started on some actual examples, let's make sure that everything is working correctly. The cell below contains a command to run a simple test script that will test that everything we will need for today is working properly.\n", + "\n", + "You can execute a cell by pressing `Shift+Enter`." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If everything worked properly, you should see a message saying `All good!` and a summary of all the checks that were run. If you don't see this, please contact someone for assistance." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Outline of Workshop\n", + "\n", + "Today's workshop is divided into four modules which will take you through the steps of setting up a flowsheet within the IDAES framework.\n", + "\n", + "Welcome Module (this one):\n", + "\n", + "* Introduction to Jupyter notebooks and Python\n", + "* Introduction to Pyomo\n", + "\n", + "Module 1 will cover:\n", + "\n", + "* how to import models from the core IDAES model library,\n", + "* how to create a model for a single unit operation,\n", + "* how to define feed and operating conditions,\n", + "* how to initialize and solve a single unit model,\n", + "* some ways we can manipulate the model and examine the results.\n", + "\n", + "Module 2 will demonstrate:\n", + "\n", + "* how to combine unit models together to form flowsheets,\n", + "* tools to initialize and solve flowsheets with recycle loops,\n", + "* how to optimize process operating conditions to meet product specifications.\n", + "\n", + "Module 3 will demonstrate:\n", + "\n", + "* how to build new unit models using the IDAES tools,\n", + "* how to include new unit models into flowsheets.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Introduction to Jupyter Notebooks and Python\n", + "\n", + "In this short notebook, we will briefly describe the uses of Jupyter notebooks like this one, and provide you with the necessary background in Python for this workshop. We will cover `if` statements, looping, array-like containers called lists and dictionaries, as well as the use of some external packages for working with data. \n", + "\n", + "There are many additional tutorials online to learn more about the Python syntax. One recommended by the IDAES team is https://www.coursera.org/learn/python." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In Python, variables do not need to be declared before they are used. You can simply define a new variable using `x = 5`.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "In the cell below, assign a value of 5 to the variable x. Don't forget to type Shift+Enter to execute the line.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Assign a value of 5 to the variable x" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Assign a value of 5 to the variable x\n", + "x = 5" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can easily see the value of a variable using the built-in `print` function. For example, to print the value of `x` use `print(x)`.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Write the code to print the value of x. Don't forget to hit Shift+Enter to execute the cell.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: print the value of x" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: print the value of x\n", + "print(x)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "Inline Exercise:\n", + "Now change the value of the x variable to 8 and execute the cell.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: Assign a value of 8 to the variable x" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Todo: Assign a value of 8 to the variable x\n", + "x = 8" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Jupyter notebooks and execution order\n", + "\n", + "
\n", + "Note:\n", + "When using Jupyter notebooks, it is very important to know that the cells can be executed out of order (intentionally or not). The state of the environment (e.g., values of variables, imports, etc.) is defined by the execution order.\n", + "
\n", + "\n", + "
\n", + "Inline Exercise:\n", + "To see this concept, select the cell above that contained the print statement and execute the cell again using Shift+Enter.\n", + "
\n", + "\n", + "You should see that the value `8` is now printed. This may seem problematic if you are used to programming in environments where the state is linked to the order of the commands as *written*, not as *executed*.\n", + "\n", + "**Again, notice that the state of the environment is determined by the execution order.**\n", + "\n", + "Note also that the square brackets to the left of the cell show the order that cells were executed. If you scroll to the top, you should see that the code cells show an execution order of `[1]`, `[2]`, `[5]`, and `[4]`, indicating the actual execution order.\n", + "\n", + "There are some useful menu commands at the top of the Jupyter notebook to help with these problems and make sure you retain the execution order as expected.\n", + "\n", + "Some important commands to remember:\n", + "* You can clear the current state with the menu item `Kernel | Restart & Clear Output`\n", + "* It is often useful to clear the state using the menu command just described, and then execute all the lines **above the currently selected cell** using `Cell | Run All Above`.\n", + "* You can clear all the state and re-run the entire notebook using `Kernel | Restart & Run All`.\n", + "\n", + "To show the use of these commands, complete the following.\n", + "
\n", + "Inline Exercise:\n", + "
    \n", + "
  • Clear the current state (using Kernel | Restart & Clear Output). You should notice that the square brackets that listed the execution order are all now empty.
  • \n", + "
  • Select the cell immediately below this text\n", + "
  • Re-run all the code up to this point (Cell | Run All Above). You should now see that the square brackets indicate the expected execution order.
  • \n", + "
  • Print the value of x again using the print function. You should see the value 8 printed, while the earlier cell printing x shows the value of 5 as expected.
  • \n", + "
\n", + "
\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "print(x)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Python `if` statements\n", + "\n", + "In the code below, we show an example of an `if` statement in Python.\n", + "\n", + "```python\n", + "temp = 325\n", + "# some other code\n", + "if temp > 320:\n", + " print('temperature is too high')\n", + "elif x < 290:\n", + " print('temperature is too low')\n", + "else:\n", + " print('temperature is just right')\n", + "```\n", + "\n", + "
\n", + "Note:\n", + "You will notice that there are no braces to separate blocks in the if-else tree. In Python, indentation is used to delineate blocks of code throughout Python (e.g., if statements, for loops, functions, etc.). The indentation in the above example is not only to improve legibility of the code. It is necessary for the code to run correctly. As well, the number of spaces required to define the indentation is arbitrary, but it must be consistent throughout the code. For example, we could use 3 spaces (instead of the 4 used in the example above, but we could not use 3 for one of the blocks and 4 for another).\n", + "
\n", + "\n", + "Using the syntax above for the `if` statement, write the following code.\n", + "
\n", + "Inline Exercise:\n", + "
    \n", + "
  • set the value of the variable T_degC to 20
  • \n", + "
  • convert this from degrees Celsius to degrees Fahrenheit (use variable name T_degF)
  • \n", + "
  • write an `if` statement that prints a message if the degrees Fahrenheit are below 70
  • \n", + "
\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "T_degC = 20\n", + "# some other code\n", + "T_degF = (T_degC * 9.0 / 5.0) + 32.0\n", + "\n", + "# Todo: put the if statement here" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "T_degC = 20\n", + "# some other code\n", + "T_degF = (T_degC * 9.0 / 5.0) + 32.0\n", + "\n", + "# Todo: put the if statement here\n", + "if T_degF < 70:\n", + " print(\"The room is too cold.\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Python list containers\n", + "\n", + "Now we will illustrate the use of lists in Python. Lists are similar to vectors or arrays in other languages. A list in Python is indexed by integers from 0 up to the length of the array minus 1. The list can contain standard types (int, float, string), or other objects.\n", + "\n", + "In the next inline exercise, we will create a list that contains the values from 0 to 50 by steps of 5 using a for loop. Note that the python function `range(n)` can be used to iterate from 0 to (n-1) in a for loop. Also note that lists have an `append` method which adds an entry to the end of the list (e.g., if the list `l` currently has 5 elements, then `l.append('temp')` will add the string \"temp\" as the sixth element). Print the new list after the for loop. If this is done correctly, you should see:\n", + "`[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50]` printed after the cell.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Complete the code block below to create the desired list and print the result.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Create a list with the values 0 to 50 with steps of 5.\n", + "xlist = list()\n", + "for i in range(11):\n", + " # Todo: use the append method of list to append the correct value\n", + "\n", + "# Todo: print the value of xlist to verify the results\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "# Create a list with the values 0 to 50 with steps of 5.\n", + "xlist = list()\n", + "for i in range(11):\n", + " # Todo: use the append method of list to append the correct value\n", + " xlist.append(i * 5)\n", + "\n", + "print(xlist) # Todo: print the value of xlist to verify the results" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can easily check the length of a list using the python `len(l)` function.\n", + "
\n", + "Inline Exercise:\n", + "Print the length of `xlist`. It should be 11.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "# Todo: print the len of the list" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "print(len(xlist)) # Todo: print the len of the list" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If you have a list of values or objects, it is easy to iterate through that list in a for loop. In the next inline exercise, we will create another list, `ylist` where each of the values is equal to the corresponding value in `xlist` squared. That is, $y_i = x_i^2$.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Modify the code below to create ylist as described above. Print the values in ylist to check the result.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "ylist = list()\n", + "\n", + "# Todo: define the for loop to add elements to ylist using the values in xlist\n", + "\n", + "print(ylist)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "ylist = list()\n", + "\n", + "# Todo: define the for loop to add elements to ylist using the values in xlist\n", + "for x in xlist:\n", + " ylist.append(x**2)\n", + "\n", + "print(ylist)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Python dictionary containers\n", + "\n", + "Another valuable data structure in Python are *dictionaries*. Dictionaries are an associative array; that is, a map from keys to values or objects. The keys can be *almost* anything, including floats, integers, and strings. The code below shows an example of creating a dictionary (here, to store the areas of some of the states).\n", + "
\n", + "Inline Exercise:\n", + "Execute the lines below to see the areas dictionary.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "areas = dict()\n", + "areas[\"South Dakota\"] = 199742\n", + "areas[\"Oklahoma\"] = 181035\n", + "print(areas)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Dictionaries can contain mixed types (i.e., it is valid to add `areas['Texas'] = 'Really big!'`) but this may lead to unpredictable behavior if the different types are unexpected in other parts of the code.\n", + "\n", + "You can loop through dictionaries in different ways. For example,\n", + "```python\n", + "d = {'A': 2, 'B': 4, 'D': 16}\n", + "for k in d.keys():\n", + " # loop through the keys in the dictionary\n", + " # access the value with d[k]\n", + " print('key=', k, 'value=', d[k])\n", + " \n", + "for v in d.values():\n", + " # loop through the values in the dictionary, ignoring the keys\n", + " print('value=', v)\n", + " \n", + "for k,v in d.items():\n", + " # loop through the entries in the dictionary, retrieving both\n", + " # the key and the value\n", + " print('key=', k, 'value=', v)\n", + "```\n", + "\n", + "
\n", + "Inline Exercise:\n", + "The areas listed above for the two states are in square kilometers. Modify the loop below to create a new dictionary that contains the areas in square miles. Print the new dictionary to verify the correct behavior. Note that 1 kilometer is equal to 0.62137 miles.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "areas_mi = dict()\n", + "for state_name, area in areas.items():\n", + " # Todo: convert the area to sq. mi and assign to the areas_mi dict.\n", + "\n", + "print(areas_mi)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "areas_mi = dict()\n", + "for state_name, area in areas.items():\n", + " # Todo: convert the area to sq. mi and assign to the areas_mi dict.\n", + " areas_mi[state_name] = area * (0.62137**2)\n", + "print(areas_mi)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Matplotlib for generating figures\n", + "\n", + "We will now briefly explore the use of the `matplotlib` package to generate figures. Before we do this, we will introduce some other helpful tools.\n", + "\n", + "Another effective way to create a list of evenly spaced numbers (e.g., for plotting or other computation) is to use the `linspace` function from the `numpy` package (more information [here](https://numpy.org/devdocs/)). Let's import the `numpy` package and use linspace function to create a list of 15 evenly spaced intervals (that is, 16 points) from 0 to 50 and store this in `xlist`. We will also create the `ylist` that corresponds to the square of the values in `xlist`. Note, we must first import the `numpy` package.\n", + "
\n", + "Inline Exercise:\n", + "Execute the next two cells to see the output.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "xlist = list(np.linspace(0, 50, 16))\n", + "ylist = [x**2 for x in xlist]\n", + "print(xlist)\n", + "print(ylist)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This printed output is not a very effective way to communicate these results. Let's use matplotlib to create a figure of x versus y. A full treatment of the `matplotlib` package is beyond the scope of this tutorial, and further documentation can be found [here](https://matplotlib.org/). For now, we will import the plotting capability and show how to generate a straightforward figure. You can consult the documentation for matplotlib for further details.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Execute the next two cells to see the output.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "plt.plot(xlist, ylist)\n", + "plt.title(\"Embedded x vs y figure\")\n", + "plt.xlabel(\"x\")\n", + "plt.ylabel(\"y\")\n", + "plt.legend([\"data\"])\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we will use what you have learned so far to create a plot of `sin(x)` for `x` from 0 to $2 \\pi$ with 100 points. Note, you can get the `sin` function and the value for $\\pi$ from the `math` package.\n", + "
\n", + "Inline Exercise:\n", + "Execute the import statement in the next cell, and then complete the missing code in the following cell to create the figure discussed above.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "import math" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "x = list(np.linspace(0, 2 * math.pi, 100))\n", + "\n", + "# Todo: create the list for y\n", + "\n", + "for xv in x:\n", + " y.append(math.sin(xv))\n", + "\n", + "# Todo: Generate the figure" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "x = list(np.linspace(0, 2 * math.pi, 100))\n", + "\n", + "# Todo: create the list for y\n", + "y = []\n", + "for xv in x:\n", + " y.append(math.sin(xv))\n", + "\n", + "# Todo: Generate the figure\n", + "plt.plot(x, y)\n", + "plt.title(\"Trig: sin function\")\n", + "plt.xlabel(\"x in radians\")\n", + "plt.ylabel(\"sin(x)\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Further Information\n", + "\n", + "Further information of the packages mentioned above can be found using the following links:\n", + "\n", + "* [numpy](https://numpy.org/devdocs/)\n", + "* [matplotlib](https://matplotlib.org/)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Introduction to Pyomo\n", + "\n", + "[Pyomo](https://www.pyomo.org) is an object-oriented, python-based package for equation-oriented (or *algebraic*) modeling and optimization, and the IDAES framework is built upon the Pyomo package. IDAES extends the Pyomo package and defines a class hierarchy for flowsheet based modeling, including definition of property packages, unit models, and flowsheets.\n", + "\n", + "The use of IDAES does not require extensive knowledge about Pyomo, however, it can be beneficial to have some familiarity with the Pyomo package for certain tasks:\n", + "* IDAES models are open, and you can interrogating the underlying Pyomo model to view the variables, constraints, and objective functions defined in the model.\n", + "* You can use Pyomo components to define your objective function or to create additional constraints.\n", + "* Since IDAES models **are** Pyomo models, any advanced meta-algorithms or analysis tools that can be developed and/or used on a Pyomo model can also be used on an IDAES model.\n", + "\n", + "A full tutorial on Pyomo is beyond the scope of this workshop, however in this section we will briefly cover the commands required to specify an objective function or add a constraint to an existing model.\n", + "\n", + "In the next cell, we will create a Pyomo model, and add a couple of variables to that model. When using IDAES, you will define a flowsheet and the addition of variables and model equations will be handled by the IDAES framework.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Execute the following cell to create a Pyomo model with some variables that will be used later.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import ConcreteModel, Var\n", + "\n", + "model = ConcreteModel()\n", + "model.x = Var()\n", + "model.y = Var()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The Pyomo syntax to define a scalar objective function is shown below. This defines the objective function as $x^2$. By default Pyomo models (and IDAES models) seek to *minimize* the objective function.\n", + "```python\n", + "model.obj = Objective(expr=model.x**2)\n", + "```\n", + "To maximize a quantity, include the keyword argument `sense=maximize` as in the following:\n", + "```python\n", + "model.obj = Objective(expr=model.y, sense=maximize)\n", + "```\n", + "Note that `Objective` and `maximize` would need to be imported from `pyomo.environ`.\n", + "\n", + "The Pyomo syntax to define a scalar constraint is shown below. This code defines the equality constraint $x^2 + y^2 = 1$.\n", + "```python\n", + "model.on_unit_circle_con = Constraint(expr=model.x**2 + model.y**2 == 1)\n", + "```\n", + "Pyomo also supports inequalities. For example, the code for the inequality constraint $x^2 + y^2 \\le 1$ is given as the following.\n", + "```python\n", + "model.inside_unit_circle_con = Constraint(expr=model.x**2 + model.y**2 <= 1)\n", + "```\n", + "Note that, as before, we would need to include the appropriate imports. In this case `Constraint` would need to be imported from `pyomo.environ`.\n", + "\n", + "Using the syntax shown above, we will now add the objective function: $\\min x^2 + y^2$ and the constraint $x + y = 1$.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Complete the missing code in the cell below. If this is done correctly, after executing the cell, you should see the log output from the solver and the printed solution should show that x, y, and the objective value are all equal to 0.5.\n", + "
\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "exercise" + ] + }, + "outputs": [], + "source": [ + "from pyomo.environ import Objective, Constraint, value, SolverFactory\n", + "\n", + "# Todo: add the objective function here\n", + "\n", + "\n", + "# Todo: add the constraint here\n", + "\n", + "\n", + "# now solve the problem\n", + "status = SolverFactory(\"ipopt\").solve(model, tee=True) # tee=True shows the solver log\n", + "\n", + "# print the values of x, y, and the objective function at the solution\n", + "# Note that the results are automatically stored in the model variables\n", + "print(\"x =\", value(model.x))\n", + "print(\"y =\", value(model.y))\n", + "print(\"obj =\", value(model.obj))" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "tags": [ + "solution" + ] + }, + "outputs": [], + "source": [ + "from pyomo.environ import Objective, Constraint, value, SolverFactory\n", + "\n", + "# Todo: add the objective function here\n", + "model.obj = Objective(expr=model.x**2 + model.y**2)\n", + "\n", + "# Todo: add the constraint here\n", + "model.con = Constraint(expr=model.x + model.y == 1)\n", + "\n", + "# now solve the problem\n", + "status = SolverFactory(\"ipopt\").solve(model, tee=True) # tee=True shows the solver log\n", + "\n", + "# print the values of x, y, and the objective function at the solution\n", + "# Note that the results are automatically stored in the model variables\n", + "print(\"x =\", value(model.x))\n", + "print(\"y =\", value(model.y))\n", + "print(\"obj =\", value(model.obj))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notice that the code above also imported the `value` function. This is a Pyomo function that should be used to retrieve the value of variables in Pyomo (or IDAES) models. Note that you can display the complete list of all variables, objectives, and constraints (with their expressions) using `model.pprint()`. The `display` method is similar to the `pprint` method except that is shows the *values* of the constraints and objectives instead of the underlying expressions. The `pprint` and `display` methods can also be used on individual components.\n", + "\n", + "
\n", + "Inline Exercise:\n", + "Execute the lines of code below to see the output from pprint and display for a Pyomo model.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "# Check the solution\n", + "\n", + "assert value(model.obj) == 0.5\n", + "assert value(model.x) == 0.5\n", + "assert value(model.y) == 0.5" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"*** Output from model.pprint():\")\n", + "model.pprint()\n", + "\n", + "print()\n", + "print(\"*** Output from model.display():\")\n", + "model.display()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.11" + } + }, + "nbformat": 4, + "nbformat_minor": 2 } diff --git a/idaes_examples/notebooks/docs/tut/introduction_short_doc.ipynb b/idaes_examples/notebooks/docs/tut/introduction_short_doc.ipynb index 98b8ece2..5083447f 100644 --- a/idaes_examples/notebooks/docs/tut/introduction_short_doc.ipynb +++ b/idaes_examples/notebooks/docs/tut/introduction_short_doc.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -41,54 +42,18 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Pyomo Import Checks: Passed\n", - "IDAES Import Checks: Passed\n", - "Solver Availability Check: Passed\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Simple Model Check: Passed\n", - "All Good!\n" - ] - } - ], + "outputs": [], "source": [ "run \"notebook_test_script.py\"" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Pyomo Import Checks: Passed\n", - "IDAES Import Checks: Passed\n", - "Solver Availability Check: Passed\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Simple Model Check: Passed\n" - ] - } - ], + "outputs": [], "source": [ "from idaes_examples.mod.notebook_checks import run_checks\n", "\n", @@ -172,7 +137,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": { "tags": [ "solution" @@ -198,21 +163,13 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": { "tags": [ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "5\n" - ] - } - ], + "outputs": [], "source": [ "# Todo: print the value of x\n", "print(x)" @@ -230,7 +187,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": { "tags": [ "solution" @@ -285,17 +242,9 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "8\n" - ] - } - ], + "outputs": [], "source": [ "print(x)" ] @@ -337,21 +286,13 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": { "tags": [ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The room is too cold.\n" - ] - } - ], + "outputs": [], "source": [ "T_degC = 20\n", "# some other code\n", @@ -381,21 +322,13 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "metadata": { "tags": [ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50]\n" - ] - } - ], + "outputs": [], "source": [ "# Create a list with the values 0 to 50 with steps of 5.\n", "xlist = list()\n", @@ -419,21 +352,13 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "metadata": { "tags": [ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "11\n" - ] - } - ], + "outputs": [], "source": [ "print(len(xlist)) # Todo: print the len of the list" ] @@ -452,21 +377,13 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "metadata": { "tags": [ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[0, 25, 100, 225, 400, 625, 900, 1225, 1600, 2025, 2500]\n" - ] - } - ], + "outputs": [], "source": [ "ylist = list()\n", "\n", @@ -492,17 +409,9 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'South Dakota': 199742, 'Oklahoma': 181035}\n" - ] - } - ], + "outputs": [], "source": [ "areas = dict()\n", "areas[\"South Dakota\"] = 199742\n", @@ -542,21 +451,13 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 12, "metadata": { "tags": [ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'South Dakota': 77120.5214053598, 'Oklahoma': 69897.7360425915}\n" - ] - } - ], + "outputs": [], "source": [ "areas_mi = dict()\n", "for state_name, area in areas.items():\n", @@ -582,7 +483,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ @@ -591,18 +492,9 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 14, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[0.0, 3.3333333333333335, 6.666666666666667, 10.0, 13.333333333333334, 16.666666666666668, 20.0, 23.333333333333336, 26.666666666666668, 30.0, 33.333333333333336, 36.66666666666667, 40.0, 43.333333333333336, 46.66666666666667, 50.0]\n", - "[0.0, 11.111111111111112, 44.44444444444445, 100.0, 177.7777777777778, 277.7777777777778, 400.0, 544.4444444444446, 711.1111111111112, 900.0, 1111.1111111111113, 1344.4444444444448, 1600.0, 1877.777777777778, 2177.7777777777783, 2500.0]\n" - ] - } - ], + "outputs": [], "source": [ "xlist = list(np.linspace(0, 50, 16))\n", "ylist = [x**2 for x in xlist]\n", @@ -624,7 +516,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -633,24 +525,9 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 16, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\tut\\introduction_short_doc_33_0.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "plt.plot(xlist, ylist)\n", "plt.title(\"Embedded x vs y figure\")\n", @@ -673,7 +550,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -682,28 +559,13 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 18, "metadata": { "tags": [ "solution" ] }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\tut\\introduction_short_doc_36_0.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "x = list(np.linspace(0, 2 * math.pi, 100))\n", "\n", @@ -757,7 +619,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ @@ -802,91 +664,13 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 20, "metadata": { "tags": [ "solution" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 2\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 2\n", - "\n", - "Total number of variables............................: 2\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 0\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 1\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 1.00e+00 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 5.0000000e-01 0.00e+00 0.00e+00 -1.7 5.00e-01 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 1\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 5.0000000000000000e-01 5.0000000000000000e-01\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "\n", - "\n", - "Number of objective function evaluations = 2\n", - "Number of objective gradient evaluations = 2\n", - "Number of equality constraint evaluations = 2\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 2\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 1\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\b\b\b\b\b\b\b\b\b\b\b\b\b\b" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "x = 0.5\n", - "y = 0.5\n", - "obj = 0.5\n" - ] - } - ], + "outputs": [], "source": [ "from pyomo.environ import Objective, Constraint, value, SolverFactory\n", "\n", @@ -920,7 +704,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 21, "metadata": {}, "outputs": [], "source": [ @@ -933,57 +717,9 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 22, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "*** Output from model.pprint():\n", - "2 Var Declarations\n", - " x : Size=1, Index=None\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " None : None : 0.5 : None : False : False : Reals\n", - " y : Size=1, Index=None\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " None : None : 0.5 : None : False : False : Reals\n", - "\n", - "1 Objective Declarations\n", - " obj : Size=1, Index=None, Active=True\n", - " Key : Active : Sense : Expression\n", - " None : True : minimize : x**2 + y**2\n", - "\n", - "1 Constraint Declarations\n", - " con : Size=1, Index=None, Active=True\n", - " Key : Lower : Body : Upper : Active\n", - " None : 1.0 : x + y : 1.0 : True\n", - "\n", - "4 Declarations: x y obj con\n", - "\n", - "*** Output from model.display():\n", - "Model unknown\n", - "\n", - " Variables:\n", - " x : Size=1, Index=None\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " None : None : 0.5 : None : False : False : Reals\n", - " y : Size=1, Index=None\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " None : None : 0.5 : None : False : False : Reals\n", - "\n", - " Objectives:\n", - " obj : Size=1, Index=None, Active=True\n", - " Key : Active : Value\n", - " None : True : 0.5\n", - "\n", - " Constraints:\n", - " con : Size=1\n", - " Key : Lower : Body : Upper\n", - " None : 1.0 : 1.0 : 1.0\n" - ] - } - ], + "outputs": [], "source": [ "print(\"*** Output from model.pprint():\")\n", "model.pprint()\n", @@ -1018,7 +754,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.10.11" } }, "nbformat": 4, diff --git a/idaes_examples/notebooks/docs/tut/introduction_short_exercise.ipynb b/idaes_examples/notebooks/docs/tut/introduction_short_exercise.ipynb index ae8806cf..972f6e44 100644 --- a/idaes_examples/notebooks/docs/tut/introduction_short_exercise.ipynb +++ b/idaes_examples/notebooks/docs/tut/introduction_short_exercise.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/tut/introduction_short_solution.ipynb b/idaes_examples/notebooks/docs/tut/introduction_short_solution.ipynb index 4ee4acc7..144a5c4b 100644 --- a/idaes_examples/notebooks/docs/tut/introduction_short_solution.ipynb +++ b/idaes_examples/notebooks/docs/tut/introduction_short_solution.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/tut/introduction_short_test.ipynb b/idaes_examples/notebooks/docs/tut/introduction_short_test.ipynb index 37262790..ad5bb664 100644 --- a/idaes_examples/notebooks/docs/tut/introduction_short_test.ipynb +++ b/idaes_examples/notebooks/docs/tut/introduction_short_test.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/tut/introduction_short_usr.ipynb b/idaes_examples/notebooks/docs/tut/introduction_short_usr.ipynb index 4ee4acc7..144a5c4b 100644 --- a/idaes_examples/notebooks/docs/tut/introduction_short_usr.ipynb +++ b/idaes_examples/notebooks/docs/tut/introduction_short_usr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/tut/introduction_solution.ipynb b/idaes_examples/notebooks/docs/tut/introduction_solution.ipynb index e88a5a6a..278bd54b 100644 --- a/idaes_examples/notebooks/docs/tut/introduction_solution.ipynb +++ b/idaes_examples/notebooks/docs/tut/introduction_solution.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/tut/introduction_test.ipynb b/idaes_examples/notebooks/docs/tut/introduction_test.ipynb index 632f8150..895f5053 100644 --- a/idaes_examples/notebooks/docs/tut/introduction_test.ipynb +++ b/idaes_examples/notebooks/docs/tut/introduction_test.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/tut/introduction_usr.ipynb b/idaes_examples/notebooks/docs/tut/introduction_usr.ipynb index e88a5a6a..278bd54b 100644 --- a/idaes_examples/notebooks/docs/tut/introduction_usr.ipynb +++ b/idaes_examples/notebooks/docs/tut/introduction_usr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/tut/notebook_test_script.py b/idaes_examples/notebooks/docs/tut/notebook_test_script.py index 05585fe7..f59bf587 100644 --- a/idaes_examples/notebooks/docs/tut/notebook_test_script.py +++ b/idaes_examples/notebooks/docs/tut/notebook_test_script.py @@ -3,12 +3,13 @@ # Framework (IDAES IP) was produced under the DOE Institute for the # Design of Advanced Energy Systems (IDAES). # -# Copyright (c) 2018-2023 by the software owners: The Regents of the +# Copyright (c) 2018-2025 by the software owners: The Regents of the # University of California, through Lawrence Berkeley National Laboratory, # National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon # University, West Virginia University Research Corporation, et al. # All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md # for full copyright and license information. +# ################################################################################# """ Script to test functionality of key components for use in workshops. diff --git a/idaes_examples/notebooks/docs/tut/sin_data.csv b/idaes_examples/notebooks/docs/tut/sin_data.csv index 9a49e32e..630b25ae 100644 --- a/idaes_examples/notebooks/docs/tut/sin_data.csv +++ b/idaes_examples/notebooks/docs/tut/sin_data.csv @@ -32,13 +32,13 @@ 30,1.9039955476301778,0.9450008187146685 31,1.967462065884517,0.9223542941045814 32,2.0309285841388562,0.8959937742913359 -33,2.0943951023931957,0.8660254037844386 +33,2.0943951023931957,0.8660254037844385 34,2.1578616206475347,0.8325698546347714 35,2.221328138901874,0.795761840530832 36,2.284794657156213,0.7557495743542583 37,2.3482611754105527,0.7126941713788627 -38,2.4117276936648917,0.6667690005162916 -39,2.475194211919231,0.6181589862206052 +38,2.4117276936648917,0.6667690005162917 +39,2.475194211919231,0.6181589862206051 40,2.53866073017357,0.5670598638627709 41,2.6021272484279097,0.5136773915734063 42,2.6655937666822487,0.4582265217274105 @@ -85,7 +85,7 @@ 83,5.267721015110158,-0.8497254299495144 84,5.331187533364497,-0.8145759520503358 85,5.394654051618837,-0.7761464642917566 -86,5.458120569873176,-0.7345917086575331 +86,5.458120569873176,-0.7345917086575332 87,5.521587088127515,-0.690079011482112 88,5.585053606381854,-0.6427876096865396 89,5.648520124636194,-0.5929079290546402 diff --git a/idaes_examples/notebooks/docs/tut/ui/visualizer_tutorial.ipynb b/idaes_examples/notebooks/docs/tut/ui/visualizer_tutorial.ipynb index 78c7ac2d..07cd8161 100644 --- a/idaes_examples/notebooks/docs/tut/ui/visualizer_tutorial.ipynb +++ b/idaes_examples/notebooks/docs/tut/ui/visualizer_tutorial.ipynb @@ -1,498 +1,499 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "18d74e8e", - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "id": "e0e52d92", - "metadata": {}, - "source": [ - "# Flowsheet Visualizer Tutorial\n", - "\n", - "Author: Dan Gunter \n", - "Maintainer: Dan Gunter \n", - "Updated: 2023-06-01 \n", - "\n", - "The IDAES Flowsheet Visualizer provides a web-based UI for visualization and inspection of an existing IDAES model.\n", - "## Outline\n", - "\n", - "- Introduction\n", - "- Example flowsheet\n", - "- Running the Flowsheet Visualizer\n", - "- Running from a script\n", - "- Further reading" - ] - }, - { - "cell_type": "markdown", - "id": "84316245", - "metadata": {}, - "source": [ - "## Introduction\n", - "The IDAES Flowsheet Visualizer (FV) is a Python tool that provides a web-based visualization of any existing IDAES model or flowsheet. The visualization shows a diagram of the\n", - "flowsheet as well as a stream table. You can interact with the diagram and export\n", - "it as an image for inclusion in presentations or publications.\n", - "\n", - "This tutorial will show the basic steps of running the FV on an example\n", - "flowsheet, interacting with the resulting GUI, saving your work, and exporting\n", - "the diagram as an image. It will also show how the Visualizer can be updated\n", - "to reflect changes in the model components and/or variable values. The tutorial\n", - "will also show how to run the Visualizer from a Python script." - ] - }, - { - "cell_type": "markdown", - "id": "be083d68", - "metadata": {}, - "source": [ - "## Example flowsheet\n", - "This initial section creates an example flowsheet.\n", - "\n", - "### Setup\n", - "Module imports and any additional housekeeping needed\n", - "to initialize the code." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "c740809a", - "metadata": {}, - "outputs": [], - "source": [ - "import idaes_examples.mod.tut.visualizer_tutorial as vistut\n", - "\n", - "vistut.quiet() # turn off default logging and most warnings\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from IPython.display import Markdown" - ] - }, - { - "cell_type": "markdown", - "id": "52ee0d6c", - "metadata": {}, - "source": [ - "### Create the flowsheet" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "414d3072", - "metadata": {}, - "outputs": [], - "source": [ - "# use the pre-defined function to create the flowsheet\n", - "model = vistut.create_model()\n", - "\n", - "# description of the flowsheet we created\n", - "display(Markdown(vistut.function_markdown(vistut.create_model)))\n", - "\n", - "vistut.quiet()\n", - "\n", - "# initialize the flowsheet as a square problem (dof=0)\n", - "vistut.initialize_model(model)\n", - "\n", - "# verify that there are zero degrees of freedom\n", - "print(f\"DOF = {degrees_of_freedom(model)}\")" - ] - }, - { - "cell_type": "markdown", - "id": "8e88c1e9", - "metadata": {}, - "source": [ - "## Running the Flowsheet Visualizer\n", - "In most cases, you will run the FV by calling the `visualize()` method attached to your flowsheet.\n", - "This function takes a number of optional arguments, which we will look at briefly later, and one required argument:\n", - "the **title** to give the visualization. Unless you give more information, this title also is used as the filename in which to save its current state.\n", - "\n", - "In the following, we start the FV with the title \"Hydrodealkylation\". This will pop up a new browser tab (and save the status in a file called _Hydrodealkylation.json_).\n", - "\n", - "
\n", - "After the visualizer starts, we recommend making its tab into its own browser window and viewing it side-by-side with this notebook window.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "f05ab3ef", - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "import os\n", - "\n", - "if os.path.exists(\"Hydrodealkylation.json\"):\n", - " os.remove(\"Hydrodealkylation.json\")" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "91758e92", - "metadata": { - "tags": [ - "noauto" - ] - }, - "outputs": [], - "source": [ - "model.fs.visualize(\"Hydrodealkylation\")" - ] - }, - { - "cell_type": "markdown", - "id": "1174e60c", - "metadata": {}, - "source": [ - "### Optional arguments\n", - "The optional (keyword) arguments are documented in the base function, which can be found in `idaes.core.ui.fsvis.visualize`:\n", - "\n", - " * name: Name of flowsheet to display as the title of the visualization\n", - " * load_from_saved: If True load from saved file if any. Otherwise create\n", - " a new file or overwrite it (depending on 'overwrite' flag).\n", - " * save: Where to save the current flowsheet layout and values. If this argument is not specified,\n", - " \"``name``.json\" will be used (if this file already exists, a \"-``\" number will be added\n", - " between the name and the extension). If the value given is the boolean 'False', then nothing\n", - " will be saved. The boolean 'True' value is treated the same as unspecified.\n", - " * save_dir: If this argument is given, and ``save`` is not given or a relative path, then it will\n", - " be used as the directory to save the default or given file. The current working directory is\n", - " the default. If ``save`` is given and an absolute path, this argument is ignored.\n", - " * save_time_interval: The time interval that the UI application checks if any changes has occurred\n", - " in the graph for it to save the model. Default is 5 seconds\n", - " * overwrite: If True, and the file given by ``save`` exists, overwrite instead of creating a new\n", - " numbered file.\n", - " * browser: If true, open a browser\n", - " * port: Start listening on this port. If not given, find an open port.\n", - " * log_level: An IDAES logging level, which is a superset of the built-in `logging` module levels.\n", - " See the `idaes.logger` module for details\n", - " * quiet: If True, suppress printing any messages to standard output (console)\n", - " * loop_forever: If True, don't return but instead loop until a Control-C is received. Useful when\n", - " invoking this function at the end of a script." - ] - }, - { - "cell_type": "markdown", - "id": "bd82cda1", - "metadata": {}, - "source": [ - "## Interacting with the visualizer\n", - "The first things you need to learn about the FV are how to manipulate the overall layout and control the view.\n", - "The UI should initially look something like the screenshot below:\n", - "![](\"fv1.png\") alt=\"Screenshot of Flowsheet Visualizer\"> \n", - "\n", - "
\n", - " As you can see, the FV has two main panels. We will call the top panel the diagram and the bottom panel the stream table.\n", - "
" - ] - }, - { - "cell_type": "markdown", - "id": "9f186a8a", - "metadata": {}, - "source": [ - "### View controls\n", - "Before looking at the two panels in detail, it helps to know some basic controls for making them easier to view.\n", - "\n", - "| Control | Description | Illustration |\n", - "|:----|:---------------------|:----:|\n", - "| Panel height | Change the height of the panels by grabbing the small handle in the lower right corner with your mouse. | ![](fv2.png) |\n", - "| Diagram size | Zoom in/out on the diagram with the magnifying glass \"+\" and \"-\" buttons in the upper-right corner of the top panel. The button labeled with two crossing arrows fits the diagram into the current panel height and width. | ![](fv3.png) |" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "59a33cbd", - "metadata": {}, - "source": [ - "### Rearranging the diagram\n", - "The diagram shown in the top panel is interactive. You can move the units shown there into different positions. Whatever arrangement you end up with will be saved for next time. The arcs (i.e., lines representing streams) connecting the units will automatically re-route themselves as you move them. Below is a summary of the different actions you can take when rearranging the diagram.\n", - "\n", - "|   |   |\n", - "|:--:|:--:|\n", - "| ![](fvr1.png)   |   ![](fvr2.png) |\n", - "| ![](fvr3.png)   |   ![](fvr4.png) |\n" - ] - }, - { - "cell_type": "markdown", - "id": "8ab50bbc", - "metadata": {}, - "source": [ - "### Stream table\n", - "The stream table panel shows the values of variables on all the streams between units, and also from units to outlets.\n", - "\n", - "### Stream table \"brushing\"\n", - "Brushing refers to the ability to have actions in one visual area influence the display in another. It is commonly used in statistics to show how points in one scatterplot correspond to their points in another, for the same samples. Here, we use it to link the position of a stream in the diagram with its variable values in the stream table.\n", - "#### Controls\n", - "\n", - "* Moving the mouse over an **arc** in the diagram → highlights the corresponding **column** in the stream table\n", - "* Moving the mouse over a **column** in the stream table → highlights the corresponding **arc** in the diagram\n", - "\n", - "![Illustration of stream table brushing](fvb1.png)\n", - " \n", - "#### Example\n", - "Stream table brushing is useful for answering questions like:\n", - "> How much benzene are we losing in the F101 vapor outlet stream?\n", - "\n", - "To answer this question, we will use some interactive elements of the stream table.\n", - "\n", - "1. Find the inlet of F101 on the diagram. Mouse over this to see the values for that stream highlighted in the stream table below. This is stream `s05`. Look across at the row for Benzene vapor (`flow_mol_phase_comp('Vap', 'benzene')`) and see that the value is $0.35384$\n", - "2. Find the vapor outlet of F101 by looking for the arc connecting to the splitter and compressor feedback loop. This is stream `s06`. Then look at the same row for the Benzene vapor mol fraction and see that the value is $0.14916$\n", - "3. Thus the amount of benzene lost is (in mole fractions) about $0.2$\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "id": "297779ac", - "metadata": {}, - "source": [ - "### Showing and hiding streams\n", - "For complex diagrams, there are a lot of streams and the stream table does not fit in the window. To avoid having to scroll back and forth, there is the ability to \"hide\" selected streams in the stream table. \n", - "\n", - "* Click on the \"Hide Fields\" menu and select which fields to hide\n", - "* The mark will toggle between a check (shown) and open circle (hidden)\n", - "\n", - "For example, we can hide all the streams except the feeds and the flash inlets and outlets.\n", - "\n", - "![Illustration of stream table field hiding](fvst1.png)\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "id": "3b0f16ea", - "metadata": {}, - "source": [ - "### Saving and loading\n", - "The current layout and status can be saved to a file, and this file can then be loaded when the model is viewed again. The main benefit is that interactive layout of the diagram is saved for re-use.\n", - "\n", - "#### File name\n", - "This file is named, by default, for the title of the visualizer (e.g., \"Hydrodealkylation\") with a \".json\" extension to indicate the data format and saved in the same directory as the Jupyter notebook. \n", - "\n", - "You can select a different filename and location when you start the visualization, e.g.\n", - "\n", - " model.fs.visualize(\"The Title\", save=\"thefilename.json\", save_dir=\"/path/to/save/the/file\")\n", - "\n", - "#### Reloading\n", - "To reload the saved layout, simply choose the same title (since the filename, by default, matches the title) or explicitly use the `save` and `save_dir` keywords for the `visualize()` function to select a previously saved file. This means you only need to manually lay out the diagram once. Of course, if you add new pieces to the flowsheet you will need to position them correctly (as discussed below)." - ] - }, - { - "cell_type": "markdown", - "id": "db0e5eaf", - "metadata": {}, - "source": [ - "### Exporting\n", - "\n", - "#### Exporting the diagram as an image\n", - "You can export an image of the flowsheet diagram in the [Scalable Vector Graphics (SVG)](https://www.w3.org/Graphics/SVG/) format, which can render without fuzziness at arbitrary sizes. Almost all presentation and drawing programs, including MS Word and Powerpoint, can use SVG images.\n", - "\n", - "From the top menu select _Export -> Flowsheet_. You will get a preview of the flowsheet that you can then download to a file.\n", - "#### Exporting the stream table as CSV\n", - "You can export the stream table as comma-separated values. From the top menu select _Export -> Stream Table_." - ] - }, - { - "cell_type": "markdown", - "id": "68477e99", - "metadata": {}, - "source": [ - "### Updating when the flowsheet changes\n", - "The FV has a connection to the Python program that has the flowsheet (model) in memory. Therefore, when the underlying flowsheet changes, the visualization can be quickly updated to show the new state. This feature is particularly useful for interactive flowsheet creation and debugging in Jupyter Notebooks.\n", - "\n", - "To illustrate the feature, below is some IDAES modeling code that adds another Flash unit to the model, connecting the liquid outlet of the first flash unit to its inlet. There is a little more code that updates some of the output values of the model and sets initial values for this new unit, and then re-initializes the model.\n", - "\n", - "**After this code executes, the model will have a unit called \"F102\" connected to \"F101\".**" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "8d7976f9", - "metadata": {}, - "outputs": [], - "source": [ - "# Add a second flash unit\n", - "from idaes.models.unit_models import Flash\n", - "from pyomo.network import Arc\n", - "from pyomo.environ import Expression, TransformationFactory\n", - "\n", - "m = model # alias\n", - "m.fs.F102 = Flash(\n", - " property_package=m.fs.thermo_params,\n", - " has_heat_transfer=True,\n", - " has_pressure_change=True,\n", - ")\n", - "# connect to 1st flash unit\n", - "m.fs.s10 = Arc(source=m.fs.F101.liq_outlet, destination=m.fs.F102.inlet)\n", - "# update expressions for purity and cost\n", - "m.fs.purity = Expression(\n", - " expr=m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", - " / (\n", - " m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", - " + m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", - " )\n", - ")\n", - "m.fs.heating_cost = Expression(\n", - " expr=2.2e-7 * m.fs.H101.heat_duty[0] + 1.9e-7 * m.fs.F102.heat_duty[0]\n", - ")\n", - "# fix unit output and pressure drop\n", - "m.fs.F102.vap_outlet.temperature.fix(375)\n", - "m.fs.F102.deltaP.fix(-200000)\n", - "\n", - "# expand arcs\n", - "TransformationFactory(\"network.expand_arcs\").apply_to(m)\n", - "# re-initialize\n", - "_ = vistut.initialize_model(m)" - ] - }, - { - "cell_type": "markdown", - "id": "5726059b", - "metadata": {}, - "source": [ - "
Since the FV is connected to the current state of the model in memory, simply hitting \"Refresh\" in the FV window will show the new flash unit in the diagram, and the new stream (liquid) in the stream table. We can then interactively rearrange the unit to be in the position we want in the diagram.
" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "42245268", - "metadata": {}, - "outputs": [], - "source": [ - "# v model.fs.visualize(\"Hydrodealkylation-new\")" - ] - }, - { - "cell_type": "markdown", - "id": "e75bfc03", - "metadata": {}, - "source": [ - "### Showing new values\n", - "The previous step showed how a new unit in the flowsheet will be automatically added to the diagram. Similarly, if the values in the flowsheet change these will be reflected in the stream table. Below, we solve the initialized flowsheet.\n", - "To make comparison a little easier, we will open a second UI window with the new values (the old values will not be updated unless we decide to hit the \"Refresh\" button)." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "81633474", - "metadata": { - "tags": [ - "noauto" - ] - }, - "outputs": [], - "source": [ - "# Create the solver object\n", - "from pyomo.environ import SolverFactory\n", - "\n", - "solver = SolverFactory(\"ipopt\")\n", - "solver.options = {\"tol\": 1e-6, \"max_iter\": 5000}\n", - "\n", - "# Solve the model\n", - "results = solver.solve(model, tee=False)\n", - "\n", - "# Open a second window\n", - "model.fs.visualize(\"HDA_solved\")" - ] - }, - { - "cell_type": "markdown", - "id": "350e8705", - "metadata": {}, - "source": [ - "When we look at the stream table, we can see the values in the stream between the first and second flash unit changing.\n" - ] - }, - { - "cell_type": "markdown", - "id": "ec68d7ef", - "metadata": {}, - "source": [ - "## Running from a script\n", - "Finally, although all examples have been shown in a Jupyter Notebook, there is nothing preventing the use of the FV from within a plain Python script (or module).\n", - "\n", - "For example, the code to run this same tutorial as a Python script is also in a module.\n", - "If you have installed the IDAES examples, then you can do the following to import and run the module:\n", - "```\n", - "from idaes_examples.mod.tut import visualizer_tutorial\n", - "visualizer_tutorial.main()\n", - "```\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "id": "beef5b6f", - "metadata": {}, - "source": [ - "# Further reading\n", - "\n", - "Reference documentation for the FV is available in the IDAES main documentation, online at https://idaes-pse.readthedocs.io/" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "930eb620", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.9" - } + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "18d74e8e", + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] }, - "nbformat": 4, - "nbformat_minor": 5 + { + "cell_type": "markdown", + "id": "e0e52d92", + "metadata": {}, + "source": [ + "# Flowsheet Visualizer Tutorial\n", + "\n", + "Author: Dan Gunter \n", + "Maintainer: Dan Gunter \n", + "Updated: 2023-06-01 \n", + "\n", + "The IDAES Flowsheet Visualizer provides a web-based UI for visualization and inspection of an existing IDAES model.\n", + "## Outline\n", + "\n", + "- Introduction\n", + "- Example flowsheet\n", + "- Running the Flowsheet Visualizer\n", + "- Running from a script\n", + "- Further reading" + ] + }, + { + "cell_type": "markdown", + "id": "84316245", + "metadata": {}, + "source": [ + "## Introduction\n", + "The IDAES Flowsheet Visualizer (FV) is a Python tool that provides a web-based visualization of any existing IDAES model or flowsheet. The visualization shows a diagram of the\n", + "flowsheet as well as a stream table. You can interact with the diagram and export\n", + "it as an image for inclusion in presentations or publications.\n", + "\n", + "This tutorial will show the basic steps of running the FV on an example\n", + "flowsheet, interacting with the resulting GUI, saving your work, and exporting\n", + "the diagram as an image. It will also show how the Visualizer can be updated\n", + "to reflect changes in the model components and/or variable values. The tutorial\n", + "will also show how to run the Visualizer from a Python script." + ] + }, + { + "cell_type": "markdown", + "id": "be083d68", + "metadata": {}, + "source": [ + "## Example flowsheet\n", + "This initial section creates an example flowsheet.\n", + "\n", + "### Setup\n", + "Module imports and any additional housekeeping needed\n", + "to initialize the code." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "c740809a", + "metadata": {}, + "outputs": [], + "source": [ + "import idaes_examples.mod.tut.visualizer_tutorial as vistut\n", + "\n", + "vistut.quiet() # turn off default logging and most warnings\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from IPython.display import Markdown" + ] + }, + { + "cell_type": "markdown", + "id": "52ee0d6c", + "metadata": {}, + "source": [ + "### Create the flowsheet" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "414d3072", + "metadata": {}, + "outputs": [], + "source": [ + "# use the pre-defined function to create the flowsheet\n", + "model = vistut.create_model()\n", + "\n", + "# description of the flowsheet we created\n", + "display(Markdown(vistut.function_markdown(vistut.create_model)))\n", + "\n", + "vistut.quiet()\n", + "\n", + "# initialize the flowsheet as a square problem (dof=0)\n", + "vistut.initialize_model(model)\n", + "\n", + "# verify that there are zero degrees of freedom\n", + "print(f\"DOF = {degrees_of_freedom(model)}\")" + ] + }, + { + "cell_type": "markdown", + "id": "8e88c1e9", + "metadata": {}, + "source": [ + "## Running the Flowsheet Visualizer\n", + "In most cases, you will run the FV by calling the `visualize()` method attached to your flowsheet.\n", + "This function takes a number of optional arguments, which we will look at briefly later, and one required argument:\n", + "the **title** to give the visualization. Unless you give more information, this title also is used as the filename in which to save its current state.\n", + "\n", + "In the following, we start the FV with the title \"Hydrodealkylation\". This will pop up a new browser tab (and save the status in a file called _Hydrodealkylation.json_).\n", + "\n", + "
\n", + "After the visualizer starts, we recommend making its tab into its own browser window and viewing it side-by-side with this notebook window.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "f05ab3ef", + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "import os\n", + "\n", + "if os.path.exists(\"Hydrodealkylation.json\"):\n", + " os.remove(\"Hydrodealkylation.json\")" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "91758e92", + "metadata": { + "tags": [ + "noauto" + ] + }, + "outputs": [], + "source": [ + "model.fs.visualize(\"Hydrodealkylation\")" + ] + }, + { + "cell_type": "markdown", + "id": "1174e60c", + "metadata": {}, + "source": [ + "### Optional arguments\n", + "The optional (keyword) arguments are documented in the base function, which can be found in `idaes.core.ui.fsvis.visualize`:\n", + "\n", + " * name: Name of flowsheet to display as the title of the visualization\n", + " * load_from_saved: If True load from saved file if any. Otherwise create\n", + " a new file or overwrite it (depending on 'overwrite' flag).\n", + " * save: Where to save the current flowsheet layout and values. If this argument is not specified,\n", + " \"``name``.json\" will be used (if this file already exists, a \"-``\" number will be added\n", + " between the name and the extension). If the value given is the boolean 'False', then nothing\n", + " will be saved. The boolean 'True' value is treated the same as unspecified.\n", + " * save_dir: If this argument is given, and ``save`` is not given or a relative path, then it will\n", + " be used as the directory to save the default or given file. The current working directory is\n", + " the default. If ``save`` is given and an absolute path, this argument is ignored.\n", + " * save_time_interval: The time interval that the UI application checks if any changes has occurred\n", + " in the graph for it to save the model. Default is 5 seconds\n", + " * overwrite: If True, and the file given by ``save`` exists, overwrite instead of creating a new\n", + " numbered file.\n", + " * browser: If true, open a browser\n", + " * port: Start listening on this port. If not given, find an open port.\n", + " * log_level: An IDAES logging level, which is a superset of the built-in `logging` module levels.\n", + " See the `idaes.logger` module for details\n", + " * quiet: If True, suppress printing any messages to standard output (console)\n", + " * loop_forever: If True, don't return but instead loop until a Control-C is received. Useful when\n", + " invoking this function at the end of a script." + ] + }, + { + "cell_type": "markdown", + "id": "bd82cda1", + "metadata": {}, + "source": [ + "## Interacting with the visualizer\n", + "The first things you need to learn about the FV are how to manipulate the overall layout and control the view.\n", + "The UI should initially look something like the screenshot below:\n", + "![](\"fv1.png\") alt=\"Screenshot of Flowsheet Visualizer\"> \n", + "\n", + "
\n", + " As you can see, the FV has two main panels. We will call the top panel the diagram and the bottom panel the stream table.\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "9f186a8a", + "metadata": {}, + "source": [ + "### View controls\n", + "Before looking at the two panels in detail, it helps to know some basic controls for making them easier to view.\n", + "\n", + "| Control | Description | Illustration |\n", + "|:----|:---------------------|:----:|\n", + "| Panel height | Change the height of the panels by grabbing the small handle in the lower right corner with your mouse. | ![](fv2.png) |\n", + "| Diagram size | Zoom in/out on the diagram with the magnifying glass \"+\" and \"-\" buttons in the upper-right corner of the top panel. The button labeled with two crossing arrows fits the diagram into the current panel height and width. | ![](fv3.png) |" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "59a33cbd", + "metadata": {}, + "source": [ + "### Rearranging the diagram\n", + "The diagram shown in the top panel is interactive. You can move the units shown there into different positions. Whatever arrangement you end up with will be saved for next time. The arcs (i.e., lines representing streams) connecting the units will automatically re-route themselves as you move them. Below is a summary of the different actions you can take when rearranging the diagram.\n", + "\n", + "|   |   |\n", + "|:--:|:--:|\n", + "| ![](fvr1.png)   |   ![](fvr2.png) |\n", + "| ![](fvr3.png)   |   ![](fvr4.png) |\n" + ] + }, + { + "cell_type": "markdown", + "id": "8ab50bbc", + "metadata": {}, + "source": [ + "### Stream table\n", + "The stream table panel shows the values of variables on all the streams between units, and also from units to outlets.\n", + "\n", + "### Stream table \"brushing\"\n", + "Brushing refers to the ability to have actions in one visual area influence the display in another. It is commonly used in statistics to show how points in one scatterplot correspond to their points in another, for the same samples. Here, we use it to link the position of a stream in the diagram with its variable values in the stream table.\n", + "#### Controls\n", + "\n", + "* Moving the mouse over an **arc** in the diagram → highlights the corresponding **column** in the stream table\n", + "* Moving the mouse over a **column** in the stream table → highlights the corresponding **arc** in the diagram\n", + "\n", + "![Illustration of stream table brushing](fvb1.png)\n", + " \n", + "#### Example\n", + "Stream table brushing is useful for answering questions like:\n", + "> How much benzene are we losing in the F101 vapor outlet stream?\n", + "\n", + "To answer this question, we will use some interactive elements of the stream table.\n", + "\n", + "1. Find the inlet of F101 on the diagram. Mouse over this to see the values for that stream highlighted in the stream table below. This is stream `s05`. Look across at the row for Benzene vapor (`flow_mol_phase_comp('Vap', 'benzene')`) and see that the value is $0.35384$\n", + "2. Find the vapor outlet of F101 by looking for the arc connecting to the splitter and compressor feedback loop. This is stream `s06`. Then look at the same row for the Benzene vapor mol fraction and see that the value is $0.14916$\n", + "3. Thus the amount of benzene lost is (in mole fractions) about $0.2$\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "297779ac", + "metadata": {}, + "source": [ + "### Showing and hiding streams\n", + "For complex diagrams, there are a lot of streams and the stream table does not fit in the window. To avoid having to scroll back and forth, there is the ability to \"hide\" selected streams in the stream table. \n", + "\n", + "* Click on the \"Hide Fields\" menu and select which fields to hide\n", + "* The mark will toggle between a check (shown) and open circle (hidden)\n", + "\n", + "For example, we can hide all the streams except the feeds and the flash inlets and outlets.\n", + "\n", + "![Illustration of stream table field hiding](fvst1.png)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "3b0f16ea", + "metadata": {}, + "source": [ + "### Saving and loading\n", + "The current layout and status can be saved to a file, and this file can then be loaded when the model is viewed again. The main benefit is that interactive layout of the diagram is saved for re-use.\n", + "\n", + "#### File name\n", + "This file is named, by default, for the title of the visualizer (e.g., \"Hydrodealkylation\") with a \".json\" extension to indicate the data format and saved in the same directory as the Jupyter notebook. \n", + "\n", + "You can select a different filename and location when you start the visualization, e.g.\n", + "\n", + " model.fs.visualize(\"The Title\", save=\"thefilename.json\", save_dir=\"/path/to/save/the/file\")\n", + "\n", + "#### Reloading\n", + "To reload the saved layout, simply choose the same title (since the filename, by default, matches the title) or explicitly use the `save` and `save_dir` keywords for the `visualize()` function to select a previously saved file. This means you only need to manually lay out the diagram once. Of course, if you add new pieces to the flowsheet you will need to position them correctly (as discussed below)." + ] + }, + { + "cell_type": "markdown", + "id": "db0e5eaf", + "metadata": {}, + "source": [ + "### Exporting\n", + "\n", + "#### Exporting the diagram as an image\n", + "You can export an image of the flowsheet diagram in the [Scalable Vector Graphics (SVG)](https://www.w3.org/Graphics/SVG/) format, which can render without fuzziness at arbitrary sizes. Almost all presentation and drawing programs, including MS Word and Powerpoint, can use SVG images.\n", + "\n", + "From the top menu select _Export -> Flowsheet_. You will get a preview of the flowsheet that you can then download to a file.\n", + "#### Exporting the stream table as CSV\n", + "You can export the stream table as comma-separated values. From the top menu select _Export -> Stream Table_." + ] + }, + { + "cell_type": "markdown", + "id": "68477e99", + "metadata": {}, + "source": [ + "### Updating when the flowsheet changes\n", + "The FV has a connection to the Python program that has the flowsheet (model) in memory. Therefore, when the underlying flowsheet changes, the visualization can be quickly updated to show the new state. This feature is particularly useful for interactive flowsheet creation and debugging in Jupyter Notebooks.\n", + "\n", + "To illustrate the feature, below is some IDAES modeling code that adds another Flash unit to the model, connecting the liquid outlet of the first flash unit to its inlet. There is a little more code that updates some of the output values of the model and sets initial values for this new unit, and then re-initializes the model.\n", + "\n", + "**After this code executes, the model will have a unit called \"F102\" connected to \"F101\".**" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "8d7976f9", + "metadata": {}, + "outputs": [], + "source": [ + "# Add a second flash unit\n", + "from idaes.models.unit_models import Flash\n", + "from pyomo.network import Arc\n", + "from pyomo.environ import Expression, TransformationFactory\n", + "\n", + "m = model # alias\n", + "m.fs.F102 = Flash(\n", + " property_package=m.fs.thermo_params,\n", + " has_heat_transfer=True,\n", + " has_pressure_change=True,\n", + ")\n", + "# connect to 1st flash unit\n", + "m.fs.s10 = Arc(source=m.fs.F101.liq_outlet, destination=m.fs.F102.inlet)\n", + "# update expressions for purity and cost\n", + "m.fs.purity = Expression(\n", + " expr=m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", + " / (\n", + " m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"benzene\"]\n", + " + m.fs.F102.vap_outlet.flow_mol_phase_comp[0, \"Vap\", \"toluene\"]\n", + " )\n", + ")\n", + "m.fs.heating_cost = Expression(\n", + " expr=2.2e-7 * m.fs.H101.heat_duty[0] + 1.9e-7 * m.fs.F102.heat_duty[0]\n", + ")\n", + "# fix unit output and pressure drop\n", + "m.fs.F102.vap_outlet.temperature.fix(375)\n", + "m.fs.F102.deltaP.fix(-200000)\n", + "\n", + "# expand arcs\n", + "TransformationFactory(\"network.expand_arcs\").apply_to(m)\n", + "# re-initialize\n", + "_ = vistut.initialize_model(m)" + ] + }, + { + "cell_type": "markdown", + "id": "5726059b", + "metadata": {}, + "source": [ + "
Since the FV is connected to the current state of the model in memory, simply hitting \"Refresh\" in the FV window will show the new flash unit in the diagram, and the new stream (liquid) in the stream table. We can then interactively rearrange the unit to be in the position we want in the diagram.
" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "42245268", + "metadata": {}, + "outputs": [], + "source": [ + "# v model.fs.visualize(\"Hydrodealkylation-new\")" + ] + }, + { + "cell_type": "markdown", + "id": "e75bfc03", + "metadata": {}, + "source": [ + "### Showing new values\n", + "The previous step showed how a new unit in the flowsheet will be automatically added to the diagram. Similarly, if the values in the flowsheet change these will be reflected in the stream table. Below, we solve the initialized flowsheet.\n", + "To make comparison a little easier, we will open a second UI window with the new values (the old values will not be updated unless we decide to hit the \"Refresh\" button)." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "81633474", + "metadata": { + "tags": [ + "noauto" + ] + }, + "outputs": [], + "source": [ + "# Create the solver object\n", + "from pyomo.environ import SolverFactory\n", + "\n", + "solver = SolverFactory(\"ipopt\")\n", + "solver.options = {\"tol\": 1e-6, \"max_iter\": 5000}\n", + "\n", + "# Solve the model\n", + "results = solver.solve(model, tee=False)\n", + "\n", + "# Open a second window\n", + "model.fs.visualize(\"HDA_solved\")" + ] + }, + { + "cell_type": "markdown", + "id": "350e8705", + "metadata": {}, + "source": [ + "When we look at the stream table, we can see the values in the stream between the first and second flash unit changing.\n" + ] + }, + { + "cell_type": "markdown", + "id": "ec68d7ef", + "metadata": {}, + "source": [ + "## Running from a script\n", + "Finally, although all examples have been shown in a Jupyter Notebook, there is nothing preventing the use of the FV from within a plain Python script (or module).\n", + "\n", + "For example, the code to run this same tutorial as a Python script is also in a module.\n", + "If you have installed the IDAES examples, then you can do the following to import and run the module:\n", + "```\n", + "from idaes_examples.mod.tut import visualizer_tutorial\n", + "visualizer_tutorial.main()\n", + "```\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "beef5b6f", + "metadata": {}, + "source": [ + "# Further reading\n", + "\n", + "Reference documentation for the FV is available in the IDAES main documentation, online at https://idaes-pse.readthedocs.io/" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "930eb620", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 } diff --git a/idaes_examples/notebooks/docs/tut/ui/visualizer_tutorial_doc.ipynb b/idaes_examples/notebooks/docs/tut/ui/visualizer_tutorial_doc.ipynb index 635edcca..b8687e93 100644 --- a/idaes_examples/notebooks/docs/tut/ui/visualizer_tutorial_doc.ipynb +++ b/idaes_examples/notebooks/docs/tut/ui/visualizer_tutorial_doc.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -75,21 +76,9 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "*** ERROR ***\n", - "Cannot import 'idaes_ui'.\n", - "To install IDAES with the UI enabled, run:\n", - " pip install idaes-pse[ui]\n", - "Until this module is installed, the visualizer will NOT work!\n" - ] - } - ], + "outputs": [], "source": [ "import idaes_examples.mod.tut.visualizer_tutorial as vistut\n", "\n", @@ -107,62249 +96,9 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, - "outputs": [ - { - "data": { - "text/markdown": [ - "# Create an IDAES flowsheet for hydrodealkylation (HDA)\n", - "## About HDA\n", - "\n", - "Hydrodealkylation (HDA) is a chemical reaction that often involves reacting\n", - "an aromatic hydrocarbon in the presence of hydrogen gas to form a\n", - "simpler aromatic hydrocarbon devoid of functional groups. In this\n", - "example, toluene will be reacted with hydrogen gas at high temperatures\n", - "to form benzene via the following reaction:\n", - "\n", - "**C6H5CH3 + H2 → C6H6 + CH4**\n", - "\n", - "This reaction is often accompanied by an equilibrium side reaction\n", - "which forms diphenyl, which we will not cover in this example.\n", - "\n", - "## References\n", - "\n", - "This example is based on the 1967 AIChE Student Contest problem as\n", - "present by Douglas, J.M., Chemical Design of Chemical Processes, 1988,\n", - "McGraw-Hill.\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 0 0.0000000e+00 7.00e+08 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 1 0.0000000e+00 1.94e-08 0.00e+00 -1.0 7.00e+05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Constraint violation....: 1.9441358745098113e-09 1.9441358745098111e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Overall NLP error.......: 1.9441358745098113e-09 1.9441358745098111e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:00 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 0 0.0000000e+00 7.00e+08 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 1 0.0000000e+00 9.70e+02 0.00e+00 -1.0 7.69e+05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 2 0.0000000e+00 6.38e+02 0.00e+00 -1.0 4.73e+06 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 3 0.0000000e+00 3.67e+02 0.00e+00 -1.0 2.00e+07 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 4 0.0000000e+00 1.67e+02 0.00e+00 -1.0 5.27e+07 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 5 0.0000000e+00 4.93e+01 0.00e+00 -1.0 7.34e+07 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 6 0.0000000e+00 5.77e+00 0.00e+00 -1.0 4.19e+07 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 7 0.0000000e+00 9.14e-02 0.00e+00 -1.0 6.27e+06 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 8 0.0000000e+00 2.34e-05 0.00e+00 -2.5 1.02e+05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 9 0.0000000e+00 1.62e-12 0.00e+00 -5.7 2.62e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Iterations....: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Constraint violation....: 1.6200374375330284e-12 1.6200374375330284e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Overall NLP error.......: 1.6200374375330284e-12 1.6200374375330284e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective function evaluations = 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective gradient evaluations = 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint evaluations = 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.H101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.H101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.H101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 0 0.0000000e+00 1.44e+05 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 1 0.0000000e+00 8.53e+04 1.03e+01 -1.0 3.65e+04 - 1.44e-01 5.96e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 2 0.0000000e+00 5.59e+04 4.56e+02 -1.0 1.46e+04 - 9.90e-01 3.84e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 3 0.0000000e+00 5.46e+04 2.28e+04 -1.0 9.01e+03 - 9.64e-01 2.49e-02h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 4 0.0000000e+00 5.45e+04 8.49e+07 -1.0 8.79e+03 - 9.90e-01 2.77e-04h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 5r 0.0000000e+00 5.45e+04 1.00e+03 1.1 0.00e+00 - 0.00e+00 3.46e-07R 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 6r 0.0000000e+00 4.25e+04 4.01e+03 1.1 1.87e+04 - 1.19e-02 4.12e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 7r 0.0000000e+00 4.16e+04 3.60e+03 1.1 4.84e+04 - 1.94e-03 2.54e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 8r 0.0000000e+00 4.11e+04 3.15e+03 1.1 3.96e+04 - 5.35e-03 5.52e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 9r 0.0000000e+00 4.07e+04 7.89e+04 1.1 1.47e+04 - 5.89e-01 6.35e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 10r 0.0000000e+00 2.23e+04 9.22e+04 1.1 1.48e+04 - 1.63e-01 6.48e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 11r 0.0000000e+00 2.54e+03 3.49e+04 1.1 5.74e+03 - 5.05e-01 7.97e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 12r 0.0000000e+00 3.06e+03 1.01e+05 1.1 3.80e+02 - 7.25e-01 3.18e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 13r 0.0000000e+00 5.72e+03 8.17e+03 1.1 4.83e+02 - 9.84e-01 5.00e-01h 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 14r 0.0000000e+00 1.84e+03 4.63e+04 1.1 1.39e+03 - 1.00e+00 4.11e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 15r 0.0000000e+00 1.98e+03 1.27e+04 1.1 1.43e+02 - 1.00e+00 1.00e+00f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 16r 0.0000000e+00 6.07e+03 2.97e+03 1.1 6.22e+01 - 1.00e+00 1.00e+00H 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 17r 0.0000000e+00 5.46e+03 3.14e+01 1.1 2.15e+01 - 1.00e+00 1.00e+00f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 18r 0.0000000e+00 5.04e+03 3.10e+03 -1.0 1.25e+03 - 9.65e-01 7.22e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 19r 0.0000000e+00 3.83e+03 1.04e+04 -1.0 4.22e+04 - 8.76e-02 1.55e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 20r 0.0000000e+00 5.65e+01 1.01e+05 -1.0 2.25e+04 - 1.87e-01 2.36e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 21r 0.0000000e+00 4.94e+01 5.35e+04 -1.0 1.28e+04 - 6.97e-01 9.72e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 22r 0.0000000e+00 6.91e+02 7.70e+03 -1.0 1.09e+04 - 1.00e+00 7.42e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 23r 0.0000000e+00 1.26e+02 1.82e+03 -1.0 3.19e+02 - 1.00e+00 8.54e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 24r 0.0000000e+00 1.12e+00 1.83e+02 -1.0 5.04e+01 - 1.00e+00 1.00e+00f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 25r 0.0000000e+00 2.83e-01 9.28e-02 -1.0 6.94e-01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 26r 0.0000000e+00 5.61e-01 8.91e+00 -3.9 6.16e+01 - 9.98e-01 9.48e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 27r 0.0000000e+00 5.14e+03 1.52e+05 -3.9 8.37e+05 - 3.17e-01 3.42e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 28r 0.0000000e+00 5.13e+03 3.10e+05 -3.9 5.26e+05 - 1.38e-01 1.45e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 29r 0.0000000e+00 4.66e+03 2.85e+05 -3.9 2.85e+05 - 8.58e-02 9.92e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 30r 0.0000000e+00 4.60e+03 2.87e+05 -3.9 6.24e+05 - 1.38e-05 1.22e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 31r 0.0000000e+00 4.32e+03 2.91e+05 -3.9 1.68e+03 -4.0 6.44e-03 6.09e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 32r 0.0000000e+00 4.32e+03 2.91e+05 -3.9 5.39e+05 - 4.58e-04 2.64e-04f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 33r 0.0000000e+00 4.32e+03 2.91e+05 -3.9 1.11e+03 -4.5 2.08e-05 3.37e-04f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 34r 0.0000000e+00 4.32e+03 2.91e+05 -3.9 4.06e+06 - 2.47e-08 1.04e-05f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 35r 0.0000000e+00 4.32e+03 2.75e+05 -3.9 6.60e+04 -5.0 6.33e-03 9.06e-07f 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 36r 0.0000000e+00 4.32e+03 2.75e+05 -3.9 1.97e+06 - 2.55e-05 1.48e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 37r 0.0000000e+00 4.29e+03 2.75e+05 -3.9 3.44e+03 -5.4 3.12e-03 6.04e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 38r 0.0000000e+00 4.29e+03 4.56e+04 -3.9 9.63e+03 -5.9 1.00e+00 6.91e-04f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 39r 0.0000000e+00 4.25e+03 4.71e+04 -3.9 2.91e+05 - 6.20e-02 8.82e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 40r 0.0000000e+00 4.20e+03 6.91e+04 -3.9 2.00e+05 - 8.94e-01 1.13e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 41r 0.0000000e+00 4.11e+03 6.67e+04 -3.9 1.49e+05 - 1.38e-01 2.22e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 42r 0.0000000e+00 3.20e+03 4.92e+04 -3.9 1.45e+05 - 1.53e-01 2.23e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 43r 0.0000000e+00 1.51e+03 9.84e+03 -3.9 1.13e+05 - 1.00e+00 5.35e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 44r 0.0000000e+00 9.72e+02 4.26e+04 -3.9 2.82e+04 - 3.37e-01 3.59e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 45r 0.0000000e+00 8.62e+02 6.68e+04 -3.9 5.81e+02 - 2.73e-02 1.13e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 46r 0.0000000e+00 4.48e+02 1.74e+04 -3.9 8.71e+02 - 1.00e+00 4.85e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 47r 0.0000000e+00 1.56e+03 1.21e+08 -3.9 3.99e+02 - 1.00e+00 9.88e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 48r 0.0000000e+00 1.56e+03 1.21e+08 -3.9 1.17e+01 - 6.91e-04 1.79e-03h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 49r 0.0000000e+00 1.55e+03 1.17e+08 -3.9 1.47e+01 - 5.76e-01 5.05e-03h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 50r 0.0000000e+00 1.54e+03 1.16e+08 -3.9 2.27e+02 - 3.93e-02 8.92e-03h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 51r 0.0000000e+00 1.02e+03 7.71e+07 -3.9 5.86e+01 - 4.77e-02 5.12e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 52r 0.0000000e+00 1.02e+03 7.56e+07 -3.9 3.15e+04 - 8.10e-03 6.82e-03h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 53r 0.0000000e+00 8.08e+02 3.75e+07 -3.9 9.39e+02 - 3.94e-01 2.56e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 54r 0.0000000e+00 5.20e+02 7.83e+07 -3.9 4.67e+02 - 1.57e-03 5.70e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 55r 0.0000000e+00 4.57e+02 6.97e+07 -3.9 4.79e+02 -6.4 4.40e-02 1.41e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 56r 0.0000000e+00 3.94e+02 5.93e+07 -3.9 1.48e+01 -2.3 1.55e-01 1.71e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 57r 0.0000000e+00 3.73e+02 7.03e+07 -3.9 1.07e+01 -1.9 6.30e-01 5.61e-02h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 58r 0.0000000e+00 3.10e+02 5.83e+07 -3.9 8.41e+01 -2.4 1.46e-02 3.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 59r 0.0000000e+00 2.96e+02 6.27e+07 -3.9 2.32e+01 -1.1 3.57e-02 5.65e-02h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 60r 0.0000000e+00 2.62e+02 6.00e+07 -3.9 1.51e+01 -0.6 9.19e-02 1.95e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 61r 0.0000000e+00 2.57e+02 6.07e+07 -3.9 3.06e-03 7.2 1.23e-02 1.83e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 62r 0.0000000e+00 2.52e+02 1.16e+08 -3.9 1.06e-02 6.7 5.76e-05 2.54e-02h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 63r 0.0000000e+00 2.52e+02 1.35e+08 -3.9 7.74e-03 7.1 1.29e-02 2.50e-04h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 64r 0.0000000e+00 2.52e+02 1.70e+08 -3.9 6.87e-02 6.7 8.75e-06 3.40e-03h 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 65r 0.0000000e+00 2.50e+02 1.68e+08 -3.9 7.22e-03 7.1 6.82e-03 8.93e-03h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 66r 0.0000000e+00 2.50e+02 1.71e+08 -3.9 9.04e-03 7.5 1.87e-04 1.18e-05h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 67r 0.0000000e+00 2.37e+02 5.99e+07 -3.9 1.50e-02 7.0 8.12e-03 6.89e-02h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 68r 0.0000000e+00 2.37e+02 2.18e+08 -3.9 1.65e-02 6.6 4.95e-02 2.65e-05h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 69r 0.0000000e+00 2.35e+02 1.89e+08 -3.9 1.63e-02 7.0 1.42e-05 4.62e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 70r 0.0000000e+00 2.35e+02 2.09e+08 -3.9 1.65e-02 6.5 1.08e-02 3.70e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 71r 0.0000000e+00 2.33e+02 1.85e+08 -3.9 1.24e-02 6.9 1.72e-06 5.77e-03h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 72r 0.0000000e+00 2.33e+02 2.05e+08 -3.9 1.05e-02 6.5 1.80e-02 3.01e-03h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 73r 0.0000000e+00 2.16e+02 8.46e+07 -3.9 4.90e-03 6.9 1.99e-06 8.32e-02h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 74r 0.0000000e+00 2.01e+02 7.95e+07 -3.9 8.40e-03 6.4 6.24e-02 7.85e-02h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 75r 0.0000000e+00 2.01e+02 7.94e+07 -3.9 2.04e-03 6.8 1.84e-01 3.25e-04h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 76r 0.0000000e+00 1.40e+02 6.05e+07 -3.9 6.90e-03 6.4 1.61e-02 5.44e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 77r 0.0000000e+00 1.25e+02 5.38e+07 -3.9 1.35e-03 6.8 1.75e-01 1.12e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 78r 0.0000000e+00 8.55e+01 3.74e+07 -3.9 3.25e-03 6.3 3.52e-02 3.57e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 79r 0.0000000e+00 7.37e+01 3.21e+07 -3.9 5.54e-03 5.8 6.95e-01 1.56e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 80r 0.0000000e+00 5.85e+01 2.55e+07 -3.9 8.61e-04 6.3 3.05e-01 2.10e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 81r 0.0000000e+00 4.94e+01 2.15e+07 -3.9 1.32e-03 5.8 1.00e+00 1.60e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 82r 0.0000000e+00 5.83e+00 2.96e+05 -3.9 5.86e-04 6.2 1.27e-01 1.00e+00f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 83r 0.0000000e+00 5.28e+00 2.56e+05 -3.9 1.88e-03 5.7 8.30e-01 1.33e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 84r 0.0000000e+00 3.21e+00 1.98e+05 -3.9 5.75e-03 5.3 5.98e-01 2.00e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 85r 0.0000000e+00 5.15e+00 1.81e+05 -3.9 1.75e-02 4.8 5.73e-02 7.58e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 86r 0.0000000e+00 5.15e+00 1.81e+05 -3.9 4.01e-02 4.3 8.87e-03 6.82e-04f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 87r 0.0000000e+00 4.63e+00 1.79e+05 -3.9 1.43e-01 3.8 9.35e-04 8.37e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 88r 0.0000000e+00 4.62e+00 1.71e+05 -3.9 3.17e-01 3.3 1.44e-02 3.65e-04f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 89r 0.0000000e+00 1.26e+01 1.72e+05 -3.9 7.65e-01 2.9 1.33e-02 5.14e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 90r 0.0000000e+00 1.26e+01 4.11e+05 -3.9 1.44e-01 2.4 2.29e-01 2.36e-04f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 91r 0.0000000e+00 1.44e+01 3.89e+05 -3.9 1.77e-02 1.9 3.61e-05 6.69e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 92r 0.0000000e+00 1.43e+01 2.21e+05 -3.9 1.77e-03 1.4 9.97e-01 9.35e-03h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 93r 0.0000000e+00 1.18e+01 2.15e+05 -3.9 5.39e-03 1.0 2.84e-02 1.72e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 94r 0.0000000e+00 2.71e+00 4.94e+04 -3.9 1.59e-02 0.5 1.00e+00 7.65e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 95r 0.0000000e+00 5.22e-01 1.04e+04 -3.9 4.79e-02 0.0 1.00e+00 8.05e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 96r 0.0000000e+00 4.94e-03 1.79e+01 -3.9 1.43e-01 -0.5 1.00e+00 1.00e+00f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 97r 0.0000000e+00 6.07e+01 1.30e+06 -3.9 2.64e+04 - 1.00e+00 1.16e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 98r 0.0000000e+00 7.25e+01 5.06e+04 -3.9 2.57e+03 - 1.00e+00 3.50e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 99r 0.0000000e+00 6.75e+01 1.65e+06 -3.9 5.60e+02 - 1.48e-01 6.64e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 100r 0.0000000e+00 5.42e+01 2.75e+06 -3.9 2.27e+02 - 1.00e+00 2.18e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 101r 0.0000000e+00 5.15e+01 5.37e+06 -3.9 1.72e+02 - 1.67e-01 1.58e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 102r 0.0000000e+00 3.28e+02 1.83e+08 -3.9 1.61e+02 - 4.21e-01 1.79e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 103r 0.0000000e+00 3.28e+02 1.81e+08 -3.9 5.02e+01 - 2.51e-02 3.70e-04h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 104r 0.0000000e+00 3.26e+02 1.81e+08 -3.9 6.06e+02 - 1.69e-02 4.20e-03h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 105r 0.0000000e+00 3.18e+02 1.73e+08 -3.9 1.61e+03 - 9.71e-02 1.27e-02f 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 106r 0.0000000e+00 1.95e+02 1.05e+08 -3.9 1.95e+02 - 6.07e-01 6.53e-02h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 107r 0.0000000e+00 1.94e+02 1.06e+08 -3.9 1.52e+03 - 7.28e-02 1.84e-03h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 108r 0.0000000e+00 2.32e+02 1.41e+08 -3.9 1.13e+02 - 1.00e+00 8.76e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 109r 0.0000000e+00 8.57e+00 5.25e+06 -3.9 3.18e+01 - 1.00e+00 3.53e-01h 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 110r 0.0000000e+00 1.06e+00 6.48e+05 -3.9 1.15e+01 - 9.81e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 111r 0.0000000e+00 8.06e-01 6.48e+05 -3.9 9.04e+01 - 1.00e+00 1.16e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 112r 0.0000000e+00 8.94e-02 7.38e+04 -3.9 2.94e+00 - 1.00e+00 1.00e+00f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 113r 0.0000000e+00 1.04e-02 6.72e+03 -3.9 1.01e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: 114r 0.0000000e+00 2.21e-05 1.30e+01 -3.9 4.77e-02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: Number of Iterations....: 114\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: Constraint violation....: 2.5693904537327228e-07 2.2066466213388480e-05\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: Overall NLP error.......: 2.5693904537327228e-07 2.2066466213388480e-05\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: Number of objective function evaluations = 132\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: Number of objective gradient evaluations = 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: Number of equality constraint evaluations = 132\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: Number of equality constraint Jacobian evaluations = 116\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: Number of Lagrangian Hessian evaluations = 114\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: Total CPU secs in IPOPT (w/o function evaluations) = 0.031\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.H101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.H101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.H101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.H101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 0 0.0000000e+00 7.00e+08 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 1 0.0000000e+00 2.98e-08 0.00e+00 -1.0 7.00e+05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Constraint violation....: 2.9802322387695314e-09 2.9802322387695312e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Overall NLP error.......: 2.9802322387695314e-09 2.9802322387695312e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 0 0.0000000e+00 7.00e+08 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 1 0.0000000e+00 2.98e-08 0.00e+00 -1.0 7.00e+05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Constraint violation....: 2.9802322387695314e-09 2.9802322387695312e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Overall NLP error.......: 2.9802322387695314e-09 2.9802322387695312e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.R101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.R101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.R101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in equality constraint Jacobian...: 102\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in Lagrangian Hessian.............: 72\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: 0 0.0000000e+00 3.50e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: 1 0.0000000e+00 1.27e+07 1.40e+03 -1.0 1.10e+05 - 7.92e-02 4.95e-01h 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: 2 0.0000000e+00 1.13e+07 1.23e+03 -1.0 8.57e+04 - 7.40e-01 1.24e-01h 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: 3 0.0000000e+00 1.13e+07 1.25e+03 -1.0 7.81e+04 - 7.86e-01 1.93e-03h 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: 4 0.0000000e+00 1.13e+07 1.27e+03 -1.0 7.79e+04 - 9.90e-01 4.83e-04h 12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: 5 0.0000000e+00 1.13e+07 1.29e+03 -1.0 7.79e+04 - 9.90e-01 2.42e-04h 13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: 6 0.0000000e+00 1.13e+07 1.31e+03 -1.0 7.79e+04 - 1.00e+00 6.04e-05h 15\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: 7 0.0000000e+00 1.04e+07 1.31e+05 -1.0 7.79e+04 - 1.00e+00 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: 8 0.0000000e+00 1.08e+05 8.15e+04 -1.0 1.24e+04 - 1.00e+00 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: 9 0.0000000e+00 3.91e+04 8.98e+04 -1.0 7.64e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: 10 0.0000000e+00 5.55e-04 8.87e-02 -1.0 3.91e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: 11 0.0000000e+00 5.22e-08 9.54e-10 -7.0 9.96e-07 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: Number of Iterations....: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: Constraint violation....: 2.0037676417114954e-11 5.2154064178466803e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: Overall NLP error.......: 2.0037676417114954e-11 5.2154064178466803e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: Number of objective function evaluations = 66\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: Number of objective gradient evaluations = 12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: Number of equality constraint evaluations = 66\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: Number of equality constraint Jacobian evaluations = 12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: Number of Lagrangian Hessian evaluations = 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.R101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.R101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.R101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.R101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 0 0.0000000e+00 7.00e+08 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 1 0.0000000e+00 5.96e-08 0.00e+00 -1.0 7.00e+05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Constraint violation....: 5.9604644775390628e-09 5.9604644775390625e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Overall NLP error.......: 5.9604644775390628e-09 5.9604644775390625e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 0 0.0000000e+00 7.00e+08 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Error in an AMPL evaluation. Run with \"halt_on_ampl_error yes\" to see details.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Warning: Cutting back alpha due to evaluation error\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Error in an AMPL evaluation. Run with \"halt_on_ampl_error yes\" to see details.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Warning: Cutting back alpha due to evaluation error\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 1 0.0000000e+00 5.25e+08 0.00e+00 -1.0 7.56e+05 - 1.00e+00 2.50e-01h 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Error in an AMPL evaluation. Run with \"halt_on_ampl_error yes\" to see details.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Warning: Cutting back alpha due to evaluation error\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 2 0.0000000e+00 2.62e+08 0.00e+00 -1.0 1.86e+06 - 1.00e+00 5.00e-01h 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 3 0.0000000e+00 4.60e+02 0.00e+00 -1.0 6.06e+06 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 4 0.0000000e+00 2.53e+02 0.00e+00 -1.0 2.32e+07 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 5 0.0000000e+00 1.07e+02 0.00e+00 -1.0 5.33e+07 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 6 0.0000000e+00 2.69e+01 0.00e+00 -1.0 6.19e+07 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 7 0.0000000e+00 2.22e+00 0.00e+00 -1.0 2.71e+07 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 8 0.0000000e+00 1.69e-02 0.00e+00 -1.0 2.66e+06 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 9 0.0000000e+00 9.93e-07 0.00e+00 -3.8 2.06e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Iterations....: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Constraint violation....: 9.9315880675021617e-07 9.9315880675021617e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Overall NLP error.......: 9.9315880675021617e-07 9.9315880675021617e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective function evaluations = 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective gradient evaluations = 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint evaluations = 13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.F101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.F101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.F101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: 0 0.0000000e+00 1.17e+05 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: 1 0.0000000e+00 1.28e+05 8.02e+01 -1.0 8.01e+04 - 1.39e-02 1.19e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: 2 0.0000000e+00 1.05e+05 2.50e+03 -1.0 2.81e+04 - 3.47e-03 2.64e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: 3 0.0000000e+00 4.52e+04 1.99e+03 -1.0 3.48e+04 - 9.89e-01 5.59e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: 4 0.0000000e+00 6.23e+03 3.63e+02 -1.0 1.39e+04 - 8.95e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: 5 0.0000000e+00 3.17e+02 1.80e+01 -1.0 3.02e+02 - 9.90e-01 9.66e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: 6 0.0000000e+00 2.76e-01 3.87e+01 -1.0 9.51e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: 7 0.0000000e+00 2.04e-07 3.21e-02 -3.8 1.64e-03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: Number of Iterations....: 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: Constraint violation....: 6.0661898475542513e-11 2.0431252778507769e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: Overall NLP error.......: 6.0661898475542513e-11 2.0431252778507769e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: Number of objective function evaluations = 8\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: Number of objective gradient evaluations = 8\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: Number of equality constraint evaluations = 8\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: Number of equality constraint Jacobian evaluations = 8\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: Number of Lagrangian Hessian evaluations = 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.F101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.F101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.F101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.F101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.S101.purge_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.S101.recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in equality constraint Jacobian...: 29\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: Total number of variables............................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: variables with lower and upper bounds: 20\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: Total number of equality constraints.................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: 0 0.0000000e+00 3.00e-01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: 1 0.0000000e+00 3.00e-03 1.14e-05 -1.0 3.00e-01 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: 2 0.0000000e+00 2.96e-05 1.04e-01 -1.0 3.00e-03 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: 3 0.0000000e+00 6.94e-18 8.47e+02 -1.0 2.96e-05 - 9.92e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: Number of Iterations....: 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: Constraint violation....: 6.9388939039072284e-18 6.9388939039072284e-18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: Overall NLP error.......: 6.9388939039072284e-18 6.9388939039072284e-18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: Number of objective function evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: Number of objective gradient evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: Number of equality constraint evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: Number of equality constraint Jacobian evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: Number of Lagrangian Hessian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.S101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.S101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 0 0.0000000e+00 7.00e+08 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 1 0.0000000e+00 3.63e-08 0.00e+00 -1.0 7.00e+05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Constraint violation....: 3.6321580410003665e-09 3.6321580410003662e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Overall NLP error.......: 3.6321580410003665e-09 3.6321580410003662e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 0 0.0000000e+00 7.00e+08 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 1 0.0000000e+00 3.63e-08 0.00e+00 -1.0 7.00e+05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Constraint violation....: 3.6321580410003665e-09 3.6321580410003662e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Overall NLP error.......: 3.6321580410003665e-09 3.6321580410003662e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.C101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.C101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.C101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in equality constraint Jacobian...: 74\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in Lagrangian Hessian.............: 63\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: Total number of variables............................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: Total number of equality constraints.................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: 0 0.0000000e+00 9.18e+02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: 1 0.0000000e+00 1.31e+01 1.59e-03 -1.0 2.28e+01 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: 2 0.0000000e+00 1.31e-01 9.82e+00 -1.0 2.25e+01 - 1.00e+00 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: 3 0.0000000e+00 2.31e-07 7.90e-13 -1.0 2.24e-01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: Number of Iterations....: 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: Constraint violation....: 3.7594960952141457e-09 2.3093889467418194e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: Overall NLP error.......: 3.7594960952141457e-09 2.3093889467418194e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: Number of objective function evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: Number of objective gradient evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: Number of equality constraint evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: Number of equality constraint Jacobian evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: Number of Lagrangian Hessian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.C101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.C101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.C101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.C101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: 0 0.0000000e+00 7.00e+08 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: 1 0.0000000e+00 1.05e-07 0.00e+00 -1.0 7.00e+05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Constraint violation....: 1.0512303560972215e-08 1.0512303560972215e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Overall NLP error.......: 1.0512303560972215e-08 1.0512303560972215e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: 0 0.0000000e+00 7.00e+08 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: 1 0.0000000e+00 1.05e-07 0.00e+00 -1.0 7.00e+05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Constraint violation....: 1.0512303560972215e-08 1.0512303560972215e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Overall NLP error.......: 1.0512303560972215e-08 1.0512303560972215e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 0 0.0000000e+00 7.00e+08 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 1 0.0000000e+00 3.63e-08 0.00e+00 -1.0 7.00e+05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Constraint violation....: 3.6321580410003665e-09 3.6321580410003662e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Overall NLP error.......: 3.6321580410003665e-09 3.6321580410003662e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:01 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: 0 0.0000000e+00 7.00e+08 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: 1 0.0000000e+00 1.72e-08 0.00e+00 -1.0 7.00e+05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Constraint violation....: 1.7229467630386353e-09 1.7229467630386353e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Overall NLP error.......: 1.7229467630386353e-09 1.7229467630386353e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.M101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in equality constraint Jacobian...: 117\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in Lagrangian Hessian.............: 65\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Total number of variables............................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Total number of equality constraints.................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: 0 0.0000000e+00 3.50e+05 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: 1 0.0000000e+00 2.80e+03 2.76e+00 -1.0 3.50e+05 - 9.85e-01 9.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: 2 0.0000000e+00 3.49e+00 1.01e+01 -1.0 2.80e+03 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: 3 0.0000000e+00 5.90e-05 3.59e+01 -1.0 3.24e-02 - 9.91e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: 4 0.0000000e+00 7.45e-09 7.01e-13 -1.0 5.90e-05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Number of Iterations....: 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Constraint violation....: 2.9103830456733704e-11 7.4505805969238281e-09\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Overall NLP error.......: 2.9103830456733704e-11 7.4505805969238281e-09\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Number of objective function evaluations = 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Number of objective gradient evaluations = 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Number of equality constraint evaluations = 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Number of equality constraint Jacobian evaluations = 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Number of Lagrangian Hessian evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.M101.toluene_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.M101.hydrogen_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.M101.vapor_recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 0 0.0000000e+00 6.00e+05 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 1 0.0000000e+00 5.68e-14 0.00e+00 -1.0 1.61e+03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Constraint violation....: 5.6843418860808015e-14 5.6843418860808015e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Overall NLP error.......: 5.6843418860808015e-14 5.6843418860808015e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 0 0.0000000e+00 3.24e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 1 0.0000000e+00 1.09e+01 0.00e+00 -1.0 6.35e+06 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 2 0.0000000e+00 3.73e-01 0.00e+00 -1.0 2.52e+05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 3 0.0000000e+00 4.59e-04 0.00e+00 -1.7 4.46e+02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 4 0.0000000e+00 7.00e-10 0.00e+00 -5.7 3.70e-01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Iterations....: 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Constraint violation....: 6.9962879933882505e-10 6.9962879933882505e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Overall NLP error.......: 6.9962879933882505e-10 6.9962879933882505e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective function evaluations = 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective gradient evaluations = 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint evaluations = 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.H101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.H101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.H101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: 0 0.0000000e+00 1.05e+05 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: 1 0.0000000e+00 5.93e+04 1.13e+01 -1.0 2.36e+04 - 9.10e-02 5.64e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: 2 0.0000000e+00 2.98e+04 3.85e+00 -1.0 1.03e+04 - 9.90e-01 5.47e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: 3 0.0000000e+00 1.39e+04 1.30e+04 -1.0 4.72e+03 - 9.90e-01 5.60e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: 4 0.0000000e+00 1.33e+03 1.60e+08 -1.0 2.08e+03 - 9.92e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: 5 0.0000000e+00 6.98e+02 8.18e+07 -1.0 2.38e+01 - 1.00e+00 6.05e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: 6 0.0000000e+00 1.49e+02 3.71e+08 -1.0 9.38e+00 - 4.26e-02 4.96e-01f 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: 7 0.0000000e+00 7.19e+01 6.66e+06 -1.0 4.73e+00 - 1.00e+00 4.96e-01h 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: 8 0.0000000e+00 2.79e+01 7.00e+08 -1.0 2.38e+00 - 1.00e+00 9.94e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: 9 0.0000000e+00 7.04e+00 1.76e+08 -1.0 1.50e-02 - 1.00e+00 5.00e-01h 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: 10 0.0000000e+00 6.93e+00 1.74e+08 -1.0 7.52e-03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: 11 0.0000000e+00 1.47e-04 3.72e+03 -1.0 7.73e-07 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: 12 0.0000000e+00 2.91e-11 1.82e-03 -1.7 1.65e-07 - 1.00e+00 1.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Number of Iterations....: 12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Constraint violation....: 1.7053025658242404e-13 2.9103830456733704e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Overall NLP error.......: 1.7053025658242404e-13 2.9103830456733704e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Number of objective function evaluations = 20\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Number of objective gradient evaluations = 13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Number of equality constraint evaluations = 20\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Number of equality constraint Jacobian evaluations = 13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Number of Lagrangian Hessian evaluations = 12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.H101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.H101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.H101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 0 0.0000000e+00 8.69e+03 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 1 0.0000000e+00 2.73e-12 0.00e+00 -1.0 8.69e+03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Constraint violation....: 2.7284841053187847e-12 2.7284841053187847e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Overall NLP error.......: 2.7284841053187847e-12 2.7284841053187847e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 0 0.0000000e+00 1.55e+08 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 1 0.0000000e+00 7.45e-09 0.00e+00 -1.0 1.55e+05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Constraint violation....: 7.4505805969238285e-10 7.4505805969238281e-09\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Overall NLP error.......: 7.4505805969238285e-10 7.4505805969238281e-09\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.R101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.R101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.R101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in equality constraint Jacobian...: 102\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in Lagrangian Hessian.............: 72\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: 0 0.0000000e+00 3.47e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: 1 0.0000000e+00 5.18e+05 3.27e+01 -1.0 9.30e+04 - 1.51e-01 1.24e-01h 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: 2 0.0000000e+00 5.16e+05 3.91e+01 -1.0 8.67e+04 - 5.58e-01 1.55e-02h 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: 3 0.0000000e+00 5.14e+05 4.24e+01 -1.0 8.59e+04 - 3.40e-01 1.55e-02h 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: 4 0.0000000e+00 5.12e+05 4.89e+01 -1.0 8.51e+04 - 6.07e-01 1.55e-02h 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: 5 0.0000000e+00 3.05e+04 1.27e+04 -1.0 8.43e+04 - 3.85e-01 9.90e-01H 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: 6 0.0000000e+00 2.19e+04 3.31e+04 -1.0 1.35e+03 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: 7 0.0000000e+00 5.80e+04 2.14e+04 -1.0 3.92e+04 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: 8 0.0000000e+00 2.71e-04 2.73e-02 -1.0 5.80e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: 9 0.0000000e+00 2.24e-08 9.54e-10 -7.0 1.92e-07 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: Number of Iterations....: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: Constraint violation....: 9.2564253581013618e-12 2.2351741790771484e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: Overall NLP error.......: 9.2564253581013618e-12 2.2351741790771484e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: Number of objective function evaluations = 50\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: Number of objective gradient evaluations = 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: Number of equality constraint evaluations = 50\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: Number of equality constraint Jacobian evaluations = 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: Number of Lagrangian Hessian evaluations = 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: Total CPU secs in IPOPT (w/o function evaluations) = 0.003\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.R101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.R101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.R101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.R101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 0 0.0000000e+00 3.51e+07 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 1 0.0000000e+00 2.91e-11 0.00e+00 -1.0 3.59e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Constraint violation....: 2.9103830456733704e-11 2.9103830456733704e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Overall NLP error.......: 2.9103830456733704e-11 2.9103830456733704e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 0 0.0000000e+00 9.90e+03 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 1 0.0000000e+00 8.81e-13 0.00e+00 -1.0 9.90e+03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Constraint violation....: 8.8107299234252423e-13 8.8107299234252423e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Overall NLP error.......: 8.8107299234252423e-13 8.8107299234252423e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.F101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.F101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.F101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: 0 0.0000000e+00 8.74e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: 1 0.0000000e+00 7.30e+04 3.10e+01 -1.0 1.08e+04 - 4.52e-02 3.85e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: 2 0.0000000e+00 3.99e+04 3.26e+01 -1.0 7.60e+03 - 2.91e-01 4.83e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: 3 0.0000000e+00 2.87e+03 1.84e+01 -1.0 3.50e+03 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: 4 0.0000000e+00 1.31e+02 8.00e-01 -1.0 2.46e+02 - 9.90e-01 9.65e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: 5 0.0000000e+00 5.89e-02 2.42e+02 -1.0 7.54e+00 - 9.92e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: 6 0.0000000e+00 1.09e-08 1.29e-02 -3.8 1.80e-03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: Number of Iterations....: 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: Constraint violation....: 5.2093202509210664e-12 1.0943040251731873e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: Overall NLP error.......: 5.2093202509210664e-12 1.0943040251731873e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: Number of objective function evaluations = 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: Number of objective gradient evaluations = 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: Number of equality constraint evaluations = 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: Number of equality constraint Jacobian evaluations = 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: Number of Lagrangian Hessian evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.F101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.F101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.F101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.F101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.S101.purge_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.S101.recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in equality constraint Jacobian...: 29\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: Total number of variables............................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: variables with lower and upper bounds: 20\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: Total number of equality constraints.................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: 0 0.0000000e+00 1.00e-02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: 1 0.0000000e+00 1.00e-04 1.14e-05 -1.0 1.00e-02 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: 2 0.0000000e+00 9.88e-07 1.04e-01 -1.0 1.00e-04 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: Constraint violation....: 9.8800099999998489e-07 9.8800099999998489e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: Overall NLP error.......: 9.8800099999998489e-07 9.8800099999998489e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.S101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.S101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 0 0.0000000e+00 1.73e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 1 0.0000000e+00 2.84e-14 0.00e+00 -1.0 1.73e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Constraint violation....: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Overall NLP error.......: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 0 0.0000000e+00 1.73e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 1 0.0000000e+00 2.27e-13 0.00e+00 -1.0 1.73e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Constraint violation....: 2.2737367544323206e-13 2.2737367544323206e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Overall NLP error.......: 2.2737367544323206e-13 2.2737367544323206e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.C101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.C101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.C101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in equality constraint Jacobian...: 74\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in Lagrangian Hessian.............: 63\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: Total number of variables............................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: Total number of equality constraints.................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: 0 0.0000000e+00 3.63e+02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: 1 0.0000000e+00 9.87e-01 5.18e-04 -1.0 3.56e+00 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: 2 0.0000000e+00 3.56e-04 9.67e-14 -1.0 3.52e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: 3 0.0000000e+00 5.82e-11 3.47e-13 -2.5 3.56e-04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: Number of Iterations....: 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: Constraint violation....: 3.1719263458133377e-12 5.8207660913467407e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: Overall NLP error.......: 3.1719263458133377e-12 5.8207660913467407e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: Number of objective function evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: Number of objective gradient evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: Number of equality constraint evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: Number of equality constraint Jacobian evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: Number of Lagrangian Hessian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.C101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.C101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.C101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.C101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: 0 0.0000000e+00 1.78e-12 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Constraint violation....: 1.7763568394002505e-12 1.7763568394002505e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Overall NLP error.......: 1.7763568394002505e-12 1.7763568394002505e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: 0 0.0000000e+00 2.84e-14 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Constraint violation....: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Overall NLP error.......: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 0 0.0000000e+00 1.73e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 1 0.0000000e+00 2.84e-14 0.00e+00 -1.0 1.73e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Constraint violation....: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Overall NLP error.......: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: 0 0.0000000e+00 5.85e+05 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: 1 0.0000000e+00 1.71e-13 0.00e+00 -1.0 6.05e+02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Constraint violation....: 1.7053025658242404e-13 1.7053025658242404e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Overall NLP error.......: 1.7053025658242404e-13 1.7053025658242404e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101.mixed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.M101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in equality constraint Jacobian...: 117\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in Lagrangian Hessian.............: 65\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Total number of variables............................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Total number of equality constraints.................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: 0 0.0000000e+00 2.24e+02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: 1 0.0000000e+00 2.98e+02 5.66e-01 -1.0 2.35e+02 - 9.88e-01 9.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: 2 0.0000000e+00 9.87e-01 9.99e+00 -1.0 1.69e+01 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: 3 0.0000000e+00 1.71e-07 3.28e+01 -1.0 1.13e-02 - 9.91e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Number of Iterations....: 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Constraint violation....: 2.0915153662155086e-10 1.7136335372924805e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Overall NLP error.......: 2.0915153662155086e-10 1.7136335372924805e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Number of objective function evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Number of objective gradient evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Number of equality constraint evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Number of equality constraint Jacobian evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Number of Lagrangian Hessian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.M101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.M101.toluene_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.M101.hydrogen_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.M101.vapor_recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 0 0.0000000e+00 7.74e+05 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 1 0.0000000e+00 4.55e-13 0.00e+00 -1.0 1.43e+03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Constraint violation....: 4.5474735088646412e-13 4.5474735088646412e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Overall NLP error.......: 4.5474735088646412e-13 4.5474735088646412e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 0 0.0000000e+00 2.04e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 1 0.0000000e+00 6.24e+01 0.00e+00 -1.0 1.17e+07 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 2 0.0000000e+00 1.07e+01 0.00e+00 -1.0 8.96e+05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 3 0.0000000e+00 3.90e-01 0.00e+00 -1.0 6.73e+03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 4 0.0000000e+00 5.39e-04 0.00e+00 -1.7 1.71e+02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 5 0.0000000e+00 1.03e-09 0.00e+00 -5.7 2.37e-01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Iterations....: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Constraint violation....: 1.0325038601877168e-09 1.0325038601877168e-09\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Overall NLP error.......: 1.0325038601877168e-09 1.0325038601877168e-09\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective function evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective gradient evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.H101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.H101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [INFO] idaes.init.fs.H101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:02 [DEBUG] idaes.solve.fs.H101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: 0 0.0000000e+00 5.41e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: 1 0.0000000e+00 2.71e+04 1.18e+01 -1.0 1.40e+04 - 6.37e-02 5.29e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: 2 0.0000000e+00 1.27e+04 5.09e+00 -1.0 8.31e+03 - 9.90e-01 5.21e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: 3 0.0000000e+00 5.78e+03 1.16e+04 -1.0 4.22e+03 - 9.90e-01 5.38e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: 4 0.0000000e+00 9.65e+02 4.37e+08 -1.0 2.01e+03 - 9.92e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: 5 0.0000000e+00 5.26e+02 2.40e+08 -1.0 1.89e+01 - 1.00e+00 6.08e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: 6 0.0000000e+00 2.80e+01 4.07e+08 -1.0 7.37e+00 - 3.97e-02 4.96e-01f 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: 7 0.0000000e+00 1.17e+01 6.12e+06 -1.0 3.72e+00 - 1.00e+00 4.98e-01h 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: 8 0.0000000e+00 1.74e+01 6.04e+08 -1.0 1.87e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: 9 0.0000000e+00 8.15e-02 2.83e+06 -1.0 1.66e-04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: 10 0.0000000e+00 3.57e-08 1.27e+00 -1.0 7.28e-08 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Number of Iterations....: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Constraint violation....: 7.1026156709134016e-12 3.5717675928026438e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Overall NLP error.......: 7.1026156709134016e-12 3.5717675928026438e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Number of objective function evaluations = 16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Number of objective gradient evaluations = 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Number of equality constraint evaluations = 16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Number of equality constraint Jacobian evaluations = 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Number of Lagrangian Hessian evaluations = 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.H101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.H101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.H101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 0 0.0000000e+00 1.04e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 1 0.0000000e+00 4.55e-13 0.00e+00 -1.0 1.04e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Constraint violation....: 4.5474735088646412e-13 4.5474735088646412e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Overall NLP error.......: 4.5474735088646412e-13 4.5474735088646412e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 0 0.0000000e+00 1.20e+08 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 1 0.0000000e+00 7.45e-09 0.00e+00 -1.0 1.20e+05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Constraint violation....: 7.4505805969238285e-10 7.4505805969238281e-09\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Overall NLP error.......: 7.4505805969238285e-10 7.4505805969238281e-09\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.R101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.R101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.R101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in equality constraint Jacobian...: 102\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in Lagrangian Hessian.............: 72\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 0 0.0000000e+00 3.37e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 1 0.0000000e+00 3.37e+04 5.26e+00 -1.0 5.46e+04 - 4.79e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 2 0.0000000e+00 3.37e+04 1.18e+01 -1.0 5.45e+04 - 6.18e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 3 0.0000000e+00 3.36e+04 1.87e+01 -1.0 5.45e+04 - 6.78e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 4 0.0000000e+00 3.36e+04 2.86e+01 -1.0 5.45e+04 - 9.90e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 5 0.0000000e+00 3.36e+04 3.49e+01 -1.0 5.44e+04 - 6.24e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 6 0.0000000e+00 3.35e+04 4.48e+01 -1.0 5.44e+04 - 9.91e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 7 0.0000000e+00 3.35e+04 5.02e+01 -1.0 5.43e+04 - 5.46e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 8 0.0000000e+00 3.35e+04 6.02e+01 -1.0 5.43e+04 - 1.00e+00 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 9 0.0000000e+00 3.34e+04 6.57e+01 -1.0 5.43e+04 - 5.48e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 10 0.0000000e+00 3.34e+04 7.57e+01 -1.0 5.42e+04 - 1.00e+00 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 11 0.0000000e+00 1.22e+07 3.70e+00 -1.0 5.42e+04 - 5.51e-01 9.90e-01w 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 12 0.0000000e+00 1.69e+05 7.90e+01 -1.0 7.67e+03 - 1.00e+00 9.90e-01w 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 13 0.0000000e+00 4.20e+04 6.56e+01 -1.0 2.33e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 14 0.0000000e+00 3.71e-05 4.35e-02 -1.7 4.20e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Number of Iterations....: 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Constraint violation....: 1.2867050784990244e-08 3.7141144275665283e-05\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Overall NLP error.......: 1.2867050784990244e-08 3.7141144275665283e-05\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Number of objective function evaluations = 155\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Number of objective gradient evaluations = 15\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Number of equality constraint evaluations = 155\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Number of equality constraint Jacobian evaluations = 15\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Number of Lagrangian Hessian evaluations = 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Total CPU secs in IPOPT (w/o function evaluations) = 0.003\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.R101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.R101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.R101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 0 0.0000000e+00 5.79e+07 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 1 0.0000000e+00 1.49e-08 0.00e+00 -1.0 5.94e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Constraint violation....: 1.4901161193847657e-09 1.4901161193847656e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Overall NLP error.......: 1.4901161193847657e-09 1.4901161193847656e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 0 0.0000000e+00 4.45e+03 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 1 0.0000000e+00 5.40e-13 0.00e+00 -1.0 4.45e+03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Constraint violation....: 5.4001247917767614e-13 5.4001247917767614e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Overall NLP error.......: 5.4001247917767614e-13 5.4001247917767614e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.F101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.F101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.F101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: 0 0.0000000e+00 5.18e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: 1 0.0000000e+00 3.81e+04 6.10e+00 -1.0 1.66e+04 - 1.31e-01 6.60e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: 2 0.0000000e+00 9.85e+03 2.82e+01 -1.0 5.30e+03 - 8.83e-01 6.24e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: 3 0.0000000e+00 1.72e+02 1.96e+01 -1.0 2.30e+03 - 8.30e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: 4 0.0000000e+00 1.40e+00 2.52e+00 -1.0 1.54e+01 - 9.90e-01 9.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: 5 0.0000000e+00 2.60e-06 7.26e+02 -1.0 1.27e-01 - 9.91e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Number of Iterations....: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Constraint violation....: 2.3443628029030458e-09 2.6049783627968282e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Overall NLP error.......: 2.3443628029030458e-09 2.6049783627968282e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Number of objective function evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Number of objective gradient evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Number of equality constraint evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Number of equality constraint Jacobian evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Number of Lagrangian Hessian evaluations = 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.F101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.F101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.F101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.S101.purge_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.S101.recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in equality constraint Jacobian...: 29\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: Total number of variables............................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: variables with lower and upper bounds: 20\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: Total number of equality constraints.................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: 0 0.0000000e+00 1.00e-02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: 1 0.0000000e+00 1.00e-04 1.14e-05 -1.0 1.00e-02 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: 2 0.0000000e+00 9.88e-07 1.04e-01 -1.0 1.00e-04 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: Constraint violation....: 9.8800099999998489e-07 9.8800099999998489e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: Overall NLP error.......: 9.8800099999998489e-07 9.8800099999998489e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.S101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.S101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 0 0.0000000e+00 7.35e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 1 0.0000000e+00 1.99e-13 0.00e+00 -1.0 7.35e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Constraint violation....: 1.9895196601282805e-13 1.9895196601282805e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Overall NLP error.......: 1.9895196601282805e-13 1.9895196601282805e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 0 0.0000000e+00 7.35e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 1 0.0000000e+00 1.99e-13 0.00e+00 -1.0 7.35e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Constraint violation....: 1.9895196601282805e-13 1.9895196601282805e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Overall NLP error.......: 1.9895196601282805e-13 1.9895196601282805e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.C101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.C101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.C101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in equality constraint Jacobian...: 74\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in Lagrangian Hessian.............: 63\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: Total number of variables............................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: Total number of equality constraints.................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: 0 0.0000000e+00 8.03e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: 1 0.0000000e+00 7.95e-01 5.18e-04 -1.0 1.00e-02 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: 2 0.0000000e+00 5.82e-11 9.67e-14 -1.0 9.90e-05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: Constraint violation....: 3.1719263458133377e-12 5.8207660913467407e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: Overall NLP error.......: 3.1719263458133377e-12 5.8207660913467407e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.C101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.C101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.C101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.C101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: 0 0.0000000e+00 1.78e-12 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Constraint violation....: 1.7763568394002505e-12 1.7763568394002505e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Overall NLP error.......: 1.7763568394002505e-12 1.7763568394002505e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: 0 0.0000000e+00 2.84e-14 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Constraint violation....: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Overall NLP error.......: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 0 0.0000000e+00 7.35e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 1 0.0000000e+00 1.99e-13 0.00e+00 -1.0 7.35e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Constraint violation....: 1.9895196601282805e-13 1.9895196601282805e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Overall NLP error.......: 1.9895196601282805e-13 1.9895196601282805e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: 0 0.0000000e+00 2.47e+05 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: 1 0.0000000e+00 2.33e-10 0.00e+00 -1.0 7.72e+02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: Constraint violation....: 2.3283064365386964e-11 2.3283064365386963e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: Overall NLP error.......: 2.3283064365386964e-11 2.3283064365386963e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101.mixed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.M101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in equality constraint Jacobian...: 117\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in Lagrangian Hessian.............: 65\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: Total number of variables............................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: Total number of equality constraints.................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: 0 0.0000000e+00 3.58e+02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: 1 0.0000000e+00 1.84e+03 3.49e+00 -1.0 5.83e+02 - 7.71e-01 9.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: 2 0.0000000e+00 1.22e-01 1.01e+01 -1.0 5.51e+01 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: 3 0.0000000e+00 1.45e-06 3.74e+01 -1.0 2.11e-02 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: Number of Iterations....: 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: Constraint violation....: 1.6366937707051519e-09 1.4454126358032227e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: Overall NLP error.......: 1.6366937707051519e-09 1.4454126358032227e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: Number of objective function evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: Number of objective gradient evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: Number of equality constraint evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: Number of equality constraint Jacobian evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: Number of Lagrangian Hessian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.M101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.M101.toluene_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.M101.hydrogen_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.M101.vapor_recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 0 0.0000000e+00 3.96e+05 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 1 0.0000000e+00 4.66e-10 0.00e+00 -1.0 3.96e+02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Constraint violation....: 4.6566128730773928e-11 4.6566128730773926e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Overall NLP error.......: 4.6566128730773928e-11 4.6566128730773926e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 0 0.0000000e+00 1.04e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 1 0.0000000e+00 9.31e-04 0.00e+00 -1.0 5.33e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 2 0.0000000e+00 3.07e-09 0.00e+00 -5.7 2.33e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Constraint violation....: 3.0722731025889516e-09 3.0722731025889516e-09\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Overall NLP error.......: 3.0722731025889516e-09 3.0722731025889516e-09\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.H101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.H101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.H101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: 0 0.0000000e+00 5.31e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: 1 0.0000000e+00 2.73e+04 1.13e+01 -1.0 9.78e+03 - 9.29e-02 5.26e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: 2 0.0000000e+00 1.30e+04 5.18e+00 -1.0 4.93e+03 - 9.90e-01 5.20e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: 3 0.0000000e+00 5.95e+03 1.15e+04 -1.0 2.43e+03 - 9.90e-01 5.38e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: 4 0.0000000e+00 9.00e+02 4.35e+08 -1.0 1.13e+03 - 9.92e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: 5 0.0000000e+00 4.96e+02 2.42e+08 -1.0 1.74e+01 - 1.00e+00 6.09e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: 6 0.0000000e+00 2.84e+01 4.10e+08 -1.0 6.78e+00 - 3.95e-02 4.96e-01f 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: 7 0.0000000e+00 1.21e+01 6.19e+06 -1.0 3.42e+00 - 1.00e+00 4.98e-01h 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: 8 0.0000000e+00 1.65e+01 6.23e+08 -1.0 1.72e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: 9 0.0000000e+00 7.93e-02 2.99e+06 -1.0 1.68e-04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: 10 0.0000000e+00 3.32e-08 1.28e+00 -1.0 6.80e-08 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Number of Iterations....: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Constraint violation....: 6.5958889984627885e-12 3.3225660445168614e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Overall NLP error.......: 6.5958889984627885e-12 3.3225660445168614e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Number of objective function evaluations = 16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Number of objective gradient evaluations = 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Number of equality constraint evaluations = 16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Number of equality constraint Jacobian evaluations = 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Number of Lagrangian Hessian evaluations = 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.H101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.H101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.H101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.H101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 0 0.0000000e+00 2.53e+02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 1 0.0000000e+00 1.36e-12 0.00e+00 -1.0 2.53e+02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Constraint violation....: 1.3642420526593924e-12 1.3642420526593924e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Overall NLP error.......: 1.3642420526593924e-12 1.3642420526593924e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 0 0.0000000e+00 6.19e+07 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 1 0.0000000e+00 2.27e-12 0.00e+00 -1.0 6.19e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Constraint violation....: 2.2737367544323206e-12 2.2737367544323206e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Overall NLP error.......: 2.2737367544323206e-12 2.2737367544323206e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.R101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.R101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.R101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in equality constraint Jacobian...: 102\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in Lagrangian Hessian.............: 72\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 0 0.0000000e+00 3.39e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 1 0.0000000e+00 3.39e+04 4.69e+00 -1.0 5.65e+04 - 4.27e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 2 0.0000000e+00 3.39e+04 1.11e+01 -1.0 5.64e+04 - 6.10e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 3 0.0000000e+00 3.38e+04 1.74e+01 -1.0 5.64e+04 - 6.20e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 4 0.0000000e+00 3.38e+04 2.74e+01 -1.0 5.64e+04 - 9.90e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 5 0.0000000e+00 3.38e+04 3.19e+01 -1.0 5.63e+04 - 4.45e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 6 0.0000000e+00 3.37e+04 4.18e+01 -1.0 5.63e+04 - 9.90e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 7 0.0000000e+00 3.37e+04 4.62e+01 -1.0 5.62e+04 - 4.49e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 8 0.0000000e+00 3.37e+04 5.63e+01 -1.0 5.62e+04 - 1.00e+00 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 9 0.0000000e+00 3.36e+04 6.07e+01 -1.0 5.62e+04 - 4.50e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 10 0.0000000e+00 3.36e+04 7.07e+01 -1.0 5.61e+04 - 1.00e+00 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 11 0.0000000e+00 1.32e+07 5.73e+01 -1.0 5.61e+04 - 4.53e-01 9.90e-01w 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 12 0.0000000e+00 1.83e+05 1.50e+02 -1.0 8.34e+03 - 1.00e+00 9.90e-01w 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 13 0.0000000e+00 4.35e+04 8.07e+01 -1.0 2.35e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: 14 0.0000000e+00 3.89e-05 4.87e-02 -1.7 4.35e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Number of Iterations....: 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Constraint violation....: 1.3482493703515918e-08 3.8929283618927002e-05\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Overall NLP error.......: 1.3482493703515918e-08 3.8929283618927002e-05\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Number of objective function evaluations = 155\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Number of objective gradient evaluations = 15\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Number of equality constraint evaluations = 155\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Number of equality constraint Jacobian evaluations = 15\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Number of Lagrangian Hessian evaluations = 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Total CPU secs in IPOPT (w/o function evaluations) = 0.003\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.R101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.R101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.R101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.R101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 0 0.0000000e+00 2.57e+06 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 1 0.0000000e+00 1.49e-08 0.00e+00 -1.0 2.90e+03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Constraint violation....: 1.4901161193847657e-09 1.4901161193847656e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Overall NLP error.......: 1.4901161193847657e-09 1.4901161193847656e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 0 0.0000000e+00 4.21e+03 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 1 0.0000000e+00 1.45e-12 0.00e+00 -1.0 4.21e+03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Constraint violation....: 1.4495071809506044e-12 1.4495071809506044e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Overall NLP error.......: 1.4495071809506044e-12 1.4495071809506044e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.F101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.F101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [INFO] idaes.init.fs.F101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:03 [DEBUG] idaes.solve.fs.F101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: 0 0.0000000e+00 4.96e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: 1 0.0000000e+00 3.54e+04 5.11e+00 -1.0 3.23e+03 - 1.46e-01 6.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: 2 0.0000000e+00 9.50e+03 2.82e+01 -1.0 2.15e+03 - 8.67e-01 6.00e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: 3 0.0000000e+00 1.87e+02 2.36e+01 -1.0 7.00e+02 - 7.91e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: 4 0.0000000e+00 1.45e+00 2.85e+00 -1.0 1.47e+01 - 9.90e-01 9.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: 5 0.0000000e+00 4.74e-07 8.13e+02 -1.0 1.14e-01 - 9.91e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Number of Iterations....: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Constraint violation....: 3.9519780131877856e-10 4.7424327931366861e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Overall NLP error.......: 3.9519780131877856e-10 4.7424327931366861e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Number of objective function evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Number of objective gradient evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Number of equality constraint evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Number of equality constraint Jacobian evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Number of Lagrangian Hessian evaluations = 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.F101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.F101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.F101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.S101.purge_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.S101.recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in equality constraint Jacobian...: 29\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Total number of variables............................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: variables with lower and upper bounds: 20\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Total number of equality constraints.................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: 0 0.0000000e+00 1.00e-02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: 1 0.0000000e+00 1.00e-04 1.14e-05 -1.0 1.00e-02 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: 2 0.0000000e+00 9.88e-07 1.04e-01 -1.0 1.00e-04 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Constraint violation....: 9.8800099999998489e-07 9.8800099999998489e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Overall NLP error.......: 9.8800099999998489e-07 9.8800099999998489e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.S101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 0 0.0000000e+00 3.19e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 1 0.0000000e+00 1.42e-13 0.00e+00 -1.0 3.19e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Constraint violation....: 1.4210854715202004e-13 1.4210854715202004e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Overall NLP error.......: 1.4210854715202004e-13 1.4210854715202004e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 0 0.0000000e+00 3.19e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 1 0.0000000e+00 1.42e-13 0.00e+00 -1.0 3.19e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Constraint violation....: 1.4210854715202004e-13 1.4210854715202004e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Overall NLP error.......: 1.4210854715202004e-13 1.4210854715202004e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.C101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.C101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.C101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in equality constraint Jacobian...: 74\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in Lagrangian Hessian.............: 63\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Total number of variables............................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Total number of equality constraints.................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: 0 0.0000000e+00 8.03e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: 1 0.0000000e+00 7.95e-01 5.18e-04 -1.0 1.00e-02 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: 2 0.0000000e+00 5.82e-11 9.67e-14 -1.0 9.90e-05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Constraint violation....: 3.1719263458133377e-12 5.8207660913467407e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Overall NLP error.......: 3.1719263458133377e-12 5.8207660913467407e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.C101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.C101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.C101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: 0 0.0000000e+00 1.78e-12 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Constraint violation....: 1.7763568394002505e-12 1.7763568394002505e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Overall NLP error.......: 1.7763568394002505e-12 1.7763568394002505e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: 0 0.0000000e+00 2.84e-14 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Constraint violation....: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Overall NLP error.......: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 0 0.0000000e+00 3.19e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 1 0.0000000e+00 1.42e-13 0.00e+00 -1.0 3.19e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Constraint violation....: 1.4210854715202004e-13 1.4210854715202004e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Overall NLP error.......: 1.4210854715202004e-13 1.4210854715202004e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: 0 0.0000000e+00 5.85e+05 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: 1 0.0000000e+00 2.33e-10 0.00e+00 -1.0 5.85e+02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: Constraint violation....: 2.3283064365386964e-11 2.3283064365386963e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: Overall NLP error.......: 2.3283064365386964e-11 2.3283064365386963e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.mixed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.M101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in equality constraint Jacobian...: 117\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in Lagrangian Hessian.............: 65\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: Total number of variables............................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: Total number of equality constraints.................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: 0 0.0000000e+00 3.52e+02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: 1 0.0000000e+00 1.80e+03 3.46e+00 -1.0 5.77e+02 - 7.73e-01 9.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: 2 0.0000000e+00 1.17e-01 1.01e+01 -1.0 5.46e+01 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: 3 0.0000000e+00 1.43e-06 3.74e+01 -1.0 2.10e-02 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: Number of Iterations....: 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: Constraint violation....: 1.6234143080625137e-09 1.4305114746093750e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: Overall NLP error.......: 1.6234143080625137e-09 1.4305114746093750e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: Number of objective function evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: Number of objective gradient evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: Number of equality constraint evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: Number of equality constraint Jacobian evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: Number of Lagrangian Hessian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.M101.toluene_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.M101.hydrogen_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.M101.vapor_recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 0 0.0000000e+00 6.38e+03 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 1 0.0000000e+00 4.55e-13 0.00e+00 -1.0 1.82e+02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Constraint violation....: 4.5474735088646412e-13 4.5474735088646412e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Overall NLP error.......: 4.5474735088646412e-13 4.5474735088646412e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 0 0.0000000e+00 9.84e+03 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 1 0.0000000e+00 3.92e-04 0.00e+00 -1.0 3.45e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 2 0.0000000e+00 5.45e-10 0.00e+00 -5.7 9.79e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Constraint violation....: 5.4455995268654078e-10 5.4455995268654078e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Overall NLP error.......: 5.4455995268654078e-10 5.4455995268654078e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.H101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.H101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.H101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: 0 0.0000000e+00 5.39e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: 1 0.0000000e+00 2.72e+04 1.17e+01 -1.0 9.60e+03 - 6.94e-02 5.28e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: 2 0.0000000e+00 1.28e+04 5.11e+00 -1.0 4.88e+03 - 9.90e-01 5.21e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: 3 0.0000000e+00 5.83e+03 1.16e+04 -1.0 2.41e+03 - 9.90e-01 5.38e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: 4 0.0000000e+00 9.55e+02 4.36e+08 -1.0 1.12e+03 - 9.92e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: 5 0.0000000e+00 5.22e+02 2.40e+08 -1.0 1.85e+01 - 1.00e+00 6.08e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: 6 0.0000000e+00 2.82e+01 4.08e+08 -1.0 7.23e+00 - 3.97e-02 4.96e-01f 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: 7 0.0000000e+00 1.18e+01 6.14e+06 -1.0 3.64e+00 - 1.00e+00 4.98e-01h 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: 8 0.0000000e+00 1.74e+01 6.12e+08 -1.0 1.83e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: 9 0.0000000e+00 8.26e-02 2.90e+06 -1.0 1.68e-04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: 10 0.0000000e+00 3.65e-08 1.31e+00 -1.0 9.97e-09 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: Number of Iterations....: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: Constraint violation....: 7.2342399038511207e-12 3.6536221159622073e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: Overall NLP error.......: 7.2342399038511207e-12 3.6536221159622073e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: Number of objective function evaluations = 16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: Number of objective gradient evaluations = 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: Number of equality constraint evaluations = 16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: Number of equality constraint Jacobian evaluations = 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: Number of Lagrangian Hessian evaluations = 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.H101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.H101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.H101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.H101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 0 0.0000000e+00 1.94e+02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 1 0.0000000e+00 1.36e-12 0.00e+00 -1.0 1.94e+02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Constraint violation....: 1.3642420526593924e-12 1.3642420526593924e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Overall NLP error.......: 1.3642420526593924e-12 1.3642420526593924e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 0 0.0000000e+00 6.44e+07 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 1 0.0000000e+00 7.45e-09 0.00e+00 -1.0 6.44e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Constraint violation....: 7.4505805969238285e-10 7.4505805969238281e-09\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Overall NLP error.......: 7.4505805969238285e-10 7.4505805969238281e-09\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.R101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.R101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.R101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in equality constraint Jacobian...: 102\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in Lagrangian Hessian.............: 72\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: 0 0.0000000e+00 3.38e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: 1 0.0000000e+00 3.38e+04 5.12e+00 -1.0 5.51e+04 - 4.66e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: 2 0.0000000e+00 3.37e+04 1.16e+01 -1.0 5.50e+04 - 6.16e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: 3 0.0000000e+00 3.37e+04 1.84e+01 -1.0 5.50e+04 - 6.71e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: 4 0.0000000e+00 3.37e+04 2.84e+01 -1.0 5.49e+04 - 9.90e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: 5 0.0000000e+00 3.36e+04 3.41e+01 -1.0 5.49e+04 - 5.66e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: 6 0.0000000e+00 3.36e+04 4.40e+01 -1.0 5.49e+04 - 9.91e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: 7 0.0000000e+00 3.36e+04 4.92e+01 -1.0 5.48e+04 - 5.21e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: 8 0.0000000e+00 3.35e+04 5.92e+01 -1.0 5.48e+04 - 1.00e+00 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: 9 0.0000000e+00 3.35e+04 6.44e+01 -1.0 5.47e+04 - 5.22e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: 10 0.0000000e+00 3.35e+04 7.44e+01 -1.0 5.47e+04 - 1.00e+00 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: 11 0.0000000e+00 1.25e+07 1.48e+01 -1.0 5.47e+04 - 5.25e-01 9.90e-01w 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: 12 0.0000000e+00 1.73e+05 9.39e+01 -1.0 7.84e+03 - 1.00e+00 9.90e-01w 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: 13 0.0000000e+00 4.24e+04 6.91e+01 -1.0 2.33e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: 14 0.0000000e+00 3.76e-05 4.49e-02 -1.7 4.24e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: Number of Iterations....: 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: Constraint violation....: 1.3035939771934499e-08 3.7617981433868408e-05\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: Overall NLP error.......: 1.3035939771934499e-08 3.7617981433868408e-05\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: Number of objective function evaluations = 155\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: Number of objective gradient evaluations = 15\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: Number of equality constraint evaluations = 155\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: Number of equality constraint Jacobian evaluations = 15\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: Number of Lagrangian Hessian evaluations = 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: Total CPU secs in IPOPT (w/o function evaluations) = 0.004\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.R101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.R101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.R101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.R101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 0 0.0000000e+00 1.91e+06 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 1 0.0000000e+00 3.64e-12 0.00e+00 -1.0 2.16e+03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Constraint violation....: 3.6379788070917130e-12 3.6379788070917130e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Overall NLP error.......: 3.6379788070917130e-12 3.6379788070917130e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 0 0.0000000e+00 4.37e+03 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 1 0.0000000e+00 1.22e-12 0.00e+00 -1.0 4.37e+03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Constraint violation....: 1.2221335055073723e-12 1.2221335055073723e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Overall NLP error.......: 1.2221335055073723e-12 1.2221335055073723e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.F101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.F101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.F101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: 0 0.0000000e+00 5.12e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: 1 0.0000000e+00 3.74e+04 5.83e+00 -1.0 3.26e+03 - 1.35e-01 6.68e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: 2 0.0000000e+00 9.79e+03 2.83e+01 -1.0 2.31e+03 - 8.78e-01 6.18e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: 3 0.0000000e+00 1.77e+02 2.07e+01 -1.0 7.29e+02 - 8.20e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: 4 0.0000000e+00 1.43e+00 2.59e+00 -1.0 1.53e+01 - 9.90e-01 9.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: 5 0.0000000e+00 2.02e-06 7.46e+02 -1.0 1.25e-01 - 9.91e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Number of Iterations....: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Constraint violation....: 1.7885068906748583e-09 2.0238840079400688e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Overall NLP error.......: 1.7885068906748583e-09 2.0238840079400688e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Number of objective function evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Number of objective gradient evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Number of equality constraint evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Number of equality constraint Jacobian evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Number of Lagrangian Hessian evaluations = 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.F101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.F101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.F101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.F101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.S101.purge_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.S101.recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in equality constraint Jacobian...: 29\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Total number of variables............................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: variables with lower and upper bounds: 20\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Total number of equality constraints.................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: 0 0.0000000e+00 1.00e-02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: 1 0.0000000e+00 1.00e-04 1.14e-05 -1.0 1.00e-02 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: 2 0.0000000e+00 9.88e-07 1.04e-01 -1.0 1.00e-04 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Constraint violation....: 9.8800099999998489e-07 9.8800099999998489e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Overall NLP error.......: 9.8800099999998489e-07 9.8800099999998489e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.S101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.S101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 0 0.0000000e+00 2.40e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 1 0.0000000e+00 1.99e-13 0.00e+00 -1.0 2.40e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Constraint violation....: 1.9895196601282805e-13 1.9895196601282805e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Overall NLP error.......: 1.9895196601282805e-13 1.9895196601282805e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 0 0.0000000e+00 2.40e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 1 0.0000000e+00 1.99e-13 0.00e+00 -1.0 2.40e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Constraint violation....: 1.9895196601282805e-13 1.9895196601282805e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Overall NLP error.......: 1.9895196601282805e-13 1.9895196601282805e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.C101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.C101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.C101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in equality constraint Jacobian...: 74\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in Lagrangian Hessian.............: 63\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Total number of variables............................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Total number of equality constraints.................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: 0 0.0000000e+00 8.03e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: 1 0.0000000e+00 7.95e-01 5.18e-04 -1.0 1.00e-02 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: 2 0.0000000e+00 5.82e-11 9.67e-14 -1.0 9.90e-05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Constraint violation....: 3.1719263458133377e-12 5.8207660913467407e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Overall NLP error.......: 3.1719263458133377e-12 5.8207660913467407e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.C101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.C101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.C101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.C101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: 0 0.0000000e+00 1.78e-12 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Constraint violation....: 1.7763568394002505e-12 1.7763568394002505e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Overall NLP error.......: 1.7763568394002505e-12 1.7763568394002505e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:04 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: 0 0.0000000e+00 2.84e-14 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Constraint violation....: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Overall NLP error.......: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 0 0.0000000e+00 2.40e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 1 0.0000000e+00 1.99e-13 0.00e+00 -1.0 2.40e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Constraint violation....: 1.9895196601282805e-13 1.9895196601282805e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Overall NLP error.......: 1.9895196601282805e-13 1.9895196601282805e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: 0 0.0000000e+00 5.78e+05 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: 1 0.0000000e+00 5.68e-14 0.00e+00 -1.0 5.78e+02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Constraint violation....: 5.6843418860808015e-14 5.6843418860808015e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Overall NLP error.......: 5.6843418860808015e-14 5.6843418860808015e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.M101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in equality constraint Jacobian...: 117\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in Lagrangian Hessian.............: 65\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: Total number of variables............................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: Total number of equality constraints.................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: 0 0.0000000e+00 3.55e+02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: 1 0.0000000e+00 1.82e+03 3.47e+00 -1.0 5.80e+02 - 7.72e-01 9.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: 2 0.0000000e+00 1.20e-01 1.01e+01 -1.0 5.49e+01 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: 3 0.0000000e+00 1.44e-06 3.74e+01 -1.0 2.11e-02 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: Number of Iterations....: 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: Constraint violation....: 1.6300540393838327e-09 1.4379620552062988e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: Overall NLP error.......: 1.6300540393838327e-09 1.4379620552062988e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: Number of objective function evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: Number of objective gradient evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: Number of equality constraint evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: Number of equality constraint Jacobian evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: Number of Lagrangian Hessian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.M101.toluene_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.M101.hydrogen_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.M101.vapor_recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 0 0.0000000e+00 3.34e+03 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 1 0.0000000e+00 4.55e-13 0.00e+00 -1.0 3.34e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Constraint violation....: 4.5474735088646412e-13 4.5474735088646412e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Overall NLP error.......: 4.5474735088646412e-13 4.5474735088646412e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 0 0.0000000e+00 1.00e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 1 0.0000000e+00 1.28e-05 0.00e+00 -1.0 1.00e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 2 0.0000000e+00 1.82e-12 0.00e+00 -7.0 3.20e-01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Constraint violation....: 1.8189894035458565e-12 1.8189894035458565e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Overall NLP error.......: 1.8189894035458565e-12 1.8189894035458565e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.H101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.H101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.H101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: 0 0.0000000e+00 5.39e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: 1 0.0000000e+00 2.72e+04 1.17e+01 -1.0 9.61e+03 - 6.95e-02 5.28e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: 2 0.0000000e+00 1.28e+04 5.11e+00 -1.0 4.88e+03 - 9.90e-01 5.21e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: 3 0.0000000e+00 5.84e+03 1.16e+04 -1.0 2.41e+03 - 9.90e-01 5.38e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: 4 0.0000000e+00 9.56e+02 4.35e+08 -1.0 1.12e+03 - 9.92e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: 5 0.0000000e+00 5.23e+02 2.40e+08 -1.0 1.85e+01 - 1.00e+00 6.08e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: 6 0.0000000e+00 2.83e+01 4.08e+08 -1.0 7.22e+00 - 3.97e-02 4.96e-01f 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: 7 0.0000000e+00 1.18e+01 6.15e+06 -1.0 3.64e+00 - 1.00e+00 4.98e-01h 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: 8 0.0000000e+00 1.74e+01 6.12e+08 -1.0 1.83e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: 9 0.0000000e+00 8.29e-02 2.91e+06 -1.0 1.68e-04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: 10 0.0000000e+00 3.67e-08 1.32e+00 -1.0 3.06e-08 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: Number of Iterations....: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: Constraint violation....: 7.2839166460891293e-12 3.6718120099976659e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: Overall NLP error.......: 7.2839166460891293e-12 3.6718120099976659e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: Number of objective function evaluations = 16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: Number of objective gradient evaluations = 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: Number of equality constraint evaluations = 16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: Number of equality constraint Jacobian evaluations = 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: Number of Lagrangian Hessian evaluations = 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.H101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.H101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.H101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.H101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 0 0.0000000e+00 2.73e+00 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 1 0.0000000e+00 7.28e-12 0.00e+00 -1.0 2.73e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Constraint violation....: 7.2759576141834259e-12 7.2759576141834259e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Overall NLP error.......: 7.2759576141834259e-12 7.2759576141834259e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 0 0.0000000e+00 6.25e+07 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 1 0.0000000e+00 7.28e-12 0.00e+00 -1.0 6.25e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Constraint violation....: 7.2759576141834259e-12 7.2759576141834259e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Overall NLP error.......: 7.2759576141834259e-12 7.2759576141834259e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.R101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.R101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.R101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in equality constraint Jacobian...: 102\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in Lagrangian Hessian.............: 72\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: 0 0.0000000e+00 3.38e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: 1 0.0000000e+00 3.38e+04 5.12e+00 -1.0 5.51e+04 - 4.66e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: 2 0.0000000e+00 3.37e+04 1.16e+01 -1.0 5.51e+04 - 6.16e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: 3 0.0000000e+00 3.37e+04 1.84e+01 -1.0 5.50e+04 - 6.71e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: 4 0.0000000e+00 3.37e+04 2.84e+01 -1.0 5.50e+04 - 9.90e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: 5 0.0000000e+00 3.36e+04 3.40e+01 -1.0 5.49e+04 - 5.65e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: 6 0.0000000e+00 3.36e+04 4.39e+01 -1.0 5.49e+04 - 9.91e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: 7 0.0000000e+00 3.36e+04 4.91e+01 -1.0 5.49e+04 - 5.20e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: 8 0.0000000e+00 3.35e+04 5.91e+01 -1.0 5.48e+04 - 1.00e+00 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: 9 0.0000000e+00 3.35e+04 6.43e+01 -1.0 5.48e+04 - 5.21e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: 10 0.0000000e+00 3.35e+04 7.43e+01 -1.0 5.47e+04 - 1.00e+00 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: 11 0.0000000e+00 1.25e+07 1.53e+01 -1.0 5.47e+04 - 5.24e-01 9.90e-01w 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: 12 0.0000000e+00 1.73e+05 9.46e+01 -1.0 7.85e+03 - 1.00e+00 9.90e-01w 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: 13 0.0000000e+00 4.24e+04 6.93e+01 -1.0 2.33e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: 14 0.0000000e+00 3.77e-05 4.50e-02 -1.7 4.24e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: Number of Iterations....: 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: Constraint violation....: 1.3055977448351614e-08 3.7685036659240723e-05\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: Overall NLP error.......: 1.3055977448351614e-08 3.7685036659240723e-05\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: Number of objective function evaluations = 155\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: Number of objective gradient evaluations = 15\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: Number of equality constraint evaluations = 155\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: Number of equality constraint Jacobian evaluations = 15\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: Number of Lagrangian Hessian evaluations = 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: Total CPU secs in IPOPT (w/o function evaluations) = 0.003\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.R101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.R101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.R101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.R101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 0 0.0000000e+00 4.26e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 1 0.0000000e+00 6.37e-12 0.00e+00 -1.0 4.49e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Constraint violation....: 6.3664629124104977e-12 6.3664629124104977e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Overall NLP error.......: 6.3664629124104977e-12 6.3664629124104977e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 0 0.0000000e+00 4.35e+03 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 1 0.0000000e+00 2.84e-13 0.00e+00 -1.0 4.35e+03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Constraint violation....: 2.8421709430404007e-13 2.8421709430404007e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Overall NLP error.......: 2.8421709430404007e-13 2.8421709430404007e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.F101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.F101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.F101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: 0 0.0000000e+00 5.12e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: 1 0.0000000e+00 3.74e+04 5.83e+00 -1.0 3.26e+03 - 1.35e-01 6.68e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: 2 0.0000000e+00 9.80e+03 2.83e+01 -1.0 2.31e+03 - 8.78e-01 6.17e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: 3 0.0000000e+00 1.77e+02 2.07e+01 -1.0 7.30e+02 - 8.20e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: 4 0.0000000e+00 1.43e+00 2.59e+00 -1.0 1.53e+01 - 9.90e-01 9.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: 5 0.0000000e+00 2.03e-06 7.46e+02 -1.0 1.25e-01 - 9.91e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: Number of Iterations....: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: Constraint violation....: 1.7946090848256982e-09 2.0297338778618723e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: Overall NLP error.......: 1.7946090848256982e-09 2.0297338778618723e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: Number of objective function evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: Number of objective gradient evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: Number of equality constraint evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: Number of equality constraint Jacobian evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: Number of Lagrangian Hessian evaluations = 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.F101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.F101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.F101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.F101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.S101.purge_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.S101.recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in equality constraint Jacobian...: 29\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: Total number of variables............................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: variables with lower and upper bounds: 20\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: Total number of equality constraints.................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: 0 0.0000000e+00 1.00e-02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: 1 0.0000000e+00 1.00e-04 1.14e-05 -1.0 1.00e-02 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: 2 0.0000000e+00 9.88e-07 1.04e-01 -1.0 1.00e-04 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: Constraint violation....: 9.8800099999998489e-07 9.8800099999998489e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: Overall NLP error.......: 9.8800099999998489e-07 9.8800099999998489e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.S101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.S101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 0 0.0000000e+00 2.21e-01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 1 0.0000000e+00 3.98e-13 0.00e+00 -1.7 2.21e-01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Constraint violation....: 3.9790393202565610e-13 3.9790393202565610e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Overall NLP error.......: 3.9790393202565610e-13 3.9790393202565610e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 0 0.0000000e+00 2.21e-01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 1 0.0000000e+00 3.98e-13 0.00e+00 -1.7 2.21e-01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Constraint violation....: 3.9790393202565610e-13 3.9790393202565610e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Overall NLP error.......: 3.9790393202565610e-13 3.9790393202565610e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.C101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.C101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.C101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in equality constraint Jacobian...: 74\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in Lagrangian Hessian.............: 63\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: Total number of variables............................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: Total number of equality constraints.................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: 0 0.0000000e+00 8.03e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: 1 0.0000000e+00 7.95e-01 5.18e-04 -1.0 1.00e-02 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: 2 0.0000000e+00 5.82e-11 9.67e-14 -1.0 9.90e-05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: Constraint violation....: 3.1719263458133377e-12 5.8207660913467407e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: Overall NLP error.......: 3.1719263458133377e-12 5.8207660913467407e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.C101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.C101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.C101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.C101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: 0 0.0000000e+00 1.78e-12 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Constraint violation....: 1.7763568394002505e-12 1.7763568394002505e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Overall NLP error.......: 1.7763568394002505e-12 1.7763568394002505e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: 0 0.0000000e+00 2.84e-14 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Constraint violation....: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Overall NLP error.......: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 0 0.0000000e+00 2.21e-01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 1 0.0000000e+00 3.98e-13 0.00e+00 -1.7 2.21e-01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Constraint violation....: 3.9790393202565610e-13 3.9790393202565610e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Overall NLP error.......: 3.9790393202565610e-13 3.9790393202565610e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: 0 0.0000000e+00 5.82e+05 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: 1 0.0000000e+00 2.33e-10 0.00e+00 -1.0 5.82e+02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Constraint violation....: 2.3283064365386964e-11 2.3283064365386963e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Overall NLP error.......: 2.3283064365386964e-11 2.3283064365386963e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [DEBUG] idaes.solve.fs.M101.mixed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.M101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:05 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in equality constraint Jacobian...: 117\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in Lagrangian Hessian.............: 65\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Total number of variables............................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Total number of equality constraints.................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: 0 0.0000000e+00 3.55e+02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: 1 0.0000000e+00 1.82e+03 3.47e+00 -1.0 5.79e+02 - 7.72e-01 9.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: 2 0.0000000e+00 1.19e-01 1.01e+01 -1.0 5.48e+01 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: 3 0.0000000e+00 1.43e-06 3.74e+01 -1.0 2.10e-02 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Number of Iterations....: 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Constraint violation....: 1.6234143080625137e-09 1.4305114746093750e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Overall NLP error.......: 1.6234143080625137e-09 1.4305114746093750e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Number of objective function evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Number of objective gradient evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Number of equality constraint evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Number of equality constraint Jacobian evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Number of Lagrangian Hessian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.M101.toluene_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.M101.hydrogen_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.M101.vapor_recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 0 0.0000000e+00 5.83e+02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 1 0.0000000e+00 5.68e-14 0.00e+00 -1.0 5.83e-01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Constraint violation....: 5.6843418860808015e-14 5.6843418860808015e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Overall NLP error.......: 5.6843418860808015e-14 5.6843418860808015e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 0 0.0000000e+00 1.00e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 1 0.0000000e+00 4.68e-05 0.00e+00 -1.0 1.19e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 2 0.0000000e+00 7.73e-12 0.00e+00 -5.7 1.17e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Constraint violation....: 7.7307049650698900e-12 7.7307049650698900e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Overall NLP error.......: 7.7307049650698900e-12 7.7307049650698900e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.H101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.H101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.H101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: 0 0.0000000e+00 5.40e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: 1 0.0000000e+00 2.72e+04 1.17e+01 -1.0 9.62e+03 - 6.95e-02 5.28e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: 2 0.0000000e+00 1.28e+04 5.11e+00 -1.0 4.89e+03 - 9.90e-01 5.21e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: 3 0.0000000e+00 5.84e+03 1.16e+04 -1.0 2.42e+03 - 9.90e-01 5.38e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: 4 0.0000000e+00 9.57e+02 4.35e+08 -1.0 1.12e+03 - 9.92e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: 5 0.0000000e+00 5.23e+02 2.40e+08 -1.0 1.85e+01 - 1.00e+00 6.08e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: 6 0.0000000e+00 2.83e+01 4.08e+08 -1.0 7.23e+00 - 3.97e-02 4.96e-01f 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: 7 0.0000000e+00 1.19e+01 6.15e+06 -1.0 3.64e+00 - 1.00e+00 4.98e-01h 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: 8 0.0000000e+00 1.75e+01 6.13e+08 -1.0 1.83e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: 9 0.0000000e+00 8.34e-02 2.93e+06 -1.0 1.68e-04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: 10 0.0000000e+00 3.71e-08 1.33e+00 -1.0 7.32e-08 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: Number of Iterations....: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: Constraint violation....: 7.3552916719798679e-12 3.7125573726370931e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: Overall NLP error.......: 7.3552916719798679e-12 3.7125573726370931e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: Number of objective function evaluations = 16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: Number of objective gradient evaluations = 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: Number of equality constraint evaluations = 16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: Number of equality constraint Jacobian evaluations = 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: Number of Lagrangian Hessian evaluations = 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.H101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.H101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.H101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.H101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 0 0.0000000e+00 8.44e+00 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 1 0.0000000e+00 1.82e-12 0.00e+00 -1.0 8.44e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Constraint violation....: 1.8189894035458565e-12 1.8189894035458565e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Overall NLP error.......: 1.8189894035458565e-12 1.8189894035458565e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 0 0.0000000e+00 6.26e+07 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 1 0.0000000e+00 7.28e-12 0.00e+00 -1.0 6.26e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Constraint violation....: 7.2759576141834259e-12 7.2759576141834259e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Overall NLP error.......: 7.2759576141834259e-12 7.2759576141834259e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.R101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.R101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.R101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in equality constraint Jacobian...: 102\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in Lagrangian Hessian.............: 72\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: 0 0.0000000e+00 3.38e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: 1 0.0000000e+00 3.38e+04 5.11e+00 -1.0 5.51e+04 - 4.66e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: 2 0.0000000e+00 3.37e+04 1.16e+01 -1.0 5.51e+04 - 6.16e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: 3 0.0000000e+00 3.37e+04 1.84e+01 -1.0 5.51e+04 - 6.71e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: 4 0.0000000e+00 3.37e+04 2.84e+01 -1.0 5.50e+04 - 9.90e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: 5 0.0000000e+00 3.36e+04 3.40e+01 -1.0 5.50e+04 - 5.64e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: 6 0.0000000e+00 3.36e+04 4.39e+01 -1.0 5.49e+04 - 9.91e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: 7 0.0000000e+00 3.36e+04 4.91e+01 -1.0 5.49e+04 - 5.20e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: 8 0.0000000e+00 3.35e+04 5.91e+01 -1.0 5.49e+04 - 1.00e+00 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: 9 0.0000000e+00 3.35e+04 6.43e+01 -1.0 5.48e+04 - 5.21e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: 10 0.0000000e+00 3.35e+04 7.43e+01 -1.0 5.48e+04 - 1.00e+00 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: 11 0.0000000e+00 1.25e+07 1.59e+01 -1.0 5.47e+04 - 5.24e-01 9.90e-01w 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: 12 0.0000000e+00 1.73e+05 9.54e+01 -1.0 7.86e+03 - 1.00e+00 9.90e-01w 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: 13 0.0000000e+00 4.24e+04 6.95e+01 -1.0 2.33e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: 14 0.0000000e+00 3.78e-05 4.51e-02 -1.7 4.24e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: Number of Iterations....: 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: Constraint violation....: 1.3084602700376065e-08 3.7789344787597656e-05\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: Overall NLP error.......: 1.3084602700376065e-08 3.7789344787597656e-05\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: Number of objective function evaluations = 155\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: Number of objective gradient evaluations = 15\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: Number of equality constraint evaluations = 155\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: Number of equality constraint Jacobian evaluations = 15\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: Number of Lagrangian Hessian evaluations = 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: Total CPU secs in IPOPT (w/o function evaluations) = 0.007\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.R101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.R101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.R101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.R101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 0 0.0000000e+00 5.60e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 1 0.0000000e+00 4.55e-13 0.00e+00 -1.0 5.69e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Constraint violation....: 4.5474735088646412e-13 4.5474735088646412e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Overall NLP error.......: 4.5474735088646412e-13 4.5474735088646412e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 0 0.0000000e+00 4.35e+03 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 1 0.0000000e+00 5.26e-13 0.00e+00 -1.0 4.35e+03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Constraint violation....: 5.2580162446247414e-13 5.2580162446247414e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Overall NLP error.......: 5.2580162446247414e-13 5.2580162446247414e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.F101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.F101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.F101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: 0 0.0000000e+00 5.13e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: 1 0.0000000e+00 3.75e+04 5.85e+00 -1.0 3.26e+03 - 1.34e-01 6.67e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: 2 0.0000000e+00 9.81e+03 2.83e+01 -1.0 2.31e+03 - 8.78e-01 6.17e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: 3 0.0000000e+00 1.77e+02 2.07e+01 -1.0 7.31e+02 - 8.20e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: 4 0.0000000e+00 1.43e+00 2.58e+00 -1.0 1.54e+01 - 9.90e-01 9.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: 5 0.0000000e+00 2.07e-06 7.45e+02 -1.0 1.25e-01 - 9.91e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: Number of Iterations....: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: Constraint violation....: 1.8323701215288182e-09 2.0685693016275764e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: Overall NLP error.......: 1.8323701215288182e-09 2.0685693016275764e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: Number of objective function evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: Number of objective gradient evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: Number of equality constraint evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: Number of equality constraint Jacobian evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: Number of Lagrangian Hessian evaluations = 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.F101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.F101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.F101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.F101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.S101.purge_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.S101.recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in equality constraint Jacobian...: 29\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: Total number of variables............................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: variables with lower and upper bounds: 20\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: Total number of equality constraints.................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: 0 0.0000000e+00 1.00e-02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: 1 0.0000000e+00 1.00e-04 1.14e-05 -1.0 1.00e-02 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: 2 0.0000000e+00 9.88e-07 1.04e-01 -1.0 1.00e-04 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: Constraint violation....: 9.8800099999998489e-07 9.8800099999998489e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: Overall NLP error.......: 9.8800099999998489e-07 9.8800099999998489e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.S101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.S101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 0 0.0000000e+00 7.91e-02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 1 0.0000000e+00 8.53e-14 0.00e+00 -2.5 7.91e-02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Constraint violation....: 8.5265128291212022e-14 8.5265128291212022e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Overall NLP error.......: 8.5265128291212022e-14 8.5265128291212022e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 0 0.0000000e+00 7.91e-02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 1 0.0000000e+00 8.53e-14 0.00e+00 -2.5 7.91e-02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Constraint violation....: 8.5265128291212022e-14 8.5265128291212022e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Overall NLP error.......: 8.5265128291212022e-14 8.5265128291212022e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.C101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.C101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.C101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in equality constraint Jacobian...: 74\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in Lagrangian Hessian.............: 63\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: Total number of variables............................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: Total number of equality constraints.................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: 0 0.0000000e+00 8.03e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: 1 0.0000000e+00 7.95e-01 5.18e-04 -1.0 1.00e-02 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: 2 0.0000000e+00 5.82e-11 9.67e-14 -1.0 9.90e-05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: Constraint violation....: 3.1719263458133377e-12 5.8207660913467407e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: Overall NLP error.......: 3.1719263458133377e-12 5.8207660913467407e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.C101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.C101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.C101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.C101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: 0 0.0000000e+00 1.78e-12 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Constraint violation....: 1.7763568394002505e-12 1.7763568394002505e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Overall NLP error.......: 1.7763568394002505e-12 1.7763568394002505e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: 0 0.0000000e+00 2.84e-14 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Constraint violation....: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Overall NLP error.......: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 0 0.0000000e+00 7.91e-02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 1 0.0000000e+00 8.53e-14 0.00e+00 -2.5 7.91e-02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Constraint violation....: 8.5265128291212022e-14 8.5265128291212022e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Overall NLP error.......: 8.5265128291212022e-14 8.5265128291212022e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: 0 0.0000000e+00 5.81e+05 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: 1 0.0000000e+00 2.33e-10 0.00e+00 -1.0 5.81e+02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: Constraint violation....: 2.3283064365386964e-11 2.3283064365386963e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: Overall NLP error.......: 2.3283064365386964e-11 2.3283064365386963e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101.mixed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.M101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in equality constraint Jacobian...: 117\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in Lagrangian Hessian.............: 65\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Total number of variables............................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Total number of equality constraints.................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: 0 0.0000000e+00 3.54e+02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: 1 0.0000000e+00 1.81e+03 3.47e+00 -1.0 5.78e+02 - 7.72e-01 9.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: 2 0.0000000e+00 1.19e-01 1.01e+01 -1.0 5.47e+01 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: 3 0.0000000e+00 1.44e-06 3.74e+01 -1.0 2.10e-02 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Number of Iterations....: 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Constraint violation....: 1.6267341737231732e-09 1.4379620552062988e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:06 [DEBUG] idaes.solve.fs.M101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101: Overall NLP error.......: 1.6267341737231732e-09 1.4379620552062988e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101: Number of objective function evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101: Number of objective gradient evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101: Number of equality constraint evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101: Number of equality constraint Jacobian evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101: Number of Lagrangian Hessian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.M101.toluene_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.M101.hydrogen_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.M101.vapor_recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: Wegstein failed to converge in 5 iterations\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "DOF = 0\n" - ] - } - ], + "outputs": [], "source": [ "# use the pre-defined function to create the flowsheet\n", "model = vistut.create_model()\n", @@ -62543,65419 +292,9 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: Implicitly replacing the Component attribute purity (type=) on block fs with a new\n", - "Component (type=). This\n", - "is usually indicative of a modelling error. To avoid this warning, use\n", - "block.del_component() and block.add_component().\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: Implicitly replacing the Component attribute heating_cost\n", - "(type=) on block fs with\n", - "a new Component (type=).\n", - "This is usually indicative of a modelling error. To avoid this warning, use\n", - "block.del_component() and block.add_component().\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 0 0.0000000e+00 1.77e+06 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 1 0.0000000e+00 3.49e-10 0.00e+00 -1.0 3.07e+03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Constraint violation....: 3.4924596548080450e-11 3.4924596548080450e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Overall NLP error.......: 3.4924596548080450e-11 3.4924596548080450e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 0 0.0000000e+00 1.73e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 1 0.0000000e+00 4.82e+01 0.00e+00 -1.0 1.49e+07 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 2 0.0000000e+00 6.18e+00 0.00e+00 -1.0 1.95e+06 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 3 0.0000000e+00 1.19e-01 0.00e+00 -1.0 2.53e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 4 0.0000000e+00 4.53e-05 0.00e+00 -2.5 1.49e+02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 5 0.0000000e+00 6.37e-12 0.00e+00 -5.7 4.91e-02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Iterations....: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Constraint violation....: 6.3664629124104977e-12 6.3664629124104977e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Overall NLP error.......: 6.3664629124104977e-12 6.3664629124104977e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective function evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective gradient evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.H101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.H101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.H101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 0 0.0000000e+00 1.44e+05 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 1 0.0000000e+00 8.53e+04 1.03e+01 -1.0 3.65e+04 - 1.44e-01 5.96e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 2 0.0000000e+00 5.59e+04 4.56e+02 -1.0 1.46e+04 - 9.90e-01 3.84e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 3 0.0000000e+00 5.46e+04 2.28e+04 -1.0 9.01e+03 - 9.64e-01 2.49e-02h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 4 0.0000000e+00 5.45e+04 8.49e+07 -1.0 8.79e+03 - 9.90e-01 2.77e-04h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 5r 0.0000000e+00 5.45e+04 1.00e+03 0.8 0.00e+00 - 0.00e+00 3.46e-07R 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 6r 0.0000000e+00 4.52e+04 1.72e+03 0.8 4.86e+04 - 3.39e-03 5.74e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 7r 0.0000000e+00 4.54e+04 2.22e+03 0.8 2.56e+04 - 7.23e-03 2.69e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 8r 0.0000000e+00 4.37e+04 2.43e+03 0.8 2.00e+04 - 1.36e-02 6.74e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 9r 0.0000000e+00 4.06e+04 4.57e+03 0.8 2.05e+04 - 7.28e-02 2.92e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 10r 0.0000000e+00 3.45e+04 7.90e+03 0.8 2.00e+04 - 2.01e-01 1.27e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 11r 0.0000000e+00 1.21e+04 2.39e+04 0.8 1.70e+04 - 2.59e-01 5.42e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 12r 0.0000000e+00 2.72e+03 1.77e+04 0.8 6.44e+03 - 1.00e+00 5.14e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 13r 0.0000000e+00 6.69e+02 6.62e+03 0.8 2.22e+03 - 1.00e+00 4.48e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 14r 0.0000000e+00 1.14e+03 6.61e+03 0.8 3.49e+02 - 1.00e+00 7.81e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 15r 0.0000000e+00 5.91e+02 1.93e+01 0.8 9.22e+01 - 1.00e+00 1.00e+00f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 16r 0.0000000e+00 2.19e+02 3.80e+02 -1.3 8.85e+02 - 9.43e-01 7.97e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 17r 0.0000000e+00 1.17e+02 2.34e+03 -1.3 8.99e+03 - 3.28e-01 1.18e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 18r 0.0000000e+00 2.25e+02 3.17e+03 -1.3 1.46e+04 - 2.67e-02 1.27e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 19r 0.0000000e+00 3.95e+02 1.19e+04 -1.3 4.01e+03 - 7.78e-01 1.99e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 20r 0.0000000e+00 2.40e+03 7.42e+03 -1.3 1.98e+03 - 1.00e+00 7.03e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 21r 0.0000000e+00 3.00e+02 1.47e+04 -1.3 3.39e+03 - 6.90e-01 1.00e+00f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 22r 0.0000000e+00 2.71e-01 4.33e+03 -1.3 2.52e+02 - 4.82e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 23r 0.0000000e+00 3.15e-01 5.75e+00 -1.3 2.74e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 24r 0.0000000e+00 1.02e-01 5.63e-02 -1.3 3.50e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 25r 0.0000000e+00 3.63e+00 8.07e+01 -4.5 6.57e+01 - 8.61e-01 9.36e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 26r 0.0000000e+00 1.31e+03 5.28e+03 -4.5 1.63e+06 - 1.55e-02 6.19e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 27r 0.0000000e+00 1.31e+03 5.27e+05 -4.5 6.86e+05 - 3.68e-01 5.27e-04f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 28r 0.0000000e+00 1.87e+03 4.39e+05 -4.5 1.60e+05 - 3.22e-02 1.15e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 29r 0.0000000e+00 1.78e+03 1.38e+05 -4.5 1.44e+05 - 1.00e+00 5.04e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 30r 0.0000000e+00 6.19e+02 1.35e+05 -4.5 3.83e+04 - 1.00e+00 6.55e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 31r 0.0000000e+00 4.41e+02 2.68e+05 -4.5 1.22e+04 - 1.00e+00 2.88e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 32r 0.0000000e+00 1.86e+02 4.62e+07 -4.5 9.50e+03 - 1.00e+00 9.78e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 33r 0.0000000e+00 1.84e+02 3.37e+07 -4.5 2.29e+02 - 4.62e-01 1.41e-02h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 34r 0.0000000e+00 1.76e+02 3.09e+07 -4.5 2.51e+02 - 4.97e-02 4.70e-02h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 35r 0.0000000e+00 9.49e+01 1.37e+07 -4.5 2.16e+02 - 6.25e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 36r 0.0000000e+00 8.67e+01 1.24e+07 -4.5 7.70e+00 -4.0 9.10e-02 1.02e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 37r 0.0000000e+00 8.67e+01 1.20e+07 -4.5 5.91e+04 - 2.30e-03 8.20e-05h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 38r 0.0000000e+00 8.66e+01 1.56e+07 -4.5 5.70e+02 -4.5 6.32e-06 1.89e-03h 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 39r 0.0000000e+00 8.66e+01 1.22e+07 -4.5 2.59e+01 -2.2 3.32e-02 5.58e-07f 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 40r 0.0000000e+00 8.44e+01 1.98e+07 -4.5 6.14e+00 -1.8 5.60e-01 2.74e-02h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 41r 0.0000000e+00 8.12e+01 1.05e+07 -4.5 4.67e+01 -2.3 2.31e-02 1.18e-01h 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 42r 0.0000000e+00 7.88e+01 1.01e+07 -4.5 3.70e+01 -1.9 3.66e-02 4.33e-02h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 43r 0.0000000e+00 7.55e+01 3.32e+07 -4.5 1.51e+01 -1.4 2.07e-01 5.71e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 44r 0.0000000e+00 7.10e+01 2.94e+07 -4.5 7.40e+00 -1.0 5.30e-02 8.31e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 45r 0.0000000e+00 7.10e+01 1.00e+08 -4.5 4.33e+02 -1.5 1.89e-02 5.90e-04h 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 46r 0.0000000e+00 7.07e+01 9.61e+07 -4.5 3.30e+01 -1.1 3.22e-06 5.74e-03h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 47r 0.0000000e+00 7.07e+01 9.37e+07 -4.5 7.54e-01 0.3 3.39e-03 4.94e-05h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 48r 0.0000000e+00 7.02e+01 9.31e+07 -4.5 8.69e-01 -0.2 1.40e-02 6.86e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 49r 0.0000000e+00 7.02e+01 7.83e+07 -4.5 4.06e+00 -0.7 8.59e-03 5.24e-07h 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 50r 0.0000000e+00 7.02e+01 8.84e+07 -4.5 5.36e+05 - 6.87e-03 6.32e-05f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 51r 0.0000000e+00 7.02e+01 8.84e+07 -4.5 2.23e+01 -1.2 6.00e-04 2.49e-04f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 52r 0.0000000e+00 7.02e+01 8.84e+07 -4.5 4.56e+04 - 8.86e-07 1.79e-07f 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 53r 0.0000000e+00 7.02e+01 8.84e+07 -4.5 4.74e+01 -0.7 0.00e+00 1.05e-07R 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 54r 0.0000000e+00 7.02e+01 8.55e+07 -4.5 1.92e+00 -0.3 8.30e-03 5.53e-05f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 55r 0.0000000e+00 7.02e+01 8.49e+07 -4.5 6.73e+00 -0.8 2.21e-03 7.55e-04f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 56r 0.0000000e+00 7.02e+01 8.47e+07 -4.5 1.39e+01 -1.3 6.52e-04 1.79e-04f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 57r 0.0000000e+00 7.02e+01 5.83e+07 -4.5 2.41e+00 -0.8 6.44e-02 4.45e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 58r 0.0000000e+00 7.08e+01 3.00e+07 -4.5 1.27e+01 0.5 1.84e-06 4.40e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 59r 0.0000000e+00 7.09e+01 2.85e+07 -4.5 3.37e-01 5.4 1.62e-04 3.53e-04f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 60r 0.0000000e+00 8.17e+01 9.09e+07 -4.5 2.68e-03 5.8 3.44e-02 7.41e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 61r 0.0000000e+00 8.13e+01 5.59e+06 -4.5 6.99e-04 6.3 3.87e-01 2.13e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 62r 0.0000000e+00 7.94e+01 9.71e+06 -4.5 5.51e-03 5.8 6.09e-03 1.14e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 63r 0.0000000e+00 7.70e+01 8.49e+06 -4.5 6.42e-04 6.2 1.32e-01 1.44e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 64r 0.0000000e+00 6.99e+01 4.15e+07 -4.5 7.40e-04 5.7 5.90e-03 3.15e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 65r 0.0000000e+00 6.69e+01 3.05e+07 -4.5 1.94e-03 5.3 1.68e-01 9.35e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 66r 0.0000000e+00 6.65e+01 1.73e+07 -4.5 3.53e-03 4.8 1.66e-01 1.01e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 67r 0.0000000e+00 6.66e+01 1.91e+07 -4.5 7.12e-01 4.3 7.93e-08 2.39e-04f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 68r 0.0000000e+00 6.21e+01 2.26e+07 -4.5 4.72e-03 3.8 3.59e-02 8.03e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 69r 0.0000000e+00 6.11e+01 2.67e+07 -4.5 1.52e-02 5.2 1.18e-03 2.16e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 70r 0.0000000e+00 6.06e+01 2.57e+07 -4.5 9.33e-03 4.7 2.20e-02 4.71e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 71r 0.0000000e+00 5.94e+01 2.56e+07 -4.5 5.44e-02 4.2 1.17e-03 2.04e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 72r 0.0000000e+00 5.64e+01 2.54e+07 -4.5 6.63e-02 4.6 1.18e-03 5.86e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 73r 0.0000000e+00 5.62e+01 2.50e+07 -4.5 3.12e-04 6.9 2.11e-01 1.80e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 74r 0.0000000e+00 5.50e+01 2.23e+07 -4.5 5.06e-05 7.3 1.00e+00 1.06e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 75r 0.0000000e+00 4.42e+01 3.39e+05 -4.5 1.91e-04 6.8 1.09e-01 9.19e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 76r 0.0000000e+00 4.29e+01 1.76e+05 -4.5 4.67e-04 6.3 6.07e-01 3.51e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 77r 0.0000000e+00 3.52e+01 9.37e+04 -4.5 1.49e-03 5.9 6.76e-01 4.61e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 78r 0.0000000e+00 3.34e+01 8.98e+04 -4.5 4.08e-03 5.4 1.28e-01 4.34e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 79r 0.0000000e+00 2.98e+01 8.64e+04 -4.5 1.41e-02 4.9 7.39e-02 4.13e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 80r 0.0000000e+00 2.62e+01 8.59e+04 -4.5 3.69e-02 4.4 3.81e-02 8.89e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 81r 0.0000000e+00 1.82e+01 8.53e+04 -4.5 1.21e-01 4.0 2.37e-02 1.05e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 82r 0.0000000e+00 1.40e+00 8.44e+04 -4.5 3.05e-01 3.5 1.14e-02 1.05e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 83r 0.0000000e+00 1.40e+00 8.41e+04 -4.5 8.05e-03 3.0 5.54e-03 3.93e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 84r 0.0000000e+00 1.50e+00 8.38e+04 -4.5 6.63e-02 2.5 3.00e-03 4.01e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 85r 0.0000000e+00 6.67e-01 3.67e+04 -4.5 2.31e-04 2.0 3.35e-01 5.45e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 86r 0.0000000e+00 6.16e-01 3.35e+04 -4.5 6.49e-04 1.6 9.94e-01 7.55e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 87r 0.0000000e+00 3.67e-01 1.99e+04 -4.5 1.71e-03 1.1 4.48e-01 4.03e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 88r 0.0000000e+00 2.54e-01 1.38e+04 -4.5 3.84e-03 0.6 1.00e+00 3.06e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 89r 0.0000000e+00 1.58e-03 6.76e+01 -4.5 1.53e-02 0.1 9.18e-01 1.00e+00f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 90r 0.0000000e+00 5.50e+01 1.94e+06 -4.5 2.29e+04 - 1.00e+00 4.66e-04f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 91r 0.0000000e+00 4.48e+02 6.40e+07 -4.5 8.88e+00 - 2.70e-01 1.00e+00f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 92r 0.0000000e+00 4.43e+02 6.35e+07 -4.5 1.78e+03 - 6.05e-03 2.57e-02h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 93r 0.0000000e+00 4.41e+02 6.32e+07 -4.5 2.23e+00 -0.3 7.42e-03 4.12e-03h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 94r 0.0000000e+00 4.40e+02 6.30e+07 -4.5 1.50e+01 -0.8 9.90e-04 4.51e-03h 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 95r 0.0000000e+00 4.40e+02 6.30e+07 -4.5 4.73e+03 -1.3 0.00e+00 4.75e-07R 8\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 96r 0.0000000e+00 4.40e+02 6.23e+07 -4.5 3.06e-04 6.6 1.31e-01 1.06e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 97r 0.0000000e+00 4.39e+02 5.85e+07 -4.5 8.53e-04 6.1 3.89e-01 5.90e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 98r 0.0000000e+00 4.39e+02 5.80e+07 -4.5 2.96e-03 5.6 9.68e-03 8.82e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 99r 0.0000000e+00 4.25e+02 4.95e+07 -4.5 1.13e-03 6.0 3.50e-02 1.00e+00f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 100r 0.0000000e+00 4.23e+02 1.52e+07 -4.5 3.81e-04 6.5 2.85e-01 1.00e+00f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 101r 0.0000000e+00 4.22e+02 1.50e+07 -4.5 1.03e-03 6.0 5.68e-01 1.11e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 102r 0.0000000e+00 4.21e+02 1.45e+07 -4.5 3.61e-03 5.5 2.88e-01 3.15e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 103r 0.0000000e+00 4.13e+02 1.45e+07 -4.5 1.59e-01 5.0 1.42e-03 3.88e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 104r 0.0000000e+00 4.13e+02 1.45e+07 -4.5 4.42e-04 6.3 9.74e-01 9.03e-04f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 105r 0.0000000e+00 4.01e+02 4.54e+06 -4.5 1.56e-03 5.9 2.61e-01 1.00e+00f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 106r 0.0000000e+00 3.99e+02 2.25e+06 -4.5 3.76e-03 5.4 7.08e-01 1.76e-01F 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 107r 0.0000000e+00 3.74e+02 1.90e+06 -4.5 1.31e-02 4.9 3.64e-01 2.05e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 108r 0.0000000e+00 3.42e+02 1.78e+06 -4.5 3.87e-02 4.4 2.09e-01 8.37e-02f 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 109r 0.0000000e+00 3.06e+02 1.75e+06 -4.5 1.39e-01 4.0 1.67e-02 2.31e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 110r 0.0000000e+00 3.04e+02 1.74e+06 -4.5 6.29e-02 4.4 3.47e-03 4.51e-03f 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 111r 0.0000000e+00 3.01e+02 1.70e+06 -4.5 1.41e-02 4.8 1.55e-02 1.89e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 112r 0.0000000e+00 3.01e+02 1.70e+06 -4.5 5.68e-02 4.3 3.23e-06 5.96e-05f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 113r 0.0000000e+00 3.01e+02 1.70e+06 -4.5 1.09e-01 4.8 7.36e-03 5.36e-06f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 114r 0.0000000e+00 2.83e+02 1.65e+06 -4.5 5.50e-02 4.3 7.29e-04 3.24e-02f 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 115r 0.0000000e+00 2.83e+02 1.65e+06 -4.5 1.79e-02 4.7 1.35e-01 3.48e-04f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 116r 0.0000000e+00 2.82e+02 1.65e+06 -4.5 6.16e-02 4.2 1.98e-03 2.04e-04f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 117r 0.0000000e+00 2.82e+02 1.65e+06 -4.5 9.60e-02 4.7 5.15e-03 2.06e-04h 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 118r 0.0000000e+00 2.74e+02 1.63e+06 -4.5 7.03e-02 4.2 3.52e-02 1.16e-02f 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 119r 0.0000000e+00 2.72e+02 1.62e+06 -4.5 2.29e-02 4.6 1.26e-01 4.99e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 120r 0.0000000e+00 2.60e+02 1.60e+06 -4.5 7.89e-02 4.1 1.83e-04 1.45e-02f 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 121r 0.0000000e+00 2.60e+02 1.60e+06 -4.5 3.48e-03 5.5 1.00e+00 1.34e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 122r 0.0000000e+00 2.26e+02 1.13e+06 -4.5 1.11e-02 5.0 7.20e-01 3.27e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 123r 0.0000000e+00 1.98e+02 1.05e+06 -4.5 3.33e-02 4.5 4.09e-02 8.65e-02f 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 124r 0.0000000e+00 1.70e+02 1.02e+06 -4.5 9.90e-02 4.0 2.62e-01 2.71e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 125r 0.0000000e+00 1.60e+02 1.02e+06 -4.5 3.70e-01 3.6 3.45e-02 2.58e-03f 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 126r 0.0000000e+00 1.55e+02 1.02e+06 -4.5 3.14e+00 3.1 4.96e-04 1.42e-04f 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 127r 0.0000000e+00 1.55e+02 1.02e+06 -4.5 3.67e-02 4.4 1.77e-01 1.29e-04f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 128r 0.0000000e+00 1.48e+02 1.01e+06 -4.5 1.26e-01 3.9 8.13e-03 5.22e-03f 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 129r 0.0000000e+00 1.47e+02 1.01e+06 -4.5 7.75e-02 4.4 1.51e-02 9.33e-04f 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 130r 0.0000000e+00 1.43e+02 1.01e+06 -4.5 1.52e-01 3.9 6.57e-03 2.53e-03f 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 131r 0.0000000e+00 1.39e+02 9.99e+05 -4.5 4.81e-02 4.3 1.08e-01 8.55e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 132r 0.0000000e+00 1.33e+02 9.96e+05 -4.5 1.72e-01 3.8 2.16e-05 3.03e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 133r 0.0000000e+00 1.33e+02 9.96e+05 -4.5 1.04e-01 4.3 2.62e-07 1.60e-05f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 134r 0.0000000e+00 1.33e+02 9.96e+05 -4.5 2.22e+00 3.8 5.24e-10 3.85e-07f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 135r 0.0000000e+00 1.33e+02 9.96e+05 -4.5 6.49e-01 4.2 6.02e-09 1.73e-07f 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 136r 0.0000000e+00 1.33e+02 9.95e+05 -4.5 2.05e-02 4.6 2.07e-02 8.34e-06f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 137r 0.0000000e+00 1.17e+02 9.75e+05 -4.5 7.55e-02 4.1 1.94e-02 2.11e-02f 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 138r 0.0000000e+00 1.17e+02 9.75e+05 -4.5 2.60e-02 4.6 7.70e-02 1.91e-05f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 139r 0.0000000e+00 1.11e+02 9.60e+05 -4.5 8.49e-02 4.1 5.34e-02 1.64e-02f 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 140r 0.0000000e+00 1.11e+02 9.54e+05 -4.5 3.58e-02 4.5 1.23e-01 6.78e-03f 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 141r 0.0000000e+00 1.08e+02 9.42e+05 -4.5 9.56e-02 4.0 1.78e-01 1.24e-02f 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 142r 0.0000000e+00 1.08e+02 9.37e+05 -4.5 3.05e-02 4.5 1.24e-01 5.17e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 143r 0.0000000e+00 1.05e+02 9.28e+05 -4.5 1.07e-01 4.0 2.08e-04 9.89e-03f 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 144r 0.0000000e+00 1.05e+02 9.28e+05 -4.5 3.43e-02 4.4 3.06e-02 1.73e-04f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 145r 0.0000000e+00 1.05e+02 9.26e+05 -4.5 1.19e-01 3.9 3.70e-04 2.21e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 146r 0.0000000e+00 1.05e+02 9.26e+05 -4.5 3.54e-02 4.4 8.94e-03 3.89e-06f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 147r 0.0000000e+00 1.03e+02 9.20e+05 -4.5 1.34e-01 3.9 1.57e-03 6.76e-03f 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 148r 0.0000000e+00 1.03e+02 9.20e+05 -4.5 5.08e-02 4.3 7.88e-01 1.75e-04f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 149r 0.0000000e+00 7.72e+01 8.46e+05 -4.5 1.45e-01 3.8 1.60e-01 7.86e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 150r 0.0000000e+00 5.06e+01 8.20e+05 -4.5 3.95e-01 3.4 1.69e-06 2.98e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 151r 0.0000000e+00 4.84e+01 7.78e+05 -4.5 1.87e-02 4.7 1.12e-01 3.37e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 152r 0.0000000e+00 2.27e+01 6.38e+05 -4.5 6.44e-02 4.2 3.65e-01 2.10e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 153r 0.0000000e+00 1.68e+01 6.38e+05 -4.5 5.31e+05 - 3.98e-02 4.51e-05f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 154r 0.0000000e+00 1.61e+01 6.09e+05 -4.5 3.54e-03 3.7 2.13e-02 3.70e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 155r 0.0000000e+00 1.65e+01 6.06e+05 -4.5 1.89e-01 3.3 1.31e-06 1.92e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 156r 0.0000000e+00 1.65e+01 6.06e+05 -4.5 6.90e+04 - 4.47e-06 7.87e-05f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 157r 0.0000000e+00 1.65e+01 6.06e+05 -4.5 2.08e+00 2.8 5.85e-04 2.48e-07f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 158r 0.0000000e+00 1.52e+01 8.19e+05 -4.5 1.57e+05 - 1.00e+00 7.37e-03f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 159r 0.0000000e+00 5.60e+01 1.03e+06 -4.5 7.41e+02 - 1.00e+00 1.29e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 160r 0.0000000e+00 5.54e+01 1.03e+06 -4.5 9.99e+02 - 9.92e-04 1.01e-02h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 161r 0.0000000e+00 1.06e+02 1.63e+06 -4.5 1.24e+03 - 1.00e+00 5.59e-02f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 162r 0.0000000e+00 2.66e+01 1.87e+06 -4.5 1.08e+03 - 6.59e-01 5.75e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 163r 0.0000000e+00 2.25e+01 4.38e+05 -4.5 4.42e+02 - 1.00e+00 9.71e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 164r 0.0000000e+00 2.05e-01 4.07e+03 -4.5 1.12e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: 165r 0.0000000e+00 7.88e-05 1.61e+00 -4.5 1.24e-02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: Number of Iterations....: 165\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: Constraint violation....: 1.4182702752789231e-08 7.8801036579534411e-05\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: Overall NLP error.......: 1.4182702752789231e-08 7.8801036579534411e-05\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: Number of objective function evaluations = 299\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: Number of objective gradient evaluations = 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: Number of equality constraint evaluations = 301\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: Number of equality constraint Jacobian evaluations = 169\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: Number of Lagrangian Hessian evaluations = 165\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: Total CPU secs in IPOPT (w/o function evaluations) = 0.069\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: Total CPU secs in NLP function evaluations = 0.003\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.H101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.H101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.H101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.H101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 0 0.0000000e+00 1.92e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 1 0.0000000e+00 1.46e-11 0.00e+00 -1.0 1.92e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Constraint violation....: 1.4551915228366852e-11 1.4551915228366852e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Overall NLP error.......: 1.4551915228366852e-11 1.4551915228366852e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 0 0.0000000e+00 6.26e+07 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 1 0.0000000e+00 2.91e-11 0.00e+00 -1.0 6.26e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Constraint violation....: 2.9103830456733704e-11 2.9103830456733704e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Overall NLP error.......: 2.9103830456733704e-11 2.9103830456733704e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.R101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.R101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.R101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in equality constraint Jacobian...: 102\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in Lagrangian Hessian.............: 72\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: 0 0.0000000e+00 3.50e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: 1 0.0000000e+00 1.27e+07 1.40e+03 -1.0 1.10e+05 - 7.92e-02 4.95e-01h 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: 2 0.0000000e+00 1.13e+07 1.23e+03 -1.0 8.57e+04 - 7.40e-01 1.24e-01h 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: 3 0.0000000e+00 1.13e+07 1.25e+03 -1.0 7.81e+04 - 7.86e-01 1.93e-03h 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: 4 0.0000000e+00 1.13e+07 1.27e+03 -1.0 7.79e+04 - 9.90e-01 4.83e-04h 12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: 5 0.0000000e+00 1.13e+07 1.29e+03 -1.0 7.79e+04 - 9.90e-01 2.42e-04h 13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: 6 0.0000000e+00 1.13e+07 1.31e+03 -1.0 7.79e+04 - 1.00e+00 6.04e-05h 15\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: 7 0.0000000e+00 1.04e+07 1.31e+05 -1.0 7.79e+04 - 1.00e+00 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: 8 0.0000000e+00 1.08e+05 7.84e+04 -1.0 1.24e+04 - 1.00e+00 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: 9 0.0000000e+00 4.16e+04 9.36e+04 -1.0 7.40e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: 10 0.0000000e+00 5.09e-04 9.33e-02 -1.0 4.16e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: 11 0.0000000e+00 5.22e-08 2.29e-09 -7.0 9.13e-07 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: Number of Iterations....: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: Constraint violation....: 2.0037676417114954e-11 5.2154064178466803e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: Overall NLP error.......: 2.0037676417114954e-11 5.2154064178466803e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: Number of objective function evaluations = 66\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: Number of objective gradient evaluations = 12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: Number of equality constraint evaluations = 66\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: Number of equality constraint Jacobian evaluations = 12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: Number of Lagrangian Hessian evaluations = 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.R101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.R101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.R101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.R101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 0 0.0000000e+00 9.22e+07 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 1 0.0000000e+00 2.98e-08 0.00e+00 -1.0 9.45e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Constraint violation....: 2.9802322387695314e-09 2.9802322387695312e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Overall NLP error.......: 2.9802322387695314e-09 2.9802322387695312e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 0 0.0000000e+00 1.43e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 1 0.0000000e+00 2.98e-13 0.00e+00 -1.0 1.43e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Constraint violation....: 2.9842794901924208e-13 2.9842794901924208e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Overall NLP error.......: 2.9842794901924208e-13 2.9842794901924208e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.F101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.F101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.F101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: 0 0.0000000e+00 1.17e+05 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: 1 0.0000000e+00 1.28e+05 8.02e+01 -1.0 9.79e+03 - 1.39e-02 1.19e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: 2 0.0000000e+00 1.05e+05 2.50e+03 -1.0 3.38e+04 - 3.47e-03 2.64e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: 3 0.0000000e+00 4.52e+04 1.99e+03 -1.0 1.08e+04 - 9.89e-01 5.59e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: 4 0.0000000e+00 6.23e+03 3.63e+02 -1.0 6.26e+03 - 8.95e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: 5 0.0000000e+00 3.17e+02 1.80e+01 -1.0 3.02e+02 - 9.90e-01 9.66e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: 6 0.0000000e+00 2.76e-01 3.87e+01 -1.0 9.51e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: 7 0.0000000e+00 2.04e-07 3.21e-02 -3.8 1.64e-03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: Number of Iterations....: 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: Constraint violation....: 6.0647087810765159e-11 2.0424340618774292e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: Overall NLP error.......: 6.0647087810765159e-11 2.0424340618774292e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: Number of objective function evaluations = 8\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: Number of objective gradient evaluations = 8\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: Number of equality constraint evaluations = 8\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: Number of equality constraint Jacobian evaluations = 8\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: Number of Lagrangian Hessian evaluations = 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.F101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.F101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.F101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.S101.purge_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.S101.recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in equality constraint Jacobian...: 29\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: Total number of variables............................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: variables with lower and upper bounds: 20\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: Total number of equality constraints.................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: 0 0.0000000e+00 1.00e-02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: 1 0.0000000e+00 1.00e-04 1.14e-05 -1.0 1.00e-02 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: 2 0.0000000e+00 9.88e-07 1.04e-01 -1.0 1.00e-04 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: Constraint violation....: 9.8800099999998489e-07 9.8800099999998489e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: Overall NLP error.......: 9.8800099999998489e-07 9.8800099999998489e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.S101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.S101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.F102.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.F102.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: 0 0.0000000e+00 7.00e+08 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: 1 0.0000000e+00 3.63e-08 0.00e+00 -1.0 7.00e+05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Constraint violation....: 3.6321580410003665e-09 3.6321580410003662e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Overall NLP error.......: 3.6321580410003665e-09 3.6321580410003662e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.F102.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.F102.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: 0 0.0000000e+00 7.00e+08 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: 1 0.0000000e+00 8.98e+02 0.00e+00 -1.0 7.65e+05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: 2 0.0000000e+00 5.89e+02 0.00e+00 -1.0 4.68e+06 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: 3 0.0000000e+00 3.38e+02 0.00e+00 -1.0 1.97e+07 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: 4 0.0000000e+00 1.53e+02 0.00e+00 -1.0 5.12e+07 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: 5 0.0000000e+00 4.47e+01 0.00e+00 -1.0 7.04e+07 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: 6 0.0000000e+00 5.10e+00 0.00e+00 -1.0 3.94e+07 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: 7 0.0000000e+00 7.67e-02 0.00e+00 -1.0 5.71e+06 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: 8 0.0000000e+00 1.77e-05 0.00e+00 -2.5 8.86e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: 9 0.0000000e+00 9.95e-13 0.00e+00 -7.0 2.04e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Number of Iterations....: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Constraint violation....: 9.9475983006414026e-13 9.9475983006414026e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Overall NLP error.......: 9.9475983006414026e-13 9.9475983006414026e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Number of objective function evaluations = 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Number of objective gradient evaluations = 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Number of equality constraint evaluations = 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.F102.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.F102.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.F102: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: 0 0.0000000e+00 9.03e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: 1 0.0000000e+00 3.70e+04 6.71e+00 -1.0 2.03e+04 - 9.90e-01 7.88e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: 2 0.0000000e+00 7.96e+03 1.00e+02 -1.0 3.88e+03 - 8.89e-01 9.03e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: 3 0.0000000e+00 1.10e+03 2.77e+04 -1.0 1.55e+03 - 9.90e-01 9.82e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: 4 0.0000000e+00 2.97e+02 7.45e+05 -1.0 3.70e+02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: 5 0.0000000e+00 4.45e-01 2.09e+04 -1.0 5.52e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: 6 0.0000000e+00 2.57e-05 1.41e+01 -1.0 1.21e-01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: Number of Iterations....: 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: Constraint violation....: 1.5226407084512139e-10 2.5742469006218020e-05\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: Overall NLP error.......: 1.5226407084512139e-10 2.5742469006218020e-05\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: Number of objective function evaluations = 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: Number of objective gradient evaluations = 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: Number of equality constraint evaluations = 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: Number of equality constraint Jacobian evaluations = 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: Number of Lagrangian Hessian evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.F102: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.F102: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.F102.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.F102: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 0 0.0000000e+00 8.25e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 1 0.0000000e+00 5.68e-14 0.00e+00 -1.0 8.25e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Constraint violation....: 5.6843418860808015e-14 5.6843418860808015e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Overall NLP error.......: 5.6843418860808015e-14 5.6843418860808015e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 0 0.0000000e+00 8.25e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 1 0.0000000e+00 5.68e-14 0.00e+00 -1.0 8.25e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Constraint violation....: 5.6843418860808015e-14 5.6843418860808015e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Overall NLP error.......: 5.6843418860808015e-14 5.6843418860808015e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.C101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.C101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.C101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in equality constraint Jacobian...: 74\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in Lagrangian Hessian.............: 63\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: Total number of variables............................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: Total number of equality constraints.................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: 0 0.0000000e+00 9.18e+02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: 1 0.0000000e+00 1.32e+01 5.18e-04 -1.0 2.28e+01 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: 2 0.0000000e+00 2.35e-03 9.67e-14 -1.0 2.25e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: 3 0.0000000e+00 3.64e-12 3.47e-13 -2.5 2.35e-03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: Number of Iterations....: 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: Constraint violation....: 3.1719263458133377e-12 3.6379788070917130e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: Overall NLP error.......: 3.1719263458133377e-12 3.6379788070917130e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: Number of objective function evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: Number of objective gradient evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: Number of equality constraint evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: Number of equality constraint Jacobian evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: Number of Lagrangian Hessian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.C101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.C101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.C101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.C101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: 0 0.0000000e+00 1.78e-12 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Constraint violation....: 1.7763568394002505e-12 1.7763568394002505e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Overall NLP error.......: 1.7763568394002505e-12 1.7763568394002505e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:07 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: 0 0.0000000e+00 2.84e-14 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Constraint violation....: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Overall NLP error.......: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 0 0.0000000e+00 8.25e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 1 0.0000000e+00 5.68e-14 0.00e+00 -1.0 8.25e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Constraint violation....: 5.6843418860808015e-14 5.6843418860808015e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Overall NLP error.......: 5.6843418860808015e-14 5.6843418860808015e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: 0 0.0000000e+00 5.80e+05 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: 1 0.0000000e+00 3.13e-13 0.00e+00 -1.0 1.33e+03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: Constraint violation....: 3.1263880373444408e-13 3.1263880373444408e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: Overall NLP error.......: 3.1263880373444408e-13 3.1263880373444408e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.mixed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.M101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in equality constraint Jacobian...: 117\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in Lagrangian Hessian.............: 65\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: Total number of variables............................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: Total number of equality constraints.................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: 0 0.0000000e+00 4.42e+02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: 1 0.0000000e+00 1.72e+03 2.76e+00 -1.0 5.66e+02 - 9.85e-01 9.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: 2 0.0000000e+00 3.48e+00 1.01e+01 -1.0 4.85e+01 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: 3 0.0000000e+00 2.84e-06 3.38e+01 -1.0 3.19e-02 - 9.91e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: Number of Iterations....: 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: Constraint violation....: 3.3630239142481114e-09 2.8386712074279785e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: Overall NLP error.......: 3.3630239142481114e-09 2.8386712074279785e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: Number of objective function evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: Number of objective gradient evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: Number of equality constraint evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: Number of equality constraint Jacobian evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: Number of Lagrangian Hessian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.M101.toluene_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.M101.hydrogen_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.M101.vapor_recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 0 0.0000000e+00 6.00e+05 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 1 0.0000000e+00 2.27e-13 0.00e+00 -1.0 1.61e+03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Constraint violation....: 2.2737367544323206e-13 2.2737367544323206e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Overall NLP error.......: 2.2737367544323206e-13 2.2737367544323206e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 0 0.0000000e+00 3.24e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 1 0.0000000e+00 1.09e+01 0.00e+00 -1.0 6.35e+06 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 2 0.0000000e+00 3.73e-01 0.00e+00 -1.0 2.52e+05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 3 0.0000000e+00 4.59e-04 0.00e+00 -1.7 4.46e+02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 4 0.0000000e+00 7.00e-10 0.00e+00 -5.7 3.70e-01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Iterations....: 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Constraint violation....: 6.9962879933882505e-10 6.9962879933882505e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Overall NLP error.......: 6.9962879933882505e-10 6.9962879933882505e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective function evaluations = 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective gradient evaluations = 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint evaluations = 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.H101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.H101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.H101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: 0 0.0000000e+00 1.05e+05 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: 1 0.0000000e+00 5.93e+04 1.13e+01 -1.0 2.36e+04 - 9.10e-02 5.64e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: 2 0.0000000e+00 2.98e+04 3.85e+00 -1.0 1.03e+04 - 9.90e-01 5.47e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: 3 0.0000000e+00 1.39e+04 1.30e+04 -1.0 4.72e+03 - 9.90e-01 5.60e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: 4 0.0000000e+00 1.33e+03 1.60e+08 -1.0 2.08e+03 - 9.92e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: 5 0.0000000e+00 6.98e+02 8.17e+07 -1.0 2.38e+01 - 1.00e+00 6.05e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: 6 0.0000000e+00 1.49e+02 3.71e+08 -1.0 9.38e+00 - 4.26e-02 4.96e-01f 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: 7 0.0000000e+00 7.19e+01 6.66e+06 -1.0 4.73e+00 - 1.00e+00 4.96e-01h 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: 8 0.0000000e+00 2.79e+01 7.00e+08 -1.0 2.38e+00 - 1.00e+00 9.94e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: 9 0.0000000e+00 7.04e+00 1.76e+08 -1.0 1.50e-02 - 1.00e+00 5.00e-01h 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: 10 0.0000000e+00 6.93e+00 1.74e+08 -1.0 7.52e-03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: 11 0.0000000e+00 1.47e-04 3.72e+03 -1.0 7.73e-07 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: 12 0.0000000e+00 4.37e-11 8.57e-03 -1.7 1.58e-07 - 1.00e+00 1.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: Number of Iterations....: 12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: Constraint violation....: 2.2737367544323206e-13 4.3655745685100555e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: Overall NLP error.......: 2.2737367544323206e-13 4.3655745685100555e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: Number of objective function evaluations = 20\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: Number of objective gradient evaluations = 13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: Number of equality constraint evaluations = 20\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: Number of equality constraint Jacobian evaluations = 13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: Number of Lagrangian Hessian evaluations = 12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: Total CPU secs in IPOPT (w/o function evaluations) = 0.003\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.H101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.H101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.H101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.H101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 0 0.0000000e+00 8.69e+03 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 1 0.0000000e+00 3.64e-12 0.00e+00 -1.0 8.69e+03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Constraint violation....: 3.6379788070917130e-12 3.6379788070917130e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Overall NLP error.......: 3.6379788070917130e-12 3.6379788070917130e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 0 0.0000000e+00 1.55e+08 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 1 0.0000000e+00 2.98e-08 0.00e+00 -1.0 1.55e+05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Constraint violation....: 2.9802322387695314e-09 2.9802322387695312e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Overall NLP error.......: 2.9802322387695314e-09 2.9802322387695312e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.R101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.R101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.R101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in equality constraint Jacobian...: 102\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in Lagrangian Hessian.............: 72\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: 0 0.0000000e+00 3.47e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: 1 0.0000000e+00 5.18e+05 3.27e+01 -1.0 9.30e+04 - 1.51e-01 1.24e-01h 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: 2 0.0000000e+00 5.16e+05 3.91e+01 -1.0 8.67e+04 - 5.58e-01 1.55e-02h 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: 3 0.0000000e+00 5.14e+05 4.24e+01 -1.0 8.59e+04 - 3.40e-01 1.55e-02h 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: 4 0.0000000e+00 5.12e+05 4.89e+01 -1.0 8.51e+04 - 6.07e-01 1.55e-02h 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: 5 0.0000000e+00 3.05e+04 1.27e+04 -1.0 8.43e+04 - 3.85e-01 9.90e-01H 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: 6 0.0000000e+00 2.19e+04 3.31e+04 -1.0 1.35e+03 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: 7 0.0000000e+00 5.80e+04 2.14e+04 -1.0 3.92e+04 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: 8 0.0000000e+00 2.71e-04 2.73e-02 -1.0 5.80e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: 9 0.0000000e+00 5.22e-08 9.54e-10 -7.0 1.92e-07 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: Number of Iterations....: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: Constraint violation....: 2.8097163774505327e-11 5.2154064178466797e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: Overall NLP error.......: 2.8097163774505327e-11 5.2154064178466797e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: Number of objective function evaluations = 50\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: Number of objective gradient evaluations = 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: Number of equality constraint evaluations = 50\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: Number of equality constraint Jacobian evaluations = 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: Number of Lagrangian Hessian evaluations = 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: Total CPU secs in NLP function evaluations = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.R101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.R101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.R101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.R101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 0 0.0000000e+00 3.51e+07 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 1 0.0000000e+00 2.98e-08 0.00e+00 -1.0 3.59e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Constraint violation....: 2.9802322387695314e-09 2.9802322387695312e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Overall NLP error.......: 2.9802322387695314e-09 2.9802322387695312e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 0 0.0000000e+00 9.90e+03 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 1 0.0000000e+00 2.27e-13 0.00e+00 -1.0 9.90e+03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Constraint violation....: 2.2737367544323206e-13 2.2737367544323206e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Overall NLP error.......: 2.2737367544323206e-13 2.2737367544323206e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.F101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.F101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.F101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: 0 0.0000000e+00 8.74e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: 1 0.0000000e+00 7.30e+04 3.10e+01 -1.0 1.08e+04 - 4.52e-02 3.85e-01f 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: 2 0.0000000e+00 3.99e+04 3.26e+01 -1.0 7.60e+03 - 2.91e-01 4.83e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: 3 0.0000000e+00 2.87e+03 1.84e+01 -1.0 3.50e+03 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: 4 0.0000000e+00 1.31e+02 8.00e-01 -1.0 2.46e+02 - 9.90e-01 9.65e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: 5 0.0000000e+00 5.89e-02 2.42e+02 -1.0 7.54e+00 - 9.92e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: 6 0.0000000e+00 1.09e-08 1.29e-02 -3.8 1.80e-03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: Number of Iterations....: 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: Constraint violation....: 5.2154013264316498e-12 1.0946678230538964e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: Overall NLP error.......: 5.2154013264316498e-12 1.0946678230538964e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: Number of objective function evaluations = 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: Number of objective gradient evaluations = 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: Number of equality constraint evaluations = 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: Number of equality constraint Jacobian evaluations = 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: Number of Lagrangian Hessian evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.F101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.F101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.F101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.F101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.S101.purge_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.S101.recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in equality constraint Jacobian...: 29\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: Total number of variables............................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: variables with lower and upper bounds: 20\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: Total number of equality constraints.................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: 0 0.0000000e+00 1.00e-02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: 1 0.0000000e+00 1.00e-04 1.14e-05 -1.0 1.00e-02 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: 2 0.0000000e+00 9.88e-07 1.04e-01 -1.0 1.00e-04 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: Constraint violation....: 9.8800099999998489e-07 9.8800099999998489e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: Overall NLP error.......: 9.8800099999998489e-07 9.8800099999998489e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.S101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.S101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 0 0.0000000e+00 1.72e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 1 0.0000000e+00 4.55e-13 0.00e+00 -1.0 1.72e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Constraint violation....: 4.5474735088646412e-13 4.5474735088646412e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Overall NLP error.......: 4.5474735088646412e-13 4.5474735088646412e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 0 0.0000000e+00 1.72e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 1 0.0000000e+00 4.55e-13 0.00e+00 -1.0 1.72e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Constraint violation....: 4.5474735088646412e-13 4.5474735088646412e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Overall NLP error.......: 4.5474735088646412e-13 4.5474735088646412e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.C101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.C101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.C101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in equality constraint Jacobian...: 74\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in Lagrangian Hessian.............: 63\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: Total number of variables............................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: Total number of equality constraints.................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: 0 0.0000000e+00 3.63e+02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: 1 0.0000000e+00 9.87e-01 5.18e-04 -1.0 3.56e+00 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: 2 0.0000000e+00 3.56e-04 9.67e-14 -1.0 3.52e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: 3 0.0000000e+00 5.82e-11 3.47e-13 -2.5 3.56e-04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: Number of Iterations....: 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: Constraint violation....: 3.1719263458133377e-12 5.8207660913467407e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: Overall NLP error.......: 3.1719263458133377e-12 5.8207660913467407e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: Number of objective function evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: Number of objective gradient evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: Number of equality constraint evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: Number of equality constraint Jacobian evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: Number of Lagrangian Hessian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.C101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.C101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.C101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.C101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: 0 0.0000000e+00 1.78e-12 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Constraint violation....: 1.7763568394002505e-12 1.7763568394002505e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Overall NLP error.......: 1.7763568394002505e-12 1.7763568394002505e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:08 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: 0 0.0000000e+00 2.84e-14 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Constraint violation....: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Overall NLP error.......: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 0 0.0000000e+00 1.72e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 1 0.0000000e+00 4.55e-13 0.00e+00 -1.0 1.72e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Constraint violation....: 4.5474735088646412e-13 4.5474735088646412e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Overall NLP error.......: 4.5474735088646412e-13 4.5474735088646412e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: 0 0.0000000e+00 5.85e+05 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: 1 0.0000000e+00 3.98e-13 0.00e+00 -1.0 6.05e+02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: Constraint violation....: 3.9790393202565610e-13 3.9790393202565610e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: Overall NLP error.......: 3.9790393202565610e-13 3.9790393202565610e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.mixed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.M101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in equality constraint Jacobian...: 117\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in Lagrangian Hessian.............: 65\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: Total number of variables............................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: Total number of equality constraints.................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: 0 0.0000000e+00 2.24e+02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: 1 0.0000000e+00 2.98e+02 5.66e-01 -1.0 2.35e+02 - 9.88e-01 9.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: 2 0.0000000e+00 9.87e-01 9.99e+00 -1.0 1.69e+01 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: 3 0.0000000e+00 1.71e-07 3.28e+01 -1.0 1.13e-02 - 9.91e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: Number of Iterations....: 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: Constraint violation....: 2.0251180530023178e-10 1.7136335372924805e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: Overall NLP error.......: 2.0251180530023178e-10 1.7136335372924805e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: Number of objective function evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: Number of objective gradient evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: Number of equality constraint evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: Number of equality constraint Jacobian evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: Number of Lagrangian Hessian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.M101.toluene_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.M101.hydrogen_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.M101.vapor_recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 0 0.0000000e+00 7.74e+05 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 1 0.0000000e+00 4.69e-13 0.00e+00 -1.0 1.43e+03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Constraint violation....: 4.6895820560166612e-13 4.6895820560166612e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Overall NLP error.......: 4.6895820560166612e-13 4.6895820560166612e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 0 0.0000000e+00 2.04e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 1 0.0000000e+00 6.24e+01 0.00e+00 -1.0 1.17e+07 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 2 0.0000000e+00 1.08e+01 0.00e+00 -1.0 8.96e+05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 3 0.0000000e+00 3.91e-01 0.00e+00 -1.0 6.74e+03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 4 0.0000000e+00 5.40e-04 0.00e+00 -1.7 1.71e+02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 5 0.0000000e+00 1.04e-09 0.00e+00 -5.7 2.38e-01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Iterations....: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Constraint violation....: 1.0363692126702517e-09 1.0363692126702517e-09\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Overall NLP error.......: 1.0363692126702517e-09 1.0363692126702517e-09\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective function evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective gradient evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.H101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.H101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.H101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: 0 0.0000000e+00 5.41e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: 1 0.0000000e+00 2.71e+04 1.18e+01 -1.0 1.40e+04 - 6.36e-02 5.29e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: 2 0.0000000e+00 1.27e+04 5.09e+00 -1.0 8.31e+03 - 9.90e-01 5.21e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: 3 0.0000000e+00 5.78e+03 1.16e+04 -1.0 4.22e+03 - 9.90e-01 5.38e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: 4 0.0000000e+00 9.65e+02 4.37e+08 -1.0 2.01e+03 - 9.92e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: 5 0.0000000e+00 5.26e+02 2.40e+08 -1.0 1.89e+01 - 1.00e+00 6.08e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: 6 0.0000000e+00 2.80e+01 4.07e+08 -1.0 7.37e+00 - 3.97e-02 4.96e-01f 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: 7 0.0000000e+00 1.17e+01 6.12e+06 -1.0 3.72e+00 - 1.00e+00 4.98e-01h 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: 8 0.0000000e+00 1.74e+01 6.04e+08 -1.0 1.87e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: 9 0.0000000e+00 8.15e-02 2.83e+06 -1.0 1.66e-04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: 10 0.0000000e+00 3.57e-08 1.27e+00 -1.0 1.54e-08 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: Number of Iterations....: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: Constraint violation....: 7.0889160467221185e-12 3.5739503800868988e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: Overall NLP error.......: 7.0889160467221185e-12 3.5739503800868988e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: Number of objective function evaluations = 16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: Number of objective gradient evaluations = 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: Number of equality constraint evaluations = 16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: Number of equality constraint Jacobian evaluations = 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: Number of Lagrangian Hessian evaluations = 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.H101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.H101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.H101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.H101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 0 0.0000000e+00 1.04e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 1 0.0000000e+00 4.09e-12 0.00e+00 -1.0 1.04e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Constraint violation....: 4.0927261579781771e-12 4.0927261579781771e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Overall NLP error.......: 4.0927261579781771e-12 4.0927261579781771e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 0 0.0000000e+00 1.20e+08 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 1 0.0000000e+00 2.24e-08 0.00e+00 -1.0 1.20e+05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Constraint violation....: 2.2351741790771488e-09 2.2351741790771488e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Overall NLP error.......: 2.2351741790771488e-09 2.2351741790771488e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.R101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.R101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.R101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in equality constraint Jacobian...: 102\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in Lagrangian Hessian.............: 72\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: 0 0.0000000e+00 3.37e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: 1 0.0000000e+00 3.37e+04 5.26e+00 -1.0 5.46e+04 - 4.79e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: 2 0.0000000e+00 3.37e+04 1.18e+01 -1.0 5.45e+04 - 6.18e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: 3 0.0000000e+00 3.36e+04 1.87e+01 -1.0 5.45e+04 - 6.78e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: 4 0.0000000e+00 3.36e+04 2.86e+01 -1.0 5.45e+04 - 9.90e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: 5 0.0000000e+00 3.36e+04 3.49e+01 -1.0 5.44e+04 - 6.24e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: 6 0.0000000e+00 3.35e+04 4.48e+01 -1.0 5.44e+04 - 9.91e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: 7 0.0000000e+00 3.35e+04 5.02e+01 -1.0 5.43e+04 - 5.46e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: 8 0.0000000e+00 3.35e+04 6.02e+01 -1.0 5.43e+04 - 1.00e+00 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: 9 0.0000000e+00 3.34e+04 6.57e+01 -1.0 5.43e+04 - 5.48e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: 10 0.0000000e+00 3.34e+04 7.57e+01 -1.0 5.42e+04 - 1.00e+00 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: 11 0.0000000e+00 1.22e+07 3.74e+00 -1.0 5.42e+04 - 5.51e-01 9.90e-01w 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: 12 0.0000000e+00 1.69e+05 7.89e+01 -1.0 7.67e+03 - 1.00e+00 9.90e-01w 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: 13 0.0000000e+00 4.20e+04 6.56e+01 -1.0 2.33e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: 14 0.0000000e+00 3.71e-05 4.35e-02 -1.7 4.20e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: Number of Iterations....: 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: Constraint violation....: 1.2852738158978019e-08 3.7133693695068359e-05\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: Overall NLP error.......: 1.2852738158978019e-08 3.7133693695068359e-05\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: Number of objective function evaluations = 155\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: Number of objective gradient evaluations = 15\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: Number of equality constraint evaluations = 155\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: Number of equality constraint Jacobian evaluations = 15\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: Number of Lagrangian Hessian evaluations = 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: Total CPU secs in IPOPT (w/o function evaluations) = 0.004\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.R101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.R101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.R101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.R101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 0 0.0000000e+00 5.79e+07 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 1 0.0000000e+00 1.49e-08 0.00e+00 -1.0 5.94e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Constraint violation....: 1.4901161193847657e-09 1.4901161193847656e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Overall NLP error.......: 1.4901161193847657e-09 1.4901161193847656e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 0 0.0000000e+00 4.45e+03 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 1 0.0000000e+00 1.14e-12 0.00e+00 -1.0 4.45e+03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Constraint violation....: 1.1368683772161603e-12 1.1368683772161603e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Overall NLP error.......: 1.1368683772161603e-12 1.1368683772161603e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.F101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.F101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.F101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: 0 0.0000000e+00 5.18e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: 1 0.0000000e+00 3.81e+04 6.09e+00 -1.0 1.66e+04 - 1.31e-01 6.60e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: 2 0.0000000e+00 9.85e+03 2.82e+01 -1.0 5.30e+03 - 8.83e-01 6.24e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: 3 0.0000000e+00 1.72e+02 1.97e+01 -1.0 2.29e+03 - 8.30e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: 4 0.0000000e+00 1.40e+00 2.53e+00 -1.0 1.54e+01 - 9.90e-01 9.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: 5 0.0000000e+00 2.60e-06 7.26e+02 -1.0 1.27e-01 - 9.91e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: Number of Iterations....: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: Constraint violation....: 2.3414288502824821e-09 2.6022753445431590e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: Overall NLP error.......: 2.3414288502824821e-09 2.6022753445431590e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: Number of objective function evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: Number of objective gradient evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: Number of equality constraint evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: Number of equality constraint Jacobian evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: Number of Lagrangian Hessian evaluations = 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.F101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.F101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.F101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.F101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.S101.purge_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.S101.recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in equality constraint Jacobian...: 29\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: Total number of variables............................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: variables with lower and upper bounds: 20\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: Total number of equality constraints.................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: 0 0.0000000e+00 1.00e-02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: 1 0.0000000e+00 1.00e-04 1.14e-05 -1.0 1.00e-02 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: 2 0.0000000e+00 9.88e-07 1.04e-01 -1.0 1.00e-04 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: Constraint violation....: 9.8800099999998489e-07 9.8800099999998489e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: Overall NLP error.......: 9.8800099999998489e-07 9.8800099999998489e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.S101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.S101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 0 0.0000000e+00 7.35e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 1 0.0000000e+00 1.42e-13 0.00e+00 -1.0 7.35e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Constraint violation....: 1.4210854715202004e-13 1.4210854715202004e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Overall NLP error.......: 1.4210854715202004e-13 1.4210854715202004e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 0 0.0000000e+00 7.35e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 1 0.0000000e+00 1.42e-13 0.00e+00 -1.0 7.35e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Constraint violation....: 1.4210854715202004e-13 1.4210854715202004e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Overall NLP error.......: 1.4210854715202004e-13 1.4210854715202004e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.C101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.C101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.C101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in equality constraint Jacobian...: 74\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in Lagrangian Hessian.............: 63\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: Total number of variables............................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: Total number of equality constraints.................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: 0 0.0000000e+00 8.03e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: 1 0.0000000e+00 7.95e-01 5.18e-04 -1.0 1.00e-02 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: 2 0.0000000e+00 5.82e-11 9.67e-14 -1.0 9.90e-05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: Constraint violation....: 3.1719263458133377e-12 5.8207660913467407e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: Overall NLP error.......: 3.1719263458133377e-12 5.8207660913467407e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.C101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.C101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.C101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.C101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: 0 0.0000000e+00 1.78e-12 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Constraint violation....: 1.7763568394002505e-12 1.7763568394002505e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Overall NLP error.......: 1.7763568394002505e-12 1.7763568394002505e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: 0 0.0000000e+00 2.84e-14 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Constraint violation....: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Overall NLP error.......: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:09 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 0 0.0000000e+00 7.35e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 1 0.0000000e+00 1.42e-13 0.00e+00 -1.0 7.35e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Constraint violation....: 1.4210854715202004e-13 1.4210854715202004e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Overall NLP error.......: 1.4210854715202004e-13 1.4210854715202004e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: 0 0.0000000e+00 2.47e+05 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: 1 0.0000000e+00 5.12e-13 0.00e+00 -1.0 7.72e+02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: Constraint violation....: 5.1159076974727213e-13 5.1159076974727213e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: Overall NLP error.......: 5.1159076974727213e-13 5.1159076974727213e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.mixed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.M101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in equality constraint Jacobian...: 117\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in Lagrangian Hessian.............: 65\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: Total number of variables............................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: Total number of equality constraints.................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: 0 0.0000000e+00 3.58e+02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: 1 0.0000000e+00 1.84e+03 3.49e+00 -1.0 5.83e+02 - 7.71e-01 9.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: 2 0.0000000e+00 1.22e-01 1.01e+01 -1.0 5.51e+01 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: 3 0.0000000e+00 1.45e-06 3.74e+01 -1.0 2.11e-02 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: Number of Iterations....: 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: Constraint violation....: 1.6400136363658114e-09 1.4528632164001465e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: Overall NLP error.......: 1.6400136363658114e-09 1.4528632164001465e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: Number of objective function evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: Number of objective gradient evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: Number of equality constraint evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: Number of equality constraint Jacobian evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: Number of Lagrangian Hessian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.M101.toluene_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.M101.hydrogen_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.M101.vapor_recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 0 0.0000000e+00 3.96e+05 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 1 0.0000000e+00 4.66e-10 0.00e+00 -1.0 3.96e+02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Constraint violation....: 4.6566128730773928e-11 4.6566128730773926e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Overall NLP error.......: 4.6566128730773928e-11 4.6566128730773926e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 0 0.0000000e+00 1.04e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 1 0.0000000e+00 1.07e-03 0.00e+00 -1.0 5.71e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 2 0.0000000e+00 4.05e-09 0.00e+00 -5.7 2.68e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Constraint violation....: 4.0522536437492818e-09 4.0522536437492818e-09\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Overall NLP error.......: 4.0522536437492818e-09 4.0522536437492818e-09\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.H101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.H101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.H101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: 0 0.0000000e+00 5.31e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: 1 0.0000000e+00 2.73e+04 1.13e+01 -1.0 9.78e+03 - 9.34e-02 5.26e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: 2 0.0000000e+00 1.30e+04 5.18e+00 -1.0 4.93e+03 - 9.90e-01 5.20e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: 3 0.0000000e+00 5.95e+03 1.15e+04 -1.0 2.43e+03 - 9.90e-01 5.38e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: 4 0.0000000e+00 8.99e+02 4.35e+08 -1.0 1.13e+03 - 9.92e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: 5 0.0000000e+00 4.96e+02 2.42e+08 -1.0 1.74e+01 - 1.00e+00 6.09e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: 6 0.0000000e+00 2.84e+01 4.10e+08 -1.0 6.78e+00 - 3.95e-02 4.96e-01f 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: 7 0.0000000e+00 1.20e+01 6.19e+06 -1.0 3.42e+00 - 1.00e+00 4.98e-01h 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: 8 0.0000000e+00 1.65e+01 6.23e+08 -1.0 1.72e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: 9 0.0000000e+00 7.91e-02 2.99e+06 -1.0 1.68e-04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: 10 0.0000000e+00 3.28e-08 1.27e+00 -1.0 3.98e-08 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: Number of Iterations....: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: Constraint violation....: 6.5032986331031271e-12 3.2840034691616893e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: Overall NLP error.......: 6.5032986331031271e-12 3.2840034691616893e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: Number of objective function evaluations = 16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: Number of objective gradient evaluations = 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: Number of equality constraint evaluations = 16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: Number of equality constraint Jacobian evaluations = 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: Number of Lagrangian Hessian evaluations = 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: Total CPU secs in IPOPT (w/o function evaluations) = 0.003\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.H101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.H101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.H101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.H101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 0 0.0000000e+00 2.50e+02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 1 0.0000000e+00 9.09e-13 0.00e+00 -1.0 2.50e+02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Constraint violation....: 9.0949470177292824e-13 9.0949470177292824e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Overall NLP error.......: 9.0949470177292824e-13 9.0949470177292824e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 0 0.0000000e+00 6.19e+07 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 1 0.0000000e+00 7.28e-12 0.00e+00 -1.0 6.19e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Constraint violation....: 7.2759576141834259e-12 7.2759576141834259e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Overall NLP error.......: 7.2759576141834259e-12 7.2759576141834259e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.R101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.R101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.R101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in equality constraint Jacobian...: 102\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in Lagrangian Hessian.............: 72\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: 0 0.0000000e+00 3.39e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: 1 0.0000000e+00 3.39e+04 4.68e+00 -1.0 5.65e+04 - 4.27e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: 2 0.0000000e+00 3.39e+04 1.11e+01 -1.0 5.65e+04 - 6.10e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: 3 0.0000000e+00 3.38e+04 1.74e+01 -1.0 5.64e+04 - 6.19e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: 4 0.0000000e+00 3.38e+04 2.74e+01 -1.0 5.64e+04 - 9.90e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: 5 0.0000000e+00 3.38e+04 3.19e+01 -1.0 5.63e+04 - 4.45e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: 6 0.0000000e+00 3.37e+04 4.18e+01 -1.0 5.63e+04 - 9.90e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: 7 0.0000000e+00 3.37e+04 4.62e+01 -1.0 5.62e+04 - 4.49e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: 8 0.0000000e+00 3.37e+04 5.62e+01 -1.0 5.62e+04 - 1.00e+00 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: 9 0.0000000e+00 3.36e+04 6.07e+01 -1.0 5.62e+04 - 4.50e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: 10 0.0000000e+00 3.36e+04 7.07e+01 -1.0 5.61e+04 - 1.00e+00 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: 11 0.0000000e+00 1.32e+07 5.75e+01 -1.0 5.61e+04 - 4.53e-01 9.90e-01w 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: 12 0.0000000e+00 1.83e+05 1.50e+02 -1.0 8.34e+03 - 1.00e+00 9.90e-01w 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: 13 0.0000000e+00 4.35e+04 8.07e+01 -1.0 2.35e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: 14 0.0000000e+00 3.90e-05 4.87e-02 -1.7 4.35e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: Number of Iterations....: 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: Constraint violation....: 1.3508256430337923e-08 3.8973987102508545e-05\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: Overall NLP error.......: 1.3508256430337923e-08 3.8973987102508545e-05\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: Number of objective function evaluations = 155\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: Number of objective gradient evaluations = 15\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: Number of equality constraint evaluations = 155\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: Number of equality constraint Jacobian evaluations = 15\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: Number of Lagrangian Hessian evaluations = 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: Total CPU secs in IPOPT (w/o function evaluations) = 0.005\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.R101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.R101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.R101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.R101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 0 0.0000000e+00 2.59e+06 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 1 0.0000000e+00 1.46e-11 0.00e+00 -1.0 2.92e+03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Constraint violation....: 1.4551915228366852e-11 1.4551915228366852e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Overall NLP error.......: 1.4551915228366852e-11 1.4551915228366852e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 0 0.0000000e+00 4.21e+03 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 1 0.0000000e+00 4.55e-13 0.00e+00 -1.0 4.21e+03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Constraint violation....: 4.5474735088646412e-13 4.5474735088646412e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Overall NLP error.......: 4.5474735088646412e-13 4.5474735088646412e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.F101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.F101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.F101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: 0 0.0000000e+00 4.96e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: 1 0.0000000e+00 3.54e+04 5.12e+00 -1.0 3.23e+03 - 1.46e-01 6.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: 2 0.0000000e+00 9.51e+03 2.82e+01 -1.0 2.15e+03 - 8.67e-01 6.00e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: 3 0.0000000e+00 1.87e+02 2.35e+01 -1.0 7.01e+02 - 7.91e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: 4 0.0000000e+00 1.45e+00 2.84e+00 -1.0 1.47e+01 - 9.90e-01 9.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: 5 0.0000000e+00 4.82e-07 8.12e+02 -1.0 1.14e-01 - 9.91e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: Number of Iterations....: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: Constraint violation....: 4.0148485686193228e-10 4.8150832299143076e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: Overall NLP error.......: 4.0148485686193228e-10 4.8150832299143076e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: Number of objective function evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: Number of objective gradient evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: Number of equality constraint evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: Number of equality constraint Jacobian evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: Number of Lagrangian Hessian evaluations = 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.F101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.F101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.F101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.F101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.S101.purge_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.S101.recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in equality constraint Jacobian...: 29\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: Total number of variables............................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: variables with lower and upper bounds: 20\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: Total number of equality constraints.................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: 0 0.0000000e+00 1.00e-02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: 1 0.0000000e+00 1.00e-04 1.14e-05 -1.0 1.00e-02 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: 2 0.0000000e+00 9.88e-07 1.04e-01 -1.0 1.00e-04 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: Constraint violation....: 9.8800099999998489e-07 9.8800099999998489e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: Overall NLP error.......: 9.8800099999998489e-07 9.8800099999998489e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.S101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.S101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 0 0.0000000e+00 3.19e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 1 0.0000000e+00 8.53e-14 0.00e+00 -1.0 3.19e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Constraint violation....: 8.5265128291212022e-14 8.5265128291212022e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Overall NLP error.......: 8.5265128291212022e-14 8.5265128291212022e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 0 0.0000000e+00 3.19e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 1 0.0000000e+00 8.53e-14 0.00e+00 -1.0 3.19e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Constraint violation....: 8.5265128291212022e-14 8.5265128291212022e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Overall NLP error.......: 8.5265128291212022e-14 8.5265128291212022e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.C101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.C101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.C101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in equality constraint Jacobian...: 74\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in Lagrangian Hessian.............: 63\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: Total number of variables............................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: Total number of equality constraints.................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: 0 0.0000000e+00 8.03e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: 1 0.0000000e+00 7.95e-01 5.18e-04 -1.0 1.00e-02 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: 2 0.0000000e+00 5.82e-11 9.67e-14 -1.0 9.90e-05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: Constraint violation....: 3.1719263458133377e-12 5.8207660913467407e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: Overall NLP error.......: 3.1719263458133377e-12 5.8207660913467407e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.C101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.C101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.C101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.C101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: 0 0.0000000e+00 1.78e-12 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Constraint violation....: 1.7763568394002505e-12 1.7763568394002505e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Overall NLP error.......: 1.7763568394002505e-12 1.7763568394002505e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: 0 0.0000000e+00 2.84e-14 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Constraint violation....: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Overall NLP error.......: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:10 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 0 0.0000000e+00 3.19e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 1 0.0000000e+00 8.53e-14 0.00e+00 -1.0 3.19e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Constraint violation....: 8.5265128291212022e-14 8.5265128291212022e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Overall NLP error.......: 8.5265128291212022e-14 8.5265128291212022e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: 0 0.0000000e+00 5.85e+05 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: 1 0.0000000e+00 2.33e-10 0.00e+00 -1.0 5.85e+02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: Constraint violation....: 2.3283064365386964e-11 2.3283064365386963e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: Overall NLP error.......: 2.3283064365386964e-11 2.3283064365386963e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.mixed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.M101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in equality constraint Jacobian...: 117\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in Lagrangian Hessian.............: 65\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: Total number of variables............................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: Total number of equality constraints.................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: 0 0.0000000e+00 3.52e+02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: 1 0.0000000e+00 1.80e+03 3.46e+00 -1.0 5.77e+02 - 7.73e-01 9.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: 2 0.0000000e+00 1.17e-01 1.01e+01 -1.0 5.46e+01 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: 3 0.0000000e+00 1.42e-06 3.74e+01 -1.0 2.10e-02 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: Number of Iterations....: 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: Constraint violation....: 1.6267341737231732e-09 1.4230608940124512e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: Overall NLP error.......: 1.6267341737231732e-09 1.4230608940124512e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: Number of objective function evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: Number of objective gradient evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: Number of equality constraint evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: Number of equality constraint Jacobian evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: Number of Lagrangian Hessian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.M101.toluene_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.M101.hydrogen_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.M101.vapor_recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 0 0.0000000e+00 6.40e+03 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 1 0.0000000e+00 2.27e-13 0.00e+00 -1.0 1.81e+02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Constraint violation....: 2.2737367544323206e-13 2.2737367544323206e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Overall NLP error.......: 2.2737367544323206e-13 2.2737367544323206e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 0 0.0000000e+00 9.84e+03 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 1 0.0000000e+00 4.65e-04 0.00e+00 -1.0 3.76e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 2 0.0000000e+00 7.66e-10 0.00e+00 -5.7 1.16e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Constraint violation....: 7.6579453889280558e-10 7.6579453889280558e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Overall NLP error.......: 7.6579453889280558e-10 7.6579453889280558e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.H101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.H101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.H101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: 0 0.0000000e+00 5.39e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: 1 0.0000000e+00 2.72e+04 1.17e+01 -1.0 9.60e+03 - 6.94e-02 5.28e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: 2 0.0000000e+00 1.28e+04 5.11e+00 -1.0 4.88e+03 - 9.90e-01 5.21e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: 3 0.0000000e+00 5.83e+03 1.16e+04 -1.0 2.41e+03 - 9.90e-01 5.38e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: 4 0.0000000e+00 9.55e+02 4.36e+08 -1.0 1.12e+03 - 9.92e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: 5 0.0000000e+00 5.22e+02 2.40e+08 -1.0 1.85e+01 - 1.00e+00 6.08e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: 6 0.0000000e+00 2.82e+01 4.08e+08 -1.0 7.23e+00 - 3.97e-02 4.96e-01f 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: 7 0.0000000e+00 1.18e+01 6.14e+06 -1.0 3.64e+00 - 1.00e+00 4.98e-01h 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: 8 0.0000000e+00 1.74e+01 6.12e+08 -1.0 1.83e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: 9 0.0000000e+00 8.26e-02 2.90e+06 -1.0 1.68e-04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: 10 0.0000000e+00 3.65e-08 1.31e+00 -1.0 2.08e-08 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: Number of Iterations....: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: Constraint violation....: 7.2342852904786382e-12 3.6496203392744064e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: Overall NLP error.......: 7.2342852904786382e-12 3.6496203392744064e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: Number of objective function evaluations = 16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: Number of objective gradient evaluations = 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: Number of equality constraint evaluations = 16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: Number of equality constraint Jacobian evaluations = 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: Number of Lagrangian Hessian evaluations = 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.H101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.H101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.H101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.H101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 0 0.0000000e+00 1.91e+02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 1 0.0000000e+00 4.55e-13 0.00e+00 -1.0 1.91e+02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Constraint violation....: 4.5474735088646412e-13 4.5474735088646412e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Overall NLP error.......: 4.5474735088646412e-13 4.5474735088646412e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 0 0.0000000e+00 6.44e+07 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 1 0.0000000e+00 4.55e-13 0.00e+00 -1.0 6.44e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Constraint violation....: 4.5474735088646412e-13 4.5474735088646412e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Overall NLP error.......: 4.5474735088646412e-13 4.5474735088646412e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.R101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.R101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.R101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in equality constraint Jacobian...: 102\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in Lagrangian Hessian.............: 72\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: 0 0.0000000e+00 3.38e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: 1 0.0000000e+00 3.38e+04 5.12e+00 -1.0 5.51e+04 - 4.67e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: 2 0.0000000e+00 3.37e+04 1.16e+01 -1.0 5.50e+04 - 6.16e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: 3 0.0000000e+00 3.37e+04 1.84e+01 -1.0 5.50e+04 - 6.71e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: 4 0.0000000e+00 3.37e+04 2.84e+01 -1.0 5.49e+04 - 9.90e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: 5 0.0000000e+00 3.36e+04 3.41e+01 -1.0 5.49e+04 - 5.66e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: 6 0.0000000e+00 3.36e+04 4.40e+01 -1.0 5.49e+04 - 9.91e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: 7 0.0000000e+00 3.36e+04 4.92e+01 -1.0 5.48e+04 - 5.21e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: 8 0.0000000e+00 3.35e+04 5.92e+01 -1.0 5.48e+04 - 1.00e+00 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: 9 0.0000000e+00 3.35e+04 6.44e+01 -1.0 5.47e+04 - 5.22e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: 10 0.0000000e+00 3.35e+04 7.44e+01 -1.0 5.47e+04 - 1.00e+00 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: 11 0.0000000e+00 1.25e+07 1.48e+01 -1.0 5.47e+04 - 5.25e-01 9.90e-01w 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: 12 0.0000000e+00 1.73e+05 9.39e+01 -1.0 7.84e+03 - 1.00e+00 9.90e-01w 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: 13 0.0000000e+00 4.24e+04 6.91e+01 -1.0 2.33e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: 14 0.0000000e+00 3.77e-05 4.49e-02 -1.7 4.24e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: Number of Iterations....: 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: Constraint violation....: 1.3044527347541834e-08 3.7662684917449951e-05\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: Overall NLP error.......: 1.3044527347541834e-08 3.7662684917449951e-05\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: Number of objective function evaluations = 155\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: Number of objective gradient evaluations = 15\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: Number of equality constraint evaluations = 155\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: Number of equality constraint Jacobian evaluations = 15\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: Number of Lagrangian Hessian evaluations = 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: Total CPU secs in IPOPT (w/o function evaluations) = 0.006\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.R101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.R101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.R101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.R101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 0 0.0000000e+00 1.92e+06 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 1 0.0000000e+00 1.46e-11 0.00e+00 -1.0 2.17e+03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Constraint violation....: 1.4551915228366852e-11 1.4551915228366852e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Overall NLP error.......: 1.4551915228366852e-11 1.4551915228366852e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 0 0.0000000e+00 4.37e+03 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 1 0.0000000e+00 7.39e-13 0.00e+00 -1.0 4.37e+03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Constraint violation....: 7.3896444519050419e-13 7.3896444519050419e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Overall NLP error.......: 7.3896444519050419e-13 7.3896444519050419e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.F101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.F101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.F101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: 0 0.0000000e+00 5.12e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: 1 0.0000000e+00 3.74e+04 5.83e+00 -1.0 3.26e+03 - 1.35e-01 6.68e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: 2 0.0000000e+00 9.79e+03 2.83e+01 -1.0 2.31e+03 - 8.78e-01 6.18e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: 3 0.0000000e+00 1.77e+02 2.07e+01 -1.0 7.29e+02 - 8.20e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: 4 0.0000000e+00 1.43e+00 2.59e+00 -1.0 1.53e+01 - 9.90e-01 9.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: 5 0.0000000e+00 2.02e-06 7.46e+02 -1.0 1.25e-01 - 9.91e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: Number of Iterations....: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: Constraint violation....: 1.7885121523301191e-09 2.0237566786818206e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: Overall NLP error.......: 1.7885121523301191e-09 2.0237566786818206e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: Number of objective function evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: Number of objective gradient evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: Number of equality constraint evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: Number of equality constraint Jacobian evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: Number of Lagrangian Hessian evaluations = 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.F101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.F101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.F101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.F101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.S101.purge_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.S101.recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in equality constraint Jacobian...: 29\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: Total number of variables............................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: variables with lower and upper bounds: 20\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: Total number of equality constraints.................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: 0 0.0000000e+00 1.00e-02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: 1 0.0000000e+00 1.00e-04 1.14e-05 -1.0 1.00e-02 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: 2 0.0000000e+00 9.88e-07 1.04e-01 -1.0 1.00e-04 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: Constraint violation....: 9.8800099999998489e-07 9.8800099999998489e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: Overall NLP error.......: 9.8800099999998489e-07 9.8800099999998489e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.S101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.S101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 0 0.0000000e+00 2.40e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 1 0.0000000e+00 3.98e-13 0.00e+00 -1.0 2.40e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Constraint violation....: 3.9790393202565610e-13 3.9790393202565610e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Overall NLP error.......: 3.9790393202565610e-13 3.9790393202565610e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 0 0.0000000e+00 2.40e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 1 0.0000000e+00 3.98e-13 0.00e+00 -1.0 2.40e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Constraint violation....: 3.9790393202565610e-13 3.9790393202565610e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Overall NLP error.......: 3.9790393202565610e-13 3.9790393202565610e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.C101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.C101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.C101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in equality constraint Jacobian...: 74\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in Lagrangian Hessian.............: 63\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: Total number of variables............................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: Total number of equality constraints.................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: 0 0.0000000e+00 8.03e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: 1 0.0000000e+00 7.95e-01 5.18e-04 -1.0 1.00e-02 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: 2 0.0000000e+00 5.82e-11 9.67e-14 -1.0 9.90e-05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: Constraint violation....: 3.1719263458133377e-12 5.8207660913467407e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: Overall NLP error.......: 3.1719263458133377e-12 5.8207660913467407e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.C101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.C101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.C101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.C101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: 0 0.0000000e+00 1.78e-12 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Constraint violation....: 1.7763568394002505e-12 1.7763568394002505e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Overall NLP error.......: 1.7763568394002505e-12 1.7763568394002505e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: 0 0.0000000e+00 2.84e-14 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Constraint violation....: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Overall NLP error.......: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 0 0.0000000e+00 2.40e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 1 0.0000000e+00 3.98e-13 0.00e+00 -1.0 2.40e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Constraint violation....: 3.9790393202565610e-13 3.9790393202565610e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Overall NLP error.......: 3.9790393202565610e-13 3.9790393202565610e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:11 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: 0 0.0000000e+00 5.78e+05 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: 1 0.0000000e+00 2.27e-13 0.00e+00 -1.0 5.78e+02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Constraint violation....: 2.2737367544323206e-13 2.2737367544323206e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Overall NLP error.......: 2.2737367544323206e-13 2.2737367544323206e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.M101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in equality constraint Jacobian...: 117\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in Lagrangian Hessian.............: 65\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: Total number of variables............................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: Total number of equality constraints.................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: 0 0.0000000e+00 3.55e+02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: 1 0.0000000e+00 1.82e+03 3.47e+00 -1.0 5.80e+02 - 7.72e-01 9.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: 2 0.0000000e+00 1.20e-01 1.01e+01 -1.0 5.49e+01 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: 3 0.0000000e+00 1.43e-06 3.74e+01 -1.0 2.11e-02 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: Number of Iterations....: 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: Constraint violation....: 1.6333739050444924e-09 1.4305114746093750e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: Overall NLP error.......: 1.6333739050444924e-09 1.4305114746093750e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: Number of objective function evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: Number of objective gradient evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: Number of equality constraint evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: Number of equality constraint Jacobian evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: Number of Lagrangian Hessian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.M101.toluene_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.M101.hydrogen_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.M101.vapor_recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 0 0.0000000e+00 3.35e+03 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 1 0.0000000e+00 1.99e-13 0.00e+00 -1.0 3.35e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Constraint violation....: 1.9895196601282805e-13 1.9895196601282805e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Overall NLP error.......: 1.9895196601282805e-13 1.9895196601282805e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 0 0.0000000e+00 1.00e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 1 0.0000000e+00 1.28e-05 0.00e+00 -1.0 1.00e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 2 0.0000000e+00 9.09e-13 0.00e+00 -7.0 3.21e-01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Constraint violation....: 9.0949470177292824e-13 9.0949470177292824e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Overall NLP error.......: 9.0949470177292824e-13 9.0949470177292824e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.H101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.H101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.H101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: 0 0.0000000e+00 5.39e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: 1 0.0000000e+00 2.72e+04 1.17e+01 -1.0 9.61e+03 - 6.95e-02 5.28e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: 2 0.0000000e+00 1.28e+04 5.11e+00 -1.0 4.88e+03 - 9.90e-01 5.21e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: 3 0.0000000e+00 5.84e+03 1.16e+04 -1.0 2.41e+03 - 9.90e-01 5.38e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: 4 0.0000000e+00 9.56e+02 4.35e+08 -1.0 1.12e+03 - 9.92e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: 5 0.0000000e+00 5.23e+02 2.40e+08 -1.0 1.85e+01 - 1.00e+00 6.08e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: 6 0.0000000e+00 2.83e+01 4.08e+08 -1.0 7.22e+00 - 3.97e-02 4.96e-01f 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: 7 0.0000000e+00 1.18e+01 6.15e+06 -1.0 3.64e+00 - 1.00e+00 4.98e-01h 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: 8 0.0000000e+00 1.74e+01 6.12e+08 -1.0 1.83e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: 9 0.0000000e+00 8.29e-02 2.91e+06 -1.0 1.68e-04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: 10 0.0000000e+00 3.67e-08 1.32e+00 -1.0 8.16e-09 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: Number of Iterations....: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: Constraint violation....: 7.2734060488714093e-12 3.6714482121169567e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: Overall NLP error.......: 7.2734060488714093e-12 3.6714482121169567e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: Number of objective function evaluations = 16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: Number of objective gradient evaluations = 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: Number of equality constraint evaluations = 16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: Number of equality constraint Jacobian evaluations = 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: Number of Lagrangian Hessian evaluations = 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.H101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.H101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.H101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.H101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 0 0.0000000e+00 2.71e+00 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 1 0.0000000e+00 4.55e-13 0.00e+00 -1.0 2.71e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Constraint violation....: 4.5474735088646412e-13 4.5474735088646412e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Overall NLP error.......: 4.5474735088646412e-13 4.5474735088646412e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 0 0.0000000e+00 6.25e+07 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 1 0.0000000e+00 3.18e-12 0.00e+00 -1.0 6.25e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Constraint violation....: 3.1832314562052488e-12 3.1832314562052488e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Overall NLP error.......: 3.1832314562052488e-12 3.1832314562052488e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.R101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.R101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.R101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in equality constraint Jacobian...: 102\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in Lagrangian Hessian.............: 72\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: 0 0.0000000e+00 3.38e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: 1 0.0000000e+00 3.38e+04 5.12e+00 -1.0 5.51e+04 - 4.66e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: 2 0.0000000e+00 3.37e+04 1.16e+01 -1.0 5.51e+04 - 6.16e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: 3 0.0000000e+00 3.37e+04 1.84e+01 -1.0 5.50e+04 - 6.71e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: 4 0.0000000e+00 3.37e+04 2.84e+01 -1.0 5.50e+04 - 9.90e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: 5 0.0000000e+00 3.36e+04 3.40e+01 -1.0 5.49e+04 - 5.65e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: 6 0.0000000e+00 3.36e+04 4.39e+01 -1.0 5.49e+04 - 9.91e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: 7 0.0000000e+00 3.36e+04 4.91e+01 -1.0 5.49e+04 - 5.20e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: 8 0.0000000e+00 3.35e+04 5.91e+01 -1.0 5.48e+04 - 1.00e+00 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: 9 0.0000000e+00 3.35e+04 6.43e+01 -1.0 5.48e+04 - 5.21e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: 10 0.0000000e+00 3.35e+04 7.43e+01 -1.0 5.47e+04 - 1.00e+00 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: 11 0.0000000e+00 1.25e+07 1.53e+01 -1.0 5.47e+04 - 5.24e-01 9.90e-01w 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: 12 0.0000000e+00 1.73e+05 9.46e+01 -1.0 7.85e+03 - 1.00e+00 9.90e-01w 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: 13 0.0000000e+00 4.24e+04 6.93e+01 -1.0 2.33e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: 14 0.0000000e+00 3.77e-05 4.50e-02 -1.7 4.24e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: Number of Iterations....: 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: Constraint violation....: 1.3047389872744279e-08 3.7692487239837646e-05\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: Overall NLP error.......: 1.3047389872744279e-08 3.7692487239837646e-05\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: Number of objective function evaluations = 155\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: Number of objective gradient evaluations = 15\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: Number of equality constraint evaluations = 155\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: Number of equality constraint Jacobian evaluations = 15\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: Number of Lagrangian Hessian evaluations = 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: Total CPU secs in IPOPT (w/o function evaluations) = 0.003\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.R101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.R101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.R101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.R101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 0 0.0000000e+00 4.28e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 1 0.0000000e+00 1.49e-08 0.00e+00 -1.0 4.51e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Constraint violation....: 1.4901161193847657e-09 1.4901161193847656e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Overall NLP error.......: 1.4901161193847657e-09 1.4901161193847656e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 0 0.0000000e+00 4.35e+03 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 1 0.0000000e+00 4.55e-13 0.00e+00 -1.0 4.35e+03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Constraint violation....: 4.5474735088646412e-13 4.5474735088646412e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Overall NLP error.......: 4.5474735088646412e-13 4.5474735088646412e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.F101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.F101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.F101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: 0 0.0000000e+00 5.12e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: 1 0.0000000e+00 3.74e+04 5.83e+00 -1.0 3.26e+03 - 1.35e-01 6.68e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: 2 0.0000000e+00 9.80e+03 2.83e+01 -1.0 2.31e+03 - 8.78e-01 6.17e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: 3 0.0000000e+00 1.77e+02 2.07e+01 -1.0 7.30e+02 - 8.20e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: 4 0.0000000e+00 1.43e+00 2.59e+00 -1.0 1.53e+01 - 9.90e-01 9.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: 5 0.0000000e+00 2.03e-06 7.46e+02 -1.0 1.25e-01 - 9.91e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: Number of Iterations....: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: Constraint violation....: 1.7944467911229722e-09 2.0295010472182184e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: Overall NLP error.......: 1.7944467911229722e-09 2.0295010472182184e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: Number of objective function evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: Number of objective gradient evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: Number of equality constraint evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: Number of equality constraint Jacobian evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: Number of Lagrangian Hessian evaluations = 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.F101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.F101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.F101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.F101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.S101.purge_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.S101.recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in equality constraint Jacobian...: 29\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: Total number of variables............................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: variables with lower and upper bounds: 20\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: Total number of equality constraints.................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: 0 0.0000000e+00 1.00e-02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: 1 0.0000000e+00 1.00e-04 1.14e-05 -1.0 1.00e-02 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: 2 0.0000000e+00 9.88e-07 1.04e-01 -1.0 1.00e-04 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: Constraint violation....: 9.8800099999998489e-07 9.8800099999998489e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: Overall NLP error.......: 9.8800099999998489e-07 9.8800099999998489e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.S101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.S101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 0 0.0000000e+00 2.23e-01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 1 0.0000000e+00 3.98e-13 0.00e+00 -1.7 2.23e-01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Constraint violation....: 3.9790393202565610e-13 3.9790393202565610e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Overall NLP error.......: 3.9790393202565610e-13 3.9790393202565610e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 0 0.0000000e+00 2.23e-01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 1 0.0000000e+00 3.98e-13 0.00e+00 -1.7 2.23e-01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Constraint violation....: 3.9790393202565610e-13 3.9790393202565610e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Overall NLP error.......: 3.9790393202565610e-13 3.9790393202565610e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.C101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.C101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.C101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in equality constraint Jacobian...: 74\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in Lagrangian Hessian.............: 63\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: Total number of variables............................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: Total number of equality constraints.................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: 0 0.0000000e+00 8.03e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: 1 0.0000000e+00 7.95e-01 5.18e-04 -1.0 1.00e-02 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: 2 0.0000000e+00 5.82e-11 9.67e-14 -1.0 9.90e-05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: Constraint violation....: 3.1719263458133377e-12 5.8207660913467407e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: Overall NLP error.......: 3.1719263458133377e-12 5.8207660913467407e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.C101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.C101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.C101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.C101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: 0 0.0000000e+00 1.78e-12 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Constraint violation....: 1.7763568394002505e-12 1.7763568394002505e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Overall NLP error.......: 1.7763568394002505e-12 1.7763568394002505e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: 0 0.0000000e+00 2.84e-14 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Constraint violation....: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Overall NLP error.......: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 0 0.0000000e+00 2.23e-01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 1 0.0000000e+00 3.98e-13 0.00e+00 -1.7 2.23e-01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Constraint violation....: 3.9790393202565610e-13 3.9790393202565610e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Overall NLP error.......: 3.9790393202565610e-13 3.9790393202565610e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: 0 0.0000000e+00 5.82e+05 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: 1 0.0000000e+00 2.33e-10 0.00e+00 -1.0 5.82e+02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Constraint violation....: 2.3283064365386964e-11 2.3283064365386963e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Overall NLP error.......: 2.3283064365386964e-11 2.3283064365386963e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [DEBUG] idaes.solve.fs.M101.mixed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.M101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:12 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in equality constraint Jacobian...: 117\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in Lagrangian Hessian.............: 65\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Total number of variables............................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Total number of equality constraints.................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: 0 0.0000000e+00 3.55e+02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: 1 0.0000000e+00 1.82e+03 3.47e+00 -1.0 5.79e+02 - 7.72e-01 9.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: 2 0.0000000e+00 1.19e-01 1.01e+01 -1.0 5.48e+01 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: 3 0.0000000e+00 1.45e-06 3.74e+01 -1.0 2.10e-02 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Number of Iterations....: 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Constraint violation....: 1.6300540393838327e-09 1.4454126358032227e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Overall NLP error.......: 1.6300540393838327e-09 1.4454126358032227e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Number of objective function evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Number of objective gradient evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Number of equality constraint evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Number of equality constraint Jacobian evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Number of Lagrangian Hessian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.M101.toluene_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.M101.hydrogen_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.M101.vapor_recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.H101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 0 0.0000000e+00 5.85e+02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: 1 0.0000000e+00 4.66e-10 0.00e+00 -1.0 5.85e-01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Constraint violation....: 4.6566128730773928e-11 4.6566128730773926e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Overall NLP error.......: 4.6566128730773928e-11 4.6566128730773926e-10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.H101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 0 0.0000000e+00 1.00e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 1 0.0000000e+00 4.77e-05 0.00e+00 -1.0 1.20e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: 2 0.0000000e+00 7.96e-12 0.00e+00 -5.7 1.19e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Constraint violation....: 7.9580786405131221e-12 7.9580786405131221e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Overall NLP error.......: 7.9580786405131221e-12 7.9580786405131221e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.H101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.H101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.H101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: 0 0.0000000e+00 5.40e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: 1 0.0000000e+00 2.72e+04 1.17e+01 -1.0 9.62e+03 - 6.95e-02 5.28e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: 2 0.0000000e+00 1.28e+04 5.11e+00 -1.0 4.89e+03 - 9.90e-01 5.21e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: 3 0.0000000e+00 5.84e+03 1.16e+04 -1.0 2.42e+03 - 9.90e-01 5.38e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: 4 0.0000000e+00 9.57e+02 4.35e+08 -1.0 1.12e+03 - 9.92e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: 5 0.0000000e+00 5.23e+02 2.40e+08 -1.0 1.85e+01 - 1.00e+00 6.08e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: 6 0.0000000e+00 2.83e+01 4.08e+08 -1.0 7.23e+00 - 3.97e-02 4.96e-01f 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: 7 0.0000000e+00 1.19e+01 6.15e+06 -1.0 3.64e+00 - 1.00e+00 4.98e-01h 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: 8 0.0000000e+00 1.75e+01 6.13e+08 -1.0 1.83e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: 9 0.0000000e+00 8.34e-02 2.93e+06 -1.0 1.68e-04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: 10 0.0000000e+00 3.72e-08 1.33e+00 -1.0 8.11e-08 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: Number of Iterations....: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: Constraint violation....: 7.3728511770380485e-12 3.7191057344898582e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: Overall NLP error.......: 7.3728511770380485e-12 3.7191057344898582e-08\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: Number of objective function evaluations = 16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: Number of objective gradient evaluations = 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: Number of equality constraint evaluations = 16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: Number of equality constraint Jacobian evaluations = 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: Number of Lagrangian Hessian evaluations = 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.H101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.H101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.H101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.H101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.R101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 0 0.0000000e+00 8.52e+00 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: 1 0.0000000e+00 1.36e-12 0.00e+00 -1.0 8.52e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Constraint violation....: 1.3642420526593924e-12 1.3642420526593924e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Overall NLP error.......: 1.3642420526593924e-12 1.3642420526593924e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.R101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 0 0.0000000e+00 6.26e+07 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: 1 0.0000000e+00 7.45e-09 0.00e+00 -1.0 6.26e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Constraint violation....: 7.4505805969238285e-10 7.4505805969238281e-09\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Overall NLP error.......: 7.4505805969238285e-10 7.4505805969238281e-09\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.R101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.R101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.R101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in equality constraint Jacobian...: 102\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: Number of nonzeros in Lagrangian Hessian.............: 72\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: 0 0.0000000e+00 3.38e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: 1 0.0000000e+00 3.38e+04 5.11e+00 -1.0 5.51e+04 - 4.66e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: 2 0.0000000e+00 3.37e+04 1.16e+01 -1.0 5.51e+04 - 6.16e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: 3 0.0000000e+00 3.37e+04 1.84e+01 -1.0 5.51e+04 - 6.71e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: 4 0.0000000e+00 3.37e+04 2.84e+01 -1.0 5.50e+04 - 9.90e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: 5 0.0000000e+00 3.36e+04 3.40e+01 -1.0 5.50e+04 - 5.64e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: 6 0.0000000e+00 3.36e+04 4.39e+01 -1.0 5.49e+04 - 9.91e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: 7 0.0000000e+00 3.36e+04 4.91e+01 -1.0 5.49e+04 - 5.20e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: 8 0.0000000e+00 3.35e+04 5.91e+01 -1.0 5.49e+04 - 1.00e+00 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: 9 0.0000000e+00 3.35e+04 6.43e+01 -1.0 5.48e+04 - 5.21e-01 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: 10 0.0000000e+00 3.35e+04 7.43e+01 -1.0 5.48e+04 - 1.00e+00 9.67e-04h 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: 11 0.0000000e+00 1.25e+07 1.59e+01 -1.0 5.47e+04 - 5.24e-01 9.90e-01w 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: 12 0.0000000e+00 1.73e+05 9.54e+01 -1.0 7.86e+03 - 1.00e+00 9.90e-01w 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: 13 0.0000000e+00 4.24e+04 6.95e+01 -1.0 2.33e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: 14 0.0000000e+00 3.78e-05 4.51e-02 -1.7 4.24e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: Number of Iterations....: 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: Constraint violation....: 1.3093190275983399e-08 3.7796795368194580e-05\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: Overall NLP error.......: 1.3093190275983399e-08 3.7796795368194580e-05\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: Number of objective function evaluations = 155\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: Number of objective gradient evaluations = 15\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: Number of equality constraint evaluations = 155\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: Number of equality constraint Jacobian evaluations = 15\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: Number of Lagrangian Hessian evaluations = 14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: Total CPU secs in IPOPT (w/o function evaluations) = 0.004\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.R101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.R101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.R101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.R101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.F101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 0 0.0000000e+00 5.65e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: 1 0.0000000e+00 3.64e-12 0.00e+00 -1.0 5.73e+01 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Constraint violation....: 3.6379788070917130e-12 3.6379788070917130e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Overall NLP error.......: 3.6379788070917130e-12 3.6379788070917130e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.F101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 0 0.0000000e+00 4.35e+03 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: 1 0.0000000e+00 6.39e-13 0.00e+00 -1.0 4.35e+03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Constraint violation....: 6.3948846218409017e-13 6.3948846218409017e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Overall NLP error.......: 6.3948846218409017e-13 6.3948846218409017e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.F101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.F101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.F101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: 0 0.0000000e+00 5.13e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: 1 0.0000000e+00 3.75e+04 5.85e+00 -1.0 3.26e+03 - 1.34e-01 6.67e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: 2 0.0000000e+00 9.81e+03 2.83e+01 -1.0 2.31e+03 - 8.78e-01 6.17e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: 3 0.0000000e+00 1.77e+02 2.07e+01 -1.0 7.31e+02 - 8.20e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: 4 0.0000000e+00 1.43e+00 2.58e+00 -1.0 1.54e+01 - 9.90e-01 9.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: 5 0.0000000e+00 2.07e-06 7.45e+02 -1.0 1.25e-01 - 9.91e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: Number of Iterations....: 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: Constraint violation....: 1.8325340066076841e-09 2.0688094082288444e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: Overall NLP error.......: 1.8325340066076841e-09 2.0688094082288444e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: Number of objective function evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: Number of objective gradient evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: Number of equality constraint evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: Number of equality constraint Jacobian evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: Number of Lagrangian Hessian evaluations = 5\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.F101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.F101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.F101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.F101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.S101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.S101.purge_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.S101.purge_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.S101.purge_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.S101.recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.S101.recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.S101.recycle_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in equality constraint Jacobian...: 29\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: Total number of variables............................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: variables with lower and upper bounds: 20\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: Total number of equality constraints.................: 21\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: 0 0.0000000e+00 1.00e-02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: 1 0.0000000e+00 1.00e-04 1.14e-05 -1.0 1.00e-02 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: 2 0.0000000e+00 9.88e-07 1.04e-01 -1.0 1.00e-04 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: Constraint violation....: 9.8800099999998489e-07 9.8800099999998489e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: Overall NLP error.......: 9.8800099999998489e-07 9.8800099999998489e-07\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.S101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.S101: Initialization Step 2 Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.S101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.C101.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 0 0.0000000e+00 7.88e-02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: 1 0.0000000e+00 1.42e-13 0.00e+00 -2.5 7.88e-02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Constraint violation....: 1.4210854715202004e-13 1.4210854715202004e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Overall NLP error.......: 1.4210854715202004e-13 1.4210854715202004e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.C101.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 0 0.0000000e+00 7.88e-02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: 1 0.0000000e+00 1.42e-13 0.00e+00 -2.5 7.88e-02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Constraint violation....: 1.4210854715202004e-13 1.4210854715202004e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Overall NLP error.......: 1.4210854715202004e-13 1.4210854715202004e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.C101.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.C101.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.C101: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in equality constraint Jacobian...: 74\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: Number of nonzeros in Lagrangian Hessian.............: 63\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: Total number of variables............................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: Total number of equality constraints.................: 32\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: 0 0.0000000e+00 8.03e+01 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: 1 0.0000000e+00 7.95e-01 5.18e-04 -1.0 1.00e-02 - 9.90e-01 9.90e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: 2 0.0000000e+00 5.82e-11 9.67e-14 -1.0 9.90e-05 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: Number of Iterations....: 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: Constraint violation....: 3.1719263458133377e-12 5.8207660913467407e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: Overall NLP error.......: 3.1719263458133377e-12 5.8207660913467407e-11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: Number of objective function evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: Number of objective gradient evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: Number of equality constraint evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: Number of equality constraint Jacobian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: Number of Lagrangian Hessian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.C101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.C101: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.C101.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.C101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.M101.toluene_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: 0 0.0000000e+00 1.78e-12 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Constraint violation....: 1.7763568394002505e-12 1.7763568394002505e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Overall NLP error.......: 1.7763568394002505e-12 1.7763568394002505e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.toluene_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.M101.hydrogen_feed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: 0 0.0000000e+00 2.84e-14 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Constraint violation....: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Overall NLP error.......: 2.8421709430404007e-14 2.8421709430404007e-14\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.hydrogen_feed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.M101.vapor_recycle_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 0 0.0000000e+00 7.88e-02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: 1 0.0000000e+00 1.42e-13 0.00e+00 -2.5 7.88e-02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Constraint violation....: 1.4210854715202004e-13 1.4210854715202004e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Overall NLP error.......: 1.4210854715202004e-13 1.4210854715202004e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.vapor_recycle_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.M101.mixed_state: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: 0 0.0000000e+00 5.81e+05 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: 1 0.0000000e+00 1.56e-13 0.00e+00 -1.0 5.81e+02 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: Constraint violation....: 1.5631940186722204e-13 1.5631940186722204e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: Overall NLP error.......: 1.5631940186722204e-13 1.5631940186722204e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101.mixed_state: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.M101.mixed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [INFO] idaes.init.fs.M101.mixed_state: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in equality constraint Jacobian...: 117\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Number of nonzeros in Lagrangian Hessian.............: 65\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Total number of variables............................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: variables with lower and upper bounds: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Total number of equality constraints.................: 53\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: 0 0.0000000e+00 3.54e+02 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: 1 0.0000000e+00 1.81e+03 3.47e+00 -1.0 5.78e+02 - 7.72e-01 9.92e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: 2 0.0000000e+00 1.19e-01 1.01e+01 -1.0 5.47e+01 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: 3 0.0000000e+00 1.44e-06 3.74e+01 -1.0 2.10e-02 - 9.90e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Number of Iterations....: 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Constraint violation....: 1.6267341737231732e-09 1.4379620552062988e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Overall NLP error.......: 1.6267341737231732e-09 1.4379620552062988e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Number of objective function evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Number of objective gradient evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Number of equality constraint evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Number of equality constraint Jacobian evaluations = 4\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Number of Lagrangian Hessian evaluations = 3\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:13 [DEBUG] idaes.solve.fs.M101: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [INFO] idaes.init.fs.M101.toluene_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [INFO] idaes.init.fs.M101.hydrogen_feed_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [INFO] idaes.init.fs.M101.vapor_recycle_state: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: Wegstein failed to converge in 5 iterations\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [INFO] idaes.init.fs.F102.control_volume.properties_in: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [INFO] idaes.init.fs.F102.control_volume.properties_in: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Number of nonzeros in equality constraint Jacobian...: 18\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Number of nonzeros in Lagrangian Hessian.............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Total number of variables............................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Total number of equality constraints.................: 10\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: 0 0.0000000e+00 1.79e-12 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Number of Iterations....: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Constraint violation....: 1.7905676941154525e-12 1.7905676941154525e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Overall NLP error.......: 1.7905676941154525e-12 1.7905676941154525e-12\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Number of objective function evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Number of objective gradient evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Number of equality constraint evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Number of equality constraint Jacobian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Number of Lagrangian Hessian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_in: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [INFO] idaes.init.fs.F102.control_volume.properties_out: Initialization Step 1 - Dew and bubble points calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [INFO] idaes.init.fs.F102.control_volume.properties_out: Initialization Step 2 - Equilibrium temperature calculation completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Number of nonzeros in equality constraint Jacobian...: 31\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Number of nonzeros in Lagrangian Hessian.............: 11\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Total number of variables............................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: variables with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Total number of equality constraints.................: 17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: 0 0.0000000e+00 1.88e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: 1 0.0000000e+00 3.41e-13 0.00e+00 -1.0 1.88e+04 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Number of Iterations....: 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Constraint violation....: 3.4106051316484809e-13 3.4106051316484809e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Overall NLP error.......: 3.4106051316484809e-13 3.4106051316484809e-13\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Number of objective function evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Number of objective gradient evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Number of equality constraint evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Number of equality constraint Jacobian evaluations = 2\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Number of Lagrangian Hessian evaluations = 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102.control_volume.properties_out: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [INFO] idaes.init.fs.F102.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [INFO] idaes.init.fs.F102.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [INFO] idaes.init.fs.F102: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: Ipopt 3.13.2: nlp_scaling_method=gradient-based\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: tol=1e-06\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: max_iter=200\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: This program contains Ipopt, a library for large-scale nonlinear optimization.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: Ipopt is released as open source code under the Eclipse Public License (EPL).\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: For more information visit http://projects.coin-or.org/Ipopt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: This version of Ipopt was compiled from source code available at\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: This version of Ipopt was compiled using HSL, a collection of Fortran codes\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: for large-scale scientific computation. All technical papers, sales and\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: publicity material resulting from use of the HSL codes within IPOPT must\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: contain the following acknowledgement:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: HSL, a collection of Fortran codes for large-scale scientific\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: computation. See http://www.hsl.rl.ac.uk.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: ******************************************************************************\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: This is Ipopt version 3.13.2, running with linear solver ma27.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: Number of nonzeros in equality constraint Jacobian...: 124\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: Number of nonzeros in inequality constraint Jacobian.: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: Number of nonzeros in Lagrangian Hessian.............: 115\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: Total number of variables............................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: variables with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: variables with lower and upper bounds: 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: variables with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: Total number of equality constraints.................: 41\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: Total number of inequality constraints...............: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: inequality constraints with only lower bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: inequality constraints with lower and upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: inequality constraints with only upper bounds: 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: 0 0.0000000e+00 9.03e+04 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: 1 0.0000000e+00 3.70e+04 6.71e+00 -1.0 2.03e+04 - 9.90e-01 7.88e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: 2 0.0000000e+00 7.96e+03 1.00e+02 -1.0 3.88e+03 - 8.89e-01 9.03e-01h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: 3 0.0000000e+00 4.57e+02 4.52e+04 -1.0 1.43e+03 - 9.12e-01 9.90e-01H 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: 4 0.0000000e+00 1.81e+01 1.55e+04 -1.0 9.26e+01 - 9.91e-01 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: 5 0.0000000e+00 6.31e-03 2.66e+02 -1.0 1.60e+00 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: 6 0.0000000e+00 2.56e-09 1.82e-02 -1.7 1.19e-03 - 1.00e+00 1.00e+00h 1\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: Number of Iterations....: 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: (scaled) (unscaled)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: Constraint violation....: 1.7905676941154525e-12 2.5611370801925659e-09\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: Overall NLP error.......: 1.7905676941154525e-12 2.5611370801925659e-09\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: Number of objective function evaluations = 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: Number of objective gradient evaluations = 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: Number of equality constraint evaluations = 9\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: Number of inequality constraint evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: Number of equality constraint Jacobian evaluations = 7\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: Number of inequality constraint Jacobian evaluations = 0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: Number of Lagrangian Hessian evaluations = 6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: Total CPU secs in IPOPT (w/o function evaluations) = 0.002\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: Total CPU secs in NLP function evaluations = 0.000\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [DEBUG] idaes.solve.fs.F102: EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [INFO] idaes.init.fs.F102: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [INFO] idaes.init.fs.F102.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:28:14 [INFO] idaes.init.fs.F102: Initialization Complete: optimal - Optimal Solution Found\n" - ] - } - ], + "outputs": [], "source": [ "# Add a second flash unit\n", "from idaes.models.unit_models import Flash\n", @@ -128000,7 +339,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -128072,7 +411,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.10.9" } }, "nbformat": 4, diff --git a/idaes_examples/notebooks/docs/tut/ui/visualizer_tutorial_test.ipynb b/idaes_examples/notebooks/docs/tut/ui/visualizer_tutorial_test.ipynb index 41e38f50..6891e948 100644 --- a/idaes_examples/notebooks/docs/tut/ui/visualizer_tutorial_test.ipynb +++ b/idaes_examples/notebooks/docs/tut/ui/visualizer_tutorial_test.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/tut/ui/visualizer_tutorial_usr.ipynb b/idaes_examples/notebooks/docs/tut/ui/visualizer_tutorial_usr.ipynb index 1893363a..e5b02134 100644 --- a/idaes_examples/notebooks/docs/tut/ui/visualizer_tutorial_usr.ipynb +++ b/idaes_examples/notebooks/docs/tut/ui/visualizer_tutorial_usr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/creating_unit_model.ipynb b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/creating_unit_model.ipynb index 7465fdda..e618b387 100644 --- a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/creating_unit_model.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/creating_unit_model.ipynb @@ -1,5 +1,32 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "cbb261a4", + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "code", "execution_count": 1, @@ -1188,55 +1215,7 @@ "execution_count": 12, "id": "307ec415", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING (W1001): Setting Var\n", - "'fs.lex.aqueous_phase.properties_out[0.0].conc_mass_comp[NaCl]' to a value\n", - "`-0.1725` (float) not in domain NonNegativeReals.\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1001\n", - "WARNING (W1001): Setting Var\n", - "'fs.lex.aqueous_phase.properties_out[0.0].conc_mass_comp[KNO3]' to a value\n", - "`-0.4` (float) not in domain NonNegativeReals.\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1001\n", - "WARNING (W1001): Setting Var\n", - "'fs.lex.aqueous_phase.properties_out[0.0].conc_mass_comp[CaSO4]' to a value\n", - "`-0.05` (float) not in domain NonNegativeReals.\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1001\n", - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 21 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 16 (External: 0)\n", - " Free Variables with only lower bounds: 8\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 0\n", - " Fixed Variables in Activated Constraints: 8 (External: 0)\n", - " Activated Equality Constraints: 16 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 Cautions\n", - "\n", - " Caution: 10 unused variables (4 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " Try to initialize/solve your model and then call report_numerical_issues()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "m = main()\n", "dt = DiagnosticsToolbox(m)\n", @@ -1256,101 +1235,7 @@ "execution_count": 13, "id": "28cb6a6a", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 33\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 14\n", - "\n", - "Total number of variables............................: 16\n", - " variables with only lower bounds: 8\n", - " variables with lower and upper bounds: 0\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 16\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 4.10e+01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 4.00e+01 4.93e+01 -1.0 4.10e-01 - 9.91e-01 2.41e-02h 1\n", - " 2 0.0000000e+00 4.00e+01 2.03e+05 -1.0 4.00e-01 - 1.00e+00 2.47e-04h 1\n", - " 3r 0.0000000e+00 4.00e+01 1.00e+03 1.6 0.00e+00 - 0.00e+00 3.09e-07R 4\n", - " 4r 0.0000000e+00 4.00e+01 9.88e+04 1.6 3.68e+02 - 9.92e-01 2.29e-03f 1\n", - " 5r 0.0000000e+00 3.60e+01 3.03e+00 1.6 4.01e+00 - 1.00e+00 1.00e+00f 1\n", - " 6r 0.0000000e+00 3.69e+01 1.21e+01 -1.2 9.24e-01 - 9.69e-01 9.78e-01f 1\n", - " 7r 0.0000000e+00 3.70e+01 2.11e-01 -1.9 1.00e-01 - 9.97e-01 1.00e+00f 1\n", - " 8r 0.0000000e+00 3.78e+01 2.03e-02 -4.3 8.71e-01 - 9.71e-01 1.00e+00f 1\n", - " 9r 0.0000000e+00 3.80e+01 2.62e-04 -6.4 1.24e-01 - 9.99e-01 1.00e+00f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10r 0.0000000e+00 3.81e+01 5.87e-09 -6.4 1.58e-01 - 1.00e+00 1.00e+00f 1\n", - " 11r 0.0000000e+00 3.91e+01 1.09e-05 -9.0 9.35e-01 - 9.68e-01 1.00e+00f 1\n", - "\n", - "Number of Iterations....: 11\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 5.1393961893966849e-07 5.1393961893966849e-07\n", - "Constraint violation....: 3.9105165554489545e+01 3.9105165554489545e+01\n", - "Complementarity.........: 9.0909090910996620e-10 9.0909090910996620e-10\n", - "Overall NLP error.......: 3.9105165554489545e+01 3.9105165554489545e+01\n", - "\n", - "\n", - "Number of objective function evaluations = 17\n", - "Number of objective gradient evaluations = 5\n", - "Number of equality constraint evaluations = 17\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 14\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 12\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.004\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Converged to a point of local infeasibility. Problem may be infeasible.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: infeasible\n", - " - message from solver: Ipopt 3.13.2\\x3a Converged to a locally infeasible\n", - " point. Problem may be infeasible.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 16, 'Number of variables': 16, 'Sense': 'unknown'}], 'Solver': [{'Status': 'warning', 'Message': 'Ipopt 3.13.2\\\\x3a Converged to a locally infeasible point. Problem may be infeasible.', 'Termination condition': 'infeasible', 'Id': 200, 'Error rc': 0, 'Time': 0.06552338600158691}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "solver = pyo.SolverFactory(\"ipopt\")\n", "solver.solve(m, tee=True)" @@ -1369,39 +1254,7 @@ "execution_count": 14, "id": "2c5af45e", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 7.955E+03\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 WARNINGS\n", - "\n", - " WARNING: 6 Constraints with large residuals (>1.0E-05)\n", - " WARNING: 5 Variables at or outside bounds (tol=0.0E+00)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "3 Cautions\n", - "\n", - " Caution: 8 Variables with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 5 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 3 Variables with extreme value (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_constraints_with_large_residuals()\n", - " display_variables_at_or_outside_bounds()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.report_numerical_issues()" ] @@ -1427,24 +1280,7 @@ "execution_count": 15, "id": "465e5788", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following variable(s) have values at or outside their bounds (tol=0.0E+00):\n", - "\n", - " fs.lex.organic_phase.properties_in[0.0].pressure (fixed): value=1.0 bounds=(1, 5)\n", - " fs.lex.organic_phase.properties_out[0.0].pressure (free): value=1 bounds=(1, 5)\n", - " fs.lex.aqueous_phase.properties_out[0.0].conc_mass_comp[NaCl] (free): value=0.0 bounds=(0, None)\n", - " fs.lex.aqueous_phase.properties_out[0.0].conc_mass_comp[KNO3] (free): value=0.0 bounds=(0, None)\n", - " fs.lex.aqueous_phase.properties_out[0.0].conc_mass_comp[CaSO4] (free): value=0.0 bounds=(0, None)\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.display_variables_at_or_outside_bounds()" ] @@ -1466,25 +1302,7 @@ "execution_count": 16, "id": "46fd1bfd", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following constraint(s) have large residuals (>1.0E-05):\n", - "\n", - " fs.lex.material_aq_balance[0.0,NaCl]: 5.49716E-01\n", - " fs.lex.material_aq_balance[0.0,KNO3]: 8.94833E-01\n", - " fs.lex.material_aq_balance[0.0,CaSO4]: 5.48843E-02\n", - " fs.lex.aqueous_phase.material_balances[0.0,NaCl]: 1.67003E+01\n", - " fs.lex.aqueous_phase.material_balances[0.0,KNO3]: 3.91052E+01\n", - " fs.lex.aqueous_phase.material_balances[0.0,CaSO4]: 4.94512E+00\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.display_constraints_with_large_residuals()" ] @@ -1502,18 +1320,7 @@ "execution_count": 17, "id": "273cadde", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{Member of material_balances} : Material balances\n", - " Size=4, Index=fs._time*fs.aq_properties.component_list, Active=True\n", - " Key : Lower : Body : Upper : Active\n", - " (0.0, 'NaCl') : 0.0 : (fs.lex.aqueous_phase.properties_in[0.0].conc_mass_comp[NaCl]*fs.lex.aqueous_phase.properties_in[0.0].flow_vol) - (fs.lex.aqueous_phase.properties_out[0.0].conc_mass_comp[NaCl]*fs.lex.aqueous_phase.properties_out[0.0].flow_vol) + fs.lex.aqueous_phase.mass_transfer_term[0.0,Aq,NaCl] : 0.0 : True\n" - ] - } - ], + "outputs": [], "source": [ "m.fs.lex.aqueous_phase.material_balances[0.0, \"NaCl\"].pprint()" ] @@ -1523,34 +1330,7 @@ "execution_count": 18, "id": "1f4b3998", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{Member of conc_mass_comp} : Component mass concentrations\n", - " Size=3, Index=fs.aq_properties.solutes, Units=g/l\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " NaCl : 0 : 0.15 : None : True : True : NonNegativeReals\n", - "flow_vol : Total volumetric flowrate\n", - " Size=1, Index=None, Units=l/h\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " None : 0 : 100.0 : None : True : True : NonNegativeReals\n", - "{Member of conc_mass_comp} : Component mass concentrations\n", - " Size=3, Index=fs.aq_properties.solutes, Units=g/l\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " NaCl : 0 : 0.0 : None : False : False : NonNegativeReals\n", - "flow_vol : Total volumetric flowrate\n", - " Size=1, Index=None, Units=l/h\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " None : 0 : 100.0 : None : False : False : NonNegativeReals\n", - "{Member of mass_transfer_term} : Component material transfer into unit\n", - " Size=4, Index=fs._time*fs.aq_properties._phase_component_set, Units=g/h\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " (0.0, 'Aq', 'NaCl') : None : -31.700284300098897 : None : False : False : Reals\n" - ] - } - ], + "outputs": [], "source": [ "m.fs.lex.aqueous_phase.properties_in[0.0].conc_mass_comp[\"NaCl\"].pprint()\n", "m.fs.lex.aqueous_phase.properties_in[0.0].flow_vol.pprint()\n", @@ -1574,18 +1354,7 @@ "execution_count": 19, "id": "6d67dcbe", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{Member of material_aq_balance} : Unit level material balances for Aq\n", - " Size=4, Index=fs._time*fs.aq_properties.component_list, Active=True\n", - " Key : Lower : Body : Upper : Active\n", - " (0.0, 'NaCl') : 0.0 : fs.lex.aqueous_phase.mass_transfer_term[0.0,Aq,NaCl] + fs.org_properties.diffusion_factor[NaCl]*(fs.lex.aqueous_phase.properties_in[0.0].conc_mass_comp[NaCl]*fs.lex.aqueous_phase.properties_in[0.0].flow_vol) : 0.0 : True\n" - ] - } - ], + "outputs": [], "source": [ "m.fs.lex.material_aq_balance[0.0, \"NaCl\"].pprint()" ] @@ -1632,43 +1401,7 @@ "execution_count": 21, "id": "955afa2e", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 21 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 16 (External: 0)\n", - " Free Variables with only lower bounds: 8\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 0\n", - " Fixed Variables in Activated Constraints: 8 (External: 0)\n", - " Activated Equality Constraints: 16 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 Cautions\n", - "\n", - " Caution: 10 unused variables (4 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " Try to initialize/solve your model and then call report_numerical_issues()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.report_structural_issues()" ] @@ -1686,85 +1419,7 @@ "execution_count": 22, "id": "dd5ae6d0", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 33\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 14\n", - "\n", - "Total number of variables............................: 16\n", - " variables with only lower bounds: 8\n", - " variables with lower and upper bounds: 0\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 16\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 5.85e+01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 3.55e-15 8.41e+00 -1.0 5.85e+01 - 1.05e-01 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 1\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 3.5527136788005009e-15 3.5527136788005009e-15\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 3.5527136788005009e-15 3.5527136788005009e-15\n", - "\n", - "\n", - "Number of objective function evaluations = 2\n", - "Number of objective gradient evaluations = 2\n", - "Number of equality constraint evaluations = 2\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 2\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 1\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 16, 'Number of variables': 16, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.07779264450073242}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "solver.solve(m, tee=True)" ] diff --git a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/creating_unit_model_doc.ipynb b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/creating_unit_model_doc.ipynb index cdbbb12c..794f9245 100644 --- a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/creating_unit_model_doc.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/creating_unit_model_doc.ipynb @@ -1,5 +1,31 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { "cell_type": "code", "execution_count": 1, @@ -27,7 +53,6 @@ "# Creating Custom Unit Model\n", "Author: Javal Vyas \n", "Maintainer: Javal Vyas \n", - "Updated: 2023-02-20\n", "\n", "This tutorial is a comprehensive step-wise procedure to build a custom unit model from scratch. This tutorial will include creating a property package, a custom unit model and testing them. For this tutorial we shall create a custom unit model for Liquid - Liquid Extraction. \n", "\n", @@ -57,7 +82,7 @@ "- Define State Block Data\n", "\n", "# 1.1 Importing necessary packages \n", - "Let us begin with the importing the necessary libraries where we will be using functionalities from IDAES and Pyomo. " + "Let us begin with importing the necessary libraries where we will be using functionalities from IDAES and Pyomo. " ] }, { @@ -115,7 +140,7 @@ "\n", "To construct this block, we begin by declaring a process block class using a Python decorator. One can learn more about `declare_process_block_class` [here](https://github.com/IDAES/idaes-pse/blob/eea1209077b75f7d940d8958362e69d4650c079d/idaes/core/base/process_block.py#L173). After constructing the process block, we define a build function which contains all the components that the property package would have. `super` function here is used to give access to methods and properties of a parent or sibling class and since this is used on the class `PhysicalParameterData` class, build has access to all the parent and sibling class methods. \n", "\n", - "The `PhysicalParameterBlock` then refers to the `state block`, in this case `OrgPhaseStateBlock` (which will be declared later), so that we can build a state block instance by only knowing the `PhysicalParameterBlock` we wish to use. Then we move on to list the number of phases in this property package. Then we assign the variable to the phase which follows a naming convention. Like here since the solvent is in the Organic phase, we will assign the Phase as OrganicPhase and the variable will be named Org as per the naming convention. The details of naming conventions can be found [here](https://github.com/IDAES/idaes-pse/blob/main/docs/explanations/conventions.rst). We will be following the same convention throughout the example. \n", + "The `PhysicalParameterBlock` then refers to the `state block`, in this case `OrgPhaseStateBlock` (which will be declared later), so that we can build a state block instance by only knowing the `PhysicalParameterBlock` we wish to use. Then we list the number of phases in this property package. Then we assign the variable to the phase which follows a naming convention. The solvent is in the Organic phase; we will assign the Phase as OrganicPhase, and the variable will be named Org as per the naming convention. The details of naming conventions can be found [here](https://github.com/IDAES/idaes-pse/blob/main/docs/explanations/conventions.rst). We will be following the same convention throughout the example. \n", " \n", "After defining the list of the phases, we move on to list the components and their type in the phase. It can be a solute or a solvent in the Organic phase. Thus, we define the component and assign it to either being a solute or a solvent. In this case, the salts are the solutes and Ethylene dibromide is the solvent. Next, we define the physical properties involved in the package, like the heat capacity and density of the solvent, the reference temperature, and the distribution factor that would govern the mass transfer from one phase into another. Additionally, a parameter, the `diffusion_factor`, is introduced. This factor plays a crucial role in governing mass transfer between phases, necessitating its definition within the state block.\n", "\n", @@ -210,9 +235,9 @@ "\n", "Creating a State Block requires us to write two classes. The reason we write two classes is because of the inherent nature of how `declare_process_block_data` works. `declare_process_block_data` facilitates creating an `IndexedComponent` object which can handle multiple `ComponentData` objects which represent the component at each point in the indexing set. This makes it easier to build an instance of the model at each indexed point. However, State Blocks are slightly different, as they are always indexed (at least by time). Due to this, we often want to perform actions on all the elements of the indexed StateBlock all at once (rather than element by element).\n", "\n", - "The class `_OrganicStateBlock` is defined without the `declare_process_block_data` decorator and thus works as a traditional class and this facilitates performing a method on the class as a whole rather than individual elements of the indexed property blocks. In this class we define the `fix_initialization_states` function. `fix_initialization_states` function is to used to fix the state variable within the state block with the provided initial values (usually inlet conditions). It takes a `block` as the argument in which the state variables are to be fixed. It also takes `state_args` as an optional argument. `state_args` is a dictionary with the value for the state variables to be fixed. This function returns a dictionary indexed by the block, state variables and variable index indicating the fixed status of each variable before applying the function. \n", + "The class `_OrganicStateBlock` is defined without the `declare_process_block_data` decorator and thus works as a traditional class and this facilitates performing a method on the class as a whole rather than individual elements of the indexed property blocks. In this class we define the `fix_initialization_states` function. `fix_initialization_states` function is used to fix the state variable within the state block with the provided initial values (usually inlet conditions). It takes a `block` as the argument in which the state variables are to be fixed. It also takes `state_args` as an optional argument. `state_args` is a dictionary with the value for the state variables to be fixed. This function returns a dictionary indexed by the block, state variables and variable index indicating the fixed status of each variable before applying the function. \n", "\n", - "The above function comprise of the _OrganicStateBlock, next we shall see the construction of the OrgPhaseStateBlockData class." + "The above function comprise of the _OrganicStateBlock. Next, we shall see the construction of the OrgPhaseStateBlockData class." ] }, { @@ -267,7 +292,7 @@ "@declare_process_block_class(\"OrgPhaseStateBlock\", block_class=_OrganicStateBlock)\n", "class OrgPhaseStateBlockData(StateBlockData):\n", " \"\"\"\n", - " An example property package for Organic phzase for liquid liquid extraction\n", + " An example property package for Organic phase for liquid liquid extraction\n", " \"\"\"\n", "\n", " def build(self):\n", @@ -364,7 +389,7 @@ "source": [ "# 2. Creating Aqueous Property Package\n", "\n", - "The structure of Aqueous Property Package mirrors that of the Organic Property Package we previously developed. We'll commence with an overview, importing the required libraries, followed by the creation of the physical property block and two state blocks. The distinctions in this package lie in the physical parameter values, and notably, the absence of the diffusion factor term, differentiating it from the prior package. The following code snippet should provide clarity on these distinctions." + "The structure of the Aqueous Property Package mirrors that of the Organic Property Package we previously developed. We'll commence with an overview, importing the required libraries, followed by the creation of the physical property block and two state blocks. The distinctions in this package lie in the physical parameter values, and notably, the absence of the diffusion factor term, differentiating it from the prior package. The following code snippet should provide clarity on these distinctions." ] }, { @@ -633,19 +658,19 @@ "source": [ "## 3.2 Creating the unit model\n", "\n", - "Creating a unit model starts by creating a class called `LiqExtractionData` and use the `declare_process_block_class` decorator. The `LiqExtractionData` inherits the properties of `UnitModelBlockData` class, which allows us to create a control volume which is necessary for the unit model. After declaration of the class we proceed to define the relevant config arguments for the control volume. The config arguments includes the following properties:\n", + "Creating a unit model starts by creating a class called `LiqExtractionData` and using the `declare_process_block_class` decorator. The `LiqExtractionData` inherits the properties of the `UnitModelBlockData` class, which allows us to create a control volume that is necessary for the unit model. After declaration of the class we proceed to define the relevant config arguments for the control volume. The config arguments include the following properties:\n", "\n", "- `material_balance_type` - Indicates what type of mass balance should be constructed\n", "- `has_pressure_change` - Indicates whether terms for pressure change should be\n", "constructed\n", "- `has_phase_equilibrium` - Indicates whether terms for phase equilibrium should be\n", "constructed\n", - "- `Organic Property` - Property parameter object used to define property calculations\n", + "- `organic_property_package` - Property parameter object used to define property calculations\n", "for the Organic phase\n", - "- `Organic Property Arguments` - Arguments to use for constructing Organic phase properties\n", - "- `Aqueous Property` - Property parameter object used to define property calculations\n", + "- `organic_property_package_args` - Arguments to use for constructing Organic phase properties\n", + "- `aqueous_property_package` - Property parameter object used to define property calculations\n", "for the aqueous phase\n", - "- `Aqueous Property Arguments` - Arguments to use for constructing aqueous phase properties\n", + "- `aqueous_property_package_args` - Arguments to use for constructing aqueous phase properties\n", "\n", "As there are no pressure changes or reactions in this scenario, configuration arguments for these aspects are not included. However, additional details on configuration arguments can be found [here](https://github.com/IDAES/idaes-pse/blob/8948c6ce27d4c7f2c06b377a173f413599091998/idaes/models/unit_models/cstr.py)." ] @@ -770,17 +795,17 @@ "source": [ "### Building the model\n", "\n", - "After constructing the `LiqExtractionData` block and defining the config arguments for the control block, the next step is to write a build function that incorporates control volume and establishes constraints on the control volume to achieve the desired mass transfer. The control volume serves as a pivotal component in the unit model construction, representing the volume in which the process unfolds.\n", + "After constructing the `LiqExtractionData` block and defining the config arguments for the control block, the next step is to write a build function that incorporates the control volume and establishes constraints on the control volume to achieve the desired mass transfer. The control volume serves as a pivotal component in the unit model construction, representing the volume in which the process unfolds.\n", "\n", "IDAES provides flexibility in choosing control volumes based on geometry, with options including 0D or 1D. In this instance, we opt for a 0D control volume, the most commonly used control volume. This choice is suitable for systems where there is a well-mixed volume of fluid or where spatial variations are deemed negligible.\n", "\n", "The control volume encompasses parameters from (1-8), and its equations are configured to satisfy the specified config arguments. For a more in-depth understanding, users are encouraged to refer to [this resource](https://github.com/IDAES/idaes-pse/blob/2f34dd3abc1bce5ba17c80939a01f9034e4fbeef/docs/reference_guides/core/control_volume_0d.rst). \n", "\n", - "The `build` function is initiated using the `super` function to gain access to methods and properties of a parent or sibling class, in this case, the `LiqExtractionData` class. Following the `super` function, checks are performed on the property packages to ensure the appropriate names for the solvents, such as 'Aq' for the aqueous phase and 'Org' for the Organic phase. An error is raised if these conditions are not met. Subsequently, a check is performed to ensure there is at least one common component between the two property packages that can be transferred from one phase to another.\n", + "The `build` function is initiated using the `super` function to gain access to methods and properties of a parent or sibling class, in this case, the `LiqExtractionData` class. Following the `super` function, checks are performed on the property packages to ensure the appropriate names for the solvents, such as 'Aq' for the aqueous phase and 'Org' for the organic phase. An error is raised if these conditions are not met. Subsequently, a check is performed to ensure there is at least one common component between the two property packages that can be transferred from one phase to another.\n", "\n", - "After these checks are completed without any exceptions raised, it is ensured that the property packages have the desired components with appropriate names. The next step is to create a control volume and assign it to a property package. Here, we initiate with the Organic phase and attach a 0D control volume to it. The control volume takes arguments about the dynamics of the block, and the property package, along with property package arguments. \n", + "After these checks are completed without any exceptions raised, it is ensured that the property packages have the desired components with appropriate names. The next step is to create a control volume and assign it to a property package. Here, we initiate with the organic phase and attach a 0D control volume to it. The control volume takes arguments about the dynamics of the block, and the property package, along with property package arguments. \n", "\n", - "The subsequent steps involve adding inlet and outlet state blocks to the control volume using the `add_state_blocks` function. This function takes arguments about the flow direction (defaulted to forward) and a flag for `has_phase_equilibrium`, which is read from the config. The control volume is now equipped with the inlet and outlet state blocks and has access to the Organic property package\n", + "The subsequent steps involve adding inlet and outlet state blocks to the control volume using the `add_state_blocks` function. This function takes arguments about the flow direction (defaulted to forward) and a flag for `has_phase_equilibrium`, which is read from the config. The control volume is now equipped with the inlet and outlet state blocks and has access to the organic property package\n", "\n", "Next, material balance equations are added to the control volume using the `add_material_balance` function, taking into account the type of material balance, `has_phase_equilibrium`, and the presence of `has_mass_transfer`. To understand this arguments further let us have a look at the material balance equation and how it is implemented in control volume. \n", "\n", @@ -801,9 +826,9 @@ "- e indicates element index\n", "- r indicates reaction name index\n", "\n", - "Here we shall see that $N_{transfer, t, p, j}$ is the term in the equation which is responsible for the mass transfer and the `mass_transfer_term` should only be equal to the amount being transferred and not include a material balance on our own. For a detailed description of the terms one should refer to the following [resource](https://github.com/IDAES/idaes-pse/blob/2f34dd3abc1bce5ba17c80939a01f9034e4fbeef/docs/reference_guides/core/control_volume_0d.rst)\n", + "Here we shall see that $N_{transfer, t, p, j}$ is the term in the equation which is responsible for the mass transfer and the `mass_transfer_term` should only be equal to the amount being transferred and not include a material balance on our own. For a detailed description of the terms one should refer to the following [resource.](https://github.com/IDAES/idaes-pse/blob/2f34dd3abc1bce5ba17c80939a01f9034e4fbeef/docs/reference_guides/core/control_volume_0d.rst)\n", "\n", - "This concludes the creation of organic phase control volume. Similar procedure is done for the aqueous phase control volume with aqueous property package. \n", + "This concludes the creation of the organic phase control volume. A similar procedure is done for the aqueous phase control volume with aqueous property package. \n", "\n", "Now, the unit model has two control volumes with appropriate configurations and material, momentum and energy balances. The next step is to check the basis of the two property packages. They should both have the same flow basis, and an error is raised if this is not the case.\n", "\n", @@ -811,7 +836,7 @@ "\n", "The subsequent steps involve writing unit-level constraints. A check if the basis is either molar or mass, and unit-level constraints are written accordingly. The first constraint pertains to the mass transfer term for the aqueous phase. The mass transfer term is equal to $mass\\_transfer\\_term_{aq} = (D_{i})\\frac{mass_{i}~in~aq~phase}{flowrate~of~aq~phase}$. The second constraint relates to the mass transfer term in the organic phase, which is the negative of the mass transfer term in the aqueous phase: $mass\\_transfer\\_term_{org} = - mass\\_transfer\\_term_{aq} $\n", "\n", - "Here $mass\\_transfer\\_term_{p}$ is the term indicating the amount of material being transferred from/to the phase and $D_{i}$ is the Distribution co-efficient for component i. \n", + "Here $mass\\_transfer\\_term_{p}$ is the term indicating the amount of material being transferred from/to the phase and $D_{i}$ is the Distribution coefficient for component i. \n", "\n", "This marks the completion of the build function, and the unit model is now equipped with the necessary process constraints. The subsequent steps involve writing the initialization routine." ] @@ -836,7 +861,7 @@ " # Check phase lists match assumptions\n", " if self.config.aqueous_property_package.phase_list != [\"Aq\"]:\n", " raise ConfigurationError(\n", - " f\"{self.name} Liquid-Liquid Extractor model requires that the aquoues \"\n", + " f\"{self.name} Liquid-Liquid Extractor model requires that the aqueous \"\n", " f\"phase property package have a single phase named 'Aq'\"\n", " )\n", " if self.config.organic_property_package.phase_list != [\"Org\"]:\n", @@ -949,8 +974,6 @@ "\n", " if flow_basis == MaterialFlowBasis.mass:\n", " fb = \"flow_mass\"\n", - " elif flow_basis == MaterialFlowBasis.molar:\n", - " fb = \"flow_mole\"\n", " else:\n", " raise ConfigurationError(\n", " f\"{self.name} Liquid-Liquid Extractor only supports mass \"\n", @@ -1015,13 +1038,13 @@ "\n", "- Have precheck for structural singularity\n", "- Run incidence analysis on given block data and check matching.\n", - "- Call Block Triangularization solver on model.\n", + "- Call Block Triangularization solver on the model.\n", "- Call solve_strongly_connected_components on a given BlockData.\n", "\n", - "For more details about this initialization routine can be found [here](https://github.com/IDAES/idaes-pse/blob/c09433b9afed5ae2fe25c0ccdc732783324f0101/idaes/core/initialization/block_triangularization.py). \n", + "More details about this initialization routine can be found [here](https://github.com/IDAES/idaes-pse/blob/c09433b9afed5ae2fe25c0ccdc732783324f0101/idaes/core/initialization/block_triangularization.py). \n", "\n", "\n", - "This marks the conclusion of creating a custom unit model, for a more detailed explanation on creating a unit model refer [this resource](../../unit_models/custom_unit_models/custom_compressor_doc.md). The next sections will deal with the diagonistics and testing of the property package and unit model. " + "This marks the conclusion of creating a custom unit model, for a more detailed explanation on creating a unit model refer [this resource](../../unit_models/custom_unit_models/custom_compressor_doc.md). The next sections will deal with the diagnostics and testing of the property package and unit model. " ] }, { @@ -1051,13 +1074,8 @@ "outputs": [], "source": [ "import pyomo.environ as pyo\n", - "import idaes.core\n", - "import idaes.models.unit_models\n", - "from idaes.core.solvers import get_solver\n", - "import idaes.logger as idaeslog\n", - "from pyomo.network import Arc\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.initialization import InitializationStatus\n", + "from idaes.core import FlowsheetBlock\n", + "\n", "from idaes.core.initialization.block_triangularization import (\n", " BlockTriangularizationInitializer,\n", ")\n", @@ -1068,7 +1086,7 @@ "\n", "def build_model():\n", " m = pyo.ConcreteModel()\n", - " m.fs = idaes.core.FlowsheetBlock(dynamic=False)\n", + " m.fs = FlowsheetBlock(dynamic=False)\n", " m.fs.org_properties = OrgPhase()\n", " m.fs.aq_properties = AqPhase()\n", "\n", @@ -1156,7 +1174,7 @@ "\n", "Here's a breakdown of the steps to start with:\n", "\n", - "- `Instantiate Model:` Ensure you have an instance of the model with a degrees of freedom equal to 0.\n", + "- `Instantiate Model:` Ensure you have an instance of the model with degrees of freedom equal to 0.\n", "\n", "- `Create DiagnosticsToolbox Instance:` Next, instantiate a DiagnosticsToolbox object.\n", "\n", @@ -1171,55 +1189,7 @@ "cell_type": "code", "execution_count": 12, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING (W1001): Setting Var\n", - "'fs.lex.aqueous_phase.properties_out[0.0].conc_mass_comp[NaCl]' to a value\n", - "`-0.1725` (float) not in domain NonNegativeReals.\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1001\n", - "WARNING (W1001): Setting Var\n", - "'fs.lex.aqueous_phase.properties_out[0.0].conc_mass_comp[KNO3]' to a value\n", - "`-0.4` (float) not in domain NonNegativeReals.\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1001\n", - "WARNING (W1001): Setting Var\n", - "'fs.lex.aqueous_phase.properties_out[0.0].conc_mass_comp[CaSO4]' to a value\n", - "`-0.05` (float) not in domain NonNegativeReals.\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1001\n", - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 21 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 16 (External: 0)\n", - " Free Variables with only lower bounds: 8\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 0\n", - " Fixed Variables in Activated Constraints: 8 (External: 0)\n", - " Activated Equality Constraints: 16 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 Cautions\n", - "\n", - " Caution: 10 unused variables (4 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " Try to initialize/solve your model and then call report_numerical_issues()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "m = main()\n", "dt = DiagnosticsToolbox(m)\n", @@ -1237,101 +1207,7 @@ "cell_type": "code", "execution_count": 13, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 33\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 14\n", - "\n", - "Total number of variables............................: 16\n", - " variables with only lower bounds: 8\n", - " variables with lower and upper bounds: 0\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 16\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 4.10e+01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 4.00e+01 4.93e+01 -1.0 4.10e-01 - 9.91e-01 2.41e-02h 1\n", - " 2 0.0000000e+00 4.00e+01 2.03e+05 -1.0 4.00e-01 - 1.00e+00 2.47e-04h 1\n", - " 3r 0.0000000e+00 4.00e+01 1.00e+03 1.6 0.00e+00 - 0.00e+00 3.09e-07R 4\n", - " 4r 0.0000000e+00 4.00e+01 9.88e+04 1.6 3.68e+02 - 9.92e-01 2.29e-03f 1\n", - " 5r 0.0000000e+00 3.60e+01 3.03e+00 1.6 4.01e+00 - 1.00e+00 1.00e+00f 1\n", - " 6r 0.0000000e+00 3.69e+01 1.21e+01 -1.2 9.24e-01 - 9.69e-01 9.78e-01f 1\n", - " 7r 0.0000000e+00 3.70e+01 2.11e-01 -1.9 1.00e-01 - 9.97e-01 1.00e+00f 1\n", - " 8r 0.0000000e+00 3.78e+01 2.03e-02 -4.3 8.71e-01 - 9.71e-01 1.00e+00f 1\n", - " 9r 0.0000000e+00 3.80e+01 2.62e-04 -6.4 1.24e-01 - 9.99e-01 1.00e+00f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10r 0.0000000e+00 3.81e+01 5.87e-09 -6.4 1.58e-01 - 1.00e+00 1.00e+00f 1\n", - " 11r 0.0000000e+00 3.91e+01 1.09e-05 -9.0 9.35e-01 - 9.68e-01 1.00e+00f 1\n", - "\n", - "Number of Iterations....: 11\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 5.1393961893966849e-07 5.1393961893966849e-07\n", - "Constraint violation....: 3.9105165554489545e+01 3.9105165554489545e+01\n", - "Complementarity.........: 9.0909090910996620e-10 9.0909090910996620e-10\n", - "Overall NLP error.......: 3.9105165554489545e+01 3.9105165554489545e+01\n", - "\n", - "\n", - "Number of objective function evaluations = 17\n", - "Number of objective gradient evaluations = 5\n", - "Number of equality constraint evaluations = 17\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 14\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 12\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.004\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Converged to a point of local infeasibility. Problem may be infeasible.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: infeasible\n", - " - message from solver: Ipopt 3.13.2\\x3a Converged to a locally infeasible\n", - " point. Problem may be infeasible.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 16, 'Number of variables': 16, 'Sense': 'unknown'}], 'Solver': [{'Status': 'warning', 'Message': 'Ipopt 3.13.2\\\\x3a Converged to a locally infeasible point. Problem may be infeasible.', 'Termination condition': 'infeasible', 'Id': 200, 'Error rc': 0, 'Time': 0.06552338600158691}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "solver = pyo.SolverFactory(\"ipopt\")\n", "solver.solve(m, tee=True)" @@ -1341,46 +1217,14 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "The model is probably infeasible thus indicating numerical issues with the model. We should call the `report_numerical_issues()` function and check what the constraints/variables causing this issue. " + "The model is probably infeasible, indicating numerical issues with the model. We should call the `report_numerical_issues()` function and check the constraints/variables causing this issue. " ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 7.955E+03\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 WARNINGS\n", - "\n", - " WARNING: 6 Constraints with large residuals (>1.0E-05)\n", - " WARNING: 5 Variables at or outside bounds (tol=0.0E+00)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "3 Cautions\n", - "\n", - " Caution: 8 Variables with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 5 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 3 Variables with extreme value (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_constraints_with_large_residuals()\n", - " display_variables_at_or_outside_bounds()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.report_numerical_issues()" ] @@ -1404,24 +1248,7 @@ "cell_type": "code", "execution_count": 15, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following variable(s) have values at or outside their bounds (tol=0.0E+00):\n", - "\n", - " fs.lex.organic_phase.properties_in[0.0].pressure (fixed): value=1.0 bounds=(1, 5)\n", - " fs.lex.organic_phase.properties_out[0.0].pressure (free): value=1 bounds=(1, 5)\n", - " fs.lex.aqueous_phase.properties_out[0.0].conc_mass_comp[NaCl] (free): value=0.0 bounds=(0, None)\n", - " fs.lex.aqueous_phase.properties_out[0.0].conc_mass_comp[KNO3] (free): value=0.0 bounds=(0, None)\n", - " fs.lex.aqueous_phase.properties_out[0.0].conc_mass_comp[CaSO4] (free): value=0.0 bounds=(0, None)\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.display_variables_at_or_outside_bounds()" ] @@ -1441,25 +1268,7 @@ "cell_type": "code", "execution_count": 16, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following constraint(s) have large residuals (>1.0E-05):\n", - "\n", - " fs.lex.material_aq_balance[0.0,NaCl]: 5.49716E-01\n", - " fs.lex.material_aq_balance[0.0,KNO3]: 8.94833E-01\n", - " fs.lex.material_aq_balance[0.0,CaSO4]: 5.48843E-02\n", - " fs.lex.aqueous_phase.material_balances[0.0,NaCl]: 1.67003E+01\n", - " fs.lex.aqueous_phase.material_balances[0.0,KNO3]: 3.91052E+01\n", - " fs.lex.aqueous_phase.material_balances[0.0,CaSO4]: 4.94512E+00\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.display_constraints_with_large_residuals()" ] @@ -1468,25 +1277,14 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "As expected there are convergence issues with the constraints which have `conc_mass_comp` variable in them specifically in the aqeous phase. Now, let us investigate further by printing this constraints and checking the value of each term. Since this is an persistent issue across the components, we can focus on just one of the component to identify the issue. " + "As expected there are convergence issues with the constraints which have `conc_mass_comp` variable in them specifically in the aqueous phase. Now, let us investigate further by printing this constraints and checking the value of each term. Since this is an persistent issue across the components, we can focus on just one of the component to identify the issue. " ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{Member of material_balances} : Material balances\n", - " Size=4, Index=fs._time*fs.aq_properties.component_list, Active=True\n", - " Key : Lower : Body : Upper : Active\n", - " (0.0, 'NaCl') : 0.0 : (fs.lex.aqueous_phase.properties_in[0.0].conc_mass_comp[NaCl]*fs.lex.aqueous_phase.properties_in[0.0].flow_vol) - (fs.lex.aqueous_phase.properties_out[0.0].conc_mass_comp[NaCl]*fs.lex.aqueous_phase.properties_out[0.0].flow_vol) + fs.lex.aqueous_phase.mass_transfer_term[0.0,Aq,NaCl] : 0.0 : True\n" - ] - } - ], + "outputs": [], "source": [ "m.fs.lex.aqueous_phase.material_balances[0.0, \"NaCl\"].pprint()" ] @@ -1495,34 +1293,7 @@ "cell_type": "code", "execution_count": 18, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{Member of conc_mass_comp} : Component mass concentrations\n", - " Size=3, Index=fs.aq_properties.solutes, Units=g/l\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " NaCl : 0 : 0.15 : None : True : True : NonNegativeReals\n", - "flow_vol : Total volumetric flowrate\n", - " Size=1, Index=None, Units=l/h\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " None : 0 : 100.0 : None : True : True : NonNegativeReals\n", - "{Member of conc_mass_comp} : Component mass concentrations\n", - " Size=3, Index=fs.aq_properties.solutes, Units=g/l\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " NaCl : 0 : 0.0 : None : False : False : NonNegativeReals\n", - "flow_vol : Total volumetric flowrate\n", - " Size=1, Index=None, Units=l/h\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " None : 0 : 100.0 : None : False : False : NonNegativeReals\n", - "{Member of mass_transfer_term} : Component material transfer into unit\n", - " Size=4, Index=fs._time*fs.aq_properties._phase_component_set, Units=g/h\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " (0.0, 'Aq', 'NaCl') : None : -31.700284300098897 : None : False : False : Reals\n" - ] - } - ], + "outputs": [], "source": [ "m.fs.lex.aqueous_phase.properties_in[0.0].conc_mass_comp[\"NaCl\"].pprint()\n", "m.fs.lex.aqueous_phase.properties_in[0.0].flow_vol.pprint()\n", @@ -1544,18 +1315,7 @@ "cell_type": "code", "execution_count": 19, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{Member of material_aq_balance} : Unit level material balances for Aq\n", - " Size=4, Index=fs._time*fs.aq_properties.component_list, Active=True\n", - " Key : Lower : Body : Upper : Active\n", - " (0.0, 'NaCl') : 0.0 : fs.lex.aqueous_phase.mass_transfer_term[0.0,Aq,NaCl] + fs.org_properties.diffusion_factor[NaCl]*(fs.lex.aqueous_phase.properties_in[0.0].conc_mass_comp[NaCl]*fs.lex.aqueous_phase.properties_in[0.0].flow_vol) : 0.0 : True\n" - ] - } - ], + "outputs": [], "source": [ "m.fs.lex.material_aq_balance[0.0, \"NaCl\"].pprint()" ] @@ -1591,50 +1351,14 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "After the corrective actions, we should check if this have made any structural issues, for this we would call `report_structural_issues()`" + "After the corrective actions, we should check if this has made any structural issues, for this we would call `report_structural_issues()`" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 21 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 16 (External: 0)\n", - " Free Variables with only lower bounds: 8\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 0\n", - " Fixed Variables in Activated Constraints: 8 (External: 0)\n", - " Activated Equality Constraints: 16 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 Cautions\n", - "\n", - " Caution: 10 unused variables (4 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " Try to initialize/solve your model and then call report_numerical_issues()\n", - "\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "dt.report_structural_issues()" ] @@ -1650,85 +1374,7 @@ "cell_type": "code", "execution_count": 22, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 33\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 14\n", - "\n", - "Total number of variables............................: 16\n", - " variables with only lower bounds: 8\n", - " variables with lower and upper bounds: 0\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 16\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 5.85e+01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 3.55e-15 8.41e+00 -1.0 5.85e+01 - 1.05e-01 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 1\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 3.5527136788005009e-15 3.5527136788005009e-15\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 3.5527136788005009e-15 3.5527136788005009e-15\n", - "\n", - "\n", - "Number of objective function evaluations = 2\n", - "Number of objective gradient evaluations = 2\n", - "Number of equality constraint evaluations = 2\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 2\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 1\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 16, 'Number of variables': 16, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.07779264450073242}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "solver.solve(m, tee=True)" ] @@ -1752,7 +1398,7 @@ "\n", "Testing is a crucial part of model development to ensure that the model works as expected, and remains reliable. Here's an overview of why we conduct testing:\n", "\n", - "1. `Verify Correctness`: Testing ensure that the model works as expected and meets the specified requirements. \n", + "1. `Verify Correctness`: Testing ensures that the model works as expected and meets the specified requirements. \n", "2. `Detect Bugs and Issues`: Testing helps in identifying bugs, errors, or unexpected behaviors in the code or model, allowing for timely fixes.\n", "3. `Ensure Reliability`: Testing improves the reliability and robustness of the software, reducing the risk of failures when the user uses it.\n", "4. `Support Changes`: Tests provide confidence when making changes or adding new features, ensuring that existing functionalities are not affected and work as they should.\n", @@ -1844,7 +1490,7 @@ "\n", "2. Initialization Function Test: Check that state variables are not fixed before initialization and are released after initialization. This test ensures that the initialization process occurs as expected and that the state variables are appropriately managed throughout.\n", "\n", - "These unit tests provide comprehensive coverage for validating the functionality and behavior of the state block in the Aqueous property phase package. Similar tests can be written for the organic property package to ensure consistency and reliability across both packages." + "These unit tests provide comprehensive coverage for validating the functionality and behavior of the state block in the aqueous property phase package. Similar tests can be written for the organic property package to ensure consistency and reliability across both packages." ] }, { @@ -1933,7 +1579,7 @@ "source": [ "import pytest\n", "\n", - "import idaes.core\n", + "from idaes.core import FlowsheetBlock\n", "import idaes.models.unit_models\n", "from idaes.core.solvers import get_solver\n", "import idaes.logger as idaeslog\n", @@ -1956,7 +1602,7 @@ "@pytest.mark.unit\n", "def test_config():\n", " m = ConcreteModel()\n", - " m.fs = idaes.core.FlowsheetBlock(dynamic=False)\n", + " m.fs = FlowsheetBlock(dynamic=False)\n", " m.fs.org_properties = OrgPhase()\n", " m.fs.aq_properties = AqPhase()\n", "\n", @@ -1998,7 +1644,7 @@ " @pytest.fixture(scope=\"class\")\n", " def model(self):\n", " m = ConcreteModel()\n", - " m.fs = idaes.core.FlowsheetBlock(dynamic=False)\n", + " m.fs = FlowsheetBlock(dynamic=False)\n", " m.fs.org_properties = OrgPhase()\n", " m.fs.aq_properties = AqPhase()\n", "\n", @@ -2217,7 +1863,7 @@ "- Debugging the model using DiagnosticsToolbox\n", "- Writing tests for the unit model\n", "\n", - "By following the aforementioned procedure, one can create their own custom unit model. This would conclude the tutorial on creating custom unit model. " + "By following the aforementioned procedure, one can create their own custom unit model. This concludes the tutorial on creating a custom unit model. " ] } ], @@ -2242,4 +1888,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/creating_unit_model_test.ipynb b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/creating_unit_model_test.ipynb index f11bab48..e0f8315f 100644 --- a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/creating_unit_model_test.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/creating_unit_model_test.ipynb @@ -1,1964 +1,1891 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Creating Custom Unit Model\n", - "Author: Javal Vyas \n", - "Maintainer: Javal Vyas \n", - "Updated: 2023-02-20\n", - "\n", - "This tutorial is a comprehensive step-wise procedure to build a custom unit model from scratch. This tutorial will include creating a property package, a custom unit model and testing them. For this tutorial we shall create a custom unit model for Liquid - Liquid Extraction. \n", - "\n", - "The Liquid - Liquid Extractor model contains two immiscible fluids forming the two phases. One of the phases, say phase_1 has a high concentration of solutes which is to be separated. A mass transfer happens between the two phases and the solute is transferred from phase_1 to phase_2. This mass transfer is governed by a parameter called the distribution coefficient.\n", - "\n", - "After reviewing the working principles of the Liquid - Liquid Extractor, we shall proceed to create a custom unit model. We will require a property package for each phase, a custom unit model class and tests for the model and property packages.\n", - "\n", - "Before commencing the development of the model, we need to state some assumptions which the following unit model will be using. \n", - "- Steady-state only\n", - "- Organic phase property package has a single phase named Org\n", - "- Aqueous phase property package has a single phase named Aq\n", - "- Organic and Aqueous phase properties need not have the same component list. \n", - "\n", - "Thus as per the assumptions, we will be creating one property package for the aqueous phase (Aq), and the other for the Organic phase (Org). " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 1. Creating Organic Property Package\n", - "\n", - "Creating a property package is a 4 step process\n", - "- Import necessary libraries \n", - "- Creating Physical Parameter Data Block\n", - "- Define State Block\n", - "- Define State Block Data\n", - "\n", - "# 1.1 Importing necessary packages \n", - "Let us begin with the importing the necessary libraries where we will be using functionalities from IDAES and Pyomo. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Import Python libraries\n", - "import logging\n", - "\n", - "import idaes.logger as idaeslog\n", - "from idaes.core.util.initialization import fix_state_vars\n", - "\n", - "# Import Pyomo libraries\n", - "from pyomo.environ import (\n", - " Param,\n", - " Set,\n", - " Var,\n", - " NonNegativeReals,\n", - " units,\n", - " Expression,\n", - " PositiveReals,\n", - ")\n", - "\n", - "# Import IDAES cores\n", - "from idaes.core import (\n", - " declare_process_block_class,\n", - " MaterialFlowBasis,\n", - " PhysicalParameterBlock,\n", - " StateBlockData,\n", - " StateBlock,\n", - " MaterialBalanceType,\n", - " EnergyBalanceType,\n", - " Solute,\n", - " Solvent,\n", - " LiquidPhase,\n", - ")\n", - "from idaes.core.util.model_statistics import degrees_of_freedom" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 1.2 Physical Parameter Data Block\n", - "\n", - "A `PhysicalParameterBlock` serves as the central point of reference for all aspects of the property package and needs to define several things about the package. These are summarized below:\n", - "\n", - "- Units of measurement\n", - "- What properties are supported and how they are implemented\n", - "- What components and phases are included in the packages\n", - "- All the global parameters necessary for calculating properties\n", - "- A reference to the associated State Block class, so that construction of the State Block components can be automated from the Physical Parameter Block\n", - "\n", - "To construct this block, we begin by declaring a process block class using a Python decorator. One can learn more about `declare_process_block_class` [here](https://github.com/IDAES/idaes-pse/blob/eea1209077b75f7d940d8958362e69d4650c079d/idaes/core/base/process_block.py#L173). After constructing the process block, we define a build function which contains all the components that the property package would have. `super` function here is used to give access to methods and properties of a parent or sibling class and since this is used on the class `PhysicalParameterData` class, build has access to all the parent and sibling class methods. \n", - "\n", - "The `PhysicalParameterBlock` then refers to the `state block`, in this case `OrgPhaseStateBlock` (which will be declared later), so that we can build a state block instance by only knowing the `PhysicalParameterBlock` we wish to use. Then we move on to list the number of phases in this property package. Then we assign the variable to the phase which follows a naming convention. Like here since the solvent is in the Organic phase, we will assign the Phase as OrganicPhase and the variable will be named Org as per the naming convention. The details of naming conventions can be found [here](https://github.com/IDAES/idaes-pse/blob/main/docs/explanations/conventions.rst). We will be following the same convention throughout the example. \n", - " \n", - "After defining the list of the phases, we move on to list the components and their type in the phase. It can be a solute or a solvent in the Organic phase. Thus, we define the component and assign it to either being a solute or a solvent. In this case, the salts are the solutes and Ethylene dibromide is the solvent. Next, we define the physical properties involved in the package, like the heat capacity and density of the solvent, the reference temperature, and the distribution factor that would govern the mass transfer from one phase into another. Additionally, a parameter, the `diffusion_factor`, is introduced. This factor plays a crucial role in governing mass transfer between phases, necessitating its definition within the state block.\n", - "\n", - "The final step in creating the Physical Parameter Block is to declare a `classmethod` named `define_metadata`, which takes two arguments: a class (cls) and an instance of that class (obj). In this method, we will call the predefined method `add_default_units()`.\n", - "\n", - "- `obj.add_default_units()` sets the default units metadata for the property package, and here we define units to be used with this property package as default. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "@declare_process_block_class(\"OrgPhase\")\n", - "class PhysicalParameterData(PhysicalParameterBlock):\n", - " \"\"\"\n", - " Property Parameter Block Class\n", - "\n", - " Contains parameters and indexing sets associated with properties for\n", - " organic Phase\n", - "\n", - " \"\"\"\n", - "\n", - " def build(self):\n", - " \"\"\"\n", - " Callable method for Block construction.\n", - " \"\"\"\n", - " super().build()\n", - "\n", - " self._state_block_class = OrgPhaseStateBlock\n", - "\n", - " # List of valid phases in property package\n", - " self.Org = LiquidPhase()\n", - "\n", - " # Component list - a list of component identifiers\n", - " self.NaCl = Solute()\n", - " self.KNO3 = Solute()\n", - " self.CaSO4 = Solute()\n", - " self.solvent = (\n", - " Solvent()\n", - " ) # Solvent used here is ethylene dibromide (Organic Polar)\n", - "\n", - " # Heat capacity of solvent\n", - " self.cp_mass = Param(\n", - " mutable=True,\n", - " initialize=717.01,\n", - " doc=\"Specific heat capacity of solvent\",\n", - " units=units.J / units.kg / units.K,\n", - " )\n", - "\n", - " self.dens_mass = Param(\n", - " mutable=True,\n", - " initialize=2170,\n", - " doc=\"Density of ethylene dibromide\",\n", - " units=units.kg / units.m**3,\n", - " )\n", - " self.temperature_ref = Param(\n", - " within=PositiveReals,\n", - " mutable=True,\n", - " default=298.15,\n", - " doc=\"Reference temperature\",\n", - " units=units.K,\n", - " )\n", - " self.diffusion_factor = Param(\n", - " self.solute_set,\n", - " initialize={\"NaCl\": 2.15, \"KNO3\": 3, \"CaSO4\": 1.5},\n", - " within=PositiveReals,\n", - " mutable=True,\n", - " )\n", - "\n", - " @classmethod\n", - " def define_metadata(cls, obj):\n", - " obj.add_default_units(\n", - " {\n", - " \"time\": units.hour,\n", - " \"length\": units.m,\n", - " \"mass\": units.g,\n", - " \"amount\": units.mol,\n", - " \"temperature\": units.K,\n", - " }\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 1.3 State Block\n", - "\n", - "After the `PhysicalParameterBlock` class has been created, the next step is to write the code necessary to create the State Blocks that will be used throughout the flowsheet. `StateBlock` contains all the information necessary to define the state of the system. This includes the state variables and constraints on those variables which are used to describe a state property like the enthalpy, material balance, etc.\n", - "\n", - "Creating a State Block requires us to write two classes. The reason we write two classes is because of the inherent nature of how `declare_process_block_data` works. `declare_process_block_data` facilitates creating an `IndexedComponent` object which can handle multiple `ComponentData` objects which represent the component at each point in the indexing set. This makes it easier to build an instance of the model at each indexed point. However, State Blocks are slightly different, as they are always indexed (at least by time). Due to this, we often want to perform actions on all the elements of the indexed StateBlock all at once (rather than element by element).\n", - "\n", - "The class `_OrganicStateBlock` is defined without the `declare_process_block_data` decorator and thus works as a traditional class and this facilitates performing a method on the class as a whole rather than individual elements of the indexed property blocks. In this class we define the `fix_initialization_states` function. `fix_initialization_states` function is to used to fix the state variable within the state block with the provided initial values (usually inlet conditions). It takes a `block` as the argument in which the state variables are to be fixed. It also takes `state_args` as an optional argument. `state_args` is a dictionary with the value for the state variables to be fixed. This function returns a dictionary indexed by the block, state variables and variable index indicating the fixed status of each variable before applying the function. \n", - "\n", - "The above function comprise of the _OrganicStateBlock, next we shall see the construction of the OrgPhaseStateBlockData class." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "class _OrganicStateBlock(StateBlock):\n", - " \"\"\"\n", - " This Class contains methods which should be applied to Property Blocks as a\n", - " whole, rather than individual elements of indexed Property Blocks.\n", - " \"\"\"\n", - "\n", - " def fix_initialization_states(self):\n", - " fix_state_vars(self)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The class `OrgPhaseStateBlockData` is designated with the `declare_process_block_class` decorator, named `OrgPhaseStateBlock`, and inherits the block class from `_OrganicStateBlock`. This inheritance allows `OrgPhaseStateBlockData` to leverage functions from `_OrganicStateBlock`. Following the class definition, a build function similar to the one used in the `PhysicalParameterData` block is employed. The super function is utilized to enable the utilization of functions from the parent or sibling class.\n", - "\n", - "The subsequent objective is to delineate the state variables, accomplished through the `_make_state_vars` method. This method encompasses all the essential state variables and associated data. For this particular property package, the required state variables are:\n", - "\n", - "- `flow_vol` - volumetric flow rate\n", - "- `conc_mass_comp` - mass fractions\n", - "- `pressure` - state pressure\n", - "- `temperature` - state temperature\n", - "\n", - "After establishing the state variables, the subsequent step involves setting up state properties as constraints. This includes specifying the relationships and limitations that dictate the system's behavior. The following properties need to be articulated:\n", - "\n", - "-`get_material_flow_terms`: quantifies the amount of material flow.\n", - "- `get_enthalpy_flow_terms`: quantifies the amount of enthalpy flow.\n", - "- `get_flow_rate`: details volumetric flow rates.\n", - "- `default_material_balance_type`: defines the kind of material balance to be used.\n", - "- `default_energy_balance_type`: defines the kind of energy balance to be used.\n", - "- `define_state_vars`: involves defining state variables with units, akin to the define_metadata function in the PhysicalParameterData block.\n", - "- `get_material_flow_basis`: establishes the basis on which state variables are measured, whether in mass or molar terms.\n", - "\n", - "These definitions mark the conclusion of the state block construction and thus the property package. For additional details on creating a property package, please refer to this [resource](../../properties/custom/custom_physical_property_packages_test.ipynb ).\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "@declare_process_block_class(\"OrgPhaseStateBlock\", block_class=_OrganicStateBlock)\n", - "class OrgPhaseStateBlockData(StateBlockData):\n", - " \"\"\"\n", - " An example property package for Organic phzase for liquid liquid extraction\n", - " \"\"\"\n", - "\n", - " def build(self):\n", - " \"\"\"\n", - " Callable method for Block construction\n", - " \"\"\"\n", - " super().build()\n", - " self._make_state_vars()\n", - "\n", - " def _make_state_vars(self):\n", - " self.flow_vol = Var(\n", - " initialize=1,\n", - " domain=NonNegativeReals,\n", - " doc=\"Total volumetric flowrate\",\n", - " units=units.L / units.hour,\n", - " )\n", - " self.conc_mass_comp = Var(\n", - " self.params.solute_set,\n", - " domain=NonNegativeReals,\n", - " initialize=1,\n", - " doc=\"Component mass concentrations\",\n", - " units=units.g / units.L,\n", - " )\n", - " self.pressure = Var(\n", - " domain=NonNegativeReals,\n", - " initialize=1,\n", - " bounds=(1, 5),\n", - " units=units.atm,\n", - " doc=\"State pressure [atm]\",\n", - " )\n", - "\n", - " self.temperature = Var(\n", - " domain=NonNegativeReals,\n", - " initialize=300,\n", - " bounds=(273, 373),\n", - " units=units.K,\n", - " doc=\"State temperature [K]\",\n", - " )\n", - "\n", - " def material_flow_expression(self, j):\n", - " if j == \"solvent\":\n", - " return self.flow_vol * self.params.dens_mass\n", - " else:\n", - " return self.flow_vol * self.conc_mass_comp[j]\n", - "\n", - " self.material_flow_expression = Expression(\n", - " self.component_list,\n", - " rule=material_flow_expression,\n", - " doc=\"Material flow terms\",\n", - " )\n", - "\n", - " def enthalpy_flow_expression(self):\n", - " return (\n", - " self.flow_vol\n", - " * self.params.dens_mass\n", - " * self.params.cp_mass\n", - " * (self.temperature - self.params.temperature_ref)\n", - " )\n", - "\n", - " self.enthalpy_flow_expression = Expression(\n", - " rule=enthalpy_flow_expression, doc=\"Enthalpy flow term\"\n", - " )\n", - "\n", - " def get_flow_rate(self):\n", - " return self.flow_vol\n", - "\n", - " def get_material_flow_terms(self, p, j):\n", - " return self.material_flow_expression[j]\n", - "\n", - " def get_enthalpy_flow_terms(self, p):\n", - " return self.enthalpy_flow_expression\n", - "\n", - " def default_material_balance_type(self):\n", - " return MaterialBalanceType.componentTotal\n", - "\n", - " def default_energy_balance_type(self):\n", - " return EnergyBalanceType.enthalpyTotal\n", - "\n", - " def define_state_vars(self):\n", - " return {\n", - " \"flow_vol\": self.flow_vol,\n", - " \"conc_mass_comp\": self.conc_mass_comp,\n", - " \"temperature\": self.temperature,\n", - " \"pressure\": self.pressure,\n", - " }\n", - "\n", - " def get_material_flow_basis(self):\n", - " return MaterialFlowBasis.mass" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 2. Creating Aqueous Property Package\n", - "\n", - "The structure of Aqueous Property Package mirrors that of the Organic Property Package we previously developed. We'll commence with an overview, importing the required libraries, followed by the creation of the physical property block and two state blocks. The distinctions in this package lie in the physical parameter values, and notably, the absence of the diffusion factor term, differentiating it from the prior package. The following code snippet should provide clarity on these distinctions." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Import Python libraries\n", - "import logging\n", - "\n", - "from idaes.core.util.initialization import fix_state_vars\n", - "\n", - "# Import Pyomo libraries\n", - "from pyomo.environ import (\n", - " Param,\n", - " Var,\n", - " NonNegativeReals,\n", - " units,\n", - " Expression,\n", - " PositiveReals,\n", - ")\n", - "\n", - "# Import IDAES cores\n", - "from idaes.core import (\n", - " declare_process_block_class,\n", - " MaterialFlowBasis,\n", - " PhysicalParameterBlock,\n", - " StateBlockData,\n", - " StateBlock,\n", - " MaterialBalanceType,\n", - " EnergyBalanceType,\n", - " Solute,\n", - " Solvent,\n", - " LiquidPhase,\n", - ")\n", - "\n", - "# Some more information about this module\n", - "__author__ = \"Javal Vyas\"\n", - "\n", - "\n", - "# Set up logger\n", - "_log = logging.getLogger(__name__)\n", - "\n", - "\n", - "@declare_process_block_class(\"AqPhase\")\n", - "class AqPhaseData(PhysicalParameterBlock):\n", - " \"\"\"\n", - " Property Parameter Block Class\n", - "\n", - " Contains parameters and indexing sets associated with properties for\n", - " aqueous Phase\n", - "\n", - " \"\"\"\n", - "\n", - " def build(self):\n", - " \"\"\"\n", - " Callable method for Block construction.\n", - " \"\"\"\n", - " super().build()\n", - "\n", - " self._state_block_class = AqPhaseStateBlock\n", - "\n", - " # List of valid phases in property package\n", - " self.Aq = LiquidPhase()\n", - "\n", - " # Component list - a list of component identifiers\n", - " self.NaCl = Solute()\n", - " self.KNO3 = Solute()\n", - " self.CaSO4 = Solute()\n", - " self.H2O = Solvent()\n", - "\n", - " # Heat capacity of solvent\n", - " self.cp_mass = Param(\n", - " mutable=True,\n", - " initialize=4182,\n", - " doc=\"Specific heat capacity of solvent\",\n", - " units=units.J / units.kg / units.K,\n", - " )\n", - "\n", - " self.dens_mass = Param(\n", - " mutable=True,\n", - " initialize=997,\n", - " doc=\"Density of ethylene dibromide\",\n", - " units=units.kg / units.m**3,\n", - " )\n", - " self.temperature_ref = Param(\n", - " within=PositiveReals,\n", - " mutable=True,\n", - " default=298.15,\n", - " doc=\"Reference temperature\",\n", - " units=units.K,\n", - " )\n", - "\n", - " @classmethod\n", - " def define_metadata(cls, obj):\n", - " obj.add_default_units(\n", - " {\n", - " \"time\": units.hour,\n", - " \"length\": units.m,\n", - " \"mass\": units.g,\n", - " \"amount\": units.mol,\n", - " \"temperature\": units.K,\n", - " }\n", - " )\n", - "\n", - "\n", - "class _AqueousStateBlock(StateBlock):\n", - " \"\"\"\n", - " This Class contains methods which should be applied to Property Blocks as a\n", - " whole, rather than individual elements of indexed Property Blocks.\n", - " \"\"\"\n", - "\n", - " def fix_initialization_states(self):\n", - " fix_state_vars(self)\n", - "\n", - "\n", - "@declare_process_block_class(\"AqPhaseStateBlock\", block_class=_AqueousStateBlock)\n", - "class AqPhaseStateBlockData(StateBlockData):\n", - " \"\"\"\n", - " An example property package for ideal gas properties with Gibbs energy\n", - " \"\"\"\n", - "\n", - " def build(self):\n", - " \"\"\"\n", - " Callable method for Block construction\n", - " \"\"\"\n", - " super().build()\n", - " self._make_state_vars()\n", - "\n", - " def _make_state_vars(self):\n", - " self.flow_vol = Var(\n", - " initialize=1,\n", - " domain=NonNegativeReals,\n", - " doc=\"Total volumetric flowrate\",\n", - " units=units.L / units.hour,\n", - " )\n", - "\n", - " self.conc_mass_comp = Var(\n", - " self.params.solute_set,\n", - " domain=NonNegativeReals,\n", - " initialize={\"NaCl\": 0.15, \"KNO3\": 0.2, \"CaSO4\": 0.1},\n", - " doc=\"Component mass concentrations\",\n", - " units=units.g / units.L,\n", - " )\n", - "\n", - " self.pressure = Var(\n", - " domain=NonNegativeReals,\n", - " initialize=1,\n", - " bounds=(1, 5),\n", - " units=units.atm,\n", - " doc=\"State pressure [atm]\",\n", - " )\n", - "\n", - " self.temperature = Var(\n", - " domain=NonNegativeReals,\n", - " initialize=300,\n", - " bounds=(273, 373),\n", - " units=units.K,\n", - " doc=\"State temperature [K]\",\n", - " )\n", - "\n", - " def material_flow_expression(self, j):\n", - " if j == \"H2O\":\n", - " return self.flow_vol * self.params.dens_mass\n", - " else:\n", - " return self.conc_mass_comp[j] * self.flow_vol\n", - "\n", - " self.material_flow_expression = Expression(\n", - " self.component_list,\n", - " rule=material_flow_expression,\n", - " doc=\"Material flow terms\",\n", - " )\n", - "\n", - " def enthalpy_flow_expression(self):\n", - " return (\n", - " self.flow_vol\n", - " * self.params.dens_mass\n", - " * self.params.cp_mass\n", - " * (self.temperature - self.params.temperature_ref)\n", - " )\n", - "\n", - " self.enthalpy_flow_expression = Expression(\n", - " rule=enthalpy_flow_expression, doc=\"Enthalpy flow term\"\n", - " )\n", - "\n", - " def get_flow_rate(self):\n", - " return self.flow_vol\n", - "\n", - " def get_material_flow_terms(self, p, j):\n", - " return self.material_flow_expression[j]\n", - "\n", - " def get_enthalpy_flow_terms(self, p):\n", - " return self.enthalpy_flow_expression\n", - "\n", - " def default_material_balance_type(self):\n", - " return MaterialBalanceType.componentTotal\n", - "\n", - " def default_energy_balance_type(self):\n", - " return EnergyBalanceType.enthalpyTotal\n", - "\n", - " def define_state_vars(self):\n", - " return {\n", - " \"flow_vol\": self.flow_vol,\n", - " \"conc_mass_comp\": self.conc_mass_comp,\n", - " \"temperature\": self.temperature,\n", - " \"pressure\": self.pressure,\n", - " }\n", - "\n", - " def get_material_flow_basis(self):\n", - " return MaterialFlowBasis.mass" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 3. Liquid Liquid Extractor Unit Model\n", - "\n", - "Following the creation of property packages, our next step is to develop a unit model that facilitates the mass transfer of solutes between phases. This involves importing necessary libraries, building the unit model, defining auxiliary functions, and establishing the initialization routine for the unit model.\n", - "\n", - "## 3.1 Importing necessary libraries\n", - "\n", - "Let's commence by importing the essential libraries from Pyomo and IDAES." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Import Pyomo libraries\n", - "from pyomo.common.config import ConfigBlock, ConfigValue, In, Bool\n", - "from pyomo.environ import (\n", - " value,\n", - " Constraint,\n", - " check_optimal_termination,\n", - ")\n", - "\n", - "# Import IDAES cores\n", - "from idaes.core import (\n", - " ControlVolume0DBlock,\n", - " declare_process_block_class,\n", - " MaterialBalanceType,\n", - " EnergyBalanceType,\n", - " MaterialFlowBasis,\n", - " MomentumBalanceType,\n", - " UnitModelBlockData,\n", - " useDefault,\n", - ")\n", - "from idaes.core.util.config import (\n", - " is_physical_parameter_block,\n", - " is_reaction_parameter_block,\n", - ")\n", - "\n", - "import idaes.logger as idaeslog\n", - "from idaes.core.solvers import get_solver\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.util.exceptions import ConfigurationError, InitializationError" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.2 Creating the unit model\n", - "\n", - "Creating a unit model starts by creating a class called `LiqExtractionData` and use the `declare_process_block_class` decorator. The `LiqExtractionData` inherits the properties of `UnitModelBlockData` class, which allows us to create a control volume which is necessary for the unit model. After declaration of the class we proceed to define the relevant config arguments for the control volume. The config arguments includes the following properties:\n", - "\n", - "- `material_balance_type` - Indicates what type of mass balance should be constructed\n", - "- `has_pressure_change` - Indicates whether terms for pressure change should be\n", - "constructed\n", - "- `has_phase_equilibrium` - Indicates whether terms for phase equilibrium should be\n", - "constructed\n", - "- `Organic Property` - Property parameter object used to define property calculations\n", - "for the Organic phase\n", - "- `Organic Property Arguments` - Arguments to use for constructing Organic phase properties\n", - "- `Aqueous Property` - Property parameter object used to define property calculations\n", - "for the aqueous phase\n", - "- `Aqueous Property Arguments` - Arguments to use for constructing aqueous phase properties\n", - "\n", - "As there are no pressure changes or reactions in this scenario, configuration arguments for these aspects are not included. However, additional details on configuration arguments can be found [here](https://github.com/IDAES/idaes-pse/blob/8948c6ce27d4c7f2c06b377a173f413599091998/idaes/models/unit_models/cstr.py)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "@declare_process_block_class(\"LiqExtraction\")\n", - "class LiqExtractionData(UnitModelBlockData):\n", - " \"\"\"\n", - " LiqExtraction Unit Model Class\n", - " \"\"\"\n", - "\n", - " CONFIG = UnitModelBlockData.CONFIG()\n", - "\n", - " CONFIG.declare(\n", - " \"material_balance_type\",\n", - " ConfigValue(\n", - " default=MaterialBalanceType.useDefault,\n", - " domain=In(MaterialBalanceType),\n", - " description=\"Material balance construction flag\",\n", - " doc=\"\"\"Indicates what type of mass balance should be constructed,\n", - " **default** - MaterialBalanceType.useDefault.\n", - " **Valid values:** {\n", - " **MaterialBalanceType.useDefault - refer to property package for default\n", - " balance type\n", - " **MaterialBalanceType.none** - exclude material balances,\n", - " **MaterialBalanceType.componentPhase** - use phase component balances,\n", - " **MaterialBalanceType.componentTotal** - use total component balances,\n", - " **MaterialBalanceType.elementTotal** - use total element balances,\n", - " **MaterialBalanceType.total** - use total material balance.}\"\"\",\n", - " ),\n", - " )\n", - " CONFIG.declare(\n", - " \"has_pressure_change\",\n", - " ConfigValue(\n", - " default=False,\n", - " domain=Bool,\n", - " description=\"Pressure change term construction flag\",\n", - " doc=\"\"\"Indicates whether terms for pressure change should be\n", - " constructed,\n", - " **default** - False.\n", - " **Valid values:** {\n", - " **True** - include pressure change terms,\n", - " **False** - exclude pressure change terms.}\"\"\",\n", - " ),\n", - " )\n", - " CONFIG.declare(\n", - " \"has_phase_equilibrium\",\n", - " ConfigValue(\n", - " default=False,\n", - " domain=Bool,\n", - " description=\"Phase equilibrium construction flag\",\n", - " doc=\"\"\"Indicates whether terms for phase equilibrium should be\n", - " constructed,\n", - " **default** = False.\n", - " **Valid values:** {\n", - " **True** - include phase equilibrium terms\n", - " **False** - exclude phase equilibrium terms.}\"\"\",\n", - " ),\n", - " )\n", - " CONFIG.declare(\n", - " \"organic_property_package\",\n", - " ConfigValue(\n", - " default=useDefault,\n", - " domain=is_physical_parameter_block,\n", - " description=\"Property package to use for organic phase\",\n", - " doc=\"\"\"Property parameter object used to define property calculations\n", - " for the organic phase,\n", - " **default** - useDefault.\n", - " **Valid values:** {\n", - " **useDefault** - use default package from parent model or flowsheet,\n", - " **PropertyParameterObject** - a PropertyParameterBlock object.}\"\"\",\n", - " ),\n", - " )\n", - " CONFIG.declare(\n", - " \"organic_property_package_args\",\n", - " ConfigBlock(\n", - " implicit=True,\n", - " description=\"Arguments to use for constructing organic phase properties\",\n", - " doc=\"\"\"A ConfigBlock with arguments to be passed to organic phase\n", - " property block(s) and used when constructing these,\n", - " **default** - None.\n", - " **Valid values:** {\n", - " see property package for documentation.}\"\"\",\n", - " ),\n", - " )\n", - " CONFIG.declare(\n", - " \"aqueous_property_package\",\n", - " ConfigValue(\n", - " default=useDefault,\n", - " domain=is_physical_parameter_block,\n", - " description=\"Property package to use for aqueous phase\",\n", - " doc=\"\"\"Property parameter object used to define property calculations\n", - " for the aqueous phase,\n", - " **default** - useDefault.\n", - " **Valid values:** {\n", - " **useDefault** - use default package from parent model or flowsheet,\n", - " **PropertyParameterObject** - a PropertyParameterBlock object.}\"\"\",\n", - " ),\n", - " )\n", - " CONFIG.declare(\n", - " \"aqueous_property_package_args\",\n", - " ConfigBlock(\n", - " implicit=True,\n", - " description=\"Arguments to use for constructing aqueous phase properties\",\n", - " doc=\"\"\"A ConfigBlock with arguments to be passed to aqueous phase\n", - " property block(s) and used when constructing these,\n", - " **default** - None.\n", - " **Valid values:** {\n", - " see property package for documentation.}\"\"\",\n", - " ),\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Building the model\n", - "\n", - "After constructing the `LiqExtractionData` block and defining the config arguments for the control block, the next step is to write a build function that incorporates control volume and establishes constraints on the control volume to achieve the desired mass transfer. The control volume serves as a pivotal component in the unit model construction, representing the volume in which the process unfolds.\n", - "\n", - "IDAES provides flexibility in choosing control volumes based on geometry, with options including 0D or 1D. In this instance, we opt for a 0D control volume, the most commonly used control volume. This choice is suitable for systems where there is a well-mixed volume of fluid or where spatial variations are deemed negligible.\n", - "\n", - "The control volume encompasses parameters from (1-8), and its equations are configured to satisfy the specified config arguments. For a more in-depth understanding, users are encouraged to refer to [this resource](https://github.com/IDAES/idaes-pse/blob/2f34dd3abc1bce5ba17c80939a01f9034e4fbeef/docs/reference_guides/core/control_volume_0d.rst). \n", - "\n", - "The `build` function is initiated using the `super` function to gain access to methods and properties of a parent or sibling class, in this case, the `LiqExtractionData` class. Following the `super` function, checks are performed on the property packages to ensure the appropriate names for the solvents, such as 'Aq' for the aqueous phase and 'Org' for the Organic phase. An error is raised if these conditions are not met. Subsequently, a check is performed to ensure there is at least one common component between the two property packages that can be transferred from one phase to another.\n", - "\n", - "After these checks are completed without any exceptions raised, it is ensured that the property packages have the desired components with appropriate names. The next step is to create a control volume and assign it to a property package. Here, we initiate with the Organic phase and attach a 0D control volume to it. The control volume takes arguments about the dynamics of the block, and the property package, along with property package arguments. \n", - "\n", - "The subsequent steps involve adding inlet and outlet state blocks to the control volume using the `add_state_blocks` function. This function takes arguments about the flow direction (defaulted to forward) and a flag for `has_phase_equilibrium`, which is read from the config. The control volume is now equipped with the inlet and outlet state blocks and has access to the Organic property package\n", - "\n", - "Next, material balance equations are added to the control volume using the `add_material_balance` function, taking into account the type of material balance, `has_phase_equilibrium`, and the presence of `has_mass_transfer`. To understand this arguments further let us have a look at the material balance equation and how it is implemented in control volume. \n", - "\n", - "$\\frac{\\partial M_{t, p, j}}{\\partial t} = F_{in, t, p, j} - F_{out, t, p, j} + N_{kinetic, t, p, j} + N_{equilibrium, t, p, j} + N_{pe, t, p, j} + N_{transfer, t, p, j} + N_{custom, t, p, j}$\n", - "\n", - "- $\\frac{\\partial M_{t, p, j}}{\\partial t}$ - Material accumulation\n", - "- $F_{in, t, p, j}$ - Flow into the control volume\n", - "- $F_{out, t, p, j}$ - Flow out of the control volume\n", - "- $N_{kinetic, t, p, j}$ - Rate of reaction generation\n", - "- $N_{equilibrium, t, p, j}$ - Equilibrium reaction generation\n", - "- $N_{pe, t, p, j}$ - Equilibrium reaction extent\n", - "- $N_{transfer, t, p, j}$ - Mass transfer\n", - "- $N_{custom, t, p, j}$ - User defined terms in material balance\n", - "\n", - "- t indicates time index\n", - "- p indicates phase index\n", - "- j indicates component index\n", - "- e indicates element index\n", - "- r indicates reaction name index\n", - "\n", - "Here we shall see that $N_{transfer, t, p, j}$ is the term in the equation which is responsible for the mass transfer and the `mass_transfer_term` should only be equal to the amount being transferred and not include a material balance on our own. For a detailed description of the terms one should refer to the following [resource](https://github.com/IDAES/idaes-pse/blob/2f34dd3abc1bce5ba17c80939a01f9034e4fbeef/docs/reference_guides/core/control_volume_0d.rst)\n", - "\n", - "This concludes the creation of organic phase control volume. Similar procedure is done for the aqueous phase control volume with aqueous property package. \n", - "\n", - "Now, the unit model has two control volumes with appropriate configurations and material, momentum and energy balances. The next step is to check the basis of the two property packages. They should both have the same flow basis, and an error is raised if this is not the case.\n", - "\n", - "Following this, the `add_inlet_ports` and `add_outlet_ports` functions are used to create inlet and outlet ports. These ports are named and assigned to each control volume, resulting in labeled inlet and outlet ports for each control volume.\n", - "\n", - "The subsequent steps involve writing unit-level constraints. A check if the basis is either molar or mass, and unit-level constraints are written accordingly. The first constraint pertains to the mass transfer term for the aqueous phase. The mass transfer term is equal to $mass\\_transfer\\_term_{aq} = (D_{i})\\frac{mass_{i}~in~aq~phase}{flowrate~of~aq~phase}$. The second constraint relates to the mass transfer term in the organic phase, which is the negative of the mass transfer term in the aqueous phase: $mass\\_transfer\\_term_{org} = - mass\\_transfer\\_term_{aq} $\n", - "\n", - "Here $mass\\_transfer\\_term_{p}$ is the term indicating the amount of material being transferred from/to the phase and $D_{i}$ is the Distribution co-efficient for component i. \n", - "\n", - "This marks the completion of the build function, and the unit model is now equipped with the necessary process constraints. The subsequent steps involve writing the initialization routine." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "def build(self):\n", - " \"\"\"\n", - " Begin building model (pre-DAE transformation).\n", - " Args:\n", - " None\n", - " Returns:\n", - " None\n", - " \"\"\"\n", - " # Call UnitModel.build to setup dynamics\n", - " super().build()\n", - "\n", - " # Check phase lists match assumptions\n", - " if self.config.aqueous_property_package.phase_list != [\"Aq\"]:\n", - " raise ConfigurationError(\n", - " f\"{self.name} Liquid-Liquid Extractor model requires that the aquoues \"\n", - " f\"phase property package have a single phase named 'Aq'\"\n", - " )\n", - " if self.config.organic_property_package.phase_list != [\"Org\"]:\n", - " raise ConfigurationError(\n", - " f\"{self.name} Liquid-Liquid Extractor model requires that the organic \"\n", - " f\"phase property package have a single phase named 'Org'\"\n", - " )\n", - "\n", - " # Check for at least one common component in component lists\n", - " if not any(\n", - " j in self.config.aqueous_property_package.component_list\n", - " for j in self.config.organic_property_package.component_list\n", - " ):\n", - " raise ConfigurationError(\n", - " f\"{self.name} Liquid-Liquid Extractor model requires that the organic \"\n", - " f\"and aqueous phase property packages have at least one \"\n", - " f\"common component.\"\n", - " )\n", - "\n", - " self.organic_phase = ControlVolume0DBlock(\n", - " dynamic=self.config.dynamic,\n", - " property_package=self.config.organic_property_package,\n", - " property_package_args=self.config.organic_property_package_args,\n", - " )\n", - "\n", - " self.organic_phase.add_state_blocks(\n", - " has_phase_equilibrium=self.config.has_phase_equilibrium\n", - " )\n", - "\n", - " # Separate organic and aqueous phases means that phase equilibrium will\n", - " # be handled at the unit model level, thus has_phase_equilibrium is\n", - " # False, but has_mass_transfer is True.\n", - "\n", - " self.organic_phase.add_material_balances(\n", - " balance_type=self.config.material_balance_type,\n", - " has_phase_equilibrium=self.config.has_phase_equilibrium,\n", - " has_mass_transfer=True,\n", - " )\n", - " # ---------------------------------------------------------------------\n", - "\n", - " self.aqueous_phase = ControlVolume0DBlock(\n", - " dynamic=self.config.dynamic,\n", - " property_package=self.config.aqueous_property_package,\n", - " property_package_args=self.config.aqueous_property_package_args,\n", - " )\n", - "\n", - " self.aqueous_phase.add_state_blocks(\n", - " has_phase_equilibrium=self.config.has_phase_equilibrium\n", - " )\n", - "\n", - " # Separate liquid and aqueous phases means that phase equilibrium will\n", - " # be handled at the unit model level, thus has_phase_equilibrium is\n", - " # False, but has_mass_transfer is True.\n", - "\n", - " self.aqueous_phase.add_material_balances(\n", - " balance_type=self.config.material_balance_type,\n", - " # has_rate_reactions=False,\n", - " has_phase_equilibrium=self.config.has_phase_equilibrium,\n", - " has_mass_transfer=True,\n", - " )\n", - "\n", - " self.aqueous_phase.add_geometry()\n", - "\n", - " # ---------------------------------------------------------------------\n", - " # Check flow basis is compatible\n", - " t_init = self.flowsheet().time.first()\n", - " if (\n", - " self.aqueous_phase.properties_out[t_init].get_material_flow_basis()\n", - " != self.organic_phase.properties_out[t_init].get_material_flow_basis()\n", - " ):\n", - " raise ConfigurationError(\n", - " f\"{self.name} aqueous and organic property packages must use the \"\n", - " f\"same material flow basis.\"\n", - " )\n", - "\n", - " self.organic_phase.add_geometry()\n", - "\n", - " # Add Ports\n", - " self.add_inlet_port(\n", - " name=\"organic_inlet\", block=self.organic_phase, doc=\"Organic feed\"\n", - " )\n", - " self.add_inlet_port(\n", - " name=\"aqueous_inlet\", block=self.aqueous_phase, doc=\"Aqueous feed\"\n", - " )\n", - " self.add_outlet_port(\n", - " name=\"organic_outlet\", block=self.organic_phase, doc=\"Organic outlet\"\n", - " )\n", - " self.add_outlet_port(\n", - " name=\"aqueous_outlet\",\n", - " block=self.aqueous_phase,\n", - " doc=\"Aqueous outlet\",\n", - " )\n", - "\n", - " # ---------------------------------------------------------------------\n", - " # Add unit level constraints\n", - " # First, need the union and intersection of component lists\n", - " all_comps = (\n", - " self.aqueous_phase.properties_out.component_list\n", - " | self.organic_phase.properties_out.component_list\n", - " )\n", - " common_comps = (\n", - " self.aqueous_phase.properties_out.component_list\n", - " & self.organic_phase.properties_out.component_list\n", - " )\n", - "\n", - " # Get units for unit conversion\n", - " aunits = self.config.aqueous_property_package.get_metadata().get_derived_units\n", - " lunits = self.config.organic_property_package.get_metadata().get_derived_units\n", - " flow_basis = self.aqueous_phase.properties_out[t_init].get_material_flow_basis()\n", - "\n", - " if flow_basis == MaterialFlowBasis.mass:\n", - " fb = \"flow_mass\"\n", - " elif flow_basis == MaterialFlowBasis.molar:\n", - " fb = \"flow_mole\"\n", - " else:\n", - " raise ConfigurationError(\n", - " f\"{self.name} Liquid-Liquid Extractor only supports mass \"\n", - " f\"basis for MaterialFlowBasis.\"\n", - " )\n", - "\n", - " # Material balances\n", - " def rule_material_aq_balance(self, t, j):\n", - " if j in common_comps:\n", - " return self.aqueous_phase.mass_transfer_term[\n", - " t, \"Aq\", j\n", - " ] == -self.organic_phase.config.property_package.diffusion_factor[j] * (\n", - " self.aqueous_phase.properties_in[t].get_material_flow_terms(\"Aq\", j)\n", - " )\n", - " elif j in self.organic_phase.properties_out.component_list:\n", - " # No mass transfer term\n", - " # Set organic flowrate to an arbitrary small value\n", - " return self.organic_phase.mass_transfer_term[t, \"Org\", j] == 0 * lunits(fb)\n", - " elif j in self.aqueous_phase.properties_out.component_list:\n", - " # No mass transfer term\n", - " # Set aqueous flowrate to an arbitrary small value\n", - " return self.aqueous_phase.mass_transfer_term[t, \"Aq\", j] == 0 * aunits(fb)\n", - "\n", - " self.material_aq_balance = Constraint(\n", - " self.flowsheet().time,\n", - " self.aqueous_phase.properties_out.component_list,\n", - " rule=rule_material_aq_balance,\n", - " doc=\"Unit level material balances for Aq\",\n", - " )\n", - "\n", - " def rule_material_liq_balance(self, t, j):\n", - " if j in common_comps:\n", - " return (\n", - " self.organic_phase.mass_transfer_term[t, \"Org\", j]\n", - " == -self.aqueous_phase.mass_transfer_term[t, \"Aq\", j]\n", - " )\n", - " else:\n", - " # No mass transfer term\n", - " # Set organic flowrate to an arbitrary small value\n", - " return self.organic_phase.mass_transfer_term[t, \"Org\", j] == 0 * aunits(fb)\n", - "\n", - " self.material_org_balance = Constraint(\n", - " self.flowsheet().time,\n", - " self.organic_phase.properties_out.component_list,\n", - " rule=rule_material_liq_balance,\n", - " doc=\"Unit level material balances Org\",\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Initialization Routine\n", - "\n", - "After writing the unit model it is crucial to initialize the model properly, as non-linear models may encounter local minima or infeasibility if not initialized properly. IDAES provides us with a few initialization routines which may not work for all the models, and in such cases the developer will have to define their own initialization routines. \n", - "\n", - "To create a custom initialization routine, model developers must create an initialize method as part of their model, and provide a sequence of steps intended to build up a feasible solution. Initialization routines generally make use of Pyomo’s tools for activating and deactivating constraints and often involve solving multiple sub-problems whilst building up an initial state.\n", - "\n", - "For this tutorial we would use the pre-defined initialization routine of `BlockTriangularizationInitializer` when initializing the model in the flowsheet. This Initializer should be suitable for most models, but may struggle to initialize\n", - "tightly coupled systems of equations. This method of initialization will follow the following workflow. \n", - "\n", - "- Have precheck for structural singularity\n", - "- Run incidence analysis on given block data and check matching.\n", - "- Call Block Triangularization solver on model.\n", - "- Call solve_strongly_connected_components on a given BlockData.\n", - "\n", - "For more details about this initialization routine can be found [here](https://github.com/IDAES/idaes-pse/blob/c09433b9afed5ae2fe25c0ccdc732783324f0101/idaes/core/initialization/block_triangularization.py). \n", - "\n", - "\n", - "This marks the conclusion of creating a custom unit model, for a more detailed explanation on creating a unit model refer [this resource](../../unit_models/custom_unit_models/custom_compressor_test.ipynb). The next sections will deal with the diagonistics and testing of the property package and unit model. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.3 Building a Flowsheet\n", - "\n", - "Once we have set up the unit model and its property packages, we can start building a flowsheet using them. In this tutorial, we're focusing on a simple flowsheet with just a liquid-liquid extractor. To create the flowsheet we follow the following steps:\n", - "\n", - "- Import necessary libraries\n", - "- Create a Pyomo model.\n", - "- Inside the model, create a flowsheet block.\n", - "- Assign property packages to the flowsheet block.\n", - "- Add the liquid-liquid extractor to the flowsheet block.\n", - "- Fix variable to make it a square problem\n", - "- Run an initialization process.\n", - "- Solve the flowsheet.\n", - "\n", - "Following these steps, we've built a basic flowsheet using Pyomo. For more details, refer to the [documentation](../../flowsheets/hda_flowsheet_with_distillation_test.ipynb).\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import pyomo.environ as pyo\n", - "import idaes.core\n", - "import idaes.models.unit_models\n", - "from idaes.core.solvers import get_solver\n", - "import idaes.logger as idaeslog\n", - "from pyomo.network import Arc\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.initialization import InitializationStatus\n", - "from idaes.core.initialization.block_triangularization import (\n", - " BlockTriangularizationInitializer,\n", - ")\n", - "from liquid_extraction.organic_property import OrgPhase\n", - "from liquid_extraction.aqueous_property import AqPhase\n", - "from liquid_extraction.liquid_liquid_extractor import LiqExtraction\n", - "\n", - "\n", - "def build_model():\n", - " m = pyo.ConcreteModel()\n", - " m.fs = idaes.core.FlowsheetBlock(dynamic=False)\n", - " m.fs.org_properties = OrgPhase()\n", - " m.fs.aq_properties = AqPhase()\n", - "\n", - " m.fs.lex = LiqExtraction(\n", - " dynamic=False,\n", - " has_pressure_change=False,\n", - " organic_property_package=m.fs.org_properties,\n", - " aqueous_property_package=m.fs.aq_properties,\n", - " )\n", - " return m\n", - "\n", - "\n", - "def fix_state_variables(m):\n", - " m.fs.lex.organic_inlet.flow_vol.fix(80 * pyo.units.L / pyo.units.hour)\n", - " m.fs.lex.organic_inlet.temperature.fix(300 * pyo.units.K)\n", - " m.fs.lex.organic_inlet.pressure.fix(1 * pyo.units.atm)\n", - " m.fs.lex.organic_inlet.conc_mass_comp[0, \"NaCl\"].fix(\n", - " 1e-5 * pyo.units.g / pyo.units.L\n", - " )\n", - " m.fs.lex.organic_inlet.conc_mass_comp[0, \"KNO3\"].fix(\n", - " 1e-5 * pyo.units.g / pyo.units.L\n", - " )\n", - " m.fs.lex.organic_inlet.conc_mass_comp[0, \"CaSO4\"].fix(\n", - " 1e-5 * pyo.units.g / pyo.units.L\n", - " )\n", - "\n", - " m.fs.lex.aqueous_inlet.flow_vol.fix(100 * pyo.units.L / pyo.units.hour)\n", - " m.fs.lex.aqueous_inlet.temperature.fix(300 * pyo.units.K)\n", - " m.fs.lex.aqueous_inlet.pressure.fix(1 * pyo.units.atm)\n", - " m.fs.lex.aqueous_inlet.conc_mass_comp[0, \"NaCl\"].fix(\n", - " 0.15 * pyo.units.g / pyo.units.L\n", - " )\n", - " m.fs.lex.aqueous_inlet.conc_mass_comp[0, \"KNO3\"].fix(\n", - " 0.2 * pyo.units.g / pyo.units.L\n", - " )\n", - " m.fs.lex.aqueous_inlet.conc_mass_comp[0, \"CaSO4\"].fix(\n", - " 0.1 * pyo.units.g / pyo.units.L\n", - " )\n", - "\n", - " return m\n", - "\n", - "\n", - "def initialize_model(m):\n", - " initializer = BlockTriangularizationInitializer()\n", - " initializer.initialize(m.fs.lex)\n", - " return m\n", - "\n", - "\n", - "def main():\n", - " m = build_model()\n", - " m = fix_state_variables(m)\n", - " m = initialize_model(m)\n", - " return m\n", - "\n", - "\n", - "if __name__ == main:\n", - " main()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 4. Model Diagnostics using DiagnosticsToolbox\n", - "\n", - "Here, during initialization, we encounter warnings indicating that variables are being set to negative values, which is not expected behavior. These warnings suggest that there may be flaws in the model that require further investigation using the DiagnosticsToolbox from IDAES. A detailed notebook on using `DiagnosticsToolbox` can be found [here](../../diagnostics/degeneracy_hunter_test.ipynb).\n", - "\n", - "To proceed with investigating these issues, we need to import the DiagnosticsToolbox. We can gain a better understanding of its functionality by running the help function on it. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.core.util import DiagnosticsToolbox" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The help() function provides comprehensive information on the DiagnosticsToolbox and all its supported methods. However, it's essential to focus on the initial steps outlined at the beginning of the docstring to get started effectively.\n", - "\n", - "Here's a breakdown of the steps to start with:\n", - "\n", - "- `Instantiate Model:` Ensure you have an instance of the model with a degrees of freedom equal to 0.\n", - "\n", - "- `Create DiagnosticsToolbox Instance:` Next, instantiate a DiagnosticsToolbox object.\n", - "\n", - "- `Provide Model to DiagnosticsToolbox:` Pass the model instance to the DiagnosticsToolbox.\n", - "\n", - "- `Call report_structural_issues() Function:` Finally, call the report_structural_issues() function. This function will highlight any warnings in the model's structure, such as unit inconsistencies or other issues related to variables in the caution section.\n", - "\n", - "By following these steps, you can efficiently utilize the DiagnosticsToolbox to identify and address any structural issues or warnings in your model." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m = main()\n", - "dt = DiagnosticsToolbox(m)\n", - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Although no warnings were reported, it's important to note that there are 3 variables fixed to 0 and 10 unused variables, out of which 4 are fixed. As indicated in the output, the next step is to solve the model. After solving, you should call the report_numerical_issues() function. This function will help identify any numerical issues that may arise during the solution process." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "solver = pyo.SolverFactory(\"ipopt\")\n", - "solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The model is probably infeasible thus indicating numerical issues with the model. We should call the `report_numerical_issues()` function and check what the constraints/variables causing this issue. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "dt.report_numerical_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this scenario, it's observed that the condition number of the Jacobian is high, indicating that the Jacobian is ill-conditioned. Additionally, there are 2 warnings related to constraints with large residuals and variables at or outside the bounds. The cautions mentioned in the output are also related to these warnings.\n", - "\n", - "As suggested, the next steps would be to:\n", - "\n", - "- Call the `display_variables_at_or_outside_bounds()` function to investigate variables at or outside the bounds.\n", - "\n", - "- Call the `display_constraints_with_large_residuals()` function to examine constraints with large residuals.\n", - "\n", - "These steps will help identify the underlying causes of the numerical issues and constraints violations, allowing for further analysis and potential resolution. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "dt.display_variables_at_or_outside_bounds()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this scenario, there are a couple of issues to address:\n", - "\n", - "- The pressure variable is fixed to 1, which is its lower bound. This could potentially lead to numerical issues, although it may not affect the model significantly since there is no pressure change in the model. To mitigate this, consider adjusting the lower bound of the pressure variable to avoid having its value at or outside the bounds.\n", - "\n", - "- The more concerning issue is with the `conc_mass_comp` variable attempting to go below 0 in the output. This suggests that there may be constraints involving `conc_mass_comp` in the aqueous phase causing this behavior. To investigate further, it's recommended to call the `display_constraints_with_large_residuals()` function. This will provide insights into whether constraints involving `conc_mass_comp` are contributing to the convergence issue." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "dt.display_constraints_with_large_residuals()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As expected there are convergence issues with the constraints which have `conc_mass_comp` variable in them specifically in the aqeous phase. Now, let us investigate further by printing this constraints and checking the value of each term. Since this is an persistent issue across the components, we can focus on just one of the component to identify the issue. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.lex.aqueous_phase.material_balances[0.0, \"NaCl\"].pprint()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.lex.aqueous_phase.properties_in[0.0].conc_mass_comp[\"NaCl\"].pprint()\n", - "m.fs.lex.aqueous_phase.properties_in[0.0].flow_vol.pprint()\n", - "m.fs.lex.aqueous_phase.properties_out[0.0].conc_mass_comp[\"NaCl\"].pprint()\n", - "m.fs.lex.aqueous_phase.properties_out[0.0].flow_vol.pprint()\n", - "m.fs.lex.aqueous_phase.mass_transfer_term[0.0, \"Aq\", \"NaCl\"].pprint()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "It seems there is a discrepancy between the mass transfer term and the amount of input of NaCl. This can be inferred from the values where the input equals 15g/h and the `mass_transfer_term` equals -31.706g/h.\n", - "\n", - "To further investigate this issue, it's advisable to examine the `material_aq_balance` constraint within the unit model where the `mass_transfer_term` is defined. By printing out this constraint and analyzing its components, you can gain a better understanding of the discrepancy and take appropriate corrective actions." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.lex.material_aq_balance[0.0, \"NaCl\"].pprint()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Here the problem can be tracked down easily as there being a typing error while recording the distribution factor. The distribution factor here was wrongly written ignoring its magnitude which should have been 1e-2, but that was missed, thus adjusting the distribution factor parameter we should have this issue resolved. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.org_properties.diffusion_factor[\"NaCl\"] = (\n", - " m.fs.org_properties.diffusion_factor[\"NaCl\"] / 100\n", - ")\n", - "m.fs.org_properties.diffusion_factor[\"KNO3\"] = (\n", - " m.fs.org_properties.diffusion_factor[\"KNO3\"] / 100\n", - ")\n", - "m.fs.org_properties.diffusion_factor[\"CaSO4\"] = (\n", - " m.fs.org_properties.diffusion_factor[\"CaSO4\"] / 100\n", - ")\n", - "\n", - "m.fs.lex.organic_phase.properties_in[0.0].pressure.setlb(0.5)\n", - "m.fs.lex.organic_phase.properties_out[0.0].pressure.setlb(0.5)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "After the corrective actions, we should check if this have made any structural issues, for this we would call `report_structural_issues()`" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now since there are no warnings we can go ahead and solve the model and see if the results are optimal. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This is a good sign that the model solved optimally and a solution was found. \n", - "\n", - "**NOTE:** It is a good practice to run the model through DiagnosticsToolbox regardless of the solver termination status. \n", - "\n", - "The next section we shall focus on testing the unit model. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 5. Testing\n", - "\n", - "Testing is a crucial part of model development to ensure that the model works as expected, and remains reliable. Here's an overview of why we conduct testing:\n", - "\n", - "1. `Verify Correctness`: Testing ensure that the model works as expected and meets the specified requirements. \n", - "2. `Detect Bugs and Issues`: Testing helps in identifying bugs, errors, or unexpected behaviors in the code or model, allowing for timely fixes.\n", - "3. `Ensure Reliability`: Testing improves the reliability and robustness of the software, reducing the risk of failures when the user uses it.\n", - "4. `Support Changes`: Tests provide confidence when making changes or adding new features, ensuring that existing functionalities are not affected and work as they should.\n", - "\n", - "There are typically 3 types of tests:\n", - "\n", - "1. `Unit tests`: Test runs quickly (under 2 seconds) and has no network/system dependencies. Uses only libraries installed by default with the software\n", - "2. `Component test`: Test may run more slowly (under 10 seconds, or so), e.g. it may run a solver or create a bunch of files. Like unit tests, it still shouldn't depend on special libraries or dependencies.\n", - "3. `Integration test`: Test may take a long time to run, and may have complex dependencies.\n", - "\n", - "The expectation is that unit tests should be run by developers rather frequently, component tests should be run by the continuous integration system before running code, and integration tests are run across the codebase regularly, but infrequently (e.g. daily).\n", - "\n", - "\n", - "As a developer, testing is a crucial aspect of ensuring the reliability and correctness of the unit model. The testing process involves both Unit tests and Component tests, and pytest is used as the testing framework. A typical test is marked with @pytest.mark.level, where the level indicates the depth or specificity of the testing. This is written in a file usually named as test_*.py or *_test.py. The test files have functions written in them with the appropriate level of test being conducted. \n", - "\n", - "For more detailed information on testing methodologies and procedures, developers are encouraged to refer to [this resource](https://idaes-pse.readthedocs.io/en/stable/reference_guides/developer/testing.html). The resource provides comprehensive guidance on the testing process and ensures that the unit model meets the required standards and functionality.\n", - "\n", - "## 5.1 Property package\n", - "### Unit Tests\n", - "\n", - "When writing tests for the Aqueous property phase package, it's essential to focus on key aspects to ensure the correctness and robustness of the implementation. Here are the areas to cover in the unit tests:\n", - "\n", - "1. Number of Config Dictionaries: Verify that the property phase package has the expected number of configuration dictionaries.\n", - "\n", - "2. State Block Class Name: Confirm that the correct state block class is associated with the Aqueous property phase package.\n", - "\n", - "3. Number of Phases: Check that the Aqueous property phase package defines the expected number of phases.\n", - "\n", - "4. Components in the Phase and Physical Parameter Values: Test that the components present in the Aqueous phase match the anticipated list. Additionally, validate that the physical parameter values (such as density, viscosity, etc.) are correctly defined.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import pytest\n", - "from pyomo.environ import ConcreteModel, Param, value, Var\n", - "from pyomo.util.check_units import assert_units_consistent\n", - "from idaes.core import MaterialBalanceType, EnergyBalanceType\n", - "\n", - "from liquid_extraction.organic_property import OrgPhase\n", - "from liquid_extraction.aqueous_property import AqPhase\n", - "from liquid_extraction.liquid_liquid_extractor import LiqExtraction\n", - "from idaes.core.solvers import get_solver\n", - "\n", - "solver = get_solver()\n", - "\n", - "\n", - "class TestParamBlock(object):\n", - " @pytest.fixture(scope=\"class\")\n", - " def model(self):\n", - " model = ConcreteModel()\n", - " model.params = AqPhase()\n", - " return model\n", - "\n", - " @pytest.mark.unit\n", - " def test_config(self, model):\n", - " assert len(model.params.config) == 1\n", - "\n", - " @pytest.mark.unit\n", - " def test_build(self, model):\n", - " assert len(model.params.phase_list) == 1\n", - " for i in model.params.phase_list:\n", - " assert i == \"Aq\"\n", - "\n", - " assert len(model.params.component_list) == 4\n", - " for i in model.params.component_list:\n", - " assert i in [\"H2O\", \"NaCl\", \"KNO3\", \"CaSO4\"]\n", - "\n", - " assert isinstance(model.params.cp_mass, Param)\n", - " assert value(model.params.cp_mass) == 4182\n", - "\n", - " assert isinstance(model.params.dens_mass, Param)\n", - " assert value(model.params.dens_mass) == 997\n", - "\n", - " assert isinstance(model.params.temperature_ref, Param)\n", - " assert value(model.params.temperature_ref) == 298.15" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The next set of unit tests focuses on testing the build function in the state block. Here are the key aspects to cover in these tests:\n", - "\n", - "1. Existence and Initialized Values of State Variables: Verify that the state variables are correctly defined and initialized within the state block. This ensures that the state block is properly constructed and ready for initialization.\n", - "\n", - "2. Initialization Function Test: Check that state variables are not fixed before initialization and are released after initialization. This test ensures that the initialization process occurs as expected and that the state variables are appropriately managed throughout.\n", - "\n", - "These unit tests provide comprehensive coverage for validating the functionality and behavior of the state block in the Aqueous property phase package. Similar tests can be written for the organic property package to ensure consistency and reliability across both packages." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "class TestStateBlock(object):\n", - " @pytest.fixture(scope=\"class\")\n", - " def model(self):\n", - " model = ConcreteModel()\n", - " model.params = AqPhase()\n", - "\n", - " model.props = model.params.build_state_block([1])\n", - "\n", - " return model\n", - "\n", - " @pytest.mark.unit\n", - " def test_build(self, model):\n", - " assert isinstance(model.props[1].flow_vol, Var)\n", - " assert value(model.props[1].flow_vol) == 1\n", - "\n", - " assert isinstance(model.props[1].temperature, Var)\n", - " assert value(model.props[1].temperature) == 300\n", - "\n", - " assert isinstance(model.props[1].conc_mass_comp, Var)\n", - " assert len(model.props[1].conc_mass_comp) == 3\n", - "\n", - " @pytest.mark.unit\n", - " def test_initialize(self, model):\n", - " assert not model.props[1].flow_vol.fixed\n", - " assert not model.props[1].temperature.fixed\n", - " assert not model.props[1].pressure.fixed\n", - " for i in model.props[1].conc_mass_comp:\n", - " assert not model.props[1].conc_mass_comp[i].fixed\n", - "\n", - " model.props.initialize(hold_state=False, outlvl=1)\n", - "\n", - " assert not model.props[1].flow_vol.fixed\n", - " assert not model.props[1].temperature.fixed\n", - " assert not model.props[1].pressure.fixed\n", - " for i in model.props[1].conc_mass_comp:\n", - " assert not model.props[1].conc_mass_comp[i].fixed" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Component Tests\n", - "In the component test, we aim to ensure unit consistency across the entire property package. Unlike unit tests that focus on individual functions, component tests assess the coherence and consistency of the entire package. Here's what the component test will entail:\n", - "\n", - "Unit Consistency Check: Verify that all units used within the property package are consistent throughout. This involves checking that all parameters, variables, and equations within the package adhere to the same unit system, ensuring compatibility.\n", - "\n", - "By conducting a comprehensive component test, we can ensure that the property package functions as a cohesive unit, maintaining consistency and reliability across its entirety. This concludes our tests on the property package. Next we shall test the unit model. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "@pytest.mark.component\n", - "def check_units(model):\n", - " model = ConcreteModel()\n", - " model.params = AqPhase()\n", - " assert_units_consistent(model)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Testing the property package without the triggering pytest" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.util.check_units import assert_units_consistent\n", - "\n", - "m = ConcreteModel()\n", - "m.params = AqPhase()\n", - "m.props = m.params.build_state_block([1])\n", - "assert_units_consistent(m)\n", - "\n", - "assert len(m.props[1].conc_mass_comp) == 3" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Similar tests are done for the Organic Phase as well" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.util.check_units import assert_units_consistent\n", - "\n", - "m = ConcreteModel()\n", - "m.params = OrgPhase()\n", - "m.props = m.params.build_state_block([1])\n", - "assert_units_consistent(m)\n", - "\n", - "assert len(m.props[1].conc_mass_comp) == 3" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 5.2 Unit Model\n", - "### Unit tests\n", - "Unit tests for the unit model encompass verifying the configuration arguments and the build function, similar to the approach taken for the property package. When testing the config arguments, we ensure that the correct number of arguments is provided and then match each argument with the expected one. This ensures that the unit model is properly configured and ready to operate as intended." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import pytest\n", - "\n", - "import idaes.core\n", - "import idaes.models.unit_models\n", - "from idaes.core.solvers import get_solver\n", - "import idaes.logger as idaeslog\n", - "\n", - "\n", - "from pyomo.environ import value, check_optimal_termination, units\n", - "from pyomo.util.check_units import assert_units_consistent\n", - "from idaes.core.util.model_statistics import (\n", - " number_variables,\n", - " number_total_constraints,\n", - ")\n", - "from idaes.core.solvers import get_solver\n", - "from idaes.core.initialization import (\n", - " SingleControlVolumeUnitInitializer,\n", - ")\n", - "\n", - "solver = get_solver()\n", - "\n", - "\n", - "@pytest.mark.unit\n", - "def test_config():\n", - " m = ConcreteModel()\n", - " m.fs = idaes.core.FlowsheetBlock(dynamic=False)\n", - " m.fs.org_properties = OrgPhase()\n", - " m.fs.aq_properties = AqPhase()\n", - "\n", - " m.fs.unit = LiqExtraction(\n", - " dynamic=False,\n", - " has_pressure_change=False,\n", - " organic_property_package=m.fs.org_properties,\n", - " aqueous_property_package=m.fs.aq_properties,\n", - " )\n", - "\n", - " # Check unit config arguments\n", - " assert len(m.fs.unit.config) == 9\n", - "\n", - " # Check for config arguments\n", - " assert m.fs.unit.config.material_balance_type == MaterialBalanceType.useDefault\n", - " assert not m.fs.unit.config.has_pressure_change\n", - " assert not m.fs.unit.config.has_phase_equilibrium\n", - " assert m.fs.unit.config.organic_property_package is m.fs.org_properties\n", - " assert m.fs.unit.config.aqueous_property_package is m.fs.aq_properties\n", - "\n", - " # Check for unit initializer\n", - " assert m.fs.unit.default_initializer is SingleControlVolumeUnitInitializer" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Testing the config arguments for the flowsheet\n", - "test_config()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In testing the build function, we verify whether the number of variables aligns with the intended values and also check for the existence of desired constraints within the unit model. This ensures that the unit model is constructed accurately and includes all the necessary variables and constraints required for its proper functioning." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "class TestBuild(object):\n", - " @pytest.fixture(scope=\"class\")\n", - " def model(self):\n", - " m = ConcreteModel()\n", - " m.fs = idaes.core.FlowsheetBlock(dynamic=False)\n", - " m.fs.org_properties = OrgPhase()\n", - " m.fs.aq_properties = AqPhase()\n", - "\n", - " m.fs.unit = LiqExtraction(\n", - " dynamic=False,\n", - " has_pressure_change=False,\n", - " organic_property_package=m.fs.org_properties,\n", - " aqueous_property_package=m.fs.aq_properties,\n", - " )\n", - "\n", - " m.fs.unit.organic_inlet.flow_vol.fix(80 * units.l / units.h)\n", - " m.fs.unit.organic_inlet.temperature.fix(300 * units.K)\n", - " m.fs.unit.organic_inlet.pressure.fix(1 * units.atm)\n", - " m.fs.unit.organic_inlet.conc_mass_comp[0, \"NaCl\"].fix(0 * units.g / units.l)\n", - " m.fs.unit.organic_inlet.conc_mass_comp[0, \"KNO3\"].fix(0 * units.g / units.l)\n", - " m.fs.unit.organic_inlet.conc_mass_comp[0, \"CaSO4\"].fix(0 * units.g / units.l)\n", - "\n", - " m.fs.unit.aqueous_inlet.flow_vol.fix(10 * units.l / units.h)\n", - " m.fs.unit.aqueous_inlet.temperature.fix(300 * units.K)\n", - " m.fs.unit.aqueous_inlet.pressure.fix(1 * units.atm)\n", - " m.fs.unit.aqueous_inlet.conc_mass_comp[0, \"NaCl\"].fix(0.15 * units.g / units.l)\n", - " m.fs.unit.aqueous_inlet.conc_mass_comp[0, \"KNO3\"].fix(0.2 * units.g / units.l)\n", - " m.fs.unit.aqueous_inlet.conc_mass_comp[0, \"CaSO4\"].fix(0.1 * units.g / units.l)\n", - "\n", - " return m\n", - "\n", - " @pytest.mark.build\n", - " @pytest.mark.unit\n", - " def test_build(self, model):\n", - "\n", - " assert hasattr(model.fs.unit, \"aqueous_inlet\")\n", - " assert len(model.fs.unit.aqueous_inlet.vars) == 4\n", - " assert hasattr(model.fs.unit.aqueous_inlet, \"flow_vol\")\n", - " assert hasattr(model.fs.unit.aqueous_inlet, \"conc_mass_comp\")\n", - " assert hasattr(model.fs.unit.aqueous_inlet, \"temperature\")\n", - " assert hasattr(model.fs.unit.aqueous_inlet, \"pressure\")\n", - "\n", - " assert hasattr(model.fs.unit, \"organic_inlet\")\n", - " assert len(model.fs.unit.organic_inlet.vars) == 4\n", - " assert hasattr(model.fs.unit.organic_inlet, \"flow_vol\")\n", - " assert hasattr(model.fs.unit.organic_inlet, \"conc_mass_comp\")\n", - " assert hasattr(model.fs.unit.organic_inlet, \"temperature\")\n", - " assert hasattr(model.fs.unit.organic_inlet, \"pressure\")\n", - "\n", - " assert hasattr(model.fs.unit, \"aqueous_outlet\")\n", - " assert len(model.fs.unit.aqueous_outlet.vars) == 4\n", - " assert hasattr(model.fs.unit.aqueous_outlet, \"flow_vol\")\n", - " assert hasattr(model.fs.unit.aqueous_outlet, \"conc_mass_comp\")\n", - " assert hasattr(model.fs.unit.aqueous_outlet, \"temperature\")\n", - " assert hasattr(model.fs.unit.aqueous_outlet, \"pressure\")\n", - "\n", - " assert hasattr(model.fs.unit, \"organic_outlet\")\n", - " assert len(model.fs.unit.organic_outlet.vars) == 4\n", - " assert hasattr(model.fs.unit.organic_outlet, \"flow_vol\")\n", - " assert hasattr(model.fs.unit.organic_outlet, \"conc_mass_comp\")\n", - " assert hasattr(model.fs.unit.organic_outlet, \"temperature\")\n", - " assert hasattr(model.fs.unit.organic_outlet, \"pressure\")\n", - "\n", - " assert hasattr(model.fs.unit, \"material_aq_balance\")\n", - " assert hasattr(model.fs.unit, \"material_org_balance\")\n", - "\n", - " assert number_variables(model) == 34\n", - " assert number_total_constraints(model) == 16" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Component tests\n", - "\n", - "During the component tests, we evaluate the performance of the unit model when integrated with the property package. This evaluation process typically involves several steps:\n", - "\n", - "1. Unit Consistency Check: Verify that the unit model maintains consistency in its units throughout the model. This ensures that all variables and constraints within the model adhere to the same unit system, guaranteeing compatibility.\n", - "\n", - "2. Termination Condition Verification: This involves checking whether the model terminates optimally with the given inlet conditions.\n", - "\n", - "3. Variable Value Assessment: Check the values of outlet variables against the expected values. To account for the numerical tolerance of the solvers, the values are compared using the approx function with a relative tolerance.\n", - "\n", - "4. Input Variable Stability Test: Verify that input variables, which should remain fixed during model operation, are not inadvertently unfixed or altered.\n", - "\n", - "5. Structural Issues: Verify that there are no structural issues with the model. \n", - "\n", - "By performing these checks, we conclude the testing for the unit model. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "class TestFlowsheet:\n", - " @pytest.fixture\n", - " def model(self):\n", - " m = ConcreteModel()\n", - " m.fs = idaes.core.FlowsheetBlock(dynamic=False)\n", - " m.fs.org_properties = OrgPhase()\n", - " m.fs.aq_properties = AqPhase()\n", - "\n", - " m.fs.unit = LiqExtraction(\n", - " dynamic=False,\n", - " has_pressure_change=False,\n", - " organic_property_package=m.fs.org_properties,\n", - " aqueous_property_package=m.fs.aq_properties,\n", - " )\n", - " m.fs.org_properties.diffusion_factor[\"NaCl\"] = (\n", - " m.fs.org_properties.diffusion_factor[\"NaCl\"] / 100\n", - " )\n", - " m.fs.org_properties.diffusion_factor[\"KNO3\"] = (\n", - " m.fs.org_properties.diffusion_factor[\"KNO3\"] / 100\n", - " )\n", - " m.fs.org_properties.diffusion_factor[\"CaSO4\"] = (\n", - " m.fs.org_properties.diffusion_factor[\"CaSO4\"] / 100\n", - " )\n", - "\n", - " m.fs.unit.organic_inlet.flow_vol.fix(80 * units.ml / units.min)\n", - " m.fs.unit.organic_inlet.temperature.fix(300 * units.K)\n", - " m.fs.unit.organic_inlet.pressure.fix(1 * units.atm)\n", - " m.fs.unit.organic_inlet.conc_mass_comp[0, \"NaCl\"].fix(0 * units.g / units.kg)\n", - " m.fs.unit.organic_inlet.conc_mass_comp[0, \"KNO3\"].fix(0 * units.g / units.kg)\n", - " m.fs.unit.organic_inlet.conc_mass_comp[0, \"CaSO4\"].fix(0 * units.g / units.kg)\n", - "\n", - " m.fs.unit.aqueous_inlet.flow_vol.fix(10 * units.ml / units.min)\n", - " m.fs.unit.aqueous_inlet.temperature.fix(300 * units.K)\n", - " m.fs.unit.aqueous_inlet.pressure.fix(1 * units.atm)\n", - " m.fs.unit.aqueous_inlet.conc_mass_comp[0, \"NaCl\"].fix(0.15 * units.g / units.kg)\n", - " m.fs.unit.aqueous_inlet.conc_mass_comp[0, \"KNO3\"].fix(0.2 * units.g / units.kg)\n", - " m.fs.unit.aqueous_inlet.conc_mass_comp[0, \"CaSO4\"].fix(0.1 * units.g / units.kg)\n", - "\n", - " return m\n", - "\n", - " @pytest.mark.component\n", - " def test_unit_model(self, model):\n", - " assert_units_consistent(model)\n", - " solver = get_solver()\n", - " results = solver.solve(model, tee=False)\n", - "\n", - " # Check for optimal termination\n", - " assert check_optimal_termination(results)\n", - "\n", - " # Checking for outlet flows\n", - " assert value(model.fs.unit.organic_outlet.flow_vol[0]) == pytest.approx(\n", - " 80.0, rel=1e-5\n", - " )\n", - " assert value(model.fs.unit.aqueous_outlet.flow_vol[0]) == pytest.approx(\n", - " 10.0, rel=1e-5\n", - " )\n", - "\n", - " # Checking for outlet mass_comp\n", - " assert value(\n", - " model.fs.unit.organic_outlet.conc_mass_comp[0, \"CaSO4\"]\n", - " ) == pytest.approx(0.000187499, rel=1e-5)\n", - " assert value(\n", - " model.fs.unit.organic_outlet.conc_mass_comp[0, \"KNO3\"]\n", - " ) == pytest.approx(0.000749999, rel=1e-5)\n", - " assert value(\n", - " model.fs.unit.organic_outlet.conc_mass_comp[0, \"NaCl\"]\n", - " ) == pytest.approx(0.000403124, rel=1e-5)\n", - " assert value(\n", - " model.fs.unit.aqueous_outlet.conc_mass_comp[0, \"CaSO4\"]\n", - " ) == pytest.approx(0.0985, rel=1e-5)\n", - " assert value(\n", - " model.fs.unit.aqueous_outlet.conc_mass_comp[0, \"KNO3\"]\n", - " ) == pytest.approx(0.194, rel=1e-5)\n", - " assert value(\n", - " model.fs.unit.aqueous_outlet.conc_mass_comp[0, \"NaCl\"]\n", - " ) == pytest.approx(0.146775, rel=1e-5)\n", - "\n", - " # Checking for outlet temperature\n", - " assert value(model.fs.unit.organic_outlet.temperature[0]) == pytest.approx(\n", - " 300, rel=1e-5\n", - " )\n", - " assert value(model.fs.unit.aqueous_outlet.temperature[0]) == pytest.approx(\n", - " 300, rel=1e-5\n", - " )\n", - "\n", - " # Checking for outlet pressure\n", - " assert value(model.fs.unit.organic_outlet.pressure[0]) == pytest.approx(\n", - " 1, rel=1e-5\n", - " )\n", - " assert value(model.fs.unit.aqueous_outlet.pressure[0]) == pytest.approx(\n", - " 1, rel=1e-5\n", - " )\n", - "\n", - " # Fixed state variables\n", - " assert model.fs.unit.organic_inlet.flow_vol[0].fixed\n", - " assert model.fs.unit.organic_inlet.conc_mass_comp[0, \"NaCl\"].fixed\n", - " assert model.fs.unit.organic_inlet.conc_mass_comp[0, \"KNO3\"].fixed\n", - " assert model.fs.unit.organic_inlet.conc_mass_comp[0, \"CaSO4\"].fixed\n", - " assert model.fs.unit.organic_inlet.temperature[0].fixed\n", - " assert model.fs.unit.organic_inlet.pressure[0].fixed\n", - "\n", - " assert model.fs.unit.aqueous_inlet.flow_vol[0].fixed\n", - " assert model.fs.unit.aqueous_inlet.conc_mass_comp[0, \"NaCl\"].fixed\n", - " assert model.fs.unit.aqueous_inlet.conc_mass_comp[0, \"KNO3\"].fixed\n", - " assert model.fs.unit.aqueous_inlet.conc_mass_comp[0, \"CaSO4\"].fixed\n", - " assert model.fs.unit.aqueous_inlet.temperature[0].fixed\n", - " assert model.fs.unit.aqueous_inlet.pressure[0].fixed\n", - "\n", - " @pytest.mark.component\n", - " def test_structural_issues(self, model):\n", - " dt = DiagnosticsToolbox(model)\n", - " dt.assert_no_structural_warnings()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Testing the consolidated flowsheet. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from liquid_extraction.liq_liq_extractor_flowsheet import (\n", - " build_model,\n", - " fix_initial_state,\n", - " initialize_model,\n", - " solve_model,\n", - ")\n", - "from idaes.core import FlowsheetBlock\n", - "from idaes.core.util import DiagnosticsToolbox\n", - "\n", - "m = pyo.ConcreteModel(name=\"NGFC no CCS\")\n", - "m.fs = FlowsheetBlock(dynamic=False)\n", - "build_model(m)\n", - "fix_initial_state(m)\n", - "initialize_model(m)\n", - "solve_model(m)\n", - "\n", - "assert_units_consistent(m)\n", - "assert value(m.fs.lex.organic_outlet.temperature[0]) == pytest.approx(300, rel=1e-5)\n", - "dt = DiagnosticsToolbox(m)\n", - "dt.assert_no_numerical_warnings()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this tutorial, we have covered the comprehensive process of creating a custom unit model from scratch. Let's recap the key steps we have undertaken:\n", - "\n", - "- Developing property package\n", - "- Constructing the unit model \n", - "- Creating a Flowsheet\n", - "- Debugging the model using DiagnosticsToolbox\n", - "- Writing tests for the unit model\n", - "\n", - "By following the aforementioned procedure, one can create their own custom unit model. This would conclude the tutorial on creating custom unit model. " - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "idaes-pse", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.13" - } - }, - "nbformat": 4, - "nbformat_minor": 3 -} + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Creating Custom Unit Model\n", + "Author: Javal Vyas \n", + "Maintainer: Javal Vyas \n", + "\n", + "This tutorial is a comprehensive step-wise procedure to build a custom unit model from scratch. This tutorial will include creating a property package, a custom unit model and testing them. For this tutorial we shall create a custom unit model for Liquid - Liquid Extraction. \n", + "\n", + "The Liquid - Liquid Extractor model contains two immiscible fluids forming the two phases. One of the phases, say phase_1 has a high concentration of solutes which is to be separated. A mass transfer happens between the two phases and the solute is transferred from phase_1 to phase_2. This mass transfer is governed by a parameter called the distribution coefficient.\n", + "\n", + "After reviewing the working principles of the Liquid - Liquid Extractor, we shall proceed to create a custom unit model. We will require a property package for each phase, a custom unit model class and tests for the model and property packages.\n", + "\n", + "Before commencing the development of the model, we need to state some assumptions which the following unit model will be using. \n", + "- Steady-state only\n", + "- Organic phase property package has a single phase named Org\n", + "- Aqueous phase property package has a single phase named Aq\n", + "- Organic and Aqueous phase properties need not have the same component list. \n", + "\n", + "Thus as per the assumptions, we will be creating one property package for the aqueous phase (Aq), and the other for the Organic phase (Org). " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1. Creating Organic Property Package\n", + "\n", + "Creating a property package is a 4 step process\n", + "- Import necessary libraries \n", + "- Creating Physical Parameter Data Block\n", + "- Define State Block\n", + "- Define State Block Data\n", + "\n", + "# 1.1 Importing necessary packages \n", + "Let us begin with importing the necessary libraries where we will be using functionalities from IDAES and Pyomo. " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# Import Python libraries\n", + "import logging\n", + "\n", + "import idaes.logger as idaeslog\n", + "from idaes.core.util.initialization import fix_state_vars\n", + "\n", + "# Import Pyomo libraries\n", + "from pyomo.environ import (\n", + " Param,\n", + " Set,\n", + " Var,\n", + " NonNegativeReals,\n", + " units,\n", + " Expression,\n", + " PositiveReals,\n", + ")\n", + "\n", + "# Import IDAES cores\n", + "from idaes.core import (\n", + " declare_process_block_class,\n", + " MaterialFlowBasis,\n", + " PhysicalParameterBlock,\n", + " StateBlockData,\n", + " StateBlock,\n", + " MaterialBalanceType,\n", + " EnergyBalanceType,\n", + " Solute,\n", + " Solvent,\n", + " LiquidPhase,\n", + ")\n", + "from idaes.core.util.model_statistics import degrees_of_freedom" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1.2 Physical Parameter Data Block\n", + "\n", + "A `PhysicalParameterBlock` serves as the central point of reference for all aspects of the property package and needs to define several things about the package. These are summarized below:\n", + "\n", + "- Units of measurement\n", + "- What properties are supported and how they are implemented\n", + "- What components and phases are included in the packages\n", + "- All the global parameters necessary for calculating properties\n", + "- A reference to the associated State Block class, so that construction of the State Block components can be automated from the Physical Parameter Block\n", + "\n", + "To construct this block, we begin by declaring a process block class using a Python decorator. One can learn more about `declare_process_block_class` [here](https://github.com/IDAES/idaes-pse/blob/eea1209077b75f7d940d8958362e69d4650c079d/idaes/core/base/process_block.py#L173). After constructing the process block, we define a build function which contains all the components that the property package would have. `super` function here is used to give access to methods and properties of a parent or sibling class and since this is used on the class `PhysicalParameterData` class, build has access to all the parent and sibling class methods. \n", + "\n", + "The `PhysicalParameterBlock` then refers to the `state block`, in this case `OrgPhaseStateBlock` (which will be declared later), so that we can build a state block instance by only knowing the `PhysicalParameterBlock` we wish to use. Then we list the number of phases in this property package. Then we assign the variable to the phase which follows a naming convention. The solvent is in the Organic phase; we will assign the Phase as OrganicPhase, and the variable will be named Org as per the naming convention. The details of naming conventions can be found [here](https://github.com/IDAES/idaes-pse/blob/main/docs/explanations/conventions.rst). We will be following the same convention throughout the example. \n", + " \n", + "After defining the list of the phases, we move on to list the components and their type in the phase. It can be a solute or a solvent in the Organic phase. Thus, we define the component and assign it to either being a solute or a solvent. In this case, the salts are the solutes and Ethylene dibromide is the solvent. Next, we define the physical properties involved in the package, like the heat capacity and density of the solvent, the reference temperature, and the distribution factor that would govern the mass transfer from one phase into another. Additionally, a parameter, the `diffusion_factor`, is introduced. This factor plays a crucial role in governing mass transfer between phases, necessitating its definition within the state block.\n", + "\n", + "The final step in creating the Physical Parameter Block is to declare a `classmethod` named `define_metadata`, which takes two arguments: a class (cls) and an instance of that class (obj). In this method, we will call the predefined method `add_default_units()`.\n", + "\n", + "- `obj.add_default_units()` sets the default units metadata for the property package, and here we define units to be used with this property package as default. " + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "@declare_process_block_class(\"OrgPhase\")\n", + "class PhysicalParameterData(PhysicalParameterBlock):\n", + " \"\"\"\n", + " Property Parameter Block Class\n", + "\n", + " Contains parameters and indexing sets associated with properties for\n", + " organic Phase\n", + "\n", + " \"\"\"\n", + "\n", + " def build(self):\n", + " \"\"\"\n", + " Callable method for Block construction.\n", + " \"\"\"\n", + " super().build()\n", + "\n", + " self._state_block_class = OrgPhaseStateBlock\n", + "\n", + " # List of valid phases in property package\n", + " self.Org = LiquidPhase()\n", + "\n", + " # Component list - a list of component identifiers\n", + " self.NaCl = Solute()\n", + " self.KNO3 = Solute()\n", + " self.CaSO4 = Solute()\n", + " self.solvent = (\n", + " Solvent()\n", + " ) # Solvent used here is ethylene dibromide (Organic Polar)\n", + "\n", + " # Heat capacity of solvent\n", + " self.cp_mass = Param(\n", + " mutable=True,\n", + " initialize=717.01,\n", + " doc=\"Specific heat capacity of solvent\",\n", + " units=units.J / units.kg / units.K,\n", + " )\n", + "\n", + " self.dens_mass = Param(\n", + " mutable=True,\n", + " initialize=2170,\n", + " doc=\"Density of ethylene dibromide\",\n", + " units=units.kg / units.m**3,\n", + " )\n", + " self.temperature_ref = Param(\n", + " within=PositiveReals,\n", + " mutable=True,\n", + " default=298.15,\n", + " doc=\"Reference temperature\",\n", + " units=units.K,\n", + " )\n", + " self.diffusion_factor = Param(\n", + " self.solute_set,\n", + " initialize={\"NaCl\": 2.15, \"KNO3\": 3, \"CaSO4\": 1.5},\n", + " within=PositiveReals,\n", + " mutable=True,\n", + " )\n", + "\n", + " @classmethod\n", + " def define_metadata(cls, obj):\n", + " obj.add_default_units(\n", + " {\n", + " \"time\": units.hour,\n", + " \"length\": units.m,\n", + " \"mass\": units.g,\n", + " \"amount\": units.mol,\n", + " \"temperature\": units.K,\n", + " }\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1.3 State Block\n", + "\n", + "After the `PhysicalParameterBlock` class has been created, the next step is to write the code necessary to create the State Blocks that will be used throughout the flowsheet. `StateBlock` contains all the information necessary to define the state of the system. This includes the state variables and constraints on those variables which are used to describe a state property like the enthalpy, material balance, etc.\n", + "\n", + "Creating a State Block requires us to write two classes. The reason we write two classes is because of the inherent nature of how `declare_process_block_data` works. `declare_process_block_data` facilitates creating an `IndexedComponent` object which can handle multiple `ComponentData` objects which represent the component at each point in the indexing set. This makes it easier to build an instance of the model at each indexed point. However, State Blocks are slightly different, as they are always indexed (at least by time). Due to this, we often want to perform actions on all the elements of the indexed StateBlock all at once (rather than element by element).\n", + "\n", + "The class `_OrganicStateBlock` is defined without the `declare_process_block_data` decorator and thus works as a traditional class and this facilitates performing a method on the class as a whole rather than individual elements of the indexed property blocks. In this class we define the `fix_initialization_states` function. `fix_initialization_states` function is used to fix the state variable within the state block with the provided initial values (usually inlet conditions). It takes a `block` as the argument in which the state variables are to be fixed. It also takes `state_args` as an optional argument. `state_args` is a dictionary with the value for the state variables to be fixed. This function returns a dictionary indexed by the block, state variables and variable index indicating the fixed status of each variable before applying the function. \n", + "\n", + "The above function comprise of the _OrganicStateBlock. Next, we shall see the construction of the OrgPhaseStateBlockData class." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "class _OrganicStateBlock(StateBlock):\n", + " \"\"\"\n", + " This Class contains methods which should be applied to Property Blocks as a\n", + " whole, rather than individual elements of indexed Property Blocks.\n", + " \"\"\"\n", + "\n", + " def fix_initialization_states(self):\n", + " fix_state_vars(self)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The class `OrgPhaseStateBlockData` is designated with the `declare_process_block_class` decorator, named `OrgPhaseStateBlock`, and inherits the block class from `_OrganicStateBlock`. This inheritance allows `OrgPhaseStateBlockData` to leverage functions from `_OrganicStateBlock`. Following the class definition, a build function similar to the one used in the `PhysicalParameterData` block is employed. The super function is utilized to enable the utilization of functions from the parent or sibling class.\n", + "\n", + "The subsequent objective is to delineate the state variables, accomplished through the `_make_state_vars` method. This method encompasses all the essential state variables and associated data. For this particular property package, the required state variables are:\n", + "\n", + "- `flow_vol` - volumetric flow rate\n", + "- `conc_mass_comp` - mass fractions\n", + "- `pressure` - state pressure\n", + "- `temperature` - state temperature\n", + "\n", + "After establishing the state variables, the subsequent step involves setting up state properties as constraints. This includes specifying the relationships and limitations that dictate the system's behavior. The following properties need to be articulated:\n", + "\n", + "-`get_material_flow_terms`: quantifies the amount of material flow.\n", + "- `get_enthalpy_flow_terms`: quantifies the amount of enthalpy flow.\n", + "- `get_flow_rate`: details volumetric flow rates.\n", + "- `default_material_balance_type`: defines the kind of material balance to be used.\n", + "- `default_energy_balance_type`: defines the kind of energy balance to be used.\n", + "- `define_state_vars`: involves defining state variables with units, akin to the define_metadata function in the PhysicalParameterData block.\n", + "- `get_material_flow_basis`: establishes the basis on which state variables are measured, whether in mass or molar terms.\n", + "\n", + "These definitions mark the conclusion of the state block construction and thus the property package. For additional details on creating a property package, please refer to this [resource](../../properties/custom/custom_physical_property_packages_test.ipynb ).\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "@declare_process_block_class(\"OrgPhaseStateBlock\", block_class=_OrganicStateBlock)\n", + "class OrgPhaseStateBlockData(StateBlockData):\n", + " \"\"\"\n", + " An example property package for Organic phase for liquid liquid extraction\n", + " \"\"\"\n", + "\n", + " def build(self):\n", + " \"\"\"\n", + " Callable method for Block construction\n", + " \"\"\"\n", + " super().build()\n", + " self._make_state_vars()\n", + "\n", + " def _make_state_vars(self):\n", + " self.flow_vol = Var(\n", + " initialize=1,\n", + " domain=NonNegativeReals,\n", + " doc=\"Total volumetric flowrate\",\n", + " units=units.L / units.hour,\n", + " )\n", + " self.conc_mass_comp = Var(\n", + " self.params.solute_set,\n", + " domain=NonNegativeReals,\n", + " initialize=1,\n", + " doc=\"Component mass concentrations\",\n", + " units=units.g / units.L,\n", + " )\n", + " self.pressure = Var(\n", + " domain=NonNegativeReals,\n", + " initialize=1,\n", + " bounds=(1, 5),\n", + " units=units.atm,\n", + " doc=\"State pressure [atm]\",\n", + " )\n", + "\n", + " self.temperature = Var(\n", + " domain=NonNegativeReals,\n", + " initialize=300,\n", + " bounds=(273, 373),\n", + " units=units.K,\n", + " doc=\"State temperature [K]\",\n", + " )\n", + "\n", + " def material_flow_expression(self, j):\n", + " if j == \"solvent\":\n", + " return self.flow_vol * self.params.dens_mass\n", + " else:\n", + " return self.flow_vol * self.conc_mass_comp[j]\n", + "\n", + " self.material_flow_expression = Expression(\n", + " self.component_list,\n", + " rule=material_flow_expression,\n", + " doc=\"Material flow terms\",\n", + " )\n", + "\n", + " def enthalpy_flow_expression(self):\n", + " return (\n", + " self.flow_vol\n", + " * self.params.dens_mass\n", + " * self.params.cp_mass\n", + " * (self.temperature - self.params.temperature_ref)\n", + " )\n", + "\n", + " self.enthalpy_flow_expression = Expression(\n", + " rule=enthalpy_flow_expression, doc=\"Enthalpy flow term\"\n", + " )\n", + "\n", + " def get_flow_rate(self):\n", + " return self.flow_vol\n", + "\n", + " def get_material_flow_terms(self, p, j):\n", + " return self.material_flow_expression[j]\n", + "\n", + " def get_enthalpy_flow_terms(self, p):\n", + " return self.enthalpy_flow_expression\n", + "\n", + " def default_material_balance_type(self):\n", + " return MaterialBalanceType.componentTotal\n", + "\n", + " def default_energy_balance_type(self):\n", + " return EnergyBalanceType.enthalpyTotal\n", + "\n", + " def define_state_vars(self):\n", + " return {\n", + " \"flow_vol\": self.flow_vol,\n", + " \"conc_mass_comp\": self.conc_mass_comp,\n", + " \"temperature\": self.temperature,\n", + " \"pressure\": self.pressure,\n", + " }\n", + "\n", + " def get_material_flow_basis(self):\n", + " return MaterialFlowBasis.mass" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2. Creating Aqueous Property Package\n", + "\n", + "The structure of the Aqueous Property Package mirrors that of the Organic Property Package we previously developed. We'll commence with an overview, importing the required libraries, followed by the creation of the physical property block and two state blocks. The distinctions in this package lie in the physical parameter values, and notably, the absence of the diffusion factor term, differentiating it from the prior package. The following code snippet should provide clarity on these distinctions." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "# Import Python libraries\n", + "import logging\n", + "\n", + "from idaes.core.util.initialization import fix_state_vars\n", + "\n", + "# Import Pyomo libraries\n", + "from pyomo.environ import (\n", + " Param,\n", + " Var,\n", + " NonNegativeReals,\n", + " units,\n", + " Expression,\n", + " PositiveReals,\n", + ")\n", + "\n", + "# Import IDAES cores\n", + "from idaes.core import (\n", + " declare_process_block_class,\n", + " MaterialFlowBasis,\n", + " PhysicalParameterBlock,\n", + " StateBlockData,\n", + " StateBlock,\n", + " MaterialBalanceType,\n", + " EnergyBalanceType,\n", + " Solute,\n", + " Solvent,\n", + " LiquidPhase,\n", + ")\n", + "\n", + "# Some more information about this module\n", + "__author__ = \"Javal Vyas\"\n", + "\n", + "\n", + "# Set up logger\n", + "_log = logging.getLogger(__name__)\n", + "\n", + "\n", + "@declare_process_block_class(\"AqPhase\")\n", + "class AqPhaseData(PhysicalParameterBlock):\n", + " \"\"\"\n", + " Property Parameter Block Class\n", + "\n", + " Contains parameters and indexing sets associated with properties for\n", + " aqueous Phase\n", + "\n", + " \"\"\"\n", + "\n", + " def build(self):\n", + " \"\"\"\n", + " Callable method for Block construction.\n", + " \"\"\"\n", + " super().build()\n", + "\n", + " self._state_block_class = AqPhaseStateBlock\n", + "\n", + " # List of valid phases in property package\n", + " self.Aq = LiquidPhase()\n", + "\n", + " # Component list - a list of component identifiers\n", + " self.NaCl = Solute()\n", + " self.KNO3 = Solute()\n", + " self.CaSO4 = Solute()\n", + " self.H2O = Solvent()\n", + "\n", + " # Heat capacity of solvent\n", + " self.cp_mass = Param(\n", + " mutable=True,\n", + " initialize=4182,\n", + " doc=\"Specific heat capacity of solvent\",\n", + " units=units.J / units.kg / units.K,\n", + " )\n", + "\n", + " self.dens_mass = Param(\n", + " mutable=True,\n", + " initialize=997,\n", + " doc=\"Density of ethylene dibromide\",\n", + " units=units.kg / units.m**3,\n", + " )\n", + " self.temperature_ref = Param(\n", + " within=PositiveReals,\n", + " mutable=True,\n", + " default=298.15,\n", + " doc=\"Reference temperature\",\n", + " units=units.K,\n", + " )\n", + "\n", + " @classmethod\n", + " def define_metadata(cls, obj):\n", + " obj.add_default_units(\n", + " {\n", + " \"time\": units.hour,\n", + " \"length\": units.m,\n", + " \"mass\": units.g,\n", + " \"amount\": units.mol,\n", + " \"temperature\": units.K,\n", + " }\n", + " )\n", + "\n", + "\n", + "class _AqueousStateBlock(StateBlock):\n", + " \"\"\"\n", + " This Class contains methods which should be applied to Property Blocks as a\n", + " whole, rather than individual elements of indexed Property Blocks.\n", + " \"\"\"\n", + "\n", + " def fix_initialization_states(self):\n", + " fix_state_vars(self)\n", + "\n", + "\n", + "@declare_process_block_class(\"AqPhaseStateBlock\", block_class=_AqueousStateBlock)\n", + "class AqPhaseStateBlockData(StateBlockData):\n", + " \"\"\"\n", + " An example property package for ideal gas properties with Gibbs energy\n", + " \"\"\"\n", + "\n", + " def build(self):\n", + " \"\"\"\n", + " Callable method for Block construction\n", + " \"\"\"\n", + " super().build()\n", + " self._make_state_vars()\n", + "\n", + " def _make_state_vars(self):\n", + " self.flow_vol = Var(\n", + " initialize=1,\n", + " domain=NonNegativeReals,\n", + " doc=\"Total volumetric flowrate\",\n", + " units=units.L / units.hour,\n", + " )\n", + "\n", + " self.conc_mass_comp = Var(\n", + " self.params.solute_set,\n", + " domain=NonNegativeReals,\n", + " initialize={\"NaCl\": 0.15, \"KNO3\": 0.2, \"CaSO4\": 0.1},\n", + " doc=\"Component mass concentrations\",\n", + " units=units.g / units.L,\n", + " )\n", + "\n", + " self.pressure = Var(\n", + " domain=NonNegativeReals,\n", + " initialize=1,\n", + " bounds=(1, 5),\n", + " units=units.atm,\n", + " doc=\"State pressure [atm]\",\n", + " )\n", + "\n", + " self.temperature = Var(\n", + " domain=NonNegativeReals,\n", + " initialize=300,\n", + " bounds=(273, 373),\n", + " units=units.K,\n", + " doc=\"State temperature [K]\",\n", + " )\n", + "\n", + " def material_flow_expression(self, j):\n", + " if j == \"H2O\":\n", + " return self.flow_vol * self.params.dens_mass\n", + " else:\n", + " return self.conc_mass_comp[j] * self.flow_vol\n", + "\n", + " self.material_flow_expression = Expression(\n", + " self.component_list,\n", + " rule=material_flow_expression,\n", + " doc=\"Material flow terms\",\n", + " )\n", + "\n", + " def enthalpy_flow_expression(self):\n", + " return (\n", + " self.flow_vol\n", + " * self.params.dens_mass\n", + " * self.params.cp_mass\n", + " * (self.temperature - self.params.temperature_ref)\n", + " )\n", + "\n", + " self.enthalpy_flow_expression = Expression(\n", + " rule=enthalpy_flow_expression, doc=\"Enthalpy flow term\"\n", + " )\n", + "\n", + " def get_flow_rate(self):\n", + " return self.flow_vol\n", + "\n", + " def get_material_flow_terms(self, p, j):\n", + " return self.material_flow_expression[j]\n", + "\n", + " def get_enthalpy_flow_terms(self, p):\n", + " return self.enthalpy_flow_expression\n", + "\n", + " def default_material_balance_type(self):\n", + " return MaterialBalanceType.componentTotal\n", + "\n", + " def default_energy_balance_type(self):\n", + " return EnergyBalanceType.enthalpyTotal\n", + "\n", + " def define_state_vars(self):\n", + " return {\n", + " \"flow_vol\": self.flow_vol,\n", + " \"conc_mass_comp\": self.conc_mass_comp,\n", + " \"temperature\": self.temperature,\n", + " \"pressure\": self.pressure,\n", + " }\n", + "\n", + " def get_material_flow_basis(self):\n", + " return MaterialFlowBasis.mass" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 3. Liquid Liquid Extractor Unit Model\n", + "\n", + "Following the creation of property packages, our next step is to develop a unit model that facilitates the mass transfer of solutes between phases. This involves importing necessary libraries, building the unit model, defining auxiliary functions, and establishing the initialization routine for the unit model.\n", + "\n", + "## 3.1 Importing necessary libraries\n", + "\n", + "Let's commence by importing the essential libraries from Pyomo and IDAES." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# Import Pyomo libraries\n", + "from pyomo.common.config import ConfigBlock, ConfigValue, In, Bool\n", + "from pyomo.environ import (\n", + " value,\n", + " Constraint,\n", + " check_optimal_termination,\n", + ")\n", + "\n", + "# Import IDAES cores\n", + "from idaes.core import (\n", + " ControlVolume0DBlock,\n", + " declare_process_block_class,\n", + " MaterialBalanceType,\n", + " EnergyBalanceType,\n", + " MaterialFlowBasis,\n", + " MomentumBalanceType,\n", + " UnitModelBlockData,\n", + " useDefault,\n", + ")\n", + "from idaes.core.util.config import (\n", + " is_physical_parameter_block,\n", + " is_reaction_parameter_block,\n", + ")\n", + "\n", + "import idaes.logger as idaeslog\n", + "from idaes.core.solvers import get_solver\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.core.util.exceptions import ConfigurationError, InitializationError" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.2 Creating the unit model\n", + "\n", + "Creating a unit model starts by creating a class called `LiqExtractionData` and using the `declare_process_block_class` decorator. The `LiqExtractionData` inherits the properties of the `UnitModelBlockData` class, which allows us to create a control volume that is necessary for the unit model. After declaration of the class we proceed to define the relevant config arguments for the control volume. The config arguments include the following properties:\n", + "\n", + "- `material_balance_type` - Indicates what type of mass balance should be constructed\n", + "- `has_pressure_change` - Indicates whether terms for pressure change should be\n", + "constructed\n", + "- `has_phase_equilibrium` - Indicates whether terms for phase equilibrium should be\n", + "constructed\n", + "- `organic_property_package` - Property parameter object used to define property calculations\n", + "for the Organic phase\n", + "- `organic_property_package_args` - Arguments to use for constructing Organic phase properties\n", + "- `aqueous_property_package` - Property parameter object used to define property calculations\n", + "for the aqueous phase\n", + "- `aqueous_property_package_args` - Arguments to use for constructing aqueous phase properties\n", + "\n", + "As there are no pressure changes or reactions in this scenario, configuration arguments for these aspects are not included. However, additional details on configuration arguments can be found [here](https://github.com/IDAES/idaes-pse/blob/8948c6ce27d4c7f2c06b377a173f413599091998/idaes/models/unit_models/cstr.py)." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "@declare_process_block_class(\"LiqExtraction\")\n", + "class LiqExtractionData(UnitModelBlockData):\n", + " \"\"\"\n", + " LiqExtraction Unit Model Class\n", + " \"\"\"\n", + "\n", + " CONFIG = UnitModelBlockData.CONFIG()\n", + "\n", + " CONFIG.declare(\n", + " \"material_balance_type\",\n", + " ConfigValue(\n", + " default=MaterialBalanceType.useDefault,\n", + " domain=In(MaterialBalanceType),\n", + " description=\"Material balance construction flag\",\n", + " doc=\"\"\"Indicates what type of mass balance should be constructed,\n", + " **default** - MaterialBalanceType.useDefault.\n", + " **Valid values:** {\n", + " **MaterialBalanceType.useDefault - refer to property package for default\n", + " balance type\n", + " **MaterialBalanceType.none** - exclude material balances,\n", + " **MaterialBalanceType.componentPhase** - use phase component balances,\n", + " **MaterialBalanceType.componentTotal** - use total component balances,\n", + " **MaterialBalanceType.elementTotal** - use total element balances,\n", + " **MaterialBalanceType.total** - use total material balance.}\"\"\",\n", + " ),\n", + " )\n", + " CONFIG.declare(\n", + " \"has_pressure_change\",\n", + " ConfigValue(\n", + " default=False,\n", + " domain=Bool,\n", + " description=\"Pressure change term construction flag\",\n", + " doc=\"\"\"Indicates whether terms for pressure change should be\n", + " constructed,\n", + " **default** - False.\n", + " **Valid values:** {\n", + " **True** - include pressure change terms,\n", + " **False** - exclude pressure change terms.}\"\"\",\n", + " ),\n", + " )\n", + " CONFIG.declare(\n", + " \"has_phase_equilibrium\",\n", + " ConfigValue(\n", + " default=False,\n", + " domain=Bool,\n", + " description=\"Phase equilibrium construction flag\",\n", + " doc=\"\"\"Indicates whether terms for phase equilibrium should be\n", + " constructed,\n", + " **default** = False.\n", + " **Valid values:** {\n", + " **True** - include phase equilibrium terms\n", + " **False** - exclude phase equilibrium terms.}\"\"\",\n", + " ),\n", + " )\n", + " CONFIG.declare(\n", + " \"organic_property_package\",\n", + " ConfigValue(\n", + " default=useDefault,\n", + " domain=is_physical_parameter_block,\n", + " description=\"Property package to use for organic phase\",\n", + " doc=\"\"\"Property parameter object used to define property calculations\n", + " for the organic phase,\n", + " **default** - useDefault.\n", + " **Valid values:** {\n", + " **useDefault** - use default package from parent model or flowsheet,\n", + " **PropertyParameterObject** - a PropertyParameterBlock object.}\"\"\",\n", + " ),\n", + " )\n", + " CONFIG.declare(\n", + " \"organic_property_package_args\",\n", + " ConfigBlock(\n", + " implicit=True,\n", + " description=\"Arguments to use for constructing organic phase properties\",\n", + " doc=\"\"\"A ConfigBlock with arguments to be passed to organic phase\n", + " property block(s) and used when constructing these,\n", + " **default** - None.\n", + " **Valid values:** {\n", + " see property package for documentation.}\"\"\",\n", + " ),\n", + " )\n", + " CONFIG.declare(\n", + " \"aqueous_property_package\",\n", + " ConfigValue(\n", + " default=useDefault,\n", + " domain=is_physical_parameter_block,\n", + " description=\"Property package to use for aqueous phase\",\n", + " doc=\"\"\"Property parameter object used to define property calculations\n", + " for the aqueous phase,\n", + " **default** - useDefault.\n", + " **Valid values:** {\n", + " **useDefault** - use default package from parent model or flowsheet,\n", + " **PropertyParameterObject** - a PropertyParameterBlock object.}\"\"\",\n", + " ),\n", + " )\n", + " CONFIG.declare(\n", + " \"aqueous_property_package_args\",\n", + " ConfigBlock(\n", + " implicit=True,\n", + " description=\"Arguments to use for constructing aqueous phase properties\",\n", + " doc=\"\"\"A ConfigBlock with arguments to be passed to aqueous phase\n", + " property block(s) and used when constructing these,\n", + " **default** - None.\n", + " **Valid values:** {\n", + " see property package for documentation.}\"\"\",\n", + " ),\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Building the model\n", + "\n", + "After constructing the `LiqExtractionData` block and defining the config arguments for the control block, the next step is to write a build function that incorporates the control volume and establishes constraints on the control volume to achieve the desired mass transfer. The control volume serves as a pivotal component in the unit model construction, representing the volume in which the process unfolds.\n", + "\n", + "IDAES provides flexibility in choosing control volumes based on geometry, with options including 0D or 1D. In this instance, we opt for a 0D control volume, the most commonly used control volume. This choice is suitable for systems where there is a well-mixed volume of fluid or where spatial variations are deemed negligible.\n", + "\n", + "The control volume encompasses parameters from (1-8), and its equations are configured to satisfy the specified config arguments. For a more in-depth understanding, users are encouraged to refer to [this resource](https://github.com/IDAES/idaes-pse/blob/2f34dd3abc1bce5ba17c80939a01f9034e4fbeef/docs/reference_guides/core/control_volume_0d.rst). \n", + "\n", + "The `build` function is initiated using the `super` function to gain access to methods and properties of a parent or sibling class, in this case, the `LiqExtractionData` class. Following the `super` function, checks are performed on the property packages to ensure the appropriate names for the solvents, such as 'Aq' for the aqueous phase and 'Org' for the organic phase. An error is raised if these conditions are not met. Subsequently, a check is performed to ensure there is at least one common component between the two property packages that can be transferred from one phase to another.\n", + "\n", + "After these checks are completed without any exceptions raised, it is ensured that the property packages have the desired components with appropriate names. The next step is to create a control volume and assign it to a property package. Here, we initiate with the organic phase and attach a 0D control volume to it. The control volume takes arguments about the dynamics of the block, and the property package, along with property package arguments. \n", + "\n", + "The subsequent steps involve adding inlet and outlet state blocks to the control volume using the `add_state_blocks` function. This function takes arguments about the flow direction (defaulted to forward) and a flag for `has_phase_equilibrium`, which is read from the config. The control volume is now equipped with the inlet and outlet state blocks and has access to the organic property package\n", + "\n", + "Next, material balance equations are added to the control volume using the `add_material_balance` function, taking into account the type of material balance, `has_phase_equilibrium`, and the presence of `has_mass_transfer`. To understand this arguments further let us have a look at the material balance equation and how it is implemented in control volume. \n", + "\n", + "$\\frac{\\partial M_{t, p, j}}{\\partial t} = F_{in, t, p, j} - F_{out, t, p, j} + N_{kinetic, t, p, j} + N_{equilibrium, t, p, j} + N_{pe, t, p, j} + N_{transfer, t, p, j} + N_{custom, t, p, j}$\n", + "\n", + "- $\\frac{\\partial M_{t, p, j}}{\\partial t}$ - Material accumulation\n", + "- $F_{in, t, p, j}$ - Flow into the control volume\n", + "- $F_{out, t, p, j}$ - Flow out of the control volume\n", + "- $N_{kinetic, t, p, j}$ - Rate of reaction generation\n", + "- $N_{equilibrium, t, p, j}$ - Equilibrium reaction generation\n", + "- $N_{pe, t, p, j}$ - Equilibrium reaction extent\n", + "- $N_{transfer, t, p, j}$ - Mass transfer\n", + "- $N_{custom, t, p, j}$ - User defined terms in material balance\n", + "\n", + "- t indicates time index\n", + "- p indicates phase index\n", + "- j indicates component index\n", + "- e indicates element index\n", + "- r indicates reaction name index\n", + "\n", + "Here we shall see that $N_{transfer, t, p, j}$ is the term in the equation which is responsible for the mass transfer and the `mass_transfer_term` should only be equal to the amount being transferred and not include a material balance on our own. For a detailed description of the terms one should refer to the following [resource.](https://github.com/IDAES/idaes-pse/blob/2f34dd3abc1bce5ba17c80939a01f9034e4fbeef/docs/reference_guides/core/control_volume_0d.rst)\n", + "\n", + "This concludes the creation of the organic phase control volume. A similar procedure is done for the aqueous phase control volume with aqueous property package. \n", + "\n", + "Now, the unit model has two control volumes with appropriate configurations and material, momentum and energy balances. The next step is to check the basis of the two property packages. They should both have the same flow basis, and an error is raised if this is not the case.\n", + "\n", + "Following this, the `add_inlet_ports` and `add_outlet_ports` functions are used to create inlet and outlet ports. These ports are named and assigned to each control volume, resulting in labeled inlet and outlet ports for each control volume.\n", + "\n", + "The subsequent steps involve writing unit-level constraints. A check if the basis is either molar or mass, and unit-level constraints are written accordingly. The first constraint pertains to the mass transfer term for the aqueous phase. The mass transfer term is equal to $mass\\_transfer\\_term_{aq} = (D_{i})\\frac{mass_{i}~in~aq~phase}{flowrate~of~aq~phase}$. The second constraint relates to the mass transfer term in the organic phase, which is the negative of the mass transfer term in the aqueous phase: $mass\\_transfer\\_term_{org} = - mass\\_transfer\\_term_{aq} $\n", + "\n", + "Here $mass\\_transfer\\_term_{p}$ is the term indicating the amount of material being transferred from/to the phase and $D_{i}$ is the Distribution coefficient for component i. \n", + "\n", + "This marks the completion of the build function, and the unit model is now equipped with the necessary process constraints. The subsequent steps involve writing the initialization routine." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "def build(self):\n", + " \"\"\"\n", + " Begin building model (pre-DAE transformation).\n", + " Args:\n", + " None\n", + " Returns:\n", + " None\n", + " \"\"\"\n", + " # Call UnitModel.build to setup dynamics\n", + " super().build()\n", + "\n", + " # Check phase lists match assumptions\n", + " if self.config.aqueous_property_package.phase_list != [\"Aq\"]:\n", + " raise ConfigurationError(\n", + " f\"{self.name} Liquid-Liquid Extractor model requires that the aqueous \"\n", + " f\"phase property package have a single phase named 'Aq'\"\n", + " )\n", + " if self.config.organic_property_package.phase_list != [\"Org\"]:\n", + " raise ConfigurationError(\n", + " f\"{self.name} Liquid-Liquid Extractor model requires that the organic \"\n", + " f\"phase property package have a single phase named 'Org'\"\n", + " )\n", + "\n", + " # Check for at least one common component in component lists\n", + " if not any(\n", + " j in self.config.aqueous_property_package.component_list\n", + " for j in self.config.organic_property_package.component_list\n", + " ):\n", + " raise ConfigurationError(\n", + " f\"{self.name} Liquid-Liquid Extractor model requires that the organic \"\n", + " f\"and aqueous phase property packages have at least one \"\n", + " f\"common component.\"\n", + " )\n", + "\n", + " self.organic_phase = ControlVolume0DBlock(\n", + " dynamic=self.config.dynamic,\n", + " property_package=self.config.organic_property_package,\n", + " property_package_args=self.config.organic_property_package_args,\n", + " )\n", + "\n", + " self.organic_phase.add_state_blocks(\n", + " has_phase_equilibrium=self.config.has_phase_equilibrium\n", + " )\n", + "\n", + " # Separate organic and aqueous phases means that phase equilibrium will\n", + " # be handled at the unit model level, thus has_phase_equilibrium is\n", + " # False, but has_mass_transfer is True.\n", + "\n", + " self.organic_phase.add_material_balances(\n", + " balance_type=self.config.material_balance_type,\n", + " has_phase_equilibrium=self.config.has_phase_equilibrium,\n", + " has_mass_transfer=True,\n", + " )\n", + " # ---------------------------------------------------------------------\n", + "\n", + " self.aqueous_phase = ControlVolume0DBlock(\n", + " dynamic=self.config.dynamic,\n", + " property_package=self.config.aqueous_property_package,\n", + " property_package_args=self.config.aqueous_property_package_args,\n", + " )\n", + "\n", + " self.aqueous_phase.add_state_blocks(\n", + " has_phase_equilibrium=self.config.has_phase_equilibrium\n", + " )\n", + "\n", + " # Separate liquid and aqueous phases means that phase equilibrium will\n", + " # be handled at the unit model level, thus has_phase_equilibrium is\n", + " # False, but has_mass_transfer is True.\n", + "\n", + " self.aqueous_phase.add_material_balances(\n", + " balance_type=self.config.material_balance_type,\n", + " # has_rate_reactions=False,\n", + " has_phase_equilibrium=self.config.has_phase_equilibrium,\n", + " has_mass_transfer=True,\n", + " )\n", + "\n", + " self.aqueous_phase.add_geometry()\n", + "\n", + " # ---------------------------------------------------------------------\n", + " # Check flow basis is compatible\n", + " t_init = self.flowsheet().time.first()\n", + " if (\n", + " self.aqueous_phase.properties_out[t_init].get_material_flow_basis()\n", + " != self.organic_phase.properties_out[t_init].get_material_flow_basis()\n", + " ):\n", + " raise ConfigurationError(\n", + " f\"{self.name} aqueous and organic property packages must use the \"\n", + " f\"same material flow basis.\"\n", + " )\n", + "\n", + " self.organic_phase.add_geometry()\n", + "\n", + " # Add Ports\n", + " self.add_inlet_port(\n", + " name=\"organic_inlet\", block=self.organic_phase, doc=\"Organic feed\"\n", + " )\n", + " self.add_inlet_port(\n", + " name=\"aqueous_inlet\", block=self.aqueous_phase, doc=\"Aqueous feed\"\n", + " )\n", + " self.add_outlet_port(\n", + " name=\"organic_outlet\", block=self.organic_phase, doc=\"Organic outlet\"\n", + " )\n", + " self.add_outlet_port(\n", + " name=\"aqueous_outlet\",\n", + " block=self.aqueous_phase,\n", + " doc=\"Aqueous outlet\",\n", + " )\n", + "\n", + " # ---------------------------------------------------------------------\n", + " # Add unit level constraints\n", + " # First, need the union and intersection of component lists\n", + " all_comps = (\n", + " self.aqueous_phase.properties_out.component_list\n", + " | self.organic_phase.properties_out.component_list\n", + " )\n", + " common_comps = (\n", + " self.aqueous_phase.properties_out.component_list\n", + " & self.organic_phase.properties_out.component_list\n", + " )\n", + "\n", + " # Get units for unit conversion\n", + " aunits = self.config.aqueous_property_package.get_metadata().get_derived_units\n", + " lunits = self.config.organic_property_package.get_metadata().get_derived_units\n", + " flow_basis = self.aqueous_phase.properties_out[t_init].get_material_flow_basis()\n", + "\n", + " if flow_basis == MaterialFlowBasis.mass:\n", + " fb = \"flow_mass\"\n", + " else:\n", + " raise ConfigurationError(\n", + " f\"{self.name} Liquid-Liquid Extractor only supports mass \"\n", + " f\"basis for MaterialFlowBasis.\"\n", + " )\n", + "\n", + " # Material balances\n", + " def rule_material_aq_balance(self, t, j):\n", + " if j in common_comps:\n", + " return self.aqueous_phase.mass_transfer_term[\n", + " t, \"Aq\", j\n", + " ] == -self.organic_phase.config.property_package.diffusion_factor[j] * (\n", + " self.aqueous_phase.properties_in[t].get_material_flow_terms(\"Aq\", j)\n", + " )\n", + " elif j in self.organic_phase.properties_out.component_list:\n", + " # No mass transfer term\n", + " # Set organic flowrate to an arbitrary small value\n", + " return self.organic_phase.mass_transfer_term[t, \"Org\", j] == 0 * lunits(fb)\n", + " elif j in self.aqueous_phase.properties_out.component_list:\n", + " # No mass transfer term\n", + " # Set aqueous flowrate to an arbitrary small value\n", + " return self.aqueous_phase.mass_transfer_term[t, \"Aq\", j] == 0 * aunits(fb)\n", + "\n", + " self.material_aq_balance = Constraint(\n", + " self.flowsheet().time,\n", + " self.aqueous_phase.properties_out.component_list,\n", + " rule=rule_material_aq_balance,\n", + " doc=\"Unit level material balances for Aq\",\n", + " )\n", + "\n", + " def rule_material_liq_balance(self, t, j):\n", + " if j in common_comps:\n", + " return (\n", + " self.organic_phase.mass_transfer_term[t, \"Org\", j]\n", + " == -self.aqueous_phase.mass_transfer_term[t, \"Aq\", j]\n", + " )\n", + " else:\n", + " # No mass transfer term\n", + " # Set organic flowrate to an arbitrary small value\n", + " return self.organic_phase.mass_transfer_term[t, \"Org\", j] == 0 * aunits(fb)\n", + "\n", + " self.material_org_balance = Constraint(\n", + " self.flowsheet().time,\n", + " self.organic_phase.properties_out.component_list,\n", + " rule=rule_material_liq_balance,\n", + " doc=\"Unit level material balances Org\",\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Initialization Routine\n", + "\n", + "After writing the unit model it is crucial to initialize the model properly, as non-linear models may encounter local minima or infeasibility if not initialized properly. IDAES provides us with a few initialization routines which may not work for all the models, and in such cases the developer will have to define their own initialization routines. \n", + "\n", + "To create a custom initialization routine, model developers must create an initialize method as part of their model, and provide a sequence of steps intended to build up a feasible solution. Initialization routines generally make use of Pyomo\u2019s tools for activating and deactivating constraints and often involve solving multiple sub-problems whilst building up an initial state.\n", + "\n", + "For this tutorial we would use the pre-defined initialization routine of `BlockTriangularizationInitializer` when initializing the model in the flowsheet. This Initializer should be suitable for most models, but may struggle to initialize\n", + "tightly coupled systems of equations. This method of initialization will follow the following workflow. \n", + "\n", + "- Have precheck for structural singularity\n", + "- Run incidence analysis on given block data and check matching.\n", + "- Call Block Triangularization solver on the model.\n", + "- Call solve_strongly_connected_components on a given BlockData.\n", + "\n", + "More details about this initialization routine can be found [here](https://github.com/IDAES/idaes-pse/blob/c09433b9afed5ae2fe25c0ccdc732783324f0101/idaes/core/initialization/block_triangularization.py). \n", + "\n", + "\n", + "This marks the conclusion of creating a custom unit model, for a more detailed explanation on creating a unit model refer [this resource](../../unit_models/custom_unit_models/custom_compressor_test.ipynb). The next sections will deal with the diagnostics and testing of the property package and unit model. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.3 Building a Flowsheet\n", + "\n", + "Once we have set up the unit model and its property packages, we can start building a flowsheet using them. In this tutorial, we're focusing on a simple flowsheet with just a liquid-liquid extractor. To create the flowsheet we follow the following steps:\n", + "\n", + "- Import necessary libraries\n", + "- Create a Pyomo model.\n", + "- Inside the model, create a flowsheet block.\n", + "- Assign property packages to the flowsheet block.\n", + "- Add the liquid-liquid extractor to the flowsheet block.\n", + "- Fix variable to make it a square problem\n", + "- Run an initialization process.\n", + "- Solve the flowsheet.\n", + "\n", + "Following these steps, we've built a basic flowsheet using Pyomo. For more details, refer to the [documentation](../../flowsheets/hda_flowsheet_with_distillation_test.ipynb).\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "import pyomo.environ as pyo\n", + "from idaes.core import FlowsheetBlock\n", + "\n", + "from idaes.core.initialization.block_triangularization import (\n", + " BlockTriangularizationInitializer,\n", + ")\n", + "from liquid_extraction.organic_property import OrgPhase\n", + "from liquid_extraction.aqueous_property import AqPhase\n", + "from liquid_extraction.liquid_liquid_extractor import LiqExtraction\n", + "\n", + "\n", + "def build_model():\n", + " m = pyo.ConcreteModel()\n", + " m.fs = FlowsheetBlock(dynamic=False)\n", + " m.fs.org_properties = OrgPhase()\n", + " m.fs.aq_properties = AqPhase()\n", + "\n", + " m.fs.lex = LiqExtraction(\n", + " dynamic=False,\n", + " has_pressure_change=False,\n", + " organic_property_package=m.fs.org_properties,\n", + " aqueous_property_package=m.fs.aq_properties,\n", + " )\n", + " return m\n", + "\n", + "\n", + "def fix_state_variables(m):\n", + " m.fs.lex.organic_inlet.flow_vol.fix(80 * pyo.units.L / pyo.units.hour)\n", + " m.fs.lex.organic_inlet.temperature.fix(300 * pyo.units.K)\n", + " m.fs.lex.organic_inlet.pressure.fix(1 * pyo.units.atm)\n", + " m.fs.lex.organic_inlet.conc_mass_comp[0, \"NaCl\"].fix(\n", + " 1e-5 * pyo.units.g / pyo.units.L\n", + " )\n", + " m.fs.lex.organic_inlet.conc_mass_comp[0, \"KNO3\"].fix(\n", + " 1e-5 * pyo.units.g / pyo.units.L\n", + " )\n", + " m.fs.lex.organic_inlet.conc_mass_comp[0, \"CaSO4\"].fix(\n", + " 1e-5 * pyo.units.g / pyo.units.L\n", + " )\n", + "\n", + " m.fs.lex.aqueous_inlet.flow_vol.fix(100 * pyo.units.L / pyo.units.hour)\n", + " m.fs.lex.aqueous_inlet.temperature.fix(300 * pyo.units.K)\n", + " m.fs.lex.aqueous_inlet.pressure.fix(1 * pyo.units.atm)\n", + " m.fs.lex.aqueous_inlet.conc_mass_comp[0, \"NaCl\"].fix(\n", + " 0.15 * pyo.units.g / pyo.units.L\n", + " )\n", + " m.fs.lex.aqueous_inlet.conc_mass_comp[0, \"KNO3\"].fix(\n", + " 0.2 * pyo.units.g / pyo.units.L\n", + " )\n", + " m.fs.lex.aqueous_inlet.conc_mass_comp[0, \"CaSO4\"].fix(\n", + " 0.1 * pyo.units.g / pyo.units.L\n", + " )\n", + "\n", + " return m\n", + "\n", + "\n", + "def initialize_model(m):\n", + " initializer = BlockTriangularizationInitializer()\n", + " initializer.initialize(m.fs.lex)\n", + " return m\n", + "\n", + "\n", + "def main():\n", + " m = build_model()\n", + " m = fix_state_variables(m)\n", + " m = initialize_model(m)\n", + " return m\n", + "\n", + "\n", + "if __name__ == main:\n", + " main()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 4. Model Diagnostics using DiagnosticsToolbox\n", + "\n", + "Here, during initialization, we encounter warnings indicating that variables are being set to negative values, which is not expected behavior. These warnings suggest that there may be flaws in the model that require further investigation using the DiagnosticsToolbox from IDAES. A detailed notebook on using `DiagnosticsToolbox` can be found [here](../../diagnostics/degeneracy_hunter_test.ipynb).\n", + "\n", + "To proceed with investigating these issues, we need to import the DiagnosticsToolbox. We can gain a better understanding of its functionality by running the help function on it. " + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core.util import DiagnosticsToolbox" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The help() function provides comprehensive information on the DiagnosticsToolbox and all its supported methods. However, it's essential to focus on the initial steps outlined at the beginning of the docstring to get started effectively.\n", + "\n", + "Here's a breakdown of the steps to start with:\n", + "\n", + "- `Instantiate Model:` Ensure you have an instance of the model with degrees of freedom equal to 0.\n", + "\n", + "- `Create DiagnosticsToolbox Instance:` Next, instantiate a DiagnosticsToolbox object.\n", + "\n", + "- `Provide Model to DiagnosticsToolbox:` Pass the model instance to the DiagnosticsToolbox.\n", + "\n", + "- `Call report_structural_issues() Function:` Finally, call the report_structural_issues() function. This function will highlight any warnings in the model's structure, such as unit inconsistencies or other issues related to variables in the caution section.\n", + "\n", + "By following these steps, you can efficiently utilize the DiagnosticsToolbox to identify and address any structural issues or warnings in your model." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "m = main()\n", + "dt = DiagnosticsToolbox(m)\n", + "dt.report_structural_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Although no warnings were reported, it's important to note that there are 3 variables fixed to 0 and 10 unused variables, out of which 4 are fixed. As indicated in the output, the next step is to solve the model. After solving, you should call the report_numerical_issues() function. This function will help identify any numerical issues that may arise during the solution process." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "solver = pyo.SolverFactory(\"ipopt\")\n", + "solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The model is probably infeasible, indicating numerical issues with the model. We should call the `report_numerical_issues()` function and check the constraints/variables causing this issue. " + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "dt.report_numerical_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this scenario, it's observed that the condition number of the Jacobian is high, indicating that the Jacobian is ill-conditioned. Additionally, there are 2 warnings related to constraints with large residuals and variables at or outside the bounds. The cautions mentioned in the output are also related to these warnings.\n", + "\n", + "As suggested, the next steps would be to:\n", + "\n", + "- Call the `display_variables_at_or_outside_bounds()` function to investigate variables at or outside the bounds.\n", + "\n", + "- Call the `display_constraints_with_large_residuals()` function to examine constraints with large residuals.\n", + "\n", + "These steps will help identify the underlying causes of the numerical issues and constraints violations, allowing for further analysis and potential resolution. " + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "dt.display_variables_at_or_outside_bounds()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this scenario, there are a couple of issues to address:\n", + "\n", + "- The pressure variable is fixed to 1, which is its lower bound. This could potentially lead to numerical issues, although it may not affect the model significantly since there is no pressure change in the model. To mitigate this, consider adjusting the lower bound of the pressure variable to avoid having its value at or outside the bounds.\n", + "\n", + "- The more concerning issue is with the `conc_mass_comp` variable attempting to go below 0 in the output. This suggests that there may be constraints involving `conc_mass_comp` in the aqueous phase causing this behavior. To investigate further, it's recommended to call the `display_constraints_with_large_residuals()` function. This will provide insights into whether constraints involving `conc_mass_comp` are contributing to the convergence issue." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "dt.display_constraints_with_large_residuals()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As expected there are convergence issues with the constraints which have `conc_mass_comp` variable in them specifically in the aqueous phase. Now, let us investigate further by printing this constraints and checking the value of each term. Since this is an persistent issue across the components, we can focus on just one of the component to identify the issue. " + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.lex.aqueous_phase.material_balances[0.0, \"NaCl\"].pprint()" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.lex.aqueous_phase.properties_in[0.0].conc_mass_comp[\"NaCl\"].pprint()\n", + "m.fs.lex.aqueous_phase.properties_in[0.0].flow_vol.pprint()\n", + "m.fs.lex.aqueous_phase.properties_out[0.0].conc_mass_comp[\"NaCl\"].pprint()\n", + "m.fs.lex.aqueous_phase.properties_out[0.0].flow_vol.pprint()\n", + "m.fs.lex.aqueous_phase.mass_transfer_term[0.0, \"Aq\", \"NaCl\"].pprint()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It seems there is a discrepancy between the mass transfer term and the amount of input of NaCl. This can be inferred from the values where the input equals 15g/h and the `mass_transfer_term` equals -31.706g/h.\n", + "\n", + "To further investigate this issue, it's advisable to examine the `material_aq_balance` constraint within the unit model where the `mass_transfer_term` is defined. By printing out this constraint and analyzing its components, you can gain a better understanding of the discrepancy and take appropriate corrective actions." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.lex.material_aq_balance[0.0, \"NaCl\"].pprint()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here the problem can be tracked down easily as there being a typing error while recording the distribution factor. The distribution factor here was wrongly written ignoring its magnitude which should have been 1e-2, but that was missed, thus adjusting the distribution factor parameter we should have this issue resolved. " + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.org_properties.diffusion_factor[\"NaCl\"] = (\n", + " m.fs.org_properties.diffusion_factor[\"NaCl\"] / 100\n", + ")\n", + "m.fs.org_properties.diffusion_factor[\"KNO3\"] = (\n", + " m.fs.org_properties.diffusion_factor[\"KNO3\"] / 100\n", + ")\n", + "m.fs.org_properties.diffusion_factor[\"CaSO4\"] = (\n", + " m.fs.org_properties.diffusion_factor[\"CaSO4\"] / 100\n", + ")\n", + "\n", + "m.fs.lex.organic_phase.properties_in[0.0].pressure.setlb(0.5)\n", + "m.fs.lex.organic_phase.properties_out[0.0].pressure.setlb(0.5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "After the corrective actions, we should check if this has made any structural issues, for this we would call `report_structural_issues()`" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "dt.report_structural_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now since there are no warnings we can go ahead and solve the model and see if the results are optimal. " + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is a good sign that the model solved optimally and a solution was found. \n", + "\n", + "**NOTE:** It is a good practice to run the model through DiagnosticsToolbox regardless of the solver termination status. \n", + "\n", + "The next section we shall focus on testing the unit model. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 5. Testing\n", + "\n", + "Testing is a crucial part of model development to ensure that the model works as expected, and remains reliable. Here's an overview of why we conduct testing:\n", + "\n", + "1. `Verify Correctness`: Testing ensures that the model works as expected and meets the specified requirements. \n", + "2. `Detect Bugs and Issues`: Testing helps in identifying bugs, errors, or unexpected behaviors in the code or model, allowing for timely fixes.\n", + "3. `Ensure Reliability`: Testing improves the reliability and robustness of the software, reducing the risk of failures when the user uses it.\n", + "4. `Support Changes`: Tests provide confidence when making changes or adding new features, ensuring that existing functionalities are not affected and work as they should.\n", + "\n", + "There are typically 3 types of tests:\n", + "\n", + "1. `Unit tests`: Test runs quickly (under 2 seconds) and has no network/system dependencies. Uses only libraries installed by default with the software\n", + "2. `Component test`: Test may run more slowly (under 10 seconds, or so), e.g. it may run a solver or create a bunch of files. Like unit tests, it still shouldn't depend on special libraries or dependencies.\n", + "3. `Integration test`: Test may take a long time to run, and may have complex dependencies.\n", + "\n", + "The expectation is that unit tests should be run by developers rather frequently, component tests should be run by the continuous integration system before running code, and integration tests are run across the codebase regularly, but infrequently (e.g. daily).\n", + "\n", + "\n", + "As a developer, testing is a crucial aspect of ensuring the reliability and correctness of the unit model. The testing process involves both Unit tests and Component tests, and pytest is used as the testing framework. A typical test is marked with @pytest.mark.level, where the level indicates the depth or specificity of the testing. This is written in a file usually named as test_*.py or *_test.py. The test files have functions written in them with the appropriate level of test being conducted. \n", + "\n", + "For more detailed information on testing methodologies and procedures, developers are encouraged to refer to [this resource](https://idaes-pse.readthedocs.io/en/stable/reference_guides/developer/testing.html). The resource provides comprehensive guidance on the testing process and ensures that the unit model meets the required standards and functionality.\n", + "\n", + "## 5.1 Property package\n", + "### Unit Tests\n", + "\n", + "When writing tests for the Aqueous property phase package, it's essential to focus on key aspects to ensure the correctness and robustness of the implementation. Here are the areas to cover in the unit tests:\n", + "\n", + "1. Number of Config Dictionaries: Verify that the property phase package has the expected number of configuration dictionaries.\n", + "\n", + "2. State Block Class Name: Confirm that the correct state block class is associated with the Aqueous property phase package.\n", + "\n", + "3. Number of Phases: Check that the Aqueous property phase package defines the expected number of phases.\n", + "\n", + "4. Components in the Phase and Physical Parameter Values: Test that the components present in the Aqueous phase match the anticipated list. Additionally, validate that the physical parameter values (such as density, viscosity, etc.) are correctly defined.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "import pytest\n", + "from pyomo.environ import ConcreteModel, Param, value, Var\n", + "from pyomo.util.check_units import assert_units_consistent\n", + "from idaes.core import MaterialBalanceType, EnergyBalanceType\n", + "\n", + "from liquid_extraction.organic_property import OrgPhase\n", + "from liquid_extraction.aqueous_property import AqPhase\n", + "from liquid_extraction.liquid_liquid_extractor import LiqExtraction\n", + "from idaes.core.solvers import get_solver\n", + "\n", + "solver = get_solver()\n", + "\n", + "\n", + "class TestParamBlock(object):\n", + " @pytest.fixture(scope=\"class\")\n", + " def model(self):\n", + " model = ConcreteModel()\n", + " model.params = AqPhase()\n", + " return model\n", + "\n", + " @pytest.mark.unit\n", + " def test_config(self, model):\n", + " assert len(model.params.config) == 1\n", + "\n", + " @pytest.mark.unit\n", + " def test_build(self, model):\n", + " assert len(model.params.phase_list) == 1\n", + " for i in model.params.phase_list:\n", + " assert i == \"Aq\"\n", + "\n", + " assert len(model.params.component_list) == 4\n", + " for i in model.params.component_list:\n", + " assert i in [\"H2O\", \"NaCl\", \"KNO3\", \"CaSO4\"]\n", + "\n", + " assert isinstance(model.params.cp_mass, Param)\n", + " assert value(model.params.cp_mass) == 4182\n", + "\n", + " assert isinstance(model.params.dens_mass, Param)\n", + " assert value(model.params.dens_mass) == 997\n", + "\n", + " assert isinstance(model.params.temperature_ref, Param)\n", + " assert value(model.params.temperature_ref) == 298.15" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The next set of unit tests focuses on testing the build function in the state block. Here are the key aspects to cover in these tests:\n", + "\n", + "1. Existence and Initialized Values of State Variables: Verify that the state variables are correctly defined and initialized within the state block. This ensures that the state block is properly constructed and ready for initialization.\n", + "\n", + "2. Initialization Function Test: Check that state variables are not fixed before initialization and are released after initialization. This test ensures that the initialization process occurs as expected and that the state variables are appropriately managed throughout.\n", + "\n", + "These unit tests provide comprehensive coverage for validating the functionality and behavior of the state block in the aqueous property phase package. Similar tests can be written for the organic property package to ensure consistency and reliability across both packages." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "class TestStateBlock(object):\n", + " @pytest.fixture(scope=\"class\")\n", + " def model(self):\n", + " model = ConcreteModel()\n", + " model.params = AqPhase()\n", + "\n", + " model.props = model.params.build_state_block([1])\n", + "\n", + " return model\n", + "\n", + " @pytest.mark.unit\n", + " def test_build(self, model):\n", + " assert isinstance(model.props[1].flow_vol, Var)\n", + " assert value(model.props[1].flow_vol) == 1\n", + "\n", + " assert isinstance(model.props[1].temperature, Var)\n", + " assert value(model.props[1].temperature) == 300\n", + "\n", + " assert isinstance(model.props[1].conc_mass_comp, Var)\n", + " assert len(model.props[1].conc_mass_comp) == 3\n", + "\n", + " @pytest.mark.unit\n", + " def test_initialize(self, model):\n", + " assert not model.props[1].flow_vol.fixed\n", + " assert not model.props[1].temperature.fixed\n", + " assert not model.props[1].pressure.fixed\n", + " for i in model.props[1].conc_mass_comp:\n", + " assert not model.props[1].conc_mass_comp[i].fixed\n", + "\n", + " model.props.initialize(hold_state=False, outlvl=1)\n", + "\n", + " assert not model.props[1].flow_vol.fixed\n", + " assert not model.props[1].temperature.fixed\n", + " assert not model.props[1].pressure.fixed\n", + " for i in model.props[1].conc_mass_comp:\n", + " assert not model.props[1].conc_mass_comp[i].fixed" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Component Tests\n", + "In the component test, we aim to ensure unit consistency across the entire property package. Unlike unit tests that focus on individual functions, component tests assess the coherence and consistency of the entire package. Here's what the component test will entail:\n", + "\n", + "Unit Consistency Check: Verify that all units used within the property package are consistent throughout. This involves checking that all parameters, variables, and equations within the package adhere to the same unit system, ensuring compatibility.\n", + "\n", + "By conducting a comprehensive component test, we can ensure that the property package functions as a cohesive unit, maintaining consistency and reliability across its entirety. This concludes our tests on the property package. Next we shall test the unit model. " + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "@pytest.mark.component\n", + "def check_units(model):\n", + " model = ConcreteModel()\n", + " model.params = AqPhase()\n", + " assert_units_consistent(model)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 5.2 Unit Model\n", + "### Unit tests\n", + "Unit tests for the unit model encompass verifying the configuration arguments and the build function, similar to the approach taken for the property package. When testing the config arguments, we ensure that the correct number of arguments is provided and then match each argument with the expected one. This ensures that the unit model is properly configured and ready to operate as intended." + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "import pytest\n", + "\n", + "from idaes.core import FlowsheetBlock\n", + "import idaes.models.unit_models\n", + "from idaes.core.solvers import get_solver\n", + "import idaes.logger as idaeslog\n", + "\n", + "\n", + "from pyomo.environ import value, check_optimal_termination, units\n", + "from pyomo.util.check_units import assert_units_consistent\n", + "from idaes.core.util.model_statistics import (\n", + " number_variables,\n", + " number_total_constraints,\n", + ")\n", + "from idaes.core.solvers import get_solver\n", + "from idaes.core.initialization import (\n", + " SingleControlVolumeUnitInitializer,\n", + ")\n", + "\n", + "solver = get_solver()\n", + "\n", + "\n", + "@pytest.mark.unit\n", + "def test_config():\n", + " m = ConcreteModel()\n", + " m.fs = FlowsheetBlock(dynamic=False)\n", + " m.fs.org_properties = OrgPhase()\n", + " m.fs.aq_properties = AqPhase()\n", + "\n", + " m.fs.unit = LiqExtraction(\n", + " dynamic=False,\n", + " has_pressure_change=False,\n", + " organic_property_package=m.fs.org_properties,\n", + " aqueous_property_package=m.fs.aq_properties,\n", + " )\n", + "\n", + " # Check unit config arguments\n", + " assert len(m.fs.unit.config) == 9\n", + "\n", + " # Check for config arguments\n", + " assert m.fs.unit.config.material_balance_type == MaterialBalanceType.useDefault\n", + " assert not m.fs.unit.config.has_pressure_change\n", + " assert not m.fs.unit.config.has_phase_equilibrium\n", + " assert m.fs.unit.config.organic_property_package is m.fs.org_properties\n", + " assert m.fs.unit.config.aqueous_property_package is m.fs.aq_properties\n", + "\n", + " # Check for unit initializer\n", + " assert m.fs.unit.default_initializer is SingleControlVolumeUnitInitializer" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In testing the build function, we verify whether the number of variables aligns with the intended values and also check for the existence of desired constraints within the unit model. This ensures that the unit model is constructed accurately and includes all the necessary variables and constraints required for its proper functioning." + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "class TestBuild(object):\n", + " @pytest.fixture(scope=\"class\")\n", + " def model(self):\n", + " m = ConcreteModel()\n", + " m.fs = FlowsheetBlock(dynamic=False)\n", + " m.fs.org_properties = OrgPhase()\n", + " m.fs.aq_properties = AqPhase()\n", + "\n", + " m.fs.unit = LiqExtraction(\n", + " dynamic=False,\n", + " has_pressure_change=False,\n", + " organic_property_package=m.fs.org_properties,\n", + " aqueous_property_package=m.fs.aq_properties,\n", + " )\n", + "\n", + " m.fs.unit.organic_inlet.flow_vol.fix(80 * units.l / units.h)\n", + " m.fs.unit.organic_inlet.temperature.fix(300 * units.K)\n", + " m.fs.unit.organic_inlet.pressure.fix(1 * units.atm)\n", + " m.fs.unit.organic_inlet.conc_mass_comp[0, \"NaCl\"].fix(0 * units.g / units.l)\n", + " m.fs.unit.organic_inlet.conc_mass_comp[0, \"KNO3\"].fix(0 * units.g / units.l)\n", + " m.fs.unit.organic_inlet.conc_mass_comp[0, \"CaSO4\"].fix(0 * units.g / units.l)\n", + "\n", + " m.fs.unit.aqueous_inlet.flow_vol.fix(10 * units.l / units.h)\n", + " m.fs.unit.aqueous_inlet.temperature.fix(300 * units.K)\n", + " m.fs.unit.aqueous_inlet.pressure.fix(1 * units.atm)\n", + " m.fs.unit.aqueous_inlet.conc_mass_comp[0, \"NaCl\"].fix(0.15 * units.g / units.l)\n", + " m.fs.unit.aqueous_inlet.conc_mass_comp[0, \"KNO3\"].fix(0.2 * units.g / units.l)\n", + " m.fs.unit.aqueous_inlet.conc_mass_comp[0, \"CaSO4\"].fix(0.1 * units.g / units.l)\n", + "\n", + " return m\n", + "\n", + " @pytest.mark.build\n", + " @pytest.mark.unit\n", + " def test_build(self, model):\n", + "\n", + " assert hasattr(model.fs.unit, \"aqueous_inlet\")\n", + " assert len(model.fs.unit.aqueous_inlet.vars) == 4\n", + " assert hasattr(model.fs.unit.aqueous_inlet, \"flow_vol\")\n", + " assert hasattr(model.fs.unit.aqueous_inlet, \"conc_mass_comp\")\n", + " assert hasattr(model.fs.unit.aqueous_inlet, \"temperature\")\n", + " assert hasattr(model.fs.unit.aqueous_inlet, \"pressure\")\n", + "\n", + " assert hasattr(model.fs.unit, \"organic_inlet\")\n", + " assert len(model.fs.unit.organic_inlet.vars) == 4\n", + " assert hasattr(model.fs.unit.organic_inlet, \"flow_vol\")\n", + " assert hasattr(model.fs.unit.organic_inlet, \"conc_mass_comp\")\n", + " assert hasattr(model.fs.unit.organic_inlet, \"temperature\")\n", + " assert hasattr(model.fs.unit.organic_inlet, \"pressure\")\n", + "\n", + " assert hasattr(model.fs.unit, \"aqueous_outlet\")\n", + " assert len(model.fs.unit.aqueous_outlet.vars) == 4\n", + " assert hasattr(model.fs.unit.aqueous_outlet, \"flow_vol\")\n", + " assert hasattr(model.fs.unit.aqueous_outlet, \"conc_mass_comp\")\n", + " assert hasattr(model.fs.unit.aqueous_outlet, \"temperature\")\n", + " assert hasattr(model.fs.unit.aqueous_outlet, \"pressure\")\n", + "\n", + " assert hasattr(model.fs.unit, \"organic_outlet\")\n", + " assert len(model.fs.unit.organic_outlet.vars) == 4\n", + " assert hasattr(model.fs.unit.organic_outlet, \"flow_vol\")\n", + " assert hasattr(model.fs.unit.organic_outlet, \"conc_mass_comp\")\n", + " assert hasattr(model.fs.unit.organic_outlet, \"temperature\")\n", + " assert hasattr(model.fs.unit.organic_outlet, \"pressure\")\n", + "\n", + " assert hasattr(model.fs.unit, \"material_aq_balance\")\n", + " assert hasattr(model.fs.unit, \"material_org_balance\")\n", + "\n", + " assert number_variables(model) == 34\n", + " assert number_total_constraints(model) == 16" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Component tests\n", + "\n", + "During the component tests, we evaluate the performance of the unit model when integrated with the property package. This evaluation process typically involves several steps:\n", + "\n", + "1. Unit Consistency Check: Verify that the unit model maintains consistency in its units throughout the model. This ensures that all variables and constraints within the model adhere to the same unit system, guaranteeing compatibility.\n", + "\n", + "2. Termination Condition Verification: This involves checking whether the model terminates optimally with the given inlet conditions.\n", + "\n", + "3. Variable Value Assessment: Check the values of outlet variables against the expected values. To account for the numerical tolerance of the solvers, the values are compared using the approx function with a relative tolerance.\n", + "\n", + "4. Input Variable Stability Test: Verify that input variables, which should remain fixed during model operation, are not inadvertently unfixed or altered.\n", + "\n", + "5. Structural Issues: Verify that there are no structural issues with the model. \n", + "\n", + "By performing these checks, we conclude the testing for the unit model. " + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "class TestFlowsheet:\n", + " @pytest.fixture\n", + " def model(self):\n", + " m = ConcreteModel()\n", + " m.fs = idaes.core.FlowsheetBlock(dynamic=False)\n", + " m.fs.org_properties = OrgPhase()\n", + " m.fs.aq_properties = AqPhase()\n", + "\n", + " m.fs.unit = LiqExtraction(\n", + " dynamic=False,\n", + " has_pressure_change=False,\n", + " organic_property_package=m.fs.org_properties,\n", + " aqueous_property_package=m.fs.aq_properties,\n", + " )\n", + " m.fs.org_properties.diffusion_factor[\"NaCl\"] = (\n", + " m.fs.org_properties.diffusion_factor[\"NaCl\"] / 100\n", + " )\n", + " m.fs.org_properties.diffusion_factor[\"KNO3\"] = (\n", + " m.fs.org_properties.diffusion_factor[\"KNO3\"] / 100\n", + " )\n", + " m.fs.org_properties.diffusion_factor[\"CaSO4\"] = (\n", + " m.fs.org_properties.diffusion_factor[\"CaSO4\"] / 100\n", + " )\n", + "\n", + " m.fs.unit.organic_inlet.flow_vol.fix(80 * units.ml / units.min)\n", + " m.fs.unit.organic_inlet.temperature.fix(300 * units.K)\n", + " m.fs.unit.organic_inlet.pressure.fix(1 * units.atm)\n", + " m.fs.unit.organic_inlet.conc_mass_comp[0, \"NaCl\"].fix(0 * units.g / units.kg)\n", + " m.fs.unit.organic_inlet.conc_mass_comp[0, \"KNO3\"].fix(0 * units.g / units.kg)\n", + " m.fs.unit.organic_inlet.conc_mass_comp[0, \"CaSO4\"].fix(0 * units.g / units.kg)\n", + "\n", + " m.fs.unit.aqueous_inlet.flow_vol.fix(10 * units.ml / units.min)\n", + " m.fs.unit.aqueous_inlet.temperature.fix(300 * units.K)\n", + " m.fs.unit.aqueous_inlet.pressure.fix(1 * units.atm)\n", + " m.fs.unit.aqueous_inlet.conc_mass_comp[0, \"NaCl\"].fix(0.15 * units.g / units.kg)\n", + " m.fs.unit.aqueous_inlet.conc_mass_comp[0, \"KNO3\"].fix(0.2 * units.g / units.kg)\n", + " m.fs.unit.aqueous_inlet.conc_mass_comp[0, \"CaSO4\"].fix(0.1 * units.g / units.kg)\n", + "\n", + " return m\n", + "\n", + " @pytest.mark.component\n", + " def test_unit_model(self, model):\n", + " assert_units_consistent(model)\n", + " solver = get_solver()\n", + " results = solver.solve(model, tee=False)\n", + "\n", + " # Check for optimal termination\n", + " assert check_optimal_termination(results)\n", + "\n", + " # Checking for outlet flows\n", + " assert value(model.fs.unit.organic_outlet.flow_vol[0]) == pytest.approx(\n", + " 80.0, rel=1e-5\n", + " )\n", + " assert value(model.fs.unit.aqueous_outlet.flow_vol[0]) == pytest.approx(\n", + " 10.0, rel=1e-5\n", + " )\n", + "\n", + " # Checking for outlet mass_comp\n", + " assert value(\n", + " model.fs.unit.organic_outlet.conc_mass_comp[0, \"CaSO4\"]\n", + " ) == pytest.approx(0.000187499, rel=1e-5)\n", + " assert value(\n", + " model.fs.unit.organic_outlet.conc_mass_comp[0, \"KNO3\"]\n", + " ) == pytest.approx(0.000749999, rel=1e-5)\n", + " assert value(\n", + " model.fs.unit.organic_outlet.conc_mass_comp[0, \"NaCl\"]\n", + " ) == pytest.approx(0.000403124, rel=1e-5)\n", + " assert value(\n", + " model.fs.unit.aqueous_outlet.conc_mass_comp[0, \"CaSO4\"]\n", + " ) == pytest.approx(0.0985, rel=1e-5)\n", + " assert value(\n", + " model.fs.unit.aqueous_outlet.conc_mass_comp[0, \"KNO3\"]\n", + " ) == pytest.approx(0.194, rel=1e-5)\n", + " assert value(\n", + " model.fs.unit.aqueous_outlet.conc_mass_comp[0, \"NaCl\"]\n", + " ) == pytest.approx(0.146775, rel=1e-5)\n", + "\n", + " # Checking for outlet temperature\n", + " assert value(model.fs.unit.organic_outlet.temperature[0]) == pytest.approx(\n", + " 300, rel=1e-5\n", + " )\n", + " assert value(model.fs.unit.aqueous_outlet.temperature[0]) == pytest.approx(\n", + " 300, rel=1e-5\n", + " )\n", + "\n", + " # Checking for outlet pressure\n", + " assert value(model.fs.unit.organic_outlet.pressure[0]) == pytest.approx(\n", + " 1, rel=1e-5\n", + " )\n", + " assert value(model.fs.unit.aqueous_outlet.pressure[0]) == pytest.approx(\n", + " 1, rel=1e-5\n", + " )\n", + "\n", + " # Fixed state variables\n", + " assert model.fs.unit.organic_inlet.flow_vol[0].fixed\n", + " assert model.fs.unit.organic_inlet.conc_mass_comp[0, \"NaCl\"].fixed\n", + " assert model.fs.unit.organic_inlet.conc_mass_comp[0, \"KNO3\"].fixed\n", + " assert model.fs.unit.organic_inlet.conc_mass_comp[0, \"CaSO4\"].fixed\n", + " assert model.fs.unit.organic_inlet.temperature[0].fixed\n", + " assert model.fs.unit.organic_inlet.pressure[0].fixed\n", + "\n", + " assert model.fs.unit.aqueous_inlet.flow_vol[0].fixed\n", + " assert model.fs.unit.aqueous_inlet.conc_mass_comp[0, \"NaCl\"].fixed\n", + " assert model.fs.unit.aqueous_inlet.conc_mass_comp[0, \"KNO3\"].fixed\n", + " assert model.fs.unit.aqueous_inlet.conc_mass_comp[0, \"CaSO4\"].fixed\n", + " assert model.fs.unit.aqueous_inlet.temperature[0].fixed\n", + " assert model.fs.unit.aqueous_inlet.pressure[0].fixed\n", + "\n", + " @pytest.mark.component\n", + " def test_structural_issues(self, model):\n", + " dt = DiagnosticsToolbox(model)\n", + " dt.assert_no_structural_warnings()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this tutorial, we have covered the comprehensive process of creating a custom unit model from scratch. Let's recap the key steps we have undertaken:\n", + "\n", + "- Developing property package\n", + "- Constructing the unit model \n", + "- Creating a Flowsheet\n", + "- Debugging the model using DiagnosticsToolbox\n", + "- Writing tests for the unit model\n", + "\n", + "By following the aforementioned procedure, one can create their own custom unit model. This concludes the tutorial on creating a custom unit model. " + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "idaes-pse", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 3 +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/creating_unit_model_usr.ipynb b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/creating_unit_model_usr.ipynb index 211052dd..bb59f007 100644 --- a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/creating_unit_model_usr.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/creating_unit_model_usr.ipynb @@ -1,2245 +1,1891 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Creating Custom Unit Model\n", - "Author: Javal Vyas \n", - "Maintainer: Javal Vyas \n", - "Updated: 2023-02-20\n", - "\n", - "This tutorial is a comprehensive step-wise procedure to build a custom unit model from scratch. This tutorial will include creating a property package, a custom unit model and testing them. For this tutorial we shall create a custom unit model for Liquid - Liquid Extraction. \n", - "\n", - "The Liquid - Liquid Extractor model contains two immiscible fluids forming the two phases. One of the phases, say phase_1 has a high concentration of solutes which is to be separated. A mass transfer happens between the two phases and the solute is transferred from phase_1 to phase_2. This mass transfer is governed by a parameter called the distribution coefficient.\n", - "\n", - "After reviewing the working principles of the Liquid - Liquid Extractor, we shall proceed to create a custom unit model. We will require a property package for each phase, a custom unit model class and tests for the model and property packages.\n", - "\n", - "Before commencing the development of the model, we need to state some assumptions which the following unit model will be using. \n", - "- Steady-state only\n", - "- Organic phase property package has a single phase named Org\n", - "- Aqueous phase property package has a single phase named Aq\n", - "- Organic and Aqueous phase properties need not have the same component list. \n", - "\n", - "Thus as per the assumptions, we will be creating one property package for the aqueous phase (Aq), and the other for the Organic phase (Org). " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 1. Creating Organic Property Package\n", - "\n", - "Creating a property package is a 4 step process\n", - "- Import necessary libraries \n", - "- Creating Physical Parameter Data Block\n", - "- Define State Block\n", - "- Define State Block Data\n", - "\n", - "# 1.1 Importing necessary packages \n", - "Let us begin with the importing the necessary libraries where we will be using functionalities from IDAES and Pyomo. " - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "# Import Python libraries\n", - "import logging\n", - "\n", - "import idaes.logger as idaeslog\n", - "from idaes.core.util.initialization import fix_state_vars\n", - "\n", - "# Import Pyomo libraries\n", - "from pyomo.environ import (\n", - " Param,\n", - " Set,\n", - " Var,\n", - " NonNegativeReals,\n", - " units,\n", - " Expression,\n", - " PositiveReals,\n", - ")\n", - "\n", - "# Import IDAES cores\n", - "from idaes.core import (\n", - " declare_process_block_class,\n", - " MaterialFlowBasis,\n", - " PhysicalParameterBlock,\n", - " StateBlockData,\n", - " StateBlock,\n", - " MaterialBalanceType,\n", - " EnergyBalanceType,\n", - " Solute,\n", - " Solvent,\n", - " LiquidPhase,\n", - ")\n", - "from idaes.core.util.model_statistics import degrees_of_freedom" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 1.2 Physical Parameter Data Block\n", - "\n", - "A `PhysicalParameterBlock` serves as the central point of reference for all aspects of the property package and needs to define several things about the package. These are summarized below:\n", - "\n", - "- Units of measurement\n", - "- What properties are supported and how they are implemented\n", - "- What components and phases are included in the packages\n", - "- All the global parameters necessary for calculating properties\n", - "- A reference to the associated State Block class, so that construction of the State Block components can be automated from the Physical Parameter Block\n", - "\n", - "To construct this block, we begin by declaring a process block class using a Python decorator. One can learn more about `declare_process_block_class` [here](https://github.com/IDAES/idaes-pse/blob/eea1209077b75f7d940d8958362e69d4650c079d/idaes/core/base/process_block.py#L173). After constructing the process block, we define a build function which contains all the components that the property package would have. `super` function here is used to give access to methods and properties of a parent or sibling class and since this is used on the class `PhysicalParameterData` class, build has access to all the parent and sibling class methods. \n", - "\n", - "The `PhysicalParameterBlock` then refers to the `state block`, in this case `OrgPhaseStateBlock` (which will be declared later), so that we can build a state block instance by only knowing the `PhysicalParameterBlock` we wish to use. Then we move on to list the number of phases in this property package. Then we assign the variable to the phase which follows a naming convention. Like here since the solvent is in the Organic phase, we will assign the Phase as OrganicPhase and the variable will be named Org as per the naming convention. The details of naming conventions can be found [here](https://github.com/IDAES/idaes-pse/blob/main/docs/explanations/conventions.rst). We will be following the same convention throughout the example. \n", - " \n", - "After defining the list of the phases, we move on to list the components and their type in the phase. It can be a solute or a solvent in the Organic phase. Thus, we define the component and assign it to either being a solute or a solvent. In this case, the salts are the solutes and Ethylene dibromide is the solvent. Next, we define the physical properties involved in the package, like the heat capacity and density of the solvent, the reference temperature, and the distribution factor that would govern the mass transfer from one phase into another. Additionally, a parameter, the `diffusion_factor`, is introduced. This factor plays a crucial role in governing mass transfer between phases, necessitating its definition within the state block.\n", - "\n", - "The final step in creating the Physical Parameter Block is to declare a `classmethod` named `define_metadata`, which takes two arguments: a class (cls) and an instance of that class (obj). In this method, we will call the predefined method `add_default_units()`.\n", - "\n", - "- `obj.add_default_units()` sets the default units metadata for the property package, and here we define units to be used with this property package as default. " - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "@declare_process_block_class(\"OrgPhase\")\n", - "class PhysicalParameterData(PhysicalParameterBlock):\n", - " \"\"\"\n", - " Property Parameter Block Class\n", - "\n", - " Contains parameters and indexing sets associated with properties for\n", - " organic Phase\n", - "\n", - " \"\"\"\n", - "\n", - " def build(self):\n", - " \"\"\"\n", - " Callable method for Block construction.\n", - " \"\"\"\n", - " super().build()\n", - "\n", - " self._state_block_class = OrgPhaseStateBlock\n", - "\n", - " # List of valid phases in property package\n", - " self.Org = LiquidPhase()\n", - "\n", - " # Component list - a list of component identifiers\n", - " self.NaCl = Solute()\n", - " self.KNO3 = Solute()\n", - " self.CaSO4 = Solute()\n", - " self.solvent = (\n", - " Solvent()\n", - " ) # Solvent used here is ethylene dibromide (Organic Polar)\n", - "\n", - " # Heat capacity of solvent\n", - " self.cp_mass = Param(\n", - " mutable=True,\n", - " initialize=717.01,\n", - " doc=\"Specific heat capacity of solvent\",\n", - " units=units.J / units.kg / units.K,\n", - " )\n", - "\n", - " self.dens_mass = Param(\n", - " mutable=True,\n", - " initialize=2170,\n", - " doc=\"Density of ethylene dibromide\",\n", - " units=units.kg / units.m**3,\n", - " )\n", - " self.temperature_ref = Param(\n", - " within=PositiveReals,\n", - " mutable=True,\n", - " default=298.15,\n", - " doc=\"Reference temperature\",\n", - " units=units.K,\n", - " )\n", - " self.diffusion_factor = Param(\n", - " self.solute_set,\n", - " initialize={\"NaCl\": 2.15, \"KNO3\": 3, \"CaSO4\": 1.5},\n", - " within=PositiveReals,\n", - " mutable=True,\n", - " )\n", - "\n", - " @classmethod\n", - " def define_metadata(cls, obj):\n", - " obj.add_default_units(\n", - " {\n", - " \"time\": units.hour,\n", - " \"length\": units.m,\n", - " \"mass\": units.g,\n", - " \"amount\": units.mol,\n", - " \"temperature\": units.K,\n", - " }\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 1.3 State Block\n", - "\n", - "After the `PhysicalParameterBlock` class has been created, the next step is to write the code necessary to create the State Blocks that will be used throughout the flowsheet. `StateBlock` contains all the information necessary to define the state of the system. This includes the state variables and constraints on those variables which are used to describe a state property like the enthalpy, material balance, etc.\n", - "\n", - "Creating a State Block requires us to write two classes. The reason we write two classes is because of the inherent nature of how `declare_process_block_data` works. `declare_process_block_data` facilitates creating an `IndexedComponent` object which can handle multiple `ComponentData` objects which represent the component at each point in the indexing set. This makes it easier to build an instance of the model at each indexed point. However, State Blocks are slightly different, as they are always indexed (at least by time). Due to this, we often want to perform actions on all the elements of the indexed StateBlock all at once (rather than element by element).\n", - "\n", - "The class `_OrganicStateBlock` is defined without the `declare_process_block_data` decorator and thus works as a traditional class and this facilitates performing a method on the class as a whole rather than individual elements of the indexed property blocks. In this class we define the `fix_initialization_states` function. `fix_initialization_states` function is to used to fix the state variable within the state block with the provided initial values (usually inlet conditions). It takes a `block` as the argument in which the state variables are to be fixed. It also takes `state_args` as an optional argument. `state_args` is a dictionary with the value for the state variables to be fixed. This function returns a dictionary indexed by the block, state variables and variable index indicating the fixed status of each variable before applying the function. \n", - "\n", - "The above function comprise of the _OrganicStateBlock, next we shall see the construction of the OrgPhaseStateBlockData class." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "class _OrganicStateBlock(StateBlock):\n", - " \"\"\"\n", - " This Class contains methods which should be applied to Property Blocks as a\n", - " whole, rather than individual elements of indexed Property Blocks.\n", - " \"\"\"\n", - "\n", - " def fix_initialization_states(self):\n", - " fix_state_vars(self)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The class `OrgPhaseStateBlockData` is designated with the `declare_process_block_class` decorator, named `OrgPhaseStateBlock`, and inherits the block class from `_OrganicStateBlock`. This inheritance allows `OrgPhaseStateBlockData` to leverage functions from `_OrganicStateBlock`. Following the class definition, a build function similar to the one used in the `PhysicalParameterData` block is employed. The super function is utilized to enable the utilization of functions from the parent or sibling class.\n", - "\n", - "The subsequent objective is to delineate the state variables, accomplished through the `_make_state_vars` method. This method encompasses all the essential state variables and associated data. For this particular property package, the required state variables are:\n", - "\n", - "- `flow_vol` - volumetric flow rate\n", - "- `conc_mass_comp` - mass fractions\n", - "- `pressure` - state pressure\n", - "- `temperature` - state temperature\n", - "\n", - "After establishing the state variables, the subsequent step involves setting up state properties as constraints. This includes specifying the relationships and limitations that dictate the system's behavior. The following properties need to be articulated:\n", - "\n", - "-`get_material_flow_terms`: quantifies the amount of material flow.\n", - "- `get_enthalpy_flow_terms`: quantifies the amount of enthalpy flow.\n", - "- `get_flow_rate`: details volumetric flow rates.\n", - "- `default_material_balance_type`: defines the kind of material balance to be used.\n", - "- `default_energy_balance_type`: defines the kind of energy balance to be used.\n", - "- `define_state_vars`: involves defining state variables with units, akin to the define_metadata function in the PhysicalParameterData block.\n", - "- `get_material_flow_basis`: establishes the basis on which state variables are measured, whether in mass or molar terms.\n", - "\n", - "These definitions mark the conclusion of the state block construction and thus the property package. For additional details on creating a property package, please refer to this [resource](../../properties/custom/custom_physical_property_packages_usr.ipynb ).\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "@declare_process_block_class(\"OrgPhaseStateBlock\", block_class=_OrganicStateBlock)\n", - "class OrgPhaseStateBlockData(StateBlockData):\n", - " \"\"\"\n", - " An example property package for Organic phzase for liquid liquid extraction\n", - " \"\"\"\n", - "\n", - " def build(self):\n", - " \"\"\"\n", - " Callable method for Block construction\n", - " \"\"\"\n", - " super().build()\n", - " self._make_state_vars()\n", - "\n", - " def _make_state_vars(self):\n", - " self.flow_vol = Var(\n", - " initialize=1,\n", - " domain=NonNegativeReals,\n", - " doc=\"Total volumetric flowrate\",\n", - " units=units.L / units.hour,\n", - " )\n", - " self.conc_mass_comp = Var(\n", - " self.params.solute_set,\n", - " domain=NonNegativeReals,\n", - " initialize=1,\n", - " doc=\"Component mass concentrations\",\n", - " units=units.g / units.L,\n", - " )\n", - " self.pressure = Var(\n", - " domain=NonNegativeReals,\n", - " initialize=1,\n", - " bounds=(1, 5),\n", - " units=units.atm,\n", - " doc=\"State pressure [atm]\",\n", - " )\n", - "\n", - " self.temperature = Var(\n", - " domain=NonNegativeReals,\n", - " initialize=300,\n", - " bounds=(273, 373),\n", - " units=units.K,\n", - " doc=\"State temperature [K]\",\n", - " )\n", - "\n", - " def material_flow_expression(self, j):\n", - " if j == \"solvent\":\n", - " return self.flow_vol * self.params.dens_mass\n", - " else:\n", - " return self.flow_vol * self.conc_mass_comp[j]\n", - "\n", - " self.material_flow_expression = Expression(\n", - " self.component_list,\n", - " rule=material_flow_expression,\n", - " doc=\"Material flow terms\",\n", - " )\n", - "\n", - " def enthalpy_flow_expression(self):\n", - " return (\n", - " self.flow_vol\n", - " * self.params.dens_mass\n", - " * self.params.cp_mass\n", - " * (self.temperature - self.params.temperature_ref)\n", - " )\n", - "\n", - " self.enthalpy_flow_expression = Expression(\n", - " rule=enthalpy_flow_expression, doc=\"Enthalpy flow term\"\n", - " )\n", - "\n", - " def get_flow_rate(self):\n", - " return self.flow_vol\n", - "\n", - " def get_material_flow_terms(self, p, j):\n", - " return self.material_flow_expression[j]\n", - "\n", - " def get_enthalpy_flow_terms(self, p):\n", - " return self.enthalpy_flow_expression\n", - "\n", - " def default_material_balance_type(self):\n", - " return MaterialBalanceType.componentTotal\n", - "\n", - " def default_energy_balance_type(self):\n", - " return EnergyBalanceType.enthalpyTotal\n", - "\n", - " def define_state_vars(self):\n", - " return {\n", - " \"flow_vol\": self.flow_vol,\n", - " \"conc_mass_comp\": self.conc_mass_comp,\n", - " \"temperature\": self.temperature,\n", - " \"pressure\": self.pressure,\n", - " }\n", - "\n", - " def get_material_flow_basis(self):\n", - " return MaterialFlowBasis.mass" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 2. Creating Aqueous Property Package\n", - "\n", - "The structure of Aqueous Property Package mirrors that of the Organic Property Package we previously developed. We'll commence with an overview, importing the required libraries, followed by the creation of the physical property block and two state blocks. The distinctions in this package lie in the physical parameter values, and notably, the absence of the diffusion factor term, differentiating it from the prior package. The following code snippet should provide clarity on these distinctions." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "# Import Python libraries\n", - "import logging\n", - "\n", - "from idaes.core.util.initialization import fix_state_vars\n", - "\n", - "# Import Pyomo libraries\n", - "from pyomo.environ import (\n", - " Param,\n", - " Var,\n", - " NonNegativeReals,\n", - " units,\n", - " Expression,\n", - " PositiveReals,\n", - ")\n", - "\n", - "# Import IDAES cores\n", - "from idaes.core import (\n", - " declare_process_block_class,\n", - " MaterialFlowBasis,\n", - " PhysicalParameterBlock,\n", - " StateBlockData,\n", - " StateBlock,\n", - " MaterialBalanceType,\n", - " EnergyBalanceType,\n", - " Solute,\n", - " Solvent,\n", - " LiquidPhase,\n", - ")\n", - "\n", - "# Some more information about this module\n", - "__author__ = \"Javal Vyas\"\n", - "\n", - "\n", - "# Set up logger\n", - "_log = logging.getLogger(__name__)\n", - "\n", - "\n", - "@declare_process_block_class(\"AqPhase\")\n", - "class AqPhaseData(PhysicalParameterBlock):\n", - " \"\"\"\n", - " Property Parameter Block Class\n", - "\n", - " Contains parameters and indexing sets associated with properties for\n", - " aqueous Phase\n", - "\n", - " \"\"\"\n", - "\n", - " def build(self):\n", - " \"\"\"\n", - " Callable method for Block construction.\n", - " \"\"\"\n", - " super().build()\n", - "\n", - " self._state_block_class = AqPhaseStateBlock\n", - "\n", - " # List of valid phases in property package\n", - " self.Aq = LiquidPhase()\n", - "\n", - " # Component list - a list of component identifiers\n", - " self.NaCl = Solute()\n", - " self.KNO3 = Solute()\n", - " self.CaSO4 = Solute()\n", - " self.H2O = Solvent()\n", - "\n", - " # Heat capacity of solvent\n", - " self.cp_mass = Param(\n", - " mutable=True,\n", - " initialize=4182,\n", - " doc=\"Specific heat capacity of solvent\",\n", - " units=units.J / units.kg / units.K,\n", - " )\n", - "\n", - " self.dens_mass = Param(\n", - " mutable=True,\n", - " initialize=997,\n", - " doc=\"Density of ethylene dibromide\",\n", - " units=units.kg / units.m**3,\n", - " )\n", - " self.temperature_ref = Param(\n", - " within=PositiveReals,\n", - " mutable=True,\n", - " default=298.15,\n", - " doc=\"Reference temperature\",\n", - " units=units.K,\n", - " )\n", - "\n", - " @classmethod\n", - " def define_metadata(cls, obj):\n", - " obj.add_default_units(\n", - " {\n", - " \"time\": units.hour,\n", - " \"length\": units.m,\n", - " \"mass\": units.g,\n", - " \"amount\": units.mol,\n", - " \"temperature\": units.K,\n", - " }\n", - " )\n", - "\n", - "\n", - "class _AqueousStateBlock(StateBlock):\n", - " \"\"\"\n", - " This Class contains methods which should be applied to Property Blocks as a\n", - " whole, rather than individual elements of indexed Property Blocks.\n", - " \"\"\"\n", - "\n", - " def fix_initialization_states(self):\n", - " fix_state_vars(self)\n", - "\n", - "\n", - "@declare_process_block_class(\"AqPhaseStateBlock\", block_class=_AqueousStateBlock)\n", - "class AqPhaseStateBlockData(StateBlockData):\n", - " \"\"\"\n", - " An example property package for ideal gas properties with Gibbs energy\n", - " \"\"\"\n", - "\n", - " def build(self):\n", - " \"\"\"\n", - " Callable method for Block construction\n", - " \"\"\"\n", - " super().build()\n", - " self._make_state_vars()\n", - "\n", - " def _make_state_vars(self):\n", - " self.flow_vol = Var(\n", - " initialize=1,\n", - " domain=NonNegativeReals,\n", - " doc=\"Total volumetric flowrate\",\n", - " units=units.L / units.hour,\n", - " )\n", - "\n", - " self.conc_mass_comp = Var(\n", - " self.params.solute_set,\n", - " domain=NonNegativeReals,\n", - " initialize={\"NaCl\": 0.15, \"KNO3\": 0.2, \"CaSO4\": 0.1},\n", - " doc=\"Component mass concentrations\",\n", - " units=units.g / units.L,\n", - " )\n", - "\n", - " self.pressure = Var(\n", - " domain=NonNegativeReals,\n", - " initialize=1,\n", - " bounds=(1, 5),\n", - " units=units.atm,\n", - " doc=\"State pressure [atm]\",\n", - " )\n", - "\n", - " self.temperature = Var(\n", - " domain=NonNegativeReals,\n", - " initialize=300,\n", - " bounds=(273, 373),\n", - " units=units.K,\n", - " doc=\"State temperature [K]\",\n", - " )\n", - "\n", - " def material_flow_expression(self, j):\n", - " if j == \"H2O\":\n", - " return self.flow_vol * self.params.dens_mass\n", - " else:\n", - " return self.conc_mass_comp[j] * self.flow_vol\n", - "\n", - " self.material_flow_expression = Expression(\n", - " self.component_list,\n", - " rule=material_flow_expression,\n", - " doc=\"Material flow terms\",\n", - " )\n", - "\n", - " def enthalpy_flow_expression(self):\n", - " return (\n", - " self.flow_vol\n", - " * self.params.dens_mass\n", - " * self.params.cp_mass\n", - " * (self.temperature - self.params.temperature_ref)\n", - " )\n", - "\n", - " self.enthalpy_flow_expression = Expression(\n", - " rule=enthalpy_flow_expression, doc=\"Enthalpy flow term\"\n", - " )\n", - "\n", - " def get_flow_rate(self):\n", - " return self.flow_vol\n", - "\n", - " def get_material_flow_terms(self, p, j):\n", - " return self.material_flow_expression[j]\n", - "\n", - " def get_enthalpy_flow_terms(self, p):\n", - " return self.enthalpy_flow_expression\n", - "\n", - " def default_material_balance_type(self):\n", - " return MaterialBalanceType.componentTotal\n", - "\n", - " def default_energy_balance_type(self):\n", - " return EnergyBalanceType.enthalpyTotal\n", - "\n", - " def define_state_vars(self):\n", - " return {\n", - " \"flow_vol\": self.flow_vol,\n", - " \"conc_mass_comp\": self.conc_mass_comp,\n", - " \"temperature\": self.temperature,\n", - " \"pressure\": self.pressure,\n", - " }\n", - "\n", - " def get_material_flow_basis(self):\n", - " return MaterialFlowBasis.mass" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 3. Liquid Liquid Extractor Unit Model\n", - "\n", - "Following the creation of property packages, our next step is to develop a unit model that facilitates the mass transfer of solutes between phases. This involves importing necessary libraries, building the unit model, defining auxiliary functions, and establishing the initialization routine for the unit model.\n", - "\n", - "## 3.1 Importing necessary libraries\n", - "\n", - "Let's commence by importing the essential libraries from Pyomo and IDAES." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "# Import Pyomo libraries\n", - "from pyomo.common.config import ConfigBlock, ConfigValue, In, Bool\n", - "from pyomo.environ import (\n", - " value,\n", - " Constraint,\n", - " check_optimal_termination,\n", - ")\n", - "\n", - "# Import IDAES cores\n", - "from idaes.core import (\n", - " ControlVolume0DBlock,\n", - " declare_process_block_class,\n", - " MaterialBalanceType,\n", - " EnergyBalanceType,\n", - " MaterialFlowBasis,\n", - " MomentumBalanceType,\n", - " UnitModelBlockData,\n", - " useDefault,\n", - ")\n", - "from idaes.core.util.config import (\n", - " is_physical_parameter_block,\n", - " is_reaction_parameter_block,\n", - ")\n", - "\n", - "import idaes.logger as idaeslog\n", - "from idaes.core.solvers import get_solver\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.util.exceptions import ConfigurationError, InitializationError" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.2 Creating the unit model\n", - "\n", - "Creating a unit model starts by creating a class called `LiqExtractionData` and use the `declare_process_block_class` decorator. The `LiqExtractionData` inherits the properties of `UnitModelBlockData` class, which allows us to create a control volume which is necessary for the unit model. After declaration of the class we proceed to define the relevant config arguments for the control volume. The config arguments includes the following properties:\n", - "\n", - "- `material_balance_type` - Indicates what type of mass balance should be constructed\n", - "- `has_pressure_change` - Indicates whether terms for pressure change should be\n", - "constructed\n", - "- `has_phase_equilibrium` - Indicates whether terms for phase equilibrium should be\n", - "constructed\n", - "- `Organic Property` - Property parameter object used to define property calculations\n", - "for the Organic phase\n", - "- `Organic Property Arguments` - Arguments to use for constructing Organic phase properties\n", - "- `Aqueous Property` - Property parameter object used to define property calculations\n", - "for the aqueous phase\n", - "- `Aqueous Property Arguments` - Arguments to use for constructing aqueous phase properties\n", - "\n", - "As there are no pressure changes or reactions in this scenario, configuration arguments for these aspects are not included. However, additional details on configuration arguments can be found [here](https://github.com/IDAES/idaes-pse/blob/8948c6ce27d4c7f2c06b377a173f413599091998/idaes/models/unit_models/cstr.py)." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "@declare_process_block_class(\"LiqExtraction\")\n", - "class LiqExtractionData(UnitModelBlockData):\n", - " \"\"\"\n", - " LiqExtraction Unit Model Class\n", - " \"\"\"\n", - "\n", - " CONFIG = UnitModelBlockData.CONFIG()\n", - "\n", - " CONFIG.declare(\n", - " \"material_balance_type\",\n", - " ConfigValue(\n", - " default=MaterialBalanceType.useDefault,\n", - " domain=In(MaterialBalanceType),\n", - " description=\"Material balance construction flag\",\n", - " doc=\"\"\"Indicates what type of mass balance should be constructed,\n", - " **default** - MaterialBalanceType.useDefault.\n", - " **Valid values:** {\n", - " **MaterialBalanceType.useDefault - refer to property package for default\n", - " balance type\n", - " **MaterialBalanceType.none** - exclude material balances,\n", - " **MaterialBalanceType.componentPhase** - use phase component balances,\n", - " **MaterialBalanceType.componentTotal** - use total component balances,\n", - " **MaterialBalanceType.elementTotal** - use total element balances,\n", - " **MaterialBalanceType.total** - use total material balance.}\"\"\",\n", - " ),\n", - " )\n", - " CONFIG.declare(\n", - " \"has_pressure_change\",\n", - " ConfigValue(\n", - " default=False,\n", - " domain=Bool,\n", - " description=\"Pressure change term construction flag\",\n", - " doc=\"\"\"Indicates whether terms for pressure change should be\n", - " constructed,\n", - " **default** - False.\n", - " **Valid values:** {\n", - " **True** - include pressure change terms,\n", - " **False** - exclude pressure change terms.}\"\"\",\n", - " ),\n", - " )\n", - " CONFIG.declare(\n", - " \"has_phase_equilibrium\",\n", - " ConfigValue(\n", - " default=False,\n", - " domain=Bool,\n", - " description=\"Phase equilibrium construction flag\",\n", - " doc=\"\"\"Indicates whether terms for phase equilibrium should be\n", - " constructed,\n", - " **default** = False.\n", - " **Valid values:** {\n", - " **True** - include phase equilibrium terms\n", - " **False** - exclude phase equilibrium terms.}\"\"\",\n", - " ),\n", - " )\n", - " CONFIG.declare(\n", - " \"organic_property_package\",\n", - " ConfigValue(\n", - " default=useDefault,\n", - " domain=is_physical_parameter_block,\n", - " description=\"Property package to use for organic phase\",\n", - " doc=\"\"\"Property parameter object used to define property calculations\n", - " for the organic phase,\n", - " **default** - useDefault.\n", - " **Valid values:** {\n", - " **useDefault** - use default package from parent model or flowsheet,\n", - " **PropertyParameterObject** - a PropertyParameterBlock object.}\"\"\",\n", - " ),\n", - " )\n", - " CONFIG.declare(\n", - " \"organic_property_package_args\",\n", - " ConfigBlock(\n", - " implicit=True,\n", - " description=\"Arguments to use for constructing organic phase properties\",\n", - " doc=\"\"\"A ConfigBlock with arguments to be passed to organic phase\n", - " property block(s) and used when constructing these,\n", - " **default** - None.\n", - " **Valid values:** {\n", - " see property package for documentation.}\"\"\",\n", - " ),\n", - " )\n", - " CONFIG.declare(\n", - " \"aqueous_property_package\",\n", - " ConfigValue(\n", - " default=useDefault,\n", - " domain=is_physical_parameter_block,\n", - " description=\"Property package to use for aqueous phase\",\n", - " doc=\"\"\"Property parameter object used to define property calculations\n", - " for the aqueous phase,\n", - " **default** - useDefault.\n", - " **Valid values:** {\n", - " **useDefault** - use default package from parent model or flowsheet,\n", - " **PropertyParameterObject** - a PropertyParameterBlock object.}\"\"\",\n", - " ),\n", - " )\n", - " CONFIG.declare(\n", - " \"aqueous_property_package_args\",\n", - " ConfigBlock(\n", - " implicit=True,\n", - " description=\"Arguments to use for constructing aqueous phase properties\",\n", - " doc=\"\"\"A ConfigBlock with arguments to be passed to aqueous phase\n", - " property block(s) and used when constructing these,\n", - " **default** - None.\n", - " **Valid values:** {\n", - " see property package for documentation.}\"\"\",\n", - " ),\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Building the model\n", - "\n", - "After constructing the `LiqExtractionData` block and defining the config arguments for the control block, the next step is to write a build function that incorporates control volume and establishes constraints on the control volume to achieve the desired mass transfer. The control volume serves as a pivotal component in the unit model construction, representing the volume in which the process unfolds.\n", - "\n", - "IDAES provides flexibility in choosing control volumes based on geometry, with options including 0D or 1D. In this instance, we opt for a 0D control volume, the most commonly used control volume. This choice is suitable for systems where there is a well-mixed volume of fluid or where spatial variations are deemed negligible.\n", - "\n", - "The control volume encompasses parameters from (1-8), and its equations are configured to satisfy the specified config arguments. For a more in-depth understanding, users are encouraged to refer to [this resource](https://github.com/IDAES/idaes-pse/blob/2f34dd3abc1bce5ba17c80939a01f9034e4fbeef/docs/reference_guides/core/control_volume_0d.rst). \n", - "\n", - "The `build` function is initiated using the `super` function to gain access to methods and properties of a parent or sibling class, in this case, the `LiqExtractionData` class. Following the `super` function, checks are performed on the property packages to ensure the appropriate names for the solvents, such as 'Aq' for the aqueous phase and 'Org' for the Organic phase. An error is raised if these conditions are not met. Subsequently, a check is performed to ensure there is at least one common component between the two property packages that can be transferred from one phase to another.\n", - "\n", - "After these checks are completed without any exceptions raised, it is ensured that the property packages have the desired components with appropriate names. The next step is to create a control volume and assign it to a property package. Here, we initiate with the Organic phase and attach a 0D control volume to it. The control volume takes arguments about the dynamics of the block, and the property package, along with property package arguments. \n", - "\n", - "The subsequent steps involve adding inlet and outlet state blocks to the control volume using the `add_state_blocks` function. This function takes arguments about the flow direction (defaulted to forward) and a flag for `has_phase_equilibrium`, which is read from the config. The control volume is now equipped with the inlet and outlet state blocks and has access to the Organic property package\n", - "\n", - "Next, material balance equations are added to the control volume using the `add_material_balance` function, taking into account the type of material balance, `has_phase_equilibrium`, and the presence of `has_mass_transfer`. To understand this arguments further let us have a look at the material balance equation and how it is implemented in control volume. \n", - "\n", - "$\\frac{\\partial M_{t, p, j}}{\\partial t} = F_{in, t, p, j} - F_{out, t, p, j} + N_{kinetic, t, p, j} + N_{equilibrium, t, p, j} + N_{pe, t, p, j} + N_{transfer, t, p, j} + N_{custom, t, p, j}$\n", - "\n", - "- $\\frac{\\partial M_{t, p, j}}{\\partial t}$ - Material accumulation\n", - "- $F_{in, t, p, j}$ - Flow into the control volume\n", - "- $F_{out, t, p, j}$ - Flow out of the control volume\n", - "- $N_{kinetic, t, p, j}$ - Rate of reaction generation\n", - "- $N_{equilibrium, t, p, j}$ - Equilibrium reaction generation\n", - "- $N_{pe, t, p, j}$ - Equilibrium reaction extent\n", - "- $N_{transfer, t, p, j}$ - Mass transfer\n", - "- $N_{custom, t, p, j}$ - User defined terms in material balance\n", - "\n", - "- t indicates time index\n", - "- p indicates phase index\n", - "- j indicates component index\n", - "- e indicates element index\n", - "- r indicates reaction name index\n", - "\n", - "Here we shall see that $N_{transfer, t, p, j}$ is the term in the equation which is responsible for the mass transfer and the `mass_transfer_term` should only be equal to the amount being transferred and not include a material balance on our own. For a detailed description of the terms one should refer to the following [resource](https://github.com/IDAES/idaes-pse/blob/2f34dd3abc1bce5ba17c80939a01f9034e4fbeef/docs/reference_guides/core/control_volume_0d.rst)\n", - "\n", - "This concludes the creation of organic phase control volume. Similar procedure is done for the aqueous phase control volume with aqueous property package. \n", - "\n", - "Now, the unit model has two control volumes with appropriate configurations and material, momentum and energy balances. The next step is to check the basis of the two property packages. They should both have the same flow basis, and an error is raised if this is not the case.\n", - "\n", - "Following this, the `add_inlet_ports` and `add_outlet_ports` functions are used to create inlet and outlet ports. These ports are named and assigned to each control volume, resulting in labeled inlet and outlet ports for each control volume.\n", - "\n", - "The subsequent steps involve writing unit-level constraints. A check if the basis is either molar or mass, and unit-level constraints are written accordingly. The first constraint pertains to the mass transfer term for the aqueous phase. The mass transfer term is equal to $mass\\_transfer\\_term_{aq} = (D_{i})\\frac{mass_{i}~in~aq~phase}{flowrate~of~aq~phase}$. The second constraint relates to the mass transfer term in the organic phase, which is the negative of the mass transfer term in the aqueous phase: $mass\\_transfer\\_term_{org} = - mass\\_transfer\\_term_{aq} $\n", - "\n", - "Here $mass\\_transfer\\_term_{p}$ is the term indicating the amount of material being transferred from/to the phase and $D_{i}$ is the Distribution co-efficient for component i. \n", - "\n", - "This marks the completion of the build function, and the unit model is now equipped with the necessary process constraints. The subsequent steps involve writing the initialization routine." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "def build(self):\n", - " \"\"\"\n", - " Begin building model (pre-DAE transformation).\n", - " Args:\n", - " None\n", - " Returns:\n", - " None\n", - " \"\"\"\n", - " # Call UnitModel.build to setup dynamics\n", - " super().build()\n", - "\n", - " # Check phase lists match assumptions\n", - " if self.config.aqueous_property_package.phase_list != [\"Aq\"]:\n", - " raise ConfigurationError(\n", - " f\"{self.name} Liquid-Liquid Extractor model requires that the aquoues \"\n", - " f\"phase property package have a single phase named 'Aq'\"\n", - " )\n", - " if self.config.organic_property_package.phase_list != [\"Org\"]:\n", - " raise ConfigurationError(\n", - " f\"{self.name} Liquid-Liquid Extractor model requires that the organic \"\n", - " f\"phase property package have a single phase named 'Org'\"\n", - " )\n", - "\n", - " # Check for at least one common component in component lists\n", - " if not any(\n", - " j in self.config.aqueous_property_package.component_list\n", - " for j in self.config.organic_property_package.component_list\n", - " ):\n", - " raise ConfigurationError(\n", - " f\"{self.name} Liquid-Liquid Extractor model requires that the organic \"\n", - " f\"and aqueous phase property packages have at least one \"\n", - " f\"common component.\"\n", - " )\n", - "\n", - " self.organic_phase = ControlVolume0DBlock(\n", - " dynamic=self.config.dynamic,\n", - " property_package=self.config.organic_property_package,\n", - " property_package_args=self.config.organic_property_package_args,\n", - " )\n", - "\n", - " self.organic_phase.add_state_blocks(\n", - " has_phase_equilibrium=self.config.has_phase_equilibrium\n", - " )\n", - "\n", - " # Separate organic and aqueous phases means that phase equilibrium will\n", - " # be handled at the unit model level, thus has_phase_equilibrium is\n", - " # False, but has_mass_transfer is True.\n", - "\n", - " self.organic_phase.add_material_balances(\n", - " balance_type=self.config.material_balance_type,\n", - " has_phase_equilibrium=self.config.has_phase_equilibrium,\n", - " has_mass_transfer=True,\n", - " )\n", - " # ---------------------------------------------------------------------\n", - "\n", - " self.aqueous_phase = ControlVolume0DBlock(\n", - " dynamic=self.config.dynamic,\n", - " property_package=self.config.aqueous_property_package,\n", - " property_package_args=self.config.aqueous_property_package_args,\n", - " )\n", - "\n", - " self.aqueous_phase.add_state_blocks(\n", - " has_phase_equilibrium=self.config.has_phase_equilibrium\n", - " )\n", - "\n", - " # Separate liquid and aqueous phases means that phase equilibrium will\n", - " # be handled at the unit model level, thus has_phase_equilibrium is\n", - " # False, but has_mass_transfer is True.\n", - "\n", - " self.aqueous_phase.add_material_balances(\n", - " balance_type=self.config.material_balance_type,\n", - " # has_rate_reactions=False,\n", - " has_phase_equilibrium=self.config.has_phase_equilibrium,\n", - " has_mass_transfer=True,\n", - " )\n", - "\n", - " self.aqueous_phase.add_geometry()\n", - "\n", - " # ---------------------------------------------------------------------\n", - " # Check flow basis is compatible\n", - " t_init = self.flowsheet().time.first()\n", - " if (\n", - " self.aqueous_phase.properties_out[t_init].get_material_flow_basis()\n", - " != self.organic_phase.properties_out[t_init].get_material_flow_basis()\n", - " ):\n", - " raise ConfigurationError(\n", - " f\"{self.name} aqueous and organic property packages must use the \"\n", - " f\"same material flow basis.\"\n", - " )\n", - "\n", - " self.organic_phase.add_geometry()\n", - "\n", - " # Add Ports\n", - " self.add_inlet_port(\n", - " name=\"organic_inlet\", block=self.organic_phase, doc=\"Organic feed\"\n", - " )\n", - " self.add_inlet_port(\n", - " name=\"aqueous_inlet\", block=self.aqueous_phase, doc=\"Aqueous feed\"\n", - " )\n", - " self.add_outlet_port(\n", - " name=\"organic_outlet\", block=self.organic_phase, doc=\"Organic outlet\"\n", - " )\n", - " self.add_outlet_port(\n", - " name=\"aqueous_outlet\",\n", - " block=self.aqueous_phase,\n", - " doc=\"Aqueous outlet\",\n", - " )\n", - "\n", - " # ---------------------------------------------------------------------\n", - " # Add unit level constraints\n", - " # First, need the union and intersection of component lists\n", - " all_comps = (\n", - " self.aqueous_phase.properties_out.component_list\n", - " | self.organic_phase.properties_out.component_list\n", - " )\n", - " common_comps = (\n", - " self.aqueous_phase.properties_out.component_list\n", - " & self.organic_phase.properties_out.component_list\n", - " )\n", - "\n", - " # Get units for unit conversion\n", - " aunits = self.config.aqueous_property_package.get_metadata().get_derived_units\n", - " lunits = self.config.organic_property_package.get_metadata().get_derived_units\n", - " flow_basis = self.aqueous_phase.properties_out[t_init].get_material_flow_basis()\n", - "\n", - " if flow_basis == MaterialFlowBasis.mass:\n", - " fb = \"flow_mass\"\n", - " elif flow_basis == MaterialFlowBasis.molar:\n", - " fb = \"flow_mole\"\n", - " else:\n", - " raise ConfigurationError(\n", - " f\"{self.name} Liquid-Liquid Extractor only supports mass \"\n", - " f\"basis for MaterialFlowBasis.\"\n", - " )\n", - "\n", - " # Material balances\n", - " def rule_material_aq_balance(self, t, j):\n", - " if j in common_comps:\n", - " return self.aqueous_phase.mass_transfer_term[\n", - " t, \"Aq\", j\n", - " ] == -self.organic_phase.config.property_package.diffusion_factor[j] * (\n", - " self.aqueous_phase.properties_in[t].get_material_flow_terms(\"Aq\", j)\n", - " )\n", - " elif j in self.organic_phase.properties_out.component_list:\n", - " # No mass transfer term\n", - " # Set organic flowrate to an arbitrary small value\n", - " return self.organic_phase.mass_transfer_term[t, \"Org\", j] == 0 * lunits(fb)\n", - " elif j in self.aqueous_phase.properties_out.component_list:\n", - " # No mass transfer term\n", - " # Set aqueous flowrate to an arbitrary small value\n", - " return self.aqueous_phase.mass_transfer_term[t, \"Aq\", j] == 0 * aunits(fb)\n", - "\n", - " self.material_aq_balance = Constraint(\n", - " self.flowsheet().time,\n", - " self.aqueous_phase.properties_out.component_list,\n", - " rule=rule_material_aq_balance,\n", - " doc=\"Unit level material balances for Aq\",\n", - " )\n", - "\n", - " def rule_material_liq_balance(self, t, j):\n", - " if j in common_comps:\n", - " return (\n", - " self.organic_phase.mass_transfer_term[t, \"Org\", j]\n", - " == -self.aqueous_phase.mass_transfer_term[t, \"Aq\", j]\n", - " )\n", - " else:\n", - " # No mass transfer term\n", - " # Set organic flowrate to an arbitrary small value\n", - " return self.organic_phase.mass_transfer_term[t, \"Org\", j] == 0 * aunits(fb)\n", - "\n", - " self.material_org_balance = Constraint(\n", - " self.flowsheet().time,\n", - " self.organic_phase.properties_out.component_list,\n", - " rule=rule_material_liq_balance,\n", - " doc=\"Unit level material balances Org\",\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Initialization Routine\n", - "\n", - "After writing the unit model it is crucial to initialize the model properly, as non-linear models may encounter local minima or infeasibility if not initialized properly. IDAES provides us with a few initialization routines which may not work for all the models, and in such cases the developer will have to define their own initialization routines. \n", - "\n", - "To create a custom initialization routine, model developers must create an initialize method as part of their model, and provide a sequence of steps intended to build up a feasible solution. Initialization routines generally make use of Pyomo’s tools for activating and deactivating constraints and often involve solving multiple sub-problems whilst building up an initial state.\n", - "\n", - "For this tutorial we would use the pre-defined initialization routine of `BlockTriangularizationInitializer` when initializing the model in the flowsheet. This Initializer should be suitable for most models, but may struggle to initialize\n", - "tightly coupled systems of equations. This method of initialization will follow the following workflow. \n", - "\n", - "- Have precheck for structural singularity\n", - "- Run incidence analysis on given block data and check matching.\n", - "- Call Block Triangularization solver on model.\n", - "- Call solve_strongly_connected_components on a given BlockData.\n", - "\n", - "For more details about this initialization routine can be found [here](https://github.com/IDAES/idaes-pse/blob/c09433b9afed5ae2fe25c0ccdc732783324f0101/idaes/core/initialization/block_triangularization.py). \n", - "\n", - "\n", - "This marks the conclusion of creating a custom unit model, for a more detailed explanation on creating a unit model refer [this resource](../../unit_models/custom_unit_models/custom_compressor_usr.ipynb). The next sections will deal with the diagonistics and testing of the property package and unit model. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3.3 Building a Flowsheet\n", - "\n", - "Once we have set up the unit model and its property packages, we can start building a flowsheet using them. In this tutorial, we're focusing on a simple flowsheet with just a liquid-liquid extractor. To create the flowsheet we follow the following steps:\n", - "\n", - "- Import necessary libraries\n", - "- Create a Pyomo model.\n", - "- Inside the model, create a flowsheet block.\n", - "- Assign property packages to the flowsheet block.\n", - "- Add the liquid-liquid extractor to the flowsheet block.\n", - "- Fix variable to make it a square problem\n", - "- Run an initialization process.\n", - "- Solve the flowsheet.\n", - "\n", - "Following these steps, we've built a basic flowsheet using Pyomo. For more details, refer to the [documentation](../../flowsheets/hda_flowsheet_with_distillation_usr.ipynb).\n" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "import pyomo.environ as pyo\n", - "import idaes.core\n", - "import idaes.models.unit_models\n", - "from idaes.core.solvers import get_solver\n", - "import idaes.logger as idaeslog\n", - "from pyomo.network import Arc\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.initialization import InitializationStatus\n", - "from idaes.core.initialization.block_triangularization import (\n", - " BlockTriangularizationInitializer,\n", - ")\n", - "from liquid_extraction.organic_property import OrgPhase\n", - "from liquid_extraction.aqueous_property import AqPhase\n", - "from liquid_extraction.liquid_liquid_extractor import LiqExtraction\n", - "\n", - "\n", - "def build_model():\n", - " m = pyo.ConcreteModel()\n", - " m.fs = idaes.core.FlowsheetBlock(dynamic=False)\n", - " m.fs.org_properties = OrgPhase()\n", - " m.fs.aq_properties = AqPhase()\n", - "\n", - " m.fs.lex = LiqExtraction(\n", - " dynamic=False,\n", - " has_pressure_change=False,\n", - " organic_property_package=m.fs.org_properties,\n", - " aqueous_property_package=m.fs.aq_properties,\n", - " )\n", - " return m\n", - "\n", - "\n", - "def fix_state_variables(m):\n", - " m.fs.lex.organic_inlet.flow_vol.fix(80 * pyo.units.L / pyo.units.hour)\n", - " m.fs.lex.organic_inlet.temperature.fix(300 * pyo.units.K)\n", - " m.fs.lex.organic_inlet.pressure.fix(1 * pyo.units.atm)\n", - " m.fs.lex.organic_inlet.conc_mass_comp[0, \"NaCl\"].fix(\n", - " 1e-5 * pyo.units.g / pyo.units.L\n", - " )\n", - " m.fs.lex.organic_inlet.conc_mass_comp[0, \"KNO3\"].fix(\n", - " 1e-5 * pyo.units.g / pyo.units.L\n", - " )\n", - " m.fs.lex.organic_inlet.conc_mass_comp[0, \"CaSO4\"].fix(\n", - " 1e-5 * pyo.units.g / pyo.units.L\n", - " )\n", - "\n", - " m.fs.lex.aqueous_inlet.flow_vol.fix(100 * pyo.units.L / pyo.units.hour)\n", - " m.fs.lex.aqueous_inlet.temperature.fix(300 * pyo.units.K)\n", - " m.fs.lex.aqueous_inlet.pressure.fix(1 * pyo.units.atm)\n", - " m.fs.lex.aqueous_inlet.conc_mass_comp[0, \"NaCl\"].fix(\n", - " 0.15 * pyo.units.g / pyo.units.L\n", - " )\n", - " m.fs.lex.aqueous_inlet.conc_mass_comp[0, \"KNO3\"].fix(\n", - " 0.2 * pyo.units.g / pyo.units.L\n", - " )\n", - " m.fs.lex.aqueous_inlet.conc_mass_comp[0, \"CaSO4\"].fix(\n", - " 0.1 * pyo.units.g / pyo.units.L\n", - " )\n", - "\n", - " return m\n", - "\n", - "\n", - "def initialize_model(m):\n", - " initializer = BlockTriangularizationInitializer()\n", - " initializer.initialize(m.fs.lex)\n", - " return m\n", - "\n", - "\n", - "def main():\n", - " m = build_model()\n", - " m = fix_state_variables(m)\n", - " m = initialize_model(m)\n", - " return m\n", - "\n", - "\n", - "if __name__ == main:\n", - " main()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 4. Model Diagnostics using DiagnosticsToolbox\n", - "\n", - "Here, during initialization, we encounter warnings indicating that variables are being set to negative values, which is not expected behavior. These warnings suggest that there may be flaws in the model that require further investigation using the DiagnosticsToolbox from IDAES. A detailed notebook on using `DiagnosticsToolbox` can be found [here](../../diagnostics/degeneracy_hunter_usr.ipynb).\n", - "\n", - "To proceed with investigating these issues, we need to import the DiagnosticsToolbox. We can gain a better understanding of its functionality by running the help function on it. " - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.core.util import DiagnosticsToolbox" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The help() function provides comprehensive information on the DiagnosticsToolbox and all its supported methods. However, it's essential to focus on the initial steps outlined at the beginning of the docstring to get started effectively.\n", - "\n", - "Here's a breakdown of the steps to start with:\n", - "\n", - "- `Instantiate Model:` Ensure you have an instance of the model with a degrees of freedom equal to 0.\n", - "\n", - "- `Create DiagnosticsToolbox Instance:` Next, instantiate a DiagnosticsToolbox object.\n", - "\n", - "- `Provide Model to DiagnosticsToolbox:` Pass the model instance to the DiagnosticsToolbox.\n", - "\n", - "- `Call report_structural_issues() Function:` Finally, call the report_structural_issues() function. This function will highlight any warnings in the model's structure, such as unit inconsistencies or other issues related to variables in the caution section.\n", - "\n", - "By following these steps, you can efficiently utilize the DiagnosticsToolbox to identify and address any structural issues or warnings in your model." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ + "cells": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING (W1001): Setting Var\n", - "'fs.lex.aqueous_phase.properties_out[0.0].conc_mass_comp[NaCl]' to a value\n", - "`-0.1725` (float) not in domain NonNegativeReals.\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1001\n", - "WARNING (W1001): Setting Var\n", - "'fs.lex.aqueous_phase.properties_out[0.0].conc_mass_comp[KNO3]' to a value\n", - "`-0.4` (float) not in domain NonNegativeReals.\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1001\n", - "WARNING (W1001): Setting Var\n", - "'fs.lex.aqueous_phase.properties_out[0.0].conc_mass_comp[CaSO4]' to a value\n", - "`-0.05` (float) not in domain NonNegativeReals.\n", - " See also https://pyomo.readthedocs.io/en/stable/errors.html#w1001\n", - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 21 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 16 (External: 0)\n", - " Free Variables with only lower bounds: 8\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 0\n", - " Fixed Variables in Activated Constraints: 8 (External: 0)\n", - " Activated Equality Constraints: 16 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 Cautions\n", - "\n", - " Caution: 10 unused variables (4 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " Try to initialize/solve your model and then call report_numerical_issues()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "m = main()\n", - "dt = DiagnosticsToolbox(m)\n", - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Although no warnings were reported, it's important to note that there are 3 variables fixed to 0 and 10 unused variables, out of which 4 are fixed. As indicated in the output, the next step is to solve the model. After solving, you should call the report_numerical_issues() function. This function will help identify any numerical issues that may arise during the solution process." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 33\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 14\n", - "\n", - "Total number of variables............................: 16\n", - " variables with only lower bounds: 8\n", - " variables with lower and upper bounds: 0\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 16\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 4.10e+01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 4.00e+01 4.93e+01 -1.0 4.10e-01 - 9.91e-01 2.41e-02h 1\n", - " 2 0.0000000e+00 4.00e+01 2.03e+05 -1.0 4.00e-01 - 1.00e+00 2.47e-04h 1\n", - " 3r 0.0000000e+00 4.00e+01 1.00e+03 1.6 0.00e+00 - 0.00e+00 3.09e-07R 4\n", - " 4r 0.0000000e+00 4.00e+01 9.88e+04 1.6 3.68e+02 - 9.92e-01 2.29e-03f 1\n", - " 5r 0.0000000e+00 3.60e+01 3.03e+00 1.6 4.01e+00 - 1.00e+00 1.00e+00f 1\n", - " 6r 0.0000000e+00 3.69e+01 1.21e+01 -1.2 9.24e-01 - 9.69e-01 9.78e-01f 1\n", - " 7r 0.0000000e+00 3.70e+01 2.11e-01 -1.9 1.00e-01 - 9.97e-01 1.00e+00f 1\n", - " 8r 0.0000000e+00 3.78e+01 2.03e-02 -4.3 8.71e-01 - 9.71e-01 1.00e+00f 1\n", - " 9r 0.0000000e+00 3.80e+01 2.62e-04 -6.4 1.24e-01 - 9.99e-01 1.00e+00f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10r 0.0000000e+00 3.81e+01 5.87e-09 -6.4 1.58e-01 - 1.00e+00 1.00e+00f 1\n", - " 11r 0.0000000e+00 3.91e+01 1.09e-05 -9.0 9.35e-01 - 9.68e-01 1.00e+00f 1\n", - "\n", - "Number of Iterations....: 11\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 5.1393961893966849e-07 5.1393961893966849e-07\n", - "Constraint violation....: 3.9105165554489545e+01 3.9105165554489545e+01\n", - "Complementarity.........: 9.0909090910996620e-10 9.0909090910996620e-10\n", - "Overall NLP error.......: 3.9105165554489545e+01 3.9105165554489545e+01\n", - "\n", - "\n", - "Number of objective function evaluations = 17\n", - "Number of objective gradient evaluations = 5\n", - "Number of equality constraint evaluations = 17\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 14\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 12\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.004\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Converged to a point of local infeasibility. Problem may be infeasible.\n", - "WARNING: Loading a SolverResults object with a warning status into\n", - "model.name=\"unknown\";\n", - " - termination condition: infeasible\n", - " - message from solver: Ipopt 3.13.2\\x3a Converged to a locally infeasible\n", - " point. Problem may be infeasible.\n" - ] + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "###############################################################################" + ] }, { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 16, 'Number of variables': 16, 'Sense': 'unknown'}], 'Solver': [{'Status': 'warning', 'Message': 'Ipopt 3.13.2\\\\x3a Converged to a locally infeasible point. Problem may be infeasible.', 'Termination condition': 'infeasible', 'Id': 200, 'Error rc': 0, 'Time': 0.06552338600158691}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Creating Custom Unit Model\n", + "Author: Javal Vyas \n", + "Maintainer: Javal Vyas \n", + "\n", + "This tutorial is a comprehensive step-wise procedure to build a custom unit model from scratch. This tutorial will include creating a property package, a custom unit model and testing them. For this tutorial we shall create a custom unit model for Liquid - Liquid Extraction. \n", + "\n", + "The Liquid - Liquid Extractor model contains two immiscible fluids forming the two phases. One of the phases, say phase_1 has a high concentration of solutes which is to be separated. A mass transfer happens between the two phases and the solute is transferred from phase_1 to phase_2. This mass transfer is governed by a parameter called the distribution coefficient.\n", + "\n", + "After reviewing the working principles of the Liquid - Liquid Extractor, we shall proceed to create a custom unit model. We will require a property package for each phase, a custom unit model class and tests for the model and property packages.\n", + "\n", + "Before commencing the development of the model, we need to state some assumptions which the following unit model will be using. \n", + "- Steady-state only\n", + "- Organic phase property package has a single phase named Org\n", + "- Aqueous phase property package has a single phase named Aq\n", + "- Organic and Aqueous phase properties need not have the same component list. \n", + "\n", + "Thus as per the assumptions, we will be creating one property package for the aqueous phase (Aq), and the other for the Organic phase (Org). " ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "solver = pyo.SolverFactory(\"ipopt\")\n", - "solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The model is probably infeasible thus indicating numerical issues with the model. We should call the `report_numerical_issues()` function and check what the constraints/variables causing this issue. " - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Jacobian Condition Number: 7.955E+03\n", - "\n", - "------------------------------------------------------------------------------------\n", - "2 WARNINGS\n", - "\n", - " WARNING: 6 Constraints with large residuals (>1.0E-05)\n", - " WARNING: 5 Variables at or outside bounds (tol=0.0E+00)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "3 Cautions\n", - "\n", - " Caution: 8 Variables with value close to their bounds (abs=1.0E-04, rel=1.0E-04)\n", - " Caution: 5 Variables with value close to zero (tol=1.0E-08)\n", - " Caution: 3 Variables with extreme value (<1.0E-04 or >1.0E+04)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " display_constraints_with_large_residuals()\n", - " display_variables_at_or_outside_bounds()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.report_numerical_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this scenario, it's observed that the condition number of the Jacobian is high, indicating that the Jacobian is ill-conditioned. Additionally, there are 2 warnings related to constraints with large residuals and variables at or outside the bounds. The cautions mentioned in the output are also related to these warnings.\n", - "\n", - "As suggested, the next steps would be to:\n", - "\n", - "- Call the `display_variables_at_or_outside_bounds()` function to investigate variables at or outside the bounds.\n", - "\n", - "- Call the `display_constraints_with_large_residuals()` function to examine constraints with large residuals.\n", - "\n", - "These steps will help identify the underlying causes of the numerical issues and constraints violations, allowing for further analysis and potential resolution. " - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1. Creating Organic Property Package\n", + "\n", + "Creating a property package is a 4 step process\n", + "- Import necessary libraries \n", + "- Creating Physical Parameter Data Block\n", + "- Define State Block\n", + "- Define State Block Data\n", + "\n", + "# 1.1 Importing necessary packages \n", + "Let us begin with importing the necessary libraries where we will be using functionalities from IDAES and Pyomo. " + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following variable(s) have values at or outside their bounds (tol=0.0E+00):\n", - "\n", - " fs.lex.organic_phase.properties_in[0.0].pressure (fixed): value=1.0 bounds=(1, 5)\n", - " fs.lex.organic_phase.properties_out[0.0].pressure (free): value=1 bounds=(1, 5)\n", - " fs.lex.aqueous_phase.properties_out[0.0].conc_mass_comp[NaCl] (free): value=0.0 bounds=(0, None)\n", - " fs.lex.aqueous_phase.properties_out[0.0].conc_mass_comp[KNO3] (free): value=0.0 bounds=(0, None)\n", - " fs.lex.aqueous_phase.properties_out[0.0].conc_mass_comp[CaSO4] (free): value=0.0 bounds=(0, None)\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.display_variables_at_or_outside_bounds()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this scenario, there are a couple of issues to address:\n", - "\n", - "- The pressure variable is fixed to 1, which is its lower bound. This could potentially lead to numerical issues, although it may not affect the model significantly since there is no pressure change in the model. To mitigate this, consider adjusting the lower bound of the pressure variable to avoid having its value at or outside the bounds.\n", - "\n", - "- The more concerning issue is with the `conc_mass_comp` variable attempting to go below 0 in the output. This suggests that there may be constraints involving `conc_mass_comp` in the aqueous phase causing this behavior. To investigate further, it's recommended to call the `display_constraints_with_large_residuals()` function. This will provide insights into whether constraints involving `conc_mass_comp` are contributing to the convergence issue." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# Import Python libraries\n", + "import logging\n", + "\n", + "import idaes.logger as idaeslog\n", + "from idaes.core.util.initialization import fix_state_vars\n", + "\n", + "# Import Pyomo libraries\n", + "from pyomo.environ import (\n", + " Param,\n", + " Set,\n", + " Var,\n", + " NonNegativeReals,\n", + " units,\n", + " Expression,\n", + " PositiveReals,\n", + ")\n", + "\n", + "# Import IDAES cores\n", + "from idaes.core import (\n", + " declare_process_block_class,\n", + " MaterialFlowBasis,\n", + " PhysicalParameterBlock,\n", + " StateBlockData,\n", + " StateBlock,\n", + " MaterialBalanceType,\n", + " EnergyBalanceType,\n", + " Solute,\n", + " Solvent,\n", + " LiquidPhase,\n", + ")\n", + "from idaes.core.util.model_statistics import degrees_of_freedom" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "The following constraint(s) have large residuals (>1.0E-05):\n", - "\n", - " fs.lex.material_aq_balance[0.0,NaCl]: 5.49716E-01\n", - " fs.lex.material_aq_balance[0.0,KNO3]: 8.94833E-01\n", - " fs.lex.material_aq_balance[0.0,CaSO4]: 5.48843E-02\n", - " fs.lex.aqueous_phase.material_balances[0.0,NaCl]: 1.67003E+01\n", - " fs.lex.aqueous_phase.material_balances[0.0,KNO3]: 3.91052E+01\n", - " fs.lex.aqueous_phase.material_balances[0.0,CaSO4]: 4.94512E+00\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.display_constraints_with_large_residuals()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As expected there are convergence issues with the constraints which have `conc_mass_comp` variable in them specifically in the aqeous phase. Now, let us investigate further by printing this constraints and checking the value of each term. Since this is an persistent issue across the components, we can focus on just one of the component to identify the issue. " - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1.2 Physical Parameter Data Block\n", + "\n", + "A `PhysicalParameterBlock` serves as the central point of reference for all aspects of the property package and needs to define several things about the package. These are summarized below:\n", + "\n", + "- Units of measurement\n", + "- What properties are supported and how they are implemented\n", + "- What components and phases are included in the packages\n", + "- All the global parameters necessary for calculating properties\n", + "- A reference to the associated State Block class, so that construction of the State Block components can be automated from the Physical Parameter Block\n", + "\n", + "To construct this block, we begin by declaring a process block class using a Python decorator. One can learn more about `declare_process_block_class` [here](https://github.com/IDAES/idaes-pse/blob/eea1209077b75f7d940d8958362e69d4650c079d/idaes/core/base/process_block.py#L173). After constructing the process block, we define a build function which contains all the components that the property package would have. `super` function here is used to give access to methods and properties of a parent or sibling class and since this is used on the class `PhysicalParameterData` class, build has access to all the parent and sibling class methods. \n", + "\n", + "The `PhysicalParameterBlock` then refers to the `state block`, in this case `OrgPhaseStateBlock` (which will be declared later), so that we can build a state block instance by only knowing the `PhysicalParameterBlock` we wish to use. Then we list the number of phases in this property package. Then we assign the variable to the phase which follows a naming convention. The solvent is in the Organic phase; we will assign the Phase as OrganicPhase, and the variable will be named Org as per the naming convention. The details of naming conventions can be found [here](https://github.com/IDAES/idaes-pse/blob/main/docs/explanations/conventions.rst). We will be following the same convention throughout the example. \n", + " \n", + "After defining the list of the phases, we move on to list the components and their type in the phase. It can be a solute or a solvent in the Organic phase. Thus, we define the component and assign it to either being a solute or a solvent. In this case, the salts are the solutes and Ethylene dibromide is the solvent. Next, we define the physical properties involved in the package, like the heat capacity and density of the solvent, the reference temperature, and the distribution factor that would govern the mass transfer from one phase into another. Additionally, a parameter, the `diffusion_factor`, is introduced. This factor plays a crucial role in governing mass transfer between phases, necessitating its definition within the state block.\n", + "\n", + "The final step in creating the Physical Parameter Block is to declare a `classmethod` named `define_metadata`, which takes two arguments: a class (cls) and an instance of that class (obj). In this method, we will call the predefined method `add_default_units()`.\n", + "\n", + "- `obj.add_default_units()` sets the default units metadata for the property package, and here we define units to be used with this property package as default. " + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "{Member of material_balances} : Material balances\n", - " Size=4, Index=fs._time*fs.aq_properties.component_list, Active=True\n", - " Key : Lower : Body : Upper : Active\n", - " (0.0, 'NaCl') : 0.0 : (fs.lex.aqueous_phase.properties_in[0.0].conc_mass_comp[NaCl]*fs.lex.aqueous_phase.properties_in[0.0].flow_vol) - (fs.lex.aqueous_phase.properties_out[0.0].conc_mass_comp[NaCl]*fs.lex.aqueous_phase.properties_out[0.0].flow_vol) + fs.lex.aqueous_phase.mass_transfer_term[0.0,Aq,NaCl] : 0.0 : True\n" - ] - } - ], - "source": [ - "m.fs.lex.aqueous_phase.material_balances[0.0, \"NaCl\"].pprint()" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "@declare_process_block_class(\"OrgPhase\")\n", + "class PhysicalParameterData(PhysicalParameterBlock):\n", + " \"\"\"\n", + " Property Parameter Block Class\n", + "\n", + " Contains parameters and indexing sets associated with properties for\n", + " organic Phase\n", + "\n", + " \"\"\"\n", + "\n", + " def build(self):\n", + " \"\"\"\n", + " Callable method for Block construction.\n", + " \"\"\"\n", + " super().build()\n", + "\n", + " self._state_block_class = OrgPhaseStateBlock\n", + "\n", + " # List of valid phases in property package\n", + " self.Org = LiquidPhase()\n", + "\n", + " # Component list - a list of component identifiers\n", + " self.NaCl = Solute()\n", + " self.KNO3 = Solute()\n", + " self.CaSO4 = Solute()\n", + " self.solvent = (\n", + " Solvent()\n", + " ) # Solvent used here is ethylene dibromide (Organic Polar)\n", + "\n", + " # Heat capacity of solvent\n", + " self.cp_mass = Param(\n", + " mutable=True,\n", + " initialize=717.01,\n", + " doc=\"Specific heat capacity of solvent\",\n", + " units=units.J / units.kg / units.K,\n", + " )\n", + "\n", + " self.dens_mass = Param(\n", + " mutable=True,\n", + " initialize=2170,\n", + " doc=\"Density of ethylene dibromide\",\n", + " units=units.kg / units.m**3,\n", + " )\n", + " self.temperature_ref = Param(\n", + " within=PositiveReals,\n", + " mutable=True,\n", + " default=298.15,\n", + " doc=\"Reference temperature\",\n", + " units=units.K,\n", + " )\n", + " self.diffusion_factor = Param(\n", + " self.solute_set,\n", + " initialize={\"NaCl\": 2.15, \"KNO3\": 3, \"CaSO4\": 1.5},\n", + " within=PositiveReals,\n", + " mutable=True,\n", + " )\n", + "\n", + " @classmethod\n", + " def define_metadata(cls, obj):\n", + " obj.add_default_units(\n", + " {\n", + " \"time\": units.hour,\n", + " \"length\": units.m,\n", + " \"mass\": units.g,\n", + " \"amount\": units.mol,\n", + " \"temperature\": units.K,\n", + " }\n", + " )" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "{Member of conc_mass_comp} : Component mass concentrations\n", - " Size=3, Index=fs.aq_properties.solutes, Units=g/l\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " NaCl : 0 : 0.15 : None : True : True : NonNegativeReals\n", - "flow_vol : Total volumetric flowrate\n", - " Size=1, Index=None, Units=l/h\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " None : 0 : 100.0 : None : True : True : NonNegativeReals\n", - "{Member of conc_mass_comp} : Component mass concentrations\n", - " Size=3, Index=fs.aq_properties.solutes, Units=g/l\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " NaCl : 0 : 0.0 : None : False : False : NonNegativeReals\n", - "flow_vol : Total volumetric flowrate\n", - " Size=1, Index=None, Units=l/h\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " None : 0 : 100.0 : None : False : False : NonNegativeReals\n", - "{Member of mass_transfer_term} : Component material transfer into unit\n", - " Size=4, Index=fs._time*fs.aq_properties._phase_component_set, Units=g/h\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " (0.0, 'Aq', 'NaCl') : None : -31.700284300098897 : None : False : False : Reals\n" - ] - } - ], - "source": [ - "m.fs.lex.aqueous_phase.properties_in[0.0].conc_mass_comp[\"NaCl\"].pprint()\n", - "m.fs.lex.aqueous_phase.properties_in[0.0].flow_vol.pprint()\n", - "m.fs.lex.aqueous_phase.properties_out[0.0].conc_mass_comp[\"NaCl\"].pprint()\n", - "m.fs.lex.aqueous_phase.properties_out[0.0].flow_vol.pprint()\n", - "m.fs.lex.aqueous_phase.mass_transfer_term[0.0, \"Aq\", \"NaCl\"].pprint()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "It seems there is a discrepancy between the mass transfer term and the amount of input of NaCl. This can be inferred from the values where the input equals 15g/h and the `mass_transfer_term` equals -31.706g/h.\n", - "\n", - "To further investigate this issue, it's advisable to examine the `material_aq_balance` constraint within the unit model where the `mass_transfer_term` is defined. By printing out this constraint and analyzing its components, you can gain a better understanding of the discrepancy and take appropriate corrective actions." - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1.3 State Block\n", + "\n", + "After the `PhysicalParameterBlock` class has been created, the next step is to write the code necessary to create the State Blocks that will be used throughout the flowsheet. `StateBlock` contains all the information necessary to define the state of the system. This includes the state variables and constraints on those variables which are used to describe a state property like the enthalpy, material balance, etc.\n", + "\n", + "Creating a State Block requires us to write two classes. The reason we write two classes is because of the inherent nature of how `declare_process_block_data` works. `declare_process_block_data` facilitates creating an `IndexedComponent` object which can handle multiple `ComponentData` objects which represent the component at each point in the indexing set. This makes it easier to build an instance of the model at each indexed point. However, State Blocks are slightly different, as they are always indexed (at least by time). Due to this, we often want to perform actions on all the elements of the indexed StateBlock all at once (rather than element by element).\n", + "\n", + "The class `_OrganicStateBlock` is defined without the `declare_process_block_data` decorator and thus works as a traditional class and this facilitates performing a method on the class as a whole rather than individual elements of the indexed property blocks. In this class we define the `fix_initialization_states` function. `fix_initialization_states` function is used to fix the state variable within the state block with the provided initial values (usually inlet conditions). It takes a `block` as the argument in which the state variables are to be fixed. It also takes `state_args` as an optional argument. `state_args` is a dictionary with the value for the state variables to be fixed. This function returns a dictionary indexed by the block, state variables and variable index indicating the fixed status of each variable before applying the function. \n", + "\n", + "The above function comprise of the _OrganicStateBlock. Next, we shall see the construction of the OrgPhaseStateBlockData class." + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "{Member of material_aq_balance} : Unit level material balances for Aq\n", - " Size=4, Index=fs._time*fs.aq_properties.component_list, Active=True\n", - " Key : Lower : Body : Upper : Active\n", - " (0.0, 'NaCl') : 0.0 : fs.lex.aqueous_phase.mass_transfer_term[0.0,Aq,NaCl] + fs.org_properties.diffusion_factor[NaCl]*(fs.lex.aqueous_phase.properties_in[0.0].conc_mass_comp[NaCl]*fs.lex.aqueous_phase.properties_in[0.0].flow_vol) : 0.0 : True\n" - ] - } - ], - "source": [ - "m.fs.lex.material_aq_balance[0.0, \"NaCl\"].pprint()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Here the problem can be tracked down easily as there being a typing error while recording the distribution factor. The distribution factor here was wrongly written ignoring its magnitude which should have been 1e-2, but that was missed, thus adjusting the distribution factor parameter we should have this issue resolved. " - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.org_properties.diffusion_factor[\"NaCl\"] = (\n", - " m.fs.org_properties.diffusion_factor[\"NaCl\"] / 100\n", - ")\n", - "m.fs.org_properties.diffusion_factor[\"KNO3\"] = (\n", - " m.fs.org_properties.diffusion_factor[\"KNO3\"] / 100\n", - ")\n", - "m.fs.org_properties.diffusion_factor[\"CaSO4\"] = (\n", - " m.fs.org_properties.diffusion_factor[\"CaSO4\"] / 100\n", - ")\n", - "\n", - "m.fs.lex.organic_phase.properties_in[0.0].pressure.setlb(0.5)\n", - "m.fs.lex.organic_phase.properties_out[0.0].pressure.setlb(0.5)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "After the corrective actions, we should check if this have made any structural issues, for this we would call `report_structural_issues()`" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "class _OrganicStateBlock(StateBlock):\n", + " \"\"\"\n", + " This Class contains methods which should be applied to Property Blocks as a\n", + " whole, rather than individual elements of indexed Property Blocks.\n", + " \"\"\"\n", + "\n", + " def fix_initialization_states(self):\n", + " fix_state_vars(self)" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "====================================================================================\n", - "Model Statistics\n", - "\n", - " Activated Blocks: 21 (Deactivated: 0)\n", - " Free Variables in Activated Constraints: 16 (External: 0)\n", - " Free Variables with only lower bounds: 8\n", - " Free Variables with only upper bounds: 0\n", - " Free Variables with upper and lower bounds: 0\n", - " Fixed Variables in Activated Constraints: 8 (External: 0)\n", - " Activated Equality Constraints: 16 (Deactivated: 0)\n", - " Activated Inequality Constraints: 0 (Deactivated: 0)\n", - " Activated Objectives: 0 (Deactivated: 0)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "0 WARNINGS\n", - "\n", - " No warnings found!\n", - "\n", - "------------------------------------------------------------------------------------\n", - "1 Cautions\n", - "\n", - " Caution: 10 unused variables (4 fixed)\n", - "\n", - "------------------------------------------------------------------------------------\n", - "Suggested next steps:\n", - "\n", - " Try to initialize/solve your model and then call report_numerical_issues()\n", - "\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "dt.report_structural_issues()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now since there are no warnings we can go ahead and solve the model and see if the results are optimal. " - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The class `OrgPhaseStateBlockData` is designated with the `declare_process_block_class` decorator, named `OrgPhaseStateBlock`, and inherits the block class from `_OrganicStateBlock`. This inheritance allows `OrgPhaseStateBlockData` to leverage functions from `_OrganicStateBlock`. Following the class definition, a build function similar to the one used in the `PhysicalParameterData` block is employed. The super function is utilized to enable the utilization of functions from the parent or sibling class.\n", + "\n", + "The subsequent objective is to delineate the state variables, accomplished through the `_make_state_vars` method. This method encompasses all the essential state variables and associated data. For this particular property package, the required state variables are:\n", + "\n", + "- `flow_vol` - volumetric flow rate\n", + "- `conc_mass_comp` - mass fractions\n", + "- `pressure` - state pressure\n", + "- `temperature` - state temperature\n", + "\n", + "After establishing the state variables, the subsequent step involves setting up state properties as constraints. This includes specifying the relationships and limitations that dictate the system's behavior. The following properties need to be articulated:\n", + "\n", + "-`get_material_flow_terms`: quantifies the amount of material flow.\n", + "- `get_enthalpy_flow_terms`: quantifies the amount of enthalpy flow.\n", + "- `get_flow_rate`: details volumetric flow rates.\n", + "- `default_material_balance_type`: defines the kind of material balance to be used.\n", + "- `default_energy_balance_type`: defines the kind of energy balance to be used.\n", + "- `define_state_vars`: involves defining state variables with units, akin to the define_metadata function in the PhysicalParameterData block.\n", + "- `get_material_flow_basis`: establishes the basis on which state variables are measured, whether in mass or molar terms.\n", + "\n", + "These definitions mark the conclusion of the state block construction and thus the property package. For additional details on creating a property package, please refer to this [resource](../../properties/custom/custom_physical_property_packages_usr.ipynb ).\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "@declare_process_block_class(\"OrgPhaseStateBlock\", block_class=_OrganicStateBlock)\n", + "class OrgPhaseStateBlockData(StateBlockData):\n", + " \"\"\"\n", + " An example property package for Organic phase for liquid liquid extraction\n", + " \"\"\"\n", + "\n", + " def build(self):\n", + " \"\"\"\n", + " Callable method for Block construction\n", + " \"\"\"\n", + " super().build()\n", + " self._make_state_vars()\n", + "\n", + " def _make_state_vars(self):\n", + " self.flow_vol = Var(\n", + " initialize=1,\n", + " domain=NonNegativeReals,\n", + " doc=\"Total volumetric flowrate\",\n", + " units=units.L / units.hour,\n", + " )\n", + " self.conc_mass_comp = Var(\n", + " self.params.solute_set,\n", + " domain=NonNegativeReals,\n", + " initialize=1,\n", + " doc=\"Component mass concentrations\",\n", + " units=units.g / units.L,\n", + " )\n", + " self.pressure = Var(\n", + " domain=NonNegativeReals,\n", + " initialize=1,\n", + " bounds=(1, 5),\n", + " units=units.atm,\n", + " doc=\"State pressure [atm]\",\n", + " )\n", + "\n", + " self.temperature = Var(\n", + " domain=NonNegativeReals,\n", + " initialize=300,\n", + " bounds=(273, 373),\n", + " units=units.K,\n", + " doc=\"State temperature [K]\",\n", + " )\n", + "\n", + " def material_flow_expression(self, j):\n", + " if j == \"solvent\":\n", + " return self.flow_vol * self.params.dens_mass\n", + " else:\n", + " return self.flow_vol * self.conc_mass_comp[j]\n", + "\n", + " self.material_flow_expression = Expression(\n", + " self.component_list,\n", + " rule=material_flow_expression,\n", + " doc=\"Material flow terms\",\n", + " )\n", + "\n", + " def enthalpy_flow_expression(self):\n", + " return (\n", + " self.flow_vol\n", + " * self.params.dens_mass\n", + " * self.params.cp_mass\n", + " * (self.temperature - self.params.temperature_ref)\n", + " )\n", + "\n", + " self.enthalpy_flow_expression = Expression(\n", + " rule=enthalpy_flow_expression, doc=\"Enthalpy flow term\"\n", + " )\n", + "\n", + " def get_flow_rate(self):\n", + " return self.flow_vol\n", + "\n", + " def get_material_flow_terms(self, p, j):\n", + " return self.material_flow_expression[j]\n", + "\n", + " def get_enthalpy_flow_terms(self, p):\n", + " return self.enthalpy_flow_expression\n", + "\n", + " def default_material_balance_type(self):\n", + " return MaterialBalanceType.componentTotal\n", + "\n", + " def default_energy_balance_type(self):\n", + " return EnergyBalanceType.enthalpyTotal\n", + "\n", + " def define_state_vars(self):\n", + " return {\n", + " \"flow_vol\": self.flow_vol,\n", + " \"conc_mass_comp\": self.conc_mass_comp,\n", + " \"temperature\": self.temperature,\n", + " \"pressure\": self.pressure,\n", + " }\n", + "\n", + " def get_material_flow_basis(self):\n", + " return MaterialFlowBasis.mass" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2. Creating Aqueous Property Package\n", + "\n", + "The structure of the Aqueous Property Package mirrors that of the Organic Property Package we previously developed. We'll commence with an overview, importing the required libraries, followed by the creation of the physical property block and two state blocks. The distinctions in this package lie in the physical parameter values, and notably, the absence of the diffusion factor term, differentiating it from the prior package. The following code snippet should provide clarity on these distinctions." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "# Import Python libraries\n", + "import logging\n", + "\n", + "from idaes.core.util.initialization import fix_state_vars\n", + "\n", + "# Import Pyomo libraries\n", + "from pyomo.environ import (\n", + " Param,\n", + " Var,\n", + " NonNegativeReals,\n", + " units,\n", + " Expression,\n", + " PositiveReals,\n", + ")\n", + "\n", + "# Import IDAES cores\n", + "from idaes.core import (\n", + " declare_process_block_class,\n", + " MaterialFlowBasis,\n", + " PhysicalParameterBlock,\n", + " StateBlockData,\n", + " StateBlock,\n", + " MaterialBalanceType,\n", + " EnergyBalanceType,\n", + " Solute,\n", + " Solvent,\n", + " LiquidPhase,\n", + ")\n", + "\n", + "# Some more information about this module\n", + "__author__ = \"Javal Vyas\"\n", + "\n", + "\n", + "# Set up logger\n", + "_log = logging.getLogger(__name__)\n", + "\n", + "\n", + "@declare_process_block_class(\"AqPhase\")\n", + "class AqPhaseData(PhysicalParameterBlock):\n", + " \"\"\"\n", + " Property Parameter Block Class\n", + "\n", + " Contains parameters and indexing sets associated with properties for\n", + " aqueous Phase\n", + "\n", + " \"\"\"\n", + "\n", + " def build(self):\n", + " \"\"\"\n", + " Callable method for Block construction.\n", + " \"\"\"\n", + " super().build()\n", + "\n", + " self._state_block_class = AqPhaseStateBlock\n", + "\n", + " # List of valid phases in property package\n", + " self.Aq = LiquidPhase()\n", + "\n", + " # Component list - a list of component identifiers\n", + " self.NaCl = Solute()\n", + " self.KNO3 = Solute()\n", + " self.CaSO4 = Solute()\n", + " self.H2O = Solvent()\n", + "\n", + " # Heat capacity of solvent\n", + " self.cp_mass = Param(\n", + " mutable=True,\n", + " initialize=4182,\n", + " doc=\"Specific heat capacity of solvent\",\n", + " units=units.J / units.kg / units.K,\n", + " )\n", + "\n", + " self.dens_mass = Param(\n", + " mutable=True,\n", + " initialize=997,\n", + " doc=\"Density of ethylene dibromide\",\n", + " units=units.kg / units.m**3,\n", + " )\n", + " self.temperature_ref = Param(\n", + " within=PositiveReals,\n", + " mutable=True,\n", + " default=298.15,\n", + " doc=\"Reference temperature\",\n", + " units=units.K,\n", + " )\n", + "\n", + " @classmethod\n", + " def define_metadata(cls, obj):\n", + " obj.add_default_units(\n", + " {\n", + " \"time\": units.hour,\n", + " \"length\": units.m,\n", + " \"mass\": units.g,\n", + " \"amount\": units.mol,\n", + " \"temperature\": units.K,\n", + " }\n", + " )\n", + "\n", + "\n", + "class _AqueousStateBlock(StateBlock):\n", + " \"\"\"\n", + " This Class contains methods which should be applied to Property Blocks as a\n", + " whole, rather than individual elements of indexed Property Blocks.\n", + " \"\"\"\n", + "\n", + " def fix_initialization_states(self):\n", + " fix_state_vars(self)\n", + "\n", + "\n", + "@declare_process_block_class(\"AqPhaseStateBlock\", block_class=_AqueousStateBlock)\n", + "class AqPhaseStateBlockData(StateBlockData):\n", + " \"\"\"\n", + " An example property package for ideal gas properties with Gibbs energy\n", + " \"\"\"\n", + "\n", + " def build(self):\n", + " \"\"\"\n", + " Callable method for Block construction\n", + " \"\"\"\n", + " super().build()\n", + " self._make_state_vars()\n", + "\n", + " def _make_state_vars(self):\n", + " self.flow_vol = Var(\n", + " initialize=1,\n", + " domain=NonNegativeReals,\n", + " doc=\"Total volumetric flowrate\",\n", + " units=units.L / units.hour,\n", + " )\n", + "\n", + " self.conc_mass_comp = Var(\n", + " self.params.solute_set,\n", + " domain=NonNegativeReals,\n", + " initialize={\"NaCl\": 0.15, \"KNO3\": 0.2, \"CaSO4\": 0.1},\n", + " doc=\"Component mass concentrations\",\n", + " units=units.g / units.L,\n", + " )\n", + "\n", + " self.pressure = Var(\n", + " domain=NonNegativeReals,\n", + " initialize=1,\n", + " bounds=(1, 5),\n", + " units=units.atm,\n", + " doc=\"State pressure [atm]\",\n", + " )\n", + "\n", + " self.temperature = Var(\n", + " domain=NonNegativeReals,\n", + " initialize=300,\n", + " bounds=(273, 373),\n", + " units=units.K,\n", + " doc=\"State temperature [K]\",\n", + " )\n", + "\n", + " def material_flow_expression(self, j):\n", + " if j == \"H2O\":\n", + " return self.flow_vol * self.params.dens_mass\n", + " else:\n", + " return self.conc_mass_comp[j] * self.flow_vol\n", + "\n", + " self.material_flow_expression = Expression(\n", + " self.component_list,\n", + " rule=material_flow_expression,\n", + " doc=\"Material flow terms\",\n", + " )\n", + "\n", + " def enthalpy_flow_expression(self):\n", + " return (\n", + " self.flow_vol\n", + " * self.params.dens_mass\n", + " * self.params.cp_mass\n", + " * (self.temperature - self.params.temperature_ref)\n", + " )\n", + "\n", + " self.enthalpy_flow_expression = Expression(\n", + " rule=enthalpy_flow_expression, doc=\"Enthalpy flow term\"\n", + " )\n", + "\n", + " def get_flow_rate(self):\n", + " return self.flow_vol\n", + "\n", + " def get_material_flow_terms(self, p, j):\n", + " return self.material_flow_expression[j]\n", + "\n", + " def get_enthalpy_flow_terms(self, p):\n", + " return self.enthalpy_flow_expression\n", + "\n", + " def default_material_balance_type(self):\n", + " return MaterialBalanceType.componentTotal\n", + "\n", + " def default_energy_balance_type(self):\n", + " return EnergyBalanceType.enthalpyTotal\n", + "\n", + " def define_state_vars(self):\n", + " return {\n", + " \"flow_vol\": self.flow_vol,\n", + " \"conc_mass_comp\": self.conc_mass_comp,\n", + " \"temperature\": self.temperature,\n", + " \"pressure\": self.pressure,\n", + " }\n", + "\n", + " def get_material_flow_basis(self):\n", + " return MaterialFlowBasis.mass" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 3. Liquid Liquid Extractor Unit Model\n", + "\n", + "Following the creation of property packages, our next step is to develop a unit model that facilitates the mass transfer of solutes between phases. This involves importing necessary libraries, building the unit model, defining auxiliary functions, and establishing the initialization routine for the unit model.\n", + "\n", + "## 3.1 Importing necessary libraries\n", + "\n", + "Let's commence by importing the essential libraries from Pyomo and IDAES." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# Import Pyomo libraries\n", + "from pyomo.common.config import ConfigBlock, ConfigValue, In, Bool\n", + "from pyomo.environ import (\n", + " value,\n", + " Constraint,\n", + " check_optimal_termination,\n", + ")\n", + "\n", + "# Import IDAES cores\n", + "from idaes.core import (\n", + " ControlVolume0DBlock,\n", + " declare_process_block_class,\n", + " MaterialBalanceType,\n", + " EnergyBalanceType,\n", + " MaterialFlowBasis,\n", + " MomentumBalanceType,\n", + " UnitModelBlockData,\n", + " useDefault,\n", + ")\n", + "from idaes.core.util.config import (\n", + " is_physical_parameter_block,\n", + " is_reaction_parameter_block,\n", + ")\n", + "\n", + "import idaes.logger as idaeslog\n", + "from idaes.core.solvers import get_solver\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.core.util.exceptions import ConfigurationError, InitializationError" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.2 Creating the unit model\n", + "\n", + "Creating a unit model starts by creating a class called `LiqExtractionData` and using the `declare_process_block_class` decorator. The `LiqExtractionData` inherits the properties of the `UnitModelBlockData` class, which allows us to create a control volume that is necessary for the unit model. After declaration of the class we proceed to define the relevant config arguments for the control volume. The config arguments include the following properties:\n", + "\n", + "- `material_balance_type` - Indicates what type of mass balance should be constructed\n", + "- `has_pressure_change` - Indicates whether terms for pressure change should be\n", + "constructed\n", + "- `has_phase_equilibrium` - Indicates whether terms for phase equilibrium should be\n", + "constructed\n", + "- `organic_property_package` - Property parameter object used to define property calculations\n", + "for the Organic phase\n", + "- `organic_property_package_args` - Arguments to use for constructing Organic phase properties\n", + "- `aqueous_property_package` - Property parameter object used to define property calculations\n", + "for the aqueous phase\n", + "- `aqueous_property_package_args` - Arguments to use for constructing aqueous phase properties\n", + "\n", + "As there are no pressure changes or reactions in this scenario, configuration arguments for these aspects are not included. However, additional details on configuration arguments can be found [here](https://github.com/IDAES/idaes-pse/blob/8948c6ce27d4c7f2c06b377a173f413599091998/idaes/models/unit_models/cstr.py)." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "@declare_process_block_class(\"LiqExtraction\")\n", + "class LiqExtractionData(UnitModelBlockData):\n", + " \"\"\"\n", + " LiqExtraction Unit Model Class\n", + " \"\"\"\n", + "\n", + " CONFIG = UnitModelBlockData.CONFIG()\n", + "\n", + " CONFIG.declare(\n", + " \"material_balance_type\",\n", + " ConfigValue(\n", + " default=MaterialBalanceType.useDefault,\n", + " domain=In(MaterialBalanceType),\n", + " description=\"Material balance construction flag\",\n", + " doc=\"\"\"Indicates what type of mass balance should be constructed,\n", + " **default** - MaterialBalanceType.useDefault.\n", + " **Valid values:** {\n", + " **MaterialBalanceType.useDefault - refer to property package for default\n", + " balance type\n", + " **MaterialBalanceType.none** - exclude material balances,\n", + " **MaterialBalanceType.componentPhase** - use phase component balances,\n", + " **MaterialBalanceType.componentTotal** - use total component balances,\n", + " **MaterialBalanceType.elementTotal** - use total element balances,\n", + " **MaterialBalanceType.total** - use total material balance.}\"\"\",\n", + " ),\n", + " )\n", + " CONFIG.declare(\n", + " \"has_pressure_change\",\n", + " ConfigValue(\n", + " default=False,\n", + " domain=Bool,\n", + " description=\"Pressure change term construction flag\",\n", + " doc=\"\"\"Indicates whether terms for pressure change should be\n", + " constructed,\n", + " **default** - False.\n", + " **Valid values:** {\n", + " **True** - include pressure change terms,\n", + " **False** - exclude pressure change terms.}\"\"\",\n", + " ),\n", + " )\n", + " CONFIG.declare(\n", + " \"has_phase_equilibrium\",\n", + " ConfigValue(\n", + " default=False,\n", + " domain=Bool,\n", + " description=\"Phase equilibrium construction flag\",\n", + " doc=\"\"\"Indicates whether terms for phase equilibrium should be\n", + " constructed,\n", + " **default** = False.\n", + " **Valid values:** {\n", + " **True** - include phase equilibrium terms\n", + " **False** - exclude phase equilibrium terms.}\"\"\",\n", + " ),\n", + " )\n", + " CONFIG.declare(\n", + " \"organic_property_package\",\n", + " ConfigValue(\n", + " default=useDefault,\n", + " domain=is_physical_parameter_block,\n", + " description=\"Property package to use for organic phase\",\n", + " doc=\"\"\"Property parameter object used to define property calculations\n", + " for the organic phase,\n", + " **default** - useDefault.\n", + " **Valid values:** {\n", + " **useDefault** - use default package from parent model or flowsheet,\n", + " **PropertyParameterObject** - a PropertyParameterBlock object.}\"\"\",\n", + " ),\n", + " )\n", + " CONFIG.declare(\n", + " \"organic_property_package_args\",\n", + " ConfigBlock(\n", + " implicit=True,\n", + " description=\"Arguments to use for constructing organic phase properties\",\n", + " doc=\"\"\"A ConfigBlock with arguments to be passed to organic phase\n", + " property block(s) and used when constructing these,\n", + " **default** - None.\n", + " **Valid values:** {\n", + " see property package for documentation.}\"\"\",\n", + " ),\n", + " )\n", + " CONFIG.declare(\n", + " \"aqueous_property_package\",\n", + " ConfigValue(\n", + " default=useDefault,\n", + " domain=is_physical_parameter_block,\n", + " description=\"Property package to use for aqueous phase\",\n", + " doc=\"\"\"Property parameter object used to define property calculations\n", + " for the aqueous phase,\n", + " **default** - useDefault.\n", + " **Valid values:** {\n", + " **useDefault** - use default package from parent model or flowsheet,\n", + " **PropertyParameterObject** - a PropertyParameterBlock object.}\"\"\",\n", + " ),\n", + " )\n", + " CONFIG.declare(\n", + " \"aqueous_property_package_args\",\n", + " ConfigBlock(\n", + " implicit=True,\n", + " description=\"Arguments to use for constructing aqueous phase properties\",\n", + " doc=\"\"\"A ConfigBlock with arguments to be passed to aqueous phase\n", + " property block(s) and used when constructing these,\n", + " **default** - None.\n", + " **Valid values:** {\n", + " see property package for documentation.}\"\"\",\n", + " ),\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Building the model\n", + "\n", + "After constructing the `LiqExtractionData` block and defining the config arguments for the control block, the next step is to write a build function that incorporates the control volume and establishes constraints on the control volume to achieve the desired mass transfer. The control volume serves as a pivotal component in the unit model construction, representing the volume in which the process unfolds.\n", + "\n", + "IDAES provides flexibility in choosing control volumes based on geometry, with options including 0D or 1D. In this instance, we opt for a 0D control volume, the most commonly used control volume. This choice is suitable for systems where there is a well-mixed volume of fluid or where spatial variations are deemed negligible.\n", + "\n", + "The control volume encompasses parameters from (1-8), and its equations are configured to satisfy the specified config arguments. For a more in-depth understanding, users are encouraged to refer to [this resource](https://github.com/IDAES/idaes-pse/blob/2f34dd3abc1bce5ba17c80939a01f9034e4fbeef/docs/reference_guides/core/control_volume_0d.rst). \n", + "\n", + "The `build` function is initiated using the `super` function to gain access to methods and properties of a parent or sibling class, in this case, the `LiqExtractionData` class. Following the `super` function, checks are performed on the property packages to ensure the appropriate names for the solvents, such as 'Aq' for the aqueous phase and 'Org' for the organic phase. An error is raised if these conditions are not met. Subsequently, a check is performed to ensure there is at least one common component between the two property packages that can be transferred from one phase to another.\n", + "\n", + "After these checks are completed without any exceptions raised, it is ensured that the property packages have the desired components with appropriate names. The next step is to create a control volume and assign it to a property package. Here, we initiate with the organic phase and attach a 0D control volume to it. The control volume takes arguments about the dynamics of the block, and the property package, along with property package arguments. \n", + "\n", + "The subsequent steps involve adding inlet and outlet state blocks to the control volume using the `add_state_blocks` function. This function takes arguments about the flow direction (defaulted to forward) and a flag for `has_phase_equilibrium`, which is read from the config. The control volume is now equipped with the inlet and outlet state blocks and has access to the organic property package\n", + "\n", + "Next, material balance equations are added to the control volume using the `add_material_balance` function, taking into account the type of material balance, `has_phase_equilibrium`, and the presence of `has_mass_transfer`. To understand this arguments further let us have a look at the material balance equation and how it is implemented in control volume. \n", + "\n", + "$\\frac{\\partial M_{t, p, j}}{\\partial t} = F_{in, t, p, j} - F_{out, t, p, j} + N_{kinetic, t, p, j} + N_{equilibrium, t, p, j} + N_{pe, t, p, j} + N_{transfer, t, p, j} + N_{custom, t, p, j}$\n", + "\n", + "- $\\frac{\\partial M_{t, p, j}}{\\partial t}$ - Material accumulation\n", + "- $F_{in, t, p, j}$ - Flow into the control volume\n", + "- $F_{out, t, p, j}$ - Flow out of the control volume\n", + "- $N_{kinetic, t, p, j}$ - Rate of reaction generation\n", + "- $N_{equilibrium, t, p, j}$ - Equilibrium reaction generation\n", + "- $N_{pe, t, p, j}$ - Equilibrium reaction extent\n", + "- $N_{transfer, t, p, j}$ - Mass transfer\n", + "- $N_{custom, t, p, j}$ - User defined terms in material balance\n", + "\n", + "- t indicates time index\n", + "- p indicates phase index\n", + "- j indicates component index\n", + "- e indicates element index\n", + "- r indicates reaction name index\n", + "\n", + "Here we shall see that $N_{transfer, t, p, j}$ is the term in the equation which is responsible for the mass transfer and the `mass_transfer_term` should only be equal to the amount being transferred and not include a material balance on our own. For a detailed description of the terms one should refer to the following [resource.](https://github.com/IDAES/idaes-pse/blob/2f34dd3abc1bce5ba17c80939a01f9034e4fbeef/docs/reference_guides/core/control_volume_0d.rst)\n", + "\n", + "This concludes the creation of the organic phase control volume. A similar procedure is done for the aqueous phase control volume with aqueous property package. \n", + "\n", + "Now, the unit model has two control volumes with appropriate configurations and material, momentum and energy balances. The next step is to check the basis of the two property packages. They should both have the same flow basis, and an error is raised if this is not the case.\n", + "\n", + "Following this, the `add_inlet_ports` and `add_outlet_ports` functions are used to create inlet and outlet ports. These ports are named and assigned to each control volume, resulting in labeled inlet and outlet ports for each control volume.\n", + "\n", + "The subsequent steps involve writing unit-level constraints. A check if the basis is either molar or mass, and unit-level constraints are written accordingly. The first constraint pertains to the mass transfer term for the aqueous phase. The mass transfer term is equal to $mass\\_transfer\\_term_{aq} = (D_{i})\\frac{mass_{i}~in~aq~phase}{flowrate~of~aq~phase}$. The second constraint relates to the mass transfer term in the organic phase, which is the negative of the mass transfer term in the aqueous phase: $mass\\_transfer\\_term_{org} = - mass\\_transfer\\_term_{aq} $\n", + "\n", + "Here $mass\\_transfer\\_term_{p}$ is the term indicating the amount of material being transferred from/to the phase and $D_{i}$ is the Distribution coefficient for component i. \n", + "\n", + "This marks the completion of the build function, and the unit model is now equipped with the necessary process constraints. The subsequent steps involve writing the initialization routine." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "def build(self):\n", + " \"\"\"\n", + " Begin building model (pre-DAE transformation).\n", + " Args:\n", + " None\n", + " Returns:\n", + " None\n", + " \"\"\"\n", + " # Call UnitModel.build to setup dynamics\n", + " super().build()\n", + "\n", + " # Check phase lists match assumptions\n", + " if self.config.aqueous_property_package.phase_list != [\"Aq\"]:\n", + " raise ConfigurationError(\n", + " f\"{self.name} Liquid-Liquid Extractor model requires that the aqueous \"\n", + " f\"phase property package have a single phase named 'Aq'\"\n", + " )\n", + " if self.config.organic_property_package.phase_list != [\"Org\"]:\n", + " raise ConfigurationError(\n", + " f\"{self.name} Liquid-Liquid Extractor model requires that the organic \"\n", + " f\"phase property package have a single phase named 'Org'\"\n", + " )\n", + "\n", + " # Check for at least one common component in component lists\n", + " if not any(\n", + " j in self.config.aqueous_property_package.component_list\n", + " for j in self.config.organic_property_package.component_list\n", + " ):\n", + " raise ConfigurationError(\n", + " f\"{self.name} Liquid-Liquid Extractor model requires that the organic \"\n", + " f\"and aqueous phase property packages have at least one \"\n", + " f\"common component.\"\n", + " )\n", + "\n", + " self.organic_phase = ControlVolume0DBlock(\n", + " dynamic=self.config.dynamic,\n", + " property_package=self.config.organic_property_package,\n", + " property_package_args=self.config.organic_property_package_args,\n", + " )\n", + "\n", + " self.organic_phase.add_state_blocks(\n", + " has_phase_equilibrium=self.config.has_phase_equilibrium\n", + " )\n", + "\n", + " # Separate organic and aqueous phases means that phase equilibrium will\n", + " # be handled at the unit model level, thus has_phase_equilibrium is\n", + " # False, but has_mass_transfer is True.\n", + "\n", + " self.organic_phase.add_material_balances(\n", + " balance_type=self.config.material_balance_type,\n", + " has_phase_equilibrium=self.config.has_phase_equilibrium,\n", + " has_mass_transfer=True,\n", + " )\n", + " # ---------------------------------------------------------------------\n", + "\n", + " self.aqueous_phase = ControlVolume0DBlock(\n", + " dynamic=self.config.dynamic,\n", + " property_package=self.config.aqueous_property_package,\n", + " property_package_args=self.config.aqueous_property_package_args,\n", + " )\n", + "\n", + " self.aqueous_phase.add_state_blocks(\n", + " has_phase_equilibrium=self.config.has_phase_equilibrium\n", + " )\n", + "\n", + " # Separate liquid and aqueous phases means that phase equilibrium will\n", + " # be handled at the unit model level, thus has_phase_equilibrium is\n", + " # False, but has_mass_transfer is True.\n", + "\n", + " self.aqueous_phase.add_material_balances(\n", + " balance_type=self.config.material_balance_type,\n", + " # has_rate_reactions=False,\n", + " has_phase_equilibrium=self.config.has_phase_equilibrium,\n", + " has_mass_transfer=True,\n", + " )\n", + "\n", + " self.aqueous_phase.add_geometry()\n", + "\n", + " # ---------------------------------------------------------------------\n", + " # Check flow basis is compatible\n", + " t_init = self.flowsheet().time.first()\n", + " if (\n", + " self.aqueous_phase.properties_out[t_init].get_material_flow_basis()\n", + " != self.organic_phase.properties_out[t_init].get_material_flow_basis()\n", + " ):\n", + " raise ConfigurationError(\n", + " f\"{self.name} aqueous and organic property packages must use the \"\n", + " f\"same material flow basis.\"\n", + " )\n", + "\n", + " self.organic_phase.add_geometry()\n", + "\n", + " # Add Ports\n", + " self.add_inlet_port(\n", + " name=\"organic_inlet\", block=self.organic_phase, doc=\"Organic feed\"\n", + " )\n", + " self.add_inlet_port(\n", + " name=\"aqueous_inlet\", block=self.aqueous_phase, doc=\"Aqueous feed\"\n", + " )\n", + " self.add_outlet_port(\n", + " name=\"organic_outlet\", block=self.organic_phase, doc=\"Organic outlet\"\n", + " )\n", + " self.add_outlet_port(\n", + " name=\"aqueous_outlet\",\n", + " block=self.aqueous_phase,\n", + " doc=\"Aqueous outlet\",\n", + " )\n", + "\n", + " # ---------------------------------------------------------------------\n", + " # Add unit level constraints\n", + " # First, need the union and intersection of component lists\n", + " all_comps = (\n", + " self.aqueous_phase.properties_out.component_list\n", + " | self.organic_phase.properties_out.component_list\n", + " )\n", + " common_comps = (\n", + " self.aqueous_phase.properties_out.component_list\n", + " & self.organic_phase.properties_out.component_list\n", + " )\n", + "\n", + " # Get units for unit conversion\n", + " aunits = self.config.aqueous_property_package.get_metadata().get_derived_units\n", + " lunits = self.config.organic_property_package.get_metadata().get_derived_units\n", + " flow_basis = self.aqueous_phase.properties_out[t_init].get_material_flow_basis()\n", + "\n", + " if flow_basis == MaterialFlowBasis.mass:\n", + " fb = \"flow_mass\"\n", + " else:\n", + " raise ConfigurationError(\n", + " f\"{self.name} Liquid-Liquid Extractor only supports mass \"\n", + " f\"basis for MaterialFlowBasis.\"\n", + " )\n", + "\n", + " # Material balances\n", + " def rule_material_aq_balance(self, t, j):\n", + " if j in common_comps:\n", + " return self.aqueous_phase.mass_transfer_term[\n", + " t, \"Aq\", j\n", + " ] == -self.organic_phase.config.property_package.diffusion_factor[j] * (\n", + " self.aqueous_phase.properties_in[t].get_material_flow_terms(\"Aq\", j)\n", + " )\n", + " elif j in self.organic_phase.properties_out.component_list:\n", + " # No mass transfer term\n", + " # Set organic flowrate to an arbitrary small value\n", + " return self.organic_phase.mass_transfer_term[t, \"Org\", j] == 0 * lunits(fb)\n", + " elif j in self.aqueous_phase.properties_out.component_list:\n", + " # No mass transfer term\n", + " # Set aqueous flowrate to an arbitrary small value\n", + " return self.aqueous_phase.mass_transfer_term[t, \"Aq\", j] == 0 * aunits(fb)\n", + "\n", + " self.material_aq_balance = Constraint(\n", + " self.flowsheet().time,\n", + " self.aqueous_phase.properties_out.component_list,\n", + " rule=rule_material_aq_balance,\n", + " doc=\"Unit level material balances for Aq\",\n", + " )\n", + "\n", + " def rule_material_liq_balance(self, t, j):\n", + " if j in common_comps:\n", + " return (\n", + " self.organic_phase.mass_transfer_term[t, \"Org\", j]\n", + " == -self.aqueous_phase.mass_transfer_term[t, \"Aq\", j]\n", + " )\n", + " else:\n", + " # No mass transfer term\n", + " # Set organic flowrate to an arbitrary small value\n", + " return self.organic_phase.mass_transfer_term[t, \"Org\", j] == 0 * aunits(fb)\n", + "\n", + " self.material_org_balance = Constraint(\n", + " self.flowsheet().time,\n", + " self.organic_phase.properties_out.component_list,\n", + " rule=rule_material_liq_balance,\n", + " doc=\"Unit level material balances Org\",\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Initialization Routine\n", + "\n", + "After writing the unit model it is crucial to initialize the model properly, as non-linear models may encounter local minima or infeasibility if not initialized properly. IDAES provides us with a few initialization routines which may not work for all the models, and in such cases the developer will have to define their own initialization routines. \n", + "\n", + "To create a custom initialization routine, model developers must create an initialize method as part of their model, and provide a sequence of steps intended to build up a feasible solution. Initialization routines generally make use of Pyomo\u2019s tools for activating and deactivating constraints and often involve solving multiple sub-problems whilst building up an initial state.\n", + "\n", + "For this tutorial we would use the pre-defined initialization routine of `BlockTriangularizationInitializer` when initializing the model in the flowsheet. This Initializer should be suitable for most models, but may struggle to initialize\n", + "tightly coupled systems of equations. This method of initialization will follow the following workflow. \n", + "\n", + "- Have precheck for structural singularity\n", + "- Run incidence analysis on given block data and check matching.\n", + "- Call Block Triangularization solver on the model.\n", + "- Call solve_strongly_connected_components on a given BlockData.\n", + "\n", + "More details about this initialization routine can be found [here](https://github.com/IDAES/idaes-pse/blob/c09433b9afed5ae2fe25c0ccdc732783324f0101/idaes/core/initialization/block_triangularization.py). \n", + "\n", + "\n", + "This marks the conclusion of creating a custom unit model, for a more detailed explanation on creating a unit model refer [this resource](../../unit_models/custom_unit_models/custom_compressor_usr.ipynb). The next sections will deal with the diagnostics and testing of the property package and unit model. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.3 Building a Flowsheet\n", + "\n", + "Once we have set up the unit model and its property packages, we can start building a flowsheet using them. In this tutorial, we're focusing on a simple flowsheet with just a liquid-liquid extractor. To create the flowsheet we follow the following steps:\n", + "\n", + "- Import necessary libraries\n", + "- Create a Pyomo model.\n", + "- Inside the model, create a flowsheet block.\n", + "- Assign property packages to the flowsheet block.\n", + "- Add the liquid-liquid extractor to the flowsheet block.\n", + "- Fix variable to make it a square problem\n", + "- Run an initialization process.\n", + "- Solve the flowsheet.\n", + "\n", + "Following these steps, we've built a basic flowsheet using Pyomo. For more details, refer to the [documentation](../../flowsheets/hda_flowsheet_with_distillation_usr.ipynb).\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "import pyomo.environ as pyo\n", + "from idaes.core import FlowsheetBlock\n", + "\n", + "from idaes.core.initialization.block_triangularization import (\n", + " BlockTriangularizationInitializer,\n", + ")\n", + "from liquid_extraction.organic_property import OrgPhase\n", + "from liquid_extraction.aqueous_property import AqPhase\n", + "from liquid_extraction.liquid_liquid_extractor import LiqExtraction\n", + "\n", + "\n", + "def build_model():\n", + " m = pyo.ConcreteModel()\n", + " m.fs = FlowsheetBlock(dynamic=False)\n", + " m.fs.org_properties = OrgPhase()\n", + " m.fs.aq_properties = AqPhase()\n", + "\n", + " m.fs.lex = LiqExtraction(\n", + " dynamic=False,\n", + " has_pressure_change=False,\n", + " organic_property_package=m.fs.org_properties,\n", + " aqueous_property_package=m.fs.aq_properties,\n", + " )\n", + " return m\n", + "\n", + "\n", + "def fix_state_variables(m):\n", + " m.fs.lex.organic_inlet.flow_vol.fix(80 * pyo.units.L / pyo.units.hour)\n", + " m.fs.lex.organic_inlet.temperature.fix(300 * pyo.units.K)\n", + " m.fs.lex.organic_inlet.pressure.fix(1 * pyo.units.atm)\n", + " m.fs.lex.organic_inlet.conc_mass_comp[0, \"NaCl\"].fix(\n", + " 1e-5 * pyo.units.g / pyo.units.L\n", + " )\n", + " m.fs.lex.organic_inlet.conc_mass_comp[0, \"KNO3\"].fix(\n", + " 1e-5 * pyo.units.g / pyo.units.L\n", + " )\n", + " m.fs.lex.organic_inlet.conc_mass_comp[0, \"CaSO4\"].fix(\n", + " 1e-5 * pyo.units.g / pyo.units.L\n", + " )\n", + "\n", + " m.fs.lex.aqueous_inlet.flow_vol.fix(100 * pyo.units.L / pyo.units.hour)\n", + " m.fs.lex.aqueous_inlet.temperature.fix(300 * pyo.units.K)\n", + " m.fs.lex.aqueous_inlet.pressure.fix(1 * pyo.units.atm)\n", + " m.fs.lex.aqueous_inlet.conc_mass_comp[0, \"NaCl\"].fix(\n", + " 0.15 * pyo.units.g / pyo.units.L\n", + " )\n", + " m.fs.lex.aqueous_inlet.conc_mass_comp[0, \"KNO3\"].fix(\n", + " 0.2 * pyo.units.g / pyo.units.L\n", + " )\n", + " m.fs.lex.aqueous_inlet.conc_mass_comp[0, \"CaSO4\"].fix(\n", + " 0.1 * pyo.units.g / pyo.units.L\n", + " )\n", + "\n", + " return m\n", + "\n", + "\n", + "def initialize_model(m):\n", + " initializer = BlockTriangularizationInitializer()\n", + " initializer.initialize(m.fs.lex)\n", + " return m\n", + "\n", + "\n", + "def main():\n", + " m = build_model()\n", + " m = fix_state_variables(m)\n", + " m = initialize_model(m)\n", + " return m\n", + "\n", + "\n", + "if __name__ == main:\n", + " main()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 4. Model Diagnostics using DiagnosticsToolbox\n", + "\n", + "Here, during initialization, we encounter warnings indicating that variables are being set to negative values, which is not expected behavior. These warnings suggest that there may be flaws in the model that require further investigation using the DiagnosticsToolbox from IDAES. A detailed notebook on using `DiagnosticsToolbox` can be found [here](../../diagnostics/degeneracy_hunter_usr.ipynb).\n", + "\n", + "To proceed with investigating these issues, we need to import the DiagnosticsToolbox. We can gain a better understanding of its functionality by running the help function on it. " + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core.util import DiagnosticsToolbox" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The help() function provides comprehensive information on the DiagnosticsToolbox and all its supported methods. However, it's essential to focus on the initial steps outlined at the beginning of the docstring to get started effectively.\n", + "\n", + "Here's a breakdown of the steps to start with:\n", + "\n", + "- `Instantiate Model:` Ensure you have an instance of the model with degrees of freedom equal to 0.\n", + "\n", + "- `Create DiagnosticsToolbox Instance:` Next, instantiate a DiagnosticsToolbox object.\n", + "\n", + "- `Provide Model to DiagnosticsToolbox:` Pass the model instance to the DiagnosticsToolbox.\n", + "\n", + "- `Call report_structural_issues() Function:` Finally, call the report_structural_issues() function. This function will highlight any warnings in the model's structure, such as unit inconsistencies or other issues related to variables in the caution section.\n", + "\n", + "By following these steps, you can efficiently utilize the DiagnosticsToolbox to identify and address any structural issues or warnings in your model." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "m = main()\n", + "dt = DiagnosticsToolbox(m)\n", + "dt.report_structural_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Although no warnings were reported, it's important to note that there are 3 variables fixed to 0 and 10 unused variables, out of which 4 are fixed. As indicated in the output, the next step is to solve the model. After solving, you should call the report_numerical_issues() function. This function will help identify any numerical issues that may arise during the solution process." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "solver = pyo.SolverFactory(\"ipopt\")\n", + "solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The model is probably infeasible, indicating numerical issues with the model. We should call the `report_numerical_issues()` function and check the constraints/variables causing this issue. " + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "dt.report_numerical_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this scenario, it's observed that the condition number of the Jacobian is high, indicating that the Jacobian is ill-conditioned. Additionally, there are 2 warnings related to constraints with large residuals and variables at or outside the bounds. The cautions mentioned in the output are also related to these warnings.\n", + "\n", + "As suggested, the next steps would be to:\n", + "\n", + "- Call the `display_variables_at_or_outside_bounds()` function to investigate variables at or outside the bounds.\n", + "\n", + "- Call the `display_constraints_with_large_residuals()` function to examine constraints with large residuals.\n", + "\n", + "These steps will help identify the underlying causes of the numerical issues and constraints violations, allowing for further analysis and potential resolution. " + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "dt.display_variables_at_or_outside_bounds()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this scenario, there are a couple of issues to address:\n", + "\n", + "- The pressure variable is fixed to 1, which is its lower bound. This could potentially lead to numerical issues, although it may not affect the model significantly since there is no pressure change in the model. To mitigate this, consider adjusting the lower bound of the pressure variable to avoid having its value at or outside the bounds.\n", + "\n", + "- The more concerning issue is with the `conc_mass_comp` variable attempting to go below 0 in the output. This suggests that there may be constraints involving `conc_mass_comp` in the aqueous phase causing this behavior. To investigate further, it's recommended to call the `display_constraints_with_large_residuals()` function. This will provide insights into whether constraints involving `conc_mass_comp` are contributing to the convergence issue." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "dt.display_constraints_with_large_residuals()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As expected there are convergence issues with the constraints which have `conc_mass_comp` variable in them specifically in the aqueous phase. Now, let us investigate further by printing this constraints and checking the value of each term. Since this is an persistent issue across the components, we can focus on just one of the component to identify the issue. " + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.lex.aqueous_phase.material_balances[0.0, \"NaCl\"].pprint()" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.lex.aqueous_phase.properties_in[0.0].conc_mass_comp[\"NaCl\"].pprint()\n", + "m.fs.lex.aqueous_phase.properties_in[0.0].flow_vol.pprint()\n", + "m.fs.lex.aqueous_phase.properties_out[0.0].conc_mass_comp[\"NaCl\"].pprint()\n", + "m.fs.lex.aqueous_phase.properties_out[0.0].flow_vol.pprint()\n", + "m.fs.lex.aqueous_phase.mass_transfer_term[0.0, \"Aq\", \"NaCl\"].pprint()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It seems there is a discrepancy between the mass transfer term and the amount of input of NaCl. This can be inferred from the values where the input equals 15g/h and the `mass_transfer_term` equals -31.706g/h.\n", + "\n", + "To further investigate this issue, it's advisable to examine the `material_aq_balance` constraint within the unit model where the `mass_transfer_term` is defined. By printing out this constraint and analyzing its components, you can gain a better understanding of the discrepancy and take appropriate corrective actions." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.lex.material_aq_balance[0.0, \"NaCl\"].pprint()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here the problem can be tracked down easily as there being a typing error while recording the distribution factor. The distribution factor here was wrongly written ignoring its magnitude which should have been 1e-2, but that was missed, thus adjusting the distribution factor parameter we should have this issue resolved. " + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.org_properties.diffusion_factor[\"NaCl\"] = (\n", + " m.fs.org_properties.diffusion_factor[\"NaCl\"] / 100\n", + ")\n", + "m.fs.org_properties.diffusion_factor[\"KNO3\"] = (\n", + " m.fs.org_properties.diffusion_factor[\"KNO3\"] / 100\n", + ")\n", + "m.fs.org_properties.diffusion_factor[\"CaSO4\"] = (\n", + " m.fs.org_properties.diffusion_factor[\"CaSO4\"] / 100\n", + ")\n", + "\n", + "m.fs.lex.organic_phase.properties_in[0.0].pressure.setlb(0.5)\n", + "m.fs.lex.organic_phase.properties_out[0.0].pressure.setlb(0.5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "After the corrective actions, we should check if this has made any structural issues, for this we would call `report_structural_issues()`" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "dt.report_structural_issues()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now since there are no warnings we can go ahead and solve the model and see if the results are optimal. " + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "solver.solve(m, tee=True)" + ] + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 33\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 14\n", - "\n", - "Total number of variables............................: 16\n", - " variables with only lower bounds: 8\n", - " variables with lower and upper bounds: 0\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 16\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 5.85e+01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 3.55e-15 8.41e+00 -1.0 5.85e+01 - 1.05e-01 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 1\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 3.5527136788005009e-15 3.5527136788005009e-15\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 3.5527136788005009e-15 3.5527136788005009e-15\n", - "\n", - "\n", - "Number of objective function evaluations = 2\n", - "Number of objective gradient evaluations = 2\n", - "Number of equality constraint evaluations = 2\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 2\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 1\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is a good sign that the model solved optimally and a solution was found. \n", + "\n", + "**NOTE:** It is a good practice to run the model through DiagnosticsToolbox regardless of the solver termination status. \n", + "\n", + "The next section we shall focus on testing the unit model. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 5. Testing\n", + "\n", + "Testing is a crucial part of model development to ensure that the model works as expected, and remains reliable. Here's an overview of why we conduct testing:\n", + "\n", + "1. `Verify Correctness`: Testing ensures that the model works as expected and meets the specified requirements. \n", + "2. `Detect Bugs and Issues`: Testing helps in identifying bugs, errors, or unexpected behaviors in the code or model, allowing for timely fixes.\n", + "3. `Ensure Reliability`: Testing improves the reliability and robustness of the software, reducing the risk of failures when the user uses it.\n", + "4. `Support Changes`: Tests provide confidence when making changes or adding new features, ensuring that existing functionalities are not affected and work as they should.\n", + "\n", + "There are typically 3 types of tests:\n", + "\n", + "1. `Unit tests`: Test runs quickly (under 2 seconds) and has no network/system dependencies. Uses only libraries installed by default with the software\n", + "2. `Component test`: Test may run more slowly (under 10 seconds, or so), e.g. it may run a solver or create a bunch of files. Like unit tests, it still shouldn't depend on special libraries or dependencies.\n", + "3. `Integration test`: Test may take a long time to run, and may have complex dependencies.\n", + "\n", + "The expectation is that unit tests should be run by developers rather frequently, component tests should be run by the continuous integration system before running code, and integration tests are run across the codebase regularly, but infrequently (e.g. daily).\n", + "\n", + "\n", + "As a developer, testing is a crucial aspect of ensuring the reliability and correctness of the unit model. The testing process involves both Unit tests and Component tests, and pytest is used as the testing framework. A typical test is marked with @pytest.mark.level, where the level indicates the depth or specificity of the testing. This is written in a file usually named as test_*.py or *_test.py. The test files have functions written in them with the appropriate level of test being conducted. \n", + "\n", + "For more detailed information on testing methodologies and procedures, developers are encouraged to refer to [this resource](https://idaes-pse.readthedocs.io/en/stable/reference_guides/developer/testing.html). The resource provides comprehensive guidance on the testing process and ensures that the unit model meets the required standards and functionality.\n", + "\n", + "## 5.1 Property package\n", + "### Unit Tests\n", + "\n", + "When writing tests for the Aqueous property phase package, it's essential to focus on key aspects to ensure the correctness and robustness of the implementation. Here are the areas to cover in the unit tests:\n", + "\n", + "1. Number of Config Dictionaries: Verify that the property phase package has the expected number of configuration dictionaries.\n", + "\n", + "2. State Block Class Name: Confirm that the correct state block class is associated with the Aqueous property phase package.\n", + "\n", + "3. Number of Phases: Check that the Aqueous property phase package defines the expected number of phases.\n", + "\n", + "4. Components in the Phase and Physical Parameter Values: Test that the components present in the Aqueous phase match the anticipated list. Additionally, validate that the physical parameter values (such as density, viscosity, etc.) are correctly defined.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "import pytest\n", + "from pyomo.environ import ConcreteModel, Param, value, Var\n", + "from pyomo.util.check_units import assert_units_consistent\n", + "from idaes.core import MaterialBalanceType, EnergyBalanceType\n", + "\n", + "from liquid_extraction.organic_property import OrgPhase\n", + "from liquid_extraction.aqueous_property import AqPhase\n", + "from liquid_extraction.liquid_liquid_extractor import LiqExtraction\n", + "from idaes.core.solvers import get_solver\n", + "\n", + "solver = get_solver()\n", + "\n", + "\n", + "class TestParamBlock(object):\n", + " @pytest.fixture(scope=\"class\")\n", + " def model(self):\n", + " model = ConcreteModel()\n", + " model.params = AqPhase()\n", + " return model\n", + "\n", + " @pytest.mark.unit\n", + " def test_config(self, model):\n", + " assert len(model.params.config) == 1\n", + "\n", + " @pytest.mark.unit\n", + " def test_build(self, model):\n", + " assert len(model.params.phase_list) == 1\n", + " for i in model.params.phase_list:\n", + " assert i == \"Aq\"\n", + "\n", + " assert len(model.params.component_list) == 4\n", + " for i in model.params.component_list:\n", + " assert i in [\"H2O\", \"NaCl\", \"KNO3\", \"CaSO4\"]\n", + "\n", + " assert isinstance(model.params.cp_mass, Param)\n", + " assert value(model.params.cp_mass) == 4182\n", + "\n", + " assert isinstance(model.params.dens_mass, Param)\n", + " assert value(model.params.dens_mass) == 997\n", + "\n", + " assert isinstance(model.params.temperature_ref, Param)\n", + " assert value(model.params.temperature_ref) == 298.15" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The next set of unit tests focuses on testing the build function in the state block. Here are the key aspects to cover in these tests:\n", + "\n", + "1. Existence and Initialized Values of State Variables: Verify that the state variables are correctly defined and initialized within the state block. This ensures that the state block is properly constructed and ready for initialization.\n", + "\n", + "2. Initialization Function Test: Check that state variables are not fixed before initialization and are released after initialization. This test ensures that the initialization process occurs as expected and that the state variables are appropriately managed throughout.\n", + "\n", + "These unit tests provide comprehensive coverage for validating the functionality and behavior of the state block in the aqueous property phase package. Similar tests can be written for the organic property package to ensure consistency and reliability across both packages." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "class TestStateBlock(object):\n", + " @pytest.fixture(scope=\"class\")\n", + " def model(self):\n", + " model = ConcreteModel()\n", + " model.params = AqPhase()\n", + "\n", + " model.props = model.params.build_state_block([1])\n", + "\n", + " return model\n", + "\n", + " @pytest.mark.unit\n", + " def test_build(self, model):\n", + " assert isinstance(model.props[1].flow_vol, Var)\n", + " assert value(model.props[1].flow_vol) == 1\n", + "\n", + " assert isinstance(model.props[1].temperature, Var)\n", + " assert value(model.props[1].temperature) == 300\n", + "\n", + " assert isinstance(model.props[1].conc_mass_comp, Var)\n", + " assert len(model.props[1].conc_mass_comp) == 3\n", + "\n", + " @pytest.mark.unit\n", + " def test_initialize(self, model):\n", + " assert not model.props[1].flow_vol.fixed\n", + " assert not model.props[1].temperature.fixed\n", + " assert not model.props[1].pressure.fixed\n", + " for i in model.props[1].conc_mass_comp:\n", + " assert not model.props[1].conc_mass_comp[i].fixed\n", + "\n", + " model.props.initialize(hold_state=False, outlvl=1)\n", + "\n", + " assert not model.props[1].flow_vol.fixed\n", + " assert not model.props[1].temperature.fixed\n", + " assert not model.props[1].pressure.fixed\n", + " for i in model.props[1].conc_mass_comp:\n", + " assert not model.props[1].conc_mass_comp[i].fixed" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Component Tests\n", + "In the component test, we aim to ensure unit consistency across the entire property package. Unlike unit tests that focus on individual functions, component tests assess the coherence and consistency of the entire package. Here's what the component test will entail:\n", + "\n", + "Unit Consistency Check: Verify that all units used within the property package are consistent throughout. This involves checking that all parameters, variables, and equations within the package adhere to the same unit system, ensuring compatibility.\n", + "\n", + "By conducting a comprehensive component test, we can ensure that the property package functions as a cohesive unit, maintaining consistency and reliability across its entirety. This concludes our tests on the property package. Next we shall test the unit model. " + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "@pytest.mark.component\n", + "def check_units(model):\n", + " model = ConcreteModel()\n", + " model.params = AqPhase()\n", + " assert_units_consistent(model)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 5.2 Unit Model\n", + "### Unit tests\n", + "Unit tests for the unit model encompass verifying the configuration arguments and the build function, similar to the approach taken for the property package. When testing the config arguments, we ensure that the correct number of arguments is provided and then match each argument with the expected one. This ensures that the unit model is properly configured and ready to operate as intended." + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "import pytest\n", + "\n", + "from idaes.core import FlowsheetBlock\n", + "import idaes.models.unit_models\n", + "from idaes.core.solvers import get_solver\n", + "import idaes.logger as idaeslog\n", + "\n", + "\n", + "from pyomo.environ import value, check_optimal_termination, units\n", + "from pyomo.util.check_units import assert_units_consistent\n", + "from idaes.core.util.model_statistics import (\n", + " number_variables,\n", + " number_total_constraints,\n", + ")\n", + "from idaes.core.solvers import get_solver\n", + "from idaes.core.initialization import (\n", + " SingleControlVolumeUnitInitializer,\n", + ")\n", + "\n", + "solver = get_solver()\n", + "\n", + "\n", + "@pytest.mark.unit\n", + "def test_config():\n", + " m = ConcreteModel()\n", + " m.fs = FlowsheetBlock(dynamic=False)\n", + " m.fs.org_properties = OrgPhase()\n", + " m.fs.aq_properties = AqPhase()\n", + "\n", + " m.fs.unit = LiqExtraction(\n", + " dynamic=False,\n", + " has_pressure_change=False,\n", + " organic_property_package=m.fs.org_properties,\n", + " aqueous_property_package=m.fs.aq_properties,\n", + " )\n", + "\n", + " # Check unit config arguments\n", + " assert len(m.fs.unit.config) == 9\n", + "\n", + " # Check for config arguments\n", + " assert m.fs.unit.config.material_balance_type == MaterialBalanceType.useDefault\n", + " assert not m.fs.unit.config.has_pressure_change\n", + " assert not m.fs.unit.config.has_phase_equilibrium\n", + " assert m.fs.unit.config.organic_property_package is m.fs.org_properties\n", + " assert m.fs.unit.config.aqueous_property_package is m.fs.aq_properties\n", + "\n", + " # Check for unit initializer\n", + " assert m.fs.unit.default_initializer is SingleControlVolumeUnitInitializer" + ] }, { - "data": { - "text/plain": [ - "{'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 16, 'Number of variables': 16, 'Sense': 'unknown'}], 'Solver': [{'Status': 'ok', 'Message': 'Ipopt 3.13.2\\\\x3a Optimal Solution Found', 'Termination condition': 'optimal', 'Id': 0, 'Error rc': 0, 'Time': 0.07779264450073242}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}" + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In testing the build function, we verify whether the number of variables aligns with the intended values and also check for the existence of desired constraints within the unit model. This ensures that the unit model is constructed accurately and includes all the necessary variables and constraints required for its proper functioning." + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "class TestBuild(object):\n", + " @pytest.fixture(scope=\"class\")\n", + " def model(self):\n", + " m = ConcreteModel()\n", + " m.fs = FlowsheetBlock(dynamic=False)\n", + " m.fs.org_properties = OrgPhase()\n", + " m.fs.aq_properties = AqPhase()\n", + "\n", + " m.fs.unit = LiqExtraction(\n", + " dynamic=False,\n", + " has_pressure_change=False,\n", + " organic_property_package=m.fs.org_properties,\n", + " aqueous_property_package=m.fs.aq_properties,\n", + " )\n", + "\n", + " m.fs.unit.organic_inlet.flow_vol.fix(80 * units.l / units.h)\n", + " m.fs.unit.organic_inlet.temperature.fix(300 * units.K)\n", + " m.fs.unit.organic_inlet.pressure.fix(1 * units.atm)\n", + " m.fs.unit.organic_inlet.conc_mass_comp[0, \"NaCl\"].fix(0 * units.g / units.l)\n", + " m.fs.unit.organic_inlet.conc_mass_comp[0, \"KNO3\"].fix(0 * units.g / units.l)\n", + " m.fs.unit.organic_inlet.conc_mass_comp[0, \"CaSO4\"].fix(0 * units.g / units.l)\n", + "\n", + " m.fs.unit.aqueous_inlet.flow_vol.fix(10 * units.l / units.h)\n", + " m.fs.unit.aqueous_inlet.temperature.fix(300 * units.K)\n", + " m.fs.unit.aqueous_inlet.pressure.fix(1 * units.atm)\n", + " m.fs.unit.aqueous_inlet.conc_mass_comp[0, \"NaCl\"].fix(0.15 * units.g / units.l)\n", + " m.fs.unit.aqueous_inlet.conc_mass_comp[0, \"KNO3\"].fix(0.2 * units.g / units.l)\n", + " m.fs.unit.aqueous_inlet.conc_mass_comp[0, \"CaSO4\"].fix(0.1 * units.g / units.l)\n", + "\n", + " return m\n", + "\n", + " @pytest.mark.build\n", + " @pytest.mark.unit\n", + " def test_build(self, model):\n", + "\n", + " assert hasattr(model.fs.unit, \"aqueous_inlet\")\n", + " assert len(model.fs.unit.aqueous_inlet.vars) == 4\n", + " assert hasattr(model.fs.unit.aqueous_inlet, \"flow_vol\")\n", + " assert hasattr(model.fs.unit.aqueous_inlet, \"conc_mass_comp\")\n", + " assert hasattr(model.fs.unit.aqueous_inlet, \"temperature\")\n", + " assert hasattr(model.fs.unit.aqueous_inlet, \"pressure\")\n", + "\n", + " assert hasattr(model.fs.unit, \"organic_inlet\")\n", + " assert len(model.fs.unit.organic_inlet.vars) == 4\n", + " assert hasattr(model.fs.unit.organic_inlet, \"flow_vol\")\n", + " assert hasattr(model.fs.unit.organic_inlet, \"conc_mass_comp\")\n", + " assert hasattr(model.fs.unit.organic_inlet, \"temperature\")\n", + " assert hasattr(model.fs.unit.organic_inlet, \"pressure\")\n", + "\n", + " assert hasattr(model.fs.unit, \"aqueous_outlet\")\n", + " assert len(model.fs.unit.aqueous_outlet.vars) == 4\n", + " assert hasattr(model.fs.unit.aqueous_outlet, \"flow_vol\")\n", + " assert hasattr(model.fs.unit.aqueous_outlet, \"conc_mass_comp\")\n", + " assert hasattr(model.fs.unit.aqueous_outlet, \"temperature\")\n", + " assert hasattr(model.fs.unit.aqueous_outlet, \"pressure\")\n", + "\n", + " assert hasattr(model.fs.unit, \"organic_outlet\")\n", + " assert len(model.fs.unit.organic_outlet.vars) == 4\n", + " assert hasattr(model.fs.unit.organic_outlet, \"flow_vol\")\n", + " assert hasattr(model.fs.unit.organic_outlet, \"conc_mass_comp\")\n", + " assert hasattr(model.fs.unit.organic_outlet, \"temperature\")\n", + " assert hasattr(model.fs.unit.organic_outlet, \"pressure\")\n", + "\n", + " assert hasattr(model.fs.unit, \"material_aq_balance\")\n", + " assert hasattr(model.fs.unit, \"material_org_balance\")\n", + "\n", + " assert number_variables(model) == 34\n", + " assert number_total_constraints(model) == 16" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Component tests\n", + "\n", + "During the component tests, we evaluate the performance of the unit model when integrated with the property package. This evaluation process typically involves several steps:\n", + "\n", + "1. Unit Consistency Check: Verify that the unit model maintains consistency in its units throughout the model. This ensures that all variables and constraints within the model adhere to the same unit system, guaranteeing compatibility.\n", + "\n", + "2. Termination Condition Verification: This involves checking whether the model terminates optimally with the given inlet conditions.\n", + "\n", + "3. Variable Value Assessment: Check the values of outlet variables against the expected values. To account for the numerical tolerance of the solvers, the values are compared using the approx function with a relative tolerance.\n", + "\n", + "4. Input Variable Stability Test: Verify that input variables, which should remain fixed during model operation, are not inadvertently unfixed or altered.\n", + "\n", + "5. Structural Issues: Verify that there are no structural issues with the model. \n", + "\n", + "By performing these checks, we conclude the testing for the unit model. " + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "class TestFlowsheet:\n", + " @pytest.fixture\n", + " def model(self):\n", + " m = ConcreteModel()\n", + " m.fs = idaes.core.FlowsheetBlock(dynamic=False)\n", + " m.fs.org_properties = OrgPhase()\n", + " m.fs.aq_properties = AqPhase()\n", + "\n", + " m.fs.unit = LiqExtraction(\n", + " dynamic=False,\n", + " has_pressure_change=False,\n", + " organic_property_package=m.fs.org_properties,\n", + " aqueous_property_package=m.fs.aq_properties,\n", + " )\n", + " m.fs.org_properties.diffusion_factor[\"NaCl\"] = (\n", + " m.fs.org_properties.diffusion_factor[\"NaCl\"] / 100\n", + " )\n", + " m.fs.org_properties.diffusion_factor[\"KNO3\"] = (\n", + " m.fs.org_properties.diffusion_factor[\"KNO3\"] / 100\n", + " )\n", + " m.fs.org_properties.diffusion_factor[\"CaSO4\"] = (\n", + " m.fs.org_properties.diffusion_factor[\"CaSO4\"] / 100\n", + " )\n", + "\n", + " m.fs.unit.organic_inlet.flow_vol.fix(80 * units.ml / units.min)\n", + " m.fs.unit.organic_inlet.temperature.fix(300 * units.K)\n", + " m.fs.unit.organic_inlet.pressure.fix(1 * units.atm)\n", + " m.fs.unit.organic_inlet.conc_mass_comp[0, \"NaCl\"].fix(0 * units.g / units.kg)\n", + " m.fs.unit.organic_inlet.conc_mass_comp[0, \"KNO3\"].fix(0 * units.g / units.kg)\n", + " m.fs.unit.organic_inlet.conc_mass_comp[0, \"CaSO4\"].fix(0 * units.g / units.kg)\n", + "\n", + " m.fs.unit.aqueous_inlet.flow_vol.fix(10 * units.ml / units.min)\n", + " m.fs.unit.aqueous_inlet.temperature.fix(300 * units.K)\n", + " m.fs.unit.aqueous_inlet.pressure.fix(1 * units.atm)\n", + " m.fs.unit.aqueous_inlet.conc_mass_comp[0, \"NaCl\"].fix(0.15 * units.g / units.kg)\n", + " m.fs.unit.aqueous_inlet.conc_mass_comp[0, \"KNO3\"].fix(0.2 * units.g / units.kg)\n", + " m.fs.unit.aqueous_inlet.conc_mass_comp[0, \"CaSO4\"].fix(0.1 * units.g / units.kg)\n", + "\n", + " return m\n", + "\n", + " @pytest.mark.component\n", + " def test_unit_model(self, model):\n", + " assert_units_consistent(model)\n", + " solver = get_solver()\n", + " results = solver.solve(model, tee=False)\n", + "\n", + " # Check for optimal termination\n", + " assert check_optimal_termination(results)\n", + "\n", + " # Checking for outlet flows\n", + " assert value(model.fs.unit.organic_outlet.flow_vol[0]) == pytest.approx(\n", + " 80.0, rel=1e-5\n", + " )\n", + " assert value(model.fs.unit.aqueous_outlet.flow_vol[0]) == pytest.approx(\n", + " 10.0, rel=1e-5\n", + " )\n", + "\n", + " # Checking for outlet mass_comp\n", + " assert value(\n", + " model.fs.unit.organic_outlet.conc_mass_comp[0, \"CaSO4\"]\n", + " ) == pytest.approx(0.000187499, rel=1e-5)\n", + " assert value(\n", + " model.fs.unit.organic_outlet.conc_mass_comp[0, \"KNO3\"]\n", + " ) == pytest.approx(0.000749999, rel=1e-5)\n", + " assert value(\n", + " model.fs.unit.organic_outlet.conc_mass_comp[0, \"NaCl\"]\n", + " ) == pytest.approx(0.000403124, rel=1e-5)\n", + " assert value(\n", + " model.fs.unit.aqueous_outlet.conc_mass_comp[0, \"CaSO4\"]\n", + " ) == pytest.approx(0.0985, rel=1e-5)\n", + " assert value(\n", + " model.fs.unit.aqueous_outlet.conc_mass_comp[0, \"KNO3\"]\n", + " ) == pytest.approx(0.194, rel=1e-5)\n", + " assert value(\n", + " model.fs.unit.aqueous_outlet.conc_mass_comp[0, \"NaCl\"]\n", + " ) == pytest.approx(0.146775, rel=1e-5)\n", + "\n", + " # Checking for outlet temperature\n", + " assert value(model.fs.unit.organic_outlet.temperature[0]) == pytest.approx(\n", + " 300, rel=1e-5\n", + " )\n", + " assert value(model.fs.unit.aqueous_outlet.temperature[0]) == pytest.approx(\n", + " 300, rel=1e-5\n", + " )\n", + "\n", + " # Checking for outlet pressure\n", + " assert value(model.fs.unit.organic_outlet.pressure[0]) == pytest.approx(\n", + " 1, rel=1e-5\n", + " )\n", + " assert value(model.fs.unit.aqueous_outlet.pressure[0]) == pytest.approx(\n", + " 1, rel=1e-5\n", + " )\n", + "\n", + " # Fixed state variables\n", + " assert model.fs.unit.organic_inlet.flow_vol[0].fixed\n", + " assert model.fs.unit.organic_inlet.conc_mass_comp[0, \"NaCl\"].fixed\n", + " assert model.fs.unit.organic_inlet.conc_mass_comp[0, \"KNO3\"].fixed\n", + " assert model.fs.unit.organic_inlet.conc_mass_comp[0, \"CaSO4\"].fixed\n", + " assert model.fs.unit.organic_inlet.temperature[0].fixed\n", + " assert model.fs.unit.organic_inlet.pressure[0].fixed\n", + "\n", + " assert model.fs.unit.aqueous_inlet.flow_vol[0].fixed\n", + " assert model.fs.unit.aqueous_inlet.conc_mass_comp[0, \"NaCl\"].fixed\n", + " assert model.fs.unit.aqueous_inlet.conc_mass_comp[0, \"KNO3\"].fixed\n", + " assert model.fs.unit.aqueous_inlet.conc_mass_comp[0, \"CaSO4\"].fixed\n", + " assert model.fs.unit.aqueous_inlet.temperature[0].fixed\n", + " assert model.fs.unit.aqueous_inlet.pressure[0].fixed\n", + "\n", + " @pytest.mark.component\n", + " def test_structural_issues(self, model):\n", + " dt = DiagnosticsToolbox(model)\n", + " dt.assert_no_structural_warnings()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this tutorial, we have covered the comprehensive process of creating a custom unit model from scratch. Let's recap the key steps we have undertaken:\n", + "\n", + "- Developing property package\n", + "- Constructing the unit model \n", + "- Creating a Flowsheet\n", + "- Debugging the model using DiagnosticsToolbox\n", + "- Writing tests for the unit model\n", + "\n", + "By following the aforementioned procedure, one can create their own custom unit model. This concludes the tutorial on creating a custom unit model. " ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" } - ], - "source": [ - "solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This is a good sign that the model solved optimally and a solution was found. \n", - "\n", - "**NOTE:** It is a good practice to run the model through DiagnosticsToolbox regardless of the solver termination status. \n", - "\n", - "The next section we shall focus on testing the unit model. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 5. Testing\n", - "\n", - "Testing is a crucial part of model development to ensure that the model works as expected, and remains reliable. Here's an overview of why we conduct testing:\n", - "\n", - "1. `Verify Correctness`: Testing ensure that the model works as expected and meets the specified requirements. \n", - "2. `Detect Bugs and Issues`: Testing helps in identifying bugs, errors, or unexpected behaviors in the code or model, allowing for timely fixes.\n", - "3. `Ensure Reliability`: Testing improves the reliability and robustness of the software, reducing the risk of failures when the user uses it.\n", - "4. `Support Changes`: Tests provide confidence when making changes or adding new features, ensuring that existing functionalities are not affected and work as they should.\n", - "\n", - "There are typically 3 types of tests:\n", - "\n", - "1. `Unit tests`: Test runs quickly (under 2 seconds) and has no network/system dependencies. Uses only libraries installed by default with the software\n", - "2. `Component test`: Test may run more slowly (under 10 seconds, or so), e.g. it may run a solver or create a bunch of files. Like unit tests, it still shouldn't depend on special libraries or dependencies.\n", - "3. `Integration test`: Test may take a long time to run, and may have complex dependencies.\n", - "\n", - "The expectation is that unit tests should be run by developers rather frequently, component tests should be run by the continuous integration system before running code, and integration tests are run across the codebase regularly, but infrequently (e.g. daily).\n", - "\n", - "\n", - "As a developer, testing is a crucial aspect of ensuring the reliability and correctness of the unit model. The testing process involves both Unit tests and Component tests, and pytest is used as the testing framework. A typical test is marked with @pytest.mark.level, where the level indicates the depth or specificity of the testing. This is written in a file usually named as test_*.py or *_test.py. The test files have functions written in them with the appropriate level of test being conducted. \n", - "\n", - "For more detailed information on testing methodologies and procedures, developers are encouraged to refer to [this resource](https://idaes-pse.readthedocs.io/en/stable/reference_guides/developer/testing.html). The resource provides comprehensive guidance on the testing process and ensures that the unit model meets the required standards and functionality.\n", - "\n", - "## 5.1 Property package\n", - "### Unit Tests\n", - "\n", - "When writing tests for the Aqueous property phase package, it's essential to focus on key aspects to ensure the correctness and robustness of the implementation. Here are the areas to cover in the unit tests:\n", - "\n", - "1. Number of Config Dictionaries: Verify that the property phase package has the expected number of configuration dictionaries.\n", - "\n", - "2. State Block Class Name: Confirm that the correct state block class is associated with the Aqueous property phase package.\n", - "\n", - "3. Number of Phases: Check that the Aqueous property phase package defines the expected number of phases.\n", - "\n", - "4. Components in the Phase and Physical Parameter Values: Test that the components present in the Aqueous phase match the anticipated list. Additionally, validate that the physical parameter values (such as density, viscosity, etc.) are correctly defined.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [], - "source": [ - "import pytest\n", - "from pyomo.environ import ConcreteModel, Param, value, Var\n", - "from pyomo.util.check_units import assert_units_consistent\n", - "from idaes.core import MaterialBalanceType, EnergyBalanceType\n", - "\n", - "from liquid_extraction.organic_property import OrgPhase\n", - "from liquid_extraction.aqueous_property import AqPhase\n", - "from liquid_extraction.liquid_liquid_extractor import LiqExtraction\n", - "from idaes.core.solvers import get_solver\n", - "\n", - "solver = get_solver()\n", - "\n", - "\n", - "class TestParamBlock(object):\n", - " @pytest.fixture(scope=\"class\")\n", - " def model(self):\n", - " model = ConcreteModel()\n", - " model.params = AqPhase()\n", - " return model\n", - "\n", - " @pytest.mark.unit\n", - " def test_config(self, model):\n", - " assert len(model.params.config) == 1\n", - "\n", - " @pytest.mark.unit\n", - " def test_build(self, model):\n", - " assert len(model.params.phase_list) == 1\n", - " for i in model.params.phase_list:\n", - " assert i == \"Aq\"\n", - "\n", - " assert len(model.params.component_list) == 4\n", - " for i in model.params.component_list:\n", - " assert i in [\"H2O\", \"NaCl\", \"KNO3\", \"CaSO4\"]\n", - "\n", - " assert isinstance(model.params.cp_mass, Param)\n", - " assert value(model.params.cp_mass) == 4182\n", - "\n", - " assert isinstance(model.params.dens_mass, Param)\n", - " assert value(model.params.dens_mass) == 997\n", - "\n", - " assert isinstance(model.params.temperature_ref, Param)\n", - " assert value(model.params.temperature_ref) == 298.15" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The next set of unit tests focuses on testing the build function in the state block. Here are the key aspects to cover in these tests:\n", - "\n", - "1. Existence and Initialized Values of State Variables: Verify that the state variables are correctly defined and initialized within the state block. This ensures that the state block is properly constructed and ready for initialization.\n", - "\n", - "2. Initialization Function Test: Check that state variables are not fixed before initialization and are released after initialization. This test ensures that the initialization process occurs as expected and that the state variables are appropriately managed throughout.\n", - "\n", - "These unit tests provide comprehensive coverage for validating the functionality and behavior of the state block in the Aqueous property phase package. Similar tests can be written for the organic property package to ensure consistency and reliability across both packages." - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [], - "source": [ - "class TestStateBlock(object):\n", - " @pytest.fixture(scope=\"class\")\n", - " def model(self):\n", - " model = ConcreteModel()\n", - " model.params = AqPhase()\n", - "\n", - " model.props = model.params.build_state_block([1])\n", - "\n", - " return model\n", - "\n", - " @pytest.mark.unit\n", - " def test_build(self, model):\n", - " assert isinstance(model.props[1].flow_vol, Var)\n", - " assert value(model.props[1].flow_vol) == 1\n", - "\n", - " assert isinstance(model.props[1].temperature, Var)\n", - " assert value(model.props[1].temperature) == 300\n", - "\n", - " assert isinstance(model.props[1].conc_mass_comp, Var)\n", - " assert len(model.props[1].conc_mass_comp) == 3\n", - "\n", - " @pytest.mark.unit\n", - " def test_initialize(self, model):\n", - " assert not model.props[1].flow_vol.fixed\n", - " assert not model.props[1].temperature.fixed\n", - " assert not model.props[1].pressure.fixed\n", - " for i in model.props[1].conc_mass_comp:\n", - " assert not model.props[1].conc_mass_comp[i].fixed\n", - "\n", - " model.props.initialize(hold_state=False, outlvl=1)\n", - "\n", - " assert not model.props[1].flow_vol.fixed\n", - " assert not model.props[1].temperature.fixed\n", - " assert not model.props[1].pressure.fixed\n", - " for i in model.props[1].conc_mass_comp:\n", - " assert not model.props[1].conc_mass_comp[i].fixed" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Component Tests\n", - "In the component test, we aim to ensure unit consistency across the entire property package. Unlike unit tests that focus on individual functions, component tests assess the coherence and consistency of the entire package. Here's what the component test will entail:\n", - "\n", - "Unit Consistency Check: Verify that all units used within the property package are consistent throughout. This involves checking that all parameters, variables, and equations within the package adhere to the same unit system, ensuring compatibility.\n", - "\n", - "By conducting a comprehensive component test, we can ensure that the property package functions as a cohesive unit, maintaining consistency and reliability across its entirety. This concludes our tests on the property package. Next we shall test the unit model. " - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [], - "source": [ - "@pytest.mark.component\n", - "def check_units(model):\n", - " model = ConcreteModel()\n", - " model.params = AqPhase()\n", - " assert_units_consistent(model)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 5.2 Unit Model\n", - "### Unit tests\n", - "Unit tests for the unit model encompass verifying the configuration arguments and the build function, similar to the approach taken for the property package. When testing the config arguments, we ensure that the correct number of arguments is provided and then match each argument with the expected one. This ensures that the unit model is properly configured and ready to operate as intended." - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [], - "source": [ - "import pytest\n", - "\n", - "import idaes.core\n", - "import idaes.models.unit_models\n", - "from idaes.core.solvers import get_solver\n", - "import idaes.logger as idaeslog\n", - "\n", - "\n", - "from pyomo.environ import value, check_optimal_termination, units\n", - "from pyomo.util.check_units import assert_units_consistent\n", - "from idaes.core.util.model_statistics import (\n", - " number_variables,\n", - " number_total_constraints,\n", - ")\n", - "from idaes.core.solvers import get_solver\n", - "from idaes.core.initialization import (\n", - " SingleControlVolumeUnitInitializer,\n", - ")\n", - "\n", - "solver = get_solver()\n", - "\n", - "\n", - "@pytest.mark.unit\n", - "def test_config():\n", - " m = ConcreteModel()\n", - " m.fs = idaes.core.FlowsheetBlock(dynamic=False)\n", - " m.fs.org_properties = OrgPhase()\n", - " m.fs.aq_properties = AqPhase()\n", - "\n", - " m.fs.unit = LiqExtraction(\n", - " dynamic=False,\n", - " has_pressure_change=False,\n", - " organic_property_package=m.fs.org_properties,\n", - " aqueous_property_package=m.fs.aq_properties,\n", - " )\n", - "\n", - " # Check unit config arguments\n", - " assert len(m.fs.unit.config) == 9\n", - "\n", - " # Check for config arguments\n", - " assert m.fs.unit.config.material_balance_type == MaterialBalanceType.useDefault\n", - " assert not m.fs.unit.config.has_pressure_change\n", - " assert not m.fs.unit.config.has_phase_equilibrium\n", - " assert m.fs.unit.config.organic_property_package is m.fs.org_properties\n", - " assert m.fs.unit.config.aqueous_property_package is m.fs.aq_properties\n", - "\n", - " # Check for unit initializer\n", - " assert m.fs.unit.default_initializer is SingleControlVolumeUnitInitializer" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In testing the build function, we verify whether the number of variables aligns with the intended values and also check for the existence of desired constraints within the unit model. This ensures that the unit model is constructed accurately and includes all the necessary variables and constraints required for its proper functioning." - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [], - "source": [ - "class TestBuild(object):\n", - " @pytest.fixture(scope=\"class\")\n", - " def model(self):\n", - " m = ConcreteModel()\n", - " m.fs = idaes.core.FlowsheetBlock(dynamic=False)\n", - " m.fs.org_properties = OrgPhase()\n", - " m.fs.aq_properties = AqPhase()\n", - "\n", - " m.fs.unit = LiqExtraction(\n", - " dynamic=False,\n", - " has_pressure_change=False,\n", - " organic_property_package=m.fs.org_properties,\n", - " aqueous_property_package=m.fs.aq_properties,\n", - " )\n", - "\n", - " m.fs.unit.organic_inlet.flow_vol.fix(80 * units.l / units.h)\n", - " m.fs.unit.organic_inlet.temperature.fix(300 * units.K)\n", - " m.fs.unit.organic_inlet.pressure.fix(1 * units.atm)\n", - " m.fs.unit.organic_inlet.conc_mass_comp[0, \"NaCl\"].fix(0 * units.g / units.l)\n", - " m.fs.unit.organic_inlet.conc_mass_comp[0, \"KNO3\"].fix(0 * units.g / units.l)\n", - " m.fs.unit.organic_inlet.conc_mass_comp[0, \"CaSO4\"].fix(0 * units.g / units.l)\n", - "\n", - " m.fs.unit.aqueous_inlet.flow_vol.fix(10 * units.l / units.h)\n", - " m.fs.unit.aqueous_inlet.temperature.fix(300 * units.K)\n", - " m.fs.unit.aqueous_inlet.pressure.fix(1 * units.atm)\n", - " m.fs.unit.aqueous_inlet.conc_mass_comp[0, \"NaCl\"].fix(0.15 * units.g / units.l)\n", - " m.fs.unit.aqueous_inlet.conc_mass_comp[0, \"KNO3\"].fix(0.2 * units.g / units.l)\n", - " m.fs.unit.aqueous_inlet.conc_mass_comp[0, \"CaSO4\"].fix(0.1 * units.g / units.l)\n", - "\n", - " return m\n", - "\n", - " @pytest.mark.build\n", - " @pytest.mark.unit\n", - " def test_build(self, model):\n", - "\n", - " assert hasattr(model.fs.unit, \"aqueous_inlet\")\n", - " assert len(model.fs.unit.aqueous_inlet.vars) == 4\n", - " assert hasattr(model.fs.unit.aqueous_inlet, \"flow_vol\")\n", - " assert hasattr(model.fs.unit.aqueous_inlet, \"conc_mass_comp\")\n", - " assert hasattr(model.fs.unit.aqueous_inlet, \"temperature\")\n", - " assert hasattr(model.fs.unit.aqueous_inlet, \"pressure\")\n", - "\n", - " assert hasattr(model.fs.unit, \"organic_inlet\")\n", - " assert len(model.fs.unit.organic_inlet.vars) == 4\n", - " assert hasattr(model.fs.unit.organic_inlet, \"flow_vol\")\n", - " assert hasattr(model.fs.unit.organic_inlet, \"conc_mass_comp\")\n", - " assert hasattr(model.fs.unit.organic_inlet, \"temperature\")\n", - " assert hasattr(model.fs.unit.organic_inlet, \"pressure\")\n", - "\n", - " assert hasattr(model.fs.unit, \"aqueous_outlet\")\n", - " assert len(model.fs.unit.aqueous_outlet.vars) == 4\n", - " assert hasattr(model.fs.unit.aqueous_outlet, \"flow_vol\")\n", - " assert hasattr(model.fs.unit.aqueous_outlet, \"conc_mass_comp\")\n", - " assert hasattr(model.fs.unit.aqueous_outlet, \"temperature\")\n", - " assert hasattr(model.fs.unit.aqueous_outlet, \"pressure\")\n", - "\n", - " assert hasattr(model.fs.unit, \"organic_outlet\")\n", - " assert len(model.fs.unit.organic_outlet.vars) == 4\n", - " assert hasattr(model.fs.unit.organic_outlet, \"flow_vol\")\n", - " assert hasattr(model.fs.unit.organic_outlet, \"conc_mass_comp\")\n", - " assert hasattr(model.fs.unit.organic_outlet, \"temperature\")\n", - " assert hasattr(model.fs.unit.organic_outlet, \"pressure\")\n", - "\n", - " assert hasattr(model.fs.unit, \"material_aq_balance\")\n", - " assert hasattr(model.fs.unit, \"material_org_balance\")\n", - "\n", - " assert number_variables(model) == 34\n", - " assert number_total_constraints(model) == 16" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Component tests\n", - "\n", - "During the component tests, we evaluate the performance of the unit model when integrated with the property package. This evaluation process typically involves several steps:\n", - "\n", - "1. Unit Consistency Check: Verify that the unit model maintains consistency in its units throughout the model. This ensures that all variables and constraints within the model adhere to the same unit system, guaranteeing compatibility.\n", - "\n", - "2. Termination Condition Verification: This involves checking whether the model terminates optimally with the given inlet conditions.\n", - "\n", - "3. Variable Value Assessment: Check the values of outlet variables against the expected values. To account for the numerical tolerance of the solvers, the values are compared using the approx function with a relative tolerance.\n", - "\n", - "4. Input Variable Stability Test: Verify that input variables, which should remain fixed during model operation, are not inadvertently unfixed or altered.\n", - "\n", - "5. Structural Issues: Verify that there are no structural issues with the model. \n", - "\n", - "By performing these checks, we conclude the testing for the unit model. " - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [], - "source": [ - "class TestFlowsheet:\n", - " @pytest.fixture\n", - " def model(self):\n", - " m = ConcreteModel()\n", - " m.fs = idaes.core.FlowsheetBlock(dynamic=False)\n", - " m.fs.org_properties = OrgPhase()\n", - " m.fs.aq_properties = AqPhase()\n", - "\n", - " m.fs.unit = LiqExtraction(\n", - " dynamic=False,\n", - " has_pressure_change=False,\n", - " organic_property_package=m.fs.org_properties,\n", - " aqueous_property_package=m.fs.aq_properties,\n", - " )\n", - " m.fs.org_properties.diffusion_factor[\"NaCl\"] = (\n", - " m.fs.org_properties.diffusion_factor[\"NaCl\"] / 100\n", - " )\n", - " m.fs.org_properties.diffusion_factor[\"KNO3\"] = (\n", - " m.fs.org_properties.diffusion_factor[\"KNO3\"] / 100\n", - " )\n", - " m.fs.org_properties.diffusion_factor[\"CaSO4\"] = (\n", - " m.fs.org_properties.diffusion_factor[\"CaSO4\"] / 100\n", - " )\n", - "\n", - " m.fs.unit.organic_inlet.flow_vol.fix(80 * units.ml / units.min)\n", - " m.fs.unit.organic_inlet.temperature.fix(300 * units.K)\n", - " m.fs.unit.organic_inlet.pressure.fix(1 * units.atm)\n", - " m.fs.unit.organic_inlet.conc_mass_comp[0, \"NaCl\"].fix(0 * units.g / units.kg)\n", - " m.fs.unit.organic_inlet.conc_mass_comp[0, \"KNO3\"].fix(0 * units.g / units.kg)\n", - " m.fs.unit.organic_inlet.conc_mass_comp[0, \"CaSO4\"].fix(0 * units.g / units.kg)\n", - "\n", - " m.fs.unit.aqueous_inlet.flow_vol.fix(10 * units.ml / units.min)\n", - " m.fs.unit.aqueous_inlet.temperature.fix(300 * units.K)\n", - " m.fs.unit.aqueous_inlet.pressure.fix(1 * units.atm)\n", - " m.fs.unit.aqueous_inlet.conc_mass_comp[0, \"NaCl\"].fix(0.15 * units.g / units.kg)\n", - " m.fs.unit.aqueous_inlet.conc_mass_comp[0, \"KNO3\"].fix(0.2 * units.g / units.kg)\n", - " m.fs.unit.aqueous_inlet.conc_mass_comp[0, \"CaSO4\"].fix(0.1 * units.g / units.kg)\n", - "\n", - " return m\n", - "\n", - " @pytest.mark.component\n", - " def test_unit_model(self, model):\n", - " assert_units_consistent(model)\n", - " solver = get_solver()\n", - " results = solver.solve(model, tee=False)\n", - "\n", - " # Check for optimal termination\n", - " assert check_optimal_termination(results)\n", - "\n", - " # Checking for outlet flows\n", - " assert value(model.fs.unit.organic_outlet.flow_vol[0]) == pytest.approx(\n", - " 80.0, rel=1e-5\n", - " )\n", - " assert value(model.fs.unit.aqueous_outlet.flow_vol[0]) == pytest.approx(\n", - " 10.0, rel=1e-5\n", - " )\n", - "\n", - " # Checking for outlet mass_comp\n", - " assert value(\n", - " model.fs.unit.organic_outlet.conc_mass_comp[0, \"CaSO4\"]\n", - " ) == pytest.approx(0.000187499, rel=1e-5)\n", - " assert value(\n", - " model.fs.unit.organic_outlet.conc_mass_comp[0, \"KNO3\"]\n", - " ) == pytest.approx(0.000749999, rel=1e-5)\n", - " assert value(\n", - " model.fs.unit.organic_outlet.conc_mass_comp[0, \"NaCl\"]\n", - " ) == pytest.approx(0.000403124, rel=1e-5)\n", - " assert value(\n", - " model.fs.unit.aqueous_outlet.conc_mass_comp[0, \"CaSO4\"]\n", - " ) == pytest.approx(0.0985, rel=1e-5)\n", - " assert value(\n", - " model.fs.unit.aqueous_outlet.conc_mass_comp[0, \"KNO3\"]\n", - " ) == pytest.approx(0.194, rel=1e-5)\n", - " assert value(\n", - " model.fs.unit.aqueous_outlet.conc_mass_comp[0, \"NaCl\"]\n", - " ) == pytest.approx(0.146775, rel=1e-5)\n", - "\n", - " # Checking for outlet temperature\n", - " assert value(model.fs.unit.organic_outlet.temperature[0]) == pytest.approx(\n", - " 300, rel=1e-5\n", - " )\n", - " assert value(model.fs.unit.aqueous_outlet.temperature[0]) == pytest.approx(\n", - " 300, rel=1e-5\n", - " )\n", - "\n", - " # Checking for outlet pressure\n", - " assert value(model.fs.unit.organic_outlet.pressure[0]) == pytest.approx(\n", - " 1, rel=1e-5\n", - " )\n", - " assert value(model.fs.unit.aqueous_outlet.pressure[0]) == pytest.approx(\n", - " 1, rel=1e-5\n", - " )\n", - "\n", - " # Fixed state variables\n", - " assert model.fs.unit.organic_inlet.flow_vol[0].fixed\n", - " assert model.fs.unit.organic_inlet.conc_mass_comp[0, \"NaCl\"].fixed\n", - " assert model.fs.unit.organic_inlet.conc_mass_comp[0, \"KNO3\"].fixed\n", - " assert model.fs.unit.organic_inlet.conc_mass_comp[0, \"CaSO4\"].fixed\n", - " assert model.fs.unit.organic_inlet.temperature[0].fixed\n", - " assert model.fs.unit.organic_inlet.pressure[0].fixed\n", - "\n", - " assert model.fs.unit.aqueous_inlet.flow_vol[0].fixed\n", - " assert model.fs.unit.aqueous_inlet.conc_mass_comp[0, \"NaCl\"].fixed\n", - " assert model.fs.unit.aqueous_inlet.conc_mass_comp[0, \"KNO3\"].fixed\n", - " assert model.fs.unit.aqueous_inlet.conc_mass_comp[0, \"CaSO4\"].fixed\n", - " assert model.fs.unit.aqueous_inlet.temperature[0].fixed\n", - " assert model.fs.unit.aqueous_inlet.pressure[0].fixed\n", - "\n", - " @pytest.mark.component\n", - " def test_structural_issues(self, model):\n", - " dt = DiagnosticsToolbox(model)\n", - " dt.assert_no_structural_warnings()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this tutorial, we have covered the comprehensive process of creating a custom unit model from scratch. Let's recap the key steps we have undertaken:\n", - "\n", - "- Developing property package\n", - "- Constructing the unit model \n", - "- Creating a Flowsheet\n", - "- Debugging the model using DiagnosticsToolbox\n", - "- Writing tests for the unit model\n", - "\n", - "By following the aforementioned procedure, one can create their own custom unit model. This would conclude the tutorial on creating custom unit model. " - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "idaes-pse", - "language": "python", - "name": "python3" + ], + "metadata": { + "kernelspec": { + "display_name": "idaes-pse", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" + } }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.13" - } - }, - "nbformat": 4, - "nbformat_minor": 3 -} + "nbformat": 4, + "nbformat_minor": 3 +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_compressor.ipynb b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_compressor.ipynb index 47f203dd..295a4a3b 100644 --- a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_compressor.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_compressor.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_compressor_doc.ipynb b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_compressor_doc.ipynb index 88f645ec..2846f5d6 100644 --- a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_compressor_doc.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_compressor_doc.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -58,7 +59,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -97,7 +98,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -145,7 +146,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -180,7 +181,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -227,7 +228,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -257,95 +258,11 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": { "scrolled": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: linear_solver=ma27\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 54\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 14\n", - "\n", - "Total number of variables............................: 18\n", - " variables with only lower bounds: 5\n", - " variables with lower and upper bounds: 12\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 18\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 5.00e-01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 4.71e+00 2.89e+02 -1.0 4.97e+00 - 3.41e-03 1.00e+00f 1\n", - " 2 0.0000000e+00 2.66e-15 1.00e-06 -1.0 1.16e+00 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 2\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 2.6645352591003757e-15 2.6645352591003757e-15\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.6645352591003757e-15 2.6645352591003757e-15\n", - "\n", - "\n", - "Number of objective function evaluations = 3\n", - "Number of objective gradient evaluations = 3\n", - "Number of equality constraint evaluations = 3\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 3\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 2\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "optimal\n", - "outlet : Size=1\n", - " Key : Name : Value\n", - " None : flow_mol : {0.0: 1.0}\n", - " : mole_frac_comp : {(0.0, 'CH3OH'): 0.25, (0.0, 'CH4'): 0.25, (0.0, 'CO'): 0.25, (0.0, 'H2'): 0.25}\n", - " : pressure : {0.0: 0.56}\n", - " : temperature : {0.0: 4.314183563052119}\n", - "work: 5.26 MJ\n" - ] - } - ], + "outputs": [], "source": [ "m = pe.ConcreteModel()\n", "m.fs = FlowsheetBlock(dynamic=False)\n", @@ -391,9 +308,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.9.12" } }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_compressor_test.ipynb b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_compressor_test.ipynb index 2aa3d42f..381d3193 100644 --- a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_compressor_test.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_compressor_test.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -344,4 +345,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_compressor_usr.ipynb b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_compressor_usr.ipynb index 7441542a..8d772ed2 100644 --- a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_compressor_usr.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_compressor_usr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -312,4 +313,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_heater.ipynb b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_heater.ipynb index 746d13a5..66087c9d 100644 --- a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_heater.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_heater.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_heater_doc.ipynb b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_heater_doc.ipynb index fc220837..ffbac7d3 100644 --- a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_heater_doc.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_heater_doc.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -37,7 +38,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -60,7 +61,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -90,7 +91,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -130,7 +131,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -152,25 +153,11 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": { "scrolled": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "optimal\n", - "outlet : Size=1\n", - " Key : Name : Value\n", - " None : flow_mol : {0.0: 1.0}\n", - " : mole_frac_comp : {(0.0, 'CH3OH'): 0.25, (0.0, 'CH4'): 0.25, (0.0, 'CO'): 0.25, (0.0, 'H2'): 0.25}\n", - " : pressure : {0.0: 0.1}\n", - " : temperature : {0.0: 4.313853268866934}\n" - ] - } - ], + "outputs": [], "source": [ "m = pe.ConcreteModel()\n", "m.fs = fs = FlowsheetBlock(dynamic=False)\n", @@ -212,7 +199,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.9.12" } }, "nbformat": 4, diff --git a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_heater_test.ipynb b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_heater_test.ipynb index 899650a2..7ae398c4 100644 --- a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_heater_test.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_heater_test.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_heater_usr.ipynb b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_heater_usr.ipynb index 6cb98088..be6a2de6 100644 --- a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_heater_usr.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/custom_heater_usr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/liquid_extraction/aqueous_property.py b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/liquid_extraction/aqueous_property.py index c3b62e90..636ee763 100644 --- a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/liquid_extraction/aqueous_property.py +++ b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/liquid_extraction/aqueous_property.py @@ -3,12 +3,13 @@ # Framework (IDAES IP) was produced under the DOE Institute for the # Design of Advanced Energy Systems (IDAES). # -# Copyright (c) 2018-2023 by the software owners: The Regents of the +# Copyright (c) 2018-2025 by the software owners: The Regents of the # University of California, through Lawrence Berkeley National Laboratory, # National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon # University, West Virginia University Research Corporation, et al. # All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md # for full copyright and license information. +# ################################################################################# # Import Python libraries diff --git a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/liquid_extraction/liq_liq_extractor_flowsheet.py b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/liquid_extraction/liq_liq_extractor_flowsheet.py index 2c611928..e939b28b 100644 --- a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/liquid_extraction/liq_liq_extractor_flowsheet.py +++ b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/liquid_extraction/liq_liq_extractor_flowsheet.py @@ -3,12 +3,13 @@ # Framework (IDAES IP) was produced under the DOE Institute for the # Design of Advanced Energy Systems (IDAES). # -# Copyright (c) 2018-2023 by the software owners: The Regents of the +# Copyright (c) 2018-2025 by the software owners: The Regents of the # University of California, through Lawrence Berkeley National Laboratory, # National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon # University, West Virginia University Research Corporation, et al. # All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md # for full copyright and license information. +# ################################################################################# """ The below is an implementation of a flowsheet for liquid liquid extractor. diff --git a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/liquid_extraction/liquid_liquid_extractor.py b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/liquid_extraction/liquid_liquid_extractor.py index 99385b27..930d79ca 100644 --- a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/liquid_extraction/liquid_liquid_extractor.py +++ b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/liquid_extraction/liquid_liquid_extractor.py @@ -3,12 +3,13 @@ # Framework (IDAES IP) was produced under the DOE Institute for the # Design of Advanced Energy Systems (IDAES). # -# Copyright (c) 2018-2023 by the software owners: The Regents of the +# Copyright (c) 2018-2025 by the software owners: The Regents of the # University of California, through Lawrence Berkeley National Laboratory, # National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon # University, West Virginia University Research Corporation, et al. # All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md # for full copyright and license information. +# ################################################################################# """ diff --git a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/liquid_extraction/organic_property.py b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/liquid_extraction/organic_property.py index 4c9102f9..750354c4 100644 --- a/idaes_examples/notebooks/docs/unit_models/custom_unit_models/liquid_extraction/organic_property.py +++ b/idaes_examples/notebooks/docs/unit_models/custom_unit_models/liquid_extraction/organic_property.py @@ -3,12 +3,13 @@ # Framework (IDAES IP) was produced under the DOE Institute for the # Design of Advanced Energy Systems (IDAES). # -# Copyright (c) 2018-2023 by the software owners: The Regents of the +# Copyright (c) 2018-2025 by the software owners: The Regents of the # University of California, through Lawrence Berkeley National Laboratory, # National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon # University, West Virginia University Research Corporation, et al. # All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md # for full copyright and license information. +# ################################################################################# # Import Python libraries diff --git a/idaes_examples/notebooks/docs/unit_models/operations/compressor.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/compressor.ipynb index f4e07086..1f59506f 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/compressor.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/compressor.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/unit_models/operations/compressor_doc.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/compressor_doc.ipynb index d3f073fb..2ee23146 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/compressor_doc.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/compressor_doc.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -83,7 +84,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -127,17 +128,9 @@ }, { "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The initial DOF is 5\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Import compressor unit model from the model library\n", "from idaes.models.unit_models.pressure_changer import (\n", @@ -172,7 +165,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -195,17 +188,9 @@ }, { "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The final DOF is 0\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Fix compressor conditions\n", "m.fs.compr_case_1.deltaP.fix(2.5510e07)\n", @@ -225,17 +210,9 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:30 [INFO] idaes.init.fs.compr_case_1: Initialization Complete: optimal - Optimal Solution Found\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Initialize the flowsheet, and set the output at INFO level\n", "m.fs.compr_case_1.initialize(outlvl=idaeslog.INFO)" @@ -250,83 +227,9 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 18\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 8\n", - "\n", - "Total number of variables............................: 9\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 4\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 9\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 2.38e-07 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "\n", - "Number of Iterations....: 0\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 2.6180568054461275e-10 2.3841857910156250e-07\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.6180568054461275e-10 2.3841857910156250e-07\n", - "\n", - "\n", - "Number of objective function evaluations = 1\n", - "Number of objective gradient evaluations = 1\n", - "Number of equality constraint evaluations = 1\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 1\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 0\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.003\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\b\b\b\b\b\b\b\b\b\b\b\b\b\b" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Solve the simulation using ipopt\n", "# Note: If the degrees of freedom = 0, we have a square problem\n", @@ -343,19 +246,9 @@ }, { "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "_pressure_outlet_ref : Size=1, Index=fs._time, ReferenceTo=fs.compr_case_1.control_volume.properties_out[...].component('pressure')\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " 0.0 : 1.0000000000000002e-06 : 34620700.0 : 500000000.0 : False : False : PositiveReals\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Display Outlet Pressure\n", "m.fs.compr_case_1.outlet.pressure.display()" @@ -363,46 +256,9 @@ }, { "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.compr_case_1 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.85000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 1.5934e+08 : watt : False : (None, None)\n", - " Pressure Change : 2.5510e+07 : pascal : True : (None, None)\n", - " Pressure Ratio : 3.8000 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Units Inlet Outlet \n", - " Molar Flow mole / second 91067. 91067.\n", - " Mass Flow kilogram / second 4007.8 4007.8\n", - " T kelvin 308.15 348.81\n", - " P pascal 9.1107e+06 3.4621e+07\n", - " Vapor Fraction dimensionless 0.0000 0.0000\n", - " Molar Enthalpy joule / mole 13088. 14837.\n", - "====================================================================================\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Display a readable report\n", "m.fs.compr_case_1.report()" @@ -424,17 +280,9 @@ }, { "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The initial DOF is 5\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Create an instance of another compressor unit, attaching it to the flowsheet\n", "# Specify that the property package to be used with the turbine is the one we created earlier.\n", @@ -459,7 +307,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -484,17 +332,9 @@ }, { "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The final DOF is 0\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Fix compressor pressure ratio\n", "m.fs.compr_case_2.ratioP.fix(3.8)\n", @@ -516,17 +356,9 @@ }, { "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:26:30 [INFO] idaes.init.fs.compr_case_2: Initialization Complete: optimal - Optimal Solution Found\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Initialize the flowsheet, and set the output at INFO level\n", "m.fs.compr_case_2.initialize(outlvl=idaeslog.INFO)" @@ -541,77 +373,9 @@ }, { "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 18\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 8\n", - "\n", - "Total number of variables............................: 9\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 4\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 9\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 2.38e-07 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "\n", - "Number of Iterations....: 0\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 2.6180568054461275e-10 2.3841857910156250e-07\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.6180568054461275e-10 2.3841857910156250e-07\n", - "\n", - "\n", - "Number of objective function evaluations = 1\n", - "Number of objective gradient evaluations = 1\n", - "Number of equality constraint evaluations = 1\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 1\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 0\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.003\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\b\b\b\b\b\b\b\b\b\b\b\b\b\b" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Solve the simulation using ipopt\n", "# Note: If the degrees of freedom = 0, we have a square problem\n", @@ -628,20 +392,9 @@ }, { "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "pressure : Pressure\n", - " Size=1, Index=None, Units=Pa\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " None : 1.0000000000000002e-06 : 34620660.0 : 500000000.0 : False : False : PositiveReals\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Display compressor pressure increase\n", "m.fs.compr_case_2.outlet.pressure[0].display()" @@ -649,40 +402,9 @@ }, { "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.compr_case_2 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.85000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 1.5934e+08 : watt : False : (None, None)\n", - " Pressure Change : 2.5510e+07 : pascal : False : (None, None)\n", - " Pressure Ratio : 3.8000 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Molar Flow mole / second 91067. 91067.\n", - " Mass Flow kilogram / second 4007.8 4007.8\n", - " T kelvin 308.15 348.81\n", - " P pascal 9.1107e+06 3.4621e+07\n", - " Vapor Fraction dimensionless 0.0000 0.0000\n", - " Molar Enthalpy joule / mole 13088. 14837.\n", - "====================================================================================\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Display a readable report\n", "m.fs.compr_case_2.report()" @@ -705,9 +427,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.9.12" } }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/operations/compressor_test.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/compressor_test.ipynb index 7d354e12..270622a5 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/compressor_test.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/compressor_test.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -557,4 +558,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/operations/compressor_usr.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/compressor_usr.ipynb index 097aedb3..6b1843f3 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/compressor_usr.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/compressor_usr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -431,4 +432,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/operations/eg_h2o_ideal.py b/idaes_examples/notebooks/docs/unit_models/operations/eg_h2o_ideal.py index 40607b83..14541461 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/eg_h2o_ideal.py +++ b/idaes_examples/notebooks/docs/unit_models/operations/eg_h2o_ideal.py @@ -3,12 +3,13 @@ # Framework (IDAES IP) was produced under the DOE Institute for the # Design of Advanced Energy Systems (IDAES). # -# Copyright (c) 2018-2023 by the software owners: The Regents of the +# Copyright (c) 2018-2025 by the software owners: The Regents of the # University of California, through Lawrence Berkeley National Laboratory, # National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon # University, West Virginia University Research Corporation, et al. # All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md # for full copyright and license information. +# ################################################################################# """ Phase equilibrium package for Ethylene Oxide hydrolysis to Ethylene Glycol diff --git a/idaes_examples/notebooks/docs/unit_models/operations/heat_exchanger_0d.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/heat_exchanger_0d.ipynb index d7f22f19..97e8e315 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/heat_exchanger_0d.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/heat_exchanger_0d.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/unit_models/operations/heat_exchanger_0d_doc.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/heat_exchanger_0d_doc.ipynb index bd16e69e..1100a361 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/heat_exchanger_0d_doc.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/heat_exchanger_0d_doc.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -78,7 +79,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": { "scrolled": true }, @@ -130,17 +131,9 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The initial DOF is 10\n" - ] - } - ], + "outputs": [], "source": [ "# Create an instance of the heat exchanger unit, attaching it to the flowsheet\n", "# Specify that the property package to be used with the heater is the one we created earlier.\n", @@ -159,17 +152,9 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The DOF is 7\n" - ] - } - ], + "outputs": [], "source": [ "h = htpx(450 * units.K, P=101325 * units.Pa)\n", "\n", @@ -184,17 +169,9 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The DOF is 2\n" - ] - } - ], + "outputs": [], "source": [ "m.fs.heat_exchanger.tube_inlet.flow_mol.fix(250) # mol/s\n", "m.fs.heat_exchanger.tube_inlet.mole_frac_comp[0, \"benzene\"].fix(0.4)\n", @@ -216,17 +193,9 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The DOF is 0\n" - ] - } - ], + "outputs": [], "source": [ "m.fs.heat_exchanger.area.fix(50) # m2\n", "m.fs.heat_exchanger.overall_heat_transfer_coefficient[0].fix(500) # W/m2/K\n", @@ -238,156 +207,9 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:29 [INFO] idaes.init.fs.heat_exchanger.hot_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:29 [INFO] idaes.init.fs.heat_exchanger.cold_side.properties_in: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:30 [INFO] idaes.init.fs.heat_exchanger.cold_side.properties_in: Dew and bubble point initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:30 [INFO] idaes.init.fs.heat_exchanger.cold_side.properties_in: Equilibrium temperature initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:30 [INFO] idaes.init.fs.heat_exchanger.cold_side.properties_in: State variable initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:30 [INFO] idaes.init.fs.heat_exchanger.cold_side.properties_in: Phase equilibrium initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:30 [INFO] idaes.init.fs.heat_exchanger.cold_side.properties_in: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:30 [INFO] idaes.init.fs.heat_exchanger.cold_side.properties_out: Starting initialization\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:30 [INFO] idaes.init.fs.heat_exchanger.cold_side.properties_out: Dew and bubble point initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:30 [INFO] idaes.init.fs.heat_exchanger.cold_side.properties_out: Equilibrium temperature initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:30 [INFO] idaes.init.fs.heat_exchanger.cold_side.properties_out: State variable initialization completed.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:30 [INFO] idaes.init.fs.heat_exchanger.cold_side.properties_out: Phase equilibrium initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:30 [INFO] idaes.init.fs.heat_exchanger.cold_side.properties_out: Property initialization: optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:30 [INFO] idaes.init.fs.heat_exchanger.cold_side: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:25:30 [INFO] idaes.init.fs.heat_exchanger: Initialization Completed, optimal - Optimal Solution Found\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.heat_exchanger Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " HX Area : 50.000 : meter ** 2 : True : (0, None)\n", - " HX Coefficient : 500.00 : kilogram / kelvin / second ** 3 : True : (0, None)\n", - " Heat Duty : 1.2985e+06 : watt : False : (None, None)\n", - "\n", - " Expressions: \n", - "\n", - " Key : Value : Units\n", - " Delta T Driving : 51.940 : kelvin\n", - " Delta T In : 80.757 : kelvin\n", - " Delta T Out : 23.124 : kelvin\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units shell Inlet shell Outlet tube Inlet tube Outlet\n", - " Molar Flow mole / second 100 100.00 - -\n", - " Mass Flow kilogram / second 1.8015 1.8015 - -\n", - " T kelvin 450.00 373.12 - -\n", - " P pascal 101325 1.0132e+05 - -\n", - " Vapor Fraction dimensionless 1.0000 0.74888 - -\n", - " Molar Enthalpy joule / mole 50977. 37992. - -\n", - " Total Molar Flowrate mole / second - - 250 250.00\n", - " Total Mole Fraction benzene dimensionless - - 0.40000 0.40000\n", - " Total Mole Fraction toluene dimensionless - - 0.60000 0.60000\n", - " Temperature kelvin - - 350 369.24\n", - " Pressure pascal - - 1.0132e+05 1.0132e+05\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "# Initialize the flowsheet, and set the output at WARNING\n", "m.fs.heat_exchanger.initialize(outlvl=idaeslog.INFO)\n", @@ -412,17 +234,9 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0\n" - ] - } - ], + "outputs": [], "source": [ "m.fs.heat_exchanger.area.unfix()\n", "m.fs.heat_exchanger.shell_outlet.enth_mol.fix(htpx(360 * units.K, P=101325 * units.Pa))\n", @@ -431,70 +245,9 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Problem: \n", - "- Lower bound: -inf\n", - " Upper bound: inf\n", - " Number of objectives: 1\n", - " Number of constraints: 44\n", - " Number of variables: 44\n", - " Sense: unknown\n", - "Solver: \n", - "- Status: ok\n", - " Message: Ipopt 3.13.2\\x3a Optimal Solution Found\n", - " Termination condition: optimal\n", - " Id: 0\n", - " Error rc: 0\n", - " Time: 0.05035805702209473\n", - "Solution: \n", - "- number of solutions: 0\n", - " number of solutions displayed: 0\n", - "\n", - "\n", - "====================================================================================\n", - "Unit : fs.heat_exchanger Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " HX Area : 200.26 : meter ** 2 : False : (0, None)\n", - " HX Coefficient : 500.00 : kilogram / kelvin / second ** 3 : True : (0, None)\n", - " Heat Duty : 4.4423e+06 : watt : False : (None, None)\n", - "\n", - " Expressions: \n", - "\n", - " Key : Value : Units\n", - " Delta T Driving : 44.365 : kelvin\n", - " Delta T In : 78.730 : kelvin\n", - " Delta T Out : 10.000 : kelvin\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units shell Inlet shell Outlet tube Inlet tube Outlet\n", - " Molar Flow mole / second 100 100.00 - -\n", - " Mass Flow kilogram / second 1.8015 1.8015 - -\n", - " T kelvin 450.00 360.00 - -\n", - " P pascal 101325 1.0132e+05 - -\n", - " Vapor Fraction dimensionless 1.0000 0.0000 - -\n", - " Molar Enthalpy joule / mole 50977. 6554.3 - -\n", - " Total Molar Flowrate mole / second - - 250 250.00\n", - " Total Mole Fraction benzene dimensionless - - 0.40000 0.40000\n", - " Total Mole Fraction toluene dimensionless - - 0.60000 0.60000\n", - " Temperature kelvin - - 350 371.27\n", - " Pressure pascal - - 1.0132e+05 1.0132e+05\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "result = opt.solve(m)\n", "\n", @@ -529,9 +282,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.9.12" } }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/operations/heat_exchanger_0d_test.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/heat_exchanger_0d_test.ipynb index 573ea6df..dd2c5b60 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/heat_exchanger_0d_test.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/heat_exchanger_0d_test.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -357,4 +358,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/operations/heat_exchanger_0d_usr.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/heat_exchanger_0d_usr.ipynb index 03106f87..ab0944ab 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/heat_exchanger_0d_usr.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/heat_exchanger_0d_usr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -286,4 +287,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/operations/heater.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/heater.ipynb index 5774adcb..f3e08dee 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/heater.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/heater.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/unit_models/operations/heater_doc.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/heater_doc.ipynb index 65fc12f9..a8ccc366 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/heater_doc.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/heater_doc.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -67,7 +68,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -100,17 +101,9 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The initial DOF is 6\n" - ] - } - ], + "outputs": [], "source": [ "# Import heater unit model from the model library\n", "from idaes.models.unit_models.heater import Heater\n", @@ -131,7 +124,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -154,17 +147,9 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The final DOF is 0\n" - ] - } - ], + "outputs": [], "source": [ "m.fs.heater.outlet.temperature.fix(363)\n", "# Call the degrees_of_freedom function, get final DOF\n", @@ -187,7 +172,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -198,122 +183,9 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:10 [INFO] idaes.init.fs.heater.control_volume.properties_in: Initialization Step 1 skipped.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:10 [INFO] idaes.init.fs.heater.control_volume.properties_in: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:10 [INFO] idaes.init.fs.heater.control_volume.properties_in: Initialization Step 3 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:10 [INFO] idaes.init.fs.heater.control_volume.properties_in: Initialization Step 4 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:10 [INFO] idaes.init.fs.heater.control_volume.properties_in: Initialization Step 5 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:10 [INFO] idaes.init.fs.heater.control_volume.properties_out: Initialization Step 1 skipped.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:10 [INFO] idaes.init.fs.heater.control_volume.properties_out: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:10 [INFO] idaes.init.fs.heater.control_volume.properties_out: Initialization Step 3 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:10 [INFO] idaes.init.fs.heater.control_volume.properties_out: Initialization Step 4 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:10 [INFO] idaes.init.fs.heater.control_volume.properties_out: Initialization Step 5 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:10 [INFO] idaes.init.fs.heater.control_volume.properties_out: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:10 [INFO] idaes.init.fs.heater.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:10 [INFO] idaes.init.fs.heater: Initialization Step 1 Complete.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:10 [INFO] idaes.init.fs.heater: Initialization Step 2 optimal - Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:10 [INFO] idaes.init.fs.heater.control_volume.properties_in: State Released.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:10 [INFO] idaes.init.fs.heater: Initialization Complete: optimal - Optimal Solution Found\n" - ] - } - ], + "outputs": [], "source": [ "# Initialize the flowsheet, and set the output at INFO_HIGH\n", "m.fs.heater.initialize(outlvl=idaeslog.INFO_HIGH)\n", @@ -329,77 +201,9 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 45\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 20\n", - "\n", - "Total number of variables............................: 17\n", - " variables with only lower bounds: 2\n", - " variables with lower and upper bounds: 6\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 17\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 0.00e+00 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "\n", - "Number of Iterations....: 0\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "\n", - "\n", - "Number of objective function evaluations = 1\n", - "Number of objective gradient evaluations = 1\n", - "Number of equality constraint evaluations = 1\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 1\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 0\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\b\b\b\b\b\b\b\b\b\b\b\b\b\b" - ] - } - ], + "outputs": [], "source": [ "# Solve the simulation using ipopt\n", "# Note: If the degrees of freedom = 0, we have a square problem\n", @@ -416,19 +220,9 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "heat_duty : Size=1, Index=fs._time, ReferenceTo=fs.heater.control_volume.heat\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " 0.0 : None : 459.10147722222246 : None : False : False : Reals\n" - ] - } - ], + "outputs": [], "source": [ "# Display Heat Duty only\n", "m.fs.heater.heat_duty.display()" @@ -436,36 +230,9 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.heater Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 459.10 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 0.27778 0.27778\n", - " mole_frac_comp benzene dimensionless 0.40000 0.40000\n", - " mole_frac_comp toluene dimensionless 0.60000 0.60000\n", - " temperature kelvin 353.00 363.00\n", - " pressure pascal 1.0132e+05 1.0132e+05\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "# Display a readable report\n", "m.fs.heater.report()" @@ -480,83 +247,9 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 46\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 21\n", - "\n", - "Total number of variables............................: 17\n", - " variables with only lower bounds: 3\n", - " variables with lower and upper bounds: 6\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 17\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 7.28e-12 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - "\n", - "Number of Iterations....: 0\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 4.7656100143311205e-12 7.2759576141834259e-12\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 4.7656100143311205e-12 7.2759576141834259e-12\n", - "\n", - "\n", - "Number of objective function evaluations = 1\n", - "Number of objective gradient evaluations = 1\n", - "Number of equality constraint evaluations = 1\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 1\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 0\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\b\b\b\b\b\b\b\b\b\b\b\b\b\b" - ] - } - ], + "outputs": [], "source": [ "# Fix heat duty and solve the model\n", "m.fs.heater.outlet.temperature.unfix()\n", @@ -566,19 +259,9 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "_temperature_outlet_ref : Size=1, Index=fs._time, ReferenceTo=fs.heater.control_volume.properties_out[...].component('temperature')\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " 0.0 : 0 : 363.0 : None : False : False : NonNegativeReals\n" - ] - } - ], + "outputs": [], "source": [ "# Display outlet temperature only\n", "m.fs.heater.outlet.temperature.display()" @@ -586,36 +269,9 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.heater Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 459.10 : watt : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " flow_mol mole / second 0.27778 0.27778\n", - " mole_frac_comp benzene dimensionless 0.40000 0.40000\n", - " mole_frac_comp toluene dimensionless 0.60000 0.60000\n", - " temperature kelvin 353.00 363.00\n", - " pressure pascal 1.0132e+05 1.0132e+05\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "# Display a readable report\n", "m.fs.heater.report()" @@ -630,7 +286,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -666,24 +322,9 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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QF5eXoVjXnnlFSgUigq/2rZtW6M5WKIFCxage/fu5p4G5s2bhxkzZqB58+YAyq/XjRs34OPjg379+uHOnTsYMmQIVCoVtm/fbqZZE9UfhiCiBuK3335Dz549cenSJfzzn//E5cuXsX79ehw+fBharRa5ubnmnmK5Vq9ejczMTOkLADZv3iy9TkhIMPMMK6+wsLBe1yeEQFFRUbXem5aWhr179+KVV16pcExqair69OkDLy8vREVFwcHBAUBJcF2zZk211kvUkDAEETUQYWFhsLa2RnR0NPr37w9PT08MHToUhw4dQkZGBv7nf/5HGqtQKPDtt9+avN/R0RFbtmwBALRr1w4A4OvrC4VCAT8/v3LXWVxcjIiICLRr1w62trZ48sknsWvXLgAle5MGDBgAAGjRogUUCkW5/+A6ODhAo9FIX6VzKX2dnZ2NoUOHolmzZnBxccGECRNw8+ZN6f1+fn6YMWMGZs2ahRYtWsDFxQWbNm3C/fv3MWnSJDRv3hwdO3bEgQMHpPeU7vHYt28funXrhqZNm6J37964ePGiydx++OEH9O3bF7a2tvDw8MAbb7yB+/fvS/1t27bF4sWLMXHiRKjVakydOhUAMHfuXHTu3Bl2dnZo37493nvvPRgMBgDAli1bsHDhQpw7d07a27Vly5Zy977l5eVBoVAgJibGZN4HDhyQnlr+ww8//GUdKvKvf/0LTz75JNq0aVNu//nz59GnTx9otVp8++23sLW1lfpGjBiB06dPIzU19S/XQdTQMQQRNQC5ubmIiorC66+/bvKPFQBoNBqMGzcOX3/9NSr7KMBTp04BAA4dOoTMzExERkaWOy4iIgJfffUV1q9fj6SkJMyePRvjx49HbGwsPDw8sHv3bgAl555kZmZi9erVVdquvLw8DBw4EL6+vjh9+jQOHjyI7OxsvPDCCybjtm7dilatWuHUqVOYMWMGQkND8fzzz+OZZ57BmTNnEBAQgAkTJqCgoMDkfXPmzMEnn3yChIQEtG7dGiNGjJDCSmpqKoYMGYLg4GCcP38eX3/9NX744QdMnz7dZBkff/wxnnzySfz000947733AADNmzfHli1bkJycjNWrV2PTpk1YuXIlAODFF1/Em2++iccff1za2/Xiiy9W6XN55513sGzZMvz888/o1q3bX9ahIsePH0fPnj3L7YuLi0P//v0RHByM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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "filenames": { - "image/png": "C:\\Users\\dkgun\\src\\dangunter\\examples\\idaes_examples\\notebooks\\_build\\jupyter_execute\\docs\\unit_models\\operations\\heater_doc_22_0.png" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# Plotting the results\n", "\n", @@ -721,9 +362,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.9.12" } }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/operations/heater_test.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/heater_test.ipynb index c845805c..f671d51b 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/heater_test.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/heater_test.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -472,4 +473,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/operations/heater_usr.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/heater_usr.ipynb index ea1b4363..a9e86484 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/heater_usr.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/heater_usr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -366,4 +367,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/operations/mixer.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/mixer.ipynb index c7a7e2a2..96cade8e 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/mixer.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/mixer.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/unit_models/operations/mixer_doc.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/mixer_doc.ipynb index 463d11e8..10cc4129 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/mixer_doc.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/mixer_doc.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -93,7 +94,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -140,17 +141,9 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The initial degrees of freedom is: 10\n" - ] - } - ], + "outputs": [], "source": [ "# Create an instance of the mixer unit, attaching it to the flowsheet\n", "# Specify that the property package to be used with the mixer is the\n", @@ -177,17 +170,9 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The final degrees of freedom is: 0\n" - ] - } - ], + "outputs": [], "source": [ "# Fix the inlet conditions\n", "\n", @@ -219,7 +204,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -236,80 +221,9 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 68\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 31\n", - "\n", - "Total number of variables............................: 25\n", - " variables with only lower bounds: 3\n", - " variables with lower and upper bounds: 8\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 25\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 3.58e+02 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 3.58e+00 1.00e-02 -1.0 1.00e-02 - 9.90e-01 9.90e-01h 1\n", - " 2 0.0000000e+00 3.54e-02 1.98e-03 -1.0 1.00e-04 - 9.90e-01 9.90e-01h 1\n", - " 3 0.0000000e+00 9.31e-10 1.32e+01 -1.0 9.90e-07 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 2.0968859831870735e-12 9.3132257461547852e-10\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.0968859831870735e-12 9.3132257461547852e-10\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\b\b\b\b\b\b\b\b\b\b\b\b\b\b" - ] - } - ], + "outputs": [], "source": [ "# Solve the simulation using ipopt\n", "# Note: If the degrees of freedom = 0, we have a square problem\n", @@ -326,28 +240,9 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.mixer_1 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units inlet_1 inlet_2 Outlet \n", - " flow_mol mole / second 100 100 200.00\n", - " mole_frac_comp benzene dimensionless 1 0 0.50000\n", - " mole_frac_comp toluene dimensionless 0 1 0.50000\n", - " temperature kelvin 353 356 354.61\n", - " pressure pascal 101325 202650 1.0133e+05\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "# Display output report\n", "m.fs.mixer_1.report()" @@ -364,7 +259,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -381,17 +276,9 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The initial degrees of freedom is: 9\n" - ] - } - ], + "outputs": [], "source": [ "# Check the required degrees of freedom\n", "DOF_init = degrees_of_freedom(m.fs.mixer_2)\n", @@ -407,17 +294,9 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The final degrees of freedom is: 0\n" - ] - } - ], + "outputs": [], "source": [ "# Fix the stream inlet conditions\n", "\n", @@ -453,7 +332,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -471,80 +350,9 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 66\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 30\n", - "\n", - "Total number of variables............................: 24\n", - " variables with only lower bounds: 4\n", - " variables with lower and upper bounds: 8\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 24\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 3.58e+02 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 3.58e+00 1.00e-02 -1.0 1.00e-02 - 9.90e-01 9.90e-01h 1\n", - " 2 0.0000000e+00 3.54e-02 1.98e-03 -1.0 1.00e-04 - 9.90e-01 9.90e-01h 1\n", - " 3 0.0000000e+00 9.31e-10 1.32e+01 -1.0 9.90e-07 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 2.0968859831870735e-12 9.3132257461547852e-10\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.0968859831870735e-12 9.3132257461547852e-10\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.001\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\b\b\b\b\b\b\b\b\b\b\b\b\b\b" - ] - } - ], + "outputs": [], "source": [ "# Solve the simulation using ipopt\n", "# Note: If the degrees of freedom = 0, we have a square problem\n", @@ -561,28 +369,9 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.mixer_2 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units benzene_inlet toluene_inlet Outlet \n", - " flow_mol mole / second 100 100.00 200.00\n", - " mole_frac_comp benzene dimensionless 1 0.0000 0.50000\n", - " mole_frac_comp toluene dimensionless 0 1.0000 0.50000\n", - " temperature kelvin 353 356.00 354.61\n", - " pressure pascal 101325 1.0132e+05 1.0132e+05\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "# Display a readable report\n", "m.fs.mixer_2.report()" @@ -613,7 +402,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.9.12" } }, "nbformat": 4, diff --git a/idaes_examples/notebooks/docs/unit_models/operations/mixer_test.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/mixer_test.ipynb index 9bb28c24..e95877ca 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/mixer_test.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/mixer_test.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/unit_models/operations/mixer_usr.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/mixer_usr.ipynb index 051e8bf0..c70e1eb6 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/mixer_usr.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/mixer_usr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/unit_models/operations/pump.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/pump.ipynb index 1fa67e77..8084266a 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/pump.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/pump.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/unit_models/operations/pump_doc.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/pump_doc.ipynb index a03e1227..3ccd734d 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/pump_doc.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/pump_doc.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -82,7 +83,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -127,7 +128,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -141,17 +142,9 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The initial DOF is 5\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Import the degrees_of_freedom function from the idaes.core.util.model_statistics package\n", "# DOF = Number of Model Variables - Number of Model Constraints\n", @@ -171,7 +164,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -194,17 +187,9 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The final DOF is 0\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Fix pump conditions\n", "m.fs.pump_case_1.deltaP.fix(100000)\n", @@ -224,24 +209,9 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:15 [INFO] idaes.init.fs.pump_case_1.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:15 [INFO] idaes.init.fs.pump_case_1: Initialization Complete: optimal - Optimal Solution Found\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Initialize the flowsheet, and set the logger level to INFO\n", "m.fs.pump_case_1.initialize(outlvl=idaeslog.INFO)" @@ -256,84 +226,9 @@ }, { "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 14\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 6\n", - "\n", - "Total number of variables............................: 6\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 2\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 6\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 7.89e-07 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 6.55e-09 5.16e-07 -1.0 9.86e-07 - 9.90e-01 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 1\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 3.4603063846230464e-10 6.5483618527650833e-09\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 3.4603063846230464e-10 6.5483618527650833e-09\n", - "\n", - "\n", - "Number of objective function evaluations = 2\n", - "Number of objective gradient evaluations = 2\n", - "Number of equality constraint evaluations = 2\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 2\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 1\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.011\n", - "Total CPU secs in NLP function evaluations = 0.001\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\b\b\b\b\b\b\b\b\b\b\b\b\b\b" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Solve the simulation using ipopt\n", "# Note: If the degrees of freedom = 0, we have a square problem\n", @@ -357,46 +252,9 @@ }, { "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.pump_case_1 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Efficiency : 0.80000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 225.85 : watt : False : (None, None)\n", - " Pressure Change : 1.0000e+05 : pascal : True : (None, None)\n", - " Pressure Ratio : 1.9869 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Units Inlet Outlet \n", - " Molar Flow mole / second 100.00 100.00\n", - " Mass Flow kilogram / second 1.8015 1.8015\n", - " T kelvin 298.15 298.16\n", - " P pascal 1.0132e+05 2.0132e+05\n", - " Vapor Fraction dimensionless 0.0000 0.0000\n", - " Molar Enthalpy joule / mole 1890.2 1892.4\n", - "====================================================================================\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Display a readable report\n", "m.fs.pump_case_1.report()" @@ -418,17 +276,9 @@ }, { "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The initial DOF is 5\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Create an instance of another pump unit, attaching it to the same flowsheet\n", "# Specify that the property package to be used with the pump is the one we created earlier.\n", @@ -448,7 +298,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -471,7 +321,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -484,17 +334,9 @@ }, { "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The final degrees of freedom is: 0\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "DOF_final = degrees_of_freedom(m.fs.pump_case_2)\n", "print(\"The final degrees of freedom is: {0}\".format(DOF_final))" @@ -509,24 +351,9 @@ }, { "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:15 [INFO] idaes.init.fs.pump_case_2.control_volume: Initialization Complete\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:30:15 [INFO] idaes.init.fs.pump_case_2: Initialization Complete: optimal - Optimal Solution Found\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Initialize the flowsheet, and set the logger level to INFO\n", "m.fs.pump_case_2.initialize(outlvl=idaeslog.INFO)" @@ -541,78 +368,9 @@ }, { "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 11\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 3\n", - "\n", - "Total number of variables............................: 6\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 1\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 6\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 7.89e-07 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 6.55e-09 5.16e-07 -1.0 9.86e-07 - 9.90e-01 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 1\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 3.4603063846230464e-10 6.5483618527650833e-09\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 3.4603063846230464e-10 6.5483618527650833e-09\n", - "\n", - "\n", - "Number of objective function evaluations = 2\n", - "Number of objective gradient evaluations = 2\n", - "Number of equality constraint evaluations = 2\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 2\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 1\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.007\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n", - "\b\b\b\b\b\b\b\b\b\b\b\b\b\b" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Solve the simulation using ipopt\n", "# Note: If the degrees of freedom = 0, we have a square problem\n", @@ -629,40 +387,9 @@ }, { "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.pump_case_2 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Efficiency : 0.80000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 225.85 : watt : False : (None, None)\n", - " Pressure Change : 1.0000e+05 : pascal : False : (None, None)\n", - " Pressure Ratio : 1.9869 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Molar Flow mole / second 100.00 100.00\n", - " Mass Flow kilogram / second 1.8015 1.8015\n", - " T kelvin 298.15 298.16\n", - " P pascal 1.0132e+05 2.0132e+05\n", - " Vapor Fraction dimensionless 0.0000 0.0000\n", - " Molar Enthalpy joule / mole 1890.2 1892.4\n", - "====================================================================================\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Display a readable report\n", "m.fs.pump_case_2.report()" @@ -686,9 +413,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.9.12" } }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/operations/pump_test.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/pump_test.ipynb index f1ba0ff3..8dc44df4 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/pump_test.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/pump_test.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -535,4 +536,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/operations/pump_usr.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/pump_usr.ipynb index 15e6db9a..18360051 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/pump_usr.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/pump_usr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -417,4 +418,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/operations/skeleton_unit.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/skeleton_unit.ipynb index 83a73858..09e0ff72 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/skeleton_unit.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/skeleton_unit.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/unit_models/operations/skeleton_unit_doc.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/skeleton_unit_doc.ipynb index 4a3fab04..3f687f6f 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/skeleton_unit_doc.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/skeleton_unit_doc.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/unit_models/operations/skeleton_unit_test.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/skeleton_unit_test.ipynb index 4a3fab04..d20631c8 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/skeleton_unit_test.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/skeleton_unit_test.ipynb @@ -1,728 +1,729 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# IDAES Skeleton Unit Model\n", - "Maintainer: Brandon Paul \n", - "Author: Brandon Paul \n", - "Updated: 2023-06-01 \n", - "\n", - "This notebook demonstrates usage of the IDAES Skeleton Unit Model, which provides a generic \"bare bones\" unit for user-defined models and custom variable and constraint sets. To allow maximum versatility, this unit may be defined as a surrogate model or a custom equation-oriented model. Users must add ports and variables that match connected models, and this is facilitated through a provided method to add port-variable sets.\n", - "\n", - "For users who wish to train surrogates with IDAES tools and insert obtained models into a flowsheet, see more detailed information on [IDAES Surrogate Tools](https://idaes-pse.readthedocs.io/en/stable/explanations/modeling_extensions/surrogate/index.html)." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 1. Motivation\n", - "\n", - "In many cases, a specific application requires a unique unit operation that does not exist in the IDAES repository. Custom user models may source from external scripts, import surrogate equations or use first-principles calculations. However, IDAES flowsheets adhere to a standardized modeling hierarchy and simple Pyomo models do not always follow these conventions. Additionally, simple flowsheet submodels often require integration with other IDAES unit models which requires consistency between corresponding port variables, stream properties and physical unit sets, as well as proper usage of `ControlVolume` blocks.\n", - "\n", - "The IDAES `SkeletonUnitModel` allows custom creation of user models blocks that do not require `ControlVolume` blocks, and enabling connection with standard IDAES unit models that do contain `ControlVolume` blocks. To motivate the usefulness and versatility of this tool, we will consider a simple pervaporation unit. The custom model does not require rigorous thermodynamic calculations contained in adjacent unit models, and using a Skeleton model allows definition of only required variables and constraints. The new block does require state variable connections for the inlet and outlet streams. We will demonstrate this scenario below to highlight the usage and benefits of the Skeleton model." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 2. Example - Pervaporation\n", - "\n", - "Pervaporation is a low-energy separation process, and is particularly advantageous over distillation for azeotropic solutions or aqueous mixtures of heavy alcohols. Ethylene glycol is more environmentally friendly than typical chloride- and bromide-based dessicants, and is a common choice for commercial recovery of water from flue gas via liquid spray columns. Due to ethylene glycol's high boiling point, diffusion-based water recovery is economically favorable compared to distillation-based processes. The following example and flux correlation are taken from the literature source below:\n", - "\n", - "Jennifer Runhong Du, Amit Chakma, X. Feng, Dehydration of ethylene glycol by pervaporation using poly(N,N-dimethylaminoethyl methacrylate)/polysulfone composite membranes, Separation and Purification Technology, Volume 64, Issue 1, 2008, Pages 63-70, ISSN 1383-5866, https://doi.org/10.1016/j.seppur.2008.08.004.\n", - "\n", - "The process is adapted from the literature, utilizing an inlet aqueous glycol feed circulated through a feed tank-membrane-feed tank recycle loop while permeate is continuously extracted by the membrane. To demonstrate the usefulness of the Skeleton model, we will model this system as a Mixer and custom Pervaporation unit per the diagram below and define the flux as an empirical custom mass balance term rather than requiring rigorous diffusion calculations. We will also circumvent the need for a vapor phase and VLE calculations by manually calculating the duty to condense and collect permeate vapor, and use correlations for steady-state fluxes to avoid a recycle requiring tear calculations.\n", - "\n", - "![](pervaporation_process.png)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2.1 Pyomo and IDAES Imports\n", - "We will begin with relevant imports. We will need basic Pyomo and IDAES components:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import pytest\n", - "from pyomo.environ import (\n", - " check_optimal_termination,\n", - " ConcreteModel,\n", - " Constraint,\n", - " Expression,\n", - " Objective,\n", - " maximize,\n", - " Var,\n", - " Set,\n", - " TransformationFactory,\n", - " value,\n", - " exp,\n", - " units as pyunits,\n", - ")\n", - "from pyomo.network import Arc\n", - "from idaes.core import FlowsheetBlock\n", - "from idaes.models.unit_models import Feed, SkeletonUnitModel, Mixer, Product\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.util.initialization import propagate_state\n", - "from idaes.core.solvers import get_solver\n", - "from pyomo.util.check_units import assert_units_consistent\n", - "\n", - "# import thermophysical properties\n", - "import eg_h2o_ideal as thermo_props\n", - "from idaes.models.properties.modular_properties import GenericParameterBlock\n", - "from idaes.core.util.constants import Constants" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2.2 Build Flowsheet\n", - "\n", - "We will build a simple model manually defining state variables relations entering and exiting the pervaporation unit. As shown below, we may define our pre-separation mixer as usual:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# build the flowsheet\n", - "m = ConcreteModel()\n", - "m.fs = FlowsheetBlock(dynamic=False)\n", - "\n", - "m.fs.thermo_params = GenericParameterBlock(**thermo_props.config_dict)\n", - "\n", - "m.fs.WATER = Feed(property_package=m.fs.thermo_params)\n", - "m.fs.GLYCOL = Feed(property_package=m.fs.thermo_params)\n", - "\n", - "m.fs.M101 = Mixer(\n", - " property_package=m.fs.thermo_params, inlet_list=[\"water_feed\", \"glycol_feed\"]\n", - ")\n", - "\n", - "m.fs.RETENTATE = Product(property_package=m.fs.thermo_params)\n", - "m.fs.PERMEATE = Product(property_package=m.fs.thermo_params)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2.2 Defining Skeleton Model and Connections\n", - "\n", - "Now that our flowsheet exists, we can manually define variables, units, constraints and ports for our custom pervaporation unit model. By using a Skeleton model, we avoid rigorous mass and energy balances and phase equilibrium which impact model tractability. Instead, we define state variable relations as below - note that we include the fluxes as outlet flow terms. In this model, the variables specify an `FpcTP` system where molar flow of each component, temperature and pressure are selected as state variables:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# define Skeleton model for pervaporation unit\n", - "m.fs.pervap = SkeletonUnitModel(dynamic=False)\n", - "m.fs.pervap.comp_list = Set(initialize=[\"water\", \"ethylene_glycol\"])\n", - "m.fs.pervap.phase_list = Set(initialize=[\"Liq\"])\n", - "\n", - "# input vars for skeleton\n", - "# m.fs.time is a pre-initialized Set belonging to the FlowsheetBlock; for dynamic=False, time=[0]\n", - "m.fs.pervap.flow_in = Var(\n", - " m.fs.time,\n", - " m.fs.pervap.phase_list,\n", - " m.fs.pervap.comp_list,\n", - " initialize=1.0,\n", - " units=pyunits.mol / pyunits.s,\n", - ")\n", - "m.fs.pervap.temperature_in = Var(m.fs.time, initialize=298.15, units=pyunits.K)\n", - "m.fs.pervap.pressure_in = Var(m.fs.time, initialize=101e3, units=pyunits.Pa)\n", - "\n", - "# output vars for skeleton\n", - "m.fs.pervap.perm_flow = Var(\n", - " m.fs.time,\n", - " m.fs.pervap.phase_list,\n", - " m.fs.pervap.comp_list,\n", - " initialize=1.0,\n", - " units=pyunits.mol / pyunits.s,\n", - ")\n", - "m.fs.pervap.ret_flow = Var(\n", - " m.fs.time,\n", - " m.fs.pervap.phase_list,\n", - " m.fs.pervap.comp_list,\n", - " initialize=1.0,\n", - " units=pyunits.mol / pyunits.s,\n", - ")\n", - "m.fs.pervap.temperature_out = Var(m.fs.time, initialize=298.15, units=pyunits.K)\n", - "m.fs.pervap.pressure_out = Var(m.fs.time, initialize=101e3, units=pyunits.Pa)\n", - "m.fs.pervap.vacuum = Var(m.fs.time, initialize=1.3e3, units=pyunits.Pa)\n", - "\n", - "# dictionaries relating state properties to custom variables\n", - "inlet_dict = {\n", - " \"flow_mol_phase_comp\": m.fs.pervap.flow_in,\n", - " \"temperature\": m.fs.pervap.temperature_in,\n", - " \"pressure\": m.fs.pervap.pressure_in,\n", - "}\n", - "retentate_dict = {\n", - " \"flow_mol_phase_comp\": m.fs.pervap.ret_flow,\n", - " \"temperature\": m.fs.pervap.temperature_out,\n", - " \"pressure\": m.fs.pervap.pressure_out,\n", - "}\n", - "permeate_dict = {\n", - " \"flow_mol_phase_comp\": m.fs.pervap.perm_flow,\n", - " \"temperature\": m.fs.pervap.temperature_out,\n", - " \"pressure\": m.fs.pervap.vacuum,\n", - "}\n", - "\n", - "m.fs.pervap.add_ports(name=\"inlet\", member_dict=inlet_dict)\n", - "m.fs.pervap.add_ports(name=\"retentate\", member_dict=retentate_dict)\n", - "m.fs.pervap.add_ports(name=\"permeate\", member_dict=permeate_dict)\n", - "\n", - "# internal vars for skeleton\n", - "energy_activation_dict = {\n", - " (0, \"Liq\", \"water\"): 51e3,\n", - " (0, \"Liq\", \"ethylene_glycol\"): 53e3,\n", - "}\n", - "m.fs.pervap.energy_activation = Var(\n", - " m.fs.time,\n", - " m.fs.pervap.phase_list,\n", - " m.fs.pervap.comp_list,\n", - " initialize=energy_activation_dict,\n", - " units=pyunits.J / pyunits.mol,\n", - ")\n", - "m.fs.pervap.energy_activation.fix()\n", - "\n", - "permeance_dict = {\n", - " (0, \"Liq\", \"water\"): 5611320,\n", - " (0, \"Liq\", \"ethylene_glycol\"): 22358.88,\n", - "} # calculated from literature data\n", - "m.fs.pervap.permeance = Var(\n", - " m.fs.time,\n", - " m.fs.pervap.phase_list,\n", - " m.fs.pervap.comp_list,\n", - " initialize=permeance_dict,\n", - " units=pyunits.mol / pyunits.s / pyunits.m**2,\n", - ")\n", - "m.fs.pervap.permeance.fix()\n", - "\n", - "m.fs.pervap.area = Var(m.fs.time, initialize=6, units=pyunits.m**2)\n", - "m.fs.pervap.area.fix()\n", - "\n", - "latent_heat_dict = {\n", - " (0, \"Liq\", \"water\"): 40.660e3,\n", - " (0, \"Liq\", \"ethylene_glycol\"): 56.9e3,\n", - "}\n", - "m.fs.pervap.latent_heat_of_vaporization = Var(\n", - " m.fs.time,\n", - " m.fs.pervap.phase_list,\n", - " m.fs.pervap.comp_list,\n", - " initialize=latent_heat_dict,\n", - " units=pyunits.J / pyunits.mol,\n", - ")\n", - "m.fs.pervap.latent_heat_of_vaporization.fix()\n", - "m.fs.pervap.heat_duty = Var(\n", - " m.fs.time, initialize=1, units=pyunits.J / pyunits.s\n", - ") # we will calculate this later" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's define our surrogate equations for flux and permeance, and link them to the port variables. Users can use this structure to write custom relations between inlet and outlet streams; for example, here we define the outlet flow of the pervaporation unit as a sum of the inlet flow and calculated recovery fluxes. By defining model constraints in lieu of rigorous mass balances, we add the flux as a custom mass balance term via an empirical correlation and calculate only the condensation duty rather than implementing full energy balance calculations:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Surrogate and first principles model equations\n", - "\n", - "# flux equation (gas constant is defined as J/mol-K)\n", - "\n", - "\n", - "def rule_permeate_flux(pervap, t, p, i):\n", - " return pervap.permeate.flow_mol_phase_comp[t, p, i] / pervap.area[t] == (\n", - " pervap.permeance[t, p, i]\n", - " * exp(\n", - " -pervap.energy_activation[t, p, i]\n", - " / (Constants.gas_constant * pervap.inlet.temperature[t])\n", - " )\n", - " )\n", - "\n", - "\n", - "m.fs.pervap.eq_permeate_flux = Constraint(\n", - " m.fs.time, m.fs.pervap.phase_list, m.fs.pervap.comp_list, rule=rule_permeate_flux\n", - ")\n", - "\n", - "# permeate condensation equation\n", - "# heat duty based on condensing all of permeate product vapor\n", - "# avoids the need for a Heater or HeatExchanger unit model\n", - "\n", - "\n", - "def rule_duty(pervap, t):\n", - " return pervap.heat_duty[t] == sum(\n", - " pervap.latent_heat_of_vaporization[t, p, i]\n", - " * pervap.permeate.flow_mol_phase_comp[t, p, i]\n", - " for p in pervap.phase_list\n", - " for i in pervap.comp_list\n", - " )\n", - "\n", - "\n", - "m.fs.pervap.eq_duty = Constraint(m.fs.time, rule=rule_duty)\n", - "\n", - "\n", - "# flow equation adding total recovery as a custom mass balance term\n", - "def rule_retentate_flow(pervap, t, p, i):\n", - " return pervap.retentate.flow_mol_phase_comp[t, p, i] == (\n", - " pervap.inlet.flow_mol_phase_comp[t, p, i]\n", - " - pervap.permeate.flow_mol_phase_comp[t, p, i]\n", - " )\n", - "\n", - "\n", - "m.fs.pervap.eq_retentate_flow = Constraint(\n", - " m.fs.time, m.fs.pervap.phase_list, m.fs.pervap.comp_list, rule=rule_retentate_flow\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finally, let's define the Arc connecting our two models (IDAES Mixer and custom Pervaporation) and build the flowsheet network:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.s01 = Arc(source=m.fs.WATER.outlet, destination=m.fs.M101.water_feed)\n", - "m.fs.s02 = Arc(source=m.fs.GLYCOL.outlet, destination=m.fs.M101.glycol_feed)\n", - "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.pervap.inlet)\n", - "m.fs.s04 = Arc(source=m.fs.pervap.permeate, destination=m.fs.PERMEATE.inlet)\n", - "m.fs.s05 = Arc(source=m.fs.pervap.retentate, destination=m.fs.RETENTATE.inlet)\n", - "TransformationFactory(\"network.expand_arcs\").apply_to(m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's see how many degrees of freedom the flowsheet has:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2.3 Inlet Specifications\n", - "\n", - "To obtain a square problem with zero degrees of freedom, we specify the inlet water flow, ethylene glycol flow, temperature and pressure for each feed stream, as well as the permeate stream pressure:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.WATER.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].fix(0.34) # mol/s\n", - "m.fs.WATER.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].fix(1e-6) # mol/s\n", - "m.fs.WATER.outlet.temperature.fix(318.15) # K\n", - "m.fs.WATER.outlet.pressure.fix(101.325e3) # Pa\n", - "\n", - "m.fs.GLYCOL.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].fix(1e-6) # mol/s\n", - "m.fs.GLYCOL.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].fix(0.66) # mol/s\n", - "m.fs.GLYCOL.outlet.temperature.fix(318.15) # K\n", - "m.fs.GLYCOL.outlet.pressure.fix(101.325e3) # Pa" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Additionally, we need to pass rules defining the temperature and pressure outlets of the pervaporation unit:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Add a constraint to calculate the outlet temperature.\n", - "# Here, assume outlet temperature is the same as inlet temperature for illustration\n", - "# in reality, temperature change from latent heat loss through membrane is negligible\n", - "\n", - "\n", - "def rule_temp_out(pervap, t):\n", - " return pervap.inlet.temperature[t] == pervap.retentate.temperature[t]\n", - "\n", - "\n", - "m.fs.pervap.temperature_out_calculation = Constraint(m.fs.time, rule=rule_temp_out)\n", - "\n", - "# Add a constraint to calculate the retentate pressure\n", - "# Here, assume the retentate pressure is the same as the inlet pressure for illustration\n", - "# in reality, pressure change from mass loss through membrane is negligible\n", - "\n", - "\n", - "def rule_pres_out(pervap, t):\n", - " return pervap.inlet.pressure[t] == pervap.retentate.pressure[t]\n", - "\n", - "\n", - "m.fs.pervap.pressure_out_calculation = Constraint(m.fs.time, rule=rule_pres_out)\n", - "\n", - "# fix permeate vacuum pressure\n", - "m.fs.PERMEATE.inlet.pressure.fix(1.3e3)\n", - "\n", - "assert degrees_of_freedom(m) == 0" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2.4 Custom Initialization\n", - "In addition to allowing custom variable and constraint definitions, the Skeleton model enables implementation of a custom initialization scheme. Complex unit operations may present unique tractability issues, and users have precise control over piecewise unit model solving." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Add this to the imports\n", - "from pyomo.util.calc_var_value import calculate_variable_from_constraint\n", - "\n", - "\n", - "def my_initialize(unit, **kwargs):\n", - " # Callback for user provided initialization sequence\n", - " # Fix the inlet state\n", - " unit.inlet.flow_mol_phase_comp.fix()\n", - " unit.inlet.pressure.fix()\n", - " unit.inlet.temperature.fix()\n", - "\n", - " # Calculate the values of the remaining variables\n", - " for t in m.fs.time:\n", - "\n", - " calculate_variable_from_constraint(\n", - " unit.permeate.flow_mol_phase_comp[t, \"Liq\", \"water\"],\n", - " unit.eq_permeate_flux[t, \"Liq\", \"water\"],\n", - " )\n", - "\n", - " calculate_variable_from_constraint(\n", - " unit.permeate.flow_mol_phase_comp[t, \"Liq\", \"ethylene_glycol\"],\n", - " unit.eq_permeate_flux[t, \"Liq\", \"ethylene_glycol\"],\n", - " )\n", - "\n", - " calculate_variable_from_constraint(unit.heat_duty[t], unit.eq_duty[t])\n", - "\n", - " calculate_variable_from_constraint(\n", - " unit.retentate.flow_mol_phase_comp[t, \"Liq\", \"water\"],\n", - " unit.eq_retentate_flow[t, \"Liq\", \"water\"],\n", - " )\n", - "\n", - " calculate_variable_from_constraint(\n", - " unit.retentate.flow_mol_phase_comp[t, \"Liq\", \"ethylene_glycol\"],\n", - " unit.eq_retentate_flow[t, \"Liq\", \"ethylene_glycol\"],\n", - " )\n", - "\n", - " calculate_variable_from_constraint(\n", - " unit.retentate.temperature[t], unit.temperature_out_calculation[t]\n", - " )\n", - "\n", - " calculate_variable_from_constraint(\n", - " unit.retentate.pressure[t], unit.pressure_out_calculation[t]\n", - " )\n", - "\n", - " assert degrees_of_freedom(unit) == 0\n", - " if degrees_of_freedom(unit) == 0:\n", - " res = solver.solve(unit, tee=True)\n", - " unit.inlet.flow_mol_phase_comp.unfix()\n", - " unit.inlet.temperature.unfix()\n", - " unit.inlet.pressure.unfix()\n", - " print(\"Custom initialization routine complete: \", res.solver.message)\n", - "\n", - "\n", - "solver = get_solver()\n", - "\n", - "m.fs.WATER.initialize()\n", - "propagate_state(m.fs.s01)\n", - "\n", - "m.fs.GLYCOL.initialize()\n", - "propagate_state(m.fs.s02)\n", - "\n", - "m.fs.pervap.config.initializer = my_initialize\n", - "my_initialize(m.fs.pervap)\n", - "propagate_state(m.fs.s03)\n", - "\n", - "m.fs.PERMEATE.initialize()\n", - "propagate_state(m.fs.s04)\n", - "\n", - "m.fs.RETENTATE.initialize()\n", - "\n", - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's check the results:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# print results\n", - "\n", - "m.fs.WATER.report()\n", - "m.fs.GLYCOL.report()\n", - "m.fs.PERMEATE.report()\n", - "m.fs.RETENTATE.report()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# separation factor for results analysis\n", - "m.fs.inlet_water_frac = Expression(\n", - " expr=(\n", - " m.fs.pervap.inlet.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", - " / sum(\n", - " m.fs.pervap.inlet.flow_mol_phase_comp[0, \"Liq\", i]\n", - " for i in m.fs.pervap.comp_list\n", - " )\n", - " )\n", - ")\n", - "m.fs.permeate_water_frac = Expression(\n", - " expr=(\n", - " m.fs.pervap.permeate.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", - " / sum(\n", - " m.fs.pervap.permeate.flow_mol_phase_comp[0, \"Liq\", i]\n", - " for i in m.fs.pervap.comp_list\n", - " )\n", - " )\n", - ")\n", - "m.fs.separation_factor = Expression(\n", - " expr=(m.fs.permeate_water_frac / (1 - m.fs.permeate_water_frac))\n", - " / (m.fs.inlet_water_frac / (1 - m.fs.inlet_water_frac))\n", - ")\n", - "\n", - "print(f\"Inlet water mole fraction: {value(m.fs.inlet_water_frac)}\")\n", - "print(f\"Permeate water mole fraction: {value(m.fs.permeate_water_frac)}\")\n", - "print(f\"Separation factor: {value(m.fs.separation_factor)}\")\n", - "print(f\"Condensation duty: {value(m.fs.pervap.heat_duty[0]/1000)} kW\")\n", - "print(\n", - " f\"Duty per mole water recovered: {value(m.fs.pervap.heat_duty[0]/(1000*m.fs.PERMEATE.inlet.flow_mol_phase_comp[0, 'Liq', 'water']*3600))} kW-h / mol\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# check results\n", - "assert check_optimal_termination(results)\n", - "assert_units_consistent(m)\n", - "\n", - "assert value(\n", - " m.fs.PERMEATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", - ") == pytest.approx(0.14258566, rel=1e-5)\n", - "assert value(\n", - " m.fs.PERMEATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", - ") == pytest.approx(0.000266748768, rel=1e-5)\n", - "assert value(\n", - " m.fs.RETENTATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", - ") == pytest.approx(0.19741534, rel=1e-5)\n", - "assert value(\n", - " m.fs.RETENTATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", - ") == pytest.approx(0.65973425, rel=1e-5)\n", - "assert value(m.fs.separation_factor) == pytest.approx(1037.6188, rel=1e-5)\n", - "assert value(m.fs.pervap.heat_duty[0]) == pytest.approx(5812.7111, rel=1e-5)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 3. Optimization\n", - "\n", - "Suppose we wish to characterize the membrane behavior by calculating the maximum inlet water mole fraction allowing a separation factor of at least 100 (typical value for high-efficiency separation processes such as gas separation of CO2/N2). We need to fix total inlet flow to ensure physically-sound solutions. We can quickly modify and resolve the model, and check some key results:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# unfix inlet flows but fix total to prevent divergence during solve\n", - "m.fs.WATER.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].unfix()\n", - "m.fs.GLYCOL.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].unfix()\n", - "m.fs.total_flow = Constraint(\n", - " expr=m.fs.WATER.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", - " + m.fs.GLYCOL.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", - " == 1 * pyunits.mol / pyunits.s\n", - ")\n", - "\n", - "# set criteria for separation factor\n", - "m.fs.sep_min = Constraint(expr=m.fs.separation_factor >= 100)\n", - "\n", - "# set objective - defaults to minimization\n", - "m.fs.obj = Objective(expr=m.fs.inlet_water_frac, sense=maximize)\n", - "\n", - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# print results\n", - "\n", - "m.fs.WATER.report()\n", - "m.fs.GLYCOL.report()\n", - "m.fs.PERMEATE.report()\n", - "m.fs.RETENTATE.report()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(f\"Inlet water mole fraction: {value(m.fs.inlet_water_frac)}\")\n", - "print(f\"Permeate water mole fraction: {value(m.fs.permeate_water_frac)}\")\n", - "print(f\"Separation factor: {value(m.fs.separation_factor)}\")\n", - "print(f\"Condensation duty: {value(m.fs.pervap.heat_duty[0]/1000)} kW\")\n", - "print(\n", - " f\"Duty per mole water recovered: {value(m.fs.pervap.heat_duty[0]/(1000*m.fs.PERMEATE.inlet.flow_mol_phase_comp[0, 'Liq', 'water']*3600))} kW-h / mol\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# check results\n", - "assert check_optimal_termination(results)\n", - "assert_units_consistent(m)\n", - "\n", - "assert value(\n", - " m.fs.PERMEATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", - ") == pytest.approx(0.14258566, rel=1e-5)\n", - "assert value(\n", - " m.fs.PERMEATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", - ") == pytest.approx(0.000266748768, rel=1e-5)\n", - "assert value(\n", - " m.fs.RETENTATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", - ") == pytest.approx(0.69981938, rel=1e-5)\n", - "assert value(\n", - " m.fs.RETENTATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", - ") == pytest.approx(0.15733020, rel=1e-5)\n", - "assert value(m.fs.separation_factor) == pytest.approx(100.000067, rel=1e-5)\n", - "assert value(m.fs.pervap.heat_duty[0]) == pytest.approx(5812.7111, rel=1e-5)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 4. Summary\n", - "\n", - "The IDAES Skeleton Unit Model is a powerful tool for implementing relatively simple first-princples, surrogate-based or empirical unit operations. More crucially, users can add their own custom models and integrate them into a larger IDAES flowsheet without adding control volumes or rigorous flow balance and equilibrium calculations when not required. The pervaporation example displays a case where all model equations are empirical correlations or simple manual calculations, with a small number of state variable and port connections, and the Skeleton model avoids complex calculations that impact model tractability. The example also demonstrates adding a custom initialization scheme to handle internally model degrees of freedom, a feature providing greater user control than with most IDAES unit models." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.18" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# IDAES Skeleton Unit Model\n", + "Maintainer: Brandon Paul \n", + "Author: Brandon Paul \n", + "Updated: 2023-06-01 \n", + "\n", + "This notebook demonstrates usage of the IDAES Skeleton Unit Model, which provides a generic \"bare bones\" unit for user-defined models and custom variable and constraint sets. To allow maximum versatility, this unit may be defined as a surrogate model or a custom equation-oriented model. Users must add ports and variables that match connected models, and this is facilitated through a provided method to add port-variable sets.\n", + "\n", + "For users who wish to train surrogates with IDAES tools and insert obtained models into a flowsheet, see more detailed information on [IDAES Surrogate Tools](https://idaes-pse.readthedocs.io/en/stable/explanations/modeling_extensions/surrogate/index.html)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1. Motivation\n", + "\n", + "In many cases, a specific application requires a unique unit operation that does not exist in the IDAES repository. Custom user models may source from external scripts, import surrogate equations or use first-principles calculations. However, IDAES flowsheets adhere to a standardized modeling hierarchy and simple Pyomo models do not always follow these conventions. Additionally, simple flowsheet submodels often require integration with other IDAES unit models which requires consistency between corresponding port variables, stream properties and physical unit sets, as well as proper usage of `ControlVolume` blocks.\n", + "\n", + "The IDAES `SkeletonUnitModel` allows custom creation of user models blocks that do not require `ControlVolume` blocks, and enabling connection with standard IDAES unit models that do contain `ControlVolume` blocks. To motivate the usefulness and versatility of this tool, we will consider a simple pervaporation unit. The custom model does not require rigorous thermodynamic calculations contained in adjacent unit models, and using a Skeleton model allows definition of only required variables and constraints. The new block does require state variable connections for the inlet and outlet streams. We will demonstrate this scenario below to highlight the usage and benefits of the Skeleton model." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2. Example - Pervaporation\n", + "\n", + "Pervaporation is a low-energy separation process, and is particularly advantageous over distillation for azeotropic solutions or aqueous mixtures of heavy alcohols. Ethylene glycol is more environmentally friendly than typical chloride- and bromide-based dessicants, and is a common choice for commercial recovery of water from flue gas via liquid spray columns. Due to ethylene glycol's high boiling point, diffusion-based water recovery is economically favorable compared to distillation-based processes. The following example and flux correlation are taken from the literature source below:\n", + "\n", + "Jennifer Runhong Du, Amit Chakma, X. Feng, Dehydration of ethylene glycol by pervaporation using poly(N,N-dimethylaminoethyl methacrylate)/polysulfone composite membranes, Separation and Purification Technology, Volume 64, Issue 1, 2008, Pages 63-70, ISSN 1383-5866, https://doi.org/10.1016/j.seppur.2008.08.004.\n", + "\n", + "The process is adapted from the literature, utilizing an inlet aqueous glycol feed circulated through a feed tank-membrane-feed tank recycle loop while permeate is continuously extracted by the membrane. To demonstrate the usefulness of the Skeleton model, we will model this system as a Mixer and custom Pervaporation unit per the diagram below and define the flux as an empirical custom mass balance term rather than requiring rigorous diffusion calculations. We will also circumvent the need for a vapor phase and VLE calculations by manually calculating the duty to condense and collect permeate vapor, and use correlations for steady-state fluxes to avoid a recycle requiring tear calculations.\n", + "\n", + "![](pervaporation_process.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2.1 Pyomo and IDAES Imports\n", + "We will begin with relevant imports. We will need basic Pyomo and IDAES components:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import pytest\n", + "from pyomo.environ import (\n", + " check_optimal_termination,\n", + " ConcreteModel,\n", + " Constraint,\n", + " Expression,\n", + " Objective,\n", + " maximize,\n", + " Var,\n", + " Set,\n", + " TransformationFactory,\n", + " value,\n", + " exp,\n", + " units as pyunits,\n", + ")\n", + "from pyomo.network import Arc\n", + "from idaes.core import FlowsheetBlock\n", + "from idaes.models.unit_models import Feed, SkeletonUnitModel, Mixer, Product\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.core.util.initialization import propagate_state\n", + "from idaes.core.solvers import get_solver\n", + "from pyomo.util.check_units import assert_units_consistent\n", + "\n", + "# import thermophysical properties\n", + "import eg_h2o_ideal as thermo_props\n", + "from idaes.models.properties.modular_properties import GenericParameterBlock\n", + "from idaes.core.util.constants import Constants" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2.2 Build Flowsheet\n", + "\n", + "We will build a simple model manually defining state variables relations entering and exiting the pervaporation unit. As shown below, we may define our pre-separation mixer as usual:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# build the flowsheet\n", + "m = ConcreteModel()\n", + "m.fs = FlowsheetBlock(dynamic=False)\n", + "\n", + "m.fs.thermo_params = GenericParameterBlock(**thermo_props.config_dict)\n", + "\n", + "m.fs.WATER = Feed(property_package=m.fs.thermo_params)\n", + "m.fs.GLYCOL = Feed(property_package=m.fs.thermo_params)\n", + "\n", + "m.fs.M101 = Mixer(\n", + " property_package=m.fs.thermo_params, inlet_list=[\"water_feed\", \"glycol_feed\"]\n", + ")\n", + "\n", + "m.fs.RETENTATE = Product(property_package=m.fs.thermo_params)\n", + "m.fs.PERMEATE = Product(property_package=m.fs.thermo_params)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2.2 Defining Skeleton Model and Connections\n", + "\n", + "Now that our flowsheet exists, we can manually define variables, units, constraints and ports for our custom pervaporation unit model. By using a Skeleton model, we avoid rigorous mass and energy balances and phase equilibrium which impact model tractability. Instead, we define state variable relations as below - note that we include the fluxes as outlet flow terms. In this model, the variables specify an `FpcTP` system where molar flow of each component, temperature and pressure are selected as state variables:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# define Skeleton model for pervaporation unit\n", + "m.fs.pervap = SkeletonUnitModel(dynamic=False)\n", + "m.fs.pervap.comp_list = Set(initialize=[\"water\", \"ethylene_glycol\"])\n", + "m.fs.pervap.phase_list = Set(initialize=[\"Liq\"])\n", + "\n", + "# input vars for skeleton\n", + "# m.fs.time is a pre-initialized Set belonging to the FlowsheetBlock; for dynamic=False, time=[0]\n", + "m.fs.pervap.flow_in = Var(\n", + " m.fs.time,\n", + " m.fs.pervap.phase_list,\n", + " m.fs.pervap.comp_list,\n", + " initialize=1.0,\n", + " units=pyunits.mol / pyunits.s,\n", + ")\n", + "m.fs.pervap.temperature_in = Var(m.fs.time, initialize=298.15, units=pyunits.K)\n", + "m.fs.pervap.pressure_in = Var(m.fs.time, initialize=101e3, units=pyunits.Pa)\n", + "\n", + "# output vars for skeleton\n", + "m.fs.pervap.perm_flow = Var(\n", + " m.fs.time,\n", + " m.fs.pervap.phase_list,\n", + " m.fs.pervap.comp_list,\n", + " initialize=1.0,\n", + " units=pyunits.mol / pyunits.s,\n", + ")\n", + "m.fs.pervap.ret_flow = Var(\n", + " m.fs.time,\n", + " m.fs.pervap.phase_list,\n", + " m.fs.pervap.comp_list,\n", + " initialize=1.0,\n", + " units=pyunits.mol / pyunits.s,\n", + ")\n", + "m.fs.pervap.temperature_out = Var(m.fs.time, initialize=298.15, units=pyunits.K)\n", + "m.fs.pervap.pressure_out = Var(m.fs.time, initialize=101e3, units=pyunits.Pa)\n", + "m.fs.pervap.vacuum = Var(m.fs.time, initialize=1.3e3, units=pyunits.Pa)\n", + "\n", + "# dictionaries relating state properties to custom variables\n", + "inlet_dict = {\n", + " \"flow_mol_phase_comp\": m.fs.pervap.flow_in,\n", + " \"temperature\": m.fs.pervap.temperature_in,\n", + " \"pressure\": m.fs.pervap.pressure_in,\n", + "}\n", + "retentate_dict = {\n", + " \"flow_mol_phase_comp\": m.fs.pervap.ret_flow,\n", + " \"temperature\": m.fs.pervap.temperature_out,\n", + " \"pressure\": m.fs.pervap.pressure_out,\n", + "}\n", + "permeate_dict = {\n", + " \"flow_mol_phase_comp\": m.fs.pervap.perm_flow,\n", + " \"temperature\": m.fs.pervap.temperature_out,\n", + " \"pressure\": m.fs.pervap.vacuum,\n", + "}\n", + "\n", + "m.fs.pervap.add_ports(name=\"inlet\", member_dict=inlet_dict)\n", + "m.fs.pervap.add_ports(name=\"retentate\", member_dict=retentate_dict)\n", + "m.fs.pervap.add_ports(name=\"permeate\", member_dict=permeate_dict)\n", + "\n", + "# internal vars for skeleton\n", + "energy_activation_dict = {\n", + " (0, \"Liq\", \"water\"): 51e3,\n", + " (0, \"Liq\", \"ethylene_glycol\"): 53e3,\n", + "}\n", + "m.fs.pervap.energy_activation = Var(\n", + " m.fs.time,\n", + " m.fs.pervap.phase_list,\n", + " m.fs.pervap.comp_list,\n", + " initialize=energy_activation_dict,\n", + " units=pyunits.J / pyunits.mol,\n", + ")\n", + "m.fs.pervap.energy_activation.fix()\n", + "\n", + "permeance_dict = {\n", + " (0, \"Liq\", \"water\"): 5611320,\n", + " (0, \"Liq\", \"ethylene_glycol\"): 22358.88,\n", + "} # calculated from literature data\n", + "m.fs.pervap.permeance = Var(\n", + " m.fs.time,\n", + " m.fs.pervap.phase_list,\n", + " m.fs.pervap.comp_list,\n", + " initialize=permeance_dict,\n", + " units=pyunits.mol / pyunits.s / pyunits.m**2,\n", + ")\n", + "m.fs.pervap.permeance.fix()\n", + "\n", + "m.fs.pervap.area = Var(m.fs.time, initialize=6, units=pyunits.m**2)\n", + "m.fs.pervap.area.fix()\n", + "\n", + "latent_heat_dict = {\n", + " (0, \"Liq\", \"water\"): 40.660e3,\n", + " (0, \"Liq\", \"ethylene_glycol\"): 56.9e3,\n", + "}\n", + "m.fs.pervap.latent_heat_of_vaporization = Var(\n", + " m.fs.time,\n", + " m.fs.pervap.phase_list,\n", + " m.fs.pervap.comp_list,\n", + " initialize=latent_heat_dict,\n", + " units=pyunits.J / pyunits.mol,\n", + ")\n", + "m.fs.pervap.latent_heat_of_vaporization.fix()\n", + "m.fs.pervap.heat_duty = Var(\n", + " m.fs.time, initialize=1, units=pyunits.J / pyunits.s\n", + ") # we will calculate this later" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's define our surrogate equations for flux and permeance, and link them to the port variables. Users can use this structure to write custom relations between inlet and outlet streams; for example, here we define the outlet flow of the pervaporation unit as a sum of the inlet flow and calculated recovery fluxes. By defining model constraints in lieu of rigorous mass balances, we add the flux as a custom mass balance term via an empirical correlation and calculate only the condensation duty rather than implementing full energy balance calculations:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Surrogate and first principles model equations\n", + "\n", + "# flux equation (gas constant is defined as J/mol-K)\n", + "\n", + "\n", + "def rule_permeate_flux(pervap, t, p, i):\n", + " return pervap.permeate.flow_mol_phase_comp[t, p, i] / pervap.area[t] == (\n", + " pervap.permeance[t, p, i]\n", + " * exp(\n", + " -pervap.energy_activation[t, p, i]\n", + " / (Constants.gas_constant * pervap.inlet.temperature[t])\n", + " )\n", + " )\n", + "\n", + "\n", + "m.fs.pervap.eq_permeate_flux = Constraint(\n", + " m.fs.time, m.fs.pervap.phase_list, m.fs.pervap.comp_list, rule=rule_permeate_flux\n", + ")\n", + "\n", + "# permeate condensation equation\n", + "# heat duty based on condensing all of permeate product vapor\n", + "# avoids the need for a Heater or HeatExchanger unit model\n", + "\n", + "\n", + "def rule_duty(pervap, t):\n", + " return pervap.heat_duty[t] == sum(\n", + " pervap.latent_heat_of_vaporization[t, p, i]\n", + " * pervap.permeate.flow_mol_phase_comp[t, p, i]\n", + " for p in pervap.phase_list\n", + " for i in pervap.comp_list\n", + " )\n", + "\n", + "\n", + "m.fs.pervap.eq_duty = Constraint(m.fs.time, rule=rule_duty)\n", + "\n", + "\n", + "# flow equation adding total recovery as a custom mass balance term\n", + "def rule_retentate_flow(pervap, t, p, i):\n", + " return pervap.retentate.flow_mol_phase_comp[t, p, i] == (\n", + " pervap.inlet.flow_mol_phase_comp[t, p, i]\n", + " - pervap.permeate.flow_mol_phase_comp[t, p, i]\n", + " )\n", + "\n", + "\n", + "m.fs.pervap.eq_retentate_flow = Constraint(\n", + " m.fs.time, m.fs.pervap.phase_list, m.fs.pervap.comp_list, rule=rule_retentate_flow\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, let's define the Arc connecting our two models (IDAES Mixer and custom Pervaporation) and build the flowsheet network:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.s01 = Arc(source=m.fs.WATER.outlet, destination=m.fs.M101.water_feed)\n", + "m.fs.s02 = Arc(source=m.fs.GLYCOL.outlet, destination=m.fs.M101.glycol_feed)\n", + "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.pervap.inlet)\n", + "m.fs.s04 = Arc(source=m.fs.pervap.permeate, destination=m.fs.PERMEATE.inlet)\n", + "m.fs.s05 = Arc(source=m.fs.pervap.retentate, destination=m.fs.RETENTATE.inlet)\n", + "TransformationFactory(\"network.expand_arcs\").apply_to(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's see how many degrees of freedom the flowsheet has:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2.3 Inlet Specifications\n", + "\n", + "To obtain a square problem with zero degrees of freedom, we specify the inlet water flow, ethylene glycol flow, temperature and pressure for each feed stream, as well as the permeate stream pressure:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.WATER.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].fix(0.34) # mol/s\n", + "m.fs.WATER.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].fix(1e-6) # mol/s\n", + "m.fs.WATER.outlet.temperature.fix(318.15) # K\n", + "m.fs.WATER.outlet.pressure.fix(101.325e3) # Pa\n", + "\n", + "m.fs.GLYCOL.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].fix(1e-6) # mol/s\n", + "m.fs.GLYCOL.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].fix(0.66) # mol/s\n", + "m.fs.GLYCOL.outlet.temperature.fix(318.15) # K\n", + "m.fs.GLYCOL.outlet.pressure.fix(101.325e3) # Pa" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Additionally, we need to pass rules defining the temperature and pressure outlets of the pervaporation unit:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Add a constraint to calculate the outlet temperature.\n", + "# Here, assume outlet temperature is the same as inlet temperature for illustration\n", + "# in reality, temperature change from latent heat loss through membrane is negligible\n", + "\n", + "\n", + "def rule_temp_out(pervap, t):\n", + " return pervap.inlet.temperature[t] == pervap.retentate.temperature[t]\n", + "\n", + "\n", + "m.fs.pervap.temperature_out_calculation = Constraint(m.fs.time, rule=rule_temp_out)\n", + "\n", + "# Add a constraint to calculate the retentate pressure\n", + "# Here, assume the retentate pressure is the same as the inlet pressure for illustration\n", + "# in reality, pressure change from mass loss through membrane is negligible\n", + "\n", + "\n", + "def rule_pres_out(pervap, t):\n", + " return pervap.inlet.pressure[t] == pervap.retentate.pressure[t]\n", + "\n", + "\n", + "m.fs.pervap.pressure_out_calculation = Constraint(m.fs.time, rule=rule_pres_out)\n", + "\n", + "# fix permeate vacuum pressure\n", + "m.fs.PERMEATE.inlet.pressure.fix(1.3e3)\n", + "\n", + "assert degrees_of_freedom(m) == 0" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2.4 Custom Initialization\n", + "In addition to allowing custom variable and constraint definitions, the Skeleton model enables implementation of a custom initialization scheme. Complex unit operations may present unique tractability issues, and users have precise control over piecewise unit model solving." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Add this to the imports\n", + "from pyomo.util.calc_var_value import calculate_variable_from_constraint\n", + "\n", + "\n", + "def my_initialize(unit, **kwargs):\n", + " # Callback for user provided initialization sequence\n", + " # Fix the inlet state\n", + " unit.inlet.flow_mol_phase_comp.fix()\n", + " unit.inlet.pressure.fix()\n", + " unit.inlet.temperature.fix()\n", + "\n", + " # Calculate the values of the remaining variables\n", + " for t in m.fs.time:\n", + "\n", + " calculate_variable_from_constraint(\n", + " unit.permeate.flow_mol_phase_comp[t, \"Liq\", \"water\"],\n", + " unit.eq_permeate_flux[t, \"Liq\", \"water\"],\n", + " )\n", + "\n", + " calculate_variable_from_constraint(\n", + " unit.permeate.flow_mol_phase_comp[t, \"Liq\", \"ethylene_glycol\"],\n", + " unit.eq_permeate_flux[t, \"Liq\", \"ethylene_glycol\"],\n", + " )\n", + "\n", + " calculate_variable_from_constraint(unit.heat_duty[t], unit.eq_duty[t])\n", + "\n", + " calculate_variable_from_constraint(\n", + " unit.retentate.flow_mol_phase_comp[t, \"Liq\", \"water\"],\n", + " unit.eq_retentate_flow[t, \"Liq\", \"water\"],\n", + " )\n", + "\n", + " calculate_variable_from_constraint(\n", + " unit.retentate.flow_mol_phase_comp[t, \"Liq\", \"ethylene_glycol\"],\n", + " unit.eq_retentate_flow[t, \"Liq\", \"ethylene_glycol\"],\n", + " )\n", + "\n", + " calculate_variable_from_constraint(\n", + " unit.retentate.temperature[t], unit.temperature_out_calculation[t]\n", + " )\n", + "\n", + " calculate_variable_from_constraint(\n", + " unit.retentate.pressure[t], unit.pressure_out_calculation[t]\n", + " )\n", + "\n", + " assert degrees_of_freedom(unit) == 0\n", + " if degrees_of_freedom(unit) == 0:\n", + " res = solver.solve(unit, tee=True)\n", + " unit.inlet.flow_mol_phase_comp.unfix()\n", + " unit.inlet.temperature.unfix()\n", + " unit.inlet.pressure.unfix()\n", + " print(\"Custom initialization routine complete: \", res.solver.message)\n", + "\n", + "\n", + "solver = get_solver()\n", + "\n", + "m.fs.WATER.initialize()\n", + "propagate_state(m.fs.s01)\n", + "\n", + "m.fs.GLYCOL.initialize()\n", + "propagate_state(m.fs.s02)\n", + "\n", + "m.fs.pervap.config.initializer = my_initialize\n", + "my_initialize(m.fs.pervap)\n", + "propagate_state(m.fs.s03)\n", + "\n", + "m.fs.PERMEATE.initialize()\n", + "propagate_state(m.fs.s04)\n", + "\n", + "m.fs.RETENTATE.initialize()\n", + "\n", + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's check the results:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# print results\n", + "\n", + "m.fs.WATER.report()\n", + "m.fs.GLYCOL.report()\n", + "m.fs.PERMEATE.report()\n", + "m.fs.RETENTATE.report()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# separation factor for results analysis\n", + "m.fs.inlet_water_frac = Expression(\n", + " expr=(\n", + " m.fs.pervap.inlet.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", + " / sum(\n", + " m.fs.pervap.inlet.flow_mol_phase_comp[0, \"Liq\", i]\n", + " for i in m.fs.pervap.comp_list\n", + " )\n", + " )\n", + ")\n", + "m.fs.permeate_water_frac = Expression(\n", + " expr=(\n", + " m.fs.pervap.permeate.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", + " / sum(\n", + " m.fs.pervap.permeate.flow_mol_phase_comp[0, \"Liq\", i]\n", + " for i in m.fs.pervap.comp_list\n", + " )\n", + " )\n", + ")\n", + "m.fs.separation_factor = Expression(\n", + " expr=(m.fs.permeate_water_frac / (1 - m.fs.permeate_water_frac))\n", + " / (m.fs.inlet_water_frac / (1 - m.fs.inlet_water_frac))\n", + ")\n", + "\n", + "print(f\"Inlet water mole fraction: {value(m.fs.inlet_water_frac)}\")\n", + "print(f\"Permeate water mole fraction: {value(m.fs.permeate_water_frac)}\")\n", + "print(f\"Separation factor: {value(m.fs.separation_factor)}\")\n", + "print(f\"Condensation duty: {value(m.fs.pervap.heat_duty[0]/1000)} kW\")\n", + "print(\n", + " f\"Duty per mole water recovered: {value(m.fs.pervap.heat_duty[0]/(1000*m.fs.PERMEATE.inlet.flow_mol_phase_comp[0, 'Liq', 'water']*3600))} kW-h / mol\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# check results\n", + "assert check_optimal_termination(results)\n", + "assert_units_consistent(m)\n", + "\n", + "assert value(\n", + " m.fs.PERMEATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", + ") == pytest.approx(0.14258566, rel=1e-5)\n", + "assert value(\n", + " m.fs.PERMEATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", + ") == pytest.approx(0.000266748768, rel=1e-5)\n", + "assert value(\n", + " m.fs.RETENTATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", + ") == pytest.approx(0.19741534, rel=1e-5)\n", + "assert value(\n", + " m.fs.RETENTATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", + ") == pytest.approx(0.65973425, rel=1e-5)\n", + "assert value(m.fs.separation_factor) == pytest.approx(1037.6188, rel=1e-5)\n", + "assert value(m.fs.pervap.heat_duty[0]) == pytest.approx(5812.7111, rel=1e-5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 3. Optimization\n", + "\n", + "Suppose we wish to characterize the membrane behavior by calculating the maximum inlet water mole fraction allowing a separation factor of at least 100 (typical value for high-efficiency separation processes such as gas separation of CO2/N2). We need to fix total inlet flow to ensure physically-sound solutions. We can quickly modify and resolve the model, and check some key results:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# unfix inlet flows but fix total to prevent divergence during solve\n", + "m.fs.WATER.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].unfix()\n", + "m.fs.GLYCOL.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].unfix()\n", + "m.fs.total_flow = Constraint(\n", + " expr=m.fs.WATER.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", + " + m.fs.GLYCOL.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", + " == 1 * pyunits.mol / pyunits.s\n", + ")\n", + "\n", + "# set criteria for separation factor\n", + "m.fs.sep_min = Constraint(expr=m.fs.separation_factor >= 100)\n", + "\n", + "# set objective - defaults to minimization\n", + "m.fs.obj = Objective(expr=m.fs.inlet_water_frac, sense=maximize)\n", + "\n", + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# print results\n", + "\n", + "m.fs.WATER.report()\n", + "m.fs.GLYCOL.report()\n", + "m.fs.PERMEATE.report()\n", + "m.fs.RETENTATE.report()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(f\"Inlet water mole fraction: {value(m.fs.inlet_water_frac)}\")\n", + "print(f\"Permeate water mole fraction: {value(m.fs.permeate_water_frac)}\")\n", + "print(f\"Separation factor: {value(m.fs.separation_factor)}\")\n", + "print(f\"Condensation duty: {value(m.fs.pervap.heat_duty[0]/1000)} kW\")\n", + "print(\n", + " f\"Duty per mole water recovered: {value(m.fs.pervap.heat_duty[0]/(1000*m.fs.PERMEATE.inlet.flow_mol_phase_comp[0, 'Liq', 'water']*3600))} kW-h / mol\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# check results\n", + "assert check_optimal_termination(results)\n", + "assert_units_consistent(m)\n", + "\n", + "assert value(\n", + " m.fs.PERMEATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", + ") == pytest.approx(0.14258566, rel=1e-5)\n", + "assert value(\n", + " m.fs.PERMEATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", + ") == pytest.approx(0.000266748768, rel=1e-5)\n", + "assert value(\n", + " m.fs.RETENTATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", + ") == pytest.approx(0.69981938, rel=1e-5)\n", + "assert value(\n", + " m.fs.RETENTATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", + ") == pytest.approx(0.15733020, rel=1e-5)\n", + "assert value(m.fs.separation_factor) == pytest.approx(100.000067, rel=1e-5)\n", + "assert value(m.fs.pervap.heat_duty[0]) == pytest.approx(5812.7111, rel=1e-5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 4. Summary\n", + "\n", + "The IDAES Skeleton Unit Model is a powerful tool for implementing relatively simple first-princples, surrogate-based or empirical unit operations. More crucially, users can add their own custom models and integrate them into a larger IDAES flowsheet without adding control volumes or rigorous flow balance and equilibrium calculations when not required. The pervaporation example displays a case where all model equations are empirical correlations or simple manual calculations, with a small number of state variable and port connections, and the Skeleton model avoids complex calculations that impact model tractability. The example also demonstrates adding a custom initialization scheme to handle internally model degrees of freedom, a feature providing greater user control than with most IDAES unit models." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.18" + } + }, + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/operations/skeleton_unit_usr.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/skeleton_unit_usr.ipynb index 4a3fab04..d20631c8 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/skeleton_unit_usr.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/skeleton_unit_usr.ipynb @@ -1,728 +1,729 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# IDAES Skeleton Unit Model\n", - "Maintainer: Brandon Paul \n", - "Author: Brandon Paul \n", - "Updated: 2023-06-01 \n", - "\n", - "This notebook demonstrates usage of the IDAES Skeleton Unit Model, which provides a generic \"bare bones\" unit for user-defined models and custom variable and constraint sets. To allow maximum versatility, this unit may be defined as a surrogate model or a custom equation-oriented model. Users must add ports and variables that match connected models, and this is facilitated through a provided method to add port-variable sets.\n", - "\n", - "For users who wish to train surrogates with IDAES tools and insert obtained models into a flowsheet, see more detailed information on [IDAES Surrogate Tools](https://idaes-pse.readthedocs.io/en/stable/explanations/modeling_extensions/surrogate/index.html)." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 1. Motivation\n", - "\n", - "In many cases, a specific application requires a unique unit operation that does not exist in the IDAES repository. Custom user models may source from external scripts, import surrogate equations or use first-principles calculations. However, IDAES flowsheets adhere to a standardized modeling hierarchy and simple Pyomo models do not always follow these conventions. Additionally, simple flowsheet submodels often require integration with other IDAES unit models which requires consistency between corresponding port variables, stream properties and physical unit sets, as well as proper usage of `ControlVolume` blocks.\n", - "\n", - "The IDAES `SkeletonUnitModel` allows custom creation of user models blocks that do not require `ControlVolume` blocks, and enabling connection with standard IDAES unit models that do contain `ControlVolume` blocks. To motivate the usefulness and versatility of this tool, we will consider a simple pervaporation unit. The custom model does not require rigorous thermodynamic calculations contained in adjacent unit models, and using a Skeleton model allows definition of only required variables and constraints. The new block does require state variable connections for the inlet and outlet streams. We will demonstrate this scenario below to highlight the usage and benefits of the Skeleton model." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 2. Example - Pervaporation\n", - "\n", - "Pervaporation is a low-energy separation process, and is particularly advantageous over distillation for azeotropic solutions or aqueous mixtures of heavy alcohols. Ethylene glycol is more environmentally friendly than typical chloride- and bromide-based dessicants, and is a common choice for commercial recovery of water from flue gas via liquid spray columns. Due to ethylene glycol's high boiling point, diffusion-based water recovery is economically favorable compared to distillation-based processes. The following example and flux correlation are taken from the literature source below:\n", - "\n", - "Jennifer Runhong Du, Amit Chakma, X. Feng, Dehydration of ethylene glycol by pervaporation using poly(N,N-dimethylaminoethyl methacrylate)/polysulfone composite membranes, Separation and Purification Technology, Volume 64, Issue 1, 2008, Pages 63-70, ISSN 1383-5866, https://doi.org/10.1016/j.seppur.2008.08.004.\n", - "\n", - "The process is adapted from the literature, utilizing an inlet aqueous glycol feed circulated through a feed tank-membrane-feed tank recycle loop while permeate is continuously extracted by the membrane. To demonstrate the usefulness of the Skeleton model, we will model this system as a Mixer and custom Pervaporation unit per the diagram below and define the flux as an empirical custom mass balance term rather than requiring rigorous diffusion calculations. We will also circumvent the need for a vapor phase and VLE calculations by manually calculating the duty to condense and collect permeate vapor, and use correlations for steady-state fluxes to avoid a recycle requiring tear calculations.\n", - "\n", - "![](pervaporation_process.png)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2.1 Pyomo and IDAES Imports\n", - "We will begin with relevant imports. We will need basic Pyomo and IDAES components:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import pytest\n", - "from pyomo.environ import (\n", - " check_optimal_termination,\n", - " ConcreteModel,\n", - " Constraint,\n", - " Expression,\n", - " Objective,\n", - " maximize,\n", - " Var,\n", - " Set,\n", - " TransformationFactory,\n", - " value,\n", - " exp,\n", - " units as pyunits,\n", - ")\n", - "from pyomo.network import Arc\n", - "from idaes.core import FlowsheetBlock\n", - "from idaes.models.unit_models import Feed, SkeletonUnitModel, Mixer, Product\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.util.initialization import propagate_state\n", - "from idaes.core.solvers import get_solver\n", - "from pyomo.util.check_units import assert_units_consistent\n", - "\n", - "# import thermophysical properties\n", - "import eg_h2o_ideal as thermo_props\n", - "from idaes.models.properties.modular_properties import GenericParameterBlock\n", - "from idaes.core.util.constants import Constants" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2.2 Build Flowsheet\n", - "\n", - "We will build a simple model manually defining state variables relations entering and exiting the pervaporation unit. As shown below, we may define our pre-separation mixer as usual:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# build the flowsheet\n", - "m = ConcreteModel()\n", - "m.fs = FlowsheetBlock(dynamic=False)\n", - "\n", - "m.fs.thermo_params = GenericParameterBlock(**thermo_props.config_dict)\n", - "\n", - "m.fs.WATER = Feed(property_package=m.fs.thermo_params)\n", - "m.fs.GLYCOL = Feed(property_package=m.fs.thermo_params)\n", - "\n", - "m.fs.M101 = Mixer(\n", - " property_package=m.fs.thermo_params, inlet_list=[\"water_feed\", \"glycol_feed\"]\n", - ")\n", - "\n", - "m.fs.RETENTATE = Product(property_package=m.fs.thermo_params)\n", - "m.fs.PERMEATE = Product(property_package=m.fs.thermo_params)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2.2 Defining Skeleton Model and Connections\n", - "\n", - "Now that our flowsheet exists, we can manually define variables, units, constraints and ports for our custom pervaporation unit model. By using a Skeleton model, we avoid rigorous mass and energy balances and phase equilibrium which impact model tractability. Instead, we define state variable relations as below - note that we include the fluxes as outlet flow terms. In this model, the variables specify an `FpcTP` system where molar flow of each component, temperature and pressure are selected as state variables:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# define Skeleton model for pervaporation unit\n", - "m.fs.pervap = SkeletonUnitModel(dynamic=False)\n", - "m.fs.pervap.comp_list = Set(initialize=[\"water\", \"ethylene_glycol\"])\n", - "m.fs.pervap.phase_list = Set(initialize=[\"Liq\"])\n", - "\n", - "# input vars for skeleton\n", - "# m.fs.time is a pre-initialized Set belonging to the FlowsheetBlock; for dynamic=False, time=[0]\n", - "m.fs.pervap.flow_in = Var(\n", - " m.fs.time,\n", - " m.fs.pervap.phase_list,\n", - " m.fs.pervap.comp_list,\n", - " initialize=1.0,\n", - " units=pyunits.mol / pyunits.s,\n", - ")\n", - "m.fs.pervap.temperature_in = Var(m.fs.time, initialize=298.15, units=pyunits.K)\n", - "m.fs.pervap.pressure_in = Var(m.fs.time, initialize=101e3, units=pyunits.Pa)\n", - "\n", - "# output vars for skeleton\n", - "m.fs.pervap.perm_flow = Var(\n", - " m.fs.time,\n", - " m.fs.pervap.phase_list,\n", - " m.fs.pervap.comp_list,\n", - " initialize=1.0,\n", - " units=pyunits.mol / pyunits.s,\n", - ")\n", - "m.fs.pervap.ret_flow = Var(\n", - " m.fs.time,\n", - " m.fs.pervap.phase_list,\n", - " m.fs.pervap.comp_list,\n", - " initialize=1.0,\n", - " units=pyunits.mol / pyunits.s,\n", - ")\n", - "m.fs.pervap.temperature_out = Var(m.fs.time, initialize=298.15, units=pyunits.K)\n", - "m.fs.pervap.pressure_out = Var(m.fs.time, initialize=101e3, units=pyunits.Pa)\n", - "m.fs.pervap.vacuum = Var(m.fs.time, initialize=1.3e3, units=pyunits.Pa)\n", - "\n", - "# dictionaries relating state properties to custom variables\n", - "inlet_dict = {\n", - " \"flow_mol_phase_comp\": m.fs.pervap.flow_in,\n", - " \"temperature\": m.fs.pervap.temperature_in,\n", - " \"pressure\": m.fs.pervap.pressure_in,\n", - "}\n", - "retentate_dict = {\n", - " \"flow_mol_phase_comp\": m.fs.pervap.ret_flow,\n", - " \"temperature\": m.fs.pervap.temperature_out,\n", - " \"pressure\": m.fs.pervap.pressure_out,\n", - "}\n", - "permeate_dict = {\n", - " \"flow_mol_phase_comp\": m.fs.pervap.perm_flow,\n", - " \"temperature\": m.fs.pervap.temperature_out,\n", - " \"pressure\": m.fs.pervap.vacuum,\n", - "}\n", - "\n", - "m.fs.pervap.add_ports(name=\"inlet\", member_dict=inlet_dict)\n", - "m.fs.pervap.add_ports(name=\"retentate\", member_dict=retentate_dict)\n", - "m.fs.pervap.add_ports(name=\"permeate\", member_dict=permeate_dict)\n", - "\n", - "# internal vars for skeleton\n", - "energy_activation_dict = {\n", - " (0, \"Liq\", \"water\"): 51e3,\n", - " (0, \"Liq\", \"ethylene_glycol\"): 53e3,\n", - "}\n", - "m.fs.pervap.energy_activation = Var(\n", - " m.fs.time,\n", - " m.fs.pervap.phase_list,\n", - " m.fs.pervap.comp_list,\n", - " initialize=energy_activation_dict,\n", - " units=pyunits.J / pyunits.mol,\n", - ")\n", - "m.fs.pervap.energy_activation.fix()\n", - "\n", - "permeance_dict = {\n", - " (0, \"Liq\", \"water\"): 5611320,\n", - " (0, \"Liq\", \"ethylene_glycol\"): 22358.88,\n", - "} # calculated from literature data\n", - "m.fs.pervap.permeance = Var(\n", - " m.fs.time,\n", - " m.fs.pervap.phase_list,\n", - " m.fs.pervap.comp_list,\n", - " initialize=permeance_dict,\n", - " units=pyunits.mol / pyunits.s / pyunits.m**2,\n", - ")\n", - "m.fs.pervap.permeance.fix()\n", - "\n", - "m.fs.pervap.area = Var(m.fs.time, initialize=6, units=pyunits.m**2)\n", - "m.fs.pervap.area.fix()\n", - "\n", - "latent_heat_dict = {\n", - " (0, \"Liq\", \"water\"): 40.660e3,\n", - " (0, \"Liq\", \"ethylene_glycol\"): 56.9e3,\n", - "}\n", - "m.fs.pervap.latent_heat_of_vaporization = Var(\n", - " m.fs.time,\n", - " m.fs.pervap.phase_list,\n", - " m.fs.pervap.comp_list,\n", - " initialize=latent_heat_dict,\n", - " units=pyunits.J / pyunits.mol,\n", - ")\n", - "m.fs.pervap.latent_heat_of_vaporization.fix()\n", - "m.fs.pervap.heat_duty = Var(\n", - " m.fs.time, initialize=1, units=pyunits.J / pyunits.s\n", - ") # we will calculate this later" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's define our surrogate equations for flux and permeance, and link them to the port variables. Users can use this structure to write custom relations between inlet and outlet streams; for example, here we define the outlet flow of the pervaporation unit as a sum of the inlet flow and calculated recovery fluxes. By defining model constraints in lieu of rigorous mass balances, we add the flux as a custom mass balance term via an empirical correlation and calculate only the condensation duty rather than implementing full energy balance calculations:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Surrogate and first principles model equations\n", - "\n", - "# flux equation (gas constant is defined as J/mol-K)\n", - "\n", - "\n", - "def rule_permeate_flux(pervap, t, p, i):\n", - " return pervap.permeate.flow_mol_phase_comp[t, p, i] / pervap.area[t] == (\n", - " pervap.permeance[t, p, i]\n", - " * exp(\n", - " -pervap.energy_activation[t, p, i]\n", - " / (Constants.gas_constant * pervap.inlet.temperature[t])\n", - " )\n", - " )\n", - "\n", - "\n", - "m.fs.pervap.eq_permeate_flux = Constraint(\n", - " m.fs.time, m.fs.pervap.phase_list, m.fs.pervap.comp_list, rule=rule_permeate_flux\n", - ")\n", - "\n", - "# permeate condensation equation\n", - "# heat duty based on condensing all of permeate product vapor\n", - "# avoids the need for a Heater or HeatExchanger unit model\n", - "\n", - "\n", - "def rule_duty(pervap, t):\n", - " return pervap.heat_duty[t] == sum(\n", - " pervap.latent_heat_of_vaporization[t, p, i]\n", - " * pervap.permeate.flow_mol_phase_comp[t, p, i]\n", - " for p in pervap.phase_list\n", - " for i in pervap.comp_list\n", - " )\n", - "\n", - "\n", - "m.fs.pervap.eq_duty = Constraint(m.fs.time, rule=rule_duty)\n", - "\n", - "\n", - "# flow equation adding total recovery as a custom mass balance term\n", - "def rule_retentate_flow(pervap, t, p, i):\n", - " return pervap.retentate.flow_mol_phase_comp[t, p, i] == (\n", - " pervap.inlet.flow_mol_phase_comp[t, p, i]\n", - " - pervap.permeate.flow_mol_phase_comp[t, p, i]\n", - " )\n", - "\n", - "\n", - "m.fs.pervap.eq_retentate_flow = Constraint(\n", - " m.fs.time, m.fs.pervap.phase_list, m.fs.pervap.comp_list, rule=rule_retentate_flow\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finally, let's define the Arc connecting our two models (IDAES Mixer and custom Pervaporation) and build the flowsheet network:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.s01 = Arc(source=m.fs.WATER.outlet, destination=m.fs.M101.water_feed)\n", - "m.fs.s02 = Arc(source=m.fs.GLYCOL.outlet, destination=m.fs.M101.glycol_feed)\n", - "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.pervap.inlet)\n", - "m.fs.s04 = Arc(source=m.fs.pervap.permeate, destination=m.fs.PERMEATE.inlet)\n", - "m.fs.s05 = Arc(source=m.fs.pervap.retentate, destination=m.fs.RETENTATE.inlet)\n", - "TransformationFactory(\"network.expand_arcs\").apply_to(m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's see how many degrees of freedom the flowsheet has:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2.3 Inlet Specifications\n", - "\n", - "To obtain a square problem with zero degrees of freedom, we specify the inlet water flow, ethylene glycol flow, temperature and pressure for each feed stream, as well as the permeate stream pressure:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.WATER.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].fix(0.34) # mol/s\n", - "m.fs.WATER.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].fix(1e-6) # mol/s\n", - "m.fs.WATER.outlet.temperature.fix(318.15) # K\n", - "m.fs.WATER.outlet.pressure.fix(101.325e3) # Pa\n", - "\n", - "m.fs.GLYCOL.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].fix(1e-6) # mol/s\n", - "m.fs.GLYCOL.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].fix(0.66) # mol/s\n", - "m.fs.GLYCOL.outlet.temperature.fix(318.15) # K\n", - "m.fs.GLYCOL.outlet.pressure.fix(101.325e3) # Pa" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Additionally, we need to pass rules defining the temperature and pressure outlets of the pervaporation unit:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Add a constraint to calculate the outlet temperature.\n", - "# Here, assume outlet temperature is the same as inlet temperature for illustration\n", - "# in reality, temperature change from latent heat loss through membrane is negligible\n", - "\n", - "\n", - "def rule_temp_out(pervap, t):\n", - " return pervap.inlet.temperature[t] == pervap.retentate.temperature[t]\n", - "\n", - "\n", - "m.fs.pervap.temperature_out_calculation = Constraint(m.fs.time, rule=rule_temp_out)\n", - "\n", - "# Add a constraint to calculate the retentate pressure\n", - "# Here, assume the retentate pressure is the same as the inlet pressure for illustration\n", - "# in reality, pressure change from mass loss through membrane is negligible\n", - "\n", - "\n", - "def rule_pres_out(pervap, t):\n", - " return pervap.inlet.pressure[t] == pervap.retentate.pressure[t]\n", - "\n", - "\n", - "m.fs.pervap.pressure_out_calculation = Constraint(m.fs.time, rule=rule_pres_out)\n", - "\n", - "# fix permeate vacuum pressure\n", - "m.fs.PERMEATE.inlet.pressure.fix(1.3e3)\n", - "\n", - "assert degrees_of_freedom(m) == 0" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2.4 Custom Initialization\n", - "In addition to allowing custom variable and constraint definitions, the Skeleton model enables implementation of a custom initialization scheme. Complex unit operations may present unique tractability issues, and users have precise control over piecewise unit model solving." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Add this to the imports\n", - "from pyomo.util.calc_var_value import calculate_variable_from_constraint\n", - "\n", - "\n", - "def my_initialize(unit, **kwargs):\n", - " # Callback for user provided initialization sequence\n", - " # Fix the inlet state\n", - " unit.inlet.flow_mol_phase_comp.fix()\n", - " unit.inlet.pressure.fix()\n", - " unit.inlet.temperature.fix()\n", - "\n", - " # Calculate the values of the remaining variables\n", - " for t in m.fs.time:\n", - "\n", - " calculate_variable_from_constraint(\n", - " unit.permeate.flow_mol_phase_comp[t, \"Liq\", \"water\"],\n", - " unit.eq_permeate_flux[t, \"Liq\", \"water\"],\n", - " )\n", - "\n", - " calculate_variable_from_constraint(\n", - " unit.permeate.flow_mol_phase_comp[t, \"Liq\", \"ethylene_glycol\"],\n", - " unit.eq_permeate_flux[t, \"Liq\", \"ethylene_glycol\"],\n", - " )\n", - "\n", - " calculate_variable_from_constraint(unit.heat_duty[t], unit.eq_duty[t])\n", - "\n", - " calculate_variable_from_constraint(\n", - " unit.retentate.flow_mol_phase_comp[t, \"Liq\", \"water\"],\n", - " unit.eq_retentate_flow[t, \"Liq\", \"water\"],\n", - " )\n", - "\n", - " calculate_variable_from_constraint(\n", - " unit.retentate.flow_mol_phase_comp[t, \"Liq\", \"ethylene_glycol\"],\n", - " unit.eq_retentate_flow[t, \"Liq\", \"ethylene_glycol\"],\n", - " )\n", - "\n", - " calculate_variable_from_constraint(\n", - " unit.retentate.temperature[t], unit.temperature_out_calculation[t]\n", - " )\n", - "\n", - " calculate_variable_from_constraint(\n", - " unit.retentate.pressure[t], unit.pressure_out_calculation[t]\n", - " )\n", - "\n", - " assert degrees_of_freedom(unit) == 0\n", - " if degrees_of_freedom(unit) == 0:\n", - " res = solver.solve(unit, tee=True)\n", - " unit.inlet.flow_mol_phase_comp.unfix()\n", - " unit.inlet.temperature.unfix()\n", - " unit.inlet.pressure.unfix()\n", - " print(\"Custom initialization routine complete: \", res.solver.message)\n", - "\n", - "\n", - "solver = get_solver()\n", - "\n", - "m.fs.WATER.initialize()\n", - "propagate_state(m.fs.s01)\n", - "\n", - "m.fs.GLYCOL.initialize()\n", - "propagate_state(m.fs.s02)\n", - "\n", - "m.fs.pervap.config.initializer = my_initialize\n", - "my_initialize(m.fs.pervap)\n", - "propagate_state(m.fs.s03)\n", - "\n", - "m.fs.PERMEATE.initialize()\n", - "propagate_state(m.fs.s04)\n", - "\n", - "m.fs.RETENTATE.initialize()\n", - "\n", - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's check the results:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# print results\n", - "\n", - "m.fs.WATER.report()\n", - "m.fs.GLYCOL.report()\n", - "m.fs.PERMEATE.report()\n", - "m.fs.RETENTATE.report()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# separation factor for results analysis\n", - "m.fs.inlet_water_frac = Expression(\n", - " expr=(\n", - " m.fs.pervap.inlet.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", - " / sum(\n", - " m.fs.pervap.inlet.flow_mol_phase_comp[0, \"Liq\", i]\n", - " for i in m.fs.pervap.comp_list\n", - " )\n", - " )\n", - ")\n", - "m.fs.permeate_water_frac = Expression(\n", - " expr=(\n", - " m.fs.pervap.permeate.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", - " / sum(\n", - " m.fs.pervap.permeate.flow_mol_phase_comp[0, \"Liq\", i]\n", - " for i in m.fs.pervap.comp_list\n", - " )\n", - " )\n", - ")\n", - "m.fs.separation_factor = Expression(\n", - " expr=(m.fs.permeate_water_frac / (1 - m.fs.permeate_water_frac))\n", - " / (m.fs.inlet_water_frac / (1 - m.fs.inlet_water_frac))\n", - ")\n", - "\n", - "print(f\"Inlet water mole fraction: {value(m.fs.inlet_water_frac)}\")\n", - "print(f\"Permeate water mole fraction: {value(m.fs.permeate_water_frac)}\")\n", - "print(f\"Separation factor: {value(m.fs.separation_factor)}\")\n", - "print(f\"Condensation duty: {value(m.fs.pervap.heat_duty[0]/1000)} kW\")\n", - "print(\n", - " f\"Duty per mole water recovered: {value(m.fs.pervap.heat_duty[0]/(1000*m.fs.PERMEATE.inlet.flow_mol_phase_comp[0, 'Liq', 'water']*3600))} kW-h / mol\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# check results\n", - "assert check_optimal_termination(results)\n", - "assert_units_consistent(m)\n", - "\n", - "assert value(\n", - " m.fs.PERMEATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", - ") == pytest.approx(0.14258566, rel=1e-5)\n", - "assert value(\n", - " m.fs.PERMEATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", - ") == pytest.approx(0.000266748768, rel=1e-5)\n", - "assert value(\n", - " m.fs.RETENTATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", - ") == pytest.approx(0.19741534, rel=1e-5)\n", - "assert value(\n", - " m.fs.RETENTATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", - ") == pytest.approx(0.65973425, rel=1e-5)\n", - "assert value(m.fs.separation_factor) == pytest.approx(1037.6188, rel=1e-5)\n", - "assert value(m.fs.pervap.heat_duty[0]) == pytest.approx(5812.7111, rel=1e-5)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 3. Optimization\n", - "\n", - "Suppose we wish to characterize the membrane behavior by calculating the maximum inlet water mole fraction allowing a separation factor of at least 100 (typical value for high-efficiency separation processes such as gas separation of CO2/N2). We need to fix total inlet flow to ensure physically-sound solutions. We can quickly modify and resolve the model, and check some key results:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# unfix inlet flows but fix total to prevent divergence during solve\n", - "m.fs.WATER.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].unfix()\n", - "m.fs.GLYCOL.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].unfix()\n", - "m.fs.total_flow = Constraint(\n", - " expr=m.fs.WATER.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", - " + m.fs.GLYCOL.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", - " == 1 * pyunits.mol / pyunits.s\n", - ")\n", - "\n", - "# set criteria for separation factor\n", - "m.fs.sep_min = Constraint(expr=m.fs.separation_factor >= 100)\n", - "\n", - "# set objective - defaults to minimization\n", - "m.fs.obj = Objective(expr=m.fs.inlet_water_frac, sense=maximize)\n", - "\n", - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# print results\n", - "\n", - "m.fs.WATER.report()\n", - "m.fs.GLYCOL.report()\n", - "m.fs.PERMEATE.report()\n", - "m.fs.RETENTATE.report()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(f\"Inlet water mole fraction: {value(m.fs.inlet_water_frac)}\")\n", - "print(f\"Permeate water mole fraction: {value(m.fs.permeate_water_frac)}\")\n", - "print(f\"Separation factor: {value(m.fs.separation_factor)}\")\n", - "print(f\"Condensation duty: {value(m.fs.pervap.heat_duty[0]/1000)} kW\")\n", - "print(\n", - " f\"Duty per mole water recovered: {value(m.fs.pervap.heat_duty[0]/(1000*m.fs.PERMEATE.inlet.flow_mol_phase_comp[0, 'Liq', 'water']*3600))} kW-h / mol\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# check results\n", - "assert check_optimal_termination(results)\n", - "assert_units_consistent(m)\n", - "\n", - "assert value(\n", - " m.fs.PERMEATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", - ") == pytest.approx(0.14258566, rel=1e-5)\n", - "assert value(\n", - " m.fs.PERMEATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", - ") == pytest.approx(0.000266748768, rel=1e-5)\n", - "assert value(\n", - " m.fs.RETENTATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", - ") == pytest.approx(0.69981938, rel=1e-5)\n", - "assert value(\n", - " m.fs.RETENTATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", - ") == pytest.approx(0.15733020, rel=1e-5)\n", - "assert value(m.fs.separation_factor) == pytest.approx(100.000067, rel=1e-5)\n", - "assert value(m.fs.pervap.heat_duty[0]) == pytest.approx(5812.7111, rel=1e-5)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 4. Summary\n", - "\n", - "The IDAES Skeleton Unit Model is a powerful tool for implementing relatively simple first-princples, surrogate-based or empirical unit operations. More crucially, users can add their own custom models and integrate them into a larger IDAES flowsheet without adding control volumes or rigorous flow balance and equilibrium calculations when not required. The pervaporation example displays a case where all model equations are empirical correlations or simple manual calculations, with a small number of state variable and port connections, and the Skeleton model avoids complex calculations that impact model tractability. The example also demonstrates adding a custom initialization scheme to handle internally model degrees of freedom, a feature providing greater user control than with most IDAES unit models." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.18" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# IDAES Skeleton Unit Model\n", + "Maintainer: Brandon Paul \n", + "Author: Brandon Paul \n", + "Updated: 2023-06-01 \n", + "\n", + "This notebook demonstrates usage of the IDAES Skeleton Unit Model, which provides a generic \"bare bones\" unit for user-defined models and custom variable and constraint sets. To allow maximum versatility, this unit may be defined as a surrogate model or a custom equation-oriented model. Users must add ports and variables that match connected models, and this is facilitated through a provided method to add port-variable sets.\n", + "\n", + "For users who wish to train surrogates with IDAES tools and insert obtained models into a flowsheet, see more detailed information on [IDAES Surrogate Tools](https://idaes-pse.readthedocs.io/en/stable/explanations/modeling_extensions/surrogate/index.html)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1. Motivation\n", + "\n", + "In many cases, a specific application requires a unique unit operation that does not exist in the IDAES repository. Custom user models may source from external scripts, import surrogate equations or use first-principles calculations. However, IDAES flowsheets adhere to a standardized modeling hierarchy and simple Pyomo models do not always follow these conventions. Additionally, simple flowsheet submodels often require integration with other IDAES unit models which requires consistency between corresponding port variables, stream properties and physical unit sets, as well as proper usage of `ControlVolume` blocks.\n", + "\n", + "The IDAES `SkeletonUnitModel` allows custom creation of user models blocks that do not require `ControlVolume` blocks, and enabling connection with standard IDAES unit models that do contain `ControlVolume` blocks. To motivate the usefulness and versatility of this tool, we will consider a simple pervaporation unit. The custom model does not require rigorous thermodynamic calculations contained in adjacent unit models, and using a Skeleton model allows definition of only required variables and constraints. The new block does require state variable connections for the inlet and outlet streams. We will demonstrate this scenario below to highlight the usage and benefits of the Skeleton model." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2. Example - Pervaporation\n", + "\n", + "Pervaporation is a low-energy separation process, and is particularly advantageous over distillation for azeotropic solutions or aqueous mixtures of heavy alcohols. Ethylene glycol is more environmentally friendly than typical chloride- and bromide-based dessicants, and is a common choice for commercial recovery of water from flue gas via liquid spray columns. Due to ethylene glycol's high boiling point, diffusion-based water recovery is economically favorable compared to distillation-based processes. The following example and flux correlation are taken from the literature source below:\n", + "\n", + "Jennifer Runhong Du, Amit Chakma, X. Feng, Dehydration of ethylene glycol by pervaporation using poly(N,N-dimethylaminoethyl methacrylate)/polysulfone composite membranes, Separation and Purification Technology, Volume 64, Issue 1, 2008, Pages 63-70, ISSN 1383-5866, https://doi.org/10.1016/j.seppur.2008.08.004.\n", + "\n", + "The process is adapted from the literature, utilizing an inlet aqueous glycol feed circulated through a feed tank-membrane-feed tank recycle loop while permeate is continuously extracted by the membrane. To demonstrate the usefulness of the Skeleton model, we will model this system as a Mixer and custom Pervaporation unit per the diagram below and define the flux as an empirical custom mass balance term rather than requiring rigorous diffusion calculations. We will also circumvent the need for a vapor phase and VLE calculations by manually calculating the duty to condense and collect permeate vapor, and use correlations for steady-state fluxes to avoid a recycle requiring tear calculations.\n", + "\n", + "![](pervaporation_process.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2.1 Pyomo and IDAES Imports\n", + "We will begin with relevant imports. We will need basic Pyomo and IDAES components:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import pytest\n", + "from pyomo.environ import (\n", + " check_optimal_termination,\n", + " ConcreteModel,\n", + " Constraint,\n", + " Expression,\n", + " Objective,\n", + " maximize,\n", + " Var,\n", + " Set,\n", + " TransformationFactory,\n", + " value,\n", + " exp,\n", + " units as pyunits,\n", + ")\n", + "from pyomo.network import Arc\n", + "from idaes.core import FlowsheetBlock\n", + "from idaes.models.unit_models import Feed, SkeletonUnitModel, Mixer, Product\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.core.util.initialization import propagate_state\n", + "from idaes.core.solvers import get_solver\n", + "from pyomo.util.check_units import assert_units_consistent\n", + "\n", + "# import thermophysical properties\n", + "import eg_h2o_ideal as thermo_props\n", + "from idaes.models.properties.modular_properties import GenericParameterBlock\n", + "from idaes.core.util.constants import Constants" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2.2 Build Flowsheet\n", + "\n", + "We will build a simple model manually defining state variables relations entering and exiting the pervaporation unit. As shown below, we may define our pre-separation mixer as usual:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# build the flowsheet\n", + "m = ConcreteModel()\n", + "m.fs = FlowsheetBlock(dynamic=False)\n", + "\n", + "m.fs.thermo_params = GenericParameterBlock(**thermo_props.config_dict)\n", + "\n", + "m.fs.WATER = Feed(property_package=m.fs.thermo_params)\n", + "m.fs.GLYCOL = Feed(property_package=m.fs.thermo_params)\n", + "\n", + "m.fs.M101 = Mixer(\n", + " property_package=m.fs.thermo_params, inlet_list=[\"water_feed\", \"glycol_feed\"]\n", + ")\n", + "\n", + "m.fs.RETENTATE = Product(property_package=m.fs.thermo_params)\n", + "m.fs.PERMEATE = Product(property_package=m.fs.thermo_params)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2.2 Defining Skeleton Model and Connections\n", + "\n", + "Now that our flowsheet exists, we can manually define variables, units, constraints and ports for our custom pervaporation unit model. By using a Skeleton model, we avoid rigorous mass and energy balances and phase equilibrium which impact model tractability. Instead, we define state variable relations as below - note that we include the fluxes as outlet flow terms. In this model, the variables specify an `FpcTP` system where molar flow of each component, temperature and pressure are selected as state variables:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# define Skeleton model for pervaporation unit\n", + "m.fs.pervap = SkeletonUnitModel(dynamic=False)\n", + "m.fs.pervap.comp_list = Set(initialize=[\"water\", \"ethylene_glycol\"])\n", + "m.fs.pervap.phase_list = Set(initialize=[\"Liq\"])\n", + "\n", + "# input vars for skeleton\n", + "# m.fs.time is a pre-initialized Set belonging to the FlowsheetBlock; for dynamic=False, time=[0]\n", + "m.fs.pervap.flow_in = Var(\n", + " m.fs.time,\n", + " m.fs.pervap.phase_list,\n", + " m.fs.pervap.comp_list,\n", + " initialize=1.0,\n", + " units=pyunits.mol / pyunits.s,\n", + ")\n", + "m.fs.pervap.temperature_in = Var(m.fs.time, initialize=298.15, units=pyunits.K)\n", + "m.fs.pervap.pressure_in = Var(m.fs.time, initialize=101e3, units=pyunits.Pa)\n", + "\n", + "# output vars for skeleton\n", + "m.fs.pervap.perm_flow = Var(\n", + " m.fs.time,\n", + " m.fs.pervap.phase_list,\n", + " m.fs.pervap.comp_list,\n", + " initialize=1.0,\n", + " units=pyunits.mol / pyunits.s,\n", + ")\n", + "m.fs.pervap.ret_flow = Var(\n", + " m.fs.time,\n", + " m.fs.pervap.phase_list,\n", + " m.fs.pervap.comp_list,\n", + " initialize=1.0,\n", + " units=pyunits.mol / pyunits.s,\n", + ")\n", + "m.fs.pervap.temperature_out = Var(m.fs.time, initialize=298.15, units=pyunits.K)\n", + "m.fs.pervap.pressure_out = Var(m.fs.time, initialize=101e3, units=pyunits.Pa)\n", + "m.fs.pervap.vacuum = Var(m.fs.time, initialize=1.3e3, units=pyunits.Pa)\n", + "\n", + "# dictionaries relating state properties to custom variables\n", + "inlet_dict = {\n", + " \"flow_mol_phase_comp\": m.fs.pervap.flow_in,\n", + " \"temperature\": m.fs.pervap.temperature_in,\n", + " \"pressure\": m.fs.pervap.pressure_in,\n", + "}\n", + "retentate_dict = {\n", + " \"flow_mol_phase_comp\": m.fs.pervap.ret_flow,\n", + " \"temperature\": m.fs.pervap.temperature_out,\n", + " \"pressure\": m.fs.pervap.pressure_out,\n", + "}\n", + "permeate_dict = {\n", + " \"flow_mol_phase_comp\": m.fs.pervap.perm_flow,\n", + " \"temperature\": m.fs.pervap.temperature_out,\n", + " \"pressure\": m.fs.pervap.vacuum,\n", + "}\n", + "\n", + "m.fs.pervap.add_ports(name=\"inlet\", member_dict=inlet_dict)\n", + "m.fs.pervap.add_ports(name=\"retentate\", member_dict=retentate_dict)\n", + "m.fs.pervap.add_ports(name=\"permeate\", member_dict=permeate_dict)\n", + "\n", + "# internal vars for skeleton\n", + "energy_activation_dict = {\n", + " (0, \"Liq\", \"water\"): 51e3,\n", + " (0, \"Liq\", \"ethylene_glycol\"): 53e3,\n", + "}\n", + "m.fs.pervap.energy_activation = Var(\n", + " m.fs.time,\n", + " m.fs.pervap.phase_list,\n", + " m.fs.pervap.comp_list,\n", + " initialize=energy_activation_dict,\n", + " units=pyunits.J / pyunits.mol,\n", + ")\n", + "m.fs.pervap.energy_activation.fix()\n", + "\n", + "permeance_dict = {\n", + " (0, \"Liq\", \"water\"): 5611320,\n", + " (0, \"Liq\", \"ethylene_glycol\"): 22358.88,\n", + "} # calculated from literature data\n", + "m.fs.pervap.permeance = Var(\n", + " m.fs.time,\n", + " m.fs.pervap.phase_list,\n", + " m.fs.pervap.comp_list,\n", + " initialize=permeance_dict,\n", + " units=pyunits.mol / pyunits.s / pyunits.m**2,\n", + ")\n", + "m.fs.pervap.permeance.fix()\n", + "\n", + "m.fs.pervap.area = Var(m.fs.time, initialize=6, units=pyunits.m**2)\n", + "m.fs.pervap.area.fix()\n", + "\n", + "latent_heat_dict = {\n", + " (0, \"Liq\", \"water\"): 40.660e3,\n", + " (0, \"Liq\", \"ethylene_glycol\"): 56.9e3,\n", + "}\n", + "m.fs.pervap.latent_heat_of_vaporization = Var(\n", + " m.fs.time,\n", + " m.fs.pervap.phase_list,\n", + " m.fs.pervap.comp_list,\n", + " initialize=latent_heat_dict,\n", + " units=pyunits.J / pyunits.mol,\n", + ")\n", + "m.fs.pervap.latent_heat_of_vaporization.fix()\n", + "m.fs.pervap.heat_duty = Var(\n", + " m.fs.time, initialize=1, units=pyunits.J / pyunits.s\n", + ") # we will calculate this later" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's define our surrogate equations for flux and permeance, and link them to the port variables. Users can use this structure to write custom relations between inlet and outlet streams; for example, here we define the outlet flow of the pervaporation unit as a sum of the inlet flow and calculated recovery fluxes. By defining model constraints in lieu of rigorous mass balances, we add the flux as a custom mass balance term via an empirical correlation and calculate only the condensation duty rather than implementing full energy balance calculations:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Surrogate and first principles model equations\n", + "\n", + "# flux equation (gas constant is defined as J/mol-K)\n", + "\n", + "\n", + "def rule_permeate_flux(pervap, t, p, i):\n", + " return pervap.permeate.flow_mol_phase_comp[t, p, i] / pervap.area[t] == (\n", + " pervap.permeance[t, p, i]\n", + " * exp(\n", + " -pervap.energy_activation[t, p, i]\n", + " / (Constants.gas_constant * pervap.inlet.temperature[t])\n", + " )\n", + " )\n", + "\n", + "\n", + "m.fs.pervap.eq_permeate_flux = Constraint(\n", + " m.fs.time, m.fs.pervap.phase_list, m.fs.pervap.comp_list, rule=rule_permeate_flux\n", + ")\n", + "\n", + "# permeate condensation equation\n", + "# heat duty based on condensing all of permeate product vapor\n", + "# avoids the need for a Heater or HeatExchanger unit model\n", + "\n", + "\n", + "def rule_duty(pervap, t):\n", + " return pervap.heat_duty[t] == sum(\n", + " pervap.latent_heat_of_vaporization[t, p, i]\n", + " * pervap.permeate.flow_mol_phase_comp[t, p, i]\n", + " for p in pervap.phase_list\n", + " for i in pervap.comp_list\n", + " )\n", + "\n", + "\n", + "m.fs.pervap.eq_duty = Constraint(m.fs.time, rule=rule_duty)\n", + "\n", + "\n", + "# flow equation adding total recovery as a custom mass balance term\n", + "def rule_retentate_flow(pervap, t, p, i):\n", + " return pervap.retentate.flow_mol_phase_comp[t, p, i] == (\n", + " pervap.inlet.flow_mol_phase_comp[t, p, i]\n", + " - pervap.permeate.flow_mol_phase_comp[t, p, i]\n", + " )\n", + "\n", + "\n", + "m.fs.pervap.eq_retentate_flow = Constraint(\n", + " m.fs.time, m.fs.pervap.phase_list, m.fs.pervap.comp_list, rule=rule_retentate_flow\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, let's define the Arc connecting our two models (IDAES Mixer and custom Pervaporation) and build the flowsheet network:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.s01 = Arc(source=m.fs.WATER.outlet, destination=m.fs.M101.water_feed)\n", + "m.fs.s02 = Arc(source=m.fs.GLYCOL.outlet, destination=m.fs.M101.glycol_feed)\n", + "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.pervap.inlet)\n", + "m.fs.s04 = Arc(source=m.fs.pervap.permeate, destination=m.fs.PERMEATE.inlet)\n", + "m.fs.s05 = Arc(source=m.fs.pervap.retentate, destination=m.fs.RETENTATE.inlet)\n", + "TransformationFactory(\"network.expand_arcs\").apply_to(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's see how many degrees of freedom the flowsheet has:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2.3 Inlet Specifications\n", + "\n", + "To obtain a square problem with zero degrees of freedom, we specify the inlet water flow, ethylene glycol flow, temperature and pressure for each feed stream, as well as the permeate stream pressure:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.WATER.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].fix(0.34) # mol/s\n", + "m.fs.WATER.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].fix(1e-6) # mol/s\n", + "m.fs.WATER.outlet.temperature.fix(318.15) # K\n", + "m.fs.WATER.outlet.pressure.fix(101.325e3) # Pa\n", + "\n", + "m.fs.GLYCOL.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].fix(1e-6) # mol/s\n", + "m.fs.GLYCOL.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].fix(0.66) # mol/s\n", + "m.fs.GLYCOL.outlet.temperature.fix(318.15) # K\n", + "m.fs.GLYCOL.outlet.pressure.fix(101.325e3) # Pa" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Additionally, we need to pass rules defining the temperature and pressure outlets of the pervaporation unit:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Add a constraint to calculate the outlet temperature.\n", + "# Here, assume outlet temperature is the same as inlet temperature for illustration\n", + "# in reality, temperature change from latent heat loss through membrane is negligible\n", + "\n", + "\n", + "def rule_temp_out(pervap, t):\n", + " return pervap.inlet.temperature[t] == pervap.retentate.temperature[t]\n", + "\n", + "\n", + "m.fs.pervap.temperature_out_calculation = Constraint(m.fs.time, rule=rule_temp_out)\n", + "\n", + "# Add a constraint to calculate the retentate pressure\n", + "# Here, assume the retentate pressure is the same as the inlet pressure for illustration\n", + "# in reality, pressure change from mass loss through membrane is negligible\n", + "\n", + "\n", + "def rule_pres_out(pervap, t):\n", + " return pervap.inlet.pressure[t] == pervap.retentate.pressure[t]\n", + "\n", + "\n", + "m.fs.pervap.pressure_out_calculation = Constraint(m.fs.time, rule=rule_pres_out)\n", + "\n", + "# fix permeate vacuum pressure\n", + "m.fs.PERMEATE.inlet.pressure.fix(1.3e3)\n", + "\n", + "assert degrees_of_freedom(m) == 0" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2.4 Custom Initialization\n", + "In addition to allowing custom variable and constraint definitions, the Skeleton model enables implementation of a custom initialization scheme. Complex unit operations may present unique tractability issues, and users have precise control over piecewise unit model solving." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Add this to the imports\n", + "from pyomo.util.calc_var_value import calculate_variable_from_constraint\n", + "\n", + "\n", + "def my_initialize(unit, **kwargs):\n", + " # Callback for user provided initialization sequence\n", + " # Fix the inlet state\n", + " unit.inlet.flow_mol_phase_comp.fix()\n", + " unit.inlet.pressure.fix()\n", + " unit.inlet.temperature.fix()\n", + "\n", + " # Calculate the values of the remaining variables\n", + " for t in m.fs.time:\n", + "\n", + " calculate_variable_from_constraint(\n", + " unit.permeate.flow_mol_phase_comp[t, \"Liq\", \"water\"],\n", + " unit.eq_permeate_flux[t, \"Liq\", \"water\"],\n", + " )\n", + "\n", + " calculate_variable_from_constraint(\n", + " unit.permeate.flow_mol_phase_comp[t, \"Liq\", \"ethylene_glycol\"],\n", + " unit.eq_permeate_flux[t, \"Liq\", \"ethylene_glycol\"],\n", + " )\n", + "\n", + " calculate_variable_from_constraint(unit.heat_duty[t], unit.eq_duty[t])\n", + "\n", + " calculate_variable_from_constraint(\n", + " unit.retentate.flow_mol_phase_comp[t, \"Liq\", \"water\"],\n", + " unit.eq_retentate_flow[t, \"Liq\", \"water\"],\n", + " )\n", + "\n", + " calculate_variable_from_constraint(\n", + " unit.retentate.flow_mol_phase_comp[t, \"Liq\", \"ethylene_glycol\"],\n", + " unit.eq_retentate_flow[t, \"Liq\", \"ethylene_glycol\"],\n", + " )\n", + "\n", + " calculate_variable_from_constraint(\n", + " unit.retentate.temperature[t], unit.temperature_out_calculation[t]\n", + " )\n", + "\n", + " calculate_variable_from_constraint(\n", + " unit.retentate.pressure[t], unit.pressure_out_calculation[t]\n", + " )\n", + "\n", + " assert degrees_of_freedom(unit) == 0\n", + " if degrees_of_freedom(unit) == 0:\n", + " res = solver.solve(unit, tee=True)\n", + " unit.inlet.flow_mol_phase_comp.unfix()\n", + " unit.inlet.temperature.unfix()\n", + " unit.inlet.pressure.unfix()\n", + " print(\"Custom initialization routine complete: \", res.solver.message)\n", + "\n", + "\n", + "solver = get_solver()\n", + "\n", + "m.fs.WATER.initialize()\n", + "propagate_state(m.fs.s01)\n", + "\n", + "m.fs.GLYCOL.initialize()\n", + "propagate_state(m.fs.s02)\n", + "\n", + "m.fs.pervap.config.initializer = my_initialize\n", + "my_initialize(m.fs.pervap)\n", + "propagate_state(m.fs.s03)\n", + "\n", + "m.fs.PERMEATE.initialize()\n", + "propagate_state(m.fs.s04)\n", + "\n", + "m.fs.RETENTATE.initialize()\n", + "\n", + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's check the results:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# print results\n", + "\n", + "m.fs.WATER.report()\n", + "m.fs.GLYCOL.report()\n", + "m.fs.PERMEATE.report()\n", + "m.fs.RETENTATE.report()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# separation factor for results analysis\n", + "m.fs.inlet_water_frac = Expression(\n", + " expr=(\n", + " m.fs.pervap.inlet.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", + " / sum(\n", + " m.fs.pervap.inlet.flow_mol_phase_comp[0, \"Liq\", i]\n", + " for i in m.fs.pervap.comp_list\n", + " )\n", + " )\n", + ")\n", + "m.fs.permeate_water_frac = Expression(\n", + " expr=(\n", + " m.fs.pervap.permeate.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", + " / sum(\n", + " m.fs.pervap.permeate.flow_mol_phase_comp[0, \"Liq\", i]\n", + " for i in m.fs.pervap.comp_list\n", + " )\n", + " )\n", + ")\n", + "m.fs.separation_factor = Expression(\n", + " expr=(m.fs.permeate_water_frac / (1 - m.fs.permeate_water_frac))\n", + " / (m.fs.inlet_water_frac / (1 - m.fs.inlet_water_frac))\n", + ")\n", + "\n", + "print(f\"Inlet water mole fraction: {value(m.fs.inlet_water_frac)}\")\n", + "print(f\"Permeate water mole fraction: {value(m.fs.permeate_water_frac)}\")\n", + "print(f\"Separation factor: {value(m.fs.separation_factor)}\")\n", + "print(f\"Condensation duty: {value(m.fs.pervap.heat_duty[0]/1000)} kW\")\n", + "print(\n", + " f\"Duty per mole water recovered: {value(m.fs.pervap.heat_duty[0]/(1000*m.fs.PERMEATE.inlet.flow_mol_phase_comp[0, 'Liq', 'water']*3600))} kW-h / mol\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# check results\n", + "assert check_optimal_termination(results)\n", + "assert_units_consistent(m)\n", + "\n", + "assert value(\n", + " m.fs.PERMEATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", + ") == pytest.approx(0.14258566, rel=1e-5)\n", + "assert value(\n", + " m.fs.PERMEATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", + ") == pytest.approx(0.000266748768, rel=1e-5)\n", + "assert value(\n", + " m.fs.RETENTATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", + ") == pytest.approx(0.19741534, rel=1e-5)\n", + "assert value(\n", + " m.fs.RETENTATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", + ") == pytest.approx(0.65973425, rel=1e-5)\n", + "assert value(m.fs.separation_factor) == pytest.approx(1037.6188, rel=1e-5)\n", + "assert value(m.fs.pervap.heat_duty[0]) == pytest.approx(5812.7111, rel=1e-5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 3. Optimization\n", + "\n", + "Suppose we wish to characterize the membrane behavior by calculating the maximum inlet water mole fraction allowing a separation factor of at least 100 (typical value for high-efficiency separation processes such as gas separation of CO2/N2). We need to fix total inlet flow to ensure physically-sound solutions. We can quickly modify and resolve the model, and check some key results:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# unfix inlet flows but fix total to prevent divergence during solve\n", + "m.fs.WATER.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].unfix()\n", + "m.fs.GLYCOL.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].unfix()\n", + "m.fs.total_flow = Constraint(\n", + " expr=m.fs.WATER.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", + " + m.fs.GLYCOL.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", + " == 1 * pyunits.mol / pyunits.s\n", + ")\n", + "\n", + "# set criteria for separation factor\n", + "m.fs.sep_min = Constraint(expr=m.fs.separation_factor >= 100)\n", + "\n", + "# set objective - defaults to minimization\n", + "m.fs.obj = Objective(expr=m.fs.inlet_water_frac, sense=maximize)\n", + "\n", + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# print results\n", + "\n", + "m.fs.WATER.report()\n", + "m.fs.GLYCOL.report()\n", + "m.fs.PERMEATE.report()\n", + "m.fs.RETENTATE.report()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(f\"Inlet water mole fraction: {value(m.fs.inlet_water_frac)}\")\n", + "print(f\"Permeate water mole fraction: {value(m.fs.permeate_water_frac)}\")\n", + "print(f\"Separation factor: {value(m.fs.separation_factor)}\")\n", + "print(f\"Condensation duty: {value(m.fs.pervap.heat_duty[0]/1000)} kW\")\n", + "print(\n", + " f\"Duty per mole water recovered: {value(m.fs.pervap.heat_duty[0]/(1000*m.fs.PERMEATE.inlet.flow_mol_phase_comp[0, 'Liq', 'water']*3600))} kW-h / mol\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# check results\n", + "assert check_optimal_termination(results)\n", + "assert_units_consistent(m)\n", + "\n", + "assert value(\n", + " m.fs.PERMEATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", + ") == pytest.approx(0.14258566, rel=1e-5)\n", + "assert value(\n", + " m.fs.PERMEATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", + ") == pytest.approx(0.000266748768, rel=1e-5)\n", + "assert value(\n", + " m.fs.RETENTATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"water\"]\n", + ") == pytest.approx(0.69981938, rel=1e-5)\n", + "assert value(\n", + " m.fs.RETENTATE.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", + ") == pytest.approx(0.15733020, rel=1e-5)\n", + "assert value(m.fs.separation_factor) == pytest.approx(100.000067, rel=1e-5)\n", + "assert value(m.fs.pervap.heat_duty[0]) == pytest.approx(5812.7111, rel=1e-5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 4. Summary\n", + "\n", + "The IDAES Skeleton Unit Model is a powerful tool for implementing relatively simple first-princples, surrogate-based or empirical unit operations. More crucially, users can add their own custom models and integrate them into a larger IDAES flowsheet without adding control volumes or rigorous flow balance and equilibrium calculations when not required. The pervaporation example displays a case where all model equations are empirical correlations or simple manual calculations, with a small number of state variable and port connections, and the Skeleton model avoids complex calculations that impact model tractability. The example also demonstrates adding a custom initialization scheme to handle internally model degrees of freedom, a feature providing greater user control than with most IDAES unit models." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.18" + } + }, + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/operations/tests/test_eg_h2o_ideal.py b/idaes_examples/notebooks/docs/unit_models/operations/tests/test_eg_h2o_ideal.py index 99bbcd25..578ab356 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/tests/test_eg_h2o_ideal.py +++ b/idaes_examples/notebooks/docs/unit_models/operations/tests/test_eg_h2o_ideal.py @@ -3,12 +3,13 @@ # Framework (IDAES IP) was produced under the DOE Institute for the # Design of Advanced Energy Systems (IDAES). # -# Copyright (c) 2018-2023 by the software owners: The Regents of the +# Copyright (c) 2018-2025 by the software owners: The Regents of the # University of California, through Lawrence Berkeley National Laboratory, # National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon # University, West Virginia University Research Corporation, et al. # All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md # for full copyright and license information. +# ################################################################################# """ Author: Brandon Paul diff --git a/idaes_examples/notebooks/docs/unit_models/operations/turbine.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/turbine.ipynb index 3979dd95..747d49ff 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/turbine.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/turbine.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/unit_models/operations/turbine_doc.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/turbine_doc.ipynb index e2f39fcc..0170a0e1 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/turbine_doc.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/turbine_doc.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -81,7 +82,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -126,7 +127,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -140,17 +141,9 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The initial DOF is 5\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Import the degrees_of_freedom function from the idaes.core.util.model_statistics package\n", "# DOF = Number of Model Variables - Number of Model Constraints\n", @@ -170,7 +163,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -195,17 +188,9 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The final DOF is 0\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Fix turbine conditions\n", "m.fs.turbine_case_1.deltaP.fix(-10000)\n", @@ -225,17 +210,9 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:24:37 [INFO] idaes.init.fs.turbine_case_1: Initialization Complete: optimal - Optimal Solution Found\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Initialize the flowsheet, and set the logger level to INFO\n", "m.fs.turbine_case_1.initialize(outlvl=idaeslog.INFO)" @@ -250,84 +227,9 @@ }, { "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 18\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 8\n", - "\n", - "Total number of variables............................: 9\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 4\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 9\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 2.36e-07 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 2.84e-14 1.05e-08 -1.0 9.07e-03 - 9.90e-01 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 1\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 2.8421709430404007e-14 2.8421709430404007e-14\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.8421709430404007e-14 2.8421709430404007e-14\n", - "\n", - "\n", - "Number of objective function evaluations = 2\n", - "Number of objective gradient evaluations = 2\n", - "Number of equality constraint evaluations = 2\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 2\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 1\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.008\n", - "Total CPU secs in NLP function evaluations = 0.002\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\b\b\b\b\b\b\b\b\b\b\b\b\b\b" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Solve the simulation using ipopt\n", "# Note: If the degrees of freedom = 0, we have a square problem\n", @@ -337,7 +239,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -357,19 +259,9 @@ }, { "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "_pressure_outlet_ref : Size=1, Index=fs._time, ReferenceTo=fs.turbine_case_1.control_volume.properties_out[...].component('pressure')\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " 0.0 : 1.0000000000000002e-06 : 140000.0 : 1100000000.0 : False : False : PositiveReals\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Display Outlet pressure\n", "m.fs.turbine_case_1.outlet.pressure.display()" @@ -377,40 +269,9 @@ }, { "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.turbine_case_1 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.90000 : dimensionless : True : (None, None)\n", - " Mechanical Work : -19597. : watt : False : (None, None)\n", - " Pressure Change : -10000. : pascal : True : (None, None)\n", - " Pressure Ratio : 0.93333 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Molar Flow mole / second 100.00 100.00\n", - " Mass Flow kilogram / second 1.8015 1.8015\n", - " T kelvin 390.00 384.28\n", - " P pascal 1.5000e+05 1.4000e+05\n", - " Vapor Fraction dimensionless 1.0000 1.0000\n", - " Molar Enthalpy joule / mole 48727. 48531.\n", - "====================================================================================\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Display a readable report\n", "m.fs.turbine_case_1.report()" @@ -432,17 +293,9 @@ }, { "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The initial DOF is 5\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Create an instance of another turbine unit, attaching it to the flowsheet\n", "# Specify that the property package to be used with the turbine is the one we created earlier.\n", @@ -462,7 +315,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -487,17 +340,9 @@ }, { "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The final DOF is 0\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Fix turbine pressure ratio\n", "m.fs.turbine_case_2.ratioP.fix(14 / 15)\n", @@ -519,17 +364,9 @@ }, { "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-11-02 10:24:38 [INFO] idaes.init.fs.turbine_case_2: Initialization Complete: optimal - Optimal Solution Found\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Initialize the flowsheet, and set the output at INFO\n", "m.fs.turbine_case_2.initialize(outlvl=idaeslog.INFO)" @@ -544,84 +381,9 @@ }, { "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: \n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 18\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 8\n", - "\n", - "Total number of variables............................: 9\n", - " variables with only lower bounds: 0\n", - " variables with lower and upper bounds: 4\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 9\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 2.36e-07 0.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 2.84e-14 1.05e-08 -1.0 9.07e-03 - 9.90e-01 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 1\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 2.8421709430404007e-14 2.8421709430404007e-14\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.8421709430404007e-14 2.8421709430404007e-14\n", - "\n", - "\n", - "Number of objective function evaluations = 2\n", - "Number of objective gradient evaluations = 2\n", - "Number of equality constraint evaluations = 2\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 2\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 1\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.009\n", - "Total CPU secs in NLP function evaluations = 0.001\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\b\b\b\b\b\b\b\b\b\b\b\b\b\b" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Solve the simulation using ipopt\n", "# Note: If the degrees of freedom = 0, we have a square problem\n", @@ -638,20 +400,9 @@ }, { "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "pressure : Pressure\n", - " Size=1, Index=None, Units=Pa\n", - " Key : Lower : Value : Upper : Fixed : Stale : Domain\n", - " None : 1.0000000000000002e-06 : 140000.0 : 1100000000.0 : False : False : PositiveReals\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Display turbine pressure decrease\n", "m.fs.turbine_case_2.outlet.pressure[0].display()" @@ -659,40 +410,9 @@ }, { "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.turbine_case_2 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.90000 : dimensionless : True : (None, None)\n", - " Mechanical Work : -19597. : watt : False : (None, None)\n", - " Pressure Change : -10000. : pascal : False : (None, None)\n", - " Pressure Ratio : 0.93333 : dimensionless : True : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Molar Flow mole / second 100.00 100.00\n", - " Mass Flow kilogram / second 1.8015 1.8015\n", - " T kelvin 390.00 384.28\n", - " P pascal 1.5000e+05 1.4000e+05\n", - " Vapor Fraction dimensionless 1.0000 1.0000\n", - " Molar Enthalpy joule / mole 48727. 48531.\n", - "====================================================================================\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Display a readable report\n", "m.fs.turbine_case_2.report()" @@ -716,9 +436,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.9.12" } }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/operations/turbine_test.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/turbine_test.ipynb index d3fff7d0..3ff7dcca 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/turbine_test.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/turbine_test.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -549,4 +550,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/operations/turbine_usr.ipynb b/idaes_examples/notebooks/docs/unit_models/operations/turbine_usr.ipynb index bcebdfef..a7cd873e 100644 --- a/idaes_examples/notebooks/docs/unit_models/operations/turbine_usr.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/operations/turbine_usr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -440,4 +441,4 @@ }, "nbformat": 4, "nbformat_minor": 3 -} +} \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/reactors/cstr.ipynb b/idaes_examples/notebooks/docs/unit_models/reactors/cstr.ipynb index 0d0fc742..a6606783 100644 --- a/idaes_examples/notebooks/docs/unit_models/reactors/cstr.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/reactors/cstr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/unit_models/reactors/cstr_doc.ipynb b/idaes_examples/notebooks/docs/unit_models/reactors/cstr_doc.ipynb index 891c3495..a85e16ff 100644 --- a/idaes_examples/notebooks/docs/unit_models/reactors/cstr_doc.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/reactors/cstr_doc.ipynb @@ -1,723 +1,724 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "# Flowsheet Continuous Stirred Tank Reactor (CSTR) Simulation and Optimization of Ethylene Glycol Production\n", - "Author: Brandon Paul \n", - "Maintainer: Brandon Paul \n", - "Updated: 2023-06-01 \n", - "\n", - "\n", - "## Learning Outcomes\n", - "\n", - "\n", - "- Call and implement the IDAES CSTR unit model\n", - "- Construct a steady-state flowsheet using the IDAES unit model library\n", - "- Connecting unit models in a flowsheet using Arcs\n", - "- Fomulate and solve an optimization problem\n", - " - Defining an objective function\n", - " - Setting variable bounds\n", - " - Adding additional constraints \n", - "\n", - "\n", - "## Problem Statement\n", - "\n", - "This example is adapted from Fogler, H.S., Elements of Chemical Reaction Engineering 5th ed., 2016, Prentice Hall, p. 157-160.\n", - "\n", - "Ethylene glycol (EG) is a high-demand chemical, with billions of pounds produced every year for applications such as vehicle anti-freeze. EG may be readily obtained from the hydrolysis of ethylene oxide in the presence of a catalytic intermediate. In this example, an aqueous solution of ethylene oxide hydrolizes after mixing with an aqueous solution of sulfuric acid catalyst:\n", - "\n", - "**C2H4O + H2O + H2SO4 \u2192 C2H6O2 + H2SO4**\n", - "\n", - "This reaction often occurs by two mechanisms, as the catalyst may bind to either reactant before the final hydrolysis step; we will simplify the reaction to a single step for this example.\n", - "\n", - "The flowsheet that we will be using for this module is shown below with the stream conditions. We will be processing ethylene oxide and catalyst solutions of fixed concentrations to produce 200 MM lb/year of EG. As shown in the flowsheet, the process consists of a mixer M101 for the two inlet streams, a heater H101 to preheat the feed to the reaction temperature, and a CSTR unit R101 with an external cooling system to remove heat generated by the exothermic reaction. We will assume ideal solutions and thermodynamics for this flowsheet, as well as well-mixed liquid behavior (no vapor phase) in the reactor. The properties required for this module are available in the same directory:\n", - "\n", - "- egprod_ideal.py\n", - "- egprod_reaction.py\n", - "\n", - "The state variables chosen for the property package are **molar flows of each component by phase in each stream, temperature of each stream and pressure of each stream**. The components considered are: **ethylene oxide, water, sulfuric acid and ethylene glycol** and the process occurs in liquid phase only. Therefore, every stream has 4 flow variables, 1 temperature and 1 pressure variable. \n", - "\n", - "![](egprod_flowsheet.png)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing Required Pyomo and IDAES components\n", - "\n", - "\n", - "To construct a flowsheet, we will need several components from the Pyomo and IDAES packages. Let us first import the following components from Pyomo:\n", - "- Constraint (to write constraints)\n", - "- Var (to declare variables)\n", - "- ConcreteModel (to create the concrete model object)\n", - "- Expression (to evaluate values as a function of variables defined in the model)\n", - "- Objective (to define an objective function for optimization)\n", - "- TransformationFactory (to apply certain transformations)\n", - "- Arc (to connect two unit models)\n", - "\n", - "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/stable/\n", - "\n", - "From idaes, we will be needing the `FlowsheetBlock` and the following unit models:\n", - "- Mixer\n", - "- Heater\n", - "- CSTR\n", - "\n", - "We will also be needing some utility tools to put together the flowsheet and calculate the degrees of freedom, tools for model expressions and calling variable values, and built-in functions to define property packages, add unit containers to objects and define our initialization scheme.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.environ import (\n", - " Constraint,\n", - " Var,\n", - " ConcreteModel,\n", - " Expression,\n", - " Objective,\n", - " TransformationFactory,\n", - " value,\n", - " units as pyunits,\n", - ")\n", - "from pyomo.network import Arc\n", - "\n", - "from idaes.core import FlowsheetBlock\n", - "from idaes.models.properties.modular_properties import (\n", - " GenericParameterBlock,\n", - " GenericReactionParameterBlock,\n", - ")\n", - "from idaes.models.unit_models import Feed, Mixer, Heater, CSTR, Product\n", - "\n", - "from idaes.core.solvers import get_solver\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.util.initialization import propagate_state" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing Required Thermophysical and Reaction Packages\n", - "\n", - "The final step is to import the thermophysical and reaction packages. We have created a custom thermophysical package that support ideal vapor and liquid behavior for this system, and in this case we will restrict it to ideal liquid behavior only.\n", - "\n", - "The reaction package here assumes Arrhenius kinetic behavior for the CSTR, for which $k_0$ and $E_a$ are known *a priori* (if unknown, they may be obtained using one of the parameter estimation tools within IDAES).\n", - "\n", - "$ r = -kVC_{EO} $, $ k = k_0 e^{(-E_a/RT)}$, with the variables as follows:\n", - "\n", - "$r$ - reaction rate extent in moles of ethylene oxide consumed per second; note that the traditional reaction rate would be given by $rate = r/V$ in moles per $m^3$ per second \n", - "$k$ - reaction rate constant per second \n", - "$V$ - volume of CSTR in $m^3$, note that this is *liquid volume* and not the *total volume* of the reactor itself \n", - "$C_{EO}$ - bulk concentration of ethylene oxide in moles per $m^3$ (the limiting reagent, since we assume excess catalyst and water) \n", - "$k_0$ - pre-exponential Arrhenius factor per second \n", - "$E_a$ - reaction activation energy in kJ per mole of ethylene oxide consumed \n", - "$R$ - gas constant in J/mol-K \n", - "$T$ - reactor temperature in K\n", - "\n", - "These calculations are contained within the property, reaction and unit model packages, and do not need to be entered into the flowsheet. More information on property estimation may be found in the IDAES documentation on [Parameter Estimation](https://idaes-pse.readthedocs.io/en/stable/how_to_guides/workflow/data_rec_parmest.html).\n", - "\n", - "ParamEst parameter estimation: \n", - "\n", - "Let us import the following modules from the same directory as this Jupyter notebook:\n", - "- egprod_ideal as thermo_props\n", - "- egprod_reaction as reaction_props" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import egprod_ideal as thermo_props\n", - "import egprod_reaction as reaction_props" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Constructing the Flowsheet\n", - "\n", - "We have now imported all the components, unit models, and property modules we need to construct a flowsheet. Let us create a `ConcreteModel` and add the flowsheet block. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m = ConcreteModel()\n", - "m.fs = FlowsheetBlock(dynamic=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We now need to add the property packages to the flowsheet. Unlike the basic [Flash unit model example](http://localhost:8888/notebooks/GitHub/examples-pse/src/Tutorials/Basics/flash_unit_solution_testing_doc.md), where we only had a thermophysical property package, for this flowsheet we will also need to add a reaction property package. We will use the [Modular Property Framework](https://idaes-pse.readthedocs.io/en/stable/explanations/components/property_package/index.html#generic-property-package-framework) and [Modular Reaction Framework](https://idaes-pse.readthedocs.io/en/stable/explanations/components/property_package/index.html#generic-reaction-package-framework). The get_prop method for the natural gas property module automatically returns the correct dictionary using a component list argument. The GenericParameterBlock and GenericReactionParameterBlock methods build states blocks from passed parameter data; the reaction block unpacks using **reaction_props.config_dict to allow for optional or empty keyword arguments:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "m.fs.thermo_params = GenericParameterBlock(**thermo_props.config_dict)\n", - "m.fs.reaction_params = GenericReactionParameterBlock(\n", - " property_package=m.fs.thermo_params, **reaction_props.config_dict\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding Unit Models\n", - "\n", - "Let us start adding the unit models we have imported to the flowsheet. Here, we are adding a `Mixer`, a `Heater` and a `CSTR`. Note that all unit models need to be given a property package argument. In addition to that, there are several arguments depending on the unit model, please refer to the documentation for more details on [IDAES Unit Models](https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/index.html). For example, the `Mixer` is given a `list` consisting of names to the two inlets." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "m.fs.OXIDE = Feed(property_package=m.fs.thermo_params)\n", - "m.fs.ACID = Feed(property_package=m.fs.thermo_params)\n", - "m.fs.PROD = Product(property_package=m.fs.thermo_params)\n", - "m.fs.M101 = Mixer(\n", - " property_package=m.fs.thermo_params, inlet_list=[\"reagent_feed\", \"catalyst_feed\"]\n", - ")\n", - "m.fs.H101 = Heater(\n", - " property_package=m.fs.thermo_params,\n", - " has_pressure_change=False,\n", - " has_phase_equilibrium=False,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.R101 = CSTR(\n", - " property_package=m.fs.thermo_params,\n", - " reaction_package=m.fs.reaction_params,\n", - " has_heat_of_reaction=True,\n", - " has_heat_transfer=True,\n", - " has_pressure_change=False,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Connecting Unit Models Using Arcs\n", - "\n", - "We have now added all the unit models we need to the flowsheet. However, we have not yet specified how the units are to be connected. To do this, we will be using the `Arc` which is a pyomo component that takes in two arguments: `source` and `destination`. Let us connect the outlet of the `Mixer` to the inlet of the `Heater`, and the outlet of the `Heater` to the inlet of the `CSTR`. Additionally, we will connect the `Feed` and `Product` blocks to the flowsheet:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.s01 = Arc(source=m.fs.OXIDE.outlet, destination=m.fs.M101.reagent_feed)\n", - "m.fs.s02 = Arc(source=m.fs.ACID.outlet, destination=m.fs.M101.catalyst_feed)\n", - "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.H101.inlet)\n", - "m.fs.s04 = Arc(source=m.fs.H101.outlet, destination=m.fs.R101.inlet)\n", - "m.fs.s05 = Arc(source=m.fs.R101.outlet, destination=m.fs.PROD.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We have now connected the unit model block using the arcs. However, we also need to link the state variables on connected ports. Pyomo provides a convenient method `TransformationFactory` to write these equality constraints for us between two ports:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "TransformationFactory(\"network.expand_arcs\").apply_to(m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding Expressions to Compute Operating Costs\n", - "\n", - "In this section, we will add a few Expressions that allows us to evaluate the performance. `Expressions` provide a convenient way of calculating certain values that are a function of the variables defined in the model. For more details on `Expressions`, please refer to the [Pyomo Expression documentation]( https://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html).\n", - "\n", - "For this flowsheet, we are interested in computing ethylene glycol production in millions of pounds per year, as well as the total costs due to cooling and heating utilities." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us first add an `Expression` to convert the product flow from mol/s to MM lb/year of ethylene glycol. We see that the molecular weight exists in the thermophysical property package, so we may use that value for our calculations." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.eg_prod = Expression(\n", - " expr=pyunits.convert(\n", - " m.fs.PROD.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", - " * m.fs.thermo_params.ethylene_glycol.mw, # MW defined in properties as kg/mol\n", - " to_units=pyunits.Mlb / pyunits.yr,\n", - " )\n", - ") # converting kg/s to MM lb/year" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, let us add expressions to compute the reactor cooling cost (\\\\$/s) assuming a cost of 2.12E-5 \\\\$/kW, and the heating utility cost (\\\\$/s) assuming 2.2E-4 \\\\$/kW. Note that the heat duty is in units of watt (J/s). The total operating cost will be the sum of the two, expressed in \\\\$/year assuming 8000 operating hours per year (~10\\% downtime, which is fairly common for small scale chemical plants):" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.cooling_cost = Expression(\n", - " expr=2.12e-8 * (-m.fs.R101.heat_duty[0])\n", - ") # the reaction is exothermic, so R101 duty is negative\n", - "m.fs.heating_cost = Expression(\n", - " expr=2.2e-7 * m.fs.H101.heat_duty[0]\n", - ") # the stream must be heated to T_rxn, so H101 duty is positive\n", - "m.fs.operating_cost = Expression(\n", - " expr=(3600 * 8000 * (m.fs.heating_cost + m.fs.cooling_cost))\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Fixing Feed Conditions\n", - "\n", - "Let us first check how many degrees of freedom exist for this flowsheet using the `degrees_of_freedom` tool we imported earlier. We expect each stream to have 6 degrees of freedom, the mixer to have 0 (after both streams are accounted for), the heater to have 1 (just the duty, since the inlet is also the outlet of M101), and the reactor to have 1 (duty or conversion, since the inlet is also the outlet of H101). In this case, the reactor has an extra degree of freedom (reactor conversion or reactor volume) since we have not yet defined the CSTR performance equation. Therefore, we have 15 degrees of freedom to specify: temperature, pressure and flow of all four components on both streams; outlet heater temperature; reactor conversion and volume." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will now be fixing the feed stream to the conditions shown in the flowsheet above. As mentioned in other tutorials, the IDAES framework expects a time index value for every referenced internal stream or unit variable, even in steady-state systems with a single time point $ t = 0 $ (`t = [0]` is the default when creating a `FlowsheetBlock` without passing a `time_set` argument). The non-present components in each stream are assigned a very small non-zero value to help with convergence and initializing. Based on stoichiometric ratios for the reaction, 80% conversion and 200 MM lb/year (46.4 mol/s) of ethylene glycol, we will initialize our simulation with the following calculated values:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"].fix(\n", - " 58.0 * pyunits.mol / pyunits.s\n", - ")\n", - "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].fix(\n", - " 39.6 * pyunits.mol / pyunits.s\n", - ") # calculated from 16.1 mol EO / cudm in stream\n", - "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"sulfuric_acid\"].fix(\n", - " 1e-5 * pyunits.mol / pyunits.s\n", - ")\n", - "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].fix(\n", - " 1e-5 * pyunits.mol / pyunits.s\n", - ")\n", - "m.fs.OXIDE.outlet.temperature.fix(298.15 * pyunits.K)\n", - "m.fs.OXIDE.outlet.pressure.fix(1e5 * pyunits.Pa)\n", - "\n", - "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"].fix(\n", - " 1e-5 * pyunits.mol / pyunits.s\n", - ")\n", - "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].fix(\n", - " 200 * pyunits.mol / pyunits.s\n", - ")\n", - "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"sulfuric_acid\"].fix(\n", - " 0.334 * pyunits.mol / pyunits.s\n", - ") # calculated from 0.9 wt% SA in stream\n", - "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].fix(\n", - " 1e-5 * pyunits.mol / pyunits.s\n", - ")\n", - "m.fs.ACID.outlet.temperature.fix(298.15 * pyunits.K)\n", - "m.fs.ACID.outlet.pressure.fix(1e5 * pyunits.Pa)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Fixing Unit Model Specifications\n", - "\n", - "Now that we have fixed our inlet feed conditions, we will now be fixing the operating conditions for the unit models in the flowsheet. Let us fix the outlet temperature of H101 to 328.15 K. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.H101.outlet.temperature.fix(328.15 * pyunits.K)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We'll add constraints defining the reactor volume and conversion in relation to the stream properties. Particularly, we want to use our CSTR performance relation: \n", - "\n", - "$V = \\frac{v_0 X} {k(1-X)}$, where the `CSTR` reaction volume $V$ will be specified, the inlet volumetric flow $v_0$ is determined by stream properties, $k$ is calculated by the reaction package, and $X$ will be calculated. Reactor volume is commonly selected as a specification in simulation problems, and choosing conversion is often to perform reactor design.\n", - "\n", - "For the `CSTR`, we have to define the conversion in terms of ethylene oxide as well as the `CSTR` reaction volume. This requires us to create new variables and constraints relating reactor properties to stream properties. Note that the `CSTR` reaction volume variable (m.fs.R101.volume) does not need to be defined here since it is internally defined by the `CSTR` model. Additionally, the heat duty is not fixed, since the heat of reaction depends on the reactor conversion (through the extent of reaction and heat of reaction). We'll estimate 80% conversion for our initial flowsheet:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.R101.conversion = Var(\n", - " initialize=0.80, bounds=(0, 1), units=pyunits.dimensionless\n", - ") # fraction\n", - "\n", - "m.fs.R101.conv_constraint = Constraint(\n", - " expr=m.fs.R101.conversion\n", - " * m.fs.R101.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"]\n", - " == (\n", - " m.fs.R101.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"]\n", - " - m.fs.R101.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"]\n", - " )\n", - ")\n", - "\n", - "m.fs.R101.conversion.fix(0.80)\n", - "\n", - "m.fs.R101.volume.fix(5.538 * pyunits.m**3)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For initialization, we solve a square problem (degrees of freedom = 0). Let's check the degrees of freedom below:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finally, we need to initialize the each unit operation in sequence to solve the flowsheet. As in best practice, unit operations are initialized or solved, and outlet properties are propagated to connected inlet streams via arc definitions as follows:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Initialize and solve each unit operation\n", - "m.fs.OXIDE.initialize()\n", - "propagate_state(arc=m.fs.s01)\n", - "\n", - "m.fs.ACID.initialize()\n", - "propagate_state(arc=m.fs.s01)\n", - "\n", - "m.fs.M101.initialize()\n", - "propagate_state(arc=m.fs.s03)\n", - "\n", - "m.fs.H101.initialize()\n", - "propagate_state(arc=m.fs.s04)\n", - "\n", - "m.fs.R101.initialize()\n", - "propagate_state(arc=m.fs.s05)\n", - "\n", - "m.fs.PROD.initialize()\n", - "\n", - "# set solver\n", - "solver = get_solver()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Solve the model\n", - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Analyze the Results of the Square Problem\n", - "\n", - "\n", - "What is the total operating cost? " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.6f} million per year\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For this operating cost, what conversion did we achieve of ethylene oxide to ethylene glycol? " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.R101.report()\n", - "\n", - "print()\n", - "print(f\"Conversion achieved = {value(m.fs.R101.conversion):.1%}\")\n", - "print()\n", - "print(\n", - " f\"Assuming a 20% design factor for reactor volume,\"\n", - " f\"total CSTR volume required = {value(1.2*m.fs.R101.volume[0]):0.6f}\"\n", - " f\" m^3 = {value(pyunits.convert(1.2*m.fs.R101.volume[0], to_units=pyunits.gal)):0.6f} gal\"\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Optimizing Ethylene Glycol Production\n", - "\n", - "Now that the flowsheet has been squared and solved, we can run a small optimization problem to minimize our production costs. Suppose we require at least 200 million pounds/year of ethylene glycol produced and 90% conversion of ethylene oxide, allowing for variable reactor volume (considering operating/non-capital costs only) and reactor temperature (heater outlet)." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us declare our objective function for this problem. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.objective = Objective(expr=m.fs.operating_cost)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, we need to add the design constraints and unfix the decision variables as we had solved a square problem (degrees of freedom = 0) until now, as well as set bounds for the design variables:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.eg_prod_con = Constraint(\n", - " expr=m.fs.eg_prod >= 200 * pyunits.Mlb / pyunits.yr\n", - ") # MM lb/year\n", - "m.fs.R101.conversion.fix(0.90)\n", - "\n", - "m.fs.R101.volume.unfix()\n", - "m.fs.R101.volume.setlb(0 * pyunits.m**3)\n", - "m.fs.R101.volume.setub(pyunits.convert(5000 * pyunits.gal, to_units=pyunits.m**3))\n", - "\n", - "m.fs.H101.outlet.temperature.unfix()\n", - "m.fs.H101.outlet.temperature[0].setlb(328.15 * pyunits.K)\n", - "m.fs.H101.outlet.temperature[0].setub(\n", - " 470.45 * pyunits.K\n", - ") # highest component boiling point (ethylene glycol)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "We have now defined the optimization problem and we are now ready to solve this problem. \n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.6f} million per year\")\n", - "\n", - "print()\n", - "print(\"Heater results\")\n", - "\n", - "m.fs.H101.report()\n", - "\n", - "print()\n", - "print(\"CSTR reactor results\")\n", - "\n", - "m.fs.R101.report()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Display optimal values for the decision variables and design variables:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(\"Optimal Values\")\n", - "print()\n", - "\n", - "print(f\"H101 outlet temperature = {value(m.fs.H101.outlet.temperature[0]):0.6f} K\")\n", - "\n", - "print()\n", - "print(\n", - " f\"Assuming a 20% design factor for reactor volume,\"\n", - " f\"total CSTR volume required = {value(1.2*m.fs.R101.volume[0]):0.6f}\"\n", - " f\" m^3 = {value(pyunits.convert(1.2*m.fs.R101.volume[0], to_units=pyunits.gal)):0.6f} gal\"\n", - ")\n", - "\n", - "print()\n", - "print(f\"Ethylene glycol produced = {value(m.fs.eg_prod):0.6f} MM lb/year\")\n", - "\n", - "print()\n", - "print(f\"Conversion achieved = {value(m.fs.R101.conversion):.1%}\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.18" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "# Flowsheet Continuous Stirred Tank Reactor (CSTR) Simulation and Optimization of Ethylene Glycol Production\n", + "Author: Brandon Paul \n", + "Maintainer: Brandon Paul \n", + "Updated: 2023-06-01 \n", + "\n", + "\n", + "## Learning Outcomes\n", + "\n", + "\n", + "- Call and implement the IDAES CSTR unit model\n", + "- Construct a steady-state flowsheet using the IDAES unit model library\n", + "- Connecting unit models in a flowsheet using Arcs\n", + "- Fomulate and solve an optimization problem\n", + " - Defining an objective function\n", + " - Setting variable bounds\n", + " - Adding additional constraints \n", + "\n", + "\n", + "## Problem Statement\n", + "\n", + "This example is adapted from Fogler, H.S., Elements of Chemical Reaction Engineering 5th ed., 2016, Prentice Hall, p. 157-160.\n", + "\n", + "Ethylene glycol (EG) is a high-demand chemical, with billions of pounds produced every year for applications such as vehicle anti-freeze. EG may be readily obtained from the hydrolysis of ethylene oxide in the presence of a catalytic intermediate. In this example, an aqueous solution of ethylene oxide hydrolizes after mixing with an aqueous solution of sulfuric acid catalyst:\n", + "\n", + "**C2H4O + H2O + H2SO4 → C2H6O2 + H2SO4**\n", + "\n", + "This reaction often occurs by two mechanisms, as the catalyst may bind to either reactant before the final hydrolysis step; we will simplify the reaction to a single step for this example.\n", + "\n", + "The flowsheet that we will be using for this module is shown below with the stream conditions. We will be processing ethylene oxide and catalyst solutions of fixed concentrations to produce 200 MM lb/year of EG. As shown in the flowsheet, the process consists of a mixer M101 for the two inlet streams, a heater H101 to preheat the feed to the reaction temperature, and a CSTR unit R101 with an external cooling system to remove heat generated by the exothermic reaction. We will assume ideal solutions and thermodynamics for this flowsheet, as well as well-mixed liquid behavior (no vapor phase) in the reactor. The properties required for this module are available in the same directory:\n", + "\n", + "- egprod_ideal.py\n", + "- egprod_reaction.py\n", + "\n", + "The state variables chosen for the property package are **molar flows of each component by phase in each stream, temperature of each stream and pressure of each stream**. The components considered are: **ethylene oxide, water, sulfuric acid and ethylene glycol** and the process occurs in liquid phase only. Therefore, every stream has 4 flow variables, 1 temperature and 1 pressure variable. \n", + "\n", + "![](egprod_flowsheet.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing Required Pyomo and IDAES components\n", + "\n", + "\n", + "To construct a flowsheet, we will need several components from the Pyomo and IDAES packages. Let us first import the following components from Pyomo:\n", + "- Constraint (to write constraints)\n", + "- Var (to declare variables)\n", + "- ConcreteModel (to create the concrete model object)\n", + "- Expression (to evaluate values as a function of variables defined in the model)\n", + "- Objective (to define an objective function for optimization)\n", + "- TransformationFactory (to apply certain transformations)\n", + "- Arc (to connect two unit models)\n", + "\n", + "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/stable/\n", + "\n", + "From idaes, we will be needing the `FlowsheetBlock` and the following unit models:\n", + "- Mixer\n", + "- Heater\n", + "- CSTR\n", + "\n", + "We will also be needing some utility tools to put together the flowsheet and calculate the degrees of freedom, tools for model expressions and calling variable values, and built-in functions to define property packages, add unit containers to objects and define our initialization scheme.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import (\n", + " Constraint,\n", + " Var,\n", + " ConcreteModel,\n", + " Expression,\n", + " Objective,\n", + " TransformationFactory,\n", + " value,\n", + " units as pyunits,\n", + ")\n", + "from pyomo.network import Arc\n", + "\n", + "from idaes.core import FlowsheetBlock\n", + "from idaes.models.properties.modular_properties import (\n", + " GenericParameterBlock,\n", + " GenericReactionParameterBlock,\n", + ")\n", + "from idaes.models.unit_models import Feed, Mixer, Heater, CSTR, Product\n", + "\n", + "from idaes.core.solvers import get_solver\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.core.util.initialization import propagate_state" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing Required Thermophysical and Reaction Packages\n", + "\n", + "The final step is to import the thermophysical and reaction packages. We have created a custom thermophysical package that support ideal vapor and liquid behavior for this system, and in this case we will restrict it to ideal liquid behavior only.\n", + "\n", + "The reaction package here assumes Arrhenius kinetic behavior for the CSTR, for which $k_0$ and $E_a$ are known *a priori* (if unknown, they may be obtained using one of the parameter estimation tools within IDAES).\n", + "\n", + "$ r = -kVC_{EO} $, $ k = k_0 e^{(-E_a/RT)}$, with the variables as follows:\n", + "\n", + "$r$ - reaction rate extent in moles of ethylene oxide consumed per second; note that the traditional reaction rate would be given by $rate = r/V$ in moles per $m^3$ per second \n", + "$k$ - reaction rate constant per second \n", + "$V$ - volume of CSTR in $m^3$, note that this is *liquid volume* and not the *total volume* of the reactor itself \n", + "$C_{EO}$ - bulk concentration of ethylene oxide in moles per $m^3$ (the limiting reagent, since we assume excess catalyst and water) \n", + "$k_0$ - pre-exponential Arrhenius factor per second \n", + "$E_a$ - reaction activation energy in kJ per mole of ethylene oxide consumed \n", + "$R$ - gas constant in J/mol-K \n", + "$T$ - reactor temperature in K\n", + "\n", + "These calculations are contained within the property, reaction and unit model packages, and do not need to be entered into the flowsheet. More information on property estimation may be found in the IDAES documentation on [Parameter Estimation](https://idaes-pse.readthedocs.io/en/stable/how_to_guides/workflow/data_rec_parmest.html).\n", + "\n", + "ParamEst parameter estimation: \n", + "\n", + "Let us import the following modules from the same directory as this Jupyter notebook:\n", + "- egprod_ideal as thermo_props\n", + "- egprod_reaction as reaction_props" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import egprod_ideal as thermo_props\n", + "import egprod_reaction as reaction_props" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Constructing the Flowsheet\n", + "\n", + "We have now imported all the components, unit models, and property modules we need to construct a flowsheet. Let us create a `ConcreteModel` and add the flowsheet block. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m = ConcreteModel()\n", + "m.fs = FlowsheetBlock(dynamic=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now need to add the property packages to the flowsheet. Unlike the basic [Flash unit model example](http://localhost:8888/notebooks/GitHub/examples-pse/src/Tutorials/Basics/flash_unit_solution_testing_doc.md), where we only had a thermophysical property package, for this flowsheet we will also need to add a reaction property package. We will use the [Modular Property Framework](https://idaes-pse.readthedocs.io/en/stable/explanations/components/property_package/index.html#generic-property-package-framework) and [Modular Reaction Framework](https://idaes-pse.readthedocs.io/en/stable/explanations/components/property_package/index.html#generic-reaction-package-framework). The get_prop method for the natural gas property module automatically returns the correct dictionary using a component list argument. The GenericParameterBlock and GenericReactionParameterBlock methods build states blocks from passed parameter data; the reaction block unpacks using **reaction_props.config_dict to allow for optional or empty keyword arguments:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "m.fs.thermo_params = GenericParameterBlock(**thermo_props.config_dict)\n", + "m.fs.reaction_params = GenericReactionParameterBlock(\n", + " property_package=m.fs.thermo_params, **reaction_props.config_dict\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding Unit Models\n", + "\n", + "Let us start adding the unit models we have imported to the flowsheet. Here, we are adding a `Mixer`, a `Heater` and a `CSTR`. Note that all unit models need to be given a property package argument. In addition to that, there are several arguments depending on the unit model, please refer to the documentation for more details on [IDAES Unit Models](https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/index.html). For example, the `Mixer` is given a `list` consisting of names to the two inlets." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "m.fs.OXIDE = Feed(property_package=m.fs.thermo_params)\n", + "m.fs.ACID = Feed(property_package=m.fs.thermo_params)\n", + "m.fs.PROD = Product(property_package=m.fs.thermo_params)\n", + "m.fs.M101 = Mixer(\n", + " property_package=m.fs.thermo_params, inlet_list=[\"reagent_feed\", \"catalyst_feed\"]\n", + ")\n", + "m.fs.H101 = Heater(\n", + " property_package=m.fs.thermo_params,\n", + " has_pressure_change=False,\n", + " has_phase_equilibrium=False,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.R101 = CSTR(\n", + " property_package=m.fs.thermo_params,\n", + " reaction_package=m.fs.reaction_params,\n", + " has_heat_of_reaction=True,\n", + " has_heat_transfer=True,\n", + " has_pressure_change=False,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Connecting Unit Models Using Arcs\n", + "\n", + "We have now added all the unit models we need to the flowsheet. However, we have not yet specified how the units are to be connected. To do this, we will be using the `Arc` which is a pyomo component that takes in two arguments: `source` and `destination`. Let us connect the outlet of the `Mixer` to the inlet of the `Heater`, and the outlet of the `Heater` to the inlet of the `CSTR`. Additionally, we will connect the `Feed` and `Product` blocks to the flowsheet:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.s01 = Arc(source=m.fs.OXIDE.outlet, destination=m.fs.M101.reagent_feed)\n", + "m.fs.s02 = Arc(source=m.fs.ACID.outlet, destination=m.fs.M101.catalyst_feed)\n", + "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.H101.inlet)\n", + "m.fs.s04 = Arc(source=m.fs.H101.outlet, destination=m.fs.R101.inlet)\n", + "m.fs.s05 = Arc(source=m.fs.R101.outlet, destination=m.fs.PROD.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We have now connected the unit model block using the arcs. However, we also need to link the state variables on connected ports. Pyomo provides a convenient method `TransformationFactory` to write these equality constraints for us between two ports:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "TransformationFactory(\"network.expand_arcs\").apply_to(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding Expressions to Compute Operating Costs\n", + "\n", + "In this section, we will add a few Expressions that allows us to evaluate the performance. `Expressions` provide a convenient way of calculating certain values that are a function of the variables defined in the model. For more details on `Expressions`, please refer to the [Pyomo Expression documentation]( https://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html).\n", + "\n", + "For this flowsheet, we are interested in computing ethylene glycol production in millions of pounds per year, as well as the total costs due to cooling and heating utilities." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us first add an `Expression` to convert the product flow from mol/s to MM lb/year of ethylene glycol. We see that the molecular weight exists in the thermophysical property package, so we may use that value for our calculations." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.eg_prod = Expression(\n", + " expr=pyunits.convert(\n", + " m.fs.PROD.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", + " * m.fs.thermo_params.ethylene_glycol.mw, # MW defined in properties as kg/mol\n", + " to_units=pyunits.Mlb / pyunits.yr,\n", + " )\n", + ") # converting kg/s to MM lb/year" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, let us add expressions to compute the reactor cooling cost (\\\\$/s) assuming a cost of 2.12E-5 \\\\$/kW, and the heating utility cost (\\\\$/s) assuming 2.2E-4 \\\\$/kW. Note that the heat duty is in units of watt (J/s). The total operating cost will be the sum of the two, expressed in \\\\$/year assuming 8000 operating hours per year (~10\\% downtime, which is fairly common for small scale chemical plants):" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.cooling_cost = Expression(\n", + " expr=2.12e-8 * (-m.fs.R101.heat_duty[0])\n", + ") # the reaction is exothermic, so R101 duty is negative\n", + "m.fs.heating_cost = Expression(\n", + " expr=2.2e-7 * m.fs.H101.heat_duty[0]\n", + ") # the stream must be heated to T_rxn, so H101 duty is positive\n", + "m.fs.operating_cost = Expression(\n", + " expr=(3600 * 8000 * (m.fs.heating_cost + m.fs.cooling_cost))\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fixing Feed Conditions\n", + "\n", + "Let us first check how many degrees of freedom exist for this flowsheet using the `degrees_of_freedom` tool we imported earlier. We expect each stream to have 6 degrees of freedom, the mixer to have 0 (after both streams are accounted for), the heater to have 1 (just the duty, since the inlet is also the outlet of M101), and the reactor to have 1 (duty or conversion, since the inlet is also the outlet of H101). In this case, the reactor has an extra degree of freedom (reactor conversion or reactor volume) since we have not yet defined the CSTR performance equation. Therefore, we have 15 degrees of freedom to specify: temperature, pressure and flow of all four components on both streams; outlet heater temperature; reactor conversion and volume." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now be fixing the feed stream to the conditions shown in the flowsheet above. As mentioned in other tutorials, the IDAES framework expects a time index value for every referenced internal stream or unit variable, even in steady-state systems with a single time point $ t = 0 $ (`t = [0]` is the default when creating a `FlowsheetBlock` without passing a `time_set` argument). The non-present components in each stream are assigned a very small non-zero value to help with convergence and initializing. Based on stoichiometric ratios for the reaction, 80% conversion and 200 MM lb/year (46.4 mol/s) of ethylene glycol, we will initialize our simulation with the following calculated values:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"].fix(\n", + " 58.0 * pyunits.mol / pyunits.s\n", + ")\n", + "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].fix(\n", + " 39.6 * pyunits.mol / pyunits.s\n", + ") # calculated from 16.1 mol EO / cudm in stream\n", + "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"sulfuric_acid\"].fix(\n", + " 1e-5 * pyunits.mol / pyunits.s\n", + ")\n", + "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].fix(\n", + " 1e-5 * pyunits.mol / pyunits.s\n", + ")\n", + "m.fs.OXIDE.outlet.temperature.fix(298.15 * pyunits.K)\n", + "m.fs.OXIDE.outlet.pressure.fix(1e5 * pyunits.Pa)\n", + "\n", + "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"].fix(\n", + " 1e-5 * pyunits.mol / pyunits.s\n", + ")\n", + "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].fix(\n", + " 200 * pyunits.mol / pyunits.s\n", + ")\n", + "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"sulfuric_acid\"].fix(\n", + " 0.334 * pyunits.mol / pyunits.s\n", + ") # calculated from 0.9 wt% SA in stream\n", + "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].fix(\n", + " 1e-5 * pyunits.mol / pyunits.s\n", + ")\n", + "m.fs.ACID.outlet.temperature.fix(298.15 * pyunits.K)\n", + "m.fs.ACID.outlet.pressure.fix(1e5 * pyunits.Pa)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fixing Unit Model Specifications\n", + "\n", + "Now that we have fixed our inlet feed conditions, we will now be fixing the operating conditions for the unit models in the flowsheet. Let us fix the outlet temperature of H101 to 328.15 K. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.H101.outlet.temperature.fix(328.15 * pyunits.K)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We'll add constraints defining the reactor volume and conversion in relation to the stream properties. Particularly, we want to use our CSTR performance relation: \n", + "\n", + "$V = \\frac{v_0 X} {k(1-X)}$, where the `CSTR` reaction volume $V$ will be specified, the inlet volumetric flow $v_0$ is determined by stream properties, $k$ is calculated by the reaction package, and $X$ will be calculated. Reactor volume is commonly selected as a specification in simulation problems, and choosing conversion is often to perform reactor design.\n", + "\n", + "For the `CSTR`, we have to define the conversion in terms of ethylene oxide as well as the `CSTR` reaction volume. This requires us to create new variables and constraints relating reactor properties to stream properties. Note that the `CSTR` reaction volume variable (m.fs.R101.volume) does not need to be defined here since it is internally defined by the `CSTR` model. Additionally, the heat duty is not fixed, since the heat of reaction depends on the reactor conversion (through the extent of reaction and heat of reaction). We'll estimate 80% conversion for our initial flowsheet:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.R101.conversion = Var(\n", + " initialize=0.80, bounds=(0, 1), units=pyunits.dimensionless\n", + ") # fraction\n", + "\n", + "m.fs.R101.conv_constraint = Constraint(\n", + " expr=m.fs.R101.conversion\n", + " * m.fs.R101.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"]\n", + " == (\n", + " m.fs.R101.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"]\n", + " - m.fs.R101.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"]\n", + " )\n", + ")\n", + "\n", + "m.fs.R101.conversion.fix(0.80)\n", + "\n", + "m.fs.R101.volume.fix(5.538 * pyunits.m**3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For initialization, we solve a square problem (degrees of freedom = 0). Let's check the degrees of freedom below:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, we need to initialize the each unit operation in sequence to solve the flowsheet. As in best practice, unit operations are initialized or solved, and outlet properties are propagated to connected inlet streams via arc definitions as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Initialize and solve each unit operation\n", + "m.fs.OXIDE.initialize()\n", + "propagate_state(arc=m.fs.s01)\n", + "\n", + "m.fs.ACID.initialize()\n", + "propagate_state(arc=m.fs.s01)\n", + "\n", + "m.fs.M101.initialize()\n", + "propagate_state(arc=m.fs.s03)\n", + "\n", + "m.fs.H101.initialize()\n", + "propagate_state(arc=m.fs.s04)\n", + "\n", + "m.fs.R101.initialize()\n", + "propagate_state(arc=m.fs.s05)\n", + "\n", + "m.fs.PROD.initialize()\n", + "\n", + "# set solver\n", + "solver = get_solver()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Solve the model\n", + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Analyze the Results of the Square Problem\n", + "\n", + "\n", + "What is the total operating cost? " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.6f} million per year\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For this operating cost, what conversion did we achieve of ethylene oxide to ethylene glycol? " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.R101.report()\n", + "\n", + "print()\n", + "print(f\"Conversion achieved = {value(m.fs.R101.conversion):.1%}\")\n", + "print()\n", + "print(\n", + " f\"Assuming a 20% design factor for reactor volume,\"\n", + " f\"total CSTR volume required = {value(1.2*m.fs.R101.volume[0]):0.6f}\"\n", + " f\" m^3 = {value(pyunits.convert(1.2*m.fs.R101.volume[0], to_units=pyunits.gal)):0.6f} gal\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Optimizing Ethylene Glycol Production\n", + "\n", + "Now that the flowsheet has been squared and solved, we can run a small optimization problem to minimize our production costs. Suppose we require at least 200 million pounds/year of ethylene glycol produced and 90% conversion of ethylene oxide, allowing for variable reactor volume (considering operating/non-capital costs only) and reactor temperature (heater outlet)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us declare our objective function for this problem. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.objective = Objective(expr=m.fs.operating_cost)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, we need to add the design constraints and unfix the decision variables as we had solved a square problem (degrees of freedom = 0) until now, as well as set bounds for the design variables:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.eg_prod_con = Constraint(\n", + " expr=m.fs.eg_prod >= 200 * pyunits.Mlb / pyunits.yr\n", + ") # MM lb/year\n", + "m.fs.R101.conversion.fix(0.90)\n", + "\n", + "m.fs.R101.volume.unfix()\n", + "m.fs.R101.volume.setlb(0 * pyunits.m**3)\n", + "m.fs.R101.volume.setub(pyunits.convert(5000 * pyunits.gal, to_units=pyunits.m**3))\n", + "\n", + "m.fs.H101.outlet.temperature.unfix()\n", + "m.fs.H101.outlet.temperature[0].setlb(328.15 * pyunits.K)\n", + "m.fs.H101.outlet.temperature[0].setub(\n", + " 470.45 * pyunits.K\n", + ") # highest component boiling point (ethylene glycol)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "We have now defined the optimization problem and we are now ready to solve this problem. \n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.6f} million per year\")\n", + "\n", + "print()\n", + "print(\"Heater results\")\n", + "\n", + "m.fs.H101.report()\n", + "\n", + "print()\n", + "print(\"CSTR reactor results\")\n", + "\n", + "m.fs.R101.report()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Display optimal values for the decision variables and design variables:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Optimal Values\")\n", + "print()\n", + "\n", + "print(f\"H101 outlet temperature = {value(m.fs.H101.outlet.temperature[0]):0.6f} K\")\n", + "\n", + "print()\n", + "print(\n", + " f\"Assuming a 20% design factor for reactor volume,\"\n", + " f\"total CSTR volume required = {value(1.2*m.fs.R101.volume[0]):0.6f}\"\n", + " f\" m^3 = {value(pyunits.convert(1.2*m.fs.R101.volume[0], to_units=pyunits.gal)):0.6f} gal\"\n", + ")\n", + "\n", + "print()\n", + "print(f\"Ethylene glycol produced = {value(m.fs.eg_prod):0.6f} MM lb/year\")\n", + "\n", + "print()\n", + "print(f\"Conversion achieved = {value(m.fs.R101.conversion):.1%}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.18" + } + }, + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/reactors/cstr_test.ipynb b/idaes_examples/notebooks/docs/unit_models/reactors/cstr_test.ipynb index a77d3809..6c6b7cb0 100644 --- a/idaes_examples/notebooks/docs/unit_models/reactors/cstr_test.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/reactors/cstr_test.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/unit_models/reactors/cstr_usr.ipynb b/idaes_examples/notebooks/docs/unit_models/reactors/cstr_usr.ipynb index 946169b9..fb9b0cbe 100644 --- a/idaes_examples/notebooks/docs/unit_models/reactors/cstr_usr.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/reactors/cstr_usr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/unit_models/reactors/egprod_ideal.py b/idaes_examples/notebooks/docs/unit_models/reactors/egprod_ideal.py index 1c18b1fc..402be7c0 100644 --- a/idaes_examples/notebooks/docs/unit_models/reactors/egprod_ideal.py +++ b/idaes_examples/notebooks/docs/unit_models/reactors/egprod_ideal.py @@ -3,12 +3,13 @@ # Framework (IDAES IP) was produced under the DOE Institute for the # Design of Advanced Energy Systems (IDAES). # -# Copyright (c) 2018-2023 by the software owners: The Regents of the +# Copyright (c) 2018-2025 by the software owners: The Regents of the # University of California, through Lawrence Berkeley National Laboratory, # National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon # University, West Virginia University Research Corporation, et al. # All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md # for full copyright and license information. +# ################################################################################# """ Phase equilibrium package for Ethylene Oxide hydrolysis to Ethylene Glycol diff --git a/idaes_examples/notebooks/docs/unit_models/reactors/egprod_reaction.py b/idaes_examples/notebooks/docs/unit_models/reactors/egprod_reaction.py index 47e15c10..208ff30c 100644 --- a/idaes_examples/notebooks/docs/unit_models/reactors/egprod_reaction.py +++ b/idaes_examples/notebooks/docs/unit_models/reactors/egprod_reaction.py @@ -3,12 +3,13 @@ # Framework (IDAES IP) was produced under the DOE Institute for the # Design of Advanced Energy Systems (IDAES). # -# Copyright (c) 2018-2023 by the software owners: The Regents of the +# Copyright (c) 2018-2025 by the software owners: The Regents of the # University of California, through Lawrence Berkeley National Laboratory, # National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon # University, West Virginia University Research Corporation, et al. # All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md # for full copyright and license information. +# ################################################################################# """ Phase equilibrium package for Ethylene Oxide hydrolysis to Ethylene Glycol diff --git a/idaes_examples/notebooks/docs/unit_models/reactors/equilibrium_reactor.ipynb b/idaes_examples/notebooks/docs/unit_models/reactors/equilibrium_reactor.ipynb index e8b02ceb..06e3f97b 100644 --- a/idaes_examples/notebooks/docs/unit_models/reactors/equilibrium_reactor.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/reactors/equilibrium_reactor.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/unit_models/reactors/equilibrium_reactor_doc.ipynb b/idaes_examples/notebooks/docs/unit_models/reactors/equilibrium_reactor_doc.ipynb index bafa95cf..0cc71210 100644 --- a/idaes_examples/notebooks/docs/unit_models/reactors/equilibrium_reactor_doc.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/reactors/equilibrium_reactor_doc.ipynb @@ -1,1098 +1,736 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "# Flowsheet Equilibrium Reactor Simulation and Optimization of Steam Methane Reforming\n", - "Maintainer: Brandon Paul \n", - "Author: Brandon Paul \n", - "Updated: 2023-06-01 \n", - "\n", - "\n", - "## Learning Outcomes\n", - "\n", - "\n", - "- Call and implement the IDAES EquilibriumReactor unit model\n", - "- Construct a steady-state flowsheet using the IDAES unit model library\n", - "- Connecting unit models in a flowsheet using Arcs\n", - "- Fomulate and solve an optimization problem\n", - " - Defining an objective function\n", - " - Setting variable bounds\n", - " - Adding additional constraints \n", - "\n", - "\n", - "## Problem Statement\n", - "\n", - "This example is adapted from S.Z. Abbas, V. Dupont, T. Mahmud, Kinetics study and modelling of steam methane reforming process over a NiO/Al2O3 catalyst in an adiabatic packed bed reactor. Int. J. Hydrogen Energy, 42 (2017), pp. 2889-2903\n", - "\n", - "Steam methane reforming (SMR) is one of the most common pathways for hydrogen production, taking advantage of chemical equilibria in natural gas systems. The process is typically done in two steps: methane reformation at a high temperature to partially oxidize methane, and water gas shift at a low temperature to complete the oxidation reaction:\n", - "\n", - "**CH4 + H2O \u2192 CO + 3H2** \n", - "**CO + H2O \u2192 CO2 + H2**\n", - "\n", - "This reaction is often carried out in two separate reactors to allow for different reaction temperatures and pressures; in this example, we will minimize operating cost for a single reactor.\n", - "\n", - "The flowsheet that we will be using for this module is shown below with the stream conditions. We will be processing natural gas and steam feeds of fixed composition to produce hydrogen. As shown in the flowsheet, the process consists of a mixer M101 for the two inlet streams, a compressor to compress the feed to the reaction pressure, a heater H101 to heat the feed to the reaction temperature, and a EquilibriumReactor unit R101. We will use thermodynamic properties from the Peng-Robinson equation of state for this flowsheet.\n", - "\n", - "The state variables chosen for the property package are **total molar flows of each stream, temperature of each stream and pressure of each stream, and mole fractions of each component in each stream**. The components considered are: **CH4, H2O, CO, CO2, and H2** and the process occurs in vapor phase only. Therefore, every stream has 1 flow variable, 5 mole fraction variables, 1 temperature and 1 pressure variable. \n", - "\n", - "![](msr_flowsheet.png)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing Required Pyomo and IDAES Components\n", - "\n", - "\n", - "To construct a flowsheet, we will need several components from the Pyomo and IDAES packages. Let us first import the following components from Pyomo:\n", - "- Constraint (to write constraints)\n", - "- Var (to declare variables)\n", - "- ConcreteModel (to create the concrete model object)\n", - "- Expression (to evaluate values as a function of variables defined in the model)\n", - "- Objective (to define an objective function for optimization)\n", - "- TransformationFactory (to apply certain transformations)\n", - "- Arc (to connect two unit models)\n", - "\n", - "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/stable/\n", - "\n", - "From IDAES, we will be needing the `FlowsheetBlock` and the following unit models:\n", - "- Feed\n", - "- Mixer\n", - "- Compressor\n", - "- Heater\n", - "- EquilibriumReactor\n", - "- Product\n", - "\n", - "We will also be needing some utility tools to put together the flowsheet and calculate the degrees of freedom, tools for model expressions and calling variable values, and built-in functions to define property packages, add unit containers to objects and define our initialization scheme.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.environ import (\n", - " Constraint,\n", - " Var,\n", - " ConcreteModel,\n", - " Expression,\n", - " Objective,\n", - " TransformationFactory,\n", - " value,\n", - " units as pyunits,\n", - ")\n", - "from pyomo.network import Arc\n", - "\n", - "from idaes.core import FlowsheetBlock\n", - "from idaes.models.properties.modular_properties.base.generic_property import (\n", - " GenericParameterBlock,\n", - ")\n", - "from idaes.models.properties.modular_properties.base.generic_reaction import (\n", - " GenericReactionParameterBlock,\n", - ")\n", - "from idaes.models.unit_models import (\n", - " Feed,\n", - " Mixer,\n", - " Compressor,\n", - " Heater,\n", - " EquilibriumReactor,\n", - " Product,\n", - ")\n", - "\n", - "from idaes.core.solvers import get_solver\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.util.initialization import propagate_state" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing Required Thermophysical and Reaction Packages\n", - "\n", - "The final step is to import the thermophysical and reaction packages. We will import natural gas properties from an existing IDAES module, and reaction properties from a custom module to describe equilibrium behavior. These configuration dictionaries provide parameter data that we will pass to the Modular Property Framework.\n", - "\n", - "The reaction package here assumes all reactions reach chemical equilibrium at the given conditions. \n", - "\n", - "${K_{eq}^{MSR}} = \\exp\\left(\\frac {-26830} {T} + 30.114\\right)$, ${K_{eq}^{WGS}} = \\exp\\left(\\frac {4400} {T} - 4.036\\right)$ with the reactor temperature $T$ in K. \n", - "The total reaction equilibrium constant is given by $K_{eq} = {K_{eq}^{MSR}}{K_{eq}^{WGS}}$.\n", - "\n", - "The correlations are taken from the following literature: \n", - "\n", - "Int. J. Hydrogen Energy, 42 (2017), pp. 2889-2903\n", - "\n", - "### Determining $k_{eq}^{ref}$\n", - "\n", - "As part of the parameter dictionary, users may define equilibrium reactions using a constant coefficient or built-in correlations for van't Hoff and Gibbs formulations. Using the literature correlations above for $k_{eq}$, we can easily calculate the necessary parameters to use the van't Hoff equilibrium constant form:\n", - "\n", - "For an empirical correlation $ln(k_{eq}) = f(T)$ for a catalyst (reaction) temperature $T$, we obtain $k_{eq}^{ref} = \\exp\\left({f(T_{eq}^{ref})}\\right)$. From the paper, we obtain a reference catalyst temperature of 973.15 K and reaction energies for the two reaction steps; these values exist in the reaction property parameter module in this same directory.\n", - "\n", - "These calculations are contained within the property, reaction and unit model packages, and do not need to be entered into the flowsheet. More information on property estimation may be found in the IDAES documentation on [Parameter Estimation](https://idaes-pse.readthedocs.io/en/stable/how_to_guides/workflow/data_rec_parmest.html).\n", - "\n", - "Let us import the following modules:\n", - "- natural_gas_PR as get_prop (method to get configuration dictionary)\n", - "- msr_reaction as reaction_props (contains configuration dictionary)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.models_extra.power_generation.properties.natural_gas_PR import get_prop\n", - "import msr_reaction as reaction_props" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Constructing the Flowsheet\n", - "\n", - "We have now imported all the components, unit models, and property modules we need to construct a flowsheet. Let us create a `ConcreteModel` and add the flowsheet block. " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "m = ConcreteModel()\n", - "m.fs = FlowsheetBlock(dynamic=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We now need to add the property packages to the flowsheet. Unlike the basic [Flash unit model example](http://localhost:8888/notebooks/GitHub/examples-pse/src/Tutorials/Basics/flash_unit_solution_testing_doc.md), where we only had a thermophysical property package, for this flowsheet we will also need to add a reaction property package. We will use the [Modular Property Framework](https://idaes-pse.readthedocs.io/en/stable/explanations/components/property_package/index.html#generic-property-package-framework) and [Modular Reaction Framework](https://idaes-pse.readthedocs.io/en/stable/explanations/components/property_package/index.html#generic-reaction-package-framework). The `get_prop` method for the natural gas property module automatically returns the correct dictionary using a component list argument. The `GenericParameterBlock` and `GenericReactionParameterBlock` methods build states blocks from passed parameter data; the reaction block unpacks using `**reaction_props.config_dict` to allow for optional or empty keyword arguments:" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "thermo_props_config_dict = get_prop(components=[\"CH4\", \"H2O\", \"H2\", \"CO\", \"CO2\"])\n", - "m.fs.thermo_params = GenericParameterBlock(**thermo_props_config_dict)\n", - "m.fs.reaction_params = GenericReactionParameterBlock(\n", - " property_package=m.fs.thermo_params, **reaction_props.config_dict\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding Unit Models\n", - "\n", - "Let us start adding the unit models we have imported to the flowsheet. Here, we are adding a `Mixer`, a `Compressor`, a `Heater` and an `EquilibriumReactor`. Note that all unit models should be explicitly defined with a given property package. In addition to that, there are several arguments depending on the unit model, please refer to the documentation for more details on [IDAES Unit Models](https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/index.html). For example, the `Mixer` is given a `list` consisting of names to the two inlets. Note that the `Compressor` is a `PressureChanger` assuming compression operation and with a fixed isentropic compressor efficiency as the default thermodynamic behavior." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "m.fs.CH4 = Feed(property_package=m.fs.thermo_params)\n", - "m.fs.H2O = Feed(property_package=m.fs.thermo_params)\n", - "m.fs.PROD = Product(property_package=m.fs.thermo_params)\n", - "m.fs.M101 = Mixer(\n", - " property_package=m.fs.thermo_params, inlet_list=[\"methane_feed\", \"steam_feed\"]\n", - ")\n", - "m.fs.H101 = Heater(\n", - " property_package=m.fs.thermo_params,\n", - " has_pressure_change=False,\n", - " has_phase_equilibrium=False,\n", - ")\n", - "m.fs.C101 = Compressor(property_package=m.fs.thermo_params)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.R101 = EquilibriumReactor(\n", - " property_package=m.fs.thermo_params,\n", - " reaction_package=m.fs.reaction_params,\n", - " has_equilibrium_reactions=True,\n", - " has_rate_reactions=False,\n", - " has_heat_of_reaction=True,\n", - " has_heat_transfer=True,\n", - " has_pressure_change=False,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Connecting Unit Models Using Arcs\n", - "\n", - "We have now added all the unit models we need to the flowsheet. However, we have not yet specified how the units are to be connected. To do this, we will be using the `Arc` which is a Pyomo component that takes in two arguments: `source` and `destination`. Let us connect the outlet of the `Mixer` to the inlet of the `Compressor`, the outlet of the compressor `Compressor` to the inlet of the `Heater`, and the outlet of the `Heater` to the inlet of the `EquilibriumReactor`. Additionally, we will connect the `Feed` and `Product` blocks to the flowsheet:" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.s01 = Arc(source=m.fs.CH4.outlet, destination=m.fs.M101.methane_feed)\n", - "m.fs.s02 = Arc(source=m.fs.H2O.outlet, destination=m.fs.M101.steam_feed)\n", - "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.C101.inlet)\n", - "m.fs.s04 = Arc(source=m.fs.C101.outlet, destination=m.fs.H101.inlet)\n", - "m.fs.s05 = Arc(source=m.fs.H101.outlet, destination=m.fs.R101.inlet)\n", - "m.fs.s06 = Arc(source=m.fs.R101.outlet, destination=m.fs.PROD.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We have now connected the unit model block using the arcs. However, we also need to link the state variables on connected ports. Pyomo provides a convenient method `TransformationFactory` to write these equality constraints for us between two ports:" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "TransformationFactory(\"network.expand_arcs\").apply_to(m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding Expressions to Compute Operating Costs\n", - "\n", - "In this section, we will add a few `Expressions` that allow us to evaluate the performance. `Expressions` provide a convenient way of calculating certain values that are a function of the variables defined in the model. For more details on `Expressions`, please refer to the [Pyomo Expression documentation](https://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html).\n", - "\n", - "For this flowsheet, we are interested in computing hydrogen production in millions of pounds per year, as well as the total costs due to pressurizing, cooling, and heating utilities.\n", - "\n", - "Let us first add an `Expression` to convert the product flow from mol/s to MM lb/year of hydrogen. We see that the molecular weight exists in the thermophysical property package, so we may use that value for our calculations." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.hyd_prod = Expression(\n", - " expr=pyunits.convert(\n", - " m.fs.PROD.inlet.flow_mol[0]\n", - " * m.fs.PROD.inlet.mole_frac_comp[0, \"H2\"]\n", - " * m.fs.thermo_params.H2.mw, # MW defined in properties as kg/mol\n", - " to_units=pyunits.Mlb / pyunits.yr,\n", - " )\n", - ") # converting kg/s to MM lb/year" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, let us add expressions to compute the reactor cooling cost (\\\\$/s) assuming a cost of 2.12E-5 \\\\$/kW, the compression cost (\\\\$/s) assuming 1.2E-3 \\\\$/kW, and the heating utility cost (\\\\$/s) assuming 2.2E-4 \\\\$/kW. Note that the heat duty is in units of Watt (J/s). The total operating cost will be the sum of the costs, expressed in \\\\$/year assuming 8000 operating hours per year (~10\\% downtime, which is fairly common for small scale chemical plants):" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.cooling_cost = Expression(\n", - " expr=2.12e-8 * (m.fs.R101.heat_duty[0])\n", - ") # the reaction is endothermic, so R101 duty is positive\n", - "m.fs.heating_cost = Expression(\n", - " expr=2.2e-7 * m.fs.H101.heat_duty[0]\n", - ") # the stream must be heated to T_rxn, so H101 duty is positive\n", - "m.fs.compression_cost = Expression(\n", - " expr=1.2e-6 * m.fs.C101.work_isentropic[0]\n", - ") # the stream must be pressurized, so the C101 work is positive\n", - "m.fs.operating_cost = Expression(\n", - " expr=(3600 * 8000 * (m.fs.heating_cost + m.fs.cooling_cost + m.fs.compression_cost))\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Fixing Feed Conditions\n", - "\n", - "Let us first check how many degrees of freedom exist for this flowsheet using the `degrees_of_freedom` tool we imported earlier. We expect each stream to have 8 degrees of freedom, the mixer to have 0 (after both streams are accounted for), the compressor to have 2 (the pressure change and efficiency), the heater to have 1 (just the duty, since the inlet is also the outlet of M101), and the reactor to have 1 (conversion). Therefore, we have 20 degrees of freedom to specify: temperature, pressure, flow and mole fractions of all five components on both streams; compressor pressure change and efficiency; outlet heater temperature; and reactor conversion.\n", - "\n", - "Although the model has eight degrees of freedom per stream, the mole fractions are not all independent and the physical system only has seven. Each `StateBlock` sets a flag `defined_state` based on any remaining degrees of freedom; if this flag is set to `False` a `Constraint` is written to ensure all mole fractions sum to one. However, a fully specified system with `defined_state` set to `True` will not create this constraint and it is the responsibility of the user to set physically meaningful values, i.e. that all mole fractions are nonnegative and sum to one. While not necessary in this example, the [Custom Thermophysical Property Package Example](http://localhost:8888/notebooks/GitHub/examples-pse/src/Examples/Advanced/CustomProperties/custom_physical_property_packages_testing_doc.md) demonstrates adding a check before writing an additional constraint that may overspecify the system." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "20\n" - ] - } - ], - "source": [ - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will now be fixing the feed stream to the conditions shown in the flowsheet above. As mentioned in other tutorials, the IDAES framework expects a time index value for every referenced internal stream or unit variable, even in steady-state systems with a single time point $ t = 0 $ (`t = [0]` is the default when creating a `FlowsheetBlock` without passing a `time_set` argument). The non-present components in each stream are assigned a very small non-zero value to help with convergence and initializing. Based on the literature source, we will initialize our simulation with the following values:" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.CH4.outlet.mole_frac_comp[0, \"CH4\"].fix(1)\n", - "m.fs.CH4.outlet.mole_frac_comp[0, \"H2O\"].fix(1e-5)\n", - "m.fs.CH4.outlet.mole_frac_comp[0, \"H2\"].fix(1e-5)\n", - "m.fs.CH4.outlet.mole_frac_comp[0, \"CO\"].fix(1e-5)\n", - "m.fs.CH4.outlet.mole_frac_comp[0, \"CO2\"].fix(1e-5)\n", - "m.fs.CH4.outlet.flow_mol.fix(75 * pyunits.mol / pyunits.s)\n", - "m.fs.CH4.outlet.temperature.fix(298.15 * pyunits.K)\n", - "m.fs.CH4.outlet.pressure.fix(1e5 * pyunits.Pa)\n", - "\n", - "m.fs.H2O.outlet.mole_frac_comp[0, \"CH4\"].fix(1e-5)\n", - "m.fs.H2O.outlet.mole_frac_comp[0, \"H2O\"].fix(1)\n", - "m.fs.H2O.outlet.mole_frac_comp[0, \"H2\"].fix(1e-5)\n", - "m.fs.H2O.outlet.mole_frac_comp[0, \"CO\"].fix(1e-5)\n", - "m.fs.H2O.outlet.mole_frac_comp[0, \"CO2\"].fix(1e-5)\n", - "m.fs.H2O.outlet.flow_mol.fix(234 * pyunits.mol / pyunits.s)\n", - "m.fs.H2O.outlet.temperature.fix(373.15 * pyunits.K)\n", - "m.fs.H2O.outlet.pressure.fix(1e5 * pyunits.Pa)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Fixing Unit Model Specifications\n", - "\n", - "Now that we have fixed our inlet feed conditions, we will now be fixing the operating conditions for the unit models in the flowsheet. For the initial problem, let us fix the compressor outlet pressure to 2 bar for now, the efficiency to 0.90 (a common assumption for compressor units), and the heater outlet temperature to 500 K. We will unfix these values later to optimize the flowsheet." - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.C101.outlet.pressure.fix(pyunits.convert(2 * pyunits.bar, to_units=pyunits.Pa))\n", - "m.fs.C101.efficiency_isentropic.fix(0.90)\n", - "m.fs.H101.outlet.temperature.fix(500 * pyunits.K)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The `EquilibriumReactor` unit model calculates the amount of product and reactant based on the calculated equilibrium constant; therefore, we will specify a desired conversion and let the solver determine the reactor duty and heat transfer. For convenience, we will define the reactor conversion as the amount of methane that is converted." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.R101.conversion = Var(\n", - " initialize=0.80, bounds=(0, 1), units=pyunits.dimensionless\n", - ") # fraction\n", - "\n", - "m.fs.R101.conv_constraint = Constraint(\n", - " expr=m.fs.R101.conversion\n", - " * m.fs.R101.inlet.flow_mol[0]\n", - " * m.fs.R101.inlet.mole_frac_comp[0, \"CH4\"]\n", - " == (\n", - " m.fs.R101.inlet.flow_mol[0] * m.fs.R101.inlet.mole_frac_comp[0, \"CH4\"]\n", - " - m.fs.R101.outlet.flow_mol[0] * m.fs.R101.outlet.mole_frac_comp[0, \"CH4\"]\n", - " )\n", - ")\n", - "\n", - "m.fs.R101.conversion.fix(0.80)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For initialization, we solve a square problem (degrees of freedom = 0). Let's check the degrees of freedom below:" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0\n" - ] - } - ], - "source": [ - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finally, we need to initialize each unit operation in sequence to solve the flowsheet. As in best practice, unit operations are initialized or solved, and outlet properties are propagated to connected inlet streams via arc definitions as follows:" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-05-23 06:08:03 [INFO] idaes.init.fs.CH4.properties: Starting initialization\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.CH4.properties: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.CH4.properties: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.CH4: Initialization Complete.\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.H2O.properties: Starting initialization\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.H2O.properties: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.H2O.properties: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.H2O: Initialization Complete.\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.M101.methane_feed_state: Starting initialization\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.M101.methane_feed_state: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.M101.steam_feed_state: Starting initialization\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.M101.steam_feed_state: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.M101.mixed_state: Starting initialization\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.M101.mixed_state: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.M101.mixed_state: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.C101.control_volume.properties_in: Starting initialization\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.C101.control_volume.properties_in: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.C101.control_volume.properties_out: Starting initialization\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.C101.control_volume.properties_out: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.C101.control_volume.properties_out: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.C101.properties_isentropic: Starting initialization\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.C101.properties_isentropic: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.C101.properties_isentropic: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.C101: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.H101.control_volume.properties_in: Starting initialization\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.H101.control_volume.properties_in: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.H101.control_volume.properties_out: Starting initialization\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.H101.control_volume.properties_out: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.H101.control_volume: Initialization Complete\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.H101: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.R101.control_volume.properties_in: Starting initialization\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.R101.control_volume.properties_in: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.R101.control_volume.properties_out: Starting initialization\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.R101.control_volume.properties_out: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.R101.control_volume.reactions: Initialization Complete.\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.R101.control_volume: Initialization Complete\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.R101: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.PROD.properties: Starting initialization\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.PROD.properties: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.PROD.properties: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.PROD: Initialization Complete.\n" - ] - } - ], - "source": [ - "# Initialize and solve each unit operation\n", - "m.fs.CH4.initialize()\n", - "propagate_state(arc=m.fs.s01)\n", - "\n", - "m.fs.H2O.initialize()\n", - "propagate_state(arc=m.fs.s02)\n", - "\n", - "m.fs.M101.initialize()\n", - "propagate_state(arc=m.fs.s03)\n", - "\n", - "m.fs.C101.initialize()\n", - "propagate_state(arc=m.fs.s04)\n", - "\n", - "m.fs.H101.initialize()\n", - "propagate_state(arc=m.fs.s05)\n", - "\n", - "m.fs.R101.initialize()\n", - "propagate_state(arc=m.fs.s06)\n", - "\n", - "m.fs.PROD.initialize()\n", - "\n", - "# set solver\n", - "solver = get_solver()" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 562\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 477\n", - "\n", - "Total number of variables............................: 204\n", - " variables with only lower bounds: 13\n", - " variables with lower and upper bounds: 174\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 204\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 1.49e+06 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 1.35e+04 2.00e-01 -1.0 3.59e+00 - 9.90e-01 9.91e-01h 1\n", - " 2 0.0000000e+00 3.59e-04 9.99e+00 -1.0 3.56e+00 - 9.90e-01 1.00e+00h 1\n", - " 3 0.0000000e+00 2.12e-08 8.98e+01 -1.0 2.91e-04 - 9.90e-01 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 2.8421709430404007e-14 2.1187588572502136e-08\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.8421709430404007e-14 2.1187588572502136e-08\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.003\n", - "Total CPU secs in NLP function evaluations = 0.001\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], - "source": [ - "# Solve the model\n", - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Analyze the Results of the Square Problem\n", - "\n", - "\n", - "What is the total operating cost? " - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "operating cost = $45.933 million per year\n" - ] - } - ], - "source": [ - "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.3f} million per year\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For this operating cost, what conversion did we achieve of methane to hydrogen?" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.R101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 2.7605e+07 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Total Molar Flowrate mole / second 309.01 429.02\n", - " Total Mole Fraction CH4 dimensionless 0.24272 0.034965\n", - " Total Mole Fraction H2O dimensionless 0.75725 0.31487\n", - " Total Mole Fraction H2 dimensionless 9.9996e-06 0.51029\n", - " Total Mole Fraction CO dimensionless 9.9996e-06 0.049157\n", - " Total Mole Fraction CO2 dimensionless 9.9996e-06 0.090717\n", - " Temperature kelvin 500.00 868.56\n", - " Pressure pascal 2.0000e+05 2.0000e+05\n", - "====================================================================================\n", - "\n", - "Conversion achieved = 80.0%\n" - ] - } - ], - "source": [ - "m.fs.R101.report()\n", - "\n", - "print()\n", - "print(f\"Conversion achieved = {value(m.fs.R101.conversion):.1%}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Optimizing Hydrogen Production\n", - "\n", - "Now that the flowsheet has been squared and solved, we can run a small optimization problem to determine optimal conditions for producing hydrogen. Suppose we wish to find ideal conditions for the competing reactions. As mentioned earlier, the two reactions have competing equilibria - steam methane reformation occurs more readily at higher temperatures (500-700 C) while water gas shift occurs more readily at lower temperatures (300-400 C). We will allow for variable reactor temperature and pressure by freeing our heater and compressor specifications, and minimize cost to achieve 90% methane conversion. Since we assume an isentopic compressor, allowing compression will heat our feed stream and reduce or eliminate the required heater duty." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us declare our objective function for this problem. " - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.objective = Objective(expr=m.fs.operating_cost)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, we need to add the design constraints and unfix the decision variables as we had solved a square problem until now, as well as set bounds for the design variables (reactor outlet temperature is set by state variable bounds in property package):" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.R101.conversion.fix(0.90)\n", - "\n", - "m.fs.C101.outlet.pressure.unfix()\n", - "m.fs.C101.outlet.pressure[0].setlb(\n", - " pyunits.convert(2 * pyunits.bar, to_units=pyunits.Pa)\n", - ") # pressurize to at least 2 bar\n", - "m.fs.C101.outlet.pressure[0].setub(\n", - " pyunits.convert(10 * pyunits.bar, to_units=pyunits.Pa)\n", - ") # at most, pressurize to 10 bar\n", - "\n", - "m.fs.H101.outlet.temperature.unfix()\n", - "m.fs.H101.heat_duty[0].setlb(\n", - " 0 * pyunits.J / pyunits.s\n", - ") # outlet temperature is equal to or greater than inlet temperature\n", - "m.fs.H101.outlet.temperature[0].setub(1000 * pyunits.K) # at most, heat to 1000 K" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "We have now defined the optimization problem and we are now ready to solve this problem. \n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 569\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 493\n", - "\n", - "Total number of variables............................: 206\n", - " variables with only lower bounds: 14\n", - " variables with lower and upper bounds: 176\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 204\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 4.5933014e+07 1.49e+06 3.46e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 4.5420427e+07 1.49e+06 1.33e+03 -1.0 1.08e+07 - 4.58e-01 5.96e-03f 1\n", - " 2 4.2830345e+07 8.68e+05 6.47e+06 -1.0 5.32e+06 - 8.03e-01 4.18e-01f 1\n", - " 3 4.3111576e+07 1.26e+05 1.06e+07 -1.0 2.54e+06 - 9.54e-01 8.85e-01h 1\n", - " 4 4.3307552e+07 2.24e+03 3.12e+05 -1.0 3.51e+05 - 9.89e-01 9.86e-01h 1\n", - " 5 4.3309118e+07 2.20e+01 3.08e+03 -1.0 2.69e+03 - 9.90e-01 9.90e-01h 1\n", - " 6 4.3309131e+07 5.77e-06 3.84e+01 -1.0 2.31e+01 - 9.92e-01 1.00e+00h 1\n", - " 7 4.3309131e+07 7.77e-09 4.84e-07 -2.5 1.97e-02 - 1.00e+00 1.00e+00f 1\n", - " 8 4.3309131e+07 1.63e-08 1.71e-06 -3.8 5.56e-04 - 1.00e+00 1.00e+00f 1\n", - " 9 4.3309131e+07 1.72e-08 1.31e-06 -5.7 3.08e-05 - 1.00e+00 1.00e+00f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 4.3309131e+07 2.20e-08 8.55e-07 -7.0 3.59e-07 - 1.00e+00 1.00e+00f 1\n", - "\n", - "Number of Iterations....: 10\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 4.3309130854568794e+07 4.3309130854568794e+07\n", - "Dual infeasibility......: 8.5488594337511447e-07 8.5488594337511447e-07\n", - "Constraint violation....: 1.4551915228366852e-11 2.2002495825290680e-08\n", - "Complementarity.........: 9.0909090913936433e-08 9.0909090913936433e-08\n", - "Overall NLP error.......: 9.0909090913936433e-08 8.5488594337511447e-07\n", - "\n", - "\n", - "Number of objective function evaluations = 11\n", - "Number of objective gradient evaluations = 11\n", - "Number of equality constraint evaluations = 11\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 11\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 10\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.008\n", - "Total CPU secs in NLP function evaluations = 0.003\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], - "source": [ - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "operating cost = $43.309 million per year\n", - "\n", - "Compressor results\n", - "\n", - "====================================================================================\n", - "Unit : fs.C101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.90000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 7.5471e+05 : watt : False : (None, None)\n", - " Pressure Change : 1.0000e+05 : pascal : False : (None, None)\n", - " Pressure Ratio : 2.0000 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Total Molar Flowrate mole / second 309.01 309.01\n", - " Total Mole Fraction CH4 dimensionless 0.24272 0.24272\n", - " Total Mole Fraction H2O dimensionless 0.75725 0.75725\n", - " Total Mole Fraction H2 dimensionless 9.9996e-06 9.9996e-06\n", - " Total Mole Fraction CO dimensionless 9.9996e-06 9.9996e-06\n", - " Total Mole Fraction CO2 dimensionless 9.9996e-06 9.9996e-06\n", - " Temperature kelvin 353.80 423.34\n", - " Pressure pascal 1.0000e+05 2.0000e+05\n", - "====================================================================================\n", - "\n", - "Heater results\n", - "\n", - "====================================================================================\n", - "Unit : fs.H101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 5.8781e-09 : watt : False : (0.0, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Total Molar Flowrate mole / second 309.01 309.01\n", - " Total Mole Fraction CH4 dimensionless 0.24272 0.24272\n", - " Total Mole Fraction H2O dimensionless 0.75725 0.75725\n", - " Total Mole Fraction H2 dimensionless 9.9996e-06 9.9996e-06\n", - " Total Mole Fraction CO dimensionless 9.9996e-06 9.9996e-06\n", - " Total Mole Fraction CO2 dimensionless 9.9996e-06 9.9996e-06\n", - " Temperature kelvin 423.34 423.34\n", - " Pressure pascal 2.0000e+05 2.0000e+05\n", - "====================================================================================\n", - "\n", - "Equilibrium reactor results\n", - "\n", - "====================================================================================\n", - "Unit : fs.R101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 3.2486e+07 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Total Molar Flowrate mole / second 309.01 444.02\n", - " Total Mole Fraction CH4 dimensionless 0.24272 0.016892\n", - " Total Mole Fraction H2O dimensionless 0.75725 0.29075\n", - " Total Mole Fraction H2 dimensionless 9.9996e-06 0.54032\n", - " Total Mole Fraction CO dimensionless 9.9996e-06 0.067801\n", - " Total Mole Fraction CO2 dimensionless 9.9996e-06 0.084239\n", - " Temperature kelvin 423.34 910.04\n", - " Pressure pascal 2.0000e+05 2.0000e+05\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.3f} million per year\")\n", - "\n", - "print()\n", - "print(\"Compressor results\")\n", - "\n", - "m.fs.C101.report()\n", - "\n", - "print()\n", - "print(\"Heater results\")\n", - "\n", - "m.fs.H101.report()\n", - "\n", - "print()\n", - "print(\"Equilibrium reactor results\")\n", - "\n", - "m.fs.R101.report()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Display optimal values for the decision variables and design variables:" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Optimal Values\n", - "\n", - "C101 outlet pressure = 0.200 MPa\n", - "\n", - "C101 outlet temperature = 423.345 K\n", - "\n", - "H101 outlet temperature = 423.345 K\n", - "\n", - "R101 outlet temperature = 910.044 K\n", - "\n", - "Hydrogen produced = 33.648 MM lb/year\n", - "\n", - "Conversion achieved = 90.0%\n" - ] - } - ], - "source": [ - "print(\"Optimal Values\")\n", - "print()\n", - "\n", - "print(f\"C101 outlet pressure = {value(m.fs.C101.outlet.pressure[0])/1E6:0.3f} MPa\")\n", - "print()\n", - "\n", - "print(f\"C101 outlet temperature = {value(m.fs.C101.outlet.temperature[0]):0.3f} K\")\n", - "print()\n", - "\n", - "print(f\"H101 outlet temperature = {value(m.fs.H101.outlet.temperature[0]):0.3f} K\")\n", - "\n", - "print()\n", - "print(f\"R101 outlet temperature = {value(m.fs.R101.outlet.temperature[0]):0.3f} K\")\n", - "\n", - "print()\n", - "print(f\"Hydrogen produced = {value(m.fs.hyd_prod):0.3f} MM lb/year\")\n", - "\n", - "print()\n", - "print(f\"Conversion achieved = {value(m.fs.R101.conversion):.1%}\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.18" - } + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] }, - "nbformat": 4, - "nbformat_minor": 3 + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "# Flowsheet Equilibrium Reactor Simulation and Optimization of Steam Methane Reforming\n", + "Maintainer: Brandon Paul \n", + "Author: Brandon Paul \n", + "Updated: 2023-06-01 \n", + "\n", + "\n", + "## Learning Outcomes\n", + "\n", + "\n", + "- Call and implement the IDAES EquilibriumReactor unit model\n", + "- Construct a steady-state flowsheet using the IDAES unit model library\n", + "- Connecting unit models in a flowsheet using Arcs\n", + "- Fomulate and solve an optimization problem\n", + " - Defining an objective function\n", + " - Setting variable bounds\n", + " - Adding additional constraints \n", + "\n", + "\n", + "## Problem Statement\n", + "\n", + "This example is adapted from S.Z. Abbas, V. Dupont, T. Mahmud, Kinetics study and modelling of steam methane reforming process over a NiO/Al2O3 catalyst in an adiabatic packed bed reactor. Int. J. Hydrogen Energy, 42 (2017), pp. 2889-2903\n", + "\n", + "Steam methane reforming (SMR) is one of the most common pathways for hydrogen production, taking advantage of chemical equilibria in natural gas systems. The process is typically done in two steps: methane reformation at a high temperature to partially oxidize methane, and water gas shift at a low temperature to complete the oxidation reaction:\n", + "\n", + "**CH4 + H2O → CO + 3H2** \n", + "**CO + H2O → CO2 + H2**\n", + "\n", + "This reaction is often carried out in two separate reactors to allow for different reaction temperatures and pressures; in this example, we will minimize operating cost for a single reactor.\n", + "\n", + "The flowsheet that we will be using for this module is shown below with the stream conditions. We will be processing natural gas and steam feeds of fixed composition to produce hydrogen. As shown in the flowsheet, the process consists of a mixer M101 for the two inlet streams, a compressor to compress the feed to the reaction pressure, a heater H101 to heat the feed to the reaction temperature, and a EquilibriumReactor unit R101. We will use thermodynamic properties from the Peng-Robinson equation of state for this flowsheet.\n", + "\n", + "The state variables chosen for the property package are **total molar flows of each stream, temperature of each stream and pressure of each stream, and mole fractions of each component in each stream**. The components considered are: **CH4, H2O, CO, CO2, and H2** and the process occurs in vapor phase only. Therefore, every stream has 1 flow variable, 5 mole fraction variables, 1 temperature and 1 pressure variable. \n", + "\n", + "![](msr_flowsheet.png)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing Required Pyomo and IDAES Components\n", + "\n", + "\n", + "To construct a flowsheet, we will need several components from the Pyomo and IDAES packages. Let us first import the following components from Pyomo:\n", + "- Constraint (to write constraints)\n", + "- Var (to declare variables)\n", + "- ConcreteModel (to create the concrete model object)\n", + "- Expression (to evaluate values as a function of variables defined in the model)\n", + "- Objective (to define an objective function for optimization)\n", + "- TransformationFactory (to apply certain transformations)\n", + "- Arc (to connect two unit models)\n", + "\n", + "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/stable/\n", + "\n", + "From IDAES, we will be needing the `FlowsheetBlock` and the following unit models:\n", + "- Feed\n", + "- Mixer\n", + "- Compressor\n", + "- Heater\n", + "- EquilibriumReactor\n", + "- Product\n", + "\n", + "We will also be needing some utility tools to put together the flowsheet and calculate the degrees of freedom, tools for model expressions and calling variable values, and built-in functions to define property packages, add unit containers to objects and define our initialization scheme.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import (\n", + " Constraint,\n", + " Var,\n", + " ConcreteModel,\n", + " Expression,\n", + " Objective,\n", + " TransformationFactory,\n", + " value,\n", + " units as pyunits,\n", + ")\n", + "from pyomo.network import Arc\n", + "\n", + "from idaes.core import FlowsheetBlock\n", + "from idaes.models.properties.modular_properties.base.generic_property import (\n", + " GenericParameterBlock,\n", + ")\n", + "from idaes.models.properties.modular_properties.base.generic_reaction import (\n", + " GenericReactionParameterBlock,\n", + ")\n", + "from idaes.models.unit_models import (\n", + " Feed,\n", + " Mixer,\n", + " Compressor,\n", + " Heater,\n", + " EquilibriumReactor,\n", + " Product,\n", + ")\n", + "\n", + "from idaes.core.solvers import get_solver\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.core.util.initialization import propagate_state" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing Required Thermophysical and Reaction Packages\n", + "\n", + "The final step is to import the thermophysical and reaction packages. We will import natural gas properties from an existing IDAES module, and reaction properties from a custom module to describe equilibrium behavior. These configuration dictionaries provide parameter data that we will pass to the Modular Property Framework.\n", + "\n", + "The reaction package here assumes all reactions reach chemical equilibrium at the given conditions. \n", + "\n", + "${K_{eq}^{MSR}} = \\exp\\left(\\frac {-26830} {T} + 30.114\\right)$, ${K_{eq}^{WGS}} = \\exp\\left(\\frac {4400} {T} - 4.036\\right)$ with the reactor temperature $T$ in K. \n", + "The total reaction equilibrium constant is given by $K_{eq} = {K_{eq}^{MSR}}{K_{eq}^{WGS}}$.\n", + "\n", + "The correlations are taken from the following literature: \n", + "\n", + "Int. J. Hydrogen Energy, 42 (2017), pp. 2889-2903\n", + "\n", + "### Determining $k_{eq}^{ref}$\n", + "\n", + "As part of the parameter dictionary, users may define equilibrium reactions using a constant coefficient or built-in correlations for van't Hoff and Gibbs formulations. Using the literature correlations above for $k_{eq}$, we can easily calculate the necessary parameters to use the van't Hoff equilibrium constant form:\n", + "\n", + "For an empirical correlation $ln(k_{eq}) = f(T)$ for a catalyst (reaction) temperature $T$, we obtain $k_{eq}^{ref} = \\exp\\left({f(T_{eq}^{ref})}\\right)$. From the paper, we obtain a reference catalyst temperature of 973.15 K and reaction energies for the two reaction steps; these values exist in the reaction property parameter module in this same directory.\n", + "\n", + "These calculations are contained within the property, reaction and unit model packages, and do not need to be entered into the flowsheet. More information on property estimation may be found in the IDAES documentation on [Parameter Estimation](https://idaes-pse.readthedocs.io/en/stable/how_to_guides/workflow/data_rec_parmest.html).\n", + "\n", + "Let us import the following modules:\n", + "- natural_gas_PR as get_prop (method to get configuration dictionary)\n", + "- msr_reaction as reaction_props (contains configuration dictionary)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.models_extra.power_generation.properties.natural_gas_PR import get_prop\n", + "import msr_reaction as reaction_props" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Constructing the Flowsheet\n", + "\n", + "We have now imported all the components, unit models, and property modules we need to construct a flowsheet. Let us create a `ConcreteModel` and add the flowsheet block. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m = ConcreteModel()\n", + "m.fs = FlowsheetBlock(dynamic=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now need to add the property packages to the flowsheet. Unlike the basic [Flash unit model example](http://localhost:8888/notebooks/GitHub/examples-pse/src/Tutorials/Basics/flash_unit_solution_testing_doc.md), where we only had a thermophysical property package, for this flowsheet we will also need to add a reaction property package. We will use the [Modular Property Framework](https://idaes-pse.readthedocs.io/en/stable/explanations/components/property_package/index.html#generic-property-package-framework) and [Modular Reaction Framework](https://idaes-pse.readthedocs.io/en/stable/explanations/components/property_package/index.html#generic-reaction-package-framework). The `get_prop` method for the natural gas property module automatically returns the correct dictionary using a component list argument. The `GenericParameterBlock` and `GenericReactionParameterBlock` methods build states blocks from passed parameter data; the reaction block unpacks using `**reaction_props.config_dict` to allow for optional or empty keyword arguments:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "thermo_props_config_dict = get_prop(components=[\"CH4\", \"H2O\", \"H2\", \"CO\", \"CO2\"])\n", + "m.fs.thermo_params = GenericParameterBlock(**thermo_props_config_dict)\n", + "m.fs.reaction_params = GenericReactionParameterBlock(\n", + " property_package=m.fs.thermo_params, **reaction_props.config_dict\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding Unit Models\n", + "\n", + "Let us start adding the unit models we have imported to the flowsheet. Here, we are adding a `Mixer`, a `Compressor`, a `Heater` and an `EquilibriumReactor`. Note that all unit models should be explicitly defined with a given property package. In addition to that, there are several arguments depending on the unit model, please refer to the documentation for more details on [IDAES Unit Models](https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/index.html). For example, the `Mixer` is given a `list` consisting of names to the two inlets. Note that the `Compressor` is a `PressureChanger` assuming compression operation and with a fixed isentropic compressor efficiency as the default thermodynamic behavior." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "m.fs.CH4 = Feed(property_package=m.fs.thermo_params)\n", + "m.fs.H2O = Feed(property_package=m.fs.thermo_params)\n", + "m.fs.PROD = Product(property_package=m.fs.thermo_params)\n", + "m.fs.M101 = Mixer(\n", + " property_package=m.fs.thermo_params, inlet_list=[\"methane_feed\", \"steam_feed\"]\n", + ")\n", + "m.fs.H101 = Heater(\n", + " property_package=m.fs.thermo_params,\n", + " has_pressure_change=False,\n", + " has_phase_equilibrium=False,\n", + ")\n", + "m.fs.C101 = Compressor(property_package=m.fs.thermo_params)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "m.fs.R101 = EquilibriumReactor(\n", + " property_package=m.fs.thermo_params,\n", + " reaction_package=m.fs.reaction_params,\n", + " has_equilibrium_reactions=True,\n", + " has_rate_reactions=False,\n", + " has_heat_of_reaction=True,\n", + " has_heat_transfer=True,\n", + " has_pressure_change=False,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Connecting Unit Models Using Arcs\n", + "\n", + "We have now added all the unit models we need to the flowsheet. However, we have not yet specified how the units are to be connected. To do this, we will be using the `Arc` which is a Pyomo component that takes in two arguments: `source` and `destination`. Let us connect the outlet of the `Mixer` to the inlet of the `Compressor`, the outlet of the compressor `Compressor` to the inlet of the `Heater`, and the outlet of the `Heater` to the inlet of the `EquilibriumReactor`. Additionally, we will connect the `Feed` and `Product` blocks to the flowsheet:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.s01 = Arc(source=m.fs.CH4.outlet, destination=m.fs.M101.methane_feed)\n", + "m.fs.s02 = Arc(source=m.fs.H2O.outlet, destination=m.fs.M101.steam_feed)\n", + "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.C101.inlet)\n", + "m.fs.s04 = Arc(source=m.fs.C101.outlet, destination=m.fs.H101.inlet)\n", + "m.fs.s05 = Arc(source=m.fs.H101.outlet, destination=m.fs.R101.inlet)\n", + "m.fs.s06 = Arc(source=m.fs.R101.outlet, destination=m.fs.PROD.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We have now connected the unit model block using the arcs. However, we also need to link the state variables on connected ports. Pyomo provides a convenient method `TransformationFactory` to write these equality constraints for us between two ports:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "TransformationFactory(\"network.expand_arcs\").apply_to(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding Expressions to Compute Operating Costs\n", + "\n", + "In this section, we will add a few `Expressions` that allow us to evaluate the performance. `Expressions` provide a convenient way of calculating certain values that are a function of the variables defined in the model. For more details on `Expressions`, please refer to the [Pyomo Expression documentation](https://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html).\n", + "\n", + "For this flowsheet, we are interested in computing hydrogen production in millions of pounds per year, as well as the total costs due to pressurizing, cooling, and heating utilities.\n", + "\n", + "Let us first add an `Expression` to convert the product flow from mol/s to MM lb/year of hydrogen. We see that the molecular weight exists in the thermophysical property package, so we may use that value for our calculations." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.hyd_prod = Expression(\n", + " expr=pyunits.convert(\n", + " m.fs.PROD.inlet.flow_mol[0]\n", + " * m.fs.PROD.inlet.mole_frac_comp[0, \"H2\"]\n", + " * m.fs.thermo_params.H2.mw, # MW defined in properties as kg/mol\n", + " to_units=pyunits.Mlb / pyunits.yr,\n", + " )\n", + ") # converting kg/s to MM lb/year" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, let us add expressions to compute the reactor cooling cost (\\\\$/s) assuming a cost of 2.12E-5 \\\\$/kW, the compression cost (\\\\$/s) assuming 1.2E-3 \\\\$/kW, and the heating utility cost (\\\\$/s) assuming 2.2E-4 \\\\$/kW. Note that the heat duty is in units of Watt (J/s). The total operating cost will be the sum of the costs, expressed in \\\\$/year assuming 8000 operating hours per year (~10\\% downtime, which is fairly common for small scale chemical plants):" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.cooling_cost = Expression(\n", + " expr=2.12e-8 * (m.fs.R101.heat_duty[0])\n", + ") # the reaction is endothermic, so R101 duty is positive\n", + "m.fs.heating_cost = Expression(\n", + " expr=2.2e-7 * m.fs.H101.heat_duty[0]\n", + ") # the stream must be heated to T_rxn, so H101 duty is positive\n", + "m.fs.compression_cost = Expression(\n", + " expr=1.2e-6 * m.fs.C101.work_isentropic[0]\n", + ") # the stream must be pressurized, so the C101 work is positive\n", + "m.fs.operating_cost = Expression(\n", + " expr=(3600 * 8000 * (m.fs.heating_cost + m.fs.cooling_cost + m.fs.compression_cost))\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fixing Feed Conditions\n", + "\n", + "Let us first check how many degrees of freedom exist for this flowsheet using the `degrees_of_freedom` tool we imported earlier. We expect each stream to have 8 degrees of freedom, the mixer to have 0 (after both streams are accounted for), the compressor to have 2 (the pressure change and efficiency), the heater to have 1 (just the duty, since the inlet is also the outlet of M101), and the reactor to have 1 (conversion). Therefore, we have 20 degrees of freedom to specify: temperature, pressure, flow and mole fractions of all five components on both streams; compressor pressure change and efficiency; outlet heater temperature; and reactor conversion.\n", + "\n", + "Although the model has eight degrees of freedom per stream, the mole fractions are not all independent and the physical system only has seven. Each `StateBlock` sets a flag `defined_state` based on any remaining degrees of freedom; if this flag is set to `False` a `Constraint` is written to ensure all mole fractions sum to one. However, a fully specified system with `defined_state` set to `True` will not create this constraint and it is the responsibility of the user to set physically meaningful values, i.e. that all mole fractions are nonnegative and sum to one. While not necessary in this example, the [Custom Thermophysical Property Package Example](http://localhost:8888/notebooks/GitHub/examples-pse/src/Examples/Advanced/CustomProperties/custom_physical_property_packages_testing_doc.md) demonstrates adding a check before writing an additional constraint that may overspecify the system." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now be fixing the feed stream to the conditions shown in the flowsheet above. As mentioned in other tutorials, the IDAES framework expects a time index value for every referenced internal stream or unit variable, even in steady-state systems with a single time point $ t = 0 $ (`t = [0]` is the default when creating a `FlowsheetBlock` without passing a `time_set` argument). The non-present components in each stream are assigned a very small non-zero value to help with convergence and initializing. Based on the literature source, we will initialize our simulation with the following values:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.CH4.outlet.mole_frac_comp[0, \"CH4\"].fix(1)\n", + "m.fs.CH4.outlet.mole_frac_comp[0, \"H2O\"].fix(1e-5)\n", + "m.fs.CH4.outlet.mole_frac_comp[0, \"H2\"].fix(1e-5)\n", + "m.fs.CH4.outlet.mole_frac_comp[0, \"CO\"].fix(1e-5)\n", + "m.fs.CH4.outlet.mole_frac_comp[0, \"CO2\"].fix(1e-5)\n", + "m.fs.CH4.outlet.flow_mol.fix(75 * pyunits.mol / pyunits.s)\n", + "m.fs.CH4.outlet.temperature.fix(298.15 * pyunits.K)\n", + "m.fs.CH4.outlet.pressure.fix(1e5 * pyunits.Pa)\n", + "\n", + "m.fs.H2O.outlet.mole_frac_comp[0, \"CH4\"].fix(1e-5)\n", + "m.fs.H2O.outlet.mole_frac_comp[0, \"H2O\"].fix(1)\n", + "m.fs.H2O.outlet.mole_frac_comp[0, \"H2\"].fix(1e-5)\n", + "m.fs.H2O.outlet.mole_frac_comp[0, \"CO\"].fix(1e-5)\n", + "m.fs.H2O.outlet.mole_frac_comp[0, \"CO2\"].fix(1e-5)\n", + "m.fs.H2O.outlet.flow_mol.fix(234 * pyunits.mol / pyunits.s)\n", + "m.fs.H2O.outlet.temperature.fix(373.15 * pyunits.K)\n", + "m.fs.H2O.outlet.pressure.fix(1e5 * pyunits.Pa)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fixing Unit Model Specifications\n", + "\n", + "Now that we have fixed our inlet feed conditions, we will now be fixing the operating conditions for the unit models in the flowsheet. For the initial problem, let us fix the compressor outlet pressure to 2 bar for now, the efficiency to 0.90 (a common assumption for compressor units), and the heater outlet temperature to 500 K. We will unfix these values later to optimize the flowsheet." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.C101.outlet.pressure.fix(pyunits.convert(2 * pyunits.bar, to_units=pyunits.Pa))\n", + "m.fs.C101.efficiency_isentropic.fix(0.90)\n", + "m.fs.H101.outlet.temperature.fix(500 * pyunits.K)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The `EquilibriumReactor` unit model calculates the amount of product and reactant based on the calculated equilibrium constant; therefore, we will specify a desired conversion and let the solver determine the reactor duty and heat transfer. For convenience, we will define the reactor conversion as the amount of methane that is converted." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.R101.conversion = Var(\n", + " initialize=0.80, bounds=(0, 1), units=pyunits.dimensionless\n", + ") # fraction\n", + "\n", + "m.fs.R101.conv_constraint = Constraint(\n", + " expr=m.fs.R101.conversion\n", + " * m.fs.R101.inlet.flow_mol[0]\n", + " * m.fs.R101.inlet.mole_frac_comp[0, \"CH4\"]\n", + " == (\n", + " m.fs.R101.inlet.flow_mol[0] * m.fs.R101.inlet.mole_frac_comp[0, \"CH4\"]\n", + " - m.fs.R101.outlet.flow_mol[0] * m.fs.R101.outlet.mole_frac_comp[0, \"CH4\"]\n", + " )\n", + ")\n", + "\n", + "m.fs.R101.conversion.fix(0.80)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For initialization, we solve a square problem (degrees of freedom = 0). Let's check the degrees of freedom below:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, we need to initialize each unit operation in sequence to solve the flowsheet. As in best practice, unit operations are initialized or solved, and outlet properties are propagated to connected inlet streams via arc definitions as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Initialize and solve each unit operation\n", + "m.fs.CH4.initialize()\n", + "propagate_state(arc=m.fs.s01)\n", + "\n", + "m.fs.H2O.initialize()\n", + "propagate_state(arc=m.fs.s02)\n", + "\n", + "m.fs.M101.initialize()\n", + "propagate_state(arc=m.fs.s03)\n", + "\n", + "m.fs.C101.initialize()\n", + "propagate_state(arc=m.fs.s04)\n", + "\n", + "m.fs.H101.initialize()\n", + "propagate_state(arc=m.fs.s05)\n", + "\n", + "m.fs.R101.initialize()\n", + "propagate_state(arc=m.fs.s06)\n", + "\n", + "m.fs.PROD.initialize()\n", + "\n", + "# set solver\n", + "solver = get_solver()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Solve the model\n", + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Analyze the Results of the Square Problem\n", + "\n", + "\n", + "What is the total operating cost? " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.3f} million per year\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For this operating cost, what conversion did we achieve of methane to hydrogen?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.R101.report()\n", + "\n", + "print()\n", + "print(f\"Conversion achieved = {value(m.fs.R101.conversion):.1%}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Optimizing Hydrogen Production\n", + "\n", + "Now that the flowsheet has been squared and solved, we can run a small optimization problem to determine optimal conditions for producing hydrogen. Suppose we wish to find ideal conditions for the competing reactions. As mentioned earlier, the two reactions have competing equilibria - steam methane reformation occurs more readily at higher temperatures (500-700 C) while water gas shift occurs more readily at lower temperatures (300-400 C). We will allow for variable reactor temperature and pressure by freeing our heater and compressor specifications, and minimize cost to achieve 90% methane conversion. Since we assume an isentopic compressor, allowing compression will heat our feed stream and reduce or eliminate the required heater duty." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us declare our objective function for this problem. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.objective = Objective(expr=m.fs.operating_cost)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, we need to add the design constraints and unfix the decision variables as we had solved a square problem until now, as well as set bounds for the design variables (reactor outlet temperature is set by state variable bounds in property package):" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.R101.conversion.fix(0.90)\n", + "\n", + "m.fs.C101.outlet.pressure.unfix()\n", + "m.fs.C101.outlet.pressure[0].setlb(\n", + " pyunits.convert(2 * pyunits.bar, to_units=pyunits.Pa)\n", + ") # pressurize to at least 2 bar\n", + "m.fs.C101.outlet.pressure[0].setub(\n", + " pyunits.convert(10 * pyunits.bar, to_units=pyunits.Pa)\n", + ") # at most, pressurize to 10 bar\n", + "\n", + "m.fs.H101.outlet.temperature.unfix()\n", + "m.fs.H101.heat_duty[0].setlb(\n", + " 0 * pyunits.J / pyunits.s\n", + ") # outlet temperature is equal to or greater than inlet temperature\n", + "m.fs.H101.outlet.temperature[0].setub(1000 * pyunits.K) # at most, heat to 1000 K" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "We have now defined the optimization problem and we are now ready to solve this problem. \n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.3f} million per year\")\n", + "\n", + "print()\n", + "print(\"Compressor results\")\n", + "\n", + "m.fs.C101.report()\n", + "\n", + "print()\n", + "print(\"Heater results\")\n", + "\n", + "m.fs.H101.report()\n", + "\n", + "print()\n", + "print(\"Equilibrium reactor results\")\n", + "\n", + "m.fs.R101.report()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Display optimal values for the decision variables and design variables:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Optimal Values\")\n", + "print()\n", + "\n", + "print(f\"C101 outlet pressure = {value(m.fs.C101.outlet.pressure[0])/1E6:0.3f} MPa\")\n", + "print()\n", + "\n", + "print(f\"C101 outlet temperature = {value(m.fs.C101.outlet.temperature[0]):0.3f} K\")\n", + "print()\n", + "\n", + "print(f\"H101 outlet temperature = {value(m.fs.H101.outlet.temperature[0]):0.3f} K\")\n", + "\n", + "print()\n", + "print(f\"R101 outlet temperature = {value(m.fs.R101.outlet.temperature[0]):0.3f} K\")\n", + "\n", + "print()\n", + "print(f\"Hydrogen produced = {value(m.fs.hyd_prod):0.3f} MM lb/year\")\n", + "\n", + "print()\n", + "print(f\"Conversion achieved = {value(m.fs.R101.conversion):.1%}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.12" + } + }, + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/reactors/equilibrium_reactor_test.ipynb b/idaes_examples/notebooks/docs/unit_models/reactors/equilibrium_reactor_test.ipynb index a845483e..4ada6755 100644 --- a/idaes_examples/notebooks/docs/unit_models/reactors/equilibrium_reactor_test.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/reactors/equilibrium_reactor_test.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -97,7 +98,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -166,7 +167,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -185,7 +186,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -202,7 +203,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": { "scrolled": true }, @@ -226,7 +227,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": { "scrolled": true }, @@ -248,8 +249,10 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": {}, + "execution_count": null, + "metadata": { + "scrolled": false + }, "outputs": [], "source": [ "m.fs.R101 = EquilibriumReactor(\n", @@ -274,7 +277,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -295,7 +298,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -317,7 +320,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -340,7 +343,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -371,26 +374,18 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "20\n" - ] - } - ], + "outputs": [], "source": [ "print(degrees_of_freedom(m))" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "metadata": { "tags": [ "testing" @@ -411,7 +406,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -445,7 +440,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -463,7 +458,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -493,24 +488,16 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0\n" - ] - } - ], + "outputs": [], "source": [ "print(degrees_of_freedom(m))" ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "metadata": { "tags": [ "testing" @@ -531,58 +518,9 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-05-23 06:08:03 [INFO] idaes.init.fs.CH4.properties: Starting initialization\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.CH4.properties: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.CH4.properties: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.CH4: Initialization Complete.\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.H2O.properties: Starting initialization\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.H2O.properties: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.H2O.properties: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.H2O: Initialization Complete.\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.M101.methane_feed_state: Starting initialization\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.M101.methane_feed_state: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.M101.steam_feed_state: Starting initialization\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.M101.steam_feed_state: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.M101.mixed_state: Starting initialization\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.M101.mixed_state: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.M101.mixed_state: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.C101.control_volume.properties_in: Starting initialization\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.C101.control_volume.properties_in: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.C101.control_volume.properties_out: Starting initialization\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.C101.control_volume.properties_out: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.C101.control_volume.properties_out: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.C101.properties_isentropic: Starting initialization\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.C101.properties_isentropic: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.C101.properties_isentropic: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.C101: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.H101.control_volume.properties_in: Starting initialization\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.H101.control_volume.properties_in: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.H101.control_volume.properties_out: Starting initialization\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.H101.control_volume.properties_out: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.H101.control_volume: Initialization Complete\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.H101: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.R101.control_volume.properties_in: Starting initialization\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.R101.control_volume.properties_in: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.R101.control_volume.properties_out: Starting initialization\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.R101.control_volume.properties_out: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.R101.control_volume.reactions: Initialization Complete.\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.R101.control_volume: Initialization Complete\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.R101: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.PROD.properties: Starting initialization\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.PROD.properties: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.PROD.properties: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.PROD: Initialization Complete.\n" - ] - } - ], + "outputs": [], "source": [ "# Initialize and solve each unit operation\n", "m.fs.CH4.initialize()\n", @@ -611,84 +549,11 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 562\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 477\n", - "\n", - "Total number of variables............................: 204\n", - " variables with only lower bounds: 13\n", - " variables with lower and upper bounds: 174\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 204\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 1.49e+06 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 1.35e+04 2.00e-01 -1.0 3.59e+00 - 9.90e-01 9.91e-01h 1\n", - " 2 0.0000000e+00 3.59e-04 9.99e+00 -1.0 3.56e+00 - 9.90e-01 1.00e+00h 1\n", - " 3 0.0000000e+00 2.12e-08 8.98e+01 -1.0 2.91e-04 - 9.90e-01 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 2.8421709430404007e-14 2.1187588572502136e-08\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.8421709430404007e-14 2.1187588572502136e-08\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.003\n", - "Total CPU secs in NLP function evaluations = 0.001\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "# Solve the model\n", "results = solver.solve(m, tee=True)" @@ -696,7 +561,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "metadata": { "tags": [ "testing" @@ -722,24 +587,16 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "operating cost = $45.933 million per year\n" - ] - } - ], + "outputs": [], "source": [ "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.3f} million per year\")" ] }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "metadata": { "tags": [ "testing" @@ -761,41 +618,9 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.R101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 2.7605e+07 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Total Molar Flowrate mole / second 309.01 429.02\n", - " Total Mole Fraction CH4 dimensionless 0.24272 0.034965\n", - " Total Mole Fraction H2O dimensionless 0.75725 0.31487\n", - " Total Mole Fraction H2 dimensionless 9.9996e-06 0.51029\n", - " Total Mole Fraction CO dimensionless 9.9996e-06 0.049157\n", - " Total Mole Fraction CO2 dimensionless 9.9996e-06 0.090717\n", - " Temperature kelvin 500.00 868.56\n", - " Pressure pascal 2.0000e+05 2.0000e+05\n", - "====================================================================================\n", - "\n", - "Conversion achieved = 80.0%\n" - ] - } - ], + "outputs": [], "source": [ "m.fs.R101.report()\n", "\n", @@ -805,7 +630,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "metadata": { "tags": [ "testing" @@ -836,7 +661,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -852,7 +677,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -875,7 +700,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, "metadata": { "tags": [ "testing" @@ -898,99 +723,18 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 569\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 493\n", - "\n", - "Total number of variables............................: 206\n", - " variables with only lower bounds: 14\n", - " variables with lower and upper bounds: 176\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 204\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 4.5933014e+07 1.49e+06 3.46e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 4.5420427e+07 1.49e+06 1.33e+03 -1.0 1.08e+07 - 4.58e-01 5.96e-03f 1\n", - " 2 4.2830345e+07 8.68e+05 6.47e+06 -1.0 5.32e+06 - 8.03e-01 4.18e-01f 1\n", - " 3 4.3111576e+07 1.26e+05 1.06e+07 -1.0 2.54e+06 - 9.54e-01 8.85e-01h 1\n", - " 4 4.3307552e+07 2.24e+03 3.12e+05 -1.0 3.51e+05 - 9.89e-01 9.86e-01h 1\n", - " 5 4.3309118e+07 2.20e+01 3.08e+03 -1.0 2.69e+03 - 9.90e-01 9.90e-01h 1\n", - " 6 4.3309131e+07 5.77e-06 3.84e+01 -1.0 2.31e+01 - 9.92e-01 1.00e+00h 1\n", - " 7 4.3309131e+07 7.77e-09 4.84e-07 -2.5 1.97e-02 - 1.00e+00 1.00e+00f 1\n", - " 8 4.3309131e+07 1.63e-08 1.71e-06 -3.8 5.56e-04 - 1.00e+00 1.00e+00f 1\n", - " 9 4.3309131e+07 1.72e-08 1.31e-06 -5.7 3.08e-05 - 1.00e+00 1.00e+00f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 4.3309131e+07 2.20e-08 8.55e-07 -7.0 3.59e-07 - 1.00e+00 1.00e+00f 1\n", - "\n", - "Number of Iterations....: 10\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 4.3309130854568794e+07 4.3309130854568794e+07\n", - "Dual infeasibility......: 8.5488594337511447e-07 8.5488594337511447e-07\n", - "Constraint violation....: 1.4551915228366852e-11 2.2002495825290680e-08\n", - "Complementarity.........: 9.0909090913936433e-08 9.0909090913936433e-08\n", - "Overall NLP error.......: 9.0909090913936433e-08 8.5488594337511447e-07\n", - "\n", - "\n", - "Number of objective function evaluations = 11\n", - "Number of objective gradient evaluations = 11\n", - "Number of equality constraint evaluations = 11\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 11\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 10\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.008\n", - "Total CPU secs in NLP function evaluations = 0.003\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "results = solver.solve(m, tee=True)" ] }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "metadata": { "tags": [ "testing" @@ -1006,95 +750,9 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "operating cost = $43.309 million per year\n", - "\n", - "Compressor results\n", - "\n", - "====================================================================================\n", - "Unit : fs.C101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.90000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 7.5471e+05 : watt : False : (None, None)\n", - " Pressure Change : 1.0000e+05 : pascal : False : (None, None)\n", - " Pressure Ratio : 2.0000 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Total Molar Flowrate mole / second 309.01 309.01\n", - " Total Mole Fraction CH4 dimensionless 0.24272 0.24272\n", - " Total Mole Fraction H2O dimensionless 0.75725 0.75725\n", - " Total Mole Fraction H2 dimensionless 9.9996e-06 9.9996e-06\n", - " Total Mole Fraction CO dimensionless 9.9996e-06 9.9996e-06\n", - " Total Mole Fraction CO2 dimensionless 9.9996e-06 9.9996e-06\n", - " Temperature kelvin 353.80 423.34\n", - " Pressure pascal 1.0000e+05 2.0000e+05\n", - "====================================================================================\n", - "\n", - "Heater results\n", - "\n", - "====================================================================================\n", - "Unit : fs.H101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 5.8781e-09 : watt : False : (0.0, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Total Molar Flowrate mole / second 309.01 309.01\n", - " Total Mole Fraction CH4 dimensionless 0.24272 0.24272\n", - " Total Mole Fraction H2O dimensionless 0.75725 0.75725\n", - " Total Mole Fraction H2 dimensionless 9.9996e-06 9.9996e-06\n", - " Total Mole Fraction CO dimensionless 9.9996e-06 9.9996e-06\n", - " Total Mole Fraction CO2 dimensionless 9.9996e-06 9.9996e-06\n", - " Temperature kelvin 423.34 423.34\n", - " Pressure pascal 2.0000e+05 2.0000e+05\n", - "====================================================================================\n", - "\n", - "Equilibrium reactor results\n", - "\n", - "====================================================================================\n", - "Unit : fs.R101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 3.2486e+07 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Total Molar Flowrate mole / second 309.01 444.02\n", - " Total Mole Fraction CH4 dimensionless 0.24272 0.016892\n", - " Total Mole Fraction H2O dimensionless 0.75725 0.29075\n", - " Total Mole Fraction H2 dimensionless 9.9996e-06 0.54032\n", - " Total Mole Fraction CO dimensionless 9.9996e-06 0.067801\n", - " Total Mole Fraction CO2 dimensionless 9.9996e-06 0.084239\n", - " Temperature kelvin 423.34 910.04\n", - " Pressure pascal 2.0000e+05 2.0000e+05\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.3f} million per year\")\n", "\n", @@ -1116,7 +774,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "metadata": { "tags": [ "testing" @@ -1136,29 +794,9 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Optimal Values\n", - "\n", - "C101 outlet pressure = 0.200 MPa\n", - "\n", - "C101 outlet temperature = 423.345 K\n", - "\n", - "H101 outlet temperature = 423.345 K\n", - "\n", - "R101 outlet temperature = 910.044 K\n", - "\n", - "Hydrogen produced = 33.648 MM lb/year\n", - "\n", - "Conversion achieved = 90.0%\n" - ] - } - ], + "outputs": [], "source": [ "print(\"Optimal Values\")\n", "print()\n", @@ -1183,7 +821,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": null, "metadata": { "tags": [ "testing" @@ -1224,7 +862,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.18" + "version": "3.9.12" } }, "nbformat": 4, diff --git a/idaes_examples/notebooks/docs/unit_models/reactors/equilibrium_reactor_usr.ipynb b/idaes_examples/notebooks/docs/unit_models/reactors/equilibrium_reactor_usr.ipynb index 6185b931..efd26362 100644 --- a/idaes_examples/notebooks/docs/unit_models/reactors/equilibrium_reactor_usr.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/reactors/equilibrium_reactor_usr.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -97,7 +98,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -166,7 +167,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -185,7 +186,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -202,7 +203,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": { "scrolled": true }, @@ -226,7 +227,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": { "scrolled": true }, @@ -248,8 +249,10 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": {}, + "execution_count": null, + "metadata": { + "scrolled": false + }, "outputs": [], "source": [ "m.fs.R101 = EquilibriumReactor(\n", @@ -274,7 +277,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -295,7 +298,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -317,7 +320,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -340,7 +343,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -371,19 +374,11 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "20\n" - ] - } - ], + "outputs": [], "source": [ "print(degrees_of_freedom(m))" ] @@ -397,7 +392,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -431,7 +426,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -449,7 +444,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -479,17 +474,9 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0\n" - ] - } - ], + "outputs": [], "source": [ "print(degrees_of_freedom(m))" ] @@ -503,58 +490,9 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-05-23 06:08:03 [INFO] idaes.init.fs.CH4.properties: Starting initialization\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.CH4.properties: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.CH4.properties: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.CH4: Initialization Complete.\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.H2O.properties: Starting initialization\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.H2O.properties: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.H2O.properties: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.H2O: Initialization Complete.\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.M101.methane_feed_state: Starting initialization\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.M101.methane_feed_state: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:03 [INFO] idaes.init.fs.M101.steam_feed_state: Starting initialization\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.M101.steam_feed_state: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.M101.mixed_state: Starting initialization\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.M101.mixed_state: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.M101.mixed_state: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.C101.control_volume.properties_in: Starting initialization\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.C101.control_volume.properties_in: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.C101.control_volume.properties_out: Starting initialization\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.C101.control_volume.properties_out: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.C101.control_volume.properties_out: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.C101.properties_isentropic: Starting initialization\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.C101.properties_isentropic: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:04 [INFO] idaes.init.fs.C101.properties_isentropic: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.C101: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.H101.control_volume.properties_in: Starting initialization\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.H101.control_volume.properties_in: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.H101.control_volume.properties_out: Starting initialization\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.H101.control_volume.properties_out: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.H101.control_volume: Initialization Complete\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.H101: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.R101.control_volume.properties_in: Starting initialization\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.R101.control_volume.properties_in: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.R101.control_volume.properties_out: Starting initialization\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.R101.control_volume.properties_out: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.R101.control_volume.reactions: Initialization Complete.\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.R101.control_volume: Initialization Complete\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.R101: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.PROD.properties: Starting initialization\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.PROD.properties: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.PROD.properties: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:08:05 [INFO] idaes.init.fs.PROD: Initialization Complete.\n" - ] - } - ], + "outputs": [], "source": [ "# Initialize and solve each unit operation\n", "m.fs.CH4.initialize()\n", @@ -583,84 +521,11 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 562\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 477\n", - "\n", - "Total number of variables............................: 204\n", - " variables with only lower bounds: 13\n", - " variables with lower and upper bounds: 174\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 204\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 1.49e+06 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 1.35e+04 2.00e-01 -1.0 3.59e+00 - 9.90e-01 9.91e-01h 1\n", - " 2 0.0000000e+00 3.59e-04 9.99e+00 -1.0 3.56e+00 - 9.90e-01 1.00e+00h 1\n", - " 3 0.0000000e+00 2.12e-08 8.98e+01 -1.0 2.91e-04 - 9.90e-01 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 2.8421709430404007e-14 2.1187588572502136e-08\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 2.8421709430404007e-14 2.1187588572502136e-08\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.003\n", - "Total CPU secs in NLP function evaluations = 0.001\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "# Solve the model\n", "results = solver.solve(m, tee=True)" @@ -678,17 +543,9 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "operating cost = $45.933 million per year\n" - ] - } - ], + "outputs": [], "source": [ "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.3f} million per year\")" ] @@ -702,41 +559,9 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.R101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 2.7605e+07 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Total Molar Flowrate mole / second 309.01 429.02\n", - " Total Mole Fraction CH4 dimensionless 0.24272 0.034965\n", - " Total Mole Fraction H2O dimensionless 0.75725 0.31487\n", - " Total Mole Fraction H2 dimensionless 9.9996e-06 0.51029\n", - " Total Mole Fraction CO dimensionless 9.9996e-06 0.049157\n", - " Total Mole Fraction CO2 dimensionless 9.9996e-06 0.090717\n", - " Temperature kelvin 500.00 868.56\n", - " Pressure pascal 2.0000e+05 2.0000e+05\n", - "====================================================================================\n", - "\n", - "Conversion achieved = 80.0%\n" - ] - } - ], + "outputs": [], "source": [ "m.fs.R101.report()\n", "\n", @@ -762,7 +587,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -778,7 +603,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -811,187 +636,20 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 569\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 493\n", - "\n", - "Total number of variables............................: 206\n", - " variables with only lower bounds: 14\n", - " variables with lower and upper bounds: 176\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 204\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 4.5933014e+07 1.49e+06 3.46e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 4.5420427e+07 1.49e+06 1.33e+03 -1.0 1.08e+07 - 4.58e-01 5.96e-03f 1\n", - " 2 4.2830345e+07 8.68e+05 6.47e+06 -1.0 5.32e+06 - 8.03e-01 4.18e-01f 1\n", - " 3 4.3111576e+07 1.26e+05 1.06e+07 -1.0 2.54e+06 - 9.54e-01 8.85e-01h 1\n", - " 4 4.3307552e+07 2.24e+03 3.12e+05 -1.0 3.51e+05 - 9.89e-01 9.86e-01h 1\n", - " 5 4.3309118e+07 2.20e+01 3.08e+03 -1.0 2.69e+03 - 9.90e-01 9.90e-01h 1\n", - " 6 4.3309131e+07 5.77e-06 3.84e+01 -1.0 2.31e+01 - 9.92e-01 1.00e+00h 1\n", - " 7 4.3309131e+07 7.77e-09 4.84e-07 -2.5 1.97e-02 - 1.00e+00 1.00e+00f 1\n", - " 8 4.3309131e+07 1.63e-08 1.71e-06 -3.8 5.56e-04 - 1.00e+00 1.00e+00f 1\n", - " 9 4.3309131e+07 1.72e-08 1.31e-06 -5.7 3.08e-05 - 1.00e+00 1.00e+00f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 4.3309131e+07 2.20e-08 8.55e-07 -7.0 3.59e-07 - 1.00e+00 1.00e+00f 1\n", - "\n", - "Number of Iterations....: 10\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 4.3309130854568794e+07 4.3309130854568794e+07\n", - "Dual infeasibility......: 8.5488594337511447e-07 8.5488594337511447e-07\n", - "Constraint violation....: 1.4551915228366852e-11 2.2002495825290680e-08\n", - "Complementarity.........: 9.0909090913936433e-08 9.0909090913936433e-08\n", - "Overall NLP error.......: 9.0909090913936433e-08 8.5488594337511447e-07\n", - "\n", - "\n", - "Number of objective function evaluations = 11\n", - "Number of objective gradient evaluations = 11\n", - "Number of equality constraint evaluations = 11\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 11\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 10\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.008\n", - "Total CPU secs in NLP function evaluations = 0.003\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "results = solver.solve(m, tee=True)" ] }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "operating cost = $43.309 million per year\n", - "\n", - "Compressor results\n", - "\n", - "====================================================================================\n", - "Unit : fs.C101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.90000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 7.5471e+05 : watt : False : (None, None)\n", - " Pressure Change : 1.0000e+05 : pascal : False : (None, None)\n", - " Pressure Ratio : 2.0000 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Total Molar Flowrate mole / second 309.01 309.01\n", - " Total Mole Fraction CH4 dimensionless 0.24272 0.24272\n", - " Total Mole Fraction H2O dimensionless 0.75725 0.75725\n", - " Total Mole Fraction H2 dimensionless 9.9996e-06 9.9996e-06\n", - " Total Mole Fraction CO dimensionless 9.9996e-06 9.9996e-06\n", - " Total Mole Fraction CO2 dimensionless 9.9996e-06 9.9996e-06\n", - " Temperature kelvin 353.80 423.34\n", - " Pressure pascal 1.0000e+05 2.0000e+05\n", - "====================================================================================\n", - "\n", - "Heater results\n", - "\n", - "====================================================================================\n", - "Unit : fs.H101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 5.8781e-09 : watt : False : (0.0, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Total Molar Flowrate mole / second 309.01 309.01\n", - " Total Mole Fraction CH4 dimensionless 0.24272 0.24272\n", - " Total Mole Fraction H2O dimensionless 0.75725 0.75725\n", - " Total Mole Fraction H2 dimensionless 9.9996e-06 9.9996e-06\n", - " Total Mole Fraction CO dimensionless 9.9996e-06 9.9996e-06\n", - " Total Mole Fraction CO2 dimensionless 9.9996e-06 9.9996e-06\n", - " Temperature kelvin 423.34 423.34\n", - " Pressure pascal 2.0000e+05 2.0000e+05\n", - "====================================================================================\n", - "\n", - "Equilibrium reactor results\n", - "\n", - "====================================================================================\n", - "Unit : fs.R101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 3.2486e+07 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Total Molar Flowrate mole / second 309.01 444.02\n", - " Total Mole Fraction CH4 dimensionless 0.24272 0.016892\n", - " Total Mole Fraction H2O dimensionless 0.75725 0.29075\n", - " Total Mole Fraction H2 dimensionless 9.9996e-06 0.54032\n", - " Total Mole Fraction CO dimensionless 9.9996e-06 0.067801\n", - " Total Mole Fraction CO2 dimensionless 9.9996e-06 0.084239\n", - " Temperature kelvin 423.34 910.04\n", - " Pressure pascal 2.0000e+05 2.0000e+05\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.3f} million per year\")\n", "\n", @@ -1020,29 +678,9 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Optimal Values\n", - "\n", - "C101 outlet pressure = 0.200 MPa\n", - "\n", - "C101 outlet temperature = 423.345 K\n", - "\n", - "H101 outlet temperature = 423.345 K\n", - "\n", - "R101 outlet temperature = 910.044 K\n", - "\n", - "Hydrogen produced = 33.648 MM lb/year\n", - "\n", - "Conversion achieved = 90.0%\n" - ] - } - ], + "outputs": [], "source": [ "print(\"Optimal Values\")\n", "print()\n", @@ -1090,7 +728,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.18" + "version": "3.9.12" } }, "nbformat": 4, diff --git a/idaes_examples/notebooks/docs/unit_models/reactors/gibbs_reactor.ipynb b/idaes_examples/notebooks/docs/unit_models/reactors/gibbs_reactor.ipynb index da52dcfb..4b7109b3 100644 --- a/idaes_examples/notebooks/docs/unit_models/reactors/gibbs_reactor.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/reactors/gibbs_reactor.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -61,8 +62,7 @@ "\n", "The state variables chosen for the property package are **total molar flows of each stream, temperature of each stream and pressure of each stream, and mole fractions of each component in each stream**. The components considered are: **CH4, H2O, CO, CO2, and H2** and the process occurs in vapor phase only. Therefore, every stream has 1 flow variable, 5 mole fraction variables, 1 temperature and 1 pressure variable. \n", "\n", - "![](msr_flowsheet.png)\n", - "" + "![](msr_flowsheet.png)\n" ] }, { diff --git a/idaes_examples/notebooks/docs/unit_models/reactors/gibbs_reactor_doc.ipynb b/idaes_examples/notebooks/docs/unit_models/reactors/gibbs_reactor_doc.ipynb index 069a9a84..828e9e14 100644 --- a/idaes_examples/notebooks/docs/unit_models/reactors/gibbs_reactor_doc.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/reactors/gibbs_reactor_doc.ipynb @@ -1,1049 +1,686 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "# Flowsheet Gibbs Reactor Simulation and Optimization of Steam Methane Reforming\n", - "Author: Brandon Paul \n", - "Maintainer: Brandon Paul \n", - "Updated: 2023-06-01 \n", - "\n", - "\n", - "## Learning Outcomes\n", - "\n", - "\n", - "- Call and implement the IDAES GibbsReactor unit model\n", - "- Construct a steady-state flowsheet using the IDAES unit model library\n", - "- Connecting unit models in a flowsheet using Arcs\n", - "- Fomulate and solve an optimization problem\n", - " - Defining an objective function\n", - " - Setting variable bounds\n", - " - Adding additional constraints \n", - "\n", - "\n", - "## Problem Statement\n", - "\n", - "Following the previous example of [Steam Methane Reformation in an Equilibrium Reactor](http://localhost:8888/notebooks/GitHub/examples-pse/src/Examples/UnitModels/Reactors/equilibrium_reactor_testing_doc.md), this example solves the flowsheet using a Gibbs Reactor instead. The steam methane reformation example is adapted from S.Z. Abbas, V. Dupont, T. Mahmud, Kinetics study and modelling of steam methane reforming process over a NiO/Al2O3 catalyst in an adiabatic packed bed reactor. Int. J. Hydrogen Energy, 42 (2017), pp. 2889-2903. Typically, the process follows the chemical equations below:\n", - "\n", - "**CH4 + H2O \u2192 CO + 3H2** \n", - "**CO + H2O \u2192 CO2 + H2**\n", - "\n", - "However, the GibbsReactor unit model solves the equilibrium by minimizing Gibbs free energy. Conveniently, this eliminates the need for a reaction package although a thermophysical package is still required.\n", - "\n", - "The flowsheet that we will be using for this module is shown below with the stream conditions. As in the prior example, we will be processing natural gas and steam feeds of fixed composition to produce hydrogen. The process consists of a mixer M101 for the two inlet streams, a compressor to compress the feed to the reaction pressure, a heater H101 to heat the feed to the reaction temperature, and a GibbsReactor unit R101. We will use thermophysical properties following the Peng-Robinsion cubic equation of state for this flowsheet.\n", - "\n", - "The state variables chosen for the property package are **total molar flows of each stream, temperature of each stream and pressure of each stream, and mole fractions of each component in each stream**. The components considered are: **CH4, H2O, CO, CO2, and H2** and the process occurs in vapor phase only. Therefore, every stream has 1 flow variable, 5 mole fraction variables, 1 temperature and 1 pressure variable. \n", - "\n", - "![](msr_flowsheet.png)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing Required Pyomo and IDAES Components\n", - "\n", - "\n", - "To construct a flowsheet, we will need several components from the Pyomo and IDAES packages, as well as some utility tools to build the flowsheet. For further details on these components, please refer to the [Pyomo documentation]( https://pyomo.readthedocs.io/en/stable/).\n", - "\n", - "From IDAES, we will be needing the `FlowsheetBlock` and the following unit models:\n", - "- Feed\n", - "- Mixer\n", - "- Compressor\n", - "- Heater\n", - "- GibbsReactor\n", - "- Product" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.environ import (\n", - " Constraint,\n", - " Var,\n", - " ConcreteModel,\n", - " Expression,\n", - " Objective,\n", - " TransformationFactory,\n", - " value,\n", - " units as pyunits,\n", - ")\n", - "from pyomo.network import Arc\n", - "\n", - "from idaes.core import FlowsheetBlock\n", - "from idaes.models.properties.modular_properties import GenericParameterBlock\n", - "from idaes.models.unit_models import (\n", - " Feed,\n", - " Mixer,\n", - " Compressor,\n", - " Heater,\n", - " GibbsReactor,\n", - " Product,\n", - ")\n", - "\n", - "from idaes.core.solvers import get_solver\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.util.initialization import propagate_state" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing Required Thermophysical Package\n", - "\n", - "As mentioned earlier, the `GibbsReactor` does not require a reaction package.\n", - "\n", - "Let us import the following module from the IDAES library:\n", - "- natural_gas_PR as get_prop (method to get configuration dictionary)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.models_extra.power_generation.properties.natural_gas_PR import get_prop" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Constructing the Flowsheet\n", - "\n", - "Let us create a `ConcreteModel` and add the flowsheet block. " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "m = ConcreteModel()\n", - "m.fs = FlowsheetBlock(dynamic=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We now need to add the property packages to the flowsheet. Unlike the previous example, we do not need to add a reaction package for the reactor model to calculate results. We will use the [Modular Property Framework](https://idaes-pse.readthedocs.io/en/stable/explanations/components/property_package/index.html#generic-property-package-framework) to build a state block for the parameter dictionary." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "thermo_props_config_dict = get_prop(components=[\"CH4\", \"H2O\", \"H2\", \"CO\", \"CO2\"])\n", - "m.fs.thermo_params = GenericParameterBlock(**thermo_props_config_dict)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding Unit Models\n", - "\n", - "Let us start adding the unit models we have imported to the flowsheet:" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "m.fs.CH4 = Feed(property_package=m.fs.thermo_params)\n", - "m.fs.H2O = Feed(property_package=m.fs.thermo_params)\n", - "m.fs.PROD = Product(property_package=m.fs.thermo_params)\n", - "m.fs.M101 = Mixer(\n", - " property_package=m.fs.thermo_params, inlet_list=[\"methane_feed\", \"steam_feed\"]\n", - ")\n", - "m.fs.H101 = Heater(\n", - " property_package=m.fs.thermo_params,\n", - " has_pressure_change=False,\n", - " has_phase_equilibrium=False,\n", - ")\n", - "m.fs.C101 = Compressor(property_package=m.fs.thermo_params)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.R101 = GibbsReactor(\n", - " property_package=m.fs.thermo_params,\n", - " has_heat_transfer=True,\n", - " has_pressure_change=False,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Connecting Unit Models Using Arcs\n", - "\n", - "We have now added all the unit models we need to the flowsheet. Let us connect the unit models by defining and building each `Arc`:" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.s01 = Arc(source=m.fs.CH4.outlet, destination=m.fs.M101.methane_feed)\n", - "m.fs.s02 = Arc(source=m.fs.H2O.outlet, destination=m.fs.M101.steam_feed)\n", - "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.C101.inlet)\n", - "m.fs.s04 = Arc(source=m.fs.C101.outlet, destination=m.fs.H101.inlet)\n", - "m.fs.s05 = Arc(source=m.fs.H101.outlet, destination=m.fs.R101.inlet)\n", - "m.fs.s06 = Arc(source=m.fs.R101.outlet, destination=m.fs.PROD.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finally, we can use Pyomo's `TransformationFactory` to write the equality constraints on each Arc:" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "TransformationFactory(\"network.expand_arcs\").apply_to(m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding Expressions to Compute Operating Costs\n", - "\n", - "For this flowsheet, we are interested in computing hydrogen production in millions of pounds per year, as well as the total costs due to pressurizing, cooling, and heating utilities:" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us add `Expressions` to convert the product flow from mol/s to MM lb/year of hydrogen, and to calculate the cooling, heating and compression operating costs. The total operating cost will be the sum of the costs, expressed in \\\\$/year assuming 8000 operating hours per year (~10\\% downtime, which is fairly common for small scale chemical plants):" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.hyd_prod = Expression(\n", - " expr=pyunits.convert(\n", - " m.fs.PROD.inlet.flow_mol[0]\n", - " * m.fs.PROD.inlet.mole_frac_comp[0, \"H2\"]\n", - " * m.fs.thermo_params.H2.mw, # MW defined in properties as kg/mol\n", - " to_units=pyunits.Mlb / pyunits.yr,\n", - " )\n", - ") # converting kg/s to MM lb/year" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.cooling_cost = Expression(\n", - " expr=0.212e-7 * (m.fs.R101.heat_duty[0])\n", - ") # the reaction is endothermic, so R101 duty is positive\n", - "m.fs.heating_cost = Expression(\n", - " expr=2.2e-7 * m.fs.H101.heat_duty[0]\n", - ") # the stream must be heated to T_rxn, so H101 duty is positive\n", - "m.fs.compression_cost = Expression(\n", - " expr=0.12e-5 * m.fs.C101.work_isentropic[0]\n", - ") # the stream must be pressurized, so the C101 work is positive\n", - "m.fs.operating_cost = Expression(\n", - " expr=(3600 * 8000 * (m.fs.heating_cost + m.fs.cooling_cost + m.fs.compression_cost))\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Fixing Feed Conditions\n", - "\n", - "We expect each stream to have 8 degrees of freedom, the mixer to have 0 (after both streams are accounted for), the compressor to have 2 (the pressure change and efficiency), the heater to have 1 (just the duty, since the inlet is also the outlet of M101), and the reactor to have 1 (conversion). Therefore, we have 20 degrees of freedom to specify: temperature, pressure, flow and mole fractions of all five components on both streams; compressor pressure change and efficiency; outlet heater temperature; and reactor conversion." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "20\n" - ] - } - ], - "source": [ - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Based on the literature source, we will initialize our simulation with the following values:" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.CH4.outlet.mole_frac_comp[0, \"CH4\"].fix(1)\n", - "m.fs.CH4.outlet.mole_frac_comp[0, \"H2O\"].fix(1e-5)\n", - "m.fs.CH4.outlet.mole_frac_comp[0, \"H2\"].fix(1e-5)\n", - "m.fs.CH4.outlet.mole_frac_comp[0, \"CO\"].fix(1e-5)\n", - "m.fs.CH4.outlet.mole_frac_comp[0, \"CO2\"].fix(1e-5)\n", - "m.fs.CH4.outlet.flow_mol.fix(75 * pyunits.mol / pyunits.s)\n", - "m.fs.CH4.outlet.temperature.fix(298.15 * pyunits.K)\n", - "m.fs.CH4.outlet.pressure.fix(1e5 * pyunits.Pa)\n", - "\n", - "m.fs.H2O.outlet.mole_frac_comp[0, \"CH4\"].fix(1e-5)\n", - "m.fs.H2O.outlet.mole_frac_comp[0, \"H2O\"].fix(1)\n", - "m.fs.H2O.outlet.mole_frac_comp[0, \"H2\"].fix(1e-5)\n", - "m.fs.H2O.outlet.mole_frac_comp[0, \"CO\"].fix(1e-5)\n", - "m.fs.H2O.outlet.mole_frac_comp[0, \"CO2\"].fix(1e-5)\n", - "m.fs.H2O.outlet.flow_mol.fix(234 * pyunits.mol / pyunits.s)\n", - "m.fs.H2O.outlet.temperature.fix(373.15 * pyunits.K)\n", - "m.fs.H2O.outlet.pressure.fix(1e5 * pyunits.Pa)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Fixing Unit Model Specifications\n", - "\n", - "For the initial problem, let us fix the compressor outlet pressure to 2 bar for now, the efficiency to 0.90 (a common assumption for compressor units), and the heater outlet temperature to 500 K. We will unfix these values later to optimize the flowsheet." - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.C101.outlet.pressure.fix(pyunits.convert(2 * pyunits.bar, to_units=pyunits.Pa))\n", - "m.fs.C101.efficiency_isentropic.fix(0.90)\n", - "m.fs.H101.outlet.temperature.fix(500 * pyunits.K)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The `GibbsReactor` unit model calculates the amount of product and reactant based on the free energy minimization; therefore, we will specify a desired conversion and let the solver determine the reactor duty and heat transfer. For convenience, we will define the reactor conversion as the amount of methane that is converted." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.R101.conversion = Var(\n", - " initialize=0.80, bounds=(0, 1), units=pyunits.dimensionless\n", - ") # fraction\n", - "\n", - "m.fs.R101.conv_constraint = Constraint(\n", - " expr=m.fs.R101.conversion\n", - " * m.fs.R101.inlet.flow_mol[0]\n", - " * m.fs.R101.inlet.mole_frac_comp[0, \"CH4\"]\n", - " == (\n", - " m.fs.R101.inlet.flow_mol[0] * m.fs.R101.inlet.mole_frac_comp[0, \"CH4\"]\n", - " - m.fs.R101.outlet.flow_mol[0] * m.fs.R101.outlet.mole_frac_comp[0, \"CH4\"]\n", - " )\n", - ")\n", - "\n", - "m.fs.R101.conversion.fix(0.80)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For initialization, we solve a square problem (degrees of freedom = 0). Let's check the degrees of freedom below:" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0\n" - ] - } - ], - "source": [ - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finally, we need to initialize the each unit operation and propagate the outlet results in sequence to solve the flowsheet:" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-05-23 06:07:53 [INFO] idaes.init.fs.CH4.properties: Starting initialization\n", - "2024-05-23 06:07:53 [INFO] idaes.init.fs.CH4.properties: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:53 [INFO] idaes.init.fs.CH4.properties: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:53 [INFO] idaes.init.fs.CH4: Initialization Complete.\n", - "2024-05-23 06:07:53 [INFO] idaes.init.fs.H2O.properties: Starting initialization\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.H2O.properties: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.H2O.properties: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.H2O: Initialization Complete.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.M101.methane_feed_state: Starting initialization\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.M101.methane_feed_state: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.M101.steam_feed_state: Starting initialization\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.M101.steam_feed_state: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.M101.mixed_state: Starting initialization\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.M101.mixed_state: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.M101.mixed_state: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.C101.control_volume.properties_in: Starting initialization\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.C101.control_volume.properties_in: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.C101.control_volume.properties_out: Starting initialization\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.C101.control_volume.properties_out: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.C101.control_volume.properties_out: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.C101.properties_isentropic: Starting initialization\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.C101.properties_isentropic: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.C101.properties_isentropic: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.C101: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.H101.control_volume.properties_in: Starting initialization\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.H101.control_volume.properties_in: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.H101.control_volume.properties_out: Starting initialization\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.H101.control_volume.properties_out: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.H101.control_volume: Initialization Complete\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.H101: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.R101.control_volume.properties_in: Starting initialization\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.R101.control_volume.properties_in: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.R101.control_volume.properties_out: Starting initialization\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.R101.control_volume.properties_out: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.R101.control_volume: Initialization Complete\n", - "2024-05-23 06:07:56 [INFO] idaes.init.fs.R101: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-05-23 06:07:56 [INFO] idaes.init.fs.PROD.properties: Starting initialization\n", - "2024-05-23 06:07:56 [INFO] idaes.init.fs.PROD.properties: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:56 [INFO] idaes.init.fs.PROD.properties: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:56 [INFO] idaes.init.fs.PROD: Initialization Complete.\n" - ] - } - ], - "source": [ - "# Initialize and solve each unit operation\n", - "m.fs.CH4.initialize()\n", - "propagate_state(arc=m.fs.s01)\n", - "\n", - "m.fs.H2O.initialize()\n", - "propagate_state(arc=m.fs.s02)\n", - "\n", - "m.fs.M101.initialize()\n", - "propagate_state(arc=m.fs.s03)\n", - "\n", - "m.fs.C101.initialize()\n", - "propagate_state(arc=m.fs.s04)\n", - "\n", - "m.fs.H101.initialize()\n", - "propagate_state(arc=m.fs.s05)\n", - "\n", - "m.fs.R101.initialize()\n", - "propagate_state(arc=m.fs.s06)\n", - "\n", - "m.fs.PROD.initialize()\n", - "\n", - "# set solver\n", - "solver = get_solver()" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 591\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 490\n", - "\n", - "Total number of variables............................: 203\n", - " variables with only lower bounds: 13\n", - " variables with lower and upper bounds: 179\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 203\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 1.49e+06 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 1.35e+04 2.00e-01 -1.0 3.59e+00 - 9.90e-01 9.91e-01h 1\n", - " 2 0.0000000e+00 3.59e-04 9.99e+00 -1.0 3.56e+00 - 9.90e-01 1.00e+00h 1\n", - " 3 0.0000000e+00 2.60e-08 8.98e+01 -1.0 2.91e-04 - 9.90e-01 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 7.6029602259665645e-13 2.5960616767406464e-08\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 7.6029602259665645e-13 2.5960616767406464e-08\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.004\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], - "source": [ - "# Solve the model\n", - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Analyze the Results of the Square Problem\n", - "\n", - "\n", - "What is the total operating cost? " - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "operating cost = $39.958 million per year\n" - ] - } - ], - "source": [ - "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.3f} million per year\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For this operating cost, what conversion did we achieve of methane to hydrogen?" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.R101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.7819e+07 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Total Molar Flowrate mole / second 309.01 429.02\n", - " Total Mole Fraction CH4 dimensionless 0.24272 0.034965\n", - " Total Mole Fraction H2O dimensionless 0.75725 0.32532\n", - " Total Mole Fraction H2 dimensionless 9.9996e-06 0.49984\n", - " Total Mole Fraction CO dimensionless 9.9996e-06 0.059609\n", - " Total Mole Fraction CO2 dimensionless 9.9996e-06 0.080265\n", - " Temperature kelvin 500.00 920.80\n", - " Pressure pascal 2.0000e+05 2.0000e+05\n", - "====================================================================================\n", - "\n", - "Conversion achieved = 80.0%\n" - ] - } - ], - "source": [ - "m.fs.R101.report()\n", - "\n", - "print()\n", - "print(f\"Conversion achieved = {value(m.fs.R101.conversion):.1%}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Optimizing Hydrogen Production\n", - "\n", - "Now that the flowsheet has been squared and solved, we can run a small optimization problem to determine optimal conditions for producing hydrogen. Suppose we wish to find ideal conditions for the competing reactions. The GibbsReactor does not drive equilibrium forward based on temperature, so we will see small amounts of intermediate components present in the product stream. We will allow for variable reactor temperature and pressure by freeing our heater and compressor specifications, and minimize cost to achieve 90% methane conversion. Since we assume an isentopic compressor, allowing compression will heat our feed stream and reduce or eliminate the required heater duty." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us declare our objective function for this problem. " - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.objective = Objective(expr=m.fs.operating_cost)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, we need to add the design constraints and unfix the decision variables as we had solved a square problem until now, as well as set bounds for the design variables (reactor outlet temperature is set by state variable bounds in property package):" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.R101.conversion.fix(0.90)\n", - "\n", - "m.fs.C101.outlet.pressure.unfix()\n", - "m.fs.C101.outlet.pressure[0].setlb(\n", - " pyunits.convert(1 * pyunits.bar, to_units=pyunits.Pa)\n", - ") # equals inlet pressure\n", - "m.fs.C101.outlet.pressure[0].setlb(\n", - " pyunits.convert(10 * pyunits.bar, to_units=pyunits.Pa)\n", - ") # at most, pressurize to 1 bar\n", - "\n", - "m.fs.H101.outlet.temperature.unfix()\n", - "m.fs.H101.heat_duty[0].setlb(\n", - " 0 * pyunits.J / pyunits.s\n", - ") # ensures outlet is equal to or greater than inlet temperature\n", - "m.fs.H101.outlet.temperature[0].setub(1000 * pyunits.K) # at most, heat to 1000 K" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "We have now defined the optimization problem and we are now ready to solve this problem. \n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 598\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 506\n", - "\n", - "Total number of variables............................: 205\n", - " variables with only lower bounds: 14\n", - " variables with lower and upper bounds: 181\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 203\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 3.9958388e+07 1.49e+06 3.46e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 3.8920063e+07 1.48e+06 1.52e+03 -1.0 7.19e+06 - 3.91e-01 6.43e-03f 1\n", - " 2 7.0948609e+07 1.15e+06 1.86e+06 -1.0 4.83e+06 - 1.51e-01 2.26e-01h 1\n", - " 3 1.0553921e+08 5.23e+05 1.04e+07 -1.0 2.42e+06 - 3.41e-01 5.67e-01h 1\n", - " 4 1.0874890e+08 1.58e+05 7.64e+06 -1.0 8.45e+05 - 7.09e-01 7.11e-01h 1\n", - " 5 1.0751027e+08 1.51e+04 1.67e+06 -1.0 2.97e+05 - 9.49e-01 9.09e-01f 1\n", - " 6 1.0721898e+08 5.95e+00 9.98e+03 -1.0 3.47e+04 - 9.90e-01 1.00e+00f 1\n", - " 7 1.0721794e+08 3.43e-05 8.84e+01 -1.0 1.59e+02 - 9.90e-01 1.00e+00f 1\n", - " 8 1.0721794e+08 1.90e-08 7.14e-01 -1.0 1.43e-02 - 9.92e-01 1.00e+00h 1\n", - " 9 1.0721794e+08 7.55e-09 1.53e-06 -2.5 1.72e-02 - 1.00e+00 1.00e+00f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 1.0721794e+08 2.10e-08 1.59e-06 -3.8 4.73e-04 - 1.00e+00 1.00e+00f 1\n", - " 11 1.0721794e+08 1.12e-08 2.07e-06 -5.7 2.63e-05 - 1.00e+00 1.00e+00f 1\n", - " 12 1.0721794e+08 3.57e-08 1.65e-06 -7.0 3.14e-07 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 12\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 1.0721793780338226e+08 1.0721793780338226e+08\n", - "Dual infeasibility......: 1.6485091371912918e-06 1.6485091371912918e-06\n", - "Constraint violation....: 4.6566128730773926e-10 3.5680419252624450e-08\n", - "Complementarity.........: 9.0909090914354020e-08 9.0909090914354020e-08\n", - "Overall NLP error.......: 9.0909090914354020e-08 1.6485091371912918e-06\n", - "\n", - "\n", - "Number of objective function evaluations = 13\n", - "Number of objective gradient evaluations = 13\n", - "Number of equality constraint evaluations = 13\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 13\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 12\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.004\n", - "Total CPU secs in NLP function evaluations = 0.011\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], - "source": [ - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "operating cost = $107.218 million per year\n", - "\n", - "Compressor results\n", - "\n", - "====================================================================================\n", - "Unit : fs.C101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.90000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 3.0334e+06 : watt : False : (None, None)\n", - " Pressure Change : 9.0000e+05 : pascal : False : (None, None)\n", - " Pressure Ratio : 10.000 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Total Molar Flowrate mole / second 309.01 309.01\n", - " Total Mole Fraction CH4 dimensionless 0.24272 0.24272\n", - " Total Mole Fraction H2O dimensionless 0.75725 0.75725\n", - " Total Mole Fraction H2 dimensionless 9.9996e-06 9.9996e-06\n", - " Total Mole Fraction CO dimensionless 9.9996e-06 9.9996e-06\n", - " Total Mole Fraction CO2 dimensionless 9.9996e-06 9.9996e-06\n", - " Temperature kelvin 353.80 619.25\n", - " Pressure pascal 1.0000e+05 1.0000e+06\n", - "====================================================================================\n", - "\n", - "Heater results\n", - "\n", - "====================================================================================\n", - "Unit : fs.H101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 5.8781e-09 : watt : False : (0.0, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Total Molar Flowrate mole / second 309.01 309.01\n", - " Total Mole Fraction CH4 dimensionless 0.24272 0.24272\n", - " Total Mole Fraction H2O dimensionless 0.75725 0.75725\n", - " Total Mole Fraction H2 dimensionless 9.9996e-06 9.9996e-06\n", - " Total Mole Fraction CO dimensionless 9.9996e-06 9.9996e-06\n", - " Total Mole Fraction CO2 dimensionless 9.9996e-06 9.9996e-06\n", - " Temperature kelvin 619.25 619.25\n", - " Pressure pascal 1.0000e+06 1.0000e+06\n", - "====================================================================================\n", - "\n", - "Gibbs reactor results\n", - "\n", - "====================================================================================\n", - "Unit : fs.R101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 2.1076e+07 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Total Molar Flowrate mole / second 309.01 444.02\n", - " Total Mole Fraction CH4 dimensionless 0.24272 0.016892\n", - " Total Mole Fraction H2O dimensionless 0.75725 0.31609\n", - " Total Mole Fraction H2 dimensionless 9.9996e-06 0.51498\n", - " Total Mole Fraction CO dimensionless 9.9996e-06 0.093140\n", - " Total Mole Fraction CO2 dimensionless 9.9996e-06 0.058900\n", - " Temperature kelvin 619.25 1087.4\n", - " Pressure pascal 1.0000e+06 1.0000e+06\n", - "====================================================================================\n" - ] - } - ], - "source": [ - "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.3f} million per year\")\n", - "\n", - "print()\n", - "print(\"Compressor results\")\n", - "\n", - "m.fs.C101.report()\n", - "\n", - "print()\n", - "print(\"Heater results\")\n", - "\n", - "m.fs.H101.report()\n", - "\n", - "print()\n", - "print(\"Gibbs reactor results\")\n", - "\n", - "m.fs.R101.report()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Display optimal values for the decision variables and design variables:" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Optimal Values\n", - "\n", - "C101 outlet pressure = 1.000 MPa\n", - "\n", - "C101 outlet temperature = 619.248 K\n", - "\n", - "H101 outlet temperature = 619.248 K\n", - "\n", - "R101 outlet temperature = 1087.385 K\n", - "\n", - "Hydrogen produced = 32.070 MM lb/year\n", - "\n", - "Conversion achieved = 90.0%\n" - ] - } - ], - "source": [ - "print(\"Optimal Values\")\n", - "print()\n", - "\n", - "print(f\"C101 outlet pressure = {value(m.fs.C101.outlet.pressure[0])/1E6:0.3f} MPa\")\n", - "print()\n", - "\n", - "print(f\"C101 outlet temperature = {value(m.fs.C101.outlet.temperature[0]):0.3f} K\")\n", - "print()\n", - "\n", - "print(f\"H101 outlet temperature = {value(m.fs.H101.outlet.temperature[0]):0.3f} K\")\n", - "\n", - "print()\n", - "print(f\"R101 outlet temperature = {value(m.fs.R101.outlet.temperature[0]):0.3f} K\")\n", - "\n", - "print()\n", - "print(f\"Hydrogen produced = {value(m.fs.hyd_prod):0.3f} MM lb/year\")\n", - "\n", - "print()\n", - "print(f\"Conversion achieved = {value(m.fs.R101.conversion):.1%}\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.18" - } + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] }, - "nbformat": 4, - "nbformat_minor": 3 + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "# Flowsheet Gibbs Reactor Simulation and Optimization of Steam Methane Reforming\n", + "Author: Brandon Paul \n", + "Maintainer: Brandon Paul \n", + "Updated: 2023-06-01 \n", + "\n", + "\n", + "## Learning Outcomes\n", + "\n", + "\n", + "- Call and implement the IDAES GibbsReactor unit model\n", + "- Construct a steady-state flowsheet using the IDAES unit model library\n", + "- Connecting unit models in a flowsheet using Arcs\n", + "- Fomulate and solve an optimization problem\n", + " - Defining an objective function\n", + " - Setting variable bounds\n", + " - Adding additional constraints \n", + "\n", + "\n", + "## Problem Statement\n", + "\n", + "Following the previous example of [Steam Methane Reformation in an Equilibrium Reactor](http://localhost:8888/notebooks/GitHub/examples-pse/src/Examples/UnitModels/Reactors/equilibrium_reactor_testing_doc.md), this example solves the flowsheet using a Gibbs Reactor instead. The steam methane reformation example is adapted from S.Z. Abbas, V. Dupont, T. Mahmud, Kinetics study and modelling of steam methane reforming process over a NiO/Al2O3 catalyst in an adiabatic packed bed reactor. Int. J. Hydrogen Energy, 42 (2017), pp. 2889-2903. Typically, the process follows the chemical equations below:\n", + "\n", + "**CH4 + H2O → CO + 3H2** \n", + "**CO + H2O → CO2 + H2**\n", + "\n", + "However, the GibbsReactor unit model solves the equilibrium by minimizing Gibbs free energy. Conveniently, this eliminates the need for a reaction package although a thermophysical package is still required.\n", + "\n", + "The flowsheet that we will be using for this module is shown below with the stream conditions. As in the prior example, we will be processing natural gas and steam feeds of fixed composition to produce hydrogen. The process consists of a mixer M101 for the two inlet streams, a compressor to compress the feed to the reaction pressure, a heater H101 to heat the feed to the reaction temperature, and a GibbsReactor unit R101. We will use thermophysical properties following the Peng-Robinsion cubic equation of state for this flowsheet.\n", + "\n", + "The state variables chosen for the property package are **total molar flows of each stream, temperature of each stream and pressure of each stream, and mole fractions of each component in each stream**. The components considered are: **CH4, H2O, CO, CO2, and H2** and the process occurs in vapor phase only. Therefore, every stream has 1 flow variable, 5 mole fraction variables, 1 temperature and 1 pressure variable. \n", + "\n", + "![](msr_flowsheet.png)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing Required Pyomo and IDAES Components\n", + "\n", + "\n", + "To construct a flowsheet, we will need several components from the Pyomo and IDAES packages, as well as some utility tools to build the flowsheet. For further details on these components, please refer to the [Pyomo documentation]( https://pyomo.readthedocs.io/en/stable/).\n", + "\n", + "From IDAES, we will be needing the `FlowsheetBlock` and the following unit models:\n", + "- Feed\n", + "- Mixer\n", + "- Compressor\n", + "- Heater\n", + "- GibbsReactor\n", + "- Product" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import (\n", + " Constraint,\n", + " Var,\n", + " ConcreteModel,\n", + " Expression,\n", + " Objective,\n", + " TransformationFactory,\n", + " value,\n", + " units as pyunits,\n", + ")\n", + "from pyomo.network import Arc\n", + "\n", + "from idaes.core import FlowsheetBlock\n", + "from idaes.models.properties.modular_properties import GenericParameterBlock\n", + "from idaes.models.unit_models import (\n", + " Feed,\n", + " Mixer,\n", + " Compressor,\n", + " Heater,\n", + " GibbsReactor,\n", + " Product,\n", + ")\n", + "\n", + "from idaes.core.solvers import get_solver\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.core.util.initialization import propagate_state" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing Required Thermophysical Package\n", + "\n", + "As mentioned earlier, the `GibbsReactor` does not require a reaction package.\n", + "\n", + "Let us import the following module from the IDAES library:\n", + "- natural_gas_PR as get_prop (method to get configuration dictionary)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.models_extra.power_generation.properties.natural_gas_PR import get_prop" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Constructing the Flowsheet\n", + "\n", + "Let us create a `ConcreteModel` and add the flowsheet block. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m = ConcreteModel()\n", + "m.fs = FlowsheetBlock(dynamic=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now need to add the property packages to the flowsheet. Unlike the previous example, we do not need to add a reaction package for the reactor model to calculate results. We will use the [Modular Property Framework](https://idaes-pse.readthedocs.io/en/stable/explanations/components/property_package/index.html#generic-property-package-framework) to build a state block for the parameter dictionary." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "thermo_props_config_dict = get_prop(components=[\"CH4\", \"H2O\", \"H2\", \"CO\", \"CO2\"])\n", + "m.fs.thermo_params = GenericParameterBlock(**thermo_props_config_dict)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding Unit Models\n", + "\n", + "Let us start adding the unit models we have imported to the flowsheet:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "m.fs.CH4 = Feed(property_package=m.fs.thermo_params)\n", + "m.fs.H2O = Feed(property_package=m.fs.thermo_params)\n", + "m.fs.PROD = Product(property_package=m.fs.thermo_params)\n", + "m.fs.M101 = Mixer(\n", + " property_package=m.fs.thermo_params, inlet_list=[\"methane_feed\", \"steam_feed\"]\n", + ")\n", + "m.fs.H101 = Heater(\n", + " property_package=m.fs.thermo_params,\n", + " has_pressure_change=False,\n", + " has_phase_equilibrium=False,\n", + ")\n", + "m.fs.C101 = Compressor(property_package=m.fs.thermo_params)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "m.fs.R101 = GibbsReactor(\n", + " property_package=m.fs.thermo_params,\n", + " has_heat_transfer=True,\n", + " has_pressure_change=False,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Connecting Unit Models Using Arcs\n", + "\n", + "We have now added all the unit models we need to the flowsheet. Let us connect the unit models by defining and building each `Arc`:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.s01 = Arc(source=m.fs.CH4.outlet, destination=m.fs.M101.methane_feed)\n", + "m.fs.s02 = Arc(source=m.fs.H2O.outlet, destination=m.fs.M101.steam_feed)\n", + "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.C101.inlet)\n", + "m.fs.s04 = Arc(source=m.fs.C101.outlet, destination=m.fs.H101.inlet)\n", + "m.fs.s05 = Arc(source=m.fs.H101.outlet, destination=m.fs.R101.inlet)\n", + "m.fs.s06 = Arc(source=m.fs.R101.outlet, destination=m.fs.PROD.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, we can use Pyomo's `TransformationFactory` to write the equality constraints on each Arc:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "TransformationFactory(\"network.expand_arcs\").apply_to(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding Expressions to Compute Operating Costs\n", + "\n", + "For this flowsheet, we are interested in computing hydrogen production in millions of pounds per year, as well as the total costs due to pressurizing, cooling, and heating utilities:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us add `Expressions` to convert the product flow from mol/s to MM lb/year of hydrogen, and to calculate the cooling, heating and compression operating costs. The total operating cost will be the sum of the costs, expressed in \\\\$/year assuming 8000 operating hours per year (~10\\% downtime, which is fairly common for small scale chemical plants):" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.hyd_prod = Expression(\n", + " expr=pyunits.convert(\n", + " m.fs.PROD.inlet.flow_mol[0]\n", + " * m.fs.PROD.inlet.mole_frac_comp[0, \"H2\"]\n", + " * m.fs.thermo_params.H2.mw, # MW defined in properties as kg/mol\n", + " to_units=pyunits.Mlb / pyunits.yr,\n", + " )\n", + ") # converting kg/s to MM lb/year" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.cooling_cost = Expression(\n", + " expr=0.212e-7 * (m.fs.R101.heat_duty[0])\n", + ") # the reaction is endothermic, so R101 duty is positive\n", + "m.fs.heating_cost = Expression(\n", + " expr=2.2e-7 * m.fs.H101.heat_duty[0]\n", + ") # the stream must be heated to T_rxn, so H101 duty is positive\n", + "m.fs.compression_cost = Expression(\n", + " expr=0.12e-5 * m.fs.C101.work_isentropic[0]\n", + ") # the stream must be pressurized, so the C101 work is positive\n", + "m.fs.operating_cost = Expression(\n", + " expr=(3600 * 8000 * (m.fs.heating_cost + m.fs.cooling_cost + m.fs.compression_cost))\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fixing Feed Conditions\n", + "\n", + "We expect each stream to have 8 degrees of freedom, the mixer to have 0 (after both streams are accounted for), the compressor to have 2 (the pressure change and efficiency), the heater to have 1 (just the duty, since the inlet is also the outlet of M101), and the reactor to have 1 (conversion). Therefore, we have 20 degrees of freedom to specify: temperature, pressure, flow and mole fractions of all five components on both streams; compressor pressure change and efficiency; outlet heater temperature; and reactor conversion." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Based on the literature source, we will initialize our simulation with the following values:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.CH4.outlet.mole_frac_comp[0, \"CH4\"].fix(1)\n", + "m.fs.CH4.outlet.mole_frac_comp[0, \"H2O\"].fix(1e-5)\n", + "m.fs.CH4.outlet.mole_frac_comp[0, \"H2\"].fix(1e-5)\n", + "m.fs.CH4.outlet.mole_frac_comp[0, \"CO\"].fix(1e-5)\n", + "m.fs.CH4.outlet.mole_frac_comp[0, \"CO2\"].fix(1e-5)\n", + "m.fs.CH4.outlet.flow_mol.fix(75 * pyunits.mol / pyunits.s)\n", + "m.fs.CH4.outlet.temperature.fix(298.15 * pyunits.K)\n", + "m.fs.CH4.outlet.pressure.fix(1e5 * pyunits.Pa)\n", + "\n", + "m.fs.H2O.outlet.mole_frac_comp[0, \"CH4\"].fix(1e-5)\n", + "m.fs.H2O.outlet.mole_frac_comp[0, \"H2O\"].fix(1)\n", + "m.fs.H2O.outlet.mole_frac_comp[0, \"H2\"].fix(1e-5)\n", + "m.fs.H2O.outlet.mole_frac_comp[0, \"CO\"].fix(1e-5)\n", + "m.fs.H2O.outlet.mole_frac_comp[0, \"CO2\"].fix(1e-5)\n", + "m.fs.H2O.outlet.flow_mol.fix(234 * pyunits.mol / pyunits.s)\n", + "m.fs.H2O.outlet.temperature.fix(373.15 * pyunits.K)\n", + "m.fs.H2O.outlet.pressure.fix(1e5 * pyunits.Pa)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fixing Unit Model Specifications\n", + "\n", + "For the initial problem, let us fix the compressor outlet pressure to 2 bar for now, the efficiency to 0.90 (a common assumption for compressor units), and the heater outlet temperature to 500 K. We will unfix these values later to optimize the flowsheet." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.C101.outlet.pressure.fix(pyunits.convert(2 * pyunits.bar, to_units=pyunits.Pa))\n", + "m.fs.C101.efficiency_isentropic.fix(0.90)\n", + "m.fs.H101.outlet.temperature.fix(500 * pyunits.K)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The `GibbsReactor` unit model calculates the amount of product and reactant based on the free energy minimization; therefore, we will specify a desired conversion and let the solver determine the reactor duty and heat transfer. For convenience, we will define the reactor conversion as the amount of methane that is converted." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.R101.conversion = Var(\n", + " initialize=0.80, bounds=(0, 1), units=pyunits.dimensionless\n", + ") # fraction\n", + "\n", + "m.fs.R101.conv_constraint = Constraint(\n", + " expr=m.fs.R101.conversion\n", + " * m.fs.R101.inlet.flow_mol[0]\n", + " * m.fs.R101.inlet.mole_frac_comp[0, \"CH4\"]\n", + " == (\n", + " m.fs.R101.inlet.flow_mol[0] * m.fs.R101.inlet.mole_frac_comp[0, \"CH4\"]\n", + " - m.fs.R101.outlet.flow_mol[0] * m.fs.R101.outlet.mole_frac_comp[0, \"CH4\"]\n", + " )\n", + ")\n", + "\n", + "m.fs.R101.conversion.fix(0.80)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For initialization, we solve a square problem (degrees of freedom = 0). Let's check the degrees of freedom below:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, we need to initialize the each unit operation and propagate the outlet results in sequence to solve the flowsheet:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Initialize and solve each unit operation\n", + "m.fs.CH4.initialize()\n", + "propagate_state(arc=m.fs.s01)\n", + "\n", + "m.fs.H2O.initialize()\n", + "propagate_state(arc=m.fs.s02)\n", + "\n", + "m.fs.M101.initialize()\n", + "propagate_state(arc=m.fs.s03)\n", + "\n", + "m.fs.C101.initialize()\n", + "propagate_state(arc=m.fs.s04)\n", + "\n", + "m.fs.H101.initialize()\n", + "propagate_state(arc=m.fs.s05)\n", + "\n", + "m.fs.R101.initialize()\n", + "propagate_state(arc=m.fs.s06)\n", + "\n", + "m.fs.PROD.initialize()\n", + "\n", + "# set solver\n", + "solver = get_solver()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Solve the model\n", + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Analyze the Results of the Square Problem\n", + "\n", + "\n", + "What is the total operating cost? " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.3f} million per year\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For this operating cost, what conversion did we achieve of methane to hydrogen?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.R101.report()\n", + "\n", + "print()\n", + "print(f\"Conversion achieved = {value(m.fs.R101.conversion):.1%}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Optimizing Hydrogen Production\n", + "\n", + "Now that the flowsheet has been squared and solved, we can run a small optimization problem to determine optimal conditions for producing hydrogen. Suppose we wish to find ideal conditions for the competing reactions. The GibbsReactor does not drive equilibrium forward based on temperature, so we will see small amounts of intermediate components present in the product stream. We will allow for variable reactor temperature and pressure by freeing our heater and compressor specifications, and minimize cost to achieve 90% methane conversion. Since we assume an isentopic compressor, allowing compression will heat our feed stream and reduce or eliminate the required heater duty." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us declare our objective function for this problem. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.objective = Objective(expr=m.fs.operating_cost)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, we need to add the design constraints and unfix the decision variables as we had solved a square problem until now, as well as set bounds for the design variables (reactor outlet temperature is set by state variable bounds in property package):" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.R101.conversion.fix(0.90)\n", + "\n", + "m.fs.C101.outlet.pressure.unfix()\n", + "m.fs.C101.outlet.pressure[0].setlb(\n", + " pyunits.convert(1 * pyunits.bar, to_units=pyunits.Pa)\n", + ") # equals inlet pressure\n", + "m.fs.C101.outlet.pressure[0].setlb(\n", + " pyunits.convert(10 * pyunits.bar, to_units=pyunits.Pa)\n", + ") # at most, pressurize to 1 bar\n", + "\n", + "m.fs.H101.outlet.temperature.unfix()\n", + "m.fs.H101.heat_duty[0].setlb(\n", + " 0 * pyunits.J / pyunits.s\n", + ") # ensures outlet is equal to or greater than inlet temperature\n", + "m.fs.H101.outlet.temperature[0].setub(1000 * pyunits.K) # at most, heat to 1000 K" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "We have now defined the optimization problem and we are now ready to solve this problem. \n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.3f} million per year\")\n", + "\n", + "print()\n", + "print(\"Compressor results\")\n", + "\n", + "m.fs.C101.report()\n", + "\n", + "print()\n", + "print(\"Heater results\")\n", + "\n", + "m.fs.H101.report()\n", + "\n", + "print()\n", + "print(\"Gibbs reactor results\")\n", + "\n", + "m.fs.R101.report()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Display optimal values for the decision variables and design variables:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Optimal Values\")\n", + "print()\n", + "\n", + "print(f\"C101 outlet pressure = {value(m.fs.C101.outlet.pressure[0])/1E6:0.3f} MPa\")\n", + "print()\n", + "\n", + "print(f\"C101 outlet temperature = {value(m.fs.C101.outlet.temperature[0]):0.3f} K\")\n", + "print()\n", + "\n", + "print(f\"H101 outlet temperature = {value(m.fs.H101.outlet.temperature[0]):0.3f} K\")\n", + "\n", + "print()\n", + "print(f\"R101 outlet temperature = {value(m.fs.R101.outlet.temperature[0]):0.3f} K\")\n", + "\n", + "print()\n", + "print(f\"Hydrogen produced = {value(m.fs.hyd_prod):0.3f} MM lb/year\")\n", + "\n", + "print()\n", + "print(f\"Conversion achieved = {value(m.fs.R101.conversion):.1%}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.12" + } + }, + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/reactors/gibbs_reactor_test.ipynb b/idaes_examples/notebooks/docs/unit_models/reactors/gibbs_reactor_test.ipynb index 7a9cba50..52a90998 100644 --- a/idaes_examples/notebooks/docs/unit_models/reactors/gibbs_reactor_test.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/reactors/gibbs_reactor_test.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -84,7 +85,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -130,7 +131,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -148,7 +149,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -165,7 +166,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": { "scrolled": true }, @@ -186,7 +187,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": { "scrolled": true }, @@ -208,8 +209,10 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": {}, + "execution_count": null, + "metadata": { + "scrolled": false + }, "outputs": [], "source": [ "m.fs.R101 = GibbsReactor(\n", @@ -230,7 +233,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -251,7 +254,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -276,7 +279,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -292,7 +295,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -321,26 +324,18 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "20\n" - ] - } - ], + "outputs": [], "source": [ "print(degrees_of_freedom(m))" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "metadata": { "tags": [ "testing" @@ -361,7 +356,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -395,7 +390,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -413,7 +408,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -443,24 +438,16 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0\n" - ] - } - ], + "outputs": [], "source": [ "print(degrees_of_freedom(m))" ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "metadata": { "tags": [ "testing" @@ -481,57 +468,9 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-05-23 06:07:53 [INFO] idaes.init.fs.CH4.properties: Starting initialization\n", - "2024-05-23 06:07:53 [INFO] idaes.init.fs.CH4.properties: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:53 [INFO] idaes.init.fs.CH4.properties: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:53 [INFO] idaes.init.fs.CH4: Initialization Complete.\n", - "2024-05-23 06:07:53 [INFO] idaes.init.fs.H2O.properties: Starting initialization\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.H2O.properties: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.H2O.properties: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.H2O: Initialization Complete.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.M101.methane_feed_state: Starting initialization\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.M101.methane_feed_state: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.M101.steam_feed_state: Starting initialization\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.M101.steam_feed_state: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.M101.mixed_state: Starting initialization\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.M101.mixed_state: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.M101.mixed_state: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.C101.control_volume.properties_in: Starting initialization\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.C101.control_volume.properties_in: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.C101.control_volume.properties_out: Starting initialization\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.C101.control_volume.properties_out: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.C101.control_volume.properties_out: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.C101.properties_isentropic: Starting initialization\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.C101.properties_isentropic: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.C101.properties_isentropic: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.C101: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.H101.control_volume.properties_in: Starting initialization\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.H101.control_volume.properties_in: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.H101.control_volume.properties_out: Starting initialization\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.H101.control_volume.properties_out: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.H101.control_volume: Initialization Complete\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.H101: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.R101.control_volume.properties_in: Starting initialization\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.R101.control_volume.properties_in: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.R101.control_volume.properties_out: Starting initialization\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.R101.control_volume.properties_out: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.R101.control_volume: Initialization Complete\n", - "2024-05-23 06:07:56 [INFO] idaes.init.fs.R101: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-05-23 06:07:56 [INFO] idaes.init.fs.PROD.properties: Starting initialization\n", - "2024-05-23 06:07:56 [INFO] idaes.init.fs.PROD.properties: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:56 [INFO] idaes.init.fs.PROD.properties: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:56 [INFO] idaes.init.fs.PROD: Initialization Complete.\n" - ] - } - ], + "outputs": [], "source": [ "# Initialize and solve each unit operation\n", "m.fs.CH4.initialize()\n", @@ -560,84 +499,11 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 591\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 490\n", - "\n", - "Total number of variables............................: 203\n", - " variables with only lower bounds: 13\n", - " variables with lower and upper bounds: 179\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 203\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 1.49e+06 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 1.35e+04 2.00e-01 -1.0 3.59e+00 - 9.90e-01 9.91e-01h 1\n", - " 2 0.0000000e+00 3.59e-04 9.99e+00 -1.0 3.56e+00 - 9.90e-01 1.00e+00h 1\n", - " 3 0.0000000e+00 2.60e-08 8.98e+01 -1.0 2.91e-04 - 9.90e-01 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 7.6029602259665645e-13 2.5960616767406464e-08\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 7.6029602259665645e-13 2.5960616767406464e-08\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.004\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "# Solve the model\n", "results = solver.solve(m, tee=True)" @@ -645,7 +511,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "metadata": { "tags": [ "testing" @@ -671,24 +537,16 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "operating cost = $39.958 million per year\n" - ] - } - ], + "outputs": [], "source": [ "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.3f} million per year\")" ] }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "metadata": { "tags": [ "testing" @@ -710,41 +568,9 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.R101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.7819e+07 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Total Molar Flowrate mole / second 309.01 429.02\n", - " Total Mole Fraction CH4 dimensionless 0.24272 0.034965\n", - " Total Mole Fraction H2O dimensionless 0.75725 0.32532\n", - " Total Mole Fraction H2 dimensionless 9.9996e-06 0.49984\n", - " Total Mole Fraction CO dimensionless 9.9996e-06 0.059609\n", - " Total Mole Fraction CO2 dimensionless 9.9996e-06 0.080265\n", - " Temperature kelvin 500.00 920.80\n", - " Pressure pascal 2.0000e+05 2.0000e+05\n", - "====================================================================================\n", - "\n", - "Conversion achieved = 80.0%\n" - ] - } - ], + "outputs": [], "source": [ "m.fs.R101.report()\n", "\n", @@ -754,7 +580,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "metadata": { "tags": [ "testing" @@ -785,7 +611,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -801,7 +627,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -824,7 +650,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, "metadata": { "tags": [ "testing" @@ -847,101 +673,18 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 598\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 506\n", - "\n", - "Total number of variables............................: 205\n", - " variables with only lower bounds: 14\n", - " variables with lower and upper bounds: 181\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 203\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 3.9958388e+07 1.49e+06 3.46e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 3.8920063e+07 1.48e+06 1.52e+03 -1.0 7.19e+06 - 3.91e-01 6.43e-03f 1\n", - " 2 7.0948609e+07 1.15e+06 1.86e+06 -1.0 4.83e+06 - 1.51e-01 2.26e-01h 1\n", - " 3 1.0553921e+08 5.23e+05 1.04e+07 -1.0 2.42e+06 - 3.41e-01 5.67e-01h 1\n", - " 4 1.0874890e+08 1.58e+05 7.64e+06 -1.0 8.45e+05 - 7.09e-01 7.11e-01h 1\n", - " 5 1.0751027e+08 1.51e+04 1.67e+06 -1.0 2.97e+05 - 9.49e-01 9.09e-01f 1\n", - " 6 1.0721898e+08 5.95e+00 9.98e+03 -1.0 3.47e+04 - 9.90e-01 1.00e+00f 1\n", - " 7 1.0721794e+08 3.43e-05 8.84e+01 -1.0 1.59e+02 - 9.90e-01 1.00e+00f 1\n", - " 8 1.0721794e+08 1.90e-08 7.14e-01 -1.0 1.43e-02 - 9.92e-01 1.00e+00h 1\n", - " 9 1.0721794e+08 7.55e-09 1.53e-06 -2.5 1.72e-02 - 1.00e+00 1.00e+00f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 1.0721794e+08 2.10e-08 1.59e-06 -3.8 4.73e-04 - 1.00e+00 1.00e+00f 1\n", - " 11 1.0721794e+08 1.12e-08 2.07e-06 -5.7 2.63e-05 - 1.00e+00 1.00e+00f 1\n", - " 12 1.0721794e+08 3.57e-08 1.65e-06 -7.0 3.14e-07 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 12\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 1.0721793780338226e+08 1.0721793780338226e+08\n", - "Dual infeasibility......: 1.6485091371912918e-06 1.6485091371912918e-06\n", - "Constraint violation....: 4.6566128730773926e-10 3.5680419252624450e-08\n", - "Complementarity.........: 9.0909090914354020e-08 9.0909090914354020e-08\n", - "Overall NLP error.......: 9.0909090914354020e-08 1.6485091371912918e-06\n", - "\n", - "\n", - "Number of objective function evaluations = 13\n", - "Number of objective gradient evaluations = 13\n", - "Number of equality constraint evaluations = 13\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 13\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 12\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.004\n", - "Total CPU secs in NLP function evaluations = 0.011\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "results = solver.solve(m, tee=True)" ] }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "metadata": { "tags": [ "testing" @@ -957,95 +700,9 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "operating cost = $107.218 million per year\n", - "\n", - "Compressor results\n", - "\n", - "====================================================================================\n", - "Unit : fs.C101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.90000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 3.0334e+06 : watt : False : (None, None)\n", - " Pressure Change : 9.0000e+05 : pascal : False : (None, None)\n", - " Pressure Ratio : 10.000 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Total Molar Flowrate mole / second 309.01 309.01\n", - " Total Mole Fraction CH4 dimensionless 0.24272 0.24272\n", - " Total Mole Fraction H2O dimensionless 0.75725 0.75725\n", - " Total Mole Fraction H2 dimensionless 9.9996e-06 9.9996e-06\n", - " Total Mole Fraction CO dimensionless 9.9996e-06 9.9996e-06\n", - " Total Mole Fraction CO2 dimensionless 9.9996e-06 9.9996e-06\n", - " Temperature kelvin 353.80 619.25\n", - " Pressure pascal 1.0000e+05 1.0000e+06\n", - "====================================================================================\n", - "\n", - "Heater results\n", - "\n", - "====================================================================================\n", - "Unit : fs.H101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 5.8781e-09 : watt : False : (0.0, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Total Molar Flowrate mole / second 309.01 309.01\n", - " Total Mole Fraction CH4 dimensionless 0.24272 0.24272\n", - " Total Mole Fraction H2O dimensionless 0.75725 0.75725\n", - " Total Mole Fraction H2 dimensionless 9.9996e-06 9.9996e-06\n", - " Total Mole Fraction CO dimensionless 9.9996e-06 9.9996e-06\n", - " Total Mole Fraction CO2 dimensionless 9.9996e-06 9.9996e-06\n", - " Temperature kelvin 619.25 619.25\n", - " Pressure pascal 1.0000e+06 1.0000e+06\n", - "====================================================================================\n", - "\n", - "Gibbs reactor results\n", - "\n", - "====================================================================================\n", - "Unit : fs.R101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 2.1076e+07 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Total Molar Flowrate mole / second 309.01 444.02\n", - " Total Mole Fraction CH4 dimensionless 0.24272 0.016892\n", - " Total Mole Fraction H2O dimensionless 0.75725 0.31609\n", - " Total Mole Fraction H2 dimensionless 9.9996e-06 0.51498\n", - " Total Mole Fraction CO dimensionless 9.9996e-06 0.093140\n", - " Total Mole Fraction CO2 dimensionless 9.9996e-06 0.058900\n", - " Temperature kelvin 619.25 1087.4\n", - " Pressure pascal 1.0000e+06 1.0000e+06\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.3f} million per year\")\n", "\n", @@ -1067,7 +724,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "metadata": { "tags": [ "testing" @@ -1087,29 +744,9 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Optimal Values\n", - "\n", - "C101 outlet pressure = 1.000 MPa\n", - "\n", - "C101 outlet temperature = 619.248 K\n", - "\n", - "H101 outlet temperature = 619.248 K\n", - "\n", - "R101 outlet temperature = 1087.385 K\n", - "\n", - "Hydrogen produced = 32.070 MM lb/year\n", - "\n", - "Conversion achieved = 90.0%\n" - ] - } - ], + "outputs": [], "source": [ "print(\"Optimal Values\")\n", "print()\n", @@ -1134,7 +771,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": null, "metadata": { "tags": [ "testing" @@ -1175,7 +812,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.18" + "version": "3.9.12" } }, "nbformat": 4, diff --git a/idaes_examples/notebooks/docs/unit_models/reactors/gibbs_reactor_usr.ipynb b/idaes_examples/notebooks/docs/unit_models/reactors/gibbs_reactor_usr.ipynb index b7984618..2c673046 100644 --- a/idaes_examples/notebooks/docs/unit_models/reactors/gibbs_reactor_usr.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/reactors/gibbs_reactor_usr.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "tags": [ "header", @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, @@ -84,7 +85,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -130,7 +131,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -148,7 +149,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -165,7 +166,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": { "scrolled": true }, @@ -186,7 +187,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": { "scrolled": true }, @@ -208,8 +209,10 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": {}, + "execution_count": null, + "metadata": { + "scrolled": false + }, "outputs": [], "source": [ "m.fs.R101 = GibbsReactor(\n", @@ -230,7 +233,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -251,7 +254,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -276,7 +279,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -292,7 +295,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -321,19 +324,11 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "20\n" - ] - } - ], + "outputs": [], "source": [ "print(degrees_of_freedom(m))" ] @@ -347,7 +342,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -381,7 +376,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -399,7 +394,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -429,17 +424,9 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0\n" - ] - } - ], + "outputs": [], "source": [ "print(degrees_of_freedom(m))" ] @@ -453,57 +440,9 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-05-23 06:07:53 [INFO] idaes.init.fs.CH4.properties: Starting initialization\n", - "2024-05-23 06:07:53 [INFO] idaes.init.fs.CH4.properties: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:53 [INFO] idaes.init.fs.CH4.properties: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:53 [INFO] idaes.init.fs.CH4: Initialization Complete.\n", - "2024-05-23 06:07:53 [INFO] idaes.init.fs.H2O.properties: Starting initialization\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.H2O.properties: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.H2O.properties: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.H2O: Initialization Complete.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.M101.methane_feed_state: Starting initialization\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.M101.methane_feed_state: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.M101.steam_feed_state: Starting initialization\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.M101.steam_feed_state: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.M101.mixed_state: Starting initialization\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.M101.mixed_state: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.M101.mixed_state: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.M101: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.C101.control_volume.properties_in: Starting initialization\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.C101.control_volume.properties_in: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.C101.control_volume.properties_out: Starting initialization\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.C101.control_volume.properties_out: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.C101.control_volume.properties_out: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.C101.properties_isentropic: Starting initialization\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.C101.properties_isentropic: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:54 [INFO] idaes.init.fs.C101.properties_isentropic: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.C101: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.H101.control_volume.properties_in: Starting initialization\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.H101.control_volume.properties_in: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.H101.control_volume.properties_out: Starting initialization\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.H101.control_volume.properties_out: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.H101.control_volume: Initialization Complete\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.H101: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.R101.control_volume.properties_in: Starting initialization\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.R101.control_volume.properties_in: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.R101.control_volume.properties_out: Starting initialization\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.R101.control_volume.properties_out: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:55 [INFO] idaes.init.fs.R101.control_volume: Initialization Complete\n", - "2024-05-23 06:07:56 [INFO] idaes.init.fs.R101: Initialization Complete: optimal - Optimal Solution Found\n", - "2024-05-23 06:07:56 [INFO] idaes.init.fs.PROD.properties: Starting initialization\n", - "2024-05-23 06:07:56 [INFO] idaes.init.fs.PROD.properties: Property initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:56 [INFO] idaes.init.fs.PROD.properties: Property package initialization: optimal - Optimal Solution Found.\n", - "2024-05-23 06:07:56 [INFO] idaes.init.fs.PROD: Initialization Complete.\n" - ] - } - ], + "outputs": [], "source": [ "# Initialize and solve each unit operation\n", "m.fs.CH4.initialize()\n", @@ -532,84 +471,11 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 591\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 490\n", - "\n", - "Total number of variables............................: 203\n", - " variables with only lower bounds: 13\n", - " variables with lower and upper bounds: 179\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 203\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 0.0000000e+00 1.49e+06 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 0.0000000e+00 1.35e+04 2.00e-01 -1.0 3.59e+00 - 9.90e-01 9.91e-01h 1\n", - " 2 0.0000000e+00 3.59e-04 9.99e+00 -1.0 3.56e+00 - 9.90e-01 1.00e+00h 1\n", - " 3 0.0000000e+00 2.60e-08 8.98e+01 -1.0 2.91e-04 - 9.90e-01 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 3\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Dual infeasibility......: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Constraint violation....: 7.6029602259665645e-13 2.5960616767406464e-08\n", - "Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00\n", - "Overall NLP error.......: 7.6029602259665645e-13 2.5960616767406464e-08\n", - "\n", - "\n", - "Number of objective function evaluations = 4\n", - "Number of objective gradient evaluations = 4\n", - "Number of equality constraint evaluations = 4\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 4\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 3\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.004\n", - "Total CPU secs in NLP function evaluations = 0.000\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "# Solve the model\n", "results = solver.solve(m, tee=True)" @@ -627,17 +493,9 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "operating cost = $39.958 million per year\n" - ] - } - ], + "outputs": [], "source": [ "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.3f} million per year\")" ] @@ -651,41 +509,9 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "====================================================================================\n", - "Unit : fs.R101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 1.7819e+07 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Total Molar Flowrate mole / second 309.01 429.02\n", - " Total Mole Fraction CH4 dimensionless 0.24272 0.034965\n", - " Total Mole Fraction H2O dimensionless 0.75725 0.32532\n", - " Total Mole Fraction H2 dimensionless 9.9996e-06 0.49984\n", - " Total Mole Fraction CO dimensionless 9.9996e-06 0.059609\n", - " Total Mole Fraction CO2 dimensionless 9.9996e-06 0.080265\n", - " Temperature kelvin 500.00 920.80\n", - " Pressure pascal 2.0000e+05 2.0000e+05\n", - "====================================================================================\n", - "\n", - "Conversion achieved = 80.0%\n" - ] - } - ], + "outputs": [], "source": [ "m.fs.R101.report()\n", "\n", @@ -711,7 +537,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -727,7 +553,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -760,189 +586,20 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", - "tol=1e-06\n", - "max_iter=200\n", - "\n", - "\n", - "******************************************************************************\n", - "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", - " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", - " For more information visit http://projects.coin-or.org/Ipopt\n", - "\n", - "This version of Ipopt was compiled from source code available at\n", - " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", - " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", - " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", - "\n", - "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", - " for large-scale scientific computation. All technical papers, sales and\n", - " publicity material resulting from use of the HSL codes within IPOPT must\n", - " contain the following acknowledgement:\n", - " HSL, a collection of Fortran codes for large-scale scientific\n", - " computation. See http://www.hsl.rl.ac.uk.\n", - "******************************************************************************\n", - "\n", - "This is Ipopt version 3.13.2, running with linear solver ma27.\n", - "\n", - "Number of nonzeros in equality constraint Jacobian...: 598\n", - "Number of nonzeros in inequality constraint Jacobian.: 0\n", - "Number of nonzeros in Lagrangian Hessian.............: 506\n", - "\n", - "Total number of variables............................: 205\n", - " variables with only lower bounds: 14\n", - " variables with lower and upper bounds: 181\n", - " variables with only upper bounds: 0\n", - "Total number of equality constraints.................: 203\n", - "Total number of inequality constraints...............: 0\n", - " inequality constraints with only lower bounds: 0\n", - " inequality constraints with lower and upper bounds: 0\n", - " inequality constraints with only upper bounds: 0\n", - "\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 0 3.9958388e+07 1.49e+06 3.46e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", - " 1 3.8920063e+07 1.48e+06 1.52e+03 -1.0 7.19e+06 - 3.91e-01 6.43e-03f 1\n", - " 2 7.0948609e+07 1.15e+06 1.86e+06 -1.0 4.83e+06 - 1.51e-01 2.26e-01h 1\n", - " 3 1.0553921e+08 5.23e+05 1.04e+07 -1.0 2.42e+06 - 3.41e-01 5.67e-01h 1\n", - " 4 1.0874890e+08 1.58e+05 7.64e+06 -1.0 8.45e+05 - 7.09e-01 7.11e-01h 1\n", - " 5 1.0751027e+08 1.51e+04 1.67e+06 -1.0 2.97e+05 - 9.49e-01 9.09e-01f 1\n", - " 6 1.0721898e+08 5.95e+00 9.98e+03 -1.0 3.47e+04 - 9.90e-01 1.00e+00f 1\n", - " 7 1.0721794e+08 3.43e-05 8.84e+01 -1.0 1.59e+02 - 9.90e-01 1.00e+00f 1\n", - " 8 1.0721794e+08 1.90e-08 7.14e-01 -1.0 1.43e-02 - 9.92e-01 1.00e+00h 1\n", - " 9 1.0721794e+08 7.55e-09 1.53e-06 -2.5 1.72e-02 - 1.00e+00 1.00e+00f 1\n", - "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", - " 10 1.0721794e+08 2.10e-08 1.59e-06 -3.8 4.73e-04 - 1.00e+00 1.00e+00f 1\n", - " 11 1.0721794e+08 1.12e-08 2.07e-06 -5.7 2.63e-05 - 1.00e+00 1.00e+00f 1\n", - " 12 1.0721794e+08 3.57e-08 1.65e-06 -7.0 3.14e-07 - 1.00e+00 1.00e+00h 1\n", - "\n", - "Number of Iterations....: 12\n", - "\n", - " (scaled) (unscaled)\n", - "Objective...............: 1.0721793780338226e+08 1.0721793780338226e+08\n", - "Dual infeasibility......: 1.6485091371912918e-06 1.6485091371912918e-06\n", - "Constraint violation....: 4.6566128730773926e-10 3.5680419252624450e-08\n", - "Complementarity.........: 9.0909090914354020e-08 9.0909090914354020e-08\n", - "Overall NLP error.......: 9.0909090914354020e-08 1.6485091371912918e-06\n", - "\n", - "\n", - "Number of objective function evaluations = 13\n", - "Number of objective gradient evaluations = 13\n", - "Number of equality constraint evaluations = 13\n", - "Number of inequality constraint evaluations = 0\n", - "Number of equality constraint Jacobian evaluations = 13\n", - "Number of inequality constraint Jacobian evaluations = 0\n", - "Number of Lagrangian Hessian evaluations = 12\n", - "Total CPU secs in IPOPT (w/o function evaluations) = 0.004\n", - "Total CPU secs in NLP function evaluations = 0.011\n", - "\n", - "EXIT: Optimal Solution Found.\n" - ] - } - ], + "outputs": [], "source": [ "results = solver.solve(m, tee=True)" ] }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "operating cost = $107.218 million per year\n", - "\n", - "Compressor results\n", - "\n", - "====================================================================================\n", - "Unit : fs.C101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Isentropic Efficiency : 0.90000 : dimensionless : True : (None, None)\n", - " Mechanical Work : 3.0334e+06 : watt : False : (None, None)\n", - " Pressure Change : 9.0000e+05 : pascal : False : (None, None)\n", - " Pressure Ratio : 10.000 : dimensionless : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Total Molar Flowrate mole / second 309.01 309.01\n", - " Total Mole Fraction CH4 dimensionless 0.24272 0.24272\n", - " Total Mole Fraction H2O dimensionless 0.75725 0.75725\n", - " Total Mole Fraction H2 dimensionless 9.9996e-06 9.9996e-06\n", - " Total Mole Fraction CO dimensionless 9.9996e-06 9.9996e-06\n", - " Total Mole Fraction CO2 dimensionless 9.9996e-06 9.9996e-06\n", - " Temperature kelvin 353.80 619.25\n", - " Pressure pascal 1.0000e+05 1.0000e+06\n", - "====================================================================================\n", - "\n", - "Heater results\n", - "\n", - "====================================================================================\n", - "Unit : fs.H101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 5.8781e-09 : watt : False : (0.0, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Total Molar Flowrate mole / second 309.01 309.01\n", - " Total Mole Fraction CH4 dimensionless 0.24272 0.24272\n", - " Total Mole Fraction H2O dimensionless 0.75725 0.75725\n", - " Total Mole Fraction H2 dimensionless 9.9996e-06 9.9996e-06\n", - " Total Mole Fraction CO dimensionless 9.9996e-06 9.9996e-06\n", - " Total Mole Fraction CO2 dimensionless 9.9996e-06 9.9996e-06\n", - " Temperature kelvin 619.25 619.25\n", - " Pressure pascal 1.0000e+06 1.0000e+06\n", - "====================================================================================\n", - "\n", - "Gibbs reactor results\n", - "\n", - "====================================================================================\n", - "Unit : fs.R101 Time: 0.0\n", - "------------------------------------------------------------------------------------\n", - " Unit Performance\n", - "\n", - " Variables: \n", - "\n", - " Key : Value : Units : Fixed : Bounds\n", - " Heat Duty : 2.1076e+07 : watt : False : (None, None)\n", - "\n", - "------------------------------------------------------------------------------------\n", - " Stream Table\n", - " Units Inlet Outlet \n", - " Total Molar Flowrate mole / second 309.01 444.02\n", - " Total Mole Fraction CH4 dimensionless 0.24272 0.016892\n", - " Total Mole Fraction H2O dimensionless 0.75725 0.31609\n", - " Total Mole Fraction H2 dimensionless 9.9996e-06 0.51498\n", - " Total Mole Fraction CO dimensionless 9.9996e-06 0.093140\n", - " Total Mole Fraction CO2 dimensionless 9.9996e-06 0.058900\n", - " Temperature kelvin 619.25 1087.4\n", - " Pressure pascal 1.0000e+06 1.0000e+06\n", - "====================================================================================\n" - ] - } - ], + "outputs": [], "source": [ "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.3f} million per year\")\n", "\n", @@ -971,29 +628,9 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Optimal Values\n", - "\n", - "C101 outlet pressure = 1.000 MPa\n", - "\n", - "C101 outlet temperature = 619.248 K\n", - "\n", - "H101 outlet temperature = 619.248 K\n", - "\n", - "R101 outlet temperature = 1087.385 K\n", - "\n", - "Hydrogen produced = 32.070 MM lb/year\n", - "\n", - "Conversion achieved = 90.0%\n" - ] - } - ], + "outputs": [], "source": [ "print(\"Optimal Values\")\n", "print()\n", @@ -1041,7 +678,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.18" + "version": "3.9.12" } }, "nbformat": 4, diff --git a/idaes_examples/notebooks/docs/unit_models/reactors/msr_reaction.py b/idaes_examples/notebooks/docs/unit_models/reactors/msr_reaction.py index e8a70eba..7a265ac2 100644 --- a/idaes_examples/notebooks/docs/unit_models/reactors/msr_reaction.py +++ b/idaes_examples/notebooks/docs/unit_models/reactors/msr_reaction.py @@ -3,12 +3,13 @@ # Framework (IDAES IP) was produced under the DOE Institute for the # Design of Advanced Energy Systems (IDAES). # -# Copyright (c) 2018-2023 by the software owners: The Regents of the +# Copyright (c) 2018-2025 by the software owners: The Regents of the # University of California, through Lawrence Berkeley National Laboratory, # National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon # University, West Virginia University Research Corporation, et al. # All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md # for full copyright and license information. +# ################################################################################# """ Property package for Methane Steam Reforming and Water Gas Shift diff --git a/idaes_examples/notebooks/docs/unit_models/reactors/plug_flow_reactor.ipynb b/idaes_examples/notebooks/docs/unit_models/reactors/plug_flow_reactor.ipynb index 989a3458..c3277436 100644 --- a/idaes_examples/notebooks/docs/unit_models/reactors/plug_flow_reactor.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/reactors/plug_flow_reactor.ipynb @@ -1,980 +1,981 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "# Flowsheet Plug Flow Reactor (PFR) Simulation and Optimization of Ethylene Glycol Production\n", - "Author: Andrew Lee \n", - "Maintainer: Andrew Lee \n", - "\n", - "\n", - "## Learning Outcomes\n", - "\n", - "\n", - "- Call and implement the IDAES PFR unit model\n", - "- Construct a steady-state flowsheet using the IDAES unit model library\n", - "- Connecting unit models in a flowsheet using Arcs\n", - "- Fomulate and solve an optimization problem\n", - " - Defining an objective function\n", - " - Setting variable bounds\n", - " - Adding additional constraints \n", - "\n", - "\n", - "## Problem Statement\n", - "\n", - "Following the previous example implementing a [Continuous Stirred Tank Reactor (CSTR) unit model](http://localhost:8888/notebooks/GitHub/examples-pse/src/Examples/UnitModels/Reactors/cstr_testing.ipynb), we can alter the flowsheet to use a plug flow reactor (PFR). As before, this example is adapted from Fogler, H.S., Elements of Chemical Reaction Engineering 5th ed., 2016, Prentice Hall, p. 157-160 with the following chemical reaction, property packages and flowsheet. Unlike a CSTR which assumes well-mixed liquid behavior, the concentration profiles will vary spatially in one dimension. In actuality, following start-up flow reactor exhibit dynamic behavior as they approach a steady-state equilibrium; we will assume our system has already achieved steady-state behavior. The state variables chosen for the property package are **molar flows of each component by phase in each stream, temperature of each stream and pressure of each stream**. The components considered are: **ethylene oxide, water, sulfuric acid and ethylene glycol** and the process occurs in liquid phase only. Therefore, every stream has 4 flow variables, 1 temperature and 1 pressure variable.\n", - "\n", - "Chemical reaction:\n", - "\n", - "**C2H4O + H2O + H2SO4 → C2H6O2 + H2SO4**\n", - "\n", - "Property Packages:\n", - "\n", - "- egprod_ideal.py\n", - "- egprod_reaction.py\n", - "\n", - "Flowsheet\n", - "\n", - "![](egprod_flowsheet.png)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing Required Pyomo and IDAES components\n", - "\n", - "\n", - "To construct a flowsheet, we will need several components from the Pyomo and IDAES packages. Let us first import the following components from Pyomo:\n", - "- Constraint (to write constraints)\n", - "- Var (to declare variables)\n", - "- ConcreteModel (to create the concrete model object)\n", - "- Expression (to evaluate values as a function of variables defined in the model)\n", - "- Objective (to define an objective function for optimization)\n", - "- TransformationFactory (to apply certain transformations)\n", - "- Arc (to connect two unit models)\n", - "\n", - "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/stable/\n", - "\n", - "From idaes, we will be needing the `FlowsheetBlock` and the following unit models:\n", - "- Mixer\n", - "- Heater\n", - "- PFR\n", - "\n", - "We will also be needing some utility tools to put together the flowsheet and calculate the degrees of freedom, tools for model expressions and calling variable values, and built-in functions to define property packages, add unit containers to objects and define our initialization scheme.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.environ import (\n", - " Constraint,\n", - " Var,\n", - " ConcreteModel,\n", - " Expression,\n", - " Objective,\n", - " TransformationFactory,\n", - " value,\n", - " units as pyunits,\n", - ")\n", - "from pyomo.network import Arc\n", - "\n", - "from idaes.core import FlowsheetBlock\n", - "from idaes.models.properties.modular_properties import (\n", - " GenericParameterBlock,\n", - " GenericReactionParameterBlock,\n", - ")\n", - "from idaes.models.unit_models import Feed, Mixer, Heater, PFR, Product\n", - "\n", - "from idaes.core.solvers import get_solver\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.util.initialization import propagate_state" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing Required Thermophysical and Reaction Packages\n", - "\n", - "The final step is to import the thermophysical and reaction packages. We have created a custom thermophysical package that support ideal vapor and liquid behavior for this system, and in this case we will restrict it to ideal liquid behavior only.\n", - "\n", - "The reaction package here assumes Arrhenius kinetic behavior for the PFR, for which $k_0$ and $E_a$ are known *a priori* (if unknown, they may be obtained using one of the parameter estimation tools within IDAES).\n", - "\n", - "$ r = -kVC_{EO} $, $ k = k_0 e^{(-E_a/RT)}$, with the variables as follows:\n", - "\n", - "$r$ - reaction rate extent in moles of ethylene oxide consumed per second; note that the traditional reaction rate would be given by $rate = r/V$ in moles per $m^3$ per second \n", - "$k$ - reaction rate constant per second \n", - "$V$ - volume of PFR in $m^3$, note that this is *liquid volume* and not the *total volume* of the reactor itself \n", - "$C_{EO}$ - bulk concentration of ethylene oxide in moles per $m^3$ (the limiting reagent, since we assume excess catalyst and water) \n", - "$k_0$ - pre-exponential Arrhenius factor per second \n", - "$E_a$ - reaction activation energy in kJ per mole of ethylene oxide consumed \n", - "$R$ - gas constant in J/mol-K \n", - "$T$ - reactor temperature in K\n", - "\n", - "These calculations are contained within the property, reaction and unit model packages, and do not need to be entered into the flowsheet. More information on property estimation may be found in the IDAES documentation on [Parameter Estimation](https://idaes-pse.readthedocs.io/en/stable/how_to_guides/workflow/data_rec_parmest.html).\n", - "\n", - "Let us import the following modules from the same directory as this Jupyter notebook:\n", - "- egprod_ideal as thermo_props\n", - "- egprod_reaction as reaction_props" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "import egprod_ideal as thermo_props\n", - "import egprod_reaction as reaction_props" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Constructing the Flowsheet\n", - "\n", - "We have now imported all the components, unit models, and property modules we need to construct a flowsheet. Let us create a ConcreteModel and add the flowsheet block. " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "m = ConcreteModel()\n", - "m.fs = FlowsheetBlock(dynamic=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We now need to add the property packages to the flowsheet. Unlike the basic [Flash unit model example](http://localhost:8888/notebooks/GitHub/examples-pse/src/Tutorials/Basics/flash_unit_solution_testing.ipynb), where we only had a thermophysical property package, for this flowsheet we will also need to add a reaction property package. We will use the [Modular Property Framework](https://idaes-pse.readthedocs.io/en/stable/explanations/components/property_package/index.html#generic-property-package-framework) and [Modular Reaction Framework](https://idaes-pse.readthedocs.io/en/stable/explanations/components/property_package/index.html#generic-reaction-package-framework). The get_prop method for the natural gas property module automatically returns the correct dictionary using a component list argument. The GenericParameterBlock and GenericReactionParameterBlock methods build states blocks from passed parameter data; the reaction block unpacks using **reaction_props.config_dict to allow for optional or empty keyword arguments:" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "m.fs.thermo_params = GenericParameterBlock(**thermo_props.config_dict)\n", - "m.fs.reaction_params = GenericReactionParameterBlock(\n", - " property_package=m.fs.thermo_params, **reaction_props.config_dict\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding Unit Models\n", - "\n", - "Let us start adding the unit models we have imported to the flowsheet. Here, we are adding a `Mixer`, a `Heater` and a `PFR`. Note that all unit models need to be given a property package argument. In addition to that, there are several arguments depending on the unit model, please refer to the documentation for more details on [IDAES Unit Models](https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/index.html). For example, the `Mixer` is given a `list` consisting of names to the two inlets." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "m.fs.OXIDE = Feed(property_package=m.fs.thermo_params)\n", - "m.fs.ACID = Feed(property_package=m.fs.thermo_params)\n", - "m.fs.PROD = Product(property_package=m.fs.thermo_params)\n", - "m.fs.M101 = Mixer(\n", - " property_package=m.fs.thermo_params, inlet_list=[\"reagent_feed\", \"catalyst_feed\"]\n", - ")\n", - "m.fs.H101 = Heater(\n", - " property_package=m.fs.thermo_params,\n", - " has_pressure_change=False,\n", - " has_phase_equilibrium=False,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "m.fs.R101 = PFR(\n", - " property_package=m.fs.thermo_params,\n", - " reaction_package=m.fs.reaction_params,\n", - " has_equilibrium_reactions=False,\n", - " has_heat_of_reaction=True,\n", - " has_heat_transfer=True,\n", - " has_pressure_change=False,\n", - " transformation_method=\"dae.finite_difference\",\n", - " transformation_scheme=\"BACKWARD\",\n", - " finite_elements=20,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Connecting Unit Models Using Arcs\n", - "\n", - "We have now added all the unit models we need to the flowsheet. However, we have not yet specified how the units are to be connected. To do this, we will be using the `Arc` which is a pyomo component that takes in two arguments: `source` and `destination`. Let us connect the outlet of the `Mixer` to the inlet of the `Heater`, and the outlet of the `Heater` to the inlet of the `PFR`. Additionally, we will connect the `Feed` and `Product` blocks to the flowsheet:" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.s01 = Arc(source=m.fs.OXIDE.outlet, destination=m.fs.M101.reagent_feed)\n", - "m.fs.s02 = Arc(source=m.fs.ACID.outlet, destination=m.fs.M101.catalyst_feed)\n", - "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.H101.inlet)\n", - "m.fs.s04 = Arc(source=m.fs.H101.outlet, destination=m.fs.R101.inlet)\n", - "m.fs.s05 = Arc(source=m.fs.R101.outlet, destination=m.fs.PROD.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We have now connected the unit model block using the arcs. However, we also need to link the state variables on connected ports. Pyomo provides a convenient method `TransformationFactory` to write these equality constraints for us between two ports:" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "TransformationFactory(\"network.expand_arcs\").apply_to(m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding Expressions to Compute Operating Costs\n", - "\n", - "In this section, we will add a few Expressions that allows us to evaluate the performance. `Expressions` provide a convenient way of calculating certain values that are a function of the variables defined in the model. For more details on `Expressions`, please refer to the [Pyomo Expression documentation]( https://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html).\n", - "\n", - "For this flowsheet, we are interested in computing ethylene glycol production in millions of pounds per year, as well as the total costs due to cooling and heating utilities." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us first add an `Expression` to convert the product flow from mol/s to MM lb/year of ethylene glycol. We see that the molecular weight exists in the thermophysical property package, so we may use that value for our calculations." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.eg_prod = Expression(\n", - " expr=pyunits.convert(\n", - " m.fs.PROD.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", - " * m.fs.thermo_params.ethylene_glycol.mw, # MW defined in properties as kg/mol\n", - " to_units=pyunits.Mlb / pyunits.yr,\n", - " )\n", - ") # converting kg/s to MM lb/year" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, let us add expressions to compute the reactor cooling cost (\\\\$/s) assuming a cost of 2.12E-5 \\\\$/kW, and the heating utility cost (\\\\$/s) assuming 2.2E-4 \\\\$/kW. To calculate cooling cost, it is important to note that the heat duty is not constant throughout the reactor's length and is expressed in terms of heat per length (J/m/s). This is why we utilize the trapezoid rule to calculate the total heat duty of the reactor:$Q=\\Delta x\\big(\\sum_{k=1}^{N-1}(Q_k)+\\frac{Q_N+Q_0}{2}\\big)$ \n", - "where k is the subinterval in the length domain, N is the number of intervals, and $\\Delta x$ is the length of the interval.\n", - "Note that the heat duty is in units of watt (J/s). The total operating cost will be the sum of the two, expressed in \\\\$/year, assuming 8000 operating hours per year (~10\\% downtime, which is fairly common for small scale chemical plants):" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "m.fs.cooling_cost = Expression(\n", - " expr=2.12e-8\n", - " * m.fs.R101.length\n", - " / m.fs.R101.config.finite_elements\n", - " * (\n", - " -sum(\n", - " m.fs.R101.heat_duty[0, k]\n", - " for k in m.fs.R101.control_volume.length_domain\n", - " if 0.0 <= k < 1.0\n", - " )\n", - " )\n", - " - (\n", - " value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(1)])\n", - " - value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(-1)])\n", - " )\n", - " / 2\n", - ") # the reaction is exothermic, so R101 duty is negative\n", - "m.fs.heating_cost = Expression(\n", - " expr=2.2e-7 * m.fs.H101.heat_duty[0]\n", - ") # the stream must be heated to T_rxn, so H101 duty is positive\n", - "m.fs.operating_cost = Expression(\n", - " expr=(3600 * 8000 * (m.fs.heating_cost + m.fs.cooling_cost))\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Fixing Feed Conditions\n", - "\n", - "Let us first check how many degrees of freedom exist for this flowsheet using the `degrees_of_freedom` tool we imported earlier. We expect each stream to have 6 degrees of freedom, the mixer to have 0 (after both streams are accounted for), the heater to have 1 (just the duty, since the inlet is also the outlet of M101), and the reactor to have 2 unit specifications and 1 specification for each finite element. Therefore, we have 35 degrees of freedom to specify: temperature, pressure and flow of all four components on both streams; outlet heater temperature; a reactor property such as conversion or heat duty at each finite element; reactor volume and reactor length." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "# Check the degrees of freedom\n", - "assert degrees_of_freedom(m) == 35" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will now be fixing the feed stream to the conditions shown in the flowsheet above. As mentioned in other tutorials, the IDAES framework expects a time index value for every referenced internal stream or unit variable, even in steady-state systems with a single time point $ t = 0 $ (`t = [0]` is the default when creating a `FlowsheetBlock` without passing a `time_set` argument). The non-present components in each stream are assigned a very small non-zero value to help with convergence and initializing. Based on stoichiometric ratios for the reaction, 80% conversion and 200 MM lb/year (46.4 mol/s) of ethylene glycol, we will initialize our simulation with the following calculated values:" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"].fix(\n", - " 58.0 * pyunits.mol / pyunits.s\n", - ")\n", - "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].fix(\n", - " 39.6 * pyunits.mol / pyunits.s\n", - ") # calculated from 16.1 mol EO / cudm in stream\n", - "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"sulfuric_acid\"].fix(\n", - " 1e-5 * pyunits.mol / pyunits.s\n", - ")\n", - "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].fix(\n", - " 1e-5 * pyunits.mol / pyunits.s\n", - ")\n", - "m.fs.OXIDE.outlet.temperature.fix(298.15 * pyunits.K)\n", - "m.fs.OXIDE.outlet.pressure.fix(1e5 * pyunits.Pa)\n", - "\n", - "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"].fix(\n", - " 1e-5 * pyunits.mol / pyunits.s\n", - ")\n", - "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].fix(\n", - " 200 * pyunits.mol / pyunits.s\n", - ")\n", - "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"sulfuric_acid\"].fix(\n", - " 0.334 * pyunits.mol / pyunits.s\n", - ") # calculated from 0.9 wt% SA in stream\n", - "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].fix(\n", - " 1e-5 * pyunits.mol / pyunits.s\n", - ")\n", - "m.fs.ACID.outlet.temperature.fix(298.15 * pyunits.K)\n", - "m.fs.ACID.outlet.pressure.fix(1e5 * pyunits.Pa)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Fixing Unit Model Specifications\n", - "\n", - "Now that we have fixed our inlet feed conditions, we will now be fixing the operating conditions for the unit models in the flowsheet. Let us fix the outlet temperature of H101 to 328.15 K. " - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.H101.outlet.temperature.fix(328.15 * pyunits.K)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For the `PFR`, we have to define the conversion in terms of ethylene oxide. Note that the `PFR` reaction volume variable (m.fs.R101.volume) does not need to be defined here since it is internally defined by the `PFR` model. We'll estimate 50% conversion for our initial flowsheet:" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "m.fs.R101.conversion = Var(\n", - " bounds=(0, 1), initialize=0.80, units=pyunits.dimensionless\n", - ") # fraction\n", - "\n", - "m.fs.R101.conv_constraint = Constraint(\n", - " expr=m.fs.R101.conversion\n", - " * m.fs.R101.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"]\n", - " == (\n", - " m.fs.R101.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"]\n", - " - m.fs.R101.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"]\n", - " )\n", - ")\n", - "\n", - "for x in m.fs.R101.control_volume.length_domain:\n", - " if x == 0:\n", - " continue\n", - " m.fs.R101.control_volume.properties[0, x].temperature.fix(\n", - " 328.15 * pyunits.K\n", - " ) # equal inlet reactor temperature\n", - "\n", - "m.fs.R101.conversion.fix(0.5)\n", - "\n", - "m.fs.R101.length.fix(1 * pyunits.m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As we did not place a specification on reactor duty, the solver may try positive values to increase the reaction temperature and rate. To prevent the optimization from diverging, we need to set an upper bound restricting heat flow to cooling only:" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.R101.heat_duty.setub(\n", - " 0 * pyunits.J / pyunits.m / pyunits.s\n", - ") # heat duty is only used for cooling" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For initialization, we solve a square problem (degrees of freedom = 0). Let's check the degrees of freedom below:" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [], - "source": [ - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "# Check the degrees of freedom\n", - "assert degrees_of_freedom(m) == 0" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finally, we need to initialize the each unit operation in sequence to solve the flowsheet. As in best practice, unit operations are initialized or solved, and outlet properties are propagated to connected inlet streams via arc definitions as follows:" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [], - "source": [ - "# Initialize and solve each unit operation\n", - "m.fs.OXIDE.initialize()\n", - "propagate_state(arc=m.fs.s01)\n", - "\n", - "m.fs.ACID.initialize()\n", - "propagate_state(arc=m.fs.s01)\n", - "\n", - "m.fs.M101.initialize()\n", - "propagate_state(arc=m.fs.s03)\n", - "\n", - "m.fs.H101.initialize()\n", - "propagate_state(arc=m.fs.s04)\n", - "\n", - "m.fs.R101.initialize()\n", - "propagate_state(arc=m.fs.s05)\n", - "\n", - "m.fs.PROD.initialize()\n", - "\n", - "# set solver\n", - "solver = get_solver()" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "# Solve the model\n", - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "# Check solver solve status\n", - "from pyomo.environ import TerminationCondition\n", - "\n", - "assert results.solver.termination_condition == TerminationCondition.optimal" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Analyze the Results of the Square Problem\n", - "\n", - "\n", - "What is the total operating cost? " - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [], - "source": [ - "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.6f} million per year\")" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "import pytest\n", - "\n", - "assert value(m.fs.operating_cost) / 1e6 == pytest.approx(6.589, rel=1e-5)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For this operating cost, what conversion did we achieve of ethylene oxide to ethylene glycol? " - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.R101.report()\n", - "\n", - "print()\n", - "print(f\"Conversion achieved = {value(m.fs.R101.conversion):.1%}\")\n", - "print()\n", - "print(\n", - " f\"Total heat duty required = \"\n", - " f\"\"\"{(value(m.fs.R101.length) / value(m.fs.R101.config.finite_elements) * \n", - " (value(sum(m.fs.R101.heat_duty[0, k] for k in m.fs.R101.control_volume.length_domain if 0.0 <= k < 1.0))\n", - " + (value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(1)])\n", - " + value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(-1)]))/2))/1e6:0.6f}\"\"\"\n", - " f\" MJ\"\n", - ")\n", - "print()\n", - "print(f\"Tube area required = {value(m.fs.R101.area):0.6f} m^2\")\n", - "print()\n", - "print(f\"Tube length required = {value(m.fs.R101.length):0.6f} m\")\n", - "print()\n", - "print(f\"Tube volume required = {value(m.fs.R101.volume):0.6f} m^3\")" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "assert value(m.fs.R101.conversion) == pytest.approx(0.5000, rel=1e-5)\n", - "assert value(m.fs.R101.area) == pytest.approx(0.987071, rel=1e-5)\n", - "assert (\n", - " value(m.fs.R101.length)\n", - " / value(m.fs.R101.config.finite_elements)\n", - " * value(\n", - " sum(\n", - " m.fs.R101.heat_duty[0, k]\n", - " for k in m.fs.R101.control_volume.length_domain\n", - " if 0.0 <= k < 1.0\n", - " )\n", - " )\n", - " + (\n", - " value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(1)])\n", - " + value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(-1)])\n", - " )\n", - " / 2\n", - ") / 1e6 == pytest.approx(-4.881815, rel=1e-5)\n", - "assert value(m.fs.R101.outlet.temperature[0]) / 1e2 == pytest.approx(3.2815, rel=1e-5)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Optimizing Ethylene Glycol Production\n", - "\n", - "Now that the flowsheet has been squared and solved, we can run a small optimization problem to minimize our production costs. Suppose we require at least 200 million pounds/year of ethylene glycol produced and 90% conversion of ethylene oxide, allowing for variable reactor volume (considering operating/non-capital costs only) and reactor temperature (heater outlet)." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us declare our objective function for this problem. " - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.objective = Objective(expr=m.fs.operating_cost)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, we need to add the design constraints and unfix the decision variables as we had solved a square problem (degrees of freedom = 0) until now, as well as set bounds for the design variables:" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.eg_prod_con = Constraint(\n", - " expr=m.fs.eg_prod >= 200 * pyunits.Mlb / pyunits.yr\n", - ") # MM lb/year\n", - "m.fs.R101.conversion.fix(0.90)\n", - "\n", - "m.fs.R101.volume.setlb(0 * pyunits.m**3)\n", - "m.fs.R101.volume.setub(pyunits.convert(5000 * pyunits.gal, to_units=pyunits.m**3))\n", - "\n", - "m.fs.R101.length.unfix()\n", - "m.fs.R101.length.setlb(0 * pyunits.m)\n", - "m.fs.R101.length.setub(5 * pyunits.m)\n", - "\n", - "m.fs.H101.outlet.temperature.unfix()\n", - "m.fs.H101.outlet.temperature[0].setlb(328.15 * pyunits.K)\n", - "m.fs.H101.outlet.temperature[0].setub(\n", - " 470.45 * pyunits.K\n", - ") # highest component boiling point (ethylene glycol)\n", - "\n", - "for x in m.fs.R101.control_volume.length_domain:\n", - " if x == 0:\n", - " continue\n", - " m.fs.R101.control_volume.properties[\n", - " 0, x\n", - " ].temperature.unfix() # allow for temperature change in each finite element" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "assert degrees_of_freedom(m) == 22 # 2 unit variables and 20 finite element variables" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "We have now defined the optimization problem and we are now ready to solve this problem. \n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "# Check for solver solve status\n", - "from pyomo.environ import TerminationCondition\n", - "\n", - "assert results.solver.termination_condition == TerminationCondition.optimal" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [], - "source": [ - "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.6f} million per year\")\n", - "\n", - "print()\n", - "print(\"Heater results\")\n", - "\n", - "m.fs.H101.report()\n", - "\n", - "print()\n", - "print(\"PFR reactor results\")\n", - "\n", - "m.fs.R101.report()" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "assert value(m.fs.operating_cost) / 1e6 == pytest.approx(4.421530, rel=1e-5)\n", - "assert value(m.fs.R101.area) == pytest.approx(2.9300, rel=1e-5)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Display optimal values for the decision variables and design variables:" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": {}, - "outputs": [], - "source": [ - "print(\"Optimal Values\")\n", - "print()\n", - "\n", - "print(f\"H101 outlet temperature = {value(m.fs.H101.outlet.temperature[0]):0.6f} K\")\n", - "\n", - "print()\n", - "print(\n", - " \"Total heat duty required = \",\n", - " f\"\"\"{(value(m.fs.R101.length) / value(m.fs.R101.config.finite_elements) * (value(sum(m.fs.R101.heat_duty[0, k] for k in m.fs.R101.control_volume.length_domain if 0.0 <= k < 1.0))\n", - " + (value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(1)])\n", - " + value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(-1)]))/2))/1e6:0.6f}\"\"\"\n", - " f\" MJ\",\n", - ")\n", - "print()\n", - "print(f\"Tube area required = {value(m.fs.R101.area):0.6f} m^2\")\n", - "\n", - "print()\n", - "print(f\"Tube length required = {value(m.fs.R101.length):0.6f} m\")\n", - "\n", - "print()\n", - "print(\n", - " f\"Assuming a 20% design factor for reactor volume,\"\n", - " f\"total CSTR volume required = {value(1.2*m.fs.R101.volume):0.6f}\"\n", - " f\" m^3 = {value(pyunits.convert(1.2*m.fs.R101.volume, to_units=pyunits.gal)):0.6f} gal\"\n", - ")\n", - "\n", - "print()\n", - "print(f\"Ethylene glycol produced = {value(m.fs.eg_prod):0.6f} MM lb/year\")\n", - "\n", - "print()\n", - "print(f\"Conversion achieved = {value(m.fs.R101.conversion):.1%}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "assert value(m.fs.H101.outlet.temperature[0]) / 100 == pytest.approx(3.2815, rel=1e-5)\n", - "assert (\n", - " value(m.fs.R101.length)\n", - " / value(m.fs.R101.config.finite_elements)\n", - " * (\n", - " value(\n", - " sum(\n", - " m.fs.R101.heat_duty[0, k]\n", - " for k in m.fs.R101.control_volume.length_domain\n", - " if 0.0 <= k < 1.0\n", - " )\n", - " )\n", - " + (\n", - " value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(1)])\n", - " + value(\n", - " m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(-1)]\n", - " )\n", - " )\n", - " / 2\n", - " )\n", - ") / 1e6 == pytest.approx(-3.789565, rel=1e-5)\n", - "assert value(m.fs.R101.area) == pytest.approx(2.930001, rel=1e-5)\n", - "assert value(m.fs.R101.control_volume.length) == pytest.approx(4.982470, rel=1e-5)\n", - "assert value(m.fs.R101.volume * 1.2) == pytest.approx(17.518369, rel=1e-5)\n", - "assert value(m.fs.eg_prod) == pytest.approx(225.415471, rel=1e-5)\n", - "assert value(m.fs.R101.conversion) * 100 == pytest.approx(90.000, rel=1e-5)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.18" - } - }, - "nbformat": 4, - "nbformat_minor": 4 + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "# Flowsheet Plug Flow Reactor (PFR) Simulation and Optimization of Ethylene Glycol Production\n", + "Author: Andrew Lee \n", + "Maintainer: Andrew Lee \n", + "\n", + "\n", + "## Learning Outcomes\n", + "\n", + "\n", + "- Call and implement the IDAES PFR unit model\n", + "- Construct a steady-state flowsheet using the IDAES unit model library\n", + "- Connecting unit models in a flowsheet using Arcs\n", + "- Fomulate and solve an optimization problem\n", + " - Defining an objective function\n", + " - Setting variable bounds\n", + " - Adding additional constraints \n", + "\n", + "\n", + "## Problem Statement\n", + "\n", + "Following the previous example implementing a [Continuous Stirred Tank Reactor (CSTR) unit model](http://localhost:8888/notebooks/GitHub/examples-pse/src/Examples/UnitModels/Reactors/cstr_testing.ipynb), we can alter the flowsheet to use a plug flow reactor (PFR). As before, this example is adapted from Fogler, H.S., Elements of Chemical Reaction Engineering 5th ed., 2016, Prentice Hall, p. 157-160 with the following chemical reaction, property packages and flowsheet. Unlike a CSTR which assumes well-mixed liquid behavior, the concentration profiles will vary spatially in one dimension. In actuality, following start-up flow reactor exhibit dynamic behavior as they approach a steady-state equilibrium; we will assume our system has already achieved steady-state behavior. The state variables chosen for the property package are **molar flows of each component by phase in each stream, temperature of each stream and pressure of each stream**. The components considered are: **ethylene oxide, water, sulfuric acid and ethylene glycol** and the process occurs in liquid phase only. Therefore, every stream has 4 flow variables, 1 temperature and 1 pressure variable.\n", + "\n", + "Chemical reaction:\n", + "\n", + "**C2H4O + H2O + H2SO4 → C2H6O2 + H2SO4**\n", + "\n", + "Property Packages:\n", + "\n", + "- egprod_ideal.py\n", + "- egprod_reaction.py\n", + "\n", + "Flowsheet\n", + "\n", + "![](egprod_flowsheet.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing Required Pyomo and IDAES components\n", + "\n", + "\n", + "To construct a flowsheet, we will need several components from the Pyomo and IDAES packages. Let us first import the following components from Pyomo:\n", + "- Constraint (to write constraints)\n", + "- Var (to declare variables)\n", + "- ConcreteModel (to create the concrete model object)\n", + "- Expression (to evaluate values as a function of variables defined in the model)\n", + "- Objective (to define an objective function for optimization)\n", + "- TransformationFactory (to apply certain transformations)\n", + "- Arc (to connect two unit models)\n", + "\n", + "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/stable/\n", + "\n", + "From idaes, we will be needing the `FlowsheetBlock` and the following unit models:\n", + "- Mixer\n", + "- Heater\n", + "- PFR\n", + "\n", + "We will also be needing some utility tools to put together the flowsheet and calculate the degrees of freedom, tools for model expressions and calling variable values, and built-in functions to define property packages, add unit containers to objects and define our initialization scheme.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import (\n", + " Constraint,\n", + " Var,\n", + " ConcreteModel,\n", + " Expression,\n", + " Objective,\n", + " TransformationFactory,\n", + " value,\n", + " units as pyunits,\n", + ")\n", + "from pyomo.network import Arc\n", + "\n", + "from idaes.core import FlowsheetBlock\n", + "from idaes.models.properties.modular_properties import (\n", + " GenericParameterBlock,\n", + " GenericReactionParameterBlock,\n", + ")\n", + "from idaes.models.unit_models import Feed, Mixer, Heater, PFR, Product\n", + "\n", + "from idaes.core.solvers import get_solver\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.core.util.initialization import propagate_state" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing Required Thermophysical and Reaction Packages\n", + "\n", + "The final step is to import the thermophysical and reaction packages. We have created a custom thermophysical package that support ideal vapor and liquid behavior for this system, and in this case we will restrict it to ideal liquid behavior only.\n", + "\n", + "The reaction package here assumes Arrhenius kinetic behavior for the PFR, for which $k_0$ and $E_a$ are known *a priori* (if unknown, they may be obtained using one of the parameter estimation tools within IDAES).\n", + "\n", + "$ r = -kVC_{EO} $, $ k = k_0 e^{(-E_a/RT)}$, with the variables as follows:\n", + "\n", + "$r$ - reaction rate extent in moles of ethylene oxide consumed per second; note that the traditional reaction rate would be given by $rate = r/V$ in moles per $m^3$ per second \n", + "$k$ - reaction rate constant per second \n", + "$V$ - volume of PFR in $m^3$, note that this is *liquid volume* and not the *total volume* of the reactor itself \n", + "$C_{EO}$ - bulk concentration of ethylene oxide in moles per $m^3$ (the limiting reagent, since we assume excess catalyst and water) \n", + "$k_0$ - pre-exponential Arrhenius factor per second \n", + "$E_a$ - reaction activation energy in kJ per mole of ethylene oxide consumed \n", + "$R$ - gas constant in J/mol-K \n", + "$T$ - reactor temperature in K\n", + "\n", + "These calculations are contained within the property, reaction and unit model packages, and do not need to be entered into the flowsheet. More information on property estimation may be found in the IDAES documentation on [Parameter Estimation](https://idaes-pse.readthedocs.io/en/stable/how_to_guides/workflow/data_rec_parmest.html).\n", + "\n", + "Let us import the following modules from the same directory as this Jupyter notebook:\n", + "- egprod_ideal as thermo_props\n", + "- egprod_reaction as reaction_props" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "import egprod_ideal as thermo_props\n", + "import egprod_reaction as reaction_props" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Constructing the Flowsheet\n", + "\n", + "We have now imported all the components, unit models, and property modules we need to construct a flowsheet. Let us create a ConcreteModel and add the flowsheet block. " + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "m = ConcreteModel()\n", + "m.fs = FlowsheetBlock(dynamic=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now need to add the property packages to the flowsheet. Unlike the basic [Flash unit model example](http://localhost:8888/notebooks/GitHub/examples-pse/src/Tutorials/Basics/flash_unit_solution_testing.ipynb), where we only had a thermophysical property package, for this flowsheet we will also need to add a reaction property package. We will use the [Modular Property Framework](https://idaes-pse.readthedocs.io/en/stable/explanations/components/property_package/index.html#generic-property-package-framework) and [Modular Reaction Framework](https://idaes-pse.readthedocs.io/en/stable/explanations/components/property_package/index.html#generic-reaction-package-framework). The get_prop method for the natural gas property module automatically returns the correct dictionary using a component list argument. The GenericParameterBlock and GenericReactionParameterBlock methods build states blocks from passed parameter data; the reaction block unpacks using **reaction_props.config_dict to allow for optional or empty keyword arguments:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "m.fs.thermo_params = GenericParameterBlock(**thermo_props.config_dict)\n", + "m.fs.reaction_params = GenericReactionParameterBlock(\n", + " property_package=m.fs.thermo_params, **reaction_props.config_dict\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding Unit Models\n", + "\n", + "Let us start adding the unit models we have imported to the flowsheet. Here, we are adding a `Mixer`, a `Heater` and a `PFR`. Note that all unit models need to be given a property package argument. In addition to that, there are several arguments depending on the unit model, please refer to the documentation for more details on [IDAES Unit Models](https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/index.html). For example, the `Mixer` is given a `list` consisting of names to the two inlets." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "m.fs.OXIDE = Feed(property_package=m.fs.thermo_params)\n", + "m.fs.ACID = Feed(property_package=m.fs.thermo_params)\n", + "m.fs.PROD = Product(property_package=m.fs.thermo_params)\n", + "m.fs.M101 = Mixer(\n", + " property_package=m.fs.thermo_params, inlet_list=[\"reagent_feed\", \"catalyst_feed\"]\n", + ")\n", + "m.fs.H101 = Heater(\n", + " property_package=m.fs.thermo_params,\n", + " has_pressure_change=False,\n", + " has_phase_equilibrium=False,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "m.fs.R101 = PFR(\n", + " property_package=m.fs.thermo_params,\n", + " reaction_package=m.fs.reaction_params,\n", + " has_equilibrium_reactions=False,\n", + " has_heat_of_reaction=True,\n", + " has_heat_transfer=True,\n", + " has_pressure_change=False,\n", + " transformation_method=\"dae.finite_difference\",\n", + " transformation_scheme=\"BACKWARD\",\n", + " finite_elements=20,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Connecting Unit Models Using Arcs\n", + "\n", + "We have now added all the unit models we need to the flowsheet. However, we have not yet specified how the units are to be connected. To do this, we will be using the `Arc` which is a pyomo component that takes in two arguments: `source` and `destination`. Let us connect the outlet of the `Mixer` to the inlet of the `Heater`, and the outlet of the `Heater` to the inlet of the `PFR`. Additionally, we will connect the `Feed` and `Product` blocks to the flowsheet:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.s01 = Arc(source=m.fs.OXIDE.outlet, destination=m.fs.M101.reagent_feed)\n", + "m.fs.s02 = Arc(source=m.fs.ACID.outlet, destination=m.fs.M101.catalyst_feed)\n", + "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.H101.inlet)\n", + "m.fs.s04 = Arc(source=m.fs.H101.outlet, destination=m.fs.R101.inlet)\n", + "m.fs.s05 = Arc(source=m.fs.R101.outlet, destination=m.fs.PROD.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We have now connected the unit model block using the arcs. However, we also need to link the state variables on connected ports. Pyomo provides a convenient method `TransformationFactory` to write these equality constraints for us between two ports:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "TransformationFactory(\"network.expand_arcs\").apply_to(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding Expressions to Compute Operating Costs\n", + "\n", + "In this section, we will add a few Expressions that allows us to evaluate the performance. `Expressions` provide a convenient way of calculating certain values that are a function of the variables defined in the model. For more details on `Expressions`, please refer to the [Pyomo Expression documentation]( https://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html).\n", + "\n", + "For this flowsheet, we are interested in computing ethylene glycol production in millions of pounds per year, as well as the total costs due to cooling and heating utilities." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us first add an `Expression` to convert the product flow from mol/s to MM lb/year of ethylene glycol. We see that the molecular weight exists in the thermophysical property package, so we may use that value for our calculations." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.eg_prod = Expression(\n", + " expr=pyunits.convert(\n", + " m.fs.PROD.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", + " * m.fs.thermo_params.ethylene_glycol.mw, # MW defined in properties as kg/mol\n", + " to_units=pyunits.Mlb / pyunits.yr,\n", + " )\n", + ") # converting kg/s to MM lb/year" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, let us add expressions to compute the reactor cooling cost (\\\\$/s) assuming a cost of 2.12E-5 \\\\$/kW, and the heating utility cost (\\\\$/s) assuming 2.2E-4 \\\\$/kW. To calculate cooling cost, it is important to note that the heat duty is not constant throughout the reactor's length and is expressed in terms of heat per length (J/m/s). This is why we utilize the trapezoid rule to calculate the total heat duty of the reactor:$Q=\\Delta x\\big(\\sum_{k=1}^{N-1}(Q_k)+\\frac{Q_N+Q_0}{2}\\big)$ \n", + "where k is the subinterval in the length domain, N is the number of intervals, and $\\Delta x$ is the length of the interval.\n", + "Note that the heat duty is in units of watt (J/s). The total operating cost will be the sum of the two, expressed in \\\\$/year, assuming 8000 operating hours per year (~10\\% downtime, which is fairly common for small scale chemical plants):" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "m.fs.cooling_cost = Expression(\n", + " expr=2.12e-8\n", + " * m.fs.R101.length\n", + " / m.fs.R101.config.finite_elements\n", + " * (\n", + " -sum(\n", + " m.fs.R101.heat_duty[0, k]\n", + " for k in m.fs.R101.control_volume.length_domain\n", + " if 0.0 <= k < 1.0\n", + " )\n", + " )\n", + " - (\n", + " value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(1)])\n", + " - value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(-1)])\n", + " )\n", + " / 2\n", + ") # the reaction is exothermic, so R101 duty is negative\n", + "m.fs.heating_cost = Expression(\n", + " expr=2.2e-7 * m.fs.H101.heat_duty[0]\n", + ") # the stream must be heated to T_rxn, so H101 duty is positive\n", + "m.fs.operating_cost = Expression(\n", + " expr=(3600 * 8000 * (m.fs.heating_cost + m.fs.cooling_cost))\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fixing Feed Conditions\n", + "\n", + "Let us first check how many degrees of freedom exist for this flowsheet using the `degrees_of_freedom` tool we imported earlier. We expect each stream to have 6 degrees of freedom, the mixer to have 0 (after both streams are accounted for), the heater to have 1 (just the duty, since the inlet is also the outlet of M101), and the reactor to have 2 unit specifications and 1 specification for each finite element. Therefore, we have 35 degrees of freedom to specify: temperature, pressure and flow of all four components on both streams; outlet heater temperature; a reactor property such as conversion or heat duty at each finite element; reactor volume and reactor length." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "# Check the degrees of freedom\n", + "assert degrees_of_freedom(m) == 35" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now be fixing the feed stream to the conditions shown in the flowsheet above. As mentioned in other tutorials, the IDAES framework expects a time index value for every referenced internal stream or unit variable, even in steady-state systems with a single time point $ t = 0 $ (`t = [0]` is the default when creating a `FlowsheetBlock` without passing a `time_set` argument). The non-present components in each stream are assigned a very small non-zero value to help with convergence and initializing. Based on stoichiometric ratios for the reaction, 80% conversion and 200 MM lb/year (46.4 mol/s) of ethylene glycol, we will initialize our simulation with the following calculated values:" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"].fix(\n", + " 58.0 * pyunits.mol / pyunits.s\n", + ")\n", + "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].fix(\n", + " 39.6 * pyunits.mol / pyunits.s\n", + ") # calculated from 16.1 mol EO / cudm in stream\n", + "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"sulfuric_acid\"].fix(\n", + " 1e-5 * pyunits.mol / pyunits.s\n", + ")\n", + "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].fix(\n", + " 1e-5 * pyunits.mol / pyunits.s\n", + ")\n", + "m.fs.OXIDE.outlet.temperature.fix(298.15 * pyunits.K)\n", + "m.fs.OXIDE.outlet.pressure.fix(1e5 * pyunits.Pa)\n", + "\n", + "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"].fix(\n", + " 1e-5 * pyunits.mol / pyunits.s\n", + ")\n", + "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].fix(\n", + " 200 * pyunits.mol / pyunits.s\n", + ")\n", + "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"sulfuric_acid\"].fix(\n", + " 0.334 * pyunits.mol / pyunits.s\n", + ") # calculated from 0.9 wt% SA in stream\n", + "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].fix(\n", + " 1e-5 * pyunits.mol / pyunits.s\n", + ")\n", + "m.fs.ACID.outlet.temperature.fix(298.15 * pyunits.K)\n", + "m.fs.ACID.outlet.pressure.fix(1e5 * pyunits.Pa)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fixing Unit Model Specifications\n", + "\n", + "Now that we have fixed our inlet feed conditions, we will now be fixing the operating conditions for the unit models in the flowsheet. Let us fix the outlet temperature of H101 to 328.15 K. " + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.H101.outlet.temperature.fix(328.15 * pyunits.K)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For the `PFR`, we have to define the conversion in terms of ethylene oxide. Note that the `PFR` reaction volume variable (m.fs.R101.volume) does not need to be defined here since it is internally defined by the `PFR` model. We'll estimate 50% conversion for our initial flowsheet:" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "m.fs.R101.conversion = Var(\n", + " bounds=(0, 1), initialize=0.80, units=pyunits.dimensionless\n", + ") # fraction\n", + "\n", + "m.fs.R101.conv_constraint = Constraint(\n", + " expr=m.fs.R101.conversion\n", + " * m.fs.R101.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"]\n", + " == (\n", + " m.fs.R101.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"]\n", + " - m.fs.R101.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"]\n", + " )\n", + ")\n", + "\n", + "for x in m.fs.R101.control_volume.length_domain:\n", + " if x == 0:\n", + " continue\n", + " m.fs.R101.control_volume.properties[0, x].temperature.fix(\n", + " 328.15 * pyunits.K\n", + " ) # equal inlet reactor temperature\n", + "\n", + "m.fs.R101.conversion.fix(0.5)\n", + "\n", + "m.fs.R101.length.fix(1 * pyunits.m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As we did not place a specification on reactor duty, the solver may try positive values to increase the reaction temperature and rate. To prevent the optimization from diverging, we need to set an upper bound restricting heat flow to cooling only:" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.R101.heat_duty.setub(\n", + " 0 * pyunits.J / pyunits.m / pyunits.s\n", + ") # heat duty is only used for cooling" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For initialization, we solve a square problem (degrees of freedom = 0). Let's check the degrees of freedom below:" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "# Check the degrees of freedom\n", + "assert degrees_of_freedom(m) == 0" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, we need to initialize the each unit operation in sequence to solve the flowsheet. As in best practice, unit operations are initialized or solved, and outlet properties are propagated to connected inlet streams via arc definitions as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "# Initialize and solve each unit operation\n", + "m.fs.OXIDE.initialize()\n", + "propagate_state(arc=m.fs.s01)\n", + "\n", + "m.fs.ACID.initialize()\n", + "propagate_state(arc=m.fs.s01)\n", + "\n", + "m.fs.M101.initialize()\n", + "propagate_state(arc=m.fs.s03)\n", + "\n", + "m.fs.H101.initialize()\n", + "propagate_state(arc=m.fs.s04)\n", + "\n", + "m.fs.R101.initialize()\n", + "propagate_state(arc=m.fs.s05)\n", + "\n", + "m.fs.PROD.initialize()\n", + "\n", + "# set solver\n", + "solver = get_solver()" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Solve the model\n", + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "# Check solver solve status\n", + "from pyomo.environ import TerminationCondition\n", + "\n", + "assert results.solver.termination_condition == TerminationCondition.optimal" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Analyze the Results of the Square Problem\n", + "\n", + "\n", + "What is the total operating cost? " + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.6f} million per year\")" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "import pytest\n", + "\n", + "assert value(m.fs.operating_cost) / 1e6 == pytest.approx(6.589, rel=1e-5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For this operating cost, what conversion did we achieve of ethylene oxide to ethylene glycol? " + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.R101.report()\n", + "\n", + "print()\n", + "print(f\"Conversion achieved = {value(m.fs.R101.conversion):.1%}\")\n", + "print()\n", + "print(\n", + " f\"Total heat duty required = \"\n", + " f\"\"\"{(value(m.fs.R101.length) / value(m.fs.R101.config.finite_elements) * \n", + " (value(sum(m.fs.R101.heat_duty[0, k] for k in m.fs.R101.control_volume.length_domain if 0.0 <= k < 1.0))\n", + " + (value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(1)])\n", + " + value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(-1)]))/2))/1e6:0.6f}\"\"\"\n", + " f\" MJ\"\n", + ")\n", + "print()\n", + "print(f\"Tube area required = {value(m.fs.R101.area):0.6f} m^2\")\n", + "print()\n", + "print(f\"Tube length required = {value(m.fs.R101.length):0.6f} m\")\n", + "print()\n", + "print(f\"Tube volume required = {value(m.fs.R101.volume):0.6f} m^3\")" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "assert value(m.fs.R101.conversion) == pytest.approx(0.5000, rel=1e-5)\n", + "assert value(m.fs.R101.area) == pytest.approx(0.987071, rel=1e-5)\n", + "assert (\n", + " value(m.fs.R101.length)\n", + " / value(m.fs.R101.config.finite_elements)\n", + " * value(\n", + " sum(\n", + " m.fs.R101.heat_duty[0, k]\n", + " for k in m.fs.R101.control_volume.length_domain\n", + " if 0.0 <= k < 1.0\n", + " )\n", + " )\n", + " + (\n", + " value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(1)])\n", + " + value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(-1)])\n", + " )\n", + " / 2\n", + ") / 1e6 == pytest.approx(-4.881815, rel=1e-5)\n", + "assert value(m.fs.R101.outlet.temperature[0]) / 1e2 == pytest.approx(3.2815, rel=1e-5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Optimizing Ethylene Glycol Production\n", + "\n", + "Now that the flowsheet has been squared and solved, we can run a small optimization problem to minimize our production costs. Suppose we require at least 200 million pounds/year of ethylene glycol produced and 90% conversion of ethylene oxide, allowing for variable reactor volume (considering operating/non-capital costs only) and reactor temperature (heater outlet)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us declare our objective function for this problem. " + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.objective = Objective(expr=m.fs.operating_cost)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, we need to add the design constraints and unfix the decision variables as we had solved a square problem (degrees of freedom = 0) until now, as well as set bounds for the design variables:" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.eg_prod_con = Constraint(\n", + " expr=m.fs.eg_prod >= 200 * pyunits.Mlb / pyunits.yr\n", + ") # MM lb/year\n", + "m.fs.R101.conversion.fix(0.90)\n", + "\n", + "m.fs.R101.volume.setlb(0 * pyunits.m**3)\n", + "m.fs.R101.volume.setub(pyunits.convert(5000 * pyunits.gal, to_units=pyunits.m**3))\n", + "\n", + "m.fs.R101.length.unfix()\n", + "m.fs.R101.length.setlb(0 * pyunits.m)\n", + "m.fs.R101.length.setub(5 * pyunits.m)\n", + "\n", + "m.fs.H101.outlet.temperature.unfix()\n", + "m.fs.H101.outlet.temperature[0].setlb(328.15 * pyunits.K)\n", + "m.fs.H101.outlet.temperature[0].setub(\n", + " 470.45 * pyunits.K\n", + ") # highest component boiling point (ethylene glycol)\n", + "\n", + "for x in m.fs.R101.control_volume.length_domain:\n", + " if x == 0:\n", + " continue\n", + " m.fs.R101.control_volume.properties[\n", + " 0, x\n", + " ].temperature.unfix() # allow for temperature change in each finite element" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "assert degrees_of_freedom(m) == 22 # 2 unit variables and 20 finite element variables" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "We have now defined the optimization problem and we are now ready to solve this problem. \n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "# Check for solver solve status\n", + "from pyomo.environ import TerminationCondition\n", + "\n", + "assert results.solver.termination_condition == TerminationCondition.optimal" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.6f} million per year\")\n", + "\n", + "print()\n", + "print(\"Heater results\")\n", + "\n", + "m.fs.H101.report()\n", + "\n", + "print()\n", + "print(\"PFR reactor results\")\n", + "\n", + "m.fs.R101.report()" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "assert value(m.fs.operating_cost) / 1e6 == pytest.approx(4.421530, rel=1e-5)\n", + "assert value(m.fs.R101.area) == pytest.approx(2.9300, rel=1e-5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Display optimal values for the decision variables and design variables:" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Optimal Values\")\n", + "print()\n", + "\n", + "print(f\"H101 outlet temperature = {value(m.fs.H101.outlet.temperature[0]):0.6f} K\")\n", + "\n", + "print()\n", + "print(\n", + " \"Total heat duty required = \",\n", + " f\"\"\"{(value(m.fs.R101.length) / value(m.fs.R101.config.finite_elements) * (value(sum(m.fs.R101.heat_duty[0, k] for k in m.fs.R101.control_volume.length_domain if 0.0 <= k < 1.0))\n", + " + (value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(1)])\n", + " + value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(-1)]))/2))/1e6:0.6f}\"\"\"\n", + " f\" MJ\",\n", + ")\n", + "print()\n", + "print(f\"Tube area required = {value(m.fs.R101.area):0.6f} m^2\")\n", + "\n", + "print()\n", + "print(f\"Tube length required = {value(m.fs.R101.length):0.6f} m\")\n", + "\n", + "print()\n", + "print(\n", + " f\"Assuming a 20% design factor for reactor volume,\"\n", + " f\"total CSTR volume required = {value(1.2*m.fs.R101.volume):0.6f}\"\n", + " f\" m^3 = {value(pyunits.convert(1.2*m.fs.R101.volume, to_units=pyunits.gal)):0.6f} gal\"\n", + ")\n", + "\n", + "print()\n", + "print(f\"Ethylene glycol produced = {value(m.fs.eg_prod):0.6f} MM lb/year\")\n", + "\n", + "print()\n", + "print(f\"Conversion achieved = {value(m.fs.R101.conversion):.1%}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "assert value(m.fs.H101.outlet.temperature[0]) / 100 == pytest.approx(3.2815, rel=1e-5)\n", + "assert (\n", + " value(m.fs.R101.length)\n", + " / value(m.fs.R101.config.finite_elements)\n", + " * (\n", + " value(\n", + " sum(\n", + " m.fs.R101.heat_duty[0, k]\n", + " for k in m.fs.R101.control_volume.length_domain\n", + " if 0.0 <= k < 1.0\n", + " )\n", + " )\n", + " + (\n", + " value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(1)])\n", + " + value(\n", + " m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(-1)]\n", + " )\n", + " )\n", + " / 2\n", + " )\n", + ") / 1e6 == pytest.approx(-3.789565, rel=1e-5)\n", + "assert value(m.fs.R101.area) == pytest.approx(2.930001, rel=1e-5)\n", + "assert value(m.fs.R101.control_volume.length) == pytest.approx(4.982470, rel=1e-5)\n", + "assert value(m.fs.R101.volume * 1.2) == pytest.approx(17.518369, rel=1e-5)\n", + "assert value(m.fs.eg_prod) == pytest.approx(225.415471, rel=1e-5)\n", + "assert value(m.fs.R101.conversion) * 100 == pytest.approx(90.000, rel=1e-5)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.18" + } + }, + "nbformat": 4, + "nbformat_minor": 4 } diff --git a/idaes_examples/notebooks/docs/unit_models/reactors/plug_flow_reactor_doc.ipynb b/idaes_examples/notebooks/docs/unit_models/reactors/plug_flow_reactor_doc.ipynb index 05620386..889bdea0 100644 --- a/idaes_examples/notebooks/docs/unit_models/reactors/plug_flow_reactor_doc.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/reactors/plug_flow_reactor_doc.ipynb @@ -1,809 +1,810 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "# Flowsheet Plug Flow Reactor (PFR) Simulation and Optimization of Ethylene Glycol Production\n", - "Author: Andrew Lee \n", - "Maintainer: Andrew Lee \n", - "\n", - "\n", - "## Learning Outcomes\n", - "\n", - "\n", - "- Call and implement the IDAES PFR unit model\n", - "- Construct a steady-state flowsheet using the IDAES unit model library\n", - "- Connecting unit models in a flowsheet using Arcs\n", - "- Fomulate and solve an optimization problem\n", - " - Defining an objective function\n", - " - Setting variable bounds\n", - " - Adding additional constraints \n", - "\n", - "\n", - "## Problem Statement\n", - "\n", - "Following the previous example implementing a [Continuous Stirred Tank Reactor (CSTR) unit model](http://localhost:8888/notebooks/GitHub/examples-pse/src/Examples/UnitModels/Reactors/cstr_testing_doc.md), we can alter the flowsheet to use a plug flow reactor (PFR). As before, this example is adapted from Fogler, H.S., Elements of Chemical Reaction Engineering 5th ed., 2016, Prentice Hall, p. 157-160 with the following chemical reaction, property packages and flowsheet. Unlike a CSTR which assumes well-mixed liquid behavior, the concentration profiles will vary spatially in one dimension. In actuality, following start-up flow reactor exhibit dynamic behavior as they approach a steady-state equilibrium; we will assume our system has already achieved steady-state behavior. The state variables chosen for the property package are **molar flows of each component by phase in each stream, temperature of each stream and pressure of each stream**. The components considered are: **ethylene oxide, water, sulfuric acid and ethylene glycol** and the process occurs in liquid phase only. Therefore, every stream has 4 flow variables, 1 temperature and 1 pressure variable.\n", - "\n", - "Chemical reaction:\n", - "\n", - "**C2H4O + H2O + H2SO4 \u2192 C2H6O2 + H2SO4**\n", - "\n", - "Property Packages:\n", - "\n", - "- egprod_ideal.py\n", - "- egprod_reaction.py\n", - "\n", - "Flowsheet\n", - "\n", - "![](egprod_flowsheet.png)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing Required Pyomo and IDAES components\n", - "\n", - "\n", - "To construct a flowsheet, we will need several components from the Pyomo and IDAES packages. Let us first import the following components from Pyomo:\n", - "- Constraint (to write constraints)\n", - "- Var (to declare variables)\n", - "- ConcreteModel (to create the concrete model object)\n", - "- Expression (to evaluate values as a function of variables defined in the model)\n", - "- Objective (to define an objective function for optimization)\n", - "- TransformationFactory (to apply certain transformations)\n", - "- Arc (to connect two unit models)\n", - "\n", - "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/stable/\n", - "\n", - "From idaes, we will be needing the `FlowsheetBlock` and the following unit models:\n", - "- Mixer\n", - "- Heater\n", - "- PFR\n", - "\n", - "We will also be needing some utility tools to put together the flowsheet and calculate the degrees of freedom, tools for model expressions and calling variable values, and built-in functions to define property packages, add unit containers to objects and define our initialization scheme.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.environ import (\n", - " Constraint,\n", - " Var,\n", - " ConcreteModel,\n", - " Expression,\n", - " Objective,\n", - " TransformationFactory,\n", - " value,\n", - " units as pyunits,\n", - ")\n", - "from pyomo.network import Arc\n", - "\n", - "from idaes.core import FlowsheetBlock\n", - "from idaes.models.properties.modular_properties import (\n", - " GenericParameterBlock,\n", - " GenericReactionParameterBlock,\n", - ")\n", - "from idaes.models.unit_models import Feed, Mixer, Heater, PFR, Product\n", - "\n", - "from idaes.core.solvers import get_solver\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.util.initialization import propagate_state" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing Required Thermophysical and Reaction Packages\n", - "\n", - "The final step is to import the thermophysical and reaction packages. We have created a custom thermophysical package that support ideal vapor and liquid behavior for this system, and in this case we will restrict it to ideal liquid behavior only.\n", - "\n", - "The reaction package here assumes Arrhenius kinetic behavior for the PFR, for which $k_0$ and $E_a$ are known *a priori* (if unknown, they may be obtained using one of the parameter estimation tools within IDAES).\n", - "\n", - "$ r = -kVC_{EO} $, $ k = k_0 e^{(-E_a/RT)}$, with the variables as follows:\n", - "\n", - "$r$ - reaction rate extent in moles of ethylene oxide consumed per second; note that the traditional reaction rate would be given by $rate = r/V$ in moles per $m^3$ per second \n", - "$k$ - reaction rate constant per second \n", - "$V$ - volume of PFR in $m^3$, note that this is *liquid volume* and not the *total volume* of the reactor itself \n", - "$C_{EO}$ - bulk concentration of ethylene oxide in moles per $m^3$ (the limiting reagent, since we assume excess catalyst and water) \n", - "$k_0$ - pre-exponential Arrhenius factor per second \n", - "$E_a$ - reaction activation energy in kJ per mole of ethylene oxide consumed \n", - "$R$ - gas constant in J/mol-K \n", - "$T$ - reactor temperature in K\n", - "\n", - "These calculations are contained within the property, reaction and unit model packages, and do not need to be entered into the flowsheet. More information on property estimation may be found in the IDAES documentation on [Parameter Estimation](https://idaes-pse.readthedocs.io/en/stable/how_to_guides/workflow/data_rec_parmest.html).\n", - "\n", - "Let us import the following modules from the same directory as this Jupyter notebook:\n", - "- egprod_ideal as thermo_props\n", - "- egprod_reaction as reaction_props" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "import egprod_ideal as thermo_props\n", - "import egprod_reaction as reaction_props" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Constructing the Flowsheet\n", - "\n", - "We have now imported all the components, unit models, and property modules we need to construct a flowsheet. Let us create a ConcreteModel and add the flowsheet block. " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "m = ConcreteModel()\n", - "m.fs = FlowsheetBlock(dynamic=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We now need to add the property packages to the flowsheet. Unlike the basic [Flash unit model example](http://localhost:8888/notebooks/GitHub/examples-pse/src/Tutorials/Basics/flash_unit_solution_testing_doc.md), where we only had a thermophysical property package, for this flowsheet we will also need to add a reaction property package. We will use the [Modular Property Framework](https://idaes-pse.readthedocs.io/en/stable/explanations/components/property_package/index.html#generic-property-package-framework) and [Modular Reaction Framework](https://idaes-pse.readthedocs.io/en/stable/explanations/components/property_package/index.html#generic-reaction-package-framework). The get_prop method for the natural gas property module automatically returns the correct dictionary using a component list argument. The GenericParameterBlock and GenericReactionParameterBlock methods build states blocks from passed parameter data; the reaction block unpacks using **reaction_props.config_dict to allow for optional or empty keyword arguments:" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "m.fs.thermo_params = GenericParameterBlock(**thermo_props.config_dict)\n", - "m.fs.reaction_params = GenericReactionParameterBlock(\n", - " property_package=m.fs.thermo_params, **reaction_props.config_dict\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding Unit Models\n", - "\n", - "Let us start adding the unit models we have imported to the flowsheet. Here, we are adding a `Mixer`, a `Heater` and a `PFR`. Note that all unit models need to be given a property package argument. In addition to that, there are several arguments depending on the unit model, please refer to the documentation for more details on [IDAES Unit Models](https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/index.html). For example, the `Mixer` is given a `list` consisting of names to the two inlets." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "m.fs.OXIDE = Feed(property_package=m.fs.thermo_params)\n", - "m.fs.ACID = Feed(property_package=m.fs.thermo_params)\n", - "m.fs.PROD = Product(property_package=m.fs.thermo_params)\n", - "m.fs.M101 = Mixer(\n", - " property_package=m.fs.thermo_params, inlet_list=[\"reagent_feed\", \"catalyst_feed\"]\n", - ")\n", - "m.fs.H101 = Heater(\n", - " property_package=m.fs.thermo_params,\n", - " has_pressure_change=False,\n", - " has_phase_equilibrium=False,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "m.fs.R101 = PFR(\n", - " property_package=m.fs.thermo_params,\n", - " reaction_package=m.fs.reaction_params,\n", - " has_equilibrium_reactions=False,\n", - " has_heat_of_reaction=True,\n", - " has_heat_transfer=True,\n", - " has_pressure_change=False,\n", - " transformation_method=\"dae.finite_difference\",\n", - " transformation_scheme=\"BACKWARD\",\n", - " finite_elements=20,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Connecting Unit Models Using Arcs\n", - "\n", - "We have now added all the unit models we need to the flowsheet. However, we have not yet specified how the units are to be connected. To do this, we will be using the `Arc` which is a pyomo component that takes in two arguments: `source` and `destination`. Let us connect the outlet of the `Mixer` to the inlet of the `Heater`, and the outlet of the `Heater` to the inlet of the `PFR`. Additionally, we will connect the `Feed` and `Product` blocks to the flowsheet:" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.s01 = Arc(source=m.fs.OXIDE.outlet, destination=m.fs.M101.reagent_feed)\n", - "m.fs.s02 = Arc(source=m.fs.ACID.outlet, destination=m.fs.M101.catalyst_feed)\n", - "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.H101.inlet)\n", - "m.fs.s04 = Arc(source=m.fs.H101.outlet, destination=m.fs.R101.inlet)\n", - "m.fs.s05 = Arc(source=m.fs.R101.outlet, destination=m.fs.PROD.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We have now connected the unit model block using the arcs. However, we also need to link the state variables on connected ports. Pyomo provides a convenient method `TransformationFactory` to write these equality constraints for us between two ports:" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "TransformationFactory(\"network.expand_arcs\").apply_to(m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding Expressions to Compute Operating Costs\n", - "\n", - "In this section, we will add a few Expressions that allows us to evaluate the performance. `Expressions` provide a convenient way of calculating certain values that are a function of the variables defined in the model. For more details on `Expressions`, please refer to the [Pyomo Expression documentation]( https://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html).\n", - "\n", - "For this flowsheet, we are interested in computing ethylene glycol production in millions of pounds per year, as well as the total costs due to cooling and heating utilities." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us first add an `Expression` to convert the product flow from mol/s to MM lb/year of ethylene glycol. We see that the molecular weight exists in the thermophysical property package, so we may use that value for our calculations." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.eg_prod = Expression(\n", - " expr=pyunits.convert(\n", - " m.fs.PROD.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", - " * m.fs.thermo_params.ethylene_glycol.mw, # MW defined in properties as kg/mol\n", - " to_units=pyunits.Mlb / pyunits.yr,\n", - " )\n", - ") # converting kg/s to MM lb/year" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, let us add expressions to compute the reactor cooling cost (\\\\$/s) assuming a cost of 2.12E-5 \\\\$/kW, and the heating utility cost (\\\\$/s) assuming 2.2E-4 \\\\$/kW. To calculate cooling cost, it is important to note that the heat duty is not constant throughout the reactor's length and is expressed in terms of heat per length (J/m/s). This is why we utilize the trapezoid rule to calculate the total heat duty of the reactor:$Q=\\Delta x\\big(\\sum_{k=1}^{N-1}(Q_k)+\\frac{Q_N+Q_0}{2}\\big)$ \n", - "where k is the subinterval in the length domain, N is the number of intervals, and $\\Delta x$ is the length of the interval.\n", - "Note that the heat duty is in units of watt (J/s). The total operating cost will be the sum of the two, expressed in \\\\$/year, assuming 8000 operating hours per year (~10\\% downtime, which is fairly common for small scale chemical plants):" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "m.fs.cooling_cost = Expression(\n", - " expr=2.12e-8\n", - " * m.fs.R101.length\n", - " / m.fs.R101.config.finite_elements\n", - " * (\n", - " -sum(\n", - " m.fs.R101.heat_duty[0, k]\n", - " for k in m.fs.R101.control_volume.length_domain\n", - " if 0.0 <= k < 1.0\n", - " )\n", - " )\n", - " - (\n", - " value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(1)])\n", - " - value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(-1)])\n", - " )\n", - " / 2\n", - ") # the reaction is exothermic, so R101 duty is negative\n", - "m.fs.heating_cost = Expression(\n", - " expr=2.2e-7 * m.fs.H101.heat_duty[0]\n", - ") # the stream must be heated to T_rxn, so H101 duty is positive\n", - "m.fs.operating_cost = Expression(\n", - " expr=(3600 * 8000 * (m.fs.heating_cost + m.fs.cooling_cost))\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Fixing Feed Conditions\n", - "\n", - "Let us first check how many degrees of freedom exist for this flowsheet using the `degrees_of_freedom` tool we imported earlier. We expect each stream to have 6 degrees of freedom, the mixer to have 0 (after both streams are accounted for), the heater to have 1 (just the duty, since the inlet is also the outlet of M101), and the reactor to have 2 unit specifications and 1 specification for each finite element. Therefore, we have 35 degrees of freedom to specify: temperature, pressure and flow of all four components on both streams; outlet heater temperature; a reactor property such as conversion or heat duty at each finite element; reactor volume and reactor length." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will now be fixing the feed stream to the conditions shown in the flowsheet above. As mentioned in other tutorials, the IDAES framework expects a time index value for every referenced internal stream or unit variable, even in steady-state systems with a single time point $ t = 0 $ (`t = [0]` is the default when creating a `FlowsheetBlock` without passing a `time_set` argument). The non-present components in each stream are assigned a very small non-zero value to help with convergence and initializing. Based on stoichiometric ratios for the reaction, 80% conversion and 200 MM lb/year (46.4 mol/s) of ethylene glycol, we will initialize our simulation with the following calculated values:" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"].fix(\n", - " 58.0 * pyunits.mol / pyunits.s\n", - ")\n", - "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].fix(\n", - " 39.6 * pyunits.mol / pyunits.s\n", - ") # calculated from 16.1 mol EO / cudm in stream\n", - "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"sulfuric_acid\"].fix(\n", - " 1e-5 * pyunits.mol / pyunits.s\n", - ")\n", - "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].fix(\n", - " 1e-5 * pyunits.mol / pyunits.s\n", - ")\n", - "m.fs.OXIDE.outlet.temperature.fix(298.15 * pyunits.K)\n", - "m.fs.OXIDE.outlet.pressure.fix(1e5 * pyunits.Pa)\n", - "\n", - "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"].fix(\n", - " 1e-5 * pyunits.mol / pyunits.s\n", - ")\n", - "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].fix(\n", - " 200 * pyunits.mol / pyunits.s\n", - ")\n", - "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"sulfuric_acid\"].fix(\n", - " 0.334 * pyunits.mol / pyunits.s\n", - ") # calculated from 0.9 wt% SA in stream\n", - "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].fix(\n", - " 1e-5 * pyunits.mol / pyunits.s\n", - ")\n", - "m.fs.ACID.outlet.temperature.fix(298.15 * pyunits.K)\n", - "m.fs.ACID.outlet.pressure.fix(1e5 * pyunits.Pa)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Fixing Unit Model Specifications\n", - "\n", - "Now that we have fixed our inlet feed conditions, we will now be fixing the operating conditions for the unit models in the flowsheet. Let us fix the outlet temperature of H101 to 328.15 K. " - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.H101.outlet.temperature.fix(328.15 * pyunits.K)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For the `PFR`, we have to define the conversion in terms of ethylene oxide. Note that the `PFR` reaction volume variable (m.fs.R101.volume) does not need to be defined here since it is internally defined by the `PFR` model. We'll estimate 50% conversion for our initial flowsheet:" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "m.fs.R101.conversion = Var(\n", - " bounds=(0, 1), initialize=0.80, units=pyunits.dimensionless\n", - ") # fraction\n", - "\n", - "m.fs.R101.conv_constraint = Constraint(\n", - " expr=m.fs.R101.conversion\n", - " * m.fs.R101.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"]\n", - " == (\n", - " m.fs.R101.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"]\n", - " - m.fs.R101.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"]\n", - " )\n", - ")\n", - "\n", - "for x in m.fs.R101.control_volume.length_domain:\n", - " if x == 0:\n", - " continue\n", - " m.fs.R101.control_volume.properties[0, x].temperature.fix(\n", - " 328.15 * pyunits.K\n", - " ) # equal inlet reactor temperature\n", - "\n", - "m.fs.R101.conversion.fix(0.5)\n", - "\n", - "m.fs.R101.length.fix(1 * pyunits.m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As we did not place a specification on reactor duty, the solver may try positive values to increase the reaction temperature and rate. To prevent the optimization from diverging, we need to set an upper bound restricting heat flow to cooling only:" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.R101.heat_duty.setub(\n", - " 0 * pyunits.J / pyunits.m / pyunits.s\n", - ") # heat duty is only used for cooling" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For initialization, we solve a square problem (degrees of freedom = 0). Let's check the degrees of freedom below:" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [], - "source": [ - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finally, we need to initialize the each unit operation in sequence to solve the flowsheet. As in best practice, unit operations are initialized or solved, and outlet properties are propagated to connected inlet streams via arc definitions as follows:" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [], - "source": [ - "# Initialize and solve each unit operation\n", - "m.fs.OXIDE.initialize()\n", - "propagate_state(arc=m.fs.s01)\n", - "\n", - "m.fs.ACID.initialize()\n", - "propagate_state(arc=m.fs.s01)\n", - "\n", - "m.fs.M101.initialize()\n", - "propagate_state(arc=m.fs.s03)\n", - "\n", - "m.fs.H101.initialize()\n", - "propagate_state(arc=m.fs.s04)\n", - "\n", - "m.fs.R101.initialize()\n", - "propagate_state(arc=m.fs.s05)\n", - "\n", - "m.fs.PROD.initialize()\n", - "\n", - "# set solver\n", - "solver = get_solver()" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "# Solve the model\n", - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Analyze the Results of the Square Problem\n", - "\n", - "\n", - "What is the total operating cost? " - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [], - "source": [ - "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.6f} million per year\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For this operating cost, what conversion did we achieve of ethylene oxide to ethylene glycol? " - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.R101.report()\n", - "\n", - "print()\n", - "print(f\"Conversion achieved = {value(m.fs.R101.conversion):.1%}\")\n", - "print()\n", - "print(\n", - " f\"Total heat duty required = \"\n", - " f\"\"\"{(value(m.fs.R101.length) / value(m.fs.R101.config.finite_elements) * \n", - " (value(sum(m.fs.R101.heat_duty[0, k] for k in m.fs.R101.control_volume.length_domain if 0.0 <= k < 1.0))\n", - " + (value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(1)])\n", - " + value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(-1)]))/2))/1e6:0.6f}\"\"\"\n", - " f\" MJ\"\n", - ")\n", - "print()\n", - "print(f\"Tube area required = {value(m.fs.R101.area):0.6f} m^2\")\n", - "print()\n", - "print(f\"Tube length required = {value(m.fs.R101.length):0.6f} m\")\n", - "print()\n", - "print(f\"Tube volume required = {value(m.fs.R101.volume):0.6f} m^3\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Optimizing Ethylene Glycol Production\n", - "\n", - "Now that the flowsheet has been squared and solved, we can run a small optimization problem to minimize our production costs. Suppose we require at least 200 million pounds/year of ethylene glycol produced and 90% conversion of ethylene oxide, allowing for variable reactor volume (considering operating/non-capital costs only) and reactor temperature (heater outlet)." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us declare our objective function for this problem. " - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.objective = Objective(expr=m.fs.operating_cost)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, we need to add the design constraints and unfix the decision variables as we had solved a square problem (degrees of freedom = 0) until now, as well as set bounds for the design variables:" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.eg_prod_con = Constraint(\n", - " expr=m.fs.eg_prod >= 200 * pyunits.Mlb / pyunits.yr\n", - ") # MM lb/year\n", - "m.fs.R101.conversion.fix(0.90)\n", - "\n", - "m.fs.R101.volume.setlb(0 * pyunits.m**3)\n", - "m.fs.R101.volume.setub(pyunits.convert(5000 * pyunits.gal, to_units=pyunits.m**3))\n", - "\n", - "m.fs.R101.length.unfix()\n", - "m.fs.R101.length.setlb(0 * pyunits.m)\n", - "m.fs.R101.length.setub(5 * pyunits.m)\n", - "\n", - "m.fs.H101.outlet.temperature.unfix()\n", - "m.fs.H101.outlet.temperature[0].setlb(328.15 * pyunits.K)\n", - "m.fs.H101.outlet.temperature[0].setub(\n", - " 470.45 * pyunits.K\n", - ") # highest component boiling point (ethylene glycol)\n", - "\n", - "for x in m.fs.R101.control_volume.length_domain:\n", - " if x == 0:\n", - " continue\n", - " m.fs.R101.control_volume.properties[\n", - " 0, x\n", - " ].temperature.unfix() # allow for temperature change in each finite element" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "We have now defined the optimization problem and we are now ready to solve this problem. \n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [], - "source": [ - "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.6f} million per year\")\n", - "\n", - "print()\n", - "print(\"Heater results\")\n", - "\n", - "m.fs.H101.report()\n", - "\n", - "print()\n", - "print(\"PFR reactor results\")\n", - "\n", - "m.fs.R101.report()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Display optimal values for the decision variables and design variables:" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": {}, - "outputs": [], - "source": [ - "print(\"Optimal Values\")\n", - "print()\n", - "\n", - "print(f\"H101 outlet temperature = {value(m.fs.H101.outlet.temperature[0]):0.6f} K\")\n", - "\n", - "print()\n", - "print(\n", - " \"Total heat duty required = \",\n", - " f\"\"\"{(value(m.fs.R101.length) / value(m.fs.R101.config.finite_elements) * (value(sum(m.fs.R101.heat_duty[0, k] for k in m.fs.R101.control_volume.length_domain if 0.0 <= k < 1.0))\n", - " + (value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(1)])\n", - " + value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(-1)]))/2))/1e6:0.6f}\"\"\"\n", - " f\" MJ\",\n", - ")\n", - "print()\n", - "print(f\"Tube area required = {value(m.fs.R101.area):0.6f} m^2\")\n", - "\n", - "print()\n", - "print(f\"Tube length required = {value(m.fs.R101.length):0.6f} m\")\n", - "\n", - "print()\n", - "print(\n", - " f\"Assuming a 20% design factor for reactor volume,\"\n", - " f\"total CSTR volume required = {value(1.2*m.fs.R101.volume):0.6f}\"\n", - " f\" m^3 = {value(pyunits.convert(1.2*m.fs.R101.volume, to_units=pyunits.gal)):0.6f} gal\"\n", - ")\n", - "\n", - "print()\n", - "print(f\"Ethylene glycol produced = {value(m.fs.eg_prod):0.6f} MM lb/year\")\n", - "\n", - "print()\n", - "print(f\"Conversion achieved = {value(m.fs.R101.conversion):.1%}\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.18" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "# Flowsheet Plug Flow Reactor (PFR) Simulation and Optimization of Ethylene Glycol Production\n", + "Author: Andrew Lee \n", + "Maintainer: Andrew Lee \n", + "\n", + "\n", + "## Learning Outcomes\n", + "\n", + "\n", + "- Call and implement the IDAES PFR unit model\n", + "- Construct a steady-state flowsheet using the IDAES unit model library\n", + "- Connecting unit models in a flowsheet using Arcs\n", + "- Fomulate and solve an optimization problem\n", + " - Defining an objective function\n", + " - Setting variable bounds\n", + " - Adding additional constraints \n", + "\n", + "\n", + "## Problem Statement\n", + "\n", + "Following the previous example implementing a [Continuous Stirred Tank Reactor (CSTR) unit model](http://localhost:8888/notebooks/GitHub/examples-pse/src/Examples/UnitModels/Reactors/cstr_testing_doc.md), we can alter the flowsheet to use a plug flow reactor (PFR). As before, this example is adapted from Fogler, H.S., Elements of Chemical Reaction Engineering 5th ed., 2016, Prentice Hall, p. 157-160 with the following chemical reaction, property packages and flowsheet. Unlike a CSTR which assumes well-mixed liquid behavior, the concentration profiles will vary spatially in one dimension. In actuality, following start-up flow reactor exhibit dynamic behavior as they approach a steady-state equilibrium; we will assume our system has already achieved steady-state behavior. The state variables chosen for the property package are **molar flows of each component by phase in each stream, temperature of each stream and pressure of each stream**. The components considered are: **ethylene oxide, water, sulfuric acid and ethylene glycol** and the process occurs in liquid phase only. Therefore, every stream has 4 flow variables, 1 temperature and 1 pressure variable.\n", + "\n", + "Chemical reaction:\n", + "\n", + "**C2H4O + H2O + H2SO4 → C2H6O2 + H2SO4**\n", + "\n", + "Property Packages:\n", + "\n", + "- egprod_ideal.py\n", + "- egprod_reaction.py\n", + "\n", + "Flowsheet\n", + "\n", + "![](egprod_flowsheet.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing Required Pyomo and IDAES components\n", + "\n", + "\n", + "To construct a flowsheet, we will need several components from the Pyomo and IDAES packages. Let us first import the following components from Pyomo:\n", + "- Constraint (to write constraints)\n", + "- Var (to declare variables)\n", + "- ConcreteModel (to create the concrete model object)\n", + "- Expression (to evaluate values as a function of variables defined in the model)\n", + "- Objective (to define an objective function for optimization)\n", + "- TransformationFactory (to apply certain transformations)\n", + "- Arc (to connect two unit models)\n", + "\n", + "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/stable/\n", + "\n", + "From idaes, we will be needing the `FlowsheetBlock` and the following unit models:\n", + "- Mixer\n", + "- Heater\n", + "- PFR\n", + "\n", + "We will also be needing some utility tools to put together the flowsheet and calculate the degrees of freedom, tools for model expressions and calling variable values, and built-in functions to define property packages, add unit containers to objects and define our initialization scheme.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import (\n", + " Constraint,\n", + " Var,\n", + " ConcreteModel,\n", + " Expression,\n", + " Objective,\n", + " TransformationFactory,\n", + " value,\n", + " units as pyunits,\n", + ")\n", + "from pyomo.network import Arc\n", + "\n", + "from idaes.core import FlowsheetBlock\n", + "from idaes.models.properties.modular_properties import (\n", + " GenericParameterBlock,\n", + " GenericReactionParameterBlock,\n", + ")\n", + "from idaes.models.unit_models import Feed, Mixer, Heater, PFR, Product\n", + "\n", + "from idaes.core.solvers import get_solver\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.core.util.initialization import propagate_state" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing Required Thermophysical and Reaction Packages\n", + "\n", + "The final step is to import the thermophysical and reaction packages. We have created a custom thermophysical package that support ideal vapor and liquid behavior for this system, and in this case we will restrict it to ideal liquid behavior only.\n", + "\n", + "The reaction package here assumes Arrhenius kinetic behavior for the PFR, for which $k_0$ and $E_a$ are known *a priori* (if unknown, they may be obtained using one of the parameter estimation tools within IDAES).\n", + "\n", + "$ r = -kVC_{EO} $, $ k = k_0 e^{(-E_a/RT)}$, with the variables as follows:\n", + "\n", + "$r$ - reaction rate extent in moles of ethylene oxide consumed per second; note that the traditional reaction rate would be given by $rate = r/V$ in moles per $m^3$ per second \n", + "$k$ - reaction rate constant per second \n", + "$V$ - volume of PFR in $m^3$, note that this is *liquid volume* and not the *total volume* of the reactor itself \n", + "$C_{EO}$ - bulk concentration of ethylene oxide in moles per $m^3$ (the limiting reagent, since we assume excess catalyst and water) \n", + "$k_0$ - pre-exponential Arrhenius factor per second \n", + "$E_a$ - reaction activation energy in kJ per mole of ethylene oxide consumed \n", + "$R$ - gas constant in J/mol-K \n", + "$T$ - reactor temperature in K\n", + "\n", + "These calculations are contained within the property, reaction and unit model packages, and do not need to be entered into the flowsheet. More information on property estimation may be found in the IDAES documentation on [Parameter Estimation](https://idaes-pse.readthedocs.io/en/stable/how_to_guides/workflow/data_rec_parmest.html).\n", + "\n", + "Let us import the following modules from the same directory as this Jupyter notebook:\n", + "- egprod_ideal as thermo_props\n", + "- egprod_reaction as reaction_props" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "import egprod_ideal as thermo_props\n", + "import egprod_reaction as reaction_props" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Constructing the Flowsheet\n", + "\n", + "We have now imported all the components, unit models, and property modules we need to construct a flowsheet. Let us create a ConcreteModel and add the flowsheet block. " + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "m = ConcreteModel()\n", + "m.fs = FlowsheetBlock(dynamic=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now need to add the property packages to the flowsheet. Unlike the basic [Flash unit model example](http://localhost:8888/notebooks/GitHub/examples-pse/src/Tutorials/Basics/flash_unit_solution_testing_doc.md), where we only had a thermophysical property package, for this flowsheet we will also need to add a reaction property package. We will use the [Modular Property Framework](https://idaes-pse.readthedocs.io/en/stable/explanations/components/property_package/index.html#generic-property-package-framework) and [Modular Reaction Framework](https://idaes-pse.readthedocs.io/en/stable/explanations/components/property_package/index.html#generic-reaction-package-framework). The get_prop method for the natural gas property module automatically returns the correct dictionary using a component list argument. The GenericParameterBlock and GenericReactionParameterBlock methods build states blocks from passed parameter data; the reaction block unpacks using **reaction_props.config_dict to allow for optional or empty keyword arguments:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "m.fs.thermo_params = GenericParameterBlock(**thermo_props.config_dict)\n", + "m.fs.reaction_params = GenericReactionParameterBlock(\n", + " property_package=m.fs.thermo_params, **reaction_props.config_dict\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding Unit Models\n", + "\n", + "Let us start adding the unit models we have imported to the flowsheet. Here, we are adding a `Mixer`, a `Heater` and a `PFR`. Note that all unit models need to be given a property package argument. In addition to that, there are several arguments depending on the unit model, please refer to the documentation for more details on [IDAES Unit Models](https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/index.html). For example, the `Mixer` is given a `list` consisting of names to the two inlets." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "m.fs.OXIDE = Feed(property_package=m.fs.thermo_params)\n", + "m.fs.ACID = Feed(property_package=m.fs.thermo_params)\n", + "m.fs.PROD = Product(property_package=m.fs.thermo_params)\n", + "m.fs.M101 = Mixer(\n", + " property_package=m.fs.thermo_params, inlet_list=[\"reagent_feed\", \"catalyst_feed\"]\n", + ")\n", + "m.fs.H101 = Heater(\n", + " property_package=m.fs.thermo_params,\n", + " has_pressure_change=False,\n", + " has_phase_equilibrium=False,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "m.fs.R101 = PFR(\n", + " property_package=m.fs.thermo_params,\n", + " reaction_package=m.fs.reaction_params,\n", + " has_equilibrium_reactions=False,\n", + " has_heat_of_reaction=True,\n", + " has_heat_transfer=True,\n", + " has_pressure_change=False,\n", + " transformation_method=\"dae.finite_difference\",\n", + " transformation_scheme=\"BACKWARD\",\n", + " finite_elements=20,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Connecting Unit Models Using Arcs\n", + "\n", + "We have now added all the unit models we need to the flowsheet. However, we have not yet specified how the units are to be connected. To do this, we will be using the `Arc` which is a pyomo component that takes in two arguments: `source` and `destination`. Let us connect the outlet of the `Mixer` to the inlet of the `Heater`, and the outlet of the `Heater` to the inlet of the `PFR`. Additionally, we will connect the `Feed` and `Product` blocks to the flowsheet:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.s01 = Arc(source=m.fs.OXIDE.outlet, destination=m.fs.M101.reagent_feed)\n", + "m.fs.s02 = Arc(source=m.fs.ACID.outlet, destination=m.fs.M101.catalyst_feed)\n", + "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.H101.inlet)\n", + "m.fs.s04 = Arc(source=m.fs.H101.outlet, destination=m.fs.R101.inlet)\n", + "m.fs.s05 = Arc(source=m.fs.R101.outlet, destination=m.fs.PROD.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We have now connected the unit model block using the arcs. However, we also need to link the state variables on connected ports. Pyomo provides a convenient method `TransformationFactory` to write these equality constraints for us between two ports:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "TransformationFactory(\"network.expand_arcs\").apply_to(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding Expressions to Compute Operating Costs\n", + "\n", + "In this section, we will add a few Expressions that allows us to evaluate the performance. `Expressions` provide a convenient way of calculating certain values that are a function of the variables defined in the model. For more details on `Expressions`, please refer to the [Pyomo Expression documentation]( https://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html).\n", + "\n", + "For this flowsheet, we are interested in computing ethylene glycol production in millions of pounds per year, as well as the total costs due to cooling and heating utilities." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us first add an `Expression` to convert the product flow from mol/s to MM lb/year of ethylene glycol. We see that the molecular weight exists in the thermophysical property package, so we may use that value for our calculations." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.eg_prod = Expression(\n", + " expr=pyunits.convert(\n", + " m.fs.PROD.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", + " * m.fs.thermo_params.ethylene_glycol.mw, # MW defined in properties as kg/mol\n", + " to_units=pyunits.Mlb / pyunits.yr,\n", + " )\n", + ") # converting kg/s to MM lb/year" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, let us add expressions to compute the reactor cooling cost (\\\\$/s) assuming a cost of 2.12E-5 \\\\$/kW, and the heating utility cost (\\\\$/s) assuming 2.2E-4 \\\\$/kW. To calculate cooling cost, it is important to note that the heat duty is not constant throughout the reactor's length and is expressed in terms of heat per length (J/m/s). This is why we utilize the trapezoid rule to calculate the total heat duty of the reactor:$Q=\\Delta x\\big(\\sum_{k=1}^{N-1}(Q_k)+\\frac{Q_N+Q_0}{2}\\big)$ \n", + "where k is the subinterval in the length domain, N is the number of intervals, and $\\Delta x$ is the length of the interval.\n", + "Note that the heat duty is in units of watt (J/s). The total operating cost will be the sum of the two, expressed in \\\\$/year, assuming 8000 operating hours per year (~10\\% downtime, which is fairly common for small scale chemical plants):" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "m.fs.cooling_cost = Expression(\n", + " expr=2.12e-8\n", + " * m.fs.R101.length\n", + " / m.fs.R101.config.finite_elements\n", + " * (\n", + " -sum(\n", + " m.fs.R101.heat_duty[0, k]\n", + " for k in m.fs.R101.control_volume.length_domain\n", + " if 0.0 <= k < 1.0\n", + " )\n", + " )\n", + " - (\n", + " value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(1)])\n", + " - value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(-1)])\n", + " )\n", + " / 2\n", + ") # the reaction is exothermic, so R101 duty is negative\n", + "m.fs.heating_cost = Expression(\n", + " expr=2.2e-7 * m.fs.H101.heat_duty[0]\n", + ") # the stream must be heated to T_rxn, so H101 duty is positive\n", + "m.fs.operating_cost = Expression(\n", + " expr=(3600 * 8000 * (m.fs.heating_cost + m.fs.cooling_cost))\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fixing Feed Conditions\n", + "\n", + "Let us first check how many degrees of freedom exist for this flowsheet using the `degrees_of_freedom` tool we imported earlier. We expect each stream to have 6 degrees of freedom, the mixer to have 0 (after both streams are accounted for), the heater to have 1 (just the duty, since the inlet is also the outlet of M101), and the reactor to have 2 unit specifications and 1 specification for each finite element. Therefore, we have 35 degrees of freedom to specify: temperature, pressure and flow of all four components on both streams; outlet heater temperature; a reactor property such as conversion or heat duty at each finite element; reactor volume and reactor length." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now be fixing the feed stream to the conditions shown in the flowsheet above. As mentioned in other tutorials, the IDAES framework expects a time index value for every referenced internal stream or unit variable, even in steady-state systems with a single time point $ t = 0 $ (`t = [0]` is the default when creating a `FlowsheetBlock` without passing a `time_set` argument). The non-present components in each stream are assigned a very small non-zero value to help with convergence and initializing. Based on stoichiometric ratios for the reaction, 80% conversion and 200 MM lb/year (46.4 mol/s) of ethylene glycol, we will initialize our simulation with the following calculated values:" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"].fix(\n", + " 58.0 * pyunits.mol / pyunits.s\n", + ")\n", + "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].fix(\n", + " 39.6 * pyunits.mol / pyunits.s\n", + ") # calculated from 16.1 mol EO / cudm in stream\n", + "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"sulfuric_acid\"].fix(\n", + " 1e-5 * pyunits.mol / pyunits.s\n", + ")\n", + "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].fix(\n", + " 1e-5 * pyunits.mol / pyunits.s\n", + ")\n", + "m.fs.OXIDE.outlet.temperature.fix(298.15 * pyunits.K)\n", + "m.fs.OXIDE.outlet.pressure.fix(1e5 * pyunits.Pa)\n", + "\n", + "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"].fix(\n", + " 1e-5 * pyunits.mol / pyunits.s\n", + ")\n", + "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].fix(\n", + " 200 * pyunits.mol / pyunits.s\n", + ")\n", + "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"sulfuric_acid\"].fix(\n", + " 0.334 * pyunits.mol / pyunits.s\n", + ") # calculated from 0.9 wt% SA in stream\n", + "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].fix(\n", + " 1e-5 * pyunits.mol / pyunits.s\n", + ")\n", + "m.fs.ACID.outlet.temperature.fix(298.15 * pyunits.K)\n", + "m.fs.ACID.outlet.pressure.fix(1e5 * pyunits.Pa)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fixing Unit Model Specifications\n", + "\n", + "Now that we have fixed our inlet feed conditions, we will now be fixing the operating conditions for the unit models in the flowsheet. Let us fix the outlet temperature of H101 to 328.15 K. " + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.H101.outlet.temperature.fix(328.15 * pyunits.K)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For the `PFR`, we have to define the conversion in terms of ethylene oxide. Note that the `PFR` reaction volume variable (m.fs.R101.volume) does not need to be defined here since it is internally defined by the `PFR` model. We'll estimate 50% conversion for our initial flowsheet:" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "m.fs.R101.conversion = Var(\n", + " bounds=(0, 1), initialize=0.80, units=pyunits.dimensionless\n", + ") # fraction\n", + "\n", + "m.fs.R101.conv_constraint = Constraint(\n", + " expr=m.fs.R101.conversion\n", + " * m.fs.R101.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"]\n", + " == (\n", + " m.fs.R101.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"]\n", + " - m.fs.R101.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"]\n", + " )\n", + ")\n", + "\n", + "for x in m.fs.R101.control_volume.length_domain:\n", + " if x == 0:\n", + " continue\n", + " m.fs.R101.control_volume.properties[0, x].temperature.fix(\n", + " 328.15 * pyunits.K\n", + " ) # equal inlet reactor temperature\n", + "\n", + "m.fs.R101.conversion.fix(0.5)\n", + "\n", + "m.fs.R101.length.fix(1 * pyunits.m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As we did not place a specification on reactor duty, the solver may try positive values to increase the reaction temperature and rate. To prevent the optimization from diverging, we need to set an upper bound restricting heat flow to cooling only:" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.R101.heat_duty.setub(\n", + " 0 * pyunits.J / pyunits.m / pyunits.s\n", + ") # heat duty is only used for cooling" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For initialization, we solve a square problem (degrees of freedom = 0). Let's check the degrees of freedom below:" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, we need to initialize the each unit operation in sequence to solve the flowsheet. As in best practice, unit operations are initialized or solved, and outlet properties are propagated to connected inlet streams via arc definitions as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "# Initialize and solve each unit operation\n", + "m.fs.OXIDE.initialize()\n", + "propagate_state(arc=m.fs.s01)\n", + "\n", + "m.fs.ACID.initialize()\n", + "propagate_state(arc=m.fs.s01)\n", + "\n", + "m.fs.M101.initialize()\n", + "propagate_state(arc=m.fs.s03)\n", + "\n", + "m.fs.H101.initialize()\n", + "propagate_state(arc=m.fs.s04)\n", + "\n", + "m.fs.R101.initialize()\n", + "propagate_state(arc=m.fs.s05)\n", + "\n", + "m.fs.PROD.initialize()\n", + "\n", + "# set solver\n", + "solver = get_solver()" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Solve the model\n", + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Analyze the Results of the Square Problem\n", + "\n", + "\n", + "What is the total operating cost? " + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.6f} million per year\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For this operating cost, what conversion did we achieve of ethylene oxide to ethylene glycol? " + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.R101.report()\n", + "\n", + "print()\n", + "print(f\"Conversion achieved = {value(m.fs.R101.conversion):.1%}\")\n", + "print()\n", + "print(\n", + " f\"Total heat duty required = \"\n", + " f\"\"\"{(value(m.fs.R101.length) / value(m.fs.R101.config.finite_elements) * \n", + " (value(sum(m.fs.R101.heat_duty[0, k] for k in m.fs.R101.control_volume.length_domain if 0.0 <= k < 1.0))\n", + " + (value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(1)])\n", + " + value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(-1)]))/2))/1e6:0.6f}\"\"\"\n", + " f\" MJ\"\n", + ")\n", + "print()\n", + "print(f\"Tube area required = {value(m.fs.R101.area):0.6f} m^2\")\n", + "print()\n", + "print(f\"Tube length required = {value(m.fs.R101.length):0.6f} m\")\n", + "print()\n", + "print(f\"Tube volume required = {value(m.fs.R101.volume):0.6f} m^3\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Optimizing Ethylene Glycol Production\n", + "\n", + "Now that the flowsheet has been squared and solved, we can run a small optimization problem to minimize our production costs. Suppose we require at least 200 million pounds/year of ethylene glycol produced and 90% conversion of ethylene oxide, allowing for variable reactor volume (considering operating/non-capital costs only) and reactor temperature (heater outlet)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us declare our objective function for this problem. " + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.objective = Objective(expr=m.fs.operating_cost)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, we need to add the design constraints and unfix the decision variables as we had solved a square problem (degrees of freedom = 0) until now, as well as set bounds for the design variables:" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.eg_prod_con = Constraint(\n", + " expr=m.fs.eg_prod >= 200 * pyunits.Mlb / pyunits.yr\n", + ") # MM lb/year\n", + "m.fs.R101.conversion.fix(0.90)\n", + "\n", + "m.fs.R101.volume.setlb(0 * pyunits.m**3)\n", + "m.fs.R101.volume.setub(pyunits.convert(5000 * pyunits.gal, to_units=pyunits.m**3))\n", + "\n", + "m.fs.R101.length.unfix()\n", + "m.fs.R101.length.setlb(0 * pyunits.m)\n", + "m.fs.R101.length.setub(5 * pyunits.m)\n", + "\n", + "m.fs.H101.outlet.temperature.unfix()\n", + "m.fs.H101.outlet.temperature[0].setlb(328.15 * pyunits.K)\n", + "m.fs.H101.outlet.temperature[0].setub(\n", + " 470.45 * pyunits.K\n", + ") # highest component boiling point (ethylene glycol)\n", + "\n", + "for x in m.fs.R101.control_volume.length_domain:\n", + " if x == 0:\n", + " continue\n", + " m.fs.R101.control_volume.properties[\n", + " 0, x\n", + " ].temperature.unfix() # allow for temperature change in each finite element" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "We have now defined the optimization problem and we are now ready to solve this problem. \n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.6f} million per year\")\n", + "\n", + "print()\n", + "print(\"Heater results\")\n", + "\n", + "m.fs.H101.report()\n", + "\n", + "print()\n", + "print(\"PFR reactor results\")\n", + "\n", + "m.fs.R101.report()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Display optimal values for the decision variables and design variables:" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Optimal Values\")\n", + "print()\n", + "\n", + "print(f\"H101 outlet temperature = {value(m.fs.H101.outlet.temperature[0]):0.6f} K\")\n", + "\n", + "print()\n", + "print(\n", + " \"Total heat duty required = \",\n", + " f\"\"\"{(value(m.fs.R101.length) / value(m.fs.R101.config.finite_elements) * (value(sum(m.fs.R101.heat_duty[0, k] for k in m.fs.R101.control_volume.length_domain if 0.0 <= k < 1.0))\n", + " + (value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(1)])\n", + " + value(m.fs.R101.heat_duty[0, m.fs.R101.control_volume.length_domain.at(-1)]))/2))/1e6:0.6f}\"\"\"\n", + " f\" MJ\",\n", + ")\n", + "print()\n", + "print(f\"Tube area required = {value(m.fs.R101.area):0.6f} m^2\")\n", + "\n", + "print()\n", + "print(f\"Tube length required = {value(m.fs.R101.length):0.6f} m\")\n", + "\n", + "print()\n", + "print(\n", + " f\"Assuming a 20% design factor for reactor volume,\"\n", + " f\"total CSTR volume required = {value(1.2*m.fs.R101.volume):0.6f}\"\n", + " f\" m^3 = {value(pyunits.convert(1.2*m.fs.R101.volume, to_units=pyunits.gal)):0.6f} gal\"\n", + ")\n", + "\n", + "print()\n", + "print(f\"Ethylene glycol produced = {value(m.fs.eg_prod):0.6f} MM lb/year\")\n", + "\n", + "print()\n", + "print(f\"Conversion achieved = {value(m.fs.R101.conversion):.1%}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.18" + } + }, + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/reactors/plug_flow_reactor_test.ipynb b/idaes_examples/notebooks/docs/unit_models/reactors/plug_flow_reactor_test.ipynb index 76d32312..bfcc247e 100644 --- a/idaes_examples/notebooks/docs/unit_models/reactors/plug_flow_reactor_test.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/reactors/plug_flow_reactor_test.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/unit_models/reactors/plug_flow_reactor_usr.ipynb b/idaes_examples/notebooks/docs/unit_models/reactors/plug_flow_reactor_usr.ipynb index 30984465..db4aeb49 100644 --- a/idaes_examples/notebooks/docs/unit_models/reactors/plug_flow_reactor_usr.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/reactors/plug_flow_reactor_usr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/unit_models/reactors/stoichiometric_reactor.ipynb b/idaes_examples/notebooks/docs/unit_models/reactors/stoichiometric_reactor.ipynb index b0ed3611..b250015c 100644 --- a/idaes_examples/notebooks/docs/unit_models/reactors/stoichiometric_reactor.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/reactors/stoichiometric_reactor.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/unit_models/reactors/stoichiometric_reactor_doc.ipynb b/idaes_examples/notebooks/docs/unit_models/reactors/stoichiometric_reactor_doc.ipynb index 99443416..fcae66e5 100644 --- a/idaes_examples/notebooks/docs/unit_models/reactors/stoichiometric_reactor_doc.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/reactors/stoichiometric_reactor_doc.ipynb @@ -1,693 +1,694 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "# Flowsheet Stoichiometric Reactor Simulation and Optimization of Ethylene Glycol Production\n", - "Author: Brandon Paul \n", - "Maintainer: Brandon Paul \n", - "Updated: 2023-06-01 \n", - "\n", - "## Learning Outcomes\n", - "\n", - "\n", - "- Call and implement the IDAES StochiometricReactor unit model\n", - "- Construct a steady-state flowsheet using the IDAES unit model library\n", - "- Connecting unit models in a flowsheet using Arcs\n", - "- Fomulate and solve an optimization problem\n", - " - Defining an objective function\n", - " - Setting variable bounds\n", - " - Adding additional constraints \n", - "\n", - "\n", - "## Problem Statement\n", - "\n", - "Following the previous example implementing a [Continuous Stirred Tank Reactor (CSTR) unit model](http://localhost:8888/notebooks/GitHub/examples-pse/src/Examples/UnitModels/Reactors/cstr_testing_doc.md), we can alter the flowsheet to use a stochiometric (or yield) reactor. As before, this example is adapted from Fogler, H.S., Elements of Chemical Reaction Engineering 5th ed., 2016, Prentice Hall, p. 157-160 with the following chemical reaction, property packages and flowsheet. Unlike the previous two reactors which apply performance equations to calculate reaction extent, this simplified reactor model neglects all geometric properties and allows the user to specify a yield per reaction. The state variables chosen for the property package are **molar flows of each component by phase in each stream, temperature of each stream and pressure of each stream**. The components considered are: **ethylene oxide, water, sulfuric acid and ethylene glycol** and the process occurs in liquid phase only. Therefore, every stream has 4 flow variables, 1 temperature and 1 pressure variable.\n", - "\n", - "Chemical reaction:\n", - "\n", - "**C2H4O + H2O + H2SO4 \u2192 C2H6O2 + H2SO4**\n", - "\n", - "Property Packages:\n", - "\n", - "- egprod_ideal.py\n", - "- egprod_reaction.py\n", - "\n", - "Flowsheet:\n", - "\n", - "![](egprod_flowsheet.png)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing Required Pyomo and IDAES components\n", - "\n", - "\n", - "To construct a flowsheet, we will need several components from the Pyomo and IDAES packages. Let us first import the following components from Pyomo:\n", - "- Constraint (to write constraints)\n", - "- Var (to declare variables)\n", - "- ConcreteModel (to create the concrete model object)\n", - "- Expression (to evaluate values as a function of variables defined in the model)\n", - "- Objective (to define an objective function for optimization)\n", - "- TransformationFactory (to apply certain transformations)\n", - "- Arc (to connect two unit models)\n", - "\n", - "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/stable/\n", - "\n", - "From idaes, we will be needing the `FlowsheetBlock` and the following unit models:\n", - "- Mixer\n", - "- Heater\n", - "- StoichiometricReactor\n", - "\n", - "We will also be needing some utility tools to put together the flowsheet and calculate the degrees of freedom, tools for model expressions and calling variable values, and built-in functions to define property packages, add unit containers to objects and define our initialization scheme.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.environ import (\n", - " Constraint,\n", - " Var,\n", - " ConcreteModel,\n", - " Expression,\n", - " Objective,\n", - " TransformationFactory,\n", - " value,\n", - " units as pyunits,\n", - ")\n", - "from pyomo.network import Arc\n", - "\n", - "from idaes.core import FlowsheetBlock\n", - "from idaes.models.properties.modular_properties.base.generic_property import (\n", - " GenericParameterBlock,\n", - ")\n", - "from idaes.models.properties.modular_properties.base.generic_reaction import (\n", - " GenericReactionParameterBlock,\n", - ")\n", - "from idaes.models.unit_models import Feed, Mixer, Heater, StoichiometricReactor, Product\n", - "\n", - "from idaes.core.solvers import get_solver\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "from idaes.core.util.initialization import propagate_state" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Importing Required Thermophysical and Reaction Packages\n", - "\n", - "The final step is to import the thermophysical and reaction packages. We have created a custom thermophysical package that support ideal vapor and liquid behavior for this system, and in this case we will restrict it to ideal liquid behavior only. \n", - "\n", - "Let us import the following modules from the same directory as this Jupyter notebook:\n", - "- egprod_ideal as thermo_props\n", - "- egprod_reaction as reaction_props" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import egprod_ideal as thermo_props\n", - "import egprod_reaction as reaction_props" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Constructing the Flowsheet\n", - "\n", - "We have now imported all the components, unit models, and property modules we need to construct a flowsheet. Let us create a ConcreteModel and add the flowsheet block. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m = ConcreteModel()\n", - "m.fs = FlowsheetBlock(dynamic=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We now need to add the property packages to the flowsheet. Unlike the basic [Flash unit model example](http://localhost:8888/notebooks/GitHub/examples-pse/src/Tutorials/Basics/flash_unit_solution_testing_doc.md), where we only had a thermophysical property package, for this flowsheet we will also need to add a reaction property package. We will use the [Modular Property Framework](https://idaes-pse.readthedocs.io/en/stable/explanations/components/property_package/index.html#generic-property-package-framework) and [Modular Reaction Framework](https://idaes-pse.readthedocs.io/en/stable/explanations/components/property_package/index.html#generic-reaction-package-framework). The get_prop method for the natural gas property module automatically returns the correct dictionary using a component list argument. The GenericParameterBlock and GenericReactionParameterBlock methods build states blocks from passed parameter data; the reaction block unpacks using **reaction_props.config_dict to allow for optional or empty keyword arguments:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "m.fs.thermo_params = GenericParameterBlock(**thermo_props.config_dict)\n", - "m.fs.reaction_params = GenericReactionParameterBlock(\n", - " property_package=m.fs.thermo_params, **reaction_props.config_dict\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding Unit Models\n", - "\n", - "Let us start adding the unit models we have imported to the flowsheet. Here, we are adding a `Mixer`, a `Heater` and a `StoichiometricReactor`. Note that all unit models need to be given a property package argument. In addition to that, there are several arguments depending on the unit model, please refer to the documentation for more details on [IDAES Unit Models](https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/index.html). For example, the `Mixer` is given a `list` consisting of names to the two inlets." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "m.fs.OXIDE = Feed(property_package=m.fs.thermo_params)\n", - "m.fs.ACID = Feed(property_package=m.fs.thermo_params)\n", - "m.fs.PROD = Product(property_package=m.fs.thermo_params)\n", - "m.fs.M101 = Mixer(\n", - " property_package=m.fs.thermo_params, inlet_list=[\"reagent_feed\", \"catalyst_feed\"]\n", - ")\n", - "m.fs.H101 = Heater(\n", - " property_package=m.fs.thermo_params,\n", - " has_pressure_change=False,\n", - " has_phase_equilibrium=False,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.R101 = StoichiometricReactor(\n", - " property_package=m.fs.thermo_params,\n", - " reaction_package=m.fs.reaction_params,\n", - " has_heat_of_reaction=True,\n", - " has_heat_transfer=True,\n", - " has_pressure_change=False,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Connecting Unit Models Using Arcs\n", - "\n", - "We have now added all the unit models we need to the flowsheet. However, we have not yet specified how the units are to be connected. To do this, we will be using the `Arc` which is a pyomo component that takes in two arguments: `source` and `destination`. Let us connect the outlet of the `Mixer` to the inlet of the `Heater`, and the outlet of the `Heater` to the inlet of the `StoichiometricReactor`. Additionally, we will connect the `Feed` and `Product` blocks to the flowsheet:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.s01 = Arc(source=m.fs.OXIDE.outlet, destination=m.fs.M101.reagent_feed)\n", - "m.fs.s02 = Arc(source=m.fs.ACID.outlet, destination=m.fs.M101.catalyst_feed)\n", - "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.H101.inlet)\n", - "m.fs.s04 = Arc(source=m.fs.H101.outlet, destination=m.fs.R101.inlet)\n", - "m.fs.s05 = Arc(source=m.fs.R101.outlet, destination=m.fs.PROD.inlet)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We have now connected the unit model block using the arcs. However, we also need to link the state variables on connected ports. Pyomo provides a convenient method `TransformationFactory` to write these equality constraints for us between two ports:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "TransformationFactory(\"network.expand_arcs\").apply_to(m)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adding Expressions to Compute Operating Costs\n", - "\n", - "In this section, we will add a few Expressions that allows us to evaluate the performance. `Expressions` provide a convenient way of calculating certain values that are a function of the variables defined in the model. For more details on `Expressions`, please refer to the [Pyomo Expression documentation]( https://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html).\n", - "\n", - "For this flowsheet, we are interested in computing ethylene glycol production in millions of pounds per year, as well as the total costs due to cooling and heating utilities." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us first add an `Expression` to convert the product flow from mol/s to MM lb/year of ethylene glycol. We see that the molecular weight exists in the thermophysical property package, so we may use that value for our calculations." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.eg_prod = Expression(\n", - " expr=pyunits.convert(\n", - " m.fs.PROD.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", - " * m.fs.thermo_params.ethylene_glycol.mw, # MW defined in properties as kg/mol\n", - " to_units=pyunits.Mlb / pyunits.yr,\n", - " )\n", - ") # converting kg/s to MM lb/year" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, let us add expressions to compute the reactor cooling cost (\\\\$/s) assuming a cost of 2.12E-5 \\\\$/kW, and the heating utility cost (\\\\$/s) assuming 2.2E-4 \\\\$/kW. Note that the heat duty is in units of watt (J/s). The total operating cost will be the sum of the two, expressed in \\\\$/year assuming 8000 operating hours per year (~10\\% downtime, which is fairly common for small scale chemical plants):" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.cooling_cost = Expression(\n", - " expr=2.12e-8 * (-m.fs.R101.heat_duty[0])\n", - ") # the reaction is exothermic, so R101 duty is negative\n", - "m.fs.heating_cost = Expression(\n", - " expr=2.2e-7 * m.fs.H101.heat_duty[0]\n", - ") # the stream must be heated to T_rxn, so H101 duty is positive\n", - "m.fs.operating_cost = Expression(\n", - " expr=(3600 * 8000 * (m.fs.heating_cost + m.fs.cooling_cost))\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Fixing Feed Conditions\n", - "\n", - "Let us first check how many degrees of freedom exist for this flowsheet using the `degrees_of_freedom` tool we imported earlier. We expect each stream to have 6 degrees of freedom, the mixer to have 0 (after both streams are accounted for), the heater to have 1 (just the duty, since the inlet is also the outlet of M101), and the reactor to have 1 (duty or overall conversion, since the inlet is also the outlet of H101). In this case, the reactor has an extra degree of freedom since we have not yet defined the yield of the sole rate-kinetics reaction. Therefore, we have 15 degrees of freedom to specify: temperature, pressure and flow of all four components on both streams; outlet heater temperature; reactor conversion and duty." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will now be fixing the feed stream to the conditions shown in the flowsheet above. As mentioned in other tutorials, the IDAES framework expects a time index value for every referenced internal stream or unit variable, even in steady-state systems with a single time point $ t = 0 $ (`t = [0]` is the default when creating a `FlowsheetBlock` without passing a `time_set` argument). The non-present components in each stream are assigned a very small non-zero value to help with convergence and initializing. Based on stoichiometric ratios for the reaction, 80% conversion and 200 MM lb/year (46.4 mol/s) of ethylene glycol, we will initialize our simulation with the following calculated values:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"].fix(\n", - " 58.0 * pyunits.mol / pyunits.s\n", - ")\n", - "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].fix(\n", - " 39.6 * pyunits.mol / pyunits.s\n", - ") # calculated from 16.1 mol EO / cudm in stream\n", - "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"sulfuric_acid\"].fix(\n", - " 1e-5 * pyunits.mol / pyunits.s\n", - ")\n", - "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].fix(\n", - " 1e-5 * pyunits.mol / pyunits.s\n", - ")\n", - "m.fs.OXIDE.outlet.temperature.fix(298.15 * pyunits.K)\n", - "m.fs.OXIDE.outlet.pressure.fix(1e5 * pyunits.Pa)\n", - "\n", - "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"].fix(\n", - " 1e-5 * pyunits.mol / pyunits.s\n", - ")\n", - "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].fix(\n", - " 200 * pyunits.mol / pyunits.s\n", - ")\n", - "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"sulfuric_acid\"].fix(\n", - " 0.334 * pyunits.mol / pyunits.s\n", - ") # calculated from 0.9 wt% SA in stream\n", - "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].fix(\n", - " 1e-5 * pyunits.mol / pyunits.s\n", - ")\n", - "m.fs.ACID.outlet.temperature.fix(298.15 * pyunits.K)\n", - "m.fs.ACID.outlet.pressure.fix(1e5 * pyunits.Pa)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Fixing Unit Model Specifications\n", - "\n", - "Now that we have fixed our inlet feed conditions, we will now be fixing the operating conditions for the unit models in the flowsheet. Let us fix the outlet temperature of H101 to 328.15 K. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.H101.outlet.temperature.fix(328.15 * pyunits.K)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We will need to specify both initial reactant extent (conversion or yield) and heat duty values (these are the only two free variables to choose from). The reaction extent can be specified directly, as a molar or mass yield ratio of product to a particular reactant, or fractional conversion of a particular reactant. Here, we choose fractional conversion in terms of ethylene oxide. Since heat duty and the outlet reactor temperature are interdependent, we can choose to specify this quantity instead. While the reaction kinetic parameters exist in the property package, we also do not need to add a rate constant expression since generation is explicitly defined through the conversion/yield. Note that our initial problem will solve with zero *temperature change* but will be infeasible with zero *heat duty*; this is due to the heat of reaction enforced by allowing heat transfer and mandating a non-zero conversion." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.R101.conversion = Var(\n", - " initialize=0.80, bounds=(0, 1), units=pyunits.dimensionless\n", - ") # fraction\n", - "\n", - "m.fs.R101.conv_constraint = Constraint(\n", - " expr=m.fs.R101.conversion\n", - " * m.fs.R101.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"]\n", - " == (\n", - " m.fs.R101.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"]\n", - " - m.fs.R101.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"]\n", - " )\n", - ")\n", - "\n", - "m.fs.R101.conversion.fix(0.80)\n", - "\n", - "m.fs.R101.outlet.temperature.fix(328.15 * pyunits.K) # equal inlet reactor temperature" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For initialization, we solve a square problem (degrees of freedom = 0). Let's check the degrees of freedom below:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(degrees_of_freedom(m))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finally, we need to initialize the each unit operation in sequence to solve the flowsheet. As in best practice, unit operations are initialized or solved, and outlet properties are propagated to connected inlet streams via arc definitions as follows:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Initialize and solve each unit operation\n", - "m.fs.OXIDE.initialize()\n", - "propagate_state(arc=m.fs.s01)\n", - "\n", - "m.fs.ACID.initialize()\n", - "propagate_state(arc=m.fs.s01)\n", - "\n", - "m.fs.M101.initialize()\n", - "propagate_state(arc=m.fs.s03)\n", - "\n", - "m.fs.H101.initialize()\n", - "propagate_state(arc=m.fs.s04)\n", - "\n", - "m.fs.R101.initialize()\n", - "propagate_state(arc=m.fs.s05)\n", - "\n", - "m.fs.PROD.initialize()\n", - "\n", - "# set solver\n", - "solver = get_solver()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "# Solve the model\n", - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Analyze the Results of the Square Problem\n", - "\n", - "\n", - "What is the total operating cost? " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.6f} million per year\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For this operating cost, what conversion did we achieve of ethylene oxide to ethylene glycol? " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.R101.report()\n", - "\n", - "print()\n", - "print(f\"Conversion achieved = {value(m.fs.R101.conversion):.1%}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Optimizing Ethylene Glycol Production\n", - "\n", - "Now that the flowsheet has been squared and solved, we can run a small optimization problem to minimize our production costs. Suppose we require at least 200 million pounds/year of ethylene glycol produced and 90% conversion of ethylene oxide, allowing for variable and reactor temperature (heater outlet)." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let us declare our objective function for this problem. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.objective = Objective(expr=m.fs.operating_cost)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, we need to add the design constraints and unfix the decision variables as we had solved a square problem (degrees of freedom = 0) until now, as well as set bounds for the design variables (reactor outlet temperature is set by state variable bounds in property package):" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "m.fs.eg_prod_con = Constraint(\n", - " expr=m.fs.eg_prod >= 200 * pyunits.Mlb / pyunits.yr\n", - ") # MM lb/year\n", - "m.fs.R101.conversion.fix(0.90)\n", - "\n", - "m.fs.H101.outlet.temperature.unfix()\n", - "m.fs.H101.outlet.temperature[0].setlb(328.15 * pyunits.K)\n", - "m.fs.H101.outlet.temperature[0].setub(\n", - " 470.45 * pyunits.K\n", - ") # highest component boiling point (ethylene glycol)\n", - "\n", - "m.fs.R101.outlet.temperature.unfix()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "We have now defined the optimization problem and we are now ready to solve this problem. \n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "results = solver.solve(m, tee=True)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.6f} million per year\")\n", - "\n", - "print()\n", - "print(\"Heater results\")\n", - "\n", - "m.fs.H101.report()\n", - "\n", - "print()\n", - "print(\"Stoichiometric reactor results\")\n", - "\n", - "m.fs.R101.report()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Display optimal values for the decision variables and design variables:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(\"Optimal Values\")\n", - "print()\n", - "\n", - "print(f\"H101 outlet temperature = {value(m.fs.H101.outlet.temperature[0]):0.6f} K\")\n", - "\n", - "print()\n", - "print(f\"R101 outlet temperature = {value(m.fs.R101.outlet.temperature[0]):0.6f} K\")\n", - "\n", - "print()\n", - "print(f\"Ethylene glycol produced = {value(m.fs.eg_prod):0.6f} MM lb/year\")\n", - "\n", - "print()\n", - "print(f\"Conversion achieved = {value(m.fs.R101.conversion):.1%}\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.18" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "# Flowsheet Stoichiometric Reactor Simulation and Optimization of Ethylene Glycol Production\n", + "Author: Brandon Paul \n", + "Maintainer: Brandon Paul \n", + "Updated: 2023-06-01 \n", + "\n", + "## Learning Outcomes\n", + "\n", + "\n", + "- Call and implement the IDAES StochiometricReactor unit model\n", + "- Construct a steady-state flowsheet using the IDAES unit model library\n", + "- Connecting unit models in a flowsheet using Arcs\n", + "- Fomulate and solve an optimization problem\n", + " - Defining an objective function\n", + " - Setting variable bounds\n", + " - Adding additional constraints \n", + "\n", + "\n", + "## Problem Statement\n", + "\n", + "Following the previous example implementing a [Continuous Stirred Tank Reactor (CSTR) unit model](http://localhost:8888/notebooks/GitHub/examples-pse/src/Examples/UnitModels/Reactors/cstr_testing_doc.md), we can alter the flowsheet to use a stochiometric (or yield) reactor. As before, this example is adapted from Fogler, H.S., Elements of Chemical Reaction Engineering 5th ed., 2016, Prentice Hall, p. 157-160 with the following chemical reaction, property packages and flowsheet. Unlike the previous two reactors which apply performance equations to calculate reaction extent, this simplified reactor model neglects all geometric properties and allows the user to specify a yield per reaction. The state variables chosen for the property package are **molar flows of each component by phase in each stream, temperature of each stream and pressure of each stream**. The components considered are: **ethylene oxide, water, sulfuric acid and ethylene glycol** and the process occurs in liquid phase only. Therefore, every stream has 4 flow variables, 1 temperature and 1 pressure variable.\n", + "\n", + "Chemical reaction:\n", + "\n", + "**C2H4O + H2O + H2SO4 → C2H6O2 + H2SO4**\n", + "\n", + "Property Packages:\n", + "\n", + "- egprod_ideal.py\n", + "- egprod_reaction.py\n", + "\n", + "Flowsheet:\n", + "\n", + "![](egprod_flowsheet.png)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing Required Pyomo and IDAES components\n", + "\n", + "\n", + "To construct a flowsheet, we will need several components from the Pyomo and IDAES packages. Let us first import the following components from Pyomo:\n", + "- Constraint (to write constraints)\n", + "- Var (to declare variables)\n", + "- ConcreteModel (to create the concrete model object)\n", + "- Expression (to evaluate values as a function of variables defined in the model)\n", + "- Objective (to define an objective function for optimization)\n", + "- TransformationFactory (to apply certain transformations)\n", + "- Arc (to connect two unit models)\n", + "\n", + "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/stable/\n", + "\n", + "From idaes, we will be needing the `FlowsheetBlock` and the following unit models:\n", + "- Mixer\n", + "- Heater\n", + "- StoichiometricReactor\n", + "\n", + "We will also be needing some utility tools to put together the flowsheet and calculate the degrees of freedom, tools for model expressions and calling variable values, and built-in functions to define property packages, add unit containers to objects and define our initialization scheme.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import (\n", + " Constraint,\n", + " Var,\n", + " ConcreteModel,\n", + " Expression,\n", + " Objective,\n", + " TransformationFactory,\n", + " value,\n", + " units as pyunits,\n", + ")\n", + "from pyomo.network import Arc\n", + "\n", + "from idaes.core import FlowsheetBlock\n", + "from idaes.models.properties.modular_properties.base.generic_property import (\n", + " GenericParameterBlock,\n", + ")\n", + "from idaes.models.properties.modular_properties.base.generic_reaction import (\n", + " GenericReactionParameterBlock,\n", + ")\n", + "from idaes.models.unit_models import Feed, Mixer, Heater, StoichiometricReactor, Product\n", + "\n", + "from idaes.core.solvers import get_solver\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.core.util.initialization import propagate_state" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing Required Thermophysical and Reaction Packages\n", + "\n", + "The final step is to import the thermophysical and reaction packages. We have created a custom thermophysical package that support ideal vapor and liquid behavior for this system, and in this case we will restrict it to ideal liquid behavior only. \n", + "\n", + "Let us import the following modules from the same directory as this Jupyter notebook:\n", + "- egprod_ideal as thermo_props\n", + "- egprod_reaction as reaction_props" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import egprod_ideal as thermo_props\n", + "import egprod_reaction as reaction_props" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Constructing the Flowsheet\n", + "\n", + "We have now imported all the components, unit models, and property modules we need to construct a flowsheet. Let us create a ConcreteModel and add the flowsheet block. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m = ConcreteModel()\n", + "m.fs = FlowsheetBlock(dynamic=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now need to add the property packages to the flowsheet. Unlike the basic [Flash unit model example](http://localhost:8888/notebooks/GitHub/examples-pse/src/Tutorials/Basics/flash_unit_solution_testing_doc.md), where we only had a thermophysical property package, for this flowsheet we will also need to add a reaction property package. We will use the [Modular Property Framework](https://idaes-pse.readthedocs.io/en/stable/explanations/components/property_package/index.html#generic-property-package-framework) and [Modular Reaction Framework](https://idaes-pse.readthedocs.io/en/stable/explanations/components/property_package/index.html#generic-reaction-package-framework). The get_prop method for the natural gas property module automatically returns the correct dictionary using a component list argument. The GenericParameterBlock and GenericReactionParameterBlock methods build states blocks from passed parameter data; the reaction block unpacks using **reaction_props.config_dict to allow for optional or empty keyword arguments:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "m.fs.thermo_params = GenericParameterBlock(**thermo_props.config_dict)\n", + "m.fs.reaction_params = GenericReactionParameterBlock(\n", + " property_package=m.fs.thermo_params, **reaction_props.config_dict\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding Unit Models\n", + "\n", + "Let us start adding the unit models we have imported to the flowsheet. Here, we are adding a `Mixer`, a `Heater` and a `StoichiometricReactor`. Note that all unit models need to be given a property package argument. In addition to that, there are several arguments depending on the unit model, please refer to the documentation for more details on [IDAES Unit Models](https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/index.html). For example, the `Mixer` is given a `list` consisting of names to the two inlets." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "m.fs.OXIDE = Feed(property_package=m.fs.thermo_params)\n", + "m.fs.ACID = Feed(property_package=m.fs.thermo_params)\n", + "m.fs.PROD = Product(property_package=m.fs.thermo_params)\n", + "m.fs.M101 = Mixer(\n", + " property_package=m.fs.thermo_params, inlet_list=[\"reagent_feed\", \"catalyst_feed\"]\n", + ")\n", + "m.fs.H101 = Heater(\n", + " property_package=m.fs.thermo_params,\n", + " has_pressure_change=False,\n", + " has_phase_equilibrium=False,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.R101 = StoichiometricReactor(\n", + " property_package=m.fs.thermo_params,\n", + " reaction_package=m.fs.reaction_params,\n", + " has_heat_of_reaction=True,\n", + " has_heat_transfer=True,\n", + " has_pressure_change=False,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Connecting Unit Models Using Arcs\n", + "\n", + "We have now added all the unit models we need to the flowsheet. However, we have not yet specified how the units are to be connected. To do this, we will be using the `Arc` which is a pyomo component that takes in two arguments: `source` and `destination`. Let us connect the outlet of the `Mixer` to the inlet of the `Heater`, and the outlet of the `Heater` to the inlet of the `StoichiometricReactor`. Additionally, we will connect the `Feed` and `Product` blocks to the flowsheet:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.s01 = Arc(source=m.fs.OXIDE.outlet, destination=m.fs.M101.reagent_feed)\n", + "m.fs.s02 = Arc(source=m.fs.ACID.outlet, destination=m.fs.M101.catalyst_feed)\n", + "m.fs.s03 = Arc(source=m.fs.M101.outlet, destination=m.fs.H101.inlet)\n", + "m.fs.s04 = Arc(source=m.fs.H101.outlet, destination=m.fs.R101.inlet)\n", + "m.fs.s05 = Arc(source=m.fs.R101.outlet, destination=m.fs.PROD.inlet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We have now connected the unit model block using the arcs. However, we also need to link the state variables on connected ports. Pyomo provides a convenient method `TransformationFactory` to write these equality constraints for us between two ports:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "TransformationFactory(\"network.expand_arcs\").apply_to(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adding Expressions to Compute Operating Costs\n", + "\n", + "In this section, we will add a few Expressions that allows us to evaluate the performance. `Expressions` provide a convenient way of calculating certain values that are a function of the variables defined in the model. For more details on `Expressions`, please refer to the [Pyomo Expression documentation]( https://pyomo.readthedocs.io/en/stable/pyomo_modeling_components/Expressions.html).\n", + "\n", + "For this flowsheet, we are interested in computing ethylene glycol production in millions of pounds per year, as well as the total costs due to cooling and heating utilities." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us first add an `Expression` to convert the product flow from mol/s to MM lb/year of ethylene glycol. We see that the molecular weight exists in the thermophysical property package, so we may use that value for our calculations." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.eg_prod = Expression(\n", + " expr=pyunits.convert(\n", + " m.fs.PROD.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"]\n", + " * m.fs.thermo_params.ethylene_glycol.mw, # MW defined in properties as kg/mol\n", + " to_units=pyunits.Mlb / pyunits.yr,\n", + " )\n", + ") # converting kg/s to MM lb/year" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, let us add expressions to compute the reactor cooling cost (\\\\$/s) assuming a cost of 2.12E-5 \\\\$/kW, and the heating utility cost (\\\\$/s) assuming 2.2E-4 \\\\$/kW. Note that the heat duty is in units of watt (J/s). The total operating cost will be the sum of the two, expressed in \\\\$/year assuming 8000 operating hours per year (~10\\% downtime, which is fairly common for small scale chemical plants):" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.cooling_cost = Expression(\n", + " expr=2.12e-8 * (-m.fs.R101.heat_duty[0])\n", + ") # the reaction is exothermic, so R101 duty is negative\n", + "m.fs.heating_cost = Expression(\n", + " expr=2.2e-7 * m.fs.H101.heat_duty[0]\n", + ") # the stream must be heated to T_rxn, so H101 duty is positive\n", + "m.fs.operating_cost = Expression(\n", + " expr=(3600 * 8000 * (m.fs.heating_cost + m.fs.cooling_cost))\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fixing Feed Conditions\n", + "\n", + "Let us first check how many degrees of freedom exist for this flowsheet using the `degrees_of_freedom` tool we imported earlier. We expect each stream to have 6 degrees of freedom, the mixer to have 0 (after both streams are accounted for), the heater to have 1 (just the duty, since the inlet is also the outlet of M101), and the reactor to have 1 (duty or overall conversion, since the inlet is also the outlet of H101). In this case, the reactor has an extra degree of freedom since we have not yet defined the yield of the sole rate-kinetics reaction. Therefore, we have 15 degrees of freedom to specify: temperature, pressure and flow of all four components on both streams; outlet heater temperature; reactor conversion and duty." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now be fixing the feed stream to the conditions shown in the flowsheet above. As mentioned in other tutorials, the IDAES framework expects a time index value for every referenced internal stream or unit variable, even in steady-state systems with a single time point $ t = 0 $ (`t = [0]` is the default when creating a `FlowsheetBlock` without passing a `time_set` argument). The non-present components in each stream are assigned a very small non-zero value to help with convergence and initializing. Based on stoichiometric ratios for the reaction, 80% conversion and 200 MM lb/year (46.4 mol/s) of ethylene glycol, we will initialize our simulation with the following calculated values:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"].fix(\n", + " 58.0 * pyunits.mol / pyunits.s\n", + ")\n", + "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].fix(\n", + " 39.6 * pyunits.mol / pyunits.s\n", + ") # calculated from 16.1 mol EO / cudm in stream\n", + "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"sulfuric_acid\"].fix(\n", + " 1e-5 * pyunits.mol / pyunits.s\n", + ")\n", + "m.fs.OXIDE.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].fix(\n", + " 1e-5 * pyunits.mol / pyunits.s\n", + ")\n", + "m.fs.OXIDE.outlet.temperature.fix(298.15 * pyunits.K)\n", + "m.fs.OXIDE.outlet.pressure.fix(1e5 * pyunits.Pa)\n", + "\n", + "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"].fix(\n", + " 1e-5 * pyunits.mol / pyunits.s\n", + ")\n", + "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"water\"].fix(\n", + " 200 * pyunits.mol / pyunits.s\n", + ")\n", + "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"sulfuric_acid\"].fix(\n", + " 0.334 * pyunits.mol / pyunits.s\n", + ") # calculated from 0.9 wt% SA in stream\n", + "m.fs.ACID.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_glycol\"].fix(\n", + " 1e-5 * pyunits.mol / pyunits.s\n", + ")\n", + "m.fs.ACID.outlet.temperature.fix(298.15 * pyunits.K)\n", + "m.fs.ACID.outlet.pressure.fix(1e5 * pyunits.Pa)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Fixing Unit Model Specifications\n", + "\n", + "Now that we have fixed our inlet feed conditions, we will now be fixing the operating conditions for the unit models in the flowsheet. Let us fix the outlet temperature of H101 to 328.15 K. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.H101.outlet.temperature.fix(328.15 * pyunits.K)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will need to specify both initial reactant extent (conversion or yield) and heat duty values (these are the only two free variables to choose from). The reaction extent can be specified directly, as a molar or mass yield ratio of product to a particular reactant, or fractional conversion of a particular reactant. Here, we choose fractional conversion in terms of ethylene oxide. Since heat duty and the outlet reactor temperature are interdependent, we can choose to specify this quantity instead. While the reaction kinetic parameters exist in the property package, we also do not need to add a rate constant expression since generation is explicitly defined through the conversion/yield. Note that our initial problem will solve with zero *temperature change* but will be infeasible with zero *heat duty*; this is due to the heat of reaction enforced by allowing heat transfer and mandating a non-zero conversion." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.R101.conversion = Var(\n", + " initialize=0.80, bounds=(0, 1), units=pyunits.dimensionless\n", + ") # fraction\n", + "\n", + "m.fs.R101.conv_constraint = Constraint(\n", + " expr=m.fs.R101.conversion\n", + " * m.fs.R101.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"]\n", + " == (\n", + " m.fs.R101.inlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"]\n", + " - m.fs.R101.outlet.flow_mol_phase_comp[0, \"Liq\", \"ethylene_oxide\"]\n", + " )\n", + ")\n", + "\n", + "m.fs.R101.conversion.fix(0.80)\n", + "\n", + "m.fs.R101.outlet.temperature.fix(328.15 * pyunits.K) # equal inlet reactor temperature" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For initialization, we solve a square problem (degrees of freedom = 0). Let's check the degrees of freedom below:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(degrees_of_freedom(m))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, we need to initialize the each unit operation in sequence to solve the flowsheet. As in best practice, unit operations are initialized or solved, and outlet properties are propagated to connected inlet streams via arc definitions as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Initialize and solve each unit operation\n", + "m.fs.OXIDE.initialize()\n", + "propagate_state(arc=m.fs.s01)\n", + "\n", + "m.fs.ACID.initialize()\n", + "propagate_state(arc=m.fs.s01)\n", + "\n", + "m.fs.M101.initialize()\n", + "propagate_state(arc=m.fs.s03)\n", + "\n", + "m.fs.H101.initialize()\n", + "propagate_state(arc=m.fs.s04)\n", + "\n", + "m.fs.R101.initialize()\n", + "propagate_state(arc=m.fs.s05)\n", + "\n", + "m.fs.PROD.initialize()\n", + "\n", + "# set solver\n", + "solver = get_solver()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Solve the model\n", + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Analyze the Results of the Square Problem\n", + "\n", + "\n", + "What is the total operating cost? " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.6f} million per year\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For this operating cost, what conversion did we achieve of ethylene oxide to ethylene glycol? " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.R101.report()\n", + "\n", + "print()\n", + "print(f\"Conversion achieved = {value(m.fs.R101.conversion):.1%}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Optimizing Ethylene Glycol Production\n", + "\n", + "Now that the flowsheet has been squared and solved, we can run a small optimization problem to minimize our production costs. Suppose we require at least 200 million pounds/year of ethylene glycol produced and 90% conversion of ethylene oxide, allowing for variable and reactor temperature (heater outlet)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us declare our objective function for this problem. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.objective = Objective(expr=m.fs.operating_cost)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, we need to add the design constraints and unfix the decision variables as we had solved a square problem (degrees of freedom = 0) until now, as well as set bounds for the design variables (reactor outlet temperature is set by state variable bounds in property package):" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.eg_prod_con = Constraint(\n", + " expr=m.fs.eg_prod >= 200 * pyunits.Mlb / pyunits.yr\n", + ") # MM lb/year\n", + "m.fs.R101.conversion.fix(0.90)\n", + "\n", + "m.fs.H101.outlet.temperature.unfix()\n", + "m.fs.H101.outlet.temperature[0].setlb(328.15 * pyunits.K)\n", + "m.fs.H101.outlet.temperature[0].setub(\n", + " 470.45 * pyunits.K\n", + ") # highest component boiling point (ethylene glycol)\n", + "\n", + "m.fs.R101.outlet.temperature.unfix()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "We have now defined the optimization problem and we are now ready to solve this problem. \n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "results = solver.solve(m, tee=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(f\"operating cost = ${value(m.fs.operating_cost)/1e6:0.6f} million per year\")\n", + "\n", + "print()\n", + "print(\"Heater results\")\n", + "\n", + "m.fs.H101.report()\n", + "\n", + "print()\n", + "print(\"Stoichiometric reactor results\")\n", + "\n", + "m.fs.R101.report()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Display optimal values for the decision variables and design variables:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Optimal Values\")\n", + "print()\n", + "\n", + "print(f\"H101 outlet temperature = {value(m.fs.H101.outlet.temperature[0]):0.6f} K\")\n", + "\n", + "print()\n", + "print(f\"R101 outlet temperature = {value(m.fs.R101.outlet.temperature[0]):0.6f} K\")\n", + "\n", + "print()\n", + "print(f\"Ethylene glycol produced = {value(m.fs.eg_prod):0.6f} MM lb/year\")\n", + "\n", + "print()\n", + "print(f\"Conversion achieved = {value(m.fs.R101.conversion):.1%}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.18" + } + }, + "nbformat": 4, + "nbformat_minor": 3 } \ No newline at end of file diff --git a/idaes_examples/notebooks/docs/unit_models/reactors/stoichiometric_reactor_test.ipynb b/idaes_examples/notebooks/docs/unit_models/reactors/stoichiometric_reactor_test.ipynb index 675c7fea..419c61a7 100644 --- a/idaes_examples/notebooks/docs/unit_models/reactors/stoichiometric_reactor_test.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/reactors/stoichiometric_reactor_test.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/unit_models/reactors/stoichiometric_reactor_usr.ipynb b/idaes_examples/notebooks/docs/unit_models/reactors/stoichiometric_reactor_usr.ipynb index 5660e55a..9fd66919 100644 --- a/idaes_examples/notebooks/docs/unit_models/reactors/stoichiometric_reactor_usr.ipynb +++ b/idaes_examples/notebooks/docs/unit_models/reactors/stoichiometric_reactor_usr.ipynb @@ -16,12 +16,13 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, diff --git a/idaes_examples/notebooks/docs/unit_models/reactors/tests/test_egprod_ideal.py b/idaes_examples/notebooks/docs/unit_models/reactors/tests/test_egprod_ideal.py index 7b9ca054..09a26d2c 100644 --- a/idaes_examples/notebooks/docs/unit_models/reactors/tests/test_egprod_ideal.py +++ b/idaes_examples/notebooks/docs/unit_models/reactors/tests/test_egprod_ideal.py @@ -3,12 +3,13 @@ # Framework (IDAES IP) was produced under the DOE Institute for the # Design of Advanced Energy Systems (IDAES). # -# Copyright (c) 2018-2023 by the software owners: The Regents of the +# Copyright (c) 2018-2025 by the software owners: The Regents of the # University of California, through Lawrence Berkeley National Laboratory, # National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon # University, West Virginia University Research Corporation, et al. # All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md # for full copyright and license information. +# ################################################################################# """ Author: Brandon Paul diff --git a/idaes_examples/notebooks/held/flowsheets/CO2_adsorption_desorption/CO2_Adsorption_Desorption_1DFixedBed.ipynb b/idaes_examples/notebooks/held/flowsheets/CO2_adsorption_desorption/CO2_Adsorption_Desorption_1DFixedBed.ipynb index f90e547b..43b94ebe 100644 --- a/idaes_examples/notebooks/held/flowsheets/CO2_adsorption_desorption/CO2_Adsorption_Desorption_1DFixedBed.ipynb +++ b/idaes_examples/notebooks/held/flowsheets/CO2_adsorption_desorption/CO2_Adsorption_Desorption_1DFixedBed.ipynb @@ -3,6 +3,7 @@ { "cell_type": "code", "execution_count": null, + "id": "97442516", "metadata": { "tags": [ "header", @@ -16,17 +17,19 @@ "# Framework (IDAES IP) was produced under the DOE Institute for the\n", "# Design of Advanced Energy Systems (IDAES).\n", "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", "# University of California, through Lawrence Berkeley National Laboratory,\n", "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", "# University, West Virginia University Research Corporation, et al.\n", "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", "# for full copyright and license information.\n", + "#\n", "###############################################################################" ] }, { "cell_type": "markdown", + "id": "c1f12bc0", "metadata": {}, "source": [ "# CO2 Adsorption Desorption simulation example with a 1D Fixed Bed model\n", @@ -46,6 +49,7 @@ }, { "cell_type": "markdown", + "id": "c3ebd666", "metadata": {}, "source": [ "## Cycle details\n", @@ -65,6 +69,7 @@ }, { "cell_type": "markdown", + "id": "cedfdc13", "metadata": {}, "source": [ "## Notes\n", @@ -77,6 +82,7 @@ }, { "cell_type": "markdown", + "id": "bb4d630f", "metadata": {}, "source": [ "# Step 1: Import relevant libraries and packages" @@ -84,6 +90,7 @@ }, { "cell_type": "markdown", + "id": "deaab2eb", "metadata": {}, "source": [ "### Import python libraries\n", @@ -95,6 +102,7 @@ { "cell_type": "code", "execution_count": 1, + "id": "c8d5a2eb", "metadata": {}, "outputs": [], "source": [ @@ -104,6 +112,7 @@ }, { "cell_type": "markdown", + "id": "9f88a180", "metadata": {}, "source": [ "\n", @@ -123,6 +132,7 @@ { "cell_type": "code", "execution_count": 2, + "id": "a5ced001", "metadata": {}, "outputs": [], "source": [ @@ -138,6 +148,7 @@ }, { "cell_type": "markdown", + "id": "c519abce", "metadata": {}, "source": [ "### Import IDAES core components\n", @@ -159,6 +170,7 @@ { "cell_type": "code", "execution_count": 3, + "id": "18a18976", "metadata": {}, "outputs": [], "source": [ @@ -173,6 +185,7 @@ }, { "cell_type": "markdown", + "id": "ab20ecfb", "metadata": {}, "source": [ "### Import IDAES unit models and NETL 32D property packages\n", @@ -185,6 +198,7 @@ { "cell_type": "code", "execution_count": 4, + "id": "6119f11e", "metadata": {}, "outputs": [], "source": [ @@ -202,6 +216,7 @@ }, { "cell_type": "markdown", + "id": "a000fe7b", "metadata": {}, "source": [ "### Import custom libraries and functions\n", @@ -219,6 +234,7 @@ { "cell_type": "code", "execution_count": 5, + "id": "a6a126a7", "metadata": {}, "outputs": [], "source": [ @@ -233,6 +249,7 @@ }, { "cell_type": "markdown", + "id": "7eb932d8", "metadata": {}, "source": [ "#### Create a Function to Build the Flowsheet\n", @@ -248,6 +265,7 @@ { "cell_type": "code", "execution_count": 6, + "id": "ab7975d7", "metadata": {}, "outputs": [], "source": [ @@ -287,6 +305,7 @@ }, { "cell_type": "markdown", + "id": "f881adbe", "metadata": {}, "source": [ "#### Create a Function to Fix the Flowsheet Conditions\n", @@ -304,6 +323,7 @@ { "cell_type": "code", "execution_count": 7, + "id": "9e1b4771", "metadata": {}, "outputs": [], "source": [ @@ -387,6 +407,7 @@ }, { "cell_type": "markdown", + "id": "bff1c933", "metadata": {}, "source": [ "# Step 2: Setup and run simulation\n", @@ -395,6 +416,7 @@ }, { "cell_type": "markdown", + "id": "8ad6d897", "metadata": {}, "source": [ "#### Create concrete model\n", @@ -404,6 +426,7 @@ { "cell_type": "code", "execution_count": 8, + "id": "be859de3", "metadata": {}, "outputs": [], "source": [ @@ -412,6 +435,7 @@ }, { "cell_type": "markdown", + "id": "bbfa6ea1", "metadata": {}, "source": [ "#### Setup solver for initialization\n", @@ -421,6 +445,7 @@ { "cell_type": "code", "execution_count": 9, + "id": "465d5587", "metadata": {}, "outputs": [], "source": [ @@ -438,6 +463,7 @@ }, { "cell_type": "markdown", + "id": "60565d17", "metadata": {}, "source": [ "#### Set spatial elements and design variables for adsorption and desorption simulations\n", @@ -447,6 +473,7 @@ { "cell_type": "code", "execution_count": 10, + "id": "9c1ba38f", "metadata": {}, "outputs": [], "source": [ @@ -460,6 +487,7 @@ }, { "cell_type": "markdown", + "id": "a84f2612", "metadata": {}, "source": [ "## Adsorption simulation\n", @@ -468,6 +496,7 @@ }, { "cell_type": "markdown", + "id": "e84b7508", "metadata": {}, "source": [ "### Setup simulation horizon and create time set\n", @@ -477,6 +506,7 @@ { "cell_type": "code", "execution_count": 11, + "id": "b97c5fac", "metadata": {}, "outputs": [], "source": [ @@ -492,6 +522,7 @@ { "cell_type": "code", "execution_count": 11, + "id": "91aa0024", "metadata": { "tags": [ "testing" @@ -505,6 +536,7 @@ }, { "cell_type": "markdown", + "id": "95c5c5fd", "metadata": {}, "source": [ "### Initial conditions for gas and solid phases\n", @@ -514,6 +546,7 @@ { "cell_type": "code", "execution_count": 12, + "id": "9a5e07f2", "metadata": {}, "outputs": [], "source": [ @@ -549,6 +582,7 @@ }, { "cell_type": "markdown", + "id": "c2dcee94", "metadata": {}, "source": [ "### Setup the adsorption model\n", @@ -558,6 +592,7 @@ { "cell_type": "code", "execution_count": 13, + "id": "6139a880", "metadata": {}, "outputs": [], "source": [ @@ -579,6 +614,7 @@ }, { "cell_type": "markdown", + "id": "ed45724f", "metadata": {}, "source": [ "### Adsorption model - initialize and solve\n", @@ -587,6 +623,7 @@ }, { "cell_type": "markdown", + "id": "180b3cd7", "metadata": {}, "source": [ "#### Apply scaling transformation\n", @@ -596,6 +633,7 @@ { "cell_type": "code", "execution_count": 14, + "id": "6b0fb14a", "metadata": {}, "outputs": [], "source": [ @@ -604,6 +642,7 @@ }, { "cell_type": "markdown", + "id": "e393bc62", "metadata": {}, "source": [ "#### Initialize model\n", @@ -613,6 +652,7 @@ { "cell_type": "code", "execution_count": 15, + "id": "a0dd089d", "metadata": {}, "outputs": [], "source": [ @@ -638,6 +678,7 @@ }, { "cell_type": "markdown", + "id": "f6c4af24", "metadata": {}, "source": [ "#### PETSc integrator\n", @@ -647,6 +688,7 @@ { "cell_type": "code", "execution_count": 16, + "id": "82ddfab9", "metadata": { "scrolled": true }, @@ -693,6 +735,7 @@ }, { "cell_type": "markdown", + "id": "89de0eff", "metadata": {}, "source": [ "### Plot the adsorption simulation results\n", @@ -701,6 +744,7 @@ }, { "cell_type": "markdown", + "id": "a15af876", "metadata": {}, "source": [ "In the temporal plots below, quantities are reported as functions of time and contoured for six points along the length of the bed. The time and spatial dimensions are exchanged in the spatial plots, with quantities reported as functions of length and contoured for five time points.\n", @@ -717,6 +761,7 @@ { "cell_type": "code", "execution_count": 17, + "id": "7731cc63", "metadata": {}, "outputs": [], "source": [ @@ -727,6 +772,7 @@ { "cell_type": "code", "execution_count": 18, + "id": "107ce6fb", "metadata": {}, "outputs": [], "source": [ @@ -736,6 +782,7 @@ }, { "cell_type": "markdown", + "id": "344b198a", "metadata": {}, "source": [ "## Desorption simulation\n", @@ -744,6 +791,7 @@ }, { "cell_type": "markdown", + "id": "4000db89", "metadata": {}, "source": [ "### Setup simulation horizon and create time set\n", @@ -753,6 +801,7 @@ { "cell_type": "code", "execution_count": 19, + "id": "1a3ffce6", "metadata": {}, "outputs": [], "source": [ @@ -767,6 +816,7 @@ }, { "cell_type": "markdown", + "id": "33e6c438", "metadata": {}, "source": [ "### Initial and boundary conditions for gas phase\n", @@ -776,6 +826,7 @@ { "cell_type": "code", "execution_count": 20, + "id": "9dd5d51c", "metadata": {}, "outputs": [], "source": [ @@ -792,6 +843,7 @@ }, { "cell_type": "markdown", + "id": "eb142246", "metadata": {}, "source": [ "### Setup the desorption model\n", @@ -801,6 +853,7 @@ { "cell_type": "code", "execution_count": 21, + "id": "f50ef3e9", "metadata": {}, "outputs": [], "source": [ @@ -811,6 +864,7 @@ { "cell_type": "code", "execution_count": 22, + "id": "f2c4b200", "metadata": {}, "outputs": [], "source": [ @@ -824,6 +878,7 @@ }, { "cell_type": "markdown", + "id": "a88680b5", "metadata": {}, "source": [ "### Desorption model - initialize and solve\n", @@ -832,6 +887,7 @@ }, { "cell_type": "markdown", + "id": "7e7731cc", "metadata": {}, "source": [ "##### Copy values from adsorption model to desorption model\n", @@ -841,6 +897,7 @@ { "cell_type": "code", "execution_count": 23, + "id": "d9d2e060", "metadata": {}, "outputs": [], "source": [ @@ -869,6 +926,7 @@ }, { "cell_type": "markdown", + "id": "1bac9682", "metadata": {}, "source": [ "#### Fix initial and boundary conditions\n", @@ -878,6 +936,7 @@ { "cell_type": "code", "execution_count": 24, + "id": "3632cfa8", "metadata": {}, "outputs": [], "source": [ @@ -891,6 +950,7 @@ }, { "cell_type": "markdown", + "id": "f1978347", "metadata": {}, "source": [ "#### Calculate scaling of desorption model\n", @@ -900,6 +960,7 @@ { "cell_type": "code", "execution_count": 25, + "id": "d486e965", "metadata": {}, "outputs": [], "source": [ @@ -908,6 +969,7 @@ }, { "cell_type": "markdown", + "id": "ff576f79", "metadata": {}, "source": [ "#### Initialize desorption model\n", @@ -917,6 +979,7 @@ { "cell_type": "code", "execution_count": 26, + "id": "0d4fb7eb", "metadata": {}, "outputs": [], "source": [ @@ -940,6 +1003,7 @@ }, { "cell_type": "markdown", + "id": "003771cc", "metadata": {}, "source": [ "#### Setup PETSc integrator and simulate desorption step\n", @@ -949,6 +1013,7 @@ { "cell_type": "code", "execution_count": 27, + "id": "f894dcaf", "metadata": {}, "outputs": [], "source": [ @@ -990,6 +1055,7 @@ }, { "cell_type": "markdown", + "id": "e768c79c", "metadata": {}, "source": [ "### Plot the desorption simulation results\n", @@ -1007,6 +1073,7 @@ { "cell_type": "code", "execution_count": 28, + "id": "e6d8d098", "metadata": {}, "outputs": [], "source": [ @@ -1017,6 +1084,7 @@ { "cell_type": "code", "execution_count": 29, + "id": "b0dfaf3c", "metadata": {}, "outputs": [], "source": [ @@ -1026,6 +1094,7 @@ }, { "cell_type": "markdown", + "id": "991c6712", "metadata": {}, "source": [ "## Step 3: Generate performance results" @@ -1034,6 +1103,7 @@ { "cell_type": "code", "execution_count": 30, + "id": "2a88a8dc", "metadata": {}, "outputs": [], "source": [ @@ -1046,6 +1116,7 @@ { "cell_type": "code", "execution_count": 31, + "id": "2a071a47", "metadata": {}, "outputs": [], "source": [ @@ -1059,6 +1130,7 @@ }, { "cell_type": "markdown", + "id": "0b2632e9", "metadata": {}, "source": [ "## Simulation time results" @@ -1067,6 +1139,7 @@ { "cell_type": "code", "execution_count": 32, + "id": "8505ba9f", "metadata": {}, "outputs": [], "source": [ @@ -1087,6 +1160,7 @@ }, { "cell_type": "markdown", + "id": "a413a643", "metadata": {}, "source": [ "# Summary\n", @@ -1096,6 +1170,7 @@ { "cell_type": "code", "execution_count": null, + "id": "e988f4fa", "metadata": {}, "outputs": [], "source": [] diff --git a/idaes_examples/notebooks/held/flowsheets/CO2_adsorption_desorption/CO2_Adsorption_Desorption_1DFixedBed_doc.ipynb b/idaes_examples/notebooks/held/flowsheets/CO2_adsorption_desorption/CO2_Adsorption_Desorption_1DFixedBed_doc.ipynb index 8440fb43..d9db9cc5 100644 --- a/idaes_examples/notebooks/held/flowsheets/CO2_adsorption_desorption/CO2_Adsorption_Desorption_1DFixedBed_doc.ipynb +++ b/idaes_examples/notebooks/held/flowsheets/CO2_adsorption_desorption/CO2_Adsorption_Desorption_1DFixedBed_doc.ipynb @@ -1,1112 +1,1113 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# CO2 Adsorption Desorption simulation example with a 1D Fixed Bed model\n", - "Author: Chinedu Okoli, Anca Ostace, Brandon Paul \n", - "Maintainer: Brandon Paul \n", - "Updated: 2023-06-01 \n", - "\n", - "\n", - "This jupyter notebook shows an example of a CO2 Adsorption Desorption cycle with the IDAES 1D FixedBed model. The IDAES 1D FixedBed model is a dynamic and axially varying reactor/adsorption model which is able to model the gas and solid interactions of the modeled species in detail. The sorbent used for this example is the NETL_32D sorbent with its details and parameters obtained from the following references: \n", - "- A. Lee, D.C. Miller, A One-Dimensional (1-D) Three-Region Model for a Bubbling Fluidized-Bed Adsorber, Ind. Eng. Chem. Res. 52 (2013) 469–484\n", - "- Lee, A.; Mebane, D.; Fauth, D. J.; Miller, D. C. A Model for the Adsorption Kinetics of CO2 on Amine-Impregnated Mesoporous Sorbents in the Presence of Water. Presented at the 28th International Pittsburgh Coal Conference, Pittsburgh, PA, 2011.\n", - "\n", - "The notebook demonstrates how to use the IDAES 1DFixedBed model for an adsorption/desorption application with distinct adsorption and desorption steps. This example leverages custom libraries and functions specific to the NETL_32D solid sorbent and associated gas phase properties and surface reactions. In this system, the silicon monoxide (SiO(s)) sorbent reduces carbon dioxide (CO2(g)) to carbamate (denoted Car(s)) while simultaneously absorbing water vapor (H2O(g)) to produce a solid solution-state hydrate (H2O(s)). The solid phase is considered a one-dimensional domain with three regions for bubble, cloud wake and emulsion properties for bubbling bed systems; in the case of a fixed bed reactor non-bulk gas behavior is neglected and assumed to be homogeneous everywhere not near the solid surface.\n", - "\n", - "The notebook also shows how to simulate the adsorption and desorption steps using the PETSc integrator. PETSc leverages nonlinear equation and differential algebraic equation solvers to solve time-trajectory problems. These solvers are applicable for systems with zero degrees of freedom, such as a fully-specified bed reactor model. See https://idaes-pse.readthedocs.io/en/stable/reference_guides/core/solvers.html#petsc-utilities for more details." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Cycle details\n", - "The system contains the following equipment and stream properties:\n", - "- Bed height: 9 m\n", - "- Bed diameter: 1 m\n", - "- Adsorption time: 30 hrs\n", - "- Desorption time: 2 hrs\n", - "- Adsorption temperature: 303.15 K\n", - "- Desorption temperature: 470 K\n", - "- Flue gas inlet conditions (Temperature and mole fractions obtained from NETL baseline report. Exhibit 5-22 B31B case)\n", - " - Temperature: 315 K\n", - " - Pressure: 106.5 kPa\n", - " - Flowrate: 3.544 mol/s\n", - " - Mole fractions: CO2: 0.0408, H2O: 0.0875, N2: 0.7517, O2: 0.12" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Notes\n", - "Some additional information regarding the problem:\n", - "- Isothermal conditions: heat duty requirements of each step are calculated from gas and sorbent properties, i.e., loading, density, heat of adsorption, and heat capacity\n", - "- Heating and cooling modes not modeled in detail: cycle times are assumed negligible in comparison to adsorption and desorption\n", - "- Adsorption and desorption steps are modeled in different flowsheets\n", - "- Initial condition (except temperature) of sorbent in desorption step is set to final condition of sorbent in adsorption step" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Step 1: Import relevant libraries and packages" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Import python libraries\n", - "\n", - "- numpy (numerical python library which provides numerical computing tools)\n", - "- time (time python library which will be used to track the simulation time)" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "import time" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "### Import Pyomo packages\n", - "For the flowsheet, we will need several components from the pyomo libraries.\n", - "\n", - "- ConcreteModel (to create the Pyomo model that will contain the IDAES flowsheet)\n", - "- TransformationFactory (to apply certain transformations)\n", - "- SolverFactory (to solve the problem)\n", - "- Var (to create a Pyomo variable)\n", - "- value (to return the numerical value of Pyomo objects such as variables, constraints or expressions)\n", - "- units (to handle units in Pyomo and IDAES)\n", - "\n", - "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/latest/" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.environ import (\n", - " ConcreteModel,\n", - " TransformationFactory,\n", - " SolverFactory,\n", - " Var,\n", - " value,\n", - " units as pyunits,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Import IDAES core components\n", - "\n", - "To build, initialize, and solve IDAES flowsheets we will need several core components/utilities:\n", - "\n", - "- FlowsheetBlock (the flowsheet block contains idaes properties, time, and unit models)\n", - "- EnergyBalanceType (to specify the energy balance type)\n", - "- petsc (PETSc integrator)\n", - "- get_solver (IDAES solver utility)\n", - "- iscale (is used to apply scaling factors in variables and constraints)\n", - "- propagate_state (is used to initialize models, propagating the state variables from one unit model to another)\n", - "- degrees_of_freedom (useful for debugging, this method returns the DOF of the model)\n", - "- idaeslog (is used to set output messages like warnings or errors)\n", - "\n", - "For further details on these components, please refer to the IDAES documentation: https://idaes-pse.readthedocs.io/en/latest/" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.core import FlowsheetBlock, EnergyBalanceType\n", - "import idaes.core.solvers.petsc as petsc # PETSc utilities module\n", - "from idaes.core.util import scaling as iscale\n", - "from idaes.core.solvers import get_solver\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "import idaes.logger as idaeslog\n", - "import logging" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Import IDAES unit models and NETL 32D property packages\n", - "\n", - "To build the IDAES flowsheet for the CO2 Adsorption Desorption example, we will need the following: \n", - "1) the 1D Fixed Bed unit model \n", - "2) the NETL 32D property package" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.models_extra.gas_solid_contactors.unit_models.fixed_bed_1D import FixedBed1D\n", - "from idaes_examples.mod.co2_adsorption_desorption.NETL_32D_gas_phase_thermo import (\n", - " GasPhaseParameterBlock,\n", - ")\n", - "from idaes_examples.mod.co2_adsorption_desorption.NETL_32D_solid_phase_thermo import (\n", - " SolidPhaseParameterBlock,\n", - ")\n", - "from idaes_examples.mod.co2_adsorption_desorption.NETL_32D_adsorption_reactions import (\n", - " HeteroReactionParameterBlock,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Import custom libraries and functions\n", - "To simplify and automate this example at the flowsheet level, several custom methods were defined in an external script. The methods are custom, and as such are imported separately from the set of IDAES and Pyomo methods above. These utility functions perform a variety of numerical and reporting tasks:\n", - "\n", - "- heat_computation (used to calculate the heat requirements of the CO2 Adsorption Desorption cycle)\n", - "- performance_results (used to evaluate the performance of the CO2 Adsorption Desorption cycle)\n", - "- results_summary (provides summarized results of the CO2 Adsorption Desorption cycle)\n", - "- plot_results_temporal (plots the temporal profiles of the flowsheet simulation)\n", - "- plot_results_spatial (plots the spatial profiles of the flowsheet simulation)\n", - "- fb_model_setup (function that builds the 1D FixedBed model)\n", - "- fb_fixed_conditions (function that fixes the initial and boundary conditions of the 1D FixedBed model)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes_examples.mod.co2_adsorption_desorption.simulation_utilities import (\n", - " heat_computation,\n", - " performance_results,\n", - " results_summary,\n", - " plot_results_temporal,\n", - " plot_results_spatial,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Create a Function to Build the Flowsheet\n", - "\n", - "The function \"fb_model_setup\" below builds instances of the 1D FixedBed model for the adsorption and desorption simulations. While the effort required to define the reactor is low in terms of lines of code, we will need to do this for both the adsorption and desorption steps. Therefore, defining this setup as a single function will make later steps easier to follow. As arguments it takes the following:\n", - "1) The flowsheet block of the simulation, i.e., the adsorption flowsheet \n", - "2) The number of time finite elements \n", - "3) The number of spatial finite elements \n", - "\n", - "It returns a flowsheet object which contains an instance of the 1D FixedBed model" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "def fb_model_setup(\n", - " fs,\n", - " ntfe, # number of time finite elements\n", - " nxfe, # number of space finite elements\n", - "):\n", - "\n", - " # Set up thermo props and reaction props\n", - " fs.gas_properties = GasPhaseParameterBlock()\n", - " fs.solid_properties = SolidPhaseParameterBlock()\n", - "\n", - " fs.hetero_reactions = HeteroReactionParameterBlock(\n", - " solid_property_package=fs.solid_properties,\n", - " gas_property_package=fs.gas_properties,\n", - " )\n", - "\n", - " fs.FB = FixedBed1D(\n", - " finite_elements=nxfe,\n", - " transformation_method=\"dae.finite_difference\",\n", - " energy_balance_type=EnergyBalanceType.none,\n", - " pressure_drop_type=\"ergun_correlation\",\n", - " gas_phase_config={\"property_package\": fs.gas_properties},\n", - " solid_phase_config={\n", - " \"property_package\": fs.solid_properties,\n", - " \"reaction_package\": fs.hetero_reactions,\n", - " },\n", - " )\n", - "\n", - " # Discretize time domain\n", - " fs.discretizer = TransformationFactory(\"dae.finite_difference\")\n", - " fs.discretizer.apply_to(fs, nfe=ntfe, wrt=fs.time, scheme=\"BACKWARD\")\n", - "\n", - " return fs" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Create a Function to Fix the Flowsheet Conditions\n", - "\n", - "The function \"fb_fix_conditions\" fixes the initial and boundary conditions of an instance of the 1D FixedBed model. It also has checks to ensure that the degrees of freedom are zero, and that the velocity into the bed is less than the minimum fluidization velocity of the bed. Similarly to the function above, we will need to run this for the adsorption and desorption steps, and it is clearer to define the code once as a single function here. As arguments it takes the following:\n", - "1) The flowsheet block of the simulation, i.e., the adsorption flowsheet \n", - "2) The reactor bed diameter \n", - "3) The reactor bed height \n", - "4) A dictionary of gas phase state data for which the gas phase state variables of the model should be fixed to \n", - "5) A dictionary of solid phase state data for which the solid phase state variables of the model should be fixed to. If None, the solid phase state variables are fixed to their current values. \n", - "\n", - "No object is returned by this function." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "def fb_fix_conditions(\n", - " fs, bed_diameter, bed_height, gas_phase_state_dict, solid_phase_state_dict=None\n", - "):\n", - " # Fix bed geometry variables\n", - " fs.FB.bed_diameter.fix(bed_diameter) # m\n", - " fs.FB.bed_height.fix(bed_height) # m\n", - "\n", - " # Fix boundary values for gas for all time\n", - " blk = fs.FB\n", - " for t in fs.time:\n", - " # Gas values\n", - " blk.gas_inlet.flow_mol[t].fix(gas_phase_state_dict[\"flow_mol\"])\n", - " blk.gas_inlet.temperature[t].fix(gas_phase_state_dict[\"temperature\"])\n", - " blk.gas_inlet.pressure[t].fix(gas_phase_state_dict[\"pressure\"])\n", - " for j, val in gas_phase_state_dict[\"mole_frac_comp\"].items():\n", - " blk.gas_inlet.mole_frac_comp[t, j].fix(val)\n", - "\n", - " # Specify gas phase and solid phase initial conditions for all space\n", - " t0 = fs.time.first()\n", - " for x in blk.length_domain:\n", - " blk.gas_phase.properties[t0, x].flow_mol.fix(gas_phase_state_dict[\"flow_mol\"])\n", - " blk.gas_phase.properties[t0, x].temperature.fix(\n", - " gas_phase_state_dict[\"temperature\"]\n", - " ) # K\n", - " for j, val in gas_phase_state_dict[\"mole_frac_comp\"].items():\n", - " blk.gas_phase.properties[t0, x].mole_frac_comp[j].fix(val)\n", - "\n", - " if solid_phase_state_dict is None:\n", - " # Fix to existing values if dict is empty\n", - " blk.solid_properties[t0, x].dens_mass_particle.fix()\n", - " blk.solid_properties[t0, x].temperature.fix()\n", - " blk.solid_properties[t0, x].mass_frac_comp[:].fix()\n", - " else:\n", - " blk.solid_properties[t0, x].dens_mass_particle.fix(\n", - " solid_phase_state_dict[\"dens_mass_particle\"]\n", - " )\n", - " blk.solid_properties[t0, x].temperature.fix(\n", - " solid_phase_state_dict[\"temperature\"]\n", - " )\n", - " for j, val in solid_phase_state_dict[\"mass_frac_comp\"].items():\n", - " blk.solid_properties[t0, x].mass_frac_comp[j].fix(val)\n", - "\n", - " dof = degrees_of_freedom(fs)\n", - "\n", - " print(\"degrees of freedom = \", dof)\n", - " try:\n", - " assert degrees_of_freedom(fs) == 0\n", - " except AssertionError:\n", - " print(\"Degrees of freedom is not equal to zero. This is unexpected.\")\n", - " raise\n", - "\n", - " # Assert that inlet gas velocity is less than v_mf\n", - " # Use solid temperature as the thermal mass of solid >> than that of gas\n", - " pi = 3.14 # [-]\n", - " R = 8.314 # Gas constant [J/mol/K]\n", - "\n", - " @blk.Expression(doc=\"gas inlet velocity, m/s\")\n", - " def gas_inlet_velocity(blk):\n", - " v_gas_inlet = (\n", - " blk.gas_inlet.flow_mol[0] / (pi * value(blk.bed_diameter**2) / 4)\n", - " ) * (R * blk.solid_properties[0, 0].temperature / blk.gas_inlet.pressure[0])\n", - " return v_gas_inlet\n", - "\n", - " v_mf = value( # minimum fluidization velocity [m/s]\n", - " blk.solid_properties[t0, 0]._params.velocity_mf\n", - " )\n", - " print(\"inlet gas velocity = \", value(blk.gas_inlet_velocity), \" m/s\")\n", - " print(\"min. fluid velocity = \", v_mf, \" m/s\")\n", - " try:\n", - " assert value(blk.gas_inlet_velocity) <= v_mf\n", - " except AssertionError:\n", - " print(\n", - " \"The inlet gas velocity is greater than the minimum fluidization velocity. \"\n", - " \"This is unexpected for a Fixed Bed.\"\n", - " )\n", - " raise" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Step 2: Setup and run simulation\n", - "Now that the system properties and all required utility functions are defined, we will build the model itself." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Create concrete model\n", - "First, create the model object:" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "m = ConcreteModel()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Setup solver for initialization\n", - "We limit the maximum number of iterations and apply appropriate scaling for the linear solver for initialization:" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "# Solver arguments\n", - "optarg = {\n", - " \"max_iter\": 100,\n", - " \"nlp_scaling_method\": \"user-scaling\",\n", - " \"linear_solver\": \"ma27\",\n", - "}\n", - "\n", - "# Create a solver\n", - "solver = get_solver(\"ipopt\")\n", - "solver.options = optarg" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Set spatial elements and design variables for adsorption and desorption simulations\n", - "Let's define the size of the system:" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "# Number of spatial elements\n", - "nxfe = 50\n", - "\n", - "# Design variables for static and dynamic models\n", - "bed_diameter = 9 # m\n", - "bed_height = 1 # m" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adsorption simulation\n", - "First, we will run the adsorption step by defining the simulation domain, add initial conditions, and set up and solve the model." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Setup simulation horizon and create time set\n", - "We specify the time discretization to an exact set of temporal points according to the problem horizon:" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "# Time horizon\n", - "horizon = 108000 # s\n", - "\n", - "# Create time_set list\n", - "t_element_size = horizon / 4 # s\n", - "ntfe = int(horizon / t_element_size)\n", - "time_set = list(np.linspace(0, horizon, ntfe + 1))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Initial conditions for gas and solid phases\n", - "Next, we set reasoanble initial conditions for the gas and solid phases at time = 0, with a constant adsorption temperature:" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "# Flue gas inlet conditions to adsorption system (flue gas stream) -\n", - "# Temperature and mole fractions obtained from NETL baseline report.\n", - "# Exhibit 5-22 B31B case.\n", - "adsorption_temperature = 303.15 # K\n", - "\n", - "# Dictionary of initial and boundary conditions for gas phase\n", - "gas_phase_state_dict_ads = {\n", - " \"flow_mol\": 3.544, # mol/s\n", - " \"temperature\": adsorption_temperature, # K\n", - " \"pressure\": 1.2452e5, # Pa\n", - " \"mole_frac_comp\": { # [-]\n", - " \"CO2\": 0.0408,\n", - " \"H2O\": 0.0875,\n", - " \"N2\": 0.7517,\n", - " \"O2\": 0.12,\n", - " },\n", - "}\n", - "\n", - "# Dictionary of initial conditions for solid phase\n", - "solid_phase_state_dict_ads = {\n", - " \"dens_mass_particle\": 442, # kg/m3\n", - " \"temperature\": adsorption_temperature, # K\n", - " \"mass_frac_comp\": { # [-]\n", - " \"H2O_s\": 1e-8,\n", - " \"Car\": 1e-8,\n", - " \"SiO\": 1,\n", - " },\n", - "}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Setup the adsorption model\n", - "Then, we call our previously defined methods to build the model and fix initial conditions:" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "# Create the adsorption flowsheet\n", - "m.fs_ads = FlowsheetBlock(dynamic=True, time_set=time_set, time_units=pyunits.s)\n", - "\n", - "# Setup an instance of the 1D FixedBed model for the adsorption simulation\n", - "m.fs_ads = fb_model_setup(m.fs_ads, ntfe, nxfe)\n", - "\n", - "# Fix initial and boundary conditions\n", - "fb_fix_conditions(\n", - " m.fs_ads,\n", - " bed_diameter,\n", - " bed_height,\n", - " gas_phase_state_dict_ads,\n", - " solid_phase_state_dict_ads,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Adsorption model - initialize and solve\n", - "Finally for the adsorption model, we initialize and solve." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Apply scaling transformation\n", - "We first scale the model variables and equations to reduce ill-conditioning and improve its convergence properties:" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "iscale.calculate_scaling_factors(m.fs_ads)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Initialize model\n", - "The model initialization is done with the block triangularization initialization method in the 1D FixedBed model as this is faster than using the traditional sequential heirarchichal initialization approach. See the 1D FixedBed model and documentation for more details on this method." - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "# Run start time\n", - "t_start_ads = time.time()\n", - "\n", - "# Initialize model\n", - "calc_var_kwds = {\"eps\": 1e-5}\n", - "m.fs_ads.FB.block_triangularization_initialize(\n", - " gas_phase_state_args=gas_phase_state_dict_ads,\n", - " solid_phase_state_args=solid_phase_state_dict_ads,\n", - " outlvl=idaeslog.DEBUG,\n", - " solver=solver,\n", - " calc_var_kwds=calc_var_kwds,\n", - ")\n", - "\n", - "# Run end time\n", - "t_end_ads = time.time()\n", - "\n", - "# Initialization time\n", - "adsorption_initialization_time = value(t_end_ads - t_start_ads)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### PETSc integrator\n", - "As mentioned earlier, the PETSc integrator is used for simulating the time trajectory. After starting the clock and instantiating the time variables, PETSc performs and element-wise discretization to define and solve the dynamic system of equations. See https://idaes-pse.readthedocs.io/en/stable/reference_guides/core/solvers.html#petsc-utilities for more details.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "petscsolvelog = idaeslog.getSolveLogger(\"petsc-dae\")\n", - "petscsolvelog.setLevel(logging.WARNING) # comment this line to see PETSc solver output\n", - "\n", - "# Run start time\n", - "t_start_ads = time.time()\n", - "\n", - "# Setup PETSc integrator and simulate adsorption flowsheet\n", - "m.fs_ads.time_var = Var(m.fs_ads.time)\n", - "m.fs_ads.time_var[0].fix(m.fs_ads.time.first())\n", - "\n", - "result_ads = petsc.petsc_dae_by_time_element(\n", - " m.fs_ads,\n", - " time=m.fs_ads.time,\n", - " timevar=m.fs_ads.time_var,\n", - " keepfiles=True,\n", - " symbolic_solver_labels=True,\n", - " skip_initial=False,\n", - " ts_options={\n", - " \"--ts_type\": \"beuler\", # backward euler integration\n", - " \"--ts_dt\": 200, # set initial step to 200\n", - " \"--ts_rtol\": 20,\n", - " \"--ts_monitor\": \"\",\n", - " \"--ts_save_trajectory\": 1,\n", - " \"--ksp_rtol\": 1e-10,\n", - " \"--snes_type\": \"newtontr\", # newton trust region non-linear solver\n", - " \"--ts_monitor\": \"\",\n", - " \"--ts_save_trajectory\": 1,\n", - " \"--ts_max_snes_failures\": 1000,\n", - " },\n", - ")\n", - "tj_ads = result_ads.trajectory # trajectory data\n", - "\n", - "# Run end time\n", - "t_end_ads = time.time()\n", - "\n", - "# Initialization time\n", - "adsorption_simulation_time = value(t_end_ads - t_start_ads)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plot the adsorption simulation results\n", - "After running the adsorption simulation, the dynamic profiles are plotted." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In the temporal plots below, quantities are reported as functions of time and contoured for six points along the length of the bed. The time and spatial dimensions are exchanged in the spatial plots, with quantities reported as functions of length and contoured for five time points.\n", - "\n", - "The gas flowrate is constant at the inlet and decreases over the length of the bed as CO2 is removed from the gas. At each spatial point, the CO2 content of the gas increases over time as the bed becomes more saturated with CO2 and the mass transfer driving force decreases. Assessing the two gas flowrate plots, adsorption occurs steadily over time with a much larger capture rate in the initial spatial region; this region grows from 10% to 25% of the bed length as the bed becomes more saturated with CO2 over time.\n", - "\n", - "The bed pressure stays relatively constant over time, and exhibits a linear drop over the length of the reactor. There are no temporal or spatial gradients in gas or solid temperature.\n", - "\n", - "The saturation trend is strongly apparent in the composition trends. The CO2 content of the gas quickly drops from the initial concentration over the length of the bed, and steadily rises over time as the driving force of mass transfer decreases. Water vapor concentration in the gas follows a similar trend.\n", - "\n", - "Following the solid-state reaction, the concentration of carbmate steadily increases over time with formation skewing heavily towards the initial spatial region of the bed. The spatial contours of the temporal carbamate composition plot cross as a result of the solid reaction rate heavily favoring the initial section of the bed and suddenly dropping about at about 20% of the reactor length. The mass fraction and mol/kg plots differ slightly due to water and CO2 absorbing at different rates, but otherwise demonstrate similar trends." - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "# Plot temporal result profiles\n", - "plot_results_temporal(m.fs_ads, tj_ads)" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [], - "source": [ - "# Plot spatial result profiles\n", - "plot_results_spatial(m.fs_ads, tj_ads)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Desorption simulation\n", - "The desorption simulation begins when the adsorption simulation ends. It uses the final state of the sorbent (besides temperature which is set at the desorption temperature) in the adsorption mode as the initial state of the sorbent in the desorption mode." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Setup simulation horizon and create time set\n", - "As in the adsorption simulation, we first specify the time discretization:" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "# Space and time discretization arguments\n", - "horizon = 7200 # s\n", - "\n", - "# Setup for PETSc run\n", - "t_element_size = horizon # s\n", - "ntfe = int(horizon / t_element_size)\n", - "time_set = list(np.linspace(0, horizon, ntfe + 1))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Initial and boundary conditions for gas phase\n", - "- The initial conditions of the solid phase will be copied from the final conditions of the model in the adsorption simulation." - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [], - "source": [ - "# Desorption operating conditions\n", - "desorption_temperature = 470 # K\n", - "\n", - "gas_phase_state_dict_des = {\n", - " \"flow_mol\": 10, # mol/s\n", - " \"temperature\": desorption_temperature, # K\n", - " \"pressure\": 1.06525e5, # Pa\n", - " \"mole_frac_comp\": {\"CO2\": 1e-8, \"H2O\": 1, \"N2\": 1e-8, \"O2\": 1e-8}, # [-]\n", - "}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Setup the desorption model\n", - "Then, we build the model and fix initial conditions:" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [], - "source": [ - "# Create the desorption flowsheet\n", - "m.fs_des = FlowsheetBlock(dynamic=True, time_set=time_set, time_units=pyunits.s)" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [], - "source": [ - "# Setup an instance of the 1D FixedBed model for the desorption simulation\n", - "m.fs_des = fb_model_setup(\n", - " m.fs_des,\n", - " ntfe,\n", - " nxfe,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Desorption model - initialize and solve\n", - "Finally for the desorption model, we initialize and solve." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "##### Copy values from adsorption model to desorption model\n", - "Copy state values of solid phase (besides temperature) from last time point in adsorption model to all time point in desorption model. Also set temperature state variable of desorption model to desorption temperature." - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [], - "source": [ - "blk_des = m.fs_des.FB\n", - "tf_ads = tj_ads.time[-1] # Get final time from adsorption trajectory results\n", - "tf_ads_index = tj_ads.time.index(tf_ads) # Get index at final time\n", - "component_list = blk_des.config.solid_phase_config.property_package.component_list\n", - "\n", - "for t in m.fs_des.time:\n", - " for x in blk_des.length_domain:\n", - " blk_des.solid_properties[t, x].temperature.set_value(desorption_temperature)\n", - " blk_des.solid_properties[t, x].dens_mass_particle.set_value(\n", - " tj_ads.get_vec(m.fs_ads.FB.solid_properties[tf_ads, x].dens_mass_particle)[\n", - " tf_ads_index\n", - " ]\n", - " )\n", - " for j in component_list:\n", - " blk_des.solid_properties[t, x].mass_frac_comp[j].set_value(\n", - " value(\n", - " tj_ads.get_vec(\n", - " m.fs_ads.FB.solid_properties[tf_ads, x].mass_frac_comp[j]\n", - " )[tf_ads_index]\n", - " )\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Fix initial and boundary conditions\n", - "We fix the conditions from the final adsorption model state as our new initial conditions for the desorption model:" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [], - "source": [ - "fb_fix_conditions(\n", - " m.fs_des,\n", - " bed_diameter,\n", - " bed_height,\n", - " gas_phase_state_dict_des,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Calculate scaling of desorption model\n", - "Then, we apply scaling to the model:" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [], - "source": [ - "iscale.calculate_scaling_factors(m.fs_des)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Initialize desorption model\n", - "The desorption model initialization is done with the block triangularization initialization method, as was done with the adsorption model." - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [], - "source": [ - "# Run start time\n", - "t_start_des = time.time()\n", - "\n", - "# Initialize model\n", - "m.fs_des.FB.block_triangularization_initialize(\n", - " gas_phase_state_args=gas_phase_state_dict_des,\n", - " outlvl=idaeslog.DEBUG,\n", - " solver=solver,\n", - " calc_var_kwds=calc_var_kwds,\n", - ")\n", - "\n", - "# Run end time\n", - "t_end_des = time.time()\n", - "\n", - "# Initialization time\n", - "desorption_initialization_time = value(t_end_des - t_start_des)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Setup PETSc integrator and simulate desorption step\n", - "Now that the model is fully defined, we can call the PETSc integrator to simulate the dynamics of the problem:" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [], - "source": [ - "# Run start time\n", - "t_start_des = time.time()\n", - "\n", - "# Setup PETSc integrator and simulate desorption flowsheet\n", - "m.fs_des.time_var = Var(m.fs_des.time)\n", - "m.fs_des.time_var[0].fix(m.fs_des.time.first())\n", - "\n", - "result_des = petsc.petsc_dae_by_time_element(\n", - " m.fs_des,\n", - " time=m.fs_des.time,\n", - " timevar=m.fs_des.time_var,\n", - " keepfiles=True,\n", - " symbolic_solver_labels=True,\n", - " skip_initial=False,\n", - " ts_options={\n", - " \"--ts_type\": \"beuler\", # backward euler integration\n", - " \"--ts_dt\": 200, # set initial step to 200\n", - " \"--ts_rtol\": 20,\n", - " \"--ts_monitor\": \"\",\n", - " \"--ts_save_trajectory\": 1,\n", - " \"--ksp_rtol\": 1e-10,\n", - " \"--snes_type\": \"newtontr\", # newton trust region non-linear solver\n", - " \"--ts_monitor\": \"\",\n", - " \"--ts_save_trajectory\": 1,\n", - " \"--ts_max_snes_failures\": 1000,\n", - " },\n", - ")\n", - "tj_des = result_des.trajectory # trajectory data\n", - "\n", - "# Run end time\n", - "t_end_des = time.time()\n", - "\n", - "# Initialization time\n", - "desorption_simulation_time = value(t_end_des - t_start_des)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plot the desorption simulation results\n", - "Similar to the results of the adsorption model, the plots below are presented as temporal plots with spatial contours and spatial plots with time contours to fully capture the model trends.\n", - "\n", - "The gas flowrate spikes initially as large quantities of CO2 are recovered, and then the flowrate drops rapidly as the CO2 is carried away. An interesting note is that this occurs over the same time period everywhere across the length of the bed, peaking around 1000 seconds into the simulation. In the spatial plot, the peak is missed between the first and second contours; instead, the spatial plots captures a similar shifting inflection point around 10-25% of the way into the bed as the mass transfer driving force suddenly decreases.\n", - "\n", - "The bed pressure drops suddenly as CO2 is initially desorbed from the bed, and a steady state is reached at larger time points. As in the adsorption case, the desorption results show no temporal or spatial gradients in gas or solid temperature.\n", - "\n", - "The CO2 content of the gas sharply rises initially, and steadily decreases as CO2 is carried away in the sweep gas. A greater amount of CO2 is recovered closer to the reactor inlet. As the sweep gas is nearly pure water vapor, the water concentration in the gas sharply drops as CO2 is desorbed from the bed and recovers to near unity towards the temporal end of the simulation.\n", - "\n", - "Carbamate disappears quickly as CO2 is recovered and the hydrate is broken down, occurring evenly across the length of the reactor bed." - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [], - "source": [ - "# Plot temporal result profiles\n", - "plot_results_temporal(m.fs_des, tj_des)" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [], - "source": [ - "# Plot spatial result profiles\n", - "plot_results_spatial(m.fs_ads, tj_ads)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Step 3: Generate performance results" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [], - "source": [ - "###########################################################################\n", - "# Heat requirements\n", - "###########################################################################\n", - "heat_computation(m, tj_ads, tj_des, adsorption_temperature, desorption_temperature)" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [], - "source": [ - "###########################################################################\n", - "# Performance results\n", - "###########################################################################\n", - "performance_results(m, tj_ads, tj_des)\n", - "\n", - "results_summary(m, adsorption_temperature, desorption_temperature)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Simulation time results" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [], - "source": [ - "print(\"Adsorption initialization time: \", adsorption_initialization_time, \" s\")\n", - "print(\"Adsorption simulation time: \", adsorption_simulation_time, \" s\")\n", - "print()\n", - "print(\"Desorption initialization time: \", desorption_initialization_time, \" s\")\n", - "print(\"Desorption simulation time: \", desorption_simulation_time, \" s\")\n", - "print()\n", - "total_simulation_time = (\n", - " adsorption_initialization_time\n", - " + adsorption_simulation_time\n", - " + desorption_initialization_time\n", - " + desorption_simulation_time\n", - ")\n", - "print(\"Total simulation time: \", total_simulation_time, \" s\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Summary\n", - "This example demonstrates implementation of the 1D FixedBed model within IDAES. External property packages for multiple phase domains and interfaces, as well as mass transfer and reaction properties, were integrated into two simulations. The simulations are connected via their final (adsorption) and initial (desorption) states, and each utilizes the PETSc integrator to calculate temporal profiles over the spatial domains." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.12" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CO2 Adsorption Desorption simulation example with a 1D Fixed Bed model\n", + "Author: Chinedu Okoli, Anca Ostace, Brandon Paul \n", + "Maintainer: Brandon Paul \n", + "Updated: 2023-06-01 \n", + "\n", + "\n", + "This jupyter notebook shows an example of a CO2 Adsorption Desorption cycle with the IDAES 1D FixedBed model. The IDAES 1D FixedBed model is a dynamic and axially varying reactor/adsorption model which is able to model the gas and solid interactions of the modeled species in detail. The sorbent used for this example is the NETL_32D sorbent with its details and parameters obtained from the following references: \n", + "- A. Lee, D.C. Miller, A One-Dimensional (1-D) Three-Region Model for a Bubbling Fluidized-Bed Adsorber, Ind. Eng. Chem. Res. 52 (2013) 469–484\n", + "- Lee, A.; Mebane, D.; Fauth, D. J.; Miller, D. C. A Model for the Adsorption Kinetics of CO2 on Amine-Impregnated Mesoporous Sorbents in the Presence of Water. Presented at the 28th International Pittsburgh Coal Conference, Pittsburgh, PA, 2011.\n", + "\n", + "The notebook demonstrates how to use the IDAES 1DFixedBed model for an adsorption/desorption application with distinct adsorption and desorption steps. This example leverages custom libraries and functions specific to the NETL_32D solid sorbent and associated gas phase properties and surface reactions. In this system, the silicon monoxide (SiO(s)) sorbent reduces carbon dioxide (CO2(g)) to carbamate (denoted Car(s)) while simultaneously absorbing water vapor (H2O(g)) to produce a solid solution-state hydrate (H2O(s)). The solid phase is considered a one-dimensional domain with three regions for bubble, cloud wake and emulsion properties for bubbling bed systems; in the case of a fixed bed reactor non-bulk gas behavior is neglected and assumed to be homogeneous everywhere not near the solid surface.\n", + "\n", + "The notebook also shows how to simulate the adsorption and desorption steps using the PETSc integrator. PETSc leverages nonlinear equation and differential algebraic equation solvers to solve time-trajectory problems. These solvers are applicable for systems with zero degrees of freedom, such as a fully-specified bed reactor model. See https://idaes-pse.readthedocs.io/en/stable/reference_guides/core/solvers.html#petsc-utilities for more details." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Cycle details\n", + "The system contains the following equipment and stream properties:\n", + "- Bed height: 9 m\n", + "- Bed diameter: 1 m\n", + "- Adsorption time: 30 hrs\n", + "- Desorption time: 2 hrs\n", + "- Adsorption temperature: 303.15 K\n", + "- Desorption temperature: 470 K\n", + "- Flue gas inlet conditions (Temperature and mole fractions obtained from NETL baseline report. Exhibit 5-22 B31B case)\n", + " - Temperature: 315 K\n", + " - Pressure: 106.5 kPa\n", + " - Flowrate: 3.544 mol/s\n", + " - Mole fractions: CO2: 0.0408, H2O: 0.0875, N2: 0.7517, O2: 0.12" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Notes\n", + "Some additional information regarding the problem:\n", + "- Isothermal conditions: heat duty requirements of each step are calculated from gas and sorbent properties, i.e., loading, density, heat of adsorption, and heat capacity\n", + "- Heating and cooling modes not modeled in detail: cycle times are assumed negligible in comparison to adsorption and desorption\n", + "- Adsorption and desorption steps are modeled in different flowsheets\n", + "- Initial condition (except temperature) of sorbent in desorption step is set to final condition of sorbent in adsorption step" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Step 1: Import relevant libraries and packages" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Import python libraries\n", + "\n", + "- numpy (numerical python library which provides numerical computing tools)\n", + "- time (time python library which will be used to track the simulation time)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import time" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "### Import Pyomo packages\n", + "For the flowsheet, we will need several components from the pyomo libraries.\n", + "\n", + "- ConcreteModel (to create the Pyomo model that will contain the IDAES flowsheet)\n", + "- TransformationFactory (to apply certain transformations)\n", + "- SolverFactory (to solve the problem)\n", + "- Var (to create a Pyomo variable)\n", + "- value (to return the numerical value of Pyomo objects such as variables, constraints or expressions)\n", + "- units (to handle units in Pyomo and IDAES)\n", + "\n", + "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/latest/" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import (\n", + " ConcreteModel,\n", + " TransformationFactory,\n", + " SolverFactory,\n", + " Var,\n", + " value,\n", + " units as pyunits,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Import IDAES core components\n", + "\n", + "To build, initialize, and solve IDAES flowsheets we will need several core components/utilities:\n", + "\n", + "- FlowsheetBlock (the flowsheet block contains idaes properties, time, and unit models)\n", + "- EnergyBalanceType (to specify the energy balance type)\n", + "- petsc (PETSc integrator)\n", + "- get_solver (IDAES solver utility)\n", + "- iscale (is used to apply scaling factors in variables and constraints)\n", + "- propagate_state (is used to initialize models, propagating the state variables from one unit model to another)\n", + "- degrees_of_freedom (useful for debugging, this method returns the DOF of the model)\n", + "- idaeslog (is used to set output messages like warnings or errors)\n", + "\n", + "For further details on these components, please refer to the IDAES documentation: https://idaes-pse.readthedocs.io/en/latest/" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core import FlowsheetBlock, EnergyBalanceType\n", + "import idaes.core.solvers.petsc as petsc # PETSc utilities module\n", + "from idaes.core.util import scaling as iscale\n", + "from idaes.core.solvers import get_solver\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "import idaes.logger as idaeslog\n", + "import logging" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Import IDAES unit models and NETL 32D property packages\n", + "\n", + "To build the IDAES flowsheet for the CO2 Adsorption Desorption example, we will need the following: \n", + "1) the 1D Fixed Bed unit model \n", + "2) the NETL 32D property package" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.models_extra.gas_solid_contactors.unit_models.fixed_bed_1D import FixedBed1D\n", + "from idaes_examples.mod.co2_adsorption_desorption.NETL_32D_gas_phase_thermo import (\n", + " GasPhaseParameterBlock,\n", + ")\n", + "from idaes_examples.mod.co2_adsorption_desorption.NETL_32D_solid_phase_thermo import (\n", + " SolidPhaseParameterBlock,\n", + ")\n", + "from idaes_examples.mod.co2_adsorption_desorption.NETL_32D_adsorption_reactions import (\n", + " HeteroReactionParameterBlock,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Import custom libraries and functions\n", + "To simplify and automate this example at the flowsheet level, several custom methods were defined in an external script. The methods are custom, and as such are imported separately from the set of IDAES and Pyomo methods above. These utility functions perform a variety of numerical and reporting tasks:\n", + "\n", + "- heat_computation (used to calculate the heat requirements of the CO2 Adsorption Desorption cycle)\n", + "- performance_results (used to evaluate the performance of the CO2 Adsorption Desorption cycle)\n", + "- results_summary (provides summarized results of the CO2 Adsorption Desorption cycle)\n", + "- plot_results_temporal (plots the temporal profiles of the flowsheet simulation)\n", + "- plot_results_spatial (plots the spatial profiles of the flowsheet simulation)\n", + "- fb_model_setup (function that builds the 1D FixedBed model)\n", + "- fb_fixed_conditions (function that fixes the initial and boundary conditions of the 1D FixedBed model)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes_examples.mod.co2_adsorption_desorption.simulation_utilities import (\n", + " heat_computation,\n", + " performance_results,\n", + " results_summary,\n", + " plot_results_temporal,\n", + " plot_results_spatial,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Create a Function to Build the Flowsheet\n", + "\n", + "The function \"fb_model_setup\" below builds instances of the 1D FixedBed model for the adsorption and desorption simulations. While the effort required to define the reactor is low in terms of lines of code, we will need to do this for both the adsorption and desorption steps. Therefore, defining this setup as a single function will make later steps easier to follow. As arguments it takes the following:\n", + "1) The flowsheet block of the simulation, i.e., the adsorption flowsheet \n", + "2) The number of time finite elements \n", + "3) The number of spatial finite elements \n", + "\n", + "It returns a flowsheet object which contains an instance of the 1D FixedBed model" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "def fb_model_setup(\n", + " fs,\n", + " ntfe, # number of time finite elements\n", + " nxfe, # number of space finite elements\n", + "):\n", + "\n", + " # Set up thermo props and reaction props\n", + " fs.gas_properties = GasPhaseParameterBlock()\n", + " fs.solid_properties = SolidPhaseParameterBlock()\n", + "\n", + " fs.hetero_reactions = HeteroReactionParameterBlock(\n", + " solid_property_package=fs.solid_properties,\n", + " gas_property_package=fs.gas_properties,\n", + " )\n", + "\n", + " fs.FB = FixedBed1D(\n", + " finite_elements=nxfe,\n", + " transformation_method=\"dae.finite_difference\",\n", + " energy_balance_type=EnergyBalanceType.none,\n", + " pressure_drop_type=\"ergun_correlation\",\n", + " gas_phase_config={\"property_package\": fs.gas_properties},\n", + " solid_phase_config={\n", + " \"property_package\": fs.solid_properties,\n", + " \"reaction_package\": fs.hetero_reactions,\n", + " },\n", + " )\n", + "\n", + " # Discretize time domain\n", + " fs.discretizer = TransformationFactory(\"dae.finite_difference\")\n", + " fs.discretizer.apply_to(fs, nfe=ntfe, wrt=fs.time, scheme=\"BACKWARD\")\n", + "\n", + " return fs" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Create a Function to Fix the Flowsheet Conditions\n", + "\n", + "The function \"fb_fix_conditions\" fixes the initial and boundary conditions of an instance of the 1D FixedBed model. It also has checks to ensure that the degrees of freedom are zero, and that the velocity into the bed is less than the minimum fluidization velocity of the bed. Similarly to the function above, we will need to run this for the adsorption and desorption steps, and it is clearer to define the code once as a single function here. As arguments it takes the following:\n", + "1) The flowsheet block of the simulation, i.e., the adsorption flowsheet \n", + "2) The reactor bed diameter \n", + "3) The reactor bed height \n", + "4) A dictionary of gas phase state data for which the gas phase state variables of the model should be fixed to \n", + "5) A dictionary of solid phase state data for which the solid phase state variables of the model should be fixed to. If None, the solid phase state variables are fixed to their current values. \n", + "\n", + "No object is returned by this function." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "def fb_fix_conditions(\n", + " fs, bed_diameter, bed_height, gas_phase_state_dict, solid_phase_state_dict=None\n", + "):\n", + " # Fix bed geometry variables\n", + " fs.FB.bed_diameter.fix(bed_diameter) # m\n", + " fs.FB.bed_height.fix(bed_height) # m\n", + "\n", + " # Fix boundary values for gas for all time\n", + " blk = fs.FB\n", + " for t in fs.time:\n", + " # Gas values\n", + " blk.gas_inlet.flow_mol[t].fix(gas_phase_state_dict[\"flow_mol\"])\n", + " blk.gas_inlet.temperature[t].fix(gas_phase_state_dict[\"temperature\"])\n", + " blk.gas_inlet.pressure[t].fix(gas_phase_state_dict[\"pressure\"])\n", + " for j, val in gas_phase_state_dict[\"mole_frac_comp\"].items():\n", + " blk.gas_inlet.mole_frac_comp[t, j].fix(val)\n", + "\n", + " # Specify gas phase and solid phase initial conditions for all space\n", + " t0 = fs.time.first()\n", + " for x in blk.length_domain:\n", + " blk.gas_phase.properties[t0, x].flow_mol.fix(gas_phase_state_dict[\"flow_mol\"])\n", + " blk.gas_phase.properties[t0, x].temperature.fix(\n", + " gas_phase_state_dict[\"temperature\"]\n", + " ) # K\n", + " for j, val in gas_phase_state_dict[\"mole_frac_comp\"].items():\n", + " blk.gas_phase.properties[t0, x].mole_frac_comp[j].fix(val)\n", + "\n", + " if solid_phase_state_dict is None:\n", + " # Fix to existing values if dict is empty\n", + " blk.solid_properties[t0, x].dens_mass_particle.fix()\n", + " blk.solid_properties[t0, x].temperature.fix()\n", + " blk.solid_properties[t0, x].mass_frac_comp[:].fix()\n", + " else:\n", + " blk.solid_properties[t0, x].dens_mass_particle.fix(\n", + " solid_phase_state_dict[\"dens_mass_particle\"]\n", + " )\n", + " blk.solid_properties[t0, x].temperature.fix(\n", + " solid_phase_state_dict[\"temperature\"]\n", + " )\n", + " for j, val in solid_phase_state_dict[\"mass_frac_comp\"].items():\n", + " blk.solid_properties[t0, x].mass_frac_comp[j].fix(val)\n", + "\n", + " dof = degrees_of_freedom(fs)\n", + "\n", + " print(\"degrees of freedom = \", dof)\n", + " try:\n", + " assert degrees_of_freedom(fs) == 0\n", + " except AssertionError:\n", + " print(\"Degrees of freedom is not equal to zero. This is unexpected.\")\n", + " raise\n", + "\n", + " # Assert that inlet gas velocity is less than v_mf\n", + " # Use solid temperature as the thermal mass of solid >> than that of gas\n", + " pi = 3.14 # [-]\n", + " R = 8.314 # Gas constant [J/mol/K]\n", + "\n", + " @blk.Expression(doc=\"gas inlet velocity, m/s\")\n", + " def gas_inlet_velocity(blk):\n", + " v_gas_inlet = (\n", + " blk.gas_inlet.flow_mol[0] / (pi * value(blk.bed_diameter**2) / 4)\n", + " ) * (R * blk.solid_properties[0, 0].temperature / blk.gas_inlet.pressure[0])\n", + " return v_gas_inlet\n", + "\n", + " v_mf = value( # minimum fluidization velocity [m/s]\n", + " blk.solid_properties[t0, 0]._params.velocity_mf\n", + " )\n", + " print(\"inlet gas velocity = \", value(blk.gas_inlet_velocity), \" m/s\")\n", + " print(\"min. fluid velocity = \", v_mf, \" m/s\")\n", + " try:\n", + " assert value(blk.gas_inlet_velocity) <= v_mf\n", + " except AssertionError:\n", + " print(\n", + " \"The inlet gas velocity is greater than the minimum fluidization velocity. \"\n", + " \"This is unexpected for a Fixed Bed.\"\n", + " )\n", + " raise" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Step 2: Setup and run simulation\n", + "Now that the system properties and all required utility functions are defined, we will build the model itself." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Create concrete model\n", + "First, create the model object:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "m = ConcreteModel()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Setup solver for initialization\n", + "We limit the maximum number of iterations and apply appropriate scaling for the linear solver for initialization:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "# Solver arguments\n", + "optarg = {\n", + " \"max_iter\": 100,\n", + " \"nlp_scaling_method\": \"user-scaling\",\n", + " \"linear_solver\": \"ma27\",\n", + "}\n", + "\n", + "# Create a solver\n", + "solver = get_solver(\"ipopt\")\n", + "solver.options = optarg" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Set spatial elements and design variables for adsorption and desorption simulations\n", + "Let's define the size of the system:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "# Number of spatial elements\n", + "nxfe = 50\n", + "\n", + "# Design variables for static and dynamic models\n", + "bed_diameter = 9 # m\n", + "bed_height = 1 # m" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adsorption simulation\n", + "First, we will run the adsorption step by defining the simulation domain, add initial conditions, and set up and solve the model." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Setup simulation horizon and create time set\n", + "We specify the time discretization to an exact set of temporal points according to the problem horizon:" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "# Time horizon\n", + "horizon = 108000 # s\n", + "\n", + "# Create time_set list\n", + "t_element_size = horizon / 4 # s\n", + "ntfe = int(horizon / t_element_size)\n", + "time_set = list(np.linspace(0, horizon, ntfe + 1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Initial conditions for gas and solid phases\n", + "Next, we set reasoanble initial conditions for the gas and solid phases at time = 0, with a constant adsorption temperature:" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "# Flue gas inlet conditions to adsorption system (flue gas stream) -\n", + "# Temperature and mole fractions obtained from NETL baseline report.\n", + "# Exhibit 5-22 B31B case.\n", + "adsorption_temperature = 303.15 # K\n", + "\n", + "# Dictionary of initial and boundary conditions for gas phase\n", + "gas_phase_state_dict_ads = {\n", + " \"flow_mol\": 3.544, # mol/s\n", + " \"temperature\": adsorption_temperature, # K\n", + " \"pressure\": 1.2452e5, # Pa\n", + " \"mole_frac_comp\": { # [-]\n", + " \"CO2\": 0.0408,\n", + " \"H2O\": 0.0875,\n", + " \"N2\": 0.7517,\n", + " \"O2\": 0.12,\n", + " },\n", + "}\n", + "\n", + "# Dictionary of initial conditions for solid phase\n", + "solid_phase_state_dict_ads = {\n", + " \"dens_mass_particle\": 442, # kg/m3\n", + " \"temperature\": adsorption_temperature, # K\n", + " \"mass_frac_comp\": { # [-]\n", + " \"H2O_s\": 1e-8,\n", + " \"Car\": 1e-8,\n", + " \"SiO\": 1,\n", + " },\n", + "}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Setup the adsorption model\n", + "Then, we call our previously defined methods to build the model and fix initial conditions:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "# Create the adsorption flowsheet\n", + "m.fs_ads = FlowsheetBlock(dynamic=True, time_set=time_set, time_units=pyunits.s)\n", + "\n", + "# Setup an instance of the 1D FixedBed model for the adsorption simulation\n", + "m.fs_ads = fb_model_setup(m.fs_ads, ntfe, nxfe)\n", + "\n", + "# Fix initial and boundary conditions\n", + "fb_fix_conditions(\n", + " m.fs_ads,\n", + " bed_diameter,\n", + " bed_height,\n", + " gas_phase_state_dict_ads,\n", + " solid_phase_state_dict_ads,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Adsorption model - initialize and solve\n", + "Finally for the adsorption model, we initialize and solve." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Apply scaling transformation\n", + "We first scale the model variables and equations to reduce ill-conditioning and improve its convergence properties:" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "iscale.calculate_scaling_factors(m.fs_ads)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Initialize model\n", + "The model initialization is done with the block triangularization initialization method in the 1D FixedBed model as this is faster than using the traditional sequential heirarchichal initialization approach. See the 1D FixedBed model and documentation for more details on this method." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "# Run start time\n", + "t_start_ads = time.time()\n", + "\n", + "# Initialize model\n", + "calc_var_kwds = {\"eps\": 1e-5}\n", + "m.fs_ads.FB.block_triangularization_initialize(\n", + " gas_phase_state_args=gas_phase_state_dict_ads,\n", + " solid_phase_state_args=solid_phase_state_dict_ads,\n", + " outlvl=idaeslog.DEBUG,\n", + " solver=solver,\n", + " calc_var_kwds=calc_var_kwds,\n", + ")\n", + "\n", + "# Run end time\n", + "t_end_ads = time.time()\n", + "\n", + "# Initialization time\n", + "adsorption_initialization_time = value(t_end_ads - t_start_ads)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### PETSc integrator\n", + "As mentioned earlier, the PETSc integrator is used for simulating the time trajectory. After starting the clock and instantiating the time variables, PETSc performs and element-wise discretization to define and solve the dynamic system of equations. See https://idaes-pse.readthedocs.io/en/stable/reference_guides/core/solvers.html#petsc-utilities for more details.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "petscsolvelog = idaeslog.getSolveLogger(\"petsc-dae\")\n", + "petscsolvelog.setLevel(logging.WARNING) # comment this line to see PETSc solver output\n", + "\n", + "# Run start time\n", + "t_start_ads = time.time()\n", + "\n", + "# Setup PETSc integrator and simulate adsorption flowsheet\n", + "m.fs_ads.time_var = Var(m.fs_ads.time)\n", + "m.fs_ads.time_var[0].fix(m.fs_ads.time.first())\n", + "\n", + "result_ads = petsc.petsc_dae_by_time_element(\n", + " m.fs_ads,\n", + " time=m.fs_ads.time,\n", + " timevar=m.fs_ads.time_var,\n", + " keepfiles=True,\n", + " symbolic_solver_labels=True,\n", + " skip_initial=False,\n", + " ts_options={\n", + " \"--ts_type\": \"beuler\", # backward euler integration\n", + " \"--ts_dt\": 200, # set initial step to 200\n", + " \"--ts_rtol\": 20,\n", + " \"--ts_monitor\": \"\",\n", + " \"--ts_save_trajectory\": 1,\n", + " \"--ksp_rtol\": 1e-10,\n", + " \"--snes_type\": \"newtontr\", # newton trust region non-linear solver\n", + " \"--ts_monitor\": \"\",\n", + " \"--ts_save_trajectory\": 1,\n", + " \"--ts_max_snes_failures\": 1000,\n", + " },\n", + ")\n", + "tj_ads = result_ads.trajectory # trajectory data\n", + "\n", + "# Run end time\n", + "t_end_ads = time.time()\n", + "\n", + "# Initialization time\n", + "adsorption_simulation_time = value(t_end_ads - t_start_ads)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Plot the adsorption simulation results\n", + "After running the adsorption simulation, the dynamic profiles are plotted." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the temporal plots below, quantities are reported as functions of time and contoured for six points along the length of the bed. The time and spatial dimensions are exchanged in the spatial plots, with quantities reported as functions of length and contoured for five time points.\n", + "\n", + "The gas flowrate is constant at the inlet and decreases over the length of the bed as CO2 is removed from the gas. At each spatial point, the CO2 content of the gas increases over time as the bed becomes more saturated with CO2 and the mass transfer driving force decreases. Assessing the two gas flowrate plots, adsorption occurs steadily over time with a much larger capture rate in the initial spatial region; this region grows from 10% to 25% of the bed length as the bed becomes more saturated with CO2 over time.\n", + "\n", + "The bed pressure stays relatively constant over time, and exhibits a linear drop over the length of the reactor. There are no temporal or spatial gradients in gas or solid temperature.\n", + "\n", + "The saturation trend is strongly apparent in the composition trends. The CO2 content of the gas quickly drops from the initial concentration over the length of the bed, and steadily rises over time as the driving force of mass transfer decreases. Water vapor concentration in the gas follows a similar trend.\n", + "\n", + "Following the solid-state reaction, the concentration of carbmate steadily increases over time with formation skewing heavily towards the initial spatial region of the bed. The spatial contours of the temporal carbamate composition plot cross as a result of the solid reaction rate heavily favoring the initial section of the bed and suddenly dropping about at about 20% of the reactor length. The mass fraction and mol/kg plots differ slightly due to water and CO2 absorbing at different rates, but otherwise demonstrate similar trends." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "# Plot temporal result profiles\n", + "plot_results_temporal(m.fs_ads, tj_ads)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "# Plot spatial result profiles\n", + "plot_results_spatial(m.fs_ads, tj_ads)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Desorption simulation\n", + "The desorption simulation begins when the adsorption simulation ends. It uses the final state of the sorbent (besides temperature which is set at the desorption temperature) in the adsorption mode as the initial state of the sorbent in the desorption mode." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Setup simulation horizon and create time set\n", + "As in the adsorption simulation, we first specify the time discretization:" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "# Space and time discretization arguments\n", + "horizon = 7200 # s\n", + "\n", + "# Setup for PETSc run\n", + "t_element_size = horizon # s\n", + "ntfe = int(horizon / t_element_size)\n", + "time_set = list(np.linspace(0, horizon, ntfe + 1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Initial and boundary conditions for gas phase\n", + "- The initial conditions of the solid phase will be copied from the final conditions of the model in the adsorption simulation." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "# Desorption operating conditions\n", + "desorption_temperature = 470 # K\n", + "\n", + "gas_phase_state_dict_des = {\n", + " \"flow_mol\": 10, # mol/s\n", + " \"temperature\": desorption_temperature, # K\n", + " \"pressure\": 1.06525e5, # Pa\n", + " \"mole_frac_comp\": {\"CO2\": 1e-8, \"H2O\": 1, \"N2\": 1e-8, \"O2\": 1e-8}, # [-]\n", + "}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Setup the desorption model\n", + "Then, we build the model and fix initial conditions:" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "# Create the desorption flowsheet\n", + "m.fs_des = FlowsheetBlock(dynamic=True, time_set=time_set, time_units=pyunits.s)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "# Setup an instance of the 1D FixedBed model for the desorption simulation\n", + "m.fs_des = fb_model_setup(\n", + " m.fs_des,\n", + " ntfe,\n", + " nxfe,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Desorption model - initialize and solve\n", + "Finally for the desorption model, we initialize and solve." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Copy values from adsorption model to desorption model\n", + "Copy state values of solid phase (besides temperature) from last time point in adsorption model to all time point in desorption model. Also set temperature state variable of desorption model to desorption temperature." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "blk_des = m.fs_des.FB\n", + "tf_ads = tj_ads.time[-1] # Get final time from adsorption trajectory results\n", + "tf_ads_index = tj_ads.time.index(tf_ads) # Get index at final time\n", + "component_list = blk_des.config.solid_phase_config.property_package.component_list\n", + "\n", + "for t in m.fs_des.time:\n", + " for x in blk_des.length_domain:\n", + " blk_des.solid_properties[t, x].temperature.set_value(desorption_temperature)\n", + " blk_des.solid_properties[t, x].dens_mass_particle.set_value(\n", + " tj_ads.get_vec(m.fs_ads.FB.solid_properties[tf_ads, x].dens_mass_particle)[\n", + " tf_ads_index\n", + " ]\n", + " )\n", + " for j in component_list:\n", + " blk_des.solid_properties[t, x].mass_frac_comp[j].set_value(\n", + " value(\n", + " tj_ads.get_vec(\n", + " m.fs_ads.FB.solid_properties[tf_ads, x].mass_frac_comp[j]\n", + " )[tf_ads_index]\n", + " )\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Fix initial and boundary conditions\n", + "We fix the conditions from the final adsorption model state as our new initial conditions for the desorption model:" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "fb_fix_conditions(\n", + " m.fs_des,\n", + " bed_diameter,\n", + " bed_height,\n", + " gas_phase_state_dict_des,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Calculate scaling of desorption model\n", + "Then, we apply scaling to the model:" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "iscale.calculate_scaling_factors(m.fs_des)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Initialize desorption model\n", + "The desorption model initialization is done with the block triangularization initialization method, as was done with the adsorption model." + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "# Run start time\n", + "t_start_des = time.time()\n", + "\n", + "# Initialize model\n", + "m.fs_des.FB.block_triangularization_initialize(\n", + " gas_phase_state_args=gas_phase_state_dict_des,\n", + " outlvl=idaeslog.DEBUG,\n", + " solver=solver,\n", + " calc_var_kwds=calc_var_kwds,\n", + ")\n", + "\n", + "# Run end time\n", + "t_end_des = time.time()\n", + "\n", + "# Initialization time\n", + "desorption_initialization_time = value(t_end_des - t_start_des)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Setup PETSc integrator and simulate desorption step\n", + "Now that the model is fully defined, we can call the PETSc integrator to simulate the dynamics of the problem:" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "# Run start time\n", + "t_start_des = time.time()\n", + "\n", + "# Setup PETSc integrator and simulate desorption flowsheet\n", + "m.fs_des.time_var = Var(m.fs_des.time)\n", + "m.fs_des.time_var[0].fix(m.fs_des.time.first())\n", + "\n", + "result_des = petsc.petsc_dae_by_time_element(\n", + " m.fs_des,\n", + " time=m.fs_des.time,\n", + " timevar=m.fs_des.time_var,\n", + " keepfiles=True,\n", + " symbolic_solver_labels=True,\n", + " skip_initial=False,\n", + " ts_options={\n", + " \"--ts_type\": \"beuler\", # backward euler integration\n", + " \"--ts_dt\": 200, # set initial step to 200\n", + " \"--ts_rtol\": 20,\n", + " \"--ts_monitor\": \"\",\n", + " \"--ts_save_trajectory\": 1,\n", + " \"--ksp_rtol\": 1e-10,\n", + " \"--snes_type\": \"newtontr\", # newton trust region non-linear solver\n", + " \"--ts_monitor\": \"\",\n", + " \"--ts_save_trajectory\": 1,\n", + " \"--ts_max_snes_failures\": 1000,\n", + " },\n", + ")\n", + "tj_des = result_des.trajectory # trajectory data\n", + "\n", + "# Run end time\n", + "t_end_des = time.time()\n", + "\n", + "# Initialization time\n", + "desorption_simulation_time = value(t_end_des - t_start_des)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Plot the desorption simulation results\n", + "Similar to the results of the adsorption model, the plots below are presented as temporal plots with spatial contours and spatial plots with time contours to fully capture the model trends.\n", + "\n", + "The gas flowrate spikes initially as large quantities of CO2 are recovered, and then the flowrate drops rapidly as the CO2 is carried away. An interesting note is that this occurs over the same time period everywhere across the length of the bed, peaking around 1000 seconds into the simulation. In the spatial plot, the peak is missed between the first and second contours; instead, the spatial plots captures a similar shifting inflection point around 10-25% of the way into the bed as the mass transfer driving force suddenly decreases.\n", + "\n", + "The bed pressure drops suddenly as CO2 is initially desorbed from the bed, and a steady state is reached at larger time points. As in the adsorption case, the desorption results show no temporal or spatial gradients in gas or solid temperature.\n", + "\n", + "The CO2 content of the gas sharply rises initially, and steadily decreases as CO2 is carried away in the sweep gas. A greater amount of CO2 is recovered closer to the reactor inlet. As the sweep gas is nearly pure water vapor, the water concentration in the gas sharply drops as CO2 is desorbed from the bed and recovers to near unity towards the temporal end of the simulation.\n", + "\n", + "Carbamate disappears quickly as CO2 is recovered and the hydrate is broken down, occurring evenly across the length of the reactor bed." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "# Plot temporal result profiles\n", + "plot_results_temporal(m.fs_des, tj_des)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [], + "source": [ + "# Plot spatial result profiles\n", + "plot_results_spatial(m.fs_ads, tj_ads)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 3: Generate performance results" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [], + "source": [ + "###########################################################################\n", + "# Heat requirements\n", + "###########################################################################\n", + "heat_computation(m, tj_ads, tj_des, adsorption_temperature, desorption_temperature)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [], + "source": [ + "###########################################################################\n", + "# Performance results\n", + "###########################################################################\n", + "performance_results(m, tj_ads, tj_des)\n", + "\n", + "results_summary(m, adsorption_temperature, desorption_temperature)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Simulation time results" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Adsorption initialization time: \", adsorption_initialization_time, \" s\")\n", + "print(\"Adsorption simulation time: \", adsorption_simulation_time, \" s\")\n", + "print()\n", + "print(\"Desorption initialization time: \", desorption_initialization_time, \" s\")\n", + "print(\"Desorption simulation time: \", desorption_simulation_time, \" s\")\n", + "print()\n", + "total_simulation_time = (\n", + " adsorption_initialization_time\n", + " + adsorption_simulation_time\n", + " + desorption_initialization_time\n", + " + desorption_simulation_time\n", + ")\n", + "print(\"Total simulation time: \", total_simulation_time, \" s\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Summary\n", + "This example demonstrates implementation of the 1D FixedBed model within IDAES. External property packages for multiple phase domains and interfaces, as well as mass transfer and reaction properties, were integrated into two simulations. The simulations are connected via their final (adsorption) and initial (desorption) states, and each utilizes the PETSc integrator to calculate temporal profiles over the spatial domains." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.12" + } + }, + "nbformat": 4, + "nbformat_minor": 3 } diff --git a/idaes_examples/notebooks/held/flowsheets/CO2_adsorption_desorption/CO2_Adsorption_Desorption_1DFixedBed_test.ipynb b/idaes_examples/notebooks/held/flowsheets/CO2_adsorption_desorption/CO2_Adsorption_Desorption_1DFixedBed_test.ipynb index 0b57769a..bdfe15f8 100644 --- a/idaes_examples/notebooks/held/flowsheets/CO2_adsorption_desorption/CO2_Adsorption_Desorption_1DFixedBed_test.ipynb +++ b/idaes_examples/notebooks/held/flowsheets/CO2_adsorption_desorption/CO2_Adsorption_Desorption_1DFixedBed_test.ipynb @@ -1,1126 +1,1127 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# CO2 Adsorption Desorption simulation example with a 1D Fixed Bed model\n", - "Author: Chinedu Okoli, Anca Ostace, Brandon Paul \n", - "Maintainer: Brandon Paul \n", - "Updated: 2023-06-01 \n", - "\n", - "\n", - "This jupyter notebook shows an example of a CO2 Adsorption Desorption cycle with the IDAES 1D FixedBed model. The IDAES 1D FixedBed model is a dynamic and axially varying reactor/adsorption model which is able to model the gas and solid interactions of the modeled species in detail. The sorbent used for this example is the NETL_32D sorbent with its details and parameters obtained from the following references: \n", - "- A. Lee, D.C. Miller, A One-Dimensional (1-D) Three-Region Model for a Bubbling Fluidized-Bed Adsorber, Ind. Eng. Chem. Res. 52 (2013) 469–484\n", - "- Lee, A.; Mebane, D.; Fauth, D. J.; Miller, D. C. A Model for the Adsorption Kinetics of CO2 on Amine-Impregnated Mesoporous Sorbents in the Presence of Water. Presented at the 28th International Pittsburgh Coal Conference, Pittsburgh, PA, 2011.\n", - "\n", - "The notebook demonstrates how to use the IDAES 1DFixedBed model for an adsorption/desorption application with distinct adsorption and desorption steps. This example leverages custom libraries and functions specific to the NETL_32D solid sorbent and associated gas phase properties and surface reactions. In this system, the silicon monoxide (SiO(s)) sorbent reduces carbon dioxide (CO2(g)) to carbamate (denoted Car(s)) while simultaneously absorbing water vapor (H2O(g)) to produce a solid solution-state hydrate (H2O(s)). The solid phase is considered a one-dimensional domain with three regions for bubble, cloud wake and emulsion properties for bubbling bed systems; in the case of a fixed bed reactor non-bulk gas behavior is neglected and assumed to be homogeneous everywhere not near the solid surface.\n", - "\n", - "The notebook also shows how to simulate the adsorption and desorption steps using the PETSc integrator. PETSc leverages nonlinear equation and differential algebraic equation solvers to solve time-trajectory problems. These solvers are applicable for systems with zero degrees of freedom, such as a fully-specified bed reactor model. See https://idaes-pse.readthedocs.io/en/stable/reference_guides/core/solvers.html#petsc-utilities for more details." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Cycle details\n", - "The system contains the following equipment and stream properties:\n", - "- Bed height: 9 m\n", - "- Bed diameter: 1 m\n", - "- Adsorption time: 30 hrs\n", - "- Desorption time: 2 hrs\n", - "- Adsorption temperature: 303.15 K\n", - "- Desorption temperature: 470 K\n", - "- Flue gas inlet conditions (Temperature and mole fractions obtained from NETL baseline report. Exhibit 5-22 B31B case)\n", - " - Temperature: 315 K\n", - " - Pressure: 106.5 kPa\n", - " - Flowrate: 3.544 mol/s\n", - " - Mole fractions: CO2: 0.0408, H2O: 0.0875, N2: 0.7517, O2: 0.12" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Notes\n", - "Some additional information regarding the problem:\n", - "- Isothermal conditions: heat duty requirements of each step are calculated from gas and sorbent properties, i.e., loading, density, heat of adsorption, and heat capacity\n", - "- Heating and cooling modes not modeled in detail: cycle times are assumed negligible in comparison to adsorption and desorption\n", - "- Adsorption and desorption steps are modeled in different flowsheets\n", - "- Initial condition (except temperature) of sorbent in desorption step is set to final condition of sorbent in adsorption step" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Step 1: Import relevant libraries and packages" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Import python libraries\n", - "\n", - "- numpy (numerical python library which provides numerical computing tools)\n", - "- time (time python library which will be used to track the simulation time)" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "import time" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "### Import Pyomo packages\n", - "For the flowsheet, we will need several components from the pyomo libraries.\n", - "\n", - "- ConcreteModel (to create the Pyomo model that will contain the IDAES flowsheet)\n", - "- TransformationFactory (to apply certain transformations)\n", - "- SolverFactory (to solve the problem)\n", - "- Var (to create a Pyomo variable)\n", - "- value (to return the numerical value of Pyomo objects such as variables, constraints or expressions)\n", - "- units (to handle units in Pyomo and IDAES)\n", - "\n", - "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/latest/" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.environ import (\n", - " ConcreteModel,\n", - " TransformationFactory,\n", - " SolverFactory,\n", - " Var,\n", - " value,\n", - " units as pyunits,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Import IDAES core components\n", - "\n", - "To build, initialize, and solve IDAES flowsheets we will need several core components/utilities:\n", - "\n", - "- FlowsheetBlock (the flowsheet block contains idaes properties, time, and unit models)\n", - "- EnergyBalanceType (to specify the energy balance type)\n", - "- petsc (PETSc integrator)\n", - "- get_solver (IDAES solver utility)\n", - "- iscale (is used to apply scaling factors in variables and constraints)\n", - "- propagate_state (is used to initialize models, propagating the state variables from one unit model to another)\n", - "- degrees_of_freedom (useful for debugging, this method returns the DOF of the model)\n", - "- idaeslog (is used to set output messages like warnings or errors)\n", - "\n", - "For further details on these components, please refer to the IDAES documentation: https://idaes-pse.readthedocs.io/en/latest/" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.core import FlowsheetBlock, EnergyBalanceType\n", - "import idaes.core.solvers.petsc as petsc # PETSc utilities module\n", - "from idaes.core.util import scaling as iscale\n", - "from idaes.core.solvers import get_solver\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "import idaes.logger as idaeslog\n", - "import logging" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Import IDAES unit models and NETL 32D property packages\n", - "\n", - "To build the IDAES flowsheet for the CO2 Adsorption Desorption example, we will need the following: \n", - "1) the 1D Fixed Bed unit model \n", - "2) the NETL 32D property package" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.models_extra.gas_solid_contactors.unit_models.fixed_bed_1D import FixedBed1D\n", - "from idaes_examples.mod.co2_adsorption_desorption.NETL_32D_gas_phase_thermo import (\n", - " GasPhaseParameterBlock,\n", - ")\n", - "from idaes_examples.mod.co2_adsorption_desorption.NETL_32D_solid_phase_thermo import (\n", - " SolidPhaseParameterBlock,\n", - ")\n", - "from idaes_examples.mod.co2_adsorption_desorption.NETL_32D_adsorption_reactions import (\n", - " HeteroReactionParameterBlock,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Import custom libraries and functions\n", - "To simplify and automate this example at the flowsheet level, several custom methods were defined in an external script. The methods are custom, and as such are imported separately from the set of IDAES and Pyomo methods above. These utility functions perform a variety of numerical and reporting tasks:\n", - "\n", - "- heat_computation (used to calculate the heat requirements of the CO2 Adsorption Desorption cycle)\n", - "- performance_results (used to evaluate the performance of the CO2 Adsorption Desorption cycle)\n", - "- results_summary (provides summarized results of the CO2 Adsorption Desorption cycle)\n", - "- plot_results_temporal (plots the temporal profiles of the flowsheet simulation)\n", - "- plot_results_spatial (plots the spatial profiles of the flowsheet simulation)\n", - "- fb_model_setup (function that builds the 1D FixedBed model)\n", - "- fb_fixed_conditions (function that fixes the initial and boundary conditions of the 1D FixedBed model)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes_examples.mod.co2_adsorption_desorption.simulation_utilities import (\n", - " heat_computation,\n", - " performance_results,\n", - " results_summary,\n", - " plot_results_temporal,\n", - " plot_results_spatial,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Create a Function to Build the Flowsheet\n", - "\n", - "The function \"fb_model_setup\" below builds instances of the 1D FixedBed model for the adsorption and desorption simulations. While the effort required to define the reactor is low in terms of lines of code, we will need to do this for both the adsorption and desorption steps. Therefore, defining this setup as a single function will make later steps easier to follow. As arguments it takes the following:\n", - "1) The flowsheet block of the simulation, i.e., the adsorption flowsheet \n", - "2) The number of time finite elements \n", - "3) The number of spatial finite elements \n", - "\n", - "It returns a flowsheet object which contains an instance of the 1D FixedBed model" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "def fb_model_setup(\n", - " fs,\n", - " ntfe, # number of time finite elements\n", - " nxfe, # number of space finite elements\n", - "):\n", - "\n", - " # Set up thermo props and reaction props\n", - " fs.gas_properties = GasPhaseParameterBlock()\n", - " fs.solid_properties = SolidPhaseParameterBlock()\n", - "\n", - " fs.hetero_reactions = HeteroReactionParameterBlock(\n", - " solid_property_package=fs.solid_properties,\n", - " gas_property_package=fs.gas_properties,\n", - " )\n", - "\n", - " fs.FB = FixedBed1D(\n", - " finite_elements=nxfe,\n", - " transformation_method=\"dae.finite_difference\",\n", - " energy_balance_type=EnergyBalanceType.none,\n", - " pressure_drop_type=\"ergun_correlation\",\n", - " gas_phase_config={\"property_package\": fs.gas_properties},\n", - " solid_phase_config={\n", - " \"property_package\": fs.solid_properties,\n", - " \"reaction_package\": fs.hetero_reactions,\n", - " },\n", - " )\n", - "\n", - " # Discretize time domain\n", - " fs.discretizer = TransformationFactory(\"dae.finite_difference\")\n", - " fs.discretizer.apply_to(fs, nfe=ntfe, wrt=fs.time, scheme=\"BACKWARD\")\n", - "\n", - " return fs" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Create a Function to Fix the Flowsheet Conditions\n", - "\n", - "The function \"fb_fix_conditions\" fixes the initial and boundary conditions of an instance of the 1D FixedBed model. It also has checks to ensure that the degrees of freedom are zero, and that the velocity into the bed is less than the minimum fluidization velocity of the bed. Similarly to the function above, we will need to run this for the adsorption and desorption steps, and it is clearer to define the code once as a single function here. As arguments it takes the following:\n", - "1) The flowsheet block of the simulation, i.e., the adsorption flowsheet \n", - "2) The reactor bed diameter \n", - "3) The reactor bed height \n", - "4) A dictionary of gas phase state data for which the gas phase state variables of the model should be fixed to \n", - "5) A dictionary of solid phase state data for which the solid phase state variables of the model should be fixed to. If None, the solid phase state variables are fixed to their current values. \n", - "\n", - "No object is returned by this function." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "def fb_fix_conditions(\n", - " fs, bed_diameter, bed_height, gas_phase_state_dict, solid_phase_state_dict=None\n", - "):\n", - " # Fix bed geometry variables\n", - " fs.FB.bed_diameter.fix(bed_diameter) # m\n", - " fs.FB.bed_height.fix(bed_height) # m\n", - "\n", - " # Fix boundary values for gas for all time\n", - " blk = fs.FB\n", - " for t in fs.time:\n", - " # Gas values\n", - " blk.gas_inlet.flow_mol[t].fix(gas_phase_state_dict[\"flow_mol\"])\n", - " blk.gas_inlet.temperature[t].fix(gas_phase_state_dict[\"temperature\"])\n", - " blk.gas_inlet.pressure[t].fix(gas_phase_state_dict[\"pressure\"])\n", - " for j, val in gas_phase_state_dict[\"mole_frac_comp\"].items():\n", - " blk.gas_inlet.mole_frac_comp[t, j].fix(val)\n", - "\n", - " # Specify gas phase and solid phase initial conditions for all space\n", - " t0 = fs.time.first()\n", - " for x in blk.length_domain:\n", - " blk.gas_phase.properties[t0, x].flow_mol.fix(gas_phase_state_dict[\"flow_mol\"])\n", - " blk.gas_phase.properties[t0, x].temperature.fix(\n", - " gas_phase_state_dict[\"temperature\"]\n", - " ) # K\n", - " for j, val in gas_phase_state_dict[\"mole_frac_comp\"].items():\n", - " blk.gas_phase.properties[t0, x].mole_frac_comp[j].fix(val)\n", - "\n", - " if solid_phase_state_dict is None:\n", - " # Fix to existing values if dict is empty\n", - " blk.solid_properties[t0, x].dens_mass_particle.fix()\n", - " blk.solid_properties[t0, x].temperature.fix()\n", - " blk.solid_properties[t0, x].mass_frac_comp[:].fix()\n", - " else:\n", - " blk.solid_properties[t0, x].dens_mass_particle.fix(\n", - " solid_phase_state_dict[\"dens_mass_particle\"]\n", - " )\n", - " blk.solid_properties[t0, x].temperature.fix(\n", - " solid_phase_state_dict[\"temperature\"]\n", - " )\n", - " for j, val in solid_phase_state_dict[\"mass_frac_comp\"].items():\n", - " blk.solid_properties[t0, x].mass_frac_comp[j].fix(val)\n", - "\n", - " dof = degrees_of_freedom(fs)\n", - "\n", - " print(\"degrees of freedom = \", dof)\n", - " try:\n", - " assert degrees_of_freedom(fs) == 0\n", - " except AssertionError:\n", - " print(\"Degrees of freedom is not equal to zero. This is unexpected.\")\n", - " raise\n", - "\n", - " # Assert that inlet gas velocity is less than v_mf\n", - " # Use solid temperature as the thermal mass of solid >> than that of gas\n", - " pi = 3.14 # [-]\n", - " R = 8.314 # Gas constant [J/mol/K]\n", - "\n", - " @blk.Expression(doc=\"gas inlet velocity, m/s\")\n", - " def gas_inlet_velocity(blk):\n", - " v_gas_inlet = (\n", - " blk.gas_inlet.flow_mol[0] / (pi * value(blk.bed_diameter**2) / 4)\n", - " ) * (R * blk.solid_properties[0, 0].temperature / blk.gas_inlet.pressure[0])\n", - " return v_gas_inlet\n", - "\n", - " v_mf = value( # minimum fluidization velocity [m/s]\n", - " blk.solid_properties[t0, 0]._params.velocity_mf\n", - " )\n", - " print(\"inlet gas velocity = \", value(blk.gas_inlet_velocity), \" m/s\")\n", - " print(\"min. fluid velocity = \", v_mf, \" m/s\")\n", - " try:\n", - " assert value(blk.gas_inlet_velocity) <= v_mf\n", - " except AssertionError:\n", - " print(\n", - " \"The inlet gas velocity is greater than the minimum fluidization velocity. \"\n", - " \"This is unexpected for a Fixed Bed.\"\n", - " )\n", - " raise" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Step 2: Setup and run simulation\n", - "Now that the system properties and all required utility functions are defined, we will build the model itself." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Create concrete model\n", - "First, create the model object:" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "m = ConcreteModel()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Setup solver for initialization\n", - "We limit the maximum number of iterations and apply appropriate scaling for the linear solver for initialization:" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "# Solver arguments\n", - "optarg = {\n", - " \"max_iter\": 100,\n", - " \"nlp_scaling_method\": \"user-scaling\",\n", - " \"linear_solver\": \"ma27\",\n", - "}\n", - "\n", - "# Create a solver\n", - "solver = get_solver(\"ipopt\")\n", - "solver.options = optarg" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Set spatial elements and design variables for adsorption and desorption simulations\n", - "Let's define the size of the system:" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "# Number of spatial elements\n", - "nxfe = 50\n", - "\n", - "# Design variables for static and dynamic models\n", - "bed_diameter = 9 # m\n", - "bed_height = 1 # m" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adsorption simulation\n", - "First, we will run the adsorption step by defining the simulation domain, add initial conditions, and set up and solve the model." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Setup simulation horizon and create time set\n", - "We specify the time discretization to an exact set of temporal points according to the problem horizon:" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "# Time horizon\n", - "horizon = 108000 # s\n", - "\n", - "# Create time_set list\n", - "t_element_size = horizon / 4 # s\n", - "ntfe = int(horizon / t_element_size)\n", - "time_set = list(np.linspace(0, horizon, ntfe + 1))" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "tags": [ - "testing" - ] - }, - "outputs": [], - "source": [ - "# Reduce time horizon to speed up testing\n", - "horizon /= 10" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Initial conditions for gas and solid phases\n", - "Next, we set reasoanble initial conditions for the gas and solid phases at time = 0, with a constant adsorption temperature:" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "# Flue gas inlet conditions to adsorption system (flue gas stream) -\n", - "# Temperature and mole fractions obtained from NETL baseline report.\n", - "# Exhibit 5-22 B31B case.\n", - "adsorption_temperature = 303.15 # K\n", - "\n", - "# Dictionary of initial and boundary conditions for gas phase\n", - "gas_phase_state_dict_ads = {\n", - " \"flow_mol\": 3.544, # mol/s\n", - " \"temperature\": adsorption_temperature, # K\n", - " \"pressure\": 1.2452e5, # Pa\n", - " \"mole_frac_comp\": { # [-]\n", - " \"CO2\": 0.0408,\n", - " \"H2O\": 0.0875,\n", - " \"N2\": 0.7517,\n", - " \"O2\": 0.12,\n", - " },\n", - "}\n", - "\n", - "# Dictionary of initial conditions for solid phase\n", - "solid_phase_state_dict_ads = {\n", - " \"dens_mass_particle\": 442, # kg/m3\n", - " \"temperature\": adsorption_temperature, # K\n", - " \"mass_frac_comp\": { # [-]\n", - " \"H2O_s\": 1e-8,\n", - " \"Car\": 1e-8,\n", - " \"SiO\": 1,\n", - " },\n", - "}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Setup the adsorption model\n", - "Then, we call our previously defined methods to build the model and fix initial conditions:" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "# Create the adsorption flowsheet\n", - "m.fs_ads = FlowsheetBlock(dynamic=True, time_set=time_set, time_units=pyunits.s)\n", - "\n", - "# Setup an instance of the 1D FixedBed model for the adsorption simulation\n", - "m.fs_ads = fb_model_setup(m.fs_ads, ntfe, nxfe)\n", - "\n", - "# Fix initial and boundary conditions\n", - "fb_fix_conditions(\n", - " m.fs_ads,\n", - " bed_diameter,\n", - " bed_height,\n", - " gas_phase_state_dict_ads,\n", - " solid_phase_state_dict_ads,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Adsorption model - initialize and solve\n", - "Finally for the adsorption model, we initialize and solve." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Apply scaling transformation\n", - "We first scale the model variables and equations to reduce ill-conditioning and improve its convergence properties:" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "iscale.calculate_scaling_factors(m.fs_ads)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Initialize model\n", - "The model initialization is done with the block triangularization initialization method in the 1D FixedBed model as this is faster than using the traditional sequential heirarchichal initialization approach. See the 1D FixedBed model and documentation for more details on this method." - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "# Run start time\n", - "t_start_ads = time.time()\n", - "\n", - "# Initialize model\n", - "calc_var_kwds = {\"eps\": 1e-5}\n", - "m.fs_ads.FB.block_triangularization_initialize(\n", - " gas_phase_state_args=gas_phase_state_dict_ads,\n", - " solid_phase_state_args=solid_phase_state_dict_ads,\n", - " outlvl=idaeslog.DEBUG,\n", - " solver=solver,\n", - " calc_var_kwds=calc_var_kwds,\n", - ")\n", - "\n", - "# Run end time\n", - "t_end_ads = time.time()\n", - "\n", - "# Initialization time\n", - "adsorption_initialization_time = value(t_end_ads - t_start_ads)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### PETSc integrator\n", - "As mentioned earlier, the PETSc integrator is used for simulating the time trajectory. After starting the clock and instantiating the time variables, PETSc performs and element-wise discretization to define and solve the dynamic system of equations. See https://idaes-pse.readthedocs.io/en/stable/reference_guides/core/solvers.html#petsc-utilities for more details.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "petscsolvelog = idaeslog.getSolveLogger(\"petsc-dae\")\n", - "petscsolvelog.setLevel(logging.WARNING) # comment this line to see PETSc solver output\n", - "\n", - "# Run start time\n", - "t_start_ads = time.time()\n", - "\n", - "# Setup PETSc integrator and simulate adsorption flowsheet\n", - "m.fs_ads.time_var = Var(m.fs_ads.time)\n", - "m.fs_ads.time_var[0].fix(m.fs_ads.time.first())\n", - "\n", - "result_ads = petsc.petsc_dae_by_time_element(\n", - " m.fs_ads,\n", - " time=m.fs_ads.time,\n", - " timevar=m.fs_ads.time_var,\n", - " keepfiles=True,\n", - " symbolic_solver_labels=True,\n", - " skip_initial=False,\n", - " ts_options={\n", - " \"--ts_type\": \"beuler\", # backward euler integration\n", - " \"--ts_dt\": 200, # set initial step to 200\n", - " \"--ts_rtol\": 20,\n", - " \"--ts_monitor\": \"\",\n", - " \"--ts_save_trajectory\": 1,\n", - " \"--ksp_rtol\": 1e-10,\n", - " \"--snes_type\": \"newtontr\", # newton trust region non-linear solver\n", - " \"--ts_monitor\": \"\",\n", - " \"--ts_save_trajectory\": 1,\n", - " \"--ts_max_snes_failures\": 1000,\n", - " },\n", - ")\n", - "tj_ads = result_ads.trajectory # trajectory data\n", - "\n", - "# Run end time\n", - "t_end_ads = time.time()\n", - "\n", - "# Initialization time\n", - "adsorption_simulation_time = value(t_end_ads - t_start_ads)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plot the adsorption simulation results\n", - "After running the adsorption simulation, the dynamic profiles are plotted." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In the temporal plots below, quantities are reported as functions of time and contoured for six points along the length of the bed. The time and spatial dimensions are exchanged in the spatial plots, with quantities reported as functions of length and contoured for five time points.\n", - "\n", - "The gas flowrate is constant at the inlet and decreases over the length of the bed as CO2 is removed from the gas. At each spatial point, the CO2 content of the gas increases over time as the bed becomes more saturated with CO2 and the mass transfer driving force decreases. Assessing the two gas flowrate plots, adsorption occurs steadily over time with a much larger capture rate in the initial spatial region; this region grows from 10% to 25% of the bed length as the bed becomes more saturated with CO2 over time.\n", - "\n", - "The bed pressure stays relatively constant over time, and exhibits a linear drop over the length of the reactor. There are no temporal or spatial gradients in gas or solid temperature.\n", - "\n", - "The saturation trend is strongly apparent in the composition trends. The CO2 content of the gas quickly drops from the initial concentration over the length of the bed, and steadily rises over time as the driving force of mass transfer decreases. Water vapor concentration in the gas follows a similar trend.\n", - "\n", - "Following the solid-state reaction, the concentration of carbmate steadily increases over time with formation skewing heavily towards the initial spatial region of the bed. The spatial contours of the temporal carbamate composition plot cross as a result of the solid reaction rate heavily favoring the initial section of the bed and suddenly dropping about at about 20% of the reactor length. The mass fraction and mol/kg plots differ slightly due to water and CO2 absorbing at different rates, but otherwise demonstrate similar trends." - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "# Plot temporal result profiles\n", - "plot_results_temporal(m.fs_ads, tj_ads)" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [], - "source": [ - "# Plot spatial result profiles\n", - "plot_results_spatial(m.fs_ads, tj_ads)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Desorption simulation\n", - "The desorption simulation begins when the adsorption simulation ends. It uses the final state of the sorbent (besides temperature which is set at the desorption temperature) in the adsorption mode as the initial state of the sorbent in the desorption mode." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Setup simulation horizon and create time set\n", - "As in the adsorption simulation, we first specify the time discretization:" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "# Space and time discretization arguments\n", - "horizon = 7200 # s\n", - "\n", - "# Setup for PETSc run\n", - "t_element_size = horizon # s\n", - "ntfe = int(horizon / t_element_size)\n", - "time_set = list(np.linspace(0, horizon, ntfe + 1))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Initial and boundary conditions for gas phase\n", - "- The initial conditions of the solid phase will be copied from the final conditions of the model in the adsorption simulation." - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [], - "source": [ - "# Desorption operating conditions\n", - "desorption_temperature = 470 # K\n", - "\n", - "gas_phase_state_dict_des = {\n", - " \"flow_mol\": 10, # mol/s\n", - " \"temperature\": desorption_temperature, # K\n", - " \"pressure\": 1.06525e5, # Pa\n", - " \"mole_frac_comp\": {\"CO2\": 1e-8, \"H2O\": 1, \"N2\": 1e-8, \"O2\": 1e-8}, # [-]\n", - "}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Setup the desorption model\n", - "Then, we build the model and fix initial conditions:" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [], - "source": [ - "# Create the desorption flowsheet\n", - "m.fs_des = FlowsheetBlock(dynamic=True, time_set=time_set, time_units=pyunits.s)" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [], - "source": [ - "# Setup an instance of the 1D FixedBed model for the desorption simulation\n", - "m.fs_des = fb_model_setup(\n", - " m.fs_des,\n", - " ntfe,\n", - " nxfe,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Desorption model - initialize and solve\n", - "Finally for the desorption model, we initialize and solve." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "##### Copy values from adsorption model to desorption model\n", - "Copy state values of solid phase (besides temperature) from last time point in adsorption model to all time point in desorption model. Also set temperature state variable of desorption model to desorption temperature." - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [], - "source": [ - "blk_des = m.fs_des.FB\n", - "tf_ads = tj_ads.time[-1] # Get final time from adsorption trajectory results\n", - "tf_ads_index = tj_ads.time.index(tf_ads) # Get index at final time\n", - "component_list = blk_des.config.solid_phase_config.property_package.component_list\n", - "\n", - "for t in m.fs_des.time:\n", - " for x in blk_des.length_domain:\n", - " blk_des.solid_properties[t, x].temperature.set_value(desorption_temperature)\n", - " blk_des.solid_properties[t, x].dens_mass_particle.set_value(\n", - " tj_ads.get_vec(m.fs_ads.FB.solid_properties[tf_ads, x].dens_mass_particle)[\n", - " tf_ads_index\n", - " ]\n", - " )\n", - " for j in component_list:\n", - " blk_des.solid_properties[t, x].mass_frac_comp[j].set_value(\n", - " value(\n", - " tj_ads.get_vec(\n", - " m.fs_ads.FB.solid_properties[tf_ads, x].mass_frac_comp[j]\n", - " )[tf_ads_index]\n", - " )\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Fix initial and boundary conditions\n", - "We fix the conditions from the final adsorption model state as our new initial conditions for the desorption model:" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [], - "source": [ - "fb_fix_conditions(\n", - " m.fs_des,\n", - " bed_diameter,\n", - " bed_height,\n", - " gas_phase_state_dict_des,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Calculate scaling of desorption model\n", - "Then, we apply scaling to the model:" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [], - "source": [ - "iscale.calculate_scaling_factors(m.fs_des)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Initialize desorption model\n", - "The desorption model initialization is done with the block triangularization initialization method, as was done with the adsorption model." - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [], - "source": [ - "# Run start time\n", - "t_start_des = time.time()\n", - "\n", - "# Initialize model\n", - "m.fs_des.FB.block_triangularization_initialize(\n", - " gas_phase_state_args=gas_phase_state_dict_des,\n", - " outlvl=idaeslog.DEBUG,\n", - " solver=solver,\n", - " calc_var_kwds=calc_var_kwds,\n", - ")\n", - "\n", - "# Run end time\n", - "t_end_des = time.time()\n", - "\n", - "# Initialization time\n", - "desorption_initialization_time = value(t_end_des - t_start_des)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Setup PETSc integrator and simulate desorption step\n", - "Now that the model is fully defined, we can call the PETSc integrator to simulate the dynamics of the problem:" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [], - "source": [ - "# Run start time\n", - "t_start_des = time.time()\n", - "\n", - "# Setup PETSc integrator and simulate desorption flowsheet\n", - "m.fs_des.time_var = Var(m.fs_des.time)\n", - "m.fs_des.time_var[0].fix(m.fs_des.time.first())\n", - "\n", - "result_des = petsc.petsc_dae_by_time_element(\n", - " m.fs_des,\n", - " time=m.fs_des.time,\n", - " timevar=m.fs_des.time_var,\n", - " keepfiles=True,\n", - " symbolic_solver_labels=True,\n", - " skip_initial=False,\n", - " ts_options={\n", - " \"--ts_type\": \"beuler\", # backward euler integration\n", - " \"--ts_dt\": 200, # set initial step to 200\n", - " \"--ts_rtol\": 20,\n", - " \"--ts_monitor\": \"\",\n", - " \"--ts_save_trajectory\": 1,\n", - " \"--ksp_rtol\": 1e-10,\n", - " \"--snes_type\": \"newtontr\", # newton trust region non-linear solver\n", - " \"--ts_monitor\": \"\",\n", - " \"--ts_save_trajectory\": 1,\n", - " \"--ts_max_snes_failures\": 1000,\n", - " },\n", - ")\n", - "tj_des = result_des.trajectory # trajectory data\n", - "\n", - "# Run end time\n", - "t_end_des = time.time()\n", - "\n", - "# Initialization time\n", - "desorption_simulation_time = value(t_end_des - t_start_des)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plot the desorption simulation results\n", - "Similar to the results of the adsorption model, the plots below are presented as temporal plots with spatial contours and spatial plots with time contours to fully capture the model trends.\n", - "\n", - "The gas flowrate spikes initially as large quantities of CO2 are recovered, and then the flowrate drops rapidly as the CO2 is carried away. An interesting note is that this occurs over the same time period everywhere across the length of the bed, peaking around 1000 seconds into the simulation. In the spatial plot, the peak is missed between the first and second contours; instead, the spatial plots captures a similar shifting inflection point around 10-25% of the way into the bed as the mass transfer driving force suddenly decreases.\n", - "\n", - "The bed pressure drops suddenly as CO2 is initially desorbed from the bed, and a steady state is reached at larger time points. As in the adsorption case, the desorption results show no temporal or spatial gradients in gas or solid temperature.\n", - "\n", - "The CO2 content of the gas sharply rises initially, and steadily decreases as CO2 is carried away in the sweep gas. A greater amount of CO2 is recovered closer to the reactor inlet. As the sweep gas is nearly pure water vapor, the water concentration in the gas sharply drops as CO2 is desorbed from the bed and recovers to near unity towards the temporal end of the simulation.\n", - "\n", - "Carbamate disappears quickly as CO2 is recovered and the hydrate is broken down, occurring evenly across the length of the reactor bed." - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [], - "source": [ - "# Plot temporal result profiles\n", - "plot_results_temporal(m.fs_des, tj_des)" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [], - "source": [ - "# Plot spatial result profiles\n", - "plot_results_spatial(m.fs_ads, tj_ads)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Step 3: Generate performance results" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [], - "source": [ - "###########################################################################\n", - "# Heat requirements\n", - "###########################################################################\n", - "heat_computation(m, tj_ads, tj_des, adsorption_temperature, desorption_temperature)" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [], - "source": [ - "###########################################################################\n", - "# Performance results\n", - "###########################################################################\n", - "performance_results(m, tj_ads, tj_des)\n", - "\n", - "results_summary(m, adsorption_temperature, desorption_temperature)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Simulation time results" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [], - "source": [ - "print(\"Adsorption initialization time: \", adsorption_initialization_time, \" s\")\n", - "print(\"Adsorption simulation time: \", adsorption_simulation_time, \" s\")\n", - "print()\n", - "print(\"Desorption initialization time: \", desorption_initialization_time, \" s\")\n", - "print(\"Desorption simulation time: \", desorption_simulation_time, \" s\")\n", - "print()\n", - "total_simulation_time = (\n", - " adsorption_initialization_time\n", - " + adsorption_simulation_time\n", - " + desorption_initialization_time\n", - " + desorption_simulation_time\n", - ")\n", - "print(\"Total simulation time: \", total_simulation_time, \" s\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Summary\n", - "This example demonstrates implementation of the 1D FixedBed model within IDAES. External property packages for multiple phase domains and interfaces, as well as mass transfer and reaction properties, were integrated into two simulations. The simulations are connected via their final (adsorption) and initial (desorption) states, and each utilizes the PETSc integrator to calculate temporal profiles over the spatial domains." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.12" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CO2 Adsorption Desorption simulation example with a 1D Fixed Bed model\n", + "Author: Chinedu Okoli, Anca Ostace, Brandon Paul \n", + "Maintainer: Brandon Paul \n", + "Updated: 2023-06-01 \n", + "\n", + "\n", + "This jupyter notebook shows an example of a CO2 Adsorption Desorption cycle with the IDAES 1D FixedBed model. The IDAES 1D FixedBed model is a dynamic and axially varying reactor/adsorption model which is able to model the gas and solid interactions of the modeled species in detail. The sorbent used for this example is the NETL_32D sorbent with its details and parameters obtained from the following references: \n", + "- A. Lee, D.C. Miller, A One-Dimensional (1-D) Three-Region Model for a Bubbling Fluidized-Bed Adsorber, Ind. Eng. Chem. Res. 52 (2013) 469–484\n", + "- Lee, A.; Mebane, D.; Fauth, D. J.; Miller, D. C. A Model for the Adsorption Kinetics of CO2 on Amine-Impregnated Mesoporous Sorbents in the Presence of Water. Presented at the 28th International Pittsburgh Coal Conference, Pittsburgh, PA, 2011.\n", + "\n", + "The notebook demonstrates how to use the IDAES 1DFixedBed model for an adsorption/desorption application with distinct adsorption and desorption steps. This example leverages custom libraries and functions specific to the NETL_32D solid sorbent and associated gas phase properties and surface reactions. In this system, the silicon monoxide (SiO(s)) sorbent reduces carbon dioxide (CO2(g)) to carbamate (denoted Car(s)) while simultaneously absorbing water vapor (H2O(g)) to produce a solid solution-state hydrate (H2O(s)). The solid phase is considered a one-dimensional domain with three regions for bubble, cloud wake and emulsion properties for bubbling bed systems; in the case of a fixed bed reactor non-bulk gas behavior is neglected and assumed to be homogeneous everywhere not near the solid surface.\n", + "\n", + "The notebook also shows how to simulate the adsorption and desorption steps using the PETSc integrator. PETSc leverages nonlinear equation and differential algebraic equation solvers to solve time-trajectory problems. These solvers are applicable for systems with zero degrees of freedom, such as a fully-specified bed reactor model. See https://idaes-pse.readthedocs.io/en/stable/reference_guides/core/solvers.html#petsc-utilities for more details." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Cycle details\n", + "The system contains the following equipment and stream properties:\n", + "- Bed height: 9 m\n", + "- Bed diameter: 1 m\n", + "- Adsorption time: 30 hrs\n", + "- Desorption time: 2 hrs\n", + "- Adsorption temperature: 303.15 K\n", + "- Desorption temperature: 470 K\n", + "- Flue gas inlet conditions (Temperature and mole fractions obtained from NETL baseline report. Exhibit 5-22 B31B case)\n", + " - Temperature: 315 K\n", + " - Pressure: 106.5 kPa\n", + " - Flowrate: 3.544 mol/s\n", + " - Mole fractions: CO2: 0.0408, H2O: 0.0875, N2: 0.7517, O2: 0.12" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Notes\n", + "Some additional information regarding the problem:\n", + "- Isothermal conditions: heat duty requirements of each step are calculated from gas and sorbent properties, i.e., loading, density, heat of adsorption, and heat capacity\n", + "- Heating and cooling modes not modeled in detail: cycle times are assumed negligible in comparison to adsorption and desorption\n", + "- Adsorption and desorption steps are modeled in different flowsheets\n", + "- Initial condition (except temperature) of sorbent in desorption step is set to final condition of sorbent in adsorption step" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Step 1: Import relevant libraries and packages" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Import python libraries\n", + "\n", + "- numpy (numerical python library which provides numerical computing tools)\n", + "- time (time python library which will be used to track the simulation time)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import time" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "### Import Pyomo packages\n", + "For the flowsheet, we will need several components from the pyomo libraries.\n", + "\n", + "- ConcreteModel (to create the Pyomo model that will contain the IDAES flowsheet)\n", + "- TransformationFactory (to apply certain transformations)\n", + "- SolverFactory (to solve the problem)\n", + "- Var (to create a Pyomo variable)\n", + "- value (to return the numerical value of Pyomo objects such as variables, constraints or expressions)\n", + "- units (to handle units in Pyomo and IDAES)\n", + "\n", + "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/latest/" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import (\n", + " ConcreteModel,\n", + " TransformationFactory,\n", + " SolverFactory,\n", + " Var,\n", + " value,\n", + " units as pyunits,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Import IDAES core components\n", + "\n", + "To build, initialize, and solve IDAES flowsheets we will need several core components/utilities:\n", + "\n", + "- FlowsheetBlock (the flowsheet block contains idaes properties, time, and unit models)\n", + "- EnergyBalanceType (to specify the energy balance type)\n", + "- petsc (PETSc integrator)\n", + "- get_solver (IDAES solver utility)\n", + "- iscale (is used to apply scaling factors in variables and constraints)\n", + "- propagate_state (is used to initialize models, propagating the state variables from one unit model to another)\n", + "- degrees_of_freedom (useful for debugging, this method returns the DOF of the model)\n", + "- idaeslog (is used to set output messages like warnings or errors)\n", + "\n", + "For further details on these components, please refer to the IDAES documentation: https://idaes-pse.readthedocs.io/en/latest/" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core import FlowsheetBlock, EnergyBalanceType\n", + "import idaes.core.solvers.petsc as petsc # PETSc utilities module\n", + "from idaes.core.util import scaling as iscale\n", + "from idaes.core.solvers import get_solver\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "import idaes.logger as idaeslog\n", + "import logging" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Import IDAES unit models and NETL 32D property packages\n", + "\n", + "To build the IDAES flowsheet for the CO2 Adsorption Desorption example, we will need the following: \n", + "1) the 1D Fixed Bed unit model \n", + "2) the NETL 32D property package" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.models_extra.gas_solid_contactors.unit_models.fixed_bed_1D import FixedBed1D\n", + "from idaes_examples.mod.co2_adsorption_desorption.NETL_32D_gas_phase_thermo import (\n", + " GasPhaseParameterBlock,\n", + ")\n", + "from idaes_examples.mod.co2_adsorption_desorption.NETL_32D_solid_phase_thermo import (\n", + " SolidPhaseParameterBlock,\n", + ")\n", + "from idaes_examples.mod.co2_adsorption_desorption.NETL_32D_adsorption_reactions import (\n", + " HeteroReactionParameterBlock,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Import custom libraries and functions\n", + "To simplify and automate this example at the flowsheet level, several custom methods were defined in an external script. The methods are custom, and as such are imported separately from the set of IDAES and Pyomo methods above. These utility functions perform a variety of numerical and reporting tasks:\n", + "\n", + "- heat_computation (used to calculate the heat requirements of the CO2 Adsorption Desorption cycle)\n", + "- performance_results (used to evaluate the performance of the CO2 Adsorption Desorption cycle)\n", + "- results_summary (provides summarized results of the CO2 Adsorption Desorption cycle)\n", + "- plot_results_temporal (plots the temporal profiles of the flowsheet simulation)\n", + "- plot_results_spatial (plots the spatial profiles of the flowsheet simulation)\n", + "- fb_model_setup (function that builds the 1D FixedBed model)\n", + "- fb_fixed_conditions (function that fixes the initial and boundary conditions of the 1D FixedBed model)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes_examples.mod.co2_adsorption_desorption.simulation_utilities import (\n", + " heat_computation,\n", + " performance_results,\n", + " results_summary,\n", + " plot_results_temporal,\n", + " plot_results_spatial,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Create a Function to Build the Flowsheet\n", + "\n", + "The function \"fb_model_setup\" below builds instances of the 1D FixedBed model for the adsorption and desorption simulations. While the effort required to define the reactor is low in terms of lines of code, we will need to do this for both the adsorption and desorption steps. Therefore, defining this setup as a single function will make later steps easier to follow. As arguments it takes the following:\n", + "1) The flowsheet block of the simulation, i.e., the adsorption flowsheet \n", + "2) The number of time finite elements \n", + "3) The number of spatial finite elements \n", + "\n", + "It returns a flowsheet object which contains an instance of the 1D FixedBed model" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "def fb_model_setup(\n", + " fs,\n", + " ntfe, # number of time finite elements\n", + " nxfe, # number of space finite elements\n", + "):\n", + "\n", + " # Set up thermo props and reaction props\n", + " fs.gas_properties = GasPhaseParameterBlock()\n", + " fs.solid_properties = SolidPhaseParameterBlock()\n", + "\n", + " fs.hetero_reactions = HeteroReactionParameterBlock(\n", + " solid_property_package=fs.solid_properties,\n", + " gas_property_package=fs.gas_properties,\n", + " )\n", + "\n", + " fs.FB = FixedBed1D(\n", + " finite_elements=nxfe,\n", + " transformation_method=\"dae.finite_difference\",\n", + " energy_balance_type=EnergyBalanceType.none,\n", + " pressure_drop_type=\"ergun_correlation\",\n", + " gas_phase_config={\"property_package\": fs.gas_properties},\n", + " solid_phase_config={\n", + " \"property_package\": fs.solid_properties,\n", + " \"reaction_package\": fs.hetero_reactions,\n", + " },\n", + " )\n", + "\n", + " # Discretize time domain\n", + " fs.discretizer = TransformationFactory(\"dae.finite_difference\")\n", + " fs.discretizer.apply_to(fs, nfe=ntfe, wrt=fs.time, scheme=\"BACKWARD\")\n", + "\n", + " return fs" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Create a Function to Fix the Flowsheet Conditions\n", + "\n", + "The function \"fb_fix_conditions\" fixes the initial and boundary conditions of an instance of the 1D FixedBed model. It also has checks to ensure that the degrees of freedom are zero, and that the velocity into the bed is less than the minimum fluidization velocity of the bed. Similarly to the function above, we will need to run this for the adsorption and desorption steps, and it is clearer to define the code once as a single function here. As arguments it takes the following:\n", + "1) The flowsheet block of the simulation, i.e., the adsorption flowsheet \n", + "2) The reactor bed diameter \n", + "3) The reactor bed height \n", + "4) A dictionary of gas phase state data for which the gas phase state variables of the model should be fixed to \n", + "5) A dictionary of solid phase state data for which the solid phase state variables of the model should be fixed to. If None, the solid phase state variables are fixed to their current values. \n", + "\n", + "No object is returned by this function." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "def fb_fix_conditions(\n", + " fs, bed_diameter, bed_height, gas_phase_state_dict, solid_phase_state_dict=None\n", + "):\n", + " # Fix bed geometry variables\n", + " fs.FB.bed_diameter.fix(bed_diameter) # m\n", + " fs.FB.bed_height.fix(bed_height) # m\n", + "\n", + " # Fix boundary values for gas for all time\n", + " blk = fs.FB\n", + " for t in fs.time:\n", + " # Gas values\n", + " blk.gas_inlet.flow_mol[t].fix(gas_phase_state_dict[\"flow_mol\"])\n", + " blk.gas_inlet.temperature[t].fix(gas_phase_state_dict[\"temperature\"])\n", + " blk.gas_inlet.pressure[t].fix(gas_phase_state_dict[\"pressure\"])\n", + " for j, val in gas_phase_state_dict[\"mole_frac_comp\"].items():\n", + " blk.gas_inlet.mole_frac_comp[t, j].fix(val)\n", + "\n", + " # Specify gas phase and solid phase initial conditions for all space\n", + " t0 = fs.time.first()\n", + " for x in blk.length_domain:\n", + " blk.gas_phase.properties[t0, x].flow_mol.fix(gas_phase_state_dict[\"flow_mol\"])\n", + " blk.gas_phase.properties[t0, x].temperature.fix(\n", + " gas_phase_state_dict[\"temperature\"]\n", + " ) # K\n", + " for j, val in gas_phase_state_dict[\"mole_frac_comp\"].items():\n", + " blk.gas_phase.properties[t0, x].mole_frac_comp[j].fix(val)\n", + "\n", + " if solid_phase_state_dict is None:\n", + " # Fix to existing values if dict is empty\n", + " blk.solid_properties[t0, x].dens_mass_particle.fix()\n", + " blk.solid_properties[t0, x].temperature.fix()\n", + " blk.solid_properties[t0, x].mass_frac_comp[:].fix()\n", + " else:\n", + " blk.solid_properties[t0, x].dens_mass_particle.fix(\n", + " solid_phase_state_dict[\"dens_mass_particle\"]\n", + " )\n", + " blk.solid_properties[t0, x].temperature.fix(\n", + " solid_phase_state_dict[\"temperature\"]\n", + " )\n", + " for j, val in solid_phase_state_dict[\"mass_frac_comp\"].items():\n", + " blk.solid_properties[t0, x].mass_frac_comp[j].fix(val)\n", + "\n", + " dof = degrees_of_freedom(fs)\n", + "\n", + " print(\"degrees of freedom = \", dof)\n", + " try:\n", + " assert degrees_of_freedom(fs) == 0\n", + " except AssertionError:\n", + " print(\"Degrees of freedom is not equal to zero. This is unexpected.\")\n", + " raise\n", + "\n", + " # Assert that inlet gas velocity is less than v_mf\n", + " # Use solid temperature as the thermal mass of solid >> than that of gas\n", + " pi = 3.14 # [-]\n", + " R = 8.314 # Gas constant [J/mol/K]\n", + "\n", + " @blk.Expression(doc=\"gas inlet velocity, m/s\")\n", + " def gas_inlet_velocity(blk):\n", + " v_gas_inlet = (\n", + " blk.gas_inlet.flow_mol[0] / (pi * value(blk.bed_diameter**2) / 4)\n", + " ) * (R * blk.solid_properties[0, 0].temperature / blk.gas_inlet.pressure[0])\n", + " return v_gas_inlet\n", + "\n", + " v_mf = value( # minimum fluidization velocity [m/s]\n", + " blk.solid_properties[t0, 0]._params.velocity_mf\n", + " )\n", + " print(\"inlet gas velocity = \", value(blk.gas_inlet_velocity), \" m/s\")\n", + " print(\"min. fluid velocity = \", v_mf, \" m/s\")\n", + " try:\n", + " assert value(blk.gas_inlet_velocity) <= v_mf\n", + " except AssertionError:\n", + " print(\n", + " \"The inlet gas velocity is greater than the minimum fluidization velocity. \"\n", + " \"This is unexpected for a Fixed Bed.\"\n", + " )\n", + " raise" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Step 2: Setup and run simulation\n", + "Now that the system properties and all required utility functions are defined, we will build the model itself." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Create concrete model\n", + "First, create the model object:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "m = ConcreteModel()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Setup solver for initialization\n", + "We limit the maximum number of iterations and apply appropriate scaling for the linear solver for initialization:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "# Solver arguments\n", + "optarg = {\n", + " \"max_iter\": 100,\n", + " \"nlp_scaling_method\": \"user-scaling\",\n", + " \"linear_solver\": \"ma27\",\n", + "}\n", + "\n", + "# Create a solver\n", + "solver = get_solver(\"ipopt\")\n", + "solver.options = optarg" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Set spatial elements and design variables for adsorption and desorption simulations\n", + "Let's define the size of the system:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "# Number of spatial elements\n", + "nxfe = 50\n", + "\n", + "# Design variables for static and dynamic models\n", + "bed_diameter = 9 # m\n", + "bed_height = 1 # m" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adsorption simulation\n", + "First, we will run the adsorption step by defining the simulation domain, add initial conditions, and set up and solve the model." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Setup simulation horizon and create time set\n", + "We specify the time discretization to an exact set of temporal points according to the problem horizon:" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "# Time horizon\n", + "horizon = 108000 # s\n", + "\n", + "# Create time_set list\n", + "t_element_size = horizon / 4 # s\n", + "ntfe = int(horizon / t_element_size)\n", + "time_set = list(np.linspace(0, horizon, ntfe + 1))" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "tags": [ + "testing" + ] + }, + "outputs": [], + "source": [ + "# Reduce time horizon to speed up testing\n", + "horizon /= 10" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Initial conditions for gas and solid phases\n", + "Next, we set reasoanble initial conditions for the gas and solid phases at time = 0, with a constant adsorption temperature:" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "# Flue gas inlet conditions to adsorption system (flue gas stream) -\n", + "# Temperature and mole fractions obtained from NETL baseline report.\n", + "# Exhibit 5-22 B31B case.\n", + "adsorption_temperature = 303.15 # K\n", + "\n", + "# Dictionary of initial and boundary conditions for gas phase\n", + "gas_phase_state_dict_ads = {\n", + " \"flow_mol\": 3.544, # mol/s\n", + " \"temperature\": adsorption_temperature, # K\n", + " \"pressure\": 1.2452e5, # Pa\n", + " \"mole_frac_comp\": { # [-]\n", + " \"CO2\": 0.0408,\n", + " \"H2O\": 0.0875,\n", + " \"N2\": 0.7517,\n", + " \"O2\": 0.12,\n", + " },\n", + "}\n", + "\n", + "# Dictionary of initial conditions for solid phase\n", + "solid_phase_state_dict_ads = {\n", + " \"dens_mass_particle\": 442, # kg/m3\n", + " \"temperature\": adsorption_temperature, # K\n", + " \"mass_frac_comp\": { # [-]\n", + " \"H2O_s\": 1e-8,\n", + " \"Car\": 1e-8,\n", + " \"SiO\": 1,\n", + " },\n", + "}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Setup the adsorption model\n", + "Then, we call our previously defined methods to build the model and fix initial conditions:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "# Create the adsorption flowsheet\n", + "m.fs_ads = FlowsheetBlock(dynamic=True, time_set=time_set, time_units=pyunits.s)\n", + "\n", + "# Setup an instance of the 1D FixedBed model for the adsorption simulation\n", + "m.fs_ads = fb_model_setup(m.fs_ads, ntfe, nxfe)\n", + "\n", + "# Fix initial and boundary conditions\n", + "fb_fix_conditions(\n", + " m.fs_ads,\n", + " bed_diameter,\n", + " bed_height,\n", + " gas_phase_state_dict_ads,\n", + " solid_phase_state_dict_ads,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Adsorption model - initialize and solve\n", + "Finally for the adsorption model, we initialize and solve." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Apply scaling transformation\n", + "We first scale the model variables and equations to reduce ill-conditioning and improve its convergence properties:" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "iscale.calculate_scaling_factors(m.fs_ads)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Initialize model\n", + "The model initialization is done with the block triangularization initialization method in the 1D FixedBed model as this is faster than using the traditional sequential heirarchichal initialization approach. See the 1D FixedBed model and documentation for more details on this method." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "# Run start time\n", + "t_start_ads = time.time()\n", + "\n", + "# Initialize model\n", + "calc_var_kwds = {\"eps\": 1e-5}\n", + "m.fs_ads.FB.block_triangularization_initialize(\n", + " gas_phase_state_args=gas_phase_state_dict_ads,\n", + " solid_phase_state_args=solid_phase_state_dict_ads,\n", + " outlvl=idaeslog.DEBUG,\n", + " solver=solver,\n", + " calc_var_kwds=calc_var_kwds,\n", + ")\n", + "\n", + "# Run end time\n", + "t_end_ads = time.time()\n", + "\n", + "# Initialization time\n", + "adsorption_initialization_time = value(t_end_ads - t_start_ads)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### PETSc integrator\n", + "As mentioned earlier, the PETSc integrator is used for simulating the time trajectory. After starting the clock and instantiating the time variables, PETSc performs and element-wise discretization to define and solve the dynamic system of equations. See https://idaes-pse.readthedocs.io/en/stable/reference_guides/core/solvers.html#petsc-utilities for more details.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "petscsolvelog = idaeslog.getSolveLogger(\"petsc-dae\")\n", + "petscsolvelog.setLevel(logging.WARNING) # comment this line to see PETSc solver output\n", + "\n", + "# Run start time\n", + "t_start_ads = time.time()\n", + "\n", + "# Setup PETSc integrator and simulate adsorption flowsheet\n", + "m.fs_ads.time_var = Var(m.fs_ads.time)\n", + "m.fs_ads.time_var[0].fix(m.fs_ads.time.first())\n", + "\n", + "result_ads = petsc.petsc_dae_by_time_element(\n", + " m.fs_ads,\n", + " time=m.fs_ads.time,\n", + " timevar=m.fs_ads.time_var,\n", + " keepfiles=True,\n", + " symbolic_solver_labels=True,\n", + " skip_initial=False,\n", + " ts_options={\n", + " \"--ts_type\": \"beuler\", # backward euler integration\n", + " \"--ts_dt\": 200, # set initial step to 200\n", + " \"--ts_rtol\": 20,\n", + " \"--ts_monitor\": \"\",\n", + " \"--ts_save_trajectory\": 1,\n", + " \"--ksp_rtol\": 1e-10,\n", + " \"--snes_type\": \"newtontr\", # newton trust region non-linear solver\n", + " \"--ts_monitor\": \"\",\n", + " \"--ts_save_trajectory\": 1,\n", + " \"--ts_max_snes_failures\": 1000,\n", + " },\n", + ")\n", + "tj_ads = result_ads.trajectory # trajectory data\n", + "\n", + "# Run end time\n", + "t_end_ads = time.time()\n", + "\n", + "# Initialization time\n", + "adsorption_simulation_time = value(t_end_ads - t_start_ads)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Plot the adsorption simulation results\n", + "After running the adsorption simulation, the dynamic profiles are plotted." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the temporal plots below, quantities are reported as functions of time and contoured for six points along the length of the bed. The time and spatial dimensions are exchanged in the spatial plots, with quantities reported as functions of length and contoured for five time points.\n", + "\n", + "The gas flowrate is constant at the inlet and decreases over the length of the bed as CO2 is removed from the gas. At each spatial point, the CO2 content of the gas increases over time as the bed becomes more saturated with CO2 and the mass transfer driving force decreases. Assessing the two gas flowrate plots, adsorption occurs steadily over time with a much larger capture rate in the initial spatial region; this region grows from 10% to 25% of the bed length as the bed becomes more saturated with CO2 over time.\n", + "\n", + "The bed pressure stays relatively constant over time, and exhibits a linear drop over the length of the reactor. There are no temporal or spatial gradients in gas or solid temperature.\n", + "\n", + "The saturation trend is strongly apparent in the composition trends. The CO2 content of the gas quickly drops from the initial concentration over the length of the bed, and steadily rises over time as the driving force of mass transfer decreases. Water vapor concentration in the gas follows a similar trend.\n", + "\n", + "Following the solid-state reaction, the concentration of carbmate steadily increases over time with formation skewing heavily towards the initial spatial region of the bed. The spatial contours of the temporal carbamate composition plot cross as a result of the solid reaction rate heavily favoring the initial section of the bed and suddenly dropping about at about 20% of the reactor length. The mass fraction and mol/kg plots differ slightly due to water and CO2 absorbing at different rates, but otherwise demonstrate similar trends." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "# Plot temporal result profiles\n", + "plot_results_temporal(m.fs_ads, tj_ads)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "# Plot spatial result profiles\n", + "plot_results_spatial(m.fs_ads, tj_ads)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Desorption simulation\n", + "The desorption simulation begins when the adsorption simulation ends. It uses the final state of the sorbent (besides temperature which is set at the desorption temperature) in the adsorption mode as the initial state of the sorbent in the desorption mode." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Setup simulation horizon and create time set\n", + "As in the adsorption simulation, we first specify the time discretization:" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "# Space and time discretization arguments\n", + "horizon = 7200 # s\n", + "\n", + "# Setup for PETSc run\n", + "t_element_size = horizon # s\n", + "ntfe = int(horizon / t_element_size)\n", + "time_set = list(np.linspace(0, horizon, ntfe + 1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Initial and boundary conditions for gas phase\n", + "- The initial conditions of the solid phase will be copied from the final conditions of the model in the adsorption simulation." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "# Desorption operating conditions\n", + "desorption_temperature = 470 # K\n", + "\n", + "gas_phase_state_dict_des = {\n", + " \"flow_mol\": 10, # mol/s\n", + " \"temperature\": desorption_temperature, # K\n", + " \"pressure\": 1.06525e5, # Pa\n", + " \"mole_frac_comp\": {\"CO2\": 1e-8, \"H2O\": 1, \"N2\": 1e-8, \"O2\": 1e-8}, # [-]\n", + "}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Setup the desorption model\n", + "Then, we build the model and fix initial conditions:" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "# Create the desorption flowsheet\n", + "m.fs_des = FlowsheetBlock(dynamic=True, time_set=time_set, time_units=pyunits.s)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "# Setup an instance of the 1D FixedBed model for the desorption simulation\n", + "m.fs_des = fb_model_setup(\n", + " m.fs_des,\n", + " ntfe,\n", + " nxfe,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Desorption model - initialize and solve\n", + "Finally for the desorption model, we initialize and solve." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Copy values from adsorption model to desorption model\n", + "Copy state values of solid phase (besides temperature) from last time point in adsorption model to all time point in desorption model. Also set temperature state variable of desorption model to desorption temperature." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "blk_des = m.fs_des.FB\n", + "tf_ads = tj_ads.time[-1] # Get final time from adsorption trajectory results\n", + "tf_ads_index = tj_ads.time.index(tf_ads) # Get index at final time\n", + "component_list = blk_des.config.solid_phase_config.property_package.component_list\n", + "\n", + "for t in m.fs_des.time:\n", + " for x in blk_des.length_domain:\n", + " blk_des.solid_properties[t, x].temperature.set_value(desorption_temperature)\n", + " blk_des.solid_properties[t, x].dens_mass_particle.set_value(\n", + " tj_ads.get_vec(m.fs_ads.FB.solid_properties[tf_ads, x].dens_mass_particle)[\n", + " tf_ads_index\n", + " ]\n", + " )\n", + " for j in component_list:\n", + " blk_des.solid_properties[t, x].mass_frac_comp[j].set_value(\n", + " value(\n", + " tj_ads.get_vec(\n", + " m.fs_ads.FB.solid_properties[tf_ads, x].mass_frac_comp[j]\n", + " )[tf_ads_index]\n", + " )\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Fix initial and boundary conditions\n", + "We fix the conditions from the final adsorption model state as our new initial conditions for the desorption model:" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "fb_fix_conditions(\n", + " m.fs_des,\n", + " bed_diameter,\n", + " bed_height,\n", + " gas_phase_state_dict_des,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Calculate scaling of desorption model\n", + "Then, we apply scaling to the model:" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "iscale.calculate_scaling_factors(m.fs_des)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Initialize desorption model\n", + "The desorption model initialization is done with the block triangularization initialization method, as was done with the adsorption model." + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "# Run start time\n", + "t_start_des = time.time()\n", + "\n", + "# Initialize model\n", + "m.fs_des.FB.block_triangularization_initialize(\n", + " gas_phase_state_args=gas_phase_state_dict_des,\n", + " outlvl=idaeslog.DEBUG,\n", + " solver=solver,\n", + " calc_var_kwds=calc_var_kwds,\n", + ")\n", + "\n", + "# Run end time\n", + "t_end_des = time.time()\n", + "\n", + "# Initialization time\n", + "desorption_initialization_time = value(t_end_des - t_start_des)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Setup PETSc integrator and simulate desorption step\n", + "Now that the model is fully defined, we can call the PETSc integrator to simulate the dynamics of the problem:" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "# Run start time\n", + "t_start_des = time.time()\n", + "\n", + "# Setup PETSc integrator and simulate desorption flowsheet\n", + "m.fs_des.time_var = Var(m.fs_des.time)\n", + "m.fs_des.time_var[0].fix(m.fs_des.time.first())\n", + "\n", + "result_des = petsc.petsc_dae_by_time_element(\n", + " m.fs_des,\n", + " time=m.fs_des.time,\n", + " timevar=m.fs_des.time_var,\n", + " keepfiles=True,\n", + " symbolic_solver_labels=True,\n", + " skip_initial=False,\n", + " ts_options={\n", + " \"--ts_type\": \"beuler\", # backward euler integration\n", + " \"--ts_dt\": 200, # set initial step to 200\n", + " \"--ts_rtol\": 20,\n", + " \"--ts_monitor\": \"\",\n", + " \"--ts_save_trajectory\": 1,\n", + " \"--ksp_rtol\": 1e-10,\n", + " \"--snes_type\": \"newtontr\", # newton trust region non-linear solver\n", + " \"--ts_monitor\": \"\",\n", + " \"--ts_save_trajectory\": 1,\n", + " \"--ts_max_snes_failures\": 1000,\n", + " },\n", + ")\n", + "tj_des = result_des.trajectory # trajectory data\n", + "\n", + "# Run end time\n", + "t_end_des = time.time()\n", + "\n", + "# Initialization time\n", + "desorption_simulation_time = value(t_end_des - t_start_des)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Plot the desorption simulation results\n", + "Similar to the results of the adsorption model, the plots below are presented as temporal plots with spatial contours and spatial plots with time contours to fully capture the model trends.\n", + "\n", + "The gas flowrate spikes initially as large quantities of CO2 are recovered, and then the flowrate drops rapidly as the CO2 is carried away. An interesting note is that this occurs over the same time period everywhere across the length of the bed, peaking around 1000 seconds into the simulation. In the spatial plot, the peak is missed between the first and second contours; instead, the spatial plots captures a similar shifting inflection point around 10-25% of the way into the bed as the mass transfer driving force suddenly decreases.\n", + "\n", + "The bed pressure drops suddenly as CO2 is initially desorbed from the bed, and a steady state is reached at larger time points. As in the adsorption case, the desorption results show no temporal or spatial gradients in gas or solid temperature.\n", + "\n", + "The CO2 content of the gas sharply rises initially, and steadily decreases as CO2 is carried away in the sweep gas. A greater amount of CO2 is recovered closer to the reactor inlet. As the sweep gas is nearly pure water vapor, the water concentration in the gas sharply drops as CO2 is desorbed from the bed and recovers to near unity towards the temporal end of the simulation.\n", + "\n", + "Carbamate disappears quickly as CO2 is recovered and the hydrate is broken down, occurring evenly across the length of the reactor bed." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "# Plot temporal result profiles\n", + "plot_results_temporal(m.fs_des, tj_des)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [], + "source": [ + "# Plot spatial result profiles\n", + "plot_results_spatial(m.fs_ads, tj_ads)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 3: Generate performance results" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [], + "source": [ + "###########################################################################\n", + "# Heat requirements\n", + "###########################################################################\n", + "heat_computation(m, tj_ads, tj_des, adsorption_temperature, desorption_temperature)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [], + "source": [ + "###########################################################################\n", + "# Performance results\n", + "###########################################################################\n", + "performance_results(m, tj_ads, tj_des)\n", + "\n", + "results_summary(m, adsorption_temperature, desorption_temperature)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Simulation time results" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Adsorption initialization time: \", adsorption_initialization_time, \" s\")\n", + "print(\"Adsorption simulation time: \", adsorption_simulation_time, \" s\")\n", + "print()\n", + "print(\"Desorption initialization time: \", desorption_initialization_time, \" s\")\n", + "print(\"Desorption simulation time: \", desorption_simulation_time, \" s\")\n", + "print()\n", + "total_simulation_time = (\n", + " adsorption_initialization_time\n", + " + adsorption_simulation_time\n", + " + desorption_initialization_time\n", + " + desorption_simulation_time\n", + ")\n", + "print(\"Total simulation time: \", total_simulation_time, \" s\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Summary\n", + "This example demonstrates implementation of the 1D FixedBed model within IDAES. External property packages for multiple phase domains and interfaces, as well as mass transfer and reaction properties, were integrated into two simulations. The simulations are connected via their final (adsorption) and initial (desorption) states, and each utilizes the PETSc integrator to calculate temporal profiles over the spatial domains." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.12" + } + }, + "nbformat": 4, + "nbformat_minor": 3 } diff --git a/idaes_examples/notebooks/held/flowsheets/CO2_adsorption_desorption/CO2_Adsorption_Desorption_1DFixedBed_usr.ipynb b/idaes_examples/notebooks/held/flowsheets/CO2_adsorption_desorption/CO2_Adsorption_Desorption_1DFixedBed_usr.ipynb index 8440fb43..d9db9cc5 100644 --- a/idaes_examples/notebooks/held/flowsheets/CO2_adsorption_desorption/CO2_Adsorption_Desorption_1DFixedBed_usr.ipynb +++ b/idaes_examples/notebooks/held/flowsheets/CO2_adsorption_desorption/CO2_Adsorption_Desorption_1DFixedBed_usr.ipynb @@ -1,1112 +1,1113 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "header", - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "###############################################################################\n", - "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", - "# Framework (IDAES IP) was produced under the DOE Institute for the\n", - "# Design of Advanced Energy Systems (IDAES).\n", - "#\n", - "# Copyright (c) 2018-2023 by the software owners: The Regents of the\n", - "# University of California, through Lawrence Berkeley National Laboratory,\n", - "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", - "# University, West Virginia University Research Corporation, et al.\n", - "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", - "# for full copyright and license information.\n", - "###############################################################################" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# CO2 Adsorption Desorption simulation example with a 1D Fixed Bed model\n", - "Author: Chinedu Okoli, Anca Ostace, Brandon Paul \n", - "Maintainer: Brandon Paul \n", - "Updated: 2023-06-01 \n", - "\n", - "\n", - "This jupyter notebook shows an example of a CO2 Adsorption Desorption cycle with the IDAES 1D FixedBed model. The IDAES 1D FixedBed model is a dynamic and axially varying reactor/adsorption model which is able to model the gas and solid interactions of the modeled species in detail. The sorbent used for this example is the NETL_32D sorbent with its details and parameters obtained from the following references: \n", - "- A. Lee, D.C. Miller, A One-Dimensional (1-D) Three-Region Model for a Bubbling Fluidized-Bed Adsorber, Ind. Eng. Chem. Res. 52 (2013) 469–484\n", - "- Lee, A.; Mebane, D.; Fauth, D. J.; Miller, D. C. A Model for the Adsorption Kinetics of CO2 on Amine-Impregnated Mesoporous Sorbents in the Presence of Water. Presented at the 28th International Pittsburgh Coal Conference, Pittsburgh, PA, 2011.\n", - "\n", - "The notebook demonstrates how to use the IDAES 1DFixedBed model for an adsorption/desorption application with distinct adsorption and desorption steps. This example leverages custom libraries and functions specific to the NETL_32D solid sorbent and associated gas phase properties and surface reactions. In this system, the silicon monoxide (SiO(s)) sorbent reduces carbon dioxide (CO2(g)) to carbamate (denoted Car(s)) while simultaneously absorbing water vapor (H2O(g)) to produce a solid solution-state hydrate (H2O(s)). The solid phase is considered a one-dimensional domain with three regions for bubble, cloud wake and emulsion properties for bubbling bed systems; in the case of a fixed bed reactor non-bulk gas behavior is neglected and assumed to be homogeneous everywhere not near the solid surface.\n", - "\n", - "The notebook also shows how to simulate the adsorption and desorption steps using the PETSc integrator. PETSc leverages nonlinear equation and differential algebraic equation solvers to solve time-trajectory problems. These solvers are applicable for systems with zero degrees of freedom, such as a fully-specified bed reactor model. See https://idaes-pse.readthedocs.io/en/stable/reference_guides/core/solvers.html#petsc-utilities for more details." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Cycle details\n", - "The system contains the following equipment and stream properties:\n", - "- Bed height: 9 m\n", - "- Bed diameter: 1 m\n", - "- Adsorption time: 30 hrs\n", - "- Desorption time: 2 hrs\n", - "- Adsorption temperature: 303.15 K\n", - "- Desorption temperature: 470 K\n", - "- Flue gas inlet conditions (Temperature and mole fractions obtained from NETL baseline report. Exhibit 5-22 B31B case)\n", - " - Temperature: 315 K\n", - " - Pressure: 106.5 kPa\n", - " - Flowrate: 3.544 mol/s\n", - " - Mole fractions: CO2: 0.0408, H2O: 0.0875, N2: 0.7517, O2: 0.12" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Notes\n", - "Some additional information regarding the problem:\n", - "- Isothermal conditions: heat duty requirements of each step are calculated from gas and sorbent properties, i.e., loading, density, heat of adsorption, and heat capacity\n", - "- Heating and cooling modes not modeled in detail: cycle times are assumed negligible in comparison to adsorption and desorption\n", - "- Adsorption and desorption steps are modeled in different flowsheets\n", - "- Initial condition (except temperature) of sorbent in desorption step is set to final condition of sorbent in adsorption step" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Step 1: Import relevant libraries and packages" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Import python libraries\n", - "\n", - "- numpy (numerical python library which provides numerical computing tools)\n", - "- time (time python library which will be used to track the simulation time)" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "import time" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "### Import Pyomo packages\n", - "For the flowsheet, we will need several components from the pyomo libraries.\n", - "\n", - "- ConcreteModel (to create the Pyomo model that will contain the IDAES flowsheet)\n", - "- TransformationFactory (to apply certain transformations)\n", - "- SolverFactory (to solve the problem)\n", - "- Var (to create a Pyomo variable)\n", - "- value (to return the numerical value of Pyomo objects such as variables, constraints or expressions)\n", - "- units (to handle units in Pyomo and IDAES)\n", - "\n", - "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/latest/" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from pyomo.environ import (\n", - " ConcreteModel,\n", - " TransformationFactory,\n", - " SolverFactory,\n", - " Var,\n", - " value,\n", - " units as pyunits,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Import IDAES core components\n", - "\n", - "To build, initialize, and solve IDAES flowsheets we will need several core components/utilities:\n", - "\n", - "- FlowsheetBlock (the flowsheet block contains idaes properties, time, and unit models)\n", - "- EnergyBalanceType (to specify the energy balance type)\n", - "- petsc (PETSc integrator)\n", - "- get_solver (IDAES solver utility)\n", - "- iscale (is used to apply scaling factors in variables and constraints)\n", - "- propagate_state (is used to initialize models, propagating the state variables from one unit model to another)\n", - "- degrees_of_freedom (useful for debugging, this method returns the DOF of the model)\n", - "- idaeslog (is used to set output messages like warnings or errors)\n", - "\n", - "For further details on these components, please refer to the IDAES documentation: https://idaes-pse.readthedocs.io/en/latest/" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.core import FlowsheetBlock, EnergyBalanceType\n", - "import idaes.core.solvers.petsc as petsc # PETSc utilities module\n", - "from idaes.core.util import scaling as iscale\n", - "from idaes.core.solvers import get_solver\n", - "from idaes.core.util.model_statistics import degrees_of_freedom\n", - "import idaes.logger as idaeslog\n", - "import logging" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Import IDAES unit models and NETL 32D property packages\n", - "\n", - "To build the IDAES flowsheet for the CO2 Adsorption Desorption example, we will need the following: \n", - "1) the 1D Fixed Bed unit model \n", - "2) the NETL 32D property package" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes.models_extra.gas_solid_contactors.unit_models.fixed_bed_1D import FixedBed1D\n", - "from idaes_examples.mod.co2_adsorption_desorption.NETL_32D_gas_phase_thermo import (\n", - " GasPhaseParameterBlock,\n", - ")\n", - "from idaes_examples.mod.co2_adsorption_desorption.NETL_32D_solid_phase_thermo import (\n", - " SolidPhaseParameterBlock,\n", - ")\n", - "from idaes_examples.mod.co2_adsorption_desorption.NETL_32D_adsorption_reactions import (\n", - " HeteroReactionParameterBlock,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Import custom libraries and functions\n", - "To simplify and automate this example at the flowsheet level, several custom methods were defined in an external script. The methods are custom, and as such are imported separately from the set of IDAES and Pyomo methods above. These utility functions perform a variety of numerical and reporting tasks:\n", - "\n", - "- heat_computation (used to calculate the heat requirements of the CO2 Adsorption Desorption cycle)\n", - "- performance_results (used to evaluate the performance of the CO2 Adsorption Desorption cycle)\n", - "- results_summary (provides summarized results of the CO2 Adsorption Desorption cycle)\n", - "- plot_results_temporal (plots the temporal profiles of the flowsheet simulation)\n", - "- plot_results_spatial (plots the spatial profiles of the flowsheet simulation)\n", - "- fb_model_setup (function that builds the 1D FixedBed model)\n", - "- fb_fixed_conditions (function that fixes the initial and boundary conditions of the 1D FixedBed model)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "from idaes_examples.mod.co2_adsorption_desorption.simulation_utilities import (\n", - " heat_computation,\n", - " performance_results,\n", - " results_summary,\n", - " plot_results_temporal,\n", - " plot_results_spatial,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Create a Function to Build the Flowsheet\n", - "\n", - "The function \"fb_model_setup\" below builds instances of the 1D FixedBed model for the adsorption and desorption simulations. While the effort required to define the reactor is low in terms of lines of code, we will need to do this for both the adsorption and desorption steps. Therefore, defining this setup as a single function will make later steps easier to follow. As arguments it takes the following:\n", - "1) The flowsheet block of the simulation, i.e., the adsorption flowsheet \n", - "2) The number of time finite elements \n", - "3) The number of spatial finite elements \n", - "\n", - "It returns a flowsheet object which contains an instance of the 1D FixedBed model" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "def fb_model_setup(\n", - " fs,\n", - " ntfe, # number of time finite elements\n", - " nxfe, # number of space finite elements\n", - "):\n", - "\n", - " # Set up thermo props and reaction props\n", - " fs.gas_properties = GasPhaseParameterBlock()\n", - " fs.solid_properties = SolidPhaseParameterBlock()\n", - "\n", - " fs.hetero_reactions = HeteroReactionParameterBlock(\n", - " solid_property_package=fs.solid_properties,\n", - " gas_property_package=fs.gas_properties,\n", - " )\n", - "\n", - " fs.FB = FixedBed1D(\n", - " finite_elements=nxfe,\n", - " transformation_method=\"dae.finite_difference\",\n", - " energy_balance_type=EnergyBalanceType.none,\n", - " pressure_drop_type=\"ergun_correlation\",\n", - " gas_phase_config={\"property_package\": fs.gas_properties},\n", - " solid_phase_config={\n", - " \"property_package\": fs.solid_properties,\n", - " \"reaction_package\": fs.hetero_reactions,\n", - " },\n", - " )\n", - "\n", - " # Discretize time domain\n", - " fs.discretizer = TransformationFactory(\"dae.finite_difference\")\n", - " fs.discretizer.apply_to(fs, nfe=ntfe, wrt=fs.time, scheme=\"BACKWARD\")\n", - "\n", - " return fs" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Create a Function to Fix the Flowsheet Conditions\n", - "\n", - "The function \"fb_fix_conditions\" fixes the initial and boundary conditions of an instance of the 1D FixedBed model. It also has checks to ensure that the degrees of freedom are zero, and that the velocity into the bed is less than the minimum fluidization velocity of the bed. Similarly to the function above, we will need to run this for the adsorption and desorption steps, and it is clearer to define the code once as a single function here. As arguments it takes the following:\n", - "1) The flowsheet block of the simulation, i.e., the adsorption flowsheet \n", - "2) The reactor bed diameter \n", - "3) The reactor bed height \n", - "4) A dictionary of gas phase state data for which the gas phase state variables of the model should be fixed to \n", - "5) A dictionary of solid phase state data for which the solid phase state variables of the model should be fixed to. If None, the solid phase state variables are fixed to their current values. \n", - "\n", - "No object is returned by this function." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "def fb_fix_conditions(\n", - " fs, bed_diameter, bed_height, gas_phase_state_dict, solid_phase_state_dict=None\n", - "):\n", - " # Fix bed geometry variables\n", - " fs.FB.bed_diameter.fix(bed_diameter) # m\n", - " fs.FB.bed_height.fix(bed_height) # m\n", - "\n", - " # Fix boundary values for gas for all time\n", - " blk = fs.FB\n", - " for t in fs.time:\n", - " # Gas values\n", - " blk.gas_inlet.flow_mol[t].fix(gas_phase_state_dict[\"flow_mol\"])\n", - " blk.gas_inlet.temperature[t].fix(gas_phase_state_dict[\"temperature\"])\n", - " blk.gas_inlet.pressure[t].fix(gas_phase_state_dict[\"pressure\"])\n", - " for j, val in gas_phase_state_dict[\"mole_frac_comp\"].items():\n", - " blk.gas_inlet.mole_frac_comp[t, j].fix(val)\n", - "\n", - " # Specify gas phase and solid phase initial conditions for all space\n", - " t0 = fs.time.first()\n", - " for x in blk.length_domain:\n", - " blk.gas_phase.properties[t0, x].flow_mol.fix(gas_phase_state_dict[\"flow_mol\"])\n", - " blk.gas_phase.properties[t0, x].temperature.fix(\n", - " gas_phase_state_dict[\"temperature\"]\n", - " ) # K\n", - " for j, val in gas_phase_state_dict[\"mole_frac_comp\"].items():\n", - " blk.gas_phase.properties[t0, x].mole_frac_comp[j].fix(val)\n", - "\n", - " if solid_phase_state_dict is None:\n", - " # Fix to existing values if dict is empty\n", - " blk.solid_properties[t0, x].dens_mass_particle.fix()\n", - " blk.solid_properties[t0, x].temperature.fix()\n", - " blk.solid_properties[t0, x].mass_frac_comp[:].fix()\n", - " else:\n", - " blk.solid_properties[t0, x].dens_mass_particle.fix(\n", - " solid_phase_state_dict[\"dens_mass_particle\"]\n", - " )\n", - " blk.solid_properties[t0, x].temperature.fix(\n", - " solid_phase_state_dict[\"temperature\"]\n", - " )\n", - " for j, val in solid_phase_state_dict[\"mass_frac_comp\"].items():\n", - " blk.solid_properties[t0, x].mass_frac_comp[j].fix(val)\n", - "\n", - " dof = degrees_of_freedom(fs)\n", - "\n", - " print(\"degrees of freedom = \", dof)\n", - " try:\n", - " assert degrees_of_freedom(fs) == 0\n", - " except AssertionError:\n", - " print(\"Degrees of freedom is not equal to zero. This is unexpected.\")\n", - " raise\n", - "\n", - " # Assert that inlet gas velocity is less than v_mf\n", - " # Use solid temperature as the thermal mass of solid >> than that of gas\n", - " pi = 3.14 # [-]\n", - " R = 8.314 # Gas constant [J/mol/K]\n", - "\n", - " @blk.Expression(doc=\"gas inlet velocity, m/s\")\n", - " def gas_inlet_velocity(blk):\n", - " v_gas_inlet = (\n", - " blk.gas_inlet.flow_mol[0] / (pi * value(blk.bed_diameter**2) / 4)\n", - " ) * (R * blk.solid_properties[0, 0].temperature / blk.gas_inlet.pressure[0])\n", - " return v_gas_inlet\n", - "\n", - " v_mf = value( # minimum fluidization velocity [m/s]\n", - " blk.solid_properties[t0, 0]._params.velocity_mf\n", - " )\n", - " print(\"inlet gas velocity = \", value(blk.gas_inlet_velocity), \" m/s\")\n", - " print(\"min. fluid velocity = \", v_mf, \" m/s\")\n", - " try:\n", - " assert value(blk.gas_inlet_velocity) <= v_mf\n", - " except AssertionError:\n", - " print(\n", - " \"The inlet gas velocity is greater than the minimum fluidization velocity. \"\n", - " \"This is unexpected for a Fixed Bed.\"\n", - " )\n", - " raise" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Step 2: Setup and run simulation\n", - "Now that the system properties and all required utility functions are defined, we will build the model itself." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Create concrete model\n", - "First, create the model object:" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "m = ConcreteModel()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Setup solver for initialization\n", - "We limit the maximum number of iterations and apply appropriate scaling for the linear solver for initialization:" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "# Solver arguments\n", - "optarg = {\n", - " \"max_iter\": 100,\n", - " \"nlp_scaling_method\": \"user-scaling\",\n", - " \"linear_solver\": \"ma27\",\n", - "}\n", - "\n", - "# Create a solver\n", - "solver = get_solver(\"ipopt\")\n", - "solver.options = optarg" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Set spatial elements and design variables for adsorption and desorption simulations\n", - "Let's define the size of the system:" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "# Number of spatial elements\n", - "nxfe = 50\n", - "\n", - "# Design variables for static and dynamic models\n", - "bed_diameter = 9 # m\n", - "bed_height = 1 # m" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Adsorption simulation\n", - "First, we will run the adsorption step by defining the simulation domain, add initial conditions, and set up and solve the model." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Setup simulation horizon and create time set\n", - "We specify the time discretization to an exact set of temporal points according to the problem horizon:" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "# Time horizon\n", - "horizon = 108000 # s\n", - "\n", - "# Create time_set list\n", - "t_element_size = horizon / 4 # s\n", - "ntfe = int(horizon / t_element_size)\n", - "time_set = list(np.linspace(0, horizon, ntfe + 1))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Initial conditions for gas and solid phases\n", - "Next, we set reasoanble initial conditions for the gas and solid phases at time = 0, with a constant adsorption temperature:" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "# Flue gas inlet conditions to adsorption system (flue gas stream) -\n", - "# Temperature and mole fractions obtained from NETL baseline report.\n", - "# Exhibit 5-22 B31B case.\n", - "adsorption_temperature = 303.15 # K\n", - "\n", - "# Dictionary of initial and boundary conditions for gas phase\n", - "gas_phase_state_dict_ads = {\n", - " \"flow_mol\": 3.544, # mol/s\n", - " \"temperature\": adsorption_temperature, # K\n", - " \"pressure\": 1.2452e5, # Pa\n", - " \"mole_frac_comp\": { # [-]\n", - " \"CO2\": 0.0408,\n", - " \"H2O\": 0.0875,\n", - " \"N2\": 0.7517,\n", - " \"O2\": 0.12,\n", - " },\n", - "}\n", - "\n", - "# Dictionary of initial conditions for solid phase\n", - "solid_phase_state_dict_ads = {\n", - " \"dens_mass_particle\": 442, # kg/m3\n", - " \"temperature\": adsorption_temperature, # K\n", - " \"mass_frac_comp\": { # [-]\n", - " \"H2O_s\": 1e-8,\n", - " \"Car\": 1e-8,\n", - " \"SiO\": 1,\n", - " },\n", - "}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Setup the adsorption model\n", - "Then, we call our previously defined methods to build the model and fix initial conditions:" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "# Create the adsorption flowsheet\n", - "m.fs_ads = FlowsheetBlock(dynamic=True, time_set=time_set, time_units=pyunits.s)\n", - "\n", - "# Setup an instance of the 1D FixedBed model for the adsorption simulation\n", - "m.fs_ads = fb_model_setup(m.fs_ads, ntfe, nxfe)\n", - "\n", - "# Fix initial and boundary conditions\n", - "fb_fix_conditions(\n", - " m.fs_ads,\n", - " bed_diameter,\n", - " bed_height,\n", - " gas_phase_state_dict_ads,\n", - " solid_phase_state_dict_ads,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Adsorption model - initialize and solve\n", - "Finally for the adsorption model, we initialize and solve." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Apply scaling transformation\n", - "We first scale the model variables and equations to reduce ill-conditioning and improve its convergence properties:" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "iscale.calculate_scaling_factors(m.fs_ads)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Initialize model\n", - "The model initialization is done with the block triangularization initialization method in the 1D FixedBed model as this is faster than using the traditional sequential heirarchichal initialization approach. See the 1D FixedBed model and documentation for more details on this method." - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "# Run start time\n", - "t_start_ads = time.time()\n", - "\n", - "# Initialize model\n", - "calc_var_kwds = {\"eps\": 1e-5}\n", - "m.fs_ads.FB.block_triangularization_initialize(\n", - " gas_phase_state_args=gas_phase_state_dict_ads,\n", - " solid_phase_state_args=solid_phase_state_dict_ads,\n", - " outlvl=idaeslog.DEBUG,\n", - " solver=solver,\n", - " calc_var_kwds=calc_var_kwds,\n", - ")\n", - "\n", - "# Run end time\n", - "t_end_ads = time.time()\n", - "\n", - "# Initialization time\n", - "adsorption_initialization_time = value(t_end_ads - t_start_ads)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### PETSc integrator\n", - "As mentioned earlier, the PETSc integrator is used for simulating the time trajectory. After starting the clock and instantiating the time variables, PETSc performs and element-wise discretization to define and solve the dynamic system of equations. See https://idaes-pse.readthedocs.io/en/stable/reference_guides/core/solvers.html#petsc-utilities for more details.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "petscsolvelog = idaeslog.getSolveLogger(\"petsc-dae\")\n", - "petscsolvelog.setLevel(logging.WARNING) # comment this line to see PETSc solver output\n", - "\n", - "# Run start time\n", - "t_start_ads = time.time()\n", - "\n", - "# Setup PETSc integrator and simulate adsorption flowsheet\n", - "m.fs_ads.time_var = Var(m.fs_ads.time)\n", - "m.fs_ads.time_var[0].fix(m.fs_ads.time.first())\n", - "\n", - "result_ads = petsc.petsc_dae_by_time_element(\n", - " m.fs_ads,\n", - " time=m.fs_ads.time,\n", - " timevar=m.fs_ads.time_var,\n", - " keepfiles=True,\n", - " symbolic_solver_labels=True,\n", - " skip_initial=False,\n", - " ts_options={\n", - " \"--ts_type\": \"beuler\", # backward euler integration\n", - " \"--ts_dt\": 200, # set initial step to 200\n", - " \"--ts_rtol\": 20,\n", - " \"--ts_monitor\": \"\",\n", - " \"--ts_save_trajectory\": 1,\n", - " \"--ksp_rtol\": 1e-10,\n", - " \"--snes_type\": \"newtontr\", # newton trust region non-linear solver\n", - " \"--ts_monitor\": \"\",\n", - " \"--ts_save_trajectory\": 1,\n", - " \"--ts_max_snes_failures\": 1000,\n", - " },\n", - ")\n", - "tj_ads = result_ads.trajectory # trajectory data\n", - "\n", - "# Run end time\n", - "t_end_ads = time.time()\n", - "\n", - "# Initialization time\n", - "adsorption_simulation_time = value(t_end_ads - t_start_ads)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plot the adsorption simulation results\n", - "After running the adsorption simulation, the dynamic profiles are plotted." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In the temporal plots below, quantities are reported as functions of time and contoured for six points along the length of the bed. The time and spatial dimensions are exchanged in the spatial plots, with quantities reported as functions of length and contoured for five time points.\n", - "\n", - "The gas flowrate is constant at the inlet and decreases over the length of the bed as CO2 is removed from the gas. At each spatial point, the CO2 content of the gas increases over time as the bed becomes more saturated with CO2 and the mass transfer driving force decreases. Assessing the two gas flowrate plots, adsorption occurs steadily over time with a much larger capture rate in the initial spatial region; this region grows from 10% to 25% of the bed length as the bed becomes more saturated with CO2 over time.\n", - "\n", - "The bed pressure stays relatively constant over time, and exhibits a linear drop over the length of the reactor. There are no temporal or spatial gradients in gas or solid temperature.\n", - "\n", - "The saturation trend is strongly apparent in the composition trends. The CO2 content of the gas quickly drops from the initial concentration over the length of the bed, and steadily rises over time as the driving force of mass transfer decreases. Water vapor concentration in the gas follows a similar trend.\n", - "\n", - "Following the solid-state reaction, the concentration of carbmate steadily increases over time with formation skewing heavily towards the initial spatial region of the bed. The spatial contours of the temporal carbamate composition plot cross as a result of the solid reaction rate heavily favoring the initial section of the bed and suddenly dropping about at about 20% of the reactor length. The mass fraction and mol/kg plots differ slightly due to water and CO2 absorbing at different rates, but otherwise demonstrate similar trends." - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "# Plot temporal result profiles\n", - "plot_results_temporal(m.fs_ads, tj_ads)" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [], - "source": [ - "# Plot spatial result profiles\n", - "plot_results_spatial(m.fs_ads, tj_ads)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Desorption simulation\n", - "The desorption simulation begins when the adsorption simulation ends. It uses the final state of the sorbent (besides temperature which is set at the desorption temperature) in the adsorption mode as the initial state of the sorbent in the desorption mode." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Setup simulation horizon and create time set\n", - "As in the adsorption simulation, we first specify the time discretization:" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "# Space and time discretization arguments\n", - "horizon = 7200 # s\n", - "\n", - "# Setup for PETSc run\n", - "t_element_size = horizon # s\n", - "ntfe = int(horizon / t_element_size)\n", - "time_set = list(np.linspace(0, horizon, ntfe + 1))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Initial and boundary conditions for gas phase\n", - "- The initial conditions of the solid phase will be copied from the final conditions of the model in the adsorption simulation." - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [], - "source": [ - "# Desorption operating conditions\n", - "desorption_temperature = 470 # K\n", - "\n", - "gas_phase_state_dict_des = {\n", - " \"flow_mol\": 10, # mol/s\n", - " \"temperature\": desorption_temperature, # K\n", - " \"pressure\": 1.06525e5, # Pa\n", - " \"mole_frac_comp\": {\"CO2\": 1e-8, \"H2O\": 1, \"N2\": 1e-8, \"O2\": 1e-8}, # [-]\n", - "}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Setup the desorption model\n", - "Then, we build the model and fix initial conditions:" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [], - "source": [ - "# Create the desorption flowsheet\n", - "m.fs_des = FlowsheetBlock(dynamic=True, time_set=time_set, time_units=pyunits.s)" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [], - "source": [ - "# Setup an instance of the 1D FixedBed model for the desorption simulation\n", - "m.fs_des = fb_model_setup(\n", - " m.fs_des,\n", - " ntfe,\n", - " nxfe,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Desorption model - initialize and solve\n", - "Finally for the desorption model, we initialize and solve." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "##### Copy values from adsorption model to desorption model\n", - "Copy state values of solid phase (besides temperature) from last time point in adsorption model to all time point in desorption model. Also set temperature state variable of desorption model to desorption temperature." - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [], - "source": [ - "blk_des = m.fs_des.FB\n", - "tf_ads = tj_ads.time[-1] # Get final time from adsorption trajectory results\n", - "tf_ads_index = tj_ads.time.index(tf_ads) # Get index at final time\n", - "component_list = blk_des.config.solid_phase_config.property_package.component_list\n", - "\n", - "for t in m.fs_des.time:\n", - " for x in blk_des.length_domain:\n", - " blk_des.solid_properties[t, x].temperature.set_value(desorption_temperature)\n", - " blk_des.solid_properties[t, x].dens_mass_particle.set_value(\n", - " tj_ads.get_vec(m.fs_ads.FB.solid_properties[tf_ads, x].dens_mass_particle)[\n", - " tf_ads_index\n", - " ]\n", - " )\n", - " for j in component_list:\n", - " blk_des.solid_properties[t, x].mass_frac_comp[j].set_value(\n", - " value(\n", - " tj_ads.get_vec(\n", - " m.fs_ads.FB.solid_properties[tf_ads, x].mass_frac_comp[j]\n", - " )[tf_ads_index]\n", - " )\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Fix initial and boundary conditions\n", - "We fix the conditions from the final adsorption model state as our new initial conditions for the desorption model:" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [], - "source": [ - "fb_fix_conditions(\n", - " m.fs_des,\n", - " bed_diameter,\n", - " bed_height,\n", - " gas_phase_state_dict_des,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Calculate scaling of desorption model\n", - "Then, we apply scaling to the model:" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [], - "source": [ - "iscale.calculate_scaling_factors(m.fs_des)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Initialize desorption model\n", - "The desorption model initialization is done with the block triangularization initialization method, as was done with the adsorption model." - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [], - "source": [ - "# Run start time\n", - "t_start_des = time.time()\n", - "\n", - "# Initialize model\n", - "m.fs_des.FB.block_triangularization_initialize(\n", - " gas_phase_state_args=gas_phase_state_dict_des,\n", - " outlvl=idaeslog.DEBUG,\n", - " solver=solver,\n", - " calc_var_kwds=calc_var_kwds,\n", - ")\n", - "\n", - "# Run end time\n", - "t_end_des = time.time()\n", - "\n", - "# Initialization time\n", - "desorption_initialization_time = value(t_end_des - t_start_des)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Setup PETSc integrator and simulate desorption step\n", - "Now that the model is fully defined, we can call the PETSc integrator to simulate the dynamics of the problem:" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [], - "source": [ - "# Run start time\n", - "t_start_des = time.time()\n", - "\n", - "# Setup PETSc integrator and simulate desorption flowsheet\n", - "m.fs_des.time_var = Var(m.fs_des.time)\n", - "m.fs_des.time_var[0].fix(m.fs_des.time.first())\n", - "\n", - "result_des = petsc.petsc_dae_by_time_element(\n", - " m.fs_des,\n", - " time=m.fs_des.time,\n", - " timevar=m.fs_des.time_var,\n", - " keepfiles=True,\n", - " symbolic_solver_labels=True,\n", - " skip_initial=False,\n", - " ts_options={\n", - " \"--ts_type\": \"beuler\", # backward euler integration\n", - " \"--ts_dt\": 200, # set initial step to 200\n", - " \"--ts_rtol\": 20,\n", - " \"--ts_monitor\": \"\",\n", - " \"--ts_save_trajectory\": 1,\n", - " \"--ksp_rtol\": 1e-10,\n", - " \"--snes_type\": \"newtontr\", # newton trust region non-linear solver\n", - " \"--ts_monitor\": \"\",\n", - " \"--ts_save_trajectory\": 1,\n", - " \"--ts_max_snes_failures\": 1000,\n", - " },\n", - ")\n", - "tj_des = result_des.trajectory # trajectory data\n", - "\n", - "# Run end time\n", - "t_end_des = time.time()\n", - "\n", - "# Initialization time\n", - "desorption_simulation_time = value(t_end_des - t_start_des)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plot the desorption simulation results\n", - "Similar to the results of the adsorption model, the plots below are presented as temporal plots with spatial contours and spatial plots with time contours to fully capture the model trends.\n", - "\n", - "The gas flowrate spikes initially as large quantities of CO2 are recovered, and then the flowrate drops rapidly as the CO2 is carried away. An interesting note is that this occurs over the same time period everywhere across the length of the bed, peaking around 1000 seconds into the simulation. In the spatial plot, the peak is missed between the first and second contours; instead, the spatial plots captures a similar shifting inflection point around 10-25% of the way into the bed as the mass transfer driving force suddenly decreases.\n", - "\n", - "The bed pressure drops suddenly as CO2 is initially desorbed from the bed, and a steady state is reached at larger time points. As in the adsorption case, the desorption results show no temporal or spatial gradients in gas or solid temperature.\n", - "\n", - "The CO2 content of the gas sharply rises initially, and steadily decreases as CO2 is carried away in the sweep gas. A greater amount of CO2 is recovered closer to the reactor inlet. As the sweep gas is nearly pure water vapor, the water concentration in the gas sharply drops as CO2 is desorbed from the bed and recovers to near unity towards the temporal end of the simulation.\n", - "\n", - "Carbamate disappears quickly as CO2 is recovered and the hydrate is broken down, occurring evenly across the length of the reactor bed." - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [], - "source": [ - "# Plot temporal result profiles\n", - "plot_results_temporal(m.fs_des, tj_des)" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [], - "source": [ - "# Plot spatial result profiles\n", - "plot_results_spatial(m.fs_ads, tj_ads)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Step 3: Generate performance results" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [], - "source": [ - "###########################################################################\n", - "# Heat requirements\n", - "###########################################################################\n", - "heat_computation(m, tj_ads, tj_des, adsorption_temperature, desorption_temperature)" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [], - "source": [ - "###########################################################################\n", - "# Performance results\n", - "###########################################################################\n", - "performance_results(m, tj_ads, tj_des)\n", - "\n", - "results_summary(m, adsorption_temperature, desorption_temperature)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Simulation time results" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [], - "source": [ - "print(\"Adsorption initialization time: \", adsorption_initialization_time, \" s\")\n", - "print(\"Adsorption simulation time: \", adsorption_simulation_time, \" s\")\n", - "print()\n", - "print(\"Desorption initialization time: \", desorption_initialization_time, \" s\")\n", - "print(\"Desorption simulation time: \", desorption_simulation_time, \" s\")\n", - "print()\n", - "total_simulation_time = (\n", - " adsorption_initialization_time\n", - " + adsorption_simulation_time\n", - " + desorption_initialization_time\n", - " + desorption_simulation_time\n", - ")\n", - "print(\"Total simulation time: \", total_simulation_time, \" s\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Summary\n", - "This example demonstrates implementation of the 1D FixedBed model within IDAES. External property packages for multiple phase domains and interfaces, as well as mass transfer and reaction properties, were integrated into two simulations. The simulations are connected via their final (adsorption) and initial (desorption) states, and each utilizes the PETSc integrator to calculate temporal profiles over the spatial domains." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "celltoolbar": "Tags", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.12" - } - }, - "nbformat": 4, - "nbformat_minor": 3 + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [ + "header", + "hide-cell" + ] + }, + "outputs": [], + "source": [ + "###############################################################################\n", + "# The Institute for the Design of Advanced Energy Systems Integrated Platform\n", + "# Framework (IDAES IP) was produced under the DOE Institute for the\n", + "# Design of Advanced Energy Systems (IDAES).\n", + "#\n", + "# Copyright (c) 2018-2025 by the software owners: The Regents of the\n", + "# University of California, through Lawrence Berkeley National Laboratory,\n", + "# National Technology & Engineering Solutions of Sandia, LLC, Carnegie Mellon\n", + "# University, West Virginia University Research Corporation, et al.\n", + "# All rights reserved. Please see the files COPYRIGHT.md and LICENSE.md\n", + "# for full copyright and license information.\n", + "#\n", + "###############################################################################" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CO2 Adsorption Desorption simulation example with a 1D Fixed Bed model\n", + "Author: Chinedu Okoli, Anca Ostace, Brandon Paul \n", + "Maintainer: Brandon Paul \n", + "Updated: 2023-06-01 \n", + "\n", + "\n", + "This jupyter notebook shows an example of a CO2 Adsorption Desorption cycle with the IDAES 1D FixedBed model. The IDAES 1D FixedBed model is a dynamic and axially varying reactor/adsorption model which is able to model the gas and solid interactions of the modeled species in detail. The sorbent used for this example is the NETL_32D sorbent with its details and parameters obtained from the following references: \n", + "- A. Lee, D.C. Miller, A One-Dimensional (1-D) Three-Region Model for a Bubbling Fluidized-Bed Adsorber, Ind. Eng. Chem. Res. 52 (2013) 469–484\n", + "- Lee, A.; Mebane, D.; Fauth, D. J.; Miller, D. C. A Model for the Adsorption Kinetics of CO2 on Amine-Impregnated Mesoporous Sorbents in the Presence of Water. Presented at the 28th International Pittsburgh Coal Conference, Pittsburgh, PA, 2011.\n", + "\n", + "The notebook demonstrates how to use the IDAES 1DFixedBed model for an adsorption/desorption application with distinct adsorption and desorption steps. This example leverages custom libraries and functions specific to the NETL_32D solid sorbent and associated gas phase properties and surface reactions. In this system, the silicon monoxide (SiO(s)) sorbent reduces carbon dioxide (CO2(g)) to carbamate (denoted Car(s)) while simultaneously absorbing water vapor (H2O(g)) to produce a solid solution-state hydrate (H2O(s)). The solid phase is considered a one-dimensional domain with three regions for bubble, cloud wake and emulsion properties for bubbling bed systems; in the case of a fixed bed reactor non-bulk gas behavior is neglected and assumed to be homogeneous everywhere not near the solid surface.\n", + "\n", + "The notebook also shows how to simulate the adsorption and desorption steps using the PETSc integrator. PETSc leverages nonlinear equation and differential algebraic equation solvers to solve time-trajectory problems. These solvers are applicable for systems with zero degrees of freedom, such as a fully-specified bed reactor model. See https://idaes-pse.readthedocs.io/en/stable/reference_guides/core/solvers.html#petsc-utilities for more details." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Cycle details\n", + "The system contains the following equipment and stream properties:\n", + "- Bed height: 9 m\n", + "- Bed diameter: 1 m\n", + "- Adsorption time: 30 hrs\n", + "- Desorption time: 2 hrs\n", + "- Adsorption temperature: 303.15 K\n", + "- Desorption temperature: 470 K\n", + "- Flue gas inlet conditions (Temperature and mole fractions obtained from NETL baseline report. Exhibit 5-22 B31B case)\n", + " - Temperature: 315 K\n", + " - Pressure: 106.5 kPa\n", + " - Flowrate: 3.544 mol/s\n", + " - Mole fractions: CO2: 0.0408, H2O: 0.0875, N2: 0.7517, O2: 0.12" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Notes\n", + "Some additional information regarding the problem:\n", + "- Isothermal conditions: heat duty requirements of each step are calculated from gas and sorbent properties, i.e., loading, density, heat of adsorption, and heat capacity\n", + "- Heating and cooling modes not modeled in detail: cycle times are assumed negligible in comparison to adsorption and desorption\n", + "- Adsorption and desorption steps are modeled in different flowsheets\n", + "- Initial condition (except temperature) of sorbent in desorption step is set to final condition of sorbent in adsorption step" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Step 1: Import relevant libraries and packages" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Import python libraries\n", + "\n", + "- numpy (numerical python library which provides numerical computing tools)\n", + "- time (time python library which will be used to track the simulation time)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import time" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "### Import Pyomo packages\n", + "For the flowsheet, we will need several components from the pyomo libraries.\n", + "\n", + "- ConcreteModel (to create the Pyomo model that will contain the IDAES flowsheet)\n", + "- TransformationFactory (to apply certain transformations)\n", + "- SolverFactory (to solve the problem)\n", + "- Var (to create a Pyomo variable)\n", + "- value (to return the numerical value of Pyomo objects such as variables, constraints or expressions)\n", + "- units (to handle units in Pyomo and IDAES)\n", + "\n", + "For further details on these components, please refer to the pyomo documentation: https://pyomo.readthedocs.io/en/latest/" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import (\n", + " ConcreteModel,\n", + " TransformationFactory,\n", + " SolverFactory,\n", + " Var,\n", + " value,\n", + " units as pyunits,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Import IDAES core components\n", + "\n", + "To build, initialize, and solve IDAES flowsheets we will need several core components/utilities:\n", + "\n", + "- FlowsheetBlock (the flowsheet block contains idaes properties, time, and unit models)\n", + "- EnergyBalanceType (to specify the energy balance type)\n", + "- petsc (PETSc integrator)\n", + "- get_solver (IDAES solver utility)\n", + "- iscale (is used to apply scaling factors in variables and constraints)\n", + "- propagate_state (is used to initialize models, propagating the state variables from one unit model to another)\n", + "- degrees_of_freedom (useful for debugging, this method returns the DOF of the model)\n", + "- idaeslog (is used to set output messages like warnings or errors)\n", + "\n", + "For further details on these components, please refer to the IDAES documentation: https://idaes-pse.readthedocs.io/en/latest/" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.core import FlowsheetBlock, EnergyBalanceType\n", + "import idaes.core.solvers.petsc as petsc # PETSc utilities module\n", + "from idaes.core.util import scaling as iscale\n", + "from idaes.core.solvers import get_solver\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "import idaes.logger as idaeslog\n", + "import logging" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Import IDAES unit models and NETL 32D property packages\n", + "\n", + "To build the IDAES flowsheet for the CO2 Adsorption Desorption example, we will need the following: \n", + "1) the 1D Fixed Bed unit model \n", + "2) the NETL 32D property package" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes.models_extra.gas_solid_contactors.unit_models.fixed_bed_1D import FixedBed1D\n", + "from idaes_examples.mod.co2_adsorption_desorption.NETL_32D_gas_phase_thermo import (\n", + " GasPhaseParameterBlock,\n", + ")\n", + "from idaes_examples.mod.co2_adsorption_desorption.NETL_32D_solid_phase_thermo import (\n", + " SolidPhaseParameterBlock,\n", + ")\n", + "from idaes_examples.mod.co2_adsorption_desorption.NETL_32D_adsorption_reactions import (\n", + " HeteroReactionParameterBlock,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Import custom libraries and functions\n", + "To simplify and automate this example at the flowsheet level, several custom methods were defined in an external script. The methods are custom, and as such are imported separately from the set of IDAES and Pyomo methods above. These utility functions perform a variety of numerical and reporting tasks:\n", + "\n", + "- heat_computation (used to calculate the heat requirements of the CO2 Adsorption Desorption cycle)\n", + "- performance_results (used to evaluate the performance of the CO2 Adsorption Desorption cycle)\n", + "- results_summary (provides summarized results of the CO2 Adsorption Desorption cycle)\n", + "- plot_results_temporal (plots the temporal profiles of the flowsheet simulation)\n", + "- plot_results_spatial (plots the spatial profiles of the flowsheet simulation)\n", + "- fb_model_setup (function that builds the 1D FixedBed model)\n", + "- fb_fixed_conditions (function that fixes the initial and boundary conditions of the 1D FixedBed model)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "from idaes_examples.mod.co2_adsorption_desorption.simulation_utilities import (\n", + " heat_computation,\n", + " performance_results,\n", + " results_summary,\n", + " plot_results_temporal,\n", + " plot_results_spatial,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Create a Function to Build the Flowsheet\n", + "\n", + "The function \"fb_model_setup\" below builds instances of the 1D FixedBed model for the adsorption and desorption simulations. While the effort required to define the reactor is low in terms of lines of code, we will need to do this for both the adsorption and desorption steps. Therefore, defining this setup as a single function will make later steps easier to follow. As arguments it takes the following:\n", + "1) The flowsheet block of the simulation, i.e., the adsorption flowsheet \n", + "2) The number of time finite elements \n", + "3) The number of spatial finite elements \n", + "\n", + "It returns a flowsheet object which contains an instance of the 1D FixedBed model" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "def fb_model_setup(\n", + " fs,\n", + " ntfe, # number of time finite elements\n", + " nxfe, # number of space finite elements\n", + "):\n", + "\n", + " # Set up thermo props and reaction props\n", + " fs.gas_properties = GasPhaseParameterBlock()\n", + " fs.solid_properties = SolidPhaseParameterBlock()\n", + "\n", + " fs.hetero_reactions = HeteroReactionParameterBlock(\n", + " solid_property_package=fs.solid_properties,\n", + " gas_property_package=fs.gas_properties,\n", + " )\n", + "\n", + " fs.FB = FixedBed1D(\n", + " finite_elements=nxfe,\n", + " transformation_method=\"dae.finite_difference\",\n", + " energy_balance_type=EnergyBalanceType.none,\n", + " pressure_drop_type=\"ergun_correlation\",\n", + " gas_phase_config={\"property_package\": fs.gas_properties},\n", + " solid_phase_config={\n", + " \"property_package\": fs.solid_properties,\n", + " \"reaction_package\": fs.hetero_reactions,\n", + " },\n", + " )\n", + "\n", + " # Discretize time domain\n", + " fs.discretizer = TransformationFactory(\"dae.finite_difference\")\n", + " fs.discretizer.apply_to(fs, nfe=ntfe, wrt=fs.time, scheme=\"BACKWARD\")\n", + "\n", + " return fs" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Create a Function to Fix the Flowsheet Conditions\n", + "\n", + "The function \"fb_fix_conditions\" fixes the initial and boundary conditions of an instance of the 1D FixedBed model. It also has checks to ensure that the degrees of freedom are zero, and that the velocity into the bed is less than the minimum fluidization velocity of the bed. Similarly to the function above, we will need to run this for the adsorption and desorption steps, and it is clearer to define the code once as a single function here. As arguments it takes the following:\n", + "1) The flowsheet block of the simulation, i.e., the adsorption flowsheet \n", + "2) The reactor bed diameter \n", + "3) The reactor bed height \n", + "4) A dictionary of gas phase state data for which the gas phase state variables of the model should be fixed to \n", + "5) A dictionary of solid phase state data for which the solid phase state variables of the model should be fixed to. If None, the solid phase state variables are fixed to their current values. \n", + "\n", + "No object is returned by this function." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "def fb_fix_conditions(\n", + " fs, bed_diameter, bed_height, gas_phase_state_dict, solid_phase_state_dict=None\n", + "):\n", + " # Fix bed geometry variables\n", + " fs.FB.bed_diameter.fix(bed_diameter) # m\n", + " fs.FB.bed_height.fix(bed_height) # m\n", + "\n", + " # Fix boundary values for gas for all time\n", + " blk = fs.FB\n", + " for t in fs.time:\n", + " # Gas values\n", + " blk.gas_inlet.flow_mol[t].fix(gas_phase_state_dict[\"flow_mol\"])\n", + " blk.gas_inlet.temperature[t].fix(gas_phase_state_dict[\"temperature\"])\n", + " blk.gas_inlet.pressure[t].fix(gas_phase_state_dict[\"pressure\"])\n", + " for j, val in gas_phase_state_dict[\"mole_frac_comp\"].items():\n", + " blk.gas_inlet.mole_frac_comp[t, j].fix(val)\n", + "\n", + " # Specify gas phase and solid phase initial conditions for all space\n", + " t0 = fs.time.first()\n", + " for x in blk.length_domain:\n", + " blk.gas_phase.properties[t0, x].flow_mol.fix(gas_phase_state_dict[\"flow_mol\"])\n", + " blk.gas_phase.properties[t0, x].temperature.fix(\n", + " gas_phase_state_dict[\"temperature\"]\n", + " ) # K\n", + " for j, val in gas_phase_state_dict[\"mole_frac_comp\"].items():\n", + " blk.gas_phase.properties[t0, x].mole_frac_comp[j].fix(val)\n", + "\n", + " if solid_phase_state_dict is None:\n", + " # Fix to existing values if dict is empty\n", + " blk.solid_properties[t0, x].dens_mass_particle.fix()\n", + " blk.solid_properties[t0, x].temperature.fix()\n", + " blk.solid_properties[t0, x].mass_frac_comp[:].fix()\n", + " else:\n", + " blk.solid_properties[t0, x].dens_mass_particle.fix(\n", + " solid_phase_state_dict[\"dens_mass_particle\"]\n", + " )\n", + " blk.solid_properties[t0, x].temperature.fix(\n", + " solid_phase_state_dict[\"temperature\"]\n", + " )\n", + " for j, val in solid_phase_state_dict[\"mass_frac_comp\"].items():\n", + " blk.solid_properties[t0, x].mass_frac_comp[j].fix(val)\n", + "\n", + " dof = degrees_of_freedom(fs)\n", + "\n", + " print(\"degrees of freedom = \", dof)\n", + " try:\n", + " assert degrees_of_freedom(fs) == 0\n", + " except AssertionError:\n", + " print(\"Degrees of freedom is not equal to zero. This is unexpected.\")\n", + " raise\n", + "\n", + " # Assert that inlet gas velocity is less than v_mf\n", + " # Use solid temperature as the thermal mass of solid >> than that of gas\n", + " pi = 3.14 # [-]\n", + " R = 8.314 # Gas constant [J/mol/K]\n", + "\n", + " @blk.Expression(doc=\"gas inlet velocity, m/s\")\n", + " def gas_inlet_velocity(blk):\n", + " v_gas_inlet = (\n", + " blk.gas_inlet.flow_mol[0] / (pi * value(blk.bed_diameter**2) / 4)\n", + " ) * (R * blk.solid_properties[0, 0].temperature / blk.gas_inlet.pressure[0])\n", + " return v_gas_inlet\n", + "\n", + " v_mf = value( # minimum fluidization velocity [m/s]\n", + " blk.solid_properties[t0, 0]._params.velocity_mf\n", + " )\n", + " print(\"inlet gas velocity = \", value(blk.gas_inlet_velocity), \" m/s\")\n", + " print(\"min. fluid velocity = \", v_mf, \" m/s\")\n", + " try:\n", + " assert value(blk.gas_inlet_velocity) <= v_mf\n", + " except AssertionError:\n", + " print(\n", + " \"The inlet gas velocity is greater than the minimum fluidization velocity. \"\n", + " \"This is unexpected for a Fixed Bed.\"\n", + " )\n", + " raise" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Step 2: Setup and run simulation\n", + "Now that the system properties and all required utility functions are defined, we will build the model itself." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Create concrete model\n", + "First, create the model object:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "m = ConcreteModel()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Setup solver for initialization\n", + "We limit the maximum number of iterations and apply appropriate scaling for the linear solver for initialization:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "# Solver arguments\n", + "optarg = {\n", + " \"max_iter\": 100,\n", + " \"nlp_scaling_method\": \"user-scaling\",\n", + " \"linear_solver\": \"ma27\",\n", + "}\n", + "\n", + "# Create a solver\n", + "solver = get_solver(\"ipopt\")\n", + "solver.options = optarg" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Set spatial elements and design variables for adsorption and desorption simulations\n", + "Let's define the size of the system:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "# Number of spatial elements\n", + "nxfe = 50\n", + "\n", + "# Design variables for static and dynamic models\n", + "bed_diameter = 9 # m\n", + "bed_height = 1 # m" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Adsorption simulation\n", + "First, we will run the adsorption step by defining the simulation domain, add initial conditions, and set up and solve the model." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Setup simulation horizon and create time set\n", + "We specify the time discretization to an exact set of temporal points according to the problem horizon:" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "# Time horizon\n", + "horizon = 108000 # s\n", + "\n", + "# Create time_set list\n", + "t_element_size = horizon / 4 # s\n", + "ntfe = int(horizon / t_element_size)\n", + "time_set = list(np.linspace(0, horizon, ntfe + 1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Initial conditions for gas and solid phases\n", + "Next, we set reasoanble initial conditions for the gas and solid phases at time = 0, with a constant adsorption temperature:" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "# Flue gas inlet conditions to adsorption system (flue gas stream) -\n", + "# Temperature and mole fractions obtained from NETL baseline report.\n", + "# Exhibit 5-22 B31B case.\n", + "adsorption_temperature = 303.15 # K\n", + "\n", + "# Dictionary of initial and boundary conditions for gas phase\n", + "gas_phase_state_dict_ads = {\n", + " \"flow_mol\": 3.544, # mol/s\n", + " \"temperature\": adsorption_temperature, # K\n", + " \"pressure\": 1.2452e5, # Pa\n", + " \"mole_frac_comp\": { # [-]\n", + " \"CO2\": 0.0408,\n", + " \"H2O\": 0.0875,\n", + " \"N2\": 0.7517,\n", + " \"O2\": 0.12,\n", + " },\n", + "}\n", + "\n", + "# Dictionary of initial conditions for solid phase\n", + "solid_phase_state_dict_ads = {\n", + " \"dens_mass_particle\": 442, # kg/m3\n", + " \"temperature\": adsorption_temperature, # K\n", + " \"mass_frac_comp\": { # [-]\n", + " \"H2O_s\": 1e-8,\n", + " \"Car\": 1e-8,\n", + " \"SiO\": 1,\n", + " },\n", + "}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Setup the adsorption model\n", + "Then, we call our previously defined methods to build the model and fix initial conditions:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "# Create the adsorption flowsheet\n", + "m.fs_ads = FlowsheetBlock(dynamic=True, time_set=time_set, time_units=pyunits.s)\n", + "\n", + "# Setup an instance of the 1D FixedBed model for the adsorption simulation\n", + "m.fs_ads = fb_model_setup(m.fs_ads, ntfe, nxfe)\n", + "\n", + "# Fix initial and boundary conditions\n", + "fb_fix_conditions(\n", + " m.fs_ads,\n", + " bed_diameter,\n", + " bed_height,\n", + " gas_phase_state_dict_ads,\n", + " solid_phase_state_dict_ads,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Adsorption model - initialize and solve\n", + "Finally for the adsorption model, we initialize and solve." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Apply scaling transformation\n", + "We first scale the model variables and equations to reduce ill-conditioning and improve its convergence properties:" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "iscale.calculate_scaling_factors(m.fs_ads)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Initialize model\n", + "The model initialization is done with the block triangularization initialization method in the 1D FixedBed model as this is faster than using the traditional sequential heirarchichal initialization approach. See the 1D FixedBed model and documentation for more details on this method." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "# Run start time\n", + "t_start_ads = time.time()\n", + "\n", + "# Initialize model\n", + "calc_var_kwds = {\"eps\": 1e-5}\n", + "m.fs_ads.FB.block_triangularization_initialize(\n", + " gas_phase_state_args=gas_phase_state_dict_ads,\n", + " solid_phase_state_args=solid_phase_state_dict_ads,\n", + " outlvl=idaeslog.DEBUG,\n", + " solver=solver,\n", + " calc_var_kwds=calc_var_kwds,\n", + ")\n", + "\n", + "# Run end time\n", + "t_end_ads = time.time()\n", + "\n", + "# Initialization time\n", + "adsorption_initialization_time = value(t_end_ads - t_start_ads)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### PETSc integrator\n", + "As mentioned earlier, the PETSc integrator is used for simulating the time trajectory. After starting the clock and instantiating the time variables, PETSc performs and element-wise discretization to define and solve the dynamic system of equations. See https://idaes-pse.readthedocs.io/en/stable/reference_guides/core/solvers.html#petsc-utilities for more details.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "petscsolvelog = idaeslog.getSolveLogger(\"petsc-dae\")\n", + "petscsolvelog.setLevel(logging.WARNING) # comment this line to see PETSc solver output\n", + "\n", + "# Run start time\n", + "t_start_ads = time.time()\n", + "\n", + "# Setup PETSc integrator and simulate adsorption flowsheet\n", + "m.fs_ads.time_var = Var(m.fs_ads.time)\n", + "m.fs_ads.time_var[0].fix(m.fs_ads.time.first())\n", + "\n", + "result_ads = petsc.petsc_dae_by_time_element(\n", + " m.fs_ads,\n", + " time=m.fs_ads.time,\n", + " timevar=m.fs_ads.time_var,\n", + " keepfiles=True,\n", + " symbolic_solver_labels=True,\n", + " skip_initial=False,\n", + " ts_options={\n", + " \"--ts_type\": \"beuler\", # backward euler integration\n", + " \"--ts_dt\": 200, # set initial step to 200\n", + " \"--ts_rtol\": 20,\n", + " \"--ts_monitor\": \"\",\n", + " \"--ts_save_trajectory\": 1,\n", + " \"--ksp_rtol\": 1e-10,\n", + " \"--snes_type\": \"newtontr\", # newton trust region non-linear solver\n", + " \"--ts_monitor\": \"\",\n", + " \"--ts_save_trajectory\": 1,\n", + " \"--ts_max_snes_failures\": 1000,\n", + " },\n", + ")\n", + "tj_ads = result_ads.trajectory # trajectory data\n", + "\n", + "# Run end time\n", + "t_end_ads = time.time()\n", + "\n", + "# Initialization time\n", + "adsorption_simulation_time = value(t_end_ads - t_start_ads)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Plot the adsorption simulation results\n", + "After running the adsorption simulation, the dynamic profiles are plotted." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the temporal plots below, quantities are reported as functions of time and contoured for six points along the length of the bed. The time and spatial dimensions are exchanged in the spatial plots, with quantities reported as functions of length and contoured for five time points.\n", + "\n", + "The gas flowrate is constant at the inlet and decreases over the length of the bed as CO2 is removed from the gas. At each spatial point, the CO2 content of the gas increases over time as the bed becomes more saturated with CO2 and the mass transfer driving force decreases. Assessing the two gas flowrate plots, adsorption occurs steadily over time with a much larger capture rate in the initial spatial region; this region grows from 10% to 25% of the bed length as the bed becomes more saturated with CO2 over time.\n", + "\n", + "The bed pressure stays relatively constant over time, and exhibits a linear drop over the length of the reactor. There are no temporal or spatial gradients in gas or solid temperature.\n", + "\n", + "The saturation trend is strongly apparent in the composition trends. The CO2 content of the gas quickly drops from the initial concentration over the length of the bed, and steadily rises over time as the driving force of mass transfer decreases. Water vapor concentration in the gas follows a similar trend.\n", + "\n", + "Following the solid-state reaction, the concentration of carbmate steadily increases over time with formation skewing heavily towards the initial spatial region of the bed. The spatial contours of the temporal carbamate composition plot cross as a result of the solid reaction rate heavily favoring the initial section of the bed and suddenly dropping about at about 20% of the reactor length. The mass fraction and mol/kg plots differ slightly due to water and CO2 absorbing at different rates, but otherwise demonstrate similar trends." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "# Plot temporal result profiles\n", + "plot_results_temporal(m.fs_ads, tj_ads)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "# Plot spatial result profiles\n", + "plot_results_spatial(m.fs_ads, tj_ads)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Desorption simulation\n", + "The desorption simulation begins when the adsorption simulation ends. It uses the final state of the sorbent (besides temperature which is set at the desorption temperature) in the adsorption mode as the initial state of the sorbent in the desorption mode." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Setup simulation horizon and create time set\n", + "As in the adsorption simulation, we first specify the time discretization:" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "# Space and time discretization arguments\n", + "horizon = 7200 # s\n", + "\n", + "# Setup for PETSc run\n", + "t_element_size = horizon # s\n", + "ntfe = int(horizon / t_element_size)\n", + "time_set = list(np.linspace(0, horizon, ntfe + 1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Initial and boundary conditions for gas phase\n", + "- The initial conditions of the solid phase will be copied from the final conditions of the model in the adsorption simulation." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "# Desorption operating conditions\n", + "desorption_temperature = 470 # K\n", + "\n", + "gas_phase_state_dict_des = {\n", + " \"flow_mol\": 10, # mol/s\n", + " \"temperature\": desorption_temperature, # K\n", + " \"pressure\": 1.06525e5, # Pa\n", + " \"mole_frac_comp\": {\"CO2\": 1e-8, \"H2O\": 1, \"N2\": 1e-8, \"O2\": 1e-8}, # [-]\n", + "}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Setup the desorption model\n", + "Then, we build the model and fix initial conditions:" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "# Create the desorption flowsheet\n", + "m.fs_des = FlowsheetBlock(dynamic=True, time_set=time_set, time_units=pyunits.s)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "# Setup an instance of the 1D FixedBed model for the desorption simulation\n", + "m.fs_des = fb_model_setup(\n", + " m.fs_des,\n", + " ntfe,\n", + " nxfe,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Desorption model - initialize and solve\n", + "Finally for the desorption model, we initialize and solve." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Copy values from adsorption model to desorption model\n", + "Copy state values of solid phase (besides temperature) from last time point in adsorption model to all time point in desorption model. Also set temperature state variable of desorption model to desorption temperature." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "blk_des = m.fs_des.FB\n", + "tf_ads = tj_ads.time[-1] # Get final time from adsorption trajectory results\n", + "tf_ads_index = tj_ads.time.index(tf_ads) # Get index at final time\n", + "component_list = blk_des.config.solid_phase_config.property_package.component_list\n", + "\n", + "for t in m.fs_des.time:\n", + " for x in blk_des.length_domain:\n", + " blk_des.solid_properties[t, x].temperature.set_value(desorption_temperature)\n", + " blk_des.solid_properties[t, x].dens_mass_particle.set_value(\n", + " tj_ads.get_vec(m.fs_ads.FB.solid_properties[tf_ads, x].dens_mass_particle)[\n", + " tf_ads_index\n", + " ]\n", + " )\n", + " for j in component_list:\n", + " blk_des.solid_properties[t, x].mass_frac_comp[j].set_value(\n", + " value(\n", + " tj_ads.get_vec(\n", + " m.fs_ads.FB.solid_properties[tf_ads, x].mass_frac_comp[j]\n", + " )[tf_ads_index]\n", + " )\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Fix initial and boundary conditions\n", + "We fix the conditions from the final adsorption model state as our new initial conditions for the desorption model:" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "fb_fix_conditions(\n", + " m.fs_des,\n", + " bed_diameter,\n", + " bed_height,\n", + " gas_phase_state_dict_des,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Calculate scaling of desorption model\n", + "Then, we apply scaling to the model:" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "iscale.calculate_scaling_factors(m.fs_des)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Initialize desorption model\n", + "The desorption model initialization is done with the block triangularization initialization method, as was done with the adsorption model." + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "# Run start time\n", + "t_start_des = time.time()\n", + "\n", + "# Initialize model\n", + "m.fs_des.FB.block_triangularization_initialize(\n", + " gas_phase_state_args=gas_phase_state_dict_des,\n", + " outlvl=idaeslog.DEBUG,\n", + " solver=solver,\n", + " calc_var_kwds=calc_var_kwds,\n", + ")\n", + "\n", + "# Run end time\n", + "t_end_des = time.time()\n", + "\n", + "# Initialization time\n", + "desorption_initialization_time = value(t_end_des - t_start_des)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Setup PETSc integrator and simulate desorption step\n", + "Now that the model is fully defined, we can call the PETSc integrator to simulate the dynamics of the problem:" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "# Run start time\n", + "t_start_des = time.time()\n", + "\n", + "# Setup PETSc integrator and simulate desorption flowsheet\n", + "m.fs_des.time_var = Var(m.fs_des.time)\n", + "m.fs_des.time_var[0].fix(m.fs_des.time.first())\n", + "\n", + "result_des = petsc.petsc_dae_by_time_element(\n", + " m.fs_des,\n", + " time=m.fs_des.time,\n", + " timevar=m.fs_des.time_var,\n", + " keepfiles=True,\n", + " symbolic_solver_labels=True,\n", + " skip_initial=False,\n", + " ts_options={\n", + " \"--ts_type\": \"beuler\", # backward euler integration\n", + " \"--ts_dt\": 200, # set initial step to 200\n", + " \"--ts_rtol\": 20,\n", + " \"--ts_monitor\": \"\",\n", + " \"--ts_save_trajectory\": 1,\n", + " \"--ksp_rtol\": 1e-10,\n", + " \"--snes_type\": \"newtontr\", # newton trust region non-linear solver\n", + " \"--ts_monitor\": \"\",\n", + " \"--ts_save_trajectory\": 1,\n", + " \"--ts_max_snes_failures\": 1000,\n", + " },\n", + ")\n", + "tj_des = result_des.trajectory # trajectory data\n", + "\n", + "# Run end time\n", + "t_end_des = time.time()\n", + "\n", + "# Initialization time\n", + "desorption_simulation_time = value(t_end_des - t_start_des)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Plot the desorption simulation results\n", + "Similar to the results of the adsorption model, the plots below are presented as temporal plots with spatial contours and spatial plots with time contours to fully capture the model trends.\n", + "\n", + "The gas flowrate spikes initially as large quantities of CO2 are recovered, and then the flowrate drops rapidly as the CO2 is carried away. An interesting note is that this occurs over the same time period everywhere across the length of the bed, peaking around 1000 seconds into the simulation. In the spatial plot, the peak is missed between the first and second contours; instead, the spatial plots captures a similar shifting inflection point around 10-25% of the way into the bed as the mass transfer driving force suddenly decreases.\n", + "\n", + "The bed pressure drops suddenly as CO2 is initially desorbed from the bed, and a steady state is reached at larger time points. As in the adsorption case, the desorption results show no temporal or spatial gradients in gas or solid temperature.\n", + "\n", + "The CO2 content of the gas sharply rises initially, and steadily decreases as CO2 is carried away in the sweep gas. A greater amount of CO2 is recovered closer to the reactor inlet. As the sweep gas is nearly pure water vapor, the water concentration in the gas sharply drops as CO2 is desorbed from the bed and recovers to near unity towards the temporal end of the simulation.\n", + "\n", + "Carbamate disappears quickly as CO2 is recovered and the hydrate is broken down, occurring evenly across the length of the reactor bed." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "# Plot temporal result profiles\n", + "plot_results_temporal(m.fs_des, tj_des)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [], + "source": [ + "# Plot spatial result profiles\n", + "plot_results_spatial(m.fs_ads, tj_ads)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 3: Generate performance results" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [], + "source": [ + "###########################################################################\n", + "# Heat requirements\n", + "###########################################################################\n", + "heat_computation(m, tj_ads, tj_des, adsorption_temperature, desorption_temperature)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [], + "source": [ + "###########################################################################\n", + "# Performance results\n", + "###########################################################################\n", + "performance_results(m, tj_ads, tj_des)\n", + "\n", + "results_summary(m, adsorption_temperature, desorption_temperature)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Simulation time results" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Adsorption initialization time: \", adsorption_initialization_time, \" s\")\n", + "print(\"Adsorption simulation time: \", adsorption_simulation_time, \" s\")\n", + "print()\n", + "print(\"Desorption initialization time: \", desorption_initialization_time, \" s\")\n", + "print(\"Desorption simulation time: \", desorption_simulation_time, \" s\")\n", + "print()\n", + "total_simulation_time = (\n", + " adsorption_initialization_time\n", + " + adsorption_simulation_time\n", + " + desorption_initialization_time\n", + " + desorption_simulation_time\n", + ")\n", + "print(\"Total simulation time: \", total_simulation_time, \" s\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Summary\n", + "This example demonstrates implementation of the 1D FixedBed model within IDAES. External property packages for multiple phase domains and interfaces, as well as mass transfer and reaction properties, were integrated into two simulations. The simulations are connected via their final (adsorption) and initial (desorption) states, and each utilizes the PETSc integrator to calculate temporal profiles over the spatial domains." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.12" + } + }, + "nbformat": 4, + "nbformat_minor": 3 }